<?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>150923</bug_id>
          
          <creation_ts>2015-11-04 20:30:55 -0800</creation_ts>
          <short_desc>REGRESSION(r182286): Tatechuyoko following ruby is drawn too far to the right</short_desc>
          <delta_ts>2015-11-06 15:20:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>hyatt</cc>
    
    <cc>jonlee</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1139544</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-11-04 20:30:55 -0800</bug_when>
    <thetext>Tatechuyoko following ruby is drawn too far to the right</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139547</commentid>
    <comment_count>1</comment_count>
      <attachid>264843</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-11-04 20:36:01 -0800</bug_when>
    <thetext>Created attachment 264843
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139548</commentid>
    <comment_count>2</comment_count>
      <attachid>264843</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-11-04 20:37:22 -0800</bug_when>
    <thetext>Comment on attachment 264843
Patch

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

&gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:721
&gt; +        return ForbidLeadingExpansion | ForbidTrailingExpansion;

This actually isn&apos;t quite right, for two reasons:

1. There may be a span inside the tatechuyoko
2. If an expansion opportunity is found inside the tatechuyoko, it should be forced to its neighbor (similar to ruby).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139552</commentid>
    <comment_count>3</comment_count>
      <attachid>264845</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-11-04 21:20:43 -0800</bug_when>
    <thetext>Created attachment 264845
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139658</commentid>
    <comment_count>4</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-11-05 11:01:05 -0800</bug_when>
    <thetext>&lt;rdar://problem/22728382&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139665</commentid>
    <comment_count>5</comment_count>
      <attachid>264845</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-11-05 11:17:14 -0800</bug_when>
    <thetext>Comment on attachment 264845
Patch

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

&gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:783
&gt; +                    if (FontCascade::leadingExpansionOpportunity(downcast&lt;RenderText&gt;(previousRun-&gt;renderer()).stringView(), previousRun-&gt;box()-&gt;direction())) {

Trailing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139891</commentid>
    <comment_count>6</comment_count>
      <attachid>264845</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-11-05 22:48:08 -0800</bug_when>
    <thetext>Comment on attachment 264845
Patch

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

&gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:801
&gt; +            ASSERT(textBox.renderer().style().textCombine() == TextCombineHorizontal);
&gt; +            if (nextRun &amp;&amp; nextRun-&gt;renderer().style().textCombine() == TextCombineNone &amp;&amp; textBox.renderer().style().collapseWhiteSpace()) {
&gt; +                ASSERT(!setTrailingExpansion);
&gt; +                setTrailingExpansion = true;
&gt; +                result |= ForbidTrailingExpansion;
&gt; +            }
&gt; +            if (previousRun &amp;&amp; previousRun-&gt;renderer().style().textCombine() == TextCombineNone &amp;&amp; textBox.renderer().style().collapseWhiteSpace()) {
&gt; +                ASSERT(!setLeadingExpansion);
&gt; +                setLeadingExpansion = true;
&gt; +                result |= ForbidLeadingExpansion;
&gt; +            }

Turns out this is all dead code, since tatechuyoko, once combined, is modeled as the Object Replacement Character (U+FFFC), which will never have any expansion opportunities either inside it or directly adjacent to it. The first patch works just as well as this one, and is much simpler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139901</commentid>
    <comment_count>7</comment_count>
      <attachid>264920</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-11-05 23:52:32 -0800</bug_when>
    <thetext>Created attachment 264920
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140064</commentid>
    <comment_count>8</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-11-06 15:20:29 -0800</bug_when>
    <thetext>Committed r192120: &lt;http://trac.webkit.org/changeset/192120&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264843</attachid>
            <date>2015-11-04 20:36:01 -0800</date>
            <delta_ts>2015-11-04 21:20:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150923-20151104203503.patch</filename>
            <type>text/plain</type>
            <size>5157</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyMDQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmM0OTFhZTBmNjhiNjQw
MmYzZGJmMTQ3ZDhiZGFmZjFiYjYzY2MyNS4uYWJiZmUxNjRjOGFiZjgwNDg2NmE3YzBiMjg1NmJh
YTI3MDhmNTMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1LTExLTA0ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TihyMTgyMjg2KTogVGF0ZWNodXlva28gZm9sbG93aW5nIHJ1YnkgaXMgZHJhd24gdG9vIGZhciB0
byB0aGUgcmlnaHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1MDkyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEV2ZXIgc2luY2UgcjE4MjI4NiwgZXhwYW5zaW9uIG9wcG9ydHVuaXRpZXMgaW4ganVzdGlm
aWVkIHJ1Ynkgd2VyZSBtb3ZlZCB0byB0aGVpciBuZWlnaGJvcmluZworICAgICAgICBlbGVtZW50
cyAodGhlcmVieSBmb3JiaWRkaW5nIHRyYWlsaW5nIG5vciBsZWFkaW5nIGV4cGFuc2lvbnMgaW5z
aWRlIHJ1YnkpLiBIb3dldmVyLCB3aGVuIHRoZQorICAgICAgICBuZWlnaGJvcmluZyBlbGVtZW50
IGlzIHRhdGVjaHV5b2tvLCB3ZSB3aWxsIGVycm9uZW91c2x5IGhvbm9yIHRoZSBleHBhbnNpb24g
b3Bwb3J0dW5pdHkgaW5zaWRlCisgICAgICAgIHRoZSB0YXRlY2h1eW9rbywgdGhlcmVieSBtb3Zp
bmcgaXQgaG9yaXpvbnRhbGx5LgorCisgICAgICAgIFRhdGVjaHV5b2tvIHNob3VsZCBuZXZlciBo
YXZlIGV4cGFuc2lvbiBvcHBvcnR1bml0aWVzIGluc2lkZSBpdC4KKworICAgICAgICBUZXN0OiBm
YXN0L3RleHQvcnVieS1qdXN0aWZ5LXRhdGVjaHV5b2tvLmh0bWwKKworICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZXhwYW5z
aW9uQmVoYXZpb3JGb3JJbmxpbmVUZXh0Qm94KToKKwogMjAxNS0xMS0wMyAgTXlsZXMgQy4gTWF4
ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFJ1YnkgYmFzZSBlbmRpbmcg
aW4gdGF0ZWNodXlva28gZm9yY2VzIGEgbGluZSBicmVhayBiZWZvcmUgdGhlIHRhdGVjaHV5b2tv
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5
b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQu
Y3BwCmluZGV4IDUzODFiODI2OTdiYjNlMTFlYjg2NDUyNTAyNTNjNzY5NTIzODk0OTguLmQwZTE2
MzE5ZDI3NTg3ZGZhNWI5MDJhYWJhMmVjOTQyYzBmNWQ0MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCkBAIC03MTcsMTIgKzcx
NywxNCBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6Y29tcHV0ZUlubGluZURpcmVjdGlvblBvc2l0
aW9uc0ZvckxpbmUoUm9vdElubGluZUJveCogbGluZQogCiBzdGF0aWMgaW5saW5lIEV4cGFuc2lv
bkJlaGF2aW9yIGV4cGFuc2lvbkJlaGF2aW9yRm9ySW5saW5lVGV4dEJveChSZW5kZXJCbG9ja0Zs
b3cmIGJsb2NrLCBJbmxpbmVUZXh0Qm94JiB0ZXh0Qm94LCBCaWRpUnVuKiBwcmV2aW91c1J1biwg
QmlkaVJ1biogbmV4dFJ1biwgRVRleHRBbGlnbiB0ZXh0QWxpZ24sIGJvb2wgaXNBZnRlckV4cGFu
c2lvbikKIHsKKyAgICBpZiAoaXM8UmVuZGVyQ29tYmluZVRleHQ+KHRleHRCb3gucmVuZGVyZXIo
KSkpCisgICAgICAgIHJldHVybiBGb3JiaWRMZWFkaW5nRXhwYW5zaW9uIHwgRm9yYmlkVHJhaWxp
bmdFeHBhbnNpb247CisKICAgICBFeHBhbnNpb25CZWhhdmlvciByZXN1bHQgPSAwOwogICAgIGJv
b2wgc2V0TGVhZGluZ0V4cGFuc2lvbiA9IGZhbHNlOwogICAgIGJvb2wgc2V0VHJhaWxpbmdFeHBh
bnNpb24gPSBmYWxzZTsKICAgICBpZiAodGV4dEFsaWduID09IEpVU1RJRlkpIHsKLSAgICAgICAg
Ly8gSWYgdGhlIG5leHQgYm94IGlzIHJ1YnksIGFuZCB3ZSdyZSBqdXN0aWZ5aW5nLCBhbmQgdGhl
IGZpcnN0IGJveCBpbiB0aGUgcnVieSBiYXNlIGhhcyBhIGxlYWRpbmcgZXhwYW5zaW9uLCBhbmQg
d2UgYXJlIGEgdGV4dCBib3gsIHRoZW4KLSAgICAgICAgLy8gZm9yY2UgYSB0cmFpbGluZyBleHBh
bnNpb24uCisgICAgICAgIC8vIElmIHRoZSBuZXh0IGJveCBpcyBydWJ5LCBhbmQgd2UncmUganVz
dGlmeWluZywgYW5kIHRoZSBmaXJzdCBib3ggaW4gdGhlIHJ1YnkgYmFzZSBoYXMgYSBsZWFkaW5n
IGV4cGFuc2lvbiwgYW5kIHdlIGFyZSBhIHRleHQgYm94LCB0aGVuIGZvcmNlIGEgdHJhaWxpbmcg
ZXhwYW5zaW9uLgogICAgICAgICBpZiAobmV4dFJ1biAmJiBpczxSZW5kZXJSdWJ5UnVuPihuZXh0
UnVuLT5yZW5kZXJlcigpKSAmJiBkb3duY2FzdDxSZW5kZXJSdWJ5UnVuPihuZXh0UnVuLT5yZW5k
ZXJlcigpKS5ydWJ5QmFzZSgpICYmIG5leHRSdW4tPnJlbmRlcmVyKCkuc3R5bGUoKS5jb2xsYXBz
ZVdoaXRlU3BhY2UoKSkgewogICAgICAgICAgICAgYXV0byYgcnVieUJhc2UgPSAqZG93bmNhc3Q8
UmVuZGVyUnVieVJ1bj4obmV4dFJ1bi0+cmVuZGVyZXIoKSkucnVieUJhc2UoKTsKICAgICAgICAg
ICAgIGlmIChydWJ5QmFzZS5maXJzdFJvb3RCb3goKSAmJiAhcnVieUJhc2UuZmlyc3RSb290Qm94
KCktPm5leHRSb290Qm94KCkpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyZTRkZGQ2OGQ2ZGQyZTRkNzhlM2FhM2I5Mzcx
YjRlMTFlMmNhZDNhLi4zMTU2MTY1OTM0Y2NlOGZkNTA3MjlhZWVlNjkxMGZmYmMwMTFjODUwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMTEtMDQgIE15bGVzIEMuIE1heGZpZWxkICA8bW1h
eGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIxODIyODYpOiBUYXRlY2h1
eW9rbyBmb2xsb3dpbmcgcnVieSBpcyBkcmF3biB0b28gZmFyIHRvIHRoZSByaWdodAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwOTIzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3RleHQvcnVi
eS1qdXN0aWZ5LXRhdGVjaHV5b2tvLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvdGV4dC9ydWJ5LWp1c3RpZnktdGF0ZWNodXlva28uaHRtbDogQWRkZWQuCisKIDIwMTUtMTEt
MDMgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBS
dWJ5IGJhc2UgZW5kaW5nIGluIHRhdGVjaHV5b2tvIGZvcmNlcyBhIGxpbmUgYnJlYWsgYmVmb3Jl
IHRoZSB0YXRlY2h1eW9rbwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3J1Ynkt
anVzdGlmeS10YXRlY2h1eW9rby1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L3J1YnktanVzdGlmeS10YXRlY2h1eW9rby1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyNzQ1
MzI0MDYwODdiZjU4YmJkYWEzNjRmOGI0M2IyODE4YzhlNmEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvcnVieS1qdXN0aWZ5LXRhdGVjaHV5b2tvLWV4cGVjdGVkLmh0
bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorPGhlYWQ+DQor
PG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KKzwvaGVhZD4NCis8Ym9keT4NCitUaGlzIHRlc3QgbWFr
ZXMgc3VyZSB0aGF0IHRhdGVjaHV5b2tvIHdoaWNoIGRpcmVjdGx5IGZvbGxvd3MgcnVieSBpcyBw
cm9wZXJseSBsZWZ0LWFsaWduZWQuDQorPGRpdiBzdHlsZT0idGV4dC1hbGlnbjoganVzdGlmeTsg
bWF4LWhlaWdodDogN2VtOyBmb250LXNpemU6IDQwcHg7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2
ZXJ0aWNhbC1ybDsiIGxhbmc9ImphIj7jgZPjga7mlofnq6A8c3BhbiBzdHlsZT0iLXdlYmtpdC10
ZXh0LWNvbWJpbmU6IGhvcml6b250YWw7Ij45OTwvc3Bhbj7jga/mlpzkuIvku5jjgrXjg7Pjg5fj
g6vjgafjgZnjgII8L2Rpdj4NCis8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC9ydWJ5LWp1c3RpZnktdGF0ZWNodXlva28uaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC9ydWJ5LWp1c3RpZnktdGF0ZWNodXlva28uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
YTAzMjQ5MDkzNTc0YmY3Zjc0ODdhMTkzMWU0ZjkxNTA0Y2Y3Yzc5Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3J1YnktanVzdGlmeS10YXRlY2h1eW9rby5odG1sCkBA
IC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKzxoZWFkPg0KKzxtZXRh
IGNoYXJzZXQ9IlVURi04Ij4NCis8L2hlYWQ+DQorPGJvZHk+DQorVGhpcyB0ZXN0IG1ha2VzIHN1
cmUgdGhhdCB0YXRlY2h1eW9rbyB3aGljaCBkaXJlY3RseSBmb2xsb3dzIHJ1YnkgaXMgcHJvcGVy
bHkgbGVmdC1hbGlnbmVkLg0KKzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7IG1heC1o
ZWlnaHQ6IDdlbTsgZm9udC1zaXplOiA0MHB4OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGlj
YWwtcmw7IiBsYW5nPSJqYSI+44GT44GuPHJ1Ynk+5paH56ugPHJ0IHN0eWxlPSJjb2xvcjogd2hp
dGU7Ij7jg6vjg5M8L3J0PjwvcnVieT48c3BhbiBzdHlsZT0iLXdlYmtpdC10ZXh0LWNvbWJpbmU6
IGhvcml6b250YWw7Ij45OTwvc3Bhbj7jga/mlpzkuIvku5jjgrXjg7Pjg5fjg6vjgafjgZnjgII8
L2Rpdj4NCis8L2JvZHk+DQorPC9odG1sPg0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264845</attachid>
            <date>2015-11-04 21:20:43 -0800</date>
            <delta_ts>2015-11-05 14:07:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150923-20151104211945.patch</filename>
            <type>text/plain</type>
            <size>9213</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyMDQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmM0OTFhZTBmNjhiNjQw
MmYzZGJmMTQ3ZDhiZGFmZjFiYjYzY2MyNS4uODVjNGUwOTliMWU2YzkzNTI5NzMzNDE0MmNkZGRm
YTY4ODQ0YjAyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE1LTExLTA0ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TihyMTgyMjg2KTogVGF0ZWNodXlva28gZm9sbG93aW5nIHJ1YnkgaXMgZHJhd24gdG9vIGZhciB0
byB0aGUgcmlnaHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1MDkyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEV2ZXIgc2luY2UgcjE4MjI4NiwgZXhwYW5zaW9uIG9wcG9ydHVuaXRpZXMgaW4ganVzdGlm
aWVkIHJ1Ynkgd2VyZSBtb3ZlZCB0byB0aGVpciBuZWlnaGJvcmluZworICAgICAgICBlbGVtZW50
cyAodGhlcmVieSBmb3JiaWRkaW5nIHRyYWlsaW5nIG5vciBsZWFkaW5nIGV4cGFuc2lvbnMgaW5z
aWRlIHJ1YnkpLiBIb3dldmVyLCB3aGVuIHRoZQorICAgICAgICBuZWlnaGJvcmluZyBlbGVtZW50
IGlzIHRhdGVjaHV5b2tvLCB3ZSB3aWxsIGVycm9uZW91c2x5IGhvbm9yIHRoZSBleHBhbnNpb24g
b3Bwb3J0dW5pdHkgaW5zaWRlCisgICAgICAgIHRoZSB0YXRlY2h1eW9rbywgdGhlcmVieSBtb3Zp
bmcgaXQgaG9yaXpvbnRhbGx5LgorCisgICAgICAgIFRhdGVjaHV5b2tvIHNob3VsZCBuZXZlciBo
YXZlIGV4cGFuc2lvbiBvcHBvcnR1bml0aWVzIGluc2lkZSBpdC4gVGhpcyBwYXRjaCBhZG9wdHMg
ZXhwYW5zaW9uLQorICAgICAgICBtb3ZpbmcgYmVoYXZpb3IgZm9yIHRhdGVjaHV5b2tvIChzaW1p
bGFyIHRvIHJ1YnkpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvdGV4dC9ydWJ5LWp1c3RpZnktdGF0
ZWNodXlva28uaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpleHBhbnNpb25CZWhhdmlvckZvcklubGluZVRleHRC
b3gpOgorCiAyMDE1LTExLTAzICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5j
b20+CiAKICAgICAgICAgUnVieSBiYXNlIGVuZGluZyBpbiB0YXRlY2h1eW9rbyBmb3JjZXMgYSBs
aW5lIGJyZWFrIGJlZm9yZSB0aGUgdGF0ZWNodXlva28KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKaW5kZXggNTM4MWI4MjY5N2JiM2Ux
MWViODY0NTI1MDI1M2M3Njk1MjM4OTQ5OC4uZTAzNjVjNzQ4ODljZDhmODFhNTBjMzliMTU5Y2Zm
YWQ0OTRiOTA4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrTGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrTGluZUxheW91dC5jcHAKQEAgLTcyMSw5ICs3MjEsOCBAQCBzdGF0aWMgaW5saW5lIEV4cGFu
c2lvbkJlaGF2aW9yIGV4cGFuc2lvbkJlaGF2aW9yRm9ySW5saW5lVGV4dEJveChSZW5kZXJCbG9j
a0ZsbwogICAgIGJvb2wgc2V0TGVhZGluZ0V4cGFuc2lvbiA9IGZhbHNlOwogICAgIGJvb2wgc2V0
VHJhaWxpbmdFeHBhbnNpb24gPSBmYWxzZTsKICAgICBpZiAodGV4dEFsaWduID09IEpVU1RJRlkp
IHsKLSAgICAgICAgLy8gSWYgdGhlIG5leHQgYm94IGlzIHJ1YnksIGFuZCB3ZSdyZSBqdXN0aWZ5
aW5nLCBhbmQgdGhlIGZpcnN0IGJveCBpbiB0aGUgcnVieSBiYXNlIGhhcyBhIGxlYWRpbmcgZXhw
YW5zaW9uLCBhbmQgd2UgYXJlIGEgdGV4dCBib3gsIHRoZW4KLSAgICAgICAgLy8gZm9yY2UgYSB0
cmFpbGluZyBleHBhbnNpb24uCi0gICAgICAgIGlmIChuZXh0UnVuICYmIGlzPFJlbmRlclJ1YnlS
dW4+KG5leHRSdW4tPnJlbmRlcmVyKCkpICYmIGRvd25jYXN0PFJlbmRlclJ1YnlSdW4+KG5leHRS
dW4tPnJlbmRlcmVyKCkpLnJ1YnlCYXNlKCkgJiYgbmV4dFJ1bi0+cmVuZGVyZXIoKS5zdHlsZSgp
LmNvbGxhcHNlV2hpdGVTcGFjZSgpKSB7CisgICAgICAgIC8vIElmIHRoZSBuZXh0IGJveCBpcyBy
dWJ5LCBhbmQgd2UncmUganVzdGlmeWluZywgYW5kIHRoZSBmaXJzdCBib3ggaW4gdGhlIHJ1Ynkg
YmFzZSBoYXMgYSBsZWFkaW5nIGV4cGFuc2lvbiwgYW5kIHdlIGFyZSBhIHRleHQgYm94LCB0aGVu
IGZvcmNlIGEgdHJhaWxpbmcgZXhwYW5zaW9uLgorICAgICAgICBpZiAobmV4dFJ1biAmJiBpczxS
ZW5kZXJSdWJ5UnVuPihuZXh0UnVuLT5yZW5kZXJlcigpKSAmJiBkb3duY2FzdDxSZW5kZXJSdWJ5
UnVuPihuZXh0UnVuLT5yZW5kZXJlcigpKS5ydWJ5QmFzZSgpICYmIG5leHRSdW4tPnJlbmRlcmVy
KCkuc3R5bGUoKS5jb2xsYXBzZVdoaXRlU3BhY2UoKSAmJiB0ZXh0Qm94LnJlbmRlcmVyKCkuc3R5
bGUoKS50ZXh0Q29tYmluZSgpICE9IFRleHRDb21iaW5lSG9yaXpvbnRhbCkgewogICAgICAgICAg
ICAgYXV0byYgcnVieUJhc2UgPSAqZG93bmNhc3Q8UmVuZGVyUnVieVJ1bj4obmV4dFJ1bi0+cmVu
ZGVyZXIoKSkucnVieUJhc2UoKTsKICAgICAgICAgICAgIGlmIChydWJ5QmFzZS5maXJzdFJvb3RC
b3goKSAmJiAhcnVieUJhc2UuZmlyc3RSb290Qm94KCktPm5leHRSb290Qm94KCkpIHsKICAgICAg
ICAgICAgICAgICBpZiAoYXV0byogbGVhZkNoaWxkID0gcnVieUJhc2UuZmlyc3RSb290Qm94KCkt
PmZpcnN0TGVhZkNoaWxkKCkpIHsKQEAgLTczOCw3ICs3MzcsNyBAQCBzdGF0aWMgaW5saW5lIEV4
cGFuc2lvbkJlaGF2aW9yIGV4cGFuc2lvbkJlaGF2aW9yRm9ySW5saW5lVGV4dEJveChSZW5kZXJC
bG9ja0ZsbwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIC8vIFNhbWUgdGhpbmcs
IGV4Y2VwdCBpZiB3ZSdyZSBmb2xsb3dpbmcgYSBydWJ5Ci0gICAgICAgIGlmIChwcmV2aW91c1J1
biAmJiBpczxSZW5kZXJSdWJ5UnVuPihwcmV2aW91c1J1bi0+cmVuZGVyZXIoKSkgJiYgZG93bmNh
c3Q8UmVuZGVyUnVieVJ1bj4ocHJldmlvdXNSdW4tPnJlbmRlcmVyKCkpLnJ1YnlCYXNlKCkgJiYg
cHJldmlvdXNSdW4tPnJlbmRlcmVyKCkuc3R5bGUoKS5jb2xsYXBzZVdoaXRlU3BhY2UoKSkgewor
ICAgICAgICBpZiAocHJldmlvdXNSdW4gJiYgaXM8UmVuZGVyUnVieVJ1bj4ocHJldmlvdXNSdW4t
PnJlbmRlcmVyKCkpICYmIGRvd25jYXN0PFJlbmRlclJ1YnlSdW4+KHByZXZpb3VzUnVuLT5yZW5k
ZXJlcigpKS5ydWJ5QmFzZSgpICYmIHByZXZpb3VzUnVuLT5yZW5kZXJlcigpLnN0eWxlKCkuY29s
bGFwc2VXaGl0ZVNwYWNlKCkgJiYgdGV4dEJveC5yZW5kZXJlcigpLnN0eWxlKCkudGV4dENvbWJp
bmUoKSAhPSBUZXh0Q29tYmluZUhvcml6b250YWwpIHsKICAgICAgICAgICAgIGF1dG8mIHJ1YnlC
YXNlID0gKmRvd25jYXN0PFJlbmRlclJ1YnlSdW4+KHByZXZpb3VzUnVuLT5yZW5kZXJlcigpKS5y
dWJ5QmFzZSgpOwogICAgICAgICAgICAgaWYgKHJ1YnlCYXNlLmZpcnN0Um9vdEJveCgpICYmICFy
dWJ5QmFzZS5maXJzdFJvb3RCb3goKS0+bmV4dFJvb3RCb3goKSkgewogICAgICAgICAgICAgICAg
IGlmIChhdXRvKiBsZWFmQ2hpbGQgPSBydWJ5QmFzZS5maXJzdFJvb3RCb3goKS0+bGFzdExlYWZD
aGlsZCgpKSB7CkBAIC03NTYsMTMgKzc1NSw1MSBAQCBzdGF0aWMgaW5saW5lIEV4cGFuc2lvbkJl
aGF2aW9yIGV4cGFuc2lvbkJlaGF2aW9yRm9ySW5saW5lVGV4dEJveChSZW5kZXJCbG9ja0Zsbwog
ICAgICAgICBpZiAoaXM8UmVuZGVyUnVieUJhc2U+KGJsb2NrKSkgewogICAgICAgICAgICAgUmVu
ZGVyUnVieUJhc2UmIHJ1YnlCYXNlID0gZG93bmNhc3Q8UmVuZGVyUnVieUJhc2U+KGJsb2NrKTsK
ICAgICAgICAgICAgIGlmICgmdGV4dEJveCA9PSBydWJ5QmFzZS5maXJzdFJvb3RCb3goKS0+Zmly
c3RMZWFmQ2hpbGQoKSkgeworICAgICAgICAgICAgICAgIEFTU0VSVCghc2V0TGVhZGluZ0V4cGFu
c2lvbik7CiAgICAgICAgICAgICAgICAgc2V0TGVhZGluZ0V4cGFuc2lvbiA9IHRydWU7CiAgICAg
ICAgICAgICAgICAgcmVzdWx0IHw9IEZvcmJpZExlYWRpbmdFeHBhbnNpb247CiAgICAgICAgICAg
ICB9IGlmICgmdGV4dEJveCA9PSBydWJ5QmFzZS5maXJzdFJvb3RCb3goKS0+bGFzdExlYWZDaGls
ZCgpKSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKCFzZXRUcmFpbGluZ0V4cGFuc2lvbik7CiAg
ICAgICAgICAgICAgICAgc2V0VHJhaWxpbmdFeHBhbnNpb24gPSB0cnVlOwogICAgICAgICAgICAg
ICAgIHJlc3VsdCB8PSBGb3JiaWRUcmFpbGluZ0V4cGFuc2lvbjsKICAgICAgICAgICAgIH0KICAg
ICAgICAgfQorCisgICAgICAgIC8vIFNhbWUgaWRlYSwgYnV0IGZvciB0YXRlY2h1eW9rbworICAg
ICAgICBpZiAodGV4dEJveC5yZW5kZXJlcigpLnN0eWxlKCkudGV4dENvbWJpbmUoKSA9PSBUZXh0
Q29tYmluZU5vbmUpIHsKKyAgICAgICAgICAgIGlmIChuZXh0UnVuICYmIG5leHRSdW4tPnJlbmRl
cmVyKCkuc3R5bGUoKS50ZXh0Q29tYmluZSgpID09IFRleHRDb21iaW5lSG9yaXpvbnRhbCAmJiBu
ZXh0UnVuLT5yZW5kZXJlcigpLnN0eWxlKCkuY29sbGFwc2VXaGl0ZVNwYWNlKCkpIHsKKyAgICAg
ICAgICAgICAgICBpZiAoaXM8SW5saW5lVGV4dEJveD4oKm5leHRSdW4tPmJveCgpKSkgeworICAg
ICAgICAgICAgICAgICAgICAvLyBGSVhNRTogVGhpcyBsZWFkaW5nRXhwYW5zaW9uT3Bwb3J0dW5p
dHkgZG9lc24ndCBhY3R1YWxseSB3b3JrIGJlY2F1c2UgaXQgZG9lc24ndCBwZXJmb3JtIHRoZSBV
QkEKKyAgICAgICAgICAgICAgICAgICAgaWYgKEZvbnRDYXNjYWRlOjpsZWFkaW5nRXhwYW5zaW9u
T3Bwb3J0dW5pdHkoZG93bmNhc3Q8UmVuZGVyVGV4dD4obmV4dFJ1bi0+cmVuZGVyZXIoKSkuc3Ry
aW5nVmlldygpLCBuZXh0UnVuLT5ib3goKS0+ZGlyZWN0aW9uKCkpKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICBBU1NFUlQoIXNldFRyYWlsaW5nRXhwYW5zaW9uKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHNldFRyYWlsaW5nRXhwYW5zaW9uID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHJlc3VsdCB8PSBGb3JjZVRyYWlsaW5nRXhwYW5zaW9uOworICAgICAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYg
KHByZXZpb3VzUnVuICYmIHByZXZpb3VzUnVuLT5yZW5kZXJlcigpLnN0eWxlKCkudGV4dENvbWJp
bmUoKSA9PSBUZXh0Q29tYmluZUhvcml6b250YWwgJiYgcHJldmlvdXNSdW4tPnJlbmRlcmVyKCku
c3R5bGUoKS5jb2xsYXBzZVdoaXRlU3BhY2UoKSkgeworICAgICAgICAgICAgICAgIGlmIChpczxJ
bmxpbmVUZXh0Qm94PigqcHJldmlvdXNSdW4tPmJveCgpKSkgeworICAgICAgICAgICAgICAgICAg
ICAvLyBGSVhNRTogVGhpcyBsZWFkaW5nRXhwYW5zaW9uT3Bwb3J0dW5pdHkgZG9lc24ndCBhY3R1
YWxseSB3b3JrIGJlY2F1c2UgaXQgZG9lc24ndCBwZXJmb3JtIHRoZSBVQkEKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKEZvbnRDYXNjYWRlOjpsZWFkaW5nRXhwYW5zaW9uT3Bwb3J0dW5pdHkoZG93
bmNhc3Q8UmVuZGVyVGV4dD4ocHJldmlvdXNSdW4tPnJlbmRlcmVyKCkpLnN0cmluZ1ZpZXcoKSwg
cHJldmlvdXNSdW4tPmJveCgpLT5kaXJlY3Rpb24oKSkpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIEFTU0VSVCghc2V0TGVhZGluZ0V4cGFuc2lvbik7CisgICAgICAgICAgICAgICAgICAgICAg
ICBzZXRMZWFkaW5nRXhwYW5zaW9uID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJl
c3VsdCB8PSBGb3JjZUxlYWRpbmdFeHBhbnNpb247CisgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICBBU1NFUlQodGV4dEJveC5yZW5kZXJlcigpLnN0eWxlKCkudGV4dENvbWJpbmUoKSA9PSBU
ZXh0Q29tYmluZUhvcml6b250YWwpOworICAgICAgICAgICAgaWYgKG5leHRSdW4gJiYgbmV4dFJ1
bi0+cmVuZGVyZXIoKS5zdHlsZSgpLnRleHRDb21iaW5lKCkgPT0gVGV4dENvbWJpbmVOb25lICYm
IHRleHRCb3gucmVuZGVyZXIoKS5zdHlsZSgpLmNvbGxhcHNlV2hpdGVTcGFjZSgpKSB7CisgICAg
ICAgICAgICAgICAgQVNTRVJUKCFzZXRUcmFpbGluZ0V4cGFuc2lvbik7CisgICAgICAgICAgICAg
ICAgc2V0VHJhaWxpbmdFeHBhbnNpb24gPSB0cnVlOworICAgICAgICAgICAgICAgIHJlc3VsdCB8
PSBGb3JiaWRUcmFpbGluZ0V4cGFuc2lvbjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlm
IChwcmV2aW91c1J1biAmJiBwcmV2aW91c1J1bi0+cmVuZGVyZXIoKS5zdHlsZSgpLnRleHRDb21i
aW5lKCkgPT0gVGV4dENvbWJpbmVOb25lICYmIHRleHRCb3gucmVuZGVyZXIoKS5zdHlsZSgpLmNv
bGxhcHNlV2hpdGVTcGFjZSgpKSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKCFzZXRMZWFkaW5n
RXhwYW5zaW9uKTsKKyAgICAgICAgICAgICAgICBzZXRMZWFkaW5nRXhwYW5zaW9uID0gdHJ1ZTsK
KyAgICAgICAgICAgICAgICByZXN1bHQgfD0gRm9yYmlkTGVhZGluZ0V4cGFuc2lvbjsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQogICAgIH0KICAgICBpZiAoIXNldExlYWRpbmdFeHBhbnNpb24p
CiAgICAgICAgIHJlc3VsdCB8PSBpc0FmdGVyRXhwYW5zaW9uID8gRm9yYmlkTGVhZGluZ0V4cGFu
c2lvbiA6IEFsbG93TGVhZGluZ0V4cGFuc2lvbjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyZTRkZGQ2OGQ2ZGQyZTRkNzhl
M2FhM2I5MzcxYjRlMTFlMmNhZDNhLi4zMTU2MTY1OTM0Y2NlOGZkNTA3MjlhZWVlNjkxMGZmYmMw
MTFjODUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMTEtMDQgIE15bGVzIEMuIE1heGZp
ZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIxODIyODYp
OiBUYXRlY2h1eW9rbyBmb2xsb3dpbmcgcnVieSBpcyBkcmF3biB0b28gZmFyIHRvIHRoZSByaWdo
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwOTIz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0
L3RleHQvcnVieS1qdXN0aWZ5LXRhdGVjaHV5b2tvLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvdGV4dC9ydWJ5LWp1c3RpZnktdGF0ZWNodXlva28uaHRtbDogQWRkZWQuCisK
IDIwMTUtMTEtMDMgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSdWJ5IGJhc2UgZW5kaW5nIGluIHRhdGVjaHV5b2tvIGZvcmNlcyBhIGxpbmUgYnJl
YWsgYmVmb3JlIHRoZSB0YXRlY2h1eW9rbwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L3J1YnktanVzdGlmeS10YXRlY2h1eW9rby1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L3J1YnktanVzdGlmeS10YXRlY2h1eW9rby1leHBlY3RlZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjMyNzQ1MzI0MDYwODdiZjU4YmJkYWEzNjRmOGI0M2IyODE4YzhlNmEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvcnVieS1qdXN0aWZ5LXRhdGVjaHV5b2tvLWV4
cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQor
PGhlYWQ+DQorPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KKzwvaGVhZD4NCis8Ym9keT4NCitUaGlz
IHRlc3QgbWFrZXMgc3VyZSB0aGF0IHRhdGVjaHV5b2tvIHdoaWNoIGRpcmVjdGx5IGZvbGxvd3Mg
cnVieSBpcyBwcm9wZXJseSBsZWZ0LWFsaWduZWQuDQorPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
anVzdGlmeTsgbWF4LWhlaWdodDogN2VtOyBmb250LXNpemU6IDQwcHg7IC13ZWJraXQtd3JpdGlu
Zy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGxhbmc9ImphIj7jgZPjga7mlofnq6A8c3BhbiBzdHlsZT0i
LXdlYmtpdC10ZXh0LWNvbWJpbmU6IGhvcml6b250YWw7Ij45OTwvc3Bhbj7jga/mlpzkuIvku5jj
grXjg7Pjg5fjg6vjgafjgZnjgII8L2Rpdj4NCis8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9ydWJ5LWp1c3RpZnktdGF0ZWNodXlva28uaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9ydWJ5LWp1c3RpZnktdGF0ZWNodXlva28uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xYTAzMjQ5MDkzNTc0YmY3Zjc0ODdhMTkzMWU0ZjkxNTA0Y2Y3Yzc5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3J1YnktanVzdGlmeS10YXRlY2h1eW9r
by5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKzxoZWFk
Pg0KKzxtZXRhIGNoYXJzZXQ9IlVURi04Ij4NCis8L2hlYWQ+DQorPGJvZHk+DQorVGhpcyB0ZXN0
IG1ha2VzIHN1cmUgdGhhdCB0YXRlY2h1eW9rbyB3aGljaCBkaXJlY3RseSBmb2xsb3dzIHJ1Ynkg
aXMgcHJvcGVybHkgbGVmdC1hbGlnbmVkLg0KKzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGp1c3Rp
Znk7IG1heC1oZWlnaHQ6IDdlbTsgZm9udC1zaXplOiA0MHB4OyAtd2Via2l0LXdyaXRpbmctbW9k
ZTogdmVydGljYWwtcmw7IiBsYW5nPSJqYSI+44GT44GuPHJ1Ynk+5paH56ugPHJ0IHN0eWxlPSJj
b2xvcjogd2hpdGU7Ij7jg6vjg5M8L3J0PjwvcnVieT48c3BhbiBzdHlsZT0iLXdlYmtpdC10ZXh0
LWNvbWJpbmU6IGhvcml6b250YWw7Ij45OTwvc3Bhbj7jga/mlpzkuIvku5jjgrXjg7Pjg5fjg6vj
gafjgZnjgII8L2Rpdj4NCis8L2JvZHk+DQorPC9odG1sPg0K
</data>
<flag name="review"
          id="289954"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264920</attachid>
            <date>2015-11-05 23:52:32 -0800</date>
            <delta_ts>2015-11-05 23:52:32 -0800</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-150923-20151105235133.patch</filename>
            <type>text/plain</type>
            <size>5356</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyMDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWNhODBjYTMxZTcwMzI0
NjMwYWJhNDZkYTFmZDIwMjc1Njg1ZmNjMi4uOTMxNTBhMDViNDc3MTUyYjI1Y2NhOGQ2OGFkZTlj
NDQ5Zjg4NzQ5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1LTExLTA1ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TihyMTgyMjg2KTogVGF0ZWNodXlva28gZm9sbG93aW5nIHJ1YnkgaXMgZHJhd24gdG9vIGZhciB0
byB0aGUgcmlnaHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1MDkyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEV2ZXIgc2luY2UgcjE4MjI4NiwgZXhwYW5zaW9uIG9wcG9ydHVuaXRpZXMgaW4ganVzdGlm
aWVkIHJ1Ynkgd2VyZSBtb3ZlZCB0byB0aGVpciBuZWlnaGJvcmluZworICAgICAgICBlbGVtZW50
cyAodGhlcmVieSBmb3JiaWRkaW5nIHRyYWlsaW5nIG5vciBsZWFkaW5nIGV4cGFuc2lvbnMgaW5z
aWRlIHJ1YnkpLiBIb3dldmVyLCB3aGVuIHRoZQorICAgICAgICBuZWlnaGJvcmluZyBlbGVtZW50
IGlzIHRhdGVjaHV5b2tvLCB3ZSB3aWxsIGVycm9uZW91c2x5IGhvbm9yIHRoZSBleHBhbnNpb24g
b3Bwb3J0dW5pdHkgaW5zaWRlCisgICAgICAgIHRoZSB0YXRlY2h1eW9rbywgdGhlcmVieSBtb3Zp
bmcgaXQgaG9yaXpvbnRhbGx5LgorCisgICAgICAgIFRhdGVjaHV5b2tvIHNob3VsZCBuZXZlciBo
YXZlIGV4cGFuc2lvbiBvcHBvcnR1bml0aWVzIGluc2lkZSBpdC4KKworICAgICAgICBUZXN0OiBm
YXN0L3RleHQvcnVieS1qdXN0aWZ5LXRhdGVjaHV5b2tvLmh0bWwKKworICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZXhwYW5z
aW9uQmVoYXZpb3JGb3JJbmxpbmVUZXh0Qm94KToKKwogMjAxNS0xMS0wNSAgTmlrb3MgQW5kcm9u
aWtvcyAgPG5pa29zLmFuZHJvbmlrb3Mtd2Via2l0QGNpc3JhLmNhbm9uLmNvbS5hdT4KIAogICAg
ICAgICBBZGQgcnVudGltZSBhbmQgY29tcGlsZSB0aW1lIGZsYWdzIGZvciBlbmFibGluZyBXZWIg
QW5pbWF0aW9ucyBBUEkgYW5kIG1vZGVsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAppbmRleCA1MzgxYjgyNjk3YmIzZTExZWI4NjQ1
MjUwMjUzYzc2OTUyMzg5NDk4Li45NTNhOGNhNGZkODVkY2RhNzAxOGFjNTEyYTkwZTE0NWQwMzY4
OGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5l
TGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5l
TGF5b3V0LmNwcApAQCAtNzE3LDEyICs3MTcsMTUgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmNv
bXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlvbnNGb3JMaW5lKFJvb3RJbmxpbmVCb3gqIGxpbmUK
IAogc3RhdGljIGlubGluZSBFeHBhbnNpb25CZWhhdmlvciBleHBhbnNpb25CZWhhdmlvckZvcklu
bGluZVRleHRCb3goUmVuZGVyQmxvY2tGbG93JiBibG9jaywgSW5saW5lVGV4dEJveCYgdGV4dEJv
eCwgQmlkaVJ1biogcHJldmlvdXNSdW4sIEJpZGlSdW4qIG5leHRSdW4sIEVUZXh0QWxpZ24gdGV4
dEFsaWduLCBib29sIGlzQWZ0ZXJFeHBhbnNpb24pCiB7CisgICAgLy8gVGF0ZWNodXlva28gaXMg
bW9kZWxlZCBhcyB0aGUgT2JqZWN0IFJlcGxhY2VtZW50IENoYXJhY3RlciAoVStGRkZDKSwgd2hp
Y2ggY2FuIG5ldmVyIGhhdmUgZXhwYW5zaW9uIG9wcG9ydHVuaXRpZXMgaW5zaWRlIG5vciBpbnRy
aW5zaWNhbGx5IGFkamFjZW50IHRvIGl0LgorICAgIGlmICh0ZXh0Qm94LnJlbmRlcmVyKCkuc3R5
bGUoKS50ZXh0Q29tYmluZSgpID09IFRleHRDb21iaW5lSG9yaXpvbnRhbCkKKyAgICAgICAgcmV0
dXJuIEZvcmJpZExlYWRpbmdFeHBhbnNpb24gfCBGb3JiaWRUcmFpbGluZ0V4cGFuc2lvbjsKKwog
ICAgIEV4cGFuc2lvbkJlaGF2aW9yIHJlc3VsdCA9IDA7CiAgICAgYm9vbCBzZXRMZWFkaW5nRXhw
YW5zaW9uID0gZmFsc2U7CiAgICAgYm9vbCBzZXRUcmFpbGluZ0V4cGFuc2lvbiA9IGZhbHNlOwog
ICAgIGlmICh0ZXh0QWxpZ24gPT0gSlVTVElGWSkgewotICAgICAgICAvLyBJZiB0aGUgbmV4dCBi
b3ggaXMgcnVieSwgYW5kIHdlJ3JlIGp1c3RpZnlpbmcsIGFuZCB0aGUgZmlyc3QgYm94IGluIHRo
ZSBydWJ5IGJhc2UgaGFzIGEgbGVhZGluZyBleHBhbnNpb24sIGFuZCB3ZSBhcmUgYSB0ZXh0IGJv
eCwgdGhlbgotICAgICAgICAvLyBmb3JjZSBhIHRyYWlsaW5nIGV4cGFuc2lvbi4KKyAgICAgICAg
Ly8gSWYgdGhlIG5leHQgYm94IGlzIHJ1YnksIGFuZCB3ZSdyZSBqdXN0aWZ5aW5nLCBhbmQgdGhl
IGZpcnN0IGJveCBpbiB0aGUgcnVieSBiYXNlIGhhcyBhIGxlYWRpbmcgZXhwYW5zaW9uLCBhbmQg
d2UgYXJlIGEgdGV4dCBib3gsIHRoZW4gZm9yY2UgYSB0cmFpbGluZyBleHBhbnNpb24uCiAgICAg
ICAgIGlmIChuZXh0UnVuICYmIGlzPFJlbmRlclJ1YnlSdW4+KG5leHRSdW4tPnJlbmRlcmVyKCkp
ICYmIGRvd25jYXN0PFJlbmRlclJ1YnlSdW4+KG5leHRSdW4tPnJlbmRlcmVyKCkpLnJ1YnlCYXNl
KCkgJiYgbmV4dFJ1bi0+cmVuZGVyZXIoKS5zdHlsZSgpLmNvbGxhcHNlV2hpdGVTcGFjZSgpKSB7
CiAgICAgICAgICAgICBhdXRvJiBydWJ5QmFzZSA9ICpkb3duY2FzdDxSZW5kZXJSdWJ5UnVuPihu
ZXh0UnVuLT5yZW5kZXJlcigpKS5ydWJ5QmFzZSgpOwogICAgICAgICAgICAgaWYgKHJ1YnlCYXNl
LmZpcnN0Um9vdEJveCgpICYmICFydWJ5QmFzZS5maXJzdFJvb3RCb3goKS0+bmV4dFJvb3RCb3go
KSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IGFkMDg2ZGVkY2NmOTlkNTExMGJjYTgxNjNjZjUzMmIwZWNiZDA0MmYuLmRh
OWVlY2ViZmYyNzQ4MWJkMGUyYTY5ZWUzZjE3ZDU0NDA2MGY4MjEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MyBAQAorMjAxNS0xMS0wNSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29t
PgorCisgICAgICAgIFJFR1JFU1NJT04ocjE4MjI4Nik6IFRhdGVjaHV5b2tvIGZvbGxvd2luZyBy
dWJ5IGlzIGRyYXduIHRvbyBmYXIgdG8gdGhlIHJpZ2h0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTA5MjMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvdGV4dC9ydWJ5LWp1c3RpZnktdGF0ZWNo
dXlva28tZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L3J1YnktanVz
dGlmeS10YXRlY2h1eW9rby5odG1sOiBBZGRlZC4KKwogMjAxNS0xMS0wNSAgU3Vrb2xzYWsgU2Fr
c2h1d29uZyAgPHN1a29sc2FrQGdtYWlsLmNvbT4KIAogICAgICAgICBMYXlvdXQgVGVzdCBqcy9p
bnRsLWNvbGxhdG9yLmh0bWwgaXMgY3Jhc2hpbmcgb24gd2luIDcgZGVidWcKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9ydWJ5LWp1c3RpZnktdGF0ZWNodXlva28tZXhwZWN0ZWQu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9ydWJ5LWp1c3RpZnktdGF0ZWNodXlva28tZXhw
ZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMjc0NTMyNDA2MDg3YmY1OGJiZGFhMzY0ZjhiNDNiMjgx
OGM4ZTZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3J1YnktanVz
dGlmeS10YXRlY2h1eW9rby1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQ
RSBodG1sPg0KKzxodG1sPg0KKzxoZWFkPg0KKzxtZXRhIGNoYXJzZXQ9IlVURi04Ij4NCis8L2hl
YWQ+DQorPGJvZHk+DQorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCB0YXRlY2h1eW9rbyB3aGlj
aCBkaXJlY3RseSBmb2xsb3dzIHJ1YnkgaXMgcHJvcGVybHkgbGVmdC1hbGlnbmVkLg0KKzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7IG1heC1oZWlnaHQ6IDdlbTsgZm9udC1zaXplOiA0
MHB4OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7IiBsYW5nPSJqYSI+44GT44Gu
5paH56ugPHNwYW4gc3R5bGU9Ii13ZWJraXQtdGV4dC1jb21iaW5lOiBob3Jpem9udGFsOyI+OTk8
L3NwYW4+44Gv5pac5LiL5LuY44K144Oz44OX44Or44Gn44GZ44CCPC9kaXY+DQorPC9ib2R5Pg0K
KzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvcnVieS1qdXN0aWZ5
LXRhdGVjaHV5b2tvLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvcnVieS1qdXN0aWZ5LXRh
dGVjaHV5b2tvLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWEwMzI0OTA5MzU3NGJmN2Y3NDg3YTE5MzFlNGY5
MTUwNGNmN2M3OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9ydWJ5
LWp1c3RpZnktdGF0ZWNodXlva28uaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRt
bD4NCis8aHRtbD4NCis8aGVhZD4NCis8bWV0YSBjaGFyc2V0PSJVVEYtOCI+DQorPC9oZWFkPg0K
Kzxib2R5Pg0KK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgdGF0ZWNodXlva28gd2hpY2ggZGly
ZWN0bHkgZm9sbG93cyBydWJ5IGlzIHByb3Blcmx5IGxlZnQtYWxpZ25lZC4NCis8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyBtYXgtaGVpZ2h0OiA3ZW07IGZvbnQtc2l6ZTogNDBweDsg
LXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyIgbGFuZz0iamEiPuOBk+OBrjxydWJ5
PuaWh+eroDxydCBzdHlsZT0iY29sb3I6IHdoaXRlOyI+44Or44OTPC9ydD48L3J1Ynk+PHNwYW4g
c3R5bGU9Ii13ZWJraXQtdGV4dC1jb21iaW5lOiBob3Jpem9udGFsOyI+OTk8L3NwYW4+44Gv5pac
5LiL5LuY44K144Oz44OX44Or44Gn44GZ44CCPC9kaXY+DQorPC9ib2R5Pg0KKzwvaHRtbD4NCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>