metanorma-un 0.3.7 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,14 +18,14 @@ module IsoDoc
18
18
  bodyfont: (
19
19
  options[:script] == "Hans" ?
20
20
  '"SimSun",serif' :
21
- '"Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif'
21
+ '"Times New Roman", serif'
22
22
  ),
23
23
  headerfont: (
24
24
  options[:script] == "Hans" ?
25
25
  '"SimHei",sans-serif' :
26
- '"Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif'
26
+ '"Times New Roman", serif'
27
27
  ),
28
- monospacefont: '"Space Mono",monospace'
28
+ monospacefont: '"Courier New",monospace'
29
29
  }
30
30
  end
31
31
 
@@ -74,6 +74,7 @@ module IsoDoc
74
74
  end
75
75
 
76
76
  def middle(isoxml, out)
77
+ middle_admonitions(isoxml, out)
77
78
  clause isoxml, out
78
79
  annex isoxml, out
79
80
  bibliography isoxml, out
@@ -83,8 +84,8 @@ module IsoDoc
83
84
  if node["inline-header"] == "true"
84
85
  inline_header_title(out, node, c1)
85
86
  else
86
- div.send "h#{anchor(node['id'], :level, false) || '1'}" do |h|
87
- lbl = anchor(node['id'], :label, false)
87
+ div.send "h#{@xrefs.anchor(node['id'], :level, false) || '1'}" do |h|
88
+ lbl = @xrefs.anchor(node['id'], :label, false)
88
89
  h << "#{lbl}. " if lbl && !@suppressheadingnumbers
89
90
  insert_tab(h, 1) if lbl && !@suppressheadingnumbers
90
91
  c1&.children&.each { |c2| parse(c2, h) }
@@ -56,7 +56,10 @@ module IsoDoc
56
56
  localize&.to_rbnf_s("SpelloutRules", "spellout-ordinal")&.capitalize)
57
57
  set(:session_date, isoxml&.at(ns("//bibdata/ext/session/date"))&.text)
58
58
  set(:session_collaborator, isoxml&.at(ns("//bibdata/ext/session/collaborator"))&.text)
59
- set(:session_id, isoxml&.at(ns("//bibdata/ext/session/id"))&.text)
59
+ sid = isoxml&.at(ns("//bibdata/ext/session/id"))&.text
60
+ set(:session_id, sid)
61
+ set(:session_id_head, sid&.sub(%r{/.*$}, ""))
62
+ set(:session_id_tail, sid&.sub(%r{^[^/]+}, ""))
60
63
  set(:item_footnote, isoxml&.at(ns("//bibdata/ext/session/item-footnote"))&.text)
61
64
  set(:session_itemnumber, multival(isoxml, "//bibdata/ext/session/item-number"))
62
65
  set(:session_itemname, multival(isoxml, "//bibdata/ext/session/item-name"))
@@ -13,19 +13,14 @@ module IsoDoc
13
13
  super
14
14
  end
15
15
 
16
- def convert(filename, file = nil, debug = false)
17
- file = File.read(filename, encoding: "utf-8") if file.nil?
18
- docxml, outname_html, dir = convert_init(file, filename, debug)
19
- plenary = docxml.at(ns("//bibdata/ext[doctype = 'plenary']"))
20
- /\.xml$/.match(filename) or
21
- filename = Tempfile.open([outname_html, ".xml"], encoding: "utf-8") do |f|
22
- f.write file
23
- f.path
16
+ def pdf_stylesheet(docxml)
17
+ case doctype = docxml&.at(ns("//bibdata/ext/doctype"))&.text
18
+ when "plenary", "agenda", "budgetary"
19
+ "unece.plenary.xsl"
20
+ else
21
+ docxml&.at(ns("//bibdata/ext/session/*")) ?
22
+ "un.plenary-attachment.xsl" : "unece.recommendation.xsl"
24
23
  end
25
- FileUtils.rm_rf dir
26
- ::Metanorma::Output::XslfoPdf.new.convert(
27
- filename, outname_html + ".pdf",
28
- File.join(@libdir, plenary ? "unece.plenary.xsl" : "unece.recommendation.xsl"))
29
24
  end
30
25
  end
31
26
  end
@@ -0,0 +1,10 @@
1
+ require_relative "base_convert"
2
+ require "isodoc"
3
+
4
+ module IsoDoc
5
+ module UN
6
+ class PresentationXMLConvert < IsoDoc::PresentationXMLConvert
7
+ end
8
+ end
9
+ end
10
+
@@ -0,0 +1,4241 @@
1
+ <?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:un="https://www.metanorma.org/ns/un" xmlns:mathml="http://www.w3.org/1998/Math/MathML" xmlns:xalan="http://xml.apache.org/xalan" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" xmlns:barcode="http://barcode4j.krysalis.org/ns" xmlns:java="http://xml.apache.org/xalan/java" exclude-result-prefixes="java" version="1.0">
2
+
3
+ <xsl:output version="1.0" method="xml" encoding="UTF-8" indent="no"/>
4
+
5
+
6
+
7
+
8
+
9
+ <xsl:variable name="pageWidth" select="'210mm'"/>
10
+ <xsl:variable name="pageHeight" select="'297mm'"/>
11
+
12
+ <xsl:variable name="debug">false</xsl:variable>
13
+
14
+ <xsl:variable name="contents">
15
+ <contents>
16
+ <xsl:apply-templates select="/un:un-standard/un:sections/*" mode="contents"/>
17
+ <xsl:apply-templates select="/un:un-standard/un:annex" mode="contents"/>
18
+ </contents>
19
+ </xsl:variable>
20
+
21
+ <xsl:variable name="lang">
22
+ <xsl:call-template name="getLang"/>
23
+ </xsl:variable>
24
+
25
+ <xsl:variable name="title" select="/un:un-standard/un:bibdata/un:title[@language = 'en' and @type = 'main']"/>
26
+
27
+ <xsl:variable name="id" select="/un:un-standard/un:bibdata/un:ext/un:session/un:id"/>
28
+
29
+ <xsl:template match="/">
30
+ <fo:root font-family="Times New Roman, STIX2Math, HanSans" font-size="10pt" xml:lang="{$lang}">
31
+ <fo:layout-master-set>
32
+ <!-- Cover page -->
33
+ <fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}" page-height="{$pageHeight}">
34
+ <fo:region-body margin-top="17.5mm" margin-bottom="10mm" margin-left="20mm" margin-right="20mm"/>
35
+ <fo:region-before extent="17.5mm"/>
36
+ <fo:region-after extent="10mm"/>
37
+ <fo:region-start extent="20mm"/>
38
+ <fo:region-end extent="20mm"/>
39
+ </fo:simple-page-master>
40
+
41
+ <!-- Document odd pages -->
42
+ <fo:simple-page-master master-name="odd" page-width="{$pageWidth}" page-height="{$pageHeight}">
43
+ <fo:region-body margin-top="30mm" margin-bottom="40mm" margin-left="40mm" margin-right="40mm"/>
44
+ <fo:region-before region-name="header-odd" extent="26mm"/>
45
+ <fo:region-after region-name="footer-odd" extent="40mm"/>
46
+ <fo:region-start region-name="left-region" extent="40mm"/>
47
+ <fo:region-end region-name="right-region" extent="40mm"/>
48
+ </fo:simple-page-master>
49
+ <!-- Document even pages -->
50
+ <fo:simple-page-master master-name="even" page-width="{$pageWidth}" page-height="{$pageHeight}">
51
+ <fo:region-body margin-top="30mm" margin-bottom="40mm" margin-left="40mm" margin-right="40mm"/>
52
+ <fo:region-before region-name="header-even" extent="26mm"/>
53
+ <fo:region-after region-name="footer-even" extent="40mm"/>
54
+ <fo:region-start region-name="left-region" extent="40mm"/>
55
+ <fo:region-end region-name="right-region" extent="40mm"/>
56
+ </fo:simple-page-master>
57
+ <fo:page-sequence-master master-name="document">
58
+ <fo:repeatable-page-master-alternatives>
59
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even"/>
60
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd"/>
61
+ </fo:repeatable-page-master-alternatives>
62
+ </fo:page-sequence-master>
63
+ </fo:layout-master-set>
64
+
65
+ <xsl:call-template name="addPDFUAmeta"/>
66
+
67
+ <!-- Cover Page -->
68
+ <fo:page-sequence master-reference="cover-page" force-page-count="no-force">
69
+ <fo:flow flow-name="xsl-region-body">
70
+ <fo:block-container border-bottom="0.5pt solid black" margin-bottom="6pt">
71
+ <fo:block text-align-last="justify">
72
+ <fo:inline padding-right="22mm"> </fo:inline>
73
+ <fo:inline font-size="14pt" baseline-shift="15%"><xsl:value-of select="/un:un-standard/un:bibdata/un:contributor/un:organization/un:name"/></fo:inline>
74
+ <fo:inline keep-together.within-line="always">
75
+ <fo:leader leader-pattern="space"/>
76
+ <fo:inline font-size="20pt"><xsl:value-of select="substring-before($id, '/')"/></fo:inline>
77
+ <fo:inline font-size="10pt">/<xsl:value-of select="substring-after($id, '/')"/></fo:inline>
78
+ </fo:inline>
79
+ </fo:block>
80
+ </fo:block-container>
81
+ <fo:block-container height="48mm">
82
+ <fo:block>
83
+ <fo:table table-layout="fixed" width="100%">
84
+ <fo:table-column column-width="22mm"/>
85
+ <fo:table-column column-width="98mm"/>
86
+ <fo:table-column column-width="50mm"/>
87
+ <fo:table-body>
88
+ <fo:table-row>
89
+ <fo:table-cell padding-left="0.5mm">
90
+ <fo:block>
91
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Logo))}" width="28mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image Front"/>
92
+ </fo:block>
93
+ </fo:table-cell>
94
+ <fo:table-cell>
95
+ <fo:block font-size="20pt" font-weight="bold">Economic and Social Council</fo:block>
96
+ </fo:table-cell>
97
+ <fo:table-cell font-size="10pt">
98
+ <fo:block margin-top="8pt">
99
+ <xsl:text>Distr.: </xsl:text><xsl:value-of select="/un:un-standard/un:bibdata/un:ext/un:distribution"/>
100
+ </fo:block>
101
+ <fo:block margin-bottom="12pt">
102
+ <xsl:call-template name="formatDate">
103
+ <xsl:with-param name="date" select="/un:un-standard/un:bibdata/un:version/un:revision-date"/>
104
+ </xsl:call-template>
105
+ </fo:block>
106
+ <fo:block>
107
+ <xsl:text>Original: </xsl:text>
108
+ <xsl:call-template name="getLanguage">
109
+ <xsl:with-param name="lang" select="/un:un-standard/un:bibdata/un:language"/>
110
+ </xsl:call-template>
111
+ </fo:block>
112
+ </fo:table-cell>
113
+ </fo:table-row>
114
+ </fo:table-body>
115
+ </fo:table>
116
+ </fo:block>
117
+ </fo:block-container>
118
+ <!-- <fo:block margin-bottom="24pt">&#xA0;</fo:block> -->
119
+ <fo:block-container font-weight="bold" border-top="1.5pt solid black">
120
+ <fo:block font-size="14pt" padding-top="0.5mm" margin-top="6pt" margin-bottom="6pt">Economic Commission for Europe</fo:block>
121
+ <fo:block font-size="12pt" margin-bottom="6pt">UNECE Executive Committee</fo:block>
122
+ <fo:block font-size="12pt" margin-bottom="6pt"><xsl:value-of select="/un:un-standard/un:bibdata/un:ext/un:editorialgroup/un:committee"/></fo:block>
123
+ <fo:block font-size="10pt">
124
+ <fo:block font-weight="bold">
125
+ <!-- Example: 24 -> Twenty-fourth session -->
126
+ <xsl:call-template name="number-to-words">
127
+ <xsl:with-param name="number" select="/un:un-standard/un:bibdata/un:ext/un:session/un:number"/>
128
+ <xsl:with-param name="first" select="'true'"/>
129
+ </xsl:call-template>
130
+ <xsl:text>session</xsl:text>
131
+ </fo:block>
132
+ <fo:block font-weight="normal">
133
+ <xsl:value-of select="/un:un-standard/un:bibdata/un:ext/un:session/un:date"/>
134
+ </fo:block>
135
+ <fo:block font-weight="normal">
136
+ <xsl:text>Item 1 of the </xsl:text><xsl:value-of select="java:toLowerCase(java:java.lang.String.new(/un:un-standard/un:sections/un:clause[1]/un:title))"/>
137
+ </fo:block>
138
+ <fo:block>
139
+ <xsl:value-of select="translate(/un:un-standard/un:sections/un:clause[1]/un:ol[1]/un:li[1]/un:p[1], '.', '')"/>
140
+ </fo:block>
141
+ <fo:block><xsl:value-of select="$title"/></fo:block>
142
+ </fo:block>
143
+ </fo:block-container>
144
+
145
+ <!-- <xsl:apply-templates select="/un:un-standard/un:preface/un:foreword"/> -->
146
+
147
+ <fo:block-container font-weight="bold" margin-left="20mm" margin-top="10pt">
148
+ <fo:block margin-left="-20mm">
149
+ <fo:block font-size="17pt" margin-bottom="16pt">
150
+ <xsl:value-of select="$title"/>
151
+ </fo:block>
152
+ <fo:block font-size="14pt" margin-bottom="16pt">
153
+ <xsl:value-of select="/un:un-standard/un:bibdata/un:title[@language = 'en' and @type = 'subtitle']"/>
154
+ </fo:block>
155
+ <xsl:if test="/un:un-standard/un:bibdata/un:ext/un:session/un:collaborator">
156
+ <fo:block font-size="14pt" margin-bottom="22pt">
157
+ <xsl:text>Developed in Collaboration with the </xsl:text><xsl:value-of select="/un:un-standard/un:bibdata/un:ext/un:session/un:collaborator"/>
158
+ </fo:block>
159
+ </xsl:if>
160
+ </fo:block>
161
+ </fo:block-container>
162
+
163
+ <xsl:apply-templates select="/un:un-standard/un:preface/un:abstract"/>
164
+
165
+ <xsl:variable name="charsToRemove" select="concat($upper, $lower, '.()~!@#$%^*-+')"/>
166
+ <xsl:variable name="code" select="translate(/un:un-standard/un:bibdata/un:docidentifier, $charsToRemove,'')"/>
167
+
168
+ <fo:block-container absolute-position="fixed" left="20mm" top="258mm" width="30mm" text-align="center">
169
+ <fo:block font-size="10pt" text-align="left">
170
+ <xsl:value-of select="/un:un-standard/un:bibdata/un:docidentifier"/>
171
+ </fo:block>
172
+
173
+ <fo:block padding-top="1mm">
174
+ <fo:instream-foreign-object fox:alt-text="Barcode">
175
+ <barcode:barcode message="{$code}">
176
+ <barcode:code39>
177
+ <barcode:height>8.5mm</barcode:height>
178
+ <barcode:module-width>0.24mm</barcode:module-width>
179
+ <barcode:human-readable>
180
+ <barcode:placement>none</barcode:placement>
181
+ <!--<barcode:pattern>* _ _ _ _ _ _ _ _ _ *</barcode:pattern>
182
+ <barcode:font-name>Arial</barcode:font-name>
183
+ <barcode:font-size>9.7pt</barcode:font-size> -->
184
+ </barcode:human-readable>
185
+ </barcode:code39>
186
+ </barcode:barcode>
187
+ </fo:instream-foreign-object>
188
+ </fo:block>
189
+ <fo:block padding-top="-0.8mm" text-align="left" font-family="Arial" font-size="8pt" letter-spacing="1.8mm">
190
+ <xsl:value-of select="concat('*', $code, '*')"/>
191
+ </fo:block>
192
+ </fo:block-container>
193
+
194
+ <fo:block-container absolute-position="fixed" left="143mm" top="262mm">
195
+ <fo:block>
196
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Recycle))}" width="26mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Recycle"/>
197
+ </fo:block>
198
+ </fo:block-container>
199
+ <fo:block-container absolute-position="fixed" left="170mm" top="253mm">
200
+ <fo:block>
201
+ <fo:instream-foreign-object fox:alt-text="Barcode">
202
+ <barcode:barcode message="{concat('http://undocs.org/', /un:un-standard/un:bibdata/un:ext/un:session/un:id)}">
203
+ <barcode:qr>
204
+ <barcode:module-width>0.55mm</barcode:module-width>
205
+ <barcode:ec-level>M</barcode:ec-level>
206
+ </barcode:qr>
207
+ </barcode:barcode>
208
+ </fo:instream-foreign-object>
209
+ </fo:block>
210
+ </fo:block-container>
211
+
212
+ </fo:flow>
213
+ </fo:page-sequence>
214
+ <!-- End Cover Page -->
215
+
216
+
217
+ <!-- Document Pages -->
218
+ <fo:page-sequence master-reference="document" initial-page-number="2" format="1" force-page-count="no-force" line-height="115%">
219
+ <fo:static-content flow-name="xsl-footnote-separator">
220
+ <fo:block-container margin-left="-8mm">
221
+ <fo:block margin-left="8mm">
222
+ <fo:leader leader-pattern="rule" leader-length="20%"/>
223
+ </fo:block>
224
+ </fo:block-container>
225
+ </fo:static-content>
226
+ <xsl:call-template name="insertHeaderFooter"/>
227
+ <fo:flow flow-name="xsl-region-body">
228
+
229
+ <xsl:if test="$debug = 'true'">
230
+ <xsl:text disable-output-escaping="yes">&lt;!--</xsl:text>
231
+ DEBUG
232
+ contents=<xsl:copy-of select="xalan:nodeset($contents)"/>
233
+ <xsl:text disable-output-escaping="yes">--&gt;</xsl:text>
234
+ </xsl:if>
235
+
236
+ <fo:block>
237
+ <xsl:apply-templates select="/un:un-standard/un:sections/*"/>
238
+ <xsl:apply-templates select="/un:un-standard/un:annex"/>
239
+ </fo:block>
240
+
241
+ <fo:block-container margin-left="50mm" width="30mm" border-bottom="0.5pt solid black" margin-top="12pt" keep-with-previous="always">
242
+ <fo:block> </fo:block>
243
+ </fo:block-container>
244
+
245
+ </fo:flow>
246
+ </fo:page-sequence>
247
+ <!-- End Document Pages -->
248
+
249
+ </fo:root>
250
+ </xsl:template>
251
+
252
+ <!-- ============================= -->
253
+ <!-- CONTENTS -->
254
+ <!-- ============================= -->
255
+ <xsl:template match="node()" mode="contents">
256
+ <xsl:apply-templates mode="contents"/>
257
+ </xsl:template>
258
+
259
+ <xsl:template match="un:un-standard/un:sections/*" mode="contents">
260
+ <xsl:apply-templates mode="contents"/>
261
+ </xsl:template>
262
+
263
+
264
+ <!-- Any node with title element - clause, definition, annex,... -->
265
+ <xsl:template match="un:title | un:preferred" mode="contents">
266
+ <xsl:variable name="id">
267
+ <xsl:call-template name="getId"/>
268
+ </xsl:variable>
269
+
270
+ <xsl:variable name="level">
271
+ <xsl:call-template name="getLevel"/>
272
+ </xsl:variable>
273
+
274
+ <!-- <xsl:message>
275
+ level=<xsl:value-of select="$level"/>=<xsl:value-of select="."/>
276
+ </xsl:message> -->
277
+
278
+ <xsl:variable name="section">
279
+ <xsl:call-template name="getSection"/>
280
+ </xsl:variable>
281
+
282
+
283
+ <xsl:variable name="type">
284
+ <xsl:value-of select="local-name(..)"/>
285
+ </xsl:variable>
286
+
287
+ <item id="{$id}" level="{$level}" section="{$section}" display="false" type="{$type}">
288
+ <xsl:if test="$type = 'clause'">
289
+ <xsl:attribute name="section">
290
+ <xsl:variable name="title-clause">
291
+ <xsl:call-template name="getTitle">
292
+ <xsl:with-param name="name" select="'title-clause'"/>
293
+ </xsl:call-template>
294
+ </xsl:variable>
295
+ <xsl:value-of select="$title-clause"/>
296
+ <xsl:choose>
297
+ <xsl:when test="ancestor::un:sections">
298
+ <!-- 1, 2, 3, 4, ... from main section (not annex ...) -->
299
+ <xsl:choose>
300
+ <xsl:when test="$level = 1">
301
+ <xsl:number format="I" count="//un:sections/un:clause"/>
302
+ </xsl:when>
303
+ <xsl:when test="$level = 2">
304
+ <xsl:number format="I." count="//un:sections/un:clause"/>
305
+ <xsl:number format="A" count="//un:sections/un:clause/un:clause[un:title]"/>
306
+ </xsl:when>
307
+ <xsl:when test="$level &gt;= 3">
308
+ <xsl:number format="I." count="//un:sections/un:clause"/>
309
+ <xsl:number format="A." count="//un:sections/un:clause/un:clause[un:title]"/>
310
+ <xsl:number format="1" count="//un:sections/un:clause/un:clause/un:clause[un:title]"/>
311
+ </xsl:when>
312
+ <xsl:otherwise>
313
+ </xsl:otherwise>
314
+ </xsl:choose>
315
+ </xsl:when>
316
+ <xsl:when test="ancestor::un:annex">
317
+ <xsl:choose>
318
+ <xsl:when test="$level = 1">
319
+ <xsl:variable name="title-annex">
320
+ <xsl:call-template name="getTitle">
321
+ <xsl:with-param name="name" select="'title-annex'"/>
322
+ </xsl:call-template>
323
+ </xsl:variable>
324
+ <xsl:value-of select="$title-annex"/>
325
+ <xsl:number format="A" level="any" count="un:annex"/>
326
+ </xsl:when>
327
+ <xsl:otherwise>
328
+ <xsl:variable name="annex_id" select="ancestor::un:annex/@id"/>
329
+ <xsl:number format="1." count="//un:annex[@id = $annex_id]/un:clause[un:title]"/>
330
+ </xsl:otherwise>
331
+ </xsl:choose>
332
+ </xsl:when>
333
+ <xsl:otherwise>
334
+ </xsl:otherwise>
335
+ </xsl:choose>
336
+ </xsl:attribute>
337
+
338
+ </xsl:if>
339
+ <xsl:value-of select="."/>
340
+ </item>
341
+
342
+ <xsl:apply-templates mode="contents"/>
343
+ </xsl:template>
344
+
345
+ <xsl:template match="un:bibitem" mode="contents"/>
346
+
347
+ <xsl:template match="un:references" mode="contents">
348
+ <xsl:apply-templates mode="contents"/>
349
+ </xsl:template>
350
+
351
+
352
+ <xsl:template match="un:figure" mode="contents">
353
+ <item level="" id="{@id}" type="figure">
354
+ <xsl:attribute name="section">
355
+ <xsl:variable name="title-figure">
356
+ <xsl:call-template name="getTitle">
357
+ <xsl:with-param name="name" select="'title-figure'"/>
358
+ </xsl:call-template>
359
+ </xsl:variable>
360
+ <xsl:value-of select="$title-figure"/>
361
+ <xsl:choose>
362
+ <xsl:when test="ancestor::un:annex">
363
+ <xsl:choose>
364
+ <xsl:when test="count(//un:annex) = 1">
365
+ <xsl:value-of select="/un:un-standard/un:bibdata/un:ext/un:structuredidentifier/un:annexid"/><xsl:number format="-1" level="any" count="un:annex//un:figure"/>
366
+ </xsl:when>
367
+ <xsl:otherwise>
368
+ <xsl:number format="A.1-1" level="multiple" count="un:annex | un:figure"/>
369
+ </xsl:otherwise>
370
+ </xsl:choose>
371
+ </xsl:when>
372
+ <xsl:when test="ancestor::un:figure">
373
+ <xsl:for-each select="parent::*[1]">
374
+ <xsl:number format="1" level="any" count="un:figure[not(parent::un:figure)]"/>
375
+ </xsl:for-each>
376
+ <xsl:number format="-a" count="un:figure"/>
377
+ </xsl:when>
378
+ <xsl:otherwise>
379
+ <xsl:number format="1" level="any" count="un:figure[not(parent::un:figure)]"/>
380
+ <!-- <xsl:number format="1.1-1" level="multiple" count="un:annex | un:figure"/> -->
381
+ </xsl:otherwise>
382
+ </xsl:choose>
383
+ </xsl:attribute>
384
+ <xsl:value-of select="un:name"/>
385
+ </item>
386
+ </xsl:template>
387
+
388
+ <xsl:template match="un:table" mode="contents">
389
+ <xsl:variable name="annex-id" select="ancestor::un:annex/@id"/>
390
+ <item level="" id="{@id}" display="false" type="table">
391
+ <xsl:attribute name="section">
392
+ <xsl:variable name="title-table">
393
+ <xsl:call-template name="getTitle">
394
+ <xsl:with-param name="name" select="'title-table'"/>
395
+ </xsl:call-template>
396
+ </xsl:variable>
397
+ <xsl:value-of select="$title-table"/>
398
+ <xsl:choose>
399
+ <xsl:when test="ancestor::*[local-name()='executivesummary']"> <!-- NIST -->
400
+ <xsl:text>ES-</xsl:text><xsl:number format="1" count="*[local-name()='executivesummary']//*[local-name()='table']"/>
401
+ </xsl:when>
402
+ <xsl:when test="ancestor::*[local-name()='annex']">
403
+ <xsl:number format="I." count="un:annex"/>
404
+ <xsl:number format="1" level="any" count="un:table[ancestor::un:annex[@id = $annex-id]]"/>
405
+ </xsl:when>
406
+ <xsl:otherwise>
407
+ <!-- <xsl:number format="1"/> -->
408
+ <xsl:number format="1" level="any" count="*[local-name()='sections']//*[local-name()='table']"/>
409
+ </xsl:otherwise>
410
+ </xsl:choose>
411
+ </xsl:attribute>
412
+ <xsl:apply-templates select="un:name"/>
413
+ </item>
414
+ </xsl:template>
415
+
416
+
417
+ <xsl:template match="un:formula" mode="contents">
418
+ <item level="" id="{@id}" display="false">
419
+ <xsl:attribute name="section">
420
+ <xsl:variable name="title-formula">
421
+ <xsl:call-template name="getTitle">
422
+ <xsl:with-param name="name" select="'title-formula'"/>
423
+ </xsl:call-template>
424
+ </xsl:variable>
425
+ <xsl:value-of select="$title-formula"/><xsl:number format="(A.1)" level="multiple" count="un:annex | un:formula"/>
426
+ </xsl:attribute>
427
+ </item>
428
+ </xsl:template>
429
+
430
+ <xsl:template match="un:example" mode="contents">
431
+ <xsl:variable name="level">
432
+ <xsl:call-template name="getLevel"/>
433
+ </xsl:variable>
434
+ <xsl:variable name="section">
435
+ <xsl:call-template name="getSection"/>
436
+ </xsl:variable>
437
+
438
+ <xsl:variable name="parent-element" select="local-name(..)"/>
439
+ <item level="" id="{@id}" display="false" type="Example" section="{$section}">
440
+ <xsl:attribute name="parent">
441
+ <xsl:choose>
442
+ <xsl:when test="$parent-element = 'clause'">Clause</xsl:when>
443
+ <xsl:otherwise/>
444
+ </xsl:choose>
445
+ </xsl:attribute>
446
+ </item>
447
+ <xsl:apply-templates mode="contents"/>
448
+ </xsl:template>
449
+
450
+ <xsl:template match="un:terms" mode="contents">
451
+ <item level="" id="{@id}" display="false" type="Terms">
452
+ <xsl:if test="ancestor::un:annex">
453
+ <xsl:attribute name="section">
454
+ <xsl:variable name="title-appendix">
455
+ <xsl:call-template name="getTitle">
456
+ <xsl:with-param name="name" select="'title-appendix'"/>
457
+ </xsl:call-template>
458
+ </xsl:variable>
459
+ <xsl:value-of select="$title-appendix"/><xsl:number format="A" count="un:annex"/>
460
+ </xsl:attribute>
461
+ </xsl:if>
462
+ </item>
463
+ </xsl:template>
464
+
465
+ <xsl:template match="un:references" mode="contents">
466
+ <item level="" id="{@id}" display="false" type="References">
467
+ <xsl:if test="ancestor::un:annex">
468
+ <xsl:attribute name="section">
469
+ <xsl:variable name="title-appendix">
470
+ <xsl:call-template name="getTitle">
471
+ <xsl:with-param name="name" select="'title-appendix'"/>
472
+ </xsl:call-template>
473
+ </xsl:variable>
474
+ <xsl:value-of select="$title-appendix"/><xsl:number format="A" count="un:annex"/>
475
+ </xsl:attribute>
476
+ </xsl:if>
477
+ </item>
478
+ </xsl:template>
479
+
480
+ <xsl:template match="un:admonition" mode="contents">
481
+ <item level="" id="{@id}" display="false" type="Box">
482
+ <xsl:attribute name="section">
483
+ <xsl:variable name="num">
484
+ <xsl:number/>
485
+ </xsl:variable>
486
+ <xsl:variable name="title-box">
487
+ <xsl:call-template name="getTitle">
488
+ <xsl:with-param name="name" select="'title-box'"/>
489
+ </xsl:call-template>
490
+ </xsl:variable>
491
+ <xsl:value-of select="$title-box"/><xsl:value-of select="$num"/>
492
+ </xsl:attribute>
493
+ </item>
494
+ </xsl:template>
495
+
496
+ <!-- ============================= -->
497
+ <!-- ============================= -->
498
+
499
+
500
+ <!-- ============================= -->
501
+ <!-- PARAGRAPHS -->
502
+ <!-- ============================= -->
503
+
504
+ <xsl:template match="un:preface/un:abstract">
505
+ <fo:block>
506
+ <fo:table table-layout="fixed" width="100%" border="0.5pt solid black">
507
+ <fo:table-column column-width="19mm"/>
508
+ <fo:table-column column-width="134mm"/>
509
+ <fo:table-column column-width="17mm"/>
510
+ <fo:table-body>
511
+ <fo:table-row>
512
+ <fo:table-cell padding-left="6mm" padding-top="2.5mm">
513
+ <xsl:variable name="title-summary">
514
+ <xsl:call-template name="getTitle">
515
+ <xsl:with-param name="name" select="'title-summary'"/>
516
+ </xsl:call-template>
517
+ </xsl:variable>
518
+ <fo:block font-size="12pt" font-style="italic" margin-bottom="6pt"><xsl:value-of select="$title-summary"/></fo:block>
519
+ </fo:table-cell>
520
+ <fo:table-cell>
521
+ <fo:block> </fo:block>
522
+ </fo:table-cell>
523
+ <fo:table-cell>
524
+ <fo:block> </fo:block>
525
+ </fo:table-cell>
526
+ </fo:table-row>
527
+ <fo:table-row>
528
+ <fo:table-cell>
529
+ <fo:block> </fo:block>
530
+ </fo:table-cell>
531
+ <fo:table-cell text-align="justify" padding-bottom="12pt" padding-right="3mm">
532
+ <fo:block font-size="10pt" line-height="120%"><xsl:apply-templates/></fo:block>
533
+ </fo:table-cell>
534
+ <fo:table-cell>
535
+ <fo:block> </fo:block>
536
+ </fo:table-cell>
537
+ </fo:table-row>
538
+ </fo:table-body>
539
+ </fo:table>
540
+ </fo:block>
541
+ </xsl:template>
542
+
543
+ <xsl:template match="un:abstract//un:p" priority="2">
544
+ <fo:block margin-bottom="6pt">
545
+ <xsl:attribute name="text-align">
546
+ <xsl:choose>
547
+ <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
548
+ <xsl:otherwise>justify</xsl:otherwise>
549
+ </xsl:choose>
550
+ </xsl:attribute>
551
+ <xsl:apply-templates/>
552
+ </fo:block>
553
+ </xsl:template>
554
+
555
+ <xsl:template match="un:preface//un:p">
556
+ <fo:block margin-bottom="12pt">
557
+ <xsl:attribute name="text-align">
558
+ <xsl:choose>
559
+ <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
560
+ <xsl:otherwise>left</xsl:otherwise>
561
+ </xsl:choose>
562
+ </xsl:attribute>
563
+ <!-- <xsl:choose>
564
+ <xsl:when test="ancestor::un:sections">
565
+ <fo:inline padding-right="10mm"><xsl:number format="1. " level="any" count="un:sections//un:clause/un:p"/></fo:inline>
566
+ </xsl:when>
567
+ <xsl:when test="ancestor::un:annex">
568
+ <xsl:variable name="annex_id" select="ancestor::un:annex/@id"/>
569
+ <fo:inline padding-right="10mm"><xsl:number format="1. " level="any" count="un:annex[@id = $annex_id]//un:clause/un:p"/></fo:inline>
570
+ </xsl:when>
571
+ </xsl:choose> -->
572
+ <xsl:apply-templates/>
573
+ </fo:block>
574
+ </xsl:template>
575
+
576
+
577
+ <xsl:template match="un:p[ancestor::un:table]">
578
+ <fo:block>
579
+ <xsl:apply-templates/>
580
+ </fo:block>
581
+ </xsl:template>
582
+
583
+ <xsl:template match="un:p">
584
+ <fo:block-container margin-left="1mm">
585
+ <fo:block margin-left="-1mm">
586
+ <fo:list-block provisional-distance-between-starts="9mm" margin-bottom="6pt" line-height="122%">
587
+ <xsl:attribute name="text-align">
588
+ <xsl:choose>
589
+ <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
590
+ <xsl:otherwise>justify</xsl:otherwise>
591
+ </xsl:choose>
592
+ </xsl:attribute>
593
+ <fo:list-item>
594
+ <fo:list-item-label end-indent="label-end()">
595
+ <fo:block>
596
+ <xsl:choose>
597
+ <xsl:when test="ancestor::un:sections">
598
+ <xsl:number format="1. " level="any" count="un:sections//un:clause/un:p"/>
599
+ </xsl:when>
600
+ <xsl:when test="ancestor::un:annex">
601
+ <xsl:variable name="annex_id" select="ancestor::un:annex/@id"/>
602
+ <xsl:number format="1. " level="any" count="un:annex[@id = $annex_id]//un:p"/> <!-- //un:clause -->
603
+ </xsl:when>
604
+ </xsl:choose>
605
+ </fo:block>
606
+ </fo:list-item-label>
607
+ <fo:list-item-body text-indent="body-start()">
608
+ <fo:block>
609
+ <xsl:text> </xsl:text><xsl:apply-templates/>
610
+ </fo:block>
611
+ </fo:list-item-body>
612
+ </fo:list-item>
613
+ </fo:list-block>
614
+ </fo:block>
615
+ </fo:block-container>
616
+ </xsl:template>
617
+
618
+ <xsl:template match="text()">
619
+ <xsl:value-of select="."/>
620
+ </xsl:template>
621
+
622
+ <xsl:template match="un:title/un:fn | un:p/un:fn[not(ancestor::un:table)] | un:figure/un:name/un:fn" priority="2">
623
+ <fo:footnote keep-with-previous.within-line="always">
624
+ <xsl:variable name="number">
625
+ <xsl:number level="any" count="un:fn[not(ancestor::un:table)]"/>
626
+ </xsl:variable>
627
+ <fo:inline font-size="60%" keep-with-previous.within-line="always" vertical-align="super">
628
+ <fo:basic-link internal-destination="footnote_{@reference}_{$number}" fox:alt-text="footnote {@reference} {$number}">
629
+ <xsl:value-of select="$number + count(//un:bibitem/un:note)"/>
630
+ </fo:basic-link>
631
+ </fo:inline>
632
+ <fo:footnote-body>
633
+ <fo:block-container margin-left="-8mm">
634
+ <fo:block font-size="9pt" text-align="justify" line-height="125%" font-weight="normal" text-indent="0" margin-left="8mm">
635
+ <fo:inline id="footnote_{@reference}_{$number}" font-size="60%" keep-with-next.within-line="always" vertical-align="super" padding-right="8mm"> <!-- alignment-baseline="hanging" -->
636
+ <xsl:value-of select="$number + count(//un:bibitem/un:note)"/>
637
+ </fo:inline>
638
+ <xsl:for-each select="un:p">
639
+ <xsl:apply-templates/>
640
+ </xsl:for-each>
641
+ </fo:block>
642
+ </fo:block-container>
643
+ </fo:footnote-body>
644
+ </fo:footnote>
645
+ </xsl:template>
646
+
647
+ <xsl:template match="un:fn/un:p">
648
+ <fo:block>
649
+ <xsl:apply-templates/>
650
+ </fo:block>
651
+ </xsl:template>
652
+
653
+ <xsl:template match="un:ul | un:ol">
654
+ <fo:block-container margin-left="8mm">
655
+ <fo:list-block provisional-distance-between-starts="3mm" margin-left="-8mm">
656
+ <xsl:apply-templates/>
657
+ </fo:list-block>
658
+ <xsl:apply-templates select="./un:note" mode="process"/>
659
+ </fo:block-container>
660
+ </xsl:template>
661
+
662
+ <xsl:template match="un:ul//un:note | un:ol//un:note"/>
663
+ <xsl:template match="un:ul//un:note/un:p | un:ol//un:note/un:p" mode="process">
664
+ <fo:block font-size="11pt" margin-top="4pt">
665
+ <xsl:variable name="title-note">
666
+ <xsl:call-template name="getTitle">
667
+ <xsl:with-param name="name" select="'title-note'"/>
668
+ </xsl:call-template>
669
+ </xsl:variable>
670
+ <xsl:value-of select="$title-note"/>
671
+ <xsl:if test="../following-sibling::un:note or ../preceding-sibling::un:note">
672
+ <xsl:number count="un:note"/><xsl:text> </xsl:text>
673
+ </xsl:if>
674
+ <xsl:text>– </xsl:text>
675
+ <xsl:apply-templates/>
676
+ </fo:block>
677
+ </xsl:template>
678
+
679
+ <xsl:template match="un:li">
680
+ <xsl:variable name="level">
681
+ <xsl:call-template name="getLevel"/>
682
+ </xsl:variable>
683
+ <fo:list-item>
684
+ <fo:list-item-label end-indent="label-end()">
685
+ <fo:block>
686
+ <xsl:choose>
687
+ <!-- <xsl:when test="local-name(..) = 'ul'">&#x2014;</xsl:when> --> <!-- dash -->
688
+ <xsl:when test="local-name(..) = 'ul'">•</xsl:when>
689
+ <xsl:otherwise> <!-- for ordered lists -->
690
+ <xsl:choose>
691
+ <xsl:when test="../@type = 'arabic'">
692
+ <xsl:number format="1."/>
693
+ </xsl:when>
694
+ <xsl:when test="../@type = 'alphabet'">
695
+ <xsl:number format="1)"/>
696
+ </xsl:when>
697
+ <xsl:when test="ancestor::*[un:annex]">
698
+ <xsl:choose>
699
+ <xsl:when test="$level = 1">
700
+ <xsl:number format="a)"/>
701
+ </xsl:when>
702
+ <xsl:when test="$level = 2">
703
+ <xsl:number format="i)"/>
704
+ </xsl:when>
705
+ <xsl:otherwise>
706
+ <xsl:number format="1.)"/>
707
+ </xsl:otherwise>
708
+ </xsl:choose>
709
+ </xsl:when>
710
+ <xsl:otherwise>
711
+ <xsl:number format="1."/>
712
+ </xsl:otherwise>
713
+ </xsl:choose>
714
+ </xsl:otherwise>
715
+ </xsl:choose>
716
+ </fo:block>
717
+ </fo:list-item-label>
718
+ <fo:list-item-body start-indent="body-start()">
719
+ <xsl:apply-templates/>
720
+ <xsl:apply-templates select=".//un:note" mode="process"/>
721
+ </fo:list-item-body>
722
+ </fo:list-item>
723
+ </xsl:template>
724
+
725
+ <xsl:template match="un:li//un:p">
726
+ <fo:block margin-bottom="6pt" line-height="122%" text-align="justify">
727
+ <xsl:apply-templates/>
728
+ </fo:block>
729
+ </xsl:template>
730
+
731
+ <xsl:template match="un:link" priority="2">
732
+ <fo:inline>
733
+ <xsl:if test="ancestor::un:fn and string-length(@target) &gt; 110">
734
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
735
+ </xsl:if>
736
+ <xsl:call-template name="link"/>
737
+ </fo:inline>
738
+ </xsl:template>
739
+
740
+ <xsl:template match="un:xref">
741
+ <xsl:variable name="section" select="xalan:nodeset($contents)//item[@id = current()/@target]/@section"/>
742
+ <xsl:variable name="type" select="xalan:nodeset($contents)//item[@id = current()/@target]/@type"/>
743
+ <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">
744
+ <xsl:choose>
745
+ <xsl:when test="$section != ''"><xsl:value-of select="$section"/></xsl:when>
746
+ <xsl:otherwise>???</xsl:otherwise>
747
+ </xsl:choose>
748
+ </fo:basic-link>
749
+ </xsl:template>
750
+
751
+ <xsl:template match="un:admonition">
752
+ <xsl:variable name="title-box">
753
+ <xsl:call-template name="getTitle">
754
+ <xsl:with-param name="name" select="'title-box'"/>
755
+ </xsl:call-template>
756
+ </xsl:variable>
757
+ <fo:block text-align="center" font-style="italic" keep-with-next="always" margin-bottom="6pt">
758
+ <xsl:value-of select="$title-box"/><xsl:number/><xsl:text>: </xsl:text><xsl:apply-templates select="un:name" mode="process"/>
759
+ </fo:block>
760
+ <fo:block-container border="0.25pt solid black" margin-left="-3mm" margin-right="-3mm" padding-top="4mm">
761
+ <fo:block id="{@id}" font-weight="bold" margin-left="6mm" margin-right="6mm" keep-with-next="always">
762
+ <xsl:value-of select="$title-box"/><xsl:number/><xsl:text>: </xsl:text><xsl:apply-templates select="un:name" mode="process"/>
763
+ </fo:block>
764
+ <fo:block margin-left="5mm" margin-right="5mm">
765
+ <xsl:apply-templates/>
766
+ </fo:block>
767
+ </fo:block-container>
768
+ <fo:block margin-bottom="4pt"> </fo:block>
769
+ </xsl:template>
770
+
771
+ <xsl:template match="un:admonition/un:name"/>
772
+ <xsl:template match="un:admonition/un:name" mode="process">
773
+ <xsl:apply-templates/>
774
+ </xsl:template>
775
+
776
+ <xsl:template match="un:admonition/un:p">
777
+ <fo:block text-align="justify" margin-bottom="6pt" line-height="122%"><xsl:apply-templates/></fo:block>
778
+ </xsl:template>
779
+
780
+ <!-- ============================= -->
781
+ <!-- ============================= -->
782
+
783
+
784
+ <xsl:template match="un:un-standard/un:sections/*">
785
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
786
+ <fo:block>
787
+ <xsl:if test="$num = 1">
788
+ <xsl:attribute name="margin-top">20pt</xsl:attribute>
789
+ </xsl:if>
790
+ <xsl:variable name="sectionNum"><xsl:number count="*"/></xsl:variable>
791
+ <xsl:apply-templates>
792
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
793
+ </xsl:apply-templates>
794
+ </fo:block>
795
+ <!-- -->
796
+ </xsl:template>
797
+
798
+
799
+ <xsl:template match="/un:un-standard/un:annex">
800
+ <fo:block break-after="page"/>
801
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
802
+
803
+ <!-- <fo:block-container border-bottom="0.5pt solid black">
804
+ <fo:block>&#xA0;</fo:block>
805
+ </fo:block-container>
806
+ <fo:block margin-bottom="12pt">&#xA0;</fo:block> -->
807
+
808
+ <fo:block>
809
+ <xsl:if test="$num = 1">
810
+ <xsl:attribute name="margin-top">3pt</xsl:attribute>
811
+ </xsl:if>
812
+ <xsl:if test="not(un:title)">
813
+ <xsl:variable name="section">
814
+ <xsl:for-each select="*[1]">
815
+ <xsl:call-template name="getSection"/>
816
+ </xsl:for-each>
817
+ </xsl:variable>
818
+ <fo:block id="{@id}" font-size="14pt" font-weight="bold" space-before="3pt" margin-bottom="18pt" keep-with-next="always">
819
+ <xsl:value-of select="$section"/>
820
+ </fo:block>
821
+ </xsl:if>
822
+ <xsl:apply-templates/>
823
+ </fo:block>
824
+ </xsl:template>
825
+
826
+
827
+ <xsl:template match="un:title">
828
+ <xsl:variable name="id">
829
+ <xsl:call-template name="getId"/>
830
+ </xsl:variable>
831
+
832
+ <xsl:variable name="level">
833
+ <xsl:call-template name="getLevel"/>
834
+ </xsl:variable>
835
+
836
+ <xsl:variable name="font-size">
837
+ <xsl:choose>
838
+ <xsl:when test="$level = 1 and ancestor::un:preface">14pt</xsl:when>
839
+ <xsl:when test="$level = 1 and ancestor::un:annex">12pt</xsl:when>
840
+ <xsl:when test="$level = 2 and ancestor::un:annex">10pt</xsl:when>
841
+ <xsl:when test="$level = 1">14pt</xsl:when>
842
+ <xsl:when test="$level = 2">12pt</xsl:when>
843
+ <xsl:when test="$level = 3">10pt</xsl:when>
844
+ <xsl:otherwise>11pt</xsl:otherwise>
845
+ </xsl:choose>
846
+ </xsl:variable>
847
+
848
+ <xsl:variable name="section">
849
+ <xsl:call-template name="getSection"/>
850
+ </xsl:variable>
851
+
852
+ <xsl:choose>
853
+ <xsl:when test="ancestor::un:preface">
854
+ <fo:block id="{$id}" font-size="{$font-size}" font-weight="bold" margin-top="3pt" margin-bottom="16pt" keep-with-next="always">
855
+ <xsl:apply-templates/>
856
+ </fo:block>
857
+ </xsl:when>
858
+ <xsl:when test="ancestor::un:sections and $level = 1">
859
+ <fo:block-container margin-left="-16mm">
860
+ <fo:block id="{$id}" font-size="{$font-size}" font-weight="bold" margin-left="16mm" space-before="16pt" margin-bottom="13pt" keep-with-next="always">
861
+ <fo:table table-layout="fixed" width="100%">
862
+ <fo:table-column column-width="16mm"/>
863
+ <fo:table-column column-width="130mm"/>
864
+ <fo:table-body>
865
+ <fo:table-row>
866
+ <fo:table-cell>
867
+ <fo:block text-align="center">
868
+ <xsl:value-of select="$section"/>
869
+ </fo:block>
870
+ </fo:table-cell>
871
+ <fo:table-cell>
872
+ <fo:block>
873
+ <xsl:apply-templates/>
874
+ </fo:block>
875
+ </fo:table-cell>
876
+ </fo:table-row>
877
+ </fo:table-body>
878
+ </fo:table>
879
+ </fo:block>
880
+ </fo:block-container>
881
+ </xsl:when>
882
+ <xsl:when test="ancestor::un:sections">
883
+ <fo:block id="{$id}" font-size="{$font-size}" font-weight="bold" space-before="16pt" margin-bottom="13pt" text-indent="-8mm" keep-with-next="always">
884
+ <xsl:if test="$level = 2">
885
+ <xsl:attribute name="margin-left">1mm</xsl:attribute>
886
+ <xsl:attribute name="space-before">12pt</xsl:attribute>
887
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
888
+ </xsl:if>
889
+ <xsl:if test="$level = 3">
890
+ <xsl:attribute name="space-before">12pt</xsl:attribute>
891
+ <xsl:attribute name="margin-left">1mm</xsl:attribute>
892
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
893
+ </xsl:if>
894
+ <fo:list-block provisional-distance-between-starts="8mm">
895
+ <fo:list-item>
896
+ <fo:list-item-label end-indent="label-end()">
897
+ <fo:block>
898
+ <xsl:value-of select="$section"/>
899
+ </fo:block>
900
+ </fo:list-item-label>
901
+ <fo:list-item-body start-indent="body-start()">
902
+ <fo:block>
903
+ <xsl:apply-templates/>
904
+ </fo:block>
905
+ </fo:list-item-body>
906
+ </fo:list-item>
907
+ </fo:list-block>
908
+ </fo:block>
909
+ </xsl:when>
910
+ <xsl:when test="ancestor::un:annex and $level = 1">
911
+ <fo:block id="{$id}" font-size="{$font-size}" font-weight="bold" space-before="3pt" keep-with-next="always">
912
+ <fo:block margin-bottom="18pt">
913
+ <xsl:value-of select="$section"/>
914
+ </fo:block>
915
+ <fo:block margin-bottom="12pt">
916
+ <xsl:apply-templates/>
917
+ </fo:block>
918
+ </fo:block>
919
+ </xsl:when>
920
+ <xsl:when test="ancestor::un:annex and $level &gt;= 2">
921
+ <fo:block id="{$id}" font-size="{$font-size}" font-weight="bold" margin-left="1mm" space-before="3pt" margin-bottom="6pt" keep-with-next="always">
922
+ <xsl:apply-templates/>
923
+ </fo:block>
924
+ </xsl:when>
925
+ <xsl:otherwise>
926
+ <fo:block id="{$id}" font-size="{$font-size}" font-weight="bold" text-align="left" keep-with-next="always">
927
+ <fo:inline><xsl:value-of select="$section"/></fo:inline>
928
+ <xsl:apply-templates/>
929
+ </fo:block>
930
+ </xsl:otherwise>
931
+ </xsl:choose>
932
+ </xsl:template>
933
+
934
+ <!-- ============================ -->
935
+ <!-- for further use -->
936
+ <!-- ============================ -->
937
+ <xsl:template match="un:recommendation">
938
+ <fo:block margin-left="20mm">
939
+ <fo:block font-weight="bold">
940
+ <xsl:variable name="title-recommendation">
941
+ <xsl:call-template name="getTitle">
942
+ <xsl:with-param name="name" select="'title-recommendation'"/>
943
+ </xsl:call-template>
944
+ </xsl:variable>
945
+ <xsl:value-of select="$title-recommendation"/>
946
+ <xsl:choose>
947
+ <xsl:when test="ancestor::un:sections">
948
+ <xsl:number level="any" count="un:sections//un:recommendation"/>
949
+ </xsl:when>
950
+ <xsl:when test="ancestor::*[local-name()='annex']">
951
+ <xsl:variable name="annex-id" select="ancestor::*[local-name()='annex']/@id"/>
952
+ <xsl:number format="A-" count="un:annex"/>
953
+ <xsl:number format="1" level="any" count="un:recommendation[ancestor::un:annex[@id = $annex-id]]"/>
954
+ <!-- <xsl:number format="A-1" level="multiple" count="un:annex | un:recommendation"/> -->
955
+ </xsl:when>
956
+ </xsl:choose>
957
+ <xsl:text>:</xsl:text>
958
+ </fo:block>
959
+ <xsl:apply-templates/>
960
+ </fo:block>
961
+ </xsl:template>
962
+
963
+
964
+ <xsl:template match="un:bibitem">
965
+ <fo:block id="{@id}" margin-top="6pt" margin-left="14mm" text-indent="-14mm">
966
+ <fo:inline padding-right="5mm">[<xsl:value-of select="un:docidentifier"/>]</fo:inline><xsl:value-of select="un:docidentifier"/>
967
+ <xsl:if test="un:title">
968
+ <fo:inline font-style="italic">
969
+ <xsl:text>, </xsl:text>
970
+ <xsl:choose>
971
+ <xsl:when test="un:title[@type = 'main' and @language = 'en']">
972
+ <xsl:value-of select="un:title[@type = 'main' and @language = 'en']"/>
973
+ </xsl:when>
974
+ <xsl:otherwise>
975
+ <xsl:value-of select="un:title"/>
976
+ </xsl:otherwise>
977
+ </xsl:choose>
978
+ </fo:inline>
979
+ </xsl:if>
980
+ <xsl:apply-templates select="un:formattedref"/>
981
+ </fo:block>
982
+ </xsl:template>
983
+ <xsl:template match="un:bibitem/un:docidentifier"/>
984
+
985
+ <xsl:template match="un:bibitem/un:title"/>
986
+
987
+ <xsl:template match="un:formattedref">
988
+ <xsl:text>, </xsl:text><xsl:apply-templates/>
989
+ </xsl:template>
990
+
991
+
992
+ <xsl:template match="*[local-name()='tt']">
993
+ <xsl:variable name="element-name">
994
+ <xsl:choose>
995
+ <xsl:when test="normalize-space(ancestor::un:p[1]//text()[not(parent::un:tt)]) != ''">fo:inline</xsl:when>
996
+ <xsl:otherwise>fo:block</xsl:otherwise>
997
+ </xsl:choose>
998
+ </xsl:variable>
999
+ <xsl:element name="{$element-name}">
1000
+ <xsl:attribute name="font-family">Courier</xsl:attribute>
1001
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1002
+ <xsl:attribute name="text-align">center</xsl:attribute>
1003
+ <xsl:apply-templates/>
1004
+ </xsl:element>
1005
+ </xsl:template>
1006
+
1007
+
1008
+ <xsl:template match="un:figure">
1009
+ <fo:block-container id="{@id}">
1010
+ <fo:block>
1011
+ <xsl:apply-templates/>
1012
+ </fo:block>
1013
+ <xsl:if test="un:name">
1014
+ <fo:block text-align="center" margin-bottom="6pt" keep-with-previous="always">
1015
+ <xsl:variable name="title-figure">
1016
+ <xsl:call-template name="getTitle">
1017
+ <xsl:with-param name="name" select="'title-figure'"/>
1018
+ </xsl:call-template>
1019
+ </xsl:variable>
1020
+ <xsl:value-of select="$title-figure"/>
1021
+ <xsl:choose>
1022
+ <xsl:when test="ancestor::un:annex">
1023
+ <xsl:choose>
1024
+ <xsl:when test="count(//un:annex) = 1">
1025
+ <xsl:value-of select="/un:un-standard/un:bibdata/un:ext/un:structuredidentifier/un:annexid"/><xsl:number format="-1" level="any" count="un:annex//un:figure"/>
1026
+ </xsl:when>
1027
+ <xsl:otherwise>
1028
+ <xsl:number format="A-1-1" level="multiple" count="un:annex | un:figure"/>
1029
+ </xsl:otherwise>
1030
+ </xsl:choose>
1031
+ </xsl:when>
1032
+ <xsl:when test="ancestor::un:figure">
1033
+ <xsl:for-each select="parent::*[1]">
1034
+ <xsl:number format="1" level="any" count="un:figure[not(parent::un:figure)]"/>
1035
+ </xsl:for-each>
1036
+ <xsl:number format="-a" count="un:figure"/>
1037
+ </xsl:when>
1038
+ <xsl:otherwise>
1039
+ <xsl:number format="1" level="any" count="un:figure[not(parent::un:figure)]"/>
1040
+ </xsl:otherwise>
1041
+ </xsl:choose>
1042
+ <xsl:if test="un:name">
1043
+ <xsl:text>: </xsl:text>
1044
+ <xsl:apply-templates select="un:name" mode="process"/>
1045
+ </xsl:if>
1046
+ </fo:block>
1047
+ </xsl:if>
1048
+
1049
+ <!-- <xsl:call-template name="fn_display_figure"/> -->
1050
+ <xsl:for-each select="un:note//un:p">
1051
+ <xsl:call-template name="note"/>
1052
+ </xsl:for-each>
1053
+ </fo:block-container>
1054
+ </xsl:template>
1055
+
1056
+ <xsl:template match="un:figure/un:name"/>
1057
+ <xsl:template match="un:figure/un:name" mode="process">
1058
+ <xsl:apply-templates/>
1059
+ </xsl:template>
1060
+ <xsl:template match="un:figure/un:fn" priority="2"/>
1061
+ <xsl:template match="un:figure/un:note"/>
1062
+
1063
+
1064
+ <xsl:template match="un:image">
1065
+ <fo:block text-align="center" margin-bottom="12pt" keep-with-next="always" border="2pt solid black">
1066
+ <fo:external-graphic src="{@src}" fox:alt-text="Image" width="100%" content-height="100%" content-width="scale-to-fit" scaling="uniform"/>
1067
+ </fo:block>
1068
+ </xsl:template>
1069
+
1070
+
1071
+ <!-- Examples:
1072
+ [b-ASM] b-ASM, http://www.eecs.umich.edu/gasm/ (accessed 20 March 2018).
1073
+ [b-Börger & Stärk] b-Börger & Stärk, Börger, E., and Stärk, R. S. (2003), Abstract State Machines: A Method for High-Level System Design and Analysis, Springer-Verlag.
1074
+ -->
1075
+ <xsl:template match="un:annex//un:bibitem">
1076
+ <fo:block id="{@id}" margin-top="6pt" margin-left="12mm" text-indent="-12mm">
1077
+ <xsl:if test="un:formattedref">
1078
+ <xsl:choose>
1079
+ <xsl:when test="un:docidentifier[@type = 'metanorma']">
1080
+ <xsl:attribute name="margin-left">0</xsl:attribute>
1081
+ <xsl:attribute name="text-indent">0</xsl:attribute>
1082
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1083
+ <!-- create list -->
1084
+ <fo:list-block>
1085
+ <fo:list-item>
1086
+ <fo:list-item-label end-indent="label-end()">
1087
+ <fo:block>
1088
+ <xsl:apply-templates select="un:docidentifier[@type = 'metanorma']" mode="process"/>
1089
+ </fo:block>
1090
+ </fo:list-item-label>
1091
+ <fo:list-item-body start-indent="body-start()">
1092
+ <fo:block margin-left="3mm">
1093
+ <xsl:apply-templates select="un:formattedref"/>
1094
+ </fo:block>
1095
+ </fo:list-item-body>
1096
+ </fo:list-item>
1097
+ </fo:list-block>
1098
+ </xsl:when>
1099
+ <xsl:otherwise>
1100
+ <xsl:apply-templates select="un:formattedref"/>
1101
+ <xsl:apply-templates select="un:docidentifier[@type != 'metanorma' or not(@type)]" mode="process"/>
1102
+ </xsl:otherwise>
1103
+ </xsl:choose>
1104
+ </xsl:if>
1105
+ <xsl:if test="un:title">
1106
+ <xsl:for-each select="un:contributor">
1107
+ <xsl:value-of select="un:organization/un:name"/>
1108
+ <xsl:if test="position() != last()">, </xsl:if>
1109
+ </xsl:for-each>
1110
+ <xsl:text> (</xsl:text>
1111
+ <xsl:variable name="date">
1112
+ <xsl:choose>
1113
+ <xsl:when test="un:date[@type='issued']">
1114
+ <xsl:value-of select="un:date[@type='issued']/un:on"/>
1115
+ </xsl:when>
1116
+ <xsl:otherwise>
1117
+ <xsl:value-of select="un:date/un:on"/>
1118
+ </xsl:otherwise>
1119
+ </xsl:choose>
1120
+ </xsl:variable>
1121
+ <xsl:value-of select="$date"/>
1122
+ <xsl:text>) </xsl:text>
1123
+ <fo:inline font-style="italic"><xsl:value-of select="un:title"/></fo:inline>
1124
+ <xsl:if test="un:contributor[un:role/@type='publisher']/un:organization/un:name">
1125
+ <xsl:text> (</xsl:text><xsl:value-of select="un:contributor[un:role/@type='publisher']/un:organization/un:name"/><xsl:text>)</xsl:text>
1126
+ </xsl:if>
1127
+ <xsl:text>, </xsl:text>
1128
+ <xsl:value-of select="$date"/>
1129
+ <xsl:text>. </xsl:text>
1130
+ <xsl:value-of select="un:docidentifier"/>
1131
+ <xsl:value-of select="$linebreak"/>
1132
+ <xsl:value-of select="un:uri"/>
1133
+ </xsl:if>
1134
+ </fo:block>
1135
+ </xsl:template>
1136
+
1137
+ <xsl:template match="un:annex//un:bibitem//un:formattedref">
1138
+ <xsl:apply-templates/>
1139
+ </xsl:template>
1140
+
1141
+ <xsl:template match="un:docidentifier[@type = 'metanorma']" mode="process">
1142
+ <xsl:apply-templates/>
1143
+ </xsl:template>
1144
+ <xsl:template match="un:docidentifier[@type != 'metanorma' or not(@type)]" mode="process">
1145
+ <xsl:text> [</xsl:text><xsl:apply-templates/><xsl:text>]</xsl:text>
1146
+ </xsl:template>
1147
+ <xsl:template match="un:docidentifier"/>
1148
+
1149
+ <xsl:template match="un:note/un:p | un:annex//un:note/un:p" name="note">
1150
+ <fo:block font-size="10pt" space-after="12pt" text-indent="0">
1151
+ <xsl:variable name="title-note">
1152
+ <xsl:call-template name="getTitle">
1153
+ <xsl:with-param name="name" select="'title-note'"/>
1154
+ </xsl:call-template>
1155
+ </xsl:variable>
1156
+ <fo:inline padding-right="4mm"><xsl:value-of select="$title-note"/>
1157
+ <xsl:if test="../following-sibling::un:note or ../preceding-sibling::un:note">
1158
+ <xsl:number count="un:note"/><xsl:text> </xsl:text>
1159
+ </xsl:if>
1160
+ </fo:inline>
1161
+ <xsl:apply-templates/>
1162
+ </fo:block>
1163
+ </xsl:template>
1164
+
1165
+ <xsl:template match="un:termnote">
1166
+ <fo:block margin-top="4pt">
1167
+ <xsl:variable name="title-note">
1168
+ <xsl:call-template name="getTitle">
1169
+ <xsl:with-param name="name" select="'title-note'"/>
1170
+ </xsl:call-template>
1171
+ </xsl:variable>
1172
+ <xsl:value-of select="$title-note"/>
1173
+ <xsl:if test="following-sibling::un:termnote or preceding-sibling::un:termnote">
1174
+ <xsl:number/><xsl:text> </xsl:text>
1175
+ </xsl:if>
1176
+ <xsl:text>– </xsl:text>
1177
+ <xsl:apply-templates/>
1178
+ </fo:block>
1179
+ </xsl:template>
1180
+
1181
+ <xsl:template match="un:termnote/un:p">
1182
+ <xsl:apply-templates/>
1183
+ </xsl:template>
1184
+
1185
+
1186
+ <xsl:template match="un:formula" name="formula">
1187
+ <fo:block id="{@id}" margin-top="6pt">
1188
+ <fo:table table-layout="fixed" width="100%">
1189
+ <fo:table-column column-width="95%"/>
1190
+ <fo:table-column column-width="5%"/>
1191
+ <fo:table-body>
1192
+ <fo:table-row>
1193
+ <fo:table-cell>
1194
+ <fo:block text-align="center">
1195
+ <xsl:if test="ancestor::un:annex">
1196
+ <xsl:attribute name="text-align">left</xsl:attribute>
1197
+ <xsl:attribute name="margin-left">7mm</xsl:attribute>
1198
+ </xsl:if>
1199
+ <xsl:apply-templates/>
1200
+ </fo:block>
1201
+ </fo:table-cell>
1202
+ <fo:table-cell> <!-- display-align="center" -->
1203
+ <fo:block text-align="right">
1204
+ <xsl:if test="not(ancestor::un:annex)">
1205
+ <xsl:number format="(1)" level="any"/>
1206
+ </xsl:if>
1207
+ <xsl:if test="ancestor::un:annex">
1208
+ <xsl:variable name="annex-id" select="ancestor::un:annex/@id"/>
1209
+ <xsl:text>(</xsl:text>
1210
+ <xsl:number format="A-" count="un:annex"/>
1211
+ <xsl:number format="1" level="any" count="un:formula[ancestor::un:annex[@id = $annex-id]]"/>
1212
+ <xsl:text>)</xsl:text>
1213
+ </xsl:if>
1214
+ </fo:block>
1215
+ </fo:table-cell>
1216
+ </fo:table-row>
1217
+ </fo:table-body>
1218
+ </fo:table>
1219
+ <fo:inline keep-together.within-line="always">
1220
+ </fo:inline>
1221
+ </fo:block>
1222
+ </xsl:template>
1223
+
1224
+ <xsl:template match="un:formula" mode="process">
1225
+ <xsl:call-template name="formula"/>
1226
+ </xsl:template>
1227
+
1228
+ <xsl:template match="un:example">
1229
+ <xsl:variable name="title-example">
1230
+ <xsl:call-template name="getTitle">
1231
+ <xsl:with-param name="name" select="'title-example'"/>
1232
+ </xsl:call-template>
1233
+ </xsl:variable>
1234
+ <fo:block id="{@id}" font-size="10pt" font-weight="bold" margin-bottom="12pt"><xsl:value-of select="$title-example"/></fo:block>
1235
+ <fo:block font-size="11pt" margin-top="12pt" margin-bottom="12pt" margin-left="15mm">
1236
+ <xsl:apply-templates/>
1237
+ </fo:block>
1238
+ </xsl:template>
1239
+ <xsl:template match="un:example/un:p">
1240
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
1241
+ <fo:block margin-bottom="12pt">
1242
+ <xsl:if test="$num = 1">
1243
+ <xsl:attribute name="margin-left">5mm</xsl:attribute>
1244
+ </xsl:if>
1245
+ <xsl:apply-templates/>
1246
+ </fo:block>
1247
+ </xsl:template>
1248
+
1249
+ <xsl:template match="un:eref">
1250
+ <!-- <fo:inline color="blue"> -->
1251
+ <fo:basic-link internal-destination="{@bibitemid}" color="blue" fox:alt-text="{@citeas}">
1252
+ <xsl:if test="@type = 'footnote'">
1253
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
1254
+ <xsl:attribute name="font-size">80%</xsl:attribute>
1255
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1256
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1257
+ </xsl:if>
1258
+ <xsl:if test="@type = 'inline'">
1259
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
1260
+ </xsl:if>
1261
+ <xsl:text>[</xsl:text><xsl:value-of select="@citeas"/><xsl:text>]</xsl:text> <!-- disable-output-escaping="yes" -->
1262
+
1263
+ <xsl:apply-templates select="un:localityStack"/>
1264
+
1265
+ </fo:basic-link>
1266
+ <!-- </fo:inline> -->
1267
+ </xsl:template>
1268
+
1269
+ <xsl:template match="un:locality">
1270
+ <xsl:variable name="title-section">
1271
+ <xsl:call-template name="getTitle">
1272
+ <xsl:with-param name="name" select="'title-section'"/>
1273
+ </xsl:call-template>
1274
+ </xsl:variable>
1275
+ <xsl:variable name="title-clause">
1276
+ <xsl:call-template name="getTitle">
1277
+ <xsl:with-param name="name" select="'title-clause'"/>
1278
+ </xsl:call-template>
1279
+ </xsl:variable>
1280
+ <xsl:choose>
1281
+ <xsl:when test="@type = 'section'"><xsl:value-of select="$title-section"/></xsl:when>
1282
+ <xsl:when test="@type = 'clause'"><xsl:value-of select="$title-clause"/></xsl:when>
1283
+ <xsl:otherwise/>
1284
+ </xsl:choose>
1285
+ <xsl:text> </xsl:text><xsl:value-of select="un:referenceFrom"/>
1286
+ </xsl:template>
1287
+
1288
+
1289
+ <xsl:template match="un:terms[un:term[un:preferred and un:definition]]">
1290
+ <fo:block id="{@id}">
1291
+ <fo:table width="100%" table-layout="fixed">
1292
+ <fo:table-column column-width="22%"/>
1293
+ <fo:table-column column-width="78%"/>
1294
+ <fo:table-body>
1295
+ <xsl:apply-templates mode="table"/>
1296
+ </fo:table-body>
1297
+ </fo:table>
1298
+ </fo:block>
1299
+ </xsl:template>
1300
+ <xsl:template match="un:term" mode="table">
1301
+ <fo:table-row id="{@id}">
1302
+ <fo:table-cell padding-right="1mm">
1303
+ <fo:block margin-bottom="12pt">
1304
+ <xsl:apply-templates select="un:preferred"/>
1305
+ </fo:block>
1306
+ </fo:table-cell>
1307
+ <fo:table-cell>
1308
+ <fo:block margin-bottom="12pt">
1309
+ <xsl:apply-templates select="un:*[local-name(.) != 'preferred']"/>
1310
+ </fo:block>
1311
+ </fo:table-cell>
1312
+ </fo:table-row>
1313
+ </xsl:template>
1314
+ <xsl:template match="un:preferred">
1315
+ <fo:inline>
1316
+ <xsl:apply-templates/>
1317
+ </fo:inline>
1318
+ </xsl:template>
1319
+ <xsl:template match="un:definition/un:p">
1320
+ <fo:block>
1321
+ <xsl:apply-templates/>
1322
+ </fo:block>
1323
+ </xsl:template>
1324
+
1325
+ <xsl:template match="un:errata">
1326
+ <!-- <row>
1327
+ <date>05-07-2013</date>
1328
+ <type>Editorial</type>
1329
+ <change>Changed CA-9 Priority Code from P1 to P2 in <xref target="tabled2"/>.</change>
1330
+ <pages>D-3</pages>
1331
+ </row>
1332
+ -->
1333
+ <fo:table table-layout="fixed" width="100%" font-size="10pt" border="1pt solid black">
1334
+ <fo:table-column column-width="20mm"/>
1335
+ <fo:table-column column-width="23mm"/>
1336
+ <fo:table-column column-width="107mm"/>
1337
+ <fo:table-column column-width="15mm"/>
1338
+ <fo:table-body>
1339
+ <fo:table-row font-family="Arial" text-align="center" font-weight="bold" background-color="black" color="white">
1340
+ <fo:table-cell border="1pt solid black"><fo:block>Date</fo:block></fo:table-cell>
1341
+ <fo:table-cell border="1pt solid black"><fo:block>Type</fo:block></fo:table-cell>
1342
+ <fo:table-cell border="1pt solid black"><fo:block>Change</fo:block></fo:table-cell>
1343
+ <fo:table-cell border="1pt solid black"><fo:block>Pages</fo:block></fo:table-cell>
1344
+ </fo:table-row>
1345
+ <xsl:apply-templates/>
1346
+ </fo:table-body>
1347
+ </fo:table>
1348
+ </xsl:template>
1349
+
1350
+ <xsl:template match="un:errata/un:row">
1351
+ <fo:table-row>
1352
+ <xsl:apply-templates/>
1353
+ </fo:table-row>
1354
+ </xsl:template>
1355
+
1356
+ <xsl:template match="un:errata/un:row/*">
1357
+ <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
1358
+ <fo:block><xsl:apply-templates/></fo:block>
1359
+ </fo:table-cell>
1360
+ </xsl:template>
1361
+
1362
+ <xsl:template match="un:quote">
1363
+ <fo:block-container margin-left="7mm" margin-right="7mm">
1364
+ <xsl:apply-templates/>
1365
+ <xsl:apply-templates select="un:author" mode="process"/>
1366
+ </fo:block-container>
1367
+ </xsl:template>
1368
+
1369
+ <xsl:template match="un:quote/un:author"/>
1370
+ <xsl:template match="un:quote/un:p">
1371
+ <fo:block text-align="justify" margin-bottom="12pt">
1372
+ <xsl:apply-templates/>
1373
+ </fo:block>
1374
+ </xsl:template>
1375
+ <xsl:template match="un:quote/un:author" mode="process">
1376
+ <fo:block text-align="right" margin-left="0.5in" margin-right="0.5in">
1377
+ <fo:inline>— </fo:inline>
1378
+ <xsl:apply-templates/>
1379
+ </fo:block>
1380
+ </xsl:template>
1381
+
1382
+ <xsl:template match="un:references">
1383
+ <fo:block>
1384
+ <xsl:if test="not(un:title)">
1385
+ <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
1386
+ </xsl:if>
1387
+ <xsl:apply-templates/>
1388
+ </fo:block>
1389
+ </xsl:template>
1390
+
1391
+ <xsl:template match="un:dl" priority="2">
1392
+ <fo:block line-height="122%" margin-bottom="6pt">
1393
+ <xsl:apply-templates/>
1394
+ </fo:block>
1395
+ </xsl:template>
1396
+
1397
+ <xsl:template match="un:dt" priority="2">
1398
+ <fo:block margin-bottom="6pt">
1399
+ <xsl:apply-templates/>
1400
+ <xsl:apply-templates select="following-sibling::un:dd[1]" mode="dd"/>
1401
+ </fo:block>
1402
+ </xsl:template>
1403
+
1404
+ <xsl:template match="un:dd"/>
1405
+ <xsl:template match="un:dd" mode="dd">
1406
+ <fo:inline><xsl:apply-templates/></fo:inline>
1407
+ </xsl:template>
1408
+
1409
+ <xsl:template match="un:dd//un:p">
1410
+ <fo:inline><xsl:apply-templates/></fo:inline>
1411
+ </xsl:template>
1412
+ <!-- ============================ -->
1413
+ <!-- ============================ -->
1414
+
1415
+ <xsl:template name="insertHeaderFooter">
1416
+ <fo:static-content flow-name="header-odd">
1417
+ <fo:block-container height="25mm" display-align="after" border-bottom="0.5pt solid black" margin-left="-20.5mm" margin-right="-20.5mm">
1418
+ <fo:block font-size="9pt" font-weight="bold" text-align="right" margin-left="21mm" margin-right="21mm" padding-bottom="0.5mm">
1419
+ <xsl:value-of select="$id"/>
1420
+ </fo:block>
1421
+ </fo:block-container>
1422
+ </fo:static-content>
1423
+ <fo:static-content flow-name="footer-odd">
1424
+ <fo:block-container height="40mm" margin-left="-20.5mm" margin-right="-20.5mm">
1425
+ <fo:block font-size="9pt" font-weight="bold" text-align="right" margin-left="21mm" margin-right="21mm" padding-top="12mm"><fo:page-number/></fo:block>
1426
+ </fo:block-container>
1427
+ </fo:static-content>
1428
+ <fo:static-content flow-name="header-even">
1429
+ <fo:block-container height="25mm" display-align="after" border-bottom="0.5pt solid black" margin-left="-20.5mm" margin-right="-20.5mm">
1430
+ <fo:block font-size="9pt" font-weight="bold" margin-left="21mm" margin-right="21mm" padding-bottom="0.5mm">
1431
+ <xsl:value-of select="$id"/>
1432
+ </fo:block>
1433
+ </fo:block-container>
1434
+ </fo:static-content>
1435
+ <fo:static-content flow-name="footer-even">
1436
+ <fo:block-container height="40mm" margin-left="-20.5mm" margin-right="-20.5mm">
1437
+ <fo:block font-size="9pt" font-weight="bold" margin-left="21mm" margin-right="21mm" padding-top="12mm"><fo:page-number/></fo:block>
1438
+ </fo:block-container>
1439
+ </fo:static-content>
1440
+ </xsl:template>
1441
+
1442
+ <xsl:template name="getSection">
1443
+ <xsl:variable name="level">
1444
+ <xsl:call-template name="getLevel"/>
1445
+ </xsl:variable>
1446
+
1447
+ <xsl:variable name="section">
1448
+ <xsl:choose>
1449
+
1450
+ <xsl:when test="ancestor::un:sections">
1451
+ <!-- 1, 2, 3, 4, ... from main section (not annex ...) -->
1452
+ <xsl:choose>
1453
+ <xsl:when test="$level = 1">
1454
+ <xsl:number format="I." count="//un:sections/un:clause"/>
1455
+ </xsl:when>
1456
+ <xsl:when test="$level = 2">
1457
+ <xsl:number format="A." count="//un:sections/un:clause/un:clause[un:title]"/>
1458
+ </xsl:when>
1459
+ <xsl:when test="$level &gt;= 3">
1460
+ <xsl:number format="1." count="//un:sections/un:clause/un:clause/un:clause[un:title]"/>
1461
+ </xsl:when>
1462
+ <xsl:otherwise>
1463
+ </xsl:otherwise>
1464
+ </xsl:choose>
1465
+ </xsl:when>
1466
+ <xsl:when test="ancestor::un:annex">
1467
+ <xsl:choose>
1468
+ <xsl:when test="$level = 1">
1469
+ <xsl:variable name="title-annex">
1470
+ <xsl:call-template name="getTitle">
1471
+ <xsl:with-param name="name" select="'title-annex'"/>
1472
+ </xsl:call-template>
1473
+ </xsl:variable>
1474
+ <xsl:choose>
1475
+ <xsl:when test="local-name() = 'title'">
1476
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new($title-annex))"/>
1477
+ <xsl:number format="A" level="any" count="un:annex"/>
1478
+ </xsl:when>
1479
+ <xsl:otherwise><xsl:value-of select="normalize-space($title-annex)"/></xsl:otherwise>
1480
+ </xsl:choose>
1481
+ </xsl:when>
1482
+ <xsl:otherwise>
1483
+ <xsl:variable name="annex_id" select="ancestor::un:annex/@id"/>
1484
+ <xsl:number format="1." count="//un:annex[@id = $annex_id]/un:clause[un:title]"/>
1485
+ </xsl:otherwise>
1486
+ </xsl:choose>
1487
+ </xsl:when>
1488
+ <xsl:otherwise>
1489
+ </xsl:otherwise>
1490
+ </xsl:choose>
1491
+ </xsl:variable>
1492
+ <xsl:value-of select="$section"/>
1493
+ </xsl:template>
1494
+
1495
+ <xsl:template name="number-to-words">
1496
+ <xsl:param name="number"/>
1497
+ <xsl:param name="first"/>
1498
+ <xsl:if test="$number != ''">
1499
+ <xsl:variable name="words">
1500
+ <words>
1501
+ <word cardinal="1">one-</word>
1502
+ <word ordinal="1">first </word>
1503
+ <word cardinal="2">two-</word>
1504
+ <word ordinal="2">second </word>
1505
+ <word cardinal="3">three-</word>
1506
+ <word ordinal="3">third </word>
1507
+ <word cardinal="4">four-</word>
1508
+ <word ordinal="4">fourth </word>
1509
+ <word cardinal="5">five-</word>
1510
+ <word ordinal="5">fifth </word>
1511
+ <word cardinal="6">six-</word>
1512
+ <word ordinal="6">sixth </word>
1513
+ <word cardinal="7">seven-</word>
1514
+ <word ordinal="7">seventh </word>
1515
+ <word cardinal="8">eight-</word>
1516
+ <word ordinal="8">eighth </word>
1517
+ <word cardinal="9">nine-</word>
1518
+ <word ordinal="9">ninth </word>
1519
+ <word ordinal="10">tenth </word>
1520
+ <word ordinal="11">eleventh </word>
1521
+ <word ordinal="12">twelfth </word>
1522
+ <word ordinal="13">thirteenth </word>
1523
+ <word ordinal="14">fourteenth </word>
1524
+ <word ordinal="15">fifteenth </word>
1525
+ <word ordinal="16">sixteenth </word>
1526
+ <word ordinal="17">seventeenth </word>
1527
+ <word ordinal="18">eighteenth </word>
1528
+ <word ordinal="19">nineteenth </word>
1529
+ <word cardinal="20">twenty-</word>
1530
+ <word ordinal="20">twentieth </word>
1531
+ <word cardinal="30">thirty-</word>
1532
+ <word ordinal="30">thirtieth </word>
1533
+ <word cardinal="40">forty-</word>
1534
+ <word ordinal="40">fortieth </word>
1535
+ <word cardinal="50">fifty-</word>
1536
+ <word ordinal="50">fiftieth </word>
1537
+ <word cardinal="60">sixty-</word>
1538
+ <word ordinal="60">sixtieth </word>
1539
+ <word cardinal="70">seventy-</word>
1540
+ <word ordinal="70">seventieth </word>
1541
+ <word cardinal="80">eighty-</word>
1542
+ <word ordinal="80">eightieth </word>
1543
+ <word cardinal="90">ninety-</word>
1544
+ <word ordinal="90">ninetieth </word>
1545
+ <word cardinal="100">hundred-</word>
1546
+ <word ordinal="100">hundredth </word>
1547
+ </words>
1548
+ </xsl:variable>
1549
+
1550
+ <xsl:variable name="ordinal" select="xalan:nodeset($words)//word[@ordinal = $number]/text()"/>
1551
+
1552
+ <xsl:variable name="value">
1553
+ <xsl:choose>
1554
+ <xsl:when test="$ordinal != ''">
1555
+ <xsl:value-of select="$ordinal"/>
1556
+ </xsl:when>
1557
+ <xsl:otherwise>
1558
+ <xsl:choose>
1559
+ <xsl:when test="$number &lt; 100">
1560
+ <xsl:variable name="decade" select="concat(substring($number,1,1), '0')"/>
1561
+ <xsl:variable name="digit" select="substring($number,2)"/>
1562
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $decade]/text()"/>
1563
+ <xsl:value-of select="xalan:nodeset($words)//word[@ordinal = $digit]/text()"/>
1564
+ </xsl:when>
1565
+ <xsl:otherwise>
1566
+ <!-- more 100 -->
1567
+ <xsl:variable name="hundred" select="substring($number,1,1)"/>
1568
+ <xsl:variable name="digits" select="number(substring($number,2))"/>
1569
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $hundred]/text()"/>
1570
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = '100']/text()"/>
1571
+ <xsl:call-template name="number-to-words">
1572
+ <xsl:with-param name="number" select="$digits"/>
1573
+ </xsl:call-template>
1574
+ </xsl:otherwise>
1575
+ </xsl:choose>
1576
+ </xsl:otherwise>
1577
+ </xsl:choose>
1578
+ </xsl:variable>
1579
+ <xsl:choose>
1580
+ <xsl:when test="$first = 'true'">
1581
+ <xsl:call-template name="capitalize">
1582
+ <xsl:with-param name="str" select="$value"/>
1583
+ </xsl:call-template>
1584
+ </xsl:when>
1585
+ <xsl:otherwise>
1586
+ <xsl:value-of select="$value"/>
1587
+ </xsl:otherwise>
1588
+ </xsl:choose>
1589
+ </xsl:if>
1590
+ </xsl:template>
1591
+
1592
+ <!-- convert YYYY-MM-DD to (Month YYYY) -->
1593
+ <xsl:template name="formatDate">
1594
+ <xsl:param name="date"/>
1595
+ <xsl:variable name="year" select="substring($date, 1, 4)"/>
1596
+ <xsl:variable name="month" select="substring($date, 6, 2)"/>
1597
+ <xsl:variable name="day" select="number(substring($date, 9))"/>
1598
+ <xsl:variable name="monthStr">
1599
+ <xsl:choose>
1600
+ <xsl:when test="$month = '01'">January</xsl:when>
1601
+ <xsl:when test="$month = '02'">February</xsl:when>
1602
+ <xsl:when test="$month = '03'">March</xsl:when>
1603
+ <xsl:when test="$month = '04'">April</xsl:when>
1604
+ <xsl:when test="$month = '05'">May</xsl:when>
1605
+ <xsl:when test="$month = '06'">June</xsl:when>
1606
+ <xsl:when test="$month = '07'">July</xsl:when>
1607
+ <xsl:when test="$month = '08'">August</xsl:when>
1608
+ <xsl:when test="$month = '09'">September</xsl:when>
1609
+ <xsl:when test="$month = '10'">October</xsl:when>
1610
+ <xsl:when test="$month = '11'">November</xsl:when>
1611
+ <xsl:when test="$month = '12'">December</xsl:when>
1612
+ </xsl:choose>
1613
+ </xsl:variable>
1614
+ <xsl:variable name="result" select="normalize-space(concat($day, ' ', $monthStr, ' ', $year))"/>
1615
+ <xsl:value-of select="$result"/>
1616
+ </xsl:template>
1617
+
1618
+ <xsl:template name="getLanguage">
1619
+ <xsl:param name="lang"/>
1620
+ <xsl:variable name="language" select="java:toLowerCase(java:java.lang.String.new($lang))"/>
1621
+ <xsl:choose>
1622
+ <xsl:when test="$language = 'en'">English</xsl:when>
1623
+ <xsl:when test="$language = 'de'">Deutsch</xsl:when>
1624
+ <xsl:when test="$language = 'cn'">Chinese</xsl:when>
1625
+ <xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
1626
+ </xsl:choose>
1627
+ </xsl:template>
1628
+
1629
+ <xsl:variable name="Image-Logo">
1630
+ <xsl:text>
1631
+ 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
1679
+ BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl
1680
+ /erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz
1681
+ /GMzLdsAADsgaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7
1682
+ vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9
1683
+ ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzAxNCA3OS4x
1684
+ NTY3OTcsIDIwMTQvMDgvMjAtMDk6NTM6MDIgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5z
1685
+ OnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAg
1686
+ ICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnht
1687
+ cD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9
1688
+ Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczpw
1689
+ aG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICAgICAg
1690
+ ICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAg
1691
+ ICAgICAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBl
1692
+ L1Jlc291cmNlRXZlbnQjIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRv
1693
+ YmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFk
1694
+ b2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIFBo
1695
+ b3Rvc2hvcCBDQyAyMDE0IChXaW5kb3dzKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8
1696
+ eG1wOkNyZWF0ZURhdGU+MjAyMC0wMy0yNVQyMTowNTo0MSswMzowMDwveG1wOkNyZWF0ZURh
1697
+ dGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDIwLTAzLTI1VDIxOjA3OjQzKzAzOjAw
1698
+ PC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAyMC0wMy0y
1699
+ NVQyMTowNzo0MyswMzowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPGRjOmZvcm1h
1700
+ dD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+
1701
+ MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHBob3Rvc2hvcDpJQ0NQcm9maWxl
1702
+ PnNSR0IgSUVDNjE5NjYtMi4xPC9waG90b3Nob3A6SUNDUHJvZmlsZT4KICAgICAgICAgPHht
1703
+ cE1NOkluc3RhbmNlSUQ+eG1wLmlpZDpjMTQ1NzAyOS1iYTI0LWIwNDYtYmU5NC0wOTY5ZDRk
1704
+ OGRkNTE8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEb2N1bWVudElEPmFk
1705
+ b2JlOmRvY2lkOnBob3Rvc2hvcDo4NWRmOTdiMi02ZWMzLTExZWEtOGRjNC1kOTAxZWM0NGU2
1706
+ YWM8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50
1707
+ SUQ+eG1wLmRpZDo3NTMzOTU5ZS1hYzZjLTQwNGYtOWZlNi0wZDg0ZGNkOGRkZGQ8L3htcE1N
1708
+ Ok9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAg
1709
+ ICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJl
1710
+ c291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jcmVhdGVkPC9zdEV2
1711
+ dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6
1712
+ NzUzMzk1OWUtYWM2Yy00MDRmLTlmZTYtMGQ4NGRjZDhkZGRkPC9zdEV2dDppbnN0YW5jZUlE
1713
+ PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDIwLTAzLTI1VDIxOjA1OjQxKzAz
1714
+ OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2Vu
1715
+ dD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdl
1716
+ bnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJk
1717
+ ZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlv
1718
+ bj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBh
1719
+ cmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdl
1720
+ L3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAg
1721
+ ICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAg
1722
+ ICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAg
1723
+ ICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6YzE0NTcwMjktYmEyNC1iMDQ2LWJl
1724
+ OTQtMDk2OWQ0ZDhkZDUxPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8
1725
+ c3RFdnQ6d2hlbj4yMDIwLTAzLTI1VDIxOjA3OjQzKzAzOjAwPC9zdEV2dDp3aGVuPgogICAg
1726
+ ICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0Mg
1727
+ MjAxNCAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAg
1728
+ IDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRm
1729
+ OmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4K
1730
+ ICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAg
1731
+ ICAgPHRpZmY6WFJlc29sdXRpb24+MzAwMDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4K
1732
+ ICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+MzAwMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1
1733
+ dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9u
1734
+ VW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT4xPC9leGlmOkNvbG9yU3BhY2U+CiAg
1735
+ ICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4yMjU8L2V4aWY6UGl4ZWxYRGltZW5zaW9u
1736
+ PgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTgwPC9leGlmOlBpeGVsWURpbWVu
1737
+ c2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1l
1738
+ dGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1739
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
1740
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1741
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
1742
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1743
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
1744
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1745
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
1746
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1747
+ ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1748
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1749
+ ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1750
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1751
+ ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1752
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1753
+ IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1754
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
1755
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1756
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
1757
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1758
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
1759
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1760
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
1761
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1762
+ ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1763
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1764
+ ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1765
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1766
+ ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1767
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
1768
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1769
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg
1770
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1771
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
1772
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1773
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
1774
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1775
+ ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
1776
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1777
+ ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1778
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1779
+ ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1780
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1781
+ ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1782
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
1783
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1784
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
1785
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1786
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
1787
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1788
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg
1789
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1790
+ ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1791
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1792
+ ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1793
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1794
+ ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1795
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1796
+ ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1797
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
1798
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1799
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
1800
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1801
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
1802
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1803
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
1804
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1805
+ ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1806
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1807
+ ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1808
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1809
+ ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1810
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1811
+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1812
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
1813
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1814
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
1815
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1816
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
1817
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1818
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
1819
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1820
+ ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1821
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1822
+ ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1823
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1824
+ ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1825
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
1826
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1827
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
1828
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1829
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
1830
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1831
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
1832
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1833
+ ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1834
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1835
+ ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1836
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1837
+ ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1838
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1839
+ ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1840
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
1841
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1842
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
1843
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1844
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
1845
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1846
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
1847
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1848
+ ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1849
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1850
+ ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1851
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1852
+ ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1853
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1854
+ IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1855
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
1856
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1857
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
1858
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1859
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
1860
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1861
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
1862
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1863
+ ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1864
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1865
+ ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1866
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1867
+ ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1868
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
1869
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1870
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg
1871
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1872
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
1873
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1874
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
1875
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1876
+ ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
1877
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1878
+ ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1879
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1880
+ ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1881
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1882
+ ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1883
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
1884
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1885
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
1886
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1887
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
1888
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1889
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg
1890
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1891
+ ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1892
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1893
+ ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1894
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1895
+ ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1896
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1897
+ ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1898
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
1899
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1900
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
1901
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1902
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
1903
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1904
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
1905
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1906
+ ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1907
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1908
+ ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1909
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1910
+ ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1911
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1912
+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1913
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
1914
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1915
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
1916
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1917
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
1918
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1919
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
1920
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1921
+ ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1922
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1923
+ ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1924
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1925
+ ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1926
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
1927
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1928
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
1929
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1930
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
1931
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1932
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
1933
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1934
+ ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1935
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1936
+ ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1937
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1938
+ ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1939
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1940
+ ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1941
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
1942
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1943
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
1944
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1945
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
1946
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1947
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
1948
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1949
+ ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1950
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1951
+ ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1952
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1953
+ ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1954
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1955
+ IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1956
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
1957
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1958
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
1959
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1960
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
1961
+ ICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4xznjNAAAAIGNIUk0AAHolAACAgwAA+f8A
1962
+ AIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAFWJSURBVHja7F1nWBVHFz50sCCxghUFFOzG2EuI
1963
+ BTti7OKnRI01xhrFEmOMRmOP3aixE1vsGmOvKMaCqNhQUBBBUBAREYTz/di5uHd2Zsu9l2LC
1964
+ eZ55Ermzs7Ozc3ZmznnPe8wgX/K6FAUAJwAoAQAFAcAaAIoAgA0A2FF13wHAKwBIJP99BQDx
1965
+ APAcADLzhzJviln+EOS62AFAZQBwBQA3UlwAoAwAlAUAWxPcI4MoYhQARAPAbQC4QcqDfAXN
1966
+ V8L/2nhXBYBGAPAZANQHgBoAYJmLfUoBgOsAcJqUQPK3fMlXwn+NlASA1gDgRYpjHu9vGgBc
1967
+ BICTAHAMAC6TlTRf8pXwo1O8HgDQEwCaGDrORYoUgVKlSkHx4sWhePHiULRoUXBwcIAHDx7A
1968
+ oUOHsuqZm5vD7t27wd7eHuLi4iA+Ph4iIyMhMjISoqKi4NGjRxAVFQWIaEg3XgHAKQDYBwB/
1969
+ AsDr/NdrWrHMHwKTSREA6AoAfQDgCwAwV3ORtbU11KhRA2rWrAm1atWCKlWqQPny5aFChQpQ
1970
+ sGBB5jWTJ0/WU8LMzEwoUKAAfPHFF9z7pKamQlhYGNy5cweuXbsGwcHBcOXKFYiPj1fzXD6k
1971
+ LCeKuJEoZv5ZMl9yXWwAoAsA7ALBMolKxdzcHKtXr46jRo3CQ4cO4Zs3b1CrjB49WtLu6dOn
1972
+ 0RAJCQnBhQsXYseOHdHBwQHVPAMpEQAwiaz6ObFjq5g/3T4usc3m9h0AYCoAxKmZsJUrV8ax
1973
+ Y8fiwYMH8eXLl2ismFIJxZKZmYm3bt3C1atXo4+PD9rZ2alRxncAsAUAGmfzmPcBgMcAsAMA
1974
+ egFAofxpnrfEHACaAcBSAJidjUpYGgDmA0Cy0uSsVasWzpkzB+/du4emluxSQlqSk5Nx165d
1975
+ 2KtXLyxUqJAahbwAAB2z0dbgTQxHSN7BHwDQHgCs8lUg98QFAOYCQCw5n0zOpglQHgBWiSYA
1976
+ s5QpUwb9/f3x9u3bmJ2SU0oolrdv3+Kff/6JXbp0QSsrKyVlvA4AnbLpnfuAYK0V3+85AHwP
1977
+ AAXyVSLnjEk9AeAEUTzdixiQDfcqDgCLAeAtb8JZWFhgly5d8PDhw5iRkYE5IVqUMCMjA0+c
1978
+ OIF+fn7o7OyMVatWxQ4dOuDatWsxISHBoPvHxMTgL7/8gq6urkrKeAYAGmbDe/FlKCKCAEQY
1979
+ qNYoli/axZooWhhj8MdlgyFgEAC84E2wIkWK4NixYzE8PBxzWtQo4Zs3b3DNmjVYpUoVrpI4
1980
+ ODjg7NmzMS0tzeC+HD16FLt06YKWlpZyyrgXADxySBERAEJA8M3miwktkBMBIIYz4DNNfL9P
1981
+ QXBWMydUlSpVcOnSpZicnIy5JSwlDA4OxitXrmC7du2wd+/emiyde/bsMbpPYWFh2K9fPzQ3
1982
+ N+fd5z0ALDKxQeVrhWfbQIxo+WKEfAEA92UGebWJz5fbqC1uVilVqhSuW7cOMzMzMbfl+++/
1983
+ l/Rv+/btGBQUhE2bNlWleJaWlti4cWM8ePCgSfsWGhqKvXr1klPGcPJeTSW/KDzrEwCol69K
1984
+ 2qUQAKxQGNxdAGBhIsvqGBDwkpL72Nra4nfffYevXr3CvCK///67RKEKFSqEHTp0wIyMDPzj
1985
+ jz+wXbt22LZtW+zcuTN+//33ePLkSXz06BGGh4fj48ePjdqCqpH79++jn5+f3DZ1FQDYm+jo
1986
+ 8IfCXEkFgH75aqVe6iqsfggA50zkhigMAPuB41Tv378/PnnyJNeULT09HaOjo/Hq1at4+vRp
1987
+ 3LdvH65fvx6/+eYb5rg0adIET58+jWfPnsXg4GB8+PAhvnjxIlc/GNevX8f69evLrVKmWBWt
1988
+ QcC5Ku0A/PPVS1m6y1kiSbkPAJ+Y4F7uIIT0SO7h5uaG586dy9HJGh4ejlu2bMFx48ahl5cX
1989
+ VqxYES0sLLQgWGS3nm5ubtirVy+cP38+BgYGYmpqao49W2ZmJi5fvhzt7e1Z/csk7gVjXUtF
1990
+ ACBUxXjMFl1TEISQsf+0iE3J/VUMYBoxnJjCspbMWv1Gjx6NKSkp2T4x4+LicP369di3b18s
1991
+ W7asSZRNS7G1tcVmzZrh1KlT8cKFCzniXnny5Am2a9dOzoJaxMj3WhHUoZjmiK75H1HehSDE
1992
+ dP4nxAEABgPAMrIaAQgoiwwVgzfRyHsXAIBNubX6BQUF4dSpU7F+/fomW+VMVUqUKIFfffUV
1993
+ 7t27N9tXybVr1/IQOGEAUM0Exrx0Fc88RXRNVRAgcWnEglv836p89gDwKwhYw8OiLWVVEMJj
1994
+ lAbtLBjnhC0BQsCqpO1evXoZBKRWIy9fvsTZs2ejm5ub0Ypib2+Pzs7OWLFiRcl284cffsBG
1995
+ jRphlSpVsEiRIkYr5LRp0zRD7sLCwnDgwIG4bNkyXL16NcbHx8sabj777DPW/ZMAoJ2Rc22E
1996
+ ymftLLqmLAjOfl0fhsO/LNSvPQA8Iw/4NzlI61bF+yoGKwkAnI24fzViGpegXebOnZstyhcY
1997
+ GIgDBw7EggULqp78FhYWWLVqVezTpw/Onj0b9+3bh5cvX8aoqCh89+5dVtuHDx+WXEsbYBIS
1998
+ EvDevXt45swZ/O2333Do0KH4+eefY+nSpdHMzExVf8zMzLBNmza4Y8cOfP/+veIzX7p0Sc81
1999
+ MWzYMNn6aWlp2LdvX9a908mRwRiZonJeic+EjUAfmniAGO8+ekf7MtFD3aHM0vtVTlBjXkgL
2000
+ MtgSv9/58+dNqnhJSUm4aNEi9PDwUDXJCxQogO3bt8f58+fj+fPnVZ9F9+7dK2nrxo0bqvuZ
2001
+ mpqKx44dwzFjxmClSpVU9bV8+fI4e/ZsTExMzGonMjISDxw4gMePH8/6e3BwMJYvXx4BAJ2d
2002
+ nVX1Z/r06awPQwYAfGvk/Fuo4tm2UdeMBykOtsTHqoAlQKBGECMmxPt9P5UKuNiIPngDA3Tt
2003
+ 6uqK9+/fN5nyxcfHo7+/P8/6p1cqVaqEo0ePxr///tvgs9fGjRtNCuAOCwvDtWvXqgpfcnBw
2004
+ wMmTJ2PDhg0lq6ajoyN26tQJb9++nYUrVQvrW7NmDW+FnmfEttCCrGZK76UV5Xe8Tv1+00QW
2005
+ +RyVoqTj4gdZTjnj41UMzkkwPPpfooA2Njb4ww8/mAxylpiYiP7+/ophPsWLF8dx48ZhSEiI
2006
+ Se67YcMGyT327t1rkrZTUlJwz5492LNnTyU8KLc0adIE4+LiMCEhQRPCiPVxIWWdRmCGJ+UL
2007
+ DlLocxjld/6KUecifERRGtYgoOfFD5AAAMVEdUapeJn3RF8fMwCoY+wKWLRoUVywYIFJ0CIB
2008
+ AQHo6Ogo+wyenp74xx9/6J3n8roSiiUqKgpHjhyJ1tbWBhmRhgwZonqLferUqaxtLKds0bAi
2009
+ bgQh9lPsQwxR6PNUUX1bjqtj58eggGYcF8DPVJ2HCgMSBwIXp066abCYeQIHgqYr7u7ueOnS
2010
+ JYMmZnBwMDZu3FhR+bIzvm/Lli05ooRiIEGHDh0MWhVbtGgh+xFKT0/H77//Xq3LZpkGo8we
2011
+ xvEoVGHOicmU53DqfZvXlXASp+NuojrNFQY6GgQuTp0UA4CnAFBbxf1rgMAOpteml5cX01m9
2012
+ c+dOTaiP2bNncwNaLS0t0c/PD2/evJntTm+WYebw4cPZft+ffvrJIEXs1q0bEwyQkpKCLVq0
2013
+ YF7TunVr7Nevn5KjnSd1Sd1h1N/LAjsUTle+phBVrDpvAKBCXlVAN2CTHUVQ9ZbIDEII6BP6
2014
+ WIBAtfcelENgyoLAMK3Xpr+/PyIifvnll5L7WVtb4/79+1UhPVq2bMk143fv3h3v3r2bYzCw
2015
+ o0ePSvqRUzC7Xr16GaSIEydOlLgneOgZDw8PjIqKwoyMDPT19WXVmaBiR/aEHEmaUL+VZtgr
2016
+ xPNPLHeBHzyQJ+UQ8NHyYuFtCQ6CgOUTD+Qq8tslFZbYe3SbY8aM0QtybdCgAXMF27p1K3fS
2017
+ bd++nWv1dHd3x6CgoBwHRZ8+fVrSlwcPHuTIvc+fP2+QElaoUEHP19inTx9mvZo1a2JcXJwe
2018
+ M0DPnj1ZdXsozIkFpN4rkILEi/GAGwDQVOWCUSOvKWAHmc6Kz3JlOHX+EDnwdfIzqAvctQaA
2019
+ 83Sb/fr1Y7oSatSowXSSsxRx2rRpTLO5ra0tTp06NUcwpmqV8O3btzkGxjYU6zpnzhxERJw/
2020
+ fz7z9wYNGjBDxt69e4eNGjWi678lznW5o4mubgpIOW8KgIBXpdtdT9kieM+zOa8p4SXgR1OL
2021
+ t5E0SDsNAEYzrF5DQB9lX0Xm3utZhhGeBTQuLo6riNu3b8+q5+/vzxz8GjVqZAuDGk+io6Px
2022
+ wIEDuGLFCpw1axaOHTsWu3XrptcnKysrHD16NI4ePRq///57XLhwIR45cgTDwsKyBQdq6NnQ
2023
+ wsICV65cyfRFtmjRQtZ1FBMTw1L+5wrns0DK+T+Zgj5aMBz6L+EDe5ujzPOkEEOOLQAMzS3F
2024
+ qyvyCfLA19epa7aIfosEKQmQFQgAWnEb+2X6MJjlDFeKoYuPj8cmTZowz4j79u3DMWPGMAfe
2025
+ y8tLFg9prCQnJ+O+fftwwoQJ2KxZMyxcuLDReFMzMzOsUqUK9u/fH5csWYLXrl0zmh0gIyMD
2026
+ Bw8ebDLweMeOHVXtKv755x+0tbWlr78K/NhSb46/jwaJD6Is6l6i3+Qs+d6i+0zIaQXsQ3x9
2027
+ AEIMIK+TmygHvS586BQDCuTCWVHry3wEUsV1CxYsiLdu3VLtlO7UqRNz0gIjxGnKlCnZQm1x
2028
+ //59XL58ObZr1w5tbGxyJGKiZMmS6OvriwEBAaom//PnzyXbxFWrVpmkL926ddPkt6VZBeAD
2029
+ lwzPQMOaU+kgUGWKbRBVRE79+aK/b5Lp/6/UbtAvpxSwNrEa6b4+v8l08kvRdf1EMCRLxpeI
2030
+ FUmxldOHTwDgEV1/8+bNmiPXhwwZIjtJqlatanKM6YMHD3Dq1KmyTGg5Vezt7dHPzw+PHz/O
2031
+ 7e+ECROwcuXK+PTp06y/jRgxwuh7/+9//zMojnHo0KFK7gWxNAIObxAI4Us+orqWxMd4kXM0
2032
+ oovYYOhLlLt+ditgIaKAQ1ScB5Fa9k9TSqlzK/Csqq+AH/Us+TqNHj3aYKWYPHkys/8DBw7E
2033
+ 9PR0k7oWOnbsKEeCxFyZK1SogB06dMDp06fjH3/8gceOHdNrw8rKCvfv34/Lly/HCRMmoI+P
2034
+ D1arVk3zylq5cmWcO3cuPnv2TLJraNSoEdarVy8LqP3XX39peg5a8Y3xa7579w7r1q1Lt5sM
2035
+ /HwVcxT6tI/amVUV2Skqg3wKAN0Z04EoYQhkMyP4fLIFFFsyYzkdTBd1phIISTHF24SvgRHd
2036
+ oMIE3YFlVVMTasOSyMhIrF69OrMPVlZWOH36dKMV8c8//8RatWqppqJo1KgRTp06FY8fP86M
2037
+ c4yJiZFcJzbriy2ZwcHBuHDhQvTx8cESJUqo6oOVlRX27t1bD+T+119/IQBkkUkhoupoEVZp
2038
+ 2LChUdbl8PBw/OSTT+h2TwE75tSKZUFngER4fDdyDv7yono6uGa2cdk0Izc4T5l55ciYWOIE
2039
+ Qkyh3ICskPEHPhPXtbOzM9hR/urVK64C0oBkQ9jW9u7dK4k2YBUbGxvs1KkTbtq0SVXCmH/+
2040
+ +UfSxvXr11X1KSQkBOfPn4916tRRRYGhA7yLuU67d++O27Ztw3HjxqGNjQ3OmzcPU1JS8MCB
2041
+ A1igQAHViti8eXPmx0PLx43R7iiZeRem0KcMENgbaGu9XEhUc1G96SL3SSVTK6AVANwiN/hF
2042
+ 9HcP0MZs9RmBoMkNxEHgI+Z30fUXL15s0AtMS0uTQKbMzc3xt99+Y31hsWHDhqonTHh4ODZr
2043
+ 1kwxRVrr1q1x06ZNmhX8yJEjkvZOnjypeQzu3r2Ls2fPxpo1aypG2s+YMUPiIvDw8MDHjx+r
2044
+ UQzZOEVjXD4Mp3+SzDGmrApFRAAIAP2IiWYydXuK6n0J/DhFo+U7YFMC1JfpHI317KUErAaB
2045
+ woIXLtKC9SU11GLJgkNNmDABERHPnTvHPE+5urpiRESEYlwcS4nFK/fo0aMlk9dY7KixAO5z
2046
+ 585h27ZtZSdnq1atJNZj+iyekZGBZcqU0UynYagixsXFsbbZ2xTgjXdU9OssfCCeMocP1Bd0
2047
+ +UbUtg/1Wx1TKWBZ0Gcmq0JFLLA69pRa0qereOiTMgpoDgA36HNLaGioQS/uhx9+kNy/bt26
2048
+ eqbyPXv2MJH9ZcuWxbCwMGa0Og+Kpbtu5syZGBsbm6ejKP755x/s06ePmsxLWdA9Wvz8/DSf
2049
+ EWvUqGFwyNemTZtYbbaQmdOfAMBfKvp1TWSwWcqpI/YPtqJ+O2IqJVxANVxShRIuFRlglqp4
2050
+ 2L9BPmDSl75m3LhxBr2wI0eOSKx6Dg4O+PDhQ0ndPXv2MHGjZcuWxaioqKx6jx494hpeChUq
2051
+ hLNmzTIprGznzp3ZHsp0584dZvQJqxw5ckTv2nXr1hlkrPH29jY41pNBMHwL5AOBLYi7TKlf
2052
+ l8jcbMj5vZ+CPjQxVgELghCQK25U7OPrzOlYfZWmYSSHXrnBsiORGHp5AJOSkjS/qIiICCxa
2053
+ tKgESkVPIrGEhoYysZJubm4YFxeHgYGBWLJkSaZr4auvvsKYmJgcCWU6evRotqB4Dh48qMgU
2054
+ 5+XlJQEgGIOeMYQ1PDAwkAW0GKgSeKKU9HUfmaPXGb+1VVDC341Vwq8Zh16xfMG46U3yW19Q
2055
+ JvLtr6IPkq2sljhAsW+pXr16kn4sWbJE8dqwsDCmItaoUYN5dixTpgyePXs22+Btp06dytEk
2056
+ oampqTh58mSuX9Dc3FwCgFfrkmGVLl26GNRPHx8fuq0o0A/UpUVnwHEHfniTOPJ+MOPvjRWU
2057
+ 8DWFzNEsV6gGYxnWTlauwJogT2f/QmTalcspYU/7Elu3bm3QC2KlE+vTp4/q6x89eoS1a9dW
2058
+ nECff/65Sc59WsOJsjtTr25VpHcS4jP6hQsXsuo+e/YMJ02ahB4eHgYRHf/555+a+3fr1i3W
2059
+ h0KOMHqR6HhlB0KWL7nUbm1AGjNbQ8Xx7H+GKmAtTkfEwoo+rgTyXKLXCU5Ud2YcLtOHsaaY
2060
+ bLdu3ZKQFlWpUkUz4VNKSookgkEM/v75559NirDhSXBwcK4oIaLAO+Pr68vE2NasWZN5zfHj
2061
+ xzUrobW1tUEUJIyg41gQqDdZMoOEM9FgkOecft1mhD85i67lnRsNNtDM5zT4CWU5Ff92AwB+
2062
+ khncddTKNwD06cjpg7PeWbBRo0YGTRzaH2hjY6Paua3GtQEkc++hQ4dMPulDQkJw+fLlOHbs
2063
+ WOzQoQO6u7uji4sL09/2+eefY58+fXDKlCm4fv16vHDhgsnjDJ88eYJdunThKs+jR4+YyJ3m
2064
+ zZtrVsR27dppxpaGhoayVkMesLol+X0Q9ffSICUrE+OZxf92oHCqrGuSwUDWwH9AmS/Ggfpt
2065
+ Ix3ZIEIijGNsZV/LWI8kAZUHDhwwiSVx3rx5Bk3A4cOHK+I8J02aZFRylczMTDx+/Dh+/fXX
2066
+ WK5cOaNB0lZWVli/fn2cMWOGoo9TSS5evKjIMGdra4urVq2SXJuQkIATJkzgbmd5ZeDAgaY4
2067
+ GwZz5pgt8V1ngJSPxgKEYHK6rTvUHHeQg1SKiuZEpQXJ1pPVmCdVV/wby/eSQjn4daDYOKKE
2068
+ vC/EBTVbHTl5+/YtVqhQQYJ8MURJWKE7PCpAX19fzVjWsLAwHD9+fLZmaDI3N8dWrVrhvn37
2069
+ NIMc1q5dy3zebt26SbamlpaWuHv3bmY7jx8/xq5du2oCf2vdarNgfQDwOWee7RDVGcb43Qfk
2070
+ c6WIlfB/MvXGaFVCOUa0EVTdZApVTtPI0RQErvCBkOkg5/4N6Pv+8ccfmhVn8eLFEneEFrp4
2071
+ nVy9elUSTGptbY3Hjh3DOXPmcH1earaCFy5cwO7duxsckWBocXFxwVWrVqnyyy1YsIB5Buzb
2072
+ t29WqBPrAyXHcn7nzh3s0qWLqrwY1atX1/xRY2x//+DMtY5UvbGc8L2nKpRwLMhnltYkA0A9
2073
+ 9yMviiIc9LlDaQVEABjJuf82cVulS5fWbPB4+/YtOjk56fVJKUEJS16+fCnJggQAuHr16qw6
2074
+ ixYtYk4mObzpo0ePNHF5li1bFnv27InTpk3DadOmSX7fvXs3rlu3DgcNGoTVq1dXzZ5drlw5
2075
+ XLt2Lff5V65cyXy2Vq1aZUVBZGRkMAOkdWfk9PR0Lsj+r7/+UgX63rVrl7Hg7jQKaCLGRdNz
2076
+ eDqjXjkSf0i3W05UZ5bMM9zQqoQzFOBlYongwH0cqXpNQJ/V+B2w88CVo7fC06dPN3oVtLOz
2077
+ k8TJqZH27dtLxmDy5MmSekuWLOHCscRJVBAF9m6lvBXFihVDPz8/3LBhgwQmd+HCBUn9v/76
2078
+ SwJQP336NE6cOBFr1aqluOI0adIEb9++LcHBsq7z9fWVfBRTUlIkflg3NzecMmUKli9fHi0t
2079
+ LbkfpKNHjyqyfPfv31/Te3v//r3kKCLjrljEcbJbKiwitHV0pcwzJGhVQrmQ/hgFJQwCacbV
2080
+ XgyDzQ7OvX+gjR3iiG61ERI0iNiQoN9ly5YxSWl5smHDBuZk0rGIZWRk4LfffqsYyb9+/XrZ
2081
+ rSyLbW3jxo2KVs1ffvkFq1atKmtUWbhwISIiHjhwgOnfo/lD6dWdF7NYtWpV2bP4tm3bZD8U
2082
+ hQsX1pxDcvr06aycEyzhRQOdJx4AWhGfcrDU2xVWdE1p1g4pNFaUo4RXKAU0AyEfOauN9px7
2083
+ X6W3dMYaUaytrTE6OlpTG48ePZJsk4oWLYqRkZGKaBZWFMWnn37K3LKJJ+m2bdtUGUxYSrh0
2084
+ 6VJNTnc5ao3+/ftLnt3Kygp///13VdEYrPNt8+bNsUePHnjnzh3utatXr5b9QK1bt07TOwwP
2085
+ D2cpdkPOvONlb4oFKWVFE9Fura7o78cV9KaqFiW8oNCYOERD91V4BPoUAdYyK2oYBy/qRNc1
2086
+ JIkn/bUfMGCAKczcuG/fPlXX3r17V1Pev+3bt2uyVrKUkOUWUNotrFixQlVWXyWCZLWuHAcH
2087
+ B8Vdja+vLzZs2BBnzZolcdEY4idm0Owv5cz5hiBPb9iBqj+R/Cb++zWFsaytRQmDFRoTuyle
2088
+ EQtpdQpudkzm+iEqsarM6AatE1QtA5scwkOrvyouLg6bNm0qO7m7du2KCQkJmifW2bNnJW1t
2089
+ 2LBBFjfLk9evX+OECRO4GYULFCigGRzOC+zV+kHVUWqAEUzjjIiO5zJusT0KWOfe1C7vIOhz
2090
+ jirpjasplbAj5ScUZ9ItofBFeCYDI9pLx/hpld69e+vdr1mzZpqd5TT4uGzZsvj69WvNfYmM
2091
+ jGTmZTc3N8eff/7ZYKf5rVu3JG2uX7+e+SwLFy5ES0tLPHHiBHdF/Prrr5nxg2ZmZhgQEKC5
2092
+ f4MGDeIG77Zq1UrTh9XZ2VmvjaFDh2q2bjOejRdrWBnY+VTEoJMhFLJGHE/4SEFvHLUo4TmF
2093
+ xnqKVjwx9q4IHXzLKCNl0AtvgEGbrlaeP38uMYxo2UYhsgNmWRNcSRISErKy1dK+yjVr1mhq
2094
+ 6+TJk1k+OZ1y0eFT48aN0zN8BAcH46effpr1+6JFi5jREdWqVeM69n/++Wfcv3+/prCxmJgY
2095
+ RffI2LFjVbdHM6Hb2NhoDmPr2LGjXKo+WmaqOEYMENUvpOApMNgwc1ShsYEi5Hkp0f+fVbju
2096
+ qkzsYDtjt6K//PKLZCullQaejpSoVauWZnRJdHQ0k+FbfMby9fXFq1evqmqvdOnSWL58eRw+
2097
+ fDi2adMGS5cuzYS0lSlTBv39/XHnzp2Ss544wkEsly9fRm9vb8kKOG/evCyImYWFBdaoUQNr
2098
+ 166NzZs3x//973/o5+eH48aNk7SbmpqqiBN1cHBQjVqKjo6WWGnF6QrUCIMw+LLM3LcF5YSi
2099
+ 6QDQmnHtM4VzpTjwgUshoaOLW67QidGM69cqXPNO4WCqd8/atWtrXn1oP1XHjh01Xc+K09uy
2100
+ ZYvq69PT03HJkiWqctfritK2NCEhwWh0jIeHB/dDcuTIEQnd/rp16zRlX2I50nft2iWbeVcL
2101
+ oXKrVq30ru3Vq5fmjyJlJc2gkC60VFcIxdPx4tLWzkSF6CGdfM87krWAD7ww3yh0gGZS66vi
2102
+ ZU1SWH310AiDBw/WvPenv5jLli3T1AYdpuTk5KSabuH69esG8XAOHDgQ4+PjJc52nUyZMsUo
2103
+ BXR1dWXCxxITE3Hs2LFM39yCBQs0oXkqVKjAVPLnz5+jn58f02WhhR+ITg9uZ2enOQyNEQvq
2104
+ ozAf/VQ8+z3Qp2WRU0Ixm/x4ysiTJUtVBCeyUga7qqAHCAR5CotS9DVyUCq1FjktfKTR0dGS
2105
+ A/zUqVNVXfvgwQNVpn4eoka3HfT398fJkyfjokWLcNeuXQbniwfCcj1t2jTmR2TJkiXo4OCg
2106
+ CPbWcr8OHTpwFWPSpEmSWE4t8vr1a4n1VutZn4FvXaziWPabimdfyAlmoMsUCrxyjL6ZAwlY
2107
+ FB8238s0KI7POq1i2VYiQpUofXh4uKZBHjZsmN71jo6Omq5fsGCBpO9Kqa/fvn2LR48eVUUg
2108
+ nFPFzMwMv/32W7x8+TIePnxYgjIxRQ4JVilatGgWLI12iSQnJ+sBGFxdXTUfNbp27SrJY6FF
2109
+ Dh48SPf5igoltKXBIxzXRWkVSij2KHiRc6UesuwrRqeCQDnRSxsVL6iniofVS7pRvHhxzS+J
2110
+ JiPSem6gfXqVK1eWrX/06FGTxPsZUqytrdHJyQmrV68u2YJbWFhg7dq1syyUHh4eWZjQ8PDw
2111
+ bOtTs2bN8PXr1zhmzBgsVKgQFixYEH/99des8Ro/fryeq0Kr/Pzzz5KjgtbjCrW6ZzDglXRg
2112
+ L4CQ3yJB4fl1WZxecn5/S21bdSTBXcU33EK2jGKZK3NTXf42Je7GNSKjjxzZzSIaoa9FYmNj
2113
+ jUKQPH/+XLL90uW658moUaNybbVbvHgxbtq0CceMGaPqHFqoUCFs1qyZJop6QwqrfR2IICgo
2114
+ SA+jioh448YN1WCFv//+W9K2VgJlRnLYtjJzUkyn763w7EnEXcfLcX+Ac96cJ/5jFCk0Po53
2115
+ 08YgT4Gv4+MoIAr7d5d54MPia7/77jtNg8t6QVrOg+vXr5dcf/nyZaY5f/HixThjxgwsXrx4
2116
+ rilhtWrVsHXr1nlmC6xUfH19ERGzrKWVKlXCbdu2oaWlpeqA3aSkJMmqf/DgQU3zpH///mrz
2117
+ VgA5M4qt+dMVntNXxr/ej2p7NHxg+c4yrOiWZyvKZREtg4GTS5LxBvTTov2i4J4IN+bQPXfu
2118
+ XEkSTC1C88aUK1eOOQl40K6cLhYWFnjv3j2J6T4vFhcXlyzQtk4JRowYkYXvvXjxosEr2YwZ
2119
+ MzS954ULF6rFkQIICUB/pWBq2xUMNDuBzS9TiGp7mcheYmYOAj2hTunEAYqZBEvHkkyFpXwE
2120
+ ZejpQg6ivMOvXt5xV1dNEDsICQnR+3etWrU0XX/8+HG9f7ds2VK6X160CN68eQN5Qdzd3aFc
2121
+ uXJw+PBh8Pb2Bk9PT3BxcYG8KJ06dQJ3d3dISkqCffv2QYECBaB27doQGhoKBQsWhNq11WOa
2122
+ q1bVd8tdvHhRU18Y88JNpnoRsm0sJDK6fCVj0GlP4mVZeNRkhiFShzhzASrUqB1VuQFH69vJ
2123
+ fBE2UG20JX8vzel8TboNrcG3tHVSC0X+7du3FcHQQUFBBnFnZkfp3r07Pn/+nPksv/76qyq6
2124
+ iJwqNjY2WeRSOirCYcOGZSWe8fb21vSe6RwiWg08T58+pft4X0YJN3CAKS7Azqv5DtjB8LRO
2125
+ FQX9zMHeAPoUbksYnbnHWXp550DaAKNzYfCYkLvRWy0tREwZGRkSrKIWrOe2bdtQyT3CCmvK
2126
+ yeLm5oZjxozBf/75R/F5duzYkWc+GNWqVcOYmBicNWtWlpP9xIkTWf1zdHTU5HTfuHGj5B5a
2127
+ gfUUOihRRgnnigIO6LnbB/h5NcX/fgnSrL1dQEqWrUdtGM7ojD/jZns42DgP6lpdXrdUmYcd
2128
+ asx5LjExUTIY586dU339jz/+KOtfvHnzpuoMRdlRKlWqpDlb0fbt23PNfSJXAgICJIBsLR/M
2129
+ c+fOSdqkKTmUhJEc1UKF22wy4/cAxjMeBnk+JtZ1a81JIK1OnBl4uA3EaCMWD0bjk0HgZBQf
2130
+ ZOeK/CdyDtEPa3XRopr2+e/evZP8zc3NTfX19+/r70jq1dOnh9yzZw+kp6fn2tlv69atYG1t
2131
+ rem6Hj16wPbt2/PEmdDZ2RmGDRsGO3bsgN69e8ONG/p8R6dOnVLdloeHdNrFx8dr6k/FipK0
2132
+ 9p/IGAt1Mg30aSx0do9oRhCCWFZT/y4EUvrPMuYgJVuiK8WAlJqQtpycZ2xlu8IHKoFHagdJ
2133
+ qxK+fftW7982NjZQqlQp1denpaXpH4IbNND7t4WFRa5M3qZNm8Lly5ehYcOGBl1vb28PlpaW
2134
+ ua6EI0eOhBUrVkD37t2ZH83o6GjVbRUrVgyKF9efrikpKZr6U7KkhHCNN+HEc9YGhAAFc9Hf
2135
+ EkBIEMOTQPiQHEknPiBNAfiJOUjR3P05GDq9uSn6/3QQ4qsyRX8rTGHq5JSwoDFKSFsstV7v
2136
+ 4OAga0GjLbUVKlSABQsWwM6dO2H58uXwySefZMvknT9/PhQuXNjg66tWrWqwAptSrl69qvdv
2137
+ R0f9uNaEBG0kZO7u+u5mrbuEEiVKqFXCx9Scbgr6mGkAgYuJ50HYy/ibH+Nvn7A+lVVAILYR
2138
+ x1wdAYAnAFCeUX8ZADyg/jaHcnfIKaGVMUpEbxW1Xl+kiD5yqWbNmpCUlATh4eFgZmYGdevW
2139
+ 1d/QBwRA48YfsmGlpqbCuHHjTD5569QxLtPywoUL4fz587muhLdu3YKNGzeCubk52NvbS7aD
2140
+ ycnJcO7cOUhISFClkO/fv5co4d27d+HBgwfw9OlTSExMlKy2lpaWYG9vD/b29vDw4UO1SphO
2141
+ jJLiPfAsEHIVireqU4mFk94y7aP+XQOE3Be0WAJlLhVbeWhhsaYlMh6Cxd7dT2ZcpwMFBC5X
2142
+ rpwkxg0Y9HwODg6SehYWFujg4JBVeFEIdnZ2WLp0aSxWrJje3ytWrKgHYbOystIz++/fv1+R
2143
+ BwVMAIY2VhgQrX9lMYHRrK/M3GRFUZwC/VTwAADrqTohjLZ+59z/HwB2GqiXIPXyV2TU+46x
2144
+ qoUy6tWVedAFH9NLr1Klih4le0hIiMFteXl54f3793HlypW4fv16/OKLLxAAsE6dOkYr4Z07
2145
+ d7By5cr/CUU0soyUmZtfca4ZzLCRyOmFIwjRFqy2jgJHaXgJLAJBP0SJVtSJwKYCsJF50MUf
2146
+ 24sT40rDwsIMTs5CpxHT8W526NAB58yZgyEhIUYp4po1a/KVTLmMlpmblTnXvAR9ek8AfXZB
2147
+ GpgyTeb+WywBIJLjcphAtqXiDfZO+JDg5XfQh+O4gcCeTcsdqg2TipWVld650NraWmLx5ImF
2148
+ hQVYWFjo1S9btixERUUx6xYuXBisra3ByemDVycyMhLMzMwAETX129vbW3I+6t27N2zfvh2s
2149
+ ra3B398fgoKCYOfOnWBhYQFPnz6FZ8+eQUxMDFSrVo1lapfIoEGDYNy4cZCUlJSj50AnJyfo
2150
+ 0KEDXLhwAZ49eyY50yUnJ+sZSrp06QJxcXEQFRXFdQc5ODhAuXLl4MmTJ3DmzBk9d0yBAgXg
2151
+ xYsX8PTpU8jMzORaVsuUKQPJycmwe/du1R4sAIhneBA+IXaPgaK/rQKAVuSaaOrM97XMPR4C
2152
+ yHPDDKUuqE3+nkm2pzoxA35SxQ0KD/qLuH779u0REfHNmzcYHR2NERER+PDhQwwODs4qYWFh
2153
+ GBERgTExMXj06FG9+/3444/48uVLjIiIwIiICAwNDdW79saNG/jkyZMsxi6axuHEiRP45MkT
2154
+ PH/+vB5AeuTIkVxOTzpjk1KpXr063rlzB1NSUvDs2bO4efNmXLp0KbZs2RKnT5+elenJ3d0d
2155
+ X79+zWTLLl++vKoMU40bN86VFYbH07pixQq9elq5hMQMcgCAwcHBmq6n78+Y47T8yXnGTNDP
2156
+ OWhJ3Ba/M9wScmPVD4DK/UCVCNAnSjUnS/EJhlvDkD03gADb0UtMokVoKFOXLl00XV+/fn29
2157
+ 60eNGoWI0oQyuvjEiIgIrFy5MoaGhmJGRgaLyUuxlChRAt3d3ZlGIxsbmywD0+XLl/HBgwfc
2158
+ CHo1aBFG5ECOFRZvzpAhQyTnYi1CG9K0KiHNSwv8LL5itwLvGS9Qdbcz3BhK1Ph1AATCGblK
2159
+ vahGj1DbTksQaO3VUOazpA+9SmiRQ4cO6d3P2dlZ0/V0XF69evUQEbFly5ZoZWWFnTp1wvHj
2160
+ x2elAUtJSUEAwFKlSjHTVpuq9OnTBxER9+7dy61z9uxZVc8ox3qWnYWVhIemQ9QCtk9LS5Pc
2161
+ Q2u+SZqBAQB6KLkWOR4EXelEKWxnyi2hRP1iAcT3J1eRDt2YR/a+ar4Ur0Ce4AlA4G/Uy0Wo
2162
+ RSIiIiT3ffnypeJ1kZGRGBERIWGLtrGxwYcPH6KZmRmXpFZnwVSiuTfU+mptbY0rVqzA4cOH
2163
+ c4l0PT09VU9crdtlUxVra2uJS4dm1NZlgTIwCkJTop+0tDTWeDZQcTYMlHnOYFG90gBQS4Vb
2164
+ QleOiG/yVKHyF6K6fSmr6E2Z6w6qeMBqtJ9PS1bW169fS+577NgxRTJYa2trtLCwwM6dOzPp
2165
+ +GxtbSVp0GJjY/HixYsIAPj9998zJ5WFhQV27drVYCoJOzs7PHbsGH7zzTey9Q4cOGAowVGu
2166
+ KSKD50UxpZtYAgMDJVtyLXPl7t27hlLTTwb1uVl0UgrkKfURBGrRLNmmUFmsTGLAdTPQxk/K
2167
+ hPOBkdwh9ISfNWsWs9779+/x559/1gv1sbS0lIT+PHv2LIvvU5wnUMzwvXfvXkRk513Ys2cP
2168
+ ZmZm4tWrV7POeFqKEn2ihYUFd4zi4uLw1atXWZOewbeZ48XOzg5v376NBw4ckPx28uRJ1e85
2169
+ ICDAKEa9EydOsGIA1YjStpKVa9MflFm89YCsgxUuyAR2FHKAwnWfqXhAM6DoFXmU7TyhU6H5
2170
+ +Pgwv6JyOfnE5fTp01mKIA4jev36NY4YMQLNzc0xNjYWERH3798vuV53rtQhavbv34+Ojo4m
2171
+ m9Q//vgjcxxCQkKwcOHCaGlpiQ4ODqpTZudE6dKlCzNlmpacgzTjmlZCsB07dtD3v6PB8xIh
2172
+ 83ypIKQCFEuwwpj8Rd+gkoqB/JV2nZEzH6/+c9BHncvJM0O3KIiIPXr0kOWICQ8P10RNLzYe
2173
+ sEinxOeQd+/eMUmf6GSYjRo1ygrQpZOIfvfdd+ju7s5d9RwcHLBmzZrYvXt3XLlyJZcVvFmz
2174
+ ZnnWKW5hYZGV24I+gwcFBal6z/TRQSshGCPz8m4NSvirwjM2FePMVYxJR9ZNlNI6JYF+VpkG
2175
+ CvU3a3hAvVRquvOWWpk/f75sxPXXX39t1ARSetnjxo2TXDNz5ky9Ovfv38cGDRpg/fr19czk
2176
+ bdq0wUWLFmHp0qW5FBGsXA+0sHIWfixlzJgxis/3/v17yTZdKyEY7R4BgY5CSQqxDIgKR68Z
2177
+ CnXv8xaohSoG7CsNe94+GpRQDwDbvXt3TYN77do1yf11GY8iIyMNppIXGwAuXbrEvf/Dhw8l
2178
+ BofChQszuWB27tyZlbiybNmy+OWXX6rqQ61atXDr1q3cTLfGUHDklvV05MiR6O/vr4ptnTbK
2179
+ AAAzx4ac6HYjMu43WkqLVixrhZ3fJtF1txWefTjvhjVVDNwuyl8od+jUBdrVU7Et1aO4qFat
2180
+ mqbBff/+vWQibd68GRERd+/ebZIJo7QaspTg66+/Vu1WERuKSpQoIbutq169OrZs2RJHjBiB
2181
+ EyZMQC8vL825I3TF29sb7927Z3Aujbp162YZXzZv3owDBw5EHx8fHDhwIE6bNg3PnDmDkZGR
2182
+ Eid5wYIFNfHDzJw5U+/6YsWKaZ4jDMrK6grzciroJ47ZITMW1xTwpuIkuXYU3FPPj6eUcztB
2183
+ VF8uh5uYs8CTcnGwpC490egcCkrSsGFDZG1pjxw5YhIlrFixouz9Q0JCJIpgZmaGp06dktR9
2184
+ 9eoVFipUiHmfmTNn4v79+xVDuUxVdHng4+Li0MvLSzPy5/Hjx+jt7Y0rV67kjk1KSorkebXm
2185
+ kqD7poM3GrFbeq3gwzYnRzQflT7xCFJnlMK4TaTuM0a319XJMBWD31SFtWg0tcIq4UctgcoH
2186
+ p4asad26ddirVy+cOHGihECoa9euiIi4fPlyk01YJSpGHa0fUDkTXrx4oTchW7RowVzhFixY
2187
+ kFXv2bNnOHPmTKYxw9SlY8eOGBISgtevX9dkaDl+/LgqBdi8ebPBaB/dKkYrMSvzsEbM6DGV
2188
+ IBIfKiRJboEC+ECVyDNW0pFHJ3SBi+J4wPsKL0B3mJVLklGeAn2/Bim3Bi0XxG3Mnz+f+TIn
2189
+ TJiAkZGREscrnaW3Ro0amJiYKMlCa0z5+++/ZV/09evXmbyfOvjWq1evmBZMa2trbvbZlJQU
2190
+ 3Lx5M3bq1EniczR0C8rbVmoJfRo/fryqyZ+ZmSlxIdWsWVOTAtEJS83MzPDJkyea2ujbty/9
2191
+ DN8rzEfd1nOQStdDIvn9uoazYAXdCkrH+3dWeAFHST1ekGIQ1V4L+MDVLyeL5LYbhw8f1nP+
2192
+ 0hOwSJEiek57GxsbnDFjhklXDE9PT0VO1KlTpzINOydOnEBPT09mEpXDhw+rmkgpKSkYGBiI
2193
+ p0+fxhUrVuQ4FWPx4sXRy8sL27dvnwVWUJI9e/ZI2vntt980KRDtX6xbt67m2EoGzreRzFws
2194
+ LJrfP1K/zZaJMbSV0Yu7VDCEzrgZARyQ9QkFV4U5CJTfalAy3Vg4OYb0Ak6++czMTIOixA1B
2195
+ qyiVxMRERTLidu3aqbJAWllZqd7SqZncaou5uTm6urpqSmpjYWGB+/btyzJuWFhYqNpS6gw3
2196
+ 4hAstdmPdX5Yeks+Z84cTWPFiERRwjR7ierSoUmeMmfCRjJgl2aM+9wWK+Ec6seyJJiR91Kq
2197
+ Az8NFG1xmihCFdjKPLiEPuPEiROIiHjlypU849PSIWXk5OXLlyy0vmQFpMHNWoSVmVhNGTZs
2198
+ GCYlJeHBgwexZMmSiq6ZZs2aYbdu3fDgwYMSPGvPnj0141aXL1+u6TlZ1u179+5paoMRzrVH
2199
+ YUGYJnN2tAZ2PvtLADAW5PMXspT5KoBA7BsHUqpvL5kQjsH0GY6Up4ybbRL93krh4WNYboHT
2200
+ p0/nGSVUG78WFRWFrq6uXFAzL0e9WtGSU14coRISEqI6rZqlpSXOmjULZ8yYwcyDKBe7mZaW
2201
+ Jtm9lC9fXg+Lq0bat28vOetrFcYxYIjCPBTn3WQxBZ5ljNd6zg7yDmPxMYMPzPdHxZAxlgOR
2202
+ 5/nfyvGZrGe0IT6ozlR4+CWsA3xeUkK1uNbY2FjJVkxchg4dqnlCimXRokW5PhZTp07l9o9O
2203
+ VwcaE7ciIj5+/Fhy9tcS+qTblTByc5RXwDInUFtJeoGawxiPuWRBo/3lnzLu4UvrzBXRKlaY
2204
+ 4SvZz7hhLAiMUvTfaeJgG9IR3e9KuawaAiPZZ3BwcJ5Rwk2bNim++NDQUEmIE3By9xmzJW3Z
2205
+ sqXR1IrG0F/Ex8cz+/Xs2TOJn9PFxUXTWRARsyJZdMXBwUFTAhlExE2bNtH9vqkwB1nJb2tT
2206
+ dbw5CxP9t8mcIGGxPWUSgH5yl3mMi+yBzcg2gvE3OhtvPer39ww/CS1hrK9trVq18oQSKpnX
2207
+ g4KC0MHBQXKdHIDc29tbdfjW8+fPsWvXrujp6SnxnZUvXx47duzIvY+Pj08WGsfLywvT09Px
2208
+ 8ePHJudGZW2V1VpTdZKYmCgZxylTpmj+UDFggUquCV9gZ+GlFYkOiXpC/e1vDlKMTiTaBQDg
2209
+ J2r5rM+40IVhDV0IQiYmscXJXA6OBsp5wiVbYBcXFx4CPtfKoUOHuArIgn/16NEDr1+/LgsN
2210
+ s7Ozw0mTJmFcXJzspBo7dizz7Pb7779nrRIHDhzAnj17opmZGXbq1AnLlCmDAIAtWrTA58+f
2211
+ 49atW7PoOs6cOWPQGLRp04bZv59++klSlw6OViPTp0+XjA8vL6NcwDcDqqaUgZZFT/iTxtCm
2212
+ JyBlaOOFDDpKXAPEWc9arRpTShcL+skSWel1WAzGSsRPVehrLl68iFFRUXkmASbLIHHy5Enm
2213
+ auft7Z21DQsMDFRMWabjtdm2bRtz68UCHyxdupQ5Ca9cuYKPHj3C5ORk3L17t6S9tLQ0CdGV
2214
+ 2rJnzx48e/asHqb2+PHjkvNX0aJFMSoqyuhVcNiwYZoVmSbrAv3UDjxhIV7+ZNS7yBmbNPiQ
2215
+ CEksHRlnxjDdj66MhvYzHItAls4Mzs1/Z9T/h1FvkYqBuEIbMRCFTLQeHh5oZ2eX69TrupVE
2216
+ F9jLorNo06aN5Bz08uVLHDBggKoPSoECBbBVq1Y4c+ZMPHnyJCYnJ2O1atX06vj5+Rl0nnzy
2217
+ 5Am2aNEC3dzccM2aNbh06VIcM2YMNm3aVBEEUKdOHYyOjsaSJUuilZUVvnz5Eh88eCBxeZiZ
2218
+ meHu3bs1923atGkSv2ZYWJimNjIyMrBixYpKNgtQafm8xajHo0IcxbF1pCjpzGPOQZPl0BzN
2219
+ ufkPDH8Ki2Njn4qBGEtvRcRGgJ07d2aFJ7HOXzlRdDjSgIAAZqiUeAXkxf9ppZ7QIYVsbGyw
2220
+ T58+WQze6enpqrlWkpOTcdmyZVmrtoODA44ZMwYDAgIwJiYmq865c+dw3bp16OvrK4nqOHr0
2221
+ qN4qM3v2bGbkB48oS+nMS591+/fvr7kdRhR9LMgzweskirO60bqwglHvD0Z7NQiahvVOvxRX
2222
+ XMOptIDT0VWMuoMUjDJqrVO6OK4MuUDfU6dOYf369XHTpk05TnBrYWGBsbGxuGrVKmZqak9P
2223
+ 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
2368
+ acuuVzKKnOsAAAAASUVORK5CYII=
2369
+ </xsl:text>
2370
+ </xsl:variable>
2371
+
2372
+ <xsl:variable name="Image-Recycle">
2373
+ <xsl:text>
2374
+ iVBORw0KGgoAAAANSUhEUgAAAJkAAAAmCAYAAADXwDkaAAAAGXRFWHRTb2Z0d2FyZQBBZG9i
2375
+ ZSBJbWFnZVJlYWR5ccllPAAAA+lpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tl
2376
+ dCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1l
2377
+ dGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUu
2378
+ Ni1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpS
2379
+ REYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgt
2380
+ bnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8v
2381
+ bnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2Vs
2382
+ ZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAv
2383
+ bW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jl
2384
+ c291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJNaWNyb3NvZnTCriBXb3JkIDIwMTYiIHht
2385
+ cE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzM0NUVBQ0U2RUMzMTFFQUIzQjg4RDg3OEE1NEI2
2386
+ QzAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzM0NUVBQ0Y2RUMzMTFFQUIzQjg4RDg3
2387
+ OEE1NEI2QzAiPiA8ZGM6Y3JlYXRvcj4gPHJkZjpTZXE+IDxyZGY6bGk+RGhhbmplZTwvcmRm
2388
+ OmxpPiA8L3JkZjpTZXE+IDwvZGM6Y3JlYXRvcj4gPGRjOnRpdGxlPiA8cmRmOkFsdD4gPHJk
2389
+ ZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ij4xODAxNzYzPC9yZGY6bGk+IDwvcmRmOkFsdD4g
2390
+ PC9kYzp0aXRsZT4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5p
2391
+ aWQ6MzM0NUVBQ0M2RUMzMTFFQUIzQjg4RDg3OEE1NEI2QzAiIHN0UmVmOmRvY3VtZW50SUQ9
2392
+ InhtcC5kaWQ6MzM0NUVBQ0Q2RUMzMTFFQUIzQjg4RDg3OEE1NEI2QzAiLz4gPC9yZGY6RGVz
2393
+ Y3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7t
2394
+ DS20AAAS3ElEQVR42uxcCXhU5bn+t3POZJkkBBKSycxkQcF9YXPjuuJGFRSsgFJb0Xq9el16
2395
+ 3epWl7pWa6tQq7UqFG/Veotgr9arVlxRqTxK0UurkpCZCdlYE0gyZ875/77/mUkYkkwW7X2e
2396
+ W5if539y5sy/ft/7f9/7fecMgmTL3lqquGneRxU9XlGygypSSBkdpZSy8d0XipDcDP0oJaRY
2397
+ EfWOa9vz8LktK8ps6a+UCtNcK4R5O65Ho/pQi5lhXMZN6yvC+bfwWaTu91dHAqAvGKa5JCvK
2398
+ bOm3cMNYAID9uN/vuDkXAPoKl4WDDFNsmFYdEeLoXvcLiWFMzEp5by4ABazYKpLZHRJhWH8S
2399
+ hvHgYEPB8l0pLGvFrqHFaRj7I875tKyg92IjBgC9Qbg5e+BmxkSAZQcuDhl0PMt6C4D8Oazf
2400
+ YsPyKWFaL2fFvHf7yYu0ldLkfRB3+h2ARQJoy4dgGY/RPI4b5iJuWE24c2hW0HtvKQJwPgMo
2401
+ jhuk3Uhwrc/AzWYDZJ+CpJ07hLFNZpp3wJo9nRXz3kzFTPPHqL8ftJ1hPASwPJM0aeY5AObn
2402
+ uMofPB1i1eLvPllJ773lQIBg4xBAcGAKLDW7wGm9Civ1o4Hdq7kE4PxZVsx7d0R5IsBTDzA8
2403
+ lQ6gfqzdi6j39Op7Au5tw1VlhiDhCK5TGcl8W7bs5SWgORMs01+FMG/A55xeYDrF0IlYcLf0
2404
+ lAT6vKRJfaaUBwKJN4Wwrkl9PABc7vzebWhW9ntKKRxByHYXF3FURpIZ+279qtR9qXNYlImr
2405
+ CFV5jkseJK79X549Ms2PXaWekInE4/h0mDDpLZSyWUopRIxqse6bGrOnKEVKMcG+TsIGdzP/
2406
+ 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
2484
+ </xsl:text>
2485
+ </xsl:variable>
2486
+
2487
+ <xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="titles_">
2488
+
2489
+ <title-table lang="en">Table </title-table>
2490
+ <title-table lang="fr">Tableau </title-table>
2491
+
2492
+ <title-table lang="zh">Table </title-table>
2493
+
2494
+
2495
+
2496
+ <title-note lang="en">NOTE </title-note>
2497
+ <title-note lang="fr">NOTE </title-note>
2498
+
2499
+ <title-note lang="zh">NOTE </title-note>
2500
+
2501
+
2502
+
2503
+ <title-figure lang="en">Figure </title-figure>
2504
+ <title-figure lang="fr">Figure </title-figure>
2505
+
2506
+ <title-figure lang="zh">Figure </title-figure>
2507
+
2508
+
2509
+
2510
+ <title-example lang="en">EXAMPLE </title-example>
2511
+ <title-example lang="fr">EXEMPLE </title-example>
2512
+
2513
+ <title-example lang="zh">EXAMPLE </title-example>
2514
+
2515
+
2516
+
2517
+ <title-example-xref lang="en">Example </title-example-xref>
2518
+ <title-example-xref lang="fr">Exemple </title-example-xref>
2519
+
2520
+ <title-section lang="en">Section </title-section>
2521
+ <title-section lang="fr">Section </title-section>
2522
+
2523
+ <title-inequality lang="en">Inequality </title-inequality>
2524
+ <title-inequality lang="fr">Inequality </title-inequality>
2525
+
2526
+ <title-equation lang="en">Equation </title-equation>
2527
+ <title-equation lang="fr">Equation </title-equation>
2528
+
2529
+ <title-annex lang="en">Annex </title-annex>
2530
+ <title-annex lang="fr">Annexe </title-annex>
2531
+
2532
+ <title-annex lang="zh">Annex </title-annex>
2533
+
2534
+
2535
+
2536
+ <title-appendix lang="en">Appendix </title-appendix>
2537
+ <title-appendix lang="fr">Appendix </title-appendix>
2538
+
2539
+ <title-clause lang="en">Clause </title-clause>
2540
+ <title-clause lang="fr">Article </title-clause>
2541
+
2542
+ <title-clause lang="zh">Clause </title-clause>
2543
+
2544
+
2545
+
2546
+ <title-edition lang="en">
2547
+
2548
+ <xsl:text>Edition </xsl:text>
2549
+
2550
+
2551
+ </title-edition>
2552
+
2553
+ <title-formula lang="en">Formula </title-formula>
2554
+ <title-formula lang="fr">Formula </title-formula>
2555
+
2556
+ <title-toc lang="en">
2557
+
2558
+
2559
+
2560
+ </title-toc>
2561
+ <title-toc lang="fr">Sommaire</title-toc>
2562
+
2563
+ <title-toc lang="zh">Contents</title-toc>
2564
+
2565
+
2566
+
2567
+ <title-page lang="en">Page</title-page>
2568
+ <title-page lang="fr">Page</title-page>
2569
+
2570
+ <title-key lang="en">Key</title-key>
2571
+ <title-key lang="fr">Légende</title-key>
2572
+
2573
+ <title-where lang="en">where</title-where>
2574
+ <title-where lang="fr">où</title-where>
2575
+
2576
+ <title-descriptors lang="en">Descriptors</title-descriptors>
2577
+
2578
+ <title-part lang="en">
2579
+
2580
+
2581
+ </title-part>
2582
+ <title-part lang="fr">
2583
+
2584
+
2585
+ </title-part>
2586
+ <title-part lang="zh">第 # 部分:</title-part>
2587
+
2588
+ <title-note-to-entry lang="en">Note # to entry: </title-note-to-entry>
2589
+ <title-note-to-entry lang="fr">Note # à l'article: </title-note-to-entry>
2590
+
2591
+ <title-note-to-entry lang="zh">Note # to entry: </title-note-to-entry>
2592
+
2593
+
2594
+
2595
+ <title-modified lang="en">modified</title-modified>
2596
+ <title-modified lang="fr">modifiée</title-modified>
2597
+
2598
+ <title-modified lang="zh">modified</title-modified>
2599
+
2600
+
2601
+
2602
+ <title-source lang="en">SOURCE</title-source>
2603
+
2604
+ <title-keywords lang="en">Keywords</title-keywords>
2605
+
2606
+ <title-deprecated lang="en">DEPRECATED</title-deprecated>
2607
+ <title-deprecated lang="fr">DEPRECATED</title-deprecated>
2608
+
2609
+ <title-submitting-organizations lang="en">Submitting Organizations</title-submitting-organizations>
2610
+
2611
+ <title-list-tables lang="en">List of Tables</title-list-tables>
2612
+
2613
+ <title-list-figures lang="en">List of Figures</title-list-figures>
2614
+
2615
+ <title-recommendation lang="en">Recommendation </title-recommendation>
2616
+
2617
+ <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
2618
+
2619
+ <title-abstract lang="en">Abstract</title-abstract>
2620
+
2621
+ <title-summary lang="en">Summary</title-summary>
2622
+
2623
+ <title-in lang="en">in </title-in>
2624
+
2625
+ <title-box lang="en">Box </title-box>
2626
+
2627
+ <title-partly-supercedes lang="en">Partly Supercedes </title-partly-supercedes>
2628
+ <title-partly-supercedes lang="zh">部分代替 </title-partly-supercedes>
2629
+
2630
+ <title-completion-date lang="en">Completion date for this manuscript</title-completion-date>
2631
+ <title-completion-date lang="zh">本稿完成日期</title-completion-date>
2632
+
2633
+ <title-issuance-date lang="en">Issuance Date: #</title-issuance-date>
2634
+ <title-issuance-date lang="zh"># 发布</title-issuance-date>
2635
+
2636
+ <title-implementation-date lang="en">Implementation Date: #</title-implementation-date>
2637
+ <title-implementation-date lang="zh"># 实施</title-implementation-date>
2638
+
2639
+ <title-obligation-normative lang="en">normative</title-obligation-normative>
2640
+ <title-obligation-normative lang="zh">规范性附录</title-obligation-normative>
2641
+
2642
+ <title-caution lang="en">CAUTION</title-caution>
2643
+ <title-caution lang="zh">注意</title-caution>
2644
+
2645
+ <title-warning lang="en">WARNING</title-warning>
2646
+ <title-warning lang="zh">警告</title-warning>
2647
+
2648
+ <title-amendment lang="en">AMENDMENT</title-amendment>
2649
+ </xsl:variable><xsl:template name="getTitle">
2650
+ <xsl:param name="name"/>
2651
+ <xsl:variable name="lang">
2652
+ <xsl:call-template name="getLang"/>
2653
+ </xsl:variable>
2654
+ <xsl:variable name="title_" select="$titles/*[local-name() = $name][@lang = $lang]"/>
2655
+ <xsl:choose>
2656
+ <xsl:when test="normalize-space($title_) != ''">
2657
+ <xsl:value-of select="$title_"/>
2658
+ </xsl:when>
2659
+ <xsl:otherwise>
2660
+ <xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
2661
+ </xsl:otherwise>
2662
+ </xsl:choose>
2663
+ </xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="linebreak" select="'&#8232;'"/><xsl:attribute-set name="link-style">
2664
+
2665
+
2666
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
2667
+
2668
+
2669
+
2670
+
2671
+
2672
+ <xsl:attribute name="font-family">Courier</xsl:attribute>
2673
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2674
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
2675
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2676
+
2677
+
2678
+
2679
+
2680
+ </xsl:attribute-set><xsl:attribute-set name="appendix-style">
2681
+
2682
+
2683
+
2684
+ </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
2685
+
2686
+
2687
+
2688
+ </xsl:attribute-set><xsl:template match="text()">
2689
+ <xsl:value-of select="."/>
2690
+ </xsl:template><xsl:template match="*[local-name()='br']">
2691
+ <xsl:value-of select="$linebreak"/>
2692
+ </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
2693
+ <!-- <xsl:call-template name="add-zero-spaces"/> -->
2694
+ <xsl:call-template name="add-zero-spaces-java"/>
2695
+ </xsl:template><xsl:template match="*[local-name()='table']">
2696
+
2697
+ <xsl:variable name="simple-table">
2698
+ <!-- <xsl:copy> -->
2699
+ <xsl:call-template name="getSimpleTable"/>
2700
+ <!-- </xsl:copy> -->
2701
+ </xsl:variable>
2702
+
2703
+ <!-- DEBUG -->
2704
+ <!-- SourceTable=<xsl:copy-of select="current()"/>EndSourceTable -->
2705
+ <!-- Simpletable=<xsl:copy-of select="$simple-table"/>EndSimpltable -->
2706
+
2707
+ <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
2708
+
2709
+ <!-- <xsl:if test="$namespace = 'iso'">
2710
+ <fo:block space-before="6pt">&#xA0;</fo:block>
2711
+ </xsl:if> -->
2712
+
2713
+ <xsl:choose>
2714
+ <xsl:when test="@unnumbered = 'true'"/>
2715
+ <xsl:otherwise>
2716
+
2717
+
2718
+
2719
+ <fo:block font-weight="bold" text-align="center" margin-bottom="6pt" keep-with-next="always">
2720
+
2721
+
2722
+
2723
+
2724
+
2725
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
2726
+ <xsl:attribute name="font-style">italic</xsl:attribute>
2727
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2728
+ <xsl:attribute name="text-align">left</xsl:attribute>
2729
+
2730
+
2731
+
2732
+
2733
+ <xsl:variable name="title-table">
2734
+ <xsl:call-template name="getTitle">
2735
+ <xsl:with-param name="name" select="'title-table'"/>
2736
+ </xsl:call-template>
2737
+ </xsl:variable>
2738
+ <xsl:value-of select="$title-table"/>
2739
+
2740
+ <xsl:call-template name="getTableNumber"/>
2741
+
2742
+
2743
+ <xsl:if test="*[local-name()='name']">
2744
+
2745
+ :
2746
+
2747
+ <xsl:apply-templates select="*[local-name()='name']" mode="process"/>
2748
+ </xsl:if>
2749
+ </fo:block>
2750
+
2751
+
2752
+ <xsl:call-template name="fn_name_display"/>
2753
+
2754
+ </xsl:otherwise>
2755
+ </xsl:choose>
2756
+
2757
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
2758
+
2759
+ <!-- <xsl:variable name="cols-count">
2760
+ <xsl:choose>
2761
+ <xsl:when test="*[local-name()='thead']">
2762
+ <xsl:call-template name="calculate-columns-numbers">
2763
+ <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
2764
+ </xsl:call-template>
2765
+ </xsl:when>
2766
+ <xsl:otherwise>
2767
+ <xsl:call-template name="calculate-columns-numbers">
2768
+ <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
2769
+ </xsl:call-template>
2770
+ </xsl:otherwise>
2771
+ </xsl:choose>
2772
+ </xsl:variable> -->
2773
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
2774
+ <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
2775
+
2776
+
2777
+
2778
+ <xsl:variable name="colwidths">
2779
+ <xsl:call-template name="calculate-column-widths">
2780
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2781
+ <xsl:with-param name="table" select="$simple-table"/>
2782
+ </xsl:call-template>
2783
+ </xsl:variable>
2784
+
2785
+ <!-- <xsl:variable name="colwidths2">
2786
+ <xsl:call-template name="calculate-column-widths">
2787
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2788
+ </xsl:call-template>
2789
+ </xsl:variable> -->
2790
+
2791
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/>
2792
+ colwidthsNew=<xsl:copy-of select="$colwidths"/>
2793
+ colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
2794
+
2795
+ <xsl:variable name="margin-left">
2796
+ <xsl:choose>
2797
+ <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
2798
+ <xsl:otherwise>0</xsl:otherwise>
2799
+ </xsl:choose>
2800
+ </xsl:variable>
2801
+
2802
+ <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
2803
+
2804
+
2805
+
2806
+
2807
+ <xsl:attribute name="space-after">18pt</xsl:attribute>
2808
+
2809
+
2810
+
2811
+
2812
+
2813
+ <fo:table id="{@id}" table-layout="fixed" width="100%" margin-left="{$margin-left}mm" margin-right="{$margin-left}mm" table-omit-footer-at-break="true">
2814
+
2815
+
2816
+
2817
+
2818
+
2819
+
2820
+
2821
+
2822
+ <xsl:attribute name="border-top">0.5pt solid black</xsl:attribute>
2823
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
2824
+
2825
+
2826
+
2827
+
2828
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
2829
+ <xsl:choose>
2830
+ <xsl:when test=". = 1 or . = 0">
2831
+ <fo:table-column column-width="proportional-column-width(2)"/>
2832
+ </xsl:when>
2833
+ <xsl:otherwise>
2834
+ <fo:table-column column-width="proportional-column-width({.})"/>
2835
+ </xsl:otherwise>
2836
+ </xsl:choose>
2837
+ </xsl:for-each>
2838
+
2839
+ <xsl:choose>
2840
+ <xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
2841
+ <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
2842
+ </xsl:when>
2843
+ <xsl:otherwise>
2844
+ <xsl:apply-templates/>
2845
+ </xsl:otherwise>
2846
+ </xsl:choose>
2847
+
2848
+ </fo:table>
2849
+
2850
+
2851
+
2852
+ </fo:block-container>
2853
+ </xsl:template><xsl:template name="getTableNumber">
2854
+ <xsl:choose>
2855
+ <xsl:when test="ancestor::*[local-name()='executivesummary']"> <!-- NIST -->
2856
+ <xsl:text>ES-</xsl:text><xsl:number format="1" count="*[local-name()='executivesummary']//*[local-name()='table'][not(@unnumbered) or @unnumbered != 'true']"/>
2857
+ </xsl:when>
2858
+ <xsl:when test="ancestor::*[local-name()='annex']">
2859
+
2860
+
2861
+
2862
+
2863
+
2864
+
2865
+
2866
+ <xsl:variable name="annex-id" select="ancestor::*[local-name()='annex']/@id"/>
2867
+ <xsl:number format="I." count="*[local-name()='annex']"/>
2868
+ <xsl:number format="1" level="any" count="*[local-name()='table'][not(@unnumbered) or @unnumbered != 'true'][ancestor::*[local-name()='annex'][@id = $annex-id]]"/>
2869
+
2870
+
2871
+ </xsl:when>
2872
+ <xsl:otherwise>
2873
+
2874
+
2875
+ <xsl:number format="A." count="*[local-name()='annex']"/>
2876
+ <xsl:number format="1" level="any" count="//*[local-name()='table'] [not(ancestor::*[local-name()='annex']) and not(ancestor::*[local-name()='executivesummary']) and not(ancestor::*[local-name()='bibdata'])] [not(@unnumbered) or @unnumbered != 'true']"/>
2877
+
2878
+ </xsl:otherwise>
2879
+ </xsl:choose>
2880
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']"/><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="process">
2881
+ <xsl:apply-templates/>
2882
+ </xsl:template><xsl:template name="calculate-columns-numbers">
2883
+ <xsl:param name="table-row"/>
2884
+ <xsl:variable name="columns-count" select="count($table-row/*)"/>
2885
+ <xsl:variable name="sum-colspans" select="sum($table-row/*/@colspan)"/>
2886
+ <xsl:variable name="columns-with-colspan" select="count($table-row/*[@colspan])"/>
2887
+ <xsl:value-of select="$columns-count + $sum-colspans - $columns-with-colspan"/>
2888
+ </xsl:template><xsl:template name="calculate-column-widths">
2889
+ <xsl:param name="table"/>
2890
+ <xsl:param name="cols-count"/>
2891
+ <xsl:param name="curr-col" select="1"/>
2892
+ <xsl:param name="width" select="0"/>
2893
+
2894
+ <xsl:if test="$curr-col &lt;= $cols-count">
2895
+ <xsl:variable name="widths">
2896
+ <xsl:choose>
2897
+ <xsl:when test="not($table)"><!-- this branch is not using in production, for debug only -->
2898
+ <xsl:for-each select="*[local-name()='thead']//*[local-name()='tr']">
2899
+ <xsl:variable name="words">
2900
+ <xsl:call-template name="tokenize">
2901
+ <xsl:with-param name="text" select="translate(*[local-name()='th'][$curr-col],'- —:', ' ')"/>
2902
+ </xsl:call-template>
2903
+ </xsl:variable>
2904
+ <xsl:variable name="max_length">
2905
+ <xsl:call-template name="max_length">
2906
+ <xsl:with-param name="words" select="xalan:nodeset($words)"/>
2907
+ </xsl:call-template>
2908
+ </xsl:variable>
2909
+ <width>
2910
+ <xsl:value-of select="$max_length"/>
2911
+ </width>
2912
+ </xsl:for-each>
2913
+ <xsl:for-each select="*[local-name()='tbody']//*[local-name()='tr']">
2914
+ <xsl:variable name="words">
2915
+ <xsl:call-template name="tokenize">
2916
+ <xsl:with-param name="text" select="translate(*[local-name()='td'][$curr-col],'- —:', ' ')"/>
2917
+ </xsl:call-template>
2918
+ </xsl:variable>
2919
+ <xsl:variable name="max_length">
2920
+ <xsl:call-template name="max_length">
2921
+ <xsl:with-param name="words" select="xalan:nodeset($words)"/>
2922
+ </xsl:call-template>
2923
+ </xsl:variable>
2924
+ <width>
2925
+ <xsl:value-of select="$max_length"/>
2926
+ </width>
2927
+
2928
+ </xsl:for-each>
2929
+ </xsl:when>
2930
+ <xsl:otherwise>
2931
+ <xsl:for-each select="xalan:nodeset($table)//tr">
2932
+ <xsl:variable name="td_text">
2933
+ <xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
2934
+ </xsl:variable>
2935
+ <xsl:variable name="words">
2936
+ <xsl:variable name="string_with_added_zerospaces">
2937
+ <xsl:call-template name="add-zero-spaces-java">
2938
+ <xsl:with-param name="text" select="$td_text"/>
2939
+ </xsl:call-template>
2940
+ </xsl:variable>
2941
+ <xsl:call-template name="tokenize">
2942
+ <!-- <xsl:with-param name="text" select="translate(td[$curr-col],'- —:', ' ')"/> -->
2943
+ <!-- 2009 thinspace -->
2944
+ <!-- <xsl:with-param name="text" select="translate(normalize-space($td_text),'- —:', ' ')"/> -->
2945
+ <xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '​', ' '))"/>
2946
+ </xsl:call-template>
2947
+ </xsl:variable>
2948
+ <xsl:variable name="max_length">
2949
+ <xsl:call-template name="max_length">
2950
+ <xsl:with-param name="words" select="xalan:nodeset($words)"/>
2951
+ </xsl:call-template>
2952
+ </xsl:variable>
2953
+ <width>
2954
+ <xsl:variable name="divider">
2955
+ <xsl:choose>
2956
+ <xsl:when test="td[$curr-col]/@divide">
2957
+ <xsl:value-of select="td[$curr-col]/@divide"/>
2958
+ </xsl:when>
2959
+ <xsl:otherwise>1</xsl:otherwise>
2960
+ </xsl:choose>
2961
+ </xsl:variable>
2962
+ <xsl:value-of select="$max_length div $divider"/>
2963
+ </width>
2964
+
2965
+ </xsl:for-each>
2966
+
2967
+ </xsl:otherwise>
2968
+ </xsl:choose>
2969
+ </xsl:variable>
2970
+
2971
+
2972
+ <column>
2973
+ <xsl:for-each select="xalan:nodeset($widths)//width">
2974
+ <xsl:sort select="." data-type="number" order="descending"/>
2975
+ <xsl:if test="position()=1">
2976
+ <xsl:value-of select="."/>
2977
+ </xsl:if>
2978
+ </xsl:for-each>
2979
+ </column>
2980
+ <xsl:call-template name="calculate-column-widths">
2981
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2982
+ <xsl:with-param name="curr-col" select="$curr-col +1"/>
2983
+ <xsl:with-param name="table" select="$table"/>
2984
+ </xsl:call-template>
2985
+ </xsl:if>
2986
+ </xsl:template><xsl:template match="text()" mode="td_text">
2987
+ <xsl:variable name="zero-space">​</xsl:variable>
2988
+ <xsl:value-of select="translate(., $zero-space, ' ')"/><xsl:text> </xsl:text>
2989
+ </xsl:template><xsl:template match="*[local-name()='termsource']" mode="td_text">
2990
+ <xsl:value-of select="*[local-name()='origin']/@citeas"/>
2991
+ </xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
2992
+ <xsl:value-of select="@target"/>
2993
+ </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
2994
+ <xsl:param name="cols-count"/>
2995
+ <!-- font-weight="bold" -->
2996
+ <fo:table-header>
2997
+
2998
+ <xsl:apply-templates/>
2999
+ </fo:table-header>
3000
+ </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
3001
+ <fo:table-body>
3002
+ <xsl:apply-templates/>
3003
+ </fo:table-body>
3004
+ </xsl:template><xsl:template match="*[local-name()='tfoot']"/><xsl:template match="*[local-name()='tfoot']" mode="process">
3005
+ <xsl:apply-templates/>
3006
+ </xsl:template><xsl:template name="insertTableFooter">
3007
+ <xsl:param name="cols-count"/>
3008
+ <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
3009
+ <xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
3010
+
3011
+ <fo:table-footer>
3012
+
3013
+ <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
3014
+
3015
+ <!-- if there are note(s) or fn(s) then create footer row -->
3016
+ <xsl:if test="$isNoteOrFnExist = 'true'">
3017
+
3018
+
3019
+
3020
+ <fo:table-row>
3021
+ <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
3022
+
3023
+
3024
+
3025
+ <!-- fn will be processed inside 'note' processing -->
3026
+
3027
+
3028
+ <!-- except gb -->
3029
+
3030
+ <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3031
+
3032
+
3033
+ <!-- horizontal row separator -->
3034
+
3035
+
3036
+ <!-- fn processing -->
3037
+ <xsl:call-template name="fn_display"/>
3038
+
3039
+ </fo:table-cell>
3040
+ </fo:table-row>
3041
+
3042
+ </xsl:if>
3043
+ </fo:table-footer>
3044
+
3045
+ </xsl:if>
3046
+ </xsl:template><xsl:template match="*[local-name()='tbody']">
3047
+
3048
+ <xsl:variable name="cols-count">
3049
+ <xsl:choose>
3050
+ <xsl:when test="../*[local-name()='thead']">
3051
+ <xsl:call-template name="calculate-columns-numbers">
3052
+ <xsl:with-param name="table-row" select="../*[local-name()='thead']/*[local-name()='tr'][1]"/>
3053
+ </xsl:call-template>
3054
+ </xsl:when>
3055
+ <xsl:otherwise>
3056
+ <xsl:call-template name="calculate-columns-numbers">
3057
+ <xsl:with-param name="table-row" select="./*[local-name()='tr'][1]"/>
3058
+ </xsl:call-template>
3059
+ </xsl:otherwise>
3060
+ </xsl:choose>
3061
+ </xsl:variable>
3062
+
3063
+ <xsl:apply-templates select="../*[local-name()='thead']" mode="process">
3064
+ <xsl:with-param name="cols-count" select="$cols-count"/>
3065
+ </xsl:apply-templates>
3066
+
3067
+ <xsl:call-template name="insertTableFooter">
3068
+ <xsl:with-param name="cols-count" select="$cols-count"/>
3069
+ </xsl:call-template>
3070
+
3071
+ <fo:table-body>
3072
+ <xsl:apply-templates/>
3073
+ <!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
3074
+
3075
+ </fo:table-body>
3076
+
3077
+ </xsl:template><xsl:template match="*[local-name()='tr']">
3078
+ <xsl:variable name="parent-name" select="local-name(..)"/>
3079
+ <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
3080
+ <fo:table-row min-height="4mm">
3081
+ <xsl:if test="$parent-name = 'thead'">
3082
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
3083
+
3084
+
3085
+
3086
+
3087
+
3088
+ </xsl:if>
3089
+ <xsl:if test="$parent-name = 'tfoot'">
3090
+
3091
+
3092
+ </xsl:if>
3093
+
3094
+
3095
+ <xsl:if test="not(*[local-name()='th'])">
3096
+ <xsl:attribute name="min-height">8mm</xsl:attribute>
3097
+ </xsl:if>
3098
+
3099
+ <xsl:apply-templates/>
3100
+ </fo:table-row>
3101
+ </xsl:template><xsl:template match="*[local-name()='th']">
3102
+ <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
3103
+
3104
+
3105
+
3106
+
3107
+
3108
+
3109
+
3110
+ <xsl:attribute name="display-align">center</xsl:attribute>
3111
+ <xsl:attribute name="font-style">italic</xsl:attribute>
3112
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
3113
+ <xsl:attribute name="padding-top">2mm</xsl:attribute>
3114
+ <xsl:attribute name="padding-left">2mm</xsl:attribute>
3115
+ <xsl:attribute name="border">solid black 0pt</xsl:attribute>
3116
+ <xsl:attribute name="border-top">solid black 0.2pt</xsl:attribute>
3117
+ <xsl:attribute name="border-bottom">solid black 1.5pt</xsl:attribute>
3118
+
3119
+ <xsl:if test="@colspan">
3120
+ <xsl:attribute name="number-columns-spanned">
3121
+ <xsl:value-of select="@colspan"/>
3122
+ </xsl:attribute>
3123
+ </xsl:if>
3124
+ <xsl:if test="@rowspan">
3125
+ <xsl:attribute name="number-rows-spanned">
3126
+ <xsl:value-of select="@rowspan"/>
3127
+ </xsl:attribute>
3128
+ </xsl:if>
3129
+ <fo:block>
3130
+ <xsl:apply-templates/>
3131
+ </fo:block>
3132
+ </fo:table-cell>
3133
+ </xsl:template><xsl:template match="*[local-name()='td']">
3134
+ <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
3135
+
3136
+
3137
+
3138
+
3139
+
3140
+
3141
+
3142
+
3143
+ <xsl:attribute name="display-align">before</xsl:attribute>
3144
+ <xsl:attribute name="padding-left">0mm</xsl:attribute>
3145
+ <xsl:attribute name="padding-top">2mm</xsl:attribute>
3146
+ <xsl:attribute name="padding-bottom">1mm</xsl:attribute>
3147
+ <xsl:attribute name="border">solid black 0pt</xsl:attribute>
3148
+ <xsl:attribute name="border-bottom">solid black 1.5pt</xsl:attribute>
3149
+
3150
+
3151
+ <xsl:if test="@colspan">
3152
+ <xsl:attribute name="number-columns-spanned">
3153
+ <xsl:value-of select="@colspan"/>
3154
+ </xsl:attribute>
3155
+ </xsl:if>
3156
+ <xsl:if test="@rowspan">
3157
+ <xsl:attribute name="number-rows-spanned">
3158
+ <xsl:value-of select="@rowspan"/>
3159
+ </xsl:attribute>
3160
+ </xsl:if>
3161
+ <fo:block>
3162
+
3163
+ <xsl:apply-templates/>
3164
+ </fo:block>
3165
+ <!-- <xsl:choose>
3166
+ <xsl:when test="count(*) = 1 and *[local-name() = 'p']">
3167
+ <xsl:apply-templates />
3168
+ </xsl:when>
3169
+ <xsl:otherwise>
3170
+ <fo:block>
3171
+ <xsl:apply-templates />
3172
+ </fo:block>
3173
+ </xsl:otherwise>
3174
+ </xsl:choose> -->
3175
+
3176
+
3177
+ </fo:table-cell>
3178
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
3179
+
3180
+
3181
+ <fo:block font-size="10pt" margin-bottom="12pt">
3182
+
3183
+
3184
+
3185
+
3186
+ <fo:inline padding-right="2mm">
3187
+
3188
+
3189
+ <xsl:variable name="title-note">
3190
+ <xsl:call-template name="getTitle">
3191
+ <xsl:with-param name="name" select="'title-note'"/>
3192
+ </xsl:call-template>
3193
+ </xsl:variable>
3194
+ <xsl:value-of select="$title-note"/>
3195
+
3196
+
3197
+
3198
+ <xsl:number format="1 "/>
3199
+
3200
+ </fo:inline>
3201
+ <xsl:apply-templates mode="process"/>
3202
+ </fo:block>
3203
+
3204
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
3205
+ <xsl:apply-templates/>
3206
+ </xsl:template><xsl:template name="fn_display">
3207
+ <xsl:variable name="references">
3208
+ <xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
3209
+ <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3210
+
3211
+
3212
+ <xsl:apply-templates/>
3213
+ </fn>
3214
+ </xsl:for-each>
3215
+ </xsl:variable>
3216
+ <xsl:for-each select="xalan:nodeset($references)//fn">
3217
+ <xsl:variable name="reference" select="@reference"/>
3218
+ <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
3219
+ <fo:block margin-bottom="12pt">
3220
+
3221
+
3222
+
3223
+
3224
+ <fo:inline font-size="80%" padding-right="5mm" id="{@id}">
3225
+
3226
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
3227
+
3228
+
3229
+
3230
+
3231
+
3232
+
3233
+ <xsl:value-of select="@reference"/>
3234
+
3235
+ </fo:inline>
3236
+ <fo:inline>
3237
+
3238
+ <xsl:apply-templates/>
3239
+ </fo:inline>
3240
+ </fo:block>
3241
+ </xsl:if>
3242
+ </xsl:for-each>
3243
+ </xsl:template><xsl:template name="fn_name_display">
3244
+ <!-- <xsl:variable name="references">
3245
+ <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
3246
+ <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3247
+ <xsl:apply-templates />
3248
+ </fn>
3249
+ </xsl:for-each>
3250
+ </xsl:variable>
3251
+ $references=<xsl:copy-of select="$references"/> -->
3252
+ <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
3253
+ <xsl:variable name="reference" select="@reference"/>
3254
+ <fo:block id="{@reference}_{ancestor::*[@id][1]/@id}"><xsl:value-of select="@reference"/></fo:block>
3255
+ <fo:block margin-bottom="12pt">
3256
+ <xsl:apply-templates/>
3257
+ </fo:block>
3258
+ </xsl:for-each>
3259
+ </xsl:template><xsl:template name="fn_display_figure">
3260
+ <xsl:variable name="key_iso">
3261
+ <!-- and (not(@class) or @class !='pseudocode') -->
3262
+ </xsl:variable>
3263
+ <xsl:variable name="references">
3264
+ <xsl:for-each select=".//*[local-name()='fn']">
3265
+ <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3266
+ <xsl:apply-templates/>
3267
+ </fn>
3268
+ </xsl:for-each>
3269
+ </xsl:variable>
3270
+
3271
+ <!-- current hierarchy is 'figure' element -->
3272
+ <xsl:variable name="following_dl_colwidths">
3273
+ <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
3274
+ <xsl:variable name="html-table">
3275
+ <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
3276
+ <xsl:element name="{$ns}:table">
3277
+ <xsl:for-each select="*[local-name() = 'dl'][1]">
3278
+ <tbody>
3279
+ <xsl:apply-templates mode="dl"/>
3280
+ </tbody>
3281
+ </xsl:for-each>
3282
+ </xsl:element>
3283
+ </xsl:variable>
3284
+
3285
+ <xsl:call-template name="calculate-column-widths">
3286
+ <xsl:with-param name="cols-count" select="2"/>
3287
+ <xsl:with-param name="table" select="$html-table"/>
3288
+ </xsl:call-template>
3289
+
3290
+ </xsl:if>
3291
+ </xsl:variable>
3292
+
3293
+
3294
+ <xsl:variable name="maxlength_dt">
3295
+ <xsl:for-each select="*[local-name() = 'dl'][1]">
3296
+ <xsl:call-template name="getMaxLength_dt"/>
3297
+ </xsl:for-each>
3298
+ </xsl:variable>
3299
+
3300
+ <xsl:if test="xalan:nodeset($references)//fn">
3301
+ <fo:block>
3302
+ <fo:table width="95%" table-layout="fixed">
3303
+ <xsl:if test="normalize-space($key_iso) = 'true'">
3304
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
3305
+
3306
+ </xsl:if>
3307
+ <xsl:choose>
3308
+ <!-- if there 'dl', then set same columns width -->
3309
+ <xsl:when test="xalan:nodeset($following_dl_colwidths)//column">
3310
+ <xsl:call-template name="setColumnWidth_dl">
3311
+ <xsl:with-param name="colwidths" select="$following_dl_colwidths"/>
3312
+ <xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
3313
+ </xsl:call-template>
3314
+ </xsl:when>
3315
+ <xsl:otherwise>
3316
+ <fo:table-column column-width="15%"/>
3317
+ <fo:table-column column-width="85%"/>
3318
+ </xsl:otherwise>
3319
+ </xsl:choose>
3320
+ <fo:table-body>
3321
+ <xsl:for-each select="xalan:nodeset($references)//fn">
3322
+ <xsl:variable name="reference" select="@reference"/>
3323
+ <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
3324
+ <fo:table-row>
3325
+ <fo:table-cell>
3326
+ <fo:block>
3327
+ <fo:inline font-size="80%" padding-right="5mm" vertical-align="super" id="{@id}">
3328
+
3329
+ <xsl:value-of select="@reference"/>
3330
+ </fo:inline>
3331
+ </fo:block>
3332
+ </fo:table-cell>
3333
+ <fo:table-cell>
3334
+ <fo:block text-align="justify" margin-bottom="12pt">
3335
+
3336
+ <xsl:if test="normalize-space($key_iso) = 'true'">
3337
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
3338
+ </xsl:if>
3339
+
3340
+ <xsl:apply-templates/>
3341
+ </fo:block>
3342
+ </fo:table-cell>
3343
+ </fo:table-row>
3344
+ </xsl:if>
3345
+ </xsl:for-each>
3346
+ </fo:table-body>
3347
+ </fo:table>
3348
+ </fo:block>
3349
+ </xsl:if>
3350
+
3351
+ </xsl:template><xsl:template match="*[local-name()='fn']">
3352
+ <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
3353
+ <fo:inline font-size="80%" keep-with-previous.within-line="always">
3354
+
3355
+
3356
+
3357
+
3358
+ <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
3359
+
3360
+ <xsl:value-of select="@reference"/>
3361
+ </fo:basic-link>
3362
+ </fo:inline>
3363
+ </xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
3364
+ <fo:inline>
3365
+ <xsl:apply-templates/>
3366
+ </fo:inline>
3367
+ </xsl:template><xsl:template match="*[local-name()='dl']">
3368
+ <xsl:variable name="parent" select="local-name(..)"/>
3369
+
3370
+ <xsl:variable name="key_iso">
3371
+ <!-- and (not(../@class) or ../@class !='pseudocode') -->
3372
+ </xsl:variable>
3373
+
3374
+ <xsl:choose>
3375
+ <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
3376
+
3377
+
3378
+ <fo:block margin-bottom="12pt" text-align="left">
3379
+
3380
+ <xsl:variable name="title-where">
3381
+ <xsl:call-template name="getTitle">
3382
+ <xsl:with-param name="name" select="'title-where'"/>
3383
+ </xsl:call-template>
3384
+ </xsl:variable>
3385
+ <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
3386
+ <xsl:apply-templates select="*[local-name()='dt']/*"/>
3387
+ <xsl:text/>
3388
+ <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
3389
+ </fo:block>
3390
+
3391
+ </xsl:when>
3392
+ <xsl:when test="$parent = 'formula'"> <!-- a few components -->
3393
+ <fo:block margin-bottom="12pt" text-align="left">
3394
+
3395
+
3396
+
3397
+
3398
+ <xsl:variable name="title-where">
3399
+ <xsl:call-template name="getTitle">
3400
+ <xsl:with-param name="name" select="'title-where'"/>
3401
+ </xsl:call-template>
3402
+ </xsl:variable>
3403
+ <xsl:value-of select="$title-where"/>
3404
+ </fo:block>
3405
+ </xsl:when>
3406
+ <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
3407
+ <fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
3408
+
3409
+
3410
+
3411
+ <xsl:variable name="title-key">
3412
+ <xsl:call-template name="getTitle">
3413
+ <xsl:with-param name="name" select="'title-key'"/>
3414
+ </xsl:call-template>
3415
+ </xsl:variable>
3416
+ <xsl:value-of select="$title-key"/>
3417
+ </fo:block>
3418
+ </xsl:when>
3419
+ </xsl:choose>
3420
+
3421
+ <!-- a few components -->
3422
+ <xsl:if test="not($parent = 'formula' and count(*[local-name()='dt']) = 1)">
3423
+ <fo:block>
3424
+
3425
+
3426
+
3427
+
3428
+ <fo:block>
3429
+
3430
+
3431
+
3432
+
3433
+ <fo:table width="95%" table-layout="fixed">
3434
+
3435
+ <xsl:choose>
3436
+ <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
3437
+ <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
3438
+ </xsl:when>
3439
+ <xsl:when test="normalize-space($key_iso) = 'true'">
3440
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
3441
+
3442
+ </xsl:when>
3443
+ </xsl:choose>
3444
+ <!-- create virtual html table for dl/[dt and dd] -->
3445
+ <xsl:variable name="html-table">
3446
+ <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
3447
+ <xsl:element name="{$ns}:table">
3448
+ <tbody>
3449
+ <xsl:apply-templates mode="dl"/>
3450
+ </tbody>
3451
+ </xsl:element>
3452
+ </xsl:variable>
3453
+ <!-- html-table<xsl:copy-of select="$html-table"/> -->
3454
+ <xsl:variable name="colwidths">
3455
+ <xsl:call-template name="calculate-column-widths">
3456
+ <xsl:with-param name="cols-count" select="2"/>
3457
+ <xsl:with-param name="table" select="$html-table"/>
3458
+ </xsl:call-template>
3459
+ </xsl:variable>
3460
+ <!-- colwidths=<xsl:value-of select="$colwidths"/> -->
3461
+ <xsl:variable name="maxlength_dt">
3462
+ <xsl:call-template name="getMaxLength_dt"/>
3463
+ </xsl:variable>
3464
+ <xsl:call-template name="setColumnWidth_dl">
3465
+ <xsl:with-param name="colwidths" select="$colwidths"/>
3466
+ <xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
3467
+ </xsl:call-template>
3468
+ <fo:table-body>
3469
+ <xsl:apply-templates>
3470
+ <xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
3471
+ </xsl:apply-templates>
3472
+ </fo:table-body>
3473
+ </fo:table>
3474
+ </fo:block>
3475
+ </fo:block>
3476
+ </xsl:if>
3477
+ </xsl:template><xsl:template name="setColumnWidth_dl">
3478
+ <xsl:param name="colwidths"/>
3479
+ <xsl:param name="maxlength_dt"/>
3480
+ <xsl:choose>
3481
+ <xsl:when test="ancestor::*[local-name()='dl']"><!-- second level, i.e. inlined table -->
3482
+ <fo:table-column column-width="50%"/>
3483
+ <fo:table-column column-width="50%"/>
3484
+ </xsl:when>
3485
+ <xsl:otherwise>
3486
+ <xsl:choose>
3487
+ <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 2"> <!-- if dt contains short text like t90, a, etc -->
3488
+ <fo:table-column column-width="5%"/>
3489
+ <fo:table-column column-width="95%"/>
3490
+ </xsl:when>
3491
+ <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 5"> <!-- if dt contains short text like t90, a, etc -->
3492
+ <fo:table-column column-width="10%"/>
3493
+ <fo:table-column column-width="90%"/>
3494
+ </xsl:when>
3495
+ <!-- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 1.7">
3496
+ <fo:table-column column-width="60%"/>
3497
+ <fo:table-column column-width="40%"/>
3498
+ </xsl:when> -->
3499
+ <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 1.3">
3500
+ <fo:table-column column-width="50%"/>
3501
+ <fo:table-column column-width="50%"/>
3502
+ </xsl:when>
3503
+ <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 0.5">
3504
+ <fo:table-column column-width="40%"/>
3505
+ <fo:table-column column-width="60%"/>
3506
+ </xsl:when>
3507
+ <xsl:otherwise>
3508
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
3509
+ <xsl:choose>
3510
+ <xsl:when test=". = 1 or . = 0">
3511
+ <fo:table-column column-width="proportional-column-width(2)"/>
3512
+ </xsl:when>
3513
+ <xsl:otherwise>
3514
+ <fo:table-column column-width="proportional-column-width({.})"/>
3515
+ </xsl:otherwise>
3516
+ </xsl:choose>
3517
+ </xsl:for-each>
3518
+ </xsl:otherwise>
3519
+ </xsl:choose>
3520
+ <!-- <fo:table-column column-width="15%"/>
3521
+ <fo:table-column column-width="85%"/> -->
3522
+ </xsl:otherwise>
3523
+ </xsl:choose>
3524
+ </xsl:template><xsl:template name="getMaxLength_dt">
3525
+ <xsl:for-each select="*[local-name()='dt']">
3526
+ <xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
3527
+ <xsl:if test="position() = 1">
3528
+ <xsl:value-of select="string-length(normalize-space(.))"/>
3529
+ </xsl:if>
3530
+ </xsl:for-each>
3531
+ </xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']">
3532
+ <xsl:param name="key_iso"/>
3533
+
3534
+ <!-- <tr>
3535
+ <td>NOTE</td>
3536
+ <td>
3537
+ <xsl:apply-templates />
3538
+ </td>
3539
+ </tr>
3540
+ -->
3541
+ <fo:table-row>
3542
+ <fo:table-cell>
3543
+ <fo:block margin-top="6pt">
3544
+ <xsl:if test="normalize-space($key_iso) = 'true'">
3545
+ <xsl:attribute name="margin-top">0</xsl:attribute>
3546
+ </xsl:if>
3547
+ <xsl:variable name="title-note">
3548
+ <xsl:call-template name="getTitle">
3549
+ <xsl:with-param name="name" select="'title-note'"/>
3550
+ </xsl:call-template>
3551
+ </xsl:variable>
3552
+ <xsl:value-of select="$title-note"/>
3553
+ </fo:block>
3554
+ </fo:table-cell>
3555
+ <fo:table-cell>
3556
+ <fo:block>
3557
+ <xsl:apply-templates/>
3558
+ </fo:block>
3559
+ </fo:table-cell>
3560
+ </fo:table-row>
3561
+ </xsl:template><xsl:template match="*[local-name()='dt']" mode="dl">
3562
+ <tr>
3563
+ <td>
3564
+ <xsl:apply-templates/>
3565
+ </td>
3566
+ <td>
3567
+
3568
+
3569
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3570
+
3571
+ </td>
3572
+ </tr>
3573
+
3574
+ </xsl:template><xsl:template match="*[local-name()='dt']">
3575
+ <xsl:param name="key_iso"/>
3576
+
3577
+ <fo:table-row>
3578
+ <fo:table-cell>
3579
+
3580
+ <fo:block margin-top="6pt">
3581
+
3582
+
3583
+ <xsl:if test="normalize-space($key_iso) = 'true'">
3584
+ <xsl:attribute name="margin-top">0</xsl:attribute>
3585
+
3586
+ </xsl:if>
3587
+
3588
+
3589
+
3590
+
3591
+
3592
+ <xsl:apply-templates/>
3593
+ <!-- <xsl:if test="$namespace = 'gb'">
3594
+ <xsl:if test="ancestor::*[local-name()='formula']">
3595
+ <xsl:text>—</xsl:text>
3596
+ </xsl:if>
3597
+ </xsl:if> -->
3598
+ </fo:block>
3599
+ </fo:table-cell>
3600
+ <fo:table-cell>
3601
+ <fo:block>
3602
+
3603
+
3604
+
3605
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3606
+
3607
+ </fo:block>
3608
+ </fo:table-cell>
3609
+ </fo:table-row>
3610
+
3611
+ </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
3612
+ <xsl:apply-templates/>
3613
+ </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
3614
+ <xsl:apply-templates/>
3615
+ </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
3616
+ <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
3617
+ </xsl:template><xsl:template match="*[local-name()='em']">
3618
+ <fo:inline font-style="italic">
3619
+ <xsl:apply-templates/>
3620
+ </fo:inline>
3621
+ </xsl:template><xsl:template match="*[local-name()='strong']">
3622
+ <fo:inline font-weight="bold">
3623
+ <xsl:apply-templates/>
3624
+ </fo:inline>
3625
+ </xsl:template><xsl:template match="*[local-name()='sup']">
3626
+ <fo:inline font-size="80%" vertical-align="super">
3627
+ <xsl:apply-templates/>
3628
+ </fo:inline>
3629
+ </xsl:template><xsl:template match="*[local-name()='sub']">
3630
+ <fo:inline font-size="80%" vertical-align="sub">
3631
+ <xsl:apply-templates/>
3632
+ </fo:inline>
3633
+ </xsl:template><xsl:template match="*[local-name()='tt']">
3634
+ <fo:inline font-family="Courier" font-size="10pt">
3635
+ <xsl:apply-templates/>
3636
+ </fo:inline>
3637
+ </xsl:template><xsl:template match="*[local-name()='del']">
3638
+ <fo:inline font-size="10pt" color="red" text-decoration="line-through">
3639
+ <xsl:apply-templates/>
3640
+ </fo:inline>
3641
+ </xsl:template><xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
3642
+ <xsl:variable name="text" select="normalize-space(.)"/>
3643
+ <fo:inline font-size="75%">
3644
+ <xsl:if test="string-length($text) &gt; 0">
3645
+ <xsl:call-template name="recursiveSmallCaps">
3646
+ <xsl:with-param name="text" select="$text"/>
3647
+ </xsl:call-template>
3648
+ </xsl:if>
3649
+ </fo:inline>
3650
+ </xsl:template><xsl:template name="recursiveSmallCaps">
3651
+ <xsl:param name="text"/>
3652
+ <xsl:variable name="char" select="substring($text,1,1)"/>
3653
+ <!-- <xsl:variable name="upperCase" select="translate($char, $lower, $upper)"/> -->
3654
+ <xsl:variable name="upperCase" select="java:toUpperCase(java:java.lang.String.new($char))"/>
3655
+ <xsl:choose>
3656
+ <xsl:when test="$char=$upperCase">
3657
+ <fo:inline font-size="{100 div 0.75}%">
3658
+ <xsl:value-of select="$upperCase"/>
3659
+ </fo:inline>
3660
+ </xsl:when>
3661
+ <xsl:otherwise>
3662
+ <xsl:value-of select="$upperCase"/>
3663
+ </xsl:otherwise>
3664
+ </xsl:choose>
3665
+ <xsl:if test="string-length($text) &gt; 1">
3666
+ <xsl:call-template name="recursiveSmallCaps">
3667
+ <xsl:with-param name="text" select="substring($text,2)"/>
3668
+ </xsl:call-template>
3669
+ </xsl:if>
3670
+ </xsl:template><xsl:template name="tokenize">
3671
+ <xsl:param name="text"/>
3672
+ <xsl:param name="separator" select="' '"/>
3673
+ <xsl:choose>
3674
+ <xsl:when test="not(contains($text, $separator))">
3675
+ <word>
3676
+ <xsl:variable name="str_no_en_chars" select="normalize-space(translate($text, $en_chars, ''))"/>
3677
+ <xsl:variable name="len_str_no_en_chars" select="string-length($str_no_en_chars)"/>
3678
+ <xsl:variable name="len_str_tmp" select="string-length(normalize-space($text))"/>
3679
+ <xsl:variable name="len_str">
3680
+ <xsl:choose>
3681
+ <xsl:when test="normalize-space(translate($text, $upper, '')) = ''"> <!-- english word in CAPITAL letters -->
3682
+ <xsl:value-of select="$len_str_tmp * 1.5"/>
3683
+ </xsl:when>
3684
+ <xsl:otherwise>
3685
+ <xsl:value-of select="$len_str_tmp"/>
3686
+ </xsl:otherwise>
3687
+ </xsl:choose>
3688
+ </xsl:variable>
3689
+
3690
+ <!-- <xsl:if test="$len_str_no_en_chars div $len_str &gt; 0.8">
3691
+ <xsl:message>
3692
+ div=<xsl:value-of select="$len_str_no_en_chars div $len_str"/>
3693
+ len_str=<xsl:value-of select="$len_str"/>
3694
+ len_str_no_en_chars=<xsl:value-of select="$len_str_no_en_chars"/>
3695
+ </xsl:message>
3696
+ </xsl:if> -->
3697
+ <!-- <len_str_no_en_chars><xsl:value-of select="$len_str_no_en_chars"/></len_str_no_en_chars>
3698
+ <len_str><xsl:value-of select="$len_str"/></len_str> -->
3699
+ <xsl:choose>
3700
+ <xsl:when test="$len_str_no_en_chars div $len_str &gt; 0.8"> <!-- means non-english string -->
3701
+ <xsl:value-of select="$len_str - $len_str_no_en_chars"/>
3702
+ </xsl:when>
3703
+ <xsl:otherwise>
3704
+ <xsl:value-of select="$len_str"/>
3705
+ </xsl:otherwise>
3706
+ </xsl:choose>
3707
+ </word>
3708
+ </xsl:when>
3709
+ <xsl:otherwise>
3710
+ <word>
3711
+ <xsl:value-of select="string-length(normalize-space(substring-before($text, $separator)))"/>
3712
+ </word>
3713
+ <xsl:call-template name="tokenize">
3714
+ <xsl:with-param name="text" select="substring-after($text, $separator)"/>
3715
+ </xsl:call-template>
3716
+ </xsl:otherwise>
3717
+ </xsl:choose>
3718
+ </xsl:template><xsl:template name="max_length">
3719
+ <xsl:param name="words"/>
3720
+ <xsl:for-each select="$words//word">
3721
+ <xsl:sort select="." data-type="number" order="descending"/>
3722
+ <xsl:if test="position()=1">
3723
+ <xsl:value-of select="."/>
3724
+ </xsl:if>
3725
+ </xsl:for-each>
3726
+ </xsl:template><xsl:template name="add-zero-spaces-java">
3727
+ <xsl:param name="text" select="."/>
3728
+ <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
3729
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| )','$1​')"/>
3730
+ </xsl:template><xsl:template name="add-zero-spaces">
3731
+ <xsl:param name="text" select="."/>
3732
+ <xsl:variable name="zero-space-after-chars">-</xsl:variable>
3733
+ <xsl:variable name="zero-space-after-dot">.</xsl:variable>
3734
+ <xsl:variable name="zero-space-after-colon">:</xsl:variable>
3735
+ <xsl:variable name="zero-space-after-equal">=</xsl:variable>
3736
+ <xsl:variable name="zero-space-after-underscore">_</xsl:variable>
3737
+ <xsl:variable name="zero-space">​</xsl:variable>
3738
+ <xsl:choose>
3739
+ <xsl:when test="contains($text, $zero-space-after-chars)">
3740
+ <xsl:value-of select="substring-before($text, $zero-space-after-chars)"/>
3741
+ <xsl:value-of select="$zero-space-after-chars"/>
3742
+ <xsl:value-of select="$zero-space"/>
3743
+ <xsl:call-template name="add-zero-spaces">
3744
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-chars)"/>
3745
+ </xsl:call-template>
3746
+ </xsl:when>
3747
+ <xsl:when test="contains($text, $zero-space-after-dot)">
3748
+ <xsl:value-of select="substring-before($text, $zero-space-after-dot)"/>
3749
+ <xsl:value-of select="$zero-space-after-dot"/>
3750
+ <xsl:value-of select="$zero-space"/>
3751
+ <xsl:call-template name="add-zero-spaces">
3752
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-dot)"/>
3753
+ </xsl:call-template>
3754
+ </xsl:when>
3755
+ <xsl:when test="contains($text, $zero-space-after-colon)">
3756
+ <xsl:value-of select="substring-before($text, $zero-space-after-colon)"/>
3757
+ <xsl:value-of select="$zero-space-after-colon"/>
3758
+ <xsl:value-of select="$zero-space"/>
3759
+ <xsl:call-template name="add-zero-spaces">
3760
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-colon)"/>
3761
+ </xsl:call-template>
3762
+ </xsl:when>
3763
+ <xsl:when test="contains($text, $zero-space-after-equal)">
3764
+ <xsl:value-of select="substring-before($text, $zero-space-after-equal)"/>
3765
+ <xsl:value-of select="$zero-space-after-equal"/>
3766
+ <xsl:value-of select="$zero-space"/>
3767
+ <xsl:call-template name="add-zero-spaces">
3768
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-equal)"/>
3769
+ </xsl:call-template>
3770
+ </xsl:when>
3771
+ <xsl:when test="contains($text, $zero-space-after-underscore)">
3772
+ <xsl:value-of select="substring-before($text, $zero-space-after-underscore)"/>
3773
+ <xsl:value-of select="$zero-space-after-underscore"/>
3774
+ <xsl:value-of select="$zero-space"/>
3775
+ <xsl:call-template name="add-zero-spaces">
3776
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-underscore)"/>
3777
+ </xsl:call-template>
3778
+ </xsl:when>
3779
+ <xsl:otherwise>
3780
+ <xsl:value-of select="$text"/>
3781
+ </xsl:otherwise>
3782
+ </xsl:choose>
3783
+ </xsl:template><xsl:template name="add-zero-spaces-equal">
3784
+ <xsl:param name="text" select="."/>
3785
+ <xsl:variable name="zero-space-after-equals">==========</xsl:variable>
3786
+ <xsl:variable name="zero-space-after-equal">=</xsl:variable>
3787
+ <xsl:variable name="zero-space">​</xsl:variable>
3788
+ <xsl:choose>
3789
+ <xsl:when test="contains($text, $zero-space-after-equals)">
3790
+ <xsl:value-of select="substring-before($text, $zero-space-after-equals)"/>
3791
+ <xsl:value-of select="$zero-space-after-equals"/>
3792
+ <xsl:value-of select="$zero-space"/>
3793
+ <xsl:call-template name="add-zero-spaces-equal">
3794
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-equals)"/>
3795
+ </xsl:call-template>
3796
+ </xsl:when>
3797
+ <xsl:when test="contains($text, $zero-space-after-equal)">
3798
+ <xsl:value-of select="substring-before($text, $zero-space-after-equal)"/>
3799
+ <xsl:value-of select="$zero-space-after-equal"/>
3800
+ <xsl:value-of select="$zero-space"/>
3801
+ <xsl:call-template name="add-zero-spaces-equal">
3802
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-equal)"/>
3803
+ </xsl:call-template>
3804
+ </xsl:when>
3805
+ <xsl:otherwise>
3806
+ <xsl:value-of select="$text"/>
3807
+ </xsl:otherwise>
3808
+ </xsl:choose>
3809
+ </xsl:template><xsl:template name="getSimpleTable">
3810
+ <xsl:variable name="simple-table">
3811
+
3812
+ <!-- Step 1. colspan processing -->
3813
+ <xsl:variable name="simple-table-colspan">
3814
+ <tbody>
3815
+ <xsl:apply-templates mode="simple-table-colspan"/>
3816
+ </tbody>
3817
+ </xsl:variable>
3818
+
3819
+ <!-- Step 2. rowspan processing -->
3820
+ <xsl:variable name="simple-table-rowspan">
3821
+ <xsl:apply-templates select="xalan:nodeset($simple-table-colspan)" mode="simple-table-rowspan"/>
3822
+ </xsl:variable>
3823
+
3824
+ <xsl:copy-of select="xalan:nodeset($simple-table-rowspan)"/>
3825
+
3826
+ <!-- <xsl:choose>
3827
+ <xsl:when test="current()//*[local-name()='th'][@colspan] or current()//*[local-name()='td'][@colspan] ">
3828
+
3829
+ </xsl:when>
3830
+ <xsl:otherwise>
3831
+ <xsl:copy-of select="current()"/>
3832
+ </xsl:otherwise>
3833
+ </xsl:choose> -->
3834
+ </xsl:variable>
3835
+ <xsl:copy-of select="$simple-table"/>
3836
+ </xsl:template><xsl:template match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
3837
+ <xsl:apply-templates mode="simple-table-colspan"/>
3838
+ </xsl:template><xsl:template match="*[local-name()='fn']" mode="simple-table-colspan"/><xsl:template match="*[local-name()='th'] | *[local-name()='td']" mode="simple-table-colspan">
3839
+ <xsl:choose>
3840
+ <xsl:when test="@colspan">
3841
+ <xsl:variable name="td">
3842
+ <xsl:element name="td">
3843
+ <xsl:attribute name="divide"><xsl:value-of select="@colspan"/></xsl:attribute>
3844
+ <xsl:apply-templates select="@*" mode="simple-table-colspan"/>
3845
+ <xsl:apply-templates mode="simple-table-colspan"/>
3846
+ </xsl:element>
3847
+ </xsl:variable>
3848
+ <xsl:call-template name="repeatNode">
3849
+ <xsl:with-param name="count" select="@colspan"/>
3850
+ <xsl:with-param name="node" select="$td"/>
3851
+ </xsl:call-template>
3852
+ </xsl:when>
3853
+ <xsl:otherwise>
3854
+ <xsl:element name="td">
3855
+ <xsl:apply-templates select="@*" mode="simple-table-colspan"/>
3856
+ <xsl:apply-templates mode="simple-table-colspan"/>
3857
+ </xsl:element>
3858
+ </xsl:otherwise>
3859
+ </xsl:choose>
3860
+ </xsl:template><xsl:template match="@colspan" mode="simple-table-colspan"/><xsl:template match="*[local-name()='tr']" mode="simple-table-colspan">
3861
+ <xsl:element name="tr">
3862
+ <xsl:apply-templates select="@*" mode="simple-table-colspan"/>
3863
+ <xsl:apply-templates mode="simple-table-colspan"/>
3864
+ </xsl:element>
3865
+ </xsl:template><xsl:template match="@*|node()" mode="simple-table-colspan">
3866
+ <xsl:copy>
3867
+ <xsl:apply-templates select="@*|node()" mode="simple-table-colspan"/>
3868
+ </xsl:copy>
3869
+ </xsl:template><xsl:template name="repeatNode">
3870
+ <xsl:param name="count"/>
3871
+ <xsl:param name="node"/>
3872
+
3873
+ <xsl:if test="$count &gt; 0">
3874
+ <xsl:call-template name="repeatNode">
3875
+ <xsl:with-param name="count" select="$count - 1"/>
3876
+ <xsl:with-param name="node" select="$node"/>
3877
+ </xsl:call-template>
3878
+ <xsl:copy-of select="$node"/>
3879
+ </xsl:if>
3880
+ </xsl:template><xsl:template match="@*|node()" mode="simple-table-rowspan">
3881
+ <xsl:copy>
3882
+ <xsl:apply-templates select="@*|node()" mode="simple-table-rowspan"/>
3883
+ </xsl:copy>
3884
+ </xsl:template><xsl:template match="tbody" mode="simple-table-rowspan">
3885
+ <xsl:copy>
3886
+ <xsl:copy-of select="tr[1]"/>
3887
+ <xsl:apply-templates select="tr[2]" mode="simple-table-rowspan">
3888
+ <xsl:with-param name="previousRow" select="tr[1]"/>
3889
+ </xsl:apply-templates>
3890
+ </xsl:copy>
3891
+ </xsl:template><xsl:template match="tr" mode="simple-table-rowspan">
3892
+ <xsl:param name="previousRow"/>
3893
+ <xsl:variable name="currentRow" select="."/>
3894
+
3895
+ <xsl:variable name="normalizedTDs">
3896
+ <xsl:for-each select="xalan:nodeset($previousRow)//td">
3897
+ <xsl:choose>
3898
+ <xsl:when test="@rowspan &gt; 1">
3899
+ <xsl:copy>
3900
+ <xsl:attribute name="rowspan">
3901
+ <xsl:value-of select="@rowspan - 1"/>
3902
+ </xsl:attribute>
3903
+ <xsl:copy-of select="@*[not(name() = 'rowspan')]"/>
3904
+ <xsl:copy-of select="node()"/>
3905
+ </xsl:copy>
3906
+ </xsl:when>
3907
+ <xsl:otherwise>
3908
+ <xsl:copy-of select="$currentRow/td[1 + count(current()/preceding-sibling::td[not(@rowspan) or (@rowspan = 1)])]"/>
3909
+ </xsl:otherwise>
3910
+ </xsl:choose>
3911
+ </xsl:for-each>
3912
+ </xsl:variable>
3913
+
3914
+ <xsl:variable name="newRow">
3915
+ <xsl:copy>
3916
+ <xsl:copy-of select="$currentRow/@*"/>
3917
+ <xsl:copy-of select="xalan:nodeset($normalizedTDs)"/>
3918
+ </xsl:copy>
3919
+ </xsl:variable>
3920
+ <xsl:copy-of select="$newRow"/>
3921
+
3922
+ <xsl:apply-templates select="following-sibling::tr[1]" mode="simple-table-rowspan">
3923
+ <xsl:with-param name="previousRow" select="$newRow"/>
3924
+ </xsl:apply-templates>
3925
+ </xsl:template><xsl:template name="getLang">
3926
+ <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/>
3927
+ <xsl:choose>
3928
+ <xsl:when test="$language = 'English'">en</xsl:when>
3929
+ <xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
3930
+ </xsl:choose>
3931
+ </xsl:template><xsl:template name="capitalizeWords">
3932
+ <xsl:param name="str"/>
3933
+ <xsl:variable name="str2" select="translate($str, '-', ' ')"/>
3934
+ <xsl:choose>
3935
+ <xsl:when test="contains($str2, ' ')">
3936
+ <xsl:variable name="substr" select="substring-before($str2, ' ')"/>
3937
+ <!-- <xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
3938
+ <xsl:value-of select="substring($substr, 2)"/> -->
3939
+ <xsl:call-template name="capitalize">
3940
+ <xsl:with-param name="str" select="$substr"/>
3941
+ </xsl:call-template>
3942
+ <xsl:text> </xsl:text>
3943
+ <xsl:call-template name="capitalizeWords">
3944
+ <xsl:with-param name="str" select="substring-after($str2, ' ')"/>
3945
+ </xsl:call-template>
3946
+ </xsl:when>
3947
+ <xsl:otherwise>
3948
+ <!-- <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
3949
+ <xsl:value-of select="substring($str2, 2)"/> -->
3950
+ <xsl:call-template name="capitalize">
3951
+ <xsl:with-param name="str" select="$str2"/>
3952
+ </xsl:call-template>
3953
+ </xsl:otherwise>
3954
+ </xsl:choose>
3955
+ </xsl:template><xsl:template name="capitalize">
3956
+ <xsl:param name="str"/>
3957
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(substring($str, 1, 1)))"/>
3958
+ <xsl:value-of select="substring($str, 2)"/>
3959
+ </xsl:template><xsl:template match="mathml:math">
3960
+ <fo:inline font-family="STIX2Math">
3961
+ <fo:instream-foreign-object fox:alt-text="Math">
3962
+ <xsl:copy-of select="."/>
3963
+ </fo:instream-foreign-object>
3964
+ </fo:inline>
3965
+ </xsl:template><xsl:template match="*[local-name()='localityStack']">
3966
+ <xsl:for-each select="*[local-name()='locality']">
3967
+ <xsl:if test="position() =1"><xsl:text>, </xsl:text></xsl:if>
3968
+ <xsl:apply-templates select="."/>
3969
+ <xsl:if test="position() != last()"><xsl:text>; </xsl:text></xsl:if>
3970
+ </xsl:for-each>
3971
+ </xsl:template><xsl:template match="*[local-name()='link']" name="link">
3972
+ <xsl:variable name="target">
3973
+ <xsl:choose>
3974
+ <xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
3975
+ <xsl:value-of select="normalize-space(substring-after(@target, 'mailto:'))"/>
3976
+ </xsl:when>
3977
+ <xsl:otherwise>
3978
+ <xsl:value-of select="normalize-space(@target)"/>
3979
+ </xsl:otherwise>
3980
+ </xsl:choose>
3981
+ </xsl:variable>
3982
+ <fo:inline xsl:use-attribute-sets="link-style">
3983
+ <xsl:choose>
3984
+ <xsl:when test="$target = ''">
3985
+ <xsl:apply-templates/>
3986
+ </xsl:when>
3987
+ <xsl:otherwise>
3988
+ <fo:basic-link external-destination="{@target}" fox:alt-text="{@target}">
3989
+ <xsl:choose>
3990
+ <xsl:when test="normalize-space(.) = ''">
3991
+ <xsl:value-of select="$target"/>
3992
+ </xsl:when>
3993
+ <xsl:otherwise>
3994
+ <xsl:apply-templates/>
3995
+ </xsl:otherwise>
3996
+ </xsl:choose>
3997
+ </fo:basic-link>
3998
+ </xsl:otherwise>
3999
+ </xsl:choose>
4000
+ </fo:inline>
4001
+ </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
4002
+ <fo:block xsl:use-attribute-sets="sourcecode-style">
4003
+ <!-- <xsl:choose>
4004
+ <xsl:when test="@lang = 'en'"></xsl:when>
4005
+ <xsl:otherwise> -->
4006
+ <xsl:attribute name="white-space">pre</xsl:attribute>
4007
+ <xsl:attribute name="wrap-option">wrap</xsl:attribute>
4008
+ <!-- </xsl:otherwise>
4009
+ </xsl:choose> -->
4010
+ <xsl:apply-templates/>
4011
+ </fo:block>
4012
+ </xsl:template><xsl:template match="*[local-name()='bookmark']">
4013
+ <fo:inline id="{@id}"/>
4014
+ </xsl:template><xsl:template match="*[local-name()='appendix']">
4015
+ <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
4016
+ <xsl:variable name="title-appendix">
4017
+ <xsl:call-template name="getTitle">
4018
+ <xsl:with-param name="name" select="'title-appendix'"/>
4019
+ </xsl:call-template>
4020
+ </xsl:variable>
4021
+ <fo:inline padding-right="5mm"><xsl:value-of select="$title-appendix"/> <xsl:number/></fo:inline>
4022
+ <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
4023
+ </fo:block>
4024
+ <xsl:apply-templates/>
4025
+ </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
4026
+ <fo:inline><xsl:apply-templates/></fo:inline>
4027
+ </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']">
4028
+ <fo:block xsl:use-attribute-sets="appendix-example-style">
4029
+ <xsl:variable name="claims_id" select="ancestor::*[local-name()='clause'][1]/@id"/>
4030
+ <xsl:variable name="title-example">
4031
+ <xsl:call-template name="getTitle">
4032
+ <xsl:with-param name="name" select="'title-example'"/>
4033
+ </xsl:call-template>
4034
+ </xsl:variable>
4035
+ <xsl:value-of select="$title-example"/>
4036
+ <xsl:if test="count(ancestor::*[local-name()='clause'][1]//*[local-name()='example']) &gt; 1">
4037
+ <xsl:number count="*[local-name()='example'][ancestor::*[local-name()='clause'][@id = $claims_id]]" level="any"/><xsl:text> </xsl:text>
4038
+ </xsl:if>
4039
+ <xsl:if test="*[local-name()='name']">
4040
+ <xsl:text>— </xsl:text><xsl:apply-templates select="*[local-name()='name']" mode="process"/>
4041
+ </xsl:if>
4042
+ </fo:block>
4043
+ <xsl:apply-templates/>
4044
+ </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']/*[local-name()='name']"/><xsl:template match="*[local-name()='appendix']//*[local-name()='example']/*[local-name()='name']" mode="process">
4045
+ <fo:inline><xsl:apply-templates/></fo:inline>
4046
+ </xsl:template><xsl:template match="*[local-name() = 'callout']">
4047
+ <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
4048
+ </xsl:template><xsl:template match="*[local-name() = 'annotation']">
4049
+ <xsl:variable name="annotation-id" select="@id"/>
4050
+ <xsl:variable name="callout" select="//*[@target = $annotation-id]/text()"/>
4051
+ <fo:block id="{$annotation-id}" white-space="nowrap">
4052
+ <fo:inline>
4053
+ <xsl:apply-templates>
4054
+ <xsl:with-param name="callout" select="concat('&lt;', $callout, '&gt; ')"/>
4055
+ </xsl:apply-templates>
4056
+ </fo:inline>
4057
+ </fo:block>
4058
+ </xsl:template><xsl:template match="*[local-name() = 'annotation']/*[local-name() = 'p']">
4059
+ <xsl:param name="callout"/>
4060
+ <fo:inline id="{@id}">
4061
+ <!-- for first p in annotation, put <x> -->
4062
+ <xsl:if test="not(preceding-sibling::*[local-name() = 'p'])"><xsl:value-of select="$callout"/></xsl:if>
4063
+ <xsl:apply-templates/>
4064
+ </fo:inline>
4065
+ </xsl:template><xsl:template match="*[local-name() = 'modification']">
4066
+ <xsl:variable name="title-modified">
4067
+ <xsl:call-template name="getTitle">
4068
+ <xsl:with-param name="name" select="'title-modified'"/>
4069
+ </xsl:call-template>
4070
+ </xsl:variable>
4071
+ <xsl:choose>
4072
+ <xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:text>—</xsl:text></xsl:when>
4073
+ <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:text> — </xsl:text></xsl:otherwise>
4074
+ </xsl:choose>
4075
+ <xsl:apply-templates/>
4076
+ </xsl:template><xsl:template name="convertDate">
4077
+ <xsl:param name="date"/>
4078
+ <xsl:param name="format" select="'short'"/>
4079
+ <xsl:variable name="year" select="substring($date, 1, 4)"/>
4080
+ <xsl:variable name="month" select="substring($date, 6, 2)"/>
4081
+ <xsl:variable name="day" select="substring($date, 9, 2)"/>
4082
+ <xsl:variable name="monthStr">
4083
+ <xsl:choose>
4084
+ <xsl:when test="$month = '01'">January</xsl:when>
4085
+ <xsl:when test="$month = '02'">February</xsl:when>
4086
+ <xsl:when test="$month = '03'">March</xsl:when>
4087
+ <xsl:when test="$month = '04'">April</xsl:when>
4088
+ <xsl:when test="$month = '05'">May</xsl:when>
4089
+ <xsl:when test="$month = '06'">June</xsl:when>
4090
+ <xsl:when test="$month = '07'">July</xsl:when>
4091
+ <xsl:when test="$month = '08'">August</xsl:when>
4092
+ <xsl:when test="$month = '09'">September</xsl:when>
4093
+ <xsl:when test="$month = '10'">October</xsl:when>
4094
+ <xsl:when test="$month = '11'">November</xsl:when>
4095
+ <xsl:when test="$month = '12'">December</xsl:when>
4096
+ </xsl:choose>
4097
+ </xsl:variable>
4098
+ <xsl:variable name="result">
4099
+ <xsl:choose>
4100
+ <xsl:when test="$format = 'short' or $day = ''">
4101
+ <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
4102
+ </xsl:when>
4103
+ <xsl:otherwise>
4104
+ <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
4105
+ </xsl:otherwise>
4106
+ </xsl:choose>
4107
+ </xsl:variable>
4108
+ <xsl:value-of select="$result"/>
4109
+ </xsl:template><xsl:template name="insertKeywords">
4110
+ <xsl:param name="sorting" select="'true'"/>
4111
+ <xsl:param name="charAtEnd" select="'.'"/>
4112
+ <xsl:param name="charDelim" select="', '"/>
4113
+ <xsl:choose>
4114
+ <xsl:when test="$sorting = 'true' or $sorting = 'yes'">
4115
+ <xsl:for-each select="/*/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
4116
+ <xsl:sort data-type="text" order="ascending"/>
4117
+ <xsl:call-template name="insertKeyword">
4118
+ <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
4119
+ <xsl:with-param name="charDelim" select="$charDelim"/>
4120
+ </xsl:call-template>
4121
+ </xsl:for-each>
4122
+ </xsl:when>
4123
+ <xsl:otherwise>
4124
+ <xsl:for-each select="/*/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
4125
+ <xsl:call-template name="insertKeyword">
4126
+ <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
4127
+ <xsl:with-param name="charDelim" select="$charDelim"/>
4128
+ </xsl:call-template>
4129
+ </xsl:for-each>
4130
+ </xsl:otherwise>
4131
+ </xsl:choose>
4132
+ </xsl:template><xsl:template name="insertKeyword">
4133
+ <xsl:param name="charAtEnd"/>
4134
+ <xsl:param name="charDelim"/>
4135
+ <xsl:apply-templates/>
4136
+ <xsl:choose>
4137
+ <xsl:when test="position() != last()"><xsl:value-of select="$charDelim"/></xsl:when>
4138
+ <xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
4139
+ </xsl:choose>
4140
+ </xsl:template><xsl:template name="addPDFUAmeta">
4141
+ <fo:declarations>
4142
+ <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
4143
+ <pdf:dictionary type="normal" key="ViewerPreferences">
4144
+ <pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
4145
+ </pdf:dictionary>
4146
+ </pdf:catalog>
4147
+ <x:xmpmeta xmlns:x="adobe:ns:meta/">
4148
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
4149
+ <rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
4150
+ <!-- Dublin Core properties go here -->
4151
+ <dc:title>
4152
+ <xsl:variable name="title">
4153
+
4154
+ <xsl:value-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'title'][@language = 'en' and @type = 'main']"/>
4155
+
4156
+
4157
+
4158
+
4159
+ </xsl:variable>
4160
+ <xsl:choose>
4161
+ <xsl:when test="normalize-space($title) != ''">
4162
+ <xsl:value-of select="$title"/>
4163
+ </xsl:when>
4164
+ <xsl:otherwise>
4165
+ <xsl:text> </xsl:text>
4166
+ </xsl:otherwise>
4167
+ </xsl:choose>
4168
+ </dc:title>
4169
+ <dc:creator>
4170
+
4171
+
4172
+ </dc:creator>
4173
+ <dc:description>
4174
+ <xsl:variable name="abstract">
4175
+
4176
+
4177
+
4178
+ <xsl:copy-of select="/*/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
4179
+
4180
+
4181
+ </xsl:variable>
4182
+ <xsl:value-of select="normalize-space($abstract)"/>
4183
+ </dc:description>
4184
+ <pdf:Keywords>
4185
+ <xsl:call-template name="insertKeywords"/>
4186
+ </pdf:Keywords>
4187
+ </rdf:Description>
4188
+ <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
4189
+ <!-- XMP properties go here -->
4190
+ <xmp:CreatorTool/>
4191
+ </rdf:Description>
4192
+ </rdf:RDF>
4193
+ </x:xmpmeta>
4194
+ </fo:declarations>
4195
+ </xsl:template><xsl:template name="getId">
4196
+ <xsl:choose>
4197
+ <xsl:when test="../@id">
4198
+ <xsl:value-of select="../@id"/>
4199
+ </xsl:when>
4200
+ <xsl:otherwise>
4201
+ <!-- <xsl:value-of select="concat(local-name(..), '_', text())"/> -->
4202
+ <xsl:value-of select="concat(generate-id(..), '_', text())"/>
4203
+ </xsl:otherwise>
4204
+ </xsl:choose>
4205
+ </xsl:template><xsl:template name="getLevel">
4206
+ <xsl:variable name="level_total" select="count(ancestor::*)"/>
4207
+ <xsl:variable name="level">
4208
+ <xsl:choose>
4209
+ <xsl:when test="ancestor::*[local-name() = 'preface']">
4210
+ <xsl:value-of select="$level_total - 2"/>
4211
+ </xsl:when>
4212
+ <xsl:when test="ancestor::*[local-name() = 'sections']">
4213
+ <xsl:value-of select="$level_total - 2"/>
4214
+ </xsl:when>
4215
+ <xsl:when test="ancestor::*[local-name() = 'bibliography']">
4216
+ <xsl:value-of select="$level_total - 2"/>
4217
+ </xsl:when>
4218
+ <xsl:when test="local-name(ancestor::*[1]) = 'annex'">1</xsl:when>
4219
+ <xsl:otherwise>
4220
+ <xsl:value-of select="$level_total - 1"/>
4221
+ </xsl:otherwise>
4222
+ </xsl:choose>
4223
+ </xsl:variable>
4224
+ <xsl:value-of select="$level"/>
4225
+ </xsl:template><xsl:template name="getSubSection">
4226
+ <xsl:number format=".1" level="multiple" count="*[local-name() = 'clause']/*[local-name() = 'clause'] | *[local-name() = 'clause']/*[local-name() = 'terms'] | *[local-name() = 'terms']/*[local-name() = 'term'] | *[local-name() = 'clause']/*[local-name() = 'term'] | *[local-name() = 'terms']/*[local-name() = 'clause'] | *[local-name() = 'terms']/*[local-name() = 'definitions'] | *[local-name() = 'definitions']/*[local-name() = 'clause'] | *[local-name() = 'clause']/*[local-name() = 'definitions'] | *[local-name() = 'definitions']/*[local-name() = 'definitions'] | *[local-name() = 'clause']/*[local-name() = 'references']"/>
4227
+ </xsl:template><xsl:template name="split">
4228
+ <xsl:param name="pText" select="."/>
4229
+ <xsl:param name="sep" select="','"/>
4230
+ <xsl:if test="string-length($pText) &gt;0">
4231
+ <item>
4232
+ <xsl:value-of select="normalize-space(substring-before(concat($pText, ','), $sep))"/>
4233
+ </item>
4234
+ <xsl:call-template name="split">
4235
+ <xsl:with-param name="pText" select="substring-after($pText, $sep)"/>
4236
+ <xsl:with-param name="sep" select="$sep"/>
4237
+ </xsl:call-template>
4238
+ </xsl:if>
4239
+ </xsl:template><xsl:template name="getDocumentId">
4240
+ <xsl:call-template name="getLang"/><xsl:value-of select="//*[local-name() = 'p'][1]/@id"/>
4241
+ </xsl:template></xsl:stylesheet>