<?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>190321</bug_id>
          
          <creation_ts>2018-10-05 13:18:23 -0700</creation_ts>
          <short_desc>Cache API tests are flaky due to file writing failing from time to time</short_desc>
          <delta_ts>2018-10-12 10:58:28 -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>Service Workers</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=190324</see_also>
          <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>ap</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1466770</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-10-05 13:18:23 -0700</bug_when>
    <thetext>As can be seen from the flakiness dashboard, http/wpt/cache-storage/cache-put-keys.https.any.worker.html is still failing.
From logging gathered on my machine, this is due to errors when writing files through NetworkStorageCache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466774</commentid>
    <comment_count>1</comment_count>
      <attachid>351695</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-10-05 13:27:52 -0700</bug_when>
    <thetext>Created attachment 351695
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466802</commentid>
    <comment_count>2</comment_count>
      <attachid>351695</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-10-05 15:53:17 -0700</bug_when>
    <thetext>Comment on attachment 351695
Patch

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

&gt; Source/WebKit/NetworkProcess/cache/CacheStorageEngine.cpp:386
&gt; +void Engine::writeFile(const String&amp; folderPath, const String&amp; filename, NetworkCache::Data&amp;&amp; data, WebCore::DOMCacheEngine::CompletionCallback&amp;&amp; callback)

Shouldn&apos;t folderPath be derivable from filename?

&gt; Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.cpp:1029
&gt; +        RunLoop::main().dispatch([protectedThis = WTFMove(protectedThis), completionHandler = WTFMove(completionHandler)]() mutable {
&gt; +            completionHandler();

RunLoop::main().dispatch(WTFMove(completionHandler));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466803</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-10-05 16:00:33 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #2)
&gt; Comment on attachment 351695 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=351695&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/NetworkProcess/cache/CacheStorageEngine.cpp:386
&gt; &gt; +void Engine::writeFile(const String&amp; folderPath, const String&amp; filename, NetworkCache::Data&amp;&amp; data, WebCore::DOMCacheEngine::CompletionCallback&amp;&amp; callback)
&gt; 
&gt; Shouldn&apos;t folderPath be derivable from filename?

Sure, I can change that to separate it.

&gt; 
&gt; &gt; Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.cpp:1029
&gt; &gt; +        RunLoop::main().dispatch([protectedThis = WTFMove(protectedThis), completionHandler = WTFMove(completionHandler)]() mutable {
&gt; &gt; +            completionHandler();
&gt; 
&gt; RunLoop::main().dispatch(WTFMove(completionHandler));

We cannot do that right now.
We should probably change to use DestructionThread::Main and stop passing protectedThis back to the main thread.
I&apos;ll do that in a separate patch though since it is touching more code in NetworkCacheStorage.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466804</commentid>
    <comment_count>4</comment_count>
      <attachid>351704</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-10-05 16:08:31 -0700</bug_when>
    <thetext>Created attachment 351704
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466839</commentid>
    <comment_count>5</comment_count>
      <attachid>351704</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-10-05 21:16:48 -0700</bug_when>
    <thetext>Comment on attachment 351704
Patch

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

This is even worse.  What I meant is we could only pass one string, like /path/to/file then inside the lambda do a substring operation on it.  But I preferred your other approach to this.

&gt; Source/WebKit/NetworkProcess/cache/CacheStorageEngineCaches.cpp:43
&gt; +#define CACHESLIST_FILENAME &quot;cacheslist&quot;_s

oh please no.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1467253</commentid>
    <comment_count>6</comment_count>
      <attachid>351831</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-10-08 16:27:42 -0700</bug_when>
    <thetext>Created attachment 351831
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468475</commentid>
    <comment_count>7</comment_count>
      <attachid>351831</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-12 10:19:27 -0700</bug_when>
    <thetext>Comment on attachment 351831
Patch

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

&gt; Source/WebKit/NetworkProcess/cache/CacheStorageEngineCaches.cpp:508
&gt; +            callback(Error::WriteDisk);

DiskWrite would look better IMO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468478</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-10-12 10:31:57 -0700</bug_when>
    <thetext>Thanks for the review.

&gt; DiskWrite would look better IMO.

And ReadDisk -&gt; DiskRead I guess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468479</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-12 10:32:33 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #8)
&gt; Thanks for the review.
&gt; 
&gt; &gt; DiskWrite would look better IMO.
&gt; 
&gt; And ReadDisk -&gt; DiskRead I guess.

Yes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468492</commentid>
    <comment_count>10</comment_count>
      <attachid>351831</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-12 10:57:27 -0700</bug_when>
    <thetext>Comment on attachment 351831
Patch

Clearing flags on attachment: 351831

Committed r237071: &lt;https://trac.webkit.org/changeset/237071&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468493</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-12 10:57:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468494</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-10-12 10:58:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/45230934&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351695</attachid>
            <date>2018-10-05 13:27:52 -0700</date>
            <delta_ts>2018-10-05 16:08:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190321-20181005132751.patch</filename>
            <type>text/plain</type>
            <size>12401</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2ODE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ4NThiZDYzNmVkOTM3NThm
ZTE0OWU5NjFkM2Y5OWIxNDBmNWE3ZDkuLjIxZTMwMjAwNzVkMTk2ZTQ5OTYzNTU0ZTE4MzM5YmEz
ZjJmNmQ1N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTgtMTAtMDUgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIENhY2hlIEFQSSB0ZXN0cyBhcmUg
Zmxha3kgZHVlIHRvIGZpbGUgd3JpdGluZyBmYWlsaW5nIGZyb20gdGltZSB0byB0aW1lCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTAzMjEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIE5ldHdvcmtD
YWNoZTo6U3RvcmFnZTo6c3RvcmUgY2FsbGJhY2sgcmV0dXJuIGFuIGVycm9yIGluIGNhc2Ugb2Yg
d3JpdGluZyBmYWlsdXJlLgorICAgICAgICBVc2UgdGhpcyB0byBzdXJmYWNlIHRoaXMgZXJyb3Ig
YXQgQ2FjaGUgQVBJIGxldmVsLgorCisgICAgICAgIE1pbm9yIGNsZWFuLXVwIHRvIG1ha2UgU3Rv
cmFnZTo6Y2xlYXIgdGFrZSBhIGNvbXBsZXRpb24gaGFuZGxlci4KKworICAgICAgICBNYWtlIGFs
c28gc3VyZSB0byBjcmVhdGUgdGhlIGZvbGRlciBiZWZvcmUgd3JpdGluZyB0aGUgZmlsZSBpbiBD
YWNoZVN0b3JhZ2VFbmdpbmUuCisgICAgICAgIEFzIGNhbiBiZSBzZWVuIGZyb20gc29tZSBsb2dn
aW5nLCBpdCBkb2VzIGhhcHBlbiB0aGF0IHdyaXRpbmcgdGhlICdvcmlnaW4nIGZpbGUgc29tZXRp
bWVzIGZhaWwgd2l0aCBQb3NpeCBlcnJvciA5LAorICAgICAgICB3aGljaCBtaWdodCBtZWFuIHRo
ZSBmb2xkZXIgaXMgbm90IHByZXNlbnQuCisKKyAgICAgICAgQ2hhbmdlcyBhcmUgY292ZXJlZCBi
eSBjdXJyZW50IHRlc3RzLCBmbGFreSB0ZXN0cyBsaWtlIGh0dHAvd3B0L2NhY2hlLXN0b3JhZ2Uv
Y2FjaGUtcHV0LWtleXMuaHR0cHMuYW55Lndvcmtlci5odG1sCisgICAgICAgIHdpbGwgc2hvdyBh
ICJmYWlsZWQgd3JpdGluZyBkYXRhIHRvIHRoZSBmaWxlIHN5c3RlbSIgZXJyb3IgbWVzc2FnZS4K
KworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6RW5naW5lOjp3cml0ZUZpbGUpOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5oOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpzdG9yZU9yaWdpbik6CisgICAg
ICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjp3cml0ZUNhY2hlc1RvRGlzayk6Cisg
ICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjp3cml0ZVJlY29yZCk6CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6V3JpdGVPcGVyYXRpb246OldyaXRl
T3BlcmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpkaXNw
YXRjaFdyaXRlT3BlcmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdG9y
YWdlOjpmaW5pc2hXcml0ZU9wZXJhdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNo
ZTo6U3RvcmFnZTo6c3RvcmUpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3Jh
Z2U6OmNsZWFyKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
dG9yYWdlLmg6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6c3RvcmUp
OgorCiAyMDE4LTEwLTAzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBZGQgVlA4IHN1cHBvcnQgdG8gV2ViUlRDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAKaW5kZXggNTVh
MDhiYzA4YzA4ZDFkOGE4YWM4NjIyOGRmNjUwMWE5MTU5YTg3YS4uYTkxZmE0MWJlMjE3NmI4MjJj
M2Q3NTE5N2I5MzVhZmQ4NThhYjgzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcApAQCAtMzgzLDcgKzM4
Myw3IEBAIENhY2hlKiBFbmdpbmU6OmNhY2hlKHVpbnQ2NF90IGNhY2hlSWRlbnRpZmllcikKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkIEVuZ2luZTo6d3JpdGVGaWxlKGNvbnN0IFN0cmlu
ZyYgZmlsZW5hbWUsIE5ldHdvcmtDYWNoZTo6RGF0YSYmIGRhdGEsIFdlYkNvcmU6OkRPTUNhY2hl
RW5naW5lOjpDb21wbGV0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykKK3ZvaWQgRW5naW5lOjp3cml0
ZUZpbGUoY29uc3QgU3RyaW5nJiBmb2xkZXJQYXRoLCBjb25zdCBTdHJpbmcmIGZpbGVuYW1lLCBO
ZXR3b3JrQ2FjaGU6OkRhdGEmJiBkYXRhLCBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6Q29tcGxl
dGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spCiB7CiAgICAgaWYgKCFzaG91bGRQZXJzaXN0KCkpIHsK
ICAgICAgICAgY2FsbGJhY2soc3RkOjpudWxsb3B0KTsKQEAgLTM5MSw3ICszOTEsMTAgQEAgdm9p
ZCBFbmdpbmU6OndyaXRlRmlsZShjb25zdCBTdHJpbmcmIGZpbGVuYW1lLCBOZXR3b3JrQ2FjaGU6
OkRhdGEmJiBkYXRhLCBXZWJDb3IKICAgICB9CiAKICAgICBtX3BlbmRpbmdXcml0ZUNhbGxiYWNr
cy5hZGQoKyttX3BlbmRpbmdDYWxsYmFja3NDb3VudGVyLCBXVEZNb3ZlKGNhbGxiYWNrKSk7Ci0g
ICAgbV9pb1F1ZXVlLT5kaXNwYXRjaChbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlz
KSwgaWRlbnRpZmllciA9IG1fcGVuZGluZ0NhbGxiYWNrc0NvdW50ZXIsIGRhdGEgPSBXVEZNb3Zl
KGRhdGEpLCBmaWxlbmFtZSA9IGZpbGVuYW1lLmlzb2xhdGVkQ29weSgpXSAoKSBtdXRhYmxlIHsK
KyAgICBtX2lvUXVldWUtPmRpc3BhdGNoKFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRo
aXMpLCBpZGVudGlmaWVyID0gbV9wZW5kaW5nQ2FsbGJhY2tzQ291bnRlciwgZGF0YSA9IFdURk1v
dmUoZGF0YSksIGZvbGRlclBhdGggPSBmb2xkZXJQYXRoLmlzb2xhdGVkQ29weSgpLCBmaWxlbmFt
ZSA9IGZpbGVuYW1lLmlzb2xhdGVkQ29weSgpXSgpIG11dGFibGUgeworCisgICAgICAgIFdlYkNv
cmU6OkZpbGVTeXN0ZW06Om1ha2VBbGxEaXJlY3Rvcmllcyhmb2xkZXJQYXRoKTsKKwogICAgICAg
ICBhdXRvIGNoYW5uZWwgPSBJT0NoYW5uZWw6Om9wZW4oZmlsZW5hbWUsIElPQ2hhbm5lbDo6VHlw
ZTo6Q3JlYXRlKTsKICAgICAgICAgY2hhbm5lbC0+d3JpdGUoMCwgZGF0YSwgbnVsbHB0ciwgW3Ro
aXMsIHdlYWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhpcyksIGlkZW50aWZpZXJdKGludCBlcnJvcikg
bXV0YWJsZSB7CiAgICAgICAgICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdp
bmUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5n
aW5lLmgKaW5kZXggOGMyZThjY2UxNGQ4MTI5MDk3ZjcxYWMyMWUyNmUzNjFmZDZkNjgzMy4uYzcw
MmEwODdmZjNlOTI5Y2ZmNWMyMDAzMmE4ZGExZWNlYzU0ODM2YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuaAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5oCkBA
IC04MCw3ICs4MCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2hvdWxkUGVyc2lzdCgpIGNvbnN0
IHsgcmV0dXJuICEhbV9pb1F1ZXVlO30KIAotICAgIHZvaWQgd3JpdGVGaWxlKGNvbnN0IFN0cmlu
ZyYgZmlsZW5hbWUsIE5ldHdvcmtDYWNoZTo6RGF0YSYmLCBXZWJDb3JlOjpET01DYWNoZUVuZ2lu
ZTo6Q29tcGxldGlvbkNhbGxiYWNrJiYpOworICAgIHZvaWQgd3JpdGVGaWxlKGNvbnN0IFN0cmlu
ZyYgZm9sZGVyUGF0aCwgY29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgTmV0d29ya0NhY2hlOjpEYXRh
JiYsIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpDb21wbGV0aW9uQ2FsbGJhY2smJik7CiAgICAg
dm9pZCByZWFkRmlsZShjb25zdCBTdHJpbmcmIGZpbGVuYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGNvbnN0IE5ldHdvcmtDYWNoZTo6RGF0YSYsIGludCBlcnJvcik+JiYpOwogICAgIHZvaWQg
cmVtb3ZlRmlsZShjb25zdCBTdHJpbmcmIGZpbGVuYW1lKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3Bw
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVD
YWNoZXMuY3BwCmluZGV4IGQ5MGJhMTUxYjkyMzE5ZTAzYWU0ZDY5MjZiOTkwNmI2ZjBhZjc3ZTUu
LmNhMzBjMDFhMzRiMmVhOThmNWVhZjUxZjg5ZjZmMzA1YjI3YTdiOWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFn
ZUVuZ2luZUNhY2hlcy5jcHAKQEAgLTk1LDcgKzk1LDcgQEAgdm9pZCBDYWNoZXM6OnN0b3JlT3Jp
Z2luKENvbXBsZXRpb25DYWxsYmFjayYmIGNvbXBsZXRpb25IYW5kbGVyKQogICAgIGVuY29kZXIg
PDwgbV9vcmlnaW4uY2xpZW50T3JpZ2luLnByb3RvY29sOwogICAgIGVuY29kZXIgPDwgbV9vcmln
aW4uY2xpZW50T3JpZ2luLmhvc3Q7CiAgICAgZW5jb2RlciA8PCBtX29yaWdpbi5jbGllbnRPcmln
aW4ucG9ydDsKLSAgICBtX2VuZ2luZS0+d3JpdGVGaWxlKGNhY2hlc09yaWdpbkZpbGVuYW1lKG1f
cm9vdFBhdGgpLCBEYXRhIHsgZW5jb2Rlci5idWZmZXIoKSwgZW5jb2Rlci5idWZmZXJTaXplKCkg
fSwgW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBX
VEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKHN0ZDo6b3B0aW9uYWw8RXJyb3I+JiYgZXJyb3Ip
IG11dGFibGUgeworICAgIG1fZW5naW5lLT53cml0ZUZpbGUobV9yb290UGF0aCwgY2FjaGVzT3Jp
Z2luRmlsZW5hbWUobV9yb290UGF0aCksIERhdGEgeyBlbmNvZGVyLmJ1ZmZlcigpLCBlbmNvZGVy
LmJ1ZmZlclNpemUoKSB9LCBbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBjb21wbGV0
aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShhdXRvJiYgZXJyb3IpIG11
dGFibGUgewogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGVycm9yKSk7CiAgICAg
fSk7CiB9CkBAIC00NTUsNyArNDU1LDcgQEAgdm9pZCBDYWNoZXM6OndyaXRlQ2FjaGVzVG9EaXNr
KENvbXBsZXRpb25DYWxsYmFjayYmIGNhbGxiYWNrKQogICAgIH0KIAogICAgIG1faXNXcml0aW5n
Q2FjaGVzVG9EaXNrID0gdHJ1ZTsKLSAgICBtX2VuZ2luZS0+d3JpdGVGaWxlKGNhY2hlc0xpc3RG
aWxlbmFtZShtX3Jvb3RQYXRoKSwgZW5jb2RlQ2FjaGVOYW1lcyhtX2NhY2hlcyksIFt0aGlzLCBw
cm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFj
ayldKHN0ZDo6b3B0aW9uYWw8RXJyb3I+JiYgZXJyb3IpIG11dGFibGUgeworICAgIG1fZW5naW5l
LT53cml0ZUZpbGUobV9yb290UGF0aCwgY2FjaGVzTGlzdEZpbGVuYW1lKG1fcm9vdFBhdGgpLCBl
bmNvZGVDYWNoZU5hbWVzKG1fY2FjaGVzKSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVm
KCp0aGlzKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oYXV0byYmIGVycm9yKSBtdXRh
YmxlIHsKICAgICAgICAgbV9pc1dyaXRpbmdDYWNoZXNUb0Rpc2sgPSBmYWxzZTsKICAgICAgICAg
aWYgKGVycm9yKQogICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoQ2FjaGVTdG9yYWdlLCAi
Q2FjaGVzOjp3cml0ZUNhY2hlc1RvRGlzayBmYWlsZWQgd3JpdGluZyBjYWNoZXMgdG8gZGlzayB3
aXRoIGVycm9yICVkIiwgc3RhdGljX2Nhc3Q8aW50PigqZXJyb3IpKTsKQEAgLTUwMiw3ICs1MDIs
MTIgQEAgdm9pZCBDYWNoZXM6OndyaXRlUmVjb3JkKGNvbnN0IENhY2hlJiBjYWNoZSwgY29uc3Qg
UmVjb3JkSW5mb3JtYXRpb24mIHJlY29yZEluZm8KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIG1fc3RvcmFnZS0+c3RvcmUoQ2FjaGU6OmVuY29kZShyZWNvcmRJbmZvcm1hdGlvbiwgcmVj
b3JkKSwgeyB9LCBbcHJvdGVjdGVkU3RvcmFnZSA9IG1ha2VSZWYoKm1fc3RvcmFnZSksIGNhbGxi
YWNrID0gV1RGTW92ZShjYWxsYmFjayldKCkgeworICAgIG1fc3RvcmFnZS0+c3RvcmUoQ2FjaGU6
OmVuY29kZShyZWNvcmRJbmZvcm1hdGlvbiwgcmVjb3JkKSwgeyB9LCBbcHJvdGVjdGVkU3RvcmFn
ZSA9IG1ha2VSZWYoKm1fc3RvcmFnZSksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKGlu
dCBlcnJvcikgeworICAgICAgICBpZiAoZXJyb3IpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9H
X0VSUk9SKENhY2hlU3RvcmFnZSwgIkNhY2hlczo6d3JpdGVSZWNvcmQgZmFpbGVkIHdpdGggZXJy
b3IgJWQiLCBlcnJvcik7CisgICAgICAgICAgICBjYWxsYmFjayhFcnJvcjo6V3JpdGVEaXNrKTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAgICAgICBjYWxsYmFjayhzdGQ6Om51
bGxvcHQpOwogICAgIH0pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKaW5kZXggZTUxMWU5MjYwNjZj
NjJjOTZjMjFmYzE1MDBlMjJlNzhmMjE0OTcwOS4uNGViMWQ1NWVkNGNjYWEwMDMwNzZmNjYzNjBl
MDliMmM5MjlmZDViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwCkBAIC0xMDYsNyArMTA2LDcgQEAg
Ym9vbCBTdG9yYWdlOjpSZWFkT3BlcmF0aW9uOjpmaW5pc2goKQogc3RydWN0IFN0b3JhZ2U6Oldy
aXRlT3BlcmF0aW9uIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAg
ICBXcml0ZU9wZXJhdGlvbihTdG9yYWdlJiBzdG9yYWdlLCBjb25zdCBSZWNvcmQmIHJlY29yZCwg
TWFwcGVkQm9keUhhbmRsZXImJiBtYXBwZWRCb2R5SGFuZGxlciwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQorICAgIFdyaXRlT3BlcmF0aW9uKFN0b3JhZ2Um
IHN0b3JhZ2UsIGNvbnN0IFJlY29yZCYgcmVjb3JkLCBNYXBwZWRCb2R5SGFuZGxlciYmIG1hcHBl
ZEJvZHlIYW5kbGVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGludCk+JiYgY29tcGxldGlvbkhh
bmRsZXIpCiAgICAgICAgIDogc3RvcmFnZShzdG9yYWdlKQogICAgICAgICAsIHJlY29yZChyZWNv
cmQpCiAgICAgICAgICwgbWFwcGVkQm9keUhhbmRsZXIoV1RGTW92ZShtYXBwZWRCb2R5SGFuZGxl
cikpCkBAIC0xMTYsNyArMTE2LDcgQEAgcHVibGljOgogCiAgICAgY29uc3QgUmVjb3JkIHJlY29y
ZDsKICAgICBjb25zdCBNYXBwZWRCb2R5SGFuZGxlciBtYXBwZWRCb2R5SGFuZGxlcjsKLSAgICBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+IGNvbXBsZXRpb25IYW5kbGVyOworICAgIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoaW50KT4gY29tcGxldGlvbkhhbmRsZXI7CiAKICAgICBzdGQ6OmF0b21p
Yzx1bnNpZ25lZD4gYWN0aXZlQ291bnQgeyAwIH07CiB9OwpAQCAtODI1LDE0ICs4MjUsMTQgQEAg
dm9pZCBTdG9yYWdlOjpkaXNwYXRjaFdyaXRlT3BlcmF0aW9uKHN0ZDo6dW5pcXVlX3B0cjxXcml0
ZU9wZXJhdGlvbj4gd3JpdGVPcGVyYXQKICAgICAgICAgY2hhbm5lbC0+d3JpdGUoMCwgcmVjb3Jk
RGF0YSwgbnVsbHB0ciwgW3RoaXMsICZ3cml0ZU9wZXJhdGlvbiwgcmVjb3JkU2l6ZV0oaW50IGVy
cm9yKSB7CiAgICAgICAgICAgICAvLyBPbiBlcnJvciB0aGUgZW50cnkgc3RpbGwgc3RheXMgaW4g
dGhlIGNvbnRlbnRzIGZpbHRlciB1bnRpbCBuZXh0IHN5bmNocm9uaXphdGlvbi4KICAgICAgICAg
ICAgIG1fYXBwcm94aW1hdGVSZWNvcmRzU2l6ZSArPSByZWNvcmRTaXplOwotICAgICAgICAgICAg
ZmluaXNoV3JpdGVPcGVyYXRpb24od3JpdGVPcGVyYXRpb24pOworICAgICAgICAgICAgZmluaXNo
V3JpdGVPcGVyYXRpb24od3JpdGVPcGVyYXRpb24sIGVycm9yKTsKIAogICAgICAgICAgICAgTE9H
KE5ldHdvcmtDYWNoZVN0b3JhZ2UsICIoTmV0d29ya1Byb2Nlc3MpIHdyaXRlIGNvbXBsZXRlIGVy
cm9yPSVkIiwgZXJyb3IpOwogICAgICAgICB9KTsKICAgICB9KTsKIH0KIAotdm9pZCBTdG9yYWdl
OjpmaW5pc2hXcml0ZU9wZXJhdGlvbihXcml0ZU9wZXJhdGlvbiYgd3JpdGVPcGVyYXRpb24pCit2
b2lkIFN0b3JhZ2U6OmZpbmlzaFdyaXRlT3BlcmF0aW9uKFdyaXRlT3BlcmF0aW9uJiB3cml0ZU9w
ZXJhdGlvbiwgaW50IGVycm9yKQogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAg
ICAgQVNTRVJUKHdyaXRlT3BlcmF0aW9uLmFjdGl2ZUNvdW50KTsKQEAgLTg0NCw3ICs4NDQsNyBA
QCB2b2lkIFN0b3JhZ2U6OmZpbmlzaFdyaXRlT3BlcmF0aW9uKFdyaXRlT3BlcmF0aW9uJiB3cml0
ZU9wZXJhdGlvbikKICAgICBhdXRvIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKTsKIAog
ICAgIGlmICh3cml0ZU9wZXJhdGlvbi5jb21wbGV0aW9uSGFuZGxlcikKLSAgICAgICAgd3JpdGVP
cGVyYXRpb24uY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICAgICAgd3JpdGVPcGVyYXRpb24uY29t
cGxldGlvbkhhbmRsZXIoZXJyb3IpOwogCiAgICAgbV9hY3RpdmVXcml0ZU9wZXJhdGlvbnMucmVt
b3ZlKCZ3cml0ZU9wZXJhdGlvbik7CiAgICAgZGlzcGF0Y2hQZW5kaW5nV3JpdGVPcGVyYXRpb25z
KCk7CkBAIC04ODIsNyArODgyLDcgQEAgdm9pZCBTdG9yYWdlOjpyZXRyaWV2ZShjb25zdCBLZXkm
IGtleSwgdW5zaWduZWQgcHJpb3JpdHksIFJldHJpZXZlQ29tcGxldGlvbkhhbmQKICAgICBkaXNw
YXRjaFBlbmRpbmdSZWFkT3BlcmF0aW9ucygpOwogfQogCi12b2lkIFN0b3JhZ2U6OnN0b3JlKGNv
bnN0IFJlY29yZCYgcmVjb3JkLCBNYXBwZWRCb2R5SGFuZGxlciYmIG1hcHBlZEJvZHlIYW5kbGVy
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFN0
b3JhZ2U6OnN0b3JlKGNvbnN0IFJlY29yZCYgcmVjb3JkLCBNYXBwZWRCb2R5SGFuZGxlciYmIG1h
cHBlZEJvZHlIYW5kbGVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGludCk+JiYgY29tcGxldGlv
bkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKICAgICBBU1NFUlQo
IXJlY29yZC5rZXkuaXNOdWxsKCkpOwpAQCAtOTk3LDcgKzk5Nyw3IEBAIHZvaWQgU3RvcmFnZTo6
c2V0Q2FwYWNpdHkoc2l6ZV90IGNhcGFjaXR5KQogICAgIHNocmlua0lmTmVlZGVkKCk7CiB9CiAK
LXZvaWQgU3RvcmFnZTo6Y2xlYXIoY29uc3QgU3RyaW5nJiB0eXBlLCBXYWxsVGltZSBtb2RpZmll
ZFNpbmNlVGltZSwgRnVuY3Rpb248dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQg
U3RvcmFnZTo6Y2xlYXIoY29uc3QgU3RyaW5nJiB0eXBlLCBXYWxsVGltZSBtb2RpZmllZFNpbmNl
VGltZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewog
ICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAgICAgTE9HKE5ldHdvcmtDYWNoZVN0b3Jh
Z2UsICIoTmV0d29ya1Byb2Nlc3MpIGNsZWFyaW5nIGNhY2hlIik7CkBAIC0xMDI1LDkgKzEwMjUs
OCBAQCB2b2lkIFN0b3JhZ2U6OmNsZWFyKGNvbnN0IFN0cmluZyYgdHlwZSwgV2FsbFRpbWUgbW9k
aWZpZWRTaW5jZVRpbWUsIEZ1bmN0aW9uPHZvaQogICAgICAgICAvLyBUaGlzIGNsZWFucyB1bnJl
ZmVyZW5jZWQgYmxvYnMuCiAgICAgICAgIG1fYmxvYlN0b3JhZ2Uuc3luY2hyb25pemUoKTsKIAot
ICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW3Byb3RlY3RlZFRoaXMgPSBXVEZNb3Zl
KHByb3RlY3RlZFRoaXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpXSB7Ci0gICAgICAgICAgICBpZiAoY29tcGxldGlvbkhhbmRsZXIpCi0gICAgICAgICAg
ICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3Bh
dGNoKFtwcm90ZWN0ZWRUaGlzID0gV1RGTW92ZShwcm90ZWN0ZWRUaGlzKSwgY29tcGxldGlvbkhh
bmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oKSBtdXRhYmxlIHsKKyAgICAgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgICAgIH0pOwogICAgIH0pOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9y
YWdlLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0
b3JhZ2UuaAppbmRleCAzODExZjk2ZGFjNGJmMGFjODkxOThkYjIxMzJmNmEyMTY3NjBlMDc5Li4z
YjkyYTVhMDlmMWQ5OTAwYzBhM2IyMmJmZGU4ZmNiN2M5MTBhZDgwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2Uu
aApAQCAtODIsMTEgKzgyLDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHJldHJpZXZlKGNvbnN0IEtl
eSYsIHVuc2lnbmVkIHByaW9yaXR5LCBSZXRyaWV2ZUNvbXBsZXRpb25IYW5kbGVyJiYpOwogCiAg
ICAgdXNpbmcgTWFwcGVkQm9keUhhbmRsZXIgPSBGdW5jdGlvbjx2b2lkIChjb25zdCBEYXRhJiBt
YXBwZWRCb2R5KT47Ci0gICAgdm9pZCBzdG9yZShjb25zdCBSZWNvcmQmLCBNYXBwZWRCb2R5SGFu
ZGxlciYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgPSB7IH0pOworICAgIHZvaWQgc3Rv
cmUoY29uc3QgUmVjb3JkJiwgTWFwcGVkQm9keUhhbmRsZXImJiwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChpbnQpPiYmID0geyB9KTsKIAogICAgIHZvaWQgcmVtb3ZlKGNvbnN0IEtleSYpOwogICAg
IHZvaWQgcmVtb3ZlKGNvbnN0IFZlY3RvcjxLZXk+JiwgRnVuY3Rpb248dm9pZCAoKT4mJik7Ci0g
ICAgdm9pZCBjbGVhcihjb25zdCBTdHJpbmcmIHR5cGUsIFdhbGxUaW1lIG1vZGlmaWVkU2luY2VU
aW1lLCBGdW5jdGlvbjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICB2b2lkIGNs
ZWFyKGNvbnN0IFN0cmluZyYgdHlwZSwgV2FsbFRpbWUgbW9kaWZpZWRTaW5jZVRpbWUsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAKICAgICBzdHJ1Y3QgUmVjb3JkSW5mbyB7CiAgICAg
ICAgIHNpemVfdCBib2R5U2l6ZTsKQEAgLTE0NCw3ICsxNDQsNyBAQCBwcml2YXRlOgogICAgIHN0
cnVjdCBXcml0ZU9wZXJhdGlvbjsKICAgICB2b2lkIGRpc3BhdGNoV3JpdGVPcGVyYXRpb24oc3Rk
Ojp1bmlxdWVfcHRyPFdyaXRlT3BlcmF0aW9uPik7CiAgICAgdm9pZCBkaXNwYXRjaFBlbmRpbmdX
cml0ZU9wZXJhdGlvbnMoKTsKLSAgICB2b2lkIGZpbmlzaFdyaXRlT3BlcmF0aW9uKFdyaXRlT3Bl
cmF0aW9uJik7CisgICAgdm9pZCBmaW5pc2hXcml0ZU9wZXJhdGlvbihXcml0ZU9wZXJhdGlvbiYs
IGludCBlcnJvciA9IDApOwogCiAgICAgYm9vbCBzaG91bGRTdG9yZUJvZHlBc0Jsb2IoY29uc3Qg
RGF0YSYgYm9keURhdGEpOwogICAgIHN0ZDo6b3B0aW9uYWw8QmxvYlN0b3JhZ2U6OkJsb2I+IHN0
b3JlQm9keUFzQmxvYihXcml0ZU9wZXJhdGlvbiYpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351704</attachid>
            <date>2018-10-05 16:08:31 -0700</date>
            <delta_ts>2018-10-08 16:27:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190321-20181005160830.patch</filename>
            <type>text/plain</type>
            <size>13338</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2ODE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ4NThiZDYzNmVkOTM3NThm
ZTE0OWU5NjFkM2Y5OWIxNDBmNWE3ZDkuLjIxZTMwMjAwNzVkMTk2ZTQ5OTYzNTU0ZTE4MzM5YmEz
ZjJmNmQ1N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTgtMTAtMDUgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIENhY2hlIEFQSSB0ZXN0cyBhcmUg
Zmxha3kgZHVlIHRvIGZpbGUgd3JpdGluZyBmYWlsaW5nIGZyb20gdGltZSB0byB0aW1lCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTAzMjEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIE5ldHdvcmtD
YWNoZTo6U3RvcmFnZTo6c3RvcmUgY2FsbGJhY2sgcmV0dXJuIGFuIGVycm9yIGluIGNhc2Ugb2Yg
d3JpdGluZyBmYWlsdXJlLgorICAgICAgICBVc2UgdGhpcyB0byBzdXJmYWNlIHRoaXMgZXJyb3Ig
YXQgQ2FjaGUgQVBJIGxldmVsLgorCisgICAgICAgIE1pbm9yIGNsZWFuLXVwIHRvIG1ha2UgU3Rv
cmFnZTo6Y2xlYXIgdGFrZSBhIGNvbXBsZXRpb24gaGFuZGxlci4KKworICAgICAgICBNYWtlIGFs
c28gc3VyZSB0byBjcmVhdGUgdGhlIGZvbGRlciBiZWZvcmUgd3JpdGluZyB0aGUgZmlsZSBpbiBD
YWNoZVN0b3JhZ2VFbmdpbmUuCisgICAgICAgIEFzIGNhbiBiZSBzZWVuIGZyb20gc29tZSBsb2dn
aW5nLCBpdCBkb2VzIGhhcHBlbiB0aGF0IHdyaXRpbmcgdGhlICdvcmlnaW4nIGZpbGUgc29tZXRp
bWVzIGZhaWwgd2l0aCBQb3NpeCBlcnJvciA5LAorICAgICAgICB3aGljaCBtaWdodCBtZWFuIHRo
ZSBmb2xkZXIgaXMgbm90IHByZXNlbnQuCisKKyAgICAgICAgQ2hhbmdlcyBhcmUgY292ZXJlZCBi
eSBjdXJyZW50IHRlc3RzLCBmbGFreSB0ZXN0cyBsaWtlIGh0dHAvd3B0L2NhY2hlLXN0b3JhZ2Uv
Y2FjaGUtcHV0LWtleXMuaHR0cHMuYW55Lndvcmtlci5odG1sCisgICAgICAgIHdpbGwgc2hvdyBh
ICJmYWlsZWQgd3JpdGluZyBkYXRhIHRvIHRoZSBmaWxlIHN5c3RlbSIgZXJyb3IgbWVzc2FnZS4K
KworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6RW5naW5lOjp3cml0ZUZpbGUpOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5oOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpzdG9yZU9yaWdpbik6CisgICAg
ICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjp3cml0ZUNhY2hlc1RvRGlzayk6Cisg
ICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjp3cml0ZVJlY29yZCk6CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6V3JpdGVPcGVyYXRpb246OldyaXRl
T3BlcmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpkaXNw
YXRjaFdyaXRlT3BlcmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdG9y
YWdlOjpmaW5pc2hXcml0ZU9wZXJhdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNo
ZTo6U3RvcmFnZTo6c3RvcmUpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3Jh
Z2U6OmNsZWFyKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
dG9yYWdlLmg6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6c3RvcmUp
OgorCiAyMDE4LTEwLTAzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBZGQgVlA4IHN1cHBvcnQgdG8gV2ViUlRDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAKaW5kZXggNTVh
MDhiYzA4YzA4ZDFkOGE4YWM4NjIyOGRmNjUwMWE5MTU5YTg3YS4uZGQ5ODdiMmM0NmRiYTJlNzdj
ZmIxMWU2YjQ0ZjczY2U0NTAyZTBjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcApAQCAtMzgzLDcgKzM4
Myw3IEBAIENhY2hlKiBFbmdpbmU6OmNhY2hlKHVpbnQ2NF90IGNhY2hlSWRlbnRpZmllcikKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkIEVuZ2luZTo6d3JpdGVGaWxlKGNvbnN0IFN0cmlu
ZyYgZmlsZW5hbWUsIE5ldHdvcmtDYWNoZTo6RGF0YSYmIGRhdGEsIFdlYkNvcmU6OkRPTUNhY2hl
RW5naW5lOjpDb21wbGV0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykKK3ZvaWQgRW5naW5lOjp3cml0
ZUZpbGUoY29uc3QgU3RyaW5nJiBmb2xkZXJQYXRoLCBjb25zdCBTdHJpbmcmIGZpbGVuYW1lLCBO
ZXR3b3JrQ2FjaGU6OkRhdGEmJiBkYXRhLCBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6Q29tcGxl
dGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spCiB7CiAgICAgaWYgKCFzaG91bGRQZXJzaXN0KCkpIHsK
ICAgICAgICAgY2FsbGJhY2soc3RkOjpudWxsb3B0KTsKQEAgLTM5MSw4ICszOTEsMTIgQEAgdm9p
ZCBFbmdpbmU6OndyaXRlRmlsZShjb25zdCBTdHJpbmcmIGZpbGVuYW1lLCBOZXR3b3JrQ2FjaGU6
OkRhdGEmJiBkYXRhLCBXZWJDb3IKICAgICB9CiAKICAgICBtX3BlbmRpbmdXcml0ZUNhbGxiYWNr
cy5hZGQoKyttX3BlbmRpbmdDYWxsYmFja3NDb3VudGVyLCBXVEZNb3ZlKGNhbGxiYWNrKSk7Ci0g
ICAgbV9pb1F1ZXVlLT5kaXNwYXRjaChbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlz
KSwgaWRlbnRpZmllciA9IG1fcGVuZGluZ0NhbGxiYWNrc0NvdW50ZXIsIGRhdGEgPSBXVEZNb3Zl
KGRhdGEpLCBmaWxlbmFtZSA9IGZpbGVuYW1lLmlzb2xhdGVkQ29weSgpXSAoKSBtdXRhYmxlIHsK
LSAgICAgICAgYXV0byBjaGFubmVsID0gSU9DaGFubmVsOjpvcGVuKGZpbGVuYW1lLCBJT0NoYW5u
ZWw6OlR5cGU6OkNyZWF0ZSk7CisgICAgbV9pb1F1ZXVlLT5kaXNwYXRjaChbdGhpcywgd2Vha1Ro
aXMgPSBtYWtlV2Vha1B0cih0aGlzKSwgaWRlbnRpZmllciA9IG1fcGVuZGluZ0NhbGxiYWNrc0Nv
dW50ZXIsIGRhdGEgPSBXVEZNb3ZlKGRhdGEpLCBmb2xkZXJQYXRoID0gZm9sZGVyUGF0aC5pc29s
YXRlZENvcHkoKSwgZmlsZW5hbWUgPSBmaWxlbmFtZS5pc29sYXRlZENvcHkoKV0oKSBtdXRhYmxl
IHsKKworICAgICAgICBXZWJDb3JlOjpGaWxlU3lzdGVtOjptYWtlQWxsRGlyZWN0b3JpZXMoZm9s
ZGVyUGF0aCk7CisgICAgICAgIGF1dG8gZmlsZXBhdGggPSBXZWJDb3JlOjpGaWxlU3lzdGVtOjpw
YXRoQnlBcHBlbmRpbmdDb21wb25lbnQoZm9sZGVyUGF0aCwgZmlsZW5hbWUpOworCisgICAgICAg
IGF1dG8gY2hhbm5lbCA9IElPQ2hhbm5lbDo6b3BlbihmaWxlcGF0aCwgSU9DaGFubmVsOjpUeXBl
OjpDcmVhdGUpOwogICAgICAgICBjaGFubmVsLT53cml0ZSgwLCBkYXRhLCBudWxscHRyLCBbdGhp
cywgd2Vha1RoaXMgPSBXVEZNb3ZlKHdlYWtUaGlzKSwgaWRlbnRpZmllcl0oaW50IGVycm9yKSBt
dXRhYmxlIHsKICAgICAgICAgICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAgICAgICAg
ICAgICBpZiAoIXdlYWtUaGlzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmgKaW5kZXggOGMyZThjY2UxNGQ4MTI5MDk3
ZjcxYWMyMWUyNmUzNjFmZDZkNjgzMy4uYzcwMmEwODdmZjNlOTI5Y2ZmNWMyMDAzMmE4ZGExZWNl
YzU0ODM2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9D
YWNoZVN0b3JhZ2VFbmdpbmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5oCkBAIC04MCw3ICs4MCw3IEBAIHB1YmxpYzoKIAogICAg
IGJvb2wgc2hvdWxkUGVyc2lzdCgpIGNvbnN0IHsgcmV0dXJuICEhbV9pb1F1ZXVlO30KIAotICAg
IHZvaWQgd3JpdGVGaWxlKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIE5ldHdvcmtDYWNoZTo6RGF0
YSYmLCBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6Q29tcGxldGlvbkNhbGxiYWNrJiYpOworICAg
IHZvaWQgd3JpdGVGaWxlKGNvbnN0IFN0cmluZyYgZm9sZGVyUGF0aCwgY29uc3QgU3RyaW5nJiBm
aWxlbmFtZSwgTmV0d29ya0NhY2hlOjpEYXRhJiYsIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpD
b21wbGV0aW9uQ2FsbGJhY2smJik7CiAgICAgdm9pZCByZWFkRmlsZShjb25zdCBTdHJpbmcmIGZp
bGVuYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IE5ldHdvcmtDYWNoZTo6RGF0YSYs
IGludCBlcnJvcik+JiYpOwogICAgIHZvaWQgcmVtb3ZlRmlsZShjb25zdCBTdHJpbmcmIGZpbGVu
YW1lKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9D
YWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwCmluZGV4IGQ5MGJhMTUxYjkyMzE5
ZTAzYWU0ZDY5MjZiOTkwNmI2ZjBhZjc3ZTUuLjNkNjQzYmM5ZTA5YWQzNDcwNDk4ODk3ZmY4N2Iy
N2Y4NzQ4YjgwNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHAKQEAgLTQwLDE0ICs0
MCwxOCBAQCBuYW1lc3BhY2UgQ2FjaGVTdG9yYWdlIHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OjpET01DYWNoZUVuZ2luZTsKIHVzaW5nIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGU7CiAKKyNkZWZp
bmUgQ0FDSEVTTElTVF9GSUxFTkFNRSAiY2FjaGVzbGlzdCJfcworCiBzdGF0aWMgaW5saW5lIFN0
cmluZyBjYWNoZXNMaXN0RmlsZW5hbWUoY29uc3QgU3RyaW5nJiBjYWNoZXNSb290UGF0aCkKIHsK
LSAgICByZXR1cm4gV2ViQ29yZTo6RmlsZVN5c3RlbTo6cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50
KGNhY2hlc1Jvb3RQYXRoLCAiY2FjaGVzbGlzdCJfcyk7CisgICAgcmV0dXJuIFdlYkNvcmU6OkZp
bGVTeXN0ZW06OnBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChjYWNoZXNSb290UGF0aCwgQ0FDSEVT
TElTVF9GSUxFTkFNRSk7CiB9CiAKKyNkZWZpbmUgQ0FDSEVTT1JJR0lOX0ZJTEVOQU1FICJvcmln
aW4iX3MKKwogc3RhdGljIGlubGluZSBTdHJpbmcgY2FjaGVzT3JpZ2luRmlsZW5hbWUoY29uc3Qg
U3RyaW5nJiBjYWNoZXNSb290UGF0aCkKIHsKLSAgICByZXR1cm4gV2ViQ29yZTo6RmlsZVN5c3Rl
bTo6cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KGNhY2hlc1Jvb3RQYXRoLCAib3JpZ2luIl9zKTsK
KyAgICByZXR1cm4gV2ViQ29yZTo6RmlsZVN5c3RlbTo6cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50
KGNhY2hlc1Jvb3RQYXRoLCBDQUNIRVNPUklHSU5fRklMRU5BTUUpOwogfQogCiBDYWNoZXM6On5D
YWNoZXMoKQpAQCAtOTUsNyArOTksNyBAQCB2b2lkIENhY2hlczo6c3RvcmVPcmlnaW4oQ29tcGxl
dGlvbkNhbGxiYWNrJiYgY29tcGxldGlvbkhhbmRsZXIpCiAgICAgZW5jb2RlciA8PCBtX29yaWdp
bi5jbGllbnRPcmlnaW4ucHJvdG9jb2w7CiAgICAgZW5jb2RlciA8PCBtX29yaWdpbi5jbGllbnRP
cmlnaW4uaG9zdDsKICAgICBlbmNvZGVyIDw8IG1fb3JpZ2luLmNsaWVudE9yaWdpbi5wb3J0Owot
ICAgIG1fZW5naW5lLT53cml0ZUZpbGUoY2FjaGVzT3JpZ2luRmlsZW5hbWUobV9yb290UGF0aCks
IERhdGEgeyBlbmNvZGVyLmJ1ZmZlcigpLCBlbmNvZGVyLmJ1ZmZlclNpemUoKSB9LCBbcHJvdGVj
dGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29t
cGxldGlvbkhhbmRsZXIpXSAoc3RkOjpvcHRpb25hbDxFcnJvcj4mJiBlcnJvcikgbXV0YWJsZSB7
CisgICAgbV9lbmdpbmUtPndyaXRlRmlsZShtX3Jvb3RQYXRoLCBDQUNIRVNPUklHSU5fRklMRU5B
TUUsIERhdGEgeyBlbmNvZGVyLmJ1ZmZlcigpLCBlbmNvZGVyLmJ1ZmZlclNpemUoKSB9LCBbcHJv
dGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpXShhdXRvJiYgZXJyb3IpIG11dGFibGUgewogICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcihXVEZNb3ZlKGVycm9yKSk7CiAgICAgfSk7CiB9CkBAIC00NTUsNyArNDU5
LDcgQEAgdm9pZCBDYWNoZXM6OndyaXRlQ2FjaGVzVG9EaXNrKENvbXBsZXRpb25DYWxsYmFjayYm
IGNhbGxiYWNrKQogICAgIH0KIAogICAgIG1faXNXcml0aW5nQ2FjaGVzVG9EaXNrID0gdHJ1ZTsK
LSAgICBtX2VuZ2luZS0+d3JpdGVGaWxlKGNhY2hlc0xpc3RGaWxlbmFtZShtX3Jvb3RQYXRoKSwg
ZW5jb2RlQ2FjaGVOYW1lcyhtX2NhY2hlcyksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJl
ZigqdGhpcyksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKHN0ZDo6b3B0aW9uYWw8RXJy
b3I+JiYgZXJyb3IpIG11dGFibGUgeworICAgIG1fZW5naW5lLT53cml0ZUZpbGUobV9yb290UGF0
aCwgQ0FDSEVTTElTVF9GSUxFTkFNRSwgZW5jb2RlQ2FjaGVOYW1lcyhtX2NhY2hlcyksIFt0aGlz
LCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxs
YmFjayldKGF1dG8mJiBlcnJvcikgbXV0YWJsZSB7CiAgICAgICAgIG1faXNXcml0aW5nQ2FjaGVz
VG9EaXNrID0gZmFsc2U7CiAgICAgICAgIGlmIChlcnJvcikKICAgICAgICAgICAgIFJFTEVBU0Vf
TE9HX0VSUk9SKENhY2hlU3RvcmFnZSwgIkNhY2hlczo6d3JpdGVDYWNoZXNUb0Rpc2sgZmFpbGVk
IHdyaXRpbmcgY2FjaGVzIHRvIGRpc2sgd2l0aCBlcnJvciAlZCIsIHN0YXRpY19jYXN0PGludD4o
KmVycm9yKSk7CkBAIC01MDIsNyArNTA2LDEyIEBAIHZvaWQgQ2FjaGVzOjp3cml0ZVJlY29yZChj
b25zdCBDYWNoZSYgY2FjaGUsIGNvbnN0IFJlY29yZEluZm9ybWF0aW9uJiByZWNvcmRJbmZvCiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBtX3N0b3JhZ2UtPnN0b3JlKENhY2hlOjplbmNv
ZGUocmVjb3JkSW5mb3JtYXRpb24sIHJlY29yZCksIHsgfSwgW3Byb3RlY3RlZFN0b3JhZ2UgPSBt
YWtlUmVmKCptX3N0b3JhZ2UpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSgpIHsKKyAg
ICBtX3N0b3JhZ2UtPnN0b3JlKENhY2hlOjplbmNvZGUocmVjb3JkSW5mb3JtYXRpb24sIHJlY29y
ZCksIHsgfSwgW3Byb3RlY3RlZFN0b3JhZ2UgPSBtYWtlUmVmKCptX3N0b3JhZ2UpLCBjYWxsYmFj
ayA9IFdURk1vdmUoY2FsbGJhY2spXShpbnQgZXJyb3IpIHsKKyAgICAgICAgaWYgKGVycm9yKSB7
CisgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihDYWNoZVN0b3JhZ2UsICJDYWNoZXM6Ondy
aXRlUmVjb3JkIGZhaWxlZCB3aXRoIGVycm9yICVkIiwgZXJyb3IpOworICAgICAgICAgICAgY2Fs
bGJhY2soRXJyb3I6OldyaXRlRGlzayk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
ICAgICAgICAgY2FsbGJhY2soc3RkOjpudWxsb3B0KTsKICAgICB9KTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3Jh
Z2UuY3BwCmluZGV4IGU1MTFlOTI2MDY2YzYyYzk2YzIxZmMxNTAwZTIyZTc4ZjIxNDk3MDkuLjRl
YjFkNTVlZDRjY2FhMDAzMDc2ZjY2MzYwZTA5YjJjOTI5ZmQ1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdl
LmNwcApAQCAtMTA2LDcgKzEwNiw3IEBAIGJvb2wgU3RvcmFnZTo6UmVhZE9wZXJhdGlvbjo6Zmlu
aXNoKCkKIHN0cnVjdCBTdG9yYWdlOjpXcml0ZU9wZXJhdGlvbiB7CiAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgV3JpdGVPcGVyYXRpb24oU3RvcmFnZSYgc3RvcmFn
ZSwgY29uc3QgUmVjb3JkJiByZWNvcmQsIE1hcHBlZEJvZHlIYW5kbGVyJiYgbWFwcGVkQm9keUhh
bmRsZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKKyAg
ICBXcml0ZU9wZXJhdGlvbihTdG9yYWdlJiBzdG9yYWdlLCBjb25zdCBSZWNvcmQmIHJlY29yZCwg
TWFwcGVkQm9keUhhbmRsZXImJiBtYXBwZWRCb2R5SGFuZGxlciwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChpbnQpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogICAgICAgICA6IHN0b3JhZ2Uoc3RvcmFn
ZSkKICAgICAgICAgLCByZWNvcmQocmVjb3JkKQogICAgICAgICAsIG1hcHBlZEJvZHlIYW5kbGVy
KFdURk1vdmUobWFwcGVkQm9keUhhbmRsZXIpKQpAQCAtMTE2LDcgKzExNiw3IEBAIHB1YmxpYzoK
IAogICAgIGNvbnN0IFJlY29yZCByZWNvcmQ7CiAgICAgY29uc3QgTWFwcGVkQm9keUhhbmRsZXIg
bWFwcGVkQm9keUhhbmRsZXI7Ci0gICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiBjb21wbGV0
aW9uSGFuZGxlcjsKKyAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGludCk+IGNvbXBsZXRpb25I
YW5kbGVyOwogCiAgICAgc3RkOjphdG9taWM8dW5zaWduZWQ+IGFjdGl2ZUNvdW50IHsgMCB9Owog
fTsKQEAgLTgyNSwxNCArODI1LDE0IEBAIHZvaWQgU3RvcmFnZTo6ZGlzcGF0Y2hXcml0ZU9wZXJh
dGlvbihzdGQ6OnVuaXF1ZV9wdHI8V3JpdGVPcGVyYXRpb24+IHdyaXRlT3BlcmF0CiAgICAgICAg
IGNoYW5uZWwtPndyaXRlKDAsIHJlY29yZERhdGEsIG51bGxwdHIsIFt0aGlzLCAmd3JpdGVPcGVy
YXRpb24sIHJlY29yZFNpemVdKGludCBlcnJvcikgewogICAgICAgICAgICAgLy8gT24gZXJyb3Ig
dGhlIGVudHJ5IHN0aWxsIHN0YXlzIGluIHRoZSBjb250ZW50cyBmaWx0ZXIgdW50aWwgbmV4dCBz
eW5jaHJvbml6YXRpb24uCiAgICAgICAgICAgICBtX2FwcHJveGltYXRlUmVjb3Jkc1NpemUgKz0g
cmVjb3JkU2l6ZTsKLSAgICAgICAgICAgIGZpbmlzaFdyaXRlT3BlcmF0aW9uKHdyaXRlT3BlcmF0
aW9uKTsKKyAgICAgICAgICAgIGZpbmlzaFdyaXRlT3BlcmF0aW9uKHdyaXRlT3BlcmF0aW9uLCBl
cnJvcik7CiAKICAgICAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTdG9yYWdlLCAiKE5ldHdvcmtQ
cm9jZXNzKSB3cml0ZSBjb21wbGV0ZSBlcnJvcj0lZCIsIGVycm9yKTsKICAgICAgICAgfSk7CiAg
ICAgfSk7CiB9CiAKLXZvaWQgU3RvcmFnZTo6ZmluaXNoV3JpdGVPcGVyYXRpb24oV3JpdGVPcGVy
YXRpb24mIHdyaXRlT3BlcmF0aW9uKQordm9pZCBTdG9yYWdlOjpmaW5pc2hXcml0ZU9wZXJhdGlv
bihXcml0ZU9wZXJhdGlvbiYgd3JpdGVPcGVyYXRpb24sIGludCBlcnJvcikKIHsKICAgICBBU1NF
UlQoUnVuTG9vcDo6aXNNYWluKCkpOwogICAgIEFTU0VSVCh3cml0ZU9wZXJhdGlvbi5hY3RpdmVD
b3VudCk7CkBAIC04NDQsNyArODQ0LDcgQEAgdm9pZCBTdG9yYWdlOjpmaW5pc2hXcml0ZU9wZXJh
dGlvbihXcml0ZU9wZXJhdGlvbiYgd3JpdGVPcGVyYXRpb24pCiAgICAgYXV0byBwcm90ZWN0ZWRU
aGlzID0gbWFrZVJlZigqdGhpcyk7CiAKICAgICBpZiAod3JpdGVPcGVyYXRpb24uY29tcGxldGlv
bkhhbmRsZXIpCi0gICAgICAgIHdyaXRlT3BlcmF0aW9uLmNvbXBsZXRpb25IYW5kbGVyKCk7Cisg
ICAgICAgIHdyaXRlT3BlcmF0aW9uLmNvbXBsZXRpb25IYW5kbGVyKGVycm9yKTsKIAogICAgIG1f
YWN0aXZlV3JpdGVPcGVyYXRpb25zLnJlbW92ZSgmd3JpdGVPcGVyYXRpb24pOwogICAgIGRpc3Bh
dGNoUGVuZGluZ1dyaXRlT3BlcmF0aW9ucygpOwpAQCAtODgyLDcgKzg4Miw3IEBAIHZvaWQgU3Rv
cmFnZTo6cmV0cmlldmUoY29uc3QgS2V5JiBrZXksIHVuc2lnbmVkIHByaW9yaXR5LCBSZXRyaWV2
ZUNvbXBsZXRpb25IYW5kCiAgICAgZGlzcGF0Y2hQZW5kaW5nUmVhZE9wZXJhdGlvbnMoKTsKIH0K
IAotdm9pZCBTdG9yYWdlOjpzdG9yZShjb25zdCBSZWNvcmQmIHJlY29yZCwgTWFwcGVkQm9keUhh
bmRsZXImJiBtYXBwZWRCb2R5SGFuZGxlciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQordm9pZCBTdG9yYWdlOjpzdG9yZShjb25zdCBSZWNvcmQmIHJlY29y
ZCwgTWFwcGVkQm9keUhhbmRsZXImJiBtYXBwZWRCb2R5SGFuZGxlciwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChpbnQpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVChSdW5Mb29w
Ojppc01haW4oKSk7CiAgICAgQVNTRVJUKCFyZWNvcmQua2V5LmlzTnVsbCgpKTsKQEAgLTk5Nyw3
ICs5OTcsNyBAQCB2b2lkIFN0b3JhZ2U6OnNldENhcGFjaXR5KHNpemVfdCBjYXBhY2l0eSkKICAg
ICBzaHJpbmtJZk5lZWRlZCgpOwogfQogCi12b2lkIFN0b3JhZ2U6OmNsZWFyKGNvbnN0IFN0cmlu
ZyYgdHlwZSwgV2FsbFRpbWUgbW9kaWZpZWRTaW5jZVRpbWUsIEZ1bmN0aW9uPHZvaWQgKCk+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFN0b3JhZ2U6OmNsZWFyKGNvbnN0IFN0cmluZyYgdHlw
ZSwgV2FsbFRpbWUgbW9kaWZpZWRTaW5jZVRpbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4m
JiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwog
ICAgIExPRyhOZXR3b3JrQ2FjaGVTdG9yYWdlLCAiKE5ldHdvcmtQcm9jZXNzKSBjbGVhcmluZyBj
YWNoZSIpOwpAQCAtMTAyNSw5ICsxMDI1LDggQEAgdm9pZCBTdG9yYWdlOjpjbGVhcihjb25zdCBT
dHJpbmcmIHR5cGUsIFdhbGxUaW1lIG1vZGlmaWVkU2luY2VUaW1lLCBGdW5jdGlvbjx2b2kKICAg
ICAgICAgLy8gVGhpcyBjbGVhbnMgdW5yZWZlcmVuY2VkIGJsb2JzLgogICAgICAgICBtX2Jsb2JT
dG9yYWdlLnN5bmNocm9uaXplKCk7CiAKLSAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNo
KFtwcm90ZWN0ZWRUaGlzID0gV1RGTW92ZShwcm90ZWN0ZWRUaGlzKSwgY29tcGxldGlvbkhhbmRs
ZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gewotICAgICAgICAgICAgaWYgKGNvbXBs
ZXRpb25IYW5kbGVyKQotICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAg
ICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbcHJvdGVjdGVkVGhpcyA9IFdURk1vdmUocHJv
dGVjdGVkVGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cildKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogICAgICAg
ICB9KTsKICAgICB9KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmgKaW5kZXggMzgxMWY5NmRhYzRiZjBhYzg5
MTk4ZGIyMTMyZjZhMjE2NzYwZTA3OS4uM2I5MmE1YTA5ZjFkOTkwMGMwYTNiMjJiZmRlOGZjYjdj
OTEwYWQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGVTdG9yYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmgKQEAgLTgyLDExICs4MiwxMSBAQCBwdWJsaWM6CiAg
ICAgdm9pZCByZXRyaWV2ZShjb25zdCBLZXkmLCB1bnNpZ25lZCBwcmlvcml0eSwgUmV0cmlldmVD
b21wbGV0aW9uSGFuZGxlciYmKTsKIAogICAgIHVzaW5nIE1hcHBlZEJvZHlIYW5kbGVyID0gRnVu
Y3Rpb248dm9pZCAoY29uc3QgRGF0YSYgbWFwcGVkQm9keSk+OwotICAgIHZvaWQgc3RvcmUoY29u
c3QgUmVjb3JkJiwgTWFwcGVkQm9keUhhbmRsZXImJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmID0geyB9KTsKKyAgICB2b2lkIHN0b3JlKGNvbnN0IFJlY29yZCYsIE1hcHBlZEJvZHlIYW5k
bGVyJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoaW50KT4mJiA9IHsgfSk7CiAKICAgICB2b2lk
IHJlbW92ZShjb25zdCBLZXkmKTsKICAgICB2b2lkIHJlbW92ZShjb25zdCBWZWN0b3I8S2V5PiYs
IEZ1bmN0aW9uPHZvaWQgKCk+JiYpOwotICAgIHZvaWQgY2xlYXIoY29uc3QgU3RyaW5nJiB0eXBl
LCBXYWxsVGltZSBtb2RpZmllZFNpbmNlVGltZSwgRnVuY3Rpb248dm9pZCAoKT4mJiBjb21wbGV0
aW9uSGFuZGxlcik7CisgICAgdm9pZCBjbGVhcihjb25zdCBTdHJpbmcmIHR5cGUsIFdhbGxUaW1l
IG1vZGlmaWVkU2luY2VUaW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogCiAgICAg
c3RydWN0IFJlY29yZEluZm8gewogICAgICAgICBzaXplX3QgYm9keVNpemU7CkBAIC0xNDQsNyAr
MTQ0LDcgQEAgcHJpdmF0ZToKICAgICBzdHJ1Y3QgV3JpdGVPcGVyYXRpb247CiAgICAgdm9pZCBk
aXNwYXRjaFdyaXRlT3BlcmF0aW9uKHN0ZDo6dW5pcXVlX3B0cjxXcml0ZU9wZXJhdGlvbj4pOwog
ICAgIHZvaWQgZGlzcGF0Y2hQZW5kaW5nV3JpdGVPcGVyYXRpb25zKCk7Ci0gICAgdm9pZCBmaW5p
c2hXcml0ZU9wZXJhdGlvbihXcml0ZU9wZXJhdGlvbiYpOworICAgIHZvaWQgZmluaXNoV3JpdGVP
cGVyYXRpb24oV3JpdGVPcGVyYXRpb24mLCBpbnQgZXJyb3IgPSAwKTsKIAogICAgIGJvb2wgc2hv
dWxkU3RvcmVCb2R5QXNCbG9iKGNvbnN0IERhdGEmIGJvZHlEYXRhKTsKICAgICBzdGQ6Om9wdGlv
bmFsPEJsb2JTdG9yYWdlOjpCbG9iPiBzdG9yZUJvZHlBc0Jsb2IoV3JpdGVPcGVyYXRpb24mKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351831</attachid>
            <date>2018-10-08 16:27:42 -0700</date>
            <delta_ts>2018-10-12 10:57:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190321-20181008162741.patch</filename>
            <type>text/plain</type>
            <size>8573</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2OTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDAxNWYxOWJkNDNhMzM2Yzk2
ZTFhZjkxNGY4MzM3MzgwMGQzZDMyYzkuLmMyYjE3ODViOThmYWE3MjJiNTc2OTI4OTI0M2Q5OGEx
NjYzOGUxMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTgtMTAtMDggIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIENhY2hlIEFQSSB0ZXN0cyBhcmUg
Zmxha3kgZHVlIHRvIGZpbGUgd3JpdGluZyBmYWlsaW5nIGZyb20gdGltZSB0byB0aW1lCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTAzMjEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIE5ldHdvcmtD
YWNoZTo6U3RvcmFnZTo6c3RvcmUgY2FsbGJhY2sgcmV0dXJuIGFuIGVycm9yIGluIGNhc2Ugb2Yg
d3JpdGluZyBmYWlsdXJlLgorICAgICAgICBVc2UgdGhpcyB0byBzdXJmYWNlIHRoaXMgZXJyb3Ig
YXQgQ2FjaGUgQVBJIGxldmVsLgorCisgICAgICAgIE1pbm9yIGNsZWFuLXVwIHRvIG1ha2UgU3Rv
cmFnZTo6Y2xlYXIgdGFrZSBhIGNvbXBsZXRpb24gaGFuZGxlci4KKworICAgICAgICBNYWtlIGFs
c28gc3VyZSB0byBjcmVhdGUgdGhlIGZvbGRlciBiZWZvcmUgd3JpdGluZyB0aGUgZmlsZSBpbiBD
YWNoZVN0b3JhZ2VFbmdpbmUuCisgICAgICAgIEFzIGNhbiBiZSBzZWVuIGZyb20gc29tZSBsb2dn
aW5nLCBpdCBkb2VzIGhhcHBlbiB0aGF0IHdyaXRpbmcgdGhlICdvcmlnaW4nIGZpbGUgc29tZXRp
bWVzIGZhaWwgd2l0aCBQb3NpeCBlcnJvciA5LAorICAgICAgICB3aGljaCBtaWdodCBtZWFuIHRo
ZSBmb2xkZXIgaXMgbm90IHByZXNlbnQuCisKKyAgICAgICAgQ2hhbmdlcyBhcmUgY292ZXJlZCBi
eSBjdXJyZW50IHRlc3RzLCBmbGFreSB0ZXN0cyBsaWtlIGh0dHAvd3B0L2NhY2hlLXN0b3JhZ2Uv
Y2FjaGUtcHV0LWtleXMuaHR0cHMuYW55Lndvcmtlci5odG1sCisgICAgICAgIHdpbGwgc2hvdyBh
ICJmYWlsZWQgd3JpdGluZyBkYXRhIHRvIHRoZSBmaWxlIHN5c3RlbSIgZXJyb3IgbWVzc2FnZS4K
KworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6RW5naW5lOjp3cml0ZUZpbGUpOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5oOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpzdG9yZU9yaWdpbik6CisgICAg
ICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjp3cml0ZUNhY2hlc1RvRGlzayk6Cisg
ICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjp3cml0ZVJlY29yZCk6CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6V3JpdGVPcGVyYXRpb246OldyaXRl
T3BlcmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpkaXNw
YXRjaFdyaXRlT3BlcmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdG9y
YWdlOjpmaW5pc2hXcml0ZU9wZXJhdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNo
ZTo6U3RvcmFnZTo6c3RvcmUpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3Jh
Z2U6OmNsZWFyKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
dG9yYWdlLmg6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6c3RvcmUp
OgorCiAyMDE4LTEwLTA4ICBBZGl0eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KIAog
ICAgICAgICBNYWtlIDxpbnB1dCB0eXBlPWNvbG9yPiBhIHJ1bnRpbWUgZW5hYmxlZCAob24tYnkt
ZGVmYXVsdCkgZmVhdHVyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCmluZGV4IDU1YTA4YmMwOGMwOGQxZDhh
OGFjODYyMjhkZjY1MDFhOTE1OWE4N2EuLmY1ZDEzNjI2NDZiMWVlYWQwYjUzYzk0NjM1NmU5NjE5
NDg1OGE5MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
Q2FjaGVTdG9yYWdlRW5naW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAKQEAgLTM5MSw3ICszOTEsMTIgQEAgdm9pZCBF
bmdpbmU6OndyaXRlRmlsZShjb25zdCBTdHJpbmcmIGZpbGVuYW1lLCBOZXR3b3JrQ2FjaGU6OkRh
dGEmJiBkYXRhLCBXZWJDb3IKICAgICB9CiAKICAgICBtX3BlbmRpbmdXcml0ZUNhbGxiYWNrcy5h
ZGQoKyttX3BlbmRpbmdDYWxsYmFja3NDb3VudGVyLCBXVEZNb3ZlKGNhbGxiYWNrKSk7Ci0gICAg
bV9pb1F1ZXVlLT5kaXNwYXRjaChbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKSwg
aWRlbnRpZmllciA9IG1fcGVuZGluZ0NhbGxiYWNrc0NvdW50ZXIsIGRhdGEgPSBXVEZNb3ZlKGRh
dGEpLCBmaWxlbmFtZSA9IGZpbGVuYW1lLmlzb2xhdGVkQ29weSgpXSAoKSBtdXRhYmxlIHsKKyAg
ICBtX2lvUXVldWUtPmRpc3BhdGNoKFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMp
LCBpZGVudGlmaWVyID0gbV9wZW5kaW5nQ2FsbGJhY2tzQ291bnRlciwgZGF0YSA9IFdURk1vdmUo
ZGF0YSksIGZpbGVuYW1lID0gZmlsZW5hbWUuaXNvbGF0ZWRDb3B5KCldKCkgbXV0YWJsZSB7CisK
KyAgICAgICAgU3RyaW5nIGRpcmVjdG9yeVBhdGggPSBXZWJDb3JlOjpGaWxlU3lzdGVtOjpkaXJl
Y3RvcnlOYW1lKGZpbGVuYW1lKTsKKyAgICAgICAgaWYgKCFXZWJDb3JlOjpGaWxlU3lzdGVtOjpm
aWxlRXhpc3RzKGRpcmVjdG9yeVBhdGgpKQorICAgICAgICAgICAgV2ViQ29yZTo6RmlsZVN5c3Rl
bTo6bWFrZUFsbERpcmVjdG9yaWVzKGRpcmVjdG9yeVBhdGgpOworCiAgICAgICAgIGF1dG8gY2hh
bm5lbCA9IElPQ2hhbm5lbDo6b3BlbihmaWxlbmFtZSwgSU9DaGFubmVsOjpUeXBlOjpDcmVhdGUp
OwogICAgICAgICBjaGFubmVsLT53cml0ZSgwLCBkYXRhLCBudWxscHRyLCBbdGhpcywgd2Vha1Ro
aXMgPSBXVEZNb3ZlKHdlYWtUaGlzKSwgaWRlbnRpZmllcl0oaW50IGVycm9yKSBtdXRhYmxlIHsK
ICAgICAgICAgICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2lu
ZUNhY2hlcy5jcHAKaW5kZXggMTgyMzAyMWJjZmRjODFiMThjOTAyMzhiZDA0MTA1NTgxNTc1NWE4
Mi4uN2YwNGJmMDJkMzY3NmYwYzE1NjY3ZTdkZmQ1NjcxNGVhN2Y2OTZkOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNo
ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9y
YWdlRW5naW5lQ2FjaGVzLmNwcApAQCAtNTAyLDcgKzUwMiwxMiBAQCB2b2lkIENhY2hlczo6d3Jp
dGVSZWNvcmQoY29uc3QgQ2FjaGUmIGNhY2hlLCBjb25zdCBSZWNvcmRJbmZvcm1hdGlvbiYgcmVj
b3JkSW5mbwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgbV9zdG9yYWdlLT5zdG9yZShD
YWNoZTo6ZW5jb2RlKHJlY29yZEluZm9ybWF0aW9uLCByZWNvcmQpLCB7IH0sIFtwcm90ZWN0ZWRT
dG9yYWdlID0gbWFrZVJlZigqbV9zdG9yYWdlKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNr
KV0oKSB7CisgICAgbV9zdG9yYWdlLT5zdG9yZShDYWNoZTo6ZW5jb2RlKHJlY29yZEluZm9ybWF0
aW9uLCByZWNvcmQpLCB7IH0sIFtwcm90ZWN0ZWRTdG9yYWdlID0gbWFrZVJlZigqbV9zdG9yYWdl
KSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oaW50IGVycm9yKSB7CisgICAgICAgIGlm
IChlcnJvcikgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoQ2FjaGVTdG9yYWdlLCAi
Q2FjaGVzOjp3cml0ZVJlY29yZCBmYWlsZWQgd2l0aCBlcnJvciAlZCIsIGVycm9yKTsKKyAgICAg
ICAgICAgIGNhbGxiYWNrKEVycm9yOjpXcml0ZURpc2spOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CiAgICAgICAgIGNhbGxiYWNrKHN0ZDo6bnVsbG9wdCk7CiAgICAgfSk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZVN0b3JhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTdG9yYWdlLmNwcAppbmRleCAzYWNlMmNmNmEyM2YyOWI5ZTQ4ZTE3Mzk0NjZlNGIwYTg5
YzY4NWM0Li5jODEwZDEzNWMxYTk3M2U3YTA5YTY5MDU3OWI3YjhjMDA2MTk4MTdlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3Jh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlU3RvcmFnZS5jcHAKQEAgLTEwNiw3ICsxMDYsNyBAQCBib29sIFN0b3JhZ2U6OlJlYWRPcGVy
YXRpb246OmZpbmlzaCgpCiBzdHJ1Y3QgU3RvcmFnZTo6V3JpdGVPcGVyYXRpb24gewogICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFdyaXRlT3BlcmF0aW9uKFN0b3Jh
Z2UmIHN0b3JhZ2UsIGNvbnN0IFJlY29yZCYgcmVjb3JkLCBNYXBwZWRCb2R5SGFuZGxlciYmIG1h
cHBlZEJvZHlIYW5kbGVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhh
bmRsZXIpCisgICAgV3JpdGVPcGVyYXRpb24oU3RvcmFnZSYgc3RvcmFnZSwgY29uc3QgUmVjb3Jk
JiByZWNvcmQsIE1hcHBlZEJvZHlIYW5kbGVyJiYgbWFwcGVkQm9keUhhbmRsZXIsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoaW50KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKICAgICAgICAgOiBzdG9y
YWdlKHN0b3JhZ2UpCiAgICAgICAgICwgcmVjb3JkKHJlY29yZCkKICAgICAgICAgLCBtYXBwZWRC
b2R5SGFuZGxlcihXVEZNb3ZlKG1hcHBlZEJvZHlIYW5kbGVyKSkKQEAgLTExNiw3ICsxMTYsNyBA
QCBwdWJsaWM6CiAKICAgICBjb25zdCBSZWNvcmQgcmVjb3JkOwogICAgIGNvbnN0IE1hcHBlZEJv
ZHlIYW5kbGVyIG1hcHBlZEJvZHlIYW5kbGVyOwotICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4gY29tcGxldGlvbkhhbmRsZXI7CisgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChpbnQpPiBj
b21wbGV0aW9uSGFuZGxlcjsKIAogICAgIHN0ZDo6YXRvbWljPHVuc2lnbmVkPiBhY3RpdmVDb3Vu
dCB7IDAgfTsKIH07CkBAIC04MjIsMTQgKzgyMiwxNCBAQCB2b2lkIFN0b3JhZ2U6OmRpc3BhdGNo
V3JpdGVPcGVyYXRpb24oc3RkOjp1bmlxdWVfcHRyPFdyaXRlT3BlcmF0aW9uPiB3cml0ZU9wZXJh
dAogICAgICAgICBjaGFubmVsLT53cml0ZSgwLCByZWNvcmREYXRhLCBudWxscHRyLCBbdGhpcywg
JndyaXRlT3BlcmF0aW9uLCByZWNvcmRTaXplXShpbnQgZXJyb3IpIHsKICAgICAgICAgICAgIC8v
IE9uIGVycm9yIHRoZSBlbnRyeSBzdGlsbCBzdGF5cyBpbiB0aGUgY29udGVudHMgZmlsdGVyIHVu
dGlsIG5leHQgc3luY2hyb25pemF0aW9uLgogICAgICAgICAgICAgbV9hcHByb3hpbWF0ZVJlY29y
ZHNTaXplICs9IHJlY29yZFNpemU7Ci0gICAgICAgICAgICBmaW5pc2hXcml0ZU9wZXJhdGlvbih3
cml0ZU9wZXJhdGlvbik7CisgICAgICAgICAgICBmaW5pc2hXcml0ZU9wZXJhdGlvbih3cml0ZU9w
ZXJhdGlvbiwgZXJyb3IpOwogCiAgICAgICAgICAgICBMT0coTmV0d29ya0NhY2hlU3RvcmFnZSwg
IihOZXR3b3JrUHJvY2Vzcykgd3JpdGUgY29tcGxldGUgZXJyb3I9JWQiLCBlcnJvcik7CiAgICAg
ICAgIH0pOwogICAgIH0pOwogfQogCi12b2lkIFN0b3JhZ2U6OmZpbmlzaFdyaXRlT3BlcmF0aW9u
KFdyaXRlT3BlcmF0aW9uJiB3cml0ZU9wZXJhdGlvbikKK3ZvaWQgU3RvcmFnZTo6ZmluaXNoV3Jp
dGVPcGVyYXRpb24oV3JpdGVPcGVyYXRpb24mIHdyaXRlT3BlcmF0aW9uLCBpbnQgZXJyb3IpCiB7
CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKICAgICBBU1NFUlQod3JpdGVPcGVyYXRp
b24uYWN0aXZlQ291bnQpOwpAQCAtODQxLDcgKzg0MSw3IEBAIHZvaWQgU3RvcmFnZTo6ZmluaXNo
V3JpdGVPcGVyYXRpb24oV3JpdGVPcGVyYXRpb24mIHdyaXRlT3BlcmF0aW9uKQogICAgIGF1dG8g
cHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpOwogCiAgICAgaWYgKHdyaXRlT3BlcmF0aW9u
LmNvbXBsZXRpb25IYW5kbGVyKQotICAgICAgICB3cml0ZU9wZXJhdGlvbi5jb21wbGV0aW9uSGFu
ZGxlcigpOworICAgICAgICB3cml0ZU9wZXJhdGlvbi5jb21wbGV0aW9uSGFuZGxlcihlcnJvcik7
CiAKICAgICBtX2FjdGl2ZVdyaXRlT3BlcmF0aW9ucy5yZW1vdmUoJndyaXRlT3BlcmF0aW9uKTsK
ICAgICBkaXNwYXRjaFBlbmRpbmdXcml0ZU9wZXJhdGlvbnMoKTsKQEAgLTg3OSw3ICs4NzksNyBA
QCB2b2lkIFN0b3JhZ2U6OnJldHJpZXZlKGNvbnN0IEtleSYga2V5LCB1bnNpZ25lZCBwcmlvcml0
eSwgUmV0cmlldmVDb21wbGV0aW9uSGFuZAogICAgIGRpc3BhdGNoUGVuZGluZ1JlYWRPcGVyYXRp
b25zKCk7CiB9CiAKLXZvaWQgU3RvcmFnZTo6c3RvcmUoY29uc3QgUmVjb3JkJiByZWNvcmQsIE1h
cHBlZEJvZHlIYW5kbGVyJiYgbWFwcGVkQm9keUhhbmRsZXIsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgU3RvcmFnZTo6c3RvcmUoY29uc3QgUmVj
b3JkJiByZWNvcmQsIE1hcHBlZEJvZHlIYW5kbGVyJiYgbWFwcGVkQm9keUhhbmRsZXIsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoaW50KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NF
UlQoUnVuTG9vcDo6aXNNYWluKCkpOwogICAgIEFTU0VSVCghcmVjb3JkLmtleS5pc051bGwoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtD
YWNoZVN0b3JhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlU3RvcmFnZS5oCmluZGV4IGVmYTZkMTJiZTk5ZjRhNDhiZjgxMTMxZGE4ZTkwNWRjNzNm
MzM2YmYuLjA5Yzg3M2JjOGI5MTlmYjNlNGIxOTBjMzc5NTBhYjM5MTFlZGU1YmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFn
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hl
U3RvcmFnZS5oCkBAIC04Miw3ICs4Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJldHJpZXZlKGNv
bnN0IEtleSYsIHVuc2lnbmVkIHByaW9yaXR5LCBSZXRyaWV2ZUNvbXBsZXRpb25IYW5kbGVyJiYp
OwogCiAgICAgdXNpbmcgTWFwcGVkQm9keUhhbmRsZXIgPSBGdW5jdGlvbjx2b2lkIChjb25zdCBE
YXRhJiBtYXBwZWRCb2R5KT47Ci0gICAgdm9pZCBzdG9yZShjb25zdCBSZWNvcmQmLCBNYXBwZWRC
b2R5SGFuZGxlciYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgPSB7IH0pOworICAgIHZv
aWQgc3RvcmUoY29uc3QgUmVjb3JkJiwgTWFwcGVkQm9keUhhbmRsZXImJiwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChpbnQpPiYmID0geyB9KTsKIAogICAgIHZvaWQgcmVtb3ZlKGNvbnN0IEtleSYp
OwogICAgIHZvaWQgcmVtb3ZlKGNvbnN0IFZlY3RvcjxLZXk+JiwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCgpPiYmKTsKQEAgLTE0NCw3ICsxNDQsNyBAQCBwcml2YXRlOgogICAgIHN0cnVjdCBXcml0
ZU9wZXJhdGlvbjsKICAgICB2b2lkIGRpc3BhdGNoV3JpdGVPcGVyYXRpb24oc3RkOjp1bmlxdWVf
cHRyPFdyaXRlT3BlcmF0aW9uPik7CiAgICAgdm9pZCBkaXNwYXRjaFBlbmRpbmdXcml0ZU9wZXJh
dGlvbnMoKTsKLSAgICB2b2lkIGZpbmlzaFdyaXRlT3BlcmF0aW9uKFdyaXRlT3BlcmF0aW9uJik7
CisgICAgdm9pZCBmaW5pc2hXcml0ZU9wZXJhdGlvbihXcml0ZU9wZXJhdGlvbiYsIGludCBlcnJv
ciA9IDApOwogCiAgICAgYm9vbCBzaG91bGRTdG9yZUJvZHlBc0Jsb2IoY29uc3QgRGF0YSYgYm9k
eURhdGEpOwogICAgIHN0ZDo6b3B0aW9uYWw8QmxvYlN0b3JhZ2U6OkJsb2I+IHN0b3JlQm9keUFz
QmxvYihXcml0ZU9wZXJhdGlvbiYpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>