XMLmind XSL-FO Converter Professional Edition 6.4.1
XMLmind DITA Converter Manual
Hussein Shafie
XMLmind Software
35, rue Louis Leblanc
78120 Rambouillet
France
Phone: +33 (0)9 52 80 80 37
ditac-support@xmlmind.com
www.xmlmind.com/ditac/
January 31, 2024
Table of Contents
List of Figures
PAGEREF __LOF
0
List of Tables
PAGEREF __LOT
0
Introduction
PAGEREF introduction
0
Part I.
Using XMLmind DITA Converter
PAGEREF I_64147i_
0
Chapter 1.
Installing XMLmind DITA Converter
PAGEREF install
0
1.
Contents of the installation directory
PAGEREF distrib
0
Chapter 2.
Getting started
PAGEREF I_vkloro_
0
1.
Using the ditac command-line utility
PAGEREF quickStart
0
Chapter 3.
The ditac command-line utility
PAGEREF commandLine
0
Chapter 4.
XSLT stylesheets parameters
PAGEREF xsltParams
0
1.
Page headers and footers
PAGEREF pageHeaderFooter
0
Chapter 5.
Controlling the numbering of ordered lists
PAGEREF olNumbering
0
Chapter 6.
Giving a background color to table cells
PAGEREF bgcolor
0
Chapter 7.
Fancy code blocks
PAGEREF codeblocks
0
1.
Syntax highlighting
PAGEREF syntaxHighlighting
0
Chapter 8.
Rich media content
PAGEREF media
0
Part II.
Customizing the output of XMLmind DITA Converter
PAGEREF I_q6l9ok_
0
Chapter 9.
Simple customization
PAGEREF I_95ce9x_
0
1.
Customize the look of the (X)HTML pages generated by ditac
PAGEREF customCSS
0
2.
Customizing the look of the PDF files generated by ditac
PAGEREF customAttributeSet
0
Chapter 10.
Using ditac to convert documents conforming to a DITA specialization
PAGEREF specialize
0
Chapter 11.
Extensive customization
PAGEREF howItWorks
0
Part III.
Embedding XMLmind DITA Converter in a Java™ application
PAGEREF I_ap5ia9_
0
Chapter 12.
Recommended high-level embedding method
PAGEREF embed1
0
Chapter 13.
Advanced low-level embedding method
PAGEREF embed2
0
Appendix A.
About DITA support in XMLmind DITA Converter
PAGEREF dita_support
0
Appendix B.
Lightweight DITA support
PAGEREF lwditaSupport
0
1.
XDITA support
PAGEREF xditaSupport
0
2.
HDITA support
PAGEREF hditaSupport
0
3.
MDITA support
PAGEREF mditaSupport
0
3.1.
Markdown extensions
PAGEREF Markdown_extensions
0
Appendix C.
Limitations and implementation specificities
PAGEREF limitations
0
Appendix D.
Translating the messages generated by ditac
PAGEREF translating_messages
0
Index
PAGEREF __IDX
0
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
List of Figures
1.
XMLmind XSL Utility main window
PAGEREF introduction__I_8mu1fu_
0
2-1.
XMLmind XSL Utility main window
PAGEREF quickStart__I_8mu1fu_
0
4-1.
Page areas
PAGEREF xsltParams__page_areas
0
4-2.
Layout of a header
PAGEREF pageHeaderFooter__I_6q7th6_
0
11-1.
The intermediate files generated by the ditac preprocessor
PAGEREF howItWorks__I_dgb6ju_
0
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
List of Tables
2-1.
Supported filename extensions
PAGEREF quickStart__supported_filename_extensio
0
2-2.
Supported output formats
PAGEREF quickStart__supported_output_formats
0
B-1.
Table caption here
PAGEREF Markdown_extensions__I_irxf9f_
0
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
Introduction
XMLmind DITA Converter (
ditac
for short) allows to convert the most complex DITA 1.0, 1.1. 1.2 and
1.3
documents to production-quality XHTML 1.0, XHTML 1.1, HTML 4.01, Web Help,
Java
™
Help, HTML Help, Eclipse Help, EPUB, PDF, PostScript®, RTF (can be opened in Word 2000+), WordprocessingML (can be opened in Word 2003+), Office Open XML (
.docx
, can be opened in Word 2007+), OpenOffice (
.odt
, can be opened in OpenOffice/LibreOffice 2+).
The first part of this document explains how to install and use ditac. The target audience for this part is the DITA author.
The second part of this document explains how to customize the output of ditac. The target audience for this part is the DITA consultant.
The third part of this document explains how to embed ditac in a
Java
™
application. The target audience for this part is the
Java
™
programmer.
You'll find at the end of this document an appendix detailing the limitations and implementation specificities of ditac. Please refer to this appendix before posting support requests to the
ditac-support@xmlmind.com
, public, moderated, mailing list.
iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAB2HAAAdhwGP5fFlAAAD
gElEQVR42u1aLWzbQBQOGBgoGCgoGCgYCBgYKBgYKBgYCBgoGCgYGAgYKBgYudxJBQMFBQUBBQUD
BQMBAwMDAZXiuJ5kMBBQEBAQabFjaQUFBtl79mWKr06auPadL72TPgXYjv0+v5/vvXOlYpZZha8/
bbbhd9gbv0uPPIt897uNHuAGMOEIAO64S1pel37Bc/tt9lh7wz2LvfZt8kMwdllcA2Fn4y57NWmz
R1oZDm/ynW81fmcwOhXwf230ivK7+iXb4i4+KQIQHl8Dlz0ppfHgrnvwkKP5b7FxFbs02R877DmS
NXVtjHevw6pA3nvMA3cQMYT/eVky48kBPFg4762tGseRyy8mIcQwK0e826Seajwkv5FNdzJ60+GS
uWFf7ZuPSlvamycHWTM3XheHy1J5IVQWDhjDKTEfoLvPM2yqBeA8R7i2HydPepahegz//mKb8ms8
xLb4MCOL7aYZ7tnkIxwfFFUdfJueSjUeDRVdH+Lx8y0v6dBncMwqzPDZpAiVRabQSZYqcFtRugaX
7MWisqitF6AQEaXt2Ga1lDcvz3ief6SIJB7Pszd2xIxfpBpUXhY9izYXxT7PDxMVwE5SgupruIvc
HzTAN1UEoPiSQcBw9qYY78kEubSIKQI9GQQkbirGf8bePy/0y0BAuO4EBLM3DSy2nTie4yBkZcC9
ZRDgJKtAUvtHel4RASjQ5PcAVoOVpQxio1W8B1jkg3BjN1EFQJMr0wE2e1s4Adh6iolu2gVGvbxF
TxQRcC1tlM5H3cJggvwURZJk9z+XO+9XV+pSgd2n5EFoshoohQwJfGsoYtMdxaLnf+yLclzmXsCR
egLIJ2VTYcy6fKNTFQEXyvcNcSytyPgbqXPAPDYycpW9NqmXZmuMh0JfIgFO6bbMcTIki4CsW25r
oQ1w4FreDyPijdKiJe9eeQmQ0Akq2Qe8z8gsZwwqZV/az/wMATnvG+QMVwMC6PFaNj6rqMLoa09h
fH5PjHAPUqsPJiMioskRPYy/FIu+/OpxybwIbnwuPY96jHX5bPbBLcbYFeCEUlqH3xpgF1AFbN+B
Kj+3xq9tAi50JGCSI/qGAEOAIcAQYAgwBOhFQPjQCRjkSICjIwGtHAlo6kgAytphHu4P2NK1H3gK
OEUXXtHokF/T1Nb4FDLcFQhoVdZtgVGb3BuuuFunAY8dAzZMP22WnPUPgWTJKutqtrMAAAAASUVO
RK5CYII=
Tip
XMLmind DITA Converter has been integrated to
XMLmind XSL Utility
, which is part of the
XMLmind XSL-FO Converter
commercial product.
Unlike
ditac
, which is a command-line utility, XMLmind XSL Utility is a graphical tool. It makes it easy parameterizing the DITA conversion process and then performing document conversions.
Figure 1. XMLmind XSL Utility main window
iVBORw0KGgoAAAANSUhEUgAAAxQAAAJVCAYAAABH8LPsAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
WXMAABJ0AAASdAHeZh94AAAAB3RJTUUH4gMSCCEgkwqRfgAAIABJREFUeNrs3Xtc1HXe//8HBxXU
dBQlPCMpHqh0SclV0iwi3GwvNLbdLTO335ZepC0dt/TavW7fbdWybWOzZbX22stcty53ydiiMqIM
l8qwKLcQRR1RExBBBjwwCjPz+2MODMMMJxFBn/fbjVvyObw/78/78554v96Hz/it2bTJhoiIiLTZ
43ff7adSEJHLXSBAVHS0SkJERC64gcuXd7s8n1i1yuv2gvx8PVAREcBfRSAiIiIiIgooRERERERE
AYWIiIiIiCigEBERERERBRQiIiIiIiK+BaoIRESkJY/On9+q457fskWFJSKigKJj1Jyu5f3PCrBY
rdwZNxV/f72qW0REOs60N98EYMe8ea3aLiIi3SigMJ2s5ZcvvcF3x04Q5N+LkQEGpt8cqdIWEenG
Whp9aO0oRkfZMW8e0958k2lvvukKHhRMiIh0g4CivOokXxYeYcr4EQweeEWT/afOnCX1tW2Um84A
MLRPGOMnD+uWhVOe8RjPHvkxzy+bCkDB2vn8Zdts7tuyjKh2pGc/38fO2U+5rtOqfG00Ntk+fOFL
PJw4tGsX6s61PLp6G1Oe2sJPG93uTl6fv5ovHOVgL6sI5r70O2Z7vaXGx7vKl9aXY+ueV/uft7c6
1J6y8Fp32nXfJWx7bCllP/a8niMvm0fwy98lEtrK8ihYO5+sEQ11riPKy1v5tOpz0pZjPcszYmGz
9y1dm3tQ4b5NRES6cEBxrs7CB7m7MRaVk3BDFFddNdi1r+akmXc++IbAej8G9e1Lbe/B3BEbxcCQ
PpdEYUUt28Lzy9rWCPN1/nk3fps0lnby+vylPLqxAxt0F8LUZdw3ext/2ZzBzVMbyq08YzNfRCzk
l43uycjXeSXM9hIklWdspiwionOf90UpC3sQkDnqKZ7f0lA2BRkZlDP1wjWCvdTtlsrjfD8f5xto
t/bY8ozH+MuhhfxySyKhjvJ9du2wDgtE5eIFFQomREQujja/5WnwgL5c2e8KDH36cGDvcU6dPAuA
+VQ9h/adwNC7N6FX9GVgv6H8aPJ4brx5jEq5c1rq/HTLS8yN2MZf1u7s4oHZU0wxbuRvGSX2DSUZ
/G0jzH2kccNzeEQE3218g4ImKZRQkGu8RILUFsqiJI+vjRHMvaNxYzcq8dLvUS8/eugCHLuTDzca
mfJjZ/kNZfYjCxm+bTPbSvR/ke7KfXTC/d8iItI52jxC0atHIJPHj8BitjFqyCAqj5xk6IR+BPn1
YEiIgdqz9RSU1BEf1Zeb47pXMOE5DeK+2Kb7nVM83I99dv7Ght7RkgxeWLqR72hIp609tE2mNLW6
l3Yos388m8zVOyhYNtU1StGa9DyPmfLUFm4++hjPbhzlNuLh1lt+Xr25U/npU7N5dPUbFCQugzc2
8t3sp3jYcyAi9sfMZTX/3rmMqEaDMW+QyULui83lL0da/2yzRjzF5NzVZBob7vGnw9yfV+PRncZT
epzThV4ibPNSRxpNp2S1VIfaXBZDhxGGkbKjwNDO/xy4123PKU7ey9j35+M+VjcZlSvPeIxnc2M7
b8pRyVHKmE28e326CGXckVpat3Cpv3XJc2TCc02FiIh0wYACIGZyOF/nH6Vv7yAmjLqSMVeGcKr2
HMWVtXxRdJJ5scO4KnJw9wsmXNMgcMzJNsJs78dHLdvC89OaTukozzvC5Je2OBqEbZ9OYW/Yj+K+
Lb9r1Ih/dG0rG/HDRjCcXMpLIGpo69JrckxJBtuOQmjiI8zNXUpWxh1EJQ6lPOP3ZOI5Lam9McUd
zI1YStZjh/jOOJv7tnhLcxhRsRFkekwJKtixjeGxLzGY3DZd8ruNm5n80haed5bL6vn2qUVbtrim
vvxl7bRmy/mL1b9nriONgrXz+cvvM4hyPP+21qHWlcVUbl4YwbOr51PWSWtkfNXt805j52zYfNRt
qpZ9pGnKj3/n+xrbVvPotlYG1q059ugRvosYwWCPehYWAWX6e3DewcvFDiac/1ZQISLSDQIKQ//e
9O8fhNVqpa7ewpmzdWR9dZT8AiM/SxpLcJ+e3awYdvLvbRHMfcmt8eSc397GlEITl7k1jhwjBo0a
Uc3n48ONMPcl9zUQ9ikZXy9tPOrg09BhhLUpPccUkKd+13DM0ERHr7vz2DcoSJzGvzfSuIzOizPt
jQxf+IjP+wpN/DFTNm6moCSR0KH2YCdr22zitwyFjDZecvaPXaMJ9nRXg/vUl1Y8q+ELH3GlEXXH
QoYvPcJxIPS86lDzZRGa+Duej8nghaVLeXRjN1l87zVwmsaU1e7PMo+vjR6jBZ73ndhQl1+fv5pH
faw7asuxvpQdLYGp3a9cO2sEoiuOdPgKGBRIiIh0rjavoSgpr+b//rmT70qrqDp5hqOV1ew5VM6g
3jbiZo7shsEEjmkQo+yNHDeDR7Rv0W95xmM8On++/Wf1tjbENTv4wks+7EHCIcpLWnsvbUhv5w6+
YDbX+mp3DU0kfvY2/jJ/NV+4Nci9BUOvO+95/nwenb/Wy9qHRhll2+83gs91Eq5WKNfOti/OBijP
y+W72dPateh8+AjPt41FENbGF5CFDfMsAEc5nlcdakVZDE3k4S1beP6p2Xy3cSmPdvF1Mh3/LO1T
w9i2o4V61dZjm3u2IiIi0uEBRe6/D/D/XnmXoiPllNaY+erwSQoOV7L38DEOl5/g229KMZ043f1K
4eiRhjUP58XeqH42N5ZfbtnC844GYKffS0QsUR3YNnI2ips2yD0acc573rKF51t405Rz+tTdv3uk
xYXkUXcshI1vUEAJBbk0WaDc3etQW8qCqct4/qXzW0RcdvTirT6Omjab73LzKHdOd5rWhmc5bATD
O+JYo31Uye3hUXZprPEXERHp2gFFSUU1qX/L4lh1DSfOBTMguB9zY4cyafKVlJ6uZf/R4xwqP8E7
H3xLfZ2le5XCsBEM9zICcPxIG1sZjgWf97mvqWjDm2p85cNX77fXgGb1toY32LQmPV/HuI7N4G8b
R3HfSwth4+875k04JRn8zfWmHedbdlbzuq929NAYJkds499r3yCTjg2WLnodamtZQONFxG0ylKjY
CL470vTEgh3bYNSwC78weuo0phhzKdhpn+50bVtiw7YEbb6OnTqNKZ7PyfG5vVZvjRUREbmwAcX2
/L2crbMxtH8EP7sxkjvnjSck9Ar69enB96eOoBYbB8sr2HWkhI9y9navUhiaSPxsI5m/z6Dc1TZf
6/tL6Nw16e10a6w4GottzsdS9+lCjukwC+9ofmpISQYvOL4MzfWlZa1Jz9sxJRls2+lx7NBE7l5I
4zJqXzTBtt/b32TUOJ/wxWZfadvXN3yxbRvDY2O65utS21WHWlEWJRm84DFiUZ6xuflpas0IjYlt
GrDsXGv/EkHPkZ8mdbsdmqThmPa0uaXpTiVsW+tWliUZvLB6G8Od9bYkgxfmP+YIcNtyrP36Dc+p
lZ8vERER8anVi7JHhA1iWuhYFv30OoaNGthoX69Af+bcFMUrGacoPlrClo/zuXFmJD17Bnabgoha
9hJzH1tqf8UlwOyn+OXCQzzb3GtJHW/n+cv8bY63yiRy98Jcnl06n0ywvzL2qdk8u7kt+djCL0c8
xrNub1PxugjX/Y029gxz35YtTRpFrUkvatkW7mO+/T4A++tQEylYu9T+VifHsc6FzH/LiGn3ouCC
tUvJNM7mvt95fK/CsqeYMn+17zdiTZ3GFODalq7rWS6O1/Z2xTrUurIYRpjXZ+0xpczHfYd6CXwe
fgleWDqfRxsObvqN5E3qdjuiFx9pRN2xkKylucx9pIU0D21sKEvw8o3i7Ts2atkW7ls7v9Fzej5R
6ydERETay2/Npk22qOjoVh1cX2chsEeAz/1WG3y1r4rj5SeZNnEQhoG9VcIi0lhHfIO2SBdQkJ/P
43ff7aeSEJHLXZuGEJoLJgD8/eC6yAEQOUAlKyJelLBts/17RBRMiIiIXIYBhYhIe7m+PVtTjERE
RBRQiIi0VdSyLTy/TOUgIiJyqfFXEYiIiIiIiAIKERERERFRQCEiIiIiIgooREREREREAYWIiIiI
iIhvzb7l6WhxsUpIREQua8PCw1UIIiLtDSgA7pw+XaUkIiKXpb9/+qkKQUSkBZryJCIiIiIiCihE
REREREQBhYiIiIiIKKAQEREREREFFCIiIiIiIgooREREREREAUVrZKdgMBgwGAykZAPGNOLj0zDq
WYuIiIiIdJOAwphGvKNRbzCkkN3RafsMELJJSdrNqnwTpvxV7F6jQEJERERE5EIKvCCpRiSTlQ/x
S2BdVjIRnXU3xiJ2M5G5EQDJZGXZAxAREREREbkwOmfKk2NUIS3F4GU6Ugop8Ybmpyk5fgcjaUuW
k5e3nGiDgfg09/GHbFKil5PHBpIMBgwz72aW50hGo5GTeNI0fCEiIiIicl7Oa4SisrKyybaQkBDv
B+ctp+gJE6ZU7Osc1qTx0DogbzeR+SZMEY7tSSnMzY/0HpcQQfK6VWR4HfmIIzV/Fbud+4xpxC/B
I+Ao4gmTiThncLEkjQS3dLzdj4iIXNp8/t0SEZELH1C06X/EMat4KM7x74hIYlzbE0lwtujj5rKI
NRQdiez4OzUWsZsNbDBscNu4CCO4Agr9URERubyoI0lEpAsEFN1KzCryO3NNh4iIiIjIJa5rvTY2
O5MNMYkkjADyilzrH4xbM8hzP85tX6tFRDIxbzkvZuuhi4iIiIh07YDCmEZ8tHPxdAuvjXUssDYY
DBiSID0rmYiIZNat2m1fXG0wsKRoYsMUqYhknlhkX3gd36ZV1Y41FkkNC8AN+n4KEREREZHz4rdm
0yZbVHS0151Hi4u5c/p0nydXVlae37oDx8LpdZqGJCIiF0FLf8f+/umnDAsP97qvID+fx+++20+l
KCKXO38VgYiIiIiItNfFXZQd4fjyORERERER6ZY0QiEiIiIiIgooREREREREAYWIiIiIiCigEBER
ERERBRQiIiIiIiIKKERERERERAGFiIiIiIgooBARERERkUvDBf9iuw8+/JdKWUREXG65+QbXv7Oz
sy/YdeLi4lTYIiKXQkABkDR/rkpaRERI35LZKQ3/CxmoiIjIRQgoREREfLHZbCoEEREFFCIiIp2j
NHs+R/Ztw2oFqxX6hS/g6tvXqmBERBRQiIjI5aitIxTHjnzG7JRKegQPBOCt//bDZntRBSkicpF0
ybc87U+dwYzU/Rcnnf2pzJiRyv62ptfMeV25jDooM65776r56pDjROSiqDvxOZX/XsORD+9kf8ZN
+Af0dwUTIiJymQUUM/z88Gv0MwNvbc8x46/m08Lzb951VDoXKr1LJS/dIV9tDkAUZIh0GpvN5vXn
0FtTOfjezZR/u5ZeV/RhbNzviF74LjMfKgJKgYPAKazWpmmIiMglGlAw/QX2Nfqf/iekjPFyXMI8
Hnj5Tbae7/U6Kp0Lld6lkpfukK9WRUMpfPJJCmP0/wWRLhFQVFceIPquHMbf+mv6Dx2P6eg/ObJz
JcWfPcb+fz0FnAZOYbEooBARuXwCCl/2pzKj0WhFAvMeeJk3tzp3z2gY1ZiRyn5H73HqYj/8/BY7
Gq9bWew2+rF4q2c69v2u6Tju19yf2jB6MvZhPnXub3KNxvnyep7ndte53vPYIfe2P5UZMxazeIZz
/35SZ7gf63Ed9/t2XcvteM/eeY8pTc2PMHXVfHmrc96f+X72k3rvw3z66cOMddQZ3/ls7/01nOd+
vMjlbs/fhlL4f2Op3vMiFgucObGLqu/ewlpfxMDhAwi/7nuER0+ir6En504XAiexWlVuIiKXT0Dh
aKA1akD7OHTMhOl8u2c/7E/l3oev5j1Hr9N7Vxfaz/n0YQrn2bDZ1pPAflJnzIH3Gnqn1id4pEMC
6/e9AA8/x1b2k3rvP/jRvk9IGbOVxWMf5mrnufteYLpbfhuu4Zmer/Mab9/3wrfMsbeGm+ZxTEfd
G/Dpt0x41YbtvQd4ec694Pz30/YyHpPySUPv3XtX8/BzWz3usfHxvvhMx9uz62L5wj2w8/XM7amR
8uoLTHeMqH2SMqaZfLb3/hznOe9vzmIUU8jlyn1kwUIw1//sfSJmPIrVCr0HDmHwmHEYwq6kV7A/
WExgrSbsqiGUFL4N1GqEQkTksgooPKc8OaeXjEnhE4/pT2Pm/gj+kcn+MeO5mpeZ4+itT1jvaNxP
f4HHna38/Zn8A7ff8ZKO4zqvvvAtc/zG8o8fvWq/3v49fDvd+7l42e5Kz9d5HtvHzP0R019+k63e
8tiR9zb9R8wdA4yZwHT3f7vy5dYjP+dl+HaP4zy3tN2P98VXOt0gX76eUav4zGd7789xLNinifEt
e7RgQxRQ0OOKsZhKD+FcGwGnwVoJtkqwnGj4qTtBoLUK2Ks1FCIil1VA0RZj5vIj/kHm/gTW22zY
bPN4s8kUorak42zDX90x+TrUETfZQffWUl72pzJj7D/40T5fPfJtaFS3Jp2umq/2am/6FzpfIpeg
XgMmcPiLPwNme0BhqYLaY1BbCmfLwHzM/vvZCoYN682JfVlYLCo3EREFFE3WUACMYfzVn1K4PZXF
qY4pS7Z9vDD9W/Yc8taAfRjvs1wc6ewH2MriOfCe7T2ufvhe+/XGjOfqTxsCjv2Z/2hYC0Ez6dX5
OG/MeK7+tCEv+zP/wacPzCPBWx73d9C9tSa4cesRb/kegU8LXT38jY5vVTpdMF/7U5nhDNha+8zd
rtXmfLblvK1v8rL7iIXIZcZ9ZKFP2A2YDn1B/Zm99kChzgTmUjCXuf0cg9pK/KwmAk7v0wiFiMhl
FVB4rqFoYfFswrwHePnzU/DwWMfxjqlKo5o2YFNefYFv53hf5Jow7wFefvO3LPabA++tJ4EE1r93
NQ+PXcxW17/t591beHWLvcj29PBxnn2thjMvYx++mvfWJ3jP4/7xHXNvWYXNZ3hMCr+6uqHsW7xH
19Qwj+PbkE5XzRfOZ9TSMx+Twq8eeJk5fn7MyJzbxvRbcX/un4U58J7eLiUKKLDZbBhG/5A+w2aw
8+8r7SMU56rgjCOQOFsG9ceAE1SZyjB+VcSn731JcL8hCihERC4ivzWbNtmioqO97jxaXMyd0303
nSorKwkJCWn2Ah98+C+S5s9tZ/a2stjvTea5LYq+uOlcqPQulbx0h3x1AftTmXEvvKogQi5D6Vsy
ueXmG1y/Z2dnExsb2+iY8oKNlOb/gdqao/zHI6lQvQH8z1J17BTf7a3h6KFazp4Nps/g67jmR695
vU5ubi5xcXEt5qelv2N///RThoWHe91XkJ/P43ff7aenKiKXO/+unb0E5j3QEYtVOyqdC5XepZKX
7pAvEelqPEcXBk+8h559BmOxgLk8m2/+tZ93Nxwg9906jtdMY+L8bK7/zz1cnfQ3n99hISIinSew
q2cwYf0nHdLD3VHpXKj0LpW8dId8XXRjUvjkExWDiHtA4WnEdY9y1Pgg77y+i4Ejf8j3fv67Fs8R
EREFFCIiIgD0HnEzNz2yRwUhIqKAQkREpHkabRARUUDRovQtmSppEREREREFFG3n/jYPERERT599
9pkKQUREAYWIiEjbtebVriIi0rX5qwhEREREREQBhYiIiIiIKKAQEREREREFFCIiIiIiooBCRERE
REREAYWIiIiIiCigEBERERERBRQiIiIiIqKAQkRERERELm/n/U3ZlZWVKkUREREREQUUbRcSEqIS
FBERERG5jGnKk4iIiIiIKKAQEREREREFFCIiIiIiooBCREREREQUUIiIiIiIiCigEBERERERBRQi
IiIiIqKAQkREREREFFBIZ8hOwWAwYDAYSMlWcYiIiIjI5RRQuDWGDQYDhq7SIjamER+fhrErPpFG
ecsmJWk3q/JNmPJXsXtNO/Lsnl5Xvm8RERER6ZYCL1y7OJ7o5RNJN5mIc8UXKWQT5/r9oolIJiur
iz4R97wZi9jNROZGAHRAnrvyfYuIiIhIt3SBRiiMbM2AVfmpjYKHuFTH78Y04l0jFylkO7fFp5GW
Ymg8xceYRrzzGHtYQor7Oa504kkzeqZjP86YFt8wShKfhtGz1761efESNDVNN4WUeC/necur637c
jv+rM2/ZpEQvJ48NJBkMGGbezSz3kQtD42s0yosrfSNpS5aTl7ecaIOB+Kef7pD7FhERERFxOq8R
isrKyibbQkJCwLiVjLyJPBHh7Sx7Q3liuomsOMdIRko2poeAvOUUPWHClIp9utSaNB7KSuaJRQYy
s1OJiwOyM9mwaC6pZJMSXcQTzhEQYxrxS9JIWOeRjjGN+OUTSTdlEYd9lMRIZPvyEpdMREM0wRJv
6ebtJjLfhCnCcV5SCnNNc8n0ltesBLbGJ0G6CVOcW+DxV4A4UvNXsXsJrMtKJsKYRvwSR5DgeQ5A
XBamZOdtpWB4MZvk1DiS160iwz2Nf53ffXt75iIi3VlISIgKQUTkYgUUzf6POCYSr/GEsYjdMatY
52gMRyQkErM8k+yHIiFmFQ85G8kRkcQ428pzF5GUmU1qXBzZmbtZ9VAqGNPYzQY2GDa4Jb7I3qj3
SGciy0kyQLoplbhU+7lr2pkXF1/pxiSSEOHKOItYQ1FOpPe8GiGDhuu3inGr93OMacRHLyfPrfyN
xHXYM9AfXhG5FKmTRETk/F2YKU8RkUzMy2BrR63+jXuIVbszySabzN1uDfaYVeSbTJhcP6le1mfE
kWoyYTLNJdN9es/5Z6pt6bYqr+1kTCM+OoPEfEfa+auaBkAiIiIiIt0moCCOh1bB8ujGjezslBSy
IyKZmLecFx07jFszyFs0t4XGdQQJibvJTMlkd2KCvdfdI53mGtspaUZHAJDPqpjdFB1xD3zampdW
pOu64Uw2xCSSMMtHXiMSSKQV99Cac9xGRoxbMxpGKgDyihq/2el87ltERERExM0Fe8tTRHIW+cQT
bTA0bFyUjok44vJXER9twL5nEemmODAWtdCOTmT38iKeMLnmE5HaKB3sowDrPE+MhOXRGJY7D8kn
a8RWMrym0bq8NJtu3nKinRtZRLrJvv7Aa16zkkle13j7orWrWrpw03PSTTwx0eC6bsyiRQ0jFBH2
NShJhg3EPPooEHJ+9y0iIiIi4sZvzaZNtqjoaK87jxYXc+f06T5Prqys1Jx6d46F0+uykr2vXRAR
kS6lpb9jf//0U4aFh3vdV5Cfz+N33+2nUhSRy52+KVtERERERNotUEXQgfTFcSIiIiJymdEIhYiI
iIiIKKAQEREREREFFCIiIiIiooBCREREREQUUIiIiIiIiCigEBERERERBRQiIiIiItKlXPDvodi6
datKWURELoqEhAQVgohIdw8o9D90ERG5GPr37091dbUKQkTkUggoRERE2io7O7vd58bFxakARUQU
UIiIyOWuPYHB+QQiIiKigEJERC4hNptNhSAiooBC5PJTkbuH9TlmwEDSinBCPH4fpyJqhomMlcUU
hIax+P4wBnWbh17GK+vLGJw0mcRxXbxeRoWzItGgqiYiIt09oMgmxZDEBmJYlZ9FcoRzcwqGJEg3
pdJ4oNtIWvwSWOd2bIuXSMGQtKHJ5kXpJlJ9jqIbSYuPZnlek5MwpV7kObl7i1mZbnLbEMSsxeOJ
HeS5z759/B5nI9adR4PW7byoDm0Imcl9ZQ855W6bLqlGjKPR67VcTeTmmAmdNZ77Y4Psx7r/7ijz
8y/v5vLQ0RqepyvfjgZ0eWgYi+fBm+vLKPcoB3v+nPXU8XsL9aAit4wCDCQ5gwnndZpNG/ZmfE16
Q2G4lb/nPTjSafQcHPu4EEFM089Co2fv8bluzb6GgNVDC2U7KHY8KwYXszK9mIwJXTfwceccoRg4
cGCLx544cUJ/1UVELoKL+D0UcaSa0lnUZHMqpibBxHmIWUW+KZ1FLCLdZCJ9UUsnRJC8bhUxjuNN
JhMmUzqLNiSR0kWm5YbOGs+KFZNJijKTs34PuRXAuHAWzwpqFGQMirUfZ99uIGnFZFY0anCayd1u
gqhwkqKgYHsZFR3W2HY23CazYsVkViwOI/S4uYPSb6OKMl5Z+TUZe9u4r6WGfGgYi1dMZsWK8cwK
NZG+sphWJTMunBUrOiiYaG8e2iyI2PvDiaKhnuzNdTTy3RrgoaFmtuc6Grp7TRwPDWpz43tPoZnQ
WWFNAqPm0q7I3UN6QRCzFjfUt8Fe7mH8BLdzjtvTOn7cDJipKIfQCYaOHxGpMFFY3pC3pCgoSHc+
JxMZ6SbXZ3rxrCAK0h2f6Wb2OT/bzp+kKEc8McHQ5HOYW9G0/nXs5/3CslqtWK1WKiqaz21FRYXr
WBER6VydPkJhTIsn2tH9vyg9vdG+7BQD9gGFRY1HKIxpxEcvJw8g2sByZ6CQlUyEa6TDFUE0HvFo
jscIhu+RizjmLoLM1pznnle3/Q8VOe97EemmuWQ683weIx/jYsMILSijcI+Z2NigtidQYaKwHKJm
GhiHAQpM7KkIs494nI+9JgqAqCS34GVQGPff7whi3HtrndNamoy+GEhaEcZx9x5lj6kwlY16pBsf
c3zWeOZRzPqcHkSFnqQcKE//2t7z7QqqzOS+Weaxz3lNj/x5u7+Zzu1BxM40kJNuonAvUOgYNcjZ
w8qKcJJo/PuKCSZWppu996w3e2+tz8M4vJWnPY293tLe6/t4922Ji8M4vr6M3Fw4XhDErMUex0ww
MLjQREWsgT3bYcIEKC9ve50cPNNLfW4xbTM5uSZiEw0wKIzE2KZJDBocBJg5XgFUmImKMlBQaKJi
PBwHBjv2e62jTepWUNP6Al4CGZiQNN7jc2XPw7hKx3McHOSWPxMVlUBz+9zT2ltsf55R4a0OUsdN
6MDPeycEFE7l5eWEhoY2Oaa8vFyBhIjIRdS5IxTZKUQvn+jq+Z+b6R4IQFyqYzTA87yIZLJM+ayK
iWFVvmPUICuZCEdjP9U1kmAifxUsfzHbmaCXRjCqAAAgAElEQVTbcQ3XSI1zNPyTdjekl7+K3Unx
pBlbjIiaOS+blOjlTEx35iefVTHOW8jClL4I2E2RsSHQ8AwmKnL3sHLl16xc+TWv5Jqbz8ugIAYD
5RXm9rX7HT3ME8YB4wxEORpkrW/8lZHhJY/2nt8gBoV4OSW3mBxnb+3iMELLy3jTLY2opMmsSDIA
Jgr32hvJ9n/bG4DHHY1ocveQXuAcAXH0zmc05L08xzklJIAJ88IIdabdqJEcRKzHvpAW8ufz/kKC
CMXe2z0u0d6THzprPCsSDU1+93ze7j3rSROgqoV7a00eGpXninCisKdR0ULajcvfW50LY96sIApy
yiiP8tYYNTBhcBm5GWUUTghjfLtqpve601zag2LDiAIoKHZ9fjL2evk8Oep5RaWJwoIgBk0IIrTc
TGWl2fVZaKmONtQtqPE8Fu9lFjuu4TOzvQAINTDeW0PeyzNsfp99FAMMJDnr1l5nGRRTgJmc9Q3l
0Tgtsz046eKcow7On7Kyskb7y8rKmhwjIiKdq1NHKLIzNxCzKt818hCXms6iDWs6IE5xjmw4LGr5
HOPWDPIWPUFWREPQ8sSi5azZaiQ5oZ3nRWayIWYV+a4YIYLkLJN7NIMpPQVDdBIxq/LJ8jIwMSh2
PCtiW9ugtzewQwe1Y3QCE4UF9v+mr/y6YXOBib2Jhka9zp5z0xsro6Ci8bxtnz2pQGWFGULDHI0p
AxNCy8ipMDfu1nU0nMAZ6Jg4ftxMxXET5RiYOQ4qC+3TVBrl3S2NRvPnK8rY3spS8Zk/gpq/v0oz
5Th7k1sf4DW+nn3UaW9GWbP31ro8eDTQQ92u10Lajcq/SRRazPocmDXLQE6O93n442LD2L7exITF
QbCnY/8f4jttA4krJpPobFCnmygoNJGY2PTzNCgUCgtNQBATxgVRgYnCQnsjP6TZOtC0bu3N+Lrh
2JbmD7mvBfG1TsPnM/S+b29GcdPRwHHhrFjhCDZWljFo8fguPwrRHG9veSotLWXIkCGUlpbqLVAi
IpdbQBERGUNexlaMyY5Rg+xMNgCr2hlErInMZx1LSCIdkynOuQNDZivykpBIzPI1pD0UZ58eZUxj
zYYYEvO9zZXKJnMDMLel8yKJyctgqzHZNeXKmc+s5AjHdK+JpJvSyTREE499e3vZRxiCmDW+7QGF
feGr26JutwbP9lwz49ymUI1LnMyKRO8NpNxKt95XjyCgIL2YCc4RgYoyXnkTbpwQ5DbVwjlvvbn8
G5gQBQWFZeRiJnSWPb0KRxA1q0ljyXRedTRkUCvy57y/7WXEjgtjkHMtinO0p93Xsz9Tf5/31oY8
NBpdaLiPEHykvbc15eboDY8Kt0+xKzSR4/6MXS32MO5fEWavIu16CmavwWhzaVfkFrNnfLj9npxl
4zXtIAYPhpwCE4SGEUIQg0LN5BQAUUH2S/qsA2Yfz8+Mr+w25M8xquE5hc6Z10ITieMMjUeeBjWz
zxE4tXWqU+PgJIgJId0zoAAoKSlRMCEiclkGFMlZpBcZiDYst29YtIhF5LE8OoXI/EjWuK092GDY
QOP1EBEkJEK0+xqK1AgieIJFhiQMG9yvtAHDbucaCzCmrWEDeexOe4g4ZwM+Ipms9CIMzvSwT0FK
jjCSFm/PR5J7oovSsccsvs7zvs++ZgLS4g2ON0dNdO3JWx6NIaMhn61VnrOHlTn2xpH7W56c0zBy
1u+BZnsl7Qtf3XvG7Y01R29sThl7Y1vxtqBBvuZfG0hcEQ4rixv3hEeFMzY2nFmFe8hZ/zU5YG9g
xQbR3EricbFhhK53BEDzHPPJY8eTVPE16c50HOl7DXyc99VkDYX3fV7z5+P+1q8sc21rzxuWmtxH
aBiL7/d1b4Y256Eg/Wt7w9pxH4PwkfaElhv5ua8U28vIkY/YeWEUri8jfWUxSYvbENQWFLPSY83I
II/nUXjcDOPaEiibG56ZM10fbztyrh9gcBCDHAEG5Q0Lmgf5qqNeAopBsWFE5TSu503WULh9Nikv
cz0v+0iHgcQkAwXpDWUSlTTZ8blqZl9FGa94TnXy+jn0vm9voanp57+bBRQiItJ1+K3ZtMkWFR3t
defR4mLunD7ddydXZSUhIc13cW3dupWEhASVtEhn6rBX03Y+e29+kL6vQ3WD7Oxsvv/977f5vM8+
+4y4uDj69+9PdXV1s8e29Hfs759+yrDwcO+xcX4+j999t58qlYhc7vTFdiLSpbh6/V8p615fbNdt
gjVz+6ZJXSSfffaZHpyIiAIKEel0roW53ZHbAmvp4GCtDS996ALi4uL00EREFFCIiNhlZGSoEKTb
6Qkc9/FlKqHAq6++qkUeIqKAojMu0r9/f5W0iJCYqHEH6fhAVfVKROTi/n/4ggcUCQkJLS6KExER
ERGR7klTnkSk0z3z0elOu9bJkye54oorVOiXqPGqVyIiF8WTN/VRQCEiF9dPp3ROY6y8vJbQUDX8
LlVffaR6JSLS2V7/4mSj3/1VJCIiIiIi0l4aoRCRi+rqwP/DcuQjztQUcNJ8FvMVUYy+/hec6zGZ
nn79qNh9mndfzWbXZwf5ruIcBAYTWH+KwVf25u57Eul9a4gKUXwy1ZjJ+XQ/paXVnKg2t3j88pSb
VWgiIgooRKQ7OVH0Eb1OfY7/2cP0svakt2EMAUFBBNMfax2sff5/efu19+nnF0YgQ6mpMxFEHYf2
H+Lk8VoeuXWpClG82lVQwnvZe4ifMYZ7bpuEzdbwhlc/v6ZfcP3k81nYbDav+0RE5CIHFNnZ2Srp
86QveFJdvFTrouVsKfXnThBgsVFf24OA073hZABcAeVHzlGwex81584QiJlegdUEBQZjsVrwswWw
Z79RD0S8Kiuv4Z9bv+XBn05jeFg/3vn4gGtfQEAAfn7+zsiC+rpzrn02qxX8/RVUiIh0tYBCDWI1
ghWcqS76jiiqCAw4TaAfcKae2upyrFWH8L9iDGEjDDz4yF1sXLuFoq9LMJ0+RrD/QAL9etGDYKwa
ZBUfcj838sPZEwgb3Jd3th8mpH8A9/xwYuOqZ7FyrPIUPQL8CQzwY1JkH/ysdVhtgQQEqm6JiLRW
py3Kttls+mnnj6guXtJ10XIKqOeszUqtzUZt7SlKv/0c89FvoUcdcT+exvp/PM1vX3iSSZPHcsZa
SY+AACCQAP+e7bjgBzw9sh+T3H4W/vmAx/5f8AnwyZONj/N+vOO4Jz/Qh6sTvfqn32O1WHzuP3z4
BGPDB5LzZSmmmlP09D/X5JiAAH+GhvZjcEhfBhj6EDslghpTJdXVVeeZO2cdu4VNxW55+vMtTHLU
rabHNz62Jb7qZvP1sKW6LyLSPuqCEZGLqlcP6OkfQGmVFUtwKMMmzKLOfzzH9hzgyPZ99Oo/hmuu
nULc/Vcz9tqhPPmfz1PwVQm9MRDQ7lkp1/P49g9YEO5sZH2PSfvfYNcztzQ6asYzNex6xnnMGka7
znFT/EfW7/0ZSaxhU/EtTffLBfHum//H8WOl3Dzz+173nz5zDj/8OWEyU1NzmoH9+1Fz+hzF39UQ
EOBH1Bjvi/lNpmp69xtwnrm7hV8dfgNGrmm0deTPP2DXzzuwEO56g11Lilg4M4P47R8wel0/klvK
1/bV7JtZxOLDf2BG8R9ZONN73b84TOSuNeKKqyIjWHCrodOufuT9fHLwfs3m9rX6fhjArGWjGeH8
1XiQTe9UNWx3//02yHmnCsO0icydGtQx5el5/Y4uuyIa8ltVSuamUkwhQ7h9DvxrUykmaHw/rvsN
ZtKCCVyD/RzDbdHERrRwrcohLJiD/RotpTugIX92Ddub3oOzjMx889pudlV6pFE5hNvvGkL/thaQ
ozxo8jwbPyP3+6jeWcjbO2qbfBa8bW+0zSG8leXYrvvxoluOUMz78FbiPrqem7NjmJ01hVnvRTPv
3R+oV1gueF08ceIEr7yynvT0dHJycti1axdGo5Hy8nLMZrPruLI//YGPvjeBf/3kJ5grKlQXW1B7
zkp1XV/6jppF72vvITB0Dlte28cTi//I/fMf5b8eep7iXd8x6vqBPPj4j+jTO4B6zGCzdsDV7Y2s
Sa9leuk5btnh7Ay47SHuvQ2ystXb25l2fprjc5/FYuVcnQXTKTMnqk8xOKQPPQP9uf+/P+CLgmMc
OGzi+p+8DsCja7az5P99iMVmw3z2XPsz9PEvXD3/T3/svuMAm+Y5RwU8RiKK/8jCkXeQzuc8N9Nx
zLw/crjJef18jG74UPxHFo70cU1Xi+NBNm5fzaTX7mjIb7PneY5w2PfbR14cv3/ccH7bRj8cDavI
CBYsi7b/dGIwASYOFbVnX2vvZyKTQqrIWXuQIwCY+WZHlb1B6GzAuv8eMZoFy6LPP5jwef2ONeLW
iUwKAdOOUo5g5pv3SjExgFlujVVDSDCmfVVUOxu0+6owhAS37ULGg/ZG/11DXJtaSrd6ZyE5RcFM
WuCoV8uaBhMA/QYGA2ZMVfbnU10JUIt9wNJeBwxjB3RI47sh0Kil/232fN0+LRjTjoN8U2UPQP61
o5bw26JZcNsAKDKSa/S9vf/UCa7Pze3TgoEBjIpo6ZlFEF5ZyjcdtBSxW45Q2Kx+PHn7g5yqP8E5
Sy0lVYfJ+eSQ/rrKBbdtWwF9+0Zy4MBXfP75Tvz9/enXrx9+flb8/QOYMnUqsaOH039nOrfOjSL3
/a/IS07mhs2bVXg+P89QW+8HwWH0C58JXMOXW4v4v9cOcto8ip5+AWx+830GjbiSJ/9wP9E3jGPE
yCs5sOc4fn4dFOSEJxB/3VN89PEfmHFjW048wPZ3IP6FqxhJIjy8lcM/f5CReqwXncVi5btjNWzN
OcCx8lLWPHYjQb0CsVhtXBs5iEfWbMdUcxaL1Uah8QSpy2/k3DkLdfWW9i3I/vgXTFq4m8e317Ag
3D4lKZnreRyAq1jwZg0Liv/IwpkZTRv1hyN9jIA5znMGr3++hduf/IBdz9xiHz0DKG5o6TZs+yML
Zz7F2I01bLzRkbeZt8D2D1xpedb9gy2dF/4BT4+8g32//opdP78K56gdOEZextjvn/BIxgJjN9bw
qzZ8lqp3llLMAGb5Gh1w3maIo0fVeJBN75gJj4TiolpHr/NoeG83u7AfU+PqgR3A4dd2s6vSrecW
Zy82QD/CQ2rsvcRFRjY1Gokw881rxib7vOapyf0EMynGmU4Q18wZwqFNpRwyjoZ9jvxUGtlUOYQp
IaWNfnf26jt765v2Sgc5etC990a3dP0R2MvPEFKLqdJ99MLcNF28lbVno7wh/V2vmTFVQvhtXkZD
Kk0crhrCNQMcQVqb3vptD7oM0ya2I91aDu03c00zAVr/MQYMO0rtAURVFcUEYwippXifidgBtfaR
kJCgFupkldto0BBMbmUJ0KR2DxjiKsf+IUGA/dXW1ftNmBjApAh7WuFUYao0U13pfTsRQa5A8psd
tRimeZa9idy1VYxqNEJl4Jppwby9o5RrIs5/lKJ7rqHAhsVWT03dMarPlXHy7Alstg6+xoE/kZDw
Jw60drtGKC6LEYr6+iFcNSaU4J6BBPkFUFffg759hxIYGIq/35X8c/s/OEQ/rph9O9Yzp+k/IJia
wsKOr4eX0AiFDfAPDCAwqC/+vUOAQPYWVVBm9ifQbzj9+o4kgGC+O1QOZ4Ee0Ds4mED84WK/iad4
K1kkMjPc0TAjg+3F+ox1iYDCagUb2LBi6NuD0EH97H+oT54jPWs/U6++Ej8/Pza9XUj8jFGMHtaf
EzWn8Q8IwM+/7X8aP9n6v3DXE66AYMaS1UzqgPto6P3vx+2/+bx152RnsOuuNxoa9Dc+xOPXfd7i
CFqz532cSfp1q/ntz69y7LyFXx12C4Bu/ANv/xqem2kPOtoSTADUnKiFkCD6NQk03HuX7T2q/9pp
djUSTQNHs2DBEAzUcmg/jBwbDJVmatx6lNl5kF2VA5i1LJpZkVC8o9TVm22YNpEFy8YQe1cE4a7G
uqFxQ9ljX/N5atzINnjpCTdVml09+kRGsOCuIYz3+L2/R6/8285eacfITXUz99Sa6zvLzzDNcQ9U
sWunuZl0Pcvay/0OGMIN04IxVdZCZETT6TZjDYQ7zzVWURwyhElj2xZQVFc2NOpbm27/qROYFQmm
HbvZtDafTe+bvCc/IBgDULzPxJF9VRA5hBvGBkNlLdVVZkyOXv+Wnr+9To2m386DjilT0Y5ya37k
ZdM79mte42PGpemEucXtzsB8UitHtvqHBDk+L+evWwYUVosVq82KxVaP1Vpv325pyzUO8Kc5IYTM
ab6hBm3broDi0g8owELkVeHc98DPSP7hLObPj+eqiAFETRjOlJiRnJufz66aTA7e9ABfDY6mqvoc
17/4B6+BwpyQEEIa/czhTwd81LcDf2KOs766//sSCCjqbWCrB9u5GqgtBU4zefpoRgzrzzHbIcpP
lTBi0ChmzrwBesKJklMcPlJCHVb8OnSQ9XpGh7exsZedAbclOEYkrmLmbfDcOi3O7izTbri52REK
myPenHDVIEeQYSPA1oPKynPcmTCOoIBevL/9Ox6481rqrTYqKk8ScB6vjJ00xq0F5eipPy8f/4Lb
fzORtMM17Dpcw9u/vr6dCV3F6HHNBMVftuM8L47s/5xJ113Prne2OqZseWk0rc1n09p8+/SNJr3M
TRs2NSdq3RrGQfQPcW9ABTNqTJCrIejqZcaMyViLybHfnkYVOWsdvcpu12nSOG1t8OMzT40bwCYv
6/vbes3qSjOeU1iau6fWXz+Y/h734DvdpmXdhGM6jiEkuGGKTuMWO9dMC8a0o5TcfVUYxg5oEkA2
q8o+SuAlEmgx3RG3uk0HcuatSX00MCoSqKziUCUYBgY5GtwmvtlndgW8LT1/Z/nag2QDIwe0NDpX
yKZ3quwBYzPT/AwDg1rYbh+dIHKA2yiEmW9ey2fTWiPFjue66TXP4NN7PWmrbjHlad7HCWD1szdo
rFB6+ig2mxWLpZ56az1+fnD41EHmZsS7Agur1cbWO3284tKYxVssZCFvkWVcwpII/WGWVgYj1rPQ
fxi2fhAWFETwDXPxOwc2C7xonMvkyMnU9vmGP/11FzbzIG5/8VUGXhftPbGY35L37hJaVf0ilvDu
u5dqgOeHv8WCtbaUM4e2EzxwPFPnfJ9f/e4u/rrhLXblFRIyZChTp1wNZvhb2oeUV1TT1y8Uq62D
/hdWvJWsLyeyuE0BxQe8+pvP2cX3mPQb9+2ZfPLMLczQx+WC+sG8n3DP4hR2fZzhdb/VYsXfz48e
gf5cPdYeUJw8VcfIwSE8nTKNmpPn6NurL4/ddx1+/n5YrDZMJ0/j5++PH20PKGYk/IzkhS/yyc//
wAzg8J/XkA6OKU8tfsAZfd3nHCwGwu3TpdaP+YrfshuuS3Q0Duz1jbtaTm1kXCKTfnMHTyc4ph19
/AuSX7uex7df5VHv7VOcdt31hn2KU3gz54XPJWnhHbz68YOu0QdnPjf+/CoO//kWkveu5u03E9g+
73v8158T2Phzj+tFjGbBstFe8zwiZgiGolJy3h/QqFHlPq99xABHD/XYZhrkAwYwKqSUQzvAFGLg
hgE4GsRNF0S3V2vy1H/qEMJ3GNmVZ+KaWw32ht179kXKN7SrzVFln6oU0bgh7WuRdYvXN9pHHezr
AxwN6LFBcKK9ZWUid1PDugnTa7vZ9c5Bjyk2DdOKiouCmbQgCPa3oQiaCWZam679uFqf9bHfwGAo
sk93mjQnCAYMIBwjxUVgmDbaPnLUyjppT8sxFavKbJ8y5SMI85yyZp/+5HjmVFEMhIcE0R/v290D
rvCxniNs0VzjdcpTwzGGAef//+RuEVCc9qvmqduX2kckbFZsNitn6qups57FYrUQ1KsHDyTeTE+/
vpyrr+XMudP85S3f78s3Zr0FP3yJ24pieD7LyBJnRGFcxw9i/os8twZfs9vl8gsosNAbK316+ONn
O0dvoIc/rDtwP0FDbfQP6kdhQQkfVuVz921LuD46uu0X8VbfjOv4wVJ499141i39L/LyIGbQfxHz
2zze7e4RsdWf4ADo73+Gmu92ENgzlH5jenHrT6Yz49YpfJNfyPbMIp757/8hyC+Yr3YWEeRncHwP
RUAHZOADnnbMG29TEOCYAvL2m+5rJg6wad732rEWQ9rq3v98pNn9FouFAD8/xo26gu9PHgbYvx37
ySXfY/DAIE6erucnP4hkQuQALFYb9VYbVdWnHF96144Rihv/wNu/voXbR9r7Rif9ejVJPMVzM2+B
5yby3OP/6zp018x+PAckudYZXMWCX/yMSQv7kQ5w3WrefuYqRrKOx9/5HrePfAr4GY//+nr4zR1M
ouGtTJ+se4pdwK51H7DA+aam8AfZuB0WzuznmHblfKvZBzw90n588sj/deTTuSaiufPA+fKChn3O
fMKmef14zjHKsb04koNfwq4vv8ekdzw/H801Focw9zYzm94xssk5Nz0yggW3TmDWiXxyNuXb14dE
RrBgapCjQexNECPHBrPLMY+8P9D/1olMqtxNztqqhnSbDB/Ze6eLm6yh8LbPR5480otdFgFr3e4n
pH1v1Ok/1XG9d/LtazkiI1jg7Z488tya6xc70wwZwu1Tg+hPa8rKU8M6E+e6iRHTBrDrnSpyXgvi
9jlNAz4TvnvunXlq+pYi+2jAoUZrBlpOt8kbkCIjmBvRfMBhco0s2K9JpWOExv15tFAnXUHdpnx2
hXgPhuxrJcDkfA7O9SkRo5kVWeV65oZpEx1l4Wu757qL1qmuNEOIoW0jRT74rdm0yRblo9FztLiY
O6dP93lyZWUlISEtr6jJzs5m1qxZ7c7kLR9/n18k3EVNXTkWWz0WSz111rPU19dRZznHuXozFosV
i8WCxWKhrq6eN7L+TcF93qJqI+t+sBReepclBx9l8PNj+fzdJUTwIY8O/gn833GevxlXA+6ld8fy
R6/bW9mz3AFycnL0ZWwd5HzrYnr6v0n44UwMYYH0zNoMcT/mTePL7AjYyMSICRj3H+OD7F3MHvof
rJjx6+aDhut/xU73bVOf5nNf9e0lWOqsdxehDnZEXczIyCAxMRGAZz46zU+nXAHAlbumYfDfz5mz
5zhx0o9av1H0G34TIeNvoc+Q64HR1JnhzXUfs+qRTfjZAgn264vNFkBgYE/+aHyi2euWl5cTGhra
OIAYeYe94dak0eTcn8lNh//gFmA0fW2se++su8N/voXb9z/RRV7Deen76qMtXuvVL57cTPK9N3Po
UDG9+4aQ/NNrG4INmw2rFeqtNlcwUW+18tbWzxk4MJiBAwdhGBjSxnol0o04FrV7e31qV2YPDoIu
2OtvLy/2BfiHxrbv1cSvf3GSJ2/q4/r73mkjFOcz/9pmtXLOYuZs/RmsVvs0J4vVQr2ljjrLWaxW
K1arBavV6pruZLP6mPN9MIu3+CEvjbZhG/0DFv7kebKMi1nMPgqnPs1LN9lodJrRx3abDa1u6J7O
py4GBNioOV2P39lAetfWc+Ys5B9+h4lx4zh6+ATbtu9iQp/reer7/9XydaY+zefvLKbRgKtxvff6
5q3eXSJ10EovzPUB1NVDn142etpKsRzL4Ej5hwwYcTODr36SHv3GcueDN7Jz+17eeXMHvWy96eXf
A4vtdHu6KPjV4Rp+1ez+W1rcNuMZ7yMaI3/+gb3XSi66tFc/BGDcsH2sKvuWkIFXEHblQEaPHMqw
4VfSq1cvVzBRb7Vx9uw5Avz7XvzF/iLiVf+po5m0b7d95KODvj/hUnDzdd8j9X/+l2smT271OUfe
d7wRrd2vJm6sW0x5slptnDhVTs3ZStdbngIC/bBY6rFardTV1VNbW4fVah+lqK+3YLV4b2odzHqL
nTt3cn1oQ3NiatZBFserQkorPjCB/vidO0dwYBB+VhsWIOZIGC///SOOVVfR68hVPBj323Yv6rwc
+Qf6YzWDvz8EBwdQX3cOS30dPTlDdUk+A4ccxr/fWOgBEZHD6EUQVmyc4TQBAVYVoHiVuvpObFYr
tbVnqDpRSXXVCU6fPsl3x8o4eOQQ586dpUdgIL2DgxkYMhDDwIEMH96fGpOJYSNHqQDl0hYxmgXL
umPGnWsCxNOLzz7DQ798stVBxYhbo5u+Rvp8/pZ31o2ez5tlep27gi3Z+Xyw/TAf5Bzhta1fEuTf
1zXN6dTps7yVvZf8HWf4+vOzfPNFPSN6j/GSlpH339rJPa8f49gxx8/r97Dzrfcxho9h/M63eN9o
P9b4/lvsxIbN13abDZtxHbeFPsqHtlb+rrc8dQnn8yx69gzg1Kla+gTCwB4Wepys5h9v7Gf8jiTu
C/sr6xbsoLrmTCufq5ftzdQ39+PZWYTR1rn18ELVxZAhIwjo2Ycz5gDO1Ppx8rQ/5rpALLZeDBwy
Er8Bg7FZbdSdtWE8UExdgJlzAeeo9TvN9TOnqEKLV35+fvj5+9MrKIgBAwcxbMQoRl8VyZhxExg7
4WoiJ17DiNFj6DdwMOY6GxUnaqgxnSRi7Hj8/fxVgCLSrXye+w4vPvsM33z99UW5freY8pR5a1aj
3/8j8wcE+fejynLcMSphZVTf0WTc8Xbz1zyYxdv8hhdnu00nmT2He376AlnGt3nutXcJm3Ylvwam
3nMPUwGbbbaP7Q1p2JxTT1r6XbpMQNFePXv6c+KUmWNm6HPKwon6IB799Utcc+0Eyk+B6TScPFXb
8jVswM5fM+1K93UWU/nNZ77qoVtdCn+Ah+8J46dX/pWpv/mMt2/p3vVw98CNMND7viqg5CRw8hQA
9/z+Xu75/b2qxNLqoCIwsAeBfXsAfVUgInLJBxXXx97WppGKbhdQdCSr1eZYiG1xfC+FBZutFVNM
Rj/A2297bryJ58pucux/jrKy55qed5OP7aMf4O2yNvwu3V6vXgHU1Z4lwA+w1hPUrxdW61WUn4ZB
vaF3XR1fnjS3ri6WPeBjn/f65l53b9MpQTkAACAASURBVHqujIZDVA9FRETk4gUV3TKgsNls1J47
TV1dPVarjXqLFZtVQ9TSGQFFD6pPnmVUENDTRkVpNUf3HuHLY8epq4d+/XowZcpIFVQrvP7FyU65
zsmT9Vxx+KQK/BI1XvVKRC5ztXW2JkFF+KRbmXX3Iwwd2zkrTrrFlCdPVouV/8n8EEu9BZvVhtVi
46o+E7XeQC54XezbtxeffLKPiuPlBASOYYRxH8NHXkH0lPH4+/tdkPp+KXK+aq4zlJbWMGRIHxX6
JSojQ/VKRC5v/9ur6Syd4l3vM+vGH7Dw179kynUXfqSiWwYUmYlbL/g1RAGFNxERg/jP/xyk+ici
IiJdWs7H7zLrxh/w604IKjRPSERERETkEpSV9Ra/+c2zfPHlhX37U7ccoRBRXby0fbhtG59/9hlH
vvuO48ePMygkhOnTp/OTn/yEnj17qoCk3cz11bxX9CAAcyL/SFCgvhpLRC5dvXoG8tY//84P/+PO
CzpSoREKEelSHnv8cd57913Kjh2jT58+TJw4kfETJlB+/DgPPfQQOz7/XIUk7Q4m/ll4LyUn8yg5
mcc/C+/FXF+tghGRS1r//n35++ZXL+hIRaeNUHz22Wd6otIlqC52badPn2Z3QQGjRo3CMGAANTU1
lB87RmFhIZMmT+a1115jwIABjIuMVGFJm4OJijO7Xdsqzuzmn4X38h8TXtVIhYhc0q68cjB/3fgy
9yx8gLf++Xr3DCji4uL0JKVLUF3s2tLfeIOEhAQ+yMrCz88P89mzhIWFcezYMebNn8+xY8coLSkh
LS2N59as0fQnaVcw8f0Rj9o7F448r6BCRC45p0+b6dMnCIBZN/6gU66pKU8iclGdOXOG/QcO8PH2
7dhsNg4ePMjo0aPZs2cP3/z73xQXF7NgwQL+vnkzwcHBjBw1imqTiY1//Ws7r5hNisGAwe0nPs14
nnfRNM2UbDogzXhamzVjWjyG+DSMl0m9eeGFF7BYLO0KJqKHLiZ66GKuvvIuwD5S8V5Rcgfmzlkf
Gj8/Y1o8BkMK2ef5rAGyUxrXN9dPsxWvaT21/zjylJ3SdF98WpPzUlLcj/sRP/KS5vl/pkSkvcFE
aGg4me98CICfnx/Jyffz1j9fd/1cCIEqehG5mFasWMGo8HCCg4IYNmwY11x7Lddcey0HjUZKSkoY
M2YMN8ycScnRozz33HOsfuYZjh8/TmlpKRarlQD/9vSLxLAqP4vkCGcjKxpDUTqm1PMZwXJL05hG
fHQK2aZUOmdMLJsXl+dBTOJlU282b95MaWkp06dPb3MwAVB26muKKt4CoId/b6aNfKQDcxdHqikd
DGsabY1IzsLUkXHLonRMDxURH51BYn4WkS8aSGplviIb1dUix+5U7Lsjyc9KJgIjafHRxKflk5W/
it3RRTzhqNOpqXNJMawhMv8fJEdkO/7t/plaQlqC8/fWMpGxspgC569R4axINHRandqb8TXpeL9m
c/u8J1bMynST69fQWeO5f7yJV9aXUe7aGsSsxeOJrbQfG5U0mcRxQEUZr6wvY3DSZBJpnA4YSFoR
zjj96ZBmgom33t7MsqWPM/e2PDa+up6EhPkk3HrTBb22RihE5KJ64YUXSPnFL1i8eDFz587l5tmz
uXn2bObPn098fDx9+vTBZrVytKSEqqoq3n7rLUYMH051dTWnT5/umMZf/ipiNmSS3VE3FRHJRHZT
1EmdtMa0NbBqFTGXWd3Zvn17u4KJ0pP5vLXnZ5yznKKHf29un/A/DOl7HQCFx9Mx15vaGdel+Bih
MpIW7+y99xiJMKYRb0hiA3ksj24YFTA2Oc/gY3TDZ6Ug3uDjmjgb/QZStjZbkUlIjCGvrRXZWMTu
NheeI5iICmfFisn2n04MJsBEYUF79jUvKsl+L/fHBnlsCycKMzm5ptansziMUExszzXrD4c0G0xM
uW4yI0eN5F//ymPkyOGMHDWSre9/pIBCRC4/AwcMYNr11zPt+uv5PC+P9959lx49enDAaMQ/MBBL
fT2nTp7soAAggcSYDWRme2uMNdc49DG1KTuTDYueaOidbS69Zq/VuPHndTqLMY0lRU+QmqA64+69
ogd9BBNf8vbe/486y+kmwUR+yXo+Mi7nvaKl7QsmknazKt+EyWRibmYSG9wa5slZJkz5XoK+iGSy
TOksIsZ1rikrmQj380z2n/xVu0ly1IG4VFOTETXXNmMa8dHLmZjuODd9Isuj3YOKPJZHO/IXmUyW
z5E0I1sz8oiJbM0wg1tAFL2cvJhEEtowOlGRW0YBBpJ8jA6sXOn4eaWMCrCPAKzcQ0bGHse+PeRW
mMl9peGYvRnOfzu2O9LI2Os837ntABmvOEZGCopZmeHeyDeT62Wf1zx1ksGDg/QBl0bGjY9sFEwA
PP74Mn7+8/+0d9z9fiVP/+ZZBRQicvmxWK2cOXPm/2fv3ePbLO/777ftmIiEww221YQCMWpwfKCQ
qf0JFgIuTFXN6j4TTBSerhvab09wprWu0l9xqUxXWLHWuusvmttqSfl1MyvjGas6VOoRz1UHDgFW
dY9mKHYck6qmzcH4UO4ACYoTW88f962jJVk+JCTk+3699LJ1X+dLl259P9f3uq6byqoqTkxPs3r1
alauXMmVV17JB0wmrt5wqpz+IdzpxljEy5AjYYxpS0CC9kjSyEvZdGkGlQMCyYBC+RUKSxcwDgio
OZZkRfFvDWJvlcMGiqYEiMdziokXf/PNxY+anm5IE5HW1uXxGGn7LrRxZfaEi0vTGyTsDKTGprUV
ryVMsDcxsCx4IwGcebWBB7OioCjaWO8rat1SmiBSAzjDHrYuYB/F1GQMjAYq5giNYQKDBhpb9Fn9
8TGeTM7Qx5iorNZn7mPsHYbaOgOMx5jSvQrGOgX2jNI/ruBo34ijAQZ3pwSAsbGW9vYPYN9STQPk
WGZlYHNWWOE6ZTIYSBMxGddGGTSuoaVIL8xgYICOnWOMG9ewWdY7CVk89aP/l0OH9mU8Y+LDH9rI
Vaar2Lt3H3V1GygvLxdBIQjCucMLL77I73/84zzwwAMcPXaMSxSFu+++my984QuUlZXhvOcerr/h
Burr67nsssuWsWQLNSb05RpOmhPGmMlFmzOsLV+K9hIMO2nLaWClGVSRGjoTy0wK5lcgTCe4VTPq
cm3viPq3ErTvWOA69fcOt96af03wbTXfoXJVPaCd5hQ5tBOAtRd8iE/UfS+vmKhcVc9tNd9Z3AhK
n8k31VC/ZG3rxuypJ5D0UCxWopiomVMZKz5VxWfNsSHc4iWil9m3qMFlpdWbY6lUmlcg3cBOMh5j
KpfQwEBVpWbcVxphfDKWNPbrag1QaaBKv1JZq2AkxsS+GBN6uJaHSqBjgMBgZjmLme0vXKdMEkue
7BvmXmvfsobKIstMLpMaH2NnUEUQiuFvfX+N3f4pPv3HLXR1dZ7SsmRTtiAIZwwvvfQS927ZQiwW
Y/CVV9j19NPc3NjI66+/zssvvcQdf/iHfOxjHwPgyssvX76Co70Ew/W0mWBZjkkyNWG3eDRhsCRj
PwwkDLPsjLSN2GHMKJ7UVbMNfUPte5u77rqLz33uczz11FM5ww0rLuYP6h5N7qNICAbzZS1JIZFL
TCz2+FhrsxOHo4uQS1s+FPV30g14izX4LeHkeAm5FTprIuxgCCx2/bPUN947ixl+diweB+5m3YMW
cuPotuCNLGGA62O609+K1WXS2mexE8kz0KIjOZZKbaimvT13/A2b12AcHCMQVDM8BBWVBiDGxCRs
qIwxOQ7GugIioFKhzjjG3t0q40aF2yvRxUPWZuZ9o4seewuu03xsUGhAZWIiBhsMTA6rjKNw8wZg
n/wuCItnzRoj4fB/nJayRFAIgnDG8LWvf536hgYqKirY/+qrHDhwgJ4f/5iZmRmMRiPT09N84b77
qKyq4neuu46bbrqJVatWLbHU1LIjK+gzyx56Qj6smmVIZ7eTNh9AplFVWKBYsJvmy69QGIAF+44+
2roU7aSdjDL1GeZkmX5sW2HHOSAmALZt2zZvnEKiYjnFhPZx+Ih4bZgVzRi2eL048eAx2+Db9Xg+
052SiWYFD+AMJJbMmXC1OVEciravweIl4jNhYgfeoBmz4gGceL0W8DhQSJ1IFuryEAbCXSFcCTeW
yUVfBGxmBb02+glkIdyKvndCr0NinHlB3wfSnUeYmnD1BRhREgLWSUB1YSJPnnobiqZyDVscMToC
o3QkNkA3VNNur8UxOUBg5wD9iWubDQUMbQO1dQb6+2MYGxUqgUp7LY0TwwQ6BlL51mWnU6hrgMHB
UTrmnOaUHZanTjkYDAxo+y8aqmnfnK/OCnaHQkdgmI5+vYqO2oyTnJL55NlnIgjvNiWdjz0WbzCb
cwYeHB3lkwWO5JuamqKiokJ6URCEeQkGg9jt+Y81PXToEPfffz+XX3kl6664goOHDvGLl1/m9ddf
55JLL+XggQOMjY2xatUqSktLmZ2dpbS0lP379xcs9/Dhw6xduzZTQCjpG2bTj5BNM87NmqE2Nzwz
vWYUzpNnofzyhqUfxant3fDgze99OMcERbHjCgo/2G6xYmLuuBIEQTh3f9+XLCgEQRCK4bnnnito
+O3du5eub30LgKqqKlatXs2hgweZmpripYEB1qxdyxFV5e233+b48eNMT09TVlbGa6+9JoafCNV5
42WLigSL9UzIuBIEQUjdh5e05Em8E4IgLBfr1q1jZmaG1atWMTExgeHNN1m7di3Hjx/nYkXh4IED
HDt2jPLyci6+WDP+3lquY2OF9zzZy5+WIiYEQRCETOSUJ0EQzghWrVrFFVdcQdmKFSiKwvSJE4yO
jnJieprLL7+cK9et4yO33MK/Pf00//zEE3zyrrtO+TF4wntTVFx2oYXLLrSImBAEQVgmZFO2IAhn
DF9+4IGi437p/vv50v33S6cJCxYVt9c/Jh0hCIKwjIiHQhAEQRAEQRAEERSCIAiCIAiCIIigEARB
EARBEARBBIUgCIIgCIIgCCIoBEEQBEEQBEEQCiCnPAmCcMbx02ee4WcvvshvDhxgYmKCyooKNm3a
xN133815550nHSQsmtjJI+wa+QsAbqv5jhwbKwiCsAycex6KkBtFUVAUBXcIiPqx2fxEZSwIwhnB
F+67j11PP83Y66+zevVq6uvrqa2rY3xigtbWVv7zZz+TThIWLSZ+tPceDr0V5tBbYX609x5iJ49I
xwiCIJzJgiLqtyWNd0VRsPmjxSRamoFfMH0It2MIb0RFjXgZ6hQhIQhnGkePHuXn4TDqG28wPT3N
2NgYw3v38uOnnuK8lSt5/PHH2TcyIh0lLEpMJJ6SDTB5bEhEhSAIwpksKKJ+G+agnYiqoqoqqhqg
3mMuTlScskqNMEQ9NSbA5KKvz4VJxoAgnDEEfvhDmpqaOHjwIL/+9a8ZGxvDYDDwhqpy+x13sHr1
at48cgS/38/09LR0mLAoMfG7V/wvfveK/yWiQhAE4cwWFCG6PODdkW6wW/FFvBDsJZrtRdDfQxT/
Vg/hsAezomD76lex2dy4bUrhZUr50meIlxBus4cw3TgUBeXmP6Ix25MR9WNLelRs+MV9IQinnGPH
jrH/l7/k2d27icfj/OpXv+Kqq65ieHiYX7z8MqOjo3z605/mX554gvPPP58r163jiKryj9///qLv
T+40z2nR3tMF5ukOsQx5zn8fyvQEuwmdI+Nm+/btzMzMLEpMmC9rwXxZC9e871NJUbFrxLWsv4Hu
HL8j2meV6zMq7rPOSOHOHG/JV8GBN3ecZoybtCXByZfNPyed250e786cedoyGy6/rYLwHmdJm7Kn
pqbmXKuoqNA8ARY7rdnT/6Ya6sM9RKnJ/cOICdcOL8GtsKPPhSnqx/bN56iJqKgm/WbncNMcKTJ9
RqgmaIbS896adaM1j9CmqlgTN8CtfprS8snVXkEQlkZ7ezvrqqs532Dg/e9/Px+89lo+eO21/Coa
5dChQ6xfv56bbr6ZQwcP8o1vfIO//trXmJiY4PDhw8zMzlJWuph5EQveSB8uU8LIMqOMBFB91iW0
JC3PqB+b2U1I9WE9xf0XHQnjDKj4rOfWuHniiSc4fPgwmzZtWrCYABh7e4CRyacAKC9dxQ1Xfn4Z
a2fFpwZA6cz8CXT1oS6nbnEGUFtHsJmD2CN91HQpOIqsV03GWNWXEFp9aME1RPpcmIjit5mx+SP0
RbwMmUdo08e0z9eMW+mkJvIDXKZQZp6EcCtb8Tf14TJpE331AZU+q/47nvXbWhwqwY5RBhNvG6pp
tyunbbztCw4QIHeZhcJyZzZKR0BNvjU21rKlVuWRnWOMJ68aaGypZfOUFrfBsRH7BmByjEd2jlHl
2IidzHxAwdFezQY9TiKvZFpBOFMFRVJAnEosdpoSdx1rM046GflNzan4VWaIbrqV7vS7NVFI3vRO
eVsF4Rxk+/btOa//duNGRkZGeP3114nPznLw0CHeeOMNfvzUU9TW1vLbN97g6NGjXHThhUs3/iJe
hsw9hHzW5REAphrqCTISBespX1dp0ZZxnoPs3r07r6AoJCYOvxXhx/v+jBMzRykvXcUn6r7H2gs+
BMDeiQBXXWLFsGIRxmrIjeLo1m39QMZ0l99mxhPOFrMJg95DGMCs4AGweDMMei2d9psUKFakpueb
XSYJo98BXm+hgUyT3YJnJApNC/09RZ86NOHqU5f4Seti4jSLiPTy9w4CDQsNK0yGoT+Zfk1rb/8e
lc11ReZToYmI3XtibNi8hi3ta1JiJzBKXXs1oimEU8mpWfJkqqE+HKQ3muMmY6k5c/ctWLxpez5U
1NMwuygIQm4uveQSbrj+em64/np+Fg6z6+mnKS8v55fRKKUrVjBz8iRvv/XWMt2zmrBbuukJpRlj
eZcvRfHb5lnaFOqh29mWaTTmy69gWenGX67lLFFGhsJ4zMu1dOu9w66Rv8gjJv6/vGIicmgn/xH1
sGvkM4sUE/qhH6pKc4+D7jTD3NWnHQZimTP2XPSpAZxYkmnV5Oy9nk7/TYp4h3DoY8DqU+d41JLX
dDFRH9DTBurxmNOXGoXxmPX61bjoy/tbF6U3GMZSlGJNjUPF7CGcPhmY6B9F0fpox8K8E5N7xhhE
wZHHO9DRob8eGdPs8n2jdHQMEwwO62HD7JmMseeRVJx9wcT/+nU9j+C+RPrEtV8SfET3jAyO0hFM
F0cx9uQIy1mn00RVlWHuRaMBmQ4Vzk5BgZVWL3i2pu9R0PYwYG/SbiThkWRYtDdIOOO+NJL79KVQ
D90WO01XLDL9vCLIQ1dIBoUgnAnMzM5y7NgxKquqODE9zerVq1m5ciVXXnklHzCZuHrDqZpv0+5V
SWMs4mXIkTDGtBnjoD2SNPJSNl2aQeWAQDKgUH6FwtIFjAMCao4lWekGZ4B6z1ZZnz4fJUA8nlNM
vPibby5+1PR0Q5qItLbmEA+LIH2PjNkTLi5Nb5CwM5Aam9ZWvJYwweQsnwVvJIAzrzbQ9iEqijbW
+1zFmP9pgkgN4Ax72Jo+GK0+XRSBx7ywvT5Tk7GcRvHknmECgwYaWzbS3l5Nw/gYT+6JJY39icpq
2lvWYCTG3mGorTPAeIwp3atgrFNgzyj94wqO9o04GmBwd0oAGBtraW//APYt1ZoDYo6HxMDmrLDC
dcpkMJAmYjKujTJoXENLkd6YwcAAHTvHGDeuYfOGTKEVmFhDy5Y1VMo3Xzg7BYW2VjRiD+o3JQVF
0X4Q+1wmMLnY4R3SNkcrCltH6lM3XpOLNqe2cdr2T1NpNzb9R7rPhanY9Av6ZdWXPTgyN6PJb7Mg
nF5eePFFfv/jH+eBBx7g6LFjXKIo3H333XzhC1+grKwM5z33cP0NN1BfX89ll122jCXrS4eiIwzh
pNmafk8JMxIFor0Ew07achpYaQZVpIbOxObTgvkVCNMJbtWMuvn3SFhpdqYbje99br311rxht9V8
h8pV9QC8+JtvEjm0E4C1F3yIT9R9L6+YqFxVz20131ncCEqfyTfVUL9kbevG7KknkPRQLFaimKip
z/Gbp6r4rDk2hKd564sTE7kmFS2ER6I5bIM2nAwxJyjNK5BuYCcZjzGVS2hgoKpSM+4rjTA+GUsa
+3W1Bqg0UKVfqaxVMBJjYl+MCT1cy0Ml0DFAYDCznJyz/cWIn7x1yqTBsZH29sz9DYlr7QsQAVoa
Tbzs1L0kG+xaPo6qMXZ2jLJPflqEU8wpfVJ2oQ1ohcI0ty2a2/a5xFrSRaSfWyh9fXP/z7i2rDvm
BEFYCC+99BL3btlCLBZj8JVX2PX009zc2Mjrr7/Oyy+9xB1/+Id87GMfA+DKyy9fvoKjvQTD9bSZ
YFlmEUxN2C0ezWha0hrPMJAwzIrLqP4c2VBx11138bnPfY6nnnoqZ7hhxcX8Qd2jyX0UCcFgvqwl
KSRyiYk/qHt0UU/PtjY7cTi6CLm05UNRfyfdgLdYg98STo6XkFuhsybCDobAYtc/+RBdnjD53Qrp
w8+OxePA3ax70EJuHN0WvJElDHB9THf6W7G6TFr7LHYieYZbdERfKqUfgJI8KEU/vr05O92Gatrb
c+e1YfMajINjBIJqhoegotIAxJiYhA2VMSbHwVhXQARUKtQZx9i7W2XcqHB7Jbp40Dczp4mbxbLg
Os3HBoUGVCYmYrDBwOSwyjgKN2+AYlSCVh9BOMsFhSAIwkL42te/Tn1DAxUVFex/9VUOHDhAz49/
zMzMDEajkenpab5w331UVlXxO9ddx0033cSqVauWWGpq2ZEV9JllDz0hH1bNMqSz20mbDyDTqCos
UCzYTfPlVygMwIJ9Rx9tXYp20k7BMv10dluwt54bY2Xbtm3zxikkKpZTTOgzWUS8NsyKZvBavF6c
ePCYbfDtejyf6U7JRH3zdep0LhOuNieKQ9H2NVi8RHwmTOzAGzRjVjyAE6/XAh4HCqkTyUJd2sbr
cFcIV8KNZXLRFwGbWUGvjb4pW9uI3Q2pDeCJcMjYVG62kTWZZ8LVF2BEMaN4QNsg7sJEnjz1NkAT
dhJt0HAmvmvFUrmGLY4YHYFROhLHPDVU026vxTE5QGDnAP2Ja5sNBQxtA7V1Bvr7YxgbFSqBSnst
jRPDBDoGUvnO2QitUNcAg4OjdMw5zSk7LE+dcjAYGND2XzRU0745X50V7A6FjsAwHf16FR21GRus
k/no+0wm9wyzsz/lFcmOLwingpLOxx6LN5jNOQMPjo7yyQJH8k1NTcnJR4IgFEUwGMRut+cNP3To
EPfffz+XX3kl6664goOHDvGLl1/m9ddf55JLL+XggQOMjY2xatUqSktLmZ2dpbS0lP379xcs9/Dh
w6xduzZTQCjpG2ZznIBT8ISczPSaUThPnoXyyxsW0o/l1I/etJnxkO2xzVUXGVfZ5DrxCViSmJg7
rgRBEM7d33cRFIIgnBGG3969e+n61rcAqKqqYtXq1Rw6eJCpqSleGhhgzdq1HFFV3n77bY4fP870
9DRlZWW89tprYvjJuJo3XraoSLBYz4SMK0EQhNR9uFS6QRCEM4F169YxMzODYeVKJiYmeF032C64
4AIuVhQOHjjA+Pg4J06c4OKLL6aqqory8nLpOKEoEsufEhu1lyImBEEQhExEUAiCcEawatUqrrji
CspWrEBRFKZPnGB0dJQT09NcfvnlXLluHR+55Rb+7emn+ecnnuCTd90lgkJYlKi47EILl11oETEh
CIKwTMimbEEQzhi+/MADRcf90v3386X775dOExYsKm6vf0w6QhAEYRkRD4UgCIIgCIIgCCIoBEEQ
BEEQBEEQQSEIgiAIgiAIgggKQRAEQRAEQRDOBU75puyf/PQ56WVBEARBEARBEEGxeBx3NEtPC8I5
zqOPPlp03J8+8ww/e/FFfnPgABMTE1RWVLBp0ybuvvtuzjvvPOlMQRAEQTjXBIUgCEKxfOG++wCY
np5m9erVVFVVcemllzI+MUFrayvOP/1Tbrj+eukoQRAEQRBBIQiCMJejR48yNDjIunXrUC65hDff
fJPx119n7969XLdxI48//jiXXHIJG2pqpLOEBXH8rUlO/Ox/0/ncKp4J/ZzYsRPUXbOOP3Q009h4
I4qiSCcJgiAsAtmULQjCGUPghz+kqamJgwcP8utf/5qxsTEMBgNvqCq333EHq1ev5s0jR/D7/UxP
T0uHCcUxc5yTP/ksb/7gTlo6/4u+H40Qf8fIypL3Ex08yYNf+i6fdz9EOPxf0leCIAjvJUGx33cj
N/r2nzX5LrIy3Hijj/3LFU8QzkKOHTvG/l/+kmd37yYej/OrX/2Kq666iuHhYX7x8suMjo7y6U9/
mn954gnOP/98rly3jiOqyj9+//uLLDGEW1FQ0l42f3SJrZibpzvEMuRpo9iqhdwKytILPUX1XVhb
imH79u3MzMwUF/nnf8OJX7/In3dfwGuT61hRujIjeLXByN6B3/KX7d/i6V27lqkvFJSsNkf9NhTF
TWgZ+ifkzhxvyVfBMTB3nGqvXHXKJorfloifu67527ecZNUj5MdWVNuLa4MgCGeLoOhtoaSkJPVq
6c0ZbX3tNbywd/+yG9Vz8hUE4V2lvb2dnp4e9u3dy/kGAx+89lru93h4uKOD//tTn+Luu+/mpptv
5p577uEfH32UD37wg5y/ahWHDx9mZnZ2kaVa8EZUVFVFVQPUe8zLYIyn5RnxMuQ41YZVhiVH55AT
51DnOWMkPfHEE3zpS1+aN17Jweco3f9D7vjelYy9vSZvvLLS83hzsoyvPbyT3/5WXWLtrPjUAM6s
qyZXH6rqw7pcneAMoEa8WPSxF3AWW6/MsWopqjATrr7C8Ze9fXnrkWhDHy6ri76IFwtOAj7rktuw
dFSCHQN0JF5B9bR+L/YF85dZKCx3gtFUOzoGeGRPLHe8yTEe6RgguC+VJm/cxaDnn57n5J5hOjqG
2TPJ/HUS3nuCYr/vRkpug13xup+mSAAAIABJREFUOHH9tYsnySkpmm7n3u/mCVsKpypfQRAWxfbt
23F/7nO0tLTQ3NzM791yC793yy3ccccd2Gw2Vq9eTXx2loOHDvHGG2/w46ee4orLL+fIkSMcPXp0
GWpgxRfxYunuWT4BYKqhniFGTpNxH+0Ngr2VVjsEe8+dadfdu3cXjjBznPLn7uMHv97AX3Y+zAv/
/Q/84pf/kvcV3LWdj9k+zg+e6FlchULuPB6qAjPjUT82xUE3YTxmPY7NT3ROOmVhs//RtJn7nLPx
mrfC3Zv7uqIsZCY/T/uSdXATSqtPRt+k9Vlm2+eGFa35F5qumHoWLSZGGWyopr19o/ayn859OSp7
BxcTVpgGh9aWLZsN80feUF18XEEExWLp+QFsf3UnTen2/U79/X4fN5bcSGo1UhO33/tdnuwF2I/v
nm288MI2ri4p4cYHHuDGG1touVHzcrT07seX/F/PKy08eT0736x4c/JJiKCkR0Wvn+4t8bVk5Z/t
RUl7nzOfwuqLGxPxr97GC7mul7SkCaNeWkrS66O9Ty7vmtO/gnBmc+kll3DD9ddzw/XX87NwmF1P
P015eTm/jEYpXbGCmZMnefutt5ZJADRht3TTE8pljBUyDvMYHaEeup1tuExF5FewrCwjL2dglN4g
2JtMmJrsEOxNGWQ565qn/hn1SBiu+lKcUKaRpS1tybNcLC2f7DCXSSt7jkGZbkQuIyWxKeLxGb79
7yf5ju8JXP/P1/mzP/qrvK+/fugfGD/0FgcPvbY4MeEYSs78N/c46E4NsPwz4yYXfdlegz4XpvR0
qvaKeIdw6J1n9amoWTPyyWtRPzazh/qAnjZQj8ecLgzCeMx6/Wpc9CW9CiHcioMhbyTpvXMW9wXK
3T5TwnswRGcX7Eh67xJjIIQ7rc/UdBdLVn+qASfdjuw26OPV7CFcdLpc1Z+vnsUxuWeMQRQcOUTE
vmCa1+KRMSZBn80fJhgc1sOG2TMZY88jqTj7gon/9et6HuneAO31S4KPjDIIMDia5YmIsSdHWM46
FdXO4fwemDneimEeSdZ7lH1k1Tuo6vXLatuCmCd9vnoIZ6+g+MEL11C7vvj46+s28crwfmA97ke3
s2nTdl6Nx3neWQkvvELdo3Hiu+7lu7fdA4n/v6ob9InweCJOyvhO5cu8+ax3P5/0psR3XcO2b+i5
vLCNvben5f/Vwsux8uaTk15art7GNbv0+K9uZ1OO669uf4XbNCWD78bbYFfK87OzqYmdr26Hbd+g
l/347vkBd776PO71MuiFs4OZ2VmOHTtGZVUVMydPsm3bNl555RW++MUv8rnPfpY//pM/oaSk5BSU
HMKdboxFvAwlDZIofpuZoD2SNPJSNl2ageMgbflFofwKhaWLAgcE5hqQWnAvQew0mXRhRJCkkyLU
hac+kFnXXNcI4TYHsSeNMOhMViKMp1M3sgJOuh0KW9mRNNbCnq60WfO0uBEveLZmtMUfNeFqc9Ld
E0rTXt042xIG9DL/wI2FKSk7nwe+3Mr//vbn+f6//BXf+6e/zPv6+8e/wne+dz8nZ+ILHzU93ZAm
Iq2ty7OsJl28mT3h4tL0Bgk7A6mxaW3Fawmnea8seCM5xEKoh26Llx1JJWzFp/alhPESsLfqn7HJ
RZsTfQyYqLFkfW90MRXq6c76TmnvM9swd9nW/OkWU8/imJqMgdFARQ4DPDBooLFlI+3t1TSMj/Fk
cvlOjInKatpb1mAkxt5hqK0zwHiMKd2rYKxTYM8o/eMKjvaNOBpgcHdKABgba2lv/wD2LdU0ADRU
Z3lGDGzOCitcp0wGA5kiZmd/LOm1mN8DE6PqZr0MVHbvOcKe3SoY19Cip58s0LZ0xvtTQmZnf/ry
p2LSZ9cjJj+yy8zpPTZ2Ux3r81vcPB93Z15qvhPu6WG/2z033aY7aV4PUMemTXWp/+eEoy1z4qsM
74em9Wn5NheRz34fN6Z7CDbVacJh03bua0oqlFT8Qh6HXPnkjDvMK5u282hT4evrm+9k07Yn6b2v
jh+QI/56N49uv5GrS65m0/ZXeV7EhHAW8MKLL/Lwww9z3XXX8fnPf55LL72U/+sTn+DNo2/zyPO7
+KjZzCMv9vKnN9i4cNXqZSzZQo0JiI4whJM2a2r2ss3poSeqifpg2Elbnylnem9EN76ifmyKjZFI
Hy4K5VcgTC8iuNUM9gh91vzGI/YdyRntJjuYu0K4fFYw1WDpdmCridCXsApzXYuOMESYbrOCJ5Gx
sznVrh26kWVtxskQNU0Jq7kZJ52MRMFqyoqboy3JNI4eQj4rVkL0DHlp9S3uE7v11lsLhs+uuZ6y
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
Moreover, this graphical tool comes in a Windows, auto-installable, self-contained,
setup.exe
distribution
(1)
Of course, a
.zip
distribution is also available for platforms other than Windows.
(1)
which includes
Apache FOP
,
XMLmind XSL-FO Converter
and ditac.
If you just want to quickly and easily evaluate all the potential of ditac, you may want to download XMLmind XSL Utility Evaluation Edition from
XMLmind XSL-FO Converter web site
. Do not be surprised because XMLmind XSL Utility Evaluation Edition generates output containing
random duplicate letters
. Of course, this does not happen with Professional Edition!
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
Part I. Using XMLmind DITA Converter
How to install and run XMLmind DITA Converter (
ditac
for short). How to easily customize the output of
ditac
. Also learn about a number of nifty features you'll want to use. For technical writers.
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
Part I. Using XMLmind DITA Converter
Part I. Using XMLmind DITA Converter
Chapter 1. Installing XMLmind DITA Converter
Before you begin
XMLmind DITA Converter (
ditac
for short) requires using a
Java
™
1.8+ runtime.
On Unix, make sure that the Java
bin/
directory is referenced in the
$PATH
and, at the same time, check that the Java runtime in the
$PATH
has the right version:
$ java -version
openjdk version "21.0.2" 2024-01-16
OpenJDK Runtime Environment (build 21.0.2+13-58)
OpenJDK 64-Bit Server VM (build 21.0.2+13-58, mixed mode)
On Windows and on the Mac, this verification is in principle not needed as the
java
executable is automatically found in the
$PATH
when Java has been properly installed.
Procedure
Unzip the distribution in any directory you want.
C:\> mkdir ditac
C:\> cd ditac
C:\ditac> unzip ditac-3_15_0.zip
C:\ditac> dir ditac-3_15_0
... <DIR> bin
... <DIR> doc
... <DIR> docsrc
...
XMLmind DITA Converter is intended to be used directly from the
ditac-3_15_0/
directory. That is, you can run the
ditac
command by simply executing (in a Command Prompt on windows, a terminal on Unix):
C:\ditac> ditac-3_15_0\bin\ditac
Depending the output formats you want to generate, you'll need to download and install third-party external tools.
If you want to generate PDF or PostScript®, download and install
Apache FOP
.
Alternatively, you may prefer to purchase
RenderX XEP
or
Antenna House Formatter
. Note that
RenderX XEP Personal Edition
is free to use.
iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAB2HAAAdhwGP5fFlAAAC
fklEQVR42u2Zr0/rUBTHEQgEAolEIBAIxBMIBJIAXSZ4HonkHxg7jCVIBAKBQCARCALtQNSxkSef
QExUIEj4MQRiYqLcs7XkcrltOnYXbs/OSU6yrF1yv5/zs93YGBub1hyozTkV70B4U3hHeFioeA/C
j9agNk9W+DL44+sV7zAWneAdBPEX/Ely4oW4C0nocaF6/WcVrhfE50AFIUDdkIIQRR7FPTpVd0m+
hmmvywbMBEo130v76tWier1Q9maTygEzJP8Aeg2vm/aa0phwKu5+Uk8gkQVRtw+x5pXvt4W/pzTE
7nTAe59uy7OvjZ3QIg/6AdBN/yK4M18j77XTxMce/yb3ALDbY8NbhcvptLSnCKCZVSzVEjgYAIAV
TfCtDjM/ByCPwf7cmjE4EABlEcpd9I0A0KzCqS6vwoVdF4rgT+UaQAwBo9rPw5AAsdXLBvcMf59r
AHJPiEpCng6PKFyu+Ui8DOuYBICMk+NEnyHuJhkArX8wH/owHs95+Rpujc6e918D4ZkMAHW50D8o
1U4VAMHIAPh8XBZTQAh/6744Ud4ljAQAEnsAA2AADIABMAAGwAAYAANgAAyAATAABsAAcgfguQ7L
pADgu0iMahaPxAekAGhSenh/jlIE0GrsNEc8A0pn1AB0ojrXeVs968sdFKkB0Nb0S720GcGR770P
fJggDyBBvMiG8qKRQ9gMQIjc0Iq/hRVjh7AVQCT+Xe0RrTtYN3oIGwGkpP2G8UPYBiBBvPnI2wBA
s9u3dZEfmngdgKy7+aCesNuH3/eCIaR9GgCLfLiRtxyA2VGXMwD3xpacjACC33Z8qms1Sue42xtZ
b9nY2NjY2NjYhH0AmwV3snAvEEkAAAAASUVORK5CYII=
Note
If you have installed Apache FOP and your DITA document contain
MathML
, you'll want to also install the
JEuclid FOP plug-in
. This plug-in is needed to add MathML support to Apache FOP.
If you want to generate RTF (can be opened in Word 2000+), WordprocessingML (can be opened in Word 2003+), Office Open XML (
.docx
, can be opened in Word 2007+) or OpenOffice (
.odt
, can be opened in OpenOffice/LibreOffice 2+), then you need to purchase
XMLmind XSL-FO Converter Professional Edition
.
You can give XMLmind XSL-FO Converter a try by downloading Evaluation Edition from
XMLmind XSL-FO Converter web site
. Do not be surprised because XMLmind XSL-FO Converter Evaluation Edition generates output containing
random duplicate letters
. Of course, this does not happen with Professional Edition!
If you want to generate HTML Help, download and install the
HTML Help Workshop
(contains
hhc.exe
).
If you have installed any of the above external tools, you need now to instruct ditac where to find them. This can be done using the following command line options:
-fop
,
-xep
,
-ahf
,
-xfc
,
-jhindexer
,
-hhc
. However, it is much more convenient to specify these command-line options once for all in a
ditac.options
file.
Create
ditac.options
, a plain text file encoded using the native encoding of the platform (e.g.
Windows-1252
on a Western Windows PC), in the ditac user preferences directory.
The ditac user preferences directory is:
$HOME
/.ditac/
on Linux.
$HOME
/Library/Application Support/XMLmind/ditac/
on the Mac.
%APPDATA%
\XMLmind\ditac\
on Windows. Example:
C:\Users\john\AppData\Roaming\XMLmind\ditac\
.
Add the equivalent of a command-line option for each external tool installed in the preceding step. Use one or more newline characters to separate the options. More information in
The
ditac.options
file
.
-fop E:\opt\fop-2.9\fop\fop.bat
-xfc E:\opt\xfc_eval_java-6_4_1\bin\fo2rtf.bat
-hhc "C:\Program Files\HTML Help Workshop\hhc.exe"
1. Contents of the installation directory
bin/ditac
,
ditac.bat
Scripts used to run XMLmind DITA Converter (
ditac
for short). Use
ditac
on any Unix system. Use
ditac.bat
on Windows.
doc/index.html
Contains the documentation of ditac.
XMLmind DITA Converter Manual
is available in all the output formats supported by ditac. You'll also find there the reference manual of the API of ditac (generated by
javadoc
).
docsrc/manual/
Contains the DITA source of
XMLmind DITA Converter Manual
.
LEGAL/
,
LEGAL.txt
Contains legal information about ditac and about third-party components used in ditac.
lib/
All the (non-system)
Java
™
class libraries needed to run ditac:
ditac.jar
contains the code of XMLmind DITA Converter.
xmlresolver.jar
is
XMLResolver
, an enhanced XML resolver with XML Catalog support.
relaxng.jar
is
Jing
version 20030619, James Clark's RELAX NG validator, slightly modified for use in
XMLmind XML Editor
and XMLmind DITA Converter. The details of the modifications are found in
LEGAL/relaxng.README
.
saxon12.jar
is Michael Kay's XSLT 3.0 engine. See
https://www.saxonica.com/
.
whcmin.jar
snowball.jar
contains the code needed to run
XMLmind Web Help Compiler
.
xslthl.jar
contains the code of the
XSLT syntax highlighting
open source software component.
flexmark.jar
flexmark-java
is the software component used by ditac to parse Markdown and convert it to HTML.
plus/
This directory is present only in the case of the
ditac-
N_N_N
-plus-fop.zip
distribution. It contains most recent
Apache FOP
(including hyphenation and MathML support). This XSL-FO processor is automatically declared and thus, ready to be used to generate PDF or PostScript.
schema/
Contains the DTD, RELAX NG and W3C XML schemas of DITA 1.3 1.2, 1.1, 1.0.1. File
schema/catalog.xml
contains an XML catalog which points to these local copies.
src/
Contains the Java source code of ditac.
src/build.xml
is an
ant
build file which allows to rebuild
lib/ditac.jar
.
whc_template/
Contains the template directory of
XMLmind Web Help Compiler
.
xsl/
Contains the
XSLT 2.0
stylesheets used to convert DITA documents to a variety of formats.
fo/fo.xsl
Used to generate an intermediate XSL-FO file. After that, the XSL-FO file is converted to PDF
, PostScript
, RTF
, WordprocessingML
, Office Open XML (
.docx
)
or OpenOffice/LibreOffice (
.odt
)
by the means of an XSL-FO processor.
xhtml/xhtml.xsl
Used to generate XHTML 1.0
pages.
xhtml/xhtml1_1.xsl
Used to generate XHTML 1.1
pages.
xhtml/html.xsl
Used to generate HTML 4.01
pages.
xhtml/xhtml5.xsl
Used to generate XHTML 5
pages.
webhelp/webhelp.xsl
Used to generate Web Help
containing XHTML 1 pages, which are then compiled using
XMLmind Web Help Compiler
.
webhelp/webhelp5.xsl
Used to generate Web Help
containing XHTML 5 pages, which are then compiled using
XMLmind Web Help Compiler
.
htmlhelp/htmlhelp.xsl
Used to generate HTML Help
files, which are then compiled using
hhc.exe
.
eclipsehelp/eclipsehelp.xsl
Used to generate Eclipse Help
files.
epub/epub.xsl
Used to generate EPUB 2
files, which are then archived in a
.epub
file (Zip archive having a
.epub
extension).
epub/epub3.xsl
Used to generate EPUB 3
files, which are then archived in a
.epub
file (Zip archive having a
.epub
extension).
hdita/hdita.xsl
Translates XHTML5 to DITA according to the HDITA specification.
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
Chapter 1. Installing XMLmind DITA Converter
Chapter 1. Installing XMLmind DITA Converter
Chapter 2. Getting started
1. Using the
ditac
command-line utility
In this chapter, we'll explain how to run the
ditac
command-line utility by using examples. You'll find all the DITA input files used to run the following examples in the
ditac_install_dir
/docsrc/manual/
directory.
Tip
XMLmind DITA Converter has been integrated to
XMLmind XSL Utility
, which is part of the
XMLmind XSL-FO Converter
commercial product.
Unlike
ditac
, which is a command-line utility, XMLmind XSL Utility is a graphical tool. It makes it easy parameterizing the DITA conversion process and then performing document conversions.
Figure 2-1. XMLmind XSL Utility main window
Moreover, this graphical tool comes in a Windows, auto-installable, self-contained,
setup.exe
distribution
(2)
Of course, a
.zip
distribution is also available for platforms other than Windows.
(2)
which includes
Apache FOP
,
XMLmind XSL-FO Converter
and ditac.
If you just want to quickly and easily evaluate all the potential of ditac, you may want to download XMLmind XSL Utility Evaluation Edition from
XMLmind XSL-FO Converter web site
. Do not be surprised because XMLmind XSL Utility Evaluation Edition generates output containing
random duplicate letters
. Of course, this does not happen with Professional Edition!
Converting a document to PDF
Converting a document to PDF
is done by executing the following command:
$ ditac out/manual.pdf manual.ditamap
The output directory
out/
is automatically created if it does not already exist.
Unless you have specified in
the
ditac.options
file
which XSL-FO processor to use, you'll have to execute:
$ ditac
-fop
/opt/fop/fop out/manual.pdf manual.ditamap
or:
$ ditac
-xep
/opt/xep/xep out/manual.pdf manual.ditamap
or:
$ ditac
-ahf
"C:\AHFv6\AHFCmd.exe" out/manual.pdf manual.ditamap
Tip
No need to declare Apache FOP
using the
-fop
command-line option if you have installed the distribution called
ditac-
N_N_N
-plus-fop.zip
. This distribution contains most recent
Apache FOP
(including hyphenation and MathML support). This XSL-FO processor is automatically declared and thus, ready to be used to generate PDF or PostScript.
The XSL-FO processors allowing to generate PDF also allows to generate PostScript®
. Example:
$ ditac out/manual.ps manual.ditamap
Notice how the output format is determined by examining the filename extension of the output file.
Table 2-1. Supported filename extensions
Format
Extensions
XHTML 1.0
.html
,
.htm
,
.xhtml
EPUB 2
.epub
HTML Help
.chm
Java Help
.jar
PDF
.pdf
PostScript®
.ps
RTF (can be opened in Word 2000+)
.rtf
,
.doc
WordprocessingML( can be opened in Word 2003+)
.wml
,
.xml
Office Open XML (can be opened in Word 2007+)
.docx
OpenOffice (can be opened in OpenOffice/LibreOffice 2+)
.odt
Note that
ditac
also allows to convert one or more topic files rather than a single map or bookmap file:
$ ditac
-toc
\
out/draft.pdf embed1.dita embed2.dita
Ditac does not generate a table of contents (TOC) by default. Unless the input file is a bookmap containing an empty
toc
element in its
frontmatter
/
booklists
descendant element, you'll have to explicitly use the
-toc
option
. Using the
-toc
option when the input file already specifies a TOC is harmless, so you could as well add a
-toc
line to your
ditac.options
file
.
Converting a document to a word processor format
Converting a document to a word processor format just requires the use of an XSL-FO processor different from the one which generates PDF or PostScript. Fortunately all this automatically handled by
ditac
.
Convert a document to RTF (can be opened in Word 2000+)
:
$ ditac out/manual.rtf manual.ditamap
Unless you have specified in
the
ditac.options
file
which XSL-FO processor to use, you'll have to execute:
$ ditac
-xfc
/opt/xfc/fo2rtf out/manual.rtf manual.ditamap
Suffice to specify the location of
fo2rtf
(
fo2rtf.bat
on Windows). Using this location, ditac infers the locations of
fo2wml
,
fo2docx
and
fo2odt
.
iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAB2HAAAdhwGP5fFlAAAE
DElEQVR42u1aIVAbQRRFVCAqKhAIBKKiAoGoQCAqKyoqEBEVSAQCgajgsjtTUYFAIBCICgSiAlGB
QEQww92RzkQgIhARiMwELjfTCERE+n+zdI5/y2V3747cHftn/jBALsl7+/e////uzIw1a9asWbP2
rHZ3wd/1PacRePUB+DDwnLPeBXv7IsAHHlsRwEfEwxdBAgA9l4AXzo4rDb7v809Pgx/7rc/eVxJ8
p8FnAWA7CvbOZQfws0VIOB81+Ksq7v1dAnTQu+TzwQX/GI8EZ7tS4EOXL9LEd+c7mxFyjgkJt2GL
v6mO7HnsiAC8wS3x8P8/v/lcjCCPfa+S7A0f731nPUaS6+wQku4xcsqf+ccFz39g+LssyYkk2SFR
cFTu0Pf5Z7Kqw36TLyWQ9UVSG6yUM/FBEgMA3UdgfHaoUCg1CQntUsqiRPbuVUrdW5d/oDkDZHGr
9LIXuHWuQd5eqWURAPygstdr8NeqzwtZDEku+FYK8FjL0xCG5FbTTqASWQw8vlAZ2Ztk+AyVxcB3
Tgsue85mrLuDpJaCzJgsorQWEjzucdzrZPVP6Os456vgN+Aj4tfgSxNl0a1fFVIWsXaPdXsS2XsC
/IO78Sjgq7FSOtJIFSTr8wUqe7D6X2WvTQCP3pFuBZftE3K7OqoyDdnrRLu9tASIqjI0rSvyBT8e
aCjLngkBY5KdbSqLUx+fCalqky/WTEpSpgSIbpEm2caUh5zOhq7smRIgttoa/TwctBZG9iBMf056
Lg0BhZJFrM2p7KmUqggygYArxW6RRIGz8byrj9NcOsOD2l3lWQC5m0DAvhL5PjucqiziWR491lJt
VxljtQQC1jWGLaHusCVL2RuZVmYAci6BgHmNRdii47bwki/nL3uQdMgHu7pJCPe6BHxb5z1kQ1SM
zLxDfyuWgKBW130fAHsoIWDPoFusSYaoa3nKXpckvl8m7yXLA/A3oy9O5w+5DVElc7qB6cEFAF4U
7W9HOG4Jo5kfjtklQ9RszxaxrR2PpArYjMhlMcx0iCo5vMxEd3HVwWfzqEtwLJ/NkFMyp087kADQ
y+AN8KHIAaeQA1Jdj8H5Qy6ySK+0pO3AxEhsIFGBUDYS05Hovle/zrRblHV7JrJHCDhLKISOUkZB
LbNuUXY4YSp7hIBuAgGtDCK2meZQJpr4Ylda8H5fBgQkDUWbqYez8B1Ty2KesgcgTxIIOMhLFlEp
1FmEUM+r3RRFkGwbdHSaIW1ZVO0WZbKX9cABgC6IfqCFYY8rnxX4yCLu6FzOSKqt3TJeUJDJotJN
1Njeh+4Ka/4yuqR77aoQEE66zlpWx4gwqfsr5GxPVUe7VVx95QsWYxn5d97XFmOnMnsbL2VjZTtj
zZo1a9asWbMWsb/IbgbzA6FvmAAAAABJRU5ErkJggg==
WARNING
XMLmind XSL-FO Converter
Evaluation Edition (
download page
) generates output containing
random duplicate letters
. This makes this edition useless for any purpose other than evaluating XMLmind XSL-FO Converter. Of course, this does not happen with XMLmind XSL-FO Converter Professional Edition!
Convert a document to WordprocessingML (can be opened in Word 2003+)
:
$ ditac out/manual.xml manual.ditamap
Convert a document to Office Open XML (can be opened in Word 2007+)
:
$ ditac out/manual.docx manual.ditamap
Convert a document to OpenOffice (can be opened in OpenOffice.org 2+)
:
$ ditac -v -p number all \
out/manual.odt manual.ditamap
Useful options
-v
instructs
ditac
to print progress messages on the console. Recommended when converting large documents.
"
-p
number
all
" passes parameter "
number
"
with value "
all
" to the XSLT stylesheets which generate the XSL-FO. The XSL-FO are then converted to OpenOffice format by the means of XMLmind XSL-FO Converter
. The
number='all'
parameter instructs the XSLT stylesheets to number topics, tables and figures.
Converting a document to XHTML
Converting a document to multi-page XHTML 1.0
is done by executing the following command:
$ ditac -images img -p xsl-resources-directory res \
out/manual/_.html manual.ditamap
All the files generated by
ditac
are created in the
out/manual/
directory.
"
-images img
" instructs
ditac
to copy all the image files referenced by the input DITA document to
out/manual/img/
. Specifying the
-images
option when generating an output format based on XHTML/HTML is needed in almost all the use cases.
"
-p xsl-resources-directory res
" instructs
ditac
to copy all the resources needed by the XSLT stylesheets (CSS stylesheet, navigation icons, etc) to
out/manual/res/
. Specifying a value for the
xsl-resources-directory
parameter when generating an output format based on XHTML/HTML is needed in almost all the use cases.
Notice the strange name of the output file:
out/manual/_.html
. In fact, this name is just used to specify the filename extension of the output files. The actual basenames of the output files are determined by examining the
chunk
and
copy-to
attributes possibly specified in the DITA map.
Note that a command-line like:
$ ditac -images img -p xsl-resources-directory res \
out/manual/
foo
.html manual.ditamap
works fine too. The only difference is that in such case, when a basename is needed and cannot be determined by examining the
chunk
and
copy-to
attributes specified in the DITA map,
ditac
will use "
foo
" as a basename and you
may
end up having some output files called
foo.html
,
foo-2.html
,
foo-3.html
, etc. When the basename is specified as "
_
", it is the basename of the DITA map which is used. That is, you may have some output files called
manual.html
,
manual-2.html
,
manual-3.html
, etc.
What if you want to convert a document to HTML 4.01
or XHTML 1.1
or XHTML 5
rather than to XHTML 1.0? We have learned that there is no way to specify this using a
filename extension
. The answer is: use the
-format
option (or
-f
in its short form). Example:
$ ditac -format html \
-images img -p xsl-resources-directory res \
out/manual/_.html manual.ditamap
Table 2-2. Supported output formats
Format
Name
XHTML 1.0
xhtml
XHTML 1.1
xhtml1.1
HTML 4.01
html
XHTML 5
xhtml5
.
html5
is an alias for
xhtml5
.
Web Help
containing XHTML 1 pages
webhelp
Web Help
containing XHTML 5 pages
webhelp5
HTML Help
htmlhelp
Eclipse Help
eclipsehelp
EPUB 2
epub
EPUB 3
epub3
PDF
pdf
PostScript®
ps
RTF (can be opened in Word 2000+)
rtf
WordprocessingML( can be opened in Word 2003+)
wml
Office Open XML (can be opened in Word 2007+)
docx
OpenOffice (can be opened in OpenOffice.org 2+)
odt
XSL-FO
fo
Useful options
"
-p
chain-pages
both
". This XSLT stylesheet parameter specifies that a header and a footer containing navigation icons should be generated in order to link together all the HTML pages.
"
-p
chain-topics
yes
". This XSLT stylesheet parameter specifies that navigation icons should be generated in order to link together all the topics.
"
-p
default-table-width
100%
". Unless this XSLT stylesheet parameter is specified (or the
expanse="page"
attribute is specified for all tables), web browsers tend to layout the generated HTML tables in order to make them as narrow as possible.
A full-fledged command-line is thus:
$ ditac -images img -p xsl-resources-directory res \
-p number all
\
-p chain-pages both
\
-p chain-topics yes
\
-p default-table-width 100%
\
out/manual/_.html manual.ditamap
What if you want to generate a single XHTML page rather than multiple XHTML page? No need to create a new DITA map for that. Simply specify option "
-chunk
single
" (or
-c
in its short form).
$ ditac
-chunk single
\
-images img -p xsl-resources-directory res \
out/manual.html manual.ditamap
Converting a document to Web Help
Converting a document to
Web Help
is similar to converting a document to
multi-page XHTML 1
. The main difference is that you need to explicitly specify
-format webhelp
:
$ ditac
-format webhelp
\
-images img -p xsl-resources-directory res \
webhelp/_.html manual.ditamap
If you prefer to generate Web Help containing XHTML 5 pages rather than XHTML 1 pages, then specify
-format webhelp5
.
iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAB2HAAAdhwGP5fFlAAAD
Z0lEQVR42u1ar3MTQRSuQCAQCASiAlGBQEQgEAhEBQKB4A9AIBAIBALBTG6mogKBqEBEIHBUdJjd
paJik6uMqIhAVEREdKahuYOIiojw3uVuure3l+Ryu5m7zb6ZbyqSNHnf7fv1vd3acubMmTNnztZq
AT+6G/j0fdAmrbBD9ken7MXGOP+Hk4dBhw4AUwm9EaeP7H/6HdpVOJ8gCDndtfjos8Yc5xMM/3Fy
z0oCwg79kHLWpyfw9wAwlkg4sJMAnx6Ljo588k5JDJyCPue3rXIeHQJHr0VHr/ivJ0Ju6KXIsa0y
hD57I2f9Kee3bggge+nX2SdrnL/kP+6AU/20g2QvlSB99jr1ept+syf7gzPS0x/D8d/eCALwKGdK
HXSB8vsgIb5NE0BatXYc4xsc+ZJxvk2IGPs3JZLsp5Jgh32se8Nzpmhy+nlNDpyKUyuqANZ0udwl
zgf8+MGc0zIR3ju55Oy+HfE+Q1dOeot6BI3oRiUWJlCjzuORlZ5iHMv0syrms5WCHRkiIMHgirPn
uT/A87zpAgwBBNDIOA9jrOIJDopMdhge2AIbJmEacPJsVQISBM1mc0f64XLCC3DuL5484X/BSTAY
DohzbMzKEIA4nDfehj55VRXlKS6vk0V9SFECAmGIycR89ZKzNGdAL1KWgKmSgDb9vkzCW7f95T93
5JKsm4BznO2r6LygQ5ohoCY6ZLolh0S7EQTkJUHUJmpJwExXIB6UyYtVyyB89rdSbqsDAbKmuAIm
ogxXKwLiVrtUA5TrfB0IiOXzlHIcy2zzgZ0lxPxClbnqBGDsphouTp5q/YIqE4CjtJTIrrXvDapM
QCb+fcq1f0mVCciqysTbLALkdXreTG8jASiiGo//KhOA2oLx+K8yAbggMR7/lSZAin/t9b+0HoA6
XgzdsRnXf3GSGxu7N6BFEZr92F50bDVk6sxK3acnxo6aJgIy2yB0YlWlKL5Cs547AwUJGC5JQIKz
wCcvyy5ajF6jK0hAK1mIiJPXQj0fF6BARCRSCrlDRMjZ45yLU12jmmMB5/sA5eIy2vFxuovqsGpN
VgbG7w/Gjs1DF/AVsL2cHscaQMShFiJUi4y6WHTcVyeiX5UtkxZtHm99xBchchWcSPgAwnDPoNzh
OXPmzJkzZ86cOXPmzJkG+w+d9fWscBhZhwAAAABJRU5ErkJggg==
Remember
Do not specify any of the following command-line options when generating Web Help:
-toc
,
-index
.
Converting a document to HTML Help
Converting a document to HTML Help
is done by executing the following command:
C:\> ditac -images img -p xsl-resources-directory res \
out\manual.chm manual.ditamap
Unless you have specified in
the
ditac.options
file
the location of
hhc.exe
, you'll have to execute:
C:\> ditac
-hhc
"C:\Program Files\HTML Help Workshop\hhc.exe" \
-images img -p xsl-resources-directory res \
out\manual.chm manual.ditamap
Remember
Do not specify any of the following command-line options when generating HTML Help:
-toc
,
-index
.
Converting a document to Eclipse Help
Converting a document to
Eclipse
Help
is similar to converting a document to multi-page XHTML. The main difference is that you need to explicitly specify
-format eclipsehelp
:
$ ditac
-format eclipsehelp
\
-images img -p xsl-resources-directory res \
out/com.acme.widget.userguide/_.html manual.ditamap
In order to deploy the generated Eclipse Help, you need to copy the output directory as a whole (
com.acme.widget.userguide/
in the case of the above example) to the
plugins/
directory of Eclipse and then use a text or XML editor to modify the generated
output_directory
/plugin.xml
:
<plugin
name="EDIT HERE: title of this help"
id="EDIT HERE: unique.id.of.this.plugin"
provider-name="EDIT HERE: author, company or organization"
version="1.0.0">
<extension point="org.eclipse.help.toc">
<toc file="toc.xml" primary="true"/>
</extension>
<extension point="org.eclipse.help.index">
<index file="index.xml"/>
</extension>
</plugin>
If you do not want to hand edit
plugin.xml
, suffice to pass extra XSLT stylesheet parameters to ditac:
$ ditac -format eclipsehelp \
-p plugin-name "ACME Widget User's Guide"
\
-p plugin-id
com.acme.widget.userguide
\
-p plugin-provider "ACME Corp."
\
-images img -p xsl-resources-directory res \
out/
com.acme.widget.documentation
/_.html manual.ditamap
Remember
If you want to see your document by selecting
Help
→
Help Contents
in Eclipse:
Do not specify any of the following command-line options when generating Eclipse Help:
-toc
,
-index
.
Parameter
plugin-id
is required to have the same value as the basename of the the output directory (
com.acme.widget.userguide/
in the case of the above example).
Copy this output directory to
eclipse_install_dir
/dropins/
and not
eclipse_install_dir
/plugins/
.
Converting a document to EPUB
Converting a document to
EPUB
Help
is done by executing the following command:
$ ditac -images img -p xsl-resources-directory res \
out/manual.epub manual.ditamap
If you prefer to generate EPUB 3
rather than EPUB 2, then specify
-format epub3
.
Remember
Do not specify any of the following command-line options when generating EPUB:
-toc
. Note that you may specify option
-index
.
Related information
•
Chapter 3. The
ditac
command-line utility
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
Chapter 2. Getting started
Chapter 2. Getting started
Chapter 3. The
ditac
command-line utility
ditac
[
option
]*
output_file
[
in_dita_file
]+
Command-line usage
Converts specified DITA input files to specified output file.
The input files must comprise a single map or bookmap file or possibly several, possibly multi-topic, topic files.
Example: convert the
userguide.ditamap
map to multi-page XHTML:
C:\docsrc> ditac -p center "fig table" ..\doc\userguide.htm userguide.ditamap
Example: convert the
introduction.dita
and
quickstart.dita
topics to PDF:
C:\docsrc> ditac draft1.pdf introduction.dita quickstart.dita
An input file may be specified using its URL or its filename.
The output directory is created if it does not already exist.
In some case, there is no need to specify a real output filename: the output directory and the extension of the output files suffice. In such case, specify "
_
" as the basename of the output file.
Example: convert
foo.ditamap
to multi-page XHTML. The XHTML pages must be generated in the
bar/
subdirectory.
C:\docsrc> ditac bar\_.html foo.ditamap
In the above case, the basenames of the generated XHTML pages will be taken from the
@chunk
and
@copy-to
attributes specified in
foo.ditamap
if any, and from the basename of the map ("
foo
" in the case of our example) otherwise.
Commonly used command-line options
Some options have both a short name and a long name. Example:
-p
is equivalent to
-param
.
-p
param_name
param_value
-param
param_name
param_value
Specifies a conversion parameter, generally an XSLT stylesheet parameter
. See
Chapter 4
.
A
param_name
starting with "
load.
doc_loader_name
.
" specifies an option which is passed to the alternate document loader called
doc_loader_name
. For example,
-p load.mdita.autolink true
turns on the
autolink
extension in the
MDITA
loader. See
MDITA support
.
-t
XSLT_stylesheet_URL_or_file
-xslt
XSLT_stylesheet_URL_or_file
Use the specified custom XSLT stylesheet rather than the stock one
.
-c
none|single|auto
-chunk
none|single|auto
The "
none
" and "
single
" values may be used to force the generation of a single output file
.
For example, "
-chunk single
" allows the reuse of a map designed to output multiple HTML pages in order to generate a PDF file.
For example, "
-chunk none
" allows the reuse of a map designed to output a PDF file in order to generate a single HTML page.
By default, the chunk mode is
auto
which means: generate a single output file (implicit "
-chunk none
") for formats such as
pdf
,
ps
,
rtf
, etc, and generate multiple output files for formats such as
html
,
xhtml
,
webhelp
, etc.
-f
xhtml | xhtml1.1 | html | xhtml5 | html5 | webhelp | webhelp5 | epub | epub3 | htmlhelp | ps | pdf | rtf | odt | wml | docx | fo
-format
xhtml | xhtml1.1 | html | xhtml5 | html5 | webhelp | webhelp5 | epub | epub3 | htmlhelp | ps | pdf | rtf | odt | wml | docx | fo
Explicitly specifies the output format
. By default, the output format is determined using the extension of
output_file
.
Notes:
A "
htm
" or "
html
" filename extension implicitly specifies an XHTML 1.0 output format, and not an HTML 4.01 output format. In order to generate HTML 4.01, explicitly specify "
-f html
". The same remark applies to
xhtml1.1
,
xhtml5
,
webhelp
,
webhelp5
.
Option
html5
is simply an alias for
xhtml5
.
Option
webhelp5
means Web Help containing XHTML 5 pages rather than XHTML 1 pages.
Option
epub
specifies the EPUB 2 format.
-r
resource_path
-resources
resource_path
-i
resource_path
-images
resource_path
Copy the resource files, typically image files, referenced in the source topics to specified directory
. If specified path is relative, it is relative to the output directory.
-resourcehandler
class_name
parameters
Pass the resource files, typically image files, referenced in the source topics to
class_name
, a
Java
™
class implementing interface
com.xmlmind.ditac.preprocess.ResourceHandler
. String
parameters
is used to configure the newly created
ResourceHandler
.
For example, "
-r res
" is equivalent to "
-resourcehandler com.xmlmind.ditac.convert.ResourceCopier res
".
-filter
ditaval_URL_or_file
Apply specified conditional processing profile (
.ditaval
file) to the topics
.
-attrvalues
subject_scheme_map_URL_or_file
Specify an external subject scheme map
. The controlled attribute values found in this subject scheme map are prepended to those loaded from the subject scheme maps possibly referenced in the map or bookmap to be converted.
-defaultattrvalues
subject_scheme_map_URL_or_file
Same as
-attrvalues
except that the controlled attribute values found in this subject scheme map will
not
be used if some controlled attribute values are loaded from the subject scheme maps referenced in the map or bookmap to be converted.
-toc
Equivalent to "
-frontmatter toc
"
.
Note that this option will
not
cause a
Table of Contents
to be generated when the map contains a single
<topicref>
(3)
Not counting
<topicref>
s contained in
<frontmatter>
and
<backmatter>
.
(3)
having no
<topicref>
descendants.
-index
Equivalent to "
-backmatter indexlist
"
.
-frontmatter
spec
Automatically generate specified sections:
Table of Contents
,
List of Tables
, etc, before the other pages
.
When used on a
<bookmap>
, this option adds elements
after
any existing
<booklists>
elements.
The syntax of
spec
is:
spec -> same_page [ ',' same_page ]*
same_page -> section [ '+' section ]*
section -> 'toc'|'figurelist'|'tablelist'|'examplelist'|
'equationlist'|'indexlist'
Example: generate the
Table Of Contents
in its own page, followed by another page containing both the
List of Figures
and the
List of Tables
.
-frontmatter toc,figurelist+tablelist
-backmatter
spec
Automatically generate specified sections:
Table of Contents
,
List of Tables
, etc, after the other pages. See
-frontmatter
for more information
.
When used on a
<bookmap>
, this option adds elements
before
any existing
<booklists>
elements.
-addindex
When an output file contains the
Table of Contents
(let's call this file
main.html
) and when no file called
index.html
has been generated, this option copies
main.html
to
index.html
. Applies to formats:
xhtml
,
xhtml1.1
,
html
,
webhelp
.
-lang
language_code
Specifies the main language of the document
Shorthand for:
-foconverter pdf "
executable_file
"
-foconverter ps "executable_file"
. Examples: "
fr
", "
fr-CA
". Needed to sort the index entries.
By default, this information is taken from the
@xml:lang
attribute of the root element of the topic map (if any, "
en
" otherwise).
-v
-vv
-vvv
Turn verbosity on. More Vs means more verbose
.
-o
options_URL_or_file
-option
options_URL_or_file
This option lets the user specify a text file containing command-line arguments
. This text file has the same format as
the
ditac.options
file
.
Example:
$ ditac -v
-o html.options
foo.htm foo.ditamap
If
html.options
contains:
-format html
-p css http://www.acme.com/css/acme.css
then this is equivalent to running:
$ ditac -v -format html -p css http://www.acme.com/css/acme.css \
foo.htm foo.ditamap
Command-line options used to configure ditac
-fop
executable_file
Specifies the location of the
fop
shell script (
fop.bat
on Windows)
.
Shorthand for:
-foconverter FOP pdf '"
executable_file
" -q -r -fo "%I" -pdf "%O"'
-foconverter FOP ps '"
executable_file
" -q -r -fo "%I" -ps "%O"'
-fopconf
configuration_file
Specifies the location of an
Apache FOP configuration file
. A relative file path is relative to the current working directory. Ignored unless
option
-fop
is also specified.
-xep
executable_file
Specifies the location of the
xep
shell script (
xep.bat
on Windows)
.
Shorthand for:
-foconverter XEP pdf '"
executable_file
" -quiet -valid -fo "%I" -pdf "%O"'
-foconverter XEP ps '"
executable_file
" -quiet -valid -fo "%I" -ps "%O"'
-ahf
executable_file
Specifies the location of
AHFCmd.exe
(
run.sh
on platforms other than Windows)
.
Shorthand for:
-foconverter AHF pdf '"
executable_file
" -x 3 -p @PDF -d "%I" -o "%O"'
-foconverter AHF ps '"
executable_file
" -x 3 -p @PS -d "%I" -o "%O"'
-ahfconf
configuration_file
Specifies the location of an
Antenna House Formatter configuration file
. A relative file path is relative to the current working directory. Ignored unless
option
-ahf
is also specified.
-xfc
executable_file
Specifies the location of the
fo2rtf
shell script (
fo2rtf.bat
on Windows)
.
Suffice to specify the location of
fo2rtf
. Using this location, ditac infers the locations of
fo2wml
,
fo2docx
and
fo2odt
.
Shorthand for:
-foconverter XFC rtf '"
fo2rtf_executable_file
" -rtf.target=MSWord "%I" "%O"'
-foconverter XFC wml '"
fo2wml_executable_file
" "%I" "%O"'
-foconverter XFC docx '"
fo2docx_executable_file
" "%I" "%O"'
-foconverter XFC odf '"
fo2odt_executable_file
" "%I" "%O"'
WARNING
XMLmind XSL-FO Converter
Evaluation Edition (
download page
) generates output containing
random duplicate letters
. This makes this edition useless for any purpose other than evaluating XMLmind XSL-FO Converter. Of course, this does not happen with XMLmind XSL-FO Converter Professional Edition!
-foconverter
processor_name
target_format
command
Register specified XSL-FO converter with ditac, a lower-level alternative to using
-xep
,
-fop
,
-ahf
or
-xfc
. Example:
-foconverter XFC rtf '/opt/xfc/bin/fo2rtf "%I" "%O"'
Note that this option can be specified several times with different values in the same command-line.
This low-level option may be used for example to specify a
configuration file for Apache FOP
:
-foconverter FOP pdf \
'/opt/fop/fop -c /home/john/docs/fop.conf -q -r -fo "%I" -pdf "%O"'
-jhindexer
executable_file
Specifies the location of the
jhindexer
shell script (
jhindexer.bat
on Windows)
, the
Java
™
Help indexer.
-hhc
exe_file
Specifies the location of
hhc.exe
, the HTML Help compiler.
-plugin
plugin_name
Use the DTDs/schemas and the XSLT stylesheets found in the plug-in subdirectory having specified name
preferably to those found in
ditac_install_dir
/schema/
and in
ditac_install_dir
/xsl/
. See
What is a plug-in?
.
Command-line options used to debug ditac
-preprocess
Stop after preprocessing input files
.
-automap
save_file
Save the automatically generated topic map (if any) to specified file
.
-keepfo
When generating PDF, RTF, etc, do not delete the temporary XSL-FO file
.
-errout
Output all messages, including errors and warnings, to
stdout
.
-ignoreoptionsfile
Do not load the
ditac.options
options file
. See below
The
ditac.options
file
.
-validate
Validate
all
the XML files loaded by
ditac
. Any validation error will cause
ditac
to immediately stop running. Therefore the combination of the
-validate
and
-dryrun
options gives you a simple way to thoroughly check your DITA document.
Note that for the
-validate
option to work,
all
the XML files (maps, topics, even
.ditaval
filter files) loaded by
ditac
must start with the proper
<!DOCTYPE>
declaration.
This option is unrelated to
attribute value validation
validation by the means of subject scheme maps
. When the map to be converted (or any of its submaps) references some subject scheme maps then the attribute value validation is automatic and cannot be turned off.
-dryrun
Use
ditac
as a validator, and most notably check cross-references. That is, do not generate any file; just report errors if any
.
-version
Print version number and exit
.
The
ditac.options
file
It is also possible to specify command-line options in the
ditac.options
options file
. The content of this plain text file, encoded in the native encoding of the platform (e.g.
Windows-1252
on a Western Windows PC), is automatically loaded by
ditac
each time this command is executed. The content of this file, command-line options separated by whitespace, is
prepended
to the options specified in the command-line.
Example: If
ditac.options
contains:
-v -p number all
Running:
~/docsrc$ ditac -p center "fig table" ../doc/userguide.htm userguide.ditamap
is equivalent to running:
~/docsrc$ ditac -v -p number all -p center "fig table" \
../doc/userguide.htm userguide.ditamap
The
ditac.options
options file is found in the ditac user preferences directory. This directory is:
$HOME
/.ditac/
on Linux.
$HOME
/Library/Application Support/XMLmind/ditac/
on the Mac.
%APPDATA%
\XMLmind\ditac\
on Windows. Example:
C:\Users\john\AppData\Roaming\XMLmind\ditac\
.
The
ditac.options
options file is mainly useful to configure ditac once for all by specifying values for the
-fop
,
-xep
,
-xfc
,
-jhindexer
,
-hhc
,
-plugin
options.
Example:
-v
-xep E:\opt\xep\xep.bat
-fop E:\opt\fop-2.8\fop\fop.bat
-xfc E:\opt\xfc_eval_java-6_4_0\bin\fo2rtf.bat
-hhc "C:\Program Files\HTML Help Workshop\hhc.exe"
Remember
Relative filenames found in this file are relative to the current working directory, and not to the
ditac.options
options file. Therefore it is recommended to always specify absolute filenames.
No comments (e.g. lines starting with
'#'
) are allowed in
ditac.options
. Options must be separated by whitespace.
In the above example, FOP is declared
after
XEP. This implies that it is FOP and not XEP, which will be used by ditac to generate PDF and PostScript®.
An XSL-FO processor tend to consume a lot of memory. If the DITA conversion fails with an out-of-memory error
, you need to edit the
xep
(
xep.bat
),
fop
(
fop.bat
),
fo2
xxx
(
fo2
xxx
.bat
) scripts in order to increase the maximum amount of memory that the
Java
™
runtime may allocate. This is done by using the
-Xmx
option
of the
Java
™
command-line. Example: "
java ... -Xmx512m ...
".
Starting from
Java
™
1.6.0_23, converting XML documents to PDF using RenderX XEP randomly fails with false XSL-FO errors (e.g.
attribute "space-before" may not be empty
). This problem seems specific to the 64-bit runtime.
The workarounds for the above bug ("
renderx #22766
") are:
Use a 32-bit
Java
™
runtime.
OR Use a 64-bit
Java
™
runtime older than 1.6.0_23.
OR Specify option
-valid
in the
xep
command-line. Note that this workaround is automatically used when you specify which RenderX XEP executable
to use by the means of the
-xep
command-line option.
What is a plug-in?
A plug-in is simply a subdirectory of
ditac_install_dir
/plugin/
. For example,
ditac_install_dir
/plugin/MyPlugin/
.
This subdirectory may contain an
XML catalog file
. This XML catalog file must be named
catalog.xml
. In the case of a DITA specialization,
catalog.xml
points to local copies of customized DTDs. Example:
ditac_install_dir
/plugin/MyPlugin/catalog.xml
:
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
prefer="public">
<public publicId="-//OASIS//DTD DITA Concept//EN"
uri="dtd/concept.dtd"/>
...
</catalog>
This subdirectory may contain an
xsl/
subdirectory organized
exactly
like
ditac_install_dir
/xsl/
. That is, this
xsl/
subdirectory may contain one or more of the following XSLT stylesheets:
XSLT stylesheet
Description
xsl/fo/fo.xsl
Used to generate an intermediate XSL-FO file. After that, the XSL-FO file is converted to PDF
, PostScript
, RTF
, WordprocessingML
, Office Open XML (
.docx
)
or OpenOffice/LibreOffice (
.odt
)
by the means of an XSL-FO processor.
xsl/xhtml/xhtml.xsl
Used to generate XHTML 1.0
pages.
xsl/xhtml/xhtml1_1.xsl
Used to generate XHTML 1.1
pages.
xsl/xhtml/html.xsl
Used to generate HTML 4.01
pages.
xsl/xhtml/xhtml5.xsl
Used to generate XHTML 5
pages.
xsl/webhelp/webhelp.xsl
Used to generate Web Help
containing XHTML 1 pages, which are then compiled using
XMLmind Web Help Compiler
.
xsl/webhelp/webhelp5.xsl
Used to generate Web Help
containing XHTML 5 pages, which are then compiled using
XMLmind Web Help Compiler
.
xsl/htmlhelp/htmlhelp.xsl
Used to generate HTML Help
files, which are then compiled using
hhc.exe
.
xsl/eclipsehelp/eclipsehelp.xsl
Used to generate Eclipse Help
files.
xsl/epub/epub.xsl
Used to generate EPUB 2
files, which are then archived in a
.epub
file (Zip archive having a
.epub
extension).
xsl/epub/epub3.xsl
Used to generate EPUB 3
files, which are then archived in a
.epub
file (Zip archive having a
.epub
extension).
When
ditac
is passed command-line option
-plugin
plugin_name
, it will use the DTDs/schemas and the XSLT stylesheets found in the plug-in subdirectory having specified name preferably to those found in
ditac_install_dir
/schema/
and in
ditac_install_dir
/xsl/
.
Tip
If you don't want your plug-ins to reside inside
ditac_install_dir
/plugin/
, you may specify an alternate parent directory by the means of the
DITAC_PLUGIN_DIR
environment variable. Example:
On Windows:
C:\>set DITAC_PLUGIN_DIR=C:\Users\john\ditac_plugins
On Unix:
$ export DITAC_PLUGIN_DIR=/home/john/ditac_plugins
Related information
•
Chapter 4. XSLT stylesheets parameters
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
Chapter 3. The ditac command-line utility
Chapter 3. The ditac command-line utility
Chapter 4. XSLT stylesheets parameters
Parameters common to all stylesheets
Note
Parameters marked using this icon
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABcVBMVEWzs96BgaO2ttfJyePMzNyf
n8ewsNGxscjBwdtbW46jo87f3+vw8PVRUYReXoqJibSvr8y9vd3MzOWiosl1daBzc56Wlr35+f2C
gqbZ2e7X1+zCwt6YmMLY2OPR0ea1tdt1dab+/v66utnNzeXQ0N7Ly+OdncOEhLHn5/F+fqvLy+a2
ttjBwdxycp+qqsyPj7jDw+GKiqmqqs9oaJi4uMzu7vefn7rOzuhsbJ+3t9jKyuS1tdbZ2ezX1+q/
v+PV1ejDw9OmptHx8fZeXpTT0+mGhrGEhK9vb6H8/P3n5+/6+vvNzea1td/4+PnW1uiZmcDNzemy
stXFxeGbm8XBwd2qqs26uuC4uN5+fq/j4/HOzuOiosV9faSNjbezs895eaD///+oqM7o6O9eXox/
f6mwsMW9vd+Ghqn39/rf3/O1tdf19fi4uNDV1elzc6C7u+CCgqji4u+cnMjc3OnCwuDR0ei1td3G
xueKiraEhLDp6fIkHwLRAAAACXBIWXMAABJ0AAASdAHeZh94AAAAtklEQVQY02NIQAMMMIZpiIY/
G7KAoJ+Rgb6AJ1wgV8abw7IkqwAioCieEJ1pU6EUJmYCEWAQrqpwLg3yCUhkBAp4pJUY2bPaKujJ
m8e6GwIFinUKtaQkrdRiefOSkzKAAjwRLpEprtJWgaIOLGBrK6NK49gzHIX0Y7wgDnMLFZILLstn
tlNXgQhwi3AIKataaXPqOkEEFDWZisqtucIl4H7J0U3lNzaziEfyXDZfeoKsL5pvYQAAcgVNZRGV
SXEAAAAASUVORK5CYII=
are
system parameters
. They are automatically specified by the application executing the XSLT stylesheets. Such system parameters must not be specified by the end-user. Such system parameters are documented here only because the end-user may see them referenced in some configuration files.
Parameters marked using this icon
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABelBMVEXK6byLwXSi8Ieq2ZnI4sfP
0s6F4V2x2aPr9+au3paewY2q3JK737CDs2+Hnn2807G25qH0+fKx2aaz3p5mm0+s3peP5W2gppyk
0I+K02i02KLB6LK1xa262qt4tmCl84xfqTqWyIS25aCXqY+7v7mf0YaZ14Ct25eBw2WT2nDG/qyj
wJdkp0Vrzzu83La8yray5pix3aGx5JeBjXyt251/3VWi8oi87qW47KGu4Jd911Z+xmGYxn73+fa4
26729/XK7rlmsEaAp22x7ZOr3JfZ39WO5W2Ct3KL4WpmzjWy4qFw0EK55KttmV2Y431ql1qJ2GGj
74tr1zZ71lPC/7BhyyzL2sOw4Zut1KKS5HCBuHDP3Mra8c7a3tjEzr9oyznj89rD7q3b+suw2aT/
///9/f2g44CStYOv3pyP42+etZKi34V22Em3x7Gs2pzI/7SWwIPL48ub54Gi1YiOvHuWy3x51lLz
9PKg04lZxyWPnYm73LSMm4aM4GsI0Ry3AAAACXBIWXMAABJ0AAASdAHeZh94AAAACXZwQWcAAAAQ
AAAAEABcxq3DAAAArElEQVQY02NIQQMMUNpSGFUgxi4iAUWguJBFAlmAQ1GvukQQKsCgzl3ByCOU
zM5bwKUdBhQoTXKQ9jHMYzbxErDQcgIKSHEmKoWLumSoSWo628iAzJBVNTcwyo6vDA1S0IcYyq+R
FuCp653jGAe1xVbHtCw42IpNJBUqEG2d6eEmVhspFwsVyJJn8vP1LzILFIcKpIdEKduXV7nn10AF
cvlcQW5kNVZB8i0cAABxsFF7KuPTCQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMi0wMy0wMVQxNjoz
NjozMyswMTowMPfa04EAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTItMDMtMDFUMTY6MzY6MzMrMDE6
MDCGh2s9AAAAAElFTkSuQmCC
are
pseudo-parameters
. They may or may not be passed to the XSLT stylesheets, but the important thing to remember is that they are also interpreted by ditac itself. By consequence, you cannot specify them in an XSLT stylesheet which customizes the stock ones (as explained in
Part II, Chapter 9, Section 2
).
Parameter
Value
Description
appendix-number-format
Allowed values are:
'I'
,
'i'
,
'A'
,
'a'
,
'1'
.
Default value:
'A'
.
The number format of topics referenced in a bookmap as
appendix
. By default, such topics are numbered as follows:
Appendix A.
Title of first appendix
,
Appendix B.
Title of second appendix
, etc.
cause-number-format
Allowed values are:
'I'
,
'i'
,
'A'
,
'a'
,
'1'
.
Default value:
'A'
.
In a
<troubleshooting>
topic, multiple
<remedy>
elements having no title are given numbers formatted using this format.
center
List of element names separated by whitespace.
Example:
'fig equation-figure simpletable table'
.
Default value:
''
.
Specifies which elements are to be centered horizontally on the page.
ditacListsURI
URL
(4)
Unlike a filename, an URL must contain properly quoted characters. For example, do not specify
'Hello world.htm'
, instead specify
'Hello%20world.htm'
.
(4)
.
Default value:
output_dir
/ditac_lists.ditac_lists
.
The URL of file
ditac_lists.ditac_lists
.
equation-number-after
String.
Default value:
')'
.
Text added after the contents of a
<equation-number>
element.
equation-number-before
String.
Default value:
'('
.
Text added before the contents of a
<equation-number>
element.
extended-toc
Allowed values are:
'frontmatter'
,
'backmatter'
,
'both'
,
'none'
.
Default value:
'none'
.
Allows to add
<frontmatter>
and
<backmatter>
<topicref>
s to the
Table of Contents
(TOC) of a document.
Note that the
@toc
,
@navtitle
,
@locktitle
, etc, attributes are applied normally to
<frontmatter>
and
<backmatter>
<topicref>
s when an extended TOC is generated.
external-resource-base
Allowed values are:
''
, an URL ending with "
/
" or
'#REMOVE'
.
Default value:
'#REMOVE'
for EPUB 2
and EPUB 3
,
''
for all the other output formats.
Specifies how to resolve
<xref>
or
<link>
elements having an
external
@scope
attribute and a
relative
@href
attribute. Example of such
<xref>
elements:
<xref scope="external" format="java" href="src/Test.java">Test.java</xref>
.
''
Do not resolve the
@href
attribute. In this case, the external resource files are expected to be copied “by hand” to the output directory.
An URL ending with "
/
"
This URL is prepended to the value of the
@href
attribute.
'#REMOVE'
The
<xref>
or
<link>
element is processed as if it did not have an
@href
attribute.
highlight-source
Allowed values are:
'yes'
and
'no'
.
Default value:
'yes'
.
Allows to turn off syntax highlighting in elements specializing
<pre>
.
By default, syntax highlighting is turned on for all elements specializing
<pre>
and having an
@outputclass
attribute equals to
language-c
,
language-cpp
,
language-csharp
,
language-delphi
,
language-ini
,
language-java
, language-javascript,
language-m2
,
language-perl
,
language-php
,
language-python
,
language-ruby
,
language-tcl
.
index-range-separator
String.
Default value:
'–'
(EN DASH).
The string used to separate the first page number from the last page number in a page range of an indexed term. Example:
index-range-separator='<-->'
:
C
Cat 54, 87<-->90
link-auto-text
List of values separated by whitespace. Allowed values are:
'number'
and
'text'
.
Default value:
'number text'
.
This parameter specifies which text to generate for a
<link>
element, when this
<link>
element has no
<linktext>
child element or when this
<linktext>
child element is empty.
Similar to above parameter
xref-auto-text
but for
<link>
elements.
note-icon-list
List of
type
attribute values separated by whitespace.
Default value:
'attention caution danger fastpath important note notes remember restriction tip'
.
Specifies the type (attribute
@type
) of the
<note>
elements for which icons should be used rather than text in order to represent note labels.
Ignored unless
use-note-icon='yes'
.
number
List of values separated by whitespace. Allowed values are:
'topic'
,
'chapter-only'
,
'table'
,
'fig'
,
'example'
,
'equation-figure'
,
'all'
.
Default value:
''
(number nothing).
Specifies which elements are to be numbered.
'all'
is a short form for
'topic table fig equation-figure'
.
'chapter-only'
means: number topics, but only those referenced in a bookmap as
<part>
,
<chapter>
and
<appendix>
.
Note
Please note that
'all'
does not include
'example'
. If you want to number all formal elements including examples, then you must specify
'all example'
.
number-separator1
String.
Default value:
'.'
.
The string used to separate the hierarchical number of topics acting as sections.
number-separator2
String.
Default value:
'-'
.
The string used to separate the hierarchical number of figures, tables, examples and equations.
When possible, the number of figure, table, example or equation is made relative to the number of the ancestor chapter or appendix. This gives for example (for descendants of chapter 5):
Figure 5-1.
Title of first figure of chapter 5
,
Figure 5-2.
Title of second figure of chapter 5
, etc.
mark-important-steps
Allowed values are:
'yes'
and
'no'
.
Default value:
'no'
.
Generates a "Required" (respectively "Optional") label for
<step>
and
<substep>
elements having an
@importance
attribute set to "
required
" (resp. "
optional
").
part-number-format
Allowed values are:
'I'
,
'i'
,
'A'
,
'a'
,
'1'
.
Default value:
'I'
.
The number format of topics referenced in a bookmap as
part
. By default, such topics are numbered as follows:
Part I.
Title of first part
,
Part II.
Title of second part
, etc.
prepend-chapter-to-section-number
Allowed values are:
'yes'
and
'no'
.
Default value:
'no'
.
Normally topics which are descendants of chapters (that is, topics referenced in a bookmap as
<chapter>
) are numbered as follows:
1.
Title of first section
,
1.1.
Title of first subsection
, etc.
Specifying
prepend-chapter-to-section-number='yes'
prepends the number of the chapter ancestor to the section number. This gives for example (for descendants of chapter 5):
5.1.
Title of first section
,
5.1.1.
Title of first subsection
, etc.
remedy-number-format
Allowed values are:
'I'
,
'i'
,
'A'
,
'a'
,
'1'
.
Default value:
'A'
.
In a
<troubleshooting>
topic, multiple
<remedy>
elements having no title are given numbers formatted using this format.
show-draft-comments
Allowed values are:
'yes'
and
'no'
.
Default value:
'no'
.
Specifies whether
<draft-comments>
elements should be rendered.
troubleSolution-number-format
Allowed values are:
'I'
,
'i'
,
'A'
,
'a'
,
'1'
.
Default value:
'1'
.
In a
<troubleshooting>
topic, multiple
<troubleSolution>
elements having no title are given numbers formatted using this format.
title-after
List of element names separated by whitespace.
Example:
'fig equation-figure table'
.
Default value:
''
.
Specifies which elements should have their titles displayed after their bodies.
title-page
Allowed values are:
'auto'
,
'none'
or the URI of a custom title page.
Default value:
'auto'
.
Specifies the kind of ``title page'' (contains the title of the document, its author, etc) to be generated before the actual contents of the document.
'auto'
Automatically generate a title page based on the title and metadata of the map.
'none'
Do not generate a title page.
URI of a custom title page
Specifies the URI of a custom title page. If the URI is relative, it is relative to the current working directory of the user.
This custom title page is an XHTML file for XHTML-based formats (XHTML, HTML Help, etc). This custom title page is an XSL-FO file for FO-based formats (PDF, RTF, etc). Such custom title pages are generally hand-written.
The child nodes of the
body
element of the custom XHTML title page are wrapped in a
div
contained in the XHTML/HTML file being generated by the XSLT stylesheet.
Do not add a
<!DOCTYPE>
to such custom XHTML title page because otherwise, the XSLT stylesheet may fail loading it.
See
sample custom XHTML title page
.
The child nodes of the first
fo:flow[@flow-name='xsl-region-body']
element of the custom XSL-FO title page are wrapped in a
fo:block
contained the XSL-FO file being generated by the XSLT stylesheet.
See
sample custom XSL-FO title page
.
title-prefix-separator1
String.
Default value:
'. '
.
The string used to separate the number of an formal object from its title.
use-note-icon
Allowed values are:
'yes'
and
'no'
.
Default value:
'no'
.
Specifies whether icons should be used rather than text in order to represent the label of a
<note>
element.
watermark-image
URI. If the URI is relative, it is relative to the current working directory of the user.
No default value.
Specifies an image file which is to be used as a watermark in all the pages comprising the output document. See also parameter
watermark
.
If you need this feature when generating RTF
, WordprocessingML
, Office Open XML (
.docx
)
, OpenDocument (
.odt
)
, please make sure to use
XMLmind XSL-FO Converter
v5.3+
.
xref-auto-text
List of values separated by whitespace. Allowed values are:
'number'
and
'text'
.
Default value:
'number'
.
This parameter specifies which text to generate for an
<xref>
element, when this
<xref>
element contains no text at all
(5)
This implies that the
xref-auto-text
parameter is ignored when an
<xref>
element contains some text.
(5)
.
Let's suppose that an
<xref>
element containing no text at all points to a topic titled "
Installation
".
Because the
<xref>
element points to an element having a
<title>
child element, ditac may use this title as a starting point for the generated text.
Now let's suppose that topics are numbered and that the number of the "
Installation
" topic is "
Chapter 5
".
The text generated for this
<xref>
element is thus:
If
xref-auto-text='number'
Chapter 5
If
xref-auto-text='text'
Installation
If
xref-auto-text='number text'
Chapter 5. Installation
Note that this specification is just a hint because ditac needs anyway to generate some text. For example, if topics are not numbered and
xref-auto-text='number'
, the generated text will be "
Installation
".
xsl-resources-directory
URL. A relative URL is relative to the output directory.
Default value:
'resources/'
resolved against the directory which contains the XSLT stylesheets.
Most XSLT stylesheets generate files which reference resources such as icons or CSS stylesheets. This parameter specifies the target directory which is to contain such resources.
If this directory does not exist, it is automatically created.
If this directory does not already contain the resources needed by the XSLT stylesheets, such resources are automatically copied to this directory.
The default value of this parameter is something like
file:/opt/ditac/xsl/xhtml/resources/
for the stylesheets generating XHTML. URL
file:/opt/ditac/xsl/xhtml/resources/
specifies an existing directory containing
basic.css
,
note.png
,
important.png
, etc. This means that by default, no directory is created and no resource is copied.
If the value of this parameter is an absolute URI, then ditac assumes that no resource directory is to be created and no resource is to be copied because this has already been done by the user.
iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAB2HAAAdhwGP5fFlAAAD
fElEQVR42u1ZLXDUQBQ+gUAgEIiKCgQCgahAIBAIBAKBQCAqEYgKBALRmbsZBAKBrKhAIJihosPs
hpN7SUXFiQoE4sSJis706OUAUXHieG+T9JJNcrfJZsP9vG/mTWc6l82+L/t+vreNBoFAIBAIBAKB
QCBYwFCwh36H7fsu741cfgl/JzHrDV3+wRft2yvn+Eg4932PC8XhTAuIcXYnQlxbCefRGXBsrON8
wjrO4VKTgJsPj/ukvDm70XoX4vsmhoeOnQtn4/8fe5e9z/6yjI089twXhzej3+KGh0fOU8wDyu/H
UU6A9Y7NyJTW9V32Lv5uO86jg+lj/3fo8RczwwU2liaBtQIC+JsKCIjs9EI4T3I30mq1JnNsAMbA
ttRn5VF1+UB54eC3+HZHq1J4fDuRFD3eDshhjyokIDBYsywBkfnNZvPKMXQSFu6rL8Lyp500hbOl
PN8P/g/xHaw91+C0nGmS0DsXX2+YEIB2kLPx8As6LwtVjcDRFAHG1QjCK8xLydD0+GtTAvxpyVO+
vOu8Lb5ROwRM9whJUEnKpgRMsggYemxnTpIcyO5P8Ht1EhCG6ez1DQk4QQfzNoAxF2+DsbzVScAv
we5aI6CKI24/BPhHteNcCwLykmBmkrZJQNgnJBqkeM+vSwA+EzZHvbJ9ADz/sy/E9VoJCDeelMJQ
QosSMHKdPcNGaAwf44FpI1SYAOkkxF3yS7DjqCHRIQArRymFWWErbEZARluLxxG1QiiKZhJgoAtO
sPH5I9itmRu0TUBwCvgnXQWX7iN4W7fnKIU6CMDkoydxpzOBqzmDIrawti8dAVFTJOeAUAnyvr4q
VuR4LRk6Z5VPjuoiIFkaWQvi8yhUdF0kJitWUV8kGxl+UPlAo24CiuUOxpT4f7VeBCjhooqplSYA
Gxd10mTlRYtKgFr/Rx3+Za0IyIj/nYUiID6bzxQZpvcMdcR/VROhsFf/IS9H8qavRa/XbNf/iglI
TWBxUlR20+lBhoX6X5KAgSYBCdFThAh5q+xyPznNZc8WhYD9mESNz+YvZxMBOgCckEPKnDu+YE05
xfVVOWv14rSA832wjVyxI/hjOKqfDbV7ylAyWy03oWOzrAu2B7apfdsDMVsNEcFd4VJCHvfyRODl
6nZjFYD6Xaq6qfrLs14w/HB2505xCAQCgUAgEAgEAoFAIBBK4B/yK6NbSQiTlAAAAABJRU5ErkJg
gg==
Important
Explicitly specifying something like
xsl-resources-directory='res'
is almost
always required
when generating files having an XHTML/HTML based format (XHTML, HTML Help, etc).
Explicitly specifying something like
xsl-resources-directory='res'
is almost
never required
when generating files converted from XSL-FO (PDF, RTF, etc).
Parameters common to the stylesheets that basically generate XHTML or HTML
This applies to the stylesheets that generate XHTML, HTML, Web Help, HTML Help, Eclipse Help, EPUB.
Parameter
Value
Description
add-copiable-links
List of values separated by whitespace. Allowed values are:
'topic'
,
'table'
,
'fig'
,
'equation-figure'
,
'example'
,
section', 'all'
(equivalent to
'topic table fig equation-figure example section'
).
Default value:
''
(do not add copiable links).
Adds a
copiable link
to the
<title>
child elements of specified “formal elements”.
If the “formal element” is numbered (e.g. has a "
Chapter 1.
" automatically generated label), then the automatically generated label is converted to a link. This link points to the formal element (e.g. a link to the
<topic>
having a chapter role).
Otherwise (e.g. a
<section>
which cannot be numbered), a link containing the section symbol, "
§
", is added to the
<title>
. This link points to the formal element (e.g. a link to the
<section>
).
This automatically generated link to a formal element is intended to be copied using the "
Copy Link
" entry found in the contextual menu of all web browsers in order to be shared with others. For example, send this link by email.
iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAB2HAAAdhwGP5fFlAAAE
QUlEQVR42u1bLXATQRSuQCAQiAoEAoGoQCAqEBUIRAUCgUBWICoQFRURFTdzd41AVHRye5mIigoE
AoGsiKhAVCAiIipOtLlkiKhARESUfXc7kCHN7tvdt7fXmduZnc6kyd6+3fe+972fW1trRjOa0QyH
41fQeZRH6WYeJXujiJ3wv+d5xDI+Z3zeijkTn/XL76S78JvbIHhwf4UOk3d5nH77T1DNmd6MQ/aF
z9f3QvBxmz3jG2/Dxs2FvnuOI3Y5jtL9LDh6XDvB86C7Xgpuc9saWlEcxMnDetx6zHZc3Lhyxuwq
D9Ntv3Yes6+VC740EwZ7qVT4Scxe8IcP/Qv/1yx+Av5UIvx13HnJHzqtj/ALJsFdZxXC/zbY4Kzw
8SELwG7zw+7GIoiBv4e1RzH7IMD0gs+5CUDCOi7Vfqrrujix+cRt9ImZZ0n2YA1dTSA3h5LNadg8
bCJM31O4KtCOPE4+8nXHOphACow6aM9v7NgFKpcUWUv7jgn9POqhc7BhJ1yDC2MEjLY8obRDFMmZ
T6LklROWGaVHFt4hs9JGgcgehWc9AhfZsglslNzeldoTCV+4RqMAahQlnysDmiXhE0bMFHdNkhg3
Tu2LSHiIDJX8hLtlreQK+HDlg/l3vKs95wellygOQaUFeJosMjmyBQfU6Sp9m/+n1oKojUnMVSwm
5eFAb/0KnxwsYRbEGfLfTbF+d1MV2FCmpWxu/g6vJb2466D3FMG6lPZ05tvmJetdWLtsNedeVr86
CF+sGaanCu0JMW7o3Cm/NqG3COFR2suDOszNZNJFDrsbdRReaMC2QnvPMQcgpb82MT4V4CnouzRB
g9mkdFM+XZ3tAYB2ezkA1zdPfQDSpKcu/3eB9iufxfFJsf4Qk325pOLUVQqPA0HWx2z6jGKTVQsv
ntlSuPBT641DnoA8nicQno4IlSloacqZNplhBngrstdXUjcYsx1sAUS+6aC77svVWQRxt+gCjTq2
Tvd9uToLzBnQFSG4qi26Q5f0FlWz5GEuombZ1jjN7hb2Bn0BnnZ8oRvDIGqBUzXquhdeVKxn1v7/
DjTfo63f0wtfFE65bTtJ4GISjb4AT9PlDo0jWEh+EvTwHLgRHlW2s0vfCxXL6qT2OsJDjtA6fT8K
kzf1snm015mTtcsY1OdbjtB+4MX04OQ5HvzQOAAgJS2K+kFJcgo/j+5C5Xv9Tt5oLdhWpluaBnu9
aneeG3L7nkFX2mBVrGI9TDrFFt0RdH6DZkxC9hYOBVJYRRoLMjllMqNVkCtFVCdLeTlvmIRD0G5d
q2YOKusWhbBSVYaqcoLNO1P7VQPYlQCnuUfh54D2Xt8sgbc5PDVOX4A5rtVhgDagWlVo5hCqvLV8
n6gwC8gpmqO4NKStreCrmVuBETYR5aDoVrMsyHofgNAQlYl2eUii9IUrzcQEDOmX/0tD0CJUN0cz
mtGMZliOP3lcgIbJen8xAAAAAElFTkSuQmCC
Restriction
For this facility to work, the formal element must have an
@id
attribute, whether specified by the author or automatically generated by
ditac
.
This parameter is ignored when generating HTML Help, Eclipse Help and EPUB.
add-index-toc
Allowed values are:
'yes'
and
'no'
.
Default value:
'yes'
.
Specifies whether an A-Z list should be added at the beginning of the back-of-the-book index.
chain-pages
Allowed values are:
'none'
,
'top'
,
'bottom'
or
'both'
.
Default value:
'none'
.
Specifies whether a header and/or a footer containing navigation icons should be generated in order to link together all the HTML pages.
Note
There is no need to specify a value other than
'none'
when generating Web Help, HTML Help, Eclipse Help and EPUB.
chain-topics
Allowed values are:
'yes'
and
'no'
.
Default value:
'no'
.
Specifies whether navigation icons should be generated in order to link together all the topics.
See also related parameter:
ignore-navigation-links
.
Note
There is no need to specify a value other than
'no'
when generating Web Help, HTML Help, Eclipse Help and EPUB.
css
URL.
Default value:
''
.
Low-level parameter specifying which CSS stylesheet to use to style the generated (X)HTML pages.
When neither
css
nor
custom-css
is specified, the default CSS stylesheet being used is
xsl-resources-directory
/base.css
.
Restriction
Not supported by the stylesheets that generate EPUB.
cssResourceName
URL basename relative to the directory specified by parameter
xsl-resources-directory
.
Default value:
'base.css'
.
Very low-level parameter specifying which CSS stylesheet to use. This CSS stylesheet is expected to be found in the resources directory.
Note
This parameter is not useful unless you develop a
plug-in
implementing a DITA specialization. More information in
Part II, Chapter 10
.
custom-css
URL.
Default value:
''
.
Specifies the custom CSS stylesheet used to style the generated (X)HTML pages. This high-level parameter has priority over low-level parameter
css
.
This custom CSS stylesheet is copied to directory
xsl-resources-directory
. Therefore
custom-css
requires directory
xsl-resources-directory
to be specified as an URL which is relative to the output directory (e.g.
xsl-resources-directory='res'
).
How to use
custom-css
is explained in
Part II, Chapter 9, Section 1
.
default-table-width
A percentage, typically something like
'100%'
or
'90%'
.
Default value:
''
(as narrow as possible).
The default width of
<table>
and
<simpletable>
elements.
external-link-icon-height
Length. A length may have a unit. Default is
px
.
Default value:
'10'
.
The height of the “opens in new window” icon.
external-link-icon-name
Basename.
Default value:
'new_window.png'
.
The basename of the “opens in new window” icon. This icon is found in the resources directory.
external-link-icon-width
Length. A length may have a unit. Default is
px
.
Default value:
'10'
.
The width of the “opens in new window”' icon.
format-to-type
Zero or more DITA format/MIME type pairs. Example: "
txt text/plain xml application/xml html text/html
".
Default value:
''
, which means that DITA
xref/@format
is
not
converted to XHTML
a/@type
.
Allows to map DITA
xref/@format
to XHTML
a/@type
.
Using default empty value,
<xref scope="external" format="txt" href="http://acme.com/info.xyz">
is converted to
<a href="http://acme.com/info.xyz" target="_blank">
. The fact that file extension "
.xyz
" is unknown may cause problems when attempting to navigate or download file "
info.xyz
" using a Web browser.
If
-p format-to-type "txt text/plain"
is passed to
ditac
then
<xref scope="external" format="txt" href="http://acme.com/info.xyz">
is converted to
<a type="text/plain" href="http://acme.com/info.xyz" target="_blank">
, which is better.
generator-info
String
Default value:
'XMLmind DITA Converter
VERSION
'
.
The name of the software which has been used to create the HTML pages.
Specify an empty string if you don't want to have a
<meta name="generator" content="
XXX
"/>
element added to your HTML pages.
ignore-navigation-links
Allowed values are:
'yes'
, '
no
' and
'auto'
.
Default value:
'auto'
for XHTML and its variants;
'yes'
for Web Help, HTML Help, Eclipse Help and EPUB
If
'yes'
, do not generate the navigation links corresponding to
topicref
attribute
@collection-type
.
If
'no'
, generate the navigation links corresponding to
topicref
attribute
@collection-type
.
If
'auto'
, generate the navigation links corresponding to
topicref
attribute
@collection-type
, unless
chain-topics=yes
.
javascripts
String. List of URLs separated by whitespace.
Default value:
''
.
The URLs specified in this parameter must point to JavaScript files. These URLs are converted to
<script>
XHTML elements added to the
<html>
/
<head>
elements of the XHTML files generated by ditac.
Note that an URL may end with
';async'
,
';defer'
or a combination of both flags. These flags are translated to the corresponding attributes of the
<script>
element. Example:
https://cdn.jsdelivr.net/npm/¬
mathjax@3/es5/mml-chtml.js
;async
is translated to:
<script type="text/javascript"
src="https://cdn.jsdelivr.net/npm/¬
mathjax@3/es5/mml-chtml.js"
async="async"
></script>
mathjax
Allowed values are:
'yes'
,
'no'
and
'auto'
.
Default value:
'no'
.
Very few web browsers (Firefox) can natively render MathML
. Fortunately, there is
MathJax
. MathJax
is a JavaScript display engine for mathematics that works in all browsers.
'yes'
Add a
<script>
XHTML element loading MathJax to the
<html>
/
<head>
elements of all XHTML files generated by ditac.
'auto'
Same as
'yes'
, but add
<script>
only to generated XHTML files containing MathML.
Ignored by all XHTML-based formats but XHTML and Web Help.
mathjax-url
String.
Default value: the URL pointing to a MathJax CDN, as recommended in the MathJax documentation.
The URL allowing to load the
MathJax
engine
configured for rendering MathML
.
Ignored unless parameter
mathjax
is set to
'yes'
or
'auto'
.
mark-external-links
Allowed values are:
'yes'
and
'no'
.
Default value:
'no'
.
Specifies whether an external link should be marked using a “opens in new window” icon.
navigation-icon-height
Length. A length may have a unit. Default is
px
.
Default value:
'16'
.
The height of a navigation icon.
navigation-icon-suffix
String.
Default value:
'.png'
.
The suffix of a navigation icon.
The root names of navigation icons are fixed:
first
,
first_disabled
,
last
,
last_disabled
,
next
,
next_disabled
,
previous
,
previous_disabled
,
parent
,
parent_disabled
,
child
,
child_disabled
.
For example, if
note-icon-suffix='.svg'
, the default resources directory is expected to contain
first.svg
,
first_disabled.svg
,
last.svg
, etc.
In principle, there is no need for an end-user to specify any of the
navigation-icon-suffix
,
navigation-icon-width
or
navigation-icon-height
parameters.
navigation-icon-width
Length. A length may have a unit. Default is
px
.
Default value:
'16'
.
The width of a navigation icon.
screen-resolution
Positive integer.
Default value:
'96'
.
The resolution of the screen in dot per inch (DPI). This resolution is used to convert image dimensions such as
3cm
to pixels.
xhtml-mime-type
A MIME type without a parameter such as
'text/html'
,
'application/xhtml+xml'
,
'application/xml'
or the empty string (
''
).
Default value: see prose.
Low-level parameter. Do not change default value unless you know what you are doing.
Specify
'text/html'
to serve XHTML as HTML.
This is the default value for all (X)HTML-based output formats except for EPUB 2 and (X)HTML5.
Specify
'application/xhtml+xml'
if you prefer to serve XHTML as XML.
This is the default value for EPUB 2.
Specify an empty string if you prefer not to generate
<meta http-equiv="Content-Type">
.
This is the default value for (X)HTML5 for which a
<meta charset="UTF-8">
is generated instead.
Parameters common to the stylesheets that generate HTML Help, Eclipse Help and EPUB
Parameter
Value
Description
add-toc-root
Allowed values are:
'yes'
and
'no'
.
Default value:
'yes'
.
If
'yes'
, add a pseudo TOC entry, bearing the title of the document, containing all the actual TOC entries.
Restriction
Value
'no'
is not supported by the stylesheets that generate Eclipse Help.
Ignored by the stylesheets that generate Web Help and EPUB.
number-toc-entries
Allowed values are:
'yes'
and
'no'
.
Default value: 'yes' for Web Help,
'no'
for the other formats.
If
'yes'
, number the TOC entries. No effect unless the
number parameter
is used to specify that topics should be numbered.
Parameters specific to the stylesheets that generate Web Help
Parameter
Value
Description
wh---
CSS_VAR_NAME
String. A valid CSS property value.
No default.
This kind of parameter may be used to override any of the default values of the
CSS variables
specified in any of the
NNtheme.css
template files (all found in
ditac_install_dir
/whc_template/_wh/
).
For example, the main
NNtheme.css
template file:
body {
...
--navigation-width: 33%;
...
}
The
wh---navigation-width
CSS variable is used as follows in
NNcommon.css
, another CSS template file:
#wh-navigation {
...
width: var(--navigation-width);
...
}
Therefore parameter
wh---navigation-width
may be used to give the navigation side of the generated Web Help a different initial width. Example:
-p wh---navigation-width "25%"
.
More examples in "
XMLmind Web Help Compiler Manual, Getting started
".
wh-collapse-toc
Allowed values are:
'yes'
and
'no'
.
Default value:
'no'
.
Specifies whether the TOC should be initially collapsed.
wh-index-numbers
Allowed values are:
'yes'
and
'no'
.
Default value:
'no'
.
Specifies whether words looking like numbers are to be indexed.
Examples of such number-like words:
3.14
,
3,14
,
3times4equals12
,
+1
,
-1.0
,
3px
,
1,2cm
,
100%
,
1.0E+6
,
1,000.00$
.
wh-inherit-font-and-colors
Allowed values are:
'yes'
and
'no'
.
Default value:
'yes'
.
When
wh-inherit-font-and-colors
is set to
'no'
, the navigation pane of the generated Web Help uses fonts and colors of its own, which will generally differ from those used for the content of the Web Help.
Setting
wh-inherit-font-and-colors
to
'yes'
lets you use for the navigation pane the same fonts and colors as those used for the content of the Web Help.
So basically this parameter is a shorthand for:
-p wh---navigation-font-family inherit¬
-p wh---navigation-font-size inherit¬
-p wh---navigation-color inherit¬
-p wh---navigation-background-color inherit
See above
wh---
CSS_VAR_NAME
parameters.
wh-jquery
Relative or absolute URI. A relative URI is relative to the URI of a page of the Web Help.
Default value: absolute URI of the corresponding file found on the Google CDN.
Specifies the location of the JavaScript file containing
jQuery
. Example:
https://code.jquery.com/¬
jquery-3.7.0.slim.min.js
Specifying an "
https:
" URL is recommended when the generated Web Help is stored on an HTTPS server.
wh-local-jquery
Allowed values are:
'yes'
and
'no'
.
Default value:
'no'
.
Specifies whether all jQuery files should be copied to
_wh/jquery/
, where
_wh/
is the directory containing the other Web Help files.
By default, the jQuery files are accessed from the Web (typically from a CDN).
Note that this parameter is applied
after
jQuery has been possibly customized using parameter
wh-jquery
. For example, "
-p wh-jquery https://code.jquery.com/jquery-3.7.0.js
" copies a file downloaded from
https://code.jquery.com/ to _wh/jquery/
.
wh-layout
The name of a layout.
Default value:
'classic'
.
Selects a layout for the generated Web Help.
For now, only 3 layouts are supported:
classic
,
simple
and
corporate
.
wh-responsive-ui
Allowed values are:
'yes'
and
'no'
.
Default value:
'yes'
.
Specifies whether the generated Web Help should be “responsive”, that is, whether it should adapt its layout to the size of the screen.
wh-ui-language
"
browser
" or "
document
" or a language code conforming
RFC 3066
. Examples:
de
,
fr-CA
.
Default value:
'browser'
.
Specifies which language should be used for the messages (tab labels, button tool tips, etc) of the generated Web Help.
Default value "
browser
" means that this language is the one used by the Web browser for its own messages. This language may often be specified in the user preferences of the Web browser.
Value "
document
" means that the language of the document should be used.
A language code such as
en
,
en-US
,
es
,
es-AR
, etc, may be used to explicitly specify which language should be used.
wh-use-stemming
Allowed values are:
'yes'
and
'no'
.
Default value:
'yes'
.
Specifies whether
stemming
(6)
In linguistic morphology and information retrieval, stemming is the process of reducing inflected (or sometimes derived) words to their word stem, base or root form—generally a written word form.
(6)
should be used to implement the search facility. By default, stemming is used whenever possible, that is,
when the main language of the document can be determined;
when this main language is one of: Danish, Dutch, English, Finnish, French, German, Hungarian, Italian, Norwegian, Portuguese, Russian, Spanish, Swedish, Romanian, Turkish.
The main language of the document is specified by the
@xml:lang
attribute found on the root element of DITA map being converted; otherwise using the
-lang command-line option
; otherwise, it is assumed to be "
en
".
wh-user-css
Filename or absolute URI of a CSS file. A relative filename is relative to the current working directory.
Specifies the user's CSS stylesheet which is to be added to each page of the Web Help.
This file is copied to
output_directory
/_wh/user/
.
Sample user's CSS
wh_resources/header_footer.css
as used in the following example:
-p wh-user-header¬
wh_resources/header.html
-p wh-user-footer¬
wh_resources/footer.html
-p wh-user-css¬
wh_resources/header_footer.css
-p wh-user-resources¬
wh_resources/header_footer_files
wh-user-footer
Filename or absolute URI of an XHTML file. A relative filename is relative to the current working directory.
Specifies the user's footer which is to be added to each page of the Web Help.
The content of the
<body>
element of
wh-user-footer
is inserted as is in the
<div id="wh-footer">
found in each page of the Web Help.
Same remark as for parameter
wh-user-header
about the resources referenced by a user's footer.
Sample user's footer
wh_resources/footer.html
as used in the following example:
-p wh-user-header¬
wh_resources/header.html
-p wh-user-footer¬
wh_resources/footer.html
-p wh-user-css¬
wh_resources/header_footer.css
-p wh-user-resources¬
wh_resources/header_footer_files
More examples in "
XMLmind Web Help Compiler Manual, Getting started
".
wh-user-header
Filename or absolute URI of an XHTML file. A relative filename is relative to the current working directory.
Specifies the user's header which is to be added to each page of the Web Help.
The content of the
<body>
element of
wh-user-header
is inserted as is in the
<div id="wh-header">
found in each page of the Web Help.
If a user's header references resources (e.g. image files), then these resources must either be referenced using absolute URLs or these resources must be found in a user's resource directory and parameter
wh-user-resources
must be specified.
Example:
The user's resource directory is called
header_footer_files/
and contains
header_footer_files/200x100.png
.
ditac
is passed parameters:
-p wh-user-resources
PATH_TO/
header_footer_files
and
-p wh-user-header
PATH_TO/
header.html
.
header.html
looks like this:
<html>
...
<body>
...
<img src="
_wh/user/header_footer_files/
¬
logo200x100.png" />
...
</body>
</html>
Notice the path used to reference
logo200x100.png
.
Sample user's header
wh_resources/header.html
as used in the following example:
-p wh-user-header¬
wh_resources/header.html
-p wh-user-footer¬
wh_resources/footer.html
-p wh-user-css¬
wh_resources/header_footer.css
-p wh-user-resources¬
wh_resources/header_footer_files
More examples in "
XMLmind Web Help Compiler Manual, Getting started
".
wh-user-resources
Filename or absolute "
file:
" URI of a
directory
. URI schemes other than "
file
" (e.g. "
http
") are not supported for this parameter. A relative filename is relative to the current working directory.
Specifies a user's resource directory which is to be recursively copied to
output_directory
/_wh/user/
.
This directory typically contains image files referenced by the user's header, footer or CSS stylesheet.
Sample user's resource directory
wh_resources/header_footer_files/
as used in the following example:
-p wh-user-header¬
wh_resources/header.html
-p wh-user-footer¬
wh_resources/footer.html
-p wh-user-css¬
wh_resources/header_footer.css
-p wh-user-resources¬
wh_resources/header_footer_files
More examples in "
XMLmind Web Help Compiler Manual, Getting started
".
whc-index-basename
URL basename.
Default value:
'whc_index.xml'
.
Basename of the Index XML input file of XMLmind Web Help Compiler.
In principle, there is no need for an end-user to specify this parameter.
whc-toc-basename
URL basename.
Default value:
'whc_toc.xml'
.
Basename of the TOC XML input file of XMLmind Web Help Compiler.
In principle, there is no need for an end-user to specify this parameter.
Parameters specific to the stylesheets that generate HTML Help
In principle, there is no need for an end-user to specify any of the following parameters.
Parameter
Value
Description
chmBasename
URL basename.
Default value:
'help.chm'
.
Basename of the compiled HTML Help file.
hhc-basename
URL basename.
Default value:
'toc.hhc'
.
Basename of the HTML Help contents file.
hhp-template
URL basename.
Default value:
'template.hhp'
resolved against the directory which contains the XSLT stylesheets.
URL of the file containing the template of the HTML Help project file. This plain text file encoded in UTF-8 contains variables such as
%compiledFile%
,
%contentsFile%
,
%defaultTopic%
, etc, which are substituted with their values.
hhpBasename
URL basename.
Default value:
'project.hhp'
.
Basename of the HTML Help project file.
hhx-basename
URL basename.
Default value:
'index.hhx'
.
Basename of the HTML Help index file.
Parameters specific to the stylesheets that generate Eclipse Help
Parameter
Value
Description
plugin-id
String
No default value.
An ID uniquely identifying the plug-in, typically a Java-like fully qualified name. Example:
'com.acme.widget.userguide'
.
Important
The subdirectory of
plugins/
containing the plug-in must have the same basename as the value of parameter
plugin-id
.
plugin-index-basename
URL basename.
Default value:
'index.xml'
.
Basename of the index file.
plugin-name
String
No default value.
The name of the plug-in, typically the title of the document. Example:
'ACME Widget User's Guide'
.
plugin-provider
String
No default value.
The author, company or organization which has contributed the plug-in. Example:
'ACME Corp.'
.
plugin-toc-basename
URL basename.
Default value:
'toc.xml'
.
Basename of the table of contents file.
plugin-version
String
Default value:
'1.0.0'
.
The version of the plug-in.
Parameters specific to the stylesheets that generate EPUB
Parameter
Value
Description
cover-image
URI. If the URI is relative, it is relative to the current working directory of the user.
No default value.
Specifies an image file which is to be used as the cover page of the EPUB file. This image must be a PNG or JPEG image. Its size must not exceed 1000x1000 pixels.
In theory, EPUB 3
also accepts SVG 1.1 cover images.
epub-identifier
String
Default value: dynamically generated UUID URN.
A globally unique identifier for the generated EPUB document (typically the permanent URL of the EPUB document).
epub2-compatible
Allowed values are:
'yes'
and
'no'
.
Default value:
'yes'
.
Only applies to EPUB 3
.
By default, the EPUB 3 files generated by ditac are made compatible with EPUB 2 readers. Specify
'no'
if you don't need this compatibility.
Parameters specific to the stylesheets that generate XSL-FO
The XSL-FO file generated by the XSLT stylesheets is converted to PDF, PostScript®, RTF, WordprocessingML, Office Open XML (
.docx
), OpenOffice/LibreOffice (
.odt
) by the means of XSL-FO processors such as
Apache FOP
,
RenderX XEP
,
Antenna House XSL Formatter
or
XMLmind XSL-FO Converter
.
Tip
Inserting a
<?pagebreak?>
processing-instruction in the topic source between paragraphs, notes, tables, lists, etc, may be used to force a page break when generating any of the output formats which uses XSL-FO as an intermediate format (PDF, RTF, DOCX, etc).
Parameter
Value
Description
base-font-size
Default value:
'10pt'
.
The size of the ``main font'' of the document. All the other font sizes are computed relatively to this font size
body-bottom-margin
Length.
Default value:
'0.5in'
.
See
Figure 4-1
below.
body-font-family
A string containing one or more font families separated by commas.
Default value:
'serif'
.
Specifies the family of the font used for the text of all elements except topic titles.
body-start-indent
Length.
Default value:
'2pc'
.
Applies only to
alternate XSLT stylesheet
ditac_install_dir
/xsl/fo/fo_indent.xsl
.
This stylesheet:
Indents all blocks but topic and section titles by the value of XSLT stylesheet parameter
body-start-indent
. By default
body-start-indent
is
2pc
.
Adds more vertical space after topic and section titles.
Only part, appendices, chapter and appendix titles are underlined.
This stylesheet is invoked by passing
option
-t ditac-xsl:fo/fo_indent.xsl
to
ditac
. Example of its output:
manual-fop.pdf
.
body-top-margin
Length.
Default value:
'0.5in'
.
See
Figure 4-1
below.
choice-bullets
A string containing one or more single characters separated by whitespace.
Default value:
'•' (BULLET)
.
Specify which bullet character to use for a
<choice>
element. Additional characters are used for nested
<choice>
elements.
Changing the value of this parameter may imply changing the
font-family
attribute of the attribute-set
choice-label
.
equation-block-equation-width
Length.
Default value:
'90%'
.
In a numbered
<equation-block>
element, this parameter specifies the width of the column containing the equation.
equation-block-number-width
Length.
Default value:
'10%'
.
In a numbered
<equation-block>
element, this parameter specifies the width of the column containing the
<equation-number>
element.
external-href-after
String.
Default value:
']'
.
Appended after the external URL referenced by an
<xref>
or
<link>
element. Ignored unless
show-external-links='yes'
.
external-href-before
String.
Default value:
' ['
.
Separates the text of an
<xref>
or
<link>
element from its referenced external URL. Ignored unless
show-external-links='yes'
.
foProcessor
String. Examples:
'FOP'
,
'XEP'
,
'AHF'
,
'XFC'
.
Default value:
''
.
The name of the XSL-FO processor used to convert the XSL-FO file generated by the XSLT stylesheets to the target output format.
footer-center
String.
Specifies the contents of the central part of a page footer. See
Specifying a header or a footer
.
Supports a
conditional specification
.
Default value:
two-sides even:: {{chapter-title}};;
two-sides part||chapter||appendices||appendix odd::¬
{{section1-title}};;
one-side:: {{chapter-title}}
footer-center-width
String representing an integer larger than or equal to 1.
Default value:
'6'
.
Specifies the proportional width of the central part of a page footer. See
Specifying a header or a footer
.
Supports a
conditional specification
.
footer-height
Length.
Default value:
'0.4in'
.
See
Figure 4-1
below.
footer-left
String.
Specifies the contents of the left part of a page footer. See
Specifying a header or a footer
.
Supports a
conditional specification
.
Default value:
two-sides even:: {{page-number}}
footer-left-width
String representing an integer larger than or equal to 1.
Default value:
'2'
.
Specifies the proportional width of the left part of a page footer. See
Specifying a header or a footer
.
Supports a
conditional specification
.
footer-right
String.
Specifies the contents of the right part of a page footer. See
Specifying a header or a footer
.
Supports a
conditional specification
.
Default value:
two-sides first||odd:: {{page-number}};;
one-side:: {{page-number}}
footer-right-width
String representing an integer larger than or equal to 1.
Default value:
'2'
.
Specifies the proportional width of the right part of a page footer. See
Specifying a header or a footer
.
Supports a
conditional specification
.
footer-separator
Allowed values are:
'yes'
and
'no'
.
Default value:
'yes'
.
Specifies whether an horizontal rule should be drawn above the page footer.
header-center
String.
Default value:
'{{document-title}}'
.
Specifies the contents of the central part of a page header. See
Specifying a header or a footer
.
Supports a
conditional specification
.
header-center-width
String representing an integer larger than or equal to 1.
Default value:
'6'
.
Specifies the proportional width of the central part of a page header. See
Specifying a header or a footer
.
Supports a
conditional specification
.
header-height
Length.
Default value:
'0.4in'
.
See
Figure 4-1
below.
header-left
String.
Default value:
''
.
Specifies the contents of the left part of a page header. See
Specifying a header or a footer
.
Supports a
conditional specification
.
header-left-width
String representing an integer larger than or equal to 1.
Default value:
'2'
.
Specifies the proportional width of the left part of a page header. See
Specifying a header or a footer
.
Supports a
conditional specification
.
header-right
String.
Default value:
''
.
Specifies the contents of the right part of a page header. See
Specifying a header or a footer
.
Supports a
conditional specification
.
header-right-width
String representing an integer larger than or equal to 1.
Default value:
'2'
.
Specifies the proportional width of the right part of a page header. See
Specifying a header or a footer
.
Supports a
conditional specification
.
header-separator
Allowed values are:
'yes'
and
'no'
.
Default value:
'yes'
.
Specifies whether an horizontal rule should be drawn below the page header.
hyphenate
Allowed values are:
'yes'
and
'no'
.
Default value:
'no'
.
Specifies whether words may be hyphenated.
index-column-count
Positive integer.
Default value:
'2'
.
The number of columns of index pages.
index-column-gap
Length.
Default value:
'2em'
.
The distance which separates columns in index pages.
justified
Allowed values are:
'yes'
and
'no'
.
Default value:
'no'
.
Specifies whether text (e.g. in paragraphs) should be justified (that is, flush left and right) or just left aligned (that is, flush left and ragged right).
link-bullet
A string containing a single character.
Default value:
'•' (BULLET)
.
Specify which character is inserted before the text of a
<link>
element.
Changing the value of this parameter may imply changing the
font-family
attribute of the attribute-set
link-bullet
.
menucascade-separator
A string containing a single character.
Default value:
'→'
(RIGHTWARDS ARROW).
Specify which character is used to separate the child elements of a
<menucascade>
element.
Changing the value of this parameter may imply changing the
font-family
attribute of the attribute-set
menucascade-separator
.
note-icon-height
Length. A length may have a unit. Default is
px
.
Default value:
'32'
.
'7mm'
for the XSLT stylesheets that generate XSL-FO.
The height of a note icon.
note-icon-suffix
Default value:
'.png'
.
The suffix of a note icon.
The root name of a note icon should be identical to the value of the
@type
attribute it represents. For example, if
note-icon-suffix='.svg'
, the default resources directory is expected to contain
note.svg
,
important.svg
,
caution.svg
, etc.
In principle, there is no need for an end-user to specify any of the
note-icon-suffix
,
note-icon-width
or
note-icon-height
parameters.
note-icon-width
Length. A length may have a unit. Default is
px
.
Default value:
'32'
.
'7mm'
for the XSLT stylesheets that generate XSL-FO.
The width of a note icon.
page-bottom-margin
Length.
Default value:
'0.5in'
.
See
Figure 4-1
below.
page-height
Length. Example: '297mm'.
Default value: depends on paper-type.
The height of the printed page.
page-inner-margin
Length.
Default value: if parameter
two-sided
is specified as
'yes'
then
'1.25in'
otherwise
'1in'
.
See
Figure 4-1
below.
page-orientation
Allowed values are:
'portrait'
and
'landscape'
.
Default value:
'portrait'
.
The orientation of the printed page.
page-outer-margin
Length.
Default value: if parameter
two-sided
is specified as
'yes'
then
'0.75in'
otherwise
'1in'
.
See
Figure 4-1
below.
page-ref-after
String.
Default value:
''
.
Appended after the page number pointed to by an
<xref>
or
<link>
element. Ignored unless
show-xref-page='yes'
or
show-link-page='yes'
.
When both
page-ref-after
and
page-ref-before
are specified as the empty string, in fact, this specifies that the generated string must be the localized equivalent of "
on page
".
page-ref-before
String.
Default value:
''
.
Separates the text of an
<xref>
or
<link>
element from the page number it points to. Ignored unless
show-xref-page='yes'
or
show-link-page='yes'
.
page-top-margin
Length.
Default value:
'0.5in'
.
See
Figure 4-1
below.
page-width
Length. Example: '8.5in'.
Default value: depends on paper-type.
The width of the printed page.
paper-type
Allowed values are:
'Letter'
,
'Legal'
,
'Ledger'
,
'Tabloid'
,
'A0'
,
'A1'
,
'A2'
,
'A3'
,
'A4'
,
'A5'
,
'A6'
,
'A7'
,
'A8'
,
'A9'
,
'A10'
,
'B0'
,
'B1'
,
'B2'
,
'B3'
,
'B4'
,
'B5'
,
'B6'
,
'B7'
,
'B8'
,
'B9'
,
'B10'
,
'C0'
,
'C1'
,
'C2'
,
'C3'
,
'C4'
,
'C5'
,
'C6'
,
'C7'
,
'C8'
,
'C9'
,
'C10'
(case-insensitive).
Default value:
'A4'
.
A convenient way to specify the size of the printed page.
It is also possible to specify a custom paper type by ignoring the paper-type parameter and directly specifying the
page-width
and
page-height
parameters.
pdf-outline
Allowed values are:
'yes'
and
'no'
.
Default value:
'no'
.
Specifies whether PDF bookmarks should be generated.
Supported by the
'XEP'
,
'FOP'
and '
AHF
' XSL-FO processors. Not relevant, and thus ignored by
'XFC'
.
show-external-links
Allowed values are:
'yes'
and
'no'
.
Default value:
'no'
.
Specifies whether the
external URL
referenced by an
<xref>
or
<link>
element should be displayed right after the text contained by this element.
Example:
show-external-links='yes'
causes
<xref href="http://www.oasis-open.org/">Oasis</xref>
to be rendered as follows:
Oasis [http://www.oasis-open.org/]
.
show-imagemap-links
Allowed values are:
'yes'
and
'no'
.
Default value:
'yes'
.
Specifies whether a numbered list should be generated for an
<imagemap>
element, with one list item per
<area>
element.
A list item contains the link specified by the
<area>
element. No list items are generated for “dead areas” (
<area>
elements specifying no link at all).
show-link-page
Allowed values are:
'yes'
and
'no'
.
Default value:
'no'
.
Same as
show-xref-page
but for
<link>
elements.
show-xref-page
Allowed values are:
'yes'
and
'no'
.
Default value:
'no'
.
Specifies whether the page number corresponding to the
internal link target
referenced by an
<xref>
element should be displayed right after the text contained by this element.
Example:
show-xref-page='yes'
causes
<xref href="introduction.dita">Introduction</xref>
to be rendered as follows:
Introduction [3]
.
title-color
A string representing a color.
Default value:
'black'
.
Specifies the color used for the text of topic (of any kind) titles.
title-font-family
A string containing one or more font families separated by commas.
Default value:
'sans-serif'
.
Specifies the family of the font used for the text of topic (of any kind) titles.
two-sided
Allowed values are:
'yes'
and
'no'
.
Default value:
'no'
.
Specifies whether the document should be printed double sided.
ul-li-bullets
A string containing one or more single characters separated by whitespace.
Default value:
'• –'
(BULLET, EN DASH).
Specify which bullet character to use for an
<ul>
/
<li>
element. Additional characters are used for nested
<li>
elements.
For example, if
ul-li-bullets="* - +", "
*
"
will be used for
<ul>
/
<li>
elements, "
-
" will be used for
<ul>
/
<li>
elements contained in a
<ul>
/
<li>
element and "
+
" will be used for
<ul>
/
<li>
elements nested in two
<ul>
/
<li>
elements.
Changing the value of this parameter may imply changing the
font-family
attribute of the attribute-set
ul-li-label
.
unordered-step-bullets
A string containing one or more single characters separated by whitespace.
Default value:
'•' (BULLET, EN DASH)
.
Specify which bullet character to use for a
<steps-unordered>
/
<step>
element. Additional characters are used for nested
<steps-unordered>
/
<step>
elements.
Changing the value of this parameter may imply changing the
font-family
attribute of the attribute-set
unordered-step-label
.
watermark
Allowed values are one or more of
'blank'
,
'title'
,
'toc'
,
'booklist'
,
'frontmatter'
,
'body'
,
'backmatter'
,
'index'
,
'all'
separated by whitespace.
Default value:
'all'
.
Specifies which pages in the output document are to be given a watermark.
By default, all pages are given a watermark. If for example, parameter
watermark
is set to
'frontmatter body backmatter'
, then only the pages which are part of the front matter, body and back matter of the output document are given a watermark. The title page, TOC pages, etc, are not given a watermark.
No effect unless parameter
watermark-image
is specified.
xfc-render-as-table
A string containing zero or more DITA element names separated by whitespace.
Default value:
'note'
.
Specifies whether
XMLmind XSL-FO Converter
should render the
<fo:block>
s representing specified DITA elements as
<fo:table>
s.
This parameter enables a workaround for a limitation of XMLmind XSL-FO Converter: a
<fo:block>
having a border and/or background color and containing several other blocks, lists or tables is very poorly rendered in RTF, WML, DOCX and ODT.
Figure 4-1. Page areas
iVBORw0KGgoAAAANSUhEUgAABG4AAAP5CAYAAABHCWkfAAAACXBIWXMAAB2HAAAdhwGP5fFlAACA
AElEQVR42uzdAbAU933g+ZGEbSRjC9nIworO+0ohNvKiCjnjPTbhYhLhWyrWrlQ2eyJaVoVj1pYq
coJyKCZrlYWPnEmsWOSsi3VaxUUpWCZZXJGysgtVWBepkAuxtWcSUxF2qbxEq9LKW+TCbnFXuivd
1dz7Df1/+tP0v6dn3oP34H2+Vd8C3sz09PQbZnq+8+9/93oAAGA+catNcNGwedJ+JQAAAAAAuISZ
mPSZSU/YFBcNm3vCDQAAAAAA84IdVQAQbi4e1k96qBIAAAAAAFzC7OgJNwAAAAAAAHOSHT3hBgAA
AAAAzDJ7Kpf3zszr8sikz/XOBIv4c8ekNwxZRtx2V+/MnDAvVLc9PulTvTPzjixoue2SSe+d9HB2
u0cnXVZdltZvSeH2q2vrfGzSx6ufj8Py6v6O9s6Em9O1bVRnfXV/6f6PVv9e1fJ488e0ovr7ser2
cZjP3ZMumsbvdHu1zDXVto/fwcHa9p3Irp/W4XjlgepxtbF20t3Vcl/IHvve6rJh67Ui+53H/W1s
+D3snPRI9nvdXT0X0+/oodpt1mTbtunn6foT1fM1bfMj2bIBAAAAAJhTpMlcI56czP6dG/FiXeH2
8WH41cLtkod7zfEmPlC/UrjNq9UH/fTvidptF066f8j97q+uNwprW5aXB4nFVbQY9f4nssu3tGy7
4w2PuSuHqmVszf5e91TvTByL67xWuM72hmXH4z4w5HH3q+jStl4v1K5/ILveppbtcqpadtNoqM29
5smJN2fXb1v2K9U2AQAAAABgzpCHklerD8VptEuEhZPZ5fURCZuy28cok/XVbSM4bOidCTbp8rsb
AsZLvdfD0I7emVEqEXMeaYgJ9YjxVHZZjCCJERyLqvt/pLZeoxBhYm3vzAiN9GF+beXi6joRoY5k
97G3euwxEiQC1zO1ILGg9rjzbX6qChk3VNt8W7U9+lXcGGfkzaEscqT1W1Vtm129s4Paa9Vj2VCt
f2z/49XlrzWEjMezdX+guv5Eddst2e+0X/1OmtbrZLZt9lT3v6W6ztrsd3+y2jYrqu26t/acGDXc
nK7W+0T1fEzb5PHsPp/ykgAAAAAAmEvkH4Q3NFy+LAsJuwsfxEtn8VnYe31kxb7aZfuyD9NNhyDd
3js73kxkl63Lfr6tcN95oFgzxnbZ0SvPcXN3tuyNhdvvLmzXiezn8fiaDulanT32rWOs+6Eh2ycf
MROjhuqjoVb1zh4VlIiIlGLQjsJ9L8/W/e6W9drc8FwJjmTbfWnD8rf2xg834dFecwxLse/VXvuh
fQAAAAAAXFDyD7QlHu29PgIifcBeUH3YjdElbfOhpJErh2of0ocFgCA/FGoi+3kaefFSy4fsBb3X
R3/sG2O77OiVw82x6rIjLbdfmN1//tgnsse0p+X2Ka4cG2Pd85EtTdsnD09rC+veb/j9pNEpsW5L
W+7/ROF3m9br1V7zIWwRjFL02dyy/Od644ebUmi7NbuOuW4AAAAAAHOGYSNXgvW98UavxIf7NA9M
Hi9WZ8tb3nL7/MP0RPbzFH0eGXL/aRTFOPFjRyEOLO51Hw3zUO/cURwT2WNa13Lbu6cRElIgOVi4
fHO27CVDnhc7RrzviDuv9NrDzXMdHnPb3ET39sYPNxOFZa7tcB0AAAAAAC44w0YiBCuy620qfFjf
WH1QjxE4MRIlRpvkhzrl4WZj9vNFHe83fZhe1Dt7otoTLabA82otHpTMRw7tKMSB/DCiDUO27b0N
6z+R/axt1EoerVIs29ey7ptrj7FtRE8pcDQ9L3YULo/tEIdRPVT9zmPEVn1y6/pt03rtLSwzH9nV
67Btxgk3pRFaa3vCDQAAAABgDtJ2yEyvITbkgWBp7+yJeOvGyIo00e2hET9I1+93ouFno1h/vE3m
j21HIQ6s7bjN6o+zaf3baLqfEy3rviO77fkMN6t6rx+q1HQmsBjlc7rXHm5K65UOq3up47YZJ9x0
2d4TXhYAAAAAAHOF9GH19pbrrOw1j8zJzxoVIy5iQt4YkRMjZRbXPozn4abrfCKrGj5ML+2dfbrq
iY7m8WA6I27ybTFsxM3Whsc5kf1sccttb8+ulyYwnu0RN/EYUpSJ0VQHq8vTGanS6Klhc9yU1uuh
bNltbOgJNwAAAACAeULpdN05tzZEhPyD7gMtt02n7T5UCwBdRq1sKHyYTvHgkfO4XXYU4kAejrrO
cROHbDXNcdM2v086zKo0kW8b5yvc7Oy9Hlba5joqTTw9bL029brFk2094QYAAAAAME9omoOmTho1
80oWEbb1hh/utKD3+kS19eUf7w0/s9LBwofpdHhWHFLTNkdO3Gcc1jNO4NnRK59V6mhvtLNKPZP9
fKLXbeLfYRMM9zrcdqbDTdruh1tut6Y3fI6b0npF0Hutw7Y53hNuAAAAAADzhHyOkqYJimOEzavV
5buyn2/JbreisOyd2XXqH/a3DrnfrbV1yz9M54cRPVq474298c+MFDzQK59S+97e8EmdH+o1H1I1
kf08Rg41jbq5PQsYt46x7ucr3OSnYW8aBRSHfh3NbrtzxPXK7yO2zdqGy3dnyxduAAAAAACXPPUJ
ZiPORKyJ+WW29l4/LCkCRn4WpKVZXDhW3WZBZYy6ONB7/bCapgln44P/8ex+91X3FyN59tdu2/Rh
Op8U+WAVOOLsVsur2PBqdr9Lxtgum2rrFstcka17PkHv7uqD/7Lqse/PLqufQWmitr1j+8Zhaiur
bb4ze9yHeu2TN5c4X+EmP3Rtf/V4g0XV9jpW+73tHXG90vPqlWw5EeburZ4Xh2rLF24AAAAAAJc8
6cPqM1nsqHuiigp17u21n6Up5rfJR+YsafiQfqBw26O91w9XavowHfFk35D7f6FXHg00jIne2eEo
TYacWJyFhJKP9s4dmTKRXf54w33kh64tGXPdz+dZpfYPecwP9F4/rffREdcrEUHoSGH58Tx9pCfc
AAAAAADmCfkH9BuqD8XHqg/FMZIl4kzbPDKrqg/zR6vbPFd9MI8RMAuq2+6pLE1ou653ZqTJnur+
b69um3/gLkWMlVUoeK66/2PVh/vNQ9a7C6uq9TlYRYdNhQ/8e7Jtls6utaqwzIne2RMzr6huf7y6
/VPZ4x+X7dUytxQuX5P9Tkqky5vONhaHhx3I1vlwtZ1WZdst3X7JCOtVJ55Du6rbpFFNvd7rQe9Y
x8fV5fEuL6wzAAAAAACzynTmgZkO8UF52NmStve6nR76YmKi1+2MWvOReD4s63C9NKLnoE0GAAAA
ALjUma1wk04Zvb3lOmkemcOX0Pae6Ak3JWKkSzp0rDTpc362rodsMgAAAADApc5shZs0uXDMQ1Mf
ZRGHCeVnpLr1EtreEz3hpo00wXHEusW1yyLaPJ5tv5U2FwAAAADgUme2wk3Mg5ImQ45RFjFnSswv
EmciOtEbfrrvi5WJnnDTRn7mqjjj1jPV8yLmUTrZa54oGgAAAACAS5bZCjdBjJiIYNN0ZqWINzGJ
7YJLbHtP9ISbYUS8OdprPqvU8epyAAAAAABwgYhDpdb3zpwJKs7ctMImQfU8uLV6XsScNxM2CQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmHEWTfq/THqqd+Y0169OemTS62wa
AAAAAACA2SOizV9O+lrvTLTJ/b964g0AAAAAAMCssWPS/9I7N9okD9lEAAAAAAAAs8NfT/r/9srh
5rRNBAAAgEuZVZNuI0lyjhpx5v9rCTd924gkL0pX+SgGAN3YNmRnmCRJkiRn2v/BRzEAGCHc3Hrr
+v5v/davkyQ5p7zjjg/33/zmq/qXXXbZOTv9l19+ufcvkrzIjNdt4QYAxgg38SLa7/9nkiTnnAcO
fK3/vvetPCveXHvtkv7v/d7/avuQ5EXmQw/tFG4AQLghSV6KPvjg9sHOfvxpe5CkcAMAwg1JksIN
SVK4AQDhhiRJ4YYkhRsAQMdw8+qrP+yfOPHdVl955ftjv2CfPPmDqeXEfU3nxf/UqRf7R44c7O/f
/0R/z54vDf587rlDnZZ7+vTLQx/nTD92kqRwQ5LCjXADANMKN4cOfb3TafwWLlzYX7ny5sELcASU
ri/Yy5e/e2oZe/c+NtaLfgSadevWDtahad0WLXpzf+PGj/SPH/92cRkRenpjnL5w7do13nhJUrgh
SQo3ADC3w03u0qXXDUa6DHuxri971aqfGOnFPkbJbNhw2zmRZvXq9w+CSoSkPOYsWLCgGIeEG5IU
bkiSwg0AXNThZvv2+wb/bnLfvi/3b7/9Q1PXnZh41yCstL1Yb916z+C669evG0SV+HuX4JOiTYSe
PPrEOtQPi4rrxZvC4sVXT1031rct3MRySo+z7tGjh73xkqRwQ5IUbgBg9sNNxI1hL8D5CJi260dQ
STElRsGkCLNly12dXujvvvsXpu5n27ZP9l977W9brx+BJUbjlEbJ5OEm5q7xZkqSwg1JUrgBgEsu
3MQ8Mun6MQKny5wyL730fH/37l1Tc+XEhMVt9xETEKcROjFaZ1i0Se7c+emp+zx27IhwQ5LCDUly
lsPNjTfe+IVDhw6tbHPyBpf7uAYAMxRuwl6H+V/SCJsIL/HvODtTmo8mXsTblr95851Tc9ZE9Bll
TpyYf6dpomLhhiSFG5LkhQ8399xzT/9P/uRPWv2Lv/iLt/q4BgAzFG4ijqTr33rr+sbrxGiXdJ3H
H//i1M/j+r1qfpzSKJr4ecSXPPrMhMINSQo3JEnhBgAu+XDz6KMPT10/Dk1qus6uXQ82Hhb11FNP
Tt324MGnG28bkxen68zkDrtwQ5LCDUlSuAGASzbcxNmcYpLhdLhT/Fk6jGn58ncPrhMTGdeXsWTJ
2xsvSx448LWp9YnQcz7CTTqdeBe96ZKkcEOSFG4AYE6EmwguTfEiQkcKNk2HQOXGSJp0ncOHnz3n
8nS2qJi/pmnkSx5Ymk7rnY/eiR36kvUIlS93FL3pkqRwQ5IUbgBgToSbLkbcKR3mFMa8NHG9Zctu
bJzHJmJOWtYDD9x/zuX79n156OFU+QTGJeujZfJws3XrPa3RJ9ebLkkKNyRJ4QYA5kS4idN7lwJG
zG1z9OjhweFOpRfnOHNUOo13nFWqtKw0eicmIa7HnTzslEb1pHl0mkYHpWW3hRtz3JCkcEOSFG4A
4KILN11PB95lHpmu1uexyeNPjKoZdR3ijFXCDUkKNyRJ4QYAhJuaMcomHU417BCkxYuvLp5SPObU
ictuuOH64mnDhRuSFG5IksINAAg3HY3DqNJyHnnk80Ovv2XLXcWQsnv3rpGWJdyQpHBDkhRuAEC4
aTGdLSqMw52GXT+/35gsOL/s9OmXpwJMzFnT9bTgp069OHW6ceGGJIUbkqRwAwDCzaQxYfGiRW8e
LGPdurUjj46JSYrrkx4fOXJwaq6bcNu2T/ZPnvxBMdjs3PnpqeWFcXYr4YYkhRuSpHADAPM+3MSI
mLSMZ575/ZF3zHsNkxSHsaw0giaMkBPz6Gzfft/gtvFnBJp0Jqnkpk13nBN58nATc+dE5OlqRCRv
viQp3JAkhRsAuCjDTcSTuH2Mumk7XXjdF174ztSomvoImeRLLz3f37jxI+fEmSbj8Kh4PE3LGeeM
V8nSMkmSwg1JUrgBgPMabuKwoXSmp5hgeNQX5DjrUxymFLffu/exkW8fkw/HbWMZbWeQihE0u3Y9
OAg8MeomjYaJM1DFHDnD1j0uH3amq5IOrSJJ4YYkKdwAwKyEG5IkhRuSpHADAMINSZLCDUkKN8IN
AAg3JEnhhiQp3ACAcEOSpHBDkhRuAEC4IUkKNyRJ4QYAhBuSJIUbkqRwAwDCDUmSwg1JCjfCDQAI
NyRJ4YYkKdwAgHBDkqRwQ5LCjXADAMINSVK4IUkKNwAg3JAkKdyQJIUbABBuSJLCjXBDksINAAg3
JEkKNyRJ4QYAhJtLwN27d/UnJt7VX7Nm9Zxcv1i3cP/+Jy74fb/00vOeI57HpHBDkhRuAEC4mf0P
EfGhdy6uX6xbuGfPly5osLn33o/3ly9/t+eI5zEp3JAkhRsAEG584J1L4Wbz5jtFAM9jUrghSQo3
ACDc+MAr3JAUbkiSwg0ACDcUboQbksINWRlzgsX7XMwRdik9rjjcOc2Pd+TIQXOyNWyXmZw3cOPG
jwyWuW3bJ8dexsmTP+i/8sr3hRsAEG7YNdwcPXp4ML/LunVr++vXr+tv335f//jxbw9dzokT3x3s
jGzadEd/7do1/VtvXd/fufPTnSb4PXbsSH/XrgcH9xe3vfvuXxisR1O4ee21vx38PUzXKXno0NcH
13vqqSc7bYsXXvjO4PqxMxX3uWTJ26fuq2mHItY7HuOGDbcN1vv22z802AaxA9K0/FhGWl7aiYrt
G9sq3Lr1nv5zzx2a1u8zdsby9T1w4GtTv5PYvo888vn+6dMvn7UjF8+BuCyMbR+Pa9h2ise5Zctd
g+dJLDt23OJ3WPp95+t16tSLU+sUz7XDh58967rpdxwBLW3X+Hf8PP2O6jud8Vxo+nm6fmyHtHMY
O1uxvWPZcR/PPPP7g2V7PaBww/lkvO9fis/F2B9J+w6xH+ALs3O3y0x+GRbvpbHMeD8d5/b79n25
v3TpdXPydyXcAIBwMyd3IOLbkgULFky9see2fZMSyyjdLn4ety19MI5w0XTb+Fl8oG7ayVi16icG
P4udhdI6xf3dcMP1g+tFEOmyLeI+mh5Dfecvlh3BofSYFy5cOIgYTSEpXSe+BYww1HT7iBqvvvrD
ae2Ip2DTtPyVK28exJPYWVq06M2N12n6Ni7WKcJO6XGnx54iSdN6xe909er3n3WbCDN5DFu27MbG
ZcfvvbTDW/p5+p3Gc+XgwaeLjzeWfbF920fhhhRuhJvZHnEznXAz139Xwg0ACDdzbgcifRhfvPjq
/gMP3D/4gJ2G86Y31abh1BFF8iAQb2Rx2xjZEf9Ol8XojPptI26ky+MMTum2sU4RNSICNIWbRx99
eOrn8aZfGm2TrjNsZE4+aiPuO613bIv4d5jfT4zWSMuOHZZYn4gCsf55dIjROKV1imWnqBURJ0ad
5KEljxnj7IjH9ow/YxRNrN/jj39xMDomX37cf6xHRKj4fUVES9s8vv3KR+aE8TtMt49tEDt+8Zgi
1ETQSbeN312Eoab1Sts21i+2XdzP3r2PDa4TI7tSzIplxbapP5fS83TUcBM/j2gTt4/RQbHM+H2t
WHHT1GMa99tCUrihcCPczNfJ9IUb4QYAhJsLuAORPqzXQ0h8eM8PHcpHgkRwSB+kIzo0jarJY0R+
SEyMbkgf9CMi1EeYxHqkETP1cBNRIN22tMOZIkOMpJjJOW7yaFQPM2lUSgoksW3y7ZmHmzT6pGkE
UtP2GnVHvLRt0milMCJTfZRJjMJp2omKb+rS7zpCT9N9R4Ap7YDl6xVBJv2+4/mVnjcpiMXzrOnw
vPy5NGq4CeP5VI94cd9pBFBELK8JFG4o3Ag3wo1wI9wAgHAzZ8NN6Zjn+LDbdAhNBJf4WYxkqI/O
yMNPfCBOcSf9PEY8pGXGPCTDQkB93dKH+Bi50XafcT8zGW7Sjm6M1Cgd/hU7IilyxOilpnBT2sGJ
ZaZRJ/n2GnVHPP5sWr98uzcNlY5tly5PI2HSuseol4h7pTl84v5Kv6+0XhHcmp4r+TaLnaHScylt
m3HCTYw6alpuvk1Kj40Ubngph5s0t1h88RBRP4z3oC5fIMR7RYxkjPfFWGbE8HjvG3b4aQT8uM+4
n3h/idvG/UbEj2UOm3ssRrrm9xvvq7E/0SUGxBdAaW69uM+4ffy97X5jXWNbxT5RfJkR2ypuF+s7
yhct9fermNsu1j09jviyLL4kGnbIdNwuvkiJL2TidnH7+NKqNMo4HnMaRVy6Tmy/GEGblhlRJr7Q
ictivsC4bX3ewHq4iX2L2D+M/bNYRvy96RDqGMWdj9qO28fyL+TJKIQbABBuLroPEW3xJUyHlMRE
vOln6UP0sG9Z0uiXiClphyhFn1hu205dmpOk/kbedihUCj4RAuqH7Ewn3MQOTdthY7lp1E3++PJ1
bvtmKXbE0u9k3B3x2JkdNo9PaSLh3piTF0b0GBZuYsd42Hq1/c7Sthkn3JQCYez8Dzv0jhRueKmG
m/jwXJ97rNdhjrt4D2m7XbznN31gDyN05KNqm4wP/k2jL2PfIN7jeoV51vIY3/ReGz+LLyFK9xsh
oinip0ARUSU/FDyM9/xxwk3Eo9K8cbFtS/tlbXMSxs+b5tkbNjlxxLbSMmO/KG3z+j5f2i5xedq3
a7I+32A+Ere+/YUbABBuWNiBaBq5kpsOY0khIj5cpzfZph2Epje3MH0Dl0JQ6YN8Ms3VUt/JiACU
73Tml8Uy6/Ei/6apyTz+lMJNfMvUyyYXblvvFBhiJ7Ip3LSdbSuiUH0ESPystO75jmnaJvlIn1LI
KN3/sHAT2z4ef3yrFoeLRZiLb+fyHb5SuCl9AEjfug07XCltm3HCTelb1Pz3ItxQuOF8CzfptTve
M9PcZfFam8/ZVg8g8Z6aLo/3uXjPiUgTE8zH6246LDeWXT9bYryvpWgTf8ZoyAg08fob9xNfEKX7
bTpldh4H4v0nbhPv4RFs6jGovt4RjNIXQnHdiDCxfukskWm0bkST+ntGChRpu0Wsif2FuG4sZ9y5
BWM/J9Y9vkSI7Z/Po9f0OpH2L3rVfHNx2HVsv7h9fkhx/bZt4Sbf74jHGeuRfpdpPyytbyncpMvT
yKXY9vG7zSNX/vuI+8j3D+NQ8fwskMINAAg3bNiBGPYNRz1mjHJayfzDc/pgnHZ8ho3WSTsETfcR
O1m9ak6UtIOVz52T7yDk69tkvvxSuGl6HF0OQWsKBG1DwNu2V5P5ztmwOQumE25iZzvCS9qxrZtP
9FsKN6X1ajs8rTTZ8KjhprRM4YbCDedzuEmjSOqXxwf39GG8Ht0j1KQP601fZMSomDQ/Xnzwz9/z
0v+BeK9uGlFTjzP5IUP563V80K/fLpaXnz2wHm7S+1TTHG/p9mkfoj6PXdofSZflj2mUM0Hm+wcR
OZpG1aRtV5+nLyJT+p3EFx5N+xL58vPtW9pvyw8vj2hWX2ZEuraJ/PPt0rROsZ3T8uvPI3PcAIBw
wxF3IJq+1cpN34ClETcxYqTX8bChfNhy+mCcvqnLD71qMu28NIWbfF6UdMx1PiIj33nIT4PZZD7f
SykixHV6Hc9UFTsnbeGm7bC0fHulkTmxHUrrnm//8xVuItrkQ8vj9xfbKXZc4tuxtJ7jhpuuh4dN
Z8SNcEPhhuw+J1o+oX2M7Mh/nka2lCarTxEkvbbmoyjidTne+0sjMMMYqdH0upxGlMT7USmW5POm
5DEgAlOvZY63+kkC4j5KI0va3sNHCTel0btpP6D+nhjzz/QaThZRHxWbfj/5iORSuEnbOoJVaV6i
/GQUpXATcaa0Tmkfsv48Em4AQLjhiDsQ8Sbfdr10HHs6jjt2DNKbeNO3XqUzJdXnuInltt02BZ7S
qJ50WFTakUhDckuHCk1njpsYYp0eR31yvrrpWPBY/6ZAUPqWMd9esX2HTc446llCxg03+e+w6WxY
9YmNRw03+U562wTBKYgJNxRuyJkJN3G40bBRr/mo3BiJ0+t49sM00qI06XzpvSSN6Km/Lqd1bgtG
MSqlKQak94+IIW0jZPLDovP3o7Qt2ubmG+U1IEJJ20TITe9daW7Btt9Zvh+Tr2sp3KTrxn5Z2zJT
xCuFm7Z5ftJ91Ed3CzcAINxwjG9+SvOu5KeCzocOpwl4h82Pk46Pzj9U58d4l+434ka631K4SaNg
YgcoJp+N67ctczrhJnb00k5oafLf+vXyHZw8ELSNUkrba9goqAsZbtI6tZ1ePX98o4ab/Hedn82q
NK+RcEPhhpyZcNP2RUdTuImzDPWyCXTjspLpsKMYKVI6a2W85sc6xKiMeI9Jt6m/LkdEGXb2wfpE
+XkMSF+oxPLb1jmfkyUfEZNPwlv6AiLe85vMRxd1+cKs6b0r9i3Sz9IZn0rmZ3IcFm7S+3t9vsDS
qJlSuGk7E6ZwI9wAgHAzg+GmtPOWhubGDlP+wTY/pCedLrJuvoOXR588BpV26NLZqNrCTezIpEN4
0k7ZKGd3aNvBqA+TzrdF2zeNMVlz0/DwPBCUTqudb6/SNp2NcJNGXLXFpDT6qdcwYfWw9cpvX5p7
ID/8TLihcEPO3OnARwk3+etqV+sf9iPW5POm5EbQyM9WlV6XR5lbrykG5HOxdLXp9qW5+dK+Q5NN
X1y1zenW9N41bK6+ksPCTZfnQf74SuGmbc5C4Ua4AQDhZgbDTa+aOC4dux0fnvNjxevHo0c0STte
8a1OvImlUznHnxF20jdn8WG8fkx4vuwIIilkxG3zaDNsJy0PS+MGj9I2iccQOxMpJMRORhqqHPEl
1ivfXvnpNOtnzMoDQRrCnL7Ni20Zy0rbKwLJqIdJnc9wkw9br09iGSOd0uir0nOly45hLCeNVIpt
m+bPiR38/Cwbwg2FG3L2wk28JqfXzDiTUbyGDjM/PDg/k1C8X8ay4z0jXq/jevHe1zRJf7zH9jrO
rdcUA9L7VLz3dlnnMO3TdAkU8YVFaQRMPkpn3HCTzy0Y26vrYxgWbtJ+XOlLtPrZRYUb4QYAhJtZ
/BAR326l45cjHsQ3XvnpneNNtykkxI5EGmabjybJhzrHsOM4Jr5tLphkRJF0v7GTlSbYaws3+fHs
8cE/39Eax3wum2Q+LDuGducT9TZtr1j3+qiRPBCkbZ0ec7694rK2eV5mI9zUJyeO33nsgOWnAY+d
vrQDVz9Wvus3ehGySmfQiudomhtJuKFwQ85OuMnfc+un+h5mfihx23tdfnrq/HW5adLdunngyWNA
mgQ/7n+cL0a6BIpRXgNGDTdhOmNW2xw/JUvhJk34XJ84uG4KPMKNcAMAws0sGG/e8UYaO0GxQxVv
4HlEiJEyMcKibScnbheHQdU/cMeH+/j5sNNkxjrkQ6bj/iMCxO0i7MT65Ycctc0LM+wY7VG2Sywz
zZlTP/Qn4lB845XHjLQjGtur6THngSC+pYxtk98+Ak5MAjyds1Wk7VUKXbEd0zeAbTunTds8drDq
z4/4e8SUtMMV38TGbWMHMH8cw9arvm1je8dy0zeVMZdRPAfTzl99XqX0PK7PPdDl8UaIS9cpnVGD
FG4o3Lz+np9Gng4LKPGeGKNP00jY/MxOMSdM6bYpJvRazipVeq/MzwCZx4D8UOS2SBDXi1GvMadL
Pl/eXAg36ZDiCFht+wqxnWJ980PgS+Em3Vf9cPj6lyq9IacDF26EGwAQbi6wsVMWb6bjjPqID93j
3jZ28uK2o4aLfMLCYafpPh/G/cd6Dxvpk4ebfAclPe5xvgGcLWdrndNQ7bYQQwo35PkLN/kH8Xjv
LX3gzg+HTiNz8lOEl+433sfTyJJ6uMnfR5tGncT+Sz65cL5usW+RlhtBqWlfI26fvgiK5eTvcXMh
3ORnvCod2hRfDDVN4lwKN7Ed0iioCFb1fZl4v8+/XJvJcJMf/lU6Y6VwAwDCDS8R06mkY8diLseP
UrjhmR3K+AY1dqZLh9V1/ZaXFG7I8xtu4gN3+rAfIy/j0KYU8+OydFhSr+EsTOl+4/b5yM4ICDGv
XMSV/NDj+okA8jnPIghEDIrbxqiQfFLjpvfa/KQKsc8QkSN90RT3kx/GXA8JcyHc5CcLSNs23jPj
/TFtv/R7ieXncaptcud83qG4XYz+jdHD8Wd9ZPFMhpsw/a7jccX+XOnMksINAAg3vMg/8Kdj3uuH
Mwk3F9cor7SzGYdI1QNc/DufhDqf6JIUbsgLG27SyI70ul0ywkJ9ZEsEkTzMRBiIdUmjYeLvEXTS
susnHIgRIfVAk5ufYKDpvTY/O2STsR5Nh/XOlXAz7PGnZeenMu9yVq5Yr/qp2PNtmp4vMx1u6mf7
ajqjp3ADAMINL9JYE0OY480+7ehFvJnupMTCzdw5w1nMrRRzCMXP4s/4d69homhSuCHHM15b4wN1
HH5Tuk58IRLXKX0xEqNVYrRNhIT0oT8+eMf7c9v7XBwOFSNn0miOeC+PZcSIkRR6Yrlx3/Gz+u0j
5seIkDi0p5fNq5eCRNwujcYp3X8EnPy9JdYlblOa5yVti7a5eboY2zuWUz/7Yv0kCekxNF0ejz+C
Vsx5kwJXbMMYRRTvkU2HgcXvKi2zPoopv05s19g2cb2Yiy8dgp7CTf0QrS7bJS4rPY/iPmMUbezX
xX3E71S4AQDhhpeI+bd1sdMy6pkthJu5uyOUDoeqG7/n+qnISeGGJMe367yCKcx57RJuAEC4YWfj
m6bYeYhv5PKzPsxlY0RQBJtwro8Omu3DpmIofXzLGr/j+IYuft/jniKdFG5IstnYj4ovRmJ+n9I8
gfkXT20jtIQb4QYAhBuSpHBDkjNojFhOUSYOjarHmzh0LB1SFn9eTGfAFG4AQLghSVK4IXnRu2HD
bVPxJuYaeuCB+wevUTGfTTp8OQ6VKs2NI9wINwAg3JAkhRuSPE/GKJoYbZNO+FA3Yk79LFXCjXAD
AMINSVK4IckL6CuvfH8wp1zMLRevUXFCgNKZuYQb4QYAhBuSpHBDkhRuAEC4IUlSuCFJCjcAINyQ
JIUb4YYkhRsAEG7Iue3p0y/3P/Wprf13vnPp4E3/bW+7pn/XXRsHP7d9yEv3//2nP72t/5a3vGXw
//7KKxf6f0/O0f+rv/iL/6K/dOl1g/+rcValX/7lu/1fpXADAMIN59MO4fvet3JwWs1e7awN11//
TjuG5CX6//4f/IP3NZ6xxf97cm79X12+/N39yy+//Kz/p/Ge/Z73/Jj/qxRuAEC44Xw5TOKtb31L
4+k2w02b7rCdyEvw//3Spe/w/56c49533y/23/CGBY3/T2O03K/+6i/bThRuAEC44aVufGNX+vCW
DpuynchLy7//92/qv/GNb/T/npzj3nDD9a3v0X/v7/1XthOFGwAQbnip27ZDmLSdSP/vSfq/SuEG
AIQbchZ873uXt37zfu21S2wn8hJzxYqb+osXX138f79kydtsJ3IOODHxruL/0yuuuKJ/440TthOF
GwAQbng+/PM//+P+5z73mTnhLbd8YHCGiqadwje96U39NWtWz5l1JTlz/+/f8Y5rG//fL1iwoP+T
P/nf2E7kHPm/etVVVxW/WPnAB37qkn3ssa9kn1G4AQDhhrNm7JB0Gf5MkiQ5H92160H7jMINAAg3
nP1wc8st/6j/4IO7Zt1f+7XP9j/wgVv6V1115tTAV155Zf8nf/K/Hfx8LqwfyfP3//7tb18y+H9/
9dWL+//wH/p/T87V/6vz5T069o2EG+EGAIQbzplwEzso/3nyR3PF7dsfHKxX/DmX1oskyfnufHmP
/sxnPifcCDcAINxQuBFuSJIUboQb4QYAhBvhhiOEmxf/5v/of+vPj86qWz72icF6xZ+zvS4kSXJ+
vEf/hxf/TrgRbgBAuOHcDzex4/IbO3bMquvWrh2sV/w52+tCkiTnx3v0t4/8pXAj3ACAcMOLJ9w8
/dWv9v/im9+cFbfcddeZb/Mm/5ytdSBJkvPjPTr2eYQb4QYAhBtedOEmdmT+7m/+Zlb81Natg/WK
P2drHUiS5Px4jz7yb/+tcCPcAIBwQ+FGuCFJUrgRboQb4QYAhBsKNyRJ0nu0cCPcAIBwQ+HGTiFJ
ksKNcEPhBgCEGwo3JElSuBFuhBsAEG4o3Ag3JElSuBFuhBsAEG4o3Ag3JEkKN8KNcAMAwo1wQ+GG
JEl6jxZuhBsAEG4o3NgpJElSuBFuhBvhBgCEGwo35Pzxhe98p/+9f/fv+v/+r/6q0/VP/uAHg+uH
Lz3/fPGyUe1y33F/6fr/8Xvf63Sbvzl2rPV+4/HHeo+6vUa1vr7D1isZ1/M8pXAj3FC4AQDhhsIN
OU/97zds6K9du7Z/7913d7p+xIS4fvjob/928bJR7XLfv/SLvzh1/d95+OFOt/kfH3ig0/3Hdtj1
2c/2//c//dNO22tUv/aVr4y1XuEHP/jB/l2bNvV/93d+p/+fXnjB85bCjXAj3Ag3ACDcULghhZu5
FW7++lvf6t9yyy0D4/of+fCHO42UGSWQJB/74hfnVLjJjXjleUvhRrgRboQbABBuKNyQws20ws0X
Pve5GT1UKpYXy/21+++fijf/5g/+YKRw03S/EYT++OmnB8tfv3791HWf+Ff/qnV7ffxjH5vWoVL5
eg071Oupr371rGD0ld/9Xc9dCjfCjXAj3ACAcEPhhhRuxg839ctmaj1j5MqnfuVXBn+/5+MfHync
DLvutw8d6v+Tf/yPB9eNOPSXf/Zn095eM7FeadumsPTPfv7nPXcp3Ag3wo1wAwDCDYUbUriZG+Hm
T599dmq5MQLlwB/+4dS/jx05MqOB5JvPPDM1oifmvJkr4SaM0UbpNjFJsucvhRvhRrgRbgBAuKFw
Qwo3sx5uUrDY8tGPTp29Ko2MiUOcZjqQpBE9cR/1Q5xmM9w8+C//pXBD4Ua4EW6EGwAQbijckMLN
3Ak3McImzqoUy4yzKqWf7/7N35yKK21nWhonkOzbs2fqNn/yjW/MiXATsern77hjcP3bb7ttpFOY
k8KNcCPcAIBwQwo35EUebrpOtvu//fEfX9BwE2d4yicXTj+P03ann//rJ56Y0XATc92Ulj0b4SbC
1K8/+ODU9eO2nrsUboQb4Ua4AQDhhsINOY/CzTi2hZsP/dzPDZbdxW/s318cZRKn/S6dBvuuTZsG
l330rrtmNNy0Bai0vWIUUNfHF6OD2tYr7qPJ33n44f4Dn/rUYIRNum4sz2FSFG6EG+FGuAEA4YbC
DSncTCvcjGKcKapp3eK1Il0nTtldvzxO2Z0uj1EyFzLcjGLTCJl8vboYEybHbUQbCjfCjXAj3ACA
cEPhhnSo1LQPlYpDiUojSerGYU9N6xZndWqbx+bf/9VfTZ0BqnT40Djh5q+/9a2p28ShWk3bK/7s
+vjiLFht6xXbKjeNMkqPPebcyQ8TI4Ub4Ua4EW4AQLihcEOanHhWJyeOsznF4VaxrAgZETqaTGeX
Wr9+ff+l55+fkXCTn368PhroQs1xE6clTwEnHmNpRBEp3Ag3wo1wAwDCDYUbUri54OEmP7NTV+PQ
qZk+q1REnNmanPjYkSNT8Sr+/Ms/+zPPWQo3wo1wI9wAgHBD4YYUbmY/3Pyzn//5qVNfDzsUKUbb
xHXjdNn102SPE262Tb4+pAmI64doXeizSn3ld3936noxCXPbqc9J4Ua4EW6EGwAQbijckMLNeQ83
+Tw6TWdkqpufKvtPvvGNaYWbGNUSwSau/6lf+ZVpb6+ZONtVnFFrpk+zTgo3wo1wAwDCDYUb4YYU
bqYdNbq8XsT8L+n6cfrscQPJ3xw71t/y0Y9OncWpadLk2Qg3MQlzOiV4RKU4hMpzl8KNcCPcCDcA
INxQuCGFmwsebuJQpxQpmg59Khnrn4JLBJhRAklcP+a1iftL1/3iQw/NyPaaiXATxiTJ6fpxBjCH
TFG4EW6EG+EGAIQbCjekcDN2uInJdGPZXU0TCz/11a9OLeNfP/FE58eR3y5frzyQNN1vOitV7q/d
f38xjKTtFSNfRnl80xkJVI9T4Z5HH/X8pXAj3Ag3wg0ACDcUbkjhZrxwM6ppWaWRM8OM0JJG6sRp
tNNInTyQDDNG3PybP/iD1lE+aXuNan37jhNu4hCpNBFzhLG//ta3PIcp3Ag3wo1wAwDCDYUb8lL2
G/v3Dw7D+eYzz3S6/n/83vcG1w/rc8Dkl41qLCuCSYyciX8f+MM/HPmxxKm70/JS9ImJjofd9x8/
/XTnCJK216jWt2++XqM8xph8Od0u5vbxHKZwI9wIN8INAAg3FG5IkqT3aOFGuAEA4YbCjZ1CkiSF
G+GGwg0ACDcUboQbkiSFG+FGuAEA4YbCjXBDkiSFG+FGuAEA4YbCjXBDkqRwI9wIN8INAAg3FG5I
kqT3aOFGuAEA4YbCjZ1CkiSFG+FGuBFuAEC4oXBDkiSFG+FGuAEA4YbCjXBDkiSFG/uMwg0ACDcU
boQbkiSFG+FGuAEA4YYUbkiSpPdo4Ua4AQDhhsKNnUKSJIUb4Ua4EW4AQLihcEOSJL1HCzfCDQAI
NxRu7BSSJCncCDcUbgBAuKFwI9yQJCncCDfCDQAINxRuhBuSJDnMvY891l924439yy67bPAeHX+u
vPnm/r4vf1m4oXADAMINhRuSJDlbfvE3f7P/pje9afDeXPeaxYv7//Nv/IZwQ+EGAIQbXuhw8/RX
vzrYkZkNP3bXXYP1ij9nax1IkuQZl153XWO0Cd/whjf0f+Sd77yoH99TTz4p3Ag3ACDc8OILN7Pp
urVrB+sVf872upAkOd8tRZvcS+FxCjfCDQAIN7wows1/ePHvBjsus+m/+Njdg/WKP2d7XUiSnO8u
XnxNa7RZet3SS+Jxxj6QcCPcAIBwwzkfbuaC27c/OFiv+HMurRdJkvPRD3/4jtZDpT75yW2X3GMW
boQbABBuKNwINyRJXhS+/PLp4qibpUuvH1wu3FC4AQDhhsINSZKcxXjzMz/zwf6VV141eI++6qo3
92+//Z9ektFGuBFuAEC4oXAj3JAkSeFGuAEACDcUbkiSJIUb4QYAhBsKN8INSZIUboQb4QYAhBsK
NyRJksKNcAMAwg2FG+GGJEkKNxRuAEC4oXAj3JAkSeFGuAEA4YYUbkiSJIUb4QYAhBsKN8INSZIU
boQb4QYAhBsKNyRJksKNcAMAwg2FG+GGJEkKNxRuAEC4oXAj3JAkSeFGuAEA4YbCjXBDkiQp3Ag3
ACDcULgRbkiSpHAj3Ag3ACDcULghSZIUboQbABBuKNwINyRJUrihcAMAwg2FG5IkSeFGuAEA4YbC
jXBDkiSFG+FGuAEA4YbCjXBDkiSFG+EGAIQbUrghSZIUboQbABBuKNwINyRJUrgRboQbABBuKNyQ
JEkKN8INAAg3FG6EG5IkKdxQuAEA4YbCjXBDkiSFG+EGAIQbCjfCDUmSpHAj3ACAcEPhRrghSZLC
jXAj3ACAcEPhhiRJUrgRbgBAuKFwI9yQJEnhhsINAAg3FG5IkiSFG+EGAIQbCjfCDUmSFG6EG+EG
AIQbCjfCDUmSFG6EGwAQboQbCjckSZLCjXADAMINhZvp+LWvHej/9E//bP+KK64YrNfll1/eX778
vf2vfvVpO5EkSVK4EW4AQLihcDNbfulLe/rXXvuO/hve8IbBOuVeeeVV/d27H7MjSZIkhRvhBgCE
Gwo3s+GKFT/ev+aaa86JNsl3vGOpHUmSJCncCDcAINxw/rhly12DN9cPfOCWwXwyTz751GBn5bvf
PTH4d3LXrt2Dn7/44qmzfp7PQVP/eVw3fh637fLzUrDJ7bKcpvVJ619/XOnxHj589Kyfx7/j53F5
033mP4uRQm3LiMvr61ffjmk9SvdXX0Za9te/fqjT40nrWH/8pZ+Xttew5dTvN61PfT2Hbd/8d1pa
l1jmqL+j+nrEMpueu+nn9e2e7vN8bfe5vh1Lz9PSegzbLvX/B6XXmWE/77odx3nOlP5f59t23N9z
6fWo9HuuPx+b1jt/DRzltbH0mtT1OVfatuM8R6f7+y+te/p/3XUd0/WbtuP5WsfSa8wo70nD3h/r
6zjq61FpXUb5XXd5/k7n/8yoz8fS7zqFm1/6pU/YZxRuAEC44ex5yy0fOCuM3Hnn5qmdoPzn73rX
xNROUz2mpJ2s+s/TjlDctsvPr7/+htZoE/PddFlO0/qk9a8/rvR4Y6cw/3naSYzLm+4z/9maNWtb
lxGX19evvh3TepTur76MtOx68Co9nrSO9cdf+nlpew1bTv1+0/rU13PY9s1/p6V1STv4o/yO6uuR
du7rz7X08/p2T/d5vrb7XN+OpedpaT2GbZf6/4PS68ywn3fdjuM8Z0r/r/NtO+7vufR6VPo915+P
TeudvwaO8tpYek3q+pwrbdtxnqPT/f2X1j39v+66jun6TdvxfK1j6TVmlPekYe+P9XUc9fWotC6j
/K67PH+n839m1Odj6Xedws2GDbfZZxRuAEC4oRE34Sc+8Uv9N77xjcVwc9NNK4y4MeLGiBsjboy4
MeLGiBsjboy4EW4AQLihOW5mw5dfPt2/8cZl/csuu+ycaLNo0VumdvJIkiTNcSPcAIBwQ+FmluLN
P//nHxuEmlivhQsX9levXtP/wQ9O2okkSZLCjXADAMINhRuSJEnhRrgRbgBAuKFwQ5IkKdwINwAg
3Ag3FG5IkiSFG+EGAIQbCjckSZLCjXAj3ACAcEPhhiRJUrgRbgBAuKFwQ5IkKdxQuAEA4YbCDUmS
pHAj3ACAcEMKNyRJksKNcAMAwg2FG5IkSeFGuBFuAEC4oXBDkiQp3Ag3ACDcULghSZIUbijcAIBw
Q+GGJElSuBFuAEC4oXBjJ40kSVK4EW4AQLihcEOSJCncCDcAAOGGwg1JkqRwI9wAgHBD4YYkSVK4
EW6EGwAQbijckCRJCjfCDQAINxRuSJIkhRsKNwAg3FC4IUmSFG6EGwAQbkjhhiRJUrgRbgBAuKFw
Q5IkKdwIN8INAAg3FG5IkiSFG+EGAIQbCjckSZLCDYUbABBuKNyQJEkKN8INAAg3FG6EG5IkSeFG
uAEA4YbCDUmSpHAj3Ag3ACDcULghSZIUboQbABBuKNyQJEkKNxRuAEC4oXBDkiQp3Ag3ACDcULgh
SZIUboQb4QYAhBsKNyRJksKNcAMAwg0p3JAkSQo3wg0ACDcUbkiSJIUb4Ua4AQDhhsINSZKkcCPc
AIBwQ+GGJElSuKFwAwDCDYUbkiRJ4Ua4AQDhhsKNcEOSJCncCDcAINxQuCFJkhRuhBvhBgCEGwo3
JEmSwo1wAwDCDYUbkiRJ4YbCDQAINxRuSJIkhRvhBgCEGwo3JEmSwo1wI9wAgHBD4YYkSVK4EW4A
QLgRbijckCRJCjfCDQAINxRuSJIkhRvhRrgBAOGGwg1JkqRwI9wAgHBD4YYkSVK4oXADAMINhRuS
JEnhRrgBAOGGFG5IkiSFG+EGAIQbCjckSZLCjXAj3ACAcEPhhiRJUrgRbgBAuKFwQ5IkKdxQuAEA
4YbCDUmSpHAj3ACAcEPhhiRJksKNcAMAwg2FG5IkSeFGuAEACDcUbkiSJIUb4QYAhBsKNyRJksKN
cCPcAIBwQ+GGJElSuBFuAEC4oXBDkiQp3FC4AQDhhsINSZKkcCPcAIBwQwo3JEmSwo1wAwDCDYUb
kiRJ4Ua4EW4AQLihcEOSJCncCDcAINxQuCFJkhRuKNwAgHBD4YYkSVK4EW4AQLihcCPckCRJCjfC
DQAINxRuSJIkhRvhRrgBAOGGwg1JkqRwI9wAgHBD4YYkSVK4oXADAMINhRuSJEnhRrgBAOGGwg1J
kqRwI9wINwAg3FC4IUmSFG6EGwAQbkjhhiRJUrgRbgBAuKFwQ5IkKdwIN8INAAg3FG5IkiSFG+EG
AIQbCjckSZLCDYUbABBuKNyQJEkKN8INAAg3FG6EG5IkSeFGuAEA4YbCDUmSpHAj3Ag3ACDcULgh
SZIUboQbABBuKNyQJEkKNxRuAEC4oXBDkiQp3Ag3ACDcULghSZIUboQb4QYAhBsKNyRJksKNcAMA
wo1wQ+GGJElSuBFuAEC4oXBDkiQp3Ag3wg0ACDcUbkiSJIUb4QYAhBsKNyRJksINhRsAEG4o3JAk
SQo3wg0ACDekcEOSJCncCDcAINxQuCFJkhRuhBvhBgCEGwo3JEmSwo1wAwDCDYUbkiRJ4YbCDQAI
NxRuSJIkhRvhBgCEGwo3JEmSFG6EGwAQbijckCRJCjfCDQAIN8INhRuSJEnhRrgBAOGGwg1JkqRw
I9wINwAg3FC4IUmSFG6EGwAQbijckCRJCjcUbgBAuKFwQ5IkKdwINwAg3JDCDUmSpHAj3ACAcEPh
hiRJUrgRboQbABBuKNyQJEkKN8INAAg3FG5IkiSFGwo3ACDcULghSZIUboQbABBuKNwINyRJksKN
cAMAwg2FG5IkSeFGuBFuAEC4oXBDkiQp3Ag3ACDcULghSZIUboQb4QYAhBsKNyRJksKNcAMAwg2F
G5IkSeHGPqNwAwDCDYUbkiRJ4Ua4AQDhhhRuSJIkhRvhBgCEGwo3JEmSwo1wI9wAgHBD4YYkSVK4
EW4AQLihcEOSJCncULgBAOGGwg1JkqRwI9wAgHBD4Ua4IUmSFG6EGwAQbijckCRJCjfCjXADAMIN
hRuSJEnhRrgBAOGGwg1JkqRwQ+EGAIQbCjckSZLCjXADAMINhRuSJEnhRrgRbgBAuKFwQ5IkKdwI
NwAg3HgjoXBDkiQp3Ag3ACDcULghSZIUboQb4QYAhBsKNyRJksKNcAMAwg2FG5IkSeGGwg0ACDcU
bkiSJIUb4QYAhBtSuCFJkhRuhBsAEG4o3JAkSQo3wo1wAwDCDYUbkiRJ4Ua4AQDhhsINSZKkcEPh
BgCEGwo3JEmSwo1wAwDCDYUbkiRJCjfCDQAINxRuSJIkhRvhBgCEG+GGwg1JkqRwI9wAgHBD4YYk
SVK4EW6EGwAQbijckCRJCjfCDQAINxRuSJIkhRsKNwAg3FC4IUmSFG6EGwAQbkjhhiRJUrgRbgBA
uKFwQ5IkKdwIN8INAAg3FG5IkiSFG+EGAIQbCjckSZLCDYUbABBuKNyQJEkKN8INAAg3FG7spJEk
SQo3wg0ACDcUbkiSJIUb4Ua4AQDhhsINSZKkcCPcAIBwQ+GGJElSuBFuhBsAEG4o3JAkSQo3wg0A
CDcUbkiSJIUb+4zCDQAINxRuSJIkhRvhBgCEG1K4IUmSFG6EGwAQbijckCRJCjfCjXADAMINhRuS
JEnhRrgBAOGGwg1JkqRwQ+EGAIQbCjckSZLCjXADAMINhRvhhiRJUrgRbgBAuKFwQ5IkKdwIN8IN
AAg3FG5IkiSFG+EGAIQbCjckSZLCDYUbABBuKNyQJEkKN8INAAg3FG5IkiSFG+FGuAEA4YbCDUmS
pHAj3ACAcOONhMINSZKkcCPcAIBwQ+GGJElSuBFuhBsAEG4o3JAkSQo3wg0ACDcUbkiSJIUbCjcA
INxQuCFJkhRuhBsAEG5I4YYkSVK4EW4AQLihcEOSJCncCDfCDQAINxRuSJIkhRvhBgCEGwo3JEmS
wg2FGwAQbijckCRJCjfCDQAINxRuSJIkKdwINwAg3FC4IUmSFG6EGwAQboQbCjckSZLCjXADAMIN
hRuSJEnhRrgRbgBAuKFwQ5IkKdwINwAg3FC4IUmSFG4o3ACAcEPhhiRJUrgRbgBAuCGFG5IkSeFG
uAEA4YbCDUmSpHAj3Ag3ACDcULghSZIUboQbABBuKNyQJEkKNxRuAEC4oXBDkiQp3Ag3ACDcULix
k0aSJCncCDcAINxQuCFJkhRuhBvhBgCEGwo3JEmSwo1wAwDCDYUbkiRJ4Ua4EW4AQLihcEOSJCnc
CDcAINxQuCFJkhRu7DMKNwAg3FC4IUmSFG6EGwAQbkjhhiRJUrgRbgBAuKFwQ5IkKdwIN8INAAg3
FG5IkiSFG+EGAIQbCjckSZLCDYUbABBuKNyQJEkKN8INAAg3FG6EG5IkSeFGuAEA4YbCDUmSpHAj
3Ag3ACDcULghSZIUboQbABBuKNyQJEkKNxRuAEC4oXBDkiQp3Ag3ACDcULghSZIUboQb4QYAhBsK
NyRJksKNcAMAwo03Ego3JEmSwo1wAwDCDYUbkiRJ4Ua4EW4AQLihcEOSJCncCDcAINxQuCFJkhRu
KNwAgHBD4YYkSVK4EW4AQLghhRuSJEnhRrgBAOGGwg1JkqRwI9wINwAg3FC4IUmSFG6EGwAQbijc
kCRJCjcUbgBAuKFwQ5IkKdwINwAg3FC4IUmSFG6EG+EGAIQbCjckSZLCjXADAMKNcEPhhiRJUrgR
bgBAuKFwQ5IkKdwIN8INAAg3FG5IkiSFG+EGAIQbCjckSZLCDYUbABBuKNyQJEkKN8INAAg3pHBD
kiQp3Ag3ACDcULghSZIUboQb4QYAhBsKNyRJksKNcAMAwg2FG5IkSeGGwg0ACDcUbkiSJIUb4QYA
hBsKN3bSSJIkhRvhBgCEGwo3JEmSwo1w4+MaAAg3FG5IkiSFG+EGAIQbCjckSZLCjXAj3ACAcEPh
hiRJUrgRbgBAuKFwQ5IkKdzYZxRuAEC4oXBDkiQp3Ag3ACDckMINSZKkcCPcAIBwQ+GGJElSuBFu
hBsAEG4o3JAkSQo3wg0ACDcUbkiSJIUbCjcAINxQuCFJkhRuhBsAEG4o3Ag3JEmSwo1wAwDCDYUb
kiRJ4Ua4EW4AQLihcEOSJCncCDcAINxQuCFJkhRuKNwAgHBD4YYkSVK4EW4AQLihcEOSJCncCDfC
DQAINxRuSJIkhRvhBgCEG28kFG5IkiSFG+EGAIQbCjckSZLCjXAj3ACAcEPhhiRJUrgRbgBAuKFw
Q5IkKdxQuAEA4YbCDUmSpHAj3ACAcEPhRrghSZIUboQbABBuKNyQJEkKN8KNcAMAwg2FG5IkSeFG
uAEA4YbCDUmSpHBD4QYAhBsKNyRJksKNcAMAwg2FG5IkSeFGuBFuAEC4oXBDkiQp3Ag3ACDcCDcU
bkiSJIUb4QYAhBsKNyRJksKNcCPcAIBwQ+GGJElSuBFuAEC4oXBDkiQp3FC4AQDhhsINSZKkcCPc
AMClzaJJd0x6LF40w5/92Z/unz79sjcTDoznwoMPbu+vWHFTPz1H1qxZ23/55dN21EiS5Lz3S1/a
07/++h8Z7CO97W3X9Ldvv8++dMd9zA9+8Gem9i9/5Ed+pH/nnXf2Dxw4INwAQC3aHJ70+UlPpRfN
xYuv7t9883u94XDwHFizZnX/ppveM3hepOfIW996df+9771ZvCFJkvPar33tQP/aa9/Rv+aat2X7
SW/t/9iP/ah96SH7mO9738r+VVddNbXdrr766v573vOe/rJlyxrjjXADYL4SI22+n14sc5csedvg
2wJvLPPbGGnz7ncv6zc9R972tiX9++7bbqeNnCe++OKp/te/fqjVI0eO9X/4w1fHWv63v328//nP
P9L/+Mfv7d955+bBn/HvgweP9P/2b1/rdPu2dXv22cP973znhaHLOnz46NRtvv/9Vzqvfyw3vy/P
GXJ++FM/9YH+5Zdffs5+0hVXXNH/6Ec32Z8seP/9v9R/05ve1LiPGfEmRt4INwBwhr+e9P9pesEM
3/KWRYMP7py/XnvtksGOR+k5snTp9XbayHliBInSa0HuwoUL+7fdtmEQSboud9269f0FCxYUl3nT
TSv6Tz99sHU5EXu6rF/cz4c+dHv/0KHnGpfzxBP7p677/vev7hSNwpj7K91u+/YHPWfIeeKCBW8o
vt688Y1vtD9Z8M1vvqq43WLkTRw2JdwAwBn65HS100YKN6VAEocQtC1z586Hzgo2V1+9uL927bpB
hFm//tb+u941cdYyI4iUQkrXcJP76U/vbFxWhKd0nZi7Yti2+e53TwzWvVfNAdY19pC8+LUveP4U
bgDgDN9re7GMEu4bgfnt29/+ttY31Dim204bOf/CzZe/vG8QK3JjhE1cJ2LMddctHVzv7W9fMjjE
qml5u3btnlpeXP+LX3y88box0ubd714+dd0YLTMs3NTXLa1fhKR77tk6+f62aOq699//wDnLikOk
Yt3PvBcuGty+bdusXr1mKlaVRvKQvDRtG5kcrwn2J5u98sqFxe0W2/T6668XbgCgYsek/6XpBfOy
yy7rf+ITH3UMrjlu+m9961v6pefIRz/6CTtt5DwMN/H3tus+/PCjU9eNvzfNIxOHVMXlMapmWBiJ
ESwpjvQGp9vd3Rpuhj2WiDg33vj6/F0xj079OhGn0uUf+cjG4rJiHp50vThcynOFnF/+6I/+WDFA
/PRP/6T9yYJ33PHh4na75pprzHEDABlxVqk4Dfj/Xf9A/s53LjUTPgfPgTgNeH3yuHiOLF36TmeV
IoWbRuO1odcy30vMadMWTUqTI6fYEqNh6pMgjxJuwrjfdJjWHXdsarxOHLbVdsjU88+/NDW6KK7r
ECly/vmVr/zh5H7Swsa5Ik+detH+ZMs+5nXXXXvOdouzTMX8Ns4qBQDnxpvfmPQ/pRfMVat+QrTh
WW+sn/rU1v473vH6m+uP//h/LdqQwk3rCJnSKJQYXZOCScxjM8o65CN5YkTMdMJNGIddpcOhmg7T
inVNh1XFHDYRapoCVNNlJOePjzzy5al5ruIQoJ/7uf9OtOm4jxmfO9Jr9+LFi/sf/vCHG6ONcAMA
r7MtXjR/67d+3ZsJG/3c5z7jcABSuBkabvLDjOI03fllMZdNb4SJf+ujbkqjZMYJN3kIKk2knB8K
ld/nY4/tLUYkkvPPz3zmc9WhnA/aZxzBhx7aOdhu99xzT2OsEW4AQLihcENyBsNNTOoboSNN7HvX
XVvOuc4v/MLdU8sZZyLfm29eObhtHDY13XAT959uE0GpdL04U1S63rPPHh6MOLz++huGzn9DUrih
cAMAwg2FG5Jz8nTg9923vfGQyjg8Kl2ndMapNmPUSzo8abrhJg6F6rXMxZNPZpwOmYozXMWZqdI6
DJtYmaRwQ+EGAIQbCjck51y4iRExTYcf5aNXxlmPUqA5n+GmfliVQ6RICjfCDQAINxRuSM7ZcBOn
445/133iif39T35y29QkneGTTz5VHHEzzlmY4tCkuG2cTny64Sbm3+mNcCrv227bMHX9OOTL84Kk
cCPcAJgf7KhcKdzwqaeenPzwsL2/Z8+XhBuSF+3kxDHXzbveNTF1xqYf/ODk1GUx701aThyCNOp6
pBE7McfMdMNNjAgaZfRMTKbcdRuQFG4o3AC4dEg7gZuFG27efOfg+bB27RrhhuRFG27qZ5bKzx6V
n1Vq1EONYoROmvh47dp10w43+RmjDh48ItyQFG6EGwAQbijckJwf4aY0f0yMxkmn9I7DpkZZhzjs
Kj9ca7rhJuJPGhX0wx++KtyQFG6EG8x91lZHrGy1KXChn3jhUuGGx49/u3/o0Nf7R48eFm5IXtTh
JkawpOvv3PnQWZetW7d+6rLDh492Xof3v3/11Pw2+eFX44SbOBV4Ckgxd02X2wg3JIWbeRVuVk96
wMfVOceO6r34hE2B+YpwQ+GG5IyEmw996PZinImok6JJzFXTZa6bfG6c++9/oPPZppp8/vmXBme9
Std/9tnDwg1J4Ua4yYmjIV4TB4Sb+chE5cLq3zdMuqH6T7E++/kwFk26atKN1W1vn3RZx9surO5r
c3XfS7Ofp/Ub9hhuzW4/MYPbZVHt5zfUtlewprrvjUMe89Lqtouzn63ItllsvwVdwk2MANm//4nB
ZLkxce4rr3y/+ML76qs/7J848d3+Sy89P/h3XHfv3sf6+/Z9uX/y5A9GehGP5YSvvfa3g3+fPv1y
/8CBr02tR/y7fptjx44M7ivWN/7e9X6eeeb3B8sN4z7a1jVfr3i8adu88MJ3Gq8f2yDWKS07rfep
Uy8OllPfnnHfbT/P1y3uMy37yJGDg/URbkjOdriJCJNHlJhMuOl68TqSrhNnoYozUpXO/JQOaUrL
azqsaVi4idtEQIr7ve66pa0RSLghKdzM+3AjDsztrrC2GhGF80Da2YmN/FBVMPuZpyd9oBAUUsjY
O+mrtdslj1bLbiKWuWvSU7XbvFr9fH32syZWVcPkXmu436cmXT4D22Vz7ecnsu21Oft37nNVkKlz
qLp8R/WEPtJw21eqENQYbg4efHpy53j1Ods5viGNeViaAk4c4hPXmZh41yAyLFny9rNuF5d3fRFP
t4vlxAv64sVXn7Ue8e+IQnHdOKxo9er3n7Out966fhBImpYfsWP58nc3PY+mHmPTbdN1IprU73Pn
zk+fFbxinpr0jXJy6dLrBusdZ47qNcxlU5rjJv08/oxlr1u39pxlxzaJkCTckDzf4aarMZom5rpp
mxw4DntK17/pphWD02zHnDj33bd9cEhVfnn8+8UXTzUuKw83XY1Tl49ySnLhhqRwI9wA8yXcpIgQ
EWXPpI/UosTjDbeNMHIyiy0RcHZW/6EOZkHltULIeCZb/gvVfT5exYv0s1K4WZ/FoohL+6vYszcL
QaequHM+ws1T2WM7Ut1vvr1ONIzWSeHmQLbuxybdV4s4cdnKeri5444PT0WBiC8bNtzWf+CB+/u3
3/6h/qJFb56KM/V4k4ebetSI5ZUiSlu4iftM67Fx40cG65J24mOZESrisvh73OemTXf0V6y4aer2
cZv6srdt++TU5XHd+HeElHvv/fggrKTLYlml9Yr1qH8AiJE7aeRPHq3Wr183uI/4M23XZctuHCvc
RExLy451j/WIQJVv5/M5P45wQwo3XYzX6QgpMRFxl7lmItgMC0APP/xoa2TpGm7idTJG8HQ5i5Rw
Q/JChJsYkZ2PuI6R3bFfGcuKsBF/T6PQ24zrxP74I498frBvG18qxr5yLLvLesQI7nTb+JIz7bs3
jfyuG5fFfcU6p9u3jdQfNdx885vfnPyMMfGPJq97b+/1iWlXDjnSIh3ZsKDly/36USHpdrur1/uX
Gq5TZ01tvdpGgiyoHemxZNLt1QCGUUeQ1I/QiGVtqdZjW8Pn4gXV0SPbq8vXdbiPBdV6peXuqD63
Luu4XnH7u6vblY6yWZFd595s2Yuq5dTngl1c/fyGws+X1AZgbMvWe7Es0z1Q9KvYsrj2hNidXX57
7bYHs1EiTU+SDdltd9cuuze7bFftybKoFnXq4WZJFmeONdx3/Pt49p964XkIN+Hh2qieNIKodNtD
2WUvVf9J6tsrxa499XBz+eWXT8WD+gv0c88dmoobEVWawk3aMY4X/vQmkkbHjBpuUnzJo0+EkRSQ
UsCIUSj5m1ZEl6ZgFG86KZ5EqKm/CcbhRhFY0rLrsSlfry1b7po6PCneqNJhUKtW/cTUCJjDh589
Z/vlUWfUcBPecMP1g8Ou8svjftI2iesKNyRn2ogwES7ajNN7x+FIXc7QVDfmmYlJjD/ykY2Dw6Hi
jFMxr81jj+3tNCombj9s/eI6pRE7XYzDwNKyukQpksJNFyNypP2/+AIufcGXGz+r71fmxn53vo/Z
dTR5GineNNI+9mVj3fKR302xKEJNvm+e3+/Wrfe0Hs7fJdx89rOfnfz8sbQU5I8Ujn5Ym11nouWQ
m/yokPrt6taP7liXfRbsul75fS6qDSDoVwGjK/kRGjsKR6akz8arq8+z9csP1UJH/XP0yZbt8UxD
PMnXa13DZ+19tek99jcc1fJatd53Z+vYZTTUjuzz7crqiJz6Op+qIhQ6BIpTLU+O5xp+OYuqkS7D
nsjHsidQzvFsmU21dVE28qYebrZnT55SVVyRPdk2n4dw82qv+YxTi7L7fagl3NxeuN8j2eFWZ4Wb
9EJdquoRDXpTE04+2xhuImpMJxDkb1JNL/ZxqFC6TsSQpm8M0uX5CJTdu3dNfRtcevOK5ZWWna9X
021je6TrxBtd03Ui8kwn3JQiWASudDiWcEOSJHlxhZs4jD/FlxhVHTEmRm2nL01j/7X+5V2YDsFP
+6hpNHlEk/jCL59GoGmOyDz4xHXi9vkh/+n+m8JNGh2f1j8+A8T9pi8y0+jz0oihYeHmYx/7WP+K
K64YXOeyyy77P6sP/jurz3yvtRz9MG64WVl9lso/ix2qzEf4bMzuPx2V8VD156vZeq1ouc/9DWFh
2RjhJsWRk9X22VebIuTu7N/PVUdwHCnElHoESYHkkepnD9UGGBxt+IxdP3Ikd0sWbeoDFerb75Ux
w83hLDi9UC3zQC1s3SrPDA8Uu1uuc3fhP9jC6kncNqLlUMMvdnW2vPUtt91dCDdHsxFCbRwpRKOZ
OlSqxNGGUTP5tjjZMjRwT8MT/le7hpf0Ap7P65KHm8cf/+KMhJt44W+6PIWMUqSIkTVpGfW5dSJI
lSYTHnbbtsOowrvv/oWpUTFtQ1pXrrx57HBTCk75m7ZwQ5IkeXGFmzRKJR1+n4x9v3xEd36Sjnw0
eXyJV9//jH/nh/jXv5hN+6RNI8Xji9A86tTDzaOPPjx1WXw5Wr/vOKFIGomTf2boGm5++7d/eyra
rFmzpv/xj3/8nQ3zkJ7MPuQvnoFw02WOm2FHZSzNBiQcr30em6iFjJ3V5YvGiAknavFlUe1wpdO1
ozBWFz4Dv1YbWDGRRamnGj5PLqimHUnLXtWyXs9Uy15QbePFtalMXmsYaLCsNhJp1HCTotnGhm1/
orBMNASKtmPp1nSsYAurJ8j66heUV8X8l7AlW94NLcvbVAg3+RNuc4tHslCSv1iUXDpCuNndIVaV
ws3Rlts2hZv/KX9hTmdaajIN4Yw3gqZwEy/0TWediuuUzI+DTcuJN4S2cBPz2owaX5rO/BRvVHGG
pghFEU2GhZvSm3IaZhojgtruM8LYOOEm3lRLyxRuSJIkL+5wE/tzTdeJkTFNo7q7jCbPb5vvo3cZ
KR77x6Vwk0bztB2mH9sjrV/TaP62cHPzzTdXZx68uv9Hf/RHpcmJNxQOMzqf4WZnh6MyJrIRHncX
7vPAND9fn8giRdPcLXuz+9rQcPnqQnzZnP28dBKeRdl1NhbW63Rh4EUehnYUlr96muGmdCTMzobP
7ShEkLYzME20bOxVVWw43iufWar+i81/eQta7ndtQ7i5oTfi2Slqt2+7zuYRws2OaYSbQyOGm98Z
9fHmgSEPN02ToOUxpcn8DWPYm0gpcHQJNxGQ4k0un+i3ZCnclNYrJmZuG5FTjyyjhptYvnBDkiR5
6YWbGDnz0kvPF6+XTv5RP/nGuKPJu4wUj583BZo8BrXNvZPfd5y1tmu4iVCTbnfnnXcOO6vU0Wxe
mQsRbp7LDnXqdfistrdwnztnKNyUjtDIPwsvHPHxLx7yuX1hh8+xhwu33Z4dhra4w1Et44Sb0pE6
m3vtZ5NGx+P2SuFma+/cSYvS8WrpdN5Nv9gHemdP/lRiXcMvcKJ2zN2eDj56kYebR/NjUePFeZj5
m9PFEG5idE0aEprP55POSBVvHvkcPqOGm6aRSE3GWbqEG5IkSeEmhZsIJF1GbMdhU23Xi5ATkSSm
LoiTccTcM037tl1HiqcTd+ThJpadT5HQNlI/XS+duCT209OI+xSPbrvttsGhUV/60pcGkeYLX/jC
1O3i70PCzePZyJPzHW4WZp9Lhx2VcbhhTtGJIaNgRjlyI31e3DUk3Lw0xuNvOjxsXXVEyyO9sydl
Ln2OfaSwrL3Z5/k2Hh0z3LSNphFuzsOhUmuqn+WT/z5XPcEXd5zjZkPHkT5Nh0rlk/9uG+PxztSh
Uhcy3Hw+rU9MoDvqm86wcDPOoVIzHW7yuWLisKj4tqD+DUOXOW5K65VOzV06hGu6h0oJNyRJkpdm
uImQ0mXEdn1/MPZl02jyOCSp13B2p6Z9264jxZvOKhVz1ow6Uj8dBpbvs9aNs0dFpNm+/fXrPPnk
k8PCzY6Gz3LnK9yMc1TGiRFjSdcBAMM+L7aNGhq2Lguqz8iHCke7vDaNz7GHhozIqa//qOHmhHAz
M+GmLYJsbTgebmfHeWpONvxi8+Pntrbcdm/hF3i8123S4durOXlWTmO7zIVwMzU5cdT5thfwOLNR
jEzJT8M9LNyMMznxTIebNNSzPsQ0NyaEGzfcpDeieNPMQ1T9zTW9UQo3JEmSwk2XcJNGbOf7g3Fo
1YoVN531oTomBI4vEeNLypijJs6w2rRv23WkeDpzaVO4iZHrsQ/axXTfXcLNpz/9ehj6vd/7vWHh
ZucshZt91fWGufUiCzeLe+eeSvt0NYji0WodVk7jc+zBhpFITewSbmY33BwvHHMWVe9Yw3GAj3Y4
Vm1drzx5UYoYr/SaT0O+rHf2jNtNv/zXeueeyi0fNnayN/wMUBdDuJk6HXjM/VIKDxFrUrnPz/p0
MYSb9C3E9u33Fe87P63hqOEmji9O2yaGfpaiV2/M04ELNyTJ/7+9+42146wPPD6BSzCJkxhwgoEk
3BQDWWqKCylKW6u4jdu1aACLWpsA2fRmMSGoSRuoSwy4itmgzUK6BBHRKCQrqwQI1FUTNUVBuMgt
VuuldElbC9JV1A3UymZX2W1e+AUv/OKsf4d5rp87nmfOnHNt33+fr/SVk3vvOWfOnHPvzHzPM8+Q
XNmnSuUju2NfPO3/xf5t2/577J+27dv2HSmeTqlqO1UqIlGMqh/n+cYkyrGvHn7sY79bj/q5bvDV
r351sG/fvtkrSk1wqtSzY4aby+d5qtRNExz79Qk30x2uPgPh5q7s63c2zhbJj6EnPY69Jzs+r3oM
rhBuFijcpMCxunFaUj7qJR+5kl8ifHdhtMuz1dxryefkM1Ifzk7BSsHnmap9cuFUVI9mb6zmJdTW
ZcXw2DIYcbMzXxdxPmycStT8w5/miIk/1PkEaksh3KRJ3eIy4s2Z7WOjkzaIybiM4TjLlU/0luJN
2oDG/cdVstJlEYUbkiRJ4abP5MQxYjuNkIn91fT1dKGNSUaTp33H2DfNLzHenC8n7buWJifuuoJr
RJqY2yamYWg7PuianDhdCnz79u2jws2TLWdJbO4xZcbV1fwmJx71of219THepgnnlRnF6Qo3z2an
Mk31WHfjHsfOFI77m4M6jgg3Cxtuns3+fbT2SEecWV3NvRb8Y/VwuDuqExM+HcsCyjOFU7Dy8/Ce
a4yyOdTxAm5tnNf33XpY3L7Gfeya53pZNOHmbW/7tTnnxKaJe6PKp9Ek8W8zXiyFcBMbrvQcYkMX
p4TFRisCS9rwxacKMewz/jvOFx433ESgSZ9MnBj2+bLZ0T5x306VIkmSFG4GPS8HHvGjarmkd9qv
Ld0ujP34tg8l85HicRrWqA8kS5cDjw91S6Nu0uldpcDTdTnwt7zlLcPvvehFLxqOxCmEmzwg7CiM
CLm2x3QZpXBzZMSpWZs6RvMcazlWWwrh5ljhGLO07sY9jl1dH4+nY/u2OLSrmvxy4MLNKQo3N9Wn
P7VdJWp7xxv/YMs5fj+u3zQbG+fZtZ3WdGUdaI41gs2WHi/gFfWbqu08w67lXpLh5g/+4JPDKt6M
D8n449z2h3cphJs0tDNCSvN5RRSJ83XjE4d0ulTz/vuEm3ySuBRo0rw3sdzxSUrcr3BDkiQp3OTh
pu3D0Ygt6QPAuKJUfmGNNBI+/m0bTR4fUub7u7EfXAorO3feMpwSIW4X/+bBpy3cxEjy9L3Yd47R
Nc197hSGSvvsXeHm058+Eave8IY3HH/uV2xomS7j2eyYbKowYuPJxulSq+pjrGMdEeXmlmPLqWyq
jK6zMtZnx3LHqrlXVV4K4ebxLFqtbxkJc0fjOOrWCY5jdzTCzBX167K+Pj3rmHCz8OFmJjsNKQ0f
u7JjGFYzoGyvb3N1y/l26dy/ruvBr275mVur7kul5adGbasff3u9PFPzXC9t5yum9TPquayrf2Zt
4evrOm67tv6Zi9vCTR5AIuLEBiQ2Gs1Tp5obh3S+avNKTeOa7qdr2GZ8v2sC4HQfbZ8AxNcOHvzG
cL6ZMD65yJc5P/d2nOXqWtb8NumUreYs/qXnlb5eGj7btczCDUmS5NIIN2nUd4SYmDQ4n3g4Rrg0
9/NiPz2fo7JtNHmcRpX+uznPY+z/psmHSx/Ypg88m+EmnycnnXIVgSb2b/MPgGO5Y3TPuOEmnJmZ
aS7TwfqD+3zy3Gfq47K2sy7yqyA9Xt8+H+1xpBBRtrasj5sap0Ed63FWxk0TzHGz0OEmvzLz0XrQ
RdzX3dlj7s9OUbtzgnBTtQSaQeM1PSjcLI5wc6Z4sH5TXNHxMw9lI3BWMieFG47n/v2PDDeUsdEu
DRmNr6eNctckyYtR4YYkSfL0hZv4MDHmmWweyEYMaY6oyUe+lEaTxylWEWfS6JnSlavig8z4YDGN
7In5dCKqxAePaQR5W7iJ+46fS/PvVI3LkEdIKi13n3ATfuITnxi87nWvazu4P1Yfx3V9WL27mjsf
arrd3nqEx1NV+XLYexu3awaKzR1nZRxsGYmzVMJNVQenZ6r2S5vfXK+7NPLm8cZghr7hJq3D/Vns
eqpez2uy9S/crJBwkyaPeqjw/Y3ZG+VO4Ua4mY/5RG1xufRR5/rG5RmFG5IkSeEmne4eMSQCTsSU
uJx314jrvqPJ52MarVOaBycZ+7WxvPF8Yj+4zyjwPuEmuWHDhvzsi20jzkyoGqdGba5vd23VfqXh
rjMcNtWu6XFWxrZTdFbGYmBV/byvq05Msnwmn1eKYg9KKSsj3ORD5B6sy2fUxcvr7+XnJ65d4a+R
cHMKTOcax6cMsfGOc4Rjw/Xd7x6YM8FbfkUA4YYkSVK4OZP7dRFXYiRO1wjwiEZVzzkeJ3GccNNx
VSksLTZkZ8V0jZZ6doyRO1gG4Saq4MOFIWzJJ6rJLuUt3LD104a24aq5cc7yOPPkCDckSZLCzak0
v0x4aRR4ukBGnELVnHxYuMGErKlOzG1za+FndpzCU8owJntqFyqQxAse58nFPDZx3ltMprSvDkmr
vDzCzak0NmxxvvHWrVuGk8rFucExEufWWz84HMa6VJ+XcEOSJLk8wk2cSpXmr4mJheNUqJivMa7I
Gqc8bdmyeXa54sqrp2MZhJsVSxpYEQEnJj++uj5e31Yfs6ews3+ZnHYGCDcUbkiSJIWbyeZnbJsM
ucomGI4PHk/VfDnCDWrW1QMqus5SiGiz1qoChBsKNyRJkgsabuI0pbiEd7gQ+3cRZR5++MvDuRjj
8t5xSe9t2359sHPnLb0mGBZuMA9i/tm76xE4cfWoR497T/WTiZABCDcUbkiSJBc+3KxkhRsAEG4o
3JAkSQo3wg0ACDcUbkiSJIUb4Ua4AQDhhsINSZKkcCPcAIBwQwo3JEmSwo1wAwDCDYUbkiRJ4Ua4
EW4AQLihcEOSJCncCDcAINxQuCFJkhRuKNwAgHBD4YYkSVK4EW4AQLihcCPckCRJCjfCDQAINxRu
SJIkhRvhRrgBAOGGwg1JkqRwI9wAgHBD4YYkSVK4oXADAMINhRuSJEnhRrgBAOGGwg1JkqRwI9wI
NwAg3FC4IUmSFG6EGwAQboQbCjckSZLCjXADAMINhRuSJEnhRrgRbgBAuKFwQ5IkKdwINwAg3FC4
IUmSFG4o3ACAcEPhhiRJUrgRbgBAuCGFG5IkSeFGuAEA4YbCDUmSpHAj3Ag3ACDcULghSZIUboQb
ABBuKNyQJEkKNxRuAEC4oXBDkiQp3Ag3ACDcULghSZKkcCPcAIBwQ+GGJElSuBFuAEC4EW4o3JAk
SQo3wg0ACDcUbkiSJIUb4Ua4AQDhhsINSZKkcCPcAIBwQ+GGJElSuKFwAwDCDYUbkiRJ4Ua4AQDh
hhRuSJIkhRvhBgCEGwo3JEmSwo1wI9wAgHBD4YYkSVK4EW4AQLihcEOSJCncULgBAOGGwg1JkqRw
I9wAgHBD4Ua4IUmSFG6EGwAQbijckCRJCjfCjXADAMINhRuSJEnhRrgBAOGGwg1JkqRwI9wINwAg
3FC4IUmSFG6EGwAQbijckCRJCjf2GYUbABBuKNyQJEkKN8INAAg3pHBDkiQp3Ag3ACDcULghSZIU
boQb4QYAhBsKNyRJksKNcAMAwg2FG5IkSeGGwg0ACDcUbkiSJIUb4QYAhBsKN8INSZKkcCPcAIBw
Q+GGJElSuBFuhBsAEG4o3JAkSQo3wg0ACDcUbkiSJIUbCjcAINxQuCFJkhRuhBsAEG4o3JAkSQo3
wo1wAwDCDYUbkiRJ4Ua4AQDhxoaEwg1JkqRwI9wAgHBD4YYkSVK4EW6EGwAQbijckCRJCjfCDQAI
NxRuSJIkhRsKNwAg3FC4IUmSFG6EGwAQbkjhhiRJUrgRbgBAuKFwQ5IkKdwIN8INAAg3FG5IkiSF
G+EGAIQbCjckSZLCDYUbABBuKNyQJEkKN8INAAg3FG5IkiQp3Ag3ACDcULghSZIUboQbABBuhBsK
NyRJksKNcAMAwg2FG5IkSeFGuBFuAEC4oXBDkiQp3Ag3ACDcULghSZIUbijcAIBwQ+GGJElSuBFu
AEC4IYUbkiRJ4Ua4AQDhhsINSZKkcCPcCDcAINxQuCFJkhRuhBsAEG4o3JAkSQo3FG4AQLihcEOS
JCncCDcAINxQuLGTRpIkKdwINwAg3FC4IUmSFG6EG+EGAIQbCjckSZLCjXADAMINhRuSJEnhRrgR
bgBAuKFwQ5IkKdwINwAg3FC4IUmSFG7sMwo3ACDcULghSZIUboQbABBuSOGGJElSuBFuAEC4oXBD
kiQp3Ag3wg0ACDcUbkiSJIUb4QYAhBsKNyRJksINhRsAEG4o3JAkSQo3wg0ACDcUboQbkiRJ4Ua4
AQDhhsINSZKkcCPcCDcAINxQuCFJkhRuhBsAEG4o3JAkSQo3FG4AQLihcEOSJCncCDcAINxQuCFJ
khRuhBvhBgCEGwo3JEmSwo1wAwDCjQ0JhRuSJEnhRrgBAOGGwg1JkqRwI9wINwAg3FC4IUmSFG6E
GwAQbijckCRJCjcUbgBAuKFwQ5IkKdwINwAg3JDCDUmSpHAj3ACAcEPhhiRJUrgRboQbABBuKNyQ
JEkKN8INAAg3FG5IkiSFGwo3ACDcULghSZIUboQbABBuKNyQJElSuBFuAEC4oXBDkiQp3Ag3ACDc
CDcUbkiSJIUb4QYAhBsKNyRJksKNcCPcAIBwQ+GGJElSuBFuAEC4oXBDkiQp3FC4AQDhhsINSZKk
cCPcAIBwQwo3JEmSwo1wAwDCDYUbkiRJ4Ua4EW4AQLihcEOSJCncCDcAINxQuCFJkhRuKNwAgHBD
4YYkSVK4EW4AQLihcGMnjSRJUrgRbgBAuKFwQ5IkKdwIN8INAAg3FG5IkiSFG+EGAIQbCjckSZLC
jXAj3ACAcEPhhiRJUrgRbgBAuKFwQ5IkKdzYZxRuAEC4oXBDkiQp3Ag3ACDckMINSZKkcCPcAIBw
Q+GGJElSuBFuhBsAEG4o3JAkSQo3wg0ACDcUbkiSJIUbCjcAINxQuCFJkhRuhBsAEG4o3Ag3JEmS
wo1wAwDCDYUbkiRJ4Ua4EW4AQLihcEOSJCncCDcAINxQuCFJkhRuKNwAgHBD4YYkSVK4EW4AQLih
cEOSJCncCDfCDQAINxRuSJIkhRvhBgCEGxsSCjckSZLCjXADAMINhRuSJEnhRrgRbgBAuKFwQ5Ik
KdwINwAg3FC4IUmSFG4o3ACAcEPhhiRJUrgRbgBAuCGFG5IkSeFGuAEA4YbCDUmSpHAj3Ag3ACDc
ULghSZIUboQbABBuKNyQJEkKNxRuAEC4oXBDkiQp3Ag3ACDcULghSZIUboQb4QYAhBsKNyRJksKN
cAMAwo1wQ+GGJElSuBFuAEC4oXBDkiQp3Ag3wg0ACDcUbkiSJIUb4QYAhBsKNyRJksINhRsAEG4o
3JAkSQo3wg0ACDekcEOSJCncCDcAINxQuCFJkhRuhBvhBgCEGwo3JEmSwo1wAwDCDYUbkiRJ4YbC
DQAINxRuSJIkhRvhBgCEGwo3dtJIkiSFG+EGAIQbCjckSZLCjXDjcA0AhBsKNyRJksKNcAMAwg2F
G5IkSeFGuBFuAEC4oXBDkiQp3Ag3ACDcULghSZIUbuwzCjcAINxQuCFJkhRuhBsAEG5I4YYkSVK4
EW4AQLihcEOSJCncCDfCDQAINxRuSJIkhRvhBgCEGwo3JEmSwg2FGwAQbijckCRJCjfCDQAINxRu
hBuSJEnhRrgBAOGGwg1JkqRwI9wINwAg3FC4IUmSFG6EGwAQbijckCRJCjcUbgBAuKFwQ5IkKdwI
NwAg3FC4IUmSFG6EG+EGAIQbCjckSZLCjXADAMKNDQmFG5IkSeFGuAEA4YbCDUmSpHAj3Ag3ACDc
ULghSZIUboQbABBuKNyQJEkKNxRuAEC4oXBDkiQp3Ag3ACDcULgRbkiSJIUb4QYAhBsKNyRJksKN
cCPcAIBwQ+GGJElSuBFuAEC4oXBDkiQp3FC4AQDhhsINSZKkcCPcAIBwQ+GGJElSuBFuhBsAEG4o
3JAkSQo3wg0ACDfCDYUbkiRJ4Ua4AQDhhsINSZKkcCPcCDcAINxQuCFJkhRuhBsAEG4o3JAkSQo3
FG4AQLihcEOSJCncCDcAINyQwg1JkqRwI9wAgHBD4YYkSVK4EW6EGwAQbijckCRJCjfCDQAINxRu
SJIkhRsKNwAg3FC4IUmSFG6EGwAQbijc2EkjSZIUboQbABBuKNyQJEkKN8INAEC4oXBDkiQp3Ag3
ACDcULghSZIUboQb4QYAhBsKNyRJksKNcAMAwg2FG5IkSeGGwg0ACDcUbkiSJIUb4QYAhBtSuCFJ
khRuhBsAEG4o3JAkSQo3wo1wAwDCDYUbkiRJ4Ua4AQDhhsINSZKkcEPhBgCEGwo3JEmSwo1wAwDC
DYUb4YYkSVK4EW4AQLihcEOSJCncCDfCDQAINxRuSJIkhRvhBgCEGwo3JEmSwg2FGwAQbijckCRJ
CjfCDQAINxRuSJIkhRvhRrgBAOGGwg1JkqRwI9wAgHBDCjckSZLCjXADAMINhRuSJEnhRrgRbgBA
uKFwQ5IkKdwINwAg3FC4IUmSFG4o3ACAcEPhhiRJUrgRbgBAuKFwI9yQJEkKN8INAAg3FG5IkiSF
G+FGuAEA4YbCDUmSpHAj3ACAcEPhhiRJUrihcAMAwg2FG5IkSeFGuAEA4YbCDUmSpHAj3Ag3ACDc
ULghSZIUboQbABBuhBsKNyRJksKNcAMAwg2FG5IkSeFGuBFuAEC4oXBDkiQp3Ag3ACDcULghSZIU
bijcAIBwQ+GGJElSuBFuAEC4IYUbkiRJ4Ua4AQDhhsINSZKkcCPcCDcAINxQuCFJkhRuhBsAEG4o
3JAkSQo3FG4AQLihcEOSJCncCDcAINxQuCFJkqRwI9wAgHBD4YYkSVK4EW4AAMINhRuSJEnhRrgB
AOGGwg1JkqRwI9wINwAg3FC4IUmSFG6EGwAQbijckCRJCjcUbgBAuKFwQ5IkKdwINwAg3JDCDUmS
pHAj3ACAcEPhhiRJUrgRboQbABBuKNyQJEkKN8INAAg3FG5IkiSFGwo3ACDcULghSZIUboQbABBu
KNwINyRJksKNcAMAwg2FG5IkSeFGuBFuAEC4oXBDkiQp3Ag3ACDcULghSZIUbijcAIBwQ+GGJElS
uBFuAEC4oXBDkiQp3Ag3wg0ACDcUbkiSJIUb4QYAhBtSuCFJkhRuhBsAEG4o3JAkSQo3wo1wAwDC
DYUbkiRJ4Ua4AQDhhsINSZKkcEPhBgCEGwo3JEmSwo1wAwDCDYUb4YYkSVK4EW4AQLihcEOSJCnc
CDfCDQAINxRuSJIkhRvhBgCEGwo3JEmSwg2FGwAQbrgiws3TTx8dfOQjvz+45JJXDZfrwgsvGrzv
fR8cft1OJEmSFG6EGwAQbijcLGC0efOb3zI477zzh8uUPOusswaXXvoq8YYkSQo3wg0ACDcUbhbK
XbtuH7zkJS+dE23yeHPddTfYkSRJksKNcAMAwg1Xjjt2XD/cuL71rVcNw8mXv/zwcGflH//xqeH/
J++88+7h13/0o+fmfD3Mw0tu/Gx8PW7b5+uXXba+NdokzznnnF7307Y8afmbzys934MHH5/z9fj/
+Hp8v+0x86/94R/u7byP+H5z+ZrrMS1H6fGa95Hu+8///ECv55OWsfn8S18vra9R99N83LQ8zeUc
tX7z17S0LHGf475GzeWI+2x776avN9d7eszTtd4X+3osvU9LyzFqvTR/D0p/Z0Z9ve96nOQ9U/q9
ztftpK9z6e9R6XVuvh/bljv/GzjO38bS36S+77nSup3kPTrf17+07On3uu8ypp9vW4+naxlLf2PG
2SaN2j42l3Hcv0elZRnnte7z/p3P78y478fSa53CzW//9gfsMwo3ACDccOG86qq3zokj73nPzOxO
UP71Sy+dnt1pagaVtJPV/HraEYrb9vn6uJbup2150vI3n1d6vrFTmH897STG99seM//apk2bO+8j
vt9cvuZ6TMtRerzmfaT7jh3LPs8nLWPz+Ze+Xlpfo+6n+bhpeZrLOWr95q9paVnSDv44r1FzOdLO
ffO9lb7eXO/pMU/Xel/s67H0Pi0tx6j10vw9KP2dGfX1vutxkvdM6fc6X7eTvs6lv0el17n5fmxb
7vxv4Dh/G0t/k/q+50rrdpL36Hxf/9Kyp9/rvsuYfr5tPZ6uZSz9jRlnmzRq+9hcxnH/HpWWZZzX
us/7dz6/M+O+H0uvdQo327e/0z6jcAMAwg2NuOk34uZcI26MuDHixogbI26MuDHixogbI26EGwAQ
bmiOm4Wa42bdupe3Rpupqanh1aWcc0+SJM1xI9wAgHBD4WaBrir1xje+abB27YVzos3ZZ79wcPHF
l7iqFEmSFG6EGwAQbijcLHS8iZE3F1ywZrhcq1efN7jxxltEG5IkKdwINwAg3FC4WSymiQbz891J
kiSFG+EGAIQbCjfCDUmSFG6EG+EGAIQbCjfCDUmSFG6EGwAQboQbCjckSZLCjXADAMINhRvhhiRJ
CjfCjXADAMINhRuSJEnhRrgBAOGGwo1wQ5IkhRsKNwAg3FC4EW5IkqRwI9wAgHBDCjckSZLCjXAD
AMINhRvhhiRJCjfCjXADAMINhRuSJEnhRrgBAOGGwo1wQ5IkhRsKNwAg3FC4sfNIkiSFG+EGAIQb
CjfCDUmSpHAj3ACAcEPhRrghSZLCjXADABBuKNyQJEkKN8INAAg3FG6EG5IkKdwIN8INAAg3FG5I
kiSFG+EGAIQbCjfCDUmSFG4o3ACAcEPhRrghSZLCjXADAMINKdyQJEkKN8INAAg3FG6EG5IkKdwI
N8INAAg3FG5IkiSFG+EGAIQbCjfCDUmSFG4o3ACAcEPhRrghSZLCjXADAMINhRvhhiRJUrgRbgBA
uKFwI9yQJEnhRrgRbgBAuKFwQ5IkKdwINwAg3FC4EW5IkqRwQ+EGAIQbCjckSZLCjXADAMINhRvh
hiRJJp9++ujgIx/5/cFll716uI2++OJLBh/60K7h14UbCjcAINxQuCFJkgsYbTZufPPg3HNXD7fP
yQsvvGjw+tdvWJbxRrgRbgBAuKFwI9yQJLkk/PCHPzo455xz50Sb5Lp1Lx+OvBFuKNwAgHBD4YYk
SS6AF198aWu0Sb7qVZcJNxRuAEC44ZkKNz/64f8bfOdvHl9Qd7zvA8Plin8XellIklzpdkWb5HJ4
nv/yo38VboQbABBuuPjDTey4/Oc9exbULZs3D5cr/l3oZSFJcqW75oILOqPNi9esWRbP828P/b1w
I9wAgHDDpRNuHvnKVwb/7VvfWhB3XH/9T0bcHP93oZaBJEn+xOuuuWbwgqmp1mhz/vnnD/79tdcu
6ecX+zzCjXADAMINl1y4iR2Zf/3hDxfE2269dbhc8e9CLQNJkvyJR77//cFrXv3qwVQj3qxevXow
femlw+8v5ed36C/+QrgRbgBAuKFwI9yQJLm0480tH/jAYPW5P7m61LnH//3ADTcs+Wgj3Ag3ACDc
ULgRbkiSXDYux220cCPcAIBwQ+HGTiFJksKNcCPcCDcAINxQuCFJkrbRwo1wAwDCDYUbO4UkSQo3
wg2FGwAQbijckCRJ4Ua4EW4AQLihcCPckCRJ4Ua4EW4AQLihcCPckCQp3Ag3wg0ACDfCDYUbkiRp
Gy3cCDcAINxQuLFTSJKkcCPcCDfCDQAINxRuSJKkbbRwI9wAgHBD4cZOIUmSFG4o3ACAcEPhRrgh
SVK4EW6EGwAQbkjhhiRJ2kYLN8INAAg3FG7sFJIkKdwIN8KNcAMAwg2FG3L5+uT3vjf4p7/7u7H8
X//0TyPvN37uz772tcEDn//84N7PfnbwpQceGPzl178++D9PPjnxsh75wQ8G33zkkcHee+8d3mf8
+/BXvjL4n//wD523e/af/3ns51h6vpOsr7D5vH94+HCv28Vz9j6lcCPcULgBAOGGwg25Qv1327cP
Nm/ePJZ/8qUvFe8v4syHbrmleNutW7cO7vzEJ4ZRou8yHj50aHibX/3VXy3ebzzmX3/zm8WINO5z
LD3fSdZX+O1vfGPOMv3H3bt73zbW2Y4bbhg8tHev9yyFG+FGuBFuAEC4oXBDCjeThZu7P/WpOT8X
oSWCw8033TS44frrB1ddddWcGPH1fftGLl/8TDPYvPuaa4b3+cEbbzzpezESJ0bYLKdwk/vJ22/3
vqVwI9wIN8INAAg3FG7IlRZubnzf++Z1qlSMiMnDSpwa1fy5OD0ovv7rb3vb8Oci5Hzr0UeLyxan
WqXYE7f5/Gc+c9JInTgFKe7jve9+9+zj3/6xj/U+VSqed9zmN971rl7PN62vj/7e783rVKkUbuL+
Rp3KFuvsHW9/++zzi9PFvHcp3Ag3wo1wAwDCDYUbcgWFmxjBMul9xKiYFBV++7d+a+QcON//zndm
Q0SMvGmboyZiR3wvRZW4zah5bFKECSN29Fn2eN59AkpzfUV4mc967xtukv/929+eXR9xWpj3LoUb
4Ua4EW4AQLihcEMKNyONYBJhJUWIPhMXN2NPnGLV/P7u226bHZUT0aLPfeaxZ9s739lrIuSlEm7C
iGJpnXjvUrgRboQb4QYAhBsKN6RwM9LH/vRPe01a3GYaIROjb/LIEiNwUoAZN5B87q67Zpcnlm05
hZs4BUy4oXAj3Ag3wg0ACDcUbkjhZuwAEZMEj3vp6riUd1v0if9OX++aA6c06ibNi9MnriyVcBPz
A8UoorhNTPjsvUvhRrgRboQbABBuKNyQws1Ir7/uuuHt499xb5tf7Sm/WtKnP/nJ2a9HsJj0OcUk
ycsh3EQQ23n8b1ZaJ/d97nPeuxRuhBvhRrgBAOGGwg25ksJNXLUpIsYom7dPV4jaOcHvVMyPk2LE
bR/+8Inf0+P/nSYunuQ5xWXC03M6XeEmli3+u49/9IUvFMNNLGNcwrzNOO0rrl6V1nGa/LnP3D2k
cCPcCDcAAOGGwg25jMJNX5u3T1+fdARKun0ehcaNKaUY07a8pyrcjGNEmFK46WuEogg5og2FG+FG
uBFuAEC4oXBDrsBwE/+WRn7kNm8fc9vE7WPi3HEfOyJEChP5Ja7jv9NlwCd5TmnS41i20xVuYlRP
zMXTx7arYuVzAzVHNaXTz9LEzXEffa/WRQo3wo1wI9wAgHBD4YY0x82sMY/MpLfP57jJw0/Md5O+
PskIk/Sc+oSfxTrHzZ997Wuzp0jFOo515f1K4Ua4EW6EGwAQbijckMLNWMYcLGlkSMxZM+mlxPMJ
d7/0wAOzX//bAwfGus+YzDhdVSrmg1nKkxP/9Te/Oftc4uee/N73vGcp3Ag3wo1wAwDCDYUbUriZ
7JLe4166O0WfMB9Rkl/S++5PfWqs+8yjT36J8aV6VakIWvnpZOPGMVK4EW6EGwAQbmxIKNyQKzjc
xKlMMdqmOU/NKL//ne/Mzo/TdkWqNM9N/Ezf04Qiarz33e+eHQHU5zSrpXA58Hyy5QhT3rcUboQb
4Ua4AQDhhsINKdz0Nh8V0jaBcdMjP/jBYMcNN8zepu1vwre/8Y3ZUTc3XH/98BSoUfebz40TV2Aa
5wpUizncHD50aHhVqXT5cKdMUbgRboQb4QYAhBsKN6Rw09sY6RJXWcovDV4KLRFk0qiY8M5PfKJ4
v5//zGdmfy4m6I05X9p+LkJGjNpJPxtXZep7FaalEG7CCGL5pdOdMkXhRrgRboQbABBuKNyQwk1v
YxRNHk9itEyc7hQjXyI6fPqTnxyOnEnfT9FmVICIeJNG3qQoE7eL+4z7jsdIp1yFcSnwca7ANGm4
iREw8d993X3bbfMKN7Ge8vX3R1/4gvcvhRvhRrgRbgBAuKFwQwo347n33ntnT+spGaNz4opSfe/z
L7/+9dnLjpeM5xGPPe7lwycNN+PaXL/jhpswrrCVIlacMhXzBHkPU7gRboQb4QYAhBsKN+Qy9uv7
9g2vvjTuFaG6jNOUvvnII8PRMjEKJ6JFXEEqRt3M5/c/TrOKOBOjV+I+475jXps/+9rXxg42yXje
8fxjPYyzvsa1uX7jtK9xHre5vOG4l0onhRvhRrgBAOGGFG5IkqRttHAj3ACAcEPhxk4hSZLCjXAj
3Ag3ACDcULghSZK20cKNcAMAwg2FGzuFJEkKN8INhRsAEG4o3Ag3JEkKN8KNcAMAwg2FG+GGJEkK
N8KNcAMAwg2FG+GGJEnhRrgRboQbABBuKNyQJEnbaOFGuAEA4YbCjZ1CkiSFG+FGuBFuAEC4oXBD
kiSFG+FGuAEA4YYrPtw88pWvDHdkFsL3XX/9cLni34VaBpIkuTK20Q9/+cvCjXADAMINl164WUi3
bN48XK74d6GXhSRJroxttHAj3ACAcMMlEW7+5Uf/OtxxWUjf/76bhssV/y70spAkyZWxjY59IOFG
uAEA4YaLPtwsBnftun24XPHvYloukiRXuitlGy3cCDcAINxQuLFTSJKkcCPcCDcAINwIN1w64ebp
p48e39D/zuBFLzpnuFxnn/3Cwdve9s7h1+0sk4vH+J1817uuGbz4xS8Z/q6uWfPiwfvf/1t+V8ll
/nv/m7/5/sG55547/L2PbfVNN/3Osv29F26EGwAQbijctOwQ/vRP/8xgauoFw2XKfelL1zogJBfR
wdvLX/6Kk35PI7S+9rWX+10ll+nv/fT0Tw3OOuusOb/3q1atGrzmNa9blr/3wo1wAwDCDRdVuLnq
qn873EFZSN/61qsGL3jBydEm+frXv2HBl5Hkfxq88Y1vKv6exifwv/iLb7WeyGXmm970cydFm+QL
X/jCwS/8wi8tu+f8K7/ya8KNcAMAwg0XT7ghSZLkyQo3wg0ACDdcUP/mb7453CFZDPbdeSLpd5Wk
3/sz5aFD++0zCjcAINyQ4etff/ng7LPPLu4QXnjhWuuJXAS+8pUvL/6erl370sH69T9lPZHLzJe/
fF1ntLnssldZTxRuAEC44XL39tt3DV772vWtO4TnnXfe4MMfvtl6IheBH//4zsHq1ee2/q6++c0b
B7t2fch6IpeZt91263Ai4lK08XtP4QYAhBuuAI8efXpwxRU/O7j88tcOzjtv9XCj//znP39w0UUX
Dj/Bj+9bT+Ti+F194xs3DNatu2jwvOc9b/i7es45Lxq86U1vHP7++l0ll+fv/YYN/2Zw/vnnzYk2
09OXDj908XtP4QYAhBuuoB3DGHkTB3/x3n31qy8b7Nx5ix1CcpH+rsapUfG7+pKXvNjvKrlCfu9j
25xG2vi9p3ADAMINSXKRn+IY25n41/ogSQo3ACDckCSFG5KkcAMAwg1JksINSVK4AQDhZo53333n
cKK7TZuuXJTLF8sW7tv3R8v6MXOfffafB8888z+K33/88YN2VJaJ8XsX77X4PbQ+KNyQJIUbABBu
igcBcfC4GJevqq+isHfvHy7rx0w+9NB/Haxb97LBgQN/ftL3nnvuR4Obb75xeMUnOyrLw/i9cxBO
4YYkKdwAgHAj3CyBcPPUU/84+9ht4Waxv1Y04obCDTmuTz75vcGOHdcPL30dfw/jKof33vsZ62aE
MzPvGXrw4DfO6OPef//nho975523n7L7jOeQnk+MOvb6CjcAINwIN8INSeGGXAQeOfKDwerV585u
+5JxILrQyxYjYK+77ppFu+4Wal8l4ko87ubNm07ZfcZzSM8n9oWW4+sl3ACAcCPcCDckhRtyyRmj
DdN276ab/sPgscf+ZLB//yMTH7yfKm+99YOnPE4IN6cv3CyF10u4AQDh5pSGmwgG27e/cziPSsxq
8aEAACHZSURBVHjttb/Raxhu/ExsONOpHzHkOT75aAsQTQ8fPjScuyVuG48Zj//d7x5o3TH58Y//
93CZw1H3HZ++xM+NO+Q6f8yYJHjXrg8NNm58w+wkznfc8fHhcnTdR8xHEzuk8Vxi2HfcdsuWzcOv
xffadl7TjkcYO0ax7A8//OXhTkz8d+yQxPfWrLlgdh207eDEjm8MO7/iip8dPm4se/x/aVLjWJ50
f/H/6TmnYetx+1i+/DnHxM1XX711+HrF92OHOz45nTRYxWOn04Waj3/llT83fA3T4x879n+Hr02s
z/h+PM+dO29pXa/JuG3cJt6T6bWMZY/n8OCD9w3vs7Rcab3E+yn9XsTzjeH9+c/Heza//61btwzX
U1retvdsPOe2r6efT6/Zo49+dXZ9p9/LPr9bFG7IxWxs+xfjBxKnI04sl3ATpzLF9rHrIgpnOtws
hddLuAEA4eaUhZs46GwOV07GgXHbwW0cEKcNZskIEm23TZ+STE1Ntd4uzqNu2zGJA/b4WhzQdx2o
R+CY5AAnjydtQ7jDiAWlnYs4oI4Jhkvr4+KLXzEbppqT1DaNZYj7K91XfvAez7nrNSy9jvlInwhw
a9e+tPW2EaHiMeLftu/H+o4IN+57MD2/WAfxSWvp8SNWRJxJAattvbbFo3hO8b2u9RJx7Ykn/rZ1
ucIIJ833aQSyPu/jWF8R/Nrei6XJidNzjGAVAajr9XTwJ9yQS3melsV4wC3cnFmFG+EGAISbngcB
yTiQjGASB+Ax2iPiSPre7t2/d9Lt42A6fT9GBMQIg7htHOhu2/brcwJEaWhr2tim28YGPA6k8+XK
d0xihET6evNgOxnLnn6mOTKi785QMkarxEF8xJZYB6tWrRp+PUY+HD369JzbxgiJ9P2INzE6J74W
xkR+KSBE5MhHwMRzTxveMEacxHOO6BCfasV/p/UZYSP+P40ISvcR6z/dPgJOhIVYnzFSJI8dzYP9
PNzEMsf9x/siIkosV37b9H6ImBCPHz8Ty5qiRXx90nAT6ySMx491Ffcdyx4jWJqPH+siPX68PvlQ
++Yng2mdx7/x3o73TDznNLosv+9SuInfi4h48X6PdRuvfRoBNM77eNxwkwJgrIN77vn08PnGc4jH
7zqtjsINuZiN7V/87UphOv7Gxf+Hbdv1+Hsb34vtZLz34+9hafvfND6siG1p3CaN7jx0aH9xBGhp
udpG2sZ9x9/lfLm6PsCIbXbcV3r8eLzY3sXtx/3go7l/FPeVRmvGffadtDiWKbZbcZu4bexjdU0Q
HOs9nkNpFG+auyg+eIj7i+eWnm96HdtGmTbDTexz5a9Z275cWp99Xy/hRrgBgGURbuJgsLmxjg1f
OoiMA9f8dJQIA6M++Y+D+rYRCrFhTgf7cfDcHAUSjxOnyrSFm4glaSRM3H/b46agFKNzJv0UK4yd
hub389EXEWby76WwEPGhbRhxPO90MN4MBfOZ4yZ2urqWOcxH4+Q7dPnjRnRq7hzFa5FiVApZzdcr
Xv/0/dLoqlHhpvT48f/5aJbmOg9TgIk407bO4n5LO/l5vMl39PLlaoa29BzHfR+PG27S71ZzBzR/
3DjVwIGgcEMuJUsjJ5sf9MTf1PibXxqJGdv4ruAREaI0ojX+NseHPF0fZuU2R4LEBwul0Zyl5UqB
IpYpvt98Xvl+Ut99ldjmx3a5bdRnjPYsjWCJdRv7UG0ji2ObGR9KND+cGjW6JX4+9r/aliXiSgSc
9P+lcBProPT+iA9n8mXKbzfq9RJuhBsAWDbhJg7+S5+upI1wHlDSJxyx41H6ZCN2DNKOSYySaE5I
GPdb2rjmo2aaQ4HTjkPs/DQPliM+pR2RSYYQ5zt1pQiRIkjErvS1fIeka16dfDLGPAbMJ9ykYNS1
zBER0uljsWPV9rix89d22zg1LO3Mtc0lk0e8cXeW8kBSihDp8WMnue35xfpu2xmMnZnYge46pag0
RDtfruZInmSMwErrpXS+f3waO2m4id+dth3nfJ1MMsqJwg25kMbojtiOp9GD8YFGuhx0jCpsG0ka
fw9jGxWxIT+wj+1a8/Tj/GA2ffAUcT1uG/sieazIHy/2O0rLlX+wFTGpyk7TjX2C2M7E8qb9pViu
5gcGebhJf8PzWFL6e9+1r5K267GsEVvib0M+UjUep7ndjH22/DTcNFddmtMvD1DNZSqFm3iMdCp7
2j+KbXq8ZukDq/w08tJ2OD2fWI5Ynliv+e3iOeanQvd5vYQb4QYAlk24iQ1l10iJtIMROyXpa2nj
OuoT/zT5YOwopcdIp/1EaOga3pweoxlgYmNdihzpID52giYZKlv1uBxpjLpJP5d2DlKQaY5MapvY
L902dl7nG27isdKO4qhLqKbXIk7haXvcUuhKO8ml1yuPHPMJN81PP5uPn7//Sjt94zx27JCm+NIV
bkpRMy1XHiXbTPFy3HATn5Y6p5/CDVfiHDfNK041t+exHU4BJuJJ/v0IOWm7GDGhuU2Ov/VpNGT8
XDOwdC1Xft/xIUgzbMR9pZDQ/Bueb6ti2dOHPLFfEJF/0tHBbaNj8lPZm6dN5aNkYz039/9ipFJ6
js2/NaV1k4ey2LfJX480Eidf5tJ6icdtXjQgXr906nHs2zWX1xw3wg0ArJhw0xVQ8tCSDvjz+DAq
FuQ7X2ny2LTDVDoQT6afawsKaceoOX9OOuhtjh5Jn8K0me/UjDpYT+fnp59L526nKDJqXebRK1/G
ScNN7ET2WebmSKe+j5uv09JOUVu4iZ3XrnWegld+29LpTOnx2+ZK6htu4jWLncEINfHJa8TI/BSw
rnBTWq50+/wTwK7wOW64iU9xhRsKN1xp4SYOzNM2PkZelD6EyWNBvv1Lo2JjW1saeZEHmOYHUF1/
X9P+UNtIlrYRuPnpT/m2qjSS81SNDs5Pqc1HAecXb+jadsXytY10bVs3+etV+iAjfiY/tay0DS+t
l675DYUb4QYAVky4GbWxy09N6jtKo+tUlHTAWjoQbx7Atj1GPsIlfdKU76g0h05XHVcVyu+/6jHp
a1vsGGfHoe35Txpu8sAwaqLatsBxusJN19WwSj9XGq0zn3ATO3v5PDNV40pU+QTcpXBTWq6qcApU
afnHDTddvx/CjXBjfXC5hpv8A4mYS6ZrZG6KAekU4Hy0bmkevOaolDjFps9y5dEj9kG67jstV35h
h3xbFdumUxFuukY9t21jYn1WLadrd53mm+8btK2bPFR17Yfk8x6WtuGlD6C69lWEG+EGAFZMuOm6
tHb+CVN88pWGrU4y4iYdAKchr6NOMUkH1W3hJkbvpEiTdoDSeedtn0DFBr1k/olY1WOSwHzETRqt
k65uNM6Im1MRbvJl6Tvi5kyEm1iurnWe5oQ5neEm/zQ21nnspMcQ8fj5+MQu3iN95rgpLVcapj/q
k9MUjoQbCjfk6L9j+bxlo06/TfOqpP2T+Nve94OlfK6a/HSq0nLl29v4mfg9LJnCTYzwbNtWtc3L
k191qc18GauWOXr6hJt8bsOu5U+jiKvGRQ/a1k0sQ/rZ0nxvzWhU2oaXrgQq3Ag3ACDctHza1Gci
1L6nibRdcShdySfut88nVqWdrzRxYfqkLR0gj4pJfT7F6ppgOJ/jJp3+Fed0p0DQNcFgfK86hXPc
xE5SlZ2r3ue1yK++dLrCzSRz3JzKcJN/Mhrvs9K8Q21hse9yxfwF1YhT/vJPf4UbCjfk6L9jeVwY
daXC5ojg/G/3qHljSuG+tFyjRpK2md9H6fHatsdt5tvoPnGqbRuTPmQax/z2besmf736bu/7vA7C
jXADAMJNy8a2NI9HfjnmPAykUTilK/00dxzyCXFT5Oh63Pz889KOSbryVPxc+iSs6wo/44Sb/MpL
pUtI5xGl79DufAeldFnuca8qla4C0TVyKkJGCmF5gFuu4SYfut31iWR+mfRxw016TbqujpZ/wijc
ULghR/8dy0fCjLrIQPobnraN+cULRl1eOx8p0ifc5PedruA0ynz/ZTGFm/hAoc/yh/m+Stu6KY1c
6roCpXAj3ACAcDNhuCldCjpFiggi+SR/cVpONeJ0qRhe2zaCJe4njdiJANQWfvLLgJZ2TGKHLl0m
MoWkUadf9Q03sXxtQ3ZjtE0KSvmImViWtJMU/7aNuokdmjSBX/N0rhi5kx47HqM0pDuuUNR3gsbS
ueX5zuxyDTf5kPbS6Kn4mfyysOOGm3jN0u1jGduuLpLeE8INhRuy39+xPqfONE+VSh9c5Nu0rmif
b1djm57//S4tVyxLVbhSUx9HBYrYJ4ivl8wj1qThJl1JMbZdk1x5s23d5KOQSx/GNUOZcCPcAIBw
M8FBQAoREWlixyR2HmIESYohpTiTThWp6gny4kA4dgRiwx2n5aT7bbv6Qh4bItLECIl02xgRUhUm
Dy5d+aArekwSbmLZI5LE/DmxXBGbYsRRCk4RYJqfLOWjK2IUTNw2dgbj5yKo5JPktn0SmK+veM75
c8mvqBCf9MX30w5OPEYKQrF8sWOW5nA5fPjQ8LXJX+O+O0NL/VSpNMIo4l4+n0Csr4iKseOa1ktz
R7zvc8ofO16DWPdx3/H+j0808/sXbijckKP/juXhvesU4Ni2plNR429uih+x7a5GXJkv/1vbPG27
6+9ruu9Rv4OxLYgPDfJtT59AMe6+yrjhJo8sXfEp9gXjOcT9p1PCS+smvzBE/oFWaTJo4Ua4AQDh
ZsKDgAgw+QiXpvlVEZo7TflVedqMHaLSJ2b5KJCmsSEeNcdN8xSlOEDvml9mnJ2hWDf5aIzcOO2r
tHMROy35wXrT2MksnUqVdiLzx2k7Za1qmSMndqzSpM8lI4g1L426XMNNOpUuX2fx/ogd2fS6RmiJ
Hde045+/LuM8p3j8dB/N1zpfNuGGwg3Z7+9Y+qCjNIK1OYdePp9Nmlg3PsjIo0NprrrmPk5artg3
Kp2aFduR0r5NfkpQPupnMYSbWJfpA6jYJyid6p7WYWxD8+dZes3SPmRsZ9tOV48P5/Lt8ekIN22v
l3Aj3ADAsgg3cWAbG7wUAOLffORGDEGOn+m6j9joxwFv/Gw6eI0dmvj/2GEZNbFgbIBjg592JCLW
xHLE7WKnLJZv1JDk0lV7Jt2RDGPESoxWieeRj7KJxxgVh+K2MRIoQkraUYnbxkiZ0k5kCmGxsxTP
J3a48rlo0o5PrKu4r/h+8xSgGGUS6zxiWooT8ZrEyKkY8dP2WkTIyZ9zKUbl75O255vuoxmGRtnn
tunxS8Pe4/2R7qPtdKhYZ+mUulgvsX5iVEx6HeMT3bhtfuWMcZ9T/EzcPk45jNvEfaYRWaVRa+n9
3fwdG/V805DzrteEwg25lMNNPoI1tmHNv8Ox/Uvb17ZTmtI2MEa/NgNLbEu7Tm1OQSjuI7Yh+WlK
sW1I9x3b6uZ2M+47jcqJ7U4+MncxhJvmafKxr9I8ZSq2VWndNq+aWHrN8vUS+3ERr+K5x+sW26vm
B2GnMtzkr1d8mNc8rUy4EW4AYMmHm+VgPs9I7DBZJzxT9hndFTuuaWczXbaeFG7I0SMHYw6aFBDi
3/ggJU63SR8wpZGpbR+IxAicPBbEaIwYLROjgNN9xvfbRprmc7G0nd4cf8vz5Yrlj+cSHxKkr8eH
Js37XizhJj7EyU9Jj9AU/x/PIV3sIK2zZjDres3iA6LSSOVYL/nI7lMZbka9XsKNcAMAws0iME2A
3Ha1JfJ0mia2jIOI0qd7+Q5pjOCy3ijckP1P+YxTmtpOA45AEKNYuwJ6/M1tnoKcR4TSqU4R3CMQ
pdG2Vcsk9/FBUT7PX27cd9vf+8USblK8iZGh6ZT03HjeMYqlbd2Oes3iecW6S6NcI2DF/8eInNJp
zfMNN31eL+FGuAEA4WYBTKf8xI5R2jnomsCQPB3m8xjEjlPzVLR8yHzEnVGnDZLCDdlunLIUp0/F
QX6MphnnVJg46I/RIHHbODW17ym98Rhx27Y5W9ruOyLTUgv06WIUMYoonkNs17qe73yMU3vTqVSn
4/77vF7CjXADAMLNGdzJiE9w4pOkNCQ5/rt5hSfyTJhPzh1xJobixyeSMaQ/vT/jU8BJLh1LCjck
l8q2MLZ/Xdu6dKqUSfWFGwAQblaIaZRN+uTGQTEXcp6bdOnvtiHzMalmfFJsXVG4IblcjbmD0jav
7fv5VaVMqi/cAIBws0KMHYA05Hm+l/8mT1XAiYCYhvLHkPnS/AmkcENyORmnq6cPLGKi49gWxlw0
cepVXG49fbgR8xXZbxNuAEC4IUkKNyR5ht2x4/rZUTVtxhWr5jspM4UbABBuSJLCDUlOaIw0jb9P
cZWnmMsm5nuLed9iAudxJpSmcAMAwg1JUrghSQo3ACDckCQp3JAkhRsAEG5IksINSVK4EW4AQLgh
SQo3JEnhBgCEG5IkhRuSpHADAMINSVK4IUkKNwAg3JAkKdyQJIUbABBuSJLCDUlSuBFuAEC4IUkK
NyRJ4QYAhBuSpHAj3JAkhRsAEG5IksINSVK4AQDhhiRJ4YYkKdwAgHBDkhRuSJLCDQAINzYkJEnh
hiQp3ACAcEOSFG5IksKNcAMAwg1JUrghSQo3ACDckCQp3JAkhRsAEG5IksINSVK4AQDhhiRJ4YYk
KdwAgHBDkhRuSJLCjXADAMINSVK4IUkKNwAg3JAkhRvhhiQp3ACAcEOSFG5IksINAAg3JEkKNyRJ
4QYAhBuSpHBDkhRuAEC4EW5IksINSVK4AQDhhiQp3JAkhRvhBgCEG5KkcEOSFG4AQLghSVK4IUkK
NwAg3JAkhRuSpHADAMINSZLCDUlSuAEA4YYkKdyQJIUb4QYAhBuSpHBDkhRuAEC4IUlSuCFJCjcA
INyQJIUbkqRwAwDCDUmSwg1JUrgBAOGGJCnckCSFG+EGAIQbkqRwQ5IUbgBAuCFJriCPHn168NGP
fniwZs0Fwx30Cy44f7Br14eGX7d+SFK4EW4AQLghSS5gtLn88tcOXvCCqeHOefLSSy8Z/MzPbBBv
SFK4EW4AYNxwc/XVW4d/REmSnK9XXvlzg7POOmtOtEm+9KUvGfzyL/+S9USSK9Q47hBuAGCCcEOS
JEmSZ0rhBgD6c8Vxf7ePb3/72/8y/sCSJNll3x12kuTK9b777hNuAOBUc/yP538Z9ceVJMnzzz+/
GGxWrVo1eOUrX2k9kSSFGwAQbkiSC+E73vGOwfOe97zWcBPR5j3veY/1RJIUbgBAuCFJLoSPPfbY
4BWveMVgamruVaUuuuiiwSWXXDL8vvVEkhRuAEC4IUkuYLx573vfO4w1EW1e9rKXDa655hrRhiQp
3ACAcEOSJElSuAEA4YYkSZIkhRsAEG5IkiRJCjcAAOGGJJeIX/ziFwdbt24dGv+9EMvwrW99a2jX
XDdeq+Vheq/dc8891gdJ4QYAhBuS5Cg/+9nPzl6xKf77TD/+Aw88MLjssssGX/3qV1uDzo033jj4
+Z//ea/VMjG913bt2mV9kBRuAEC4IUku5nBz3333Dc4+++zhY7eFm02bNg2/t3HjRq+VcEOSwg0A
nAn+6q/+6jUHDhzYQpJcHG7fvv1308F0/PdCPfbHP/7x9za/v2bNmr+P78W/XqvlYbzO4Re/+MW3
Wx8kz4R//Md//HxHYQAAAFjKbE7xpP7vhXrs6ZbvH6i/d8DLBAAAAADA8mZV9ZNQsLn+/6njbj3u
zuPuOe7Mcdf2vK8Nx91x3N31bW897pb6Pkexvv75dLv19dfX1ct2Zcdtp+rHSct8c70s8yEesxlu
Yhl21Y9x3RjrJZ7LtfV6Cbcdd3XH496aPfa19dema+O/H6+/93j22q3qeG3z9XJ5x3KuaVnXV2S3
31H/TM7a+uvx/Zvmud7Ta72xsT7SOr+25XlO8vjxONuz+91d3/e6nsu1qeV9mrO6fo3T78G27Hfg
yvq+1rW87l1fX5Pd93X1/e6q3/er/BkDAAAAgOXLdBYJLj7uE9n/J48d946qHGAi9DzZcrvkk/XB
bilqHCg85t31wXj8/1OF2++sv9f2uPvnERI2Z/dzXWEZf1wfnE91PLfH6ufSvO1zx72zOjnglNbh
ntrS96ez+5iql+vZMdfL5mxdr6t/rm25r65/PsLB0ZafuafqF+uazFQnRhJFYHq85b6PVCfC0p76
Nej7+PGcHi7cJr2ed4xYrq0tr2cew+4o3P+T9XKn9+pM4XUvfX1z/Xyfa7nvp6r5h0oAAAAAwBII
NynaHKyDyO7GwfO9Lbffnh3IPlX/zJ76APZA9r1nqvbRGkey+//uce867r7s4PeZjnBzT+O28Zg3
118/moWGy+cZbp4bsV72tNx+QyOcHKyf293V3Mi1vxFv9taxJ31/X/21bbV7s3XyTP3/e6u5o38e
a4SOe+pIlL8e8ZyuKDznZ7L3wv56vT7YeC33ZEHi/vr/8+h33TzCzRPZunu4vu+HGs/p7urEqKN7
6mU80vH4a7Lle65er3fW972vEUS2F5brcLbu82gy1fJ+fK5+Xe7JHvfH2eOMG24OZc/9wez3K33/
2ZbfLwAAAADAMgs34U0tP3N3VZ7v5YnswLLtlI1rOw6I769OjK6ZqeaOkljXODB9qiOs3FWdPMJi
fRZIDs4z3JTWy8PZ9/MRRVNZ2HmmOnm00VS9zOm2d3Y89nTL43bNcTOT3fbultfkiixwHGl8P3/c
Yy2v182NdXJ3Y71PZev80XmEm/Boy3q7tfH4OxuPvzoLK83H353Fk7bTm9Zn6+XRjuV6JvsdWJUt
46bqRNja1xJRdlZzR+rMNL4/6uvhQ9XJI7RuHvEeBQAAAAAscaazA7/HOn7uiezgMbExOxjd1HHb
NHpiV/a1tdWJUTV3F26X/0wz3DxanRhpUzot58rsuW0dc73kEePhHsuXr5ft2W23dTzGwerEaIlS
QJluuV1XuEnx4WDHerm6ao9p+ePe03K7uL+j2evRNk/PvdWJ0SnjkgeSnYX1nZ96NDXG46eQdn/H
46eY9kTHcu0q3HZvdSLslOYverCaPNzESJ22ETWrevweAQAAAACWMNM9I8Pu7MC0ybqqe06TNK/H
nuxr146IE4mHqpPDzarqxCknt454filk3DHmeskjxtYey3ekJR4cGbFetmaPcXXhsdvWTSnc5K/l
tR2PO5Wtl32Fx716xGv5YOH7e6ruOYm6mMkevzRnS1dYGvX4a6ru04lKt82Xa9OI99mejvu/vJo8
3DzU4/drrz9nAAAAALD8yA/213f8XB5a1nQEgTjgjlEccQpHjGCIkR/HWg5q0+iGH49Yvl0tB9Mb
s2XZW52YuLfNZqBYVx8cl1zdEjEu7li+3S3rJc1HMupy3euq9hEm+WNPt9yuFG62Vv1iWJDmwTlc
eNz1IyLBHWPEj40j1nlbICkFr8GIQNL2+KV1H3EqXQUtn+emK9y0XUlsTdUvmFXVidExM4XnVfr6
XR33KdwAAAAAwDJmusfB8qiYEKNe2q4A1HZlpMTengfYMy0/t7nHYzU90PO20y0/N9Vj+fLbjhqV
MipEdK3rqiqHm5mey1xa/6MeN39u44STPSPWedvyj7O+Rj1+/vweq8pXlTpWjQ43o36HNo9Y75Ne
VWpPj/sUbgAAAABgGTLd82B/S+Gg/rHq5Ms1x/wzMeFujGa4uHCwn04nem7E8rVdDnxTNXeC3D09
nGmJE33DTRc7Wm6bJuh9aMRtp6rTF25WjXjsB6uVFW7idconB473XYwGi1OuYrRTzId0RzVZuMlH
Tm0bsd7T5Mkzhec1M+bzzV8T4QYAAAAAliHTVb9Tpa5riQL5JLwx6WtpXpK2+T9u7hkZ2g6m11ej
5xwpsap+ziWnxogYwe6W55HCyqirWV2c3XZH9vVRj10KN1f3fC2D/S3L2Oc5TxJu1oxY54mZ6vSE
m3hdUjB5on6eUz3fa32XK03A3XVlpzzUzRSe18yYzzd/TYQbAAAAAFiGTFf95ufYW518xZ192ddK
o3XioL1tjpsrqn6jFB4vHEw/2+OANh2M31Q/3jhs7rl8KYA8nn0tXT79aNU9GW4eBDYUHnu65Xal
cLM2W9ddkzbHPD5pPpe7xnjcPBKU1vue6tRMTlxiknCTB60rO+57XzV5uHm0Gj2v0bZKuAEAAAAA
jMl0dnAY8aEtwGwsBIH8ktwldlblKwEdzh63bdRNPiFy82A6neoTcaQ0uiSfrHfHmOsljxilS2tv
ztbL7uzreZQqBZTV2QH3U437zx+77bl1jeg5VHVfrjvIRzttKTzu9IhIUAoJe6rFF27ykWEbOn4P
jlaTh5v8vbq95furqrnzQM0UntfMmM83f02EGwAAAABYhkxXc+cbiRiTjxKJEQrpVKdnG9/b3XGw
uro+2MznFWnO+bIl+/6hOhzEAW6cQhTBJ59EtnkwfXl2oH24OnkkxZbqxKicZ6rukS9tbG6slwcb
IWRzdv9HWu4/zf0Tz68Zb+L5HajKl97ekH1vd/0arcu+ny5BHs8/ItH66kT4ytfpwerkAHNTtl73
dzzn6RGRYJxw0pc+gWSScDOdrZOHq5Mj3NbqxKlUab2Ou1xxn09UJ66Ull631fV781Dj/TRTeF4z
Yz7f/DURbgAAAABgGTJdzZ1YOB14xiiaJ7MD3mP1AW7Omuw2KRTEwWN+aeXD9ddLI3NurspX+Xku
u21bCLiumhuGnqqDyOHGfWyeYL3kEWNftl4OZgfK6f7bTsNaUz/f/Ofi4P3xxvPd2XLb1S3rZF8j
vjTXVR5/djdet8P1Yz/beK3Wdjzn6RGRYJxw0pc+gWTSyYnvabxPHqzfq4ez1/b+7GfWjblcweXV
iYmp29xXCTcAAAAAgDGZbhz839+IIfHfMUqhdIpJjPZ4rBBd7q4jxI7s4Hhty31cWd9Hij3P1Afa
F1ejLxt+Rf0zzdARy/1Qx3KPYnPjYP2uxnpJo5OmO+5jVR1RjrQsW4x26ZpY+dbG7Q5l31tTP7f8
OTcnxd1SnZh/Z9CIFruq8qlfyzXcxPON+Y6OFl6LK6q5wezmMZcrEfcRV1Q7XN/3sfq129b4XZsp
PK+ZMZ9v/poINwAAAACwDMkPJjdnB59X1v+/tuf9rMtus77qvrT4OKRRCqOu0LSqPviOx99QjX9q
VB/y9bJuzNuur2+3acxlW1e/RqsKz3l6xLKsyZb5cm/34Wu4oV4fG6vyPECng/wUuC1eCgAAAABA
H6ark8PNmSDN8xIjWUrhIeKP0QRYCtxb/WQUVNck2DuqfpeYBwAAAABglulqYcJNfpnw0pWXdi7Q
sgHjcld14jS/1YX3e5r/Zr/VBQAAAADoy3S1cHHkweyxY0TN1fUyXF3/fwo7D3qZsMjZmL1fY5TY
zfV7eXP93yna/Lj+WQAAAAAAejFdLVy4iVEIj1blq/CEMVnyKi8TlgD5pdbbjKBjbhsAAAAAwFjE
aR0ztesWaBliUuG4AlVcvSrmvYkrTMXVmIxMwFIjJvOOgBPBcX/9fo7/vrY6sxMhAwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AACA08b/B55KoGdPU2GnAAAAAElFTkSuQmCC
1. Page headers and footers
Specifying a header or a footer
The header or the footer of a generated PDF, RTF, etc, page has 3 columns.
Figure 4-2. Layout of a header
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
WqmDcqTio65+MWJ/V5+c+NYcdfe3/bZf2MLgZq3oIK/MCJq+GpTn2gLl+SmCm9wfHo9s3+W+/bny
CdqGG0VIN7yQkZ3fV910foNTcwQ3ZXm32stLghtAcLOJ4CaXzdA55+W6100vHsR/h1NRlE/r3ejr
idv98i+KOul5pZ281b0/KfKDbvqkoruNun2le38y5Gf9OpZ3D3w3x/npzxXcrBTnOUPvFtuyVcHN
ncF3XFhwO08M1m9IGbIcXCC4GZbD437/yt/7QeP3vjjYngeCm08b3JShyL2uPoLkanFQLw86Pa0r
fWWqWnZgDnXtx5cud+/fflV2hs4XFVUtYDpZfO6ZTxzcdN37QxZrz6f/uljf/XNWTpe72U/ZGONY
9/7jTG80KrVXIwd0rbE4XzQIByqd/IeNMiqHjS8LbgDBzYLBTVnXPmzUtdeL+mnfoP250whgyitW
VwbrkO3I15X26U6jo3Gy+PvpRkerNgz5Y4OblW56EaE2Suh8pe3+ruhMH5izPD8muMky+7bye7/q
2remHS5ORi58grbhq2I7a23Rw6INb42urfVVLhdlvlrZpueNPkCuT+2pa4IbYPdwuJs+6rlFPv66
drtR1Nvfd9Mn4WV9fr1Rpy/3dUQ5r9ijvk7OOv6Hke87Mzh/uNO/b63/e61eWupP6DeKOjbDnq9G
yuTGR5Trtf4zWlNx5Pq2nv54qi/XjT6wutC3sbntlxb8DTcaZbraf8+jvm6/uOB2LvW/QXx27YLW
hRllmY8eb00gfa7IBcrf+1Lj987f+sd+e+5uQRkJbmaEBoeKA+t+37E82AckP3T1YW0XuveHTR3u
d8ZjxTL5md81Os2v+x/7cL9uG4PUbnWwY9zr3h/OdqSvpC4UHcBhR/1TBTcr3fTK2tN+Rz/Ue7Wo
TC/N+Rt03fS2tdf9Z1zaxMH8oljf4UzilwaVdjdncLNUHMTP+v3gUH/wP+jeH5ZXUs79cLM/QVoV
3ACCmwXr2sfFyfClvoN1qns/6C/ruyNFvXS7mz7972zRjuSThYajcsqrR99201uN7nXvB9/DAONq
9/5EuGf791wp2sKbjfbpY064T3XvP9XqbB8UXS/+/tWc5Xl7pP3YbHBztWjXbgzq/K8HbcRa//mX
irbsXvf+aKKtahv2dO8/UOHYSLjXGiFc66ssD9rLi33ZXujL+2WjD1DODXG/L6u9ghsA+GTs7d6/
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
/wedy94ZTB6ObQAAAABJRU5ErkJggg==
The width of these columns may be specified using the
header-left-width
,
header-center-width
,
header-right-width
parameters for the header and the
footer-left-width
,
footer-center-width
,
footer-right-width
parameters for the footer.
The width of a column is specified as an integer which is larger than or equal to 1. This value is the
proportional width of the column
. For example, if the left column has a width equal to 2 and the right column has a width equal to 4, this simply means that the right column is twice (4/2 = 2) as wide as the left column.
The contents of these columns may be specified using the
header-left
,
header-center
,
header-right
parameters for the header and the
footer-left
,
footer-center
,
footer-right
parameters for the footer.
When
header-left
,
header-center
,
header-right
are all specified as the empty string, no header is generated. When
footer-left
,
footer-center
,
footer-right
are all specified as the empty string, no footer is generated.
The content of a column is basically a mix of text and variables. Example: "
Page {{page-number}} of {{page-count}}
".
Supported variables are:
{{document-title}}
The title of the document
.
{{document-date}}
The publication date of the document
.
The value of the variable comes from the last
created
or
revised
element found in the
topicmeta
/
critdates
or
bookmeta
/
critdates
element of the map. More precisely, it comes the value of attribute
golive
,
modified
or
date
, considered in that order. The value of this attribute must be something like
YYYY
-
MM
-
DD
, because it is parsed and then formatted according to the
xml:lang
of the map. For example, if
golive="2014-02-23"
, with
xml:lang="en"
, it gives: "
February 02, 2014
" and with
xml:lang="fr"
, it gives: "
02 Février 2014
". If the map has no
critdates
element, then the current date is used. If the value of attribute
golive
,
modified
or
date
is not specified as
YYYY
-
MM
-
DD
, then this value is used as is.
{{chapter-title}}
The title of the current
part
,
chapter
,
appendices
or
appendix
. Empty if the map being converted is not a
bookmap
.
{{section1-title}}
The title of the current
part
,
chapter
,
appendices
or
appendix
or
section 1
. A section 1 is specified by a non-typed
topicref
(that is, not a
part
,
chapter
,
preface
,
appendix
,
dedication
, etc) which is a direct child of a
map
or
bookmap
.
{{topic-title}}
The title of the current topic
. All topics are guaranteed to have a corresponding
{{topic-title}}
. Even automatically generated topics such as
toc
or
indexlist
have a corresponding
{{topic-title}}
(7)
The
{{topic-title}}
of a
toc
is "
Table of Contents
", properly localized. The
{{topic-title}}
of a
indexlist
is "
Index
", properly localized.
(7)
.
Restriction
If you use
XMLmind XSL-FO Converter
to convert your DITA document to RTF, WML, DOCX or ODT, then
{{section1-title}}
and
{{topic-title}}
won't work. (
{{chapter-title}}
works fine though.) The reason of this limitation is that, unlike other XSL-FO processors, XMLmind XSL-FO Converter does not
implement
<fo:marker>
and
<fo:retrieve-marker>
.
{{page-number}}
Current page number within the current document division (front matter, body matter or back matter)
.
{{page-count}}
Total number of pages of the current document division (front matter, body matter or back matter)
.
{{break}}
A line break
.
{{image(URI)}}
An image having specified URI
. A relative URI is resolved against the current working directory. Example: "
{{image(artwork/logo.svg)}}
".
{{page-sequence}}
Not for production use. Inserts in the header/footer the name of the current page sequence
. This allows to learn which name to use in a
conditional header or footer
. See
below
.
Conditional headers and footers
The default value of
header-center
is
'{{document-title}}'
. This means that each page of the generated PDF, RTF, etc, file will have the document title centered on its top. But what if you want the pages containing the Table of Contents have a "
Contents
" header? Is there a way to specify: use "
Contents
" for the pages containing the Table of Contents and use the title of the document for any other page?
This is done by specifying the following conditional value for parameter
header-center
:
'toc:: Contents;; {{document-title}}'
.
A conditional value may contain one or more cases separated by "
;;
". Each case is tested against the page being generated. The first case which matches the page being generated is the one which is selected.
conditional_value
-->
case
[ "
;;
"
case
]*
case
--> [
condition
"
::
" ]*
value
condition
--> [
test_page_sequence
]?
& [ S
test_page_layout
]?
& [ S
test_page_side
]?
Let's suppose you also want the the pages containing the Index have a "
Index
" header. Specifying
'toc:: Contents;; {{document-title}};; indexList:: Index'
won't work as expected because the second case (having no condition at all) matches any page, including the Index pages. You need to specify:
'toc:: Contents;; indexlist:: Index;; {{document-title}}'
.
Let's remember that variable
{{topic-title}}
is substituted with the title of the current topic, including automatically generated topics such
toc
and
indexlist
.
Therefore our conditional value is better expressed as:
'toc:: indexlist:: {{topic-title}};; {{document-title}}'
. Notice how a case may have several conditions. Suffice for any of these conditions to match the page being generated for the case to be selected.
Even better, specify
'toc||indexlist:: {{topic-title}};; {{document-title}}'
. String "
||
" may be used to separate alternative values to be tested against the page being generated.
test_page_sequence
-->
page_sequence
[ "
||
"
page_sequence
]*
page_sequence
--> "
abbrevlist
" | "
amendments
" | "
appendices
" | "
appendix
"
| "
backmattersection
" | "
bibliolist
" | "
bookabstract
" | "
booklist
"
| "
chapter
" | "
colophon
" | "
dedication
" | "
draftintro
"
| "
figurelist
" | "
glossarylist
" | "
indexlist
" | "
notices
"
| "
part
" | "
preface
" | "
section1
" | "
tablelist
"
| "
toc
" | "
trademarklist
"
Tip
It's not difficult to guess that the name of the page sequence corresponding to the Table of Contents is
toc
and that the name of the page sequence corresponding to the Index is
indexlist
. However the simplest way to learn what is the name of the page sequence being generated is to reference variable
{{page-sequence}}
in the specification of a header or a footer.
Now let's suppose that we want to suppress the document title on the first page of a part, chapter or appendix. This is specified as follows:
'first part||chapter||appendix:: ;; toc||indexlist:: {{topic-title}};; {{document-title}}'
.
For now, we have only described a condition about the page sequence being generated: TOC, Index, etc. In fact, a condition may test up to 3 facets of the page being generated:
The page sequence to which belongs the page being generated.
Whether the page being generated is part of a one-sided or a two-sided document.
Whether the page being generated is the first page of its sequence. When the the page being generated is
not
the first page of its sequence, if the page being generated has an odd or an even page number.
test_page_layout
-->
page_layout
[ "
||
"
page_layout
]*
page_layout
--> "
two-sides
" | "
one-side
"
test_page_side
-->
page_side
[ "
||
"
page_side
]*
page_side
--> "
first
" | "
odd
" | "
even
"
Remember
When the document has one side, the only possible page side is
odd
. The other values,
first
and
even
, are not supported. For example, something like
'one-side chapter||appendix even:: {{chapter-title}};;'
cannot generate any text.
The order of the tests is not significant. For example,
'first part||chapter||appendix'
is equivalent to
'part||chapter||appendix first'
.
Therefore
'first part||chapter||appendix:: ;; toc||indexlist:: {{topic-title}};; {{document-title}}'
reads as follows:
Use the empty string for the first page of a part, chapter or appendix.
Use the topic title for the pages containing the Table of Contents. This title is "
Table of Contents
", but localized according to the main language of the DITA document being converted.
Use the topic title for the pages containing the Index. This title is "
Index
", but localized according to the main language of the DITA document being converted.
For any other page, use the title of the DITA document.
Note
Everything explained in this section applies not only to the contents of a column of a header or footer, but also to the proportional width of a column of a header or footer. Example:
-p footer-right-width "first||odd:: 4;; even:: 1"
.
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
Chapter 4. XSLT stylesheets parameters
Chapter 4. XSLT stylesheets parameters
Chapter 5. Controlling the numbering of ordered lists
This chapter explains how you can to control the numbering of ordered lists by the means of one or more directives specified in the
@outputclass
attribute of the
<ol>
element.
By default, the numbering of nested ordered lists automatically alternates between the "
1.
" and "
a.
" formats. If you want more control on the numbering of ordered lists
, then you'll have to specify one or more of the following directives in the
@outputclass
attribute of the
<ol>
element.
lower-alpha
upper-alpha
lower-roman
upper-roman
decimal
Specifies the style of numbering.
start(
positive_integer
)
Numbering begins at specified
positive_integer
.
continue
Numbering begins where the preceding ordered list left off.
inheritnum
Numbering inherits from outer-level ordered lists. For example, using this feature (e.g.
<ol outputclass="upper-alpha inheritnum">
), the items of a list nested at level 2 are labelled "
1.A.
", "
1.B.
", "
1.C.
", etc.
Restriction
When using
XMLmind XSL-FO Converter
v6.0+
(8)
v6.1+ strongly recommended.
(8)
to generate RTF, WML, DOCX or ODT, directive
inheritnum
is supported but with minor limitations. For example, when both
start(
positive_integer
)
and
inheritnum
are specified,
inheritnum
is not honored.
Directive
inheritnum
is not honored when generating Java Help
and HTML Help
.
Example:
<ol outputclass="upper-roman start(10)">
specifies an ordered list which starts with an "
X.
".
Note that it is still possible to specify any class name you want in the
@outputclass
attribute of the
<ol>
element. Example:
<ol outputclass="continue fancy-list">
.
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
Chapter 5. Controlling the numbering of ordered lists
Chapter 5. Controlling the numbering of ordered lists
Chapter 6. Giving a background color to table cells
This chapter explains how you can give a background color to table cells by adding a
bgcolor(
color
)
directive to the
@outputclass
attribute of most table elements.
It's possible to give a background color to table cells
by adding a
bgcolor(
color
)
directive, where
color
is any CSS color value, to the
@outputclass
attribute of the following elements:
Inside a
<simpletable>
element
<simpletable>
,
<sthead>
,
<strow>
,
<stentry>
.
Inside a
<table>
element
<tgroup>
,
<thead>
,
<tbody>
,
<row>
,
<entry>
.
Example:
<table>
<tgroup
cols
=
"2"
outputclass="bgcolor(#F0FFFF)"
>
<tbody>
<row>
<entry>
C1,1
</entry>
<entry>
C1,2
</entry>
</row>
<row
outputclass="bgcolor(#FFFFF0)"
>
<entry>
C2,1
</entry>
<entry>
C2,2
</entry>
</row>
</tbody>
</tgroup>
</table>
Note that it is still possible to specify any class name you want in the
@outputclass
attribute of a table element. Example:
<simpletable outputclass="bgcolor(#FFFFF0) fancy-table">
.
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
Chapter 6. Giving a background color to table cells
Chapter 6. Giving a background color to table cells
Chapter 7. Fancy code blocks
This section explains how you can automatically add line numbers, “expand” tab characters and colorize the source code contained in
<pre>
,
<codeblock>
or any other element specializing
<pre>
.
Adding line numbers, “expanding” tab characters and colorizing the source code
contained in
<pre>
,
<codeblock>
or any other element specializing
<pre>
is done by adding one or more of the following classes to the
@outputclass
attribute
of this element:
line-numbers
line-numbers-
N
(where
N
is an integer > 0)
show-line-numbers
Give a number to the lines contained in the
<pre>
element.
By default, first line number is 1. This first line may be specified using the second form of the
line-numbers
class, for example,
line-numbers-100
specifies that lines are to be numbered and that first line number is 100.
show-line-numbers
, an alias for
line-numbers-1
, is also accepted for
compatibility with the DITA-OT
.
language-
L
(where
L
is language name)
Colorize the source code contained in the
<pre>
element.
L
, a “programming language” such as
c
,
java
,
css
,
xml
, specifies how the source code should be colorized.
More information about this feature, commonly called
syntax highlighting
, in
next section
.
tab-width-
W
(
where W
is an integer >= 0)
normalize-space
Specifies whether tab characters should be expanded to a number of space characters.
W
is the maximum number of space characters for an expanded tab character, hence this value specifies the location of “tab stops”. Examples:
tab-width-4
means: expand tabs to up to 4 space characters;
tab-width-0
means: do not replace tabs by space characters.
In addition to replacing tab characters by a number of space characters,
tab-width-
W
(where
W
> 0) also removes the space characters which are common to the beginning of all text lines. That is, it removes the superfluous “indentation” in the
<pre>
element, if any. See
example below
.
Moreover
tab-width-
W
(where
W
> 0) also removes the (useless) space characters found just before newline characters.
normalize-space
, an alias for
tab-width-8
, is also accepted for
compatibility with the DITA-OT
.
Remember
When the
<outputclass>
attribute of any element specializing
<pre>
contains class
line-numbers
/
line-numbers-
N
and/or class
language-
L
, then class
tab-width-8
is implicitly specified too, that is, whitespace normalization is automatically performed. If this is not what you want, please explicitly add class
tab-width-0
to
@outputclass
.
Example: a simple C program featuring line numbering and syntax highlighting
In the following C program, lines are indented using tab characters.
1
2
3
4
5
6
7
8
<pre
class
=
"language-c line-numbers tab-width-4"
>
/* Hello World */
#include <stdio.h&ght;
int main()
{
printf("Hello World\n");
return 0;
}
</pre>
is rendered as:
1
2
3
4
5
6
7
8
/* Hello World */
#include <stdio.h>
int
main()
{
printf(
"Hello World\n"
);
return
0
;
}
Example: superfluous indentation is removed by
tab-width-
N
(where
N
> 0)
Attribute
@outputclass
implicitly also contains
tab-width-8
. First line "
/tmp/
" starts with 4 space characters.
1
2
3
4
5
6
7
8
9
10
11
<pre
outputclass
=
"line-numbers"
>
/tmp/
/usr/
bin/
lib/
<b>
local/
</b>
<b>
bin/
</b>
<b>
lib/
</b>
<b>
src/
</b>
src/
/var/
</pre>
is rendered as:
1
2
3
4
5
6
7
8
9
10
11
/tmp/
/usr/
bin/
lib/
local/
bin/
lib/
src/
src/
/var/
1. Syntax highlighting
This section explains how you can automatically colorize the source code contained in
<pre>
,
<codeblock>
or any other element specializing
<pre>
.
You can automatically colorize the source code contained in
<pre>
,
<codeblock>
or any other element specializing
<pre>
. This feature, commonly called
syntax highlighting
, has been implemented using an open source software component called "
XSLT syntax highlighting
".
If you want to turn on syntax highlighting in a DITA document, suffice to add attribute
@outputclass
to a
<pre>
,
<codeblock>
or any other element specializing
<pre>
. The value of attribute
@outputclass
must be any of:
language-bourne
(or -
shell
or -
sh
),
language-c
,
language-cmake
(or -
make
or -
makefile
),
language-cpp
,
language-csharp
,
language-css21
(or -
css
),
language-delphi
,
language-ini
,
language-java
,
language-javascript
,
language-lua
,
language-m2
(Modula 2),
language-perl
,
language-php
,
language-python
,
language-ruby
,
language-sql1999
,
language-sql2003
,
language-sql92
(or -
sql
),
language-tcl
,
language-upc
(Unified Parallel C),
language-html
,
language-xml
.
If you want to customize syntax highlighting for an HTML-based output format (XHTML, EPUB, etc), then redefine any of the following CSS styles:
.hl-keyword
(keywords of a programming language),
.hl-string
(string literal),
.hl-number
(number literal),
.hl-comment
(any type of comment),
.hl-doccomment
(comments used as documentation, i.e. javadoc, or xmldoc),
.hl-directive
(preprocessor directive or in XML, a processing-instruction),
.hl-annotation
(annotations or "attributes" as they are called in .NET),
.hl-tag
(XML tag, i.e. element name),
.hl-attribute
(XML attribute name),
.hl-value
(XML attribute value),
.hl-doctype
(
<!DOCTYPE>
and all its content).
Example: customization of the syntax highlighting of a keyword for HTML-based output formats
.hl-keyword {
font-weight: bold;
color: #602060;
}
How to use a custom CSS stylesheet is explained in
Part II, Chapter 9, Section 1
.
If you want to customize syntax highlighting for an XSL-FO-based output format (PDF, RTF, etc), then redefine any of the following
<attribute-set>
s:
hl-keyword
,
hl-string
,
hl-number
,
hl-comment
,
hl-doccomment
,
hl-directive
,
hl-annotation
,
hl-tag
,
hl-attribute
,
hl-value
,
hl-doctype
.
Example: customization of the syntax highlighting of a keyword for XSL-FO-based output formats
<xsl:attribute-set
name
=
"hl-keyword"
use-attribute-sets
=
"hl-style"
>
<xsl:attribute
name
=
"font-weight"
>
bold
</xsl:attribute>
<xsl:attribute
name
=
"color"
>
#602060
</xsl:attribute>
</xsl:attribute-set>
How to use a custom XSLT stylesheet generating XSL-FO is explained in
Part II, Chapter 9, Section 2
.
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
Chapter 7. Fancy code blocks
Chapter 7. Fancy code blocks
Chapter 8. Rich media content
This chapter explains how to add SVG, MathML, audio, video and Flash animations to your DITA topics and how
ditac
processes this rich media content in the case where the output format supports rich media (e.g. XHTML 5, EPUB 3) and also in the case where the output format does not support rich media (e.g. XHTML 1, PDF, RTF).
SVG
It is possible to include SVG graphics
in a DITA document either by reference or by inclusion. Use an
<svg-container>
/
<svgref>
element pointing to an SVG file to include it by reference. Example:
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
The XML source code corresponding to the above example is:
<p>
<svg-container>
<svgref
href
=
"media/graphic.svg"
/>
</svg-container>
</p>
It's also possible to use an
<image>
element pointing to an SVG file to include it by reference. Example:
<p>
<image
href
=
"media/graphic.svg"
/>
</p>
Embedding SVG graphics in a DITA document can be achieved using the same
<svg-container>
element. Example:
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
The XML source code corresponding to the above example is:
<p>
<svg-container>
<svg:svg
height
=
"64.710144"
version
=
"1.1"
viewBox
=
"0 0 104.28986 51.768115"
width
=
"130.36232"
xmlns:svg
=
"http://www.w3.org/2000/svg"
>
...
</svg:svg>
</svg-container>
</p>
Notes:
It is still recommended to include SVG graphics by reference using the
<image>
element rather then
<svg-container>
/
<svgref>
. The
<image>
element has useful attributes (
@width
,
@height
,
@scale
,
@scalefit
) allowing to adjust the dimension of the image. Moreover this elements permits on the fly conversion between image formats.
It is not recommended to embed SVG graphics in a DITA document as this is likely to cause many validation problems.
Only the following screen formats may contain SVG: XHTML 5
, XHTML 5 Web Help
and EPUB 3
. Note that only modern web browsers support XHTML 5 and XHTML 5 Web Help. Very few EPUB readers (e.g. iBooks) support EPUB 3.
All XSL-FO based formats (PDF, RTF, DOCX, etc) support SVG whatever the XSL-FO processor you may use.
MathML
It is possible to include math
in a DITA document either by reference or by inclusion. Use an
<mathml>
/
<mathmlref>
element pointing to a MathML file to include it by reference. Example:
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
The XML source code corresponding to the above example is:
<p>
<mathml>
<mathmlref
href
=
"media/math.mml"
/>
</mathml>
</p>
Embedding MathML in a DITA document can be achieved using the same
<mathml>
element. Example:
iVBORw0KGgoAAAANSUhEUgAAAZcAAACcCAYAAACz1uZ6AAAACXBIWXMAACxLAAAsSwGlPZapAAAb
EUlEQVR42u2dDWhWR9bHhxCCiMiGNLjBBkUkiIgINhRxRQURkSIilKzYUoMSliJFJODKVlQkvNKW
Vqy0iEiQUoRWssVXVBARCSJSccWVvGIpEkREBCtWXIkB33t4zuwzuZ37PTN3nuf+fzC05s79eObc
mf+dj3NGCAAAAKBk3g7SaJDmoigAAIaZFaQjQRoP0kSQngfpVJCWoWiaX1juB+kNxAUAYJh3g/SE
2xddOqTkfZMhkUi9DNLTIF0I0lG+F/CIi2ys1yw0AABggu4EYZHpE+WcziAdj8hHtHCejdz7Cef5
LkjTUPTls10xylYUBwDAIGeDNBmkoSAtZGEguoLUH6QxbnteBKlDOa8tRlzCbOB7qPnOoOjLpVXU
h8O+QnEAAAyyWtTmVpbH5CERGeE2aGfoWFpxIQ5o8vbBBOXxARvhUZBmoDgAAAahBUKbUuRr4x7M
6QLiMl+T9zJMUB4/sxEGURQAgBLZFqQHBcRFl/8lirUc5qPXAgDwhNkaMcgiLi2avK9QrOWwnw1w
HEUBAPCAiQLislCTdxRFWg5ySGwVigIAYBHqVdCwF82pPBd1J0pa0bVRyfeqgLgc1eR9H0Xvnre5
8P8jaivGAADAButEfUXqiSD1sthQWhmkc6K2XHkGC04ecflYk+8zFH05vMcG+BlFAQCwxG5Rn1hf
E5PvAPdqxlKKCwkTzRnTUuMroeM3uH0DJfGtwHxLWbwpOQHggh3KO7c5RX4aIhspWFdIoBD+pWR+
EViCDHEBwA6LRd1j/mKGc4ZS9lyIaSwkA0G6HcpzL0gfwQzueUvUYoi9SeiqAogLAHm4qrxvvSnP
oaXIGzKIi0pr6J4ynYQp3LJOKfz5KA7nnNNUghOW77mH73MKIgyxtcwypWxvZziPeiBtOcWF2BSR
/0OYxB2fKgUP50n3rBf60OEzLd2PKuxjvs+CBisruaJoDOLSMBxWynZvxg+gNB8YUXRG5L8Kk7hD
hrJ+gKIojXFNJdhp6V6DfP2RBi6vhTlFYhoL6hZR31YC4mKXm0rZrk15To+Y6u+SR1yi8iMEjENG
udDvoyhKY6+mEty1cB8ai37I11/c4GVmogdCc4yPIC5WeaWUbdo9VfZlsDnExWN+F/BxKRvay2JS
UxFWGr7PTr7u2SYoM1PDW3PE1M2rgFkmM5YtTfj3GxCXqN7tRZjEDdMEwlH7wk+aimBywp3mK+Tw
W28TlJfJuZMBiIs1Hmco2/aEdz6Lnb+IyL8eJnHDOxAXb1gt9BP7nYauL0NiXGqS8jIpLiS8jyAu
VhhWbLIo4UOX5gF7Io5H7UTZosm7LmIk4B8whzveg7h4xa+aCrHbUK9FxnNaXmFxaYk5dhTiYoWF
SkM/HJFnFn/0rI3p0RyPsPNBUY9NtjRIRzTC8qtACBjnbIW4eMWgpvKYWGixja91pcA1qIJ/X6An
1cnnt5coLj0xxzZBXKzRpzT41Ph38d+7+ePpTpBW5LSzbs+WZ6LmP0YfDHAML4lPIS5eQQ3whKbC
FKkg9EV3l6+zusB1qEEY52t15vhdd/kLsqtEcYkTkHaIi1VoCfgxfodIAGjVFq1U3RWk6Sie5mO/
wEY6vnFS01CeKXC9LXyNawaeTQrMnQwCQ/nI6fGeQWHJKy5fQkAAcIM6jgk/Fz9YrmkoJ3kIIQ+y
17LW0PN1s8DcSiEwdPw2P8Msw+WUR1zuWhIXhKUBIMQwxMVL7mgal305rrNZ1Pe0MAkJzMMEgenk
42PC3Iq3IuKy2mJDDXEBIIQaAgPhX/xhp6ZxIfu05BSpDRaeURWYjtCxDv77bUvCklVc2pVeCxpq
+6wStSF3n9NKmMkul5UK9xrF4Q0UQFQ3sZ9FJDaK7JFoiwhMu9KQ3xLphs1siwv5TtBKpXvoBThl
vyh/K4mktA9mcicuqHR+oVvXfyHD+bf4nPctP+c8Fpgb/P83InozrsUFQ0wQF4iLR+IyDUXiDUsj
KsW8FOfKMP5jjp6V/EcozActMb0uzPmyQFwgLhCXJhGXuSgSr7ipqRRDKc67LtxujNSh9JRueCIu
BA3LURDEcYiLU1Zy4+1zwpyLY3FZhCLxigFNo0kRfOMm9teI+r7hroTlJosLLaN+yP+2LTBZeie0
DPoRxAWA8sRlFYrEKyhY3wtNw7kl5hy5d/hHDp5PLjdWV4X1iORlyq7FRXB5YClysecGILe4ILib
fxzWVPKoGGErRN1nqcXyc8X5scxxIDBZG8IWUd8oDeICcQGW+TH08mxFkXjHooiKvkCT9wof+9iB
sEjP+yjxSONo6VJciLSRj6uysMU3caHhSwpsSXNktBT/uajt77IMzUDjMSzc7NsOinFVU9G/DOVZ
JvI7W2YVljGRLoClFJgsschsikvayMf3KvJe+SQu74qpO4KG0yE0A40tLvtRJF7Sr6lsT0VtTkYi
oy3scCAs90T6WGEyFpnpMDB5GsIFKRpJChNzAa+cU7oThEWmT1BUjcO3IeN9jSLxktaIyreNj/fy
vx+FBMf0kEXesPlFwvWbFJeWFOLyg6hFpgbuOCtqwVlpmf1CpefdxR9WY2w3WtzSgeJqDPaHKuQw
isRbdHuCX1MqJ/17l8X7U0W/IvKHzafzRkW5+7kksUTAwc411FOkuZW4HVLpg2lEYOi+ocXlRxSJ
t8yPaETlElvq2VQpwoJpcaENq2Sgzz68bs6gD45NKfK1cQ/mdEI+6s1fRLGWT3hbXexG6TeXNI2o
DHC5u2JlkSQuWRY1UKDQC8q5q/GqeQkJx4OEDzDqBX2MoiqfrRCXhmJTREP6jBvIqtCSQlx6Ul6L
hmPuhs5tw6vmJbNFbXvkqGO/sv26UVTlszFUqf6FIvG+UX2kaUj3VqwclqYQl0v8JRtmGvdMaH7q
uua8V3jNvGYi9G9a7EIrJJ+y/W6iiPxgVahiYTdK/zkYshmtoJlZIXGlnsZtYc8T/jpesdJsS8Ne
NKfyXNSdKM/wR7BEFf9B7rUjooCHLIG4NBxzQjY7UJHf7SoU+ym8Ys5Zx20Plf8JUVta38KJohef
E7UVkTNYcMJsU+z3LorTD+ZCXAAAJbKb2x6aS1kTk+8A92p0exSdFnU/L+AJMyAuAICS2KG0PZtT
5KchspHQ36h3IyOHH0eR+sVriAsAwDGLRc0rn9qdixnOCW+Wt1Jpv9ajWP3iAcQFAOAYNRhrb8pz
aLnxhtDfhkR9WK0FxeoX9xUj/4ziAABYZpnS5tzOcB7tzBr2QbohsBDDW0YFnCgBAO5QN8DL4qO1
J/TvdpFud1ZQEupulP9EcQAALHNTaXPWpjyHIi5sDP2tj68xyUIDPOO8QFRkAIA7XiltTtpgq7pI
1adE/LbfoGTUDcMOojgAAJaZFNm86GnCv1/zd7nH0S4Uqf/ish3FAQCwzOMM4tIu9JP1anw5ilpB
m4gNoGj9FZeNKA4AgMM2Z1FMPhoyI6dJXYRrGfJFDolR2JghFK2/hl6C4gAAWIa2MpZDY1HzvLSt
NkW2jprwP87nk/jQsNgZFKvf4vInFAcAwAF9isAcEfXtr2kvFoo3RruCrog5n0SHglhSPDGa7IcD
pYf8yAb+HUUBAHDIgiAdC9K4qK0gIy/7Ue6JTEfxND7Sz2UURQEAAMAUv7C4fI2iAAAAYIrfBJYh
AwAAMMjboj6Z/w6KAwAAgAnWsbBQ76UVxQEAAMAEgwIBKwEAABhGBn7bgaIAAABgChn4bS6KAgAA
gAkWsLD8gqIAAABgir+zuPwdRQEAAMAU/w7Sa1FbjgwAAAAUZiP3Wo6jKAAAAJiA/Fn+xb2WRSgO
AAAAJviWey3foigAAACY4BoLC+2B8BaKAwAAgAlkHLF1KAoAAAAQFwAAAN6LCw2LYUtjAAAARqAl
yL+zwPwPigMAAIApaN+W/3CCAyUAAABjfM69l69QFAAAAEwxX9ScKCkq8jQUBwAAAFPIvVz+hqIA
AABgChlfDLtQAgCA/8wK0pEgjQdpIkjPuZOwzLcHpaXIrwUiIwMAgO+8K+qbO+rSISXvG0OpED/z
RT6A7QAAwEu6E4RFpk+Uc9pFLep9kmi0cN5NQRo1KS5y1dgw7AcAAF5yNkiTQRoK0kIWBKIrSP1B
GuN2/EWQOpTzWnP0SIZMict2vsh92A8AALxjtajNrSyPydMWpBFuy3eGjuUZ7rplQlzeUW44F3YE
AACvoKGqTSnytXEP5rQBcek3IS7k4/KaL/RX2BEAABqWbUF6YEBcZpkQF+I+X2g/bAMAAA3L7CC9
zCEubabEJIxcMXYetgEAgIZmIoe4rLUlLucFJvUBAMBnaIUYDXvRnMpzUXeiPCNqDvGSVznE5Ygt
cRlWboo4YwAA4BfrRH364kSQellsKK0M0jlRW648gwUni7jMZ0GyLi4LYEcAAPCG3dw201zKmph8
B7hXM5ZSXKYH6aMgPRSG/FqSxKXo9sdvSk4AANAs7FDats0p8tMQ2UiBNtmquGyFuAAAQOksFjWv
fGrXLmY4Zyhlz4VCvpA/y2NX4jIIcQEAgNK5qrRrvSnPoaXIG1KKi2SJImLGOaXc9OuC1zqn+SEn
LBthD9/nVAO9OEUElF4EmoCjMdhn/BLSb98n4kNEgMa0Nz6cqscyxe63M5w3IGo+K1nEhThm6x27
rNz0u4LXWq/5IbRkbqYlI7Qp3bpGW4xAz04TdGOGe293RG3dOvAPmkT9UNS8qNPYkVYCtaDYKsdh
5T3Ym/FDO82HTZg4P5cZpsTlsoGCGdf8mJ2WjDDI1x9p4BdpaYav1un8IlAv5VHCOXtRR72lN4XN
e1FMleWm8h6k/VDsEVP9XbKIS5SHfgu357n5t3LTUQMFs1fzY+5aMACFk5bL6BY38IvUknNIhCbk
LiScN4B62rA2d9FjwZCbn7wS2X0P9yXYOM8QKwXMPFfkh9xXbmrCS5/2GJjU/KCVhg2wk697tgle
przj7fTixQ2r0UvajbraVDaHuDQ/kxltQ73cfsPiQh83NDR7ssgP+d2wuBA/aX6QyQl32V1rluGD
Ig1Nf8K5X6CuQlwgLg1FluXB7Qlta953S4aE2WPqJTclLquFfmK/09D1P+ZrXkJD89/w2FHpLuoq
xAXi0lCo7iGLEkYuaL65J+a47t1qi7lmqyIslPry/og/WxIX4lfNj9ptqNcih/KWo6FJPH8CdRXi
AnFpKGgrYzk0NhzzUUkf11ET/rRC95uId+sQi4jappK/Cy2QuicMTWfMtSgug5ofZeL62/haVwpc
g7qS3xfoSXXy+e0NIC4vUVchLhCXhqNPERjqSXTx37v5I53mQ1bkfLeypLa8P+AvFsWlk7+aww+7
pmCv5S5fZ3WB65ChxvlanTl+113umXV50NDMSTj3LOopxAXi0pCQ794xbquk4zSt6N0lam4JXrMq
9EL/Yvj6JzWV5kyB623ha1wz8GxSYO5kEBjKN8Zdxy5PGpqdCeeuQR2FuEBcMjFP1KIM0zLcZ9yw
y/1TaPn/PsP1vyn5IPRCXzZ8/eVCH74k7/JY2Wsx5YHezQJzK4XA0PHb/AyzPGlo6JninCkPW3oe
H8OZbAxd/0rG/KOO617VxcVHe9EE+FFlOIo+IiksvfRSn80fx3TsBR8DEWy3LC6CewbhirMvx3U2
87k3DD8fCczDBIHp5ONjwtyKt6INzRx+pqhJ/D0Wn8dHcTkmskUoOBHKP+i47lVdXHyzVxsLnLz+
T0LvwDhTTPVD2QIZ0fNpyGDnLdxDN2xDsZWyeiBLkdpg4RlVgekIHevgv9+2JCxpG5oW7oq/J2oT
fC81+Z7xsTkVfJfDq1zeTcj/OJR/HsSl0vZSI4tQfW+Nyat60I8buv+qIO33PGVaObY/ZLBhCy/R
DKGf2M8iErJLfNviy64KjFwF1s7/TjNsZrOhSUq038M6Ud0gh/ND5fE8IX84ttfNEp65yuLio73U
mIhJvh1PlLwvDN1/vyh/y5KklGnE6XMH4kIc1zzohQzny+Gf9y2/9PNYYG7w/9+I6M34Ji5v+MuO
yrmKYfcHRLZoEAdE+UE+bYhLo+yb5KO91A/gpHhe1A495fQhxEXPcOjkg5YqUlTk3zRdWxnGf8xR
pe/hhpq6vteFOV8WE8Ni7VweB8TUva/DiQSxSmH3R0K/P2kc/GYo/0KIi1Nx8dFeYyUPEza9uHxq
sfBuah52KMV51znvh46M3KH0lG54JC5haJ376YTzPquAsLSIPw67zo7J3xXKe6+k567qsJiv9tqk
3KO9hPdhJTfePqdMcy5hcdnucOjiDY9dxs0TrHHcAHSwCN7i4aWH/O92TxsamnS8m3DuP5pcXMJx
7O5kfA8PlvTcVRUXn+1F88DjAnshGeF8yHAfWLwXLfV7oalEcV1iuY+0i/XkcrmxuiqsRyQvUy67
odklkrdFXmD4eXxaijwksvn2hCN2lxVVu6ri4rO96GONhpPJ+Zt25SWfF5oPeizMu0A0PZeFW2/u
w5pKFOU8tULUQ9LYXgUV58cyx4HAFGlo1qY4/0gTi8uN0HXXJzQe6pDMeIl1r6ri4qO9yHfls9DH
7y0WmFN83/sCFBKXv1i+36KIiqT7spYOTR87EBbpeR8lHmkcLctqaKanOP9ek76/7eKPzqOtCcMe
JiIY2Lb5hONnqLK9aE5HjeBO/mMmVqVSlOEzfD1KFMF4tYXnn8Ufj+OiHqKGBHGZb+Iy38E9r2oq
05ehPMtEfmfLrMIyJtIFsJQCkyUWmauv2KTzXzWpuPSJbEE6w17eKyw80wb+WJngRmsgh81c2cu1
uPhmL2pbrofuYUJY6IN4khv9mSygMkr8PoPPT46nT2Leo0M+icufHdxTt3MirRdXQztf5L/vcCAs
90T6WGEyFpnpMDC2xaVZ93Q5FfqdOxPsrQ6xPLbwPFFDlDsy2uxZk4qLb/b6mzAf/kqGqfpBc+yQ
wXatO0FYZPrEF3FxQWtEoWzj49Ib95EosJdAiq5k3rD5RcL12xCXthTn/9qk4hIOCRLn//BlKO9x
C88zGlH+DzLa/I6j8nMtLr7ZK9z+9RW8XhcPS0WNArWzYFLPtKfgvc5y72iIy7FFeYZ+UffboXmk
jjIqZxniQnyhqVDXlEKjf++yeH8ywBWRP2x2FzckPuznkmZC/7hoPpaEfuOjmLwrxR99K2w4mU5m
GOaKs9dIE4qLj/YKx+crGu1cLli6HpNHRlU+VeA+q1nElid8dI6k6CE6EZcnDu87P6JSfaQ8yzRR
HYqIy5EU5y9pwjIL73T6XUS+Hv5gUZe0vhR25vJeRpT/JU3vPc5eQ47fu6raayJDPaPewT1+lh0R
jbm0/zcx15GBfCcLjHzQh+2mFPnauAdzOiEfjRpdNF24/xR2dqFMwyWhnxug/+4W1SKvuMwRUyO0
6tI3TVpmlzQfJmGW8hCTug+H2jPoMfzeXxD6mG/h/YuSVvgtd/zeVdVeY6FnihOwKyJ+6/D3leOb
Y66zXsnX76DcSTgeJHzoUy/I+Krc4RLFZZOInsycUSFhaUkhLroQ+rOEfq+ccHDQ1iYss1bNENRF
UR/HpuHKg6GhA3Uy+RiX+4jI7gMUxwaNDdZp8q2IsZlLZz1X4uKrvQ6kFPV5oXy6Ya9vRDrfnW4l
3/cOyn52hBjKY3IZdrfpG3+t/NB/l9Co6nZRrFrohd4U4kJDBB1Kb4V6dk8TzjncpMJCbFR6BVG/
nyqUOk4fFclgseFnC8d7m5GiUVNDzy+EvZzZi2yjhto/F5Hv+1BPVGejcyLdQoXWBJGywYTmGXYo
bYiVLSf2C7u7UCZxMPTi0MqGmRURlTauTEmxwbKkSf7iW9zkZXeUK0a/iF6dtUzT0wuHHzph4dmm
hYbHRvlZWjjRM+uGMp8IDxzfKmgvGhZSNy77TtSjtXeFeiQjInrSX/3YS5ovNrXkvIWHvU7zh4l0
ojzDgi5RF5QM8n2tR4YYLFlc5oR+2IGKCIsJEXnJX1E0+UmrwfoqJMz3RH2SUi67nORGit6hqECj
tIvnQ65sX6bs2eX1tN4rkufD1J5pF+xVmr3ougP8jE+4kZYNNQ3fDaXoUb4S2f3SijjL0nDrfUV0
e5UPmJXckzrLvTPdZmzbRPpdQHPxQcniAkBWeoS7RR9FPa1pNdBO/uJ9wo3JK/5yPMc994Wwlzf2
KsJkDnGZzHmv3aI+lBgXD/IAC6ZuLyw5fPvIVoGsgriABkPudb7e8n1ceVrDXs1hr4kc4vIyx312
iHSr0iRnxB/9pqh3I4ccrfnAzYe4gAZDTsDa3GPHpac17NUc9nouskfUeJrxHouVHtLFDOeE/aZW
inQr2wrzWtQnHgHwGbnq6IXl+7jytIa9msdeqkN63IR+p5i6HDsLatDftPva0HLjDaG/DQm7zqn/
5Re+0f+hLgDPuS7sL+F06WkNezWPvU6KdBEx1HBNwxmuv0w573aG8wbEH2M03nD1YfSjKMeJEoAs
qNvj/mDxPr56WsNefttL3U5gY8p8WQJlqhstZvEF3BP6t7qnzhbbL4F0pPxNNK/THWh8LuT84suK
r57WsJff9qLVaXJSP24fFenbR3mzRCK5KbIH8ezRCF2f0oNrt/0SbBdu93MBICszxNSlnjaXlfrs
aQ17+W2v43z9qzF5ZIy1YxmvrfrRpA3qqyt3GVbniosXQd16eBHqBfCQHjHV6XCTxXuV4WkNezWH
veYpIqCL1dXJokt55mS8dhY/GoIm/HXDf3IvrV0uXgRS9N/5hn9FvQCe8g1XyuvC7nYMrj2tYa/m
spdcOKBbXHCUjw3kuO7jDL+zXegn65eKqcFwO3I+SybkMrrPUSdAxXHpaQ2a015yj6W9/PHewX+j
+w7mvKYawT5uhImEfETo/XlkyBc5JEZhY6zvHSS9Ps/jXQUVx5WnNWhue23gRpyej/x8Topi0w4L
FSGNWiBBQTVpTidqwl/OCZH40LDYGRcGekdE7/UNQJVw4WkNYK889CkCQz0hGeyU5nco3hjt77Qi
5vy1XF4UT4wm+1tcPDR1pX4TWDEGgAtPawB75WWBqK00o7A6r7gXNso9kem+PvR3XPA78b6CCmPb
0xrAXpVDxgFCjDFQZWx7WgPYq3KQ45NckvwOigNUFNue1gD2qiRfsQH+F0UBKoxNT2sAe1USmix6
jd4LqDg2Pa0B7FVZ5MQ+LUt+C8UBKootT2sAe1WWuaI+93JN2A3dAIDP2PC0BrBXpdkq6isr5qI4
QIUx7WkNYK/K86mozb9AXAAAABhlXZD+hGIAAAAQxf8Djs6hfdC9yTsAAAAASUVORK5CYII=
The XML source code corresponding to the above example is:
<p>
<mathml>
<m:math
display
=
"block"
xmlns:m
=
"http://www.w3.org/1998/Math/MathML"
>
<m:row>
...
</m:mrow>
</m:math>
</mathml>
</p>
Notes:
For clarity, it is recommended to wrap
<mathml>
into the following equation elements:
<equation-inline>
,
<equation-block>
,
<equation-figure>
.
There is an option to number
<equation-figure>
elements having a
<title>
. Example:
Equation 8-1. Gauss's law in its differential form
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
<equation-block>
elements containing a empty
<equation-number>
are automatically numbered. Example:
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
(8-1)
The counter used to number to
<equation-figure>
elements having a
<title>
and the counter used to number
<equation-block>
elements containing an empty
<equation-number>
are different. Therefore mixing numbered
<equation-figure>
s and numbered
<equation-block>
s in the same DITA document may result in a hard to understand equation numbering.
Only the following screen formats may contain MathML: XHTML 5
, XHTML 5 Web Help
and EPUB 3
. Most modern web browsers (Firefox, Chrome) support XHTML 5 and XHTML 5 Web Help containing MathML. Very few EPUB readers (e.g. iBooks) support EPUB 3.
XSL-FO based formats(PDF, RTF, DOCX, etc) support MathML depending on the XSL-FO processor you use:
Apache FOP
requires you to download and install the the
JEuclid FOP plug-in
.
RenderX XEP
does not support MathML.
Antenna House Formatter
supports MathML as an option.
XMLmind XSL-FO Converter
supports MathML out of the box.
Audio
Use the
<object>
DITA element to add audio
to your DITA topics. Example:
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAB2HAAAdhwGP5fFlAAAC
I0lEQVR42u1XoVIDMRCtqKhAIBB8AgLBByAqEEy5HBXg+AAEAlGBqMhdmKnoRyAqkQyTBEQFAoGo
QFRUVCAQFRUIREXJ3iW9cqS53F1m6AxkJqK9y+7bfW93c5XK/8qx0DXd9wOKUcCfUcjGYn+KPfdD
9uYTNkAh7XiE1p06reN+1QvZuXA0BGeWW4DjLThbyvkR5rtxZAvD737IifjvEOG7LfXeKe5vQORe
SNuQjaX3hw38sFfIORgUBibS0Mgj/EREVLOiivAmnJFnpwC4iPOPmF96a+s4RV1N0NCTIGbWICDt
SeS0U5ZHAeJKZSKTDnCmOJeRV51UT5KJoTGbQkAXinPdi1CGiLBXyAwILx8dShO8ZUAalxoITgsQ
ekCi8Amk1zZLUphRiWrPRNHJUltlNAVgUWqCrjMbEKpEjwk70DzkJOaek5UG9ACiLZrVI8J8x1hd
ok9IcXd/ZiCgLxEAQ7mYACSb9xr4fttQ3uBjoON/HBlY6nDFAET7E6JMCxV+q9mhAzCDh0YO7QFI
Wmhb42eu9eMaAESpE5sJgCsKphB5E/c30+fNFJQXIWTwZpUAM0VYqgwD9pRVgtllWKQRQVsm3LPt
hsZGZNOK1WSThi7zDKvMVmwzjOAgGMoziHINo/Q4dnaZFeK0Gse/fiFZiytZxqXUdvZ7pS6la3Et
/ybMuDpGBT5MahWXC6KUGRjI2TFbZCb+NOtCk3F1mf0b6wv9Cjbc9hJ/3wAAAABJRU5ErkJggg==
audio.mp3 (audio/mpeg)
The XML source code corresponding to the above example is:
<p>
<object
data
=
"media/audio.mp3"
type
=
"audio/mpeg"
>
<param
name
=
"source"
value
=
"media/audio.ogg"
valuetype
=
"ref"
type
=
"audio/ogg"
/>
<param
name
=
"source"
value
=
"media/audio.m4a"
valuetype
=
"ref"
type
=
"audio/mp4"
/>
<param
name
=
"source"
value
=
"media/audio.wav"
valuetype
=
"ref"
type
=
"audio/wav"
/>
<param
name
=
"controls"
value
=
"true"
/>
</object>
</p>
Notes:
The
@data
and
@type
attributes are required. The value of the
@type
attribute must start with "
audio/
".
It is strongly recommended to specify
alternate audio files
as modern web browsers, while all supporting the HTML 5
<audio>
element, vary in their support of audio formats. This is done by adding
<param>
child elements to the
<object>
element. Such
<param>
elements must have a
name="source"
attribute, a
valuetype="ref"
attribute, a
@value
attribute referencing an audio file and preferably, a
@type
attribute specifying the media type of the audio file.
It is possible to add
<param>
elements corresponding to the attributes supported by the HTML 5 audio element (
<crossorigin>
,
<preload>
,
<autoplay>
,
<mediagroup>
,
<loop>
,
<muted>
,
<controls>
). In the above example, we have added a
<param>
element corresponding to the
@controls
HTML 5 attribute. Note that in the case of HTML 5
boolean
attributes (
<autoplay>
,
<loop>
,
<muted>
,
<controls>
), the
@value
attribute of a
<param>
is not significant. For example, in the case of the above example, you could have specified "
yes
", "
on
", "
1
", etc, instead of "
true
".
If the
<object>
element has a
<desc>
child element, then this
<desc>
element is used to generate fallback content in case audio is not supported. If the object element has no
<desc>
child element, then a simple fallback content is automatically generated by ditac. This automatic fallback content basically consists in a link allowing to download the audio file.
When ditac is used to generate an XSL-FO based format (PDF, RTF, etc), only the fallback content appears in the output file.
Lightweight DITA
has an
<audio>
element
, so there is no need to use an
<object>
element. The equivalent of the above
<object>
example would be:
<audio>
<media-controls
value
=
"true"
/>
<media-source
value
=
"media/audio.mp3"
/>
<media-source
value
=
"media/audio.ogg"
/>
<media-source
value
=
"media/audio.m4a"
/>
<media-source
value
=
"media/audio.wav"
/>
</audio>
Video
Use the
<object>
DITA element to add video
to your DITA topics. Example:
/9j/4AAQSkZJRgABAQEAeAB4AAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcG
BwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwM
DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAC0AUADASIA
AhEBAxEB/8QAHgAAAgICAwEBAAAAAAAAAAAABQYEBwMIAAIJAQr/xABAEAABAwIFAwIEBQMCBQME
AwABAgMEBREABhIhMQcTQSJRCBRhcQkjMoGRFUKhUrEWJGLB0TNy4QolQ4Ki8PH/xAAaAQACAwEB
AAAAAAAAAAAAAAADBAECBQAG/8QAKBEAAgIBBAICAgIDAQAAAAAAAAECEQMEEiExE0EFMhQiUWEV
I0Mz/9oADAMBAAIRAxEAPwCvKBV4tIqsJUhxSVMvpfFhq0JKSCr6mxOLVpvWaHCilxqWw6lK7AvR
1a9ttgCLXxQcWU7UnhOijusx2UaiTZKgAQbe/jGep1OdCozlQZ0PthxQLFtKkpB5JPi1sUTortNj
sr5zrNeiypkXNMqlR3nAoNMR0KSDYC+m108fvhezDl+r5Qbemw6yupomNrakNjdQSvVrATsNJufs
TiiJ3WCtU92L8slcNxVg2vv2aN97HxfE+F1RzzGdVI7iQy6SpwR5AS6pNv7D4ODpSlEso1yW2z1Y
zW/TUSImZpqGm/ylpVLSOyU7WsU7AC2IUTrvUZ0vtSupTMZYBJUmU0QCPB9Axr6vrtU6fmN+QQ12
nlXdiywp5Sl8FZUpN9R8ke2D9Lz7lyut2m0SlpU+SXnUNJUtW3Gr0m3/AIFsSpSjxRar5H3OfX+P
XYDlPnZwrNbGtK0xozaVJcUOPUkD/fDDQfixaodGapNSo04yYqNAW08hSNI3FyQDcC18VfGkZPYe
R2G3YJNgHGHCS3/7Rp/3OM8dnL+YZKu7VZqHVN2S4phtLazbyB6r+Cf84mOT+UVcAx1C62t5witJ
p8GX85HkokN3dQSQk3UBtzbDHmPrIzSmXmYzjpkx2w686jSqylC4QhJ/U5c8eMVc1lhdEzM1O+fp
5QgHtIYc1KUu1k6gbWvf3xC6gdJKvNbZXTK9AlPsHWkLkgONLKgSUDfUfcg32GLNxbSYdS/VKi48
k9V6dT8ivOmlVV2oalLeKyhMhxzkBZO9/wDGB9U69UrO/T+bTaxluosT5sV1Lja3ELjtqsdJJI1H
gHYc+cUVmfNWZsuvxI1QkITIiostZuRJ/wConfV/JwUpGYajUMvv1aQ226HVmOltsWLhCbk2O9t8
FfjrgBtrkgZRqC5GWURUpdkxnElLYHp9Fv038WwdodWT08jiQ8qPJfQE9mKHgXlLuCkq9JCUXA3O
+3GK/iVtzLPTYzEpWtS3ngy0g7IIXp3+2+JWW3W4jIfqCn0iS42tbqbrcSs8nc+Ei9vYYRm6bSLr
otygN5ezRKZnTak9CQlXZUx+V3VIG5CALbAnkj64x9Rc6ZYe7SKc3KqZZSpuJInKT3IzaVHVuDYg
ngD/ABijq3XHcrVuoRZtXYWGnSGtDhXdC7KSpPg+nYg73xEzHnVx5cZpLqBqitLs1YA6r77bcePe
+K4NHKT3biS4UZqpdJfCX5sRTmykQpKn2C4pVzcEIKbC3OqxtbHaq55gZgcFPmU2kBhQ/VGeIWnb
9WsA3+xAxT+XszNV1tumVBQISrVDkKNzFcJ4Pu2beoeL38YszoR0NGes1SlVdMpmFTH+1LW+NJcU
nctosdhYhV/9JBw1PCk6bCRe3ssXJ1Oo+QMgyatUH5DcGWtDMSXIjJDMdawQ0FBLgUtNwSbAmySb
WxQcrJVUjTZjlUqNOZQh1TaZAd7jctX+psJBJSb3CrWtydjhy+MHq1AzPVIVDoMu9IoLmydRDDzo
SEAoT50JBSFedSvBxSiK8hty6tSVC4Okabfx4/8AOIhj9pESlY2TJsWiqUxHlyanLWQEakhmPHFr
307lR+9h9DjkbM/9EpaGH3G3HG7jui9iSefoMV/VsxCG322nVgOnfyU+/wDOIz9UeEE/nBaVGwUR
vhhwdWVTosxOYWJaGxMJujYBC7AAjkYGz82vRWpRaWXoyULUpCzq0ot7YQ0y5cZSfmFuOJCQRyoA
HjH2oSZDMZbgKkIXtsobg+4ve2L4YJS5Ib9h6hV9lqlvtrRBdUhJSnutkOpBvcJJ5/8AF8F42YKj
m2E5UFIp64NNWlK2kNpZW2dICQm+5G2+EJlmZI//ACocc0FxTaSCogf2299uOcTxneVJoKILSUNN
ME3AaCVuKPOpXn/4w05JOiE2+i2+lTsWS382YOmRGsnvpWEpAXq32JCgLbhQwcGYqtHqMhqlsqny
XrdtDcptkJ3sP1EA7+xGKz6fZ9eMBuhuRGnBKcT3XU/raFiLk3t5wTpfUg5droiCeISI2ptDzKFB
55ZuEhJTupWM7VQcpcGbqU5SHmpdcagijvv5gy/UIjEZtZW/KiqGrSdJFiTuLjY2wMyf1ZcWsidE
mLaZ7i0IfiBDhUBcFFr3sm17jYD64r6JnF3M1bdbqztRqEZsKU6qXIU8pChY20kWuQkc+3OJtX6r
MUmhSYyYxbZUm6gWwwl1xQNrNja1vI8/XCig06F9tIset9TkVvK7klFNWmNG1/NNa0hEhtSAlI1W
1Bza52thZy51OKoIkyZjUeTBQlLDLTY0KaO5QUn3PJP1xQcTPVVpjrul2WGAlS9G5BVxcD3scHU1
9xqlsyQwy083pcdcKrqtv6QP98NrAyyxtou2H17l1F19MSDDjRlrWHWe6hpToVeyQbEW3G3+cKta
zJmnNFIkRp3y0mksk91oFJLO+w1DZRxAyfntqUlUl2HSqglTSg0h+G2pAUTsq23+b/bA+qttVmsL
nyqPR5KFtdpuLSyYjalD+5Q2BP2wxjhSNXSfrwMcrMUNWb6aqh0Z1a4MNbRRdtwr9TZuADYAaVc+
+GPNnTXPaMnvzatlyqM0JRDt2UBTaSeL6f0+cVU3AiwasxFgUYtPuH85tqVqDoKSb6grYj2Htiwq
WpTuQXafTq9KcVDu7JYMxxx2M7YgAtn0lJNtrHDG00d4OyrRaPldhysLXNp0mnN90MSErAlnUBZs
f3Wvfb2xJy91ZWuiVAiLOccnPFbkptfZUm/6bkm1hbixBx1z3Ss20CO3UJ0mdJS8lLbMlpxkNklF
9kpSCk6QR9sfMqNQazQ0Q63OrlOYLYb7zc0Fsk3IBSCdIt4tbA3Giy4Q59M67KzO4tEhuK3pirT2
ESe/317gLV4SNxtinoTismVx1kxmi6HClYUkG5B9rY2N6E5Wn9Kx3GG2JVIqCCkOvyElU5F90qLi
QNI9gbbYWc51PLL1XedkZfhP1REx9x4NJ/L06vRoUDum3g8YGppMjpDezkOVCWFRApLTym7kuBLj
ABIWBc6T4Njb6YNTMp/P1OluqdXM0BwSgpy6QSLfp1Ag3t7gYahBXGeafSlt5tBKkhtQP0NxyL38
4hGksIkKfTHQFLJ9ZXYpv98YP5MDBWsT6ESoZIl1d6S0oSIgiBK2nShH5lrEKIJCfG4vfnbAU9Mp
sBaXW3I0orFy6pG6RbgpVtf/ABi2wyp9nsBptKQb2SNlH3Pi+Oz+XHtZUtBSwU8pwSPyKjwi/wCb
FLkUsv0001pv5uOxNeKQktpShFueNrb7cna2DbtIy/UYqu9H7CybdtLWk/ym1x+/7YmvU1CmrISl
s8A2vfGKPldLj93pBQn3Sm5Jxz+Qj2yn5ysjtNQYkdLcZIbCBYBab2+m5/74xynI4KS833LD+1tO
2CBy0zJcKUurAFzvb/OOScqLQ6lluy1kC5SrHL5CD7LLV30BZNRpEi5+SS84DbQpCQTgfNyvSJKS
5Gi1SmSUXWlyLKuOOChV0kfS2GVWRX0Xc+XIJO5tjM1l12Mg7uLQsXKEG1z/ABjo6yD6J/J3Fa5k
pLlY1NTW/mI5PcQ460gFBtvxsD9sRcvZmbq+XZcOCptKG2VR0BQSFC9vUCm1rgeMPeaMoNV2jvRW
0vokJIcB3JTpPm44wDyf03i0lyGW2mgmQol0JTaxHi+LrMw8ZWI+XqBaF8pKkNPORnVFxCEkJufU
q2rza+/G2Gyu5FertAbkPK7UULsENMpulQtf1EX2Hke5wS6jUpNGr8TS2ksyUaSSk3SArx9d/wDO
PlTqM5GXHY7bYVFA19wq2BF7KULbgC5Nt7X9sRGW7svF2UH1p6Vz2c2TJ8dLb1Od0Fuyv0WQBuP2
wMj5dqD+V4SmQy3KhOuMuMaNLq2FhKk6DwbKSv6+r742WpWT4VfbSxOSFrbKRoKh2glQOlRNtuD5
IsR9cD09JnKtOktfKqSmMsBtaHQEuD6DfbBI6vZ+pPkoobpp01q/UrObdHh6WflB3pL6iElpu4Cr
FRAUbkC2/vbF+dY89O5Lyc5kWgy2lVb5XvqW4hBeLaNSXUIc5LigOFcBJtvYYPZL6eQ+nFBnyo8N
cl2pK0JCm93nEnSkaeTY34tz9reg34OP4Y8GNHk9TepGWpDk+YzKhUmnVeKChbDyh3HXGnBcklJC
Li2lRNzcWn8uMy7lfR4lpnfNxB84kNrbuAm3qviR016BZ/68yZEfImSM451djf8Arf0SjSagGTfY
LU0hSUE+yiOMe/GU/wADD4Zum3VmXmaq057MDbstcmnUGbN/+3wwTfQWkWU+EkkfmqKdJAUlRBUd
1ci5YoeUstx6dl2mU2i0qMLMQ6fHRGjMj2S2gBI/YYZjmkoWlwVUldH5V+p34b/xBdKqR/Vsx9Ge
pUGntpClyBQnpLbQ93CylYQN/wC62Koixn2FFiQ2ptyOtSVNOI0rQryCDuD98fsZCDY2JJ+hxUvX
T4GekHxN1aJUc89P8tV6pwV9xqa9FDcq9rWU6jSpaf8ApUSn6YutY6po5SV8n5i/hw+HrNnxPdRI
eVskZdnVypSXA2pLSF9pm97KcctpbTYE3UR+k49Cuk3/ANN5nCfKWnP+ccuZahrGrt09K5shKgLi
9wlvn/qVx5vj2O6Z/DvkzonlxVJydlujZZpzh1OMwo4aDvP6iN1cnknnHat5DgyVrQ4zT3UH+xwL
F/4P/bC88030HxvG+zTzon+Cd0E6GUCFJTlFWdczRrLNRqD7jalqSCNSW21BA54uSeMKPUr8Ef4b
+qeZp1XqlEzDlKZVHlvOsUuWpuMHFG6lBtSVhBJPCSB7AY3apEWPlNK4raXmwCCGHCShF/8ASfIx
NcgRq4QXzHSEm/qG5PtgO7I3bY1GcIqkjyu6l/8A0xVCKpE/pf1JrCn0NLcFNzAxHcS6SLtobebQ
NIvYErSTY7KGPKj4iPh+z18OfVCVlnOWVpmXa7R3UuusyElIQhZsh4EbLQoXIINj+xx+rKhvU6hu
LQkMqXpCSUt6SB4xVvxjfA10z+Pnp1IpGc6Q3IqrMZxmk1ho9ubTXFJISpC/7gFG+ld07nbzhiO5
fYRzKEnwj8sjtflZWrzztOluMuNn8wmOCJHvYG4v9LYXKxW6hWpTjb8mS4jWFqChuObX+18W/wDF
38MNZ+FHrJX8hZoVIYruXZRRrLRSiU1y28g2sULRY7e+KrpgqcxJZX2nWBck6PX9N8MRkl2Kyw/0
Y5dfny4bUUaXEt7lwoso/TYYwtU5c13VIbfeDSb+s+n/AOcF4MqnwpVpaHVBNtSQCCr6bcYMwZmW
6u4hVpUVKTYuNjurQPcgnjBVJP2QoJcUY8sVmmxG40CXSH6ghKiY/wAnODTrylG4CrpUBbcbAH3w
Xnls5qWo0VvLUFDKkFgTVzXiog2JKj582G2OkTLrExmLIp7ndbeSUEq0oUgXOm++xItuPJ8YH1bp
u/DlpeiU+pTpaXEFSEhbyim+5ATfYDzgkZxS5Dw4OsWsGn5hiyIzPyaUoskxxYL25JN/V/8AGDFI
lZdCalIOY1Q6g4dCWyl4vSL8p3SUnfknCuzlSqNqlPT4tUgNIWUsIkMrZCrHxqAv+2MtBiLiKdn9
9QkISr0rTcJF7c/T/vifKg7bXZYFbmzpNFgNOVmsVMOoSzGivMoQ2hZQU3GixNiQAo72PGDWa4Ej
KpjyqvFkzKUylthXaabZWlwo4sSAoXB3xUNGzNIzRMTDXJLnbBIP6UtqvzccYaabkWdIiB5NVekp
C/WlxZdSgAE6vfa1v3xM5xjzIu88aLgyYVOw0zKjDgMR2mFKjsSFaFoRubgpJ0knxfEql9J3lssK
foLMgFHdLwdQ+9vuCnT6kg38nCBUalV6Gw/CemQ59OUhLQcEc63UmxNlXI24/bEWodRhVZjbFLmz
46CPzkdst6T9FJVun74Unli+iXkVG4C3Y0V8peDiFLVa6XdYH/jH2XEaKkpbUtXc4IwUdy9CdjID
CVSFuceghKL/AEJuf2xj7JgylRilOvR6Rq3Kf9QHt9jfHkt55nxSXoECjiEpBDryjcKKFeoDfyBy
MTZc+RNU6FOyH3HVBSgEefb7fbBqnUe8dx1l2w1gDW2oFfFwOAPPvjtOoS2ak3Ik/P8AaQgKUdFo
49iTziHNkrDJ+gEptKWgt1p0uJFgn9O+MLjz8hZCmFgAXB1lROD7Et3urVDpMd5AG60O6ir2HrsA
ftfEXL2Zqy/MmMyI/wAiwhSVIHd1hy+w9KU7e3O3v4NWpNFo4HdUYaRSnZD6HS8GwjlBRz98ZqlT
HnKjqS+0E8FISBb+MF3I1QiPnt9nu6wVLQFr1A+1k3sP5xMnoq9XfbjvPd1LaQpBWtSUnzsTpt98
CbDPAl6ACaaUuLb735g2UCojSfrbjHZdEkyn0IVJktg7X1XT/jDAuQag42+7GhwgLn5ZoJS22b2s
lIJ2sOecfHkMPNJcZYEx0eoNsg2CCbEqPjxiym/ReOFv+hMq2THzT3JDU1SHAe3dBKzf7Xws5Vpy
otKZUHFTVokhK3HUhNgf7eb7Xvi4qvS55ciARYDDTaSp1iSUhxsjgAhJBVzyf3OKjqLD1Iq06CtI
ZLElSgoC5sSCnb2tbD2lk2/2Y5CKRB66xVRzR1a0D/1AlJsCsahgFFXDnR23XVuoZSg6wne1gbjT
5uLj98N3X/J6c4dNKJmQOKjuxniyptlOrTf03ufqL4ruG+uPRmWQVkN31rXa6r7jfz9sOaebdr2E
ioosnpS+mXS5Tjcd5b2osrWGbqUlO4NhxscH5Xcdj3Qw84rUNLaWyVrPsBa5wrdHaxITMmsLYfcd
7TBbMZGv9Sd9RNgLf98XX0LzfSOknXbKFezHCUqnx6g045HkLQoKKVj177JSm5NtzsLAnC2WX+6g
bgnKjYr4A/g2qWUczt9Q+pVGXRqRQ2Uv0eBNZSmVPkKN0qDSzqSkcgqTvce18bodIPiJX1Yr0hl9
EeCv1Ibabc1uE2O9/pjWz4uOpDiurDkw1ISqa6gPxXULCmXWFAqbI8fpIH3wF+GfNgpvVenS1yC0
l17UtSTa6ebbeCMAlP8AakbeDSQUbsdPhoqNWzZnmuP1HUEJqjyGEncpRexJJ9zf+MbaIzK/QcuF
5wIQy3sFE2CQMak9IKhIpc+qCEsILMkr5vq1er/vjWn8Xf40PiAyBRIMLItMebyu+2W5M2n6npTb
m4uWwNhx5Ix6bRJvTqLVmTqsS8zrg9C8kfGhQc7Z2n0GDKbXOpgSXQoFIWFXsU+42N8P8TqxHQ6r
ugCx5vbHjH+EbnPqP1HzZGl5qZqKphlONh19gtLdABuSD4F+ffHp/m7KUqvZfeRCddExTBSgA7FV
tv8AOCTwpegW30W5nfqomlZHfrdOWl5umOIMpoG90KIB38Wve++GGQ42GxJRcF5AUQrzsNreDjyv
+Fbrj13qnxr5kodZokmk9MqbQ30VJExrZ98+lkoV5VrKbgi1r49NUZkaqcC+pOlaLp33SeMJz2qX
9DOLHxdmDMjzUZlRsFW3GrfCQ9msGULJQ2QrkXwTzFXkzoym0+l1ANjzqxVTtYdjLdCyVO69IB/f
AnNXSCU/ZYNRzk0y+24ly6lgpV9becTqXmxUp7stuKSTsFYq+NMIe2X6gUp9Xv5wyxswtxJIW4lS
SBqBt4w3DkBNUVb+IL+G50h+NJmBNzxHlU/NTaPkIFehKs82ACpLTrZOh5ACiRfSoeqyvGPKH4of
wcq78I1fM6QKZVMrSHe1T6uw4sxnVWvZaeW12/tV54vj2M+InMi6h06ZfZdS2pEhCkLVYlJ3334O
KE6qdQ4/VXJVTyrLWl6FOYDDoNjqcCfS4B4IXuDhHW6lQ4iHhppZMe6J5G5g+FqcXgQ/TJhlpDpX
HX3EbpPoOpIIIva3g3H1wksfDGhc+8iI1HjoN3jqsqx9gAd9j9MbczsjLpipEOawtl8EtPJSrSQo
bE3wOlZVVL7bDKVJKb6UD1IA/nb9sZK+TyJmU1ki6bNY5nR1+muzXIciS1GYUREacQPzW77XKfSk
29r74yUSJmKndtMeTPYjsJIQy2E6Ab/3beoX8E42Kk0eS04WTBbKt7efP/VgcvKhnIV3YjTaiTu4
gWP2sMGXysv4KSnlTtFU0SZVGIbKqk2itojyDJbhTHg+wlfgJbUopT/Fj7Y51BjU/qO0iSMk5Zy9
OCNCnaawY61bDdaEkIV+4OLH/wCC4NLeUXYzLy3U6kquBpP0x2Vl1qQwgRkJdUoesggkYt/kplln
yvsqyjZFSiHEp/aW4hvdGqyG20JNwPSL6b+5PIwfgZLNciTUpoT0SRJATHCZCO0kggE6k/q1ex98
WZR1f8MwHmWojSkyUpS+laQoPJCgbWPG+9xY7YHv0pxDtkOKQy6CVMkXBUVXBBv7bWtbBJfIWuSy
y7qKiPT2otdptcV4Ms/lOJUhIUlYUbAb3tbm/tjrU8kuSlRlfJG76ijUiMSpJHAuB5xbrNGcW6Vr
UpBQd1bgc7cYnLkobeYbYlOtN8qUASfsD7n3+mB/5BVQwpvosylxYsRpKl9ubMbIKA2Vto0m19Vx
yk+4GCFJRHryHIz76IrKQQy/HebKifsDYnxuoe+I0HLE2Z8rKLNQksL1JfaDq0htVrhWpJNv5HG+
BjuX4cmc687XW6Shr1LClBLfc0AaEuKWElZ1X0L1XAJ2tjNTi/YCUQ5U6G67EQxLrEt+Kybpbjwl
PtpT/pUon9V/9OIUrJVPkx0aY6n5KSFd51bg073A0fpHOJ2WKDTKXEkNu1Os1GUhJOqStKWgDulS
FIsCRsNIQdXNxfGNyDUnq0gSGJEtpQC0pTCkpU4kCwHpGje/BIPnxis50+CsU7oyChxWEpIc7Eko
s8kvNlB9jvwftiXFnM5Yk64zTktwG+t10BBAsf4xDqNHmxZiGl0R9TYPcU2F+lKbm19Vv4NybbHH
JVFbzG04lqkIkuIIQXHpJatwRbQdVhbgbYFkzbVaCKJlldUETczKflqS3JL2pTbf/MFzX6gBYAJA
G198TUR4lWnl35goUEBSUrbNgPA1Xx9bpUONHE2qRae12zoY7TupRNgjjddr77nxj5Eipq87XGlw
nm0LCyhxkKQ3bfSrT5uPPI5xny1L30XUbID1KCZAdU66sq30pOgH+MFmqWv+nMlgyil5YbClulKU
i/Frja/lWF7NWYGsrPiSHJ0yXHc9bUeGu255Nr7AX3Owt4wUpecJFay8vVLcajrSUrZS+hQj+SSr
SSFYZcpy+p0cTkFI0plVJW0ZBR29ag6ylbpsm5tdKTfbxyeADimutIS1mGNPacXpmtgOFTRaJUhA
GkpUAQbW2IB23w81vqblPJNGWiqTJ7aFpA7okdtVydv0gXF/cYT+q/UOl5syo8mNIdW3AmNv2U0U
I0qSpJIsST6bC+3Axo6PFljJSYx4aXIGzX1LVJ6AzKMVSQ4zKiPtKQqzO6jqKh/q5+xP3xXERmSu
ntJ0KbQ4Td0rToNxyfO3O2AmYep6875HrDNMi6W6M81JWla9Li7KAXYDdQ3JucY8oVpTUSLMemJf
jlJ7sYoH5dlfpvzuAOMeix4drcgdUy3vh4rr03P0hruKbRIiqQhDelRTYi6rptfYDf64euodcT80
zHcLckQm1pBdO4Uv0/8AzY+cUr0TzoiF1Acd+VZfYEVx3tFALjayfRZV9tvH0w8wJblfzup5aHXY
8I96Um4Kzf8ARe/Nj/jCOowf7PKjnG3ZvN8OmSZvxXfDvOylAQXaxkKDHdirdASt9srUO0SPAsbA
+2IWQqdVqPOqUaZFkU+oUo9h1p1JSttweN/pY4sz8GCWygdRJzSy4Fpgx9Tl/UbuqI/2xbX4gWTJ
VGrsPM9IpipbUyOGqs42g3aUkflrV9Sk2/bCywuSczS0mod7JFHdGOoZoXUao02a8juPx2pA1KAI
9S0/9sWS7QXM81FLsVbbjQ9JGkEKH1vjS6p5wkwOrM2qNqLXcaS02Cb2Sm9v9zjbP4c87zM25Gjo
SgB1ZKFKQLHV4v8Atvja+N1qlFQE/kcVT3Fr5L6YU7IDMZcCIhL1vzFott9MOkXOdPy9UWEyZLbD
zguhCkquoDnxbEHK6JGVaAtyY2XGUI1KWrn3x5j/AB1/ip1Lp31vl0gSf6BTKVdxEgthZkEKKbJK
h4tuPe+NyMWxFSb4R6U/FBnKjUTorGzXTH0aKnVYVM1IbP5jrkplFiAL7JC+cN2a45yRFgxw4taU
RUDWq11KtuT+5x5SfC7+Mnl/OufaFkatzXs0UvqHVIlFVC+U7oaeeeDTbyAAO26hxaSFDyBtj1B+
IGZIoHTSkOyyfnWYjbL31c0p1f8A8r4xNdpnGTkmaGF1UWC6hmIty7JP6vF8A8yS2adBcmPlKQ3d
YB8ke2AeVqo5Upza3FA2F+dsAOuFcen1GNSo6+21pWt5y36jYAJH+cK4eVuYTM6lwQcj9RJ2YMzS
nFMJXHaIW2gEC31JxatNmKqkQuuNoSbW28YpjLtLYp8IONSR8ymxQlJsVW9/cYs7KNVcqdDS0olT
iQdRHvh3An7Fsjsp34w+rNHy7Gy9lmpplkVd9bqHGXu18uApKbqHCkm583HNjjXjqdTXulmd4zkR
6R8pJYTIbLqwoqvyL/fBH4/8wRKp10bpMie2DTYLSTHISoWcuo/W52P8YU80Z+ouZstUWlvQpbXy
gDT0r5tbylIOxAStR0+TZO3sMee+UyrzbYml8dqowW2XQq9U8yxZ1Zi1lLTstOYWy9qGqzLiQEqS
o29rH63wsNPx5yHHFUeUhYSQ0sOJAWu2xvv6b82GO1bUxT1zKbEeQac3KU+yXEq2SQBpSP1WAA3I
58Y7xAtuOhkIDigNYbQShYvx6VIBsffCcYpq2ZueMZZHJESbFbUEGcyymY6Buwdgq2/O2MkVUF0d
p15t6S1YBtxRa/z+k7exJxnl09dYgJdYTMgS1Wv81EUtCPsUjfx7YIIyi49ADTrqJcooBLzQUyL/
AGx21J0gfjQD/wCERUJbYDzbyHEr0vabhkAmwF/oR/OBcXJrkN9bQdcKW76VOLT6/wCBxg6ctqp4
9LitQV+hTygkq25Hnxtj7DpcxU9Ti1J0AXUApKkp/jf+cGhwQsaQsORHvnUtuNFvwSm6h9yfGM8p
pEBv/mbLv+kqGw/fjDi4UTRJchx5ii2kJCFJKULV7pUf1j7e+BczLUtEcvKadcTuPUj0HcXBB5tf
EbUU8SuxabprkhZS2826g76Qef3x8l0UwHQUqQlB2CCsc+cNMGjSJ7OlmI3qQjXZX5Qt/wBJ4OBy
2HGlrVIZa0WKQe5rSfoAnf8AzgcsUe0FjjRbkOPRaZRJIqzst6OEbuw3E6So2sq5Bta3BB54xWuc
s8UhVIRMbjOTKTT3lsd1xSZzxUSNabBBCVWIvpSPbxfFg0rp6DlubT63EiT2peh4uBDjvyjSRpUV
oFgsq1bKNsR1uZZ6Z0hqPTIceoU5pJV2hHWFi5N1aUC6Dc77cD9R5xmYeyGqErLHVx5chdLodKnL
mNnva9Su28gm4Og2CSAQCq24wbl5krUZtiVJQkOPtnuNl86YygRdBPFwPPjGDMlVjKcjIj0+oUNq
YvtCalwHUQbBtKjdXNwPT+4xCruSEUfL6NFRr02coFLwlytLbZ7nltKrFJSdPqAN03N74Ooxb5Cx
xe7I0rqo65V5UVVYcceVqCWISXHA2Qb6VrUjTb6hRB8YYU9TDXpAQ/Ro6J5R/UWlvvKRMabCi3cp
PpsFXUnc3SRxiHlrKb8Smx1Sly4UlQulwS0ksqG5IAuj2/t8HnBam5QqjVFnvwqvTajVVH82bV2k
vLVa5JU6QFOKF7avba+wwxjeBrnsJGHog0fNi0sRmAzMVInurKl2bKUjc6zpINv53/jBCpVDuwX0
RaoiLHQotuyILBdLavIIJUEn3uNr72xHpNFzBRadMfbjUmoy1Jv823IEdtSTvsNIJG1gCog3GBE3
I9JzdPYjZhpseoyWz3GYzQLaYpvuL3IIB2G3jYbDHKWBO6sE5U6Jr+XFRXgtx6q1H5NQU45JcS22
2k2sklVki+rYfXjEeTlKa1W1yosOnJhuJJkiQUl1afAHbvewNvVtthnoT0L+vITE1MqaaDYbuTYK
NgTwDweRz7Ykz40yGuWtM2Q9BCCt9SudI/0oTuo28jFZ6/Hj9JloZtvoX6qwxIlQI8iiw2Y7bYbc
ddYW4hOu9glxK0t3Gk3SU32wL6jZdpcrL1SgNvIeRJYU27oUtws6U+hJ1X8gfpO2wuOMMFOnwanT
mn0uNOQZCAkJWvRqP9t0GxChf9rnEGpSTUnlw5UqmQoSEqUHk61L1aFBabkWCgLKBubkEYHH5STa
o6Wa3dGpFVTTqLQaixHYRGdlR3GVrQAAokeb73uMVzlHO4f6fhsz0ty1O9tTA5Wd97eRYY51Qq8q
gTqrAeIeRqUlqSTdTqb+kn2JBFxhDy/AKVNOtt3dQTe+4AOPY4JN4VN+wbl7Ldy7nc0MPKakpS6s
BDrhARa/H0Fsbf5UlZfyfkmHDS+p0zAlyQ+HFWeURfWdxcD2N7XGNDun0huo9Q6bGmstqimQ3qaQ
m3fGq51AXvj0BomZZj4iO0+HAmpaOpQRJWyuNfYbW3+x228YyPktTHHUG+y0J0zcf8LCpM5eo+eW
u+stNIhOtC6e3pUtwahYC3I/nGzHVjqSxW1TKW6sPt1eL8uEBVrKCPT/AJtjSP4MK4/T8+V2jfPz
HHq7TO52lrugOMK7gAH1BX/GL1XCcnJYfedcbkQ3g8pVrjSLA47QZFkxNoiOVeTg1l6gdPFRHHEP
WTIQopUANwb4sz4Q+tzXSRl+BUigxZDqVJcVyiwt/tgv8UeSXaBnx+YpCW49RbQ8hKdjcoFyfuca
91KkSHJz0GMrV3zovubXGA6fU+DKaeXT+XGbm9feu4m5KdVTXkOIUjUSheoWI2v9LY8X/wARKrqz
rXmafJZQ6pZW+2W0+tlSje29za5ON/On3TKp5npBpP8AUpi22WijtIWdSrA7YG178M/Lmc6sJdQr
9UbURd1DLabqJ5uTv9Ocepw/NY3GqMhaSUWaX/gadGYcP8QPIFXr0RcxNKqIlQWFIHZS8lJKHleS
UH1JH+oA+MfoH6iyIWdsjVlElpLywl1cdav/AMRF9J/+Mao9Avg26bdIaZQplCobUep0PUW5ilXd
cKv1FZHPOw8Ytzrz1YOSPh6l1mOgyn3JHyLTYVYqWQTufbFMueOaNoK4tO2V/mLqVA6U0h2VNfCQ
wjYeScUXW/iidzDm5hu2lp9eq9twk+5+2KSzB1ErHVfOgVWH1dmI76IyTZCBfg++JfWDs9NOpdQi
yoNQqMWSwl2GYybJbDgOnXYpOpKha24IAxmTzSirSLuJtbkbPELMchbkdLfciL0JUR+sWxeHS5pg
S0s7JEgXO/kjGkPwxZ+U7KRHV6Lmw1ixtfyPf6Y23yBmZKavEb7mlxNt/B84Ppcu/kpOFGpX4ib8
CP8AFnV2BMixGmIMRtxRsVlwNAna3HG+KafzLDiNOOuSIoVIFkqVpWbW5R9/Bttvh7+MPMC8wfEh
naolPeEuZ2lpUAEKQ2hKNv3TivKWhc9ub3aRTVMOt2U6lXcdeFv0jjSkc7HHldZJPPJo6JkU3Ap9
DTLfjKSGiVkunSSm309hiAIsWXVlrTHajvKAdK/lrggbD1AWuPr97YF5lTTcyOQ3KnDlSjCWVRGa
e+tDYVoslSipYTYD31YyRM2RaMGZMlKIgW0r5pmQjvdk3si7iCQUEe6eSPviMcL5LNWHznVilxVJ
VJK0rAFy4Rc+dtydrYgScxTqvJW1HhVPQ3a36C1IHkptuLW84wNR0vuByCiLH0uIIWhIdV4VcnUA
NvptjDSMwiMTFqcXRrT3WlwV3WFINxcKASB/+1/p5wbDfJG0MTKbBlsrZbp65Lim0qc1rKVI34Av
vvbc+/GBjlXapKQ3GjFhZuHVJ2SD7Ab3xNk5jZl06QujuuPjRzKLWhse+ltSib8fqwMrNXqQpilI
NLRN2DAKXUN+T6in1WvxY7XOGPFKrCQx2HqfWFrgMORwtSFHQpSE3UlQ8jf/ALYGrlJpVSkJmTG1
bhTan5IIsRv/AP4cdYUYy4ALseMXSSFoQ6opt/7gb29r2OINXyRl95cdxUJhhxCiqy0XBH2JF/5O
KuLj2SlQX/45K3lBqdGlNoRoCWHQst3+l/8AbEZdKak2QmVJioWkrK0J9QtcnYgg/wCMQZ+So+Xd
Igx6RHYlK1lZSWFAEcEWN/vjKKQyZSm23mC+lvQpTThUNN+N9v8AGIb4KvsuydSqfmAKhwJ8Snuh
shyQ802I0kHlsFS0kG9t1HQLcYQ28gsSc/xYtVn06Y+g3iRmz2nmVq/1KQotqGpI9SSU8m9t8DqR
nCn16S+E1BFS75QtSWkWRcnzYC1xvwBYYL0WsVCK6+w98oimNIKErDqWFEkmyQABrGm91ckgHGVi
w5INoXbsNZypUvLNUMaHTH20pbSsyFuDWtZF/wC5RWvfiw0j38YU5nUGPWKeGZcVPeQ8VBUynE95
YVa6CoatiebaR423JyJTZWbIklDNXqSYEdw6ErQpXZKRq0tqVsALXOkD3JvjHVJ5cQqI9Tn5D8gF
Tjz2keseVqA5JAOke2KrU1Jxkg6nxSPlOzAtqDJUikJlI/Q0oJ1l5JPJNtk/7YzTIzK0Fx2koSEo
Qm7MhTRQVjZXpSpOlKrAg+/IxCmVSr0yqoiQk1BTLJJQ4lwpjFA3IKbaVEm3ICSOeMDMy5gqrkeD
JW8pttlQOkutFLlrlN9Fxp99vbC2XPGNygiHlceBxp5eruqM3UItNUG1KR60voXpP6TdOpKbbkk7
W5xDp+UlzvmF1WusVRt4gMi61lBuNylxRRzfgcYT19UU0RbheloprxPadZaSGw5qudKgALgg/wAY
GR67VK1UVhmO4ptN1bLSAkE7bc2+/wDGEvycj6E5Z3fRZs+kMdmwkMXibPNd5KFFFiNQAIVsbW2A
53wMcp9MjOLWGYS16VIXIaUStI9wvVb77DCtV4lUlz0KFHhtIj3Sl2RIT3WybnUkWKgOLkYJDLtN
/o7EZxqTH77igDHeccs4QDb1A3H3vxiYttVIhTbVIyVNvLEyYpiz011shxZbOne99ZKha59xvhI6
n9WosHKFWptMhmc63DcWG3G1rQm5A3VbncceSMFl9ME5bqr7S5T7rKlWUWjrW8oE+oEJFhawtfAb
M7q2Jb8GEzIZS3Y/MOkIDRJ4soe/3xVR2zU0VTn6NHM6w5/9RW5LQ/2nyVthYNlHUeAfsf4xPyrS
E1KQlhLSwhRSq4On2uPsd8bJ1jIkioJeYqDkWYqQsOttqaQpOsXOo2A9ziu650tqNLzpGLNUlRVT
NLTMWNGCm1r3ICx4Chxj2Om+W34ljRZTdcg6lZIby7UqfmSkslDsCa2Ho6ll0oFxpUPce9sbS0Hq
HDj0WTJhstyG3UFLr0ZRIJHIO3i+Kcyvlh2HS4UOU0pqdU19x5DzqGQ2oKI0pGpK1G3+k3F9yMWO
9lRvKRjVKlTYnzSG7uxFVIPabgi3bA3FidlAkX5xj6z/AHNKb6LNNpF4fCh1IgVD4hMlLgvBMpqo
x2tLwUm7a1hCt/7rpUoW+uPSjrlkNvIdbM5htH9PvZxKTyjUNrfYHHkH0x60u5EzlRcwPMtJcpk1
mStDccFRU2oK0DY7EX+tvOPVLOHX2L1YyhR6swruUfMUNudHXoI9K+Rv7EEH7Y2fg1CEZQRaEEmU
n8bGeV5izemQAGWA2C2nRbSj+3f7Y13yzmls155bS+4tvfY8fW+Nq/jFy/DqNU1xW0fL/KtOCwHp
GlP/AHxR2RujTK66pSgEhQupNrWwvqcb8pvYMiUSy+k1AOUKexXXdYnPg9oEjSL83HnDxEDdRYU+
vQlxzc2GwP2wm1jqDTadBZhuvsIZjq06ibD64l0DqVl6qU5xUKoRpJauC2lyyrg/XDWFbeGAy5E1
wPeRFSKTXAJa1SITp9SEG233wN/EDqTLXw0wmGUPx4Kq004XWmUrLSQ2u6iFAi2wvsf84P8ATmp0
+pBpxLoW2bEg8gfXCV+J3m+BTuiuXYTiAtwVL5qCGlqbK1hpaTcjZIupI3BG/F8auP8AXG2I5H+x
p4iKw7T6fUI4bdW8XGHn2gpLbriFgggK3FgoD9uBbHfrtWatmqYhp5wJYTTGm3WkGyyBr9Q9CtSh
6bC42J52w/UPJyn8nZeaeaKXH2FTFIWPUguqChfbnSE4oHr3mfMjWfZ7lBcC4sZ9xtbKgLPdopQE
gglYV4FhY83wtG1G2EhNewp0+zavLFSaalPdiY2hKkAjSSASCT9fpzjbjoxmuXm56GpqWtK2U3UR
clQ829jb/fHnNH6mVuZXJT9SpkukqRUG48hh4JecUVJKgsahe1xa1gd+Meifw7sRsn5XYnrmIMd1
sNOgpsptJG5v4OLad03TKTmm7NaOsVAhUrqhVUznFMLeqUkxltK3CipSrH2HvfC2c4MKqIYhBouM
aXV61qPeI8gEWt++JPxCZryfmXrnVpEiuxi/OecdCIyQy4HEpU2NJVsVkJCthY353OKyi1VdLgFc
GoTKgxuA6uVZxR83QUj03uOb7Y8/nxPytr2Tsb6HSQ3NqMh1yoMtBhYIYUygoBtsoEtkbb7YzNR3
UxHjKpFMDaO2hiVda3Fgm35gFikAW3Kl3I4F8IB6h15yQmPFZiR20WdIdKkAHgpVv5F/ODVZzJUa
TTm5Ep52I0dkuMfndxPklFttNxt5v9MV5iiKa4YZk1LU46mksKhRzIP5ikuBFxzdSrC31HOFXMCc
y1RuEyDKbYUsLQsPtobSsOGx9RBCSR4CjbxviR0/6mVPOC5LbUVuow4QPZdUNCngNwU29SbnYgj/
AMYe8tNR6pTETJCpUYwwpxamAHFMpNwdPpB1WA2sfFhi2PUbJcnCFJyFVKnDKHn3qM9LBaeeYl37
lrkhJ21EEje218RVZVr6kNxWMxOvJbQQrvKTZ1YAtq2G/wBE7YsunKoNYqhptUTVvlYrh+Xf+USw
41uq6ibG19rgC9/BB2XV9OBOrj8hNWoCI7AKU/8AOtJdAvYdwFWx42CcaEdTvdIm2BMlxn6fJai5
hdRBkBvt6u2ooeKlekX9QH7jb6YaQ38itL0ND8uKo/lpEYEt7eT4F/Pn2wm11TmTq5KZmQES3EtE
mUEqfQ0m4tuhIGm9rC/kYasnU1nM1EYbjyHPmigloMBxAUDvpKf/AO/fB+1yHxxtk45gTKnPTKnT
7yI5CbOgrUtNv1bi1vtj5U2KbXYKtUR6L3B6VtIShWnzdZ3Hj382tiDPfj0+axEnTpLkppOlCEtK
dCB5vYbfviRlmc0IL8mHWKM6wly6kS3ih4KJAukX3PNr7YC4NvoicCdlj4e6PTWC8uprhPPJLulM
t0NLCT6l9vSpVzfyf34BxyYKKDNkoFNqNSCXCmMlZWtoOkgDSuyEXsSD9zxbBqvTX5UtUpUd5tr+
0tT1x3VlJsS62jYiwAAJPBwt00Zil1dYpklmYy+hSRFkhCo4JN77pVdQtzcE3PGEXmUndiW1hKNm
mTFhusyZrJVe0dt9pOl6/pKWihFvQN/Ubq9wcZpVZbp7UWdGkxI3efWn/wC5aHXpDiQCGw2b+g7J
G19tjfbEvKUyr0/NTbFRRR47aPU4lhogFw8AqHoAAO4vfHbP8amZ2bbUYU3RJKbPQ6aXCkAmyguw
CUm3jm/i5wDLOG66LxbXQwUeqvxaW+0inJjl4qU+48S4nexOhNho9vbb64BTer9KqcJyDTDTZL0e
QWy0lAQ20ki/pKbg2BF7nfi43uXV0koJp8lKprsZ0spZJbcUgOpGwGkr9RsLFXOAOTkZU6X5Sq1M
plPYiJmSvmVmQlDylOAf2hd1AX3uFC2E3jxXzydKTZjFZiz6ih9a4DoYNkFCNyvSbGx3KglVx9Fe
1sZsmZPhUmRLf+edCyizcRv1rtvsASdr4w0nNU6svPrlpo4ecQhTzUeAhxakg+kleqwOwNwk/sTi
UM2PqhPBqFESzHWp5KSzoDoNhu4CTY2HiwudsV/DU3eNUgSjZJXTNbBMpVSp/cX6EvBnurSCLkAX
sDb+4X9sCMwdYoFLQ9Ap8lwKBStxtGkOLTYgLUDuPPHOAFez5ImIfXIixIzLAt2mZHeSpIsboSbE
7/z7G2OoznLhQUrl0BiDJk2Laltr7q077WCAQDsdSlCwNgOcHXxeQKsLatINs1GO/AamFT6XQLoK
tRVpJH+LgfzgBnGElx5lDhzDJd1qV2Ex2mWxcjSLm6r2J3JF+bWwXosaqZ1hSojsR2OtooeiLVHS
UPNAnUFrU4FbG3AVycRcuZYZhGc5KkHuyFFxS2lD0rOkJSU3vsObkD/bEw0W18l8WBWR4NEaeDkm
TT40ZTHrUkqDz7qfawOkWA4xndy7CkFyalMwMIUVtp+XCW0E7kjfSlQNhfyL7jEOQZVCrUYOz0SI
yFFKPmIhaW6okgJBCyOSBcXtY+QRgrRs/R8x1LtUqRFrSmJC2nHmFao0KxSClWvSTYlRBANwDiPx
MkXuxkT0j7iB3KXTpM6ORS2o7TxLrT5cDpS5sAobWubXvxvviU1kxEfNkWVIYixy8pYYkrKWzIWk
X342J9hbDDmcoYkU5cF9iYdP/ONGF3EKURYaFhepNrDlJG+AFTzu1EjKVKpVTXOSruyJDcVDiSLA
WbJCRtc3v9NwOQPHlvk7xKuT7PgRoUjtyH23nFkqKVu+RuVAA+AebcHG03wrVmpZj+HKoU9a1PNZ
aqC2IybaewyttLgQAP7Qom3HnGnc6uUyVUXpiUJd7rV1ui2taRzpTYWIP7HY7jGzv4Y1Xj1CrZ/p
jblXkioxos9ZnzDIUC0VNDTsALhwcf6RjV+L3Ry1YLZXNliZezvJq9LqVKrynFIStssySbrNrEp/
9uw/84hVrrPR6A67FihJkpJK3FkD9vth36gZGbgx31pbsNBN7W/nGgfU/MRrucczbVNuKy6lt1bS
Css2VbVyLDb9/ONTVPby1yNY8jqrHLrR1jEuRMnKW98mgFaNF/V6gkWH3OFei9VoTNNUadMQiWpx
KXVJc1AE82PBwhVfLUiIl5p9pqox20pUuDIVZ1Kb7FBKrW34/g4VMzZiZyNJZMalOhbLSwvualKU
kkaACTvybAjzthCGZSCuca5PS/4ac3SzlyFKW266lSbLF7g72vh9+KPIVL6wTulMes1KNCoiKrJ/
qGpZQ+62GAoIQrgAr06tr6b23wo/BtBTVen7BW2U6kJXa3FzfCj+J9mCq9NchZDrFISpM2j196XG
cIC20OfL6BqSbargnbi9sa+B1C5dC83FvgsX4hG6Blds1GlzYr7MayAlBA0gGw/YAf4xqM/ApeaX
KrVqFJTFqTr6pLs/vHutpuT2m0pIUblZBTsdgbi18U5nz4kM251p0SBKemtsfKrjvOMMhoPFxQUo
rOpVlbePCiMDsk53TQ6W/Bp663HXMSpDr7UnSVJFibEJ2sfP03wrqtWnHbjQNui48g5Gqucs/Q4U
OfHfZmPiYoutrRPQgXUsqAKkXGxBStXIudVxjazN9Ob6YdGKnNCApbERQHcWQlazsLne25HjCV+G
z8PVWpnTF/N1Uj1JU2trUxBMpZcU1ESoErCrb9xQvfyAD5w1fiFzZmV/h9bpERTLU+tSNKkOpuey
2QpS7XB0glNyNxh3Q6aSwuT7ZSL55NI865GoHU5cR2oM0qqBp4IdWHTEdig7DURbuAG4B2JBG2JC
OkVGocJx5gqDDR7cZhpeiOhVwoulSmjd0Aji42N74rCDRs1y0S1V6s0hVPhvqZS6nU+6Co2SlI2s
k+5v7G2Cuaen9VS025l3OtBpLSlJLsJ2nqZdlAEkgBC1XO1hYC/vfbGVqtNkT54YeGSLlti+R0nw
4FMoTr7TESK4wgqMl91aXWv+tSghCAB7jm+O1EzNTc1NobU5EWqMdSpK5gaWokXJSAQCk25+22Ed
qiyM2PlUyuOPhtI0tSUvfmEgnSlvuJSRtb1XO3AwRqvUiJTzGjPRavRQ8gpQ464opT7BJJ9J2255
+2F/A19i8l7ZauXHERJqYipcpxS0pWmOKf2lMAi4us2vfm5t9sFltOxVTlaEoasUqLqQlDnpFgSA
rfUB4xVlBoWXa0/34UmTPcksEKeU88laSeTqvb63G98MEedKbZbjB9+Qhlqxdfu4DuRYmw9QA5th
XLp7lcWDi1fIy0qlGdIfk9+FcrDXbdX3Gr8WBBA52tx74z5ty/RzVmFBmGh5hsMvpZpzRClJJsrV
202v7hRvhdylLkiKI6ZKHW3VlTgcbSNX1uLHYC2w/jBCvymXm9EZlUlRSkk3dcKf2sT4OBfsn+pM
mr4M1dz9UCtx11mYrtI9Xy7jqFu2sABpJuLAGxBH0wlV7sZjkMrUxV2GFoBW8005EdSebhKkeq3k
6R74OzID01RZkMMCOghwJUjY2tZQV/bcH9vbBicJC6MdCmXVOJ1ISHCtSSngjbjbfb64cx6lw5fJ
0ZyXTEdxL5hMxaZWJ4cSUnWJSkuvpSblK1XRtYXNjxh96Z9UsusSkuS5VMbmlnsJcjdt5u4GnuFS
irm+43O3njAxl4pcYdmwoynWLOd9ZHe9O+yVpt9OCDfe4waqXVCj1Si1JlzIGVqpPW33GpJiFmQy
CTe3aKE2/wCm1gSdsOx1qkqZff8AyAaZVqdMzBP/AKLqYjJe77Qqkss90n9ICgCVWuRpNr38YaId
Km5HpD8ibDrVRcjOqKExYnaQFAWCE+uyOTYm5VY3OI/VbJcSREjPZYmH5p1rSqXOCSppZSfSAdQs
ggAK5PttfAHLUbMnS+FUKnmSprqLKnfyYrcuzaUkWNtJOq5sNKhfzxbGLaasU8lhundTncwNoiw4
Mee7PQ4xGjSIRSGXNxpUQd978Cxt4ucE2Mx1SlqdgVJmlU6QyO2Ch0rbSSAdJTyFHYAb7njCbAzn
AMGZWu/FccLrV3UEJXE0klP6lDcK2OkA7fyy9Ic/Up/qLDaekBMl200B6IVx5HccIBWopN1EpULB
RuUgfflGTXK4KTm0uDNX8k5jqEWSDTpBQ02HH4iYyo/bbBspwqUnUu+1wk2At74HUbpjTM4ulc1h
ikzIbRcS1JuyiQ8kFWkhKVEFRFgTtxxi8M6S3s59VXY6JMyLT5bjzD0BbrhdXZR/OS04EKCFIQkk
FKT6fVioOqOc8s5bztLodFmU2qVqls6qi2X1R3VOqOnU4tNkJQkXJspXIJUBiN1PaiI5G+xbzOpT
MpsLLK50ZrvsLajH/klrTcpNtR2OxOqyrXsMLcrrtmJ52kUBuu0uS3Omlt6MzRNKiBtdLgTrSq9r
kq02vxiwHsrx5OVacyivRYDZLMlao0lElEnuJ1r3VbQBa3kextvjBUHZ0uQkUt96XEjnuIcbeaW4
pxIH6gkbpCR4J84Zx5GlwXUhYzD04rUemMpotTZmOuulUlJp4SptOq/bF1EqJNiCLADjA2nuVyPM
kN1it1UvOspZYfkFLriEpvZCCpX6EDZKf/GDcmopy9TH6XT6nJRES2VrQpKgoaQVKIHmyQTb2sMI
cvP0efmiGqFX3y3cOJZcQlxZUlSbtuaLoSSb+lQvYG+D4tVOV2xtZlSoesp09nJ0aM27WJMpD1gX
F6UF5STqOs+9yk2Fx7bDB7LuY6ZTq9OMeqonSFJI7ZCD2wv/AE3FyCFHe21rjCzMzpSqcxHRVURw
p8uFbaNIJF76gDcJ/ZR82AGBcfq5lWPOddaU48W0I9SY6G0rSQLApAv9bcg+2EsefLOTSiBjld8D
FmqhUWoPtSa5LkyVP9x5pxClBS1eL22un9NyN9O2A+TxQMpVVTVIkVQLLpcu6tfbQpQ3uDsBa23+
2ItRzOauyqbBjOVCmSEtpc7L6i86E+VJBBISrcJJI8nAyu9OYkqIh5qTVo0UEKR8q4pQBv8A6AFK
Iv8A2298EeXJHiSoK886oY8w5znRaIpiY6ilggJRLStJKxvvpJuE4Vqh1lcpmX2Y7Ik1iUACuW2o
COgE2BJKAQefSLk4w0LIiLyZFTYmxGW1BCX31galWuLIV6jwDwLYJSJC4cZpth+Y8z2w4lTiUlts
cqUkWSd/ruPtgW+yqk2uTpUs+x6vQwpPzrzxZKXH0MhgahawSbXJv7jGzv4SctNXz/nNpFtMehNE
7pvcyUWHpUqxsDsTc841GrFXp1ScaW/SGZqkOBCn5wcR21W1BWm52v8A3WtfbG3H4XVfVSJOepQp
MKLZUOMH47ZClp/NWUn0iw1BBFx4xo6CLWVET64Nqutr6aLkGfLV6eyyTf7JvfHlv1DyZUMzVeRI
pdXcmJccD2zrbQvqBIINyq1/b98eiPxt9W3qH8PdZm02Kp2RFj6yAkm9yE2sNz+rxjzSpdXr0WZJ
QquTmm5Tq1fLAq9JKUpJQr2BQDY7J383w98q7S2k4/7OlaolXpj/AP8AfKkz8pCavIU1qVI06b3O
oAG+3kW3OIVBrceakrplS/qkI20uSnUmWEg3CCne5O+4uPqMGXJTMmmS/mEt1lxRKJjaGC84UI/t
Um997+B52GB7VGpcZxCqVARCV3A4lLcIt9k25KlJsT9OcZGmi7stV8M9RfheogoOVIbSb6iw3z9r
n98U5+MtPqNO6OZPXAW3c1V0qQbl1X5SQdKfIAUcWP8AClmuoZqpdFfC7sT4bbqVLSOSkX/yDikf
xycwSKbO6ZUWItldSfRKndh3UG1N6kt6gob6tQ2HnHpYwfhso0ro0NanxM4V91piuwdKVJDjABaW
mwt/cdjf68Ya8uvM5Oo1QYgppE96ovEOmW521tqRcK0WINiVWNhfbFf1GjVCrVZx5CqC44+2G1LK
krbCbWUlR5ufqME815PlQaxBlLTBS9Uwlb6RPSyhT9ylY9RBUkK40nGZtT6LcLhHobkf8VSBkjpj
VWni+ir0GBFiUukpZQ2icoNJCi2AdKG07WTfZKSNzvjRb8Wj4vq78UvU+iu0Zt9vLtHpSW3ULb0d
6QsgvjSrwFAAYg1GnR/6UHXmUKkJWEuPpmpQmInSobawpSuPAPPtgVmelMVuAldPpkmSy7dDhcnl
agpO26UpSve17Hax2Axpaf5PLhSiuikka/5T6py6LLQgynYajpIIRqFxxffgY2aofWzJ3UOU1Gr6
BFfSltyOZcdLjKzpspaVJ433t/nFIZn6MKrb8ZX/AA/Pp62hZwxorqtQubfqO+3km2Fiv5DqNGpi
44adUy2pIQLDupAVco2/SSMesxfJaPVQWLUxRn5sMk90DdLLkTJteeW69UVlypdxEdtktLacdRYg
6Vn1ACxvZKk3vuMQGMo5djZijKo1XrnzEtJcW2lxDbAVa3Lh1ar3+1/rjVbIPU6G9Ogx24qKVIih
KYS2wXip/wAdy5/u4JHFsbWZRrSKNJlaanEqHZTrkKkxwlaQCE+hd7qAUeDva22POfOfG4cTU8HQ
fTym1Ug4uBTqXJablrDzzKdbQD3YVcAarKuQbe5GxOwOCJhu1IuOxXpMlhKvUTKWpKQfAOkFXn2x
Drs5iqxWhTpcKqQFJS693owjuRhuCVbrS4nj1pVY/wCB8azXCq0ztw5CGZKQm621WQUgbcEc+P8A
fHlpqV0HPjbcmgdkJgx5EBaiXA24WFEk/pIN9Y45xIbqa36jDaLtXKwhehaVpAaTvZvVf9I8XF+c
Q3qkKXVkSn2pDQdWGylRUrvJtawG6P8A9rg+L4mM5nhs0Zb8eLU1ttJCF2ZSVpTvsbqB/jfAnBr0
F2x237JcRf8AU2XEvSSG1NFCJCyl1TNhc+k7aT9rgnDLl5UCUw01KksOU3QUOuOA2QSLJ0G+ytVt
rG4uLeQh0OBR6/Ffnx2A20ba7sqjrG/ssXJ4xGiUT+n18fLsJLLi73Kk2Cx+mwtvuTv9cVcH/Bzo
sSfWIUOG7GprTLmk3cDrelFjzZW6b4gGapx9bFUlSWmu2S1oLYDJNwBZIsRwb4gxBKYaDLssobWS
q0hlCkpPm2J1NZjNxEobZaV6iASFrOobkA7mxvx4x0XXJVsPZpqmVnlPxYGYYMCo09pDLseTBlsP
VOYo6lq1PhCQhCbJShDdyQSCUkEw1UpnOeSIzMuhQoL8l0u/PtKcEmQEXbUtAcJAVyClWkG/9pGG
BWR3EUxMKkR6kqc4kuLcP5fdd3UVBTaUhJ0jcLBB3sN8K+c5KqDl2HTX3qwzJkqDSpCFtqRHXqvv
Yknk7Cx+mARnFwpIzl+vR8zL046eUtUaHJW+yzGcMhbzyUh5XouApsAhO/Krnnk4k5Y6u0vIuWIj
uTmpUMfMhSKxTGVrmoKFkC5B9QBvp9IAOw3wBPSWlZhoc6pVOuTi60lt7vt9y2nVYHQTcgna/srg
YdcpN0FqRHXR49W7bSu2WpCQiQsqRquSlNgNR2vfbfF2m4cvgunZno2ea9S6uyvL1Wn3civvLQy0
ZMoukeh25OtTqiV/qO4UBsU3wHkdBqPSJsWrrjN1GTmdsFSZs9tDPdJIS2UM+v1WJGm6TvubHDl0
yiU2lx6nLqq6PHccRoYjVRJ78to6daVOJukIsSNOi5sCCnymxaRBj5mqVTbeqUCluqckSanqZbVr
KhpabQlICLBSrKCdN97DCsXzVEPHJu0Z5LtVZqkqJSo7OWf6dLSVLqEDUltSQlSUNJUQCgp3BFti
Dh6dlVLqwzVosTMMd+HSopeTATHZStpKrg3cWe5a24VqsL2vik+onWOgdUqzETl5+osR4KG4zCHV
la3bIspwqA8klV1bp2J2GJs7PSMruxIzTkaZWow+UVHRIUHXlDYegpCilIAKlq5uTwnEzU7LKMl2
hzrjDVPXNWswpjkktx1OlrQ8CkD1NoBCQ2AkAlSFFV7XJx3qwpMjLMZOXaVQqXU3oTTMlTbCillY
219xWletRBJCtSBcfUlOldRnKRCVWKuio0NxgBFm44Bd0q02UVg6k3uAbDEM9T6xmqufKogsIp7S
Uh+SlJ1rVupIXpvoJBFrgXuN8B8s4/UiboF586UtVHS3Kq0GW04ylKkx3h8w0lV7ggJ02JB33II5
3wrUToXl2mvl96nTJkpIDyWJ0p2OiwsEgLbAuSeCkWIw2w82U6l19pmDl5lEua6ruLZbut14pGkl
ZJ3FibDexGMb9SiszS+8h2oPxgFKjvFTsthagdSQQNNrnb2284PHJOP7R7KRlZ9ofTt6lVKRMW+/
RoD6UhEdsqfbGpJPreVc2BsBZRPuMEqjRG6XQxEbrLrb7oUSYzilhtJ3UEXN9drbgAfzhzyj0cqP
V+I3Q6MpTDjf/OuJnSWmXEJKBdWo2OkKuLC5BOFit5Qc6QzJrNSpUQ1YPflGcpcxUYJSAbJBQ0kK
Bvq0qv7jHTzTyP8AYZhJ9ADMWUj/AEhpj51mOpbV46nmQ6U3ULqOq+5Pv5xx3LVOlJjuVSK3NW2h
aihl9baDpXYaTpOk77i5+luMZax13hqqcGmSqu1TS7f81aAYzZA/UEbJ1D3BKjibRKZCzYlmoGpz
6w1PYWlp9CQhU53UAkI0ghIudk7qxfHib4XYxGdKgTlLo5N6gVWnsqifMGXNS2xFhtkOurVs0gWG
pRKiLC43uceq3w9fB0fhi+HKHRatEjN5jrL/APUaqlshYZVw2yFgerQja42uTzzhj/Db+BGh9B+n
FHzvWqDOcz3WYom6al6pNGQ4gFMfQSEh4D9S9IVc6cOfxS9TYuX4rsmStUFiI0XXHJCC2EgcncDY
Y9d8XoNqUsgGWTk8+fxLs71bJDqKFRorjzMplLr4Qr1BBOk7W3AG5JsBbc41By9lOajKtSpzcp5c
ebK+ZW4ChSCQNkofUAbabakpVYX33vhv+Nr4342ZOqTzsZcepIejqpsgsOLSlyOlZVYpvZWq9uN9
sU+51Oeays+1FkMxYCm9QS1ZCWWwTte+/k+/jCHyW6U2oqw8ZfrZjzJ02rv9SktZfWruyR3XEuPr
KFG4uStHrsbW9Jvvg5U+mWZqdm+NJgOyv6W9DDiYVSnoRJgSAgFccLWlHda1X0KUEqKbXub3gZXz
o5Ice70qNUWZJ/IdaWpSmeLE3NiPpbY4y12bKzLKbZlykqS/+U2oqKEXJt6h7n/vjMx5MkJKDXBK
las9YfhT6YvUPprkxYLRKadHUotnUndtKrj+cIf43nRWDW+i+U89JhKccoUpdMdeaQC5HS8CtC7H
/rSR7+rzi6ejGfsp9O+jVEp7K1OoytSo0WSWnEhKGmmBqcPsLAnBP4yYeTuuPw95n6e1KY1FrGYc
uyKxSIzjoS44uNZ1pxB/96Qn7KOPZ1GWm2/0Ac7keI68nVuoPyEwsqNTaf2fmFSCkoSsXsArSQrU
efT/AAcZ4KJmWMlrhw22IyI7yHkvlr/n2u5fvBBeud7JJLVj6BcDAR6JNLBNKWuHFXdakOVIl0FW
4C2SDpCT5Frm+ERc7qLl6QEsR357bLgfQpcYvIB52UUjaw8+/OMHFp3u4Cbi6OiVFp2berFCoVbr
kaiway+Iiau+tL7cfuo0tuqTe+gLUjULj0qV7WxKztRZPw79T6vkfNDEadWsvTVQZTlKlJHecTa5
a0hQNwbgEg+D6gcAspfElWYeWHW5nTrKcWuuAL/q0uCuTLSggaQ0guhsWIukhBUnwTbAddGlZvmm
oy4kt+ZKWXpb5dKu64TqUtdzcFRO5uTc3+mLTg49nSJfUJ5+rU99unwM2wmn3ArvCQ2h1eghVgdF
inTudxjJmHoXMqXT2k1OLNcZm1BlYlIqtQhrbkWIU2WFtKK7KBKbOJG4Pq8Yf8suw8sUmJGcckwV
9/vKbLqVpR6knSsEkm9jYbKub8Wxnr8qjwKI+zIotOXQy6uW6HYri5N1J0lWtog7bndPPjHY57Hu
OSNa43wrz9SpcqlzYZLbhQ3HCSkKSAQT5CifAvxixunnT2VQaVOZgRJ70V0pL4La3HnnEoITpIBu
i17gWvYX3xPpOZadQahDpaZjKIFTVqiJabXokKFgCtWvkbXvYjEPqR0WU9XkrpWa10aRIKlIpBkO
sqlmx/Su4TsSL/Q3scNS1s8r2PoZxQVWNFAzlRKZTRdLrMi5juxUNOMNly26LL4FhcpJN8YafmCk
RnX5SazT0wZTwQ2HoyWW2ubNFSditO48bW5wiwOlFYEJuFWp9YqjVQUFATEqdQlw7KTqKrJCbbKH
IPjjAbL9ZgdH5cz5qJVFwnFqhtORW+5GLoIWpCbj1K0qSTY23F98D/Hi02dLHFmxUevUNrKzqe5E
nRDsw8oFa0EmygQTunyNhbzfwQl5ZaMPVTZKYjkhJ/KLISh5F+DcEAX/ANNjiqk5Ldi0qHUpENyT
GnrJYjrQhhTRCb2ukf5I2IOHfLlBW9R+0wVllKruRlSG7NXNyBYgDf6XOFM2FRVgXBJWZxlmFGkN
JlBKyoKTJaQF3RsbOAk3O/gYK0OhPCI023MUhphJSFuJaUg3OoBQASUm3sfbfEdHdor6Cll19otg
tq0KGje2nkgWtiCy+HZ7gajyXpgbusLcKg16gCSoqCSCPABOEoy3Wgai/YVmTFvyHGgwtDKCUrKP
0keQDcn/ADjEKXCzLEeaQ8/HXHSHkvB1ZcTvc6bcfp5tgLmEV5VOU7CeckONlSfk1L2CRv8AoAF/
5x0gSXoDrTxCFSRYPbKYUABq9P6tVztYW23seMDeP0VfBsFmPM8eh5gTUK7IljLS3XnmB2FSdclS
rqacdbJKQQVkXQLEWSd8CuoNOokunxFBxL6XliUXvm1K7KFG2hkrjjTYECynVkWOw2GIOSMywsv1
mrPUxh5/MUiO4242ic6pttrfWWyrUhze19KtwBzbETPjeWeouX2pVQMsyY8ZDcZh15xUcrFtTmk2
5uTsPpcjfCs5tdC0o0BJ8dxyuSH265WGGEvoDnbnJbdKUAjQLDSoaTvdJ1A+NsRcw0fMdapaXYD7
lKixyXPmmIZCnkJTqKTpsNSxwrwTzghS8jJiQUSKXEpM9TZcWkvqbsrSlIIU2q6hYEqF9iRYYyt5
Xq2cKYqK5Meh0xhpUd14O9lhwBdypKLkhQuSAfCfpiqyfydBUJ9EzLVaVVkRWoD0eNS0lz5mQSVv
qc/SFLKbhdzwDxbEbMuUq5nfMEaS5PgsNFJdeZdlag67cEAavASDwL/RXh+zBSZlIg9pqVMRR3n2
3UPqUtnvqtcgcJKgdiRfbbCFn+njL+YYjzzEqKuWjQKjHCSdRIstLavUQfKtvphjFn6SQWEndDRl
15dJaqDEapQ4zEiKhc16I0HXGW0r9aNXoFgVEEJUbg6Sm5BxOyrlpOTMm5/m1J2nVal05iHGok+J
S3IbynFSkuKIUu+q7QVcA6tKrcE4qmZVouYoyKHGQKjLcAakSyUrkSljgLKAVJUCBYlV9rnzhpzP
mWb1HoWWshZcXLVRMpNHVOXJQhupy+XH1EhJcQCClKiDcJHgXLNtrkdx3TZMriXoimpSZLaTUz81
2n+0+24B6fWQ4UhRSLC522uMEae5FSS1QqG4zW1AB/ctOISpO6FgDSU6Tt9sDavEYQ2xGls0upvN
PJDW9xHSk7kiwB1EHYHi2GDKs9dHozbcCr/JT1yCgtKSoOyGyg9woUkFN02Tza17b74z5w/ZiMoW
7JGV+i+UMmGTLTFq6sy1OKtK5r89HbadJ1XbYdacToG6SPOx23wTOR4mVKdIqNLpkOt1GbbW0hsR
lIJTYr1qWQpVtiAlP+BgTW881HLtPjRKhGqdWZjAl1LTRdCUulWkKKrqKgUkkhV029iAJvTrMdRh
U2RPq89LbAbVISGmyEFG/oF/7xYXt7++Fcu5qmVeJinVsm1Ov1ETJlAqCajT4/eYSy4UO2CjYNuN
30q1Eb2Nrgn3x0bptWy+0P6xKMVVUbEpmTIqf9QWpRTfS+r1LNjZJXuRuCkgbMs7qnHzVGUyuO24
wSthLinghSFEi6SsAq3SSLA+bcY4xKolBbcYp0WmLlRQESo7iSUlst6QFnSQdINweR4IxMJ0kiH+
qEiDk3Lue87QZdSYnzHIjKWQ0pgpQkjn0t6gpVuCTYjfG6P4c3ws5Z6xZnrNZfkGgtZWVBZWYTaQ
uS6tQd2STobuhCkKIuRrIHONLoRfpWeY7UKSFwbBDxfmaXdVhdKUblX3V/OCuTuv+acxdKs49PMh
5yYyTWc2uMKj1d516C4wtpClFAWm621LKQAocXIPIxu/Hxj54b+izlKqs9vviAz7mfLPw6ZoHS+H
GnZvpdHcVQI0pPfQ5ISn8tKwVDV55ULkY0p6c5v6x/GD+Gl1Rhda6MrLGe6D823Aqa4Pyrk0Ia7x
QuPawANm7pJStKweQSWj4Ieu+asmfDxSKb1WzFDq+b6LDX/Vay3KStp5CVrKVrcKUXKW9F16fUQS
bkkmn+vf44PSnOnT3PVKoNVqtRNOT/SYs1cO0CrvvIUkiMsEqWhA1allISABvuMe836eGJtA1Fo8
1aHRk9LGJciqxG1OVYhpCY6VP9u+wAufSSb/AE3wTd6CQeoGR2qk+9U2o0c9xEMs69KEqIsVJJuS
R43AB2w2RM1U7/h5uqypkVDRUruOJWFhpIJ3CSCRa4ueNrc3w3uz6dTaV3IU9A+a0rbaY9JYR6CG
0rIvpNiTYC+rHiZ5rbvsLkvbSKHzRkWVk5lVWfqjSoS2woojx3CYhA9LagfVo4FxuTueMfaHmZDd
MQyiVMl/PEIT8ue4hLiv7SlW4+pvYH3w+VmuOQHWapPpTfzbT4Opopc16goBOhSwDaxuTv6hjlap
8Stdmc5GTDYUhC0hCyFMqUnZJQOUgq350+MUU0xWLnFhvJ3UXMvTCg1JmH1DplRcr0YsyITclEyX
BSEFsBSObJSRcAWG/ixxJ6v9c8/df49PYqqw7Jysu1MkMgRVltSPUi97lKtO4BIPOK6fDWVac8py
Uy+txavl3SClbZSLEJXsBsSL33AHucMPTuvuVujtGPKe7iX0oUbsurUkWB0tOApI3VqSLXHBucML
U5LpLgL5lXPYFrGXavkOjQqk9S23X5bRdJ/9JadwTpWjfWN7g7g22tgpTarVas2wsyn24iULUQ47
/wCn+n0XFlbkXungpGGfPbtQyxl2LS3obciosAS20vzFx0qtsNSx6AAnbSbkAixxKpaoLEBFTq64
Md5SUpbgUx9EptnUCRZaeE6r76ja4BxaEpO+TlmYhZiE+QiFGhrfUypZQyliT3HUXSpZUoL/AF2s
d9juOTvhUn1zMFBdZeFIkz4y3FM6SVNCUuxNzwL7XIN728Yt/N1KjT6aKjLQWQodpxEF0NpcSU2Q
tXm49Q2te/1woVCp1yDTI8BEl2fAiOBxhuS+p+OBpAK0oUo2ctyQCrc72NsDlKy+LJZlyyrOlQzB
BbhZemzIiGAqRukLIUDqRYKVZIO2rg7cYP052HVaRJfpyhAkNqC5CWX0rf1J25uCNr/43wvy8351
lU1eXqbWZUKjOSEyXqdDKYzdTX6T+cq+paUWBSgq0g8JuSSSWqPQVB11tUl9SO5oUCksk7AAIIBJ
83ufrgbdD35EEhXz10qdzO89IozqJMkJKuwqMpoarD1FxYG5N+Ui+CnSXLVbpKExa7ACkJC3WGZT
4eY1bbovwoDULgcHDPD6imNTIUqIhltCUhV3WPQ2f+rckeeRjJQs1T5lVelOmmSIyVpWsIUlLrW5
ud1XHIBsPPFsQsq6LeWMo7osG1Ok02Q61/UY7tOZS8tDJC9AdOkeoJQSdPso8EYbIlCbVlaFDlTE
S3YrpeiyXiWdQUEhZUsnSl0hKRf06wkA32wHzDmlmOwqaSlkqdKG0rbJC0Am9tI9Q+h598ZqFVJ7
sJmsQGm0PsuBQW5dwKSoeodtV0hJTcWNwLjgi4J5mlSKLO0qYRdaqEBDchTUFtDbekhBTID6UqJA
7ib2tvci53IxxeWavTGIbyYqWGZrLU1plS++6UOXIGhJsODzY2xIl11iLOQuJTY8JxZSVIRKKW3l
e6Qokp+yj/OMzWeqbFYuh4NvvK9Ta0alJA51LG1/seMLzzuqkd5DJDn1FLLsUIqTCg6AhDqAnTe+
6V20q9t7872OJLFPqDsBlRW1CQl3S8p9hKCm1juUFWo7jY2ubYHpzE4kKqKWu60k7lH5gVe4Uoja
ybE+De2OtRebpiUOxHzKjLUAQ2RdJJF7IOx2A2O1re2AKDasuuTqIK6JVJC6TPLg7alLYnbrCrXU
pIJJCfbkDj6YjQ6o9WojkeoUyK2ErKSkPamykgFKxdIUFGxvbbjEtOY23pIaLLrMN8hKUvvahz+n
02JB9txc74inMNKpuYW1yKLSIk5DepV3h3zc7AaVna3uRg/omcaVhmlUgxsppn0wyW4DjRL7aAU6
lXGogHe2o7AcW2tjJTqhBp1LUhTnzFSltF2Kw4w5rUL2KtBGpSRxqAAw4Zqn1D/iWLVEZQFXpRcb
bU2862ll924szp7iCo3uRpub/vj71CoFI6hVNmNT8xZkp1V0KLUOo0S4gt+rvIGhRKUpKd1JQQb7
lJBvlvpNoRdexSfolWNIk1KIUrbWlKUssNFLjSr2OpN7m99xzbDDlmOxQqmuXmNdUqkUsIblQUOr
jtx0Cyg5ZYAKjbbdQUSoab7lao2Uf6VmGM5T3EnstKL+lRZRISm5JP8AakpT6hYBW17Hz3qs2mTX
GmUTVFgIabV3VqS9IWhWpIULAm32FwT74HOUUim+IxZg6oO9ds30/LDVNkSP6cpUhmW6+tr5UA7o
DZSEEWtufriIznPLfVWo/wDOSaKuVTApsTm2w2lnSSAkuOgoWFKGyUEbjgWxApNSCIMwUaFGnutp
bYaccCXCO5ru2Ba6RpTY351j2xkzv1Em0SBTGWGTSmZC0qEFqMO6Cs2cSkC+gGwvY724GLRzQ217
Ibt8HfNGUnpVHqoolPaozKQfmZjSUMKkDe9wgahe9uLEfe+K6p3TPM+UI4RIr8OdAeUt8IVDanpQ
1/a2lx1JU2sb/wDpKSrffbfFsZCqbmfTCvClPtPjvfnR1MIBSbqS4VCyQAOfIOIVbegNSX15gTFh
wm3VFmPElB8AFYCmwWgAUDkb3IOFvNkcqiw+NySAuVcmNvPPmPHemuS4qmlSFym1NIcULoTe1wEc
gXB972vgont5Nqoo0SuipVlKUh5n5ZJREbUD6lL0m4NzbffSPriKjPjs+sVmjU0l6jgobhxoriWW
UpA9XpXulfIuNrc4zTcvjpI0phmsOS5S3VKeQlILwTYKBLwTo0puTaxvvdWCvHlrcyYu+iDmDONS
cjqahontqBShTqUNFDtyQHEoPqUkA3UAbjn7AqfmmXBy9LezY2008lbkKI0LthTah6LD+1SwSQT4
QSPOM9X6qPKzIuI3T3Kq9oAU4/DS6h9agdk2Wm6bW4G3tiIvqtEziGIcyj/0KUt9Da1VFCkIWSmy
FAkAq1Lsn6XPi+LQxSfYJzQNjZ7plXqUiFGjyGGGmjJ7XZCkLSkk3Usbg3Hn9V8YctMKzBEMlE1R
gaw5pfbTHf7gAOlCh6igEWIPOJ7q5IT8qiHCiTo6yktNoXHjOlF7hw3NyARa+29/bBGRBo1KiSah
LaU+lBHfbaUoJbPHixIH+q1t8EUY3trkVmpNEesR6bJWJr7Mh9TvbkKfS6dKnhq9KhrukC39osfP
GBWaIbmeXEx5K4gpkwAlQYS2+q3qSQ40kLvqCbbgAXvcWxnpKxm1tSosMvIjrUpK0KUToBJtp9/V
Ynb/AHOO0LNDjsV9TFPaiojvqSlsvN3ta4A0X0ABSefa31B1vXKZXG5LtilU869S8sxHqNDz9W1I
ZYC3A8yH2y3bfStaD6RcABZKjtfFfOdMMw5qmJlVNEyc6lGguSglsobFlAJCQAEHY7AYuZTDiBHY
lvMduffuJc1rAG+41He4sLDbbA2DXouZJ0Qu0p59DDio8aT2gUoSNQsQnxZO2rDePWZVGmGFXp9l
6HHAiJkw3o8tHbEcuWWhdyFja1xfkX88YdEUh6LE0vxXSqK4lDGhQJUPAI3uLjHzM2VotIjgOukw
1ulTbcVKVraKt/0IGq+wFz7DEvL0cR1R58gTHERlhbKUNHXfkagpRAJ9uduMUc7CSyx9Eyk0OVV6
Wp1rL8ebMS+CHpiiUqQXAV7KIspNtiR9j7j80dPM1s0d+apqk1dlCVy0yCtDDrLbV/LYAIFz4ueT
9HOLTqyWJYjVTUtYLqStklaEkX9xck2HO1sCK5mbNs2nOOtSEwoURGptlsLEhtS7I1dwXA9VvSdv
V5x0LcuDofv0VAqPRs8UWWJ89qJqZKA0+6lu4IuSm/ovcje3Hthz6O9HqPlOhPoqsmc3NkIQ/Tn2
mzIaSjwU9oEKHHqSfOxwJpfS6L1e6ixYNRy7mbvvhSFSqctsMNab/mup7YtclKbX31DjFquZcyz0
Udp8elwu7UYLa23kqed0+lQUj0oASARY2HO434xrbcbilZL0e57iA/Jrr2aanDVX4EuPKS07Gp0t
h5h2QhKAOUpBtt/dcm2/OK8qXTefCzyurCJFgKeX2i/ESGm5Cdhp7Y4OwuN/f6YYMyZMcl5ii5pq
spzKMZuMQhycsCWlVzdQQFFRGncbH9rYRM05spdPosY0evVbM06oTLrmKjGK22okaNKlGxNgfcn2
FsEx40lxyGlhjGO1djdLpsKjtS6fLWzUQ28QhwJKFlCrkJUBxpBt+31wJh5FjxZq5bJQTdXZbYcL
RSkjT6wD6jt4HBtzj7lHLNVg5ihS34blTjylqZKu6pQ1G6tNvHnc+2JdPhP5gzJ3XIU+IqShZaQo
qXoWhRSoEbXSbagAQcJSg2+AGHDLmgVVsrCRIbLMtiEEhKnEuXGjexNtyb4ksSP+H5C0tVJUkN2S
4p06UG+/pFirDJlrovAzFXpVOerzMGqsslbehhxx1YWgkEJJ9V7G4TfYYEzOnQbzqKa64+lUQFDW
hOsdu/hRQSDfewsN+MEWFy4ZWWORCqNNERl2r0xtT6z6nFtjvq4O/bPPnxg1l2dS63k1ZqNJeimI
QJSGldruJWLhdrE7kWP1PsLYXqYmTJzRV4UGQsU6FHW8pa1lrvOg20IAupR9RuEja5xLo/Tqr5Np
yJseTLnQ9KUKcKlOFq4sEdux1A+Ntj5xK08V9jsbklSQbylXKU01IdTrlwxdvXKWE9vb+07Ebb7Y
bMl5EaztS2GoUoR+872lIbShaAlabFalBYB2G45HOKxyxTanIizI0+qyIbcp9LoQ9Tl7LCdIBRZN
0gc774d6hT4mSH4sqDWqc68pCCgQ2VwFFwH9CELO9/fzgGWCjLagm51yOsT4WFEOOoaYzPUAnSzF
jKSlesE6ElVwpfAOng7gG9xirqo5X1SnqbVKWlBaXZ9pyMltUYpPB9AuPv8Azhjl9TW81SlT35ce
KXGUJf8AmWktWCCVC4vYE6j774jVdv8A4llOxP61UYT7OhSX2UpVpAGw9VvTvfzsLbYqsafaIUwX
lvNLeXKsuPPYd+XdWeyqOtLalnkJKSskDfkAj6DDU7V5WaohCEIpSmSG37shsuWOydZA1HxtYkk4
zwzMyp0gVmJxpLUqsTf6JRlSl90zHUt3kyDp/ShJ2Asf1DC/lyqKKfzKpTi40HXJOlwukXBHpANg
dhsoHYncYJODaTH9tQTRPREqkOrsBMAIZSwXm5LaQsFd7hNlpICvNxf9sQBX6zTqutdViRKibaGZ
ca7Tcm//AOMlQCkLF/OyrbXwzZbS7XYb8HtTJaIkXuhSVApbaAudQSLgW25/bEPM+RcxIKXYNNls
R5Sbx3JBvHcJTsUJKVA28DbjC+ROqKOaqmIPw6dUcx5X6izajDrlUQqMpYVHMlRYkAFSgFpvuLpB
2Ixf+VcxJzvkCnZknU6nrqkhb8pxzQtRUqyl6dSlFWnUm9tXk++OY5hXXLmJm5+kKfVXqBUaBXw7
DUww7PQ13FpaF0+gfpvsOT/ODVKjDPGYKpHmn8qDBZeQlCUjUpei5Nwfc8WxzHMZk+gGP7DYYUah
0APsxYxefKY61rRqKkBsWB8H98K+V88VKm1tqm9/vxEU9UhCXRcoUlQSALWsmxO3GOY5gE+hldiR
Ss6zYeZ+/dDpnviM4hwFSEoKjskX2t48Y7UGitZ2zRUpNSKpLUZTmiKbdgLSDpXptfUNItvb6Y5j
mG8PaGokehVZ3LOXUVWMEGYtTUdSnE6wpslSSkg+PP3wE+IPMkrLzk+DFWUsSYTUhetSlqCnCsGx
JNgABYeLDHMcxqz+gR9DX8P8Q1Poa5W5bq5U9E9uMFLCf0pUhAOwBvpJ3B8nB+jNSWepubKW/UZ8
6DBrD0SK1IcCvlkI1JGkgA3PJJJ/YbY5jmBvoRfYBl19+uSp7chLShTdSGiE2UoAGwUeVfvjLmrL
zdFyk2hL0l9NQTCcf7q7lXcc9SbgA6Tfj6DHMcwn/wBSr6EmdDVSsnUzMMSTJizFOC7bS9DJCtSS
NIF7EfXFg5epcVPTUTWYzUeR2UN6mweLK973Ow3O+OY5hoDP6sUKZm6XMzPDhvhh5iSlSVhbYJtb
weR+2Cs+npydUKjT4SloYjRvnGwbCylAemwATpH2v7k45jmOL4vqR8oUOFmSkNypcVlyXJfIW/p/
MA1JsAfAFzb74LooDLU1phtb7TbCGwAhekLB9RBA2Av7WxzHMcQ+jK3NUmuzwAB8qwFoIUoG5Uq9
7Hf9I5+uMdHq5zJTptWlMtKm0taUMLSpaQBbVuAqx3AP7Y5jmC6f7h9MNuRKFEzj0kXTH2ERW25b
7y5EUdqQ+S2FHW5za/tbFIwuplWzd1lgZajPIy/AmyWoTjtLRoldtSgk2ec1rvYncnHMcxoyNIid
SujNNyb1LcjNTKxNQxUlMBc2WX1qSEtqFyRubqP84JRcjxcmUKQ9SX51PXJeAf7T50yAom4Wk3BH
7beLY5jmHMX1B5OwjRMxyajlp9ai224wpaQtKBdQSjze4N/Pvhqym0JmYi2bpjylttKZST20JWBq
CQeMcxzCsfsycHTM8qnR8jZi+ditJfXFqwgstySXUNtqO9t733O9/OJ/VbLEOgdP6lMiNJZlUyKZ
rToSNZXdexNr29I4sfrjmOYdf1QNdlc1DphRK1QqkqRDDhdhpeV+Yrde6tXPNwMdcm0wUbo8xmAv
SZc2SWkPIkOlTTqSUt2KRa1gq4IIII2PIPMcwDJ2VX1ZO6g5IYyf0el1aNLqD09DzbZdkPd1Tmtk
OlSiRcqBNgedIAwuZezA7mnohW6nOaYkToWgNuqSdySmyiL2Kh4NrjHMcwpn+wpL7hrI2UqXWanT
2p0CLORPgpfWH2wvSvuKRcfsBzfcYJVqkw41fkRlQ4zyadLdiMrWj1htIOkEi3H8Y5jmIichem5J
gZ3h0GoTEyErQt9rstyHAySHtBXpJOlRAF9NgSOMOmV+m9KbE90MK7jT7baFarFAUhSSRbyQ2n/O
OY5hvJ/5o1f+aPvUxSumiIX9GLcRaprCUulhtx1sKUm+laklST9Qb4NUyRKzJRn6rUJsqZKdYdqS
e4oFDTndVZKUgW0jQmwNztzjmOYzcvTM+X2P/9k=
video.mp4 (video/mp4)
The XML source code corresponding to the above example is:
<p>
<object
data
=
"media/video.mp4"
type
=
"video/mp4"
>
<param
name
=
"source"
value
=
"media/video.ogv"
valuetype
=
"ref"
type
=
'video/ogg; codecs="theora, vorbis"'
/>
<param
name
=
"source"
value
=
"media/video.webm"
valuetype
=
"ref"
type
=
"video/webm"
/>
<param
name
=
"width"
value
=
"320"
/>
<param
name
=
"controls"
value
=
"yes"
/>
<param
name
=
"poster"
value
=
"media/video_poster.jpg"
valuetype
=
"ref"
/>
</object>
</p>
Notes:
The
@data
and
@type
attributes are required. The value of the
@type
attribute must start with "
video/
".
It is strongly recommended to specify
alternate video files
as modern web browsers, while all supporting the HTML 5
<video>
element, vary in their support of video formats. This is done by adding
<param>
child elements to the
<object>
element. Such
<param>
elements must have a
name="source"
attribute, a
valuetype="ref"
attribute, a
@value
attribute referencing a video file and preferably, a
@type
attribute specifying the media type of the video file.
It is possible to add
<param>
elements corresponding to the attributes supported by the HTML 5
<video>
element (
<crossorigin>
,
<poster>
,
<preload>
,
<autoplay>
,
<mediagroup>
,
<loop>
,
<muted>
,
<controls>
,
<width>
,
<height>
). In the above example, we have added a
<param>
element corresponding to the
<width>
,
<controls>
and
<poster>
HTML 5 attributes. Note that in the case of HTML 5
boolean
attributes (
<autoplay>
,
<loop>
,
<muted>
,
<controls>
), the
@value
attribute of a
<param>
is not significant. For example, in the case of the above example, you could have specified "
true
", "
on
", "
1
", etc, instead of "
yes
".
If the
<object>
element has a
<desc>
child element, then this
<desc>
element is used to generate fallback content in case video is not supported. If the object element has no
<desc>
child element, then a simple fallback content is automatically generated by ditac. This automatic fallback content basically consists in a link allowing to download the video file. The
<param>
element corresponding to the
<poster>
HTML 5 attribute, if present, is used to generate a nicer automatic fallback content.
When ditac is used to generate an XSL-FO based format (PDF, RTF, etc), only the fallback content appears in the output file.
Lightweight DITA
has an
<video>
element
, so there is no need to use an
<object>
element. The equivalent of the above
<object>
example would be:
<video
width
=
"320"
>
<video-poster
value
=
"media/video_poster.jpg"
/>
<media-controls
value
=
"true"
/>
<media-source
value
=
"media/video.mp4"
/>
<media-source
value
=
"media/video.ogv"
/>
<media-source
value
=
"media/video.webm"
/>
</video>
Flash animation
Use the
<object>
DITA element to add Adobe® Flash® animations
to your DITA topics. Example:
animation.swf (application/x-shockwave-flash)
(You may have to right-click on the above screenshot and select
Play
from the Flash popup menu to replay the animation.)
The XML source code corresponding to the above example is:
<p>
<object
data
=
"animation.swf"
type
=
"application/x-shockwave-flash"
width
=
"431"
height
=
"123"
>
<param
name
=
"movie"
value
=
"animation.swf"
valuetype
=
"ref"
type
=
"application/x-shockwave-flash"
/>
<param
name
=
"menu"
value
=
"true"
/>
<param
name
=
"quality"
value
=
"low"
/>
</object>
</p>
Notes:
The
@data
,
@type
,
@width
and
@height
attributes are required. The
param name=movie
child element having the same value as attribute
@data
is required too.
You may add any other
<param>
child element supported by the Flash object. In the above example, you'll find
menu
and
quality
in addition to required
movie
.
If the
<object>
element has a
<desc>
child element, then this
<desc>
element is used to generate fallback content in case Flash is not supported. If the object element has no
<desc>
child element, then a simple fallback content is automatically generated by ditac. This automatic fallback content basically consists in a link allowing to download the
.swf
file.
When ditac is used to generate an XSL-FO based format (PDF, RTF, etc), only the fallback content appears in the output file.
Other uses of the
<object>
element
We have seen in previous sections how the
<object>
DITA element may be used to add audio, video and Adobe® Flash® animations to your DITA topics. In any case other than those described in previous sections, the
<object>
DITA element is converted to the equivalent
<object>
XHTML element. For example, if you want to add a YouTube
video
to your DITA topics, simply do it in DITA as you would do it in XHTML using the
<object>
element.
iVBORw0KGgoAAAANSUhEUgAAABgAAAARCAYAAADHeGwwAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
WXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH4QEPCTAN2ukqoAAAArJJREFUOMt9lM1vVUUYxn/P7Qkp
udJWkaS2sbDAXElajIlU2Ih1bWLkL4CEPeFfUEgw0QVsVNb8ASa6NcYFH6ms2KA72/gRjRi+Cjfp
zPu4mDnnnlJwksmZM/M+z/v96veVEYg54JzgGGaI2GezV2LaZgaYEgBMGRBkC2Qy8NAwFjwFHlls
AT9hXV64c/e+flsZvWT7NmgkgTEAKp+yBPUaV01YlKNBwga1QkX+F8M7TQ6fBo9a2ecu9x47DhOt
/vruVoUNMBKcaXL4A8k7ODrD5WqZqOZWbMuq4gDGAhG4HJDBYq0Jx6Hit+sWdnG7sAnhZNP0XZJr
OCthZ6F7IRUHmxTsbyNf7qNqdzHaZnjy5I1meWXPg6tfv07aXuzcwVQXcTGk3EbrvV4dpPAwRZBz
kCLIYZJNDkgZkk0wiPlz548vXb91QB+dWk/wdwqTwiRDCgqu7uwgZZMjhoMUblIupCn6O0gOUi5g
gL1zc3veuPTZ6ivffDsT76+tJ/MgRWtYTHATxcNBylEszpU4m1xJcwXkXvY1GPDakSPThz75dNkr
b/3cYrZzla/fXJRON8mGoEv7zqowtjoPAGI8Hm9euLj+17Vry0S8O8lqr7qirTqPmxyRDBAqZVZT
rV5z5TBOKW1+/sXNP7786nDk9F73LFVDaoOqrUKQvaUfFxY3MEtdl9YZUJqnnKdmZ+/krSezpO2D
XR+0VSOVFuv6UF0PYTabFL4nWKolj+xJW1QX0r/3j+6aG2pr3i/oegH+p8nhXzFvd9j/GxkI6oBo
+XfJ1vBU5RtNDn8P+rhD+Pm0RqDYFYo2nP3cOSrG/kHf7Z8fCt8GvTlh14smHu3wePZ+p/sCfBe0
2tjeMpwAnwVWgXnwDLCvIl7usQ2Kzc71PwMPgTH4aT0/Aa8DVz689+fj/wC3vOgy3SGX/QAAAABJ
RU5ErkJggg==
Watch this
test video
on YouTube.
The XML source code corresponding to the above example is:
<p>
<object
data
=
"https://www.youtube.com/embed/C0DPdy98e4c"
width
=
"640"
height
=
"360"
>
<desc>
<image
href
=
"media/youtube_icon.png"
/>
Watch this
<xref
format
=
"html"
href
=
"https://youtu.be/C0DPdy98e4c"
scope
=
"external"
>
test video
</xref>
on
YouTube.
</desc>
</object>
</p>
Notes:
If the
<object>
element has a
<desc>
child element, then this
<desc>
element is used to generate fallback content in case the media object is not supported. If the object element has no
<desc>
child element, then a simple fallback content is automatically generated by ditac. This automatic fallback content basically consists in a link allowing to download the media file.
When ditac is used to generate an XSL-FO based format (PDF, RTF, etc), only the fallback content appears in the output file.
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
Chapter 8. Rich media content
Chapter 8. Rich media content
Part II. Customizing the output of XMLmind DITA Converter
How to customize the output of XMLmind DITA Converter beyond what can be done with XSLT stylesheet parameters alone. For XML experts.
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
Part II. Customizing the output of XMLmind DITA Converter
Part II. Customizing the output of XMLmind DITA Converter
Chapter 9. Simple customization
1. Customize the look of the (X)HTML pages generated by ditac
We'll explain how to customize the look of the (X)HTML pages generated by ditac by using an example. Let's suppose we want to render topic titles in a nice dark blue color rather than in black.
About this task
The easiest way to customize the look of the (X)HTML pages generated by ditac is to use a custom CSS
stylesheet rather than the stock one.
Procedure
Create a custom CSS stylesheet importing the stock CSS stylesheet.
The stock CSS stylesheet is found in:
ditac_install_dir
/xsl/xhtml/resources/base.css
Used for the XHTML 1.0
, XHTML 1.1
, HTML 4.01
and XHTML 5
output formats.
ditac_install_dir
/xsl/webhelp/resources/base.css
Used for the Web Help
output format.
ditac_install_dir
/xsl/htmlhelp/resources/base.css
Used for the HTML Help
output format.
ditac_install_dir
/xsl/eclipsehelp/resources/base.css
Used for the Eclipse Help
output format.
ditac_install_dir
/xsl/epub/resources/base.css
Used for the EPUB
output format.
Initial contents of the custom CSS stylesheet (a copy of this file is found in
customize/custom.css
).
@import url(base.css);
Restriction
Microsoft HTML Help viewer
hh.exe
does not support
@import
. Therefore you must
copy
base.css
into your custom CSS stylesheet if you generate HTML Help.
Add one or more rules to the custom CSS stylesheet.
The XSLT stylesheets generating (X)HTML pages make extensive use of the class attribute. Generally the XHTML element generated for a DITA element has a
class
attribute bearing the name of the DITA element. Example: a DITA
<p>
is converted to a XHTML
<div class="p">
.
For more information, you'll have to refer to the stock CSS stylesheet or even to the (X)HTML pages generated by ditac.
@import url(base.css);
.part-title,
.chapter-title,
.appendix-title,
.section1-title,
.section2-title,
.section3-title,
.section4-title,
.section5-title,
.section6-title,
.section7-title,
.section8-title,
.section9-title,
.topic-title {
color: #403480;
border-bottom: 2px solid #403480;
}
Specify the "
-p
custom-css
customize/custom.css
" option
when running ditac.
$ ditac -images img -p xsl-resources-directory res \
-p custom-css customize/custom.css \
out/manual/_.html manual.ditamap
The above command gives the expected results because:
"
-p xsl-resources-directory res
" copies all stock resources, including
base.css
, to subdirectory
out/manual/res/
.
"
-p custom-css customize/custom.css
" copies
custom.css
to subdirectory
out/manual/res/
.
2. Customizing the look of the PDF files generated by ditac
We'll explain how to customize the look of the PDF files generated by ditac by using an example. Let's suppose we want to render topic titles in a nice dark blue color rather than in black.
About this task
A PDF file is created by converting the XSL-FO file generated by the ditac XSLT 2.0 stylesheet by the means of an XSL-FO processor such as Apache FOP, RenderX XEP or Antenna House Formatter. Therefore we need to generate a custom XSL-FO file. This is done by creating a very simple variant of the stock XSLT stylesheet which generates XSL-FO.
Procedure
Create a custom XSLT stylesheet importing the stock one.
This stock XSLT stylesheet is found in
ditac_install_dir
/xsl/fo/fo.xsl
. It is used to generate an intermediate XSL-FO file. After that, the XSL-FO file is converted to PDF
, PostScript
, RTF
, WordprocessingML
, Office Open XML (
.docx
)
or OpenOffice/LibreOffice (
.odt
)
by the means of an XSL-FO processor.
Initial contents of the custom XSLT stylesheet (a copy of this file is found in
customize/custom_fo.xsl
).
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="2.0">
<xsl:import href="ditac-xsl:fo/fo.xsl"/>
</xsl:stylesheet>
Notice the funny looking URI "
ditac-xsl:fo/fo.xsl
". "
ditac-xsl:
" is an easy way to refer to
ditac_install_dir
/xsl/
. This works because the XML catalog used by the
ditac
command-line utility (found in
ditac_install_dir
/schema/catalog.xml
) contains:
<rewriteURI uriStartString="ditac-xsl:" rewritePrefix="../xsl/" />
Redefine one or more named
xsl:attribute-set
s in your custom XSLT stylesheet.
Named
xsl:attribute-set
s are not documented yet. For more information, you'll have to refer to the XSLT stylesheets found in
ditac_install_dir
/xsl/fo/
.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="2.0">
<xsl:import href="ditac-xsl:fo/fo.xsl"/>
<xsl:attribute-set name="topic-title" use-attribute-sets="topic-title">
<xsl:attribute name="color">#403480</xsl:attribute>
<xsl:attribute name="font-size">160%</xsl:attribute>
<xsl:attribute name="padding-bottom">0.05em</xsl:attribute>
<xsl:attribute name="border-bottom">0.5pt solid #403480</xsl:attribute>
<xsl:attribute name="space-before.optimum">1.5em</xsl:attribute>
<xsl:attribute name="space-before.minimum">1.2em</xsl:attribute>
<xsl:attribute name="space-before.maximum">1.8em</xsl:attribute>
</xsl:attribute-set>
</xsl:stylesheet>
Specify the "
-t
customize/custom_fo.xsl
" option
when running ditac.
$ ditac -t customize/custom_fo.xsl \
out/manual.pdf manual.ditamap
Alternatively, package your custom XSLT stylesheet as a
plug-in
and then specify the name of this plug-in using the
-plugin
command-line option. By doing this, your custom XSLT stylesheet will be automatically used whatever the output format which uses XSL-FO as its intermediate format (PDF, RTF,
.odt
, .
docx
, etc).
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
Chapter 9. Simple customization
Chapter 9. Simple customization
Chapter 10. Using ditac to convert documents conforming to a DITA specialization
We'll explain by example how to use ditac to convert documents conforming to a DITA specialization
. Let's suppose we have a DITA specialization which adds
<time>
and
<kbd>
elements (similar to
<time>
and
<kbd>
HTML5 elements) topic contents. These elements are modeled as follows (see
sample_plugin/dtd/sampleDomain.mod
)
<!ENTITY % time "time">
<!ELEMENT time (#PCDATA | %text;)*>
<!ATTLIST time %univ-atts;
outputclass CDATA #IMPLIED>
<!ATTLIST time %global-atts;
class CDATA "+ topic/ph sample-d/time ">
<!ATTLIST time %univ-atts;
datetime CDATA #IMPLIED>
<!ENTITY % kbd "kbd">
<!ELEMENT kbd (#PCDATA | %text;)*>
<!ATTLIST kbd %univ-atts;
outputclass CDATA #IMPLIED>
<!ATTLIST kbd %global-atts;
class CDATA "+ topic/ph sample-d/kbd ">
All the example files of this tutorial have been packaged as a
plug-in
called "
sample_plugin
". They are found in directory
sample_plugin/
. In order to give this plug-in a try, you'll have to copy directory
sample_plugin/
to
ditac_install_dir
/plugin/
.
About this task
Using ditac to convert documents conforming to a DITA specialization basically requires customizing the output of the tool using the same techniques as those explained in
Chapter 9, Section 1
and
Chapter 9, Section 2
.
Procedure
Create an XML catalog
pointing to a local copy of your custom DTD. This file must be named
catalog.xml
and must be found in your plug-in directory.
File
sample_plugin/catalog.xml
:
<catalog
xmlns
=
"urn:oasis:names:tc:entity:xmlns:xml:catalog"
prefer
=
"public"
>
<public
publicId
=
"-//OASIS//DTD DITA Concept//EN"
uri
=
"dtd/concept.dtd"
/>
<public
publicId
=
"-//OASIS//DTD DITA Composite//EN"
uri
=
"dtd/ditabase.dtd"
/>
<public
publicId
=
"-//OASIS//DTD DITA General Task//EN"
uri
=
"dtd/generalTask.dtd"
/>
...
</catalog>
Create a customization of
ditac_install_dir
/xsl/xhtml/xhtml.xsl
as explained in
Chapter 9, Section 2
. This file must be found in
your_plugin_dir
/xsl/xhtml/xhtml.xsl
in order to be used by ditac.
File
sample_plugin/xsl/xhtml/xhtml.xsl
:
<xsl:stylesheet
xmlns:xsl
=
"http://www.w3.org/1999/XSL/Transform"
xmlns
=
"http://www.w3.org/1999/xhtml"
version
=
"2.0"
>
<xsl:import
href
=
"ditac-xsl:xhtml/xhtml.xsl"
/>
<xsl:param
name
=
"cssResourceName"
select
=
"'xhtml.css'"
/>
<xsl:template
match
=
"*[contains(@class,' sample-d/kbd ')]"
>
<tt>
<xsl:call-template
name
=
"commonAttributes"
/>
<xsl:apply-templates/>
</tt>
</xsl:template>
<xsl:template
match
=
"*[contains(@class,' sample-d/time ')]"
>
<span>
<xsl:call-template
name
=
"commonAttributes"
/>
<xsl:apply-templates/>
</span>
</xsl:template>
</xsl:stylesheet>
Note that the XSLT template called
commonAttributes
adds a
class="kbd"
attribute to the generated
<tt>
element. Similarly, it adds a
class="time"
attribute to the
<span>
element generated for the
<time>
element. So how to style the generated
<tt class="kbd">
and
<span class="time">
?
Copy
ditac_install_dir
/xsl/xhtml/resources/
and
ditac_install_dir
/xsl/xhtml/resources.list
to
your_plugin_dir
/xsl/xhtml/
.
Copy the following
xhtml.css
CSS stylesheet to
your_plugin_dir
/xsl/xhtml/resources/
.
@import
url(base.css);
.kbd {
font-family
: monospace;
font-size
:
90
%;
border
:
1
px solid #C0C0C0;
border-radius:
3
px;
-moz-border-radius:
3
px;
-webkit-border-radius:
3
px;
padding
:
2
px;
background-color
: #F0F0F0;
}
.time {
background-color
: #FFFFCC;
padding
:
2
px;
}
Append the following line to
your_plugin_dir
/xsl/xhtml/resources.list
.
resources/xhtml.css
Declare that the default CSS stylesheet is
xhtml.css
and not stock
base.css
. This is done by using XSLT stylesheet
parameter
cssResourceName
.
<xsl:stylesheet
xmlns:xsl
=
"http://www.w3.org/1999/XSL/Transform"
xmlns
=
"http://www.w3.org/1999/xhtml"
version
=
"2.0"
>
<xsl:import
href
=
"ditac-xsl:xhtml/xhtml.xsl"
/>
<xsl:param name="cssResourceName" select="'xhtml.css'"/>
...
Create a customization of
ditac_install_dir
/xsl/fo/fo.xsl
as explained in
Chapter 9, Section 2
. This file must be found in
your_plugin_dir
/xsl/fo/fo.xsl
in order to be used by ditac.
File
sample_plugin/xsl/fo/fo.xsl
:
<xsl:stylesheet
xmlns:xsl
=
"http://www.w3.org/1999/XSL/Transform"
xmlns:fo
=
"http://www.w3.org/1999/XSL/Format"
version
=
"2.0"
>
<xsl:import
href
=
"ditac-xsl:fo/fo.xsl"
/>
<xsl:attribute-set
name
=
"kbd"
use-attribute-sets
=
"monospace-style"
>
<xsl:attribute
name
=
"border"
>
1px solid #C0C0C0
</xsl:attribute>
<xsl:attribute
name
=
"background-color"
>
#F0F0F0
</xsl:attribute>
<xsl:attribute
name
=
"padding"
>
0.25em
</xsl:attribute>
</xsl:attribute-set>
<xsl:template
match
=
"*[contains(@class,' sample-d/kbd ')]"
>
<fo:inline
xsl:use-attribute-sets
=
"kbd"
>
<xsl:call-template
name
=
"commonAttributes"
/>
<xsl:apply-templates/>
</fo:inline>
</xsl:template>
...
</xsl:stylesheet>
Pass command-line option
-plugin
plugin_name
to
ditac
in order to use the DTDs (or schemas) and the XSLT stylesheets found in your plug-in subdirectory, preferably to those found in
ditac_install_dir
/schema/
and in
ditac_install_dir
/xsl/
.
You'll find a sample DITA document making use of the custom
<time>
and
<kbd>
elements in
sample_plugin/sample/sample.ditamap
. You can convert this sample document to single-page XHTML and to PDF by running
sample_plugin/sample/run.sh
(
sample_plugin\sample\run.bat
on Windows):
../../../bin/ditac
-plugin sample_plugin
\
out/sample.pdf sample.ditamap
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
Chapter 10. Using ditac to convert documents conforming to a DITA specialization
Chapter 10. Using ditac to convert documents conforming to a DITA specialization
Chapter 11. Extensive customization
In order to extensively customize the output of ditac, you need to learn how it works.
Basically, this means that you'll have to understand the contents of the
ditac_lists.ditac_list
file and the
.ditac
files, which are generated by the ditac
preprocessor
.
An extensive customization works exactly like a simple one:
Create a custom XSLT 2.0 stylesheet which imports the stock one.
Redefine one or more attribute sets and/or one or more templates in the custom XSLT 2.0 stylesheet.
The only difference is that this time, you need to know exactly what is the format of the files you are going to transform. The bad news first: the ditac XSLT 2.0 stylesheets do not transform plain DITA files. They transform
.ditac
files, which are
fully preprocessed DITA files
. Now, the good news:
.ditac
files mainly contains DITA elements and because the ditac preprocessor performs all the grunt work beforehand,
.ditac
files are really straightforward to transform.
In fact, transforming
.ditac
files rather than plain DITA files allows to concentrate on creating great-looking output.
How it works
The ditac preprocessor generates a single
ditac_lists.ditac_list
file and one or more
.ditac
files
(9)
A single
.ditac
file for a print output; one or more
.ditac
files for a screen output.
(9)
out of the source DITA files.
Figure 11-1. The intermediate files generated by the ditac preprocessor
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
kI1pt/DeVNwYxc1U/Yy6/pMPPfTfbqzKT37y2Mvc2BljujP//M//pLgRERHJxY0x7R7FjVHcSE7/
//+n6tzUGWO6O4obERGZWmzZsqQXeVMvzzzz+IfcMBsz2XnxxX9U3BjFjShujDGKGxERkVLD+AMb
CKaN0/XiZuUzp2/kTfuG35HiRnFjjFHciIiIKG6MmYLixnROFDeKG2OM4kZERERxY8xUETdbit50
494oW4odVuW0T351UnGjuDHGKG5EREQUN8ZMDXHTCo6D09Vj4Shumn4+3Xzo0KEHjTFTK//yL/8y
27+AIiIiihujuFHcGMWNiIiIiIi0P//2b/8259ChQ1cb047h/am4UdwobkREREREREREcWMUNyIi
IiIiIiKiuFHcKG5EREREREREFDdGcSMiIiIiIiIi4ydunA68M8LvSXEjIiIiIiIiMsXEjemsKG5E
REREREREpgJbit50c98sW4odVua0T351UnEjIiIiIiIiIoFj4XTkWDiKGxERERERERHFjVHciIiI
iIiIiIjixihuRERERERERERxo7gREREREREREcWNUdyIiIiIiIiIiOJGcSMiIiIiIiIiihujuBER
ERERERGRCRU3K585LQVMe4ffk+JGREREREREZIqJG9NhUdyIiIiIiIiITAG2FL1JApjOCr83ERER
ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER
ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER
ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER
ERERERERERERERERERHpLv4/dojoTMaMKkIAAAAASUVORK5CYII=
Then, each
.ditac
file, which mainly contains fully preprocessed DITA topics, is transformed in turn by the ditac XSLT 2.0 stylesheets.
The
ditac_lists.ditac_list
file, which contains useful information about the overall DITA document being converted, is not directly transformed by the ditac XSLT 2.0 stylesheets. Instead, when needed to, the ditac XSLT 2.0 stylesheets
query
the
ditac_lists.ditac_list
file in order to generate optional items. Example: number topics, tables, figures, etc, when parameter
number
='
XXX
'
has been specified.
It is possible to examine the contents of the
ditac_lists.ditac_list
file and those of the
.ditac
files by specifying the
-preprocess
command-line option
. Example:
$ ditac
-preprocess
\
-v -chunk single \
-images img -p xsl-resources-directory res \
out/manual.html manual.ditamap
Contents of a
.ditac
file
The root element of a
.ditac
file is
<ditac:chunk>
. A
<ditac:chunk>
element may have the following child elements (in any order and in any number):
<ditac:titlePage>
This empty placeholder element means: generate a ``title page'' section here.
<ditac:toc>
This empty placeholder element means: generate a
Table of Contents
section here.
<ditac:figureList>
This empty placeholder element means: generate a
List of Figures
section here.
<ditac:tableList>
This empty placeholder element means: generate a
List of Tables
section here.
<ditac:exampleList>
This empty placeholder element means: generate a
List of Examples
section here.
<ditac:equationList>
This empty placeholder element means: generate a
List of Equations
section here.
<ditac:indexList>
This empty placeholder element means: generate an
Index
section here.
A DITA topic of any kind
A fully preprocessed topic. This topic is guaranteed not to contain nested topics.
<ditac:flags-block>
<ditac:flags-inline>
Wrapper elements used to implement
flagging
in ditac. Flagging is specified by the means of a conditional processing profile (a
.ditaval
file). See also
the
-filter
command-line option
.
A DITA block element which supports all flagging features
(10)
That is,
<topic>
,
<p>
,
<lq>
,
<note>
,
<dl>
,
<ul>
,
<ol>
,
<sl>
,
<pre>
,
<lines>
,
<fig>
,
<object>
,
<table>
,
<simpletable>
,
<section>
,
<example>
and their specializations.
(10)
is wrapped in a
<ditac:flags-block>
element having flagging attributes such as
@color
,
@text-decoration
,
@change-bar-placement
, etc.
A DITA inline element which supports all flagging features
(11)
That is,
<ph>
,
<term>
,
<xref>
,
<cite>
,
<q>
,
<boolean>
,
<state>
,
<keyword>
,
<tm>
,
<image>
,
<foreign>
and their specializations.
(11)
is wrapped in a
<ditac:flags-inline>
element having flagging attributes such as
@color
,
@text-decoration
,
@startImage
, etc.
Any other DITA element is considered not to support all flagging features and as such, is given
flagging attributes
like
@ditac:flags-color
,
@ditac:flags-background-color
,
@ditac:flags-font-weight
, etc, rather than being wrapped in a
<ditac:flags-block>
or
<ditac:flags-inline>
element.
More formally, the content model of
<ditac:chunk>
is specified by the
schema/ditac.rnc
RELAX NG grammar.
Example:
<
ditac:chunk
xmlns:ditac="http://www.xmlmind.com/ditac/schema/ditac"
xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/">
<
ditac:titlePage
/>
<
ditac:toc
/>
<
topic
class="- topic/topic "
domains="(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d)
(topic ut-d) (topic indexing-d)"
id="introduction" ditaarch:DITAArchVersion="1.1">
<title class="- topic/title ">Introduction</title>
.
.
.
</topic>
<
topic
class="- topic/topic " id="I_2yl4p_">
<title class="- topic/title ">Using XMLmind DITA Converter</title>
</topic>
<
task
class="- topic/topic task/task "
domains="(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d)
(topic ut-d) (topic indexing-d)"
id="install" ditaarch:DITAArchVersion="1.1">
<title class="- topic/title ">Installing XMLmind DITA Converter</title>
.
.
.
</task>
.
.
.
<
ditac:indexList
/>
</ditac:chunk>
Important
The DITA topics contained in a
.ditac
file are fully preprocessed. What does this mean? Basically that they are ready to be transformed without further efforts:
Conref inclusions have been processed.
Unspecified attributes having default values have been added to the elements. Example: a
<p>
element becomes
<p class="- topic/p ">
.
Elements now have a ``flat'', globally unique, ID. Example: the
@id
attribute of this
<title>
element
<topic id="introduction"><title id="start">
becomes
id="introduction__start"
.
The
@href
attribute of
<xref>
,
<link>
,
<image>
,
<svgref>
,
<mathmlref>
elements now point to the (future) output files. Example: the
@href
attribute of this
<xref>
element
<xref href="intro.dita#introduction/start">
becomes
href="userguide-1.html#introduction__start"
.
Some text may have been added to empty
<xref>
and
<link>
elements.
The
<reltable>
elements of the DITA map have been converted to
<related-links>
sections or to extra
<link>
elements.
Filtered elements have been removed. Flagged elements have been wrapped in a
<ditac:flags>
element.
Contents of the
ditac_lists.ditac_list
file
The root element of the
ditac_lists.ditac_list
file is
<ditac:lists>
. A
<ditac:lists>
element may have the following child elements (in this exact order and in this exact number):
<ditac:chunkList>
A
<ditac:chunkList>
contains a
<ditac:chunk>
element for each
.ditac
file. A
<ditac:chunk>
element may be seen as the
manifest
of a
.ditac
file.
Example:
<
ditac:chunkList
>
<
ditac:chunk
file="manual.html">
<
ditac:titlePage
/>
<
ditac:toc
/>
<
ditac:topic
id="introduction" number="bookabstract.1"
role="bookabstract" title="Introduction"/>
.
.
.
<
ditac:topic
id="limitations" number="appendix.1" role="appendix"
title="Limitations and implementation specificities"/>
<
ditac:indexList
/>
</ditac:chunk>
</ditac:chunkList>
<ditac:titlePage>
Contains all the DITA elements needed to generate the ``title page'' section of a document. This element exists but is empty if the DITA document being converted has no title and no metadata (e.g.
<topicmeta>
/
<autor>
,
<bookmeta>
/
<publisherinformation>
, etc).
Example:
<
ditac:titlePage
>
<
title
class="- topic/title ">XMLmind DITA Converter Manual</title>
<
bookmeta
class="- map/topicmeta bookmap/bookmeta ">
<authorinformation class="+ topic/author xnal-d/authorinformation ">
.
.
.
<critdates class="- topic/critdates ">
<created class="- topic/created " date="September 17, 2009"/>
</critdates>
</bookmeta>
</ditac:titlePage>
<ditac:frontmatterTOC>
<ditac:toc>
<ditac:backmatterTOC>
Contains all the information needed to generate
Table of Contents
section of a document.
Example:
<
ditac:toc
>
<
ditac:tocEntry
file="manual.html" id="I_2yl4p_" number="part.1"
role="part" title="Using XMLmind DITA Converter">
<
ditac:tocEntry
file="manual.html" id="install"
number="part.1 chapter.1" role="chapter"
title="Installing XMLmind DITA Converter">
.
.
.
</ditac:tocEntry>
</ditac:tocEntry>
<ditac:tocEntry file="manual.html" id="limitations" number="appendix.1"
role="appendix"
title="Limitations and implementation specificities"/>
</ditac:toc>
<ditac:figureList>
Contains all the information needed to generate the
List of Figures
section of a document. This element exists but is empty if the DITA document being converted contains no
<fig>
elements having a
<title>
child element.
Example:
<
ditac:figureList
>
<
ditac:figure
file="manual.html" id="xsltParams__page_areas"
number="part.1 chapter.4 figure.1" title="Page areas"/>
<ditac:figure file="manual.html" id="howItWorks__I_6gb2s_"
number="part.2 chapter.3 figure.1"
title="The intermediate files generated by
the ditac preprocessor"/>
</ditac:figureList>
<ditac:tableList>
Contains all the information needed to generate the
List of Tables
section of a document. This element exists but is empty if the DITA document being converted contains no
<table>
elements having a
<title>
child element.
Example:
<
ditac:tableList
>
<ditac:table file="manual.html"
id="quickStart__supported_filename_extensions"
number="part.1 chapter.2 table.1"
title="Supported filename extensions"/>
<ditac:table file="manual.html"
id="quickStart__supported_output_formats"
number="part.1 chapter.2 table.2"
title="Supported output formats"/>
</
ditac:tableList
>
<ditac:exampleList>
Contains all the information needed to generate the
List of Examples
section of a document. This element exists but is empty if the DITA document being converted contains no
<example>
elements having a
<title>
child element.
Example:
<
ditac:exampleList
>
<
ditac:example
file="topicAAA.htm" id="topicAAA__I_6wcr3_"
number="part.1 example.1" title="Example AAA.1"/>
.
.
.
<ditac:example file="topicHHH.htm" id="topicHHH__exampleHHH.2"
number="appendix.2 example.2" title="Example HHH.2"/>
</ditac:exampleList>
<ditac:equationList>
Contains all the information needed to generate the
List of Examples
section of a document. This element exists but is empty if the DITA document being converted contains no
<equation-figure>
elements having a
<title>
child element.
Example:
<ditac:equationList>
<ditac:equation
file="part222.html" id="part222__first_equation"
number="part.2 equation.1" title="First equation">
<ditac:description>This is a short description of the first equation.
It should be displayed in the <i class="+ topic/ph hi-d/i ">
<b class="+ topic/ph hi-d/b ">List of
Equations</b></i>.</ditac:description>
</ditac:equation>
.
.
.
<ditac:equation file="trademarks.html" id="trademarks__I_qa9vmk_"
number="equation.4" title="Second equation"/>
</ditac:equationList>
<ditac:indexList>
Contains all the information needed to generate the
Index
section of a document. This element exists but is empty if the DITA document being converted contains no
<indexterm>
elements.
Example:
<
ditac:indexList
>
<
ditac:div
title="A">
<
ditac:indexEntry
term="appendix-number-format, parameter"
xml:id="I_hd1wr_">
<
ditac:indexAnchor
file="manual.html"
id="xsltParams__I_8bona_"
number="1"/>
</ditac:indexEntry>
<ditac:indexEntry sortAs="automap" term="-automap, option"
xml:id="I_2gud9_">
<ditac:indexAnchor file="manual.html"
id="commandLine__I_5x8va_"
number="1"/>
</ditac:indexEntry>
</ditac:div>
.
.
.
<ditac:div title="X">
.
.
.
<ditac:indexEntry sortAs="xslt" term="-xslt, option"
xml:id="I_atn9k_">
<ditac:indexAnchor file="manual.html"
id="commandLine__I_cu3ew_"
number="1"/>
<ditac:indexAnchor file="manual.html"
id="customAttributeSet__I_gis5b_" number="2"/>
<ditac:indexAnchor file="manual.html"
id="specialize__I_11514_"
number="3"/>
<
ditac:indexSeeAlso
ref="I_bhy05_" term="-t, option"/>
<ditac:indexSeeAlso ref="I_f1jh_" term="-xslt, option"/>
</ditac:indexEntry>
</ditac:div>
</ditac:indexList>
More formally, the content model of
<ditac:lists>
is specified by the
schema/ditac_lists.rnc
RELAX NG grammar.
Currently the
ditac_lists.ditac_list
file is used to generate:
the ``title page'' section of a document;
the
Table of Contents
section of a document;
the
List of Figures
,
List of Tables
,
List of Examples
,
List of Equations
sections of a document;
the
Index
section of a document;
the navigation icons in a multi-page HTML document;
all the files (
project.hhp
,
toc.hhc
, etc) required by the HTML Help system;
all the files (
jhelpset.hs
,
jhelpmap.jhm
, etc) required by the
Java
™
Help system.
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
Chapter 11. Extensive customization
Chapter 11. Extensive customization
Part III. Embedding XMLmind DITA Converter in a Java™ application
Invoke XMLmind DITA Converter from your Java application without having to execute
ditac
, an external command-line tool. For Java programmers.
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
Part III. Embedding XMLmind DITA Converter in a Java™ application
Part III. Embedding XMLmind DITA Converter in a Java™ application
Chapter 12. High-level method: embedding
com.xmlmind.ditac.convert.Converter
Quick and easy embedding: embed
com.xmlmind.ditac.convert.Converter
, the
Java
™
class which is used to implement the
ditac
command-line utility.
Converter
is the object which is at the core of the
ditac
command-line utility. Its
run
method accepts the same string arguments as the
ditac
command-line utility
.
The full source code of the
Embed1
sample is found in
Embed1.java
.
Create the
Converter
.
StyleSheetCache cache =
new
StyleSheetCache();
Console console =
new
Console() {
public
void
showMessage(String message, MessageType messageType) {
System.err.println(message);
}
};
Converter converter =
new
Converter(cache, console);
StyleSheetCache
is a simple cache for the ditac XSLT 2.0 stylesheets. It is a thread-safe object which is intended to be shared by several
Converter
s.
Unlike
StyleSheetCache
,
Converter
is not thread-safe. Each thread must own its
Converter
. However, the
run
method of a
Converter
may be invoked several times.
Console
is a very simple interface. Implementing this interface allows to do whatever you want with the messages reported by a
Converter
.
Configure the
Converter
.
if
(!converter.registerFOP(
"/opt/fop/fop"
)) {
return
1
;
}
There are several methods which may be used to register an XSL-FO processor with a
Converter
. From high-level ones to low-level ones, these methods are:
registerFOP
,
registerXEP
,
registerAHF
,
registerXFC
,
registerExternalFOConverter
,
registerFOConverter
.
Invoke the
run
method.
String[] args = {
"-v"
,
"-p"
,
"number"
,
"all"
,
outFile.getPath(),
inFile.getPath(),
};
return
converter.run(args);
The
run
method returns 0 if the conversion is successful and an integer greater than 0 otherwise. When the conversion fails, errors messages are displayed on the
Console
.
Environment required for running this kind of embedding
Aside "
.jar
" files like
ditac.jar
,
xmlresolver.jar
,
saxon12.jar
, etc, which are all listed in
ditac_install_dir
/doc/manual/embed/build.xml
(see below), this kind of embedding also needs to access:
The DITA DTD, schemas and XML catalogs normally found in
ditac_install_dir
/schema/
.
The XSL stylesheets normally found in
ditac_install_dir
/xsl/
.
Therefore the requirements for running this kind of embedding are:
Use
system property
xml.catalog.files
to point to
ditac_install_dir
/schema/catalog.xml
or to an equivalent of this XML catalog.
Stock
ditac_install_dir
/schema/catalog.xml
contains the following entry:
<rewriteURI uriStartString="ditac-xsl:" rewritePrefix="../xsl/" />
This
<rewriteURI>
entry
is needed to find the location of the directory containing the XSL stylesheets. Make sure that this entry exists in your XML catalogs and that it points to the actual location of the directory containing the XSL stylesheets.
Compiling and executing the
Embed1
sample
Compile the
Embed1
sample by running
ant
in
ditac_install_dir
/doc/manual/embed/
.
Execute the
Embed1
sample by running
ant
embed1
in
ditac_install_dir
/doc/manual/embed/
. This will convert
ditac_install_dir
/docsrc/manual/manual.ditamap
to
ditac_install_dir
/doc/manual/embed/manual.pdf
, using Apache FOP.
Note that
Embed1.java
contains “hardwired filenames” like
"/opt/fop/fop"
. This means that, without modifications, this sample cannot be run from elsewhere than
ditac_install_dir
/doc/manual/embed/
and that you'll almost certainly need to modify the source code in order to specify the actual location of the
fop
(
fop.bat
) script.
Related information
•
Chapter 13. Advanced low-level embedding method
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
Chapter 12. Recommended high-level embedding method
Chapter 12. Recommended high-level embedding method
Chapter 13. Low-level method: embedding
com.xmlmind.ditac.preprocess.PreProcessor
Advanced embedding method: first invoke a preprocessor which will generate intermediate
.ditac
files, then invoke the XSLT 2.0 engine in order to transform all these
.ditac
files.
This method consists in first invoking the
PreProcessor
in order to pre-process the DITA source files into a
ditac_lists.ditac_lists
file and one or more
.ditac
files; then invoking the
Saxon
XSLT 2.0 engine in order to transform all the
.ditac
files.
For some output formats, PDF, RTF, etc, the final third step consists in invoking an XSL-FO processor such as
Apache FOP
in order to convert the XSL-FO generated by the XSLT stylesheets to the desired output format.
The full source code of the
Embed2
sample is found in
Embed2.java
.
Invoke the ditac
PreProcessor
to pre-process the DITA source files into a
ditac_lists.ditac_lists
file and one or more
.ditac
files.
Create and configure the
PreProcessor
.
Console console =
new
Console() {
public
void
showMessage(String message, MessageType messageType) {
System.err.println(message);
}
};
PreProcessor preProc =
new
PreProcessor(console);
preProc.setChunking(Chunking.SINGLE);
preProc.setMedia(Media.SCREEN);
ResourceCopier resourceCopier =
new
ResourceCopier();
resourceCopier.parseParameters(
"img"
);
preProc.setResourceHandler(resourceCopier);
Console
is a very simple interface. Implementing this interface allows to do whatever you want with the messages reported by a
PreProcessor
.
Specifiying
preProc.setChunking(Chunking.SINGLE)
allows to generate a single HTML page using a DITA map designed to generate multiple HTML pages.
A
PreProcessor
is not concerned about the
exact
output format. However its behaves differently depending on the target
Media
.
A
PreProcessor
handles to an
ResourceHandler
all the resource files, typically image files, referenced in the DITA source using relative URLs. An
ResourceHandler
is registered with a
PreProcessor
using method
setResourceHandler
.
In the case of the
Embed2
sample, we use the simplest possible
ResourceHandler
which is
ResourceCopier
.
Pre-process the DITA source files.
URL inFileURL = null;
try
{
inFileURL = inFile.toURI().toURL();
}
catch
(MalformedURLException cannotHappen) {}
File[] preProcFiles = null;
try
{
preProcFiles = preProc.process(
new
URL[] { inFileURL }, outFile);
}
catch
(IOException e) {
console.showMessage(e.toString(), Console.MessageType.ERROR);
}
if
(preProcFiles == null) {
return
false;
}
The
process
method of a PreProcessor returns
null
if an error other than an
IOException
has caused the pre-processing to fail. When this is the case, errors messages are displayed on the
Console
.
Note that a
PreProcessor
is not thread-safe. Each thread must own its
PreProcessor
. However, the
process
method of a
PreProcessor
may be invoked several times.
Invoke the Saxon XSLT 2.0 engine, in order to transform all the
.ditac
files. Note that this is done using the standard
JAXP
API.
Pass
required system parameters
to the XSLT stylesheets, in addition to the normal, user, parameters.
String ditacListsURI =
""
;
int
count = preProcFiles.length;
for
(
int
i =
0
; i < count; ++i) {
File ditacFile = preProcFiles[i];
if
(ditacFile.getPath().endsWith(
".ditac_lists"
)) {
ditacListsURI = ditacFile.toURI().toASCIIString();
break
;
}
}
String[] params = {
"ditacListsURI"
, ditacListsURI,
"xsl-resources-directory"
,
"res"
,
"use-note-icon"
,
"yes"
,
"default-table-width"
,
"100%"
};
These required system parameters are:
ditacListsURI
, always required.
foProcessor
, required by the XSLT stylesheets that generate XSL-FO.
chmBasename
,
hhpBasename
, required by the XSLT stylesheets that generate HTML Help.
Use the Saxon XSLT 2.0 engine to create a
TransformerFactory
, then configure this
TransformerFactory
.
private
static
TransformerFactory createTransformerFactory(URIResolver uriResolver,
ErrorListener errorListener)
throws
Exception {
Class<?> cls = Class.forName(
"net.sf.saxon.TransformerFactoryImpl"
);
TransformerFactory transformerFactory =
(TransformerFactory) cls.newInstance();
ExtensionFunctions.registerAll(transformerFactory);
transformerFactory.setURIResolver(uriResolver);
transformerFactory.setErrorListener(errorListener);
return
transformerFactory;
}
Creating an instance of Saxon 11 is absolutely needed. XMLmind DITA Converter is not designed to work with any other XSLT engine (e.g. the Xalan XSLT 1.0 engine, which is part of the
Java
™
runtime).
The ditac XSLT 2.0 stylesheets make use of a few XSLT extension functions written in
Java
™
. These extension functions must be registered with Saxon. This is done using
ExtensionFunctions.registerAll
.
Create and configure a
Transformer
.
private
static
Transformer createTransformer(String[] params,
Console console)
throws
Exception {
URIResolver uriResolver = Resolve.getURIResolver();
ErrorListener errorListener =
new
ConsoleErrorListener(console);
TransformerFactory factory = createTransformerFactory(uriResolver,
errorListener);
File xslFile = AppUtil.getXSLResourceFile(
"xhtml/html.xsl"
);
Transformer transformer =
factory.newTransformer(
new
StreamSource(xslFile));
transformer.setURIResolver(uriResolver);
transformer.setErrorListener(errorListener);
for
(
int
i =
0
; i < params.length; i +=
2
) {
transformer.setParameter(params[i], params[i+
1
]);
}
return
transformer;
}
Resolve
is a helper class making it easy to use the services of
XML Catalog resolvers
.
By default,
Resolve
automatically loads all the XML catalogs specified using the
xml.catalog.files
Java
™
system property. Excerpts of the
ant
build.xml
file:
<target
name
=
"embed2"
depends
=
"compile,clean_embed2"
>
<java
classpathref
=
"cp"
fork
=
"yes"
classname
=
"Embed2"
>
<sysproperty key="xml.catalog.files"
value="${ditac.dir}/schema/catalog.xml" />
<arg
value
=
"${ditac.dir}/docsrc/manual/manual.ditamap"
/>
<arg
value
=
"manual.html"
/>
</java>
</target>
However, static method
setXMLResolver
allows to configure this thread-safe utility class (used by ditac in many places) differently.
ConsoleErrorListener
is an implementation of
ErrorListener
which displays its messages on a
Console
.
AppUtil.getXSLResourceFile
is a utility function used to locate files found in the XSL directory (normally
ditac_install_dir
/xsl/
).
Invoke the Transformer to transform each
.ditac
file.
for
(
int
i =
0
; i < count; ++i) {
File ditacFile = preProcFiles[i];
String ditacFilePath = ditacFile.getPath();
if
(ditacFilePath.endsWith(
".ditac"
)) {
File transformedFile =
new
File(
ditacFilePath.substring(
0
, ditacFilePath.length()-
5
) +
"html"
);
try
{
transformer.transform(
new
StreamSource(ditacFile),
new
StreamResult(transformedFile));
}
catch
(Exception e) {
console.showMessage(e.toString(),
Console.MessageType.ERROR);
cleanUp(preProcFiles);
return
false;
}
}
}
In the case of
Embed2
, the above loop is not strictly needed. We specified
preProc.setChunking(Chunking.SINGLE)
and therefore the
PreProcessor
generates a single
.ditac
file.
Copy the resources of the XSLT stylesheets (CSS stylesheets, icons, etc) to output subdirectory
res/
. Note that the images referenced in the DITA source, if any, have already been copied to output subdirectory
img/
by the
ImageCopier
.
File dstDir =
new
File(
"res"
);
if
(!dstDir.exists()) {
File srcDir = AppUtil.getXSLResourceFile(
"xhtml/resources"
);
try
{
FileUtil.copyDir(srcDir, dstDir, false);
}
catch
(IOException e) {
console.showMessage(e.toString(), Console.MessageType.ERROR);
cleanUp(preProcFiles);
return
false;
}
}
Delete the
ditac_lists.ditac_lists
and
.ditac
files.
cleanUp(preProcFiles);
Environment required for running this kind of embedding
Aside "
.jar
" files like
ditac.jar
,
xmlresolver.jar
,
saxon12.jar
, etc, which are all listed in
ditac_install_dir
/doc/manual/embed/build.xml
(see below), this kind of embedding also needs to access:
The DITA DTD, schemas and XML catalogs normally found in
ditac_install_dir
/schema/
.
The XSL stylesheets normally found in
ditac_install_dir
/xsl/
.
Therefore the requirements for running this kind of embedding are:
Use
system property
xml.catalog.files
to point to
ditac_install_dir
/schema/catalog.xml
or to an equivalent of this XML catalog.
Stock
ditac_install_dir
/schema/catalog.xml
contains the following entry:
<rewriteURI uriStartString="ditac-xsl:" rewritePrefix="../xsl/" />
This
<rewriteURI>
entry
is needed to find the location of the directory containing the XSL stylesheets. Make sure that this entry exists in your XML catalogs and that it points to the actual location of the directory containing the XSL stylesheets.
Compiling and executing the
Embed2
sample
Compile the
Embed2
sample by running
ant
in
ditac_install_dir
/doc/manual/embed/
.
Execute the
Embed2
sample by running
ant
embed2
in
ditac_install_dir
/doc/manual/embed/
. This will convert
ditac_install_dir
/docsrc/manual/manual.ditamap
to single HTML 4.01 page
ditac_install_dir
/doc/manual/embed/manual.html
.
Related information
•
Part II, Chapter 11. Extensive customization
•
Chapter 12. Recommended high-level embedding method
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
Chapter 13. Advanced low-level embedding method
Chapter 13. Advanced low-level embedding method
Appendix A. About DITA support in XMLmind DITA Converter
DITA 1.3 support
As of version 3.0, XMLmind DITA Converter (ditac for short) fully supports
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
t7lm/wP2hg4Ck9Xd4QAAAABJRU5ErkJggg==
DITA 1.3
and as such, allows to convert DITA documents conforming to the DITA 1.3 DTD, W3C XML Schema or
RELAX NG schema
. However, there are still limitations, deemed minor, and implementation specificities which are documented in
Appendix C
.
In fact, when ditac v2.6+ is used, DITA 1.2 documents are automatically “upgraded” to DITA 1.3. This is caused by the fact that the following
<!DOCTYPE>
means "use latest version of the DITA DTD":
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
<topic
id
=
"MyTopic"
>
...
</topic>
This should not be a problem as DITA 1.3 is a superset of DITA 1.2.
Technical content only
Ditac only supports "
Technical content elements
". However
Classification elements
(e.g.
subject scheme maps
) are still not supported.
DITA 1.3 RELAX NG schema
Ditac has no problem processing a DITA document pointing to a RELAX NG schema, rather than to a DTD or W3C XML Schema:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="urn:oasis:names:tc:dita:rng:topic.rng"?>
<topic
id
=
"MyTopic"
>
...
</topic>
The
<?xml-model?>
processing-instruction used in the above example is the standard way to associate a document to a RELAX NG schema. See
"
Associating Schemas with XML documents 1.0
"
.
The
DTDToSchema
facility
The
DTDToSchema
facility can be used to “upgrade” your documents conforming to a DITA 1.3 DTD to the equivalent DITA 1.3 W3C XML Schema or RELAX NG schema. Command-line example showing how to invoke the
DTDToSchema
facility:
$ java -cp
ditac_install_dir
/lib/ditac.jar
com.xmlmind.ditac.tool.DTDToSchema
¬
-rng MyTopic.dita
Before invoking the
DTDToSchema
facility,
MyTopic.dita
contained:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
<topic
id
=
"MyTopic"
>
...
</topic>
After invoking the
DTDToSchema
facility,
MyTopic.dita
contains:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="urn:oasis:names:tc:dita:rng:topic.rng"?>
<topic
id
=
"MyTopic"
>
...
</topic>
The
DTDToSchema
facility is auto-documented:
$ java -cp ditac_install_dir/lib/ditac.jar com.xmlmind.ditac.tool.DTDToSchema
Usage: java -cp ditac.jar com.xmlmind.ditac.tool.DTDToSchema
-rng|-xsd [ in_dita_file|in_dir_containing_dita_files ]+
"Upgrades" specified DITA documents conforming to a standard
DITA 1.3 DTD to the corresponding W3C XML schema or
RELAX NG schema.
Processes files or directories. Files are modified in place.
Directories are recursively processed. All the '.ditamap', '.dita'
and '.ditaval' files found in specified directories are processed.
Options:
-rng Upgrade to RELAX NG schema.
-xsd Upgrade to W3C XML schema.
Related information
•
Appendix C. Limitations and implementation specificities
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
Appendix A. About DITA support in XMLmind DITA Converter
Appendix A. About DITA support in XMLmind DITA Converter
Appendix B. Lightweight DITA support
XMLmind DITA Converter fully supports
Lightweight DITA
(AKA LwDITA) support, whether
XDITA
(very small subset of DITA XML, plus new
<audio>
and
<video>
elements),
HDITA
(topics and maps written in
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
WXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH5wMGEQwfmQcvKAAAA5BJREFUWMO9l99rHFUUxz/nzuxu
fq5rVBokkogKohYR3+KDgSV58UX7rE/iPyD44IMUfSz+oIqFKrT4IFX6XgWNgrRCRTAxMWhTrW1s
Z7fJ7hLjbtNkZo4PWzc7c2d288PkwsLOnZ17P3u+53vuGVFV/JNPFg3h1+xiBN8Y2Nj5czISvu1+
MPeaAXAJPA54GEcuAxiaBKUDBzD8ugXw8nwVuH2wCANzWwAAcoBRcFHe/b7a/HpnqEpJ0NHWj3J5
zPOfdl2rfCRPIJJ6v29pkcG3XolOZtjcYvlPE9TT9h/dXoP8CBi3I8BmbY0g1HSXDBZsB2RpbO3b
igAxJyg0lvdFAXVZtQAQsXOgfnNfAMShYkmgGnoS01LrZSx1wwA0aMtdkI6VKkhIQvUsABBvOxHQ
i++hP3/Suh7eRSVUI0uWBE6SDZMk6B3auwRGr9gRUMdDYuFq2ADy6BHkgWe2bPjCEKGY1M365y/S
//7r8Rz4zQYo311meEUjkiZFoKfQ/GzThn3ZnDXnuzrvWC44+q2PshJNwr27wPxdi01A7tjc77YN
m1fRRKyX9wzgrFai4c/gx3jabsaLkb8OG2t7S7jqcrwMr0ePhfaQq5SQqJ7hmefAOKkbHPqpgPrN
/1F542M2YqXbVGLmyug/qQAQelZZWa911vh6tVUHktwgyzfiZbiaDmDEI5bQMvkOmEx0ka9ehdC3
NksCcEpLsRog5XQJEE9iBDI6AU42CpDLw61qdK5wb5wdI8DmRiwC4V+pAE4gpdBod2u9OI3e+AGu
TLM+PErjqQlu9RdsgDBMqIJyNV0CDbwuR8udlV1kZBxGxql1KERO4CechOZSqg0ZdP7X7tj4dpvp
OOFCOsBLs3UgYhOdPQ21P3bufyB787p9o3LPL9HaozHfnzx8CXjEevCuUeTBIjJWhEOHW0fGtTYJ
HKC3VqJn9gLZLz/DrJTirVjofj7rdKgDoOBJEsDqVXTmFDpzCvruQ8YmYKxILvMwmWuL9Jw/R+bC
F5CQeK21M7phN8h26Lq3541ldOEsLJxlaAcNibjUrTyxMbm8b+8DObvrsnIAgA8fGw0cM2VEJhWK
wNCuXk4dVPJa1j6+E0c+co/PTm8PoH28KYb7H386DGRKYVKEcSCTCCAg/dQZYMb06BlTyJ7m6I+N
jrJ0BYiPE08MBK48KyFTGCbD8+YhcvxJr54LxD+RO76wuJPl/gW0m1edLxounQAAAABJRU5ErkJg
gg==
HTML5
) or
MDITA
Extended Profile (topics and maps written in
iVBORw0KGgoAAAANSUhEUgAAADIAAAAfCAYAAAClDZ5ZAAAACXBIWXMAAB2HAAAdhwGP5fFlAAAB
fElEQVR42mNggAANIJ4PxPuHGF4MxAYMSJ74DMT/hyj+DfPMfKjA5yEYI++hbgfFDFjgP5QeagDF
7aMeGfXIAHikH0sGsyHCgmYs+jwI6DHAoqeCWh7Zj6W4ew3EKngMz8BRTCYQcJQDFj3zaekRED4M
xCxY1INi6/tQ8ggIT0dTKwLE1/GoH7QeAeEcqDoWaCz9H6oe+Q7NpLOJaEoMao/8J6GdNug8spoI
R68fCh7hAOLzeDzRAHU0IY/4QMVguB1H6ZiAhiWo5REQ0MGRpNZDMz4xHrHAU1TjwvPRin2KPQIC
AdC+AEz8PhDLQOUSiExaLmhmEEquLNRMWsigBinD6yCJJ5CQRxKI8MRpIBagdh5BB7uh6Z2BTI8w
QNtUv/G0InhokdnRAQuRoUyo1KrAoucytMXAQA+PMFDJIwxoJddzpDw35DzCAO1/f4eWalTrjyRA
6wVkTAwwwKLPgEi9HER6YrSrO+qRUY+Q6JFhM9I4HMZ+TRiGCwAAAKyH1mhDlEkAAAAASUVORK5C
YII=
Markdown
).
XMLmind DITA Converter can of course process DITA documents comprising a mix of XDITA, HDITA, MDITA and (full) DITA topics and maps.
You'll find in the following sections some templates to start writing topics and maps in XDITA, HDITA and MDITA. You'll also find the list of HDITA and MDITA implementation specificities and limitations.
1. XDITA support
XMLmind DITA Converter fully supports
XDITA
, which is basically a very small subset of DITA XML, plus
new audio and video elements
.
Template of an XDITA topic (
lwdita_templates/xdita_topic.dita
):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE topic PUBLIC "-//OASIS//DTD LIGHTWEIGHT DITA Topic//EN"
"lw-topic.dtd">
<topic
id
=
"???"
>
<title>
</title>
<shortdesc>
</shortdesc>
<body>
<p>
</p>
</body>
</topic>
Template of an XDITA map (
lwdita_templates/xdita_map.dita
):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE map PUBLIC "-//OASIS//DTD LIGHTWEIGHT DITA Map//EN"
"lw-map.dtd">
<map>
<topicmeta>
<navtitle>
</navtitle>
</topicmeta>
<topicref
href
=
"???"
>
<topicref
href
=
"???"
/>
</topicref>
<topicref
href
=
"???"
/>
</map>
2. HDITA support
XMLmind DITA Converter fully supports
HDITA
, which specifies how to write DITA topics and maps in
HTML5
.
Important
Only
XHTML5
, that is, the XML syntax of HTML5, is supported. Plain HTML5 is
not
supported.
In practice, this means that all tags must be closed (e.g.
<img/>
and not
<img>
), all attributes must have a quoted value (e.g.
controls=""
and not
controls
) and that elements like
head
and
body
may not be omitted.
Template of an HDITA topic (
lwdita_templates/hdita_topic.html
):
<!DOCTYPE html>
<html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<head>
<meta
charset
=
"UTF-8"
/>
<title>
Topic title here
</title>
</head>
<body>
<article
id
=
"???"
>
<h1>
Topic title here
</h1>
<p>
Short description here.
</p>
<p>
Topic body starts here.
</p>
</article>
</body>
</html>
Template of an HDITA map (
lwdita_templates/hdita_map.html
):
<!DOCTYPE html>
<html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<head>
<meta
charset
=
"UTF-8"
/>
<title>
Map title here
</title>
</head>
<body>
<nav>
<h1>
Map title here
</h1>
<ul>
<li>
<p>
<a
href
=
"???"
>
</a>
</p>
<ul>
<li>
<p>
<a
href
=
"???"
>
</a>
</p>
</li>
<li>
<p>
<a
href
=
"???"
>
</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a
href
=
"???"
>
</a>
</p>
</li>
</ul>
</nav>
</body>
</html>
Implementation specificities
Adding attribute
data-class="concept"
to the top-level
article
element may be used to generate a DITA
concept
rather than a DITA
topic
.
A footnote may be represented by
<div data-class="fn">
, in addition to
<span data-class="fn">
.
A footnote reference may be represented by
<a href="#FOOTNOTE_ID"></a>
.
An internal link may be specified as
<a href="#TARGET_ID">
. Notice that there is no need to specify, like in DITA XML,
<a href="#./TARGET_ID">
or
<a href="#TOPIC_ID/TARGET_ID">
.
Only the
meta
elements having the following names are translated to their DITA equivalent (that is, elements contained in the
prolog
of a DITA
topic
or the
topicmeta
of a DITA
map
):
audience
author
category
created
or
dcterms.created
(maps to
<critdates>/<created>
)
keyword
(maps to
<keywords>/<keyword>
)
permissions
publisher
or
dcterms.publisher
resourceid
revised
or
dcterms.modified
(maps to
<critdates>/<revised>
)
source
A
meta
element having any other name is translated to DITA element
data
.
While most HTML5 elements are faithfully translated to their DITA equivalent,
some elements (
br
,
hr
,
iframe
,
script
, etc) are simply ignored;
some other elements are translated to a DITA
ph
or
div
having an
outputclass
attribute reflecting their HTML5 origin.
Example 1: element
small
is translated to DITA
<ph outputclass="role-small">
.
Example 2: an
h1
element other than the very first one (specifying the title of the topic) is translated to DITA
<div outputclass="role-h1">
.
Example 3: nested sections are translated to DITA
<div outputclass="role-section">
.
Limitations
Only
XHTML5
, that is, the XML syntax of HTML5, is supported. Plain HTML5 is
not
supported.
Using attribute
rowspan
in
td
or
th
elements will generally cause an incorrect DITA table to be generated.
3. MDITA support
XMLmind DITA Converter fully supports
MDITA
, which specifies how to write DITA topics and maps in
Markdown
.
Template of an MDITA topic
lwdita_templates/mdita_topic.md
:
---
id: ???
---
# Topic title here
Short description here.
Topic body starts here.
Template of an MDITA map
lwdita_templates/mdita_map.md
:
# Map title here {.map}
- [???](???)
- [???](???)
- [???](???)
- [???](???)
Notice the
{.map}
class
attribute added to the title of the map. Without it, the above template would be translated to a DITA
topic
.
Implementation specificities
The encoding of an MDITA file is, by default, the system encoding (e.g.
window-1252
on a Western PC).
If you want to explicitly specify the encoding of an MDITA file, please save your file with a
UTF-8
or
UTF-16
BOM
(Byte Order Mark)
or add an
encoding directive
inside a comment anywhere at the beginning of your file. Example:
<!-- -*- coding: iso-8859-1 -*- -->
Heading
=======
## Sub-heading
Paragraphs are separated
by a blank line.
The above example should work fine because ditac understands the
GNU Emacs file variable
called
coding
.
Adding a
{.concept}
class
attribute to the title of an MDITA topic may be used to generate a DITA concept rather than a DITA topic.
Out of the box, ditac supports the so-called
Extended Profile
.
This Extended Profile may be customized by the means of
-p load.mdita.XXX
parameters
. These
load.mdita.XXX
parameters are documented
below
.
Limitations
Without a
{.map}
class
attribute added to the title of an MDITA map, this map is confused with a topic.
load.mdita.XXX
parameters
Parameter
-p load.mdita.extended-profile true
is implicitely passed to
ditac
. This parameter is simply a shorthand for:
-p load.mdita.abbreviation true
-p load.mdita.admonition true
-p load.mdita.attributes true
-p load.mdita.definition true
-p load.mdita.footnotes true
-p load.mdita.gfm-strikethrough true
-p load.mdita.ins true
-p load.mdita.superscript true
-p load.mdita.tables true
-p load.mdita.typographic true
-p load.mdita.yaml-front-matter true
where abbreviation, admonition, attributes, etc, are all
Markdown extensions
, documented in
Markdown extensions
.
If for example, you don’t like the stock Extended Profile and prefer to use a simpler one, plus the
autolink
Markdown extension
(12)
Turns plain text URLs and email addresses into
<xref href="...">
elements.
(12)
, then pass:
-p load.mdita.core-profile true
-p load.mdita.autolink true
to
ditac
.
Parameter
-p load.mdita.core-profile true
is simply a shorthand for:
-p load.mdita.gfm-strikethrough true
-p load.mdita.superscript true
-p load.mdita.tables true
-p load.mdita.yaml-front-matter true
3.1. Markdown extensions
Abbreviations
Converts plain text abbreviations (e.g. IBM) to
<abbr>
elements.
This Markdown syntax extension, which is part of the MDITA Extended Profile, is enabled by default. In order to disable it, pass parameter
-p load.mdita.abbreviation false
to
ditac
.
Example:
The HTML specification is maintained by the W3C.
*[HTML]: Hyper Text Markup Language
*[W3C]: World Wide Web Consortium
is converted to:
<p>
The
<keyword>
HTML
</keyword>
specification is maintained
by the
<keyword>
W3C
</keyword>
.
</p>
which is rendered as:
The
HTML
specification is maintained by the
W3C
.
Admonitions
Syntax for creating admonitions such as notes, tips, warnings, etc.
This Markdown syntax extension, which is part of the MDITA Extended Profile, is enabled by default. In order to disable it, pass parameter
-p load.mdita.admonition false
to
ditac
.
After the "
!!!
" tag, the admonition type must be one of "
note
", "
attention
","
caution
", "
danger
", "
fastpath
", "
important
", "
notice
", "
remember
", "
restriction
", "
tip
","
trouble
", "
warning
".
A note example not having a title:
!!! note ""
Support is limited to bug reports.
is converted to:
<note>
<p>
Support is limited to bug reports.
</p>
</note>
which is rendered as:
Note
Support is limited to bug reports.
A tip example having a title:
!!! tip "How do you do a hard reboot on an iPad?"
Press and hold both the **Home** and **Power** buttons
until your iPad® reboots.
You can release both buttons when you see Apple® logo.
is converted to:
<note
type
=
"tip"
>
<div
outputclass
=
"note-title role-h4"
>
How do you
do a hard reboot on an iPad?
</div>
<p>
Press and hold both the
<b>
Home
</b>
and
<b>
Power
</b>
buttons until your iPad® reboots.
</p>
<p>
You can release both buttons when you see
Apple® logo.
</p>
</note>
which is rendered as:
Tip
How do you do a hard reboot on an iPad?
Press and hold both the
Home
and
Power
buttons until your iPad® reboots.
You can release both buttons when you see Apple® logo.
Attributes
Syntax for adding attributes to the generated
HTML
elements:
attributes -> '{' attribute_spec ( S attribute_spec)* '}'
attribute_spec -> name=value
| name='value'
| name="value"
| #id
|.class
Remember
An easy rule to remember
If an
{...}
specification is separated by space characters from some plain text (e.g.
some plain text {...}
) then the attributes are added to the parent element of the text.
This Markdown syntax extension, which is part of the MDITA Extended Profile, is enabled by default. In order to disable it, pass parameter
-p load.mdita.attributes false
to
ditac
.
Example:
The *circumference { .first-term }* is the length of one circuit along the
circle, or the distance around the circle. {#circumference}
is converted to:
<p
id
=
"circumference"
>
The
<i
outputclass
=
"first-term"
>
circumference
</i>
is the length of one circuit along the circle, or the distance around
the circle.
</p>
which is rendered as:
The
circumference
is the length of one circuit along the circle, or the distance around the circle.
iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAB2HAAAdhwGP5fFlAAAE
DElEQVR42u1aIVAbQRRFVCAqKhAIBKKiAoGoQCAqKyoqEBEVSAQCgajgsjtTUYFAIBCICgSiAlGB
QEQww92RzkQgIhARiMwELjfTCERE+n+zdI5/y2V3747cHftn/jBALsl7+/e////uzIw1a9asWbP2
rHZ3wd/1PacRePUB+DDwnLPeBXv7IsAHHlsRwEfEwxdBAgA9l4AXzo4rDb7v809Pgx/7rc/eVxJ8
p8FnAWA7CvbOZQfws0VIOB81+Ksq7v1dAnTQu+TzwQX/GI8EZ7tS4EOXL9LEd+c7mxFyjgkJt2GL
v6mO7HnsiAC8wS3x8P8/v/lcjCCPfa+S7A0f731nPUaS6+wQku4xcsqf+ccFz39g+LssyYkk2SFR
cFTu0Pf5Z7Kqw36TLyWQ9UVSG6yUM/FBEgMA3UdgfHaoUCg1CQntUsqiRPbuVUrdW5d/oDkDZHGr
9LIXuHWuQd5eqWURAPygstdr8NeqzwtZDEku+FYK8FjL0xCG5FbTTqASWQw8vlAZ2Ztk+AyVxcB3
Tgsue85mrLuDpJaCzJgsorQWEjzucdzrZPVP6Os456vgN+Aj4tfgSxNl0a1fFVIWsXaPdXsS2XsC
/IO78Sjgq7FSOtJIFSTr8wUqe7D6X2WvTQCP3pFuBZftE3K7OqoyDdnrRLu9tASIqjI0rSvyBT8e
aCjLngkBY5KdbSqLUx+fCalqky/WTEpSpgSIbpEm2caUh5zOhq7smRIgttoa/TwctBZG9iBMf056
Lg0BhZJFrM2p7KmUqggygYArxW6RRIGz8byrj9NcOsOD2l3lWQC5m0DAvhL5PjucqiziWR491lJt
VxljtQQC1jWGLaHusCVL2RuZVmYAci6BgHmNRdii47bwki/nL3uQdMgHu7pJCPe6BHxb5z1kQ1SM
zLxDfyuWgKBW130fAHsoIWDPoFusSYaoa3nKXpckvl8m7yXLA/A3oy9O5w+5DVElc7qB6cEFAF4U
7W9HOG4Jo5kfjtklQ9RszxaxrR2PpArYjMhlMcx0iCo5vMxEd3HVwWfzqEtwLJ/NkFMyp087kADQ
y+AN8KHIAaeQA1Jdj8H5Qy6ySK+0pO3AxEhsIFGBUDYS05Hovle/zrRblHV7JrJHCDhLKISOUkZB
LbNuUXY4YSp7hIBuAgGtDCK2meZQJpr4Ylda8H5fBgQkDUWbqYez8B1Ty2KesgcgTxIIOMhLFlEp
1FmEUM+r3RRFkGwbdHSaIW1ZVO0WZbKX9cABgC6IfqCFYY8rnxX4yCLu6FzOSKqt3TJeUJDJotJN
1Njeh+4Ka/4yuqR77aoQEE66zlpWx4gwqfsr5GxPVUe7VVx95QsWYxn5d97XFmOnMnsbL2VjZTtj
zZo1a9asWbMWsb/IbgbzA6FvmAAAAABJRU5ErkJggg==
Attention
Pitfall
By default, heading IDs are not “rendered” in
HTML
(which is somewhat counterintuitive). You must pass
-p load.mdita.renderer.RENDER_HEADER_ID true
to
ditac
get them “rendered”.
Automatic links
Turns plain text URLs and email addresses into
<a href="...">
elements.
This Markdown syntax extension is disabled by default. In order to enable it, pass parameter
-p load.mdita.autolink true
to
ditac
.
Example:
Please send your bug reports to support@xmlmind.com, a public,
moderated, mailing list. More information in https://xmlmind.com/.
is converted to:
<p>
Please send your bug reports to
<xref
href
=
"mailto:support@xmlmind.com"
>
support@xmlmind.com
</xref>
,
a public, moderated, mailing list. More information in
<xref
href
=
"https://xmlmind.com/"
>
https://xmlmind.com/
</xref>
.
</p>
which is rendered as:
Please send your bug reports to
support@xmlmind.com
, a public, moderated, mailing list. More information in
http://www.xmlmind.com/
.
Definition lists
Syntax for creating definition lists, that is
<dl>
,
<dt>
and
<dd>
elements.
This Markdown syntax extension, which is part of the MDITA Extended Profile, is enabled by default. In order to disable it, pass parameter
-p load.mdita.definition false
to
ditac
.
Example:
Glossary:
LED
: Light emitting diode.
ABS
: Antilock braking system.
ESC
ESP
: Electronic stability control, also known as Electronic Stability Program.
: On motorcycles, ESC/ESP is called *Traction Control*.
> Ducati was one of the first to introduce a true competition-level
> traction control system (**DTC**) on a production motorcycle.
EBA
: Emergency brake assist.
is converted to:
<p>
Glossary:
</p>
<dl>
<dlentry>
<dt>
LED
</dt>
<dd>
<p>
Light emitting diode.
</p>
</dd>
</dlentry>
<dlentry>
<dt>
ABS
</dt>
<dd>
<p>
Antilock braking system.
</p>
</dd>
</dlentry>
<dlentry>
<dt>
ESC
</dt>
<dt>
ESP
</dt>
<dd>
<p>
Electronic stability control, also known as
Electronic Stability Program.
</p>
</dd>
<dd>
<p>
On motorcycles, ESC/ESP is called
<i>
Traction Control
</i>
.
</p>
<lq>
<p>
Ducati was one of the first to introduce a
true competition-level traction control system
(
<b>
DTC
</b>
) on a production motorcycle.
</p>
</lq>
</dd>
</dlentry>
<dlentry>
<dt>
EBA
</dt>
<dd>
<p>
Emergency brake assist.
</p>
</dd>
</dlentry>
</dl>
which is rendered as:
Glossary:
LED
Light emitting diode.
ABS
Antilock braking system.
ESC
ESP
Electronic stability control, also known as Electronic Stability Program.
On motorcycles, ESC/ESP is called
Traction Control
.
Ducati was one of the first to introduce a true competition-level traction control system (
DTC
) on a production motorcycle.
EBA
Emergency brake assist.
Remember
Remember that:
The leading "
:
" character of a definition must be followed by one or more space characters.
Terms must be separated from the previous definition by a blank line.
A blank line is not allowed between two consecutive terms.
A blank line is allowed before a definition.
Footnotes
Syntax for creating footnotes and footnote references.
This Markdown syntax extension, which is part of the MDITA Extended Profile, is enabled by default. In order to disable it, pass parameter
-p load.mdita.footnotes false
to
ditac
.
Example:
The differences between the programming languages C++[^1] and Java can be
traced to their heritage.
[^1]: The C++ Programming Language by Bjarne Stroustrup.
C++[^1] was designed for systems and applications programming, extending the
procedural programming language C[^2].
[^2]: The C Programming Language by Brian Kernighan and Dennis Ritchie.
Originally published in 1978.
is converted to:
<p>
The differences between the programming languages
C++
<xref
href
=
"#./__FN1"
type
=
"fn"
/>
and Java can
be traced to their heritage.
</p>
<div>
<fn
id
=
"__FN1"
>
The C++ Programming Language by
Bjarne Stroustrup.
</fn>
</div>
<p>
C++
<xref
href
=
"#./__FN1"
type
=
"fn"
/>
was designed
for systems and applications programming, extending
the procedural programming
language C
<xref
href
=
"#./__FN2"
type
=
"fn"
/>
.
</p>
<div>
<fn
id
=
"__FN2"
>
The C Programming Language by
Brian Kernighan and Dennis Ritchie.
<p>
Originally published in 1978.
</p>
</fn>
</div>
which is rendered as:
The differences between the programming languages C++
(13)
The C++ Programming Language by Bjarne Stroustrup.
(13)
and Java can be traced to their heritage.
C++
(13)
was designed for systems and applications programming, extending the procedural programming language C
(14)
The C Programming Language by Brian Kernighan and Dennis Ritchie.
Originally published in 1978.
(14)
.
Strikethrough and subscript
Converts
tagged text "
~~something deleted~~
" to
<del>something deleted</del>
, which is rendered as:
something deleted
tagged text "
~a subscript~
" to
<sub>a subscript<sub/>
, which is rendered as:
a subscript
This Markdown syntax extension, which is part of the MDITA Core Profile and the MDITA Extended Profile, is enabled by default. In order to disable it, pass parameter
-p load.mdita.gfm-strikethrough false
to
ditac
.
Ins
Converts tagged text "
++something new++
" to
<ins>something new</ins>
, which is rendered as:
something new
This Markdown syntax extension, which is part of the MDITA Extended Profile, is enabled by default. In order to disable it, pass parameter
-p load.mdita.ins false
to
ditac
.
Superscript
Converts tagged text "
^a superscript^
" to
<sup>a superscript</sup>
, which is rendered as:
a superscript
This Markdown syntax extension, which is part of the MDITA Extended Profile, is enabled by default. In order to disable it, pass parameter
-p load.mdita.superscript false
to
ditac
.
Media tags
Converts prefixed links to audio and video HTML5 elements.
!A[Text](links)
- audio.
Links
is one or more links separated by character “
|
”.
!V[Text](links)
- video.
Audio example:
Audio example: !A[Sample audio](media/audio.mp3|media/audio.wav).
is converted to:
<p>
Audio example:
<audio>
<desc>
Sample audio
</desc>
<media-controls
value
=
"true"
/>
<media-source
value
=
"media/audio.mp3"
/>
<media-source
value
=
"media/audio.wav"
/>
</audio>
.
</p>
Video example:
Video example: !V[Sample video](media/video.mp4).
is converted to:
<p>
Video example:
<video>
<desc>
Sample video
</desc>
<media-controls
value
=
"true"
/>
<media-source
value
=
"media/video.mp4"
/>
</video>
.
</p>
This Markdown syntax extension is disabled by default. In order to enable it, pass parameter
-p load.mdita.media-tags true
to
ditac
.
Restriction
This extension cannot be used if you are authoring a DITA document. It will only work if you are authoring an
LwDITA
document. Only LwDITA supports the
<audio>
and
<video>
elements.
Tables
Converts pipe "
|
" delimited text to
<table>
elements.
This Markdown syntax extension, which is part of the MDITA Core Profile and the MDITA Extended Profile, is enabled by default. In order to disable it, pass parameter
-p load.mdita.tables false
to
ditac
.
Simple table example:
| Header 1 | Header 2 | Header 3 |
| -------- | -------- | -------- |
| Cell 1,1 | Cell 1,2 | Cell 1,3 |
| Cell 2,1 | Cell 2,2 | Cell 2,3 |
is converted to:
<table >
<tgroup
cols
=
"3"
>
<thead>
<row
valign
=
"middle"
>
<entry
align
=
"center"
>
Header 1
</entry>
<entry
align
=
"center"
>
Header 2
</entry>
<entry
align
=
"center"
>
Header 3
</entry>
</row>
</thead>
<tbody>
<row
valign
=
"middle"
>
<entry>
Cell 1,1
</entry>
<entry>
Cell 1,2
</entry>
<entry>
Cell 1,3
</entry>
</row>
<row
valign
=
"middle"
>
<entry>
Cell 2,1
</entry>
<entry>
Cell 2,2
</entry>
<entry>
Cell 2,3
</entry>
</row>
</tbody>
</tgroup>
</table>
which is rendered as:
Header 1
Header 2
Header 3
Cell 1,1
Cell 1,2
Cell 1,3
Cell 2,1
Cell 2,2
Cell 2,3
Table example having centered and right-aligned columns:
| Header 1 | Header 2 | Table Header 3 |
| -------- | :-------------: | -------------: |
| Cell 1,1 | Table cell 1,2 | Cell 1,3 |
| Cell 2,1 | Cell 2,2 | Cell 2,3 |
is converted to:
<table>
<tgroup
cols
=
"3"
>
<thead>
<row
valign
=
"middle"
>
<entry
align
=
"center"
>
Header 1
</entry>
<entry
align
=
"center"
>
Header 2
</entry>
<entry
align
=
"right"
>
Table Header
3
</entry>
</row>
</thead>
<tbody>
<row
valign
=
"middle"
>
<entry>
Cell 1,1
</entry>
<entry
align
=
"center"
>
Table cell
1,2
</entry>
<entry
align
=
"right"
>
Cell 1,3
</entry>
</row>
<row
valign
=
"middle"
>
<entry>
Cell 2,1
</entry>
<entry
align
=
"center"
>
Cell 2,2
</entry>
<entry
align
=
"right"
>
Cell 2,3
</entry>
</row>
</tbody>
</tgroup>
</table>
which is rendered as:
Header 1
Header 2
Table Header 3
Cell 1,1
Table cell 1,2
Cell 1,3
Cell 2,1
Cell 2,2
Cell 2,3
Table example having cells spanning several columns and a caption:
| Header 1 | Header 2 | Header 3 |
| -------- | -------- | -------- |
| Cell 1,1 + 1,2 || Cell 1,3 |
| Cell 2,1 + 2,2 + 2,3 |||
| Cell 3,1 | Cell 3,2 | Cell 3,3 |
[Table caption here]
is converted to:
<table>
<title>
Table caption here
</title>
<tgroup
cols
=
"3"
>
<colspec
colname
=
"c1"
rowheader
=
"headers"
/>
<colspec
colname
=
"c2"
rowheader
=
"headers"
/>
<colspec
colname
=
"c3"
rowheader
=
"headers"
/>
<thead>
<row
valign
=
"middle"
>
<entry
align
=
"center"
>
Header 1
</entry>
<entry
align
=
"center"
>
Header 2
</entry>
<entry
align
=
"center"
>
Header 3
</entry>
</row>
</thead>
<tbody>
<row
valign
=
"middle"
>
<entry
nameend
=
"c2"
namest
=
"c1"
>
Cell 1,1
+ 1,2
</entry>
<entry>
Cell 1,3
</entry>
</row>
<row
valign
=
"middle"
>
<entry
nameend
=
"c3"
namest
=
"c1"
>
Cell 2,1
+ 2,2 + 2,3
</entry>
</row>
<row
valign
=
"middle"
>
<entry>
Cell 3,1
</entry>
<entry>
Cell 3,2
</entry>
<entry>
Cell 3,3
</entry>
</row>
</tbody>
</tgroup>
</table>
which is rendered as:
Table B-1. Table caption here
Header 1
Header 2
Header 3
Cell 1,1 + 1,2
Cell 1,3
Cell 2,1 + 2,2 + 2,3
Cell 3,1
Cell 3,2
Cell 3,3
Typographic characters
Converts
"
'
" to apostrophe
’
, which is rendered as in word: "don’t"
"
...
" and "
. . .
" to ellipsis
…
, which are both rendered as: …
"
--
" to en dash
–
, which is rendered as: –
"
---
" to em dash
—
, which is rendered as: —
single quoted
'some text'
to
‘some text’
, which is rendered as: ‘some text’
double quoted
"some text"
to
“some text”
, which is rendered as: “some text”
double angle quoted
<<some text>>
to
«some text»
, which is rendered as: «some text»
This Markdown syntax extension, which is part of the MDITA Extended Profile, is enabled by default. In order to disable it, pass parameter
-p load.mdita.typographic false
to
ditac
.
If you don’t want some of the above plain text sequences to be processed, specify:
-p load.mdita.typographic.ENABLE_QUOTES false
Do not process single quotes, double quotes, double angle quotes.
-p load.mdita.typographic.ENABLE_SMARTS false
Do not process "
'
", "
...
", "
. . .
", "
--
", "
---
".
YAML front matter
Syntax for adding metadata to the generated DITA topic or map, that is, for populating the
<prolog>
element of a DITA topic and the
<topicmeta>
element of a DITA map.
These metadata are specified by key/value pairs written using a subset of the
YAML
(see also
http://yaml.org/
) syntax.
Supported metadata are:
audience
author
category
created
(maps to
<critdates>/<created>
)
keyword
(maps to
<keywords>/<keyword>
)
permissions
publisher
resourceid
revised
(maps to
<critdates>/<revised>
)
source
Any other metadata is translated to DITA element
<data>
.
This Markdown syntax extension, which is part of the MDITA Core Profile and the MDITA Extended Profile, is enabled by default. In order to disable it, pass parameter
-p load.mdita.yaml-front-matter false
to
ditac
.
Example:
---
author:
- Brian W. Kernighan
- Dennis Ritchie
publisher: Prentice Hall
created: 1978/01/01
revised: 1988/01/01
---
is converted to:
<prolog>
<author>
Brian W. Kernighan
</author>
<author>
Dennis Ritchie
</author>
<publisher>
Prentice Hall
</publisher>
<critdates>
<created
date
=
"1978/01/01"
/>
<revised
modified
=
"1988/01/01"
/>
</critdates>
</prolog>
Other extensions
The following Markdown syntax extensions are also supported:
anchorlink
aside
emoji
enumerated-reference
gfm-issues
gfm-tasklist
gfm-users
toc
wikilink
youtube-embedded
All the above extensions are disabled by default. In order to enable an extension, pass parameter
-p load.mdita.EXTENSION_NAME true
to
ditac
. For example:
-p load.mdita.emoji true
Any extension listed in this section may be parameterized by passing parameter
-p load.mdita.EXTENSION_NAME.PARAMETER_NAME PARAMETER_VALUE
(15)
The only types supported for
PARAMETER_VALUE
are: string, boolean (
true
or
false
), integer and any enumerated type.
(15)
to
ditac
. Examples:
-p load.mdita.emoji.ATTR_IMAGE_SIZE 16
-p load.mdita.emoji.ATTR_ALIGN ""
-p load.mdita.emoji.USE_IMAGE_TYPE IMAGE_ONLY
-p load.mdita.emoji.USE_SHORTCUT_TYPE ANY_GITHUB_PREFERRED
More generally, the Markdown parser (pseudo
EXTENSION_NAME
is "
parser
") and the
HTML
renderer (pseudo
EXTENSION_NAME
is "
renderer
") may also be parameterized this way. For example, automatically generate an ID for all headings not already having an ID
and
“render” all heading IDs in
HTML
(16)
By default, heading IDs are not “rendered” in
HTML
, which is somewhat counterintuitive.
(16)
:
-p load.mdita.renderer.GENERATE_HEADER_ID true
-p load.mdita.renderer.RENDER_HEADER_ID true
More information about extensions and their parameters in
Extensions
(
flexmark-java
is the software component used by ditac to parse Markdown and convert it to
HTML
).
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
Appendix B. Lightweight DITA support
Appendix B. Lightweight DITA support
Appendix C. Limitations and implementation specificities
Conversion to XHTML and XSL-FO
The following elements are ignored:
the
<syntaxdiagram>
element and all its descendant elements;
<ux-window>
;
<sort-as>
.
Layout of
<simpletable>
elements:
Attribute
@frame
is ignored.
Conversion to XHTML:
Attribute
@expanse
is partially supported. Its value is considered to always be 100%.
Conversion to XSL-FO:
Attribute
@expanse
is ignored. The width of a
<simpletable>
is always 100% and thus, you cannot center a
<simpletable>
using the
center
parameter.
Layout of (CALS)
<table>
element:
Attribute
<entry>
/
@rotate
is not supported.
Conversion to XHTML:
Attribute
<table>
/
@orient
="land"
(landscape table) is not supported.
Attribute
@pgwide
is partially supported. Its value is considered to always be 100%.
Something like
colwidth="2*+3pt"
is treated as if it were
colwidth="2*"
. Moreover, because no Web browser seems to support relative lengths, a relative length is approximated to a percentage.
Conversion to XSL-FO:
Attribute
<table>
/
@orient
="land"
(landscape table)
is
supported. However, except when the XSL-FO processor being invoked by ditac is
XMLmind XSL-FO Converter
v6.2+
, the landscape table must have few enough rows to fit onto one page. When this is not the case, the last rows of the landscape table will simply not appear in the output.
Attribute
@pgwide
is ignored. The width of a
<table>
is always 100% and thus, you cannot center a
<table>
using the
center
parameter.
The qualified ID of a descendant element of a topic is transformed as follows:
topicID
/
descendantID
becomes
topicID
__
descendantID
in the generated content. (The separator string being used comprises
two
underscore characters.)
Example: let's suppose a topic having "
parameters
" as its
@id
attribute, containing a table having "
default_values
" as its
@id
attribute, has been converted to HTML. The generated HTML file which contains the topic is called
userguide.html
.
URL "
userguide.html#parameters
" allows to address the topic.
URL "
userguide.html#parameters__default_values
" allows to address the table.
Booklists
Contents corresponding to the following empty
<bookmap>
elements:
<toc>
,
<tablelist>
,
<figurelist>
,
<indexlist>
can be automatically generated by ditac.
Ditac supports
<examplelist>
and
<equationlist>
in addition to
<toc>
,
<tablelist>
,
<figurelist>
,
<indexlist>
.
Contents corresponding to the following empty
<bookmap>
elements:
<trademarklist>
,
<abbrevlist>
,
<bibliolist>
,
<glossarylist>
cannot
be automatically generated by ditac.
Entries automatically generated by ditac for
<toc>
,
<tablelist>
,
<figurelist>
,
<examplelist>
,
<equationlist>
and
<indexlist>
only contain plain text. For example, if a topic title is "
<title>The Java<sup>TM</sup> <b>Spring</b> framework</title>
", then the corresponding TOC entry contains "
The JavaTM Spring framework
".
About the automatically generated
<indexlist>
:
Specifying an
<indexterm>
element in the
<topicmeta>
/
<keywords>
element of a
<topicref>
element is equivalent to specifying it in the
<prolog>
/
<metadata>
/
<keywords>
element of the corresponding topic. Any other
<indexterm>
element found in a map is ignored.
In a topic, the implicit end of an index range is always after the last child of the topic, not including nested topics.
Overlapping index ranges are not supported.
The markup possibly contained in an
<indexterm>
(
<option>
,
<parmname>
,
<apiname>
, etc) is ignored.
Because we consider this feature to be truly useful, we'll generate page references and ``see also'' redirections even for non-leaf index terms. No warnings will be reported in this case. If you don't like this specificity, simply do not author such
<indexterm>
elements.
Unless specified using the
-lang
command-line option, the language of the document is taken from the
@xml:lang
attribute of the root element of the topic map. If there is no such attribute, the language defaults to "
en
". Knowing the language of the document is required to be able to generate localized text (e.g.
"Kapitel"
) and to sort and group the index entries.
Keyref processing
Matching element content taken from a key definition is limited to the following cases:
A
<link>
element gets its
<linktext>
child from
key_definition
/topicmeta/linktext
and its
<desc>
child from
key_definition
/topicmeta/shortdesc
.
An
<xref>
element gets its contents from
key_definition
/topicmeta/linktext
.
Elements
<ph>
,
<cite>
,
<keyword>
,
<dt>
and
<term>
all get their content from
key_definition
/topicmeta/keywords/keyword
, if any. Otherwise the contents of
key_definition
/topicmeta/linktext
is used as a fallback.
Key-based, cross-deliverable addressing
is not implemented.
Topics which are not directly or indirectly referenced by the root map are automatically added to the root key scope. Such topics typically contain common content which is included by other topics using
@conref
.
If you don't want this to happen, please explicitly reference such common content topics in your maps and mark these references as being resource-only. Example:
<topigroup keyscope="MyKeycope">
<topicref href="commonContent.dita" processing-role="resource-only"/>
Transclusion
During a conref transclusion, ditac does not check the compatibility of the domains of the referencing document with the domains of the referenced document. This can be changed by defining system property
DITAC_CHECK_DOMAINS
(that is, adding
-DDITAC_CHECK_DOMAINS=1
to the
bin/ditac
shell script or to
bin/ditac.bat
). However, the verifications performed by ditac are almost certainly not conforming as we have not really understood the spec.
Transclusion does not implement automatic generalization. For example, transcluding
<li conref="foo.dita#foo/item3"/>
will report a fatal error if "
foo/item3
" is a
<step>
element.
A
<step>
element is a specialization of a
<li>
element. Some DITA processors are capable of automatically converting a
<step>
element to an
<li>
element. This is not the case of ditac.
By default, the character encoding of the text file included using
a
<coderef>
element
is automatically determined by ditac (e.g. by examining the BOM or
<?xml encoding="XXX"?>
). You may specify this character encoding explicitly by adding a
format="text; charset=XXX"
attribute to the
<coderef>
element. Example:
<coderef format="text; charset=US-ASCII" href="../src/sieve.cpp"/>
.
Cascading of attributes and metadata
Filtering and flagging may be performed using any attribute. However only the following attributes:
<audience>
,
<platform>
,
<product>
,
<otherprops>
,
<props>
, specializations of attributes
<props>
and
<rev>
properly cascade with a map, within the
<related-links>
element of a topic and from a
<topicref>
element to the referenced
<topic>
element.
Both attribute (e.g.
@audience
) and element (e.g.
<audience>
) metadata are copied from a
<topicref>
element to the referenced
<topic>
element.
Unless
topicref/topicmeta/@lockmeta=no
,
topicref/topicmeta/searchtitle
supplements or overrides
topic/titlealts/searchtitle
.
In the following case,
<topicref href="foo.dita"/>
, the
<topicref>
metadata is copied only to the first topic found in
foo.dita
. An alternative would be to copy metadata to all topics found in
foo.dita
.
Subject scheme maps
XMLmind DITA Converter supports all the features documented in
"
2.2.3 Subject scheme maps and their usage
"
when these features are related to attribute values.
Only the following useful subset of the grammar of subject scheme maps is supported by ditac. Any other
subject scheme element
is silently ignored:
<subjectScheme>
Content:
[ subjectdef | enumerationdef | schemeref ]*
</subjectScheme>
<subjectdef
keys
=
name of a set of attribute values OR an attribute value
OR
keyref
=
name of a set of attribute values OR an attribute value
navtitle =
description of this subjectdef
>
Content: [ <topicmeta>
<navtitle>
description of this subjectdef
</navtitle>
</topicmeta> ]?
[ subjectdef ]*
</subjectdef>
<enumerationdef>
Content:
[ elementdef ]*
attributedef
<subjectdef
keyref =
name of a set of attribute values
(keyref absent means:
don't use this attribute)
/>
</enumerationdef>
<elementdef
name
=
element qualified name
/>
<attributedef
name
=
attribute qualified name
/>
<schemeref
href
=
location of another subject scheme map
/>
All the subject scheme maps referenced in the map
(17)
Typically using
<mapref type="scheme" href="my_subject_scheme_map.ditamap"/>
.
(17)
to be converted and in all its submaps are loaded in turn and their contents are merged as if a single subject scheme map was specified at the very beginning of the main map.
It's also possible to specify which subject scheme map to use by the means of the
-attrvalues
and
-defaultattrvalues
command-line options.
Attribute groups
are fully supported both for attribute value validation and when filtering and flagging. Example, some of the values declared for attribute
@platform
:
<subjectdef keys="macos"/>
<subjectdef keys="linux">
<subjectdef keys="redhat"/>
<subjectdef keys="ubuntu"/>
</subjectdef>
A validation error will be reported for attribute
platform="linux(redhat debian)"
because
"debian"
has not been declared. A validation error will be reported for attribute
platform="macos(redhat)"
because
"redhat"
is not a kind of
"macos"
.
Conditional processing
Conditional processing is also applied to the information (e.g.
<title>
,
<metadata>
) contained in a map. However, only the exclude action will work. The flag action does not work in this context.
Any attribute (that is, not only
@audience
,
@platform
,
@product
,
@rev
,
@otherprops
,
@deliveryTarget
and attributes specialized from
@props
) may be used to filter or flag an element. For example, the
@status
attribute may be used to highlight changes. See
below
.
Subject scheme maps, which should be used to validate attribute values and also to implement smarter conditional processing, are currently ignored.
If a map directly contains multiple
<ditavalref>
elements, all
<ditavalref>
elements but the first one are ignored. When this is the case, a warning is reported, though.
The externally specified
DITAVAL
file is combined with the
<ditavalref>
element, if any, which is a direct child of a map.
<ditavalref>
error conditions
are not detected.
In a DITAVAL file,
action="passthrough"
is not supported.
Flagging contents
Only the following elements (and, of course, their specializations) can be flagged
without restrictions
:
<topic>
,
<p>
,
<lq>
,
<note>
,
<dl>
,
<ul>
,
<ol>
,
<sl>
,
<pre>
,
<lines>
,
<fig>
,
<object>
,
<table>
,
<simpletable>
,
<section>
,
<example>
,
<ph>
,
<term>
,
<xref>
,
<cite>
,
<q>
,
<boolean>
,
<state>
,
<keyword>
,
<tm>
,
<image>
,
<foreign>
.
Any other element (
<li>
,
<dlentry>
,
<step>
,
<stentry>
, etc) is just given
some
of the colors and font styles, if any, specified by the flagging elements and attributes found in the
.ditaval
file
.
In a
.ditaval
file, attribute
style="double-underline"
is processed as if it were
underline
.
In a
.ditaval
file, attribute
style="line-through"
is supported in addition to
underline
and
overline
.
The
@status
attribute may be used to highlight changes
. Example:
$ ditac -filter status.ditaval doc.pdf doc.ditamap
where file
status.ditaval
contains:
<val>
<prop action="flag" att="status" backcolor="#FFFF99" style="underline"
val="new"/>
<prop action="flag" att="status" backcolor="#99FF99" val="changed"/>
<prop action="flag" att="status" backcolor="#FF7F7F" style="line-through"
val="deleted"/>
</val>
and where
doc.ditamap
references a topic containing for example:
<p>
A paragraph containing
<ph
status="new"
>new text
</ph>
,
<ph
status="changed"
>changed text
</ph>
,
<ph
status="deleted"
>deleted text
</ph>
.
</p>
...
<p
status="new"
>New paragraph.
</p>
...
<ul
s
tatus="changed"
>
<li>
First item in changed
<tt>
ul
</tt>
.
</li>
<li>
<p>
Second item.
</p>
<p
status="deleted"
>Deleted paragraph.
</p>
</li>
<li>
Third item.
</li>
</ul>
In a
.ditaval
file
, the value of the
@changebar
attribute of the
<revprop>
element, has the following syntax:
changebar
->
prop
[ S
';'
S
prop
]+
prop
->
prop_name
':'
S
prop_value
The style properties supported there are:
Name
Value
Default
Description
color
<color>
The value of the
color
property.
See
XSL 1.1 property
change-bar-color
.
offset
<length>
6pt
See
XSL 1.1 property
change-bar-offset
.
placement
start
|
end
|
left
|
right
|
inside
|
outside
|
alternate
start
See
XSL 1.1 property
change-bar-placement
.
style
<border-style>
solid
See
XSL 1.1 property
change-bar-style
.
width
<border-width>
medium
See
XSL 1.1 property
change-bar-width
.
Example:
$ ditac -filter changebar.ditaval doc.pdf doc.ditamap
where file
changebar.ditaval
contains:
<val>
<revprop
action
=
"flag"
val
=
"2.1"
changebar
=
"style: double; width: 3px; placement: start;"
>
</revprop>
</val>
and where
doc.ditamap
references a topic containing for example:
...
<fig
rev="2.1"
>
<title>
The logo of ACME corp.
</title>
<image
href
=
"acme_logo.png"
/>
</fig>
...
Change bars are implemented by the following processors:
Apache FOP
,
RenderX XEP
and
Antenna House Formatter
. For any other XSL-FO processor (e.g.
XMLmind XSL-FO Converter
) and also for all XHTML-based output formats (e.g. EPUB, Web Help), change bars are emulated using left or right borders. This emulation may give poor results when a change bar is added to a table.
Generating links
Attribute
@collection-type
, whatever its value, is ignored inside the
<reltable>
element.
Ditac cannot generate “smart labels” for related links. The label is always "
Related Links
". It could have been "
Related Concepts
", "
Related Reference
" or even something determined using what is specified in the
<title>
child element of a
<relcolspec>
element.
Chunking
The "
to-navigation
"
chunk
value is ignored.
When the
@copy-to
attribute is used to specify an URI, the parent path part (e.g. "
foo
" in "
foo/bar.htm
") and the extension part (e.g. "
.htm
" in "
foo/bar.htm
") are ignored. Only the ``root name'' (e.g. "
bar
" in "
foo/bar.htm
") is taken into account during the processing of the map.
The default chunking policy is
by-document
.
When the deliverable targets a print media, all chunk specifications are removed and a
chunk="to-content"
attribute is added to the root element of the map.
Other limitations and specificities
<topicref>
elements found inside a
<reltable>
do not “pull” the corresponding topics. In other words, a
<reltable>
cannot be used to add some content to a deliverable. With ditac, a
<reltable>
is just used to create links between topics which are already part of the deliverable.
There are several limitations and inconsistencies when working with files containing multiple topics and/or nested topics.
For example, let's suppose a map contains the following
<topicref>
s, where
multi.dita
contains multiple topics (first topic being
t1
, second topic being
t2
), each topic possibly containing nested topics.
<topicref
href
=
"multi.dita"
/>
<topicref
href
=
"multi.dita"
/>
<topicref
href
=
"multi.dita#t1"
/>
<topicref
href
=
"multi.dita#t2"
/>
As expected, the first
<topicref>
pulls all the topics, including nested ones, contained in
multi.dita
. However parent, child, sibling, etc, related links will
not
be automatically generated for these topics.
The second
<topicref>
pulls a copy of all the topics, including nested ones, contained in
multi.dita
. The third
<topicref>
pulls a copy of topic
t1
(excluding nested topics). The fourth
<topicref>
is
not
detected as pulling a copy of topic
t2
. Therefore the fourth
<topicref>
does nothing at all, as topic
t2
has already being pulled into the deliverable (by the first
<topicref>
).
The following
<topicref>
elements are not treated differently from the others:
<topicset>
,
<topicsetref>
.
The following
<bookmap>
elements:
<abbrevlist>
,
<amendments>
,
<appendices>
,
<appendix>
,
<bibliolist>
,
<bookabstract>
,
<booklist>
,
<chapter>
,
<colophon>
,
<dedication>
,
<draftintro>
,
<figurelist>
,
<examplelist>
,
<equationlist>
,
<glossarylist>
,
<indexlist>
,
<notices>
,
<part>
,
<preface>
,
<tablelist>
,
<toc>
,
<trademarklist>
, are considered to have an
implicit title
when
they have no
@href
attribute,
and they have no explicit title,
and they contain one or more
<topicref>
(of any type) child elements.
For example:
<glossarylist>
<topicref
href
=
"term1.dita"
/>
<topicref
href
=
"term2.dita"
/>
<topicref
href
=
"term3.dita"
/>
</glossarylist>
is processed as if it was:
<glossarylist
navtitle
=
"Glossary"
>
<topicref
href
=
"term1.dita"
/>
<topicref
href
=
"term2.dita"
/>
<topicref
href
=
"term3.dita"
/>
</glossarylist>
All attributes and elements —
map/@anchorref
,
<anchorref>
,
<anchor>
,
<navref>
— related to runtime integration of maps are ignored.
Ditac reports a "
topicB
, href points outside processed topics
" warning when
topicA
references
topicB
and
topicB
is not referenced in the map. In order to suppress this warning, add to the map a
<topicref>
having attribute
toc="no"
and pointing to
topicB
.
Convenience
element
<glossref>
cannot be used with ditac without setting some of its attributes. Example:
<glossref href="ONE.dita" keys="key_ONE"/>
is strictly equivalent to:
<topicref href="ONE.dita" keys="key_ONE" linking="none" print="no"
toc="no" search="no"/>
Notice default attribute
print="no"
. Therefore, when generating PDF, such
<glossref>
is discarded at a very early stage by ditac. The consequence is that each occurrence of
<abbreviated-form keyref="key_ONE"/>
will cause ditac to report a "cannot resolve keyref" warning. The workaround is to simply avoid using
<glossref>
and to stick to
<topicref>
with a
@keys
attribute.
Related information
•
Appendix A. About DITA support in XMLmind DITA Converter
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
Appendix C. Limitations and implementation specificities
Appendix C. Limitations and implementation specificities
Appendix D. Translating the messages generated by ditac
About this task
The messages generated by ditac (
Table of Contents
,
List of Figures
,
Chapter
,
Appendix
, etc) are available in English (
en
), French (
fr
), German (
de
), Spanish (
es
), etc. Now let's suppose that you are routinely authoring Portuguese documents and that you want ditac to also support this language.
Procedure
Go to the
ditac_install_dir
/xsl/common/messages/
directory.
~$ cd /opt/ditac/xsl/common/messages/
Copy
en.xml
to
pt.xml
.
Note that "
pt
" is the
ISO 639-1
two-letter code of the Portuguese language.
Country variants of a language are supported too. Example:
pt-BR
(Brazilian Portuguese). However, when this is the case, make sure that the name of the file containing your messages use lower-case characters. Example:
pt-br.xml
should be fine, while
pt-BR.xml
or
pt_br.xml
would not work.
/opt/ditac/xsl/common/messages$ cp en.xml pt.xml
Open
pt.xml
in a text or XML editor and translate to Portuguese all the messages found in this file.
<?xml version="1.0" encoding="UTF-8"?>
<messages
xml:lang
=
"pt"
>
<!-- Task sections -->
<message
name
=
"prereq"
>
Pré-requisito
</message>
...
For some languages, like CJK languages, you'll have to insert variable
%{N}
in the localized text corresponding to numbered elements (Chapter, Appendix, Table, Figure, etc). This variable is replaced by the number of the element.
Japanese example: excerpts of a possible
ditac_install_di
r/xsl/common/messages/ja.xml
:
<message name="chapter">
第
%{N}
章
</message>
For the first chapter of the document, this gives "
第1章
", which means "The 1 Chapter".
Open
ditac_install_dir
/xsl/common/commonUtil.xsl
in a text or XML editor and add string
'pt'
at the end of the
messageFileNames
list:
<!-- localize ========================================================== -->
<xsl:param
name
=
"messageFileNames"
select
=
"'en', 'fr', 'de', 'es'
, 'pt'
"/>
When done, please send us (
ditac-support@xmlmind.com
) your translation (e.g.
pt.xml
) so we can add your contribution to the distribution of XMLmind DITA Converter.
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual
Appendix D. Translating the messages generated by ditac
Appendix D. Translating the messages generated by ditac
Index
A
add-copiable-links, parameter
,
PAGEREF xsltParams__I_kpi930_
0
-addindex, option
,
PAGEREF commandLine__I_wj665d_
0
add-index-toc, parameter
,
PAGEREF xsltParams__I_vdna0f_
0
add-toc-root, parameter
,
PAGEREF xsltParams__I_o9lbkw_
0
-ahf, option
,
PAGEREF commandLine__I_dj3dk3_
0
AHF, XSL-FO processor
,
PAGEREF quickStart__I_rrve8x_
0
,
PAGEREF commandLine__I_nju79o_
0
,
PAGEREF commandLine__I_oggklz_
0
,
PAGEREF limitations__I_x1tq7a_
0
-ahfconf, option
,
PAGEREF commandLine__I_vlzhu7_
0
animation
,
PAGEREF media__I_3cohb9_
0
Antenna House Formatter
.
See
AHF, XSL-FO processor
;
FOP, XSL-FO processor
Apache FOP
.
See
FOP, XSL-FO processor
appendix-number-format, parameter
,
PAGEREF xsltParams__I_8z2oum_
0
audio
,
PAGEREF media__I_ciunch_
0
,
PAGEREF media__I_ez29b1_
0
-automap, option
,
PAGEREF commandLine__I_ejvtyy_
0
B
-backmatter, option
,
PAGEREF commandLine__I_sarzip_
0
base-font-size, parameter
,
PAGEREF xsltParams__I_u0szga_
0
body-bottom-margin, parameter
,
PAGEREF xsltParams__I_xvn9t4_
0
body-font-family, parameter
,
PAGEREF xsltParams__I_itr2ad_
0
body-start-indent, parameter
,
PAGEREF xsltParams__I_q3vlpr_
0
body-top-margin, parameter
,
PAGEREF xsltParams__I_6qjl65_
0
{{break}}, page header/footer variable
,
PAGEREF pageHeaderFooter__I_78syic_
0
C
-c, option
,
PAGEREF commandLine__I_lyvz32_
0
cause-number-format, parameter
,
PAGEREF xsltParams__I_g16al6_
0
center, parameter
,
PAGEREF xsltParams__I_lcx14p_
0
chain-pages, parameter
,
PAGEREF xsltParams__I_fm6vx_
0
chain-topics, parameter
,
PAGEREF xsltParams__I_jvn7b_
0
.
See also
ignore-navigation-links, parameter
changes
bars
,
PAGEREF limitations__I_fgoc1k_
0
highlighting
,
PAGEREF limitations__I_xsqoso_
0
{{chapter-title}}, page header/footer variable
,
PAGEREF pageHeaderFooter__I_k76zrx_
0
.chm, filename extension
,
PAGEREF quickStart__I_afgv04_
0
.
See also
HTML Help, output format
chmBasename, parameter
,
PAGEREF xsltParams__I_blt692_
0
choice-bullets, parameter
,
PAGEREF xsltParams__I_453z0t_
0
-chunk, option
,
PAGEREF commandLine__I_r2velx_
0
coderef, implementation specificity
,
PAGEREF limitations__I_5zo0ge_
0
cover-image, parameter
,
PAGEREF xsltParams__I_kigdo0_
0
CSS, custom
,
PAGEREF customCSS__I_yof060_
0
css, parameter
,
PAGEREF xsltParams__I_9a51z6_
0
cssResourceName, parameter
,
PAGEREF xsltParams__I_sxw3vh_
0
custom-css, parameter
,
PAGEREF xsltParams__I_jp07qr_
0
,
PAGEREF customCSS__I_vnb9b6_
0
D
default-table-width, parameter
,
PAGEREF xsltParams__I_3lqlit_
0
ditac.options, options file
,
PAGEREF install__I_olcu8n_
0
,
PAGEREF commandLine__I_hyvnf6_
0
ditacListsURI, parameter
,
PAGEREF xsltParams__I_fri7cl_
0
DITA specialization
,
PAGEREF specialize__I_bc3bie_
0
DITAVAL, conditional processing
,
PAGEREF commandLine__I_idg71s_
0
,
PAGEREF limitations__I_3b1we_
0
,
PAGEREF limitations__I_i570gi_
0
.doc, filename extension
,
PAGEREF quickStart__I_kosc3p_
0
.
See also
RTF, output format
{{document-date}}, page header/footer variable
,
PAGEREF pageHeaderFooter__I_y5kbre_
0
{{document-title}}, page header/footer variable
,
PAGEREF pageHeaderFooter__I_jut1p8_
0
.docx, filename extension
,
PAGEREF quickStart__I_k7wcxd_
0
,
PAGEREF xsltParams__I_gmkndc_
0
.
See also
Office Open XML, output format
docx, output format name
.
See
Office Open XML, output format
-dryrun, option
,
PAGEREF commandLine__I_qvo9z1_
0
E
Eclipse Help, output format
,
PAGEREF distrib__I_6pvo95_
0
,
PAGEREF quickStart__I_zfmyc6_
0
,
PAGEREF quickStart__I_twdhma_
0
,
PAGEREF commandLine__I_ljufq5_
0
,
PAGEREF customCSS__I_atcyag_
0
eclipsehelp, output format name
.
See
Eclipse Help, output format
.epub, filename extension
,
PAGEREF quickStart__I_sj7wx_
0
.
See also
EPUB 2, output format
epub, output format name
.
See
EPUB 2, output format
EPUB 2, output format
,
PAGEREF distrib__I_sy72rr_
0
,
PAGEREF quickStart__I_47256a_
0
,
PAGEREF quickStart__I_o8b67z_
0
,
PAGEREF quickStart__I_c9556k_
0
,
PAGEREF commandLine__I_odo9qz_
0
,
PAGEREF xsltParams__I_c5b9u1_
0
,
PAGEREF customCSS__I_c46euf_
0
epub2-compatible, parameter
,
PAGEREF xsltParams__I_dww9yg_
0
EPUB 3, output format
,
PAGEREF distrib__I_k2uwuv_
0
,
PAGEREF quickStart__I_689bd3_
0
,
PAGEREF quickStart__I_epz8gg_
0
,
PAGEREF quickStart__I_f3bv2g_
0
,
PAGEREF commandLine__I_eva5op_
0
,
PAGEREF xsltParams__I_jv8k3v_
0
,
PAGEREF xsltParams__I_jbj9zr_
0
,
PAGEREF xsltParams__I_86m6pc_
0
,
PAGEREF media__I_746m9j_
0
,
PAGEREF media__I_btiyzd_
0
,
PAGEREF customCSS__I_9wd1jr_
0
epub3, output format name
.
See
EPUB 3, output format
epub-identifier, parameter
,
PAGEREF xsltParams__I_2hsxjl_
0
equation-block-equation-width, parameter
,
PAGEREF xsltParams__I_sgccde_
0
equation-block-number-width, parameter
,
PAGEREF xsltParams__I_pjxj9w_
0
equation-number-after, parameter
,
PAGEREF xsltParams__I_bjtdu_
0
equation-number-before, parameter
,
PAGEREF xsltParams__I_wbtblp_
0
-errout, option
,
PAGEREF commandLine__I_jntne3_
0
extended-toc, parameter
,
PAGEREF xsltParams__I_eiof6a_
0
external-href-after, parameter
,
PAGEREF xsltParams__I_v8q3ys_
0
external-href-before, parameter
,
PAGEREF xsltParams__I_93tgdo_
0
external-link-icon-height, parameter
,
PAGEREF xsltParams__I_ogyx7j_
0
external-link-icon-name, parameter
,
PAGEREF xsltParams__I_l50to8_
0
external-link-icon-width, parameter
,
PAGEREF xsltParams__I_xqv0by_
0
external-resource-base, parameter
,
PAGEREF xsltParams__I_rcvunf_
0
F
-f, option
,
PAGEREF commandLine__I_2qufkp_
0
-filter, option
,
PAGEREF commandLine__I_78tu1v_
0
,
PAGEREF limitations__I_ejtawh_
0
,
PAGEREF limitations__I_xb7j37_
0
Flash
,
PAGEREF media__I_264mj7_
0
fo, output format name
.
See
XSL-FO, output format
-foconverter, option
,
PAGEREF commandLine__I_qs8fmm_
0
footer-center, parameter
,
PAGEREF xsltParams__I_qm769i_
0
footer-center-width, parameter
,
PAGEREF xsltParams__I_2srn40_
0
footer-height, parameter
,
PAGEREF xsltParams__I_zh224j_
0
footer-left, parameter
,
PAGEREF xsltParams__I_uodezd_
0
footer-left-width, parameter
,
PAGEREF xsltParams__I_3dma3b_
0
footer-right, parameter
,
PAGEREF xsltParams__I_7ruufm_
0
footer-right-width, parameter
,
PAGEREF xsltParams__I_j1vfo3_
0
footer-separator, parameter
,
PAGEREF xsltParams__I_itlw1t_
0
-fop, option
,
PAGEREF commandLine__I_dahrti_
0
FOP, XSL-FO processor
,
PAGEREF distrib__I_vzc7xo_
0
,
PAGEREF quickStart__I_1k6c6s_
0
,
PAGEREF quickStart__I_bwi9bq_
0
,
PAGEREF commandLine__I_9agqse_
0
,
PAGEREF commandLine__I_ootzce_
0
,
PAGEREF limitations__I_ug779t_
0
-fopconf, option
,
PAGEREF commandLine__I_1sb2sq_
0
foProcessor, parameter
,
PAGEREF xsltParams__I_8mba9y_
0
-format, option
,
PAGEREF commandLine__I_kkz8wb_
0
format-to-type, parameter
,
PAGEREF xsltParams__I_61wtl5_
0
-frontmatter, option
,
PAGEREF commandLine__I_1kw1dy_
0
G
Generated messages
.
See
Translation
generator-info, parameter
,
PAGEREF xsltParams__I_h8ljb9_
0
glossref, implementation specificity
,
PAGEREF limitations__I_gl57kz_
0
H
HDITA
,
PAGEREF lwditaSupport__I_e9zsqx_
0
header-center, parameter
,
PAGEREF xsltParams__I_4q97hz_
0
header-center-width, parameter
,
PAGEREF xsltParams__I_t9ksaw_
0
header-height, parameter
,
PAGEREF xsltParams__I_32omiy_
0
header-left, parameter
,
PAGEREF xsltParams__I_nis0zm_
0
header-left-width, parameter
,
PAGEREF xsltParams__I_4qdls2_
0
header-right, parameter
,
PAGEREF xsltParams__I_5f11yh_
0
header-right-width, parameter
,
PAGEREF xsltParams__I_ynfy99_
0
header-separator, parameter
,
PAGEREF xsltParams__I_sck9o7_
0
-hhc, option
,
PAGEREF commandLine__I_t8wija_
0
hhc-basename, parameter
,
PAGEREF xsltParams__I_c1quxe_
0
hhpBasename, parameter
,
PAGEREF xsltParams__I_nc56qw_
0
hhp-template, parameter
,
PAGEREF xsltParams__I_82is2p_
0
hhx-basename, parameter
,
PAGEREF xsltParams__I_w2w0ba_
0
highlight-source, parameter
,
PAGEREF xsltParams__I_2pr0nq_
0
.htm, filename extension
,
PAGEREF quickStart__I_cobkzg_
0
.
See also
XHTML 1.0, output format
.html, filename extension
,
PAGEREF quickStart__I_rj967p_
0
.
See also
XHTML 1.0, output format
html, output format name
.
See
HTML 4.01, output format
HTML 4.01, output format
,
PAGEREF distrib__I_4knnw2_
0
,
PAGEREF quickStart__I_snq440_
0
,
PAGEREF quickStart__I_now7nt_
0
,
PAGEREF commandLine__I_q3pufq_
0
,
PAGEREF customCSS__I_b197oy_
0
HTML Help, output format
,
PAGEREF distrib__I_paibdd_
0
,
PAGEREF quickStart__I_v0a1hm_
0
,
PAGEREF quickStart__I_qdu5si_
0
,
PAGEREF quickStart__I_ezylfq_
0
,
PAGEREF commandLine__I_cou5qk_
0
,
PAGEREF olNumbering__I_barl3e_
0
,
PAGEREF customCSS__I_tcyynk_
0
htmlhelp, output format name
.
See
HTML Help, output format
hyphenate, parameter
,
PAGEREF xsltParams__I_nmwtbu_
0
I
-i, option
,
PAGEREF commandLine__I_t8fekt_
0
ignore-navigation-links, parameter
,
PAGEREF xsltParams__I_l5k2oe_
0
.
See also
chain-topics, parameter
-ignoreoptionsfile, option
,
PAGEREF commandLine__I_m3jmo5_
0
{{image(URI)}}, page header/footer variable
,
PAGEREF pageHeaderFooter__I_gdumhv_
0
imagemap
,
PAGEREF xsltParams__I_wtkdi5_
0
-images, option
,
PAGEREF commandLine__I_z6ug57_
0
-index, option
,
PAGEREF commandLine__I_e7lcn6_
0
index-column-gap, parameter
,
PAGEREF xsltParams__I_47euh_
0
index-range-separator, parameter
,
PAGEREF xsltParams__I_2yucg4_
0
J
Java Help, output format
,
PAGEREF quickStart__I_gyj8ui_
0
,
PAGEREF olNumbering__I_qathbu_
0
javascripts, parameter
,
PAGEREF xsltParams__I_vlrjqz_
0
-jhindexer, option
,
PAGEREF commandLine__I_tg0g9o_
0
justified, parameter
,
PAGEREF xsltParams__I_anvy6y_
0
K
-keepfo, option
,
PAGEREF commandLine__I_mhhzu_
0
L
-lang, option
,
PAGEREF commandLine__I_db9t64_
0
Lightweight DITA
,
PAGEREF lwditaSupport__I_x9t2sv_
0
Lightweight DITA support
,
PAGEREF media__I_mf1sbr_
0
,
PAGEREF media__I_piifrh_
0
link-auto-text, parameter
,
PAGEREF xsltParams__I_6c9obw_
0
link-bullet, parameter
,
PAGEREF xsltParams__I_en3wjs_
0
Localization
.
See
Translation
LwDITA
.
See
Lightweight DITA
;
Lightweight DITA support
M
Markdown
,
PAGEREF commandLine__I_35jfdb_
0
,
PAGEREF lwditaSupport__I_lwajfk_
0
mark-external-links, parameter
,
PAGEREF xsltParams__I_zba6kw_
0
mark-important-steps, parameter
,
PAGEREF xsltParams__I_z3infx_
0
MathJax
,
PAGEREF xsltParams__I_puvukx_
0
,
PAGEREF xsltParams__I_o8mui8_
0
mathjax, parameter
,
PAGEREF xsltParams__I_efd9vs_
0
mathjax-url, parameter
,
PAGEREF xsltParams__I_7qz18j_
0
MathML
,
PAGEREF xsltParams__I_g8udyc_
0
,
PAGEREF xsltParams__I_innb0g_
0
,
PAGEREF media__I_2jz70d_
0
MDITA
,
PAGEREF commandLine__I_s64vve_
0
,
PAGEREF lwditaSupport__I_mkw6of_
0
menucascade-separator, parameter
,
PAGEREF xsltParams__I_rejgpi_
0
N
navigation-icon-height, parameter
,
PAGEREF xsltParams__I_wqlee1_
0
navigation-icon-suffix, parameter
,
PAGEREF xsltParams__I_1q3hgd_
0
navigation-icon-width, parameter
,
PAGEREF xsltParams__I_k1nhbi_
0
note-icon-height, parameter
,
PAGEREF xsltParams__I_ptny21_
0
note-icon-list, parameter
,
PAGEREF xsltParams__I_emtt22_
0
note-icon-suffix, parameter
,
PAGEREF xsltParams__I_3pj8m4_
0
note-icon-width, parameter
,
PAGEREF xsltParams__I_lpo69o_
0
number, parameter
,
PAGEREF quickStart__I_xod15j_
0
,
PAGEREF xsltParams__I_jfnh0f_
0
number-separator1, parameter
,
PAGEREF xsltParams__I_cfr9px_
0
number-separator2, parameter
,
PAGEREF xsltParams__I_wzrg6d_
0
number-toc-entries, parameter
,
PAGEREF xsltParams__I_n651e3_
0
O
-o, option
,
PAGEREF commandLine__I_dxnlpm_
0
.odt, filename extension
,
PAGEREF quickStart__I_efd345_
0
,
PAGEREF xsltParams__I_495zjr_
0
.
See also
OpenOffice, output format
odt, output format name
.
See
OpenOffice, output format
Office Open XML, output format
,
PAGEREF distrib__I_rrq8ta_
0
,
PAGEREF quickStart__I_46ztf8_
0
,
PAGEREF quickStart__I_bpizzg_
0
,
PAGEREF quickStart__I_i86kvx_
0
,
PAGEREF commandLine__I_92buum_
0
,
PAGEREF customAttributeSet__I_4oxp8e_
0
OpenOffice, output format
,
PAGEREF distrib__I_ozg7xg_
0
,
PAGEREF quickStart__I_t6lljo_
0
,
PAGEREF quickStart__I_42a9ok_
0
,
PAGEREF quickStart__I_bmqho4_
0
,
PAGEREF commandLine__I_ocuj5_
0
,
PAGEREF customAttributeSet__I_7f2nvd_
0
-options, option
,
PAGEREF commandLine__I_ae9271_
0
ordered list, numbering
,
PAGEREF olNumbering__I_tt7117_
0
out of memory error
,
PAGEREF commandLine__I_kf2xim_
0
outputclass, attribute
,
PAGEREF xsltParams__I_2c6gaf_
0
outputclass, implementation specificity
,
PAGEREF codeblocks__I_gkshl9_
0
,
PAGEREF syntaxHighlighting__I_5s8isy_
0
P
-p, option
,
PAGEREF commandLine__I_d9txch_
0
page-bottom-margin, parameter
,
PAGEREF xsltParams__I_xl5x3x_
0
pagebreak, processing-instruction
,
PAGEREF xsltParams__I_kv49ps_
0
{{page-count}}, page header/footer variable
,
PAGEREF pageHeaderFooter__I_p4xblf_
0
page-height, parameter
,
PAGEREF xsltParams__I_2xjge9_
0
page-inner-margin, parameter
,
PAGEREF xsltParams__I_cjew0c_
0
{{page-number}}, page header/footer variable
,
PAGEREF pageHeaderFooter__I_z2ec0s_
0
page-orientation, parameter
,
PAGEREF xsltParams__I_nq7hcn_
0
page-outer-margin, parameter
,
PAGEREF xsltParams__I_ewsq89_
0
page-ref-after, parameter
,
PAGEREF xsltParams__I_ba2641_
0
page-ref-before, parameter
,
PAGEREF xsltParams__I_8dkg3p_
0
{{page-sequence}}, page header/footer variable
,
PAGEREF pageHeaderFooter__I_pswkoq_
0
,
PAGEREF pageHeaderFooter__I_svgs7q_
0
page-top-margin, parameter
,
PAGEREF xsltParams__I_q06i15_
0
page-width, parameter
,
PAGEREF xsltParams__I_91unpj_
0
paper-type, parameter
,
PAGEREF xsltParams__I_h8w709_
0
-param, option
,
PAGEREF commandLine__I_iti4dh_
0
Parameters
.
See
XSLT stylesheets parameters
part-number-format, parameter
,
PAGEREF xsltParams__I_5rbc8w_
0
.pdf, filename extension
,
PAGEREF quickStart__I_c147br_
0
,
PAGEREF quickStart__I_lz2rva_
0
.
See also
Java Help, output format
;
PDF, output format
PDF, output format
,
PAGEREF distrib__I_v8bedq_
0
,
PAGEREF quickStart__I_kw8d8x_
0
,
PAGEREF quickStart__I_15022b_
0
,
PAGEREF quickStart__I_x800eu_
0
,
PAGEREF commandLine__I_9xjz0n_
0
,
PAGEREF customAttributeSet__I_6vjw8a_
0
pdf, output format name
.
See
PDF, output format
pdf-outline, parameter
,
PAGEREF xsltParams__I_tz2hzx_
0
-plugin, option
,
PAGEREF commandLine__I_np4nsf_
0
plugin-id, parameter
,
PAGEREF xsltParams__I_7z0vdq_
0
plugin-index-basename
,
PAGEREF xsltParams__I_6cv5s6_
0
plugin-name, parameter
,
PAGEREF xsltParams__I_8q2a19_
0
plugin-provider, parameter
,
PAGEREF xsltParams__I_7kisvw_
0
plugin-toc-basename, parameter
,
PAGEREF xsltParams__I_y5y04w_
0
plugin-version, parameter
,
PAGEREF xsltParams__I_eag75p_
0
PostScript, output format
,
PAGEREF distrib__I_742yl9_
0
,
PAGEREF quickStart__I_o8p6wf_
0
,
PAGEREF quickStart__I_i7n7i6_
0
,
PAGEREF quickStart__I_1d0kuw_
0
,
PAGEREF commandLine__I_j0occq_
0
,
PAGEREF customAttributeSet__I_p6hj3j_
0
prepend-chapter-to-section-number, parameter
,
PAGEREF xsltParams__I_trwlap_
0
-preprocess, option
,
PAGEREF commandLine__I_5z6k5g_
0
,
PAGEREF howItWorks__I_ttwrpt_
0
.ps, filename extension
,
PAGEREF quickStart__I_8d1it4_
0
.
See also
PostScript, output format
ps, output format name
.
See
PostScript, output format
R
-r, option
,
PAGEREF commandLine__I_bvk0yw_
0
remedy-number-format, parameter
,
PAGEREF xsltParams__I_k4ryz5_
0
RenderX XEP
.
See
XEP, XSL-FO processor
-resourcehandler, option
,
PAGEREF commandLine__I_4gnwl5_
0
-resources, option
,
PAGEREF commandLine__I_hks5sg_
0
.rtf, filename extension
,
PAGEREF quickStart__I_sxnscx_
0
,
PAGEREF xsltParams__I_ah6ew3_
0
.
See also
RTF, output format
RTF, output format
,
PAGEREF distrib__I_2vgsfg_
0
,
PAGEREF quickStart__I_lhdk7r_
0
,
PAGEREF quickStart__I_khet7z_
0
,
PAGEREF quickStart__I_ncwhdv_
0
,
PAGEREF commandLine__I_z2fmw3_
0
,
PAGEREF customAttributeSet__I_tomso1_
0
rtf, output format name
.
See
RTF, output format
S
screen-resolution, parameter
,
PAGEREF xsltParams__I_6giksk_
0
{{section1-title}}, page header/footer variable
,
PAGEREF pageHeaderFooter__I_ly5ua7_
0
show-draft-comments, parameter
,
PAGEREF xsltParams__I_58kz49_
0
show-external-links, parameter
,
PAGEREF xsltParams__I_nm4p2u_
0
show-imagemap-links, parameter
,
PAGEREF xsltParams__I_33rv2l_
0
show-link-page, parameter
,
PAGEREF xsltParams__I_4b555x_
0
show-xref-page, parameter
,
PAGEREF xsltParams__I_asnurw_
0
Subject scheme maps
,
PAGEREF commandLine__I_aofyum_
0
,
PAGEREF commandLine__I_wntcuz_
0
,
PAGEREF commandLine__I_szratv_
0
,
PAGEREF limitations__I_od1ae9_
0
SVG
,
PAGEREF media__I_8wko2u_
0
.swf
,
PAGEREF media__I_6d638p_
0
syntax highlighting
,
PAGEREF xsltParams__I_k5jiwi_
0
,
PAGEREF codeblocks__I_sjpsyx_
0
,
PAGEREF syntaxHighlighting__I_zbgjak_
0
T
-t, option
,
PAGEREF commandLine__I_heagbv_
0
,
PAGEREF customAttributeSet__I_ao9xhb_
0
table, background color
,
PAGEREF bgcolor__I_h842vk_
0
title-after, parameter
,
PAGEREF xsltParams__I_t9f38c_
0
title-color, parameter
,
PAGEREF xsltParams__I_8k9zh0_
0
title-font-family, parameter
,
PAGEREF xsltParams__I_4pc9vj_
0
title-page, parameter
,
PAGEREF xsltParams__I_laxt71_
0
title-prefix-separator1, parameter
,
PAGEREF xsltParams__I_zdez2k_
0
-toc, option
,
PAGEREF quickStart__I_nwjlvw_
0
,
PAGEREF commandLine__I_oojzmi_
0
{{topic-title}}, page header/footer variable
,
PAGEREF pageHeaderFooter__I_s9d7uc_
0
,
PAGEREF pageHeaderFooter__I_9qdojo_
0
Translation
,
PAGEREF translating_messages____TT
0
troubleSolution-number-format, parameter
,
PAGEREF xsltParams__I_eebufc_
0
two-sided, parameter
,
PAGEREF xsltParams__I_tfn17a_
0
U
ul-li-bullets, parameter
,
PAGEREF xsltParams__I_xwkeg0_
0
unordered-step-bullets, parameter
,
PAGEREF xsltParams__I_oognu9_
0
use-note-icon, parameter
,
PAGEREF xsltParams__I_jvxx6j_
0
V
-v, option
,
PAGEREF quickStart__I_9653e4_
0
,
PAGEREF commandLine__I_dn001w_
0
-validate, option
,
PAGEREF commandLine__I_4bxz40_
0
-version, option
,
PAGEREF commandLine__I_z1afgn_
0
video
,
PAGEREF media__I_w40gfx_
0
,
PAGEREF media__I_9ywcen_
0
,
PAGEREF media__I_i477jp_
0
-vv, option
,
PAGEREF commandLine__I_ri03s9_
0
-vvv, option
,
PAGEREF commandLine__I_dynipq_
0
W
watermark, parameter
,
PAGEREF xsltParams__I_toadvr_
0
watermark-image, parameter
,
PAGEREF xsltParams__I_lm62d9_
0
Web Help, output format
,
PAGEREF distrib__I_6nzpsc_
0
,
PAGEREF distrib__I_jj9c5d_
0
,
PAGEREF quickStart__I_kbgxjn_
0
,
PAGEREF quickStart__I_ej15xc_
0
,
PAGEREF commandLine__I_1wwpw8_
0
,
PAGEREF commandLine__I_our5hv_
0
,
PAGEREF customCSS__I_kdrx5t_
0
webhelp, output format name
.
See
Web Help, output format
Web Help 5, output format
,
PAGEREF quickStart__I_dblzeo_
0
,
PAGEREF quickStart__I_omkkcp_
0
,
PAGEREF media__I_bwtamc_
0
,
PAGEREF media__I_11utl4_
0
webhelp5, output format name
.
See
Web Help 5, output format
whc-index-basename, parameter
,
PAGEREF xsltParams__I_lwof1j_
0
wh-collapse-toc, parameter
,
PAGEREF xsltParams__I_z38d7w_
0
wh---CSS_VAR_NAME, parameter
,
PAGEREF xsltParams__I_woxfwi_
0
whc-toc-basename, parameter
,
PAGEREF xsltParams__I_vgprvk_
0
wh-index-numbers, parameter
,
PAGEREF xsltParams__I_utc3l_
0
wh-inherit-font-and-colors, parameter
,
PAGEREF xsltParams__I_mn6uoc_
0
wh-jquery, parameter
,
PAGEREF xsltParams__I_7h900u_
0
wh-layout, parameter
,
PAGEREF xsltParams__I_etcd4p_
0
wh-local-jquery, parameter
,
PAGEREF xsltParams__I_h13zfy_
0
wh-responsive-ui, parameter
,
PAGEREF xsltParams__I_bau2mi_
0
wh-ui-language, parameter
,
PAGEREF xsltParams__I_rzx1ug_
0
wh-user-css, parameter
,
PAGEREF xsltParams__I_42dsqr_
0
wh-user-footer, parameter
,
PAGEREF xsltParams__I_e1vd1a_
0
wh-user-header, parameter
,
PAGEREF xsltParams__I_zfy99x_
0
wh-user-resources, parameter
,
PAGEREF xsltParams__I_6ewhqb_
0
wh-use-stemming, parameter
,
PAGEREF xsltParams__I_sun6sl_
0
.wml, filename extension
,
PAGEREF quickStart__I_ekhhnc_
0
,
PAGEREF xsltParams__I_tj1d1e_
0
.
See also
WordprocessingML, output format
wml, output format name
.
See
WordprocessingML, output format
WordprocessingML, output format
,
PAGEREF distrib__I_ucjcf2_
0
,
PAGEREF quickStart__I_ugn9yl_
0
,
PAGEREF quickStart__I_isn7kr_
0
,
PAGEREF quickStart__I_jr43nb_
0
,
PAGEREF commandLine__I_jo0f71_
0
,
PAGEREF customAttributeSet__I_5mhh1x_
0
X
XDITA
,
PAGEREF lwditaSupport__I_4n9yo9_
0
-xep, option
,
PAGEREF commandLine__I_igpnxu_
0
XEP, XSL-FO processor
,
PAGEREF quickStart__I_u55qlr_
0
,
PAGEREF commandLine__I_94szjs_
0
,
PAGEREF commandLine__I_vf6a0d_
0
,
PAGEREF limitations__I_vkljw3_
0
-xfc, option
,
PAGEREF commandLine__I_ffhey_
0
XFC, XSL-FO Converter
,
PAGEREF quickStart__I_et0iwu_
0
XFC, XSL-FO processor
,
PAGEREF quickStart__I_gml89h_
0
,
PAGEREF commandLine__I_kbkysw_
0
,
PAGEREF xsltParams__I_oz78x1_
0
,
PAGEREF xsltParams__I_ykf0aj_
0
,
PAGEREF olNumbering__I_qjwye2_
0
,
PAGEREF limitations__I_37s2y8_
0
xfc-render-as-table, parameter
,
PAGEREF xsltParams__I_fuus5f_
0
.xhtml, filename extension
,
PAGEREF quickStart__I_yuyclc_
0
.
See also
XHTML 1.0, output format
xhtml, output format name
.
See
XHTML 1.0, output format
XHTML 1.0, output format
,
PAGEREF distrib__I_lh7tdd_
0
,
PAGEREF quickStart__I_lvyao0_
0
,
PAGEREF quickStart__I_8a2l37_
0
,
PAGEREF quickStart__I_vgp5ps_
0
,
PAGEREF commandLine__I_oaqt8s_
0
,
PAGEREF customCSS__I_czaqzp_
0
XHTML 1.1, output format
,
PAGEREF distrib__I_e5wbj5_
0
,
PAGEREF quickStart__I_myjoc6_
0
,
PAGEREF quickStart__I_nm81nx_
0
,
PAGEREF commandLine__I_4mvm60_
0
,
PAGEREF customCSS__I_l4229d_
0
xhtml1.1, output format name
.
See
XHTML 1.1, output format
XHTML 5, output format
,
PAGEREF distrib__I_om8ajb_
0
,
PAGEREF quickStart__I_akqbnm_
0
,
PAGEREF quickStart__I_i0rv4i_
0
,
PAGEREF commandLine__I_s7q3jh_
0
,
PAGEREF media__I_va660c_
0
,
PAGEREF media__I_5pt48i_
0
,
PAGEREF customCSS__I_1tcpcg_
0
xhtml5, output format name
.
See
XHTML 5, output format
xhtml-mime-type, parameter
,
PAGEREF xsltParams__I_70ju3r_
0
.xml, filename extension
,
PAGEREF quickStart__I_gszrpp_
0
.
See also
WordprocessingML, output format
XML catalog
,
PAGEREF specialize__I_fg91pe_
0
XMLmind XSL-FO Converter
.
See
XFC, XSL-FO processor
-Xmx, Java option
,
PAGEREF commandLine__I_svzzo_
0
xref-auto-text, parameter
,
PAGEREF xsltParams__I_1y5pgi_
0
XSL-FO, output format
,
PAGEREF quickStart__I_z4sf8y_
0
xsl-resources-directory, parameter
,
PAGEREF xsltParams__I_kmbgwa_
0
-xslt, option
,
PAGEREF commandLine__I_qu8cyd_
0
XSLT stylesheets parameters
,
PAGEREF xsltParams____TT
0
Y
YouTube
,
PAGEREF media__I_del61_
0
XMLmind DITA Converter Manual
XMLmind DITA Converter Manual