<?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>154330</bug_id>
          
          <creation_ts>2016-02-16 22:09:28 -0800</creation_ts>
          <short_desc>Regression(r196648): window.showModalDialog is no longer undefined if the client does not allow showing modal dialog</short_desc>
          <delta_ts>2016-02-17 11:31:15 -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>Bindings</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>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>154120</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1165511</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-16 22:09:28 -0800</bug_when>
    <thetext>window.showModalDialog is no longer undefined if the client does not allow showing modal dialog after r196648.
We did not have test coverage for this :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165517</commentid>
    <comment_count>1</comment_count>
      <attachid>271539</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-16 22:18:47 -0800</bug_when>
    <thetext>Created attachment 271539
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165518</commentid>
    <comment_count>2</comment_count>
      <attachid>271540</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-16 22:24:27 -0800</bug_when>
    <thetext>Created attachment 271540
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165536</commentid>
    <comment_count>3</comment_count>
      <attachid>271540</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2016-02-16 23:46:58 -0800</bug_when>
    <thetext>Comment on attachment 271540
Patch

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

&gt; Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:288
&gt; +        }

I think there is a bug here that this will do the wrong thing if your DOM contains an item named &quot;showModalDialog&quot; – the named getter will fail t pick it up.

I think you can easily fix by replacing:

&gt; if (!DOMWindow::canShowModalDialog(frame)) {
&gt;     slot.setUndefined();
&gt;     return false;
&gt; }

With:

&gt; if (!DOMWindow::canShowModalDialog(frame))
&gt;     return jsDOMWindowGetOwnPropertySlotNamedItemGetter(thisObject, *frame, exec, propertyName, slot);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165592</commentid>
    <comment_count>4</comment_count>
      <attachid>271558</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-17 08:57:01 -0800</bug_when>
    <thetext>Created attachment 271558
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165593</commentid>
    <comment_count>5</comment_count>
      <attachid>271559</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-17 08:58:06 -0800</bug_when>
    <thetext>Created attachment 271559
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165594</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-17 08:58:28 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 271540 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=271540&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:288
&gt; &gt; +        }
&gt; 
&gt; I think there is a bug here that this will do the wrong thing if your DOM
&gt; contains an item named &quot;showModalDialog&quot; – the named getter will fail t pick
&gt; it up.
&gt; 
&gt; I think you can easily fix by replacing:
&gt; 
&gt; &gt; if (!DOMWindow::canShowModalDialog(frame)) {
&gt; &gt;     slot.setUndefined();
&gt; &gt;     return false;
&gt; &gt; }
&gt; 
&gt; With:
&gt; 
&gt; &gt; if (!DOMWindow::canShowModalDialog(frame))
&gt; &gt;     return jsDOMWindowGetOwnPropertySlotNamedItemGetter(thisObject, *frame, exec, propertyName, slot);

Fixed and added test coverage for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165648</commentid>
    <comment_count>7</comment_count>
      <attachid>271559</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-17 11:31:08 -0800</bug_when>
    <thetext>Comment on attachment 271559
Patch

Clearing flags on attachment: 271559

Committed r196706: &lt;http://trac.webkit.org/changeset/196706&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165649</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-17 11:31:15 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271539</attachid>
            <date>2016-02-16 22:18:47 -0800</date>
            <delta_ts>2016-02-16 22:24:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-154330-20160216221829.patch</filename>
            <type>text/plain</type>
            <size>11995</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2Njg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhhNGU2N2NlYTI3YzNh
NjI0YjU4MmNhYzcxYTljMDQwZTFkMmY5Ny4uMTI1OTM2MDZkNDM1ZjRhODlmNTJlZWIyZDc0ZGEy
NmJlNzg4NTMxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE2LTAyLTE2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihyMTk2NjQ4
KTogd2luZG93LnNob3dNb2RhbERpYWxvZyBpcyBubyBsb25nZXIgdW5kZWZpbmVkIGlmIHRoZSBj
bGllbnQgZG9lcyBub3QgYWxsb3cgc2hvd2luZyBtb2RhbCBkaWFsb2cKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDMzMAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHdpbmRvdy5zaG93TW9kYWxEaWFsb2cg
aXMgbm8gbG9uZ2VyIHVuZGVmaW5lZCBpZiB0aGUgY2xpZW50IGRvZXMgbm90CisgICAgICAgIGFs
bG93IHNob3dpbmcgbW9kYWwgZGlhbG9nIGFmdGVyIHIxOTY2NDguIFRoaXMgcGF0Y2ggZml4ZXMg
dGhlIGlzc3VlCisgICAgICAgIGFuZCBhZGQgdGVzdCBjb3ZlcmFnZSBmb3IgdGhpcy4KKworICAg
ICAgICBUZXN0OiBmYXN0L2RvbS9XaW5kb3cvZm9yYmlkLXNob3dNb2RhbERpYWxvZy5odG1sCisK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU0RPTVdpbmRvdzo6Z2V0T3duUHJvcGVydHlTbG90KToKKyAgICAgICAgLSBNb3Zl
IHRoZSBET01XaW5kb3c6OmNhblNob3dNb2RhbERpYWxvZygpIGNoZWNrICpiZWZvcmUqIGNoZWNr
aW5nCisgICAgICAgICAgZm9yIHN0YXRpYyBwcm9wZXJ0aWVzIGFzIHNob3dNb2RhbERpYWxvZyBp
cyBub3cgaW4gdGhlIHN0YXRpYworICAgICAgICAgIHByb3BlcnR5IHRhYmxlIGFmdGVyIHIxOTY2
NDguCisgICAgICAgIC0gQWRkIGNoZWNrIGZvciBCYXNlOjpnZXRPd25Qcm9wZXJ0eVNsb3QoKSBm
aXJzdCB0byBzdXBwb3J0IG92ZXJyaWRpbmcKKyAgICAgICAgICB3aW5kb3cuc2hvd01vZGFsRGlh
bG9nIChUaGlzIGJlaGF2aW9yIG1hdGNoZXMgRmlyZWZveCkuCisgICAgICAgIC0gUmV0dXJuIGZh
bHNlIGlmIERPTVdpbmRvdzo6Y2FuU2hvd01vZGFsRGlhbG9nKCkgcmV0dXJucyBmYWxzZSBhcyB0
aGlzCisgICAgICAgICAgc2VlbXMgY2xlYW5lciB0aGFuIGNsYWltaW5nIHRoYXQgdGhlIHByb3Bl
cnR5IGlzIHRoZXJlIGJ1dCB1bmRlZmluZWQuCisKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmNhblNob3dNb2RhbERpYWxvZ05vdyk6
IERlbGV0ZWQuCisgICAgICAgIFRoaXMgd2FzIGluZGVudGljYWwgdG8gY2FuU2hvd01vZGFsRGlh
bG9nKCkuCisKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6Y2FuU2hvd01vZGFsRGlhbG9n
KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2V0Q2FuU2hvd01vZGFsRGlhbG9nT3Zl
cnJpZGUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzaG93TW9kYWxEaWFsb2cpOgor
ICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRDYW5TaG93TW9kYWxEaWFsb2dP
dmVycmlkZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5pZGw6CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVycmlkaW5nIHRo
ZSBDaHJvbWVDbGllbnQncyBjYW5TaG93TW9kYWxEaWFsb2cKKyAgICAgICAgZGVjaXNpb24gYW5k
IGhvb2sgaXQgdXAgdG8gSW50ZXJuYWxzIHRvIGFkZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZS4KKwog
MjAxNi0wMi0xNiAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgSlNET01XaW5kb3c6OmdldE93blByb3BlcnR5U2xvdCBzaG91bGQganVzdCBjYWxs
IGdldFN0YXRpY1Byb3BlcnR5U2xvdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IDg0NDczY2FjNDgxOTdkMWY2Y2E3ZGZjODA3MzBj
MzdhNTlkMTYxZWEuLmE5NzFlMWE5Yjc1OWQxNzk2YzM2OGQ2MWU1N2FlZGI1YTBlMjBlZjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAK
QEAgLTI3NSwxNiArMjc1LDIzIEBAIGJvb2wgSlNET01XaW5kb3c6OmdldE93blByb3BlcnR5U2xv
dChKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5CiAgICAgICAgICAg
ICBzbG90LnNldEN1c3RvbSh0aGlzT2JqZWN0LCBSZWFkT25seSB8IERvbnREZWxldGUgfCBEb250
RW51bSwgbm9uQ2FjaGluZ1N0YXRpY0Z1bmN0aW9uR2V0dGVyPGpzRE9NV2luZG93SW5zdGFuY2VG
dW5jdGlvblBvc3RNZXNzYWdlLCAyPik7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAg
ICAvLyAoMikgUmVndWxhciBvd24gcHJvcGVydGllcy4KLSAgICBpZiAoZ2V0U3RhdGljUHJvcGVy
dHlTbG90PEpTRE9NV2luZG93LCBCYXNlPihleGVjLCAqSlNET01XaW5kb3c6OmluZm8oKS0+c3Rh
dGljUHJvcEhhc2hUYWJsZSwgdGhpc09iamVjdCwgcHJvcGVydHlOYW1lLCBzbG90KSkKLSAgICAg
ICAgcmV0dXJuIHRydWU7CisKICAgICAvLyBGSVhNRTogdGhpcyBsb29rcyBwcmV0dHkgYm9ndXMu
IEl0IHNlZW1zIGhpZ2hseSBsaWtlbHkgdGhhdCBpZiAhY2FuU2hvd01vZGFsRGlhbG9nIHRoZQog
ICAgIC8vIGZ1bnRpb24gc2hvdWxkIHN0aWxsIGJlIHByZXNlbnQsIG9yIHNob3VsZCBiZSBvbWl0
dGVkIGVudGlyZWx5IC0gcHJlc2VudCBidXQgcmVhZHMgYXMKICAgICAvLyB1bmRlZmluZWQgd2l0
aCB1bnNwZWNpZmllZCBhdHRyaWJ1dGVzIGlzIGxpa2VseSB3cm9uZy4KLSAgICBpZiAocHJvcGVy
dHlOYW1lID09IGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5zaG93TW9kYWxEaWFsb2cgJiYgIURPTVdp
bmRvdzo6Y2FuU2hvd01vZGFsRGlhbG9nKGZyYW1lKSkgewotICAgICAgICBzbG90LnNldFVuZGVm
aW5lZCgpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAocHJvcGVydHlOYW1lID09IGV4
ZWMtPnByb3BlcnR5TmFtZXMoKS5zaG93TW9kYWxEaWFsb2cpIHsKKyAgICAgICAgaWYgKEJhc2U6
OmdldE93blByb3BlcnR5U2xvdCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3Qp
KQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIGlmICghRE9NV2luZG93OjpjYW5T
aG93TW9kYWxEaWFsb2coZnJhbWUpKSB7CisgICAgICAgICAgICBzbG90LnNldFVuZGVmaW5lZCgp
OworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAgICAgfQorCisgICAgLy8g
KDIpIFJlZ3VsYXIgb3duIHByb3BlcnRpZXMuCisgICAgaWYgKGdldFN0YXRpY1Byb3BlcnR5U2xv
dDxKU0RPTVdpbmRvdywgQmFzZT4oZXhlYywgKkpTRE9NV2luZG93OjppbmZvKCktPnN0YXRpY1By
b3BIYXNoVGFibGUsIHRoaXNPYmplY3QsIHByb3BlcnR5TmFtZSwgc2xvdCkpCisgICAgICAgIHJl
dHVybiB0cnVlOworCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAgICAgLy8gRklYTUU6
IFdpdGggZ2VuZXJhdGVkIEpTIGJpbmRpbmdzIGJ1aWx0IG9uIHN0YXRpYyBwcm9wZXJ0eSB0YWJs
ZXMgdGhlcmUgaXMgbm8gd2F5IHRvCiAgICAgLy8gY29tcGxldGVseSByZW1vdmUgYSBnZW5lcmF0
ZWQgcHJvcGVydHkgYXQgcnVudGltZS4gU28gdG8gY29tcGxldGVseSBkaXNhYmxlIEluZGV4ZWRE
QgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IGE4Yjg1M2M3MDY1ZTc4OWRjZTI0M2E0
YThmZTc5NTBiNTU5ZGNiOTkuLmQ5MTQyMGM1OGE2YmNiNGE2NzU1MjMyZDc5MGNlZDE2NTUzODFk
ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTM3MywyMCArMzczLDIyIEBAIGJv
b2wgRE9NV2luZG93OjpjYW5TaG93TW9kYWxEaWFsb2coY29uc3QgRnJhbWUqIGZyYW1lKQogewog
ICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBQYWdlKiBwYWdlID0g
ZnJhbWUtPnBhZ2UoKTsKLSAgICBpZiAoIXBhZ2UpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICByZXR1cm4gcGFnZS0+Y2hyb21lKCkuY2FuUnVuTW9kYWwoKTsKKworICAgIC8vIE92ZXJyaWRl
IHN1cHBvcnQgZm9yIGxheW91dCB0ZXN0aW5nIHB1cnBvc2VzLgorICAgIGlmIChhdXRvKiBkb2N1
bWVudCA9IGZyYW1lLT5kb2N1bWVudCgpKSB7CisgICAgICAgIGlmIChhdXRvKiB3aW5kb3cgPSBk
b2N1bWVudC0+ZG9tV2luZG93KCkpIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3ctPm1fY2FuU2hv
d01vZGFsRGlhbG9nT3ZlcnJpZGUpCisgICAgICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy0+bV9j
YW5TaG93TW9kYWxEaWFsb2dPdmVycmlkZS52YWx1ZSgpOworICAgICAgICB9CisgICAgfQorCisg
ICAgYXV0byogcGFnZSA9IGZyYW1lLT5wYWdlKCk7CisgICAgcmV0dXJuIHBhZ2UgPyBwYWdlLT5j
aHJvbWUoKS5jYW5SdW5Nb2RhbCgpIDogZmFsc2U7CiB9CiAKLWJvb2wgRE9NV2luZG93OjpjYW5T
aG93TW9kYWxEaWFsb2dOb3coY29uc3QgRnJhbWUqIGZyYW1lKQordm9pZCBET01XaW5kb3c6OnNl
dENhblNob3dNb2RhbERpYWxvZ092ZXJyaWRlKGJvb2wgYWxsb3cpCiB7Ci0gICAgaWYgKCFmcmFt
ZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIFBhZ2UqIHBhZ2UgPSBmcmFtZS0+cGFnZSgp
OwotICAgIGlmICghcGFnZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBwYWdl
LT5jaHJvbWUoKS5jYW5SdW5Nb2RhbCgpOworICAgIG1fY2FuU2hvd01vZGFsRGlhbG9nT3ZlcnJp
ZGUgPSBhbGxvdzsKIH0KIAogRE9NV2luZG93OjpET01XaW5kb3coRG9jdW1lbnQqIGRvY3VtZW50
KQpAQCAtMjI0MCw3ICsyMjQyLDcgQEAgdm9pZCBET01XaW5kb3c6OnNob3dNb2RhbERpYWxvZyhj
b25zdCBTdHJpbmcmIHVybFN0cmluZywgY29uc3QgU3RyaW5nJiBkaWFsb2dGZWEKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIGlmICghY2FuU2hvd01vZGFsRGlhbG9nTm93KG1fZnJhbWUp
IHx8ICFmaXJzdFdpbmRvdy5hbGxvd1BvcFVwKCkpCisgICAgaWYgKCFjYW5TaG93TW9kYWxEaWFs
b2cobV9mcmFtZSkgfHwgIWZpcnN0V2luZG93LmFsbG93UG9wVXAoKSkKICAgICAgICAgcmV0dXJu
OwogCiAgICAgUmVmUHRyPEZyYW1lPiBkaWFsb2dGcmFtZSA9IGNyZWF0ZVdpbmRvdyh1cmxTdHJp
bmcsIGVtcHR5QXRvbSwgcGFyc2VEaWFsb2dGZWF0dXJlcyhkaWFsb2dGZWF0dXJlc1N0cmluZywg
c2NyZWVuQXZhaWxhYmxlUmVjdChtX2ZyYW1lLT52aWV3KCkpKSwgYWN0aXZlV2luZG93LCAqZmly
c3RGcmFtZSwgKm1fZnJhbWUsIFdURk1vdmUocHJlcGFyZURpYWxvZ0Z1bmN0aW9uKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuaAppbmRleCAxOTQ3NGZiZWMyN2JlNGFhMmE5YWNkOTFmYTNkY2FhZGJh
Y2JjNGQzLi4yNjc0YTBjYWI4YmE2M2M3YWMzZmY3NzUwYzA3MWE5YWRlNjIwMmIzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJTdXBwbGVtZW50
YWJsZS5oIgogI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiAjaW5jbHVkZSA8bWVtb3J5PgorI2luY2x1
ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFj
ZSBJbnNwZWN0b3IgewpAQCAtMTM1LDcgKzEzNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgYm9vbCBhbGxvd1BvcFVwKCk7IC8vIENhbGwgb24gZmlyc3Qgd2luZG93LCBub3QgdGFy
Z2V0IHdpbmRvdy4KICAgICAgICAgc3RhdGljIGJvb2wgYWxsb3dQb3BVcChGcmFtZSogZmlyc3RG
cmFtZSk7CiAgICAgICAgIHN0YXRpYyBib29sIGNhblNob3dNb2RhbERpYWxvZyhjb25zdCBGcmFt
ZSopOwotICAgICAgICBzdGF0aWMgYm9vbCBjYW5TaG93TW9kYWxEaWFsb2dOb3coY29uc3QgRnJh
bWUqKTsKKyAgICAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRDYW5TaG93TW9kYWxEaWFsb2dP
dmVycmlkZShib29sKTsKIAogICAgICAgICAvLyBET00gTGV2ZWwgMAogCkBAIC0zNzAsNiArMzcx
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIGJvb2wgbV9zaG91bGRQcmludFdo
ZW5GaW5pc2hlZExvYWRpbmc7CiAgICAgICAgIGJvb2wgbV9zdXNwZW5kZWRGb3JEb2N1bWVudFN1
c3BlbnNpb247CisgICAgICAgIE9wdGlvbmFsPGJvb2w+IG1fY2FuU2hvd01vZGFsRGlhbG9nT3Zl
cnJpZGU7CiAKICAgICAgICAgSGFzaFNldDxET01XaW5kb3dQcm9wZXJ0eSo+IG1fcHJvcGVydGll
czsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGVjNDAyNmE1ZjNkMDky
MzRmNTljOThmMGY0M2ExNzQwYWU0ZGIwNDUuLmRjODQ2MGFlZjFjNTRiZTg1NmZhYjg4NTg4OTcx
ZjMzN2JmMTE4ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTU3OSw2
ICs1NzksMTYgQEAgdm9pZCBJbnRlcm5hbHM6OnNldE92ZXJyaWRlQ2FjaGVQb2xpY3koY29uc3Qg
U3RyaW5nJiBwb2xpY3kpCiAgICAgZnJhbWUoKS0+bG9hZGVyKCkuc2V0T3ZlcnJpZGVDYWNoZVBv
bGljeUZvclRlc3Rpbmcoc3RyaW5nVG9SZXNvdXJjZVJlcXVlc3RDYWNoZVBvbGljeShwb2xpY3kp
KTsKIH0KIAordm9pZCBJbnRlcm5hbHM6OnNldENhblNob3dNb2RhbERpYWxvZ092ZXJyaWRlKGJv
b2wgYWxsb3csIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghY29udGV4dERvY3VtZW50
KCkgfHwgIWNvbnRleHREb2N1bWVudCgpLT5kb21XaW5kb3coKSkgeworICAgICAgICBlYyA9IElO
VkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGNvbnRleHRE
b2N1bWVudCgpLT5kb21XaW5kb3coKS0+c2V0Q2FuU2hvd01vZGFsRGlhbG9nT3ZlcnJpZGUoYWxs
b3cpOworfQorCiBzdGF0aWMgUmVzb3VyY2VMb2FkUHJpb3JpdHkgc3RyaW5nVG9SZXNvdXJjZUxv
YWRQcmlvcml0eShjb25zdCBTdHJpbmcmIHBvbGljeSkKIHsKICAgICBpZiAocG9saWN5ID09ICJS
ZXNvdXJjZUxvYWRQcmlvcml0eVZlcnlMb3ciKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
aW5kZXggNTE1OWQzOGQwNjEyMjI0MTExZmY3OTJhNGYyZmI4NzIyOGMxNGUyYS4uOTU0NzhiMzJh
MWY0NDFjNTIyMDYyMjc0YjE3NGY5NjM5NmFlMDcxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5oCkBAIC05OCw2ICs5OCw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzU2hhcmluZ1N0eWxl
U2hlZXRDb250ZW50cyhFbGVtZW50KiBsaW5rQSwgRWxlbWVudCogbGlua0IpOwogICAgIGJvb2wg
aXNTdHlsZVNoZWV0TG9hZGluZ1N1YnJlc291cmNlcyhFbGVtZW50KiBsaW5rKTsKICAgICB2b2lk
IHNldE92ZXJyaWRlQ2FjaGVQb2xpY3koY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRDYW5T
aG93TW9kYWxEaWFsb2dPdmVycmlkZShib29sIGFsbG93LCBFeGNlcHRpb25Db2RlJik7CiAgICAg
dm9pZCBzZXRPdmVycmlkZVJlc291cmNlTG9hZFByaW9yaXR5KGNvbnN0IFN0cmluZyYpOwogICAg
IHZvaWQgc2V0U3RyaWN0UmF3UmVzb3VyY2VWYWxpZGF0aW9uUG9saWN5RGlzYWJsZWQoYm9vbCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCBkYzE1MzAyMjFhYTMwMmFl
ZTU3YTEyYmVmMzk0MGZlODZhNDhlMDA2Li4yNTQ0NTIxNWYwZjZjYWYyZWZiMjcxODY4OTk3YjJj
MmRmNmJiYmZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC00MzYsNCAr
NDM2LDYgQEAgZW51bSBBdXRvRmlsbEJ1dHRvblR5cGUgewogCiAgICAgRE9NU3RyaW5nIHJlc291
cmNlTG9hZFN0YXRpc3RpY3NGb3JPcmlnaW4oRE9NU3RyaW5nIGRvbWFpbik7CiAgICAgdm9pZCBz
ZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChib29sZWFuIGVuYWJsZSk7CisKKyAgICBb
UmFpc2VzRXhjZXB0aW9uXSB2b2lkIHNldENhblNob3dNb2RhbERpYWxvZ092ZXJyaWRlKGJvb2xl
YW4gYWxsb3cpOwogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxMmI1ZjY4MzM4MWEyOTA2NGM5NjJlNDg1ZmM5ZDUxMmM3
MzhlN2M5Li5mOWJlZTRlYjEyNzQ2OWVkNWNjMmE2ODg4ZWIxNmM4MzU0YTQ5OGE4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTYtMDItMTYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KKworICAgICAgICBSZWdyZXNzaW9uKHIxOTY2NDgpOiB3aW5kb3cuc2hvd01vZGFsRGlhbG9n
IGlzIG5vIGxvbmdlciB1bmRlZmluZWQgaWYgdGhlIGNsaWVudCBkb2VzIG5vdCBhbGxvdyBzaG93
aW5nIG1vZGFsIGRpYWxvZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTU0MzMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIGxheW91dCB0ZXN0IHRvIG1ha2Ugc3VyZSB0aGF0IHdpbmRvdy5zaG93TW9k
YWxEaWFsb2cgaXMgdW5kZWZpbmVkCisgICAgICAgIHdoZW4gdGhlIGNsaWVudCBkb2VzIG5vdCBh
bGxvdyBzaG93aW5nIG1vZGFsIGRpYWxvZyBhbmQgdG8gY2hlY2sgdGhhdAorICAgICAgICB3aW5k
b3cuc2hvd01vZGFsRGlhbG9nIGNhbiBiZSBzaGFkb3dlZC4KKworICAgICAgICAqIGZhc3QvZG9t
L1dpbmRvdy9mb3JiaWQtc2hvd01vZGFsRGlhbG9nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9kb20vV2luZG93L2ZvcmJpZC1zaG93TW9kYWxEaWFsb2cuaHRtbDogQWRkZWQu
CisKIDIwMTYtMDItMTYgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29t
PgogCiAgICAgICAgIEpTRE9NV2luZG93OjpnZXRPd25Qcm9wZXJ0eVNsb3Qgc2hvdWxkIG5vdCBz
ZWFyY2ggcGhvdG8gY2hhaW4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRv
dy9mb3JiaWQtc2hvd01vZGFsRGlhbG9nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy9mb3JiaWQtc2hvd01vZGFsRGlhbG9nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lN2UyZjk2YjJlOGJlMjI3MDYwMzc3NDMzZTI5ZGQyYWRjYzM1NDE5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2ZvcmJpZC1zaG93TW9kYWxEaWFsb2ct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK1Rlc3RzIHRoYXQgV2luZG93LnNob3dNb2Rh
bERpYWxvZyBpcyB1bmRlZmluZWQgaWYgdGhlIGNsaWVudCBkb2VzIG5vdCBhbGxvdyBzaG93aW5n
IG1vZGFsIGRpYWxvZ3MuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitpbnRlcm5h
bHMuc2V0Q2FuU2hvd01vZGFsRGlhbG9nT3ZlcnJpZGUoZmFsc2UpCitQQVNTIHdpbmRvdy5zaG93
TW9kYWxEaWFsb2cgaXMgdW5kZWZpbmVkCitpbnRlcm5hbHMuc2V0Q2FuU2hvd01vZGFsRGlhbG9n
T3ZlcnJpZGUodHJ1ZSkKK1BBU1Mgd2luZG93LnNob3dNb2RhbERpYWxvZyBpcyBub3QgdW5kZWZp
bmVkCitQQVNTIHdpbmRvdy5zaG93TW9kYWxEaWFsb2cgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rp
b24KK3dpbmRvdy5zaG93TW9kYWxEaWFsb2cgPSAxCitQQVNTIHdpbmRvdy5zaG93TW9kYWxEaWFs
b2cgaXMgMQorZGVsZXRlIHdpbmRvdy5zaG93TW9kYWxEaWFsb2cKK1BBU1Mgd2luZG93LnNob3dN
b2RhbERpYWxvZyBpcyB1bmRlZmluZWQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5k
b3cvZm9yYmlkLXNob3dNb2RhbERpYWxvZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2lu
ZG93L2ZvcmJpZC1zaG93TW9kYWxEaWFsb2cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMjMxYmZlMTY0NWU3
MTEwYmQzNWU0MGZiYWY5Mjc2ZmNiZTZhNjkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vV2luZG93L2ZvcmJpZC1zaG93TW9kYWxEaWFsb2cuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBXaW5kb3cuc2hvd01v
ZGFsRGlhbG9nIGlzIHVuZGVmaW5lZCBpZiB0aGUgY2xpZW50IGRvZXMgbm90IGFsbG93IHNob3dp
bmcgbW9kYWwgZGlhbG9ncy4iKTsKKworZXZhbEFuZExvZygiaW50ZXJuYWxzLnNldENhblNob3dN
b2RhbERpYWxvZ092ZXJyaWRlKGZhbHNlKSIpOworc2hvdWxkQmUoIndpbmRvdy5zaG93TW9kYWxE
aWFsb2ciLCAidW5kZWZpbmVkIik7CitldmFsQW5kTG9nKCJpbnRlcm5hbHMuc2V0Q2FuU2hvd01v
ZGFsRGlhbG9nT3ZlcnJpZGUodHJ1ZSkiKTsKK3Nob3VsZE5vdEJlKCJ3aW5kb3cuc2hvd01vZGFs
RGlhbG9nIiwgInVuZGVmaW5lZCIpOworCisvLyBNYWtlIHN1cmUgaXQgY2FuIGJlIHNoYWRvd2Vk
Lgorc2hvdWxkQmVUeXBlKCJ3aW5kb3cuc2hvd01vZGFsRGlhbG9nIiwgIkZ1bmN0aW9uIik7Citl
dmFsQW5kTG9nKCJ3aW5kb3cuc2hvd01vZGFsRGlhbG9nID0gMSIpOworc2hvdWxkQmUoIndpbmRv
dy5zaG93TW9kYWxEaWFsb2ciICwgIjEiKTsKK2V2YWxBbmRMb2coImRlbGV0ZSB3aW5kb3cuc2hv
d01vZGFsRGlhbG9nIik7CitzaG91bGRCZSgid2luZG93LnNob3dNb2RhbERpYWxvZyIsICJ1bmRl
ZmluZWQiKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271540</attachid>
            <date>2016-02-16 22:24:27 -0800</date>
            <delta_ts>2016-02-17 08:56:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-154330-20160216222407.patch</filename>
            <type>text/plain</type>
            <size>12225</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2Njg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhhNGU2N2NlYTI3YzNh
NjI0YjU4MmNhYzcxYTljMDQwZTFkMmY5Ny4uMTI1OTM2MDZkNDM1ZjRhODlmNTJlZWIyZDc0ZGEy
NmJlNzg4NTMxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE2LTAyLTE2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihyMTk2NjQ4
KTogd2luZG93LnNob3dNb2RhbERpYWxvZyBpcyBubyBsb25nZXIgdW5kZWZpbmVkIGlmIHRoZSBj
bGllbnQgZG9lcyBub3QgYWxsb3cgc2hvd2luZyBtb2RhbCBkaWFsb2cKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDMzMAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHdpbmRvdy5zaG93TW9kYWxEaWFsb2cg
aXMgbm8gbG9uZ2VyIHVuZGVmaW5lZCBpZiB0aGUgY2xpZW50IGRvZXMgbm90CisgICAgICAgIGFs
bG93IHNob3dpbmcgbW9kYWwgZGlhbG9nIGFmdGVyIHIxOTY2NDguIFRoaXMgcGF0Y2ggZml4ZXMg
dGhlIGlzc3VlCisgICAgICAgIGFuZCBhZGQgdGVzdCBjb3ZlcmFnZSBmb3IgdGhpcy4KKworICAg
ICAgICBUZXN0OiBmYXN0L2RvbS9XaW5kb3cvZm9yYmlkLXNob3dNb2RhbERpYWxvZy5odG1sCisK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU0RPTVdpbmRvdzo6Z2V0T3duUHJvcGVydHlTbG90KToKKyAgICAgICAgLSBNb3Zl
IHRoZSBET01XaW5kb3c6OmNhblNob3dNb2RhbERpYWxvZygpIGNoZWNrICpiZWZvcmUqIGNoZWNr
aW5nCisgICAgICAgICAgZm9yIHN0YXRpYyBwcm9wZXJ0aWVzIGFzIHNob3dNb2RhbERpYWxvZyBp
cyBub3cgaW4gdGhlIHN0YXRpYworICAgICAgICAgIHByb3BlcnR5IHRhYmxlIGFmdGVyIHIxOTY2
NDguCisgICAgICAgIC0gQWRkIGNoZWNrIGZvciBCYXNlOjpnZXRPd25Qcm9wZXJ0eVNsb3QoKSBm
aXJzdCB0byBzdXBwb3J0IG92ZXJyaWRpbmcKKyAgICAgICAgICB3aW5kb3cuc2hvd01vZGFsRGlh
bG9nIChUaGlzIGJlaGF2aW9yIG1hdGNoZXMgRmlyZWZveCkuCisgICAgICAgIC0gUmV0dXJuIGZh
bHNlIGlmIERPTVdpbmRvdzo6Y2FuU2hvd01vZGFsRGlhbG9nKCkgcmV0dXJucyBmYWxzZSBhcyB0
aGlzCisgICAgICAgICAgc2VlbXMgY2xlYW5lciB0aGFuIGNsYWltaW5nIHRoYXQgdGhlIHByb3Bl
cnR5IGlzIHRoZXJlIGJ1dCB1bmRlZmluZWQuCisKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmNhblNob3dNb2RhbERpYWxvZ05vdyk6
IERlbGV0ZWQuCisgICAgICAgIFRoaXMgd2FzIGluZGVudGljYWwgdG8gY2FuU2hvd01vZGFsRGlh
bG9nKCkuCisKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6Y2FuU2hvd01vZGFsRGlhbG9n
KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2V0Q2FuU2hvd01vZGFsRGlhbG9nT3Zl
cnJpZGUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzaG93TW9kYWxEaWFsb2cpOgor
ICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRDYW5TaG93TW9kYWxEaWFsb2dP
dmVycmlkZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5pZGw6CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVycmlkaW5nIHRo
ZSBDaHJvbWVDbGllbnQncyBjYW5TaG93TW9kYWxEaWFsb2cKKyAgICAgICAgZGVjaXNpb24gYW5k
IGhvb2sgaXQgdXAgdG8gSW50ZXJuYWxzIHRvIGFkZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZS4KKwog
MjAxNi0wMi0xNiAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgSlNET01XaW5kb3c6OmdldE93blByb3BlcnR5U2xvdCBzaG91bGQganVzdCBjYWxs
IGdldFN0YXRpY1Byb3BlcnR5U2xvdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IDg0NDczY2FjNDgxOTdkMWY2Y2E3ZGZjODA3MzBj
MzdhNTlkMTYxZWEuLmE5NzFlMWE5Yjc1OWQxNzk2YzM2OGQ2MWU1N2FlZGI1YTBlMjBlZjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAK
QEAgLTI3NSwxNiArMjc1LDIzIEBAIGJvb2wgSlNET01XaW5kb3c6OmdldE93blByb3BlcnR5U2xv
dChKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5CiAgICAgICAgICAg
ICBzbG90LnNldEN1c3RvbSh0aGlzT2JqZWN0LCBSZWFkT25seSB8IERvbnREZWxldGUgfCBEb250
RW51bSwgbm9uQ2FjaGluZ1N0YXRpY0Z1bmN0aW9uR2V0dGVyPGpzRE9NV2luZG93SW5zdGFuY2VG
dW5jdGlvblBvc3RNZXNzYWdlLCAyPik7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAg
ICAvLyAoMikgUmVndWxhciBvd24gcHJvcGVydGllcy4KLSAgICBpZiAoZ2V0U3RhdGljUHJvcGVy
dHlTbG90PEpTRE9NV2luZG93LCBCYXNlPihleGVjLCAqSlNET01XaW5kb3c6OmluZm8oKS0+c3Rh
dGljUHJvcEhhc2hUYWJsZSwgdGhpc09iamVjdCwgcHJvcGVydHlOYW1lLCBzbG90KSkKLSAgICAg
ICAgcmV0dXJuIHRydWU7CisKICAgICAvLyBGSVhNRTogdGhpcyBsb29rcyBwcmV0dHkgYm9ndXMu
IEl0IHNlZW1zIGhpZ2hseSBsaWtlbHkgdGhhdCBpZiAhY2FuU2hvd01vZGFsRGlhbG9nIHRoZQog
ICAgIC8vIGZ1bnRpb24gc2hvdWxkIHN0aWxsIGJlIHByZXNlbnQsIG9yIHNob3VsZCBiZSBvbWl0
dGVkIGVudGlyZWx5IC0gcHJlc2VudCBidXQgcmVhZHMgYXMKICAgICAvLyB1bmRlZmluZWQgd2l0
aCB1bnNwZWNpZmllZCBhdHRyaWJ1dGVzIGlzIGxpa2VseSB3cm9uZy4KLSAgICBpZiAocHJvcGVy
dHlOYW1lID09IGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5zaG93TW9kYWxEaWFsb2cgJiYgIURPTVdp
bmRvdzo6Y2FuU2hvd01vZGFsRGlhbG9nKGZyYW1lKSkgewotICAgICAgICBzbG90LnNldFVuZGVm
aW5lZCgpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAocHJvcGVydHlOYW1lID09IGV4
ZWMtPnByb3BlcnR5TmFtZXMoKS5zaG93TW9kYWxEaWFsb2cpIHsKKyAgICAgICAgaWYgKEJhc2U6
OmdldE93blByb3BlcnR5U2xvdCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3Qp
KQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIGlmICghRE9NV2luZG93OjpjYW5T
aG93TW9kYWxEaWFsb2coZnJhbWUpKSB7CisgICAgICAgICAgICBzbG90LnNldFVuZGVmaW5lZCgp
OworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAgICAgfQorCisgICAgLy8g
KDIpIFJlZ3VsYXIgb3duIHByb3BlcnRpZXMuCisgICAgaWYgKGdldFN0YXRpY1Byb3BlcnR5U2xv
dDxKU0RPTVdpbmRvdywgQmFzZT4oZXhlYywgKkpTRE9NV2luZG93OjppbmZvKCktPnN0YXRpY1By
b3BIYXNoVGFibGUsIHRoaXNPYmplY3QsIHByb3BlcnR5TmFtZSwgc2xvdCkpCisgICAgICAgIHJl
dHVybiB0cnVlOworCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAgICAgLy8gRklYTUU6
IFdpdGggZ2VuZXJhdGVkIEpTIGJpbmRpbmdzIGJ1aWx0IG9uIHN0YXRpYyBwcm9wZXJ0eSB0YWJs
ZXMgdGhlcmUgaXMgbm8gd2F5IHRvCiAgICAgLy8gY29tcGxldGVseSByZW1vdmUgYSBnZW5lcmF0
ZWQgcHJvcGVydHkgYXQgcnVudGltZS4gU28gdG8gY29tcGxldGVseSBkaXNhYmxlIEluZGV4ZWRE
QgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IGE4Yjg1M2M3MDY1ZTc4OWRjZTI0M2E0
YThmZTc5NTBiNTU5ZGNiOTkuLmQ5MTQyMGM1OGE2YmNiNGE2NzU1MjMyZDc5MGNlZDE2NTUzODFk
ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTM3MywyMCArMzczLDIyIEBAIGJv
b2wgRE9NV2luZG93OjpjYW5TaG93TW9kYWxEaWFsb2coY29uc3QgRnJhbWUqIGZyYW1lKQogewog
ICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBQYWdlKiBwYWdlID0g
ZnJhbWUtPnBhZ2UoKTsKLSAgICBpZiAoIXBhZ2UpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICByZXR1cm4gcGFnZS0+Y2hyb21lKCkuY2FuUnVuTW9kYWwoKTsKKworICAgIC8vIE92ZXJyaWRl
IHN1cHBvcnQgZm9yIGxheW91dCB0ZXN0aW5nIHB1cnBvc2VzLgorICAgIGlmIChhdXRvKiBkb2N1
bWVudCA9IGZyYW1lLT5kb2N1bWVudCgpKSB7CisgICAgICAgIGlmIChhdXRvKiB3aW5kb3cgPSBk
b2N1bWVudC0+ZG9tV2luZG93KCkpIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3ctPm1fY2FuU2hv
d01vZGFsRGlhbG9nT3ZlcnJpZGUpCisgICAgICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy0+bV9j
YW5TaG93TW9kYWxEaWFsb2dPdmVycmlkZS52YWx1ZSgpOworICAgICAgICB9CisgICAgfQorCisg
ICAgYXV0byogcGFnZSA9IGZyYW1lLT5wYWdlKCk7CisgICAgcmV0dXJuIHBhZ2UgPyBwYWdlLT5j
aHJvbWUoKS5jYW5SdW5Nb2RhbCgpIDogZmFsc2U7CiB9CiAKLWJvb2wgRE9NV2luZG93OjpjYW5T
aG93TW9kYWxEaWFsb2dOb3coY29uc3QgRnJhbWUqIGZyYW1lKQordm9pZCBET01XaW5kb3c6OnNl
dENhblNob3dNb2RhbERpYWxvZ092ZXJyaWRlKGJvb2wgYWxsb3cpCiB7Ci0gICAgaWYgKCFmcmFt
ZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIFBhZ2UqIHBhZ2UgPSBmcmFtZS0+cGFnZSgp
OwotICAgIGlmICghcGFnZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBwYWdl
LT5jaHJvbWUoKS5jYW5SdW5Nb2RhbCgpOworICAgIG1fY2FuU2hvd01vZGFsRGlhbG9nT3ZlcnJp
ZGUgPSBhbGxvdzsKIH0KIAogRE9NV2luZG93OjpET01XaW5kb3coRG9jdW1lbnQqIGRvY3VtZW50
KQpAQCAtMjI0MCw3ICsyMjQyLDcgQEAgdm9pZCBET01XaW5kb3c6OnNob3dNb2RhbERpYWxvZyhj
b25zdCBTdHJpbmcmIHVybFN0cmluZywgY29uc3QgU3RyaW5nJiBkaWFsb2dGZWEKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIGlmICghY2FuU2hvd01vZGFsRGlhbG9nTm93KG1fZnJhbWUp
IHx8ICFmaXJzdFdpbmRvdy5hbGxvd1BvcFVwKCkpCisgICAgaWYgKCFjYW5TaG93TW9kYWxEaWFs
b2cobV9mcmFtZSkgfHwgIWZpcnN0V2luZG93LmFsbG93UG9wVXAoKSkKICAgICAgICAgcmV0dXJu
OwogCiAgICAgUmVmUHRyPEZyYW1lPiBkaWFsb2dGcmFtZSA9IGNyZWF0ZVdpbmRvdyh1cmxTdHJp
bmcsIGVtcHR5QXRvbSwgcGFyc2VEaWFsb2dGZWF0dXJlcyhkaWFsb2dGZWF0dXJlc1N0cmluZywg
c2NyZWVuQXZhaWxhYmxlUmVjdChtX2ZyYW1lLT52aWV3KCkpKSwgYWN0aXZlV2luZG93LCAqZmly
c3RGcmFtZSwgKm1fZnJhbWUsIFdURk1vdmUocHJlcGFyZURpYWxvZ0Z1bmN0aW9uKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuaAppbmRleCAxOTQ3NGZiZWMyN2JlNGFhMmE5YWNkOTFmYTNkY2FhZGJh
Y2JjNGQzLi4yNjc0YTBjYWI4YmE2M2M3YWMzZmY3NzUwYzA3MWE5YWRlNjIwMmIzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJTdXBwbGVtZW50
YWJsZS5oIgogI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiAjaW5jbHVkZSA8bWVtb3J5PgorI2luY2x1
ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFj
ZSBJbnNwZWN0b3IgewpAQCAtMTM1LDcgKzEzNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgYm9vbCBhbGxvd1BvcFVwKCk7IC8vIENhbGwgb24gZmlyc3Qgd2luZG93LCBub3QgdGFy
Z2V0IHdpbmRvdy4KICAgICAgICAgc3RhdGljIGJvb2wgYWxsb3dQb3BVcChGcmFtZSogZmlyc3RG
cmFtZSk7CiAgICAgICAgIHN0YXRpYyBib29sIGNhblNob3dNb2RhbERpYWxvZyhjb25zdCBGcmFt
ZSopOwotICAgICAgICBzdGF0aWMgYm9vbCBjYW5TaG93TW9kYWxEaWFsb2dOb3coY29uc3QgRnJh
bWUqKTsKKyAgICAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRDYW5TaG93TW9kYWxEaWFsb2dP
dmVycmlkZShib29sKTsKIAogICAgICAgICAvLyBET00gTGV2ZWwgMAogCkBAIC0zNzAsNiArMzcx
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIGJvb2wgbV9zaG91bGRQcmludFdo
ZW5GaW5pc2hlZExvYWRpbmc7CiAgICAgICAgIGJvb2wgbV9zdXNwZW5kZWRGb3JEb2N1bWVudFN1
c3BlbnNpb247CisgICAgICAgIE9wdGlvbmFsPGJvb2w+IG1fY2FuU2hvd01vZGFsRGlhbG9nT3Zl
cnJpZGU7CiAKICAgICAgICAgSGFzaFNldDxET01XaW5kb3dQcm9wZXJ0eSo+IG1fcHJvcGVydGll
czsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGVjNDAyNmE1ZjNkMDky
MzRmNTljOThmMGY0M2ExNzQwYWU0ZGIwNDUuLmRjODQ2MGFlZjFjNTRiZTg1NmZhYjg4NTg4OTcx
ZjMzN2JmMTE4ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTU3OSw2
ICs1NzksMTYgQEAgdm9pZCBJbnRlcm5hbHM6OnNldE92ZXJyaWRlQ2FjaGVQb2xpY3koY29uc3Qg
U3RyaW5nJiBwb2xpY3kpCiAgICAgZnJhbWUoKS0+bG9hZGVyKCkuc2V0T3ZlcnJpZGVDYWNoZVBv
bGljeUZvclRlc3Rpbmcoc3RyaW5nVG9SZXNvdXJjZVJlcXVlc3RDYWNoZVBvbGljeShwb2xpY3kp
KTsKIH0KIAordm9pZCBJbnRlcm5hbHM6OnNldENhblNob3dNb2RhbERpYWxvZ092ZXJyaWRlKGJv
b2wgYWxsb3csIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghY29udGV4dERvY3VtZW50
KCkgfHwgIWNvbnRleHREb2N1bWVudCgpLT5kb21XaW5kb3coKSkgeworICAgICAgICBlYyA9IElO
VkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGNvbnRleHRE
b2N1bWVudCgpLT5kb21XaW5kb3coKS0+c2V0Q2FuU2hvd01vZGFsRGlhbG9nT3ZlcnJpZGUoYWxs
b3cpOworfQorCiBzdGF0aWMgUmVzb3VyY2VMb2FkUHJpb3JpdHkgc3RyaW5nVG9SZXNvdXJjZUxv
YWRQcmlvcml0eShjb25zdCBTdHJpbmcmIHBvbGljeSkKIHsKICAgICBpZiAocG9saWN5ID09ICJS
ZXNvdXJjZUxvYWRQcmlvcml0eVZlcnlMb3ciKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
aW5kZXggNTE1OWQzOGQwNjEyMjI0MTExZmY3OTJhNGYyZmI4NzIyOGMxNGUyYS4uOTU0NzhiMzJh
MWY0NDFjNTIyMDYyMjc0YjE3NGY5NjM5NmFlMDcxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5oCkBAIC05OCw2ICs5OCw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzU2hhcmluZ1N0eWxl
U2hlZXRDb250ZW50cyhFbGVtZW50KiBsaW5rQSwgRWxlbWVudCogbGlua0IpOwogICAgIGJvb2wg
aXNTdHlsZVNoZWV0TG9hZGluZ1N1YnJlc291cmNlcyhFbGVtZW50KiBsaW5rKTsKICAgICB2b2lk
IHNldE92ZXJyaWRlQ2FjaGVQb2xpY3koY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRDYW5T
aG93TW9kYWxEaWFsb2dPdmVycmlkZShib29sIGFsbG93LCBFeGNlcHRpb25Db2RlJik7CiAgICAg
dm9pZCBzZXRPdmVycmlkZVJlc291cmNlTG9hZFByaW9yaXR5KGNvbnN0IFN0cmluZyYpOwogICAg
IHZvaWQgc2V0U3RyaWN0UmF3UmVzb3VyY2VWYWxpZGF0aW9uUG9saWN5RGlzYWJsZWQoYm9vbCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCBkYzE1MzAyMjFhYTMwMmFl
ZTU3YTEyYmVmMzk0MGZlODZhNDhlMDA2Li4yNTQ0NTIxNWYwZjZjYWYyZWZiMjcxODY4OTk3YjJj
MmRmNmJiYmZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC00MzYsNCAr
NDM2LDYgQEAgZW51bSBBdXRvRmlsbEJ1dHRvblR5cGUgewogCiAgICAgRE9NU3RyaW5nIHJlc291
cmNlTG9hZFN0YXRpc3RpY3NGb3JPcmlnaW4oRE9NU3RyaW5nIGRvbWFpbik7CiAgICAgdm9pZCBz
ZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChib29sZWFuIGVuYWJsZSk7CisKKyAgICBb
UmFpc2VzRXhjZXB0aW9uXSB2b2lkIHNldENhblNob3dNb2RhbERpYWxvZ092ZXJyaWRlKGJvb2xl
YW4gYWxsb3cpOwogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxMmI1ZjY4MzM4MWEyOTA2NGM5NjJlNDg1ZmM5ZDUxMmM3
MzhlN2M5Li5mOWJlZTRlYjEyNzQ2OWVkNWNjMmE2ODg4ZWIxNmM4MzU0YTQ5OGE4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTYtMDItMTYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KKworICAgICAgICBSZWdyZXNzaW9uKHIxOTY2NDgpOiB3aW5kb3cuc2hvd01vZGFsRGlhbG9n
IGlzIG5vIGxvbmdlciB1bmRlZmluZWQgaWYgdGhlIGNsaWVudCBkb2VzIG5vdCBhbGxvdyBzaG93
aW5nIG1vZGFsIGRpYWxvZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTU0MzMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIGxheW91dCB0ZXN0IHRvIG1ha2Ugc3VyZSB0aGF0IHdpbmRvdy5zaG93TW9k
YWxEaWFsb2cgaXMgdW5kZWZpbmVkCisgICAgICAgIHdoZW4gdGhlIGNsaWVudCBkb2VzIG5vdCBh
bGxvdyBzaG93aW5nIG1vZGFsIGRpYWxvZyBhbmQgdG8gY2hlY2sgdGhhdAorICAgICAgICB3aW5k
b3cuc2hvd01vZGFsRGlhbG9nIGNhbiBiZSBzaGFkb3dlZC4KKworICAgICAgICAqIGZhc3QvZG9t
L1dpbmRvdy9mb3JiaWQtc2hvd01vZGFsRGlhbG9nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9kb20vV2luZG93L2ZvcmJpZC1zaG93TW9kYWxEaWFsb2cuaHRtbDogQWRkZWQu
CisKIDIwMTYtMDItMTYgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29t
PgogCiAgICAgICAgIEpTRE9NV2luZG93OjpnZXRPd25Qcm9wZXJ0eVNsb3Qgc2hvdWxkIG5vdCBz
ZWFyY2ggcGhvdG8gY2hhaW4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRv
dy9mb3JiaWQtc2hvd01vZGFsRGlhbG9nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy9mb3JiaWQtc2hvd01vZGFsRGlhbG9nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43M2RjYTFkMTY1MzY2NTllOTI1ZTg0OGUxNmMzZTNlYWE3MWNiOWEwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2ZvcmJpZC1zaG93TW9kYWxEaWFsb2ct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAKK1Rlc3RzIHRoYXQgV2luZG93LnNob3dNb2Rh
bERpYWxvZyBpcyB1bmRlZmluZWQgaWYgdGhlIGNsaWVudCBkb2VzIG5vdCBhbGxvdyBzaG93aW5n
IG1vZGFsIGRpYWxvZ3MuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitpbnRlcm5h
bHMuc2V0Q2FuU2hvd01vZGFsRGlhbG9nT3ZlcnJpZGUoZmFsc2UpCitQQVNTIHdpbmRvdy5zaG93
TW9kYWxEaWFsb2cgaXMgdW5kZWZpbmVkCitQQVNTIHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgnc2hv
d01vZGFsRGlhbG9nJykgaXMgZmFsc2UKK2ludGVybmFscy5zZXRDYW5TaG93TW9kYWxEaWFsb2dP
dmVycmlkZSh0cnVlKQorUEFTUyB3aW5kb3cuc2hvd01vZGFsRGlhbG9nIGlzIG5vdCB1bmRlZmlu
ZWQKK1BBU1Mgd2luZG93Lmhhc093blByb3BlcnR5KCdzaG93TW9kYWxEaWFsb2cnKSBpcyB0cnVl
CitQQVNTIHdpbmRvdy5zaG93TW9kYWxEaWFsb2cgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24K
K3dpbmRvdy5zaG93TW9kYWxEaWFsb2cgPSAxCitQQVNTIHdpbmRvdy5zaG93TW9kYWxEaWFsb2cg
aXMgMQorZGVsZXRlIHdpbmRvdy5zaG93TW9kYWxEaWFsb2cKK1BBU1Mgd2luZG93LnNob3dNb2Rh
bERpYWxvZyBpcyB1bmRlZmluZWQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cv
Zm9yYmlkLXNob3dNb2RhbERpYWxvZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93
L2ZvcmJpZC1zaG93TW9kYWxEaWFsb2cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MzlhYmYwMWU0ZDU0Zjhl
ZjQ3ZTJjNDBhMTc4ZmFmYmFjM2VmMTFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vV2luZG93L2ZvcmJpZC1zaG93TW9kYWxEaWFsb2cuaHRtbApAQCAtMCwwICsxLDIw
IEBACis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBXaW5kb3cuc2hvd01vZGFs
RGlhbG9nIGlzIHVuZGVmaW5lZCBpZiB0aGUgY2xpZW50IGRvZXMgbm90IGFsbG93IHNob3dpbmcg
bW9kYWwgZGlhbG9ncy4iKTsKKworZXZhbEFuZExvZygiaW50ZXJuYWxzLnNldENhblNob3dNb2Rh
bERpYWxvZ092ZXJyaWRlKGZhbHNlKSIpOworc2hvdWxkQmUoIndpbmRvdy5zaG93TW9kYWxEaWFs
b2ciLCAidW5kZWZpbmVkIik7CitzaG91bGRCZUZhbHNlKCJ3aW5kb3cuaGFzT3duUHJvcGVydHko
J3Nob3dNb2RhbERpYWxvZycpIik7CitldmFsQW5kTG9nKCJpbnRlcm5hbHMuc2V0Q2FuU2hvd01v
ZGFsRGlhbG9nT3ZlcnJpZGUodHJ1ZSkiKTsKK3Nob3VsZE5vdEJlKCJ3aW5kb3cuc2hvd01vZGFs
RGlhbG9nIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmVUcnVlKCJ3aW5kb3cuaGFzT3duUHJvcGVy
dHkoJ3Nob3dNb2RhbERpYWxvZycpIik7CisKKy8vIE1ha2Ugc3VyZSBpdCBjYW4gYmUgc2hhZG93
ZWQuCitzaG91bGRCZVR5cGUoIndpbmRvdy5zaG93TW9kYWxEaWFsb2ciLCAiRnVuY3Rpb24iKTsK
K2V2YWxBbmRMb2coIndpbmRvdy5zaG93TW9kYWxEaWFsb2cgPSAxIik7CitzaG91bGRCZSgid2lu
ZG93LnNob3dNb2RhbERpYWxvZyIgLCAiMSIpOworZXZhbEFuZExvZygiZGVsZXRlIHdpbmRvdy5z
aG93TW9kYWxEaWFsb2ciKTsKK3Nob3VsZEJlKCJ3aW5kb3cuc2hvd01vZGFsRGlhbG9nIiwgInVu
ZGVmaW5lZCIpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271558</attachid>
            <date>2016-02-17 08:57:01 -0800</date>
            <delta_ts>2016-02-17 08:58:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-154330-20160217085642.patch</filename>
            <type>text/plain</type>
            <size>13201</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2Njg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhhNGU2N2NlYTI3YzNh
NjI0YjU4MmNhYzcxYTljMDQwZTFkMmY5Ny4uNzY2MzRhODhkMjEwY2NhNTk3YmEwMjYwNzFjNzY4
MTAwZmFjYmRlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE2LTAyLTE2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihyMTk2NjQ4
KTogd2luZG93LnNob3dNb2RhbERpYWxvZyBpcyBubyBsb25nZXIgdW5kZWZpbmVkIGlmIHRoZSBj
bGllbnQgZG9lcyBub3QgYWxsb3cgc2hvd2luZyBtb2RhbCBkaWFsb2cKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDMzMAorCisgICAgICAgIFJldmll
d2VkIGJ5IEdhdmluIEJhcnJhY2xvdWdoLgorCisgICAgICAgIHdpbmRvdy5zaG93TW9kYWxEaWFs
b2cgaXMgbm8gbG9uZ2VyIHVuZGVmaW5lZCBpZiB0aGUgY2xpZW50IGRvZXMgbm90CisgICAgICAg
IGFsbG93IHNob3dpbmcgbW9kYWwgZGlhbG9nIGFmdGVyIHIxOTY2NDguIFRoaXMgcGF0Y2ggZml4
ZXMgdGhlIGlzc3VlCisgICAgICAgIGFuZCBhZGQgdGVzdCBjb3ZlcmFnZSBmb3IgdGhpcy4KKwor
ICAgICAgICBUZXN0OiBmYXN0L2RvbS9XaW5kb3cvZm9yYmlkLXNob3dNb2RhbERpYWxvZy5odG1s
CisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6Z2V0T3duUHJvcGVydHlTbG90KToKKyAgICAgICAgLSBN
b3ZlIHRoZSBET01XaW5kb3c6OmNhblNob3dNb2RhbERpYWxvZygpIGNoZWNrICpiZWZvcmUqIGNo
ZWNraW5nCisgICAgICAgICAgZm9yIHN0YXRpYyBwcm9wZXJ0aWVzIGFzIHNob3dNb2RhbERpYWxv
ZyBpcyBub3cgaW4gdGhlIHN0YXRpYworICAgICAgICAgIHByb3BlcnR5IHRhYmxlIGFmdGVyIHIx
OTY2NDguCisgICAgICAgIC0gQWRkIGNoZWNrIGZvciBCYXNlOjpnZXRPd25Qcm9wZXJ0eVNsb3Qo
KSBmaXJzdCB0byBzdXBwb3J0IG92ZXJyaWRpbmcKKyAgICAgICAgICB3aW5kb3cuc2hvd01vZGFs
RGlhbG9nIChUaGlzIGJlaGF2aW9yIG1hdGNoZXMgRmlyZWZveCkuCisgICAgICAgIC0gUmV0dXJu
IGZhbHNlIGlmIERPTVdpbmRvdzo6Y2FuU2hvd01vZGFsRGlhbG9nKCkgcmV0dXJucyBmYWxzZSBh
cyB0aGlzCisgICAgICAgICAgc2VlbXMgY2xlYW5lciB0aGFuIGNsYWltaW5nIHRoYXQgdGhlIHBy
b3BlcnR5IGlzIHRoZXJlIGJ1dCB1bmRlZmluZWQuCisKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRv
dy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmNhblNob3dNb2RhbERpYWxvZ05v
dyk6IERlbGV0ZWQuCisgICAgICAgIFRoaXMgd2FzIGluZGVudGljYWwgdG8gY2FuU2hvd01vZGFs
RGlhbG9nKCkuCisKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6Y2FuU2hvd01vZGFsRGlh
bG9nKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2V0Q2FuU2hvd01vZGFsRGlhbG9n
T3ZlcnJpZGUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzaG93TW9kYWxEaWFsb2cp
OgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRDYW5TaG93TW9kYWxEaWFs
b2dPdmVycmlkZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5pZGw6CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVycmlkaW5n
IHRoZSBDaHJvbWVDbGllbnQncyBjYW5TaG93TW9kYWxEaWFsb2cKKyAgICAgICAgZGVjaXNpb24g
YW5kIGhvb2sgaXQgdXAgdG8gSW50ZXJuYWxzIHRvIGFkZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZS4K
KwogMjAxNi0wMi0xNiAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+
CiAKICAgICAgICAgSlNET01XaW5kb3c6OmdldE93blByb3BlcnR5U2xvdCBzaG91bGQganVzdCBj
YWxsIGdldFN0YXRpY1Byb3BlcnR5U2xvdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IDg0NDczY2FjNDgxOTdkMWY2Y2E3ZGZjODA3
MzBjMzdhNTlkMTYxZWEuLmQ5Nzk2MDM2MDY0Y2I1Zjk0YTg2ZmI4YzNlMDJlYzA0MWU2MWQxZTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9t
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5j
cHAKQEAgLTI3NSwxNiArMjc1LDE4IEBAIGJvb2wgSlNET01XaW5kb3c6OmdldE93blByb3BlcnR5
U2xvdChKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5CiAgICAgICAg
ICAgICBzbG90LnNldEN1c3RvbSh0aGlzT2JqZWN0LCBSZWFkT25seSB8IERvbnREZWxldGUgfCBE
b250RW51bSwgbm9uQ2FjaGluZ1N0YXRpY0Z1bmN0aW9uR2V0dGVyPGpzRE9NV2luZG93SW5zdGFu
Y2VGdW5jdGlvblBvc3RNZXNzYWdlLCAyPik7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0K
KworICAgIGlmIChwcm9wZXJ0eU5hbWUgPT0gZXhlYy0+cHJvcGVydHlOYW1lcygpLnNob3dNb2Rh
bERpYWxvZykgeworICAgICAgICBpZiAoQmFzZTo6Z2V0T3duUHJvcGVydHlTbG90KHRoaXNPYmpl
Y3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICAgICAgaWYgKCFET01XaW5kb3c6OmNhblNob3dNb2RhbERpYWxvZyhmcmFtZSkpCisgICAg
ICAgICAgICByZXR1cm4ganNET01XaW5kb3dHZXRPd25Qcm9wZXJ0eVNsb3ROYW1lZEl0ZW1HZXR0
ZXIodGhpc09iamVjdCwgKmZyYW1lLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworICAgIH0K
KwogICAgIC8vICgyKSBSZWd1bGFyIG93biBwcm9wZXJ0aWVzLgogICAgIGlmIChnZXRTdGF0aWNQ
cm9wZXJ0eVNsb3Q8SlNET01XaW5kb3csIEJhc2U+KGV4ZWMsICpKU0RPTVdpbmRvdzo6aW5mbygp
LT5zdGF0aWNQcm9wSGFzaFRhYmxlLCB0aGlzT2JqZWN0LCBwcm9wZXJ0eU5hbWUsIHNsb3QpKQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAvLyBGSVhNRTogdGhpcyBsb29rcyBwcmV0dHkgYm9n
dXMuIEl0IHNlZW1zIGhpZ2hseSBsaWtlbHkgdGhhdCBpZiAhY2FuU2hvd01vZGFsRGlhbG9nIHRo
ZQotICAgIC8vIGZ1bnRpb24gc2hvdWxkIHN0aWxsIGJlIHByZXNlbnQsIG9yIHNob3VsZCBiZSBv
bWl0dGVkIGVudGlyZWx5IC0gcHJlc2VudCBidXQgcmVhZHMgYXMKLSAgICAvLyB1bmRlZmluZWQg
d2l0aCB1bnNwZWNpZmllZCBhdHRyaWJ1dGVzIGlzIGxpa2VseSB3cm9uZy4KLSAgICBpZiAocHJv
cGVydHlOYW1lID09IGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5zaG93TW9kYWxEaWFsb2cgJiYgIURP
TVdpbmRvdzo6Y2FuU2hvd01vZGFsRGlhbG9nKGZyYW1lKSkgewotICAgICAgICBzbG90LnNldFVu
ZGVmaW5lZCgpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9CisKICNpZiBFTkFCTEUoSU5E
RVhFRF9EQVRBQkFTRSkKICAgICAvLyBGSVhNRTogV2l0aCBnZW5lcmF0ZWQgSlMgYmluZGluZ3Mg
YnVpbHQgb24gc3RhdGljIHByb3BlcnR5IHRhYmxlcyB0aGVyZSBpcyBubyB3YXkgdG8KICAgICAv
LyBjb21wbGV0ZWx5IHJlbW92ZSBhIGdlbmVyYXRlZCBwcm9wZXJ0eSBhdCBydW50aW1lLiBTbyB0
byBjb21wbGV0ZWx5IGRpc2FibGUgSW5kZXhlZERCCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAK
aW5kZXggYThiODUzYzcwNjVlNzg5ZGNlMjQzYTRhOGZlNzk1MGI1NTlkY2I5OS4uZDkxNDIwYzU4
YTZiY2I0YTY3NTUyMzJkNzkwY2VkMTY1NTM4MWRmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmNwcApAQCAtMzczLDIwICszNzMsMjIgQEAgYm9vbCBET01XaW5kb3c6OmNhblNob3dNb2RhbERp
YWxvZyhjb25zdCBGcmFtZSogZnJhbWUpCiB7CiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIFBhZ2UqIHBhZ2UgPSBmcmFtZS0+cGFnZSgpOwotICAgIGlmICghcGFn
ZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBwYWdlLT5jaHJvbWUoKS5jYW5S
dW5Nb2RhbCgpOworCisgICAgLy8gT3ZlcnJpZGUgc3VwcG9ydCBmb3IgbGF5b3V0IHRlc3Rpbmcg
cHVycG9zZXMuCisgICAgaWYgKGF1dG8qIGRvY3VtZW50ID0gZnJhbWUtPmRvY3VtZW50KCkpIHsK
KyAgICAgICAgaWYgKGF1dG8qIHdpbmRvdyA9IGRvY3VtZW50LT5kb21XaW5kb3coKSkgeworICAg
ICAgICAgICAgaWYgKHdpbmRvdy0+bV9jYW5TaG93TW9kYWxEaWFsb2dPdmVycmlkZSkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gd2luZG93LT5tX2NhblNob3dNb2RhbERpYWxvZ092ZXJyaWRlLnZh
bHVlKCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBhdXRvKiBwYWdlID0gZnJhbWUtPnBhZ2Uo
KTsKKyAgICByZXR1cm4gcGFnZSA/IHBhZ2UtPmNocm9tZSgpLmNhblJ1bk1vZGFsKCkgOiBmYWxz
ZTsKIH0KIAotYm9vbCBET01XaW5kb3c6OmNhblNob3dNb2RhbERpYWxvZ05vdyhjb25zdCBGcmFt
ZSogZnJhbWUpCit2b2lkIERPTVdpbmRvdzo6c2V0Q2FuU2hvd01vZGFsRGlhbG9nT3ZlcnJpZGUo
Ym9vbCBhbGxvdykKIHsKLSAgICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgUGFnZSogcGFnZSA9IGZyYW1lLT5wYWdlKCk7Ci0gICAgaWYgKCFwYWdlKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIHBhZ2UtPmNocm9tZSgpLmNhblJ1bk1vZGFsKCk7Cisg
ICAgbV9jYW5TaG93TW9kYWxEaWFsb2dPdmVycmlkZSA9IGFsbG93OwogfQogCiBET01XaW5kb3c6
OkRPTVdpbmRvdyhEb2N1bWVudCogZG9jdW1lbnQpCkBAIC0yMjQwLDcgKzIyNDIsNyBAQCB2b2lk
IERPTVdpbmRvdzo6c2hvd01vZGFsRGlhbG9nKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25z
dCBTdHJpbmcmIGRpYWxvZ0ZlYQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKCFj
YW5TaG93TW9kYWxEaWFsb2dOb3cobV9mcmFtZSkgfHwgIWZpcnN0V2luZG93LmFsbG93UG9wVXAo
KSkKKyAgICBpZiAoIWNhblNob3dNb2RhbERpYWxvZyhtX2ZyYW1lKSB8fCAhZmlyc3RXaW5kb3cu
YWxsb3dQb3BVcCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBSZWZQdHI8RnJhbWU+IGRpYWxv
Z0ZyYW1lID0gY3JlYXRlV2luZG93KHVybFN0cmluZywgZW1wdHlBdG9tLCBwYXJzZURpYWxvZ0Zl
YXR1cmVzKGRpYWxvZ0ZlYXR1cmVzU3RyaW5nLCBzY3JlZW5BdmFpbGFibGVSZWN0KG1fZnJhbWUt
PnZpZXcoKSkpLCBhY3RpdmVXaW5kb3csICpmaXJzdEZyYW1lLCAqbV9mcmFtZSwgV1RGTW92ZShw
cmVwYXJlRGlhbG9nRnVuY3Rpb24pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IDE5NDc0
ZmJlYzI3YmU0YWEyYTlhY2Q5MWZhM2RjYWFkYmFjYmM0ZDMuLjI2NzRhMGNhYjhiYTYzYzdhYzNm
Zjc3NTBjMDcxYTlhZGU2MjAyYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaApAQCAtMzQsNiAr
MzQsNyBAQAogI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCiAjaW5jbHVkZSA8ZnVuY3Rpb25h
bD4KICNpbmNsdWRlIDxtZW1vcnk+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVk
ZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC0xMzUsNyArMTM2
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGFsbG93UG9wVXAoKTsgLy8g
Q2FsbCBvbiBmaXJzdCB3aW5kb3csIG5vdCB0YXJnZXQgd2luZG93LgogICAgICAgICBzdGF0aWMg
Ym9vbCBhbGxvd1BvcFVwKEZyYW1lKiBmaXJzdEZyYW1lKTsKICAgICAgICAgc3RhdGljIGJvb2wg
Y2FuU2hvd01vZGFsRGlhbG9nKGNvbnN0IEZyYW1lKik7Ci0gICAgICAgIHN0YXRpYyBib29sIGNh
blNob3dNb2RhbERpYWxvZ05vdyhjb25zdCBGcmFtZSopOworICAgICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHNldENhblNob3dNb2RhbERpYWxvZ092ZXJyaWRlKGJvb2wpOwogCiAgICAgICAgIC8v
IERPTSBMZXZlbCAwCiAKQEAgLTM3MCw2ICszNzEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICAgICAgYm9vbCBtX3Nob3VsZFByaW50V2hlbkZpbmlzaGVkTG9hZGluZzsKICAgICAgICAg
Ym9vbCBtX3N1c3BlbmRlZEZvckRvY3VtZW50U3VzcGVuc2lvbjsKKyAgICAgICAgT3B0aW9uYWw8
Ym9vbD4gbV9jYW5TaG93TW9kYWxEaWFsb2dPdmVycmlkZTsKIAogICAgICAgICBIYXNoU2V0PERP
TVdpbmRvd1Byb3BlcnR5Kj4gbV9wcm9wZXJ0aWVzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKaW5kZXggZWM0MDI2YTVmM2QwOTIzNGY1OWM5OGYwZjQzYTE3NDBhZTRkYjA0NS4u
ZGM4NDYwYWVmMWM1NGJlODU2ZmFiODg1ODg5NzFmMzM3YmYxMThkZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNTc5LDYgKzU3OSwxNiBAQCB2b2lkIEludGVybmFsczo6
c2V0T3ZlcnJpZGVDYWNoZVBvbGljeShjb25zdCBTdHJpbmcmIHBvbGljeSkKICAgICBmcmFtZSgp
LT5sb2FkZXIoKS5zZXRPdmVycmlkZUNhY2hlUG9saWN5Rm9yVGVzdGluZyhzdHJpbmdUb1Jlc291
cmNlUmVxdWVzdENhY2hlUG9saWN5KHBvbGljeSkpOwogfQogCit2b2lkIEludGVybmFsczo6c2V0
Q2FuU2hvd01vZGFsRGlhbG9nT3ZlcnJpZGUoYm9vbCBhbGxvdywgRXhjZXB0aW9uQ29kZSYgZWMp
Cit7CisgICAgaWYgKCFjb250ZXh0RG9jdW1lbnQoKSB8fCAhY29udGV4dERvY3VtZW50KCktPmRv
bVdpbmRvdygpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgY29udGV4dERvY3VtZW50KCktPmRvbVdpbmRvdygpLT5zZXRD
YW5TaG93TW9kYWxEaWFsb2dPdmVycmlkZShhbGxvdyk7Cit9CisKIHN0YXRpYyBSZXNvdXJjZUxv
YWRQcmlvcml0eSBzdHJpbmdUb1Jlc291cmNlTG9hZFByaW9yaXR5KGNvbnN0IFN0cmluZyYgcG9s
aWN5KQogewogICAgIGlmIChwb2xpY3kgPT0gIlJlc291cmNlTG9hZFByaW9yaXR5VmVyeUxvdyIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA1MTU5ZDM4ZDA2MTIyMjQxMTFmZjc5
MmE0ZjJmYjg3MjI4YzE0ZTJhLi45NTQ3OGIzMmExZjQ0MWM1MjIwNjIyNzRiMTc0Zjk2Mzk2YWUw
NzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTk4LDYgKzk4LDcgQEAgcHVi
bGljOgogICAgIGJvb2wgaXNTaGFyaW5nU3R5bGVTaGVldENvbnRlbnRzKEVsZW1lbnQqIGxpbmtB
LCBFbGVtZW50KiBsaW5rQik7CiAgICAgYm9vbCBpc1N0eWxlU2hlZXRMb2FkaW5nU3VicmVzb3Vy
Y2VzKEVsZW1lbnQqIGxpbmspOwogICAgIHZvaWQgc2V0T3ZlcnJpZGVDYWNoZVBvbGljeShjb25z
dCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldENhblNob3dNb2RhbERpYWxvZ092ZXJyaWRlKGJvb2wg
YWxsb3csIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHNldE92ZXJyaWRlUmVzb3VyY2VMb2Fk
UHJpb3JpdHkoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBzZXRTdHJpY3RSYXdSZXNvdXJjZVZh
bGlkYXRpb25Qb2xpY3lEaXNhYmxlZChib29sKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsCmluZGV4IGRjMTUzMDIyMWFhMzAyYWVlNTdhMTJiZWYzOTQwZmU4NmE0OGUwMDYuLjI1
NDQ1MjE1ZjBmNmNhZjJlZmIyNzE4Njg5OTdiMmMyZGY2YmJiZmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwKQEAgLTQzNiw0ICs0MzYsNiBAQCBlbnVtIEF1dG9GaWxsQnV0dG9u
VHlwZSB7CiAKICAgICBET01TdHJpbmcgcmVzb3VyY2VMb2FkU3RhdGlzdGljc0Zvck9yaWdpbihE
T01TdHJpbmcgZG9tYWluKTsKICAgICB2b2lkIHNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFi
bGVkKGJvb2xlYW4gZW5hYmxlKTsKKworICAgIFtSYWlzZXNFeGNlcHRpb25dIHZvaWQgc2V0Q2Fu
U2hvd01vZGFsRGlhbG9nT3ZlcnJpZGUoYm9vbGVhbiBhbGxvdyk7CiB9OwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDEyYjVm
NjgzMzgxYTI5MDY0Yzk2MmU0ODVmYzlkNTEyYzczOGU3YzkuLjU2YmQyN2E1ZmY4NjRhOWZmNDVi
YmNmOGYwOTIxYjBjNDE0NzMwZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNi0wMi0xNiAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFJlZ3Jlc3Npb24ocjE5
NjY0OCk6IHdpbmRvdy5zaG93TW9kYWxEaWFsb2cgaXMgbm8gbG9uZ2VyIHVuZGVmaW5lZCBpZiB0
aGUgY2xpZW50IGRvZXMgbm90IGFsbG93IHNob3dpbmcgbW9kYWwgZGlhbG9nCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQzMzAKKworICAgICAgICBS
ZXZpZXdlZCBieSBHYXZpbiBCYXJyYWNsb3VnaC4KKworICAgICAgICBBZGQgbGF5b3V0IHRlc3Qg
dG8gbWFrZSBzdXJlIHRoYXQgd2luZG93LnNob3dNb2RhbERpYWxvZyBpcyB1bmRlZmluZWQKKyAg
ICAgICAgd2hlbiB0aGUgY2xpZW50IGRvZXMgbm90IGFsbG93IHNob3dpbmcgbW9kYWwgZGlhbG9n
IGFuZCB0byBjaGVjayB0aGF0CisgICAgICAgIHdpbmRvdy5zaG93TW9kYWxEaWFsb2cgY2FuIGJl
IHNoYWRvd2VkLgorCisgICAgICAgICogZmFzdC9kb20vV2luZG93L2ZvcmJpZC1zaG93TW9kYWxE
aWFsb2ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvZm9y
YmlkLXNob3dNb2RhbERpYWxvZy5odG1sOiBBZGRlZC4KKwogMjAxNi0wMi0xNiAgR2F2aW4gQmFy
cmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgSlNET01XaW5kb3c6
OmdldE93blByb3BlcnR5U2xvdCBzaG91bGQgbm90IHNlYXJjaCBwaG90byBjaGFpbgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2ZvcmJpZC1zaG93TW9kYWxEaWFsb2ct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2ZvcmJpZC1zaG93TW9k
YWxEaWFsb2ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkMTQ1NjVlY2M4MDUxNTJlOTZjNGFi
ZmFiYTdjMjlmOTI4YWI2YjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9XaW5kb3cvZm9yYmlkLXNob3dNb2RhbERpYWxvZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
MSBAQAorVGVzdHMgdGhhdCBXaW5kb3cuc2hvd01vZGFsRGlhbG9nIGlzIHVuZGVmaW5lZCBpZiB0
aGUgY2xpZW50IGRvZXMgbm90IGFsbG93IHNob3dpbmcgbW9kYWwgZGlhbG9ncy4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK01ha2Ugc3VyZSB3aW5kb3cuc2hvd01vZGFsRGlhbG9n
IGlzIHVuZGVmaW5lZCB3aGVuIG1vZGFsIGRpYWxvZ3MgYXJlIG5vdCBhbGxvd2VkLgoraW50ZXJu
YWxzLnNldENhblNob3dNb2RhbERpYWxvZ092ZXJyaWRlKGZhbHNlKQorUEFTUyB3aW5kb3cuc2hv
d01vZGFsRGlhbG9nIGlzIHVuZGVmaW5lZAorUEFTUyB3aW5kb3cuaGFzT3duUHJvcGVydHkoJ3No
b3dNb2RhbERpYWxvZycpIGlzIGZhbHNlCisKK1Rlc3RzIGhhdmluZyBhIG5hbWVkIHByb3BlcnR5
IHdpdGggbmFtZSAnc2hvd01vZGFsRGlhbG9nJy4KK2RvY3VtZW50LmJvZHkuYXBwZW5kKHRlc3RG
cmFtZSkKK1BBU1Mgd2luZG93LnNob3dNb2RhbERpYWxvZyBpcyB0ZXN0RnJhbWUuY29udGVudFdp
bmRvdwordGVzdEZyYW1lLnJlbW92ZSgpCitQQVNTIHdpbmRvdy5zaG93TW9kYWxEaWFsb2cgaXMg
dW5kZWZpbmVkCisKK1Rlc3RzIHRoYXQgd2luZG93LnNob3dNb2RhbERpYWxvZyBpcyBubyBsb25n
ZXIgdW5kZWZpbmVkIHdoZW4gbW9kYWwgZGlhbG9ncyBiZWNvbWUgYWxsb3dlZC4KK2ludGVybmFs
cy5zZXRDYW5TaG93TW9kYWxEaWFsb2dPdmVycmlkZSh0cnVlKQorUEFTUyB3aW5kb3cuc2hvd01v
ZGFsRGlhbG9nIGlzIG5vdCB1bmRlZmluZWQKK1BBU1Mgd2luZG93Lmhhc093blByb3BlcnR5KCdz
aG93TW9kYWxEaWFsb2cnKSBpcyB0cnVlCitQQVNTIHdpbmRvdy5zaG93TW9kYWxEaWFsb2cgaXMg
YW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KKworTWFrZSBzdXJlIHdpbmRvdy5zaG93TW9kYWxEaWFs
b2cgY2FuIGJlIHNoYWRvd2VkLgord2luZG93LnNob3dNb2RhbERpYWxvZyA9IDEKK1BBU1Mgd2lu
ZG93LnNob3dNb2RhbERpYWxvZyBpcyAxCitkZWxldGUgd2luZG93LnNob3dNb2RhbERpYWxvZwor
UEFTUyB3aW5kb3cuc2hvd01vZGFsRGlhbG9nIGlzIHVuZGVmaW5lZAorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL1dpbmRvdy9mb3JiaWQtc2hvd01vZGFsRGlhbG9nLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9XaW5kb3cvZm9yYmlkLXNob3dNb2RhbERpYWxvZy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjA2Mzg3ZDY0Nzc1NjJiNWEwODk1MjQ0NzM3ZDM2YmFhYTkyMjViYjAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvZm9yYmlkLXNob3dNb2RhbERpYWxv
Zy5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IFdpbmRvdy5zaG93TW9kYWxEaWFs
b2cgaXMgdW5kZWZpbmVkIGlmIHRoZSBjbGllbnQgZG9lcyBub3QgYWxsb3cgc2hvd2luZyBtb2Rh
bCBkaWFsb2dzLiIpOworCitkZWJ1ZygiTWFrZSBzdXJlIHdpbmRvdy5zaG93TW9kYWxEaWFsb2cg
aXMgdW5kZWZpbmVkIHdoZW4gbW9kYWwgZGlhbG9ncyBhcmUgbm90IGFsbG93ZWQuIik7CitldmFs
QW5kTG9nKCJpbnRlcm5hbHMuc2V0Q2FuU2hvd01vZGFsRGlhbG9nT3ZlcnJpZGUoZmFsc2UpIik7
CitzaG91bGRCZSgid2luZG93LnNob3dNb2RhbERpYWxvZyIsICJ1bmRlZmluZWQiKTsKK3Nob3Vs
ZEJlRmFsc2UoIndpbmRvdy5oYXNPd25Qcm9wZXJ0eSgnc2hvd01vZGFsRGlhbG9nJykiKTsKKwor
CitkZWJ1ZygiIik7CitkZWJ1ZygiVGVzdHMgaGF2aW5nIGEgbmFtZWQgcHJvcGVydHkgd2l0aCBu
YW1lICdzaG93TW9kYWxEaWFsb2cnLiIpOwordmFyIHRlc3RGcmFtZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImlmcmFtZSIpOwordGVzdEZyYW1lLm5hbWUgPSAic2hvd01vZGFsRGlhbG9nIjsK
K2V2YWxBbmRMb2coImRvY3VtZW50LmJvZHkuYXBwZW5kKHRlc3RGcmFtZSkiKTsKK3Nob3VsZEJl
KCJ3aW5kb3cuc2hvd01vZGFsRGlhbG9nIiwgInRlc3RGcmFtZS5jb250ZW50V2luZG93Iik7Citl
dmFsQW5kTG9nKCJ0ZXN0RnJhbWUucmVtb3ZlKCkiKTsKK3Nob3VsZEJlKCJ3aW5kb3cuc2hvd01v
ZGFsRGlhbG9nIiwgInVuZGVmaW5lZCIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVzdHMgdGhh
dCB3aW5kb3cuc2hvd01vZGFsRGlhbG9nIGlzIG5vIGxvbmdlciB1bmRlZmluZWQgd2hlbiBtb2Rh
bCBkaWFsb2dzIGJlY29tZSBhbGxvd2VkLiIpOworZXZhbEFuZExvZygiaW50ZXJuYWxzLnNldENh
blNob3dNb2RhbERpYWxvZ092ZXJyaWRlKHRydWUpIik7CitzaG91bGROb3RCZSgid2luZG93LnNo
b3dNb2RhbERpYWxvZyIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlVHJ1ZSgid2luZG93Lmhhc093
blByb3BlcnR5KCdzaG93TW9kYWxEaWFsb2cnKSIpOworc2hvdWxkQmVUeXBlKCJ3aW5kb3cuc2hv
d01vZGFsRGlhbG9nIiwgIkZ1bmN0aW9uIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJNYWtlIHN1
cmUgd2luZG93LnNob3dNb2RhbERpYWxvZyBjYW4gYmUgc2hhZG93ZWQuIik7CitldmFsQW5kTG9n
KCJ3aW5kb3cuc2hvd01vZGFsRGlhbG9nID0gMSIpOworc2hvdWxkQmUoIndpbmRvdy5zaG93TW9k
YWxEaWFsb2ciICwgIjEiKTsKK2V2YWxBbmRMb2coImRlbGV0ZSB3aW5kb3cuc2hvd01vZGFsRGlh
bG9nIik7CitzaG91bGRCZSgid2luZG93LnNob3dNb2RhbERpYWxvZyIsICJ1bmRlZmluZWQiKTsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271559</attachid>
            <date>2016-02-17 08:58:06 -0800</date>
            <delta_ts>2016-02-17 11:31:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-154330-20160217085747.patch</filename>
            <type>text/plain</type>
            <size>13195</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2Njg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhhNGU2N2NlYTI3YzNh
NjI0YjU4MmNhYzcxYTljMDQwZTFkMmY5Ny4uMTI1OTM2MDZkNDM1ZjRhODlmNTJlZWIyZDc0ZGEy
NmJlNzg4NTMxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE2LTAyLTE2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihyMTk2NjQ4
KTogd2luZG93LnNob3dNb2RhbERpYWxvZyBpcyBubyBsb25nZXIgdW5kZWZpbmVkIGlmIHRoZSBj
bGllbnQgZG9lcyBub3QgYWxsb3cgc2hvd2luZyBtb2RhbCBkaWFsb2cKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDMzMAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHdpbmRvdy5zaG93TW9kYWxEaWFsb2cg
aXMgbm8gbG9uZ2VyIHVuZGVmaW5lZCBpZiB0aGUgY2xpZW50IGRvZXMgbm90CisgICAgICAgIGFs
bG93IHNob3dpbmcgbW9kYWwgZGlhbG9nIGFmdGVyIHIxOTY2NDguIFRoaXMgcGF0Y2ggZml4ZXMg
dGhlIGlzc3VlCisgICAgICAgIGFuZCBhZGQgdGVzdCBjb3ZlcmFnZSBmb3IgdGhpcy4KKworICAg
ICAgICBUZXN0OiBmYXN0L2RvbS9XaW5kb3cvZm9yYmlkLXNob3dNb2RhbERpYWxvZy5odG1sCisK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU0RPTVdpbmRvdzo6Z2V0T3duUHJvcGVydHlTbG90KToKKyAgICAgICAgLSBNb3Zl
IHRoZSBET01XaW5kb3c6OmNhblNob3dNb2RhbERpYWxvZygpIGNoZWNrICpiZWZvcmUqIGNoZWNr
aW5nCisgICAgICAgICAgZm9yIHN0YXRpYyBwcm9wZXJ0aWVzIGFzIHNob3dNb2RhbERpYWxvZyBp
cyBub3cgaW4gdGhlIHN0YXRpYworICAgICAgICAgIHByb3BlcnR5IHRhYmxlIGFmdGVyIHIxOTY2
NDguCisgICAgICAgIC0gQWRkIGNoZWNrIGZvciBCYXNlOjpnZXRPd25Qcm9wZXJ0eVNsb3QoKSBm
aXJzdCB0byBzdXBwb3J0IG92ZXJyaWRpbmcKKyAgICAgICAgICB3aW5kb3cuc2hvd01vZGFsRGlh
bG9nIChUaGlzIGJlaGF2aW9yIG1hdGNoZXMgRmlyZWZveCkuCisgICAgICAgIC0gUmV0dXJuIGZh
bHNlIGlmIERPTVdpbmRvdzo6Y2FuU2hvd01vZGFsRGlhbG9nKCkgcmV0dXJucyBmYWxzZSBhcyB0
aGlzCisgICAgICAgICAgc2VlbXMgY2xlYW5lciB0aGFuIGNsYWltaW5nIHRoYXQgdGhlIHByb3Bl
cnR5IGlzIHRoZXJlIGJ1dCB1bmRlZmluZWQuCisKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmNhblNob3dNb2RhbERpYWxvZ05vdyk6
IERlbGV0ZWQuCisgICAgICAgIFRoaXMgd2FzIGluZGVudGljYWwgdG8gY2FuU2hvd01vZGFsRGlh
bG9nKCkuCisKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6Y2FuU2hvd01vZGFsRGlhbG9n
KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2V0Q2FuU2hvd01vZGFsRGlhbG9nT3Zl
cnJpZGUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzaG93TW9kYWxEaWFsb2cpOgor
ICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRDYW5TaG93TW9kYWxEaWFsb2dP
dmVycmlkZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5pZGw6CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVycmlkaW5nIHRo
ZSBDaHJvbWVDbGllbnQncyBjYW5TaG93TW9kYWxEaWFsb2cKKyAgICAgICAgZGVjaXNpb24gYW5k
IGhvb2sgaXQgdXAgdG8gSW50ZXJuYWxzIHRvIGFkZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZS4KKwog
MjAxNi0wMi0xNiAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgSlNET01XaW5kb3c6OmdldE93blByb3BlcnR5U2xvdCBzaG91bGQganVzdCBjYWxs
IGdldFN0YXRpY1Byb3BlcnR5U2xvdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IDg0NDczY2FjNDgxOTdkMWY2Y2E3ZGZjODA3MzBj
MzdhNTlkMTYxZWEuLmQ5Nzk2MDM2MDY0Y2I1Zjk0YTg2ZmI4YzNlMDJlYzA0MWU2MWQxZTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAK
QEAgLTI3NSwxNiArMjc1LDE4IEBAIGJvb2wgSlNET01XaW5kb3c6OmdldE93blByb3BlcnR5U2xv
dChKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5CiAgICAgICAgICAg
ICBzbG90LnNldEN1c3RvbSh0aGlzT2JqZWN0LCBSZWFkT25seSB8IERvbnREZWxldGUgfCBEb250
RW51bSwgbm9uQ2FjaGluZ1N0YXRpY0Z1bmN0aW9uR2V0dGVyPGpzRE9NV2luZG93SW5zdGFuY2VG
dW5jdGlvblBvc3RNZXNzYWdlLCAyPik7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KKwor
ICAgIGlmIChwcm9wZXJ0eU5hbWUgPT0gZXhlYy0+cHJvcGVydHlOYW1lcygpLnNob3dNb2RhbERp
YWxvZykgeworICAgICAgICBpZiAoQmFzZTo6Z2V0T3duUHJvcGVydHlTbG90KHRoaXNPYmplY3Qs
IGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICAgICAgaWYgKCFET01XaW5kb3c6OmNhblNob3dNb2RhbERpYWxvZyhmcmFtZSkpCisgICAgICAg
ICAgICByZXR1cm4ganNET01XaW5kb3dHZXRPd25Qcm9wZXJ0eVNsb3ROYW1lZEl0ZW1HZXR0ZXIo
dGhpc09iamVjdCwgKmZyYW1lLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworICAgIH0KKwog
ICAgIC8vICgyKSBSZWd1bGFyIG93biBwcm9wZXJ0aWVzLgogICAgIGlmIChnZXRTdGF0aWNQcm9w
ZXJ0eVNsb3Q8SlNET01XaW5kb3csIEJhc2U+KGV4ZWMsICpKU0RPTVdpbmRvdzo6aW5mbygpLT5z
dGF0aWNQcm9wSGFzaFRhYmxlLCB0aGlzT2JqZWN0LCBwcm9wZXJ0eU5hbWUsIHNsb3QpKQogICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICAvLyBGSVhNRTogdGhpcyBsb29rcyBwcmV0dHkgYm9ndXMu
IEl0IHNlZW1zIGhpZ2hseSBsaWtlbHkgdGhhdCBpZiAhY2FuU2hvd01vZGFsRGlhbG9nIHRoZQot
ICAgIC8vIGZ1bnRpb24gc2hvdWxkIHN0aWxsIGJlIHByZXNlbnQsIG9yIHNob3VsZCBiZSBvbWl0
dGVkIGVudGlyZWx5IC0gcHJlc2VudCBidXQgcmVhZHMgYXMKLSAgICAvLyB1bmRlZmluZWQgd2l0
aCB1bnNwZWNpZmllZCBhdHRyaWJ1dGVzIGlzIGxpa2VseSB3cm9uZy4KLSAgICBpZiAocHJvcGVy
dHlOYW1lID09IGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5zaG93TW9kYWxEaWFsb2cgJiYgIURPTVdp
bmRvdzo6Y2FuU2hvd01vZGFsRGlhbG9nKGZyYW1lKSkgewotICAgICAgICBzbG90LnNldFVuZGVm
aW5lZCgpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9CisKICNpZiBFTkFCTEUoSU5ERVhF
RF9EQVRBQkFTRSkKICAgICAvLyBGSVhNRTogV2l0aCBnZW5lcmF0ZWQgSlMgYmluZGluZ3MgYnVp
bHQgb24gc3RhdGljIHByb3BlcnR5IHRhYmxlcyB0aGVyZSBpcyBubyB3YXkgdG8KICAgICAvLyBj
b21wbGV0ZWx5IHJlbW92ZSBhIGdlbmVyYXRlZCBwcm9wZXJ0eSBhdCBydW50aW1lLiBTbyB0byBj
b21wbGV0ZWx5IGRpc2FibGUgSW5kZXhlZERCCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5k
ZXggYThiODUzYzcwNjVlNzg5ZGNlMjQzYTRhOGZlNzk1MGI1NTlkY2I5OS4uZDkxNDIwYzU4YTZi
Y2I0YTY3NTUyMzJkNzkwY2VkMTY1NTM4MWRmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNw
cApAQCAtMzczLDIwICszNzMsMjIgQEAgYm9vbCBET01XaW5kb3c6OmNhblNob3dNb2RhbERpYWxv
Zyhjb25zdCBGcmFtZSogZnJhbWUpCiB7CiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIFBhZ2UqIHBhZ2UgPSBmcmFtZS0+cGFnZSgpOwotICAgIGlmICghcGFnZSkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBwYWdlLT5jaHJvbWUoKS5jYW5SdW5N
b2RhbCgpOworCisgICAgLy8gT3ZlcnJpZGUgc3VwcG9ydCBmb3IgbGF5b3V0IHRlc3RpbmcgcHVy
cG9zZXMuCisgICAgaWYgKGF1dG8qIGRvY3VtZW50ID0gZnJhbWUtPmRvY3VtZW50KCkpIHsKKyAg
ICAgICAgaWYgKGF1dG8qIHdpbmRvdyA9IGRvY3VtZW50LT5kb21XaW5kb3coKSkgeworICAgICAg
ICAgICAgaWYgKHdpbmRvdy0+bV9jYW5TaG93TW9kYWxEaWFsb2dPdmVycmlkZSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gd2luZG93LT5tX2NhblNob3dNb2RhbERpYWxvZ092ZXJyaWRlLnZhbHVl
KCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBhdXRvKiBwYWdlID0gZnJhbWUtPnBhZ2UoKTsK
KyAgICByZXR1cm4gcGFnZSA/IHBhZ2UtPmNocm9tZSgpLmNhblJ1bk1vZGFsKCkgOiBmYWxzZTsK
IH0KIAotYm9vbCBET01XaW5kb3c6OmNhblNob3dNb2RhbERpYWxvZ05vdyhjb25zdCBGcmFtZSog
ZnJhbWUpCit2b2lkIERPTVdpbmRvdzo6c2V0Q2FuU2hvd01vZGFsRGlhbG9nT3ZlcnJpZGUoYm9v
bCBhbGxvdykKIHsKLSAgICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
UGFnZSogcGFnZSA9IGZyYW1lLT5wYWdlKCk7Ci0gICAgaWYgKCFwYWdlKQotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgcmV0dXJuIHBhZ2UtPmNocm9tZSgpLmNhblJ1bk1vZGFsKCk7CisgICAg
bV9jYW5TaG93TW9kYWxEaWFsb2dPdmVycmlkZSA9IGFsbG93OwogfQogCiBET01XaW5kb3c6OkRP
TVdpbmRvdyhEb2N1bWVudCogZG9jdW1lbnQpCkBAIC0yMjQwLDcgKzIyNDIsNyBAQCB2b2lkIERP
TVdpbmRvdzo6c2hvd01vZGFsRGlhbG9nKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25zdCBT
dHJpbmcmIGRpYWxvZ0ZlYQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKCFjYW5T
aG93TW9kYWxEaWFsb2dOb3cobV9mcmFtZSkgfHwgIWZpcnN0V2luZG93LmFsbG93UG9wVXAoKSkK
KyAgICBpZiAoIWNhblNob3dNb2RhbERpYWxvZyhtX2ZyYW1lKSB8fCAhZmlyc3RXaW5kb3cuYWxs
b3dQb3BVcCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBSZWZQdHI8RnJhbWU+IGRpYWxvZ0Zy
YW1lID0gY3JlYXRlV2luZG93KHVybFN0cmluZywgZW1wdHlBdG9tLCBwYXJzZURpYWxvZ0ZlYXR1
cmVzKGRpYWxvZ0ZlYXR1cmVzU3RyaW5nLCBzY3JlZW5BdmFpbGFibGVSZWN0KG1fZnJhbWUtPnZp
ZXcoKSkpLCBhY3RpdmVXaW5kb3csICpmaXJzdEZyYW1lLCAqbV9mcmFtZSwgV1RGTW92ZShwcmVw
YXJlRGlhbG9nRnVuY3Rpb24pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IDE5NDc0ZmJl
YzI3YmU0YWEyYTlhY2Q5MWZhM2RjYWFkYmFjYmM0ZDMuLjI2NzRhMGNhYjhiYTYzYzdhYzNmZjc3
NTBjMDcxYTlhZGU2MjAyYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaApAQCAtMzQsNiArMzQs
NyBAQAogI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCiAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4K
ICNpbmNsdWRlIDxtZW1vcnk+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8
d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC0xMzUsNyArMTM2LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGFsbG93UG9wVXAoKTsgLy8gQ2Fs
bCBvbiBmaXJzdCB3aW5kb3csIG5vdCB0YXJnZXQgd2luZG93LgogICAgICAgICBzdGF0aWMgYm9v
bCBhbGxvd1BvcFVwKEZyYW1lKiBmaXJzdEZyYW1lKTsKICAgICAgICAgc3RhdGljIGJvb2wgY2Fu
U2hvd01vZGFsRGlhbG9nKGNvbnN0IEZyYW1lKik7Ci0gICAgICAgIHN0YXRpYyBib29sIGNhblNo
b3dNb2RhbERpYWxvZ05vdyhjb25zdCBGcmFtZSopOworICAgICAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHNldENhblNob3dNb2RhbERpYWxvZ092ZXJyaWRlKGJvb2wpOwogCiAgICAgICAgIC8vIERP
TSBMZXZlbCAwCiAKQEAgLTM3MCw2ICszNzEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICAgICAgYm9vbCBtX3Nob3VsZFByaW50V2hlbkZpbmlzaGVkTG9hZGluZzsKICAgICAgICAgYm9v
bCBtX3N1c3BlbmRlZEZvckRvY3VtZW50U3VzcGVuc2lvbjsKKyAgICAgICAgT3B0aW9uYWw8Ym9v
bD4gbV9jYW5TaG93TW9kYWxEaWFsb2dPdmVycmlkZTsKIAogICAgICAgICBIYXNoU2V0PERPTVdp
bmRvd1Byb3BlcnR5Kj4gbV9wcm9wZXJ0aWVzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAKaW5kZXggZWM0MDI2YTVmM2QwOTIzNGY1OWM5OGYwZjQzYTE3NDBhZTRkYjA0NS4uZGM4
NDYwYWVmMWM1NGJlODU2ZmFiODg1ODg5NzFmMzM3YmYxMThkZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcApAQCAtNTc5LDYgKzU3OSwxNiBAQCB2b2lkIEludGVybmFsczo6c2V0
T3ZlcnJpZGVDYWNoZVBvbGljeShjb25zdCBTdHJpbmcmIHBvbGljeSkKICAgICBmcmFtZSgpLT5s
b2FkZXIoKS5zZXRPdmVycmlkZUNhY2hlUG9saWN5Rm9yVGVzdGluZyhzdHJpbmdUb1Jlc291cmNl
UmVxdWVzdENhY2hlUG9saWN5KHBvbGljeSkpOwogfQogCit2b2lkIEludGVybmFsczo6c2V0Q2Fu
U2hvd01vZGFsRGlhbG9nT3ZlcnJpZGUoYm9vbCBhbGxvdywgRXhjZXB0aW9uQ29kZSYgZWMpCit7
CisgICAgaWYgKCFjb250ZXh0RG9jdW1lbnQoKSB8fCAhY29udGV4dERvY3VtZW50KCktPmRvbVdp
bmRvdygpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgY29udGV4dERvY3VtZW50KCktPmRvbVdpbmRvdygpLT5zZXRDYW5T
aG93TW9kYWxEaWFsb2dPdmVycmlkZShhbGxvdyk7Cit9CisKIHN0YXRpYyBSZXNvdXJjZUxvYWRQ
cmlvcml0eSBzdHJpbmdUb1Jlc291cmNlTG9hZFByaW9yaXR5KGNvbnN0IFN0cmluZyYgcG9saWN5
KQogewogICAgIGlmIChwb2xpY3kgPT0gIlJlc291cmNlTG9hZFByaW9yaXR5VmVyeUxvdyIpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA1MTU5ZDM4ZDA2MTIyMjQxMTFmZjc5MmE0
ZjJmYjg3MjI4YzE0ZTJhLi45NTQ3OGIzMmExZjQ0MWM1MjIwNjIyNzRiMTc0Zjk2Mzk2YWUwNzEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTk4LDYgKzk4LDcgQEAgcHVibGlj
OgogICAgIGJvb2wgaXNTaGFyaW5nU3R5bGVTaGVldENvbnRlbnRzKEVsZW1lbnQqIGxpbmtBLCBF
bGVtZW50KiBsaW5rQik7CiAgICAgYm9vbCBpc1N0eWxlU2hlZXRMb2FkaW5nU3VicmVzb3VyY2Vz
KEVsZW1lbnQqIGxpbmspOwogICAgIHZvaWQgc2V0T3ZlcnJpZGVDYWNoZVBvbGljeShjb25zdCBT
dHJpbmcmKTsKKyAgICB2b2lkIHNldENhblNob3dNb2RhbERpYWxvZ092ZXJyaWRlKGJvb2wgYWxs
b3csIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHNldE92ZXJyaWRlUmVzb3VyY2VMb2FkUHJp
b3JpdHkoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBzZXRTdHJpY3RSYXdSZXNvdXJjZVZhbGlk
YXRpb25Qb2xpY3lEaXNhYmxlZChib29sKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsCmluZGV4IGRjMTUzMDIyMWFhMzAyYWVlNTdhMTJiZWYzOTQwZmU4NmE0OGUwMDYuLjI1NDQ1
MjE1ZjBmNmNhZjJlZmIyNzE4Njg5OTdiMmMyZGY2YmJiZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKQEAgLTQzNiw0ICs0MzYsNiBAQCBlbnVtIEF1dG9GaWxsQnV0dG9uVHlw
ZSB7CiAKICAgICBET01TdHJpbmcgcmVzb3VyY2VMb2FkU3RhdGlzdGljc0Zvck9yaWdpbihET01T
dHJpbmcgZG9tYWluKTsKICAgICB2b2lkIHNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVk
KGJvb2xlYW4gZW5hYmxlKTsKKworICAgIFtSYWlzZXNFeGNlcHRpb25dIHZvaWQgc2V0Q2FuU2hv
d01vZGFsRGlhbG9nT3ZlcnJpZGUoYm9vbGVhbiBhbGxvdyk7CiB9OwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDEyYjVmNjgz
MzgxYTI5MDY0Yzk2MmU0ODVmYzlkNTEyYzczOGU3YzkuLmY5YmVlNGViMTI3NDY5ZWQ1Y2MyYTY4
ODhlYjE2YzgzNTRhNDk4YTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNi0wMi0xNiAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFJlZ3Jlc3Npb24ocjE5NjY0
OCk6IHdpbmRvdy5zaG93TW9kYWxEaWFsb2cgaXMgbm8gbG9uZ2VyIHVuZGVmaW5lZCBpZiB0aGUg
Y2xpZW50IGRvZXMgbm90IGFsbG93IHNob3dpbmcgbW9kYWwgZGlhbG9nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQzMzAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbGF5b3V0IHRlc3QgdG8gbWFr
ZSBzdXJlIHRoYXQgd2luZG93LnNob3dNb2RhbERpYWxvZyBpcyB1bmRlZmluZWQKKyAgICAgICAg
d2hlbiB0aGUgY2xpZW50IGRvZXMgbm90IGFsbG93IHNob3dpbmcgbW9kYWwgZGlhbG9nIGFuZCB0
byBjaGVjayB0aGF0CisgICAgICAgIHdpbmRvdy5zaG93TW9kYWxEaWFsb2cgY2FuIGJlIHNoYWRv
d2VkLgorCisgICAgICAgICogZmFzdC9kb20vV2luZG93L2ZvcmJpZC1zaG93TW9kYWxEaWFsb2ct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvZm9yYmlkLXNo
b3dNb2RhbERpYWxvZy5odG1sOiBBZGRlZC4KKwogMjAxNi0wMi0xNiAgR2F2aW4gQmFycmFjbG91
Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgSlNET01XaW5kb3c6OmdldE93
blByb3BlcnR5U2xvdCBzaG91bGQgbm90IHNlYXJjaCBwaG90byBjaGFpbgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2ZvcmJpZC1zaG93TW9kYWxEaWFsb2ctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2ZvcmJpZC1zaG93TW9kYWxEaWFs
b2ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkMTQ1NjVlY2M4MDUxNTJlOTZjNGFiZmFiYTdj
MjlmOTI4YWI2YjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5k
b3cvZm9yYmlkLXNob3dNb2RhbERpYWxvZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMSBAQAor
VGVzdHMgdGhhdCBXaW5kb3cuc2hvd01vZGFsRGlhbG9nIGlzIHVuZGVmaW5lZCBpZiB0aGUgY2xp
ZW50IGRvZXMgbm90IGFsbG93IHNob3dpbmcgbW9kYWwgZGlhbG9ncy4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK01ha2Ugc3VyZSB3aW5kb3cuc2hvd01vZGFsRGlhbG9nIGlzIHVu
ZGVmaW5lZCB3aGVuIG1vZGFsIGRpYWxvZ3MgYXJlIG5vdCBhbGxvd2VkLgoraW50ZXJuYWxzLnNl
dENhblNob3dNb2RhbERpYWxvZ092ZXJyaWRlKGZhbHNlKQorUEFTUyB3aW5kb3cuc2hvd01vZGFs
RGlhbG9nIGlzIHVuZGVmaW5lZAorUEFTUyB3aW5kb3cuaGFzT3duUHJvcGVydHkoJ3Nob3dNb2Rh
bERpYWxvZycpIGlzIGZhbHNlCisKK1Rlc3RzIGhhdmluZyBhIG5hbWVkIHByb3BlcnR5IHdpdGgg
bmFtZSAnc2hvd01vZGFsRGlhbG9nJy4KK2RvY3VtZW50LmJvZHkuYXBwZW5kKHRlc3RGcmFtZSkK
K1BBU1Mgd2luZG93LnNob3dNb2RhbERpYWxvZyBpcyB0ZXN0RnJhbWUuY29udGVudFdpbmRvdwor
dGVzdEZyYW1lLnJlbW92ZSgpCitQQVNTIHdpbmRvdy5zaG93TW9kYWxEaWFsb2cgaXMgdW5kZWZp
bmVkCisKK1Rlc3RzIHRoYXQgd2luZG93LnNob3dNb2RhbERpYWxvZyBpcyBubyBsb25nZXIgdW5k
ZWZpbmVkIHdoZW4gbW9kYWwgZGlhbG9ncyBiZWNvbWUgYWxsb3dlZC4KK2ludGVybmFscy5zZXRD
YW5TaG93TW9kYWxEaWFsb2dPdmVycmlkZSh0cnVlKQorUEFTUyB3aW5kb3cuc2hvd01vZGFsRGlh
bG9nIGlzIG5vdCB1bmRlZmluZWQKK1BBU1Mgd2luZG93Lmhhc093blByb3BlcnR5KCdzaG93TW9k
YWxEaWFsb2cnKSBpcyB0cnVlCitQQVNTIHdpbmRvdy5zaG93TW9kYWxEaWFsb2cgaXMgYW4gaW5z
dGFuY2Ugb2YgRnVuY3Rpb24KKworTWFrZSBzdXJlIHdpbmRvdy5zaG93TW9kYWxEaWFsb2cgY2Fu
IGJlIHNoYWRvd2VkLgord2luZG93LnNob3dNb2RhbERpYWxvZyA9IDEKK1BBU1Mgd2luZG93LnNo
b3dNb2RhbERpYWxvZyBpcyAxCitkZWxldGUgd2luZG93LnNob3dNb2RhbERpYWxvZworUEFTUyB3
aW5kb3cuc2hvd01vZGFsRGlhbG9nIGlzIHVuZGVmaW5lZAorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy9mb3JiaWQtc2hvd01vZGFsRGlhbG9nLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9XaW5kb3cvZm9yYmlkLXNob3dNb2RhbERpYWxvZy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA2
Mzg3ZDY0Nzc1NjJiNWEwODk1MjQ0NzM3ZDM2YmFhYTkyMjViYjAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvZm9yYmlkLXNob3dNb2RhbERpYWxvZy5odG1s
CkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IFdpbmRvdy5zaG93TW9kYWxEaWFsb2cgaXMg
dW5kZWZpbmVkIGlmIHRoZSBjbGllbnQgZG9lcyBub3QgYWxsb3cgc2hvd2luZyBtb2RhbCBkaWFs
b2dzLiIpOworCitkZWJ1ZygiTWFrZSBzdXJlIHdpbmRvdy5zaG93TW9kYWxEaWFsb2cgaXMgdW5k
ZWZpbmVkIHdoZW4gbW9kYWwgZGlhbG9ncyBhcmUgbm90IGFsbG93ZWQuIik7CitldmFsQW5kTG9n
KCJpbnRlcm5hbHMuc2V0Q2FuU2hvd01vZGFsRGlhbG9nT3ZlcnJpZGUoZmFsc2UpIik7CitzaG91
bGRCZSgid2luZG93LnNob3dNb2RhbERpYWxvZyIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlRmFs
c2UoIndpbmRvdy5oYXNPd25Qcm9wZXJ0eSgnc2hvd01vZGFsRGlhbG9nJykiKTsKKworCitkZWJ1
ZygiIik7CitkZWJ1ZygiVGVzdHMgaGF2aW5nIGEgbmFtZWQgcHJvcGVydHkgd2l0aCBuYW1lICdz
aG93TW9kYWxEaWFsb2cnLiIpOwordmFyIHRlc3RGcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImlmcmFtZSIpOwordGVzdEZyYW1lLm5hbWUgPSAic2hvd01vZGFsRGlhbG9nIjsKK2V2YWxB
bmRMb2coImRvY3VtZW50LmJvZHkuYXBwZW5kKHRlc3RGcmFtZSkiKTsKK3Nob3VsZEJlKCJ3aW5k
b3cuc2hvd01vZGFsRGlhbG9nIiwgInRlc3RGcmFtZS5jb250ZW50V2luZG93Iik7CitldmFsQW5k
TG9nKCJ0ZXN0RnJhbWUucmVtb3ZlKCkiKTsKK3Nob3VsZEJlKCJ3aW5kb3cuc2hvd01vZGFsRGlh
bG9nIiwgInVuZGVmaW5lZCIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVzdHMgdGhhdCB3aW5k
b3cuc2hvd01vZGFsRGlhbG9nIGlzIG5vIGxvbmdlciB1bmRlZmluZWQgd2hlbiBtb2RhbCBkaWFs
b2dzIGJlY29tZSBhbGxvd2VkLiIpOworZXZhbEFuZExvZygiaW50ZXJuYWxzLnNldENhblNob3dN
b2RhbERpYWxvZ092ZXJyaWRlKHRydWUpIik7CitzaG91bGROb3RCZSgid2luZG93LnNob3dNb2Rh
bERpYWxvZyIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlVHJ1ZSgid2luZG93Lmhhc093blByb3Bl
cnR5KCdzaG93TW9kYWxEaWFsb2cnKSIpOworc2hvdWxkQmVUeXBlKCJ3aW5kb3cuc2hvd01vZGFs
RGlhbG9nIiwgIkZ1bmN0aW9uIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJNYWtlIHN1cmUgd2lu
ZG93LnNob3dNb2RhbERpYWxvZyBjYW4gYmUgc2hhZG93ZWQuIik7CitldmFsQW5kTG9nKCJ3aW5k
b3cuc2hvd01vZGFsRGlhbG9nID0gMSIpOworc2hvdWxkQmUoIndpbmRvdy5zaG93TW9kYWxEaWFs
b2ciICwgIjEiKTsKK2V2YWxBbmRMb2coImRlbGV0ZSB3aW5kb3cuc2hvd01vZGFsRGlhbG9nIik7
CitzaG91bGRCZSgid2luZG93LnNob3dNb2RhbERpYWxvZyIsICJ1bmRlZmluZWQiKTsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>