Improving Asian phonetic guide for docx and rtf files.

RTF import, export, and ooxml export for ruby text are implemented.

tdf#49073 - FILEOPEN: Furigana (ruby text) and characters with them are
missing in opened .docx files.

tdf#50786 - [TASK, METABUG] FILEOPEN, FILESAVE, FORMATTING : Japanese
ruby-character handling is broken

Change-Id: I4a5c30bad180241e3344e9da7efe7da4369fb325
Reviewed-on: https://gerrit.libreoffice.org/17241
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
diff --git a/sw/qa/extras/ooxmlimport/data/tdf49073.docx b/sw/qa/extras/ooxmlimport/data/tdf49073.docx
new file mode 100644
index 0000000..2fe82a3
--- /dev/null
+++ b/sw/qa/extras/ooxmlimport/data/tdf49073.docx
Binary files differ
diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
index 820d6f5..4108c49 100644
--- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
+++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
@@ -51,6 +51,7 @@
#include <com/sun/star/text/XTextEmbeddedObjectsSupplier.hpp>
#include <com/sun/star/text/XTextViewCursorSupplier.hpp>
#include <com/sun/star/style/BreakType.hpp>
#include <com/sun/star/text/RubyAdjust.hpp>
#include <com/sun/star/style/ParagraphAdjust.hpp>
#include <com/sun/star/style/LineSpacing.hpp>
#include <com/sun/star/style/LineSpacingMode.hpp>
@@ -2706,6 +2707,22 @@ DECLARE_OOXMLIMPORT_TEST(mathtype, "mathtype.docx")
    CPPUNIT_ASSERT(xModel->supportsService("com.sun.star.formula.FormulaProperties"));
}

DECLARE_OOXMLIMPORT_TEST(testTdf49073, "tdf49073.docx")
{
    // test case for Asisan phontic guide ( ruby text.)
    sal_Unicode aRuby[3] = {0x304D,0x3082,0x3093};
    OUString sRuby = OUString(aRuby, SAL_N_ELEMENTS(aRuby));
    CPPUNIT_ASSERT_EQUAL(sRuby,getProperty<OUString>(getParagraph(1)->getStart(), "RubyText"));
    OUString sStyle = getProperty<OUString>( getParagraph(1)->getStart(), "RubyCharStyleName");
    uno::Reference<beans::XPropertySet> xPropertySet(getStyles("CharacterStyles")->getByName(sStyle), uno::UNO_QUERY );
    CPPUNIT_ASSERT_EQUAL(5.f, getProperty<float>(xPropertySet, "CharHeight"));
    CPPUNIT_ASSERT_EQUAL(sal_Int16(text::RubyAdjust_CENTER) ,getProperty<sal_Int16>(getParagraph(2)->getStart(),"RubyAdjust"));
    CPPUNIT_ASSERT_EQUAL(sal_Int16(text::RubyAdjust_BLOCK)  ,getProperty<sal_Int16>(getParagraph(3)->getStart(),"RubyAdjust"));
    CPPUNIT_ASSERT_EQUAL(sal_Int16(text::RubyAdjust_INDENT_BLOCK),getProperty<sal_Int16>(getParagraph(4)->getStart(),"RubyAdjust"));
    CPPUNIT_ASSERT_EQUAL(sal_Int16(text::RubyAdjust_LEFT)   ,getProperty<sal_Int16>(getParagraph(5)->getStart(),"RubyAdjust"));
    CPPUNIT_ASSERT_EQUAL(sal_Int16(text::RubyAdjust_RIGHT)  ,getProperty<sal_Int16>(getParagraph(6)->getStart(),"RubyAdjust"));
}

DECLARE_OOXMLIMPORT_TEST(testTdf8255, "tdf8255.docx")
{
    uno::Reference<text::XTextDocument> xTextDocument(mxComponent, uno::UNO_QUERY);
diff --git a/sw/qa/extras/rtfexport/data/tdf49073.rtf b/sw/qa/extras/rtfexport/data/tdf49073.rtf
new file mode 100755
index 0000000..20fb927
--- /dev/null
+++ b/sw/qa/extras/rtfexport/data/tdf49073.rtf
@@ -0,0 +1,248 @@
{\rtf1\adeflang1025\ansi\ansicpg950\uc2\adeff0\deff0\stshfdbch11\stshfloch21\stshfhich21\stshfbi0\deflang1033\deflangfe1028\themelang1033\themelangfe1041\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}

{\f11\fbidi \fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}MS Mincho{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f14\fbidi \froman\fcharset136\fprq2{\*\panose 02020500000000000000}\'b7\'73\'b2\'d3\'a9\'fa\'c5\'e9{\*\falt PMingLiU};}

{\f21\fbidi \froman\fcharset0\fprq2{\*\panose 02040604050505020304}Century;}{\f21\fbidi \froman\fcharset0\fprq2{\*\panose 02040604050505020304}Century;}{\f38\fbidi \fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}@MS Mincho;}

{\f39\fbidi \froman\fcharset136\fprq2{\*\panose 02020500000000000000}@\'b7\'73\'b2\'d3\'a9\'fa\'c5\'e9;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}

{\fdbmajor\f31501\fbidi \fmodern\fcharset128\fprq1{\*\panose 020b0609070205080204}MS Gothic{\*\falt \'82\'6c\'82\'72 \'83\'53\'83\'56\'83\'62\'83\'4e};}{\fhimajor\f31502\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}

{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}

{\fdbminor\f31505\fbidi \fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}MS Mincho{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\fhiminor\f31506\fbidi \froman\fcharset0\fprq2{\*\panose 02040604050505020304}Century;}

{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f40\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f41\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}

{\f43\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f44\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f45\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f46\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}

{\f47\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f48\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f152\fbidi \fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}

{\f150\fbidi \fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f151\fbidi \fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}

{\f153\fbidi \fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f154\fbidi \fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}

{\f157\fbidi \fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f182\fbidi \froman\fcharset0\fprq2 PMingLiU Western{\*\falt PMingLiU};}{\f250\fbidi \froman\fcharset238\fprq2 Century CE;}

{\f251\fbidi \froman\fcharset204\fprq2 Century Cyr;}{\f253\fbidi \froman\fcharset161\fprq2 Century Greek;}{\f254\fbidi \froman\fcharset162\fprq2 Century Tur;}{\f257\fbidi \froman\fcharset186\fprq2 Century Baltic;}

{\f250\fbidi \froman\fcharset238\fprq2 Century CE;}{\f251\fbidi \froman\fcharset204\fprq2 Century Cyr;}{\f253\fbidi \froman\fcharset161\fprq2 Century Greek;}{\f254\fbidi \froman\fcharset162\fprq2 Century Tur;}

{\f257\fbidi \froman\fcharset186\fprq2 Century Baltic;}{\f422\fbidi \fmodern\fcharset0\fprq1 @MS Mincho Western;}{\f420\fbidi \fmodern\fcharset238\fprq1 @MS Mincho CE;}{\f421\fbidi \fmodern\fcharset204\fprq1 @MS Mincho Cyr;}

{\f423\fbidi \fmodern\fcharset161\fprq1 @MS Mincho Greek;}{\f424\fbidi \fmodern\fcharset162\fprq1 @MS Mincho Tur;}{\f427\fbidi \fmodern\fcharset186\fprq1 @MS Mincho Baltic;}{\f432\fbidi \froman\fcharset0\fprq2 @\'b7\'73\'b2\'d3\'a9\'fa\'c5\'e9 Western;}

{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}

{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}

{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}

{\fdbmajor\f31520\fbidi \fmodern\fcharset0\fprq1 MS Gothic Western{\*\falt \'82\'6c\'82\'72 \'83\'53\'83\'56\'83\'62\'83\'4e};}{\fdbmajor\f31518\fbidi \fmodern\fcharset238\fprq1 MS Gothic CE{\*\falt \'82\'6c\'82\'72 \'83\'53\'83\'56\'83\'62\'83\'4e};}

{\fdbmajor\f31519\fbidi \fmodern\fcharset204\fprq1 MS Gothic Cyr{\*\falt \'82\'6c\'82\'72 \'83\'53\'83\'56\'83\'62\'83\'4e};}{\fdbmajor\f31521\fbidi \fmodern\fcharset161\fprq1 MS Gothic Greek{\*\falt \'82\'6c\'82\'72 \'83\'53\'83\'56\'83\'62\'83\'4e};}

{\fdbmajor\f31522\fbidi \fmodern\fcharset162\fprq1 MS Gothic Tur{\*\falt \'82\'6c\'82\'72 \'83\'53\'83\'56\'83\'62\'83\'4e};}{\fdbmajor\f31525\fbidi \fmodern\fcharset186\fprq1 MS Gothic Baltic{\*\falt \'82\'6c\'82\'72 \'83\'53\'83\'56\'83\'62\'83\'4e};}

{\fhimajor\f31528\fbidi \fswiss\fcharset238\fprq2 Arial CE;}{\fhimajor\f31529\fbidi \fswiss\fcharset204\fprq2 Arial Cyr;}{\fhimajor\f31531\fbidi \fswiss\fcharset161\fprq2 Arial Greek;}{\fhimajor\f31532\fbidi \fswiss\fcharset162\fprq2 Arial Tur;}

{\fhimajor\f31533\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}{\fhimajor\f31534\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}{\fhimajor\f31535\fbidi \fswiss\fcharset186\fprq2 Arial Baltic;}

{\fhimajor\f31536\fbidi \fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}

{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}

{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}

{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}

{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}

{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}

{\fdbminor\f31560\fbidi \fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\fdbminor\f31558\fbidi \fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}

{\fdbminor\f31559\fbidi \fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\fdbminor\f31561\fbidi \fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}

{\fdbminor\f31562\fbidi \fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\fdbminor\f31565\fbidi \fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}

{\fhiminor\f31568\fbidi \froman\fcharset238\fprq2 Century CE;}{\fhiminor\f31569\fbidi \froman\fcharset204\fprq2 Century Cyr;}{\fhiminor\f31571\fbidi \froman\fcharset161\fprq2 Century Greek;}{\fhiminor\f31572\fbidi \froman\fcharset162\fprq2 Century Tur;}

{\fhiminor\f31575\fbidi \froman\fcharset186\fprq2 Century Baltic;}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}

{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}

{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\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;}{\*\defchp \loch\af21\hich\af21\dbch\af11 }{\*\defpap 

\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\qj \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 

\fs21\lang1033\langfe1041\kerning2\loch\f21\hich\af21\dbch\af11\cgrid\langnp1033\langfenp1041 \snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*

\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv 

\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1028\loch\f21\hich\af21\dbch\af11\cgrid\langnp1033\langfenp1028 \snext11 \ssemihidden \sunhideused 

Normal Table;}{\*\cs15 \additive \ul\cf2 \spriority0 \styrsid803037 Hyperlink;}{\s16\qj \li0\ri0\nowidctlpar\tqc\tx4252\tqr\tx8504\wrapdefault\aspalpha\aspnum\faauto\nosnaplinegrid\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 

\fs21\lang1033\langfe1041\kerning2\loch\f21\hich\af21\dbch\af11\cgrid\langnp1033\langfenp1041 \sbasedon0 \snext16 \slink17 \spriority0 \styrsid14094704 header;}{\*\cs17 \additive \fs24\kerning2 \slink16 \slocked \spriority0 \styrsid14094704 

\'ad\'b6\'ad\'ba \'a6\'72\'a4\'b8;}{\s18\qj \li0\ri0\nowidctlpar\tqc\tx4252\tqr\tx8504\wrapdefault\aspalpha\aspnum\faauto\nosnaplinegrid\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 

\fs21\lang1033\langfe1041\kerning2\loch\f21\hich\af21\dbch\af11\cgrid\langnp1033\langfenp1041 \sbasedon0 \snext18 \slink19 \spriority0 \styrsid14094704 footer;}{\*\cs19 \additive \fs24\kerning2 \slink18 \slocked \spriority0 \styrsid14094704 

\'ad\'b6\'a7\'c0 \'a6\'72\'a4\'b8;}}{\*\rsidtbl \rsid23672\rsid30947\rsid31012\rsid82288\rsid346725\rsid413901\rsid554586\rsid620713\rsid663701\rsid732578\rsid788601\rsid803036\rsid803037\rsid876770\rsid918329\rsid928450\rsid935569\rsid946901\rsid1008247

\rsid1118389\rsid1141272\rsid1205259\rsid1448701\rsid1472946\rsid1591126\rsid1729212\rsid1846850\rsid1993485\rsid2122473\rsid2243098\rsid2316610\rsid2556805\rsid2560625\rsid2570414\rsid2572162\rsid2578603\rsid2702481\rsid2707373\rsid2829973\rsid2850223

\rsid2886543\rsid2899805\rsid2970147\rsid3081136\rsid3107761\rsid3159692\rsid3168653\rsid3419833\rsid3432180\rsid3435529\rsid3477773\rsid3546296\rsid3553544\rsid3634007\rsid3677756\rsid3937898\rsid3947473\rsid4004186\rsid4025911\rsid4070377\rsid4078003

\rsid4091643\rsid4094663\rsid4143810\rsid4197832\rsid4269669\rsid4280418\rsid4283264\rsid4327767\rsid4392333\rsid4395625\rsid4416212\rsid4481477\rsid4527589\rsid4596999\rsid4653793\rsid4656684\rsid4670619\rsid4732617\rsid4803098\rsid4864258\rsid4877728

\rsid4881952\rsid5054701\rsid5056515\rsid5062559\rsid5117611\rsid5118629\rsid5132244\rsid5192195\rsid5197103\rsid5251286\rsid5264210\rsid5322045\rsid5395100\rsid5522990\rsid5571741\rsid5589822\rsid5602802\rsid5705885\rsid5731287\rsid5777580\rsid5908280

\rsid5979166\rsid5982689\rsid6239107\rsid6430820\rsid6496184\rsid6508554\rsid6567118\rsid6577596\rsid6621411\rsid6623602\rsid6630650\rsid6632405\rsid6645120\rsid6693336\rsid6717422\rsid6769258\rsid6822523\rsid6840578\rsid6912954\rsid7014335\rsid7040533

\rsid7159041\rsid7231469\rsid7232528\rsid7239023\rsid7364196\rsid7476065\rsid7486571\rsid7490005\rsid7495947\rsid7539123\rsid7624072\rsid7632437\rsid7734719\rsid7735956\rsid7737039\rsid7743213\rsid7802656\rsid7804234\rsid7891906\rsid7943299\rsid7948917

\rsid7951114\rsid8092488\rsid8195686\rsid8196715\rsid8216276\rsid8290222\rsid8334092\rsid8354461\rsid8400188\rsid8467086\rsid8475509\rsid8525469\rsid8587168\rsid8602350\rsid8658211\rsid8720071\rsid8793351\rsid8862604\rsid8917351\rsid8929644\rsid8938584

\rsid8982819\rsid8990180\rsid9113161\rsid9130240\rsid9189379\rsid9190144\rsid9248820\rsid9335612\rsid9510773\rsid9578119\rsid9639257\rsid9644025\rsid9646211\rsid9722221\rsid9771214\rsid9787595\rsid10039433\rsid10046310\rsid10103227\rsid10113218

\rsid10178686\rsid10245768\rsid10248512\rsid10367212\rsid10500674\rsid10514755\rsid10518494\rsid10566009\rsid10629216\rsid10641679\rsid10647504\rsid10704111\rsid10756699\rsid10771539\rsid10832873\rsid10948074\rsid10963412\rsid11037359\rsid11041476

\rsid11076844\rsid11227022\rsid11238577\rsid11482727\rsid11551494\rsid11667498\rsid11685269\rsid11687336\rsid11697339\rsid11760644\rsid11819100\rsid11866161\rsid11932279\rsid11950296\rsid11999657\rsid12013584\rsid12081840\rsid12133723\rsid12261138

\rsid12264788\rsid12265407\rsid12386324\rsid12528218\rsid12531640\rsid12550120\rsid12589772\rsid12652992\rsid12662144\rsid12677435\rsid12717390\rsid12720413\rsid12730290\rsid12742735\rsid12793552\rsid12801650\rsid12858828\rsid12864933\rsid12931366

\rsid12934351\rsid12979847\rsid13121399\rsid13197173\rsid13254297\rsid13305404\rsid13383836\rsid13443897\rsid13446813\rsid13452185\rsid13506869\rsid13649317\rsid13725615\rsid13836418\rsid13843665\rsid13911801\rsid13969104\rsid13972974\rsid13976729

\rsid13979703\rsid13986050\rsid14028393\rsid14094704\rsid14164385\rsid14289100\rsid14296877\rsid14360047\rsid14376472\rsid14448093\rsid14555991\rsid14687060\rsid14688710\rsid14777111\rsid14815447\rsid14891545\rsid14963643\rsid14969086\rsid14973664

\rsid15018323\rsid15023171\rsid15033291\rsid15078460\rsid15159072\rsid15164320\rsid15270363\rsid15293880\rsid15337149\rsid15351703\rsid15364511\rsid15413175\rsid15427733\rsid15536030\rsid15620458\rsid15686615\rsid15691612\rsid15801060\rsid15870517

\rsid15955916\rsid16083162\rsid16125816\rsid16133704\rsid16192985\rsid16214633\rsid16255323\rsid16341811\rsid16350635\rsid16389440\rsid16404733\rsid16404994\rsid16519605\rsid16539836\rsid16585642\rsid16675948\rsid16732166}{\mmathPr\mmathFont34\mbrkBin0

\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\title (Created originally using MS Word 2003)}{\author ci}{\operator Hunglm}{\creatim\yr2015\mo7\dy25\hr23\min29}{\revtim\yr2015\mo7\dy25\hr23\min29}

{\version2}{\edmins0}{\nofpages1}{\nofwords177}{\nofchars1012}{\*\company UNL-YRP}{\nofcharsws1187}{\vern49167}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}

\paperw11906\paperh16838\margl1701\margr1701\margt1985\margb1701\gutter0\ltrsect 

\deftab840\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\formshade\horzdoc\dgmargin\dghspace180\dgvspace180

\dghorigin1701\dgvorigin1985\dghshow0\dgvshow2\jcompress\lnongrid

\viewkind1\viewscale100\splytwnine\ftnlytwnine\htmautsp\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct\asianbrkrule\rsidroot803037\newtblstyruls\nogrowautofit\utinl {\upr{\*\fchars 

!),.:\'3b?]\'7d\'a2\'46\'a1\'50\'a1\'56\'a1\'58\'a1\'a6\'a1\'a8\'a1\'45\'a1\'4c\'a1\'4b\'a1\'45\'a1\'ac\'a1\'5a\'a1\'42\'a1\'43\'a1\'72\'a1\'6e\'a1\'76\'a1\'7a\'a1\'6a\'a1\'66\'a1\'aa\'a1\'4a\'a1\'57\'a1\'59\'a1\'5b\'a1\'60\'a1\'64\'a1\'68\'a1\'6c\'a1\'70\'a1\'74\'a1\'78\'a1\'7c\'a1\'5c\'a1\'4d\'a1\'4e\'a1\'4f\'a1\'51\'a1\'52\'a1\'53\'a1\'54\'a1\'7e\'a1\'a2\'a1\'a4\'a1\'49\'a1\'5e\'a1\'41\'a1\'44\'a1\'47\'a1\'46\'a1\'48\'a1\'66\'a1\'55\'a1\'62\'a1\'4e

}{\*\ud\uc0{\*\fchars 

!),.:\'3b?]\'7d{\uc2\u162 \'a2F\'a1P\'a1V\'a1X\'a1\'a6\'a1\'a8\u8226 \'a1E\'a1L\'a1K\'a1E\'a1\'ac\'a1Z\'a1B\'a1C\'a1r\'a1n\'a1v\'a1z\'a1j\'a1f\'a1\'aa\'a1J\'a1W\'a1Y\'a1[\'a1`\'a1d\'a1h\'a1l\'a1p\'a1t\'a1x\'a1|\'a1\'5c\'a1M\'a1N\'a1O\'a1Q\'a1R\'a1S\'a1T\'a1~\'a1\'a2\'a1\'a4\'a1I\'a1^\'a1A\'a1D\'a1G\'a1F\'a1H\u-195 \'a1f\'a1U\'a1b\u-156 \'a1N}

}}}{\upr{\*\lchars ([\'7b\'a2\'47\'a2\'44\'a1\'a5\'a1\'a7\'a1\'ab\'a1\'71\'a1\'6d\'a1\'75\'a1\'79\'a1\'69\'a1\'65\'a1\'a9\'a1\'5f\'a1\'63\'a1\'67\'a1\'6b\'a1\'6f\'a1\'73\'a1\'77\'a1\'7b\'a1\'7d\'a1\'a1\'a1\'a3\'a1\'5d\'a1\'61}{\*\ud\uc0{\*\lchars 

([\'7b{\uc2\u163 \'a2G\u165 \'a2D\'a1\'a5\'a1\'a7\'a1\'ab\'a1q\'a1m\'a1u\'a1y\'a1i\'a1e\'a1\'a9\'a1_\'a1c\'a1g\'a1k\'a1o\'a1s\'a1w\'a1\'7b\'a1\'7d\'a1\'a1\'a1\'a3\'a1]\'a1a}}}}\fet0{\*\wgrffmtfilter 013f}\ilfomacatclnup0{\*\ftnsep \ltrpar 

\pard\plain \ltrpar\qj \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14094704 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 

\fs21\lang1033\langfe1041\kerning2\loch\af21\hich\af21\dbch\af11\cgrid\langnp1033\langfenp1041 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14376472 \chftnsep 

\par }}{\*\ftnsepc \ltrpar \pard\plain \ltrpar\qj \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14094704 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 

\fs21\lang1033\langfe1041\kerning2\loch\af21\hich\af21\dbch\af11\cgrid\langnp1033\langfenp1041 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14376472 \chftnsepc 

\par }}{\*\aftnsep \ltrpar \pard\plain \ltrpar\qj \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14094704 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 

\fs21\lang1033\langfe1041\kerning2\loch\af21\hich\af21\dbch\af11\cgrid\langnp1033\langfenp1041 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14376472 \chftnsep 

\par }}{\*\aftnsepc \ltrpar \pard\plain \ltrpar\qj \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14094704 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 

\fs21\lang1033\langfe1041\kerning2\loch\af21\hich\af21\dbch\af11\cgrid\langnp1033\langfenp1041 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14376472 \chftnsepc 

\par }}\ltrpar \sectd \ltrsect\linex0\headery851\footery992\colsx425\endnhere\sectlinegrid360\sectspecifyl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta \dbch .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta \dbch .}}

{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta \dbch .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta \dbch )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl6

\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl9

\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}\pard\plain \ltrpar\qj \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid803037 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 

\fs21\lang1033\langfe1041\kerning2\loch\af21\hich\af21\dbch\af11\cgrid\langnp1033\langfenp1041 {\field{\*\fldinst {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid803037\charrsid803037 \hich\af21\dbch\af11\loch\f21 EQ \\* jc2 \\* "Font:MS Mincho" \\

* hps10 \\o\\ad(\\s\\up 9(}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \f11\fs48\insrsid803037\charrsid803037 \loch\af11\hich\af11\dbch\f11 \'82\'ab\'82\'e0\'82\'f1}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid803037\charrsid803037 

\hich\af21\dbch\af11\loch\f21 ),}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid803037\charrsid803037 \loch\af21\hich\af21\dbch\f11 \'8b\'53\'96\'e5}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid803037\charrsid803037 \hich\af21\dbch\af11\loch\f21 )}

}{\fldrslt }}\sectd \ltrsect\linex0\headery851\footery992\colsx425\endnhere\sectlinegrid360\sectspecifyl\sftnbj {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid803037\charrsid803037 \loch\af21\hich\af21\dbch\f11 \'82\'cc}{\field{\*\fldinst {\rtlch\fcs1 

\af0\afs48 \ltrch\fcs0 \fs48\insrsid803037\charrsid803037 \hich\af21\dbch\af11\loch\f21 EQ \\* jc2 \\* "Font:MS Mincho" \\* hps10 \\o\\ad(\\s\\up 9(}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \f11\fs48\insrsid803037\charrsid803037 \loch\af11\hich\af11\dbch\f11 

\'82\'d9\'82\'a4\'82\'aa\'82\'ad}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid803037\charrsid803037 \hich\af21\dbch\af11\loch\f21 ),}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid803037\charrsid803037 \loch\af21\hich\af21\dbch\f11 \'95\'fb\'8a\'70}

{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid803037\charrsid803037 \hich\af21\dbch\af11\loch\f21 )}}{\fldrslt }}\sectd \ltrsect\linex0\headery851\footery992\colsx425\endnhere\sectlinegrid360\sectspecifyl\sftnbj {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 

\fs48\insrsid803037\charrsid803037 \loch\af21\hich\af21\dbch\f11 \'82\'f0}{\field{\*\fldinst {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid803037\charrsid803037 \hich\af21\dbch\af11\loch\f21 EQ \\* jc2 \\* "Font:MS Mincho" \\* hps10 \\o\\ad(\\s\\up 9(}

{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \f11\fs48\insrsid803037\charrsid803037 \loch\af11\hich\af11\dbch\f11 \'82\'ac\'82\'e5\'82\'a4\'82\'b5}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid803037\charrsid803037 \hich\af21\dbch\af11\loch\f21 ),}{\rtlch\fcs1 

\af0\afs48 \ltrch\fcs0 \fs48\insrsid803037\charrsid803037 \loch\af21\hich\af21\dbch\f11 \'8b\'c3\'8e\'8b}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid803037\charrsid803037 \hich\af21\dbch\af11\loch\f21 )}}{\fldrslt }}\sectd \ltrsect

\linex0\headery851\footery992\colsx425\endnhere\sectlinegrid360\sectspecifyl\sftnbj {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid803037\charrsid803037 \loch\af21\hich\af21\dbch\f11 \'82\'b7\'82\'e9\'81\'42}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 

\fs48\insrsid803037\charrsid803037 

\par }\pard \ltrpar\qj \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2316610 {\field{\*\fldinst {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 EQ \\* jc0 \\

* "Font:MS Mincho" \\* hps10 \\o(\\s\\up 23(}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \f11\fs10\insrsid2316610\charrsid2316610 \loch\af11\hich\af11\dbch\f11 \'82\'ab\'82\'e0\'82\'f1}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 

\hich\af21\dbch\af11\loch\f21 ),}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \loch\af21\hich\af21\dbch\f11 \'8b\'53\'96\'e5}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 )}}{\fldrslt }}\sectd \ltrsect

\linex0\headery851\footery992\colsx425\endnhere\sectlinegrid360\sectspecifyl\sftnbj {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610\charrsid803037 \loch\af21\hich\af21\dbch\f11 \'82\'cc}{\field{\*\fldinst {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 

\fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 EQ \\* jc0 \\* "Font:MS Mincho" \\* hps10 \\o(\\s\\up 23(}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \f11\fs10\insrsid2316610\charrsid2316610 \loch\af11\hich\af11\dbch\f11 \'82\'d9\'82\'a4\'82\'aa\'82\'ad}{

\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 ),}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \loch\af21\hich\af21\dbch\f11 \'95\'fb\'8a\'70}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 

\hich\af21\dbch\af11\loch\f21 )}}{\fldrslt }}\sectd \ltrsect\linex0\headery851\footery992\colsx425\endnhere\sectlinegrid360\sectspecifyl\sftnbj {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610\charrsid803037 \loch\af21\hich\af21\dbch\f11 \'82\'f0}

{\field{\*\fldinst {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 EQ \\* jc0 \\* "Font:MS Mincho" \\* hps10 \\o(\\s\\up 23(}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \f11\fs10\insrsid2316610\charrsid2316610 

\loch\af11\hich\af11\dbch\f11 \'82\'ac\'82\'e5\'82\'a4\'82\'b5}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 ),}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \loch\af21\hich\af21\dbch\f11 \'8b\'c3

\'8e\'8b}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 )}}{\fldrslt }}\sectd \ltrsect\linex0\headery851\footery992\colsx425\endnhere\sectlinegrid360\sectspecifyl\sftnbj {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 

\fs48\insrsid2316610\charrsid803037 \loch\af21\hich\af21\dbch\f11 \'82\'b7\'82\'e9\'81\'42}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610\charrsid803037 

\par }{\field{\*\fldinst {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 EQ \\* jc1 \\* "Font:MS Mincho" \\* hps10 \\o\\ad(\\s\\up 23(}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \f11\fs10\insrsid2316610\charrsid2316610 

\loch\af11\hich\af11\dbch\f11 \'82\'ab\'82\'e0\'82\'f1}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 ),}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \loch\af21\hich\af21\dbch\f11 \'8b\'53\'96\'e5}{

\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 )}}{\fldrslt }}\sectd \ltrsect\linex0\headery851\footery992\colsx425\endnhere\sectlinegrid360\sectspecifyl\sftnbj {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 

\fs48\insrsid2316610\charrsid803037 \loch\af21\hich\af21\dbch\f11 \'82\'cc}{\field{\*\fldinst {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 EQ \\* jc1 \\* "Font:MS Mincho" \\* hps10 \\o\\ad(\\s\\up 23(}{

\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \f11\fs10\insrsid2316610\charrsid2316610 \loch\af11\hich\af11\dbch\f11 \'82\'d9\'82\'a4\'82\'aa\'82\'ad}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 ),}{\rtlch\fcs1 \af0\afs48 

\ltrch\fcs0 \fs48\insrsid2316610 \loch\af21\hich\af21\dbch\f11 \'95\'fb\'8a\'70}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 )}}{\fldrslt }}\sectd \ltrsect

\linex0\headery851\footery992\colsx425\endnhere\sectlinegrid360\sectspecifyl\sftnbj {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610\charrsid803037 \loch\af21\hich\af21\dbch\f11 \'82\'f0}{\field{\*\fldinst {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 

\fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 EQ \\* jc1 \\* "Font:MS Mincho" \\* hps10 \\o\\ad(\\s\\up 23(}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \f11\fs10\insrsid2316610\charrsid2316610 \loch\af11\hich\af11\dbch\f11 \'82\'ac\'82\'e5\'82\'a4\'82\'b5}{

\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 ),}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \loch\af21\hich\af21\dbch\f11 \'8b\'c3\'8e\'8b}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 

\hich\af21\dbch\af11\loch\f21 )}}{\fldrslt }}\sectd \ltrsect\linex0\headery851\footery992\colsx425\endnhere\sectlinegrid360\sectspecifyl\sftnbj {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610\charrsid803037 \loch\af21\hich\af21\dbch\f11 \'82\'b7

\'82\'e9\'81\'42}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610\charrsid803037 

\par }{\field{\*\fldinst {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 EQ \\* jc2 \\* "Font:MS Mincho" \\* hps10 \\o\\ad(\\s\\up 23(}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \f11\fs10\insrsid2316610\charrsid2316610 

\loch\af11\hich\af11\dbch\f11 \'82\'ab\'82\'e0\'82\'f1}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 ),}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \loch\af21\hich\af21\dbch\f11 \'8b\'53\'96\'e5}{

\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 )}}{\fldrslt }}\sectd \ltrsect\linex0\headery851\footery992\colsx425\endnhere\sectlinegrid360\sectspecifyl\sftnbj {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 

\fs48\insrsid2316610\charrsid803037 \loch\af21\hich\af21\dbch\f11 \'82\'cc}{\field{\*\fldinst {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 EQ \\* jc2 \\* "Font:MS Mincho" \\* hps10 \\o\\ad(\\s\\up 23(}{

\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \f11\fs10\insrsid2316610\charrsid2316610 \loch\af11\hich\af11\dbch\f11 \'82\'d9\'82\'a4\'82\'aa\'82\'ad}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 ),}{\rtlch\fcs1 \af0\afs48 

\ltrch\fcs0 \fs48\insrsid2316610 \loch\af21\hich\af21\dbch\f11 \'95\'fb\'8a\'70}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 )}}{\fldrslt }}\sectd \ltrsect

\linex0\headery851\footery992\colsx425\endnhere\sectlinegrid360\sectspecifyl\sftnbj {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610\charrsid803037 \loch\af21\hich\af21\dbch\f11 \'82\'f0}{\field{\*\fldinst {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 

\fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 EQ \\* jc2 \\* "Font:MS Mincho" \\* hps10 \\o\\ad(\\s\\up 23(}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \f11\fs10\insrsid2316610\charrsid2316610 \loch\af11\hich\af11\dbch\f11 \'82\'ac\'82\'e5\'82\'a4\'82\'b5}{

\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 ),}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \loch\af21\hich\af21\dbch\f11 \'8b\'c3\'8e\'8b}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 

\hich\af21\dbch\af11\loch\f21 )}}{\fldrslt }}\sectd \ltrsect\linex0\headery851\footery992\colsx425\endnhere\sectlinegrid360\sectspecifyl\sftnbj {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610\charrsid803037 \loch\af21\hich\af21\dbch\f11 \'82\'b7

\'82\'e9\'81\'42}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610\charrsid803037 

\par }{\field{\*\fldinst {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 EQ \\* jc3 \\* "Font:MS Mincho" \\* hps10 \\o\\al(\\s\\up 23(}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \f11\fs10\insrsid2316610\charrsid2316610 

\loch\af11\hich\af11\dbch\f11 \'82\'ab\'82\'e0\'82\'f1}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 ),}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \loch\af21\hich\af21\dbch\f11 \'8b\'53\'96\'e5}{

\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 )}}{\fldrslt }}\sectd \ltrsect\linex0\headery851\footery992\colsx425\endnhere\sectlinegrid360\sectspecifyl\sftnbj {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 

\fs48\insrsid2316610\charrsid803037 \loch\af21\hich\af21\dbch\f11 \'82\'cc}{\field{\*\fldinst {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 EQ \\* jc3 \\* "Font:MS Mincho" \\* hps10 \\o\\al

\hich\af21\dbch\af11\loch\f21 (\\s\\up 23(}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \f11\fs10\insrsid2316610\charrsid2316610 \loch\af11\hich\af11\dbch\f11 \'82\'d9\'82\'a4\'82\'aa\'82\'ad}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 

\hich\af21\dbch\af11\loch\f21 ),}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \loch\af21\hich\af21\dbch\f11 \'95\'fb\'8a\'70}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 )}}{\fldrslt }}\sectd \ltrsect

\linex0\headery851\footery992\colsx425\endnhere\sectlinegrid360\sectspecifyl\sftnbj {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610\charrsid803037 \loch\af21\hich\af21\dbch\f11 \'82\'f0}{\field{\*\fldinst {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 

\fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 EQ \\* jc3 \\* "Font:MS Mincho" \\* hps10 \\o\\al(\\s\\up 23(}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \f11\fs10\insrsid2316610\charrsid2316610 \loch\af11\hich\af11\dbch\f11 \'82\'ac\'82\'e5\'82\'a4\'82\'b5}{

\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 ),}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \loch\af21\hich\af21\dbch\f11 \'8b\'c3\'8e\'8b}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 

\hich\af21\dbch\af11\loch\f21 )}}{\fldrslt }}\sectd \ltrsect\linex0\headery851\footery992\colsx425\endnhere\sectlinegrid360\sectspecifyl\sftnbj {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610\charrsid803037 \loch\af21\hich\af21\dbch\f11 \'82\'b7

\'82\'e9\'81\'42}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610\charrsid803037 

\par }{\field{\*\fldinst {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 EQ \\* jc4 \\* "Font:MS Mincho" \\* hps10 \\o\\ar(\\s\\up 23(}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \f11\fs10\insrsid2316610\charrsid2316610 

\loch\af11\hich\af11\dbch\f11 \'82\'ab\'82\'e0\'82\'f1}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 ),}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \loch\af21\hich\af21\dbch\f11 \'8b\'53\'96\'e5}{

\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 )}}{\fldrslt }}\sectd \ltrsect\linex0\headery851\footery992\colsx425\endnhere\sectlinegrid360\sectspecifyl\sftnbj {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 

\fs48\insrsid2316610\charrsid803037 \loch\af21\hich\af21\dbch\f11 \'82\'cc}{\field{\*\fldinst {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 EQ \\* jc4 \\* "Font:MS Mincho" \\* hps10 \\o\\ar(\\s\\up 23(}{

\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \f11\fs10\insrsid2316610\charrsid2316610 \loch\af11\hich\af11\dbch\f11 \'82\'d9\'82\'a4\'82\'aa\'82\'ad}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 ),}{\rtlch\fcs1 \af0\afs48 

\ltrch\fcs0 \fs48\insrsid2316610 \loch\af21\hich\af21\dbch\f11 \'95\'fb\'8a\'70}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 )}}{\fldrslt }}\sectd \ltrsect

\linex0\headery851\footery992\colsx425\endnhere\sectlinegrid360\sectspecifyl\sftnbj {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610\charrsid803037 \loch\af21\hich\af21\dbch\f11 \'82\'f0}{\field{\*\fldinst {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 

\fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 EQ \\* jc4 \\* "Font:MS Mincho" \\* h\hich\af21\dbch\af11\loch\f21 ps10 \\o\\ar(\\s\\up 23(}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \f11\fs10\insrsid2316610\charrsid2316610 \loch\af11\hich\af11\dbch\f11 

\'82\'ac\'82\'e5\'82\'a4\'82\'b5}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 ),}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610 \loch\af21\hich\af21\dbch\f11 \'8b\'c3\'8e\'8b}{\rtlch\fcs1 \af0\afs48 

\ltrch\fcs0 \fs48\insrsid2316610 \hich\af21\dbch\af11\loch\f21 )}}{\fldrslt }}\sectd \ltrsect\linex0\headery851\footery992\colsx425\endnhere\sectlinegrid360\sectspecifyl\sftnbj {\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610\charrsid803037 

\loch\af21\hich\af21\dbch\f11 \'82\'b7\'82\'e9\'81\'42}{\rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \fs48\insrsid2316610\charrsid803037 

\par }\pard \ltrpar\qj \li0\ri0\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid803037 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1028\dbch\af14\langfenp1028\insrsid803037\charrsid2316610 

\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a

9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad

5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6

b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0

0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6

a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f

c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512

0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462

a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865

6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b

4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b

4757e8d3f729e245eb2b260a0238fd010000ffff0300504b0304140006000800000021007b6f841b9a060000521b0000160000007468656d652f7468656d652f

7468656d65312e786d6cec594d6f1b4518be23f11f467b6f6327761a4775aad8b11b68d346b15bd4e37877bc3bcdecce6a669cd437d4485c9090100571a0881b

0704546a252ee5d7048aa048fd0bbc33b3bbde89d74a5222a8a03e24ded967deefaf195fbdf62066e880084979d2f6ea976b1e2289cf039a846defceb07f69cd

4352e124c08c27a4ed4d89f4ae6dbcfbce55bcae22121304fb13b98edb5ea454babeb4247d58c6f2324f4902efc65cc458c1a3089702810f816ecc96966bb5d5

a518d3c443098e81ecedf198fa041d1f7d747cf4fcf8e86b6f2367d063c02551522ff84c0c3479e2ec32d860bfae11722abb4ca003ccda1ef00af8e1903c501e

62582a78d1f66ae6e32d6d5c5dc2ebd926a616ec2dedeb9b4fb62fdb10ec2f1b9e221c154cebfd46ebca5641df00989ac7f57abd6eaf5ed03300ecfba0a995a5

4cb3d15fab77729a2590fd3a4fbb5b6bd61a2ebe447f654ee656a7d369b632592c5103b25f1b73f8b5da6a6373d9c11b90c537e7f08dce66b7bbeae00dc8e257

e7f0fd2badd5868b37a088d1647f0ead1ddaef67d40bc898b3ed4af81ac0d76a197c86826828a24bb318f3442d8ab518dfe7a20f000d6458d104a9694ac6d887

48de1414334d1eaf135c5ab74bbe9c5bd29c90f4054d55db7b3fc59013336aaf9e7fffeaf95374fcf0d9f1c39f8e8f8e8e1ffe680939bbb671129677bdfcf6d3

3f1f7f88fe78facdcb479f57e36519ffeb0f1ffff2f367d540489e99382fbe78f2dbb3272fbefce4f7ef1e55c037051e95e1431a13896e9143b4c76350cc58c5

959c8cc4f9760c234ccb3b369350e2046b2e15f47b2a72d0b7a698e10a5c87b816bc2ba0785401af4fee3b020f223151b482e28d2876803b9cb30e179556b8a1

7995cc3c9c246135733129e3f6303ea8e2ddc589e3dfde2485aa49ab487623e288b9cb70a2704812a2907ec7f709a9d0ee1ea58e5d77a82fb8e46385ee51d4c1

b4d224433a72a269b6699bc6e097699580e06fc7363b775187b32aadb7c8818b84acc853d109ba21618e19afe389c27115c9218e59d9e037b18aaa841c4c855f

c6f5a4024f878471d40b8894557b6e0bd0b7e4f41b18ea55a5db77d834769142d1fd2a9a3731e765e416dfef46384eabb0039a4465ec7b721f4214a35daeaae0

3bdccd10fd0c7ec0c94277dfa5c471f7e9d5e00e0d1d916601a2df4c840e4428d44efd8d69b2b81877a19f4ec4d406f0c5956328802fbe7a5c91166f6a212e35

252713b64f94df45b89345b7cb4540dffc9abb8527c92e81309f6f3c6f4beedb92ebfde74beea27c3e6ba19dd55628bbba72d891d80cc8f1c2f9784c191ba829

2337a5199125f489a00f8b7a9f391f92e2bc9446f035abeb0e2e14d8ec4182ab0fa88a06114e61bcae7b9a482833d2a144299770ac33cb95b4351e4674650f85

4d7d5cb0f54062b5c303bbbca297f3534141c6749bd01c3d73462b9ac05999ad5cc98882daafc3acae853a33b7ba11cd943a875ba132f8705e35582cac090308

82b105acbc0a2774cd1a0e26989140dbddf6dedc2dc60b17e92219e180643ed27acffba86e9c94c78ab90780d8a9f0913ee29d62b512b79626fb37b89dc54965

768d05ec72effd1d2fe5113cf392cedb13e9c8927272b2041db6bd5673b9e9211fa76d6f0c275af81aa7e075a9673ecc42b81af295b0617f6a329b2c9f79b395

2be626411d2e29acdde71476ea402aa4dac232b2a1615e6521c012cdc9cabfdc04b35e940236d25f438a953508867f4d0ab0a3eb5a321e135f959d5d5ad1b6b3

8f5929e51345c4200a0ed1884dc41e06f7eb50057d022ae16ac25404fd00b768dadae6955b9cb3a42bdf5d199c5dc72c8d70566e758ae6996ce1268f0b19cc53

493cd0ad5276a3dcf95531297f41aa94c3f87fa68aee277053b012680ff870912b30d2f9daf6b85011872a9446d4ef0b181c4ced8068819b58780d4105d7c9e6

bf2007fabfcd394bc3a4351cf8d41e0d91a0d08f542408d985b264a2ef1462f5ac7759922c236422aa24ae4cadd8237240d850d7c055dddb3d1441a89b6a9295

01833b197fee739641a3500f39e57c736a48d17b6d0efcd3938f4d6650caadc366a0c9ed5f8858d155ed7eb33defbd6545f48bd998d5c8b30298955a412b4bfb

d714e19cadd656ac398d979bb970e0c5798d61b1188852b8ef41fa0ff43f2a7c464c18eb863ae47b505b11fccca08941d840545fb28307d205d22e8e6070b28b

369834296bda6c74d256cb9bf5054fba05df13c6d6929dc5dfe73476319cb9ec9c5cbc48636716766c6dd7169a1a3c7b324561699c1f648c63cc8f5ae5df9cf8

e83e387a0b6ef7274c49134cf08b92c0307a0e4c1e40f25b8e66ebc65f000000ffff0300504b0304140006000800000021000dd1909fb60000001b0100002700

00007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0ad

d40384e4350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b

284d262452282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f16

5dfe514173d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c0200001300000000

000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b000000

00000000000000000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c00000000000000000000

000000190200007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d00140006000800000021007b6f841b9a060000521b000016

00000000000000000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b

0100002700000000000000000000000000a40900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d0100009f0a00000000}

{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d

617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169

6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363

656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}

{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef0{\lsdlockedexcept \lsdqformat1 \lsdlocked0 Normal;\lsdqformat1 \lsdlocked0 heading 1;

\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 4;

\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 7;

\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 caption;\lsdqformat1 \lsdlocked0 Title;

\lsdqformat1 \lsdlocked0 Subtitle;\lsdqformat1 \lsdlocked0 Strong;\lsdqformat1 \lsdlocked0 Emphasis;\lsdsemihidden1 \lsdpriority99 \lsdlocked0 Placeholder Text;\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdpriority60 \lsdlocked0 Light Shading;

\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid;\lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdpriority65 \lsdlocked0 Medium List 1;\lsdpriority66 \lsdlocked0 Medium List 2;

\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2;\lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;\lsdpriority71 \lsdlocked0 Colorful Shading;\lsdpriority72 \lsdlocked0 Colorful List;

\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1;\lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;

\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdsemihidden1 \lsdpriority99 \lsdlocked0 Revision;\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;

\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;

\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;\lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;

\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;

\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;

\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdpriority60 \lsdlocked0 Light Shading Accent 3;

\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;

\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdpriority70 \lsdlocked0 Dark List Accent 3;

\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdpriority61 \lsdlocked0 Light List Accent 4;

\lsdpriority62 \lsdlocked0 Light Grid Accent 4;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;

\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;

\lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdpriority62 \lsdlocked0 Light Grid Accent 5;

\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;

\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;

\lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6;

\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;

\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;

\lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;

\lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography;

\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 0105000002000000180000004d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000

d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000c032

95b3eec6d001feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000105000000000000}}
\ No newline at end of file
diff --git a/sw/qa/extras/rtfexport/rtfexport.cxx b/sw/qa/extras/rtfexport/rtfexport.cxx
index 5127496..9f8818e 100644
--- a/sw/qa/extras/rtfexport/rtfexport.cxx
+++ b/sw/qa/extras/rtfexport/rtfexport.cxx
@@ -27,6 +27,7 @@
#include <com/sun/star/text/XTextViewCursorSupplier.hpp>
#include <com/sun/star/text/WritingMode2.hpp>
#include <com/sun/star/view/XViewSettingsSupplier.hpp>
#include <com/sun/star/text/RubyAdjust.hpp>

#include <vcl/svapp.hxx>

@@ -348,6 +349,22 @@ DECLARE_RTFEXPORT_TEST(testMathVerticalstacks, "math-vertical-stacks.rtf")
    CPPUNIT_ASSERT_EQUAL(OUString("stack { a # stack { b # c } }"), getFormula(getRun(getParagraph(4), 1)));
}

DECLARE_RTFEXPORT_TEST(testTdf49073, "tdf49073.rtf")
{
    // test case for Asisan phontic guide ( ruby text.)
    sal_Unicode aRuby[3] = {0x304D,0x3082,0x3093};
    OUString sRuby = OUString(aRuby, SAL_N_ELEMENTS(aRuby));
    CPPUNIT_ASSERT_EQUAL(sRuby,getProperty<OUString>(getParagraph(1)->getStart(), "RubyText"));
    OUString sStyle = getProperty<OUString>( getParagraph(1)->getStart(), "RubyCharStyleName");
    uno::Reference<beans::XPropertySet> xPropertySet(getStyles("CharacterStyles")->getByName(sStyle), uno::UNO_QUERY );
    CPPUNIT_ASSERT_EQUAL(5.f, getProperty<float>(xPropertySet, "CharHeight"));
    CPPUNIT_ASSERT_EQUAL(sal_Int16(text::RubyAdjust_CENTER) ,getProperty<sal_Int16>(getParagraph(2)->getStart(),"RubyAdjust"));
    CPPUNIT_ASSERT_EQUAL(sal_Int16(text::RubyAdjust_BLOCK)  ,getProperty<sal_Int16>(getParagraph(3)->getStart(),"RubyAdjust"));
    CPPUNIT_ASSERT_EQUAL(sal_Int16(text::RubyAdjust_INDENT_BLOCK),getProperty<sal_Int16>(getParagraph(4)->getStart(),"RubyAdjust"));
    CPPUNIT_ASSERT_EQUAL(sal_Int16(text::RubyAdjust_LEFT)   ,getProperty<sal_Int16>(getParagraph(5)->getStart(),"RubyAdjust"));
    CPPUNIT_ASSERT_EQUAL(sal_Int16(text::RubyAdjust_RIGHT)  ,getProperty<sal_Int16>(getParagraph(6)->getStart(),"RubyAdjust"));
}

DECLARE_RTFEXPORT_TEST(testMathRuns, "math-runs.rtf")
{
    // was [](){}, i.e. first curly bracket had an incorrect position
diff --git a/sw/source/filter/ww8/rtfattributeoutput.cxx b/sw/source/filter/ww8/rtfattributeoutput.cxx
index 4e0c0a2..bebcd00 100644
--- a/sw/source/filter/ww8/rtfattributeoutput.cxx
+++ b/sw/source/filter/ww8/rtfattributeoutput.cxx
@@ -62,6 +62,7 @@
#include <fmtclds.hxx>
#include <fmtrowsplt.hxx>
#include <fmtline.hxx>
#include <breakit.hxx>
#include <fmtanchr.hxx>
#include <htmltbl.hxx>
#include <ndgrf.hxx>
@@ -78,8 +79,11 @@
#include <vcl/cvtgrf.hxx>
#include <oox/mathml/export.hxx>
#include <com/sun/star/i18n/ScriptType.hpp>
#include "writerhelper.hxx"

using namespace ::com::sun::star;
using namespace sw::util;
using namespace nsFieldFlags;

static OString OutTBLBorderLine(RtfExport& rExport, const editeng::SvxBorderLine* pLine, const sal_Char* pStr)
{
@@ -411,14 +415,119 @@ void RtfAttributeOutput::RawText(const OUString& rText, rtl_TextEncoding eCharSe
    m_aRunText->append(msfilter::rtfutil::OutString(rText, eCharSet));
}

void RtfAttributeOutput::StartRuby(const SwTextNode& /*rNode*/, sal_Int32 /*nPos*/, const SwFormatRuby& /*rRuby*/)
void RtfAttributeOutput::StartRuby(const SwTextNode& rNode, sal_Int32 /*nPos*/, const SwFormatRuby& rRuby)
{
    SAL_INFO("sw.rtf", "TODO: " << OSL_THIS_FUNC);
    OUString aStr( FieldString( ww::eEQ ) );
    aStr += "\\* jc";
    sal_Int32 nJC = 0;
    sal_Char cDirective = 0;
    switch ( rRuby.GetAdjustment() )
    {
        case 0:
            nJC = 3;
            cDirective = 'l';
            break;
        case 1:
            //defaults to 0
            break;
        case 2:
            nJC = 4;
            cDirective = 'r';
            break;
        case 3:
            nJC = 1;
            cDirective = 'd';
            break;
        case 4:
            nJC = 2;
            cDirective = 'd';
            break;
        default:
            OSL_ENSURE( false,"Unhandled Ruby justication code" );
            break;
    }
    aStr += OUString::number( nJC );

    /*
     MS needs to know the name and size of the font used in the ruby item,
     but we could have written it in a mixture of asian and western
     scripts, and each of these can be a different font and size than the
     other, so we make a guess based upon the first character of the text,
     defaulting to asian.
     */
    sal_uInt16 nRubyScript;
    if( g_pBreakIt->GetBreakIter().is() )
        nRubyScript = g_pBreakIt->GetBreakIter()->getScriptType( rRuby.GetText(), 0);
    else
        nRubyScript = i18n::ScriptType::ASIAN;

    const SwTextRuby* pRubyText = rRuby.GetTextRuby();
    const SwCharFormat* pFormat = pRubyText ? pRubyText->GetCharFormat() : 0;
    OUString sFamilyName;
    long nHeight;
    if ( pFormat )
    {
        const SvxFontItem &rFont = ItemGet< SvxFontItem >( *pFormat,
                GetWhichOfScript(RES_CHRATR_FONT,nRubyScript) );
        sFamilyName = rFont.GetFamilyName();

        const SvxFontHeightItem &rHeight = ItemGet< SvxFontHeightItem >( *pFormat,
                GetWhichOfScript( RES_CHRATR_FONTSIZE, nRubyScript ) );
        nHeight = rHeight.GetHeight();
    }
    else
    {
        /*Get defaults if no formatting on ruby text*/

        const SfxItemPool *pPool = rNode.GetSwAttrSet().GetPool();
        pPool = pPool ? pPool : &m_rExport.m_pDoc->GetAttrPool();

        const SvxFontItem &rFont  = DefaultItemGet< SvxFontItem >( *pPool,
                GetWhichOfScript( RES_CHRATR_FONT,nRubyScript ) );
        sFamilyName = rFont.GetFamilyName();

        const SvxFontHeightItem &rHeight = DefaultItemGet< SvxFontHeightItem >
            ( *pPool, GetWhichOfScript( RES_CHRATR_FONTSIZE, nRubyScript ) );
        nHeight = rHeight.GetHeight();
    }
    nHeight = (nHeight + 5)/10;

    aStr += " \\* \"Font:";
    aStr += sFamilyName;
    aStr += "\" \\* hps";
    aStr += OUString::number( nHeight );
    aStr += " \\o";
    if ( cDirective )
    {
        aStr += "\\a" + OUString(cDirective);
    }
    aStr += "(\\s\\up ";

    if ( g_pBreakIt->GetBreakIter().is() )
        nRubyScript = g_pBreakIt->GetBreakIter()->getScriptType( rNode.GetText(),
                pRubyText->GetStart() );
    else
        nRubyScript = i18n::ScriptType::ASIAN;

    const SwAttrSet& rSet = rNode.GetSwAttrSet();
    const SvxFontHeightItem &rHeightItem  =
        static_cast< const SvxFontHeightItem& >(rSet.Get(
                                             GetWhichOfScript( RES_CHRATR_FONTSIZE, nRubyScript ) ));
    nHeight = (rHeightItem.GetHeight() + 10)/20-1;
    aStr += OUString::number(nHeight);
    aStr += "(";
    EndRun();
    m_rExport.OutputField( 0, ww::eEQ, aStr, WRITEFIELD_START | WRITEFIELD_CMD_START );
    aStr  = rRuby.GetText();
    aStr += ")";
    aStr += ",";
    m_rExport.OutputField( 0, ww::eEQ, aStr, 0);
}

void RtfAttributeOutput::EndRuby()
{
    SAL_INFO("sw.rtf", "TODO: " << OSL_THIS_FUNC);
    m_rExport.OutputField( 0, ww::eEQ, OUString(")"), WRITEFIELD_END | WRITEFIELD_CLOSE );
    EndRun( );
}

bool RtfAttributeOutput::StartURL(const OUString& rUrl, const OUString& rTarget)
@@ -1442,21 +1551,37 @@ void RtfAttributeOutput::NumberingLevel(sal_uInt8 nLevel,
        m_rExport.Strm().WriteChar('}');
}

void RtfAttributeOutput::WriteField_Impl(const SwField* pField, ww::eField /*eType*/, const OUString& rFieldCmd, sal_uInt8 /*nMode*/)
void RtfAttributeOutput::WriteField_Impl(const SwField* pField, ww::eField eType, const OUString& rFieldCmd, sal_uInt8 nMode)
{
    // If there are no field instructions, don't export it as a field.
    bool bHasInstructions = !rFieldCmd.isEmpty();
    if (bHasInstructions)
    if (WRITEFIELD_ALL == nMode)
    {
        m_aRunText->append("{" OOO_STRING_SVTOOLS_RTF_FIELD);
        m_aRunText->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FLDINST " ");
        m_aRunText->append(msfilter::rtfutil::OutString(rFieldCmd, m_rExport.eCurrentEncoding));
        m_aRunText->append("}{" OOO_STRING_SVTOOLS_RTF_FLDRSLT " ");
        if (bHasInstructions)
        {
            m_aRunText->append("{" OOO_STRING_SVTOOLS_RTF_FIELD);
            m_aRunText->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FLDINST " ");
            m_aRunText->append(msfilter::rtfutil::OutString(rFieldCmd, m_rExport.eCurrentEncoding));
            m_aRunText->append("}{" OOO_STRING_SVTOOLS_RTF_FLDRSLT " ");
        }
        if (pField)
            m_aRunText->append(msfilter::rtfutil::OutString(pField->ExpandField(true), m_rExport.eDefaultEncoding));
        if (bHasInstructions)
            m_aRunText->append("}}");
    } else if (eType == ww::eEQ) {
        if (WRITEFIELD_START & nMode)
        {
            m_aRunText->append("{" OOO_STRING_SVTOOLS_RTF_FIELD);
            m_aRunText->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FLDINST " ");
        }
        if (bHasInstructions)
            m_aRunText->append(msfilter::rtfutil::OutString(rFieldCmd, m_rExport.eCurrentEncoding));
        if (WRITEFIELD_END & nMode)
        {
            m_aRunText->append("}{" OOO_STRING_SVTOOLS_RTF_FLDRSLT " ");
            m_aRunText->append("}}");
        }
    }
    if (pField)
        m_aRunText->append(msfilter::rtfutil::OutString(pField->ExpandField(true), m_rExport.eDefaultEncoding));
    if (bHasInstructions)
        m_aRunText->append("}}");
}

void RtfAttributeOutput::WriteBookmarks_Impl(std::vector< OUString >& rStarts, std::vector< OUString >& rEnds)
diff --git a/writerfilter/source/dmapper/ConversionHelper.cxx b/writerfilter/source/dmapper/ConversionHelper.cxx
index 77f935c..e64c091 100644
--- a/writerfilter/source/dmapper/ConversionHelper.cxx
+++ b/writerfilter/source/dmapper/ConversionHelper.cxx
@@ -22,6 +22,7 @@
#include <com/sun/star/lang/Locale.hpp>
#include <com/sun/star/text/HoriOrientation.hpp>
#include <com/sun/star/style/NumberingType.hpp>
#include <com/sun/star/text/RubyAdjust.hpp>
#include <editeng/borderline.hxx>
#include <ooxml/resourceids.hxx>
#include <rtl/ustrbuf.hxx>
@@ -423,6 +424,31 @@ sal_uInt32 convertTwipToMM100Unsigned(sal_Int32 _t)
    return convertTwipToMM100( _t );
}

sal_Int16 convertRubyAlign( sal_Int32 nIntValue )
{
    sal_Int16 rubyAdjust = text::RubyAdjust_LEFT;
    switch( nIntValue )
    {
        case NS_ooxml::LN_Value_ST_RubyAlign_center:
        case NS_ooxml::LN_Value_ST_RubyAlign_rightVertical:
            rubyAdjust = text::RubyAdjust_CENTER;
            break;
        case NS_ooxml::LN_Value_ST_RubyAlign_distributeLetter:
            rubyAdjust = text::RubyAdjust_BLOCK;
            break;
        case NS_ooxml::LN_Value_ST_RubyAlign_distributeSpace:
            rubyAdjust = text::RubyAdjust_INDENT_BLOCK;
            break;
        case NS_ooxml::LN_Value_ST_RubyAlign_left:
            rubyAdjust = text::RubyAdjust_LEFT;
            break;
        case NS_ooxml::LN_Value_ST_RubyAlign_right:
            rubyAdjust = text::RubyAdjust_RIGHT;
            break;
    }
    return rubyAdjust;
}

sal_Int16 convertTableJustification( sal_Int32 nIntValue )
{
    sal_Int16 nOrient = text::HoriOrientation::LEFT_AND_WIDTH;
diff --git a/writerfilter/source/dmapper/ConversionHelper.hxx b/writerfilter/source/dmapper/ConversionHelper.hxx
index b906775..faf5c27 100644
--- a/writerfilter/source/dmapper/ConversionHelper.hxx
+++ b/writerfilter/source/dmapper/ConversionHelper.hxx
@@ -47,6 +47,7 @@ namespace ConversionHelper{
    SAL_DLLPUBLIC_EXPORT sal_Int32 convertTwipToMM100(sal_Int32 _t);
    SAL_DLLPUBLIC_EXPORT sal_uInt32 convertTwipToMM100Unsigned(sal_Int32 _t);
    sal_Int16 convertTableJustification( sal_Int32 nIntValue );
    sal_Int16 convertRubyAlign( sal_Int32 nIntValue );
    sal_Int16 ConvertNumberingType(sal_Int32 nFmt);

    css::util::DateTime ConvertDateStringToDateTime(const OUString& rDateTime);
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx
index 267dc54..a27bf85 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -1560,7 +1560,18 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext )
            else
            {
                bool bIgnore = false;
                if (m_pImpl->m_bInTableStyleRunProps)
                const   RubyInfo    &aInfo = m_pImpl->GetRubyInfo();
                if (aInfo.nSprmId == NS_ooxml::LN_CT_Ruby_rt && aInfo.nHps > 0 )
                {
                    fVal = double(aInfo.nHps) / 2.;
                    aVal = uno::makeAny( fVal );
                }
                else if (aInfo.nSprmId  == NS_ooxml::LN_CT_Ruby_rubyBase && aInfo.nHpsBaseText > 0 )
                {
                    fVal = double(aInfo.nHpsBaseText) / 2.;
                    aVal = uno::makeAny( fVal );
                }
                else if (m_pImpl->m_bInTableStyleRunProps)
                {
                    // If the default para style contains PROP_CHAR_HEIGHT, that should have priority over the table style.
                    StyleSheetEntryPtr pTable = m_pImpl->GetStyleSheetTable()->FindDefaultParaStyle();
@@ -2544,6 +2555,54 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext )
        }
    }
    break;
    case NS_ooxml::LN_EG_RunInnerContent_ruby:
    {
        RubyInfo    aInfo ;
        m_pImpl->SetRubyInfo(aInfo);
    }
    case NS_ooxml::LN_CT_RubyPr:
    case NS_ooxml::LN_CT_Ruby_rt:
    case NS_ooxml::LN_CT_Ruby_rubyBase:
    {
        m_pImpl->SetRubySprmId(nSprmId);
        if (nSprmId == NS_ooxml::LN_CT_RubyPr)
        {
            resolveSprmProps(*this, rSprm);
        }
    }
    break;
    case NS_ooxml::LN_EG_RubyContent_r:
    {
        const RubyInfo & aInfo = m_pImpl->GetRubyInfo();
        if (aInfo.nSprmId == NS_ooxml::LN_CT_Ruby_rubyBase)
        {
            rContext->Insert(PROP_RUBY_TEXT, uno::makeAny(aInfo.sRubyText));
            rContext->Insert(PROP_RUBY_STYLE, uno::makeAny(aInfo.sRubyStyle));
            rContext->Insert(PROP_RUBY_ADJUST, uno::makeAny(ConversionHelper::convertRubyAlign(aInfo.nRubyAlign)));
            m_pImpl->SetRubySprmId(0);
        }
    }
    break;
    case NS_ooxml::LN_CT_RubyPr_rubyAlign:
    case NS_ooxml::LN_CT_RubyPr_hps:
    case NS_ooxml::LN_CT_RubyPr_hpsBaseText:
    {
        RubyInfo    aInfo = m_pImpl->GetRubyInfo();
        switch(nSprmId)
        {
            case NS_ooxml::LN_CT_RubyPr_rubyAlign:
                aInfo.nRubyAlign = nIntValue;
                break;
            case NS_ooxml::LN_CT_RubyPr_hps:
                aInfo.nHps= nIntValue;
                break;
            case NS_ooxml::LN_CT_RubyPr_hpsBaseText:
                aInfo.nHpsBaseText = nIntValue;
                break;
        }
        m_pImpl->SetRubyInfo(aInfo);
    }
    break;
    default:
        {
#ifdef DEBUG_WRITERFILTER
@@ -2954,6 +3013,15 @@ void DomainMapper::lcl_utext(const sal_uInt8 * data_, size_t len)
    OUStringBuffer aBuffer = OUStringBuffer(sal::static_int_cast<int>(len));
    aBuffer.append( reinterpret_cast<const sal_Unicode *>(data_), len);
    sText = aBuffer.makeStringAndClear();
    const RubyInfo & aInfo = m_pImpl->GetRubyInfo();
    if (aInfo.nSprmId == NS_ooxml::LN_CT_Ruby_rt)
    {
        PropertyMapPtr pContext = m_pImpl->GetTopContext();
        PropertyValueVector_t aProps = comphelper::sequenceToContainer< PropertyValueVector_t >(pContext->GetPropertyValues());
        OUString sStyle = getOrCreateCharStyle(aProps);
        m_pImpl->SetRubyText(sText,sStyle);
        return;
    }

    if (m_pImpl->isSdtEndDeferred())
    {
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 3f0e6a3..c47584e 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -2929,6 +2929,79 @@ void DomainMapper_Impl::handleFieldAsk
    }
}


void  DomainMapper_Impl::handleRubyEQField( FieldContextPtr pContext)
{
    const OUString & rCommand(pContext->GetCommand());
    sal_Int32 nIndex = 0, nEnd = 0;
    OUString aToken ,sFont;
    RubyInfo aInfo ;
    nIndex = rCommand.indexOf("\\* jc" );
    if (nIndex != -1)
    {
        nIndex += 5;
        sal_uInt32  nJc = rCommand.getToken(0, ' ',nIndex).toInt32();
        const   sal_Int32   aRubyAlignValues[] =
        {
            NS_ooxml::LN_Value_ST_RubyAlign_center,
            NS_ooxml::LN_Value_ST_RubyAlign_distributeLetter,
            NS_ooxml::LN_Value_ST_RubyAlign_distributeSpace,
            NS_ooxml::LN_Value_ST_RubyAlign_left,
            NS_ooxml::LN_Value_ST_RubyAlign_right,
            NS_ooxml::LN_Value_ST_RubyAlign_rightVertical,
        };
        aInfo.nRubyAlign = aRubyAlignValues[(nJc<SAL_N_ELEMENTS(aRubyAlignValues))?nJc:0];
    }

    nIndex = rCommand.indexOf("\\* \"Font:" );
    if (nIndex != -1)
    {
        nIndex += 9;
        aToken = rCommand.getToken(0, '"',nIndex);
        sFont = aToken;
    }
    nIndex = rCommand.indexOf("\\* hps" );
    if (nIndex != -1)
    {
        nIndex += 6;
        aInfo.nHps = rCommand.getToken(0, ' ',nIndex).toInt32();
    }

    nIndex = rCommand.indexOf("\\o");
    if (nIndex != -1 && (nIndex = rCommand.indexOf('(', nIndex)) != -1 && (nEnd = rCommand.lastIndexOf(')'))!=-1 && nEnd > nIndex)
    {
        OUString sRubyParts = rCommand.copy(nIndex+1,nEnd-nIndex-1);
        nIndex = 0;
        OUString sPart1 = sRubyParts.getToken(0, ',', nIndex);
        OUString sPart2 = sRubyParts.getToken(0, ',', nIndex);
        if ((nIndex = sPart1.indexOf('(', 0)) != -1 && (nEnd = sPart1.lastIndexOf(')'))!=-1 )
        {
            aInfo.sRubyText = sPart1.copy(nIndex+1,nEnd-nIndex-1);
        }

        PropertyMapPtr pRubyContext(new PropertyMap());
        pRubyContext->InsertProps(GetTopContext());
        if (aInfo.nHps > 0)
        {
            double fVal = double(aInfo.nHps) / 2.;
            uno::Any aVal = uno::makeAny( fVal );

            pRubyContext->Insert(PROP_CHAR_HEIGHT, aVal);
            pRubyContext->Insert(PROP_CHAR_HEIGHT_ASIAN, aVal);
        }
        PropertyValueVector_t aProps = comphelper::sequenceToContainer< PropertyValueVector_t >(pRubyContext->GetPropertyValues());
        aInfo.sRubyStyle = m_rDMapper.getOrCreateCharStyle(aProps);
        PropertyMapPtr pCharContext(new PropertyMap());
        if (m_pLastCharacterContext.get())
            pCharContext->InsertProps(m_pLastCharacterContext);
        pCharContext->InsertProps(pContext->getProperties());
        pCharContext->Insert(PROP_RUBY_TEXT, uno::makeAny( aInfo.sRubyText ) );
        pCharContext->Insert(PROP_RUBY_ADJUST, uno::makeAny(ConversionHelper::convertRubyAlign(aInfo.nRubyAlign)));
        pCharContext->Insert(PROP_RUBY_STYLE, uno::makeAny(aInfo.sRubyStyle));
        appendTextPortion(sPart2, pCharContext);
    }
}

void DomainMapper_Impl::handleAutoNum
    (FieldContextPtr pContext,
    uno::Reference< uno::XInterface > & xFieldInterface,
@@ -3677,6 +3750,10 @@ void DomainMapper_Impl::CloseFieldCommand()
                                    }
                                }
                            }
                            else if (aCommand.startsWith("\\* jc"))
                            {
                                handleRubyEQField(pContext);
                            }
                        }
                    }
                    break;
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx
index 8dc1856..55d059d 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx
@@ -267,6 +267,24 @@ struct AnnotationPosition
    css::uno::Reference<css::text::XTextRange> m_xEnd;
};

struct RubyInfo
{
    OUString    sRubyText;
    OUString    sRubyStyle;
    sal_uInt32  nSprmId;
    sal_uInt32  nRubyAlign;
    sal_uInt32  nHps;
    sal_uInt32  nHpsBaseText;

    RubyInfo():
        nSprmId(0),
        nRubyAlign(0),
        nHps(0),
        nHpsBaseText(0)
    {
    }
};

struct LineNumberSettings
{
    bool        bIsOn;
@@ -399,6 +417,7 @@ private:
    bool                            m_bIsInFootnoteProperties;
    bool                            m_bIsCustomFtnMark;

    RubyInfo                        m_aRubyInfo;
    //registered frame properties
    std::vector<css::beans::PropertyValue> m_aFrameProperties;
    css::uno::Reference<css::text::XTextRange> m_xFrameStartRange;
@@ -488,6 +507,14 @@ public:
    void RemoveLastParagraph( );
    void SetIsLastParagraphInSection( bool bIsLast );
    bool GetIsLastParagraphInSection() { return m_bIsLastParaInSection;}
    void SetRubySprmId( sal_uInt32 nSprmId) { m_aRubyInfo.nSprmId = nSprmId ; }
    void SetRubyText( OUString &sText,OUString &sStyle) {
        m_aRubyInfo.sRubyText = sText;
        m_aRubyInfo.sRubyStyle = sStyle;
    }
    const RubyInfo & GetRubyInfo() const { return m_aRubyInfo;}
    void SetRubyInfo(const RubyInfo & rInfo) { m_aRubyInfo = rInfo;}

    void SetIsLastSectionGroup( bool bIsLast );
    bool GetIsLastSectionGroup() { return m_bIsLastSectionGroup;}
    void SetIsFirstParagraphInSection( bool bIsFirst );
@@ -620,6 +647,7 @@ public:
    void SetFieldLocked();
    //collect the pieces of the command
    void AppendFieldCommand(OUString& rPartOfCommand);
    void handleRubyEQField( FieldContextPtr pContext);
    void handleFieldAsk
        (FieldContextPtr pContext,
        css::uno::Reference< css::uno::XInterface > & xFieldInterface,
diff --git a/writerfilter/source/dmapper/PropertyIds.cxx b/writerfilter/source/dmapper/PropertyIds.cxx
index 5bf3715..e8b85d7 100644
--- a/writerfilter/source/dmapper/PropertyIds.cxx
+++ b/writerfilter/source/dmapper/PropertyIds.cxx
@@ -379,6 +379,9 @@ OUString getPropertyName( PropertyIds eId )
        case PROP_FILL_COLOR: sName = "FillColor"; break;
        case PROP_SNAP_TO_GRID: sName = "SnapToGrid"; break;
        case PROP_GRID_SNAP_TO_CHARS: sName = "GridSnapToChars"; break;
        case PROP_RUBY_STYLE: sName = "RubyCharStyleName"; break;
        case PROP_RUBY_TEXT: sName = "RubyText"; break;
        case PROP_RUBY_ADJUST: sName = "RubyAdjust"; break;
    }
    assert(sName.getLength()>0);
    return sName;
diff --git a/writerfilter/source/dmapper/PropertyIds.hxx b/writerfilter/source/dmapper/PropertyIds.hxx
index 89feb8c..75a2a9b 100644
--- a/writerfilter/source/dmapper/PropertyIds.hxx
+++ b/writerfilter/source/dmapper/PropertyIds.hxx
@@ -377,6 +377,9 @@ enum PropertyIds
        ,PROP_FILL_COLOR
        ,PROP_SNAP_TO_GRID
        ,PROP_GRID_SNAP_TO_CHARS
        ,PROP_RUBY_STYLE
        ,PROP_RUBY_TEXT
        ,PROP_RUBY_ADJUST
    };

//Returns the UNO string equivalent to eId.
diff --git a/writerfilter/source/ooxml/model.xml b/writerfilter/source/ooxml/model.xml
index 860655e..260aa3d 100644
--- a/writerfilter/source/ooxml/model.xml
+++ b/writerfilter/source/ooxml/model.xml
@@ -13706,9 +13706,19 @@
          <ref name="CT_OnOff"/>
        </element>
      </define>
      <define name="ST_RubyAlign">
        <choice>
          <value>center</value>
          <value>distributeLetter</value>
          <value>distributeSpace</value>
          <value>left</value>
          <value>right</value>
          <value>rightVertical</value>
        </choice>
      </define>
      <define name="CT_RubyAlign">
        <attribute name="val">
          <data type="string"/>
          <ref name="ST_RubyAlign"/>
        </attribute>
      </define>
      <define name="CT_RubyPr">
@@ -17900,6 +17910,7 @@
    </resource>
    <resource name="CT_R" resource="Stream">
      <action name="start" action="startCharacterGroup"/>
      <action name="start" action="sendPropertiesWithId" tokenid="ooxml:EG_RubyContent_r" sendtokenid="ooxml:EG_RubyContent_r"/>
    </resource>
    <resource name="ST_Hint" resource="List">
      <value tokenid="ooxml:Value_ST_Hint_default">default</value>
@@ -17997,9 +18008,38 @@
      <action name="start" action="sendPropertiesWithId" sendtokenid="ooxml:paratrackchange"/>
      <action name="start" action="clearProps"/>
    </resource>
    <resource name="ST_RubyAlign" resource="List">
      <value tokenid="ooxml:Value_ST_RubyAlign_center">center</value>
      <value tokenid="ooxml:Value_ST_RubyAlign_distributeLetter">distributeLetter</value>
      <value tokenid="ooxml:Value_ST_RubyAlign_distributeSpace">distributeSpace</value>
      <value tokenid="ooxml:Value_ST_RubyAlign_left">left</value>
      <value tokenid="ooxml:Value_ST_RubyAlign_right">right</value>
      <value tokenid="ooxml:Value_ST_RubyAlign_rightVertical">rightVertical</value>
    </resource>
    <resource name="CT_RubyAlign" resource="Value">
      <attribute name="val" tokenid="ooxml:CT_RubyAlign_val" action="setValue"/>
      <action name="start" action="setDefaultStringValue"/>
    </resource>
    <resource name="CT_RubyPr" resource="Properties">
        <element name="rubyAlign" tokenid="ooxml:CT_RubyPr_rubyAlign"/>
        <element name="hps" tokenid="ooxml:CT_RubyPr_hps"/>
        <element name="hpsRaise" tokenid="ooxml:CT_RubyPr_hpsRaise"/>
        <element name="hpsBaseText" tokenid="ooxml:CT_RubyPr_hpsBaseText"/>
        <element name="lid" tokenid="ooxml:CT_RubyPr_lid"/>
        <element name="dirty" tokenid="ooxml:CT_RubyPr_dirty"/>
        <action name="start" action="sendPropertiesWithId" tokenid="ooxml:CT_RubyPr" sendtokenid="ooxml:CT_RubyPr"/>
    </resource>
    <resource name="CT_Ruby" resource="Stream">
        <element name="rubyPr" tokenid="ooxml:CT_RubyPr"/>
        <element name="rt" tokenid="ooxml:CT_Ruby_rt"/>
        <element name="rubyBase" tokenid="ooxml:CT_Ruby_rubyBase"/>
        <action name="start" action="sendPropertiesWithId" tokenid="ooxml:EG_RunInnerContent_ruby" sendtokenid="ooxml:EG_RunInnerContent_ruby"/>
    </resource>
    <resource name="CT_RubyContent" resource="Stream">
      <action name="start" action="sendPropertiesWithId" tokenid="ooxml:CT_Ruby_rt" sendtokenid="ooxml:CT_Ruby_rt"/>
      <action name="start" action="sendPropertiesWithId" tokenid="ooxml:CT_Ruby_rubyBase" sendtokenid="ooxml:CT_Ruby_rubyBase"/>
    </resource>
    <resource name="EG_RubyContent" resource="Stream">
      <element name="r" tokenid="ooxml:EG_RubyContent_r"/>
    </resource>
    <resource name="CT_Lock" resource="Value">
      <attribute name="val" tokenid="ooxml:CT_Lock_val" action="setValue"/>