summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-07-30 22:20:15 +0000
committerKarl Berry <karl@freefriends.org>2017-07-30 22:20:15 +0000
commitab0137d0a3f9f8fc686c8804fb910eb99ca9cd75 (patch)
tree27c7e9685f74b7bcf70e1ce738faa684a4826067 /Master/texmf-dist
parentee2ba58b71acb3f3395797014cae26262b39771e (diff)
luatexja (30jul17)
git-svn-id: svn://tug.org/texlive/trunk@44924 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/luatex/luatexja/README8
-rw-r--r--Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdfbin465194 -> 455622 bytes
-rw-r--r--Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdfbin867969 -> 864744 bytes
-rw-r--r--Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx1639
-rw-r--r--Master/texmf-dist/source/luatex/luatexja/tool/table_ivd_aj1.lua32
-rw-r--r--Master/texmf-dist/source/luatex/luatexja/tool/table_jisx0208.lua (renamed from Master/texmf-dist/source/luatex/luatexja/tool/jisx0208table.tex)0
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-24.sty358
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec.sty11
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-otf.sty101
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty351
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/jfm-ujis.lua15
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/jfm-ujisv.lua14
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/lltjext.sty445
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-direction.lua3
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-ivd_aj1.lua23091
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua71
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua29
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty5
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-otf.lua126
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty1
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/luatexja.lua23
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/luatexja.sty2
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty34
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-array.sty16
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-preview.sty16
25 files changed, 24774 insertions, 1617 deletions
diff --git a/Master/texmf-dist/doc/luatex/luatexja/README b/Master/texmf-dist/doc/luatex/luatexja/README
index e2b4bda9551..451e146af4c 100644
--- a/Master/texmf-dist/doc/luatex/luatexja/README
+++ b/Master/texmf-dist/doc/luatex/luatexja/README
@@ -1,4 +1,4 @@
-The LuaTeX-ja Package 20170505.0
+The LuaTeX-ja Package 20170730.0
--------------------------------
Copyright (c) 2011--2017 The LuaTeX-ja project
License: modified BSD (see COPYING)
@@ -40,9 +40,9 @@ Installation
2. If you must/want to install manually:
a. Download the source archive from CTAN,
- or tagged as 20170505.0 in the Git repository by
+ or tagged as 20170730.0 in the Git repository by
<http://git.osdn.jp/view?p=luatex-ja/luatexja.git
- ;a=snapshot;h=refs/tags/20170505.0;sf=tgz>
+ ;a=snapshot;h=refs/tags/20170730.0;sf=tgz>
b. Extract the archive and process following three files by LuaLaTeX
to generate classes for Japanese typesetting:
@@ -87,4 +87,4 @@ Notes
* src/*.{ins.dtx} and src/ltj-kinsoku_make.tex are not needed in regular use.
-Last commit date: Fri May 5 21:25:22 2017 +0900
+Last commit date: Sun Jul 30 13:50:43 2017 +0900
diff --git a/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf b/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf
index 33b468387c4..822a5d1c49b 100644
--- a/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf
+++ b/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf b/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf
index a34ccd6c1c2..07e9e4769d6 100644
--- a/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf
+++ b/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx b/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx
index fc5ac40a02a..313d56f2ca6 100644
--- a/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx
+++ b/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx
@@ -21,7 +21,7 @@
\usepackage{metalogo,amsmath,array,tikz,pict2e,multienum,float}
\usepackage{booktabs,multicol,luatexja-ruby}
\usepackage[all]{xy}
-\usepackage{lltjext,alltt}
+\usepackage{lltjext,alltt,comment}
%%%%%%%% Lua GC
\patchcmd\@outputpage{\stepcounter{page}}{%
@@ -39,7 +39,6 @@
%%%%%%%% fonts
\usepackage{luatexja-otf}
-\directlua{luatexja.otf.enable_ivs()}
\usepackage[no-math]{fontspec}
\setmainfont[Ligatures=TeX]{Linux Libertine O}
\setmonofont[Scale=MatchLowercase, ItalicFont=lmmono10-italic.otf,
@@ -460,7 +459,7 @@ on the content of the register \emph{only}. This is major difference with \pTeX.
%</en>
%<*ja>
\paragraph{組方向}
-20150420.0版からは,不安定ながらも\LuaTeX-ja における縦組みをサポートしている.
+バージョン20150420.0からは,不安定ながらも\LuaTeX-ja における縦組みをサポートしている.
なお,\LuaTeX 本体も$\Omega$流の組方向をサポートしているが,それとは全くの別物であること
に注意してほしい.
特に,異なった組方向のボックスを扱う場合には
@@ -503,7 +502,7 @@ without the \cs{fontspec} (and~\Pkg{luatexja-fontspec}) package.
詳しい説明は\ref{ssec-setrange}節を参照してほしい.
また,\P,~\S といったISO~8859-1の上位領域とJIS~X~0208の共通部分の文字は
- 20150906.0版から標準で欧文扱いとなった.\LaTeXe\ 2017/01/01以降では
+ バージョン20150906.0から標準で欧文扱いとなった.\LaTeXe\ 2017/01/01以降では
標準でTUエンコーディングのLatin Modernフォントが使われるので,
特に何もせずソース中にそのまま記述してもこれらの文字が出力される
\footnote{\LaTeXe\ 2017/01/01より前では,ソース中に直接記述しても
@@ -573,10 +572,10 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
%</ja>
%<*en>
\item In this document, natural numbers start from~zero.
- $\omega$ denotes the set of all natural numbers.
+ $\omega$ denotes the set of all natural numbers which can be used in \TeX.
%</en>
%<*ja>
-\item 本ドキュメントでは,自然数は0から始まる.自然数全体の集合は$\omega$と表記する.
+\item 本ドキュメントでは,自然数は0から始まる.(\TeX で扱える)自然数全体の集合は$\omega$と表記する.
%</ja>
\end{itemize}
@@ -645,7 +644,7 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
\end{itemize}
%<en>In summary, \LuaTeX-ja version 20160404.0 (or~later) no longer supports \TeX~Live~2015.
%<*ja>
-要約すると,20160404.0版以降の\LuaTeX-jaは\TeX~Live~2015以前では動作しない\footnote{%
+要約すると,バージョン20160404.0以降の\LuaTeX-jaは\TeX~Live~2015以前では動作しない\footnote{%
もっとも,自分で\LuaTeX のバイナリをSubversionリポジトリからビルドしていれば話は別である.
}.
%</ja>
@@ -985,7 +984,7 @@ plfonts.dtx} and \texttt{pldefs.ltx}):
\begin{itemize}
%<*en>
-\item Font encodings for Japanese fonts is \texttt{JY3}~(for horizontal direction) and
+\item Font encodings for Japanese fonts are \texttt{JY3}~(for horizontal direction) and
\texttt{JT3}~(for vertical direction).
%</en>
%<*ja>
@@ -994,20 +993,20 @@ plfonts.dtx} and \texttt{pldefs.ltx}):
%</ja>
%<*en>
-\item Traditionally, Japanese documents use two typeface categories: \emph{mincho}~(明朝体) and
+\item Traditionally, Japanese documents use only two families: \emph{mincho}~(明朝体) and
\emph{gothic}~(\textgt{ゴシック体}). \emph{mincho} is used in the main text, while \emph{gothic}
is used in the headings or for emphasis.
\begin{center}\small
\begin{tabular}{lllc}
\toprule
-\textbf{classification}&&&\textbf{family name}\\\midrule
+\textbf{classification}&&&\textbf{commands}\\\midrule
\emph{mincho} (明朝体)&\verb+\textmc{...}+&\verb+{\mcfamily ...}+&\cs{mcdefault}\\
\emph{gothic} (\textgt{ゴシック体})&\verb+\textgt{...}+&\verb+{\gtfamily ...}+&\cs{gtdefault}\\
\bottomrule
\end{tabular}
\end{center}
\item
-By default, the following fonts are used for \emph{mincho} and \emph{gothic}:
+By default, the following fonts are used for these two families.
\begin{center}\small
\begin{tabular}{ccccc}
\toprule
@@ -1017,7 +1016,7 @@ By default, the following fonts are used for \emph{mincho} and \emph{gothic}:
\bottomrule
\end{tabular}
\end{center}
-Note that the bold series in both family are same as the medium series of \emph{gothic}
+Note that the bold series in both family are same as the medium series of gothic
family. There is no italic nor slanted shape for
these \texttt{mc}~and~\texttt{gt}.
%</en>
@@ -1032,7 +1031,7 @@ Note that the bold series in both family are same as the medium series of \emph{
\bottomrule
\end{tabular}
\end{center}
-\item 標準では,次のフォントファミリが用いられる:
+\item 標準では,次のフォントが用いられる:
\begin{center}\small
\begin{tabular}{ccccc}
\toprule
@@ -1042,8 +1041,8 @@ Note that the bold series in both family are same as the medium series of \emph{
\bottomrule
\end{tabular}
\end{center}
-どちらのファミリにおいても,そのboldシリーズで使われるフォントは
-ゴシック体のmediumシリーズで使われるフォントと同じであることに注意.
+どちらのファミリにおいても,太字(\cs{bfseries})のフォントは
+ゴシック体中字(\cs{gtfamily}\cs{mdseries})で使われるフォントと同じであることに注意.
また,どちらのファミリでもイタリック体・スラント体は定義されない.
%</ja>
@@ -1058,7 +1057,7 @@ Note that the bold series in both family are same as the medium series of \emph{
These classes and packages also redefine \cs{jttdefault} to
\cs{gtdefault} (\emph{gothic}~family).
} specifies the Japanese font family in \cs{verb}~or~\texttt{verbatim} environment.
- The default value of \cs{jttdefault} is \cs{mcdefault}, so \emph{mincho} family is used.
+ The default value of \cs{jttdefault} is \cs{mcdefault}, so the mincho family is used.
%</en>
%<*ja>
\item \cs{verb} や \texttt{verbatim} 環境中の和文文字に使われる和文フォントファミリは
@@ -1075,8 +1074,8 @@ Note that the bold series in both family are same as the medium series of \emph{
%<*en>
\item If you use the \Pkg{beamer} class with the default font theme (which uses sans serif
fonts) and with \LuaTeX-ja, you might want to change default Japanese fonts to
- \emph{gothic} family. The following line changes the default Japanese font family
- to \emph{gothic}:
+ the gothic family. The following line changes the default Japanese font family
+ to it:
%</en>
%<*ja>
\item \Pkg{beamer}クラスを既定のフォント設定で使う場合,既定欧文フォントがサンセリフなの
@@ -1433,22 +1432,19 @@ alphabetic fonts
%</en>
%<*ja>
\begin{center}\small
-\begin{tabular}{cccc}
+\begin{tabular}{ccccc}
\toprule
和文
-&\cs{jfontspec}&\cs{setmainjfont}&\cs{setsansjfont}\\
-欧文
-&\cs{fontspec}&\cs{setmainfont}&\cs{setsansfont}\\
-\midrule
-和文
-&\cs{newjfontfamily}&\cs{newjfontface}&\cs{defaultjfontfeatures}\\
+&\cs{jfontspec}&\cs{setmainjfont}&\cs{setsansjfont}&\cs{setmonojfont}$^*$\\
欧文
-&\cs{newfontfamily}&\cs{newfontface}&\cs{defaultfontfeatures}\\
+&\cs{fontspec}&\cs{setmainfont}&\cs{setsansfont}&\cs{setmonofont}\\
\midrule
和文
-&\cs{addjfontfeatures}\\
+&\cs{newjfontfamily}&\cs{newjfontface}
+&\cs{defaultjfontfeatures}&\cs{addjfontfeatures}\\
欧文
-&\cs{addfontfeatures}\\
+&\cs{newfontfamily}&\cs{newfontface}
+&\cs{defaultfontfeatures}&\cs{addfontfeatures}\\
\bottomrule
\end{tabular}
\end{center}
@@ -1535,543 +1531,87 @@ JIS~X~0208:1990→辻
%<en>\subsection{Presets of Japanese fonts}
%<ja>\subsection{和文フォントのプリセット設定}
-\label{ssec-preset}
+\label{ssec:preset-abst}
%<*en>
-One can load the \Pkg{luatexja-preset}
-package to use several ``presets'' of Japanese fonts.
-This package provides functions in a part of
-\Pkg{japanese-otf} package and a part of \Pkg{PXchfon} package by Takayuki Yato.
-
-One can specified other options other than listed in this subsection.
-These are simply passed to the \Pkg{luatexja-fontspec}\footnote{if \texttt{nfssonly} option is
-\emph{not} specified; in this case these options are simply ignored.}.
-For example, the line~5 in below example is eqivalent to lines 1--3.
+With \Pkg{luatexja-preset} package,
+one use one of ``preset'' to simplify Japanese font setting.
+For details of package options, and those of each presets, please see Subsecion~\ref{ssec:preset}.
+The following presets are defined:
%</en>
%<*ja>
よく使われている和文フォント設定を一行で指定できるようにしたのが
-\Pkg{luatexja-preset}パッケージである.このパッケージは,
-\Pkg{otf}パッケージの一部機能と八登崇之氏による\Pkg{PXchfon}パッケージの一部機能とを
-合わせたような格好をしている.
-
-オプションとして,本節にないものも指定することができるが,それらは
-\Pkg{luatexja-fontspec}パッケージに渡される\footnote{\texttt{nfssonly} オプションが
-指定されていた場合は,\Pkg{luatexja-fontspec}パッケージは読み込まれないので単純に無視され
-る.}.例えば,下の1--3行目は5行目のように一行にまとめることができる.
+\Pkg{luatexja-preset}パッケージである.オプションや各プリセットの詳細については
+\ref{ssec:preset}節を参照して欲しい.
+現時点では以下のプリセットが定義されている:
%</ja>
+\begin{quote}
+ \ttfamily
+ \hyphenchar\font=-1 \exhyphenchar=-1
+ hiragino-pro, hiragino-pron, ipa, ipa-hg, ipaex, ipaex-hg,
+ kozuka-pr6, kozuka-pr6n, kozuka-pro, moga-mobo, moga-mobo-ex,
+ morisawa-pr6n, morisawa-pro, ms, ms-hg, noembed, noto-otc, noto-otf,
+ sourcehan, sourcehan-jp, ume, yu-osx, yu-win, yu-win10
+\end{quote}
+
+%<ja> 例えば,本ドキュメントでは\Pkg{luatexja-preset}パッケージを
+%<en> For example, this document loads \Pkg{luatexja-preset} package by
\begin{lstlisting}
-\usepackage[no-math]{fontspec}
-\usepackage[match]{luatexja-fontspec}
\usepackage[kozuka-pr6n]{luatexja-preset}
-%%--------
-\usepackage[no-math,match,kozuka-pr6n]{luatexja-preset}
\end{lstlisting}
+%<ja>として読み込み,小塚書体(Pr6N)を使うことを指定している.
+%<en> which means that Kozuka~Pr6N fonts will be used in this document.
-%<en>\paragraph{General options}
-%<ja>\paragraph{一般的なオプション}
-\begin{cslist}[before*=]
-\item[fontspec%
-%<en>\textrm{~(enabled by default)}
-%<ja>\emph{\gtfamily (既定)}
-]
-%<*en>
-With this option, Japanese fonts are selected using functionality of
-the \Pkg{luatexja-fontspec} package. This means that the \Pkg{fontspec} package is
- automatically loaded by this package.
-
-If you need to pass some options to \Pkg{fontspec}, you can load \Pkg{fontspec} manually
-before \Pkg{luatexja-preset}:
-%</en>
%<*ja>
-\Pkg{luatexja-fontspec}パッケージの機能を用いて和文フォントを選択する.
-これは,\Pkg{fontspec}パッケージが自動で読み込まれることを意味する.
-
-もし\Pkg{fontspec}パッケージに何らかのオプションを渡す必要がある
-\footnote{例えば,数式フォントまで置換されてしまい,\cs{mathit}によってギリシャ文字の
-斜体大文字が出なくなる,など.}場合は,
-次のように\Pkg{luatexja-preset}の前に\Pkg{fontspec}を手動で読みこめば良い:
-%</ja>
+上記のプリセット以外の和文フォント設定を使いたい場合,本来は
+\Pkg{luatexja-fontspec}パッケージの提供する
+\cs{setmainjfont}, \cs{setsansjfont}を使って自分で指定するべきである.
+\texttt{custom}オプションを使うことで,\Pkg{luatexja-preset}パッケージの内部に直接アクセスして
\begin{lstlisting}
-\usepackage[no-math]{fontspec}
-\usepackage[...]{luatexja-preset}
+\usepackage[kozuka-pr6n, % kozuka-pr6n プリセットを基礎にして,
+ custom={
+ mc=SourceHanSerif-Regular, % 明朝体(全ウェイト)
+ mc-l=SourceHanSerif-Bold, % 明朝体細字
+ mc-m=KozMinPr6N-Regular, % 明朝体中字
+ % mc-bx=KozMinPr6N-Bold, % 明朝体太字
+ % gt=HirakakuProN-W3, % ゴシック体(全ウェイト)
+ % gt-m=SourceHanSans-Regular, % ゴシック体中字(deluxe オプション指定時)
+ % gt-bx=HiraKakuProN-W6,ular, % ゴシック体太字
+ % gt-eb=HiraKakuProN-W6,ular, % ゴシック体極太
+ mg-m=HG Maru Gothic PRO, % 丸ゴシック体
+ },
+ deluxe,expert,jis2004,match,nfssonly
+]{luatexja-preset}
\end{lstlisting}
-
-\item[nfssonly]
+のようにすることもできるが,\texttt{custom}オプションの書式は予告なく変更されることがある
+上,\texttt{90jis}や\texttt{JIS2004}オプションとの相性があまり良くないので推奨はしない.
+%</ja>
%<*en>
-With this option, selecting Japanese fonts won't be performed using the functionality of
- the \Pkg{fontspec} package, but only standard NFSS2 (hence without
- \cs{addjfontfeatures} etc.).
-This option is ignored when \Pkg{luatexja-fontspec} package is loaded.
-
-When this option is specified, \Pkg{fontspec}~and~\Pkg{luatexja-fontspec} are
-\emph{not} loaded by default. Nevertheless,
-the package\Pkg{fontspec} can coexist with the option, as the following:
-\begin{lstlisting}
-\usepackage{fontspec}
-\usepackage[hiragino-pron,nfssonly]{luatexja-preset}
-\end{lstlisting}
-In this case, one can use \cs{setmainfont} etc.\ to select \emph{alphabetic} fonts.
-%</en>
-%<*ja>
-\LaTeX 標準のフォント選択機構(NFSS2)を用いて
-\texttt{ltjpm}(明朝),\texttt{ltjpg}(ゴシック),それに後に述べる \texttt{deluxe} オプ
- ションが指定された場合には \texttt{ltjpmg}(丸ゴシック)という
-3つの和文フォントファミリを定義し,これらを用いる.
+To use a Japanese font setting which does not match with any presets,
+the legitimate method is to use \cs{setmainjfont}~and~\cs{setsansjfont}
+which are provided by the \Pkg{luatexja-fontspec} package.
-本オプション指定時には\Pkg{fontspec}・\Pkg{luatexja-fontspec}パッケージは
-自動では読み込まれない,しかし,
+One can use the \texttt{custom} option, such as
\begin{lstlisting}
-\usepackage{fontspec}
-\usepackage[hiragino-pron,nfssonly]{luatexja-preset}
+\usepackage[kozuka-pr6n, % based on the kozuka-pr6n preset (Kozuka Pr6N),
+ custom={
+ mc=SourceHanSerif-Regular, % mincho family (all weights)
+ mc-l=SourceHanSerif-Bold, % mincho light
+ mc-m=KozMinPr6N-Regular, % mincho medium
+ % mc-bx=KozMinPr6N-Bold, % mincho bold
+ % gt=HirakakuProN-W3, % gothic family (all weights)
+ % gt-m=SourceHanSans-Regular, % gothic medium (with deluxe option)
+ % gt-bx=HiraKakuProN-W6,ular, % gothic bold
+ % gt-eb=HiraKakuProN-W6,ular, % gothic extra bold
+ mg-m=HGMaruGothicMPRO, % rounded gothic
+ },
+ deluxe,expert,jis2004,match,nfssonly
+]{luatexja-preset}
\end{lstlisting}
-のようにすれば,このオプションを指定すれば
-欧文フォントを\Pkg{fontspec}パッケージの機能を使って指定することができる.
-一方,
-パッケージ読み込み時に既に\Pkg{luatexja-fontspec}パッケージが読み込まれて
- いる場合は \texttt{nfssonly} オプションは無視される.
-%</ja>
-
-\item[match]
-%<*en>
-If this option is specified, usual family-changing commands such as
-\cs{rmfamily},~\cs{textrm}, \cs{sffamily},~\dots\ also change Japanese font family.
-This option is passed to \Pkg{luatexja-fontspec}, if \texttt{fontspec}
-option is specifed.
-%</en>
-
-%<*ja>
-このオプションが指定されると,「\pLaTeXe 新ドキュメントクラス」のように\
-\cs{rmfamily}, \verb+\textrm{...}+, \cs{sffamily} 等が
-欧文フォントだけでなく和文フォントも変更するようになる.
-\ \texttt{fontspec}\
-オプションが有効になっている場合は,このオプションは \Pkg{luatexja-fontspec} パッケージへと渡される.
-%</ja>
-
-
-\item[nodeluxe%
-%<en>\textrm{~(enabled by default)}
-%<ja>\emph{\gtfamily (既定)}
-]
-%<*en>
-The nagation of \texttt{deluxe} option.
-Use one-weighted \textit{mincho} and \textit{gothic} font families.
-This means that \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+ and
-\verb+\gtfamily\mdseries+ use the same font.
-%</en>
-%<*ja>
-\texttt{deluxe}オプションの否定.
-\LaTeXe 環境下の標準設定のように,明朝体・ゴシック体を各1ウェイトで使用する.
-より具体的に言うと,この設定の下では
-\ \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+,
-\verb+\gtfamily\mdseries+はみな同じフォントとなる.
-%</ja>
-\item[deluxe]
-%<*en>
-Use \textit{mincho} with two weights (medium~and~bold),
-\textit{gothic} with three weights (medium, bold~and~heavy), and \textit{rounded gothic}%
-\footnote{Provided by \cs{mgfamily} and \cs{textmg},
-because \textit{rounded gothic} is called \textit{maru gothic} (丸ゴシック) in Japanese.}.
-The heavy weight of \textit{gothic} can be used by ``changing the family'' \cs{gtebfamily},
-or \verb+\textgteb{...}+.
-This is because the \Pkg{fontspec} package can handle only medium (\cs{mdseries}) and
-bold (\cs{bfseries}).
-%</en>
-%<*ja>
-明朝体2ウェイト・ゴシック体3ウェイトと,
-丸ゴシック体 (\cs{mgfamily}, \verb+\textmg{...}+) を使用可能とする.
-ゴシック体は中字・太字・極太の3ウェイトがあるが,
-極太ゴシック体を使う場合,
-\begin{itemize}
- \item \cs{gtebfamily}, \verb+\textgteb{...}+
- \item \cs{ebseries} (周囲がゴシック体のとき,\texttt{nfssonly} オプション指定時のみ)
-\end{itemize}
-のいずれかを用いる.標準で \cs{ebseries} が準備されていないのは,バージョンが古い
-\Pkg{fontspec}では中字(\cs{mdseries})と太字(\cs{bfseries})しか扱えなかった名残である.
-%</ja>
-\item[expert]
-%<*en>
-Use horizontal/vertical kana alternates, and define a command \cs{rubyfamily} to use kana
-characters designed for ruby.
-%</en>
-%<*ja>
-横組・縦組専用仮名を用いる.また,\cs{rubyfamily} でルビ用仮名が使用可能となる\footnote{%
- \cs{rubyfamily}とはいいつつ,実際にはフォントファミリを切り替えるのではない(通常では
- font featureの追加,\texttt{nfssonly} 指定時にはシェイプを \texttt{rb} に切り替え).
-}.
-%</ja>
-\item[bold]
-%<*en>
-Substitute bold series of \textit{gothic} for bold series of \textit{mincho}.
-If \texttt{nodeluxe} option is enabled, medium series of \textit{gothic} is also changed,
-since we use same font for both series of \textit{gothic}.
-%</en>
-%<*ja>
-「明朝の太字」をゴシック体の太字によって代替する.
-もし\texttt{nodeluxe}オプションが指定されている場合は,ゴシック体は1ウェイトしか使用されな
- いため,
-「ゴシック体の中字」も同時に変更されることになる.
-%</ja>
-\item[90jis]
-%<en>Use 90JIS glyph variants if possible.
-%<ja>出来る限り90JISの字形を使う.
-\item[jis2004]
-%<en>Use JIS2004 glyph variants if possible.
-%<ja>出来る限りJIS2004の字形を使う.
-\item[jfm\_yoko=<jfm>]
-%<*en>
-Use the JFM \texttt{jfm-<jfm>.lua} for horizontal direction, instead of \texttt{jfm-ujis.lua}~(default JFM).
-%</en>
-%<*ja>
-横組用和文フォントで用いるJFMを\texttt{jfm-<jfm>.lua}にする.このオプションがない時は
-\LuaTeX\nobreakdash -ja標準の\texttt{jfm-ujis.lua}が用いられる.
-%</ja>
-\item[jfm\_tate=<jfm>]
-%<*en>
-Use the JFM \texttt{jfm-<jfm>.lua} for vertical direction, instead of \texttt{jfm-ujisv.lua}~(default JFM).
-%</en>
-%<*ja>
-縦用和文フォントで用いるJFMを\texttt{jfm-<jfm>.lua}にする.このオプションがない時は
-\LuaTeX-ja標準の\texttt{jfm-ujisv.lua}が用いられる.
-%</ja>
-
-\item[jis]
-%<en>Same as \texttt{jfm\_yoko=jis}.
-%<ja>\texttt{jfm\_yoko=jis}と同じ.ここで用いるJFM\texttt{jfm-jis.lua}はJISフォントメトリックを元にしたものである.
-
-\end{cslist}
-%<*en>
-Note that \texttt{90jis} and \texttt{jis2004} only affect with \textit{mincho},
-\textit{gothic} (and possibly \textit{rounded gothic}) defined by this package.
-We didn't taken account of when both \texttt{90jis} and \texttt{jis2004} are specified.
-%</en>
-%<*ja>
-\texttt{90jis}と\texttt{jis2004}については本パッケージで定義された
-明朝体・ゴシック体(・丸ゴシック体)にのみ有効である.
-両オプションが同時に指定された場合の動作については全く考慮していない.
-%</ja>
-
-%<en>\paragraph{Presets for multi weight}
-%<ja>\paragraph{多ウェイト用プリセットの一覧}
-%<*en>
-Besides \texttt{morisawa-pro}~and~\texttt{morisawa-pr6n} presets,
-fonts are specified by font name, not by file name.
-In following tables, starred fonts (e.g.~KozGo\dots-Regular) are used for medium series of \textit{gothic},
-\emph{if and only if \texttt{deluxe} option is specified}.
-%</en>
-%<*ja>
-\texttt{morisawa-pro}, \texttt{morisawa-pr6n}以外はフォントの指定は
-(ファイル名でなく)フォント名で行われる.
-以下の表において,*\,つきのフォント(e,g,~KozGo\dots-Regular)は,\emph{\texttt{deluxe}オプション指定時に}
-ゴシック体中字として用いられるものを示している.
-%</ja>
-\begin{cslist}[style=standard]
- \item[kozuka-pro] Kozuka Pro (Adobe-Japan1-4) fonts.
-%<en> \\*[-\dimexpr\medskipamount+\baselineskip\relax]
- \item[kozuka-pr6] Kozuka Pr6 (Adobe-Japan1-6) fonts.
-%<en> \\*[-\dimexpr\medskipamount+\baselineskip\relax]
- \item[kozuka-pr6n] Kozuka Pr6N (Adobe-Japan1-6, JIS04-savvy) fonts.
-
-%<*en>
-Kozuka Pro/Pr6N fonts are bundled with Adobe's software, such as Adobe~InDesign.
-There is not rounded gothic family in Kozuka fonts.
+However, we do not recommend this \cs{custom} option;
+the format might change, and this \cs{custom} option is not well-compatible with
+\texttt{90jis}~nor~\cs{jis2004} options.
%</en>
-%<*ja>
-小塚Pro書体・Pr6N書体はAdobe InDesign等のAdobe製品にバンドルされている.
-「小塚丸ゴシック」は存在しないので,便宜的に小塚ゴシックHによって代用している.
-%</ja>
-\begin{center}\small
-\begin{tabular}{cllll}
-\toprule
-\bfseries family&\bfseries series&\ttfamily kozuka-pro&\ttfamily kozuka-pr6&\ttfamily kozuka-pr6n\\
-\midrule
- &medium&KozMinPro-Regular&KozMinProVI-Regular&KozMinPr6N-Regular\\
-%<en>\smash{\raisebox{1.5ex}{\textit{mincho}}}%
-%<ja>\smash{\raisebox{1.5ex}{\gt 明朝}}%
- &bold&KozMinPro-Bold&KozMinProVI-Bold&KozMinPr6N-Bold\\
-\midrule
- &&KozGoPro-Regular*&KozGoProVI-Regular*&KozGoPr6N-Regular*\\
- &\smash{\raisebox{1.5ex}{medium}}
- &KozGoPro-Medium&KozGoProVI-Medium&KozGoPr6N-Medium\\
-\cmidrule(l){2-5}
-%<en>\smash{\raisebox{2ex}{\textit{gothic}}}%
-%<ja>\smash{\raisebox{2ex}{\gt ゴシック}}%
- &bold&KozGoPro-Bold&KozGoProVI-Bold&KozGoPr6N-Bold\\
- &heavy&KozGoPro-Heavy&KozGoProVI-Heavy&KozGoPr6N-Heavy\\
-\midrule
-%<en>\textit{rounded gothic}
-%<ja>\gt 丸ゴシック
-&&KozGoPro-Heavy&KozGoProVI-Heavy&KozGoPr6N-Heavy\\
-\bottomrule
-\end{tabular}
-\end{center}
-
- \item[hiragino-pro] Hiragino Pro (Adobe-Japan1-5) fonts.
-%<en> \\*[-\dimexpr\medskipamount+\baselineskip\relax]
- \item[hiragino-pron] Hiragino ProN (Adobe-Japan1-5, JIS04-savvy) fonts.
-
-%<*en>
-Hiragino fonts are bundled with Mac OS~X 10.5 or later.
-Some editions of a Japanese word-processor ``一太郎2012'' includes Hiragino ProN fonts.
-Note that the heavy weight of \textit{gothic} family only supports
-Adobe-Japan1-3 character collection (Std/StdN).
-%</en>
-%<*ja>
-ヒラギノフォントは,Mac OS~X以外にも,一太郎2012の上位エディションにもバンドルされている.
-極太ゴシックとして用いるヒラギノ角ゴW8は,Adobe-Japan1-3の範囲しかカバーしていない
-Std/StdNフォントであり,その他はAdobe-Japan1-5対応である.
-%</ja>
-\begin{center}\small
-\begin{tabular}{clll}
-\toprule
-\bf family&\bf series&\tt hiragino-pro&\tt hiragino-pron\\
-\midrule
- &medium&Hiragino~Mincho~Pro~W3&Hiragino~Mincho~ProN~W3\\
-%<en>\smash{\raisebox{1.5ex}{\textit{mincho}}}%
-%<ja>\smash{\raisebox{1.5ex}{\gt 明朝}}%
- &bold&Hiragino~Mincho~Pro~W6&Hiragino~Mincho~ProN~W6\\
-\midrule
- &&Hiragino~Kaku~Gothic~Pro~W3*&Hiragino~Kaku~Gothic~ProN~W3*\\
- &\smash{\raisebox{1.5ex}{medium}}
- &Hiragino~Kaku~Gothic~Pro~W6&Hiragino~Kaku~Gothic~ProN~W6\\
-\cmidrule(l){2-4}
-%<en>\smash{\raisebox{2ex}{\textit{gothic}}}%
-%<ja>\smash{\raisebox{2ex}{\gt ゴシック}}%
- &bold&Hiragino~Kaku~Gothic~Pro~W6&Hiragino~Kaku~Gothic~ProN~W6\\
- &heavy&Hiragino~Kaku~Gothic~Std~W8&Hiragino~Kaku~Gothic~StdN~W8\\
-\midrule
-%<en>\textit{rounded gothic}
-%<ja>\gt 丸ゴシック
-&&Hiragino~Maru~Gothic~Pro~W4&Hiragino~Maru~Gothic~ProN~W4\\
-\bottomrule
-\end{tabular}
-\end{center}
-
- \item[morisawa-pro] Morisawa Pro (Adobe-Japan1-4) fonts.
-%<en> \\*[-\dimexpr\medskipamount+\baselineskip\relax]
- \item[morisawa-pr6n] Morisawa Pr6N (Adobe-Japan1-6, JIS04-savvy) fonts.
-\begin{center}\small
-\begin{tabular}{cl>{\tt}l>{\tt}l}
-\toprule
-\bf family&\bf series&morisawa-pro&morisawa-pr6n\\
-\midrule
- &medium&A-OTF-RyuminPro-Light.otf&A-OTF-RyuminPr6N-Light.otf\\
-%<en>\smash{\raisebox{1.5ex}{\textit{mincho}}}%
-%<ja>\smash{\raisebox{1.5ex}{\gt 明朝}}%
- &bold&A-OTF-FutoMinA101Pro-Bold.otf&A-OTF-FutoMinA101Pr6N-Bold.otf\\
-\midrule
- &medium
- &A-OTF-GothicBBBPro-Medium.otf&A-OTF-GothicBBBPr6N-Medium.otf\\
-%<en>\textit{gothic}%
-%<ja>\gt ゴシック
- &bold&A-OTF-FutoGoB101Pro-Bold.otf&A-OTF-FutoGoB101Pr6N-Bold.otf\\
- &heavy&A-OTF-MidashiGoPro-MB31.otf&A-OTF-MidashiGoPr6N-MB31.otf\\
-\midrule
-%<en>\textit{rounded gothic}
-%<ja>\gt 丸ゴシック
-&&A-OTF-Jun101Pro-Light.otf&A-OTF-ShinMGoPr6N-Light.otf\\
-\bottomrule
-\end{tabular}
-\end{center}
-
-\newpage
- \item[yu-win] Yu fonts bundled with Windows~8.1.
-%<en> \\*[-\dimexpr\medskipamount+\baselineskip\relax]
- \item[yu-win10] Yu fonts bundled with Windows~10.
-%<en> \\*[-\dimexpr\medskipamount+\baselineskip\relax]
- \item[yu-osx] Yu fonts bundled with OSX~Mavericks.
-\begin{center}\small
-\begin{tabular}{cllll}
-\toprule
-\bf family&\bf series&\texttt{yu-win}&\texttt{yu-win10}&\texttt{yu-osx}\\
-\midrule
- &medium&YuMincho-Regular&YuMincho-Regular&YuMincho~Medium\\
-%<en>\smash{\raisebox{1.5ex}{\textit{mincho}}}%
-%<ja>\smash{\raisebox{1.5ex}{\gt 明朝}}%
- &bold&YuMincho-Demibold&YuMincho-Demibold&YuMincho~Demibold\\
-\midrule
- &&YuGothic-Regular*&YuGothic-Regular*&YuGothic~Medium*\\
- &\smash{\raisebox{1.5ex}{medium}}%
- &YuGothic-Regular&YuGothic-Medium&YuGothic~Medium\\
-\cmidrule(l){2-5}
-%<en>\textit{gothic}%
-%<ja>\gt ゴシック
- &bold&YuGothic-Bold&YuGothic-Bold&YuGothic~Bold\\
- &heavy&YuGothic-Bold&YuGothic-Bold&YuGothic~Bold\\
-\midrule
-%<en>\textit{rounded gothic}
-%<ja>\gt 丸ゴシック
-&&YuGothic-Bold&YuGothic-Bold&YuGothic~Bold\\
-\bottomrule
-\end{tabular}
-\end{center}
-
-\item[moga-mobo] MogaMincho, MogaGothic, and MoboGothic.
-\item[moga-mobo-ex] MogaExMincho, MogaExGothic, and MoboExGothic.
-%<en>These fonts can be downloaded from\\\hfill \url{http://yozvox.web.fc2.com/}.
-%<ja>これらのフォントは \url{http://yozvox.web.fc2.com/} からダウンロードできる.
-\begin{center}\small
-\begin{tabular}{clll}
-\toprule
-\bf family&\bf series&\bf default, \texttt{90jis}~option&\bf \texttt{jis2004} option\\
-\midrule
- &medium&Moga90Mincho&MogaMincho\\
-%<en>\smash{\raisebox{1.5ex}{\textit{mincho}}}%
-%<ja>\smash{\raisebox{1.5ex}{\gt 明朝}}%
- &bold&Moga90Mincho Bold&MogaMincho Bold\\
-\midrule
- &medium&Moga90Gothic&MogaGothic\\
-%<en>\textit{gothic}%
-%<ja>\gt ゴシック
- &bold&Moga90Gothic Bold&MogaGothic Bold\\
- &heavy&Moga90Gothic Bold&MogaGothic Bold\\
-\midrule
-%<en>\textit{rounded gothic}
-%<ja>\gt 丸ゴシック
-&&Mobo90Gothic&MoboGothic\\
-\bottomrule
-\end{tabular}
-\end{center}
-%<en>When \texttt{moga-mobo-ex} is specified, the font ``MogaEx90Mincho'' etc.\ are used.
-%<ja>\texttt{moga-mobo-ex}オプション指定時にはMogaEx90MinchoなどのExが名前についたフォントが使われる.
-
-\item[ume] Ume Mincho and Ume Gothic.
-%<en>These fonts can be downloaded from\\\hfill \url{https://ja.osdn.net/projects/ume-font/wiki/FrontPage}.
-%<ja>これらのフォントは \url{https://ja.osdn.net/projects/ume-font/wiki/FrontPage} からダウンロードできる.
-\begin{center}\small
-\begin{tabular}{cll}
-\toprule
-\bf family&\bf series&\bf default\\
-\midrule
- &medium&Ume Mincho\\
-%<en>\smash{\raisebox{1.5ex}{\textit{mincho}}}%
-%<ja>\smash{\raisebox{1.5ex}{\gt 明朝}}%
- &bold&Ume Mincho\\
-\midrule
- &&Ume Gothic*\\
- &\smash{\raisebox{1.5ex}{medium}}&Ume Gothic O5\\
-\cmidrule(l){2-3}
-%<en>\textit{gothic}%
-%<ja>\gt ゴシック
- &bold&Ume Gothic O5\\
- &heavy&Ume Gothic O5\\
-\midrule
-%<en>\textit{rounded gothic}
-%<ja>\gt 丸ゴシック
-&&Ume Gothic O5\\
-\bottomrule
-\end{tabular}
-\end{center}
-
-\end{cslist}
-%<en>\paragraph{Presets for single weight}
-%<ja>\paragraph{単ウェイト用プリセット一覧}
-%<*en>
-Next, we describe settings for using only single weight.
-%</en>
-%<*ja>
-次に,単ウェイト用の設定を述べる.この4設定では
-明朝体太字・丸ゴシック体はゴシック体と同じフォントが用いられる.
-%</ja>
-\par\nobreak\medskip
-{\centering\small
-\begin{tabular}{lllll}
-\toprule
-&\tt noembed&\tt ipa&\tt ipaex&\tt ms\\
-\midrule
-%<*en>
-\it mincho&Ryumin-Light (non-embedded)
-&IPA Mincho&IPAex Mincho&MS Mincho\\
-\it gothic&GothicBBB-Medium (non-embedded)
-&IPA Gothic&IPAex Gothic&MS Gothic\\
-%</en>
-%<*ja>
-\gtfamily 明朝体&Ryumin-Light(非埋込)
-&IPA明朝&IPAex明朝&MS明朝\\
-\gtfamily ゴシック体&GothicBBB-Medium(非埋込)
-&IPAゴシック&IPAexゴシック&MSゴシック\\
-%</ja>
-\bottomrule
-\end{tabular}\par\medskip}
-
-%<en>\paragraph{Using HG fonts}
-%<ja>\paragraph{HGフォントの利用}
-%<*en>
-We can use HG~fonts bundled with Microsoft~Office for realizing multiple weights.
-%</en>
-%<*ja>
-すぐ前に書いた単ウェイト用設定を,Microsoft Office等に付属するHGフォントを使って
-多ウェイト化した設定もある.
-%</ja>
-\par\nobreak\medskip
-{\centering\small
-\begin{tabular}{llll}
-\toprule
-&\tt ipa-hg&\tt ipaex-hg&\tt ms-hg\\
-\midrule
-%<*en>
-\bf mincho medium
-&IPA Mincho&IPAex Mincho&MS Mincho\\\midrule
-\bf mincho bold&
-\multicolumn{3}{c}{HG Mincho E}\\\midrule
-\bf Gothic medium\\
-~~without \texttt{deluxe}
-&IPA Gothic&IPAex Gothic&MS Gothic\\
-~~with {\tt jis2004}
-&IPA Gothic&IPAex Gothic&MS Gothic\\
-\cmidrule(lr){1-4}
-~~otherwise&
-\multicolumn{3}{c}{HG Gothic M}\\\midrule
-\bf gothic bold&
-\multicolumn{3}{c}{HG Gothic E}\\\midrule
-\bf gothic heavy&
-\multicolumn{3}{c}{HG Soei Kaku Gothic UB}\\\midrule
-\bf rounded gothic&
-\multicolumn{3}{c}{HG Maru Gothic PRO}\\
-%</en>
-%<*ja>
-\gtfamily 明朝体中字
-&IPA明朝&IPAex明朝&MS明朝\\\midrule
-\gtfamily 明朝体太字&
-\multicolumn{3}{c}{HG明朝E}\\\midrule
-\gtfamily ゴシック体中字\\
- 単ウェイト時
-&IPAゴシック&IPAexゴシック&MSゴシック\\
- {\tt jis2004}指定時
-&IPAゴシック&IPAexゴシック&MSゴシック\\
-\cmidrule(lr){1-4}
- それ以外の時&
-\multicolumn{3}{c}{HGゴシックM}\\\midrule
-\gtfamily ゴシック体太字&
-\multicolumn{3}{c}{HGゴシックE}\\\midrule
-\gtfamily ゴシック体極太&
-\multicolumn{3}{c}{HG創英角ゴシックUB}\\\midrule
-\gtfamily 丸ゴシック体&
-\multicolumn{3}{c}{HG丸ゴシック体PRO}\\
-%</ja>
-\bottomrule
-\end{tabular}\par\medskip}
-
-%<*en>
-Note that HG~Mincho~E, HG~Gothic~E, HG Soei Kaku Gothic UB, and HG Maru Gothic PRO
-are internally specified by:
-\begin{description}
-\item[default] by font name (\texttt{HGMinchoE}, etc.).
-\item[{\tt 90jis}] by file name (\texttt{hgrme.ttc}, \texttt{hgrge.ttc}, \texttt{hgrsgu.ttc}, \texttt{hgrsmp.ttf}).
-\item[{\tt jis2004}] by file name (\texttt{hgrme04.ttc}, \texttt{hgrge04.ttc}, \texttt{hgrsgu04.ttc}, \texttt{hgrsmp04.ttf}).
-\end{description}
-%</en>
-%<*ja>
-なお,HG明朝E・HGゴシックE・HG創英角ゴシックUB・HG丸ゴシック体PROの4つについては,内部で
-\begin{description}
-\item[標準] フォント名(\texttt{HGMinchoE} など)
-\item[{\tt 90jis}指定時] ファイル名 (%
-\texttt{hgrme.ttc}, \texttt{hgrge.ttc}, \texttt{hgrsgu.ttc}, \texttt{hgrsmp.ttf})
-\item[{\tt jis2004}指定時] ファイル名 (%
-\texttt{hgrme04.ttc}, \texttt{hgrge04.ttc}, \texttt{hgrsgu04.ttc}, \texttt{hgrsmp04.ttf})
-\end{description}
-として指定を行っているので注意すること.
-%</ja>
-
%<*en>
\subsection{\cs{CID}, \cs{UTF}, and macros in \Pkg{japanese-otf} package}
@@ -2213,7 +1753,7 @@ and the character ``漢'' to the character range~100.
%<*en>
A character can belong to only one character range.
For example, whole SIP belong to the range~4 in the default setting of \LuaTeX-ja,
-and if you execute the above line, then SIP will belong to the range~100 and be
+and if one executes the above line, then SIP will belong to the range~100 and be
removed from the range~4.
%</en>
%<*ja>
@@ -2489,7 +2029,7 @@ the same codepoint as \S\ (\text{U+00A7}).
Hence, as previous versions of \LuaTeX-ja, if these characters are treated as
\text{JAchar}s, then \cs{Frowny} produces ``\ltjjachar`§'' (in a Japanese font).
-To avoid such situations, the default setting of \LuaTeX-ja is changed in this release
+To avoid such situations, the default setting of \LuaTeX-ja is changed in version~20150906.0
so that all characters \texttt{U+0080}--\texttt{U+00FF} are treated as \textbf{ALchar}.
If you want to output a character as \textbf{ALchar} and \textbf{JAchar} regardless the range
@@ -2510,7 +2050,7 @@ setting, you can use \cs{ltjalchar} and \cs{ltjjachar} respectively, as the foll
即ち,以前のバージョンのように,「前節の文字範囲8内の文字は\textbf{JAchar}」という設定で
あったとすると,上記の \cs{Frowny} は和文フォントで「\ltjjachar`§」を出力することになる.
-このような事態を避けるために,本バージョンからは \texttt{U+0080}--\texttt{U+00FF} の範囲の
+このような事態を避けるために,バージョン20150906.0からは \texttt{U+0080}--\texttt{U+00FF} の範囲の
文字は全て\textbf{ALchar}となるように初期設定を変更している.
なお,文字範囲の設定に関わらず1つの文字を\textbf{ALchar}, \textbf{JAchar}で出力したい場合には,
@@ -2804,7 +2344,7 @@ becuse a \emph{JAchar} is encapsulated by a horizontal box if needed.
まだ違いが見られる.
\end{itemize}
-なお,20170401.0版以降の\LuaTeX-jaでは,\cs{vcenter} によるボックスには
+なお,バージョン20170401.0以降の\LuaTeX-jaでは,\cs{vcenter} によるボックスには
全体が\Param{yalbaselineshift}, \Param{talbaselineshift} パラメータが反映されるようにしている.
その方が結果が自然であることによる変更なのだが,結果的に\cs{vcenter} については\pTeX と同じ挙動となった.
@@ -2860,6 +2400,7 @@ However, the penalty inserted after it is 10 which is the \Param{postbreakpenalt
``ア'', not 20.
%</en>
%<*ja>
+\newpage
\subsection{禁則処理関連パラメータとOpenTypeのfont feature}
禁則処理や \Param{kanjiskip}, \Param{xkanjiskip} の挿入に関連したパラメータのうち
\begin{quote}
@@ -3859,7 +3400,7 @@ Specify the name of (horizontal) JFM.
If specified JFM has not been loaded, \LuaTeX-ja search and load
a file named \texttt{jfm-<name>.lua}.
-The following JFMs are shipped with \LuaTeX-ja:
+The following horizontal JFMs are shipped with \LuaTeX-ja:
%</en>
%<*ja>
用いる(横組用)JFMの名前を指定する.もし以前に指定されたJFMが読み込まれていなければ,
@@ -3867,7 +3408,7 @@ The following JFMs are shipped with \LuaTeX-ja:
%</ja>
\begin{description}
%<*en>
-\item[\tt jfm-ujis.lua] A standard JFM in \LuaTeX-ja. This JFM is
+\item[\tt jfm-ujis.lua] A standard horizontal JFM in \LuaTeX-ja. This JFM is
based on \verb+upnmlminr-h.tfm+, a metric for UTF/OTF package that
is used in \upTeX. When you use the \Pkg{luatexja-otf} package, you should use this JFM.
%</en>
@@ -3970,7 +3511,7 @@ JFMもサイズも同じなので,普通に「)【」と入力した時と
\label{para-kern}
%<*en>
Some fonts have information for inter-glyph spacing.
-This version of \LuaTeX-ja treats kerning spaces like an italic correction;
+\LuaTeX-ja 20140324.0 or later treats kerning spaces like an italic correction;
any glue and/or kern from the JFM and a kerning space can coexist.
See \autoref{fig:kern-jfm} for detail.
@@ -3981,7 +3522,7 @@ because of the compatibility with previous versions of \LuaTeX-ja.
%<*ja>
いくつかのフォントはグリフ間のスペースについての情報を持っている.
このカーニング情報は以前の\LuaTeX-ja とはあまり相性が良くなかったが,
-本バージョンではカーニングによる空白はイタリック補正と同様に扱うことになっている.
+バージョン20140324.0以降ではカーニングによる空白はイタリック補正と同様に扱うことになっている.
つまり,カーニング由来の空白とJFM由来のグルー・カーンは同時に入りうる.
\autoref{fig:kern-jfm}を参照.
\begin{itemize}
@@ -4042,7 +3583,7 @@ JFM中における \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\
\texttt{kanjiskip\_shrink}キー(\pageref{pg:ksp_nat}ページ)の使用によって,
「JFM由来のグルーの他に,\Param{kanjiskip}の自然長/伸び量/縮み量の一部が
同じ場所に挿入される」という状況が起こりうる.
-この機能を無効化し,20150922.0版以前と同じような組版を得るためには
+この機能を無効化し,バージョン20150922.0以前と同じような組版を得るためには
他のOpenType機能と同じように\ \texttt{-ltjksp}\ 指定を行えば良い.
\begin{LTXexample}[width=16\zw]
\leavevmode
@@ -4068,12 +3609,13 @@ JFM中における \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\
%<ja>\subsection{\cs{tfont} 命令}
+\begin{comment}
+ {\catcode`\<=12\catcode`\>=12
\begin{table}[t]
%<en>\caption{Differences between vertical JFMs shipped with \LuaTeX-ja}
%<ja>\caption{\LuaTeX-ja に同梱されている縦組用 JFM の違い}
%<en>\medskip
\label{tab-difjfm-tate}
-\catcode`\<=12\catcode`\>=12
\ltjsetparameter{jacharrange={+3}}
\small
\def\r#1#2{%
@@ -4110,9 +3652,32 @@ JFM中における \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\
\end{minipage}
\ltjsetparameter{jacharrange={-3}}
\end{table}
+}
+\end{comment}
%<*en>
-...
+\cs{tfont} loads a font as a Japanese font for vertical direction.
+This command admits the same syntax used in \cs{font}~and~\cs{jfont}.
+A font defined by~\cs{tfont} differs the following points from that by~\cs{jfont}:
+\begin{itemize}
+ \item Both \texttt{vert}~and~\texttt{vrt2} Opentype features are activated,
+ unless they are explicitly activated or deactivated (as the third line in the example below).
+\begin{lstlisting}
+\tfont\S=file:KozMinPr6N-Regular.otf:jfm=ujisv
+ % vert and vrt2 are automatically activated
+\tfont\T=file:KozMinPr6N-Regular.otf:jfm=ujisv;-vert % vert and vrt2 are not activated
+\end{lstlisting}
+ \item ...
+ \item One have to specify the name of vertical JFM in \texttt{jfm=<name>}.
+\LuaTeX-ja ships following vertical JFMs:
+\begin{description}
+\item[\tt jfm-ujisv.lua] A standard vertical JFM in \LuaTeX-ja. This JFM is
+ based on \verb+upnmlminr-v.tfm+, a metric for UTF/OTF package that
+ is used in \upTeX.
+\item[\tt jfm-tmin.lua] A counterpart for \verb+tmin10.tfm+, which is one
+ of the default Japanese font metric shipped with \pTeX.
+\end{description}
+\end{itemize}
%</en>
%<*ja>
\cs{tfont} はフォントを縦組用の和文フォントとして読み込む命令であり,
@@ -4130,7 +3695,7 @@ JFM中における \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\
\end{lstlisting}
\item \ref{ssec-math}節で述べる,数式中の和文フォントには縦組用和文フォントは指定できない.
\item \texttt{jfm=<name>}\ の部分には縦組用JFMを指定する.
-以下の縦組用JFMが\LuaTeX-jaには同梱されており,違いを\autoref{tab-difjfm-tate}に示した.
+以下の縦組用JFMが\LuaTeX-jaには同梱されている.%おり,違いを\autoref{tab-difjfm-tate}に示した.
\begin{description}
\item[\tt jfm-ujisv.lua] \LuaTeX-jaの標準縦組用JFMである.このJFMは\upTeX で
用いられるUTF/OTFパッケージ用の和文用TFMである \verb+upnmlminr-v.tfm+ を
@@ -4271,15 +3836,15 @@ floating-point numbers in design-size unit.
\begin{cslist}[style=standard]
-\item[version=$1\mathrel{\textrm{or}}2$]
+\item[version=<version>]
%<en>(optional, default value is~1)
%<ja>(任意,既定値は1)
%<*en>
-The version JFM. Currently 1~and~2 are supported
+The version JFM. Currently 1,~2,~and,~3 are supported
%</en>
%<*ja>
-JFMのバージョン.1または2がサポートされる.
+JFMのバージョン.1,~2,~3がサポートされる.
%</ja>
\item[dir=<direction>]
@@ -4710,8 +4275,8 @@ we specify <ratio> to $0.25/(0.5+0.25)=1/3$.
\Pkg{luatexja-adjust}による優先順位付き
行長調整(\ref{ssec-adj}節)において,このグルーの優先度を指定する.許される値は以下の通り:
\begin{description}
- \item[バージョン1のとき] $-4$から$+3$の間の整数
- \item[バージョン2のとき] $-4$から$+3$の間の整数の2つ組\texttt{\{<stretch>, <shrink>\}}か,
+ \item[バージョン1] $-4$から$+3$の間の整数
+ \item[バージョン2以降] $-4$から$+3$の間の整数の2つ組\texttt{\{<stretch>, <shrink>\}}か,
または$-4$から$+3$の間の整数.<stretch>, <shrink>はそれぞれこのグルーが伸びるときの優先度,縮むときの
優先度であり,単に整数$i$が指定された場合は\texttt{\{$i$, $i$\}}であると解釈される.
\end{description}
@@ -4754,7 +4319,7 @@ In case of glue, one can specify following additional keys in each \texttt{[$j$]
\begin{cslist}[style=standard]
\item[priority=<priority>]
An integer in $[-4,3]$ (treated as 0 if omitted), or
-a pair of these integers \texttt{\{<stretch>, <shrink>\}} (version~2 only).
+a pair of these integers \texttt{\{<stretch>, <shrink>\}} (version 2~or~later).
This is
used only in line adjustment with priority by \Pkg{luatexja-adjust}
(see Subsection~\ref{ssec-adj}). Higher value means the glue is easy to stretch,
@@ -4943,8 +4508,31 @@ The following is the list of imaginary characters:
%<ja>通常の(\cs{noindent} で開始されていない)段落の先頭.
\item['jcharbdd']
-%<en>A boundary between \textbf{JAchar} and anything else (such as \textbf{ALchar}, kern, glue,\,\ldots).
-%<ja>\textbf{JAchar}と「その他のもの」(欧文文字,glue,kern等)との境界.
+%<en>A boundary between \textbf{JAchar} and anything else.
+%<*ja>
+\textbf{JAchar}と「その他のもの」との境界.
+
+バージョン2以前では\textbf{ALchar},箱,罫線(rule),glue,~kernなどいろいろなものと\textbf{JAchar}の境界に対して
+本特殊文字が用いられていたが,
+バージョン3以降では\ \texttt{'jcharbdd'}, \texttt{'alchar'}, \texttt{'nox\_alchar'},
+\texttt{'glue'} と細分化され,
+\texttt{'jcharbdd'} は主に\textbf{JAchar}とボックスや罫線(rule)との境界に使われるようになった.
+%</ja>
+
+\item['alchar', 'nox\_alchar']
+%<*en>
+(version 3~or~later) A boundary between \textbf{JAchar} and \textbf{ALchar}.
+%</en>
+%<*ja>
+(バージョン3以降)\textbf{JAchar}と\textbf{ALchar}との境界.
+\textbf{JAchar}と\textbf{ALchar}の間に\Param{xkanjiskip}が入ることが可能な場合は
+\ \texttt{'alchar'}\ が,そうでない場合は\ \texttt{'nox\_alchar'}\ が用いられる
+(この区別は\textbf{ALchar}側の\Param{alxspmode}の値によってのみ行われる).
+%</ja>
+
+\item['glue']
+%<en>(version 3~or~later) A boundary between \textbf{JAchar}, and, a glue or kern.
+%<ja>(バージョン3以降))\textbf{JAchar}とglue,kernとの境界.
\item[$-1$]
%<en>The left/right boundary of an inline math formula.
@@ -5167,16 +4755,9 @@ For $i\in\omega$, \texttt{char\_type[$i$]} is information of characters whose cl
0&\text{\texttt{'left'} (default)}\\0.5&\text{\tt 'middle'}\\1&\text{\tt 'right'}
\end{cases}
\]
-\item For $j\in \omega$, \texttt{[$j$]} stores a kern or a glue which will be inserted
-between character class~$i$ and class~$j$.
-
-If a kern will be inserted, the value of this field is \texttt{[$j$]=\{false, <kern\_node>, <ratio>\}},
-where <kern\_node> is a node\footnote{%
- This version of \LuaTeX-ja uses ``direct access
- model'' for accessing nodes, if possible. }.
-If a glue will be inserted, we have \texttt{[$j$]=\{false, <spec\_node>, <ratio>, <icflag>\}},
-where <spec\_node> is also a node, and $\text{<icflag>}=\textit{from\_jfm}+\text{<priority>}$.
\end{itemize}
+For $i$,~$j\in \omega$, \texttt{char\_type[$i$][$j$]} stores a kern or a glue which will be inserted
+between character class~$i$ and class~$j$.
\end{description}
%</en>
%<*ja>
@@ -5209,23 +4790,34 @@ JFMで指定されているそれぞれの値をスケーリングしたもの
\end{cases}
\]
のいずれかの値をとる.
-\item $j\in \omega$に対して,\texttt{[$j$]} は文字クラス$i$の文字と$j$の文字の間に挿入されるkern
- やglueを格納している.
-間に入るものがkernであれば,このフィールドの値は\
-\texttt{[$j$]=\{false, <kern\_node>, <ratio>\}} である.
-<kern\_node>はkernを表すノードそのものである\footnote{%
-本バージョンではノードのアクセス手法にdirect access
+\end{itemize}
+$i$,~$j\in \omega$に対して,\texttt{char\_type[$i$][$j$]} は
+文字クラス$i$の文字と$j$の文字の間に挿入されるグルーやカーンを格納している.
+\begin{itemize}
+ \item 間に入るものがカーンであれば,この値は\
+\texttt{[$j$]=\{[1]=<kern\_node>, ratio=<ratio>\}} であり,
+<kern\_node>はカーンを表すノードそのものである\footnote{%
+バージョン20150420.0以降ではノードのアクセス手法にdirect access
modelを用いている.そのため,例えば\LuaTeX\ beta-0.78.2では,単なる自然数のようにし
か見えないことに注意.
}.
-glueであれば,\texttt{[$j$]=\{false, <spec\_node>, <ratio>, <icflag>\}} である.
-<spec\_node>はglueの長さを表すノードそのものであり,
- $\text{<icflag>}=\textit{from\_jfm}+\text{<priority>}$である.
+ \item グルーであれば,この値は以下のキーを持つテーブルである.
+ \begin{description}
+ \item[\texttt{width}, \texttt{stretch}, \texttt{shrink}]
+ グルーのそれぞれ自然長,伸び量,縮み量をsp単位で表したもの.
+ \item[\texttt{priority}] バ(ージョン2以降の)JFMでの指定 \texttt{\{<stretch>,<shrink>\}} を
+ \[
+ (\text{<stretch>}+4)\cdot 8+\text{<shrink>}+4
+ \]
+ として0--63の整数にパックしたもの.
+ \item[\texttt{ratio}, \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch}, \texttt{kanjiskip\_shrink}]
+ JFM中の同名のフィールドの値がそのまま使われている.
+ \end{description}
\end{itemize}
\item[ascent\textrm{, }descent]
……
\item[chars\_cbcache]
-……
+文字クラス決定の処理で.キャッシュとして使われる.
\end{cslist}
%</ja>
@@ -5434,13 +5026,13 @@ Penalty value for suppressing orphans. This penalty is inserted just
%<*en>
An additional attributes which each character whose character code is <chr\_code> has.
-At the present version, the lowermost bit of <natural number> indicates
+At version~20120506.0 or later, the lowermost bit of <natural number> indicates
whether the character is considered as a punctuation mark
(see the description of \Param{jcharwidowpenalty} above).
%</en>
%<*ja>
文字コードが<chr\_code>の文字が持つ付加的な属性値.
-現在のバージョンでは,<natural number>の最下位ビットが,その文字が句読点と
+バージョン20120506.0以降では,<natural number>の最下位ビットが,その文字が句読点と
みなされるかどうかを表している(上の\Param{jcharwidowpenalty}の記述を参照).
%</ja>
@@ -6106,7 +5698,7 @@ As an example, the example above can be improved as follows:
この文字の後ろに入るグルー等の処理については未定義である
\footnote{%
この命令と同等の内容は,\cs{dirrctlua}の形で\Pkg{ltjsclasses}内で以前から使われていた.
- 一般ユーザでも利用しやすくするため,20170505.0版では新たに命令として定義した.
+ 一般ユーザでも利用しやすくするため,バージョン20170505.0で新たに命令として定義した.
}.
\item \cs{ltjfakeboxbdd}は,実行された箇所が「ボックスの先頭と末尾」であると\LuaTeX-jaの
和文処理グルー挿入処理に認識させる.
@@ -6400,7 +5992,7 @@ character whose character class is zero, instead of `あ'.
「漢」の寸法を元に(本節の最初に述べた,小文字で始まる)\cs{cht}, \cs{cwd}
といった長さ変数を設定する.
-なお,\LaTeX が2015/10/01 版以降の場合は,「あ」「漢」の代わりに
+なお,\LaTeX が2015/10/01版以降の場合は,「あ」「漢」の代わりに
「文字クラス0の和文文字」を用いる.
%</ja>
@@ -6893,6 +6485,7 @@ A demonstrarion is shown in \autoref{fig:altkanji-fontspec}.
%<*en>
\paragraph{Remark on \texttt{AltFont}, \texttt{YokoFeatures}, \texttt{TateFeatures} keys}
+\leavevmode\par
In \texttt{AltFont},~\texttt{YokoFeatures},~\texttt{TateFeatures} keys,
one cannot specify per-shape settings such as \texttt{BoldFeatures}.
For example,
@@ -6962,24 +6555,31 @@ OpenType機能指定は
\subsection{\Pkg{luatexja-otf}}
\label{ssec-ltjotf}
%<*en>
-This optional package supports typesetting characters in
-Adobe-Japan1 character collection
-(or other CID character collection, if the font is supported).
+This optional package supports typesetting glyphs
+by specifying a CID number.
The package \Pkg{luatexja-otf} offers the following 2~low-level
commands:
%</en>
%<*ja>
-この追加パッケージはAdobe-Japan1(フォント自身が持っていれば,
-別のCID文字セットでも可)の文字の出力をサポートする.
+この追加パッケージはCID番号による文字の出力をサポートする.
\Pkg{luatexja-otf}は以下の2つの低レベルコマンドを提供する:
%</ja>
\begin{cslist}
\item[\cs{CID}\{<number>\}]
%<*en>
-Typeset a character whose CID number is <number>.
+Typeset a glyph whose CID number is <number>.
+If the Japanese font is neither Adobe-Japan1,~Adobe-GB1, Adobe-CNS1,~nor~Adobe-Korea1 CID-keyed font,
+\LuaTeX-ja treats that <number> is a CID number of Adobe-Japan1 character collection,
+and tries to typeset a ``most suitable glyph''.
%</en>
%<*ja>
CID番号が<number>の文字を出力する.
+もし現在の和文フォントがAdobe-Japan1,~Adobe-GB1, Adobe-CNS1,~Adobe-Korea1の
+ いずれのCID-keyed fontでもない場合,<number>はAdobe-Japan1のCID番号であると解釈し
+ 「適切なグリフ」\footnote{%
+ 例えばフォントにIVDコレクションAdobe-Japan1が含まれていれば,その情報を用いて
+ グリフを選択する.
+}を出力する.
%</ja>
\item[\cs{UTF}\{<hex\_number>\}]
@@ -7058,34 +6658,6 @@ JFMの\texttt{chars}テーブルのエントリとして \verb+'AJ1-xxx'+ の形
正しく半角幅で組むために利用されている.
%</ja>
-%<*en>
-\paragraph{IVS support}
-Recent fonts support Ideographic Variation Selector (IVS).
-\Pkg{luaotfload} and \Pkg{fontspec} packages used to be not supported IVS,
-so we implemented experimental IVS support in \Pkg{luatexja-otf},
-which is activated by
-\begin{lstlisting}
-\directlua{luatexja.otf.enable_ivs()}
-\end{lstlisting}
-However, recent \Pkg{luaotfload} and \Pkg{fontspec} packages seem to support IVS,
-so we don't execute above command anymore.
-%</en>
-%<*ja>
-\paragraph{IVSサポート}
-最近のOpenTypeフォントやTrueTypeフォントには,
-\texttt{U+E0100}--\texttt{U+E01EF}の範囲の「文字」
-(漢字用異体字セレクタ)を後置することによって
-字形を指定する仕組み(IVS)が含まれている.
-執筆時点の2013年12月では,\Pkg{luaotfload}や\Pkg{fontspec}パッケージ類は
-IVSに対応してはいないようであったため,
-\Pkg{luatexja-otf}パッケージ内に試験的なIVS対応を実装した.これは以下の命令の実行で有効になる:
-\begin{lstlisting}
-\directlua{luatexja.otf.enable_ivs()}
-\end{lstlisting}
-しかし,現在の\Pkg{luaotfload}や\Pkg{fontspec}パッケージは
-IVSに対応しているようであるので,もはや上の命令を実行する必要はない.
-%</ja>
-
\subsection{\Pkg{luatexja-adjust}}
\label{ssec-adj}
\begin{figure}[t]
@@ -7349,27 +6921,15 @@ among the line-head form, the line-middle form, and the line-end form.
\texttt{<z>}\ の他に\ \texttt{<d>}(dtou方向),\texttt{<u>}(utod方向)を追加した.
\texttt{<z>} と \texttt{<u>} の違いは,\texttt{<z>} が(\Pkg{plext} パッケージと同様に)
周囲の組方向が縦組のときにしか意味を持たない
- のに対し,\texttt{<u>} にはそのような制限がないことである.
-
- \item \Pkg{plext} パッケージでは,表組(\texttt{tabular} 環境,\texttt{align} 環境等)や
-\texttt{minipage} 環境,\cs{parbox} 命令において,
-垂直位置指定 \texttt{[t]},~\texttt{[b]} の挙動が非読み込み時と微妙に変わることがあった.
-
-\Pkg{lltjext} パッケージでは,垂直位置指定が\LaTeXe と同様の挙動(以下に示す)に
-なるように修正した.
-\begin{itemize}
- \item \texttt{[t]} オプション指定時は,ボックスのベースラインが中身の1行目のベースライン
- (1行目の上に罫線などが来た時は,ボックスの上端)に一致するように配置する.
- \item \texttt{[b]} オプション指定時は,ボックスのベースラインが中身の最終行のベースライン
- (中身の最後が罫線などの時は,ボックスの下端)に一致するように配置する.
- \item それ以外のときは,ボックスの中央が「数式の軸」に一致するように配置する.
-\end{itemize}
-
+ \footnote{%
+ 周囲の組方向が縦組以外のときは,\texttt{<z>} を指定しても中身の組方向は周囲の組方向と変わらない.
+ }%
+のに対し,\texttt{<u>} にはそのような制限がないことである.
\item 連数字用命令 \cs{rensuji} における位置合わせオプション \texttt{[l]}, \texttt{[c]},
\texttt{[r]} の挙動を若干変更した.
-
\end{itemize}
}
+
%</ja>
%<*en>
\subsection{\texttt{lltjext.sty}}
@@ -7407,7 +6967,7 @@ counterpart of the \Pkg{plext} package.
その際,中身は<pos>の値に従い,左寄せ(\texttt{l}),右揃え(\texttt{r}),
中央揃え(それ以外)される.
\item[picture環境]
-図表作成に用いる \texttt{picture} 環境も,
+図表作成に用いる\texttt{picture}環境も,
\begin{lstlisting}
\begin{picture}<dir>(x_size, y_size)(x_offset,y_offset)
...
@@ -7450,14 +7010,21 @@ the direction inside the environment is same as that outside the enviromnent.
\item[u] \emph{utod} direction
\end{description}
\item[\cs{parbox}\<<dir>\>{[<pos>]}\{<width>\}\{<contents>\}]
-\cs{parbox} command is also extended by \texttt{\<dir\>}.
+\cs{parbox} command is also extended by \texttt{\<<dir>\>}.
\item[\cs{pbox}\<<dir>\>{[<width>][<pos>]}\{<contents>\}]
This commands typeset <contents> in LR-mode, in <dir> direction.
If <width> is positive, the width of the box becomes this <width>.
-In this case, <contents> will be aligned \dots
-
+In this case, <contents> will be aligned to left (when <pos> is \texttt{l}),
+center (\texttt{c}), or~right (\texttt{r}).
+
\item[picture\textrm{\ environment}]
+\texttt{picture} environment also extended by \texttt{\<<dir>\>}, as follows:
+\begin{lstlisting}
+\begin{picture}<dir>(x_size, y_size)(x_offset,y_offset)
+ ...
+\end{picture}
+\end{lstlisting}
\item[\cs{rensuji}{[<pos>]}\{<contents>\}\textrm{, }\cs{rensujiskip}]
@@ -7470,8 +7037,691 @@ In this case, <contents> will be aligned \dots
\end{cslist}
%</en>
+%<*ja>
+\paragraph{表組他の揃え位置}
+表組(\texttt{array}, \texttt{tabular}環境),\cs{parbox}命令,\cs{minipage}環境の
+揃え位置については\autoref{tab:lltjext_dir}を参照.\pLaTeX~2017-07-29と
+できるだけ同じ挙動になるようにしている.\autoref{tab:lltjext_dir}中のA--Dの意味は次の通り.
+
+\begin{table}
+ \caption{\Pkg{lltjext}パッケージにおける表組・\cs{parbox}命令他の揃え位置}
+ \label{tab:lltjext_dir}
+ {\centering
+ \begin{tabular}{lcccc}
+ \toprule
+ ↓中身\周囲→&\cs{yoko}&\cs{tate}&\cs{utod}&\cs{dtou}\\
+ \midrule
+ \cs{yoko}&A&B&B&B\\
+ \cs{tate}&B&A&D&C\\
+ \cs{utod}&B&D&A&C\\
+ \cs{dtou}&B&C&C&A\\
+ \bottomrule
+ \end{tabular}\par}
+\end{table}
+
+\begin{description}
+ \item[A] 周囲の組方向と中身の組方向が同じ場合.
+ \begin{itemize}
+ \item \texttt{[t]}指定のとき:
+ 中身の先頭行のベースラインが周囲のベースラインと一致する.
+ 表組で先頭行の上に罫線があった場合は,それがベースラインの位置
+ \footnote{\LuaTeX-jaでは和文側のベースラインの位置も上下移動できることに注意.
+ そのため「和文ベースライン」の位置に来るとは限らない.}となる.
+ \item \texttt{[c]}指定のとき:
+ 中身の上下の中心が周囲の数式の軸を通る.
+ \item \texttt{[b]}指定のとき:
+ 中身の最終行のベースラインが周囲のベースラインと一致する.
+ 表組で最終行の下に罫線があった場合は,それがベースラインの位置となる.
+ \end{itemize}
+ \item[B] 周囲の組方向と中身の組方向が90度ずれている場合.
+ \begin{itemize}
+ \item \texttt{[t]}指定のとき:
+ 表組においては,上端が周囲のベースラインと一致する.
+ \cs{parbox}や\cs{minipage}環境においては,上端が周囲の和文文字の上端と一致する.
+ \item \texttt{[c]}指定のとき:
+ 中身の上下の中心が周囲の数式の軸を通る.
+ \item \texttt{[b]}指定のとき:
+ 表組においては,下端が周囲のベースラインと一致する.
+ \cs{parbox}や\cs{minipage}環境においては,下端が周囲の和文文字の下端と一致する.
+ \end{itemize}
+ \item[C] 周囲の組方向と中身の組方向が180度ずれている場合.
+ \cs{parbox}や\cs{minipage}環境においては,上のBの場合と同じ挙動である.表組においては,
+ Aで\texttt{[t]}と\texttt{[b]}を入れ替えた
+ \begin{itemize}
+ \item \texttt{[t]}指定のとき:
+ 中身の最終行のベースラインが周囲のベースラインと一致する.
+ 最終行の下に罫線があった場合は,それがベースラインの位置となる.
+ \item \texttt{[c]}指定のとき:
+ 中身の上下の中心が周囲の数式の軸を通る.
+ \item \texttt{[b]}指定のとき:
+ 中身の先頭行のベースラインが周囲のベースラインと一致する.
+ 表組で先頭行の上に罫線があった場合は,それがベースラインの位置となる.
+ \end{itemize}
+ \item[D] 通常の縦組(\cs{tate})と「縦数式ディレクション」に相当する\cs{utod}方向が絡んだ場合.
+ \cs{parbox}や\cs{minipage}環境においては,上のBの場合と同じ挙動である.表組においては,
+ \begin{itemize}
+ \item \texttt{[t]}指定のとき:
+ 中身の先頭行の欧文ベースラインが周囲の欧文ベースラインと一致する.
+ \item \texttt{[c]}指定のとき:
+ 中身の上下の中心が周囲の数式の軸を通る.
+ \item \texttt{[b]}指定のとき:
+ 中身の最終行の欧文ベースラインが周囲の欧文ベースラインと一致する.
+ \end{itemize}
+\end{description}
+%</ja>
+
+\subsection{\Pkg{luatexja-preset}}
+\label{ssec:preset}
+
+%<*en>
+As described in Subsection~\ref{ssec:preset-abst},
+One can load the \Pkg{luatexja-preset}
+package to use several ``presets'' of Japanese fonts.
+This package provides functions in a part of \Pkg{japanese-otf} package (changing fonts)
+and a part of \Pkg{PXchfon} package (presets) by Takayuki Yato.
+
+One can specified other options other than listed below.
+These are simply passed to the \Pkg{luatexja-fontspec}\footnote{if \texttt{nfssonly} option is
+\emph{not} specified; in this case these options are simply ignored.}.
+For example, the line~5 in below example is equivalent to lines 1--3.
+%</en>
+%<*ja>
+\ref{ssec:preset-abst}節で述べたように,よく使われている和文フォント設定を一行で指定できるようにしたのが
+\Pkg{luatexja-preset}パッケージである.このパッケージは,
+\Pkg{otf}パッケージの一部(多書体化)と八登崇之氏による\Pkg{PXchfon}パッケージの一部(プリセット指定)
+とを合わせたような格好をしている.
+
+オプションとして,以下のリストにないものも指定することができるが,それらは
+\Pkg{luatexja-fontspec}パッケージに渡される\footnote{\texttt{nfssonly} オプションが
+指定されていた場合は,\Pkg{luatexja-fontspec}パッケージは読み込まれないので単純に無視され
+る.}.例えば,下の1--3行目は5行目のように一行にまとめることができる.
+%</ja>
+\begin{lstlisting}
+\usepackage[no-math]{fontspec}
+\usepackage[match]{luatexja-fontspec}
+\usepackage[kozuka-pr6n]{luatexja-preset}
+%%--------
+\usepackage[no-math,match,kozuka-pr6n]{luatexja-preset}
+\end{lstlisting}
+
+\begin{cslist}[before*=]
+\item[fontspec%
+%<en>\textrm{~(enabled by default)}
+%<ja>\emph{\gtfamily (既定)}
+]
+%<*en>
+With this option, Japanese fonts are selected using functionality of
+the \Pkg{luatexja-fontspec} package. This means that the \Pkg{fontspec} package is
+ automatically loaded by this package.
+
+If you need to pass some options to \Pkg{fontspec}, you can load \Pkg{fontspec} manually
+before \Pkg{luatexja-preset}:
+%</en>
+%<*ja>
+\Pkg{luatexja-fontspec}パッケージの機能を用いて和文フォントを選択する.
+これは,\Pkg{fontspec}パッケージが自動で読み込まれることを意味する.
+
+もし\Pkg{fontspec}パッケージに何らかのオプションを渡す必要がある
+\footnote{例えば,数式フォントまで置換されてしまい,\cs{mathit}によってギリシャ文字の
+斜体大文字が出なくなる,など.}場合は,
+次のように\Pkg{luatexja-preset}の前に\Pkg{fontspec}を手動で読みこめば良い:
+%</ja>
+\begin{lstlisting}
+\usepackage[no-math]{fontspec}
+\usepackage[...]{luatexja-preset}
+\end{lstlisting}
+
+\item[nfssonly]
+%<*en>
+With this option, selecting Japanese fonts won't be performed using the functionality of
+ the \Pkg{fontspec} package, but only standard NFSS2 (hence without
+ \cs{addjfontfeatures} etc.).
+This option is ignored when \Pkg{luatexja-fontspec} package is loaded.
+
+When this option is specified, \Pkg{fontspec}~and~\Pkg{luatexja-fontspec} are
+\emph{not} loaded by default. Nevertheless,
+the package\Pkg{fontspec} can coexist with the option, as the following:
+\begin{lstlisting}
+\usepackage{fontspec}
+\usepackage[hiragino-pron,nfssonly]{luatexja-preset}
+\end{lstlisting}
+In this case, one can use \cs{setmainfont} etc.\ to select \emph{alphabetic} fonts.
+%</en>
+%<*ja>
+\LaTeX 標準のフォント選択機構(NFSS2)を用いて
+\texttt{ltjpm}(明朝),\texttt{ltjpg}(ゴシック),それに後に述べる \texttt{deluxe} オプ
+ ションが指定された場合には \texttt{ltjpmg}(丸ゴシック)という
+3つの和文フォントファミリを定義し,これらを用いる.
+
+本オプション指定時には\Pkg{fontspec}・\Pkg{luatexja-fontspec}パッケージは
+自動では読み込まれない,しかし,
+\begin{lstlisting}
+\usepackage{fontspec}
+\usepackage[hiragino-pron,nfssonly]{luatexja-preset}
+\end{lstlisting}
+のようにすれば,このオプションを指定すれば
+欧文フォントを\Pkg{fontspec}パッケージの機能を使って指定することができる.
+一方,
+パッケージ読み込み時に既に\Pkg{luatexja-fontspec}パッケージが読み込まれて
+ いる場合は \texttt{nfssonly} オプションは無視される.
+%</ja>
+
+\item[match]
+%<*en>
+If this option is specified, usual family-changing commands such as
+\cs{rmfamily},~\cs{textrm}, \cs{sffamily},~\dots\ also change Japanese font family.
+This option is passed to \Pkg{luatexja-fontspec}, if \texttt{fontspec}
+option is specifed.
+%</en>
+
+%<*ja>
+このオプションが指定されると,「\pLaTeXe 新ドキュメントクラス」のように\
+\cs{rmfamily}, \verb+\textrm{...}+, \cs{sffamily} 等が
+欧文フォントだけでなく和文フォントも変更するようになる.
+\ \texttt{fontspec}\
+オプションが有効になっている場合は,このオプションは \Pkg{luatexja-fontspec} パッケージへと渡される.
+%</ja>
+
+
+\item[nodeluxe%
+%<en>\textrm{~(enabled by default)}
+%<ja>\emph{\gtfamily (既定)}
+]
+%<*en>
+The nagation of \texttt{deluxe} option.
+Use one-weighted \textit{mincho} and \textit{gothic} font families.
+This means that \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+ and
+\verb+\gtfamily\mdseries+ use the same font.
+%</en>
+%<*ja>
+\texttt{deluxe}オプションの否定.
+\LaTeXe 環境下の標準設定のように,明朝体・ゴシック体を各1ウェイトで使用する.
+より具体的に言うと,この設定の下では
+\ \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+,
+\verb+\gtfamily\mdseries+はみな同じフォントとなる.
+%</ja>
+\item[deluxe]
+%<*en>
+Use the mincho family with three weights (light, medium, and~bold),
+the gothic family with three weights (medium, bold, and extra~bold), and \textit{rounded gothic}%
+\footnote{Provided by \cs{mgfamily} and \cs{textmg},
+because ``rounded gothic'' is called \textit{maru gothic} (丸ゴシック) in Japanese.}.
+Mincho light and gothic extra~bold can be by
+\cs{mcfamily}\cs{ltseries}~and~\cs{gtfamily}\cs{ebseries}, respectively.
+
+\begin{itemize}
+ \item Some presets do not have the light weight of mincho.
+ In this case, we substitute the medium weight for the light weight.
+ \item \Pkg{luatexja-preset} does not produce an error (only produces a warning), even if
+ (one of) fonts for \cs{mcfamily}\cs{ltseries}, \cs{gtfamily}\cs{ebseries}, \cs{mgfamily}
+ do not exist.
+\end{itemize}
+%</en>
+%<*ja>
+明朝体・ゴシック体各3ウェイトと,
+丸ゴシック体 (\cs{mgfamily}, \verb+\textmg{...}+) を利用可能にする.
+明朝体は細字・中字・太字の3ウェイトがあり,
+明朝体の細字は \cs{mcfamily}\cs{ltseries} で利用できる.
+また,ゴシック体は中字・太字・極太の3ウェイトがあり,
+ゴシック体の極太は \cs{gtfamily}\cs{ebseries} で利用できる%
+\footnote{過去との互換性のため,\cs{gtebfamily}, \cs{textgteb\{...\}} も
+ 依然として利用可能である.}.
+
+\begin{itemize}
+ \item プリセット設定によっては明朝体細字が用意されていないものもある.その場合は
+ 明朝体中字が代用される.
+ \item 明朝体細字,ゴシック体極太,丸ゴシック体の3フォントについては
+ 実際にフォントをロードする前に存在するかチェックを行う.
+ 存在しなかったものについては警告を発し,
+ それぞれ明朝体中字.ゴシック体太字,ゴシック体太字で代用する.
+\end{itemize}
+%</ja>
+\item[expert]
+%<*en>
+Use horizontal/vertical kana alternates, and define a command \cs{rubyfamily} to use kana
+characters designed for ruby.
+%</en>
+%<*ja>
+横組・縦組専用仮名を用いる.また,\cs{rubyfamily} でルビ用仮名が使用可能となる\footnote{%
+ \cs{rubyfamily}とはいいつつ,実際にはフォントファミリを切り替えるのではない(通常では
+ font featureの追加,\texttt{nfssonly} 指定時にはシェイプを \texttt{rb} に切り替え).
+}.
+%</ja>
+\item[bold]
+%<*en>
+Substitute bold series of gothic for bold series of mincho.
+If \texttt{nodeluxe} option is enabled, medium series of gothic is also changed,
+since we use same font for both series of gothic.
+%</en>
+%<*ja>
+「明朝の太字」をゴシック体の太字によって代替する.
+もし\texttt{nodeluxe}オプションが指定されている場合は,ゴシック体は1ウェイトしか使用されな
+ いため,
+「ゴシック体の中字」も同時に変更されることになる.
+%</ja>
+\item[90jis]
+%<en>Use 90JIS glyph variants if possible.
+%<ja>出来る限り90JISの字形を使う.
+\item[jis2004]
+%<en>Use JIS2004 glyph variants if possible.
+%<ja>出来る限りJIS2004の字形を使う.
+\item[jfm\_yoko=<jfm>]
+%<*en>
+Use the JFM \texttt{jfm-<jfm>.lua} for horizontal direction, instead of \texttt{jfm-ujis.lua}~(default JFM).
+%</en>
+%<*ja>
+横組用和文フォントで用いるJFMを\texttt{jfm-<jfm>.lua}にする.このオプションがない時は
+\LuaTeX\nobreakdash -ja標準の\texttt{jfm-ujis.lua}が用いられる.
+%</ja>
+\item[jfm\_tate=<jfm>]
+%<*en>
+Use the JFM \texttt{jfm-<jfm>.lua} for vertical direction, instead of \texttt{jfm-ujisv.lua}~(default JFM).
+%</en>
+%<*ja>
+縦用和文フォントで用いるJFMを\texttt{jfm-<jfm>.lua}にする.このオプションがない時は
+\LuaTeX-ja標準の\texttt{jfm-ujisv.lua}が用いられる.
+%</ja>
+
+\item[jis]
+%<en>Same as \texttt{jfm\_yoko=jis}.
+%<ja>\texttt{jfm\_yoko=jis}と同じ.ここで用いるJFM\texttt{jfm-jis.lua}はJISフォントメトリックを元にしたものである.
+
+\end{cslist}
+%<*en>
+Note that \texttt{90jis} and \texttt{jis2004} only affect with mincho,
+gothic (and, possibly rounded gothic) families defined by this package.
+We didn't taken account of when both \texttt{90jis} and \texttt{jis2004} are specified.
+%</en>
+%<*ja>
+\texttt{90jis}と\texttt{jis2004}については本パッケージで定義された
+明朝体・ゴシック体(・丸ゴシック体)にのみ有効である.
+両オプションが同時に指定された場合の動作については全く考慮していない.
+%</ja>
+
+%<en>\paragraph{Presets for multi weight}
+%<ja>\paragraph{多ウェイト用プリセットの一覧}
+%<*en>
+Besides \texttt{morisawa-pro}~and~\texttt{morisawa-pr6n} presets,
+fonts are specified by font name, not by file name.
+In following tables, starred fonts (e.g.~KozGo\dots-Regular) are used for medium series of \textit{gothic},
+\emph{if and only if \texttt{deluxe} option is specified}.
+%</en>
+%<*ja>
+\texttt{morisawa-pro}, \texttt{morisawa-pr6n}以外はフォントの指定は
+(ファイル名でなく)フォント名で行われる.
+以下の表において,*\,つきのフォント(e.g.,~KozGo\dots-Regular)は,\emph{\texttt{deluxe}オプション指定時に}
+ゴシック体中字として用いられるものを示している.
+%</ja>
+\begin{cslist}[style=standard]
+ \item[kozuka-pro] Kozuka Pro (Adobe-Japan1-4) fonts.
+%<en> \\*[-\dimexpr\medskipamount+\baselineskip\relax]
+ \item[kozuka-pr6] Kozuka Pr6 (Adobe-Japan1-6) fonts.
+%<en> \\*[-\dimexpr\medskipamount+\baselineskip\relax]
+ \item[kozuka-pr6n] Kozuka Pr6N (Adobe-Japan1-6, JIS04-savvy) fonts.
+
+%<*en>
+Kozuka Pro/Pr6N fonts are bundled with Adobe's software, such as Adobe~InDesign.
+There is not rounded gothic family in Kozuka fonts.
+%</en>
+%<*ja>
+小塚Pro書体・Pr6N書体はAdobe InDesign等のAdobe製品にバンドルされている.
+「小塚丸ゴシック」は存在しないので,便宜的に小塚ゴシックHによって代用している.
+%</ja>
+\begin{center}\small
+\begin{tabular}{lllll}
+\toprule
+\bfseries family&\bfseries series&\ttfamily kozuka-pro&\ttfamily kozuka-pr6&\ttfamily kozuka-pr6n\\
+\midrule
+ &light&KozMinPro-Light&KozMinProVI-Light&KozMinPr6N-Light\\
+%<en>\textit{mincho}%
+%<ja>\textgt{明朝}%
+ &medium&KozMinPro-Regular&KozMinProVI-Regular&KozMinPr6N-Regular\\
+ &bold&KozMinPro-Bold&KozMinProVI-Bold&KozMinPr6N-Bold\\
+\midrule
+ &&KozGoPro-Regular*&KozGoProVI-Regular*&KozGoPr6N-Regular*\\
+ &\smash{\raisebox{1.5ex}{medium}}
+ &KozGoPro-Medium&KozGoProVI-Medium&KozGoPr6N-Medium\\
+\cmidrule(l){2-5}
+%<en>\smash{\raisebox{2ex}{\textit{gothic}}}%
+%<ja>\smash{\raisebox{2ex}{\gt ゴシック}}%
+ &bold&KozGoPro-Bold&KozGoProVI-Bold&KozGoPr6N-Bold\\
+ &extra bold&KozGoPro-Heavy&KozGoProVI-Heavy&KozGoPr6N-Heavy\\
+\midrule
+%<en>\textit{rounded gothic}
+%<ja>\gt 丸ゴシック
+&&KozGoPro-Heavy&KozGoProVI-Heavy&KozGoPr6N-Heavy\\
+\bottomrule
+\end{tabular}
+\end{center}
+%<en>\newpage
+ \item[hiragino-pro] Hiragino Pro (Adobe-Japan1-5) fonts.
+%<en> \\*[-\dimexpr\medskipamount+\baselineskip\relax]
+ \item[hiragino-pron] Hiragino ProN (Adobe-Japan1-5, JIS04-savvy) fonts.
+%<*en>
+Hiragino fonts (except Hiragino~Mincho~W2) are bundled with Mac OS~X 10.5 or later.
+Some editions of a Japanese word-processor ``一太郎2012'' includes Hiragino ProN fonts.
+Note that fonts for gothic extra~bold (HiraKakuStd[N]-W8) only contains characters in
+Adobe-Japan1-3 character collection, while others contains those in
+Adobe-Japan1-5 character collection.
+%</en>
+%<*ja>
+ヒラギノフォントは,Mac OS~X以外にも,一太郎2012の上位エディションにもバンドルされている.
+極太ゴシック体として用いるヒラギノ角ゴW8は,Adobe-Japan1-3の範囲しかカバーしていない
+Std/StdNフォントであり,その他はAdobe-Japan1-5対応である.
+
+なお,明朝体細字として用いるヒラギノ明朝体W2はOS~Xや一太郎にはバンドルされておらず,
+別途購入する必要がある.
+%</ja>
+\begin{center}\small
+\begin{tabular}{llll}
+\toprule
+\bf family&\bf series&\tt hiragino-pro&\tt hiragino-pron\\
+\midrule
+ &light&Hiragino~Mincho~Pro~W2&Hiragino~Mincho~ProN~W2\\
+%<en>\textit{mincho}%
+%<ja>\textgt{明朝}%
+ &medium&Hiragino~Mincho~Pro~W3&Hiragino~Mincho~ProN~W3\\
+ &bold&Hiragino~Mincho~Pro~W6&Hiragino~Mincho~ProN~W6\\
+\midrule
+ &&Hiragino~Kaku~Gothic~Pro~W3*&Hiragino~Kaku~Gothic~ProN~W3*\\
+ &\smash{\raisebox{1.5ex}{medium}}
+ &Hiragino~Kaku~Gothic~Pro~W6&Hiragino~Kaku~Gothic~ProN~W6\\
+\cmidrule(l){2-4}
+%<en>\smash{\raisebox{2ex}{\textit{gothic}}}%
+%<ja>\smash{\raisebox{2ex}{\gt ゴシック}}%
+ &bold&Hiragino~Kaku~Gothic~Pro~W6&Hiragino~Kaku~Gothic~ProN~W6\\
+ &extra bold&Hiragino~Kaku~Gothic~Std~W8&Hiragino~Kaku~Gothic~StdN~W8\\
+\midrule
+%<en>\textit{rounded gothic}
+%<ja>\gt 丸ゴシック
+&&Hiragino~Maru~Gothic~Pro~W4&Hiragino~Maru~Gothic~ProN~W4\\
+\bottomrule
+\end{tabular}
+\end{center}
+
+ \item[morisawa-pro] Morisawa Pro (Adobe-Japan1-4) fonts.
+%<en> \\*[-\dimexpr\medskipamount+\baselineskip\relax]
+ \item[morisawa-pr6n] Morisawa Pr6N (Adobe-Japan1-6, JIS04-savvy) fonts.
+\begin{center}\small
+\begin{tabular}{ll>{\tt}l>{\tt}l}
+\toprule
+\bf family&\bf series&morisawa-pro&morisawa-pr6n\\
+\midrule
+ &medium&A-OTF-RyuminPro-Light.otf&A-OTF-RyuminPr6N-Light.otf\\
+%<en>\smash{\raisebox{1.5ex}{\textit{mincho}}}%
+%<ja>\smash{\raisebox{1.5ex}{\gt 明朝}}%
+ &bold&A-OTF-FutoMinA101Pro-Bold.otf&A-OTF-FutoMinA101Pr6N-Bold.otf\\
+\midrule
+ &medium
+ &A-OTF-GothicBBBPro-Medium.otf&A-OTF-GothicBBBPr6N-Medium.otf\\
+%<en>\textit{gothic}%
+%<ja>\gt ゴシック
+ &bold&A-OTF-FutoGoB101Pro-Bold.otf&A-OTF-FutoGoB101Pr6N-Bold.otf\\
+ &extra bold&A-OTF-MidashiGoPro-MB31.otf&A-OTF-MidashiGoPr6N-MB31.otf\\
+\midrule
+%<en>\textit{rounded gothic}
+%<ja>\gt 丸ゴシック
+&&A-OTF-Jun101Pro-Light.otf&A-OTF-ShinMGoPr6N-Light.otf\\
+\bottomrule
+\end{tabular}
+\end{center}
+
+
+ \item[yu-win] Yu fonts bundled with Windows~8.1.
+%<en> \\*[-\dimexpr\medskipamount+\baselineskip\relax]
+ \item[yu-win10] Yu fonts bundled with Windows~10.
+%<en> \\*[-\dimexpr\medskipamount+\baselineskip\relax]
+ \item[yu-osx] Yu fonts bundled with OSX~Mavericks.
+\begin{center}\small
+\begin{tabular}{lllll}
+\toprule
+\bf family&\bf series&\texttt{yu-win}&\texttt{yu-win10}&\texttt{yu-osx}\\
+\midrule
+ &light&YuMincho-Light&YuMincho-Light&(YuMincho~Medium)\\
+%<en>\textit{mincho}%
+%<ja>\textgt{明朝}%
+ &medium&YuMincho-Regular&YuMincho-Regular&YuMincho~Medium\\
+ &bold&YuMincho-Demibold&YuMincho-Demibold&YuMincho~Demibold\\
+\midrule
+ &&YuGothic-Regular*&YuGothic-Regular*&YuGothic~Medium*\\
+ &\smash{\raisebox{1.5ex}{medium}}%
+ &YuGothic-Regular&YuGothic-Medium&YuGothic~Medium\\
+\cmidrule(l){2-5}
+%<en>\textit{gothic}%
+%<ja>\gt ゴシック
+ &bold&YuGothic-Bold&YuGothic-Bold&YuGothic~Bold\\
+ &extra bold&YuGothic-Bold&YuGothic-Bold&YuGothic~Bold\\
+\midrule
+%<en>\textit{rounded gothic}
+%<ja>\gt 丸ゴシック
+&&YuGothic-Bold&YuGothic-Bold&YuGothic~Bold\\
+\bottomrule
+\end{tabular}
+\end{center}
+
+\item[moga-mobo] MogaMincho, MogaGothic, and MoboGothic.
+%<en> \\*[-\dimexpr\medskipamount+\baselineskip\relax]
+\item[moga-mobo-ex] MogaExMincho, MogaExGothic, and MoboExGothic.
+%<en>\par These fonts can be downloaded from \url{http://yozvox.web.fc2.com/}.
+%<ja>これらのフォントは \url{http://yozvox.web.fc2.com/} からダウンロードできる.
+\begin{center}\small
+\begin{tabular}{llll}
+\toprule
+\bf family&\bf series&\bf default, \texttt{90jis}~option&\bf \texttt{jis2004} option\\
+\midrule
+ &medium&Moga90Mincho&MogaMincho\\
+%<en>\smash{\raisebox{1.5ex}{\textit{mincho}}}%
+%<ja>\smash{\raisebox{1.5ex}{\gt 明朝}}%
+ &bold&Moga90Mincho Bold&MogaMincho Bold\\
+\midrule
+ &medium&Moga90Gothic&MogaGothic\\
+%<en>\textit{gothic}%
+%<ja>\gt ゴシック
+ &bold&Moga90Gothic Bold&MogaGothic Bold\\
+ &extra bold&Moga90Gothic Bold&MogaGothic Bold\\
+\midrule
+%<en>\textit{rounded gothic}
+%<ja>\gt 丸ゴシック
+&&Mobo90Gothic&MoboGothic\\
+\bottomrule
+\end{tabular}
+\end{center}
+%<en>When \texttt{moga-mobo-ex} is specified, the font ``MogaEx90Mincho'' etc.\ are used.
+%<ja>\texttt{moga-mobo-ex}オプション指定時にはMogaEx90MinchoなどのExが名前についたフォントが使われる.
+
+\item[ume] Ume Mincho and Ume Gothic.
+%<en>\par These fonts can be downloaded from\\\hfill \url{https://ja.osdn.net/projects/ume-font/wiki/FrontPage}.
+%<ja>これらのフォントは \url{https://ja.osdn.net/projects/ume-font/wiki/FrontPage} からダウンロードできる.
+\begin{center}\small
+\begin{tabular}{lll}
+\toprule
+\bf family&\bf series&\bf default\\
+\midrule
+ &medium&Ume Mincho\\
+%<en>\smash{\raisebox{1.5ex}{\textit{mincho}}}%
+%<ja>\smash{\raisebox{1.5ex}{\gt 明朝}}%
+ &bold&Ume Mincho\\
+\midrule
+ &&Ume Gothic*\\
+ &\smash{\raisebox{1.5ex}{medium}}&Ume Gothic O5\\
+\cmidrule(l){2-3}
+%<en>\textit{gothic}%
+%<ja>\gt ゴシック
+ &bold&Ume Gothic O5\\
+ &extra bold&Ume Gothic O5\\
+\midrule
+%<en>\textit{rounded gothic}
+%<ja>\gt 丸ゴシック
+&&Ume Gothic O5\\
+\bottomrule
+\end{tabular}
+\end{center}
+
+ \item[sourcehan] Source Han Serif and Source Han Sans fonts (Language-specific OTF \textit{or} OTC)
+%<en> \\*[-\dimexpr\medskipamount+\baselineskip\relax]
+ \item[sourcehan-jp] Source Han Serif JP and Source Han Sans JP fonts (Region-specific Subset OTF)
+\begin{center}\small
+\def\AD#1#2{Source Han #1 #2&Source Han #1 JP #2}%
+\begin{tabular}{lllll}
+\toprule
+\bf family&\bf series&\texttt{sourcehan}&\texttt{sourcehan-jp}\\
+\midrule
+ &light&\AD{Serif}{Light}\\
+%<en>\textit{mincho}%
+%<ja>\textgt{明朝}%
+ &medium&\AD{Serif}{Regular}\\
+ &bold&\AD{Serif}{Bold}\\
+\midrule
+ &&\AD{Sans}{Regular*}\\
+ &\smash{\raisebox{1.5ex}{medium}}
+ &\AD{Sans}{Medium}\\
+\cmidrule(l){2-4}
+%<en>\smash{\raisebox{2ex}{\textit{gothic}}}%
+%<ja>\smash{\raisebox{2ex}{\gt ゴシック}}%
+ &bold&\AD{Sans}{Bold}\\
+ &extra bold&\AD{Sans}{Heavy}\\
+\midrule
+%<en>\textit{rounded gothic}
+%<ja>\gt 丸ゴシック
+&&\AD{Sans}{Heavy}\\
+\bottomrule
+\end{tabular}
+\end{center}
+
+
+ \item[noto-otc] Noto Serif CJK and Noto Sans CJK fonts (OTC)
+%<en> \\*[-\dimexpr\medskipamount+\baselineskip\relax]
+ \item[noto-otf] Noto Serif CJK and Noto Sans CJK fonts (Language-specific OTF)
+\begin{center}\small
+\def\AD#1#2{Noto #1 CJK #2&Noto #1 CJK JP #2}%
+\begin{tabular}{lllll}
+\toprule
+\bf family&\bf series&\texttt{noto-otc}&\texttt{noto-otf}\\
+\midrule
+ &light&\AD{Serif}{Light}\\
+%<en>\textit{mincho}%
+%<ja>\textgt{明朝}%
+ &medium&\AD{Serif}{Regular}\\
+ &bold&\AD{Serif}{Bold}\\
+\midrule
+ &&\AD{Sans}{Regular*}\\
+ &\smash{\raisebox{1.5ex}{medium}}
+ &\AD{Sans}{Medium}\\
+\cmidrule(l){2-4}
+%<en>\smash{\raisebox{2ex}{\textit{gothic}}}%
+%<ja>\smash{\raisebox{2ex}{\gt ゴシック}}%
+ &bold&\AD{Sans}{Bold}\\
+ &extra bold&\AD{Sans}{Black}\\
+\midrule
+%<en>\textit{rounded gothic}
+%<ja>\gt 丸ゴシック
+&&\AD{Sans}{Black}\\
+\bottomrule
+\end{tabular}
+\end{center}
+
+
+
+\end{cslist}
+%<en>\paragraph{Presets for single weight}
+%<ja>\paragraph{単ウェイト用プリセット一覧}
+%<*en>
+Next, we describe settings for using only single weight.
+%</en>
+%<*ja>
+次に,単ウェイト用の設定を述べる.この4設定では
+明朝体太字・丸ゴシック体はゴシック体と同じフォントが用いられる.
+%</ja>
+\par\nobreak\medskip
+{\centering\small
+\begin{tabular}{lllll}
+\toprule
+&\tt noembed&\tt ipa&\tt ipaex&\tt ms\\
+\midrule
+%<*en>
+\it mincho&Ryumin-Light (non-embedded)
+&IPA Mincho&IPAex Mincho&MS Mincho\\
+\it gothic&GothicBBB-Medium (non-embedded)
+&IPA Gothic&IPAex Gothic&MS Gothic\\
+%</en>
+%<*ja>
+\gtfamily 明朝体&Ryumin-Light(非埋込)
+&IPA明朝&IPAex明朝&MS明朝\\
+\gtfamily ゴシック体&GothicBBB-Medium(非埋込)
+&IPAゴシック&IPAexゴシック&MSゴシック\\
+%</ja>
+\bottomrule
+\end{tabular}\par\medskip}
+
+%<en>\paragraph{Using HG fonts}
+%<ja>\paragraph{HGフォントの利用}
+%<*en>
+We can use HG~fonts bundled with Microsoft~Office for realizing multiple weights.
+In the table below, starred fonts (e.g., IPA~Gothic*) are used
+only if \texttt{jis2004} or \texttt{nodeluxe} option is spefified.
+%</en>
+%<*ja>
+すぐ前に書いた単ウェイト用設定を,Microsoft Office等に付属するHGフォントを使って
+多ウェイト化した設定もある.以下の表では,*~付きのフォント(例:IPAゴシック*)は
+\texttt{jis2004}と\texttt{nodeluxe}のいずれかのオプションが有効になっているときに使われる.
+%</ja>
+\par\nobreak\medskip
+{\centering\small
+\begin{tabular}{lllll}
+\toprule
+\textbf{family}&\textbf{series}&\tt ipa-hg&\tt ipaex-hg&\tt ms-hg\\
+\midrule
+%<*en>
+&medium&IPA Mincho&IPAex Mincho&MS Mincho\\
+\smash{\raisebox{1.5ex}{\textit{mincho}}}%
+&bold&HG Mincho E&HG Mincho E&HG Mincho E\\\midrule
+&&IPA Gothic*&IPAex Gothic*&MS Gothic*\\
+&\smash{\raisebox{1.5ex}{medium}}%
+&HG Gothic M&HG Gothic M&HG Gothic M\\\cmidrule{2-5}
+\textit{gothic}&bold&HG Gothic E&HG Gothic E&HG Gothic E\\\cmidrule{2-5}
+&extra bold&HG Soei Kaku Gothic UB&HG Soei Kaku Gothic UB&HG Soei Kaku Gothic UB\\\midrule
+\textit{rounded gothic}&&
+HG MaruGothic M PRO&HG MaruGothic M PRO&HG MaruGothic M PRO\\
+%</en>
+%<*ja>
+&medium&IPA明朝&IPAex明朝&MS明朝\\
+\smash{\raisebox{1.5ex}{\textgt{明朝体}}}%
+&bold&HG明朝E&HG明朝E&HG明朝E\\\midrule
+&&IPAゴシック*&IPAexゴシック*&MSゴシック*\\
+&\smash{\raisebox{1.5ex}{medium}}%
+&HGゴシックM&HGゴシックM&HGゴシックM\\\cmidrule{2-5}
+\textgt{ゴシック体}&bold&HGゴシックE&HGゴシックE&HGゴシックE\\\cmidrule{2-5}
+&extra bold&HG創英角ゴシックUB&HG創英角ゴシックUB&HG創英角ゴシックUB\\\midrule
+\textgt{丸ゴシック体}&&
+HG丸ゴシックM-PRO&HG丸ゴシックM-PRO&HG丸ゴシックM-PRO\\
+%</ja>
+\bottomrule
+\end{tabular}\par\medskip}
+
+%<*en>
+Note that HG~Mincho~E, HG~Gothic~E, HG Soei Kaku Gothic UB, and HG Maru Gothic PRO
+are internally specified by:
+\begin{description}
+\item[default] by font name (\texttt{HGMinchoE}, etc.).
+\item[{\tt 90jis}] by file name (\texttt{hgrme.ttc}, \texttt{hgrge.ttc}, \texttt{hgrsgu.ttc}, \texttt{hgrsmp.ttf}).
+\item[{\tt jis2004}] by file name (\texttt{hgrme04.ttc}, \texttt{hgrge04.ttc}, \texttt{hgrsgu04.ttc}, \texttt{hgrsmp04.ttf}).
+\end{description}
+%</en>
+%<*ja>
+なお,HG明朝E・HGゴシックE・HG創英角ゴシックUB・HG丸ゴシック体PROの4つについては,内部で
+\begin{description}
+\item[標準] フォント名(\texttt{HGMinchoE} など)
+\item[{\tt 90jis}指定時] ファイル名 (%
+\texttt{hgrme.ttc}, \texttt{hgrge.ttc}, \texttt{hgrsgu.ttc}, \texttt{hgrsmp.ttf})
+\item[{\tt jis2004}指定時] ファイル名 (%
+\texttt{hgrme04.ttc}, \texttt{hgrge04.ttc}, \texttt{hgrsgu04.ttc}, \texttt{hgrsmp04.ttf})
+\end{description}
+として指定を行っているので注意すること.
+%</ja>
+
+\clearpage
%<en>\part{Implementations}
%<ja>\part{実装}
\label{part-imp}
@@ -7787,7 +8037,7 @@ for its label before the actual contents. So \dots
%</en>
%<*ja>
「段落の開始」を意味するノード.
-list環境,itemize環境などにおいて,\cs{item} で始まる各項目は……
+\texttt{list}環境,\texttt{itemize}環境などにおいて,\cs{item} で始まる各項目は……
%</ja>
\item[\textit{direction}]
@@ -7803,7 +8053,7 @@ These whatsits will be removed during the process of inserting \textbf{JAglue}s.
%<en>\subsection{Stack system of \LuaTeX-ja}
%<ja>\subsection{\LuaTeX-jaのスタックシステム}
-\label{ssec-stack}
+\label{ssec:stack}
%<en>\paragraph{Background}
%<ja>\paragraph{背景}
@@ -7827,7 +8077,7 @@ source:
\end{LTXexample}
%<*en>
-As described in Subsection~\ref{ssec-param}, the only effective value of
+As described in Subsection~\ref{ssec:param}, the only effective value of
\Param{kanjiskip} in an hbox is the latest value, so the value of
\Param{kanjiskip} which applied in the entire hbox should be 5\,pt.
However, by the implementation method of \LuaTeX, this ``5\,pt'' cannot be
@@ -7835,7 +8085,7 @@ known from any callbacks. In the \texttt{tex/packaging.w}, which is a
file in the source of \LuaTeX, there are the following codes:
%</en>
%<*ja>
-\ref{ssec-param}節で述べたように,あるhboxの中で効力を持つ
+\ref{ssec:param}節で述べたように,あるhboxの中で効力を持つ
\Param{kanjiskip}の値は最後に現れた値のみであり,したがってボックス全体に適用される
\Param{kanjiskip}は5\,ptであるべきである.しかし,\LuaTeX の実
装を観察すると,この5\,ptという長さはどのコールバックからも知ることはできないことがわかる.
@@ -8132,7 +8382,7 @@ function luatexja.unary_pars.hoge (t)
end
\end{lstlisting}
Here the argument of \verb+luatexja.unary_pars.hoge+ is
-the stack level of \LuaTeX-ja's stack system (see Subsection~\ref{ssec-stack}).
+the stack level of \LuaTeX-ja's stack system (see Subsection~\ref{ssec:stack}).
On the other hand, for parameters that need an additional argument
(this must be an integer), one have to define a function in
@@ -8163,7 +8413,7 @@ function luatexja.unary_pars.hoge (t)
end
\end{lstlisting}
を実行すると,\verb+\ltjgetparameter{hoge}+ は \texttt{42} という\emph{文字列}を返す.
-関数 \verb+luatexja.unary_pars.hoge+ の引数$t$は,\ref{ssec-stack}節で述べた
+関数 \verb+luatexja.unary_pars.hoge+ の引数$t$は,\ref{ssec:stack}節で述べた
\LuaTeX-jaのスタックシステムにおけるスタックレベルである.
戻り値はいかなる値であっても,最終的には文字列として出力されることに注意.
@@ -8475,6 +8725,8 @@ u
\def\OA{$\text{\sf O}_{\text{\sf A}}$}
\def\OB{$\text{\sf O}_{\text{\sf B}}$}
+\def\NA{$\text{\sf N}_{\text{\sf A}}$}
+\def\NB{$\text{\sf N}_{\text{\sf B}}$}
\begin{defn}
%<*en>
A \emph{cluster} is consecutive nodes in one of the following forms,
@@ -8669,7 +8921,7 @@ JFMグルーの挿入が行われない(\Param{xkanjiskip},~\Param{kanjiskip}
\item[欧文] リスト中に直接/hboxの中身として出現している「\textbf{JAchar}以外の文字」.次の3つの場合が該当:
\begin{itemize}
\item \textit{id}が\textit{id\_glyph}である.
-\item \textit{id}が\textit{id\_math}である.
+\item \textit{id}が\textit{id\_math}である(つまりこのクラスタは1つの文中数式をなす).
\item \textit{id}が\textit{id\_pbox}か\textit{id\_hlist}か\textit{id\_disc}であって,$\mathit{Np}.\mathit{head}$が\textbf{ALchar}.
\end{itemize}
\item[箱] box,またはそれに類似するもの.次の2つが該当:
@@ -8725,7 +8977,7 @@ $g$は「文字コード \texttt{'boxbdd'} の文字」と\textit{Np}の間に
\Param{kcatcode}の最下位ビットはこの\Param{jcharwidowpenalty}用にのみ利用される.}.
\subsection{概観と典型例:2つの「和文A」の場合}
-\label{ssec-cluster-wa}
+\label{ssec:cluster-wa}
先に述べたように,2つの隣り合ったクラスタ,\textit{Nq}と\textit{Np}の間には,
ペナルティ,\cs{vadjust},whatsitなど,行組版には関係しないものがある.模式的に表すと,
\[
@@ -8891,7 +9143,7 @@ $a$は禁則処理用に\textit{Nq}と\textit{Np}の間に加えられるべき
\sf 和文A&
\gkf{E}{M→K}{PN}&
\gkf{---}{\OA →K}{PN}&
-\gkf{---}{\OA →X}{PN}&
+\gkf{---}{\NA →X}{PN}&
\gkf{---}{\OA}{PA}&
\gkf{---}{\OA}{PN}&
\gkf{---}{\OA}{PS}\\
@@ -8900,7 +9152,7 @@ $a$は禁則処理用に\textit{Nq}と\textit{Np}の間に加えられるべき
\gkf{---}{K}{PS}&
\gkf{---}{X}{PS}\\
\sf 欧文&
-\gkf{E}{\OB →X}{PA}&
+\gkf{E}{\NB →X}{PA}&
\gkf{---}{X}{PS}\cr
\sf 箱&\gkf{E}{\OB}{PA}\\
\sf glue&\gkf{E}{\OB}{PN}\\
@@ -8951,21 +9203,29 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
\paragraph{和文Aと欧文の間}
\textit{Nq}が\textsf{和文A}で,\textit{Np}が\textsf{欧文}の場合,JFMグルー挿入処理は次のようにして行われる.
\begin{itemize}
-\item 「右空白」については,まず以下に述べる\textsf{Boundary-B~[\OB]}により空白を決定しようと試みる.
+\item 「右空白」については,まず以下に述べる\textsf{欧文境界B~[\NB]}により空白を決定しようと試みる.
それが失敗した場合は,\textsf{\Param{xkanjiskip}~[X]}によって定める.
%\item 「左空白」については,既に述べた\textsf{line-end~[E]}をそのまま採用する.それに伴う「右空白」の補正も%同じ.
\item 禁則用ペナルティも,以前述べた\textsf{P-normal~[PN]}と同じである.
\end{itemize}
\begin{description}
-\item[Boundary-B~{[\OB]}] \textbf{JAchar}と「\textbf{JAchar}でないもの」との間に入る空白を以下によって求め,
-未定義でなければそれを「右空白」として採用する.
-\textsf{JFM-origin~[M]}の変種と考えて良い.
-これによって定まる空白の典型例は,和文の閉じ括弧と欧文文字の間に入る半角アキである.
+\item[欧文境界B~{[\NB]}] 以下で求めた量を「右空白」として採用する.
+この処理は\textsf{JFM-origin~[M]}の変種と考えて良く,
+典型例は「和文の閉じ括弧と欧文文字の間に入る半角アキ」である.
\begin{enumerate}
\item もし両クラスタの間で \cs{inhibitglue} が実行されていた場合%
-(証としてwhatsitノードが自動挿入される),「右空白」は未定義.
+(証としてwhatsitノードが自動挿入される),未定義.
\item そうでなければ,
-\textit{Nq}と「文字コードが {\tt'jcharbdd'} の文字」との間に入るグルー/カーンとして定まる.
+\textit{Nq}と「文字コードが$x$の文字」との間に入るグルー/カーンとする.
+この$x$は次の場合分けによる:
+ \begin{itemize}
+ \item $\mathit{Np}.\mathit{id}$が\textit{id\_math}のとき(つまりクラスタ\textit{Np}が文中数式を表す)
+ ときは,$x=-1$.
+ \item \textit{Np}の中身の中身の文字コードについて,「直前への\Param{xkanjiskip}の挿入」が禁止されている
+(つまり,\Param{jaxspmode}~(or \Param{alxspmode})パラメタが偶数)ときは,
+ $x=\text{\texttt{'nox\_alchar'}}$.
+ \item 以上のいずれでもないときは,$x=\text{\texttt{'alchar'}}$.
+ \end{itemize}
\end{enumerate}
\item[\Param{xkanjiskip}~{[X]}]
この段階では,\textsf{\Param{kanjiskip}~[K]}のときと同じように,
@@ -8989,22 +9249,29 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
\paragraph{欧文と和文Aの間}
\textit{Nq}が\textsf{欧文}で,\textit{Np}が\textsf{和文A}の場合,JFMグルー挿入処理は上の場合とほぼ同じである.
-\textsf{和文A}のクラスタが逆になるので,\textsf{Boundary-A~[\OA]}の部分が変わるだけ.
+\textsf{和文A}のクラスタが逆になるので,\textsf{欧文境界B~[\NB]}の部分が変わるだけである.
\begin{itemize}
-\item 「右空白」については,まず以下に述べる\textsf{Boundary-A~[\OA]}により空白を決定しようと試みる.
+\item 「右空白」については,まず以下に述べる\textsf{欧文境界A~[\OA]}により空白を決定しようと試みる.
それが失敗した場合は,\textsf{\Param{xkanjiskip}~[X]}によって定める.
%\item \textit{Nq}が和文でないので,「左空白」は算出されない.
\item 禁則用ペナルティは,以前述べた\textsf{P-normal~[PN]}と同じである.
\end{itemize}
\begin{description}
-\item[Boundary-A~{[\OA]}] 「\textbf{JAchar}でないもの」と\textbf{JAchar}との間に入る空白を以下によって求め,
-未定義でなければそれを「右空白」として採用する.
-\textsf{JFM-origin~[M]}の変種と考えて良い.
-これによって定まる空白の典型例は,欧文文字と和文の開き括弧との間に入る半角アキである.
+\item[欧文境界A~{[\NA]}] これは\textsf{欧文境界B~[\NB]}で\textit{Np}と\textit{Nq}の役割が
+ 交換されたものと思えば良い.
+ この処理で定まる空白の典型例は,欧文文字と和文の開き括弧との間に入る半角アキである.
\begin{enumerate}
-\item もし両クラスタの間で \cs{inhibitglue} が実行されていた場合(証としてwhatsitノードが自動挿入される),次へ.
+\item もし両クラスタの間で \cs{inhibitglue} が実行されていた場合(証としてwhatsitノードが自動挿入される),
+ 未定義.
\item そうでなければ,
-「文字コードが {\tt'jcharbdd'} の文字」と\textit{Np}との間に入るグルー/カーンとして定まる.
+「文字コードが$x$の文字」と\textit{Np}との間に入るグルー/カーンと定める.
+$x$は\textit{Nq}から\textsf{欧文境界B~[\NB]}におけるそれと同じ方法で定めるが,
+\texttt{'nox\_alchar'}か\texttt{'alchar'}は
+\begin{quote}
+ \textit{Nq}の中身の文字コードについて,「直後への\Param{xkanjiskip}の挿入」が禁止されている
+(つまり,\Param{jaxspmode}~(or \Param{alxspmode})パラメタが2以上).
+\end{quote}
+ か否かで判断する.
\end{enumerate}
\end{description}
@@ -9012,9 +9279,8 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
\textit{Nq}が\textsf{和文A}で,\textit{Np}が\textsf{箱}・グルー・カーンのいずれかであった場合,
両者の間に挿入されるJFMグルーについては同じ処理である.しかし,そこでの行分割に対する仕様が異なるので,
ペナルティの挿入処理は若干異なったものとなっている.
-
\begin{itemize}
-\item 「右空白」については,既に述べた\textsf{Boundary-B~[\OB]}により空白を決定しようと試みる.
+\item 「右空白」については,以下に述べる\textsf{Boundary-B~[\OB]}により空白を決定しようと試みる.
それが失敗した場合は,「右空白」は挿入されない.
%\item 「左空白」については,既に述べた\textsf{line-end~[E]}の算出方法をそのまま採用する.それに伴う「右空白」の補正も同じ.
\item 禁則用ペナルティの処理は,後ろのクラスタ\textit{Np}の種類によって異なる.
@@ -9037,6 +9303,12 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
\end{itemize}
\begin{description}
+\item[Boundary-B~{[\OB]}] この処理は\textsf{欧文境界B~[\NB]}と同様であり,
+ $x$が次によって決まることのみが異なる:
+ \begin{itemize}
+ \item \textit{Np}がグルーやカーンのときは,$x=\text{\texttt{'glue'}}$.
+ \item そうでない(\textit{Np}が\textsf{箱})ときは,$x=\text{\texttt{'jcharbdd'}}$.
+ \end{itemize}
\item[P-allow~{[PA]}]
\textit{Nq}と\textit{Np}の間の(a)部分にペナルティがあれば,\textsf{P-normal~[PN]}と同様に,
それらの各ノードにおいてペナルティ値を$a$だけ増加させる.
@@ -9065,7 +9337,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
すぐ上の(\textit{Nq}と\textit{Np}の順序が逆になっている)場合と同じである.
%が,「左空白」がなくなることにのみ注意.
\begin{itemize}
-\item 「右空白」については,既に述べた\textsf{Boundary-A~[\OA]}により空白を決定しようと試みる.
+\item 「右空白」については,以下に述べる\textsf{Boundary-A~[\OA]}により空白を決定しようと試みる.
それが失敗した場合は,「右空白」は挿入されない.
%\item \textit{Nq}が和文でないので,「左空白」は算出されない.
\item 禁則用ペナルティの処理は,\textit{Nq}の種類によって異なる.
@@ -9080,12 +9352,21 @@ $\mathit{Nq}.\mathit{tail}$は無意味なので,
\end{description}
\end{itemize}
+\begin{description}
+\item[Boundary-A~{[\OA]}] この処理は\textsf{欧文境界A~[\NA]}と同様であり,
+ $x$が次によって決まることのみが異なる:
+ \begin{itemize}
+ \item \textit{Nq}がグルーやカーンのときは,$x=\text{\texttt{'glue'}}$.
+ \item そうでない(\textit{Nq}が\textsf{箱})ときは,$x=\text{\texttt{'jcharbdd'}}$.
+ \end{itemize}
+\end{description}
+
\paragraph{和文Aと和文Bの違い}
先に述べたように,\textsf{和文B}はhboxの中身の先頭(or 末尾)として出現している
\textbf{JAchar}である.リスト内に直接ノードとして現れている\textbf{JAchar}(\textsf{和文A})との違いは,
\begin{itemize}
\item \textsf{和文B}に対しては,JFMの文字クラス指定から定まる空白
-\textsf{JFM-origin~[M]},\textsf{Boundary-A~[\OA]},\textsf{Boundary-B~[\OB]})の挿入は行われない.
+(\textsf{JFM由来[M]},\textsf{Boundary-A~[\OA]}など)の挿入は行われない.
%「左空白」の算出も行われない.
例えば,
\begin{itemize}
@@ -9108,12 +9389,12 @@ $\mathit{Nq}.\mathit{tail}$は無意味なので,
あ.A
\end{LTXexample}
\begin{itemize}
-\item 1行目の\cs{inhibitglue}は\textsf{Boundary-B~[\OB]}の処理のみを抑止するので,ピリオドと「A」の間には
+\item 1行目の\cs{inhibitglue}は\textsf{欧文境界B~[\NB]}の処理のみを抑止するので,ピリオドと「A」の間には
\Param{xkanjiskip}(四分アキ)が入ることに注意.
\item 2行目のピリオドと「A」の間においては,前者が\textsf{和文B}となる(hboxの中身の末尾として登場しているから)ので,
-そもそも\textsf{Boundary-B~[\OB]}の処理は行われない.よって,\Param{xkanjiskip}が入ることとなる.
+そもそも\textsf{欧文境界B~[\NB]}の処理は行われない.よって,\Param{xkanjiskip}が入ることとなる.
\item 3行目では,ピリオドの属するクラスタは\textsf{和文A}である.これによって,
-ピリオドと「A」の間には\textsf{Boundary-B~[\OB]}由来の半角アキが入ることになる.
+ピリオドと「A」の間には\textsf{欧文境界B~[\NB]}由来の半角アキが入ることになる.
\end{itemize}
%</ja>
@@ -9295,7 +9576,7 @@ variation selectors are ``combined'' with the previous character.
\texttt{vsraw}は,ブール値の値をとるキーであり,標準ではfalseである.
\begin{itemize}
\item trueの場合は,異体字セレクタは「直前の文字に続けて」出力される.
-もしもIVSサポート(\ref{ssec-ltjotf}節)が有効になっていた場合は,
+もしもIVSサポート(\ref{ssec:ltjotf}節)が有効になっていた場合は,
以下の例(左側は入力,右側はその出力)のようになる.
%</ja>
\begin{LTXexample}
@@ -9580,7 +9861,7 @@ the \texttt{lstlisting} environment or other environments/commands.
\begin{itemize}
\item \textbf{JAglue}ではないグルー
\item JFMグルー(優先度\footnote{%
- \ref{ssec-jfm-str}節にあるように,
+ \ref{ssec:jfm-str}節にあるように,
各JFMグルーには$-4$から3までの優先度がついている.場合によっては
伸びと縮みで異なる優先度が付いているかもしれない.}%
別にまとめられる)
diff --git a/Master/texmf-dist/source/luatex/luatexja/tool/table_ivd_aj1.lua b/Master/texmf-dist/source/luatex/luatexja/tool/table_ivd_aj1.lua
new file mode 100644
index 00000000000..cf898a47b21
--- /dev/null
+++ b/Master/texmf-dist/source/luatex/luatexja/tool/table_ivd_aj1.lua
@@ -0,0 +1,32 @@
+print([[
+return {
+version = 2,
+table_ivd_aj1 = {]])
+
+local f = io.open('IVD_Sequences.txt')
+local t, maxcid = {}, 0
+local s = f:read()
+while s do
+ if s:match('#') then
+ print('-- ' .. s)
+ elseif s:match('Adobe.Japan.') then
+ local c1,c2,c3 = s:match('(%x+)%s+(%x+);%s+Adobe.Japan.;%s+CID%+(%d+)')
+ c1, c2, c3 = tonumber(c1, 16), tonumber(c2, 16), tonumber(c3)
+ if c2 and c2>=0xE0100 then
+ c2 = c2 - 0xE00FF
+ if maxcid<c3 then maxcid = c3 end
+ t[c3] = c2*0x200000+c1
+ end
+ end
+ s = f:read()
+end
+f:close()
+
+for i=1,maxcid do
+ print(' ' .. tostring(t[i] or false) .. ',')
+end
+
+
+-- ( echo 'luatexja.otf.ivd_aj1 = {' ; grep 'Adobe-Japan1' IVD_Sequences.txt|sed 's/\([0-9A-F][0-9A-F]*\) \([0-9A-F][0-9A-F]*\)\;.*CID.\([0-9][0-9]*\)$/[\3]=\{0x\1,0x\2\},/' ; echo '}' )
+print([[}}]])
+
diff --git a/Master/texmf-dist/source/luatex/luatexja/tool/jisx0208table.tex b/Master/texmf-dist/source/luatex/luatexja/tool/table_jisx0208.lua
index f3de6b982ec..f3de6b982ec 100644
--- a/Master/texmf-dist/source/luatex/luatexja/tool/jisx0208table.tex
+++ b/Master/texmf-dist/source/luatex/luatexja/tool/table_jisx0208.lua
diff --git a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-24.sty b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-24.sty
deleted file mode 100644
index dd6bd5b284c..00000000000
--- a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-24.sty
+++ /dev/null
@@ -1,358 +0,0 @@
-%
-% luatexja-fontspec-24.sty
-%
-
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{luatexja-fontspec-24}[2017/04/19 fontspec support of LuaTeX-ja]
-\RequirePackage{l3keys2e,luatexja}
-\ExplSyntaxOn
-
-%%%%%%%% Change Japanese font family by \rmfamily or not
-\cs_new:Npn \ltj_fontspec_match_cmd {
- \renewcommand\jttdefault{\gtdefault}
- \@ltj@match@familytrue
- \DeclareDocumentCommand \setmonojfont { O{} m } {
- \ltj_fontspec_set_family:Nnn \jttdefault {##1}{##2}
- \normalfont
- }
-}
-\bool_if:NT \ltj_fontspec_match_bool \ltj_fontspec_match_cmd
-%%%%%%%% Messages
-
-\msg_new:nnn {luatexja-fontspec} {addjfontfeatures-ignored}
-{
- \string\addjfontfeature (s)~ ignored;\\
- it~ cannot~ be~ used~ with~ a~ font~ that~ wasn't~ selected~ by~ luatexja-fontspec.
-}
-
-\msg_new:nnn {luatexja-fontspec} {altfont-ignored-by-norange}
-{
- ignored~ sublist~ `#1'~ in~ AltFont~ (no~ range~ is~ specified).
-}
-
-\msg_new:nnn {luatexja-fontspec} {altfont-ignored-by-rangeonly}
-{
- ignored~ sublist~ `#1'~ in~ AltFont~ (only~ range~ is~ specified).
-}
-
-\cs_generate_variant:Nn \prg_new_conditional:Nnn {Nnx}
-
-%%%%%%%% Internal control sequences
-%% Each CS is ltj_fontspec version that corresponds to original CS of fontspec.
-\cs_new:Nn \ltj_fontspec_define_option:nn {
- \__fontspec_keys_define_code:nnn {fontspec} {#1} {#2}
-}
-\cs_new:Nn \ltj_fontspec_define_preparse_external:nn {
- \__fontspec_keys_define_code:nnn {fontspec-preparse-external} {#1} {#2}
-}
-\cs_new:Nn \ltj_fontspec_define_altfont_option:nn {
- \__fontspec_keys_define_code:nnn {fontspec-ltjaltfont} {#1} {#2}
-}
-
-%% Alternate Fonts
-%% Spec: AltFont = {
-%% ...
-%% { Range = <range>, <font features> },
-%% { Range = <range>, Font = <font name>, <font features> },
-%% { Range = <range>, Font = <font name> },
-%% ...
-%% }
-\tl_new:N \l_ltj_fontspec_altname_tl
-\tl_new:N \l_ltj_fontspec_altrange_tl
-\clist_new:N \l_ltj_fontspec_altfont_clist
-\clist_new:N \l_ltj_fontspec_altfont_leftover_clist
-\int_new:N \g_ltj_fontspec_altnumber_int
-
-\ltj_fontspec_define_altfont_option:nn {Range} {
- \tl_set:Nn \l_ltj_fontspec_altrange_tl {#1}
-}
-\ltj_fontspec_define_altfont_option:nn {Font} {
- \fontspec_complete_fontname:Nn \l_ltj_fontspec_altname_tl {#1}
-}
-\__fontspec_keys_define_code:nnn {fontspec-ltjaltfont-reparse} {AltFont} {
- \clist_put_right:Nn \l_ltj_fontspec_altfont_clist { #1 }
-}
-\__fontspec_keys_define_code:nnn {fontspec-ltjaltfont-reparse} {YokoFeatures} {
- \clist_put_right:Nn \l_ltj_fontspec_fontfeat_yoko_clist { #1 }
-}
-\__fontspec_keys_define_code:nnn {fontspec-ltjaltfont-reparse} {TateFeatures} {
- \clist_put_right:Nn \l_ltj_fontspec_fontfeat_tate_clist { #1 }
-}
-\__fontspec_keys_define_code:nnn {fontspec-ltjaltfont-reparse} {TateFont} {
- \tl_if_empty:nF {#1} {
- \fontspec_complete_fontname:Nn \l_ltj_fontspec_fontname_tate_tl {#1}
- }
-}
-%%
-\clist_new:N \l_ltj_fontspec_fontfeat_yoko_clist
-\clist_new:N \l_ltj_fontspec_fontfeat_tate_clist
-\tl_new:N \l_ltj_fontspec_fontname_tate_tl
-
-\cs_new:Npn \ltj_fontspec_DeclareFontFamily #1 #2 #3 {
- \DeclareKanjiFamily {JY3} {#2} {#3}
- \DeclareKanjiFamily {JT3} {#2} {#3}
-}
-
-\cs_set_eq:NN \__ltj_orig_fontspec_select:nn \fontspec_select:nn
-\cs_new:Nn \ltj_fontspec_select:nn {
- \group_begin:
- \ltj_fontspec_define_option:nn {AltFont} {
- \clist_put_right:Nn \l_ltj_fontspec_altfont_clist {##1}
- }
- \ltj_fontspec_define_option:nn {CID} {
- \__fontspec_update_featstr:n {cid=##1}
- }
- \ltj_fontspec_define_option:nn {Kanjiskip} {
- \str_if_eq_x:nnTF {false} { \str_lower_case:n { ##1 } }{
- \__fontspec_update_featstr:n {-ltjksp}
- } {
- \__fontspec_update_featstr:n {+ltjksp}
- }
- }
- \ltj_fontspec_define_option:nn {JFM} {
- \__fontspec_update_featstr:n {jfm=##1}
- }
- % vary by shape
- \ltj_fontspec_define_option:nn {YokoFeatures} {
- \clist_put_right:Nn \l_ltj_fontspec_fontfeat_yoko_clist { ##1 }
- }
- \ltj_fontspec_define_option:nn {TateFeatures} {
- \clist_put_right:Nn \l_ltj_fontspec_fontfeat_tate_clist { ##1 }
- }
- \ltj_fontspec_define_option:nn {TateFont}
- {
- \tl_if_empty:nF {##1} {
- \fontspec_complete_fontname:Nn \l_ltj_fontspec_fontname_tate_tl {##1}
- }
- }
- \ltj_fontspec_define_option:nn {JFM-var} {
- \__fontspec_update_featstr:n {jfmvar=##1}
- }
- \ltj_fontspec_define_preparse_external:nn {NoEmbed} {
- \cs_set:Nn \__fontspec_namewrap:n {psft:####1}
- }
- %% Omit the warning message
- %% "OpenType feature 'Kerning=Off' (-kern) not available ..."
- \ltj_fontspec_define_option:nn {Kerning/Off} {
- \__fontspec_update_featstr:n {-kern}
- }
- \clist_set:Nx \g__fontspec_default_fontopts_clist {
- YokoFeatures = { JFM=ujis }, TateFeatures = { JFM=ujisv },
- Scale=\fp_use:N \g_ltj_fontspec_scale_fp, Kerning=Off, Script=CJK,
- \g__ltj_fontspec_default_fontopts_clist
- }
- \prop_set_eq:NN \g__fontspec_fontopts_prop \g__ltj_fontspec_fontopts_prop
- \cs_set_eq:NN \__fontspec_make_font_shapes:Nnnnn \ltj_fontspec_make_font_shapes:Nnnnn
- \cs_set_eq:NN \DeclareFontFamily \ltj_fontspec_DeclareFontFamily
- \tl_set:Nn \g_fontspec_encoding_tl {JY3}
- \__ltj_orig_fontspec_select:nn{#1}{#2}
- \group_end:
-}
-
-%% declare_shape
-
-\cs_new:Nn \ltj_fontspec_declare_shape_yoko:nnnn {
- \ltj_fontspec_declare_shape_aux:nnnnnn {#1} {#2} {#3} {#4} { JY3 } { \l_ltj_fontspec_fontfeat_yoko_clist }
-}
-\cs_new:Nn \ltj_fontspec_declare_shape_tate:nnnn {
- \ltj_fontspec_declare_shape_aux:nnnnnn {#1} {#2} {#3} {#4} { JT3 } { \l_ltj_fontspec_fontfeat_tate_clist }
-}
-\cs_new:Nn \ltj_fontspec_declare_shape:nnnn {
- \ltj_fontspec_declare_shape_yoko:nnnn {#1} {#2} {#3} {#4}
- \ltj_fontspec_declare_shape_tate:nnnn {#1} {#2} {#3} {#4}
-}
-\cs_generate_variant:Nn \ltj_fontspec_declare_shape:nnnn {nnxx}
-\cs_generate_variant:Nn \ltj_fontspec_declare_shape_yoko:nnnn {nnxx}
-\cs_generate_variant:Nn \ltj_fontspec_declare_shape_tate:nnnn {nnxx}
-
-\cs_new:Nn \ltj_fontspec_declare_shape_aux:nnnnnn
- {
- \tl_clear:N \l__fontspec_nfss_tl
- \tl_clear:N \l__fontspec_nfss_sc_tl
- \tl_set_eq:NN \l__fontspec_saved_fontname_tl \l_fontspec_fontname_tl
-
- \tl_set:Nn \g_fontspec_encoding_tl {#5}
- \tl_set:Nn \l__fontspec_nfss_enc_tl {#5}
- \exp_args:Nx \clist_map_inline:nn {#4}
- {
- \tl_clear:N \l__fontspec_size_tl
- \tl_set_eq:NN \l__fontspec_sizedfont_tl \l__fontspec_saved_fontname_tl % in case not spec'ed
-
- \keys_set_known:nxN {fontspec-sizing} { \exp_after:wN \use:n ##1 }
- \l__fontspec_sizing_leftover_clist
- \tl_if_empty:NT \l__fontspec_size_tl { \__fontspec_error:n {no-size-info} }
-
- \str_if_eq:nnTF { #5 } { JY3 } {
- % "normal"
- \__fontspec_load_fontname:n {\l__fontspec_sizedfont_tl}
- } {
- \tl_if_empty:NTF \l_ltj_fontspec_fontname_tate_tl
- { \__fontspec_load_fontname:n {\l__fontspec_sizedfont_tl} }
- { \__fontspec_load_fontname:n {\l_ltj_fontspec_fontname_tate_tl} }
- }
- \__fontspec_setup_nfss:Nnn \l__fontspec_nfss_tl {#3} {#6}
- }
- \bool_set_true:N \l__fontspec_nosc_bool
- \__fontspec_declare_shapes_normal:nn {#1} {#2}
- \__fontspec_declare_shape_slanted:nn {#1} {#2}
- }
-
-\cs_new:Nn \ltj_fontspec_set_family:Nnn {
- \cs_set_eq:NN \fontspec_select:nn \ltj_fontspec_select:nn
- \__ltj_orig_fontspec_set_family:Nnn #1 {#2} {#3}
- \cs_set_eq:NN \fontspec_select:nn \__ltj_orig_fontspec_select:nn
-}
-\cs_set_eq:NN \__ltj_orig_fontspec_set_family:Nnn \fontspec_set_family:Nnn
-\cs_set_eq:NN \__ltj_orig_fontspec_make_font_shapes:Nnnnn \__fontspec_make_font_shapes:Nnnnn
-\cs_set_eq:NN \__ltj_fontspec_orig_DeclareFontShape \DeclareFontShape
-
-\cs_new:Nn \ltj_fontspec_make_font_shapes:Nnnnn {
- \group_begin:
- %% 基底フォント
- \cs_set_eq:NN \__fontspec_font_set:Nnn \use_none:nnn
- \cs_set_eq:NN \__fontspec_font_if_null:NT \use_none:nn
- \cs_set_eq:NN \__fontspec_declare_shape:nnxx \ltj_fontspec_declare_shape:nnxx
- \__ltj_orig_fontspec_make_font_shapes:Nnnnn {#1} {#2} {#3} {#4} {#5}
- %%
- \ltj_fontspec_make_font_shapes_alt:Nnnnnn {#1}{#2}{#3}
- {#4, \l_ltj_fontspec_fontfeat_yoko_clist}{#5} {JY3 }
- \ltj_fontspec_make_font_shapes_alt:Nnnnnn {#1}{#2}{#3}
- {#4, \l_ltj_fontspec_fontfeat_tate_clist}{#5} {JT3}
- \group_end:
- }
-
-%%% Altfont 内部処理部
-\cs_new:Nn \ltj_fontspec_make_font_shapes_alt:Nnnnnn {
- \group_begin:
- \str_if_eq:nnTF { #6 } { JY3 } {
- \cs_set_eq:NN \__fontspec_declare_shape:nnxx \ltj_fontspec_declare_shape_yoko:nnxx
- }{
- \cs_set_eq:NN \__fontspec_declare_shape:nnxx \ltj_fontspec_declare_shape_tate:nnxx
- }
- \keys_set_known:nn {fontspec-ltjaltfont-reparse} { #4 }
- \clist_if_empty:NF \l_ltj_fontspec_altfont_clist {
- \int_gzero:N \g_ltj_fontspec_altnumber_int
- \clist_map_inline:Nn \l_ltj_fontspec_altfont_clist {
- \tl_clear:N \l_ltj_fontspec_altrange_tl
- \tl_set:Nn \l_ltj_fontspec_altname_tl { #1 }
- \tl_set:Nn \l_tmpa_tl { #1 }
-
- \keys_set_known:nxN {fontspec-ltjaltfont} { \exp_after:wN \use:n ##1 }
- \l_ltj_fontspec_altfont_leftover_clist
- \keys_set_known:nn {fontspec-ltjaltfont-reparse} { \exp_after:wN \use:n ##1 }
-
- \tl_if_empty:NT \l_ltj_fontspec_altrange_tl {
- \msg_warning:nnn {luatexja-fontspec} {altfont-ignored-by-norange} { ##1 }
- } {
- \bool_if:nTF {
- \tl_if_eq_p:NN \l_ltj_fontspec_altname_tl \l_tmpa_tl
- &&
- \tl_if_empty_p:N \l_ltj_fontspec_altfont_leftover_clist
- } {
- \msg_warning:nnn {luatexja-fontspec} {altfont-ignored-by-rangeonly} { ##1 }
- } {
- \__ltj_orig_fontspec_make_font_shapes:Nnnnn
- { \l_ltj_fontspec_altname_tl } {#2}
- {#3 _ alt \int_use:N \g_ltj_fontspec_altnumber_int }
- {#4, \l_ltj_fontspec_altfont_leftover_clist }
- {#5}
- \DeclareAlternateKanjiFont
- { #6 }{ \l_fontspec_family_tl }{#2}{#3}%
- { #6 }{ \l_fontspec_family_tl }{#2}
- { #3 _alt \int_use:N \g_ltj_fontspec_altnumber_int }
- { \l_ltj_fontspec_altrange_tl }
- \int_gincr:N \g_ltj_fontspec_altnumber_int
- }
- }
- }
- }
- \group_end:
-}
-
-
-%%%%%%%% User commands
-\DeclareDocumentCommand \jfontspec { O{} m O{} } {
- \ltj_fontspec_set_family:Nnn \k@family {#1,#3}{#2}
- \selectfont
- \ignorespaces
-}
-
-\DeclareDocumentCommand \setmainjfont { O{} m O{} } {
- \ltj_fontspec_set_family:Nnn \mcdefault {#1,#3}{#2}
- \DeclareSymbolFont{mincho}{JY3}{\l_fontspec_family_tl}{m}{n}
- \SetSymbolFont{mincho}{bold}{JY3}{\l_fontspec_family_tl}{bx}{n}
- \normalfont
-}
-
-\DeclareDocumentCommand \setsansjfont { O{} m O{} } {
- \ltj_fontspec_set_family:Nnn \gtdefault {#1,#3}{#2}
- \DeclareMathAlphabet{\mathgt}{JY3}{\l_fontspec_family_tl}{m}{n}
- \normalfont
-}
-
-\DeclareDocumentCommand \newjfontfamily { m O{} m O{} } {
- \cs_set_eq:NN \fontspec_set_family:Nnn \ltj_fontspec_set_family:Nnn
- \newfontfamily #1 [#2,#4] {#3}
- \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_orig_fontspec_set_family:Nnn
-}
-
-\DeclareDocumentCommand \newjfontface { m O{} m O{} } {
- \newjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
-}
-
-\clist_new:N \g__ltj_fontspec_default_fontopts_clist
-\prop_new:N \g__ltj_fontspec_fontopts_prop
-\DeclareDocumentCommand \defaultjfontfeatures { t+ o m }
- {
- \IfNoValueTF {#2}
- { \__ltj_fontspec_set_default_features:nn {#1} {#3} }
- { \__ltj_fontspec_set_font_default_features:nnn {#1} {#2} {#3} }
- \ignorespaces
- }
-\cs_new:Nn \__ltj_fontspec_set_default_features:nn
- {
- \clist_set_eq:NN \l__ltj_fontspec_tmp_clist \g__fontspec_default_fontopts_clist
- \clist_set_eq:NN \g__fontspec_default_fontopts_clist \g__ltj_fontspec_default_fontopts_clist
- \__fontspec_set_default_features:nn {#1} {#2}
- \clist_set_eq:NN \g__ltj_fontspec_default_fontopts_clist \g__fontspec_default_fontopts_clist
- \clist_set_eq:NN \g__fontspec_default_fontopts_clist \l__ltj_fontspec_tmp_clist
- }
-\cs_new:Nn \__ltj_fontspec_set_font_default_features:nnn
- {
- \prop_set_eq:NN \l__ltj_fontspec_tmp_prop \g__fontspec_fontopts_prop
- \prop_set_eq:NN \g__fontspec_fontopts_prop \g__ltj_fontspec_fontopts_prop
- \__fontspec_set_font_default_features:nnn {#1} {#2} {#3}
- \prop_set_eq:NN \g__ltj_fontspec_fontopts_prop \g__fontspec_fontopts_prop
- \prop_set_eq:NN \g__fontspec_fontopts_prop \l__ltj_fontspec_tmp_prop
- }
-
-\DeclareDocumentCommand \addjfontfeatures {m} {
- \ltj_fontspec_if_fontspec_font:TF
- {
- \group_begin:
- \tl_set_eq:NN \f@family \k@family
- \cs_set_eq:NN \fontspec_select:nn \ltj_fontspec_select:nn
- \addfontfeatures {#1}
- \group_end:
- \fontfamily\l_fontspec_family_tl\selectfont
- }{
- \msg_warning:nn {luatexja-fontspec} {addjfontfeatures-ignored}
- }
- \ignorespaces
-}
-
-\cs_set_eq:NN \addjfontfeature \addjfontfeatures
-
-\prg_new_conditional:Nnn \ltj_fontspec_if_fontspec_font: {TF,T,F}
-{
- \cs_if_exist:cTF {g__fontspec_ \k@family _prop} \prg_return_true: \prg_return_false:
-}
-
-%%% CJKShape=JIS2004
-\__fontspec_define_feature_option:nnnnn{CJKShape}{JIS2004}{20}{100}{+jp04}
-%%% CharacterWidth={VerticalAlternateProportional, VerticalAlternateHalf}
-\__fontspec_define_feature_option:nnnnn{CharacterWidth}{VerticalAlternateProportional}{22}{100}{+vpal}
-\__fontspec_define_feature_option:nnnnn{CharacterWidth}{VerticalAlternateHalf}{22}{101}{+vhal}
-\__fontspec_define_feature_option:nnnnn{Kerning}{Vertical} {}{}{+vkrn}
-
-\endinput
diff --git a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec.sty b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec.sty
index c3ae22a79f2..848eedbd68a 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{luatexja-fontspec}[2017/05/05 fontspec support of LuaTeX-ja]
+\ProvidesPackage{luatexja-fontspec}[2017/06/25 fontspec support of LuaTeX-ja]
\RequirePackage{l3keys2e,luatexja}
\ExplSyntaxOn
@@ -26,10 +26,11 @@
unknown .code:n = \PassOptionsToPackage { \l_keys_key_tl } {fontspec},
}
\ProcessKeysOptions{ luatexja-fontspec }
-\RequirePackage{fontspec}[2014/06/01]% v2.4
-\@ifpackagelater{fontspec}{2017/01/01}%
- {\RequirePackage{luatexja-fontspec-25c}}% v2.5c
- {\RequirePackage{luatexja-fontspec-24}}% --v2.5a
+\RequirePackage{fontspec}[2017/01/01]% v2.5c
+\RequirePackage{luatexja-fontspec-25c}
+%\@ifpackagelater{fontspec}{2017/01/01}%
+% {\RequirePackage{luatexja-fontspec-25c}}% v2.5c
+% {\RequirePackage{luatexja-fontspec-24}}% --v2.5a
\ExplSyntaxOff
%%%%%%%% Now we completely ignore kanjifont definition file.
diff --git a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-otf.sty b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-otf.sty
index 845b1a2aa74..ad421d0e1d4 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-otf.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-otf.sty
@@ -64,7 +64,7 @@
\expandafter\let\csname ifltj@in@latex\expandafter\endcsname
\csname iftrue\endcsname
\NeedsTeXFormat{LaTeX2e}
- \ProvidesPackage{luatexja-otf}[2017/05/05]
+ \ProvidesPackage{luatexja-otf}[2017/05/20]
\fi %</LaTeX>
% Load core module if not yet.
@@ -97,8 +97,107 @@
\RequirePackage{luatexja-ajmacros}
\else %<*!LaTeX>
\input luatexja-ajmacros.sty %
+ % \bou is defined in lltjext, \mbox is defined in LaTeX kernel
+ \def\boutenchar{\char\euc"A1A2}%"
+ \def\bou#1{\ifvmode\leavevmode\fi\@bou#1\end}
+ \def\@bou#1{%
+ \ifx#1\end \let\next=\relax
+ \else
+ \ifnum\ltjgetparameter{direction}=3\relax
+ \hbox to\z@{\vbox to\z@{\boxmaxdepth\maxdimen
+ \vss\moveleft0.2\zw\hbox{\yoko\boutenchar}\nointerlineskip
+ \hbox{\char\euc"A1A1}}\hss}\nobreak#1\relax
+ \else
+ \hbox to\z@{\vbox to\z@{\boxmaxdepth\maxdimen
+ \vss\moveleft-0.2\zw\hbox{\boutenchar}\nointerlineskip
+ \hbox{\char\euc"A1A1}}\hss}\nobreak#1\relax
+ \fi
+ \let\next=\@bou
+ \fi\next}
+ \long\def\mbox#1{\leavevmode\hbox{#1}}
\fi %</LaTeX>
+% macros from otf.sty
+%for literature
+\protected\def\ajKunoji{%
+ \ifnum\ltjgetparameter{direction}=3 \mbox{\UTF{3033}\UTF{3035}}\else
+ \@PackageError{luatexja-otf}{A TATE character in YOKO mode!}{Change a direction to TATE.}%2003/03/12
+ \fi}
+\protected\def\ajKunojiwithBou{%
+ \ifnum\ltjgetparameter{direction}=3 \mbox{\bou{\mbox{\UTF{3033}}}\bou{\mbox{\UTF{3035}}}}\else
+ \@PackageError{luatexja-otf}{A TATE character in YOKO mode!}{Change a direction to TATE.}%2003/03/12
+ \fi}
+\protected\def\ajDKunoji{%
+ \ifnum\ltjgetparameter{direction}=3 \mbox{\UTF{3034}\UTF{3035}}\else
+ \@PackageError{luatexja-otf}{A TATE character in YOKO mode!}{Change a direction to TATE.}%2003/03/12
+ \fi}
+\protected\def\ajDKunojiwithBou{%
+ \ifnum\ltjgetparameter{direction}=3 \mbox{\bou{\mbox{\UTF{3034}}}\bou{\mbox{\UTF{3035}}}}\else
+ \@PackageError{luatexja-otf}{A TATE character in YOKO mode!}{Change a direction to TATE.}%2003/03/12
+ \fi}
+\protected\def\ajNinoji{\CID{12106}}
+\protected\def\ajvarNinoji{%
+ \ifnum\ltjgetparameter{direction}=3 \CID{12107}\else
+ \@PackageError{luatexja-otf}{A TATE character in YOKO mode!}{Change a direction to TATE.}%2003/03/12
+ \fi}
+\protected\def\ajYusuriten{%
+ \ifnum\ltjgetparameter{direction}=3 \CID{16193}\else
+ \@PackageError{luatexja-otf}{A TATE character in YOKO mode!}{Change a direction to TATE.}%2003/03/12
+ \fi}
+\protected\def\ajMasu{\UTF{303c}}
+\protected\def\ajYori{\UTF{309f}}
+\protected\def\ajKoto{\UTF{30ff}}
+\protected\def\ajUta{\UTF{303d}}
+%dingbats
+\protected\def\ajCommandKey{\UTF{2318}}
+\protected\def\ajReturnKey{\UTF{23ce}}
+\protected\def\ajCheckmark{\UTF{2713}}
+\protected\def\ajVisibleSpace{\UTF{2423}}
+\protected\def\ajSenteMark{\UTF{2617}}
+\protected\def\ajGoteMark{\UTF{2616}}
+\protected\def\ajClub{\UTF{2663}}
+\protected\def\ajHeart{\UTF{2661}}
+\protected\def\ajSpade{\UTF{2660}}
+\protected\def\ajDiamond{\UTF{2662}}
+\protected\def\ajvarClub{\UTF{2667}}
+\protected\def\ajvarHeart{\UTF{2665}}
+\protected\def\ajvarSpade{\UTF{2664}}
+\protected\def\ajvarDiamond{\UTF{2666}}
+\protected\def\ajPhone{\UTF{260e}}
+\protected\def\ajPostal{\UTF{3020}}
+\protected\def\ajvarPostal{\UTF{3036}}
+\protected\def\ajSun{\UTF{2600}}
+\protected\def\ajCloud{\UTF{2601}}
+\protected\def\ajUmbrella{\UTF{2602}}
+\protected\def\ajSnowman{\UTF{2603}}
+\protected\def\ajJIS{\UTF{3004}}
+\protected\def\ajJAS{\CID{12088}}
+\protected\def\ajBall{\CID{12097}}
+\protected\def\ajHotSpring{\UTF{2668}}
+\protected\def\ajWhiteSesame{\UTF{fe46}}
+\protected\def\ajBlackSesame{\UTF{fe45}}
+\protected\def\ajWhiteFlorette{\UTF{2740}}
+\protected\def\ajBlackFlorette{\UTF{273f}}
+\protected\def\ajRightBArrow{\CID{8206}}
+\protected\def\ajLeftBArrow{\CID{8207}}
+\protected\def\ajUpBArrow{\CID{8208}}
+\protected\def\ajDownBArrow{\CID{8209}}
+\protected\def\ajRightHand{\CID{8219}}
+\protected\def\ajLeftHand{\CID{8220}}
+\protected\def\ajUpHand{\CID{8221}}
+\protected\def\ajDownHand{\CID{8222}}
+\protected\def\ajRightScissors{\CID{12176}}
+\protected\def\ajLeftScissors{\CID{12175}}
+\protected\def\ajUpScissors{\CID{12177}}
+\protected\def\ajDownScissors{\CID{12178}}
+\protected\def\ajRightWArrow{\CID{12197}}
+\protected\def\ajLeftWArrow{\CID{12196}}
+\protected\def\ajUpWArrow{\CID{12198}}
+\protected\def\ajDownWArrow{\CID{12199}}
+\protected\def\ajRightDownArrow{\CID{12202}}
+\protected\def\ajLeftDownArrow{\CID{12203}}
+\protected\def\ajLeftUpArrow{\CID{12204}}
+\protected\def\ajRightUpArrow{\CID{12205}}
%%------------------ all done
\ltj@otf@AtEnd
diff --git a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty
index 6a71e23d24f..d5c3d1a07bf 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty
@@ -1,5 +1,5 @@
% luatexja-preset.sty
-\ProvidesPackage{luatexja-preset}[2017/05/05 Japanese font presets]
+\ProvidesPackage{luatexja-preset}[2017/07/30 Japanese font presets]
\RequirePackage{expl3,l3keys2e}
\RequirePackage{luatexja}
@@ -58,22 +58,40 @@
% font preset
\bool_new:N \l_ltjpreset_office_bool % MS Office の HG 系フォントを使っているか
\bool_new:N \l_ltjpreset_noembed_bool % 非埋込か
-\clist_new:N \l_ltjpreset_font_list
+
+\prop_new:N \l_ltjpreset_font_prop
+\keys_define:nn { ltjpreset_set_font_list } {
+ mc .code:n =
+ \prop_put:Nnn \l_ltjpreset_font_prop { mc-l } {#1}
+ \prop_put:Nnn \l_ltjpreset_font_prop { mc-m } {#1}
+ \prop_put:Nnn \l_ltjpreset_font_prop { mc-bx } {#1},
+ gt .code:n =
+ \prop_put:Nnn \l_ltjpreset_font_prop { gt-u } {#1}
+ \prop_put:Nnn \l_ltjpreset_font_prop { gt-m } {#1}
+ \prop_put:Nnn \l_ltjpreset_font_prop { gt-bx } {#1}
+ \prop_put:Nnn \l_ltjpreset_font_prop { gt-eb } {#1},
+ unknown .code:n =
+ \prop_put:Non \l_ltjpreset_font_prop { \l_keys_key_tl } {#1}
+}
+
+
\cs_new:Npn \ltjpreset_set_uni:nn #1#2 {
- \ltjpreset_set_multi:n { #1, #2, #2, #2, #2, #2, #2 }
+ \keys_set:nn { ltjpreset_set_font_list } {
+ mc = #1, gt = #2, mc-bx = #2, mg-m = #2,
+ }
}
\cs_new:Npn \ltjpreset_set_multi:n #1 {
- \clist_set:Nn \l_ltjpreset_font_list { #1 }
+ \keys_set:nn { ltjpreset_set_font_list } { #1 }
\bool_set_false:N \l_ltjpreset_office_bool
\bool_set_false:N \l_ltjpreset_noembed_bool
}
\cs_new:Npn \ltjpreset_set_office:nn #1 #2{
\ltjpreset_set_multi:n {
- #1, HGMinchoE , % mc/m, mc/bx
- HGGothicM , HGGothicE , % gt/m, gt/bx (multiweight))
- #2 , HGSoeiKakugothicUB , % gt/m (uni), gt/eb
- HGMaruGothicMPRO % mg/m
+ mc-m = #1, mc-bx = HGMinchoE ,
+ gt-m = HGGothicM , gt-bx = HGGothicE ,
+ gt-u = #2 , gt-eb = HGSoeiKakugothicUB ,
+ mg-m = HGMaruGothicMPRO
}
\bool_set_true:N \l_ltjpreset_office_bool
}
@@ -93,98 +111,83 @@
%% Pro
\ltjpreset_declare_option:nn{kozuka-pro}{
\ltjpreset_set_multi:n {
- KozMinPro-Regular , % mc/m
- KozMinPro-Bold , % mc/bx
- KozGoPro-Regular , % gt/m (multi)
- KozGoPro-Bold , % gt/bx
- KozGoPro-Medium , % gt/m (uni)
- KozGoPro-Heavy , % gt/eb
- KozGoPro-Heavy % mg/m
+ mc-m = KozMinPro-Regular, mc-bx = KozMinPro-Bold,
+ gt-m = KozGoPro-Regular, gt-bx = KozGoPro-Bold,
+ gt-u = KozGoPro-Medium, gt-eb = KozGoPro-Heavy,
+ mg-m = KozGoPro-Heavy, mc-l = KozMinPro-Light,
}
}
%% Pr6
\ltjpreset_declare_option:nn{kozuka-pr6}{
\ltjpreset_set_multi:n {
- KozMinProVI-Regular , % mc/m
- KozMinProVI-Bold , % mc/bx
- KozGoProVI-Regular , % gt/m (multi)
- KozGoProVI-Bold , % gt/bx
- KozGoProVI-Medium , % gt/m (uni)
- KozGoProVI-Heavy , % gt/eb
- KozGoProVI-Heavy % mg/m
+ mc-m = KozMinProVI-Regular, mc-bx = KozMinProVI-Bold,
+ gt-m = KozGoProVI-Regular, gt-bx = KozGoProVI-Bold,
+ gt-u = KozGoProVI-Medium, gt-eb = KozGoProVI-Heavy,
+ mg-m = KozGoProVI-Heavy, mc-l = KozMinProVI-Light,
}
}
%% Pr6N
\ltjpreset_declare_option:nn{kozuka-pr6n}{
\ltjpreset_set_multi:n {
- KozMinPr6N-Regular , % mc/m
- KozMinPr6N-Bold , % mc/bx
- KozGoPr6N-Regular , % gt/m (multi)
- KozGoPr6N-Bold , % gt/bx
- KozGoPr6N-Medium , % gt/m (uni)
- KozGoPr6N-Heavy , % gt/eb
- KozGoPr6N-Heavy % mg/m
+ mc-m = KozMinPr6N-Regular, mc-bx = KozMinPr6N-Bold,
+ gt-m = KozGoPr6N-Regular, gt-bx = KozGoPr6N-Bold,
+ gt-u = KozGoPr6N-Medium, gt-eb = KozGoPr6N-Heavy,
+ mg-m = KozGoPr6N-Heavy, mc-l = KozMinPr6N-Light,
}
}
% ヒラギノ (OSX)
\ltjpreset_declare_option:nn{hiragino-pro}{
\ltjpreset_set_multi:n {
- HiraMinPro-W3 ,
- HiraMinPro-W6 ,
- HiraKakuPro-W3 , % gt/m (multi)
- HiraKakuPro-W6 ,
- HiraKakuPro-W6 , % gt/m (uni)
- HiraKakuStd-W8 ,
- HiraMaruPro-W4 ,
+ mc-m = HiraMinPro-W3, mc-bx = HiraMinPro-W6,
+ gt-m = HiraKakuPro-W3, gt-bx = HiraKakuPro-W6,
+ gt-u = HiraKakuPro-W6, gt-eb = HiraKakuStd-W8,
+ mg-m = HiraMaruPro-W4, mc-l = HiraMinPro-W2,
}
}
\ltjpreset_declare_option:nn{hiragino-pron}{
\ltjpreset_set_multi:n {
- HiraMinProN-W3 ,
- HiraMinProN-W6 ,
- HiraKakuProN-W3 , % gt/m (multi)
- HiraKakuProN-W6 ,
- HiraKakuProN-W6 , % gt/m (uni)
- HiraKakuStdN-W8 ,
- HiraMaruProN-W4 ,
+ mc-m = HiraMinProN-W3, mc-bx = HiraMinProN-W6,
+ gt-m = HiraKakuProN-W3, gt-bx = HiraKakuProN-W6,
+ gt-u = HiraKakuProN-W6, gt-eb = HiraKakuStdN-W8,
+ mg-m = HiraMaruProN-W4, mc-l = HiraMinProN-W2,
}
}
% モリサワ
\ltjpreset_declare_option:nn{morisawa-pro}{
\ltjpreset_set_multi:n {
- A-OTF-RyuminPro-Light.otf , A-OTF-FutoMinA101Pro-Bold.otf , % mc/m, mc/bx
- A-OTF-GothicBBBPro-Medium.otf , A-OTF-FutoGoB101Pro-Bold.otf , % gt/m, gt/bx (multiweight))
- A-OTF-GothicBBBPro-Medium.otf , A-OTF-MidashiGoPro-MB31.otf , % gt/m (uni), gt/eb
- A-OTF-Jun101Pro-Light.otf % mg/m
+ mc = A-OTF-RyuminPro-Light.otf, mc-bx = A-OTF-FutoMinA101Pro-Bold.otf,
+ gt-m = A-OTF-GothicBBBPro-Medium.otf , gt-bx = A-OTF-FutoGoB101Pro-Bold.otf,
+ gt-u = A-OTF-GothicBBBPro-Medium.otf , gt-eb = A-OTF-MidashiGoPro-MB31.otf,
+ mg-m = A-OTF-Jun101Pro-Light.otf,
}
}
\ltjpreset_declare_option:nn{morisawa-pr6n}{
\ltjpreset_set_multi:n {
- A-OTF-RyuminPr6N-Light.otf , A-OTF-FutoMinA101Pr6N-Bold.otf , % mc/m, mc/bx
- A-OTF-GothicBBBPr6N-Medium.otf , A-OTF-FutoGoB101Pr6N-Bold.otf , % gt/m, gt/bx (multiweight))
- A-OTF-GothicBBBPr6N-Medium.otf , A-OTF-MidashiGoPr6N-MB31.otf , % gt/m (uni), gt/eb
- A-OTF-ShinMGoPr6N-Light.otf % mg/m
+ mc = A-OTF-RyuminPr6N-Light.otf, mc-bx = A-OTF-FutoMinA101Pr6N-Bold.otf,
+ gt-m = A-OTF-GothicBBBPr6N-Medium.otf , gt-bx = A-OTF-FutoGoB101Pr6N-Bold.otf,
+ gt-u = A-OTF-GothicBBBPr6N-Medium.otf , gt-eb = A-OTF-MidashiGoPr6N-MB31.otf,
+ mg-m = A-OTF-Jun101Pr6N-Light.otf,
}
}
% 游明朝/游ゴシック (Win8.1)
\ltjpreset_declare_option:nn{yu-win}{
\ltjpreset_set_multi:n {
- YuMincho-Regular , YuMincho-Demibold , % mc/m, mc/bx
- YuGothic-Regular , YuGothic-Bold , % gt/m, gt/bx (multiweight))
- YuGothic-Regular , YuGothic-Bold , % gt/m (uni), gt/eb
- YuGothic-Bold % mg/m
+ mc-m = YuMincho-Regular, mc-bx = YuMincho-Demibold,
+ gt-m = YuGothic-Regular, gt-bx = YuGothic-Bold,
+ gt-u = YuGothic-Regular, gt-eb = YuGothic-Bold,
+ mg-m = YuGothic-Bold, mc-l = YuMincho-Light
}
}
% Win10
\ltjpreset_declare_option:nn{yu-win10}{
\ltjpreset_set_multi:n {
- YuMincho-Regular , YuMincho-Demibold , % mc/m, mc/bx
- YuGothic-Regular , YuGothic-Bold , % gt/m, gt/bx (multiweight))
- YuGothic-Medium , YuGothic-Bold , % gt/m (uni), gt/eb
- YuGothic-Bold % mg/m
+ mc-m = YuMincho-Regular, mc-bx = YuMincho-Demibold,
+ gt-m = YuGothic-Regular, gt-bx = YuGothic-Bold,
+ gt-u = YuGothic-Medium, gt-eb = YuGothic-Bold,
+ mg-m = YuGothic-Bold, mc-l = YuMincho-Light
}
}
@@ -192,51 +195,88 @@
% according to http://support.apple.com/kb/HT5944
\ltjpreset_declare_option:nn{yu-osx}{
\ltjpreset_set_multi:n {
- YuMincho~Medium , YuMincho~Demibold , % mc/m, mc/bx
- YuGothic~Medium , YuGothic~Bold , % gt/m, gt/bx (multiweight))
- YuGothic~Medium , YuGothic~Bold , % gt/m (uni), gt/eb
- YuGothic~Bold % mg/m
+ mc = YuMincho~Medium, mc-bx = YuMincho~Demibold,
+ gt-m = YuGothic~Medium, gt-u = YuGothic~Medium,
+ gt-bx = YuGothic~Bold, gt-eb = YuGothic~Bold,
+ mg-m = YuGothic~Bold
}
}
% moga-mobo
\ltjpreset_declare_option:nn{moga-mobo}{
\ltjpreset_set_multi:n {
- Moga90Mincho, Moga90Mincho~Bold , % mc/m, mc/bx
- Moga90Gothic, Moga90Gothic~Bold, % gt/m, gt/bx (multiweight))
- Moga90Gothic, Moga90Gothic~Bold, % gt/m (uni), gt/eb
- Mobo90Gothic % mg/m
+ mc = Moga90Mincho, mc-bx = Moga90Mincho~Bold,
+ gt-m = Moga90Gothic, gt-bx = Moga90Gothic~Bold,
+ gt-u = Moga90Gothic, gt-eb = Moga90Gothic~Bold,
+ mg-m = Mobo90Gothic
}
}
\ltjpreset_declare_option:nn{moga-mobo-ex}{
\ltjpreset_set_multi:n {
- MogaEx90Mincho, MogaEx90Mincho~Bold , % mc/m, mc/bx
- MogaEx90Gothic, MogaEx90Gothic~Bold, % gt/m, gt/bx (multiweight))
- MogaEx90Gothic, MogaEx90Gothic~Bold, % gt/m (uni), gt/eb
- MoboEx90Gothic % mg/m
+ mc = MogaEx90Mincho, mc-bx = MogaEx90Mincho~Bold,
+ gt-m = MogaEx90Gothic, gt-bx = MogaEx90Gothic~Bold,
+ gt-u = MogaEx90Gothic, gt-eb = MogaEx90Gothic~Bold,
+ mg-m = MoboEx90Gothic
}
}
% Ume fones
\ltjpreset_declare_option:nn{ume}{
\ltjpreset_set_multi:n {
- Ume~Mincho, Ume~Mincho,
- Ume~Gothic, Ume~Gothic~O5,
- Ume~Gothic~O5, Ume~Gothic~O5,
- Ume~Gothic~O4
+ mc = Ume~Mincho,
+ gt-m = Ume~Gothic, gt-bx = Ume~Gothic~O5,
+ gt-u = Ume~Gothic~O5, gt-eb = Ume~Gothic~O5,
+ mg-m = Ume~Gothic~O4
}
}
% Source Han {Serif,Sans}
\ltjpreset_declare_option:nn{sourcehan}{
\ltjpreset_set_multi:n {
- Source~Han~Serif~Regular, % mc/m
- Source~Han~Serif~Bold, % mc/bx
- Source~Han~Sans~Normal, % gt/m (multi)
- Source~Han~Sans~Bold, % gt/bx
- Source~Han~Sans~Medium, % gt/m (uni)
- Source~Han~Sans~Heavy, % gt/eb
- Source~Han~Sans~Heavy % mg/m
+ mc-m = Source~Han~Serif~Regular,
+ mc-bx = Source~Han~Serif~Bold,
+ gt-m = Source~Han~Sans~Regular,
+ gt-bx = Source~Han~Sans~Bold,
+ gt-u = Source~Han~Sans~Medium,
+ gt-eb = Source~Han~Sans~Heavy,
+ mg-m = Source~Han~Sans~Heavy,
+ mc-l = Source~Han~Serif~Light,
+ }
+}
+\ltjpreset_declare_option:nn{sourcehan-jp}{
+ \ltjpreset_set_multi:n {
+ mc-m = Source~Han~Serif~JP~Regular,
+ mc-bx = Source~Han~Serif~JP~Bold,
+ gt-m = Source~Han~Sans~JP~Regular,
+ gt-bx = Source~Han~Sans~JP~Bold,
+ gt-u = Source~Han~Sans~JP~Medium,
+ gt-eb = Source~Han~Sans~JP~Heavy,
+ mg-m = Source~Han~Sans~JP~Heavy,
+ mc-l = Source~Han~Serif~JP~Light,
+ }
+}
+\ltjpreset_declare_option:nn{noto-otc}{
+ \ltjpreset_set_multi:n {
+ mc-m = Noto~Serif~CJK~Regular,
+ mc-bx = Noto~Serif~CJK~Bold,
+ gt-m = Noto~Sans~CJK~Regular,
+ gt-bx = Noto~Sans~CJK~Bold,
+ gt-u = Noto~Sans~CJK~Medium,
+ gt-eb = Noto~Sans~CJK~Black,
+ mg-m = Noto~Sans~CJK~Black,
+ mc-l = Noto~Serif~CJK~Light,
+ }
+}
+\ltjpreset_declare_option:nn{noto-otf}{
+ \ltjpreset_set_multi:n {
+ mc-m = Noto~Serif~CJK~JP~Regular,
+ mc-bx = Noto~Serif~CJK~JP~Bold,
+ gt-m = Noto~Sans~CJK~JP~Regular,
+ gt-bx = Noto~Sans~CJK~JP~Bold,
+ gt-u = Noto~Sans~CJK~JP~Medium,
+ gt-eb = Noto~Sans~CJK~JP~Black,
+ mg-m = Noto~Sans~CJK~JP~Black,
+ mc-l = Noto~Serif~CJK~JP~Light,
}
}
@@ -289,56 +329,54 @@
%% KozMinPr6N, HiraMinProN-W3 の場合はjp04 feature がないので,nlck にする
\tl_set:Nn \l_tmpa_tl {, CJKShape=JIS2004 }
\tl_if_eq:NNTF \l_ltjpreset_kanji_shape_tl \l_tmpa_tl {
- \clist_if_in:NnT \l_ltjpreset_font_list { KozMinPr6N-Regular }
+ \tl_set:Nx \l_tmpb_tl { \prop_item:Nn \l_ltjpreset_font_prop { mc-m } }
+ \tl_if_in:NnT \l_tmpb_tl { KozMinPr6N-Regular }
{ \bool_set_true:N \l_ltjpreset_shape_nlck_bool }
- \clist_if_in:NnT \l_ltjpreset_font_list { HiraMinProN-W3 }
+ \tl_if_in:NnT \l_tmpb_tl { HiraMinProN-W3 }
{ \bool_set_true:N \l_ltjpreset_shape_nlck_bool }
- \clist_if_in:NnT \l_ltjpreset_font_list { Moga90Mincho }
+ \tl_if_in:NnT \l_tmpb_tl { Moga90Mincho }
{
- \tl_remove_all:Nn \l_ltjpreset_font_list {90}
+ \prop_clear:N \l_tmpa_prop
+ \prop_map_inline:Nn \l_ltjpreset_font_prop {
+ \tl_set:Nn \l_tmpb_tl { #2 }
+ \tl_remove_all:Nn \l_tmpb_tl {90}
+ \prop_put:Nnx \l_tmpa_prop { #1 } { \tl_use:N \l_tmpb_tl }
+ }
+ \prop_set_eq:NN \l_ltjpreset_font_prop \l_tmpa_prop
\tl_clear:N \l_ltjpreset_kanji_shape_tl
}
- \clist_if_in:NnT \l_ltjpreset_font_list { MogaEx90Mincho }
+ \tl_if_in:NnT \l_tmpb_tl { MogaEx90Mincho }
{
- \tl_remove_all:Nn \l_ltjpreset_font_list {90}
+ \prop_clear:N \l_tmpa_prop
+ \prop_map_inline:Nn \l_ltjpreset_font_prop {
+ \tl_set:Nn \l_tmpb_tl { #2 }
+ \tl_remove_all:Nn \l_tmpb_tl {90}
+ \prop_put:Nnx \l_tmpa_prop { #1 } { \tl_use:N \l_tmpb_tl }
+ }
+ \prop_set_eq:NN \l_ltjpreset_font_prop \l_tmpa_prop
\tl_clear:N \l_ltjpreset_kanji_shape_tl
}
}{
\tl_set:Nn \l_tmpa_tl {, CJKShape=JIS1990 }
\tl_if_eq:NNT \l_ltjpreset_kanji_shape_tl \l_tmpa_tl {
- \clist_if_in:NnT \l_ltjpreset_font_list { Moga90Mincho }
- { \tl_clear:N \l_ltjpreset_kanji_shape_tl }
+ \tl_set:Nx \l_tmpb_tl { \prop_item:Nn \l_ltjpreset_font_prop { mc-m } }
+ \tl_if_in:NnT \l_tmpb_tl { Moga90Mincho }
+ { \tl_clear:N \l_ltjpreset_kanji_shape_tl }
}
}
%%%% リストからの展開
% mc/m
-\clist_pop:NN \l_ltjpreset_font_list \l_tmpa_tl
-\cs_set:Nx \ltjpreset_font_mc_m: { \tl_use:N \l_tmpa_tl }
-
-% mc/bx
-\clist_pop:NN \l_ltjpreset_font_list \l_tmpa_tl
-\cs_set:Nx \ltjpreset_font_mc_bx: { \tl_use:N \l_tmpa_tl }
-
-% gt/m
-\clist_pop:NN \l_ltjpreset_font_list \l_tmpa_tl
-\cs_set:Nx \ltjpreset_font_gt_m: { \tl_use:N \l_tmpa_tl }
-
-% gt/bx
-\clist_pop:NN \l_ltjpreset_font_list \l_tmpa_tl
-\cs_set:Nx \ltjpreset_font_gt_bx: { \tl_use:N \l_tmpa_tl }
+\cs_set:Nx \ltjpreset_font_mc_l: { \prop_item:Nn \l_ltjpreset_font_prop { mc-l } }
+\cs_set:Nx \ltjpreset_font_mc_m: { \prop_item:Nn \l_ltjpreset_font_prop { mc-m } }
+\cs_set:Nx \ltjpreset_font_mc_bx: { \prop_item:Nn \l_ltjpreset_font_prop { mc-bx } }
+\cs_set:Nx \ltjpreset_font_gt_m: { \prop_item:Nn \l_ltjpreset_font_prop { gt-m } }
+\cs_set:Nx \ltjpreset_font_gt_u: { \prop_item:Nn \l_ltjpreset_font_prop { gt-u } }
+\cs_set:Nx \ltjpreset_font_gt_bx: { \prop_item:Nn \l_ltjpreset_font_prop { gt-bx } }
+\cs_set:Nx \ltjpreset_font_gt_eb: { \prop_item:Nn \l_ltjpreset_font_prop { gt-eb } }
+\cs_set:Nx \ltjpreset_font_mg_m: { \prop_item:Nn \l_ltjpreset_font_prop { mg-m } }
-% gt/m-uni
-\clist_pop:NN \l_ltjpreset_font_list \l_tmpa_tl
-\cs_set:Nx \ltjpreset_font_gt_n_uni: { \tl_use:N \l_tmpa_tl }
-
-% gt/eb
-\clist_pop:NN \l_ltjpreset_font_list \l_tmpa_tl
-\cs_set:Nx \ltjpreset_font_gt_eb: { \tl_use:N \l_tmpa_tl }
-
-% mg/m
-\clist_pop:NN \l_ltjpreset_font_list \l_tmpa_tl
-\cs_set:Nx \ltjpreset_font_mg: { \tl_use:N \l_tmpa_tl }
+%\prop_show:N \l_ltjpreset_font_prop
%% HG 系フォント + JIS2004/90JIS のときはフォント名を置換
\bool_if:NT \l_ltjpreset_office_bool {
@@ -347,8 +385,8 @@
\cs_set:Nx \ltjpreset_font_mc_bx: { hgrme04.ttc }
\cs_set:Nx \ltjpreset_font_gt_bx: { hgrge04.ttc }
\cs_set:Nx \ltjpreset_font_gt_eb: { hgrsgu04.ttc }
- \cs_set:Nx \ltjpreset_font_mg: { hgrsmp04.ttf }
- \cs_set_eq:NN \ltjpreset_font_gt_m: \ltjpreset_font_gt_n_uni:
+ \cs_set:Nx \ltjpreset_font_mg_m: { hgrsmp04.ttf }
+ \cs_set_eq:NN \ltjpreset_font_gt_m: \ltjpreset_font_gt_u:
% HG ゴシックM のときはそうはいかないので 1 ウェイト時のゴシック体を使う
}
\tl_set:Nn \l_tmpa_tl {, CJKShape=JIS1990 }
@@ -356,10 +394,17 @@
\cs_set:Nx \ltjpreset_font_mc_bx: { hgrme.ttc }
\cs_set:Nx \ltjpreset_font_gt_bx: { hgrge.ttc }
\cs_set:Nx \ltjpreset_font_gt_eb: { hgrsgu.ttc }
- \cs_set:Nx \ltjpreset_font_mg: { hgrsmp.ttf }
+ \cs_set:Nx \ltjpreset_font_mg_m: { hgrsmp.ttf }
}
}
+% mc/l
+\tl_set:Nx \l_tmpa_tl { \ltjpreset_font_mc_l: }
+\tl_if_empty:NT \l_tmpa_tl {\tl_set:Nn \l_tmpa_tl {~}}
+\cs_set:Nx \ltjpreset_font_mc_l: {
+ \tl_if_blank:nTF \l_tmpa_tl { \ltjpreset_font_mc_m: } {\tl_use:N \l_tmpa_tl }
+}
+
%% 90JIS/JIS2004 字形指定のオプション
\bool_if:NTF \l_ltjpreset_nfssonly_bool {
\tl_set:Nn \l_tmpa_tl {, CJKShape=JIS1990 }
@@ -380,6 +425,30 @@
}
}
+
+%%%%%%%% 存在判定
+\cs_new:Nn \ltjpreset_substitute:nnnn {
+ \group_begin:
+ \suppressfontnotfounderror=1
+ \font \l_ltjpreset_font_test: = "\cs:w ltjpreset_font_#1_#2: \cs_end:"\relax
+ \ifx \l_ltjpreset_font_test: \nullfont
+ \msg_warning:nnxxxx { luatexja-preset }{ no-font }
+ { \cs:w ltjpreset_font_#1_#2: \cs_end: }{ #1/#2 }
+ { \cs:w ltjpreset_font_#3_#4: \cs_end: }{ #3/#4 }
+ \cs_gset_eq:cc { ltjpreset_font_#1_#2: } { ltjpreset_font_#3_#4: }
+ \fi
+ \group_end:
+}
+
+\msg_new:nnn { luatexja-preset }{ no-font }{
+ Font~ #1~ (#2)~ is~ not~found.~ Hence~ I~ substitute~ #3~ (#4)~ for~ it.
+}
+\bool_if:NT \l_ltjpreset_deluxe_bool {
+ \ltjpreset_substitute:nnnn { gt } { eb } { gt } { bx }
+ \ltjpreset_substitute:nnnn { mg } { m } { gt } { bx }
+ \ltjpreset_substitute:nnnn { mc } { l } { mc } { m }
+}
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%% nfss only
\bool_if:NTF \l_ltjpreset_nfssonly_bool {
@@ -392,23 +461,23 @@
\DeclareFontShape{JY3}{#1}{#2}{n}{ <-> s*[\fp_use:N \l_ltjpreset_scale_fp]
{\bool_if:NT \l_ltjpreset_noembed_bool {psft:} "#3"
: jfm=\tl_use:N \ltjpreset_use_jfm_yoko_tl ;-kern;\tl_use:N \l_ltjpreset_kanji_shape_tl
- ; script=cjk \bool_if:NT \l_ltjpreset_expert_bool { ;+hkna }}
+ ; script=hani \bool_if:NT \l_ltjpreset_expert_bool { ;+hkna }}
} {}
\DeclareFontShape{JT3}{#1}{#2}{n}{ <-> s*[\fp_use:N \l_ltjpreset_scale_fp]
{\bool_if:NT \l_ltjpreset_noembed_bool {psft:} "#3"
: jfm=\tl_use:N \ltjpreset_use_jfm_tate_tl ;-kern;\tl_use:N \l_ltjpreset_kanji_shape_tl;
- ; script=cjk \bool_if:NT \l_ltjpreset_expert_bool { ;+vkna }}
+ ; script=hani \bool_if:NT \l_ltjpreset_expert_bool { ;+vkna }}
} {}
\bool_if:NT \l_ltjpreset_expert_bool {
\DeclareFontShape{JY3}{#1}{#2}{rb}{ <-> s*[\fp_use:N \l_ltjpreset_scale_fp]
{\bool_if:NT \l_ltjpreset_noembed_bool {psft:} "#3"
: jfm=\tl_use:N \ltjpreset_use_jfm_yoko_tl ;-kern;\tl_use:N \l_ltjpreset_kanji_shape_tl ;+ruby
- ; script=kana }
+ ; script=kana}
} {}
\DeclareFontShape{JT3}{#1}{#2}{rb}{ <-> s*[\fp_use:N \l_ltjpreset_scale_fp]
{\bool_if:NT \l_ltjpreset_noembed_bool {psft:} "#3"
: jfm=\tl_use:N \ltjpreset_use_jfm_tate_tl ;-kern;\tl_use:N \l_ltjpreset_kanji_shape_tl ;+ruby
- ; script=kana }
+ ; script=kana}
} {}
}
}
@@ -424,7 +493,7 @@
\bool_if:NTF \l_ltjpreset_bold_bool {
\cs_set_eq:NN \ltjpreset_font_gt_m: \ltjpreset_font_gt_bx:
}{
- \cs_set_eq:NN \ltjpreset_font_gt_m: \ltjpreset_font_gt_n_uni:
+ \cs_set_eq:NN \ltjpreset_font_gt_m: \ltjpreset_font_gt_u:
}
\cs_set_eq:NN \ltjpreset_font_gt_bx: \ltjpreset_font_gt_m:
\cs_set_eq:NN \ltjpreset_font_mc_bx: \ltjpreset_font_gt_m:
@@ -448,14 +517,17 @@
\bool_if:NTF \l_ltjpreset_deluxe_bool {
\DeclareKanjiFamily{JY3}{ltjpmg}{}\DeclareKanjiFamily{JT3}{ltjpmg}{}
- \ltj_preset_define_family:nnn {ltjpmg} {m} {\ltjpreset_font_mg:}
- \ltj_preset_define_family:nnn {ltjpg} {eb} {\ltjpreset_font_gt_eb:}
+ \def\ltdefault{l}
+ \DeclareRobustCommand\ltseries { \not@math@alphabet\ltseries\relax\fontseries\ltdefault\selectfont }
+ \ltj_preset_define_family:nnn {ltjpm} {l} {\ltjpreset_font_mc_l:}
\def\ebdefault{eb}
- \DeclareRobustCommand\ebseries { \not@math@alphabet\ebseries\relaxfontseries\ebdefault\selectfont }
- \DeclareRobustCommand\gtebfamily { \kanjifamily{ltjpg}\fontseries{eb}\selectfont }
+ \DeclareRobustCommand\ebseries { \not@math@alphabet\ebseries\relax\fontseries\ebdefault\selectfont }
+ \DeclareRobustCommand\gtebfamily { \kanjifamily{ltjpg}\fontseries{\ebdefault}\selectfont }
\DeclareTextFontCommand{\textgteb}{\gtebfamily}
+ \ltj_preset_define_family:nnn {ltjpg} {eb} {\ltjpreset_font_gt_eb:}
\DeclareRobustCommand\mgfamily { \not@math@alphabet\mgfamily\relax\kanjifamily{ltjpmg}\selectfont }
\DeclareTextFontCommand{\textmg}{\mgfamily}
+ \ltj_preset_define_family:nnn {ltjpmg} {m} {\ltjpreset_font_mg_m:}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -493,20 +565,19 @@
\bool_if:NTF \l_ltjpreset_deluxe_bool {
%% mg
\newjfontfamily \mgfamily [
- BoldFont = \ltjpreset_font_mg:,
+ BoldFont = \ltjpreset_font_mg_m:,
\bool_if:NT \l_ltjpreset_noembed_bool { NoEmbed, }
\tl_use:N \l_ltjpreset_add_features_tl
- ] { \ltjpreset_font_mg: }
+ ] { \ltjpreset_font_mg_m: }
\DeclareTextFontCommand{\textmg}{\mgfamily}
%% gt/eb
-%% 注意: ファミリは 'gteb'.シリーズは \mdseries のまま.
-%% \bfseries を追加したほうが良い?
- \newjfontfamily \gtebfamily [
- BoldFont = \ltjpreset_font_gt_eb:,
- \bool_if:NT \l_ltjpreset_noembed_bool { NoEmbed, }
- \tl_use:N \l_ltjpreset_add_features_tl
- ] { \ltjpreset_font_gt_eb: }
+ \def\ebdefault{eb}
+ \DeclareRobustCommand\ebseries { \not@math@alphabet\ebseries\relax\fontseries\ebdefault\selectfont }
+ \DeclareRobustCommand\gtebfamily { \kanjifamily{\gtdefault}\fontseries{\ebdefault}\selectfont }
\DeclareTextFontCommand{\textgteb}{\gtebfamily}
+%% mc/l
+ \def\ltdefault{l}
+ \DeclareRobustCommand\ltseries { \not@math@alphabet\ltseries\relax\fontseries\ltdefault\selectfont }
\bool_if:NT \l_ltjpreset_bold_bool {
\cs_set_eq:NN \ltjpreset_font_mc_bx: \ltjpreset_font_gt_bx:
}
@@ -514,7 +585,7 @@
\bool_if:NTF \l_ltjpreset_bold_bool {
\cs_set_eq:NN \ltjpreset_font_gt_m: \ltjpreset_font_gt_bx:
}{
- \cs_set_eq:NN \ltjpreset_font_gt_m: \ltjpreset_font_gt_n_uni:
+ \cs_set_eq:NN \ltjpreset_font_gt_m: \ltjpreset_font_gt_u:
}
\cs_set_eq:NN \ltjpreset_font_gt_bx: \ltjpreset_font_gt_m:
\cs_set_eq:NN \ltjpreset_font_mc_bx: \ltjpreset_font_gt_m:
@@ -526,11 +597,17 @@
\addjfontfeature{ Kerning=Off }
\setmainjfont [
+ \bool_if:NT \l_ltjpreset_deluxe_bool {
+ FontFace={l}{n}{\ltjpreset_font_mc_l:},
+ }
BoldFont = \ltjpreset_font_mc_bx:
\bool_if:NT \l_ltjpreset_noembed_bool { , NoEmbed },
\tl_use:N \l_ltjpreset_add_features_tl
] { \ltjpreset_font_mc_m: }
\setsansjfont [
+ \bool_if:NT \l_ltjpreset_deluxe_bool {
+ FontFace={eb}{n}{\ltjpreset_font_gt_eb:},
+ }
BoldFont = \ltjpreset_font_gt_bx:
\bool_if:NT \l_ltjpreset_noembed_bool { , NoEmbed },
\tl_use:N \l_ltjpreset_add_features_tl
diff --git a/Master/texmf-dist/tex/luatex/luatexja/jfm-ujis.lua b/Master/texmf-dist/tex/luatex/luatexja/jfm-ujis.lua
index 61e48024685..476f063db9b 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/jfm-ujis.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/jfm-ujis.lua
@@ -8,6 +8,7 @@
local t = {
+ version = 3,
dir = 'yoko',
zw = 1.0, zh = 1.0,
kanjiskip = { 0.0, 0.25, 0 },
@@ -260,10 +261,7 @@ local t = {
[99] = { -- box末尾
- chars = {'boxbdd', 'parbdd'},
- glue = {
- [3] = { 0.25, 0.0, 0.25, priority=1 },
- }
+ chars = {'boxbdd', 'parbdd', 'glue'},
},
}
@@ -277,4 +275,13 @@ for i=9758,9778 do ht[#ht+1] = 'AJ1-' .. tostring(i) end
local ht = t[207].chars
for i=9738,9757 do ht[#ht+1] = 'AJ1-' .. tostring(i) end
+t[100]=table.fastcopy(t[0])
+t[100].chars={'nox_alchar'}
+for i,v in pairs(t) do
+ if i~=6 and type(i)=='number' and type(v)=='table' then -- 感嘆符以外
+ if v.glue and v.glue[0] then v.glue[100] = v.glue[0] end
+ if v.kern and v.kern[0] then v.kern[100] = v.kern[0] end
+ end
+end
+
luatexja.jfont.define_jfm(t)
diff --git a/Master/texmf-dist/tex/luatex/luatexja/jfm-ujisv.lua b/Master/texmf-dist/tex/luatex/luatexja/jfm-ujisv.lua
index 4ea0b3b5bc5..a4b1333b698 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/jfm-ujisv.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/jfm-ujisv.lua
@@ -8,6 +8,7 @@
local t = {
+ version = 3,
dir = 'tate',
zw = 1.0, zh = 1.0,
kanjiskip = { 0.0, 0.25, 0 },
@@ -259,10 +260,7 @@ local t = {
},
[99] = { -- box末尾
- chars = {'boxbdd', 'parbdd'},
- glue = {
- [3] = { 0.25, 0.0, 0.25, priority=1 },
- }
+ chars = {'boxbdd', 'parbdd', 'glue'},
},
}
@@ -274,5 +272,13 @@ for i=13274,13294 do ht[#ht+1] = 'AJ1-' .. tostring(i) end
local ht = t[207].chars
for i=13254,13273 do ht[#ht+1] = 'AJ1-' .. tostring(i) end
+t[100]=table.fastcopy(t[0])
+t[100].chars={'nox_alchar'}
+for i,v in pairs(t) do
+ if i~=6 and type(i)=='number' and type(v)=='table' then -- 感嘆符以外
+ if v.glue and v.glue[0] then v.glue[100] = v.glue[0] end
+ if v.kern and v.kern[0] then v.kern[100] = v.kern[0] end
+ end
+end
luatexja.jfont.define_jfm(t)
diff --git a/Master/texmf-dist/tex/luatex/luatexja/lltjext.sty b/Master/texmf-dist/tex/luatex/luatexja/lltjext.sty
index cc8f8a4c4c8..31d218cbc3f 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/lltjext.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/lltjext.sty
@@ -3,9 +3,9 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjext}[2017/05/05 v1.2g-ltj-5 Macros for vertical writing]
+\ProvidesPackage{lltjext}[2017/07/26 v1.2g-ltj-7 Macros for vertical writing]
\RequirePackage{luatexja}
-
+\newcount\ltj@ext@dir
{\catcode`\*=11
\global\let\ltj@lltjext@orig@tabularS=\tabular*
}%
@@ -15,19 +15,20 @@
%%% array and tabular
\def\array{\let\@acol\@arrayacol \let\@classz\@arrayclassz
\let\@classiv\@arrayclassiv
- \let\\\@arraycr\let\@halignto\@empty\X@tabarray}
+ \let\\\@arraycr\let\@halignto\@empty
+ \ltj@ext@dir=\ltjgetparameter{direction}\relax\X@tabarray}
\def\tabular{\let\@halignto\@empty\X@tabular}
\@namedef{tabular*}{\@ifnextchar<%>
- {\@stabular}{\@stabular<Z>}}
+ {\@stabular}{\@stabular<z>}}
\def\X@tabarray{\@ifnextchar<%>
- {\p@tabarray}{\p@tabarray<Z>}}
+ {\p@tabarray}{\p@tabarray<z>}}
\def\X@tabular{\@ifnextchar<%>
- {\p@tabular}{\p@tabular<Z>}}
+ {\p@tabular}{\p@tabular<z>}}
\def\@stabular<#1>#2{%
\setlength\dimen@{#2}%
\edef\@halignto{to\the\dimen@}\p@tabular<#1>}
\def\p@tabular<#1>{\leavevmode \hbox \bgroup
- \count@=\ltjgetparameter{direction}$\let\@acol\@tabacol
+ \ltj@ext@dir=\ltjgetparameter{direction}$\let\@acol\@tabacol
\let\@classz\@tabclassz
\let\@classiv\@tabclassiv \let\\\@tabularcr\p@tabarray<#1>}
\def\p@tabarray<#1>{\m@th\@ifnextchar[%]
@@ -36,7 +37,7 @@
\def\p@array<#1>[#2]#3{%
\let\box@dir\relax
\if #1z\relax
- \ifnum\count@=3\relax
+ \ifnum\ltj@ext@dir=3\relax
\let\box@dir\utod\@tempcnta=\zstrutbox
\fi
\else
@@ -51,7 +52,7 @@
\fi\fi\fi\fi
\fi
\ifx\box@dir\relax
- \ifcase\count@
+ \ifcase\ltj@ext@dir
\or \let\box@dir\dtou\@tempcnta=\dstrutbox% dtou
\or\or\let\box@dir\tate\@tempcnta=\tstrutbox% tate
\or \let\box@dir\yoko\@tempcnta=\ystrutbox% yoko
@@ -65,7 +66,8 @@
\fork@array@option<#1>[#2]%
\@mkpream{#3}\edef\@preamble{\ialign \noexpand\@halignto
\bgroup\@arstrut \@preamble \tabskip\z@skip \cr}%
- \let\tabularnewline\\%
+ \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox
+ \let\tabularnewline\\%
\@begin@alignbox\bgroup\box@dir\adjustbaseline
\let\par\@empty
\let\@sharp##\let\protect\relax
@@ -73,137 +75,86 @@
\def\endarray{\crcr\egroup\egroup\@end@alignbox}
\def\endtabular{\endarray$\egroup}
\expandafter \let \csname endtabular*\endcsname = \endtabular
-% コミュニティ版では、アスキー版で不自然だった表組(array環境およびtabular環境)と
-% 周囲の本文との揃え位置を修正し、以下のように設計しました。
-% \begin{itemize}
-% \item 周囲の組方向が横組かつ組方向が|<y>|, |<z>|指定の場合
-% \begin{itemize}
-% \item |[t]|指定のとき\\一行目のベースラインが周囲のそれと一致(罫線の場合は和文ベースラインの位置)
-% \item |[c]|指定のとき\\表組の中心が周囲の数式軸を通る(欧文ベースラインシフトの影響下)
-% \item |[b]|指定のとき\\最終行のベースラインが周囲のそれと一致(罫線の場合は和文ベースラインの位置)
-% \end{itemize}
-% \item 周囲の組方向が横組かつ組方向が|<t>|指定の場合
-% \begin{itemize}
-% \item |[t]|指定のとき\\表組の上端が周囲の和文ベースラインと一致
-% \item |[c]|指定のとき\\表組の中心が周囲の数式軸を通る(欧文ベースラインシフトの影響下)
-% \item |[b]|指定のとき\\表組の下端が周囲の和文ベースラインと一致
-% \end{itemize}
-% \item 周囲の組方向が縦組かつ組方向が|<y>|指定の場合
-% \begin{itemize}
-% \item |[t]|指定のとき\\表組の上端が周囲の和文ベースラインと一致
-% \item |[c]|指定のとき\\表組の中心が周囲の数式軸を通る(欧文ベースラインシフトの影響下)
-% \item |[b]|指定のとき\\表組の下端が周囲の和文ベースラインと一致
-% \end{itemize}
-% \item 周囲の組方向が縦組かつ組方向が|<t>|指定の場合
-% \begin{itemize}
-% \item |[t]|指定のとき\\一行目のベースラインが周囲のそれと一致(罫線の場合は和文ベースラインの位置)
-% \item |[c]|指定のとき\\表組の中心が周囲の数式軸を通る(欧文ベースラインシフトの影響下)
-% \item |[b]|指定のとき\\最終行のベースラインが周囲のそれと一致(罫線の場合は和文ベースラインの位置)
-% \end{itemize}
-% \item 周囲の組方向が縦組かつ組方向が|<z>|指定の場合
-% [TODO] 未定!
-%^^A \begin{itemize}
-%^^A \item |[t]|指定のとき\\表組の上端が周囲の和文ベースラインと一致
-%^^A \item |[c]|指定のとき\\表組の中心が周囲の数式軸を通る(欧文ベースラインシフトの影響下)
-%^^A \item |[b]|指定のとき\\表組の下端が周囲の和文ベースラインと一致
-%^^A \end{itemize}
-\def\fork@array@option<#1>[#2]{%
-\ifnum\ltjgetparameter{direction}=4 % yoko
- \ifx\box@dir\yoko
- \if #2t\relax
- \let\@begin@alignbox\vtop
- \let\@end@alignbox\relax
- \else\if #2b\relax
- \let\@begin@alignbox\vbox
- \let\@end@alignbox\relax
- \else
- \let\@begin@alignbox\vcenter
- \let\@end@alignbox\relax
- \fi\fi
+% ↓中身\周囲→ yoko tate utod dtou
+% yoko A* B* B B
+% tate B* A* D C
+% utod B D* A C
+% dtou B C C A
+% A: 周囲と中身の組方向が一致.そのまま \vtop/\vcenter/\vbox
+% B: 周囲と中身が90度ずれ.上端/下端がベースラインに揃うように
+% C: 周囲と中身が180度ずれ.\vtop, \vbox 入れ替え
+% D: 欧文ベースライン同士を揃えるようにする
+
+\def\fork@array@option@@A#1{%
+ \let\@end@alignbox\relax
+ \if #1t\relax \let\@begin@alignbox\vtop
+ \else\if #1b\relax\let\@begin@alignbox\vbox
+ \else \let\@begin@alignbox\vcenter
+ \fi\fi}
+\def\fork@array@option@@B#1{%
+ \if #1t\relax
+ \def\@begin@alignbox{\vtop\bgroup\kern\z@\vbox}%
+ \let\@end@alignbox\egroup
+ \else\if #1b\relax
+ \def\@begin@alignbox{\vbox\bgroup\vbox}%
+ \def\@end@alignbox{\kern\z@\egroup}%
\else
- \if #2t\relax
- \def\@begin@alignbox{\vtop\bgroup\kern\z@\vbox}%
- \let\@end@alignbox\egroup
- \else\if #2b\relax
- \def\@begin@alignbox{\vbox\bgroup\vbox}%
- \def\@end@alignbox{\kern\z@\egroup}%
- \else
- \let\@begin@alignbox\vcenter
- \let\@end@alignbox\relax
- \fi\fi
+ \let\@begin@alignbox\vcenter
+ \let\@end@alignbox\relax
+ \fi\fi}
+\def\fork@array@option@@C#1{%
+ \let\@end@alignbox\relax
+ \if #1t\relax \let\@begin@alignbox\vbox
+ \else\if #1b\relax\let\@begin@alignbox\vtop
+ \else \let\@begin@alignbox\vcenter
+ \fi\fi}
+\def\fork@array@option<#1>[#2]{%
+\ifnum\ltj@ext@dir=4 % yoko
+ \ifx\box@dir\yoko \fork@array@option@@A{#2}%
+ \else \fork@array@option@@B{#2}%
\fi
-\else\ifnum\ltjgetparameter{direction}=1 % dtou
- \ifx\box@dir\yoko
- \if #2t\relax
- \def\@begin@alignbox{\vtop\bgroup\kern\z@\vbox}%
- \let\@end@alignbox\egroup
- \else\if #2b\relax
- \def\@begin@alignbox{\vbox\bgroup\vbox}%
- \def\@end@alignbox{\kern\z@\egroup}%
- \else
- \let\@begin@alignbox\vcenter
- \let\@end@alignbox\relax
- \fi\fi
- \else\ifx\box@dir\dtou
- \if #2t\relax
- \let\@begin@alignbox\vtop
- \let\@end@alignbox\relax
- \else\if #2b\relax
- \let\@begin@alignbox\vbox
- \let\@end@alignbox\relax
- \else
- \let\@begin@alignbox\vcenter
- \let\@end@alignbox\relax
- \fi\fi
- \else % 180 度回転→vtop, vbox を入れ替える
- \if #2t\relax
- \let\@begin@alignbox\vbox %%% !!!
- \let\@end@alignbox\relax
- \else\if #2b\relax
- \let\@begin@alignbox\vtop %%% !!!
- \let\@end@alignbox\relax
- \else
- \let\@begin@alignbox\vcenter
- \let\@end@alignbox\relax
- \fi\fi
+\else\ifnum\ltj@ext@dir=1 % dtou
+ \ifx\box@dir\yoko \fork@array@option@@B{#2}%
+ \else\ifx\box@dir\dtou \fork@array@option@@A{#2}%
+ \else \fork@array@option@@C{#2}%
\fi\fi
-\else % tate, utod
- \ifx\box@dir\yoko
+\else\ifnum\ltj@ext@dir=3 % tate
+ \ifx\box@dir\yoko \fork@array@option@@B{#2}%
+ \else\ifx\box@dir\tate \fork@array@option@@A{#2}%
+ \else\ifx\box@dir\dtou \fork@array@option@@C{#2}%
+ \else
\if #2t\relax
- \def\@begin@alignbox{\vtop\bgroup\kern\z@\vbox}%
- \let\@end@alignbox\egroup
+ \def\@begin@alignbox{\lower\dimexpr
+ \ltjgetparameter{talbaselineshift}-\ltjgetparameter{yalbaselineshift}\vtop}
+ \let\@end@alignbox\relax
\else\if #2b\relax
- \def\@begin@alignbox{\vbox\bgroup\vbox}%
- \def\@end@alignbox{\kern\z@\egroup}%
+ \def\@begin@alignbox{\lower\dimexpr
+ \ltjgetparameter{talbaselineshift}-\ltjgetparameter{yalbaselineshift}\vbox}
+ \let\@end@alignbox\relax
\else
\let\@begin@alignbox\vcenter
\let\@end@alignbox\relax
\fi\fi
- \else\ifx\box@dir\dtou % 180 度回転→vtop, vbox を入れ替える
+ \fi\fi\fi
+\else % utod
+ \ifx\box@dir\yoko \fork@array@option@@B{#2}%
+ \else\ifx\box@dir\utod \fork@array@option@@A{#2}%
+ \else\ifx\box@dir\dtou \fork@array@option@@C{#2}%
+ \else
\if #2t\relax
- \let\@begin@alignbox\vbox %%% !!!
+ \def\@begin@alignbox{\lower\dimexpr
+ \ltjgetparameter{yalbaselineshift}-\ltjgetparameter{talbaselineshift}\vtop}
\let\@end@alignbox\relax
\else\if #2b\relax
- \let\@begin@alignbox\vtop %%% !!!
+ \def\@begin@alignbox{\lower\dimexpr
+ \ltjgetparameter{yalbaselineshift}-\ltjgetparameter{talbaselineshift}\vbox}
\let\@end@alignbox\relax
\else
\let\@begin@alignbox\vcenter
\let\@end@alignbox\relax
\fi\fi
- \else
- \if #2t\relax
- \let\@begin@alignbox\vtop
- \let\@end@alignbox\relax
- \else\if #2b\relax
- \let\@begin@alignbox\vbox
- \let\@end@alignbox\relax
- \else
- \let\@begin@alignbox\vcenter
- \let\@end@alignbox\relax
- \fi\fi
- \fi\fi
-\fi\fi%
-}
+ \fi\fi\fi
+\fi\fi\fi}
%%% caption
\newbox\@floatbox
@@ -414,45 +365,53 @@
\let\hss\vss\let\unhbox\unvbox
\csname bm@#4\endcsname}\@end@parbox
\@end@tempboxa}
-% コミュニティ版では、アスキー版で不自然だった|\parbox|の箱と
-% 周囲の本文との揃え位置を修正し、以下のように設計しました。
-% \begin{itemize}
-% \item 周囲の組方向が横組かつ組方向が|<y>|, |<z>|指定の場合
-% \begin{itemize}
-% \item |[t]|指定のとき\\一行目のベースラインが周囲のそれと一致
-% \item |[c]|指定のとき\\箱の中心が周囲の数式軸を通る(欧文ベースラインシフトの影響下)
-% \item |[b]|指定のとき\\最終行のベースラインが周囲のそれと一致
-% \end{itemize}
-% \item 周囲の組方向が横組かつ組方向が|<t>|指定の場合
-% \begin{itemize}
-% \item |[t]|指定のとき\\箱の上端が周囲の和文文字の高さと一致
-% \item |[c]|指定のとき\\箱の中心が周囲の数式軸を通る(欧文ベースラインシフトの影響下)
-% \item |[b]|指定のとき\\箱の下端が周囲の和文文字の深さと一致
-% \end{itemize}
-% \item 周囲の組方向が縦組かつ組方向が|<y>|指定の場合
-% \begin{itemize}
-% \item |[t]|指定のとき\\箱の上端が周囲の和文文字の高さと一致
-% \item |[c]|指定のとき\\箱の中心が周囲の数式軸を通る(欧文ベースラインシフトの影響下)
-% \item |[b]|指定のとき\\箱の下端が周囲の和文文字の深さと一致
-% \end{itemize}
-% \item 周囲の組方向が縦組かつ組方向が|<t>|指定の場合
-% \begin{itemize}
-% \item |[t]|指定のとき\\一行目のベースラインが周囲のそれと一致
-% \item |[c]|指定のとき\\箱の中心が周囲の数式軸を通る(欧文ベースラインシフトの影響下)
-% \item |[b]|指定のとき\\最終行のベースラインが周囲のそれと一致
-% \end{itemize}
-% \item 周囲の組方向が縦組かつ組方向が|<z>|指定の場合
-% [TODO] 未定!
-%^^A \begin{itemize}
-%^^A \item |[t]|指定のとき\\箱の上端が周囲の和文ベースラインと一致
-%^^A \item |[c]|指定のとき\\箱の中心が周囲の数式軸を通る(欧文ベースラインシフトの影響下)
-%^^A \item |[b]|指定のとき\\箱の下端が周囲の和文ベースラインと一致
-%^^A \end{itemize}
-% \end{itemize}
+
+
+% ↓中身\周囲→ yoko tate utod dtou
+% yoko A* B* B B
+% tate B* A* D C
+% utod B D* A C
+% dtou B C C A
+% A: 周囲と中身の組方向が一致.そのまま \vtop/\vcenter/\vbox
+% B: 周囲と中身が90度ずれ.上端が和文の高さ or 下端が和文の深さに揃うように
+% C: 周囲と中身が180度ずれ.(コードは B のものを流用)
+% D: 上端が和文の高さ or 下端が和文の深さに揃うように(コードは B のものを流用)
+
+\def\fork@parbox@option@@A#1{%
+ \let\@end@parbox\relax
+ \if #1t\relax \let\@begin@parbox\vtop
+ \else\if #1b\relax\let\@begin@parbox\vbox
+ \else
+ \ifmmode
+ \let\@begin@parbox\vcenter\let\@end@parbox\relax
+ \else
+ \def\@begin@parbox{\null$\vcenter}%
+ \def\@end@parbox{\m@th$\null}%
+ \fi
+ \fi\fi}
+\def\lltjext@getjablshift{%
+ \ifnum\ltj@ext@dir=3 \ltjgetparameter{tjabaselineshift}\else
+ \ltjgetparameter{yjabaselineshift}\fi}
+\def\fork@parbox@option@@B#1{%
+ \if #1t\relax
+ \def\@begin@parbox{\raise\dimexpr\cht-\lltjext@getjablshift\vtop\bgroup\kern\z@\vbox}%
+ \let\@end@parbox\egroup
+ \else\if #1b\relax
+ \def\@begin@parbox{\lower\dimexpr\cdp+\lltjext@getjablshift\vbox\bgroup\vbox}%
+ \def\@end@parbox{\kern\z@\egroup}%
+ \else
+ \ifmmode
+ \let\@begin@parbox\vcenter\let\@end@parbox\relax
+ \else
+ \def\@begin@parbox{\null$\vcenter}%
+ \def\@end@parbox{\m@th$\null}%
+ \fi
+ \fi\fi}
+\let\fork@parbox@option@@C=\fork@parbox@option@@B
\def\fork@parbox@option<#1>[#2]{%
- \let\box@dir\relax
+ \let\box@dir\relax \ltj@ext@dir=\ltjgetparameter{direction}\relax
\if #1z\relax
- \ifnum\ltjgetparameter{direction}=3\relax
+ \ifnum\ltj@ext@dir=3\relax
\let\box@dir\utod
\fi
\else
@@ -463,141 +422,35 @@
\fi\fi\fi\fi
\fi
\ifx\box@dir\relax
- \ifcase\ltjgetparameter{direction}\relax
+ \ifcase\ltj@ext@dir
\or \let\box@dir\dtou
\or\or\let\box@dir\tate
\or \let\box@dir\yoko
\else \let\box@dir\utod
\fi
\fi
-\ifnum\ltjgetparameter{direction}=4 % yoko
- \ifx\box@dir\yoko
- \if #2t\relax
- \let\@begin@parbox\vtop
- \let\@end@parbox\relax
- \else\if #2b\relax
- \let\@begin@parbox\vbox
- \let\@end@parbox\relax
- \else
- \ifmmode
- \let\@begin@parbox\vcenter\let\@end@parbox\relax
- \else
- \def\@begin@parbox{\null$\vcenter}%
- \def\@end@parbox{\m@th$\null}%
- \fi
- \fi\fi
- \else
- \if #2t\relax
- \def\@begin@parbox{\raise\cht\vtop\bgroup\kern\z@\vbox}%
- \let\@end@parbox\egroup
- \else\if #2b\relax
- \def\@begin@parbox{\lower\cdp\vbox\bgroup\vbox}%
- \def\@end@parbox{\kern\z@\egroup}%
- \else
- \ifmmode
- \let\@begin@parbox\vcenter\let\@end@parbox\relax
- \else
- \def\@begin@parbox{\null$\vcenter}%
- \def\@end@parbox{\m@th$\null}%
- \fi
- \fi\fi
+\ifnum\ltj@ext@dir=4 % yoko
+ \ifx\box@dir\yoko \fork@parbox@option@@A{#2}%
+ \else \fork@parbox@option@@B{#2}%
\fi
-\else\ifnum\ltjgetparameter{direction}=1 % dtou
- \ifx\box@dir\yoko
- \if #2t\relax
- \def\@begin@parbox{\raise\cht\vtop\bgroup\kern\z@\vbox}%
- \let\@end@parbox\egroup
- \else\if #2b\relax
- \def\@begin@parbox{\lower\cdp\vbox\bgroup\vbox}%
- \def\@end@parbox{\kern\z@\egroup}%
- \else
- \ifmmode
- \let\@begin@parbox\vcenter\let\@end@parbox\relax
- \else
- \def\@begin@parbox{\null$\vcenter}%
- \def\@end@parbox{\m@th$\null}%
- \fi
- \fi\fi
- \else\ifx\box@dir\dtou
- \if #2t\relax
- \let\@begin@parbox\vtop
- \let\@end@parbox\relax
- \else\if #2b\relax
- \let\@begin@parbox\vbox
- \let\@end@parbox\relax
- \else
- \ifmmode
- \let\@begin@parbox\vcenter\let\@end@parbox\relax
- \else
- \def\@begin@parbox{\null$\vcenter}%
- \def\@end@parbox{\m@th$\null}%
- \fi
- \fi\fi
- \else % 180 度回転→vtop, vbox を入れ替える
- \if #2t\relax
- \let\@begin@parbox\vbox %%% !!!
- \let\@end@parbox\relax
- \else\if #2b\relax
- \let\@begin@parbox\vtop %%% !!!
- \let\@end@parbox\relax
- \else
- \ifmmode
- \let\@begin@parbox\vcenter\let\@end@parbox\relax
- \else
- \def\@begin@parbox{\null$\vcenter}%
- \def\@end@parbox{\m@th$\null}%
- \fi
- \fi\fi
+\else\ifnum\ltj@ext@dir=1 % dtou
+ \ifx\box@dir\yoko \fork@parbox@option@@B{#2}%
+ \else\ifx\box@dir\dtou \fork@parbox@option@@A{#2}%
+ \else \fork@parbox@option@@C{#2}%
\fi\fi
-\else % tate, utod
- \ifx\box@dir\yoko
- \if #2t\relax
- \def\@begin@parbox{\raise\cht\vtop\bgroup\kern\z@\vbox}%
- \let\@end@parbox\egroup
- \else\if #2b\relax
- \def\@begin@parbox{\lower\cdp\vbox\bgroup\vbox}%
- \def\@end@parbox{\kern\z@\egroup}%
- \else
- \ifmmode
- \let\@begin@parbox\vcenter\let\@end@parbox\relax
- \else
- \def\@begin@parbox{\null$\vcenter}%
- \def\@end@parbox{\m@th$\null}%
- \fi
- \fi\fi
- \else\ifx\box@dir\dtou % 180 度回転→vtop, vbox を入れ替える
- \if #2t\relax
- \let\@begin@parbox\vbox %%% !!!
- \let\@end@parbox\relax
- \else\if #2b\relax
- \let\@begin@parbox\vtop %%% !!!
- \let\@end@parbox\relax
- \else
- \ifmmode
- \let\@begin@parbox\vcenter\let\@end@parbox\relax
- \else
- \def\@begin@parbox{\null$\vcenter}%
- \def\@end@parbox{\m@th$\null}%
- \fi
- \fi\fi
- \else
- \if #2t\relax
- \let\@begin@parbox\vtop
- \let\@end@parbox\relax
- \else\if #2b\relax
- \let\@begin@parbox\vbox
- \let\@end@parbox\relax
- \else
- \ifmmode
- \let\@begin@parbox\vcenter\let\@end@parbox\relax
- \else
- \def\@begin@parbox{\null$\vcenter}%
- \def\@end@parbox{\m@th$\null}%
- \fi
- \fi\fi
- \fi\fi
-\fi\fi%
-}
+\else\ifnum\ltj@ext@dir=3 % tate
+ \ifx\box@dir\yoko \fork@parbox@option@@B{#2}%
+ \else\ifx\box@dir\tate \fork@parbox@option@@A{#2}%
+ \else\ifx\box@dir\dtou \fork@parbox@option@@C{#2}%
+ \else \fork@parbox@option@@B{#2}% D
+ \fi\fi\fi
+\else % utod
+ \ifx\box@dir\yoko \fork@parbox@option@@B{#2}%
+ \else\ifx\box@dir\utod \fork@parbox@option@@A{#2}%
+ \else\ifx\box@dir\dtou \fork@parbox@option@@C{#2}%
+ \else \fork@parbox@option@@B{#2}% D
+ \fi\fi\fi
+\fi\fi\fi}
%%% pbox
\DeclareRobustCommand\pbox{\leavevmode\@ifnextchar<{\X@makePbox}{\X@makePbox<Z>}}
@@ -798,19 +651,21 @@
\def\ltj@lltjext@patch@array{%
\patchcmd{\@tabular}{\hbox\bgroup}{%
- \hbox\bgroup\count@=\ltjgetparameter{direction}}{}{}
+ \hbox\bgroup\ltj@ext@dir=\ltjgetparameter{direction}}{}{}
+ \pretocmd{\array}%
+ {\ltj@ext@dir=\ltjgetparameter{direction}\relax}{}{}
\def\@startpbox##1{\bgroup
\box@dir\adjustbaseline%%% これを追加
- \hsize=##1\@arrayparboxrestore
+ \setlength\hsize{##1}\@arrayparboxrestore
\everypar{%
\vrule \@height \ltjgetht\@arstrutbox \@width \z@
\everypar{}}%
}
- \def\@tabarray{\@ifnextchar<\p@tabarray{\p@tabarray<Z>}}
+ \def\@tabarray{\@ifnextchar<\p@tabarray{\p@tabarray<z>}}
\def\p@array<##1>[##2]##3{%
\let\box@dir\relax
\if ##1z\relax
- \ifnum\count@=3\relax
+ \ifnum\ltj@ext@dir=3\relax
\let\box@dir\utod\@tempcnta=\zstrutbox
\fi
\else
@@ -825,7 +680,7 @@
\fi\fi\fi\fi
\fi
\ifx\box@dir\relax
- \ifcase\count@
+ \ifcase\ltj@ext@dir
\or \let\box@dir\dtou\@tempcnta=\dstrutbox% dtou
\or\or\let\box@dir\tate\@tempcnta=\tstrutbox% tate
\or \let\box@dir\yoko\@tempcnta=\ystrutbox% yoko
@@ -868,7 +723,7 @@
%%%%%%%%%%%%%%%% LuaTeX-ja original
-\define@key[ltj]{japaram}{autouprightnum}{% %COUNT
- \ltj@@set@stack{AURN}{0}{10000}\z@#1 }
+%%\define@key[ltj]{japaram}{autouprightnum}{% %COUNT
+%% \ltj@@set@stack{AURN}{0}{10000}\z@#1 }
\endinput
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-direction.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-direction.lua
index 52286624ca9..9d650f2020a 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-direction.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-direction.lua
@@ -530,7 +530,7 @@ do
start_time_measure('box_primitive_hook')
local list_dir = get_dir_count()%dir_math_mod
local b = getbox(tex_getcount('ltj@tempcnta'))
- if b then
+ if b and getlist(to_direct(b)) then
local box_dir = get_box_dir(to_direct(b), dir_yoko)
if box_dir%dir_math_mod ~= list_dir then
ltjb.package_error(
@@ -1159,7 +1159,6 @@ do
finalize_inner(shipout_temp)
setbox('global', "AtBeginShipoutBox", copy(getlist(shipout_temp)))
setfield(shipout_temp, 'head',nil)
-
-- garbage collect
--local m = collectgarbage('count')
--if m>lua_mem_kb+20480 then
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-ivd_aj1.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-ivd_aj1.lua
new file mode 100644
index 00000000000..709cfb33075
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-ivd_aj1.lua
@@ -0,0 +1,23091 @@
+return {
+version = 2,
+table_ivd_aj1 = {
+-- # IVD_Sequences
+-- #
+-- # History:
+-- #
+-- # 2016-08-15 Combined registration of the MSARG collection and of
+-- # sequences in that collection.
+-- #
+-- # 2014-05-16 Combined registration of the Moji_Joho collection and of
+-- # sequences in that collection.
+-- #
+-- # 2012-07-02 File restored due to corruption on the server.
+-- #
+-- # 2012-03-02 Registration of additional sequences in the Adobe-Japan1
+-- # collection. Registration of additional sequences in the
+-- # Hanyo-Denshi collection.
+-- #
+-- # 2010-11-14 Combined registration of the Hanyo-Denshi collection and
+-- # of sequences in that collection.
+-- #
+-- # 2007-12-14 Combined registration of the Adobe-Japan1 collection and
+-- # of sequences in that collection.
+-- #
+-- # This file is part of the Unicode Ideographic Variation Database (IVD).
+-- # For more details on the IVD, see UTS #37:
+-- # http://www.unicode.org/reports/tr37/
+-- #
+-- # Copyright 2006-2016 Unicode, Inc.
+-- # For terms of use, see: http://www.unicode.org/terms_of_use.html
+-- #
+-- # EOF
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ 2117341,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ 2117276,
+ 2118934,
+ 2120195,
+ 2135615,
+ 2118848,
+ 2122011,
+ 2122536,
+ 2120182,
+ 2134050,
+ 2131061,
+ 2130716,
+ 2128464,
+ 2121898,
+ 2122721,
+ 2125349,
+ 2123245,
+ 2131046,
+ 2130598,
+ 2137077,
+ 2123923,
+ 2119463,
+ 2123169,
+ 2122353,
+ 2120603,
+ 2120144,
+ 2131579,
+ 2136308,
+ 2129250,
+ 2129342,
+ 2136974,
+ 2122262,
+ 2129055,
+ 2132151,
+ 2120585,
+ 2121397,
+ 2122505,
+ 2123415,
+ 2123848,
+ 2135495,
+ 2135949,
+ 2123599,
+ 2117349,
+ 2117386,
+ 2117453,
+ 2117533,
+ 2117705,
+ 2119410,
+ 2119991,
+ 2120148,
+ 2120193,
+ 2120713,
+ 2121951,
+ 2121999,
+ 2122096,
+ 2123283,
+ 2124037,
+ 2126010,
+ 2127183,
+ 2127216,
+ 2128379,
+ 2129325,
+ 2129391,
+ 2130115,
+ 2130958,
+ 2132067,
+ 2132738,
+ 2134101,
+ 2134138,
+ 2118459,
+ 2117269,
+ 2117285,
+ 2119647,
+ 2130098,
+ 2134209,
+ 2128111,
+ 2117120,
+ 2119921,
+ 2125474,
+ 2134072,
+ 2128434,
+ 2130728,
+ 2130571,
+ 2137135,
+ 2117953,
+ 2118512,
+ 2118845,
+ 2118881,
+ 2119392,
+ 2120187,
+ 2121493,
+ 2136306,
+ 2125291,
+ 2130148,
+ 2131245,
+ 2135650,
+ 2135664,
+ 2135712,
+ 2136059,
+ 2118667,
+ 2118643,
+ 2120583,
+ 2126031,
+ 4227005,
+ 2133954,
+ 2135784,
+ 2118511,
+ 2137436,
+ 2128570,
+ 2117137,
+ 2128019,
+ 2130428,
+ 2125350,
+ 2119192,
+ 2118916,
+ 2124573,
+ 2131226,
+ 2137147,
+ 2120165,
+ 2118569,
+ 2125158,
+ 2127068,
+ 2135439,
+ 2119234,
+ 2117265,
+ 2134091,
+ 2135794,
+ 2130767,
+ 2136332,
+ 2118625,
+ 2119094,
+ 2120496,
+ 2121585,
+ 2123296,
+ 2123507,
+ 2123780,
+ 2124856,
+ 2125043,
+ 2125097,
+ 2126939,
+ 2127560,
+ 2128462,
+ 2136116,
+ 2130673,
+ 2132059,
+ 2132576,
+ 2134765,
+ 2125234,
+ 2127275,
+ 2127562,
+ 2136517,
+ 2121894,
+ 4229889,
+ 2133386,
+ 2135474,
+ 2124174,
+ 2118573,
+ 2118022,
+ 2119442,
+ 2119728,
+ 2120004,
+ 2120628,
+ 2121462,
+ 2121768,
+ 2122665,
+ 2122740,
+ 4222143,
+ 2125588,
+ 2125966,
+ 2126100,
+ 2126169,
+ 2126293,
+ 2126655,
+ 2129409,
+ 2130550,
+ 2130641,
+ 2131351,
+ 2134112,
+ 2134619,
+ 2137371,
+ 2119785,
+ 2123196,
+ 2124890,
+ 2127141,
+ 2118137,
+ 2119982,
+ 2120037,
+ 2121600,
+ 2121692,
+ 2122428,
+ 2123258,
+ 2124330,
+ 2124583,
+ 2124724,
+ 2126731,
+ 2129857,
+ 2132310,
+ 2137388,
+ 2137358,
+ 2137796,
+ 2120865,
+ 2124950,
+ 2130811,
+ 2117892,
+ 2120779,
+ 2122166,
+ 2130374,
+ 2123894,
+ 2126433,
+ 2117209,
+ 2117626,
+ 2118520,
+ 2121833,
+ 2125353,
+ 2128463,
+ 2136051,
+ 2117131,
+ 2118422,
+ 2117358,
+ 2117461,
+ 2117437,
+ 2117537,
+ 2117491,
+ 2118304,
+ 2118639,
+ 2119177,
+ 2119951,
+ 2120385,
+ 2120630,
+ 2120673,
+ 2128337,
+ 2123399,
+ 2123676,
+ 2123702,
+ 2124620,
+ 2124979,
+ 2125931,
+ 2126786,
+ 4225421,
+ 2128318,
+ 2128444,
+ 2128775,
+ 2130609,
+ 2130651,
+ 2130692,
+ 2130807,
+ 2130927,
+ 2130899,
+ 2131814,
+ 2132658,
+ 2119209,
+ 2133160,
+ 2133990,
+ 2134094,
+ 2135838,
+ 2131594,
+ 2117572,
+ 2120936,
+ 2122257,
+ 2126425,
+ 2127163,
+ 2130405,
+ 4227773,
+ 2131710,
+ 2133184,
+ 2135749,
+ 2136339,
+ 2136533,
+ 2117323,
+ 2117402,
+ 2132451,
+ 2119390,
+ 2119754,
+ 2119882,
+ 2121467,
+ 2121707,
+ 2121770,
+ 4219028,
+ 2121826,
+ 2122192,
+ 2122258,
+ 2122448,
+ 2123065,
+ 2136897,
+ 2123366,
+ 2123952,
+ 4222327,
+ 2125936,
+ 2127180,
+ 2127494,
+ 2129269,
+ 2130597,
+ 2131961,
+ 2135435,
+ 2135694,
+ 2133149,
+ 2118129,
+ 2118334,
+ 2119958,
+ 2118835,
+ 2120627,
+ 2120982,
+ 2122088,
+ 2124162,
+ 2125231,
+ 2128013,
+ 2131147,
+ 2132055,
+ 2132594,
+ 2134951,
+ 2136760,
+ 2125164,
+ 2136488,
+ 2131673,
+ 2119587,
+ 2123775,
+ 2131662,
+ 2134542,
+ 2118275,
+ 2119303,
+ 2118660,
+ 2121427,
+ 2122465,
+ 2122937,
+ 2123836,
+ 2123832,
+ 2124731,
+ 2126706,
+ 2128058,
+ 2128491,
+ 2132378,
+ 4229586,
+ 2133355,
+ 2133763,
+ 2134253,
+ 2135459,
+ 2135700,
+ 2135913,
+ 2120550,
+ 2120883,
+ 2124157,
+ 2136141,
+ 2136142,
+ 2122651,
+ 2128672,
+ 2124331,
+ 2124415,
+ 2123958,
+ 2137101,
+ 2125663,
+ 4215410,
+ 2119069,
+ 2121840,
+ 2122476,
+ 2125115,
+ 2125319,
+ 2125521,
+ 2131035,
+ 2132240,
+ 2133828,
+ 2117140,
+ 2137145,
+ 2118646,
+ 2124059,
+ 2124346,
+ 2135940,
+ 2123818,
+ 2117980,
+ 2128579,
+ 2131122,
+ 2134492,
+ 2134924,
+ 2119259,
+ 2137384,
+ 2123810,
+ 2130693,
+ 2130993,
+ 2129061,
+ 2118152,
+ 2130629,
+ 2127078,
+ 2117246,
+ 2117507,
+ 2118048,
+ 2120658,
+ 2118154,
+ 2118360,
+ 2118375,
+ 2121211,
+ 2119066,
+ 2119722,
+ 2120166,
+ 2120588,
+ 2120600,
+ 2120667,
+ 2121330,
+ 2121337,
+ 2121891,
+ 2122015,
+ 2122083,
+ 2122174,
+ 2122715,
+ 2123106,
+ 2123729,
+ 2123859,
+ 2124026,
+ 2124606,
+ 2124627,
+ 2124887,
+ 2125602,
+ 2125719,
+ 2125637,
+ 2127024,
+ 2127128,
+ 2127587,
+ 2127627,
+ 2128639,
+ 2128801,
+ 2128929,
+ 2129385,
+ 2129718,
+ 2129904,
+ 2130077,
+ 2130534,
+ 2130846,
+ 2132403,
+ 2132684,
+ 2133163,
+ 2134148,
+ 2135121,
+ 2135443,
+ 2135441,
+ 2135458,
+ 2135653,
+ 2136019,
+ 2136360,
+ 2130456,
+ 2117176,
+ 2118699,
+ 2120888,
+ 2121164,
+ 2126761,
+ 2127436,
+ 2127676,
+ 2120873,
+ 2129899,
+ 2133259,
+ 2135745,
+ 2136081,
+ 2136148,
+ 2136152,
+ 2117377,
+ 2117390,
+ 2118513,
+ 2119068,
+ 2119272,
+ 2119674,
+ 2120007,
+ 2120457,
+ 2120644,
+ 2120848,
+ 2121228,
+ 2121342,
+ 2121676,
+ 2122734,
+ 2123578,
+ 2123223,
+ 4220386,
+ 2123551,
+ 2123979,
+ 2123972,
+ 2124383,
+ 2121264,
+ 2124741,
+ 2124823,
+ 2124925,
+ 2127231,
+ 4225352,
+ 2120547,
+ 2128384,
+ 2129152,
+ 2121661,
+ 2132367,
+ 2132504,
+ 2133172,
+ 2133367,
+ 2133708,
+ 2133789,
+ 2136290,
+ 2136590,
+ 2136892,
+ 2117248,
+ 2117757,
+ 2117888,
+ 2120083,
+ 2120604,
+ 2122287,
+ 2122368,
+ 2122988,
+ 2124602,
+ 2126496,
+ 2127249,
+ 2128199,
+ 2129833,
+ 2131963,
+ 2132668,
+ 2132848,
+ 2122668,
+ 2130890,
+ 2135968,
+ 2118665,
+ 2118659,
+ 2119083,
+ 2123860,
+ 2124376,
+ 2132592,
+ 2127911,
+ 2123637,
+ 2137805,
+ 2118516,
+ 2120610,
+ 2130202,
+ 2131536,
+ 2134022,
+ 2117144,
+ 2117189,
+ 2117319,
+ 2117393,
+ 2118602,
+ 2118712,
+ 2120622,
+ 2121491,
+ 2121765,
+ 2123089,
+ 2123581,
+ 2124866,
+ 2124914,
+ 2125027,
+ 2125944,
+ 2126851,
+ 2128502,
+ 2128558,
+ 2128648,
+ 2129178,
+ 2129150,
+ 2129254,
+ 2123239,
+ 2126427,
+ 2118587,
+ 2120773,
+ 2121192,
+ 2122450,
+ 2122464,
+ 2122521,
+ 2125344,
+ 2131546,
+ 2132529,
+ 2133469,
+ 2134776,
+ 2125569,
+ 2128294,
+ 2136922,
+ 2117288,
+ 2117291,
+ 2117292,
+ 2117531,
+ 2117536,
+ 2117841,
+ 2117959,
+ 2128630,
+ 2118001,
+ 2118134,
+ 2118484,
+ 2118433,
+ 4215679,
+ 2118635,
+ 2119084,
+ 2119811,
+ 2120929,
+ 2121527,
+ 2121546,
+ 2121775,
+ 2121808,
+ 2121837,
+ 2122527,
+ 2123097,
+ 2124363,
+ 2124993,
+ 2126530,
+ 2126573,
+ 2127855,
+ 2130168,
+ 2130181,
+ 2130440,
+ 2131278,
+ 2134263,
+ 2135009,
+ 2136063,
+ 2136407,
+ 2136666,
+ 2117360,
+ 2118109,
+ 2120749,
+ 2123393,
+ 2124141,
+ 2120768,
+ 2123506,
+ 2124149,
+ 2126729,
+ 2123856,
+ 2129025,
+ 2117829,
+ 2118372,
+ 2119495,
+ 2121214,
+ 2134822,
+ 2123172,
+ 2124579,
+ 2124605,
+ 2126900,
+ 2128257,
+ 2128317,
+ 2128715,
+ 2129354,
+ 2130617,
+ 2130892,
+ 2132095,
+ 2132319,
+ 4229945,
+ 2133969,
+ 2134481,
+ 2118687,
+ 2134656,
+ 2117213,
+ 2117686,
+ 2118629,
+ 2118458,
+ 2126551,
+ 2126742,
+ 2127849,
+ 2130662,
+ 2133679,
+ 2136518,
+ 2136520,
+ 2136530,
+ 2118007,
+ 2122010,
+ 2131550,
+ 2119088,
+ 2128506,
+ 2117750,
+ 2120659,
+ 2134087,
+ 2135685,
+ 2117170,
+ 4221659,
+ 2134503,
+ 2120785,
+ 2120776,
+ 2122648,
+ 2128543,
+ 2124947,
+ 2135924,
+ 2133857,
+ 2128554,
+ 2126218,
+ 2135688,
+ 2129026,
+ 2123799,
+ 2129520,
+ 2123857,
+ 2134892,
+ 2118386,
+ 2118683,
+ 2131371,
+ 2132499,
+ 2129828,
+ 2133709,
+ 2134241,
+ 2118502,
+ 2132104,
+ 2128193,
+ 2117570,
+ 2117822,
+ 2118161,
+ 2117956,
+ 2118995,
+ 2119469,
+ 2126826,
+ 2119563,
+ 2120017,
+ 2121570,
+ 2121604,
+ 2121845,
+ 2122102,
+ 2122087,
+ 2122153,
+ 2122674,
+ 2122810,
+ 2123116,
+ 2123375,
+ 2123842,
+ 2125331,
+ 2127206,
+ 2128445,
+ 2129147,
+ 2129228,
+ 2129305,
+ 2129483,
+ 2129771,
+ 2130702,
+ 2130762,
+ 2131661,
+ 2132488,
+ 2132579,
+ 2132838,
+ 2133757,
+ 2136090,
+ 2137487,
+ 2130616,
+ 2133966,
+ 2137064,
+ 2118279,
+ 2122271,
+ 2122883,
+ 2125760,
+ 2135705,
+ 2123841,
+ 2117777,
+ 2124576,
+ 2124922,
+ 2125652,
+ 2128500,
+ 2129232,
+ 2132032,
+ 2132515,
+ 2123528,
+ 2117366,
+ 2117689,
+ 2117670,
+ 2117733,
+ 2118012,
+ 2118200,
+ 2118243,
+ 2119079,
+ 2119439,
+ 2119685,
+ 2120396,
+ 2121466,
+ 2122162,
+ 2122232,
+ 2122483,
+ 2122610,
+ 2124060,
+ 2124329,
+ 2126461,
+ 2126508,
+ 2126638,
+ 2127892,
+ 2127983,
+ 2129273,
+ 2127628,
+ 2130089,
+ 2132363,
+ 2132761,
+ 2133218,
+ 2133714,
+ 2134115,
+ 2134901,
+ 2135674,
+ 2136149,
+ 2136595,
+ 2137720,
+ 2117955,
+ 2118559,
+ 2118579,
+ 2121339,
+ 2121510,
+ 2125339,
+ 2125456,
+ 2126724,
+ 2126846,
+ 2129219,
+ 2130487,
+ 2132480,
+ 2132730,
+ 2135632,
+ 2117198,
+ 2117643,
+ 2118628,
+ 2118780,
+ 2119418,
+ 2120145,
+ 2120548,
+ 2121201,
+ 2121387,
+ 2121511,
+ 2122296,
+ 2123077,
+ 2123695,
+ 2125398,
+ 2126544,
+ 2129098,
+ 2132148,
+ 2130081,
+ 2130145,
+ 2130928,
+ 2131534,
+ 2132615,
+ 2133480,
+ 2134583,
+ 2135751,
+ 2136167,
+ 2137875,
+ 2117268,
+ 2117266,
+ 2117389,
+ 2118472,
+ 2118729,
+ 2118718,
+ 2120239,
+ 2121612,
+ 2121633,
+ 2121887,
+ 2123943,
+ 2124430,
+ 2126938,
+ 2128001,
+ 2132638,
+ 2132644,
+ 2132855,
+ 2134416,
+ 2117214,
+ 2137033,
+ 2117284,
+ 2117500,
+ 2117551,
+ 2117657,
+ 2117654,
+ 2117961,
+ 2117996,
+ 2118303,
+ 2118329,
+ 2118398,
+ 2118554,
+ 2118627,
+ 2118673,
+ 2118670,
+ 2119049,
+ 2119505,
+ 2119586,
+ 2120061,
+ 2120532,
+ 2120541,
+ 2120591,
+ 2121189,
+ 2121191,
+ 2121207,
+ 2121336,
+ 2121347,
+ 2121370,
+ 2121399,
+ 2121496,
+ 2121810,
+ 2122060,
+ 2122391,
+ 2122456,
+ 2122663,
+ 2123067,
+ 2123266,
+ 2123331,
+ 2123508,
+ 2123629,
+ 2123809,
+ 2123927,
+ 2124235,
+ 2124895,
+ 2125098,
+ 2125161,
+ 2125359,
+ 2125469,
+ 2127154,
+ 2127495,
+ 2127980,
+ 2128447,
+ 2129120,
+ 2129157,
+ 2129176,
+ 2129246,
+ 2129329,
+ 2129941,
+ 2129923,
+ 2130095,
+ 2130097,
+ 2130260,
+ 2130319,
+ 2130474,
+ 2130770,
+ 2132044,
+ 2132065,
+ 2132763,
+ 2133154,
+ 2133244,
+ 2134218,
+ 2134389,
+ 2134641,
+ 2127935,
+ 2134780,
+ 2135460,
+ 2135629,
+ 2136069,
+ 2136473,
+ 2136792,
+ 2137403,
+ 2118235,
+ 2118315,
+ 2118647,
+ 2118664,
+ 2119893,
+ 2122487,
+ 2125792,
+ 2133098,
+ 2133855,
+ 2137785,
+ 2117963,
+ 2118203,
+ 2118730,
+ 2119421,
+ 4225600,
+ 2134391,
+ 2137440,
+ 2137810,
+ 2126660,
+ 2125577,
+ 2130288,
+ 2127121,
+ 2121725,
+ 2121946,
+ 2136744,
+ 2126555,
+ 2133948,
+ 2124644,
+ 2136067,
+ 2117322,
+ 2119408,
+ 2119524,
+ 2119870,
+ 2120282,
+ 2121832,
+ 2122183,
+ 2123279,
+ 2123270,
+ 2123833,
+ 2123953,
+ 2125303,
+ 2127317,
+ 2129210,
+ 2130542,
+ 2136898,
+ 2117275,
+ 2117456,
+ 2118601,
+ 2118918,
+ 2121071,
+ 2121190,
+ 2121198,
+ 2123771,
+ 2124953,
+ 2126963,
+ 2127874,
+ 2132560,
+ 2134934,
+ 2132191,
+ 2119504,
+ 2121383,
+ 2122539,
+ 2117813,
+ 2117804,
+ 4215181,
+ 2123520,
+ 2118857,
+ 2119774,
+ 2120123,
+ 2120624,
+ 2121577,
+ 2122317,
+ 2122657,
+ 2123837,
+ 2124659,
+ 2125320,
+ 2125949,
+ 2134471,
+ 2126464,
+ 2127893,
+ 2127910,
+ 2128237,
+ 2123150,
+ 2129200,
+ 2130908,
+ 2132161,
+ 2133769,
+ 2135707,
+ 2118244,
+ 2119464,
+ 2123600,
+ 2129770,
+ 2133153,
+ 2118068,
+ 2119490,
+ 2135594,
+ 2119738,
+ 2124170,
+ 2130100,
+ 2118834,
+ 2120974,
+ 2119676,
+ 2128021,
+ 2137594,
+ 2117468,
+ 2118218,
+ 2118795,
+ 2122814,
+ 2123304,
+ 2123540,
+ 2123765,
+ 2128516,
+ 2128726,
+ 2129186,
+ 2134831,
+ 2123868,
+ 2137005,
+ 2128697,
+ 2118425,
+ 2118026,
+ 2118199,
+ 2120671,
+ 2122486,
+ 2122926,
+ 2122982,
+ 2123565,
+ 4221882,
+ 2131369,
+ 2135761,
+ 2127504,
+ 2137046,
+ 2122572,
+ 2134790,
+ 2137003,
+ 2127551,
+ 2123346,
+ 2117129,
+ 2117784,
+ 2118594,
+ 2120817,
+ 2121960,
+ 2122898,
+ 2123107,
+ 2123871,
+ 2126310,
+ 2126794,
+ 2127139,
+ 2128791,
+ 2129538,
+ 2131605,
+ 2132867,
+ 2133211,
+ 2134392,
+ 2136336,
+ 2123180,
+ 2123435,
+ 2124683,
+ 2117333,
+ 2117332,
+ 2117434,
+ 2117503,
+ 2118202,
+ 2118648,
+ 2118642,
+ 2119139,
+ 2119387,
+ 2119915,
+ 2120139,
+ 2120137,
+ 2120191,
+ 2120528,
+ 2120781,
+ 2121218,
+ 2121259,
+ 2121687,
+ 2121757,
+ 2122503,
+ 2123055,
+ 2120540,
+ 2123183,
+ 2123197,
+ 2123240,
+ 2123677,
+ 2124642,
+ 2124667,
+ 2124815,
+ 2126661,
+ 2128201,
+ 2128321,
+ 2129144,
+ 2129177,
+ 2129195,
+ 2130082,
+ 2130178,
+ 2130419,
+ 2132374,
+ 2132574,
+ 2132585,
+ 2132582,
+ 2132620,
+ 2132718,
+ 2133191,
+ 2133212,
+ 2135756,
+ 2136316,
+ 2124655,
+ 2117259,
+ 2117436,
+ 2117517,
+ 2117968,
+ 2120535,
+ 2120698,
+ 2122056,
+ 2122497,
+ 2123330,
+ 2124577,
+ 2125515,
+ 2124987,
+ 2126398,
+ 2127037,
+ 2127316,
+ 2128065,
+ 4225338,
+ 2129932,
+ 2129971,
+ 2130410,
+ 2131092,
+ 2133918,
+ 2124880,
+ 2137727,
+ 2121487,
+ 2132824,
+ 2137387,
+ 2128634,
+ 2133752,
+ 2120589,
+ 2135787,
+ 2117123,
+ 2118641,
+ 2119671,
+ 2119985,
+ 2120393,
+ 2120612,
+ 2121865,
+ 2125439,
+ 2125574,
+ 2127294,
+ 2133226,
+ 2120607,
+ 2131200,
+ 2128864,
+ 2117746,
+ 2123764,
+ 2130589,
+ 2120801,
+ 2131274,
+ 2129438,
+ 2130446,
+ 2118041,
+ 2120708,
+ 2122600,
+ 2133350,
+ 2123164,
+ 4223342,
+ 2128190,
+ 2129175,
+ 2129925,
+ 2132765,
+ 2133706,
+ 2134126,
+ 2131655,
+ 2134186,
+ 2117663,
+ 4215546,
+ 2120762,
+ 2123603,
+ 2125948,
+ 4223541,
+ 2134348,
+ 2134472,
+ 2134827,
+ 2130661,
+ 2120642,
+ 2121521,
+ 2121977,
+ 2117179,
+ 2118614,
+ 2120584,
+ 2122315,
+ 2123569,
+ 2124682,
+ 2126569,
+ 2126816,
+ 2128430,
+ 2130283,
+ 2133411,
+ 2134354,
+ 2136470,
+ 2117906,
+ 2118615,
+ 2118762,
+ 2120703,
+ 2122632,
+ 2124345,
+ 2129324,
+ 2135808,
+ 2119386,
+ 2118606,
+ 4215912,
+ 2120599,
+ 2120753,
+ 2121182,
+ 2117614,
+ 2121985,
+ 2122494,
+ 2125106,
+ 2128320,
+ 2128331,
+ 2129218,
+ 2129485,
+ 2129874,
+ 2130413,
+ 2130463,
+ 2131088,
+ 2132038,
+ 2132338,
+ 2132880,
+ 2133620,
+ 2133807,
+ 2134065,
+ 2134347,
+ 2134380,
+ 2135750,
+ 2134428,
+ 2117312,
+ 2117455,
+ 2117957,
+ 2118465,
+ 2121619,
+ 2122254,
+ 2123732,
+ 2124865,
+ 2125323,
+ 2126691,
+ 2129446,
+ 2134477,
+ 2134659,
+ 2118612,
+ 2119961,
+ 2120639,
+ 2125265,
+ 4225373,
+ 2129454,
+ 2129051,
+ 2119806,
+ 2126239,
+ 2118138,
+ 2132051,
+ 2134000,
+ 2117578,
+ 2120955,
+ 2123301,
+ 2127788,
+ 2128611,
+ 2130460,
+ 2136575,
+ 2118086,
+ 2121642,
+ 2123244,
+ 2124143,
+ 2124681,
+ 2125299,
+ 2125462,
+ 2125668,
+ 2127614,
+ 2129172,
+ 2121185,
+ 2134133,
+ 2134407,
+ 2136070,
+ 2118118,
+ 2118173,
+ 2122304,
+ 2123409,
+ 2123481,
+ 4222490,
+ 2121398,
+ 2129362,
+ 4226930,
+ 2123512,
+ 2131375,
+ 2131447,
+ 4229880,
+ 2118313,
+ 2118617,
+ 2120051,
+ 2121359,
+ 2121616,
+ 2121813,
+ 2134756,
+ 2135652,
+ 2117815,
+ 2117919,
+ 2118365,
+ 2118432,
+ 2118471,
+ 2118636,
+ 2118888,
+ 2118982,
+ 2118961,
+ 2119191,
+ 2120040,
+ 2120126,
+ 2120252,
+ 2120629,
+ 4217862,
+ 2120719,
+ 2120721,
+ 2120730,
+ 2121348,
+ 2121354,
+ 2121440,
+ 2121584,
+ 2122367,
+ 2122372,
+ 2122459,
+ 2122636,
+ 2122615,
+ 2123271,
+ 2123276,
+ 2123309,
+ 2123382,
+ 2123646,
+ 2123938,
+ 2124319,
+ 2124341,
+ 2124988,
+ 2125192,
+ 2125321,
+ 2125400,
+ 2126140,
+ 2126118,
+ 2126183,
+ 2127303,
+ 2127617,
+ 2127965,
+ 2128129,
+ 4225381,
+ 2128368,
+ 2128608,
+ 2128657,
+ 2129063,
+ 2129209,
+ 2130070,
+ 2130902,
+ 2131083,
+ 2131273,
+ 2132061,
+ 2132211,
+ 2132511,
+ 2132540,
+ 2132564,
+ 2132595,
+ 2133089,
+ 2133214,
+ 2134436,
+ 2134630,
+ 2134910,
+ 2135064,
+ 2135708,
+ 2135960,
+ 2117130,
+ 2117128,
+ 2117150,
+ 2117207,
+ 2118039,
+ 2118256,
+ 4216782,
+ 2119732,
+ 2119884,
+ 2120482,
+ 2121272,
+ 2121925,
+ 2123006,
+ 2123617,
+ 2123606,
+ 2125124,
+ 2126518,
+ 2127219,
+ 2128483,
+ 2131128,
+ 2132850,
+ 2134456,
+ 2134816,
+ 2119217,
+ 2119668,
+ 2136318,
+ 2122477,
+ 2124045,
+ 2124694,
+ 2126317,
+ 2129492,
+ 2130039,
+ 2130546,
+ 2132454,
+ 2136287,
+ 2131797,
+ 2133937,
+ 2120763,
+ 2117432,
+ 2117601,
+ 2117557,
+ 2118919,
+ 2120224,
+ 2120669,
+ 2120681,
+ 2121667,
+ 2122062,
+ 2122543,
+ 2123184,
+ 2123339,
+ 2124014,
+ 2124187,
+ 2125176,
+ 2125297,
+ 2127155,
+ 2127289,
+ 2127647,
+ 4225374,
+ 2128358,
+ 2129203,
+ 2130403,
+ 2130607,
+ 2131370,
+ 2132394,
+ 2132538,
+ 2133675,
+ 2133915,
+ 2134066,
+ 2134493,
+ 2135815,
+ 2117306,
+ 2117313,
+ 2118147,
+ 2119797,
+ 2119916,
+ 2120715,
+ 2127130,
+ 2120765,
+ 2130254,
+ 2132490,
+ 2133957,
+ 2135651,
+ 2135917,
+ 2128677,
+ 2132687,
+ 2136072,
+ 2134370,
+ 2119411,
+ 2118568,
+ 2134039,
+ 2118713,
+ 2119554,
+ 2121253,
+ 2122664,
+ 2124852,
+ 2125962,
+ 2127713,
+ 2129035,
+ 2129888,
+ 2132080,
+ 2134082,
+ 2134356,
+ 2134800,
+ 2134808,
+ 2135695,
+ 2126942,
+ 2136772,
+ 2120967,
+ 2121065,
+ 2123120,
+ 2123682,
+ 2133416,
+ 2135771,
+ 2122606,
+ 2123593,
+ 2124057,
+ 2130885,
+ 2136087,
+ 2135744,
+ 2132222,
+ 2125700,
+ 2122874,
+ 2120696,
+ 2117142,
+ 2125868,
+ 2127197,
+ 2123311,
+ 2118084,
+ 2118198,
+ 2118370,
+ 2120147,
+ 2121601,
+ 2121767,
+ 2122256,
+ 2123071,
+ 2123124,
+ 2123295,
+ 4220532,
+ 2124018,
+ 2123798,
+ 2124643,
+ 2125317,
+ 2126450,
+ 2127135,
+ 2127579,
+ 4226238,
+ 2130006,
+ 2119920,
+ 2132221,
+ 2132351,
+ 2132640,
+ 2132627,
+ 2132683,
+ 2134045,
+ 2134418,
+ 2135890,
+ 2135897,
+ 2123145,
+ 2128398,
+ 2130182,
+ 2135739,
+ 2121261,
+ 2121948,
+ 2122266,
+ 2123173,
+ 2123284,
+ 2123664,
+ 2127859,
+ 2128461,
+ 2128973,
+ 2129470,
+ 2130186,
+ 2133164,
+ 2133348,
+ 2133473,
+ 2133599,
+ 2128041,
+ 2118151,
+ 2122457,
+ 2122661,
+ 2122818,
+ 2122392,
+ 2132525,
+ 2128515,
+ 2128832,
+ 2132652,
+ 2135786,
+ 2129270,
+ 2130444,
+ 2131785,
+ 2117337,
+ 2117960,
+ 2118467,
+ 2118496,
+ 2120611,
+ 2120706,
+ 2120726,
+ 2121181,
+ 2122278,
+ 2122311,
+ 2122928,
+ 2123795,
+ 2123828,
+ 2125001,
+ 2125125,
+ 2125079,
+ 2123731,
+ 2125660,
+ 2126158,
+ 2126205,
+ 2123211,
+ 2128511,
+ 2128813,
+ 2129370,
+ 2129482,
+ 2129832,
+ 2130298,
+ 2130459,
+ 2130489,
+ 2131366,
+ 2132590,
+ 2133198,
+ 2133493,
+ 2134136,
+ 2134135,
+ 2134701,
+ 2134673,
+ 2135427,
+ 2137006,
+ 2118221,
+ 2119044,
+ 2125624,
+ 2126134,
+ 2117992,
+ 2128261,
+ 2129493,
+ 2130355,
+ 2129102,
+ 2119244,
+ 2119761,
+ 2120872,
+ 2122666,
+ 2123518,
+ 2123517,
+ 2124122,
+ 2126553,
+ 2127247,
+ 2127246,
+ 2128142,
+ 2128214,
+ 2128351,
+ 2129047,
+ 2129184,
+ 2129220,
+ 2131463,
+ 2132532,
+ 2135611,
+ 2134113,
+ 2137888,
+ 2117863,
+ 2118261,
+ 2118604,
+ 2118626,
+ 2117641,
+ 2119082,
+ 2119918,
+ 2120015,
+ 2126397,
+ 2120587,
+ 2120804,
+ 2118429,
+ 2121955,
+ 2121971,
+ 2122588,
+ 2122627,
+ 2122559,
+ 2122683,
+ 2122957,
+ 2123241,
+ 2123513,
+ 2121187,
+ 2124237,
+ 2124285,
+ 2125589,
+ 2126309,
+ 2117257,
+ 2127337,
+ 2127608,
+ 2128531,
+ 2129119,
+ 2129359,
+ 2129308,
+ 2130017,
+ 2130761,
+ 2130776,
+ 2131052,
+ 2131132,
+ 2131451,
+ 2132165,
+ 2133360,
+ 2134017,
+ 2134125,
+ 2134935,
+ 2135836,
+ 2136594,
+ 2117839,
+ 2119831,
+ 4219278,
+ 2130387,
+ 2131253,
+ 2133256,
+ 2134048,
+ 2117571,
+ 2117748,
+ 2118215,
+ 2118515,
+ 2121839,
+ 2122569,
+ 2123615,
+ 2125356,
+ 2133427,
+ 2134047,
+ 2117591,
+ 2120798,
+ 2133194,
+ 2123215,
+ 2129306,
+ 2118482,
+ 2132118,
+ 2118006,
+ 2122691,
+ 2120536,
+ 2120555,
+ 2120714,
+ 2122765,
+ 2123601,
+ 2134108,
+ 2117334,
+ 2119962,
+ 2119978,
+ 2124912,
+ 2132561,
+ 2118974,
+ 2119701,
+ 2120101,
+ 2121968,
+ 2122323,
+ 2123713,
+ 2130485,
+ 2124117,
+ 2135616,
+ 2136516,
+ 2136616,
+ 2117459,
+ 2119686,
+ 2120702,
+ 2129936,
+ 2120881,
+ 2121263,
+ 2121605,
+ 2121760,
+ 2122059,
+ 2122292,
+ 2123519,
+ 2125040,
+ 2125534,
+ 2130126,
+ 2130303,
+ 2130644,
+ 2132107,
+ 2133176,
+ 2134016,
+ 2134062,
+ 2135690,
+ 2137819,
+ 2137051,
+ 2117347,
+ 2118640,
+ 2119975,
+ 2128684,
+ 2134413,
+ 2136140,
+ 2137593,
+ 2125533,
+ 2125863,
+ 2118483,
+ 2118980,
+ 2120581,
+ 2122328,
+ 2122398,
+ 2122451,
+ 2124962,
+ 2125807,
+ 4224034,
+ 2132503,
+ 2135096,
+ 2125761,
+ 2132734,
+ 2130744,
+ 2118119,
+ 2131704,
+ 2118634,
+ 2118633,
+ 2117446,
+ 2134100,
+ 2133936,
+ 2120042,
+ 2130225,
+ 4218365,
+ 2128618,
+ 2133951,
+ 2123994,
+ 2133047,
+ 2126584,
+ 2137160,
+ 2124349,
+ 2132656,
+ 2117177,
+ 2118488,
+ 4216326,
+ 2119526,
+ 2122437,
+ 2122658,
+ 2123238,
+ 2124622,
+ 2125281,
+ 2125403,
+ 2125997,
+ 2127853,
+ 2128623,
+ 2128810,
+ 2129339,
+ 2129981,
+ 2130118,
+ 2131659,
+ 2132629,
+ 2134875,
+ 2119395,
+ 2119879,
+ 2121534,
+ 2123181,
+ 2123414,
+ 2124416,
+ 2124725,
+ 2127159,
+ 2132679,
+ 2117668,
+ 2127845,
+ 2119472,
+ 2121499,
+ 2121829,
+ 2123386,
+ 2124896,
+ 2127348,
+ 2128410,
+ 2129774,
+ 2130420,
+ 2131736,
+ 2134085,
+ 2136499,
+ 2128841,
+ 2127196,
+ 2128633,
+ 2128721,
+ 2131140,
+ 2134032,
+ 2128361,
+ 2128530,
+ 2130742,
+ 2120417,
+ 2127680,
+ 2117165,
+ 2117362,
+ 2120601,
+ 2121696,
+ 2122429,
+ 2123324,
+ 2123761,
+ 2125032,
+ 2131563,
+ 2132087,
+ 2132539,
+ 2134350,
+ 2134771,
+ 2136528,
+ 2124311,
+ 2125862,
+ 4223786,
+ 2130663,
+ 2131031,
+ 2133167,
+ 2117121,
+ 2117958,
+ 2118091,
+ 2119051,
+ 2120693,
+ 2121238,
+ 2121267,
+ 2121345,
+ 2121492,
+ 2121525,
+ 2121579,
+ 2121652,
+ 2122226,
+ 2122513,
+ 2123426,
+ 2123549,
+ 4222830,
+ 2126418,
+ 2127162,
+ 2127674,
+ 2130036,
+ 2130233,
+ 2130296,
+ 2131830,
+ 2132671,
+ 2132700,
+ 2133381,
+ 2133491,
+ 2134682,
+ 2135415,
+ 2136066,
+ 2137317,
+ 2118341,
+ 2122583,
+ 2127604,
+ 2123541,
+ 2124936,
+ 2126797,
+ 2133187,
+ 2134958,
+ 2135667,
+ 2125093,
+ 2119836,
+ 2124046,
+ 2124236,
+ 2134013,
+ 2134938,
+ 2127323,
+ 2134042,
+ 2119770,
+ 2123778,
+ 2122676,
+ 2124283,
+ 2117443,
+ 2125612,
+ 2123736,
+ 2133947,
+ 2131238,
+ 2129332,
+ 2134868,
+ 2124095,
+ 2125680,
+ 2119530,
+ 2119927,
+ 2120492,
+ 2129196,
+ 2126378,
+ 2118666,
+ 2134499,
+ 4234676,
+ 2117293,
+ 2117454,
+ 2117724,
+ 2117749,
+ 2118211,
+ 2133150,
+ 2118728,
+ 2119716,
+ 2120602,
+ 2121245,
+ 2121365,
+ 2121389,
+ 2121463,
+ 2121503,
+ 2121868,
+ 2122421,
+ 2122554,
+ 2122704,
+ 2123951,
+ 2124864,
+ 2128007,
+ 2128270,
+ 2128395,
+ 2129376,
+ 2130503,
+ 2132482,
+ 2132710,
+ 2133572,
+ 2134035,
+ 2134200,
+ 2134317,
+ 2134488,
+ 2137870,
+ 2125029,
+ 2122840,
+ 2122978,
+ 2123125,
+ 2125556,
+ 2127492,
+ 2128667,
+ 2134121,
+ 2134993,
+ 2125498,
+ 2118898,
+ 2121657,
+ 2122916,
+ 2133837,
+ 2133997,
+ 2134596,
+ 2118008,
+ 2119787,
+ 2119977,
+ 2120789,
+ 2121367,
+ 2125307,
+ 2129551,
+ 2127132,
+ 2133180,
+ 2133730,
+ 2136155,
+ 2126009,
+ 2117405,
+ 2124735,
+ 2125745,
+ 2127152,
+ 2135803,
+ 2117966,
+ 2118672,
+ 2119733,
+ 2119767,
+ 2120108,
+ 2120800,
+ 2121618,
+ 2123159,
+ 2123612,
+ 2125345,
+ 2127483,
+ 2130911,
+ 2133229,
+ 2134036,
+ 4231421,
+ 2134861,
+ 2127909,
+ 2127930,
+ 2118314,
+ 2121382,
+ 2119455,
+ 2120052,
+ 2121746,
+ 2117650,
+ 2117978,
+ 4215212,
+ 2118093,
+ 2118144,
+ 2118928,
+ 2119764,
+ 2119768,
+ 2120023,
+ 2120597,
+ 2120950,
+ 2121099,
+ 2121916,
+ 2122389,
+ 2122797,
+ 2123633,
+ 2123843,
+ 2123964,
+ 2123999,
+ 2127575,
+ 2125272,
+ 2125423,
+ 2125211,
+ 2125935,
+ 2126280,
+ 2121555,
+ 2127320,
+ 2128247,
+ 2128713,
+ 2128724,
+ 2128722,
+ 4226262,
+ 2129265,
+ 2118192,
+ 2131043,
+ 2131305,
+ 2131428,
+ 2132494,
+ 2132740,
+ 2133062,
+ 2133519,
+ 2134019,
+ 2134031,
+ 2135065,
+ 2135670,
+ 2136109,
+ 2136624,
+ 2135512,
+ 2117837,
+ 2118357,
+ 2118668,
+ 2119682,
+ 2120718,
+ 2122151,
+ 2122910,
+ 2125086,
+ 2127795,
+ 2128613,
+ 2130164,
+ 2130948,
+ 2134099,
+ 2134661,
+ 2120928,
+ 2137351,
+ 2118463,
+ 2121623,
+ 2121651,
+ 2125212,
+ 2126457,
+ 2127715,
+ 2128319,
+ 2128868,
+ 2124754,
+ 2126572,
+ 2132653,
+ 2123779,
+ 2124385,
+ 2118136,
+ 2128513,
+ 2124084,
+ 2120778,
+ 2137334,
+ 2130667,
+ 2120645,
+ 2134345,
+ 2125854,
+ 2119288,
+ 2120815,
+ 2121927,
+ 2123110,
+ 2124940,
+ 2133082,
+ 2134081,
+ 2136083,
+ 2118737,
+ 2123463,
+ 2134541,
+ 2120008,
+ 2134179,
+ 2118021,
+ 2117197,
+ 2118122,
+ 2131353,
+ 2132750,
+ 2125912,
+ 2122618,
+ 2134859,
+ 2124130,
+ 2136500,
+ 2129412,
+ 2127223,
+ 2118487,
+ 2124128,
+ 2133727,
+ 4232931,
+ 2124893,
+ 2117260,
+ 2120764,
+ 2121488,
+ 2133993,
+ 2118402,
+ 2133201,
+ 2130057,
+ 2131577,
+ 2121471,
+ 2123237,
+ 2117235,
+ 2117989,
+ 2120066,
+ 2120767,
+ 2136046,
+ 2117371,
+ 2120074,
+ 2121677,
+ 2132621,
+ 2125793,
+ 2128304,
+ 2128226,
+ 4217831,
+ 2131057,
+ 2126635,
+ 2126257,
+ 2121332,
+ 2121717,
+ 2122619,
+ 2122906,
+ 2126275,
+ 2129048,
+ 2117187,
+ 2121468,
+ 2117195,
+ 2119644,
+ 2119330,
+ 2121897,
+ 2125763,
+ 2129165,
+ 2130173,
+ 2130227,
+ 2130367,
+ 2133938,
+ 2132375,
+ 2131620,
+ 2121204,
+ 2122378,
+ 2122925,
+ 2132359,
+ 2123639,
+ 2125026,
+ 2125118,
+ 2126902,
+ 2127924,
+ 2120262,
+ 2129781,
+ 2130605,
+ 2136492,
+ 2117619,
+ 2121411,
+ 2122461,
+ 2122642,
+ 2123095,
+ 2123631,
+ 2127555,
+ 2126412,
+ 2130124,
+ 2130106,
+ 2133801,
+ 2134349,
+ 2117645,
+ 2119673,
+ 2120338,
+ 4221061,
+ 2124147,
+ 2126180,
+ 2126589,
+ 2133175,
+ 2119922,
+ 2133216,
+ 2135658,
+ 2134041,
+ 2131839,
+ 2128356,
+ 2127847,
+ 2130985,
+ 2117423,
+ 2118245,
+ 2118490,
+ 2122445,
+ 2123727,
+ 2125002,
+ 2127485,
+ 2128788,
+ 2129045,
+ 2130486,
+ 2131332,
+ 2133995,
+ 2123485,
+ 2125600,
+ 2126342,
+ 2129435,
+ 2130859,
+ 2136513,
+ 2137766,
+ 2118141,
+ 2128817,
+ 2127986,
+ 2128824,
+ 2130055,
+ 2128712,
+ 2124520,
+ 2121313,
+ 2130060,
+ 2127185,
+ 2127200,
+ 2117995,
+ 2134626,
+ 2125452,
+ 2127482,
+ 2134423,
+ 2136810,
+ 2117392,
+ 2129776,
+ 2122396,
+ 2128719,
+ 2135461,
+ 2137321,
+ 2119290,
+ 2119769,
+ 2131684,
+ 2135740,
+ 2117428,
+ 2118180,
+ 2118474,
+ 2118605,
+ 2118619,
+ 2121222,
+ 2122796,
+ 2123153,
+ 2123647,
+ 2124862,
+ 2124878,
+ 2126408,
+ 2126511,
+ 2126829,
+ 2127188,
+ 2129473,
+ 2130476,
+ 2131433,
+ 2133161,
+ 2128836,
+ 2134470,
+ 2126185,
+ 2136082,
+ 4233455,
+ 2122557,
+ 2123369,
+ 2127210,
+ 2127588,
+ 2128080,
+ 2131267,
+ 2131694,
+ 2118442,
+ 4215633,
+ 2118694,
+ 2120067,
+ 2121351,
+ 2121596,
+ 2121906,
+ 2122313,
+ 2122361,
+ 2122411,
+ 2123152,
+ 2124756,
+ 2125004,
+ 2127282,
+ 2127534,
+ 4225169,
+ 2128344,
+ 2129355,
+ 2129783,
+ 2130085,
+ 2132139,
+ 2132665,
+ 2133179,
+ 2134143,
+ 2135902,
+ 2136283,
+ 2124299,
+ 2128952,
+ 2117785,
+ 2120766,
+ 2121646,
+ 2123655,
+ 2124760,
+ 2126901,
+ 2127625,
+ 2129806,
+ 2137915,
+ 2123722,
+ 2128407,
+ 2118457,
+ 2127243,
+ 2136813,
+ 2121574,
+ 2130333,
+ 2130929,
+ 2130072,
+ 2121532,
+ 2121669,
+ 2127202,
+ 2128710,
+ 2134076,
+ 2123879,
+ 2120171,
+ 2120347,
+ 2129168,
+ 2127486,
+ 2132780,
+ 2117621,
+ 2121578,
+ 2124313,
+ 2124855,
+ 2125570,
+ 2127074,
+ 2128232,
+ 2132072,
+ 2132565,
+ 2133113,
+ 2121439,
+ 2122703,
+ 2127301,
+ 2128338,
+ 2130647,
+ 2134824,
+ 2134770,
+ 2131100,
+ 2131693,
+ 2137133,
+ 2118849,
+ 2121580,
+ 2123148,
+ 2125148,
+ 2125845,
+ 2133159,
+ 4230355,
+ 4233275,
+ 4220239,
+ 2127094,
+ 2117133,
+ 2117336,
+ 2119648,
+ 2119979,
+ 2120294,
+ 2120652,
+ 2118056,
+ 2121219,
+ 2121372,
+ 2121750,
+ 2122358,
+ 2123127,
+ 2123175,
+ 2123374,
+ 2125166,
+ 2126390,
+ 2128678,
+ 2130256,
+ 2130330,
+ 2130585,
+ 2132828,
+ 2133152,
+ 2133222,
+ 2133364,
+ 2135580,
+ 2135620,
+ 2117550,
+ 2122923,
+ 2124646,
+ 2130462,
+ 2131041,
+ 2131306,
+ 2134248,
+ 2120705,
+ 2124115,
+ 2136232,
+ 2131066,
+ 2131287,
+ 2117391,
+ 2118255,
+ 2121641,
+ 2121285,
+ 2123533,
+ 2128271,
+ 2130297,
+ 2132231,
+ 2132358,
+ 2125301,
+ 2121495,
+ 2122325,
+ 2124984,
+ 2117327,
+ 2126441,
+ 2136978,
+ 2118150,
+ 2118715,
+ 2119284,
+ 2119859,
+ 2122148,
+ 2122350,
+ 2126106,
+ 2120046,
+ 2129033,
+ 2129118,
+ 2129179,
+ 2135792,
+ 2123143,
+ 2130014,
+ 2117145,
+ 2117493,
+ 2118005,
+ 2119744,
+ 2121315,
+ 2121331,
+ 2121482,
+ 2123716,
+ 2117158,
+ 2131261,
+ 2135433,
+ 2135643,
+ 2129011,
+ 2136065,
+ 2117883,
+ 2119873,
+ 2127446,
+ 2128039,
+ 2118181,
+ 2127781,
+ 2131217,
+ 2128774,
+ 2117711,
+ 2119945,
+ 2126407,
+ 2128839,
+ 2129384,
+ 2133946,
+ 2133972,
+ 2134093,
+ 2117567,
+ 4215497,
+ 2120233,
+ 2121473,
+ 2135981,
+ 2117597,
+ 2130455,
+ 2134762,
+ 2119427,
+ 2122581,
+ 2124649,
+ 2127147,
+ 2132188,
+ 2133780,
+ 2128450,
+ 2118367,
+ 2119827,
+ 2122069,
+ 2122250,
+ 2123438,
+ 2124749,
+ 2128959,
+ 2130921,
+ 2117667,
+ 2117624,
+ 2118405,
+ 2118726,
+ 2119729,
+ 2120009,
+ 2120605,
+ 2120944,
+ 2120943,
+ 2121001,
+ 2121366,
+ 2122417,
+ 2122599,
+ 2123070,
+ 2123193,
+ 2123531,
+ 2125013,
+ 2125025,
+ 2126073,
+ 2127922,
+ 2129451,
+ 2130142,
+ 2130611,
+ 2130956,
+ 2131180,
+ 2131714,
+ 2132242,
+ 2132522,
+ 2133066,
+ 2134182,
+ 2134738,
+ 2136317,
+ 2137331,
+ 2137452,
+ 2117199,
+ 2117281,
+ 2117773,
+ 2118230,
+ 2119498,
+ 2120104,
+ 2121277,
+ 2121688,
+ 2121689,
+ 2122303,
+ 2123444,
+ 2123547,
+ 2123728,
+ 2123986,
+ 2118034,
+ 2129185,
+ 2130090,
+ 2130344,
+ 2132736,
+ 2133132,
+ 2133183,
+ 2134654,
+ 2135602,
+ 2118688,
+ 2136108,
+ 2118423,
+ 2117845,
+ 2118492,
+ 4217000,
+ 2122930,
+ 2123572,
+ 2126439,
+ 2127718,
+ 2128454,
+ 2134502,
+ 2118339,
+ 2124961,
+ 2124678,
+ 2119680,
+ 2121292,
+ 2120020,
+ 2123564,
+ 2129915,
+ 2118113,
+ 2127558,
+ 2122857,
+ 2128104,
+ 2136916,
+ 2137787,
+ 2119627,
+ 2120121,
+ 2123303,
+ 2123674,
+ 2124750,
+ 2118889,
+ 2124249,
+ 2121301,
+ 2130332,
+ 2123669,
+ 2137002,
+ 2123774,
+ 2137170,
+ 2123869,
+ 2117286,
+ 2117603,
+ 2118600,
+ 2122425,
+ 2123563,
+ 2124971,
+ 2133956,
+ 2117549,
+ 2129517,
+ 2137791,
+ 2117127,
+ 2122082,
+ 2125440,
+ 2125611,
+ 2131219,
+ 2118771,
+ 2123562,
+ 2136901,
+ 2121203,
+ 2128789,
+ 2120876,
+ 2120646,
+ 2131740,
+ 2125386,
+ 2131153,
+ 2128404,
+ 2130184,
+ 2120089,
+ 2129037,
+ 2124817,
+ 2127648,
+ 2118361,
+ 2119970,
+ 2126113,
+ 2126431,
+ 2127835,
+ 2135847,
+ 2137441,
+ 2124043,
+ 2120319,
+ 2120216,
+ 2118053,
+ 2118669,
+ 2118781,
+ 2123278,
+ 2127583,
+ 2134007,
+ 2134680,
+ 2137332,
+ 2120170,
+ 2126429,
+ 2125509,
+ 2117965,
+ 2123977,
+ 2129343,
+ 2129388,
+ 2135906,
+ 2137786,
+ 2122872,
+ 2124321,
+ 2130690,
+ 2120068,
+ 2120543,
+ 2124763,
+ 2126619,
+ 2127602,
+ 2129330,
+ 2129943,
+ 2131097,
+ 2117938,
+ 2123560,
+ 2137817,
+ 2127598,
+ 2123618,
+ 2118399,
+ 2136325,
+ 2120740,
+ 2122299,
+ 2129022,
+ 2133168,
+ 2118991,
+ 2121910,
+ 2129163,
+ 2135424,
+ 2118401,
+ 2117215,
+ 2118070,
+ 2119964,
+ 2126394,
+ 2129974,
+ 2134478,
+ 2121509,
+ 2127842,
+ 2118532,
+ 2121593,
+ 2129156,
+ 2131372,
+ 2132531,
+ 2133645,
+ 2135894,
+ 2123763,
+ 2131374,
+ 2135123,
+ 2121993,
+ 2121992,
+ 2124985,
+ 2127442,
+ 4229869,
+ 2133816,
+ 2118959,
+ 2117457,
+ 2117930,
+ 2118343,
+ 2118603,
+ 2120613,
+ 2121341,
+ 2121888,
+ 2122114,
+ 2122710,
+ 2123529,
+ 2123738,
+ 2125415,
+ 2125196,
+ 2126646,
+ 2126647,
+ 2127153,
+ 4225360,
+ 2132181,
+ 2132632,
+ 2134090,
+ 2134161,
+ 2134261,
+ 2135748,
+ 2131853,
+ 2119957,
+ 2117256,
+ 2117465,
+ 2117134,
+ 2132617,
+ 2133823,
+ 2136080,
+ 2117805,
+ 2121340,
+ 2120086,
+ 2120633,
+ 2121400,
+ 2122714,
+ 2122746,
+ 2122945,
+ 2123484,
+ 2124106,
+ 2124248,
+ 2125067,
+ 2125494,
+ 2126228,
+ 2127144,
+ 2128559,
+ 4226954,
+ 2129920,
+ 2131017,
+ 2131145,
+ 2132353,
+ 2132769,
+ 2133514,
+ 2134117,
+ 2135677,
+ 2136330,
+ 2122110,
+ 2122385,
+ 2124594,
+ 2124931,
+ 2125172,
+ 2129868,
+ 2129916,
+ 2125248,
+ 2129797,
+ 2131898,
+ 2132216,
+ 2123621,
+ 2130865,
+ 2136124,
+ 2135799,
+ 2125083,
+ 2129249,
+ 2131005,
+ 2134378,
+ 2117233,
+ 2118517,
+ 2121040,
+ 4221700,
+ 2125803,
+ 2131405,
+ 2131501,
+ 2132391,
+ 2118185,
+ 2118671,
+ 2120805,
+ 2123598,
+ 2123944,
+ 2126854,
+ 2126979,
+ 2127330,
+ 2132175,
+ 2132193,
+ 2134476,
+ 2135778,
+ 2135672,
+ 2121611,
+ 2126727,
+ 2128587,
+ 2131022,
+ 2122656,
+ 2127205,
+ 2118281,
+ 2125121,
+ 2125468,
+ 2126857,
+ 2127193,
+ 2127979,
+ 2129042,
+ 2135686,
+ 2128604,
+ 2137997,
+ 2117558,
+ 2122094,
+ 2123205,
+ 4228700,
+ 2117254,
+ 2117294,
+ 2117850,
+ 2117153,
+ 2118092,
+ 2120686,
+ 2123161,
+ 2123905,
+ 2125244,
+ 2126623,
+ 2127426,
+ 2127789,
+ 2128412,
+ 2129127,
+ 2130543,
+ 2132690,
+ 2134140,
+ 2134479,
+ 2135669,
+ 2136088,
+ 2118299,
+ 2129361,
+ 2117675,
+ 2118552,
+ 2123671,
+ 2125259,
+ 2126288,
+ 2126899,
+ 2130408,
+ 2133802,
+ 2135715,
+ 2137175,
+ 2137759,
+ 2126944,
+ 2119745,
+ 2125209,
+ 2129199,
+ 4233310,
+ 2117348,
+ 2117430,
+ 2117515,
+ 2118071,
+ 2118321,
+ 2121146,
+ 2121756,
+ 2126770,
+ 2128188,
+ 2130643,
+ 2134580,
+ 2135735,
+ 2135798,
+ 2135818,
+ 2137751,
+ 2137954,
+ 2123430,
+ 2124660,
+ 2118167,
+ 2118307,
+ 2126024,
+ 2132162,
+ 4218569,
+ 2121803,
+ 2122128,
+ 4222755,
+ 4223305,
+ 2128958,
+ 4226548,
+ 2130031,
+ 4228334,
+ 4231203,
+ 2134828,
+ 2118722,
+ 2136943,
+ 2124499,
+ 2125961,
+ 2133186,
+ 2133487,
+ 2135858,
+ 2118324,
+ 2120257,
+ 2121418,
+ 2121476,
+ 4220695,
+ 2124156,
+ 2124180,
+ 2125162,
+ 2125583,
+ 2126434,
+ 2126588,
+ 2128877,
+ 2129921,
+ 2130046,
+ 2131787,
+ 2134222,
+ 2117997,
+ 2137747,
+ 2128260,
+ 2130059,
+ 2134834,
+ 2132694,
+ 2117677,
+ 2118796,
+ 2132593,
+ 2124650,
+ 2133188,
+ 2130183,
+ 2121937,
+ 2123680,
+ 2137586,
+ 2117273,
+ 2117272,
+ 2137104,
+ 2132587,
+ 2131393,
+ 2131304,
+ 2124032,
+ 2125438,
+ 2128023,
+ 2130261,
+ 2121484,
+ 2117136,
+ 2117141,
+ 2117162,
+ 2117169,
+ 2117174,
+ 2117180,
+ 2117183,
+ 2117186,
+ 2117206,
+ 2117208,
+ 2117250,
+ 2117253,
+ 2133099,
+ 2117258,
+ 2130450,
+ 2121485,
+ 2117262,
+ 2117278,
+ 2117279,
+ 2117280,
+ 2117282,
+ 2117296,
+ 2117299,
+ 2117302,
+ 2117326,
+ 2117325,
+ 2117316,
+ 2117318,
+ 2117314,
+ 2117335,
+ 2117342,
+ 2117357,
+ 2117343,
+ 2117367,
+ 2117385,
+ 2117466,
+ 2117424,
+ 2117467,
+ 2117469,
+ 2117463,
+ 2117447,
+ 2117494,
+ 2117512,
+ 2117519,
+ 2117528,
+ 2117499,
+ 2117481,
+ 2117488,
+ 2117521,
+ 2117487,
+ 2117510,
+ 2117526,
+ 2117912,
+ 2117588,
+ 2117599,
+ 2117582,
+ 2117592,
+ 2117595,
+ 2117585,
+ 2117594,
+ 2117584,
+ 2117604,
+ 2117605,
+ 2117658,
+ 2117672,
+ 2117652,
+ 2117674,
+ 2117669,
+ 2117637,
+ 2117404,
+ 2117622,
+ 2117665,
+ 2117673,
+ 2117676,
+ 2117630,
+ 2117615,
+ 2117649,
+ 2117638,
+ 2117699,
+ 2117703,
+ 2123523,
+ 2117717,
+ 2117712,
+ 2117704,
+ 2117722,
+ 2117718,
+ 2117740,
+ 2117752,
+ 2117760,
+ 2117786,
+ 2117765,
+ 2117812,
+ 2117810,
+ 2117833,
+ 2117834,
+ 2117811,
+ 2117826,
+ 2117846,
+ 2117854,
+ 2117861,
+ 2117869,
+ 2117859,
+ 2117870,
+ 2117881,
+ 2117877,
+ 2117897,
+ 2117889,
+ 2117890,
+ 2117910,
+ 2117909,
+ 2117908,
+ 2117914,
+ 2117921,
+ 2117946,
+ 2117943,
+ 2117948,
+ 2117947,
+ 2117951,
+ 2117952,
+ 2117970,
+ 2117964,
+ 4215124,
+ 2117986,
+ 2128632,
+ 2117993,
+ 2117994,
+ 2117998,
+ 2118016,
+ 2118018,
+ 2119384,
+ 2118028,
+ 2118025,
+ 2118031,
+ 2118033,
+ 2118035,
+ 4215189,
+ 2118038,
+ 2118052,
+ 2118054,
+ 2118050,
+ 2118057,
+ 2118058,
+ 2118059,
+ 2118067,
+ 2118065,
+ 2118066,
+ 2118064,
+ 2118069,
+ 2118077,
+ 2118085,
+ 2118089,
+ 2118107,
+ 2118112,
+ 2131541,
+ 2118121,
+ 2118125,
+ 2118128,
+ 2118133,
+ 2118142,
+ 2118148,
+ 2118155,
+ 2118164,
+ 2118158,
+ 2118183,
+ 2118186,
+ 2118190,
+ 2118195,
+ 2118201,
+ 2118223,
+ 2118212,
+ 2118219,
+ 2118220,
+ 2118238,
+ 2118228,
+ 2118250,
+ 2118260,
+ 2118249,
+ 2118259,
+ 2118271,
+ 2118269,
+ 2118285,
+ 2118292,
+ 2118290,
+ 2118257,
+ 2118280,
+ 2118289,
+ 2133928,
+ 2133927,
+ 2118316,
+ 2118317,
+ 2118332,
+ 2118325,
+ 2118337,
+ 2118349,
+ 2118359,
+ 2118366,
+ 2118371,
+ 2118374,
+ 2136301,
+ 2118368,
+ 2118387,
+ 2118389,
+ 2118392,
+ 2118393,
+ 2118406,
+ 2118408,
+ 2127160,
+ 2118413,
+ 2118416,
+ 2118415,
+ 2118421,
+ 2118426,
+ 2118435,
+ 2118447,
+ 2118449,
+ 2118451,
+ 2118456,
+ 2118464,
+ 2118470,
+ 2118469,
+ 2117143,
+ 2118473,
+ 2118477,
+ 2118102,
+ 2118494,
+ 2118505,
+ 2118510,
+ 2119960,
+ 2118523,
+ 2118519,
+ 2118530,
+ 2118550,
+ 2118560,
+ 2118566,
+ 2118565,
+ 2118574,
+ 2118576,
+ 2118582,
+ 2118595,
+ 2128914,
+ 2135769,
+ 2118623,
+ 2123516,
+ 2126318,
+ 2118638,
+ 2118632,
+ 2118637,
+ 2118650,
+ 2118657,
+ 2118717,
+ 2118720,
+ 2118700,
+ 2118701,
+ 2118716,
+ 2118702,
+ 2118710,
+ 2118697,
+ 2118685,
+ 2118734,
+ 2118799,
+ 2118773,
+ 2118798,
+ 2118751,
+ 2118769,
+ 2118775,
+ 2118768,
+ 2118802,
+ 2118779,
+ 2118784,
+ 2118774,
+ 2118788,
+ 2118800,
+ 2118790,
+ 2118855,
+ 2118818,
+ 2118840,
+ 2118821,
+ 2118828,
+ 2118852,
+ 2118856,
+ 2118824,
+ 2118827,
+ 2118850,
+ 2118820,
+ 2118846,
+ 2118844,
+ 2118872,
+ 2118885,
+ 2118886,
+ 2118927,
+ 2118932,
+ 2118909,
+ 2118894,
+ 2118893,
+ 2118906,
+ 2118882,
+ 2118969,
+ 2118976,
+ 2119011,
+ 2118988,
+ 2118958,
+ 2119004,
+ 2118981,
+ 2118998,
+ 2118999,
+ 2118968,
+ 2118963,
+ 2119005,
+ 2119065,
+ 2119040,
+ 2118831,
+ 2119050,
+ 2119071,
+ 2119035,
+ 2119038,
+ 2119064,
+ 2119070,
+ 2119086,
+ 2119036,
+ 2119043,
+ 2119081,
+ 2119047,
+ 2119080,
+ 2119130,
+ 2119109,
+ 2119135,
+ 2119108,
+ 2119132,
+ 2119140,
+ 2119124,
+ 2119188,
+ 2119159,
+ 2119190,
+ 2119166,
+ 2119165,
+ 2119195,
+ 2119161,
+ 2119246,
+ 2119248,
+ 2126303,
+ 2119220,
+ 2119222,
+ 2119218,
+ 2119224,
+ 2119275,
+ 2119268,
+ 2119215,
+ 2119276,
+ 2119274,
+ 2119302,
+ 2119296,
+ 2119306,
+ 2119328,
+ 2119316,
+ 2119311,
+ 2119333,
+ 2119342,
+ 2119350,
+ 2119348,
+ 2119362,
+ 2119356,
+ 2119361,
+ 2119363,
+ 2119360,
+ 2119368,
+ 2119374,
+ 2119377,
+ 2119379,
+ 2119383,
+ 2119406,
+ 2119417,
+ 2119424,
+ 2119423,
+ 2119428,
+ 2119433,
+ 2119432,
+ 2119435,
+ 2119437,
+ 2119443,
+ 2119448,
+ 2119446,
+ 2119111,
+ 2119452,
+ 2119462,
+ 2119479,
+ 2119480,
+ 2119502,
+ 2119483,
+ 2119488,
+ 2119503,
+ 2119529,
+ 2119616,
+ 2119560,
+ 2119521,
+ 2119551,
+ 2119561,
+ 2119571,
+ 2119584,
+ 2119603,
+ 2119588,
+ 2119594,
+ 2119600,
+ 2119619,
+ 2119622,
+ 2119636,
+ 2119634,
+ 2119635,
+ 2119690,
+ 2119638,
+ 2119651,
+ 2119691,
+ 2119705,
+ 2119709,
+ 2119794,
+ 2119713,
+ 2119778,
+ 2119755,
+ 2119792,
+ 2124736,
+ 2119762,
+ 2119741,
+ 2119801,
+ 2119813,
+ 2119865,
+ 2119839,
+ 2119851,
+ 2119866,
+ 2119902,
+ 2119867,
+ 2119864,
+ 2119854,
+ 2119877,
+ 2119891,
+ 2119889,
+ 2119895,
+ 2119897,
+ 2119896,
+ 2119909,
+ 2119900,
+ 2119908,
+ 2119903,
+ 2119919,
+ 2119930,
+ 2119929,
+ 2119931,
+ 2119932,
+ 2119933,
+ 2119938,
+ 2119946,
+ 2119952,
+ 2119963,
+ 2123942,
+ 2119973,
+ 2119980,
+ 2119981,
+ 2119986,
+ 2119992,
+ 2119998,
+ 2128594,
+ 2120021,
+ 2120016,
+ 2120014,
+ 2120026,
+ 2120024,
+ 2120034,
+ 2120032,
+ 2120039,
+ 2120044,
+ 2120041,
+ 2120056,
+ 2120065,
+ 2120093,
+ 2117470,
+ 2117547,
+ 2120099,
+ 2120114,
+ 2120134,
+ 2120168,
+ 2120156,
+ 2120077,
+ 2120153,
+ 2120154,
+ 2120229,
+ 2120223,
+ 2120209,
+ 2120220,
+ 2120201,
+ 2120218,
+ 2120256,
+ 2120300,
+ 2120265,
+ 2120245,
+ 2120246,
+ 2120290,
+ 2120298,
+ 2120346,
+ 2120380,
+ 2120382,
+ 2120395,
+ 2120386,
+ 2120381,
+ 2120419,
+ 2120407,
+ 2120422,
+ 2120425,
+ 2120406,
+ 2120442,
+ 2120443,
+ 2120460,
+ 2120459,
+ 2120470,
+ 2120498,
+ 2120400,
+ 2120490,
+ 2120502,
+ 2120510,
+ 2120515,
+ 2120517,
+ 2120512,
+ 2120529,
+ 2120533,
+ 2120538,
+ 2120539,
+ 2120549,
+ 2120553,
+ 2120560,
+ 2120563,
+ 2120565,
+ 2120568,
+ 2123144,
+ 2120570,
+ 2120576,
+ 2120579,
+ 2120614,
+ 2120632,
+ 2120643,
+ 2120647,
+ 2120649,
+ 2120660,
+ 2120656,
+ 2120676,
+ 2120678,
+ 2120674,
+ 2120670,
+ 2120677,
+ 2120683,
+ 2120688,
+ 2120694,
+ 2120691,
+ 2120709,
+ 2120711,
+ 2120712,
+ 2120717,
+ 2120723,
+ 2120736,
+ 2120738,
+ 2120744,
+ 2120760,
+ 2120761,
+ 2120769,
+ 2120774,
+ 2120782,
+ 2120787,
+ 2120784,
+ 2120783,
+ 2120561,
+ 2120812,
+ 4217966,
+ 2117218,
+ 2120822,
+ 2120825,
+ 2120844,
+ 2120849,
+ 2120852,
+ 2120091,
+ 2120875,
+ 2120891,
+ 2120886,
+ 2120892,
+ 2120887,
+ 2120901,
+ 2120894,
+ 2120903,
+ 2120921,
+ 2120937,
+ 2120957,
+ 2120954,
+ 2120941,
+ 2121100,
+ 2120938,
+ 2120971,
+ 2120981,
+ 2120983,
+ 2121052,
+ 2120991,
+ 2120987,
+ 2120977,
+ 2120980,
+ 2120994,
+ 2120986,
+ 2120985,
+ 2120984,
+ 2121036,
+ 2121042,
+ 2121038,
+ 2121035,
+ 2121068,
+ 2121075,
+ 2121078,
+ 2121095,
+ 2121092,
+ 2121090,
+ 2121122,
+ 2121117,
+ 2121132,
+ 2121134,
+ 2121149,
+ 2121104,
+ 2121143,
+ 2121148,
+ 2121161,
+ 2121165,
+ 2121171,
+ 2121170,
+ 2121174,
+ 2121179,
+ 2121195,
+ 2121202,
+ 2121205,
+ 2121227,
+ 2121242,
+ 2121241,
+ 2121233,
+ 2121243,
+ 2121270,
+ 2121271,
+ 2121284,
+ 2121283,
+ 2121280,
+ 2121294,
+ 2121303,
+ 2121300,
+ 2121311,
+ 2121314,
+ 2121316,
+ 2121287,
+ 2121333,
+ 2121334,
+ 2121338,
+ 2137788,
+ 2121343,
+ 2121376,
+ 2121409,
+ 2121410,
+ 2121416,
+ 2121424,
+ 2121423,
+ 2121430,
+ 2121443,
+ 2121437,
+ 2121434,
+ 2121435,
+ 2121442,
+ 2121441,
+ 2121448,
+ 2121449,
+ 2121452,
+ 2121457,
+ 2121459,
+ 2121456,
+ 2121460,
+ 2121464,
+ 2121470,
+ 2121475,
+ 2121481,
+ 2121565,
+ 2121564,
+ 2121483,
+ 2121489,
+ 2121494,
+ 2121513,
+ 2121517,
+ 2121528,
+ 2121537,
+ 2121544,
+ 2121548,
+ 2121550,
+ 2121519,
+ 2121553,
+ 2121558,
+ 2121559,
+ 2121561,
+ 2121569,
+ 2121581,
+ 2121587,
+ 2121591,
+ 2121603,
+ 2121602,
+ 2121599,
+ 2121610,
+ 2121608,
+ 2121617,
+ 2121607,
+ 2121630,
+ 2121625,
+ 2121624,
+ 2121632,
+ 2121640,
+ 2121645,
+ 2121660,
+ 2121686,
+ 2121723,
+ 2121700,
+ 2121720,
+ 2121713,
+ 2121693,
+ 2121907,
+ 2121727,
+ 2121761,
+ 2121824,
+ 2121753,
+ 2121744,
+ 2121769,
+ 2121742,
+ 2121777,
+ 2121755,
+ 2121749,
+ 2121771,
+ 2121766,
+ 2121743,
+ 2121786,
+ 2121818,
+ 2121793,
+ 2121834,
+ 2121847,
+ 2121823,
+ 2121802,
+ 2121798,
+ 2121805,
+ 2121827,
+ 2121795,
+ 2121828,
+ 2121794,
+ 2121836,
+ 2121835,
+ 2121817,
+ 2121857,
+ 2121869,
+ 2121959,
+ 2121859,
+ 2121882,
+ 2121860,
+ 2121883,
+ 2121878,
+ 2121879,
+ 2121874,
+ 2121895,
+ 2121867,
+ 2121953,
+ 2121912,
+ 2121952,
+ 2121939,
+ 2121908,
+ 2121712,
+ 2121917,
+ 2121926,
+ 2121909,
+ 2121944,
+ 2122061,
+ 2122005,
+ 2121990,
+ 2121974,
+ 2121975,
+ 2121984,
+ 2121972,
+ 2121978,
+ 2121987,
+ 2122017,
+ 2121979,
+ 2121969,
+ 2121997,
+ 2121998,
+ 2122055,
+ 2122046,
+ 2122024,
+ 2122023,
+ 2122058,
+ 2122047,
+ 2122044,
+ 2122028,
+ 2122036,
+ 2122045,
+ 2122050,
+ 2122052,
+ 2122099,
+ 2122103,
+ 2122072,
+ 2122073,
+ 2122074,
+ 2122091,
+ 2122100,
+ 2122095,
+ 2122085,
+ 2122097,
+ 2122079,
+ 2122077,
+ 2122067,
+ 2122101,
+ 2122137,
+ 2122134,
+ 2122119,
+ 2122156,
+ 2122132,
+ 2122138,
+ 2122122,
+ 2122129,
+ 2122155,
+ 2122158,
+ 2122188,
+ 2122186,
+ 2122185,
+ 2122231,
+ 2122184,
+ 2122179,
+ 2122182,
+ 2122170,
+ 2122187,
+ 2129785,
+ 2122189,
+ 2122214,
+ 2122211,
+ 2122230,
+ 2122234,
+ 2122228,
+ 2122239,
+ 2122237,
+ 2122236,
+ 2122238,
+ 2122240,
+ 2122248,
+ 2122249,
+ 2122253,
+ 2122252,
+ 2122260,
+ 2122267,
+ 2122270,
+ 2122273,
+ 2122282,
+ 2122286,
+ 2122288,
+ 2122290,
+ 2122291,
+ 2122305,
+ 2122318,
+ 2122334,
+ 2122339,
+ 2122331,
+ 2122336,
+ 2122344,
+ 2122364,
+ 2122370,
+ 2122377,
+ 2122366,
+ 2122386,
+ 2122387,
+ 2122390,
+ 4219604,
+ 2122371,
+ 2122388,
+ 2122455,
+ 2122449,
+ 2122427,
+ 2122447,
+ 2122495,
+ 2122438,
+ 2122964,
+ 2122440,
+ 2122460,
+ 2122444,
+ 2122442,
+ 2122434,
+ 2122439,
+ 2122395,
+ 2122441,
+ 2122508,
+ 2122478,
+ 2122481,
+ 2122535,
+ 2122498,
+ 2122504,
+ 2122479,
+ 2122485,
+ 2122576,
+ 2122558,
+ 2122573,
+ 2122780,
+ 2122575,
+ 2122646,
+ 2122638,
+ 2122624,
+ 2122667,
+ 2122614,
+ 2122659,
+ 2122639,
+ 2122633,
+ 2122655,
+ 2122677,
+ 2122603,
+ 2122601,
+ 2122686,
+ 2122729,
+ 2122688,
+ 2122694,
+ 2122723,
+ 2122697,
+ 2122706,
+ 2122742,
+ 2122692,
+ 2122774,
+ 2122804,
+ 2122758,
+ 2122771,
+ 2122790,
+ 2122806,
+ 2123037,
+ 2122775,
+ 2122792,
+ 2122767,
+ 2122855,
+ 2122863,
+ 2122870,
+ 2122830,
+ 2123050,
+ 2122901,
+ 2122899,
+ 2122917,
+ 2122921,
+ 2122888,
+ 2122940,
+ 2122970,
+ 2122962,
+ 2122949,
+ 2122951,
+ 2122939,
+ 2122968,
+ 2122946,
+ 2122993,
+ 2122983,
+ 2130441,
+ 2122976,
+ 2122977,
+ 2122412,
+ 2122979,
+ 2122991,
+ 2123052,
+ 2122998,
+ 2122996,
+ 2122994,
+ 2123002,
+ 2123008,
+ 2123005,
+ 2123032,
+ 2123036,
+ 2123013,
+ 2123044,
+ 2123043,
+ 2123051,
+ 2123060,
+ 2123061,
+ 2123063,
+ 2123062,
+ 2123064,
+ 2127179,
+ 2123080,
+ 2123094,
+ 2123093,
+ 2123085,
+ 2123096,
+ 2123102,
+ 2123101,
+ 2123122,
+ 2123128,
+ 2123138,
+ 2123139,
+ 2132874,
+ 2123163,
+ 2123167,
+ 2123179,
+ 2123191,
+ 2123203,
+ 2123206,
+ 2123201,
+ 2123204,
+ 2123212,
+ 2123218,
+ 2123227,
+ 2123225,
+ 2123232,
+ 2123233,
+ 2123249,
+ 2123634,
+ 2123274,
+ 2123267,
+ 2123259,
+ 2123635,
+ 2123317,
+ 2123318,
+ 2123316,
+ 2123292,
+ 2123343,
+ 2123332,
+ 2123337,
+ 2123329,
+ 2123358,
+ 2123357,
+ 2123364,
+ 2123367,
+ 2123368,
+ 2123359,
+ 2123362,
+ 2123376,
+ 2123395,
+ 2123400,
+ 2123406,
+ 2123401,
+ 2123396,
+ 2123416,
+ 2123421,
+ 2123457,
+ 2123449,
+ 2123465,
+ 2123454,
+ 2123452,
+ 2123460,
+ 2123448,
+ 2123478,
+ 2123482,
+ 2123488,
+ 2123327,
+ 2123494,
+ 2123497,
+ 2123504,
+ 2123509,
+ 2123511,
+ 2123535,
+ 2123542,
+ 2123550,
+ 2123558,
+ 2123559,
+ 2135864,
+ 2123566,
+ 2123583,
+ 2123574,
+ 2123585,
+ 2123576,
+ 2123575,
+ 2123590,
+ 2123614,
+ 2123616,
+ 2123609,
+ 2123619,
+ 2123620,
+ 2123657,
+ 2123632,
+ 2123689,
+ 2123644,
+ 2123626,
+ 2123660,
+ 2123659,
+ 2123686,
+ 2123681,
+ 2123653,
+ 2123703,
+ 2123759,
+ 2123700,
+ 2123756,
+ 2123699,
+ 2123753,
+ 2123704,
+ 2123748,
+ 2123742,
+ 2123741,
+ 2123746,
+ 2123758,
+ 2123705,
+ 2123726,
+ 2123718,
+ 2123751,
+ 2124444,
+ 2123806,
+ 2123846,
+ 2123817,
+ 2123840,
+ 2123853,
+ 2123826,
+ 2123854,
+ 2123955,
+ 2123819,
+ 2123865,
+ 2123875,
+ 2123895,
+ 2123903,
+ 2123935,
+ 2123919,
+ 2123949,
+ 2123924,
+ 2123933,
+ 2123931,
+ 2123907,
+ 2124462,
+ 2123961,
+ 2123892,
+ 2123957,
+ 2123936,
+ 2123962,
+ 2124047,
+ 2123917,
+ 2123902,
+ 2124033,
+ 2123978,
+ 2124040,
+ 2123992,
+ 2124066,
+ 2124070,
+ 2124001,
+ 2124044,
+ 2123981,
+ 2123988,
+ 2124007,
+ 2123989,
+ 2124086,
+ 2124050,
+ 2124036,
+ 2123991,
+ 2124003,
+ 2124069,
+ 2124025,
+ 2124000,
+ 2124015,
+ 2124072,
+ 2124074,
+ 2124058,
+ 2124067,
+ 2124065,
+ 2123974,
+ 2124153,
+ 2124151,
+ 2124124,
+ 2124152,
+ 2124139,
+ 2124116,
+ 2124158,
+ 2124142,
+ 2124089,
+ 2124148,
+ 2124093,
+ 2124121,
+ 2124080,
+ 2124129,
+ 2124126,
+ 2124125,
+ 2124161,
+ 2124138,
+ 2124210,
+ 2124206,
+ 2124240,
+ 2124223,
+ 2124225,
+ 2124243,
+ 2124222,
+ 2124238,
+ 2120680,
+ 2124234,
+ 2124253,
+ 2124219,
+ 2124227,
+ 2124199,
+ 2124334,
+ 2124177,
+ 2124192,
+ 2124188,
+ 2124181,
+ 2124212,
+ 2124254,
+ 2124264,
+ 2124290,
+ 2124315,
+ 2124287,
+ 2124554,
+ 2124281,
+ 2124274,
+ 2124263,
+ 2124293,
+ 2124209,
+ 2124318,
+ 2124269,
+ 2124308,
+ 2124267,
+ 2124298,
+ 2124306,
+ 2124481,
+ 2124323,
+ 2124307,
+ 2124356,
+ 2124300,
+ 2124402,
+ 2124342,
+ 2124408,
+ 2124359,
+ 2124386,
+ 2124377,
+ 2124390,
+ 2124360,
+ 2124344,
+ 2124322,
+ 2124432,
+ 2124429,
+ 2124448,
+ 2124420,
+ 2124450,
+ 2124451,
+ 2124439,
+ 2131479,
+ 2124475,
+ 2124483,
+ 2124482,
+ 2124472,
+ 2124467,
+ 2124460,
+ 2124510,
+ 2124497,
+ 2124511,
+ 2124458,
+ 2124506,
+ 2124522,
+ 2124539,
+ 2124549,
+ 2131478,
+ 2124538,
+ 2124562,
+ 2124566,
+ 2136881,
+ 2124575,
+ 2124600,
+ 2124599,
+ 2127580,
+ 2124601,
+ 2136302,
+ 2124615,
+ 2124611,
+ 2124617,
+ 2124624,
+ 2124633,
+ 2124628,
+ 2124635,
+ 2124639,
+ 2124641,
+ 2124664,
+ 2124665,
+ 2124671,
+ 2124672,
+ 2124676,
+ 2124675,
+ 2124685,
+ 2124696,
+ 2124693,
+ 2124702,
+ 2124708,
+ 2124714,
+ 2124715,
+ 2124719,
+ 2124722,
+ 2124721,
+ 2124723,
+ 2124727,
+ 2124732,
+ 2124742,
+ 2124747,
+ 2124755,
+ 2124767,
+ 2124780,
+ 2124779,
+ 2124787,
+ 2124783,
+ 2137790,
+ 2124808,
+ 2124819,
+ 2124820,
+ 2124827,
+ 2124836,
+ 2124835,
+ 2124894,
+ 2124885,
+ 2124898,
+ 2124906,
+ 2124930,
+ 2124941,
+ 2124954,
+ 2124929,
+ 2124955,
+ 2124926,
+ 2124904,
+ 2124915,
+ 2124946,
+ 2124944,
+ 2124996,
+ 2125041,
+ 2125011,
+ 2124989,
+ 2125015,
+ 2124997,
+ 2125021,
+ 2124974,
+ 2124977,
+ 2124990,
+ 2124986,
+ 2125019,
+ 2125039,
+ 2125017,
+ 2125034,
+ 2125087,
+ 2132045,
+ 2125110,
+ 2125099,
+ 2125117,
+ 2125112,
+ 2125081,
+ 2125109,
+ 2125107,
+ 2125074,
+ 2125068,
+ 2125155,
+ 2125203,
+ 2125156,
+ 2125146,
+ 2125177,
+ 2125145,
+ 2125198,
+ 2125205,
+ 2125796,
+ 2125189,
+ 2125305,
+ 2125333,
+ 2125322,
+ 2125237,
+ 2125255,
+ 2125286,
+ 2125240,
+ 2125254,
+ 2125292,
+ 2125278,
+ 2125260,
+ 2125288,
+ 2125266,
+ 2125253,
+ 2125306,
+ 2125273,
+ 2125284,
+ 2125269,
+ 2125290,
+ 2125294,
+ 2125357,
+ 2125422,
+ 2125358,
+ 2125337,
+ 2125426,
+ 2125407,
+ 2125374,
+ 2125347,
+ 2125419,
+ 2125355,
+ 2125430,
+ 2125389,
+ 2125343,
+ 2125379,
+ 2125370,
+ 2125390,
+ 2125348,
+ 2125567,
+ 2125341,
+ 2125368,
+ 2125442,
+ 2125482,
+ 2125464,
+ 2125513,
+ 2125495,
+ 2125523,
+ 2125501,
+ 2125487,
+ 2125508,
+ 2125490,
+ 2125524,
+ 2125525,
+ 2125455,
+ 2125477,
+ 2125506,
+ 2125471,
+ 2125633,
+ 2125585,
+ 2125900,
+ 2125548,
+ 2125560,
+ 2125566,
+ 2125631,
+ 2125554,
+ 2125617,
+ 2125551,
+ 2125618,
+ 2125516,
+ 2125630,
+ 2125587,
+ 2125559,
+ 2125702,
+ 2125690,
+ 2125688,
+ 2125697,
+ 2125696,
+ 2125679,
+ 2125659,
+ 2125811,
+ 2125677,
+ 2125698,
+ 2125692,
+ 2125656,
+ 2125710,
+ 2125713,
+ 2125762,
+ 2125670,
+ 2125747,
+ 2125731,
+ 2125729,
+ 2125732,
+ 2125753,
+ 2125766,
+ 2125738,
+ 2125791,
+ 2125781,
+ 2125804,
+ 2125780,
+ 2125784,
+ 2125809,
+ 2125806,
+ 2125787,
+ 2125833,
+ 2125835,
+ 2125818,
+ 2125841,
+ 2125825,
+ 2125839,
+ 2125822,
+ 2125851,
+ 2125850,
+ 2125684,
+ 2125853,
+ 2125848,
+ 2125855,
+ 2125872,
+ 2125886,
+ 2125874,
+ 2125905,
+ 2125923,
+ 2125977,
+ 2125970,
+ 2125999,
+ 2126065,
+ 2125996,
+ 2126008,
+ 2126003,
+ 2125998,
+ 2126047,
+ 2126027,
+ 2126045,
+ 2126041,
+ 2126089,
+ 2126077,
+ 2126108,
+ 2126105,
+ 2126181,
+ 2126165,
+ 2126216,
+ 2126182,
+ 2126178,
+ 2126156,
+ 2126166,
+ 2126188,
+ 2126223,
+ 2126331,
+ 2126212,
+ 2126229,
+ 2126248,
+ 2126252,
+ 2126295,
+ 2126265,
+ 2126270,
+ 2126290,
+ 2126281,
+ 2126292,
+ 2126286,
+ 2126304,
+ 2126316,
+ 2126311,
+ 2126325,
+ 2126332,
+ 2126329,
+ 2126335,
+ 2126349,
+ 2126352,
+ 2126363,
+ 4223528,
+ 2126381,
+ 2126380,
+ 2126384,
+ 2126386,
+ 2126395,
+ 2126396,
+ 2126399,
+ 2126400,
+ 2126406,
+ 2126411,
+ 2126424,
+ 2126452,
+ 2126462,
+ 2126466,
+ 2126465,
+ 2126471,
+ 2126482,
+ 2126486,
+ 2126498,
+ 2126503,
+ 2126521,
+ 2126514,
+ 2126531,
+ 2126534,
+ 2126532,
+ 2126542,
+ 2126546,
+ 2126562,
+ 2126560,
+ 2126561,
+ 2126585,
+ 2126583,
+ 2117647,
+ 2126615,
+ 2126602,
+ 2126620,
+ 2126614,
+ 2126621,
+ 2126644,
+ 2126639,
+ 2126633,
+ 2126629,
+ 2126654,
+ 2126670,
+ 2126671,
+ 2137816,
+ 2126679,
+ 2126698,
+ 2126696,
+ 2126704,
+ 2126712,
+ 2126709,
+ 2126715,
+ 2126714,
+ 2126792,
+ 2126771,
+ 2126798,
+ 2126779,
+ 2126784,
+ 2126821,
+ 2126830,
+ 2126814,
+ 2127010,
+ 2126853,
+ 2126959,
+ 2126885,
+ 2126840,
+ 2126898,
+ 2126906,
+ 2126933,
+ 2126911,
+ 2126943,
+ 2126937,
+ 2126913,
+ 2126940,
+ 2126953,
+ 2126960,
+ 2126947,
+ 2126954,
+ 2126966,
+ 2126974,
+ 2126987,
+ 2127006,
+ 2127015,
+ 2127050,
+ 2127055,
+ 2127060,
+ 2126833,
+ 2127072,
+ 2127075,
+ 2127079,
+ 2127081,
+ 2127086,
+ 2127090,
+ 2127088,
+ 2127089,
+ 2127096,
+ 2127095,
+ 2127108,
+ 2127107,
+ 2127109,
+ 2127116,
+ 2127118,
+ 2127117,
+ 2127125,
+ 2127123,
+ 2127134,
+ 2127142,
+ 2127148,
+ 2127164,
+ 2127172,
+ 2127181,
+ 2127178,
+ 2127177,
+ 2127195,
+ 2127174,
+ 2127194,
+ 2127209,
+ 2127204,
+ 2127207,
+ 2127211,
+ 2127213,
+ 2127224,
+ 2127222,
+ 2127238,
+ 2127239,
+ 2127220,
+ 2127242,
+ 2127241,
+ 2127234,
+ 2127252,
+ 2127258,
+ 2127261,
+ 2127269,
+ 2127267,
+ 2127298,
+ 2127283,
+ 2127299,
+ 2127285,
+ 2127293,
+ 2127288,
+ 2127292,
+ 2127281,
+ 2127309,
+ 2127306,
+ 2127314,
+ 2127321,
+ 2127331,
+ 2127326,
+ 2127358,
+ 2127359,
+ 2127356,
+ 2127361,
+ 2127344,
+ 2127354,
+ 2127346,
+ 2127347,
+ 2127371,
+ 2127373,
+ 2127369,
+ 2127391,
+ 2127399,
+ 2127392,
+ 2127393,
+ 2127394,
+ 2127396,
+ 2127412,
+ 2127408,
+ 2127419,
+ 2127431,
+ 2127432,
+ 2127430,
+ 2127452,
+ 2127448,
+ 2127457,
+ 2127458,
+ 2127464,
+ 2127465,
+ 2127466,
+ 2127463,
+ 2127468,
+ 2127472,
+ 2127474,
+ 2127478,
+ 2127480,
+ 2127484,
+ 2127488,
+ 2127491,
+ 2127496,
+ 2127499,
+ 2127502,
+ 2127510,
+ 2127507,
+ 2127513,
+ 2127514,
+ 2127536,
+ 2127540,
+ 2127544,
+ 2127545,
+ 2127546,
+ 2127554,
+ 2127565,
+ 2127574,
+ 2127570,
+ 2127582,
+ 2127585,
+ 2127589,
+ 2127591,
+ 2127594,
+ 2131503,
+ 2127611,
+ 2127624,
+ 2127623,
+ 2127620,
+ 2127657,
+ 2127652,
+ 4224798,
+ 2127653,
+ 2127654,
+ 2127643,
+ 2127671,
+ 2127672,
+ 2127687,
+ 2127706,
+ 2127720,
+ 2127723,
+ 2127707,
+ 2127717,
+ 2127743,
+ 2127742,
+ 2127737,
+ 2127758,
+ 2127755,
+ 2127761,
+ 2127776,
+ 2127774,
+ 2127792,
+ 2127798,
+ 2127801,
+ 2127807,
+ 2127804,
+ 2127805,
+ 2127803,
+ 2127815,
+ 2127821,
+ 2127831,
+ 2127834,
+ 2127836,
+ 2127843,
+ 2127854,
+ 2127868,
+ 2127884,
+ 2127890,
+ 2128166,
+ 2127904,
+ 2128170,
+ 2127941,
+ 2128014,
+ 2127988,
+ 2128006,
+ 2127996,
+ 2128026,
+ 2128012,
+ 2128035,
+ 2128053,
+ 2128042,
+ 2128047,
+ 2128081,
+ 2128070,
+ 2128075,
+ 2128084,
+ 2128062,
+ 2128060,
+ 2128069,
+ 2128074,
+ 2128108,
+ 2128103,
+ 2128090,
+ 2128125,
+ 2128116,
+ 2128135,
+ 2128146,
+ 2128145,
+ 2128153,
+ 2128172,
+ 2128171,
+ 2128192,
+ 2128224,
+ 2128215,
+ 2128223,
+ 2128218,
+ 2128213,
+ 2128211,
+ 2128250,
+ 2128255,
+ 2128266,
+ 2128285,
+ 2128295,
+ 2137931,
+ 2128298,
+ 2128302,
+ 2128307,
+ 2128313,
+ 2128314,
+ 2128329,
+ 2128341,
+ 2128359,
+ 2128364,
+ 2128353,
+ 2128355,
+ 2128392,
+ 2128397,
+ 2128408,
+ 2128409,
+ 2128416,
+ 2128415,
+ 2128256,
+ 2128433,
+ 2128443,
+ 2128446,
+ 2128439,
+ 2128451,
+ 2128471,
+ 2128457,
+ 2128481,
+ 2128482,
+ 2128489,
+ 2138013,
+ 2128496,
+ 2128505,
+ 2128509,
+ 2128520,
+ 2128535,
+ 2128533,
+ 2128536,
+ 2128534,
+ 2128553,
+ 2128584,
+ 2128560,
+ 2128566,
+ 2128581,
+ 2128580,
+ 2128575,
+ 2134147,
+ 2128583,
+ 2128586,
+ 2128589,
+ 2128591,
+ 2128597,
+ 2128595,
+ 2128601,
+ 2128602,
+ 2128605,
+ 2128609,
+ 2128610,
+ 2128614,
+ 2128621,
+ 2128624,
+ 2128642,
+ 2128655,
+ 2128650,
+ 2128646,
+ 2128691,
+ 2128664,
+ 2128665,
+ 2128670,
+ 2128693,
+ 2128680,
+ 2128694,
+ 2128720,
+ 2128762,
+ 2128644,
+ 2128717,
+ 2128651,
+ 2128716,
+ 2128709,
+ 2128757,
+ 2128741,
+ 2128756,
+ 2128743,
+ 2128752,
+ 2128753,
+ 2128748,
+ 2128750,
+ 2128797,
+ 2128792,
+ 2128799,
+ 2128781,
+ 2128796,
+ 2128794,
+ 2128779,
+ 2128786,
+ 2128783,
+ 2128733,
+ 2128793,
+ 2128843,
+ 2128833,
+ 2128844,
+ 2128847,
+ 2128820,
+ 2128838,
+ 2128861,
+ 2128873,
+ 2128913,
+ 2128916,
+ 2128870,
+ 2128869,
+ 2128992,
+ 2128896,
+ 2128903,
+ 2128915,
+ 2128883,
+ 2128887,
+ 2128919,
+ 2128909,
+ 2128886,
+ 2128931,
+ 2128935,
+ 2128938,
+ 2128927,
+ 2128951,
+ 2128939,
+ 2128957,
+ 2128972,
+ 2128963,
+ 2128980,
+ 2128975,
+ 2128960,
+ 2128976,
+ 2128984,
+ 2128991,
+ 2128996,
+ 2128982,
+ 2128997,
+ 2129004,
+ 2129013,
+ 2129027,
+ 2129040,
+ 2129060,
+ 2129069,
+ 2129058,
+ 2129067,
+ 2129057,
+ 2129064,
+ 2129075,
+ 2129074,
+ 2129073,
+ 2129070,
+ 2129081,
+ 2129085,
+ 2129088,
+ 2129093,
+ 2129090,
+ 2129112,
+ 2129106,
+ 2129116,
+ 2129122,
+ 2136891,
+ 2129135,
+ 2129138,
+ 2129140,
+ 2129142,
+ 2129146,
+ 2129158,
+ 2129154,
+ 2129180,
+ 2129173,
+ 2129162,
+ 2129221,
+ 2129227,
+ 2129198,
+ 2129202,
+ 2129215,
+ 2129205,
+ 2129222,
+ 2129267,
+ 2129238,
+ 2129230,
+ 2129266,
+ 2129256,
+ 2129262,
+ 2129231,
+ 2129251,
+ 2129299,
+ 2129289,
+ 2129243,
+ 2129295,
+ 2129277,
+ 2129307,
+ 2129338,
+ 2129326,
+ 2129315,
+ 2129333,
+ 2129351,
+ 2129341,
+ 2129323,
+ 2129469,
+ 2129314,
+ 2129327,
+ 2129372,
+ 2129336,
+ 2129311,
+ 2129328,
+ 2129368,
+ 2129373,
+ 2129380,
+ 2129374,
+ 2129403,
+ 2129394,
+ 2129377,
+ 2129413,
+ 2129418,
+ 2129443,
+ 2129441,
+ 2129426,
+ 2129457,
+ 2129439,
+ 2129417,
+ 2129419,
+ 2129442,
+ 2129478,
+ 2129510,
+ 2129467,
+ 2129461,
+ 2129465,
+ 2129475,
+ 2129463,
+ 2129458,
+ 2129466,
+ 2129511,
+ 2129501,
+ 2129494,
+ 2129502,
+ 2129497,
+ 2129498,
+ 2129529,
+ 2129514,
+ 2129513,
+ 2129532,
+ 2129531,
+ 2129539,
+ 2129365,
+ 2129533,
+ 2133934,
+ 2129535,
+ 2129544,
+ 2129545,
+ 2129548,
+ 2129554,
+ 2129552,
+ 2129555,
+ 2129556,
+ 2129558,
+ 2129550,
+ 2129563,
+ 2129564,
+ 2129720,
+ 2129722,
+ 2129733,
+ 2129740,
+ 2129741,
+ 2129742,
+ 2129744,
+ 2129745,
+ 2129749,
+ 2129748,
+ 2129752,
+ 2129759,
+ 2129760,
+ 2129768,
+ 2129769,
+ 2129767,
+ 2129784,
+ 2129794,
+ 2129798,
+ 2129795,
+ 2129800,
+ 2129799,
+ 2129804,
+ 2129812,
+ 2129822,
+ 2129821,
+ 2129818,
+ 2129827,
+ 2129839,
+ 2129842,
+ 2129849,
+ 2129838,
+ 2129846,
+ 2129848,
+ 2132849,
+ 2129861,
+ 2129862,
+ 2129866,
+ 2129877,
+ 2129876,
+ 2129889,
+ 2129894,
+ 2129897,
+ 2129907,
+ 2129913,
+ 2136284,
+ 2129926,
+ 2129924,
+ 2129931,
+ 2129938,
+ 2129944,
+ 2129945,
+ 2129948,
+ 2129953,
+ 2129960,
+ 2129983,
+ 2129979,
+ 2129994,
+ 2129990,
+ 2130002,
+ 2130008,
+ 2130010,
+ 2130015,
+ 2130018,
+ 2130024,
+ 2130035,
+ 2130034,
+ 2130032,
+ 2130038,
+ 2130041,
+ 2130045,
+ 2130047,
+ 2130052,
+ 2130054,
+ 2130053,
+ 2130075,
+ 2130067,
+ 2130074,
+ 2130093,
+ 2118032,
+ 2130092,
+ 2130139,
+ 2130149,
+ 2130137,
+ 2130141,
+ 2130116,
+ 2130138,
+ 2130134,
+ 2130185,
+ 2130159,
+ 2130161,
+ 2130203,
+ 2130217,
+ 2130211,
+ 2130223,
+ 2130251,
+ 2135691,
+ 2130246,
+ 2130238,
+ 2130259,
+ 2130257,
+ 2130172,
+ 2130289,
+ 2130286,
+ 2130277,
+ 2130278,
+ 2130292,
+ 2130307,
+ 2130312,
+ 2130314,
+ 2130304,
+ 2130306,
+ 2130336,
+ 2130325,
+ 2130340,
+ 2130339,
+ 2130271,
+ 2130323,
+ 2130345,
+ 2130352,
+ 2130357,
+ 2130366,
+ 2130360,
+ 2130365,
+ 2130368,
+ 2130370,
+ 2130362,
+ 2130377,
+ 2130381,
+ 2130385,
+ 2130393,
+ 2130392,
+ 2130376,
+ 2130394,
+ 2130399,
+ 2130400,
+ 2130407,
+ 2130426,
+ 2130427,
+ 2130430,
+ 2130433,
+ 2130434,
+ 2130437,
+ 2130439,
+ 2130442,
+ 2130445,
+ 2130448,
+ 2130454,
+ 2130473,
+ 2130475,
+ 2130488,
+ 2130483,
+ 2130496,
+ 2130521,
+ 2130520,
+ 2130525,
+ 2130522,
+ 2130527,
+ 2130532,
+ 2130530,
+ 2130536,
+ 2130538,
+ 2130539,
+ 2130478,
+ 2130545,
+ 2130551,
+ 2130552,
+ 2130558,
+ 2130573,
+ 2130578,
+ 2130603,
+ 2130591,
+ 2130619,
+ 2130604,
+ 2130657,
+ 2130659,
+ 2130655,
+ 2130642,
+ 2130676,
+ 2130675,
+ 2130682,
+ 2130835,
+ 2130691,
+ 2130683,
+ 2130681,
+ 2130654,
+ 2130694,
+ 2130652,
+ 2130697,
+ 2130649,
+ 2130741,
+ 2130740,
+ 2130710,
+ 2130738,
+ 2130737,
+ 2130752,
+ 2130745,
+ 2130768,
+ 2130757,
+ 2130735,
+ 2130731,
+ 2130711,
+ 2130712,
+ 2130821,
+ 2130842,
+ 2130858,
+ 2130847,
+ 2130850,
+ 2130838,
+ 2130723,
+ 2130830,
+ 2130823,
+ 2130826,
+ 2130812,
+ 2130869,
+ 2130803,
+ 2130805,
+ 2130848,
+ 2130825,
+ 2130856,
+ 2130932,
+ 2130963,
+ 2130923,
+ 2130894,
+ 2130941,
+ 2130947,
+ 2130904,
+ 2130955,
+ 2130881,
+ 2130935,
+ 2130951,
+ 2130912,
+ 2130930,
+ 2130957,
+ 2130978,
+ 2130976,
+ 2130877,
+ 2131000,
+ 2131206,
+ 2130939,
+ 2131053,
+ 2130986,
+ 2131004,
+ 2131290,
+ 2131076,
+ 2131063,
+ 2131051,
+ 2131117,
+ 2131054,
+ 2131074,
+ 2131049,
+ 2131014,
+ 2130988,
+ 2131055,
+ 2131065,
+ 2130997,
+ 2131146,
+ 2131042,
+ 2131129,
+ 2131135,
+ 2131103,
+ 2131161,
+ 2131149,
+ 2131131,
+ 2131162,
+ 2131152,
+ 2131137,
+ 2131142,
+ 2131158,
+ 2131105,
+ 2131233,
+ 2131199,
+ 2131188,
+ 2131223,
+ 2131224,
+ 2131244,
+ 2131231,
+ 2131221,
+ 2131220,
+ 2131196,
+ 2131264,
+ 2131299,
+ 2131288,
+ 2131272,
+ 2131265,
+ 2131458,
+ 2131275,
+ 2131285,
+ 2131328,
+ 2131364,
+ 2131336,
+ 2131345,
+ 2131338,
+ 2131368,
+ 2131309,
+ 2131348,
+ 2131355,
+ 2131434,
+ 2131335,
+ 2131356,
+ 2131319,
+ 2131326,
+ 2131344,
+ 2131401,
+ 2131386,
+ 2131407,
+ 2131385,
+ 2131408,
+ 2131413,
+ 2131421,
+ 2131429,
+ 2131420,
+ 2131449,
+ 2131466,
+ 2131475,
+ 2131467,
+ 2131454,
+ 2131450,
+ 2131462,
+ 2131490,
+ 2131482,
+ 2131504,
+ 2131519,
+ 2131533,
+ 2117205,
+ 2131540,
+ 2131551,
+ 2131559,
+ 2131569,
+ 2131603,
+ 2131619,
+ 2131625,
+ 2131626,
+ 2131595,
+ 2131596,
+ 2131638,
+ 2131631,
+ 2131652,
+ 2131654,
+ 2131632,
+ 2131657,
+ 2132003,
+ 2131627,
+ 2131668,
+ 2131678,
+ 2131689,
+ 2131692,
+ 2131679,
+ 2131675,
+ 2131695,
+ 2131730,
+ 2131718,
+ 2131720,
+ 2131712,
+ 2131715,
+ 2131707,
+ 2131729,
+ 2131721,
+ 2131725,
+ 2131705,
+ 2131722,
+ 2131764,
+ 2131775,
+ 2131767,
+ 2131771,
+ 2131749,
+ 2131753,
+ 2131738,
+ 2131808,
+ 2131807,
+ 2131832,
+ 2131788,
+ 2131790,
+ 2131828,
+ 2131799,
+ 2131816,
+ 2131822,
+ 2131801,
+ 2131795,
+ 2131811,
+ 2131818,
+ 2131973,
+ 2131874,
+ 2131871,
+ 2131842,
+ 2131887,
+ 2131915,
+ 2131901,
+ 2131904,
+ 2131920,
+ 2135766,
+ 2131883,
+ 2131908,
+ 2131891,
+ 2131911,
+ 2131910,
+ 2131899,
+ 2131951,
+ 2131954,
+ 2131936,
+ 2131983,
+ 2131981,
+ 2131966,
+ 2131958,
+ 2131959,
+ 2131982,
+ 2131922,
+ 2131985,
+ 2131990,
+ 2131989,
+ 2132002,
+ 2132001,
+ 2132017,
+ 2132022,
+ 2132025,
+ 2132007,
+ 2132027,
+ 2132036,
+ 2132034,
+ 2132050,
+ 2132057,
+ 2132062,
+ 2132066,
+ 2132075,
+ 2132097,
+ 2132094,
+ 2132126,
+ 2132085,
+ 2132093,
+ 2132149,
+ 2132082,
+ 2132098,
+ 2132119,
+ 2132114,
+ 2132142,
+ 2132121,
+ 2132130,
+ 2132109,
+ 2132132,
+ 2132144,
+ 2132159,
+ 2132145,
+ 2132163,
+ 2132164,
+ 2132180,
+ 2132184,
+ 2132185,
+ 2132189,
+ 2132217,
+ 2132226,
+ 2132220,
+ 2132212,
+ 2132200,
+ 2132210,
+ 2132228,
+ 2132236,
+ 2132234,
+ 2132243,
+ 2132291,
+ 2132254,
+ 2132261,
+ 2132266,
+ 2132267,
+ 2132289,
+ 2132292,
+ 2132283,
+ 2132278,
+ 2132280,
+ 2132300,
+ 2132253,
+ 2132320,
+ 2132318,
+ 2132326,
+ 2132324,
+ 2132333,
+ 2132330,
+ 2132335,
+ 2132340,
+ 2132343,
+ 2132350,
+ 2132355,
+ 2132360,
+ 2132362,
+ 2132371,
+ 2132376,
+ 2132385,
+ 2132393,
+ 2132390,
+ 2132396,
+ 2132399,
+ 2132402,
+ 2132410,
+ 2132413,
+ 2132415,
+ 2132416,
+ 2132442,
+ 2132444,
+ 2132445,
+ 2132455,
+ 2132468,
+ 2132472,
+ 2132483,
+ 2132502,
+ 2132496,
+ 2132492,
+ 2132507,
+ 2132509,
+ 2132517,
+ 2132534,
+ 2132545,
+ 2132571,
+ 2132562,
+ 2132550,
+ 2132552,
+ 2132604,
+ 2132589,
+ 2132588,
+ 2132578,
+ 2132613,
+ 2132610,
+ 2132612,
+ 2132648,
+ 2132641,
+ 2132625,
+ 2132645,
+ 2132646,
+ 2132634,
+ 2132643,
+ 2132676,
+ 2132685,
+ 2132674,
+ 2132698,
+ 2132715,
+ 2132723,
+ 2132711,
+ 2132708,
+ 2132721,
+ 2132756,
+ 2132704,
+ 2132706,
+ 2132727,
+ 2132702,
+ 2132699,
+ 2132748,
+ 2132743,
+ 2132762,
+ 2132705,
+ 2132758,
+ 2132752,
+ 2132759,
+ 2132768,
+ 2132787,
+ 2135979,
+ 2132774,
+ 2132779,
+ 2132798,
+ 2132776,
+ 2132801,
+ 2132812,
+ 2132815,
+ 2132814,
+ 2132809,
+ 2132822,
+ 2132827,
+ 2132826,
+ 2132843,
+ 2132831,
+ 2132844,
+ 2132847,
+ 2132852,
+ 2132861,
+ 2132864,
+ 2132876,
+ 2132878,
+ 2132882,
+ 2132883,
+ 2132886,
+ 2132889,
+ 2132890,
+ 2133050,
+ 2133057,
+ 2133055,
+ 2133064,
+ 2133068,
+ 2133070,
+ 2133072,
+ 2133077,
+ 2133090,
+ 2133100,
+ 2133112,
+ 2133114,
+ 2133122,
+ 2133129,
+ 2133125,
+ 2133130,
+ 2133133,
+ 2133134,
+ 2133140,
+ 2133116,
+ 2133144,
+ 2122269,
+ 2133165,
+ 2133162,
+ 2133181,
+ 2133170,
+ 2133171,
+ 2133166,
+ 2133174,
+ 2133192,
+ 2133185,
+ 2133220,
+ 2133219,
+ 2133210,
+ 2133245,
+ 2133242,
+ 2133243,
+ 2133252,
+ 2133253,
+ 2133258,
+ 2133255,
+ 2133263,
+ 2133261,
+ 2133264,
+ 2137934,
+ 2133267,
+ 2133197,
+ 2133268,
+ 2133270,
+ 2133351,
+ 2133357,
+ 2133361,
+ 2133363,
+ 2133377,
+ 2133401,
+ 2133442,
+ 2133438,
+ 2133434,
+ 2133455,
+ 2133466,
+ 2133462,
+ 2133452,
+ 2133467,
+ 2133451,
+ 2133482,
+ 2133483,
+ 2133471,
+ 2133475,
+ 2133500,
+ 2133512,
+ 2133513,
+ 2133503,
+ 2133533,
+ 2133534,
+ 2133520,
+ 2133535,
+ 2133570,
+ 2133557,
+ 2133552,
+ 2133556,
+ 2133578,
+ 2133575,
+ 2133577,
+ 2133580,
+ 2133584,
+ 2133576,
+ 2133593,
+ 2133604,
+ 2133600,
+ 2133546,
+ 2133603,
+ 2133589,
+ 2133622,
+ 2133618,
+ 2133628,
+ 2133633,
+ 2133639,
+ 2133637,
+ 2133636,
+ 2133643,
+ 2133642,
+ 2133651,
+ 2133649,
+ 2133652,
+ 2133657,
+ 2133674,
+ 2133665,
+ 2133676,
+ 2133680,
+ 2133702,
+ 2133681,
+ 2133694,
+ 2133701,
+ 2133704,
+ 2133707,
+ 2133723,
+ 2133731,
+ 2133756,
+ 2133755,
+ 2133739,
+ 2133758,
+ 2133770,
+ 2133765,
+ 2133781,
+ 2133778,
+ 2133785,
+ 2133779,
+ 2133788,
+ 2133791,
+ 2133787,
+ 2133772,
+ 2133798,
+ 2133811,
+ 2133819,
+ 2133817,
+ 2133829,
+ 2133826,
+ 2133822,
+ 2133836,
+ 2133833,
+ 2133830,
+ 2133838,
+ 2133847,
+ 2133852,
+ 2133858,
+ 2133859,
+ 2133860,
+ 2133916,
+ 2133919,
+ 2133923,
+ 2133933,
+ 2133935,
+ 2133943,
+ 2133978,
+ 2133989,
+ 2133986,
+ 2133994,
+ 2133999,
+ 2134151,
+ 2134004,
+ 2134021,
+ 2134009,
+ 2134010,
+ 2134033,
+ 2134037,
+ 2134049,
+ 2134029,
+ 2134046,
+ 2134038,
+ 2134027,
+ 2134055,
+ 2134070,
+ 2134069,
+ 2134073,
+ 2134008,
+ 2134095,
+ 2134096,
+ 2134097,
+ 2134098,
+ 2134030,
+ 2134089,
+ 2134078,
+ 2134102,
+ 2134104,
+ 2134110,
+ 2134120,
+ 2134127,
+ 2134134,
+ 2135720,
+ 2134130,
+ 2134146,
+ 2134141,
+ 2134145,
+ 2134144,
+ 2134154,
+ 2134153,
+ 2134159,
+ 2134184,
+ 2134191,
+ 2134193,
+ 2134197,
+ 2134242,
+ 2134244,
+ 2122312,
+ 2134235,
+ 2134274,
+ 2134290,
+ 2134297,
+ 2134322,
+ 2134320,
+ 2134346,
+ 2134358,
+ 2134360,
+ 2134371,
+ 2134373,
+ 2134377,
+ 2134387,
+ 2134386,
+ 2134411,
+ 2134409,
+ 2134402,
+ 2134434,
+ 2134443,
+ 2134447,
+ 2134442,
+ 2134453,
+ 2134452,
+ 2134458,
+ 2134464,
+ 2134465,
+ 2134473,
+ 2134475,
+ 2134480,
+ 2134486,
+ 2134495,
+ 2134497,
+ 2134491,
+ 2134524,
+ 2134517,
+ 2134518,
+ 2134558,
+ 2134527,
+ 2134548,
+ 2134572,
+ 2134549,
+ 2134545,
+ 2134622,
+ 2134615,
+ 2134597,
+ 2134601,
+ 2134628,
+ 2134600,
+ 2134677,
+ 2134591,
+ 2134603,
+ 2134608,
+ 2134684,
+ 2134678,
+ 2134675,
+ 2134683,
+ 2134618,
+ 2134735,
+ 2134713,
+ 2134711,
+ 2134761,
+ 2134799,
+ 2134778,
+ 2134852,
+ 2134830,
+ 2134809,
+ 2134818,
+ 2134810,
+ 2134819,
+ 2134842,
+ 2134837,
+ 2134843,
+ 2134876,
+ 2134880,
+ 2134908,
+ 2134894,
+ 2134870,
+ 2134960,
+ 2134956,
+ 2134957,
+ 2134932,
+ 2134969,
+ 2134998,
+ 2134999,
+ 2135016,
+ 2135013,
+ 2135000,
+ 2134979,
+ 2135005,
+ 2134992,
+ 2134984,
+ 2135012,
+ 2135066,
+ 2135060,
+ 2135059,
+ 2135043,
+ 2135047,
+ 2135056,
+ 2135094,
+ 2135083,
+ 2135093,
+ 2135073,
+ 2135098,
+ 2135105,
+ 2135122,
+ 2135108,
+ 2135131,
+ 2135136,
+ 2135138,
+ 2135134,
+ 2135146,
+ 2134569,
+ 2135152,
+ 2135157,
+ 2135159,
+ 2135165,
+ 2135130,
+ 2135164,
+ 2135166,
+ 2135169,
+ 2135167,
+ 2135426,
+ 2135431,
+ 2135434,
+ 2135444,
+ 2135446,
+ 2135448,
+ 2135449,
+ 2135456,
+ 2135464,
+ 2135463,
+ 2135469,
+ 2135484,
+ 2135483,
+ 2135481,
+ 2135486,
+ 2135498,
+ 2125814,
+ 2135491,
+ 2135501,
+ 2135500,
+ 2135509,
+ 2135508,
+ 2135510,
+ 2135516,
+ 2135521,
+ 2135525,
+ 2135522,
+ 2135585,
+ 2135592,
+ 2135598,
+ 2135599,
+ 2135618,
+ 2135628,
+ 2135631,
+ 2135627,
+ 2135671,
+ 2135644,
+ 2135646,
+ 2135645,
+ 2135647,
+ 2135654,
+ 2135666,
+ 2135660,
+ 2135693,
+ 2135704,
+ 2135701,
+ 2135703,
+ 2135722,
+ 2135719,
+ 2135729,
+ 2135730,
+ 2135728,
+ 2135732,
+ 2135734,
+ 2135736,
+ 2135737,
+ 2135758,
+ 2135755,
+ 2135753,
+ 2135757,
+ 2132301,
+ 2135772,
+ 2135821,
+ 2135765,
+ 2135801,
+ 2135812,
+ 2135814,
+ 2135816,
+ 2135827,
+ 2135822,
+ 2135825,
+ 2135823,
+ 2135830,
+ 2135833,
+ 2135844,
+ 2135850,
+ 2135856,
+ 2135865,
+ 2135869,
+ 2135870,
+ 2135876,
+ 2135878,
+ 2135880,
+ 2135874,
+ 2135881,
+ 2135900,
+ 2135904,
+ 2135908,
+ 2135910,
+ 2135912,
+ 2118354,
+ 2135915,
+ 2135921,
+ 2135929,
+ 2135941,
+ 2135932,
+ 2135937,
+ 2135930,
+ 2135942,
+ 2135947,
+ 2135951,
+ 2135952,
+ 2135964,
+ 2135976,
+ 2135974,
+ 2135971,
+ 2135987,
+ 2135988,
+ 2136003,
+ 2136006,
+ 2136008,
+ 2136011,
+ 2136028,
+ 2136045,
+ 2137935,
+ 2136050,
+ 2128607,
+ 2136054,
+ 2136053,
+ 2136079,
+ 2136076,
+ 2136120,
+ 2136100,
+ 2136097,
+ 2136119,
+ 2136125,
+ 2136134,
+ 2136143,
+ 2136139,
+ 2136171,
+ 2136175,
+ 2136176,
+ 2136177,
+ 2136180,
+ 2136179,
+ 2136234,
+ 2136239,
+ 2136241,
+ 2136246,
+ 2136260,
+ 2136259,
+ 2136262,
+ 2136297,
+ 2136299,
+ 2136323,
+ 2136329,
+ 2136338,
+ 2136340,
+ 2136344,
+ 2136353,
+ 2136349,
+ 2136350,
+ 2136356,
+ 2136352,
+ 2136364,
+ 2136366,
+ 2136381,
+ 2136382,
+ 2136386,
+ 2136393,
+ 2136389,
+ 2136400,
+ 2136395,
+ 2136401,
+ 2136402,
+ 2136396,
+ 2136405,
+ 2136471,
+ 2136472,
+ 2136485,
+ 2136493,
+ 2136494,
+ 2136508,
+ 2136543,
+ 2136539,
+ 2136541,
+ 2136536,
+ 2136529,
+ 2136557,
+ 2136558,
+ 2136561,
+ 2136562,
+ 2136571,
+ 2136568,
+ 2136577,
+ 2136591,
+ 2136581,
+ 2136546,
+ 2136601,
+ 2136619,
+ 2136631,
+ 2136645,
+ 2136642,
+ 2136640,
+ 2136643,
+ 2136638,
+ 2136661,
+ 2136653,
+ 2136667,
+ 2136663,
+ 2136671,
+ 2136674,
+ 2136677,
+ 2136676,
+ 2136681,
+ 2136683,
+ 2136682,
+ 2136749,
+ 2136752,
+ 2136764,
+ 2136768,
+ 2136783,
+ 2136785,
+ 2136787,
+ 2136788,
+ 2136798,
+ 2136799,
+ 2136802,
+ 2136803,
+ 2136806,
+ 2136815,
+ 2136811,
+ 2136814,
+ 2136820,
+ 2136817,
+ 2136823,
+ 2136827,
+ 2136838,
+ 2136856,
+ 2136858,
+ 2136863,
+ 2136866,
+ 2136867,
+ 2136869,
+ 2136871,
+ 2136872,
+ 2136873,
+ 2136874,
+ 2136878,
+ 2136879,
+ 2136882,
+ 2136900,
+ 2136899,
+ 2136911,
+ 2136909,
+ 2136910,
+ 2136913,
+ 2136920,
+ 2136948,
+ 2136979,
+ 2136963,
+ 2136977,
+ 2136982,
+ 2136983,
+ 2136991,
+ 2136992,
+ 2137000,
+ 2137012,
+ 2137024,
+ 2137034,
+ 2137017,
+ 2137030,
+ 2137039,
+ 2137041,
+ 2137042,
+ 2137059,
+ 2137058,
+ 2137060,
+ 2137044,
+ 2137057,
+ 2137146,
+ 2137074,
+ 2137073,
+ 2137072,
+ 2137109,
+ 2137108,
+ 2137097,
+ 2137107,
+ 2137100,
+ 2137094,
+ 2137096,
+ 2137106,
+ 2137098,
+ 2137092,
+ 2137134,
+ 2137115,
+ 2137125,
+ 2137124,
+ 2137121,
+ 2137136,
+ 2137159,
+ 2137138,
+ 2137158,
+ 2137150,
+ 2137178,
+ 2137184,
+ 2137191,
+ 2137206,
+ 2137208,
+ 2137319,
+ 2137324,
+ 2137328,
+ 2137353,
+ 2137352,
+ 2137323,
+ 2137347,
+ 2137350,
+ 2137386,
+ 2137382,
+ 2137519,
+ 2137379,
+ 2137375,
+ 2137412,
+ 2137365,
+ 2137362,
+ 2137409,
+ 2137407,
+ 2137406,
+ 2137414,
+ 2137416,
+ 2137437,
+ 2137438,
+ 2137444,
+ 2137425,
+ 2137424,
+ 2137433,
+ 2137458,
+ 2137481,
+ 2137479,
+ 2137515,
+ 2137455,
+ 2137466,
+ 2137498,
+ 2137508,
+ 2137513,
+ 2137522,
+ 2137540,
+ 2137537,
+ 2137531,
+ 2137528,
+ 2137530,
+ 2137542,
+ 2137551,
+ 2137538,
+ 2137561,
+ 2137555,
+ 2137592,
+ 2137574,
+ 2137581,
+ 2137583,
+ 2137597,
+ 2137626,
+ 2137627,
+ 2137630,
+ 2137717,
+ 2137721,
+ 2137725,
+ 2137729,
+ 2137736,
+ 2137739,
+ 2137740,
+ 2137746,
+ 2137749,
+ 2137745,
+ 2137757,
+ 2137765,
+ 2137769,
+ 2137784,
+ 2137770,
+ 2137773,
+ 2135905,
+ 2137804,
+ 2137806,
+ 2137807,
+ 2137808,
+ 2137812,
+ 2137820,
+ 2137822,
+ 2137821,
+ 2137824,
+ 2137829,
+ 2137832,
+ 2137839,
+ 2137844,
+ 2137846,
+ 2137847,
+ 2137849,
+ 2137851,
+ 2137852,
+ 2137853,
+ 2137863,
+ 2137864,
+ 2127543,
+ 2137877,
+ 2137889,
+ 2137900,
+ 2137918,
+ 2137930,
+ 2137938,
+ 2137940,
+ 2137955,
+ 2137951,
+ 2137952,
+ 2137953,
+ 2137958,
+ 2137959,
+ 2137964,
+ 2137962,
+ 2137975,
+ 2137970,
+ 2137974,
+ 2138005,
+ 2138012,
+ 2138016,
+ 2119727,
+ 2124231,
+ 2134105,
+ 2126948,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ 2119006,
+ 4233460,
+ 4222626,
+ 4234287,
+ 4222443,
+ 4231106,
+ 4221725,
+ 4215721,
+ 2264285,
+ 4216386,
+ 4233484,
+ 2126128,
+ 4229462,
+ 2137559,
+ 4231142,
+ 4218978,
+ 4219600,
+ 4220518,
+ 4216221,
+ 4228187,
+ 4233092,
+ 2119321,
+ 2112846,
+ 4227056,
+ 4227051,
+ 4218813,
+ 4225351,
+ 2117600,
+ 6312831,
+ 4214981,
+ 2133696,
+ 4216240,
+ 2124507,
+ 4217937,
+ 4233076,
+ 4225345,
+ 4219239,
+ 2250868,
+ 2129515,
+ 2130758,
+ 2264822,
+ 4214822,
+ 4217548,
+ 4219762,
+ 2137724,
+ 4229882,
+ 4218359,
+ 2123323,
+ 4222621,
+ 2137780,
+ 4234592,
+ 4224273,
+ 4231623,
+ 4221322,
+ 2123781,
+ 4228521,
+ 4234198,
+ 4231942,
+ 4223946,
+ 4215793,
+ 2120802,
+ 4231278,
+ 4220755,
+ 4223100,
+ 2129505,
+ 4231499,
+ 4220633,
+ 2125338,
+ 4228527,
+ 4228599,
+ 4216040,
+ 4218592,
+ 4221090,
+ 2131235,
+ 2134444,
+ 4233112,
+ 4228949,
+ 4233073,
+ 4231191,
+ 4227040,
+ 4220026,
+ 4231197,
+ 2131948,
+ 4220080,
+ 4220947,
+ 4223310,
+ 4223357,
+ 4229742,
+ 4216396,
+ 4231265,
+ 4215413,
+ 2122772,
+ 4224550,
+ 4231260,
+ 2136658,
+ 4227455,
+ 4234971,
+ 4216132,
+ 4222959,
+ 2126882,
+ 4228856,
+ 2121213,
+ 4231103,
+ 4221146,
+ 4234312,
+ 4221501,
+ 2128926,
+ 4229691,
+ 4223014,
+ 4215243,
+ 4219735,
+ 4221388,
+ 4232090,
+ 4216922,
+ 2122833,
+ 4231469,
+ 4220130,
+ 4222650,
+ 2119777,
+ 2136154,
+ 4216885,
+ 4217952,
+ 4228063,
+ 4230381,
+ 4216920,
+ 2128305,
+ 4234503,
+ 2125830,
+ 4223006,
+ 4216440,
+ 4231233,
+ 4233235,
+ 4231331,
+ 4229902,
+ 4223064,
+ 4221282,
+ 4225456,
+ 2119370,
+ 4223564,
+ 4231193,
+ 4225508,
+ 2118237,
+ 4225976,
+ 2125649,
+ 2134449,
+ 4219709,
+ 4219465,
+ 4221451,
+ 4220874,
+ 4225559,
+ 4231228,
+ 4217499,
+ 4229932,
+ 4218591,
+ 4222997,
+ 2136123,
+ 4228413,
+ 4224933,
+ 4217385,
+ 4218518,
+ 4222177,
+ 4228332,
+ 2136112,
+ 4234322,
+ 2137781,
+ 4215090,
+ 4233477,
+ 4226174,
+ 4232275,
+ 4219144,
+ 4224594,
+ 4223799,
+ 4223380,
+ 4227072,
+ 2130954,
+ 4231292,
+ 2125603,
+ 2126153,
+ 2131182,
+ 4221332,
+ 2131999,
+ 2117972,
+ 4215177,
+ 2118037,
+ 4215204,
+ 4216121,
+ 4216115,
+ 4216292,
+ 4216370,
+ 4216485,
+ 4216843,
+ 4217534,
+ 2234906,
+ 2120795,
+ 4218468,
+ 4219031,
+ 4219753,
+ 4219910,
+ 2123042,
+ 4220291,
+ 4220838,
+ 2123770,
+ 4221083,
+ 2123918,
+ 4222574,
+ 2245584,
+ 2126376,
+ 4223950,
+ 4224260,
+ 4224269,
+ 4224277,
+ 4224659,
+ 4225148,
+ 4225585,
+ 4235165,
+ 4225945,
+ 4226192,
+ 4226222,
+ 4226459,
+ 4226478,
+ 4226463,
+ 4227028,
+ 4227630,
+ 4227725,
+ 4227794,
+ 4227875,
+ 4227957,
+ 4228375,
+ 2131262,
+ 4228994,
+ 4229074,
+ 4229386,
+ 4229551,
+ 4229854,
+ 4229953,
+ 4230618,
+ 4230665,
+ 4230931,
+ 4231146,
+ 4231145,
+ 4231256,
+ 4219464,
+ 4231617,
+ 4232635,
+ 2127714,
+ 4232996,
+ 4233056,
+ 4233069,
+ 4233252,
+ 4234030,
+ 4234135,
+ 4234226,
+ 4234922,
+ 4235164,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ 4227750,
+ 4227880,
+ 2119251,
+ 6312873,
+ 4223577,
+ 4222066,
+ 4225800,
+ 4233559,
+ 4219635,
+ 4233488,
+ 6330221,
+ 6320509,
+ 4225663,
+ 4225965,
+ 4219843,
+ 6325215,
+ 4225378,
+ 4215771,
+ 4225991,
+ 4231108,
+ 4226110,
+ 4214986,
+ 4215573,
+ 4216233,
+ 4216494,
+ 4216857,
+ 4217115,
+ 4217896,
+ 4218576,
+ 4218575,
+ 4219457,
+ 4220609,
+ 4221960,
+ 4222499,
+ 4222700,
+ 4225687,
+ 4226013,
+ 4227049,
+ 4228130,
+ 4228953,
+ 4229134,
+ 6326226,
+ 4233753,
+ 4234925,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ 4231202,
+ 4231099,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ 2118108,
+ 2126233,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ 2129546,
+ 2132252,
+ 2134856,
+ 2134664,
+ 2131164,
+ 2117577,
+ 2126011,
+ 2123313,
+ 2123976,
+ 2134777,
+ 2123515,
+ 2121541,
+ 2117160,
+ 2117345,
+ 2117372,
+ 2117376,
+ 2117379,
+ 2117433,
+ 2117462,
+ 2117522,
+ 2117514,
+ 2117530,
+ 2117524,
+ 2117581,
+ 2117696,
+ 2117666,
+ 2117631,
+ 2117662,
+ 2117702,
+ 2117744,
+ 2117698,
+ 2117780,
+ 2117876,
+ 2117848,
+ 2117962,
+ 2117988,
+ 2118045,
+ 2118078,
+ 2118124,
+ 2118165,
+ 2118300,
+ 2118310,
+ 2118336,
+ 2118363,
+ 2118400,
+ 4215559,
+ 2118436,
+ 2118514,
+ 2118547,
+ 2118578,
+ 2118621,
+ 2161166,
+ 2118812,
+ 2118794,
+ 2118825,
+ 2118911,
+ 2119046,
+ 2119513,
+ 2119525,
+ 2119596,
+ 2119624,
+ 2119623,
+ 2161167,
+ 6314074,
+ 2119838,
+ 2119858,
+ 2119947,
+ 2120019,
+ 2120027,
+ 2120029,
+ 2120035,
+ 2120100,
+ 2120122,
+ 2120534,
+ 2120640,
+ 2127151,
+ 2120664,
+ 4217819,
+ 2120734,
+ 2120870,
+ 2120890,
+ 2120949,
+ 2120999,
+ 2121043,
+ 4258321,
+ 2121026,
+ 2121069,
+ 2121144,
+ 2121145,
+ 2121168,
+ 2121505,
+ 2121524,
+ 2121575,
+ 2121655,
+ 2121694,
+ 2121821,
+ 2121861,
+ 2121866,
+ 2121950,
+ 2121941,
+ 2122016,
+ 2121970,
+ 2122001,
+ 2122039,
+ 2122032,
+ 2122136,
+ 2122259,
+ 2122406,
+ 2122741,
+ 2122848,
+ 2122909,
+ 2122958,
+ 2123086,
+ 2123264,
+ 2123285,
+ 2123273,
+ 2123310,
+ 4220446,
+ 2123300,
+ 2123365,
+ 2123351,
+ 2123353,
+ 2123380,
+ 2123379,
+ 2123417,
+ 2123424,
+ 2123442,
+ 2123455,
+ 2123514,
+ 2123534,
+ 6317847,
+ 2123622,
+ 2123707,
+ 4221010,
+ 2123712,
+ 4220929,
+ 2123844,
+ 2123983,
+ 2161171,
+ 2124136,
+ 2161172,
+ 2124184,
+ 2124258,
+ 2124336,
+ 2124395,
+ 2124358,
+ 2124403,
+ 2124414,
+ 2124514,
+ 2124516,
+ 2124758,
+ 2124863,
+ 2124892,
+ 2124934,
+ 2124911,
+ 2125018,
+ 2125060,
+ 2125191,
+ 2125167,
+ 2125206,
+ 2125228,
+ 2125263,
+ 2125304,
+ 2125298,
+ 2125308,
+ 2125369,
+ 2125404,
+ 2125351,
+ 2125372,
+ 2125503,
+ 2125704,
+ 2125749,
+ 2125813,
+ 2125829,
+ 2125831,
+ 2125864,
+ 2125957,
+ 2125995,
+ 2126095,
+ 2126084,
+ 2126172,
+ 2126150,
+ 2126151,
+ 10506718,
+ 2126273,
+ 2126334,
+ 2126513,
+ 2126526,
+ 2126628,
+ 2126634,
+ 2126711,
+ 2126781,
+ 2126793,
+ 2126806,
+ 2126819,
+ 2126802,
+ 2126855,
+ 2126837,
+ 2126886,
+ 2126890,
+ 2126889,
+ 2126894,
+ 4224098,
+ 2126985,
+ 2127007,
+ 2127105,
+ 2127215,
+ 2127490,
+ 2127516,
+ 2127518,
+ 2127515,
+ 2127526,
+ 4224714,
+ 2127686,
+ 2118319,
+ 2127905,
+ 2127950,
+ 2127972,
+ 2127994,
+ 2128176,
+ 4225340,
+ 2128222,
+ 2128229,
+ 2128276,
+ 4225423,
+ 2128283,
+ 2128593,
+ 2128615,
+ 4233046,
+ 2128619,
+ 2128798,
+ 2129086,
+ 2129224,
+ 4226396,
+ 2129335,
+ 2129312,
+ 2129366,
+ 2129490,
+ 2129735,
+ 2129825,
+ 2129853,
+ 2130689,
+ 2130786,
+ 2130815,
+ 2130887,
+ 2130934,
+ 2131016,
+ 2131124,
+ 2131283,
+ 2131289,
+ 2131307,
+ 2161183,
+ 2131376,
+ 4228626,
+ 2161185,
+ 2131975,
+ 2132213,
+ 2132498,
+ 2132535,
+ 2132601,
+ 2132647,
+ 2132670,
+ 2132703,
+ 2132728,
+ 2132726,
+ 2132819,
+ 2132863,
+ 2133232,
+ 2133236,
+ 2133266,
+ 2133366,
+ 2161187,
+ 2133711,
+ 4258340,
+ 6328376,
+ 2134119,
+ 2134238,
+ 2134269,
+ 2134293,
+ 2134311,
+ 2134490,
+ 2134487,
+ 2134494,
+ 2134509,
+ 2134510,
+ 2134500,
+ 2134501,
+ 2134534,
+ 2134544,
+ 2134538,
+ 2134586,
+ 2134592,
+ 2134588,
+ 2134606,
+ 2134617,
+ 2134609,
+ 2134585,
+ 2134631,
+ 2134695,
+ 2134647,
+ 2134648,
+ 2134759,
+ 2134743,
+ 2134745,
+ 2134736,
+ 2161191,
+ 2134741,
+ 2134752,
+ 2134739,
+ 2134821,
+ 2134817,
+ 2134779,
+ 2161192,
+ 2134814,
+ 2134783,
+ 2134813,
+ 2134786,
+ 2134896,
+ 2134871,
+ 2134948,
+ 2134982,
+ 2135006,
+ 2135032,
+ 2135089,
+ 2135109,
+ 2135112,
+ 2135442,
+ 6329990,
+ 2161193,
+ 2135709,
+ 2135727,
+ 2135859,
+ 2135867,
+ 2135875,
+ 2135885,
+ 2135887,
+ 2135889,
+ 4233045,
+ 2136151,
+ 2136165,
+ 2136303,
+ 4233468,
+ 2136359,
+ 4233512,
+ 2136478,
+ 2136654,
+ 2136793,
+ 2136796,
+ 2136949,
+ 2136946,
+ 2136975,
+ 2137009,
+ 2137019,
+ 2137088,
+ 2137456,
+ 2137451,
+ 2137524,
+ 2137625,
+ 2137809,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ 6319336,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ 4231224,
+ 2132737,
+ 2129379,
+ 2137795,
+ 2125483,
+ 2128269,
+ 2121876,
+ 2125175,
+ 4219240,
+ 2124266,
+ 2125364,
+ 4229392,
+ 4222754,
+ 4216424,
+ 2123234,
+ 2128200,
+ 2131547,
+ 4233215,
+ 4215524,
+ 2132793,
+ 2122733,
+ 2122954,
+ 2127951,
+ 2128448,
+ 2124730,
+ 4225353,
+ 4229526,
+ 2126190,
+ 4225342,
+ 4227077,
+ 4227565,
+ 2128221,
+ 4220561,
+ 2129778,
+ 2125193,
+ 2126528,
+ 4219214,
+ 2127646,
+ 4225984,
+ 4225366,
+ 4215015,
+ 4217956,
+ 2121186,
+ 2122126,
+ 4230408,
+ 2118525,
+ 2119174,
+ 4228183,
+ 2121653,
+ 4219378,
+ 4232110,
+ 4225422,
+ 4234029,
+ 4225665,
+ 2135779,
+ 2123909,
+ 4226625,
+ 2123354,
+ 2118481,
+ 2128017,
+ 2133203,
+ 2123087,
+ 4214702,
+ 4214645,
+ 4216896,
+ 2118345,
+ 2124645,
+ 2119848,
+ 2124751,
+ 4215117,
+ 2122302,
+ 2128208,
+ 2124548,
+ 4232838,
+ 2131548,
+ 2125274,
+ 2136158,
+ 2123462,
+ 2124663,
+ 2129396,
+ 2134858,
+ 6315722,
+ 2134788,
+ 4221314,
+ 4215220,
+ 4219724,
+ 4228827,
+ 4231305,
+ 6328354,
+ 4214857,
+ 4226543,
+ 4231253,
+ 8410025,
+ 6330636,
+ 4229211,
+ 4218614,
+ 6319295,
+ 4231771,
+ 4227009,
+ 6324925,
+ 4232901,
+ 4217779,
+ 6316392,
+ 6318466,
+ 4221883,
+ 4220258,
+ 4230315,
+ 4218316,
+ 4233233,
+ 4218416,
+ 4230860,
+ 4225710,
+ 4216647,
+ 4214929,
+ 4225652,
+ 4214885,
+ 4218618,
+ 4231735,
+ 4221582,
+ 4214436,
+ 4215148,
+ 4220660,
+ 4220961,
+ 4225132,
+ 4226398,
+ 4227075,
+ 4230396,
+ 4232781,
+ 4219639,
+ 4226922,
+ 4214655,
+ 4215794,
+ 4217289,
+ 4229917,
+ 4231338,
+ 4215758,
+ 4230959,
+ 4220884,
+ 4224940,
+ 4227612,
+ 4221295,
+ 4220798,
+ 4229663,
+ 4214280,
+ 4216820,
+ 4221197,
+ 4227191,
+ 4229546,
+ 4231234,
+ 4219758,
+ 4219970,
+ 4227641,
+ 4226511,
+ 4227169,
+ 4214991,
+ 4229781,
+ 4218981,
+ 4215110,
+ 4224826,
+ 4227188,
+ 4230643,
+ 4218541,
+ 4218615,
+ 4227655,
+ 4220995,
+ 4231171,
+ 4222270,
+ 4219794,
+ 4230953,
+ 4223981,
+ 4233234,
+ 4219058,
+ 6316617,
+ 4220304,
+ 4226507,
+ 4229817,
+ 4230311,
+ 4223542,
+ 4228218,
+ 4215302,
+ 4216436,
+ 4219300,
+ 4226185,
+ 4226331,
+ 4232944,
+ 6325565,
+ 4214719,
+ 4219751,
+ 4224710,
+ 4221021,
+ 4227336,
+ 4227126,
+ 4227068,
+ 4215823,
+ 4232867,
+ 4234911,
+ 4234903,
+ 4227183,
+ 4227198,
+ 4222590,
+ 4214917,
+ 4215187,
+ 4215259,
+ 2230542,
+ 4215616,
+ 4232921,
+ 6313385,
+ 4216513,
+ 4216589,
+ 4217003,
+ 4217306,
+ 4217398,
+ 6314686,
+ 4218190,
+ 4218247,
+ 4218313,
+ 4218323,
+ 4218669,
+ 4218776,
+ 4219096,
+ 4219197,
+ 4219390,
+ 4219496,
+ 4219599,
+ 4220189,
+ 4219919,
+ 4220146,
+ 4220253,
+ 4220511,
+ 4220841,
+ 4220903,
+ 4221291,
+ 4221232,
+ 4221351,
+ 4221508,
+ 4221584,
+ 6319112,
+ 4221971,
+ 6319651,
+ 4222737,
+ 4222718,
+ 4222782,
+ 4223487,
+ 4223973,
+ 4224050,
+ 4224095,
+ 4224224,
+ 4224268,
+ 4224626,
+ 4225322,
+ 4225236,
+ 4225466,
+ 4225561,
+ 4225685,
+ 4226290,
+ 4226419,
+ 4226525,
+ 4226613,
+ 4226990,
+ 4227041,
+ 4227162,
+ 4227167,
+ 4227187,
+ 4227184,
+ 4227190,
+ 4227411,
+ 4227466,
+ 4227509,
+ 4227533,
+ 4228082,
+ 4228437,
+ 4228565,
+ 4228890,
+ 4229174,
+ 4229278,
+ 4229336,
+ 4229364,
+ 4229419,
+ 4229435,
+ 4229482,
+ 4229487,
+ 4229661,
+ 4230405,
+ 4230415,
+ 4235086,
+ 4230801,
+ 4230817,
+ 4231250,
+ 4231182,
+ 4231472,
+ 4231510,
+ 4231512,
+ 4231525,
+ 4231539,
+ 4231538,
+ 4231586,
+ 4231599,
+ 4231594,
+ 4231604,
+ 4231610,
+ 4232311,
+ 4232856,
+ 4233021,
+ 6330208,
+ 6330225,
+ 4233228,
+ 4233331,
+ 4233411,
+ 4233797,
+ 4234061,
+ 4234072,
+ 4234182,
+ 4234209,
+ 4234225,
+ 4234568,
+ 4234703,
+ 4235016,
+ 4219505,
+ 4220567,
+ 4219151,
+ 4229219,
+ 6328405,
+ 4231290,
+ 4225263,
+ 2133151,
+ 4232936,
+ 2255185,
+ 10507177,
+ 4224220,
+ 4231243,
+ 8427788,
+ 2275288,
+ 2134707,
+ 2135473,
+ 6315766,
+ 4219892,
+ 2124991,
+ 4223321,
+ 4231264,
+ 6328923,
+ 4220348,
+ 4218752,
+ 6324161,
+ 4215672,
+ 4233203,
+ 4215574,
+ 4227761,
+ 4228051,
+ 4230312,
+ 4231246,
+ 2130621,
+ 6330053,
+ 4233491,
+ 4218619,
+ 4223088,
+ 6314931,
+ 8413544,
+ 10510696,
+ 12607848,
+ 4221418,
+ 8415618,
+ 2123630,
+ 2132434,
+ 4232852,
+ 2118258,
+ 4230980,
+ 4232076,
+ 4227781,
+ 4217810,
+ 4224176,
+ 4226537,
+ 2253346,
+ 4231300,
+ 4232594,
+ 4233171,
+ 4227608,
+ 4215665,
+ 4207618,
+ 2110466,
+ 6304770,
+ 4218494,
+ 2123235,
+ 4220703,
+ 4221535,
+ 4230519,
+ 4233442,
+ 2231223,
+ 4216235,
+ 4228688,
+ 4231174,
+ 4215754,
+ 4215864,
+ 4218917,
+ 4226330,
+ 4218344,
+ 4219602,
+ 4230621,
+ 2268491,
+ 4365643,
+ 2118527,
+ 2121530,
+ 4218960,
+ 4221377,
+ 4339258,
+ 2275214,
+ 4231415,
+ 6330367,
+ 6330711,
+ 4220545,
+ 4223883,
+ 4231121,
+ 2117617,
+ 4225001,
+ 4215159,
+ 4228702,
+ 4225658,
+ 4231239,
+ 6318811,
+ 4216147,
+ 4217169,
+ 4218997,
+ 6316391,
+ 4231118,
+ 6312081,
+ 4222804,
+ 6322804,
+ 4220680,
+ 4227615,
+ 4215164,
+ 4215352,
+ 4219314,
+ 2123587,
+ 4227241,
+ 4229913,
+ 4231267,
+ 2230884,
+ 2132481,
+ 2122294,
+ 4232903,
+ 4233319,
+ 2118707,
+ 2120219,
+ 4229796,
+ 4218341,
+ 4219212,
+ 2122373,
+ 4219815,
+ 4221387,
+ 4222313,
+ 4222511,
+ 4227093,
+ 4227412,
+ 4227922,
+ 4229915,
+ 6327548,
+ 2118719,
+ 4231543,
+ 4227440,
+ 6321425,
+ 4231100,
+ 2275142,
+ 4232086,
+ 2275191,
+ 4218729,
+ 4219809,
+ 2124658,
+ 4228060,
+ 6312372,
+ 4215986,
+ 4215370,
+ 2127138,
+ 2116408,
+ 4217343,
+ 6314495,
+ 2121215,
+ 4229870,
+ 6327022,
+ 4230343,
+ 6327495,
+ 4221729,
+ 6318881,
+ 4222667,
+ 2126778,
+ 2231199,
+ 4219752,
+ 4220316,
+ 6328490,
+ 2118394,
+ 6320693,
+ 2126389,
+ 4231500,
+ 4218673,
+ 4214331,
+ 4215767,
+ 4219784,
+ 2118760,
+ 4226370,
+ 4227026,
+ 4229190,
+ 4231217,
+ 4214607,
+ 4229203,
+ 4231152,
+ 4218337,
+ 4231285,
+ 6328437,
+ 4219456,
+ 4220664,
+ 4217203,
+ 4215517,
+ 4216134,
+ 4217781,
+ 2120710,
+ 4217871,
+ 6315023,
+ 2120729,
+ 4222344,
+ 4225117,
+ 4227222,
+ 2228235,
+ 2120578,
+ 2119630,
+ 4219077,
+ 6313972,
+ 4233470,
+ 6318349,
+ 4221846,
+ 4233439,
+ 2136288,
+ 2266751,
+ 2111373,
+ 4214709,
+ 2111738,
+ 4222328,
+ 4224799,
+ 4231218,
+ 2117307,
+ 2228642,
+ 4215299,
+ 4217867,
+ 4229642,
+ 6326794,
+ 4231109,
+ 4229232,
+ 6328386,
+ 2110751,
+ 2275153,
+ 4219408,
+ 4224731,
+ 4227158,
+ 2132352,
+ 4229792,
+ 4229835,
+ 4233052,
+ 6330204,
+ 2128389,
+ 4227334,
+ 4232891,
+ 4226125,
+ 6323136,
+ 2132650,
+ 4232938,
+ 2129237,
+ 4219463,
+ 2125720,
+ 4226977,
+ 6324793,
+ 4231288,
+ 4231287,
+ 4215373,
+ 4215144,
+ 4219779,
+ 2122743,
+ 2127398,
+ 4230512,
+ 4231169,
+ 4231277,
+ 4231200,
+ 2260919,
+ 4231199,
+ 4230346,
+ 4217866,
+ 6315018,
+ 4217253,
+ 2243838,
+ 4231168,
+ 4231214,
+ 4232842,
+ 4234203,
+ 4217127,
+ 2110503,
+ 4223015,
+ 4231252,
+ 2130219,
+ 4214329,
+ 4221774,
+ 4223149,
+ 6326933,
+ 4220566,
+ 4214820,
+ 4226926,
+ 4225993,
+ 2251479,
+ 4225873,
+ 4231184,
+ 4220913,
+ 4222184,
+ 4233680,
+ 4218731,
+ 4218805,
+ 6316530,
+ 4220701,
+ 2125678,
+ 4229823,
+ 4224756,
+ 4220693,
+ 6317845,
+ 4216988,
+ 4231165,
+ 4231194,
+ 4216682,
+ 4231651,
+ 4215880,
+ 4218397,
+ 4225547,
+ 4224644,
+ 4231273,
+ 4231149,
+ 4222459,
+ 4215118,
+ 4231188,
+ 4225082,
+ 2119457,
+ 2232893,
+ 2118060,
+ 4216080,
+ 2129110,
+ 4228580,
+ 4229892,
+ 6328323,
+ 4231183,
+ 4233776,
+ 4217870,
+ 4231251,
+ 2118686,
+ 2112392,
+ 2117991,
+ 4227209,
+ 4214387,
+ 4218829,
+ 4229773,
+ 2120679,
+ 4226317,
+ 4229511,
+ 6319422,
+ 4227258,
+ 4215642,
+ 4228484,
+ 4231147,
+ 4226587,
+ 4227207,
+ 2117175,
+ 4222801,
+ 4231601,
+ 4214580,
+ 4215332,
+ 4215626,
+ 4218374,
+ 4224340,
+ 4220521,
+ 4228419,
+ 4231295,
+ 4218798,
+ 4235067,
+ 4215609,
+ 2247956,
+ 2121573,
+ 2120172,
+ 4217324,
+ 4229717,
+ 2121369,
+ 4224453,
+ 4217446,
+ 4220279,
+ 4222318,
+ 4230304,
+ 6327456,
+ 4220685,
+ 4229510,
+ 4214297,
+ 4218467,
+ 4218483,
+ 4218634,
+ 4228369,
+ 4214863,
+ 4226536,
+ 4231124,
+ 4231245,
+ 4226111,
+ 4215557,
+ 4218153,
+ 4219569,
+ 4220683,
+ 4225074,
+ 4226603,
+ 4227294,
+ 4228108,
+ 4231334,
+ 6328486,
+ 4233469,
+ 4234604,
+ 4214433,
+ 4218429,
+ 4218840,
+ 4218841,
+ 4219455,
+ 4220699,
+ 6317851,
+ 4215186,
+ 4220009,
+ 4227067,
+ 4215265,
+ 4225256,
+ 4234068,
+ 4234939,
+ 4221401,
+ 6318173,
+ 2110568,
+ 2138036,
+ 4226669,
+ 4234943,
+ 6324488,
+ 4220430,
+ 4224735,
+ 4231159,
+ 4217220,
+ 2118352,
+ 4224754,
+ 4227095,
+ 4219451,
+ 4226315,
+ 2135528,
+ 4226308,
+ 4230797,
+ 2275209,
+ 6318202,
+ 2123777,
+ 4219145,
+ 2132717,
+ 4230968,
+ 4215495,
+ 4220681,
+ 4223798,
+ 6320950,
+ 6320951,
+ 2250367,
+ 4231242,
+ 4220636,
+ 2129802,
+ 4229505,
+ 4233482,
+ 4227020,
+ 6324220,
+ 2133686,
+ 4228653,
+ 4223879,
+ 4235149,
+ 6332301,
+ 4220357,
+ 2138052,
+ 4223440,
+ 6330019,
+ 4234327,
+ 6332063,
+ 2129019,
+ 2121417,
+ 4219280,
+ 2134051,
+ 8414999,
+ 2129922,
+ 2254512,
+ 6312138,
+ 4215066,
+ 6312276,
+ 6312341,
+ 2229800,
+ 4215437,
+ 4215511,
+ 2228362,
+ 2230660,
+ 2110782,
+ 4215775,
+ 4220668,
+ 6313267,
+ 6313444,
+ 2118741,
+ 4216512,
+ 2119993,
+ 4217372,
+ 4217538,
+ 2120566,
+ 4217795,
+ 2120724,
+ 2111458,
+ 2120934,
+ 4218452,
+ 2117192,
+ 4218595,
+ 6316183,
+ 2122452,
+ 4219596,
+ 4219932,
+ 4219846,
+ 4219944,
+ 2255257,
+ 2122523,
+ 6317663,
+ 8414815,
+ 2123363,
+ 4220661,
+ 2241484,
+ 4221085,
+ 4221069,
+ 2124278,
+ 2124166,
+ 2271718,
+ 4217832,
+ 4221371,
+ 2124748,
+ 6319889,
+ 2125335,
+ 4222872,
+ 4222122,
+ 2124970,
+ 4223003,
+ 4223330,
+ 4223547,
+ 2117164,
+ 4223772,
+ 4224202,
+ 2127087,
+ 2127221,
+ 2127340,
+ 2127438,
+ 2113457,
+ 2127722,
+ 2127785,
+ 4225344,
+ 2138054,
+ 6322515,
+ 4235083,
+ 4225454,
+ 4231299,
+ 2128723,
+ 2275261,
+ 4226068,
+ 2114148,
+ 4226128,
+ 4226136,
+ 4226374,
+ 4226403,
+ 4226594,
+ 6323746,
+ 2129480,
+ 6323765,
+ 4226627,
+ 4226700,
+ 4226896,
+ 2229567,
+ 2253418,
+ 4350576,
+ 4227013,
+ 4227014,
+ 6324201,
+ 2130241,
+ 2114643,
+ 4227672,
+ 2130553,
+ 6324857,
+ 4227705,
+ 4227811,
+ 2118009,
+ 2130778,
+ 4228128,
+ 4228029,
+ 4228340,
+ 2114853,
+ 4228487,
+ 2131444,
+ 2228400,
+ 4228919,
+ 4228923,
+ 4229125,
+ 4229053,
+ 2131581,
+ 6326326,
+ 2110510,
+ 2132166,
+ 4229565,
+ 4229851,
+ 4229950,
+ 4229978,
+ 4230515,
+ 4230553,
+ 2115558,
+ 4230708,
+ 4230730,
+ 4231151,
+ 4231303,
+ 4231162,
+ 4231198,
+ 4231221,
+ 4231248,
+ 2133960,
+ 4231297,
+ 4231306,
+ 6328458,
+ 8425610,
+ 10522762,
+ 12619914,
+ 14717066,
+ 6328457,
+ 8425609,
+ 10522761,
+ 12619913,
+ 14717065,
+ 16814217,
+ 18911369,
+ 21008521,
+ 23105673,
+ 25202825,
+ 27299977,
+ 29397129,
+ 2263431,
+ 4232157,
+ 4232636,
+ 2264599,
+ 4232882,
+ 4233049,
+ 2136121,
+ 4233451,
+ 4233475,
+ 4233481,
+ 4233541,
+ 6330693,
+ 4233547,
+ 2136584,
+ 4233823,
+ 4233829,
+ 4233967,
+ 4234008,
+ 2137055,
+ 4234505,
+ 4234504,
+ 4234917,
+ 4234956,
+ 6332168,
+ 4235082,
+ 2275354,
+ 4235111,
+ 4367898,
+ 4342510,
+ 2245358,
+ 4229404,
+ 4221128,
+ 4220667,
+ 4218693,
+ 4215552,
+ 2118537,
+ 4217171,
+ 2161169,
+ 2123858,
+ 4221555,
+ 2243774,
+ 2229777,
+ 4229650,
+ 2117124,
+ 2117125,
+ 2117151,
+ 2117163,
+ 2117167,
+ 2117168,
+ 2117184,
+ 2117185,
+ 2117188,
+ 2117210,
+ 2117247,
+ 2117261,
+ 2117270,
+ 2117305,
+ 2117328,
+ 2117344,
+ 2117373,
+ 2117375,
+ 2117387,
+ 2117397,
+ 2117472,
+ 2117435,
+ 2117449,
+ 2117460,
+ 2117498,
+ 2117501,
+ 2117502,
+ 2117527,
+ 2117566,
+ 2117583,
+ 2117629,
+ 2117632,
+ 2117633,
+ 2117648,
+ 2117659,
+ 2117671,
+ 2117678,
+ 2117719,
+ 2117734,
+ 2117738,
+ 2117691,
+ 2117775,
+ 2117782,
+ 2117788,
+ 2117836,
+ 2117862,
+ 2117865,
+ 2117871,
+ 2117896,
+ 2117899,
+ 2117904,
+ 2117915,
+ 2117918,
+ 2117983,
+ 2118049,
+ 2118076,
+ 6312414,
+ 2118126,
+ 2118132,
+ 2118145,
+ 2118146,
+ 2118163,
+ 2118217,
+ 2118241,
+ 2118246,
+ 2118291,
+ 2118344,
+ 2118384,
+ 2118410,
+ 2118411,
+ 2118462,
+ 2118476,
+ 2118475,
+ 2118497,
+ 2118508,
+ 2118571,
+ 2118618,
+ 2118630,
+ 2118645,
+ 2118695,
+ 2118733,
+ 2118758,
+ 2118763,
+ 2118772,
+ 2118797,
+ 2118806,
+ 2118817,
+ 2118829,
+ 2118841,
+ 2118847,
+ 2118854,
+ 2118861,
+ 2118926,
+ 2118955,
+ 2118965,
+ 2118986,
+ 2119008,
+ 4216161,
+ 2119048,
+ 2119054,
+ 2119176,
+ 2119182,
+ 2119183,
+ 2119223,
+ 2119231,
+ 2119241,
+ 2119243,
+ 2119247,
+ 2119270,
+ 2119273,
+ 2119279,
+ 2119281,
+ 2119282,
+ 2119317,
+ 2119322,
+ 2119340,
+ 2119341,
+ 2119345,
+ 2119369,
+ 2119389,
+ 2119396,
+ 2119434,
+ 2119445,
+ 2119459,
+ 2119471,
+ 2119475,
+ 2119476,
+ 2119500,
+ 2119536,
+ 2119564,
+ 2119580,
+ 2119608,
+ 2119654,
+ 2119661,
+ 2119669,
+ 2119670,
+ 2119679,
+ 2119689,
+ 2119712,
+ 2119730,
+ 2119804,
+ 2119808,
+ 2119849,
+ 2119886,
+ 2119888,
+ 2119892,
+ 2119898,
+ 2119913,
+ 2119948,
+ 2119972,
+ 2119983,
+ 2120033,
+ 2120045,
+ 2120138,
+ 2120146,
+ 2120157,
+ 2120163,
+ 2120164,
+ 2120196,
+ 2120204,
+ 2120227,
+ 2120263,
+ 2120277,
+ 2120291,
+ 2120301,
+ 2120318,
+ 2120350,
+ 2120359,
+ 2120364,
+ 2120371,
+ 2120416,
+ 2120448,
+ 2120473,
+ 2120485,
+ 2120493,
+ 2120513,
+ 2120572,
+ 2120574,
+ 2120575,
+ 2120586,
+ 2120739,
+ 2120747,
+ 2120752,
+ 2120803,
+ 2120809,
+ 2120828,
+ 2120907,
+ 2120914,
+ 2120948,
+ 2120996,
+ 2120998,
+ 2121027,
+ 2121030,
+ 2121034,
+ 2121106,
+ 2121108,
+ 2121113,
+ 2121120,
+ 2121176,
+ 2121184,
+ 2121208,
+ 2121216,
+ 2121234,
+ 2121236,
+ 2121237,
+ 2121240,
+ 2121262,
+ 2121304,
+ 2121323,
+ 2121324,
+ 2121384,
+ 2121386,
+ 2121406,
+ 2121407,
+ 4218571,
+ 2121426,
+ 2121479,
+ 2121486,
+ 2121500,
+ 2121501,
+ 2121506,
+ 2121512,
+ 2121526,
+ 2121531,
+ 2121536,
+ 2121552,
+ 2121560,
+ 2121572,
+ 2121609,
+ 2121628,
+ 2121639,
+ 2121636,
+ 2121647,
+ 2121656,
+ 2121668,
+ 2121673,
+ 2121697,
+ 2121705,
+ 2121709,
+ 2121724,
+ 2121751,
+ 2121754,
+ 2121779,
+ 2121825,
+ 2121855,
+ 2121886,
+ 2121892,
+ 2121904,
+ 2121931,
+ 2121947,
+ 2121976,
+ 2122002,
+ 2122003,
+ 2122004,
+ 2122012,
+ 2122108,
+ 2122125,
+ 2122143,
+ 2122152,
+ 2122178,
+ 2122207,
+ 2122261,
+ 2122281,
+ 2122307,
+ 2122310,
+ 2122316,
+ 2122321,
+ 2122326,
+ 2122436,
+ 2122492,
+ 2122506,
+ 2122509,
+ 2122520,
+ 2122553,
+ 2122562,
+ 2122563,
+ 2122597,
+ 2122612,
+ 2122621,
+ 2122628,
+ 2122631,
+ 2122640,
+ 2122654,
+ 2122705,
+ 2122716,
+ 2122761,
+ 2122768,
+ 2122786,
+ 2122836,
+ 2122843,
+ 2122861,
+ 2122875,
+ 2122942,
+ 2122943,
+ 2122981,
+ 2122999,
+ 2123003,
+ 2123012,
+ 2123030,
+ 2123033,
+ 2123079,
+ 2123111,
+ 2123137,
+ 2123141,
+ 2123202,
+ 2123248,
+ 2123250,
+ 2123308,
+ 2123340,
+ 2123355,
+ 2123356,
+ 2123361,
+ 2123371,
+ 4220535,
+ 2123428,
+ 2123464,
+ 2123500,
+ 2123525,
+ 2123539,
+ 2123571,
+ 2123592,
+ 2123596,
+ 2123638,
+ 2123643,
+ 2123696,
+ 2123698,
+ 2123769,
+ 2123735,
+ 2123737,
+ 2123760,
+ 2123820,
+ 2123824,
+ 2123825,
+ 2123867,
+ 2123890,
+ 2123893,
+ 2123898,
+ 2123908,
+ 2123941,
+ 2123954,
+ 2123984,
+ 2123990,
+ 2124008,
+ 2124013,
+ 2124016,
+ 2124017,
+ 2124028,
+ 2124049,
+ 2124051,
+ 2124085,
+ 2124091,
+ 2124119,
+ 2124131,
+ 2124146,
+ 2124159,
+ 2124160,
+ 2124198,
+ 2124205,
+ 2124215,
+ 2124246,
+ 2124247,
+ 2124289,
+ 2124303,
+ 2124309,
+ 2124328,
+ 2124340,
+ 2124350,
+ 2124357,
+ 2124368,
+ 2124369,
+ 2124374,
+ 2124379,
+ 2124419,
+ 2124425,
+ 2124433,
+ 2124445,
+ 2124446,
+ 2124447,
+ 2124508,
+ 2124519,
+ 2124524,
+ 2124574,
+ 2124580,
+ 2124597,
+ 2124614,
+ 2124630,
+ 2124640,
+ 2124674,
+ 2124734,
+ 2124769,
+ 2124785,
+ 2124816,
+ 2124851,
+ 2124853,
+ 4222010,
+ 2124889,
+ 2124918,
+ 2124923,
+ 2124933,
+ 2124949,
+ 2124956,
+ 2125008,
+ 2125012,
+ 2125014,
+ 2125024,
+ 2125035,
+ 2125036,
+ 2125038,
+ 2125066,
+ 2125070,
+ 2125073,
+ 2125102,
+ 2125143,
+ 2125150,
+ 2125157,
+ 2125186,
+ 2125247,
+ 2125252,
+ 2125258,
+ 2125270,
+ 2125289,
+ 2125346,
+ 2125393,
+ 2125511,
+ 2125514,
+ 2125518,
+ 2125565,
+ 2125594,
+ 2125610,
+ 2125615,
+ 2125619,
+ 2125658,
+ 2125662,
+ 2125666,
+ 2125693,
+ 2125707,
+ 2125709,
+ 2125714,
+ 2125716,
+ 2125722,
+ 2125735,
+ 2125736,
+ 2125750,
+ 2125786,
+ 2125790,
+ 4222969,
+ 2125881,
+ 2125884,
+ 4223050,
+ 2125908,
+ 2125917,
+ 2125918,
+ 2125924,
+ 2125932,
+ 2125950,
+ 2125953,
+ 2125973,
+ 2126007,
+ 2126035,
+ 2126036,
+ 2126040,
+ 2126044,
+ 2126087,
+ 2126112,
+ 2126129,
+ 2126154,
+ 2126162,
+ 2126176,
+ 2126201,
+ 2126226,
+ 4223411,
+ 2126283,
+ 2126291,
+ 2126294,
+ 2126336,
+ 2126365,
+ 2126379,
+ 2126392,
+ 2126401,
+ 2126419,
+ 2126421,
+ 2126422,
+ 2126428,
+ 2126477,
+ 2126509,
+ 2126516,
+ 2126535,
+ 2126587,
+ 2126596,
+ 2126597,
+ 2126632,
+ 2126641,
+ 2126659,
+ 2126700,
+ 2126716,
+ 2126723,
+ 2126725,
+ 2126726,
+ 2126741,
+ 2126750,
+ 2126751,
+ 2126752,
+ 2126758,
+ 2126763,
+ 2126773,
+ 2126775,
+ 2126780,
+ 2126799,
+ 2126809,
+ 2126825,
+ 2126836,
+ 2126845,
+ 2126852,
+ 2126858,
+ 2126874,
+ 2126875,
+ 2126884,
+ 2126888,
+ 2126892,
+ 2126895,
+ 2126896,
+ 2126897,
+ 2126905,
+ 2126916,
+ 2126919,
+ 2126923,
+ 2126925,
+ 2126929,
+ 2126935,
+ 2126950,
+ 2126955,
+ 2126961,
+ 2126976,
+ 2126981,
+ 2126982,
+ 2126983,
+ 2126992,
+ 2127000,
+ 2127004,
+ 2127008,
+ 2127011,
+ 2127016,
+ 2127019,
+ 2127029,
+ 2127039,
+ 2127048,
+ 2127066,
+ 2127070,
+ 2127182,
+ 2127225,
+ 2127233,
+ 2127248,
+ 2127250,
+ 2127251,
+ 2127284,
+ 2127332,
+ 2127353,
+ 2127360,
+ 2127370,
+ 2127381,
+ 2127382,
+ 2127385,
+ 2127390,
+ 2127405,
+ 2127413,
+ 2127427,
+ 2127435,
+ 2127461,
+ 2127469,
+ 2127471,
+ 2127473,
+ 2127476,
+ 2127524,
+ 2127525,
+ 2127557,
+ 2127564,
+ 2127596,
+ 2127612,
+ 2127668,
+ 2127670,
+ 2127708,
+ 2127711,
+ 2127712,
+ 2127730,
+ 2127741,
+ 2127765,
+ 2127786,
+ 2127846,
+ 2127856,
+ 2127860,
+ 2127878,
+ 2127906,
+ 2127917,
+ 2127918,
+ 2127920,
+ 2127925,
+ 2127976,
+ 2128030,
+ 2128072,
+ 2128076,
+ 2128078,
+ 2128100,
+ 2128096,
+ 2128097,
+ 2128114,
+ 2128119,
+ 2128123,
+ 2128177,
+ 4225332,
+ 2128187,
+ 2128189,
+ 2128197,
+ 2128219,
+ 2128220,
+ 2128267,
+ 2128278,
+ 2128280,
+ 2128312,
+ 2128315,
+ 2128330,
+ 2128346,
+ 2128387,
+ 2128393,
+ 2128401,
+ 2128414,
+ 2128429,
+ 2128441,
+ 2128453,
+ 2128460,
+ 2128477,
+ 4225632,
+ 2128493,
+ 2128504,
+ 2128544,
+ 2128547,
+ 2128563,
+ 2128571,
+ 2128572,
+ 2128582,
+ 2128647,
+ 2128660,
+ 2128679,
+ 2128689,
+ 2128711,
+ 2128718,
+ 2128736,
+ 2128745,
+ 2128749,
+ 2128754,
+ 2128785,
+ 2128815,
+ 2128855,
+ 2128857,
+ 2128907,
+ 2128911,
+ 2128928,
+ 2128934,
+ 2128945,
+ 2128950,
+ 2128977,
+ 2128985,
+ 2128999,
+ 2129006,
+ 2129008,
+ 2129084,
+ 2129087,
+ 2129096,
+ 2129097,
+ 2129111,
+ 2129113,
+ 2129117,
+ 2129131,
+ 2129159,
+ 2129160,
+ 2129161,
+ 2129171,
+ 2129181,
+ 2129187,
+ 2129217,
+ 2129235,
+ 2129241,
+ 2129245,
+ 2129274,
+ 2129286,
+ 2129291,
+ 2129292,
+ 2129356,
+ 2129387,
+ 2129393,
+ 2129401,
+ 2129416,
+ 2129425,
+ 2129429,
+ 2129440,
+ 2129479,
+ 2129506,
+ 2129518,
+ 2129523,
+ 2129549,
+ 2129553,
+ 2129560,
+ 2129732,
+ 2129743,
+ 2129746,
+ 2129747,
+ 2129761,
+ 2129809,
+ 2129855,
+ 2129870,
+ 2129887,
+ 2129893,
+ 2129900,
+ 2129902,
+ 2129903,
+ 2129914,
+ 2129934,
+ 2129937,
+ 2129940,
+ 2129956,
+ 2129958,
+ 2129978,
+ 2129980,
+ 2130016,
+ 2130033,
+ 2130037,
+ 2130078,
+ 2130086,
+ 2130091,
+ 2130135,
+ 2130136,
+ 2130198,
+ 2130200,
+ 2130234,
+ 2130250,
+ 2130252,
+ 2130305,
+ 2130308,
+ 2130356,
+ 2130383,
+ 2130425,
+ 2130435,
+ 2130465,
+ 2130482,
+ 2130484,
+ 2130502,
+ 2130507,
+ 2130511,
+ 2130574,
+ 2130606,
+ 2130615,
+ 2130622,
+ 2130630,
+ 2130686,
+ 2130755,
+ 2130769,
+ 2130773,
+ 2130822,
+ 2130829,
+ 2130834,
+ 2130840,
+ 2130857,
+ 2130879,
+ 2130880,
+ 2130922,
+ 2130959,
+ 2130961,
+ 2131018,
+ 2131062,
+ 2131112,
+ 2131119,
+ 2131136,
+ 2131138,
+ 2131184,
+ 2131197,
+ 2131212,
+ 2131252,
+ 2131294,
+ 2131343,
+ 2131383,
+ 2131406,
+ 2131373,
+ 2131474,
+ 2131497,
+ 2131538,
+ 2131555,
+ 2131564,
+ 2131567,
+ 2131578,
+ 2131597,
+ 2131601,
+ 2131608,
+ 2131623,
+ 2131624,
+ 2131706,
+ 2131709,
+ 2131723,
+ 2131731,
+ 2131737,
+ 2131742,
+ 2131752,
+ 2131774,
+ 2131825,
+ 2131848,
+ 2131865,
+ 2131884,
+ 2131885,
+ 2131893,
+ 2131926,
+ 2131947,
+ 2131949,
+ 2131969,
+ 4229123,
+ 2131974,
+ 2131979,
+ 2131988,
+ 2131996,
+ 2132054,
+ 2132063,
+ 2132068,
+ 2132120,
+ 2132138,
+ 2132157,
+ 2132158,
+ 2132170,
+ 2132178,
+ 2132187,
+ 2132208,
+ 2132209,
+ 2132230,
+ 2132248,
+ 2132249,
+ 2132250,
+ 2132263,
+ 2132272,
+ 2132286,
+ 2132347,
+ 2132436,
+ 2132438,
+ 2132453,
+ 2132465,
+ 2132487,
+ 2132495,
+ 2132501,
+ 2132514,
+ 2132558,
+ 2132607,
+ 2132724,
+ 2132767,
+ 2132791,
+ 2132803,
+ 2132804,
+ 2132820,
+ 2132892,
+ 2132894,
+ 2133063,
+ 2133076,
+ 2133107,
+ 2133156,
+ 2133209,
+ 2133217,
+ 2133240,
+ 2133246,
+ 2133275,
+ 2133353,
+ 2133356,
+ 2133380,
+ 2133389,
+ 2133397,
+ 2133414,
+ 2133446,
+ 2133454,
+ 2133476,
+ 2133484,
+ 2133536,
+ 2133579,
+ 2133612,
+ 2133616,
+ 2133626,
+ 2133650,
+ 2133678,
+ 2133683,
+ 2133713,
+ 4230868,
+ 2133753,
+ 2133783,
+ 2133814,
+ 2133926,
+ 2133941,
+ 2133942,
+ 4231110,
+ 2133984,
+ 2133988,
+ 2134006,
+ 2134018,
+ 2134060,
+ 2134084,
+ 2134152,
+ 2134165,
+ 2134169,
+ 2134171,
+ 2134178,
+ 2134196,
+ 2134231,
+ 2134237,
+ 2134260,
+ 2134295,
+ 2134300,
+ 2134321,
+ 2134330,
+ 2134333,
+ 2134344,
+ 2134363,
+ 2134369,
+ 2134372,
+ 2134414,
+ 2134430,
+ 2134440,
+ 2134445,
+ 2134446,
+ 2134450,
+ 2134460,
+ 2134512,
+ 2134519,
+ 2134523,
+ 2134535,
+ 2134568,
+ 2134579,
+ 2134584,
+ 2134595,
+ 2134599,
+ 2134607,
+ 2134624,
+ 2134722,
+ 2134731,
+ 2134732,
+ 2134751,
+ 2134797,
+ 2134805,
+ 2134815,
+ 2134823,
+ 2134855,
+ 2134866,
+ 4232037,
+ 2134890,
+ 2134893,
+ 2134939,
+ 2134970,
+ 2134953,
+ 2134977,
+ 2134986,
+ 2135010,
+ 2135034,
+ 2135037,
+ 2135055,
+ 2135092,
+ 2135103,
+ 2135125,
+ 2135147,
+ 2135154,
+ 2135416,
+ 2135462,
+ 2135465,
+ 4232619,
+ 2135476,
+ 2135485,
+ 2135514,
+ 2135581,
+ 2135617,
+ 2135640,
+ 2135684,
+ 2135716,
+ 2135721,
+ 2135762,
+ 2121138,
+ 2135774,
+ 2135785,
+ 2135793,
+ 2135810,
+ 2135817,
+ 2135898,
+ 2135907,
+ 2135918,
+ 2135923,
+ 2135962,
+ 2135970,
+ 2135989,
+ 2135990,
+ 2136025,
+ 2136030,
+ 2136052,
+ 2136074,
+ 2136078,
+ 2136094,
+ 2136099,
+ 2136107,
+ 2136126,
+ 2136146,
+ 2136147,
+ 2136153,
+ 2136172,
+ 2136248,
+ 2136250,
+ 2136255,
+ 2136264,
+ 2136293,
+ 2136370,
+ 2136371,
+ 2136384,
+ 2136397,
+ 2136412,
+ 2136415,
+ 2136497,
+ 2136505,
+ 2136506,
+ 2136521,
+ 2136578,
+ 2136598,
+ 2136612,
+ 2136615,
+ 2136621,
+ 2136622,
+ 2136630,
+ 2136632,
+ 2136650,
+ 2136662,
+ 2136757,
+ 2136758,
+ 2136825,
+ 2136835,
+ 2136864,
+ 2136883,
+ 2136884,
+ 2136947,
+ 2136953,
+ 2136999,
+ 2137025,
+ 2137031,
+ 2137047,
+ 2137063,
+ 2137067,
+ 2137079,
+ 2137082,
+ 2137085,
+ 2137099,
+ 2137127,
+ 2137130,
+ 2137142,
+ 2137153,
+ 2137171,
+ 2137187,
+ 2137200,
+ 2137207,
+ 2137346,
+ 2137410,
+ 2137415,
+ 2137443,
+ 2137449,
+ 2137468,
+ 2137470,
+ 2137485,
+ 2137521,
+ 2137539,
+ 2137543,
+ 2137558,
+ 2137567,
+ 2137579,
+ 2137588,
+ 2137621,
+ 2137629,
+ 2137764,
+ 2137768,
+ 2137772,
+ 2137831,
+ 2137838,
+ 2137872,
+ 2137874,
+ 2137879,
+ 2137881,
+ 2137903,
+ 2137911,
+ 2137913,
+ 2137921,
+ 2137925,
+ 2137943,
+ 2137960,
+ 2137969,
+ 2137973,
+ 2138000,
+ 2138004,
+ 2138018,
+ 4214320,
+ 2110469,
+ 4214624,
+ 2119200,
+ 2121419,
+ 4218704,
+ 4219044,
+ 2242106,
+ 4221732,
+ 2125817,
+ 2125542,
+ 2126259,
+ 4223531,
+ 4225734,
+ 4226913,
+ 4227185,
+ 4227230,
+ 4231094,
+ 4231676,
+ 4218290,
+ 4233182,
+ 2117587,
+ 2117849,
+ 2117872,
+ 2118083,
+ 2119286,
+ 2124372,
+ 2125057,
+ 2125264,
+ 2125378,
+ 2125529,
+ 2126820,
+ 2126881,
+ 2127212,
+ 2127953,
+ 2131957,
+ 2241534,
+ 2126760,
+ 2112243,
+ 2110683,
+ 2114572,
+ 2113162,
+ 4339140,
+ 2138045,
+ 2116584,
+ 2138044,
+ 2113242,
+ 2112290,
+ 2138046,
+ 2114938,
+ 2113683,
+ 4365885,
+ 2115173,
+ 2113795,
+ 2114195,
+ 2115246,
+ 2110600,
+ 2237961,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ 2117448,
+ 2117471,
+ 2117482,
+ 2117484,
+ 2117646,
+ 2117656,
+ 2117697,
+ 2117874,
+ 2117840,
+ 2117894,
+ 2117891,
+ 2117941,
+ 2117973,
+ 2117975,
+ 2110645,
+ 2118090,
+ 2118114,
+ 2118231,
+ 2118348,
+ 2118358,
+ 2118395,
+ 2118428,
+ 2118499,
+ 2118557,
+ 2118674,
+ 2118783,
+ 2118792,
+ 2118992,
+ 2119041,
+ 2119085,
+ 2119118,
+ 2119227,
+ 2119326,
+ 2119337,
+ 2119347,
+ 2119543,
+ 2119548,
+ 2233115,
+ 2119631,
+ 2119652,
+ 2119780,
+ 2119817,
+ 2233454,
+ 2119890,
+ 2119904,
+ 2131521,
+ 2120075,
+ 2120082,
+ 2120131,
+ 2120211,
+ 2120295,
+ 2120311,
+ 2120324,
+ 2120388,
+ 2234557,
+ 2120573,
+ 2120595,
+ 2120722,
+ 2120814,
+ 2234036,
+ 2120826,
+ 2120847,
+ 2120863,
+ 2120867,
+ 2120874,
+ 2120912,
+ 2235956,
+ 2120973,
+ 2121031,
+ 2121089,
+ 2121124,
+ 2121127,
+ 2121163,
+ 2121310,
+ 2121465,
+ 2121472,
+ 2121474,
+ 2121507,
+ 2121533,
+ 2121556,
+ 2121597,
+ 2121741,
+ 2121748,
+ 2121752,
+ 2121781,
+ 2121799,
+ 2121885,
+ 2121940,
+ 2121949,
+ 2122027,
+ 2122172,
+ 2122169,
+ 2122274,
+ 2122330,
+ 2122351,
+ 2122454,
+ 2122620,
+ 2122725,
+ 2122873,
+ 2122948,
+ 2122960,
+ 2123049,
+ 2123165,
+ 2123322,
+ 2123298,
+ 2123307,
+ 2123312,
+ 2123315,
+ 2123336,
+ 2240964,
+ 2123383,
+ 2123384,
+ 2123405,
+ 2123451,
+ 2123483,
+ 2123496,
+ 2123591,
+ 2123649,
+ 2123667,
+ 2123672,
+ 2123675,
+ 2123772,
+ 2123805,
+ 2123939,
+ 2124042,
+ 2124105,
+ 2241988,
+ 2124098,
+ 2124132,
+ 2124197,
+ 2124239,
+ 2112438,
+ 2112451,
+ 2124265,
+ 2124277,
+ 2242367,
+ 2124347,
+ 2242403,
+ 2124436,
+ 2124453,
+ 2112527,
+ 2124571,
+ 2124588,
+ 2124647,
+ 2124713,
+ 2124717,
+ 2124759,
+ 2124799,
+ 2124805,
+ 2124916,
+ 2124952,
+ 2125051,
+ 2124998,
+ 2125105,
+ 2125113,
+ 2125119,
+ 2125144,
+ 2125204,
+ 2125226,
+ 2125275,
+ 2125277,
+ 2125380,
+ 2125406,
+ 2125489,
+ 2125505,
+ 2125584,
+ 2125657,
+ 2125665,
+ 2125694,
+ 2125708,
+ 2125728,
+ 2125756,
+ 2125767,
+ 2125770,
+ 2125808,
+ 2125902,
+ 2125941,
+ 2125988,
+ 2126052,
+ 2126123,
+ 2126110,
+ 2126126,
+ 2126161,
+ 2126184,
+ 2126213,
+ 2126215,
+ 2126266,
+ 2126276,
+ 2126357,
+ 2113087,
+ 2126491,
+ 2246641,
+ 2126631,
+ 2126672,
+ 2126694,
+ 2126754,
+ 2126891,
+ 2126918,
+ 2126946,
+ 2126957,
+ 2127014,
+ 2127017,
+ 2127049,
+ 2127103,
+ 2127127,
+ 2113394,
+ 2127310,
+ 2127362,
+ 2127368,
+ 2127460,
+ 2127489,
+ 2127517,
+ 2127530,
+ 2127542,
+ 2127566,
+ 2127572,
+ 2127590,
+ 2127601,
+ 2127626,
+ 2127641,
+ 2127693,
+ 2127694,
+ 2127738,
+ 2127744,
+ 2127764,
+ 2127840,
+ 2249870,
+ 2127939,
+ 2127982,
+ 2128048,
+ 2249998,
+ 2128045,
+ 2128128,
+ 2128156,
+ 2128174,
+ 2128180,
+ 2128198,
+ 2128249,
+ 2128328,
+ 2250609,
+ 2128340,
+ 2128350,
+ 2128363,
+ 2128365,
+ 2128517,
+ 2251204,
+ 2128590,
+ 2128637,
+ 2128658,
+ 2128685,
+ 2128699,
+ 2128751,
+ 2128897,
+ 2128947,
+ 2252193,
+ 2129005,
+ 2129017,
+ 2129039,
+ 2129044,
+ 2129056,
+ 2129109,
+ 2129201,
+ 2129244,
+ 2129283,
+ 2129318,
+ 2129346,
+ 2129448,
+ 2129815,
+ 2129883,
+ 2129973,
+ 2129975,
+ 2130122,
+ 2130144,
+ 2130163,
+ 2130272,
+ 2130279,
+ 2130280,
+ 2130285,
+ 2130363,
+ 2130378,
+ 2130391,
+ 2114651,
+ 2130528,
+ 2130548,
+ 2255615,
+ 2130593,
+ 2130595,
+ 2130596,
+ 2130601,
+ 2130623,
+ 2130645,
+ 2130685,
+ 2130688,
+ 2130722,
+ 2130733,
+ 2130746,
+ 2130759,
+ 2130813,
+ 2130855,
+ 2130895,
+ 2130897,
+ 2130913,
+ 2130945,
+ 2130950,
+ 2131039,
+ 2131056,
+ 2131059,
+ 2131077,
+ 2131102,
+ 2131130,
+ 2256448,
+ 2131250,
+ 2131230,
+ 2131247,
+ 2131300,
+ 2131322,
+ 2131340,
+ 2131362,
+ 2131403,
+ 2131437,
+ 2131455,
+ 2131460,
+ 2131461,
+ 2131472,
+ 2257140,
+ 2131480,
+ 2131512,
+ 2131543,
+ 2131554,
+ 2114973,
+ 2131573,
+ 2131640,
+ 2131708,
+ 2131847,
+ 2115050,
+ 2131978,
+ 2131984,
+ 2132174,
+ 2258564,
+ 2132274,
+ 2132281,
+ 2132288,
+ 2132372,
+ 2132470,
+ 2132551,
+ 2132573,
+ 2132577,
+ 2132597,
+ 2132688,
+ 2132806,
+ 2132825,
+ 2132841,
+ 2132893,
+ 2133065,
+ 2133096,
+ 2133423,
+ 2133457,
+ 2133463,
+ 2133539,
+ 2133565,
+ 2133627,
+ 2261623,
+ 2115652,
+ 2133754,
+ 2133790,
+ 2133805,
+ 2133844,
+ 2261965,
+ 2133992,
+ 2133998,
+ 2134024,
+ 2134061,
+ 2134167,
+ 2134195,
+ 2134206,
+ 2134212,
+ 2134213,
+ 2134215,
+ 2134255,
+ 2134292,
+ 2134294,
+ 2134306,
+ 2134307,
+ 2134319,
+ 2134324,
+ 2134403,
+ 2134513,
+ 2134857,
+ 2134884,
+ 2134885,
+ 2134947,
+ 2135007,
+ 2135044,
+ 2135091,
+ 2135114,
+ 2135139,
+ 2135153,
+ 2135438,
+ 2135455,
+ 2135468,
+ 2135478,
+ 2135499,
+ 2135504,
+ 2135507,
+ 2116016,
+ 2135518,
+ 2135717,
+ 2135791,
+ 2135886,
+ 2135957,
+ 2135982,
+ 2135994,
+ 2136001,
+ 2136009,
+ 2136027,
+ 2136150,
+ 2136295,
+ 2136408,
+ 2136579,
+ 2136769,
+ 2136771,
+ 2136782,
+ 2136790,
+ 2136834,
+ 2136840,
+ 2116631,
+ 2136877,
+ 2136926,
+ 2136934,
+ 2136964,
+ 2136970,
+ 2136990,
+ 2137038,
+ 2137061,
+ 2137080,
+ 2137123,
+ 2137167,
+ 2137168,
+ 2137189,
+ 2137373,
+ 2137374,
+ 2137411,
+ 2137426,
+ 2137482,
+ 2137494,
+ 2137536,
+ 2137516,
+ 2137532,
+ 2269584,
+ 2137575,
+ 2137607,
+ 2137758,
+ 2137775,
+ 2138007,
+ 2228361,
+ 2117122,
+ 2117135,
+ 2117138,
+ 2117161,
+ 2117166,
+ 2117191,
+ 2228386,
+ 2117201,
+ 2110470,
+ 2228388,
+ 2117225,
+ 2117277,
+ 2110508,
+ 2117308,
+ 2117315,
+ 2117320,
+ 2117355,
+ 2117338,
+ 2117361,
+ 2117365,
+ 2117398,
+ 2117476,
+ 2117431,
+ 2117438,
+ 2117464,
+ 2228755,
+ 2117495,
+ 2117496,
+ 2117506,
+ 2117509,
+ 2117606,
+ 2117554,
+ 2117573,
+ 2117579,
+ 2117586,
+ 2110570,
+ 2117618,
+ 2117651,
+ 2117660,
+ 2117710,
+ 2117715,
+ 2117731,
+ 2117795,
+ 2117768,
+ 2117778,
+ 2117779,
+ 2117781,
+ 2117802,
+ 2229035,
+ 2117809,
+ 2117818,
+ 2117819,
+ 2117828,
+ 2117831,
+ 2117875,
+ 2229121,
+ 2117838,
+ 2229105,
+ 2117844,
+ 2117857,
+ 2110610,
+ 2229241,
+ 2117911,
+ 2229322,
+ 2117984,
+ 2229513,
+ 2118003,
+ 2118019,
+ 2118027,
+ 2110652,
+ 2118040,
+ 2118051,
+ 2118061,
+ 2110663,
+ 2229718,
+ 2118131,
+ 2118162,
+ 2118166,
+ 2230095,
+ 2118229,
+ 2118236,
+ 2118252,
+ 2118263,
+ 2118276,
+ 2118274,
+ 2230279,
+ 2118296,
+ 2230330,
+ 2118308,
+ 2118330,
+ 2118331,
+ 2118346,
+ 2118353,
+ 2230457,
+ 2118391,
+ 2118453,
+ 2118466,
+ 2230652,
+ 2230685,
+ 2118503,
+ 2118522,
+ 2118564,
+ 2118580,
+ 2230995,
+ 2118583,
+ 2118592,
+ 2231069,
+ 2110813,
+ 2110814,
+ 2118613,
+ 2110819,
+ 2118644,
+ 2118692,
+ 2118696,
+ 2110830,
+ 2118723,
+ 2118754,
+ 2118764,
+ 2118805,
+ 2118816,
+ 2118822,
+ 2118830,
+ 2118839,
+ 2118842,
+ 2118851,
+ 2231621,
+ 2118892,
+ 2118895,
+ 2118897,
+ 2118899,
+ 2118912,
+ 2118913,
+ 2118921,
+ 2118972,
+ 2118977,
+ 2110886,
+ 2118983,
+ 2110888,
+ 2119012,
+ 2231777,
+ 2119037,
+ 2119042,
+ 2119057,
+ 2110917,
+ 2119122,
+ 2231957,
+ 2231917,
+ 2119103,
+ 2119113,
+ 2119116,
+ 2119121,
+ 2119133,
+ 2110938,
+ 2119138,
+ 2231908,
+ 2119145,
+ 2119208,
+ 2232159,
+ 2119175,
+ 2119184,
+ 2119216,
+ 2110964,
+ 2119229,
+ 2119232,
+ 2119239,
+ 2119262,
+ 2119264,
+ 2119277,
+ 2110981,
+ 2119304,
+ 2119308,
+ 2119325,
+ 2119336,
+ 2119346,
+ 2119365,
+ 2119373,
+ 2119391,
+ 2119400,
+ 2119414,
+ 2119415,
+ 2232833,
+ 2232917,
+ 2119465,
+ 2232955,
+ 2119493,
+ 2119494,
+ 2119501,
+ 2232948,
+ 2119528,
+ 2119535,
+ 2119539,
+ 2119540,
+ 2119541,
+ 2119547,
+ 2233060,
+ 2233047,
+ 2119578,
+ 2119581,
+ 2119582,
+ 2119592,
+ 2119639,
+ 2233085,
+ 2119628,
+ 2233142,
+ 2233156,
+ 2119646,
+ 2119664,
+ 2111050,
+ 2119672,
+ 2119675,
+ 2119677,
+ 2119684,
+ 2119710,
+ 2119719,
+ 2119737,
+ 2233284,
+ 2119753,
+ 2119756,
+ 2119783,
+ 2119818,
+ 2119819,
+ 2119821,
+ 2119823,
+ 2119824,
+ 2119828,
+ 2119837,
+ 2119850,
+ 2119857,
+ 2233453,
+ 2119875,
+ 2119885,
+ 2119906,
+ 2119923,
+ 2119924,
+ 2119941,
+ 2119942,
+ 2119949,
+ 2119956,
+ 2233815,
+ 2111121,
+ 2119997,
+ 2111129,
+ 2120006,
+ 2111126,
+ 2255913,
+ 2120031,
+ 2233927,
+ 2120053,
+ 2120054,
+ 2120060,
+ 2120095,
+ 2120110,
+ 2120124,
+ 2120136,
+ 2120141,
+ 2120158,
+ 2120167,
+ 2120174,
+ 2234118,
+ 2234178,
+ 2111183,
+ 2120205,
+ 2120215,
+ 2120231,
+ 2120237,
+ 2120293,
+ 2120314,
+ 2120331,
+ 2120348,
+ 2120351,
+ 2120352,
+ 2120354,
+ 2120369,
+ 2120373,
+ 2120378,
+ 2120383,
+ 2120410,
+ 2120412,
+ 2120421,
+ 2120432,
+ 2120430,
+ 2120437,
+ 2120456,
+ 2120471,
+ 2120500,
+ 2120524,
+ 2120530,
+ 2120552,
+ 2120559,
+ 2120577,
+ 2120580,
+ 2234819,
+ 2120598,
+ 2120620,
+ 2111329,
+ 2111330,
+ 2120654,
+ 2120662,
+ 2111340,
+ 2111339,
+ 2120689,
+ 2120701,
+ 2111349,
+ 2120707,
+ 2120745,
+ 2235478,
+ 2120799,
+ 2120807,
+ 2120808,
+ 2120816,
+ 2235693,
+ 2235717,
+ 2235768,
+ 2235746,
+ 2120840,
+ 2120842,
+ 2111425,
+ 2235809,
+ 2235804,
+ 2120864,
+ 2120866,
+ 2120871,
+ 2235794,
+ 2120877,
+ 2120885,
+ 2235831,
+ 2120905,
+ 2235872,
+ 2235955,
+ 2120966,
+ 2120976,
+ 2121003,
+ 2120989,
+ 2120992,
+ 2121009,
+ 2121017,
+ 2111464,
+ 2121057,
+ 2121066,
+ 2111476,
+ 2121072,
+ 2236190,
+ 2111485,
+ 2121096,
+ 2111488,
+ 2121111,
+ 2121136,
+ 2121140,
+ 2236278,
+ 2121169,
+ 2121175,
+ 2236410,
+ 2121188,
+ 2121193,
+ 2111535,
+ 2111542,
+ 2111552,
+ 2121247,
+ 2121278,
+ 2121289,
+ 2111580,
+ 2121302,
+ 2111585,
+ 2121325,
+ 2121326,
+ 2236795,
+ 2121381,
+ 2121388,
+ 2121401,
+ 2121414,
+ 2121433,
+ 2237214,
+ 2121469,
+ 2121480,
+ 2237357,
+ 2121502,
+ 2121543,
+ 2121571,
+ 2121586,
+ 2121598,
+ 2121615,
+ 2121634,
+ 2121671,
+ 2121675,
+ 2121682,
+ 2121683,
+ 2121684,
+ 2121698,
+ 2121710,
+ 2121711,
+ 2121715,
+ 2111767,
+ 2121762,
+ 2121764,
+ 2111770,
+ 2121804,
+ 2121877,
+ 2121896,
+ 2238195,
+ 2121905,
+ 2121918,
+ 2121928,
+ 2121945,
+ 2121966,
+ 2121973,
+ 2122000,
+ 2122009,
+ 2122014,
+ 2122042,
+ 2111855,
+ 2122049,
+ 2122054,
+ 2122080,
+ 2238555,
+ 2122130,
+ 2122131,
+ 2122135,
+ 2122149,
+ 2122157,
+ 2238635,
+ 2122197,
+ 2122205,
+ 2122229,
+ 2238863,
+ 2122275,
+ 2122322,
+ 2122337,
+ 2122340,
+ 2122363,
+ 2122349,
+ 2122355,
+ 2122393,
+ 2122453,
+ 2239160,
+ 2122493,
+ 2122499,
+ 2122512,
+ 2239311,
+ 2239312,
+ 2122546,
+ 2122549,
+ 2122555,
+ 2122556,
+ 2122561,
+ 2122564,
+ 2122574,
+ 2239302,
+ 2122585,
+ 2239517,
+ 2239398,
+ 2122604,
+ 2122649,
+ 2239524,
+ 2122644,
+ 2122685,
+ 2122708,
+ 2122709,
+ 2122720,
+ 2122731,
+ 2122732,
+ 2122738,
+ 2122782,
+ 2122789,
+ 2122793,
+ 2122799,
+ 2122842,
+ 2122845,
+ 2122867,
+ 2122877,
+ 2122887,
+ 2122897,
+ 2122911,
+ 2122955,
+ 2122956,
+ 2122965,
+ 2122967,
+ 2239969,
+ 2122980,
+ 2123007,
+ 2112110,
+ 2123023,
+ 2123028,
+ 2112115,
+ 2123038,
+ 2123058,
+ 2123076,
+ 2123092,
+ 2123115,
+ 2123130,
+ 2123140,
+ 2123146,
+ 2123186,
+ 2123189,
+ 2123192,
+ 2123199,
+ 2123209,
+ 2123220,
+ 2112214,
+ 2123257,
+ 2123260,
+ 2123268,
+ 2123272,
+ 2123297,
+ 2123306,
+ 2123333,
+ 2123345,
+ 2123342,
+ 2112234,
+ 2240963,
+ 2241013,
+ 2240950,
+ 2123370,
+ 2123372,
+ 2123373,
+ 2123387,
+ 2123392,
+ 2123408,
+ 2123410,
+ 2112270,
+ 2123437,
+ 2123441,
+ 2123445,
+ 2112282,
+ 2112284,
+ 2112215,
+ 2123521,
+ 2123538,
+ 2241394,
+ 2123545,
+ 2241491,
+ 2241490,
+ 2123597,
+ 2123604,
+ 2123613,
+ 2241488,
+ 2241508,
+ 2241493,
+ 2123636,
+ 2241498,
+ 2123666,
+ 2241503,
+ 2130787,
+ 2123792,
+ 2123715,
+ 2123720,
+ 2123730,
+ 2123739,
+ 2123767,
+ 2241610,
+ 2241617,
+ 2241611,
+ 2123800,
+ 2123807,
+ 2123821,
+ 2241637,
+ 2123827,
+ 2123835,
+ 2123838,
+ 2123845,
+ 2123849,
+ 2123852,
+ 2123861,
+ 2123863,
+ 2112375,
+ 2123883,
+ 2123886,
+ 2123900,
+ 2123906,
+ 2123920,
+ 2123926,
+ 2112365,
+ 2123928,
+ 2123929,
+ 2123930,
+ 2123932,
+ 2123946,
+ 2123947,
+ 2123956,
+ 2123963,
+ 2124027,
+ 2241764,
+ 2241882,
+ 2123971,
+ 2123973,
+ 2123980,
+ 2123993,
+ 2124004,
+ 2124005,
+ 2124012,
+ 2124023,
+ 2124035,
+ 2124039,
+ 2112391,
+ 2241940,
+ 2112397,
+ 2124102,
+ 2124137,
+ 2124140,
+ 2124154,
+ 2124178,
+ 2112420,
+ 2124182,
+ 2124208,
+ 2124218,
+ 2124220,
+ 2124224,
+ 2124241,
+ 2242105,
+ 2242119,
+ 2242104,
+ 2124259,
+ 2124270,
+ 2124271,
+ 2124275,
+ 2112461,
+ 2124276,
+ 2124286,
+ 2124305,
+ 2124314,
+ 2124317,
+ 2242332,
+ 2124338,
+ 2124339,
+ 2124351,
+ 2124361,
+ 2124410,
+ 2124366,
+ 2124370,
+ 2124388,
+ 2242316,
+ 2124427,
+ 2112496,
+ 2124449,
+ 2242404,
+ 2124459,
+ 2124477,
+ 2124486,
+ 2124500,
+ 2124496,
+ 2124509,
+ 2242559,
+ 2242535,
+ 2124529,
+ 2124530,
+ 2124531,
+ 2124541,
+ 2242596,
+ 2124555,
+ 2124559,
+ 2124560,
+ 2124561,
+ 2242621,
+ 2124567,
+ 2112550,
+ 2124591,
+ 2124618,
+ 2124632,
+ 2124652,
+ 2124661,
+ 2124666,
+ 2124673,
+ 2124699,
+ 2124718,
+ 2243224,
+ 2124733,
+ 2124743,
+ 2124744,
+ 2124745,
+ 2124762,
+ 2124774,
+ 2124775,
+ 2124782,
+ 2124802,
+ 2124810,
+ 2124814,
+ 2124854,
+ 2243711,
+ 2124877,
+ 2124891,
+ 2124909,
+ 2124932,
+ 2124937,
+ 2112707,
+ 2124948,
+ 2124951,
+ 2124973,
+ 2124994,
+ 2112722,
+ 2125020,
+ 2125033,
+ 2125037,
+ 2243840,
+ 2125056,
+ 2125092,
+ 2125094,
+ 2125095,
+ 2124903,
+ 2125103,
+ 2125116,
+ 2125147,
+ 2125152,
+ 2125168,
+ 2125184,
+ 2125185,
+ 2125194,
+ 2125197,
+ 2125201,
+ 2125208,
+ 2243904,
+ 2244090,
+ 2244089,
+ 2244051,
+ 2125227,
+ 2125230,
+ 2125236,
+ 2125250,
+ 2125108,
+ 2125256,
+ 2125262,
+ 2125279,
+ 2125302,
+ 2125366,
+ 2125342,
+ 2112785,
+ 2125362,
+ 2125384,
+ 2125385,
+ 2125387,
+ 2125388,
+ 2125391,
+ 2125395,
+ 2125396,
+ 2125399,
+ 2125411,
+ 2112798,
+ 2125459,
+ 2125479,
+ 2125492,
+ 2125507,
+ 2125621,
+ 2125547,
+ 2125561,
+ 2125563,
+ 2125578,
+ 2125580,
+ 2125592,
+ 2125605,
+ 2125622,
+ 2125628,
+ 2244478,
+ 2125650,
+ 2125655,
+ 2125664,
+ 2125672,
+ 2125712,
+ 2125718,
+ 2125758,
+ 2125727,
+ 2125733,
+ 2125743,
+ 2112868,
+ 2125768,
+ 2125769,
+ 2125801,
+ 2244758,
+ 2125820,
+ 2125824,
+ 2125834,
+ 2125859,
+ 2244867,
+ 2125882,
+ 2125891,
+ 2125895,
+ 2125899,
+ 2112922,
+ 2125925,
+ 2125929,
+ 2125934,
+ 2125942,
+ 2125958,
+ 2125975,
+ 2245062,
+ 2125983,
+ 2126001,
+ 2245118,
+ 2126060,
+ 2126026,
+ 2126033,
+ 2126083,
+ 2126086,
+ 2126088,
+ 2126092,
+ 2112960,
+ 2126127,
+ 2126160,
+ 2126163,
+ 2126174,
+ 2112980,
+ 2126230,
+ 2126208,
+ 2126235,
+ 2126240,
+ 2126242,
+ 2126254,
+ 2126255,
+ 2245564,
+ 2126297,
+ 2126300,
+ 2126343,
+ 2113029,
+ 2126388,
+ 2126393,
+ 2126402,
+ 2126423,
+ 2126435,
+ 2246185,
+ 2126446,
+ 2126447,
+ 2126456,
+ 2126463,
+ 2126478,
+ 2246309,
+ 2126510,
+ 2126512,
+ 2126529,
+ 2113120,
+ 2126540,
+ 2113126,
+ 2113128,
+ 2126579,
+ 2126586,
+ 2126599,
+ 2126610,
+ 2126616,
+ 2126617,
+ 2113155,
+ 2126649,
+ 2126636,
+ 2126643,
+ 2126653,
+ 2126674,
+ 2113172,
+ 2126699,
+ 2246806,
+ 2126702,
+ 2126703,
+ 2126705,
+ 2126721,
+ 2126730,
+ 2126740,
+ 2126744,
+ 2126748,
+ 2126757,
+ 2126777,
+ 2126783,
+ 2126789,
+ 2126795,
+ 2126817,
+ 2126823,
+ 2126841,
+ 2126867,
+ 2126842,
+ 2126849,
+ 2126931,
+ 2126912,
+ 2126915,
+ 2126930,
+ 2126941,
+ 2126977,
+ 2126984,
+ 2247245,
+ 2126994,
+ 2126999,
+ 2127001,
+ 2127009,
+ 2127013,
+ 2127018,
+ 2127033,
+ 2127035,
+ 2127034,
+ 2127062,
+ 2127064,
+ 2127083,
+ 2247510,
+ 2127098,
+ 2247535,
+ 2127136,
+ 2127140,
+ 2127146,
+ 2113367,
+ 2247702,
+ 2127165,
+ 2127166,
+ 2127168,
+ 2127176,
+ 2127184,
+ 2127186,
+ 2127218,
+ 2127217,
+ 2127226,
+ 2127229,
+ 2127230,
+ 2127244,
+ 2113397,
+ 2127266,
+ 2113399,
+ 2127280,
+ 2127287,
+ 2127295,
+ 2127296,
+ 2127302,
+ 2127311,
+ 2127315,
+ 2127325,
+ 2127327,
+ 2127328,
+ 2127335,
+ 2127342,
+ 2127345,
+ 2127363,
+ 2127384,
+ 2127367,
+ 2127375,
+ 2113454,
+ 2248206,
+ 2127379,
+ 2127387,
+ 2127388,
+ 2248247,
+ 2127397,
+ 2127400,
+ 2127420,
+ 2127411,
+ 2248298,
+ 2113481,
+ 2127425,
+ 2248331,
+ 2127433,
+ 2127445,
+ 2113495,
+ 2127470,
+ 2127509,
+ 2127521,
+ 2127520,
+ 2127527,
+ 2127528,
+ 2127535,
+ 2248778,
+ 2127561,
+ 2248789,
+ 2127592,
+ 2248994,
+ 2127639,
+ 2127642,
+ 2127661,
+ 2127669,
+ 2249129,
+ 2113593,
+ 2249189,
+ 2249165,
+ 2127704,
+ 2249246,
+ 2127740,
+ 2249292,
+ 2113624,
+ 2127770,
+ 2127775,
+ 2127778,
+ 2127780,
+ 2127838,
+ 2127839,
+ 2127844,
+ 2127850,
+ 2127852,
+ 2127867,
+ 2249774,
+ 2127877,
+ 2127881,
+ 2127885,
+ 2127897,
+ 2127916,
+ 2127943,
+ 2127978,
+ 2249945,
+ 2128010,
+ 2128020,
+ 2128036,
+ 2128029,
+ 2128031,
+ 2128059,
+ 2128085,
+ 2128102,
+ 2128121,
+ 2128122,
+ 2128126,
+ 2250151,
+ 2128144,
+ 2128155,
+ 2128165,
+ 2128202,
+ 2128216,
+ 2113797,
+ 2128231,
+ 2128242,
+ 2128277,
+ 2128289,
+ 2128297,
+ 2128308,
+ 2128322,
+ 2128327,
+ 2128332,
+ 2128333,
+ 2128342,
+ 2113864,
+ 2250665,
+ 2250676,
+ 2113871,
+ 2128394,
+ 2128405,
+ 2128411,
+ 2113891,
+ 2128440,
+ 2128455,
+ 2128470,
+ 2128473,
+ 2128476,
+ 2128479,
+ 2128487,
+ 2128490,
+ 2128501,
+ 2128514,
+ 2128522,
+ 2128528,
+ 2128556,
+ 2251220,
+ 2113972,
+ 2128569,
+ 2128574,
+ 2113983,
+ 2128588,
+ 2128616,
+ 2128628,
+ 2251492,
+ 2251491,
+ 2251505,
+ 2128701,
+ 2128682,
+ 2128686,
+ 2128687,
+ 2114022,
+ 2114035,
+ 2128767,
+ 2128705,
+ 2114030,
+ 2128725,
+ 2128761,
+ 2128740,
+ 2128742,
+ 2128755,
+ 2251698,
+ 2114055,
+ 2128784,
+ 2128795,
+ 2114062,
+ 2128821,
+ 2128828,
+ 2128837,
+ 2128842,
+ 2251851,
+ 2251876,
+ 2128852,
+ 2128854,
+ 2128858,
+ 2128874,
+ 2128880,
+ 2128899,
+ 2128910,
+ 2128965,
+ 2128970,
+ 2128983,
+ 2128990,
+ 2128993,
+ 2129001,
+ 2129007,
+ 2252334,
+ 2252374,
+ 2252389,
+ 2129062,
+ 2252386,
+ 2129078,
+ 2129079,
+ 2252504,
+ 2129092,
+ 2252482,
+ 2129101,
+ 2252520,
+ 2252579,
+ 2129126,
+ 2252636,
+ 2129141,
+ 2129155,
+ 2114246,
+ 2129170,
+ 2129182,
+ 2252768,
+ 2252756,
+ 2129213,
+ 2129214,
+ 2129216,
+ 2129223,
+ 2252812,
+ 2252795,
+ 2114262,
+ 2129242,
+ 2129258,
+ 2129264,
+ 2114269,
+ 2129279,
+ 2252823,
+ 2129288,
+ 2129303,
+ 2252896,
+ 2129309,
+ 2129319,
+ 2129322,
+ 2129334,
+ 2129344,
+ 2129367,
+ 2129369,
+ 2129382,
+ 2114306,
+ 2253037,
+ 4226569,
+ 2129424,
+ 2129431,
+ 2129437,
+ 2129447,
+ 2129452,
+ 2129477,
+ 2129525,
+ 2129534,
+ 2129542,
+ 2129543,
+ 2114347,
+ 2129562,
+ 2114371,
+ 2129724,
+ 2129723,
+ 2129726,
+ 2129731,
+ 2110657,
+ 2253424,
+ 2253446,
+ 2129763,
+ 2129764,
+ 2129773,
+ 2129789,
+ 2129790,
+ 2129808,
+ 2118011,
+ 2243854,
+ 2129814,
+ 2129820,
+ 2129837,
+ 2253826,
+ 2129859,
+ 2129871,
+ 2129891,
+ 2129906,
+ 2129930,
+ 2129928,
+ 2129942,
+ 2129964,
+ 2129968,
+ 2129987,
+ 2130022,
+ 2130043,
+ 2130073,
+ 2130076,
+ 2130084,
+ 2130087,
+ 2130104,
+ 2254462,
+ 2130117,
+ 2130133,
+ 2130150,
+ 2130189,
+ 2130165,
+ 2130171,
+ 2114542,
+ 2130229,
+ 2130206,
+ 2114544,
+ 2130212,
+ 2130215,
+ 2130220,
+ 2254621,
+ 2130237,
+ 2114568,
+ 2130281,
+ 2114583,
+ 2114588,
+ 2130309,
+ 2114594,
+ 2130328,
+ 2130354,
+ 2130369,
+ 2130371,
+ 2130390,
+ 2130395,
+ 2255069,
+ 2130404,
+ 2255082,
+ 2130412,
+ 2130429,
+ 2130431,
+ 2255215,
+ 2130436,
+ 2255325,
+ 2130457,
+ 2130466,
+ 2255390,
+ 2130492,
+ 2130505,
+ 2130501,
+ 2255448,
+ 2114678,
+ 2114682,
+ 2130519,
+ 2255500,
+ 2130524,
+ 2130531,
+ 2255543,
+ 2114705,
+ 2130557,
+ 2130559,
+ 2130563,
+ 2130570,
+ 2130579,
+ 2130599,
+ 2130600,
+ 2130610,
+ 2130612,
+ 2130618,
+ 2130620,
+ 2130658,
+ 2130664,
+ 2130679,
+ 2130695,
+ 2130696,
+ 2130700,
+ 2130772,
+ 2130715,
+ 2130717,
+ 2130736,
+ 2130748,
+ 2130756,
+ 2130775,
+ 2114750,
+ 2114772,
+ 2114739,
+ 2130836,
+ 2130837,
+ 2130843,
+ 2130845,
+ 2130889,
+ 2130896,
+ 2130900,
+ 2130909,
+ 2130917,
+ 2130937,
+ 2130965,
+ 2255987,
+ 2130967,
+ 2131001,
+ 2131023,
+ 2131025,
+ 2131026,
+ 2131033,
+ 2131034,
+ 2131036,
+ 2256093,
+ 2131045,
+ 2131064,
+ 2131068,
+ 2131073,
+ 2114829,
+ 2131095,
+ 2131110,
+ 2131134,
+ 2114824,
+ 2131150,
+ 2131151,
+ 2131155,
+ 2256485,
+ 2131175,
+ 2131178,
+ 2131183,
+ 2131185,
+ 2131194,
+ 2131227,
+ 2131236,
+ 2131237,
+ 2131243,
+ 2131279,
+ 2131311,
+ 2114883,
+ 2131281,
+ 2131297,
+ 2131298,
+ 2256788,
+ 2131323,
+ 2131325,
+ 2131327,
+ 2131329,
+ 2131334,
+ 2131347,
+ 2131357,
+ 2131359,
+ 2256888,
+ 2256886,
+ 2256887,
+ 2131388,
+ 2131399,
+ 2131402,
+ 2131416,
+ 2131417,
+ 2131423,
+ 2131425,
+ 2131430,
+ 2131446,
+ 2131456,
+ 2131473,
+ 2131486,
+ 2131489,
+ 2131492,
+ 2131495,
+ 2257165,
+ 2131513,
+ 2131516,
+ 2257209,
+ 2131520,
+ 2131539,
+ 2131542,
+ 2131575,
+ 2131591,
+ 2131593,
+ 2131612,
+ 2131613,
+ 2131633,
+ 2131635,
+ 2131649,
+ 2131651,
+ 2131665,
+ 2131669,
+ 2131671,
+ 2131683,
+ 2131686,
+ 2115000,
+ 2131717,
+ 2131719,
+ 2131726,
+ 2131728,
+ 2131743,
+ 2131745,
+ 2131747,
+ 2131761,
+ 2131770,
+ 2131776,
+ 2131779,
+ 2131793,
+ 2131800,
+ 2131812,
+ 2131813,
+ 2131826,
+ 2131836,
+ 2257883,
+ 2257882,
+ 2131879,
+ 2131849,
+ 2131851,
+ 2131859,
+ 2131872,
+ 2257918,
+ 2115045,
+ 2131902,
+ 2257936,
+ 2131905,
+ 2131918,
+ 2131935,
+ 2257993,
+ 2131939,
+ 2131941,
+ 2131942,
+ 2131946,
+ 2131987,
+ 2132008,
+ 2132014,
+ 2132018,
+ 2132028,
+ 2115087,
+ 2132042,
+ 2132056,
+ 2258453,
+ 2258452,
+ 2132073,
+ 2258481,
+ 2132079,
+ 2132128,
+ 2132156,
+ 2132160,
+ 2258579,
+ 2132177,
+ 2132179,
+ 2115137,
+ 2132225,
+ 2258702,
+ 2132279,
+ 2258723,
+ 2132290,
+ 2132293,
+ 2132297,
+ 2258770,
+ 2132322,
+ 2132361,
+ 2132368,
+ 2132383,
+ 2132400,
+ 2132407,
+ 2132440,
+ 2132459,
+ 2115233,
+ 2132467,
+ 2132477,
+ 2132479,
+ 2115247,
+ 2132497,
+ 2132500,
+ 2259333,
+ 2132513,
+ 2132533,
+ 2132542,
+ 2132549,
+ 2132557,
+ 2132568,
+ 2132654,
+ 2132624,
+ 2132663,
+ 2132695,
+ 2132732,
+ 2259588,
+ 2132746,
+ 2132741,
+ 2132749,
+ 2132764,
+ 2132781,
+ 2115340,
+ 2132817,
+ 2132830,
+ 2132854,
+ 2132865,
+ 2132875,
+ 2132884,
+ 2132885,
+ 2133049,
+ 2259891,
+ 2133053,
+ 2259902,
+ 2259911,
+ 2133061,
+ 2133071,
+ 2133079,
+ 2133097,
+ 2133101,
+ 2260152,
+ 2133139,
+ 2133138,
+ 2133145,
+ 2115428,
+ 2133147,
+ 2133206,
+ 2133205,
+ 2260384,
+ 2133233,
+ 2260496,
+ 2133257,
+ 2133262,
+ 2133448,
+ 2133465,
+ 2133516,
+ 2115581,
+ 2133501,
+ 2133510,
+ 2261130,
+ 2133524,
+ 2133526,
+ 2133537,
+ 2133538,
+ 2133543,
+ 2261179,
+ 2115606,
+ 2133558,
+ 2133561,
+ 2133588,
+ 2133602,
+ 2133613,
+ 2133615,
+ 2133656,
+ 2133662,
+ 2133685,
+ 2133691,
+ 2261634,
+ 2115662,
+ 2261747,
+ 2133760,
+ 2133768,
+ 2133803,
+ 2133824,
+ 2133834,
+ 2133848,
+ 2262028,
+ 2133924,
+ 2133940,
+ 2262101,
+ 2133953,
+ 2133958,
+ 2161188,
+ 2133962,
+ 2133965,
+ 2133971,
+ 2133973,
+ 2134001,
+ 2134005,
+ 2134011,
+ 2134028,
+ 2134071,
+ 2262379,
+ 2134083,
+ 2134109,
+ 2262472,
+ 2262473,
+ 2134149,
+ 2134156,
+ 2134160,
+ 2134177,
+ 2115765,
+ 2134192,
+ 2134198,
+ 2134211,
+ 2134216,
+ 2262743,
+ 2134236,
+ 2134239,
+ 2262778,
+ 2134262,
+ 2134258,
+ 2134272,
+ 2134251,
+ 2134270,
+ 2134271,
+ 2134276,
+ 2134278,
+ 2134296,
+ 2134302,
+ 2134327,
+ 2134329,
+ 2134342,
+ 2134343,
+ 2134359,
+ 2134361,
+ 2134388,
+ 2134393,
+ 2134405,
+ 2134451,
+ 2134454,
+ 2134467,
+ 2134468,
+ 2263369,
+ 2263366,
+ 2134508,
+ 2134529,
+ 2134550,
+ 2134551,
+ 2263403,
+ 2134594,
+ 2134602,
+ 2134614,
+ 2134625,
+ 2134629,
+ 2134632,
+ 2263432,
+ 2134652,
+ 2134653,
+ 2134655,
+ 2134665,
+ 2134669,
+ 2134679,
+ 2134681,
+ 2134687,
+ 2134699,
+ 2263482,
+ 2263483,
+ 2134706,
+ 2134719,
+ 2134720,
+ 2134726,
+ 2134734,
+ 2134757,
+ 2134801,
+ 2263582,
+ 2263593,
+ 2134775,
+ 2134825,
+ 2263665,
+ 2263619,
+ 2134865,
+ 2134874,
+ 2134891,
+ 2134897,
+ 2134899,
+ 2134945,
+ 2263705,
+ 2263757,
+ 2134920,
+ 2134923,
+ 2134927,
+ 2134942,
+ 2135029,
+ 2263780,
+ 2263773,
+ 2135025,
+ 2134983,
+ 2135004,
+ 2135015,
+ 2135049,
+ 2135062,
+ 2135063,
+ 2135035,
+ 2135090,
+ 2135099,
+ 2264001,
+ 2264047,
+ 2135149,
+ 2135151,
+ 2135417,
+ 2135430,
+ 2135436,
+ 2135437,
+ 2264336,
+ 2264433,
+ 2135496,
+ 2264571,
+ 2264607,
+ 2135596,
+ 2135603,
+ 2135604,
+ 2264630,
+ 2135612,
+ 2135649,
+ 2264713,
+ 2135682,
+ 2264811,
+ 2135706,
+ 2264882,
+ 2116071,
+ 2135731,
+ 2135738,
+ 2135741,
+ 2116090,
+ 2265080,
+ 2135768,
+ 2135770,
+ 2135773,
+ 2116100,
+ 2135828,
+ 2135843,
+ 2116137,
+ 2135862,
+ 2135873,
+ 2135879,
+ 2135895,
+ 2135899,
+ 2135914,
+ 2265760,
+ 2265777,
+ 2135958,
+ 2135966,
+ 2135985,
+ 2135986,
+ 2135998,
+ 2136012,
+ 2136017,
+ 2136020,
+ 2136024,
+ 2136033,
+ 2136049,
+ 2136068,
+ 2136077,
+ 2136084,
+ 2136086,
+ 2116284,
+ 2266256,
+ 2136114,
+ 2136115,
+ 2136101,
+ 2136135,
+ 2136166,
+ 2136235,
+ 2136237,
+ 2136240,
+ 2266575,
+ 2136247,
+ 2136251,
+ 2136252,
+ 2136258,
+ 2136263,
+ 2136267,
+ 2136289,
+ 2136291,
+ 2136298,
+ 2136304,
+ 2136305,
+ 2136307,
+ 2136328,
+ 2116411,
+ 2266864,
+ 2136342,
+ 2136343,
+ 2266905,
+ 2136346,
+ 2136347,
+ 2136348,
+ 2266960,
+ 2136369,
+ 2136378,
+ 2136379,
+ 2136380,
+ 2136385,
+ 2136390,
+ 2136398,
+ 2136416,
+ 2136483,
+ 2136486,
+ 2136509,
+ 2136511,
+ 2136515,
+ 2136532,
+ 2136537,
+ 2136542,
+ 2267334,
+ 2136560,
+ 2136569,
+ 2136572,
+ 2136586,
+ 2136593,
+ 2136602,
+ 2136608,
+ 2136625,
+ 2136644,
+ 2136652,
+ 2136664,
+ 2116546,
+ 2136751,
+ 2116554,
+ 2136759,
+ 2116562,
+ 2136761,
+ 2267762,
+ 2136774,
+ 2136784,
+ 2136786,
+ 2136789,
+ 2136800,
+ 2136805,
+ 2136809,
+ 2136844,
+ 2136848,
+ 2136850,
+ 2136854,
+ 2136860,
+ 2136875,
+ 2136893,
+ 2116640,
+ 2136907,
+ 2136931,
+ 2136933,
+ 2136939,
+ 2136940,
+ 2136950,
+ 2136951,
+ 2136998,
+ 2137004,
+ 2268635,
+ 2137010,
+ 2137016,
+ 2137022,
+ 2137075,
+ 2137048,
+ 2137053,
+ 2137066,
+ 2137071,
+ 2137070,
+ 2268693,
+ 2268810,
+ 2268745,
+ 2137110,
+ 2137112,
+ 2137113,
+ 2137114,
+ 2137117,
+ 2137122,
+ 2137129,
+ 2268868,
+ 2137137,
+ 2137143,
+ 2137157,
+ 2137180,
+ 2268905,
+ 2137161,
+ 2137162,
+ 2268891,
+ 2137172,
+ 2137176,
+ 2137179,
+ 2137181,
+ 2137183,
+ 2137193,
+ 2137194,
+ 2137195,
+ 2137197,
+ 2137198,
+ 2137202,
+ 2137205,
+ 2137210,
+ 2137318,
+ 2137330,
+ 2137355,
+ 2269143,
+ 2137361,
+ 2137367,
+ 2137368,
+ 2269231,
+ 2116804,
+ 2269210,
+ 2137394,
+ 2116817,
+ 2137418,
+ 2137439,
+ 2137442,
+ 2269433,
+ 2269314,
+ 2137459,
+ 2137462,
+ 2137463,
+ 2137476,
+ 2137497,
+ 2137505,
+ 2137535,
+ 2137525,
+ 2137529,
+ 2137533,
+ 2137545,
+ 2137562,
+ 2137568,
+ 2137571,
+ 2116871,
+ 2137610,
+ 2137602,
+ 2137613,
+ 2137628,
+ 2137723,
+ 2236952,
+ 2137728,
+ 2137733,
+ 2137755,
+ 2270092,
+ 2137789,
+ 2270263,
+ 2137823,
+ 2137855,
+ 2137858,
+ 2116983,
+ 2137859,
+ 2137914,
+ 2137917,
+ 2137926,
+ 2137939,
+ 2137941,
+ 2137944,
+ 2270705,
+ 2137949,
+ 2270722,
+ 2137961,
+ 2137965,
+ 2137968,
+ 2270898,
+ 2128186,
+ 2110996,
+ 2111661,
+ 2112972,
+ 2113500,
+ 2115006,
+ 2115088,
+ 2116478,
+ 2116664,
+ 2116833,
+ 2117132,
+ 2117155,
+ 2117156,
+ 2117241,
+ 2117363,
+ 2117388,
+ 2117401,
+ 2117419,
+ 2117422,
+ 2117425,
+ 2117508,
+ 2117534,
+ 2117559,
+ 2117636,
+ 2117644,
+ 2117708,
+ 2117727,
+ 2117730,
+ 2117751,
+ 2117774,
+ 2117790,
+ 2117794,
+ 2117827,
+ 2117864,
+ 2117873,
+ 2117886,
+ 2117895,
+ 2117900,
+ 2117901,
+ 2117902,
+ 2117939,
+ 2117944,
+ 2118004,
+ 2118020,
+ 2118072,
+ 2118074,
+ 2118088,
+ 2118095,
+ 2118097,
+ 2118099,
+ 2118100,
+ 2118104,
+ 2118111,
+ 2118149,
+ 2118182,
+ 2118184,
+ 2118187,
+ 2118193,
+ 2118194,
+ 2118197,
+ 2118204,
+ 2118234,
+ 2118240,
+ 2118254,
+ 2118264,
+ 2118265,
+ 2118282,
+ 2118284,
+ 2118369,
+ 2118377,
+ 2118385,
+ 2118403,
+ 2118417,
+ 2118431,
+ 2118445,
+ 2118450,
+ 2118461,
+ 2118501,
+ 2118509,
+ 2118521,
+ 2118526,
+ 2118548,
+ 2118553,
+ 2118570,
+ 2118575,
+ 2118586,
+ 2118593,
+ 2118596,
+ 2118597,
+ 2118624,
+ 2118675,
+ 2118698,
+ 2118705,
+ 2118708,
+ 2118709,
+ 2118732,
+ 2118823,
+ 2118826,
+ 2118833,
+ 2118843,
+ 2118862,
+ 2118890,
+ 2118908,
+ 2118917,
+ 2118920,
+ 2118933,
+ 2118951,
+ 2118954,
+ 2118966,
+ 2118993,
+ 2119014,
+ 2119055,
+ 2119058,
+ 2119060,
+ 2119076,
+ 2119090,
+ 2119107,
+ 2119110,
+ 2119123,
+ 2119131,
+ 2119148,
+ 2119150,
+ 2119153,
+ 2119158,
+ 2119160,
+ 2119173,
+ 2119181,
+ 2119185,
+ 2119186,
+ 2119212,
+ 2119221,
+ 2119225,
+ 2119245,
+ 2119252,
+ 2119301,
+ 2119327,
+ 2119334,
+ 2119351,
+ 2119372,
+ 2119375,
+ 2119385,
+ 2119393,
+ 2119403,
+ 2119405,
+ 2119409,
+ 2119431,
+ 2119436,
+ 2119450,
+ 2119451,
+ 2119453,
+ 2119468,
+ 2119470,
+ 2119485,
+ 2119486,
+ 2119519,
+ 2119531,
+ 2119533,
+ 2119546,
+ 2119555,
+ 2119575,
+ 2119598,
+ 2119637,
+ 2119655,
+ 2119693,
+ 2119718,
+ 2119757,
+ 2119759,
+ 2119775,
+ 2119789,
+ 2119807,
+ 2119809,
+ 2119832,
+ 2119868,
+ 2119967,
+ 2119971,
+ 2120025,
+ 2120057,
+ 2120087,
+ 2120111,
+ 2120115,
+ 2120159,
+ 2120177,
+ 2120184,
+ 2120370,
+ 2120376,
+ 2120426,
+ 2120438,
+ 2120475,
+ 2120477,
+ 2120481,
+ 2120504,
+ 2120631,
+ 2120663,
+ 2120672,
+ 2120735,
+ 2120746,
+ 2120748,
+ 2120758,
+ 2120793,
+ 2120796,
+ 2120813,
+ 2120925,
+ 2120961,
+ 2121012,
+ 2121021,
+ 2121049,
+ 2121086,
+ 2121091,
+ 2121159,
+ 2121209,
+ 2121256,
+ 2121266,
+ 2121269,
+ 2121307,
+ 2121320,
+ 2121322,
+ 2121335,
+ 2121344,
+ 2121355,
+ 2121395,
+ 2121405,
+ 2121425,
+ 2121428,
+ 2121429,
+ 2121549,
+ 2121644,
+ 2121706,
+ 2121735,
+ 2121801,
+ 2121812,
+ 2121831,
+ 2121915,
+ 2121924,
+ 2121981,
+ 2121994,
+ 2122006,
+ 2122026,
+ 2122038,
+ 2122078,
+ 2122084,
+ 2122107,
+ 2122109,
+ 2122111,
+ 2122141,
+ 2122168,
+ 2122204,
+ 2122210,
+ 2122213,
+ 2122216,
+ 2122244,
+ 2122247,
+ 2122289,
+ 2122297,
+ 2122301,
+ 2122362,
+ 2122384,
+ 2122408,
+ 2122458,
+ 2122484,
+ 2122518,
+ 2122538,
+ 2122550,
+ 2122566,
+ 2122571,
+ 2122579,
+ 2122609,
+ 2122613,
+ 2122623,
+ 2122626,
+ 2122634,
+ 2122670,
+ 2122671,
+ 2122730,
+ 2122744,
+ 2122745,
+ 2122770,
+ 2122776,
+ 2122784,
+ 2122788,
+ 2122794,
+ 2122805,
+ 2122813,
+ 2122815,
+ 2122834,
+ 2122847,
+ 2122868,
+ 2122896,
+ 2122904,
+ 2122905,
+ 2122924,
+ 2122931,
+ 2122989,
+ 2122992,
+ 2123035,
+ 2123039,
+ 2123054,
+ 2123081,
+ 2123104,
+ 2123154,
+ 2123157,
+ 2123188,
+ 2123198,
+ 2123208,
+ 2123214,
+ 2123216,
+ 2123231,
+ 2123390,
+ 2123403,
+ 2123404,
+ 2123443,
+ 2123456,
+ 2123471,
+ 2123557,
+ 2123573,
+ 2123605,
+ 2123648,
+ 2123663,
+ 2123665,
+ 2123684,
+ 2123697,
+ 2123701,
+ 2123710,
+ 2123816,
+ 2123910,
+ 2124011,
+ 2124021,
+ 2124055,
+ 2124083,
+ 2124088,
+ 2124123,
+ 2124133,
+ 2124200,
+ 2124203,
+ 2124207,
+ 2124261,
+ 2124273,
+ 2124362,
+ 2124373,
+ 2124391,
+ 2124401,
+ 2124463,
+ 2124488,
+ 2124489,
+ 2124547,
+ 2124603,
+ 2124607,
+ 2124669,
+ 2124670,
+ 2124720,
+ 2124791,
+ 2124793,
+ 2124804,
+ 2124809,
+ 2124813,
+ 2124844,
+ 2124874,
+ 2124882,
+ 2124884,
+ 2124921,
+ 2124972,
+ 2124980,
+ 2125010,
+ 2125153,
+ 2125180,
+ 2125241,
+ 2125296,
+ 2125381,
+ 2125427,
+ 2125435,
+ 2125437,
+ 2125449,
+ 2125500,
+ 2125530,
+ 2125531,
+ 2125606,
+ 2125609,
+ 2125616,
+ 2125703,
+ 2125725,
+ 2125742,
+ 2125751,
+ 2125837,
+ 2125856,
+ 2125897,
+ 2125976,
+ 2126000,
+ 2126037,
+ 2126038,
+ 2126149,
+ 2126258,
+ 2126324,
+ 2126359,
+ 2126367,
+ 2126403,
+ 2126415,
+ 2126416,
+ 2126426,
+ 2126432,
+ 2126440,
+ 2126455,
+ 2126468,
+ 2126537,
+ 2126565,
+ 2126580,
+ 2126594,
+ 2126603,
+ 2126622,
+ 2126626,
+ 2126650,
+ 2126651,
+ 2126669,
+ 2126680,
+ 2126695,
+ 2126962,
+ 2127023,
+ 2127071,
+ 2127076,
+ 2127092,
+ 2127099,
+ 2127126,
+ 2127137,
+ 2127167,
+ 2127198,
+ 2127257,
+ 2127268,
+ 2127297,
+ 2127300,
+ 2127308,
+ 2127319,
+ 2127324,
+ 2127329,
+ 2127343,
+ 2127364,
+ 2127372,
+ 2127389,
+ 2127410,
+ 2127416,
+ 2127429,
+ 2127434,
+ 2127455,
+ 2127533,
+ 2127549,
+ 2127577,
+ 2127595,
+ 2127600,
+ 2127609,
+ 2127616,
+ 2127630,
+ 2127650,
+ 2127656,
+ 2127663,
+ 2127673,
+ 2127678,
+ 2127685,
+ 2127690,
+ 2127695,
+ 2127710,
+ 2127716,
+ 2127719,
+ 2127724,
+ 2127748,
+ 2127756,
+ 2127757,
+ 2127766,
+ 2127783,
+ 2127791,
+ 2127799,
+ 2127806,
+ 2127817,
+ 2127825,
+ 2127833,
+ 2127857,
+ 2127927,
+ 2127964,
+ 2127998,
+ 2128024,
+ 2128033,
+ 2128049,
+ 2128051,
+ 2128073,
+ 2128083,
+ 2128140,
+ 2128159,
+ 2128167,
+ 2128168,
+ 2128191,
+ 2128194,
+ 2128212,
+ 2128235,
+ 2128252,
+ 2128299,
+ 2128324,
+ 2128362,
+ 2128386,
+ 2128396,
+ 2128432,
+ 2128442,
+ 2128452,
+ 2128512,
+ 2128518,
+ 2128532,
+ 2128565,
+ 2128573,
+ 2128638,
+ 2128683,
+ 2128759,
+ 2128800,
+ 2128812,
+ 2128816,
+ 2128872,
+ 2128882,
+ 2128888,
+ 2128892,
+ 2128894,
+ 2128905,
+ 2128936,
+ 2128943,
+ 2128962,
+ 2128978,
+ 2128979,
+ 2128987,
+ 2128988,
+ 2128989,
+ 2129010,
+ 2129021,
+ 2129031,
+ 2129054,
+ 2129082,
+ 2129095,
+ 2129107,
+ 2129114,
+ 2129212,
+ 2129229,
+ 2129282,
+ 2129285,
+ 2129293,
+ 2129297,
+ 2129310,
+ 2129331,
+ 2129337,
+ 2129360,
+ 2129381,
+ 2129397,
+ 2129398,
+ 2129455,
+ 2129462,
+ 2129476,
+ 2129519,
+ 2129528,
+ 2129537,
+ 2129725,
+ 2129755,
+ 2129757,
+ 2129765,
+ 2129777,
+ 2129791,
+ 2129792,
+ 2129803,
+ 2129826,
+ 2129917,
+ 2129918,
+ 2129919,
+ 2129927,
+ 2129933,
+ 2129950,
+ 2129977,
+ 2130056,
+ 2130062,
+ 2130127,
+ 2130132,
+ 2130157,
+ 2130160,
+ 2130167,
+ 2130170,
+ 2130174,
+ 2130179,
+ 2130199,
+ 2130224,
+ 2130263,
+ 2130287,
+ 2130291,
+ 2130315,
+ 2130320,
+ 2130331,
+ 2130334,
+ 2130379,
+ 2130389,
+ 2130397,
+ 2130398,
+ 2130401,
+ 2130415,
+ 2130422,
+ 2130432,
+ 2130443,
+ 2130451,
+ 2130452,
+ 2130458,
+ 2130490,
+ 2130500,
+ 2130541,
+ 2130564,
+ 2130569,
+ 2130577,
+ 2130602,
+ 2130608,
+ 2130640,
+ 2130666,
+ 2130671,
+ 2130678,
+ 2130774,
+ 2130808,
+ 2130936,
+ 2130940,
+ 2131032,
+ 2131091,
+ 2131121,
+ 2131133,
+ 2131195,
+ 2131270,
+ 2131286,
+ 2131293,
+ 2131333,
+ 2131352,
+ 2131522,
+ 2131526,
+ 2131648,
+ 2131732,
+ 2131746,
+ 2131758,
+ 2131769,
+ 2131805,
+ 2131835,
+ 2131852,
+ 2131854,
+ 2131863,
+ 2131864,
+ 2131870,
+ 2131875,
+ 2131886,
+ 2131903,
+ 2131913,
+ 2131930,
+ 2131992,
+ 2131995,
+ 2132013,
+ 2132026,
+ 2132037,
+ 2132043,
+ 2132046,
+ 2132053,
+ 2132058,
+ 2132078,
+ 2132122,
+ 2132123,
+ 2132124,
+ 2132173,
+ 2132192,
+ 2132207,
+ 2132238,
+ 2132239,
+ 2132262,
+ 2132277,
+ 2132314,
+ 2132316,
+ 2132331,
+ 2132336,
+ 2132348,
+ 2132389,
+ 2132405,
+ 2132412,
+ 2132437,
+ 2132553,
+ 2132567,
+ 2132583,
+ 2132606,
+ 2132614,
+ 2132630,
+ 2132662,
+ 2132681,
+ 2132689,
+ 2132701,
+ 2132716,
+ 2132725,
+ 2132742,
+ 2132751,
+ 2132753,
+ 2132805,
+ 2132818,
+ 2132845,
+ 2132856,
+ 2132860,
+ 2132862,
+ 2132869,
+ 2132895,
+ 2133067,
+ 2133075,
+ 2133115,
+ 2133178,
+ 2133189,
+ 2133193,
+ 2133202,
+ 2133228,
+ 2133237,
+ 2133239,
+ 2133249,
+ 2133251,
+ 2133271,
+ 2133276,
+ 2133358,
+ 2133393,
+ 2133407,
+ 2133419,
+ 2133426,
+ 2133461,
+ 2133479,
+ 2133489,
+ 2133490,
+ 2133492,
+ 2133505,
+ 2133515,
+ 2133542,
+ 2133553,
+ 2133568,
+ 2133569,
+ 2133581,
+ 2133583,
+ 2133596,
+ 2133601,
+ 2133609,
+ 2133617,
+ 2133621,
+ 2133623,
+ 2133641,
+ 2133648,
+ 2133653,
+ 2133658,
+ 2133671,
+ 2133673,
+ 2133677,
+ 2133736,
+ 2133744,
+ 2133767,
+ 2133784,
+ 2133797,
+ 2133799,
+ 2133804,
+ 2133813,
+ 2133818,
+ 2133827,
+ 2133831,
+ 2133841,
+ 2133845,
+ 2133920,
+ 2133921,
+ 2133922,
+ 2133925,
+ 2134020,
+ 2134043,
+ 2134063,
+ 2134092,
+ 2134107,
+ 2134128,
+ 2134132,
+ 2134137,
+ 2134155,
+ 2134168,
+ 2134176,
+ 2134194,
+ 2134205,
+ 2134217,
+ 2134256,
+ 2134277,
+ 2134309,
+ 2134362,
+ 2134375,
+ 2134394,
+ 2134410,
+ 2134417,
+ 2134421,
+ 2134448,
+ 2134459,
+ 2134461,
+ 2134466,
+ 2134469,
+ 2134528,
+ 2134537,
+ 2134563,
+ 2134646,
+ 2134670,
+ 2134703,
+ 2134715,
+ 2134716,
+ 2134721,
+ 2134723,
+ 2134725,
+ 2134728,
+ 2134804,
+ 2134835,
+ 2134838,
+ 2134872,
+ 2134911,
+ 2134914,
+ 2134922,
+ 2134971,
+ 2134988,
+ 2135014,
+ 2135033,
+ 2135042,
+ 2135053,
+ 2135054,
+ 2135086,
+ 2135116,
+ 2135432,
+ 2135457,
+ 2135487,
+ 2135494,
+ 2135497,
+ 2135505,
+ 2135506,
+ 2135520,
+ 2135524,
+ 2135526,
+ 2135588,
+ 2135601,
+ 2135608,
+ 2135613,
+ 2135636,
+ 2135668,
+ 2135675,
+ 2135679,
+ 2135681,
+ 2135683,
+ 2135689,
+ 2135702,
+ 2135726,
+ 2135811,
+ 2135835,
+ 2135841,
+ 2135842,
+ 2135848,
+ 2135857,
+ 2135911,
+ 2135926,
+ 2135933,
+ 2135935,
+ 2135961,
+ 2135967,
+ 2135980,
+ 2135993,
+ 2136013,
+ 2136032,
+ 2136047,
+ 2136071,
+ 2136102,
+ 2136110,
+ 2136162,
+ 2136163,
+ 2136244,
+ 2136261,
+ 2136322,
+ 2136337,
+ 2136341,
+ 2136373,
+ 2136392,
+ 2136404,
+ 2136414,
+ 2136545,
+ 2136588,
+ 2136592,
+ 2136611,
+ 2136641,
+ 2136657,
+ 2136765,
+ 2136766,
+ 2136833,
+ 2136841,
+ 2136843,
+ 2136845,
+ 2136846,
+ 2136857,
+ 2136885,
+ 2136904,
+ 2136917,
+ 2136936,
+ 2136960,
+ 2136966,
+ 2136976,
+ 2136989,
+ 2137008,
+ 2137023,
+ 2137032,
+ 2137087,
+ 2137090,
+ 2137116,
+ 2137141,
+ 2137156,
+ 2137174,
+ 2137185,
+ 2137192,
+ 2137392,
+ 2137405,
+ 2137450,
+ 2137467,
+ 2137573,
+ 2137577,
+ 2137587,
+ 2137722,
+ 2137730,
+ 2137731,
+ 2137732,
+ 2137776,
+ 2137828,
+ 2137840,
+ 2137842,
+ 2137865,
+ 2137871,
+ 2137876,
+ 2137883,
+ 2137890,
+ 2137894,
+ 2137898,
+ 2137899,
+ 2137908,
+ 2137946,
+ 2137967,
+ 2138014,
+ 2138021,
+ 2228469,
+ 2248196,
+ 2248690,
+ 2260339,
+ 2118029,
+ 4216196,
+ 4218722,
+ 4219208,
+ 4220959,
+ 2133716,
+ 2110942,
+ 2138047,
+ 2138048,
+ 2138049,
+ 2138050,
+ 2269874,
+ 4214286,
+ 4214310,
+ 2228568,
+ 4214643,
+ 4214870,
+ 4215021,
+ 4215147,
+ 2229681,
+ 8409566,
+ 4215293,
+ 2229996,
+ 4215396,
+ 4215409,
+ 6312562,
+ 4215615,
+ 2275155,
+ 4215872,
+ 2231640,
+ 4216220,
+ 6313387,
+ 4216329,
+ 6313646,
+ 8410798,
+ 2275162,
+ 2275164,
+ 4216526,
+ 4216558,
+ 4216790,
+ 4216893,
+ 4216921,
+ 4217167,
+ 6314321,
+ 4217184,
+ 4217186,
+ 4217562,
+ 4217690,
+ 4217715,
+ 4217724,
+ 8412083,
+ 2251212,
+ 4218435,
+ 2275190,
+ 6315747,
+ 4218680,
+ 4218785,
+ 4218845,
+ 4219234,
+ 6316466,
+ 4219384,
+ 2111908,
+ 2111928,
+ 2240066,
+ 2275196,
+ 4220150,
+ 2112092,
+ 2230216,
+ 4220254,
+ 2240491,
+ 4220295,
+ 4220297,
+ 2259380,
+ 4220302,
+ 2112196,
+ 2112203,
+ 4220385,
+ 4220519,
+ 4220526,
+ 6317761,
+ 2275202,
+ 2112133,
+ 4220672,
+ 4220769,
+ 4220868,
+ 4220930,
+ 4221245,
+ 4221278,
+ 2275211,
+ 4221596,
+ 2112499,
+ 2242545,
+ 2275220,
+ 4222008,
+ 6319274,
+ 2138060,
+ 4222436,
+ 2112817,
+ 4222472,
+ 4222578,
+ 6319819,
+ 4222677,
+ 4222683,
+ 4222811,
+ 6319963,
+ 4222820,
+ 4222836,
+ 2244683,
+ 4223550,
+ 2113088,
+ 2111649,
+ 6321098,
+ 4224189,
+ 4224349,
+ 4224444,
+ 2275244,
+ 4224520,
+ 4224612,
+ 4224617,
+ 2275247,
+ 4224823,
+ 4224894,
+ 4225447,
+ 4225457,
+ 4225726,
+ 4226016,
+ 6323280,
+ 4226313,
+ 4226482,
+ 6323634,
+ 4226878,
+ 6324193,
+ 4227090,
+ 2275273,
+ 4227286,
+ 4227337,
+ 4227369,
+ 4227596,
+ 4227611,
+ 4227648,
+ 2275279,
+ 4228052,
+ 4228111,
+ 2275282,
+ 4228330,
+ 2256030,
+ 4228433,
+ 4228451,
+ 4228559,
+ 4228686,
+ 4228706,
+ 4228746,
+ 4229186,
+ 4229239,
+ 4229441,
+ 4229974,
+ 6327126,
+ 4229980,
+ 2115359,
+ 2260028,
+ 4230250,
+ 4230265,
+ 6327498,
+ 4230503,
+ 2115614,
+ 4230915,
+ 6328132,
+ 6328261,
+ 6328276,
+ 4231158,
+ 6328439,
+ 8425591,
+ 31494281,
+ 16814218,
+ 4231336,
+ 4231501,
+ 4231913,
+ 4231989,
+ 4232075,
+ 2275312,
+ 4232653,
+ 4232746,
+ 6330008,
+ 4232871,
+ 8427519,
+ 10524671,
+ 2275173,
+ 4233505,
+ 8427863,
+ 4234152,
+ 4234158,
+ 4234169,
+ 4234248,
+ 4234276,
+ 4234299,
+ 2275341,
+ 4234470,
+ 4234688,
+ 4234690,
+ 2275351,
+ 6330607,
+ 4339773,
+ 6322952,
+ 4220015,
+ 6323262,
+ 4225909,
+ 6321429,
+ 6326813,
+ 6316130,
+ 4223096,
+ 12604329,
+ 4226178,
+ 4232857,
+ 4228692,
+ 4227441,
+ 4232053,
+ 4215980,
+ 4223713,
+ 4221079,
+ 4234155,
+ 4215753,
+ 4220758,
+ 4224294,
+ 8418577,
+ 4225736,
+ 4219706,
+ 6328385,
+ 4233665,
+ 4220327,
+ 4231644,
+ 4233133,
+ 4227730,
+ 6323326,
+ 4223546,
+ 6326277,
+ 4228867,
+ 2136861,
+ 2136876,
+ 2117634,
+ 2118110,
+ 2118407,
+ 2120684,
+ 4218570,
+ 2123294,
+ 2123543,
+ 2125898,
+ 4215262,
+ 2119009,
+ 2124858,
+ 2128480,
+ 2253644,
+ 2131971,
+ 2135467,
+ 2135893,
+ 2268733,
+ 2270746,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ 6319778,
+ 8413682,
+ 6325778,
+ 4230015,
+ 2117173,
+ 2117212,
+ 2117219,
+ 2117224,
+ 2117236,
+ 2117237,
+ 2117271,
+ 2117295,
+ 2117339,
+ 2117346,
+ 2117352,
+ 2117359,
+ 2117374,
+ 2117378,
+ 2117384,
+ 2117394,
+ 2117399,
+ 2117427,
+ 2117429,
+ 2117440,
+ 2117442,
+ 2117451,
+ 2117452,
+ 2117458,
+ 2117475,
+ 2117486,
+ 2117489,
+ 2117497,
+ 2117505,
+ 2117513,
+ 2117516,
+ 2117518,
+ 2117520,
+ 2117523,
+ 2117529,
+ 2117535,
+ 2117561,
+ 2117563,
+ 2117564,
+ 2117565,
+ 2117568,
+ 2117569,
+ 2117574,
+ 2117576,
+ 2117580,
+ 2117596,
+ 2117602,
+ 2117616,
+ 2117628,
+ 2117639,
+ 2117642,
+ 2117655,
+ 2117661,
+ 2117680,
+ 2117682,
+ 2117683,
+ 2117685,
+ 2117701,
+ 2117706,
+ 2117713,
+ 2117714,
+ 2117721,
+ 2117728,
+ 2117735,
+ 2117741,
+ 2117745,
+ 2117761,
+ 2117763,
+ 2117764,
+ 2117766,
+ 2117770,
+ 2117776,
+ 2117787,
+ 2117791,
+ 2117792,
+ 2117793,
+ 2117807,
+ 2117808,
+ 2117817,
+ 2117821,
+ 2117824,
+ 2117843,
+ 2117852,
+ 2117853,
+ 2117855,
+ 2117858,
+ 2117860,
+ 2117878,
+ 2117882,
+ 4215026,
+ 2117913,
+ 2117916,
+ 2117917,
+ 2117923,
+ 2117927,
+ 2117928,
+ 2117932,
+ 2117933,
+ 2117935,
+ 2117937,
+ 2117940,
+ 2117945,
+ 2117954,
+ 2117967,
+ 2117971,
+ 2117976,
+ 2117990,
+ 2118014,
+ 2118030,
+ 2118079,
+ 2118082,
+ 2118098,
+ 2118101,
+ 2118117,
+ 2118130,
+ 2118135,
+ 2118168,
+ 2118178,
+ 2118213,
+ 2118232,
+ 2118239,
+ 2118272,
+ 2118277,
+ 2118293,
+ 2118294,
+ 2118295,
+ 2118298,
+ 2118309,
+ 2118311,
+ 2118320,
+ 2118326,
+ 2118327,
+ 2118328,
+ 2118333,
+ 2118340,
+ 2118342,
+ 2118351,
+ 2118356,
+ 2118364,
+ 2118373,
+ 2118376,
+ 2118378,
+ 2118380,
+ 2118388,
+ 2118390,
+ 2118412,
+ 2118419,
+ 2118424,
+ 2118427,
+ 2118430,
+ 2118437,
+ 2118439,
+ 2118440,
+ 2118441,
+ 2118443,
+ 2118444,
+ 2118448,
+ 2118460,
+ 2118489,
+ 2118491,
+ 4215653,
+ 2118531,
+ 2118535,
+ 2118536,
+ 2118542,
+ 2118561,
+ 2118581,
+ 2118584,
+ 2118589,
+ 2118607,
+ 2118610,
+ 2118611,
+ 2118622,
+ 4215776,
+ 2118631,
+ 2118658,
+ 2118682,
+ 2118689,
+ 2118703,
+ 2118724,
+ 2118727,
+ 2118735,
+ 2118750,
+ 2118756,
+ 2118759,
+ 2118761,
+ 2118765,
+ 2118766,
+ 2118785,
+ 2118787,
+ 2118789,
+ 2118793,
+ 2118801,
+ 2118815,
+ 2118858,
+ 2118880,
+ 2118902,
+ 2118910,
+ 2118924,
+ 2118925,
+ 2118962,
+ 2118971,
+ 2118973,
+ 2118985,
+ 2118989,
+ 2119000,
+ 2119002,
+ 2119003,
+ 2119039,
+ 2119059,
+ 2119063,
+ 2119075,
+ 2119105,
+ 2119115,
+ 2119127,
+ 2119128,
+ 2119134,
+ 2119167,
+ 4216325,
+ 2119178,
+ 2119193,
+ 2119219,
+ 2119228,
+ 2119233,
+ 2119235,
+ 2119236,
+ 2119238,
+ 2119265,
+ 2119266,
+ 2119267,
+ 2119285,
+ 2119300,
+ 2119307,
+ 2119335,
+ 2119339,
+ 2119358,
+ 2119371,
+ 2119376,
+ 2119388,
+ 2119397,
+ 2119398,
+ 2119399,
+ 2119425,
+ 2119426,
+ 2119441,
+ 2119456,
+ 2119458,
+ 2119460,
+ 2119461,
+ 2119466,
+ 2119487,
+ 2119506,
+ 2119522,
+ 2119527,
+ 2119534,
+ 2119537,
+ 2119545,
+ 2119550,
+ 2119553,
+ 2119572,
+ 2119577,
+ 2119583,
+ 2119585,
+ 2119573,
+ 2119591,
+ 2119593,
+ 2119613,
+ 2119645,
+ 2119657,
+ 2119678,
+ 2119683,
+ 2119688,
+ 2119649,
+ 2119692,
+ 2119707,
+ 2119711,
+ 2119725,
+ 2119743,
+ 2119760,
+ 2119765,
+ 2119784,
+ 2119800,
+ 2119815,
+ 2119816,
+ 2119820,
+ 2119830,
+ 2119840,
+ 2119841,
+ 2119842,
+ 2119846,
+ 2119876,
+ 2119874,
+ 2119880,
+ 2119894,
+ 2119901,
+ 2119905,
+ 4217094,
+ 2119954,
+ 2119955,
+ 2119965,
+ 2119969,
+ 2119976,
+ 2119984,
+ 2119987,
+ 2119989,
+ 2119990,
+ 2119999,
+ 2120003,
+ 2120018,
+ 2120030,
+ 2120043,
+ 2120047,
+ 2120050,
+ 2120059,
+ 2120076,
+ 2120078,
+ 2120085,
+ 2120103,
+ 2120109,
+ 2120112,
+ 2120119,
+ 2120129,
+ 2120132,
+ 2120175,
+ 2120178,
+ 2120180,
+ 2120183,
+ 2120192,
+ 2120206,
+ 2120210,
+ 2120222,
+ 2120228,
+ 2120232,
+ 2120234,
+ 2120240,
+ 2120260,
+ 2120261,
+ 2120264,
+ 2120268,
+ 2120272,
+ 2120286,
+ 2120315,
+ 2120336,
+ 2120339,
+ 2120342,
+ 2120345,
+ 2120379,
+ 2120390,
+ 2120392,
+ 2120399,
+ 2120445,
+ 2120449,
+ 2120523,
+ 2120542,
+ 2120558,
+ 2120582,
+ 2120590,
+ 2120592,
+ 2120593,
+ 2120596,
+ 2120616,
+ 2120617,
+ 2120621,
+ 2120623,
+ 2120625,
+ 2120626,
+ 2120634,
+ 2120636,
+ 2120641,
+ 2120653,
+ 2120655,
+ 2120665,
+ 2120666,
+ 2120687,
+ 2120692,
+ 2120716,
+ 2120727,
+ 2120742,
+ 2120750,
+ 2120754,
+ 2120757,
+ 2120794,
+ 2120820,
+ 2120821,
+ 2120827,
+ 2120829,
+ 2120839,
+ 2120850,
+ 2120861,
+ 2120882,
+ 2120884,
+ 2120919,
+ 2120942,
+ 2120945,
+ 2120946,
+ 2120978,
+ 2120995,
+ 2121023,
+ 2121032,
+ 2121045,
+ 2121041,
+ 2121055,
+ 2121056,
+ 2121058,
+ 2121060,
+ 2121081,
+ 2121082,
+ 2121087,
+ 2121098,
+ 2121107,
+ 2121109,
+ 2121115,
+ 2121119,
+ 2121131,
+ 2121155,
+ 2121166,
+ 2121177,
+ 2121223,
+ 2121229,
+ 2121248,
+ 2121291,
+ 2121296,
+ 2121297,
+ 2121308,
+ 2121328,
+ 2121358,
+ 2121378,
+ 2121380,
+ 2121393,
+ 2121420,
+ 2121422,
+ 2121436,
+ 2121438,
+ 2121445,
+ 2121451,
+ 2121478,
+ 2121497,
+ 2121508,
+ 2121515,
+ 2121516,
+ 2121518,
+ 2121520,
+ 2121535,
+ 2121540,
+ 2121563,
+ 2121568,
+ 2121583,
+ 2121588,
+ 2121589,
+ 2121592,
+ 2121594,
+ 2121613,
+ 2121622,
+ 2121629,
+ 2121643,
+ 2121648,
+ 2121649,
+ 2121672,
+ 2121680,
+ 2121681,
+ 2121704,
+ 2121708,
+ 2121714,
+ 2121718,
+ 2121722,
+ 2121738,
+ 2121747,
+ 2121759,
+ 2121773,
+ 2121792,
+ 2121800,
+ 2121809,
+ 2121814,
+ 2121815,
+ 2121841,
+ 2121854,
+ 2121858,
+ 2121862,
+ 2121864,
+ 2121870,
+ 2121873,
+ 2121875,
+ 2121880,
+ 4219038,
+ 2121890,
+ 2121893,
+ 2121911,
+ 2121922,
+ 2121929,
+ 2121930,
+ 2121934,
+ 2121935,
+ 2121954,
+ 2121957,
+ 2121980,
+ 2121986,
+ 2121991,
+ 2121996,
+ 2122007,
+ 2122018,
+ 2122033,
+ 2122037,
+ 2122041,
+ 2122053,
+ 2122057,
+ 2122092,
+ 2122098,
+ 2122104,
+ 2122112,
+ 2122113,
+ 2122115,
+ 2122116,
+ 2122123,
+ 2122140,
+ 2122144,
+ 2122154,
+ 2122176,
+ 2122177,
+ 2122190,
+ 2122191,
+ 2122206,
+ 2122209,
+ 2122215,
+ 2122217,
+ 2122220,
+ 2122221,
+ 2122223,
+ 2122241,
+ 2122243,
+ 2122268,
+ 2122272,
+ 2122279,
+ 2122283,
+ 2122306,
+ 2122308,
+ 2122320,
+ 2122324,
+ 2122332,
+ 2122365,
+ 2122381,
+ 2122382,
+ 2122383,
+ 2122419,
+ 2122422,
+ 2122423,
+ 2122426,
+ 2122430,
+ 2122431,
+ 2122446,
+ 2122474,
+ 2122482,
+ 2122500,
+ 2122507,
+ 2122515,
+ 2122537,
+ 2122541,
+ 2122570,
+ 2122578,
+ 2122580,
+ 2122584,
+ 2122587,
+ 2122598,
+ 2122605,
+ 2122616,
+ 2122645,
+ 2122650,
+ 2122660,
+ 2122662,
+ 2122669,
+ 2122689,
+ 2122693,
+ 2122696,
+ 2122702,
+ 2122707,
+ 2122739,
+ 2122762,
+ 2122800,
+ 2122827,
+ 2122831,
+ 2122835,
+ 2122844,
+ 2122849,
+ 2122851,
+ 2122885,
+ 2122895,
+ 2122907,
+ 2122913,
+ 2122915,
+ 2122918,
+ 2122920,
+ 2122941,
+ 2122953,
+ 2122961,
+ 2122985,
+ 2122986,
+ 2122997,
+ 2123009,
+ 2123016,
+ 2123017,
+ 2123018,
+ 2123027,
+ 2123046,
+ 2123057,
+ 2123066,
+ 2123068,
+ 2123069,
+ 2123075,
+ 2123088,
+ 2123090,
+ 2123103,
+ 2123133,
+ 2123160,
+ 2123168,
+ 2123171,
+ 2123174,
+ 2123182,
+ 2123187,
+ 2123222,
+ 2123224,
+ 4220383,
+ 2123252,
+ 2123253,
+ 2123262,
+ 2123263,
+ 2123277,
+ 2123281,
+ 2123282,
+ 2123286,
+ 2123293,
+ 2123299,
+ 2123302,
+ 2123305,
+ 2123321,
+ 2123319,
+ 2123328,
+ 2123334,
+ 2123338,
+ 2123352,
+ 2123360,
+ 2123381,
+ 2123391,
+ 2123385,
+ 2123388,
+ 2123418,
+ 2123419,
+ 2123420,
+ 2123423,
+ 4220597,
+ 2123458,
+ 2123459,
+ 2123468,
+ 2123470,
+ 2123476,
+ 2123487,
+ 2123499,
+ 2123502,
+ 2123527,
+ 2123548,
+ 2123552,
+ 2123554,
+ 2123582,
+ 2123589,
+ 2123628,
+ 2123652,
+ 2123662,
+ 2123670,
+ 2123673,
+ 2123708,
+ 2123709,
+ 2123714,
+ 2123717,
+ 2123721,
+ 2123740,
+ 2123745,
+ 2123750,
+ 2123762,
+ 2123766,
+ 2123796,
+ 2123801,
+ 2123815,
+ 2123823,
+ 2123839,
+ 2123850,
+ 2123864,
+ 2123887,
+ 2123888,
+ 2123889,
+ 2123897,
+ 2123899,
+ 2123912,
+ 2123937,
+ 2123945,
+ 2123950,
+ 2123985,
+ 2123987,
+ 2123996,
+ 2123997,
+ 2124010,
+ 2124022,
+ 2124029,
+ 2124038,
+ 2124041,
+ 2124048,
+ 2124054,
+ 2124081,
+ 2124101,
+ 2124110,
+ 2124134,
+ 2124144,
+ 2124145,
+ 2124155,
+ 2124173,
+ 2124193,
+ 2124216,
+ 2124229,
+ 2124232,
+ 4221438,
+ 2124288,
+ 2124291,
+ 2124320,
+ 2124324,
+ 2124343,
+ 4221525,
+ 2124394,
+ 2124417,
+ 2124422,
+ 2124423,
+ 2124443,
+ 2124464,
+ 2124465,
+ 2124468,
+ 2124478,
+ 2124479,
+ 2124492,
+ 2124501,
+ 2124502,
+ 2124528,
+ 2124540,
+ 2124546,
+ 2124550,
+ 2124551,
+ 2124553,
+ 2124584,
+ 2124587,
+ 2124598,
+ 2124621,
+ 2124626,
+ 2124637,
+ 2124651,
+ 2124654,
+ 2124656,
+ 2124677,
+ 2124695,
+ 2124703,
+ 2124704,
+ 2124706,
+ 2124707,
+ 2124712,
+ 2124716,
+ 2124728,
+ 2124729,
+ 2124739,
+ 2124740,
+ 2124771,
+ 2124818,
+ 2124825,
+ 2124831,
+ 2124838,
+ 2124839,
+ 2124840,
+ 2124846,
+ 2124859,
+ 2124875,
+ 2124879,
+ 2124907,
+ 2124920,
+ 2124935,
+ 2124959,
+ 2124976,
+ 2124978,
+ 2125005,
+ 2125007,
+ 2125009,
+ 2125031,
+ 2125042,
+ 2125044,
+ 2125063,
+ 2125071,
+ 2125075,
+ 2125082,
+ 2125096,
+ 2125151,
+ 2125159,
+ 2125202,
+ 2125207,
+ 2125239,
+ 2125245,
+ 2125280,
+ 2125282,
+ 2125285,
+ 2125295,
+ 2125300,
+ 2125312,
+ 2125316,
+ 2125371,
+ 2125394,
+ 2125405,
+ 2125410,
+ 2125416,
+ 2125453,
+ 2125465,
+ 2125472,
+ 2125485,
+ 2125486,
+ 2125491,
+ 2125499,
+ 2125504,
+ 2125512,
+ 2125517,
+ 2125519,
+ 2125549,
+ 2125550,
+ 2125572,
+ 2125576,
+ 2125581,
+ 2125590,
+ 2125595,
+ 2125627,
+ 2125613,
+ 2125647,
+ 2125651,
+ 2125661,
+ 2125676,
+ 2125699,
+ 2125715,
+ 2125734,
+ 2125744,
+ 2125765,
+ 2125800,
+ 2125821,
+ 2125847,
+ 2125871,
+ 2125876,
+ 2125879,
+ 2125892,
+ 2125896,
+ 2125909,
+ 2125972,
+ 2125974,
+ 2125979,
+ 2126004,
+ 2126074,
+ 2126085,
+ 2126091,
+ 2126125,
+ 2126136,
+ 2126145,
+ 2126155,
+ 4223314,
+ 2126167,
+ 2126170,
+ 2126220,
+ 2126234,
+ 2126256,
+ 2126271,
+ 2126272,
+ 2126284,
+ 2126298,
+ 2126328,
+ 2126344,
+ 2126345,
+ 2126355,
+ 2126362,
+ 2126372,
+ 2126383,
+ 2126405,
+ 2126414,
+ 2126430,
+ 2126443,
+ 2126449,
+ 2126459,
+ 2126460,
+ 2126473,
+ 2126483,
+ 2126504,
+ 2126549,
+ 2126550,
+ 2126552,
+ 2126559,
+ 2126590,
+ 2126605,
+ 2126611,
+ 2126642,
+ 2126645,
+ 2126678,
+ 2126685,
+ 2126686,
+ 2126687,
+ 2126688,
+ 2126697,
+ 2126713,
+ 2126720,
+ 2126734,
+ 2126736,
+ 2126739,
+ 2126743,
+ 2126762,
+ 2126765,
+ 2126790,
+ 2126796,
+ 2126803,
+ 2126813,
+ 2126822,
+ 2126839,
+ 2126843,
+ 2126847,
+ 2126848,
+ 2126865,
+ 2126893,
+ 2126951,
+ 2126952,
+ 2126958,
+ 2126991,
+ 2126993,
+ 2127002,
+ 2127022,
+ 2127025,
+ 2127026,
+ 2127052,
+ 2127056,
+ 2127059,
+ 4224216,
+ 2127067,
+ 2127080,
+ 2127082,
+ 4224239,
+ 2127100,
+ 2127110,
+ 2127122,
+ 2127143,
+ 2127145,
+ 2127158,
+ 2127161,
+ 2127171,
+ 2127175,
+ 2127191,
+ 2127199,
+ 2127201,
+ 2127227,
+ 2127228,
+ 2127237,
+ 2127253,
+ 2127260,
+ 2127290,
+ 2127378,
+ 2127395,
+ 2127401,
+ 2127417,
+ 2127418,
+ 2127424,
+ 2127428,
+ 2127449,
+ 2127493,
+ 2127500,
+ 2127501,
+ 2127519,
+ 2127522,
+ 2127523,
+ 2127553,
+ 2127563,
+ 4224724,
+ 2127584,
+ 2127606,
+ 2127622,
+ 2127634,
+ 2127636,
+ 2127637,
+ 2127644,
+ 2127662,
+ 2127677,
+ 2127682,
+ 2127698,
+ 2127702,
+ 2127703,
+ 2127728,
+ 2127731,
+ 2127732,
+ 4224909,
+ 4224930,
+ 2127790,
+ 2127793,
+ 2127797,
+ 2127811,
+ 2127826,
+ 2127829,
+ 2127864,
+ 2127886,
+ 2127889,
+ 2127901,
+ 2127907,
+ 2127940,
+ 2127944,
+ 2127948,
+ 2127954,
+ 2127966,
+ 2127968,
+ 2127969,
+ 2127971,
+ 2128015,
+ 2128040,
+ 2128044,
+ 2128050,
+ 2128061,
+ 2128063,
+ 2128071,
+ 2128082,
+ 2128086,
+ 2128091,
+ 2128095,
+ 2128106,
+ 2128115,
+ 2128118,
+ 2128127,
+ 2128134,
+ 2128154,
+ 2128158,
+ 2128160,
+ 2128169,
+ 2128173,
+ 2128181,
+ 2128196,
+ 2128203,
+ 2128207,
+ 2128209,
+ 2128233,
+ 2128251,
+ 2128254,
+ 2128268,
+ 2128273,
+ 2128275,
+ 2128284,
+ 2128296,
+ 2128303,
+ 2128335,
+ 2128349,
+ 2128352,
+ 2128354,
+ 2128357,
+ 2128369,
+ 2128376,
+ 2128380,
+ 2128391,
+ 2128417,
+ 2128423,
+ 2128427,
+ 2128431,
+ 2128436,
+ 2128437,
+ 2128456,
+ 2128469,
+ 2128485,
+ 2128510,
+ 2128523,
+ 2128529,
+ 2128542,
+ 2128585,
+ 2128603,
+ 2128617,
+ 2128620,
+ 2128625,
+ 2128635,
+ 2128671,
+ 2128675,
+ 2128681,
+ 2128688,
+ 2128692,
+ 2128703,
+ 2128704,
+ 2128746,
+ 2128772,
+ 2128777,
+ 2128782,
+ 2128790,
+ 2128805,
+ 2128818,
+ 2128822,
+ 2128826,
+ 2128827,
+ 2128829,
+ 2128834,
+ 2128840,
+ 2128859,
+ 2128884,
+ 2128885,
+ 2128889,
+ 2128890,
+ 2128898,
+ 2128900,
+ 2128902,
+ 2128908,
+ 2128921,
+ 2128923,
+ 2128933,
+ 2128940,
+ 2128948,
+ 2128953,
+ 2128954,
+ 2128966,
+ 2128981,
+ 2128986,
+ 2128995,
+ 4226153,
+ 2129020,
+ 2129030,
+ 2129072,
+ 2129083,
+ 2129103,
+ 2129108,
+ 2129129,
+ 2129167,
+ 2129169,
+ 2129174,
+ 2129190,
+ 2129194,
+ 2129197,
+ 2129233,
+ 2129239,
+ 2129253,
+ 2129255,
+ 2129272,
+ 2129275,
+ 2129281,
+ 2129302,
+ 2129347,
+ 2129348,
+ 2129349,
+ 2129350,
+ 2129357,
+ 2129358,
+ 2129408,
+ 2129378,
+ 2129386,
+ 2129389,
+ 2129402,
+ 2129436,
+ 2129453,
+ 2129459,
+ 2129471,
+ 2129486,
+ 2129488,
+ 2129496,
+ 2129503,
+ 2129509,
+ 2129557,
+ 2129565,
+ 2129566,
+ 2129727,
+ 2129756,
+ 2129766,
+ 4226944,
+ 2129805,
+ 2129807,
+ 2129830,
+ 2129834,
+ 2129844,
+ 2129852,
+ 2129856,
+ 2129864,
+ 2129896,
+ 2129935,
+ 2129939,
+ 2129949,
+ 2129951,
+ 2129952,
+ 2129966,
+ 2129972,
+ 2129982,
+ 2129984,
+ 2129988,
+ 2130020,
+ 2130029,
+ 2130049,
+ 2130105,
+ 2130120,
+ 2130125,
+ 2130130,
+ 2130158,
+ 2130162,
+ 2130166,
+ 2130169,
+ 2130187,
+ 2130204,
+ 2130208,
+ 2130236,
+ 2130245,
+ 2130247,
+ 2130258,
+ 2130273,
+ 2130295,
+ 2130310,
+ 2130318,
+ 2130326,
+ 2130338,
+ 2130350,
+ 2130373,
+ 2130382,
+ 2130411,
+ 2130416,
+ 2130417,
+ 2130418,
+ 2130421,
+ 2130424,
+ 4227584,
+ 2130447,
+ 2130461,
+ 2130472,
+ 2130499,
+ 2130510,
+ 2130513,
+ 2130518,
+ 2130535,
+ 2130555,
+ 2130560,
+ 2130561,
+ 2130567,
+ 2130580,
+ 2130582,
+ 2130584,
+ 2130586,
+ 2130587,
+ 2130592,
+ 2130650,
+ 2130656,
+ 2130660,
+ 2130669,
+ 2130698,
+ 2130699,
+ 2130718,
+ 2130719,
+ 2130721,
+ 2130732,
+ 2130734,
+ 2130739,
+ 2130743,
+ 2130749,
+ 2130754,
+ 2130765,
+ 2130766,
+ 2130800,
+ 2130816,
+ 2130818,
+ 2130820,
+ 2130841,
+ 2130844,
+ 2130854,
+ 2130860,
+ 2130878,
+ 2130771,
+ 2130920,
+ 2130969,
+ 2130861,
+ 2130991,
+ 2131013,
+ 2131015,
+ 2131021,
+ 2131030,
+ 4228188,
+ 2131040,
+ 2131044,
+ 2131047,
+ 2131050,
+ 2131060,
+ 2131069,
+ 2131090,
+ 2131093,
+ 2131113,
+ 2131114,
+ 2131143,
+ 2131144,
+ 2131148,
+ 2131186,
+ 2131191,
+ 2131202,
+ 2131203,
+ 2131207,
+ 2131214,
+ 2131216,
+ 2131228,
+ 2131234,
+ 2131239,
+ 2131242,
+ 2131251,
+ 2131254,
+ 2131263,
+ 2131280,
+ 2131282,
+ 2131292,
+ 4228445,
+ 2131295,
+ 2131296,
+ 2131321,
+ 2131337,
+ 2131339,
+ 2131360,
+ 2131365,
+ 2131367,
+ 2131380,
+ 2131382,
+ 2131384,
+ 2131389,
+ 2131390,
+ 2131391,
+ 2131394,
+ 2131418,
+ 2131424,
+ 2131432,
+ 2131443,
+ 2131452,
+ 2131469,
+ 2131470,
+ 2131481,
+ 2131483,
+ 2131510,
+ 2131514,
+ 2131517,
+ 2131544,
+ 2131545,
+ 2131549,
+ 2131552,
+ 2131553,
+ 2131556,
+ 2131561,
+ 2131574,
+ 2131606,
+ 2131610,
+ 2131617,
+ 2131622,
+ 2131629,
+ 2131636,
+ 2131637,
+ 2131639,
+ 2131641,
+ 2131647,
+ 2131653,
+ 2131666,
+ 2131674,
+ 2131676,
+ 2131680,
+ 2131685,
+ 2131687,
+ 2131592,
+ 2131716,
+ 2131727,
+ 2131759,
+ 2131762,
+ 2131772,
+ 2131773,
+ 2131781,
+ 2131789,
+ 2131809,
+ 2131823,
+ 2131843,
+ 2131844,
+ 2131845,
+ 2131846,
+ 2131856,
+ 2131861,
+ 4229027,
+ 2131889,
+ 2131912,
+ 2131914,
+ 2131925,
+ 2131929,
+ 2131932,
+ 2131938,
+ 2131940,
+ 2131953,
+ 2131955,
+ 2131960,
+ 2131962,
+ 2131967,
+ 2131977,
+ 2131993,
+ 2131986,
+ 2131994,
+ 2131998,
+ 2132016,
+ 2132021,
+ 2132033,
+ 2132035,
+ 2132040,
+ 2132041,
+ 4229195,
+ 2132049,
+ 2132060,
+ 2132064,
+ 2132081,
+ 2132089,
+ 2132091,
+ 2132096,
+ 2132127,
+ 2132136,
+ 2132154,
+ 2132171,
+ 2132172,
+ 2132190,
+ 2132199,
+ 2132215,
+ 2132237,
+ 2132245,
+ 2132246,
+ 2132256,
+ 2132264,
+ 2132273,
+ 2132282,
+ 2132294,
+ 2132303,
+ 2132306,
+ 2132311,
+ 2132315,
+ 2132321,
+ 2132323,
+ 2132334,
+ 2132339,
+ 2132341,
+ 2132346,
+ 2132349,
+ 2132365,
+ 2132373,
+ 2132379,
+ 2132380,
+ 2132384,
+ 2132404,
+ 2132406,
+ 2132439,
+ 2132457,
+ 2132461,
+ 2132473,
+ 2132484,
+ 2132485,
+ 2132510,
+ 2132512,
+ 2132516,
+ 2132518,
+ 2132523,
+ 2132524,
+ 2132527,
+ 2132541,
+ 2132544,
+ 2132547,
+ 2132563,
+ 2132566,
+ 2132572,
+ 2132581,
+ 2132598,
+ 2132599,
+ 2132602,
+ 2132603,
+ 2132608,
+ 2132611,
+ 2132619,
+ 2132623,
+ 2132626,
+ 2132631,
+ 2132633,
+ 2132639,
+ 2132649,
+ 2132655,
+ 2132659,
+ 2132667,
+ 2132675,
+ 2132678,
+ 2132680,
+ 2132682,
+ 2132691,
+ 2132692,
+ 2132693,
+ 2132720,
+ 2132735,
+ 2132747,
+ 2132766,
+ 2132784,
+ 2132796,
+ 2132802,
+ 2132808,
+ 2132813,
+ 2132835,
+ 2132857,
+ 2132868,
+ 2132877,
+ 2132879,
+ 2133048,
+ 2133054,
+ 2133073,
+ 2133080,
+ 2133083,
+ 2133085,
+ 2133081,
+ 2133091,
+ 2133092,
+ 2133094,
+ 2133109,
+ 2133110,
+ 2133118,
+ 2133126,
+ 2133127,
+ 2133131,
+ 2133136,
+ 4230299,
+ 2133148,
+ 2133177,
+ 2133190,
+ 2133195,
+ 2133199,
+ 2133213,
+ 2133224,
+ 2133231,
+ 2133234,
+ 2133247,
+ 2133349,
+ 2133375,
+ 2133378,
+ 2133384,
+ 2133392,
+ 2133406,
+ 2133408,
+ 2133420,
+ 2133429,
+ 2133431,
+ 2133433,
+ 2133435,
+ 2133440,
+ 2133445,
+ 2133447,
+ 2133450,
+ 2133460,
+ 2133477,
+ 2133488,
+ 2133436,
+ 2133508,
+ 2133509,
+ 2133521,
+ 2133555,
+ 2133559,
+ 2133560,
+ 2133582,
+ 2133595,
+ 2133597,
+ 2133598,
+ 2133625,
+ 2133634,
+ 2133635,
+ 2133659,
+ 2133661,
+ 2133666,
+ 2133690,
+ 2133697,
+ 2133699,
+ 2133700,
+ 2133703,
+ 2133724,
+ 2133742,
+ 2133745,
+ 2133751,
+ 2133741,
+ 2133762,
+ 2133775,
+ 2133776,
+ 2133782,
+ 2133792,
+ 2133793,
+ 2133795,
+ 2133800,
+ 2133806,
+ 2133812,
+ 2133815,
+ 2133825,
+ 2133839,
+ 2133842,
+ 2133843,
+ 2133853,
+ 2133854,
+ 2133861,
+ 2133917,
+ 2133944,
+ 2133950,
+ 2133952,
+ 2133963,
+ 2133968,
+ 2133970,
+ 2133987,
+ 2134014,
+ 2134040,
+ 2134056,
+ 2134057,
+ 2134058,
+ 2134067,
+ 2134068,
+ 2134079,
+ 2134114,
+ 2134118,
+ 2134124,
+ 2134158,
+ 2134181,
+ 2134220,
+ 2134229,
+ 2134232,
+ 2134233,
+ 2134245,
+ 2134226,
+ 2134280,
+ 2134285,
+ 2134288,
+ 2134298,
+ 2134304,
+ 2134313,
+ 2134318,
+ 2134326,
+ 2134332,
+ 2134339,
+ 2134351,
+ 2134355,
+ 2134381,
+ 2134395,
+ 2134401,
+ 2134406,
+ 2134419,
+ 2134420,
+ 2134424,
+ 2134433,
+ 2134438,
+ 2134463,
+ 2134483,
+ 2134484,
+ 2134489,
+ 2134505,
+ 2134506,
+ 2134511,
+ 2134521,
+ 2134525,
+ 2134532,
+ 2134533,
+ 2134540,
+ 2134546,
+ 2134547,
+ 2134552,
+ 2134556,
+ 2134557,
+ 2134564,
+ 2134565,
+ 2134566,
+ 2134574,
+ 2134575,
+ 2134576,
+ 2134581,
+ 2134582,
+ 2134590,
+ 2134598,
+ 2134605,
+ 2134616,
+ 2134620,
+ 2134621,
+ 2134633,
+ 2134638,
+ 2134639,
+ 2134640,
+ 2134645,
+ 2134649,
+ 2134651,
+ 2134666,
+ 2134674,
+ 2134688,
+ 2134692,
+ 2134693,
+ 2134696,
+ 2134710,
+ 2134712,
+ 2134714,
+ 2134717,
+ 2134727,
+ 2134733,
+ 2134744,
+ 2134748,
+ 2134749,
+ 2134753,
+ 2134755,
+ 2134760,
+ 2134764,
+ 2134766,
+ 2134768,
+ 2134784,
+ 2134792,
+ 2134812,
+ 2134820,
+ 2134826,
+ 2134836,
+ 2134839,
+ 2134864,
+ 2134869,
+ 2134878,
+ 2134887,
+ 2134889,
+ 2134895,
+ 2134900,
+ 2134902,
+ 2134906,
+ 2134909,
+ 2134912,
+ 2134913,
+ 2134925,
+ 2134930,
+ 2134933,
+ 2134936,
+ 4232097,
+ 2134950,
+ 2134952,
+ 2134955,
+ 2134964,
+ 2134965,
+ 2134966,
+ 2134980,
+ 2134981,
+ 2134985,
+ 2134987,
+ 2134989,
+ 2134995,
+ 2135001,
+ 2135031,
+ 2135041,
+ 2135048,
+ 2135061,
+ 2135071,
+ 2135087,
+ 2135101,
+ 2135107,
+ 2135129,
+ 2135132,
+ 2135135,
+ 2135137,
+ 2135144,
+ 2135150,
+ 2135172,
+ 2135171,
+ 2135422,
+ 2135428,
+ 2135453,
+ 2135454,
+ 2135482,
+ 2135513,
+ 2135517,
+ 2135519,
+ 2135582,
+ 2135586,
+ 2135589,
+ 2135590,
+ 2135607,
+ 2135609,
+ 2135610,
+ 2135634,
+ 2135638,
+ 2135639,
+ 2135662,
+ 2135676,
+ 2135678,
+ 2135697,
+ 2135711,
+ 2135718,
+ 2135754,
+ 4232922,
+ 2135775,
+ 2135802,
+ 2135813,
+ 2135834,
+ 2135837,
+ 4232993,
+ 2135882,
+ 2135896,
+ 2135927,
+ 2135928,
+ 2135931,
+ 2135936,
+ 2135945,
+ 2135959,
+ 2135992,
+ 2135996,
+ 2135999,
+ 2136004,
+ 2136005,
+ 2136007,
+ 2136010,
+ 2136014,
+ 2136016,
+ 2136023,
+ 2136029,
+ 2136036,
+ 2136055,
+ 2136056,
+ 2136058,
+ 2136089,
+ 2136092,
+ 2136096,
+ 2136111,
+ 2136117,
+ 2136132,
+ 2136138,
+ 2136145,
+ 2136170,
+ 2136238,
+ 2136268,
+ 2136294,
+ 2136310,
+ 2136327,
+ 2136351,
+ 2136354,
+ 2136358,
+ 2136363,
+ 2136372,
+ 2136377,
+ 2136391,
+ 2136409,
+ 2136411,
+ 2136475,
+ 2136477,
+ 2136479,
+ 2136496,
+ 2136498,
+ 2136501,
+ 2136531,
+ 2136538,
+ 2136540,
+ 2136551,
+ 2136554,
+ 2136555,
+ 2136556,
+ 2136564,
+ 2136565,
+ 2136573,
+ 2136574,
+ 2136580,
+ 2136587,
+ 2136606,
+ 2136610,
+ 2136627,
+ 2136629,
+ 2136647,
+ 4233802,
+ 2136651,
+ 2136660,
+ 2136669,
+ 2136746,
+ 2136748,
+ 2136750,
+ 2136754,
+ 2136756,
+ 2136763,
+ 2136767,
+ 2136776,
+ 2136791,
+ 2136795,
+ 2136804,
+ 2136807,
+ 2136812,
+ 2136818,
+ 2136819,
+ 2136821,
+ 2136826,
+ 2136829,
+ 2136831,
+ 2136832,
+ 2136836,
+ 2136837,
+ 2136859,
+ 2136870,
+ 4234037,
+ 2136887,
+ 2136889,
+ 2136890,
+ 2136908,
+ 2136918,
+ 2136919,
+ 2136923,
+ 2136929,
+ 2136938,
+ 2136941,
+ 2136942,
+ 2136952,
+ 2136959,
+ 2136965,
+ 2136967,
+ 2136969,
+ 2136971,
+ 2136973,
+ 2136980,
+ 2136986,
+ 2137001,
+ 2137015,
+ 2137020,
+ 2137040,
+ 2137081,
+ 2137103,
+ 2137105,
+ 2137118,
+ 2137126,
+ 2137128,
+ 2137149,
+ 2137155,
+ 2137166,
+ 2137182,
+ 2137211,
+ 2137335,
+ 2137337,
+ 2137372,
+ 2137391,
+ 2137395,
+ 2137396,
+ 2137402,
+ 2137404,
+ 2137413,
+ 2137427,
+ 2137428,
+ 2137445,
+ 2137475,
+ 2137478,
+ 2137486,
+ 2137490,
+ 2137491,
+ 2137493,
+ 2137495,
+ 2137496,
+ 2137514,
+ 2137518,
+ 4234687,
+ 2137546,
+ 2137556,
+ 2137557,
+ 2137566,
+ 2137582,
+ 2137584,
+ 2137598,
+ 2137614,
+ 2137616,
+ 2137617,
+ 2137618,
+ 2137622,
+ 2137735,
+ 2137742,
+ 2137743,
+ 2137750,
+ 2137752,
+ 2137774,
+ 2137779,
+ 2137798,
+ 2137800,
+ 2137803,
+ 2137813,
+ 2137836,
+ 2137837,
+ 2137841,
+ 2137845,
+ 2137848,
+ 2137873,
+ 2137878,
+ 2137882,
+ 2137887,
+ 2137905,
+ 2137906,
+ 2137916,
+ 2137919,
+ 2137923,
+ 2137924,
+ 2137927,
+ 2137942,
+ 2137950,
+ 2137966,
+ 2137971,
+ 2137978,
+ 2137981,
+ 2137999,
+ 2138001,
+ 2138002,
+ 2138006,
+ 2138017,
+ 2138019,
+}}
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua
index 93e92ab5dec..531a5c75433 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua
@@ -207,6 +207,7 @@ local function check_box(box_ptr, box_end)
if getfield(p, 'shift')==0 then
last_char = nil
if check_box(getlist(p), nil) then found_visible_node = true end
+ find_first_char = false
else
find_first_char = false; last_char = nil
end
@@ -832,7 +833,9 @@ do
end
get_kanjiskip = function()
- if Np.auto_kspc or Nq.auto_kspc then
+ if Np.auto_kspc==0 or Nq.auto_kspc==0 then
+ return nil
+ elseif Np.auto_kspc or Nq.auto_kspc then
local pm, qm = Np.met, Nq.met
if (pm.char_type==qm.char_type) and (qm.var==pm.var) then
return get_kanjiskip_low(true, qm, 1, 1, 1)
@@ -841,7 +844,7 @@ do
local ga = get_kanjiskip_low(true, pm, 1, 1, 1)
return calc_ja_ja_aux(gb, ga, 0, 1)
end
- else
+ else
local g = node_new(id_glue)
set_attr(g, attr_icflag, kanjiskip_jfm_flag and KANJI_SKIP_JFM or KANJI_SKIP)
return g
@@ -912,7 +915,9 @@ do
end
get_xkanjiskip = function(Nn)
- if (Nq.xspc>=2) and (Np.xspc%2==1) and (Nq.auto_xspc or Np.auto_xspc) then
+ if Np.auto_xspc==0 or Nq.auto_xspc==0 then
+ return nil
+ elseif (Nq.xspc>=2) and (Np.xspc%2==1) and (Nq.auto_xspc or Np.auto_xspc) then
return get_xkanjiskip_low(true, Nn.met, 1, 1, 1)
else
local g = node_new(id_glue)
@@ -924,18 +929,44 @@ end
-------------------- 隣接した「塊」間の処理
+local function combine_spc(name)
+ return (Np[name] or Nq[name]) and ((Np[name]~=0) and (Nq[name]~=0))
+end
+
+-- NA, NB: alchar or math
+local function get_NA_skip()
+ local pm = Np.met
+ local g, _, kn, kp, kh = new_jfm_glue(
+ pm.char_type,
+ fast_find_char_class(
+ (Nq.id == id_math and -1 or (Nq.xspc>=2 and 'alchar' or 'nox_alchar')), pm),
+ Np.class)
+ local k = ((Nq.xspc>=2) and (Np.xspc%2==1) and combine_spc('auto_xspc'))
+ and get_xkanjiskip_low(false, pm, kn, kp, kh)
+ return g, k
+end
+local function get_NB_skip()
+ local qm = Nq.met
+ local g, _, kn, kp, kh = new_jfm_glue(
+ qm.char_type, Nq.class,
+ fast_find_char_class(
+ (Np.id == id_math and -1 or (Np.xspc%2==1 and 'alchar' or 'nox_alchar')), qm)
+ )
+ local k = ((Nq.xspc>=2) and (Np.xspc%2==1) and combine_spc('auto_xspc'))
+ and get_xkanjiskip_low(false, qm, kn, kp, kh)
+ return g, k
+end
+
local function get_OA_skip(is_kanji)
local pm = Np.met
local g, _, kn, kp, kh = new_jfm_glue(
pm.char_type,
- fast_find_char_class((Nq.id == id_math and -1 or 'jcharbdd'), pm),
+ fast_find_char_class(
+ (((Nq.id==id_glue)or(Nq.id==id_kern)) and 'glue' or 'jcharbdd'), pm),
Np.class)
local k
if is_kanji==0 then
- k = (Np.auto_kspc or Nq.auto_kspc) and get_kanjiskip_low(false, pm, kn, kp, kh)
- elseif is_kanji==1 then
- k = ((Nq.xspc>=2) and (Np.xspc%2==1) and (Nq.auto_xspc or Np.auto_xspc))
- and get_xkanjiskip_low(false, pm, kn, kp, kh)
+ k = combine_spc('auto_kspc') and get_kanjiskip_low(false, pm, kn, kp, kh)
end
return g, k
end
@@ -943,13 +974,11 @@ local function get_OB_skip(is_kanji)
local qm = Nq.met
local g, _, kn, kp, kh = new_jfm_glue(
qm.char_type, Nq.class,
- fast_find_char_class((Np.id == id_math and -1 or'jcharbdd'), qm))
+ fast_find_char_class(
+ (((Np.id==id_glue)or(Np.id==id_kern)) and 'glue' or 'jcharbdd'), qm))
local k
if is_kanji==0 then
- k = (Np.auto_kspc or Nq.auto_kspc) and get_kanjiskip_low(false, qm, kn, kp, kh)
- elseif is_kanji==1 then
- k = ((Nq.xspc>=2) and (Np.xspc%2==1) and (Nq.auto_xspc or Np.auto_xspc))
- and get_xkanjiskip_low(false, qm, kn, kp, kh)
+ k = combine_spc('auto_kspc') and get_kanjiskip_low(false, qm, kn, kp, kh)
end
return g, k
end
@@ -970,7 +999,7 @@ local function handle_np_jachar(mode)
handle_penalty_normal(0, Np.pre, g); real_insert(g); real_insert(k)
elseif Nq.pre then
local g, k
- if non_ihb_flag then g, k = get_OA_skip(1) end -- O_A->X
+ if non_ihb_flag then g, k = get_NA_skip() end -- N_A->X
if not g then g = get_xkanjiskip(Np) end
handle_penalty_normal((qid==id_hlist and 0 or Nq.post), Np.pre, g);
real_insert(g); real_insert(k)
@@ -991,7 +1020,7 @@ end
-- jachar .. (anything)
local function handle_nq_jachar()
if Np.pre then
- local g = non_ihb_flag and get_OB_skip(1) or get_xkanjiskip(Nq) -- O_B->X
+ local g = non_ihb_flag and get_NB_skip() or get_xkanjiskip(Nq) -- N_B->X
handle_penalty_normal(Nq.post, (Np.id==id_hlist and 0 or Np.pre), g); real_insert(g)
else
local g =non_ihb_flag and (get_OB_skip()) -- O_B
@@ -1180,6 +1209,8 @@ end
-- main interface
function main(ahead, mode, dir)
if not ahead then return ahead end
+ --luatexja.ext_show_node_list(to_node(ahead ), '>B ', print)
+ --print()
head = ahead;
local lp, last, par_indented, TEMP = init_var(mode,dir)
lp = calc_np(last, lp)
@@ -1203,6 +1234,8 @@ function main(ahead, mode, dir)
end
handle_list_tail(mode, last)
end
+ --luatexja.ext_show_node_list(to_node(ahead ), '>A ', print)
+ --print()
return cleanup(mode, TEMP)
end
end
@@ -1251,10 +1284,10 @@ do
Np.first = lp; Np.nuc = lp; Np.last = lp
if Nq then
if Nq.met then
- Np.class = fast_find_char_class('parbdd', Nq.met)
+ Np.class = fast_find_char_class('boxbdd', Nq.met)
end
Np.met = Nq.met; Np.pre = 0; Np.post = 0; Np.xspc = 0
- Np.auto_xspc = false
+ Np.auto_xspc, Np.auto_kspc = 0, 0
end
return Np
else
@@ -1271,7 +1304,7 @@ do
Nq.class = fast_find_char_class('parbdd', Np.met)
end
Nq.met = Np.met; Nq.pre = 0; Nq.post = 0; Nq.xspc = 0
- Nq.auto_xspc = false
+ Nq.auto_xspc, Nq.auto_kspc = 0, 0
end
head = node_remove(head, y)
node_free(y)
@@ -1283,7 +1316,7 @@ do
Nq.class = fast_find_char_class('boxbdd', Np.met)
end
Nq.met = Np.met; Nq.pre = 0; Nq.post = 0; Nq.xspc = 0
- Nq.auto_xspc = false
+ Nq.auto_xspc, Nq.auto_kspc = 0, 0
end
head = node_remove(head, y)
node_free(y)
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua
index 77855f5374a..c7f8593e646 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua
@@ -155,13 +155,22 @@ function define_jfm(t)
if type(x)=='number' then
v.kern[j] = {x, 0.5}
elseif type(x)=='table' then
- v.kern[j] = { x[1], ratio=x.ratio or (x[2] and 0.5*(1+x[2]) or 0.5) }
+ v.kern[j] = { x[1], (x.ratio or (x[2] and 0.5*(1+x[2]) or 0.5)) }
end
end
t.char_type[i] = v
t[i] = nil
end
end
+ if t.version<3 then
+ -- In version 3, 'jcharbdd' is divided into
+ -- 'alchar': ALchar (or math boundary)
+ -- 'nox_alchar': ALchar (or math boundary), where xkanjiskip won't inserted
+ -- 'glue': glue/kern, 'jcharbdd': other cases (和文B, rule, ...)
+ t.chars.alchar = t.chars.jcharbdd
+ t.chars.nox_alchar = t.chars.jcharbdd
+ t.chars.glue = t.chars.jcharbdd
+ end
t = luatexbase.call_callback("luatexja.load_jfm", t, jfm_file_name)
t.size_cache = {}
defjfm_res = t
@@ -804,7 +813,13 @@ do
return dest
end
prepare_fl_data = function (dest, id)
- local fl = fontloader.open(id.filename)
+ local t = fontloader.info(id.filename)
+ local fl
+ if t.filename then
+ fl = fontloader.open(id.filename)
+ else
+ fl = fontloader.open(id.filename, id.fullname)
+ end
local ind_to_uni, unicodes = {}, {}
for i,v in pairs(id.characters) do
ind_to_uni[v.index] = i
@@ -856,16 +871,16 @@ end
--
do
- local cache_ver = 11
+ local cache_ver = 12
local checksum = file.checksum
local function prepare_extra_data_base(id)
if (not id) or (not id.filename) then return end
- local bname = file.nameonly(id.filename)
+ local bname = id.psname or file.nameonly(id.filename)
if not font_extra_basename[bname] then
-- if the cache is present, read it
local newsum = checksum(id.filename) -- MD5 checksum of the fontfile
- local v = "extra_" .. string.lower(file.nameonly(id.filename))
+ local v = "extra_" .. string.lower(bname)
local dat = ltjb.load_cache(
v,
function (t) return (t.version~=cache_ver) or (t.chksum~=newsum) end
@@ -888,8 +903,8 @@ do
end
end
local function prepare_extra_data_font(id, res)
- if type(res)=='table' and res.shared and res.filename then
- font_extra_info[id] = font_extra_basename[file.nameonly(res.filename)]
+ if type(res)=='table' and res.shared and (res.psname or res.filename) then
+ font_extra_info[id] = font_extra_basename[res.psname or file.nameonly(res.filename)]
end
end
luatexbase.add_to_callback(
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty b/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty
index 16b5c2b38dc..0176d446a70 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty
@@ -12,9 +12,10 @@
\def\luatexjalatexLoaded{\endinput}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ltj-latex}[2017/05/05 LaTeX support of LuaTeX-ja]
+\ProvidesPackage{ltj-latex}[2017/06/18 LaTeX support of LuaTeX-ja]
% LaTeX2e 2017/05/01 で行われる対策
+% 本 sty からは 2018/05/01 削除予定
\ifx\document@default@language \@undefined
\let\document@default@language\m@ne
\fi
@@ -78,6 +79,8 @@
\ltj@asc@temp\let\ltj@asc@temp=\relax
}{}}% ascmac
\ltj@pkgpatch{stfloats}
+\ltj@pkgpatch{preview}
+\ltj@pkgpatch{array}
\RequirePackage{lltjp-geometry}
\RequirePackage{filehook}
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-otf.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-otf.lua
index 6a1447aebf6..fdb308348f5 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-otf.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-otf.lua
@@ -55,16 +55,33 @@ local ltjd_get_dir_count = ltjd.get_dir_count
local dir_tate = luatexja.dir_table.dir_tate
luatexja.userid_table.OTF = luatexbase.newuserwhatsitid('char_by_cid', 'luatexja')
-luatexja.userid_table.VSR = luatexbase.newuserwhatsitid('replace_vs', 'luatexja')
-local OTF, VSR = luatexja.userid_table.OTF, luatexja.userid_table.VSR
+local OTF = luatexja.userid_table.OTF
+local tex_get_attr = tex.getattribute
+
+local cache_var = 2
+local cache_outdate_fn = function (t) return t.version~=cache_ver end
+local ivd_aj1 = ltjb.load_cache('ltj-ivd_aj1',cache_outdate_fn)
+if not ivd_aj1 then -- make cache
+ ivd_aj1 = require('ltj-ivd_aj1.lua')
+ ltjb.save_cache_luc('ltj-ivd_aj1', ivd_aj1)
+end
+
local function get_ucs_from_rmlgbm(c)
- local v = ltjr_cidfont_data["Adobe-Japan1"].resources.unicodes["Japan1." .. tostring(c)]
- if not v then -- AJ1 範囲外
- return 0
+ local v = (ivd_aj1 and ivd_aj1.table_ivd_aj1[c]
+ or ltjr_cidfont_data["Adobe-Japan1"].resources.unicodes["Japan1." .. tostring(c)])
+ or 0
+ if v>=0x200000 then -- table
+ local curjfnt_num = tex_get_attr((ltjd_get_dir_count()==dir_tate)
+ and attr_curtfnt or attr_curjfnt)
+ local curjfnt = identifiers[curjfnt_num].resources
+ local base, ivs = v % 0x200000, 0xE00FF + math.floor(v/0x200000)
+ curjfnt = curjfnt and curjfnt.variants
+ curjfnt = curjfnt and curjfnt[ivs]
+ return curjfnt and curjfnt[base] or base
elseif v<0xF0000 then -- 素直に Unicode にマップ可能
return v
- else
+ else -- privete use area
local w = ltjr_cidfont_data["Adobe-Japan1"].characters[v]. tounicode
-- must be non-nil!
local i = string.len(w)
@@ -93,7 +110,6 @@ end
local cid
do
- local tex_get_attr = tex.getattribute
cid = function (key)
if key==0 then return append_jglyph(char) end
local curjfnt_num = tex_get_attr((ltjd_get_dir_count()==dir_tate)
@@ -137,17 +153,18 @@ local function extract(head)
if getid(p)==id_whatsit then
if getsubtype(p)==sid_user then
local puid = getfield(p, 'user_id')
- if puid==OTF or puid==VSR then
+ if puid==OTF then
+ --if puid==OTF or puid==VSR then
local g = node_new(id_glyph)
setfield(g, 'subtype', 0)
setfield(g, 'char', getfield(p, 'value'))
local v = has_attr(p, attr_curfnt); setfield(g, 'font',v)
- if puid==OTF then
+ --if puid==OTF then
setfield(g, 'lang', lang_ja)
set_attr(g, attr_kblshift, has_attr(p, attr_kblshift))
- else
- set_attr(g, attr_ablshift, has_attr(p, attr_ablshift))
- end
+ --else
+ -- set_attr(g, attr_ablshift, has_attr(p, attr_ablshift))
+ --end
head = node_insert_after(head, p, g)
head = node_remove(head, p)
node_free(p); p = g
@@ -206,86 +223,12 @@ end
luatexbase.add_to_callback("luatexja.find_char_class",
cid_set_char_class, "ltj.otf.find_char_class", 1)
--------------------- IVS
-local enable_ivs, disable_ivs
-do
- local is_ivs_enabled = false
--- 組版時
- local function ivs_jglyph(char, bp, pf, uid)
- local p = node_new(id_whatsit,sid_user)
- setfield(p, 'user_id', uid)
- setfield(p, 'type', 100)
- setfield(p, 'value', char)
- return p
- end
-
- local function do_ivs_repr(h)
- local head = to_direct(h)
- local p, r = head
- local is_dir_tate = (ltjs.list_dir == dir_tate)
- local attr_ablshift = is_dir_tate and attr_tablshift or attr_yablshift
- local attr_kblshift = is_dir_tate and attr_tkblshift or attr_ykblshift
- local attr_curfnt = is_dir_tate and attr_curtfnt or attr_curjfnt
- while p do
- local pid = getid(p)
- if pid==id_glyph then
- local q = node_next(p) -- the next node of p
- if q and getid(q)==id_glyph then
- local qc = getchar(q)
- if (qc>=0xFE00 and qc<=0xFE0F) or (qc>=0xE0100 and qc<0xE01F0) then
- -- q is a variation selector
- if qc>=0xE0100 then qc = qc - 0xE0100 end
- local pf = getfont(p)
- local pt = ltjf_font_extra_info[pf]
- pt = pt and pt[getchar(p)]; pt = pt and pt[qc]
- head, r = node_remove(head,q)
- node_free(q)
- if pt then
- local is_jachar = (getfield(p, 'lang')==lang_ja)
- local np = ivs_jglyph(pt, p, pf,
- is_jachar and OTF or VSR)
- if is_jachar then
- set_attr(np, attr_curfnt, pf)
- set_attr(np, attr_kblshift, has_attr(p, attr_kblshift))
- end
- head = node_insert_after(head, p, np)
- head = node_remove(head,p)
- node_free(p)
- end
- p = r
- else
- p = q
- end
- else
- p = node_next(p)
- end
- else
- p = node_next(p)
- end
- end
- return to_node(head)
- end
-
- enable_ivs = function ()
- if is_ivs_enabled then
- ltjb.package_warning('luatexja-otf',
- 'luatexja.otf.enable_ivs() was already called, so this call is ignored', '')
- else
- ltjb.add_to_callback('hpack_filter', do_ivs_repr, 'ltj.do_ivs',
- luatexbase.priority_in_callback('hpack_filter', 'luaotfload.node_processor'))
- ltjb.add_to_callback('pre_linebreak_filter', do_ivs_repr, 'ltj.do_ivs',
- luatexbase.priority_in_callback('pre_linebreak_filter', 'luaotfload.node_processor'))
- is_ivs_enabled = true
- end
- end
- disable_ivs = function ()
- if is_ivs_enabled then
- luatexbase.remove_from_callback('hpack_filter', 'ltj.do_ivs')
- luatexbase.remove_from_callback('pre_linebreak_filter', 'ltj.do_ivs')
- is_ivs_enabled = false
- end
- end
+--IVS
+local function enable_ivs()
+ ltjb.package_warning('luatexja-otf',
+ 'luatexja.otf.enable_ivs() has now no effect.')
end
+local disable_ivs = enable_ivs
luatexja.otf = {
append_jglyph = append_jglyph,
@@ -294,4 +237,5 @@ luatexja.otf = {
cid = cid,
}
+
-- EOF
diff --git a/Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty b/Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty
index ce109e42706..91544ddc6f6 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty
@@ -79,6 +79,7 @@
\RequirePackage{pdftexcmds} [2011/11/29] % v0.20
\RequirePackage{xkeyval} [2012/10/14] % v2.6b
\RequirePackage{atbegshi}
+ \AtBeginShipoutInit
\IfFileExists{everyhook.sty}{\RequirePackage{everyhook}\ltj@everyhook@availtrue}{}
\else %<*!LaTeX>
\input luatexbase.sty
diff --git a/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua b/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua
index 28c1a98d913..d6d83e61437 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua
@@ -177,18 +177,23 @@ end
-- EXT: print parameters that don't need arguments
do
+ local tex_getattr = tex.getattribute
+ local function getattr(a)
+ local r = tex.getattribute(a)
+ return (r==-0x7FFFFFFF) and 0 or r
+ end
luatexja.unary_pars = {
yalbaselineshift = function(t)
- return print_scaled(tex.getattribute('ltj@yablshift'))..'pt'
+ return print_scaled(getattr('ltj@yablshift'))..'pt'
end,
yjabaselineshift = function(t)
- return print_scaled(tex.getattribute('ltj@ykblshift'))..'pt'
+ return print_scaled(getattr('ltj@ykblshift'))..'pt'
end,
talbaselineshift = function(t)
- return print_scaled(tex.getattribute('ltj@tablshift'))..'pt'
+ return print_scaled(getattr('ltj@tablshift'))..'pt'
end,
tjabaselineshift = function(t)
- return print_scaled(tex.getattribute('ltj@tkblshift'))..'pt'
+ return print_scaled(getattr('ltj@tkblshift'))..'pt'
end,
kanjiskip = function(t)
return print_spec(ltjs.get_stack_skip(stack_table_index.KSK, t))
@@ -200,10 +205,10 @@ do
return ltjs.get_stack_table(stack_table_index.JWP, 0, t)
end,
autospacing = function(t)
- return tex.getattribute('ltj@autospc')
+ return getattr('ltj@autospc')
end,
autoxspacing = function(t)
- return tex.getattribute('ltj@autoxspc')
+ return getattr('ltj@autoxspc')
end,
differentjfm = function(t)
local f, r = luatexja.jfmglue.diffmet_rule, '???'
@@ -409,8 +414,10 @@ local function debug_show_node_X(p,print_fn, limit)
.. tostring(p.font)
.. ' (' .. print_scaled(p.height) .. '+'
.. print_scaled(p.depth) .. ')x' .. print_scaled(p.width)
- .. ' off: (' .. print_scaled(p.xoffset)
- .. ',' .. print_scaled(p.yoffset) .. ')'
+ if p.xoffset~=0 or p.yoffset~=0 then
+ s = s .. ' off: (' .. print_scaled(p.xoffset)
+ .. ',' .. print_scaled(p.yoffset) .. ')'
+ end
print_fn(s)
elseif pt=='hlist' or pt=='vlist' or pt=='unset'or pt=='ins' then
if pt=='ins' then
diff --git a/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty b/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty
index 4dc2125e6df..3c378360e2e 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty
@@ -37,7 +37,7 @@
\ProvidesPackage{luatexja}[2017/05/05 Japanese Typesetting with Lua(La)TeX]
\fi %</LaTeX>
%%%% VERSION
-\def\LuaTeXjaversion{20170505.0}
+\def\LuaTeXjaversion{20170730.0}
\directlua{require('ltj-unicode-ccfix.lua')}% catcode of ideographs
diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty
index 2e0be5dc847..86bb36babee 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjcore}[2017/05/05 Patch to LaTeX2e Kernel for LuaTeX-ja]
+\ProvidesPackage{lltjcore}[2017/06/18 Patch to LaTeX2e Kernel for LuaTeX-ja]
\def\cleardoublepage{\clearpage\if@twoside
\ifodd\c@page
@@ -304,4 +304,36 @@
\fi
\fi}
+%%%%%% \@tabclassz
+\def\ltj@sharp{\ltjfakeboxbdd\ignorespaces\@sharp\unskip\ltjfakeboxbdd}
+\def\@tabclassz{%
+ \ifcase\@lastchclass
+ \@acolampacol
+ \or
+ \@ampacol
+ \or
+ \or
+ \or
+ \@addamp
+ \or
+ \@acolampacol
+ \or
+ \@firstampfalse\@acol
+ \fi
+ \edef\@preamble{%
+ \@preamble{%
+ \ifcase\@chnum
+ \hfil\ltj@sharp\hfil
+ \or
+ \hskip1sp\ltj@sharp\hfil
+ \or
+ \hfil\hskip1sp\ltj@sharp
+ \fi}}}
+\patchcmd\@classv{%
+ \ignorespaces\@sharp
+}{%
+ \everypar\expandafter{\the\everypar\ltjfakeboxbdd}\ignorespaces\@sharp\unskip
+}{}{}
+
+
\endinput
diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-array.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-array.sty
new file mode 100644
index 00000000000..f3361904845
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-array.sty
@@ -0,0 +1,16 @@
+%
+% lltjp-array.sty
+%
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{lltjp-array}[2017/06/18 Patch to preview for LuaTeX-ja]
+
+\RequirePackage{etoolbox,array,luatexja}
+
+\patchcmd\insert@column{%
+ \ignorespaces\@sharp\unskip
+}{%
+ \ltj@sharp
+}{}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-preview.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-preview.sty
new file mode 100644
index 00000000000..f8a90efa05f
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-preview.sty
@@ -0,0 +1,16 @@
+%
+% lltjp-preview.sty
+%
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{lltjp-preview}[2017/05/08 Patch to preview for LuaTeX-ja]
+
+\RequirePackage{etoolbox,preview,luatexja}
+
+\patchcmd\pr@endbox{%
+ \pr@ship@end
+}{%
+ \setbox\pr@box\hbox{\yoko\box\pr@box}\pr@ship@end
+}{}{}
+
+\endinput