texlive[76164] Master/texmf-dist: randintlist (27aug25)
commits+karl at tug.org
commits+karl at tug.org
Wed Aug 27 22:13:19 CEST 2025
Revision: 76164
https://tug.org/svn/texlive?view=revision&revision=76164
Author: karl
Date: 2025-08-27 22:13:19 +0200 (Wed, 27 Aug 2025)
Log Message:
-----------
randintlist (27aug25)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/randintlist/README.md
trunk/Master/texmf-dist/doc/latex/randintlist/randintlist-doc.pdf
trunk/Master/texmf-dist/doc/latex/randintlist/randintlist-doc.tex
trunk/Master/texmf-dist/tex/latex/randintlist/randintlist.sty
Added Paths:
-----------
trunk/Master/texmf-dist/doc/latex/randintlist/randintlist-l3-doc.pdf
trunk/Master/texmf-dist/doc/latex/randintlist/randintlist-l3-doc.tex
trunk/Master/texmf-dist/tex/latex/randintlist/randintlist-l3.sty
Modified: trunk/Master/texmf-dist/doc/latex/randintlist/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/randintlist/README.md 2025-08-27 20:13:06 UTC (rev 76163)
+++ trunk/Master/texmf-dist/doc/latex/randintlist/README.md 2025-08-27 20:13:19 UTC (rev 76164)
@@ -1,6 +1,11 @@
This package (like luarandom, but without the obligation to use lualatex) provides some macros for creating random integer number lists between a and b.
+
This list can have multiple numbers or not, and this list can be sorted or not.
+
--------------------------------------------------------------------------------------------------------------------------------------------------------
+
Author..: Cédric Pierquet
+
email...: cpierquet at outlook.fr
+
Licence.: Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
\ No newline at end of file
Modified: trunk/Master/texmf-dist/doc/latex/randintlist/randintlist-doc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/randintlist/randintlist-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/randintlist/randintlist-doc.tex 2025-08-27 20:13:06 UTC (rev 76163)
+++ trunk/Master/texmf-dist/doc/latex/randintlist/randintlist-doc.tex 2025-08-27 20:13:19 UTC (rev 76164)
@@ -27,8 +27,8 @@
\hypersetup{pdfborder=0 0 0}
\usepackage[margin=2cm]{geometry}
\setlength{\parindent}{0pt}
-\def\TPversion{0.1.4}
-\def\TPdate{05/05/2025}
+\def\TPversion{0.1.5}
+\def\TPdate{27/08/2025}
\usepackage{tcolorbox}
\usepackage{pgffor}
\tcbuselibrary{breakable,skins,hooks,listingsutf8}
@@ -139,7 +139,7 @@
\begin{tabular}{c}
\texttt{Cédric Pierquet}\\
{\ttfamily c pierquet -- at -- outlook . fr}\\
- \texttt{\url{https://forge.apps.education.fr/pierquetcedric/packages-latex}} \\
+ \texttt{\url{https://github.com/cpierquet/latex-packages/tree/main/randintlist}} \\
\end{tabular}
\end{center}
@@ -359,6 +359,8 @@
\section{History}
+\texttt{0.1.5: \hologo{LaTeX3} version of the package}
+
\texttt{0.1.4: Bugfix}
\texttt{0.1.3: Bugfix}
Added: trunk/Master/texmf-dist/doc/latex/randintlist/randintlist-l3-doc.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/latex/randintlist/randintlist-l3-doc.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/randintlist/randintlist-l3-doc.pdf 2025-08-27 20:13:06 UTC (rev 76163)
+++ trunk/Master/texmf-dist/doc/latex/randintlist/randintlist-l3-doc.pdf 2025-08-27 20:13:19 UTC (rev 76164)
Property changes on: trunk/Master/texmf-dist/doc/latex/randintlist/randintlist-l3-doc.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/randintlist/randintlist-l3-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/randintlist/randintlist-l3-doc.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/randintlist/randintlist-l3-doc.tex 2025-08-27 20:13:19 UTC (rev 76164)
@@ -0,0 +1,332 @@
+% !TeX TXS-program:compile = txs:///arara
+% arara: pdflatex: {shell: no, synctex: no, interaction: batchmode}
+% arara: pdflatex: {shell: no, synctex: no, interaction: batchmode}
+
+\documentclass[11pt,a4paper]{ltxdoc}
+\usepackage{bera}
+\usepackage{inconsolata}
+\usepackage[T1]{fontenc}
+\usepackage[scale=0.875]{cabin}
+\usepackage{randintlist-l3}
+\usepackage{listofitems,xintexpr}
+\usepackage{fancyvrb}
+\usepackage{fancyhdr}
+\usepackage{tabularray}
+\usepackage{fontawesome5}
+\fancyhf{}
+\renewcommand{\headrulewidth}{0pt}
+\lfoot{\sffamily\small [randintlist-l3]}
+\cfoot{\sffamily\small - \thepage{} -}
+\rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}}
+\usepackage{hologo}
+\providecommand\tikzlogo{Ti\textit{k}Z}
+\providecommand\TeXLive{\TeX{}Live\xspace}
+\let\TikZ\tikzlogo
+
+\usepackage{hyperref}
+\urlstyle{same}
+\hypersetup{pdfborder=0 0 0}
+\usepackage[margin=2cm]{geometry}
+\setlength{\parindent}{0pt}
+\def\TPversion{0.1.5}
+\def\TPdate{27/08/2025}
+\usepackage{tcolorbox}
+\usepackage{pgffor}
+\tcbuselibrary{breakable,skins,hooks,listingsutf8}
+%\usepackage{soul}
+%\sethlcolor{lightgray!25}
+
+\lstset{
+ language=[LaTeX]TeX,%
+ basicstyle=\ttfamily,%
+ keywordstyle={\color{blue}},%
+ classoffset=0,%
+ keywords={},%
+ alsoletter={-},%
+ keywordstyle={\color{blue}},%
+ classoffset=1,%
+ alsoletter={-},%
+ morekeywords={randintlist-l3},%
+ keywordstyle={\color{violet}},%
+ classoffset=2,%
+ alsoletter={-},%
+ morekeywords={\rdlgenlist,\rdlgetitem},%
+ keywordstyle={\color{green!50!black}},%
+ classoffset=3,%
+ morekeywords={min,max,nb,seed,sort,sep,repeat,excluded},%
+ keywordstyle={\color{orange}}
+}
+
+\newtcblisting{DemoCode}[1]{%
+ enhanced,width=\linewidth,%
+ bicolor,size=title,%
+ colback=cyan!10!white,%
+ colbacklower=cyan!5!white,%
+ colframe=cyan!75!black,%
+ listing options={%
+ breaklines=true,%
+ breakatwhitespace=true,%
+ style=tcblatex,basicstyle=\small\ttfamily,%
+ tabsize=4,%
+ commentstyle={\itshape\color{gray}},
+ keywordstyle={\color{blue}},%
+ classoffset=0,%
+ keywords={\usepackage,\includegraphics,xstring,listofitems,tikz,calc,simplekv,graphicx,\readlist,\showitems,\xintFor,\xintSeq},%
+ alsoletter={-},%
+ keywordstyle={\color{blue}},%
+ classoffset=1,%
+ alsoletter={-},%
+ morekeywords={randintlist-l3},%
+ keywordstyle={\color{violet}},%
+ classoffset=2,%
+ alsoletter={-},%
+ morekeywords={\rdlgenlist,\rdlgetitem},%
+ keywordstyle={\color{green!50!black}},%
+ classoffset=3,%
+ morekeywords={min,max,nb,seed,sort,sep,repeat,excluded},%
+ keywordstyle={\color{orange}}
+ },%
+ #1
+}
+
+\newtcbinputlisting\DemoCodeFile[1]{%
+ enhanced,width=\linewidth,%
+ bicolor,size=title,%
+ colback=lightgray!10!white,%
+ colbacklower=lightgray!5!white,%
+ colframe=lightgray!75!black,%
+ listing options={%
+ breaklines=true,%
+ breakatwhitespace=true,%
+ style=tcblatex,
+ basicstyle=\scriptsize\ttfamily,%
+ tabsize=4,%
+ commentstyle={\itshape\color{gray}},%
+ lastline=246
+ },%
+ breakable,
+ listing only,%
+ listing file={#1}
+}
+
+\NewDocumentCommand\ShowCode{ m }{%
+ \lstinline{#1}%
+}
+
+\begin{document}
+
+\thispagestyle{empty}
+
+\begin{center}
+ \begin{minipage}{0.88\linewidth}
+ \begin{tcolorbox}[colframe=yellow,colback=yellow!15]
+ \begin{center}
+ \renewcommand{\arraystretch}{1.25}%
+ \begin{tabular}{c}
+ {\Huge \texttt{randintlist-l3}}\\
+ \\
+ {\Large\hologo{LaTeX3}}\\
+ \\
+ {\LARGE Creating random integer number lists,} \\
+ {\LARGE with multiple numbers or not,} \\
+ {\LARGE sorted or not.} \\
+ \\
+ {\small \texttt{Version \TPversion{} -- \TPdate}}
+ \end{tabular}
+ \end{center}
+ \end{tcolorbox}
+ \end{minipage}
+\end{center}
+
+\begin{center}
+ \begin{tabular}{c}
+ \texttt{Cédric Pierquet}\\
+ {\ttfamily c pierquet -- at -- outlook . fr}\\
+ \texttt{\url{https://github.com/cpierquet/latex-packages/tree/main/randintlist}} \\
+ \end{tabular}
+\end{center}
+
+\hrule
+
+\vfill
+
+\begin{tcolorbox}[colframe=lightgray,colback=lightgray!5]
+10 numbers, between 1 and 100, without repetition:
+
+\hfill\rdlgenlist[min=1,max=100,nb=10]{\mylist}\textcolor{red}{\mylist}\hfill~
+
+The 5th value is:
+
+\hfill\textcolor{blue}{\rdlgetitem*{\mylist}{5}}\hfill~
+\end{tcolorbox}
+
+\begin{tcolorbox}[colframe=lightgray,colback=lightgray!5]
+10 numbers, between 1 and 100, without multiples of 5:
+
+\hfill\rdlgenlist[min=1,max=100,nb=10,excluded={5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100}]{\mylist}\textcolor{olive}{\mylist}\hfill~
+
+The 9th value is:
+
+\hfill\textcolor{purple}{\rdlgetitem*{\mylist}{9}}\hfill~
+\end{tcolorbox}
+
+\begin{tcolorbox}[colframe=lightgray,colback=lightgray!5]
+15 numbers, between 1 and 20, with repetition:
+
+\hfill\rdlgenlist[min=1,max=20,nb=15,repeat]{\mylist}\textcolor{red}{\mylist}\hfill~
+
+The last value is:
+
+\hfill\textcolor{blue}{\rdlgetitem*{\mylist}{-1}}\hfill~
+\end{tcolorbox}
+
+\begin{tcolorbox}[colframe=lightgray,colback=lightgray!5]
+6 sorted numbers, between 1 and 51, without repetition:
+
+\hfill\rdlgenlist[min=1,max=51,nb=6,sort=asc]{\mylist}ascending: \textcolor{red}{\mylist}\hfill~
+
+\hfill\rdlgenlist[min=1,max=51,nb=6,sort=des]< {>} >{\mylist}descending: \textcolor{red}{\mylist}\hfill~
+\end{tcolorbox}
+
+\vfill~
+
+\hrule
+
+\medskip
+
+\emph{%
+ 1. The \textsf{luarandom} package do the same things, but with the obligation to compile with \hologo{LuaLaTeX}.
+}
+
+\emph{%
+ 2. The \textsf{tuple} package is so much better\ldots take a look\ldots
+}
+
+\medskip
+
+\hrule
+
+\vspace*{5mm}
+
+\pagebreak
+
+\phantomsection
+
+\hypertarget{matoc}{}
+
+\tableofcontents
+
+\vspace*{5mm}
+
+%\hrule
+
+\pagebreak
+
+\section{Loading, useful packages}
+
+In order to load \texttt{randintlist-l3}, simply use:
+
+\begin{DemoCode}{listing only}
+\usepackage{randintlist-l3}
+\end{DemoCode}
+
+All code is written in \hologo{LaTeX3}, so no extra packages are needed.
+
+\section{The Macros}
+
+\subsection{Global usage}
+
+Package \texttt{randintlist-l3} supports the creation of random integer number lists where a number will appear only once or multiple times. Generated lists can be used with \texttt{listofitems}.
+
+\medskip
+
+{\small\faLightbulb} Macros are prefixed with \ShowCode{\\rdl...} (for \textsf{\textbf{\underline{r}}an\textbf{\underline{d}}int\textbf{\underline{l}}ist}).
+
+\subsection{Generate the list}
+
+\begin{DemoCode}{listing only}
+%generate list
+\rdlgenlist[keys]{\macro}
+\end{DemoCode}
+
+Available keys are:
+
+\begin{itemize}
+ \item \ShowCode{min}: minimum value (default \ShowCode{1});
+ \item \ShowCode{max}: maximum value (default \ShowCode{50});
+ \item \ShowCode{nb}: number of values (default \ShowCode{6});
+% \item \ShowCode{sep}: separator for the list (default \ShowCode{,});
+ \item \ShowCode{sort}: sorting options, within \ShowCode{no/asc/dec} (default \ShowCode{no});
+ \item \ShowCode{repeat}: boolean to authorize repeating values (default \ShowCode{false});
+ \item \ShowCode{excluded}: list of excluded values (default \ShowCode{empty});
+ \item \ShowCode{seed}: random seed value according to used packages (default \ShowCode{-}).
+\end{itemize}
+
+\begin{DemoCode}{}
+%default values
+\rdlgenlist{\mylistA}\mylistA
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%10 between 1 and 50, with ascending
+\rdlgenlist[sort=asc,min=1,max=50,nb=10]{\mylistB}\mylistB
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%15 between 1 and 50, with ascending and repetitions allowed
+\rdlgenlist[sort=asc,min=1,max=50,nb=15,repeat]{\mylistC}\mylistC
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%15 between 1 and 50, without multiples of 5
+\rdlgenlist[%
+ sort=asc,min=1,max=50,nb=15,repeat,%
+ excluded={5,10,15,20,25,30,35,40,45,50}]%
+ {\mylistC}\mylistC
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%list used with listofitems
+\rdlgenlist{\mylistD}\mylistD\par
+\readlist*\mylistused{\mylistD}\showitems{\mylistused}\par
+\mylistused[1]; \mylistused[-1]
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%list, with alt sep, used with listofitems
+\rdlgenlist<+>{\mylistZ}\mylistZ\par
+\setsepchar{+}\readlist*\mylistused{\mylistZ}\showitems{\mylistused}\par
+\mylistused[1]; \mylistused[-1]
+\end{DemoCode}
+
+\subsection{Accessing elements}
+
+\begin{DemoCode}{listing only}
+%accessing item
+\rdlgetitem(*){\macro}{index}[\macrores]
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%with default keys
+\rdlgenlist{\mylistE}raw list: \mylistE\par
+items list:\par
+\xintFor* #1 in {\xintSeq{1}{6}}\do{\rdlgetitem*{\mylistE}{#1}\par}
+first element: \rdlgetitem*{\mylistE}{1}\par
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\rdlgetitem{\mylistE}{3}[\myres]%
+third element: \myres
+\end{DemoCode}
+
+\pagebreak
+
+\section{History}
+
+\texttt{0.1.5: Initial version}
+
+\section{The code}
+
+\DemoCodeFile{randintlist-l3.sty}
+
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/latex/randintlist/randintlist-l3-doc.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/randintlist/randintlist-l3.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/randintlist/randintlist-l3.sty (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/randintlist/randintlist-l3.sty 2025-08-27 20:13:19 UTC (rev 76164)
@@ -0,0 +1,152 @@
+% Author : C. Pierquet
+% licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesExplPackage{randintlist-l3}{2025-08-27}{0.1.5}{Create a list of random numbers with or without multiple values}
+
+%------History
+% 0.1.5 Initial version
+
+%------Main macro
+%variables
+\clist_new:N \l_randintlist_clist
+\clist_new:N \l_randintlist_excluded_clist
+\clist_new:N \l_randintlist_result_clist
+\int_new:N \l_randintlist_min_int
+\int_new:N \l_randintlist_max_int
+\int_new:N \l_randintlist_nb_int
+\int_new:N \l_randintlist_random_number
+\int_new:N \l_randintlist_seed_int
+\bool_new:N \l_randintlist_repeat_bool
+\bool_new:N \l_randintlist_keepvalue_bool
+%\tl_new:N \l_randintlist_sep_tl
+\tl_new:N \l_randintlist_sort_tl
+\str_new:N \l_randintlist_sort_str
+
+%keys
+\keys_define:nn { randomlistintegers }
+{
+ min .int_set:N = \l_randintlist_min_int,
+ max .int_set:N = \l_randintlist_max_int,
+ nb .int_set:N = \l_randintlist_nb_int,
+ seed .int_set:N = \l_randintlist_seed_int,
+ excluded .clist_set:N = \l_randintlist_excluded_clist,
+ repeat .bool_set:N = \l_randintlist_repeat_bool,
+ %sep .tl_set:N = \l_randintlist_sep_tl,
+ sort .tl_set:N = \l_randintlist_sort_tl,
+ min .initial:n = 1,
+ max .initial:n = 100,
+ nb .initial:n = 10,
+ seed .initial:n = -1,
+ excluded .initial:n = {},
+ repeat .initial:n = true,
+ %sep .initial:n = {,},
+ sort .initial:n = {none},
+ min .default:n = 1,
+ max .default:n = 100,
+ nb .default:n = 10,
+ seed .default:n = -1,
+ excluded .default:n = {},
+ repeat .default:n = true,
+ %sep .default:n = {,},
+ sort .default:n = {none},
+}
+
+%macro
+\NewDocumentCommand\rdlgenlist { O{} D<>{,} m } %#1=keys / #2=sep / #3=macrolist
+{
+ %\group_begin:
+ % key init
+ \keys_set:nn { randomlistintegers } { #1 }
+
+ % seed if necessary
+ \int_compare:nNnT { \l_randintlist_seed_int } > { -1 }
+ {
+ \sys_rand_seed:n { \l_randintlist_seed_int }
+ }
+
+ % list init
+ \clist_clear:N \l_randintlist_result_clist
+
+ % repeating or not
+ \bool_if:NTF \l_randintlist_repeat_bool
+ {% w repeating
+ \int_step_inline:nnnn { 1 } { 1 } { \l_randintlist_nb_int }
+ {
+ \bool_set_false:N \l_randintlist_keepvalue_bool
+
+ \bool_until_do:Nn \l_randintlist_keepvalue_bool
+ {
+ \int_set:Nn \l_randintlist_random_number
+ {
+ \fp_eval:n { randint( \l_randintlist_min_int , \l_randintlist_max_int ) }
+ }
+ \tl_set:Nx \l_tmpa_tl { \int_use:N \l_randintlist_random_number }
+
+ \clist_if_in:NeTF \l_randintlist_excluded_clist { \l_tmpa_tl }
+ {
+ \bool_set_false:N \l_randintlist_keepvalue_bool
+ }
+ {
+ \bool_set_true:N \l_randintlist_keepvalue_bool
+ \clist_put_right:Nx \l_randintlist_result_clist { \int_use:N \l_randintlist_random_number }
+ }
+ }
+ }
+ }
+ {%w/o repetitions
+ \seq_clear_new:N \l_tmpa_seq
+
+ \int_step_inline:nnnn { \l_randintlist_min_int } { 1 } { \l_randintlist_max_int }
+ {
+ %creation of [min,...,max] list
+
+ \clist_if_in:NnTF \l_randintlist_excluded_clist { ##1 }
+ {
+ \bool_set_false:N \l_randintlist_keepvalue_bool
+ }
+ {
+ \bool_set_true:N \l_randintlist_keepvalue_bool
+ \seq_put_right:Nn \l_tmpa_seq { ##1 }
+ }
+ }
+
+ %shuffle
+ \seq_shuffle:N \l_tmpa_seq
+
+ %truncate
+ \clist_clear_new:N \l_randintlist_result_clist
+ \int_step_inline:nnnn { 1 } { 1 } { \l_randintlist_nb_int }
+ {
+ \seq_pop_left:NN \l_tmpa_seq \l_tmpa_tl
+ \clist_put_right:Nx \l_randintlist_result_clist { \l_tmpa_tl }
+ }
+ }
+
+ %sort or not
+ \str_set:Nx \l_randintlist_sort_str { \tl_use:N \l_randintlist_sort_tl }
+ \str_case:Nn { \l_randintlist_sort_str }
+ {
+ {asc} { \clist_sort:Nn \l_randintlist_result_clist { \int_compare:nNnTF { ##1 } > { ##2 } { \sort_return_swapped: } { \sort_return_same: } } }
+ {des} { \clist_sort:Nn \l_randintlist_result_clist { \int_compare:nNnTF { ##1 } < { ##2 } { \sort_return_swapped: } { \sort_return_same: } } }
+ }
+
+ %storing
+ \tl_gset:Nx #3 {
+ \clist_use:Nn \l_randintlist_result_clist { #2 }
+ }
+ %\group_end:
+}
+
+\NewDocumentCommand\rdlgetitem{ s m m O{\resmyelt} }{%
+ \clist_set:Nx \l_randintlist_clist {#2}
+ \IfBooleanTF{#1}
+ {
+ \clist_item:Nn \l_randintlist_clist { #3 }
+ }
+ {
+ \tl_gset:Nx #4{ \clist_item:Nn \l_randintlist_clist { #3 } }
+ }
+}
+
+\endinput
\ No newline at end of file
Property changes on: trunk/Master/texmf-dist/tex/latex/randintlist/randintlist-l3.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/randintlist/randintlist.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/randintlist/randintlist.sty 2025-08-27 20:13:06 UTC (rev 76163)
+++ trunk/Master/texmf-dist/tex/latex/randintlist/randintlist.sty 2025-08-27 20:13:19 UTC (rev 76164)
@@ -2,9 +2,10 @@
% licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{randintlist}[2025/05/05 0.1.4 Create a list of random numbers with or without multiple values]
+\ProvidesPackage{randintlist}[2025/08/27 0.1.5 Create a list of random numbers with or without multiple values]
%------History
+% 0.1.5 l3 version of the package
% 0.1.4 Bugfix
% 0.1.3 new usage of extracting element (with storing \macro)
% 0.1.2 Changing name of macro
More information about the tex-live-commits
mailing list.