From 698d22967c6c8b36b81c2633d53abcc7e6612679 Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Tue, 1 Mar 2011 18:12:44 +0000 Subject: [PATCH] Start on unit tests for HMEF. Quite a bit is still stubbed out, and it shows that the LZW isn't quite right yet (so tests disabled) git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1075955 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/poi/util/LZWDecompresser.java | 12 +- .../src/org/apache/poi/hdgf/HDGFLZW.java | 2 +- .../src/org/apache/poi/hmef/Attribute.java | 5 + .../org/apache/poi/hmef/CompressedRTF.java | 2 +- .../src/org/apache/poi/hmef/HMEFMessage.java | 53 ++++++ .../apache/poi/hmef/TestCompressedRTF.java | 155 ++++++++++++++++++ .../org/apache/poi/hmef/TestHMEFMessage.java | 103 ++++++++++++ .../org/apache/poi/POIDataSamples.java | 6 + test-data/hmef/quick-contents/message.rtf | 6 + test-data/hmef/quick-contents/quick.doc | Bin 0 -> 19968 bytes test-data/hmef/quick-contents/quick.html | 17 ++ test-data/hmef/quick-contents/quick.pdf | Bin 0 -> 18638 bytes test-data/hmef/quick-contents/quick.txt | 7 + test-data/hmef/quick-contents/quick.xml | 5 + test-data/hmef/quick-winmail.dat | Bin 0 -> 66276 bytes 15 files changed, 368 insertions(+), 5 deletions(-) create mode 100644 src/scratchpad/testcases/org/apache/poi/hmef/TestCompressedRTF.java create mode 100644 src/scratchpad/testcases/org/apache/poi/hmef/TestHMEFMessage.java create mode 100644 test-data/hmef/quick-contents/message.rtf create mode 100644 test-data/hmef/quick-contents/quick.doc create mode 100644 test-data/hmef/quick-contents/quick.html create mode 100644 test-data/hmef/quick-contents/quick.pdf create mode 100644 test-data/hmef/quick-contents/quick.txt create mode 100644 test-data/hmef/quick-contents/quick.xml create mode 100644 test-data/hmef/quick-winmail.dat diff --git a/src/java/org/apache/poi/util/LZWDecompresser.java b/src/java/org/apache/poi/util/LZWDecompresser.java index f172a01db4..51926b6c25 100644 --- a/src/java/org/apache/poi/util/LZWDecompresser.java +++ b/src/java/org/apache/poi/util/LZWDecompresser.java @@ -35,10 +35,16 @@ public abstract class LZWDecompresser { /** * Does the mask bit mean it's compressed or uncompressed? */ - private boolean maskMeansCompressed; + private final boolean maskMeansCompressed; + /** + * How much to append to the code length in the stream + * to get the real code length? Normally 2 or 3 + */ + private final int codeLengthIncrease; - protected LZWDecompresser(boolean maskMeansCompressed) { + protected LZWDecompresser(boolean maskMeansCompressed, int codeLengthIncrease) { this.maskMeansCompressed = maskMeansCompressed; + this.codeLengthIncrease = codeLengthIncrease; } /** @@ -135,7 +141,7 @@ public abstract class LZWDecompresser { // what position of the code to start at // (The position is the first 12 bits, the // length is the last 4 bits) - len = (dataIPt2 & 15) + 3; + len = (dataIPt2 & 15) + codeLengthIncrease; pntr = (dataIPt2 & 240)*16 + dataIPt1; // Adjust the pointer as needed diff --git a/src/scratchpad/src/org/apache/poi/hdgf/HDGFLZW.java b/src/scratchpad/src/org/apache/poi/hdgf/HDGFLZW.java index 290c14799b..f122c40f17 100644 --- a/src/scratchpad/src/org/apache/poi/hdgf/HDGFLZW.java +++ b/src/scratchpad/src/org/apache/poi/hdgf/HDGFLZW.java @@ -38,7 +38,7 @@ import org.apache.poi.util.LZWDecompresser; public class HDGFLZW extends LZWDecompresser { public HDGFLZW() { // We're the wrong way round! - super(false); + super(false, 3); } /** diff --git a/src/scratchpad/src/org/apache/poi/hmef/Attribute.java b/src/scratchpad/src/org/apache/poi/hmef/Attribute.java index d5e5aebdd8..8f7372ef1e 100644 --- a/src/scratchpad/src/org/apache/poi/hmef/Attribute.java +++ b/src/scratchpad/src/org/apache/poi/hmef/Attribute.java @@ -254,4 +254,9 @@ public final class Attribute { public byte[] getData() { return data; } + + public String toString() { + return "Attachment " + getId().toString() + ", type=" + type + + ", data length=" + data.length; + } } diff --git a/src/scratchpad/src/org/apache/poi/hmef/CompressedRTF.java b/src/scratchpad/src/org/apache/poi/hmef/CompressedRTF.java index aa3b41c650..81218bc9ba 100644 --- a/src/scratchpad/src/org/apache/poi/hmef/CompressedRTF.java +++ b/src/scratchpad/src/org/apache/poi/hmef/CompressedRTF.java @@ -54,7 +54,7 @@ public final class CompressedRTF extends LZWDecompresser { "{\\colortbl\\red0\\green0\\blue0\n\r\\par \\pard\\plain\\f0\\fs20\\b\\i\\u\\tab\\tx"; public CompressedRTF() { - super(true); + super(true, 2); } public void decompress(InputStream src, OutputStream res) throws IOException { diff --git a/src/scratchpad/src/org/apache/poi/hmef/HMEFMessage.java b/src/scratchpad/src/org/apache/poi/hmef/HMEFMessage.java index d86e6afad6..d74bcbefae 100644 --- a/src/scratchpad/src/org/apache/poi/hmef/HMEFMessage.java +++ b/src/scratchpad/src/org/apache/poi/hmef/HMEFMessage.java @@ -22,6 +22,8 @@ import java.io.InputStream; import java.util.ArrayList; import java.util.List; +import org.apache.poi.hmef.Attribute.AttributeID; +import org.apache.poi.hsmf.datatypes.MAPIProperty; import org.apache.poi.util.LittleEndian; /** @@ -103,4 +105,55 @@ public final class HMEFMessage { // Handle the next one down process(inp, level); } + + /** + * Returns all HMEF/TNEF attributes of the message. + * Note - In a typical message, most of the interesting properties + * are stored as {@link MAPIAttribute}s - see {@link #getMessageMAPIAttributes()} + */ + public List getMessageAttributes() { + return messageAttributes; + } + + /** + * Returns all MAPI attributes of the message. + * Note - A small number of HMEF/TNEF specific attributes normally + * apply to most messages, see {@link #getMessageAttributes()} + */ + public List getMessageMAPIAttributes() { + return mapiAttributes; + } + + /** + * Returns all the Attachments of the message. + */ + public List getAttachments() { + return attachments; + } + + /** + * Return the message attribute with the given ID, + * or null if there isn't one. + */ + public Attribute getMessageAttribute(AttributeID id) { + for(Attribute attr : messageAttributes) { + if(attr.getId() == id) { + return attr; + } + } + return null; + } + + /** + * Return the message MAPI Attribute with the given ID, + * or null if there isn't one. + */ + public MAPIAttribute getMessageMAPIAttribute(MAPIProperty id) { + for(MAPIAttribute attr : mapiAttributes) { + if(attr.getProperty() == id) { + return attr; + } + } + return null; + } } diff --git a/src/scratchpad/testcases/org/apache/poi/hmef/TestCompressedRTF.java b/src/scratchpad/testcases/org/apache/poi/hmef/TestCompressedRTF.java new file mode 100644 index 0000000000..f9cc09c37a --- /dev/null +++ b/src/scratchpad/testcases/org/apache/poi/hmef/TestCompressedRTF.java @@ -0,0 +1,155 @@ +/* ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + 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. +==================================================================== */ + +package org.apache.poi.hmef; + +import java.io.ByteArrayInputStream; + +import junit.framework.TestCase; + +import org.apache.poi.POIDataSamples; +import org.apache.poi.hmef.Attribute.AttributeID; +import org.apache.poi.hsmf.datatypes.MAPIProperty; +import org.apache.poi.util.LittleEndian; +import org.apache.poi.util.StringUtil; + +public final class TestCompressedRTF extends TestCase { + private static final POIDataSamples _samples = POIDataSamples.getHMEFInstance(); + + private static final String block1 = "{\\rtf1\\adeflang102"; + private static final String block2 = block1 + "5\\ansi\\ansicpg1252"; + + /** + * Check that things are as we expected. If this fails, + * then decoding has no hope... + */ + public void testQuickBasics() throws Exception { + HMEFMessage msg = new HMEFMessage( + _samples.openResourceAsStream("quick-winmail.dat") + ); + + MAPIAttribute rtfAttr = msg.getMessageMAPIAttribute(MAPIProperty.RTF_COMPRESSED); + assertNotNull(rtfAttr); + assertTrue(rtfAttr instanceof MAPIRtfAttribute); + + // Check the start of the compressed version + assertEquals(5907, rtfAttr.getData().length); + + // First 16 bytes is header stuff + // Check it has the length + compressed marker + assertEquals(5907-4, LittleEndian.getShort(rtfAttr.getData())); + assertEquals( + "LZFu", + StringUtil.getFromCompressedUnicode(rtfAttr.getData(), 8, 4) + ); + + + // Now Look at the code + assertEquals((byte)0x07, rtfAttr.getData()[16+0]); // Flag: cccUUUUU + assertEquals((byte)0x00, rtfAttr.getData()[16+1]); // c1a: offset 0 / 0x000 + assertEquals((byte)0x06, rtfAttr.getData()[16+2]); // c1b: length 6+2 -> {\rtf1\a + assertEquals((byte)0x01, rtfAttr.getData()[16+3]); // c2a: offset 16 / 0x010 + assertEquals((byte)0x01, rtfAttr.getData()[16+4]); // c2b: length 1+2 -> def + assertEquals((byte)0x0b, rtfAttr.getData()[16+5]); // c3a: offset 182 / 0xb6 + assertEquals((byte)0x60, rtfAttr.getData()[16+6]); // c3b: length 0+2 -> la + assertEquals((byte)0x6e, rtfAttr.getData()[16+7]); // n + assertEquals((byte)0x67, rtfAttr.getData()[16+8]); // g + assertEquals((byte)0x31, rtfAttr.getData()[16+9]); // 1 + assertEquals((byte)0x30, rtfAttr.getData()[16+10]); // 0 + assertEquals((byte)0x32, rtfAttr.getData()[16+11]); // 2 + + assertEquals((byte)0x66, rtfAttr.getData()[16+12]); // Flag: UccUUccU + assertEquals((byte)0x35, rtfAttr.getData()[16+13]); // 5 + assertEquals((byte)0x00, rtfAttr.getData()[16+14]); // c2a: offset 6 / 0x006 + assertEquals((byte)0x64, rtfAttr.getData()[16+15]); // c2b: length 4+2 -> \ansi\a + assertEquals((byte)0x00, rtfAttr.getData()[16+16]); // c3a: offset 7 / 0x007 + assertEquals((byte)0x72, rtfAttr.getData()[16+17]); // c3b: length 2+2 -> nsi + assertEquals((byte)0x63, rtfAttr.getData()[16+18]); // c + assertEquals((byte)0x70, rtfAttr.getData()[16+19]); // p + assertEquals((byte)0x0d, rtfAttr.getData()[16+20]); // c6a: offset 221 / 0x0dd + assertEquals((byte)0xd0, rtfAttr.getData()[16+21]); // c6b: length 0+2 -> g1 + assertEquals((byte)0x0e, rtfAttr.getData()[16+22]); // c7a: offset 224 / 0x0e0 + assertEquals((byte)0x00, rtfAttr.getData()[16+23]); // c7b: length 0+2 -> 25 + assertEquals((byte)0x32, rtfAttr.getData()[16+24]); // 2 + } + + /** + * Check that we can decode the first 8 codes + * (1 flag byte + 8 codes) + */ + public void DISABLEDtestFirstBlock() throws Exception { + HMEFMessage msg = new HMEFMessage( + _samples.openResourceAsStream("quick-winmail.dat") + ); + + MAPIAttribute rtfAttr = msg.getMessageMAPIAttribute(MAPIProperty.RTF_COMPRESSED); + assertNotNull(rtfAttr); + + // Truncate to header + flag + data for flag + byte[] data = new byte[16+12]; + System.arraycopy(rtfAttr.getData(), 0, data, 0, data.length); + + // Decompress it + CompressedRTF comp = new CompressedRTF(); + byte[] decomp = comp.decompress(new ByteArrayInputStream(data)); + String decompStr = new String(decomp, "ASCII"); + + // Test +System.err.println(decompStr); + assertEquals(block1.length(), decomp.length); + assertEquals(block1, decompStr); + } + + /** + * Check that we can decode the first 16 codes + * (flag + 8 codes, flag + 8 codes) + */ + public void DISABLEDtestFirstTwoBlocks() throws Exception { + HMEFMessage msg = new HMEFMessage( + _samples.openResourceAsStream("quick-winmail.dat") + ); + + MAPIAttribute rtfAttr = msg.getMessageMAPIAttribute(MAPIProperty.RTF_COMPRESSED); + assertNotNull(rtfAttr); + + // Truncate to header + flag + data for flag + flag + data + byte[] data = new byte[16+12+13]; + System.arraycopy(rtfAttr.getData(), 0, data, 0, data.length); + + // Decompress it + CompressedRTF comp = new CompressedRTF(); + byte[] decomp = comp.decompress(new ByteArrayInputStream(data)); + String decompStr = new String(decomp, "ASCII"); + + // Test +System.err.println(decompStr); + assertEquals(block2.length(), decomp.length); + assertEquals(block2, decompStr); + } + + /** + * Check that we can correctly decode the whole file + * @throws Exception + */ + public void testFull() throws Exception { + HMEFMessage msg = new HMEFMessage( + _samples.openResourceAsStream("quick-winmail.dat") + ); + + // TODO + } +} diff --git a/src/scratchpad/testcases/org/apache/poi/hmef/TestHMEFMessage.java b/src/scratchpad/testcases/org/apache/poi/hmef/TestHMEFMessage.java new file mode 100644 index 0000000000..33e1edbbe3 --- /dev/null +++ b/src/scratchpad/testcases/org/apache/poi/hmef/TestHMEFMessage.java @@ -0,0 +1,103 @@ +/* ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + 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. +==================================================================== */ + +package org.apache.poi.hmef; + +import junit.framework.TestCase; + +import org.apache.poi.POIDataSamples; + +public final class TestHMEFMessage extends TestCase { + private static final POIDataSamples _samples = POIDataSamples.getHMEFInstance(); + + public void testOpen() throws Exception { + HMEFMessage msg = new HMEFMessage( + _samples.openResourceAsStream("quick-winmail.dat") + ); + + assertNotNull(msg); + } + + public void testCounts() throws Exception { + HMEFMessage msg = new HMEFMessage( + _samples.openResourceAsStream("quick-winmail.dat") + ); + + // Should have 4 attributes on the message + assertEquals(4, msg.getMessageAttributes().size()); + + // And should have 54 MAPI attributes on it + assertEquals(54, msg.getMessageMAPIAttributes().size()); + + + // Should have 5 attachments + assertEquals(5, msg.getAttachments().size()); + + // Each attachment should have 6 normal attributes, and + // 20 or so MAPI ones + for(Attachment attach : msg.getAttachments()) { + int attrCount = attach.getAttributes().size(); + int mapiAttrCount = attach.getMAPIAttributes().size(); + + assertEquals(6, attrCount); + // TODO +// assertTrue("Should be 3-4 attributes, found " + mapiAttrCount, mapiAttrCount >= 20); +// assertTrue("Should be 3-4 attributes, found " + mapiAttrCount, mapiAttrCount <= 25); + } + + + // TODO + } + + public void testBasicMessageAttributes() throws Exception { + HMEFMessage msg = new HMEFMessage( + _samples.openResourceAsStream("quick-winmail.dat") + ); + + // Should have version, codepage, class and MAPI + assertEquals(4, msg.getMessageAttributes().size()); + assertNotNull(msg.getMessageAttribute(Attribute.ID_TNEFVERSION)); + assertNotNull(msg.getMessageAttribute(Attribute.ID_OEMCODEPAGE)); + assertNotNull(msg.getMessageAttribute(Attribute.ID_MESSAGECLASS)); + assertNotNull(msg.getMessageAttribute(Attribute.ID_MAPIPROPERTIES)); + + // Check the order + assertEquals(Attribute.ID_TNEFVERSION, msg.getMessageAttributes().get(0).getId()); + assertEquals(Attribute.ID_OEMCODEPAGE, msg.getMessageAttributes().get(1).getId()); + assertEquals(Attribute.ID_MESSAGECLASS, msg.getMessageAttributes().get(2).getId()); + assertEquals(Attribute.ID_MAPIPROPERTIES, msg.getMessageAttributes().get(3).getId()); + + // Check some that aren't there + assertNull(msg.getMessageAttribute(Attribute.ID_AIDOWNER)); + assertNull(msg.getMessageAttribute(Attribute.ID_ATTACHDATA)); + + // Now check the details of one or two + // TODO + } + + public void testBasicMessageMAPIAttributes() throws Exception { + // TODO + } + + public void testBasicAttachments() throws Exception { + // TODO + } + + public void testMessageAttributeDetails() throws Exception { + // TODO + } +} diff --git a/src/testcases/org/apache/poi/POIDataSamples.java b/src/testcases/org/apache/poi/POIDataSamples.java index d4ec6d6b7d..6f60a4e184 100644 --- a/src/testcases/org/apache/poi/POIDataSamples.java +++ b/src/testcases/org/apache/poi/POIDataSamples.java @@ -35,6 +35,7 @@ public final class POIDataSamples { private static POIDataSamples _instOpenxml4j; private static POIDataSamples _instPOIFS; private static POIDataSamples _instDDF; + private static POIDataSamples _instHMEF; private static POIDataSamples _instHPSF; private static POIDataSamples _instHPBF; private static POIDataSamples _instHSMF; @@ -99,6 +100,11 @@ public final class POIDataSamples { return _instHPBF; } + public static POIDataSamples getHMEFInstance(){ + if(_instHMEF == null) _instHMEF = new POIDataSamples("hmef"); + return _instHMEF; + } + public static POIDataSamples getHSMFInstance(){ if(_instHSMF == null) _instHSMF = new POIDataSamples("hsmf"); return _instHSMF; diff --git a/test-data/hmef/quick-contents/message.rtf b/test-data/hmef/quick-contents/message.rtf new file mode 100644 index 0000000000..abbdc5433f --- /dev/null +++ b/test-data/hmef/quick-contents/message.rtf @@ -0,0 +1,6 @@ +{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507\deff0\stshfdbch31506\stshfloch31506\stshfhich31506\stshfbi31507\deflang2057\deflangfe2057\themelang2057\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f34\fbidi \froman\fcharset1\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}{\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f41\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f42\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f44\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f45\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f46\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f47\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f48\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f49\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f411\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f412\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f414\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f415\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f418\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f419\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}{\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red0\green0\blue255;\red128\green0\blue128;}{\*\defchp \f31506\fs22\lang2057\langfe1033\langfenp1033 }{\*\defpap \ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \snext0 \sqformat \spriority0 \styrsid6847920 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \snext11 \ssemihidden \sunhideused \sqformat Normal Table;}{\*\cs15 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf17 \sbasedon10 \ssemihidden \sunhideused \styrsid8740586 Hyperlink;}{\*\cs16 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf18 \sbasedon10 \ssemihidden \sunhideused \styrsid8740586 FollowedHyperlink;}{\*\cs17 \additive \rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0 \sbasedon10 \ssemihidden \spriority0 \spersonal \scompose \styrsid8740586 EmailStyle17;}}{\*\revtbl {Unknown;}}{\*\rsidtbl \rsid6847920\rsid8740586}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect \widowctrl\ftnbj\aenddoc\trackmoves1\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin150\dgvorigin0\dghshow1\dgvshow1\jexpand\viewkind5\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct\asianbrkrule\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8740586 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \b\cf0\insrsid8740586\charrsid8740586 These are five files. +\par }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \cf0\insrsid8740586 +\par +\par }{\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8740586 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033\insrsid8740586 {{\objattph {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cf0\insrsid8740586 }}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8740586 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033\insrsid8740586 {{\objattph {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cf0\insrsid8740586 }}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8740586 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033\insrsid8740586 {{\objattph {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cf0\insrsid8740586 }}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cf0\insrsid8740586 +\par Five files from }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \cf6\insrsid8740586\charrsid8740586 Hell}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \cf0\insrsid8740586 !}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \cf0\insrsid8740586 (Well Outlook actually)}{\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8740586 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033\insrsid8740586 {{\objattph {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cf0\insrsid8740586 }}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8740586 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033\insrsid8740586 {{\objattph {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cf0\insrsid8740586 }}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cf0\insrsid8740586\charrsid8740586 +\par }{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7;\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 0105000002000000180000004d73786d6c322e534158584d4c5265616465722e352e3000000000000000000000060000d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffffec69d9888b8b3d4c859eaf6cd158be0f000000000000000000000000700a60dc669ccb01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file diff --git a/test-data/hmef/quick-contents/quick.doc b/test-data/hmef/quick-contents/quick.doc new file mode 100644 index 0000000000000000000000000000000000000000..eb307fb2182f673a4e48d950b629612925aed126 GIT binary patch literal 19968 zcmeHPYiv|S6h6D%-9D(i#8Oe@@=_8?DTvQRD4{|zPz<8rFWt7=Zrk0xWxHD}F$S({4_0(6`6rNWfwD<48>DH$l7!r zA@IvvN93-?%7DnJ@t^V}ir~y5;l$Tfh>Vuj?$++(^N-Ir(h-NsK#kO+^}Fk`R5zmb z%0ebH=8~{bUK?ySnfaVvNaVSBmF4pZ6nJT=r`vrMUX8Z>s3+ISR9=W{zf@1{DOWwM*YXndrv}19 z9zOY;?W$0pZzsP@d~%c8$(0q8*M6xz+L;E$e0$${{ndUbFUH58wNZQO|9RNwJbH4* zGY?c8KIVB7(fPLn65^tIYE%3DIPhqIkn@j8+wJsj!Ebu{TGsk(>&x?3=dq5j5LZ3r zYFEpuM?Y&I)Nv|Te6_4x^$T%rm(O)RD%Ww4^Or_(RJ;2!Rb_DU48rSO|TEz@f0 zl3z0iz%N^=MtmBUR#=Fj^~he{DieRhxE6dH5?@tWESm{J5~kQMqhNEE^vK!F5pcQG zvvOm{krnXQXME>Q{yJ!3h~`ZhU-q$Q^`Mpa`53~Rl)b%b>GGY{xbS{;O=$1s%e|(w zlg$^-WpHlzwt?s+K|L6Ev%!!U44{s0+ISN1SSLS&m_~zc?hZ;r?`Y|sGgsn~d9r-U zLYdsOP(DgLE_^Tujv18WmD^=j!#?@C_hVW7*cVb&_Jip z;Abl6eK8>Kf+t=C(*W}6idSmo)CruCD0(k4@YQRZcJAG|l=+akOe&F^4)Wn2PfOWY z@{v-b3h6t3ImM1@8Cjc(Mxdg6ckrMbl;@sHE*Pma8%5GzNxbN?$-G*^dD5Aw@{zn5 zFUE0uImP$hzC|KG;floF;@LuEF0#yc&&X`d^C)JwBkOT#cS)PM%v&-0vR9ac8>cHz zp}rgSap^VJgDd^eNkW?Pv}2g78!^)zX-E4`T)WH6ymw%cb$v#!16pC|q|NM3pq+!V zgRA38f4s`tQI~I-9j`W5WIy_wKnvcCWBBKycUQYzc|*3$B481)2v`Ix0u}*_fJNZ% zM&KgCF~mt%xbZ=9^2ImKoLdzgyKh^C%)aBm_Y7@6LWPDWn^C6b5QyR1Q4nL!^B_jK z6VR5imjliR8RTx8k;&RBH^IOEve;Pm-6_>JJh;PlJK z>D#~=jFzyDWpw61XW2m9X^VyX`kanPIF(LzB|4pO&N^5)(SB+1OWK`z^u_+QMEbiD zPKz6hxxE5C%F!he$eHImg%&p%569};-IVmIUQ;9)>2aFVu~=k4^*D~ZB^hBG?p|5h z)s}So+>Vs9)=k1^Lw$oZLM~f2EhB5>;n0VjXTryPCVzO~e(p9P{_F!eF(#kxaWI=K z0u}*_fJML}U=gqgSOhEr76FTZMc{vqz}4b^|2JQLv#b7=v9G?4_`mMldyM}X(=%3Q ztQiF{KJNuF-hUdz73~*5<3L+L6G7WSjEQ%F7{~7gF^=C4;+F&mL5!nn-hZ);4hUVHm<9NonT({?%J^!``*XS9)Gd5?O z&b4{Q{fy;V&$WEU^IX5?Un*cs&$z!9#QI6#w}5U1O$ITJo&s_}tiJ%_S~c@Z$lCM| zAi!<&F1GzT@*pWjX67dFHnWX7VsI$N4%buzS(?RK;3U}*T{1>)Xdd*+)&$-Kcu1)_> z1bjIAW%z;T==1O0{Qb_`kJjY2rQ?xA%Iw=)`3U!@L1b + + + + The quick brown fox jumps over the lazy dog + + + + + + + +The quick brown fox jumps over the lazy dog + + + + diff --git a/test-data/hmef/quick-contents/quick.pdf b/test-data/hmef/quick-contents/quick.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f7a1883f05fe5d1baabc8e28962b06b133777689 GIT binary patch literal 18638 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≺ND&( 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 KWy^AUV)_LI7Z*4H literal 0 HcmV?d00001 diff --git a/test-data/hmef/quick-contents/quick.txt b/test-data/hmef/quick-contents/quick.txt new file mode 100644 index 0000000000..f89201fc87 --- /dev/null +++ b/test-data/hmef/quick-contents/quick.txt @@ -0,0 +1,7 @@ +The quick brown fox jumps over the lazy dog + +Le renard brun rapide saute par-dessus le chien paresseux + +Der schnelle braune Fuchs springt über den faulen Hund + +براون وكس السريع يقفز فوق الكلب كسالي \ No newline at end of file diff --git a/test-data/hmef/quick-contents/quick.xml b/test-data/hmef/quick-contents/quick.xml new file mode 100644 index 0000000000..3c9c602a99 --- /dev/null +++ b/test-data/hmef/quick-contents/quick.xml @@ -0,0 +1,5 @@ + + + + The quick brown fox jumps over the lazy dog + \ No newline at end of file diff --git a/test-data/hmef/quick-winmail.dat b/test-data/hmef/quick-winmail.dat new file mode 100644 index 0000000000000000000000000000000000000000..4cdaa368b973b432d27a2bfd284cce98d02bff19 GIT binary patch literal 66276 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 A2LJ#7 literal 0 HcmV?d00001