<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>119747</bug_id>
          
          <creation_ts>2013-08-13 07:52:55 -0700</creation_ts>
          <short_desc>svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html and svg/css/font-face-crash.html frequently assert in ComplexTextController::offsetForPosition</short_desc>
          <delta_ts>2014-04-01 13:05:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Text</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>efidler</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jonlee</cc>
    
    <cc>krit</cc>
    
    <cc>mitz</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>rafaelw</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>916699</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-08-13 07:52:55 -0700</bug_when>
    <thetext>Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK2%20(Tests)/r153990%20(11617)/results.html

Exception Codes: KERN_INVALID_ADDRESS at 0x00000000bbadbeef

VM Regions Near 0xbbadbeef:
--&gt; 
    __TEXT                 000000010fc9d000-000000010fc9e000 [    4K] r-x/rwx SM=COW  /Volumes/VOLUME/*/WebKit2.framework/WebProcess.app/Contents/MacOS/WebProcess

Application Specific Information:
CRASHING TEST: svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore      	0x000000011195c55a WTFCrash + 42 (Assertions.cpp:342)
1   com.apple.WebCore             	0x000000011287d5ef WebCore::ComplexTextController::offsetForPosition(float, bool) + 2623 (ComplexTextController.cpp:258)
2   com.apple.WebCore             	0x0000000112d5ee00 WebCore::Font::offsetForPositionForComplexText(WebCore::TextRun const&amp;, float, bool) const + 144 (FontComplexTextMac.cpp:124)
3   com.apple.WebCore             	0x0000000112d41dc6 WebCore::Font::offsetForPosition(WebCore::TextRun const&amp;, float, bool) const + 150 (Font.cpp:380)
4   com.apple.WebCore             	0x000000011307c768 WebCore::InlineTextBox::offsetForPosition(float, bool) const + 504 (InlineTextBox.cpp:1555)
5   com.apple.WebCore             	0x000000011307452a WebCore::InlineTextBox::placeEllipsisBox(bool, float, float, float, float&amp;, bool&amp;) + 938 (InlineTextBox.cpp:294)
6   com.apple.WebCore             	0x0000000113069179 WebCore::InlineFlowBox::placeEllipsisBox(bool, float, float, float, float&amp;, bool&amp;) + 233 (InlineFlowBox.cpp:1485)
7   com.apple.WebCore             	0x0000000113c83d2e WebCore::RootInlineBox::placeEllipsisBox(bool, float, float, float, float&amp;, bool&amp;) + 94 (RootInlineBox.cpp:163)
8   com.apple.WebCore             	0x0000000113c83c9c WebCore::RootInlineBox::placeEllipsis(WTF::AtomicString const&amp;, bool, float, float, float, WebCore::InlineBox*) + 844 (RootInlineBox.cpp:156)
9   com.apple.WebCore             	0x00000001139e0889 WebCore::RenderBlock::checkLinesForTextOverflow() + 1545 (RenderBlockLineLayout.cpp:3615)
10  com.apple.WebCore             	0x00000001139dfe89 WebCore::RenderBlock::layoutInlineChildren(bool, WebCore::LayoutUnit&amp;, WebCore::LayoutUnit&amp;) + 2729 (RenderBlockLineLayout.cpp:2212)
11  com.apple.WebCore             	0x000000011397d715 WebCore::RenderBlock::layoutBlock(bool, WebCore::LayoutUnit) + 1205 (RenderBlock.cpp:1645)
12  com.apple.WebCore             	0x000000011397ca2d WebCore::RenderBlock::layout() + 125 (RenderBlock.cpp:1432)
13  com.apple.WebCore             	0x000000011398a242 WebCore::RenderBlock::layoutBlockChild(WebCore::RenderBox*, WebCore::RenderBlock::MarginInfo&amp;, WebCore::LayoutUnit&amp;, WebCore::LayoutUnit&amp;) + 1266 (RenderBlock.cpp:2664)
14  com.apple.WebCore             	0x000000011397feb6 WebCore::RenderBlock::layoutBlockChildren(bool, WebCore::LayoutUnit&amp;) + 614 (RenderBlock.cpp:2596)
15  com.apple.WebCore             	0x000000011397d738 WebCore::RenderBlock::layoutBlock(bool, WebCore::LayoutUnit) + 1240 (RenderBlock.cpp:1650)
16  com.apple.WebCore             	0x000000011397ca2d WebCore::RenderBlock::layout() + 125 (RenderBlock.cpp:1432)
17  com.apple.WebCore             	0x000000011398a242 WebCore::RenderBlock::layoutBlockChild(WebCore::RenderBox*, WebCore::RenderBlock::MarginInfo&amp;, WebCore::LayoutUnit&amp;, WebCore::LayoutUnit&amp;) + 1266 (RenderBlock.cpp:2664)
18  com.apple.WebCore             	0x000000011397feb6 WebCore::RenderBlock::layoutBlockChildren(bool, WebCore::LayoutUnit&amp;) + 614 (RenderBlock.cpp:2596)
19  com.apple.WebCore             	0x000000011397d738 WebCore::RenderBlock::layoutBlock(bool, WebCore::LayoutUnit) + 1240 (RenderBlock.cpp:1650)
20  com.apple.WebCore             	0x000000011397ca2d WebCore::RenderBlock::layout() + 125 (RenderBlock.cpp:1432)
21  com.apple.WebCore             	0x000000011398a242 WebCore::RenderBlock::layoutBlockChild(WebCore::RenderBox*, WebCore::RenderBlock::MarginInfo&amp;, WebCore::LayoutUnit&amp;, WebCore::LayoutUnit&amp;) + 1266 (RenderBlock.cpp:2664)
22  com.apple.WebCore             	0x000000011397feb6 WebCore::RenderBlock::layoutBlockChildren(bool, WebCore::LayoutUnit&amp;) + 614 (RenderBlock.cpp:2596)
23  com.apple.WebCore             	0x000000011397d738 WebCore::RenderBlock::layoutBlock(bool, WebCore::LayoutUnit) + 1240 (RenderBlock.cpp:1650)
24  com.apple.WebCore             	0x000000011397ca2d WebCore::RenderBlock::layout() + 125 (RenderBlock.cpp:1432)
25  com.apple.WebCore             	0x0000000113c3c0ed WebCore::RenderView::layoutContent(WebCore::LayoutState const&amp;) + 93 (RenderView.cpp:143)
26  com.apple.WebCore             	0x0000000113c3cfd5 WebCore::RenderView::layout() + 1349 (RenderView.cpp:327)
27  com.apple.WebCore             	0x0000000112dcdea2 WebCore::FrameView::layout(bool) + 3218 (FrameView.cpp:1333)
28  com.apple.WebCore             	0x0000000112b2dd8f WebCore::Document::implicitClose() + 991 (Document.cpp:2419)
29  com.apple.WebCore             	0x0000000112da461b WebCore::FrameLoader::checkCallImplicitClose() + 155 (FrameLoader.cpp:851)
30  com.apple.WebCore             	0x0000000112da4296 WebCore::FrameLoader::checkCompleted() + 358 (FrameLoader.cpp:795)
31  com.apple.WebCore             	0x0000000112da2e28 WebCore::FrameLoader::finishedParsing() + 184 (FrameLoader.cpp:728)
32  com.apple.WebCore             	0x0000000112b38a0b WebCore::Document::finishedParsing() + 475 (Document.cpp:4393)
33  com.apple.WebCore             	0x0000000112ef6378 WebCore::HTMLConstructionSite::finishedParsing() + 24 (HTMLConstructionSite.cpp:349)
34  com.apple.WebCore             	0x0000000112fe9b24 WebCore::HTMLTreeBuilder::finished() + 116 (HTMLTreeBuilder.cpp:2927)
35  com.apple.WebCore             	0x0000000112f160fe WebCore::HTMLDocumentParser::end() + 174 (HTMLDocumentParser.cpp:764)
36  com.apple.WebCore             	0x0000000112f14b52 WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd() + 242 (HTMLDocumentParser.cpp:775)
37  com.apple.WebCore             	0x0000000112f1497f WebCore::HTMLDocumentParser::prepareToStopParsing() + 271 (HTMLDocumentParser.cpp:212)
38  com.apple.WebCore             	0x0000000112f16153 WebCore::HTMLDocumentParser::attemptToEnd() + 67 (HTMLDocumentParser.cpp:787)
39  com.apple.WebCore             	0x0000000112f161a8 WebCore::HTMLDocumentParser::finish() + 72 (HTMLDocumentParser.cpp:836)
40  com.apple.WebCore             	0x0000000112ba17ba WebCore::DocumentWriter::end() + 346 (DocumentWriter.cpp:249)
41  com.apple.WebCore             	0x0000000112b70693 WebCore::DocumentLoader::finishedLoading(double) + 595 (DocumentLoader.cpp:403)
42  com.apple.WebCore             	0x0000000112b703ae WebCore::DocumentLoader::notifyFinished(WebCore::CachedResource*) + 270 (DocumentLoader.cpp:345)
43  com.apple.WebCore             	0x000000011281a11d WebCore::CachedResource::checkNotify() + 109 (CachedResource.cpp:369)
44  com.apple.WebCore             	0x000000011281a234 WebCore::CachedResource::finishLoading(WebCore::ResourceBuffer*) + 52 (CachedResource.cpp:386)
45  com.apple.WebCore             	0x000000011281447b WebCore::CachedRawResource::finishLoading(WebCore::ResourceBuffer*) + 187 (CachedRawResource.cpp:95)
46  com.apple.WebCore             	0x0000000113e3d12b WebCore::SubresourceLoader::didFinishLoading(double) + 459 (SubresourceLoader.cpp:284)
47  com.apple.WebCore             	0x0000000113c6b935 WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle*, double) + 53 (ResourceLoader.cpp:489)
48  com.apple.WebCore             	0x000000011404d5fa -[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:] + 186 (WebCoreResourceHandleAsDelegate.mm:234)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979077</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-02-10 14:47:26 -0800</bug_when>
    <thetext>*** Bug 128541 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979080</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-02-10 14:53:58 -0800</bug_when>
    <thetext>This was fixed by &lt;http://trac.webkit.org/r154384&gt; and &lt;http://trac.webkit.org/r154674&gt;, but after many months, the fixes were rolled out in &lt;http://trac.webkit.org/r163655&gt;. So the test is asserting again.

Skipped the test in debug builds in &lt;http://trac.webkit.org/r163824&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979272</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-02-10 22:13:15 -0800</bug_when>
    <thetext>svg/css/font-face-crash.html is another test that started to hit this assertion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979274</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-02-10 22:14:21 -0800</bug_when>
    <thetext>*** Bug 111626 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979275</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-02-10 22:16:16 -0800</bug_when>
    <thetext>Skipped svg/css/font-face-crash.html in debug builds in &lt;http://trac.webkit.org/r163861&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>986645</commentid>
    <comment_count>6</comment_count>
      <attachid>225729</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-03-03 19:34:12 -0800</bug_when>
    <thetext>Created attachment 225729
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>986668</commentid>
    <comment_count>7</comment_count>
      <attachid>225729</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-03-03 21:24:06 -0800</bug_when>
    <thetext>Comment on attachment 225729
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=225729&amp;action=review

&gt; LayoutTests/svg/text/svg-font-hittest.html:29
&gt; +    }), 100);

This is likely flakey. Does anyone have any ideas about how to make this more robust?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>986688</commentid>
    <comment_count>8</comment_count>
      <attachid>225729</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-03-03 22:59:00 -0800</bug_when>
    <thetext>Comment on attachment 225729
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=225729&amp;action=review

&gt; LayoutTests/ChangeLog:3
&gt; +        svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html and svg/css/font-face-crash.html frequently assert in ComplexTextController::offsetForPosition

Shouldn&apos;t these tests be unskilled now? Both are skipped in LayoutTests/platform/mac/TestExpectations.

&gt;&gt; LayoutTests/svg/text/svg-font-hittest.html:29
&gt;&gt; +    }), 100);
&gt; 
&gt; This is likely flakey. Does anyone have any ideas about how to make this more robust?

I think that fast/css/font-face-download-error.html is an example of how to make such tests non-flaky.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989084</commentid>
    <comment_count>9</comment_count>
      <attachid>226344</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-03-10 15:43:00 -0700</bug_when>
    <thetext>Created attachment 226344
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996325</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-04-01 09:46:43 -0700</bug_when>
    <thetext>Who are the qualified reviewers for this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996361</commentid>
    <comment_count>11</comment_count>
      <attachid>226344</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-04-01 10:49:08 -0700</bug_when>
    <thetext>Comment on attachment 226344
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=226344&amp;action=review

&gt; Source/WebCore/platform/graphics/Font.cpp:447
&gt; +    if (codePath(run) != Complex &amp;&amp; (!typesettingFeatures() || run.renderingContext()))

What is the significance of having a rendering context? It&apos;s obscure enough to warrant a comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996363</commentid>
    <comment_count>12</comment_count>
      <attachid>226344</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-04-01 10:58:27 -0700</bug_when>
    <thetext>Comment on attachment 226344
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=226344&amp;action=review

&gt;&gt; Source/WebCore/platform/graphics/Font.cpp:447
&gt;&gt; +    if (codePath(run) != Complex &amp;&amp; (!typesettingFeatures() || run.renderingContext()))
&gt; 
&gt; What is the significance of having a rendering context? It&apos;s obscure enough to warrant a comment.

Okay, i&apos;ll add one. However, This pattern appears in this file many times.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996382</commentid>
    <comment_count>13</comment_count>
      <attachid>228305</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-04-01 12:14:13 -0700</bug_when>
    <thetext>Created attachment 228305
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996400</commentid>
    <comment_count>14</comment_count>
      <attachid>228305</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-01 13:05:34 -0700</bug_when>
    <thetext>Comment on attachment 228305
Patch

Clearing flags on attachment: 228305

Committed r166603: &lt;http://trac.webkit.org/changeset/166603&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996401</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-01 13:05:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225729</attachid>
            <date>2014-03-03 19:34:12 -0800</date>
            <delta_ts>2014-03-10 15:42:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119747-20140303193412.patch</filename>
            <type>text/plain</type>
            <size>6833</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1MDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDE1ZjhmZTY4NGViMWYy
NTc1MDg5ZTBmMDFmNDIxNzFlMDcyNWRhMi4uNWE2MjJjMGFjZGM3MWU3OWQ3ZjE2Yjg5ODdhZTgz
ZWEwMmZhYTFhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIzIEBACiAyMDE0LTAzLTAzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKKyAgICAgICAgc3ZnL3RleHQv
dGV4dC1vdmVyZmxvdy1lbGxpcHNpcy1zdmdmb250LWtlcm5pbmctbGlnYXR1cmVzLmh0bWwgYW5k
IHN2Zy9jc3MvZm9udC1mYWNlLWNyYXNoLmh0bWwgZnJlcXVlbnRseSBhc3NlcnQgaW4gQ29tcGxl
eFRleHRDb250cm9sbGVyOjpvZmZzZXRGb3JQb3NpdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5NzQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXZlbiB0aG91Z2gga2VybmluZyBhbmQgbGlnYXR1
cmVzIGN1cnJlbnRseSBkb24ndCB3b3JrIHdpdGggdGhlCisgICAgICAgIHNpbXBsZSB0ZXh0IHBh
dGgsIG1lc3NpbmcgdGhvc2UgdXAgaXMgYmV0dGVyIHRoYW4gY3JlYXRpbmcgbnVsbAorICAgICAg
ICBDVFJ1biBhbmQgQ1RMaW5lIG9iamVjdHMuCisKKyAgICAgICAgVGVzdDogc3ZnL3RleHQvc3Zn
LWZvbnQtaGl0dGVzdC5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6Om9mZnNldEZvclBvc2l0aW9uKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW06CisgICAg
ICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpjdEZvbnQpOgorCisyMDE0LTAzLTAzICBN
eWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKICAgICAgICAgR3JhcGhp
Y3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQgbmVlZHMgdG8gYmUgZXhwb3J0ZWQgZnJvbSBXZWJD
b3JlLmR5bGliIGZvciBpT1MgYnVpbGRzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjk2NDcKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250LmNwcAppbmRleCBmNTc2ZGYwODAyMjIyODNmMzFjMzdjZmM2MzM0MzAwNDJjZjY0NDgz
Li4zODA1YzdjNzk0N2ZhZWE1MjdlMjRmODIyNTg0YzNlZWNkZGI1ZGVkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcApAQCAtNDQ0LDcgKzQ0NCw3IEBAIEZsb2F0
UmVjdCBGb250OjpzZWxlY3Rpb25SZWN0Rm9yVGV4dChjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0
IEZsb2F0UG9pbnQmIHBvaW50CiBpbnQgRm9udDo6b2Zmc2V0Rm9yUG9zaXRpb24oY29uc3QgVGV4
dFJ1biYgcnVuLCBmbG9hdCB4LCBib29sIGluY2x1ZGVQYXJ0aWFsR2x5cGhzKSBjb25zdAogewog
ICAgIC8vIEZJWE1FOiBVc2UgdGhlIGZhc3QgY29kZSBwYXRoIG9uY2UgaXQgaGFuZGxlcyBwYXJ0
aWFsIHJ1bnMgd2l0aCBrZXJuaW5nIGFuZCBsaWdhdHVyZXMuIFNlZSBodHRwOi8vd2Via2l0Lm9y
Zy9iLzEwMDA1MAotICAgIGlmIChjb2RlUGF0aChydW4pICE9IENvbXBsZXggJiYgIXR5cGVzZXR0
aW5nRmVhdHVyZXMoKSkKKyAgICBpZiAoY29kZVBhdGgocnVuKSAhPSBDb21wbGV4ICYmICghdHlw
ZXNldHRpbmdGZWF0dXJlcygpIHx8IHJ1bi5yZW5kZXJpbmdDb250ZXh0KCkpKQogICAgICAgICBy
ZXR1cm4gb2Zmc2V0Rm9yUG9zaXRpb25Gb3JTaW1wbGVUZXh0KHJ1biwgeCwgaW5jbHVkZVBhcnRp
YWxHbHlwaHMpOwogCiAgICAgcmV0dXJuIG9mZnNldEZvclBvc2l0aW9uRm9yQ29tcGxleFRleHQo
cnVuLCB4LCBpbmNsdWRlUGFydGlhbEdseXBocyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2Eu
bW0KaW5kZXggZThkODRiMWVlMTZlNGZhN2U3YTczODEyYjU2NzcxMTZlMmY2OWZkNy4uMmU3ZmRk
OWU4NjExODliNjhiYjE5NjAxMTEzYzFiMDA3N2M0ZTMzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURh
dGFDb2NvYS5tbQpAQCAtMzA4LDYgKzMwOCw3IEBAIENURm9udFJlZiBGb250UGxhdGZvcm1EYXRh
OjpjdEZvbnQoKSBjb25zdAogICAgIGlmIChtX0NURm9udCkKICAgICAgICAgcmV0dXJuIG1fQ1RG
b250LmdldCgpOwogCisgICAgQVNTRVJUKG1fY2dGb250LmdldCgpKTsKICNpZiAhUExBVEZPUk0o
SU9TKQogICAgIG1fQ1RGb250ID0gdG9DVEZvbnRSZWYobV9mb250KTsKICAgICBpZiAobV9DVEZv
bnQpIHsKQEAgLTMxOSwxMCArMzIwLDggQEAgQ1RGb250UmVmIEZvbnRQbGF0Zm9ybURhdGE6OmN0
Rm9udCgpIGNvbnN0CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGZvbnREZXNjcmlwdG9yID0g
Y2FzY2FkZVRvTGFzdFJlc29ydEZvbnREZXNjcmlwdG9yKCk7CiAgICAgICAgIG1fQ1RGb250ID0g
YWRvcHRDRihDVEZvbnRDcmVhdGVDb3B5V2l0aEF0dHJpYnV0ZXMobV9DVEZvbnQuZ2V0KCksIG1f
c2l6ZSwgMCwgZm9udERlc2NyaXB0b3IpKTsKLSAgICB9IGVsc2UgewotICAgICAgICBBU1NFUlQo
bV9jZ0ZvbnQuZ2V0KCkpOworICAgIH0gZWxzZQogICAgICAgICBtX0NURm9udCA9IGFkb3B0Q0Yo
Q1RGb250Q3JlYXRlV2l0aEdyYXBoaWNzRm9udChtX2NnRm9udC5nZXQoKSwgbV9zaXplLCAwLCBj
YXNjYWRlVG9MYXN0UmVzb3J0Rm9udERlc2NyaXB0b3IoKSkpOwotICAgIH0KICNlbHNlCiAgICAg
Ly8gQXBwbGUgQ29sb3IgRW1vamkgc2l6ZSBpcyBhZGp1c3RlZCAoYW5kIHRoZW4gcmUtYWRqdXN0
ZWQgYnkgQ29yZSBUZXh0KSBhbmQgY2FwcGVkLgogICAgIENHRmxvYXQgc2l6ZSA9ICFtX2lzRW1v
amkgPyBtX3NpemUgOiBtX3NpemUgPD0gMTUgPyA0ICogKG1fc2l6ZSArIDIpIC8gc3RhdGljX2Nh
c3Q8Q0dGbG9hdD4oNSkgOiAxNjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiYWM2NTIxODMzNTViYzliYmU0YTJmZDAyYjdm
ZmI4NTQwMGI4MDE4Li44OWM0NTAwZGEwMGQ1OTI4MDJjZGM2NjM2ZTlmMTY1Y2VkNzVjNzNmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDUgKzEsMjAgQEAKIDIwMTQtMDMtMDMgIE15bGVzIEMuIE1heGZpZWxkICA8bW1h
eGZpZWxkQGFwcGxlLmNvbT4KIAorICAgICAgICBzdmcvdGV4dC90ZXh0LW92ZXJmbG93LWVsbGlw
c2lzLXN2Z2ZvbnQta2VybmluZy1saWdhdHVyZXMuaHRtbCBhbmQgc3ZnL2Nzcy9mb250LWZhY2Ut
Y3Jhc2guaHRtbCBmcmVxdWVudGx5IGFzc2VydCBpbiBDb21wbGV4VGV4dENvbnRyb2xsZXI6Om9m
ZnNldEZvclBvc2l0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMTk3NDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBFdmVuIHRob3VnaCBrZXJuaW5nIGFuZCBsaWdhdHVyZXMgY3VycmVudGx5IGRvbid0
IHdvcmsgd2l0aCB0aGUKKyAgICAgICAgc2ltcGxlIHRleHQgcGF0aCwgbWVzc2luZyB0aG9zZSB1
cCBpcyBiZXR0ZXIgdGhhbiBjcmVhdGluZyBudWxsCisgICAgICAgIENUUnVuIGFuZCBDVExpbmUg
b2JqZWN0cy4KKworICAgICAgICAqIHN2Zy90ZXh0L3Jlc291cmNlcy9MaXRoZXJ1bS5zdmc6IEFk
ZGVkLgorICAgICAgICAqIHN2Zy90ZXh0L3N2Zy1mb250LWhpdHRlc3QtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBzdmcvdGV4dC9zdmctZm9udC1oaXR0ZXN0Lmh0bWw6IEFkZGVkLgor
CisyMDE0LTAzLTAzICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisK
ICAgICAgICAgU3BhY2UgYmV0d2VlbiBkb3VibGUgdW5kZXJsaW5lcyBkb2VzIG5vdCBzY2FsZSB3
aXRoIGZvbnQgc2l6ZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTI5NTIxCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3Jlc291cmNl
cy9MaXRoZXJ1bS5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC9yZXNvdXJjZXMvTGl0aGVydW0u
c3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjA0MmM3ZWQ5NGVmMTc0YmU2MGI5NjA3Mzg2NDRjOTBkMzEwOTcwZmEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC9yZXNvdXJjZXMvTGl0aGVy
dW0uc3ZnCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0i
bm8iPz4KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0
dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPgorPHN2ZyB4
bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgorPG1ldGFkYXRhPjwvbWV0YWRhdGE+
Cis8ZGVmcz4KKzxmb250IGlkPSJMaXRoZXJ1bSIgaG9yaXotYWR2LXg9IjEwMjQiPgorPGZvbnQt
ZmFjZSB1bml0cy1wZXItZW09IjE0IiBhc2NlbnQ9IjE0IiBkZXNjZW50PSItNyIvPgorPGdseXBo
IHVuaWNvZGU9InwiIGhvcml6LWFkdi14PSIxNCIgZD0iTTUgLTd2MjFoNHYtMjF6Ii8+Cis8L2Zv
bnQ+Cis8L2RlZnM+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3N2
Zy1mb250LWhpdHRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvc3ZnLWZv
bnQtaGl0dGVzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzIzNWMxZWMyOTAzMjQ1YmVmODIz
MjlkOGRkMWQ2ZTg1NmJlNTg3ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy90
ZXh0L3N2Zy1mb250LWhpdHRlc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorVGhpcyBj
b2RlIHRyaWdnZXJzIHRoZSBnbHlwaCBoaXQtdGVzdGluZyBjb2RlLCB3aGljaCBzaG91bGQgbm90
IGNyYXNoIHdoZW4gYSBnbHlwaCBpcyBkcmF3biB3aXRoIFNWRyBmb250cy4KK1Bhc3MKK3wKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3N2Zy1mb250LWhpdHRlc3QuaHRtbCBiL0xh
eW91dFRlc3RzL3N2Zy90ZXh0L3N2Zy1mb250LWhpdHRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTI2
NjUwOWQ4MmM5Mzc5NDEyNzFlZDFkMjJjMTc2YzRlNTkzZTg0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvc3ZnL3RleHQvc3ZnLWZvbnQtaGl0dGVzdC5odG1sCkBAIC0wLDAgKzEsMzYg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KK0Bmb250LWZhY2Ug
eworICAgIGZvbnQtZmFtaWx5OiAnTGl0aGVydW0nOworICAgIHNyYzogdXJsKCIuL3Jlc291cmNl
cy9MaXRoZXJ1bS5zdmciKSBmb3JtYXQoc3ZnKQorfQorI3AgeworICAgIGZvbnQ6IDEwMDBweCAn
TGl0aGVydW0nOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyBjb2RlIHRyaWdn
ZXJzIHRoZSBnbHlwaCBoaXQtdGVzdGluZyBjb2RlLCB3aGljaCBzaG91bGQgbm90CitjcmFzaCB3
aGVuIGEgZ2x5cGggaXMgZHJhd24gd2l0aCBTVkcgZm9udHMuCis8ZGl2IGlkPSJyZXN1bHQiPjwv
ZGl2PgorPGRpdiBpZD0icCI+fDwvZGl2PgorPHNjcmlwdD4KKyAgICAvLyBUaGVyZSBkb2Vzbid0
IHNlZW0gdG8gYmUgYW4gZXZlbnQgdGhhdCBmaXJlcyBhZnRlciBTVkcgZm9udHMKKyAgICAvLyBh
cmUgYWxsIGRvd25sb2FkZWQgYW5kIHRleHQgaXMgcmUtbGFpZC1vdXQgLi4uCisgICAgd2luZG93
LnNldFRpbWVvdXQoKGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAoZG9jdW1lbnQuY2FyZXRSYW5n
ZUZyb21Qb2ludCg0MDAsIDMwMCkpCisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicmVzdWx0IikuaW5uZXJUZXh0ID0gIlBhc3MiOworICAgICAgICBlbHNlCisgICAgICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJUZXh0ID0gIkZhaWwiOwor
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKKyAgICB9KSwgMTAwKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
KyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226344</attachid>
            <date>2014-03-10 15:43:00 -0700</date>
            <delta_ts>2014-04-01 12:14:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119747-20140310154259.patch</filename>
            <type>text/plain</type>
            <size>7628</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1Mzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDFkNjBkOWEzYTI4MTkz
NjM4OGUyMWU0Yzc1OTljMWFmZTdjMDQ1Yi4uYzlhOGE2MDMxYWI2YTE3NmYzODU2MTA0N2NkZWM2
MGQ2ODhiNDgzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE0LTAzLTAzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgc3ZnL3RleHQv
dGV4dC1vdmVyZmxvdy1lbGxpcHNpcy1zdmdmb250LWtlcm5pbmctbGlnYXR1cmVzLmh0bWwgYW5k
IHN2Zy9jc3MvZm9udC1mYWNlLWNyYXNoLmh0bWwgZnJlcXVlbnRseSBhc3NlcnQgaW4gQ29tcGxl
eFRleHRDb250cm9sbGVyOjpvZmZzZXRGb3JQb3NpdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5NzQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXZlbiB0aG91Z2gga2VybmluZyBhbmQgbGlnYXR1
cmVzIGN1cnJlbnRseSBkb24ndCB3b3JrIHdpdGggdGhlCisgICAgICAgIHNpbXBsZSB0ZXh0IHBh
dGgsIG1lc3NpbmcgdGhvc2UgdXAgaXMgYmV0dGVyIHRoYW4gY3JlYXRpbmcgbnVsbAorICAgICAg
ICBDVFJ1biBhbmQgQ1RMaW5lIG9iamVjdHMuCisKKyAgICAgICAgVGVzdDogc3ZnL3RleHQvc3Zn
LWZvbnQtaGl0dGVzdC5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6Om9mZnNldEZvclBvc2l0aW9uKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW06CisgICAg
ICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpjdEZvbnQpOgorCiAyMDE0LTAzLTEwICBN
YXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBb
Q01ha2VdIENsZWFuIHVwIGxpYnJhcnkgbGlua2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250LmNwcAppbmRleCBmNTc2ZGYwODAyMjIyODNmMzFjMzdjZmM2MzM0MzAwNDJj
ZjY0NDgzLi4zODA1YzdjNzk0N2ZhZWE1MjdlMjRmODIyNTg0YzNlZWNkZGI1ZGVkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcApAQCAtNDQ0LDcgKzQ0NCw3IEBA
IEZsb2F0UmVjdCBGb250OjpzZWxlY3Rpb25SZWN0Rm9yVGV4dChjb25zdCBUZXh0UnVuJiBydW4s
IGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50CiBpbnQgRm9udDo6b2Zmc2V0Rm9yUG9zaXRpb24oY29u
c3QgVGV4dFJ1biYgcnVuLCBmbG9hdCB4LCBib29sIGluY2x1ZGVQYXJ0aWFsR2x5cGhzKSBjb25z
dAogewogICAgIC8vIEZJWE1FOiBVc2UgdGhlIGZhc3QgY29kZSBwYXRoIG9uY2UgaXQgaGFuZGxl
cyBwYXJ0aWFsIHJ1bnMgd2l0aCBrZXJuaW5nIGFuZCBsaWdhdHVyZXMuIFNlZSBodHRwOi8vd2Vi
a2l0Lm9yZy9iLzEwMDA1MAotICAgIGlmIChjb2RlUGF0aChydW4pICE9IENvbXBsZXggJiYgIXR5
cGVzZXR0aW5nRmVhdHVyZXMoKSkKKyAgICBpZiAoY29kZVBhdGgocnVuKSAhPSBDb21wbGV4ICYm
ICghdHlwZXNldHRpbmdGZWF0dXJlcygpIHx8IHJ1bi5yZW5kZXJpbmdDb250ZXh0KCkpKQogICAg
ICAgICByZXR1cm4gb2Zmc2V0Rm9yUG9zaXRpb25Gb3JTaW1wbGVUZXh0KHJ1biwgeCwgaW5jbHVk
ZVBhcnRpYWxHbHlwaHMpOwogCiAgICAgcmV0dXJuIG9mZnNldEZvclBvc2l0aW9uRm9yQ29tcGxl
eFRleHQocnVuLCB4LCBpbmNsdWRlUGFydGlhbEdseXBocyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRh
Q29jb2EubW0KaW5kZXggZThkODRiMWVlMTZlNGZhN2U3YTczODEyYjU2NzcxMTZlMmY2OWZkNy4u
MmU3ZmRkOWU4NjExODliNjhiYjE5NjAxMTEzYzFiMDA3N2M0ZTMzNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29h
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0
Zm9ybURhdGFDb2NvYS5tbQpAQCAtMzA4LDYgKzMwOCw3IEBAIENURm9udFJlZiBGb250UGxhdGZv
cm1EYXRhOjpjdEZvbnQoKSBjb25zdAogICAgIGlmIChtX0NURm9udCkKICAgICAgICAgcmV0dXJu
IG1fQ1RGb250LmdldCgpOwogCisgICAgQVNTRVJUKG1fY2dGb250LmdldCgpKTsKICNpZiAhUExB
VEZPUk0oSU9TKQogICAgIG1fQ1RGb250ID0gdG9DVEZvbnRSZWYobV9mb250KTsKICAgICBpZiAo
bV9DVEZvbnQpIHsKQEAgLTMxOSwxMCArMzIwLDggQEAgQ1RGb250UmVmIEZvbnRQbGF0Zm9ybURh
dGE6OmN0Rm9udCgpIGNvbnN0CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGZvbnREZXNjcmlw
dG9yID0gY2FzY2FkZVRvTGFzdFJlc29ydEZvbnREZXNjcmlwdG9yKCk7CiAgICAgICAgIG1fQ1RG
b250ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVDb3B5V2l0aEF0dHJpYnV0ZXMobV9DVEZvbnQuZ2V0
KCksIG1fc2l6ZSwgMCwgZm9udERlc2NyaXB0b3IpKTsKLSAgICB9IGVsc2UgewotICAgICAgICBB
U1NFUlQobV9jZ0ZvbnQuZ2V0KCkpOworICAgIH0gZWxzZQogICAgICAgICBtX0NURm9udCA9IGFk
b3B0Q0YoQ1RGb250Q3JlYXRlV2l0aEdyYXBoaWNzRm9udChtX2NnRm9udC5nZXQoKSwgbV9zaXpl
LCAwLCBjYXNjYWRlVG9MYXN0UmVzb3J0Rm9udERlc2NyaXB0b3IoKSkpOwotICAgIH0KICNlbHNl
CiAgICAgLy8gQXBwbGUgQ29sb3IgRW1vamkgc2l6ZSBpcyBhZGp1c3RlZCAoYW5kIHRoZW4gcmUt
YWRqdXN0ZWQgYnkgQ29yZSBUZXh0KSBhbmQgY2FwcGVkLgogICAgIENHRmxvYXQgc2l6ZSA9ICFt
X2lzRW1vamkgPyBtX3NpemUgOiBtX3NpemUgPD0gMTUgPyA0ICogKG1fc2l6ZSArIDIpIC8gc3Rh
dGljX2Nhc3Q8Q0dGbG9hdD4oNSkgOiAxNjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyMjNmNzZhYTE3MjhhZTQyMjg0NDM1
NjdiMzQ2Mjg3YjAzZDI3NWM5Li5iZTg1ZmQwMGE3MjNmMTE2ZjZmOTBkOTJlZDNkNTBhN2QyMDk4
MGNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTQtMDMtMDMgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBzdmcvdGV4dC90ZXh0LW92ZXJmbG93
LWVsbGlwc2lzLXN2Z2ZvbnQta2VybmluZy1saWdhdHVyZXMuaHRtbCBhbmQgc3ZnL2Nzcy9mb250
LWZhY2UtY3Jhc2guaHRtbCBmcmVxdWVudGx5IGFzc2VydCBpbiBDb21wbGV4VGV4dENvbnRyb2xs
ZXI6Om9mZnNldEZvclBvc2l0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTk3NDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBFdmVuIHRob3VnaCBrZXJuaW5nIGFuZCBsaWdhdHVyZXMgY3VycmVudGx5
IGRvbid0IHdvcmsgd2l0aCB0aGUKKyAgICAgICAgc2ltcGxlIHRleHQgcGF0aCwgbWVzc2luZyB0
aG9zZSB1cCBpcyBiZXR0ZXIgdGhhbiBjcmVhdGluZyBudWxsCisgICAgICAgIENUUnVuIGFuZCBD
VExpbmUgb2JqZWN0cy4KKworICAgICAgICAqIHN2Zy90ZXh0L3Jlc291cmNlcy9MaXRoZXJ1bS5z
dmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy90ZXh0L3N2Zy1mb250LWhpdHRlc3QtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvdGV4dC9zdmctZm9udC1oaXR0ZXN0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25z
OiBVbnNraXBwZWQgdGVzdHMKKwogMjAxNC0wMy0xMCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFw
QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBqcy9kb20vY3JlYXRlLWxvdHMtb2Yt
d29ya2Vycy5odG1sIGZyZXF1ZW50bHkgY3Jhc2hlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCAwMDNkNzE3YWVjOTk2NWQ3OTViMzdkMDJiMjRlMTMxY2Mz
MDIxNmJiLi5mNTA0MjJkNDM0MmQwMjkwMDgyY2EzNDFlYjQzOTM0ZmFiODYxZWFkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTMxNyw5ICsxMzE3LDYg
QEAgd2Via2l0Lm9yZy9iLzUwOTU5IGFuaW1hdGlvbnMvcGxheS1zdGF0ZS1zdXNwZW5kLmh0bWwg
WyBQYXNzIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEyMjA0MCBhbmltYXRpb25zL2NvbWJvLXRy
YW5zZm9ybS10cmFuc2xhdGUrc2NhbGUuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3ZWJraXQub3Jn
L2IvMTI4Mzc5IGFuaW1hdGlvbnMvc3VzcGVuZC1yZXN1bWUtYW5pbWF0aW9uLmh0bWwgWyBQYXNz
IEZhaWx1cmUgXQogCi13ZWJraXQub3JnL2IvMTE5NzQ3IFsgRGVidWcgXSBzdmcvdGV4dC90ZXh0
LW92ZXJmbG93LWVsbGlwc2lzLXN2Z2ZvbnQta2VybmluZy1saWdhdHVyZXMuaHRtbCBbIFNraXAg
XQotd2Via2l0Lm9yZy9iLzExOTc0NyBbIERlYnVnIF0gc3ZnL2Nzcy9mb250LWZhY2UtY3Jhc2gu
aHRtbCBbIFNraXAgXQotCiAjIFJlZ3Jlc3Npb25zIGluIHN2Zy9jbGlwLXBhdGgKIHdlYmtpdC5v
cmcvYi8xMjg0OTkgc3ZnL2NsaXAtcGF0aC9jbGlwLXBhdGgtY29udGVudC11c2UtMDA1LnN2ZyBb
IEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEyODQ5OSBzdmcvY2xpcC1wYXRoL2Ns
aXAtcGF0aC1wcmVjaXNpb24tMDAxLnN2ZyBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvcmVzb3VyY2VzL0xpdGhlcnVtLnN2ZyBiL0xheW91dFRl
c3RzL3N2Zy90ZXh0L3Jlc291cmNlcy9MaXRoZXJ1bS5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDQyYzdlZDk0
ZWYxNzRiZTYwYjk2MDczODY0NGM5MGQzMTA5NzBmYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3N2Zy90ZXh0L3Jlc291cmNlcy9MaXRoZXJ1bS5zdmcKQEAgLTAsMCArMSwxMSBAQAor
PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PgorPCFET0NUWVBFIHN2ZyBQVUJM
SUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3Mv
U1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiA+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8y
MDAwL3N2ZyI+Cis8bWV0YWRhdGE+PC9tZXRhZGF0YT4KKzxkZWZzPgorPGZvbnQgaWQ9IkxpdGhl
cnVtIiBob3Jpei1hZHYteD0iMTAyNCI+Cis8Zm9udC1mYWNlIHVuaXRzLXBlci1lbT0iMTQiIGFz
Y2VudD0iMTQiIGRlc2NlbnQ9Ii03Ii8+Cis8Z2x5cGggdW5pY29kZT0ifCIgaG9yaXotYWR2LXg9
IjE0IiBkPSJNNSAtN3YyMWg0di0yMXoiLz4KKzwvZm9udD4KKzwvZGVmcz4KKzwvc3ZnPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvc3ZnLWZvbnQtaGl0dGVzdC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC9zdmctZm9udC1oaXR0ZXN0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jMjM1YzFlYzI5MDMyNDViZWY4MjMyOWQ4ZGQxZDZlODU2YmU1ODdmCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvc3ZnLWZvbnQtaGl0dGVzdC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUaGlzIGNvZGUgdHJpZ2dlcnMgdGhlIGdseXBoIGhp
dC10ZXN0aW5nIGNvZGUsIHdoaWNoIHNob3VsZCBub3QgY3Jhc2ggd2hlbiBhIGdseXBoIGlzIGRy
YXduIHdpdGggU1ZHIGZvbnRzLgorUGFzcworfApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Zn
L3RleHQvc3ZnLWZvbnQtaGl0dGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvc3ZnLWZv
bnQtaGl0dGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2OWNiNTU5M2JmMDU0NWVmMzFhM2NmNTViYjE1
NGMxNTJiMmE5YTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC9zdmct
Zm9udC1oaXR0ZXN0Lmh0bWwKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHN0eWxlPgorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICdMaXRo
ZXJ1bSc7CisgICAgc3JjOiB1cmwoIi4vcmVzb3VyY2VzL0xpdGhlcnVtLnN2ZyIpIGZvcm1hdChz
dmcpCit9CisjcCB7CisgICAgZm9udDogMTAwMHB4ICdMaXRoZXJ1bSc7Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyBjb2RlIHRyaWdnZXJzIHRoZSBn
bHlwaCBoaXQtdGVzdGluZyBjb2RlLCB3aGljaCBzaG91bGQgbm90CitjcmFzaCB3aGVuIGEgZ2x5
cGggaXMgZHJhd24gd2l0aCBTVkcgZm9udHMuCis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRp
diBpZD0icCI+fDwvZGl2PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKSB7CisgICAgaWYgKGRv
Y3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoNDAwLCAzMDApKQorICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJUZXh0ID0gIlBhc3MiOworICAgIGVsc2UKKyAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVyVGV4dCA9ICJGYWls
IjsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOworfQorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKy8vIEZvcmNl
IGxheW91dCwgc28gdGhhdCBmb250cyBiZWdpbiB0byBsb2FkIGJlZm9yZSB0aGUgZG9jdW1lbnQg
ZmluaXNoZXMgbG9hZGluZywgYW5kIHRodXMgZGVsYXkgdGhlIGxvYWQgZXZlbnQuCitkb2N1bWVu
dC5ib2R5Lm9mZnNldFRvcDsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228305</attachid>
            <date>2014-04-01 12:14:13 -0700</date>
            <delta_ts>2014-04-01 13:05:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119747-20140401121354.patch</filename>
            <type>text/plain</type>
            <size>11257</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2NTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYzODFlMzE5NTJjYzg5
YjQ0MGM4MWY1Yjg1MDM3NmQ3YmFjYjFjOC4uMjE5YTAxODhiNjhkMDY4ODlmNTMyMjY3N2Y3ZTUw
Y2U2OTdmZWViNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE0LTA0LTAxICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgc3ZnL3RleHQv
dGV4dC1vdmVyZmxvdy1lbGxpcHNpcy1zdmdmb250LWtlcm5pbmctbGlnYXR1cmVzLmh0bWwgYW5k
IHN2Zy9jc3MvZm9udC1mYWNlLWNyYXNoLmh0bWwgZnJlcXVlbnRseSBhc3NlcnQgaW4gQ29tcGxl
eFRleHRDb250cm9sbGVyOjpvZmZzZXRGb3JQb3NpdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5NzQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXZlbiB0aG91Z2gga2VybmluZyBhbmQgbGlnYXR1
cmVzIGN1cnJlbnRseSBkb24ndCB3b3JrIHdpdGggdGhlCisgICAgICAgIHNpbXBsZSB0ZXh0IHBh
dGgsIG1lc3NpbmcgdGhvc2UgdXAgaXMgYmV0dGVyIHRoYW4gY3JlYXRpbmcgbnVsbAorICAgICAg
ICBDVFJ1biBhbmQgQ1RMaW5lIG9iamVjdHMuCisKKyAgICAgICAgUmF0aGVyIHRoYW4gY2FsbGlu
ZyB0aGUgYmFkbHktbmFtZWQgcmVuZGVyaW5nQ29udGV4dCgpIGZ1bmN0aW9uIG9uIFRleHRSdW4g
b2JqZWN0cworICAgICAgICB0byBkZXRlcm1pbmUgaWYgdGhleSBhcmUgZHJhd24gd2l0aCBhbiBT
VkcgZm9udCwgdGhpcyBwYXRjaCBjcmVhdGVzIGEgd3JhcHBlciBmdW5jdGlvbgorICAgICAgICB3
aXRoIGEgYmV0dGVyIG5hbWUgYW5kIHVzZXMgdGhhdCBpbnN0ZWFkLgorCisgICAgICAgIFRlc3Q6
IHN2Zy90ZXh0L3N2Zy1mb250LWhpdHRlc3QuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udC5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0RyYXduV2l0aFNWR0ZvbnQpOiBX
cmFwcGVyIGFyb3VuZCByZW5kZXJpbmdDb250ZXh0KCkKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6
OmRyYXdUZXh0KTogVXNlIHdyYXBwZXIgZnVuY3Rpb24KKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6
OmRyYXdFbXBoYXNpc01hcmtzKTogVXNlIHdyYXBwZXIgZnVuY3Rpb24KKyAgICAgICAgKFdlYkNv
cmU6OkZvbnQ6OndpZHRoKTogVXNlIHdyYXBwZXIgZnVuY3Rpb24KKyAgICAgICAgKFdlYkNvcmU6
OkZvbnQ6OnNlbGVjdGlvblJlY3RGb3JUZXh0KTogVXNlIHdyYXBwZXIgZnVuY3Rpb24KKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnQ6Om9mZnNldEZvclBvc2l0aW9uKTogSWYgd2UgYXJlIHVzaW5nIGFu
IFNWRyBmb250LCB1c2UgdGhlIHNpbXBsZSBwYXRoCisgICAgICAgIGluc3RlYWQgb2YgdGhlIGNv
bXBsZXggb25lCisgICAgICAgIChXZWJDb3JlOjpGb250Ojpjb2RlUGF0aCk6IFVzZSB3cmFwcGVy
IGZ1bmN0aW9uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3Jt
RGF0YUNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6Y3RGb250
KToKKwogMjAxNC0wMy0zMSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAog
ICAgICAgICBDcmFzaGVzIGluIFBhZ2VDb25zb2xlOjphZGRNZXNzYWdlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCmluZGV4IDUxNzkyMzM1ZTM0YzhmNTcxNzJlNzRh
ZTc2NWM3YTkyZGVhZmE2YjguLmY4OGI4YjFhNWFhMjc0ZjFiYmYxNjMwY2VlOGVmYmMyYTkwZTA1
ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCkBAIC02Myw2
ICs2MywxMSBAQCBjb25zdCB1aW50OF90IEZvbnQ6OnNfcm91bmRpbmdIYWNrQ2hhcmFjdGVyVGFi
bGVbMjU2XSA9IHsKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwCiB9
OwogCitzdGF0aWMgYm9vbCBpc0RyYXduV2l0aFNWR0ZvbnQoY29uc3QgVGV4dFJ1biYgcnVuKQor
eworICAgIHJldHVybiBydW4ucmVuZGVyaW5nQ29udGV4dCgpOworfQorCiBzdGF0aWMgYm9vbCB1
c2VCYWNrc2xhc2hBc1llblNpZ25Gb3JGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHkp
CiB7CiAgICAgaWYgKGZhbWlseS5pc0VtcHR5KCkpCkBAIC0zMzYsNyArMzQxLDcgQEAgZmxvYXQg
Rm9udDo6ZHJhd1RleHQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBUZXh0UnVuJiBy
dW4sIGNvbnN0IEZsb2F0UG8KIAogICAgIENvZGVQYXRoIGNvZGVQYXRoVG9Vc2UgPSBjb2RlUGF0
aChydW4pOwogICAgIC8vIEZJWE1FOiBVc2UgdGhlIGZhc3QgY29kZSBwYXRoIG9uY2UgaXQgaGFu
ZGxlcyBwYXJ0aWFsIHJ1bnMgd2l0aCBrZXJuaW5nIGFuZCBsaWdhdHVyZXMuIFNlZSBodHRwOi8v
d2Via2l0Lm9yZy9iLzEwMDA1MAotICAgIGlmIChjb2RlUGF0aFRvVXNlICE9IENvbXBsZXggJiYg
dHlwZXNldHRpbmdGZWF0dXJlcygpICYmIChmcm9tIHx8IHRvICE9IHJ1bi5sZW5ndGgoKSkgJiYg
IXJ1bi5yZW5kZXJpbmdDb250ZXh0KCkpCisgICAgaWYgKGNvZGVQYXRoVG9Vc2UgIT0gQ29tcGxl
eCAmJiB0eXBlc2V0dGluZ0ZlYXR1cmVzKCkgJiYgKGZyb20gfHwgdG8gIT0gcnVuLmxlbmd0aCgp
KSAmJiAhaXNEcmF3bldpdGhTVkdGb250KHJ1bikpCiAgICAgICAgIGNvZGVQYXRoVG9Vc2UgPSBD
b21wbGV4OwogCiAgICAgaWYgKGNvZGVQYXRoVG9Vc2UgIT0gQ29tcGxleCkKQEAgLTM1NSw3ICsz
NjAsNyBAQCB2b2lkIEZvbnQ6OmRyYXdFbXBoYXNpc01hcmtzKEdyYXBoaWNzQ29udGV4dCogY29u
dGV4dCwgY29uc3QgVGV4dFJ1biYgcnVuLCBjb25zdAogCiAgICAgQ29kZVBhdGggY29kZVBhdGhU
b1VzZSA9IGNvZGVQYXRoKHJ1bik7CiAgICAgLy8gRklYTUU6IFVzZSB0aGUgZmFzdCBjb2RlIHBh
dGggb25jZSBpdCBoYW5kbGVzIHBhcnRpYWwgcnVucyB3aXRoIGtlcm5pbmcgYW5kIGxpZ2F0dXJl
cy4gU2VlIGh0dHA6Ly93ZWJraXQub3JnL2IvMTAwMDUwCi0gICAgaWYgKGNvZGVQYXRoVG9Vc2Ug
IT0gQ29tcGxleCAmJiB0eXBlc2V0dGluZ0ZlYXR1cmVzKCkgJiYgKGZyb20gfHwgdG8gIT0gcnVu
Lmxlbmd0aCgpKSAmJiAhcnVuLnJlbmRlcmluZ0NvbnRleHQoKSkKKyAgICBpZiAoY29kZVBhdGhU
b1VzZSAhPSBDb21wbGV4ICYmIHR5cGVzZXR0aW5nRmVhdHVyZXMoKSAmJiAoZnJvbSB8fCB0byAh
PSBydW4ubGVuZ3RoKCkpICYmICFpc0RyYXduV2l0aFNWR0ZvbnQocnVuKSkKICAgICAgICAgY29k
ZVBhdGhUb1VzZSA9IENvbXBsZXg7CiAKICAgICBpZiAoY29kZVBhdGhUb1VzZSAhPSBDb21wbGV4
KQpAQCAtNDAwLDggKzQwNSw4IEBAIGZsb2F0IEZvbnQ6OndpZHRoKGNvbnN0IFRleHRSdW4mIHJ1
biwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvCiBmbG9hdCBGb250
Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4sIGludCYgY2hhcnNDb25zdW1lZCwgU3RyaW5nJiBn
bHlwaE5hbWUpIGNvbnN0CiB7CiAjaWYgRU5BQkxFKFNWR19GT05UUykKLSAgICBpZiAoVGV4dFJ1
bjo6UmVuZGVyaW5nQ29udGV4dCogcmVuZGVyaW5nQ29udGV4dCA9IHJ1bi5yZW5kZXJpbmdDb250
ZXh0KCkpCi0gICAgICAgIHJldHVybiByZW5kZXJpbmdDb250ZXh0LT5mbG9hdFdpZHRoVXNpbmdT
VkdGb250KCp0aGlzLCBydW4sIGNoYXJzQ29uc3VtZWQsIGdseXBoTmFtZSk7CisgICAgaWYgKGlz
RHJhd25XaXRoU1ZHRm9udChydW4pKQorICAgICAgICByZXR1cm4gcnVuLnJlbmRlcmluZ0NvbnRl
eHQoKS0+ZmxvYXRXaWR0aFVzaW5nU1ZHRm9udCgqdGhpcywgcnVuLCBjaGFyc0NvbnN1bWVkLCBn
bHlwaE5hbWUpOwogI2VuZGlmCiAKICAgICBjaGFyc0NvbnN1bWVkID0gcnVuLmxlbmd0aCgpOwpA
QCAtNTA4LDcgKzUxMyw3IEBAIEZsb2F0UmVjdCBGb250OjpzZWxlY3Rpb25SZWN0Rm9yVGV4dChj
b25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50CiAKICAgICBDb2RlUGF0
aCBjb2RlUGF0aFRvVXNlID0gY29kZVBhdGgocnVuKTsKICAgICAvLyBGSVhNRTogVXNlIHRoZSBm
YXN0IGNvZGUgcGF0aCBvbmNlIGl0IGhhbmRsZXMgcGFydGlhbCBydW5zIHdpdGgga2VybmluZyBh
bmQgbGlnYXR1cmVzLiBTZWUgaHR0cDovL3dlYmtpdC5vcmcvYi8xMDAwNTAKLSAgICBpZiAoY29k
ZVBhdGhUb1VzZSAhPSBDb21wbGV4ICYmIHR5cGVzZXR0aW5nRmVhdHVyZXMoKSAmJiAoZnJvbSB8
fCB0byAhPSBydW4ubGVuZ3RoKCkpICYmICFydW4ucmVuZGVyaW5nQ29udGV4dCgpKQorICAgIGlm
IChjb2RlUGF0aFRvVXNlICE9IENvbXBsZXggJiYgdHlwZXNldHRpbmdGZWF0dXJlcygpICYmIChm
cm9tIHx8IHRvICE9IHJ1bi5sZW5ndGgoKSkgJiYgIWlzRHJhd25XaXRoU1ZHRm9udChydW4pKQog
ICAgICAgICBjb2RlUGF0aFRvVXNlID0gQ29tcGxleDsKIAogICAgIGlmIChjb2RlUGF0aFRvVXNl
ICE9IENvbXBsZXgpCkBAIC01MjAsNyArNTI1LDcgQEAgRmxvYXRSZWN0IEZvbnQ6OnNlbGVjdGlv
blJlY3RGb3JUZXh0KGNvbnN0IFRleHRSdW4mIHJ1biwgY29uc3QgRmxvYXRQb2ludCYgcG9pbnQK
IGludCBGb250OjpvZmZzZXRGb3JQb3NpdGlvbihjb25zdCBUZXh0UnVuJiBydW4sIGZsb2F0IHgs
IGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMpIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IFVzZSB0
aGUgZmFzdCBjb2RlIHBhdGggb25jZSBpdCBoYW5kbGVzIHBhcnRpYWwgcnVucyB3aXRoIGtlcm5p
bmcgYW5kIGxpZ2F0dXJlcy4gU2VlIGh0dHA6Ly93ZWJraXQub3JnL2IvMTAwMDUwCi0gICAgaWYg
KGNvZGVQYXRoKHJ1bikgIT0gQ29tcGxleCAmJiAhdHlwZXNldHRpbmdGZWF0dXJlcygpKQorICAg
IGlmIChjb2RlUGF0aChydW4pICE9IENvbXBsZXggJiYgKCF0eXBlc2V0dGluZ0ZlYXR1cmVzKCkg
fHwgaXNEcmF3bldpdGhTVkdGb250KHJ1bikpKQogICAgICAgICByZXR1cm4gb2Zmc2V0Rm9yUG9z
aXRpb25Gb3JTaW1wbGVUZXh0KHJ1biwgeCwgaW5jbHVkZVBhcnRpYWxHbHlwaHMpOwogCiAgICAg
cmV0dXJuIG9mZnNldEZvclBvc2l0aW9uRm9yQ29tcGxleFRleHQocnVuLCB4LCBpbmNsdWRlUGFy
dGlhbEdseXBocyk7CkBAIC01ODcsNyArNTkyLDcgQEAgRm9udDo6Q29kZVBhdGggRm9udDo6Y29k
ZVBhdGgoY29uc3QgVGV4dFJ1biYgcnVuKSBjb25zdAogICAgICAgICByZXR1cm4gc19jb2RlUGF0
aDsKIAogI2lmIEVOQUJMRShTVkdfRk9OVFMpCi0gICAgaWYgKHJ1bi5yZW5kZXJpbmdDb250ZXh0
KCkpCisgICAgaWYgKGlzRHJhd25XaXRoU1ZHRm9udChydW4pKQogICAgICAgICByZXR1cm4gU2lt
cGxlOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQppbmRleCBlOGQ4NGIx
ZWUxNmU0ZmE3ZTdhNzM4MTJiNTY3NzExNmUyZjY5ZmQ3Li4yZTdmZGQ5ZTg2MTE4OWI2OGJiMTk2
MDExMTNjMWIwMDc3YzRlMzM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tCkBAIC0z
MDgsNiArMzA4LDcgQEAgQ1RGb250UmVmIEZvbnRQbGF0Zm9ybURhdGE6OmN0Rm9udCgpIGNvbnN0
CiAgICAgaWYgKG1fQ1RGb250KQogICAgICAgICByZXR1cm4gbV9DVEZvbnQuZ2V0KCk7CiAKKyAg
ICBBU1NFUlQobV9jZ0ZvbnQuZ2V0KCkpOwogI2lmICFQTEFURk9STShJT1MpCiAgICAgbV9DVEZv
bnQgPSB0b0NURm9udFJlZihtX2ZvbnQpOwogICAgIGlmIChtX0NURm9udCkgewpAQCAtMzE5LDEw
ICszMjAsOCBAQCBDVEZvbnRSZWYgRm9udFBsYXRmb3JtRGF0YTo6Y3RGb250KCkgY29uc3QKICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgZm9udERlc2NyaXB0b3IgPSBjYXNjYWRlVG9MYXN0UmVz
b3J0Rm9udERlc2NyaXB0b3IoKTsKICAgICAgICAgbV9DVEZvbnQgPSBhZG9wdENGKENURm9udENy
ZWF0ZUNvcHlXaXRoQXR0cmlidXRlcyhtX0NURm9udC5nZXQoKSwgbV9zaXplLCAwLCBmb250RGVz
Y3JpcHRvcikpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIEFTU0VSVChtX2NnRm9udC5nZXQoKSk7
CisgICAgfSBlbHNlCiAgICAgICAgIG1fQ1RGb250ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVXaXRo
R3JhcGhpY3NGb250KG1fY2dGb250LmdldCgpLCBtX3NpemUsIDAsIGNhc2NhZGVUb0xhc3RSZXNv
cnRGb250RGVzY3JpcHRvcigpKSk7Ci0gICAgfQogI2Vsc2UKICAgICAvLyBBcHBsZSBDb2xvciBF
bW9qaSBzaXplIGlzIGFkanVzdGVkIChhbmQgdGhlbiByZS1hZGp1c3RlZCBieSBDb3JlIFRleHQp
IGFuZCBjYXBwZWQuCiAgICAgQ0dGbG9hdCBzaXplID0gIW1faXNFbW9qaSA/IG1fc2l6ZSA6IG1f
c2l6ZSA8PSAxNSA/IDQgKiAobV9zaXplICsgMikgLyBzdGF0aWNfY2FzdDxDR0Zsb2F0Pig1KSA6
IDE2OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDhkMjBkZGMxNTQ1YzA0NTE4Y2VlMGUyMmQ1NjViNGQ1ZTFlY2RmYTIuLjY2
MTQ3MGM2ODc0NzFjNDFkMjZhYmMwMjgxMzdkZDA4N2FlZDhiZTkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
OSBAQAorMjAxNC0wNC0wMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29t
PgorCisgICAgICAgIHN2Zy90ZXh0L3RleHQtb3ZlcmZsb3ctZWxsaXBzaXMtc3ZnZm9udC1rZXJu
aW5nLWxpZ2F0dXJlcy5odG1sIGFuZCBzdmcvY3NzL2ZvbnQtZmFjZS1jcmFzaC5odG1sIGZyZXF1
ZW50bHkgYXNzZXJ0IGluIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6b2Zmc2V0Rm9yUG9zaXRpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExOTc0Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENsaWNraW5n
IG9uIFNWRyB0ZXh0IHVzZWQgdG8gY2F1c2UgYSBDb21wbGV4VGV4dENvbnRyb2xsZXIgdG8gYmUg
YnVpbHQKKyAgICAgICAgYXJvdW5kIHRoZSBTVkcgdGV4dCAod2hpY2ggaXMgaW5jb3JyZWN0IGFu
ZCB3b3VsZCBjcmFzaCkuIFRoaXMgdGVzdAorICAgICAgICBkb2VzIGp1c3QgdGhhdCBhbmQgbWFr
ZXMgc3VyZSB0aGVyZSBpcyBubyBjcmFzaC4KKworICAgICAgICAqIHN2Zy90ZXh0L3Jlc291cmNl
cy9MaXRoZXJ1bS5zdmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy90ZXh0L3N2Zy1mb250LWhpdHRl
c3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvdGV4dC9zdmctZm9udC1oaXR0
ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0
RXhwZWN0YXRpb25zOiBVbnNraXBwZWQgdGVzdHMKKwogMjAxNC0wMy0zMSAgQWxleGV5IFByb3Nr
dXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaGVzIGluIFBhZ2VDb25zb2xl
OjphZGRNZXNzYWdlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IGMzMTgwYWI2MDViMWIxOWNmOGYxNmExNDIzZjZhMjQ2MzM0MmFlNDUuLjgzYjM5ZmUyOGFh
ZjM1MzQ3ZWE4Y2Q3OTJjNWY4NDA2OWIwNDdkNTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMzE5LDkgKzEzMTksNiBAQCB3ZWJraXQub3JnL2IvNTA5
NTkgYW5pbWF0aW9ucy9wbGF5LXN0YXRlLXN1c3BlbmQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3
ZWJraXQub3JnL2IvMTIyMDQwIGFuaW1hdGlvbnMvY29tYm8tdHJhbnNmb3JtLXRyYW5zbGF0ZStz
Y2FsZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMjgzNzkgYW5pbWF0aW9u
cy9zdXNwZW5kLXJlc3VtZS1hbmltYXRpb24uaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKLXdlYmtp
dC5vcmcvYi8xMTk3NDcgWyBEZWJ1ZyBdIHN2Zy90ZXh0L3RleHQtb3ZlcmZsb3ctZWxsaXBzaXMt
c3ZnZm9udC1rZXJuaW5nLWxpZ2F0dXJlcy5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTE5
NzQ3IFsgRGVidWcgXSBzdmcvY3NzL2ZvbnQtZmFjZS1jcmFzaC5odG1sIFsgU2tpcCBdCi0KICMg
UmVncmVzc2lvbnMgaW4gc3ZnL2NsaXAtcGF0aAogd2Via2l0Lm9yZy9iLzEyODQ5OSBzdmcvY2xp
cC1wYXRoL2NsaXAtcGF0aC1jb250ZW50LXVzZS0wMDUuc3ZnIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiB3ZWJraXQub3JnL2IvMTI4NDk5IHN2Zy9jbGlwLXBhdGgvY2xpcC1wYXRoLXByZWNpc2lvbi0w
MDEuc3ZnIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
dGV4dC9yZXNvdXJjZXMvTGl0aGVydW0uc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvcmVzb3Vy
Y2VzL0xpdGhlcnVtLnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNDJjN2VkOTRlZjE3NGJlNjBiOTYwNzM4NjQ0
YzkwZDMxMDk3MGZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvcmVz
b3VyY2VzL0xpdGhlcnVtLnN2ZwpAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAi
IHN0YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZH
IDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5k
dGQiID4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KKzxtZXRhZGF0
YT48L21ldGFkYXRhPgorPGRlZnM+Cis8Zm9udCBpZD0iTGl0aGVydW0iIGhvcml6LWFkdi14PSIx
MDI0Ij4KKzxmb250LWZhY2UgdW5pdHMtcGVyLWVtPSIxNCIgYXNjZW50PSIxNCIgZGVzY2VudD0i
LTciLz4KKzxnbHlwaCB1bmljb2RlPSJ8IiBob3Jpei1hZHYteD0iMTQiIGQ9Ik01IC03djIxaDR2
LTIxeiIvPgorPC9mb250PgorPC9kZWZzPgorPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdmcvdGV4dC9zdmctZm9udC1oaXR0ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2
Zy90ZXh0L3N2Zy1mb250LWhpdHRlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMyMzVjMWVj
MjkwMzI0NWJlZjgyMzI5ZDhkZDFkNmU4NTZiZTU4N2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdmcvdGV4dC9zdmctZm9udC1oaXR0ZXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDMgQEAKK1RoaXMgY29kZSB0cmlnZ2VycyB0aGUgZ2x5cGggaGl0LXRlc3RpbmcgY29kZSwgd2hp
Y2ggc2hvdWxkIG5vdCBjcmFzaCB3aGVuIGEgZ2x5cGggaXMgZHJhd24gd2l0aCBTVkcgZm9udHMu
CitQYXNzCit8CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvdGV4dC9zdmctZm9udC1oaXR0
ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC9zdmctZm9udC1oaXR0ZXN0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOTY5Y2I1NTkzYmYwNTQ1ZWYzMWEzY2Y1NWJiMTU0YzE1MmIyYTlhMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy90ZXh0L3N2Zy1mb250LWhpdHRlc3QuaHRtbApA
QCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+
CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogJ0xpdGhlcnVtJzsKKyAgICBzcmM6IHVy
bCgiLi9yZXNvdXJjZXMvTGl0aGVydW0uc3ZnIikgZm9ybWF0KHN2ZykKK30KKyNwIHsKKyAgICBm
b250OiAxMDAwcHggJ0xpdGhlcnVtJzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBvbmxv
YWQ9InRlc3QoKSI+CitUaGlzIGNvZGUgdHJpZ2dlcnMgdGhlIGdseXBoIGhpdC10ZXN0aW5nIGNv
ZGUsIHdoaWNoIHNob3VsZCBub3QKK2NyYXNoIHdoZW4gYSBnbHlwaCBpcyBkcmF3biB3aXRoIFNW
RyBmb250cy4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJwIj58PC9kaXY+Cis8
c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpIHsKKyAgICBpZiAoZG9jdW1lbnQuY2FyZXRSYW5nZUZy
b21Qb2ludCg0MDAsIDMwMCkpCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1
bHQiKS5pbm5lclRleHQgPSAiUGFzcyI7CisgICAgZWxzZQorICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJUZXh0ID0gIkZhaWwiOworICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9CisKK2lmICh3
aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQorLy8gRm9yY2UgbGF5b3V0LCBzbyB0aGF0IGZv
bnRzIGJlZ2luIHRvIGxvYWQgYmVmb3JlIHRoZSBkb2N1bWVudCBmaW5pc2hlcyBsb2FkaW5nLCBh
bmQgdGh1cyBkZWxheSB0aGUgbG9hZCBldmVudC4KK2RvY3VtZW50LmJvZHkub2Zmc2V0VG9wOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>