<?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>175732</bug_id>
          
          <creation_ts>2017-08-18 12:08:34 -0700</creation_ts>
          <short_desc>[Cache API] Add support for being loaded responses</short_desc>
          <delta_ts>2017-08-18 18:30:54 -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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <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>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1340169</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-18 12:08:34 -0700</bug_when>
    <thetext>[Cache API] Add support for being loaded responses</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1340199</commentid>
    <comment_count>1</comment_count>
      <attachid>318532</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-18 13:03:11 -0700</bug_when>
    <thetext>Created attachment 318532
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1340238</commentid>
    <comment_count>2</comment_count>
      <attachid>318543</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-18 14:29:34 -0700</bug_when>
    <thetext>Created attachment 318543
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1340255</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-18 15:03:20 -0700</bug_when>
    <thetext>orange bubbles!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1340270</commentid>
    <comment_count>4</comment_count>
      <attachid>318551</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-18 15:32:16 -0700</bug_when>
    <thetext>Created attachment 318551
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1340284</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-18 16:09:47 -0700</bug_when>
    <thetext>No more orange bubbles related to this patch apparently...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1340309</commentid>
    <comment_count>6</comment_count>
      <attachid>318551</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-18 16:35:15 -0700</bug_when>
    <thetext>Comment on attachment 318551
Patch

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

r=me with comments.

&gt; Source/WebCore/Modules/fetch/FetchResponse.cpp:137
&gt; +        responseDataCallback(m_response.body().consumer().takeData());

Is it ok to just steal the data from m_response?

&gt; Source/WebCore/Modules/fetch/FetchResponse.cpp:152
&gt; +        responseDataCallback(Exception { TypeError });

Would be nice to pass a second parameter, like a couple of lines above.

&gt; Source/WebCore/Modules/fetch/FetchResponse.cpp:282
&gt; +    if (!isLoading())

I think this should either be an assertion OR it should call the callback before returning. Otherwise, it is confusing from the client&apos;s point of view that the callback may or may not get called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1340332</commentid>
    <comment_count>7</comment_count>
      <attachid>318551</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-18 17:26:14 -0700</bug_when>
    <thetext>Comment on attachment 318551
Patch

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

&gt;&gt; Source/WebCore/Modules/fetch/FetchResponse.cpp:137
&gt;&gt; +        responseDataCallback(m_response.body().consumer().takeData());
&gt; 
&gt; Is it ok to just steal the data from m_response?

Yes, this is the principle behind consuming a response.
I&apos;ll use consume to make that clearer.

&gt;&gt; Source/WebCore/Modules/fetch/FetchResponse.cpp:152
&gt;&gt; +        responseDataCallback(Exception { TypeError });
&gt; 
&gt; Would be nice to pass a second parameter, like a couple of lines above.

OK

&gt;&gt; Source/WebCore/Modules/fetch/FetchResponse.cpp:282
&gt;&gt; +    if (!isLoading())
&gt; 
&gt; I think this should either be an assertion OR it should call the callback before returning. Otherwise, it is confusing from the client&apos;s point of view that the callback may or may not get called.

I&apos;ll change to an ASSERT(isLoading()).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1340337</commentid>
    <comment_count>8</comment_count>
      <attachid>318564</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-18 17:30:14 -0700</bug_when>
    <thetext>Created attachment 318564
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1340340</commentid>
    <comment_count>9</comment_count>
      <attachid>318566</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-18 17:47:57 -0700</bug_when>
    <thetext>Created attachment 318566
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1340348</commentid>
    <comment_count>10</comment_count>
      <attachid>318566</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-18 18:29:54 -0700</bug_when>
    <thetext>Comment on attachment 318566
Patch for landing

Clearing flags on attachment: 318566

Committed r220948: &lt;http://trac.webkit.org/changeset/220948&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1340349</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-18 18:29:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1340350</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-08-18 18:30:54 -0700</bug_when>
    <thetext>&lt;rdar://problem/33974575&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318532</attachid>
            <date>2017-08-18 13:03:11 -0700</date>
            <delta_ts>2017-08-18 14:29:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175732-20170818130310.patch</filename>
            <type>text/plain</type>
            <size>13719</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwOTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGE4YTIwYmQxYzU1N2Uy
OGI2Y2QxODEyMzA0MGI1YWM5ZmRhZjczNi4uMGY2MDU0MzkzMGYwMGNhZDI2YzgyMDI5OWU2YWQw
NGMyMjI2ZDc4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI5IEBACiAyMDE3LTA4LTE4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBbQ2FjaGUgQVBJXSBBZGQg
c3VwcG9ydCBmb3IgYmVpbmcgbG9hZGVkIHJlc3BvbnNlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NzMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyBhbmQgcmViYXNl
ZCB0ZXN0cy4KKworICAgICAgICBJbnRyb2R1Y2luZyBhIGNhbGxiYWNrLWJhc2VkIG1ldGhvZCB0
byBjb25zdW1lIHRoZSBib2R5IHdoZW4gdGhlIGxvYWQgaXMgZmluaXNoZWQuCisgICAgICAgIFVz
aW5nIHRoYXQgbmV3IG1ldGhvZCBpbiBDYWNoZTo6cHV0IGFuZCBjYWxsaW5nIGJhdGNoUHV0T3Bl
cmF0aW9uIHdoZW4gdGhlIGxvYWQgaXMgZmluaXNoZWQuCisKKyAgICAgICAgKiBNb2R1bGVzL2Nh
Y2hlL0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjpwdXQpOiBDaGFuZ2luZyBv
cmRlciBvZiBjaGVja3MgdG8gcmVkdWNlIHRlc3QgZmxha2luZXNzIHJpc2tzIGFzIHRoZXJlIGlz
IG5vdCB5ZXQgc3VwcG9ydCBmb3IgcHV0dGluZyByZXNwb25zZXMgd2l0aCBSZWFkYWJsZVN0cmVh
bS4KKyAgICAgICAgKFdlYkNvcmU6OnRvQ29ubmVjdGlvblJlY29yZCk6CisgICAgICAgIChXZWJD
b3JlOjpDYWNoZTo6YmF0Y2hQdXRPcGVyYXRpb24pOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUv
Q2FjaGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RmV0Y2hSZXNwb25zZTo6Qm9keUxvYWRlcjo6ZGlkU3VjY2VlZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpGZXRjaFJlc3BvbnNlOjpCb2R5TG9hZGVyOjpkaWRGYWlsKToKKyAg
ICAgICAgKFdlYkNvcmU6OkZldGNoUmVzcG9uc2U6OmNvbnN1bWVCb2R5KToKKyAgICAgICAgKFdl
YkNvcmU6OkZldGNoUmVzcG9uc2U6OmNvbnN1bWVCb2R5V2hlbkxvYWRlZCk6CisgICAgICAgICog
TW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmg6CisKKzIwMTctMDgtMTggIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCiAgICAgICAgIFtGZXRjaCBBUEldIEFkZCBzdXBwb3J0
IGZvciBhIGNhbGxiYWNrLWJhc2VkIGZldGNoCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU3MTAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9DYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0Nh
Y2hlLmNwcAppbmRleCBkZjZhMDc2ZTQ4OTBiNTQ3OTE2NmRhZDQzZTlhMzM4ZmU4MTEwZTI0Li4z
MDllNTlmOGU3MDcxOGM5NzViNGZiNDc1YmNlMTdhYjMwMDk2YmI2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL0NhY2hlLmNwcApAQCAtMTUwLDI5ICsxNTAsMzggQEAgdm9pZCBDYWNoZTo6
cHV0KFJlcXVlc3RJbmZvJiYgaW5mbywgUmVmPEZldGNoUmVzcG9uc2U+JiYgcmVzcG9uc2UsIERP
TVByb21pc2VEZWYKICAgICAgICAgfQogICAgIH0KIAotICAgIGlmIChyZXNwb25zZS0+aXNEaXN0
dXJiZWQoKSkgewotICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3Is
IEFTQ0lJTGl0ZXJhbCgiUmVzcG9uc2UgaXMgZGlzdHVyYmVkIG9yIGxvY2tlZCIpIH0pOworICAg
IGlmIChyZXNwb25zZS0+c3RhdHVzKCkgPT0gMjA2KSB7CisgICAgICAgIHByb21pc2UucmVqZWN0
KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJSZXNwb25zZSBpcyBhIDIwNiBw
YXJ0aWFsIikgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAocmVzcG9uc2Ut
PnN0YXR1cygpID09IDIwNikgewotICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBU
eXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVzcG9uc2UgaXMgYSAyMDYgcGFydGlhbCIpIH0pOwor
ICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgUmVhZGFibGVTdHJlYW0uCisgICAgaWYgKHJl
c3BvbnNlLT5pc1JlYWRhYmxlU3RyZWFtQm9keSgpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0
KEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yLCBBU0NJSUxpdGVyYWwoIkNhY2hpbmcgYSBS
ZXNwb25zZSB3aXRoIGRhdGEgc3RvcmVkIGluIGEgUmVhZGFibGVTdHJlYW0gaXMgbm90IHlldCBz
dXBwb3J0ZWQiKSB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIC8vIEZJWE1FOiBB
ZGQgc3VwcG9ydCBmb3IgYmVpbmcgbG9hZGVkIHJlc3BvbnNlcy4KLSAgICBpZiAocmVzcG9uc2Ut
PmlzTG9hZGluZygpKSB7Ci0gICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IE5vdFN1
cHBvcnRlZEVycm9yLCBBU0NJSUxpdGVyYWwoIkNhY2hpbmcgYSBsb2FkaW5nIFJlc3BvbnNlIGlz
IG5vdCB5ZXQgc3VwcG9ydGVkIikgfSk7CisgICAgaWYgKHJlc3BvbnNlLT5pc0Rpc3R1cmJlZCgp
KSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlM
aXRlcmFsKCJSZXNwb25zZSBpcyBkaXN0dXJiZWQgb3IgbG9ja2VkIikgfSk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKLSAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIFJlYWRhYmxlU3Ry
ZWFtLgotICAgIGlmIChyZXNwb25zZS0+aXNSZWFkYWJsZVN0cmVhbUJvZHkoKSkgewotICAgICAg
ICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBOb3RTdXBwb3J0ZWRFcnJvciwgQVNDSUlMaXRl
cmFsKCJDYWNoaW5nIGEgUmVzcG9uc2Ugd2l0aCBkYXRhIHN0b3JlZCBpbiBhIFJlYWRhYmxlU3Ry
ZWFtIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIikgfSk7CisgICAgaWYgKHJlc3BvbnNlLT5pc0xvYWRp
bmcoKSkgeworICAgICAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgICAgIHJlc3Bv
bnNlLT5jb25zdW1lQm9keVdoZW5Mb2FkZWQoW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBy
ZXF1ZXN0ID0gcmVxdWVzdC5yZWxlYXNlTm9uTnVsbCgpLCByZXNwb25zZSA9IFdURk1vdmUocmVz
cG9uc2UpLCB0aGlzXShFeGNlcHRpb25PcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZXNwb25z
ZUJvZHk+JiYgcmVzdWx0KSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlmIChyZXN1bHQuaGFzRXhj
ZXB0aW9uKCkpCisgICAgICAgICAgICAgICAgcHJvbWlzZS5yZWplY3QocmVzdWx0LnJlbGVhc2VF
eGNlcHRpb24oKSk7CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBiYXRjaFB1
dE9wZXJhdGlvbihyZXF1ZXN0LmdldCgpLCByZXNwb25zZS5nZXQoKSwgcmVzdWx0LnJlbGVhc2VS
ZXR1cm5WYWx1ZSgpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKEV4Y2VwdGlvbk9yPHZv
aWQ+JiYgcmVzdWx0KSBtdXRhYmxlIHsKKyAgICAgICAgICAgICAgICAgICAgcHJvbWlzZS5zZXR0
bGUoV1RGTW92ZShyZXN1bHQpKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgICAgICB9KTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGJhdGNoUHV0T3BlcmF0aW9uKCpyZXF1ZXN0LCBy
ZXNwb25zZS5nZXQoKSwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShFeGNlcHRpb25Pcjx2
b2lkPiYmIHJlc3VsdCkgbXV0YWJsZSB7CisgICAgYmF0Y2hQdXRPcGVyYXRpb24oKnJlcXVlc3Qs
IHJlc3BvbnNlLmdldCgpLCByZXNwb25zZS0+Y29uc3VtZUJvZHkoKSwgW3Byb21pc2UgPSBXVEZN
b3ZlKHByb21pc2UpXShFeGNlcHRpb25Pcjx2b2lkPiYmIHJlc3VsdCkgbXV0YWJsZSB7CiAgICAg
ICAgIHByb21pc2Uuc2V0dGxlKFdURk1vdmUocmVzdWx0KSk7CiAgICAgfSk7CiB9CkBAIC0yODMs
NyArMjkyLDcgQEAgdm9pZCBDYWNoZTo6YmF0Y2hEZWxldGVPcGVyYXRpb24oY29uc3QgRmV0Y2hS
ZXF1ZXN0JiByZXF1ZXN0LCBDYWNoZVF1ZXJ5T3B0aW9ucyYKICAgICB9KTsKIH0KIAotc3RhdGlj
IGlubGluZSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQgdG9Db25uZWN0aW9uUmVjb3Jk
KGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgRmV0Y2hSZXNwb25zZSYgcmVzcG9uc2UpCitz
dGF0aWMgaW5saW5lIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlY29yZCB0b0Nvbm5lY3Rpb25S
ZWNvcmQoY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXF1ZXN0LCBGZXRjaFJlc3BvbnNlJiByZXNwb25z
ZSwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVzcG9uc2VCb2R5JiYgcmVzcG9uc2VCb2R5KQog
ewogICAgIC8vIEZJWE1FOiBBZGQgYSBzZXRIVFRQSGVhZGVyRmllbGRzIG9uIFJlc291cmNlUmVz
cG9uc2VCYXNlLgogICAgIFJlc291cmNlUmVzcG9uc2UgY2FjaGVkUmVzcG9uc2UgPSByZXNwb25z
ZS5yZXNvdXJjZVJlc3BvbnNlKCk7CkBAIC0yOTUsMTQgKzMwNCwxNCBAQCBzdGF0aWMgaW5saW5l
IENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlY29yZCB0b0Nvbm5lY3Rpb25SZWNvcmQoY29uc3Qg
RmV0Y2hSZXF1ZQogCiAgICAgcmV0dXJuIHsgMCwKICAgICAgICAgcmVxdWVzdC5oZWFkZXJzKCku
Z3VhcmQoKSwgV1RGTW92ZShjYWNoZWRSZXF1ZXN0KSwgcmVxdWVzdC5mZXRjaE9wdGlvbnMoKSwg
cmVxdWVzdC5pbnRlcm5hbFJlcXVlc3RSZWZlcnJlcigpLAotICAgICAgICByZXNwb25zZS5oZWFk
ZXJzKCkuZ3VhcmQoKSwgV1RGTW92ZShjYWNoZWRSZXNwb25zZSksIHJlc3BvbnNlLmNvbnN1bWVC
b2R5KCkKKyAgICAgICAgcmVzcG9uc2UuaGVhZGVycygpLmd1YXJkKCksIFdURk1vdmUoY2FjaGVk
UmVzcG9uc2UpLCBXVEZNb3ZlKHJlc3BvbnNlQm9keSkKICAgICB9OwogfQogCi12b2lkIENhY2hl
OjpiYXRjaFB1dE9wZXJhdGlvbihjb25zdCBGZXRjaFJlcXVlc3QmIHJlcXVlc3QsIEZldGNoUmVz
cG9uc2UmIHJlc3BvbnNlLCBXVEY6OkZ1bmN0aW9uPHZvaWQoRXhjZXB0aW9uT3I8dm9pZD4mJik+
JiYgY2FsbGJhY2spCit2b2lkIENhY2hlOjpiYXRjaFB1dE9wZXJhdGlvbihjb25zdCBGZXRjaFJl
cXVlc3QmIHJlcXVlc3QsIEZldGNoUmVzcG9uc2UmIHJlc3BvbnNlLCBDYWNoZVN0b3JhZ2VDb25u
ZWN0aW9uOjpSZXNwb25zZUJvZHkmJiByZXNwb25zZUJvZHksIFdURjo6RnVuY3Rpb248dm9pZChF
eGNlcHRpb25Pcjx2b2lkPiYmKT4mJiBjYWxsYmFjaykKIHsKICAgICBWZWN0b3I8Q2FjaGVTdG9y
YWdlQ29ubmVjdGlvbjo6UmVjb3JkPiByZWNvcmRzOwotICAgIHJlY29yZHMuYXBwZW5kKHRvQ29u
bmVjdGlvblJlY29yZChyZXF1ZXN0LCByZXNwb25zZSkpOworICAgIHJlY29yZHMuYXBwZW5kKHRv
Q29ubmVjdGlvblJlY29yZChyZXF1ZXN0LCByZXNwb25zZSwgV1RGTW92ZShyZXNwb25zZUJvZHkp
KSk7CiAKICAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CiAgICAgbV9jb25uZWN0aW9uLT5i
YXRjaFB1dE9wZXJhdGlvbihtX2lkZW50aWZpZXIsIFdURk1vdmUocmVjb3JkcyksIFt0aGlzLCBj
YWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShWZWN0b3I8dWludDY0X3Q+JiYsIENhY2hlU3Rv
cmFnZUNvbm5lY3Rpb246OkVycm9yIGVycm9yKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0Nh
Y2hlLmgKaW5kZXggMDM0MzZkOWQwNWQ3NDZlYTVlNGU1ZWZjZDRiZThmMTZiZTgzZTIyOC4uYzk5
OGUwNzFjZWM2ZTQ4YWU2M2NiNzg2ZjZmNTE4ODdhODgzZTFjNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY2FjaGUvQ2FjaGUuaApAQCAtNjksNyArNjksNyBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxD
YWNoZVN0b3JhZ2VSZWNvcmQ+IHF1ZXJ5Q2FjaGVXaXRoVGFyZ2V0U3RvcmFnZShjb25zdCBGZXRj
aFJlcXVlc3QmLCBjb25zdCBDYWNoZVF1ZXJ5T3B0aW9ucyYsIGNvbnN0IFZlY3RvcjxDYWNoZVN0
b3JhZ2VSZWNvcmQ+Jik7CiAgICAgdm9pZCBxdWVyeUNhY2hlKFJlZjxGZXRjaFJlcXVlc3Q+JiYs
IENhY2hlUXVlcnlPcHRpb25zJiYsIFdURjo6RnVuY3Rpb248dm9pZChjb25zdCBWZWN0b3I8Q2Fj
aGVTdG9yYWdlUmVjb3JkPiYpPiYmKTsKICAgICB2b2lkIGJhdGNoRGVsZXRlT3BlcmF0aW9uKGNv
bnN0IEZldGNoUmVxdWVzdCYsIENhY2hlUXVlcnlPcHRpb25zJiYsIFdURjo6RnVuY3Rpb248dm9p
ZChFeGNlcHRpb25Pcjxib29sPiYmKT4mJik7Ci0gICAgdm9pZCBiYXRjaFB1dE9wZXJhdGlvbihj
b25zdCBGZXRjaFJlcXVlc3QmLCBGZXRjaFJlc3BvbnNlJiwgV1RGOjpGdW5jdGlvbjx2b2lkKEV4
Y2VwdGlvbk9yPHZvaWQ+JiYpPiYmKTsKKyAgICB2b2lkIGJhdGNoUHV0T3BlcmF0aW9uKGNvbnN0
IEZldGNoUmVxdWVzdCYsIEZldGNoUmVzcG9uc2UmLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpS
ZXNwb25zZUJvZHkmJiwgV1RGOjpGdW5jdGlvbjx2b2lkKEV4Y2VwdGlvbk9yPHZvaWQ+JiYpPiYm
KTsKIAogICAgIHZvaWQgdXBkYXRlUmVjb3JkcyhWZWN0b3I8Q2FjaGVTdG9yYWdlQ29ubmVjdGlv
bjo6UmVjb3JkPiYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlc3BvbnNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hS
ZXNwb25zZS5jcHAKaW5kZXggYTQxZmJhMDlkM2QzNzczMzUwNzk3OTA5ZTM5YTkyNDE2MDYxNmQy
Mi4uMDRlMGFlMjVlYmQ5ODA3ZTk0ZWIzNWEyYzgzN2Q2M2Q2YWZkYjk1NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCkBAIC0xMzIsNiArMTMy
LDggQEAgdm9pZCBGZXRjaFJlc3BvbnNlOjpCb2R5TG9hZGVyOjpkaWRTdWNjZWVkKCkKICAgICBp
ZiAobV9yZXNwb25zZS5tX3JlYWRhYmxlU3RyZWFtU291cmNlICYmICFtX3Jlc3BvbnNlLmJvZHko
KS5jb25zdW1lcigpLmhhc0RhdGEoKSkKICAgICAgICAgbV9yZXNwb25zZS5jbG9zZVN0cmVhbSgp
OwogI2VuZGlmCisgICAgaWYgKGF1dG8gcmVzcG9uc2VEYXRhQ2FsbGJhY2sgPSBXVEZNb3ZlKG1f
cmVzcG9uc2VEYXRhQ2FsbGJhY2spKQorICAgICAgICByZXNwb25zZURhdGFDYWxsYmFjayhtX3Jl
c3BvbnNlLmJvZHkoKS50YWtlKCkpOwogCiAgICAgaWYgKG1fbG9hZGVyLT5pc1N0YXJ0ZWQoKSkg
ewogICAgICAgICBSZWY8RmV0Y2hSZXNwb25zZT4gcHJvdGVjdG9yKG1fcmVzcG9uc2UpOwpAQCAt
MTQ1LDYgKzE0Nyw5IEBAIHZvaWQgRmV0Y2hSZXNwb25zZTo6Qm9keUxvYWRlcjo6ZGlkRmFpbChj
b25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKICAgICBpZiAoYXV0byByZXNwb25zZUNhbGxiYWNr
ID0gV1RGTW92ZShtX3Jlc3BvbnNlQ2FsbGJhY2spKQogICAgICAgICByZXNwb25zZUNhbGxiYWNr
KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgU3RyaW5nKGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9u
KCkpIH0pOwogCisgICAgaWYgKGF1dG8gcmVzcG9uc2VEYXRhQ2FsbGJhY2sgPSBXVEZNb3ZlKG1f
cmVzcG9uc2VEYXRhQ2FsbGJhY2spKQorICAgICAgICByZXNwb25zZURhdGFDYWxsYmFjayhFeGNl
cHRpb24geyBUeXBlRXJyb3IgfSk7CisKICNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCiAgICAgaWYg
KG1fcmVzcG9uc2UubV9yZWFkYWJsZVN0cmVhbVNvdXJjZSkgewogICAgICAgICBpZiAoIW1fcmVz
cG9uc2UubV9yZWFkYWJsZVN0cmVhbVNvdXJjZS0+aXNDYW5jZWxsaW5nKCkpCkBAIC0yNjAsNiAr
MjY1LDggQEAgdm9pZCBGZXRjaFJlc3BvbnNlOjpjb25zdW1lKHVuc2lnbmVkIHR5cGUsIFJlZjxE
ZWZlcnJlZFByb21pc2U+JiYgd3JhcHBlcikKIAogRmV0Y2hSZXNwb25zZTo6UmVzcG9uc2VEYXRh
IEZldGNoUmVzcG9uc2U6OmNvbnN1bWVCb2R5KCkKIHsKKyAgICBBU1NFUlQoIWlzTG9hZGluZygp
KTsKKwogICAgIGlmIChpc0JvZHlOdWxsKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCkBA
IC0yNjksNiArMjc2LDE3IEBAIEZldGNoUmVzcG9uc2U6OlJlc3BvbnNlRGF0YSBGZXRjaFJlc3Bv
bnNlOjpjb25zdW1lQm9keSgpCiAgICAgcmV0dXJuIGJvZHkoKS50YWtlKCk7CiB9CiAKK3ZvaWQg
RmV0Y2hSZXNwb25zZTo6Y29uc3VtZUJvZHlXaGVuTG9hZGVkKFJlc3BvbnNlRGF0YUNhbGxiYWNr
JiYgY2FsbGJhY2spCit7CisgICAgaWYgKCFpc0xvYWRpbmcoKSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgQVNTRVJUKCFtX2lzRGlzdHVyYmVkKTsKKyAgICBtX2lzRGlzdHVyYmVkID0gdHJ1ZTsK
KworICAgIG1fYm9keUxvYWRlci0+c2V0UmVzcG9uc2VEYXRhQ2FsbGJhY2soV1RGTW92ZShjYWxs
YmFjaykpOworfQorCiB2b2lkIEZldGNoUmVzcG9uc2U6OnNldEJvZHlEYXRhKFJlc3BvbnNlRGF0
YSYmIGRhdGEpCiB7CiAgICAgV1RGOjpzd2l0Y2hPbihkYXRhLCBbdGhpc10oUmVmPEZvcm1EYXRh
PiYgZm9ybURhdGEpIHsKQEAgLTMxNiw2ICszMzQsOCBAQCB2b2lkIEZldGNoUmVzcG9uc2U6OmNv
bnN1bWVCb2R5QXNTdHJlYW0oKQogCiAgICAgQVNTRVJUKG1fYm9keUxvYWRlcik7CiAKKyAgICBz
ZXRCb2R5KEZldGNoQm9keTo6cmVhZGFibGVTdHJlYW1Cb2R5KCkpOworCiAgICAgUmVmUHRyPFNo
YXJlZEJ1ZmZlcj4gZGF0YSA9IG1fYm9keUxvYWRlci0+c3RhcnRTdHJlYW1pbmcoKTsKICAgICBp
ZiAoZGF0YSkgewogICAgICAgICBpZiAoIW1fcmVhZGFibGVTdHJlYW1Tb3VyY2UtPmVucXVldWUo
ZGF0YS0+dHJ5Q3JlYXRlQXJyYXlCdWZmZXIoKSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgKaW5kZXggMjQ0YzVkZTc4ZGRkOTIzYmZiYTU4MzFmOWI1
NjhhZWNhYjVlM2MzMS4uY2EzOTBhNWQxZGZmOGNiYzk5YmUxMTZkMzNlMWQ3NWViNWI5NDg3MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgKQEAgLTk0
LDggKzk0LDEyIEBAIHB1YmxpYzoKICAgICB1c2luZyBSZXNwb25zZURhdGEgPSBWYXJpYW50PHN0
ZDo6bnVsbHB0cl90LCBSZWY8Rm9ybURhdGE+LCBSZWY8U2hhcmVkQnVmZmVyPj47CiAgICAgUmVz
cG9uc2VEYXRhIGNvbnN1bWVCb2R5KCk7CiAgICAgdm9pZCBzZXRCb2R5RGF0YShSZXNwb25zZURh
dGEmJik7CisKICAgICBib29sIGlzTG9hZGluZygpIGNvbnN0IHsgcmV0dXJuICEhbV9ib2R5TG9h
ZGVyOyB9CiAKKyAgICB1c2luZyBSZXNwb25zZURhdGFDYWxsYmFjayA9IFdURjo6RnVuY3Rpb248
dm9pZChFeGNlcHRpb25PcjxSZXNwb25zZURhdGE+JiYpPjsKKyAgICB2b2lkIGNvbnN1bWVCb2R5
V2hlbkxvYWRlZChSZXNwb25zZURhdGFDYWxsYmFjayYmKTsKKwogICAgIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmIHJlc291cmNlUmVzcG9uc2UoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlOyB9
CiAKIHByaXZhdGU6CkBAIC0xMTcsNiArMTIxLDggQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBz
dGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgRmV0Y2hSZXF1ZXN0Jik7CiAgICAg
ICAgIHZvaWQgc3RvcCgpOwogCisgICAgICAgIHZvaWQgc2V0UmVzcG9uc2VEYXRhQ2FsbGJhY2so
UmVzcG9uc2VEYXRhQ2FsbGJhY2smJiByZXNwb25zZURhdGFDYWxsYmFjaykgeyBtX3Jlc3BvbnNl
RGF0YUNhbGxiYWNrID0gV1RGTW92ZShyZXNwb25zZURhdGFDYWxsYmFjayk7IH0KKwogI2lmIEVO
QUJMRShTVFJFQU1TX0FQSSkKICAgICAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gc3RhcnRTdHJl
YW1pbmcoKTsKICNlbmRpZgpAQCAtMTMwLDYgKzEzNiw3IEBAIHByaXZhdGU6CiAKICAgICAgICAg
RmV0Y2hSZXNwb25zZSYgbV9yZXNwb25zZTsKICAgICAgICAgTm90aWZpY2F0aW9uQ2FsbGJhY2sg
bV9yZXNwb25zZUNhbGxiYWNrOworICAgICAgICBSZXNwb25zZURhdGFDYWxsYmFjayBtX3Jlc3Bv
bnNlRGF0YUNhbGxiYWNrOwogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8RmV0Y2hMb2FkZXI+IG1f
bG9hZGVyOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzM2I4NTMwY2IyODljZmE3YjU3ZmU4MmI0ZGU0MTM2
ZTQ0Zjc2ODYwLi5iMDVkN2ZlOWRkZjJiMzAwOTY1MzNmZDljNDk5NzllOTk5MzE3MGIzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTIgQEAKKzIwMTctMDgtMTggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgorCisgICAgICAgIFtDYWNoZSBBUEldIEFkZCBzdXBwb3J0IGZvciBiZWluZyBsb2Fk
ZWQgcmVzcG9uc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzU3MzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6IFJlbW92aW5nIHNvbWUgZmxha3kgdGVzdCBleHBlY3Rh
dGlvbnMuCisKIDIwMTctMDgtMTcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtDYWNoZSBBUEldIEFkZCBhIFdLMiBpbXBsZW1lbnRhdGlvbiBvZiBDYWNoZVN0
b3JhZ2VDb25uZWN0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA4Yjk4NDA2
MjRmNWViYWUyYTA3M2VlMjRmYTM1NzI3ZWNjMGIzOTQ4Li5kOWJiNzMzMGFkZjJjNGZlMjhjMzVk
NTlmMmU4ZDViMGVjNmQ2NzcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxNCBAQAogMjAxNy0wOC0xOCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRkIHN1cHBvcnQgZm9yIGJlaW5nIGxvYWRlZCByZXNw
b25zZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NTczMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL2NvbW1vbi5o
dHRwcy1leHBlY3RlZC50eHQ6CisKKzIwMTctMDgtMTggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgorCiAgICAgICAgIFtDYWNoZSBBUEldIEFkZCByZXNwb25zZSBib2R5IHN0b3Jh
Z2UKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTY1
OAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA0MTE1NTk0YjM5Njk3OTQ3MjEwZjdmZDNlZDNiOGM5
N2NmMTRmZDQ0Li4wNjJjYTVjNTUzZmFhOGU0MjIzYjBhMThlNmJjZjEyMzQ3ODc5ZGU4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTEyMCw5ICsxMjAsNyBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2VycyBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc3R1Yi00LjYuMi1jYWNoZS5odG1sIFsgUGFzcyBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zdHViLTQu
Ni4zLWNhY2hlLXN0b3JhZ2UuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZSBbIFBhc3MgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5k
b3cgWyBQYXNzIEZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9jb21tb24uaHR0cHMuaHRtbCBbIFNraXAgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFn
ZS93b3JrZXIvY2FjaGUtbWF0Y2guaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCitpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dp
bmRvdy9jYWNoZS1wdXQuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9j
YWNoZS1wdXQuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKICMgdGV4dGFyZWEuYW5pbWF0
ZSBpcyBub3Qgc3VwcG9ydGVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL2NvbW1vbi5o
dHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL2NvbW1vbi5odHRwcy1leHBlY3Rl
ZC50eHQKaW5kZXggNGU4MTlkMjU1ZTBmMGFkN2ExMWViZmI2NDM3ZmU1OTQ4YTRiMzdkYy4uMmVl
M2QxNzIxMjBmYTU4NTZjY2YwZTRmZTg5NWQ0NzZlZGZmM2E5MCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS9jb21tb24uaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3Jh
Z2UvY29tbW9uLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBXaW5k
b3cgc2VlcyBjYWNoZSBwdXRzIGJ5IFdvcmtlciBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK1BB
U1MgV2luZG93IHNlZXMgY2FjaGUgcHV0cyBieSBXb3JrZXIgCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318543</attachid>
            <date>2017-08-18 14:29:34 -0700</date>
            <delta_ts>2017-08-18 15:12:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175732-20170818142933.patch</filename>
            <type>text/plain</type>
            <size>13877</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwOTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2I4NDMxZjQzMzgxNzVh
MTZlYWE2MTc5YjJmZjMxZmVkZWRmNzkzZS4uZWI0MTNkNDZlNmJkZWUwZTBlNjdkNGJlMzE1OGRk
YjI3ODgzMTFmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI5IEBACiAyMDE3LTA4LTE4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBbQ2FjaGUgQVBJXSBBZGQg
c3VwcG9ydCBmb3IgYmVpbmcgbG9hZGVkIHJlc3BvbnNlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NzMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyBhbmQgcmViYXNl
ZCB0ZXN0cy4KKworICAgICAgICBJbnRyb2R1Y2luZyBhIGNhbGxiYWNrLWJhc2VkIG1ldGhvZCB0
byBjb25zdW1lIHRoZSBib2R5IHdoZW4gdGhlIGxvYWQgaXMgZmluaXNoZWQuCisgICAgICAgIFVz
aW5nIHRoYXQgbmV3IG1ldGhvZCBpbiBDYWNoZTo6cHV0IGFuZCBjYWxsaW5nIGJhdGNoUHV0T3Bl
cmF0aW9uIHdoZW4gdGhlIGxvYWQgaXMgZmluaXNoZWQuCisKKyAgICAgICAgKiBNb2R1bGVzL2Nh
Y2hlL0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjpwdXQpOiBDaGFuZ2luZyBv
cmRlciBvZiBjaGVja3MgdG8gcmVkdWNlIHRlc3QgZmxha2luZXNzIHJpc2tzIGFzIHRoZXJlIGlz
IG5vdCB5ZXQgc3VwcG9ydCBmb3IgcHV0dGluZyByZXNwb25zZXMgd2l0aCBSZWFkYWJsZVN0cmVh
bS4KKyAgICAgICAgKFdlYkNvcmU6OnRvQ29ubmVjdGlvblJlY29yZCk6CisgICAgICAgIChXZWJD
b3JlOjpDYWNoZTo6YmF0Y2hQdXRPcGVyYXRpb24pOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUv
Q2FjaGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RmV0Y2hSZXNwb25zZTo6Qm9keUxvYWRlcjo6ZGlkU3VjY2VlZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpGZXRjaFJlc3BvbnNlOjpCb2R5TG9hZGVyOjpkaWRGYWlsKToKKyAg
ICAgICAgKFdlYkNvcmU6OkZldGNoUmVzcG9uc2U6OmNvbnN1bWVCb2R5KToKKyAgICAgICAgKFdl
YkNvcmU6OkZldGNoUmVzcG9uc2U6OmNvbnN1bWVCb2R5V2hlbkxvYWRlZCk6CisgICAgICAgICog
TW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmg6CisKKzIwMTctMDgtMTggIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCiAgICAgICAgIFtDYWNoZSBBUEldIEFkZCByZXNwb25z
ZSBib2R5IHN0b3JhZ2UKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3NTY1OAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hl
L0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCmluZGV4
IGRmNmEwNzZlNDg5MGI1NDc5MTY2ZGFkNDNlOWEzMzhmZTgxMTBlMjQuLmUwYWEyMWRhMWM1YWQ0
YzRjZjZjNTBmMDE5MDBjY2U0N2ZiMWFmYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUv
Q2FjaGUuY3BwCkBAIC0xNTAsMjkgKzE1MCw0MSBAQCB2b2lkIENhY2hlOjpwdXQoUmVxdWVzdElu
Zm8mJiBpbmZvLCBSZWY8RmV0Y2hSZXNwb25zZT4mJiByZXNwb25zZSwgRE9NUHJvbWlzZURlZgog
ICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKHJlc3BvbnNlLT5pc0Rpc3R1cmJlZCgpKSB7Ci0g
ICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFs
KCJSZXNwb25zZSBpcyBkaXN0dXJiZWQgb3IgbG9ja2VkIikgfSk7CisgICAgaWYgKHJlc3BvbnNl
LT5zdGF0dXMoKSA9PSAyMDYpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsg
VHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIlJlc3BvbnNlIGlzIGEgMjA2IHBhcnRpYWwiKSB9KTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChyZXNwb25zZS0+c3RhdHVzKCkgPT0g
MjA2KSB7Ci0gICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVND
SUlMaXRlcmFsKCJSZXNwb25zZSBpcyBhIDIwNiBwYXJ0aWFsIikgfSk7CisgICAgLy8gRklYTUU6
IEFkZCBzdXBwb3J0IGZvciBSZWFkYWJsZVN0cmVhbS4KKyAgICBpZiAocmVzcG9uc2UtPmlzUmVh
ZGFibGVTdHJlYW1Cb2R5KCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsg
Tm90U3VwcG9ydGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQ2FjaGluZyBhIFJlc3BvbnNlIHdpdGgg
ZGF0YSBzdG9yZWQgaW4gYSBSZWFkYWJsZVN0cmVhbSBpcyBub3QgeWV0IHN1cHBvcnRlZCIpIH0p
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZv
ciBiZWluZyBsb2FkZWQgcmVzcG9uc2VzLgotICAgIGlmIChyZXNwb25zZS0+aXNMb2FkaW5nKCkp
IHsKLSAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3Is
IEFTQ0lJTGl0ZXJhbCgiQ2FjaGluZyBhIGxvYWRpbmcgUmVzcG9uc2UgaXMgbm90IHlldCBzdXBw
b3J0ZWQiKSB9KTsKKyAgICBpZiAocmVzcG9uc2UtPmlzRGlzdHVyYmVkKCkpIHsKKyAgICAgICAg
cHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIlJlc3Bv
bnNlIGlzIGRpc3R1cmJlZCBvciBsb2NrZWQiKSB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAotICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgUmVhZGFibGVTdHJlYW0uCi0gICAgaWYg
KHJlc3BvbnNlLT5pc1JlYWRhYmxlU3RyZWFtQm9keSgpKSB7Ci0gICAgICAgIHByb21pc2UucmVq
ZWN0KEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yLCBBU0NJSUxpdGVyYWwoIkNhY2hpbmcg
YSBSZXNwb25zZSB3aXRoIGRhdGEgc3RvcmVkIGluIGEgUmVhZGFibGVTdHJlYW0gaXMgbm90IHll
dCBzdXBwb3J0ZWQiKSB9KTsKKyAgICBpZiAocmVzcG9uc2UtPmlzTG9hZGluZygpKSB7CisgICAg
ICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICAgICAgcmVzcG9uc2UtPmNvbnN1bWVC
b2R5V2hlbkxvYWRlZChbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIHJlcXVlc3QgPSByZXF1
ZXN0LnJlbGVhc2VOb25OdWxsKCksIHJlc3BvbnNlID0gV1RGTW92ZShyZXNwb25zZSksIHRoaXNd
KEV4Y2VwdGlvbk9yPFJlZlB0cjxTaGFyZWRCdWZmZXI+PiYmIHJlc3VsdCkgbXV0YWJsZSB7Cisg
ICAgICAgICAgICBpZiAocmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQorICAgICAgICAgICAgICAgIHBy
b21pc2UucmVqZWN0KHJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCkpOworICAgICAgICAgICAgZWxz
ZSB7CisgICAgICAgICAgICAgICAgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVzcG9uc2VCb2R5
IGJvZHk7CisgICAgICAgICAgICAgICAgaWYgKGF1dG8gYnVmZmVyID0gcmVzdWx0LnJlbGVhc2VS
ZXR1cm5WYWx1ZSgpKQorICAgICAgICAgICAgICAgICAgICBib2R5ID0gYnVmZmVyLnJlbGVhc2VO
b25OdWxsKCk7CisgICAgICAgICAgICAgICAgYmF0Y2hQdXRPcGVyYXRpb24ocmVxdWVzdC5nZXQo
KSwgcmVzcG9uc2UuZ2V0KCksIFdURk1vdmUoYm9keSksIFtwcm9taXNlID0gV1RGTW92ZShwcm9t
aXNlKV0oRXhjZXB0aW9uT3I8dm9pZD4mJiByZXN1bHQpIG11dGFibGUgeworICAgICAgICAgICAg
ICAgICAgICBwcm9taXNlLnNldHRsZShXVEZNb3ZlKHJlc3VsdCkpOworICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdW5zZXRQZW5kaW5nQWN0aXZpdHkodGhp
cyk7CisgICAgICAgIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYmF0Y2hQdXRP
cGVyYXRpb24oKnJlcXVlc3QsIHJlc3BvbnNlLmdldCgpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJv
bWlzZSldKEV4Y2VwdGlvbk9yPHZvaWQ+JiYgcmVzdWx0KSBtdXRhYmxlIHsKKyAgICBiYXRjaFB1
dE9wZXJhdGlvbigqcmVxdWVzdCwgcmVzcG9uc2UuZ2V0KCksIHJlc3BvbnNlLT5jb25zdW1lQm9k
eSgpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKEV4Y2VwdGlvbk9yPHZvaWQ+JiYgcmVz
dWx0KSBtdXRhYmxlIHsKICAgICAgICAgcHJvbWlzZS5zZXR0bGUoV1RGTW92ZShyZXN1bHQpKTsK
ICAgICB9KTsKIH0KQEAgLTI4Myw3ICsyOTUsNyBAQCB2b2lkIENhY2hlOjpiYXRjaERlbGV0ZU9w
ZXJhdGlvbihjb25zdCBGZXRjaFJlcXVlc3QmIHJlcXVlc3QsIENhY2hlUXVlcnlPcHRpb25zJgog
ICAgIH0pOwogfQogCi1zdGF0aWMgaW5saW5lIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlY29y
ZCB0b0Nvbm5lY3Rpb25SZWNvcmQoY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXF1ZXN0LCBGZXRjaFJl
c3BvbnNlJiByZXNwb25zZSkKK3N0YXRpYyBpbmxpbmUgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6
UmVjb3JkIHRvQ29ubmVjdGlvblJlY29yZChjb25zdCBGZXRjaFJlcXVlc3QmIHJlcXVlc3QsIEZl
dGNoUmVzcG9uc2UmIHJlc3BvbnNlLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZXNwb25zZUJv
ZHkmJiByZXNwb25zZUJvZHkpCiB7CiAgICAgLy8gRklYTUU6IEFkZCBhIHNldEhUVFBIZWFkZXJG
aWVsZHMgb24gUmVzb3VyY2VSZXNwb25zZUJhc2UuCiAgICAgUmVzb3VyY2VSZXNwb25zZSBjYWNo
ZWRSZXNwb25zZSA9IHJlc3BvbnNlLnJlc291cmNlUmVzcG9uc2UoKTsKQEAgLTI5NSwxNCArMzA3
LDE0IEBAIHN0YXRpYyBpbmxpbmUgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVjb3JkIHRvQ29u
bmVjdGlvblJlY29yZChjb25zdCBGZXRjaFJlcXVlCiAKICAgICByZXR1cm4geyAwLAogICAgICAg
ICByZXF1ZXN0LmhlYWRlcnMoKS5ndWFyZCgpLCBXVEZNb3ZlKGNhY2hlZFJlcXVlc3QpLCByZXF1
ZXN0LmZldGNoT3B0aW9ucygpLCByZXF1ZXN0LmludGVybmFsUmVxdWVzdFJlZmVycmVyKCksCi0g
ICAgICAgIHJlc3BvbnNlLmhlYWRlcnMoKS5ndWFyZCgpLCBXVEZNb3ZlKGNhY2hlZFJlc3BvbnNl
KSwgcmVzcG9uc2UuY29uc3VtZUJvZHkoKQorICAgICAgICByZXNwb25zZS5oZWFkZXJzKCkuZ3Vh
cmQoKSwgV1RGTW92ZShjYWNoZWRSZXNwb25zZSksIFdURk1vdmUocmVzcG9uc2VCb2R5KQogICAg
IH07CiB9CiAKLXZvaWQgQ2FjaGU6OmJhdGNoUHV0T3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVz
dCYgcmVxdWVzdCwgRmV0Y2hSZXNwb25zZSYgcmVzcG9uc2UsIFdURjo6RnVuY3Rpb248dm9pZChF
eGNlcHRpb25Pcjx2b2lkPiYmKT4mJiBjYWxsYmFjaykKK3ZvaWQgQ2FjaGU6OmJhdGNoUHV0T3Bl
cmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgRmV0Y2hSZXNwb25zZSYgcmVzcG9u
c2UsIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlc3BvbnNlQm9keSYmIHJlc3BvbnNlQm9keSwg
V1RGOjpGdW5jdGlvbjx2b2lkKEV4Y2VwdGlvbk9yPHZvaWQ+JiYpPiYmIGNhbGxiYWNrKQogewog
ICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ+IHJlY29yZHM7Ci0gICAg
cmVjb3Jkcy5hcHBlbmQodG9Db25uZWN0aW9uUmVjb3JkKHJlcXVlc3QsIHJlc3BvbnNlKSk7Cisg
ICAgcmVjb3Jkcy5hcHBlbmQodG9Db25uZWN0aW9uUmVjb3JkKHJlcXVlc3QsIHJlc3BvbnNlLCBX
VEZNb3ZlKHJlc3BvbnNlQm9keSkpKTsKIAogICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsK
ICAgICBtX2Nvbm5lY3Rpb24tPmJhdGNoUHV0T3BlcmF0aW9uKG1faWRlbnRpZmllciwgV1RGTW92
ZShyZWNvcmRzKSwgW3RoaXMsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKFZlY3Rvcjx1
aW50NjRfdD4mJiwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaAppbmRleCAwMzQzNmQ5ZDA1ZDc0NmVhNWU0ZTVlZmNk
NGJlOGYxNmJlODNlMjI4Li5jOTk4ZTA3MWNlYzZlNDhhZTYzY2I3ODZmNmY1MTg4N2E4ODNlMWM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5oCkBAIC02OSw3ICs2OSw3IEBAIHBy
aXZhdGU6CiAgICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4gcXVlcnlDYWNoZVdpdGhUYXJn
ZXRTdG9yYWdlKGNvbnN0IEZldGNoUmVxdWVzdCYsIGNvbnN0IENhY2hlUXVlcnlPcHRpb25zJiwg
Y29uc3QgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mKTsKICAgICB2b2lkIHF1ZXJ5Q2FjaGUo
UmVmPEZldGNoUmVxdWVzdD4mJiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgV1RGOjpGdW5jdGlvbjx2
b2lkKGNvbnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+Jik+JiYpOwogICAgIHZvaWQgYmF0
Y2hEZWxldGVPcGVyYXRpb24oY29uc3QgRmV0Y2hSZXF1ZXN0JiwgQ2FjaGVRdWVyeU9wdGlvbnMm
JiwgV1RGOjpGdW5jdGlvbjx2b2lkKEV4Y2VwdGlvbk9yPGJvb2w+JiYpPiYmKTsKLSAgICB2b2lk
IGJhdGNoUHV0T3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYsIEZldGNoUmVzcG9uc2UmLCBX
VEY6OkZ1bmN0aW9uPHZvaWQoRXhjZXB0aW9uT3I8dm9pZD4mJik+JiYpOworICAgIHZvaWQgYmF0
Y2hQdXRPcGVyYXRpb24oY29uc3QgRmV0Y2hSZXF1ZXN0JiwgRmV0Y2hSZXNwb25zZSYsIENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OlJlc3BvbnNlQm9keSYmLCBXVEY6OkZ1bmN0aW9uPHZvaWQoRXhj
ZXB0aW9uT3I8dm9pZD4mJik+JiYpOwogCiAgICAgdm9pZCB1cGRhdGVSZWNvcmRzKFZlY3RvcjxD
YWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ+JiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcAppbmRleCBhNDFmYmEwOWQzZDM3NzMzNTA3
OTc5MDllMzlhOTI0MTYwNjE2ZDIyLi45MjNjMDA1ZDI3YmFhOTYzNmM2YzczMjk3NDBjYWZhODdi
MzkzYWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVz
cG9uc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25z
ZS5jcHAKQEAgLTEzMiw2ICsxMzIsOCBAQCB2b2lkIEZldGNoUmVzcG9uc2U6OkJvZHlMb2FkZXI6
OmRpZFN1Y2NlZWQoKQogICAgIGlmIChtX3Jlc3BvbnNlLm1fcmVhZGFibGVTdHJlYW1Tb3VyY2Ug
JiYgIW1fcmVzcG9uc2UuYm9keSgpLmNvbnN1bWVyKCkuaGFzRGF0YSgpKQogICAgICAgICBtX3Jl
c3BvbnNlLmNsb3NlU3RyZWFtKCk7CiAjZW5kaWYKKyAgICBpZiAoYXV0byByZXNwb25zZURhdGFD
YWxsYmFjayA9IFdURk1vdmUobV9yZXNwb25zZURhdGFDYWxsYmFjaykpCisgICAgICAgIHJlc3Bv
bnNlRGF0YUNhbGxiYWNrKG1fcmVzcG9uc2UuYm9keSgpLmNvbnN1bWVyKCkudGFrZURhdGEoKSk7
CiAKICAgICBpZiAobV9sb2FkZXItPmlzU3RhcnRlZCgpKSB7CiAgICAgICAgIFJlZjxGZXRjaFJl
c3BvbnNlPiBwcm90ZWN0b3IobV9yZXNwb25zZSk7CkBAIC0xNDUsNiArMTQ3LDkgQEAgdm9pZCBG
ZXRjaFJlc3BvbnNlOjpCb2R5TG9hZGVyOjpkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3ImIGVy
cm9yKQogICAgIGlmIChhdXRvIHJlc3BvbnNlQ2FsbGJhY2sgPSBXVEZNb3ZlKG1fcmVzcG9uc2VD
YWxsYmFjaykpCiAgICAgICAgIHJlc3BvbnNlQ2FsbGJhY2soRXhjZXB0aW9uIHsgVHlwZUVycm9y
LCBTdHJpbmcoZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24oKSkgfSk7CiAKKyAgICBpZiAoYXV0
byByZXNwb25zZURhdGFDYWxsYmFjayA9IFdURk1vdmUobV9yZXNwb25zZURhdGFDYWxsYmFjaykp
CisgICAgICAgIHJlc3BvbnNlRGF0YUNhbGxiYWNrKEV4Y2VwdGlvbiB7IFR5cGVFcnJvciB9KTsK
KwogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKICAgICBpZiAobV9yZXNwb25zZS5tX3JlYWRhYmxl
U3RyZWFtU291cmNlKSB7CiAgICAgICAgIGlmICghbV9yZXNwb25zZS5tX3JlYWRhYmxlU3RyZWFt
U291cmNlLT5pc0NhbmNlbGxpbmcoKSkKQEAgLTI2MCw2ICsyNjUsOCBAQCB2b2lkIEZldGNoUmVz
cG9uc2U6OmNvbnN1bWUodW5zaWduZWQgdHlwZSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiB3cmFw
cGVyKQogCiBGZXRjaFJlc3BvbnNlOjpSZXNwb25zZURhdGEgRmV0Y2hSZXNwb25zZTo6Y29uc3Vt
ZUJvZHkoKQogeworICAgIEFTU0VSVCghaXNMb2FkaW5nKCkpOworCiAgICAgaWYgKGlzQm9keU51
bGwoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKQEAgLTI2OSw2ICsyNzYsMTcgQEAgRmV0
Y2hSZXNwb25zZTo6UmVzcG9uc2VEYXRhIEZldGNoUmVzcG9uc2U6OmNvbnN1bWVCb2R5KCkKICAg
ICByZXR1cm4gYm9keSgpLnRha2UoKTsKIH0KIAordm9pZCBGZXRjaFJlc3BvbnNlOjpjb25zdW1l
Qm9keVdoZW5Mb2FkZWQoUmVzcG9uc2VEYXRhQ2FsbGJhY2smJiBjYWxsYmFjaykKK3sKKyAgICBp
ZiAoIWlzTG9hZGluZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBBU1NFUlQoIW1faXNEaXN0
dXJiZWQpOworICAgIG1faXNEaXN0dXJiZWQgPSB0cnVlOworCisgICAgbV9ib2R5TG9hZGVyLT5z
ZXRSZXNwb25zZURhdGFDYWxsYmFjayhXVEZNb3ZlKGNhbGxiYWNrKSk7Cit9CisKIHZvaWQgRmV0
Y2hSZXNwb25zZTo6c2V0Qm9keURhdGEoUmVzcG9uc2VEYXRhJiYgZGF0YSkKIHsKICAgICBXVEY6
OnN3aXRjaE9uKGRhdGEsIFt0aGlzXShSZWY8Rm9ybURhdGE+JiBmb3JtRGF0YSkgewpAQCAtMzE2
LDYgKzMzNCw4IEBAIHZvaWQgRmV0Y2hSZXNwb25zZTo6Y29uc3VtZUJvZHlBc1N0cmVhbSgpCiAK
ICAgICBBU1NFUlQobV9ib2R5TG9hZGVyKTsKIAorICAgIHNldEJvZHkoRmV0Y2hCb2R5OjpyZWFk
YWJsZVN0cmVhbUJvZHkoKSk7CisKICAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBkYXRhID0gbV9i
b2R5TG9hZGVyLT5zdGFydFN0cmVhbWluZygpOwogICAgIGlmIChkYXRhKSB7CiAgICAgICAgIGlm
ICghbV9yZWFkYWJsZVN0cmVhbVNvdXJjZS0+ZW5xdWV1ZShkYXRhLT50cnlDcmVhdGVBcnJheUJ1
ZmZlcigpKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aFJlc3BvbnNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2Uu
aAppbmRleCAyNDRjNWRlNzhkZGQ5MjNiZmJhNTgzMWY5YjU2OGFlY2FiNWUzYzMxLi40NWExYWFl
NGZiOTVhYzY1MmM4YjQ4NmNiZDA3MDlhNDMyZWE5YjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaApAQCAtOTQsOCArOTQsMTIgQEAgcHVibGljOgog
ICAgIHVzaW5nIFJlc3BvbnNlRGF0YSA9IFZhcmlhbnQ8c3RkOjpudWxscHRyX3QsIFJlZjxGb3Jt
RGF0YT4sIFJlZjxTaGFyZWRCdWZmZXI+PjsKICAgICBSZXNwb25zZURhdGEgY29uc3VtZUJvZHko
KTsKICAgICB2b2lkIHNldEJvZHlEYXRhKFJlc3BvbnNlRGF0YSYmKTsKKwogICAgIGJvb2wgaXNM
b2FkaW5nKCkgY29uc3QgeyByZXR1cm4gISFtX2JvZHlMb2FkZXI7IH0KIAorICAgIHVzaW5nIFJl
c3BvbnNlRGF0YUNhbGxiYWNrID0gV1RGOjpGdW5jdGlvbjx2b2lkKEV4Y2VwdGlvbk9yPFJlZlB0
cjxTaGFyZWRCdWZmZXI+PiYmKT47CisgICAgdm9pZCBjb25zdW1lQm9keVdoZW5Mb2FkZWQoUmVz
cG9uc2VEYXRhQ2FsbGJhY2smJik7CisKICAgICBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNv
dXJjZVJlc3BvbnNlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25zZTsgfQogCiBwcml2YXRlOgpA
QCAtMTE3LDYgKzEyMSw4IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgc3RhcnQoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYsIGNvbnN0IEZldGNoUmVxdWVzdCYpOwogICAgICAgICB2b2lkIHN0b3Ao
KTsKIAorICAgICAgICB2b2lkIHNldFJlc3BvbnNlRGF0YUNhbGxiYWNrKFJlc3BvbnNlRGF0YUNh
bGxiYWNrJiYgcmVzcG9uc2VEYXRhQ2FsbGJhY2spIHsgbV9yZXNwb25zZURhdGFDYWxsYmFjayA9
IFdURk1vdmUocmVzcG9uc2VEYXRhQ2FsbGJhY2spOyB9CisKICNpZiBFTkFCTEUoU1RSRUFNU19B
UEkpCiAgICAgICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IHN0YXJ0U3RyZWFtaW5nKCk7CiAjZW5k
aWYKQEAgLTEzMCw2ICsxMzYsNyBAQCBwcml2YXRlOgogCiAgICAgICAgIEZldGNoUmVzcG9uc2Um
IG1fcmVzcG9uc2U7CiAgICAgICAgIE5vdGlmaWNhdGlvbkNhbGxiYWNrIG1fcmVzcG9uc2VDYWxs
YmFjazsKKyAgICAgICAgUmVzcG9uc2VEYXRhQ2FsbGJhY2sgbV9yZXNwb25zZURhdGFDYWxsYmFj
azsKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPEZldGNoTG9hZGVyPiBtX2xvYWRlcjsKICAgICB9
OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggMTVhZTRlZDZmMTlkMWFkMGMxMWE3MzQzMzI3N2Q0ZjMxZTEyZmJkZi4uY2Y2
ZDMxMDEzZmU2NjNmNzM5NzcxZTFkMGFjNGJjNDU1MTBhYWEwZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEy
IEBACisyMDE3LTA4LTE4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAg
ICAgICBbQ2FjaGUgQVBJXSBBZGQgc3VwcG9ydCBmb3IgYmVpbmcgbG9hZGVkIHJlc3BvbnNlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NzMyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhw
ZWN0YXRpb25zOiBSZW1vdmluZyBzb21lIGZsYWt5IHRlc3QgZXhwZWN0YXRpb25zLgorCiAyMDE3
LTA4LTE4ICBNYXR0IExld2lzICA8amxld2lzM0BhcHBsZS5jb20+CiAKICAgICAgICAgTWFya2Vk
IGpzL3Nsb3ctc3RyZXNzL0ludDMyQXJyYXktYWxsb2MtaHVnZS5odG1sIGFzIGZsYWt5IG9uIG1h
Yy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDM2ZjdiNWIzZDNkZWQ2OGNlZjEx
YzViYjc0NWE0NjZkODMyOTE5MDkuLjZiYjgyMDBlODQ2ODIzMjQzZjQyMTQxZWFkMjUwOWM2NDlk
NjEwM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE0IEBACiAy
MDE3LTA4LTE4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBb
Q2FjaGUgQVBJXSBBZGQgc3VwcG9ydCBmb3IgYmVpbmcgbG9hZGVkIHJlc3BvbnNlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NzMyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvY29tbW9uLmh0dHBzLWV4cGVjdGVk
LnR4dDoKKworMjAxNy0wOC0xOCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisK
ICAgICAgICAgW0NhY2hlIEFQSV0gQWRkIHJlc3BvbnNlIGJvZHkgc3RvcmFnZQogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NjU4CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IDQxMTU1OTRiMzk2OTc5NDcyMTBmN2ZkM2VkM2I4Yzk3Y2YxNGZkNDQuLjA2
MmNhNWM1NTNmYWE4ZTQyMjNiMGExOGU2YmNmMTIzNDc4NzlkZTggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtMTIwLDkgKzEyMCw3IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zdHViLTQuNi4yLWNhY2hlLmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3N0dWItNC42LjMtY2FjaGUtc3Rv
cmFnZS5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlIFsgUGFzcyBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdyBbIFBhc3MgRmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9j
YWNoZS1zdG9yYWdlL2NvbW1vbi5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNo
ZS1tYXRjaC5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXB1
dC5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXB1dC5odHRw
cy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAogIyB0ZXh0YXJlYS5hbmltYXRlIGlzIG5vdCBzdXBw
b3J0ZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvY29tbW9uLmh0dHBzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvY29tbW9uLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA0
ZTgxOWQyNTVlMGYwYWQ3YTExZWJmYjY0MzdmZTU5NDhhNGIzN2RjLi4yZWUzZDE3MjEyMGZhNTg1
NmNjZjBlNGZlODk1ZDQ3NmVkZmYzYTkwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL2Nv
bW1vbi5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9jb21tb24uaHR0
cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFdpbmRvdyBzZWVzIGNhY2hl
IHB1dHMgYnkgV29ya2VyIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorUEFTUyBXaW5kb3cgc2Vl
cyBjYWNoZSBwdXRzIGJ5IFdvcmtlciAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318551</attachid>
            <date>2017-08-18 15:32:16 -0700</date>
            <delta_ts>2017-08-18 17:30:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175732-20170818153215.patch</filename>
            <type>text/plain</type>
            <size>16103</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwOTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2I4NDMxZjQzMzgxNzVh
MTZlYWE2MTc5YjJmZjMxZmVkZWRmNzkzZS4uMTljYjllODg2YzM4NzQwYTllMDUyYjUwNzk5MmQ5
YjUzYjMzMDdlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM2IEBACiAyMDE3LTA4LTE4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBbQ2FjaGUgQVBJXSBBZGQg
c3VwcG9ydCBmb3IgYmVpbmcgbG9hZGVkIHJlc3BvbnNlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NzMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyBhbmQgcmViYXNl
ZCB0ZXN0cy4KKworICAgICAgICBJbnRyb2R1Y2luZyBhIGNhbGxiYWNrLWJhc2VkIG1ldGhvZCB0
byBjb25zdW1lIHRoZSBib2R5IHdoZW4gdGhlIGxvYWQgaXMgZmluaXNoZWQuCisgICAgICAgIFVz
aW5nIHRoYXQgbmV3IG1ldGhvZCBpbiBDYWNoZTo6cHV0IGFuZCBjYWxsaW5nIGJhdGNoUHV0T3Bl
cmF0aW9uIHdoZW4gdGhlIGxvYWQgaXMgZmluaXNoZWQuCisKKyAgICAgICAgRml4aW5nIHRoZSBj
YXNlIG9mIGEgZmV0Y2ggcmVzcG9uc2UgYmVpbmcgY2xvbmVkLCBpbiB3aGljaCBjYXNlIGl0cyBi
b2R5IHNob3VsZCBiZSBtYXJrZWQgYXMgUmVhZGFibGVTdHJlYW0uCisKKyAgICAgICAgKiBNb2R1
bGVzL2NhY2hlL0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjpwdXQpOiBDaGFu
Z2luZyBvcmRlciBvZiBjaGVja3MgdG8gcmVkdWNlIHRlc3QgZmxha2luZXNzIHJpc2tzIGFzIHRo
ZXJlIGlzIG5vdCB5ZXQgc3VwcG9ydCBmb3IgcHV0dGluZyByZXNwb25zZXMgd2l0aCBSZWFkYWJs
ZVN0cmVhbS4KKyAgICAgICAgKFdlYkNvcmU6OnRvQ29ubmVjdGlvblJlY29yZCk6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZTo6YmF0Y2hQdXRPcGVyYXRpb24pOgorICAgICAgICAqIE1vZHVsZXMv
Y2FjaGUvQ2FjaGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6OnJlYWRhYmxlU3RyZWFtQm9keSk6IERlbGV0ZWQu
CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkZldGNoQm9keTo6bG9hZGluZ0JvZHkpOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5Ojpz
ZXRBc1JlYWRhYmxlU3RyZWFtKToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9u
c2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hSZXNwb25zZTo6Qm9keUxvYWRlcjo6ZGlk
U3VjY2VlZCk6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaFJlc3BvbnNlOjpCb2R5TG9hZGVyOjpk
aWRGYWlsKToKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoUmVzcG9uc2U6OmNvbnN1bWVCb2R5KToK
KyAgICAgICAgKFdlYkNvcmU6OkZldGNoUmVzcG9uc2U6OmNvbnN1bWVCb2R5V2hlbkxvYWRlZCk6
CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmg6CisKKzIwMTctMDgtMTgg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCiAgICAgICAgIFtDYWNoZSBBUEld
IEFkZCByZXNwb25zZSBib2R5IHN0b3JhZ2UKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3NTY1OAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2Fj
aGUuY3BwCmluZGV4IGRmNmEwNzZlNDg5MGI1NDc5MTY2ZGFkNDNlOWEzMzhmZTgxMTBlMjQuLmUw
YWEyMWRhMWM1YWQ0YzRjZjZjNTBmMDE5MDBjY2U0N2ZiMWFmYzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCkBAIC0xNTAsMjkgKzE1MCw0MSBAQCB2b2lkIENhY2hlOjpw
dXQoUmVxdWVzdEluZm8mJiBpbmZvLCBSZWY8RmV0Y2hSZXNwb25zZT4mJiByZXNwb25zZSwgRE9N
UHJvbWlzZURlZgogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKHJlc3BvbnNlLT5pc0Rpc3R1
cmJlZCgpKSB7Ci0gICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwg
QVNDSUlMaXRlcmFsKCJSZXNwb25zZSBpcyBkaXN0dXJiZWQgb3IgbG9ja2VkIikgfSk7CisgICAg
aWYgKHJlc3BvbnNlLT5zdGF0dXMoKSA9PSAyMDYpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3Qo
RXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIlJlc3BvbnNlIGlzIGEgMjA2IHBh
cnRpYWwiKSB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChyZXNwb25zZS0+
c3RhdHVzKCkgPT0gMjA2KSB7Ci0gICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5
cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJSZXNwb25zZSBpcyBhIDIwNiBwYXJ0aWFsIikgfSk7Cisg
ICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBSZWFkYWJsZVN0cmVhbS4KKyAgICBpZiAocmVz
cG9uc2UtPmlzUmVhZGFibGVTdHJlYW1Cb2R5KCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3Qo
RXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQ2FjaGluZyBhIFJl
c3BvbnNlIHdpdGggZGF0YSBzdG9yZWQgaW4gYSBSZWFkYWJsZVN0cmVhbSBpcyBub3QgeWV0IHN1
cHBvcnRlZCIpIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgLy8gRklYTUU6IEFk
ZCBzdXBwb3J0IGZvciBiZWluZyBsb2FkZWQgcmVzcG9uc2VzLgotICAgIGlmIChyZXNwb25zZS0+
aXNMb2FkaW5nKCkpIHsKLSAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTm90U3Vw
cG9ydGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQ2FjaGluZyBhIGxvYWRpbmcgUmVzcG9uc2UgaXMg
bm90IHlldCBzdXBwb3J0ZWQiKSB9KTsKKyAgICBpZiAocmVzcG9uc2UtPmlzRGlzdHVyYmVkKCkp
IHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxp
dGVyYWwoIlJlc3BvbnNlIGlzIGRpc3R1cmJlZCBvciBsb2NrZWQiKSB9KTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgUmVhZGFibGVTdHJl
YW0uCi0gICAgaWYgKHJlc3BvbnNlLT5pc1JlYWRhYmxlU3RyZWFtQm9keSgpKSB7Ci0gICAgICAg
IHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yLCBBU0NJSUxpdGVy
YWwoIkNhY2hpbmcgYSBSZXNwb25zZSB3aXRoIGRhdGEgc3RvcmVkIGluIGEgUmVhZGFibGVTdHJl
YW0gaXMgbm90IHlldCBzdXBwb3J0ZWQiKSB9KTsKKyAgICBpZiAocmVzcG9uc2UtPmlzTG9hZGlu
ZygpKSB7CisgICAgICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICAgICAgcmVzcG9u
c2UtPmNvbnN1bWVCb2R5V2hlbkxvYWRlZChbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIHJl
cXVlc3QgPSByZXF1ZXN0LnJlbGVhc2VOb25OdWxsKCksIHJlc3BvbnNlID0gV1RGTW92ZShyZXNw
b25zZSksIHRoaXNdKEV4Y2VwdGlvbk9yPFJlZlB0cjxTaGFyZWRCdWZmZXI+PiYmIHJlc3VsdCkg
bXV0YWJsZSB7CisgICAgICAgICAgICBpZiAocmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQorICAgICAg
ICAgICAgICAgIHByb21pc2UucmVqZWN0KHJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCkpOworICAg
ICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6
UmVzcG9uc2VCb2R5IGJvZHk7CisgICAgICAgICAgICAgICAgaWYgKGF1dG8gYnVmZmVyID0gcmVz
dWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpKQorICAgICAgICAgICAgICAgICAgICBib2R5ID0gYnVm
ZmVyLnJlbGVhc2VOb25OdWxsKCk7CisgICAgICAgICAgICAgICAgYmF0Y2hQdXRPcGVyYXRpb24o
cmVxdWVzdC5nZXQoKSwgcmVzcG9uc2UuZ2V0KCksIFdURk1vdmUoYm9keSksIFtwcm9taXNlID0g
V1RGTW92ZShwcm9taXNlKV0oRXhjZXB0aW9uT3I8dm9pZD4mJiByZXN1bHQpIG11dGFibGUgewor
ICAgICAgICAgICAgICAgICAgICBwcm9taXNlLnNldHRsZShXVEZNb3ZlKHJlc3VsdCkpOworICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdW5zZXRQZW5kaW5n
QWN0aXZpdHkodGhpcyk7CisgICAgICAgIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0g
ICAgYmF0Y2hQdXRPcGVyYXRpb24oKnJlcXVlc3QsIHJlc3BvbnNlLmdldCgpLCBbcHJvbWlzZSA9
IFdURk1vdmUocHJvbWlzZSldKEV4Y2VwdGlvbk9yPHZvaWQ+JiYgcmVzdWx0KSBtdXRhYmxlIHsK
KyAgICBiYXRjaFB1dE9wZXJhdGlvbigqcmVxdWVzdCwgcmVzcG9uc2UuZ2V0KCksIHJlc3BvbnNl
LT5jb25zdW1lQm9keSgpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKEV4Y2VwdGlvbk9y
PHZvaWQ+JiYgcmVzdWx0KSBtdXRhYmxlIHsKICAgICAgICAgcHJvbWlzZS5zZXR0bGUoV1RGTW92
ZShyZXN1bHQpKTsKICAgICB9KTsKIH0KQEAgLTI4Myw3ICsyOTUsNyBAQCB2b2lkIENhY2hlOjpi
YXRjaERlbGV0ZU9wZXJhdGlvbihjb25zdCBGZXRjaFJlcXVlc3QmIHJlcXVlc3QsIENhY2hlUXVl
cnlPcHRpb25zJgogICAgIH0pOwogfQogCi1zdGF0aWMgaW5saW5lIENhY2hlU3RvcmFnZUNvbm5l
Y3Rpb246OlJlY29yZCB0b0Nvbm5lY3Rpb25SZWNvcmQoY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXF1
ZXN0LCBGZXRjaFJlc3BvbnNlJiByZXNwb25zZSkKK3N0YXRpYyBpbmxpbmUgQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbjo6UmVjb3JkIHRvQ29ubmVjdGlvblJlY29yZChjb25zdCBGZXRjaFJlcXVlc3Qm
IHJlcXVlc3QsIEZldGNoUmVzcG9uc2UmIHJlc3BvbnNlLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
OjpSZXNwb25zZUJvZHkmJiByZXNwb25zZUJvZHkpCiB7CiAgICAgLy8gRklYTUU6IEFkZCBhIHNl
dEhUVFBIZWFkZXJGaWVsZHMgb24gUmVzb3VyY2VSZXNwb25zZUJhc2UuCiAgICAgUmVzb3VyY2VS
ZXNwb25zZSBjYWNoZWRSZXNwb25zZSA9IHJlc3BvbnNlLnJlc291cmNlUmVzcG9uc2UoKTsKQEAg
LTI5NSwxNCArMzA3LDE0IEBAIHN0YXRpYyBpbmxpbmUgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6
UmVjb3JkIHRvQ29ubmVjdGlvblJlY29yZChjb25zdCBGZXRjaFJlcXVlCiAKICAgICByZXR1cm4g
eyAwLAogICAgICAgICByZXF1ZXN0LmhlYWRlcnMoKS5ndWFyZCgpLCBXVEZNb3ZlKGNhY2hlZFJl
cXVlc3QpLCByZXF1ZXN0LmZldGNoT3B0aW9ucygpLCByZXF1ZXN0LmludGVybmFsUmVxdWVzdFJl
ZmVycmVyKCksCi0gICAgICAgIHJlc3BvbnNlLmhlYWRlcnMoKS5ndWFyZCgpLCBXVEZNb3ZlKGNh
Y2hlZFJlc3BvbnNlKSwgcmVzcG9uc2UuY29uc3VtZUJvZHkoKQorICAgICAgICByZXNwb25zZS5o
ZWFkZXJzKCkuZ3VhcmQoKSwgV1RGTW92ZShjYWNoZWRSZXNwb25zZSksIFdURk1vdmUocmVzcG9u
c2VCb2R5KQogICAgIH07CiB9CiAKLXZvaWQgQ2FjaGU6OmJhdGNoUHV0T3BlcmF0aW9uKGNvbnN0
IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgRmV0Y2hSZXNwb25zZSYgcmVzcG9uc2UsIFdURjo6RnVu
Y3Rpb248dm9pZChFeGNlcHRpb25Pcjx2b2lkPiYmKT4mJiBjYWxsYmFjaykKK3ZvaWQgQ2FjaGU6
OmJhdGNoUHV0T3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgRmV0Y2hSZXNw
b25zZSYgcmVzcG9uc2UsIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlc3BvbnNlQm9keSYmIHJl
c3BvbnNlQm9keSwgV1RGOjpGdW5jdGlvbjx2b2lkKEV4Y2VwdGlvbk9yPHZvaWQ+JiYpPiYmIGNh
bGxiYWNrKQogewogICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ+IHJl
Y29yZHM7Ci0gICAgcmVjb3Jkcy5hcHBlbmQodG9Db25uZWN0aW9uUmVjb3JkKHJlcXVlc3QsIHJl
c3BvbnNlKSk7CisgICAgcmVjb3Jkcy5hcHBlbmQodG9Db25uZWN0aW9uUmVjb3JkKHJlcXVlc3Qs
IHJlc3BvbnNlLCBXVEZNb3ZlKHJlc3BvbnNlQm9keSkpKTsKIAogICAgIHNldFBlbmRpbmdBY3Rp
dml0eSh0aGlzKTsKICAgICBtX2Nvbm5lY3Rpb24tPmJhdGNoUHV0T3BlcmF0aW9uKG1faWRlbnRp
ZmllciwgV1RGTW92ZShyZWNvcmRzKSwgW3RoaXMsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFj
ayldKFZlY3Rvcjx1aW50NjRfdD4mJiwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJy
b3IpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaAppbmRleCAwMzQzNmQ5ZDA1ZDc0
NmVhNWU0ZTVlZmNkNGJlOGYxNmJlODNlMjI4Li5jOTk4ZTA3MWNlYzZlNDhhZTYzY2I3ODZmNmY1
MTg4N2E4ODNlMWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0Nh
Y2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5oCkBAIC02OSw3
ICs2OSw3IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4gcXVlcnlD
YWNoZVdpdGhUYXJnZXRTdG9yYWdlKGNvbnN0IEZldGNoUmVxdWVzdCYsIGNvbnN0IENhY2hlUXVl
cnlPcHRpb25zJiwgY29uc3QgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mKTsKICAgICB2b2lk
IHF1ZXJ5Q2FjaGUoUmVmPEZldGNoUmVxdWVzdD4mJiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgV1RG
OjpGdW5jdGlvbjx2b2lkKGNvbnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+Jik+JiYpOwog
ICAgIHZvaWQgYmF0Y2hEZWxldGVPcGVyYXRpb24oY29uc3QgRmV0Y2hSZXF1ZXN0JiwgQ2FjaGVR
dWVyeU9wdGlvbnMmJiwgV1RGOjpGdW5jdGlvbjx2b2lkKEV4Y2VwdGlvbk9yPGJvb2w+JiYpPiYm
KTsKLSAgICB2b2lkIGJhdGNoUHV0T3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYsIEZldGNo
UmVzcG9uc2UmLCBXVEY6OkZ1bmN0aW9uPHZvaWQoRXhjZXB0aW9uT3I8dm9pZD4mJik+JiYpOwor
ICAgIHZvaWQgYmF0Y2hQdXRPcGVyYXRpb24oY29uc3QgRmV0Y2hSZXF1ZXN0JiwgRmV0Y2hSZXNw
b25zZSYsIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlc3BvbnNlQm9keSYmLCBXVEY6OkZ1bmN0
aW9uPHZvaWQoRXhjZXB0aW9uT3I8dm9pZD4mJik+JiYpOwogCiAgICAgdm9pZCB1cGRhdGVSZWNv
cmRzKFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ+JiYpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5jcHAKaW5kZXggNTRjMjIzNDBmZTZhYTQz
NDUxNDdmMTQ4MGQxYmMyMTZlZDA4N2MwZC4uZDNmNWFmMDI3ZmYyYjU2ZmZkZWIyYWU3ODlkMmMx
ZjYzMWI5ZDgxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aEJvZHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmNw
cApAQCAtNzQsMTMgKzc0LDYgQEAgRmV0Y2hCb2R5IEZldGNoQm9keTo6ZXh0cmFjdChTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBJbml0JiYgdmFsdWUsIFN0cmkKICAgICByZXR1cm4g
RmV0Y2hCb2R5KFdURk1vdmUoV1RGOjpnZXQ8U3RyaW5nPih2YWx1ZSkpKTsKIH0KIAotRmV0Y2hC
b2R5IEZldGNoQm9keTo6cmVhZGFibGVTdHJlYW1Cb2R5KCkKLXsKLSAgICBGZXRjaEJvZHkgYm9k
eTsKLSAgICBib2R5Lm1faXNSZWFkYWJsZVN0cmVhbSA9IHRydWU7Ci0gICAgcmV0dXJuIGJvZHk7
Ci19Ci0KIHZvaWQgRmV0Y2hCb2R5OjphcnJheUJ1ZmZlcihGZXRjaEJvZHlPd25lciYgb3duZXIs
IFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKICAgICBtX2NvbnN1bWVyLnNldFR5
cGUoRmV0Y2hCb2R5Q29uc3VtZXI6OlR5cGU6OkFycmF5QnVmZmVyKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoQm9keS5oCmluZGV4IDliOGQ5OTBiNzUwMmJlMzU0MTQyZjEzYTI0
ZDExNDE0ODVlYTYzNWEuLjRiZmE0M2ViN2IyYjg2M2QxNjUxMGQ0NWVjNDZiZTZjMTVkNjIxM2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuaApAQCAtNjQsOCArNjQs
OCBAQCBwdWJsaWM6CiAgICAgdXNpbmcgSW5pdCA9IFZhcmlhbnQ8UmVmUHRyPEJsb2I+LCBSZWZQ
dHI8QXJyYXlCdWZmZXJWaWV3PiwgUmVmUHRyPEFycmF5QnVmZmVyPiwgUmVmUHRyPERPTUZvcm1E
YXRhPiwgUmVmUHRyPFVSTFNlYXJjaFBhcmFtcz4sIFN0cmluZz47CiAgICAgc3RhdGljIEZldGNo
Qm9keSBleHRyYWN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBJbml0JiYsIFN0cmluZyYpOwog
ICAgIHN0YXRpYyBGZXRjaEJvZHkgbG9hZGluZ0JvZHkoKSB7IHJldHVybiB7IH07IH0KLSAgICBz
dGF0aWMgRmV0Y2hCb2R5IHJlYWRhYmxlU3RyZWFtQm9keSgpOwogCisgICAgdm9pZCBzZXRBc1Jl
YWRhYmxlU3RyZWFtKCkgeyBtX2lzUmVhZGFibGVTdHJlYW0gPSB0cnVlOyB9CiAgICAgdm9pZCBs
b2FkaW5nRmFpbGVkKCk7CiAgICAgdm9pZCBsb2FkaW5nU3VjY2VlZGVkKCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCmluZGV4IGE0MWZiYTA5
ZDNkMzc3MzM1MDc5NzkwOWUzOWE5MjQxNjA2MTZkMjIuLjkzNDE2MDc1ZTVmY2MyYWE2Yzg0NDYx
YmIzM2NkNTdjYTE4OTY4N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hSZXNwb25zZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaFJlc3BvbnNlLmNwcApAQCAtODEsOCArODEsOSBAQCB2b2lkIEZldGNoUmVzcG9uc2U6Omlu
aXRpYWxpemVXaXRoKEZldGNoQm9keTo6SW5pdCYmIGJvZHkpCiAKIHZvaWQgRmV0Y2hSZXNwb25z
ZTo6c2V0Qm9keUFzUmVhZGFibGVTdHJlYW0oKQogewotICAgIEFTU0VSVChpc0JvZHlOdWxsKCkp
OwotICAgIHNldEJvZHkoRmV0Y2hCb2R5OjpyZWFkYWJsZVN0cmVhbUJvZHkoKSk7CisgICAgaWYg
KGlzQm9keU51bGwoKSkKKyAgICAgICAgc2V0Qm9keShGZXRjaEJvZHk6OmxvYWRpbmdCb2R5KCkp
OworICAgIGJvZHkoKS5zZXRBc1JlYWRhYmxlU3RyZWFtKCk7CiAgICAgdXBkYXRlQ29udGVudFR5
cGUoKTsKIH0KIApAQCAtMTMyLDYgKzEzMyw4IEBAIHZvaWQgRmV0Y2hSZXNwb25zZTo6Qm9keUxv
YWRlcjo6ZGlkU3VjY2VlZCgpCiAgICAgaWYgKG1fcmVzcG9uc2UubV9yZWFkYWJsZVN0cmVhbVNv
dXJjZSAmJiAhbV9yZXNwb25zZS5ib2R5KCkuY29uc3VtZXIoKS5oYXNEYXRhKCkpCiAgICAgICAg
IG1fcmVzcG9uc2UuY2xvc2VTdHJlYW0oKTsKICNlbmRpZgorICAgIGlmIChhdXRvIHJlc3BvbnNl
RGF0YUNhbGxiYWNrID0gV1RGTW92ZShtX3Jlc3BvbnNlRGF0YUNhbGxiYWNrKSkKKyAgICAgICAg
cmVzcG9uc2VEYXRhQ2FsbGJhY2sobV9yZXNwb25zZS5ib2R5KCkuY29uc3VtZXIoKS50YWtlRGF0
YSgpKTsKIAogICAgIGlmIChtX2xvYWRlci0+aXNTdGFydGVkKCkpIHsKICAgICAgICAgUmVmPEZl
dGNoUmVzcG9uc2U+IHByb3RlY3RvcihtX3Jlc3BvbnNlKTsKQEAgLTE0NSw2ICsxNDgsOSBAQCB2
b2lkIEZldGNoUmVzcG9uc2U6OkJvZHlMb2FkZXI6OmRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJv
ciYgZXJyb3IpCiAgICAgaWYgKGF1dG8gcmVzcG9uc2VDYWxsYmFjayA9IFdURk1vdmUobV9yZXNw
b25zZUNhbGxiYWNrKSkKICAgICAgICAgcmVzcG9uc2VDYWxsYmFjayhFeGNlcHRpb24geyBUeXBl
RXJyb3IsIFN0cmluZyhlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpKSB9KTsKIAorICAgIGlm
IChhdXRvIHJlc3BvbnNlRGF0YUNhbGxiYWNrID0gV1RGTW92ZShtX3Jlc3BvbnNlRGF0YUNhbGxi
YWNrKSkKKyAgICAgICAgcmVzcG9uc2VEYXRhQ2FsbGJhY2soRXhjZXB0aW9uIHsgVHlwZUVycm9y
IH0pOworCiAjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQogICAgIGlmIChtX3Jlc3BvbnNlLm1fcmVh
ZGFibGVTdHJlYW1Tb3VyY2UpIHsKICAgICAgICAgaWYgKCFtX3Jlc3BvbnNlLm1fcmVhZGFibGVT
dHJlYW1Tb3VyY2UtPmlzQ2FuY2VsbGluZygpKQpAQCAtMjYwLDYgKzI2Niw4IEBAIHZvaWQgRmV0
Y2hSZXNwb25zZTo6Y29uc3VtZSh1bnNpZ25lZCB0eXBlLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYm
IHdyYXBwZXIpCiAKIEZldGNoUmVzcG9uc2U6OlJlc3BvbnNlRGF0YSBGZXRjaFJlc3BvbnNlOjpj
b25zdW1lQm9keSgpCiB7CisgICAgQVNTRVJUKCFpc0xvYWRpbmcoKSk7CisKICAgICBpZiAoaXNC
b2R5TnVsbCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIApAQCAtMjY5LDYgKzI3NywxNyBA
QCBGZXRjaFJlc3BvbnNlOjpSZXNwb25zZURhdGEgRmV0Y2hSZXNwb25zZTo6Y29uc3VtZUJvZHko
KQogICAgIHJldHVybiBib2R5KCkudGFrZSgpOwogfQogCit2b2lkIEZldGNoUmVzcG9uc2U6OmNv
bnN1bWVCb2R5V2hlbkxvYWRlZChSZXNwb25zZURhdGFDYWxsYmFjayYmIGNhbGxiYWNrKQorewor
ICAgIGlmICghaXNMb2FkaW5nKCkpCisgICAgICAgIHJldHVybjsKKworICAgIEFTU0VSVCghbV9p
c0Rpc3R1cmJlZCk7CisgICAgbV9pc0Rpc3R1cmJlZCA9IHRydWU7CisKKyAgICBtX2JvZHlMb2Fk
ZXItPnNldFJlc3BvbnNlRGF0YUNhbGxiYWNrKFdURk1vdmUoY2FsbGJhY2spKTsKK30KKwogdm9p
ZCBGZXRjaFJlc3BvbnNlOjpzZXRCb2R5RGF0YShSZXNwb25zZURhdGEmJiBkYXRhKQogewogICAg
IFdURjo6c3dpdGNoT24oZGF0YSwgW3RoaXNdKFJlZjxGb3JtRGF0YT4mIGZvcm1EYXRhKSB7CkBA
IC0zMTYsNyArMzM1LDkgQEAgdm9pZCBGZXRjaFJlc3BvbnNlOjpjb25zdW1lQm9keUFzU3RyZWFt
KCkKIAogICAgIEFTU0VSVChtX2JvZHlMb2FkZXIpOwogCi0gICAgUmVmUHRyPFNoYXJlZEJ1ZmZl
cj4gZGF0YSA9IG1fYm9keUxvYWRlci0+c3RhcnRTdHJlYW1pbmcoKTsKKyAgICBzZXRCb2R5QXNS
ZWFkYWJsZVN0cmVhbSgpOworCisgICAgYXV0byBkYXRhID0gbV9ib2R5TG9hZGVyLT5zdGFydFN0
cmVhbWluZygpOwogICAgIGlmIChkYXRhKSB7CiAgICAgICAgIGlmICghbV9yZWFkYWJsZVN0cmVh
bVNvdXJjZS0+ZW5xdWV1ZShkYXRhLT50cnlDcmVhdGVBcnJheUJ1ZmZlcigpKSkgewogICAgICAg
ICAgICAgc3RvcCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaFJlc3BvbnNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9u
c2UuaAppbmRleCAyNDRjNWRlNzhkZGQ5MjNiZmJhNTgzMWY5YjU2OGFlY2FiNWUzYzMxLi40NWEx
YWFlNGZiOTVhYzY1MmM4YjQ4NmNiZDA3MDlhNDMyZWE5YjdiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaApAQCAtOTQsOCArOTQsMTIgQEAgcHVibGlj
OgogICAgIHVzaW5nIFJlc3BvbnNlRGF0YSA9IFZhcmlhbnQ8c3RkOjpudWxscHRyX3QsIFJlZjxG
b3JtRGF0YT4sIFJlZjxTaGFyZWRCdWZmZXI+PjsKICAgICBSZXNwb25zZURhdGEgY29uc3VtZUJv
ZHkoKTsKICAgICB2b2lkIHNldEJvZHlEYXRhKFJlc3BvbnNlRGF0YSYmKTsKKwogICAgIGJvb2wg
aXNMb2FkaW5nKCkgY29uc3QgeyByZXR1cm4gISFtX2JvZHlMb2FkZXI7IH0KIAorICAgIHVzaW5n
IFJlc3BvbnNlRGF0YUNhbGxiYWNrID0gV1RGOjpGdW5jdGlvbjx2b2lkKEV4Y2VwdGlvbk9yPFJl
ZlB0cjxTaGFyZWRCdWZmZXI+PiYmKT47CisgICAgdm9pZCBjb25zdW1lQm9keVdoZW5Mb2FkZWQo
UmVzcG9uc2VEYXRhQ2FsbGJhY2smJik7CisKICAgICBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNvdXJjZVJlc3BvbnNlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25zZTsgfQogCiBwcml2YXRl
OgpAQCAtMTE3LDYgKzEyMSw4IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgc3RhcnQoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IEZldGNoUmVxdWVzdCYpOwogICAgICAgICB2b2lkIHN0
b3AoKTsKIAorICAgICAgICB2b2lkIHNldFJlc3BvbnNlRGF0YUNhbGxiYWNrKFJlc3BvbnNlRGF0
YUNhbGxiYWNrJiYgcmVzcG9uc2VEYXRhQ2FsbGJhY2spIHsgbV9yZXNwb25zZURhdGFDYWxsYmFj
ayA9IFdURk1vdmUocmVzcG9uc2VEYXRhQ2FsbGJhY2spOyB9CisKICNpZiBFTkFCTEUoU1RSRUFN
U19BUEkpCiAgICAgICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IHN0YXJ0U3RyZWFtaW5nKCk7CiAj
ZW5kaWYKQEAgLTEzMCw2ICsxMzYsNyBAQCBwcml2YXRlOgogCiAgICAgICAgIEZldGNoUmVzcG9u
c2UmIG1fcmVzcG9uc2U7CiAgICAgICAgIE5vdGlmaWNhdGlvbkNhbGxiYWNrIG1fcmVzcG9uc2VD
YWxsYmFjazsKKyAgICAgICAgUmVzcG9uc2VEYXRhQ2FsbGJhY2sgbV9yZXNwb25zZURhdGFDYWxs
YmFjazsKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPEZldGNoTG9hZGVyPiBtX2xvYWRlcjsKICAg
ICB9OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggMTVhZTRlZDZmMTlkMWFkMGMxMWE3MzQzMzI3N2Q0ZjMxZTEyZmJkZi4u
Y2Y2ZDMxMDEzZmU2NjNmNzM5NzcxZTFkMGFjNGJjNDU1MTBhYWEwZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEyIEBACisyMDE3LTA4LTE4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbQ2FjaGUgQVBJXSBBZGQgc3VwcG9ydCBmb3IgYmVpbmcgbG9hZGVkIHJlc3BvbnNl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NzMy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0
RXhwZWN0YXRpb25zOiBSZW1vdmluZyBzb21lIGZsYWt5IHRlc3QgZXhwZWN0YXRpb25zLgorCiAy
MDE3LTA4LTE4ICBNYXR0IExld2lzICA8amxld2lzM0BhcHBsZS5jb20+CiAKICAgICAgICAgTWFy
a2VkIGpzL3Nsb3ctc3RyZXNzL0ludDMyQXJyYXktYWxsb2MtaHVnZS5odG1sIGFzIGZsYWt5IG9u
IG1hYy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDM2ZjdiNWIzZDNkZWQ2OGNl
ZjExYzViYjc0NWE0NjZkODMyOTE5MDkuLjZiYjgyMDBlODQ2ODIzMjQzZjQyMTQxZWFkMjUwOWM2
NDlkNjEwM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE0IEBA
CiAyMDE3LTA4LTE4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAg
ICBbQ2FjaGUgQVBJXSBBZGQgc3VwcG9ydCBmb3IgYmVpbmcgbG9hZGVkIHJlc3BvbnNlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NzMyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvY29tbW9uLmh0dHBzLWV4cGVj
dGVkLnR4dDoKKworMjAxNy0wOC0xOCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKICAgICAgICAgW0NhY2hlIEFQSV0gQWRkIHJlc3BvbnNlIGJvZHkgc3RvcmFnZQogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NjU4CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IDQxMTU1OTRiMzk2OTc5NDcyMTBmN2ZkM2VkM2I4Yzk3Y2YxNGZkNDQu
LjA2MmNhNWM1NTNmYWE4ZTQyMjNiMGExOGU2YmNmMTIzNDc4NzlkZTggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtMTIwLDkgKzEyMCw3IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zdHViLTQuNi4yLWNhY2hlLmh0bWwgWyBQYXNzIF0KIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3N0dWItNC42LjMtY2FjaGUt
c3RvcmFnZS5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlIFsgUGFzcyBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdyBbIFBhc3Mg
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9jYWNoZS1zdG9yYWdlL2NvbW1vbi5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9j
YWNoZS1tYXRjaC5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hl
LXB1dC5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXB1dC5o
dHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAogIyB0ZXh0YXJlYS5hbmltYXRlIGlzIG5vdCBz
dXBwb3J0ZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvY29tbW9uLmh0dHBzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvY29tbW9uLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRl
eCA0ZTgxOWQyNTVlMGYwYWQ3YTExZWJmYjY0MzdmZTU5NDhhNGIzN2RjLi4yZWUzZDE3MjEyMGZh
NTg1NmNjZjBlNGZlODk1ZDQ3NmVkZmYzYTkwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdl
L2NvbW1vbi5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9jb21tb24u
aHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFdpbmRvdyBzZWVzIGNh
Y2hlIHB1dHMgYnkgV29ya2VyIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorUEFTUyBXaW5kb3cg
c2VlcyBjYWNoZSBwdXRzIGJ5IFdvcmtlciAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318564</attachid>
            <date>2017-08-18 17:30:14 -0700</date>
            <delta_ts>2017-08-18 17:47:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175732-20170818173013.patch</filename>
            <type>text/plain</type>
            <size>16102</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwOTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2I4NDMxZjQzMzgxNzVh
MTZlYWE2MTc5YjJmZjMxZmVkZWRmNzkzZS4uYzQxNDBkYWJhYjNmZmY2YTAyYzhlNWMxY2IyNzZk
ZGY0NmYwZGNlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM2IEBACiAyMDE3LTA4LTE4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBbQ2FjaGUgQVBJXSBBZGQg
c3VwcG9ydCBmb3IgYmVpbmcgbG9hZGVkIHJlc3BvbnNlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NzMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Q2hyaXMgRHVtZXouCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyBhbmQgcmViYXNlZCB0
ZXN0cy4KKworICAgICAgICBJbnRyb2R1Y2luZyBhIGNhbGxiYWNrLWJhc2VkIG1ldGhvZCB0byBj
b25zdW1lIHRoZSBib2R5IHdoZW4gdGhlIGxvYWQgaXMgZmluaXNoZWQuCisgICAgICAgIFVzaW5n
IHRoYXQgbmV3IG1ldGhvZCBpbiBDYWNoZTo6cHV0IGFuZCBjYWxsaW5nIGJhdGNoUHV0T3BlcmF0
aW9uIHdoZW4gdGhlIGxvYWQgaXMgZmluaXNoZWQuCisKKyAgICAgICAgRml4aW5nIHRoZSBjYXNl
IG9mIGEgZmV0Y2ggcmVzcG9uc2UgYmVpbmcgY2xvbmVkLCBpbiB3aGljaCBjYXNlIGl0cyBib2R5
IHNob3VsZCBiZSBtYXJrZWQgYXMgUmVhZGFibGVTdHJlYW0uCisKKyAgICAgICAgKiBNb2R1bGVz
L2NhY2hlL0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjpwdXQpOiBDaGFuZ2lu
ZyBvcmRlciBvZiBjaGVja3MgdG8gcmVkdWNlIHRlc3QgZmxha2luZXNzIHJpc2tzIGFzIHRoZXJl
IGlzIG5vdCB5ZXQgc3VwcG9ydCBmb3IgcHV0dGluZyByZXNwb25zZXMgd2l0aCBSZWFkYWJsZVN0
cmVhbS4KKyAgICAgICAgKFdlYkNvcmU6OnRvQ29ubmVjdGlvblJlY29yZCk6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZTo6YmF0Y2hQdXRPcGVyYXRpb24pOgorICAgICAgICAqIE1vZHVsZXMvY2Fj
aGUvQ2FjaGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6OnJlYWRhYmxlU3RyZWFtQm9keSk6IERlbGV0ZWQuCisg
ICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZl
dGNoQm9keTo6bG9hZGluZ0JvZHkpOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5OjpzZXRB
c1JlYWRhYmxlU3RyZWFtKToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hSZXNwb25zZTo6Qm9keUxvYWRlcjo6ZGlkU3Vj
Y2VlZCk6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaFJlc3BvbnNlOjpCb2R5TG9hZGVyOjpkaWRG
YWlsKToKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoUmVzcG9uc2U6OmNvbnN1bWVCb2R5KToKKyAg
ICAgICAgKFdlYkNvcmU6OkZldGNoUmVzcG9uc2U6OmNvbnN1bWVCb2R5V2hlbkxvYWRlZCk6Cisg
ICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmg6CisKKzIwMTctMDgtMTggIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCiAgICAgICAgIFtDYWNoZSBBUEldIEFk
ZCByZXNwb25zZSBib2R5IHN0b3JhZ2UKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3NTY1OAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2NhY2hlL0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUu
Y3BwCmluZGV4IGRmNmEwNzZlNDg5MGI1NDc5MTY2ZGFkNDNlOWEzMzhmZTgxMTBlMjQuLmUwYWEy
MWRhMWM1YWQ0YzRjZjZjNTBmMDE5MDBjY2U0N2ZiMWFmYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY2FjaGUvQ2FjaGUuY3BwCkBAIC0xNTAsMjkgKzE1MCw0MSBAQCB2b2lkIENhY2hlOjpwdXQo
UmVxdWVzdEluZm8mJiBpbmZvLCBSZWY8RmV0Y2hSZXNwb25zZT4mJiByZXNwb25zZSwgRE9NUHJv
bWlzZURlZgogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKHJlc3BvbnNlLT5pc0Rpc3R1cmJl
ZCgpKSB7Ci0gICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVND
SUlMaXRlcmFsKCJSZXNwb25zZSBpcyBkaXN0dXJiZWQgb3IgbG9ja2VkIikgfSk7CisgICAgaWYg
KHJlc3BvbnNlLT5zdGF0dXMoKSA9PSAyMDYpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhj
ZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIlJlc3BvbnNlIGlzIGEgMjA2IHBhcnRp
YWwiKSB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChyZXNwb25zZS0+c3Rh
dHVzKCkgPT0gMjA2KSB7Ci0gICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVF
cnJvciwgQVNDSUlMaXRlcmFsKCJSZXNwb25zZSBpcyBhIDIwNiBwYXJ0aWFsIikgfSk7CisgICAg
Ly8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBSZWFkYWJsZVN0cmVhbS4KKyAgICBpZiAocmVzcG9u
c2UtPmlzUmVhZGFibGVTdHJlYW1Cb2R5KCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhj
ZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQ2FjaGluZyBhIFJlc3Bv
bnNlIHdpdGggZGF0YSBzdG9yZWQgaW4gYSBSZWFkYWJsZVN0cmVhbSBpcyBub3QgeWV0IHN1cHBv
cnRlZCIpIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgLy8gRklYTUU6IEFkZCBz
dXBwb3J0IGZvciBiZWluZyBsb2FkZWQgcmVzcG9uc2VzLgotICAgIGlmIChyZXNwb25zZS0+aXNM
b2FkaW5nKCkpIHsKLSAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTm90U3VwcG9y
dGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQ2FjaGluZyBhIGxvYWRpbmcgUmVzcG9uc2UgaXMgbm90
IHlldCBzdXBwb3J0ZWQiKSB9KTsKKyAgICBpZiAocmVzcG9uc2UtPmlzRGlzdHVyYmVkKCkpIHsK
KyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVy
YWwoIlJlc3BvbnNlIGlzIGRpc3R1cmJlZCBvciBsb2NrZWQiKSB9KTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgUmVhZGFibGVTdHJlYW0u
Ci0gICAgaWYgKHJlc3BvbnNlLT5pc1JlYWRhYmxlU3RyZWFtQm9keSgpKSB7Ci0gICAgICAgIHBy
b21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yLCBBU0NJSUxpdGVyYWwo
IkNhY2hpbmcgYSBSZXNwb25zZSB3aXRoIGRhdGEgc3RvcmVkIGluIGEgUmVhZGFibGVTdHJlYW0g
aXMgbm90IHlldCBzdXBwb3J0ZWQiKSB9KTsKKyAgICBpZiAocmVzcG9uc2UtPmlzTG9hZGluZygp
KSB7CisgICAgICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICAgICAgcmVzcG9uc2Ut
PmNvbnN1bWVCb2R5V2hlbkxvYWRlZChbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIHJlcXVl
c3QgPSByZXF1ZXN0LnJlbGVhc2VOb25OdWxsKCksIHJlc3BvbnNlID0gV1RGTW92ZShyZXNwb25z
ZSksIHRoaXNdKEV4Y2VwdGlvbk9yPFJlZlB0cjxTaGFyZWRCdWZmZXI+PiYmIHJlc3VsdCkgbXV0
YWJsZSB7CisgICAgICAgICAgICBpZiAocmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQorICAgICAgICAg
ICAgICAgIHByb21pc2UucmVqZWN0KHJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCkpOworICAgICAg
ICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVz
cG9uc2VCb2R5IGJvZHk7CisgICAgICAgICAgICAgICAgaWYgKGF1dG8gYnVmZmVyID0gcmVzdWx0
LnJlbGVhc2VSZXR1cm5WYWx1ZSgpKQorICAgICAgICAgICAgICAgICAgICBib2R5ID0gYnVmZmVy
LnJlbGVhc2VOb25OdWxsKCk7CisgICAgICAgICAgICAgICAgYmF0Y2hQdXRPcGVyYXRpb24ocmVx
dWVzdC5nZXQoKSwgcmVzcG9uc2UuZ2V0KCksIFdURk1vdmUoYm9keSksIFtwcm9taXNlID0gV1RG
TW92ZShwcm9taXNlKV0oRXhjZXB0aW9uT3I8dm9pZD4mJiByZXN1bHQpIG11dGFibGUgeworICAg
ICAgICAgICAgICAgICAgICBwcm9taXNlLnNldHRsZShXVEZNb3ZlKHJlc3VsdCkpOworICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdW5zZXRQZW5kaW5nQWN0
aXZpdHkodGhpcyk7CisgICAgICAgIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
YmF0Y2hQdXRPcGVyYXRpb24oKnJlcXVlc3QsIHJlc3BvbnNlLmdldCgpLCBbcHJvbWlzZSA9IFdU
Rk1vdmUocHJvbWlzZSldKEV4Y2VwdGlvbk9yPHZvaWQ+JiYgcmVzdWx0KSBtdXRhYmxlIHsKKyAg
ICBiYXRjaFB1dE9wZXJhdGlvbigqcmVxdWVzdCwgcmVzcG9uc2UuZ2V0KCksIHJlc3BvbnNlLT5j
b25zdW1lQm9keSgpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKEV4Y2VwdGlvbk9yPHZv
aWQ+JiYgcmVzdWx0KSBtdXRhYmxlIHsKICAgICAgICAgcHJvbWlzZS5zZXR0bGUoV1RGTW92ZShy
ZXN1bHQpKTsKICAgICB9KTsKIH0KQEAgLTI4Myw3ICsyOTUsNyBAQCB2b2lkIENhY2hlOjpiYXRj
aERlbGV0ZU9wZXJhdGlvbihjb25zdCBGZXRjaFJlcXVlc3QmIHJlcXVlc3QsIENhY2hlUXVlcnlP
cHRpb25zJgogICAgIH0pOwogfQogCi1zdGF0aWMgaW5saW5lIENhY2hlU3RvcmFnZUNvbm5lY3Rp
b246OlJlY29yZCB0b0Nvbm5lY3Rpb25SZWNvcmQoY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXF1ZXN0
LCBGZXRjaFJlc3BvbnNlJiByZXNwb25zZSkKK3N0YXRpYyBpbmxpbmUgQ2FjaGVTdG9yYWdlQ29u
bmVjdGlvbjo6UmVjb3JkIHRvQ29ubmVjdGlvblJlY29yZChjb25zdCBGZXRjaFJlcXVlc3QmIHJl
cXVlc3QsIEZldGNoUmVzcG9uc2UmIHJlc3BvbnNlLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpS
ZXNwb25zZUJvZHkmJiByZXNwb25zZUJvZHkpCiB7CiAgICAgLy8gRklYTUU6IEFkZCBhIHNldEhU
VFBIZWFkZXJGaWVsZHMgb24gUmVzb3VyY2VSZXNwb25zZUJhc2UuCiAgICAgUmVzb3VyY2VSZXNw
b25zZSBjYWNoZWRSZXNwb25zZSA9IHJlc3BvbnNlLnJlc291cmNlUmVzcG9uc2UoKTsKQEAgLTI5
NSwxNCArMzA3LDE0IEBAIHN0YXRpYyBpbmxpbmUgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVj
b3JkIHRvQ29ubmVjdGlvblJlY29yZChjb25zdCBGZXRjaFJlcXVlCiAKICAgICByZXR1cm4geyAw
LAogICAgICAgICByZXF1ZXN0LmhlYWRlcnMoKS5ndWFyZCgpLCBXVEZNb3ZlKGNhY2hlZFJlcXVl
c3QpLCByZXF1ZXN0LmZldGNoT3B0aW9ucygpLCByZXF1ZXN0LmludGVybmFsUmVxdWVzdFJlZmVy
cmVyKCksCi0gICAgICAgIHJlc3BvbnNlLmhlYWRlcnMoKS5ndWFyZCgpLCBXVEZNb3ZlKGNhY2hl
ZFJlc3BvbnNlKSwgcmVzcG9uc2UuY29uc3VtZUJvZHkoKQorICAgICAgICByZXNwb25zZS5oZWFk
ZXJzKCkuZ3VhcmQoKSwgV1RGTW92ZShjYWNoZWRSZXNwb25zZSksIFdURk1vdmUocmVzcG9uc2VC
b2R5KQogICAgIH07CiB9CiAKLXZvaWQgQ2FjaGU6OmJhdGNoUHV0T3BlcmF0aW9uKGNvbnN0IEZl
dGNoUmVxdWVzdCYgcmVxdWVzdCwgRmV0Y2hSZXNwb25zZSYgcmVzcG9uc2UsIFdURjo6RnVuY3Rp
b248dm9pZChFeGNlcHRpb25Pcjx2b2lkPiYmKT4mJiBjYWxsYmFjaykKK3ZvaWQgQ2FjaGU6OmJh
dGNoUHV0T3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgRmV0Y2hSZXNwb25z
ZSYgcmVzcG9uc2UsIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlc3BvbnNlQm9keSYmIHJlc3Bv
bnNlQm9keSwgV1RGOjpGdW5jdGlvbjx2b2lkKEV4Y2VwdGlvbk9yPHZvaWQ+JiYpPiYmIGNhbGxi
YWNrKQogewogICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ+IHJlY29y
ZHM7Ci0gICAgcmVjb3Jkcy5hcHBlbmQodG9Db25uZWN0aW9uUmVjb3JkKHJlcXVlc3QsIHJlc3Bv
bnNlKSk7CisgICAgcmVjb3Jkcy5hcHBlbmQodG9Db25uZWN0aW9uUmVjb3JkKHJlcXVlc3QsIHJl
c3BvbnNlLCBXVEZNb3ZlKHJlc3BvbnNlQm9keSkpKTsKIAogICAgIHNldFBlbmRpbmdBY3Rpdml0
eSh0aGlzKTsKICAgICBtX2Nvbm5lY3Rpb24tPmJhdGNoUHV0T3BlcmF0aW9uKG1faWRlbnRpZmll
ciwgV1RGTW92ZShyZWNvcmRzKSwgW3RoaXMsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayld
KFZlY3Rvcjx1aW50NjRfdD4mJiwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3Ip
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaAppbmRleCAwMzQzNmQ5ZDA1ZDc0NmVh
NWU0ZTVlZmNkNGJlOGYxNmJlODNlMjI4Li5jOTk4ZTA3MWNlYzZlNDhhZTYzY2I3ODZmNmY1MTg4
N2E4ODNlMWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5oCkBAIC02OSw3ICs2
OSw3IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4gcXVlcnlDYWNo
ZVdpdGhUYXJnZXRTdG9yYWdlKGNvbnN0IEZldGNoUmVxdWVzdCYsIGNvbnN0IENhY2hlUXVlcnlP
cHRpb25zJiwgY29uc3QgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mKTsKICAgICB2b2lkIHF1
ZXJ5Q2FjaGUoUmVmPEZldGNoUmVxdWVzdD4mJiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgV1RGOjpG
dW5jdGlvbjx2b2lkKGNvbnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+Jik+JiYpOwogICAg
IHZvaWQgYmF0Y2hEZWxldGVPcGVyYXRpb24oY29uc3QgRmV0Y2hSZXF1ZXN0JiwgQ2FjaGVRdWVy
eU9wdGlvbnMmJiwgV1RGOjpGdW5jdGlvbjx2b2lkKEV4Y2VwdGlvbk9yPGJvb2w+JiYpPiYmKTsK
LSAgICB2b2lkIGJhdGNoUHV0T3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYsIEZldGNoUmVz
cG9uc2UmLCBXVEY6OkZ1bmN0aW9uPHZvaWQoRXhjZXB0aW9uT3I8dm9pZD4mJik+JiYpOworICAg
IHZvaWQgYmF0Y2hQdXRPcGVyYXRpb24oY29uc3QgRmV0Y2hSZXF1ZXN0JiwgRmV0Y2hSZXNwb25z
ZSYsIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlc3BvbnNlQm9keSYmLCBXVEY6OkZ1bmN0aW9u
PHZvaWQoRXhjZXB0aW9uT3I8dm9pZD4mJik+JiYpOwogCiAgICAgdm9pZCB1cGRhdGVSZWNvcmRz
KFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ+JiYpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5jcHAKaW5kZXggNTRjMjIzNDBmZTZhYTQzNDUx
NDdmMTQ4MGQxYmMyMTZlZDA4N2MwZC4uZDNmNWFmMDI3ZmYyYjU2ZmZkZWIyYWU3ODlkMmMxZjYz
MWI5ZDgxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJv
ZHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmNwcApA
QCAtNzQsMTMgKzc0LDYgQEAgRmV0Y2hCb2R5IEZldGNoQm9keTo6ZXh0cmFjdChTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0LCBJbml0JiYgdmFsdWUsIFN0cmkKICAgICByZXR1cm4gRmV0
Y2hCb2R5KFdURk1vdmUoV1RGOjpnZXQ8U3RyaW5nPih2YWx1ZSkpKTsKIH0KIAotRmV0Y2hCb2R5
IEZldGNoQm9keTo6cmVhZGFibGVTdHJlYW1Cb2R5KCkKLXsKLSAgICBGZXRjaEJvZHkgYm9keTsK
LSAgICBib2R5Lm1faXNSZWFkYWJsZVN0cmVhbSA9IHRydWU7Ci0gICAgcmV0dXJuIGJvZHk7Ci19
Ci0KIHZvaWQgRmV0Y2hCb2R5OjphcnJheUJ1ZmZlcihGZXRjaEJvZHlPd25lciYgb3duZXIsIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKICAgICBtX2NvbnN1bWVyLnNldFR5cGUo
RmV0Y2hCb2R5Q29uc3VtZXI6OlR5cGU6OkFycmF5QnVmZmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoQm9keS5oCmluZGV4IDliOGQ5OTBiNzUwMmJlMzU0MTQyZjEzYTI0ZDEx
NDE0ODVlYTYzNWEuLjRiZmE0M2ViN2IyYjg2M2QxNjUxMGQ0NWVjNDZiZTZjMTVkNjIxM2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuaApAQCAtNjQsOCArNjQsOCBA
QCBwdWJsaWM6CiAgICAgdXNpbmcgSW5pdCA9IFZhcmlhbnQ8UmVmUHRyPEJsb2I+LCBSZWZQdHI8
QXJyYXlCdWZmZXJWaWV3PiwgUmVmUHRyPEFycmF5QnVmZmVyPiwgUmVmUHRyPERPTUZvcm1EYXRh
PiwgUmVmUHRyPFVSTFNlYXJjaFBhcmFtcz4sIFN0cmluZz47CiAgICAgc3RhdGljIEZldGNoQm9k
eSBleHRyYWN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBJbml0JiYsIFN0cmluZyYpOwogICAg
IHN0YXRpYyBGZXRjaEJvZHkgbG9hZGluZ0JvZHkoKSB7IHJldHVybiB7IH07IH0KLSAgICBzdGF0
aWMgRmV0Y2hCb2R5IHJlYWRhYmxlU3RyZWFtQm9keSgpOwogCisgICAgdm9pZCBzZXRBc1JlYWRh
YmxlU3RyZWFtKCkgeyBtX2lzUmVhZGFibGVTdHJlYW0gPSB0cnVlOyB9CiAgICAgdm9pZCBsb2Fk
aW5nRmFpbGVkKCk7CiAgICAgdm9pZCBsb2FkaW5nU3VjY2VlZGVkKCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCmluZGV4IGE0MWZiYTA5ZDNk
Mzc3MzM1MDc5NzkwOWUzOWE5MjQxNjA2MTZkMjIuLmE2ZTkxMDg5MmRhMTAwMWMwZGYxZmZkNTM4
OWMyMDk0YjgzMjBlNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hSZXNwb25zZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aFJlc3BvbnNlLmNwcApAQCAtODEsOCArODEsOSBAQCB2b2lkIEZldGNoUmVzcG9uc2U6OmluaXRp
YWxpemVXaXRoKEZldGNoQm9keTo6SW5pdCYmIGJvZHkpCiAKIHZvaWQgRmV0Y2hSZXNwb25zZTo6
c2V0Qm9keUFzUmVhZGFibGVTdHJlYW0oKQogewotICAgIEFTU0VSVChpc0JvZHlOdWxsKCkpOwot
ICAgIHNldEJvZHkoRmV0Y2hCb2R5OjpyZWFkYWJsZVN0cmVhbUJvZHkoKSk7CisgICAgaWYgKGlz
Qm9keU51bGwoKSkKKyAgICAgICAgc2V0Qm9keShGZXRjaEJvZHk6OmxvYWRpbmdCb2R5KCkpOwor
ICAgIGJvZHkoKS5zZXRBc1JlYWRhYmxlU3RyZWFtKCk7CiAgICAgdXBkYXRlQ29udGVudFR5cGUo
KTsKIH0KIApAQCAtMTMyLDYgKzEzMyw4IEBAIHZvaWQgRmV0Y2hSZXNwb25zZTo6Qm9keUxvYWRl
cjo6ZGlkU3VjY2VlZCgpCiAgICAgaWYgKG1fcmVzcG9uc2UubV9yZWFkYWJsZVN0cmVhbVNvdXJj
ZSAmJiAhbV9yZXNwb25zZS5ib2R5KCkuY29uc3VtZXIoKS5oYXNEYXRhKCkpCiAgICAgICAgIG1f
cmVzcG9uc2UuY2xvc2VTdHJlYW0oKTsKICNlbmRpZgorICAgIGlmIChhdXRvIGNvbnN1bWVEYXRh
Q2FsbGJhY2sgPSBXVEZNb3ZlKG1fY29uc3VtZURhdGFDYWxsYmFjaykpCisgICAgICAgIGNvbnN1
bWVEYXRhQ2FsbGJhY2sobV9yZXNwb25zZS5ib2R5KCkuY29uc3VtZXIoKS50YWtlRGF0YSgpKTsK
IAogICAgIGlmIChtX2xvYWRlci0+aXNTdGFydGVkKCkpIHsKICAgICAgICAgUmVmPEZldGNoUmVz
cG9uc2U+IHByb3RlY3RvcihtX3Jlc3BvbnNlKTsKQEAgLTE0NSw2ICsxNDgsOSBAQCB2b2lkIEZl
dGNoUmVzcG9uc2U6OkJvZHlMb2FkZXI6OmRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJy
b3IpCiAgICAgaWYgKGF1dG8gcmVzcG9uc2VDYWxsYmFjayA9IFdURk1vdmUobV9yZXNwb25zZUNh
bGxiYWNrKSkKICAgICAgICAgcmVzcG9uc2VDYWxsYmFjayhFeGNlcHRpb24geyBUeXBlRXJyb3Is
IFN0cmluZyhlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpKSB9KTsKIAorICAgIGlmIChhdXRv
IGNvbnN1bWVEYXRhQ2FsbGJhY2sgPSBXVEZNb3ZlKG1fY29uc3VtZURhdGFDYWxsYmFjaykpCisg
ICAgICAgIGNvbnN1bWVEYXRhQ2FsbGJhY2soRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBTdHJpbmco
ZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24oKSkgfSk7CisKICNpZiBFTkFCTEUoU1RSRUFNU19B
UEkpCiAgICAgaWYgKG1fcmVzcG9uc2UubV9yZWFkYWJsZVN0cmVhbVNvdXJjZSkgewogICAgICAg
ICBpZiAoIW1fcmVzcG9uc2UubV9yZWFkYWJsZVN0cmVhbVNvdXJjZS0+aXNDYW5jZWxsaW5nKCkp
CkBAIC0yNjAsNiArMjY2LDggQEAgdm9pZCBGZXRjaFJlc3BvbnNlOjpjb25zdW1lKHVuc2lnbmVk
IHR5cGUsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgd3JhcHBlcikKIAogRmV0Y2hSZXNwb25zZTo6
UmVzcG9uc2VEYXRhIEZldGNoUmVzcG9uc2U6OmNvbnN1bWVCb2R5KCkKIHsKKyAgICBBU1NFUlQo
IWlzTG9hZGluZygpKTsKKwogICAgIGlmIChpc0JvZHlOdWxsKCkpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwogCkBAIC0yNjksNiArMjc3LDE2IEBAIEZldGNoUmVzcG9uc2U6OlJlc3BvbnNlRGF0
YSBGZXRjaFJlc3BvbnNlOjpjb25zdW1lQm9keSgpCiAgICAgcmV0dXJuIGJvZHkoKS50YWtlKCk7
CiB9CiAKK3ZvaWQgRmV0Y2hSZXNwb25zZTo6Y29uc3VtZUJvZHlXaGVuTG9hZGVkKENvbnN1bWVE
YXRhQ2FsbGJhY2smJiBjYWxsYmFjaykKK3sKKyAgICBBU1NFUlQoIWlzTG9hZGluZygpKTsKKwor
ICAgIEFTU0VSVCghbV9pc0Rpc3R1cmJlZCk7CisgICAgbV9pc0Rpc3R1cmJlZCA9IHRydWU7CisK
KyAgICBtX2JvZHlMb2FkZXItPnNldENvbnN1bWVEYXRhQ2FsbGJhY2soV1RGTW92ZShjYWxsYmFj
aykpOworfQorCiB2b2lkIEZldGNoUmVzcG9uc2U6OnNldEJvZHlEYXRhKFJlc3BvbnNlRGF0YSYm
IGRhdGEpCiB7CiAgICAgV1RGOjpzd2l0Y2hPbihkYXRhLCBbdGhpc10oUmVmPEZvcm1EYXRhPiYg
Zm9ybURhdGEpIHsKQEAgLTMxNiw3ICszMzQsOSBAQCB2b2lkIEZldGNoUmVzcG9uc2U6OmNvbnN1
bWVCb2R5QXNTdHJlYW0oKQogCiAgICAgQVNTRVJUKG1fYm9keUxvYWRlcik7CiAKLSAgICBSZWZQ
dHI8U2hhcmVkQnVmZmVyPiBkYXRhID0gbV9ib2R5TG9hZGVyLT5zdGFydFN0cmVhbWluZygpOwor
ICAgIHNldEJvZHlBc1JlYWRhYmxlU3RyZWFtKCk7CisKKyAgICBhdXRvIGRhdGEgPSBtX2JvZHlM
b2FkZXItPnN0YXJ0U3RyZWFtaW5nKCk7CiAgICAgaWYgKGRhdGEpIHsKICAgICAgICAgaWYgKCFt
X3JlYWRhYmxlU3RyZWFtU291cmNlLT5lbnF1ZXVlKGRhdGEtPnRyeUNyZWF0ZUFycmF5QnVmZmVy
KCkpKSB7CiAgICAgICAgICAgICBzdG9wKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hSZXNwb25zZS5oCmluZGV4IDI0NGM1ZGU3OGRkZDkyM2JmYmE1ODMxZjliNTY4YWVj
YWI1ZTNjMzEuLjY2ZTM1OThmN2ViZmRjNWMyMjExOTYxOGE0MTVhN2QxMjdmNGU4NGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCkBAIC05NCw4ICs5
NCwxMiBAQCBwdWJsaWM6CiAgICAgdXNpbmcgUmVzcG9uc2VEYXRhID0gVmFyaWFudDxzdGQ6Om51
bGxwdHJfdCwgUmVmPEZvcm1EYXRhPiwgUmVmPFNoYXJlZEJ1ZmZlcj4+OwogICAgIFJlc3BvbnNl
RGF0YSBjb25zdW1lQm9keSgpOwogICAgIHZvaWQgc2V0Qm9keURhdGEoUmVzcG9uc2VEYXRhJiYp
OworCiAgICAgYm9vbCBpc0xvYWRpbmcoKSBjb25zdCB7IHJldHVybiAhIW1fYm9keUxvYWRlcjsg
fQogCisgICAgdXNpbmcgQ29uc3VtZURhdGFDYWxsYmFjayA9IFdURjo6RnVuY3Rpb248dm9pZChF
eGNlcHRpb25PcjxSZWZQdHI8U2hhcmVkQnVmZmVyPj4mJik+OworICAgIHZvaWQgY29uc3VtZUJv
ZHlXaGVuTG9hZGVkKENvbnN1bWVEYXRhQ2FsbGJhY2smJik7CisKICAgICBjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNvdXJjZVJlc3BvbnNlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25zZTsg
fQogCiBwcml2YXRlOgpAQCAtMTE3LDYgKzEyMSw4IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wg
c3RhcnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IEZldGNoUmVxdWVzdCYpOwogICAg
ICAgICB2b2lkIHN0b3AoKTsKIAorICAgICAgICB2b2lkIHNldENvbnN1bWVEYXRhQ2FsbGJhY2so
Q29uc3VtZURhdGFDYWxsYmFjayYmIGNvbnN1bWVEYXRhQ2FsbGJhY2spIHsgbV9jb25zdW1lRGF0
YUNhbGxiYWNrID0gV1RGTW92ZShjb25zdW1lRGF0YUNhbGxiYWNrKTsgfQorCiAjaWYgRU5BQkxF
KFNUUkVBTVNfQVBJKQogICAgICAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBzdGFydFN0cmVhbWlu
ZygpOwogI2VuZGlmCkBAIC0xMzAsNiArMTM2LDcgQEAgcHJpdmF0ZToKIAogICAgICAgICBGZXRj
aFJlc3BvbnNlJiBtX3Jlc3BvbnNlOwogICAgICAgICBOb3RpZmljYXRpb25DYWxsYmFjayBtX3Jl
c3BvbnNlQ2FsbGJhY2s7CisgICAgICAgIENvbnN1bWVEYXRhQ2FsbGJhY2sgbV9jb25zdW1lRGF0
YUNhbGxiYWNrOwogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8RmV0Y2hMb2FkZXI+IG1fbG9hZGVy
OwogICAgIH07CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCAxNWFlNGVkNmYxOWQxYWQwYzExYTczNDMzMjc3ZDRmMzFlMTJm
YmRmLi5jMWViYTY1NjdjOWVkZTY2YjJkMjM2NzcyZjBiNjZmZjZlZTY5YTUzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTIgQEAKKzIwMTctMDgtMTggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIFtDYWNoZSBBUEldIEFkZCBzdXBwb3J0IGZvciBiZWluZyBsb2FkZWQgcmVz
cG9uc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzU3MzIKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICAqIFRl
c3RFeHBlY3RhdGlvbnM6IFJlbW92aW5nIHNvbWUgZmxha3kgdGVzdCBleHBlY3RhdGlvbnMuCisK
IDIwMTctMDgtMTggIE1hdHQgTGV3aXMgIDxqbGV3aXMzQGFwcGxlLmNvbT4KIAogICAgICAgICBN
YXJrZWQganMvc2xvdy1zdHJlc3MvSW50MzJBcnJheS1hbGxvYy1odWdlLmh0bWwgYXMgZmxha3kg
b24gbWFjLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMzZmN2I1YjNkM2RlZDY4
Y2VmMTFjNWJiNzQ1YTQ2NmQ4MzI5MTkwOS4uOGQ1ZWNiN2VjN2U3ZDRkMTRjNGYyNDQ3OTVmNTgx
NTQzY2EwZTE2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTQg
QEAKIDIwMTctMDgtMTggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCisgICAg
ICAgIFtDYWNoZSBBUEldIEFkZCBzdXBwb3J0IGZvciBiZWluZyBsb2FkZWQgcmVzcG9uc2VzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU3MzIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9jb21tb24uaHR0cHMtZXhwZWN0
ZWQudHh0OgorCisyMDE3LTA4LTE4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
KwogICAgICAgICBbQ2FjaGUgQVBJXSBBZGQgcmVzcG9uc2UgYm9keSBzdG9yYWdlCiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU2NTgKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggNDExNTU5NGIzOTY5Nzk0NzIxMGY3ZmQzZWQzYjhjOTdjZjE0ZmQ0NC4u
MDYyY2E1YzU1M2ZhYThlNDIyM2IwYTE4ZTZiY2YxMjM0Nzg3OWRlOCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCkBAIC0xMjAsOSArMTIwLDcgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3N0dWItNC42LjItY2FjaGUuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc3R1Yi00LjYuMy1jYWNoZS1z
dG9yYWdlLmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UgWyBQYXNzIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93IFsgUGFzcyBG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L2NhY2hlLXN0b3JhZ2UvY29tbW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2Nh
Y2hlLW1hdGNoLmh0dHBzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUt
cHV0Lmh0dHBzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtcHV0Lmh0
dHBzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCiAjIHRleHRhcmVhLmFuaW1hdGUgaXMgbm90IHN1
cHBvcnRlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9jb21tb24uaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9jb21tb24uaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4
IDRlODE5ZDI1NWUwZjBhZDdhMTFlYmZiNjQzN2ZlNTk0OGE0YjM3ZGMuLjJlZTNkMTcyMTIwZmE1
ODU2Y2NmMGU0ZmU4OTVkNDc2ZWRmZjNhOTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
Y29tbW9uLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL2NvbW1vbi5o
dHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgV2luZG93IHNlZXMgY2Fj
aGUgcHV0cyBieSBXb3JrZXIgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitQQVNTIFdpbmRvdyBz
ZWVzIGNhY2hlIHB1dHMgYnkgV29ya2VyIAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318566</attachid>
            <date>2017-08-18 17:47:57 -0700</date>
            <delta_ts>2017-08-18 18:29:54 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-175732-20170818174757.patch</filename>
            <type>text/plain</type>
            <size>16101</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwOTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2I4NDMxZjQzMzgxNzVh
MTZlYWE2MTc5YjJmZjMxZmVkZWRmNzkzZS4uYzQxNDBkYWJhYjNmZmY2YTAyYzhlNWMxY2IyNzZk
ZGY0NmYwZGNlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM2IEBACiAyMDE3LTA4LTE4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBbQ2FjaGUgQVBJXSBBZGQg
c3VwcG9ydCBmb3IgYmVpbmcgbG9hZGVkIHJlc3BvbnNlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NzMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Q2hyaXMgRHVtZXouCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyBhbmQgcmViYXNlZCB0
ZXN0cy4KKworICAgICAgICBJbnRyb2R1Y2luZyBhIGNhbGxiYWNrLWJhc2VkIG1ldGhvZCB0byBj
b25zdW1lIHRoZSBib2R5IHdoZW4gdGhlIGxvYWQgaXMgZmluaXNoZWQuCisgICAgICAgIFVzaW5n
IHRoYXQgbmV3IG1ldGhvZCBpbiBDYWNoZTo6cHV0IGFuZCBjYWxsaW5nIGJhdGNoUHV0T3BlcmF0
aW9uIHdoZW4gdGhlIGxvYWQgaXMgZmluaXNoZWQuCisKKyAgICAgICAgRml4aW5nIHRoZSBjYXNl
IG9mIGEgZmV0Y2ggcmVzcG9uc2UgYmVpbmcgY2xvbmVkLCBpbiB3aGljaCBjYXNlIGl0cyBib2R5
IHNob3VsZCBiZSBtYXJrZWQgYXMgUmVhZGFibGVTdHJlYW0uCisKKyAgICAgICAgKiBNb2R1bGVz
L2NhY2hlL0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjpwdXQpOiBDaGFuZ2lu
ZyBvcmRlciBvZiBjaGVja3MgdG8gcmVkdWNlIHRlc3QgZmxha2luZXNzIHJpc2tzIGFzIHRoZXJl
IGlzIG5vdCB5ZXQgc3VwcG9ydCBmb3IgcHV0dGluZyByZXNwb25zZXMgd2l0aCBSZWFkYWJsZVN0
cmVhbS4KKyAgICAgICAgKFdlYkNvcmU6OnRvQ29ubmVjdGlvblJlY29yZCk6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZTo6YmF0Y2hQdXRPcGVyYXRpb24pOgorICAgICAgICAqIE1vZHVsZXMvY2Fj
aGUvQ2FjaGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6OnJlYWRhYmxlU3RyZWFtQm9keSk6IERlbGV0ZWQuCisg
ICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZl
dGNoQm9keTo6bG9hZGluZ0JvZHkpOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5OjpzZXRB
c1JlYWRhYmxlU3RyZWFtKToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hSZXNwb25zZTo6Qm9keUxvYWRlcjo6ZGlkU3Vj
Y2VlZCk6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaFJlc3BvbnNlOjpCb2R5TG9hZGVyOjpkaWRG
YWlsKToKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoUmVzcG9uc2U6OmNvbnN1bWVCb2R5KToKKyAg
ICAgICAgKFdlYkNvcmU6OkZldGNoUmVzcG9uc2U6OmNvbnN1bWVCb2R5V2hlbkxvYWRlZCk6Cisg
ICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmg6CisKKzIwMTctMDgtMTggIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCiAgICAgICAgIFtDYWNoZSBBUEldIEFk
ZCByZXNwb25zZSBib2R5IHN0b3JhZ2UKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3NTY1OAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2NhY2hlL0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUu
Y3BwCmluZGV4IGRmNmEwNzZlNDg5MGI1NDc5MTY2ZGFkNDNlOWEzMzhmZTgxMTBlMjQuLmUwYWEy
MWRhMWM1YWQ0YzRjZjZjNTBmMDE5MDBjY2U0N2ZiMWFmYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY2FjaGUvQ2FjaGUuY3BwCkBAIC0xNTAsMjkgKzE1MCw0MSBAQCB2b2lkIENhY2hlOjpwdXQo
UmVxdWVzdEluZm8mJiBpbmZvLCBSZWY8RmV0Y2hSZXNwb25zZT4mJiByZXNwb25zZSwgRE9NUHJv
bWlzZURlZgogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKHJlc3BvbnNlLT5pc0Rpc3R1cmJl
ZCgpKSB7Ci0gICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVND
SUlMaXRlcmFsKCJSZXNwb25zZSBpcyBkaXN0dXJiZWQgb3IgbG9ja2VkIikgfSk7CisgICAgaWYg
KHJlc3BvbnNlLT5zdGF0dXMoKSA9PSAyMDYpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhj
ZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIlJlc3BvbnNlIGlzIGEgMjA2IHBhcnRp
YWwiKSB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChyZXNwb25zZS0+c3Rh
dHVzKCkgPT0gMjA2KSB7Ci0gICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVF
cnJvciwgQVNDSUlMaXRlcmFsKCJSZXNwb25zZSBpcyBhIDIwNiBwYXJ0aWFsIikgfSk7CisgICAg
Ly8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBSZWFkYWJsZVN0cmVhbS4KKyAgICBpZiAocmVzcG9u
c2UtPmlzUmVhZGFibGVTdHJlYW1Cb2R5KCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhj
ZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQ2FjaGluZyBhIFJlc3Bv
bnNlIHdpdGggZGF0YSBzdG9yZWQgaW4gYSBSZWFkYWJsZVN0cmVhbSBpcyBub3QgeWV0IHN1cHBv
cnRlZCIpIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgLy8gRklYTUU6IEFkZCBz
dXBwb3J0IGZvciBiZWluZyBsb2FkZWQgcmVzcG9uc2VzLgotICAgIGlmIChyZXNwb25zZS0+aXNM
b2FkaW5nKCkpIHsKLSAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTm90U3VwcG9y
dGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQ2FjaGluZyBhIGxvYWRpbmcgUmVzcG9uc2UgaXMgbm90
IHlldCBzdXBwb3J0ZWQiKSB9KTsKKyAgICBpZiAocmVzcG9uc2UtPmlzRGlzdHVyYmVkKCkpIHsK
KyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVy
YWwoIlJlc3BvbnNlIGlzIGRpc3R1cmJlZCBvciBsb2NrZWQiKSB9KTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgUmVhZGFibGVTdHJlYW0u
Ci0gICAgaWYgKHJlc3BvbnNlLT5pc1JlYWRhYmxlU3RyZWFtQm9keSgpKSB7Ci0gICAgICAgIHBy
b21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yLCBBU0NJSUxpdGVyYWwo
IkNhY2hpbmcgYSBSZXNwb25zZSB3aXRoIGRhdGEgc3RvcmVkIGluIGEgUmVhZGFibGVTdHJlYW0g
aXMgbm90IHlldCBzdXBwb3J0ZWQiKSB9KTsKKyAgICBpZiAocmVzcG9uc2UtPmlzTG9hZGluZygp
KSB7CisgICAgICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICAgICAgcmVzcG9uc2Ut
PmNvbnN1bWVCb2R5V2hlbkxvYWRlZChbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIHJlcXVl
c3QgPSByZXF1ZXN0LnJlbGVhc2VOb25OdWxsKCksIHJlc3BvbnNlID0gV1RGTW92ZShyZXNwb25z
ZSksIHRoaXNdKEV4Y2VwdGlvbk9yPFJlZlB0cjxTaGFyZWRCdWZmZXI+PiYmIHJlc3VsdCkgbXV0
YWJsZSB7CisgICAgICAgICAgICBpZiAocmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQorICAgICAgICAg
ICAgICAgIHByb21pc2UucmVqZWN0KHJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCkpOworICAgICAg
ICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVz
cG9uc2VCb2R5IGJvZHk7CisgICAgICAgICAgICAgICAgaWYgKGF1dG8gYnVmZmVyID0gcmVzdWx0
LnJlbGVhc2VSZXR1cm5WYWx1ZSgpKQorICAgICAgICAgICAgICAgICAgICBib2R5ID0gYnVmZmVy
LnJlbGVhc2VOb25OdWxsKCk7CisgICAgICAgICAgICAgICAgYmF0Y2hQdXRPcGVyYXRpb24ocmVx
dWVzdC5nZXQoKSwgcmVzcG9uc2UuZ2V0KCksIFdURk1vdmUoYm9keSksIFtwcm9taXNlID0gV1RG
TW92ZShwcm9taXNlKV0oRXhjZXB0aW9uT3I8dm9pZD4mJiByZXN1bHQpIG11dGFibGUgeworICAg
ICAgICAgICAgICAgICAgICBwcm9taXNlLnNldHRsZShXVEZNb3ZlKHJlc3VsdCkpOworICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdW5zZXRQZW5kaW5nQWN0
aXZpdHkodGhpcyk7CisgICAgICAgIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
YmF0Y2hQdXRPcGVyYXRpb24oKnJlcXVlc3QsIHJlc3BvbnNlLmdldCgpLCBbcHJvbWlzZSA9IFdU
Rk1vdmUocHJvbWlzZSldKEV4Y2VwdGlvbk9yPHZvaWQ+JiYgcmVzdWx0KSBtdXRhYmxlIHsKKyAg
ICBiYXRjaFB1dE9wZXJhdGlvbigqcmVxdWVzdCwgcmVzcG9uc2UuZ2V0KCksIHJlc3BvbnNlLT5j
b25zdW1lQm9keSgpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKEV4Y2VwdGlvbk9yPHZv
aWQ+JiYgcmVzdWx0KSBtdXRhYmxlIHsKICAgICAgICAgcHJvbWlzZS5zZXR0bGUoV1RGTW92ZShy
ZXN1bHQpKTsKICAgICB9KTsKIH0KQEAgLTI4Myw3ICsyOTUsNyBAQCB2b2lkIENhY2hlOjpiYXRj
aERlbGV0ZU9wZXJhdGlvbihjb25zdCBGZXRjaFJlcXVlc3QmIHJlcXVlc3QsIENhY2hlUXVlcnlP
cHRpb25zJgogICAgIH0pOwogfQogCi1zdGF0aWMgaW5saW5lIENhY2hlU3RvcmFnZUNvbm5lY3Rp
b246OlJlY29yZCB0b0Nvbm5lY3Rpb25SZWNvcmQoY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXF1ZXN0
LCBGZXRjaFJlc3BvbnNlJiByZXNwb25zZSkKK3N0YXRpYyBpbmxpbmUgQ2FjaGVTdG9yYWdlQ29u
bmVjdGlvbjo6UmVjb3JkIHRvQ29ubmVjdGlvblJlY29yZChjb25zdCBGZXRjaFJlcXVlc3QmIHJl
cXVlc3QsIEZldGNoUmVzcG9uc2UmIHJlc3BvbnNlLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpS
ZXNwb25zZUJvZHkmJiByZXNwb25zZUJvZHkpCiB7CiAgICAgLy8gRklYTUU6IEFkZCBhIHNldEhU
VFBIZWFkZXJGaWVsZHMgb24gUmVzb3VyY2VSZXNwb25zZUJhc2UuCiAgICAgUmVzb3VyY2VSZXNw
b25zZSBjYWNoZWRSZXNwb25zZSA9IHJlc3BvbnNlLnJlc291cmNlUmVzcG9uc2UoKTsKQEAgLTI5
NSwxNCArMzA3LDE0IEBAIHN0YXRpYyBpbmxpbmUgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVj
b3JkIHRvQ29ubmVjdGlvblJlY29yZChjb25zdCBGZXRjaFJlcXVlCiAKICAgICByZXR1cm4geyAw
LAogICAgICAgICByZXF1ZXN0LmhlYWRlcnMoKS5ndWFyZCgpLCBXVEZNb3ZlKGNhY2hlZFJlcXVl
c3QpLCByZXF1ZXN0LmZldGNoT3B0aW9ucygpLCByZXF1ZXN0LmludGVybmFsUmVxdWVzdFJlZmVy
cmVyKCksCi0gICAgICAgIHJlc3BvbnNlLmhlYWRlcnMoKS5ndWFyZCgpLCBXVEZNb3ZlKGNhY2hl
ZFJlc3BvbnNlKSwgcmVzcG9uc2UuY29uc3VtZUJvZHkoKQorICAgICAgICByZXNwb25zZS5oZWFk
ZXJzKCkuZ3VhcmQoKSwgV1RGTW92ZShjYWNoZWRSZXNwb25zZSksIFdURk1vdmUocmVzcG9uc2VC
b2R5KQogICAgIH07CiB9CiAKLXZvaWQgQ2FjaGU6OmJhdGNoUHV0T3BlcmF0aW9uKGNvbnN0IEZl
dGNoUmVxdWVzdCYgcmVxdWVzdCwgRmV0Y2hSZXNwb25zZSYgcmVzcG9uc2UsIFdURjo6RnVuY3Rp
b248dm9pZChFeGNlcHRpb25Pcjx2b2lkPiYmKT4mJiBjYWxsYmFjaykKK3ZvaWQgQ2FjaGU6OmJh
dGNoUHV0T3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgRmV0Y2hSZXNwb25z
ZSYgcmVzcG9uc2UsIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlc3BvbnNlQm9keSYmIHJlc3Bv
bnNlQm9keSwgV1RGOjpGdW5jdGlvbjx2b2lkKEV4Y2VwdGlvbk9yPHZvaWQ+JiYpPiYmIGNhbGxi
YWNrKQogewogICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ+IHJlY29y
ZHM7Ci0gICAgcmVjb3Jkcy5hcHBlbmQodG9Db25uZWN0aW9uUmVjb3JkKHJlcXVlc3QsIHJlc3Bv
bnNlKSk7CisgICAgcmVjb3Jkcy5hcHBlbmQodG9Db25uZWN0aW9uUmVjb3JkKHJlcXVlc3QsIHJl
c3BvbnNlLCBXVEZNb3ZlKHJlc3BvbnNlQm9keSkpKTsKIAogICAgIHNldFBlbmRpbmdBY3Rpdml0
eSh0aGlzKTsKICAgICBtX2Nvbm5lY3Rpb24tPmJhdGNoUHV0T3BlcmF0aW9uKG1faWRlbnRpZmll
ciwgV1RGTW92ZShyZWNvcmRzKSwgW3RoaXMsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayld
KFZlY3Rvcjx1aW50NjRfdD4mJiwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3Ip
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaAppbmRleCAwMzQzNmQ5ZDA1ZDc0NmVh
NWU0ZTVlZmNkNGJlOGYxNmJlODNlMjI4Li5jOTk4ZTA3MWNlYzZlNDhhZTYzY2I3ODZmNmY1MTg4
N2E4ODNlMWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5oCkBAIC02OSw3ICs2
OSw3IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4gcXVlcnlDYWNo
ZVdpdGhUYXJnZXRTdG9yYWdlKGNvbnN0IEZldGNoUmVxdWVzdCYsIGNvbnN0IENhY2hlUXVlcnlP
cHRpb25zJiwgY29uc3QgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mKTsKICAgICB2b2lkIHF1
ZXJ5Q2FjaGUoUmVmPEZldGNoUmVxdWVzdD4mJiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgV1RGOjpG
dW5jdGlvbjx2b2lkKGNvbnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+Jik+JiYpOwogICAg
IHZvaWQgYmF0Y2hEZWxldGVPcGVyYXRpb24oY29uc3QgRmV0Y2hSZXF1ZXN0JiwgQ2FjaGVRdWVy
eU9wdGlvbnMmJiwgV1RGOjpGdW5jdGlvbjx2b2lkKEV4Y2VwdGlvbk9yPGJvb2w+JiYpPiYmKTsK
LSAgICB2b2lkIGJhdGNoUHV0T3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYsIEZldGNoUmVz
cG9uc2UmLCBXVEY6OkZ1bmN0aW9uPHZvaWQoRXhjZXB0aW9uT3I8dm9pZD4mJik+JiYpOworICAg
IHZvaWQgYmF0Y2hQdXRPcGVyYXRpb24oY29uc3QgRmV0Y2hSZXF1ZXN0JiwgRmV0Y2hSZXNwb25z
ZSYsIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlc3BvbnNlQm9keSYmLCBXVEY6OkZ1bmN0aW9u
PHZvaWQoRXhjZXB0aW9uT3I8dm9pZD4mJik+JiYpOwogCiAgICAgdm9pZCB1cGRhdGVSZWNvcmRz
KFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ+JiYpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5jcHAKaW5kZXggNTRjMjIzNDBmZTZhYTQzNDUx
NDdmMTQ4MGQxYmMyMTZlZDA4N2MwZC4uZDNmNWFmMDI3ZmYyYjU2ZmZkZWIyYWU3ODlkMmMxZjYz
MWI5ZDgxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJv
ZHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmNwcApA
QCAtNzQsMTMgKzc0LDYgQEAgRmV0Y2hCb2R5IEZldGNoQm9keTo6ZXh0cmFjdChTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0LCBJbml0JiYgdmFsdWUsIFN0cmkKICAgICByZXR1cm4gRmV0
Y2hCb2R5KFdURk1vdmUoV1RGOjpnZXQ8U3RyaW5nPih2YWx1ZSkpKTsKIH0KIAotRmV0Y2hCb2R5
IEZldGNoQm9keTo6cmVhZGFibGVTdHJlYW1Cb2R5KCkKLXsKLSAgICBGZXRjaEJvZHkgYm9keTsK
LSAgICBib2R5Lm1faXNSZWFkYWJsZVN0cmVhbSA9IHRydWU7Ci0gICAgcmV0dXJuIGJvZHk7Ci19
Ci0KIHZvaWQgRmV0Y2hCb2R5OjphcnJheUJ1ZmZlcihGZXRjaEJvZHlPd25lciYgb3duZXIsIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKICAgICBtX2NvbnN1bWVyLnNldFR5cGUo
RmV0Y2hCb2R5Q29uc3VtZXI6OlR5cGU6OkFycmF5QnVmZmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoQm9keS5oCmluZGV4IDliOGQ5OTBiNzUwMmJlMzU0MTQyZjEzYTI0ZDEx
NDE0ODVlYTYzNWEuLjRiZmE0M2ViN2IyYjg2M2QxNjUxMGQ0NWVjNDZiZTZjMTVkNjIxM2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuaApAQCAtNjQsOCArNjQsOCBA
QCBwdWJsaWM6CiAgICAgdXNpbmcgSW5pdCA9IFZhcmlhbnQ8UmVmUHRyPEJsb2I+LCBSZWZQdHI8
QXJyYXlCdWZmZXJWaWV3PiwgUmVmUHRyPEFycmF5QnVmZmVyPiwgUmVmUHRyPERPTUZvcm1EYXRh
PiwgUmVmUHRyPFVSTFNlYXJjaFBhcmFtcz4sIFN0cmluZz47CiAgICAgc3RhdGljIEZldGNoQm9k
eSBleHRyYWN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBJbml0JiYsIFN0cmluZyYpOwogICAg
IHN0YXRpYyBGZXRjaEJvZHkgbG9hZGluZ0JvZHkoKSB7IHJldHVybiB7IH07IH0KLSAgICBzdGF0
aWMgRmV0Y2hCb2R5IHJlYWRhYmxlU3RyZWFtQm9keSgpOwogCisgICAgdm9pZCBzZXRBc1JlYWRh
YmxlU3RyZWFtKCkgeyBtX2lzUmVhZGFibGVTdHJlYW0gPSB0cnVlOyB9CiAgICAgdm9pZCBsb2Fk
aW5nRmFpbGVkKCk7CiAgICAgdm9pZCBsb2FkaW5nU3VjY2VlZGVkKCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCmluZGV4IGE0MWZiYTA5ZDNk
Mzc3MzM1MDc5NzkwOWUzOWE5MjQxNjA2MTZkMjIuLmFkNmQ4MmQ3Mjg1YTgzZWJkNzZlOTE4NGNh
Mzc3OWE0YTg4YzhhZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hSZXNwb25zZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aFJlc3BvbnNlLmNwcApAQCAtODEsOCArODEsOSBAQCB2b2lkIEZldGNoUmVzcG9uc2U6OmluaXRp
YWxpemVXaXRoKEZldGNoQm9keTo6SW5pdCYmIGJvZHkpCiAKIHZvaWQgRmV0Y2hSZXNwb25zZTo6
c2V0Qm9keUFzUmVhZGFibGVTdHJlYW0oKQogewotICAgIEFTU0VSVChpc0JvZHlOdWxsKCkpOwot
ICAgIHNldEJvZHkoRmV0Y2hCb2R5OjpyZWFkYWJsZVN0cmVhbUJvZHkoKSk7CisgICAgaWYgKGlz
Qm9keU51bGwoKSkKKyAgICAgICAgc2V0Qm9keShGZXRjaEJvZHk6OmxvYWRpbmdCb2R5KCkpOwor
ICAgIGJvZHkoKS5zZXRBc1JlYWRhYmxlU3RyZWFtKCk7CiAgICAgdXBkYXRlQ29udGVudFR5cGUo
KTsKIH0KIApAQCAtMTMyLDYgKzEzMyw4IEBAIHZvaWQgRmV0Y2hSZXNwb25zZTo6Qm9keUxvYWRl
cjo6ZGlkU3VjY2VlZCgpCiAgICAgaWYgKG1fcmVzcG9uc2UubV9yZWFkYWJsZVN0cmVhbVNvdXJj
ZSAmJiAhbV9yZXNwb25zZS5ib2R5KCkuY29uc3VtZXIoKS5oYXNEYXRhKCkpCiAgICAgICAgIG1f
cmVzcG9uc2UuY2xvc2VTdHJlYW0oKTsKICNlbmRpZgorICAgIGlmIChhdXRvIGNvbnN1bWVEYXRh
Q2FsbGJhY2sgPSBXVEZNb3ZlKG1fY29uc3VtZURhdGFDYWxsYmFjaykpCisgICAgICAgIGNvbnN1
bWVEYXRhQ2FsbGJhY2sobV9yZXNwb25zZS5ib2R5KCkuY29uc3VtZXIoKS50YWtlRGF0YSgpKTsK
IAogICAgIGlmIChtX2xvYWRlci0+aXNTdGFydGVkKCkpIHsKICAgICAgICAgUmVmPEZldGNoUmVz
cG9uc2U+IHByb3RlY3RvcihtX3Jlc3BvbnNlKTsKQEAgLTE0NSw2ICsxNDgsOSBAQCB2b2lkIEZl
dGNoUmVzcG9uc2U6OkJvZHlMb2FkZXI6OmRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJy
b3IpCiAgICAgaWYgKGF1dG8gcmVzcG9uc2VDYWxsYmFjayA9IFdURk1vdmUobV9yZXNwb25zZUNh
bGxiYWNrKSkKICAgICAgICAgcmVzcG9uc2VDYWxsYmFjayhFeGNlcHRpb24geyBUeXBlRXJyb3Is
IFN0cmluZyhlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpKSB9KTsKIAorICAgIGlmIChhdXRv
IGNvbnN1bWVEYXRhQ2FsbGJhY2sgPSBXVEZNb3ZlKG1fY29uc3VtZURhdGFDYWxsYmFjaykpCisg
ICAgICAgIGNvbnN1bWVEYXRhQ2FsbGJhY2soRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBTdHJpbmco
ZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24oKSkgfSk7CisKICNpZiBFTkFCTEUoU1RSRUFNU19B
UEkpCiAgICAgaWYgKG1fcmVzcG9uc2UubV9yZWFkYWJsZVN0cmVhbVNvdXJjZSkgewogICAgICAg
ICBpZiAoIW1fcmVzcG9uc2UubV9yZWFkYWJsZVN0cmVhbVNvdXJjZS0+aXNDYW5jZWxsaW5nKCkp
CkBAIC0yNjAsNiArMjY2LDggQEAgdm9pZCBGZXRjaFJlc3BvbnNlOjpjb25zdW1lKHVuc2lnbmVk
IHR5cGUsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgd3JhcHBlcikKIAogRmV0Y2hSZXNwb25zZTo6
UmVzcG9uc2VEYXRhIEZldGNoUmVzcG9uc2U6OmNvbnN1bWVCb2R5KCkKIHsKKyAgICBBU1NFUlQo
IWlzTG9hZGluZygpKTsKKwogICAgIGlmIChpc0JvZHlOdWxsKCkpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwogCkBAIC0yNjksNiArMjc3LDE2IEBAIEZldGNoUmVzcG9uc2U6OlJlc3BvbnNlRGF0
YSBGZXRjaFJlc3BvbnNlOjpjb25zdW1lQm9keSgpCiAgICAgcmV0dXJuIGJvZHkoKS50YWtlKCk7
CiB9CiAKK3ZvaWQgRmV0Y2hSZXNwb25zZTo6Y29uc3VtZUJvZHlXaGVuTG9hZGVkKENvbnN1bWVE
YXRhQ2FsbGJhY2smJiBjYWxsYmFjaykKK3sKKyAgICBBU1NFUlQoaXNMb2FkaW5nKCkpOworCisg
ICAgQVNTRVJUKCFtX2lzRGlzdHVyYmVkKTsKKyAgICBtX2lzRGlzdHVyYmVkID0gdHJ1ZTsKKwor
ICAgIG1fYm9keUxvYWRlci0+c2V0Q29uc3VtZURhdGFDYWxsYmFjayhXVEZNb3ZlKGNhbGxiYWNr
KSk7Cit9CisKIHZvaWQgRmV0Y2hSZXNwb25zZTo6c2V0Qm9keURhdGEoUmVzcG9uc2VEYXRhJiYg
ZGF0YSkKIHsKICAgICBXVEY6OnN3aXRjaE9uKGRhdGEsIFt0aGlzXShSZWY8Rm9ybURhdGE+JiBm
b3JtRGF0YSkgewpAQCAtMzE2LDcgKzMzNCw5IEBAIHZvaWQgRmV0Y2hSZXNwb25zZTo6Y29uc3Vt
ZUJvZHlBc1N0cmVhbSgpCiAKICAgICBBU1NFUlQobV9ib2R5TG9hZGVyKTsKIAotICAgIFJlZlB0
cjxTaGFyZWRCdWZmZXI+IGRhdGEgPSBtX2JvZHlMb2FkZXItPnN0YXJ0U3RyZWFtaW5nKCk7Cisg
ICAgc2V0Qm9keUFzUmVhZGFibGVTdHJlYW0oKTsKKworICAgIGF1dG8gZGF0YSA9IG1fYm9keUxv
YWRlci0+c3RhcnRTdHJlYW1pbmcoKTsKICAgICBpZiAoZGF0YSkgewogICAgICAgICBpZiAoIW1f
cmVhZGFibGVTdHJlYW1Tb3VyY2UtPmVucXVldWUoZGF0YS0+dHJ5Q3JlYXRlQXJyYXlCdWZmZXIo
KSkpIHsKICAgICAgICAgICAgIHN0b3AoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlc3BvbnNlLmgKaW5kZXggMjQ0YzVkZTc4ZGRkOTIzYmZiYTU4MzFmOWI1NjhhZWNh
YjVlM2MzMS4uNjZlMzU5OGY3ZWJmZGM1YzIyMTE5NjE4YTQxNWE3ZDEyN2Y0ZTg0YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgKQEAgLTk0LDggKzk0
LDEyIEBAIHB1YmxpYzoKICAgICB1c2luZyBSZXNwb25zZURhdGEgPSBWYXJpYW50PHN0ZDo6bnVs
bHB0cl90LCBSZWY8Rm9ybURhdGE+LCBSZWY8U2hhcmVkQnVmZmVyPj47CiAgICAgUmVzcG9uc2VE
YXRhIGNvbnN1bWVCb2R5KCk7CiAgICAgdm9pZCBzZXRCb2R5RGF0YShSZXNwb25zZURhdGEmJik7
CisKICAgICBib29sIGlzTG9hZGluZygpIGNvbnN0IHsgcmV0dXJuICEhbV9ib2R5TG9hZGVyOyB9
CiAKKyAgICB1c2luZyBDb25zdW1lRGF0YUNhbGxiYWNrID0gV1RGOjpGdW5jdGlvbjx2b2lkKEV4
Y2VwdGlvbk9yPFJlZlB0cjxTaGFyZWRCdWZmZXI+PiYmKT47CisgICAgdm9pZCBjb25zdW1lQm9k
eVdoZW5Mb2FkZWQoQ29uc3VtZURhdGFDYWxsYmFjayYmKTsKKwogICAgIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmIHJlc291cmNlUmVzcG9uc2UoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlOyB9
CiAKIHByaXZhdGU6CkBAIC0xMTcsNiArMTIxLDggQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBz
dGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgRmV0Y2hSZXF1ZXN0Jik7CiAgICAg
ICAgIHZvaWQgc3RvcCgpOwogCisgICAgICAgIHZvaWQgc2V0Q29uc3VtZURhdGFDYWxsYmFjayhD
b25zdW1lRGF0YUNhbGxiYWNrJiYgY29uc3VtZURhdGFDYWxsYmFjaykgeyBtX2NvbnN1bWVEYXRh
Q2FsbGJhY2sgPSBXVEZNb3ZlKGNvbnN1bWVEYXRhQ2FsbGJhY2spOyB9CisKICNpZiBFTkFCTEUo
U1RSRUFNU19BUEkpCiAgICAgICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IHN0YXJ0U3RyZWFtaW5n
KCk7CiAjZW5kaWYKQEAgLTEzMCw2ICsxMzYsNyBAQCBwcml2YXRlOgogCiAgICAgICAgIEZldGNo
UmVzcG9uc2UmIG1fcmVzcG9uc2U7CiAgICAgICAgIE5vdGlmaWNhdGlvbkNhbGxiYWNrIG1fcmVz
cG9uc2VDYWxsYmFjazsKKyAgICAgICAgQ29uc3VtZURhdGFDYWxsYmFjayBtX2NvbnN1bWVEYXRh
Q2FsbGJhY2s7CiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxGZXRjaExvYWRlcj4gbV9sb2FkZXI7
CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDE1YWU0ZWQ2ZjE5ZDFhZDBjMTFhNzM0MzMyNzdkNGYzMWUxMmZi
ZGYuLmMxZWJhNjU2N2M5ZWRlNjZiMmQyMzY3NzJmMGI2NmZmNmVlNjlhNTMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNy0wOC0xOCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRkIHN1cHBvcnQgZm9yIGJlaW5nIGxvYWRlZCByZXNw
b25zZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NTczMgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgICogVGVz
dEV4cGVjdGF0aW9uczogUmVtb3Zpbmcgc29tZSBmbGFreSB0ZXN0IGV4cGVjdGF0aW9ucy4KKwog
MjAxNy0wOC0xOCAgTWF0dCBMZXdpcyAgPGpsZXdpczNAYXBwbGUuY29tPgogCiAgICAgICAgIE1h
cmtlZCBqcy9zbG93LXN0cmVzcy9JbnQzMkFycmF5LWFsbG9jLWh1Z2UuaHRtbCBhcyBmbGFreSBv
biBtYWMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAzNmY3YjViM2QzZGVkNjhj
ZWYxMWM1YmI3NDVhNDY2ZDgzMjkxOTA5Li44ZDVlY2I3ZWM3ZTdkNGQxNGM0ZjI0NDc5NWY1ODE1
NDNjYTBlMTY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNCBA
QAogMjAxNy0wOC0xOCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKKyAgICAg
ICAgW0NhY2hlIEFQSV0gQWRkIHN1cHBvcnQgZm9yIGJlaW5nIGxvYWRlZCByZXNwb25zZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTczMgorCisg
ICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL2NvbW1vbi5odHRwcy1leHBlY3Rl
ZC50eHQ6CisKKzIwMTctMDgtMTggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgor
CiAgICAgICAgIFtDYWNoZSBBUEldIEFkZCByZXNwb25zZSBib2R5IHN0b3JhZ2UKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTY1OAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwppbmRleCA0MTE1NTk0YjM5Njk3OTQ3MjEwZjdmZDNlZDNiOGM5N2NmMTRmZDQ0Li4w
NjJjYTVjNTUzZmFhOGU0MjIzYjBhMThlNmJjZjEyMzQ3ODc5ZGU4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTEyMCw5ICsxMjAsNyBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2VycyBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc3R1Yi00LjYuMi1jYWNoZS5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zdHViLTQuNi4zLWNhY2hlLXN0
b3JhZ2UuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZSBbIFBhc3MgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cgWyBQYXNzIEZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
Y2FjaGUtc3RvcmFnZS9jb21tb24uaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2Fj
aGUtbWF0Y2guaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1w
dXQuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1wdXQuaHR0
cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKICMgdGV4dGFyZWEuYW5pbWF0ZSBpcyBub3Qgc3Vw
cG9ydGVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL2NvbW1vbi5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL2NvbW1vbi5odHRwcy1leHBlY3RlZC50eHQKaW5kZXgg
NGU4MTlkMjU1ZTBmMGFkN2ExMWViZmI2NDM3ZmU1OTQ4YTRiMzdkYy4uMmVlM2QxNzIxMjBmYTU4
NTZjY2YwZTRmZTg5NWQ0NzZlZGZmM2E5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9j
b21tb24uaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvY29tbW9uLmh0
dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBXaW5kb3cgc2VlcyBjYWNo
ZSBwdXRzIGJ5IFdvcmtlciBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK1BBU1MgV2luZG93IHNl
ZXMgY2FjaGUgcHV0cyBieSBXb3JrZXIgCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>