fixed hrefs in cplint manual
This commit is contained in:
parent
1f47d33579
commit
69b1f51a4e
@ -1,123 +1,123 @@
|
|||||||
|
|
||||||
/* start css.sty */
|
/* start css.sty */
|
||||||
.cmr-7{font-size:70%;}
|
.cmr-7{font-size:70%;}
|
||||||
.cmmi-7{font-size:70%;font-style: italic;}
|
.cmmi-7{font-size:70%;font-style: italic;}
|
||||||
.cmmi-10{font-style: italic;}
|
.cmmi-10{font-style: italic;}
|
||||||
.cmr-17{font-size:170%;}
|
.cmr-17{font-size:170%;}
|
||||||
.cmtt-12x-x-144{font-size:172%;font-family: monospace;}
|
.cmtt-12x-x-144{font-size:172%;font-family: monospace;}
|
||||||
.cmtt-12x-x-144{font-family: monospace;}
|
.cmtt-12x-x-144{font-family: monospace;}
|
||||||
.cmr-12{font-size:120%;}
|
.cmr-12{font-size:120%;}
|
||||||
.cmtt-10{font-family: monospace;}
|
.cmtt-10{font-family: monospace;}
|
||||||
.cmtt-10{font-family: monospace;}
|
.cmtt-10{font-family: monospace;}
|
||||||
.cmbx-10{ font-weight: bold;}
|
.cmbx-10{ font-weight: bold;}
|
||||||
.cmti-10{ font-style: italic;}
|
.cmti-10{ font-style: italic;}
|
||||||
p.noindent { text-indent: 0em }
|
p.noindent { text-indent: 0em }
|
||||||
td p.noindent { text-indent: 0em; margin-top:0em; }
|
td p.noindent { text-indent: 0em; margin-top:0em; }
|
||||||
p.nopar { text-indent: 0em; }
|
p.nopar { text-indent: 0em; }
|
||||||
p.indent{ text-indent: 1.5em }
|
p.indent{ text-indent: 1.5em }
|
||||||
@media print {div.crosslinks {visibility:hidden;}}
|
@media print {div.crosslinks {visibility:hidden;}}
|
||||||
a img { border-top: 0; border-left: 0; border-right: 0; }
|
a img { border-top: 0; border-left: 0; border-right: 0; }
|
||||||
center { margin-top:1em; margin-bottom:1em; }
|
center { margin-top:1em; margin-bottom:1em; }
|
||||||
td center { margin-top:0em; margin-bottom:0em; }
|
td center { margin-top:0em; margin-bottom:0em; }
|
||||||
.Canvas { position:relative; }
|
.Canvas { position:relative; }
|
||||||
img.math{vertical-align:middle;}
|
img.math{vertical-align:middle;}
|
||||||
li p.indent { text-indent: 0em }
|
li p.indent { text-indent: 0em }
|
||||||
li p:first-child{ margin-top:0em; }
|
li p:first-child{ margin-top:0em; }
|
||||||
li p:last-child, li div:last-child { margin-bottom:0.5em; }
|
li p:last-child, li div:last-child { margin-bottom:0.5em; }
|
||||||
li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; }
|
li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; }
|
||||||
.enumerate1 {list-style-type:decimal;}
|
.enumerate1 {list-style-type:decimal;}
|
||||||
.enumerate2 {list-style-type:lower-alpha;}
|
.enumerate2 {list-style-type:lower-alpha;}
|
||||||
.enumerate3 {list-style-type:lower-roman;}
|
.enumerate3 {list-style-type:lower-roman;}
|
||||||
.enumerate4 {list-style-type:upper-alpha;}
|
.enumerate4 {list-style-type:upper-alpha;}
|
||||||
div.newtheorem { margin-bottom: 2em; margin-top: 2em;}
|
div.newtheorem { margin-bottom: 2em; margin-top: 2em;}
|
||||||
.obeylines-h,.obeylines-v {white-space: nowrap; }
|
.obeylines-h,.obeylines-v {white-space: nowrap; }
|
||||||
div.obeylines-v p { margin-top:0; margin-bottom:0; }
|
div.obeylines-v p { margin-top:0; margin-bottom:0; }
|
||||||
.overline{ text-decoration:overline; }
|
.overline{ text-decoration:overline; }
|
||||||
.overline img{ border-top: 1px solid black; }
|
.overline img{ border-top: 1px solid black; }
|
||||||
td.displaylines {text-align:center; white-space:nowrap;}
|
td.displaylines {text-align:center; white-space:nowrap;}
|
||||||
.centerline {text-align:center;}
|
.centerline {text-align:center;}
|
||||||
.rightline {text-align:right;}
|
.rightline {text-align:right;}
|
||||||
div.verbatim {font-family: monospace; white-space: nowrap; text-align:left; clear:both; }
|
div.verbatim {font-family: monospace; white-space: nowrap; text-align:left; clear:both; }
|
||||||
.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
|
.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
|
||||||
div.fbox {display:table}
|
div.fbox {display:table}
|
||||||
div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
|
div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
|
||||||
div.minipage{width:100%;}
|
div.minipage{width:100%;}
|
||||||
div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;}
|
div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;}
|
||||||
div.center div {text-align: left;}
|
div.center div {text-align: left;}
|
||||||
div.flushright, div.flushright div.flushright {text-align: right;}
|
div.flushright, div.flushright div.flushright {text-align: right;}
|
||||||
div.flushright div {text-align: left;}
|
div.flushright div {text-align: left;}
|
||||||
div.flushleft {text-align: left;}
|
div.flushleft {text-align: left;}
|
||||||
.underline{ text-decoration:underline; }
|
.underline{ text-decoration:underline; }
|
||||||
.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
|
.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
|
||||||
.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
|
.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
|
||||||
.framebox-c {text-align:center;}
|
.framebox-c {text-align:center;}
|
||||||
.framebox-l {text-align:left;}
|
.framebox-l {text-align:left;}
|
||||||
.framebox-r {text-align:right;}
|
.framebox-r {text-align:right;}
|
||||||
span.thank-mark{ vertical-align: super }
|
span.thank-mark{ vertical-align: super }
|
||||||
span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; }
|
span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; }
|
||||||
div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; }
|
div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; }
|
||||||
table.tabular td p{margin-top:0em;}
|
table.tabular td p{margin-top:0em;}
|
||||||
table.tabular {margin-left: auto; margin-right: auto;}
|
table.tabular {margin-left: auto; margin-right: auto;}
|
||||||
td p:first-child{ margin-top:0em; }
|
td p:first-child{ margin-top:0em; }
|
||||||
td p:last-child{ margin-bottom:0em; }
|
td p:last-child{ margin-bottom:0em; }
|
||||||
div.td00{ margin-left:0pt; margin-right:0pt; }
|
div.td00{ margin-left:0pt; margin-right:0pt; }
|
||||||
div.td01{ margin-left:0pt; margin-right:5pt; }
|
div.td01{ margin-left:0pt; margin-right:5pt; }
|
||||||
div.td10{ margin-left:5pt; margin-right:0pt; }
|
div.td10{ margin-left:5pt; margin-right:0pt; }
|
||||||
div.td11{ margin-left:5pt; margin-right:5pt; }
|
div.td11{ margin-left:5pt; margin-right:5pt; }
|
||||||
table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
|
table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
|
||||||
td.td00{ padding-left:0pt; padding-right:0pt; }
|
td.td00{ padding-left:0pt; padding-right:0pt; }
|
||||||
td.td01{ padding-left:0pt; padding-right:5pt; }
|
td.td01{ padding-left:0pt; padding-right:5pt; }
|
||||||
td.td10{ padding-left:5pt; padding-right:0pt; }
|
td.td10{ padding-left:5pt; padding-right:0pt; }
|
||||||
td.td11{ padding-left:5pt; padding-right:5pt; }
|
td.td11{ padding-left:5pt; padding-right:5pt; }
|
||||||
table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
|
table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
|
||||||
.hline hr, .cline hr{ height : 1px; margin:0px; }
|
.hline hr, .cline hr{ height : 1px; margin:0px; }
|
||||||
.tabbing-right {text-align:right;}
|
.tabbing-right {text-align:right;}
|
||||||
span.TEX {letter-spacing: -0.125em; }
|
span.TEX {letter-spacing: -0.125em; }
|
||||||
span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;}
|
span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;}
|
||||||
a span.TEX span.E {text-decoration: none; }
|
a span.TEX span.E {text-decoration: none; }
|
||||||
span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;}
|
span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;}
|
||||||
span.LATEX span.TEX{ position:relative; left: -0.4em; }
|
span.LATEX span.TEX{ position:relative; left: -0.4em; }
|
||||||
div.float, div.figure {margin-left: auto; margin-right: auto;}
|
div.float, div.figure {margin-left: auto; margin-right: auto;}
|
||||||
div.float img {text-align:center;}
|
div.float img {text-align:center;}
|
||||||
div.figure img {text-align:center;}
|
div.figure img {text-align:center;}
|
||||||
.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}
|
.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}
|
||||||
.marginpar p{margin-top:0.4em; margin-bottom:0.4em;}
|
.marginpar p{margin-top:0.4em; margin-bottom:0.4em;}
|
||||||
table.equation {width:100%;}
|
table.equation {width:100%;}
|
||||||
.equation td{text-align:center; }
|
.equation td{text-align:center; }
|
||||||
td.equation { margin-top:1em; margin-bottom:1em; }
|
td.equation { margin-top:1em; margin-bottom:1em; }
|
||||||
td.equation-label { width:5%; text-align:center; }
|
td.equation-label { width:5%; text-align:center; }
|
||||||
td.eqnarray4 { width:5%; white-space: normal; }
|
td.eqnarray4 { width:5%; white-space: normal; }
|
||||||
td.eqnarray2 { width:5%; }
|
td.eqnarray2 { width:5%; }
|
||||||
table.eqnarray-star, table.eqnarray {width:100%;}
|
table.eqnarray-star, table.eqnarray {width:100%;}
|
||||||
div.eqnarray{text-align:center;}
|
div.eqnarray{text-align:center;}
|
||||||
div.array {text-align:center;}
|
div.array {text-align:center;}
|
||||||
div.pmatrix {text-align:center;}
|
div.pmatrix {text-align:center;}
|
||||||
table.pmatrix {width:100%;}
|
table.pmatrix {width:100%;}
|
||||||
span.pmatrix img{vertical-align:middle;}
|
span.pmatrix img{vertical-align:middle;}
|
||||||
div.pmatrix {text-align:center;}
|
div.pmatrix {text-align:center;}
|
||||||
table.pmatrix {width:100%;}
|
table.pmatrix {width:100%;}
|
||||||
span.bar-css {text-decoration:overline;}
|
span.bar-css {text-decoration:overline;}
|
||||||
img.cdots{vertical-align:middle;}
|
img.cdots{vertical-align:middle;}
|
||||||
.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;}
|
.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;}
|
||||||
.index-item, .index-subitem, .index-subsubitem {display:block}
|
.index-item, .index-subitem, .index-subsubitem {display:block}
|
||||||
div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;}
|
div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;}
|
||||||
div.caption span.id{font-weight: bold; white-space: nowrap; }
|
div.caption span.id{font-weight: bold; white-space: nowrap; }
|
||||||
h1.partHead{text-align: center}
|
h1.partHead{text-align: center}
|
||||||
p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
|
p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
|
||||||
p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
|
p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
|
||||||
.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;}
|
.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;}
|
||||||
.subparagraphHead, .likesubparagraphHead { font-weight: bold;}
|
.subparagraphHead, .likesubparagraphHead { font-weight: bold;}
|
||||||
.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;}
|
.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;}
|
||||||
.verse{white-space:nowrap; margin-left:2em}
|
.verse{white-space:nowrap; margin-left:2em}
|
||||||
div.maketitle {text-align:center;}
|
div.maketitle {text-align:center;}
|
||||||
h2.titleHead{text-align:center;}
|
h2.titleHead{text-align:center;}
|
||||||
div.maketitle{ margin-bottom: 2em; }
|
div.maketitle{ margin-bottom: 2em; }
|
||||||
div.author, div.date {text-align:center;}
|
div.author, div.date {text-align:center;}
|
||||||
div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; }
|
div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; }
|
||||||
div.author{white-space: nowrap;}
|
div.author{white-space: nowrap;}
|
||||||
.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; }
|
.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; }
|
||||||
.abstract p {margin-left:5%; margin-right:5%;}
|
.abstract p {margin-left:5%; margin-right:5%;}
|
||||||
div.abstract {width:100%;}
|
div.abstract {width:100%;}
|
||||||
.figure img.graphics {margin-left:10%;}
|
.figure img.graphics {margin-left:10%;}
|
||||||
/* end css.sty */
|
/* end css.sty */
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -31,9 +31,9 @@ fabrizio.riguzzi@unife.it}
|
|||||||
\texttt{cplint} is a suite of programs for reasoning with ICL \cite{DBLP:journals/ai/Poole97}, LPADs \cite{VenVer03-TR,VenVer04-ICLP04-IC} and CP-logic programs \cite{VenDenBru-JELIA06,DBLP:journals/tplp/VennekensDB09}. It contains programs both for inference and learning.
|
\texttt{cplint} is a suite of programs for reasoning with ICL \cite{DBLP:journals/ai/Poole97}, LPADs \cite{VenVer03-TR,VenVer04-ICLP04-IC} and CP-logic programs \cite{VenDenBru-JELIA06,DBLP:journals/tplp/VennekensDB09}. It contains programs both for inference and learning.
|
||||||
|
|
||||||
\section{Installation}
|
\section{Installation}
|
||||||
\texttt{cplint} is distributed in source code in the source code development tree of Yap. It includes Prolog and C files. Download it by following the instruction in \url{http://www.ncc.up.pt/~vsc/Yap/downloads.html}.
|
\texttt{cplint} is distributed in source code in the source code development tree of Yap. It includes Prolog and C files. Download it by following the instruction in \url{http://www.dcc.fc.up.pt/\string ~vsc/Yap/downloads.html}.
|
||||||
|
|
||||||
\texttt{cplint} requires \href{http://vlsi.colorado.edu/~fabio/CUDD/}{CUDD}.
|
\texttt{cplint} requires \href{http://vlsi.colorado.edu/\string ~fabio/CUDD/}{CUDD}.
|
||||||
You can download CUDD from \url{ftp://vlsi.colorado.edu/pub/cudd-2.4.2.tar.gz}.
|
You can download CUDD from \url{ftp://vlsi.colorado.edu/pub/cudd-2.4.2.tar.gz}.
|
||||||
|
|
||||||
Compile CUDD:
|
Compile CUDD:
|
||||||
@ -114,7 +114,7 @@ average/2
|
|||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
that, given a list of numbers, computes its arithmetic mean.
|
that, given a list of numbers, computes its arithmetic mean.
|
||||||
|
|
||||||
The syntax of ICL program is the one used by the \href{http://www.cs.ubc.ca/~poole/aibook/code/ailog/ailog2.html}{AILog 2} system.
|
The syntax of ICL program is the one used by the \href{http://www.cs.ubc.ca/\string ~poole/aibook/code/ailog/ailog2.html}{AILog 2} system.
|
||||||
\section{Inference}
|
\section{Inference}
|
||||||
\texttt{cplint} contains various modules for answering queries.
|
\texttt{cplint} contains various modules for answering queries.
|
||||||
|
|
||||||
@ -143,7 +143,7 @@ It is also able to deal with extensions of LPADs and CP-logic: the clause bodies
|
|||||||
\item \texttt{montecarlo.pl} performs Monte Carlo \cite{BraRig10-ILP10-IC}
|
\item \texttt{montecarlo.pl} performs Monte Carlo \cite{BraRig10-ILP10-IC}
|
||||||
\item \texttt{mcintyre.pl}: implements the algorithm MCINTYRE (Monte Carlo INference wiTh Yap REcord) \cite{Rig11-CILC11-NC}
|
\item \texttt{mcintyre.pl}: implements the algorithm MCINTYRE (Monte Carlo INference wiTh Yap REcord) \cite{Rig11-CILC11-NC}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\item \texttt{approx/exact.pl} as \texttt{lpadsld.pl} but uses SimplecuddLPADs, a modification of the \href{www.cs.kuleuven.be/~theo/tools/simplecudd.html}{Simplecudd} instead of the \texttt{cplint} library for building BDDs and computing the probability.
|
\item \texttt{approx/exact.pl} as \texttt{lpadsld.pl} but uses SimplecuddLPADs, a modification of the \href{http://www.cs.kuleuven.be/\string ~theo/tools/simplecudd.html}{Simplecudd} instead of the \texttt{cplint} library for building BDDs and computing the probability.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
These modules answer queries using the definition of the semantics of LPADs and CP-logic:
|
These modules answer queries using the definition of the semantics of LPADs and CP-logic:
|
||||||
@ -504,7 +504,7 @@ unseen(<predicate>/<arity>).
|
|||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
For SLIPCASE, you have to specify the language bias by means of mode declarations in the style of
|
For SLIPCASE, you have to specify the language bias by means of mode declarations in the style of
|
||||||
\href{http://www.doc.ic.ac.uk/~shm/progol.html}{Progol}.
|
\href{http://www.doc.ic.ac.uk/\string ~shm/progol.html}{Progol}.
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
modeh(<recall>,<predicate>(<arg1>,...).
|
modeh(<recall>,<predicate>(<arg1>,...).
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
@ -610,10 +610,10 @@ and call
|
|||||||
\texttt{cplint}, as Yap, follows the Artistic License 2.0 that you can find in Yap CVS root dir. The copyright is by Fabrizio Riguzzi.
|
\texttt{cplint}, as Yap, follows the Artistic License 2.0 that you can find in Yap CVS root dir. The copyright is by Fabrizio Riguzzi.
|
||||||
\vspace{3mm}
|
\vspace{3mm}
|
||||||
|
|
||||||
The modules in the approx subdirectory use SimplecuddLPADs, a modification of the \href{www.cs.kuleuven.be/~theo/tools/simplecudd.html}{Simplecudd} library whose copyright is by Katholieke Universiteit Leuven and that follows the Artistic License 2.0.
|
The modules in the approx subdirectory use SimplecuddLPADs, a modification of the \href{http://www.cs.kuleuven.be/\string ~theo/tools/simplecudd.html}{Simplecudd} library whose copyright is by Katholieke Universiteit Leuven and that follows the Artistic License 2.0.
|
||||||
\vspace{3mm}
|
\vspace{3mm}
|
||||||
|
|
||||||
Some modules use the library \href{http://vlsi.colorado.edu/~fabio/}{CUDD} for manipulating BDDs that is included in glu.
|
Some modules use the library \href{http://vlsi.colorado.edu/\string ~fabio/}{CUDD} for manipulating BDDs that is included in glu.
|
||||||
For the use of CUDD, the following license must be accepted:
|
For the use of CUDD, the following license must be accepted:
|
||||||
|
|
||||||
\vspace{3mm}
|
\vspace{3mm}
|
||||||
@ -654,7 +654,7 @@ ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
\texttt{lpad.pl}, \texttt{semlpad.pl} and \texttt{cpl.pl} are based on the SLG system
|
\texttt{lpad.pl}, \texttt{semlpad.pl} and \texttt{cpl.pl} are based on the SLG system
|
||||||
by \href{http://engr.smu.edu/~wchen/}{Weidong Chen} and \href{http://www.cs.sunysb.edu/~warren/}{David Scott Warren},
|
by Weidong Chen and \href{http://www.cs.sunysb.edu/\string ~warren/}{David Scott Warren},
|
||||||
Copyright (C) 1993 Southern Methodist University, 1993 SUNY at Stony Brook, see the file COYPRIGHT\_SLG for detailed information on this copyright.
|
Copyright (C) 1993 Southern Methodist University, 1993 SUNY at Stony Brook, see the file COYPRIGHT\_SLG for detailed information on this copyright.
|
||||||
|
|
||||||
\bibliographystyle{plain}
|
\bibliographystyle{plain}
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 724 B After Width: | Height: | Size: 3.3 KiB |
Reference in New Issue
Block a user