metanorma-m3aawg 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/macos.yml +39 -0
  3. data/.github/workflows/ubuntu.yml +53 -0
  4. data/.github/workflows/windows.yml +41 -0
  5. data/.gitignore +1 -0
  6. data/.hound.yml +3 -0
  7. data/.rubocop.yml +10 -0
  8. data/CODE_OF_CONDUCT.md +74 -0
  9. data/Gemfile +11 -0
  10. data/LICENSE +25 -0
  11. data/README.adoc +67 -0
  12. data/Rakefile +6 -0
  13. data/bin/console +14 -0
  14. data/bin/rspec +18 -0
  15. data/bin/setup +8 -0
  16. data/lib/asciidoctor/m3aawg.rb +5 -0
  17. data/lib/asciidoctor/m3aawg/basicdoc.rng +1059 -0
  18. data/lib/asciidoctor/m3aawg/biblio.rng +1237 -0
  19. data/lib/asciidoctor/m3aawg/boilerplate.xml +44 -0
  20. data/lib/asciidoctor/m3aawg/converter.rb +142 -0
  21. data/lib/asciidoctor/m3aawg/isodoc.rng +1504 -0
  22. data/lib/asciidoctor/m3aawg/m3d.rng +109 -0
  23. data/lib/asciidoctor/m3aawg/reqt.rng +194 -0
  24. data/lib/asciidoctor/m3aawg/validate.rb +22 -0
  25. data/lib/isodoc/m3aawg/base_convert.rb +54 -0
  26. data/lib/isodoc/m3aawg/html/dots-w@2x.png +0 -0
  27. data/lib/isodoc/m3aawg/html/dots@2x.png +0 -0
  28. data/lib/isodoc/m3aawg/html/header.html +328 -0
  29. data/lib/isodoc/m3aawg/html/html_m3d_intro.html +14 -0
  30. data/lib/isodoc/m3aawg/html/html_m3d_titlepage.html +81 -0
  31. data/lib/isodoc/m3aawg/html/htmlstyle.scss +733 -0
  32. data/lib/isodoc/m3aawg/html/logo.jpg +0 -0
  33. data/lib/isodoc/m3aawg/html/m3-logo.png +0 -0
  34. data/lib/isodoc/m3aawg/html/m3d.scss +743 -0
  35. data/lib/isodoc/m3aawg/html/scripts.html +71 -0
  36. data/lib/isodoc/m3aawg/html/word_m3d_intro.html +10 -0
  37. data/lib/isodoc/m3aawg/html/word_m3d_titlepage.html +41 -0
  38. data/lib/isodoc/m3aawg/html/wordstyle.scss +1175 -0
  39. data/lib/isodoc/m3aawg/html_convert.rb +63 -0
  40. data/lib/isodoc/m3aawg/m3d.report.xsl +3299 -0
  41. data/lib/isodoc/m3aawg/metadata.rb +53 -0
  42. data/lib/isodoc/m3aawg/pdf_convert.rb +22 -0
  43. data/lib/isodoc/m3aawg/presentation_xml_convert.rb +10 -0
  44. data/lib/isodoc/m3aawg/word_convert.rb +61 -0
  45. data/lib/metanorma-m3aawg.rb +12 -0
  46. data/lib/metanorma/m3aawg.rb +7 -0
  47. data/lib/metanorma/m3aawg/processor.rb +54 -0
  48. data/lib/metanorma/m3aawg/version.rb +5 -0
  49. data/metanorma-m3d.gemspec +51 -0
  50. metadata +334 -0
@@ -0,0 +1,109 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <grammar ns="https://www.metanorma.org/ns/m3d" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3
+ <!--
4
+ Currently we inherit from a namespaced grammar, isostandard. Until we inherit from isodoc,
5
+ we cannot have a new default namespace: we will end up with a grammar with two different
6
+ namespaces, one for isostandard and one for csand additions. And we do not want that.
7
+ -->
8
+ <include href="isodoc.rng">
9
+ <start>
10
+ <ref name="m3d-standard"/>
11
+ </start>
12
+ <define name="figure">
13
+ <element name="figure">
14
+ <attribute name="id">
15
+ <data type="ID"/>
16
+ </attribute>
17
+ <optional>
18
+ <attribute name="unnumbered">
19
+ <data type="boolean"/>
20
+ </attribute>
21
+ </optional>
22
+ <optional>
23
+ <attribute name="number"/>
24
+ </optional>
25
+ <optional>
26
+ <attribute name="subsequence"/>
27
+ </optional>
28
+ <optional>
29
+ <attribute name="class"/>
30
+ </optional>
31
+ <optional>
32
+ <ref name="source"/>
33
+ </optional>
34
+ <optional>
35
+ <ref name="tname"/>
36
+ </optional>
37
+ <choice>
38
+ <oneOrMore>
39
+ <ref name="figure"/>
40
+ </oneOrMore>
41
+ <group>
42
+ <choice>
43
+ <zeroOrMore>
44
+ <ref name="TextElement"/>
45
+ </zeroOrMore>
46
+ <ref name="pre"/>
47
+ </choice>
48
+ <zeroOrMore>
49
+ <ref name="note"/>
50
+ </zeroOrMore>
51
+ <optional>
52
+ <ref name="dl"/>
53
+ </optional>
54
+ </group>
55
+ </choice>
56
+ </element>
57
+ </define>
58
+ <define name="DocumentType">
59
+ <choice>
60
+ <value>guidance</value>
61
+ <value>proposal</value>
62
+ <value>standard</value>
63
+ <value>report</value>
64
+ <value>whitepaper</value>
65
+ <value>charter</value>
66
+ <value>policy</value>
67
+ <value>glossary</value>
68
+ <value>case-study</value>
69
+ </choice>
70
+ </define>
71
+ <define name="editorialgroup">
72
+ <element name="editorialgroup">
73
+ <oneOrMore>
74
+ <ref name="committee"/>
75
+ </oneOrMore>
76
+ </element>
77
+ </define>
78
+ </include>
79
+ <define name="committee">
80
+ <element name="committee">
81
+ <attribute name="type">
82
+ <choice>
83
+ <value>technical</value>
84
+ <value>provisional</value>
85
+ </choice>
86
+ </attribute>
87
+ <text/>
88
+ </element>
89
+ </define>
90
+ <define name="m3d-standard">
91
+ <element name="m3d-standard">
92
+ <ref name="bibdata"/>
93
+ <zeroOrMore>
94
+ <ref name="termdocsource"/>
95
+ </zeroOrMore>
96
+ <optional>
97
+ <ref name="boilerplate"/>
98
+ </optional>
99
+ <ref name="preface"/>
100
+ <oneOrMore>
101
+ <ref name="sections"/>
102
+ </oneOrMore>
103
+ <zeroOrMore>
104
+ <ref name="annex"/>
105
+ </zeroOrMore>
106
+ <ref name="bibliography"/>
107
+ </element>
108
+ </define>
109
+ </grammar>
@@ -0,0 +1,194 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3
+ <!--
4
+ Presupposes isodoc.rnc, is included in it
5
+ include "isodoc.rnc" { }
6
+ -->
7
+ <define name="requirement">
8
+ <element name="requirement">
9
+ <ref name="RequirementType"/>
10
+ </element>
11
+ </define>
12
+ <define name="recommendation">
13
+ <element name="recommendation">
14
+ <ref name="RequirementType"/>
15
+ </element>
16
+ </define>
17
+ <define name="permission">
18
+ <element name="permission">
19
+ <ref name="RequirementType"/>
20
+ </element>
21
+ </define>
22
+ <define name="RequirementType">
23
+ <optional>
24
+ <attribute name="obligation">
25
+ <ref name="ObligationType"/>
26
+ </attribute>
27
+ </optional>
28
+ <optional>
29
+ <attribute name="unnumbered">
30
+ <data type="boolean"/>
31
+ </attribute>
32
+ </optional>
33
+ <optional>
34
+ <attribute name="number"/>
35
+ </optional>
36
+ <optional>
37
+ <attribute name="subsequence"/>
38
+ </optional>
39
+ <optional>
40
+ <attribute name="keep-with-next">
41
+ <data type="boolean"/>
42
+ </attribute>
43
+ </optional>
44
+ <optional>
45
+ <attribute name="keep-lines-together">
46
+ <data type="boolean"/>
47
+ </attribute>
48
+ </optional>
49
+ <attribute name="id">
50
+ <data type="ID"/>
51
+ </attribute>
52
+ <optional>
53
+ <attribute name="filename"/>
54
+ </optional>
55
+ <optional>
56
+ <attribute name="model"/>
57
+ </optional>
58
+ <optional>
59
+ <attribute name="type"/>
60
+ </optional>
61
+ <optional>
62
+ <ref name="reqtitle"/>
63
+ </optional>
64
+ <optional>
65
+ <ref name="label"/>
66
+ </optional>
67
+ <optional>
68
+ <ref name="subject"/>
69
+ </optional>
70
+ <zeroOrMore>
71
+ <ref name="reqinherit"/>
72
+ </zeroOrMore>
73
+ <zeroOrMore>
74
+ <ref name="classification"/>
75
+ </zeroOrMore>
76
+ <zeroOrMore>
77
+ <choice>
78
+ <ref name="measurementtarget"/>
79
+ <ref name="specification"/>
80
+ <ref name="verification"/>
81
+ <ref name="import"/>
82
+ <ref name="description"/>
83
+ </choice>
84
+ </zeroOrMore>
85
+ <optional>
86
+ <ref name="reqt_references"/>
87
+ </optional>
88
+ <zeroOrMore>
89
+ <choice>
90
+ <ref name="requirement"/>
91
+ <ref name="recommendation"/>
92
+ <ref name="permission"/>
93
+ </choice>
94
+ </zeroOrMore>
95
+ </define>
96
+ <define name="reqtitle">
97
+ <element name="title">
98
+ <ref name="FormattedString"/>
99
+ </element>
100
+ </define>
101
+ <define name="label">
102
+ <element name="label">
103
+ <text/>
104
+ </element>
105
+ </define>
106
+ <define name="subject">
107
+ <element name="subject">
108
+ <text/>
109
+ </element>
110
+ </define>
111
+ <define name="reqinherit">
112
+ <element name="inherit">
113
+ <text/>
114
+ </element>
115
+ </define>
116
+ <define name="measurementtarget">
117
+ <element name="measurement-target">
118
+ <ref name="RequirementSubpart"/>
119
+ </element>
120
+ </define>
121
+ <define name="specification">
122
+ <element name="specification">
123
+ <ref name="RequirementSubpart"/>
124
+ </element>
125
+ </define>
126
+ <define name="verification">
127
+ <element name="verification">
128
+ <ref name="RequirementSubpart"/>
129
+ </element>
130
+ </define>
131
+ <define name="import">
132
+ <element name="import">
133
+ <ref name="RequirementSubpart"/>
134
+ </element>
135
+ </define>
136
+ <define name="description">
137
+ <element name="description">
138
+ <ref name="RequirementSubpart"/>
139
+ </element>
140
+ </define>
141
+ <define name="reqt_references">
142
+ <element name="references">
143
+ <oneOrMore>
144
+ <ref name="bibitem"/>
145
+ </oneOrMore>
146
+ </element>
147
+ </define>
148
+ <define name="RequirementSubpart">
149
+ <optional>
150
+ <attribute name="type"/>
151
+ </optional>
152
+ <optional>
153
+ <attribute name="exclude">
154
+ <data type="boolean"/>
155
+ </attribute>
156
+ </optional>
157
+ <optional>
158
+ <attribute name="keep-with-next">
159
+ <data type="boolean"/>
160
+ </attribute>
161
+ </optional>
162
+ <optional>
163
+ <attribute name="keep-lines-together">
164
+ <data type="boolean"/>
165
+ </attribute>
166
+ </optional>
167
+ <oneOrMore>
168
+ <ref name="BasicBlock"/>
169
+ </oneOrMore>
170
+ </define>
171
+ <define name="ObligationType">
172
+ <choice>
173
+ <value>requirement</value>
174
+ <value>recommendation</value>
175
+ <value>permission</value>
176
+ </choice>
177
+ </define>
178
+ <define name="classification">
179
+ <element name="classification">
180
+ <ref name="classification_tag"/>
181
+ <ref name="classification_value"/>
182
+ </element>
183
+ </define>
184
+ <define name="classification_tag">
185
+ <element name="tag">
186
+ <text/>
187
+ </element>
188
+ </define>
189
+ <define name="classification_value">
190
+ <element name="value">
191
+ <text/>
192
+ </element>
193
+ </define>
194
+ </grammar>
@@ -0,0 +1,22 @@
1
+ module Asciidoctor
2
+ module M3AAWG
3
+ class Converter < Standoc::Converter
4
+ def content_validate(doc)
5
+ super
6
+ bibdata_validate(doc.root)
7
+ end
8
+
9
+ def bibdata_validate(doc)
10
+ stage_validate(doc)
11
+ end
12
+
13
+ def stage_validate(xmldoc)
14
+ stage = xmldoc&.at("//bibdata/status/stage")&.text
15
+ %w(proposal working-draft committee-draft draft-standard final-draft
16
+ published withdrawn).include? stage or
17
+ @log.add("Document Attributes", nil, "#{stage} is not a recognised status")
18
+ end
19
+ end
20
+ end
21
+ end
22
+
@@ -0,0 +1,54 @@
1
+ require_relative "metadata"
2
+ require "fileutils"
3
+
4
+ module IsoDoc
5
+ module M3AAWG
6
+ module BaseRender
7
+ def metadata_init(lang, script, labels)
8
+ @meta = Metadata.new(lang, script, labels)
9
+ end
10
+
11
+ #def add_image(filenames)
12
+ #filenames.each do |filename|
13
+ #FileUtils.cp html_doc_path(filename), File.join(@localdir, filename)
14
+ #@files_to_delete << File.join(@localdir, filename)
15
+ #end
16
+ #end
17
+
18
+ def annex_name(annex, name, div)
19
+ div.h1 **{ class: "Annex" } do |t|
20
+ t << "#{@xrefs.anchor(annex['id'], :label)} "
21
+ t.br
22
+ t.b do |b|
23
+ name&.children&.each { |c2| parse(c2, b) }
24
+ end
25
+ end
26
+ end
27
+
28
+ def i18n_init(lang, script)
29
+ super
30
+ @annex_lbl = "Appendix"
31
+ @labels["annex"] = "Appendix"
32
+ end
33
+
34
+ def fileloc(loc)
35
+ File.join(File.dirname(__FILE__), loc)
36
+ end
37
+
38
+ def cleanup(docxml)
39
+ super
40
+ term_cleanup(docxml)
41
+ end
42
+
43
+ def term_cleanup(docxml)
44
+ docxml.xpath("//p[@class = 'Terms']").each do |d|
45
+ h2 = d.at("./preceding-sibling::*[@class = 'TermNum'][1]")
46
+ h2.add_child("&nbsp;")
47
+ h2.add_child(d.remove)
48
+ end
49
+ docxml
50
+ end
51
+ end
52
+ end
53
+ end
54
+
@@ -0,0 +1,328 @@
1
+ <html xmlns:v="urn:schemas-microsoft-com:vml"
2
+ xmlns:o="urn:schemas-microsoft-com:office:office"
3
+ xmlns:w="urn:schemas-microsoft-com:office:word"
4
+ xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
5
+ xmlns="http://www.w3.org/TR/REC-html40">
6
+
7
+ <head>
8
+ <meta http-equiv=Content-Type content="text/html; charset=utf-8">
9
+ <meta name=ProgId content=Word.Document>
10
+ <meta name=Generator content="Microsoft Word 15">
11
+ <meta name=Originator content="Microsoft Word 15">
12
+ <link id=Main-File rel=Main-File href="../m3aawg-document-template-2015-10.html">
13
+ <!--[if gte mso 9]><xml>
14
+ <o:shapedefaults v:ext="edit" spidmax="2051"/>
15
+ </xml><![endif]--><!--[if gte mso 9]><xml>
16
+ <o:shapelayout v:ext="edit">
17
+ <o:idmap v:ext="edit" data="2"/>
18
+ </o:shapelayout></xml><![endif]-->
19
+ </head>
20
+
21
+ <body lang=EL link=blue vlink=purple>
22
+
23
+ <div style='mso-element:footnote-separator' id=fs>
24
+
25
+ <p class=MsoNormal><span lang=EN-US><span style='mso-special-character:footnote-separator'><![if !supportFootnotes]>
26
+
27
+ <hr align=left size=1 width="33%">
28
+
29
+ <![endif]></span></span></p>
30
+
31
+ </div>
32
+
33
+ <div style='mso-element:footnote-continuation-separator' id=fcs>
34
+
35
+ <p class=MsoNormal><span lang=EN-US><span style='mso-special-character:footnote-continuation-separator'><![if !supportFootnotes]>
36
+
37
+ <hr align=left size=1>
38
+
39
+ <![endif]></span></span></p>
40
+
41
+ </div>
42
+
43
+ <div style='mso-element:endnote-separator' id=es>
44
+
45
+ <p class=MsoNormal><span lang=EN-US><span style='mso-special-character:footnote-separator'><![if !supportFootnotes]>
46
+
47
+ <hr align=left size=1 width="33%">
48
+
49
+ <![endif]></span></span></p>
50
+
51
+ </div>
52
+
53
+ <div style='mso-element:endnote-continuation-separator' id=ecs>
54
+
55
+ <p class=MsoNormal><span lang=EN-US><span style='mso-special-character:footnote-continuation-separator'><![if !supportFootnotes]>
56
+
57
+ <hr align=left size=1>
58
+
59
+ <![endif]></span></span></p>
60
+
61
+ </div>
62
+
63
+ <div style='mso-element:header' id=eh1>
64
+ </div>
65
+
66
+ <p class=MsoHeader style='margin-right:18.0pt'><span lang=EN-US><o:p>&nbsp;</o:p></span></p>
67
+
68
+ </div>
69
+
70
+ <div style='mso-element:header' id=eh1l>
71
+ </div>
72
+
73
+
74
+ <div style='mso-element:header' id=h1>
75
+ </div>
76
+
77
+ <div style='mso-element:header' id=h1l>
78
+ </div>
79
+
80
+ <div style='mso-element:footer' id=ef1>
81
+ <div style='mso-element:frame;mso-element-wrap:around;mso-element-anchor-vertical:
82
+ paragraph;mso-element-anchor-horizontal:margin;mso-element-left:right;
83
+ mso-element-top:.05pt;mso-height-rule:exactly'>
84
+ <table cellspacing=0 cellpadding=0 hspace=0 vspace=0 align=right>
85
+ <tr>
86
+ <td valign=top align=left style='padding-top:0cm;padding-right:0cm;
87
+ padding-bottom:0cm;padding-left:0cm'>
88
+ <p class=MsoFooter style='mso-element:frame;mso-element-wrap:around;
89
+ mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:margin;
90
+ mso-element-left:right;mso-element-top:.05pt;mso-height-rule:exactly'><!--[if supportFields]><span
91
+ class=MsoPageNumber><span lang=EN-US><span style='mso-element:field-begin'></span>PAGE<span
92
+ style='mso-spacerun:yes'>  </span></span></span><![endif]--><!--[if supportFields]><span
93
+ class=MsoPageNumber><span lang=EN-US><span style='mso-element:field-end'></span></span></span><![endif]--><span
94
+ class=MsoPageNumber><span lang=EN-US><o:p></o:p></span></span></p>
95
+ </td>
96
+ </tr>
97
+ </table>
98
+ </div>
99
+ <p class=MsoFooter style='margin-right:18.0pt'><span lang=EN-US><o:p>&nbsp;</o:p></span></p>
100
+ </div>
101
+
102
+ <div style='mso-element:footer' id=ef1l>
103
+ <div style='mso-element:frame;mso-element-wrap:around;mso-element-anchor-vertical:
104
+ paragraph;mso-element-anchor-horizontal:margin;mso-element-left:right;
105
+ mso-element-top:.05pt;mso-height-rule:exactly'>
106
+ <table cellspacing=0 cellpadding=0 hspace=0 vspace=0 align=right>
107
+ <tr>
108
+ <td valign=top align=left style='padding-top:0cm;padding-right:0cm;
109
+ padding-bottom:0cm;padding-left:0cm'>
110
+ <p class=MsoFooterLandscape style='mso-element:frame;mso-element-wrap:around;
111
+ mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:margin;
112
+ mso-element-left:right;mso-element-top:.05pt;mso-height-rule:exactly'><!--[if supportFields]><span
113
+ class=MsoPageNumber><span lang=EN-US><span style='mso-element:field-begin'></span>PAGE<span
114
+ style='mso-spacerun:yes'>  </span></span></span><![endif]--><!--[if supportFields]><span
115
+ class=MsoPageNumber><span lang=EN-US><span style='mso-element:field-end'></span></span></span><![endif]--><span
116
+ class=MsoPageNumber><span lang=EN-US><o:p></o:p></span></span></p>
117
+ </td>
118
+ </tr>
119
+ </table>
120
+ </div>
121
+ <p class=MsoFooterLandscape style='margin-right:18.0pt'><span lang=EN-US><o:p>&nbsp;</o:p></span></p>
122
+ </div>
123
+
124
+ <div style='mso-element:footer' id=f1>
125
+ <div style='mso-element:frame;mso-element-wrap:around;mso-element-anchor-vertical:
126
+ paragraph;mso-element-anchor-horizontal:margin;mso-element-left:right;
127
+ mso-element-top:.05pt;mso-height-rule:exactly'>
128
+ <table cellspacing=0 cellpadding=0 hspace=0 vspace=0 align=right>
129
+ <tr>
130
+ <td valign=top align=left style='padding-top:0cm;padding-right:0cm;
131
+ padding-bottom:0cm;padding-left:0cm'>
132
+ <p class=MsoHeader style='mso-element:frame;mso-element-wrap:around;
133
+ mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:margin;
134
+ mso-element-left:right;mso-element-top:.05pt;mso-height-rule:exactly'><!--[if supportFields]><span
135
+ class=MsoPageNumber><span lang=EN-US style='font-family:"Garamond",serif'><span
136
+ style='mso-element:field-begin'></span>PAGE<span style='mso-spacerun:yes'> 
137
+ </span><span style='mso-element:field-separator'></span></span></span><![endif]--><span
138
+ class=MsoPageNumber><span lang=EN-US style='font-family:"Garamond",serif'>1</span></span><!--[if supportFields]><span
139
+ class=MsoPageNumber><span lang=EN-US style='font-family:"Garamond",serif'><span
140
+ style='mso-element:field-end'></span></span></span><![endif]--><span
141
+ class=MsoPageNumber><span lang=EN-US style='font-family:"Garamond",serif'><o:p></o:p></span></span></p>
142
+ </td>
143
+ </tr>
144
+ </table>
145
+ </div>
146
+ <p class=MsoFooter><b style='mso-bidi-font-weight:normal'><span lang=EN-US
147
+ style='font-size:8.0pt;font-family:"Garamond",serif;mso-bidi-font-family:Arial'>{{doctitle}}<span style='mso-tab-count:2'>                                                                                                                                                                         </span><o:p></o:p></span></b></p>
148
+ <p class=MsoFooter style='margin-right:18.0pt;tab-stops:center 181.5pt right 432.0pt'><span
149
+ lang=EN-US style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:Arial;
150
+ background:#E0E0E0'><o:p>&nbsp;</o:p></span></p>
151
+ </div>
152
+
153
+ <div style='mso-element:footer' id=f1l>
154
+ <div style='mso-element:frame;mso-element-wrap:around;mso-element-anchor-vertical:
155
+ paragraph;mso-element-anchor-horizontal:margin;mso-element-left:right;
156
+ mso-element-top:.05pt;mso-height-rule:exactly'>
157
+ <table cellspacing=0 cellpadding=0 hspace=0 vspace=0 align=right>
158
+ <tr>
159
+ <td valign=top align=left style='padding-top:0cm;padding-right:0cm;
160
+ padding-bottom:0cm;padding-left:0cm'>
161
+ <p class=MsoHeaderLandscape style='mso-element:frame;mso-element-wrap:around;
162
+ mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:margin;
163
+ mso-element-left:right;mso-element-top:.05pt;mso-height-rule:exactly'><!--[if supportFields]><span
164
+ class=MsoPageNumber><span lang=EN-US style='font-family:"Garamond",serif'><span
165
+ style='mso-element:field-begin'></span>PAGE<span style='mso-spacerun:yes'> 
166
+ </span><span style='mso-element:field-separator'></span></span></span><![endif]--><span
167
+ class=MsoPageNumber><span lang=EN-US style='font-family:"Garamond",serif'>1</span></span><!--[if supportFields]><span
168
+ class=MsoPageNumber><span lang=EN-US style='font-family:"Garamond",serif'><span
169
+ style='mso-element:field-end'></span></span></span><![endif]--><span
170
+ class=MsoPageNumber><span lang=EN-US style='font-family:"Garamond",serif'><o:p></o:p></span></span></p>
171
+ </td>
172
+ </tr>
173
+ </table>
174
+ </div>
175
+ <p class=MsoFooterLandscape><b style='mso-bidi-font-weight:normal'><span lang=EN-US
176
+ style='font-size:8.0pt;font-family:"Garamond",serif;mso-bidi-font-family:Arial'>{{doctitle}}<span style='mso-tab-count:2'>                                                                                                                                                                         </span><o:p></o:p></span></b></p>
177
+ <p class=MsoFooterLandscape style='margin-right:18.0pt;tab-stops:center 181.5pt right 432.0pt'><span
178
+ lang=EN-US style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:Arial;
179
+ background:#E0E0E0'><o:p>&nbsp;</o:p></span></p>
180
+ </div>
181
+
182
+ <div style='mso-element:header' id=fh1>
183
+ <p class=MsoHeader><img width="323" height="39" src="{{ logo_word }}"></img>
184
+ <!--[if gte vml 1]><v:line id="_x0000_s2049" alt=""
185
+ style='position:absolute;flip:y;z-index:251659264;mso-wrap-style:none;
186
+ mso-wrap-edited:f;mso-width-percent:0;mso-height-percent:0;
187
+ mso-width-percent:0;mso-height-percent:0;v-text-anchor:middle' from="0,39.6pt"
188
+ to="500.4pt,39.6pt" strokecolor="#ff0c00">
189
+ <v:shadow color="#969696"/>
190
+ </v:line><![endif]--></span></b></p>
191
+ </div>
192
+
193
+ <div style='mso-element:header' id=fh1l>
194
+ <p class=MsoHeaderLandscape><img width="323" height="39" src="{{ logo_word }}"></img>
195
+ <!--[if gte vml 1]><v:line id="_x0000_s2049" alt=""
196
+ style='position:absolute;flip:y;z-index:251659264;mso-wrap-style:none;
197
+ mso-wrap-edited:f;mso-width-percent:0;mso-height-percent:0;
198
+ mso-width-percent:0;mso-height-percent:0;v-text-anchor:middle' from="0,39.6pt"
199
+ to="500.4pt,39.6pt" strokecolor="#ff0c00">
200
+ <v:shadow color="#969696"/>
201
+ </v:line><![endif]--></span></b></p>
202
+ </div>
203
+
204
+ <div style='mso-element:footer' id=ff1>
205
+ <p class=MsoFooter><b style='mso-bidi-font-weight:normal'><span lang=EN-US
206
+ style='font-size:8.0pt;mso-bidi-font-family:Arial'><span style='mso-tab-count:
207
+ 1'>                                                                                                </span></span></b><span
208
+ lang=EN-US style='mso-no-proof:yes'><!--[if gte vml 1]><v:line id="_x0000_s2049"
209
+ style='position:absolute;flip:y;z-index:251660288;visibility:visible;
210
+ mso-wrap-style:square;mso-width-percent:0;mso-height-percent:0;
211
+ mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;mso-wrap-distance-right:9pt;
212
+ mso-wrap-distance-bottom:0;mso-position-horizontal:absolute;
213
+ mso-position-horizontal-relative:text;mso-position-vertical:absolute;
214
+ mso-position-vertical-relative:text;mso-width-percent:0;mso-height-percent:0;
215
+ mso-width-relative:page;mso-height-relative:page' from="0,0" to="500.4pt,0"
216
+ strokecolor="#ff0c00">
217
+ <v:shadow color="#969696"/>
218
+ </v:line><![endif]--></span><b style='mso-bidi-font-weight:normal'><span
219
+ lang=EN-US style='font-family:"Arial",sans-serif;mso-hansi-font-family:Garamond;
220
+ mso-bidi-font-family:"Times New Roman";color:#33A9CC'>M<sup>3</sup>AAWG</span></b><b
221
+ style='mso-bidi-font-weight:normal'><span lang=EN-US style='font-size:8.0pt;
222
+ mso-bidi-font-family:Arial'><o:p></o:p></span></b></p>
223
+
224
+ <p class=MsoFooter><span lang=EN-US style='font-size:8.0pt;mso-bidi-font-family:
225
+ Arial'><span style='mso-tab-count:1'>                                                </span></span><span
226
+ lang=EN-US style='font-size:9.0pt;mso-bidi-font-size:11.0pt;font-family:"Arial",sans-serif;
227
+ mso-hansi-font-family:Garamond;mso-bidi-font-family:"Times New Roman"'>Messaging,
228
+ Malware and Mobile Anti-Abuse Working Group</span><span lang=EN-US
229
+ style='font-size:8.0pt;mso-bidi-font-family:Arial'><o:p></o:p></span></p>
230
+
231
+ <p class=MsoFooter><span lang=EN-US style='font-size:8.0pt;mso-bidi-font-family:
232
+ Arial'><span style='mso-tab-count:1'>                </span></span><span
233
+ lang=EN-US style='font-size:9.0pt;mso-bidi-font-size:11.0pt;font-family:"Arial",sans-serif;
234
+ mso-bidi-font-family:"Times New Roman"'>P.O. Box 29920 </span><span lang=EN-US
235
+ style='font-size:8.0pt;mso-bidi-font-size:11.0pt;font-family:Wingdings;
236
+ color:#33A9CC'>n</span><span lang=EN-US style='font-size:8.0pt;mso-bidi-font-size:
237
+ 11.0pt;font-family:"Times New Roman",serif;color:#33A9CC'> </span><span
238
+ lang=EN-US style='font-size:9.0pt;mso-bidi-font-size:11.0pt;font-family:"Arial",sans-serif;
239
+ mso-bidi-font-family:"Times New Roman"'>San Francisco, CA 94129-0920 </span><span
240
+ lang=EN-US style='font-size:8.0pt;mso-bidi-font-size:11.0pt;font-family:Wingdings;
241
+ color:#33A9CC'>n</span><span lang=EN-US style='font-size:8.0pt;mso-bidi-font-size:
242
+ 11.0pt;font-family:"Times New Roman",serif;color:blue'> </span><u
243
+ style='text-underline:blue'><span lang=EN-US style='font-size:9.0pt;mso-bidi-font-size:
244
+ 11.0pt;font-family:"Arial",sans-serif;mso-bidi-font-family:"Times New Roman";
245
+ color:blue'><a href="http://www.M3AAWG.org/">www.M3AAWG.org<u style='text-underline:
246
+ #000000'><span style='text-underline:#000000;text-decoration:none;text-underline:
247
+ none'> </span></u></a></span></u><span lang=EN-US style='font-size:8.0pt;
248
+ mso-bidi-font-size:11.0pt;font-family:Wingdings;color:#33A9CC'>n</span><span
249
+ lang=EN-US style='font-size:8.0pt;mso-bidi-font-size:11.0pt;font-family:"Times New Roman",serif;
250
+ color:blue'><a href="mailto:info@M3AAWG.org"><span style='text-decoration:none;
251
+ text-underline:none'> </span><span style='font-family:"Arial",sans-serif;
252
+ mso-bidi-font-family:"Times New Roman"'>info@M3AAWG.org</span></a></span><span
253
+ lang=EN-US style='font-size:8.0pt;mso-bidi-font-family:Arial'><o:p></o:p></span></p>
254
+
255
+ </div>
256
+
257
+ <p class=MsoFooter><b style='mso-bidi-font-weight:normal'><span lang=EN-US
258
+ style='font-size:8.0pt;font-family:"Garamond",serif;mso-bidi-font-family:Arial'>{{doctitle}}<span style='mso-tab-count:2'>                                                                                                                                                                         </span><o:p></o:p></span></b></p>
259
+
260
+ </div>
261
+
262
+ <div style='mso-element:footer' id=ff1l>
263
+ <p class=MsoFooterLandscape><b style='mso-bidi-font-weight:normal'><span lang=EN-US
264
+ style='font-size:8.0pt;mso-bidi-font-family:Arial'><span style='mso-tab-count:
265
+ 1'>                                                                                                </span></span></b><span
266
+ lang=EN-US style='mso-no-proof:yes'><!--[if gte vml 1]><v:line id="_x0000_s2049"
267
+ style='position:absolute;flip:y;z-index:251660288;visibility:visible;
268
+ mso-wrap-style:square;mso-width-percent:0;mso-height-percent:0;
269
+ mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;mso-wrap-distance-right:9pt;
270
+ mso-wrap-distance-bottom:0;mso-position-horizontal:absolute;
271
+ mso-position-horizontal-relative:text;mso-position-vertical:absolute;
272
+ mso-position-vertical-relative:text;mso-width-percent:0;mso-height-percent:0;
273
+ mso-width-relative:page;mso-height-relative:page' from="0,0" to="500.4pt,0"
274
+ strokecolor="#ff0c00">
275
+ <v:shadow color="#969696"/>
276
+ </v:line><![endif]--></span><b style='mso-bidi-font-weight:normal'><span
277
+ lang=EN-US style='font-family:"Arial",sans-serif;mso-hansi-font-family:Garamond;
278
+ mso-bidi-font-family:"Times New Roman";color:#33A9CC'>M<sup>3</sup>AAWG</span></b><b
279
+ style='mso-bidi-font-weight:normal'><span lang=EN-US style='font-size:8.0pt;
280
+ mso-bidi-font-family:Arial'><o:p></o:p></span></b></p>
281
+
282
+ <p class=MsoFooterLandscape><span lang=EN-US style='font-size:8.0pt;mso-bidi-font-family:
283
+ Arial'><span style='mso-tab-count:1'>                                                </span></span><span
284
+ lang=EN-US style='font-size:9.0pt;mso-bidi-font-size:11.0pt;font-family:"Arial",sans-serif;
285
+ mso-hansi-font-family:Garamond;mso-bidi-font-family:"Times New Roman"'>Messaging,
286
+ Malware and Mobile Anti-Abuse Working Group</span><span lang=EN-US
287
+ style='font-size:8.0pt;mso-bidi-font-family:Arial'><o:p></o:p></span></p>
288
+
289
+ <p class=MsoFooterLandscape><span lang=EN-US style='font-size:8.0pt;mso-bidi-font-family:
290
+ Arial'><span style='mso-tab-count:1'>                </span></span><span
291
+ lang=EN-US style='font-size:9.0pt;mso-bidi-font-size:11.0pt;font-family:"Arial",sans-serif;
292
+ mso-bidi-font-family:"Times New Roman"'>P.O. Box 29920 </span><span lang=EN-US
293
+ style='font-size:8.0pt;mso-bidi-font-size:11.0pt;font-family:Wingdings;
294
+ color:#33A9CC'>n</span><span lang=EN-US style='font-size:8.0pt;mso-bidi-font-size:
295
+ 11.0pt;font-family:"Times New Roman",serif;color:#33A9CC'> </span><span
296
+ lang=EN-US style='font-size:9.0pt;mso-bidi-font-size:11.0pt;font-family:"Arial",sans-serif;
297
+ mso-bidi-font-family:"Times New Roman"'>San Francisco, CA 94129-0920 </span><span
298
+ lang=EN-US style='font-size:8.0pt;mso-bidi-font-size:11.0pt;font-family:Wingdings;
299
+ color:#33A9CC'>n</span><span lang=EN-US style='font-size:8.0pt;mso-bidi-font-size:
300
+ 11.0pt;font-family:"Times New Roman",serif;color:blue'> </span><u
301
+ style='text-underline:blue'><span lang=EN-US style='font-size:9.0pt;mso-bidi-font-size:
302
+ 11.0pt;font-family:"Arial",sans-serif;mso-bidi-font-family:"Times New Roman";
303
+ color:blue'><a href="http://www.M3AAWG.org/">www.M3AAWG.org<u style='text-underline:
304
+ #000000'><span style='text-underline:#000000;text-decoration:none;text-underline:
305
+ none'> </span></u></a></span></u><span lang=EN-US style='font-size:8.0pt;
306
+ mso-bidi-font-size:11.0pt;font-family:Wingdings;color:#33A9CC'>n</span><span
307
+ lang=EN-US style='font-size:8.0pt;mso-bidi-font-size:11.0pt;font-family:"Times New Roman",serif;
308
+ color:blue'><a href="mailto:info@M3AAWG.org"><span style='text-decoration:none;
309
+ text-underline:none'> </span><span style='font-family:"Arial",sans-serif;
310
+ mso-bidi-font-family:"Times New Roman"'>info@M3AAWG.org</span></a></span><span
311
+ lang=EN-US style='font-size:8.0pt;mso-bidi-font-family:Arial'><o:p></o:p></span></p>
312
+
313
+ </div>
314
+
315
+ <p class=MsoFooterLandscape><b style='mso-bidi-font-weight:normal'><span lang=EN-US
316
+ style='font-size:8.0pt;font-family:"Garamond",serif;mso-bidi-font-family:Arial'>{{doctitle}}<span style='mso-tab-count:2'>                                                                                                                                                                         </span><o:p></o:p></span></b></p>
317
+
318
+ </div>
319
+
320
+ <div style='mso-element:footer' id=f2>
321
+
322
+ <p class=MsoFooter>As with all M3AAWG documents that we publish, please check the M3AAWG website (<a href="http://www.m3aawg.org">www.m3aawg.org</a>) for updates to this paper.</p>
323
+ <p class=MsoFooter>&copy; {{docyear}} copyright by the Messaging, Malware and Mobile Anti-Abuse Working Group (M3AAWG)</p>
324
+ </div>
325
+
326
+ </body>
327
+
328
+ </html>