<?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>161137</bug_id>
          
          <creation_ts>2016-08-24 06:52:45 -0700</creation_ts>
          <short_desc>[Fetch API] Ensure response cloning works when data is loading</short_desc>
          <delta_ts>2016-08-28 23:51:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>151937</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1222640</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-08-24 06:52:45 -0700</bug_when>
    <thetext>When data is loading, cloning is not working as FetchBody contains no data.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1222643</commentid>
    <comment_count>1</comment_count>
      <attachid>286852</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-08-24 06:59:37 -0700</bug_when>
    <thetext>Created attachment 286852
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223053</commentid>
    <comment_count>2</comment_count>
      <attachid>286971</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-08-25 07:18:54 -0700</bug_when>
    <thetext>Created attachment 286971
Improving test style</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223972</commentid>
    <comment_count>3</comment_count>
      <attachid>286971</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-08-27 17:12:37 -0700</bug_when>
    <thetext>Comment on attachment 286971
Improving test style

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

&gt; Source/WebCore/Modules/fetch/FetchResponse.cpp:140
&gt;      if (m_response.m_readableStreamSource) {
&gt; -        m_response.m_readableStreamSource-&gt;close();
&gt; -        m_response.m_readableStreamSource = nullptr;
&gt; +        // Let&apos;s close the stream except if we have data to enqueue.
&gt; +        if (m_response.m_body.type() != FetchBody::Type::Loaded) {
&gt; +            m_response.m_readableStreamSource-&gt;close();
&gt; +            m_response.m_readableStreamSource = nullptr;
&gt; +        }
&gt;      }

In the case where we don’t close the stream here, what closes the stream?

Why not use &amp;&amp; instead of nested if statements?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224112</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-08-28 23:18:11 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 286971 [details]
&gt; Improving test style
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=286971&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/fetch/FetchResponse.cpp:140
&gt; &gt;      if (m_response.m_readableStreamSource) {
&gt; &gt; -        m_response.m_readableStreamSource-&gt;close();
&gt; &gt; -        m_response.m_readableStreamSource = nullptr;
&gt; &gt; +        // Let&apos;s close the stream except if we have data to enqueue.
&gt; &gt; +        if (m_response.m_body.type() != FetchBody::Type::Loaded) {
&gt; &gt; +            m_response.m_readableStreamSource-&gt;close();
&gt; &gt; +            m_response.m_readableStreamSource = nullptr;
&gt; &gt; +        }
&gt; &gt;      }
&gt; 
&gt; In the case where we don’t close the stream here, what closes the stream?

When type is Loaded, FetchBody has some data, which means the data was not enqueued in the stream. On the first read request, FetchBody::consumeAsStream will enqueue the data and close the stream.
I&apos;ll update the comment.

Overall, there is some complexity added by the idea of enqueuing data only on the first read call. Maybe we should simplify this and enqueue data as soon as the stream is created.

&gt; Why not use &amp;&amp; instead of nested if statements?

Right, I&apos;ll fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224113</commentid>
    <comment_count>5</comment_count>
      <attachid>287249</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-08-28 23:20:35 -0700</bug_when>
    <thetext>Created attachment 287249
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224117</commentid>
    <comment_count>6</comment_count>
      <attachid>287249</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-28 23:51:32 -0700</bug_when>
    <thetext>Comment on attachment 287249
Patch for landing

Clearing flags on attachment: 287249

Committed r205110: &lt;http://trac.webkit.org/changeset/205110&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224118</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-28 23:51:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>286852</attachid>
            <date>2016-08-24 06:59:37 -0700</date>
            <delta_ts>2016-08-25 07:18:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161137-20160824155736.patch</filename>
            <type>text/plain</type>
            <size>13101</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0ODg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2YyY2M5N2RiYjQ3ZTUx
OWY1ZDU0NWYzNDhjMDQ5MjJiYTQ1NmFiYy4uMWVhOWU1NmI1OTAwNDBlYWFlY2QzZDFjMzhmZGY0
MGZhYTc3ZDA5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE2LTA4LTI0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbRmV0Y2ggQVBJXSBFbnN1
cmUgcmVzcG9uc2UgY2xvbmluZyB3b3JrcyB3aGVuIGRhdGEgaXMgbG9hZGluZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxMTM3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9m
ZXRjaC9jbG9uZS1hZnRlci1sb2FkLWlzLWZpbmlzaGVkLmh0bWwgYW5kIHVwZGF0ZWQgd3B0IHRl
c3QKKworICAgICAgICBGZXRjaEJvZHkgaXMgb25seSBhYmxlIHRvIGNsb25lIGRhdGEgd2hlbiBy
ZXF1ZXN0ZWQgYnkgUmVzcG9uc2UgaW4gY2FzZSB0aGUgZGF0YSBpcyBhbHJlYWR5IHRoZXJlLgor
ICAgICAgICBJZiBkYXRhIGlzIGxvYWRlZCBmcm9tIEZldGNoTG9hZGVyLCBlYWNoIHJlY2VpdmVk
IGNodW5rIHNob3VsZCBiZSBnaXZlbiB0byBlYWNoIGNsb25lZCByZXNwb25zZS4KKyAgICAgICAg
VGhlIHNpbXBsZXN0IGFwcHJvYWNoIGlzIHRvIGNyZWF0ZSBhIFJlYWRhYmxlU3RyZWFtIGJvZHkg
Zm9yIHRoZSBjbG9uZWQgUmVzcG9uc2UgYW5kIHVzZSBpdCBmb3IgdGhlIHRlZWluZy4KKworICAg
ICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGZXRjaFJlc3BvbnNlOjpCb2R5TG9hZGVyOjpkaWRTdWNjZWVkKTogUG9zdHBvbmUgc3RyZWFt
IGNsb3NpbmcgaWYgdGhlcmUgaXMgc3RpbGwgZGF0YSB0byBlbnF1ZXVlIGluIHRoZSBGZXRjaEJv
ZHkuCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmg6CisgICAgICAgICog
TW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNo
L0ZldGNoUmVzcG9uc2UuanM6CisgICAgICAgIChjbG9uZSk6IElmIHJlc3BvbnNlIGlzIGJlaW5n
IGxvYWRlZCwgY3JlYXRlIGEgUmVhZGFibGVTdHJlYW0gYm9keSBzbyB0aGF0IGxvYWRlZCBkYXRh
IGNsb25pbmcgaXMgaGFuZGxlZCBieSBSZWFkYWJsZVN0cmVhbSB0ZWUuCisgICAgICAgICogTW9k
dWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzOiBSZXN0cmljdCBmaXJzdFJl
YWRDYWxsYmFjayB0byB0aGUgY2FzZSBvZiBhIHJlYWRhYmxlIFJlYWRhYmxlU3RyZWFtLgorICAg
ICAgICBJZiBzdHJlYW0gaXMgZXJyb3JlZCBvciBjbG9zZWQsIEZldGNoUmVzcG9uc2Ugd2lsbCBh
bHJlYWR5IGhhdmUgZGlzcG9zZWQgb2YgaXRzIHNvdXJjZS4KKyAgICAgICAgKHJlYWRGcm9tUmVh
ZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3Jl
QnVpbHRpbk5hbWVzLmg6CisKIDIwMTYtMDgtMjMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHNvbWUgbG9nZ2luZyBmb3IgV0tTZWxlY3Rpb25E
cmF3aW5nSW5mbwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aFJlc3BvbnNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25z
ZS5jcHAKaW5kZXggODJiNGE1NGVlMWRkYWQzYmFhNDM3OTg0NTAwNWZjZDBlM2YxNGExYi4uZDJk
NmIxOGQ1ZDgyNjhmYTFkMWM3NmVhNzdlNjQ4ZThjZDc3MWZkZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCkBAIC0xMjgsMTMgKzEyOCwxNyBA
QCBjb25zdCBTdHJpbmcmIEZldGNoUmVzcG9uc2U6OnVybCgpIGNvbnN0CiB2b2lkIEZldGNoUmVz
cG9uc2U6OkJvZHlMb2FkZXI6OmRpZFN1Y2NlZWQoKQogewogICAgIEFTU0VSVChtX3Jlc3BvbnNl
Lmhhc1BlbmRpbmdBY3Rpdml0eSgpKTsKKyAgICBtX3Jlc3BvbnNlLm1fYm9keS5sb2FkaW5nU3Vj
Y2VlZGVkKCk7CisKICNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCiAgICAgaWYgKG1fcmVzcG9uc2Uu
bV9yZWFkYWJsZVN0cmVhbVNvdXJjZSkgewotICAgICAgICBtX3Jlc3BvbnNlLm1fcmVhZGFibGVT
dHJlYW1Tb3VyY2UtPmNsb3NlKCk7Ci0gICAgICAgIG1fcmVzcG9uc2UubV9yZWFkYWJsZVN0cmVh
bVNvdXJjZSA9IG51bGxwdHI7CisgICAgICAgIC8vIExldCdzIGNsb3NlIHRoZSBzdHJlYW0gZXhj
ZXB0IGlmIHdlIGhhdmUgZGF0YSB0byBlbnF1ZXVlLgorICAgICAgICBpZiAobV9yZXNwb25zZS5t
X2JvZHkudHlwZSgpICE9IEZldGNoQm9keTo6VHlwZTo6TG9hZGVkKSB7CisgICAgICAgICAgICBt
X3Jlc3BvbnNlLm1fcmVhZGFibGVTdHJlYW1Tb3VyY2UtPmNsb3NlKCk7CisgICAgICAgICAgICBt
X3Jlc3BvbnNlLm1fcmVhZGFibGVTdHJlYW1Tb3VyY2UgPSBudWxscHRyOworICAgICAgICB9CiAg
ICAgfQogI2VuZGlmCi0gICAgbV9yZXNwb25zZS5tX2JvZHkubG9hZGluZ1N1Y2NlZWRlZCgpOwog
CiAgICAgaWYgKG1fbG9hZGVyLT5pc1N0YXJ0ZWQoKSkKICAgICAgICAgbV9yZXNwb25zZS5tX2Jv
ZHlMb2FkZXIgPSBOdWxsb3B0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaFJlc3BvbnNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNo
UmVzcG9uc2UuaAppbmRleCA4NDg2MjUxNDA1MDdkODBjODM2ZDcxOTU1YTFiM2I2ZmRiMjhiMjZk
Li40NWNhY2NlMTI5NmJiN2Q3YmE5MWI5OGMwN2MxMjEyYTAwYjFkOTM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaApAQCAtODUsNiArODUsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBjb25zdW1lQm9keUFzU3RyZWFtKCk7CiAgICAgdm9pZCBjYW5jZWwo
KTsKICNlbmRpZgorICAgIGJvb2wgaXNMb2FkaW5nKCkgY29uc3QgeyByZXR1cm4gYm9keSgpLnR5
cGUoKSA9PSBGZXRjaEJvZHk6OlR5cGU6OkxvYWRpbmc7IH0KIAogcHJpdmF0ZToKICAgICBGZXRj
aFJlc3BvbnNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBGZXRjaEJvZHkmJiwgUmVmPEZldGNo
SGVhZGVycz4mJiwgUmVzb3VyY2VSZXNwb25zZSYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRsCmluZGV4IGJlM2MyY2UwMjkzN2Y2MjM4Zjg2NWQ5
MjE5MjI2YjZmYjFkMTcwMWMuLjliNDU4OWMxMDMwNTg2Mzg4M2QyOGMzOTNmNDYyYmE0OGMyNWJj
ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25z
ZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlk
bApAQCAtNzAsNiArNzAsNyBAQCBpbnRlcmZhY2UgRmV0Y2hSZXNwb25zZSB7CiAgICAgW0NvbmRp
dGlvbmFsPVNUUkVBTVNfQVBJLCBQcml2YXRlSWRlbnRpZmllcl0gUHJvbWlzZSBmaW5pc2hDb25z
dW1pbmdTdHJlYW0oKTsKIAogICAgIFtQcml2YXRlSWRlbnRpZmllcl0gUHJvbWlzZSBjb25zdW1l
KHVuc2lnbmVkIHNob3J0IHR5cGUpOworICAgIFtQcml2YXRlSWRlbnRpZmllcl0gYm9vbGVhbiBp
c0xvYWRpbmcoKTsKICAgICBbUHJpdmF0ZUlkZW50aWZpZXIsIFJhaXNlc0V4Y2VwdGlvbl0gdm9p
ZCBzZXRTdGF0dXModW5zaWduZWQgc2hvcnQgc3RhdHVzLCBET01TdHJpbmcgc3RhdHVzVGV4dCk7
CiAgICAgW0NhbGxXaXRoPVNjcmlwdFN0YXRlLCBQcml2YXRlSWRlbnRpZmllcl0gdm9pZCBpbml0
aWFsaXplV2l0aChhbnkgYm9keSk7CiAgICAgW1ByaXZhdGVJZGVudGlmaWVyLCBOZXdPYmplY3Rd
IFJlYWRhYmxlU3RyZWFtU291cmNlIGNyZWF0ZVJlYWRhYmxlU3RyZWFtU291cmNlKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuanMgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuanMKaW5kZXggNjMzYTRm
MDJhMTMxZDg0ODE4OWY1MDExYTkwOGEzNDYwYmJjMzg1ZC4uYTI4ZDJhOGM1NTU4YWNiZmE3NWJk
NGRlOTRlNjczZDI5MDU1MmNjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaFJlc3BvbnNlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hSZXNwb25zZS5qcwpAQCAtODcsNiArODcsMTQgQEAgZnVuY3Rpb24gY2xvbmUoKQogICAg
ICAgICB0aHJvdyBuZXcgQFR5cGVFcnJvcigiQ2Fubm90IGNsb25lIGEgZGlzdHVyYmVkIFJlc3Bv
bnNlIik7CiAKICAgICB2YXIgY2xvbmVkID0gQFJlc3BvbnNlLnByb3RvdHlwZS5AY2xvbmVGb3JK
Uy5AY2FsbCh0aGlzKTsKKworICAgIC8vIExldCdzIGNyZWF0ZSBAYm9keSBpZiByZXNwb25zZSBi
b2R5IGlzIGxvYWRpbmcgdG8gcHJvdmlkZSBkYXRhIHRvIGJvdGggY2xvbmVzLgorICAgIGlmIChA
UmVzcG9uc2UucHJvdG90eXBlLkBpc0xvYWRpbmcuQGNhbGwodGhpcykgJiYgIXRoaXMuQGJvZHkp
IHsKKyAgICAgICAgdmFyIHNvdXJjZSA9IEBSZXNwb25zZS5wcm90b3R5cGUuQGNyZWF0ZVJlYWRh
YmxlU3RyZWFtU291cmNlLkBjYWxsKHRoaXMpOworICAgICAgICBAYXNzZXJ0KCEhc291cmNlKTsK
KyAgICAgICAgdGhpcy5AYm9keSA9IG5ldyBAUmVhZGFibGVTdHJlYW0oc291cmNlKTsKKyAgICB9
CisKICAgICBpZiAodGhpcy5AYm9keSkgewogICAgICAgICB2YXIgdGVlZFJlYWRhYmxlU3RyZWFt
cyA9IEB0ZWVSZWFkYWJsZVN0cmVhbSh0aGlzLkBib2R5LCBmYWxzZSk7CiAgICAgICAgIHRoaXMu
QGJvZHkgPSB0ZWVkUmVhZGFibGVTdHJlYW1zWzBdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzCmluZGV4IDcz
ZmM0ZTNjZjdkNjA0ZTUwMTQ4YTNjM2U4ZmYyZDNjOTg0MmIxMjMuLmVlNWI5ZDQxNzlhNTA1MDRi
NTFhYWNiNWE2Njk1NDZiOWUzZjc5NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHMuanMKQEAgLTM0Myw3ICsz
NDMsNyBAQCBmdW5jdGlvbiByZWFkRnJvbVJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlcihyZWFk
ZXIpCiAgICAgQGFzc2VydCghIXN0cmVhbSk7CiAKICAgICAvLyBOYXRpdmUgc291cmNlcyBtYXkg
d2FudCB0byBzdGFydCBlbnF1ZXVlaW5nIGF0IHRoZSB0aW1lIG9mIHRoZSBmaXJzdCByZWFkIHJl
cXVlc3QuCi0gICAgaWYgKCFzdHJlYW0uQGRpc3R1cmJlZCAmJiBzdHJlYW0uQHVuZGVybHlpbmdT
b3VyY2UuQGZpcnN0UmVhZENhbGxiYWNrKQorICAgIGlmICghc3RyZWFtLkBkaXN0dXJiZWQgJiYg
c3RyZWFtLkBzdGF0ZSA9PT0gQHN0cmVhbVJlYWRhYmxlICYmIHN0cmVhbS5AdW5kZXJseWluZ1Nv
dXJjZS5AZmlyc3RSZWFkQ2FsbGJhY2spCiAgICAgICAgIHN0cmVhbS5AdW5kZXJseWluZ1NvdXJj
ZS5AZmlyc3RSZWFkQ2FsbGJhY2soKTsKIAogICAgIHN0cmVhbS5AZGlzdHVyYmVkID0gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApp
bmRleCA4YmI0ZmY4ZGQxMTgzZWY0MWNlZDk1YzU3MDkyZWFhMjhhZTZlMDI3Li4yOTRmZmMyNjVh
OWMyYWE5NDE0MTY5MGY4YmI3ZWRmMTI5MTcwNGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC01NCw2ICs1NCw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhnZXRUcmFja3MpIFwKICAgICBtYWNybyhpbml0aWFs
aXplV2l0aCkgXAogICAgIG1hY3JvKGlzRGlzdHVyYmVkKSBcCisgICAgbWFjcm8oaXNMb2FkaW5n
KSBcCiAgICAgbWFjcm8obG9jYWxTdHJlYW1zKSBcCiAgICAgbWFjcm8obWFrZVRoaXNUeXBlRXJy
b3IpIFwKICAgICBtYWNybyhtYWtlR2V0dGVyVHlwZUVycm9yKSBcCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDU2Njg0OTQ2
YzJjY2Y0OTY4NzI1MTc4Mzg1YzdmMzAyMjQzMGJiOC4uNzRhNTIzMjU1YTI4ZjVjZGQyNzI5ZGE3
MjdiZmZjYzg3NTcyYTc3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE2LTA4LTI0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbRmV0Y2ggQVBJXSBFbnN1
cmUgcmVzcG9uc2UgY2xvbmluZyB3b3JrcyB3aGVuIGRhdGEgaXMgbG9hZGluZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxMTM3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2ZldGNo
L2Nsb25lLWFmdGVyLWxvYWQtaXMtZmluaXNoZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2ZldGNoL2Nsb25lLWFmdGVyLWxvYWQtaXMtZmluaXNoZWQuaHRtbDog
QWRkZWQuCisKIDIwMTYtMDgtMjMgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAog
ICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiAhdmlldygpLmxheW91dFN0YXRlRW5hYmxlZCgpIHx8
IHN0eWxlKCkuc3R5bGVUeXBlKCkgPT0gRklSU1RfTEVUVEVSIGluIFdlYkNvcmU6OlJlbmRlcklu
bGluZTo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCmluZGV4IGY4NTM0YTQ1OWE4YTk2MTg0MjUyYmRhNDdlMGVlNzMxOWJmNjZmMGUuLjEy
Y2I2NGIwYWQyNjQzZjJmOTY1Nzc3NjUwNTJkYjlhODhjMDFhOGMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE2LTA4LTI0ICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbRmV0Y2ggQVBJXSBFbnN1cmUgcmVzcG9u
c2UgY2xvbmluZyB3b3JrcyB3aGVuIGRhdGEgaXMgbG9hZGluZworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxMTM3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
YXBpL3Jlc3BvbnNlL3Jlc3BvbnNlLWNsb25lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3Jlc3BvbnNlL3Jlc3BvbnNlLWNsb25lLmh0bWw6CisK
IDIwMTYtMDgtMjMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBB
ZGQgc3VwcG9ydCBmb3IgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELnJlc2V0VHJhbnNmb3JtKCkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZmV0Y2gvY2xvbmUtYWZ0ZXItbG9h
ZC1pcy1maW5pc2hlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2ZldGNo
L2Nsb25lLWFmdGVyLWxvYWQtaXMtZmluaXNoZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1
YTk4YWRhNWZiNTM0YjQ3NjQ4Y2MyMWZmMTIzZTA1OTU4ODhkNDYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2ZldGNoL2Nsb25lLWFmdGVyLWxvYWQtaXMtZmluaXNo
ZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIEVuc3VyZSB0aGF0IGNsb25p
bmcgd29ya3Mgd2hlbiBsb2FkIGlzIGZpbmlzaGVkIAorUEFTUyBFbnN1cmUgdGhhdCBjbG9uaW5n
IHdvcmtzIHdoZW4gbG9hZCBpcyBvbmdvaW5nIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2ZldGNoL2Nsb25lLWFmdGVyLWxvYWQtaXMtZmluaXNoZWQuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvZmV0Y2gvY2xvbmUtYWZ0ZXItbG9hZC1pcy1maW5pc2hlZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmNkMjM2YTFhNGQ5OGMxMzZmMTVmMGViZDNkNmQ1NTJiN2NmZDBkZTYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2ZldGNoL2Nsb25lLWFmdGVy
LWxvYWQtaXMtZmluaXNoZWQuaHRtbApAQCAtMCwwICsxLDUxIEBACis8IWRvY3R5cGUgaHRtbD4K
KzxodG1sPgorICA8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgPHRpdGxl
PlJlc3BvbnNlIGNsb25lIGFmdGVyIGxvYWQgaXMgZmluaXNoZWQ8L3RpdGxlPgorICAgIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgIDwvaGVh
ZD4KKyAgPGJvZHk+CisgICAgPHNjcmlwdD4KK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Cisg
ICAgdmFyIGNsb25lOworICAgIHJldHVybiBmZXRjaCgnL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcycpLnRoZW4oZnVuY3Rpb24ocmVzKSB7CisgICAgICAgIHZhciByZXNvbHZlRnVuY3Rp
b247CisgICAgICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAg
ICAgICAgICAgIHJlc29sdmVGdW5jdGlvbiA9IHJlc29sdmU7CisgICAgICAgIH0pOworICAgICAg
ICBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgICAgIC8vIExvYWQgc2hvdWxkIGJlIGZpbmlz
aGVkIGJ5IG5vdworICAgICAgICAgICAgY2xvbmUgPSByZXMuY2xvbmUoKTsKKyAgICAgICAgICAg
IHZhciBzdHJpbmc7CisgICAgICAgICAgICByZXR1cm4gcmVzLnRleHQoKS50aGVuKCh2YWx1ZSkg
PT4geworICAgICAgICAgICAgICAgICBzdHJpbmcgPSB2YWx1ZTsKKyAgICAgICAgICAgICAgICAg
cmV0dXJuIGNsb25lLnRleHQoKTsKKyAgICAgICAgICAgIH0pLnRoZW4oKHZhbHVlKSA9PiB7Cisg
ICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyh2YWx1ZSwgc3RyaW5nKTsKKyAgICAgICAgICAg
ICAgICByZXNvbHZlRnVuY3Rpb24oKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9LCAxMDAw
KTsKKyAgICAgICAgcmV0dXJuIHByb21pc2U7CisgICAgfSk7Cit9LCAnRW5zdXJlIHRoYXQgY2xv
bmluZyB3b3JrcyB3aGVuIGxvYWQgaXMgZmluaXNoZWQnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgICB2YXIgY2xvbmU7CisgICAgcmV0dXJuIGZldGNoKCcvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzJykudGhlbihmdW5jdGlvbihyZXMpIHsKKyAgICAgICAgLy8gTG9h
ZCBzaG91bGQgYmUgZmluaXNoZWQgYnkgbm93CisgICAgICAgIGNsb25lID0gcmVzLmNsb25lKCk7
CisgICAgICAgIHZhciBzdHJpbmc7CisgICAgICAgIHJldHVybiByZXMudGV4dCgpLnRoZW4oKHZh
bHVlKSA9PiB7CisgICAgICAgICAgICBzdHJpbmcgPSB2YWx1ZTsKKyAgICAgICAgICAgIHJldHVy
biBjbG9uZS50ZXh0KCk7CisgICAgICAgIH0pLnRoZW4oKHZhbHVlKSA9PiB7CisgICAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKHZhbHVlLCBzdHJpbmcpOworICAgICAgICB9KTsKKyAgICB9KTsKK30s
ICdFbnN1cmUgdGhhdCBjbG9uaW5nIHdvcmtzIHdoZW4gbG9hZCBpcyBvbmdvaW5nJyk7CisKKyAg
ICA8L3NjcmlwdD4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVzcG9uc2UvcmVzcG9u
c2UtY2xvbmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVzcG9uc2UvcmVzcG9uc2UtY2xvbmUtZXhwZWN0ZWQudHh0
CmluZGV4IDBiMGQxNjdiMzA4NWJlYTE1MGUzZjFjMGE1ZmMwZjcyZTFhN2U5OTkuLjcyMGVkMmRm
MjZmNjljOGJjZDg1NDFkYTY4ZjQ2ZGMyNzE1ZWE0YWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3Jlc3BvbnNlL3Jlc3Bv
bnNlLWNsb25lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXNwb25zZS9yZXNwb25zZS1jbG9uZS1leHBlY3Rl
ZC50eHQKQEAgLTQsNCArNCw2IEBAIFBBU1MgQ2hlY2sgUmVzcG9uc2UncyBjbG9uZSBoYXMgdGhl
IGV4cGVjdGVkIGF0dHJpYnV0ZSB2YWx1ZXMKIFBBU1MgQ2hlY2sgb3JnaW5hbCByZXNwb25zZSdz
IGJvZHkgYWZ0ZXIgY2xvbmluZyAKIFBBU1MgQ2hlY2sgY2xvbmVkIHJlc3BvbnNlJ3MgYm9keSAK
IFBBU1MgQ2Fubm90IGNsb25lIGEgZGlzdHVyYmVkIHJlc3BvbnNlIAorUEFTUyBDbG9uZWQgcmVz
cG9uc2VzIHNob3VsZCBwcm92aWRlIHRoZSBzYW1lIGRhdGEgCitQQVNTIENhbmNlbGxpbmcgc3Ry
ZWFtIHNob3VsZCBub3QgYWZmZWN0IGNsb25lZCBvbmUuIAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXNwb25zZS9y
ZXNwb25zZS1jbG9uZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9hcGkvcmVzcG9uc2UvcmVzcG9uc2UtY2xvbmUuaHRtbAppbmRleCA4OGI5
MzQ1OGIxM2E5NjUwYzI2Y2MyNGU3YTI3ZjRjNWJhZWM0ZDI3Li5iZmQwZDA1ZTEyNzIxNDczZjBm
MzBhMjE0NWQ5NDMzOWQ5ZDkzZjk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXNwb25zZS9yZXNwb25zZS1jbG9uZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvYXBpL3Jlc3BvbnNlL3Jlc3BvbnNlLWNsb25lLmh0bWwKQEAgLTYxLDYgKzYxLDM4IEBACiAg
ICAgICAgICAgICAgICJFeHBlY3QgVHlwZUVycm9yIGV4Y2VwdGlvbiIpOwogICAgICAgICB9KTsK
ICAgICAgIH0sICJDYW5ub3QgY2xvbmUgYSBkaXN0dXJiZWQgcmVzcG9uc2UiKTsKKworICAgIHBy
b21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgICAgICAgIHZhciBjbG9uZTsKKyAgICAgICAgdmFy
IHJlc3VsdDE7CisgICAgICAgIHZhciByZXNwb25zZTsKKyAgICAgICAgcmV0dXJuIGZldGNoKCcu
Li9yZXNvdXJjZXMvdHJpY2tsZS5weT9jb3VudD0yJmRlbGF5PTEwMCcpLnRoZW4oZnVuY3Rpb24o
cmVzKSB7CisgICAgICAgICAgICBjbG9uZSA9IHJlcy5jbG9uZSgpOworICAgICAgICAgICAgcmVz
cG9uc2UgPSByZXM7CisgICAgICAgICAgICByZXR1cm4gY2xvbmUuYXJyYXlCdWZmZXIoKTsKKyAg
ICAgICAgfSkudGhlbihmdW5jdGlvbihyKSB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHIu
Ynl0ZUxlbmd0aCwgMjYpOworICAgICAgICAgICAgcmVzdWx0MSA9IHI7CisgICAgICAgICAgICBy
ZXR1cm4gcmVzcG9uc2UuYXJyYXlCdWZmZXIoKTsKKyAgICAgICAgfSkudGhlbihmdW5jdGlvbihy
KSB7CisgICAgICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHIsIHJlc3VsdDEsICJjbG9uZWQg
cmVzcG9uc2VzIHNob3VsZCBwcm92aWRlIHRoZSBzYW1lIGRhdGEiKTsKKyAgICAgICAgfSk7Cisg
ICAgIH0sICdDbG9uZWQgcmVzcG9uc2VzIHNob3VsZCBwcm92aWRlIHRoZSBzYW1lIGRhdGEnKTsK
KworICAgIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgICAgICAgIHZhciBjbG9uZTsKKyAg
ICAgICAgcmV0dXJuIGZldGNoKCcuLi9yZXNvdXJjZXMvdHJpY2tsZS5weT9jb3VudD0yJmRlbGF5
PTEwMCcpLnRoZW4oZnVuY3Rpb24ocmVzKSB7CisgICAgICAgICAgICBjbG9uZSA9IHJlcy5jbG9u
ZSgpOworICAgICAgICAgICAgcmVzLmJvZHkuY2FuY2VsKCk7CisgICAgICAgICAgICBhc3NlcnRf
dHJ1ZShyZXMuYm9keVVzZWQpOworICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGNsb25lLmJvZHlV
c2VkKTsKKyAgICAgICAgICAgIHJldHVybiBjbG9uZS5hcnJheUJ1ZmZlcigpOworICAgICAgICB9
KS50aGVuKGZ1bmN0aW9uKHIpIHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoci5ieXRlTGVu
Z3RoLCAyNik7CisgICAgICAgICAgICBhc3NlcnRfdHJ1ZShjbG9uZS5ib2R5VXNlZCk7CisgICAg
ICAgIH0pOworICAgIH0sICdDYW5jZWxsaW5nIHN0cmVhbSBzaG91bGQgbm90IGFmZmVjdCBjbG9u
ZWQgb25lLicpOworCiAgICAgPC9zY3JpcHQ+CiAgIDwvYm9keT4KIDwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>286971</attachid>
            <date>2016-08-25 07:18:54 -0700</date>
            <delta_ts>2016-08-28 23:20:23 -0700</delta_ts>
            <desc>Improving test style</desc>
            <filename>bug-161137-20160825161651.patch</filename>
            <type>text/plain</type>
            <size>13005</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0OTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzY3NjMwNDRlYjU4YjE5
NjA0YjdiNjdiZTMyMjkzODFlMGEyZTYzMC4uNDc3ZTUxMDE4NTZmMThlZTEzMWU5MjNmZjc2YzY4
M2VhOTM2YjcwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE2LTA4LTI1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbRmV0Y2ggQVBJXSBFbnN1
cmUgcmVzcG9uc2UgY2xvbmluZyB3b3JrcyB3aGVuIGRhdGEgaXMgbG9hZGluZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxMTM3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9m
ZXRjaC9jbG9uZS1hZnRlci1sb2FkLWlzLWZpbmlzaGVkLmh0bWwgYW5kIHVwZGF0ZWQgd3B0IHRl
c3QKKworICAgICAgICBGZXRjaEJvZHkgaXMgb25seSBhYmxlIHRvIGNsb25lIGRhdGEgd2hlbiBy
ZXF1ZXN0ZWQgYnkgUmVzcG9uc2UgaW4gY2FzZSB0aGUgZGF0YSBpcyBhbHJlYWR5IHRoZXJlLgor
ICAgICAgICBJZiBkYXRhIGlzIGxvYWRlZCBmcm9tIEZldGNoTG9hZGVyLCBlYWNoIHJlY2VpdmVk
IGNodW5rIHNob3VsZCBiZSBnaXZlbiB0byBlYWNoIGNsb25lZCByZXNwb25zZS4KKyAgICAgICAg
VGhlIHNpbXBsZXN0IGFwcHJvYWNoIGlzIHRvIGNyZWF0ZSBhIFJlYWRhYmxlU3RyZWFtIGJvZHkg
Zm9yIHRoZSBjbG9uZWQgUmVzcG9uc2UgYW5kIHVzZSBpdCBmb3IgdGhlIHRlZWluZy4KKworICAg
ICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGZXRjaFJlc3BvbnNlOjpCb2R5TG9hZGVyOjpkaWRTdWNjZWVkKTogUG9zdHBvbmUgc3RyZWFt
IGNsb3NpbmcgaWYgdGhlcmUgaXMgc3RpbGwgZGF0YSB0byBlbnF1ZXVlIGluIHRoZSBGZXRjaEJv
ZHkuCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmg6CisgICAgICAgICog
TW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNo
L0ZldGNoUmVzcG9uc2UuanM6CisgICAgICAgIChjbG9uZSk6IElmIHJlc3BvbnNlIGlzIGJlaW5n
IGxvYWRlZCwgY3JlYXRlIGEgUmVhZGFibGVTdHJlYW0gYm9keSBzbyB0aGF0IGxvYWRlZCBkYXRh
IGNsb25pbmcgaXMgaGFuZGxlZCBieSBSZWFkYWJsZVN0cmVhbSB0ZWUuCisgICAgICAgICogTW9k
dWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzOiBSZXN0cmljdCBmaXJzdFJl
YWRDYWxsYmFjayB0byB0aGUgY2FzZSBvZiBhIHJlYWRhYmxlIFJlYWRhYmxlU3RyZWFtLgorICAg
ICAgICBJZiBzdHJlYW0gaXMgZXJyb3JlZCBvciBjbG9zZWQsIEZldGNoUmVzcG9uc2Ugd2lsbCBh
bHJlYWR5IGhhdmUgZGlzcG9zZWQgb2YgaXRzIHNvdXJjZS4KKyAgICAgICAgKHJlYWRGcm9tUmVh
ZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3Jl
QnVpbHRpbk5hbWVzLmg6CisKIDIwMTYtMDgtMjQgIEZyZWRlcmljIFdhbmcgIDxmd2FuZ0BpZ2Fs
aWEuY29tPgogCiAgICAgICAgIERvIG5vdCBzdG9yZSBsYXlvdXQgcGFyYW1ldGVycyBvbiB0aGUg
UmVuZGVyTWF0aE1MUm9vdCBjbGFzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hSZXNwb25zZS5jcHAKaW5kZXggODJiNGE1NGVlMWRkYWQzYmFhNDM3OTg0NTAwNWZjZDBl
M2YxNGExYi4uZDJkNmIxOGQ1ZDgyNjhmYTFkMWM3NmVhNzdlNjQ4ZThjZDc3MWZkZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCkBAIC0xMjgs
MTMgKzEyOCwxNyBAQCBjb25zdCBTdHJpbmcmIEZldGNoUmVzcG9uc2U6OnVybCgpIGNvbnN0CiB2
b2lkIEZldGNoUmVzcG9uc2U6OkJvZHlMb2FkZXI6OmRpZFN1Y2NlZWQoKQogewogICAgIEFTU0VS
VChtX3Jlc3BvbnNlLmhhc1BlbmRpbmdBY3Rpdml0eSgpKTsKKyAgICBtX3Jlc3BvbnNlLm1fYm9k
eS5sb2FkaW5nU3VjY2VlZGVkKCk7CisKICNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCiAgICAgaWYg
KG1fcmVzcG9uc2UubV9yZWFkYWJsZVN0cmVhbVNvdXJjZSkgewotICAgICAgICBtX3Jlc3BvbnNl
Lm1fcmVhZGFibGVTdHJlYW1Tb3VyY2UtPmNsb3NlKCk7Ci0gICAgICAgIG1fcmVzcG9uc2UubV9y
ZWFkYWJsZVN0cmVhbVNvdXJjZSA9IG51bGxwdHI7CisgICAgICAgIC8vIExldCdzIGNsb3NlIHRo
ZSBzdHJlYW0gZXhjZXB0IGlmIHdlIGhhdmUgZGF0YSB0byBlbnF1ZXVlLgorICAgICAgICBpZiAo
bV9yZXNwb25zZS5tX2JvZHkudHlwZSgpICE9IEZldGNoQm9keTo6VHlwZTo6TG9hZGVkKSB7Cisg
ICAgICAgICAgICBtX3Jlc3BvbnNlLm1fcmVhZGFibGVTdHJlYW1Tb3VyY2UtPmNsb3NlKCk7Cisg
ICAgICAgICAgICBtX3Jlc3BvbnNlLm1fcmVhZGFibGVTdHJlYW1Tb3VyY2UgPSBudWxscHRyOwor
ICAgICAgICB9CiAgICAgfQogI2VuZGlmCi0gICAgbV9yZXNwb25zZS5tX2JvZHkubG9hZGluZ1N1
Y2NlZWRlZCgpOwogCiAgICAgaWYgKG1fbG9hZGVyLT5pc1N0YXJ0ZWQoKSkKICAgICAgICAgbV9y
ZXNwb25zZS5tX2JvZHlMb2FkZXIgPSBOdWxsb3B0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0ZldGNoUmVzcG9uc2UuaAppbmRleCA4NDg2MjUxNDA1MDdkODBjODM2ZDcxOTU1YTFi
M2I2ZmRiMjhiMjZkLi40NWNhY2NlMTI5NmJiN2Q3YmE5MWI5OGMwN2MxMjEyYTAwYjFkOTM4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaApAQCAtODUs
NiArODUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjb25zdW1lQm9keUFzU3RyZWFtKCk7CiAgICAg
dm9pZCBjYW5jZWwoKTsKICNlbmRpZgorICAgIGJvb2wgaXNMb2FkaW5nKCkgY29uc3QgeyByZXR1
cm4gYm9keSgpLnR5cGUoKSA9PSBGZXRjaEJvZHk6OlR5cGU6OkxvYWRpbmc7IH0KIAogcHJpdmF0
ZToKICAgICBGZXRjaFJlc3BvbnNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBGZXRjaEJvZHkm
JiwgUmVmPEZldGNoSGVhZGVycz4mJiwgUmVzb3VyY2VSZXNwb25zZSYmKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRsCmluZGV4IGJlM2MyY2UwMjkz
N2Y2MjM4Zjg2NWQ5MjE5MjI2YjZmYjFkMTcwMWMuLjliNDU4OWMxMDMwNTg2Mzg4M2QyOGMzOTNm
NDYyYmE0OGMyNWJjODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hSZXNwb25zZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aFJlc3BvbnNlLmlkbApAQCAtNzAsNiArNzAsNyBAQCBpbnRlcmZhY2UgRmV0Y2hSZXNwb25zZSB7
CiAgICAgW0NvbmRpdGlvbmFsPVNUUkVBTVNfQVBJLCBQcml2YXRlSWRlbnRpZmllcl0gUHJvbWlz
ZSBmaW5pc2hDb25zdW1pbmdTdHJlYW0oKTsKIAogICAgIFtQcml2YXRlSWRlbnRpZmllcl0gUHJv
bWlzZSBjb25zdW1lKHVuc2lnbmVkIHNob3J0IHR5cGUpOworICAgIFtQcml2YXRlSWRlbnRpZmll
cl0gYm9vbGVhbiBpc0xvYWRpbmcoKTsKICAgICBbUHJpdmF0ZUlkZW50aWZpZXIsIFJhaXNlc0V4
Y2VwdGlvbl0gdm9pZCBzZXRTdGF0dXModW5zaWduZWQgc2hvcnQgc3RhdHVzLCBET01TdHJpbmcg
c3RhdHVzVGV4dCk7CiAgICAgW0NhbGxXaXRoPVNjcmlwdFN0YXRlLCBQcml2YXRlSWRlbnRpZmll
cl0gdm9pZCBpbml0aWFsaXplV2l0aChhbnkgYm9keSk7CiAgICAgW1ByaXZhdGVJZGVudGlmaWVy
LCBOZXdPYmplY3RdIFJlYWRhYmxlU3RyZWFtU291cmNlIGNyZWF0ZVJlYWRhYmxlU3RyZWFtU291
cmNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVz
cG9uc2UuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuanMK
aW5kZXggNjMzYTRmMDJhMTMxZDg0ODE4OWY1MDExYTkwOGEzNDYwYmJjMzg1ZC4uYTI4ZDJhOGM1
NTU4YWNiZmE3NWJkNGRlOTRlNjczZDI5MDU1MmNjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5qcwpAQCAtODcsNiArODcsMTQgQEAgZnVuY3Rpb24g
Y2xvbmUoKQogICAgICAgICB0aHJvdyBuZXcgQFR5cGVFcnJvcigiQ2Fubm90IGNsb25lIGEgZGlz
dHVyYmVkIFJlc3BvbnNlIik7CiAKICAgICB2YXIgY2xvbmVkID0gQFJlc3BvbnNlLnByb3RvdHlw
ZS5AY2xvbmVGb3JKUy5AY2FsbCh0aGlzKTsKKworICAgIC8vIExldCdzIGNyZWF0ZSBAYm9keSBp
ZiByZXNwb25zZSBib2R5IGlzIGxvYWRpbmcgdG8gcHJvdmlkZSBkYXRhIHRvIGJvdGggY2xvbmVz
LgorICAgIGlmIChAUmVzcG9uc2UucHJvdG90eXBlLkBpc0xvYWRpbmcuQGNhbGwodGhpcykgJiYg
IXRoaXMuQGJvZHkpIHsKKyAgICAgICAgdmFyIHNvdXJjZSA9IEBSZXNwb25zZS5wcm90b3R5cGUu
QGNyZWF0ZVJlYWRhYmxlU3RyZWFtU291cmNlLkBjYWxsKHRoaXMpOworICAgICAgICBAYXNzZXJ0
KCEhc291cmNlKTsKKyAgICAgICAgdGhpcy5AYm9keSA9IG5ldyBAUmVhZGFibGVTdHJlYW0oc291
cmNlKTsKKyAgICB9CisKICAgICBpZiAodGhpcy5AYm9keSkgewogICAgICAgICB2YXIgdGVlZFJl
YWRhYmxlU3RyZWFtcyA9IEB0ZWVSZWFkYWJsZVN0cmVhbSh0aGlzLkBib2R5LCBmYWxzZSk7CiAg
ICAgICAgIHRoaXMuQGJvZHkgPSB0ZWVkUmVhZGFibGVTdHJlYW1zWzBdOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpz
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxz
LmpzCmluZGV4IDczZmM0ZTNjZjdkNjA0ZTUwMTQ4YTNjM2U4ZmYyZDNjOTg0MmIxMjMuLmVlNWI5
ZDQxNzlhNTA1MDRiNTFhYWNiNWE2Njk1NDZiOWUzZjc5NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHMuanMK
QEAgLTM0Myw3ICszNDMsNyBAQCBmdW5jdGlvbiByZWFkRnJvbVJlYWRhYmxlU3RyZWFtRGVmYXVs
dFJlYWRlcihyZWFkZXIpCiAgICAgQGFzc2VydCghIXN0cmVhbSk7CiAKICAgICAvLyBOYXRpdmUg
c291cmNlcyBtYXkgd2FudCB0byBzdGFydCBlbnF1ZXVlaW5nIGF0IHRoZSB0aW1lIG9mIHRoZSBm
aXJzdCByZWFkIHJlcXVlc3QuCi0gICAgaWYgKCFzdHJlYW0uQGRpc3R1cmJlZCAmJiBzdHJlYW0u
QHVuZGVybHlpbmdTb3VyY2UuQGZpcnN0UmVhZENhbGxiYWNrKQorICAgIGlmICghc3RyZWFtLkBk
aXN0dXJiZWQgJiYgc3RyZWFtLkBzdGF0ZSA9PT0gQHN0cmVhbVJlYWRhYmxlICYmIHN0cmVhbS5A
dW5kZXJseWluZ1NvdXJjZS5AZmlyc3RSZWFkQ2FsbGJhY2spCiAgICAgICAgIHN0cmVhbS5AdW5k
ZXJseWluZ1NvdXJjZS5AZmlyc3RSZWFkQ2FsbGJhY2soKTsKIAogICAgIHN0cmVhbS5AZGlzdHVy
YmVkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNv
cmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWls
dGluTmFtZXMuaAppbmRleCA4YmI0ZmY4ZGQxMTgzZWY0MWNlZDk1YzU3MDkyZWFhMjhhZTZlMDI3
Li4yOTRmZmMyNjVhOWMyYWE5NDE0MTY5MGY4YmI3ZWRmMTI5MTcwNGRkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC01NCw2ICs1
NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhnZXRUcmFja3MpIFwKICAgICBt
YWNybyhpbml0aWFsaXplV2l0aCkgXAogICAgIG1hY3JvKGlzRGlzdHVyYmVkKSBcCisgICAgbWFj
cm8oaXNMb2FkaW5nKSBcCiAgICAgbWFjcm8obG9jYWxTdHJlYW1zKSBcCiAgICAgbWFjcm8obWFr
ZVRoaXNUeXBlRXJyb3IpIFwKICAgICBtYWNybyhtYWtlR2V0dGVyVHlwZUVycm9yKSBcCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggYzg4MjAyNTVlYjc1ZjdmYjdhNWI2ODdmMDA0OTNiODAxZDJhNDQzOC4uNTExZjRlY2QzMTJj
MjYwZDUxNmFmM2NkNjQ5YTEwMTRjZjk0MTE4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE2
LTA4LTI1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbRmV0
Y2ggQVBJXSBFbnN1cmUgcmVzcG9uc2UgY2xvbmluZyB3b3JrcyB3aGVuIGRhdGEgaXMgbG9hZGlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxMTM3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRw
L3Rlc3RzL2ZldGNoL2Nsb25lLXJlc3BvbnNlLWJvZHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2ZldGNoL2Nsb25lLXJlc3BvbnNlLWJvZHkuaHRtbDogQWRkZWQu
CisKIDIwMTYtMDgtMjQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBXb3JrZXJMb2NhdGlvbi5wcm90b3R5cGUudG9TdHJpbmcoKSBzaG91bGQgYmUgZW51bWVyYWJs
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNGEzNWI2ODJlY2M3OTg2M2M0NzZm
ZWFkM2ZmYWQwYTcyZGRkNzNlZS4uNWJhZGUwZTA3MzA0YmVmNjc2YWJkZDU4MDA3MDdhMjM3ZGU1
NDk4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTYtMDgtMjUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFtG
ZXRjaCBBUEldIEVuc3VyZSByZXNwb25zZSBjbG9uaW5nIHdvcmtzIHdoZW4gZGF0YSBpcyBsb2Fk
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjEx
MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVzcG9uc2UvcmVzcG9uc2UtY2xvbmUtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVzcG9uc2Uv
cmVzcG9uc2UtY2xvbmUuaHRtbDogTmV3IHRlc3RzIGhpZ2hseSBpbnNwaXJlZCBmcm9tIENocm9t
aXVtIHNpbWlsYXIgdGVzdHMuCisKIDIwMTYtMDgtMjQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hy
aXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBJbXBvcnQgdzNjIFVSTCB0ZXN0cwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9mZXRjaC9jbG9uZS1yZXNwb25zZS1ib2R5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZmV0Y2gvY2xvbmUtcmVzcG9u
c2UtYm9keS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjVhOThhZGE1ZmI1MzRiNDc2NDhjYzIx
ZmYxMjNlMDU5NTg4OGQ0NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvZmV0Y2gvY2xvbmUtcmVzcG9uc2UtYm9keS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBA
CisKK1BBU1MgRW5zdXJlIHRoYXQgY2xvbmluZyB3b3JrcyB3aGVuIGxvYWQgaXMgZmluaXNoZWQg
CitQQVNTIEVuc3VyZSB0aGF0IGNsb25pbmcgd29ya3Mgd2hlbiBsb2FkIGlzIG9uZ29pbmcgCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZmV0Y2gvY2xvbmUtcmVzcG9uc2Ut
Ym9keS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9mZXRjaC9jbG9uZS1yZXNwb25zZS1i
b2R5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODhiM2E5MjQ0MmJjMjIyNjcwYTEyZGU2OWIzYmEzZWM4YzA2
YTAzMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZmV0Y2gvY2xv
bmUtcmVzcG9uc2UtYm9keS5odG1sCkBAIC0wLDAgKzEsNTEgQEAKKzwhZG9jdHlwZSBodG1sPgor
PGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICA8dGl0bGU+
UmVzcG9uc2UgY2xvbmUgYWZ0ZXIgbG9hZCBpcyBmaW5pc2hlZDwvdGl0bGU+CisgICAgPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgPC9oZWFk
PgorICA8Ym9keT4KKyAgICA8c2NyaXB0PgorcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAg
ICB2YXIgY2xvbmU7CisgICAgcmV0dXJuIGZldGNoKCcvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzJykudGhlbihmdW5jdGlvbihyZXMpIHsKKyAgICAgICAgdmFyIHJlc29sdmVGdW5jdGlv
bjsKKyAgICAgICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAg
ICAgICAgICAgcmVzb2x2ZUZ1bmN0aW9uID0gcmVzb2x2ZTsKKyAgICAgICAgfSk7CisgICAgICAg
IHNldFRpbWVvdXQoKCkgPT4geworICAgICAgICAgICAgLy8gTG9hZCBzaG91bGQgYmUgZmluaXNo
ZWQgYnkgbm93CisgICAgICAgICAgICBjbG9uZSA9IHJlcy5jbG9uZSgpOworICAgICAgICAgICAg
dmFyIHN0cmluZzsKKyAgICAgICAgICAgIHJldHVybiByZXMudGV4dCgpLnRoZW4oKHZhbHVlKSA9
PiB7CisgICAgICAgICAgICAgICAgIHN0cmluZyA9IHZhbHVlOworICAgICAgICAgICAgICAgICBy
ZXR1cm4gY2xvbmUudGV4dCgpOworICAgICAgICAgICAgfSkudGhlbigodmFsdWUpID0+IHsKKyAg
ICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHZhbHVlLCBzdHJpbmcpOworICAgICAgICAgICAg
ICAgIHJlc29sdmVGdW5jdGlvbigpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0sIDEwMDAp
OworICAgICAgICByZXR1cm4gcHJvbWlzZTsKKyAgICB9KTsKK30sICdFbnN1cmUgdGhhdCBjbG9u
aW5nIHdvcmtzIHdoZW4gbG9hZCBpcyBmaW5pc2hlZCcpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rp
b24odCkgeworICAgIHZhciBjbG9uZTsKKyAgICByZXR1cm4gZmV0Y2goJy9kb3dubG9hZC1qc29u
LXdpdGgtZGVsYXkucGhwP2l0ZXJhdGlvbj0yJmRlbGF5PTEnKS50aGVuKGZ1bmN0aW9uKHJlcykg
eworICAgICAgICAvLyBBbGwgZGF0YSBzaG91bGQgbm90IGJlIGVucXVldWVkIHlldC4KKyAgICAg
ICAgY2xvbmUgPSByZXMuY2xvbmUoKTsKKyAgICAgICAgdmFyIHN0cmluZzsKKyAgICAgICAgcmV0
dXJuIHJlcy50ZXh0KCkudGhlbigodmFsdWUpID0+IHsKKyAgICAgICAgICAgIHN0cmluZyA9IHZh
bHVlOworICAgICAgICAgICAgcmV0dXJuIGNsb25lLnRleHQoKTsKKyAgICAgICAgfSkudGhlbigo
dmFsdWUpID0+IHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHModmFsdWUsIHN0cmluZyk7Cisg
ICAgICAgIH0pOworICAgIH0pOworfSwgJ0Vuc3VyZSB0aGF0IGNsb25pbmcgd29ya3Mgd2hlbiBs
b2FkIGlzIG9uZ29pbmcnKTsKKworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL2FwaS9yZXNwb25zZS9yZXNwb25zZS1jbG9uZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXNwb25zZS9yZXNw
b25zZS1jbG9uZS1leHBlY3RlZC50eHQKaW5kZXggMGIwZDE2N2IzMDg1YmVhMTUwZTNmMWMwYTVm
YzBmNzJlMWE3ZTk5OS4uODhlOTNmNTRiNThmNWZhYzc0NDZlNjE3Y2M1NGFhMWYwNjk0MjcyZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9hcGkvcmVzcG9uc2UvcmVzcG9uc2UtY2xvbmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3Jlc3BvbnNl
L3Jlc3BvbnNlLWNsb25lLWV4cGVjdGVkLnR4dApAQCAtNCw0ICs0LDYgQEAgUEFTUyBDaGVjayBS
ZXNwb25zZSdzIGNsb25lIGhhcyB0aGUgZXhwZWN0ZWQgYXR0cmlidXRlIHZhbHVlcwogUEFTUyBD
aGVjayBvcmdpbmFsIHJlc3BvbnNlJ3MgYm9keSBhZnRlciBjbG9uaW5nIAogUEFTUyBDaGVjayBj
bG9uZWQgcmVzcG9uc2UncyBib2R5IAogUEFTUyBDYW5ub3QgY2xvbmUgYSBkaXN0dXJiZWQgcmVz
cG9uc2UgCitQQVNTIENsb25lZCByZXNwb25zZXMgc2hvdWxkIHByb3ZpZGUgdGhlIHNhbWUgZGF0
YSAKK1BBU1MgQ2FuY2VsbGluZyBzdHJlYW0gc2hvdWxkIG5vdCBhZmZlY3QgY2xvbmVkIG9uZSAK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvcmVzcG9uc2UvcmVzcG9uc2UtY2xvbmUuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3Jlc3BvbnNlL3Jlc3BvbnNl
LWNsb25lLmh0bWwKaW5kZXggODhiOTM0NThiMTNhOTY1MGMyNmNjMjRlN2EyN2Y0YzViYWVjNGQy
Ny4uMWVmYjRkYTVlZWY2ZGIxNGFmY2IxMDU2NGM1MDYxYzU0YjU3Zjg5MyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVz
cG9uc2UvcmVzcG9uc2UtY2xvbmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXNwb25zZS9yZXNwb25zZS1jbG9uZS5odG1s
CkBAIC02MSw2ICs2MSwzOCBAQAogICAgICAgICAgICAgICAiRXhwZWN0IFR5cGVFcnJvciBleGNl
cHRpb24iKTsKICAgICAgICAgfSk7CiAgICAgICB9LCAiQ2Fubm90IGNsb25lIGEgZGlzdHVyYmVk
IHJlc3BvbnNlIik7CisKKyAgICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICAgICAgICB2
YXIgY2xvbmU7CisgICAgICAgIHZhciByZXN1bHQ7CisgICAgICAgIHZhciByZXNwb25zZTsKKyAg
ICAgICAgcmV0dXJuIGZldGNoKCcuLi9yZXNvdXJjZXMvdHJpY2tsZS5weT9jb3VudD0yJmRlbGF5
PTEwMCcpLnRoZW4oZnVuY3Rpb24ocmVzKSB7CisgICAgICAgICAgICBjbG9uZSA9IHJlcy5jbG9u
ZSgpOworICAgICAgICAgICAgcmVzcG9uc2UgPSByZXM7CisgICAgICAgICAgICByZXR1cm4gY2xv
bmUuYXJyYXlCdWZmZXIoKTsKKyAgICAgICAgfSkudGhlbihmdW5jdGlvbihyKSB7CisgICAgICAg
ICAgICBhc3NlcnRfZXF1YWxzKHIuYnl0ZUxlbmd0aCwgMjYpOworICAgICAgICAgICAgcmVzdWx0
ID0gcjsKKyAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5hcnJheUJ1ZmZlcigpOworICAgICAg
ICB9KS50aGVuKGZ1bmN0aW9uKHIpIHsKKyAgICAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMo
ciwgcmVzdWx0LCAiY2xvbmVkIHJlc3BvbnNlcyBzaG91bGQgcHJvdmlkZSB0aGUgc2FtZSBkYXRh
Iik7CisgICAgICAgIH0pOworICAgICB9LCAnQ2xvbmVkIHJlc3BvbnNlcyBzaG91bGQgcHJvdmlk
ZSB0aGUgc2FtZSBkYXRhJyk7CisKKyAgICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICAg
ICAgICB2YXIgY2xvbmU7CisgICAgICAgIHJldHVybiBmZXRjaCgnLi4vcmVzb3VyY2VzL3RyaWNr
bGUucHk/Y291bnQ9MiZkZWxheT0xMDAnKS50aGVuKGZ1bmN0aW9uKHJlcykgeworICAgICAgICAg
ICAgY2xvbmUgPSByZXMuY2xvbmUoKTsKKyAgICAgICAgICAgIHJlcy5ib2R5LmNhbmNlbCgpOwor
ICAgICAgICAgICAgYXNzZXJ0X3RydWUocmVzLmJvZHlVc2VkKTsKKyAgICAgICAgICAgIGFzc2Vy
dF9mYWxzZShjbG9uZS5ib2R5VXNlZCk7CisgICAgICAgICAgICByZXR1cm4gY2xvbmUuYXJyYXlC
dWZmZXIoKTsKKyAgICAgICAgfSkudGhlbihmdW5jdGlvbihyKSB7CisgICAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKHIuYnl0ZUxlbmd0aCwgMjYpOworICAgICAgICAgICAgYXNzZXJ0X3RydWUoY2xv
bmUuYm9keVVzZWQpOworICAgICAgICB9KTsKKyAgICB9LCAnQ2FuY2VsbGluZyBzdHJlYW0gc2hv
dWxkIG5vdCBhZmZlY3QgY2xvbmVkIG9uZScpOworCiAgICAgPC9zY3JpcHQ+CiAgIDwvYm9keT4K
IDwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287249</attachid>
            <date>2016-08-28 23:20:35 -0700</date>
            <delta_ts>2016-08-28 23:51:32 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-161137-20160829081825.patch</filename>
            <type>text/plain</type>
            <size>12998</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1MTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmJhZjVmYjFmMjM4ZDNj
MDA2Njc1Nzc0ZTZkMzNkOGI5YTMwMWQ4ZS4uODQ3MzE1NzBkNTEyZjkxOTRiMmU5ZWM3NDU0YzBl
NjQ5ZWYxNTA2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE2LTA4LTI4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbRmV0Y2ggQVBJXSBFbnN1
cmUgcmVzcG9uc2UgY2xvbmluZyB3b3JrcyB3aGVuIGRhdGEgaXMgbG9hZGluZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxMTM3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9mZXRj
aC9jbG9uZS1hZnRlci1sb2FkLWlzLWZpbmlzaGVkLmh0bWwgYW5kIHVwZGF0ZWQgd3B0IHRlc3QK
KworICAgICAgICBGZXRjaEJvZHkgaXMgb25seSBhYmxlIHRvIGNsb25lIGRhdGEgd2hlbiByZXF1
ZXN0ZWQgYnkgUmVzcG9uc2UgaW4gY2FzZSB0aGUgZGF0YSBpcyBhbHJlYWR5IHRoZXJlLgorICAg
ICAgICBJZiBkYXRhIGlzIGxvYWRlZCBmcm9tIEZldGNoTG9hZGVyLCBlYWNoIHJlY2VpdmVkIGNo
dW5rIHNob3VsZCBiZSBnaXZlbiB0byBlYWNoIGNsb25lZCByZXNwb25zZS4KKyAgICAgICAgVGhl
IHNpbXBsZXN0IGFwcHJvYWNoIGlzIHRvIGNyZWF0ZSBhIFJlYWRhYmxlU3RyZWFtIGJvZHkgZm9y
IHRoZSBjbG9uZWQgUmVzcG9uc2UgYW5kIHVzZSBpdCBmb3IgdGhlIHRlZWluZy4KKworICAgICAg
ICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
ZXRjaFJlc3BvbnNlOjpCb2R5TG9hZGVyOjpkaWRTdWNjZWVkKTogUG9zdHBvbmUgc3RyZWFtIGNs
b3NpbmcgaWYgdGhlcmUgaXMgc3RpbGwgZGF0YSB0byBlbnF1ZXVlIGluIHRoZSBGZXRjaEJvZHku
CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmg6CisgICAgICAgICogTW9k
dWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0Zl
dGNoUmVzcG9uc2UuanM6CisgICAgICAgIChjbG9uZSk6IElmIHJlc3BvbnNlIGlzIGJlaW5nIGxv
YWRlZCwgY3JlYXRlIGEgUmVhZGFibGVTdHJlYW0gYm9keSBzbyB0aGF0IGxvYWRlZCBkYXRhIGNs
b25pbmcgaXMgaGFuZGxlZCBieSBSZWFkYWJsZVN0cmVhbSB0ZWUuCisgICAgICAgICogTW9kdWxl
cy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzOiBSZXN0cmljdCBmaXJzdFJlYWRD
YWxsYmFjayB0byB0aGUgY2FzZSBvZiBhIHJlYWRhYmxlIFJlYWRhYmxlU3RyZWFtLgorICAgICAg
ICBJZiBzdHJlYW0gaXMgZXJyb3JlZCBvciBjbG9zZWQsIEZldGNoUmVzcG9uc2Ugd2lsbCBhbHJl
YWR5IGhhdmUgZGlzcG9zZWQgb2YgaXRzIHNvdXJjZS4KKyAgICAgICAgKHJlYWRGcm9tUmVhZGFi
bGVTdHJlYW1EZWZhdWx0UmVhZGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVp
bHRpbk5hbWVzLmg6CisKIDIwMTYtMDgtMjggIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUu
Y29tPgogCiAgICAgICAgIGRvY3VtZW50LnRpdGxlIHNldHRlciBjYW4ndCB0aHJvdy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCmluZGV4IGQxZGVi
MDE5ZTAzNGM4OTE0MThhYmZjNWEwZmJjMTJhNTQxNGIxOWEuLmNhNDUyYTAwNzAwOTE0MzhjYWY5
MDcxNDZlY2UzZWEzMTY5Y2I4NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlc3BvbnNlLmNwcApAQCAtMTI3LDEzICsxMjcsMTYgQEAgY29uc3QgU3RyaW5nJiBG
ZXRjaFJlc3BvbnNlOjp1cmwoKSBjb25zdAogdm9pZCBGZXRjaFJlc3BvbnNlOjpCb2R5TG9hZGVy
OjpkaWRTdWNjZWVkKCkKIHsKICAgICBBU1NFUlQobV9yZXNwb25zZS5oYXNQZW5kaW5nQWN0aXZp
dHkoKSk7CisgICAgbV9yZXNwb25zZS5tX2JvZHkubG9hZGluZ1N1Y2NlZWRlZCgpOworCiAjaWYg
RU5BQkxFKFNUUkVBTVNfQVBJKQotICAgIGlmIChtX3Jlc3BvbnNlLm1fcmVhZGFibGVTdHJlYW1T
b3VyY2UpIHsKKyAgICBpZiAobV9yZXNwb25zZS5tX3JlYWRhYmxlU3RyZWFtU291cmNlICYmIG1f
cmVzcG9uc2UubV9ib2R5LnR5cGUoKSAhPSBGZXRjaEJvZHk6OlR5cGU6OkxvYWRlZCkgeworICAg
ICAgICAvLyBXZSBvbmx5IGNsb3NlIHRoZSBzdHJlYW0gaWYgRmV0Y2hCb2R5IGFscmVhZHkgZW5x
dWV1ZWQgZGF0YS4KKyAgICAgICAgLy8gT3RoZXJ3aXNlLCBGZXRjaEJvZHkgd2lsbCBjbG9zZSB0
aGUgc3RyZWFtIHdoZW4gZW5xdWV1aW5nIGRhdGEuCiAgICAgICAgIG1fcmVzcG9uc2UubV9yZWFk
YWJsZVN0cmVhbVNvdXJjZS0+Y2xvc2UoKTsKICAgICAgICAgbV9yZXNwb25zZS5tX3JlYWRhYmxl
U3RyZWFtU291cmNlID0gbnVsbHB0cjsKICAgICB9CiAjZW5kaWYKLSAgICBtX3Jlc3BvbnNlLm1f
Ym9keS5sb2FkaW5nU3VjY2VlZGVkKCk7CiAKICAgICBpZiAobV9sb2FkZXItPmlzU3RhcnRlZCgp
KQogICAgICAgICBtX3Jlc3BvbnNlLm1fYm9keUxvYWRlciA9IE51bGxvcHQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCmluZGV4IDg0ODYyNTE0MDUwN2Q4
MGM4MzZkNzE5NTVhMWIzYjZmZGIyOGIyNmQuLjQ1Y2FjY2UxMjk2YmI3ZDdiYTkxYjk4YzA3YzEy
MTJhMDBiMWQ5MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0
Y2hSZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNw
b25zZS5oCkBAIC04NSw2ICs4NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbnN1bWVCb2R5QXNT
dHJlYW0oKTsKICAgICB2b2lkIGNhbmNlbCgpOwogI2VuZGlmCisgICAgYm9vbCBpc0xvYWRpbmco
KSBjb25zdCB7IHJldHVybiBib2R5KCkudHlwZSgpID09IEZldGNoQm9keTo6VHlwZTo6TG9hZGlu
ZzsgfQogCiBwcml2YXRlOgogICAgIEZldGNoUmVzcG9uc2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYsIEZldGNoQm9keSYmLCBSZWY8RmV0Y2hIZWFkZXJzPiYmLCBSZXNvdXJjZVJlc3BvbnNlJiYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNl
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5pZGwKaW5k
ZXggYmUzYzJjZTAyOTM3ZjYyMzhmODY1ZDkyMTkyMjZiNmZiMWQxNzAxYy4uOWI0NTg5YzEwMzA1
ODYzODgzZDI4YzM5M2Y0NjJiYTQ4YzI1YmM4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRsCkBAIC03MCw2ICs3MCw3IEBAIGludGVyZmFjZSBG
ZXRjaFJlc3BvbnNlIHsKICAgICBbQ29uZGl0aW9uYWw9U1RSRUFNU19BUEksIFByaXZhdGVJZGVu
dGlmaWVyXSBQcm9taXNlIGZpbmlzaENvbnN1bWluZ1N0cmVhbSgpOwogCiAgICAgW1ByaXZhdGVJ
ZGVudGlmaWVyXSBQcm9taXNlIGNvbnN1bWUodW5zaWduZWQgc2hvcnQgdHlwZSk7CisgICAgW1By
aXZhdGVJZGVudGlmaWVyXSBib29sZWFuIGlzTG9hZGluZygpOwogICAgIFtQcml2YXRlSWRlbnRp
ZmllciwgUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHNldFN0YXR1cyh1bnNpZ25lZCBzaG9ydCBzdGF0
dXMsIERPTVN0cmluZyBzdGF0dXNUZXh0KTsKICAgICBbQ2FsbFdpdGg9U2NyaXB0U3RhdGUsIFBy
aXZhdGVJZGVudGlmaWVyXSB2b2lkIGluaXRpYWxpemVXaXRoKGFueSBib2R5KTsKICAgICBbUHJp
dmF0ZUlkZW50aWZpZXIsIE5ld09iamVjdF0gUmVhZGFibGVTdHJlYW1Tb3VyY2UgY3JlYXRlUmVh
ZGFibGVTdHJlYW1Tb3VyY2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmV0Y2gvRmV0Y2hSZXNwb25zZS5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0
Y2hSZXNwb25zZS5qcwppbmRleCA2MzNhNGYwMmExMzFkODQ4MTg5ZjUwMTFhOTA4YTM0NjBiYmMz
ODVkLi5hMjhkMmE4YzU1NThhY2JmYTc1YmQ0ZGU5NGU2NzNkMjkwNTUyY2MxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmpzCkBAIC04Nyw2ICs4Nywx
NCBAQCBmdW5jdGlvbiBjbG9uZSgpCiAgICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJDYW5u
b3QgY2xvbmUgYSBkaXN0dXJiZWQgUmVzcG9uc2UiKTsKIAogICAgIHZhciBjbG9uZWQgPSBAUmVz
cG9uc2UucHJvdG90eXBlLkBjbG9uZUZvckpTLkBjYWxsKHRoaXMpOworCisgICAgLy8gTGV0J3Mg
Y3JlYXRlIEBib2R5IGlmIHJlc3BvbnNlIGJvZHkgaXMgbG9hZGluZyB0byBwcm92aWRlIGRhdGEg
dG8gYm90aCBjbG9uZXMuCisgICAgaWYgKEBSZXNwb25zZS5wcm90b3R5cGUuQGlzTG9hZGluZy5A
Y2FsbCh0aGlzKSAmJiAhdGhpcy5AYm9keSkgeworICAgICAgICB2YXIgc291cmNlID0gQFJlc3Bv
bnNlLnByb3RvdHlwZS5AY3JlYXRlUmVhZGFibGVTdHJlYW1Tb3VyY2UuQGNhbGwodGhpcyk7Cisg
ICAgICAgIEBhc3NlcnQoISFzb3VyY2UpOworICAgICAgICB0aGlzLkBib2R5ID0gbmV3IEBSZWFk
YWJsZVN0cmVhbShzb3VyY2UpOworICAgIH0KKwogICAgIGlmICh0aGlzLkBib2R5KSB7CiAgICAg
ICAgIHZhciB0ZWVkUmVhZGFibGVTdHJlYW1zID0gQHRlZVJlYWRhYmxlU3RyZWFtKHRoaXMuQGJv
ZHksIGZhbHNlKTsKICAgICAgICAgdGhpcy5AYm9keSA9IHRlZWRSZWFkYWJsZVN0cmVhbXNbMF07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJl
YW1JbnRlcm5hbHMuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVT
dHJlYW1JbnRlcm5hbHMuanMKaW5kZXggNzNmYzRlM2NmN2Q2MDRlNTAxNDhhM2MzZThmZjJkM2M5
ODQyYjEyMy4uZWU1YjlkNDE3OWE1MDUwNGI1MWFhY2I1YTY2OTU0NmI5ZTNmNzk3MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJu
YWxzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVh
bUludGVybmFscy5qcwpAQCAtMzQzLDcgKzM0Myw3IEBAIGZ1bmN0aW9uIHJlYWRGcm9tUmVhZGFi
bGVTdHJlYW1EZWZhdWx0UmVhZGVyKHJlYWRlcikKICAgICBAYXNzZXJ0KCEhc3RyZWFtKTsKIAog
ICAgIC8vIE5hdGl2ZSBzb3VyY2VzIG1heSB3YW50IHRvIHN0YXJ0IGVucXVldWVpbmcgYXQgdGhl
IHRpbWUgb2YgdGhlIGZpcnN0IHJlYWQgcmVxdWVzdC4KLSAgICBpZiAoIXN0cmVhbS5AZGlzdHVy
YmVkICYmIHN0cmVhbS5AdW5kZXJseWluZ1NvdXJjZS5AZmlyc3RSZWFkQ2FsbGJhY2spCisgICAg
aWYgKCFzdHJlYW0uQGRpc3R1cmJlZCAmJiBzdHJlYW0uQHN0YXRlID09PSBAc3RyZWFtUmVhZGFi
bGUgJiYgc3RyZWFtLkB1bmRlcmx5aW5nU291cmNlLkBmaXJzdFJlYWRDYWxsYmFjaykKICAgICAg
ICAgc3RyZWFtLkB1bmRlcmx5aW5nU291cmNlLkBmaXJzdFJlYWRDYWxsYmFjaygpOwogCiAgICAg
c3RyZWFtLkBkaXN0dXJiZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IDhiYjRmZjhkZDExODNlZjQxY2VkOTVjNTcw
OTJlYWEyOGFlNmUwMjcuLjI5NGZmYzI2NWE5YzJhYTk0MTQxNjkwZjhiYjdlZGYxMjkxNzA0ZGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVz
LmgKQEAgLTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKGdldFRy
YWNrcykgXAogICAgIG1hY3JvKGluaXRpYWxpemVXaXRoKSBcCiAgICAgbWFjcm8oaXNEaXN0dXJi
ZWQpIFwKKyAgICBtYWNybyhpc0xvYWRpbmcpIFwKICAgICBtYWNybyhsb2NhbFN0cmVhbXMpIFwK
ICAgICBtYWNybyhtYWtlVGhpc1R5cGVFcnJvcikgXAogICAgIG1hY3JvKG1ha2VHZXR0ZXJUeXBl
RXJyb3IpIFwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCBiMTNiYTRjOWIwMTY3Mzk0YjkyYTI5N2NkYzg5ZGQyY2Q2YTg1NmNi
Li42ZTU3MjU4MDk2YmE1NzI1MjEwZmUxZTFlNTlhNzY4ZjU4NWYxOWMyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTYtMDgtMjggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgor
CisgICAgICAgIFtGZXRjaCBBUEldIEVuc3VyZSByZXNwb25zZSBjbG9uaW5nIHdvcmtzIHdoZW4g
ZGF0YSBpcyBsb2FkaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjExMzcKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAg
ICAgICAqIGh0dHAvdGVzdHMvZmV0Y2gvY2xvbmUtcmVzcG9uc2UtYm9keS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvZmV0Y2gvY2xvbmUtcmVzcG9uc2UtYm9keS5o
dG1sOiBBZGRlZC4KKwogMjAxNi0wOC0yOCAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJv
QGlnYWxpYS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGZsYWtpbmVzcyBleHBlY3RhdGlvbnMgZnJv
bSBzd2l0Y2ggdG8gdGhyZWFkZWQgY29tcG9zaXRvcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKaW5kZXggZTU4ZmIyZTM5M2FmODRlZGNhMDQ3NjMwN2RjMGQyNTRmYWFmOWIwNS4uMDM2MzMw
MjlhY2ZiNmY0MjU2YWJkYmQ0MzJkMWUyOTRlZDU3MDhhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTYtMDgtMjggIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFtGZXRjaCBBUEldIEVuc3VyZSByZXNwb25zZSBj
bG9uaW5nIHdvcmtzIHdoZW4gZGF0YSBpcyBsb2FkaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjExMzcKKworICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBBZGxlci4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVz
cG9uc2UvcmVzcG9uc2UtY2xvbmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9hcGkvcmVzcG9uc2UvcmVzcG9uc2UtY2xvbmUuaHRtbDogTmV3IHRlc3Rz
IGhpZ2hseSBpbnNwaXJlZCBmcm9tIENocm9taXVtIHNpbWlsYXIgdGVzdHMuCisKIDIwMTYtMDgt
MjcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFtGZXRjaCBB
UEldIE9wYXF1ZSByZXNwb25zZXMgc2hvdWxkIG5vdCBoYXZlIGFueSBib2R5CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2ZldGNoL2Nsb25lLXJlc3BvbnNlLWJvZHktZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9mZXRjaC9jbG9uZS1yZXNwb25zZS1ib2R5
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNWE5OGFkYTVmYjUzNGI0NzY0OGNjMjFmZjEyM2Uw
NTk1ODg4ZDQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9mZXRj
aC9jbG9uZS1yZXNwb25zZS1ib2R5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworUEFT
UyBFbnN1cmUgdGhhdCBjbG9uaW5nIHdvcmtzIHdoZW4gbG9hZCBpcyBmaW5pc2hlZCAKK1BBU1Mg
RW5zdXJlIHRoYXQgY2xvbmluZyB3b3JrcyB3aGVuIGxvYWQgaXMgb25nb2luZyAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9mZXRjaC9jbG9uZS1yZXNwb25zZS1ib2R5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2ZldGNoL2Nsb25lLXJlc3BvbnNlLWJvZHkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44OGIzYTkyNDQyYmMyMjI2NzBhMTJkZTY5YjNiYTNlYzhjMDZhMDMyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9mZXRjaC9jbG9uZS1yZXNw
b25zZS1ib2R5Lmh0bWwKQEAgLTAsMCArMSw1MSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4K
KyAgPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAgIDx0aXRsZT5SZXNwb25z
ZSBjbG9uZSBhZnRlciBsb2FkIGlzIGZpbmlzaGVkPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorICA8L2hlYWQ+CisgIDxi
b2R5PgorICAgIDxzY3JpcHQ+Citwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICAgIHZhciBj
bG9uZTsKKyAgICByZXR1cm4gZmV0Y2goJy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMn
KS50aGVuKGZ1bmN0aW9uKHJlcykgeworICAgICAgICB2YXIgcmVzb2x2ZUZ1bmN0aW9uOworICAg
ICAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAgICAg
ICByZXNvbHZlRnVuY3Rpb24gPSByZXNvbHZlOworICAgICAgICB9KTsKKyAgICAgICAgc2V0VGlt
ZW91dCgoKSA9PiB7CisgICAgICAgICAgICAvLyBMb2FkIHNob3VsZCBiZSBmaW5pc2hlZCBieSBu
b3cKKyAgICAgICAgICAgIGNsb25lID0gcmVzLmNsb25lKCk7CisgICAgICAgICAgICB2YXIgc3Ry
aW5nOworICAgICAgICAgICAgcmV0dXJuIHJlcy50ZXh0KCkudGhlbigodmFsdWUpID0+IHsKKyAg
ICAgICAgICAgICAgICAgc3RyaW5nID0gdmFsdWU7CisgICAgICAgICAgICAgICAgIHJldHVybiBj
bG9uZS50ZXh0KCk7CisgICAgICAgICAgICB9KS50aGVuKCh2YWx1ZSkgPT4geworICAgICAgICAg
ICAgICAgIGFzc2VydF9lcXVhbHModmFsdWUsIHN0cmluZyk7CisgICAgICAgICAgICAgICAgcmVz
b2x2ZUZ1bmN0aW9uKCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSwgMTAwMCk7CisgICAg
ICAgIHJldHVybiBwcm9taXNlOworICAgIH0pOworfSwgJ0Vuc3VyZSB0aGF0IGNsb25pbmcgd29y
a3Mgd2hlbiBsb2FkIGlzIGZpbmlzaGVkJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7
CisgICAgdmFyIGNsb25lOworICAgIHJldHVybiBmZXRjaCgnL2Rvd25sb2FkLWpzb24td2l0aC1k
ZWxheS5waHA/aXRlcmF0aW9uPTImZGVsYXk9MScpLnRoZW4oZnVuY3Rpb24ocmVzKSB7CisgICAg
ICAgIC8vIEFsbCBkYXRhIHNob3VsZCBub3QgYmUgZW5xdWV1ZWQgeWV0LgorICAgICAgICBjbG9u
ZSA9IHJlcy5jbG9uZSgpOworICAgICAgICB2YXIgc3RyaW5nOworICAgICAgICByZXR1cm4gcmVz
LnRleHQoKS50aGVuKCh2YWx1ZSkgPT4geworICAgICAgICAgICAgc3RyaW5nID0gdmFsdWU7Cisg
ICAgICAgICAgICByZXR1cm4gY2xvbmUudGV4dCgpOworICAgICAgICB9KS50aGVuKCh2YWx1ZSkg
PT4geworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyh2YWx1ZSwgc3RyaW5nKTsKKyAgICAgICAg
fSk7CisgICAgfSk7Cit9LCAnRW5zdXJlIHRoYXQgY2xvbmluZyB3b3JrcyB3aGVuIGxvYWQgaXMg
b25nb2luZycpOworCisgICAgPC9zY3JpcHQ+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBp
L3Jlc3BvbnNlL3Jlc3BvbnNlLWNsb25lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3Jlc3BvbnNlL3Jlc3BvbnNlLWNs
b25lLWV4cGVjdGVkLnR4dAppbmRleCAwYjBkMTY3YjMwODViZWExNTBlM2YxYzBhNWZjMGY3MmUx
YTdlOTk5Li44OGU5M2Y1NGI1OGY1ZmFjNzQ0NmU2MTdjYzU0YWExZjA2OTQyNzJlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2Fw
aS9yZXNwb25zZS9yZXNwb25zZS1jbG9uZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVzcG9uc2UvcmVzcG9u
c2UtY2xvbmUtZXhwZWN0ZWQudHh0CkBAIC00LDQgKzQsNiBAQCBQQVNTIENoZWNrIFJlc3BvbnNl
J3MgY2xvbmUgaGFzIHRoZSBleHBlY3RlZCBhdHRyaWJ1dGUgdmFsdWVzCiBQQVNTIENoZWNrIG9y
Z2luYWwgcmVzcG9uc2UncyBib2R5IGFmdGVyIGNsb25pbmcgCiBQQVNTIENoZWNrIGNsb25lZCBy
ZXNwb25zZSdzIGJvZHkgCiBQQVNTIENhbm5vdCBjbG9uZSBhIGRpc3R1cmJlZCByZXNwb25zZSAK
K1BBU1MgQ2xvbmVkIHJlc3BvbnNlcyBzaG91bGQgcHJvdmlkZSB0aGUgc2FtZSBkYXRhIAorUEFT
UyBDYW5jZWxsaW5nIHN0cmVhbSBzaG91bGQgbm90IGFmZmVjdCBjbG9uZWQgb25lIAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L2FwaS9yZXNwb25zZS9yZXNwb25zZS1jbG9uZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVzcG9uc2UvcmVzcG9uc2UtY2xvbmUu
aHRtbAppbmRleCA4OGI5MzQ1OGIxM2E5NjUwYzI2Y2MyNGU3YTI3ZjRjNWJhZWM0ZDI3Li4xZWZi
NGRhNWVlZjZkYjE0YWZjYjEwNTY0YzUwNjFjNTRiNTdmODkzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXNwb25zZS9y
ZXNwb25zZS1jbG9uZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3Jlc3BvbnNlL3Jlc3BvbnNlLWNsb25lLmh0bWwKQEAgLTYx
LDYgKzYxLDM4IEBACiAgICAgICAgICAgICAgICJFeHBlY3QgVHlwZUVycm9yIGV4Y2VwdGlvbiIp
OwogICAgICAgICB9KTsKICAgICAgIH0sICJDYW5ub3QgY2xvbmUgYSBkaXN0dXJiZWQgcmVzcG9u
c2UiKTsKKworICAgIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgICAgICAgIHZhciBjbG9u
ZTsKKyAgICAgICAgdmFyIHJlc3VsdDsKKyAgICAgICAgdmFyIHJlc3BvbnNlOworICAgICAgICBy
ZXR1cm4gZmV0Y2goJy4uL3Jlc291cmNlcy90cmlja2xlLnB5P2NvdW50PTImZGVsYXk9MTAwJyku
dGhlbihmdW5jdGlvbihyZXMpIHsKKyAgICAgICAgICAgIGNsb25lID0gcmVzLmNsb25lKCk7Cisg
ICAgICAgICAgICByZXNwb25zZSA9IHJlczsKKyAgICAgICAgICAgIHJldHVybiBjbG9uZS5hcnJh
eUJ1ZmZlcigpOworICAgICAgICB9KS50aGVuKGZ1bmN0aW9uKHIpIHsKKyAgICAgICAgICAgIGFz
c2VydF9lcXVhbHMoci5ieXRlTGVuZ3RoLCAyNik7CisgICAgICAgICAgICByZXN1bHQgPSByOwor
ICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmFycmF5QnVmZmVyKCk7CisgICAgICAgIH0pLnRo
ZW4oZnVuY3Rpb24ocikgeworICAgICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhyLCByZXN1
bHQsICJjbG9uZWQgcmVzcG9uc2VzIHNob3VsZCBwcm92aWRlIHRoZSBzYW1lIGRhdGEiKTsKKyAg
ICAgICAgfSk7CisgICAgIH0sICdDbG9uZWQgcmVzcG9uc2VzIHNob3VsZCBwcm92aWRlIHRoZSBz
YW1lIGRhdGEnKTsKKworICAgIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgICAgICAgIHZh
ciBjbG9uZTsKKyAgICAgICAgcmV0dXJuIGZldGNoKCcuLi9yZXNvdXJjZXMvdHJpY2tsZS5weT9j
b3VudD0yJmRlbGF5PTEwMCcpLnRoZW4oZnVuY3Rpb24ocmVzKSB7CisgICAgICAgICAgICBjbG9u
ZSA9IHJlcy5jbG9uZSgpOworICAgICAgICAgICAgcmVzLmJvZHkuY2FuY2VsKCk7CisgICAgICAg
ICAgICBhc3NlcnRfdHJ1ZShyZXMuYm9keVVzZWQpOworICAgICAgICAgICAgYXNzZXJ0X2ZhbHNl
KGNsb25lLmJvZHlVc2VkKTsKKyAgICAgICAgICAgIHJldHVybiBjbG9uZS5hcnJheUJ1ZmZlcigp
OworICAgICAgICB9KS50aGVuKGZ1bmN0aW9uKHIpIHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMoci5ieXRlTGVuZ3RoLCAyNik7CisgICAgICAgICAgICBhc3NlcnRfdHJ1ZShjbG9uZS5ib2R5
VXNlZCk7CisgICAgICAgIH0pOworICAgIH0sICdDYW5jZWxsaW5nIHN0cmVhbSBzaG91bGQgbm90
IGFmZmVjdCBjbG9uZWQgb25lJyk7CisKICAgICA8L3NjcmlwdD4KICAgPC9ib2R5PgogPC9odG1s
Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>