diff options
author | albert-github <albert.tests@gmail.com> | 2015-09-05 16:42:15 (GMT) |
---|---|---|
committer | albert-github <albert.tests@gmail.com> | 2015-09-05 16:42:15 (GMT) |
commit | 5e11f885eea694c2ecfeae6ff5774b66eea312e4 (patch) | |
tree | 42a6656eb37327c1d76c6a9428dbdf2101761587 /examples/CMakeLists.txt | |
parent | 5aa4ade86499ba615da48875a9e7292ddd22c22f (diff) | |
download | Doxygen-5e11f885eea694c2ecfeae6ff5774b66eea312e4.zip Doxygen-5e11f885eea694c2ecfeae6ff5774b66eea312e4.tar.gz Doxygen-5e11f885eea694c2ecfeae6ff5774b66eea312e4.tar.bz2 |
Add examples to LaTeX / PDF doxygen manual
Add the examples a shown in the HTML / CHM documentation also to the LaTeX / PDF documentation.
- doc/*.doc
added latexonly part referencing the example in the appendix
- doc/Doxyfile
silence the generation of the manual
- doc/doxygen_manual.tex
add the examples as appendices to the manual, by means of the subinputfrom command the parts included by refman_doc are taken from the specified directory
- examples/*.cfg
adjusted configuration files ("Doxyfile") to generate LaTeX output
- examples/*.h and examples/*.cpp
make names unique so no conflicts occur when adding all the examples
- examples/CMakeLists.txt
add generation of the file to be included (see strip_example.py), adjust dependencies and add the refman_doc.tex as output target
- examples/input_test.cpp
file added (adjusted copy of example_test.cpp) to overcome name clashes (example_test.cpp would have been included twice)
- examples/strip_example.py
we are only interested in the documentation files as included in the different examples, so we get those commands. The preamble will be handled by the doxygen_manual.tex and we have already an index in the doxygen_manual.tex so we don't need a separate one from each example.
The module / diagram documentation is dependent on the presence of 'dot', this is reflected in the docblocks.doc, CMakeLists.txt and doxygen_manual.tex
Diffstat (limited to 'examples/CMakeLists.txt')
-rw-r--r-- | examples/CMakeLists.txt | 134 |
1 files changed, 80 insertions, 54 deletions
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index e7b61a1..24bcbfa 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -53,171 +53,197 @@ add_custom_target(examples add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen class.cfg - DEPENDS doxygen class.h class.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/class/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/class/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/class/latex/refman_doc.tex + DEPENDS doxygen class.h class.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/class/html/index.html ${PROJECT_BINARY_DIR}/html/examples/class/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen define.cfg - DEPENDS doxygen define.h define.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/define/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/define/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/define/latex/refman_doc.tex + DEPENDS doxygen define.h define.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/define/html/index.html ${PROJECT_BINARY_DIR}/html/examples/define/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen enum.cfg - DEPENDS doxygen enum.h enum.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/enum/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/enum/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/enum/latex/refman_doc.tex + DEPENDS doxygen enum.h enum.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/enum/html/index.html ${PROJECT_BINARY_DIR}/html/examples/enum/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen file.cfg - DEPENDS doxygen file.h file.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/file/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/file/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/file/latex/refman_doc.tex + DEPENDS doxygen file.h file.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/file/html/index.html ${PROJECT_BINARY_DIR}/html/examples/file/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen func.cfg - DEPENDS doxygen func.h func.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/func/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/func/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/func/latex/refman_doc.tex + DEPENDS doxygen func.h func.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/func/html/index.html ${PROJECT_BINARY_DIR}/html/examples/func/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen page.cfg - DEPENDS doxygen page.doc page.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/page/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/page/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/page/latex/refman_doc.tex + DEPENDS doxygen page.doc page.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/page/html/index.html ${PROJECT_BINARY_DIR}/html/examples/page/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen relates.cfg - DEPENDS doxygen relates.cpp relates.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/relates/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/relates/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/relates/latex/refman_doc.tex + DEPENDS doxygen relates.cpp relates.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/relates/html/index.html ${PROJECT_BINARY_DIR}/html/examples/relates/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen author.cfg - DEPENDS doxygen author.cpp author.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/author/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/author/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/author/latex/refman_doc.tex + DEPENDS doxygen author.cpp author.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/author/html/index.html ${PROJECT_BINARY_DIR}/html/examples/author/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen par.cfg - DEPENDS doxygen par.cpp par.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/par/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/par/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/par/latex/refman_doc.tex + DEPENDS doxygen par.cpp par.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/par/html/index.html ${PROJECT_BINARY_DIR}/html/examples/par/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen overload.cfg - DEPENDS doxygen overload.cpp overload.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/overload/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/overload/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/overload/latex/refman_doc.tex + DEPENDS doxygen overload.cpp overload.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/overload/html/index.html ${PROJECT_BINARY_DIR}/html/examples/overload/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen example.cfg - DEPENDS doxygen example.cpp example_test.cpp example.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/example/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/example/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/example/latex/refman_doc.tex + DEPENDS doxygen example.cpp example_test.cpp example.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/example/html/index.html ${PROJECT_BINARY_DIR}/html/examples/example/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen include.cfg - DEPENDS doxygen include.cpp example_test.cpp include.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/include/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/include/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/include/latex/refman_doc.tex + DEPENDS doxygen include.cpp include_test.cpp include.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/include/html/index.html ${PROJECT_BINARY_DIR}/html/examples/include/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen qtstyle.cfg - DEPENDS doxygen qtstyle.cpp qtstyle.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/qtstyle/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/qtstyle/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/qtstyle/latex/refman_doc.tex + DEPENDS doxygen qtstyle.cpp qtstyle.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/qtstyle/html/index.html ${PROJECT_BINARY_DIR}/html/examples/qtstyle/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen jdstyle.cfg - DEPENDS doxygen jdstyle.cpp jdstyle.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/jdstyle/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/jdstyle/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/jdstyle/latex/refman_doc.tex + DEPENDS doxygen jdstyle.cpp jdstyle.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/jdstyle/html/index.html ${PROJECT_BINARY_DIR}/html/examples/jdstyle/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen structcmd.cfg - DEPENDS doxygen structcmd.h structcmd.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/structcmd/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/structcmd/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/structcmd/latex/refman_doc.tex + DEPENDS doxygen structcmd.h structcmd.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/structcmd/html/index.html ${PROJECT_BINARY_DIR}/html/examples/structcmd/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen autolink.cfg - DEPENDS doxygen autolink.cpp autolink.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/autolink/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/autolink/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/autolink/latex/refman_doc.tex + DEPENDS doxygen autolink.cpp autolink.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/autolink/html/index.html ${PROJECT_BINARY_DIR}/html/examples/autolink/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen tag.cfg - DEPENDS doxygen tag.cpp tag.cfg ${PROJECT_BINARY_DIR}/html/examples/example/html/index.html + DEPENDS doxygen tag.cpp tag.cfg ${PROJECT_BINARY_DIR}/html/examples/example/html/index.html ${TOP}/examples/strip_example.py OUTPUT ${PROJECT_BINARY_DIR}/html/examples/tag/html/index.html ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen restypedef.cfg - DEPENDS doxygen restypedef.cpp restypedef.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/restypedef/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/restypedef/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/restypedef/latex/refman_doc.tex + DEPENDS doxygen restypedef.cpp restypedef.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/restypedef/html/index.html ${PROJECT_BINARY_DIR}/html/examples/restypedef/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen afterdoc.cfg - DEPENDS doxygen afterdoc.h afterdoc.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/afterdoc/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/afterdoc/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/afterdoc/latex/refman_doc.tex + DEPENDS doxygen afterdoc.h afterdoc.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/afterdoc/html/index.html ${PROJECT_BINARY_DIR}/html/examples/afterdoc/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen templ.cfg - DEPENDS doxygen templ.cpp templ.cfg + DEPENDS doxygen templ.cpp templ.cfg ${TOP}/examples/strip_example.py OUTPUT ${PROJECT_BINARY_DIR}/html/examples/template/html/index.html ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen group.cfg - DEPENDS doxygen group.cpp group.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/group/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/group/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/group/latex/refman_doc.tex + DEPENDS doxygen group.cpp group.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/group/html/index.html ${PROJECT_BINARY_DIR}/html/examples/group/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen memgrp.cfg - DEPENDS doxygen memgrp.cpp memgrp.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/memgrp/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/memgrp/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/memgrp/latex/refman_doc.tex + DEPENDS doxygen memgrp.cpp memgrp.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/memgrp/html/index.html ${PROJECT_BINARY_DIR}/html/examples/memgrp/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen pyexample.cfg - DEPENDS doxygen pyexample.py pyexample.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/pyexample/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/pyexample/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/pyexample/latex/refman_doc.tex + DEPENDS doxygen pyexample.py pyexample.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/pyexample/html/index.html ${PROJECT_BINARY_DIR}/html/examples/pyexample/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen tclexample.cfg - DEPENDS doxygen tclexample.tcl tclexample.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/tclexample/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/tclexample/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/tclexample/latex/refman_doc.tex + DEPENDS doxygen tclexample.tcl tclexample.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/tclexample/html/index.html ${PROJECT_BINARY_DIR}/html/examples/tclexample/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen mux.cfg - DEPENDS doxygen mux.vhdl mux.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/mux/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/mux/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/mux/latex/refman_doc.tex + DEPENDS doxygen mux.vhdl mux.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/mux/html/index.html ${PROJECT_BINARY_DIR}/html/examples/mux/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen manual.cfg - DEPENDS doxygen manual.c manual.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/manual/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/manual/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/manual/latex/refman_doc.tex + DEPENDS doxygen manual.c manual.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/manual/html/index.html ${PROJECT_BINARY_DIR}/html/examples/manual/latex/refman_doc.tex ) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen docstring.cfg - DEPENDS doxygen docstring.py docstring.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/docstring/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/docstring/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/docstring/latex/refman_doc.tex + DEPENDS doxygen docstring.py docstring.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/docstring/html/index.html ${PROJECT_BINARY_DIR}/html/examples/docstring/latex/refman_doc.tex ) if (DOT) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen diagrams.cfg - DEPENDS doxygen diagrams_a.h diagrams_b.h diagrams_c.h diagrams_d.h diagrams_e.h diagrams.cfg - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/diagrams/html/index.html + COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman_doc.tex + DEPENDS doxygen diagrams_a.h diagrams_b.h diagrams_c.h diagrams_d.h diagrams_e.h diagrams.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/diagrams/html/index.html ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman_doc.tex ) endif(DOT) |