You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by kr...@apache.org on 2019/03/25 12:43:04 UTC

[lucene-solr] branch branch_8x updated: SOLR-13342: Remove dom4j from Solr

This is an automated email from the ASF dual-hosted git repository.

krisden pushed a commit to branch branch_8x
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git


The following commit(s) were added to refs/heads/branch_8x by this push:
     new 862a755  SOLR-13342: Remove dom4j from Solr
862a755 is described below

commit 862a755d67948505d3734896f41354cbfbc5c892
Author: Kevin Risden <kr...@apache.org>
AuthorDate: Fri Mar 22 17:30:01 2019 -0400

    SOLR-13342: Remove dom4j from Solr
    
    Signed-off-by: Kevin Risden <kr...@apache.org>
---
 solr/CHANGES.txt                                   |   2 +
 solr/contrib/velocity/ivy.xml                      |   2 +
 solr/core/ivy.xml                                  |   1 -
 .../org/apache/solr/update/AddBlockUpdateTest.java | 303 +++++++------
 solr/licenses/jackcess-LICENSE-ASL.txt             | 305 -------------
 solr/licenses/jackcess-encrypt-LICENSE-ASL.txt     | 305 -------------
 solr/licenses/poi-LICENSE-ASL.txt                  | 480 +++++++++++----------
 solr/licenses/poi-NOTICE.txt                       |  23 +-
 solr/licenses/poi-ooxml-LICENSE-ASL.txt            | 480 +++++++++++----------
 solr/licenses/poi-ooxml-NOTICE.txt                 |  23 +-
 solr/licenses/poi-ooxml-schemas-LICENSE-ASL.txt    | 480 +++++++++++----------
 solr/licenses/poi-ooxml-schemas-NOTICE.txt         |  23 +-
 solr/licenses/poi-scratchpad-LICENSE-ASL.txt       | 480 +++++++++++----------
 solr/licenses/poi-scratchpad-NOTICE.txt            |  23 +-
 14 files changed, 1242 insertions(+), 1688 deletions(-)

diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 26f6438..b3f23a2 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -161,6 +161,8 @@ Other Changes
 * SOLR-12955: Refactored DistributedUpdateProcessor to put SolrCloud functionality into a subclass.
   (Bar Rotstein, David Smiley)
 
+* SOLR-13342: Remove dom4j from Solr (Kevin Risden)
+
 ==================  8.0.0 ==================
 
 Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
diff --git a/solr/contrib/velocity/ivy.xml b/solr/contrib/velocity/ivy.xml
index b7d046f..17ffed1 100644
--- a/solr/contrib/velocity/ivy.xml
+++ b/solr/contrib/velocity/ivy.xml
@@ -25,6 +25,8 @@
   <dependencies>
     <dependency org="commons-collections" name="commons-collections" rev="${/commons-collections/commons-collections}" conf="compile"/>
     <dependency org="commons-lang" name="commons-lang" rev="${/commons-lang/commons-lang}" conf="compile"/>
+    <dependency org="dom4j" name="dom4j" rev="${/dom4j/dom4j}" conf="compile"/>
+
     <dependency org="org.apache.velocity" name="velocity" rev="${/org.apache.velocity/velocity}" conf="compile"/>
     <dependency org="org.apache.velocity" name="velocity-tools" rev="${/org.apache.velocity/velocity-tools}" conf="compile"/>
 
diff --git a/solr/core/ivy.xml b/solr/core/ivy.xml
index eaeb7e8..ce3c356 100644
--- a/solr/core/ivy.xml
+++ b/solr/core/ivy.xml
@@ -44,7 +44,6 @@
     <dependency org="org.ow2.asm" name="asm-commons" rev="${/org.ow2.asm/asm-commons}" conf="compile"/>
     <dependency org="org.restlet.jee" name="org.restlet" rev="${/org.restlet.jee/org.restlet}" conf="compile"/>
     <dependency org="org.restlet.jee" name="org.restlet.ext.servlet" rev="${/org.restlet.jee/org.restlet.ext.servlet}" conf="compile"/>
-    <dependency org="dom4j" name="dom4j" rev="${/dom4j/dom4j}" conf="compile"/>
     <dependency org="com.carrotsearch" name="hppc" rev="${/com.carrotsearch/hppc}" conf="compile"/>
 
     <dependency org="org.apache.logging.log4j" name="log4j-api" rev="${/org.apache.logging.log4j/log4j-api}" conf="compile"/>
diff --git a/solr/core/src/test/org/apache/solr/update/AddBlockUpdateTest.java b/solr/core/src/test/org/apache/solr/update/AddBlockUpdateTest.java
index 50c0c39..3ba3df6 100644
--- a/solr/core/src/test/org/apache/solr/update/AddBlockUpdateTest.java
+++ b/solr/core/src/test/org/apache/solr/update/AddBlockUpdateTest.java
@@ -16,14 +16,22 @@
  */
 package org.apache.solr.update;
 
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.stream.XMLInputFactory;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.StringReader;
+import java.io.StringWriter;
 import java.lang.invoke.MethodHandles;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -60,9 +68,6 @@ import org.apache.solr.request.SolrQueryRequest;
 import org.apache.solr.search.SolrIndexSearcher;
 import org.apache.solr.util.DefaultSolrThreadFactory;
 import org.apache.solr.util.RefCounted;
-import org.dom4j.Document;
-import org.dom4j.DocumentHelper;
-import org.dom4j.Element;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
@@ -72,12 +77,15 @@ import org.junit.Test;
 import org.junit.rules.ExpectedException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
 import org.xml.sax.SAXException;
 
 public class AddBlockUpdateTest extends SolrTestCaseJ4 {
-
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
-  
+
   private static final String child = "child_s";
   private static final String parent = "parent_s";
   private static final String type = "type_s";
@@ -85,15 +93,15 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
   private static ExecutorService exe;
   private static AtomicInteger counter = new AtomicInteger();
   private static boolean cachedMode;
-  
+
   private static XMLInputFactory inputFactory;
-  
+
   private RefCounted<SolrIndexSearcher> searcherRef;
   private SolrIndexSearcher _searcher;
 
   @Rule
   public ExpectedException thrown = ExpectedException.none();
-  
+
   @BeforeClass
   public static void beforeClass() throws Exception {
     String oldCacheNamePropValue = System
@@ -104,7 +112,7 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
       System.setProperty("blockJoinParentFilterCache", oldCacheNamePropValue);
     }
     inputFactory = XMLInputFactory.newInstance();
-    
+
     exe = // Executors.newSingleThreadExecutor();
     rarely() ? ExecutorUtil.newMDCAwareFixedThreadPool(atLeast(2), new DefaultSolrThreadFactory("AddBlockUpdateTest")) : ExecutorUtil
         .newMDCAwareCachedThreadPool(new DefaultSolrThreadFactory("AddBlockUpdateTest"));
@@ -112,15 +120,20 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
 
     initCore("solrconfig.xml", "schema15.xml");
   }
-  
+
   @Before
   public void prepare() {
     // assertU("<rollback/>");
     assertU(delQ("*:*"));
     assertU(commit("expungeDeletes", "true"));
-    
   }
-  
+
+  private Document getDocument() throws ParserConfigurationException {
+    DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
+    javax.xml.parsers.DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
+    return docBuilder.newDocument();
+  }
+
   private SolrIndexSearcher getSearcher() {
     if (_searcher == null) {
       searcherRef = h.getCore().getSearcher();
@@ -128,7 +141,7 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
     }
     return _searcher;
   }
-  
+
   @After
   public void cleanup() {
     if (searcherRef != null || _searcher != null) {
@@ -137,38 +150,38 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
       _searcher = null;
     }
   }
-  
+
   @AfterClass
   public static void afterClass() throws Exception {
     exe.shutdownNow();
-    
+
     exe = null;
     inputFactory = null;
     counter = null;
   }
-  
+
   @Test
   public void testOverwrite() throws IOException{
     assertU(add(
-      nest(doc("id","X", parent, "X"), 
-             doc(child,"a", "id", "66"), 
+      nest(doc("id","X", parent, "X"),
+             doc(child,"a", "id", "66"),
              doc(child,"b", "id", "66"))));
     assertU(add(
-      nest(doc("id","Y", parent, "Y"), 
-             doc(child,"a", "id", "66"), 
+      nest(doc("id","Y", parent, "Y"),
+             doc(child,"a", "id", "66"),
              doc(child,"b", "id", "66"))));
     String overwritten = random().nextBoolean() ? "X": "Y";
-    String dubbed = overwritten=="X" ? "Y":"X";
-    
+    String dubbed = overwritten.equals("X") ? "Y":"X";
+
     assertU(add(
-        nest(doc("id",overwritten, parent, overwritten), 
-               doc(child,"c","id", "66"), 
+        nest(doc("id",overwritten, parent, overwritten),
+               doc(child,"c","id", "66"),
                doc(child,"d","id", "66")), "overwrite", "true"));
     assertU(add(
-        nest(doc("id",dubbed, parent, dubbed), 
-               doc(child,"c","id", "66"), 
+        nest(doc("id",dubbed, parent, dubbed),
+               doc(child,"c","id", "66"),
                doc(child,"d","id", "66")), "overwrite", "false"));
-    
+
     assertU(commit());
 
     assertQ(req(parent+":"+overwritten, "//*[@numFound='1']"));
@@ -182,19 +195,19 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
     final String pAct = searcher.doc(docs.scoreDocs[0].doc).get(parent)+
                         searcher.doc(docs.scoreDocs[1].doc).get(parent);
     assertTrue(pAct.contains(dubbed) && pAct.contains(overwritten) && pAct.length()==2);
-    
+
     assertQ(req("id:66", "//*[@numFound='6']"));
     assertQ(req(child+":(a b)", "//*[@numFound='2']"));
     assertQ(req(child+":(c d)", "//*[@numFound='4']"));
   }
-  
+
   private static XmlDoc nest(XmlDoc parent, XmlDoc ... children){
     XmlDoc xmlDoc = new XmlDoc();
     xmlDoc.xml = parent.xml.replace("</doc>",
         Arrays.toString(children).replaceAll("[\\[\\]]", "")+"</doc>");
     return xmlDoc;
   }
-  
+
   @Test
   public void testBasics() throws Exception {
     List<Document> blocks = new ArrayList<>(Arrays.asList(
@@ -204,17 +217,17 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
         merge(block("qrsT"), block("uvwX")),
         block("Y"),
         block("Z")));
-    
+
     Collections.shuffle(blocks, random());
-    
+
     log.trace("{}", blocks);
-    
+
     for (Future<Void> f : exe.invokeAll(callables(blocks))) {
       f.get(); // exceptions?
     }
-    
+
     assertU(commit());
-    
+
     final SolrIndexSearcher searcher = getSearcher();
     // final String resp = h.query(req("q","*:*", "sort","_docid_ asc", "rows",
     // "10000"));
@@ -230,38 +243,42 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
     assertSingleParentOf(searcher, one("mno"), "P");
     assertSingleParentOf(searcher, one("qrs"), "T");
     assertSingleParentOf(searcher, one("uvw"), "X");
-   
+
     assertQ(req("q",child+":(a b c)", "sort","_docid_ asc"),
         "//*[@numFound='3']", // assert physical order of children
       "//doc[1]/arr[@name='child_s']/str[text()='a']",
       "//doc[2]/arr[@name='child_s']/str[text()='b']",
       "//doc[3]/arr[@name='child_s']/str[text()='c']");
   }
-  
+
   @Test
   public void testExceptionThrown() throws Exception {
-    final String abcD = block("abcD").asXML();
+    final String abcD = getStringFromDocument(block("abcD"));
     log.info(abcD);
     assertBlockU(abcD);
-    
-    Document docToFail = DocumentHelper.createDocument();
-    Element root = docToFail.addElement("add");
-    Element doc1 = root.addElement("doc");
-    attachField(doc1, "id", id());
-    attachField(doc1, parent, "Y");
-    attachField(doc1, "sample_i", "notanumber/ignore_exception");
-    Element subDoc1 = doc1.addElement("doc");
-    attachField(subDoc1, "id", id());
-    attachField(subDoc1, child, "x");
-    Element doc2 = root.addElement("doc");
-    attachField(doc2, "id", id());
-    attachField(doc2, parent, "W");
-    
-    assertFailedBlockU(docToFail.asXML());
-    
-    assertBlockU(block("efgH").asXML());
+
+    Document docToFail = getDocument();
+    Element root = docToFail.createElement("add");
+    docToFail.appendChild(root);
+    Element doc1 = docToFail.createElement("doc");
+    root.appendChild(doc1);
+    attachField(docToFail, doc1, "id", id());
+    attachField(docToFail, doc1, parent, "Y");
+    attachField(docToFail, doc1, "sample_i", "notanumber/ignore_exception");
+    Element subDoc1 = docToFail.createElement("doc");
+    doc1.appendChild(subDoc1);
+    attachField(docToFail, subDoc1, "id", id());
+    attachField(docToFail, subDoc1, child, "x");
+    Element doc2 = docToFail.createElement("doc");
+    root.appendChild(doc2);
+    attachField(docToFail, doc2, "id", id());
+    attachField(docToFail, doc2, parent, "W");
+
+    assertFailedBlockU(getStringFromDocument(docToFail));
+
+    assertBlockU(getStringFromDocument(block("efgH")));
     assertBlockU(commit());
-    
+
     final SolrIndexSearcher searcher = getSearcher();
     assertQ(req("q","*:*","indent","true", "fl","id,parent_s,child_s"), "//*[@numFound='" + "abcDefgH".length() + "']");
     assertSingleParentOf(searcher, one("abc"), "D");
@@ -289,7 +306,6 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
 
   @Test
   public void testSolrNestedFieldsList() throws Exception {
-
     final String id1 = id();
     List<SolrInputDocument> children1 = Arrays.asList(sdoc("id", id(), child, "y"), sdoc("id", id(), child, "z"));
 
@@ -362,15 +378,15 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
   @Test
   public void testSolrJXML() throws Exception {
     UpdateRequest req = new UpdateRequest();
-    
+
     List<SolrInputDocument> docs = new ArrayList<>();
-    
+
     SolrInputDocument document1 = new SolrInputDocument() {
       {
         final String id = id();
         addField("id", id);
         addField("parent_s", "X");
-        
+
         ArrayList<SolrInputDocument> ch1 = new ArrayList<>(
             Arrays.asList(new SolrInputDocument() {
               {
@@ -383,12 +399,12 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
                 addField("child_s", "z");
               }
             }));
-        
+
         Collections.shuffle(ch1, random());
         addChildDocuments(ch1);
       }
     };
-    
+
     SolrInputDocument document2 = new SolrInputDocument() {
       {
         final String id = id();
@@ -408,13 +424,13 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
         });
       }
     };
-    
+
     docs.add(document1);
     docs.add(document2);
-    
+
     Collections.shuffle(docs, random());
     req.add(docs);
-    
+
     RequestWriter requestWriter = new RequestWriter();
     OutputStream os = new ByteArrayOutputStream();
     requestWriter.write(req, os);
@@ -435,10 +451,9 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
   @Test
   public void testXML() throws IOException, XMLStreamException {
     UpdateRequest req = new UpdateRequest();
-    
- List<SolrInputDocument> docs = new ArrayList<>();
-    
- 
+
+    List<SolrInputDocument> docs = new ArrayList<>();
+
     String xml_doc1 =
     "<doc >" +
       "  <field name=\"id\">1</field>" +
@@ -467,42 +482,40 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
              "</doc>"+
         "</doc>";
 
-    
-    XMLStreamReader parser = 
+
+    XMLStreamReader parser =
       inputFactory.createXMLStreamReader( new StringReader( xml_doc1 ) );
     parser.next(); // read the START document...
     //null for the processor is all right here
     XMLLoader loader = new XMLLoader();
     SolrInputDocument document1 = loader.readDoc( parser );
-  
-    XMLStreamReader parser2 = 
+
+    XMLStreamReader parser2 =
         inputFactory.createXMLStreamReader( new StringReader( xml_doc2 ) );
       parser2.next(); // read the START document...
       //null for the processor is all right here
       //XMLLoader loader = new XMLLoader();
       SolrInputDocument document2 = loader.readDoc( parser2 );
-    
-    
+
     docs.add(document1);
     docs.add(document2);
-    
+
     Collections.shuffle(docs, random());
     req.add(docs);
-    
+
     RequestWriter requestWriter = new RequestWriter();
     OutputStream os = new ByteArrayOutputStream();
     requestWriter.write(req, os);
     assertBlockU(os.toString());
     assertU(commit());
-    
+
     final SolrIndexSearcher searcher = getSearcher();
     assertSingleParentOf(searcher, one("yz"), "X");
     assertSingleParentOf(searcher, one("bc"), "A");
-       
   }
 
   @Test
-  public void testXMLMultiLevelLabeledChildren() throws IOException, XMLStreamException {
+  public void testXMLMultiLevelLabeledChildren() throws XMLStreamException {
     String xml_doc1 =
         "<doc >" +
             "  <field name=\"id\">1</field>" +
@@ -646,7 +659,6 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
     final SolrIndexSearcher searcher = getSearcher();
     assertSingleParentOf(searcher, one("yz"), "X");
     assertSingleParentOf(searcher, one("bc"), "A");
-
   }
 
   @Test
@@ -679,18 +691,18 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
     assertTrue(compareSolrInputDocument(topDocument, result));
   }
 
-  
+
   @Test
   public void testJavaBinCodec() throws IOException { //actually this test must be in other test class
     SolrInputDocument topDocument = new SolrInputDocument();
     topDocument.addField("parent_f1", "v1");
     topDocument.addField("parent_f2", "v2");
-    
+
     int childsNum = atLeast(10);
     for (int index = 0; index < childsNum; ++index) {
       addChildren("child", topDocument, index, false);
     }
-    
+
     ByteArrayOutputStream os = new ByteArrayOutputStream();
     try (JavaBinCodec jbc = new JavaBinCodec()) {
       jbc.marshal(topDocument, os);
@@ -704,17 +716,17 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
     assertEquals(2, result.size());
     assertEquals("v1", result.getFieldValue("parent_f1"));
     assertEquals("v2", result.getFieldValue("parent_f2"));
-    
+
     List<SolrInputDocument> resultChilds = result.getChildDocuments();
     int resultChildsSize = resultChilds == null ? 0 : resultChilds.size();
     assertEquals(childsNum, resultChildsSize);
-    
+
     for (int childIndex = 0; childIndex < childsNum; ++childIndex) {
       SolrInputDocument child = resultChilds.get(childIndex);
       for (int fieldNum = 0; fieldNum < childIndex; ++fieldNum) {
         assertEquals(childIndex + "value" + fieldNum, child.getFieldValue(childIndex + "child" + fieldNum));
       }
-      
+
       List<SolrInputDocument> grandChilds = child.getChildDocuments();
       int grandChildsSize = grandChilds == null ? 0 : grandChilds.size();
 
@@ -728,13 +740,13 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
       }
     }
   }
-  
+
   private void addChildren(String prefix, SolrInputDocument topDocument, int childIndex, boolean lastLevel) {
     SolrInputDocument childDocument = new SolrInputDocument();
     for (int index = 0; index < childIndex; ++index) {
       childDocument.addField(childIndex + prefix + index, childIndex + "value"+ index);
-    }   
-  
+    }
+
     if (!lastLevel) {
       for (int i = 0; i < childIndex * 2; ++i) {
         addChildren("grand", childDocument, i, true);
@@ -746,59 +758,62 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
   /**
    * on the given abcD it generates one parent doc, taking D from the tail and
    * two subdocs relaitons ab and c uniq ids are supplied also
-   * 
+   *
    * <pre>
    * {@code
    * <add>
    *  <doc>
-   *    <field name="parent_s">D</field> 
-   *    <doc> 
+   *    <field name="parent_s">D</field>
+   *    <doc>
    *        <field name="child_s">a</field>
    *        <field name="type_s">1</field>
-   *    </doc> 
-   *    <doc> 
-   *        <field name="child_s">b</field> 
+   *    </doc>
+   *    <doc>
+   *        <field name="child_s">b</field>
    *        <field name="type_s">1</field>
-   *    </doc> 
-   *    <doc> 
+   *    </doc>
+   *    <doc>
    *        <field name="child_s">c</field>
-   *        <field name="type_s">2</field> 
-   *    </doc> 
-   *  </doc> 
+   *        <field name="type_s">2</field>
+   *    </doc>
+   *  </doc>
    * </add>
    * }
    * </pre>
    * */
-  private Document block(String string) {
-    Document document = DocumentHelper.createDocument();
-    Element root = document.addElement("add");
-    Element doc = root.addElement("doc");
-    
+  private Document block(String string) throws ParserConfigurationException {
+    Document document = getDocument();
+    Element root = document.createElement("add");
+    document.appendChild(root);
+    Element doc = document.createElement("doc");
+    root.appendChild(doc);
+
     if (string.length() > 0) {
       // last character is a top parent
-      attachField(doc, parent,
+      attachField(document, doc, parent,
           String.valueOf(string.charAt(string.length() - 1)));
-      attachField(doc, "id", id());
-      
+      attachField(document, doc, "id", id());
+
       // add subdocs
       int type = 1;
       for (int i = 0; i < string.length() - 1; i += 2) {
         String relation = string.substring(i,
             Math.min(i + 2, string.length() - 1));
-        attachSubDocs(doc, relation, type);
+        attachSubDocs(document, doc, relation, type);
         type++;
       }
     }
-    
+
     return document;
   }
-  
-  private void attachSubDocs(Element parent, String relation, int typeValue) {
+
+  private void attachSubDocs(Document document, Element parent, String relation, int typeValue) {
     for (int j = 0; j < relation.length(); j++) {
-      Element document = parent.addElement("doc");
-      attachField(document, child, String.valueOf(relation.charAt(j)));
-      attachField(document, "id", id());
-      attachField(document, type, String.valueOf(typeValue));
+      Element doc = document.createElement("doc");
+      parent.appendChild(doc);
+      attachField(document, doc, child, String.valueOf(relation.charAt(j)));
+      attachField(document, doc, "id", id());
+      attachField(document, doc, type, String.valueOf(typeValue));
     }
   }
 
@@ -815,11 +830,11 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
 
   /**
    * Merges two documents like
-   * 
+   *
    * <pre>
    * {@code <add>...</add> + <add>...</add> = <add>... + ...</add>}
    * </pre>
-   * 
+   *
    * @param doc1
    *          first document
    * @param doc2
@@ -827,28 +842,31 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
    * @return merged document
    */
   private Document merge(Document doc1, Document doc2) {
-    List<Element> list = doc2.getRootElement().elements();
-    for (Element element : list) {
-      doc1.getRootElement().add(element.detach());
+    NodeList doc2ChildNodes = doc2.getDocumentElement().getChildNodes();
+    for(int i = 0; i < doc2ChildNodes.getLength(); i++) {
+      Node doc2ChildNode = doc2ChildNodes.item(i);
+      doc1.getDocumentElement().appendChild(doc1.importNode(doc2ChildNode, true));
+      doc2.getDocumentElement().removeChild(doc2ChildNode);
     }
-    
+
     return doc1;
   }
-  
-  private void attachField(Element root, String fieldName, String value) {
-    Element field = root.addElement("field");
-    field.addAttribute("name", fieldName);
-    field.addText(value);
+
+  private void attachField(Document document, Element root, String fieldName, String value) {
+    Element field = document.createElement("field");
+    field.setAttribute("name", fieldName);
+    field.setTextContent(value);
+    root.appendChild(field);
   }
-  
+
   private static String id() {
     return "" + counter.incrementAndGet();
   }
-  
+
   private String one(String string) {
     return "" + string.charAt(random().nextInt(string.length()));
   }
-  
+
   protected void assertSingleParentOf(final SolrIndexSearcher searcher,
       final String childTerm, String parentExp) throws IOException {
     final TopDocs docs = searcher.search(join(childTerm), 10);
@@ -856,17 +874,17 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
     final String pAct = searcher.doc(docs.scoreDocs[0].doc).get(parent);
     assertEquals(parentExp, pAct);
   }
-  
+
   protected ToParentBlockJoinQuery join(final String childTerm) {
     return new ToParentBlockJoinQuery(
         new TermQuery(new Term(child, childTerm)), new QueryBitSetProducer(
             new TermRangeQuery(parent, null, null, false, false)), ScoreMode.None);
   }
-  
+
   private Collection<? extends Callable<Void>> callables(List<Document> blocks) {
     final List<Callable<Void>> rez = new ArrayList<>();
     for (Document block : blocks) {
-      final String msg = block.asXML();
+      final String msg = getStringFromDocument(block);
       if (msg.length() > 0) {
         rez.add(() -> {
           assertBlockU(msg);
@@ -882,11 +900,11 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
     }
     return rez;
   }
-  
+
   private void assertBlockU(final String msg) {
     assertBlockU(msg, "0");
   }
-  
+
   private void assertFailedBlockU(final String msg) {
     try {
       assertBlockU(msg, "1");
@@ -895,7 +913,7 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
       // gotcha
     }
   }
-  
+
   private void assertBlockU(final String msg, String expected) {
     try {
       String res = h.checkUpdateStatus(msg, expected);
@@ -906,5 +924,16 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
       throw new RuntimeException("Invalid XML", e);
     }
   }
+
+  public static String getStringFromDocument(Document doc) {
+    try (StringWriter writer = new StringWriter()){
+      TransformerFactory tf = TransformerFactory.newInstance();
+      Transformer transformer = tf.newTransformer();
+      transformer.transform(new DOMSource(doc), new StreamResult(writer));
+      return writer.toString();
+    } catch (TransformerException | IOException e) {
+      throw new IllegalStateException(e);
+    }
+  }
 }
 
diff --git a/solr/licenses/jackcess-LICENSE-ASL.txt b/solr/licenses/jackcess-LICENSE-ASL.txt
index 3f40d40..d645695 100644
--- a/solr/licenses/jackcess-LICENSE-ASL.txt
+++ b/solr/licenses/jackcess-LICENSE-ASL.txt
@@ -200,308 +200,3 @@
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-
-
-APACHE POI SUBCOMPONENTS:
-
-Apache POI includes subcomponents with separate copyright notices and
-license terms. Your use of these subcomponents is subject to the terms
-and conditions of the following licenses:
-
-
-Office Open XML schemas (ooxml-schemas-1.0.jar)
-
-    The Office Open XML schema definitions used by Apache POI are
-    a part of the Office Open XML ECMA Specification (ECMA-376, [1]).
-    As defined in section 9.4 of the ECMA bylaws [2], this specification
-    is available to all interested parties without restriction:
-
-        9.4 All documents when approved shall be made available to
-            all interested parties without restriction.
-
-    Furthermore, both Microsoft and Adobe have granted patent licenses
-    to this work [3,4,5].
-
-    [1] http://www.ecma-international.org/publications/standards/Ecma-376.htm
-    [2] http://www.ecma-international.org/memento/Ecmabylaws.htm
-    [3] http://www.microsoft.com/interop/osp/
-    [4] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/ECMA-376%20Edition%201%20Microsoft%20Patent%20Declaration.pdf
-    [5] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/ga-2006-191.pdf
-
-
-DOM4J library (dom4j-1.6.1.jar)
-
-    Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
-
-    Redistribution and use of this software and associated documentation
-    ("Software"), with or without modification, are permitted provided
-    that the following conditions are met:
-
-    1. Redistributions of source code must retain copyright
-       statements and notices.  Redistributions must also contain a
-       copy of this document.
-
-    2. Redistributions in binary form must reproduce the
-       above copyright notice, this list of conditions and the
-       following disclaimer in the documentation and/or other
-       materials provided with the distribution.
-
-    3. The name "DOM4J" must not be used to endorse or promote
-       products derived from this Software without prior written
-       permission of MetaStuff, Ltd.  For written permission,
-       please contact dom4j-info@metastuff.com.
-
-    4. Products derived from this Software may not be called "DOM4J"
-       nor may "DOM4J" appear in their names without prior written
-       permission of MetaStuff, Ltd. DOM4J is a registered
-       trademark of MetaStuff, Ltd.
-
-    5. Due credit should be given to the DOM4J Project - 
-       http://www.dom4j.org
- 
-    THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS
-    ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
-    NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-    FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
-    METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-    INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-    STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-    OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-JUnit test library (junit-3.8.1.jar)
-
-    Common Public License - v 1.0
-
-    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON
-    PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
-    OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
-
-    1. DEFINITIONS
-
-    "Contribution" means:
-
-    a) in the case of the initial Contributor, the initial code and
-       documentation distributed under this Agreement, and
-
-    b) in the case of each subsequent Contributor:
-
-       i)  changes to the Program, and
-
-       ii) additions to the Program;
-
-       where such changes and/or additions to the Program originate from
-       and are distributed by that particular Contributor. A Contribution
-       'originates' from a Contributor if it was added to the Program by
-       such Contributor itself or anyone acting on such Contributor's behalf.
-       Contributions do not include additions to the Program which: (i) are
-       separate modules of software distributed in conjunction with the
-       Program under their own license agreement, and (ii) are not derivative
-       works of the Program.
-
-    "Contributor" means any person or entity that distributes the Program.
-
-    "Licensed Patents " mean patent claims licensable by a Contributor which
-    are necessarily infringed by the use or sale of its Contribution alone
-    or when combined with the Program.
-
-    "Program" means the Contributions distributed in accordance with this
-    Agreement.
-
-    "Recipient" means anyone who receives the Program under this Agreement,
-    including all Contributors.
-
-    2. GRANT OF RIGHTS
-
-    a) Subject to the terms of this Agreement, each Contributor hereby grants
-       Recipient a non-exclusive, worldwide, royalty-free copyright license
-       to reproduce, prepare derivative works of, publicly display, publicly
-       perform, distribute and sublicense the Contribution of such
-       Contributor, if any, and such derivative works, in source code and
-       object code form.
-
-    b) Subject to the terms of this Agreement, each Contributor hereby grants
-       Recipient a non-exclusive, worldwide, royalty-free patent license under
-       Licensed Patents to make, use, sell, offer to sell, import and
-       otherwise transfer the Contribution of such Contributor, if any, in
-       source code and object code form. This patent license shall apply to
-       the combination of the Contribution and the Program if, at the time
-       the Contribution is added by the Contributor, such addition of the
-       Contribution causes such combination to be covered by the Licensed
-       Patents. The patent license shall not apply to any other combinations
-       which include the Contribution. No hardware per se is licensed
-       hereunder.
-
-    c) Recipient understands that although each Contributor grants the
-       licenses to its Contributions set forth herein, no assurances are
-       provided by any Contributor that the Program does not infringe the
-       patent or other intellectual property rights of any other entity.
-       Each Contributor disclaims any liability to Recipient for claims
-       brought by any other entity based on infringement of intellectual
-       property rights or otherwise. As a condition to exercising the rights
-       and licenses granted hereunder, each Recipient hereby assumes sole
-       responsibility to secure any other intellectual property rights
-       needed, if any. For example, if a third party patent license is
-       required to allow Recipient to distribute the Program, it is
-       Recipient's responsibility to acquire that license before
-       distributing the Program.
-
-    d) Each Contributor represents that to its knowledge it has sufficient
-       copyright rights in its Contribution, if any, to grant the copyright
-       license set forth in this Agreement.
-
-    3. REQUIREMENTS
-
-    A Contributor may choose to distribute the Program in object code form
-    under its own license agreement, provided that:
-
-    a) it complies with the terms and conditions of this Agreement; and
-
-    b) its license agreement:
-
-       i)   effectively disclaims on behalf of all Contributors all warranties
-            and conditions, express and implied, including warranties or
-            conditions of title and non-infringement, and implied warranties
-            or conditions of merchantability and fitness for a particular
-            purpose;
-
-       ii)  effectively excludes on behalf of all Contributors all liability
-            for damages, including direct, indirect, special, incidental and
-            consequential damages, such as lost profits;
-
-       iii) states that any provisions which differ from this Agreement are
-            offered by that Contributor alone and not by any other party; and
-
-       iv)  states that source code for the Program is available from such
-            Contributor, and informs licensees how to obtain it in a
-            reasonable manner on or through a medium customarily used for
-            software exchange.
-
-    When the Program is made available in source code form:
-
-    a) it must be made available under this Agreement; and
-
-    b) a copy of this Agreement must be included with each copy of
-       the Program.
-
-    Contributors may not remove or alter any copyright notices contained
-    within the Program.
-
-    Each Contributor must identify itself as the originator of its
-    Contribution, if any, in a manner that reasonably allows subsequent
-    Recipients to identify the originator of the Contribution.
-
-    4. COMMERCIAL DISTRIBUTION
-
-    Commercial distributors of software may accept certain responsibilities
-    with respect to end users, business partners and the like. While this
-    license is intended to facilitate the commercial use of the Program,
-    the Contributor who includes the Program in a commercial product offering
-    should do so in a manner which does not create potential liability for
-    other Contributors. Therefore, if a Contributor includes the Program
-    in a commercial product offering, such Contributor ("Commercial
-    Contributor") hereby agrees to defend and indemnify every other
-    Contributor ("Indemnified Contributor") against any losses, damages
-    and costs (collectively "Losses") arising from claims, lawsuits and
-    other legal actions brought by a third party against the Indemnified
-    Contributor to the extent caused by the acts or omissions of such
-    Commercial Contributor in connection with its distribution of the
-    Program in a commercial product offering. The obligations in this
-    section do not apply to any claims or Losses relating to any actual
-    or alleged intellectual property infringement. In order to qualify,
-    an Indemnified Contributor must: a) promptly notify the Commercial
-    Contributor in writing of such claim, and b) allow the Commercial
-    Contributor to control, and cooperate with the Commercial Contributor
-    in, the defense and any related settlement negotiations. The Indemnified
-    Contributor may participate in any such claim at its own expense.
-
-    For example, a Contributor might include the Program in a commercial
-    product offering, Product X. That Contributor is then a Commercial
-    Contributor. If that Commercial Contributor then makes performance
-    claims, or offers warranties related to Product X, those performance
-    claims and warranties are such Commercial Contributor's responsibility
-    alone. Under this section, the Commercial Contributor would have to
-    defend claims against the other Contributors related to those
-    performance claims and warranties, and if a court requires any other
-    Contributor to pay any damages as a result, the Commercial Contributor
-    must pay those damages.
-
-    5. NO WARRANTY
-
-    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED
-    ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
-    EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR
-    CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR
-    A PARTICULAR PURPOSE. Each Recipient is solely responsible for
-    determining the appropriateness of using and distributing the Program
-    and assumes all risks associated with its exercise of rights under this
-    Agreement, including but not limited to the risks and costs of program
-    errors, compliance with applicable laws, damage to or loss of data,
-    programs or equipment, and unavailability or interruption of operations.
-
-    6. DISCLAIMER OF LIABILITY
-
-    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
-    ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
-    INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
-    WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
-    LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
-    DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
-    HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-    7. GENERAL
-
-    If any provision of this Agreement is invalid or unenforceable under
-    applicable law, it shall not affect the validity or enforceability of
-    the remainder of the terms of this Agreement, and without further
-    action by the parties hereto, such provision shall be reformed to the
-    minimum extent necessary to make such provision valid and enforceable.
-
-    If Recipient institutes patent litigation against a Contributor with
-    respect to a patent applicable to software (including a cross-claim or
-    counterclaim in a lawsuit), then any patent licenses granted by that
-    Contributor to such Recipient under this Agreement shall terminate as of
-    the date such litigation is filed. In addition, if Recipient institutes
-    patent litigation against any entity (including a cross-claim or
-    counterclaim in a lawsuit) alleging that the Program itself (excluding
-    combinations of the Program with other software or hardware) infringes
-    such Recipient's patent(s), then such Recipient's rights granted under
-    Section 2(b) shall terminate as of the date such litigation is filed.
-
-    All Recipient's rights under this Agreement shall terminate if it fails
-    to comply with any of the material terms or conditions of this Agreement
-    and does not cure such failure in a reasonable period of time after
-    becoming aware of such noncompliance. If all Recipient's rights under
-    this Agreement terminate, Recipient agrees to cease use and distribution
-    of the Program as soon as reasonably practicable. However, Recipient's
-    obligations under this Agreement and any licenses granted by Recipient
-    relating to the Program shall continue and survive.
-
-    Everyone is permitted to copy and distribute copies of this Agreement,
-    but in order to avoid inconsistency the Agreement is copyrighted and may
-    only be modified in the following manner. The Agreement Steward reserves
-    the right to publish new versions (including revisions) of this Agreement
-    from time to time. No one other than the Agreement Steward has the right
-    to modify this Agreement. IBM is the initial Agreement Steward. IBM may
-    assign the responsibility to serve as the Agreement Steward to a suitable
-    separate entity. Each new version of the Agreement will be given a
-    distinguishing version number. The Program (including Contributions) may
-    always be distributed subject to the version of the Agreement under which
-    it was received. In addition, after a new version of the Agreement is
-    published, Contributor may elect to distribute the Program (including
-    its Contributions) under the new version. Except as expressly stated in
-    Sections 2(a) and 2(b) above, Recipient receives no rights or licenses
-    to the intellectual property of any Contributor under this Agreement,
-    whether expressly, by implication, estoppel or otherwise. All rights in
-    the Program not expressly granted under this Agreement are reserved.
-
-    This Agreement is governed by the laws of the State of New York and the
-    intellectual property laws of the United States of America. No party to
-    this Agreement will bring a legal action under this Agreement more than
-    one year after the cause of action arose. Each party waives its rights
-    to a jury trial in any resulting litigation.
diff --git a/solr/licenses/jackcess-encrypt-LICENSE-ASL.txt b/solr/licenses/jackcess-encrypt-LICENSE-ASL.txt
index 3f40d40..d645695 100644
--- a/solr/licenses/jackcess-encrypt-LICENSE-ASL.txt
+++ b/solr/licenses/jackcess-encrypt-LICENSE-ASL.txt
@@ -200,308 +200,3 @@
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-
-
-APACHE POI SUBCOMPONENTS:
-
-Apache POI includes subcomponents with separate copyright notices and
-license terms. Your use of these subcomponents is subject to the terms
-and conditions of the following licenses:
-
-
-Office Open XML schemas (ooxml-schemas-1.0.jar)
-
-    The Office Open XML schema definitions used by Apache POI are
-    a part of the Office Open XML ECMA Specification (ECMA-376, [1]).
-    As defined in section 9.4 of the ECMA bylaws [2], this specification
-    is available to all interested parties without restriction:
-
-        9.4 All documents when approved shall be made available to
-            all interested parties without restriction.
-
-    Furthermore, both Microsoft and Adobe have granted patent licenses
-    to this work [3,4,5].
-
-    [1] http://www.ecma-international.org/publications/standards/Ecma-376.htm
-    [2] http://www.ecma-international.org/memento/Ecmabylaws.htm
-    [3] http://www.microsoft.com/interop/osp/
-    [4] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/ECMA-376%20Edition%201%20Microsoft%20Patent%20Declaration.pdf
-    [5] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/ga-2006-191.pdf
-
-
-DOM4J library (dom4j-1.6.1.jar)
-
-    Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
-
-    Redistribution and use of this software and associated documentation
-    ("Software"), with or without modification, are permitted provided
-    that the following conditions are met:
-
-    1. Redistributions of source code must retain copyright
-       statements and notices.  Redistributions must also contain a
-       copy of this document.
-
-    2. Redistributions in binary form must reproduce the
-       above copyright notice, this list of conditions and the
-       following disclaimer in the documentation and/or other
-       materials provided with the distribution.
-
-    3. The name "DOM4J" must not be used to endorse or promote
-       products derived from this Software without prior written
-       permission of MetaStuff, Ltd.  For written permission,
-       please contact dom4j-info@metastuff.com.
-
-    4. Products derived from this Software may not be called "DOM4J"
-       nor may "DOM4J" appear in their names without prior written
-       permission of MetaStuff, Ltd. DOM4J is a registered
-       trademark of MetaStuff, Ltd.
-
-    5. Due credit should be given to the DOM4J Project - 
-       http://www.dom4j.org
- 
-    THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS
-    ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
-    NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-    FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
-    METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-    INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-    STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-    OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-JUnit test library (junit-3.8.1.jar)
-
-    Common Public License - v 1.0
-
-    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON
-    PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
-    OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
-
-    1. DEFINITIONS
-
-    "Contribution" means:
-
-    a) in the case of the initial Contributor, the initial code and
-       documentation distributed under this Agreement, and
-
-    b) in the case of each subsequent Contributor:
-
-       i)  changes to the Program, and
-
-       ii) additions to the Program;
-
-       where such changes and/or additions to the Program originate from
-       and are distributed by that particular Contributor. A Contribution
-       'originates' from a Contributor if it was added to the Program by
-       such Contributor itself or anyone acting on such Contributor's behalf.
-       Contributions do not include additions to the Program which: (i) are
-       separate modules of software distributed in conjunction with the
-       Program under their own license agreement, and (ii) are not derivative
-       works of the Program.
-
-    "Contributor" means any person or entity that distributes the Program.
-
-    "Licensed Patents " mean patent claims licensable by a Contributor which
-    are necessarily infringed by the use or sale of its Contribution alone
-    or when combined with the Program.
-
-    "Program" means the Contributions distributed in accordance with this
-    Agreement.
-
-    "Recipient" means anyone who receives the Program under this Agreement,
-    including all Contributors.
-
-    2. GRANT OF RIGHTS
-
-    a) Subject to the terms of this Agreement, each Contributor hereby grants
-       Recipient a non-exclusive, worldwide, royalty-free copyright license
-       to reproduce, prepare derivative works of, publicly display, publicly
-       perform, distribute and sublicense the Contribution of such
-       Contributor, if any, and such derivative works, in source code and
-       object code form.
-
-    b) Subject to the terms of this Agreement, each Contributor hereby grants
-       Recipient a non-exclusive, worldwide, royalty-free patent license under
-       Licensed Patents to make, use, sell, offer to sell, import and
-       otherwise transfer the Contribution of such Contributor, if any, in
-       source code and object code form. This patent license shall apply to
-       the combination of the Contribution and the Program if, at the time
-       the Contribution is added by the Contributor, such addition of the
-       Contribution causes such combination to be covered by the Licensed
-       Patents. The patent license shall not apply to any other combinations
-       which include the Contribution. No hardware per se is licensed
-       hereunder.
-
-    c) Recipient understands that although each Contributor grants the
-       licenses to its Contributions set forth herein, no assurances are
-       provided by any Contributor that the Program does not infringe the
-       patent or other intellectual property rights of any other entity.
-       Each Contributor disclaims any liability to Recipient for claims
-       brought by any other entity based on infringement of intellectual
-       property rights or otherwise. As a condition to exercising the rights
-       and licenses granted hereunder, each Recipient hereby assumes sole
-       responsibility to secure any other intellectual property rights
-       needed, if any. For example, if a third party patent license is
-       required to allow Recipient to distribute the Program, it is
-       Recipient's responsibility to acquire that license before
-       distributing the Program.
-
-    d) Each Contributor represents that to its knowledge it has sufficient
-       copyright rights in its Contribution, if any, to grant the copyright
-       license set forth in this Agreement.
-
-    3. REQUIREMENTS
-
-    A Contributor may choose to distribute the Program in object code form
-    under its own license agreement, provided that:
-
-    a) it complies with the terms and conditions of this Agreement; and
-
-    b) its license agreement:
-
-       i)   effectively disclaims on behalf of all Contributors all warranties
-            and conditions, express and implied, including warranties or
-            conditions of title and non-infringement, and implied warranties
-            or conditions of merchantability and fitness for a particular
-            purpose;
-
-       ii)  effectively excludes on behalf of all Contributors all liability
-            for damages, including direct, indirect, special, incidental and
-            consequential damages, such as lost profits;
-
-       iii) states that any provisions which differ from this Agreement are
-            offered by that Contributor alone and not by any other party; and
-
-       iv)  states that source code for the Program is available from such
-            Contributor, and informs licensees how to obtain it in a
-            reasonable manner on or through a medium customarily used for
-            software exchange.
-
-    When the Program is made available in source code form:
-
-    a) it must be made available under this Agreement; and
-
-    b) a copy of this Agreement must be included with each copy of
-       the Program.
-
-    Contributors may not remove or alter any copyright notices contained
-    within the Program.
-
-    Each Contributor must identify itself as the originator of its
-    Contribution, if any, in a manner that reasonably allows subsequent
-    Recipients to identify the originator of the Contribution.
-
-    4. COMMERCIAL DISTRIBUTION
-
-    Commercial distributors of software may accept certain responsibilities
-    with respect to end users, business partners and the like. While this
-    license is intended to facilitate the commercial use of the Program,
-    the Contributor who includes the Program in a commercial product offering
-    should do so in a manner which does not create potential liability for
-    other Contributors. Therefore, if a Contributor includes the Program
-    in a commercial product offering, such Contributor ("Commercial
-    Contributor") hereby agrees to defend and indemnify every other
-    Contributor ("Indemnified Contributor") against any losses, damages
-    and costs (collectively "Losses") arising from claims, lawsuits and
-    other legal actions brought by a third party against the Indemnified
-    Contributor to the extent caused by the acts or omissions of such
-    Commercial Contributor in connection with its distribution of the
-    Program in a commercial product offering. The obligations in this
-    section do not apply to any claims or Losses relating to any actual
-    or alleged intellectual property infringement. In order to qualify,
-    an Indemnified Contributor must: a) promptly notify the Commercial
-    Contributor in writing of such claim, and b) allow the Commercial
-    Contributor to control, and cooperate with the Commercial Contributor
-    in, the defense and any related settlement negotiations. The Indemnified
-    Contributor may participate in any such claim at its own expense.
-
-    For example, a Contributor might include the Program in a commercial
-    product offering, Product X. That Contributor is then a Commercial
-    Contributor. If that Commercial Contributor then makes performance
-    claims, or offers warranties related to Product X, those performance
-    claims and warranties are such Commercial Contributor's responsibility
-    alone. Under this section, the Commercial Contributor would have to
-    defend claims against the other Contributors related to those
-    performance claims and warranties, and if a court requires any other
-    Contributor to pay any damages as a result, the Commercial Contributor
-    must pay those damages.
-
-    5. NO WARRANTY
-
-    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED
-    ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
-    EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR
-    CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR
-    A PARTICULAR PURPOSE. Each Recipient is solely responsible for
-    determining the appropriateness of using and distributing the Program
-    and assumes all risks associated with its exercise of rights under this
-    Agreement, including but not limited to the risks and costs of program
-    errors, compliance with applicable laws, damage to or loss of data,
-    programs or equipment, and unavailability or interruption of operations.
-
-    6. DISCLAIMER OF LIABILITY
-
-    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
-    ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
-    INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
-    WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
-    LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
-    DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
-    HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-    7. GENERAL
-
-    If any provision of this Agreement is invalid or unenforceable under
-    applicable law, it shall not affect the validity or enforceability of
-    the remainder of the terms of this Agreement, and without further
-    action by the parties hereto, such provision shall be reformed to the
-    minimum extent necessary to make such provision valid and enforceable.
-
-    If Recipient institutes patent litigation against a Contributor with
-    respect to a patent applicable to software (including a cross-claim or
-    counterclaim in a lawsuit), then any patent licenses granted by that
-    Contributor to such Recipient under this Agreement shall terminate as of
-    the date such litigation is filed. In addition, if Recipient institutes
-    patent litigation against any entity (including a cross-claim or
-    counterclaim in a lawsuit) alleging that the Program itself (excluding
-    combinations of the Program with other software or hardware) infringes
-    such Recipient's patent(s), then such Recipient's rights granted under
-    Section 2(b) shall terminate as of the date such litigation is filed.
-
-    All Recipient's rights under this Agreement shall terminate if it fails
-    to comply with any of the material terms or conditions of this Agreement
-    and does not cure such failure in a reasonable period of time after
-    becoming aware of such noncompliance. If all Recipient's rights under
-    this Agreement terminate, Recipient agrees to cease use and distribution
-    of the Program as soon as reasonably practicable. However, Recipient's
-    obligations under this Agreement and any licenses granted by Recipient
-    relating to the Program shall continue and survive.
-
-    Everyone is permitted to copy and distribute copies of this Agreement,
-    but in order to avoid inconsistency the Agreement is copyrighted and may
-    only be modified in the following manner. The Agreement Steward reserves
-    the right to publish new versions (including revisions) of this Agreement
-    from time to time. No one other than the Agreement Steward has the right
-    to modify this Agreement. IBM is the initial Agreement Steward. IBM may
-    assign the responsibility to serve as the Agreement Steward to a suitable
-    separate entity. Each new version of the Agreement will be given a
-    distinguishing version number. The Program (including Contributions) may
-    always be distributed subject to the version of the Agreement under which
-    it was received. In addition, after a new version of the Agreement is
-    published, Contributor may elect to distribute the Program (including
-    its Contributions) under the new version. Except as expressly stated in
-    Sections 2(a) and 2(b) above, Recipient receives no rights or licenses
-    to the intellectual property of any Contributor under this Agreement,
-    whether expressly, by implication, estoppel or otherwise. All rights in
-    the Program not expressly granted under this Agreement are reserved.
-
-    This Agreement is governed by the laws of the State of New York and the
-    intellectual property laws of the United States of America. No party to
-    this Agreement will bring a legal action under this Agreement more than
-    one year after the cause of action arose. Each party waives its rights
-    to a jury trial in any resulting litigation.
diff --git a/solr/licenses/poi-LICENSE-ASL.txt b/solr/licenses/poi-LICENSE-ASL.txt
index 3f40d40..09d38da 100644
--- a/solr/licenses/poi-LICENSE-ASL.txt
+++ b/solr/licenses/poi-LICENSE-ASL.txt
@@ -209,7 +209,7 @@ license terms. Your use of these subcomponents is subject to the terms
 and conditions of the following licenses:
 
 
-Office Open XML schemas (ooxml-schemas-1.0.jar)
+Office Open XML schemas (ooxml-schemas-1.*.jar)
 
     The Office Open XML schema definitions used by Apache POI are
     a part of the Office Open XML ECMA Specification (ECMA-376, [1]).
@@ -224,93 +224,65 @@ Office Open XML schemas (ooxml-schemas-1.0.jar)
 
     [1] http://www.ecma-international.org/publications/standards/Ecma-376.htm
     [2] http://www.ecma-international.org/memento/Ecmabylaws.htm
-    [3] http://www.microsoft.com/interop/osp/
-    [4] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/ECMA-376%20Edition%201%20Microsoft%20Patent%20Declaration.pdf
-    [5] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/ga-2006-191.pdf
+    [3] http://www.microsoft.com/openspecifications/en/us/programs/osp/default.aspx
+    [4] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/
+        Patent%20statements%20ok/ECMA-376%20Edition%202%20Microsoft%20Patent%20Declaration.pdf
+    [5] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/
+        Patent%20statements%20ok/ECMA-376%20Adobe%20Patent%20Declaration.pdf
 
 
-DOM4J library (dom4j-1.6.1.jar)
+Bouncy Castle library (bcprov-*.jar, bcpg-*.jar, bcpkix-*.jar)
 
-    Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+    Permission is hereby granted, free of charge, to any person obtaining a copy
+    of this software and associated documentation files (the "Software"), to
+    deal in the Software without restriction, including without limitation the
+    rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+    sell copies of the Software, and to permit persons to whom the Software is
+    furnished to do so, subject to the following conditions:
 
-    Redistribution and use of this software and associated documentation
-    ("Software"), with or without modification, are permitted provided
-    that the following conditions are met:
+    The above copyright notice and this permission notice shall be included in
+    all copies or substantial portions of the Software.
 
-    1. Redistributions of source code must retain copyright
-       statements and notices.  Redistributions must also contain a
-       copy of this document.
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+    IN THE SOFTWARE.
 
-    2. Redistributions in binary form must reproduce the
-       above copyright notice, this list of conditions and the
-       following disclaimer in the documentation and/or other
-       materials provided with the distribution.
+JUnit test library (junit-4.*.jar) & JaCoCo (*jacoco*)
 
-    3. The name "DOM4J" must not be used to endorse or promote
-       products derived from this Software without prior written
-       permission of MetaStuff, Ltd.  For written permission,
-       please contact dom4j-info@metastuff.com.
+    Eclipse Public License - v 1.0
 
-    4. Products derived from this Software may not be called "DOM4J"
-       nor may "DOM4J" appear in their names without prior written
-       permission of MetaStuff, Ltd. DOM4J is a registered
-       trademark of MetaStuff, Ltd.
-
-    5. Due credit should be given to the DOM4J Project - 
-       http://www.dom4j.org
- 
-    THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS
-    ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
-    NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-    FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
-    METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-    INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-    STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-    OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-JUnit test library (junit-3.8.1.jar)
-
-    Common Public License - v 1.0
-
-    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON
-    PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
-    OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
+    LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
+    CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
 
     1. DEFINITIONS
 
     "Contribution" means:
 
-    a) in the case of the initial Contributor, the initial code and
-       documentation distributed under this Agreement, and
-
+    a) in the case of the initial Contributor, the initial code and documentation
+       distributed under this Agreement, and
     b) in the case of each subsequent Contributor:
-
-       i)  changes to the Program, and
-
-       ii) additions to the Program;
-
-       where such changes and/or additions to the Program originate from
-       and are distributed by that particular Contributor. A Contribution
-       'originates' from a Contributor if it was added to the Program by
-       such Contributor itself or anyone acting on such Contributor's behalf.
-       Contributions do not include additions to the Program which: (i) are
-       separate modules of software distributed in conjunction with the
-       Program under their own license agreement, and (ii) are not derivative
-       works of the Program.
+    i) changes to the Program, and
+    ii) additions to the Program;
+    where such changes and/or additions to the Program originate from and are
+    distributed by that particular Contributor. A Contribution 'originates' from
+    a Contributor if it was added to the Program by such Contributor itself or
+    anyone acting on such Contributor's behalf. Contributions do not include
+    additions to the Program which: (i) are separate modules of software
+    distributed in conjunction with the Program under their own license agreement,
+    and (ii) are not derivative works of the Program.
 
     "Contributor" means any person or entity that distributes the Program.
 
-    "Licensed Patents " mean patent claims licensable by a Contributor which
-    are necessarily infringed by the use or sale of its Contribution alone
-    or when combined with the Program.
+    "Licensed Patents" mean patent claims licensable by a Contributor which are
+    necessarily infringed by the use or sale of its Contribution alone or when
+    combined with the Program.
 
-    "Program" means the Contributions distributed in accordance with this
-    Agreement.
+    "Program" means the Contributions distributed in accordance with this Agreement.
 
     "Recipient" means anyone who receives the Program under this Agreement,
     including all Contributors.
@@ -318,190 +290,248 @@ JUnit test library (junit-3.8.1.jar)
     2. GRANT OF RIGHTS
 
     a) Subject to the terms of this Agreement, each Contributor hereby grants
-       Recipient a non-exclusive, worldwide, royalty-free copyright license
-       to reproduce, prepare derivative works of, publicly display, publicly
-       perform, distribute and sublicense the Contribution of such
-       Contributor, if any, and such derivative works, in source code and
-       object code form.
-
+       Recipient a non-exclusive, worldwide, royalty-free copyright license to
+       reproduce, prepare derivative works of, publicly display, publicly
+       perform, distribute and sublicense the Contribution of such Contributor,
+       if any, and such derivative works, in source code and object code form.
     b) Subject to the terms of this Agreement, each Contributor hereby grants
        Recipient a non-exclusive, worldwide, royalty-free patent license under
-       Licensed Patents to make, use, sell, offer to sell, import and
-       otherwise transfer the Contribution of such Contributor, if any, in
-       source code and object code form. This patent license shall apply to
-       the combination of the Contribution and the Program if, at the time
-       the Contribution is added by the Contributor, such addition of the
-       Contribution causes such combination to be covered by the Licensed
-       Patents. The patent license shall not apply to any other combinations
-       which include the Contribution. No hardware per se is licensed
-       hereunder.
-
-    c) Recipient understands that although each Contributor grants the
-       licenses to its Contributions set forth herein, no assurances are
-       provided by any Contributor that the Program does not infringe the
-       patent or other intellectual property rights of any other entity.
-       Each Contributor disclaims any liability to Recipient for claims
-       brought by any other entity based on infringement of intellectual
-       property rights or otherwise. As a condition to exercising the rights
-       and licenses granted hereunder, each Recipient hereby assumes sole
-       responsibility to secure any other intellectual property rights
-       needed, if any. For example, if a third party patent license is
-       required to allow Recipient to distribute the Program, it is
-       Recipient's responsibility to acquire that license before
-       distributing the Program.
-
+       Licensed Patents to make, use, sell, offer to sell, import and otherwise
+       transfer the Contribution of such Contributor, if any, in source code
+       and object code form. This patent license shall apply to the combination
+       of the Contribution and the Program if, at the time the Contribution is
+       added by the Contributor, such addition of the Contribution causes such
+       combination to be covered by the Licensed Patents. The patent license
+       shall not apply to any other combinations which include the Contribution.
+       No hardware per se is licensed hereunder.
+    c) Recipient understands that although each Contributor grants the licenses
+       to its Contributions set forth herein, no assurances are provided by any
+       Contributor that the Program does not infringe the patent or other
+       intellectual property rights of any other entity. Each Contributor
+       disclaims any liability to Recipient for claims brought by any other
+       entity based on infringement of intellectual property rights or
+       otherwise. As a condition to exercising the rights and licenses granted
+       hereunder, each Recipient hereby assumes sole responsibility to secure
+       any other intellectual property rights needed, if any. For example, if
+       a third party patent license is required to allow Recipient to distribute
+       the Program, it is Recipient's responsibility to acquire that license
+       before distributing the Program.
     d) Each Contributor represents that to its knowledge it has sufficient
        copyright rights in its Contribution, if any, to grant the copyright
        license set forth in this Agreement.
 
     3. REQUIREMENTS
 
-    A Contributor may choose to distribute the Program in object code form
-    under its own license agreement, provided that:
+    A Contributor may choose to distribute the Program in object code form under
+    its own license agreement, provided that:
 
     a) it complies with the terms and conditions of this Agreement; and
-
     b) its license agreement:
-
-       i)   effectively disclaims on behalf of all Contributors all warranties
-            and conditions, express and implied, including warranties or
-            conditions of title and non-infringement, and implied warranties
-            or conditions of merchantability and fitness for a particular
-            purpose;
-
-       ii)  effectively excludes on behalf of all Contributors all liability
-            for damages, including direct, indirect, special, incidental and
-            consequential damages, such as lost profits;
-
-       iii) states that any provisions which differ from this Agreement are
-            offered by that Contributor alone and not by any other party; and
-
-       iv)  states that source code for the Program is available from such
-            Contributor, and informs licensees how to obtain it in a
-            reasonable manner on or through a medium customarily used for
-            software exchange.
+    i) effectively disclaims on behalf of all Contributors all warranties and
+       conditions, express and implied, including warranties or conditions of
+       title and non-infringement, and implied warranties or conditions of
+       merchantability and fitness for a particular purpose;
+    ii) effectively excludes on behalf of all Contributors all liability for
+       damages, including direct, indirect, special, incidental and
+       consequential damages, such as lost profits;
+    iii) states that any provisions which differ from this Agreement are
+       offered by that Contributor alone and not by any other party; and
+    iv) states that source code for the Program is available from such
+       Contributor, and informs licensees how to obtain it in a reasonable
+       manner on or through a medium customarily used for software exchange.
 
     When the Program is made available in source code form:
 
     a) it must be made available under this Agreement; and
+    b) a copy of this Agreement must be included with each copy of the Program.
+       Contributors may not remove or alter any copyright notices contained
+       within the Program.
 
-    b) a copy of this Agreement must be included with each copy of
-       the Program.
-
-    Contributors may not remove or alter any copyright notices contained
-    within the Program.
-
-    Each Contributor must identify itself as the originator of its
-    Contribution, if any, in a manner that reasonably allows subsequent
-    Recipients to identify the originator of the Contribution.
+    Each Contributor must identify itself as the originator of its Contribution,
+    if any, in a manner that reasonably allows subsequent Recipients to identify
+    the originator of the Contribution.
 
     4. COMMERCIAL DISTRIBUTION
 
-    Commercial distributors of software may accept certain responsibilities
-    with respect to end users, business partners and the like. While this
-    license is intended to facilitate the commercial use of the Program,
-    the Contributor who includes the Program in a commercial product offering
-    should do so in a manner which does not create potential liability for
-    other Contributors. Therefore, if a Contributor includes the Program
-    in a commercial product offering, such Contributor ("Commercial
-    Contributor") hereby agrees to defend and indemnify every other
-    Contributor ("Indemnified Contributor") against any losses, damages
-    and costs (collectively "Losses") arising from claims, lawsuits and
-    other legal actions brought by a third party against the Indemnified
-    Contributor to the extent caused by the acts or omissions of such
-    Commercial Contributor in connection with its distribution of the
-    Program in a commercial product offering. The obligations in this
-    section do not apply to any claims or Losses relating to any actual
-    or alleged intellectual property infringement. In order to qualify,
-    an Indemnified Contributor must: a) promptly notify the Commercial
-    Contributor in writing of such claim, and b) allow the Commercial
-    Contributor to control, and cooperate with the Commercial Contributor
-    in, the defense and any related settlement negotiations. The Indemnified
-    Contributor may participate in any such claim at its own expense.
-
-    For example, a Contributor might include the Program in a commercial
-    product offering, Product X. That Contributor is then a Commercial
-    Contributor. If that Commercial Contributor then makes performance
-    claims, or offers warranties related to Product X, those performance
-    claims and warranties are such Commercial Contributor's responsibility
-    alone. Under this section, the Commercial Contributor would have to
-    defend claims against the other Contributors related to those
-    performance claims and warranties, and if a court requires any other
-    Contributor to pay any damages as a result, the Commercial Contributor
-    must pay those damages.
+    Commercial distributors of software may accept certain responsibilities with
+    respect to end users, business partners and the like. While this license is
+    intended to facilitate the commercial use of the Program, the Contributor
+    who includes the Program in a commercial product offering should do so in a
+    manner which does not create potential liability for other Contributors.
+    Therefore, if a Contributor includes the Program in a commercial product
+    offering, such Contributor ("Commercial Contributor") hereby agrees to
+    defend and indemnify every other Contributor ("Indemnified Contributor")
+    against any losses, damages and costs (collectively "Losses") arising from
+    claims, lawsuits and other legal actions brought by a third party against
+    the Indemnified Contributor to the extent caused by the acts or omissions
+    of such Commercial Contributor in connection with its distribution of the
+    Program in a commercial product offering. The obligations in this section
+    do not apply to any claims or Losses relating to any actual or alleged
+    intellectual property infringement. In order to qualify, an Indemnified
+    Contributor must: a) promptly notify the Commercial Contributor in writing
+    of such claim, and b) allow the Commercial Contributor to control, and
+    cooperate with the Commercial Contributor in, the defense and any related
+    settlement negotiations. The Indemnified Contributor may participate in any
+    such claim at its own expense.
+
+    For example, a Contributor might include the Program in a commercial product
+    offering, Product X. That Contributor is then a Commercial Contributor. If
+    that Commercial Contributor then makes performance claims, or offers
+    warranties related to Product X, those performance claims and warranties are
+    such Commercial Contributor's responsibility alone. Under this section, the
+    Commercial Contributor would have to defend claims against the other
+    Contributors related to those performance claims and warranties, and if a
+    court requires any other Contributor to pay any damages as a result, the
+    Commercial Contributor must pay those damages.
 
     5. NO WARRANTY
 
-    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED
-    ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
+    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON
+    AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
     EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR
-    CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR
-    A PARTICULAR PURPOSE. Each Recipient is solely responsible for
-    determining the appropriateness of using and distributing the Program
-    and assumes all risks associated with its exercise of rights under this
-    Agreement, including but not limited to the risks and costs of program
-    errors, compliance with applicable laws, damage to or loss of data,
-    programs or equipment, and unavailability or interruption of operations.
+    CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A
+    PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the
+    appropriateness of using and distributing the Program and assumes all risks
+    associated with its exercise of rights under this Agreement , including but
+    not limited to the risks and costs of program errors, compliance with
+    applicable laws, damage to or loss of data, programs or equipment, and
+    unavailability or interruption of operations.
 
     6. DISCLAIMER OF LIABILITY
 
-    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
-    ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
-    INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
-    WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
-    LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
-    DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
-    HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
+    CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
+    LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+    ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
+    EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY
+    OF SUCH DAMAGES.
 
     7. GENERAL
 
     If any provision of this Agreement is invalid or unenforceable under
-    applicable law, it shall not affect the validity or enforceability of
-    the remainder of the terms of this Agreement, and without further
-    action by the parties hereto, such provision shall be reformed to the
-    minimum extent necessary to make such provision valid and enforceable.
-
-    If Recipient institutes patent litigation against a Contributor with
-    respect to a patent applicable to software (including a cross-claim or
-    counterclaim in a lawsuit), then any patent licenses granted by that
-    Contributor to such Recipient under this Agreement shall terminate as of
-    the date such litigation is filed. In addition, if Recipient institutes
-    patent litigation against any entity (including a cross-claim or
-    counterclaim in a lawsuit) alleging that the Program itself (excluding
-    combinations of the Program with other software or hardware) infringes
-    such Recipient's patent(s), then such Recipient's rights granted under
-    Section 2(b) shall terminate as of the date such litigation is filed.
-
-    All Recipient's rights under this Agreement shall terminate if it fails
-    to comply with any of the material terms or conditions of this Agreement
-    and does not cure such failure in a reasonable period of time after
-    becoming aware of such noncompliance. If all Recipient's rights under
-    this Agreement terminate, Recipient agrees to cease use and distribution
-    of the Program as soon as reasonably practicable. However, Recipient's
-    obligations under this Agreement and any licenses granted by Recipient
-    relating to the Program shall continue and survive.
-
-    Everyone is permitted to copy and distribute copies of this Agreement,
-    but in order to avoid inconsistency the Agreement is copyrighted and may
-    only be modified in the following manner. The Agreement Steward reserves
-    the right to publish new versions (including revisions) of this Agreement
-    from time to time. No one other than the Agreement Steward has the right
-    to modify this Agreement. IBM is the initial Agreement Steward. IBM may
-    assign the responsibility to serve as the Agreement Steward to a suitable
-    separate entity. Each new version of the Agreement will be given a
-    distinguishing version number. The Program (including Contributions) may
-    always be distributed subject to the version of the Agreement under which
-    it was received. In addition, after a new version of the Agreement is
-    published, Contributor may elect to distribute the Program (including
-    its Contributions) under the new version. Except as expressly stated in
-    Sections 2(a) and 2(b) above, Recipient receives no rights or licenses
-    to the intellectual property of any Contributor under this Agreement,
-    whether expressly, by implication, estoppel or otherwise. All rights in
-    the Program not expressly granted under this Agreement are reserved.
+    applicable law, it shall not affect the validity or enforceability of the
+    remainder of the terms of this Agreement, and without further action by the
+    parties hereto, such provision shall be reformed to the minimum extent
+    necessary to make such provision valid and enforceable.
+
+    If Recipient institutes patent litigation against any entity (including a
+    cross-claim or counterclaim in a lawsuit) alleging that the Program itself
+    (excluding combinations of the Program with other software or hardware)
+    infringes such Recipient's patent(s), then such Recipient's rights granted
+    under Section 2(b) shall terminate as of the date such litigation is filed.
+
+    All Recipient's rights under this Agreement shall terminate if it fails to
+    comply with any of the material terms or conditions of this Agreement and
+    does not cure such failure in a reasonable period of time after becoming
+    aware of such noncompliance. If all Recipient's rights under this Agreement
+    terminate, Recipient agrees to cease use and distribution of the Program as
+    soon as reasonably practicable. However, Recipient's obligations under this
+    Agreement and any licenses granted by Recipient relating to the Program
+    shall continue and survive.
+
+    Everyone is permitted to copy and distribute copies of this Agreement, but
+    in order to avoid inconsistency the Agreement is copyrighted and may only
+    be modified in the following manner. The Agreement Steward reserves the
+    right to publish new versions (including revisions) of this Agreement from
+    time to time. No one other than the Agreement Steward has the right to
+    modify this Agreement. The Eclipse Foundation is the initial Agreement
+    Steward. The Eclipse Foundation may assign the responsibility to serve as
+    the Agreement Steward to a suitable separate entity. Each new version of
+    the Agreement will be given a distinguishing version number. The Program
+    (including Contributions) may always be distributed subject to the version
+    of the Agreement under which it was received. In addition, after a new
+    version of the Agreement is published, Contributor may elect to distribute
+    the Program (including its Contributions) under the new version. Except as
+    expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+    rights or licenses to the intellectual property of any Contributor under
+    this Agreement, whether expressly, by implication, estoppel or otherwise.
+    All rights in the Program not expressly granted under this Agreement are
+    reserved.
 
     This Agreement is governed by the laws of the State of New York and the
-    intellectual property laws of the United States of America. No party to
-    this Agreement will bring a legal action under this Agreement more than
-    one year after the cause of action arose. Each party waives its rights
-    to a jury trial in any resulting litigation.
+    intellectual property laws of the United States of America. No party to this
+    Agreement will bring a legal action under this Agreement more than one year
+    after the cause of action arose. Each party waives its rights to a jury
+    trial in any resulting litigation.
+
+Hamcrest library (hamcrest-*.jar) & CuvesAPI / Curve API
+
+    BSD License
+
+    Copyright (c) 2000-2006, www.hamcrest.org
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+
+    Redistributions of source code must retain the above copyright notice, this
+    list of conditions and the following disclaimer. Redistributions in binary
+    form must reproduce the above copyright notice, this list of conditions and
+    the following disclaimer in the documentation and/or other materials
+    provided with the distribution.
+
+    Neither the name of Hamcrest nor the names of its contributors may be used
+    to endorse or promote products derived from this software without specific
+    prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+
+SLF4J library (slf4j-api-*.jar)
+
+    Copyright (c) 2004-2013 QOS.ch
+    All rights reserved.
+
+    Permission is hereby granted, free  of charge, to any person obtaining
+    a  copy  of this  software  and  associated  documentation files  (the
+    "Software"), to  deal in  the Software without  restriction, including
+    without limitation  the rights to  use, copy, modify,  merge, publish,
+    distribute,  sublicense, and/or sell  copies of  the Software,  and to
+    permit persons to whom the Software  is furnished to do so, subject to
+    the following conditions:
+
+    The  above  copyright  notice  and  this permission  notice  shall  be
+    included in all copies or substantial portions of the Software.
+
+    THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+    EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+    MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+    NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+    LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+    OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+    WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+inbot-utils (https://github.com/Inbot/inbot-utils)
+
+	The MIT License (MIT)
+
+	Copyright (c) 2015 Inbot
+
+	Permission is hereby granted, free of charge, to any person obtaining a copy
+	of this software and associated documentation files (the "Software"), to deal
+	in the Software without restriction, including without limitation the rights
+	to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+	copies of the Software, and to permit persons to whom the Software is
+	furnished to do so, subject to the following conditions:
+
+	The above copyright notice and this permission notice shall be included in all
+	copies or substantial portions of the Software.
+
+	THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+	IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+	FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+	AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+	LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+	OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+	SOFTWARE.
diff --git a/solr/licenses/poi-NOTICE.txt b/solr/licenses/poi-NOTICE.txt
index 6d9855f..2518506 100644
--- a/solr/licenses/poi-NOTICE.txt
+++ b/solr/licenses/poi-NOTICE.txt
@@ -1,21 +1,24 @@
 Apache POI
-Copyright 2009 The Apache Software Foundation
+Copyright 2003-2019 The Apache Software Foundation
 
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
-This product contains the DOM4J library (http://www.dom4j.org).
-Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+This product includes software developed at
+The Apache Software Foundation (https://www.apache.org/).
 
 This product contains parts that were originally based on software from BEA.
-Copyright (c) 2000-2003, BEA Systems, <http://www.bea.com/>.
+Copyright (c) 2000-2003, BEA Systems, <http://www.bea.com/> (dead link),
+which was acquired by Oracle Corporation in 2008.
+<http://www.oracle.com/us/corporate/Acquisitions/bea/index.html>
+<https://en.wikipedia.org/wiki/BEA_Systems>
 
 This product contains W3C XML Schema documents. Copyright 2001-2003 (c)
 World Wide Web Consortium (Massachusetts Institute of Technology, European
 Research Consortium for Informatics and Mathematics, Keio University)
 
-This product contains the Piccolo XML Parser for Java
-(http://piccolo.sourceforge.net/). Copyright 2002 Yuval Oren.
-
 This product contains the chunks_parse_cmds.tbl file from the vsdump program.
 Copyright (C) 2006-2007 Valek Filippov (frob@df.ru)
+
+This product contains parts of the eID Applet project
+<http://eid-applet.googlecode.com> and <https://github.com/e-Contract/eid-applet>.
+Copyright (c) 2009-2014
+FedICT (federal ICT department of Belgium), e-Contract.be BVBA (https://www.e-contract.be),
+Bart Hanssens from FedICT
diff --git a/solr/licenses/poi-ooxml-LICENSE-ASL.txt b/solr/licenses/poi-ooxml-LICENSE-ASL.txt
index 3f40d40..09d38da 100644
--- a/solr/licenses/poi-ooxml-LICENSE-ASL.txt
+++ b/solr/licenses/poi-ooxml-LICENSE-ASL.txt
@@ -209,7 +209,7 @@ license terms. Your use of these subcomponents is subject to the terms
 and conditions of the following licenses:
 
 
-Office Open XML schemas (ooxml-schemas-1.0.jar)
+Office Open XML schemas (ooxml-schemas-1.*.jar)
 
     The Office Open XML schema definitions used by Apache POI are
     a part of the Office Open XML ECMA Specification (ECMA-376, [1]).
@@ -224,93 +224,65 @@ Office Open XML schemas (ooxml-schemas-1.0.jar)
 
     [1] http://www.ecma-international.org/publications/standards/Ecma-376.htm
     [2] http://www.ecma-international.org/memento/Ecmabylaws.htm
-    [3] http://www.microsoft.com/interop/osp/
-    [4] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/ECMA-376%20Edition%201%20Microsoft%20Patent%20Declaration.pdf
-    [5] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/ga-2006-191.pdf
+    [3] http://www.microsoft.com/openspecifications/en/us/programs/osp/default.aspx
+    [4] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/
+        Patent%20statements%20ok/ECMA-376%20Edition%202%20Microsoft%20Patent%20Declaration.pdf
+    [5] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/
+        Patent%20statements%20ok/ECMA-376%20Adobe%20Patent%20Declaration.pdf
 
 
-DOM4J library (dom4j-1.6.1.jar)
+Bouncy Castle library (bcprov-*.jar, bcpg-*.jar, bcpkix-*.jar)
 
-    Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+    Permission is hereby granted, free of charge, to any person obtaining a copy
+    of this software and associated documentation files (the "Software"), to
+    deal in the Software without restriction, including without limitation the
+    rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+    sell copies of the Software, and to permit persons to whom the Software is
+    furnished to do so, subject to the following conditions:
 
-    Redistribution and use of this software and associated documentation
-    ("Software"), with or without modification, are permitted provided
-    that the following conditions are met:
+    The above copyright notice and this permission notice shall be included in
+    all copies or substantial portions of the Software.
 
-    1. Redistributions of source code must retain copyright
-       statements and notices.  Redistributions must also contain a
-       copy of this document.
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+    IN THE SOFTWARE.
 
-    2. Redistributions in binary form must reproduce the
-       above copyright notice, this list of conditions and the
-       following disclaimer in the documentation and/or other
-       materials provided with the distribution.
+JUnit test library (junit-4.*.jar) & JaCoCo (*jacoco*)
 
-    3. The name "DOM4J" must not be used to endorse or promote
-       products derived from this Software without prior written
-       permission of MetaStuff, Ltd.  For written permission,
-       please contact dom4j-info@metastuff.com.
+    Eclipse Public License - v 1.0
 
-    4. Products derived from this Software may not be called "DOM4J"
-       nor may "DOM4J" appear in their names without prior written
-       permission of MetaStuff, Ltd. DOM4J is a registered
-       trademark of MetaStuff, Ltd.
-
-    5. Due credit should be given to the DOM4J Project - 
-       http://www.dom4j.org
- 
-    THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS
-    ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
-    NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-    FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
-    METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-    INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-    STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-    OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-JUnit test library (junit-3.8.1.jar)
-
-    Common Public License - v 1.0
-
-    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON
-    PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
-    OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
+    LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
+    CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
 
     1. DEFINITIONS
 
     "Contribution" means:
 
-    a) in the case of the initial Contributor, the initial code and
-       documentation distributed under this Agreement, and
-
+    a) in the case of the initial Contributor, the initial code and documentation
+       distributed under this Agreement, and
     b) in the case of each subsequent Contributor:
-
-       i)  changes to the Program, and
-
-       ii) additions to the Program;
-
-       where such changes and/or additions to the Program originate from
-       and are distributed by that particular Contributor. A Contribution
-       'originates' from a Contributor if it was added to the Program by
-       such Contributor itself or anyone acting on such Contributor's behalf.
-       Contributions do not include additions to the Program which: (i) are
-       separate modules of software distributed in conjunction with the
-       Program under their own license agreement, and (ii) are not derivative
-       works of the Program.
+    i) changes to the Program, and
+    ii) additions to the Program;
+    where such changes and/or additions to the Program originate from and are
+    distributed by that particular Contributor. A Contribution 'originates' from
+    a Contributor if it was added to the Program by such Contributor itself or
+    anyone acting on such Contributor's behalf. Contributions do not include
+    additions to the Program which: (i) are separate modules of software
+    distributed in conjunction with the Program under their own license agreement,
+    and (ii) are not derivative works of the Program.
 
     "Contributor" means any person or entity that distributes the Program.
 
-    "Licensed Patents " mean patent claims licensable by a Contributor which
-    are necessarily infringed by the use or sale of its Contribution alone
-    or when combined with the Program.
+    "Licensed Patents" mean patent claims licensable by a Contributor which are
+    necessarily infringed by the use or sale of its Contribution alone or when
+    combined with the Program.
 
-    "Program" means the Contributions distributed in accordance with this
-    Agreement.
+    "Program" means the Contributions distributed in accordance with this Agreement.
 
     "Recipient" means anyone who receives the Program under this Agreement,
     including all Contributors.
@@ -318,190 +290,248 @@ JUnit test library (junit-3.8.1.jar)
     2. GRANT OF RIGHTS
 
     a) Subject to the terms of this Agreement, each Contributor hereby grants
-       Recipient a non-exclusive, worldwide, royalty-free copyright license
-       to reproduce, prepare derivative works of, publicly display, publicly
-       perform, distribute and sublicense the Contribution of such
-       Contributor, if any, and such derivative works, in source code and
-       object code form.
-
+       Recipient a non-exclusive, worldwide, royalty-free copyright license to
+       reproduce, prepare derivative works of, publicly display, publicly
+       perform, distribute and sublicense the Contribution of such Contributor,
+       if any, and such derivative works, in source code and object code form.
     b) Subject to the terms of this Agreement, each Contributor hereby grants
        Recipient a non-exclusive, worldwide, royalty-free patent license under
-       Licensed Patents to make, use, sell, offer to sell, import and
-       otherwise transfer the Contribution of such Contributor, if any, in
-       source code and object code form. This patent license shall apply to
-       the combination of the Contribution and the Program if, at the time
-       the Contribution is added by the Contributor, such addition of the
-       Contribution causes such combination to be covered by the Licensed
-       Patents. The patent license shall not apply to any other combinations
-       which include the Contribution. No hardware per se is licensed
-       hereunder.
-
-    c) Recipient understands that although each Contributor grants the
-       licenses to its Contributions set forth herein, no assurances are
-       provided by any Contributor that the Program does not infringe the
-       patent or other intellectual property rights of any other entity.
-       Each Contributor disclaims any liability to Recipient for claims
-       brought by any other entity based on infringement of intellectual
-       property rights or otherwise. As a condition to exercising the rights
-       and licenses granted hereunder, each Recipient hereby assumes sole
-       responsibility to secure any other intellectual property rights
-       needed, if any. For example, if a third party patent license is
-       required to allow Recipient to distribute the Program, it is
-       Recipient's responsibility to acquire that license before
-       distributing the Program.
-
+       Licensed Patents to make, use, sell, offer to sell, import and otherwise
+       transfer the Contribution of such Contributor, if any, in source code
+       and object code form. This patent license shall apply to the combination
+       of the Contribution and the Program if, at the time the Contribution is
+       added by the Contributor, such addition of the Contribution causes such
+       combination to be covered by the Licensed Patents. The patent license
+       shall not apply to any other combinations which include the Contribution.
+       No hardware per se is licensed hereunder.
+    c) Recipient understands that although each Contributor grants the licenses
+       to its Contributions set forth herein, no assurances are provided by any
+       Contributor that the Program does not infringe the patent or other
+       intellectual property rights of any other entity. Each Contributor
+       disclaims any liability to Recipient for claims brought by any other
+       entity based on infringement of intellectual property rights or
+       otherwise. As a condition to exercising the rights and licenses granted
+       hereunder, each Recipient hereby assumes sole responsibility to secure
+       any other intellectual property rights needed, if any. For example, if
+       a third party patent license is required to allow Recipient to distribute
+       the Program, it is Recipient's responsibility to acquire that license
+       before distributing the Program.
     d) Each Contributor represents that to its knowledge it has sufficient
        copyright rights in its Contribution, if any, to grant the copyright
        license set forth in this Agreement.
 
     3. REQUIREMENTS
 
-    A Contributor may choose to distribute the Program in object code form
-    under its own license agreement, provided that:
+    A Contributor may choose to distribute the Program in object code form under
+    its own license agreement, provided that:
 
     a) it complies with the terms and conditions of this Agreement; and
-
     b) its license agreement:
-
-       i)   effectively disclaims on behalf of all Contributors all warranties
-            and conditions, express and implied, including warranties or
-            conditions of title and non-infringement, and implied warranties
-            or conditions of merchantability and fitness for a particular
-            purpose;
-
-       ii)  effectively excludes on behalf of all Contributors all liability
-            for damages, including direct, indirect, special, incidental and
-            consequential damages, such as lost profits;
-
-       iii) states that any provisions which differ from this Agreement are
-            offered by that Contributor alone and not by any other party; and
-
-       iv)  states that source code for the Program is available from such
-            Contributor, and informs licensees how to obtain it in a
-            reasonable manner on or through a medium customarily used for
-            software exchange.
+    i) effectively disclaims on behalf of all Contributors all warranties and
+       conditions, express and implied, including warranties or conditions of
+       title and non-infringement, and implied warranties or conditions of
+       merchantability and fitness for a particular purpose;
+    ii) effectively excludes on behalf of all Contributors all liability for
+       damages, including direct, indirect, special, incidental and
+       consequential damages, such as lost profits;
+    iii) states that any provisions which differ from this Agreement are
+       offered by that Contributor alone and not by any other party; and
+    iv) states that source code for the Program is available from such
+       Contributor, and informs licensees how to obtain it in a reasonable
+       manner on or through a medium customarily used for software exchange.
 
     When the Program is made available in source code form:
 
     a) it must be made available under this Agreement; and
+    b) a copy of this Agreement must be included with each copy of the Program.
+       Contributors may not remove or alter any copyright notices contained
+       within the Program.
 
-    b) a copy of this Agreement must be included with each copy of
-       the Program.
-
-    Contributors may not remove or alter any copyright notices contained
-    within the Program.
-
-    Each Contributor must identify itself as the originator of its
-    Contribution, if any, in a manner that reasonably allows subsequent
-    Recipients to identify the originator of the Contribution.
+    Each Contributor must identify itself as the originator of its Contribution,
+    if any, in a manner that reasonably allows subsequent Recipients to identify
+    the originator of the Contribution.
 
     4. COMMERCIAL DISTRIBUTION
 
-    Commercial distributors of software may accept certain responsibilities
-    with respect to end users, business partners and the like. While this
-    license is intended to facilitate the commercial use of the Program,
-    the Contributor who includes the Program in a commercial product offering
-    should do so in a manner which does not create potential liability for
-    other Contributors. Therefore, if a Contributor includes the Program
-    in a commercial product offering, such Contributor ("Commercial
-    Contributor") hereby agrees to defend and indemnify every other
-    Contributor ("Indemnified Contributor") against any losses, damages
-    and costs (collectively "Losses") arising from claims, lawsuits and
-    other legal actions brought by a third party against the Indemnified
-    Contributor to the extent caused by the acts or omissions of such
-    Commercial Contributor in connection with its distribution of the
-    Program in a commercial product offering. The obligations in this
-    section do not apply to any claims or Losses relating to any actual
-    or alleged intellectual property infringement. In order to qualify,
-    an Indemnified Contributor must: a) promptly notify the Commercial
-    Contributor in writing of such claim, and b) allow the Commercial
-    Contributor to control, and cooperate with the Commercial Contributor
-    in, the defense and any related settlement negotiations. The Indemnified
-    Contributor may participate in any such claim at its own expense.
-
-    For example, a Contributor might include the Program in a commercial
-    product offering, Product X. That Contributor is then a Commercial
-    Contributor. If that Commercial Contributor then makes performance
-    claims, or offers warranties related to Product X, those performance
-    claims and warranties are such Commercial Contributor's responsibility
-    alone. Under this section, the Commercial Contributor would have to
-    defend claims against the other Contributors related to those
-    performance claims and warranties, and if a court requires any other
-    Contributor to pay any damages as a result, the Commercial Contributor
-    must pay those damages.
+    Commercial distributors of software may accept certain responsibilities with
+    respect to end users, business partners and the like. While this license is
+    intended to facilitate the commercial use of the Program, the Contributor
+    who includes the Program in a commercial product offering should do so in a
+    manner which does not create potential liability for other Contributors.
+    Therefore, if a Contributor includes the Program in a commercial product
+    offering, such Contributor ("Commercial Contributor") hereby agrees to
+    defend and indemnify every other Contributor ("Indemnified Contributor")
+    against any losses, damages and costs (collectively "Losses") arising from
+    claims, lawsuits and other legal actions brought by a third party against
+    the Indemnified Contributor to the extent caused by the acts or omissions
+    of such Commercial Contributor in connection with its distribution of the
+    Program in a commercial product offering. The obligations in this section
+    do not apply to any claims or Losses relating to any actual or alleged
+    intellectual property infringement. In order to qualify, an Indemnified
+    Contributor must: a) promptly notify the Commercial Contributor in writing
+    of such claim, and b) allow the Commercial Contributor to control, and
+    cooperate with the Commercial Contributor in, the defense and any related
+    settlement negotiations. The Indemnified Contributor may participate in any
+    such claim at its own expense.
+
+    For example, a Contributor might include the Program in a commercial product
+    offering, Product X. That Contributor is then a Commercial Contributor. If
+    that Commercial Contributor then makes performance claims, or offers
+    warranties related to Product X, those performance claims and warranties are
+    such Commercial Contributor's responsibility alone. Under this section, the
+    Commercial Contributor would have to defend claims against the other
+    Contributors related to those performance claims and warranties, and if a
+    court requires any other Contributor to pay any damages as a result, the
+    Commercial Contributor must pay those damages.
 
     5. NO WARRANTY
 
-    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED
-    ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
+    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON
+    AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
     EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR
-    CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR
-    A PARTICULAR PURPOSE. Each Recipient is solely responsible for
-    determining the appropriateness of using and distributing the Program
-    and assumes all risks associated with its exercise of rights under this
-    Agreement, including but not limited to the risks and costs of program
-    errors, compliance with applicable laws, damage to or loss of data,
-    programs or equipment, and unavailability or interruption of operations.
+    CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A
+    PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the
+    appropriateness of using and distributing the Program and assumes all risks
+    associated with its exercise of rights under this Agreement , including but
+    not limited to the risks and costs of program errors, compliance with
+    applicable laws, damage to or loss of data, programs or equipment, and
+    unavailability or interruption of operations.
 
     6. DISCLAIMER OF LIABILITY
 
-    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
-    ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
-    INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
-    WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
-    LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
-    DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
-    HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
+    CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
+    LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+    ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
+    EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY
+    OF SUCH DAMAGES.
 
     7. GENERAL
 
     If any provision of this Agreement is invalid or unenforceable under
-    applicable law, it shall not affect the validity or enforceability of
-    the remainder of the terms of this Agreement, and without further
-    action by the parties hereto, such provision shall be reformed to the
-    minimum extent necessary to make such provision valid and enforceable.
-
-    If Recipient institutes patent litigation against a Contributor with
-    respect to a patent applicable to software (including a cross-claim or
-    counterclaim in a lawsuit), then any patent licenses granted by that
-    Contributor to such Recipient under this Agreement shall terminate as of
-    the date such litigation is filed. In addition, if Recipient institutes
-    patent litigation against any entity (including a cross-claim or
-    counterclaim in a lawsuit) alleging that the Program itself (excluding
-    combinations of the Program with other software or hardware) infringes
-    such Recipient's patent(s), then such Recipient's rights granted under
-    Section 2(b) shall terminate as of the date such litigation is filed.
-
-    All Recipient's rights under this Agreement shall terminate if it fails
-    to comply with any of the material terms or conditions of this Agreement
-    and does not cure such failure in a reasonable period of time after
-    becoming aware of such noncompliance. If all Recipient's rights under
-    this Agreement terminate, Recipient agrees to cease use and distribution
-    of the Program as soon as reasonably practicable. However, Recipient's
-    obligations under this Agreement and any licenses granted by Recipient
-    relating to the Program shall continue and survive.
-
-    Everyone is permitted to copy and distribute copies of this Agreement,
-    but in order to avoid inconsistency the Agreement is copyrighted and may
-    only be modified in the following manner. The Agreement Steward reserves
-    the right to publish new versions (including revisions) of this Agreement
-    from time to time. No one other than the Agreement Steward has the right
-    to modify this Agreement. IBM is the initial Agreement Steward. IBM may
-    assign the responsibility to serve as the Agreement Steward to a suitable
-    separate entity. Each new version of the Agreement will be given a
-    distinguishing version number. The Program (including Contributions) may
-    always be distributed subject to the version of the Agreement under which
-    it was received. In addition, after a new version of the Agreement is
-    published, Contributor may elect to distribute the Program (including
-    its Contributions) under the new version. Except as expressly stated in
-    Sections 2(a) and 2(b) above, Recipient receives no rights or licenses
-    to the intellectual property of any Contributor under this Agreement,
-    whether expressly, by implication, estoppel or otherwise. All rights in
-    the Program not expressly granted under this Agreement are reserved.
+    applicable law, it shall not affect the validity or enforceability of the
+    remainder of the terms of this Agreement, and without further action by the
+    parties hereto, such provision shall be reformed to the minimum extent
+    necessary to make such provision valid and enforceable.
+
+    If Recipient institutes patent litigation against any entity (including a
+    cross-claim or counterclaim in a lawsuit) alleging that the Program itself
+    (excluding combinations of the Program with other software or hardware)
+    infringes such Recipient's patent(s), then such Recipient's rights granted
+    under Section 2(b) shall terminate as of the date such litigation is filed.
+
+    All Recipient's rights under this Agreement shall terminate if it fails to
+    comply with any of the material terms or conditions of this Agreement and
+    does not cure such failure in a reasonable period of time after becoming
+    aware of such noncompliance. If all Recipient's rights under this Agreement
+    terminate, Recipient agrees to cease use and distribution of the Program as
+    soon as reasonably practicable. However, Recipient's obligations under this
+    Agreement and any licenses granted by Recipient relating to the Program
+    shall continue and survive.
+
+    Everyone is permitted to copy and distribute copies of this Agreement, but
+    in order to avoid inconsistency the Agreement is copyrighted and may only
+    be modified in the following manner. The Agreement Steward reserves the
+    right to publish new versions (including revisions) of this Agreement from
+    time to time. No one other than the Agreement Steward has the right to
+    modify this Agreement. The Eclipse Foundation is the initial Agreement
+    Steward. The Eclipse Foundation may assign the responsibility to serve as
+    the Agreement Steward to a suitable separate entity. Each new version of
+    the Agreement will be given a distinguishing version number. The Program
+    (including Contributions) may always be distributed subject to the version
+    of the Agreement under which it was received. In addition, after a new
+    version of the Agreement is published, Contributor may elect to distribute
+    the Program (including its Contributions) under the new version. Except as
+    expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+    rights or licenses to the intellectual property of any Contributor under
+    this Agreement, whether expressly, by implication, estoppel or otherwise.
+    All rights in the Program not expressly granted under this Agreement are
+    reserved.
 
     This Agreement is governed by the laws of the State of New York and the
-    intellectual property laws of the United States of America. No party to
-    this Agreement will bring a legal action under this Agreement more than
-    one year after the cause of action arose. Each party waives its rights
-    to a jury trial in any resulting litigation.
+    intellectual property laws of the United States of America. No party to this
+    Agreement will bring a legal action under this Agreement more than one year
+    after the cause of action arose. Each party waives its rights to a jury
+    trial in any resulting litigation.
+
+Hamcrest library (hamcrest-*.jar) & CuvesAPI / Curve API
+
+    BSD License
+
+    Copyright (c) 2000-2006, www.hamcrest.org
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+
+    Redistributions of source code must retain the above copyright notice, this
+    list of conditions and the following disclaimer. Redistributions in binary
+    form must reproduce the above copyright notice, this list of conditions and
+    the following disclaimer in the documentation and/or other materials
+    provided with the distribution.
+
+    Neither the name of Hamcrest nor the names of its contributors may be used
+    to endorse or promote products derived from this software without specific
+    prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+
+SLF4J library (slf4j-api-*.jar)
+
+    Copyright (c) 2004-2013 QOS.ch
+    All rights reserved.
+
+    Permission is hereby granted, free  of charge, to any person obtaining
+    a  copy  of this  software  and  associated  documentation files  (the
+    "Software"), to  deal in  the Software without  restriction, including
+    without limitation  the rights to  use, copy, modify,  merge, publish,
+    distribute,  sublicense, and/or sell  copies of  the Software,  and to
+    permit persons to whom the Software  is furnished to do so, subject to
+    the following conditions:
+
+    The  above  copyright  notice  and  this permission  notice  shall  be
+    included in all copies or substantial portions of the Software.
+
+    THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+    EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+    MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+    NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+    LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+    OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+    WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+inbot-utils (https://github.com/Inbot/inbot-utils)
+
+	The MIT License (MIT)
+
+	Copyright (c) 2015 Inbot
+
+	Permission is hereby granted, free of charge, to any person obtaining a copy
+	of this software and associated documentation files (the "Software"), to deal
+	in the Software without restriction, including without limitation the rights
+	to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+	copies of the Software, and to permit persons to whom the Software is
+	furnished to do so, subject to the following conditions:
+
+	The above copyright notice and this permission notice shall be included in all
+	copies or substantial portions of the Software.
+
+	THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+	IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+	FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+	AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+	LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+	OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+	SOFTWARE.
diff --git a/solr/licenses/poi-ooxml-NOTICE.txt b/solr/licenses/poi-ooxml-NOTICE.txt
index 6d9855f..2518506 100644
--- a/solr/licenses/poi-ooxml-NOTICE.txt
+++ b/solr/licenses/poi-ooxml-NOTICE.txt
@@ -1,21 +1,24 @@
 Apache POI
-Copyright 2009 The Apache Software Foundation
+Copyright 2003-2019 The Apache Software Foundation
 
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
-This product contains the DOM4J library (http://www.dom4j.org).
-Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+This product includes software developed at
+The Apache Software Foundation (https://www.apache.org/).
 
 This product contains parts that were originally based on software from BEA.
-Copyright (c) 2000-2003, BEA Systems, <http://www.bea.com/>.
+Copyright (c) 2000-2003, BEA Systems, <http://www.bea.com/> (dead link),
+which was acquired by Oracle Corporation in 2008.
+<http://www.oracle.com/us/corporate/Acquisitions/bea/index.html>
+<https://en.wikipedia.org/wiki/BEA_Systems>
 
 This product contains W3C XML Schema documents. Copyright 2001-2003 (c)
 World Wide Web Consortium (Massachusetts Institute of Technology, European
 Research Consortium for Informatics and Mathematics, Keio University)
 
-This product contains the Piccolo XML Parser for Java
-(http://piccolo.sourceforge.net/). Copyright 2002 Yuval Oren.
-
 This product contains the chunks_parse_cmds.tbl file from the vsdump program.
 Copyright (C) 2006-2007 Valek Filippov (frob@df.ru)
+
+This product contains parts of the eID Applet project
+<http://eid-applet.googlecode.com> and <https://github.com/e-Contract/eid-applet>.
+Copyright (c) 2009-2014
+FedICT (federal ICT department of Belgium), e-Contract.be BVBA (https://www.e-contract.be),
+Bart Hanssens from FedICT
diff --git a/solr/licenses/poi-ooxml-schemas-LICENSE-ASL.txt b/solr/licenses/poi-ooxml-schemas-LICENSE-ASL.txt
index 3f40d40..09d38da 100644
--- a/solr/licenses/poi-ooxml-schemas-LICENSE-ASL.txt
+++ b/solr/licenses/poi-ooxml-schemas-LICENSE-ASL.txt
@@ -209,7 +209,7 @@ license terms. Your use of these subcomponents is subject to the terms
 and conditions of the following licenses:
 
 
-Office Open XML schemas (ooxml-schemas-1.0.jar)
+Office Open XML schemas (ooxml-schemas-1.*.jar)
 
     The Office Open XML schema definitions used by Apache POI are
     a part of the Office Open XML ECMA Specification (ECMA-376, [1]).
@@ -224,93 +224,65 @@ Office Open XML schemas (ooxml-schemas-1.0.jar)
 
     [1] http://www.ecma-international.org/publications/standards/Ecma-376.htm
     [2] http://www.ecma-international.org/memento/Ecmabylaws.htm
-    [3] http://www.microsoft.com/interop/osp/
-    [4] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/ECMA-376%20Edition%201%20Microsoft%20Patent%20Declaration.pdf
-    [5] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/ga-2006-191.pdf
+    [3] http://www.microsoft.com/openspecifications/en/us/programs/osp/default.aspx
+    [4] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/
+        Patent%20statements%20ok/ECMA-376%20Edition%202%20Microsoft%20Patent%20Declaration.pdf
+    [5] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/
+        Patent%20statements%20ok/ECMA-376%20Adobe%20Patent%20Declaration.pdf
 
 
-DOM4J library (dom4j-1.6.1.jar)
+Bouncy Castle library (bcprov-*.jar, bcpg-*.jar, bcpkix-*.jar)
 
-    Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+    Permission is hereby granted, free of charge, to any person obtaining a copy
+    of this software and associated documentation files (the "Software"), to
+    deal in the Software without restriction, including without limitation the
+    rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+    sell copies of the Software, and to permit persons to whom the Software is
+    furnished to do so, subject to the following conditions:
 
-    Redistribution and use of this software and associated documentation
-    ("Software"), with or without modification, are permitted provided
-    that the following conditions are met:
+    The above copyright notice and this permission notice shall be included in
+    all copies or substantial portions of the Software.
 
-    1. Redistributions of source code must retain copyright
-       statements and notices.  Redistributions must also contain a
-       copy of this document.
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+    IN THE SOFTWARE.
 
-    2. Redistributions in binary form must reproduce the
-       above copyright notice, this list of conditions and the
-       following disclaimer in the documentation and/or other
-       materials provided with the distribution.
+JUnit test library (junit-4.*.jar) & JaCoCo (*jacoco*)
 
-    3. The name "DOM4J" must not be used to endorse or promote
-       products derived from this Software without prior written
-       permission of MetaStuff, Ltd.  For written permission,
-       please contact dom4j-info@metastuff.com.
+    Eclipse Public License - v 1.0
 
-    4. Products derived from this Software may not be called "DOM4J"
-       nor may "DOM4J" appear in their names without prior written
-       permission of MetaStuff, Ltd. DOM4J is a registered
-       trademark of MetaStuff, Ltd.
-
-    5. Due credit should be given to the DOM4J Project - 
-       http://www.dom4j.org
- 
-    THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS
-    ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
-    NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-    FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
-    METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-    INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-    STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-    OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-JUnit test library (junit-3.8.1.jar)
-
-    Common Public License - v 1.0
-
-    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON
-    PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
-    OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
+    LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
+    CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
 
     1. DEFINITIONS
 
     "Contribution" means:
 
-    a) in the case of the initial Contributor, the initial code and
-       documentation distributed under this Agreement, and
-
+    a) in the case of the initial Contributor, the initial code and documentation
+       distributed under this Agreement, and
     b) in the case of each subsequent Contributor:
-
-       i)  changes to the Program, and
-
-       ii) additions to the Program;
-
-       where such changes and/or additions to the Program originate from
-       and are distributed by that particular Contributor. A Contribution
-       'originates' from a Contributor if it was added to the Program by
-       such Contributor itself or anyone acting on such Contributor's behalf.
-       Contributions do not include additions to the Program which: (i) are
-       separate modules of software distributed in conjunction with the
-       Program under their own license agreement, and (ii) are not derivative
-       works of the Program.
+    i) changes to the Program, and
+    ii) additions to the Program;
+    where such changes and/or additions to the Program originate from and are
+    distributed by that particular Contributor. A Contribution 'originates' from
+    a Contributor if it was added to the Program by such Contributor itself or
+    anyone acting on such Contributor's behalf. Contributions do not include
+    additions to the Program which: (i) are separate modules of software
+    distributed in conjunction with the Program under their own license agreement,
+    and (ii) are not derivative works of the Program.
 
     "Contributor" means any person or entity that distributes the Program.
 
-    "Licensed Patents " mean patent claims licensable by a Contributor which
-    are necessarily infringed by the use or sale of its Contribution alone
-    or when combined with the Program.
+    "Licensed Patents" mean patent claims licensable by a Contributor which are
+    necessarily infringed by the use or sale of its Contribution alone or when
+    combined with the Program.
 
-    "Program" means the Contributions distributed in accordance with this
-    Agreement.
+    "Program" means the Contributions distributed in accordance with this Agreement.
 
     "Recipient" means anyone who receives the Program under this Agreement,
     including all Contributors.
@@ -318,190 +290,248 @@ JUnit test library (junit-3.8.1.jar)
     2. GRANT OF RIGHTS
 
     a) Subject to the terms of this Agreement, each Contributor hereby grants
-       Recipient a non-exclusive, worldwide, royalty-free copyright license
-       to reproduce, prepare derivative works of, publicly display, publicly
-       perform, distribute and sublicense the Contribution of such
-       Contributor, if any, and such derivative works, in source code and
-       object code form.
-
+       Recipient a non-exclusive, worldwide, royalty-free copyright license to
+       reproduce, prepare derivative works of, publicly display, publicly
+       perform, distribute and sublicense the Contribution of such Contributor,
+       if any, and such derivative works, in source code and object code form.
     b) Subject to the terms of this Agreement, each Contributor hereby grants
        Recipient a non-exclusive, worldwide, royalty-free patent license under
-       Licensed Patents to make, use, sell, offer to sell, import and
-       otherwise transfer the Contribution of such Contributor, if any, in
-       source code and object code form. This patent license shall apply to
-       the combination of the Contribution and the Program if, at the time
-       the Contribution is added by the Contributor, such addition of the
-       Contribution causes such combination to be covered by the Licensed
-       Patents. The patent license shall not apply to any other combinations
-       which include the Contribution. No hardware per se is licensed
-       hereunder.
-
-    c) Recipient understands that although each Contributor grants the
-       licenses to its Contributions set forth herein, no assurances are
-       provided by any Contributor that the Program does not infringe the
-       patent or other intellectual property rights of any other entity.
-       Each Contributor disclaims any liability to Recipient for claims
-       brought by any other entity based on infringement of intellectual
-       property rights or otherwise. As a condition to exercising the rights
-       and licenses granted hereunder, each Recipient hereby assumes sole
-       responsibility to secure any other intellectual property rights
-       needed, if any. For example, if a third party patent license is
-       required to allow Recipient to distribute the Program, it is
-       Recipient's responsibility to acquire that license before
-       distributing the Program.
-
+       Licensed Patents to make, use, sell, offer to sell, import and otherwise
+       transfer the Contribution of such Contributor, if any, in source code
+       and object code form. This patent license shall apply to the combination
+       of the Contribution and the Program if, at the time the Contribution is
+       added by the Contributor, such addition of the Contribution causes such
+       combination to be covered by the Licensed Patents. The patent license
+       shall not apply to any other combinations which include the Contribution.
+       No hardware per se is licensed hereunder.
+    c) Recipient understands that although each Contributor grants the licenses
+       to its Contributions set forth herein, no assurances are provided by any
+       Contributor that the Program does not infringe the patent or other
+       intellectual property rights of any other entity. Each Contributor
+       disclaims any liability to Recipient for claims brought by any other
+       entity based on infringement of intellectual property rights or
+       otherwise. As a condition to exercising the rights and licenses granted
+       hereunder, each Recipient hereby assumes sole responsibility to secure
+       any other intellectual property rights needed, if any. For example, if
+       a third party patent license is required to allow Recipient to distribute
+       the Program, it is Recipient's responsibility to acquire that license
+       before distributing the Program.
     d) Each Contributor represents that to its knowledge it has sufficient
        copyright rights in its Contribution, if any, to grant the copyright
        license set forth in this Agreement.
 
     3. REQUIREMENTS
 
-    A Contributor may choose to distribute the Program in object code form
-    under its own license agreement, provided that:
+    A Contributor may choose to distribute the Program in object code form under
+    its own license agreement, provided that:
 
     a) it complies with the terms and conditions of this Agreement; and
-
     b) its license agreement:
-
-       i)   effectively disclaims on behalf of all Contributors all warranties
-            and conditions, express and implied, including warranties or
-            conditions of title and non-infringement, and implied warranties
-            or conditions of merchantability and fitness for a particular
-            purpose;
-
-       ii)  effectively excludes on behalf of all Contributors all liability
-            for damages, including direct, indirect, special, incidental and
-            consequential damages, such as lost profits;
-
-       iii) states that any provisions which differ from this Agreement are
-            offered by that Contributor alone and not by any other party; and
-
-       iv)  states that source code for the Program is available from such
-            Contributor, and informs licensees how to obtain it in a
-            reasonable manner on or through a medium customarily used for
-            software exchange.
+    i) effectively disclaims on behalf of all Contributors all warranties and
+       conditions, express and implied, including warranties or conditions of
+       title and non-infringement, and implied warranties or conditions of
+       merchantability and fitness for a particular purpose;
+    ii) effectively excludes on behalf of all Contributors all liability for
+       damages, including direct, indirect, special, incidental and
+       consequential damages, such as lost profits;
+    iii) states that any provisions which differ from this Agreement are
+       offered by that Contributor alone and not by any other party; and
+    iv) states that source code for the Program is available from such
+       Contributor, and informs licensees how to obtain it in a reasonable
+       manner on or through a medium customarily used for software exchange.
 
     When the Program is made available in source code form:
 
     a) it must be made available under this Agreement; and
+    b) a copy of this Agreement must be included with each copy of the Program.
+       Contributors may not remove or alter any copyright notices contained
+       within the Program.
 
-    b) a copy of this Agreement must be included with each copy of
-       the Program.
-
-    Contributors may not remove or alter any copyright notices contained
-    within the Program.
-
-    Each Contributor must identify itself as the originator of its
-    Contribution, if any, in a manner that reasonably allows subsequent
-    Recipients to identify the originator of the Contribution.
+    Each Contributor must identify itself as the originator of its Contribution,
+    if any, in a manner that reasonably allows subsequent Recipients to identify
+    the originator of the Contribution.
 
     4. COMMERCIAL DISTRIBUTION
 
-    Commercial distributors of software may accept certain responsibilities
-    with respect to end users, business partners and the like. While this
-    license is intended to facilitate the commercial use of the Program,
-    the Contributor who includes the Program in a commercial product offering
-    should do so in a manner which does not create potential liability for
-    other Contributors. Therefore, if a Contributor includes the Program
-    in a commercial product offering, such Contributor ("Commercial
-    Contributor") hereby agrees to defend and indemnify every other
-    Contributor ("Indemnified Contributor") against any losses, damages
-    and costs (collectively "Losses") arising from claims, lawsuits and
-    other legal actions brought by a third party against the Indemnified
-    Contributor to the extent caused by the acts or omissions of such
-    Commercial Contributor in connection with its distribution of the
-    Program in a commercial product offering. The obligations in this
-    section do not apply to any claims or Losses relating to any actual
-    or alleged intellectual property infringement. In order to qualify,
-    an Indemnified Contributor must: a) promptly notify the Commercial
-    Contributor in writing of such claim, and b) allow the Commercial
-    Contributor to control, and cooperate with the Commercial Contributor
-    in, the defense and any related settlement negotiations. The Indemnified
-    Contributor may participate in any such claim at its own expense.
-
-    For example, a Contributor might include the Program in a commercial
-    product offering, Product X. That Contributor is then a Commercial
-    Contributor. If that Commercial Contributor then makes performance
-    claims, or offers warranties related to Product X, those performance
-    claims and warranties are such Commercial Contributor's responsibility
-    alone. Under this section, the Commercial Contributor would have to
-    defend claims against the other Contributors related to those
-    performance claims and warranties, and if a court requires any other
-    Contributor to pay any damages as a result, the Commercial Contributor
-    must pay those damages.
+    Commercial distributors of software may accept certain responsibilities with
+    respect to end users, business partners and the like. While this license is
+    intended to facilitate the commercial use of the Program, the Contributor
+    who includes the Program in a commercial product offering should do so in a
+    manner which does not create potential liability for other Contributors.
+    Therefore, if a Contributor includes the Program in a commercial product
+    offering, such Contributor ("Commercial Contributor") hereby agrees to
+    defend and indemnify every other Contributor ("Indemnified Contributor")
+    against any losses, damages and costs (collectively "Losses") arising from
+    claims, lawsuits and other legal actions brought by a third party against
+    the Indemnified Contributor to the extent caused by the acts or omissions
+    of such Commercial Contributor in connection with its distribution of the
+    Program in a commercial product offering. The obligations in this section
+    do not apply to any claims or Losses relating to any actual or alleged
+    intellectual property infringement. In order to qualify, an Indemnified
+    Contributor must: a) promptly notify the Commercial Contributor in writing
+    of such claim, and b) allow the Commercial Contributor to control, and
+    cooperate with the Commercial Contributor in, the defense and any related
+    settlement negotiations. The Indemnified Contributor may participate in any
+    such claim at its own expense.
+
+    For example, a Contributor might include the Program in a commercial product
+    offering, Product X. That Contributor is then a Commercial Contributor. If
+    that Commercial Contributor then makes performance claims, or offers
+    warranties related to Product X, those performance claims and warranties are
+    such Commercial Contributor's responsibility alone. Under this section, the
+    Commercial Contributor would have to defend claims against the other
+    Contributors related to those performance claims and warranties, and if a
+    court requires any other Contributor to pay any damages as a result, the
+    Commercial Contributor must pay those damages.
 
     5. NO WARRANTY
 
-    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED
-    ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
+    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON
+    AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
     EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR
-    CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR
-    A PARTICULAR PURPOSE. Each Recipient is solely responsible for
-    determining the appropriateness of using and distributing the Program
-    and assumes all risks associated with its exercise of rights under this
-    Agreement, including but not limited to the risks and costs of program
-    errors, compliance with applicable laws, damage to or loss of data,
-    programs or equipment, and unavailability or interruption of operations.
+    CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A
+    PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the
+    appropriateness of using and distributing the Program and assumes all risks
+    associated with its exercise of rights under this Agreement , including but
+    not limited to the risks and costs of program errors, compliance with
+    applicable laws, damage to or loss of data, programs or equipment, and
+    unavailability or interruption of operations.
 
     6. DISCLAIMER OF LIABILITY
 
-    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
-    ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
-    INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
-    WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
-    LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
-    DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
-    HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
+    CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
+    LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+    ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
+    EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY
+    OF SUCH DAMAGES.
 
     7. GENERAL
 
     If any provision of this Agreement is invalid or unenforceable under
-    applicable law, it shall not affect the validity or enforceability of
-    the remainder of the terms of this Agreement, and without further
-    action by the parties hereto, such provision shall be reformed to the
-    minimum extent necessary to make such provision valid and enforceable.
-
-    If Recipient institutes patent litigation against a Contributor with
-    respect to a patent applicable to software (including a cross-claim or
-    counterclaim in a lawsuit), then any patent licenses granted by that
-    Contributor to such Recipient under this Agreement shall terminate as of
-    the date such litigation is filed. In addition, if Recipient institutes
-    patent litigation against any entity (including a cross-claim or
-    counterclaim in a lawsuit) alleging that the Program itself (excluding
-    combinations of the Program with other software or hardware) infringes
-    such Recipient's patent(s), then such Recipient's rights granted under
-    Section 2(b) shall terminate as of the date such litigation is filed.
-
-    All Recipient's rights under this Agreement shall terminate if it fails
-    to comply with any of the material terms or conditions of this Agreement
-    and does not cure such failure in a reasonable period of time after
-    becoming aware of such noncompliance. If all Recipient's rights under
-    this Agreement terminate, Recipient agrees to cease use and distribution
-    of the Program as soon as reasonably practicable. However, Recipient's
-    obligations under this Agreement and any licenses granted by Recipient
-    relating to the Program shall continue and survive.
-
-    Everyone is permitted to copy and distribute copies of this Agreement,
-    but in order to avoid inconsistency the Agreement is copyrighted and may
-    only be modified in the following manner. The Agreement Steward reserves
-    the right to publish new versions (including revisions) of this Agreement
-    from time to time. No one other than the Agreement Steward has the right
-    to modify this Agreement. IBM is the initial Agreement Steward. IBM may
-    assign the responsibility to serve as the Agreement Steward to a suitable
-    separate entity. Each new version of the Agreement will be given a
-    distinguishing version number. The Program (including Contributions) may
-    always be distributed subject to the version of the Agreement under which
-    it was received. In addition, after a new version of the Agreement is
-    published, Contributor may elect to distribute the Program (including
-    its Contributions) under the new version. Except as expressly stated in
-    Sections 2(a) and 2(b) above, Recipient receives no rights or licenses
-    to the intellectual property of any Contributor under this Agreement,
-    whether expressly, by implication, estoppel or otherwise. All rights in
-    the Program not expressly granted under this Agreement are reserved.
+    applicable law, it shall not affect the validity or enforceability of the
+    remainder of the terms of this Agreement, and without further action by the
+    parties hereto, such provision shall be reformed to the minimum extent
+    necessary to make such provision valid and enforceable.
+
+    If Recipient institutes patent litigation against any entity (including a
+    cross-claim or counterclaim in a lawsuit) alleging that the Program itself
+    (excluding combinations of the Program with other software or hardware)
+    infringes such Recipient's patent(s), then such Recipient's rights granted
+    under Section 2(b) shall terminate as of the date such litigation is filed.
+
+    All Recipient's rights under this Agreement shall terminate if it fails to
+    comply with any of the material terms or conditions of this Agreement and
+    does not cure such failure in a reasonable period of time after becoming
+    aware of such noncompliance. If all Recipient's rights under this Agreement
+    terminate, Recipient agrees to cease use and distribution of the Program as
+    soon as reasonably practicable. However, Recipient's obligations under this
+    Agreement and any licenses granted by Recipient relating to the Program
+    shall continue and survive.
+
+    Everyone is permitted to copy and distribute copies of this Agreement, but
+    in order to avoid inconsistency the Agreement is copyrighted and may only
+    be modified in the following manner. The Agreement Steward reserves the
+    right to publish new versions (including revisions) of this Agreement from
+    time to time. No one other than the Agreement Steward has the right to
+    modify this Agreement. The Eclipse Foundation is the initial Agreement
+    Steward. The Eclipse Foundation may assign the responsibility to serve as
+    the Agreement Steward to a suitable separate entity. Each new version of
+    the Agreement will be given a distinguishing version number. The Program
+    (including Contributions) may always be distributed subject to the version
+    of the Agreement under which it was received. In addition, after a new
+    version of the Agreement is published, Contributor may elect to distribute
+    the Program (including its Contributions) under the new version. Except as
+    expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+    rights or licenses to the intellectual property of any Contributor under
+    this Agreement, whether expressly, by implication, estoppel or otherwise.
+    All rights in the Program not expressly granted under this Agreement are
+    reserved.
 
     This Agreement is governed by the laws of the State of New York and the
-    intellectual property laws of the United States of America. No party to
-    this Agreement will bring a legal action under this Agreement more than
-    one year after the cause of action arose. Each party waives its rights
-    to a jury trial in any resulting litigation.
+    intellectual property laws of the United States of America. No party to this
+    Agreement will bring a legal action under this Agreement more than one year
+    after the cause of action arose. Each party waives its rights to a jury
+    trial in any resulting litigation.
+
+Hamcrest library (hamcrest-*.jar) & CuvesAPI / Curve API
+
+    BSD License
+
+    Copyright (c) 2000-2006, www.hamcrest.org
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+
+    Redistributions of source code must retain the above copyright notice, this
+    list of conditions and the following disclaimer. Redistributions in binary
+    form must reproduce the above copyright notice, this list of conditions and
+    the following disclaimer in the documentation and/or other materials
+    provided with the distribution.
+
+    Neither the name of Hamcrest nor the names of its contributors may be used
+    to endorse or promote products derived from this software without specific
+    prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+
+SLF4J library (slf4j-api-*.jar)
+
+    Copyright (c) 2004-2013 QOS.ch
+    All rights reserved.
+
+    Permission is hereby granted, free  of charge, to any person obtaining
+    a  copy  of this  software  and  associated  documentation files  (the
+    "Software"), to  deal in  the Software without  restriction, including
+    without limitation  the rights to  use, copy, modify,  merge, publish,
+    distribute,  sublicense, and/or sell  copies of  the Software,  and to
+    permit persons to whom the Software  is furnished to do so, subject to
+    the following conditions:
+
+    The  above  copyright  notice  and  this permission  notice  shall  be
+    included in all copies or substantial portions of the Software.
+
+    THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+    EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+    MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+    NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+    LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+    OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+    WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+inbot-utils (https://github.com/Inbot/inbot-utils)
+
+	The MIT License (MIT)
+
+	Copyright (c) 2015 Inbot
+
+	Permission is hereby granted, free of charge, to any person obtaining a copy
+	of this software and associated documentation files (the "Software"), to deal
+	in the Software without restriction, including without limitation the rights
+	to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+	copies of the Software, and to permit persons to whom the Software is
+	furnished to do so, subject to the following conditions:
+
+	The above copyright notice and this permission notice shall be included in all
+	copies or substantial portions of the Software.
+
+	THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+	IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+	FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+	AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+	LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+	OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+	SOFTWARE.
diff --git a/solr/licenses/poi-ooxml-schemas-NOTICE.txt b/solr/licenses/poi-ooxml-schemas-NOTICE.txt
index 6d9855f..2518506 100644
--- a/solr/licenses/poi-ooxml-schemas-NOTICE.txt
+++ b/solr/licenses/poi-ooxml-schemas-NOTICE.txt
@@ -1,21 +1,24 @@
 Apache POI
-Copyright 2009 The Apache Software Foundation
+Copyright 2003-2019 The Apache Software Foundation
 
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
-This product contains the DOM4J library (http://www.dom4j.org).
-Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+This product includes software developed at
+The Apache Software Foundation (https://www.apache.org/).
 
 This product contains parts that were originally based on software from BEA.
-Copyright (c) 2000-2003, BEA Systems, <http://www.bea.com/>.
+Copyright (c) 2000-2003, BEA Systems, <http://www.bea.com/> (dead link),
+which was acquired by Oracle Corporation in 2008.
+<http://www.oracle.com/us/corporate/Acquisitions/bea/index.html>
+<https://en.wikipedia.org/wiki/BEA_Systems>
 
 This product contains W3C XML Schema documents. Copyright 2001-2003 (c)
 World Wide Web Consortium (Massachusetts Institute of Technology, European
 Research Consortium for Informatics and Mathematics, Keio University)
 
-This product contains the Piccolo XML Parser for Java
-(http://piccolo.sourceforge.net/). Copyright 2002 Yuval Oren.
-
 This product contains the chunks_parse_cmds.tbl file from the vsdump program.
 Copyright (C) 2006-2007 Valek Filippov (frob@df.ru)
+
+This product contains parts of the eID Applet project
+<http://eid-applet.googlecode.com> and <https://github.com/e-Contract/eid-applet>.
+Copyright (c) 2009-2014
+FedICT (federal ICT department of Belgium), e-Contract.be BVBA (https://www.e-contract.be),
+Bart Hanssens from FedICT
diff --git a/solr/licenses/poi-scratchpad-LICENSE-ASL.txt b/solr/licenses/poi-scratchpad-LICENSE-ASL.txt
index 3f40d40..09d38da 100644
--- a/solr/licenses/poi-scratchpad-LICENSE-ASL.txt
+++ b/solr/licenses/poi-scratchpad-LICENSE-ASL.txt
@@ -209,7 +209,7 @@ license terms. Your use of these subcomponents is subject to the terms
 and conditions of the following licenses:
 
 
-Office Open XML schemas (ooxml-schemas-1.0.jar)
+Office Open XML schemas (ooxml-schemas-1.*.jar)
 
     The Office Open XML schema definitions used by Apache POI are
     a part of the Office Open XML ECMA Specification (ECMA-376, [1]).
@@ -224,93 +224,65 @@ Office Open XML schemas (ooxml-schemas-1.0.jar)
 
     [1] http://www.ecma-international.org/publications/standards/Ecma-376.htm
     [2] http://www.ecma-international.org/memento/Ecmabylaws.htm
-    [3] http://www.microsoft.com/interop/osp/
-    [4] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/ECMA-376%20Edition%201%20Microsoft%20Patent%20Declaration.pdf
-    [5] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/ga-2006-191.pdf
+    [3] http://www.microsoft.com/openspecifications/en/us/programs/osp/default.aspx
+    [4] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/
+        Patent%20statements%20ok/ECMA-376%20Edition%202%20Microsoft%20Patent%20Declaration.pdf
+    [5] http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/
+        Patent%20statements%20ok/ECMA-376%20Adobe%20Patent%20Declaration.pdf
 
 
-DOM4J library (dom4j-1.6.1.jar)
+Bouncy Castle library (bcprov-*.jar, bcpg-*.jar, bcpkix-*.jar)
 
-    Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+    Permission is hereby granted, free of charge, to any person obtaining a copy
+    of this software and associated documentation files (the "Software"), to
+    deal in the Software without restriction, including without limitation the
+    rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+    sell copies of the Software, and to permit persons to whom the Software is
+    furnished to do so, subject to the following conditions:
 
-    Redistribution and use of this software and associated documentation
-    ("Software"), with or without modification, are permitted provided
-    that the following conditions are met:
+    The above copyright notice and this permission notice shall be included in
+    all copies or substantial portions of the Software.
 
-    1. Redistributions of source code must retain copyright
-       statements and notices.  Redistributions must also contain a
-       copy of this document.
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+    IN THE SOFTWARE.
 
-    2. Redistributions in binary form must reproduce the
-       above copyright notice, this list of conditions and the
-       following disclaimer in the documentation and/or other
-       materials provided with the distribution.
+JUnit test library (junit-4.*.jar) & JaCoCo (*jacoco*)
 
-    3. The name "DOM4J" must not be used to endorse or promote
-       products derived from this Software without prior written
-       permission of MetaStuff, Ltd.  For written permission,
-       please contact dom4j-info@metastuff.com.
+    Eclipse Public License - v 1.0
 
-    4. Products derived from this Software may not be called "DOM4J"
-       nor may "DOM4J" appear in their names without prior written
-       permission of MetaStuff, Ltd. DOM4J is a registered
-       trademark of MetaStuff, Ltd.
-
-    5. Due credit should be given to the DOM4J Project - 
-       http://www.dom4j.org
- 
-    THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS
-    ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
-    NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-    FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
-    METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-    INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-    STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-    OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-JUnit test library (junit-3.8.1.jar)
-
-    Common Public License - v 1.0
-
-    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON
-    PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
-    OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
+    LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
+    CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
 
     1. DEFINITIONS
 
     "Contribution" means:
 
-    a) in the case of the initial Contributor, the initial code and
-       documentation distributed under this Agreement, and
-
+    a) in the case of the initial Contributor, the initial code and documentation
+       distributed under this Agreement, and
     b) in the case of each subsequent Contributor:
-
-       i)  changes to the Program, and
-
-       ii) additions to the Program;
-
-       where such changes and/or additions to the Program originate from
-       and are distributed by that particular Contributor. A Contribution
-       'originates' from a Contributor if it was added to the Program by
-       such Contributor itself or anyone acting on such Contributor's behalf.
-       Contributions do not include additions to the Program which: (i) are
-       separate modules of software distributed in conjunction with the
-       Program under their own license agreement, and (ii) are not derivative
-       works of the Program.
+    i) changes to the Program, and
+    ii) additions to the Program;
+    where such changes and/or additions to the Program originate from and are
+    distributed by that particular Contributor. A Contribution 'originates' from
+    a Contributor if it was added to the Program by such Contributor itself or
+    anyone acting on such Contributor's behalf. Contributions do not include
+    additions to the Program which: (i) are separate modules of software
+    distributed in conjunction with the Program under their own license agreement,
+    and (ii) are not derivative works of the Program.
 
     "Contributor" means any person or entity that distributes the Program.
 
-    "Licensed Patents " mean patent claims licensable by a Contributor which
-    are necessarily infringed by the use or sale of its Contribution alone
-    or when combined with the Program.
+    "Licensed Patents" mean patent claims licensable by a Contributor which are
+    necessarily infringed by the use or sale of its Contribution alone or when
+    combined with the Program.
 
-    "Program" means the Contributions distributed in accordance with this
-    Agreement.
+    "Program" means the Contributions distributed in accordance with this Agreement.
 
     "Recipient" means anyone who receives the Program under this Agreement,
     including all Contributors.
@@ -318,190 +290,248 @@ JUnit test library (junit-3.8.1.jar)
     2. GRANT OF RIGHTS
 
     a) Subject to the terms of this Agreement, each Contributor hereby grants
-       Recipient a non-exclusive, worldwide, royalty-free copyright license
-       to reproduce, prepare derivative works of, publicly display, publicly
-       perform, distribute and sublicense the Contribution of such
-       Contributor, if any, and such derivative works, in source code and
-       object code form.
-
+       Recipient a non-exclusive, worldwide, royalty-free copyright license to
+       reproduce, prepare derivative works of, publicly display, publicly
+       perform, distribute and sublicense the Contribution of such Contributor,
+       if any, and such derivative works, in source code and object code form.
     b) Subject to the terms of this Agreement, each Contributor hereby grants
        Recipient a non-exclusive, worldwide, royalty-free patent license under
-       Licensed Patents to make, use, sell, offer to sell, import and
-       otherwise transfer the Contribution of such Contributor, if any, in
-       source code and object code form. This patent license shall apply to
-       the combination of the Contribution and the Program if, at the time
-       the Contribution is added by the Contributor, such addition of the
-       Contribution causes such combination to be covered by the Licensed
-       Patents. The patent license shall not apply to any other combinations
-       which include the Contribution. No hardware per se is licensed
-       hereunder.
-
-    c) Recipient understands that although each Contributor grants the
-       licenses to its Contributions set forth herein, no assurances are
-       provided by any Contributor that the Program does not infringe the
-       patent or other intellectual property rights of any other entity.
-       Each Contributor disclaims any liability to Recipient for claims
-       brought by any other entity based on infringement of intellectual
-       property rights or otherwise. As a condition to exercising the rights
-       and licenses granted hereunder, each Recipient hereby assumes sole
-       responsibility to secure any other intellectual property rights
-       needed, if any. For example, if a third party patent license is
-       required to allow Recipient to distribute the Program, it is
-       Recipient's responsibility to acquire that license before
-       distributing the Program.
-
+       Licensed Patents to make, use, sell, offer to sell, import and otherwise
+       transfer the Contribution of such Contributor, if any, in source code
+       and object code form. This patent license shall apply to the combination
+       of the Contribution and the Program if, at the time the Contribution is
+       added by the Contributor, such addition of the Contribution causes such
+       combination to be covered by the Licensed Patents. The patent license
+       shall not apply to any other combinations which include the Contribution.
+       No hardware per se is licensed hereunder.
+    c) Recipient understands that although each Contributor grants the licenses
+       to its Contributions set forth herein, no assurances are provided by any
+       Contributor that the Program does not infringe the patent or other
+       intellectual property rights of any other entity. Each Contributor
+       disclaims any liability to Recipient for claims brought by any other
+       entity based on infringement of intellectual property rights or
+       otherwise. As a condition to exercising the rights and licenses granted
+       hereunder, each Recipient hereby assumes sole responsibility to secure
+       any other intellectual property rights needed, if any. For example, if
+       a third party patent license is required to allow Recipient to distribute
+       the Program, it is Recipient's responsibility to acquire that license
+       before distributing the Program.
     d) Each Contributor represents that to its knowledge it has sufficient
        copyright rights in its Contribution, if any, to grant the copyright
        license set forth in this Agreement.
 
     3. REQUIREMENTS
 
-    A Contributor may choose to distribute the Program in object code form
-    under its own license agreement, provided that:
+    A Contributor may choose to distribute the Program in object code form under
+    its own license agreement, provided that:
 
     a) it complies with the terms and conditions of this Agreement; and
-
     b) its license agreement:
-
-       i)   effectively disclaims on behalf of all Contributors all warranties
-            and conditions, express and implied, including warranties or
-            conditions of title and non-infringement, and implied warranties
-            or conditions of merchantability and fitness for a particular
-            purpose;
-
-       ii)  effectively excludes on behalf of all Contributors all liability
-            for damages, including direct, indirect, special, incidental and
-            consequential damages, such as lost profits;
-
-       iii) states that any provisions which differ from this Agreement are
-            offered by that Contributor alone and not by any other party; and
-
-       iv)  states that source code for the Program is available from such
-            Contributor, and informs licensees how to obtain it in a
-            reasonable manner on or through a medium customarily used for
-            software exchange.
+    i) effectively disclaims on behalf of all Contributors all warranties and
+       conditions, express and implied, including warranties or conditions of
+       title and non-infringement, and implied warranties or conditions of
+       merchantability and fitness for a particular purpose;
+    ii) effectively excludes on behalf of all Contributors all liability for
+       damages, including direct, indirect, special, incidental and
+       consequential damages, such as lost profits;
+    iii) states that any provisions which differ from this Agreement are
+       offered by that Contributor alone and not by any other party; and
+    iv) states that source code for the Program is available from such
+       Contributor, and informs licensees how to obtain it in a reasonable
+       manner on or through a medium customarily used for software exchange.
 
     When the Program is made available in source code form:
 
     a) it must be made available under this Agreement; and
+    b) a copy of this Agreement must be included with each copy of the Program.
+       Contributors may not remove or alter any copyright notices contained
+       within the Program.
 
-    b) a copy of this Agreement must be included with each copy of
-       the Program.
-
-    Contributors may not remove or alter any copyright notices contained
-    within the Program.
-
-    Each Contributor must identify itself as the originator of its
-    Contribution, if any, in a manner that reasonably allows subsequent
-    Recipients to identify the originator of the Contribution.
+    Each Contributor must identify itself as the originator of its Contribution,
+    if any, in a manner that reasonably allows subsequent Recipients to identify
+    the originator of the Contribution.
 
     4. COMMERCIAL DISTRIBUTION
 
-    Commercial distributors of software may accept certain responsibilities
-    with respect to end users, business partners and the like. While this
-    license is intended to facilitate the commercial use of the Program,
-    the Contributor who includes the Program in a commercial product offering
-    should do so in a manner which does not create potential liability for
-    other Contributors. Therefore, if a Contributor includes the Program
-    in a commercial product offering, such Contributor ("Commercial
-    Contributor") hereby agrees to defend and indemnify every other
-    Contributor ("Indemnified Contributor") against any losses, damages
-    and costs (collectively "Losses") arising from claims, lawsuits and
-    other legal actions brought by a third party against the Indemnified
-    Contributor to the extent caused by the acts or omissions of such
-    Commercial Contributor in connection with its distribution of the
-    Program in a commercial product offering. The obligations in this
-    section do not apply to any claims or Losses relating to any actual
-    or alleged intellectual property infringement. In order to qualify,
-    an Indemnified Contributor must: a) promptly notify the Commercial
-    Contributor in writing of such claim, and b) allow the Commercial
-    Contributor to control, and cooperate with the Commercial Contributor
-    in, the defense and any related settlement negotiations. The Indemnified
-    Contributor may participate in any such claim at its own expense.
-
-    For example, a Contributor might include the Program in a commercial
-    product offering, Product X. That Contributor is then a Commercial
-    Contributor. If that Commercial Contributor then makes performance
-    claims, or offers warranties related to Product X, those performance
-    claims and warranties are such Commercial Contributor's responsibility
-    alone. Under this section, the Commercial Contributor would have to
-    defend claims against the other Contributors related to those
-    performance claims and warranties, and if a court requires any other
-    Contributor to pay any damages as a result, the Commercial Contributor
-    must pay those damages.
+    Commercial distributors of software may accept certain responsibilities with
+    respect to end users, business partners and the like. While this license is
+    intended to facilitate the commercial use of the Program, the Contributor
+    who includes the Program in a commercial product offering should do so in a
+    manner which does not create potential liability for other Contributors.
+    Therefore, if a Contributor includes the Program in a commercial product
+    offering, such Contributor ("Commercial Contributor") hereby agrees to
+    defend and indemnify every other Contributor ("Indemnified Contributor")
+    against any losses, damages and costs (collectively "Losses") arising from
+    claims, lawsuits and other legal actions brought by a third party against
+    the Indemnified Contributor to the extent caused by the acts or omissions
+    of such Commercial Contributor in connection with its distribution of the
+    Program in a commercial product offering. The obligations in this section
+    do not apply to any claims or Losses relating to any actual or alleged
+    intellectual property infringement. In order to qualify, an Indemnified
+    Contributor must: a) promptly notify the Commercial Contributor in writing
+    of such claim, and b) allow the Commercial Contributor to control, and
+    cooperate with the Commercial Contributor in, the defense and any related
+    settlement negotiations. The Indemnified Contributor may participate in any
+    such claim at its own expense.
+
+    For example, a Contributor might include the Program in a commercial product
+    offering, Product X. That Contributor is then a Commercial Contributor. If
+    that Commercial Contributor then makes performance claims, or offers
+    warranties related to Product X, those performance claims and warranties are
+    such Commercial Contributor's responsibility alone. Under this section, the
+    Commercial Contributor would have to defend claims against the other
+    Contributors related to those performance claims and warranties, and if a
+    court requires any other Contributor to pay any damages as a result, the
+    Commercial Contributor must pay those damages.
 
     5. NO WARRANTY
 
-    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED
-    ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
+    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON
+    AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
     EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR
-    CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR
-    A PARTICULAR PURPOSE. Each Recipient is solely responsible for
-    determining the appropriateness of using and distributing the Program
-    and assumes all risks associated with its exercise of rights under this
-    Agreement, including but not limited to the risks and costs of program
-    errors, compliance with applicable laws, damage to or loss of data,
-    programs or equipment, and unavailability or interruption of operations.
+    CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A
+    PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the
+    appropriateness of using and distributing the Program and assumes all risks
+    associated with its exercise of rights under this Agreement , including but
+    not limited to the risks and costs of program errors, compliance with
+    applicable laws, damage to or loss of data, programs or equipment, and
+    unavailability or interruption of operations.
 
     6. DISCLAIMER OF LIABILITY
 
-    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
-    ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
-    INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
-    WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
-    LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
-    DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
-    HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
+    CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
+    LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+    ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
+    EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY
+    OF SUCH DAMAGES.
 
     7. GENERAL
 
     If any provision of this Agreement is invalid or unenforceable under
-    applicable law, it shall not affect the validity or enforceability of
-    the remainder of the terms of this Agreement, and without further
-    action by the parties hereto, such provision shall be reformed to the
-    minimum extent necessary to make such provision valid and enforceable.
-
-    If Recipient institutes patent litigation against a Contributor with
-    respect to a patent applicable to software (including a cross-claim or
-    counterclaim in a lawsuit), then any patent licenses granted by that
-    Contributor to such Recipient under this Agreement shall terminate as of
-    the date such litigation is filed. In addition, if Recipient institutes
-    patent litigation against any entity (including a cross-claim or
-    counterclaim in a lawsuit) alleging that the Program itself (excluding
-    combinations of the Program with other software or hardware) infringes
-    such Recipient's patent(s), then such Recipient's rights granted under
-    Section 2(b) shall terminate as of the date such litigation is filed.
-
-    All Recipient's rights under this Agreement shall terminate if it fails
-    to comply with any of the material terms or conditions of this Agreement
-    and does not cure such failure in a reasonable period of time after
-    becoming aware of such noncompliance. If all Recipient's rights under
-    this Agreement terminate, Recipient agrees to cease use and distribution
-    of the Program as soon as reasonably practicable. However, Recipient's
-    obligations under this Agreement and any licenses granted by Recipient
-    relating to the Program shall continue and survive.
-
-    Everyone is permitted to copy and distribute copies of this Agreement,
-    but in order to avoid inconsistency the Agreement is copyrighted and may
-    only be modified in the following manner. The Agreement Steward reserves
-    the right to publish new versions (including revisions) of this Agreement
-    from time to time. No one other than the Agreement Steward has the right
-    to modify this Agreement. IBM is the initial Agreement Steward. IBM may
-    assign the responsibility to serve as the Agreement Steward to a suitable
-    separate entity. Each new version of the Agreement will be given a
-    distinguishing version number. The Program (including Contributions) may
-    always be distributed subject to the version of the Agreement under which
-    it was received. In addition, after a new version of the Agreement is
-    published, Contributor may elect to distribute the Program (including
-    its Contributions) under the new version. Except as expressly stated in
-    Sections 2(a) and 2(b) above, Recipient receives no rights or licenses
-    to the intellectual property of any Contributor under this Agreement,
-    whether expressly, by implication, estoppel or otherwise. All rights in
-    the Program not expressly granted under this Agreement are reserved.
+    applicable law, it shall not affect the validity or enforceability of the
+    remainder of the terms of this Agreement, and without further action by the
+    parties hereto, such provision shall be reformed to the minimum extent
+    necessary to make such provision valid and enforceable.
+
+    If Recipient institutes patent litigation against any entity (including a
+    cross-claim or counterclaim in a lawsuit) alleging that the Program itself
+    (excluding combinations of the Program with other software or hardware)
+    infringes such Recipient's patent(s), then such Recipient's rights granted
+    under Section 2(b) shall terminate as of the date such litigation is filed.
+
+    All Recipient's rights under this Agreement shall terminate if it fails to
+    comply with any of the material terms or conditions of this Agreement and
+    does not cure such failure in a reasonable period of time after becoming
+    aware of such noncompliance. If all Recipient's rights under this Agreement
+    terminate, Recipient agrees to cease use and distribution of the Program as
+    soon as reasonably practicable. However, Recipient's obligations under this
+    Agreement and any licenses granted by Recipient relating to the Program
+    shall continue and survive.
+
+    Everyone is permitted to copy and distribute copies of this Agreement, but
+    in order to avoid inconsistency the Agreement is copyrighted and may only
+    be modified in the following manner. The Agreement Steward reserves the
+    right to publish new versions (including revisions) of this Agreement from
+    time to time. No one other than the Agreement Steward has the right to
+    modify this Agreement. The Eclipse Foundation is the initial Agreement
+    Steward. The Eclipse Foundation may assign the responsibility to serve as
+    the Agreement Steward to a suitable separate entity. Each new version of
+    the Agreement will be given a distinguishing version number. The Program
+    (including Contributions) may always be distributed subject to the version
+    of the Agreement under which it was received. In addition, after a new
+    version of the Agreement is published, Contributor may elect to distribute
+    the Program (including its Contributions) under the new version. Except as
+    expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+    rights or licenses to the intellectual property of any Contributor under
+    this Agreement, whether expressly, by implication, estoppel or otherwise.
+    All rights in the Program not expressly granted under this Agreement are
+    reserved.
 
     This Agreement is governed by the laws of the State of New York and the
-    intellectual property laws of the United States of America. No party to
-    this Agreement will bring a legal action under this Agreement more than
-    one year after the cause of action arose. Each party waives its rights
-    to a jury trial in any resulting litigation.
+    intellectual property laws of the United States of America. No party to this
+    Agreement will bring a legal action under this Agreement more than one year
+    after the cause of action arose. Each party waives its rights to a jury
+    trial in any resulting litigation.
+
+Hamcrest library (hamcrest-*.jar) & CuvesAPI / Curve API
+
+    BSD License
+
+    Copyright (c) 2000-2006, www.hamcrest.org
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+
+    Redistributions of source code must retain the above copyright notice, this
+    list of conditions and the following disclaimer. Redistributions in binary
+    form must reproduce the above copyright notice, this list of conditions and
+    the following disclaimer in the documentation and/or other materials
+    provided with the distribution.
+
+    Neither the name of Hamcrest nor the names of its contributors may be used
+    to endorse or promote products derived from this software without specific
+    prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+
+SLF4J library (slf4j-api-*.jar)
+
+    Copyright (c) 2004-2013 QOS.ch
+    All rights reserved.
+
+    Permission is hereby granted, free  of charge, to any person obtaining
+    a  copy  of this  software  and  associated  documentation files  (the
+    "Software"), to  deal in  the Software without  restriction, including
+    without limitation  the rights to  use, copy, modify,  merge, publish,
+    distribute,  sublicense, and/or sell  copies of  the Software,  and to
+    permit persons to whom the Software  is furnished to do so, subject to
+    the following conditions:
+
+    The  above  copyright  notice  and  this permission  notice  shall  be
+    included in all copies or substantial portions of the Software.
+
+    THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+    EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+    MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+    NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+    LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+    OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+    WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+inbot-utils (https://github.com/Inbot/inbot-utils)
+
+	The MIT License (MIT)
+
+	Copyright (c) 2015 Inbot
+
+	Permission is hereby granted, free of charge, to any person obtaining a copy
+	of this software and associated documentation files (the "Software"), to deal
+	in the Software without restriction, including without limitation the rights
+	to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+	copies of the Software, and to permit persons to whom the Software is
+	furnished to do so, subject to the following conditions:
+
+	The above copyright notice and this permission notice shall be included in all
+	copies or substantial portions of the Software.
+
+	THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+	IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+	FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+	AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+	LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+	OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+	SOFTWARE.
diff --git a/solr/licenses/poi-scratchpad-NOTICE.txt b/solr/licenses/poi-scratchpad-NOTICE.txt
index 6d9855f..2518506 100644
--- a/solr/licenses/poi-scratchpad-NOTICE.txt
+++ b/solr/licenses/poi-scratchpad-NOTICE.txt
@@ -1,21 +1,24 @@
 Apache POI
-Copyright 2009 The Apache Software Foundation
+Copyright 2003-2019 The Apache Software Foundation
 
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
-This product contains the DOM4J library (http://www.dom4j.org).
-Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+This product includes software developed at
+The Apache Software Foundation (https://www.apache.org/).
 
 This product contains parts that were originally based on software from BEA.
-Copyright (c) 2000-2003, BEA Systems, <http://www.bea.com/>.
+Copyright (c) 2000-2003, BEA Systems, <http://www.bea.com/> (dead link),
+which was acquired by Oracle Corporation in 2008.
+<http://www.oracle.com/us/corporate/Acquisitions/bea/index.html>
+<https://en.wikipedia.org/wiki/BEA_Systems>
 
 This product contains W3C XML Schema documents. Copyright 2001-2003 (c)
 World Wide Web Consortium (Massachusetts Institute of Technology, European
 Research Consortium for Informatics and Mathematics, Keio University)
 
-This product contains the Piccolo XML Parser for Java
-(http://piccolo.sourceforge.net/). Copyright 2002 Yuval Oren.
-
 This product contains the chunks_parse_cmds.tbl file from the vsdump program.
 Copyright (C) 2006-2007 Valek Filippov (frob@df.ru)
+
+This product contains parts of the eID Applet project
+<http://eid-applet.googlecode.com> and <https://github.com/e-Contract/eid-applet>.
+Copyright (c) 2009-2014
+FedICT (federal ICT department of Belgium), e-Contract.be BVBA (https://www.e-contract.be),
+Bart Hanssens from FedICT