[
  {
    "path": ".gitattributes",
    "content": "templates/**/*.xml filter=xml-c14n\ntemplates/**/*.rels filter=xml-c14n\n"
  },
  {
    "path": ".gitignore",
    "content": "*.gem\n*.rbc\n.bundle\n.config\n.yardoc\nGemfile.lock\nInstalledFiles\n_yardoc\ncoverage\ndoc/\nlib/bundler/man\npkg\nrdoc\nspec/reports\ntest/tmp\ntest/version_tmp\n.idea/*\n"
  },
  {
    "path": "CHANGELOG.txt",
    "content": "CHANGELOG\nVersion 0.6.0\n* Improve support for inline elements\n* Add basic support for section and article elements\n\nVersion 0.5.1\n* Bugfix on ActionController::Renderers formats\n\nVersion 0.5\n* Better handling of external links\n* Better handling of inline elements\n* Better support for complex lists\n\nVersion 0.4.4\n* Update default template to remove language\n* Bug fixes on lists and tables having br elements\n* Bug fixes on lists having inline elements and div or p tags\n* Bug fix on corrupted docx files generated in Windows\n* Add basic support to 'pre' tag\n\nVersion 0.4.3\n* Add method that generates and saves the document to a file in a specific file path\n\nVersion 0.4.2\n* Fix broken default template\n* List support\n* Support table cells bordering in the base xslt\n* br tag support\n\nVersion 0.4.1\n* Include forgotten templates and xslt\n\nVersion 0.4\n* Do not render output to file, but rather to a buffer.\n  This means that apps using the gem no longer needs write permissions on a filesystem.\n* Support of table borders using the extra xslt\n* Support of basic lists using the extra xslt\n* Use of blockquotes as a replacement for spacing usint the extra xslt\n* Add a command line interface\n* Fixes on default template metadata\n\n\nVersion 0.2\n* Relocation of templates and xslt files\n* Enable gem configuration to set the location of default and custom word templates and xslt.\n* Allow the Htmltoword::Document.create to receive custom templates\n* Add .docx as a renderer when used with rails.\n\nVersion 0.1.8\n* Better alignment of text within a paragraph, div or table cell if it has a 'center', 'left', 'right', 'justify' class or by using the text-align property.\n* Support for table-bordered class on tables\n* Support for bold and italic text on table cells\n* Support for h1..h6 on table cells\n* Support for nested tables\n* Bugfix: thead without tr tag\n* Bugfix: nested bold and italic on paragraphs or div\n* Bugfix: allow <td><div>Some content <em>inside</em> a <strong>div</strong></div></td> syntax\n* Bugfix: Headings in body tag are now correctly parsed\n\nVersion 0.1.7\n* Allow centering of text within a paragraph if the paragraph has a 'center' class, e.g. <p class='center'>\n\nVersion 0.1.6:\n* Add tables support for borders and headers\n\nVersion 0.1.5:\n* Bugfix: h5 & h6 also create w:p's so any wrapping divs dont need to.\n\nVersion 0.1.4:\n* Details tag doesnt really work well for printing. By default its closed and not visible until you click on the summary so for now lets ignore it in the print out.\n\nVersion 0.1.3:\n* Bugfix: Leaf i and b nodes with w:p creating siblings need to create their own w:p's.\n\nVersion 0.1.2:\n* Bugfix: span.h (MS Word Highlights) with sibling block elements could result in invalid wordml.\n\nVersion 0.1.1:\n* Nodes with neighbor nodes that create w:p's need to be wrapped in w:p themselves.\n* Fixed test suite.\n\nVersion 0.1.0:\n* Rewrote xslt to support tables and updated rubyzip to v1.\n\nVersion 0.0.1:\n* First basic implementation of htmltoword released.\n"
  },
  {
    "path": "Gemfile",
    "content": "source 'https://rubygems.org'\n\n# Specify your gem's dependencies in htmltoword.gemspec\ngemspec\n"
  },
  {
    "path": "LICENSE.txt",
    "content": "Copyright (c) 2013 Nicholas Frandsen\n\nMIT License\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# Ruby Html to word Gem \n\nThis simple gem allows you to create MS Word docx documents from simple html documents. This makes it easy to create dynamic reports and forms that can be downloaded by your users as simple MS Word docx files.\n\nAdd this line to your application's Gemfile:\n\n    gem 'htmltoword'\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install htmltoword\n\n\n**Note:** Since version 0.4.0 the ```create``` method will return a string with the contents of the file. If you want to save the file please use ```create_and_save```. See the usage for more\n\n### Security warnings\nIn versions `0.7.0` and `1.0.0` we introduced a security vulnerability when allowing\nthe use of local images since no check to the files was done, potentially exposing \nsensitive files in the output zipfile.\n\nVersion `1.1.0` doesn't allow the use of local images but uses an insecure `open`\n\n## Usage\n\n### Standalone\n\nBy default, the file will be saved at the specified location. In case you want to handle the contents of the file\nas a string and do what suits you best, you can specify that when calling the create function.\n\nUsing the default word file as template\n```ruby\nrequire 'htmltoword'\n\nmy_html = '<html><head></head><body><p>Hello</p></body></html>'\ndocument = Htmltoword::Document.create(my_html)\nfile = Htmltoword::Document.create_and_save(my_html, file_path)\n```\n\nUsing your custom word file as a template, where you can setup your own style for normal text, h1,h2, etc.\n```ruby\nrequire 'htmltoword'\n\n# Configure the location of your custom templates\nHtmltoword.config.custom_templates_path = 'some_path'\n\nmy_html = '<html><head></head><body><p>Hello</p></body></html>'\ndocument = Htmltoword::Document.create(my_html, word_template_file_name)\nfile = Htmltoword::Document.create_and_save(my_html, file_path, word_template_file_name)\n```\n\nThe ```create``` function will return a string with the file, so you can do with it what you consider best.\nThe ```create_and_save``` function will create the file in the specified file_path.\n\n### With Rails\n**For htmltoword version >= 0.2**\nAn action controller renderer has been defined, so there's no need to declare the mime-type and you can just respond to .docx format. It will look then for views with the extension ```.docx.erb``` which will provide the HTML that will be rendered in the Word file.\n\n```ruby\n# On your controller.\nrespond_to :docx\n\n# filename and word_template are optional. By default it will name the file as your action and use the default template provided by the gem. The use of the .docx in the filename and word_template is optional.\ndef my_action\n  # ...\n  respond_with(@object, filename: 'my_file.docx', word_template: 'my_template.docx')\n  # Alternatively, if you don't want to create the .docx.erb template you could\n  respond_with(@object, content: '<html><head></head><body><p>Hello</p></body></html>', filename: 'my_file.docx')\nend\n\ndef my_action2\n  # ...\n  respond_to do |format|\n    format.docx do\n      render docx: 'my_view', filename: 'my_file.docx'\n      # Alternatively, if you don't want to create the .docx.erb template you could\n      render docx: 'my_file.docx', content: '<html><head></head><body><p>Hello</p></body></html>'\n    end\n  end\nend\n```\n\nExample of my_view.docx.erb\n```\n<h1> My custom template </h1>\n<%= render partial: 'my_partial', collection: @objects, as: :item %>\n```\nExample of _my_partial.docx.erb\n```\n<h3><%= item.title %></h3>\n<p> My html for item <%= item.id %> goes here </p>\n```\n\n**For htmltoword version <= 0.1.8**\n```ruby\n# Add mime-type in /config/initializers/mime_types.rb:\nMime::Type.register \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\", :docx\n\n# Add docx responder in your controller\ndef show\n  respond_to do |format|\n    format.docx do\n      file = Htmltoword::Document.create params[:docx_html_source], \"file_name.docx\"\n      send_file file.path, :disposition => \"attachment\"\n    end\n  end\nend\n```\n\n```javascript\n  // OPTIONAL: Use a jquery click handler to store the markup in a hidden form field before the form is submitted.\n  // Using this strategy makes it easy to allow users to dynamically edit the document that will be turned\n  // into a docx file, for example by toggling sections of a document.\n  $('#download-as-docx').on('click', function () {\n    $('input[name=\"docx_html_source\"]').val('<!DOCTYPE html>\\n' + $('.delivery').html());\n  });\n```\n\n### Configure templates and xslt paths\n\nFrom version 2.0 you can configure the location of default and custom templates and xslt files. By default templates are defined under ```lib/htmltoword/templates``` and xslt under ```lib/htmltoword/xslt```\n\n```ruby\nHtmltoword.configure do |config|\n  config.custom_templates_path = 'path_for_custom_templates'\n  # If you modify this path, there should be a 'default.docx' file in there\n  config.default_templates_path = 'path_for_default_template'\n  # If you modify this path, there should be a 'html_to_wordml.xslt' file in there\n  config.default_xslt_path = 'some_path'\n  # The use of additional custom xslt will come soon\n  config.custom_xslt_path = 'some_path'\nend\n```\n\n## Features\n\nAll standard html elements are supported and will create the closest equivalent in wordml. For example spans will create inline elements and divs will create block like elements.\n\n### Highlighting text\n\nYou can add highlighting to text by wrapping it in a span with class h and adding a data style with a color that wordml supports (http://www.schemacentral.com/sc/ooxml/t-w_ST_HighlightColor.html) ie:\n\n```html\n<span class=\"h\" data-style=\"green\">This text will have a green highlight</span>\n```\n\n### Page breaks\n\nTo create page breaks simply add a div with class -page-break ie:\n\n```html\n<div class=\"-page-break\"></div>\n````\n\n### Images\nSupport for images is very basic and is only possible for external images(i.e accessed via URL). If the image doesn't \nhave correctly defined it's width and height it won't be included in the document\n\n**Limitations:**\n- Images are external i.e. pictures accessed via URL, not stored within document\n- only sizing is customisable\n\nExamples:\n```html\n<img src=\"http://placehold.it/250x100.png\" style=\"width: 250px; height: 100px\">\n<img src=\"http://placehold.it/250x100.png\" data-width=\"250px\" data-height=\"100px\">\n<img src=\"http://placehold.it/250x100.png\" data-height=\"150px\" style=\"width:250px; height:100px\">\n```\n\n## Contributing / Extending\n\nWord docx files are essentially just a zipped collection of xml files and resources.\nThis gem contains a standard empty MS Word docx file and a stylesheet to transform arbitrary html into wordml.\nThe basic functioning of this gem can be summarised as:\n\n1. Transform inputed html to wordml.\n2. Unzip empty word docx file bundled with gem and replace its document.xml content with the new transformed result of step 1.\n3. Zip up contents again into a resulting .docx file.\n\nFor more info about WordML: http://rep.oio.dk/microsoft.com/officeschemas/wordprocessingml_article.htm\n\nContributions would be very much appreciated.\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n\n## License\n\n(The MIT License)\n\nCopyright © 2013:\n\n* Cristina Matonte\n\n* Nicholas Frandsen\n"
  },
  {
    "path": "Rakefile",
    "content": "require \"bundler/gem_tasks\"\nrequire 'rspec/core/rake_task'\ntask :default => :spec\nRSpec::Core::RakeTask.new\n"
  },
  {
    "path": "bin/htmltoword",
    "content": "#!/usr/bin/env ruby\nrequire 'methadone'\nrequire 'rmultimarkdown'\nrequire_relative '../lib/htmltoword'\n\ninclude Methadone::Main\ninclude Methadone::CLILogging\n\nmain do |input, output|\n  puts \"Converting #{input} to #{output}\" if options[:verbose]\n  markup = File.read input\n  if options[:format] == 'markdown'\n    markup = markdown2html(markup)\n  end\n  Htmltoword::Document.create_and_save(markup, output, options[:template_name], options[:extras])\n  puts \"Done\" if options[:verbose]\nend\n\ndef markdown2html(text)\n  MultiMarkdown.new(text.to_s).to_html\nend\n\nversion Htmltoword::VERSION\ndescription 'Convert simple html input (or markdown) to MS Word (docx)'\narg :input, :required\narg :output, :required\n\non('--verbose', '-v', 'Be verbose')\non('--extras', '-e', 'Use extra formatting features')\non('--template', '-t', 'Use custom word base template (.docx file)')\non('-f FORMAT', '--format', 'Format', /markdown|html/)\n\n# options['ip-address'] = '127.0.0.1'\n# on('-i IP_ADDRESS', '--ip-address', 'IP Address', /^\\d+\\.\\d+\\.\\d+\\.\\d+$/)\n\ngo!\n"
  },
  {
    "path": "docs/styles.md",
    "content": "Courtesy of @fran-worley\n\nThis list is not comprehensive or tested, but I have looked through the source code, and readme and come up with the following:\n\n## Page formatting options:\n\nCheck out: https://github.com/karnov/htmltoword/blob/master/lib/htmltoword/xslt/base.xslt \n\n### Page Break (included in readme)\n\n    <div class=\"-page-break\"></div>\n\nReturns a page break\n\n### Highlighting (included in readme)\n\n    <span class=\"h\" data-style=\"chosen-color\">Highlighted Text Here</span>\n\nWill highlight text\n\nAs per: http://www.schemacentral.com/sc/ooxml/t-w_ST_HighlightColor.html these are your color choices\n\nValid value | Description\n-------------- | ----------------\nblack | Black Highlighting Color\nblue | Blue Highlighting Color\ncyan | Cyan Highlighting Color\ngreen | Green Highlighting Color\nmagenta | Magenta Highlighting Color\nred | Red Highlighting Color\nyellow | Yellow Highlighting Color\nwhite | White Highlighting Color\ndarkBlue | Dark Blue Highlighting Color\ndarkCyan | Dark Cyan Highlighting Color\ndarkGreen | Dark Green Highlighting Color\ndarkMagenta | Dark Magenta Highlighting Color\ndarkRed | Dark Red Highlighting Color\ndarkYellow | Dark Yellow Highlighting Color\ndarkGray | Dark Gray Highlighting Color\nlightGray | Light Gray Highlighting Color\nnone | No Text Highlighting\n\n### Text Align (not in readme)\n\nIt looks like adding the following classes will align text in your word document appropriately.\n\n* left\n* right\n* center\n* justify\n\n### HTML tags\nThere is also support for the following HTML tags:\n* div\n* p\n* ul/ol, li\n* b/strong\n* i/em\n* u\n* br\n* pre\n* h1...h6 \n\n#### Images\nIt appears that at this time images are not supported see #27 \n\n#### External links\nIt appears that this isn't supported either yet, though there is an open pull request to add the functionality see #30 \n\n### Table formatting options\nAs per this: https://github.com/karnov/htmltoword/blob/master/lib/htmltoword/xslt/tables.xslt\n\nThere is basic support for tables. \n\nYou can use the following HTML tags:\n* thead\n* tbody\n* tr\n* th\n* td\n* h1...h6\n\nAnd the following classes:\n* Text alignment: (as above)\n* Table borders: 'table-bordered' (Not configurable, the default is a black, single line border with a weight of 6)\n* Cell borders: 'ms-border-[location]-[value]-[color - default is 000000]-[size - default is 1]'\n* Cell fill: 'ms-fill-[color]'\n\nThe following are documented here: http://officeopenxml.com/WPtableCellProperties-Borders.php I do not know exactly how much of these options work in the gem, but it should at least point you in the right direction\n\n#### [location]\nSpecifies where to apply the border (see Elements table in officeopenxml docs above)\n\nElement | Description\n---------- | ---------------\ntop | Specifies the border displayed at the top of the cell. \nbottom  | Specifies the border displayed at the bottom of a cell.\nstart | Specifies the border displayed on the leading edge of the cell (left for left-to-right tables and right for right-to-left tables). *Note:* In the previous version of the standard, this element was *left*.\nend | Specifies the border displayed on the trailing edge of the cell (right for left-to-right tables and left for right-to-left tables). *Note:* In the previous version of the standard, this element was *right*.\ninsideH | Specifies the border to be displayed on all interior horizontal edges of the cell. Note that this is mostly useless in the case of individual cells, as there is no concept of interior edge for individual cells. However, it is used to determine cell borders to apply to a specific group of cells as part of table conditional formatting in a table style, e.g., the inside edges on the set of cells in the first column. \ninsideV | Specifies the border to be displayed on all interior vertical edges of the cell. Note that this is mostly useless in the case of individual cells, as there is no concept of interior edge for individual cells. However, it is used to determine cell borders to apply to a specific group of cells as part of table conditional formatting in a table style, e.g., the inside edges on the set of cells in the first column.\ntl2br | Specifies the border to be displayed on the top left side to bottom right diagonal within the cell. \ntr2bl | Specifies the border to be displayed on the top right to bottom left diagonal within the cell.\n\n#### [value] \n\nSpecifies the style of the border. Possible values a per open XML docs are:\n\nValue | Description \n-------- | ---------------\nsingle | a single line\ndashDotStroked | a line with a series of alternating thin and thick strokes\ndashed | a dashed line\ndashSmallGap | a dashed line with small gaps\ndotDash | a line with alternating dots and dashes\ndotDotDash | a line with a repeating dot - dot - dash sequence\ndotted | a dotted line\ndouble | a double line\ndoubleWave | a double wavy line\ninset | an inset set of lines\nnil | no border\nnone | no border\noutset | an outset set of lines\nthick | a single line\nthickThinLargeGap | a thick line contained within a thin line with a large-sized intermediate gap\nthickThinMediumGap | a thick line contained within a thin line with a medium-sized intermediate gap\nthickThinSmallGap | a thick line contained within a thin line with a small intermediate gap\nthinThickLargeGap | a thin line contained within a thick line with a large-sized intermediate gap\nthinThickMediumGap | a thick line contained within a thin line with a medium-sized intermediate gap\nthinThickSmallGap | a thick line contained within a thin line with a small intermediate gap\nthinThickThinLargeGap | a thin-thick-thin line with a large gap\nthinThickThinMediumGap | a thin-thick-thin line with a medium gap\nthinThickThinSmallGap | a thin-thick-thin line with a small gap\nthreeDEmboss | a three-staged gradient line, getting darker towards the paragraph\nthreeDEngrave | a three-staged gradient like, getting darker away from the paragraph\ntriple | a triple line\nwave | a wavy line\n\n#### [color] \nSpecifies the color of the border. Values are given as hex values (in RRGGBB format). No #, unlike hex values in HTML/CSS. E.g., color=\"FFFF00\". A value of auto is also permitted and will allow the consuming word processor to determine the color.\n\n#### [size]\nSpecifies the width of the border. \nThe gem seems to multiply whatever value you supply by 6. I nothing or 0 is entered then it uses 6.\n"
  },
  {
    "path": "docs/supported_elements.md",
    "content": "# Supported elements \n\n`<Work in progress>`\n\n## Unsupported elements\n\nThe following elements are explicitly not supported (they will be removed, before doing any transformation)\n\n- applet\n- area\n- audio\n- base\n- basefont\n- canvas\n- command\n- details/summary\n- font\n- iframe\n- img\n- isindex\n- map\n- noframes\n- noscript\n- object\n- param\n- script\n- source\n- style\n- video\n\nAll form related elements (form, fieldset, input, label, etc.) hasn't been implemented nor deleted.\nThe outcome is unclear yet and it is highly probably that it will generate an invalid document.\n\nAll other elements not specified below \n\n## Supported elements/tags\n### Inline\n\n[a](#a),  \n[abbr](#abbr-acronym-bdo-bdi), \n[acronym](#abbr-acronym-bdo-bdi), \n[b](#b-strong), \n[bdi](#abbr-acronym-bdo-bdi), \n[bdo](#abbr-acronym-bdo-bdi), \n[big](#big-small), \n[cite](#cite-dfn-em-i),\n[code](#code-kbd-samp-tt-var),\n[del](#del-s-strike),\n[dfn](#cite-dfn-em-i),\n[em](#cite-dfn-em-i),\n[i](#cite-dfn-em-i),\n[ins](#ins-u)\n[kbd](#code-kbd-samp-tt-var),\n[mark](#mark),\n[q](#q),\n[s](#del-s-strike),\n[samp](#code-kbd-samp-tt-var),\n[small](#big-small),\n[span](#span),\n[strike](#del-s-strike),\n[strong](#b-strong),\n[sub](#sub-sup),\n[sup](#sub-sup)\n[tt](#code-kbd-samp-tt-var),\n[u](#ins-u),\n[var](#code-kbd-samp-tt-var)\n\n### Blocks\n[article](#div)\n[div](#div)\n[p](#p)\n[section](#div)\n[table](#table)\n[ul/ol](#lists)\n\n#### a\nLinks to anchors in the same document are displayed as normal text. \nLinks to references starting with `http://` or `https://` will be displayed and behave as links. \n\n#### abbr, acronym, bdo, bdi\nDisplayed as normal text\n\n#### b, strong\nDisplayed as normal text, styled bold\n\n#### big, small\nDisplayed as normal text. \nFuture implementation: Make the text bigger or smaller than the normal one.\n\n#### cite, dfn, em, i\nDisplayed as normal text, styled italic\n\n#### code, kbd, samp, tt, var\nDisplayed as normal text. \nFuture implementation: Assign a monospaced style, most likely using *Courier New* since it's one of the few monospaced fonts shipped with word\n\n#### del, s, strike\nDisplayed as normal text with Strikethrough effect.\n\n#### div\nDivs, sections and articles are displayed as paragraphs.\nOnly style supported at the moment is alignment. See the wiki on [styles](https://github.com/karnov/htmltoword/wiki/Styles-and-classes) for more\n\n#### ins, u\nDisplayed as normal text, using single underline style.\n\n#### lists\nLists support is very basic. . See the wiki on [styles](https://github.com/karnov/htmltoword/wiki/Styles-and-classes) for more\nTables inside lists are NOT supported\n\n#### mark\nDisplayed as normal text highlighted in yellow. See [span](#span) for more colors. \n\n#### q\nText within `<q>text</q>` will be wrapped with double quotes `\"text\"`\n\n#### span\nDisplayed as normal text. \nWhen using `class=\"h\" data-color=\"selected_color\"` The text will be highlighted in the color specified. See the wiki on [styles](https://github.com/karnov/htmltoword/wiki/Styles-and-classes) for a list of colors\n \n#### sub, sup\nDisplayed as normal text with subscript or superscript effect.\n\n#### p\nDisplayed as paragraphs.\nOnly style supported at the moment is alignment. See the wiki on [styles](https://github.com/karnov/htmltoword/wiki/Styles-and-classes) for more\n\n#### table\nBasic support for tables. See the wiki on [styles](https://github.com/karnov/htmltoword/wiki/Styles-and-classes) for more\n"
  },
  {
    "path": "htmltoword.gemspec",
    "content": "# coding: utf-8\nlib = File.expand_path('../lib', __FILE__)\n$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)\nrequire 'htmltoword/version'\n\nGem::Specification.new do |spec|\n  spec.name          = \"htmltoword\"\n  spec.version       = Htmltoword::VERSION\n  spec.authors       = [\"Nicholas Frandsen, Cristina Matonte\"]\n  spec.email         = [\"nick.rowe.frandsen@gmail.com, anitsirc1@gmail.com\"]\n  spec.description   = %q{Convert html to word docx document.}\n  spec.summary       = %q{This simple gem allows you to create MS Word docx documents from simple html documents. This makes it easy to create dynamic reports and forms that can be downloaded by your users as simple MS Word docx files.}\n  spec.homepage      = \"http://github.com/karnov/htmltoword\"\n  spec.license       = \"MIT\"\n\n  spec.files         = Dir.glob(\"lib/**/*.{rb,xslt,docx}\") + %w{ bin/htmltoword README.md Rakefile }\n  spec.executables   = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }\n  spec.require_paths = [\"lib\"]\n\n  spec.add_dependency \"actionpack\"\n  spec.add_dependency \"nokogiri\"\n  spec.add_dependency \"rubyzip\", \">= 1.0\"\n  spec.add_development_dependency \"rspec\"\n  spec.add_development_dependency \"bundler\"\n  spec.add_development_dependency \"rake\"\n  spec.add_development_dependency \"methadone\"\n  spec.add_development_dependency \"rmultimarkdown\"\nend\n"
  },
  {
    "path": "lib/htmltoword/configuration.rb",
    "content": "module Htmltoword\n  class Configuration\n    attr_accessor :default_templates_path, :custom_templates_path, :default_xslt_path, :custom_xslt_path\n\n    def initialize\n      @default_templates_path = File.join(File.expand_path('../', __FILE__), 'templates')\n      @custom_templates_path = File.join(File.expand_path('../', __FILE__), 'templates')\n      @default_xslt_path = File.join(File.expand_path('../', __FILE__), 'xslt')\n      @custom_xslt_path = File.join(File.expand_path('../', __FILE__), 'xslt')\n    end\n  end\nend\n"
  },
  {
    "path": "lib/htmltoword/document.rb",
    "content": "module Htmltoword\n  class Document\n    include XSLTHelper\n\n    class << self\n      include TemplatesHelper\n      def create(content, template_name = nil, extras = false)\n        template_name += extension if template_name && !template_name.end_with?(extension)\n        document = new(template_file(template_name))\n        document.replace_files(content, extras)\n        document.generate\n      end\n\n      def create_and_save(content, file_path, template_name = nil, extras = false)\n        File.open(file_path, 'wb') do |out|\n          out << create(content, template_name, extras)\n        end\n      end\n\n      def create_with_content(template, content, extras = false)\n        template += extension unless template.end_with?(extension)\n        document = new(template_file(template))\n        document.replace_files(content, extras)\n        document.generate\n      end\n\n      def extension\n        '.docx'\n      end\n\n      def doc_xml_file\n        'word/document.xml'\n      end\n\n      def numbering_xml_file\n        'word/numbering.xml'\n      end\n\n      def relations_xml_file\n        'word/_rels/document.xml.rels'\n      end\n\n      def content_types_xml_file\n        '[Content_Types].xml'\n      end\n    end\n\n    def initialize(template_path)\n      @replaceable_files = {}\n      @template_path = template_path\n      @image_files = []\n    end\n\n    #\n    # Generate a string representing the contents of a docx file.\n    #\n    def generate\n      Zip::File.open(@template_path) do |template_zip|\n        buffer = Zip::OutputStream.write_buffer do |out|\n          template_zip.each do |entry|\n            out.put_next_entry entry.name\n            if @replaceable_files[entry.name] && entry.name == Document.doc_xml_file\n              source = entry.get_input_stream.read\n              # Change only the body of document. TODO: Improve this...\n              source = source.sub(/(<w:body>)((.|\\n)*?)(<w:sectPr)/, \"\\\\1#{@replaceable_files[entry.name]}\\\\4\")\n              out.write(source)\n            elsif @replaceable_files[entry.name]\n              out.write(@replaceable_files[entry.name])\n            elsif entry.name == Document.content_types_xml_file\n              raw_file = entry.get_input_stream.read\n              content_types = @image_files.empty? ? raw_file : inject_image_content_types(raw_file)\n\n              out.write(content_types)\n            else\n              out.write(template_zip.read(entry.name))\n            end\n          end\n          unless @image_files.empty?\n          #stream the image files into the media folder using open-uri\n            @image_files.each do |hash|\n              out.put_next_entry(\"word/media/#{hash[:filename]}\")\n              URI.open(hash[:url], 'rb') do |f|\n                out.write(f.read)\n              end\n            end\n          end\n        end\n        buffer.string\n      end\n    end\n\n    def replace_files(html, extras = false)\n      html = '<body></body>' if html.nil? || html.empty?\n      original_source = Nokogiri::HTML(html.gsub(/>\\s+</, '><'))\n      source = xslt(stylesheet_name: 'cleanup').transform(original_source)\n      transform_and_replace(source, xslt_path('numbering'), Document.numbering_xml_file)\n      transform_and_replace(source, xslt_path('relations'), Document.relations_xml_file)\n      transform_doc_xml(source, extras)\n      local_images(source)\n    end\n\n    def transform_doc_xml(source, extras = false)\n      transformed_source = xslt(stylesheet_name: 'cleanup').transform(source)\n      transformed_source = xslt(stylesheet_name: 'inline_elements').transform(transformed_source)\n      transform_and_replace(transformed_source, document_xslt(extras), Document.doc_xml_file, extras)\n    end\n\n    private\n\n    def transform_and_replace(source, stylesheet_path, file, remove_ns = false)\n      stylesheet = xslt(stylesheet_path: stylesheet_path)\n      content = stylesheet.apply_to(source)\n      content.gsub!(/\\s*xmlns:(\\w+)=\"(.*?)\\s*\"/, '') if remove_ns\n      @replaceable_files[file] = content\n    end\n\n    #generates an array of hashes with filename and full url\n    #for all images to be embeded in the word document\n    def local_images(source)\n      source.css('img').each_with_index do |image,i|\n        filename = image['data-filename'] ? image['data-filename'] : image['src'].split(\"/\").last\n        ext = File.extname(filename).delete(\".\").downcase\n\n        @image_files << { filename: \"image#{i+1}.#{ext}\", url: image['src'], ext: ext }\n      end\n    end\n\n    #get extension from filename and clean to match content_types\n    def content_type_from_extension(ext)\n      ext == \"jpg\" ? \"jpeg\" : ext\n    end\n\n    #inject the required content_types into the [content_types].xml file...\n    def inject_image_content_types(source)\n      doc = Nokogiri::XML(source)\n\n      #get a list of all extensions currently in content_types file\n      existing_exts = doc.css(\"Default\").map { |node| node.attribute(\"Extension\").value }.compact\n\n      #get a list of extensions we need for our images\n      required_exts = @image_files.map{ |i| i[:ext] }\n\n      #workout which required extensions are missing from the content_types file\n      missing_exts = (required_exts - existing_exts).uniq\n\n      #inject missing extensions into document\n      missing_exts.each do |ext|\n        doc.at_css(\"Types\").add_child( \"<Default Extension='#{ext}' ContentType='image/#{content_type_from_extension(ext)}'/>\")\n      end\n\n      #return the amended source to be saved into the zip\n      doc.to_s\n    end\n  end\nend\n"
  },
  {
    "path": "lib/htmltoword/helpers/templates_helper.rb",
    "content": "module Htmltoword\n  module TemplatesHelper\n    def template_file(template_file_name = nil)\n      default_path = File.join(::Htmltoword.config.default_templates_path, 'default.docx')\n      template_path = template_file_name.nil? ? '' : File.join(::Htmltoword.config.custom_templates_path, template_file_name)\n      File.exist?(template_path) ? template_path : default_path\n    end\n  end\nend\n"
  },
  {
    "path": "lib/htmltoword/helpers/xslt_helper.rb",
    "content": "module Htmltoword\n  module XSLTHelper\n    def document_xslt(extras = false)\n      file_name = extras ? 'htmltoword' : 'base'\n      xslt_path(file_name)\n    end\n\n    def xslt_path(template_name)\n      File.join(Htmltoword.config.default_xslt_path, \"#{template_name}.xslt\")\n    end\n\n    def xslt(stylesheet_name: nil, stylesheet_path: nil)\n      return Nokogiri::XSLT(File.open(stylesheet_path)) if stylesheet_path\n      Nokogiri::XSLT(File.open(xslt_path(stylesheet_name)))\n    end\n  end\nend\n"
  },
  {
    "path": "lib/htmltoword/railtie.rb",
    "content": "module Htmltoword\n  class Railtie < ::Rails::Railtie\n    initializer 'htmltoword.setup' do\n      if defined?(Mime) and Mime[:docx].nil?\n        Mime::Type.register 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', :docx\n      end\n\n      ActionController::Renderers.add :docx do |file_name, options|\n        Htmltoword::Renderer.send_file(self, file_name, options)\n      end\n\n      if defined? ActionController::Responder\n        ActionController::Responder.class_eval do\n          def to_docx\n            if @default_response\n              @default_response.call(options)\n            else\n              controller.render({ docx: controller.action_name }.merge(options))\n            end\n          end\n        end\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "lib/htmltoword/renderer.rb",
    "content": "module Htmltoword\n  class Renderer\n    class << self\n      def send_file(context, filename, options = {})\n        new(context, filename, options).send_file\n      end\n    end\n\n    def initialize(context, filename, options)\n      @word_template = options[:word_template].presence\n      @disposition = options.fetch(:disposition, 'attachment')\n      @use_extras = options.fetch(:extras, false)\n      @file_name = file_name(filename, options)\n      @context = context\n      define_template(filename, options)\n      @content = options[:content] || @context.render_to_string(options)\n    end\n\n    def send_file\n      document = Htmltoword::Document.create(@content, @word_template, @use_extras)\n      @context.send_data(document, filename: @file_name, type: Mime[:docx], disposition: @disposition)\n    end\n\n    private\n\n    def define_template(filename, options)\n      if options[:template] == @context.action_name\n        if filename =~ %r{^([^\\/]+)/(.+)$}\n          options[:prefixes] ||= []\n          options[:prefixes].unshift $1\n          options[:template] = $2\n        else\n          options[:template] = filename\n        end\n      end\n    end\n\n    def file_name(filename, options)\n      name = options[:filename].presence || filename\n      name =~ /\\.docx$/ ? name : \"#{name}.docx\"\n    end\n  end\nend\n"
  },
  {
    "path": "lib/htmltoword/version.rb",
    "content": "module Htmltoword\n  VERSION = '1.1.1'\nend\n"
  },
  {
    "path": "lib/htmltoword/xslt/base.xslt",
    "content": "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\"\n                xmlns:o=\"urn:schemas-microsoft-com:office:office\"\n                xmlns:v=\"urn:schemas-microsoft-com:vml\"\n                xmlns:WX=\"http://schemas.microsoft.com/office/word/2003/auxHint\"\n                xmlns:aml=\"http://schemas.microsoft.com/aml/2001/core\"\n                xmlns:w10=\"urn:schemas-microsoft-com:office:word\"\n                xmlns:pkg=\"http://schemas.microsoft.com/office/2006/xmlPackage\"\n                xmlns:msxsl=\"urn:schemas-microsoft-com:xslt\"\n                xmlns:ext=\"http://www.xmllab.net/wordml2html/ext\"\n                xmlns:java=\"http://xml.apache.org/xalan/java\"\n                xmlns:str=\"http://exslt.org/strings\"\n                xmlns:func=\"http://exslt.org/functions\"\n                xmlns:fn=\"http://www.w3.org/2005/xpath-functions\"\n                version=\"1.0\"\n                exclude-result-prefixes=\"java msxsl ext w o v WX aml w10\"\n                extension-element-prefixes=\"func\">\n  <xsl:output method=\"xml\" encoding=\"utf-8\" omit-xml-declaration=\"yes\" indent=\"yes\" />\n  <xsl:include href=\"./functions.xslt\"/>\n  <xsl:include href=\"./tables.xslt\"/>\n  <xsl:include href=\"./links.xslt\"/>\n  <xsl:include href=\"./images.xslt\"/>\n  <xsl:template match=\"/\">\n    <xsl:apply-templates />\n  </xsl:template>\n\n  <xsl:template match=\"head\" />\n\n  <xsl:template match=\"body\">\n    <xsl:comment>\n      KNOWN BUGS:\n      div\n        h2\n        div\n          textnode (WONT BE WRAPPED IN A W:P)\n          div\n            table\n            span\n              text\n    </xsl:comment>\n    <xsl:apply-templates/>\n  </xsl:template>\n\n  <xsl:template match=\"body/*[not(*)]\">\n    <w:p>\n      <xsl:call-template name=\"text-alignment\" />\n      <w:r>\n        <w:t xml:space=\"preserve\"><xsl:value-of select=\".\"/></w:t>\n      </w:r>\n    </w:p>\n  </xsl:template>\n\n\n  <xsl:template match=\"br[not(ancestor::p) and not(ancestor::div) and not(ancestor::td|ancestor::li) or\n                          (preceding-sibling::div or following-sibling::div or preceding-sibling::p or following-sibling::p)]\">\n    <w:p>\n      <w:r></w:r>\n    </w:p>\n  </xsl:template>\n\n  <xsl:template match=\"br[(ancestor::li or ancestor::td) and\n                          (preceding-sibling::div or following-sibling::div or preceding-sibling::p or following-sibling::p)]\">\n    <w:r>\n      <w:br />\n    </w:r>\n  </xsl:template>\n\n  <xsl:template match=\"br\">\n    <w:r>\n      <w:br />\n    </w:r>\n  </xsl:template>\n\n  <xsl:template match=\"pre\">\n    <w:p>\n      <xsl:apply-templates />\n    </w:p>\n  </xsl:template>\n\n  <xsl:template match=\"div[not(ancestor::li) and not(ancestor::td) and not(ancestor::th) and not(ancestor::p) and not(ancestor::dl) and not(descendant::dl) and not(descendant::div) and not(descendant::p) and not(descendant::h1) and not(descendant::h2) and not(descendant::h3) and not(descendant::h4) and not(descendant::h5) and not(descendant::h6) and not(descendant::table) and not(descendant::li) and not (descendant::pre)]\">\n    <xsl:comment>Divs should create a p if nothing above them has and nothing below them will</xsl:comment>\n    <w:p>\n      <xsl:call-template name=\"text-alignment\" />\n      <xsl:apply-templates />\n    </w:p>\n  </xsl:template>\n\n  <xsl:template match=\"div\">\n    <xsl:apply-templates />\n  </xsl:template>\n\n  <!-- TODO: make this prettier. Headings shouldn't enter in template from L51 -->\n  <xsl:template match=\"body/h1|body/h2|body/h3|body/h4|body/h5|body/h6|h1|h2|h3|h4|h5|h6\">\n    <xsl:variable name=\"length\" select=\"string-length(name(.))\"/>\n    <w:p>\n      <w:pPr>\n        <w:pStyle w:val=\"Heading{substring(name(.),$length)}\"/>\n      </w:pPr>\n      <w:r>\n        <w:t xml:space=\"preserve\"><xsl:value-of select=\".\"/></w:t>\n      </w:r>\n    </w:p>\n  </xsl:template>\n\n  <xsl:template match=\"p[not(ancestor::li)]\">\n    <w:p>\n      <xsl:call-template name=\"text-alignment\" />\n      <xsl:apply-templates />\n    </w:p>\n  </xsl:template>\n\n  <xsl:template match=\"ol|ul\">\n    <xsl:param name=\"global_level\" select=\"count(preceding::ol[not(ancestor::ol or ancestor::ul)]) + count(preceding::ul[not(ancestor::ol or ancestor::ul)]) + 1\"/>\n    <xsl:apply-templates>\n      <xsl:with-param name=\"global_level\" select=\"$global_level\" />\n    </xsl:apply-templates>\n  </xsl:template>\n\n  <xsl:template name=\"listItem\" match=\"li\">\n    <xsl:param name=\"global_level\" />\n    <xsl:param name=\"preceding-siblings\" select=\"0\"/>\n    <xsl:for-each select=\"node()\">\n      <xsl:choose>\n        <xsl:when test=\"self::br\">\n          <w:p>\n            <w:pPr>\n              <w:pStyle w:val=\"ListParagraph\"></w:pStyle>\n              <w:numPr>\n                <w:ilvl w:val=\"0\"/>\n                <w:numId w:val=\"0\"/>\n              </w:numPr>\n            </w:pPr>\n            <w:r></w:r>\n          </w:p>\n        </xsl:when>\n        <xsl:when test=\"self::ol|self::ul\">\n          <xsl:apply-templates>\n            <xsl:with-param name=\"global_level\" select=\"$global_level\" />\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:when test=\"not(descendant::li)\"> <!-- simpler div, p, headings, etc... -->\n          <xsl:variable name=\"ilvl\" select=\"count(ancestor::ol) + count(ancestor::ul) - 1\"></xsl:variable>\n          <xsl:choose>\n            <xsl:when test=\"$preceding-siblings + count(preceding-sibling::*) > 0\">\n              <w:p>\n                <w:pPr>\n                  <w:pStyle w:val=\"ListParagraph\"></w:pStyle>\n                  <w:numPr>\n                    <w:ilvl w:val=\"0\"/>\n                    <w:numId w:val=\"0\"/>\n                  </w:numPr>\n                  <w:ind w:left=\"{720 * ($ilvl + 1)}\"/>\n                </w:pPr>\n                <xsl:apply-templates/>\n              </w:p>\n            </xsl:when>\n            <xsl:otherwise>\n              <w:p>\n                <w:pPr>\n                  <w:pStyle w:val=\"ListParagraph\"></w:pStyle>\n                  <w:numPr>\n                    <w:ilvl w:val=\"{$ilvl}\"/>\n                    <w:numId w:val=\"{$global_level}\"/>\n                  </w:numPr>\n                </w:pPr>\n                <xsl:apply-templates/>\n              </w:p>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n        <xsl:otherwise> <!-- mixed things div having list and stuff content... -->\n          <xsl:call-template name=\"listItem\">\n            <xsl:with-param name=\"global_level\" select=\"$global_level\" />\n            <xsl:with-param name=\"preceding-siblings\" select=\"$preceding-siblings + count(preceding-sibling::*)\" />\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:for-each>\n  </xsl:template>\n\n  <xsl:template match=\"dl\">\n    <xsl:apply-templates/>\n  </xsl:template>\n\n  <xsl:template match=\"dt\">\n    <w:p>\n      <xsl:apply-templates/>\n    </w:p>\n  </xsl:template>\n\n  <xsl:template match=\"dd\">\n    <w:p>\n      <w:pPr>\n        <w:ind w:left=\"720\"/>\n      </w:pPr>\n      <xsl:apply-templates/>\n    </w:p>\n  </xsl:template>\n\n  <xsl:template match=\"span[not(ancestor::td) and not(ancestor::li) and (preceding-sibling::h1 or preceding-sibling::h2 or preceding-sibling::h3 or preceding-sibling::h4 or preceding-sibling::h5 or preceding-sibling::h6 or preceding-sibling::table or preceding-sibling::p or preceding-sibling::ol or preceding-sibling::ul or preceding-sibling::div or following-sibling::h1 or following-sibling::h2 or following-sibling::h3 or following-sibling::h4 or following-sibling::h5 or following-sibling::h6 or following-sibling::table or following-sibling::p or following-sibling::ol or following-sibling::ul or following-sibling::div)]\n    |a[not(ancestor::td) and not(ancestor::li) and (preceding-sibling::h1 or preceding-sibling::h2 or preceding-sibling::h3 or preceding-sibling::h4 or preceding-sibling::h5 or preceding-sibling::h6 or preceding-sibling::table or preceding-sibling::p or preceding-sibling::ol or preceding-sibling::ul or preceding-sibling::div or following-sibling::h1 or following-sibling::h2 or following-sibling::h3 or following-sibling::h4 or following-sibling::h5 or following-sibling::h6 or following-sibling::table or following-sibling::p or following-sibling::ol or following-sibling::ul or following-sibling::div)]\n    |small[not(ancestor::td) and not(ancestor::li) and (preceding-sibling::h1 or preceding-sibling::h2 or preceding-sibling::h3 or preceding-sibling::h4 or preceding-sibling::h5 or preceding-sibling::h6 or preceding-sibling::table or preceding-sibling::p or preceding-sibling::ol or preceding-sibling::ul or preceding-sibling::div or following-sibling::h1 or following-sibling::h2 or following-sibling::h3 or following-sibling::h4 or following-sibling::h5 or following-sibling::h6 or following-sibling::table or following-sibling::p or following-sibling::ol or following-sibling::ul or following-sibling::div)]\n    |strong[not(ancestor::td) and not(ancestor::li) and (preceding-sibling::h1 or preceding-sibling::h2 or preceding-sibling::h3 or preceding-sibling::h4 or preceding-sibling::h5 or preceding-sibling::h6 or preceding-sibling::table or preceding-sibling::p or preceding-sibling::ol or preceding-sibling::ul or preceding-sibling::div or following-sibling::h1 or following-sibling::h2 or following-sibling::h3 or following-sibling::h4 or following-sibling::h5 or following-sibling::h6 or following-sibling::table or following-sibling::p or following-sibling::ol or following-sibling::ul or following-sibling::div)]\n    |em[not(ancestor::td) and not(ancestor::li) and (preceding-sibling::h1 or preceding-sibling::h2 or preceding-sibling::h3 or preceding-sibling::h4 or preceding-sibling::h5 or preceding-sibling::h6 or preceding-sibling::table or preceding-sibling::p or preceding-sibling::ol or preceding-sibling::ul or preceding-sibling::div or following-sibling::h1 or following-sibling::h2 or following-sibling::h3 or following-sibling::h4 or following-sibling::h5 or following-sibling::h6 or following-sibling::table or following-sibling::p or following-sibling::ol or following-sibling::ul or following-sibling::div)]\n    |i[not(ancestor::td) and not(ancestor::li) and (preceding-sibling::h1 or preceding-sibling::h2 or preceding-sibling::h3 or preceding-sibling::h4 or preceding-sibling::h5 or preceding-sibling::h6 or preceding-sibling::table or preceding-sibling::p or preceding-sibling::ol or preceding-sibling::ul or preceding-sibling::div or following-sibling::h1 or following-sibling::h2 or following-sibling::h3 or following-sibling::h4 or following-sibling::h5 or following-sibling::h6 or following-sibling::table or following-sibling::p or following-sibling::ol or following-sibling::ul or following-sibling::div)]\n    |b[not(ancestor::td) and not(ancestor::li) and (preceding-sibling::h1 or preceding-sibling::h2 or preceding-sibling::h3 or preceding-sibling::h4 or preceding-sibling::h5 or preceding-sibling::h6 or preceding-sibling::table or preceding-sibling::p or preceding-sibling::ol or preceding-sibling::ul or preceding-sibling::div or following-sibling::h1 or following-sibling::h2 or following-sibling::h3 or following-sibling::h4 or following-sibling::h5 or following-sibling::h6 or following-sibling::table or following-sibling::p or following-sibling::ol or following-sibling::ul or following-sibling::div)]\n    |u[not(ancestor::td) and not(ancestor::li) and (preceding-sibling::h1 or preceding-sibling::h2 or preceding-sibling::h3 or preceding-sibling::h4 or preceding-sibling::h5 or preceding-sibling::h6 or preceding-sibling::table or preceding-sibling::p or preceding-sibling::ol or preceding-sibling::ul or preceding-sibling::div or following-sibling::h1 or following-sibling::h2 or following-sibling::h3 or following-sibling::h4 or following-sibling::h5 or following-sibling::h6 or following-sibling::table or following-sibling::p or following-sibling::ol or following-sibling::ul or following-sibling::div)]\">\n    <xsl:comment>\n        In the following situation:\n\n        div\n          h2\n          span\n            textnode\n            span\n              textnode\n          p\n\n        The div template will not create a w:p because the div contains a h2. Therefore we need to wrap the inline elements span|a|small in a p here.\n      </xsl:comment>\n    <w:p>\n      <xsl:choose>\n        <xsl:when test=\"self::a[starts-with(@href, 'http://') or starts-with(@href, 'https://')]\">\n          <xsl:call-template name=\"link\" />\n        </xsl:when>\n        <xsl:when test=\"self::img\">\n          <xsl:comment>\n            This template adds images.\n          </xsl:comment>\n          <xsl:call-template name=\"image\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:apply-templates />\n        </xsl:otherwise>\n      </xsl:choose>\n    </w:p>\n  </xsl:template>\n\n  <xsl:template match=\"text()[not(parent::li) and not(parent::td) and not(parent::pre) and (preceding-sibling::h1 or preceding-sibling::h2 or preceding-sibling::h3 or preceding-sibling::h4 or preceding-sibling::h5 or preceding-sibling::h6 or preceding-sibling::table or preceding-sibling::p or preceding-sibling::ol or preceding-sibling::ul or preceding-sibling::div or following-sibling::h1 or following-sibling::h2 or following-sibling::h3 or following-sibling::h4 or following-sibling::h5 or following-sibling::h6 or following-sibling::table or following-sibling::p or following-sibling::ol or following-sibling::ul or following-sibling::div)]\">\n    <xsl:comment>\n        In the following situation:\n\n        div\n          h2\n          textnode\n          p\n\n        The div template will not create a w:p because the div contains a h2. Therefore we need to wrap the textnode in a p here.\n      </xsl:comment>\n    <w:p>\n      <w:r>\n        <w:t xml:space=\"preserve\"><xsl:value-of select=\".\"/></w:t>\n      </w:r>\n    </w:p>\n  </xsl:template>\n\n  <xsl:template match=\"span[contains(concat(' ', @class, ' '), ' h ')]\">\n    <xsl:comment>\n        This template adds MS Word highlighting ability.\n      </xsl:comment>\n    <xsl:variable name=\"color\">\n      <xsl:choose>\n        <xsl:when test=\"./@data-style='pink'\">magenta</xsl:when>\n        <xsl:when test=\"./@data-style='blue'\">cyan</xsl:when>\n        <xsl:when test=\"./@data-style='orange'\">darkYellow</xsl:when>\n        <xsl:otherwise><xsl:value-of select=\"./@data-style\"/></xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:choose>\n      <xsl:when test=\"preceding-sibling::h1 or preceding-sibling::h2 or preceding-sibling::h3 or preceding-sibling::h4 or preceding-sibling::h5 or preceding-sibling::h6 or preceding-sibling::table or preceding-sibling::p or preceding-sibling::ol or preceding-sibling::ul or preceding-sibling::div or following-sibling::h1 or following-sibling::h2 or following-sibling::h3 or following-sibling::h4 or following-sibling::h5 or following-sibling::h6 or following-sibling::table or following-sibling::p or following-sibling::ol or following-sibling::ul or following-sibling::div\">\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:highlight w:val=\"{$color}\"/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\"><xsl:value-of select=\".\"/></w:t>\n          </w:r>\n        </w:p>\n      </xsl:when>\n      <xsl:otherwise>\n        <w:r>\n          <w:rPr>\n            <w:highlight w:val=\"{$color}\"/>\n          </w:rPr>\n          <w:t xml:space=\"preserve\"><xsl:value-of select=\".\"/></w:t>\n        </w:r>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <xsl:template match=\"div[contains(concat(' ', @class, ' '), ' -page-break ')]\">\n    <w:p>\n      <w:r>\n        <w:br w:type=\"page\" />\n      </w:r>\n    </w:p>\n    <xsl:apply-templates />\n  </xsl:template>\n\n  <xsl:template match=\"details\" />\n\n  <xsl:template match=\"text()\">\n    <xsl:if test=\"string-length(.) > 0\">\n      <w:r>\n        <xsl:if test=\"ancestor::i\">\n          <w:rPr>\n            <w:i />\n          </w:rPr>\n        </xsl:if>\n        <xsl:if test=\"ancestor::b\">\n          <w:rPr>\n            <w:b />\n          </w:rPr>\n        </xsl:if>\n        <xsl:if test=\"ancestor::u\">\n          <w:rPr>\n            <w:u w:val=\"single\"/>\n          </w:rPr>\n        </xsl:if>\n        <xsl:if test=\"ancestor::s\">\n          <w:rPr>\n            <w:strike w:val=\"true\"/>\n          </w:rPr>\n        </xsl:if>\n        <xsl:if test=\"ancestor::sub\">\n          <w:rPr>\n            <w:vertAlign w:val=\"subscript\"/>\n          </w:rPr>\n        </xsl:if>\n        <xsl:if test=\"ancestor::sup\">\n          <w:rPr>\n            <w:vertAlign w:val=\"superscript\"/>\n          </w:rPr>\n        </xsl:if>\n        <w:t xml:space=\"preserve\"><xsl:value-of select=\".\"/></w:t>\n      </w:r>\n    </xsl:if>\n  </xsl:template>\n\n  <xsl:template match=\"*\">\n    <xsl:apply-templates/>\n  </xsl:template>\n\n  <xsl:template name=\"text-alignment\">\n    <xsl:param name=\"class\" select=\"@class\" />\n    <xsl:param name=\"style\" select=\"@style\" />\n    <xsl:variable name=\"alignment\">\n      <xsl:choose>\n        <xsl:when test=\"contains(concat(' ', $class, ' '), ' center ') or contains(translate(normalize-space($style),' ',''), 'text-align:center')\">center</xsl:when>\n        <xsl:when test=\"contains(concat(' ', $class, ' '), ' right ') or contains(translate(normalize-space($style),' ',''), 'text-align:right')\">right</xsl:when>\n        <xsl:when test=\"contains(concat(' ', $class, ' '), ' left ') or contains(translate(normalize-space($style),' ',''), 'text-align:left')\">left</xsl:when>\n        <xsl:when test=\"contains(concat(' ', $class, ' '), ' justify ') or contains(translate(normalize-space($style),' ',''), 'text-align:justify')\">both</xsl:when>\n        <xsl:otherwise></xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"string-length(normalize-space($alignment)) > 0\">\n      <w:pPr>\n        <w:jc w:val=\"{$alignment}\"/>\n      </w:pPr>\n    </xsl:if>\n  </xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "lib/htmltoword/xslt/cleanup.xslt",
    "content": "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:str=\"http://exslt.org/strings\"\n                xmlns:func=\"http://exslt.org/functions\"\n                xmlns:fn=\"http://www.w3.org/2005/xpath-functions\"\n                version=\"1.0\"\n                exclude-result-prefixes=\"java msxsl ext w o v WX aml w10\"\n                extension-element-prefixes=\"func\">\n  <xsl:output method=\"html\" encoding=\"utf-8\" omit-xml-declaration=\"yes\" indent=\"yes\"/>\n\n  <xsl:template match=\"/\">\n    <xsl:apply-templates/>\n  </xsl:template>\n\n  <xsl:template match=\"head\"/>\n\n  <!-- Elements not supported -->\n  <xsl:template match=\"applet\"/>\n  <xsl:template match=\"area\"/>\n  <xsl:template match=\"audio\"/>\n  <xsl:template match=\"base\"/>\n  <xsl:template match=\"basefont\"/>\n  <xsl:template match=\"canvas\"/>\n  <xsl:template match=\"command\"/>\n  <xsl:template match=\"font\"/>\n  <xsl:template match=\"iframe\"/>\n  <xsl:template match=\"img[not(starts-with(@src, 'http://')) and not(starts-with(@src, 'https://'))]\"/>\n  <xsl:template match=\"isindex\"/>\n  <xsl:template match=\"map\"/>\n  <xsl:template match=\"noframes\"/>\n  <xsl:template match=\"noscript\"/>\n  <xsl:template match=\"object\"/>\n  <xsl:template match=\"param\"/>\n  <xsl:template match=\"script\"/>\n  <xsl:template match=\"source\"/>\n  <xsl:template match=\"style\"/>\n  <xsl:template match=\"video\"/>\n\n  <!-- Elements currently being handled as normal text. Remove tags only -->\n  <xsl:template match=\"abbr\"><xsl:apply-templates/></xsl:template>\n  <xsl:template match=\"acronym\"><xsl:apply-templates/></xsl:template>\n  <xsl:template match=\"bdi\"><xsl:apply-templates/></xsl:template>\n  <xsl:template match=\"bdo\"><xsl:apply-templates/></xsl:template>\n  <xsl:template match=\"big\"><xsl:apply-templates/></xsl:template>\n  <xsl:template match=\"code\"><xsl:apply-templates/></xsl:template>\n  <xsl:template match=\"kbd\"><xsl:apply-templates/></xsl:template>\n  <xsl:template match=\"samp\"><xsl:apply-templates/></xsl:template>\n  <xsl:template match=\"small\"><xsl:apply-templates/></xsl:template>\n  <xsl:template match=\"tt\"><xsl:apply-templates/></xsl:template>\n  <xsl:template match=\"var\"><xsl:apply-templates/></xsl:template>\n\n  <!-- Inline elements transformations -->\n  <xsl:template match=\"cite\"><i><xsl:apply-templates/></i></xsl:template>\n  <xsl:template match=\"del\"><s><xsl:apply-templates/></s></xsl:template>\n  <xsl:template match=\"dfn\"><i><xsl:apply-templates/></i></xsl:template>\n  <xsl:template match=\"em\"><i><xsl:apply-templates/></i></xsl:template>\n  <xsl:template match=\"ins\"><u><xsl:apply-templates/></u></xsl:template>\n  <xsl:template match=\"mark\"><span class=\"h\" data-style=\"yellow\"><xsl:apply-templates/></span></xsl:template>\n  <xsl:template match=\"q\">\"<xsl:apply-templates/>\"</xsl:template>\n  <xsl:template match=\"strike\"><s><xsl:apply-templates/></s></xsl:template>\n  <xsl:template match=\"strong\"><b><xsl:apply-templates/></b></xsl:template>\n\n  <!-- Block elements transformations -->\n  <xsl:template match=\"section\"><div class=\"{@class}\" style=\"{@style}\"><xsl:apply-templates/></div></xsl:template>\n  <xsl:template match=\"article\"><div  class=\"{@class}\" style=\"{@style}\"><xsl:apply-templates/></div></xsl:template>\n\n  <xsl:template match=\"@*|node()\">\n    <xsl:copy>\n      <xsl:apply-templates select=\"@*|node()\"/>\n    </xsl:copy>\n  </xsl:template>\n</xsl:stylesheet>\n"
  },
  {
    "path": "lib/htmltoword/xslt/extras.xslt",
    "content": "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\"\n                xmlns:o=\"urn:schemas-microsoft-com:office:office\"\n                xmlns:v=\"urn:schemas-microsoft-com:vml\"\n                xmlns:WX=\"http://schemas.microsoft.com/office/word/2003/auxHint\"\n                xmlns:aml=\"http://schemas.microsoft.com/aml/2001/core\"\n                xmlns:w10=\"urn:schemas-microsoft-com:office:word\"\n                xmlns:pkg=\"http://schemas.microsoft.com/office/2006/xmlPackage\"\n                xmlns:msxsl=\"urn:schemas-microsoft-com:xslt\"\n                xmlns:ext=\"http://www.xmllab.net/wordml2html/ext\"\n                xmlns:java=\"http://xml.apache.org/xalan/java\"\n                xmlns:str=\"http://exslt.org/strings\"\n                xmlns:func=\"http://exslt.org/functions\"\n                xmlns:fn=\"http://www.w3.org/2005/xpath-functions\"\n                version=\"1.0\"\n                exclude-result-prefixes=\"java msxsl ext w o v WX aml w10\"\n                extension-element-prefixes=\"func\">\n\n  <!-- use block quotes for spacing (can be nested) -->\n  <xsl:template match=\"blockquote\">\n    <w:p>\n      <w:r></w:r>\n    </w:p>\n    <xsl:apply-templates/>\n  </xsl:template>\n</xsl:stylesheet>\n"
  },
  {
    "path": "lib/htmltoword/xslt/functions.xslt",
    "content": "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\"\n                xmlns:o=\"urn:schemas-microsoft-com:office:office\"\n                xmlns:v=\"urn:schemas-microsoft-com:vml\"\n                xmlns:WX=\"http://schemas.microsoft.com/office/word/2003/auxHint\"\n                xmlns:aml=\"http://schemas.microsoft.com/aml/2001/core\"\n                xmlns:w10=\"urn:schemas-microsoft-com:office:word\"\n                xmlns:pkg=\"http://schemas.microsoft.com/office/2006/xmlPackage\"\n                xmlns:msxsl=\"urn:schemas-microsoft-com:xslt\"\n                xmlns:ext=\"http://www.xmllab.net/wordml2html/ext\"\n                xmlns:java=\"http://xml.apache.org/xalan/java\"\n                xmlns:str=\"http://exslt.org/strings\"\n                xmlns:func=\"http://exslt.org/functions\"\n                xmlns:fn=\"http://www.w3.org/2005/xpath-functions\"\n                version=\"1.0\"\n                exclude-result-prefixes=\"java msxsl ext w o v WX aml w10\"\n                extension-element-prefixes=\"func\">\n\n  <!-- support function to return substring-before or everything -->\n  <func:function name=\"func:substring-before-if-contains\">\n    <xsl:param name=\"arg\"/>\n    <xsl:param name=\"delim\"/>\n    <func:result>\n      <xsl:choose>\n        <xsl:when test=\"contains($arg, $delim)\">\n          <xsl:value-of select=\"substring-before($arg, $delim)\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"$arg\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </func:result>\n  </func:function>\n\n  <!-- template as function used to return the relationship id of the element (currently links or images) -->\n  <xsl:template name=\"relationship-id\">rId<xsl:value-of select=\"count(preceding::a[starts-with(@href, 'http://') or starts-with(@href, 'https://')])+count(preceding::img)+8\"/></xsl:template>\n</xsl:stylesheet>\n"
  },
  {
    "path": "lib/htmltoword/xslt/htmltoword.xslt",
    "content": "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\"\n                xmlns:o=\"urn:schemas-microsoft-com:office:office\"\n                xmlns:v=\"urn:schemas-microsoft-com:vml\"\n                xmlns:WX=\"http://schemas.microsoft.com/office/word/2003/auxHint\"\n                xmlns:aml=\"http://schemas.microsoft.com/aml/2001/core\"\n                xmlns:w10=\"urn:schemas-microsoft-com:office:word\"\n                xmlns:pkg=\"http://schemas.microsoft.com/office/2006/xmlPackage\"\n                xmlns:msxsl=\"urn:schemas-microsoft-com:xslt\"\n                xmlns:ext=\"http://www.xmllab.net/wordml2html/ext\"\n                xmlns:java=\"http://xml.apache.org/xalan/java\"\n                xmlns:str=\"http://exslt.org/strings\"\n                xmlns:func=\"http://exslt.org/functions\"\n                xmlns:fn=\"http://www.w3.org/2005/xpath-functions\"\n                version=\"1.0\"\n                exclude-result-prefixes=\"java msxsl ext w o v WX aml w10\"\n                extension-element-prefixes=\"func\">\n  <xsl:import href=\"./base.xslt\"/>\n  <!--Extra templates and customizations-->\n  <xsl:include href=\"./extras.xslt\"/>\n</xsl:stylesheet>\n"
  },
  {
    "path": "lib/htmltoword/xslt/image_functions.xslt",
    "content": "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\"\n                xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\"\n                xmlns:o=\"urn:schemas-microsoft-com:office:office\"\n                xmlns:v=\"urn:schemas-microsoft-com:vml\"\n                xmlns:WX=\"http://schemas.microsoft.com/office/word/2003/auxHint\"\n                xmlns:aml=\"http://schemas.microsoft.com/aml/2001/core\"\n                xmlns:w10=\"urn:schemas-microsoft-com:office:word\"\n                xmlns:pkg=\"http://schemas.microsoft.com/office/2006/xmlPackage\"\n                xmlns:msxsl=\"urn:schemas-microsoft-com:xslt\"\n                xmlns:ext=\"http://www.xmllab.net/wordml2html/ext\"\n                xmlns:java=\"http://xml.apache.org/xalan/java\"\n                xmlns:str=\"http://exslt.org/strings\"\n                xmlns:func=\"http://exslt.org/functions\"\n                xmlns:fn=\"http://www.w3.org/2005/xpath-functions\"\n                version=\"1.0\"\n                exclude-result-prefixes=\"java msxsl ext w o v WX aml w10\"\n                extension-element-prefixes=\"func\">\n\n  <!-- template as function used to return the file extension of an image. -->\n  <xsl:template name=\"image-extension\">\n    <xsl:param name=\"data-filename\" select=\".\" />\n    <xsl:param name=\"source\" select=\".\" />\n    <xsl:variable name=\"filename\">\n      <xsl:call-template name=\"image-name\">\n        <xsl:with-param name=\"source\" select=\"$source\"/>\n        <xsl:with-param name=\"data-filename\" select=\"$data-filename\"/>\n      </xsl:call-template>\n    </xsl:variable>\n    <xsl:value-of select=\"substring-after($filename,'.')\"/>\n  </xsl:template>\n\n  <!-- template as function used to return the name of an image. -->\n  <xsl:template name=\"image-name\">\n    <xsl:param name=\"data-filename\" select=\".\" />\n    <xsl:param name=\"source\" select=\".\" />\n    <xsl:choose>\n      <xsl:when test=\"string-length($data-filename) > 0\">\n        <xsl:value-of select=\"$data-filename\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"extract-filename-from-path\">\n          <xsl:with-param name=\"path\" select=\"$source\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <!-- template as function used to extract the filename from the image source. Can't use tokenize or other functions which return a fragment tree as xpath can't process them. -->\n  <xsl:template name=\"extract-filename-from-path\">\n      <xsl:param name=\"path\" select=\".\" />\n      <xsl:choose>\n        <xsl:when test=\"not(contains($path, '/'))\">\n            <xsl:value-of select=\"$path\" />\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"extract-filename-from-path\">\n            <xsl:with-param name=\"path\" select=\"substring-after($path, '/')\" />\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n  </xsl:template>\n\n  <!--\n    Returns the unqualified dimension from a length specification copied from:\n  http://docbook.sourceforge.net/release/xsl/1.76.1/doc/lib/length-magnitude.html\n   -->\n\n  <xsl:template name=\"length-magnitude\">\n    <xsl:param name=\"length\" select=\"'0pt'\"></xsl:param>\n\n    <xsl:choose>\n      <xsl:when test=\"string-length($length) = 0\"></xsl:when>\n      <xsl:when test=\"substring($length,1,1) = '0' or substring($length,1,1) = '1'                                      or substring($length,1,1) = '2' or substring($length,1,1) = '3'                                      or substring($length,1,1) = '4' or substring($length,1,1) = '5'                                      or substring($length,1,1) = '6' or substring($length,1,1) = '7'                                      or substring($length,1,1) = '8' or substring($length,1,1) = '9'                                      or substring($length,1,1) = '.'\">\n        <xsl:value-of select=\"substring($length,1,1)\"></xsl:value-of>\n        <xsl:call-template name=\"length-magnitude\">\n          <xsl:with-param name=\"length\" select=\"substring($length,2)\"></xsl:with-param>\n        </xsl:call-template>\n      </xsl:when>\n    </xsl:choose>\n  </xsl:template>\n\n\n\n\n  <!-- Convert em and pixel sizes to inches. Inspired by from:\n  http://docbook.sourceforge.net/release/xsl/1.76.1/doc/lib/length-in-points.html\n  EMU info from:  https://startbigthinksmall.wordpress.com/2010/01/04/points-inches-and-emus-measuring-units-in-office-open-xml/\n   -->\n  <xsl:template name=\"length-in-emus\">\n    <xsl:param name=\"length\" select=\"'0px'\"/>\n    <xsl:param name=\"em.size\" select=\"6.02250006023\"/>\n    <xsl:param name=\"pixels.per.inch\" select=\"90\"/>\n    <xsl:variable name=\"emus.per.inch\" select=\"914400\"/>\n\n    <xsl:variable name=\"magnitude\">\n      <xsl:call-template name=\"length-magnitude\">\n        <xsl:with-param name=\"length\" select=\"$length\"/>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:variable name=\"units\">\n      <xsl:value-of select=\"substring($length, string-length($magnitude)+1)\"/>\n    </xsl:variable>\n\n    <xsl:variable name=\"inches\">\n      <xsl:choose>\n        <xsl:when test=\"$units = 'px'\">\n          <xsl:value-of select=\"$magnitude div $pixels.per.inch\"/>\n        </xsl:when>\n        <xsl:when test=\"$units = 'em'\">\n          <xsl:value-of select=\"$magnitude div $em.size\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:message>\n            <xsl:text>Unrecognized unit of measure: </xsl:text>\n            <xsl:value-of select=\"$units\"></xsl:value-of>\n            <xsl:text>.</xsl:text>\n          </xsl:message>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n\n    <xsl:value-of select=\"$inches * $emus.per.inch\"/>\n  </xsl:template>\n\n  <!-- template as function used to get the width or height of an image in points. -->\n  <xsl:template name=\"image-dimention\">\n    <xsl:param name=\"style\" />\n    <xsl:param name=\"data-value\" />\n    <xsl:param name=\"type\" />\n\n    <xsl:variable name=\"size\">\n      <xsl:choose>\n        <xsl:when test=\"string-length($data-value) > 0\">\n          <xsl:value-of select=\"$data-value\" />\n        </xsl:when>\n        <xsl:when test=\"contains($style, concat($type,':'))\">\n          <xsl:value-of select=\"translate(str:tokenize(substring-after($style, concat($type,':')), ';')[1],'&#x20;&#x9;&#xD;&#xA;','')\" />\n        </xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:call-template name=\"length-in-emus\">\n      <xsl:with-param name=\"length\" select=\"$size\"/>\n    </xsl:call-template>\n  </xsl:template>\n</xsl:stylesheet>\n"
  },
  {
    "path": "lib/htmltoword/xslt/images.xslt",
    "content": "<xsl:stylesheet xmlns:wpc=\"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\"\n                xmlns:mo=\"http://schemas.microsoft.com/office/mac/office/2008/main\"\n                xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\"\n                xmlns:mv=\"urn:schemas-microsoft-com:mac:vml\"\n                xmlns:o=\"urn:schemas-microsoft-com:office:office\"\n                xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\"\n                xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\"\n                xmlns:v=\"urn:schemas-microsoft-com:vml\"\n                xmlns:wp14=\"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\"\n                xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\"\n                xmlns:w10=\"urn:schemas-microsoft-com:office:word\"\n                xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\"\n                xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\"\n                xmlns:w15=\"http://schemas.microsoft.com/office/word/2012/wordml\"\n                xmlns:wpg=\"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\"\n                xmlns:wpi=\"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\"\n                xmlns:wne=\"http://schemas.microsoft.com/office/word/2006/wordml\"\n                xmlns:wps=\"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\"\n                xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\"\n                xmlns:a14=\"http://schemas.microsoft.com/office/drawing/2010/main\"\n                xmlns:pic=\"http://schemas.openxmlformats.org/drawingml/2006/picture\"\n                xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:WX=\"http://schemas.microsoft.com/office/word/2003/auxHint\"\n                xmlns:aml=\"http://schemas.microsoft.com/aml/2001/core\"\n                xmlns:pkg=\"http://schemas.microsoft.com/office/2006/xmlPackage\"\n                xmlns:msxsl=\"urn:schemas-microsoft-com:xslt\"\n                xmlns:ext=\"http://www.xmllab.net/wordml2html/ext\"\n                xmlns:java=\"http://xml.apache.org/xalan/java\"\n                xmlns:str=\"http://exslt.org/strings\"\n                xmlns:func=\"http://exslt.org/functions\"\n                xmlns:fn=\"http://www.w3.org/2005/xpath-functions\"\n                mc:Ignorable=\"w14 w15 wp14 a14\"\n                version=\"1.0\"\n                exclude-result-prefixes=\"java msxsl ext w o v WX aml w10\"\n                extension-element-prefixes=\"func\">\n\n  <xsl:include href=\"./image_functions.xslt\"/>\n\n  <xsl:template match=\"img|body/img\" name=\"image\">\n    <xsl:choose>\n      <xsl:when test=\"not(@data-width) and not(@data-height) and not(contains(@style, 'width')) and not(contains(@style, 'height'))\">\n        <!-- Do not transfor images unless width and height are correctly specified -->\n      </xsl:when>\n      <xsl:otherwise>\n        <w:drawing>\n          <wp:inline distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\">\n            <wp:extent>\n              <xsl:call-template name=\"image-dimention-attributes\"/>\n            </wp:extent>\n            <wp:effectExtent l=\"0\" t=\"0\" r=\"0\" b=\"0\"/>\n            <wp:docPr>\n              <xsl:attribute name=\"id\"><xsl:value-of select=\"count(preceding::img)+1\" /></xsl:attribute>\n              <xsl:attribute name=\"name\">Picture <xsl:value-of select=\"count(preceding::img)+1\" /></xsl:attribute>\n            </wp:docPr>\n            <wp:cNvGraphicFramePr>\n              <a:graphicFrameLocks noChangeAspect=\"1\"/>\n            </wp:cNvGraphicFramePr>\n            <a:graphic>\n              <a:graphicData uri=\"http://schemas.openxmlformats.org/drawingml/2006/picture\">\n                <pic:pic>\n                  <pic:nvPicPr>\n                    <pic:cNvPr>\n                      <xsl:attribute name=\"id\"><xsl:value-of select=\"count(preceding::img)+1\" /></xsl:attribute>\n                      <xsl:attribute name=\"title\"><xsl:value-of select=\"@alt\" /></xsl:attribute>\n                      <xsl:attribute name=\"name\"><xsl:call-template name=\"image-name\">\n                        <xsl:with-param name=\"source\" select=\"@src\"/>\n                        <xsl:with-param name=\"data-filename\" select=\"@data-filename\"/>\n                      </xsl:call-template></xsl:attribute>\n                    </pic:cNvPr>\n                    <pic:cNvPicPr/>\n                  </pic:nvPicPr>\n                  <pic:blipFill>\n                    <a:blip>\n                      <xsl:attribute name=\"r:embed\"><xsl:call-template name=\"relationship-id\"/></xsl:attribute>\n                      <a:extLst>\n                        <a:ext uri=\"{{28A0092B-C50C-407E-A947-70E740481C1C}}\">\n                          <a14:useLocalDpi val=\"0\"/>\n                        </a:ext>\n                      </a:extLst>\n                    </a:blip>\n                    <a:stretch>\n                      <a:fillRect/>\n                    </a:stretch>\n                  </pic:blipFill>\n                  <pic:spPr>\n                    <a:xfrm>\n                      <a:off x=\"0\" y=\"0\"/>\n                      <a:ext>\n                        <xsl:call-template name=\"image-dimention-attributes\"/>\n                      </a:ext>\n                    </a:xfrm>\n                    <a:prstGeom prst=\"rect\">\n                      <a:avLst/>\n                    </a:prstGeom>\n                  </pic:spPr>\n                </pic:pic>\n              </a:graphicData>\n            </a:graphic>\n          </wp:inline>\n        </w:drawing>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <!--\n    A style specifiying the width and height is required to render an image correctly in word.\n    Styles can be provided either via data attributes:\n    img src=\"pathtosomeimage\" data-width=\"200px\" data-height=\"250px\"\n\n    or via the html style attribute\n    img src=\"pathtosomeimage\" style=\"width:150px;height:200px\"\n\n    If both a style and data attributes are provided then data attributes take president.\n    e.g.\n    img src=\"pathtosomeimage\" data-width=\"200em\" style=\"width:150px;height:200px\"\n    becomes: width:200em;height:200px\n\n    Note: All sizes must be in pixles or em\n  -->\n  <xsl:template name=\"image-dimention-attributes\">\n    <xsl:attribute name=\"cx\">\n      <xsl:call-template name=\"image-dimention\">\n        <xsl:with-param name=\"style\" select=\"@style\" />\n        <xsl:with-param name=\"data-value\" select=\"@data-width\" />\n        <xsl:with-param name=\"type\" select=\"'width'\" />\n      </xsl:call-template>\n    </xsl:attribute>\n    <xsl:attribute name=\"cy\">\n      <xsl:call-template name=\"image-dimention\">\n        <xsl:with-param name=\"style\" select=\"@style\" />\n        <xsl:with-param name=\"data-value\" select=\"@data-height\" />\n        <xsl:with-param name=\"type\" select=\"'height'\" />\n      </xsl:call-template>\n    </xsl:attribute>\n  </xsl:template>\n</xsl:stylesheet>\n"
  },
  {
    "path": "lib/htmltoword/xslt/inline_elements.xslt",
    "content": "<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">\n  <xsl:output encoding=\"utf-8\" omit-xml-declaration=\"yes\" indent=\"yes\" />\n\n  <xsl:strip-space elements=\"*\"/>\n\n  <xsl:template match=\"node()|@*\">\n    <xsl:copy>\n      <xsl:apply-templates select=\"@*|node()[1]\"/>\n    </xsl:copy>\n    <xsl:apply-templates select=\"following-sibling::node()[1]\"/>\n  </xsl:template>\n\n  <!-- get first inline element of a sequence or text having block element siblings... -->\n  <xsl:template match=\"node()[self::a|self::b|self::i|self::s|self::span|self::sub|self::sup|self::u|self::text()][parent::div|parent::li|parent::td]\">\n    <div>\n      <xsl:attribute name=\"class\"><xsl:value-of select=\"../@class\"/></xsl:attribute>\n      <xsl:attribute name=\"style\"><xsl:value-of select=\"../@style\"/></xsl:attribute>\n      <xsl:call-template name=\"inlineElement\"/>\n    </div>\n    <xsl:apply-templates select=\"following-sibling::node()[not((self::a|self::b|self::i|self::s|self::span|self::sub|self::sup|self::u|self::text())[parent::div|parent::li|parent::td])][1]\"/>\n  </xsl:template>\n\n  <!-- get following inline elements... -->\n  <xsl:template match=\"\n     a[preceding-sibling::node()[1][self::a|self::b|self::i|self::s|self::span|self::sub|self::sup|self::u|self::text()]]\n    |b[preceding-sibling::node()[1][self::a|self::b|self::i|self::s|self::span|self::sub|self::sup|self::u|self::text()]]\n    |i[preceding-sibling::node()[1][self::a|self::b|self::i|self::s|self::span|self::sub|self::sup|self::u|self::text()]]\n    |s[preceding-sibling::node()[1][self::a|self::b|self::i|self::s|self::span|self::sub|self::sup|self::u|self::text()]]\n    |span[preceding-sibling::node()[1][self::a|self::b|self::i|self::s|self::span|self::sub|self::sup|self::u|self::text()]]\n    |sub[preceding-sibling::node()[1][self::a|self::b|self::i|self::s|self::span|self::sub|self::sup|self::u|self::text()]]\n    |sup[preceding-sibling::node()[1][self::a|self::b|self::i|self::s|self::span|self::sub|self::sup|self::u|self::text()]]\n    |u[preceding-sibling::node()[1][self::a|self::b|self::i|self::s|self::span|self::sub|self::sup|self::u|self::text()]]\n    |text()[preceding-sibling::node()[1][self::a|self::b|self::i|self::s|self::span|self::sub|self::sup|self::u|self::text()]]\"\n    name=\"inlineElement\">\n    <xsl:copy>\n      <xsl:apply-templates select=\"@*|node()[1]\"/>\n    </xsl:copy>\n    <xsl:apply-templates select=\"following-sibling::node()[1][self::a|self::b|self::i|self::s|self::span|self::sub|self::sup|self::u|self::text()]\"/>\n  </xsl:template>\n</xsl:stylesheet>\n"
  },
  {
    "path": "lib/htmltoword/xslt/links.xslt",
    "content": "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\"\n                xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\"\n                xmlns:o=\"urn:schemas-microsoft-com:office:office\"\n                xmlns:v=\"urn:schemas-microsoft-com:vml\"\n                xmlns:WX=\"http://schemas.microsoft.com/office/word/2003/auxHint\"\n                xmlns:aml=\"http://schemas.microsoft.com/aml/2001/core\"\n                xmlns:w10=\"urn:schemas-microsoft-com:office:word\"\n                xmlns:pkg=\"http://schemas.microsoft.com/office/2006/xmlPackage\"\n                xmlns:msxsl=\"urn:schemas-microsoft-com:xslt\"\n                xmlns:ext=\"http://www.xmllab.net/wordml2html/ext\"\n                xmlns:java=\"http://xml.apache.org/xalan/java\"\n                xmlns:str=\"http://exslt.org/strings\"\n                xmlns:func=\"http://exslt.org/functions\"\n                xmlns:fn=\"http://www.w3.org/2005/xpath-functions\"\n                version=\"1.0\"\n                exclude-result-prefixes=\"java msxsl ext w o v WX aml w10\"\n                extension-element-prefixes=\"func\">\n\n\n  <xsl:template match=\"a[starts-with(@href, 'http://') or starts-with(@href, 'https://')]\" name=\"link\">\n    <w:hyperlink>\n      <xsl:attribute name=\"r:id\"><xsl:call-template name=\"relationship-id\"/></xsl:attribute>\n      <w:r>\n        <w:rPr>\n          <w:rStyle w:val=\"Hyperlink\"/>\n          <w:color w:val=\"000080\"/>\n          <w:u w:val=\"single\"/>\n        </w:rPr>\n        <w:t xml:space=\"preserve\"><xsl:value-of select=\".\"/></w:t>\n      </w:r>\n    </w:hyperlink>\n  </xsl:template>\n</xsl:stylesheet>\n"
  },
  {
    "path": "lib/htmltoword/xslt/numbering.xslt",
    "content": "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\"\n                xmlns:o=\"urn:schemas-microsoft-com:office:office\"\n                xmlns:v=\"urn:schemas-microsoft-com:vml\"\n                xmlns:WX=\"http://schemas.microsoft.com/office/word/2003/auxHint\"\n                xmlns:aml=\"http://schemas.microsoft.com/aml/2001/core\"\n                xmlns:w10=\"urn:schemas-microsoft-com:office:word\"\n                xmlns:pkg=\"http://schemas.microsoft.com/office/2006/xmlPackage\"\n                xmlns:msxsl=\"urn:schemas-microsoft-com:xslt\"\n                xmlns:ext=\"http://www.xmllab.net/wordml2html/ext\"\n                xmlns:java=\"http://xml.apache.org/xalan/java\"\n                xmlns:str=\"http://exslt.org/strings\"\n                xmlns:func=\"http://exslt.org/functions\"\n                xmlns:fn=\"http://www.w3.org/2005/xpath-functions\"\n                version=\"1.0\"\n                exclude-result-prefixes=\"java msxsl ext w o v WX aml w10\"\n                extension-element-prefixes=\"func\">\n  <xsl:output method=\"xml\" encoding=\"utf-8\" omit-xml-declaration=\"yes\" indent=\"yes\" />\n  <xsl:include href=\"./functions.xslt\"/>\n\n  <func:function name=\"func:list-type\">\n    <xsl:param name=\"tag_name\"/>\n    <xsl:param name=\"style\"/>\n    <xsl:param name=\"class\"/>\n    <func:result>\n      <xsl:choose>\n        <xsl:when test=\"contains($style, 'list-style-type:') or string-length(normalize-space($class)) > 0\">\n          <xsl:variable name=\"lstyle\" select=\"func:substring-before-if-contains(substring-after($style, 'list-style-type:'), ';')\"/>\n          <xsl:choose>\n            <xsl:when test=\"contains($lstyle, 'lower-alpha') or contains($lstyle, 'lower-latin') or contains($class, 'alfalower')\">lowerLetter</xsl:when>\n            <xsl:when test=\"contains($lstyle, 'upper-alpha') or contains($lstyle, 'upper-latin') or contains($class, 'alfaupper')\">upperLetter</xsl:when>\n            <xsl:when test=\"contains($lstyle, 'lower-roman') or contains($class, 'romanlower')\">lowerRoman</xsl:when>\n            <xsl:when test=\"contains($lstyle, 'upper-roman') or contains($class, 'romanupper')\">upperRoman</xsl:when>\n            <xsl:when test=\"contains($lstyle, 'none') or contains($class, 'manuell')\">none</xsl:when>\n            <xsl:when test=\"contains($lstyle, 'decimal') or contains($class, 'num') or contains($class, 'token')\">decimal</xsl:when>\n            <xsl:when test=\"contains($lstyle, 'disc')\">bullet,●</xsl:when>\n            <xsl:when test=\"contains($lstyle, 'circle')\">bullet,o</xsl:when>\n            <xsl:when test=\"contains($lstyle, 'square')\">bullet,■</xsl:when>\n            <xsl:otherwise>none</xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:choose>\n            <xsl:when test=\"$tag_name = 'ol'\">decimal</xsl:when>\n            <xsl:otherwise>bullet,●</xsl:otherwise>\n          </xsl:choose>\n        </xsl:otherwise>\n      </xsl:choose>\n    </func:result>\n  </func:function>\n\n  <xsl:template match=\"/\">\n    <w:numbering xmlns:wpc=\"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\"\n                 xmlns:mo=\"http://schemas.microsoft.com/office/mac/office/2008/main\"\n                 xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\"\n                 xmlns:mv=\"urn:schemas-microsoft-com:mac:vml\" xmlns:o=\"urn:schemas-microsoft-com:office:office\"\n                 xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\"\n                 xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\"\n                 xmlns:v=\"urn:schemas-microsoft-com:vml\"\n                 xmlns:wp14=\"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\"\n                 xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\"\n                 xmlns:w10=\"urn:schemas-microsoft-com:office:word\"\n                 xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\"\n                 xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\"\n                 xmlns:wpg=\"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\"\n                 xmlns:wpi=\"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\"\n                 xmlns:wne=\"http://schemas.microsoft.com/office/word/2006/wordml\"\n                 xmlns:wps=\"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\">\n      <xsl:apply-templates />\n      <xsl:variable name=\"nlists\" select=\"count(//ol[not(ancestor::ol) and not(ancestor::ul)]) + count(//ul[not(ancestor::ol) and not(ancestor::ul)])\"/>\n      <xsl:call-template name=\"define-abstractNum\"/>\n    </w:numbering>\n  </xsl:template>\n\n  <xsl:template name=\"container\" match=\"ol|ul\">\n    <xsl:variable name=\"global_level\" select=\"count(preceding::ol[not(ancestor::ol or ancestor::ul)]) + count(preceding::ul[not(ancestor::ol or ancestor::ul)]) + 1\"/>\n    <xsl:variable name=\"style\" select=\"func:list-type(name(.), concat(' ', @style, ' '), concat(' ', @class, ' '))\"/>\n    <xsl:choose>\n      <xsl:when test=\"not(ancestor::ol or ancestor::ul)\">\n        <w:abstractNum w:abstractNumId=\"{$global_level - 1}\">\n          <w:nsid w:val=\"{concat('099A08C', $global_level)}\"/>\n          <w:multiLevelType w:val=\"hybridMultilevel\"/>\n          <xsl:call-template name=\"numbering_level\">\n            <xsl:with-param name=\"ilvl\" select=\"0\"/>\n            <xsl:with-param name=\"style\" select=\"$style\"/>\n          </xsl:call-template>\n          <xsl:call-template name=\"item\"/>\n          <xsl:if test=\"count(.//ol|.//ul) &lt; 6\">\n            <xsl:call-template name=\"autocomplete\">\n              <xsl:with-param name=\"ilvl\" select=\"count(.//ol) + count(.//ul)\"/>\n              <xsl:with-param name=\"style\" select=\"$style\"/>\n            </xsl:call-template>\n          </xsl:if>\n        </w:abstractNum>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"numbering_level\">\n          <xsl:with-param name=\"ilvl\" select=\"count(ancestor::ol) + count(ancestor::ul)\"/>\n          <xsl:with-param name=\"style\" select=\"$style\"/>\n        </xsl:call-template>\n        <xsl:call-template name=\"item\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <xsl:template name=\"item\">\n    <xsl:for-each select=\"node()\">\n      <xsl:choose>\n        <xsl:when test=\"self::ol|self::ul\">\n          <xsl:call-template name=\"container\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"item\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:for-each>\n  </xsl:template>\n\n  <xsl:template match=\"*\">\n    <xsl:apply-templates/>\n  </xsl:template>\n\n  <xsl:template match=\"text()\"/>\n\n  <xsl:template name=\"numbering_level\">\n    <xsl:param name=\"style\" />\n    <xsl:param name=\"ilvl\" />\n    <w:lvl w:ilvl=\"{$ilvl}\">\n      <w:start w:val=\"1\"/>\n      <w:numFmt w:val=\"{func:substring-before-if-contains($style, ',')}\"/>\n      <xsl:choose>\n        <xsl:when test=\"contains($style, 'bullet')\">\n          <xsl:variable name=\"list-symbol\" select=\"substring-after($style, ',')\"/>\n          <w:lvlText w:val=\"{$list-symbol}\"/>\n        </xsl:when>\n        <xsl:when test=\"$style = 'none'\">\n          <w:lvlText w:val=\"\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <w:lvlText w:val=\"%{$ilvl + 1}.\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n      <w:lvlJc w:val=\"left\"/>\n      <w:pPr>\n        <w:ind w:left=\"{720 * ($ilvl + 1)}\" w:hanging=\"360\"/>\n      </w:pPr>\n      <xsl:if test=\"contains($style, 'bullet')\">\n        <w:rPr>\n          <w:rFonts w:ascii=\"Symbol\" w:hAnsi=\"Symbol\" w:hint=\"default\"/>\n        </w:rPr>\n      </xsl:if>\n    </w:lvl>\n  </xsl:template>\n\n  <xsl:template name=\"autocomplete\">\n    <xsl:param name=\"ilvl\"/>\n    <xsl:param name=\"style\" />\n    <xsl:variable name=\"current_level\">\n      <xsl:choose>\n        <xsl:when test=\"$ilvl &lt; 1\">1</xsl:when>\n        <xsl:otherwise><xsl:value-of select=\"$ilvl\"/></xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"$current_level &lt; 6\">\n      <xsl:call-template name=\"numbering_level\">\n        <xsl:with-param name=\"ilvl\" select=\"$current_level\"/>\n        <xsl:with-param name=\"style\" select=\"$style\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"autocomplete\">\n        <xsl:with-param name=\"ilvl\" select=\"$current_level + 1\"/>\n        <xsl:with-param name=\"style\" select=\"$style\"/>\n      </xsl:call-template>\n    </xsl:if>\n  </xsl:template>\n\n  <xsl:template name=\"define-abstractNum\">\n    <xsl:param name=\"current\" select=\"0\"/>\n    <xsl:param name=\"max\" select=\"count(//ol[not(ancestor::ol) and not(ancestor::ul)]) + count(//ul[not(ancestor::ol) and not(ancestor::ul)])\"/>\n    <xsl:if test=\"$current &lt; $max\">\n      <w:num w:numId=\"{$current + 1}\">\n        <w:abstractNumId w:val=\"{$current}\"/>\n      </w:num>\n      <xsl:call-template name=\"define-abstractNum\">\n        <xsl:with-param name=\"current\" select=\"$current + 1\"/>\n        <xsl:with-param name=\"max\" select=\"$max\"/>\n      </xsl:call-template>\n    </xsl:if>\n  </xsl:template>\n</xsl:stylesheet>\n"
  },
  {
    "path": "lib/htmltoword/xslt/relations.xslt",
    "content": "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\"\n                version=\"1.0\">\n  <xsl:output method=\"xml\" encoding=\"utf-8\" omit-xml-declaration=\"yes\" indent=\"yes\" />\n\n  <xsl:include href=\"./image_functions.xslt\"/>\n  <xsl:include href=\"./functions.xslt\"/>\n\n  <xsl:template match=\"a[starts-with(@href, 'http://') or starts-with(@href, 'https://')]\" priority=\"1\">\n    <Relationship Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\" Target=\"{@href}\" TargetMode=\"External\">\n      <xsl:attribute name=\"Id\"><xsl:call-template name=\"relationship-id\"/></xsl:attribute>\n    </Relationship>\n  </xsl:template>\n\n  <!--\n    Images can either be embedded in the document or referenced via the external url.\n    By default images are embedded and a copy will be stored in the final zip folder.\n    If you want your images to be referenced externally (don't store the image files) then add  data-external=\"true\" to your image tag(s).\n    If you are embedding them images need a filename. You can either define one by passing the name and extension to data-filename or rely on the defaul which is the last part of the source url.\n    **Word files can be corrupted if an extension isn't present so if you are relying on the source url ensure that is has an extension.**\n  -->\n  <xsl:template match=\"img\" priority=\"0\">\n    <Relationship Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\">\n      <xsl:choose>\n        <xsl:when test=\"@data-external = 'true'\">\n          <xsl:attribute name=\"Target\"><xsl:value-of select=\"@src\"/></xsl:attribute>\n          <xsl:attribute name=\"TargetMode\">External</xsl:attribute>\n        </xsl:when>\n\n        <xsl:otherwise>\n          <xsl:attribute name=\"Target\">media/image<xsl:value-of select=\"count(preceding::img)+1\"/>.<xsl:call-template name=\"image-extension\">\n              <xsl:with-param name=\"source\" select=\"@src\"/>\n              <xsl:with-param name=\"data-filename\" select=\"@data-filename\"/>\n            </xsl:call-template>\n          </xsl:attribute>\n        </xsl:otherwise>\n      </xsl:choose>\n\n      <xsl:attribute name=\"Id\"><xsl:call-template name=\"relationship-id\"/></xsl:attribute>\n    </Relationship>\n  </xsl:template>\n\n  <xsl:template match=\"/\">\n    <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n    <Relationships>\n      <Relationship Id=\"rId3\" Type=\"http://schemas.microsoft.com/office/2007/relationships/stylesWithEffects\" Target=\"stylesWithEffects.xml\"/>\n      <Relationship Id=\"rId4\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings\" Target=\"settings.xml\"/>\n      <Relationship Id=\"rId5\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings\" Target=\"webSettings.xml\"/>\n      <Relationship Id=\"rId6\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable\" Target=\"fontTable.xml\"/>\n      <Relationship Id=\"rId7\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\" Target=\"theme/theme1.xml\"/>\n      <Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering\" Target=\"numbering.xml\"/>\n      <Relationship Id=\"rId2\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\" Target=\"styles.xml\"/>\n      <xsl:apply-templates select=\"*\"/>\n    </Relationships>\n  </xsl:template>\n\n  <xsl:template match=\"text()|@*\"/>\n</xsl:stylesheet>\n"
  },
  {
    "path": "lib/htmltoword/xslt/style2.xslt",
    "content": "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\"\n                xmlns:o=\"urn:schemas-microsoft-com:office:office\"\n                xmlns:v=\"urn:schemas-microsoft-com:vml\"\n                xmlns:WX=\"http://schemas.microsoft.com/office/word/2003/auxHint\"\n                xmlns:aml=\"http://schemas.microsoft.com/aml/2001/core\"\n                xmlns:w10=\"urn:schemas-microsoft-com:office:word\"\n                xmlns:pkg=\"http://schemas.microsoft.com/office/2006/xmlPackage\"\n                xmlns:msxsl=\"urn:schemas-microsoft-com:xslt\"\n                xmlns:ext=\"http://www.xmllab.net/wordml2html/ext\"\n                xmlns:java=\"http://xml.apache.org/xalan/java\"\n                xmlns:str=\"http://exslt.org/common\"\n                xmlns:fn=\"http://www.w3.org/2005/xpath-functions\"\n                version=\"1.0\"\n                exclude-result-prefixes=\"java msxsl ext w o v WX aml w10\">\n\n\n  <xsl:output method=\"xml\" encoding=\"utf-8\" omit-xml-declaration=\"no\" indent=\"yes\" />\n\n  <xsl:template match=\"/ | html\">\n    <w:document xmlns:wpc=\"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\" xmlns:mo=\"http://schemas.microsoft.com/office/mac/office/2008/main\" xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" xmlns:mv=\"urn:schemas-microsoft-com:mac:vml\" xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\" xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:wp14=\"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\" xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\" xmlns:w10=\"urn:schemas-microsoft-com:office:word\" xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\" xmlns:wpg=\"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\" xmlns:wpi=\"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\" xmlns:wne=\"http://schemas.microsoft.com/office/word/2006/wordml\" xmlns:wps=\"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\" mc:Ignorable=\"w14 wp14\">\n      <xsl:apply-templates select=\"//body\"/>\n    </w:document>\n  </xsl:template>\n\n  <xsl:template match=\"body\">\n    <w:body>\n      <w:p>\n        <xsl:apply-templates/>\n      </w:p>\n      <w:sectPr>\n        <w:pgSz w:w=\"11906\" w:h=\"16838\"/>\n        <w:pgMar w:top=\"1440\" w:right=\"1440\" w:bottom=\"1440\" w:left=\"1440\" w:header=\"708\" w:footer=\"708\" w:gutter=\"0\"/>\n        <w:cols w:space=\"708\"/>\n        <w:docGrid w:linePitch=\"360\"/>\n      </w:sectPr>\n    </w:body>\n  </xsl:template>\n\n  <xsl:template match=\"h1|h2|h3|li|span\">\n    <w:br/>\n      <w:r>\n        <xsl:comment>Im block</xsl:comment>\n        <w:t xml:space=\"preserve\"><xsl:value-of select=\".\"/></w:t>\n      </w:r>\n    <w:br/>\n  </xsl:template>\n\n</xsl:stylesheet>"
  },
  {
    "path": "lib/htmltoword/xslt/tables.xslt",
    "content": "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\"\n                xmlns:o=\"urn:schemas-microsoft-com:office:office\"\n                xmlns:v=\"urn:schemas-microsoft-com:vml\"\n                xmlns:WX=\"http://schemas.microsoft.com/office/word/2003/auxHint\"\n                xmlns:aml=\"http://schemas.microsoft.com/aml/2001/core\"\n                xmlns:w10=\"urn:schemas-microsoft-com:office:word\"\n                xmlns:pkg=\"http://schemas.microsoft.com/office/2006/xmlPackage\"\n                xmlns:msxsl=\"urn:schemas-microsoft-com:xslt\"\n                xmlns:ext=\"http://www.xmllab.net/wordml2html/ext\"\n                xmlns:java=\"http://xml.apache.org/xalan/java\"\n                xmlns:str=\"http://exslt.org/strings\"\n                xmlns:func=\"http://exslt.org/functions\"\n                xmlns:fn=\"http://www.w3.org/2005/xpath-functions\"\n                version=\"1.0\"\n                exclude-result-prefixes=\"java msxsl ext w o v WX aml w10\"\n                extension-element-prefixes=\"func\">\n\n  <!--XSLT support for tables -->\n\n  <!-- Full width tables per default -->\n  <xsl:template match=\"table\">\n    <w:tbl>\n      <w:tblPr>\n        <w:tblStyle w:val=\"TableGrid\"/>\n        <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n        <xsl:call-template name=\"tableborders\"/>\n        <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n      </w:tblPr>\n      <xsl:apply-templates />\n    </w:tbl>\n  </xsl:template>\n\n  <xsl:template match=\"tbody\">\n    <xsl:apply-templates />\n  </xsl:template>\n\n  <xsl:template match=\"thead\">\n    <xsl:choose>\n      <xsl:when test=\"count(./tr) = 0\">\n        <w:tr><xsl:apply-templates /></w:tr>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:apply-templates />\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <xsl:template match=\"tr\">\n    <xsl:if test=\"string-length(.) > 0\">\n      <w:tr>\n        <xsl:apply-templates />\n      </w:tr>\n    </xsl:if>\n  </xsl:template>\n\n  <xsl:template match=\"th\">\n    <w:tc>\n      <xsl:call-template name=\"table-cell-properties\"/>\n      <w:p>\n        <w:r>\n          <w:rPr>\n            <w:b />\n          </w:rPr>\n          <w:t xml:space=\"preserve\"><xsl:value-of select=\".\"/></w:t>\n        </w:r>\n      </w:p>\n    </w:tc>\n  </xsl:template>\n\n  <xsl:template match=\"td\">\n    <w:tc>\n      <xsl:call-template name=\"table-cell-properties\"/>\n      <xsl:call-template name=\"block\">\n        <xsl:with-param name=\"current\" select=\".\" />\n        <xsl:with-param name=\"class\" select=\"@class\" />\n        <xsl:with-param name=\"style\" select=\"@style\" />\n      </xsl:call-template>\n    </w:tc>\n  </xsl:template>\n\n  <xsl:template name=\"block\">\n    <xsl:param name=\"current\" />\n    <xsl:param name=\"class\" />\n    <xsl:param name=\"style\" />\n    <xsl:if test=\"count($current/*|$current/text()) = 0\">\n      <w:p/>\n    </xsl:if>\n    <xsl:for-each select=\"$current/*|$current/text()\">\n      <xsl:choose>\n        <xsl:when test=\"name(.) = 'table'\">\n          <xsl:apply-templates select=\".\" />\n          <w:p/>\n        </xsl:when>\n        <xsl:when test=\"contains('|p|h1|h2|h3|h4|h5|h6|ul|ol|', concat('|', name(.), '|'))\">\n          <xsl:apply-templates select=\".\" />\n        </xsl:when>\n        <xsl:when test=\"descendant::table|descendant::p|descendant::h1|descendant::h2|descendant::h3|descendant::h4|descendant::h5|descendant::h6|descendant::li\">\n          <xsl:call-template name=\"block\">\n            <xsl:with-param name=\"current\" select=\".\"/>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <w:p>\n            <xsl:call-template name=\"text-alignment\">\n              <xsl:with-param name=\"class\" select=\"$class\" />\n              <xsl:with-param name=\"style\" select=\"$style\" />\n            </xsl:call-template>\n            <xsl:apply-templates select=\".\" />\n          </w:p>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:for-each>\n  </xsl:template>\n\n  <xsl:template name=\"tableborders\">\n    <xsl:variable name=\"border\">\n      <xsl:choose>\n        <xsl:when test=\"contains(concat(' ', @class, ' '), ' table-bordered ')\">6</xsl:when>\n        <xsl:when test=\"not(@border)\">0</xsl:when>\n        <xsl:otherwise><xsl:value-of select=\"./@border * 6\"/></xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:variable name=\"bordertype\">\n      <xsl:choose>\n        <xsl:when test=\"$border=0\">none</xsl:when>\n        <xsl:otherwise>single</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <w:tblBorders>\n      <w:top w:val=\"{$bordertype}\" w:sz=\"{$border}\" w:space=\"0\" w:color=\"auto\"/>\n      <w:left w:val=\"{$bordertype}\" w:sz=\"{$border}\" w:space=\"0\" w:color=\"auto\"/>\n      <w:bottom w:val=\"{$bordertype}\" w:sz=\"{$border}\" w:space=\"0\" w:color=\"auto\"/>\n      <w:right w:val=\"{$bordertype}\" w:sz=\"{$border}\" w:space=\"0\" w:color=\"auto\"/>\n      <w:insideH w:val=\"{$bordertype}\" w:sz=\"{$border}\" w:space=\"0\" w:color=\"auto\"/>\n      <w:insideV w:val=\"{$bordertype}\" w:sz=\"{$border}\" w:space=\"0\" w:color=\"auto\"/>\n    </w:tblBorders>\n  </xsl:template>\n\n  <xsl:template name=\"table-cell-properties\">\n    <w:tcPr>\n      <xsl:if test=\"contains(@class, 'ms-border-')\">\n        <w:tcBorders>\n          <xsl:for-each select=\"str:tokenize(@class, ' ')\">\n            <xsl:call-template name=\"define-border\">\n              <xsl:with-param name=\"class\" select=\".\" />\n            </xsl:call-template>\n          </xsl:for-each>\n        </w:tcBorders>\n      </xsl:if>\n      <xsl:if test=\"contains(@class, 'ms-fill-')\">\n        <xsl:variable name=\"cell-bg\" select=\"str:tokenize(substring-after(@class, 'ms-fill-'), ' ')[1]\"/>\n        <w:shd w:val=\"clear\" w:color=\"auto\" w:fill=\"{$cell-bg}\" />\n      </xsl:if>\n      <xsl:if test=\"@colspan &gt; 1\">\n        <w:gridSpan w:val=\"{@colspan}\"/>\n      </xsl:if>\n    </w:tcPr>\n  </xsl:template>\n\n  <xsl:template name=\"define-border\">\n    <xsl:param name=\"class\" />\n    <xsl:if test=\"contains($class, 'ms-border-')\">\n      <xsl:variable name=\"border\" select=\"substring-after($class, 'ms-border-')\"/>\n      <xsl:variable name=\"border-properties\" select=\"str:tokenize($border, '-')\"/>\n      <xsl:variable name=\"border-location\" select=\"$border-properties[1]\" />\n      <xsl:variable name=\"border-value\" select=\"$border-properties[2]\" />\n      <xsl:variable name=\"border-color\">\n        <xsl:choose>\n          <xsl:when test=\"string-length($border-properties[3]) > 0\"><xsl:value-of select=\"$border-properties[3]\"/></xsl:when>\n          <xsl:otherwise>000000</xsl:otherwise>\n        </xsl:choose>\n      </xsl:variable>\n      <xsl:variable name=\"border-size\">\n        <xsl:choose>\n          <xsl:when test=\"string-length($border-properties[4]) > 0\"><xsl:value-of select=\"$border-properties[4] * 6\"/></xsl:when>\n          <xsl:otherwise>6</xsl:otherwise>\n        </xsl:choose>\n      </xsl:variable>\n      <xsl:element name=\"w:{$border-location}\">\n        <xsl:attribute name=\"w:val\"><xsl:value-of select=\"$border-value\" /></xsl:attribute>\n        <xsl:attribute name=\"w:sz\"><xsl:value-of select=\"$border-size\" /></xsl:attribute>\n        <xsl:attribute name=\"w:space\">0</xsl:attribute>\n        <xsl:attribute name=\"w:color\"><xsl:value-of select=\"$border-color\" /></xsl:attribute>\n      </xsl:element>\n    </xsl:if>\n  </xsl:template>\n\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "lib/htmltoword.rb",
    "content": "# encoding: UTF-8\nrequire 'nokogiri'\nrequire 'zip'\nrequire 'open-uri'\nrequire_relative 'htmltoword/configuration'\n\nmodule Htmltoword\n  class << self\n    def configure\n      yield configuration\n    end\n\n    def configuration\n      @configuration ||= Configuration.new\n    end\n\n    alias_method :config, :configuration\n  end\nend\n\nrequire_relative 'htmltoword/version'\nrequire_relative 'htmltoword/helpers/templates_helper'\nrequire_relative 'htmltoword/helpers/xslt_helper'\nrequire_relative 'htmltoword/document'\n\nif defined?(Rails)\n  require_relative 'htmltoword/renderer'\n  require_relative 'htmltoword/railtie'\nend\n"
  },
  {
    "path": "script/build-template",
    "content": "#!/bin/sh\n\nset -e\n\ncwd=$(pwd)\npath=\"$(pwd)/lib/htmltoword/templates/default.docx\"\nrm -f $path\ncd templates/default\n\n# Zip options:\n# r - recursive\n# l - convert LF to CR LF line endings\n# D - Don't make entries for directories\n# T - test the resulting zip\n# 9 - Moar compression\n# q - quiet\n# o - make the file as old as the latest entry\nzip -r -l -D -T -9 -q -o $path *\n\ncd $cwd\n"
  },
  {
    "path": "script/extract-template",
    "content": "#!/bin/sh\n\nset -e\n\nrm -rf templates/default\nunzip lib/htmltoword/templates/default.docx -d templates/default\n"
  },
  {
    "path": "script/setup",
    "content": "#!/usr/bin/env sh\nif ! which xmllint &>/dev/null; then\n  echo \"Please install xmllint\"\n  exit 0\nfi\n\nfor f in clean smudge; do\n  if ! git config --get \"filter.xml-c14n.$f\" &>/dev/null; then\n    git config --add \"filter.xml-c14n.$f\" \"xmllint --c14n11 -\"\n  fi\ndone\n"
  },
  {
    "path": "spec/document_spec.rb",
    "content": "require 'spec_helper'\nrequire 'securerandom'\n\ndescribe Htmltoword::Document do\n  describe \"local_images\" do\n    let(:html) do\n      <<-EOL\n        <!DOCTYPE html>\n        <html>\n        <head></head>\n        <body>\n          <img src=\"https://placehold.it/50x50.png\" style=\"width:50px;height:50px\">\n          <a href=\"http://www.example.com\">\n            <img src=\"https://placehold.it/10x10.png\" style=\"width:10px;height:10px\">\n            Hello!\n          </a>\n          <p><img src=\"https://placehold.it/350x150.png\" style=\"width:350px;height:150px\"></p>\n          <p><img src=\"https://placehold.it/400x250.jpg\" style=\"width:400px;height:250px\"></p>\n          <p><img src=\"https://placehold.it/350x150.tiff\" style=\"width:350px;height:150px\"></p>\n          <p><img src=\"https://placehold.it/400x250.gif\" style=\"width:400px;height:250px\"></p>\n        </body>\n        </html>\n      EOL\n    end\n\n    #in order to test if the images files are embedded correctly we have to create_and_save, then open the zip and look for them. Then ensure that we cleanup the created file.\n    #There is probably a better way of doing it as this seems very performance heavy but does have the advantage of testing the create method all the way through...\n    it \"should only embed local images\" do\n      filename = SecureRandom.urlsafe_base64\n      begin\n        docx = Htmltoword::Document.create_and_save(html, tmp_path(filename))\n        Zip::File.open(tmp_path(filename)) do |zip_file|\n          # Find specific entry\n          expect(zip_file.glob('word/media/*').size).to eq 6\n        end\n      ensure\n        File.delete(tmp_path(filename))\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "spec/fixtures/complex/nestings.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n</head>\n<body>\n<div class=\"delivery\" data-assembly-id=\"4\" data-marginalia=\"null\">\n  <div id=\"content\">\n    <div class=\"page\">\n      <h1>My document</h1>\n      <h2>Fake TOC</h2>\n      <ul>\n        <li>\n          <a href=\"#5\">Section 1</a>\n          (Sec1)\n        </li>\n        <li>\n          <a href=\"#4384\">Section 2</a>\n          (Sec2)\n        </li>\n      </ul>\n    </div>\n    <div class=\"page -page-break\">\n      <div class=\"assembly-item\" id=\"5\">\n        <div class=\"document\" data-id=\"7\" data-name=\"name1\">\n          <div class=\"maincontent\" id=\"name1\">\n            <h1 class=\"ArtikelATitel\">Section 1</h1>\n            <p class=\"KildeAarNr\">\n              <a href=\"#name1\" title=\"Title\" shape=\"rect\">Link</a>\n            </p>\n            <p class=\"Forfattere\">By Author</p>\n            <p class=\"Resume\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam convallis ut felis a cursus. Etiam sodales quis nisl ac elementum. Suspendisse egestas hendrerit diam sit amet mattis. </p>\n            <div class=\"toc-sect2\" title=\"Title\">\n              <h1 class=\"R2\">1. Sect</h1>\n            </div>\n            <p class=\"Body\">Etiam convallis ut felis a cursus. <a href=\"/some/route/\" targetdocid=\"docid\" title=\"Title\" rel=\"1\" shape=\"rect\" data-idref=\"idref\">link 1 </a>and <a href=\"/some/route/\" targetdocid=\"docid\" title=\"Title\" rel=\"1\" shape=\"rect\" data-idref=\"idref\">28</a>, idet aktier </p>\n            <h2 class=\"R3\">title 2</h2>\n            <p class=\"Body-start\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. :<sup class=\"FootnoteRef\"><a href=\"#name1_NOTE1\" shape=\"rect\">[1]</a></sup>\n            </p>\n            <table class=\"realtable\" width=\"100%\" cellpadding=\"2\" cellspacing=\"1\">\n              <tbody>\n              <tr class=\"realtable\" valign=\"bottom\">\n                <td class=\"realtable\" rowspan=\"1\" colspan=\"1\">\n                  <p class=\"Tabelhoved\">1,1</p>\n                </td>\n                <td class=\"realtable\" rowspan=\"1\" colspan=\"1\">\n                  <p class=\"Tabelhoved\">1,2</p>\n                </td>\n                <td class=\"realtable\" rowspan=\"1\" colspan=\"1\">\n                  <p class=\"Tabelhoved\">1,3</p>\n                </td>\n                <td class=\"realtable\" rowspan=\"1\" colspan=\"1\">\n                  <p class=\"Body-start\">\n                    <sub>=</sub>\n                    <sub>1,4</sub>\n                  </p>\n                </td>\n                <td class=\"realtable\" rowspan=\"1\" colspan=\"1\">\n                  <p class=\"Tabelhoved\">1,5</p>\n                </td>\n                <td class=\"realtable\" rowspan=\"1\" colspan=\"1\">\n                  <p class=\"Tabelhoved\">1,6</p>\n                </td>\n              </tr>\n              <tr class=\"realtable\" valign=\"top\">\n                <td class=\"realtable\" rowspan=\"1\" colspan=\"1\">\n                  <p class=\"Body-start\">100</p>\n                </td>\n                <td class=\"realtable\" rowspan=\"1\" colspan=\"1\">\n                  <p class=\"Body-start\">100</p>\n                </td>\n                <td class=\"realtable\" rowspan=\"1\" colspan=\"1\">\n                  <p class=\"Body-start\">Text</p>\n                </td>\n                <td class=\"realtable\" rowspan=\"1\" colspan=\"1\">\n                  <p class=\"Body-start\">Lorem</p>\n                </td>\n                <td class=\"realtable\" rowspan=\"1\" colspan=\"1\">\n                  <p class=\"Body-start\">ipsum</p>\n                </td>\n                <td class=\"realtable\" rowspan=\"1\" colspan=\"1\">\n                  <p class=\"Body-start\">bla</p>\n                </td>\n              </tr>\n              </tbody>\n            </table>\n            <p class=\"Body-start\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam convallis ut felis a cursus. <img src=\"http://placehold.it/150x150\" data-width=\"150px\" data-height=\"150px\" data-filename=\"what-a-nice-pic.png\" alt=\"Something beautiful\"></p>\n            <table width=\"100%\" class=\"list\">\n              <tbody>\n              <tr class=\"item\">\n                <td class=\"itemnum\" width=\"4%\" rowspan=\"1\" colspan=\"1\">\n                  <p class=\"Body\">–</p>\n                </td>\n                <td class=\"itembody\" width=\"96%\" rowspan=\"1\" colspan=\"1\">\n                  <p>\n                    <span class=\"style7\">1.</span>\n                    <span class=\"style13\">Funny spans </span>\n                    <a href=\"/some/route/\" targetdocid=\"docid\" title=\"Title\" rel=\"1\" shape=\"rect\" data-idref=\"idref\">and links</a>, in <span class=\"style7\">,</span>\n                    <span class=\"style14\"> here </span>\n                  </p>\n                </td>\n              </tr>\n              <tr class=\"item\">\n                <td class=\"itemnum\" width=\"4%\" rowspan=\"1\" colspan=\"1\">\n                  <p class=\"Body\">–</p>\n                </td>\n                <td class=\"itembody\" width=\"96%\" rowspan=\"1\" colspan=\"1\">\n                  <p class=\"Body\">Table list</p>\n                </td>\n              </tr>\n              <tr class=\"item\">\n                <td class=\"itemnum\" width=\"4%\" rowspan=\"1\" colspan=\"1\">\n                  <p class=\"Body\">–</p>\n                </td>\n                <td class=\"itembody\" width=\"96%\" rowspan=\"1\" colspan=\"1\">\n                  <p>With a p and no class<span class=\"style22\">*</span></p>\n                </td>\n              </tr>\n              </tbody>\n            </table>\n            <p class=\"Body-start\">Etiam sodales quis nisl ac elementum. Suspendisse egestas hendrerit diam sit amet mattis.</p>\n            <p class=\"Body\">Sed id consectetur orci. Phasellus ultrices laoreet lectus, a laoreet magna accumsan eget.</p>\n            <p class=\"R6\">Curabitur erat mi, congue non turpis non, faucibus dapibus magna. Phasellus a accumsan tortor. Quisque quam purus, vehicula a auctor vitae,</p>\n            <div class=\"toc-sect2\" title=\"Title\">\n              <h1 class=\"R2\">2. Div h1</h1>\n            </div>\n            <p class=\"Body-start\">lobortis nec dui. Aenean rutrum elementum nulla, ut consequat velit accumsan vitae. Duis iaculis nulla elit, quis rhoncus mi malesuada vel.</p>\n            <h1 class=\"footnote-header\">Noter</h1>\n          </div>\n        </div>\n      </div>\n      <hr>\n    </div>\n    <div class=\"page -page-break\">\n      <div class=\"assembly-item\" id=\"4384\">\n        <div class=\"document\" data-id=\"706\" data-name=\"name3\">\n          <div class=\"maincontent\" id=\"name3\">\n            <h1>Section 2</h1>\n            <div class=\"toc-sect2\" title=\"Title\">\n              <div id=\"id\">\n              </div>\n              <img src=\"https://placehold.it/250x100.png\" style=\"width:250px; height:100px\" alt=\"Placeholder Image\"/>\n              <h2>Sec 2</h2>\n              <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam convallis ut felis a cursus </p>\n              <p> • Fake item 1. Beløbet skal være indbetalt til den finansielle virksomhed</p>\n              <p> • Fake item 2, long one. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam convallis ut felis a cursus. Etiam sodales quis nisl ac elementum. Suspendisse egestas hendrerit diam sit amet mattis. Sed id consectetur orci. Phasellus ultrices laoreet lectus, a laoreet magna accumsan eget. Curabitur erat mi, congue non turpis non, faucibus dapibus magna. Phasellus a accumsan tortor. Quisque quam purus, vehicula a auctor vitae, lobortis nec dui. Aenean rutrum elementum nulla, ut consequat velit accumsan vitae. Duis iaculis nulla elit, quis rhoncus mi malesuada vel.</p>\n              <p>\n                <i class=\"style2\">“… Quoted text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam convallis ut felis a cursus.  …”.</i>\n              </p>\n            </div>\n            <hr>\n            <div class=\"\" id=\"ftn1\">\n              <p class=\"ftn\">\n                <a class=\"ftn\" href=\"/some/route/\" name=\"_ftn1\" shape=\"rect\">\n                  <sup><span><span><span>[1]</span></span></span></sup>\n                </a>\n                <span>Jf. <a href=\"/some/route/\" title=\"Title\" shape=\"rect\" data-idref=\"idref\">Ref 1</a> lorem ipsum, and <a href=\"/some/route/\" title=\"Title\" shape=\"rect\" data-idref=\"idref\">Ref 2</a> Lorem ipsum dolor sit amet, consectetur adipiscing <i>Italics</i>: elit. Etiam convallis ut felis <i>a cursus</i>: Etiam sodales quis nisl ac elementum. Suspendisse egestas hendrerit diam sit amet mattis. <a href=\"/some/route/\" title=\"Title\" shape=\"rect\" data-idref=\"idref\">Ref 3</a> ed id consectetur orci. Phasellus ultrices laoreet lectus, a laoreet magna accumsan eget. </span>\n              </p>\n              <p class=\"ftn\">\n                <span>&nbsp;</span>\n              </p>\n            </div>\n            <div class=\"\" id=\"ftn2\">\n              <p class=\"ftn\">\n                <a href=\"/some/route/\" name=\"_ftn2\" shape=\"rect\">\n                  <sup><span><span><span>[2]</span></span></span></sup>\n                </a>\n                <span>Jf. <a href=\"/some/route/\" title=\"Title\" shape=\"rect\" data-idref=\"idref\">Ref 4</a> Curabitur erat mi, congue non turpis non, faucibus dapibus magna. Phasellus a accumsan tortor. Quisque quam purus, vehicula a auctor vitae, lobortis nec dui</span>\n              </p>\n              <p class=\"ftn\">\n                <span>&nbsp;</span>\n              </p>\n            </div>\n          </div>\n        </div>\n      </div>\n      <hr>\n    </div>\n  </div>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "spec/fixtures/complex/nestings.xml",
    "content": "<w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading1\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">My document</w:t>\n  </w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"Heading2\"/>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">Fake TOC</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"ListParagraph\"/>\n  <w:numPr>\n    <w:ilvl w:val=\"0\"/>\n    <w:numId w:val=\"1\"/>\n  </w:numPr>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">Section 1</w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\"> (Sec1) </w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"ListParagraph\"/>\n  <w:numPr>\n    <w:ilvl w:val=\"0\"/>\n    <w:numId w:val=\"1\"/>\n  </w:numPr>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">Section 2</w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\"> (Sec2) </w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:r>\n  <w:br w:type=\"page\"/>\n</w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"Heading1\"/>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">Section 1</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:r>\n  <w:t xml:space=\"preserve\">Link</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:r>\n  <w:t xml:space=\"preserve\">By Author</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:r>\n  <w:t xml:space=\"preserve\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam convallis ut felis a cursus. Etiam sodales quis nisl ac elementum. Suspendisse egestas hendrerit diam sit amet mattis. </w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"Heading1\"/>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">1. Sect</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:r>\n  <w:t xml:space=\"preserve\">Etiam convallis ut felis a cursus. </w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\">link 1 </w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\">and </w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\">28</w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\">, idet aktier </w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"Heading2\"/>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">title 2</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:r>\n  <w:t xml:space=\"preserve\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. :</w:t>\n</w:r>\n<w:r>\n  <w:rPr>\n    <w:vertAlign w:val=\"superscript\"/>\n  </w:rPr>\n  <w:t xml:space=\"preserve\">[1]</w:t>\n</w:r>\n</w:p>\n<w:tbl>\n<w:tblPr>\n  <w:tblStyle w:val=\"TableGrid\"/>\n  <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n  <w:tblBorders>\n    <w:top w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n    <w:left w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n    <w:bottom w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n    <w:right w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n    <w:insideH w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n    <w:insideV w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n  </w:tblBorders>\n  <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n</w:tblPr>\n<w:tr>\n  <w:tc>\n    <w:tcPr/>\n    <w:p>\n      <w:r>\n        <w:t xml:space=\"preserve\">1,1</w:t>\n      </w:r>\n    </w:p>\n  </w:tc>\n  <w:tc>\n    <w:tcPr/>\n    <w:p>\n      <w:r>\n        <w:t xml:space=\"preserve\">1,2</w:t>\n      </w:r>\n    </w:p>\n  </w:tc>\n  <w:tc>\n    <w:tcPr/>\n    <w:p>\n      <w:r>\n        <w:t xml:space=\"preserve\">1,3</w:t>\n      </w:r>\n    </w:p>\n  </w:tc>\n  <w:tc>\n    <w:tcPr/>\n    <w:p>\n      <w:r>\n        <w:rPr>\n          <w:vertAlign w:val=\"subscript\"/>\n        </w:rPr>\n        <w:t xml:space=\"preserve\">=</w:t>\n      </w:r>\n      <w:r>\n        <w:rPr>\n          <w:vertAlign w:val=\"subscript\"/>\n        </w:rPr>\n        <w:t xml:space=\"preserve\">1,4</w:t>\n      </w:r>\n    </w:p>\n  </w:tc>\n  <w:tc>\n    <w:tcPr/>\n    <w:p>\n      <w:r>\n        <w:t xml:space=\"preserve\">1,5</w:t>\n      </w:r>\n    </w:p>\n  </w:tc>\n  <w:tc>\n    <w:tcPr/>\n    <w:p>\n      <w:r>\n        <w:t xml:space=\"preserve\">1,6</w:t>\n      </w:r>\n    </w:p>\n  </w:tc>\n</w:tr>\n<w:tr>\n  <w:tc>\n    <w:tcPr/>\n    <w:p>\n      <w:r>\n        <w:t xml:space=\"preserve\">100</w:t>\n      </w:r>\n    </w:p>\n  </w:tc>\n  <w:tc>\n    <w:tcPr/>\n    <w:p>\n      <w:r>\n        <w:t xml:space=\"preserve\">100</w:t>\n      </w:r>\n    </w:p>\n  </w:tc>\n  <w:tc>\n    <w:tcPr/>\n    <w:p>\n      <w:r>\n        <w:t xml:space=\"preserve\">Text</w:t>\n      </w:r>\n    </w:p>\n  </w:tc>\n  <w:tc>\n    <w:tcPr/>\n    <w:p>\n      <w:r>\n        <w:t xml:space=\"preserve\">Lorem</w:t>\n      </w:r>\n    </w:p>\n  </w:tc>\n  <w:tc>\n    <w:tcPr/>\n    <w:p>\n      <w:r>\n        <w:t xml:space=\"preserve\">ipsum</w:t>\n      </w:r>\n    </w:p>\n  </w:tc>\n  <w:tc>\n    <w:tcPr/>\n    <w:p>\n      <w:r>\n        <w:t xml:space=\"preserve\">bla</w:t>\n      </w:r>\n    </w:p>\n  </w:tc>\n</w:tr>\n</w:tbl>\n<w:p>\n<w:r>\n  <w:t xml:space=\"preserve\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam convallis ut felis a cursus. </w:t>\n</w:r>\n<w:drawing>\n  <wp:inline distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\">\n    <wp:extent cx=\"1524000\" cy=\"1524000\"/>\n    <wp:effectExtent l=\"0\" t=\"0\" r=\"0\" b=\"0\"/>\n    <wp:docPr id=\"1\" name=\"Picture 1\"/>\n    <wp:cNvGraphicFramePr>\n      <a:graphicFrameLocks noChangeAspect=\"1\"/>\n    </wp:cNvGraphicFramePr>\n    <a:graphic>\n      <a:graphicData uri=\"http://schemas.openxmlformats.org/drawingml/2006/picture\">\n        <pic:pic>\n          <pic:nvPicPr>\n            <pic:cNvPr id=\"1\" title=\"Something beautiful\" name=\"what-a-nice-pic.png\"/>\n            <pic:cNvPicPr/>\n          </pic:nvPicPr>\n          <pic:blipFill>\n            <a:blip r:embed=\"rId8\">\n              <a:extLst>\n                <a:ext uri=\"{28A0092B-C50C-407E-A947-70E740481C1C}\">\n                  <a14:useLocalDpi val=\"0\"/>\n                </a:ext>\n              </a:extLst>\n            </a:blip>\n            <a:stretch>\n              <a:fillRect/>\n            </a:stretch>\n          </pic:blipFill>\n          <pic:spPr>\n            <a:xfrm>\n              <a:off x=\"0\" y=\"0\"/>\n              <a:ext cx=\"1524000\" cy=\"1524000\"/>\n            </a:xfrm>\n            <a:prstGeom prst=\"rect\">\n              <a:avLst/>\n            </a:prstGeom>\n          </pic:spPr>\n        </pic:pic>\n      </a:graphicData>\n    </a:graphic>\n  </wp:inline>\n</w:drawing>\n</w:p>\n<w:tbl>\n<w:tblPr>\n  <w:tblStyle w:val=\"TableGrid\"/>\n  <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n  <w:tblBorders>\n    <w:top w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n    <w:left w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n    <w:bottom w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n    <w:right w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n    <w:insideH w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n    <w:insideV w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n  </w:tblBorders>\n  <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n</w:tblPr>\n<w:tr>\n  <w:tc>\n    <w:tcPr/>\n    <w:p>\n      <w:r>\n        <w:t xml:space=\"preserve\">–</w:t>\n      </w:r>\n    </w:p>\n  </w:tc>\n  <w:tc>\n    <w:tcPr/>\n    <w:p>\n      <w:r>\n        <w:t xml:space=\"preserve\">1.</w:t>\n      </w:r>\n      <w:r>\n        <w:t xml:space=\"preserve\">Funny spans </w:t>\n      </w:r>\n      <w:r>\n        <w:t xml:space=\"preserve\">and links</w:t>\n      </w:r>\n      <w:r>\n        <w:t xml:space=\"preserve\">, in </w:t>\n      </w:r>\n      <w:r>\n        <w:t xml:space=\"preserve\">,</w:t>\n      </w:r>\n      <w:r>\n        <w:t xml:space=\"preserve\"> here </w:t>\n      </w:r>\n    </w:p>\n  </w:tc>\n</w:tr>\n<w:tr>\n  <w:tc>\n    <w:tcPr/>\n    <w:p>\n      <w:r>\n        <w:t xml:space=\"preserve\">–</w:t>\n      </w:r>\n    </w:p>\n  </w:tc>\n  <w:tc>\n    <w:tcPr/>\n    <w:p>\n      <w:r>\n        <w:t xml:space=\"preserve\">Table list</w:t>\n      </w:r>\n    </w:p>\n  </w:tc>\n</w:tr>\n<w:tr>\n  <w:tc>\n    <w:tcPr/>\n    <w:p>\n      <w:r>\n        <w:t xml:space=\"preserve\">–</w:t>\n      </w:r>\n    </w:p>\n  </w:tc>\n  <w:tc>\n    <w:tcPr/>\n    <w:p>\n      <w:r>\n        <w:t xml:space=\"preserve\">With a p and no class</w:t>\n      </w:r>\n      <w:r>\n        <w:t xml:space=\"preserve\">*</w:t>\n      </w:r>\n    </w:p>\n  </w:tc>\n</w:tr>\n</w:tbl>\n<w:p>\n<w:r>\n  <w:t xml:space=\"preserve\">Etiam sodales quis nisl ac elementum. Suspendisse egestas hendrerit diam sit amet mattis.</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:r>\n  <w:t xml:space=\"preserve\">Sed id consectetur orci. Phasellus ultrices laoreet lectus, a laoreet magna accumsan eget.</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:r>\n  <w:t xml:space=\"preserve\">Curabitur erat mi, congue non turpis non, faucibus dapibus magna. Phasellus a accumsan tortor. Quisque quam purus, vehicula a auctor vitae,</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"Heading1\"/>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">2. Div h1</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:r>\n  <w:t xml:space=\"preserve\">lobortis nec dui. Aenean rutrum elementum nulla, ut consequat velit accumsan vitae. Duis iaculis nulla elit, quis rhoncus mi malesuada vel.</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"Heading1\"/>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">Noter</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:r>\n  <w:br w:type=\"page\"/>\n</w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"Heading1\"/>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">Section 2</w:t>\n</w:r>\n</w:p>\n<w:p/>\n<w:drawing>\n  <wp:inline distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\">\n    <wp:extent cx=\"2540000\" cy=\"1016000\"/>\n    <wp:effectExtent l=\"0\" t=\"0\" r=\"0\" b=\"0\"/>\n    <wp:docPr id=\"2\" name=\"Picture 2\"/>\n    <wp:cNvGraphicFramePr>\n      <a:graphicFrameLocks noChangeAspect=\"1\"/>\n    </wp:cNvGraphicFramePr>\n    <a:graphic>\n      <a:graphicData uri=\"http://schemas.openxmlformats.org/drawingml/2006/picture\">\n        <pic:pic>\n          <pic:nvPicPr>\n            <pic:cNvPr id=\"2\" title=\"Placeholder Image\" name=\"250x100.png\"/>\n            <pic:cNvPicPr/>\n          </pic:nvPicPr>\n          <pic:blipFill>\n            <a:blip r:embed=\"rId9\">\n              <a:extLst>\n                <a:ext uri=\"{28A0092B-C50C-407E-A947-70E740481C1C}\">\n                  <a14:useLocalDpi val=\"0\"/>\n                </a:ext>\n              </a:extLst>\n            </a:blip>\n            <a:stretch>\n              <a:fillRect/>\n            </a:stretch>\n          </pic:blipFill>\n          <pic:spPr>\n            <a:xfrm>\n              <a:off x=\"0\" y=\"0\"/>\n              <a:ext cx=\"2540000\" cy=\"1016000\"/>\n            </a:xfrm>\n            <a:prstGeom prst=\"rect\">\n              <a:avLst/>\n            </a:prstGeom>\n          </pic:spPr>\n        </pic:pic>\n      </a:graphicData>\n    </a:graphic>\n  </wp:inline>\n</w:drawing>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"Heading2\"/>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">Sec 2</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:r>\n  <w:t xml:space=\"preserve\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam convallis ut felis a cursus </w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:r>\n  <w:t xml:space=\"preserve\"> • Fake item 1. Beløbet skal være indbetalt til den finansielle virksomhed</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:r>\n  <w:t xml:space=\"preserve\"> • Fake item 2, long one. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam convallis ut felis a cursus. Etiam sodales quis nisl ac elementum. Suspendisse egestas hendrerit diam sit amet mattis. Sed id consectetur orci. Phasellus ultrices laoreet lectus, a laoreet magna accumsan eget. Curabitur erat mi, congue non turpis non, faucibus dapibus magna. Phasellus a accumsan tortor. Quisque quam purus, vehicula a auctor vitae, lobortis nec dui. Aenean rutrum elementum nulla, ut consequat velit accumsan vitae. Duis iaculis nulla elit, quis rhoncus mi malesuada vel.</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:r>\n  <w:rPr>\n    <w:i/>\n  </w:rPr>\n  <w:t xml:space=\"preserve\">“… Quoted text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam convallis ut felis a cursus. …”.</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:r>\n  <w:rPr>\n    <w:vertAlign w:val=\"superscript\"/>\n  </w:rPr>\n  <w:t xml:space=\"preserve\">[1]</w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\">Jf. </w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\">Ref 1</w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\"> lorem ipsum, and </w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\">Ref 2</w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\"> Lorem ipsum dolor sit amet, consectetur adipiscing </w:t>\n</w:r>\n<w:r>\n  <w:rPr>\n    <w:i/>\n  </w:rPr>\n  <w:t xml:space=\"preserve\">Italics</w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\">: elit. Etiam convallis ut felis </w:t>\n</w:r>\n<w:r>\n  <w:rPr>\n    <w:i/>\n  </w:rPr>\n  <w:t xml:space=\"preserve\">a cursus</w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\">: Etiam sodales quis nisl ac elementum. Suspendisse egestas hendrerit diam sit amet mattis. </w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\">Ref 3</w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\"> ed id consectetur orci. Phasellus ultrices laoreet lectus, a laoreet magna accumsan eget. </w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:r>\n  <w:t xml:space=\"preserve\"> </w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:r>\n  <w:rPr>\n    <w:vertAlign w:val=\"superscript\"/>\n  </w:rPr>\n  <w:t xml:space=\"preserve\">[2]</w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\">Jf. </w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\">Ref 4</w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\"> Curabitur erat mi, congue non turpis non, faucibus dapibus magna. Phasellus a accumsan tortor. Quisque quam purus, vehicula a auctor vitae, lobortis nec dui</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:r>\n  <w:t xml:space=\"preserve\"> </w:t>\n</w:r>\n</w:p>"
  },
  {
    "path": "spec/fixtures/description_lists/test01.html",
    "content": "<!doctype html>\n<html>\n<head></head>\n<body>\n<!-- Single term and description -->\n<dl>\n  <dt>Firefox</dt>\n  <dd>\n    A free, open source, cross-platform,\n    graphical web browser developed by the\n    Mozilla Corporation and hundreds of\n    volunteers.\n  </dd>\n</dl>\n</body>\n</html>\n"
  },
  {
    "path": "spec/fixtures/description_lists/test01.xml",
    "content": "<w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Firefox</w:t>\n  </w:r>\n</w:p>\n<w:p>\n  <w:pPr>\n    <w:ind w:left=\"720\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">A free, open source, cross-platform, graphical web browser developed by the Mozilla Corporation and hundreds of volunteers. </w:t>\n  </w:r>\n</w:p>\n"
  },
  {
    "path": "spec/fixtures/description_lists/test02.html",
    "content": "<!doctype html>\n<html>\n<head></head>\n<body>\n<!-- Multiple terms, single description -->\n<dl>\n  <dt>Firefox</dt>\n  <dt>Mozilla Firefox</dt>\n  <dt>Fx</dt>\n  <dd>\n    A free, open source, cross-platform,\n    graphical web browser developed by the\n    Mozilla Corporation and hundreds of\n    volunteers.\n  </dd>\n</dl>\n</body>\n</html>\n"
  },
  {
    "path": "spec/fixtures/description_lists/test02.xml",
    "content": "<w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Firefox</w:t>\n  </w:r>\n</w:p>\n<w:p>\n<w:r>\n  <w:t xml:space=\"preserve\">Mozilla Firefox</w:t>\n</w:r>\n</w:p>\n<w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Fx</w:t>\n  </w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:ind w:left=\"720\"/>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">A free, open source, cross-platform, graphical web browser developed by the Mozilla Corporation and hundreds of volunteers. </w:t>\n</w:r>\n</w:p>\n"
  },
  {
    "path": "spec/fixtures/description_lists/test03.html",
    "content": "<!doctype html>\n<html>\n<head></head>\n<body>\n<!-- Single term, multiple descriptions -->\n<dl>\n  <dt>Firefox</dt>\n  <dd>\n    A free, open source, cross-platform,\n    graphical web browser developed by the\n    Mozilla Corporation and hundreds of\n    volunteers.\n  </dd>\n  <dd>\n    The Red Panda also known as the Lesser\n    Panda, Wah, Bear Cat or Firefox, is a\n    mostly herbivorous mammal, slightly larger\n    than a domestic cat (60 cm long).\n  </dd>\n</dl>\n</body>\n</html>\n"
  },
  {
    "path": "spec/fixtures/description_lists/test03.xml",
    "content": "<w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Firefox</w:t>\n  </w:r>\n</w:p>\n<w:p>\n  <w:pPr>\n    <w:ind w:left=\"720\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">A free, open source, cross-platform, graphical web browser developed by the Mozilla Corporation and hundreds of volunteers.</w:t>\n  </w:r>\n</w:p>\n<w:p>\n  <w:pPr>\n    <w:ind w:left=\"720\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">The Red Panda also known as the Lesser Panda, Wah, Bear Cat or Firefox, is a mostly herbivorous mammal, slightly larger than a domestic cat (60 cm long).</w:t>\n  </w:r>\n</w:p>\n"
  },
  {
    "path": "spec/fixtures/description_lists/test04.html",
    "content": "<!doctype html>\n<html>\n<head></head>\n<body>\n<div id=\"test-container\">\n  <h1>Heading</h1>\n  Some text\n  <div>\n    <dl>\n      <dt>Firefox</dt>\n      <dt>Mozilla Firefox</dt>\n      <dt>Fx</dt>\n      <dd>\n        A free, open source, cross-platform,\n        graphical web browser developed by the\n        Mozilla Corporation and hundreds of\n        volunteers.\n      </dd>\n      <dd>\n        The Red Panda also known as the Lesser\n        Panda, Wah, Bear Cat or Firefox, is a\n        mostly herbivorous mammal, slightly larger\n        than a domestic cat (60 cm long).\n      </dd>\n    </dl>\n  </div>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "spec/fixtures/description_lists/test04.xml",
    "content": "<w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading1\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Heading</w:t>\n  </w:r>\n</w:p>\n<w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Some text</w:t>\n  </w:r>\n</w:p>\n<w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Firefox</w:t>\n  </w:r>\n</w:p>\n<w:p>\n<w:r>\n  <w:t xml:space=\"preserve\">Mozilla Firefox</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:r>\n  <w:t xml:space=\"preserve\">Fx</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:ind w:left=\"720\"/>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">A free, open source, cross-platform, graphical web browser developed by the Mozilla Corporation and hundreds of volunteers.</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:ind w:left=\"720\"/>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">The Red Panda also known as the Lesser Panda, Wah, Bear Cat or Firefox, is a mostly herbivorous mammal, slightly larger than a domestic cat (60 cm long).</w:t>\n</w:r>\n</w:p>\n"
  },
  {
    "path": "spec/fixtures/lists/lists_inline_elements.html",
    "content": "<!DOCTYPE html>\n<html>\n<head></head>\n<body>\n<ul>\n  <li>Some text <span> in a span </span> and some more text\n    <br>\n    <div>Text in a new line in div</div>\n  </li>\n  <li>Some text (<a href=\"#link\"> link </a>) and some more text\n    <br>\n    <div>Text in a new line in div</div>\n  </li>\n  <li> Some text <small>in small</small> and again normal</li>\n  <li> Some text <strong>in strong</strong> and again normal\n    <br>\n    <p>New paragraph</p>\n  </li>\n  <li>Some text <em>in em</em> and normal text\n    <br>\n    <p>New paragraph</p>\n  </li>\n  <li>Some text <i>in italics</i> and normal text\n    <br>\n    <p>New paragraph</p>\n  </li>\n  <li>Some text <b>in bold</b> and normal text\n    <br>\n    <p>New paragraph</p>\n  </li>\n  <li>Some text <u>underlined</u> and normal text\n    <br>\n    <p>New paragraph</p>\n  </li>\n</ul>\n</body>\n</html>\n"
  },
  {
    "path": "spec/fixtures/lists/lists_inline_elements.xml",
    "content": "<w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"1\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Some text </w:t>\n  </w:r>\n  <w:r>\n    <w:t xml:space=\"preserve\"> in a span </w:t>\n  </w:r>\n  <w:r>\n    <w:t xml:space=\"preserve\"> and some more text </w:t>\n  </w:r>\n</w:p>\n<w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"0\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r/>\n</w:p>\n<w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"0\"/>\n    </w:numPr>\n    <w:ind w:left=\"720\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Text in a new line in div</w:t>\n  </w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"ListParagraph\"/>\n  <w:numPr>\n    <w:ilvl w:val=\"0\"/>\n    <w:numId w:val=\"1\"/>\n  </w:numPr>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">Some text (</w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\"> link </w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\">) and some more text </w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"ListParagraph\"/>\n  <w:numPr>\n    <w:ilvl w:val=\"0\"/>\n    <w:numId w:val=\"0\"/>\n  </w:numPr>\n</w:pPr>\n<w:r/>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"ListParagraph\"/>\n  <w:numPr>\n    <w:ilvl w:val=\"0\"/>\n    <w:numId w:val=\"0\"/>\n  </w:numPr>\n  <w:ind w:left=\"720\"/>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">Text in a new line in div</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"ListParagraph\"/>\n  <w:numPr>\n    <w:ilvl w:val=\"0\"/>\n    <w:numId w:val=\"1\"/>\n  </w:numPr>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\"> Some text in small and again normal</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"ListParagraph\"/>\n  <w:numPr>\n    <w:ilvl w:val=\"0\"/>\n    <w:numId w:val=\"1\"/>\n  </w:numPr>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\"> Some text </w:t>\n</w:r>\n<w:r>\n  <w:rPr>\n    <w:b/>\n  </w:rPr>\n  <w:t xml:space=\"preserve\">in strong</w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\"> and again normal </w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"ListParagraph\"/>\n  <w:numPr>\n    <w:ilvl w:val=\"0\"/>\n    <w:numId w:val=\"0\"/>\n  </w:numPr>\n</w:pPr>\n<w:r/>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"ListParagraph\"/>\n  <w:numPr>\n    <w:ilvl w:val=\"0\"/>\n    <w:numId w:val=\"0\"/>\n  </w:numPr>\n  <w:ind w:left=\"720\"/>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">New paragraph</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"ListParagraph\"/>\n  <w:numPr>\n    <w:ilvl w:val=\"0\"/>\n    <w:numId w:val=\"1\"/>\n  </w:numPr>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">Some text </w:t>\n</w:r>\n<w:r>\n  <w:rPr>\n    <w:i/>\n  </w:rPr>\n  <w:t xml:space=\"preserve\">in em</w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\"> and normal text </w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"ListParagraph\"/>\n  <w:numPr>\n    <w:ilvl w:val=\"0\"/>\n    <w:numId w:val=\"0\"/>\n  </w:numPr>\n</w:pPr>\n<w:r/>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"ListParagraph\"/>\n  <w:numPr>\n    <w:ilvl w:val=\"0\"/>\n    <w:numId w:val=\"0\"/>\n  </w:numPr>\n  <w:ind w:left=\"720\"/>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">New paragraph</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"ListParagraph\"/>\n  <w:numPr>\n    <w:ilvl w:val=\"0\"/>\n    <w:numId w:val=\"1\"/>\n  </w:numPr>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">Some text </w:t>\n</w:r>\n<w:r>\n  <w:rPr>\n    <w:i/>\n  </w:rPr>\n  <w:t xml:space=\"preserve\">in italics</w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\"> and normal text </w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"ListParagraph\"/>\n  <w:numPr>\n    <w:ilvl w:val=\"0\"/>\n    <w:numId w:val=\"0\"/>\n  </w:numPr>\n</w:pPr>\n<w:r/>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"ListParagraph\"/>\n  <w:numPr>\n    <w:ilvl w:val=\"0\"/>\n    <w:numId w:val=\"0\"/>\n  </w:numPr>\n  <w:ind w:left=\"720\"/>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">New paragraph</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"ListParagraph\"/>\n  <w:numPr>\n    <w:ilvl w:val=\"0\"/>\n    <w:numId w:val=\"1\"/>\n  </w:numPr>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">Some text </w:t>\n</w:r>\n<w:r>\n  <w:rPr>\n    <w:b/>\n  </w:rPr>\n  <w:t xml:space=\"preserve\">in bold</w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\"> and normal text </w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"ListParagraph\"/>\n  <w:numPr>\n    <w:ilvl w:val=\"0\"/>\n    <w:numId w:val=\"0\"/>\n  </w:numPr>\n</w:pPr>\n<w:r/>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"ListParagraph\"/>\n  <w:numPr>\n    <w:ilvl w:val=\"0\"/>\n    <w:numId w:val=\"0\"/>\n  </w:numPr>\n  <w:ind w:left=\"720\"/>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">New paragraph</w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"ListParagraph\"/>\n  <w:numPr>\n    <w:ilvl w:val=\"0\"/>\n    <w:numId w:val=\"1\"/>\n  </w:numPr>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">Some text </w:t>\n</w:r>\n<w:r>\n  <w:rPr>\n    <w:u w:val=\"single\"/>\n  </w:rPr>\n  <w:t xml:space=\"preserve\">underlined</w:t>\n</w:r>\n<w:r>\n  <w:t xml:space=\"preserve\"> and normal text </w:t>\n</w:r>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"ListParagraph\"/>\n  <w:numPr>\n    <w:ilvl w:val=\"0\"/>\n    <w:numId w:val=\"0\"/>\n  </w:numPr>\n</w:pPr>\n<w:r/>\n</w:p>\n<w:p>\n<w:pPr>\n  <w:pStyle w:val=\"ListParagraph\"/>\n  <w:numPr>\n    <w:ilvl w:val=\"0\"/>\n    <w:numId w:val=\"0\"/>\n  </w:numPr>\n  <w:ind w:left=\"720\"/>\n</w:pPr>\n<w:r>\n  <w:t xml:space=\"preserve\">New paragraph</w:t>\n</w:r>\n</w:p>\n"
  },
  {
    "path": "spec/spec_helper.rb",
    "content": "require 'rubygems'\nrequire 'bundler/setup'\nrequire 'htmltoword'\n\ninclude Htmltoword::XSLTHelper\ninclude Htmltoword::TemplatesHelper\n\ndef compare_transformed_files(test:, test_file_name:, extras: false)\n  source = File.read(fixture_path(test, test_file_name, :html), encoding: 'utf-8')\n  expected_content = File.read(fixture_path(test, test_file_name, :xml), encoding: 'utf-8')\n  compare_resulting_wordml_with_expected(source, expected_content, extras: extras)\nend\n\ndef compare_resulting_wordml_with_expected(html, resulting_wordml, extras: false)\n  source = Nokogiri::HTML(html.gsub(/>\\s+</, '><'))\n  result = Htmltoword::Document.new(template_file(nil)).transform_doc_xml(source, extras)\n  result.gsub!(/\\s*<!--(.*?)-->\\s*/m, '')\n  result = remove_declaration(result)\n\n  expect(remove_whitespace(result)).to eq(remove_whitespace(resulting_wordml))\nend\n\ndef compare_numbering_xml(html, expected_xml)\n  source = Nokogiri::HTML(html.gsub(/>\\s+</, '><'))\n  stylesheet = xslt(stylesheet_name: 'numbering')\n  result = stylesheet.transform(source)\n  result.xpath('//comment()').remove\n  result = remove_declaration(result.to_s)\n  expect(remove_whitespace(result.to_s)).to eq(remove_whitespace(expected_xml))\nend\n\ndef compare_relations_xml(html, expected_xml)\n  source = Nokogiri::HTML(html.gsub(/>\\s+</, '><'))\n  stylesheet = xslt(stylesheet_name: 'relations')\n  result = stylesheet.transform(source)\n  result.xpath('//comment()').remove\n  result = remove_declaration(result.to_s)\n  expect(remove_whitespace(result.to_s)).to eq(remove_whitespace(expected_xml))\nend\n\ndef check_link_text(html, resulting_wordml, extras: false)\n  source = Nokogiri::HTML(html.gsub(/>\\s+</, '><'))\n  result = Htmltoword::Document.new(template_file(nil)).transform_doc_xml(source, extras)\n  result.gsub!(/\\s*<!--(.*?)-->\\s*/m, '')\n  result = remove_declaration(result)\n  expect(remove_whitespace_for_link_check(result)).to eq(remove_whitespace_for_link_check(resulting_wordml))\nend\n\nprivate\n\ndef fixture_path(folder, file_name, extension)\n  File.join(File.dirname(__FILE__), 'fixtures', folder, \"#{file_name}.#{extension}\")\nend\n\n#used to temporarily save documents for testing\ndef tmp_path(filename)\n  File.join(File.dirname(__FILE__), 'tmp', \"#{filename}.docx\")\nend\n\ndef compare_content_of_body?(wordml)\n  wordml !~ /<?xml version/\nend\n\ndef remove_whitespace(wordml)\n  wordml.gsub(/\\s+/, ' ').gsub(/(?<keep>>)\\s+|\\s+(?<keep><)/, '\\k<keep>').strip\nend\n\ndef remove_whitespace_for_link_check(wordml)\n  wordml.gsub(/^\\s+/, '')\nend\n\ndef remove_declaration(wordml)\n  wordml.sub(/<\\?xml (.*?)>/, '').gsub(/\\s*xmlns:(\\w+)=\"(.*?)\\s*\"/, '')\nend\n"
  },
  {
    "path": "spec/tmp/.gitignore",
    "content": "*\n\n!.gitignore"
  },
  {
    "path": "spec/xslt_alignment_spec.rb",
    "content": "require 'spec_helper'\n\ndescribe \"XSLT to align div, p and td tags\" do\n\n  it \"transforms a p element with the correct alignment.\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <p style=\"text-align:center;width:100%\"> p using text-aligned center</p>\n    <p style=\"text-align:right;width:100%\"> p using text-aligned right</p>\n    <p style=\"text-align:left;width:100%\"> p using text-aligned left</p>\n    <p style=\"text-align:justify;width:100%\">\n      Praesent commodo leo et tincidunt tincidunt. Aliquam vestibulum vehicula accumsan. In suscipit nunc vitae facilisis mattis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Proin fringilla, odio in rhoncus tincidunt, mauris lectus gravida nibh, ac consectetur est arcu a turpis. Proin sodales tellus imperdiet, auctor ante sed, pulvinar nisl. Aenean ultricies elementum leo, in mattis dolor dapibus feugiat. Nunc scelerisque nec purus ac tempus. Praesent at velit ac ipsum hendrerit auctor. Nam dui nunc, ultrices quis aliquet in, pellentesque quis diam. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n    </p>\n    <p class='center'><strong>p class center and strong</strong></p>\n    <p class='right'><strong>p class right and strong</strong></p>\n    <p class='left'><strong>p class left and strong</strong></p>\n    <p class=\"justify\">\n      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse ornare sem at sapien accumsan, in pellentesque elit consectetur. Mauris quis dui a magna scelerisque ornare. Vivamus scelerisque sollicitudin ante, auctor dictum nunc iaculis sed. Nullam lobortis ligula odio, a dapibus augue malesuada eget. Nam ac justo nunc. Vestibulum tristique diam sit amet ornare maximus. Duis sit amet libero elit. Proin massa nunc, rutrum nec odio et, hendrerit egestas dui. Donec sit amet aliquam libero.\n    </p>\n    <p> Just a p </p>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:p>\n    <w:pPr>\n      <w:jc w:val=\"center\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\"> p using text-aligned center</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:jc w:val=\"right\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\"> p using text-aligned right</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:jc w:val=\"left\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\"> p using text-aligned left</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:jc w:val=\"both\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">\n  Praesent commodo leo et tincidunt tincidunt. Aliquam vestibulum vehicula accumsan. In suscipit nunc vitae facilisis mattis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Proin fringilla, odio in rhoncus tincidunt, mauris lectus gravida nibh, ac consectetur est arcu a turpis. Proin sodales tellus imperdiet, auctor ante sed, pulvinar nisl. Aenean ultricies elementum leo, in mattis dolor dapibus feugiat. Nunc scelerisque nec purus ac tempus. Praesent at velit ac ipsum hendrerit auctor. Nam dui nunc, ultrices quis aliquet in, pellentesque quis diam. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:jc w:val=\"center\"/>\n    </w:pPr>\n    <w:r>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">p class center and strong</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:jc w:val=\"right\"/>\n    </w:pPr>\n    <w:r>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">p class right and strong</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:jc w:val=\"left\"/>\n    </w:pPr>\n    <w:r>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">p class left and strong</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:jc w:val=\"both\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">\n  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse ornare sem at sapien accumsan, in pellentesque elit consectetur. Mauris quis dui a magna scelerisque ornare. Vivamus scelerisque sollicitudin ante, auctor dictum nunc iaculis sed. Nullam lobortis ligula odio, a dapibus augue malesuada eget. Nam ac justo nunc. Vestibulum tristique diam sit amet ornare maximus. Duis sit amet libero elit. Proin massa nunc, rutrum nec odio et, hendrerit egestas dui. Donec sit amet aliquam libero.\n</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\"> Just a p </w:t>\n    </w:r>\n  </w:p>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it \"transforms a table having its cells properly aligned\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <table class=\"table table-bordered\">\n      <thead>\n      <tr>\n        <th>Left aligned text</th>\n        <th>Right aligned text</th>\n        <th>Center aligned text</th>\n        <th>Justify aligned text</th>\n      </tr>\n      </thead>\n      <tbody>\n      <tr>\n        <td style=\"text-align: left;\">To the left</td>\n        <td style=\"text-align: right;\">To the right</td>\n        <td style=\"text-align: center;\">Centered</td>\n        <td style=\"text-align: justify;\">Justified</td>\n      </tr>\n      <tr>\n        <td class=\"left\">To the left</td>\n        <td class=\"right\">To the right</td>\n        <td class=\"center\">Centered</td>\n        <td class=\"justify\">Justified</td>\n      </tr>\n      </tbody>\n    </table>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:tbl>\n    <w:tblPr>\n      <w:tblStyle w:val=\"TableGrid\"/>\n      <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n      <w:tblBorders>\n        <w:top w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:left w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:bottom w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:right w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideH w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideV w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n      </w:tblBorders>\n      <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n    </w:tblPr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Left aligned text</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Right aligned text</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Center aligned text</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Justify aligned text</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:pPr>\n            <w:jc w:val=\"left\"/>\n          </w:pPr>\n          <w:r>\n            <w:t xml:space=\"preserve\">To the left</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:pPr>\n            <w:jc w:val=\"right\"/>\n          </w:pPr>\n          <w:r>\n            <w:t xml:space=\"preserve\">To the right</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:pPr>\n            <w:jc w:val=\"center\"/>\n          </w:pPr>\n          <w:r>\n            <w:t xml:space=\"preserve\">Centered</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:pPr>\n            <w:jc w:val=\"both\"/>\n          </w:pPr>\n          <w:r>\n            <w:t xml:space=\"preserve\">Justified</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:pPr>\n            <w:jc w:val=\"left\"/>\n          </w:pPr>\n          <w:r>\n            <w:t xml:space=\"preserve\">To the left</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:pPr>\n            <w:jc w:val=\"right\"/>\n          </w:pPr>\n          <w:r>\n            <w:t xml:space=\"preserve\">To the right</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:pPr>\n            <w:jc w:val=\"center\"/>\n          </w:pPr>\n          <w:r>\n            <w:t xml:space=\"preserve\">Centered</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:pPr>\n            <w:jc w:val=\"both\"/>\n          </w:pPr>\n          <w:r>\n            <w:t xml:space=\"preserve\">Justified</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n  </w:tbl>\n    EOL\n\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it \"transforms div element with the correct alignment\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <div style=\"text-align:center;width:100%\"> div using text-aligned center</div>\n    <div style=\"text-align:right;width:100%\"> div using text-aligned right</div>\n    <div style=\"text-align:left;width:100%\"> div using text-aligned left</div>\n    <div style=\"text-align:justify;width:100%\">\n      Praesent commodo leo et tincidunt tincidunt. Aliquam vestibulum vehicula accumsan. In suscipit nunc vitae facilisis mattis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Proin fringilla, odio in rhoncus tincidunt, mauris lectus gravida nibh, ac consectetur est arcu a turpis. Proin sodales tellus imperdiet, auctor ante sed, pulvinar nisl. Aenean ultricies elementum leo, in mattis dolor dapibus feugiat. Nunc scelerisque nec purus ac tempus. Praesent at velit ac ipsum hendrerit auctor. Nam dui nunc, ultrices quis aliquet in, pellentesque quis diam. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n    </div>\n    <div class='center'><strong>div class center and strong</strong></div>\n    <div class='right'><strong>div class right and strong</strong></div>\n    <div class='left'><strong>div class left and strong</strong></div>\n    <div class=\"justify\">\n      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse ornare sem at sapien accumsan, in pellentesque elit consectetur. Mauris quis dui a magna scelerisque ornare. Vivamus scelerisque sollicitudin ante, auctor dictum nunc iaculis sed. Nullam lobortis ligula odio, a dapibus augue malesuada eget. Nam ac justo nunc. Vestibulum tristique diam sit amet ornare maximus. Duis sit amet libero elit. Proin massa nunc, rutrum nec odio et, hendrerit egestas dui. Donec sit amet aliquam libero.\n    </div>\n    <div> Just a div </div>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:p>\n    <w:pPr>\n      <w:jc w:val=\"center\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\"> div using text-aligned center</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:jc w:val=\"right\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\"> div using text-aligned right</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:jc w:val=\"left\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\"> div using text-aligned left</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:jc w:val=\"both\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">\n  Praesent commodo leo et tincidunt tincidunt. Aliquam vestibulum vehicula accumsan. In suscipit nunc vitae facilisis mattis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Proin fringilla, odio in rhoncus tincidunt, mauris lectus gravida nibh, ac consectetur est arcu a turpis. Proin sodales tellus imperdiet, auctor ante sed, pulvinar nisl. Aenean ultricies elementum leo, in mattis dolor dapibus feugiat. Nunc scelerisque nec purus ac tempus. Praesent at velit ac ipsum hendrerit auctor. Nam dui nunc, ultrices quis aliquet in, pellentesque quis diam. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:jc w:val=\"center\"/>\n    </w:pPr>\n    <w:r>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">div class center and strong</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:jc w:val=\"right\"/>\n    </w:pPr>\n    <w:r>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">div class right and strong</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:jc w:val=\"left\"/>\n    </w:pPr>\n    <w:r>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">div class left and strong</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:jc w:val=\"both\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">\n  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse ornare sem at sapien accumsan, in pellentesque elit consectetur. Mauris quis dui a magna scelerisque ornare. Vivamus scelerisque sollicitudin ante, auctor dictum nunc iaculis sed. Nullam lobortis ligula odio, a dapibus augue malesuada eget. Nam ac justo nunc. Vestibulum tristique diam sit amet ornare maximus. Duis sit amet libero elit. Proin massa nunc, rutrum nec odio et, hendrerit egestas dui. Donec sit amet aliquam libero.\n</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\"> Just a div </w:t>\n    </w:r>\n  </w:p>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it \"transforms nested divs with proper alignment\" do\n    # TODO: Known bug, not implemented yet.\n    # <div class=“center”> Something <div> else </div> </div> -> else won’t be centered.\n  end\n\n  it \"transforms articles with proper alignment\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <article style=\"text-align:center;\"> article using text-aligned center</article>\n    <article style=\"text-align:right;\"> article using text-aligned right</article>\n    <article class='left'><strong>article class left and strong</strong></article>\n    <article> Just an article </article>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:p>\n    <w:pPr>\n      <w:jc w:val=\"center\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\"> article using text-aligned center</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:jc w:val=\"right\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\"> article using text-aligned right</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:jc w:val=\"left\"/>\n    </w:pPr>\n    <w:r>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">article class left and strong</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\"> Just an article </w:t>\n    </w:r>\n  </w:p>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it \"transforms sections with proper alignment\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <section style=\"text-align:center;\"> section using text-aligned center</section>\n    <section style=\"text-align:right;\"> section using text-aligned right</section>\n    <section class='left'><strong>section class left and strong</strong></section>\n    <section> Just an section </section>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:p>\n    <w:pPr>\n      <w:jc w:val=\"center\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\"> section using text-aligned center</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:jc w:val=\"right\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\"> section using text-aligned right</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:jc w:val=\"left\"/>\n    </w:pPr>\n    <w:r>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">section class left and strong</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\"> Just an section </w:t>\n    </w:r>\n  </w:p>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\nend\n"
  },
  {
    "path": "spec/xslt_breaks_spec.rb",
    "content": "require 'spec_helper'\n\ndescribe \"XSLT to align div, p and td tags\" do\n\n  it \"transforms br tags children of document body\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <p>Paragraph 1</p>\n    <br>\n    <p>Paragraph 2</p>\n    <div>Paragraph 3</div>\n    <br>\n    <div>Paragraph 4</div>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\">Paragraph 1</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:r/>\n  </w:p>\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\">Paragraph 2</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\">Paragraph 3</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:r/>\n  </w:p>\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\">Paragraph 4</w:t>\n    </w:r>\n  </w:p>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it \"transforms br tags inside a br or p\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <div>\n      <br>\n      <div> Lorem ipsum 1 </div>\n      <br>\n      <p> Lorem ipsum 2 <br> Lorem ipsum 3 </p>\n      <div> Lorem ipsum 4 <br> Lorem ipsum 5 </div>\n    </div>\n    <div> Lorem ipsum 6 <br> Lorem ipsum 7 </div>\n    <p> Lorem ipsum 6 <br> Lorem ipsum 7 </p>\n    <div>\n      <br>\n      <p>Lorem ipsum 8</p>\n      <br>\n      <p>Lorem ipsum 9 <br> Lorem ipsum 10</p>\n    </div>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:p>\n    <w:r/>\n  </w:p>\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\"> Lorem ipsum 1 </w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:r/>\n  </w:p>\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\"> Lorem ipsum 2 </w:t>\n    </w:r>\n    <w:r>\n      <w:br/>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\"> Lorem ipsum 3 </w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\"> Lorem ipsum 4 </w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:r/>\n  </w:p>\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\"> Lorem ipsum 5 </w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\"> Lorem ipsum 6 </w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:r/>\n  </w:p>\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\"> Lorem ipsum 7 </w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\"> Lorem ipsum 6 </w:t>\n    </w:r>\n    <w:r>\n      <w:br/>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\"> Lorem ipsum 7 </w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:r/>\n  </w:p>\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\">Lorem ipsum 8</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:r/>\n  </w:p>\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\">Lorem ipsum 9 </w:t>\n    </w:r>\n    <w:r>\n      <w:br/>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\"> Lorem ipsum 10</w:t>\n    </w:r>\n  </w:p>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it \"transforms br tags inside lists\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <ol>\n      <li>Text <br> new line</li>\n      <li><div>Text inside div <br> new line</div></li>\n      <li><p>Text inside p <br> new line</p></li>\n      <li>Some text\n        <br>\n        <div>Text in div</div>\n      </li>\n    </ol>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"0\"/>\n        <w:numId w:val=\"1\"/>\n      </w:numPr>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Text </w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"0\"/>\n        <w:numId w:val=\"0\"/>\n      </w:numPr>\n    </w:pPr>\n    <w:r/>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"0\"/>\n        <w:numId w:val=\"0\"/>\n      </w:numPr>\n      <w:ind w:left=\"720\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\"> new line</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"0\"/>\n        <w:numId w:val=\"1\"/>\n      </w:numPr>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Text inside div </w:t>\n    </w:r>\n    <w:r>\n      <w:br/>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\"> new line</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"0\"/>\n        <w:numId w:val=\"1\"/>\n      </w:numPr>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Text inside p </w:t>\n    </w:r>\n    <w:r>\n      <w:br/>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\"> new line</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"0\"/>\n        <w:numId w:val=\"1\"/>\n      </w:numPr>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Some text </w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"0\"/>\n        <w:numId w:val=\"0\"/>\n      </w:numPr>\n    </w:pPr>\n    <w:r/>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"0\"/>\n        <w:numId w:val=\"0\"/>\n      </w:numPr>\n      <w:ind w:left=\"720\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Text in div</w:t>\n    </w:r>\n  </w:p>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n  \n  it \"transforms br tags inside table cells\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <table>\n      <tbody>\n        <tr>\n          <td><div>Inside a div <br> in a cell</div></td>\n          <td>Inside a cell <br> no div</td>\n          <td>\n            <ul>\n              <li>Text <br> new line</li>\n              <li><div>Text inside div <br> new line</div></li>\n              <li><p>Text inside p <br> new line</p></li>\n            </ul>\n          </td>\n          <td>Some text\n            <br>\n            <p>Text inside p</p>\n          </td>\n        </tr>\n      </tbody>\n    </table>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:tbl>\n    <w:tblPr>\n      <w:tblStyle w:val=\"TableGrid\"/>\n      <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n      <w:tblBorders>\n        <w:top w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:left w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:bottom w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:right w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideH w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideV w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n      </w:tblBorders>\n      <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n    </w:tblPr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Inside a div </w:t>\n          </w:r>\n          <w:r>\n            <w:br/>\n          </w:r>\n          <w:r>\n            <w:t xml:space=\"preserve\"> in a cell</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Inside a cell </w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:br/>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\"> no div</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:pPr>\n            <w:pStyle w:val=\"ListParagraph\"/>\n            <w:numPr>\n              <w:ilvl w:val=\"0\"/>\n              <w:numId w:val=\"1\"/>\n            </w:numPr>\n          </w:pPr>\n          <w:r>\n            <w:t xml:space=\"preserve\">Text </w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:pPr>\n            <w:pStyle w:val=\"ListParagraph\"/>\n            <w:numPr>\n              <w:ilvl w:val=\"0\"/>\n              <w:numId w:val=\"0\"/>\n            </w:numPr>\n          </w:pPr>\n          <w:r/>\n        </w:p>\n        <w:p>\n          <w:pPr>\n            <w:pStyle w:val=\"ListParagraph\"/>\n            <w:numPr>\n              <w:ilvl w:val=\"0\"/>\n              <w:numId w:val=\"0\"/>\n            </w:numPr>\n            <w:ind w:left=\"720\"/>\n          </w:pPr>\n          <w:r>\n            <w:t xml:space=\"preserve\"> new line</w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:pPr>\n            <w:pStyle w:val=\"ListParagraph\"/>\n            <w:numPr>\n              <w:ilvl w:val=\"0\"/>\n              <w:numId w:val=\"1\"/>\n            </w:numPr>\n          </w:pPr>\n          <w:r>\n            <w:t xml:space=\"preserve\">Text inside div </w:t>\n          </w:r>\n          <w:r>\n            <w:br/>\n          </w:r>\n          <w:r>\n            <w:t xml:space=\"preserve\"> new line</w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:pPr>\n            <w:pStyle w:val=\"ListParagraph\"/>\n            <w:numPr>\n              <w:ilvl w:val=\"0\"/>\n              <w:numId w:val=\"1\"/>\n            </w:numPr>\n          </w:pPr>\n          <w:r>\n            <w:t xml:space=\"preserve\">Text inside p </w:t>\n          </w:r>\n          <w:r>\n            <w:br/>\n          </w:r>\n          <w:r>\n            <w:t xml:space=\"preserve\"> new line</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Some text </w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:br/>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Text inside p</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n  </w:tbl>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\nend\n"
  },
  {
    "path": "spec/xslt_complex_spec.rb",
    "content": "require 'spec_helper'\n\ndescribe 'Bigger and a bit more complex documents' do\n\n  it 'transforms documents with nested tables and normal lists and extra classes' do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <h1>My Document</h1>\n    <div class=\"pp-clause pp-prologue notable zoomable\" id=\"PP0040850_PR0040858\">\n      <h2><b class=\"clause_title\">Section 1</b></h2>\n      <div class=\"precedent-element ann pactable notable\" id=\"PP0040850_AL0040859\">\n        <h3>&nbsp;</h3>\n        <b class=\"clause_title\">Subsection 1.1</b>\n        <div class=\"ppTextPosition annzone\">\n          <div id=\"PP_1\" class=\"N4 ann annzone\">Lorem</div>\n          <div id=\"PP_9\" class=\"N4 ann annzone\">Ipsum: # </div>\n          <div id=\"PP_10\" class=\"N4 ann annzone\">dolor: # </div>\n          <div id=\"PP_11\" class=\"N4 ann annzone\">sit: # </div>\n          <div id=\"PP_12\" class=\"N4 ann annzone\">amet: # </div>\n          <div id=\"PP_13\" class=\"N4 ann annzone\">consectetur: # </div>\n          <div id=\"PP_14\" class=\"N4 ann annzone\">adipiscing: # </div>\n          <div id=\"PP_2\" class=\"N4 ann annzone\">elit</div>\n          <div id=\"PP_3\" class=\"N4 ann annzone\">NULLAM AMET</div>\n        </div>\n      </div>\n    </div>\n    <div class=\"pp-clause ann notable zoomable\" id=\"PP_55\">\n      <h3><b class=\"clause_title\">Subsection 1.2</b></h3>\n      <div class=\"precedent-element ann pactable notable\" id=\"PP_52\">\n        <h4><b class=\"clause_title\">Subsection 1.2.1</b></h4>\n        <div class=\"ppTextPosition annzone\">\n          <div id=\"PP_74\" class=\"N4 ann annzone\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam amet.</div>\n          <div id=\"PP_75\" class=\"N4 ann annzone\">\n            <table class=\"table-frame-none\" cellpadding=\"0\" cellspacing=\"0\">\n              <tbody>\n              <tr>\n                <td>\n                  <table class=\"table-contents\" cellpadding=\"4\" cellspacing=\"0\" width=\"100%\">\n                    <colgroup>\n                      <col width=\"44.5%\">\n                      <col width=\"55.5%\">\n                    </colgroup>\n                    <tbody>\n                    <tr>\n                      <td class=\"valign-cell-top\" valign=\"top\"><div class=\"annzone\">Lorem&nbsp;</div></td>\n                      <td class=\"valign-cell-top\" valign=\"top\"><div class=\"annzone\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce volutpat nunc at nulla scelerisque vehicula. Vestibulum id enim nisi. Quisque luctus amet.&nbsp;</div></td>\n                    </tr>\n                    <tr>\n                      <td class=\"valign-cell-top\" valign=\"top\"><div class=\"annzone\">Fake list</div></td>\n                      <td class=\"valign-cell-top\" valign=\"top\"><div class=\"annzone\">(a) Lorem ipsum dolor sit amet, consectetur posuere.&nbsp;</div></td>\n                    </tr>\n                    <tr>\n                      <td class=\"valign-cell-top\" valign=\"top\"><div class=\"annzone\">&nbsp;</div></td>\n                      <td class=\"valign-cell-top\" valign=\"top\"><div class=\"annzone\">(b) Fusce volutpat nunc at nulla scelerisque vehicula. Vestibulum id enim nisi. &nbsp;</div></td>\n                    </tr>\n                    <tr>\n                      <td class=\"valign-cell-top\" valign=\"top\"><div class=\"annzone\">&nbsp;</div></td>\n                      <td class=\"valign-cell-top\" valign=\"top\"><div class=\"annzone\">(c) Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce volutpat nunc at nulla scelerisque vehic&nbsp;</div></td>\n                    </tr>\n                    <tr>\n                      <td class=\"valign-cell-top\" valign=\"top\"><div class=\"annzone\">List</div></td>\n                      <td class=\"valign-cell-top\" valign=\"top\">\n                        <ul class=\"list-style-lower-alpha\">\n                          <li> Lorem ipsum </li>\n                          <li> dolor sit amet, </li>\n                          <li> consectetur adipiscing elit </li>\n                        </ul>\n                      </td>\n                    </tr>\n                    </tbody>\n                  </table>\n                </td>\n              </tr>\n              </tbody>\n            </table>\n          </div>\n        </div>\n      </div>\n    </div>\n    <div class=\"pp-clause ann notable zoomable\" id=\"PP_63\">\n      <h3>&nbsp;</h3>\n      <b class=\"clause_title\">Nullam ipsum in magna</b>\n      <div class=\"precedent-element ann pactable notable\" id=\"PP_65\">\n        <h3>&nbsp;</h3>\n        <b class=\"clause_title\">Consectetus adipiscing elit.</b>\n        <div class=\"ppTextPosition annzone\">\n          <div id=\"PP_14\" class=\"N4 ann annzone\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce volutpat nunc at nulla scelerisque vehicula. Vestibulum id enim nisi. Quisque luctus amet.</div>\n          <div id=\"PP_15\" class=\"N4 ann annzone\">\n            <div class=\"listbody\">\n              <ul class=\"manuell\">\n                <li id=\"PP_16\" class=\"ann annzone\">(a) Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce volutpat nunc at nulla scelerisque vehicula. Vestibulum id enim nisi.</li>\n                <li id=\"PP_17\" class=\"ann annzone\">(b) Lorem ipsum dolor sit amet</li>\n                <li id=\"PP_18\" class=\"ann annzone\">(c) Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li>\n              </ul>\n            </div>\n          </div>\n          <div id=\"PP_19\" class=\"N4 ann annzone\">Nullam in magna ut nulla efficitur scelerisque. </div>\n          <div id=\"PP_20\" class=\"N4 ann annzone\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce volutpat nunc at nulla scelerisque vehicula. Vestibulum id enim nisi.</div>\n          <div id=\"PP_21\" class=\"N4 ann annzone\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent aliquam ornare augue. Nullam in magna ut nulla efficitur scelerisque. Sed scelerisque, ante ac fringilla porta, mi ipsum rhoncus amet.</div>\n          <div id=\"PP_22\" class=\"N4 ann annzone\">Praesent aliquam ornare augue. Nullam in magna ut nulla efficitur scelerisque.</div>\n        </div>\n      </div>\n    </div>\n    <div class=\"pp-clause ann notable zoomable\" id=\"PP_83\">\n      <h3>&nbsp;</h3>\n      <b class=\"clause_title\">æåø</b>\n      <div class=\"precedent-element ann pactable notable\" id=\"PP_85\">\n        <h3>&nbsp;</h3>\n        <b class=\"clause_title\">ÁÑÇ ÉÍóü</b>\n        <div class=\"ppTextPosition annzone\">\n          <div id=\"PP_39\" class=\"N4 ann annzone\">Œ Æ </div>\n          <div id=\"PP_40\" class=\"N4 ann annzone\">\n            <div class=\"listbody\">\n              <ul class=\"manuell\">\n                <li id=\"PP_41\" class=\"ann annzone\">(a) Lorem ipsum dolor sit amet</li>\n                <li id=\"PP_42\" class=\"ann annzone\">(b) Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li>\n                <li id=\"PP_43\" class=\"ann annzone\">(c) Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent aliquam ornare augue. Nullam in magna ut nulla efficitur scelerisque. Sed scelerisque, ante ac fringilla porta, mi ipsum rhoncus amet.</li>\n                <li id=\"PP_44\" class=\"ann annzone\">(d) Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis sit amet arcu augue. Quisque ultricies nec justo a blandit. Sed scelerisque turpis felis. Integer id mauris massa. Donec pretium, dui tincidunt vestibulum interdum, dui ex commodo turpis, eget scelerisque orci lacus id mi. Vivamus sed id.</li>\n                <li id=\"PP_45\" class=\"ann annzone\">(e) Vivamus sed id.</li>\n                <li id=\"PP_46\" class=\"ann annzone\">(f) Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis sit amet arcu augue. Quisque ultricies nec justo a blandit. Sed scelerisque turpis felis. Integer id mauris massa. Donec pretium, dui tincidunt vestibulum interdum, dui ex commodo turpis, eget scelerisque orci lacus id mi.</li>\n                <li id=\"PP_47\" class=\"ann annzone\">(g) Duis sit amet arcu augue. Quisque ultricies nec justo a blandit. Sed scelerisque turpis felis. Integer id mauris massa. Donec pretium, dui tincidunt vestibulum interdum, dui ex commodo turpis, eget scelerisque orci lacus id mi. Vivamus sed id.</li>\n              </ul>\n            </div>\n          </div>\n          <div id=\"PP_59\" class=\"N4 ann annzone\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis sit amet arcu augue. Quisque ultricies nec justo a blandit. Sed scelerisque turpis felis. Integer id mauris massa.</div>\n        </div>\n      </div>\n    </div>\n    <div class=\"pp-clause ann notable zoomable\" id=\"PP_78\">\n      <h3><b class=\"clause_title\">Clause</b></h3>\n      <div class=\"precedent-element ann pactable notable\" id=\"PP_79\">\n        <h3><b class=\"clause_title\">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</b></h3>\n        <div class=\"ppTextPosition annzone\">\n          <div id=\"PP_37\" class=\"N4 ann annzone\">Låneavtal # svenska kronor daterat den # 20#</div>\n          <div id=\"PP_38\" class=\"N4 ann annzone\">1. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc suscipit gravida arcu, quis auctor turpis.</div>\n          <div id=\"PP_39\" class=\"N4 ann annzone\">2. Lorem ipsum dolor sit amet, consectetur adipiscing elit. [Nunc suscipit gravida arcu].</div>\n          <div id=\"PP_40\" class=\"N4 ann annzone\">3. Datum: #</div>\n          <div id=\"PP_41\" class=\"N4 ann annzone\">4. Lorem ipsum dolor sit amet #</div>\n          <div id=\"PP_42\" class=\"N4 ann annzone\">5. Nunc suscipit:\n            <div class=\"listbody\">\n              <ul class=\"manuell\">\n                <li id=\"PP_43\" class=\"ann annzone\">Lorem ipsum dolor sit amet: #</li>\n                <li id=\"PP_44\" class=\"ann annzone\">Nam volutpat: #</li>\n                <li id=\"PP_45\" class=\"ann annzone\">Consectetur adipiscing elit. Nam volutpat: #</li>\n                <li id=\"PP_46\" class=\"ann annzone\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam volutpat. #</li>\n                <li id=\"PP_47\" class=\"ann annzone\">Lorem ipsum dolor sit amet, [consectetur]: #</li>\n                <li id=\"PP_48\" class=\"ann annzone\">[Lorem ipsum] dolor sit amet. Nam volutpat: [ ]</li>\n              </ul>\n            </div>\n          </div>\n          <div id=\"PP_50\" class=\"N4 ann annzone\">\n            <table class=\"table-frame-none\" cellpadding=\"0\" cellspacing=\"0\">\n              <tbody>\n              <tr>\n                <td>\n                  <table class=\"table-contents\" cellpadding=\"4\" cellspacing=\"0\" width=\"100%\">\n                    <colgroup>\n                      <col width=\"88%\">\n                    </colgroup>\n                    <tbody>\n                    <tr>\n                      <td class=\"valign-cell-top\" valign=\"top\">\n                        <div class=\"annzone\">Place/Date&nbsp;</div>\n                      </td>\n                    </tr>\n                    <tr>\n                      <td class=\"valign-cell-top\" valign=\"top\">\n                        <div class=\"annzone\">______________________&nbsp;</div>\n                      </td>\n                    </tr>\n                    </tbody>\n                  </table>\n                </td>\n              </tr>\n              </tbody>\n            </table>\n          </div>\n        </div>\n      </div>\n    </div>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"Heading1\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">My Document</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading2\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Section 1</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading3\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\"> </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:rPr>\n      <w:b/>\n    </w:rPr>\n    <w:t xml:space=\"preserve\">Subsection 1.1</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Lorem</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Ipsum: # </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">dolor: # </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">sit: # </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">amet: # </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">consectetur: # </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">adipiscing: # </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">elit</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">NULLAM AMET</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading3\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Subsection 1.2</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading4\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Subsection 1.2.1</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam amet.</w:t>\n  </w:r>\n  </w:p>\n  <w:tbl>\n  <w:tblPr>\n    <w:tblStyle w:val=\"TableGrid\"/>\n    <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n    <w:tblBorders>\n      <w:top w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n      <w:left w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n      <w:bottom w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n      <w:right w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n      <w:insideH w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n      <w:insideV w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n    </w:tblBorders>\n    <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n  </w:tblPr>\n  <w:tr>\n    <w:tc>\n      <w:tcPr/>\n      <w:tbl>\n        <w:tblPr>\n          <w:tblStyle w:val=\"TableGrid\"/>\n          <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n          <w:tblBorders>\n            <w:top w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n            <w:left w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n            <w:bottom w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n            <w:right w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n            <w:insideH w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n            <w:insideV w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n          </w:tblBorders>\n          <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n        </w:tblPr>\n        <w:tr>\n          <w:tc>\n            <w:tcPr/>\n            <w:p>\n              <w:r>\n                <w:t xml:space=\"preserve\">Lorem </w:t>\n              </w:r>\n            </w:p>\n          </w:tc>\n          <w:tc>\n            <w:tcPr/>\n            <w:p>\n              <w:r>\n                <w:t xml:space=\"preserve\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce volutpat nunc at nulla scelerisque vehicula. Vestibulum id enim nisi. Quisque luctus amet. </w:t>\n              </w:r>\n            </w:p>\n          </w:tc>\n        </w:tr>\n        <w:tr>\n          <w:tc>\n            <w:tcPr/>\n            <w:p>\n              <w:r>\n                <w:t xml:space=\"preserve\">Fake list</w:t>\n              </w:r>\n            </w:p>\n          </w:tc>\n          <w:tc>\n            <w:tcPr/>\n            <w:p>\n              <w:r>\n                <w:t xml:space=\"preserve\">(a) Lorem ipsum dolor sit amet, consectetur posuere. </w:t>\n              </w:r>\n            </w:p>\n          </w:tc>\n        </w:tr>\n        <w:tr>\n          <w:tc>\n            <w:tcPr/>\n            <w:p>\n              <w:r>\n                <w:t xml:space=\"preserve\"> </w:t>\n              </w:r>\n            </w:p>\n          </w:tc>\n          <w:tc>\n            <w:tcPr/>\n            <w:p>\n              <w:r>\n                <w:t xml:space=\"preserve\">(b) Fusce volutpat nunc at nulla scelerisque vehicula. Vestibulum id enim nisi.  </w:t>\n              </w:r>\n            </w:p>\n          </w:tc>\n        </w:tr>\n        <w:tr>\n          <w:tc>\n            <w:tcPr/>\n            <w:p>\n              <w:r>\n                <w:t xml:space=\"preserve\"> </w:t>\n              </w:r>\n            </w:p>\n          </w:tc>\n          <w:tc>\n            <w:tcPr/>\n            <w:p>\n              <w:r>\n                <w:t xml:space=\"preserve\">(c) Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce volutpat nunc at nulla scelerisque vehic </w:t>\n              </w:r>\n            </w:p>\n          </w:tc>\n        </w:tr>\n        <w:tr>\n          <w:tc>\n            <w:tcPr/>\n            <w:p>\n              <w:r>\n                <w:t xml:space=\"preserve\">List</w:t>\n              </w:r>\n            </w:p>\n          </w:tc>\n          <w:tc>\n            <w:tcPr/>\n            <w:p>\n              <w:pPr>\n                <w:pStyle w:val=\"ListParagraph\"/>\n                <w:numPr>\n                  <w:ilvl w:val=\"0\"/>\n                  <w:numId w:val=\"1\"/>\n                </w:numPr>\n              </w:pPr>\n              <w:r>\n                <w:t xml:space=\"preserve\"> Lorem ipsum </w:t>\n              </w:r>\n            </w:p>\n            <w:p>\n              <w:pPr>\n                <w:pStyle w:val=\"ListParagraph\"/>\n                <w:numPr>\n                  <w:ilvl w:val=\"0\"/>\n                  <w:numId w:val=\"1\"/>\n                </w:numPr>\n              </w:pPr>\n              <w:r>\n                <w:t xml:space=\"preserve\"> dolor sit amet, </w:t>\n              </w:r>\n            </w:p>\n            <w:p>\n              <w:pPr>\n                <w:pStyle w:val=\"ListParagraph\"/>\n                <w:numPr>\n                  <w:ilvl w:val=\"0\"/>\n                  <w:numId w:val=\"1\"/>\n                </w:numPr>\n              </w:pPr>\n              <w:r>\n                <w:t xml:space=\"preserve\"> consectetur adipiscing elit </w:t>\n              </w:r>\n            </w:p>\n          </w:tc>\n        </w:tr>\n      </w:tbl>\n      <w:p/>\n    </w:tc>\n  </w:tr>\n  </w:tbl>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading3\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\"> </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:rPr>\n      <w:b/>\n    </w:rPr>\n    <w:t xml:space=\"preserve\">Nullam ipsum in magna</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading3\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\"> </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:rPr>\n      <w:b/>\n    </w:rPr>\n    <w:t xml:space=\"preserve\">Consectetus adipiscing elit.</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce volutpat nunc at nulla scelerisque vehicula. Vestibulum id enim nisi. Quisque luctus amet.</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"2\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">(a) Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce volutpat nunc at nulla scelerisque vehicula. Vestibulum id enim nisi.</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"2\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">(b) Lorem ipsum dolor sit amet</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"2\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">(c) Lorem ipsum dolor sit amet, consectetur adipiscing elit.</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Nullam in magna ut nulla efficitur scelerisque. </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce volutpat nunc at nulla scelerisque vehicula. Vestibulum id enim nisi.</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent aliquam ornare augue. Nullam in magna ut nulla efficitur scelerisque. Sed scelerisque, ante ac fringilla porta, mi ipsum rhoncus amet.</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Praesent aliquam ornare augue. Nullam in magna ut nulla efficitur scelerisque.</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading3\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\"> </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:rPr>\n      <w:b/>\n    </w:rPr>\n    <w:t xml:space=\"preserve\">æåø</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading3\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\"> </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:rPr>\n      <w:b/>\n    </w:rPr>\n    <w:t xml:space=\"preserve\">ÁÑÇ ÉÍóü</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Œ Æ </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"3\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">(a) Lorem ipsum dolor sit amet</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"3\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">(b) Lorem ipsum dolor sit amet, consectetur adipiscing elit.</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"3\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">(c) Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent aliquam ornare augue. Nullam in magna ut nulla efficitur scelerisque. Sed scelerisque, ante ac fringilla porta, mi ipsum rhoncus amet.</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"3\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">(d) Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis sit amet arcu augue. Quisque ultricies nec justo a blandit. Sed scelerisque turpis felis. Integer id mauris massa. Donec pretium, dui tincidunt vestibulum interdum, dui ex commodo turpis, eget scelerisque orci lacus id mi. Vivamus sed id.</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"3\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">(e) Vivamus sed id.</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"3\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">(f) Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis sit amet arcu augue. Quisque ultricies nec justo a blandit. Sed scelerisque turpis felis. Integer id mauris massa. Donec pretium, dui tincidunt vestibulum interdum, dui ex commodo turpis, eget scelerisque orci lacus id mi.</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"3\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">(g) Duis sit amet arcu augue. Quisque ultricies nec justo a blandit. Sed scelerisque turpis felis. Integer id mauris massa. Donec pretium, dui tincidunt vestibulum interdum, dui ex commodo turpis, eget scelerisque orci lacus id mi. Vivamus sed id.</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis sit amet arcu augue. Quisque ultricies nec justo a blandit. Sed scelerisque turpis felis. Integer id mauris massa.</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading3\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Clause</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading3\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Låneavtal # svenska kronor daterat den # 20#</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">1. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc suscipit gravida arcu, quis auctor turpis.</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">2. Lorem ipsum dolor sit amet, consectetur adipiscing elit. [Nunc suscipit gravida arcu].</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">3. Datum: #</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">4. Lorem ipsum dolor sit amet #</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">5. Nunc suscipit: </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"4\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Lorem ipsum dolor sit amet: #</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"4\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Nam volutpat: #</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"4\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Consectetur adipiscing elit. Nam volutpat: #</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"4\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam volutpat. #</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"4\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Lorem ipsum dolor sit amet, [consectetur]: #</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"4\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">[Lorem ipsum] dolor sit amet. Nam volutpat: [ ]</w:t>\n  </w:r>\n  </w:p>\n  <w:tbl>\n  <w:tblPr>\n    <w:tblStyle w:val=\"TableGrid\"/>\n    <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n    <w:tblBorders>\n      <w:top w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n      <w:left w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n      <w:bottom w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n      <w:right w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n      <w:insideH w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n      <w:insideV w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n    </w:tblBorders>\n    <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n  </w:tblPr>\n  <w:tr>\n    <w:tc>\n      <w:tcPr/>\n      <w:tbl>\n        <w:tblPr>\n          <w:tblStyle w:val=\"TableGrid\"/>\n          <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n          <w:tblBorders>\n            <w:top w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n            <w:left w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n            <w:bottom w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n            <w:right w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n            <w:insideH w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n            <w:insideV w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n          </w:tblBorders>\n          <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n        </w:tblPr>\n        <w:tr>\n          <w:tc>\n            <w:tcPr/>\n            <w:p>\n              <w:r>\n                <w:t xml:space=\"preserve\">Place/Date </w:t>\n              </w:r>\n            </w:p>\n          </w:tc>\n        </w:tr>\n        <w:tr>\n          <w:tc>\n            <w:tcPr/>\n            <w:p>\n              <w:r>\n                <w:t xml:space=\"preserve\">______________________ </w:t>\n              </w:r>\n            </w:p>\n          </w:tc>\n        </w:tr>\n      </w:tbl>\n      <w:p/>\n    </w:tc>\n  </w:tr>\n  </w:tbl>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it 'transforms documents with multiple pages and highlight and nested things' do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n  <div class=\"delivery\" data-assembly-id=\"1\" data-marginalia=\"null\">\n    <div id=\"content\">\n      <div class=\"page\">\n        <h1>trial bundle</h1>\n        <h2>Indholdsfortegnelse</h2>\n        <ul>\n          <li>\n            <a href=\"#2\">Section 1</a>\n            (Text section)\n          </li>\n          <li>\n            <a href=\"#37\">Section 2</a>\n            (With highlights)\n          </li>\n          <li>\n            <a href=\"#43\">Section 3</a>\n            (Highlight only)\n          </li>\n        </ul>\n      </div>\n      <div class=\"page -page-break\">\n        <div class=\"assembly-item\" id=\"2\">\n          <h2>Section 1</h2>\n          <div class=\"document\" data-id=\"3\" data-name=\"name1\">\n            <div class=\"maincontent zoom\" id=\"name1\">\n              <div id=\"name1_P2\" class=\"P ann clippable zoomable notable alertable\">\n                <h3>§&nbsp;2</h3>\n                <div class=\"element-body annzone\">\n                  <h4 class=\"change-sources\">Lorem ipsum:\n                    <a href=\"/some/route?attr=bla&amp;attr2=123\" class=\"source\">Link 1</a>\n                  </h4>\n                  <h4 class=\"inforce\">Excepteur sint occaecat cupidatat non proident: <time>2013-01-01</time>\n                  </h4>\n                  <div class=\"S\" id=\"name1_P2_1\"> Consectetur adipiscing elit\n                    <ol class=\"pkt\">\n                      <li>\n                        <i class=\"pkt\">1)</i>sed do eiusmod tempor incididunt ut labore et dolore magna aliqua,\n                      </li>\n                      <li>\n                        <i class=\"pkt\">6)</i>quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat <a href=\"/some/route?attr=ble&amp;attr2=1234\">Link. 2</a> Duis aute.\n                      </li>\n                    </ol>\n                    <div class=\"TXT\">\n                      <p>Curabitur erat mi, congue non turpis non, faucibus dapibus magna. Phasellus a accumsan tortor. Quisque quam purus, vehicula a auctor vitae.</p>\n                    </div>\n                    Mauris felis massa, malesuada a aliquet sed, volutpat sed sapien. Sed porttitor ex in nisi commodo varius. Ut ligula enim, mollis at mi eget, elementum imperdiet augue.\n                  </div>\n                  <div class=\"S\" id=\"name1_P2_2\">Stk.&nbsp;2. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam convallis ut felis a cursus. Etiam sodales quis nisl ac elementum. Suspendisse egestas hendrerit diam sit amet mattis. Sed id consectetur orci. Phasellus ultrices laoreet lectus, a laoreet magna accumsan eget. Curabitur erat mi, congue non turpis non, faucibus dapibus magna. Phasellus a accumsan tortor. Quisque quam purus, vehicula a auctor vitae, lobortis nec dui. <a href=\"/document/rel/name1_P16H?src=document&amp;versid=244-2-2004\">ligningslovens § 16 H, stk. 6</a>,  Donec malesuada dictum sagittis <a href=\"/some/route?attr=bla&amp;attr2=123\" class=\"source\">Text on link 3</a> or <a href=\"/some/route?attr=bla&amp;attr2=123\" class=\"source\">Link 4</a>, Aenean rutrum elementum nulla, ut consequat velit accumsan vitae. Duis iaculis nulla elit, quis rhoncus mi malesuada vel.</div>\n                  <div class=\"S\" id=\"name1_P2_3\">Stk.&nbsp;3. Pellentesque nisi tortor, fermentum nec iaculis non, efficitur eu ex. Donec volutpat felis at turpis accumsan, nec interdum sem porta. Sed sed.</div>\n                  <div class=\"S\" id=\"name1_P2_6\">Stk.&nbsp;6. Quisque finibus purus urna, ac condimentum purus sollicitudin non. In egestas vel libero non pharetra. Donec malesuada dictum sagittis.</div>\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n        <hr>\n      </div>\n      <div class=\"page -page-break\">\n        <div class=\"assembly-item\" id=\"37\">\n          <h2>Section 2</h2>\n          <div class=\"marginalia-note-inline\">\n            <h4>Notes</h4>\n            My note\n            <div class=\"note_authors\">\n              ― By Cristina Matonte\n            </div>\n          </div>\n          <div class=\"document\" data-id=\"770\" data-name=\"name2\">\n            <div class=\"maincontent zoom\" id=\"name2\">\n              <div id=\"name2_P4\" class=\"P ann clippable zoomable notable alertable\">\n                <h3>§&nbsp;4</h3>\n                <div class=\"element-body annzone\">\n                  <h4 class=\"change-sources\">Lorem ipsum:\n                    <a href=\"/some/route?attr=bla&amp;attr2=123\" class=\"source\">Section 2</a>\n                  </h4>\n                  <h4 class=\"inforce\">Datum: <time>2015-01-01</time>\n                  </h4>\n                  <div class=\"S\" id=\"name2_P4_1\">     Aenean rutrum elementum nulla, ut consequat velit accumsan vitae. Duis iaculis nulla elit, quis rhoncus mi malesuada vel.\n                  </div>\n                  <div class=\"S\" id=\"name2_P4_2\"><span class=\"h yellow\" id=\"h_10\" data-selector=\"|Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam convallis ut felis a cursus.|1\" data-style=\"yellow\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam convallis ut felis a cursus.</span>.</div>\n                  <div class=\"S\" id=\"name2_P4_3\">Stk.&nbsp;3. Etiam sodales quis nisl ac elementum. Suspendisse egestas hendrerit diam sit amet mattis.\n                  </div>\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n        <hr>\n      </div>\n      <div class=\"page -page-break\">\n        <div class=\"assembly-item\" id=\"43\">\n          <h3>Section 3</h3>\n          <small>Highlights on p</small>\n          <p><span class=\"h pink\" data-style=\"pink\">Pinky</span></p>\n        </div>\n        <hr>\n      </div>\n    </div>\n  </div>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"Heading1\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">trial bundle</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading2\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Indholdsfortegnelse</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"1\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Section 1</w:t>\n  </w:r>\n  <w:r>\n    <w:t xml:space=\"preserve\"> (Text section) </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"1\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Section 2</w:t>\n  </w:r>\n  <w:r>\n    <w:t xml:space=\"preserve\"> (With highlights) </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"1\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Section 3</w:t>\n  </w:r>\n  <w:r>\n    <w:t xml:space=\"preserve\"> (Highlight only) </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:br w:type=\"page\"/>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading2\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Section 1</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading3\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">§ 2</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading4\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Lorem ipsum: Link 1</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading4\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Excepteur sint occaecat cupidatat non proident: 2013-01-01</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\"> Consectetur adipiscing elit </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"2\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r>\n    <w:rPr>\n      <w:i/>\n    </w:rPr>\n    <w:t xml:space=\"preserve\">1)</w:t>\n  </w:r>\n  <w:r>\n    <w:t xml:space=\"preserve\">sed do eiusmod tempor incididunt ut labore et dolore magna aliqua, </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"ListParagraph\"/>\n    <w:numPr>\n      <w:ilvl w:val=\"0\"/>\n      <w:numId w:val=\"2\"/>\n    </w:numPr>\n  </w:pPr>\n  <w:r>\n    <w:rPr>\n      <w:i/>\n    </w:rPr>\n    <w:t xml:space=\"preserve\">6)</w:t>\n  </w:r>\n  <w:r>\n    <w:t xml:space=\"preserve\">quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat </w:t>\n  </w:r>\n  <w:r>\n    <w:t xml:space=\"preserve\">Link. 2</w:t>\n  </w:r>\n  <w:r>\n    <w:t xml:space=\"preserve\"> Duis aute. </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Curabitur erat mi, congue non turpis non, faucibus dapibus magna. Phasellus a accumsan tortor. Quisque quam purus, vehicula a auctor vitae.</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\"> Mauris felis massa, malesuada a aliquet sed, volutpat sed sapien. Sed porttitor ex in nisi commodo varius. Ut ligula enim, mollis at mi eget, elementum imperdiet augue. </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Stk. 2. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam convallis ut felis a cursus. Etiam sodales quis nisl ac elementum. Suspendisse egestas hendrerit diam sit amet mattis. Sed id consectetur orci. Phasellus ultrices laoreet lectus, a laoreet magna accumsan eget. Curabitur erat mi, congue non turpis non, faucibus dapibus magna. Phasellus a accumsan tortor. Quisque quam purus, vehicula a auctor vitae, lobortis nec dui. </w:t>\n  </w:r>\n  <w:r>\n    <w:t xml:space=\"preserve\">ligningslovens § 16 H, stk. 6</w:t>\n  </w:r>\n  <w:r>\n    <w:t xml:space=\"preserve\">, Donec malesuada dictum sagittis </w:t>\n  </w:r>\n  <w:r>\n    <w:t xml:space=\"preserve\">Text on link 3</w:t>\n  </w:r>\n  <w:r>\n    <w:t xml:space=\"preserve\"> or </w:t>\n  </w:r>\n  <w:r>\n    <w:t xml:space=\"preserve\">Link 4</w:t>\n  </w:r>\n  <w:r>\n    <w:t xml:space=\"preserve\">, Aenean rutrum elementum nulla, ut consequat velit accumsan vitae. Duis iaculis nulla elit, quis rhoncus mi malesuada vel.</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Stk. 3. Pellentesque nisi tortor, fermentum nec iaculis non, efficitur eu ex. Donec volutpat felis at turpis accumsan, nec interdum sem porta. Sed sed.</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Stk. 6. Quisque finibus purus urna, ac condimentum purus sollicitudin non. In egestas vel libero non pharetra. Donec malesuada dictum sagittis.</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:br w:type=\"page\"/>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading2\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Section 2</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading4\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Notes</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\"> My note </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\"> ― By Cristina Matonte </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading3\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">§ 4</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading4\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Lorem ipsum: Section 2</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading4\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Datum: 2015-01-01</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\"> Aenean rutrum elementum nulla, ut consequat velit accumsan vitae. Duis iaculis nulla elit, quis rhoncus mi malesuada vel. </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:rPr>\n      <w:highlight w:val=\"yellow\"/>\n    </w:rPr>\n    <w:t xml:space=\"preserve\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam convallis ut felis a cursus.</w:t>\n  </w:r>\n  <w:r>\n    <w:t xml:space=\"preserve\">.</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Stk. 3. Etiam sodales quis nisl ac elementum. Suspendisse egestas hendrerit diam sit amet mattis. </w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:br w:type=\"page\"/>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:pPr>\n    <w:pStyle w:val=\"Heading3\"/>\n  </w:pPr>\n  <w:r>\n    <w:t xml:space=\"preserve\">Section 3</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:t xml:space=\"preserve\">Highlights on p</w:t>\n  </w:r>\n  </w:p>\n  <w:p>\n  <w:r>\n    <w:rPr>\n      <w:highlight w:val=\"magenta\"/>\n    </w:rPr>\n    <w:t xml:space=\"preserve\">Pinky</w:t>\n  </w:r>\n  </w:p>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it 'transforms other nestings' do\n    compare_transformed_files(\n      test: 'complex',\n      test_file_name: 'nestings',\n      extras: false\n    )\n  end\nend\n"
  },
  {
    "path": "spec/xslt_description_lists_spec.rb",
    "content": "require 'spec_helper'\n\nRSpec.describe 'XSLT supporting description lists' do\n\n  it 'transforms correctly a single term and description' do\n    compare_transformed_files(\n      test: 'description_lists',\n      test_file_name: 'test01',\n      extras: false\n    )\n  end\n\n  it 'transforms correctly multiple terms, single description' do\n    compare_transformed_files(\n      test: 'description_lists',\n      test_file_name: 'test02',\n      extras: false\n    )\n  end\n\n  it 'transforms correctly a single term, multiple descriptions' do\n    compare_transformed_files(\n      test: 'description_lists',\n      test_file_name: 'test03',\n      extras: false\n    )\n  end\n\n  it 'transforms correctly a description list nested in divs' do\n    compare_transformed_files(\n      test: 'description_lists',\n      test_file_name: 'test04',\n      extras: false\n    )\n  end\nend\n"
  },
  {
    "path": "spec/xslt_heading_spec.rb",
    "content": "require 'spec_helper'\n\ndescribe \"XSLT for Headings\" do\n\n  it \"transforms heading tags in the body\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <h1>Heading 1</h1>\n    <h2>Heading 2</h2>\n    <h3>Heading 3</h3>\n    <h4>Heading 4</h4>\n    <h5>Heading 5</h5>\n    <h6>Heading 6</h6>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"Heading1\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Heading 1</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"Heading2\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Heading 2</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"Heading3\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Heading 3</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"Heading4\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Heading 4</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"Heading5\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Heading 5</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"Heading6\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Heading 6</w:t>\n    </w:r>\n  </w:p>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it \"transforms heading tags in a div\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <div>\n      <h1>Heading 1</h1>\n      <h2>Heading 2</h2>\n      <h3>Heading 3</h3>\n      <h4>Heading 4</h4>\n      <h5>Heading 5</h5>\n      <h6>Heading 6</h6>\n    </div>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"Heading1\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Heading 1</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"Heading2\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Heading 2</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"Heading3\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Heading 3</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"Heading4\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Heading 4</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"Heading5\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Heading 5</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"Heading6\"/>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Heading 6</w:t>\n    </w:r>\n  </w:p>\n    EOL\n\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it \"transforms heading tags in a table\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <table>\n      <tr>\n        <td><h1>Heading 1</h1> normal text</td>\n        <td><h2>Heading 2</h2> normal text</td>\n      </tr>\n      <tr>\n        <td><h3>Heading 3</h3> normal text</td>\n        <td><h4>Heading 4</h4> normal text</td>\n      </tr>\n      <tr>\n        <td><h5>Heading 5</h5> normal text</td>\n        <td><h6>Heading 6</h6> normal text</td>\n      </tr>\n    </table>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:tbl>\n    <w:tblPr>\n      <w:tblStyle w:val=\"TableGrid\"/>\n      <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n      <w:tblBorders>\n        <w:top w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:left w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:bottom w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:right w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideH w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideV w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n      </w:tblBorders>\n      <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n    </w:tblPr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:pPr>\n            <w:pStyle w:val=\"Heading1\"/>\n          </w:pPr>\n          <w:r>\n            <w:t xml:space=\"preserve\">Heading 1</w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\"> normal text</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:pPr>\n            <w:pStyle w:val=\"Heading2\"/>\n          </w:pPr>\n          <w:r>\n            <w:t xml:space=\"preserve\">Heading 2</w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\"> normal text</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:pPr>\n            <w:pStyle w:val=\"Heading3\"/>\n          </w:pPr>\n          <w:r>\n            <w:t xml:space=\"preserve\">Heading 3</w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\"> normal text</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:pPr>\n            <w:pStyle w:val=\"Heading4\"/>\n          </w:pPr>\n          <w:r>\n            <w:t xml:space=\"preserve\">Heading 4</w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\"> normal text</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:pPr>\n            <w:pStyle w:val=\"Heading5\"/>\n          </w:pPr>\n          <w:r>\n            <w:t xml:space=\"preserve\">Heading 5</w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\"> normal text</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:pPr>\n            <w:pStyle w:val=\"Heading6\"/>\n          </w:pPr>\n          <w:r>\n            <w:t xml:space=\"preserve\">Heading 6</w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\"> normal text</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n  </w:tbl>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it \"transform tables with empty headers\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <table>\n      <thead>\n      <tr>\n        <th/>\n        <th>Header 2</th>\n      </tr>\n      </thead>\n      <tbody>\n      <tr>\n        <td><strong>Cell 1,1</strong></td>\n        <td>Cell 1,2</td>\n      </tr>\n      </tbody>\n    </table>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:tbl>\n    <w:tblPr>\n      <w:tblStyle w:val=\"TableGrid\"/>\n      <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n      <w:tblBorders>\n        <w:top w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:left w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:bottom w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:right w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideH w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideV w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n      </w:tblBorders>\n      <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n    </w:tblPr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\"/>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Header 2</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Cell 1,1</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Cell 1,2</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n  </w:tbl>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it \"transforms tables without <tr> tag on <thead>\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <table border=\"1\">\n      <thead>\n        <th>Header 1</th>\n        <th/>\n      </thead>\n      <tbody>\n      <tr>\n        <td><strong>Cell 1,1</strong></td>\n        <td>Cell 1,2</td>\n      </tr>\n      </tbody>\n    </table>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:tbl>\n    <w:tblPr>\n      <w:tblStyle w:val=\"TableGrid\"/>\n      <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n      <w:tblBorders>\n        <w:top w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:left w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:bottom w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:right w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideH w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideV w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n      </w:tblBorders>\n      <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n    </w:tblPr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Header 1</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\"/>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Cell 1,1</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Cell 1,2</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n  </w:tbl>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it \"transforms tables with border attribute and table-bordered class\" do\n    html = <<-EOL\n<!DOCTYPE html>\n<html>\n<head></head>\n<body>\n<table border=\"1\">\n  <tbody>\n    <tr>\n      <td>Hello</td>\n      <td>World</td>\n    </tr>\n  </tbody>\n</table>\nUsing table-bordered class\n<table class=\"table-bordered\">\n  <tbody>\n    <tr>\n      <td>Hello world</td>\n      <td>Part 2</td>\n    </tr>\n  </tbody>\n</table>\n</body>\n</html>\n    EOL\n\n    expected_wordml = <<-EOL\n  <w:tbl>\n    <w:tblPr>\n      <w:tblStyle w:val=\"TableGrid\"/>\n      <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n      <w:tblBorders>\n        <w:top w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:left w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:bottom w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:right w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideH w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideV w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n      </w:tblBorders>\n      <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n    </w:tblPr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Hello</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">World</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n  </w:tbl>\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\"> Using table-bordered class </w:t>\n    </w:r>\n  </w:p>\n  <w:tbl>\n    <w:tblPr>\n      <w:tblStyle w:val=\"TableGrid\"/>\n      <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n      <w:tblBorders>\n        <w:top w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:left w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:bottom w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:right w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideH w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideV w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n      </w:tblBorders>\n      <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n    </w:tblPr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Hello world</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Part 2</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n  </w:tbl>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it \"transforms nested elements inside table cells\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <table class=\"table-bordered\">\n      <tbody>\n        <tr>\n          <td>Pre H1 <h1>This is a H1</h1> Post H1</td>\n          <td>Text <p>A paragraph with <strong>Strong</strong> text</p> More text</td>\n        </tr>\n        <tr>\n          <td><div>Some content <em>inside</em> a <strong>div</strong></div></td>\n          <td/>\n        </tr>\n        <tr>\n          <td>Something <p> Inside a p<strong> strong <em> and strong em </em></strong></p></td>\n          <td><div>Text inside div</div></td>\n        </tr>\n      </tbody>\n    </table>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:tbl>\n    <w:tblPr>\n      <w:tblStyle w:val=\"TableGrid\"/>\n      <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n      <w:tblBorders>\n        <w:top w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:left w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:bottom w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:right w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideH w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideV w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n      </w:tblBorders>\n      <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n    </w:tblPr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Pre H1 </w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:pPr>\n            <w:pStyle w:val=\"Heading1\"/>\n          </w:pPr>\n          <w:r>\n            <w:t xml:space=\"preserve\">This is a H1</w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\"> Post H1</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Text </w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">A paragraph with </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Strong</w:t>\n          </w:r>\n          <w:r>\n            <w:t xml:space=\"preserve\"> text</w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\"> More text</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Some content </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:i/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">inside</w:t>\n          </w:r>\n          <w:r>\n            <w:t xml:space=\"preserve\"> a </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">div</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p/>\n      </w:tc>\n    </w:tr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Something </w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\"> Inside a p</w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\"> strong </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:i/>\n            </w:rPr>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\"> and strong em </w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Text inside div</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n  </w:tbl>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\nend\n"
  },
  {
    "path": "spec/xslt_images_spec.rb",
    "content": "require 'spec_helper'\n\ndescribe \"XSLT to include images\" do\n  it \"generates correct image wordml from html\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <p><img src=\"https://placehold.it/250x100.png\" alt=\"Fancy image description\" style=\"width: 250px; height: 100px\"></p>\n    <p><img src=\"https://placehold.it/250x100.png\" data-filename=\"image.jpg\" style=\"height:100px; width:250px; margin-left:10px\"></p>\n    <p><img src=\"https://placehold.it/150x100.png\" data-width=\"150px\" style=\"width:250px; height:100px\"></p>\n    <p><img src=\"https://placehold.it/250x150.png\" data-height=\"150px\" style=\"width:250px; height:100px\"></p>\n    <p><img src=\"https://placehold.it/150x150.png\" data-width=\"150px\" data-height=\"150px\" style=\"width:250px; height:100px\"></p>\n    <p><img src=\"https://placehold.it/150x150.png\" data-width=\"150px\" data-height=\"150px\"></p>\n    <p><img src=\"https://placehold.it/150x150.png\"></p>\n    <p><img src=\"https://placehold.it/150x150.png\" style=\"border-radius: 8px;\"></p>\n    <div class=\"mediaobject\">\n      <img alt=\"\" src=\"/placehold.it/150x150.png\">\n    </div>\n    </body>\n  </html>\n    EOL\n\n    expected_wordml = <<-EOL\n    <w:p>\n    <w:drawing>\n      <wp:inline distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\">\n        <wp:extent cx=\"2540000\" cy=\"1016000\"/>\n        <wp:effectExtent l=\"0\" t=\"0\" r=\"0\" b=\"0\"/>\n        <wp:docPr id=\"1\" name=\"Picture 1\"/>\n        <wp:cNvGraphicFramePr>\n          <a:graphicFrameLocks noChangeAspect=\"1\"/>\n        </wp:cNvGraphicFramePr>\n        <a:graphic>\n          <a:graphicData uri=\"http://schemas.openxmlformats.org/drawingml/2006/picture\">\n            <pic:pic>\n              <pic:nvPicPr>\n                <pic:cNvPr id=\"1\" title=\"Fancy image description\" name=\"250x100.png\"/>\n                <pic:cNvPicPr/>\n              </pic:nvPicPr>\n              <pic:blipFill>\n                <a:blip r:embed=\"rId8\">\n                  <a:extLst>\n                    <a:ext uri=\"{28A0092B-C50C-407E-A947-70E740481C1C}\">\n                      <a14:useLocalDpi val=\"0\"/>\n                    </a:ext>\n                  </a:extLst>\n                </a:blip>\n                <a:stretch>\n                  <a:fillRect/>\n                </a:stretch>\n              </pic:blipFill>\n              <pic:spPr>\n                <a:xfrm>\n                  <a:off x=\"0\" y=\"0\"/>\n                  <a:ext cx=\"2540000\" cy=\"1016000\"/>\n                </a:xfrm>\n                <a:prstGeom prst=\"rect\">\n                  <a:avLst/>\n                </a:prstGeom>\n              </pic:spPr>\n            </pic:pic>\n          </a:graphicData>\n        </a:graphic>\n      </wp:inline>\n    </w:drawing>\n    </w:p>\n    <w:p>\n    <w:drawing>\n      <wp:inline distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\">\n        <wp:extent cx=\"2540000\" cy=\"1016000\"/>\n        <wp:effectExtent l=\"0\" t=\"0\" r=\"0\" b=\"0\"/>\n        <wp:docPr id=\"2\" name=\"Picture 2\"/>\n        <wp:cNvGraphicFramePr>\n          <a:graphicFrameLocks noChangeAspect=\"1\"/>\n        </wp:cNvGraphicFramePr>\n        <a:graphic>\n          <a:graphicData uri=\"http://schemas.openxmlformats.org/drawingml/2006/picture\">\n            <pic:pic>\n              <pic:nvPicPr>\n                <pic:cNvPr id=\"2\" title=\"\" name=\"image.jpg\"/>\n                <pic:cNvPicPr/>\n              </pic:nvPicPr>\n              <pic:blipFill>\n                <a:blip r:embed=\"rId9\">\n                  <a:extLst>\n                    <a:ext uri=\"{28A0092B-C50C-407E-A947-70E740481C1C}\">\n                      <a14:useLocalDpi val=\"0\"/>\n                    </a:ext>\n                  </a:extLst>\n                </a:blip>\n                <a:stretch>\n                  <a:fillRect/>\n                </a:stretch>\n              </pic:blipFill>\n              <pic:spPr>\n                <a:xfrm>\n                  <a:off x=\"0\" y=\"0\"/>\n                  <a:ext cx=\"2540000\" cy=\"1016000\"/>\n                </a:xfrm>\n                <a:prstGeom prst=\"rect\">\n                  <a:avLst/>\n                </a:prstGeom>\n              </pic:spPr>\n            </pic:pic>\n          </a:graphicData>\n        </a:graphic>\n      </wp:inline>\n    </w:drawing>\n    </w:p>\n    <w:p>\n    <w:drawing>\n      <wp:inline distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\">\n        <wp:extent cx=\"1524000\" cy=\"1016000\"/>\n        <wp:effectExtent l=\"0\" t=\"0\" r=\"0\" b=\"0\"/>\n        <wp:docPr id=\"3\" name=\"Picture 3\"/>\n        <wp:cNvGraphicFramePr>\n          <a:graphicFrameLocks noChangeAspect=\"1\"/>\n        </wp:cNvGraphicFramePr>\n        <a:graphic>\n          <a:graphicData uri=\"http://schemas.openxmlformats.org/drawingml/2006/picture\">\n            <pic:pic>\n              <pic:nvPicPr>\n                <pic:cNvPr id=\"3\" title=\"\" name=\"150x100.png\"/>\n                <pic:cNvPicPr/>\n              </pic:nvPicPr>\n              <pic:blipFill>\n                <a:blip r:embed=\"rId10\">\n                  <a:extLst>\n                    <a:ext uri=\"{28A0092B-C50C-407E-A947-70E740481C1C}\">\n                      <a14:useLocalDpi val=\"0\"/>\n                    </a:ext>\n                  </a:extLst>\n                </a:blip>\n                <a:stretch>\n                  <a:fillRect/>\n                </a:stretch>\n              </pic:blipFill>\n              <pic:spPr>\n                <a:xfrm>\n                  <a:off x=\"0\" y=\"0\"/>\n                  <a:ext cx=\"1524000\" cy=\"1016000\"/>\n                </a:xfrm>\n                <a:prstGeom prst=\"rect\">\n                  <a:avLst/>\n                </a:prstGeom>\n              </pic:spPr>\n            </pic:pic>\n          </a:graphicData>\n        </a:graphic>\n      </wp:inline>\n    </w:drawing>\n    </w:p>\n    <w:p>\n    <w:drawing>\n      <wp:inline distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\">\n        <wp:extent cx=\"2540000\" cy=\"1524000\"/>\n        <wp:effectExtent l=\"0\" t=\"0\" r=\"0\" b=\"0\"/>\n        <wp:docPr id=\"4\" name=\"Picture 4\"/>\n        <wp:cNvGraphicFramePr>\n          <a:graphicFrameLocks noChangeAspect=\"1\"/>\n        </wp:cNvGraphicFramePr>\n        <a:graphic>\n          <a:graphicData uri=\"http://schemas.openxmlformats.org/drawingml/2006/picture\">\n            <pic:pic>\n              <pic:nvPicPr>\n                <pic:cNvPr id=\"4\" title=\"\" name=\"250x150.png\"/>\n                <pic:cNvPicPr/>\n              </pic:nvPicPr>\n              <pic:blipFill>\n                <a:blip r:embed=\"rId11\">\n                  <a:extLst>\n                    <a:ext uri=\"{28A0092B-C50C-407E-A947-70E740481C1C}\">\n                      <a14:useLocalDpi val=\"0\"/>\n                    </a:ext>\n                  </a:extLst>\n                </a:blip>\n                <a:stretch>\n                  <a:fillRect/>\n                </a:stretch>\n              </pic:blipFill>\n              <pic:spPr>\n                <a:xfrm>\n                  <a:off x=\"0\" y=\"0\"/>\n                  <a:ext cx=\"2540000\" cy=\"1524000\"/>\n                </a:xfrm>\n                <a:prstGeom prst=\"rect\">\n                  <a:avLst/>\n                </a:prstGeom>\n              </pic:spPr>\n            </pic:pic>\n          </a:graphicData>\n        </a:graphic>\n      </wp:inline>\n    </w:drawing>\n    </w:p>\n    <w:p>\n    <w:drawing>\n      <wp:inline distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\">\n        <wp:extent cx=\"1524000\" cy=\"1524000\"/>\n        <wp:effectExtent l=\"0\" t=\"0\" r=\"0\" b=\"0\"/>\n        <wp:docPr id=\"5\" name=\"Picture 5\"/>\n        <wp:cNvGraphicFramePr>\n          <a:graphicFrameLocks noChangeAspect=\"1\"/>\n        </wp:cNvGraphicFramePr>\n        <a:graphic>\n          <a:graphicData uri=\"http://schemas.openxmlformats.org/drawingml/2006/picture\">\n            <pic:pic>\n              <pic:nvPicPr>\n                <pic:cNvPr id=\"5\" title=\"\" name=\"150x150.png\"/>\n                <pic:cNvPicPr/>\n              </pic:nvPicPr>\n              <pic:blipFill>\n                <a:blip r:embed=\"rId12\">\n                  <a:extLst>\n                    <a:ext uri=\"{28A0092B-C50C-407E-A947-70E740481C1C}\">\n                      <a14:useLocalDpi val=\"0\"/>\n                    </a:ext>\n                  </a:extLst>\n                </a:blip>\n                <a:stretch>\n                  <a:fillRect/>\n                </a:stretch>\n              </pic:blipFill>\n              <pic:spPr>\n                <a:xfrm>\n                  <a:off x=\"0\" y=\"0\"/>\n                  <a:ext cx=\"1524000\" cy=\"1524000\"/>\n                </a:xfrm>\n                <a:prstGeom prst=\"rect\">\n                  <a:avLst/>\n                </a:prstGeom>\n              </pic:spPr>\n            </pic:pic>\n          </a:graphicData>\n        </a:graphic>\n      </wp:inline>\n    </w:drawing>\n    </w:p>\n    <w:p>\n    <w:drawing>\n      <wp:inline distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\">\n        <wp:extent cx=\"1524000\" cy=\"1524000\"/>\n        <wp:effectExtent l=\"0\" t=\"0\" r=\"0\" b=\"0\"/>\n        <wp:docPr id=\"6\" name=\"Picture 6\"/>\n        <wp:cNvGraphicFramePr>\n          <a:graphicFrameLocks noChangeAspect=\"1\"/>\n        </wp:cNvGraphicFramePr>\n        <a:graphic>\n          <a:graphicData uri=\"http://schemas.openxmlformats.org/drawingml/2006/picture\">\n            <pic:pic>\n              <pic:nvPicPr>\n                <pic:cNvPr id=\"6\" title=\"\" name=\"150x150.png\"/>\n                <pic:cNvPicPr/>\n              </pic:nvPicPr>\n              <pic:blipFill>\n                <a:blip r:embed=\"rId13\">\n                  <a:extLst>\n                    <a:ext uri=\"{28A0092B-C50C-407E-A947-70E740481C1C}\">\n                      <a14:useLocalDpi val=\"0\"/>\n                    </a:ext>\n                  </a:extLst>\n                </a:blip>\n                <a:stretch>\n                  <a:fillRect/>\n                </a:stretch>\n              </pic:blipFill>\n              <pic:spPr>\n                <a:xfrm>\n                  <a:off x=\"0\" y=\"0\"/>\n                  <a:ext cx=\"1524000\" cy=\"1524000\"/>\n                </a:xfrm>\n                <a:prstGeom prst=\"rect\">\n                  <a:avLst/>\n                </a:prstGeom>\n              </pic:spPr>\n            </pic:pic>\n          </a:graphicData>\n        </a:graphic>\n      </wp:inline>\n    </w:drawing>\n    </w:p>\n    <w:p/>\n    <w:p/>\n    <w:p/>\n    EOL\n\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it \"generates correct relations\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <p><a href=\"http://somelink.com\">Link text.</a></p>\n    <p><img src=\"http://placehold.it/350x150.gif\" style=\"width:350px;height:150px\"></p>\n    <p><a href=\"http://someotherlink2.com\">Other link text 2.</a></p>\n    <p><img src=\"http://placehold.it/400x250.png\" data-filename=\"placeholder.png\" style=\"width:450px;height:250px\"></p>\n    <p><img src=\"http://placehold.it/400x250.jpg\" style=\"width:400px;height:250px\"></p>\n  </body>\n  </html>\n    EOL\n    expected_relations_xml = <<-EOL\n  <Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\">\n    <Relationship Id=\"rId3\" Type=\"http://schemas.microsoft.com/office/2007/relationships/stylesWithEffects\" Target=\"stylesWithEffects.xml\"/>\n    <Relationship Id=\"rId4\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings\" Target=\"settings.xml\"/>\n    <Relationship Id=\"rId5\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings\" Target=\"webSettings.xml\"/>\n    <Relationship Id=\"rId6\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable\" Target=\"fontTable.xml\"/>\n    <Relationship Id=\"rId7\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\" Target=\"theme/theme1.xml\"/>\n    <Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering\" Target=\"numbering.xml\"/>\n    <Relationship Id=\"rId2\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\" Target=\"styles.xml\"/>\n    <Relationship Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\" Target=\"http://somelink.com\" TargetMode=\"External\" Id=\"rId8\"/>\n    <Relationship Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\" Target=\"media/image1.gif\" Id=\"rId9\"/>\n    <Relationship Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\" Target=\"http://someotherlink2.com\" TargetMode=\"External\" Id=\"rId10\"/>\n    <Relationship Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\" Target=\"media/image2.png\" Id=\"rId11\"/>\n    <Relationship Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\" Target=\"media/image3.jpg\" Id=\"rId12\"/>\n  </Relationships>\n    EOL\n    compare_relations_xml(html, expected_relations_xml)\n  end\nend\n"
  },
  {
    "path": "spec/xslt_links_spec.rb",
    "content": "require 'spec_helper'\n\ndescribe \"XSLT for Links\" do\n\n  it \"transforms heading tags in a div\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <a href=\"/internal\">This is internal link.</a>\n    <div>\n      <a href=\"http://somelink.com\">Link text.</a>\n    </div>\n    <div>\n      <a href=\"https://someotherlink.com\">Other link text.</a>\n    </div>\n    <div>\n      <a href=\"/internal2\">This is other internal link.</a>\n    </div>\n    <div>\n      <a href=\"http://someotherlink2.com\">Other link text 2.</a>\n      <div>\n        <a href=\"http://someotherlink3.com\">Other link text 3.</a>\n      </div> Some text <ul>\n        <li>First item: <a href=\"http://listlink.com\">List link text.</a></li>\n      </ul>\n    </div>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:p>\n    <w:r>\n      <w:t xml:space=\\\"preserve\\\">This is internal link.</w:t>\n    </w:r>\n  </w:p><w:p>\n    <w:hyperlink r:id=\"rId8\">\n      <w:r>\n        <w:rPr>\n          <w:rStyle w:val=\"Hyperlink\"/>\n          <w:color w:val=\"000080\"/>\n          <w:u w:val=\"single\"/>\n        </w:rPr>\n        <w:t xml:space=\"preserve\">Link text.</w:t>\n      </w:r>\n    </w:hyperlink>\n  </w:p><w:p>\n    <w:hyperlink r:id=\"rId9\">\n      <w:r>\n        <w:rPr>\n          <w:rStyle w:val=\"Hyperlink\"/>\n          <w:color w:val=\"000080\"/>\n          <w:u w:val=\"single\"/>\n        </w:rPr>\n        <w:t xml:space=\"preserve\">Other link text.</w:t>\n      </w:r>\n    </w:hyperlink>\n  </w:p><w:p>\n    <w:r>\n      <w:t xml:space=\\\"preserve\\\">This is other internal link.</w:t>\n    </w:r>\n  </w:p><w:p>\n    <w:hyperlink r:id=\\\"rId10\\\">\n      <w:r>\n        <w:rPr>\n          <w:rStyle w:val=\\\"Hyperlink\\\"/>\n          <w:color w:val=\"000080\"/>\n          <w:u w:val=\"single\"/>\n        </w:rPr>\n        <w:t xml:space=\\\"preserve\\\">Other link text 2.</w:t>\n      </w:r>\n    </w:hyperlink>\n  </w:p><w:p>\n    <w:hyperlink r:id=\\\"rId11\\\">\n      <w:r>\n        <w:rPr>\n          <w:rStyle w:val=\\\"Hyperlink\\\"/>\n          <w:color w:val=\"000080\"/>\n          <w:u w:val=\"single\"/>\n        </w:rPr>\n        <w:t xml:space=\\\"preserve\\\">Other link text 3.</w:t>\n      </w:r>\n    </w:hyperlink>\n  </w:p><w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\"> Some text </w:t>\n    </w:r>\n  </w:p><w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"0\"/>\n        <w:numId w:val=\"1\"/>\n      </w:numPr>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">First item: </w:t>\n    </w:r>\n    <w:hyperlink r:id=\"rId12\">\n      <w:r>\n        <w:rPr>\n          <w:rStyle w:val=\"Hyperlink\"/>\n          <w:color w:val=\"000080\"/>\n          <w:u w:val=\"single\"/>\n        </w:rPr>\n        <w:t xml:space=\"preserve\">List link text.</w:t>\n      </w:r>\n    </w:hyperlink>\n  </w:p>\n    EOL\n\n    expected_relations_xml = <<-EOL\n  <Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\">\n    <Relationship Id=\"rId3\" Type=\"http://schemas.microsoft.com/office/2007/relationships/stylesWithEffects\" Target=\"stylesWithEffects.xml\"/>\n    <Relationship Id=\"rId4\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings\" Target=\"settings.xml\"/>\n    <Relationship Id=\"rId5\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings\" Target=\"webSettings.xml\"/>\n    <Relationship Id=\"rId6\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable\" Target=\"fontTable.xml\"/>\n    <Relationship Id=\"rId7\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\" Target=\"theme/theme1.xml\"/>\n    <Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering\" Target=\"numbering.xml\"/>\n    <Relationship Id=\"rId2\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\" Target=\"styles.xml\"/>\n    <Relationship Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\" Target=\"http://somelink.com\" TargetMode=\"External\" Id=\"rId8\"/>\n    <Relationship Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\" Target=\"https://someotherlink.com\" TargetMode=\"External\" Id=\"rId9\"/>\n    <Relationship Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\" Target=\"http://someotherlink2.com\" TargetMode=\"External\" Id=\"rId10\"/>\n    <Relationship Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\" Target=\"http://someotherlink3.com\" TargetMode=\"External\" Id=\"rId11\"/>\n    <Relationship Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\" Target=\"http://listlink.com\" TargetMode=\"External\" Id=\"rId12\"/>\n  </Relationships>\n    EOL\n\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n    compare_relations_xml(html, expected_relations_xml)\n    check_link_text(html, expected_wordml)\n\n  end\nend\n"
  },
  {
    "path": "spec/xslt_lists_spec.rb",
    "content": "require 'spec_helper'\n\ndescribe \"XSLT supporting lists\" do\n  it \"transforms a simple ol list\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <ol>\n      <li>Item 1</li>\n      <li>Item 2</li>\n    </ol>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr> \n        <w:ilvl w:val=\"0\"/> \n        <w:numId w:val=\"1\"/> \n      </w:numPr> \n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Item 1</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"0\"/>\n        <w:numId w:val=\"1\"/>\n      </w:numPr>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Item 2</w:t>\n    </w:r>\n  </w:p>\n    EOL\n    expected_numbering_xml = <<-EOL\n  <w:numbering>\n    <w:abstractNum w:abstractNumId=\"0\">\n      <w:nsid w:val=\"099A08C1\"/>\n      <w:multiLevelType w:val=\"hybridMultilevel\"/>\n      <w:lvl w:ilvl=\"0\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"decimal\"/>\n        <w:lvlText w:val=\"%1.\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"720\" w:hanging=\"360\"/>\n        </w:pPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"1\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"decimal\"/>\n        <w:lvlText w:val=\"%2.\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"1440\" w:hanging=\"360\"/>\n        </w:pPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"2\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"decimal\"/>\n        <w:lvlText w:val=\"%3.\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"2160\" w:hanging=\"360\"/>\n        </w:pPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"3\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"decimal\"/>\n        <w:lvlText w:val=\"%4.\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"2880\" w:hanging=\"360\"/>\n        </w:pPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"4\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"decimal\"/>\n        <w:lvlText w:val=\"%5.\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"3600\" w:hanging=\"360\"/>\n        </w:pPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"5\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"decimal\"/>\n        <w:lvlText w:val=\"%6.\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"4320\" w:hanging=\"360\"/>\n        </w:pPr>\n      </w:lvl>\n    </w:abstractNum>\n    <w:num w:numId=\"1\">\n      <w:abstractNumId w:val=\"0\"/>\n    </w:num>\n  </w:numbering>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n    compare_numbering_xml(html, expected_numbering_xml)\n  end\n\n  it \"transforms a simple ul list\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <ul>\n      <li>Item 1</li>\n      <li>Item 2</li>\n    </ul>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"0\"/>\n        <w:numId w:val=\"1\"/>\n      </w:numPr>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Item 1</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"0\"/>\n        <w:numId w:val=\"1\"/>\n      </w:numPr>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Item 2</w:t>\n    </w:r>\n  </w:p>\n    EOL\n    expected_numbering_xml = <<-EOL\n  <w:numbering>\n    <w:abstractNum w:abstractNumId=\"0\">\n      <w:nsid w:val=\"099A08C1\"/>\n      <w:multiLevelType w:val=\"hybridMultilevel\"/>\n      <w:lvl w:ilvl=\"0\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"bullet\"/>\n        <w:lvlText w:val=\"●\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"720\" w:hanging=\"360\"/>\n        </w:pPr>\n        <w:rPr>\n          <w:rFonts w:ascii=\"Symbol\" w:hAnsi=\"Symbol\" w:hint=\"default\"/>\n        </w:rPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"1\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"bullet\"/>\n        <w:lvlText w:val=\"●\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"1440\" w:hanging=\"360\"/>\n        </w:pPr>\n        <w:rPr>\n          <w:rFonts w:ascii=\"Symbol\" w:hAnsi=\"Symbol\" w:hint=\"default\"/>\n        </w:rPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"2\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"bullet\"/>\n        <w:lvlText w:val=\"●\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"2160\" w:hanging=\"360\"/>\n        </w:pPr>\n        <w:rPr>\n          <w:rFonts w:ascii=\"Symbol\" w:hAnsi=\"Symbol\" w:hint=\"default\"/>\n        </w:rPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"3\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"bullet\"/>\n        <w:lvlText w:val=\"●\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"2880\" w:hanging=\"360\"/>\n        </w:pPr>\n        <w:rPr>\n          <w:rFonts w:ascii=\"Symbol\" w:hAnsi=\"Symbol\" w:hint=\"default\"/>\n        </w:rPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"4\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"bullet\"/>\n        <w:lvlText w:val=\"●\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"3600\" w:hanging=\"360\"/>\n        </w:pPr>\n        <w:rPr>\n          <w:rFonts w:ascii=\"Symbol\" w:hAnsi=\"Symbol\" w:hint=\"default\"/>\n        </w:rPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"5\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"bullet\"/>\n        <w:lvlText w:val=\"●\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"4320\" w:hanging=\"360\"/>\n        </w:pPr>\n        <w:rPr>\n          <w:rFonts w:ascii=\"Symbol\" w:hAnsi=\"Symbol\" w:hint=\"default\"/>\n        </w:rPr>\n      </w:lvl>\n    </w:abstractNum>\n    <w:num w:numId=\"1\">\n      <w:abstractNumId w:val=\"0\"/>\n    </w:num>\n  </w:numbering>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n    compare_numbering_xml(html, expected_numbering_xml)\n  end\n\n  it \"transforms nested lists with styles\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <ol style=\"list-style-type: square;\">\n      <li>Item 1\n        <ul class=\"num\">\n          <li>Sub item 1</li>\n          <li>Sub item 2</li>\n        </ul>\n      </li>\n      <li>Item 2\n        <ol style=\"list-style-type: lower-latin;\">\n          <li>Item a\n            <ol style=\"list-style-type: lower-roman;\">\n              <li>Item i</li>\n              <li>Item ii</li>\n            </ol>\n          </li>\n        </ol>\n      </li>\n      <li>Item 3</li>\n    </ol>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"0\"/>\n        <w:numId w:val=\"1\"/>\n      </w:numPr>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Item 1 </w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"1\"/>\n        <w:numId w:val=\"1\"/>\n      </w:numPr>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Sub item 1</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"1\"/>\n        <w:numId w:val=\"1\"/>\n      </w:numPr>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Sub item 2</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"0\"/>\n        <w:numId w:val=\"1\"/>\n      </w:numPr>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Item 2 </w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"1\"/>\n        <w:numId w:val=\"1\"/>\n      </w:numPr>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Item a </w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"2\"/>\n        <w:numId w:val=\"1\"/>\n      </w:numPr>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Item i</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"2\"/>\n        <w:numId w:val=\"1\"/>\n      </w:numPr>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Item ii</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"0\"/>\n        <w:numId w:val=\"1\"/>\n      </w:numPr>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Item 3</w:t>\n    </w:r>\n  </w:p>\n    EOL\n    expected_numbering_xml = <<-EOL\n  <w:numbering>\n    <w:abstractNum w:abstractNumId=\"0\">\n      <w:nsid w:val=\"099A08C1\"/>\n      <w:multiLevelType w:val=\"hybridMultilevel\"/>\n      <w:lvl w:ilvl=\"0\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"bullet\"/>\n        <w:lvlText w:val=\"■\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"720\" w:hanging=\"360\"/>\n        </w:pPr>\n        <w:rPr>\n          <w:rFonts w:ascii=\"Symbol\" w:hAnsi=\"Symbol\" w:hint=\"default\"/>\n        </w:rPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"1\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"decimal\"/>\n        <w:lvlText w:val=\"%2.\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"1440\" w:hanging=\"360\"/>\n        </w:pPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"1\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"lowerLetter\"/>\n        <w:lvlText w:val=\"%2.\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"1440\" w:hanging=\"360\"/>\n        </w:pPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"2\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"lowerRoman\"/>\n        <w:lvlText w:val=\"%3.\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"2160\" w:hanging=\"360\"/>\n        </w:pPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"3\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"bullet\"/>\n        <w:lvlText w:val=\"■\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"2880\" w:hanging=\"360\"/>\n        </w:pPr>\n        <w:rPr>\n          <w:rFonts w:ascii=\"Symbol\" w:hAnsi=\"Symbol\" w:hint=\"default\"/>\n        </w:rPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"4\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"bullet\"/>\n        <w:lvlText w:val=\"■\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"3600\" w:hanging=\"360\"/>\n        </w:pPr>\n        <w:rPr>\n          <w:rFonts w:ascii=\"Symbol\" w:hAnsi=\"Symbol\" w:hint=\"default\"/>\n        </w:rPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"5\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"bullet\"/>\n        <w:lvlText w:val=\"■\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"4320\" w:hanging=\"360\"/>\n        </w:pPr>\n        <w:rPr>\n          <w:rFonts w:ascii=\"Symbol\" w:hAnsi=\"Symbol\" w:hint=\"default\"/>\n        </w:rPr>\n      </w:lvl>\n    </w:abstractNum>\n    <w:num w:numId=\"1\">\n      <w:abstractNumId w:val=\"0\"/>\n    </w:num>\n  </w:numbering>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n    compare_numbering_xml(html, expected_numbering_xml)\n  end\n\n  it 'restarts the counter on new list' do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <ol>\n      <li>Item 1</li>\n      <li>Item 2</li>\n    </ol>\n    <ol>\n      <li>New Item 1</li>\n      <li>New Item 2</li>\n    </ol>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"0\"/>\n        <w:numId w:val=\"1\"/>\n      </w:numPr>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Item 1</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"0\"/>\n        <w:numId w:val=\"1\"/>\n      </w:numPr>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">Item 2</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"0\"/>\n        <w:numId w:val=\"2\"/>\n      </w:numPr>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">New Item 1</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:pPr>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:numPr>\n        <w:ilvl w:val=\"0\"/>\n        <w:numId w:val=\"2\"/>\n      </w:numPr>\n    </w:pPr>\n    <w:r>\n      <w:t xml:space=\"preserve\">New Item 2</w:t>\n    </w:r>\n  </w:p>\n    EOL\n    expected_numbering_xml = <<-EOL\n  <w:numbering>\n    <w:abstractNum w:abstractNumId=\"0\">\n      <w:nsid w:val=\"099A08C1\"/>\n      <w:multiLevelType w:val=\"hybridMultilevel\"/>\n      <w:lvl w:ilvl=\"0\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"decimal\"/>\n        <w:lvlText w:val=\"%1.\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"720\" w:hanging=\"360\"/>\n        </w:pPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"1\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"decimal\"/>\n        <w:lvlText w:val=\"%2.\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"1440\" w:hanging=\"360\"/>\n        </w:pPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"2\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"decimal\"/>\n        <w:lvlText w:val=\"%3.\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"2160\" w:hanging=\"360\"/>\n        </w:pPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"3\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"decimal\"/>\n        <w:lvlText w:val=\"%4.\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"2880\" w:hanging=\"360\"/>\n        </w:pPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"4\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"decimal\"/>\n        <w:lvlText w:val=\"%5.\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"3600\" w:hanging=\"360\"/>\n        </w:pPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"5\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"decimal\"/>\n        <w:lvlText w:val=\"%6.\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"4320\" w:hanging=\"360\"/>\n        </w:pPr>\n      </w:lvl>\n    </w:abstractNum>\n    <w:abstractNum w:abstractNumId=\"1\">\n      <w:nsid w:val=\"099A08C2\"/>\n      <w:multiLevelType w:val=\"hybridMultilevel\"/>\n      <w:lvl w:ilvl=\"0\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"decimal\"/>\n        <w:lvlText w:val=\"%1.\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"720\" w:hanging=\"360\"/>\n        </w:pPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"1\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"decimal\"/>\n        <w:lvlText w:val=\"%2.\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"1440\" w:hanging=\"360\"/>\n        </w:pPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"2\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"decimal\"/>\n        <w:lvlText w:val=\"%3.\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"2160\" w:hanging=\"360\"/>\n        </w:pPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"3\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"decimal\"/>\n        <w:lvlText w:val=\"%4.\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"2880\" w:hanging=\"360\"/>\n        </w:pPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"4\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"decimal\"/>\n        <w:lvlText w:val=\"%5.\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"3600\" w:hanging=\"360\"/>\n        </w:pPr>\n      </w:lvl>\n      <w:lvl w:ilvl=\"5\">\n        <w:start w:val=\"1\"/>\n        <w:numFmt w:val=\"decimal\"/>\n        <w:lvlText w:val=\"%6.\"/>\n        <w:lvlJc w:val=\"left\"/>\n        <w:pPr>\n          <w:ind w:left=\"4320\" w:hanging=\"360\"/>\n        </w:pPr>\n      </w:lvl>\n    </w:abstractNum>\n    <w:num w:numId=\"1\">\n      <w:abstractNumId w:val=\"0\"/>\n    </w:num>\n    <w:num w:numId=\"2\">\n      <w:abstractNumId w:val=\"1\"/>\n    </w:num>\n  </w:numbering>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n    compare_numbering_xml(html, expected_numbering_xml)\n  end\n\n  it 'handles inline elements inside a div' do\n    compare_transformed_files(\n      test: 'lists',\n      test_file_name: 'lists_inline_elements',\n      extras: false\n    )\n  end\nend\n"
  },
  {
    "path": "spec/xslt_simple_text_style_spec.rb",
    "content": "require 'spec_helper'\n\ndescribe \"XSLT to make text bold or italic\" do\n\n  it \"transforms simple b, strong, em and italic tags\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <div> Testing <b>bold</b>, <i>italic</i>, <strong>strong</strong>, <em>em</em> text within a div.</div>\n    <p> Testing <b>bold</b>, <i>italic</i>, <strong>strong</strong>, <em>em</em> text within a p.</p>\n    <span> Testing <b>bold</b>, <i>italic</i>, <strong>strong</strong>, <em>em</em> text within a span.</span>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\"> Testing </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">bold</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">, </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">italic</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">, </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">strong</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">, </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">em</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\"> text within a div.</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\"> Testing </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">bold</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">, </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">italic</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">, </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">strong</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">, </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">em</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\"> text within a p.</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\"> Testing </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">bold</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">, </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">italic</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">, </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">strong</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">, </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">em</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\"> text within a span.</w:t>\n    </w:r>\n  </w:p>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it \"transforms all combinations of b, strong, em and italic within div and p\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <p>\n      Combinations in p tag: <b><i>Bold italic</i></b>, <i><b>Italic bold</b></i>, <b><em>Bold em</em></b>,\n      <em><b>Em bold</b></em>, <strong><i>Strong italic</i></strong>, <i><strong>Italic strong</strong></i>,\n      <strong><em>Strong em</em></strong>, <em><strong>Em strong</strong></em>. Should be ok\n    </p>\n    <div>\n      More on combinations : <b>Just bold. <i>Bold italic.</i> Again just bold</b>,\n      <i>Just italic. <b>Italic bold.</b> Again just italic</i>,\n      <b>Just bold. <em>Bold em</em> Again just bold</b>,\n      <em>Just em. <b>Em bold.</b> Again just em</em>,\n      <strong>Just Strong. <i>Strong italic. </i>Again just strong</strong>,\n      <i>Just italic. <strong>Italic strong. </strong>Again just italic </i>,\n      <strong>Just Strong. <em>Strong em. </em>Again just strong</strong>,\n      <em>Just em. <strong>Em strong.</strong> Again just em</em>. Should be ok\n    </div>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\">\nCombinations in p tag: </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Bold italic</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">, </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Italic bold</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">, </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Bold em</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">,\n</w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Em bold</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">, </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Strong italic</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">, </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Italic strong</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">,\n</w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Strong em</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">, </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Em strong</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">. Should be ok\n</w:t>\n    </w:r>\n  </w:p>\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\">\nMore on combinations : </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Just bold. </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Bold italic.</w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\"> Again just bold</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">,\n</w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Just italic. </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Italic bold.</w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\"> Again just italic</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">,\n</w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Just bold. </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Bold em</w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\"> Again just bold</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">,\n</w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Just em. </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Em bold.</w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\"> Again just em</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">,\n</w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Just Strong. </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Strong italic. </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Again just strong</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">,\n</w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Just italic. </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Italic strong. </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Again just italic </w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">,\n</w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Just Strong. </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Strong em. </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Again just strong</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">,\n</w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Just em. </w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:rPr>\n        <w:b/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\">Em strong.</w:t>\n    </w:r>\n    <w:r>\n      <w:rPr>\n        <w:i/>\n      </w:rPr>\n      <w:t xml:space=\"preserve\"> Again just em</w:t>\n    </w:r>\n    <w:r>\n      <w:t xml:space=\"preserve\">. Should be ok\n</w:t>\n    </w:r>\n  </w:p>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it \"transforms b, strong, em and italic within table cells\" do\n    html = <<-EOL\n<!DOCTYPE html>\n<html>\n<head></head>\n<body>\n  <table class=\"table-bordered\">\n    <thead>\n    <tr>\n      <th>Column 1</th>\n      <th>Column 2</th>\n      <th>Column 3</th>\n    </tr>\n    </thead>\n    <tbody>\n    <tr>\n      <td><strong>Row 1</strong></td>\n      <td><em>Em text</em></td>\n      <td><i>I text</i></td>\n    </tr>\n    <tr>\n      <td><b>Row 2</b></td>\n      <td>Text: <strong>Strong <em>Strong em </em> Strong </strong> <b>Bold tag <i>Bold italic</i> More bold. </b> End </td>\n      <td>Text: <em> Just em <strong>Em strong text</strong> More em text </em> <i>Italic tag <b>Italic bold</b> More italic.</i>  End </td>\n    </tr>\n    <tr>\n      <td><div><b>Row 2</b></div></td>\n      <td><p>Text: <strong>Strong <em>Strong em </em> Strong </strong> <b>Bold tag <i>Bold italic</i> More bold. </b> End</p></td>\n      <td>Td <div>Div <strong><i>Strong italic</i></strong></div> <b><em>Bold Em</em></b></td>\n    </tr>\n    <tr>\n      <td>Td <span>Span</span> <div>A div</div> <strong><em>Strong em</em></strong></td>\n      <td>Td <div>A div</div> <i>Span em</i></td>\n      <td>Td <div>A div</div> <i><strong>Italic strong</strong></i></td>\n    </tr>\n    </tbody>\n  </table>\n</body>\n</html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:tbl>\n    <w:tblPr>\n      <w:tblStyle w:val=\"TableGrid\"/>\n      <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n      <w:tblBorders>\n        <w:top w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:left w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:bottom w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:right w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideH w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideV w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n      </w:tblBorders>\n      <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n    </w:tblPr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Column 1</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Column 2</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Column 3</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Row 1</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:i/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Em text</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:i/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">I text</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Row 2</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Text: </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Strong </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:i/>\n            </w:rPr>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Strong em </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\"> Strong </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Bold tag </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:i/>\n            </w:rPr>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Bold italic</w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\"> More bold. </w:t>\n          </w:r>\n          <w:r>\n            <w:t xml:space=\"preserve\"> End </w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Text: </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:i/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\"> Just em </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:i/>\n            </w:rPr>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Em strong text</w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:i/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\"> More em text </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:i/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Italic tag </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:i/>\n            </w:rPr>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Italic bold</w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:i/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\"> More italic.</w:t>\n          </w:r>\n          <w:r>\n            <w:t xml:space=\"preserve\">  End </w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Row 2</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Text: </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Strong </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:i/>\n            </w:rPr>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Strong em </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\"> Strong </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Bold tag </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:i/>\n            </w:rPr>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Bold italic</w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\"> More bold. </w:t>\n          </w:r>\n          <w:r>\n            <w:t xml:space=\"preserve\"> End</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Td </w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Div </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:i/>\n            </w:rPr>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Strong italic</w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:i/>\n            </w:rPr>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Bold Em</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Td </w:t>\n          </w:r>\n          <w:r>\n            <w:t xml:space=\"preserve\">Span</w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">A div</w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:i/>\n            </w:rPr>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Strong em</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Td </w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">A div</w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:i/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Span em</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Td </w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">A div</w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:i/>\n            </w:rPr>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Italic strong</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n  </w:tbl>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\nend\n"
  },
  {
    "path": "spec/xslt_spec.rb",
    "content": "require 'spec_helper'\n\ndescribe \"XSLT\" do\n\n  it \"transforms an empty html doc into an empty docx doc\" do\n    html = '<html><head></head><body></body></html>'\n    compare_resulting_wordml_with_expected(html, \" \")\n  end\n\n  it \"transforms a div into a docx block element.\" do\n    html = '<html><head></head><body><div>Hello</div></body></html>'\n    compare_resulting_wordml_with_expected(html, \"<w:p> <w:r> <w:t xml:space=\\\"preserve\\\">Hello</w:t> </w:r> </w:p>\")\n  end\n\n  context \"transform a span\" do\n\n    it \"into a docx block element if child of body.\" do\n      html = '<html><head></head><body><span>Hello</span></body></html>'\n      compare_resulting_wordml_with_expected(html, \"<w:p> <w:r> <w:t xml:space=\\\"preserve\\\">Hello</w:t> </w:r> </w:p>\")\n    end\n\n    it \"into a docx inline element if not child of body.\" do\n      html = '<html><head></head><body><div><span>Hello</span></div></body></html>'\n      compare_resulting_wordml_with_expected(html, \"<w:p> <w:r> <w:t xml:space=\\\"preserve\\\">Hello</w:t> </w:r> </w:p>\")\n    end\n\n  end\n\n  it \"transforms a p into a docx block element.\" do\n    html = '<html><head></head><body><p>Hello</p></body></html>'\n    compare_resulting_wordml_with_expected(html, \"<w:p> <w:r> <w:t xml:space=\\\"preserve\\\">Hello</w:t> </w:r> </w:p>\")\n  end\n\n  it \"Should strip out details tags\" do\n    html = '<html><head></head><body><div><p>Hello</p><details><summary>Title</summary><p>Second</p><details></div></body></html>'\n    compare_resulting_wordml_with_expected(html, \"<w:p> <w:r> <w:t xml:space=\\\"preserve\\\">Hello</w:t> </w:r> </w:p>\")\n  end\n\n  it \"Should transform a pre\" do\n     html = '<pre>Lorem ipsum </pre><pre><b>Boldie...</b> Not boldie</pre><div><div><pre>dolor sit amet <i>Italic</i></pre> <div>consectetur </div></div>adipiscing <pre>elit <a href=\"/linkto\">link </a></pre></div><div><h1>Title</h1><pre>Pre 1</pre><pre>Pre 2</pre><pre>Pre 3</pre></div>'\n     expected = '<w:p> <w:r> <w:t xml:space=\"preserve\">Lorem ipsum </w:t> </w:r> </w:p> <w:p> <w:r> <w:rPr> <w:b/> </w:rPr> <w:t xml:space=\"preserve\">Boldie...</w:t> </w:r> <w:r> <w:t xml:space=\"preserve\"> Not boldie</w:t> </w:r> </w:p> <w:p> <w:r> <w:t xml:space=\"preserve\">dolor sit amet </w:t> </w:r> <w:r> <w:rPr> <w:i/> </w:rPr> <w:t xml:space=\"preserve\">Italic</w:t> </w:r> </w:p> <w:p> <w:r> <w:t xml:space=\"preserve\">consectetur </w:t> </w:r> </w:p> <w:p> <w:r> <w:t xml:space=\"preserve\">adipiscing </w:t> </w:r> </w:p> <w:p> <w:r> <w:t xml:space=\"preserve\">elit </w:t> </w:r> <w:r> <w:t xml:space=\"preserve\">link </w:t> </w:r> </w:p> <w:p> <w:pPr> <w:pStyle w:val=\"Heading1\"/> </w:pPr> <w:r> <w:t xml:space=\"preserve\">Title</w:t> </w:r> </w:p> <w:p> <w:r> <w:t xml:space=\"preserve\">Pre 1</w:t> </w:r> </w:p> <w:p> <w:r> <w:t xml:space=\"preserve\">Pre 2</w:t> </w:r> </w:p> <w:p> <w:r> <w:t xml:space=\"preserve\">Pre 3</w:t> </w:r> </w:p>'\n     compare_resulting_wordml_with_expected(html, expected)\n  end\nend\n"
  },
  {
    "path": "spec/xslt_tables_spec.rb",
    "content": "require 'spec_helper'\n\ndescribe \"XSLT for tables\" do\n\n  it \"transforms a table into a tbl element\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <table>\n      <tbody>\n        <tr>\n          <td>Hello</td>\n        </tr>\n      </tbody>\n    </table>\n  </body>\n  </html>\n      EOL\n    expected_wordml = <<-EOL\n  <w:tbl>\n    <w:tblPr>\n      <w:tblStyle w:val=\"TableGrid\"/>\n      <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n      <w:tblBorders>\n        <w:top w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:left w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:bottom w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:right w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideH w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideV w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n      </w:tblBorders>\n      <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n    </w:tblPr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Hello</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n  </w:tbl>\n      EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it \"transforms a nested table\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <table>\n      <tbody>\n      <tr>\n        <td>Cell 1,1</td>\n        <td>\n          <table>\n            <tbody>\n            <tr>\n              <td>Nested</td>\n              <td>Table</td>\n            </tr>\n            </tbody>\n          </table>\n        </td>\n        <td>Cell 1,3</td>\n      </tr>\n      </tbody>\n    </table>\n  </body>\n  </html>\n      EOL\n    expected_wordml = <<-EOL\n  <w:tbl>\n    <w:tblPr>\n      <w:tblStyle w:val=\"TableGrid\"/>\n      <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n      <w:tblBorders>\n        <w:top w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:left w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:bottom w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:right w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideH w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideV w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n      </w:tblBorders>\n      <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n    </w:tblPr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Cell 1,1</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:tbl>\n          <w:tblPr>\n            <w:tblStyle w:val=\"TableGrid\"/>\n            <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n            <w:tblBorders>\n              <w:top w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n              <w:left w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n              <w:bottom w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n              <w:right w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n              <w:insideH w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n              <w:insideV w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n            </w:tblBorders>\n            <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n          </w:tblPr>\n          <w:tr>\n            <w:tc>\n              <w:tcPr/>\n              <w:p>\n                <w:r>\n                  <w:t xml:space=\"preserve\">Nested</w:t>\n                </w:r>\n              </w:p>\n            </w:tc>\n            <w:tc>\n              <w:tcPr/>\n              <w:p>\n                <w:r>\n                  <w:t xml:space=\"preserve\">Table</w:t>\n                </w:r>\n              </w:p>\n            </w:tc>\n          </w:tr>\n        </w:tbl>\n        <w:p/>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Cell 1,3</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n  </w:tbl>\n      EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it \"transforms tables with empty cells\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <table>\n    <tbody>\n    <tr>\n      <td><strong>Cell 1,1</strong></td>\n      <td/>\n    </tr>\n    </tbody>\n  </table>\n  </body>\n  </html>\n      EOL\n      expected_wordml = <<-EOL\n  <w:tbl>\n    <w:tblPr>\n      <w:tblStyle w:val=\"TableGrid\"/>\n      <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n      <w:tblBorders>\n        <w:top w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:left w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:bottom w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:right w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideH w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideV w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n      </w:tblBorders>\n      <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n    </w:tblPr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Cell 1,1</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p/>\n      </w:tc>\n    </w:tr>\n  </w:tbl>\n      EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it \"transform tables with empty headers\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <table>\n      <thead>\n      <tr>\n        <th/>\n        <th>Header 2</th>\n      </tr>\n      </thead>\n      <tbody>\n      <tr>\n        <td><strong>Cell 1,1</strong></td>\n        <td>Cell 1,2</td>\n      </tr>\n      </tbody>\n    </table>\n  </body>\n  </html>\n      EOL\n      expected_wordml = <<-EOL\n  <w:tbl>\n    <w:tblPr>\n      <w:tblStyle w:val=\"TableGrid\"/>\n      <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n      <w:tblBorders>\n        <w:top w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:left w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:bottom w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:right w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideH w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideV w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n      </w:tblBorders>\n      <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n    </w:tblPr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\"/>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Header 2</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Cell 1,1</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Cell 1,2</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n  </w:tbl>\n      EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it \"transforms tables without <tr> tag on <thead>\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <table border=\"1\">\n      <thead>\n        <th>Header 1</th>\n        <th/>\n      </thead>\n      <tbody>\n      <tr>\n        <td><strong>Cell 1,1</strong></td>\n        <td>Cell 1,2</td>\n      </tr>\n      </tbody>\n    </table>\n  </body>\n  </html>\n      EOL\n    expected_wordml = <<-EOL\n  <w:tbl>\n    <w:tblPr>\n      <w:tblStyle w:val=\"TableGrid\"/>\n      <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n      <w:tblBorders>\n        <w:top w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:left w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:bottom w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:right w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideH w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideV w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n      </w:tblBorders>\n      <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n    </w:tblPr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Header 1</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\"/>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Cell 1,1</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Cell 1,2</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n  </w:tbl>\n      EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it \"transforms tables with border attribute and table-bordered class\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n  <table border=\"1\">\n  <tbody>\n    <tr>\n      <td>Hello</td>\n      <td>World</td>\n    </tr>\n  </tbody>\n  </table>\n  Using table-bordered class\n  <table class=\"table-bordered\">\n  <tbody>\n    <tr>\n      <td>Hello world</td>\n      <td>Part 2</td>\n    </tr>\n  </tbody>\n  </table>\n  </body>\n  </html>\n      EOL\n\n    expected_wordml = <<-EOL\n  <w:tbl>\n    <w:tblPr>\n      <w:tblStyle w:val=\"TableGrid\"/>\n      <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n      <w:tblBorders>\n        <w:top w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:left w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:bottom w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:right w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideH w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideV w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n      </w:tblBorders>\n      <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n    </w:tblPr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Hello</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">World</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n  </w:tbl>\n  <w:p>\n    <w:r>\n      <w:t xml:space=\"preserve\"> Using table-bordered class </w:t>\n    </w:r>\n  </w:p>\n  <w:tbl>\n    <w:tblPr>\n      <w:tblStyle w:val=\"TableGrid\"/>\n      <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n      <w:tblBorders>\n        <w:top w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:left w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:bottom w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:right w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideH w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideV w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n      </w:tblBorders>\n      <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n    </w:tblPr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Hello world</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Part 2</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n  </w:tbl>\n      EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it \"transforms nested elements inside table cells\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <table class=\"table-bordered\">\n      <tbody>\n        <tr>\n          <td>Pre H1 <h1>This is a H1</h1> Post H1</td>\n          <td>Text <p>A paragraph with <strong>Strong</strong> text</p> More text</td>\n        </tr>\n        <tr>\n          <td><div>Some content <em>inside</em> a <strong>div</strong></div></td>\n          <td/>\n        </tr>\n        <tr>\n          <td>Something <p> Inside a p<strong> strong <em> and strong em </em></strong></p></td>\n          <td><div>Text inside div</div></td>\n        </tr>\n      </tbody>\n    </table>\n  </body>\n  </html>\n      EOL\n    expected_wordml = <<-EOL\n  <w:tbl>\n    <w:tblPr>\n      <w:tblStyle w:val=\"TableGrid\"/>\n      <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n      <w:tblBorders>\n        <w:top w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:left w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:bottom w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:right w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideH w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideV w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"auto\"/>\n      </w:tblBorders>\n      <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n    </w:tblPr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Pre H1 </w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:pPr>\n            <w:pStyle w:val=\"Heading1\"/>\n          </w:pPr>\n          <w:r>\n            <w:t xml:space=\"preserve\">This is a H1</w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\"> Post H1</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Text </w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">A paragraph with </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">Strong</w:t>\n          </w:r>\n          <w:r>\n            <w:t xml:space=\"preserve\"> text</w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\"> More text</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Some content </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:i/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">inside</w:t>\n          </w:r>\n          <w:r>\n            <w:t xml:space=\"preserve\"> a </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\">div</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p/>\n      </w:tc>\n    </w:tr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Something </w:t>\n          </w:r>\n        </w:p>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\"> Inside a p</w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\"> strong </w:t>\n          </w:r>\n          <w:r>\n            <w:rPr>\n              <w:i/>\n            </w:rPr>\n            <w:rPr>\n              <w:b/>\n            </w:rPr>\n            <w:t xml:space=\"preserve\"> and strong em </w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Text inside div</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n  </w:tbl>\n      EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\n\n  it \"handles cell borders\" do\n    html = <<-EOL\n    <!DOCTYPE html>\n    <html>\n    <head></head>\n    <body>\n      <table>\n        <tbody>\n          <tr>\n            <td>Sum total</td>\n            <td class=\"ms-fill-C3C3C3\">:</td>\n            <td class=\"ms-border-bottom-dashed-red ms-border-right-single\">1.000.000</td>\n          </tr>\n        </tbody>\n      </table>\n    </body>\n    </html>\n  EOL\n    expected_wordml = <<-EOL\n  <w:tbl>\n    <w:tblPr>\n      <w:tblStyle w:val=\"TableGrid\"/>\n      <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n      <w:tblBorders>\n        <w:top w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:left w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:bottom w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:right w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideH w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideV w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n      </w:tblBorders>\n      <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n    </w:tblPr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr/>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Sum total</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr>\n          <w:shd w:val=\"clear\" w:color=\"auto\" w:fill=\"C3C3C3\"/>\n        </w:tcPr>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">:</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n      <w:tc>\n        <w:tcPr>\n          <w:tcBorders>\n            <w:bottom w:val=\"dashed\" w:sz=\"6\" w:space=\"0\" w:color=\"red\"/>\n            <w:right w:val=\"single\" w:sz=\"6\" w:space=\"0\" w:color=\"000000\"/>\n          </w:tcBorders>\n        </w:tcPr>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">1.000.000</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n  </w:tbl>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip, extras: false)\n  end\n\n  it \"transforms a colspan into a gridSpan table cell property\" do\n    html = <<-EOL\n  <!DOCTYPE html>\n  <html>\n  <head></head>\n  <body>\n    <table>\n      <tbody>\n        <tr>\n          <td colspan='4'>Hello</td>\n        </tr>\n      </tbody>\n    </table>\n  </body>\n  </html>\n    EOL\n    expected_wordml = <<-EOL\n  <w:tbl>\n    <w:tblPr>\n      <w:tblStyle w:val=\"TableGrid\"/>\n      <w:tblW w:w=\"5000\" w:type=\"pct\"/>\n      <w:tblBorders>\n        <w:top w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:left w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:bottom w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:right w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideH w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideV w:val=\"none\" w:sz=\"0\" w:space=\"0\" w:color=\"auto\"/>\n      </w:tblBorders>\n      <w:tblLook w:val=\"0600\" w:firstRow=\"0\" w:lastRow=\"0\" w:firstColumn=\"0\" w:lastColumn=\"0\" w:noHBand=\"1\" w:noVBand=\"1\"/>\n    </w:tblPr>\n    <w:tr>\n      <w:tc>\n        <w:tcPr>\n          <w:gridSpan w:val=\"4\"/>\n        </w:tcPr>\n        <w:p>\n          <w:r>\n            <w:t xml:space=\"preserve\">Hello</w:t>\n          </w:r>\n        </w:p>\n      </w:tc>\n    </w:tr>\n  </w:tbl>\n    EOL\n    compare_resulting_wordml_with_expected(html, expected_wordml.strip)\n  end\nend\n"
  },
  {
    "path": "templates/default/[Content_Types].xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Types xmlns=\"http://schemas.openxmlformats.org/package/2006/content-types\">\n  <Default Extension=\"xml\" ContentType=\"application/xml\"/>\n  <Default Extension=\"rels\" ContentType=\"application/vnd.openxmlformats-package.relationships+xml\"/>\n  <Default Extension=\"jpeg\" ContentType=\"image/jpeg\"/>\n  <Default Extension=\"jpg\" ContentType=\"image/jpeg\"/>\n  <Default Extension=\"gif\" ContentType=\"image/gif\"/>\n  <Default Extension=\"png\" ContentType=\"image/png\"/>\n  <Default Extension=\"tif\" ContentType=\"image/tiff\"/>\n  <Default Extension=\"tiff\" ContentType=\"image/tiff\"/>\n  <Default Extension=\"bmp\" ContentType=\"image/bmp\"/>\n  <Override PartName=\"/word/document.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml\"/>\n  <Override PartName=\"/word/numbering.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml\"/>\n  <Override PartName=\"/word/styles.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml\"/>\n  <Override PartName=\"/word/stylesWithEffects.xml\" ContentType=\"application/vnd.ms-word.stylesWithEffects+xml\"/>\n  <Override PartName=\"/word/settings.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml\"/>\n  <Override PartName=\"/word/webSettings.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml\"/>\n  <Override PartName=\"/word/fontTable.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml\"/>\n  <Override PartName=\"/word/theme/theme1.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.theme+xml\"/>\n  <Override PartName=\"/docProps/core.xml\" ContentType=\"application/vnd.openxmlformats-package.core-properties+xml\"/>\n  <Override PartName=\"/docProps/app.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.extended-properties+xml\"/>\n</Types>\n"
  },
  {
    "path": "templates/default/_rels/.rels",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\">\n  <Relationship Id=\"rId3\" Type=\"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\" Target=\"docProps/core.xml\"/>\n  <Relationship Id=\"rId4\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties\" Target=\"docProps/app.xml\"/>\n  <Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\" Target=\"word/document.xml\"/>\n  <Relationship Id=\"rId2\" Type=\"http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail\" Target=\"docProps/thumbnail.jpeg\"/>\n</Relationships>\n"
  },
  {
    "path": "templates/default/docProps/app.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Properties xmlns=\"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\" xmlns:vt=\"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\"/>\n"
  },
  {
    "path": "templates/default/docProps/core.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:coreProperties xmlns:cp=\"http://schemas.openxmlformats.org/package/2006/metadata/core-properties\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:dcterms=\"http://purl.org/dc/terms/\" xmlns:dcmitype=\"http://purl.org/dc/dcmitype/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/>\n"
  },
  {
    "path": "templates/default/word/_rels/document.xml.rels",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\">\n  <Relationship Id=\"rId3\" Type=\"http://schemas.microsoft.com/office/2007/relationships/stylesWithEffects\" Target=\"stylesWithEffects.xml\"/>\n  <Relationship Id=\"rId4\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings\" Target=\"settings.xml\"/>\n  <Relationship Id=\"rId5\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings\" Target=\"webSettings.xml\"/>\n  <Relationship Id=\"rId6\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable\" Target=\"fontTable.xml\"/>\n  <Relationship Id=\"rId7\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\" Target=\"theme/theme1.xml\"/>\n  <Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering\" Target=\"numbering.xml\"/>\n  <Relationship Id=\"rId2\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\" Target=\"styles.xml\"/>\n</Relationships>\n"
  },
  {
    "path": "templates/default/word/document.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<w:document xmlns:wpc=\"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\" xmlns:mo=\"http://schemas.microsoft.com/office/mac/office/2008/main\" xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" xmlns:mv=\"urn:schemas-microsoft-com:mac:vml\" xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\" xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:wp14=\"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\" xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\" xmlns:w10=\"urn:schemas-microsoft-com:office:word\" xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\" xmlns:wpg=\"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\" xmlns:wpi=\"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\" xmlns:wne=\"http://schemas.microsoft.com/office/word/2006/wordml\" xmlns:wps=\"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\" mc:Ignorable=\"w14 wp14\">\n  <w:body>\n    <w:p w14:paraId=\"33B77DDD\" w14:textId=\"77777777\" w:rsidR=\"00E01725\" w:rsidRDefault=\"00E01725\" w:rsidP=\"00E01725\">\n      <w:pPr>\n        <w:pStyle w:val=\"Heading1\"/>\n      </w:pPr>\n      <w:r>\n        <w:t>Heading1</w:t>\n      </w:r>\n    </w:p>\n    <w:p w14:paraId=\"21645D3B\" w14:textId=\"77777777\" w:rsidR=\"00E01725\" w:rsidRDefault=\"00E01725\" w:rsidP=\"00E01725\">\n      <w:pPr>\n        <w:pStyle w:val=\"Heading2\"/>\n      </w:pPr>\n      <w:r>\n        <w:t>HEADING2</w:t>\n      </w:r>\n    </w:p>\n    <w:p w14:paraId=\"22596106\" w14:textId=\"77777777\" w:rsidR=\"00E01725\" w:rsidRDefault=\"00E01725\" w:rsidP=\"00E01725\">\n      <w:pPr>\n        <w:pStyle w:val=\"Heading3\"/>\n      </w:pPr>\n      <w:r w:rsidRPr=\"00E01725\">\n        <w:t>HEADING3</w:t>\n      </w:r>\n    </w:p>\n    <w:p w14:paraId=\"59EBECAF\" w14:textId=\"77777777\" w:rsidR=\"00E01725\" w:rsidRDefault=\"00E01725\" w:rsidP=\"00E01725\">\n      <w:pPr>\n        <w:pStyle w:val=\"Heading4\"/>\n      </w:pPr>\n      <w:r>\n        <w:t>HEADING4</w:t>\n      </w:r>\n    </w:p>\n    <w:p w14:paraId=\"4AE3D6AE\" w14:textId=\"77777777\" w:rsidR=\"00E01725\" w:rsidRPr=\"00AC30E1\" w:rsidRDefault=\"00E01725\" w:rsidP=\"00E01725\"/>\n    <w:p w14:paraId=\"21AFBAA3\" w14:textId=\"77777777\" w:rsidR=\"00E01725\" w:rsidRDefault=\"00E01725\" w:rsidP=\"00E01725\">\n      <w:r>\n        <w:t>normal</w:t>\n      </w:r>\n    </w:p>\n    <w:p w14:paraId=\"6D97C87E\" w14:textId=\"77777777\" w:rsidR=\"00E01725\" w:rsidRDefault=\"00E01725\" w:rsidP=\"00E01725\">\n      <w:pPr>\n        <w:pStyle w:val=\"ListParagraph\"/>\n        <w:numPr>\n          <w:ilvl w:val=\"0\"/>\n          <w:numId w:val=\"2\"/>\n        </w:numPr>\n      </w:pPr>\n      <w:r>\n        <w:t>one</w:t>\n      </w:r>\n    </w:p>\n    <w:p w14:paraId=\"72F37C56\" w14:textId=\"77777777\" w:rsidR=\"00E01725\" w:rsidRDefault=\"00E01725\" w:rsidP=\"00E01725\">\n      <w:pPr>\n        <w:pStyle w:val=\"ListParagraph\"/>\n        <w:numPr>\n          <w:ilvl w:val=\"0\"/>\n          <w:numId w:val=\"2\"/>\n        </w:numPr>\n      </w:pPr>\n      <w:r>\n        <w:t>two</w:t>\n      </w:r>\n    </w:p>\n    <w:p w14:paraId=\"01F5E51C\" w14:textId=\"77777777\" w:rsidR=\"00E01725\" w:rsidRDefault=\"00E01725\" w:rsidP=\"00E01725\">\n      <w:pPr>\n        <w:pStyle w:val=\"ListParagraph\"/>\n        <w:numPr>\n          <w:ilvl w:val=\"0\"/>\n          <w:numId w:val=\"2\"/>\n        </w:numPr>\n      </w:pPr>\n      <w:r>\n        <w:t>three</w:t>\n      </w:r>\n    </w:p>\n    <w:p w14:paraId=\"51630C02\" w14:textId=\"77777777\" w:rsidR=\"00E01725\" w:rsidRDefault=\"00E01725\" w:rsidP=\"00E01725\">\n      <w:r>\n        <w:t>normal</w:t>\n      </w:r>\n    </w:p>\n    <w:p w14:paraId=\"5FD08257\" w14:textId=\"77777777\" w:rsidR=\"00E01725\" w:rsidRDefault=\"00E01725\" w:rsidP=\"00E01725\">\n      <w:pPr>\n        <w:pStyle w:val=\"ListParagraph\"/>\n        <w:numPr>\n          <w:ilvl w:val=\"0\"/>\n          <w:numId w:val=\"3\"/>\n        </w:numPr>\n      </w:pPr>\n      <w:r>\n        <w:t>one</w:t>\n      </w:r>\n    </w:p>\n    <w:p w14:paraId=\"5D253DBD\" w14:textId=\"77777777\" w:rsidR=\"00E01725\" w:rsidRDefault=\"00E01725\" w:rsidP=\"00E01725\">\n      <w:pPr>\n        <w:pStyle w:val=\"ListParagraph\"/>\n        <w:numPr>\n          <w:ilvl w:val=\"0\"/>\n          <w:numId w:val=\"3\"/>\n        </w:numPr>\n      </w:pPr>\n      <w:r>\n        <w:t>two</w:t>\n      </w:r>\n    </w:p>\n    <w:p w14:paraId=\"78BE5858\" w14:textId=\"77777777\" w:rsidR=\"00E01725\" w:rsidRDefault=\"00E01725\" w:rsidP=\"00E01725\">\n      <w:pPr>\n        <w:pStyle w:val=\"ListParagraph\"/>\n        <w:numPr>\n          <w:ilvl w:val=\"0\"/>\n          <w:numId w:val=\"3\"/>\n        </w:numPr>\n      </w:pPr>\n      <w:r>\n        <w:t>three</w:t>\n      </w:r>\n    </w:p>\n    <w:p w14:paraId=\"39501C42\" w14:textId=\"77777777\" w:rsidR=\"00187EAF\" w:rsidRPr=\"00E01725\" w:rsidRDefault=\"00187EAF\" w:rsidP=\"00E01725\"/>\n    <w:sectPr w:rsidR=\"00187EAF\" w:rsidRPr=\"00E01725\">\n      <w:pgSz w:w=\"12240\" w:h=\"15840\"/>\n      <w:pgMar w:top=\"1440\" w:right=\"1440\" w:bottom=\"1440\" w:left=\"1440\" w:header=\"708\" w:footer=\"708\" w:gutter=\"0\"/>\n      <w:cols w:space=\"708\"/>\n      <w:docGrid w:linePitch=\"360\"/>\n    </w:sectPr>\n  </w:body>\n</w:document>\n"
  },
  {
    "path": "templates/default/word/fontTable.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<w:fonts xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\" mc:Ignorable=\"w14\">\n  <w:font w:name=\"Symbol\">\n    <w:panose1 w:val=\"00000000000000000000\"/>\n    <w:charset w:val=\"02\"/>\n    <w:family w:val=\"auto\"/>\n    <w:pitch w:val=\"variable\"/>\n    <w:sig w:usb0=\"00000000\" w:usb1=\"10000000\" w:usb2=\"00000000\" w:usb3=\"00000000\" w:csb0=\"80000000\" w:csb1=\"00000000\"/>\n  </w:font>\n  <w:font w:name=\"Times New Roman\">\n    <w:panose1 w:val=\"02020603050405020304\"/>\n    <w:charset w:val=\"00\"/>\n    <w:family w:val=\"auto\"/>\n    <w:pitch w:val=\"variable\"/>\n    <w:sig w:usb0=\"E0002AEF\" w:usb1=\"C0007841\" w:usb2=\"00000009\" w:usb3=\"00000000\" w:csb0=\"000001FF\" w:csb1=\"00000000\"/>\n  </w:font>\n  <w:font w:name=\"Courier New\">\n    <w:panose1 w:val=\"02070309020205020404\"/>\n    <w:charset w:val=\"00\"/>\n    <w:family w:val=\"auto\"/>\n    <w:pitch w:val=\"variable\"/>\n    <w:sig w:usb0=\"E0002AFF\" w:usb1=\"C0007843\" w:usb2=\"00000009\" w:usb3=\"00000000\" w:csb0=\"000001FF\" w:csb1=\"00000000\"/>\n  </w:font>\n  <w:font w:name=\"Wingdings\">\n    <w:panose1 w:val=\"05000000000000000000\"/>\n    <w:charset w:val=\"02\"/>\n    <w:family w:val=\"auto\"/>\n    <w:pitch w:val=\"variable\"/>\n    <w:sig w:usb0=\"00000000\" w:usb1=\"10000000\" w:usb2=\"00000000\" w:usb3=\"00000000\" w:csb0=\"80000000\" w:csb1=\"00000000\"/>\n  </w:font>\n  <w:font w:name=\"Cambria\">\n    <w:panose1 w:val=\"02040503050406030204\"/>\n    <w:charset w:val=\"00\"/>\n    <w:family w:val=\"auto\"/>\n    <w:pitch w:val=\"variable\"/>\n    <w:sig w:usb0=\"E00002FF\" w:usb1=\"400004FF\" w:usb2=\"00000000\" w:usb3=\"00000000\" w:csb0=\"0000019F\" w:csb1=\"00000000\"/>\n  </w:font>\n  <w:font w:name=\"ＭＳ 明朝\">\n    <w:charset w:val=\"4E\"/>\n    <w:family w:val=\"auto\"/>\n    <w:pitch w:val=\"variable\"/>\n    <w:sig w:usb0=\"E00002FF\" w:usb1=\"6AC7FDFB\" w:usb2=\"00000012\" w:usb3=\"00000000\" w:csb0=\"0002009F\" w:csb1=\"00000000\"/>\n  </w:font>\n  <w:font w:name=\"Arial\">\n    <w:panose1 w:val=\"020B0604020202020204\"/>\n    <w:charset w:val=\"00\"/>\n    <w:family w:val=\"auto\"/>\n    <w:pitch w:val=\"variable\"/>\n    <w:sig w:usb0=\"E0002AFF\" w:usb1=\"C0007843\" w:usb2=\"00000009\" w:usb3=\"00000000\" w:csb0=\"000001FF\" w:csb1=\"00000000\"/>\n  </w:font>\n  <w:font w:name=\"ＭＳ ゴシック\">\n    <w:charset w:val=\"4E\"/>\n    <w:family w:val=\"auto\"/>\n    <w:pitch w:val=\"variable\"/>\n    <w:sig w:usb0=\"E00002FF\" w:usb1=\"6AC7FDFB\" w:usb2=\"00000012\" w:usb3=\"00000000\" w:csb0=\"0002009F\" w:csb1=\"00000000\"/>\n  </w:font>\n  <w:font w:name=\"Calibri\">\n    <w:panose1 w:val=\"020F0502020204030204\"/>\n    <w:charset w:val=\"00\"/>\n    <w:family w:val=\"auto\"/>\n    <w:pitch w:val=\"variable\"/>\n    <w:sig w:usb0=\"E10002FF\" w:usb1=\"4000ACFF\" w:usb2=\"00000009\" w:usb3=\"00000000\" w:csb0=\"0000019F\" w:csb1=\"00000000\"/>\n  </w:font>\n</w:fonts>\n"
  },
  {
    "path": "templates/default/word/numbering.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<w:numbering xmlns:wpc=\"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\" xmlns:mo=\"http://schemas.microsoft.com/office/mac/office/2008/main\" xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" xmlns:mv=\"urn:schemas-microsoft-com:mac:vml\" xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\" xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:wp14=\"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\" xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\" xmlns:w10=\"urn:schemas-microsoft-com:office:word\" xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\" xmlns:wpg=\"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\" xmlns:wpi=\"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\" xmlns:wne=\"http://schemas.microsoft.com/office/word/2006/wordml\" xmlns:wps=\"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\" mc:Ignorable=\"w14 wp14\">\n  <w:abstractNum w:abstractNumId=\"0\">\n    <w:nsid w:val=\"016D6C2F\"/>\n    <w:multiLevelType w:val=\"hybridMultilevel\"/>\n    <w:tmpl w:val=\"065A1BE6\"/>\n    <w:lvl w:ilvl=\"0\" w:tplc=\"0409000F\">\n      <w:start w:val=\"1\"/>\n      <w:numFmt w:val=\"decimal\"/>\n      <w:lvlText w:val=\"%1.\"/>\n      <w:lvlJc w:val=\"left\"/>\n      <w:pPr>\n        <w:ind w:left=\"720\" w:hanging=\"360\"/>\n      </w:pPr>\n    </w:lvl>\n    <w:lvl w:ilvl=\"1\" w:tplc=\"04090019\" w:tentative=\"1\">\n      <w:start w:val=\"1\"/>\n      <w:numFmt w:val=\"lowerLetter\"/>\n      <w:lvlText w:val=\"%2.\"/>\n      <w:lvlJc w:val=\"left\"/>\n      <w:pPr>\n        <w:ind w:left=\"1440\" w:hanging=\"360\"/>\n      </w:pPr>\n    </w:lvl>\n    <w:lvl w:ilvl=\"2\" w:tplc=\"0409001B\" w:tentative=\"1\">\n      <w:start w:val=\"1\"/>\n      <w:numFmt w:val=\"lowerRoman\"/>\n      <w:lvlText w:val=\"%3.\"/>\n      <w:lvlJc w:val=\"right\"/>\n      <w:pPr>\n        <w:ind w:left=\"2160\" w:hanging=\"180\"/>\n      </w:pPr>\n    </w:lvl>\n    <w:lvl w:ilvl=\"3\" w:tplc=\"0409000F\" w:tentative=\"1\">\n      <w:start w:val=\"1\"/>\n      <w:numFmt w:val=\"decimal\"/>\n      <w:lvlText w:val=\"%4.\"/>\n      <w:lvlJc w:val=\"left\"/>\n      <w:pPr>\n        <w:ind w:left=\"2880\" w:hanging=\"360\"/>\n      </w:pPr>\n    </w:lvl>\n    <w:lvl w:ilvl=\"4\" w:tplc=\"04090019\" w:tentative=\"1\">\n      <w:start w:val=\"1\"/>\n      <w:numFmt w:val=\"lowerLetter\"/>\n      <w:lvlText w:val=\"%5.\"/>\n      <w:lvlJc w:val=\"left\"/>\n      <w:pPr>\n        <w:ind w:left=\"3600\" w:hanging=\"360\"/>\n      </w:pPr>\n    </w:lvl>\n    <w:lvl w:ilvl=\"5\" w:tplc=\"0409001B\" w:tentative=\"1\">\n      <w:start w:val=\"1\"/>\n      <w:numFmt w:val=\"lowerRoman\"/>\n      <w:lvlText w:val=\"%6.\"/>\n      <w:lvlJc w:val=\"right\"/>\n      <w:pPr>\n        <w:ind w:left=\"4320\" w:hanging=\"180\"/>\n      </w:pPr>\n    </w:lvl>\n    <w:lvl w:ilvl=\"6\" w:tplc=\"0409000F\" w:tentative=\"1\">\n      <w:start w:val=\"1\"/>\n      <w:numFmt w:val=\"decimal\"/>\n      <w:lvlText w:val=\"%7.\"/>\n      <w:lvlJc w:val=\"left\"/>\n      <w:pPr>\n        <w:ind w:left=\"5040\" w:hanging=\"360\"/>\n      </w:pPr>\n    </w:lvl>\n    <w:lvl w:ilvl=\"7\" w:tplc=\"04090019\" w:tentative=\"1\">\n      <w:start w:val=\"1\"/>\n      <w:numFmt w:val=\"lowerLetter\"/>\n      <w:lvlText w:val=\"%8.\"/>\n      <w:lvlJc w:val=\"left\"/>\n      <w:pPr>\n        <w:ind w:left=\"5760\" w:hanging=\"360\"/>\n      </w:pPr>\n    </w:lvl>\n    <w:lvl w:ilvl=\"8\" w:tplc=\"0409001B\" w:tentative=\"1\">\n      <w:start w:val=\"1\"/>\n      <w:numFmt w:val=\"lowerRoman\"/>\n      <w:lvlText w:val=\"%9.\"/>\n      <w:lvlJc w:val=\"right\"/>\n      <w:pPr>\n        <w:ind w:left=\"6480\" w:hanging=\"180\"/>\n      </w:pPr>\n    </w:lvl>\n  </w:abstractNum>\n  <w:abstractNum w:abstractNumId=\"1\">\n    <w:nsid w:val=\"19D6556D\"/>\n    <w:multiLevelType w:val=\"singleLevel\"/>\n    <w:tmpl w:val=\"CBE6D7C4\"/>\n    <w:lvl w:ilvl=\"0\">\n      <w:start w:val=\"1\"/>\n      <w:numFmt w:val=\"bullet\"/>\n      <w:pStyle w:val=\"ListParagraph\"/>\n      <w:lvlText w:val=\"\"/>\n      <w:lvlJc w:val=\"left\"/>\n      <w:pPr>\n        <w:ind w:left=\"360\" w:hanging=\"360\"/>\n      </w:pPr>\n      <w:rPr>\n        <w:rFonts w:ascii=\"Symbol\" w:hAnsi=\"Symbol\" w:hint=\"default\"/>\n      </w:rPr>\n    </w:lvl>\n  </w:abstractNum>\n  <w:abstractNum w:abstractNumId=\"2\">\n    <w:nsid w:val=\"5B7B54F5\"/>\n    <w:multiLevelType w:val=\"hybridMultilevel\"/>\n    <w:tmpl w:val=\"07547F34\"/>\n    <w:lvl w:ilvl=\"0\" w:tplc=\"04090001\">\n      <w:start w:val=\"1\"/>\n      <w:numFmt w:val=\"bullet\"/>\n      <w:lvlText w:val=\"\"/>\n      <w:lvlJc w:val=\"left\"/>\n      <w:pPr>\n        <w:ind w:left=\"720\" w:hanging=\"360\"/>\n      </w:pPr>\n      <w:rPr>\n        <w:rFonts w:ascii=\"Symbol\" w:hAnsi=\"Symbol\" w:hint=\"default\"/>\n      </w:rPr>\n    </w:lvl>\n    <w:lvl w:ilvl=\"1\" w:tplc=\"04090003\" w:tentative=\"1\">\n      <w:start w:val=\"1\"/>\n      <w:numFmt w:val=\"bullet\"/>\n      <w:lvlText w:val=\"o\"/>\n      <w:lvlJc w:val=\"left\"/>\n      <w:pPr>\n        <w:ind w:left=\"1440\" w:hanging=\"360\"/>\n      </w:pPr>\n      <w:rPr>\n        <w:rFonts w:ascii=\"Courier New\" w:hAnsi=\"Courier New\" w:hint=\"default\"/>\n      </w:rPr>\n    </w:lvl>\n    <w:lvl w:ilvl=\"2\" w:tplc=\"04090005\" w:tentative=\"1\">\n      <w:start w:val=\"1\"/>\n      <w:numFmt w:val=\"bullet\"/>\n      <w:lvlText w:val=\"\"/>\n      <w:lvlJc w:val=\"left\"/>\n      <w:pPr>\n        <w:ind w:left=\"2160\" w:hanging=\"360\"/>\n      </w:pPr>\n      <w:rPr>\n        <w:rFonts w:ascii=\"Wingdings\" w:hAnsi=\"Wingdings\" w:hint=\"default\"/>\n      </w:rPr>\n    </w:lvl>\n    <w:lvl w:ilvl=\"3\" w:tplc=\"04090001\" w:tentative=\"1\">\n      <w:start w:val=\"1\"/>\n      <w:numFmt w:val=\"bullet\"/>\n      <w:lvlText w:val=\"\"/>\n      <w:lvlJc w:val=\"left\"/>\n      <w:pPr>\n        <w:ind w:left=\"2880\" w:hanging=\"360\"/>\n      </w:pPr>\n      <w:rPr>\n        <w:rFonts w:ascii=\"Symbol\" w:hAnsi=\"Symbol\" w:hint=\"default\"/>\n      </w:rPr>\n    </w:lvl>\n    <w:lvl w:ilvl=\"4\" w:tplc=\"04090003\" w:tentative=\"1\">\n      <w:start w:val=\"1\"/>\n      <w:numFmt w:val=\"bullet\"/>\n      <w:lvlText w:val=\"o\"/>\n      <w:lvlJc w:val=\"left\"/>\n      <w:pPr>\n        <w:ind w:left=\"3600\" w:hanging=\"360\"/>\n      </w:pPr>\n      <w:rPr>\n        <w:rFonts w:ascii=\"Courier New\" w:hAnsi=\"Courier New\" w:hint=\"default\"/>\n      </w:rPr>\n    </w:lvl>\n    <w:lvl w:ilvl=\"5\" w:tplc=\"04090005\" w:tentative=\"1\">\n      <w:start w:val=\"1\"/>\n      <w:numFmt w:val=\"bullet\"/>\n      <w:lvlText w:val=\"\"/>\n      <w:lvlJc w:val=\"left\"/>\n      <w:pPr>\n        <w:ind w:left=\"4320\" w:hanging=\"360\"/>\n      </w:pPr>\n      <w:rPr>\n        <w:rFonts w:ascii=\"Wingdings\" w:hAnsi=\"Wingdings\" w:hint=\"default\"/>\n      </w:rPr>\n    </w:lvl>\n    <w:lvl w:ilvl=\"6\" w:tplc=\"04090001\" w:tentative=\"1\">\n      <w:start w:val=\"1\"/>\n      <w:numFmt w:val=\"bullet\"/>\n      <w:lvlText w:val=\"\"/>\n      <w:lvlJc w:val=\"left\"/>\n      <w:pPr>\n        <w:ind w:left=\"5040\" w:hanging=\"360\"/>\n      </w:pPr>\n      <w:rPr>\n        <w:rFonts w:ascii=\"Symbol\" w:hAnsi=\"Symbol\" w:hint=\"default\"/>\n      </w:rPr>\n    </w:lvl>\n    <w:lvl w:ilvl=\"7\" w:tplc=\"04090003\" w:tentative=\"1\">\n      <w:start w:val=\"1\"/>\n      <w:numFmt w:val=\"bullet\"/>\n      <w:lvlText w:val=\"o\"/>\n      <w:lvlJc w:val=\"left\"/>\n      <w:pPr>\n        <w:ind w:left=\"5760\" w:hanging=\"360\"/>\n      </w:pPr>\n      <w:rPr>\n        <w:rFonts w:ascii=\"Courier New\" w:hAnsi=\"Courier New\" w:hint=\"default\"/>\n      </w:rPr>\n    </w:lvl>\n    <w:lvl w:ilvl=\"8\" w:tplc=\"04090005\" w:tentative=\"1\">\n      <w:start w:val=\"1\"/>\n      <w:numFmt w:val=\"bullet\"/>\n      <w:lvlText w:val=\"\"/>\n      <w:lvlJc w:val=\"left\"/>\n      <w:pPr>\n        <w:ind w:left=\"6480\" w:hanging=\"360\"/>\n      </w:pPr>\n      <w:rPr>\n        <w:rFonts w:ascii=\"Wingdings\" w:hAnsi=\"Wingdings\" w:hint=\"default\"/>\n      </w:rPr>\n    </w:lvl>\n  </w:abstractNum>\n  <w:num w:numId=\"1\">\n    <w:abstractNumId w:val=\"1\"/>\n  </w:num>\n  <w:num w:numId=\"2\">\n    <w:abstractNumId w:val=\"2\"/>\n  </w:num>\n  <w:num w:numId=\"3\">\n    <w:abstractNumId w:val=\"0\"/>\n  </w:num>\n</w:numbering>\n"
  },
  {
    "path": "templates/default/word/settings.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<w:settings xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\" xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:w10=\"urn:schemas-microsoft-com:office:word\" xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\" xmlns:sl=\"http://schemas.openxmlformats.org/schemaLibrary/2006/main\" mc:Ignorable=\"w14\">\n  <w:zoom w:percent=\"140\"/>\n  <w:proofState w:spelling=\"clean\" w:grammar=\"clean\"/>\n  <w:defaultTabStop w:val=\"720\"/>\n  <w:characterSpacingControl w:val=\"doNotCompress\"/>\n  <w:savePreviewPicture/>\n  <w:compat>\n    <w:useFELayout/>\n    <w:compatSetting w:name=\"compatibilityMode\" w:uri=\"http://schemas.microsoft.com/office/word\" w:val=\"14\"/>\n    <w:compatSetting w:name=\"overrideTableStyleFontSizeAndJustification\" w:uri=\"http://schemas.microsoft.com/office/word\" w:val=\"1\"/>\n    <w:compatSetting w:name=\"enableOpenTypeFeatures\" w:uri=\"http://schemas.microsoft.com/office/word\" w:val=\"1\"/>\n    <w:compatSetting w:name=\"doNotFlipMirrorIndents\" w:uri=\"http://schemas.microsoft.com/office/word\" w:val=\"1\"/>\n  </w:compat>\n  <w:rsids>\n    <w:rsidRoot w:val=\"00C04F10\"/>\n    <w:rsid w:val=\"00042D86\"/>\n    <w:rsid w:val=\"000629CC\"/>\n    <w:rsid w:val=\"00181FD4\"/>\n    <w:rsid w:val=\"00187EAF\"/>\n    <w:rsid w:val=\"001F2243\"/>\n    <w:rsid w:val=\"002C44F1\"/>\n    <w:rsid w:val=\"003A7E12\"/>\n    <w:rsid w:val=\"00556BF4\"/>\n    <w:rsid w:val=\"005C665D\"/>\n    <w:rsid w:val=\"00735B8C\"/>\n    <w:rsid w:val=\"00756242\"/>\n    <w:rsid w:val=\"009B6CCC\"/>\n    <w:rsid w:val=\"00A07F5D\"/>\n    <w:rsid w:val=\"00A543CD\"/>\n    <w:rsid w:val=\"00AA70B5\"/>\n    <w:rsid w:val=\"00B268BF\"/>\n    <w:rsid w:val=\"00C03580\"/>\n    <w:rsid w:val=\"00C04F10\"/>\n    <w:rsid w:val=\"00C67135\"/>\n    <w:rsid w:val=\"00C76E13\"/>\n    <w:rsid w:val=\"00CC0462\"/>\n    <w:rsid w:val=\"00E01725\"/>\n    <w:rsid w:val=\"00E82CD0\"/>\n    <w:rsid w:val=\"00E87285\"/>\n    <w:rsid w:val=\"00E903F8\"/>\n  </w:rsids>\n  <m:mathPr>\n    <m:mathFont m:val=\"Cambria Math\"/>\n    <m:brkBin m:val=\"before\"/>\n    <m:brkBinSub m:val=\"--\"/>\n    <m:smallFrac m:val=\"0\"/>\n    <m:dispDef/>\n    <m:lMargin m:val=\"0\"/>\n    <m:rMargin m:val=\"0\"/>\n    <m:defJc m:val=\"centerGroup\"/>\n    <m:wrapIndent m:val=\"1440\"/>\n    <m:intLim m:val=\"subSup\"/>\n    <m:naryLim m:val=\"undOvr\"/>\n  </m:mathPr>\n  <w:themeFontLang w:val=\"en-US\" w:eastAsia=\"ja-JP\"/>\n  <w:clrSchemeMapping w:bg1=\"light1\" w:t1=\"dark1\" w:bg2=\"light2\" w:t2=\"dark2\" w:accent1=\"accent1\" w:accent2=\"accent2\" w:accent3=\"accent3\" w:accent4=\"accent4\" w:accent5=\"accent5\" w:accent6=\"accent6\" w:hyperlink=\"hyperlink\" w:followedHyperlink=\"followedHyperlink\"/>\n  <w:doNotAutoCompressPictures/>\n  <w:decimalSymbol w:val=\",\"/>\n  <w:listSeparator w:val=\";\"/>\n  <w14:docId w14:val=\"5A84CECE\"/>\n  <w14:defaultImageDpi w14:val=\"300\"/>\n</w:settings>\n"
  },
  {
    "path": "templates/default/word/styles.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<w:styles xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\" mc:Ignorable=\"w14\">\n  <w:docDefaults>\n    <w:rPrDefault>\n      <w:rPr>\n        <w:rFonts w:asciiTheme=\"minorHAnsi\" w:eastAsiaTheme=\"minorEastAsia\" w:hAnsiTheme=\"minorHAnsi\" w:cstheme=\"minorBidi\"/>\n        <w:sz w:val=\"24\"/>\n        <w:szCs w:val=\"24\"/>\n        <w:lang w:val=\"en-US\" w:eastAsia=\"ja-JP\" w:bidi=\"ar-SA\"/>\n      </w:rPr>\n    </w:rPrDefault>\n    <w:pPrDefault/>\n  </w:docDefaults>\n  <w:latentStyles w:defLockedState=\"0\" w:defUIPriority=\"99\" w:defSemiHidden=\"1\" w:defUnhideWhenUsed=\"1\" w:defQFormat=\"0\" w:count=\"276\">\n    <w:lsdException w:name=\"Normal\" w:semiHidden=\"0\" w:uiPriority=\"0\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"heading 1\" w:semiHidden=\"0\" w:uiPriority=\"9\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"heading 2\" w:uiPriority=\"9\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"heading 3\" w:uiPriority=\"9\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"heading 4\" w:uiPriority=\"9\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"heading 5\" w:uiPriority=\"9\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"heading 6\" w:uiPriority=\"9\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"heading 7\" w:uiPriority=\"9\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"heading 8\" w:uiPriority=\"9\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"heading 9\" w:uiPriority=\"9\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"toc 1\" w:uiPriority=\"39\"/>\n    <w:lsdException w:name=\"toc 2\" w:uiPriority=\"39\"/>\n    <w:lsdException w:name=\"toc 3\" w:uiPriority=\"39\"/>\n    <w:lsdException w:name=\"toc 4\" w:uiPriority=\"39\"/>\n    <w:lsdException w:name=\"toc 5\" w:uiPriority=\"39\"/>\n    <w:lsdException w:name=\"toc 6\" w:uiPriority=\"39\"/>\n    <w:lsdException w:name=\"toc 7\" w:uiPriority=\"39\"/>\n    <w:lsdException w:name=\"toc 8\" w:uiPriority=\"39\"/>\n    <w:lsdException w:name=\"toc 9\" w:uiPriority=\"39\"/>\n    <w:lsdException w:name=\"caption\" w:uiPriority=\"35\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Title\" w:semiHidden=\"0\" w:uiPriority=\"10\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Default Paragraph Font\" w:uiPriority=\"1\"/>\n    <w:lsdException w:name=\"Subtitle\" w:semiHidden=\"0\" w:uiPriority=\"11\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Strong\" w:semiHidden=\"0\" w:uiPriority=\"22\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Emphasis\" w:semiHidden=\"0\" w:uiPriority=\"20\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Table Grid\" w:semiHidden=\"0\" w:uiPriority=\"59\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Placeholder Text\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"No Spacing\" w:semiHidden=\"0\" w:uiPriority=\"1\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Light Shading\" w:semiHidden=\"0\" w:uiPriority=\"60\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light List\" w:semiHidden=\"0\" w:uiPriority=\"61\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Grid\" w:semiHidden=\"0\" w:uiPriority=\"62\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 1\" w:semiHidden=\"0\" w:uiPriority=\"63\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 2\" w:semiHidden=\"0\" w:uiPriority=\"64\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 1\" w:semiHidden=\"0\" w:uiPriority=\"65\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 2\" w:semiHidden=\"0\" w:uiPriority=\"66\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 1\" w:semiHidden=\"0\" w:uiPriority=\"67\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 2\" w:semiHidden=\"0\" w:uiPriority=\"68\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 3\" w:semiHidden=\"0\" w:uiPriority=\"69\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Dark List\" w:semiHidden=\"0\" w:uiPriority=\"70\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Shading\" w:semiHidden=\"0\" w:uiPriority=\"71\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful List\" w:semiHidden=\"0\" w:uiPriority=\"72\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Grid\" w:semiHidden=\"0\" w:uiPriority=\"73\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Shading Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"60\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light List Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"61\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Grid Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"62\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 1 Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"63\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 2 Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"64\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 1 Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"65\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Revision\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"List Paragraph\" w:semiHidden=\"0\" w:uiPriority=\"34\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Quote\" w:semiHidden=\"0\" w:uiPriority=\"29\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Intense Quote\" w:semiHidden=\"0\" w:uiPriority=\"30\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Medium List 2 Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"66\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 1 Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"67\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 2 Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"68\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 3 Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"69\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Dark List Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"70\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Shading Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"71\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful List Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"72\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Grid Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"73\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Shading Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"60\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light List Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"61\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Grid Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"62\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 1 Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"63\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 2 Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"64\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 1 Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"65\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 2 Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"66\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 1 Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"67\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 2 Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"68\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 3 Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"69\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Dark List Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"70\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Shading Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"71\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful List Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"72\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Grid Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"73\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Shading Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"60\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light List Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"61\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Grid Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"62\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 1 Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"63\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 2 Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"64\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 1 Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"65\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 2 Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"66\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 1 Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"67\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 2 Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"68\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 3 Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"69\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Dark List Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"70\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Shading Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"71\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful List Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"72\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Grid Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"73\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Shading Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"60\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light List Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"61\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Grid Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"62\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 1 Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"63\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 2 Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"64\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 1 Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"65\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 2 Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"66\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 1 Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"67\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 2 Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"68\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 3 Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"69\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Dark List Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"70\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Shading Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"71\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful List Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"72\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Grid Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"73\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Shading Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"60\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light List Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"61\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Grid Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"62\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 1 Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"63\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 2 Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"64\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 1 Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"65\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 2 Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"66\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 1 Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"67\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 2 Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"68\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 3 Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"69\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Dark List Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"70\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Shading Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"71\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful List Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"72\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Grid Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"73\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Shading Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"60\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light List Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"61\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Grid Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"62\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 1 Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"63\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 2 Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"64\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 1 Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"65\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 2 Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"66\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 1 Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"67\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 2 Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"68\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 3 Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"69\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Dark List Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"70\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Shading Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"71\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful List Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"72\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Grid Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"73\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Subtle Emphasis\" w:semiHidden=\"0\" w:uiPriority=\"19\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Intense Emphasis\" w:semiHidden=\"0\" w:uiPriority=\"21\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Subtle Reference\" w:semiHidden=\"0\" w:uiPriority=\"31\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Intense Reference\" w:semiHidden=\"0\" w:uiPriority=\"32\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Book Title\" w:semiHidden=\"0\" w:uiPriority=\"33\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Bibliography\" w:uiPriority=\"37\"/>\n    <w:lsdException w:name=\"TOC Heading\" w:uiPriority=\"39\" w:qFormat=\"1\"/>\n  </w:latentStyles>\n  <w:style w:type=\"paragraph\" w:default=\"1\" w:styleId=\"Normal\">\n    <w:name w:val=\"Normal\"/>\n    <w:qFormat/>\n    <w:rsid w:val=\"00E01725\"/>\n    <w:pPr>\n      <w:overflowPunct w:val=\"0\"/>\n      <w:autoSpaceDE w:val=\"0\"/>\n      <w:autoSpaceDN w:val=\"0\"/>\n      <w:adjustRightInd w:val=\"0\"/>\n    </w:pPr>\n    <w:rPr>\n      <w:rFonts w:ascii=\"Arial\" w:eastAsia=\"Times New Roman\" w:hAnsi=\"Arial\" w:cs=\"Times New Roman\"/>\n      <w:sz w:val=\"18\"/>\n      <w:szCs w:val=\"20\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"paragraph\" w:styleId=\"Heading1\">\n    <w:name w:val=\"heading 1\"/>\n    <w:basedOn w:val=\"Normal\"/>\n    <w:next w:val=\"Heading2\"/>\n    <w:link w:val=\"Heading1Char\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:qFormat/>\n    <w:rsid w:val=\"00E01725\"/>\n    <w:pPr>\n      <w:keepNext/>\n      <w:keepLines/>\n      <w:spacing w:after=\"240\"/>\n      <w:outlineLvl w:val=\"0\"/>\n    </w:pPr>\n    <w:rPr>\n      <w:rFonts w:eastAsiaTheme=\"majorEastAsia\" w:cstheme=\"majorBidi\"/>\n      <w:b/>\n      <w:bCs/>\n      <w:caps/>\n      <w:sz w:val=\"28\"/>\n      <w:szCs w:val=\"28\"/>\n      <w:lang w:eastAsia=\"ja-JP\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"paragraph\" w:styleId=\"Heading2\">\n    <w:name w:val=\"heading 2\"/>\n    <w:basedOn w:val=\"Normal\"/>\n    <w:next w:val=\"Normal\"/>\n    <w:link w:val=\"Heading2Char\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:unhideWhenUsed/>\n    <w:qFormat/>\n    <w:rsid w:val=\"00E01725\"/>\n    <w:pPr>\n      <w:keepNext/>\n      <w:keepLines/>\n      <w:spacing w:before=\"240\" w:after=\"120\"/>\n      <w:outlineLvl w:val=\"1\"/>\n    </w:pPr>\n    <w:rPr>\n      <w:rFonts w:eastAsiaTheme=\"majorEastAsia\" w:cstheme=\"majorBidi\"/>\n      <w:b/>\n      <w:bCs/>\n      <w:caps/>\n      <w:sz w:val=\"20\"/>\n      <w:lang w:eastAsia=\"ja-JP\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"paragraph\" w:styleId=\"Heading3\">\n    <w:name w:val=\"heading 3\"/>\n    <w:basedOn w:val=\"Normal\"/>\n    <w:next w:val=\"Normal\"/>\n    <w:link w:val=\"Heading3Char\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:unhideWhenUsed/>\n    <w:qFormat/>\n    <w:rsid w:val=\"00E01725\"/>\n    <w:pPr>\n      <w:keepNext/>\n      <w:keepLines/>\n      <w:spacing w:before=\"200\" w:line=\"276\" w:lineRule=\"auto\"/>\n      <w:outlineLvl w:val=\"2\"/>\n    </w:pPr>\n    <w:rPr>\n      <w:rFonts w:eastAsiaTheme=\"majorEastAsia\" w:cstheme=\"majorBidi\"/>\n      <w:b/>\n      <w:bCs/>\n      <w:caps/>\n      <w:szCs w:val=\"18\"/>\n      <w:lang w:eastAsia=\"ja-JP\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"paragraph\" w:styleId=\"Heading4\">\n    <w:name w:val=\"heading 4\"/>\n    <w:basedOn w:val=\"Normal\"/>\n    <w:next w:val=\"Normal\"/>\n    <w:link w:val=\"Heading4Char\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:unhideWhenUsed/>\n    <w:qFormat/>\n    <w:rsid w:val=\"00E01725\"/>\n    <w:pPr>\n      <w:keepNext/>\n      <w:keepLines/>\n      <w:spacing w:before=\"200\"/>\n      <w:outlineLvl w:val=\"3\"/>\n    </w:pPr>\n    <w:rPr>\n      <w:rFonts w:eastAsiaTheme=\"majorEastAsia\" w:cstheme=\"majorBidi\"/>\n      <w:i/>\n      <w:iCs/>\n      <w:caps/>\n      <w:szCs w:val=\"18\"/>\n      <w:lang w:eastAsia=\"ja-JP\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"paragraph\" w:styleId=\"Heading5\">\n    <w:name w:val=\"heading 5\"/>\n    <w:basedOn w:val=\"Heading4\"/>\n    <w:next w:val=\"Normal\"/>\n    <w:link w:val=\"Heading5Char\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:unhideWhenUsed/>\n    <w:qFormat/>\n    <w:rsid w:val=\"005C665D\"/>\n    <w:pPr>\n      <w:spacing w:after=\"300\"/>\n      <w:jc w:val=\"both\"/>\n      <w:outlineLvl w:val=\"4\"/>\n    </w:pPr>\n    <w:rPr>\n      <w:rFonts w:ascii=\"Times New Roman\" w:hAnsi=\"Times New Roman\"/>\n      <w:b/>\n      <w:iCs w:val=\"0\"/>\n      <w:sz w:val=\"28\"/>\n      <w:szCs w:val=\"26\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"paragraph\" w:styleId=\"Heading6\">\n    <w:name w:val=\"heading 6\"/>\n    <w:basedOn w:val=\"Normal\"/>\n    <w:next w:val=\"Normal\"/>\n    <w:link w:val=\"Heading6Char\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:unhideWhenUsed/>\n    <w:qFormat/>\n    <w:rsid w:val=\"00B268BF\"/>\n    <w:pPr>\n      <w:keepNext/>\n      <w:keepLines/>\n      <w:spacing w:before=\"200\"/>\n      <w:jc w:val=\"both\"/>\n      <w:outlineLvl w:val=\"5\"/>\n    </w:pPr>\n    <w:rPr>\n      <w:rFonts w:ascii=\"Times New Roman\" w:eastAsiaTheme=\"majorEastAsia\" w:hAnsi=\"Times New Roman\" w:cstheme=\"majorBidi\"/>\n      <w:i/>\n      <w:iCs/>\n      <w:color w:val=\"000000\" w:themeColor=\"text1\"/>\n      <w:sz w:val=\"28\"/>\n      <w:szCs w:val=\"24\"/>\n      <w:lang w:eastAsia=\"ja-JP\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"character\" w:default=\"1\" w:styleId=\"DefaultParagraphFont\">\n    <w:name w:val=\"Default Paragraph Font\"/>\n    <w:uiPriority w:val=\"1\"/>\n    <w:semiHidden/>\n    <w:unhideWhenUsed/>\n  </w:style>\n  <w:style w:type=\"table\" w:default=\"1\" w:styleId=\"TableNormal\">\n    <w:name w:val=\"Normal Table\"/>\n    <w:uiPriority w:val=\"99\"/>\n    <w:semiHidden/>\n    <w:unhideWhenUsed/>\n    <w:tblPr>\n      <w:tblInd w:w=\"0\" w:type=\"dxa\"/>\n      <w:tblCellMar>\n        <w:top w:w=\"0\" w:type=\"dxa\"/>\n        <w:left w:w=\"108\" w:type=\"dxa\"/>\n        <w:bottom w:w=\"0\" w:type=\"dxa\"/>\n        <w:right w:w=\"108\" w:type=\"dxa\"/>\n      </w:tblCellMar>\n    </w:tblPr>\n  </w:style>\n  <w:style w:type=\"numbering\" w:default=\"1\" w:styleId=\"NoList\">\n    <w:name w:val=\"No List\"/>\n    <w:uiPriority w:val=\"99\"/>\n    <w:semiHidden/>\n    <w:unhideWhenUsed/>\n  </w:style>\n  <w:style w:type=\"character\" w:customStyle=\"1\" w:styleId=\"h2\">\n    <w:name w:val=\"h2\"/>\n    <w:uiPriority w:val=\"1\"/>\n    <w:rsid w:val=\"00556BF4\"/>\n    <w:rPr>\n      <w:rFonts w:asciiTheme=\"majorHAnsi\" w:hAnsiTheme=\"majorHAnsi\"/>\n      <w:b/>\n      <w:sz w:val=\"32\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"paragraph\" w:customStyle=\"1\" w:styleId=\"h1\">\n    <w:name w:val=\"h1\"/>\n    <w:basedOn w:val=\"Heading1\"/>\n    <w:next w:val=\"Normal\"/>\n    <w:qFormat/>\n    <w:rsid w:val=\"00AA70B5\"/>\n  </w:style>\n  <w:style w:type=\"character\" w:customStyle=\"1\" w:styleId=\"h4\">\n    <w:name w:val=\"h4\"/>\n    <w:basedOn w:val=\"h3\"/>\n    <w:uiPriority w:val=\"1\"/>\n    <w:rsid w:val=\"00556BF4\"/>\n    <w:rPr>\n      <w:rFonts w:asciiTheme=\"majorHAnsi\" w:hAnsiTheme=\"majorHAnsi\"/>\n      <w:b/>\n      <w:sz w:val=\"24\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"character\" w:customStyle=\"1\" w:styleId=\"h3\">\n    <w:name w:val=\"h3\"/>\n    <w:basedOn w:val=\"h2\"/>\n    <w:uiPriority w:val=\"1\"/>\n    <w:qFormat/>\n    <w:rsid w:val=\"00556BF4\"/>\n    <w:rPr>\n      <w:rFonts w:asciiTheme=\"majorHAnsi\" w:hAnsiTheme=\"majorHAnsi\"/>\n      <w:b/>\n      <w:sz w:val=\"28\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"table\" w:customStyle=\"1\" w:styleId=\"NormalTable\">\n    <w:name w:val=\"NormalTable\"/>\n    <w:basedOn w:val=\"TableNormal\"/>\n    <w:uiPriority w:val=\"99\"/>\n    <w:rsid w:val=\"00CC0462\"/>\n    <w:tblPr>\n      <w:tblInd w:w=\"0\" w:type=\"dxa\"/>\n      <w:tblBorders>\n        <w:top w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"auto\"/>\n        <w:left w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"auto\"/>\n        <w:bottom w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"auto\"/>\n        <w:right w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideH w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideV w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"auto\"/>\n      </w:tblBorders>\n      <w:tblCellMar>\n        <w:top w:w=\"0\" w:type=\"dxa\"/>\n        <w:left w:w=\"108\" w:type=\"dxa\"/>\n        <w:bottom w:w=\"0\" w:type=\"dxa\"/>\n        <w:right w:w=\"108\" w:type=\"dxa\"/>\n      </w:tblCellMar>\n    </w:tblPr>\n  </w:style>\n  <w:style w:type=\"character\" w:customStyle=\"1\" w:styleId=\"Heading1Char\">\n    <w:name w:val=\"Heading 1 Char\"/>\n    <w:basedOn w:val=\"DefaultParagraphFont\"/>\n    <w:link w:val=\"Heading1\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:rsid w:val=\"00E01725\"/>\n    <w:rPr>\n      <w:rFonts w:ascii=\"Arial\" w:eastAsiaTheme=\"majorEastAsia\" w:hAnsi=\"Arial\" w:cstheme=\"majorBidi\"/>\n      <w:b/>\n      <w:bCs/>\n      <w:caps/>\n      <w:sz w:val=\"28\"/>\n      <w:szCs w:val=\"28\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"character\" w:customStyle=\"1\" w:styleId=\"Heading6Char\">\n    <w:name w:val=\"Heading 6 Char\"/>\n    <w:basedOn w:val=\"DefaultParagraphFont\"/>\n    <w:link w:val=\"Heading6\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:rsid w:val=\"00B268BF\"/>\n    <w:rPr>\n      <w:rFonts w:ascii=\"Times New Roman\" w:eastAsiaTheme=\"majorEastAsia\" w:hAnsi=\"Times New Roman\" w:cstheme=\"majorBidi\"/>\n      <w:i/>\n      <w:iCs/>\n      <w:color w:val=\"000000\" w:themeColor=\"text1\"/>\n      <w:sz w:val=\"28\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"character\" w:customStyle=\"1\" w:styleId=\"Heading5Char\">\n    <w:name w:val=\"Heading 5 Char\"/>\n    <w:basedOn w:val=\"DefaultParagraphFont\"/>\n    <w:link w:val=\"Heading5\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:rsid w:val=\"005C665D\"/>\n    <w:rPr>\n      <w:rFonts w:ascii=\"Times New Roman\" w:eastAsiaTheme=\"majorEastAsia\" w:hAnsi=\"Times New Roman\" w:cstheme=\"majorBidi\"/>\n      <w:bCs/>\n      <w:i/>\n      <w:sz w:val=\"28\"/>\n      <w:szCs w:val=\"26\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"character\" w:customStyle=\"1\" w:styleId=\"Heading4Char\">\n    <w:name w:val=\"Heading 4 Char\"/>\n    <w:basedOn w:val=\"DefaultParagraphFont\"/>\n    <w:link w:val=\"Heading4\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:rsid w:val=\"00E01725\"/>\n    <w:rPr>\n      <w:rFonts w:ascii=\"Arial\" w:eastAsiaTheme=\"majorEastAsia\" w:hAnsi=\"Arial\" w:cstheme=\"majorBidi\"/>\n      <w:i/>\n      <w:iCs/>\n      <w:caps/>\n      <w:sz w:val=\"18\"/>\n      <w:szCs w:val=\"18\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"character\" w:customStyle=\"1\" w:styleId=\"Heading3Char\">\n    <w:name w:val=\"Heading 3 Char\"/>\n    <w:basedOn w:val=\"DefaultParagraphFont\"/>\n    <w:link w:val=\"Heading3\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:rsid w:val=\"00E01725\"/>\n    <w:rPr>\n      <w:rFonts w:ascii=\"Arial\" w:eastAsiaTheme=\"majorEastAsia\" w:hAnsi=\"Arial\" w:cstheme=\"majorBidi\"/>\n      <w:b/>\n      <w:bCs/>\n      <w:caps/>\n      <w:sz w:val=\"18\"/>\n      <w:szCs w:val=\"18\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"character\" w:customStyle=\"1\" w:styleId=\"Heading2Char\">\n    <w:name w:val=\"Heading 2 Char\"/>\n    <w:basedOn w:val=\"DefaultParagraphFont\"/>\n    <w:link w:val=\"Heading2\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:rsid w:val=\"00E01725\"/>\n    <w:rPr>\n      <w:rFonts w:ascii=\"Arial\" w:eastAsiaTheme=\"majorEastAsia\" w:hAnsi=\"Arial\" w:cstheme=\"majorBidi\"/>\n      <w:b/>\n      <w:bCs/>\n      <w:caps/>\n      <w:sz w:val=\"20\"/>\n      <w:szCs w:val=\"20\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"paragraph\" w:styleId=\"ListParagraph\">\n    <w:name w:val=\"List Paragraph\"/>\n    <w:basedOn w:val=\"Normal\"/>\n    <w:uiPriority w:val=\"34\"/>\n    <w:qFormat/>\n    <w:rsid w:val=\"00E01725\"/>\n    <w:pPr>\n      <w:numPr>\n        <w:numId w:val=\"1\"/>\n      </w:numPr>\n      <w:spacing w:before=\"240\" w:after=\"240\"/>\n    </w:pPr>\n  </w:style>\n</w:styles>\n"
  },
  {
    "path": "templates/default/word/stylesWithEffects.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<w:styles xmlns:wpc=\"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\" xmlns:mo=\"http://schemas.microsoft.com/office/mac/office/2008/main\" xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" xmlns:mv=\"urn:schemas-microsoft-com:mac:vml\" xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\" xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:wp14=\"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\" xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\" xmlns:w10=\"urn:schemas-microsoft-com:office:word\" xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\" xmlns:wpg=\"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\" xmlns:wpi=\"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\" xmlns:wne=\"http://schemas.microsoft.com/office/word/2006/wordml\" xmlns:wps=\"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\" mc:Ignorable=\"w14 wp14\">\n  <w:docDefaults>\n    <w:rPrDefault>\n      <w:rPr>\n        <w:rFonts w:asciiTheme=\"minorHAnsi\" w:eastAsiaTheme=\"minorEastAsia\" w:hAnsiTheme=\"minorHAnsi\" w:cstheme=\"minorBidi\"/>\n        <w:sz w:val=\"24\"/>\n        <w:szCs w:val=\"24\"/>\n        <w:lang w:val=\"en-US\" w:eastAsia=\"ja-JP\" w:bidi=\"ar-SA\"/>\n      </w:rPr>\n    </w:rPrDefault>\n    <w:pPrDefault/>\n  </w:docDefaults>\n  <w:latentStyles w:defLockedState=\"0\" w:defUIPriority=\"99\" w:defSemiHidden=\"1\" w:defUnhideWhenUsed=\"1\" w:defQFormat=\"0\" w:count=\"276\">\n    <w:lsdException w:name=\"Normal\" w:semiHidden=\"0\" w:uiPriority=\"0\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"heading 1\" w:semiHidden=\"0\" w:uiPriority=\"9\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"heading 2\" w:uiPriority=\"9\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"heading 3\" w:uiPriority=\"9\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"heading 4\" w:uiPriority=\"9\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"heading 5\" w:uiPriority=\"9\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"heading 6\" w:uiPriority=\"9\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"heading 7\" w:uiPriority=\"9\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"heading 8\" w:uiPriority=\"9\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"heading 9\" w:uiPriority=\"9\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"toc 1\" w:uiPriority=\"39\"/>\n    <w:lsdException w:name=\"toc 2\" w:uiPriority=\"39\"/>\n    <w:lsdException w:name=\"toc 3\" w:uiPriority=\"39\"/>\n    <w:lsdException w:name=\"toc 4\" w:uiPriority=\"39\"/>\n    <w:lsdException w:name=\"toc 5\" w:uiPriority=\"39\"/>\n    <w:lsdException w:name=\"toc 6\" w:uiPriority=\"39\"/>\n    <w:lsdException w:name=\"toc 7\" w:uiPriority=\"39\"/>\n    <w:lsdException w:name=\"toc 8\" w:uiPriority=\"39\"/>\n    <w:lsdException w:name=\"toc 9\" w:uiPriority=\"39\"/>\n    <w:lsdException w:name=\"caption\" w:uiPriority=\"35\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Title\" w:semiHidden=\"0\" w:uiPriority=\"10\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Default Paragraph Font\" w:uiPriority=\"1\"/>\n    <w:lsdException w:name=\"Subtitle\" w:semiHidden=\"0\" w:uiPriority=\"11\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Strong\" w:semiHidden=\"0\" w:uiPriority=\"22\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Emphasis\" w:semiHidden=\"0\" w:uiPriority=\"20\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Table Grid\" w:semiHidden=\"0\" w:uiPriority=\"59\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Placeholder Text\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"No Spacing\" w:semiHidden=\"0\" w:uiPriority=\"1\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Light Shading\" w:semiHidden=\"0\" w:uiPriority=\"60\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light List\" w:semiHidden=\"0\" w:uiPriority=\"61\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Grid\" w:semiHidden=\"0\" w:uiPriority=\"62\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 1\" w:semiHidden=\"0\" w:uiPriority=\"63\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 2\" w:semiHidden=\"0\" w:uiPriority=\"64\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 1\" w:semiHidden=\"0\" w:uiPriority=\"65\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 2\" w:semiHidden=\"0\" w:uiPriority=\"66\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 1\" w:semiHidden=\"0\" w:uiPriority=\"67\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 2\" w:semiHidden=\"0\" w:uiPriority=\"68\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 3\" w:semiHidden=\"0\" w:uiPriority=\"69\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Dark List\" w:semiHidden=\"0\" w:uiPriority=\"70\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Shading\" w:semiHidden=\"0\" w:uiPriority=\"71\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful List\" w:semiHidden=\"0\" w:uiPriority=\"72\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Grid\" w:semiHidden=\"0\" w:uiPriority=\"73\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Shading Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"60\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light List Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"61\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Grid Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"62\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 1 Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"63\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 2 Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"64\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 1 Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"65\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Revision\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"List Paragraph\" w:semiHidden=\"0\" w:uiPriority=\"34\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Quote\" w:semiHidden=\"0\" w:uiPriority=\"29\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Intense Quote\" w:semiHidden=\"0\" w:uiPriority=\"30\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Medium List 2 Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"66\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 1 Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"67\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 2 Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"68\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 3 Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"69\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Dark List Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"70\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Shading Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"71\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful List Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"72\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Grid Accent 1\" w:semiHidden=\"0\" w:uiPriority=\"73\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Shading Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"60\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light List Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"61\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Grid Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"62\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 1 Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"63\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 2 Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"64\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 1 Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"65\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 2 Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"66\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 1 Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"67\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 2 Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"68\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 3 Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"69\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Dark List Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"70\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Shading Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"71\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful List Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"72\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Grid Accent 2\" w:semiHidden=\"0\" w:uiPriority=\"73\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Shading Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"60\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light List Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"61\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Grid Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"62\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 1 Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"63\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 2 Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"64\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 1 Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"65\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 2 Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"66\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 1 Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"67\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 2 Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"68\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 3 Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"69\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Dark List Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"70\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Shading Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"71\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful List Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"72\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Grid Accent 3\" w:semiHidden=\"0\" w:uiPriority=\"73\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Shading Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"60\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light List Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"61\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Grid Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"62\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 1 Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"63\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 2 Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"64\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 1 Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"65\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 2 Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"66\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 1 Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"67\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 2 Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"68\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 3 Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"69\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Dark List Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"70\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Shading Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"71\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful List Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"72\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Grid Accent 4\" w:semiHidden=\"0\" w:uiPriority=\"73\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Shading Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"60\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light List Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"61\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Grid Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"62\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 1 Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"63\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 2 Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"64\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 1 Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"65\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 2 Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"66\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 1 Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"67\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 2 Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"68\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 3 Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"69\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Dark List Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"70\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Shading Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"71\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful List Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"72\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Grid Accent 5\" w:semiHidden=\"0\" w:uiPriority=\"73\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Shading Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"60\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light List Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"61\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Light Grid Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"62\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 1 Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"63\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Shading 2 Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"64\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 1 Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"65\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium List 2 Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"66\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 1 Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"67\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 2 Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"68\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Medium Grid 3 Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"69\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Dark List Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"70\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Shading Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"71\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful List Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"72\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Colorful Grid Accent 6\" w:semiHidden=\"0\" w:uiPriority=\"73\" w:unhideWhenUsed=\"0\"/>\n    <w:lsdException w:name=\"Subtle Emphasis\" w:semiHidden=\"0\" w:uiPriority=\"19\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Intense Emphasis\" w:semiHidden=\"0\" w:uiPriority=\"21\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Subtle Reference\" w:semiHidden=\"0\" w:uiPriority=\"31\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Intense Reference\" w:semiHidden=\"0\" w:uiPriority=\"32\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Book Title\" w:semiHidden=\"0\" w:uiPriority=\"33\" w:unhideWhenUsed=\"0\" w:qFormat=\"1\"/>\n    <w:lsdException w:name=\"Bibliography\" w:uiPriority=\"37\"/>\n    <w:lsdException w:name=\"TOC Heading\" w:uiPriority=\"39\" w:qFormat=\"1\"/>\n  </w:latentStyles>\n  <w:style w:type=\"paragraph\" w:default=\"1\" w:styleId=\"Normal\">\n    <w:name w:val=\"Normal\"/>\n    <w:qFormat/>\n    <w:rsid w:val=\"00E01725\"/>\n    <w:pPr>\n      <w:overflowPunct w:val=\"0\"/>\n      <w:autoSpaceDE w:val=\"0\"/>\n      <w:autoSpaceDN w:val=\"0\"/>\n      <w:adjustRightInd w:val=\"0\"/>\n    </w:pPr>\n    <w:rPr>\n      <w:rFonts w:ascii=\"Arial\" w:eastAsia=\"Times New Roman\" w:hAnsi=\"Arial\" w:cs=\"Times New Roman\"/>\n      <w:sz w:val=\"18\"/>\n      <w:szCs w:val=\"20\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"paragraph\" w:styleId=\"Heading1\">\n    <w:name w:val=\"heading 1\"/>\n    <w:basedOn w:val=\"Normal\"/>\n    <w:next w:val=\"Heading2\"/>\n    <w:link w:val=\"Heading1Char\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:qFormat/>\n    <w:rsid w:val=\"00E01725\"/>\n    <w:pPr>\n      <w:keepNext/>\n      <w:keepLines/>\n      <w:spacing w:after=\"240\"/>\n      <w:outlineLvl w:val=\"0\"/>\n    </w:pPr>\n    <w:rPr>\n      <w:rFonts w:eastAsiaTheme=\"majorEastAsia\" w:cstheme=\"majorBidi\"/>\n      <w:b/>\n      <w:bCs/>\n      <w:caps/>\n      <w:sz w:val=\"28\"/>\n      <w:szCs w:val=\"28\"/>\n      <w:lang w:eastAsia=\"ja-JP\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"paragraph\" w:styleId=\"Heading2\">\n    <w:name w:val=\"heading 2\"/>\n    <w:basedOn w:val=\"Normal\"/>\n    <w:next w:val=\"Normal\"/>\n    <w:link w:val=\"Heading2Char\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:unhideWhenUsed/>\n    <w:qFormat/>\n    <w:rsid w:val=\"00E01725\"/>\n    <w:pPr>\n      <w:keepNext/>\n      <w:keepLines/>\n      <w:spacing w:before=\"240\" w:after=\"120\"/>\n      <w:outlineLvl w:val=\"1\"/>\n    </w:pPr>\n    <w:rPr>\n      <w:rFonts w:eastAsiaTheme=\"majorEastAsia\" w:cstheme=\"majorBidi\"/>\n      <w:b/>\n      <w:bCs/>\n      <w:caps/>\n      <w:sz w:val=\"20\"/>\n      <w:lang w:eastAsia=\"ja-JP\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"paragraph\" w:styleId=\"Heading3\">\n    <w:name w:val=\"heading 3\"/>\n    <w:basedOn w:val=\"Normal\"/>\n    <w:next w:val=\"Normal\"/>\n    <w:link w:val=\"Heading3Char\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:unhideWhenUsed/>\n    <w:qFormat/>\n    <w:rsid w:val=\"00E01725\"/>\n    <w:pPr>\n      <w:keepNext/>\n      <w:keepLines/>\n      <w:spacing w:before=\"200\" w:line=\"276\" w:lineRule=\"auto\"/>\n      <w:outlineLvl w:val=\"2\"/>\n    </w:pPr>\n    <w:rPr>\n      <w:rFonts w:eastAsiaTheme=\"majorEastAsia\" w:cstheme=\"majorBidi\"/>\n      <w:b/>\n      <w:bCs/>\n      <w:caps/>\n      <w:szCs w:val=\"18\"/>\n      <w:lang w:eastAsia=\"ja-JP\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"paragraph\" w:styleId=\"Heading4\">\n    <w:name w:val=\"heading 4\"/>\n    <w:basedOn w:val=\"Normal\"/>\n    <w:next w:val=\"Normal\"/>\n    <w:link w:val=\"Heading4Char\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:unhideWhenUsed/>\n    <w:qFormat/>\n    <w:rsid w:val=\"00E01725\"/>\n    <w:pPr>\n      <w:keepNext/>\n      <w:keepLines/>\n      <w:spacing w:before=\"200\"/>\n      <w:outlineLvl w:val=\"3\"/>\n    </w:pPr>\n    <w:rPr>\n      <w:rFonts w:eastAsiaTheme=\"majorEastAsia\" w:cstheme=\"majorBidi\"/>\n      <w:i/>\n      <w:iCs/>\n      <w:caps/>\n      <w:szCs w:val=\"18\"/>\n      <w:lang w:eastAsia=\"ja-JP\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"paragraph\" w:styleId=\"Heading5\">\n    <w:name w:val=\"heading 5\"/>\n    <w:basedOn w:val=\"Heading4\"/>\n    <w:next w:val=\"Normal\"/>\n    <w:link w:val=\"Heading5Char\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:unhideWhenUsed/>\n    <w:qFormat/>\n    <w:rsid w:val=\"005C665D\"/>\n    <w:pPr>\n      <w:spacing w:after=\"300\"/>\n      <w:jc w:val=\"both\"/>\n      <w:outlineLvl w:val=\"4\"/>\n    </w:pPr>\n    <w:rPr>\n      <w:rFonts w:ascii=\"Times New Roman\" w:hAnsi=\"Times New Roman\"/>\n      <w:b/>\n      <w:iCs w:val=\"0\"/>\n      <w:sz w:val=\"28\"/>\n      <w:szCs w:val=\"26\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"paragraph\" w:styleId=\"Heading6\">\n    <w:name w:val=\"heading 6\"/>\n    <w:basedOn w:val=\"Normal\"/>\n    <w:next w:val=\"Normal\"/>\n    <w:link w:val=\"Heading6Char\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:unhideWhenUsed/>\n    <w:qFormat/>\n    <w:rsid w:val=\"00B268BF\"/>\n    <w:pPr>\n      <w:keepNext/>\n      <w:keepLines/>\n      <w:spacing w:before=\"200\"/>\n      <w:jc w:val=\"both\"/>\n      <w:outlineLvl w:val=\"5\"/>\n    </w:pPr>\n    <w:rPr>\n      <w:rFonts w:ascii=\"Times New Roman\" w:eastAsiaTheme=\"majorEastAsia\" w:hAnsi=\"Times New Roman\" w:cstheme=\"majorBidi\"/>\n      <w:i/>\n      <w:iCs/>\n      <w:color w:val=\"000000\" w:themeColor=\"text1\"/>\n      <w:sz w:val=\"28\"/>\n      <w:szCs w:val=\"24\"/>\n      <w:lang w:eastAsia=\"ja-JP\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"character\" w:default=\"1\" w:styleId=\"DefaultParagraphFont\">\n    <w:name w:val=\"Default Paragraph Font\"/>\n    <w:uiPriority w:val=\"1\"/>\n    <w:semiHidden/>\n    <w:unhideWhenUsed/>\n  </w:style>\n  <w:style w:type=\"table\" w:default=\"1\" w:styleId=\"TableNormal\">\n    <w:name w:val=\"Normal Table\"/>\n    <w:uiPriority w:val=\"99\"/>\n    <w:semiHidden/>\n    <w:unhideWhenUsed/>\n    <w:tblPr>\n      <w:tblInd w:w=\"0\" w:type=\"dxa\"/>\n      <w:tblCellMar>\n        <w:top w:w=\"0\" w:type=\"dxa\"/>\n        <w:left w:w=\"108\" w:type=\"dxa\"/>\n        <w:bottom w:w=\"0\" w:type=\"dxa\"/>\n        <w:right w:w=\"108\" w:type=\"dxa\"/>\n      </w:tblCellMar>\n    </w:tblPr>\n  </w:style>\n  <w:style w:type=\"numbering\" w:default=\"1\" w:styleId=\"NoList\">\n    <w:name w:val=\"No List\"/>\n    <w:uiPriority w:val=\"99\"/>\n    <w:semiHidden/>\n    <w:unhideWhenUsed/>\n  </w:style>\n  <w:style w:type=\"character\" w:customStyle=\"1\" w:styleId=\"h2\">\n    <w:name w:val=\"h2\"/>\n    <w:uiPriority w:val=\"1\"/>\n    <w:rsid w:val=\"00556BF4\"/>\n    <w:rPr>\n      <w:rFonts w:asciiTheme=\"majorHAnsi\" w:hAnsiTheme=\"majorHAnsi\"/>\n      <w:b/>\n      <w:sz w:val=\"32\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"paragraph\" w:customStyle=\"1\" w:styleId=\"h1\">\n    <w:name w:val=\"h1\"/>\n    <w:basedOn w:val=\"Heading1\"/>\n    <w:next w:val=\"Normal\"/>\n    <w:qFormat/>\n    <w:rsid w:val=\"00AA70B5\"/>\n  </w:style>\n  <w:style w:type=\"character\" w:customStyle=\"1\" w:styleId=\"h4\">\n    <w:name w:val=\"h4\"/>\n    <w:basedOn w:val=\"h3\"/>\n    <w:uiPriority w:val=\"1\"/>\n    <w:rsid w:val=\"00556BF4\"/>\n    <w:rPr>\n      <w:rFonts w:asciiTheme=\"majorHAnsi\" w:hAnsiTheme=\"majorHAnsi\"/>\n      <w:b/>\n      <w:sz w:val=\"24\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"character\" w:customStyle=\"1\" w:styleId=\"h3\">\n    <w:name w:val=\"h3\"/>\n    <w:basedOn w:val=\"h2\"/>\n    <w:uiPriority w:val=\"1\"/>\n    <w:qFormat/>\n    <w:rsid w:val=\"00556BF4\"/>\n    <w:rPr>\n      <w:rFonts w:asciiTheme=\"majorHAnsi\" w:hAnsiTheme=\"majorHAnsi\"/>\n      <w:b/>\n      <w:sz w:val=\"28\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"table\" w:customStyle=\"1\" w:styleId=\"NormalTable\">\n    <w:name w:val=\"NormalTable\"/>\n    <w:basedOn w:val=\"TableNormal\"/>\n    <w:uiPriority w:val=\"99\"/>\n    <w:rsid w:val=\"00CC0462\"/>\n    <w:tblPr>\n      <w:tblInd w:w=\"0\" w:type=\"dxa\"/>\n      <w:tblBorders>\n        <w:top w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"auto\"/>\n        <w:left w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"auto\"/>\n        <w:bottom w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"auto\"/>\n        <w:right w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideH w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"auto\"/>\n        <w:insideV w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"auto\"/>\n      </w:tblBorders>\n      <w:tblCellMar>\n        <w:top w:w=\"0\" w:type=\"dxa\"/>\n        <w:left w:w=\"108\" w:type=\"dxa\"/>\n        <w:bottom w:w=\"0\" w:type=\"dxa\"/>\n        <w:right w:w=\"108\" w:type=\"dxa\"/>\n      </w:tblCellMar>\n    </w:tblPr>\n  </w:style>\n  <w:style w:type=\"character\" w:customStyle=\"1\" w:styleId=\"Heading1Char\">\n    <w:name w:val=\"Heading 1 Char\"/>\n    <w:basedOn w:val=\"DefaultParagraphFont\"/>\n    <w:link w:val=\"Heading1\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:rsid w:val=\"00E01725\"/>\n    <w:rPr>\n      <w:rFonts w:ascii=\"Arial\" w:eastAsiaTheme=\"majorEastAsia\" w:hAnsi=\"Arial\" w:cstheme=\"majorBidi\"/>\n      <w:b/>\n      <w:bCs/>\n      <w:caps/>\n      <w:sz w:val=\"28\"/>\n      <w:szCs w:val=\"28\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"character\" w:customStyle=\"1\" w:styleId=\"Heading6Char\">\n    <w:name w:val=\"Heading 6 Char\"/>\n    <w:basedOn w:val=\"DefaultParagraphFont\"/>\n    <w:link w:val=\"Heading6\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:rsid w:val=\"00B268BF\"/>\n    <w:rPr>\n      <w:rFonts w:ascii=\"Times New Roman\" w:eastAsiaTheme=\"majorEastAsia\" w:hAnsi=\"Times New Roman\" w:cstheme=\"majorBidi\"/>\n      <w:i/>\n      <w:iCs/>\n      <w:color w:val=\"000000\" w:themeColor=\"text1\"/>\n      <w:sz w:val=\"28\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"character\" w:customStyle=\"1\" w:styleId=\"Heading5Char\">\n    <w:name w:val=\"Heading 5 Char\"/>\n    <w:basedOn w:val=\"DefaultParagraphFont\"/>\n    <w:link w:val=\"Heading5\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:rsid w:val=\"005C665D\"/>\n    <w:rPr>\n      <w:rFonts w:ascii=\"Times New Roman\" w:eastAsiaTheme=\"majorEastAsia\" w:hAnsi=\"Times New Roman\" w:cstheme=\"majorBidi\"/>\n      <w:bCs/>\n      <w:i/>\n      <w:sz w:val=\"28\"/>\n      <w:szCs w:val=\"26\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"character\" w:customStyle=\"1\" w:styleId=\"Heading4Char\">\n    <w:name w:val=\"Heading 4 Char\"/>\n    <w:basedOn w:val=\"DefaultParagraphFont\"/>\n    <w:link w:val=\"Heading4\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:rsid w:val=\"00E01725\"/>\n    <w:rPr>\n      <w:rFonts w:ascii=\"Arial\" w:eastAsiaTheme=\"majorEastAsia\" w:hAnsi=\"Arial\" w:cstheme=\"majorBidi\"/>\n      <w:i/>\n      <w:iCs/>\n      <w:caps/>\n      <w:sz w:val=\"18\"/>\n      <w:szCs w:val=\"18\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"character\" w:customStyle=\"1\" w:styleId=\"Heading3Char\">\n    <w:name w:val=\"Heading 3 Char\"/>\n    <w:basedOn w:val=\"DefaultParagraphFont\"/>\n    <w:link w:val=\"Heading3\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:rsid w:val=\"00E01725\"/>\n    <w:rPr>\n      <w:rFonts w:ascii=\"Arial\" w:eastAsiaTheme=\"majorEastAsia\" w:hAnsi=\"Arial\" w:cstheme=\"majorBidi\"/>\n      <w:b/>\n      <w:bCs/>\n      <w:caps/>\n      <w:sz w:val=\"18\"/>\n      <w:szCs w:val=\"18\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"character\" w:customStyle=\"1\" w:styleId=\"Heading2Char\">\n    <w:name w:val=\"Heading 2 Char\"/>\n    <w:basedOn w:val=\"DefaultParagraphFont\"/>\n    <w:link w:val=\"Heading2\"/>\n    <w:uiPriority w:val=\"9\"/>\n    <w:rsid w:val=\"00E01725\"/>\n    <w:rPr>\n      <w:rFonts w:ascii=\"Arial\" w:eastAsiaTheme=\"majorEastAsia\" w:hAnsi=\"Arial\" w:cstheme=\"majorBidi\"/>\n      <w:b/>\n      <w:bCs/>\n      <w:caps/>\n      <w:sz w:val=\"20\"/>\n      <w:szCs w:val=\"20\"/>\n    </w:rPr>\n  </w:style>\n  <w:style w:type=\"paragraph\" w:styleId=\"ListParagraph\">\n    <w:name w:val=\"List Paragraph\"/>\n    <w:basedOn w:val=\"Normal\"/>\n    <w:uiPriority w:val=\"34\"/>\n    <w:qFormat/>\n    <w:rsid w:val=\"00E01725\"/>\n    <w:pPr>\n      <w:numPr>\n        <w:numId w:val=\"1\"/>\n      </w:numPr>\n      <w:spacing w:before=\"240\" w:after=\"240\"/>\n    </w:pPr>\n  </w:style>\n</w:styles>\n"
  },
  {
    "path": "templates/default/word/theme/theme1.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<a:theme xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" name=\"Office Theme\">\n  <a:themeElements>\n    <a:clrScheme name=\"Office\">\n      <a:dk1>\n        <a:sysClr val=\"windowText\" lastClr=\"000000\"/>\n      </a:dk1>\n      <a:lt1>\n        <a:sysClr val=\"window\" lastClr=\"FFFFFF\"/>\n      </a:lt1>\n      <a:dk2>\n        <a:srgbClr val=\"1F497D\"/>\n      </a:dk2>\n      <a:lt2>\n        <a:srgbClr val=\"EEECE1\"/>\n      </a:lt2>\n      <a:accent1>\n        <a:srgbClr val=\"4F81BD\"/>\n      </a:accent1>\n      <a:accent2>\n        <a:srgbClr val=\"C0504D\"/>\n      </a:accent2>\n      <a:accent3>\n        <a:srgbClr val=\"9BBB59\"/>\n      </a:accent3>\n      <a:accent4>\n        <a:srgbClr val=\"8064A2\"/>\n      </a:accent4>\n      <a:accent5>\n        <a:srgbClr val=\"4BACC6\"/>\n      </a:accent5>\n      <a:accent6>\n        <a:srgbClr val=\"F79646\"/>\n      </a:accent6>\n      <a:hlink>\n        <a:srgbClr val=\"0000FF\"/>\n      </a:hlink>\n      <a:folHlink>\n        <a:srgbClr val=\"800080\"/>\n      </a:folHlink>\n    </a:clrScheme>\n    <a:fontScheme name=\"Office\">\n      <a:majorFont>\n        <a:latin typeface=\"Calibri\"/>\n        <a:ea typeface=\"\"/>\n        <a:cs typeface=\"\"/>\n        <a:font script=\"Jpan\" typeface=\"ＭＳ ゴシック\"/>\n        <a:font script=\"Hang\" typeface=\"맑은 고딕\"/>\n        <a:font script=\"Hans\" typeface=\"宋体\"/>\n        <a:font script=\"Hant\" typeface=\"新細明體\"/>\n        <a:font script=\"Arab\" typeface=\"Times New Roman\"/>\n        <a:font script=\"Hebr\" typeface=\"Times New Roman\"/>\n        <a:font script=\"Thai\" typeface=\"Angsana New\"/>\n        <a:font script=\"Ethi\" typeface=\"Nyala\"/>\n        <a:font script=\"Beng\" typeface=\"Vrinda\"/>\n        <a:font script=\"Gujr\" typeface=\"Shruti\"/>\n        <a:font script=\"Khmr\" typeface=\"MoolBoran\"/>\n        <a:font script=\"Knda\" typeface=\"Tunga\"/>\n        <a:font script=\"Guru\" typeface=\"Raavi\"/>\n        <a:font script=\"Cans\" typeface=\"Euphemia\"/>\n        <a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/>\n        <a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/>\n        <a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/>\n        <a:font script=\"Thaa\" typeface=\"MV Boli\"/>\n        <a:font script=\"Deva\" typeface=\"Mangal\"/>\n        <a:font script=\"Telu\" typeface=\"Gautami\"/>\n        <a:font script=\"Taml\" typeface=\"Latha\"/>\n        <a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/>\n        <a:font script=\"Orya\" typeface=\"Kalinga\"/>\n        <a:font script=\"Mlym\" typeface=\"Kartika\"/>\n        <a:font script=\"Laoo\" typeface=\"DokChampa\"/>\n        <a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/>\n        <a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/>\n        <a:font script=\"Viet\" typeface=\"Times New Roman\"/>\n        <a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/>\n        <a:font script=\"Geor\" typeface=\"Sylfaen\"/>\n      </a:majorFont>\n      <a:minorFont>\n        <a:latin typeface=\"Cambria\"/>\n        <a:ea typeface=\"\"/>\n        <a:cs typeface=\"\"/>\n        <a:font script=\"Jpan\" typeface=\"ＭＳ 明朝\"/>\n        <a:font script=\"Hang\" typeface=\"맑은 고딕\"/>\n        <a:font script=\"Hans\" typeface=\"宋体\"/>\n        <a:font script=\"Hant\" typeface=\"新細明體\"/>\n        <a:font script=\"Arab\" typeface=\"Arial\"/>\n        <a:font script=\"Hebr\" typeface=\"Arial\"/>\n        <a:font script=\"Thai\" typeface=\"Cordia New\"/>\n        <a:font script=\"Ethi\" typeface=\"Nyala\"/>\n        <a:font script=\"Beng\" typeface=\"Vrinda\"/>\n        <a:font script=\"Gujr\" typeface=\"Shruti\"/>\n        <a:font script=\"Khmr\" typeface=\"DaunPenh\"/>\n        <a:font script=\"Knda\" typeface=\"Tunga\"/>\n        <a:font script=\"Guru\" typeface=\"Raavi\"/>\n        <a:font script=\"Cans\" typeface=\"Euphemia\"/>\n        <a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/>\n        <a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/>\n        <a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/>\n        <a:font script=\"Thaa\" typeface=\"MV Boli\"/>\n        <a:font script=\"Deva\" typeface=\"Mangal\"/>\n        <a:font script=\"Telu\" typeface=\"Gautami\"/>\n        <a:font script=\"Taml\" typeface=\"Latha\"/>\n        <a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/>\n        <a:font script=\"Orya\" typeface=\"Kalinga\"/>\n        <a:font script=\"Mlym\" typeface=\"Kartika\"/>\n        <a:font script=\"Laoo\" typeface=\"DokChampa\"/>\n        <a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/>\n        <a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/>\n        <a:font script=\"Viet\" typeface=\"Arial\"/>\n        <a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/>\n        <a:font script=\"Geor\" typeface=\"Sylfaen\"/>\n      </a:minorFont>\n    </a:fontScheme>\n    <a:fmtScheme name=\"Office\">\n      <a:fillStyleLst>\n        <a:solidFill>\n          <a:schemeClr val=\"phClr\"/>\n        </a:solidFill>\n        <a:gradFill rotWithShape=\"1\">\n          <a:gsLst>\n            <a:gs pos=\"0\">\n              <a:schemeClr val=\"phClr\">\n                <a:tint val=\"50000\"/>\n                <a:satMod val=\"300000\"/>\n              </a:schemeClr>\n            </a:gs>\n            <a:gs pos=\"35000\">\n              <a:schemeClr val=\"phClr\">\n                <a:tint val=\"37000\"/>\n                <a:satMod val=\"300000\"/>\n              </a:schemeClr>\n            </a:gs>\n            <a:gs pos=\"100000\">\n              <a:schemeClr val=\"phClr\">\n                <a:tint val=\"15000\"/>\n                <a:satMod val=\"350000\"/>\n              </a:schemeClr>\n            </a:gs>\n          </a:gsLst>\n          <a:lin ang=\"16200000\" scaled=\"1\"/>\n        </a:gradFill>\n        <a:gradFill rotWithShape=\"1\">\n          <a:gsLst>\n            <a:gs pos=\"0\">\n              <a:schemeClr val=\"phClr\">\n                <a:tint val=\"100000\"/>\n                <a:shade val=\"100000\"/>\n                <a:satMod val=\"130000\"/>\n              </a:schemeClr>\n            </a:gs>\n            <a:gs pos=\"100000\">\n              <a:schemeClr val=\"phClr\">\n                <a:tint val=\"50000\"/>\n                <a:shade val=\"100000\"/>\n                <a:satMod val=\"350000\"/>\n              </a:schemeClr>\n            </a:gs>\n          </a:gsLst>\n          <a:lin ang=\"16200000\" scaled=\"0\"/>\n        </a:gradFill>\n      </a:fillStyleLst>\n      <a:lnStyleLst>\n        <a:ln w=\"9525\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\">\n          <a:solidFill>\n            <a:schemeClr val=\"phClr\">\n              <a:shade val=\"95000\"/>\n              <a:satMod val=\"105000\"/>\n            </a:schemeClr>\n          </a:solidFill>\n          <a:prstDash val=\"solid\"/>\n        </a:ln>\n        <a:ln w=\"25400\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\">\n          <a:solidFill>\n            <a:schemeClr val=\"phClr\"/>\n          </a:solidFill>\n          <a:prstDash val=\"solid\"/>\n        </a:ln>\n        <a:ln w=\"38100\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\">\n          <a:solidFill>\n            <a:schemeClr val=\"phClr\"/>\n          </a:solidFill>\n          <a:prstDash val=\"solid\"/>\n        </a:ln>\n      </a:lnStyleLst>\n      <a:effectStyleLst>\n        <a:effectStyle>\n          <a:effectLst>\n            <a:outerShdw blurRad=\"40000\" dist=\"20000\" dir=\"5400000\" rotWithShape=\"0\">\n              <a:srgbClr val=\"000000\">\n                <a:alpha val=\"38000\"/>\n              </a:srgbClr>\n            </a:outerShdw>\n          </a:effectLst>\n        </a:effectStyle>\n        <a:effectStyle>\n          <a:effectLst>\n            <a:outerShdw blurRad=\"40000\" dist=\"23000\" dir=\"5400000\" rotWithShape=\"0\">\n              <a:srgbClr val=\"000000\">\n                <a:alpha val=\"35000\"/>\n              </a:srgbClr>\n            </a:outerShdw>\n          </a:effectLst>\n        </a:effectStyle>\n        <a:effectStyle>\n          <a:effectLst>\n            <a:outerShdw blurRad=\"40000\" dist=\"23000\" dir=\"5400000\" rotWithShape=\"0\">\n              <a:srgbClr val=\"000000\">\n                <a:alpha val=\"35000\"/>\n              </a:srgbClr>\n            </a:outerShdw>\n          </a:effectLst>\n          <a:scene3d>\n            <a:camera prst=\"orthographicFront\">\n              <a:rot lat=\"0\" lon=\"0\" rev=\"0\"/>\n            </a:camera>\n            <a:lightRig rig=\"threePt\" dir=\"t\">\n              <a:rot lat=\"0\" lon=\"0\" rev=\"1200000\"/>\n            </a:lightRig>\n          </a:scene3d>\n          <a:sp3d>\n            <a:bevelT w=\"63500\" h=\"25400\"/>\n          </a:sp3d>\n        </a:effectStyle>\n      </a:effectStyleLst>\n      <a:bgFillStyleLst>\n        <a:solidFill>\n          <a:schemeClr val=\"phClr\"/>\n        </a:solidFill>\n        <a:gradFill rotWithShape=\"1\">\n          <a:gsLst>\n            <a:gs pos=\"0\">\n              <a:schemeClr val=\"phClr\">\n                <a:tint val=\"40000\"/>\n                <a:satMod val=\"350000\"/>\n              </a:schemeClr>\n            </a:gs>\n            <a:gs pos=\"40000\">\n              <a:schemeClr val=\"phClr\">\n                <a:tint val=\"45000\"/>\n                <a:shade val=\"99000\"/>\n                <a:satMod val=\"350000\"/>\n              </a:schemeClr>\n            </a:gs>\n            <a:gs pos=\"100000\">\n              <a:schemeClr val=\"phClr\">\n                <a:shade val=\"20000\"/>\n                <a:satMod val=\"255000\"/>\n              </a:schemeClr>\n            </a:gs>\n          </a:gsLst>\n          <a:path path=\"circle\">\n            <a:fillToRect l=\"50000\" t=\"-80000\" r=\"50000\" b=\"180000\"/>\n          </a:path>\n        </a:gradFill>\n        <a:gradFill rotWithShape=\"1\">\n          <a:gsLst>\n            <a:gs pos=\"0\">\n              <a:schemeClr val=\"phClr\">\n                <a:tint val=\"80000\"/>\n                <a:satMod val=\"300000\"/>\n              </a:schemeClr>\n            </a:gs>\n            <a:gs pos=\"100000\">\n              <a:schemeClr val=\"phClr\">\n                <a:shade val=\"30000\"/>\n                <a:satMod val=\"200000\"/>\n              </a:schemeClr>\n            </a:gs>\n          </a:gsLst>\n          <a:path path=\"circle\">\n            <a:fillToRect l=\"50000\" t=\"50000\" r=\"50000\" b=\"50000\"/>\n          </a:path>\n        </a:gradFill>\n      </a:bgFillStyleLst>\n    </a:fmtScheme>\n  </a:themeElements>\n  <a:objectDefaults>\n    <a:spDef>\n      <a:spPr/>\n      <a:bodyPr/>\n      <a:lstStyle/>\n      <a:style>\n        <a:lnRef idx=\"1\">\n          <a:schemeClr val=\"accent1\"/>\n        </a:lnRef>\n        <a:fillRef idx=\"3\">\n          <a:schemeClr val=\"accent1\"/>\n        </a:fillRef>\n        <a:effectRef idx=\"2\">\n          <a:schemeClr val=\"accent1\"/>\n        </a:effectRef>\n        <a:fontRef idx=\"minor\">\n          <a:schemeClr val=\"lt1\"/>\n        </a:fontRef>\n      </a:style>\n    </a:spDef>\n    <a:lnDef>\n      <a:spPr/>\n      <a:bodyPr/>\n      <a:lstStyle/>\n      <a:style>\n        <a:lnRef idx=\"2\">\n          <a:schemeClr val=\"accent1\"/>\n        </a:lnRef>\n        <a:fillRef idx=\"0\">\n          <a:schemeClr val=\"accent1\"/>\n        </a:fillRef>\n        <a:effectRef idx=\"1\">\n          <a:schemeClr val=\"accent1\"/>\n        </a:effectRef>\n        <a:fontRef idx=\"minor\">\n          <a:schemeClr val=\"tx1\"/>\n        </a:fontRef>\n      </a:style>\n    </a:lnDef>\n  </a:objectDefaults>\n  <a:extraClrSchemeLst/>\n</a:theme>\n"
  },
  {
    "path": "templates/default/word/webSettings.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<w:webSettings xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\" mc:Ignorable=\"w14\">\n  <w:allowPNG/>\n  <w:doNotSaveAsSingleFile/>\n</w:webSettings>\n"
  }
]