<?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>191459</bug_id>
          
          <creation_ts>2018-11-09 01:40:51 -0800</creation_ts>
          <short_desc>[GStreamer][EME] waitingforkey event should consider decryptors&apos; waiting status</short_desc>
          <delta_ts>2018-11-12 04:41:46 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Xabier Rodríguez Calvar">calvaris</reporter>
          <assigned_to name="Xabier Rodríguez Calvar">calvaris</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>cturner</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1476834</commentid>
    <comment_count>0</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2018-11-09 01:40:51 -0800</bug_when>
    <thetext>[GStreamer][EME] waitingforkey event should consider decryptors&apos; waiting status</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1476835</commentid>
    <comment_count>1</comment_count>
      <attachid>354321</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2018-11-09 01:52:26 -0800</bug_when>
    <thetext>Created attachment 354321
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1476837</commentid>
    <comment_count>2</comment_count>
      <attachid>354321</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-11-09 02:26:32 -0800</bug_when>
    <thetext>Comment on attachment 354321
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:1385
&gt; +    bool result { false };
&gt; +    if (m_pipeline) {

Nit: Strange way to assign a variable? 
Also this condition could be transformed to an early return.

&gt; Source/WebCore/platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:345
&gt; +    return FALSE;

No chaining to parent class?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1476839</commentid>
    <comment_count>3</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2018-11-09 02:52:11 -0800</bug_when>
    <thetext>(In reply to Philippe Normand from comment #2)
&gt; Comment on attachment 354321 [details]

Yep to all of it. Thx!

Fixing the EWS as well. Weird that I am not getting that build failure myself...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1476842</commentid>
    <comment_count>4</comment_count>
      <attachid>354321</attachid>
    <who name="Charlie Turner">cturner</who>
    <bug_when>2018-11-09 03:30:42 -0800</bug_when>
    <thetext>Comment on attachment 354321
Patch

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

Nice to get rid of those handlers in the decryptor sink handler :) I guess imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-waiting-for-a-key.https.html is still blocked on the event loop issue, just wondered if this affect the expectations of that test at all.

&gt; Source/WebCore/ChangeLog:10
&gt; +        going with the decryptors because events are reported only once

going on with

&gt; Source/WebCore/ChangeLog:22
&gt; +        Query the pipeline, just a query after after pipeline is built and

after after

&gt; Source/WebCore/ChangeLog:23
&gt; +        manual inspection during build. The optimal would be just the

The query is optimal, but sometimes ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1476852</commentid>
    <comment_count>5</comment_count>
      <attachid>354327</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2018-11-09 04:40:14 -0800</bug_when>
    <thetext>Created attachment 354327
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477510</commentid>
    <comment_count>6</comment_count>
    <who name="Charlie Turner">cturner</who>
    <bug_when>2018-11-12 01:58:57 -0800</bug_when>
    <thetext>Informal r+ from me FWIW.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477516</commentid>
    <comment_count>7</comment_count>
      <attachid>354541</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2018-11-12 03:25:31 -0800</bug_when>
    <thetext>Created attachment 354541
Patch

I fixed the concerns raised in this patch and remove the custom API for the iterator codepath as we can still use a query there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477517</commentid>
    <comment_count>8</comment_count>
      <attachid>354542</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2018-11-12 03:32:44 -0800</bug_when>
    <thetext>Created attachment 354542
Patch

Removed the WTF:: from boolForPrinting</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477524</commentid>
    <comment_count>9</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2018-11-12 04:19:15 -0800</bug_when>
    <thetext>Phil, as you&apos;re on holidays, I asked Carlos to r+ this considering that I solved your concerns.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477527</commentid>
    <comment_count>10</comment_count>
      <attachid>354542</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-12 04:40:20 -0800</bug_when>
    <thetext>Comment on attachment 354542
Patch

Clearing flags on attachment: 354542

Committed r238083: &lt;https://trac.webkit.org/changeset/238083&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477528</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-12 04:40:22 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477529</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-12 04:41:46 -0800</bug_when>
    <thetext>&lt;rdar://problem/45986842&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354321</attachid>
            <date>2018-11-09 01:52:26 -0800</date>
            <delta_ts>2018-11-09 04:40:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191459-20181109105225.patch</filename>
            <type>text/plain</type>
            <size>13290</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3Nzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjAxYjZmMDcwNWM5ZWNk
ZDFhNTY2YjA2MTdjYWQ3ZWFjNWE0ZDg3NS4uZTcwYWY2M2Q5ODcyMTJmZWU4NGNmZmY5MmQyMjEy
NmZkNDc2NmRlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE4LTExLTA5ICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dT
dHJlYW1lcl1bRU1FXSB3YWl0aW5nZm9ya2V5IGV2ZW50IHNob3VsZCBjb25zaWRlciBkZWNyeXB0
b3JzJyB3YWl0aW5nIHN0YXR1cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTkxNDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhlIG5ldyBjcm9zcyBwbGF0Zm9ybSBhcmNoaXRlY3R1cmUgdG8gcmVwb3J0
IHdhaXRpbmdmb3JrZXkgYW5kCisgICAgICAgIHJlY292ZXIgZnJvbSBpdCByZXF1aXJlcyBhIG1v
cmUgYWNjdXJhdGUga25vd2xlZGdlIG9mIHdoYXQgaXMKKyAgICAgICAgZ29pbmcgd2l0aCB0aGUg
ZGVjcnlwdG9ycyBiZWNhdXNlIGV2ZW50cyBhcmUgcmVwb3J0ZWQgb25seSBvbmNlCisgICAgICAg
IChwZXIga2V5IGV4Y2hhbmdlIHJ1bikgYW5kIGNyb3NzcGxhdGZvcm0gb25seSBjb250aW51ZXMg
aWYgd2UgYXJlCisgICAgICAgIGFjdHVhbGx5IHJlYWR5IHRvIGNvbnRpbnVlLCBtZWFuaW5nIHRo
YXQgbm8gZGVjcnlwdG9ycyBhcmUKKyAgICAgICAgd2FpdGluZy4KKworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HVW5pcXVlUHRyR1N0cmVhbWVyLmg6IEFkZGVkCisgICAg
ICAgIEdzdEl0ZXJhdG9yIGRlbGV0ZXIuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6c2V0V2FpdGluZ0ZvcktleSk6
IEJhaWwKKyAgICAgICAgb3V0IGlmIHdlIGFyZSByZXF1ZXN0ZWQgdG8gbm90IHdhaXQgYW55bW9y
ZSBidXQgdGhlcmUgYXJlIHN0aWxsCisgICAgICAgIHdhaXRpbmcgZGVjcnlwdG9ycy4KKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OndhaXRpbmdGb3JL
ZXkgY29uc3QpOgorICAgICAgICBRdWVyeSB0aGUgcGlwZWxpbmUsIGp1c3QgYSBxdWVyeSBhZnRl
ciBhZnRlciBwaXBlbGluZSBpcyBidWlsdCBhbmQKKyAgICAgICAgbWFudWFsIGluc3BlY3Rpb24g
ZHVyaW5nIGJ1aWxkLiBUaGUgb3B0aW1hbCB3b3VsZCBiZSBqdXN0IHRoZQorICAgICAgICBxdWVy
eSBidXQgc29tZXRpbWVzIHdlIGNhbiBnZXQgdGhpcyByZXF1ZXN0IHdoZW4gdGhlIHBpcGVsaW5l
IGlzCisgICAgICAgIHVuZGVyIGNvbnN0cnVjdGlvbiBzbyBxdWVyaWVzIGRvIG5vdCBhcnJpdmUg
YXQgdGhlIGRlY3J5cHRvcnMuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlOjpyZXBvcnRXYWl0aW5nRm9yS2V5OgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpyZXBvcnRXYWl0
aW5nRm9yS2V5OgorICAgICAgICBEZWxldGVkIGJlY2F1c2UgaXQgaXMgbm90IGlubGluZWQuCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRDb21tb25FbmNy
eXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKHdlYmtpdF9tZWRpYV9jb21t
b25fZW5jcnlwdGlvbl9kZWNyeXB0X2NsYXNzX2luaXQpOiBPdmVycmlkZQorICAgICAgICBxdWVy
eSBtZXRob2QuCisgICAgICAgICh3ZWJraXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0VHJh
bnNmb3JtSW5QbGFjZSk6IFdoZW4gdGhlCisgICAgICAgIGRlY3J5cHRvciBpcyBnb2luZyB0byBi
bG9jayB0byB3YWl0LCByZXBvcnQgYmVmb3JlLiBXaGVuIHRoZQorICAgICAgICBkZWNyeXB0b3Ig
cmVjZWl2ZXMgdGhlIGtleSwgcmVwb3J0IGl0IGdvdCBpdC4KKyAgICAgICAgKHdlYmtpdE1lZGlh
Q29tbW9uRW5jcnlwdGlvbkRlY3J5cHRTaW5rRXZlbnRIYW5kbGVyKTogRG8gbm90CisgICAgICAg
IGhhbmRsZSB3YWl0aW5nZm9ya2V5IGhlcmUuCisgICAgICAgICh3ZWJraXRNZWRpYUNvbW1vbkVu
Y3J5cHRpb25EZWNyeXB0b3JRdWVyeUhhbmRsZXIpOgorICAgICAgICAod2ViS2l0TWVkaWFDb21t
b25FbmNyeXB0aW9uRGVjcnlwdElzV2FpdGluZ0ZvcktleSk6IFJlcG9ydCBpZiB0aGUKKyAgICAg
ICAgZGVjcnlwdG9yIGlzIHdhaXRpbmcuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL2VtZS9XZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmg6Cisg
ICAgICAgICh3ZWJLaXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0SXNXYWl0aW5nRm9yS2V5
KTogRGVjbGFyZWQuCisKIDIwMTgtMTEtMDQgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNv
bT4KIAogICAgICAgICBbaU9TXSBJc3N1ZSBpbml0aWFsIHBhaW50IHNvb24gYWZ0ZXIgdGhlIHZp
c3VhbGx5Tm9uRW1wdHkgbWlsZXN0b25lIGlzIGZpcmVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dVbmlxdWVQdHJHU3RyZWFtZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HVW5pcXVlUHRyR1N0
cmVhbWVyLmgKaW5kZXggMWFiODBiNzJmMWE5ODE3N2I3YWU4Y2U3NmU4NGJlMzExMTMyZGY5Ny4u
MTg1OGExNmVjYjUyYmY4OTQyY2Q4MmNmMjU4NjM5YWFhODc0NzhiMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dVbmlxdWVQdHJHU3RyZWFt
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1Vu
aXF1ZVB0ckdTdHJlYW1lci5oCkBAIC0zMiw2ICszMiw3IEBAIG5hbWVzcGFjZSBXVEYgewogCiBX
VEZfREVGSU5FX0dQVFJfREVMRVRFUihHc3RTdHJ1Y3R1cmUsIGdzdF9zdHJ1Y3R1cmVfZnJlZSkK
IFdURl9ERUZJTkVfR1BUUl9ERUxFVEVSKEdzdEluc3RhbGxQbHVnaW5zQ29udGV4dCwgZ3N0X2lu
c3RhbGxfcGx1Z2luc19jb250ZXh0X2ZyZWUpCitXVEZfREVGSU5FX0dQVFJfREVMRVRFUihHc3RJ
dGVyYXRvciwgZ3N0X2l0ZXJhdG9yX2ZyZWUpCiBXVEZfREVGSU5FX0dQVFJfREVMRVRFUihHc3RT
ZWdtZW50LCBnc3Rfc2VnbWVudF9mcmVlKQogV1RGX0RFRklORV9HUFRSX0RFTEVURVIoR3N0Rmxv
d0NvbWJpbmVyLCBnc3RfZmxvd19jb21iaW5lcl9mcmVlKQogV1RGX0RFRklORV9HUFRSX0RFTEVU
RVIoR3N0Qnl0ZVJlYWRlciwgZ3N0X2J5dGVfcmVhZGVyX2ZyZWUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKaW5kZXggMWI5ZTRhMmMx
YjZlZDQxMjVkZmViOTc2NWMwNTRjNmQ1MGE4ZDY0ZC4uNjQzZGRmOTE5NjVmZDk3YWE5M2EzMzk3
OGQ5OGY5YTI4MjNlNGM1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlLmNwcApAQCAtMTM2NywyNCArMTM2Nyw0NyBAQCB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmhhbmRsZVByb3RlY3Rpb25FdmVudChHc3RFdmVu
dCogZXZlbnQpCiAgICAgaW5pdGlhbGl6YXRpb25EYXRhRW5jb3VudGVyZWQoZXZlbnQpOwogfQog
Ci12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnJlcG9ydFdhaXRpbmdGb3JL
ZXkoKQotewotICAgIEdTVF9UUkFDRSgid2FpdGluZyBmb3Iga2V5Iik7Ci0gICAgbV9wbGF5ZXIt
PndhaXRpbmdGb3JLZXlDaGFuZ2VkKCk7Ci19Ci0KIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyQmFzZTo6c2V0V2FpdGluZ0ZvcktleShib29sIHdhaXRpbmdGb3JLZXkpCiB7Ci0gICAg
aWYgKHdhaXRpbmdGb3JLZXkgPT0gbV93YWl0aW5nRm9yS2V5KQorICAgIC8vIFdlIGJhaWwgb3V0
IGlmIHZhbHVlcyBkaWQgbm90IGNoYW5nZSBvciBpZiB3ZSBhcmUgcmVxdWVzdGVkIHRvIG5vdCB3
YWl0IGFueW1vcmUgYnV0IHRoZXJlIGFyZSBzdGlsbCB3YWl0aW5nIGRlY3J5cHRvcnMuCisgICAg
R1NUX1RSQUNFKCJ3YWl0aW5nRm9yS2V5ICVzLCBtX3dhaXRpbmdGb3JLZXkgJXMiLCBib29sRm9y
UHJpbnRpbmcod2FpdGluZ0ZvcktleSksIGJvb2xGb3JQcmludGluZyhtX3dhaXRpbmdGb3JLZXkp
KTsKKyAgICBpZiAod2FpdGluZ0ZvcktleSA9PSBtX3dhaXRpbmdGb3JLZXkgfHwgKCF3YWl0aW5n
Rm9yS2V5ICYmIHRoaXMtPndhaXRpbmdGb3JLZXkoKSkpCiAgICAgICAgIHJldHVybjsKIAogICAg
IG1fd2FpdGluZ0ZvcktleSA9IHdhaXRpbmdGb3JLZXk7Ci0gICAgcmVwb3J0V2FpdGluZ0Zvcktl
eSgpOworICAgIEdTVF9ERUJVRygid2FpdGluZyBmb3Iga2V5IGNoYW5nZWQgJXMiLCBib29sRm9y
UHJpbnRpbmcobV93YWl0aW5nRm9yS2V5KSk7CisgICAgbV9wbGF5ZXItPndhaXRpbmdGb3JLZXlD
aGFuZ2VkKCk7CiB9CiAKIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6d2Fp
dGluZ0ZvcktleSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fd2FpdGluZ0ZvcktleTsKKyAgICBi
b29sIHJlc3VsdCB7IGZhbHNlIH07CisgICAgaWYgKG1fcGlwZWxpbmUpIHsKKyAgICAgICAgR3N0
U3RhdGUgc3RhdGU7CisgICAgICAgIGdzdF9lbGVtZW50X2dldF9zdGF0ZShtX3BpcGVsaW5lLmdl
dCgpLCAmc3RhdGUsIG51bGxwdHIsIDApOworICAgICAgICBpZiAoc3RhdGUgPj0gR1NUX1NUQVRF
X1BBVVNFRCkgeworICAgICAgICAgICAgR1JlZlB0cjxHc3RRdWVyeT4gcXVlcnkgPSBhZG9wdEdS
ZWYoZ3N0X3F1ZXJ5X25ld19jdXN0b20oR1NUX1FVRVJZX0NVU1RPTSwgZ3N0X3N0cnVjdHVyZV9u
ZXdfZW1wdHkoImFueS1kZWNyeXB0b3Itd2FpdGluZy1mb3Ita2V5IikpKTsKKyAgICAgICAgICAg
IHJlc3VsdCA9IGdzdF9lbGVtZW50X3F1ZXJ5KG1fcGlwZWxpbmUuZ2V0KCksIHF1ZXJ5LmdldCgp
KTsKKyAgICAgICAgICAgIEdTVF9UUkFDRSgicXVlcnkgcmVzdWx0ICVzLCBvbiAlcyIsIGJvb2xG
b3JQcmludGluZyhyZXN1bHQpLCBnc3RfZWxlbWVudF9zdGF0ZV9nZXRfbmFtZShzdGF0ZSkpOwor
ICAgICAgICB9IGVsc2UgaWYgKHN0YXRlID49IEdTVF9TVEFURV9SRUFEWSkgeworICAgICAgICAg
ICAgLy8gUnVubmluZyBhIHF1ZXJ5IGlzIG1vcmUgc3RyYWlnaHRmb3J3YXJkIGJ1dCBpdCBvbmx5
IHdvcmtzIHdoZW4gdGhlIHBpcGVsaW5lIGlzIHNldCB1cCBhbmQgcnVubmluZywgb3RoZXJ3aXNl
IHdlIG5lZWQgdG8gaW5zcGVjdCBpdCBhbmQgYXNrIHRoZSBkZWNyeXB0b3JzIG1hbnVhbGx5Lgor
ICAgICAgICAgICAgR1VuaXF1ZVB0cjxHc3RJdGVyYXRvcj4gaXRlcmF0b3IoZ3N0X2Jpbl9pdGVy
YXRlX3JlY3Vyc2UoR1NUX0JJTihtX3BpcGVsaW5lLmdldCgpKSkpOworICAgICAgICAgICAgR3N0
SXRlcmF0b3JSZXN1bHQgaXRlcmF0b3JSZXN1bHQ7CisgICAgICAgICAgICBkbyB7CisgICAgICAg
ICAgICAgICAgaXRlcmF0b3JSZXN1bHQgPSBnc3RfaXRlcmF0b3JfZm9sZChpdGVyYXRvci5nZXQo
KSwgW10oY29uc3QgR1ZhbHVlICppdGVtLCBHVmFsdWUgKiwgZ3BvaW50ZXIpIC0+IGdib29sZWFu
IHsKKyAgICAgICAgICAgICAgICAgICAgR3N0RWxlbWVudCogZWxlbWVudCA9IEdTVF9FTEVNRU5U
KGdfdmFsdWVfZ2V0X29iamVjdChpdGVtKSk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAh
V0VCS0lUX0lTX01FRElBX0NFTkNfREVDUllQVChlbGVtZW50KSB8fCAhd2ViS2l0TWVkaWFDb21t
b25FbmNyeXB0aW9uRGVjcnlwdElzV2FpdGluZ0ZvcktleShXRUJLSVRfTUVESUFfQ0VOQ19ERUNS
WVBUKGVsZW1lbnQpKTsKKyAgICAgICAgICAgICAgICB9LCBudWxscHRyLCBudWxscHRyKTsKKyAg
ICAgICAgICAgICAgICBpZiAoaXRlcmF0b3JSZXN1bHQgPT0gR1NUX0lURVJBVE9SX1JFU1lOQykK
KyAgICAgICAgICAgICAgICAgICAgZ3N0X2l0ZXJhdG9yX3Jlc3luYyhpdGVyYXRvci5nZXQoKSk7
CisgICAgICAgICAgICB9IHdoaWxlIChpdGVyYXRvclJlc3VsdCA9PSBHU1RfSVRFUkFUT1JfUkVT
WU5DKTsKKyAgICAgICAgICAgIGlmIChpdGVyYXRvclJlc3VsdCA9PSBHU1RfSVRFUkFUT1JfRVJS
T1IpCisgICAgICAgICAgICAgICAgR1NUX1dBUk5JTkcoIml0ZXJhdG9yIHJldHVybmVkIGFuIGVy
cm9yIik7CisgICAgICAgICAgICByZXN1bHQgPSBpdGVyYXRvclJlc3VsdCA9PSBHU1RfSVRFUkFU
T1JfT0s7CisgICAgICAgICAgICBHU1RfVFJBQ0UoIml0ZXJhdG9yIHJlc3VsdCAlZCwgd2FpdGlu
ZyAlcyIsIGl0ZXJhdG9yUmVzdWx0LCBib29sRm9yUHJpbnRpbmcocmVzdWx0KSk7CisgICAgICAg
IH0KKyAgICB9CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaAppbmRleCA0ZmExNTVhODMz
N2M3OWUyMjdiNThlZGVhZmZmZjNmOGMyYjQxMzUzLi5mN2Y4MmNlMTRiMWIxMTliODE4MWU0MzZk
ODg4ZjI4YTg3OGI3M2FmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlLmgKQEAgLTE1NCw3ICsxNTQsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBp
bml0aWFsaXphdGlvbkRhdGFFbmNvdW50ZXJlZChHc3RFdmVudCopOwogICAgIHZvaWQgc2V0V2Fp
dGluZ0ZvcktleShib29sKTsKICAgICBib29sIHdhaXRpbmdGb3JLZXkoKSBjb25zdDsKLSAgICB2
b2lkIHJlcG9ydFdhaXRpbmdGb3JLZXkoKTsKICNlbmRpZgogCiAgICAgc3RhdGljIGJvb2wgc3Vw
cG9ydHNLZXlTeXN0ZW0oY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgbWlt
ZVR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL2VtZS9XZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0Q29t
bW9uRW5jcnlwdGlvbkRlY3J5cHRvckdTdHJlYW1lci5jcHAKaW5kZXggMjk3Y2I1ZDc5NDZkYzNh
ZGQ1M2JkNjRiN2ExZTRmNGM3YThlNDI2NS4uZWU3YjgwNGI0YWE4MjFhMGU4NzNhYTFlYTAwNmMw
OWFkZjNjZmQzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL2VtZS9XZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dl
YktpdENvbW1vbkVuY3J5cHRpb25EZWNyeXB0b3JHU3RyZWFtZXIuY3BwCkBAIC0yNyw2ICsyNyw3
IEBACiAKICNpbmNsdWRlICJHU3RyZWFtZXJDb21tb24uaCIKICNpbmNsdWRlIDx3dGYvQ29uZGl0
aW9uLmg+CisjaW5jbHVkZSA8d3RmL1ByaW50U3RyZWFtLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxv
b3AuaD4KIAogI2RlZmluZSBXRUJLSVRfTUVESUFfQ0VOQ19ERUNSWVBUX0dFVF9QUklWQVRFKG9i
aikgKEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSgob2JqKSwgV0VCS0lUX1RZUEVfTUVESUFf
Q0VOQ19ERUNSWVBULCBXZWJLaXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0UHJpdmF0ZSkp
CkBAIC00NCw2ICs0NSw3IEBAIHN0YXRpYyB2b2lkIHdlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlv
bkRlY3J5cHRvckZpbmFsaXplKEdPYmplY3QqKTsKIHN0YXRpYyBHc3RDYXBzKiB3ZWJraXRNZWRp
YUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0VHJhbnNmb3JtQ2FwcyhHc3RCYXNlVHJhbnNmb3JtKiwg
R3N0UGFkRGlyZWN0aW9uLCBHc3RDYXBzKiwgR3N0Q2FwcyopOwogc3RhdGljIEdzdEZsb3dSZXR1
cm4gd2Via2l0TWVkaWFDb21tb25FbmNyeXB0aW9uRGVjcnlwdFRyYW5zZm9ybUluUGxhY2UoR3N0
QmFzZVRyYW5zZm9ybSosIEdzdEJ1ZmZlciopOwogc3RhdGljIGdib29sZWFuIHdlYmtpdE1lZGlh
Q29tbW9uRW5jcnlwdGlvbkRlY3J5cHRTaW5rRXZlbnRIYW5kbGVyKEdzdEJhc2VUcmFuc2Zvcm0q
LCBHc3RFdmVudCopOworc3RhdGljIGdib29sZWFuIHdlYmtpdE1lZGlhQ29tbW9uRW5jcnlwdGlv
bkRlY3J5cHRvclF1ZXJ5SGFuZGxlcihHc3RCYXNlVHJhbnNmb3JtKiwgR3N0UGFkRGlyZWN0aW9u
LCBHc3RRdWVyeSopOwogCiBzdGF0aWMgZ2Jvb2xlYW4gd2ViS2l0TWVkaWFDb21tb25FbmNyeXB0
aW9uRGVjcnlwdERlZmF1bHRTZXR1cENpcGhlcihXZWJLaXRNZWRpYUNvbW1vbkVuY3J5cHRpb25E
ZWNyeXB0KiwgR3N0QnVmZmVyKik7CiBzdGF0aWMgdm9pZCB3ZWJLaXRNZWRpYUNvbW1vbkVuY3J5
cHRpb25EZWNyeXB0RGVmYXVsdFJlbGVhc2VDaXBoZXIoV2ViS2l0TWVkaWFDb21tb25FbmNyeXB0
aW9uRGVjcnlwdCopOwpAQCAtNzAsNiArNzIsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfbWVkaWFf
Y29tbW9uX2VuY3J5cHRpb25fZGVjcnlwdF9jbGFzc19pbml0KFdlYktpdE1lZGlhQ29tbW9uRQog
ICAgIGJhc2VUcmFuc2Zvcm1DbGFzcy0+dHJhbnNmb3JtX2NhcHMgPSBHU1RfREVCVUdfRlVOQ1BU
Uih3ZWJraXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0VHJhbnNmb3JtQ2Fwcyk7CiAgICAg
YmFzZVRyYW5zZm9ybUNsYXNzLT50cmFuc2Zvcm1faXBfb25fcGFzc3Rocm91Z2ggPSBGQUxTRTsK
ICAgICBiYXNlVHJhbnNmb3JtQ2xhc3MtPnNpbmtfZXZlbnQgPSBHU1RfREVCVUdfRlVOQ1BUUih3
ZWJraXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0U2lua0V2ZW50SGFuZGxlcik7CisgICAg
YmFzZVRyYW5zZm9ybUNsYXNzLT5xdWVyeSA9IEdTVF9ERUJVR19GVU5DUFRSKHdlYmtpdE1lZGlh
Q29tbW9uRW5jcnlwdGlvbkRlY3J5cHRvclF1ZXJ5SGFuZGxlcik7CiAKICAgICBrbGFzcy0+c2V0
dXBDaXBoZXIgPSBHU1RfREVCVUdfRlVOQ1BUUih3ZWJLaXRNZWRpYUNvbW1vbkVuY3J5cHRpb25E
ZWNyeXB0RGVmYXVsdFNldHVwQ2lwaGVyKTsKICAgICBrbGFzcy0+cmVsZWFzZUNpcGhlciA9IEdT
VF9ERUJVR19GVU5DUFRSKHdlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHREZWZhdWx0
UmVsZWFzZUNpcGhlcik7CkBAIC0yMjAsNiArMjIzLDggQEAgc3RhdGljIEdzdEZsb3dSZXR1cm4g
d2Via2l0TWVkaWFDb21tb25FbmNyeXB0aW9uRGVjcnlwdFRyYW5zZm9ybUluUGxhY2UoR3N0QmFz
ZVQKICAgICAgICAgICAgIHJldHVybiBHU1RfRkxPV19OT1RfU1VQUE9SVEVEOwogICAgICAgICB9
CiAgICAgICAgIEdTVF9ERUJVR19PQkpFQ1Qoc2VsZiwgImtleSByZWNlaXZlZCwgY29udGludWlu
ZyIpOworICAgICAgICBwcml2LT53YWl0aW5nRm9yS2V5ID0gZmFsc2U7CisgICAgICAgIGdzdF9l
bGVtZW50X3Bvc3RfbWVzc2FnZShHU1RfRUxFTUVOVChzZWxmKSwgZ3N0X21lc3NhZ2VfbmV3X2Vs
ZW1lbnQoR1NUX09CSkVDVChzZWxmKSwgZ3N0X3N0cnVjdHVyZV9uZXdfZW1wdHkoImRybS1rZXkt
cmVjZWl2ZWQiKSkpOwogICAgIH0KIAogICAgIEdzdFByb3RlY3Rpb25NZXRhKiBwcm90ZWN0aW9u
TWV0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8R3N0UHJvdGVjdGlvbk1ldGEqPihnc3RfYnVmZmVyX2dl
dF9wcm90ZWN0aW9uX21ldGEoYnVmZmVyKSk7CkBAIC0zMTUsMTIgKzMyMCw3IEBAIHN0YXRpYyBn
Ym9vbGVhbiB3ZWJraXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0U2lua0V2ZW50SGFuZGxl
cihHc3RCYXNlVHJhbnNmCiAgICAgICAgIGlmIChrbGFzcy0+aGFuZGxlS2V5UmVzcG9uc2Uoc2Vs
ZiwgZXZlbnQpKSB7CiAgICAgICAgICAgICBHU1RfREVCVUdfT0JKRUNUKHNlbGYsICJrZXkgcmVj
ZWl2ZWQiKTsKICAgICAgICAgICAgIHByaXYtPmtleVJlY2VpdmVkID0gdHJ1ZTsKLSAgICAgICAg
ICAgIHByaXYtPndhaXRpbmdGb3JLZXkgPSBmYWxzZTsKLSAgICAgICAgICAgIGdzdF9lbGVtZW50
X3Bvc3RfbWVzc2FnZShHU1RfRUxFTUVOVChzZWxmKSwgZ3N0X21lc3NhZ2VfbmV3X2VsZW1lbnQo
R1NUX09CSkVDVChzZWxmKSwgZ3N0X3N0cnVjdHVyZV9uZXdfZW1wdHkoImRybS1rZXktcmVjZWl2
ZWQiKSkpOwogICAgICAgICAgICAgcHJpdi0+Y29uZGl0aW9uLm5vdGlmeU9uZSgpOwotICAgICAg
ICB9IGVsc2UgaWYgKHByaXYtPndhaXRpbmdGb3JLZXkpIHsKLSAgICAgICAgICAgIEdTVF9ERUJV
R19PQkpFQ1Qoc2VsZiwgInN0aWxsIHdhaXRpbmcgZm9yIGtleSwgcmVwb3N0aW5nIik7Ci0gICAg
ICAgICAgICBnc3RfZWxlbWVudF9wb3N0X21lc3NhZ2UoR1NUX0VMRU1FTlQoc2VsZiksIGdzdF9t
ZXNzYWdlX25ld19lbGVtZW50KEdTVF9PQkpFQ1Qoc2VsZiksIGdzdF9zdHJ1Y3R1cmVfbmV3X2Vt
cHR5KCJkcm0td2FpdGluZy1mb3Ita2V5IikpKTsKICAgICAgICAgfQogCiAgICAgICAgIGdzdF9l
dmVudF91bnJlZihldmVudCk7CkBAIC0zMzUsNiArMzM1LDE2IEBAIHN0YXRpYyBnYm9vbGVhbiB3
ZWJraXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0U2lua0V2ZW50SGFuZGxlcihHc3RCYXNl
VHJhbnNmCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorc3RhdGljIGdib29sZWFuIHdlYmtpdE1l
ZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHRvclF1ZXJ5SGFuZGxlcihHc3RCYXNlVHJhbnNmb3Jt
KiB0cmFucywgR3N0UGFkRGlyZWN0aW9uLCBHc3RRdWVyeSogcXVlcnkpCit7CisgICAgaWYgKGdz
dF9zdHJ1Y3R1cmVfaGFzX25hbWUoZ3N0X3F1ZXJ5X2dldF9zdHJ1Y3R1cmUocXVlcnkpLCAiYW55
LWRlY3J5cHRvci13YWl0aW5nLWZvci1rZXkiKSkgeworICAgICAgICBXZWJLaXRNZWRpYUNvbW1v
bkVuY3J5cHRpb25EZWNyeXB0UHJpdmF0ZSogcHJpdiA9IFdFQktJVF9NRURJQV9DRU5DX0RFQ1JZ
UFRfR0VUX1BSSVZBVEUodHJhbnMpOworICAgICAgICBHU1RfVFJBQ0VfT0JKRUNUKHRyYW5zLCAi
YW55LWRlY3J5cHRvci13YWl0aW5nLWZvci1rZXkgcXVlcnksIHdhaXRpbmdmb3JrZXkgJXMiLCBX
VEY6OmJvb2xGb3JQcmludGluZyhwcml2LT53YWl0aW5nRm9yS2V5KSk7CisgICAgICAgIHJldHVy
biBwcml2LT53YWl0aW5nRm9yS2V5OworICAgIH0KKyAgICByZXR1cm4gRkFMU0U7Cit9CisKIHN0
YXRpYyBHc3RTdGF0ZUNoYW5nZVJldHVybiB3ZWJLaXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNy
eXB0b3JDaGFuZ2VTdGF0ZShHc3RFbGVtZW50KiBlbGVtZW50LCBHc3RTdGF0ZUNoYW5nZSB0cmFu
c2l0aW9uKQogewogICAgIFdlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHQqIHNlbGYg
PSBXRUJLSVRfTUVESUFfQ0VOQ19ERUNSWVBUKGVsZW1lbnQpOwpAQCAtMzY3LDQgKzM3NywxMSBA
QCBzdGF0aWMgdm9pZCB3ZWJLaXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0RGVmYXVsdFJl
bGVhc2VDaXBoZXIoV2ViS2l0TWVkaWFDbwogewogfQogCitib29sIHdlYktpdE1lZGlhQ29tbW9u
RW5jcnlwdGlvbkRlY3J5cHRJc1dhaXRpbmdGb3JLZXkoV2ViS2l0TWVkaWFDb21tb25FbmNyeXB0
aW9uRGVjcnlwdCogc2VsZikKK3sKKyAgICBXZWJLaXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNy
eXB0UHJpdmF0ZSogcHJpdiA9IFdFQktJVF9NRURJQV9DRU5DX0RFQ1JZUFRfR0VUX1BSSVZBVEUo
c2VsZik7CisgICAgTG9ja0hvbGRlciBsb2NrZXIocHJpdi0+bXV0ZXgpOworICAgIHJldHVybiBw
cml2LT53YWl0aW5nRm9yS2V5OworfQorCiAjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJ
QSkgJiYgVVNFKEdTVFJFQU1FUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0Q29tbW9uRW5jcnlwdGlvbkRlY3J5cHRvckdT
dHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2Vt
ZS9XZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmgKaW5kZXggMjY3Nzkx
YWUzZWIxNmNkMzdjNzg1OWVkNmRmYzdjMjRhYTQ4Y2IxYy4uMGY5MjIyZDNlMWRmNzE4NDk3NzQx
ZmFhZWM1YTBjMzU1NDA5NTYxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0
cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L2VtZS9XZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmgKQEAgLTU5LDYg
KzU5LDggQEAgc3RydWN0IF9XZWJLaXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0Q2xhc3Mg
ewogICAgIHZvaWQgKCpyZWxlYXNlQ2lwaGVyKShXZWJLaXRNZWRpYUNvbW1vbkVuY3J5cHRpb25E
ZWNyeXB0Kik7CiB9OwogCitib29sIHdlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHRJ
c1dhaXRpbmdGb3JLZXkoV2ViS2l0TWVkaWFDb21tb25FbmNyeXB0aW9uRGVjcnlwdCopOworCiBH
X0VORF9ERUNMUwogCiAjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkgJiYgVVNFKEdT
VFJFQU1FUikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354327</attachid>
            <date>2018-11-09 04:40:14 -0800</date>
            <delta_ts>2018-11-12 03:25:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191459-20181109134012.patch</filename>
            <type>text/plain</type>
            <size>15077</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3Nzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjAxYjZmMDcwNWM5ZWNk
ZDFhNTY2YjA2MTdjYWQ3ZWFjNWE0ZDg3NS4uODY1OTUwOTQxM2FmZjQ4M2Y4ZTc1YTY3NjhlNDVk
N2FiZmEyM2Y1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDE4LTExLTA5ICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dT
dHJlYW1lcl1bRU1FXSB3YWl0aW5nZm9ya2V5IGV2ZW50IHNob3VsZCBjb25zaWRlciBkZWNyeXB0
b3JzJyB3YWl0aW5nIHN0YXR1cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTkxNDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhlIG5ldyBjcm9zcyBwbGF0Zm9ybSBhcmNoaXRlY3R1cmUgdG8gcmVwb3J0
IHdhaXRpbmdmb3JrZXkgYW5kCisgICAgICAgIHJlY292ZXIgZnJvbSBpdCByZXF1aXJlcyBhIG1v
cmUgYWNjdXJhdGUga25vd2xlZGdlIG9mIHdoYXQgaXMKKyAgICAgICAgZ29pbmcgb24gd2l0aCB0
aGUgZGVjcnlwdG9ycyBiZWNhdXNlIGV2ZW50cyBhcmUgcmVwb3J0ZWQgb25seSBvbmNlCisgICAg
ICAgIChwZXIga2V5IGV4Y2hhbmdlIHJ1bikgYW5kIGNyb3NzcGxhdGZvcm0gb25seSBjb250aW51
ZXMgaWYgd2UgYXJlCisgICAgICAgIGFjdHVhbGx5IHJlYWR5IHRvIGNvbnRpbnVlLCBtZWFuaW5n
IHRoYXQgbm8gZGVjcnlwdG9ycyBhcmUKKyAgICAgICAgd2FpdGluZy4KKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HVW5pcXVlUHRyR1N0cmVhbWVyLmg6IEFkZGVkCisg
ICAgICAgIEdzdEl0ZXJhdG9yIGRlbGV0ZXIuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6c2V0V2FpdGluZ0Zvcktl
eSk6IEJhaWwKKyAgICAgICAgb3V0IGlmIHdlIGFyZSByZXF1ZXN0ZWQgdG8gbm90IHdhaXQgYW55
bW9yZSBidXQgdGhlcmUgYXJlIHN0aWxsCisgICAgICAgIHdhaXRpbmcgZGVjcnlwdG9ycy4KKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OndhaXRpbmdG
b3JLZXkgY29uc3QpOgorICAgICAgICBRdWVyeSB0aGUgcGlwZWxpbmUsIGp1c3QgYSBxdWVyeSBh
ZnRlciBwaXBlbGluZSBpcyBidWlsdCBhbmQKKyAgICAgICAgbWFudWFsIGluc3BlY3Rpb24gZHVy
aW5nIGJ1aWxkLiBUaGUgcXVlcnkgaXMgb3B0aW1hbCBidXQgc29tZXRpbWVzCisgICAgICAgIHdl
IGNhbiBnZXQgdGhpcyByZXF1ZXN0IHdoZW4gdGhlIHBpcGVsaW5lIGlzIHVuZGVyIGNvbnN0cnVj
dGlvbiBzbworICAgICAgICBxdWVyaWVzIGRvIG5vdCBhcnJpdmUgYXQgdGhlIGRlY3J5cHRvcnMu
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpyZXBv
cnRXYWl0aW5nRm9yS2V5OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpyZXBvcnRXYWl0aW5nRm9yS2V5OgorICAgICAg
ICBEZWxldGVkIGJlY2F1c2UgaXQgaXMgbm93IGlubGluZWQuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRDbGVhcktleURlY3J5cHRvckdTdHJlYW1lci5j
cHA6CisgICAgICAgICh3ZWJLaXRNZWRpYUNsZWFyS2V5RGVjcnlwdG9yRGVjcnlwdCk6IEZpeGVk
IHNtYWxsIGNvbXBpbGVyIHdhcm5pbmcuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL2VtZS9XZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmNwcDoK
KyAgICAgICAgKHdlYmtpdF9tZWRpYV9jb21tb25fZW5jcnlwdGlvbl9kZWNyeXB0X2NsYXNzX2lu
aXQpOiBPdmVycmlkZQorICAgICAgICBxdWVyeSBtZXRob2QuCisgICAgICAgICh3ZWJraXRNZWRp
YUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0VHJhbnNmb3JtSW5QbGFjZSk6IFdoZW4gdGhlCisgICAg
ICAgIGRlY3J5cHRvciBpcyBnb2luZyB0byBibG9jayB0byB3YWl0LCByZXBvcnQgYmVmb3JlLiBX
aGVuIHRoZQorICAgICAgICBkZWNyeXB0b3IgcmVjZWl2ZXMgdGhlIGtleSwgcmVwb3J0IGl0IGdv
dCBpdC4KKyAgICAgICAgKHdlYmtpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHRTaW5rRXZl
bnRIYW5kbGVyKTogRG8gbm90CisgICAgICAgIGhhbmRsZSB3YWl0aW5nZm9ya2V5IGhlcmUuCisg
ICAgICAgICh3ZWJraXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0b3JRdWVyeUhhbmRsZXIp
OgorICAgICAgICAod2ViS2l0TWVkaWFDb21tb25FbmNyeXB0aW9uRGVjcnlwdElzV2FpdGluZ0Zv
cktleSk6IFJlcG9ydCBpZiB0aGUKKyAgICAgICAgZGVjcnlwdG9yIGlzIHdhaXRpbmcuCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRDb21tb25FbmNyeXB0
aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmg6CisgICAgICAgICh3ZWJLaXRNZWRpYUNvbW1vbkVuY3J5
cHRpb25EZWNyeXB0SXNXYWl0aW5nRm9yS2V5KTogRGVjbGFyZWQuCisKIDIwMTgtMTEtMDQgIFph
bGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBJc3N1ZSBpbml0
aWFsIHBhaW50IHNvb24gYWZ0ZXIgdGhlIHZpc3VhbGx5Tm9uRW1wdHkgbWlsZXN0b25lIGlzIGZp
cmVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL0dVbmlxdWVQdHJHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9HVW5pcXVlUHRyR1N0cmVhbWVyLmgKaW5kZXggMWFiODBiNzJmMWE5ODE3
N2I3YWU4Y2U3NmU4NGJlMzExMTMyZGY5Ny4uMTg1OGExNmVjYjUyYmY4OTQyY2Q4MmNmMjU4NjM5
YWFhODc0NzhiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL0dVbmlxdWVQdHJHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1VuaXF1ZVB0ckdTdHJlYW1lci5oCkBAIC0zMiw2ICsz
Miw3IEBAIG5hbWVzcGFjZSBXVEYgewogCiBXVEZfREVGSU5FX0dQVFJfREVMRVRFUihHc3RTdHJ1
Y3R1cmUsIGdzdF9zdHJ1Y3R1cmVfZnJlZSkKIFdURl9ERUZJTkVfR1BUUl9ERUxFVEVSKEdzdElu
c3RhbGxQbHVnaW5zQ29udGV4dCwgZ3N0X2luc3RhbGxfcGx1Z2luc19jb250ZXh0X2ZyZWUpCitX
VEZfREVGSU5FX0dQVFJfREVMRVRFUihHc3RJdGVyYXRvciwgZ3N0X2l0ZXJhdG9yX2ZyZWUpCiBX
VEZfREVGSU5FX0dQVFJfREVMRVRFUihHc3RTZWdtZW50LCBnc3Rfc2VnbWVudF9mcmVlKQogV1RG
X0RFRklORV9HUFRSX0RFTEVURVIoR3N0Rmxvd0NvbWJpbmVyLCBnc3RfZmxvd19jb21iaW5lcl9m
cmVlKQogV1RGX0RFRklORV9HUFRSX0RFTEVURVIoR3N0Qnl0ZVJlYWRlciwgZ3N0X2J5dGVfcmVh
ZGVyX2ZyZWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyQmFzZS5jcHAKaW5kZXggMWI5ZTRhMmMxYjZlZDQxMjVkZmViOTc2NWMwNTRjNmQ1MGE4ZDY0
ZC4uM2UwMGRjYTg0M2FmMTljN2QyYzk5OTRiNzI2OGUxYjMxYmE3YThlNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lckJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcApAQCAtNTIs
NiArNTIsNyBAQAogI2luY2x1ZGUgIkdTdHJlYW1lckVNRVV0aWxpdGllcy5oIgogI2luY2x1ZGUg
IlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgIldlYktpdENsZWFyS2V5RGVjcnlwdG9yR1N0cmVh
bWVyLmgiCisjaW5jbHVkZSAiV2ViS2l0Q29tbW9uRW5jcnlwdGlvbkRlY3J5cHRvckdTdHJlYW1l
ci5oIgogI2VuZGlmCiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQpAQCAtMTM2NywyNCArMTM2
OCw1MCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmhhbmRsZVByb3Rl
Y3Rpb25FdmVudChHc3RFdmVudCogZXZlbnQpCiAgICAgaW5pdGlhbGl6YXRpb25EYXRhRW5jb3Vu
dGVyZWQoZXZlbnQpOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6
OnJlcG9ydFdhaXRpbmdGb3JLZXkoKQotewotICAgIEdTVF9UUkFDRSgid2FpdGluZyBmb3Iga2V5
Iik7Ci0gICAgbV9wbGF5ZXItPndhaXRpbmdGb3JLZXlDaGFuZ2VkKCk7Ci19Ci0KIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6c2V0V2FpdGluZ0ZvcktleShib29sIHdhaXRp
bmdGb3JLZXkpCiB7Ci0gICAgaWYgKHdhaXRpbmdGb3JLZXkgPT0gbV93YWl0aW5nRm9yS2V5KQor
ICAgIC8vIFdlIGJhaWwgb3V0IGlmIHZhbHVlcyBkaWQgbm90IGNoYW5nZSBvciBpZiB3ZSBhcmUg
cmVxdWVzdGVkIHRvIG5vdCB3YWl0IGFueW1vcmUgYnV0IHRoZXJlIGFyZSBzdGlsbCB3YWl0aW5n
IGRlY3J5cHRvcnMuCisgICAgR1NUX1RSQUNFKCJ3YWl0aW5nRm9yS2V5ICVzLCBtX3dhaXRpbmdG
b3JLZXkgJXMiLCBib29sRm9yUHJpbnRpbmcod2FpdGluZ0ZvcktleSksIGJvb2xGb3JQcmludGlu
ZyhtX3dhaXRpbmdGb3JLZXkpKTsKKyAgICBpZiAod2FpdGluZ0ZvcktleSA9PSBtX3dhaXRpbmdG
b3JLZXkgfHwgKCF3YWl0aW5nRm9yS2V5ICYmIHRoaXMtPndhaXRpbmdGb3JLZXkoKSkpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIG1fd2FpdGluZ0ZvcktleSA9IHdhaXRpbmdGb3JLZXk7Ci0gICAg
cmVwb3J0V2FpdGluZ0ZvcktleSgpOworICAgIEdTVF9ERUJVRygid2FpdGluZyBmb3Iga2V5IGNo
YW5nZWQgJXMiLCBib29sRm9yUHJpbnRpbmcobV93YWl0aW5nRm9yS2V5KSk7CisgICAgbV9wbGF5
ZXItPndhaXRpbmdGb3JLZXlDaGFuZ2VkKCk7CiB9CiAKIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyQmFzZTo6d2FpdGluZ0ZvcktleSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fd2Fp
dGluZ0ZvcktleTsKKyAgICBpZiAoIW1fcGlwZWxpbmUpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgIEdzdFN0YXRlIHN0YXRlOworICAgIGdzdF9lbGVtZW50X2dldF9zdGF0ZShtX3BpcGVs
aW5lLmdldCgpLCAmc3RhdGUsIG51bGxwdHIsIDApOworCisgICAgYm9vbCByZXN1bHQgPSBmYWxz
ZTsKKyAgICBpZiAoc3RhdGUgPj0gR1NUX1NUQVRFX1BBVVNFRCkgeworICAgICAgICBHUmVmUHRy
PEdzdFF1ZXJ5PiBxdWVyeSA9IGFkb3B0R1JlZihnc3RfcXVlcnlfbmV3X2N1c3RvbShHU1RfUVVF
UllfQ1VTVE9NLCBnc3Rfc3RydWN0dXJlX25ld19lbXB0eSgiYW55LWRlY3J5cHRvci13YWl0aW5n
LWZvci1rZXkiKSkpOworICAgICAgICByZXN1bHQgPSBnc3RfZWxlbWVudF9xdWVyeShtX3BpcGVs
aW5lLmdldCgpLCBxdWVyeS5nZXQoKSk7CisgICAgICAgIEdTVF9UUkFDRSgicXVlcnkgcmVzdWx0
ICVzLCBvbiAlcyIsIGJvb2xGb3JQcmludGluZyhyZXN1bHQpLCBnc3RfZWxlbWVudF9zdGF0ZV9n
ZXRfbmFtZShzdGF0ZSkpOworICAgIH0gZWxzZSBpZiAoc3RhdGUgPj0gR1NUX1NUQVRFX1JFQURZ
KSB7CisgICAgICAgIC8vIFJ1bm5pbmcgYSBxdWVyeSBpcyBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCBi
dXQgaXQgb25seSB3b3JrcyB3aGVuIHRoZSBwaXBlbGluZSBpcyBzZXQgdXAgYW5kIHJ1bm5pbmcs
IG90aGVyd2lzZSB3ZSBuZWVkIHRvIGluc3BlY3QgaXQgYW5kIGFzayB0aGUgZGVjcnlwdG9ycyBt
YW51YWxseS4KKyAgICAgICAgR1VuaXF1ZVB0cjxHc3RJdGVyYXRvcj4gaXRlcmF0b3IoZ3N0X2Jp
bl9pdGVyYXRlX3JlY3Vyc2UoR1NUX0JJTihtX3BpcGVsaW5lLmdldCgpKSkpOworICAgICAgICBH
c3RJdGVyYXRvclJlc3VsdCBpdGVyYXRvclJlc3VsdDsKKyAgICAgICAgZG8geworICAgICAgICAg
ICAgaXRlcmF0b3JSZXN1bHQgPSBnc3RfaXRlcmF0b3JfZm9sZChpdGVyYXRvci5nZXQoKSwgW10o
Y29uc3QgR1ZhbHVlICppdGVtLCBHVmFsdWUgKiwgZ3BvaW50ZXIpIC0+IGdib29sZWFuIHsKKyAg
ICAgICAgICAgICAgICBHc3RFbGVtZW50KiBlbGVtZW50ID0gR1NUX0VMRU1FTlQoZ192YWx1ZV9n
ZXRfb2JqZWN0KGl0ZW0pKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gIVdFQktJVF9JU19NRURJ
QV9DRU5DX0RFQ1JZUFQoZWxlbWVudCkgfHwgIXdlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRl
Y3J5cHRJc1dhaXRpbmdGb3JLZXkoV0VCS0lUX01FRElBX0NFTkNfREVDUllQVChlbGVtZW50KSk7
CisgICAgICAgICAgICB9LCBudWxscHRyLCBudWxscHRyKTsKKyAgICAgICAgICAgIGlmIChpdGVy
YXRvclJlc3VsdCA9PSBHU1RfSVRFUkFUT1JfUkVTWU5DKQorICAgICAgICAgICAgICAgIGdzdF9p
dGVyYXRvcl9yZXN5bmMoaXRlcmF0b3IuZ2V0KCkpOworICAgICAgICB9IHdoaWxlIChpdGVyYXRv
clJlc3VsdCA9PSBHU1RfSVRFUkFUT1JfUkVTWU5DKTsKKyAgICAgICAgaWYgKGl0ZXJhdG9yUmVz
dWx0ID09IEdTVF9JVEVSQVRPUl9FUlJPUikKKyAgICAgICAgICAgIEdTVF9XQVJOSU5HKCJpdGVy
YXRvciByZXR1cm5lZCBhbiBlcnJvciIpOworICAgICAgICByZXN1bHQgPSBpdGVyYXRvclJlc3Vs
dCA9PSBHU1RfSVRFUkFUT1JfT0s7CisgICAgICAgIEdTVF9UUkFDRSgiaXRlcmF0b3IgcmVzdWx0
ICVkLCB3YWl0aW5nICVzIiwgaXRlcmF0b3JSZXN1bHQsIGJvb2xGb3JQcmludGluZyhyZXN1bHQp
KTsKKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0OwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oCmluZGV4IDRmYTE1NWE4
MzM3Yzc5ZTIyN2I1OGVkZWFmZmZmM2Y4YzJiNDEzNTMuLjMxNjllM2NiMDk0Njk4ZmNkNjY1ZGE2
ODg1ZGU3OWUzZjFmM2Y1YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lckJhc2UuaApAQCAtMTUzLDggKzE1Myw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IGRpc3BhdGNoQ0RNSW5zdGFuY2UoKTsKICAgICB2b2lkIGluaXRpYWxpemF0aW9uRGF0YUVuY291
bnRlcmVkKEdzdEV2ZW50Kik7CiAgICAgdm9pZCBzZXRXYWl0aW5nRm9yS2V5KGJvb2wpOwotICAg
IGJvb2wgd2FpdGluZ0ZvcktleSgpIGNvbnN0OwotICAgIHZvaWQgcmVwb3J0V2FpdGluZ0Zvcktl
eSgpOworICAgIGJvb2wgd2FpdGluZ0ZvcktleSgpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCiAK
ICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c0tleVN5c3RlbShjb25zdCBTdHJpbmcmIGtleVN5c3Rl
bSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdENsZWFyS2V5RGVjcnlwdG9yR1N0
cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9l
bWUvV2ViS2l0Q2xlYXJLZXlEZWNyeXB0b3JHU3RyZWFtZXIuY3BwCmluZGV4IDhhZTNhNTYzNjMy
OWY0YmRiOGZiMjZkMWQ5ODhjMzEzN2NmZTdmY2IuLmE5MzdhMWQ1MjMwZjI4OTZkZTQ2MjI3MjNk
MGQxMGQ0MWMyMzU4MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0Q2xlYXJLZXlEZWNyeXB0b3JHU3RyZWFtZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0
Q2xlYXJLZXlEZWNyeXB0b3JHU3RyZWFtZXIuY3BwCkBAIC0yOTYsNyArMjk2LDcgQEAgc3RhdGlj
IGdib29sZWFuIHdlYktpdE1lZGlhQ2xlYXJLZXlEZWNyeXB0b3JEZWNyeXB0KFdlYktpdE1lZGlh
Q29tbW9uRW5jcnlwdGlvbkQKICAgICAgICAgR1NUX1RSQUNFX09CSkVDVChzZWxmLCAic3Vic2Ft
cGxlIGluZGV4ICV1IC0gJWh1IGJ5dGVzIGNsZWFyICh0b2RvPSV6dSkiLCBzYW1wbGVJbmRleCwg
bkJ5dGVzQ2xlYXIsIG1hcHBlZEJ1ZmZlci5zaXplKCkgLSBwb3NpdGlvbik7CiAgICAgICAgIHBv
c2l0aW9uICs9IG5CeXRlc0NsZWFyOwogICAgICAgICBpZiAobkJ5dGVzRW5jcnlwdGVkKSB7Ci0g
ICAgICAgICAgICBHU1RfVFJBQ0VfT0JKRUNUKHNlbGYsICJzdWJzYW1wbGUgaW5kZXggJXUgLSAl
aHUgYnl0ZXMgZW5jcnlwdGVkICh0b2RvPSV6dSkiLCBzYW1wbGVJbmRleCwgbkJ5dGVzRW5jcnlw
dGVkLCBtYXBwZWRCdWZmZXIuc2l6ZSgpIC0gcG9zaXRpb24pOworICAgICAgICAgICAgR1NUX1RS
QUNFX09CSkVDVChzZWxmLCAic3Vic2FtcGxlIGluZGV4ICV1IC0gJXUgYnl0ZXMgZW5jcnlwdGVk
ICh0b2RvPSV6dSkiLCBzYW1wbGVJbmRleCwgbkJ5dGVzRW5jcnlwdGVkLCBtYXBwZWRCdWZmZXIu
c2l6ZSgpIC0gcG9zaXRpb24pOwogICAgICAgICAgICAgY2lwaGVyRXJyb3IgPSBnY3J5X2NpcGhl
cl9kZWNyeXB0KHByaXYtPmhhbmRsZSwgbWFwcGVkQnVmZmVyLmRhdGEoKSArIHBvc2l0aW9uLCBu
Qnl0ZXNFbmNyeXB0ZWQsIDAsIDApOwogICAgICAgICAgICAgaWYgKGNpcGhlckVycm9yKSB7CiAg
ICAgICAgICAgICAgICAgR1NUX0VSUk9SX09CSkVDVChzZWxmLCAic3ViIHNhbXBsZSBpbmRleCAl
dSBkZWNyeXB0aW9uIGZhaWxlZDogJXMiLCBzYW1wbGVJbmRleCwgZ3BnX3N0cmVycm9yKGNpcGhl
ckVycm9yKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvZW1lL1dlYktpdENvbW1vbkVuY3J5cHRpb25EZWNyeXB0b3JHU3RyZWFtZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRD
b21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmNwcAppbmRleCAyOTdjYjVkNzk0NmRj
M2FkZDUzYmQ2NGI3YTFlNGY0YzdhOGU0MjY1Li41ZjkyZDkxYjNhMzJkMTQyNjBjMTcyODE1NGQy
MjU3NjVkNzcwYmY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvZW1lL1dlYktpdENvbW1vbkVuY3J5cHRpb25EZWNyeXB0b3JHU3RyZWFtZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUv
V2ViS2l0Q29tbW9uRW5jcnlwdGlvbkRlY3J5cHRvckdTdHJlYW1lci5jcHAKQEAgLTI3LDYgKzI3
LDcgQEAKIAogI2luY2x1ZGUgIkdTdHJlYW1lckNvbW1vbi5oIgogI2luY2x1ZGUgPHd0Zi9Db25k
aXRpb24uaD4KKyNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0uaD4KICNpbmNsdWRlIDx3dGYvUnVu
TG9vcC5oPgogCiAjZGVmaW5lIFdFQktJVF9NRURJQV9DRU5DX0RFQ1JZUFRfR0VUX1BSSVZBVEUo
b2JqKSAoR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKChvYmopLCBXRUJLSVRfVFlQRV9NRURJ
QV9DRU5DX0RFQ1JZUFQsIFdlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHRQcml2YXRl
KSkKQEAgLTQ0LDYgKzQ1LDcgQEAgc3RhdGljIHZvaWQgd2ViS2l0TWVkaWFDb21tb25FbmNyeXB0
aW9uRGVjcnlwdG9yRmluYWxpemUoR09iamVjdCopOwogc3RhdGljIEdzdENhcHMqIHdlYmtpdE1l
ZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHRUcmFuc2Zvcm1DYXBzKEdzdEJhc2VUcmFuc2Zvcm0q
LCBHc3RQYWREaXJlY3Rpb24sIEdzdENhcHMqLCBHc3RDYXBzKik7CiBzdGF0aWMgR3N0Rmxvd1Jl
dHVybiB3ZWJraXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0VHJhbnNmb3JtSW5QbGFjZShH
c3RCYXNlVHJhbnNmb3JtKiwgR3N0QnVmZmVyKik7CiBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0TWVk
aWFDb21tb25FbmNyeXB0aW9uRGVjcnlwdFNpbmtFdmVudEhhbmRsZXIoR3N0QmFzZVRyYW5zZm9y
bSosIEdzdEV2ZW50Kik7CitzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0TWVkaWFDb21tb25FbmNyeXB0
aW9uRGVjcnlwdG9yUXVlcnlIYW5kbGVyKEdzdEJhc2VUcmFuc2Zvcm0qLCBHc3RQYWREaXJlY3Rp
b24sIEdzdFF1ZXJ5Kik7CiAKIHN0YXRpYyBnYm9vbGVhbiB3ZWJLaXRNZWRpYUNvbW1vbkVuY3J5
cHRpb25EZWNyeXB0RGVmYXVsdFNldHVwQ2lwaGVyKFdlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlv
bkRlY3J5cHQqLCBHc3RCdWZmZXIqKTsKIHN0YXRpYyB2b2lkIHdlYktpdE1lZGlhQ29tbW9uRW5j
cnlwdGlvbkRlY3J5cHREZWZhdWx0UmVsZWFzZUNpcGhlcihXZWJLaXRNZWRpYUNvbW1vbkVuY3J5
cHRpb25EZWNyeXB0Kik7CkBAIC03MCw2ICs3Miw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9tZWRp
YV9jb21tb25fZW5jcnlwdGlvbl9kZWNyeXB0X2NsYXNzX2luaXQoV2ViS2l0TWVkaWFDb21tb25F
CiAgICAgYmFzZVRyYW5zZm9ybUNsYXNzLT50cmFuc2Zvcm1fY2FwcyA9IEdTVF9ERUJVR19GVU5D
UFRSKHdlYmtpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHRUcmFuc2Zvcm1DYXBzKTsKICAg
ICBiYXNlVHJhbnNmb3JtQ2xhc3MtPnRyYW5zZm9ybV9pcF9vbl9wYXNzdGhyb3VnaCA9IEZBTFNF
OwogICAgIGJhc2VUcmFuc2Zvcm1DbGFzcy0+c2lua19ldmVudCA9IEdTVF9ERUJVR19GVU5DUFRS
KHdlYmtpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHRTaW5rRXZlbnRIYW5kbGVyKTsKKyAg
ICBiYXNlVHJhbnNmb3JtQ2xhc3MtPnF1ZXJ5ID0gR1NUX0RFQlVHX0ZVTkNQVFIod2Via2l0TWVk
aWFDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yUXVlcnlIYW5kbGVyKTsKIAogICAgIGtsYXNzLT5z
ZXR1cENpcGhlciA9IEdTVF9ERUJVR19GVU5DUFRSKHdlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlv
bkRlY3J5cHREZWZhdWx0U2V0dXBDaXBoZXIpOwogICAgIGtsYXNzLT5yZWxlYXNlQ2lwaGVyID0g
R1NUX0RFQlVHX0ZVTkNQVFIod2ViS2l0TWVkaWFDb21tb25FbmNyeXB0aW9uRGVjcnlwdERlZmF1
bHRSZWxlYXNlQ2lwaGVyKTsKQEAgLTIyMCw2ICsyMjMsOCBAQCBzdGF0aWMgR3N0Rmxvd1JldHVy
biB3ZWJraXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0VHJhbnNmb3JtSW5QbGFjZShHc3RC
YXNlVAogICAgICAgICAgICAgcmV0dXJuIEdTVF9GTE9XX05PVF9TVVBQT1JURUQ7CiAgICAgICAg
IH0KICAgICAgICAgR1NUX0RFQlVHX09CSkVDVChzZWxmLCAia2V5IHJlY2VpdmVkLCBjb250aW51
aW5nIik7CisgICAgICAgIHByaXYtPndhaXRpbmdGb3JLZXkgPSBmYWxzZTsKKyAgICAgICAgZ3N0
X2VsZW1lbnRfcG9zdF9tZXNzYWdlKEdTVF9FTEVNRU5UKHNlbGYpLCBnc3RfbWVzc2FnZV9uZXdf
ZWxlbWVudChHU1RfT0JKRUNUKHNlbGYpLCBnc3Rfc3RydWN0dXJlX25ld19lbXB0eSgiZHJtLWtl
eS1yZWNlaXZlZCIpKSk7CiAgICAgfQogCiAgICAgR3N0UHJvdGVjdGlvbk1ldGEqIHByb3RlY3Rp
b25NZXRhID0gcmVpbnRlcnByZXRfY2FzdDxHc3RQcm90ZWN0aW9uTWV0YSo+KGdzdF9idWZmZXJf
Z2V0X3Byb3RlY3Rpb25fbWV0YShidWZmZXIpKTsKQEAgLTMxNSwxMiArMzIwLDcgQEAgc3RhdGlj
IGdib29sZWFuIHdlYmtpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHRTaW5rRXZlbnRIYW5k
bGVyKEdzdEJhc2VUcmFuc2YKICAgICAgICAgaWYgKGtsYXNzLT5oYW5kbGVLZXlSZXNwb25zZShz
ZWxmLCBldmVudCkpIHsKICAgICAgICAgICAgIEdTVF9ERUJVR19PQkpFQ1Qoc2VsZiwgImtleSBy
ZWNlaXZlZCIpOwogICAgICAgICAgICAgcHJpdi0+a2V5UmVjZWl2ZWQgPSB0cnVlOwotICAgICAg
ICAgICAgcHJpdi0+d2FpdGluZ0ZvcktleSA9IGZhbHNlOwotICAgICAgICAgICAgZ3N0X2VsZW1l
bnRfcG9zdF9tZXNzYWdlKEdTVF9FTEVNRU5UKHNlbGYpLCBnc3RfbWVzc2FnZV9uZXdfZWxlbWVu
dChHU1RfT0JKRUNUKHNlbGYpLCBnc3Rfc3RydWN0dXJlX25ld19lbXB0eSgiZHJtLWtleS1yZWNl
aXZlZCIpKSk7CiAgICAgICAgICAgICBwcml2LT5jb25kaXRpb24ubm90aWZ5T25lKCk7Ci0gICAg
ICAgIH0gZWxzZSBpZiAocHJpdi0+d2FpdGluZ0ZvcktleSkgewotICAgICAgICAgICAgR1NUX0RF
QlVHX09CSkVDVChzZWxmLCAic3RpbGwgd2FpdGluZyBmb3Iga2V5LCByZXBvc3RpbmciKTsKLSAg
ICAgICAgICAgIGdzdF9lbGVtZW50X3Bvc3RfbWVzc2FnZShHU1RfRUxFTUVOVChzZWxmKSwgZ3N0
X21lc3NhZ2VfbmV3X2VsZW1lbnQoR1NUX09CSkVDVChzZWxmKSwgZ3N0X3N0cnVjdHVyZV9uZXdf
ZW1wdHkoImRybS13YWl0aW5nLWZvci1rZXkiKSkpOwogICAgICAgICB9CiAKICAgICAgICAgZ3N0
X2V2ZW50X3VucmVmKGV2ZW50KTsKQEAgLTMzNSw2ICszMzUsMTYgQEAgc3RhdGljIGdib29sZWFu
IHdlYmtpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHRTaW5rRXZlbnRIYW5kbGVyKEdzdEJh
c2VUcmFuc2YKICAgICByZXR1cm4gcmVzdWx0OwogfQogCitzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0
TWVkaWFDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yUXVlcnlIYW5kbGVyKEdzdEJhc2VUcmFuc2Zv
cm0qIHRyYW5zLCBHc3RQYWREaXJlY3Rpb24gZGlyZWN0aW9uLCBHc3RRdWVyeSogcXVlcnkpCit7
CisgICAgaWYgKGdzdF9zdHJ1Y3R1cmVfaGFzX25hbWUoZ3N0X3F1ZXJ5X2dldF9zdHJ1Y3R1cmUo
cXVlcnkpLCAiYW55LWRlY3J5cHRvci13YWl0aW5nLWZvci1rZXkiKSkgeworICAgICAgICBXZWJL
aXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0UHJpdmF0ZSogcHJpdiA9IFdFQktJVF9NRURJ
QV9DRU5DX0RFQ1JZUFRfR0VUX1BSSVZBVEUodHJhbnMpOworICAgICAgICBHU1RfVFJBQ0VfT0JK
RUNUKHRyYW5zLCAiYW55LWRlY3J5cHRvci13YWl0aW5nLWZvci1rZXkgcXVlcnksIHdhaXRpbmdm
b3JrZXkgJXMiLCBXVEY6OmJvb2xGb3JQcmludGluZyhwcml2LT53YWl0aW5nRm9yS2V5KSk7Cisg
ICAgICAgIHJldHVybiBwcml2LT53YWl0aW5nRm9yS2V5OworICAgIH0KKyAgICByZXR1cm4gR1NU
X0JBU0VfVFJBTlNGT1JNX0NMQVNTKHBhcmVudF9jbGFzcyktPnF1ZXJ5KHRyYW5zLCBkaXJlY3Rp
b24sIHF1ZXJ5KTsKK30KKwogc3RhdGljIEdzdFN0YXRlQ2hhbmdlUmV0dXJuIHdlYktpdE1lZGlh
Q29tbW9uRW5jcnlwdGlvbkRlY3J5cHRvckNoYW5nZVN0YXRlKEdzdEVsZW1lbnQqIGVsZW1lbnQs
IEdzdFN0YXRlQ2hhbmdlIHRyYW5zaXRpb24pCiB7CiAgICAgV2ViS2l0TWVkaWFDb21tb25FbmNy
eXB0aW9uRGVjcnlwdCogc2VsZiA9IFdFQktJVF9NRURJQV9DRU5DX0RFQ1JZUFQoZWxlbWVudCk7
CkBAIC0zNjcsNCArMzc3LDExIEBAIHN0YXRpYyB2b2lkIHdlYktpdE1lZGlhQ29tbW9uRW5jcnlw
dGlvbkRlY3J5cHREZWZhdWx0UmVsZWFzZUNpcGhlcihXZWJLaXRNZWRpYUNvCiB7CiB9CiAKK2Jv
b2wgd2ViS2l0TWVkaWFDb21tb25FbmNyeXB0aW9uRGVjcnlwdElzV2FpdGluZ0ZvcktleShXZWJL
aXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0KiBzZWxmKQoreworICAgIFdlYktpdE1lZGlh
Q29tbW9uRW5jcnlwdGlvbkRlY3J5cHRQcml2YXRlKiBwcml2ID0gV0VCS0lUX01FRElBX0NFTkNf
REVDUllQVF9HRVRfUFJJVkFURShzZWxmKTsKKyAgICBMb2NrSG9sZGVyIGxvY2tlcihwcml2LT5t
dXRleCk7CisgICAgcmV0dXJuIHByaXYtPndhaXRpbmdGb3JLZXk7Cit9CisKICNlbmRpZiAvLyBF
TkFCTEUoRU5DUllQVEVEX01FRElBKSAmJiBVU0UoR1NUUkVBTUVSKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRDb21tb25F
bmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdENvbW1vbkVuY3J5cHRpb25EZWNyeXB0b3JHU3Ry
ZWFtZXIuaAppbmRleCAyNjc3OTFhZTNlYjE2Y2QzN2M3ODU5ZWQ2ZGZjN2MyNGFhNDhjYjFjLi4w
ZjkyMjJkM2UxZGY3MTg0OTc3NDFmYWFlYzVhMGMzNTU0MDk1NjEwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdENvbW1vbkVu
Y3J5cHRpb25EZWNyeXB0b3JHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdENvbW1vbkVuY3J5cHRpb25EZWNyeXB0b3JH
U3RyZWFtZXIuaApAQCAtNTksNiArNTksOCBAQCBzdHJ1Y3QgX1dlYktpdE1lZGlhQ29tbW9uRW5j
cnlwdGlvbkRlY3J5cHRDbGFzcyB7CiAgICAgdm9pZCAoKnJlbGVhc2VDaXBoZXIpKFdlYktpdE1l
ZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHQqKTsKIH07CiAKK2Jvb2wgd2ViS2l0TWVkaWFDb21t
b25FbmNyeXB0aW9uRGVjcnlwdElzV2FpdGluZ0ZvcktleShXZWJLaXRNZWRpYUNvbW1vbkVuY3J5
cHRpb25EZWNyeXB0Kik7CisKIEdfRU5EX0RFQ0xTCiAKICNlbmRpZiAvLyBFTkFCTEUoRU5DUllQ
VEVEX01FRElBKSAmJiBVU0UoR1NUUkVBTUVSKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354541</attachid>
            <date>2018-11-12 03:25:31 -0800</date>
            <delta_ts>2018-11-12 03:32:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191459-20181112122530.patch</filename>
            <type>text/plain</type>
            <size>13370</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MDcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzg4M2Q4ZGVmMmIyODk3
ZGNiNWY3ZjkzMzlmNTdhM2Y1YzExYjE3Yi4uNzY5NzM1MjUyM2ZlMzRhYTI3ZjZlZjFiYTViMTQ5
MmE1YTBmZDlmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE4LTExLTEyICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dT
dHJlYW1lcl1bRU1FXSB3YWl0aW5nZm9ya2V5IGV2ZW50IHNob3VsZCBjb25zaWRlciBkZWNyeXB0
b3JzJyB3YWl0aW5nIHN0YXR1cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTkxNDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhlIG5ldyBjcm9zcyBwbGF0Zm9ybSBhcmNoaXRlY3R1cmUgdG8gcmVwb3J0
IHdhaXRpbmdmb3JrZXkgYW5kCisgICAgICAgIHJlY292ZXIgZnJvbSBpdCByZXF1aXJlcyBhIG1v
cmUgYWNjdXJhdGUga25vd2xlZGdlIG9mIHdoYXQgaXMKKyAgICAgICAgZ29pbmcgb24gd2l0aCB0
aGUgZGVjcnlwdG9ycyBiZWNhdXNlIGV2ZW50cyBhcmUgcmVwb3J0ZWQgb25seSBvbmNlCisgICAg
ICAgIChwZXIga2V5IGV4Y2hhbmdlIHJ1bikgYW5kIGNyb3NzcGxhdGZvcm0gb25seSBjb250aW51
ZXMgaWYgd2UgYXJlCisgICAgICAgIGFjdHVhbGx5IHJlYWR5IHRvIGNvbnRpbnVlLCBtZWFuaW5n
IHRoYXQgbm8gZGVjcnlwdG9ycyBhcmUKKyAgICAgICAgd2FpdGluZy4KKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HVW5pcXVlUHRyR1N0cmVhbWVyLmg6IEFkZGVkCisg
ICAgICAgIEdzdEl0ZXJhdG9yIGRlbGV0ZXIuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6c2V0V2FpdGluZ0Zvcktl
eSk6IEJhaWwKKyAgICAgICAgb3V0IGlmIHdlIGFyZSByZXF1ZXN0ZWQgdG8gbm90IHdhaXQgYW55
bW9yZSBidXQgdGhlcmUgYXJlIHN0aWxsCisgICAgICAgIHdhaXRpbmcgZGVjcnlwdG9ycy4KKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OndhaXRpbmdG
b3JLZXkgY29uc3QpOgorICAgICAgICBRdWVyeSB0aGUgcGlwZWxpbmUsIGp1c3QgYSBxdWVyeSBh
ZnRlciBwaXBlbGluZSBpcyBidWlsdCBhbmQKKyAgICAgICAgbWFudWFsIGluc3BlY3Rpb24gZHVy
aW5nIGJ1aWxkLiBUaGUgcXVlcnkgaXMgb3B0aW1hbCBidXQgc29tZXRpbWVzCisgICAgICAgIHdl
IGNhbiBnZXQgdGhpcyByZXF1ZXN0IHdoZW4gdGhlIHBpcGVsaW5lIGlzIHVuZGVyIGNvbnN0cnVj
dGlvbiBzbworICAgICAgICBxdWVyaWVzIGRvIG5vdCBhcnJpdmUgYXQgdGhlIGRlY3J5cHRvcnMg
YW5kIHdlIGhhdmUgdG8gZGVsaXZlciBpdAorICAgICAgICBieSBvdXJzZWx2ZXMuCisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpyZXBvcnRXYWl0aW5n
Rm9yS2V5OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlOjpyZXBvcnRXYWl0aW5nRm9yS2V5OgorICAgICAgICBEZWxldGVk
IGJlY2F1c2UgaXQgaXMgbm93IGlubGluZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL2VtZS9XZWJLaXRDbGVhcktleURlY3J5cHRvckdTdHJlYW1lci5jcHA6CisgICAg
ICAgICh3ZWJLaXRNZWRpYUNsZWFyS2V5RGVjcnlwdG9yRGVjcnlwdCk6IEZpeGVkIHNtYWxsIGNv
bXBpbGVyIHdhcm5pbmcuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2Vt
ZS9XZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmNwcDoKKyAgICAgICAg
KHdlYmtpdF9tZWRpYV9jb21tb25fZW5jcnlwdGlvbl9kZWNyeXB0X2NsYXNzX2luaXQpOiBPdmVy
cmlkZQorICAgICAgICBxdWVyeSBtZXRob2QuCisgICAgICAgICh3ZWJraXRNZWRpYUNvbW1vbkVu
Y3J5cHRpb25EZWNyeXB0VHJhbnNmb3JtSW5QbGFjZSk6IFdoZW4gdGhlCisgICAgICAgIGRlY3J5
cHRvciBpcyBnb2luZyB0byBibG9jayB0byB3YWl0LCByZXBvcnQgYmVmb3JlLiBXaGVuIHRoZQor
ICAgICAgICBkZWNyeXB0b3IgcmVjZWl2ZXMgdGhlIGtleSwgcmVwb3J0IGl0IGdvdCBpdC4KKyAg
ICAgICAgKHdlYmtpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHRTaW5rRXZlbnRIYW5kbGVy
KTogRG8gbm90CisgICAgICAgIGhhbmRsZSB3YWl0aW5nZm9ya2V5IGhlcmUuCisgICAgICAgICh3
ZWJraXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0b3JRdWVyeUhhbmRsZXIpOiBSZXBvcnQg
aWYgdGhlCisgICAgICAgIGRlY3J5cHRvciBpcyB3YWl0aW5nLgorCiAyMDE4LTExLTEwICBSeWFu
IEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJv
bGxpbmcgb3V0IHIyMzgwNjUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvR1VuaXF1ZVB0ckdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dVbmlxdWVQdHJHU3RyZWFtZXIuaAppbmRleCAx
YWI4MGI3MmYxYTk4MTc3YjdhZThjZTc2ZTg0YmUzMTExMzJkZjk3Li4xODU4YTE2ZWNiNTJiZjg5
NDJjZDgyY2YyNTg2MzlhYWE4NzQ3OGIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1VuaXF1ZVB0ckdTdHJlYW1lci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HVW5pcXVlUHRyR1N0cmVhbWVy
LmgKQEAgLTMyLDYgKzMyLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKIFdURl9ERUZJTkVfR1BUUl9E
RUxFVEVSKEdzdFN0cnVjdHVyZSwgZ3N0X3N0cnVjdHVyZV9mcmVlKQogV1RGX0RFRklORV9HUFRS
X0RFTEVURVIoR3N0SW5zdGFsbFBsdWdpbnNDb250ZXh0LCBnc3RfaW5zdGFsbF9wbHVnaW5zX2Nv
bnRleHRfZnJlZSkKK1dURl9ERUZJTkVfR1BUUl9ERUxFVEVSKEdzdEl0ZXJhdG9yLCBnc3RfaXRl
cmF0b3JfZnJlZSkKIFdURl9ERUZJTkVfR1BUUl9ERUxFVEVSKEdzdFNlZ21lbnQsIGdzdF9zZWdt
ZW50X2ZyZWUpCiBXVEZfREVGSU5FX0dQVFJfREVMRVRFUihHc3RGbG93Q29tYmluZXIsIGdzdF9m
bG93X2NvbWJpbmVyX2ZyZWUpCiBXVEZfREVGSU5FX0dQVFJfREVMRVRFUihHc3RCeXRlUmVhZGVy
LCBnc3RfYnl0ZV9yZWFkZXJfZnJlZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcAppbmRleCAwN2QyOTc3N2ZiMjQ2NzQ5NGUwMTc4ZWIz
ZjRkMmYyYTg4ZjgzMTU3Li5kYzQ2NDJjZDdlYmRlOTYzNWFmOGE1MTI5ODhiNjc0ZDdlYzZhYTgy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2UuY3BwCkBAIC01MCw2ICs1MCw3IEBACiAjaW5jbHVkZSAiQ0RNSW5zdGFuY2UuaCIKICNpbmNs
dWRlICJHU3RyZWFtZXJFTUVVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIK
KyNpbmNsdWRlICJXZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmgiCiAj
ZW5kaWYKIAogI2lmIFVTRShHU1RSRUFNRVJfR0wpCkBAIC0xMzM1LDI0ICsxMzM2LDUxIEBAIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6aGFuZGxlUHJvdGVjdGlvbkV2ZW50
KEdzdEV2ZW50KiBldmVudCkKICAgICBpbml0aWFsaXphdGlvbkRhdGFFbmNvdW50ZXJlZChldmVu
dCk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6cmVwb3J0V2Fp
dGluZ0ZvcktleSgpCi17Ci0gICAgR1NUX1RSQUNFKCJ3YWl0aW5nIGZvciBrZXkiKTsKLSAgICBt
X3BsYXllci0+d2FpdGluZ0ZvcktleUNoYW5nZWQoKTsKLX0KLQogdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlOjpzZXRXYWl0aW5nRm9yS2V5KGJvb2wgd2FpdGluZ0ZvcktleSkK
IHsKLSAgICBpZiAod2FpdGluZ0ZvcktleSA9PSBtX3dhaXRpbmdGb3JLZXkpCisgICAgLy8gV2Ug
YmFpbCBvdXQgaWYgdmFsdWVzIGRpZCBub3QgY2hhbmdlIG9yIGlmIHdlIGFyZSByZXF1ZXN0ZWQg
dG8gbm90IHdhaXQgYW55bW9yZSBidXQgdGhlcmUgYXJlIHN0aWxsIHdhaXRpbmcgZGVjcnlwdG9y
cy4KKyAgICBHU1RfVFJBQ0UoIndhaXRpbmdGb3JLZXkgJXMsIG1fd2FpdGluZ0ZvcktleSAlcyIs
IGJvb2xGb3JQcmludGluZyh3YWl0aW5nRm9yS2V5KSwgYm9vbEZvclByaW50aW5nKG1fd2FpdGlu
Z0ZvcktleSkpOworICAgIGlmICh3YWl0aW5nRm9yS2V5ID09IG1fd2FpdGluZ0ZvcktleSB8fCAo
IXdhaXRpbmdGb3JLZXkgJiYgdGhpcy0+d2FpdGluZ0ZvcktleSgpKSkKICAgICAgICAgcmV0dXJu
OwogCiAgICAgbV93YWl0aW5nRm9yS2V5ID0gd2FpdGluZ0ZvcktleTsKLSAgICByZXBvcnRXYWl0
aW5nRm9yS2V5KCk7CisgICAgR1NUX0RFQlVHKCJ3YWl0aW5nIGZvciBrZXkgY2hhbmdlZCAlcyIs
IGJvb2xGb3JQcmludGluZyhtX3dhaXRpbmdGb3JLZXkpKTsKKyAgICBtX3BsYXllci0+d2FpdGlu
Z0ZvcktleUNoYW5nZWQoKTsKIH0KIAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJC
YXNlOjp3YWl0aW5nRm9yS2V5KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV93YWl0aW5nRm9yS2V5
OworICAgIGlmICghbV9waXBlbGluZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgR3N0
U3RhdGUgc3RhdGU7CisgICAgZ3N0X2VsZW1lbnRfZ2V0X3N0YXRlKG1fcGlwZWxpbmUuZ2V0KCks
ICZzdGF0ZSwgbnVsbHB0ciwgMCk7CisKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIEdS
ZWZQdHI8R3N0UXVlcnk+IHF1ZXJ5ID0gYWRvcHRHUmVmKGdzdF9xdWVyeV9uZXdfY3VzdG9tKEdT
VF9RVUVSWV9DVVNUT00sIGdzdF9zdHJ1Y3R1cmVfbmV3X2VtcHR5KCJhbnktZGVjcnlwdG9yLXdh
aXRpbmctZm9yLWtleSIpKSk7CisgICAgaWYgKHN0YXRlID49IEdTVF9TVEFURV9QQVVTRUQpIHsK
KyAgICAgICAgcmVzdWx0ID0gZ3N0X2VsZW1lbnRfcXVlcnkobV9waXBlbGluZS5nZXQoKSwgcXVl
cnkuZ2V0KCkpOworICAgICAgICBHU1RfVFJBQ0UoInF1ZXJ5IHJlc3VsdCAlcywgb24gJXMiLCBi
b29sRm9yUHJpbnRpbmcocmVzdWx0KSwgZ3N0X2VsZW1lbnRfc3RhdGVfZ2V0X25hbWUoc3RhdGUp
KTsKKyAgICB9IGVsc2UgaWYgKHN0YXRlID49IEdTVF9TVEFURV9SRUFEWSkgeworICAgICAgICAv
LyBSdW5uaW5nIGEgcXVlcnkgaW4gdGhlIHBpcGVsaW5lIGlzIGVhc2llciBidXQgaXQgb25seSB3
b3JrcyB3aGVuIHRoZSBwaXBlbGluZSBpcyBzZXQgdXAgYW5kIHJ1bm5pbmcsIG90aGVyd2lzZSB3
ZSBuZWVkIHRvIGluc3BlY3QgaXQgYW5kIGFzayB0aGUgZGVjcnlwdG9ycyBkaXJlY3RseS4KKyAg
ICAgICAgR1VuaXF1ZVB0cjxHc3RJdGVyYXRvcj4gaXRlcmF0b3IoZ3N0X2Jpbl9pdGVyYXRlX3Jl
Y3Vyc2UoR1NUX0JJTihtX3BpcGVsaW5lLmdldCgpKSkpOworICAgICAgICBHc3RJdGVyYXRvclJl
c3VsdCBpdGVyYXRvclJlc3VsdDsKKyAgICAgICAgZG8geworICAgICAgICAgICAgaXRlcmF0b3JS
ZXN1bHQgPSBnc3RfaXRlcmF0b3JfZm9sZChpdGVyYXRvci5nZXQoKSwgW10oY29uc3QgR1ZhbHVl
ICppdGVtLCBHVmFsdWUgKiwgZ3BvaW50ZXIgZGF0YSkgLT4gZ2Jvb2xlYW4geworICAgICAgICAg
ICAgICAgIEdzdEVsZW1lbnQqIGVsZW1lbnQgPSBHU1RfRUxFTUVOVChnX3ZhbHVlX2dldF9vYmpl
Y3QoaXRlbSkpOworICAgICAgICAgICAgICAgIEdzdFF1ZXJ5KiBxdWVyeSA9IEdTVF9RVUVSWShk
YXRhKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gIVdFQktJVF9JU19NRURJQV9DRU5DX0RFQ1JZ
UFQoZWxlbWVudCkgfHwgIWdzdF9lbGVtZW50X3F1ZXJ5KGVsZW1lbnQsIHF1ZXJ5KTsKKyAgICAg
ICAgICAgIH0sIG51bGxwdHIsIHF1ZXJ5LmdldCgpKTsKKyAgICAgICAgICAgIGlmIChpdGVyYXRv
clJlc3VsdCA9PSBHU1RfSVRFUkFUT1JfUkVTWU5DKQorICAgICAgICAgICAgICAgIGdzdF9pdGVy
YXRvcl9yZXN5bmMoaXRlcmF0b3IuZ2V0KCkpOworICAgICAgICB9IHdoaWxlIChpdGVyYXRvclJl
c3VsdCA9PSBHU1RfSVRFUkFUT1JfUkVTWU5DKTsKKyAgICAgICAgaWYgKGl0ZXJhdG9yUmVzdWx0
ID09IEdTVF9JVEVSQVRPUl9FUlJPUikKKyAgICAgICAgICAgIEdTVF9XQVJOSU5HKCJpdGVyYXRv
ciByZXR1cm5lZCBhbiBlcnJvciIpOworICAgICAgICByZXN1bHQgPSBpdGVyYXRvclJlc3VsdCA9
PSBHU1RfSVRFUkFUT1JfT0s7CisgICAgICAgIEdTVF9UUkFDRSgiaXRlcmF0b3IgcmVzdWx0ICVk
LCB3YWl0aW5nICVzIiwgaXRlcmF0b3JSZXN1bHQsIGJvb2xGb3JQcmludGluZyhyZXN1bHQpKTsK
KyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0OwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oCmluZGV4IDcyNjdhZjE4Y2U2
NDQ3MTgzZDk3MmRlNTgzMDQ3OTQxOWY3ODRjMjMuLjRjYTJjOWQyNmE2NGVlMzhkNWY5MmEyMGJj
ZjAzNGFlNjY5N2IyODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lckJhc2UuaApAQCAtMTU0LDggKzE1NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRp
c3BhdGNoQ0RNSW5zdGFuY2UoKTsKICAgICB2b2lkIGluaXRpYWxpemF0aW9uRGF0YUVuY291bnRl
cmVkKEdzdEV2ZW50Kik7CiAgICAgdm9pZCBzZXRXYWl0aW5nRm9yS2V5KGJvb2wpOwotICAgIGJv
b2wgd2FpdGluZ0ZvcktleSgpIGNvbnN0OwotICAgIHZvaWQgcmVwb3J0V2FpdGluZ0ZvcktleSgp
OworICAgIGJvb2wgd2FpdGluZ0ZvcktleSgpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCiAKICAg
ICBzdGF0aWMgYm9vbCBzdXBwb3J0c0tleVN5c3RlbShjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwg
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdENsZWFyS2V5RGVjcnlwdG9yR1N0cmVh
bWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUv
V2ViS2l0Q2xlYXJLZXlEZWNyeXB0b3JHU3RyZWFtZXIuY3BwCmluZGV4IDMzZjYwODlhNTQ5NjBk
MjI1OWE5ZDAwNzM0YTUzNDY0NjUwMjk5YWQuLmY5NDFlNTI4ZjQ3Y2JkMDY5NTc5YmM1ZTYzMzU4
MWU2YjYxMGM3MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9lbWUvV2ViS2l0Q2xlYXJLZXlEZWNyeXB0b3JHU3RyZWFtZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0Q2xl
YXJLZXlEZWNyeXB0b3JHU3RyZWFtZXIuY3BwCkBAIC0yODMsNyArMjgzLDcgQEAgc3RhdGljIGdi
b29sZWFuIHdlYktpdE1lZGlhQ2xlYXJLZXlEZWNyeXB0b3JEZWNyeXB0KFdlYktpdE1lZGlhQ29t
bW9uRW5jcnlwdGlvbkQKICAgICAgICAgR1NUX1RSQUNFX09CSkVDVChzZWxmLCAic3Vic2FtcGxl
IGluZGV4ICV1IC0gJWh1IGJ5dGVzIGNsZWFyICh0b2RvPSV6dSkiLCBzYW1wbGVJbmRleCwgbkJ5
dGVzQ2xlYXIsIG1hcHBlZEJ1ZmZlci5zaXplKCkgLSBwb3NpdGlvbik7CiAgICAgICAgIHBvc2l0
aW9uICs9IG5CeXRlc0NsZWFyOwogICAgICAgICBpZiAobkJ5dGVzRW5jcnlwdGVkKSB7Ci0gICAg
ICAgICAgICBHU1RfVFJBQ0VfT0JKRUNUKHNlbGYsICJzdWJzYW1wbGUgaW5kZXggJXUgLSAlaHUg
Ynl0ZXMgZW5jcnlwdGVkICh0b2RvPSV6dSkiLCBzYW1wbGVJbmRleCwgbkJ5dGVzRW5jcnlwdGVk
LCBtYXBwZWRCdWZmZXIuc2l6ZSgpIC0gcG9zaXRpb24pOworICAgICAgICAgICAgR1NUX1RSQUNF
X09CSkVDVChzZWxmLCAic3Vic2FtcGxlIGluZGV4ICV1IC0gJXUgYnl0ZXMgZW5jcnlwdGVkICh0
b2RvPSV6dSkiLCBzYW1wbGVJbmRleCwgbkJ5dGVzRW5jcnlwdGVkLCBtYXBwZWRCdWZmZXIuc2l6
ZSgpIC0gcG9zaXRpb24pOwogICAgICAgICAgICAgY2lwaGVyRXJyb3IgPSBnY3J5X2NpcGhlcl9k
ZWNyeXB0KHByaXYtPmhhbmRsZSwgbWFwcGVkQnVmZmVyLmRhdGEoKSArIHBvc2l0aW9uLCBuQnl0
ZXNFbmNyeXB0ZWQsIDAsIDApOwogICAgICAgICAgICAgaWYgKGNpcGhlckVycm9yKSB7CiAgICAg
ICAgICAgICAgICAgR1NUX0VSUk9SX09CSkVDVChzZWxmLCAic3ViIHNhbXBsZSBpbmRleCAldSBk
ZWNyeXB0aW9uIGZhaWxlZDogJXMiLCBzYW1wbGVJbmRleCwgZ3BnX3N0cmVycm9yKGNpcGhlckVy
cm9yKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvZW1lL1dlYktpdENvbW1vbkVuY3J5cHRpb25EZWNyeXB0b3JHU3RyZWFtZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRDb21t
b25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmNwcAppbmRleCBkZDI2MTlmMWE1YTI0NzQ5
YWVlYmJiNzIzYWU0OTZkOGRjZThiYTJlLi5hNmE2MmE5YTI3M2I4NTNkOTExMTc4YWEyYjUxZDY5
NDBkNjU3OWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvZW1lL1dlYktpdENvbW1vbkVuY3J5cHRpb25EZWNyeXB0b3JHU3RyZWFtZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2Vi
S2l0Q29tbW9uRW5jcnlwdGlvbkRlY3J5cHRvckdTdHJlYW1lci5jcHAKQEAgLTI3LDYgKzI3LDcg
QEAKIAogI2luY2x1ZGUgIkdTdHJlYW1lckNvbW1vbi5oIgogI2luY2x1ZGUgPHd0Zi9Db25kaXRp
b24uaD4KKyNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0uaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9v
cC5oPgogCiAjZGVmaW5lIFdFQktJVF9NRURJQV9DRU5DX0RFQ1JZUFRfR0VUX1BSSVZBVEUob2Jq
KSAoR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKChvYmopLCBXRUJLSVRfVFlQRV9NRURJQV9D
RU5DX0RFQ1JZUFQsIFdlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHRQcml2YXRlKSkK
QEAgLTQ0LDYgKzQ1LDcgQEAgc3RhdGljIHZvaWQgd2ViS2l0TWVkaWFDb21tb25FbmNyeXB0aW9u
RGVjcnlwdG9yRmluYWxpemUoR09iamVjdCopOwogc3RhdGljIEdzdENhcHMqIHdlYmtpdE1lZGlh
Q29tbW9uRW5jcnlwdGlvbkRlY3J5cHRUcmFuc2Zvcm1DYXBzKEdzdEJhc2VUcmFuc2Zvcm0qLCBH
c3RQYWREaXJlY3Rpb24sIEdzdENhcHMqLCBHc3RDYXBzKik7CiBzdGF0aWMgR3N0Rmxvd1JldHVy
biB3ZWJraXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0VHJhbnNmb3JtSW5QbGFjZShHc3RC
YXNlVHJhbnNmb3JtKiwgR3N0QnVmZmVyKik7CiBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0TWVkaWFD
b21tb25FbmNyeXB0aW9uRGVjcnlwdFNpbmtFdmVudEhhbmRsZXIoR3N0QmFzZVRyYW5zZm9ybSos
IEdzdEV2ZW50Kik7CitzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0TWVkaWFDb21tb25FbmNyeXB0aW9u
RGVjcnlwdG9yUXVlcnlIYW5kbGVyKEdzdEJhc2VUcmFuc2Zvcm0qLCBHc3RQYWREaXJlY3Rpb24s
IEdzdFF1ZXJ5Kik7CiAKIAogR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyh3ZWJraXRfbWVkaWFf
Y29tbW9uX2VuY3J5cHRpb25fZGVjcnlwdF9kZWJ1Z19jYXRlZ29yeSk7CkBAIC02OCw2ICs3MCw3
IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9tZWRpYV9jb21tb25fZW5jcnlwdGlvbl9kZWNyeXB0X2Ns
YXNzX2luaXQoV2ViS2l0TWVkaWFDb21tb25FCiAgICAgYmFzZVRyYW5zZm9ybUNsYXNzLT50cmFu
c2Zvcm1fY2FwcyA9IEdTVF9ERUJVR19GVU5DUFRSKHdlYmtpdE1lZGlhQ29tbW9uRW5jcnlwdGlv
bkRlY3J5cHRUcmFuc2Zvcm1DYXBzKTsKICAgICBiYXNlVHJhbnNmb3JtQ2xhc3MtPnRyYW5zZm9y
bV9pcF9vbl9wYXNzdGhyb3VnaCA9IEZBTFNFOwogICAgIGJhc2VUcmFuc2Zvcm1DbGFzcy0+c2lu
a19ldmVudCA9IEdTVF9ERUJVR19GVU5DUFRSKHdlYmtpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRl
Y3J5cHRTaW5rRXZlbnRIYW5kbGVyKTsKKyAgICBiYXNlVHJhbnNmb3JtQ2xhc3MtPnF1ZXJ5ID0g
R1NUX0RFQlVHX0ZVTkNQVFIod2Via2l0TWVkaWFDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yUXVl
cnlIYW5kbGVyKTsKIAogICAgIGdfdHlwZV9jbGFzc19hZGRfcHJpdmF0ZShrbGFzcywgc2l6ZW9m
KFdlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHRQcml2YXRlKSk7CiB9CkBAIC0yMTUs
NiArMjE4LDggQEAgc3RhdGljIEdzdEZsb3dSZXR1cm4gd2Via2l0TWVkaWFDb21tb25FbmNyeXB0
aW9uRGVjcnlwdFRyYW5zZm9ybUluUGxhY2UoR3N0QmFzZVQKICAgICAgICAgICAgIHJldHVybiBH
U1RfRkxPV19OT1RfU1VQUE9SVEVEOwogICAgICAgICB9CiAgICAgICAgIEdTVF9ERUJVR19PQkpF
Q1Qoc2VsZiwgImtleSByZWNlaXZlZCwgY29udGludWluZyIpOworICAgICAgICBwcml2LT53YWl0
aW5nRm9yS2V5ID0gZmFsc2U7CisgICAgICAgIGdzdF9lbGVtZW50X3Bvc3RfbWVzc2FnZShHU1Rf
RUxFTUVOVChzZWxmKSwgZ3N0X21lc3NhZ2VfbmV3X2VsZW1lbnQoR1NUX09CSkVDVChzZWxmKSwg
Z3N0X3N0cnVjdHVyZV9uZXdfZW1wdHkoImRybS1rZXktcmVjZWl2ZWQiKSkpOwogICAgIH0KIAog
ICAgIEdzdFByb3RlY3Rpb25NZXRhKiBwcm90ZWN0aW9uTWV0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8
R3N0UHJvdGVjdGlvbk1ldGEqPihnc3RfYnVmZmVyX2dldF9wcm90ZWN0aW9uX21ldGEoYnVmZmVy
KSk7CkBAIC0zMDYsMTIgKzMxMSw3IEBAIHN0YXRpYyBnYm9vbGVhbiB3ZWJraXRNZWRpYUNvbW1v
bkVuY3J5cHRpb25EZWNyeXB0U2lua0V2ZW50SGFuZGxlcihHc3RCYXNlVHJhbnNmCiAgICAgICAg
IGlmIChrbGFzcy0+aGFuZGxlS2V5UmVzcG9uc2Uoc2VsZiwgZXZlbnQpKSB7CiAgICAgICAgICAg
ICBHU1RfREVCVUdfT0JKRUNUKHNlbGYsICJrZXkgcmVjZWl2ZWQiKTsKICAgICAgICAgICAgIHBy
aXYtPmtleVJlY2VpdmVkID0gdHJ1ZTsKLSAgICAgICAgICAgIHByaXYtPndhaXRpbmdGb3JLZXkg
PSBmYWxzZTsKLSAgICAgICAgICAgIGdzdF9lbGVtZW50X3Bvc3RfbWVzc2FnZShHU1RfRUxFTUVO
VChzZWxmKSwgZ3N0X21lc3NhZ2VfbmV3X2VsZW1lbnQoR1NUX09CSkVDVChzZWxmKSwgZ3N0X3N0
cnVjdHVyZV9uZXdfZW1wdHkoImRybS1rZXktcmVjZWl2ZWQiKSkpOwogICAgICAgICAgICAgcHJp
di0+Y29uZGl0aW9uLm5vdGlmeU9uZSgpOwotICAgICAgICB9IGVsc2UgaWYgKHByaXYtPndhaXRp
bmdGb3JLZXkpIHsKLSAgICAgICAgICAgIEdTVF9ERUJVR19PQkpFQ1Qoc2VsZiwgInN0aWxsIHdh
aXRpbmcgZm9yIGtleSwgcmVwb3N0aW5nIik7Ci0gICAgICAgICAgICBnc3RfZWxlbWVudF9wb3N0
X21lc3NhZ2UoR1NUX0VMRU1FTlQoc2VsZiksIGdzdF9tZXNzYWdlX25ld19lbGVtZW50KEdTVF9P
QkpFQ1Qoc2VsZiksIGdzdF9zdHJ1Y3R1cmVfbmV3X2VtcHR5KCJkcm0td2FpdGluZy1mb3Ita2V5
IikpKTsKICAgICAgICAgfQogCiAgICAgICAgIGdzdF9ldmVudF91bnJlZihldmVudCk7CkBAIC0z
MjYsNiArMzI2LDE2IEBAIHN0YXRpYyBnYm9vbGVhbiB3ZWJraXRNZWRpYUNvbW1vbkVuY3J5cHRp
b25EZWNyeXB0U2lua0V2ZW50SGFuZGxlcihHc3RCYXNlVHJhbnNmCiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIAorc3RhdGljIGdib29sZWFuIHdlYmtpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5
cHRvclF1ZXJ5SGFuZGxlcihHc3RCYXNlVHJhbnNmb3JtKiB0cmFucywgR3N0UGFkRGlyZWN0aW9u
IGRpcmVjdGlvbiwgR3N0UXVlcnkqIHF1ZXJ5KQoreworICAgIGlmIChnc3Rfc3RydWN0dXJlX2hh
c19uYW1lKGdzdF9xdWVyeV9nZXRfc3RydWN0dXJlKHF1ZXJ5KSwgImFueS1kZWNyeXB0b3Itd2Fp
dGluZy1mb3Ita2V5IikpIHsKKyAgICAgICAgV2ViS2l0TWVkaWFDb21tb25FbmNyeXB0aW9uRGVj
cnlwdFByaXZhdGUqIHByaXYgPSBXRUJLSVRfTUVESUFfQ0VOQ19ERUNSWVBUX0dFVF9QUklWQVRF
KHRyYW5zKTsKKyAgICAgICAgR1NUX1RSQUNFX09CSkVDVCh0cmFucywgImFueS1kZWNyeXB0b3It
d2FpdGluZy1mb3Ita2V5IHF1ZXJ5LCB3YWl0aW5nZm9ya2V5ICVzIiwgV1RGOjpib29sRm9yUHJp
bnRpbmcocHJpdi0+d2FpdGluZ0ZvcktleSkpOworICAgICAgICByZXR1cm4gcHJpdi0+d2FpdGlu
Z0ZvcktleTsKKyAgICB9CisgICAgcmV0dXJuIEdTVF9CQVNFX1RSQU5TRk9STV9DTEFTUyhwYXJl
bnRfY2xhc3MpLT5xdWVyeSh0cmFucywgZGlyZWN0aW9uLCBxdWVyeSk7Cit9CisKIHN0YXRpYyBH
c3RTdGF0ZUNoYW5nZVJldHVybiB3ZWJLaXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0b3JD
aGFuZ2VTdGF0ZShHc3RFbGVtZW50KiBlbGVtZW50LCBHc3RTdGF0ZUNoYW5nZSB0cmFuc2l0aW9u
KQogewogICAgIFdlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHQqIHNlbGYgPSBXRUJL
SVRfTUVESUFfQ0VOQ19ERUNSWVBUKGVsZW1lbnQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354542</attachid>
            <date>2018-11-12 03:32:44 -0800</date>
            <delta_ts>2018-11-12 04:40:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191459-20181112123243.patch</filename>
            <type>text/plain</type>
            <size>13365</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MDcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzg4M2Q4ZGVmMmIyODk3
ZGNiNWY3ZjkzMzlmNTdhM2Y1YzExYjE3Yi4uNzY5NzM1MjUyM2ZlMzRhYTI3ZjZlZjFiYTViMTQ5
MmE1YTBmZDlmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE4LTExLTEyICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dT
dHJlYW1lcl1bRU1FXSB3YWl0aW5nZm9ya2V5IGV2ZW50IHNob3VsZCBjb25zaWRlciBkZWNyeXB0
b3JzJyB3YWl0aW5nIHN0YXR1cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTkxNDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhlIG5ldyBjcm9zcyBwbGF0Zm9ybSBhcmNoaXRlY3R1cmUgdG8gcmVwb3J0
IHdhaXRpbmdmb3JrZXkgYW5kCisgICAgICAgIHJlY292ZXIgZnJvbSBpdCByZXF1aXJlcyBhIG1v
cmUgYWNjdXJhdGUga25vd2xlZGdlIG9mIHdoYXQgaXMKKyAgICAgICAgZ29pbmcgb24gd2l0aCB0
aGUgZGVjcnlwdG9ycyBiZWNhdXNlIGV2ZW50cyBhcmUgcmVwb3J0ZWQgb25seSBvbmNlCisgICAg
ICAgIChwZXIga2V5IGV4Y2hhbmdlIHJ1bikgYW5kIGNyb3NzcGxhdGZvcm0gb25seSBjb250aW51
ZXMgaWYgd2UgYXJlCisgICAgICAgIGFjdHVhbGx5IHJlYWR5IHRvIGNvbnRpbnVlLCBtZWFuaW5n
IHRoYXQgbm8gZGVjcnlwdG9ycyBhcmUKKyAgICAgICAgd2FpdGluZy4KKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HVW5pcXVlUHRyR1N0cmVhbWVyLmg6IEFkZGVkCisg
ICAgICAgIEdzdEl0ZXJhdG9yIGRlbGV0ZXIuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6c2V0V2FpdGluZ0Zvcktl
eSk6IEJhaWwKKyAgICAgICAgb3V0IGlmIHdlIGFyZSByZXF1ZXN0ZWQgdG8gbm90IHdhaXQgYW55
bW9yZSBidXQgdGhlcmUgYXJlIHN0aWxsCisgICAgICAgIHdhaXRpbmcgZGVjcnlwdG9ycy4KKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OndhaXRpbmdG
b3JLZXkgY29uc3QpOgorICAgICAgICBRdWVyeSB0aGUgcGlwZWxpbmUsIGp1c3QgYSBxdWVyeSBh
ZnRlciBwaXBlbGluZSBpcyBidWlsdCBhbmQKKyAgICAgICAgbWFudWFsIGluc3BlY3Rpb24gZHVy
aW5nIGJ1aWxkLiBUaGUgcXVlcnkgaXMgb3B0aW1hbCBidXQgc29tZXRpbWVzCisgICAgICAgIHdl
IGNhbiBnZXQgdGhpcyByZXF1ZXN0IHdoZW4gdGhlIHBpcGVsaW5lIGlzIHVuZGVyIGNvbnN0cnVj
dGlvbiBzbworICAgICAgICBxdWVyaWVzIGRvIG5vdCBhcnJpdmUgYXQgdGhlIGRlY3J5cHRvcnMg
YW5kIHdlIGhhdmUgdG8gZGVsaXZlciBpdAorICAgICAgICBieSBvdXJzZWx2ZXMuCisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpyZXBvcnRXYWl0aW5n
Rm9yS2V5OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlOjpyZXBvcnRXYWl0aW5nRm9yS2V5OgorICAgICAgICBEZWxldGVk
IGJlY2F1c2UgaXQgaXMgbm93IGlubGluZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL2VtZS9XZWJLaXRDbGVhcktleURlY3J5cHRvckdTdHJlYW1lci5jcHA6CisgICAg
ICAgICh3ZWJLaXRNZWRpYUNsZWFyS2V5RGVjcnlwdG9yRGVjcnlwdCk6IEZpeGVkIHNtYWxsIGNv
bXBpbGVyIHdhcm5pbmcuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2Vt
ZS9XZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmNwcDoKKyAgICAgICAg
KHdlYmtpdF9tZWRpYV9jb21tb25fZW5jcnlwdGlvbl9kZWNyeXB0X2NsYXNzX2luaXQpOiBPdmVy
cmlkZQorICAgICAgICBxdWVyeSBtZXRob2QuCisgICAgICAgICh3ZWJraXRNZWRpYUNvbW1vbkVu
Y3J5cHRpb25EZWNyeXB0VHJhbnNmb3JtSW5QbGFjZSk6IFdoZW4gdGhlCisgICAgICAgIGRlY3J5
cHRvciBpcyBnb2luZyB0byBibG9jayB0byB3YWl0LCByZXBvcnQgYmVmb3JlLiBXaGVuIHRoZQor
ICAgICAgICBkZWNyeXB0b3IgcmVjZWl2ZXMgdGhlIGtleSwgcmVwb3J0IGl0IGdvdCBpdC4KKyAg
ICAgICAgKHdlYmtpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHRTaW5rRXZlbnRIYW5kbGVy
KTogRG8gbm90CisgICAgICAgIGhhbmRsZSB3YWl0aW5nZm9ya2V5IGhlcmUuCisgICAgICAgICh3
ZWJraXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0b3JRdWVyeUhhbmRsZXIpOiBSZXBvcnQg
aWYgdGhlCisgICAgICAgIGRlY3J5cHRvciBpcyB3YWl0aW5nLgorCiAyMDE4LTExLTEwICBSeWFu
IEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJv
bGxpbmcgb3V0IHIyMzgwNjUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvR1VuaXF1ZVB0ckdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dVbmlxdWVQdHJHU3RyZWFtZXIuaAppbmRleCAx
YWI4MGI3MmYxYTk4MTc3YjdhZThjZTc2ZTg0YmUzMTExMzJkZjk3Li4xODU4YTE2ZWNiNTJiZjg5
NDJjZDgyY2YyNTg2MzlhYWE4NzQ3OGIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1VuaXF1ZVB0ckdTdHJlYW1lci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HVW5pcXVlUHRyR1N0cmVhbWVy
LmgKQEAgLTMyLDYgKzMyLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKIFdURl9ERUZJTkVfR1BUUl9E
RUxFVEVSKEdzdFN0cnVjdHVyZSwgZ3N0X3N0cnVjdHVyZV9mcmVlKQogV1RGX0RFRklORV9HUFRS
X0RFTEVURVIoR3N0SW5zdGFsbFBsdWdpbnNDb250ZXh0LCBnc3RfaW5zdGFsbF9wbHVnaW5zX2Nv
bnRleHRfZnJlZSkKK1dURl9ERUZJTkVfR1BUUl9ERUxFVEVSKEdzdEl0ZXJhdG9yLCBnc3RfaXRl
cmF0b3JfZnJlZSkKIFdURl9ERUZJTkVfR1BUUl9ERUxFVEVSKEdzdFNlZ21lbnQsIGdzdF9zZWdt
ZW50X2ZyZWUpCiBXVEZfREVGSU5FX0dQVFJfREVMRVRFUihHc3RGbG93Q29tYmluZXIsIGdzdF9m
bG93X2NvbWJpbmVyX2ZyZWUpCiBXVEZfREVGSU5FX0dQVFJfREVMRVRFUihHc3RCeXRlUmVhZGVy
LCBnc3RfYnl0ZV9yZWFkZXJfZnJlZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcAppbmRleCAwN2QyOTc3N2ZiMjQ2NzQ5NGUwMTc4ZWIz
ZjRkMmYyYTg4ZjgzMTU3Li5kYzQ2NDJjZDdlYmRlOTYzNWFmOGE1MTI5ODhiNjc0ZDdlYzZhYTgy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2UuY3BwCkBAIC01MCw2ICs1MCw3IEBACiAjaW5jbHVkZSAiQ0RNSW5zdGFuY2UuaCIKICNpbmNs
dWRlICJHU3RyZWFtZXJFTUVVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIK
KyNpbmNsdWRlICJXZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmgiCiAj
ZW5kaWYKIAogI2lmIFVTRShHU1RSRUFNRVJfR0wpCkBAIC0xMzM1LDI0ICsxMzM2LDUxIEBAIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6aGFuZGxlUHJvdGVjdGlvbkV2ZW50
KEdzdEV2ZW50KiBldmVudCkKICAgICBpbml0aWFsaXphdGlvbkRhdGFFbmNvdW50ZXJlZChldmVu
dCk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6cmVwb3J0V2Fp
dGluZ0ZvcktleSgpCi17Ci0gICAgR1NUX1RSQUNFKCJ3YWl0aW5nIGZvciBrZXkiKTsKLSAgICBt
X3BsYXllci0+d2FpdGluZ0ZvcktleUNoYW5nZWQoKTsKLX0KLQogdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlOjpzZXRXYWl0aW5nRm9yS2V5KGJvb2wgd2FpdGluZ0ZvcktleSkK
IHsKLSAgICBpZiAod2FpdGluZ0ZvcktleSA9PSBtX3dhaXRpbmdGb3JLZXkpCisgICAgLy8gV2Ug
YmFpbCBvdXQgaWYgdmFsdWVzIGRpZCBub3QgY2hhbmdlIG9yIGlmIHdlIGFyZSByZXF1ZXN0ZWQg
dG8gbm90IHdhaXQgYW55bW9yZSBidXQgdGhlcmUgYXJlIHN0aWxsIHdhaXRpbmcgZGVjcnlwdG9y
cy4KKyAgICBHU1RfVFJBQ0UoIndhaXRpbmdGb3JLZXkgJXMsIG1fd2FpdGluZ0ZvcktleSAlcyIs
IGJvb2xGb3JQcmludGluZyh3YWl0aW5nRm9yS2V5KSwgYm9vbEZvclByaW50aW5nKG1fd2FpdGlu
Z0ZvcktleSkpOworICAgIGlmICh3YWl0aW5nRm9yS2V5ID09IG1fd2FpdGluZ0ZvcktleSB8fCAo
IXdhaXRpbmdGb3JLZXkgJiYgdGhpcy0+d2FpdGluZ0ZvcktleSgpKSkKICAgICAgICAgcmV0dXJu
OwogCiAgICAgbV93YWl0aW5nRm9yS2V5ID0gd2FpdGluZ0ZvcktleTsKLSAgICByZXBvcnRXYWl0
aW5nRm9yS2V5KCk7CisgICAgR1NUX0RFQlVHKCJ3YWl0aW5nIGZvciBrZXkgY2hhbmdlZCAlcyIs
IGJvb2xGb3JQcmludGluZyhtX3dhaXRpbmdGb3JLZXkpKTsKKyAgICBtX3BsYXllci0+d2FpdGlu
Z0ZvcktleUNoYW5nZWQoKTsKIH0KIAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJC
YXNlOjp3YWl0aW5nRm9yS2V5KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV93YWl0aW5nRm9yS2V5
OworICAgIGlmICghbV9waXBlbGluZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgR3N0
U3RhdGUgc3RhdGU7CisgICAgZ3N0X2VsZW1lbnRfZ2V0X3N0YXRlKG1fcGlwZWxpbmUuZ2V0KCks
ICZzdGF0ZSwgbnVsbHB0ciwgMCk7CisKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIEdS
ZWZQdHI8R3N0UXVlcnk+IHF1ZXJ5ID0gYWRvcHRHUmVmKGdzdF9xdWVyeV9uZXdfY3VzdG9tKEdT
VF9RVUVSWV9DVVNUT00sIGdzdF9zdHJ1Y3R1cmVfbmV3X2VtcHR5KCJhbnktZGVjcnlwdG9yLXdh
aXRpbmctZm9yLWtleSIpKSk7CisgICAgaWYgKHN0YXRlID49IEdTVF9TVEFURV9QQVVTRUQpIHsK
KyAgICAgICAgcmVzdWx0ID0gZ3N0X2VsZW1lbnRfcXVlcnkobV9waXBlbGluZS5nZXQoKSwgcXVl
cnkuZ2V0KCkpOworICAgICAgICBHU1RfVFJBQ0UoInF1ZXJ5IHJlc3VsdCAlcywgb24gJXMiLCBi
b29sRm9yUHJpbnRpbmcocmVzdWx0KSwgZ3N0X2VsZW1lbnRfc3RhdGVfZ2V0X25hbWUoc3RhdGUp
KTsKKyAgICB9IGVsc2UgaWYgKHN0YXRlID49IEdTVF9TVEFURV9SRUFEWSkgeworICAgICAgICAv
LyBSdW5uaW5nIGEgcXVlcnkgaW4gdGhlIHBpcGVsaW5lIGlzIGVhc2llciBidXQgaXQgb25seSB3
b3JrcyB3aGVuIHRoZSBwaXBlbGluZSBpcyBzZXQgdXAgYW5kIHJ1bm5pbmcsIG90aGVyd2lzZSB3
ZSBuZWVkIHRvIGluc3BlY3QgaXQgYW5kIGFzayB0aGUgZGVjcnlwdG9ycyBkaXJlY3RseS4KKyAg
ICAgICAgR1VuaXF1ZVB0cjxHc3RJdGVyYXRvcj4gaXRlcmF0b3IoZ3N0X2Jpbl9pdGVyYXRlX3Jl
Y3Vyc2UoR1NUX0JJTihtX3BpcGVsaW5lLmdldCgpKSkpOworICAgICAgICBHc3RJdGVyYXRvclJl
c3VsdCBpdGVyYXRvclJlc3VsdDsKKyAgICAgICAgZG8geworICAgICAgICAgICAgaXRlcmF0b3JS
ZXN1bHQgPSBnc3RfaXRlcmF0b3JfZm9sZChpdGVyYXRvci5nZXQoKSwgW10oY29uc3QgR1ZhbHVl
ICppdGVtLCBHVmFsdWUgKiwgZ3BvaW50ZXIgZGF0YSkgLT4gZ2Jvb2xlYW4geworICAgICAgICAg
ICAgICAgIEdzdEVsZW1lbnQqIGVsZW1lbnQgPSBHU1RfRUxFTUVOVChnX3ZhbHVlX2dldF9vYmpl
Y3QoaXRlbSkpOworICAgICAgICAgICAgICAgIEdzdFF1ZXJ5KiBxdWVyeSA9IEdTVF9RVUVSWShk
YXRhKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gIVdFQktJVF9JU19NRURJQV9DRU5DX0RFQ1JZ
UFQoZWxlbWVudCkgfHwgIWdzdF9lbGVtZW50X3F1ZXJ5KGVsZW1lbnQsIHF1ZXJ5KTsKKyAgICAg
ICAgICAgIH0sIG51bGxwdHIsIHF1ZXJ5LmdldCgpKTsKKyAgICAgICAgICAgIGlmIChpdGVyYXRv
clJlc3VsdCA9PSBHU1RfSVRFUkFUT1JfUkVTWU5DKQorICAgICAgICAgICAgICAgIGdzdF9pdGVy
YXRvcl9yZXN5bmMoaXRlcmF0b3IuZ2V0KCkpOworICAgICAgICB9IHdoaWxlIChpdGVyYXRvclJl
c3VsdCA9PSBHU1RfSVRFUkFUT1JfUkVTWU5DKTsKKyAgICAgICAgaWYgKGl0ZXJhdG9yUmVzdWx0
ID09IEdTVF9JVEVSQVRPUl9FUlJPUikKKyAgICAgICAgICAgIEdTVF9XQVJOSU5HKCJpdGVyYXRv
ciByZXR1cm5lZCBhbiBlcnJvciIpOworICAgICAgICByZXN1bHQgPSBpdGVyYXRvclJlc3VsdCA9
PSBHU1RfSVRFUkFUT1JfT0s7CisgICAgICAgIEdTVF9UUkFDRSgiaXRlcmF0b3IgcmVzdWx0ICVk
LCB3YWl0aW5nICVzIiwgaXRlcmF0b3JSZXN1bHQsIGJvb2xGb3JQcmludGluZyhyZXN1bHQpKTsK
KyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0OwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oCmluZGV4IDcyNjdhZjE4Y2U2
NDQ3MTgzZDk3MmRlNTgzMDQ3OTQxOWY3ODRjMjMuLjRjYTJjOWQyNmE2NGVlMzhkNWY5MmEyMGJj
ZjAzNGFlNjY5N2IyODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lckJhc2UuaApAQCAtMTU0LDggKzE1NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRp
c3BhdGNoQ0RNSW5zdGFuY2UoKTsKICAgICB2b2lkIGluaXRpYWxpemF0aW9uRGF0YUVuY291bnRl
cmVkKEdzdEV2ZW50Kik7CiAgICAgdm9pZCBzZXRXYWl0aW5nRm9yS2V5KGJvb2wpOwotICAgIGJv
b2wgd2FpdGluZ0ZvcktleSgpIGNvbnN0OwotICAgIHZvaWQgcmVwb3J0V2FpdGluZ0ZvcktleSgp
OworICAgIGJvb2wgd2FpdGluZ0ZvcktleSgpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCiAKICAg
ICBzdGF0aWMgYm9vbCBzdXBwb3J0c0tleVN5c3RlbShjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwg
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdENsZWFyS2V5RGVjcnlwdG9yR1N0cmVh
bWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUv
V2ViS2l0Q2xlYXJLZXlEZWNyeXB0b3JHU3RyZWFtZXIuY3BwCmluZGV4IDMzZjYwODlhNTQ5NjBk
MjI1OWE5ZDAwNzM0YTUzNDY0NjUwMjk5YWQuLmY5NDFlNTI4ZjQ3Y2JkMDY5NTc5YmM1ZTYzMzU4
MWU2YjYxMGM3MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9lbWUvV2ViS2l0Q2xlYXJLZXlEZWNyeXB0b3JHU3RyZWFtZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0Q2xl
YXJLZXlEZWNyeXB0b3JHU3RyZWFtZXIuY3BwCkBAIC0yODMsNyArMjgzLDcgQEAgc3RhdGljIGdi
b29sZWFuIHdlYktpdE1lZGlhQ2xlYXJLZXlEZWNyeXB0b3JEZWNyeXB0KFdlYktpdE1lZGlhQ29t
bW9uRW5jcnlwdGlvbkQKICAgICAgICAgR1NUX1RSQUNFX09CSkVDVChzZWxmLCAic3Vic2FtcGxl
IGluZGV4ICV1IC0gJWh1IGJ5dGVzIGNsZWFyICh0b2RvPSV6dSkiLCBzYW1wbGVJbmRleCwgbkJ5
dGVzQ2xlYXIsIG1hcHBlZEJ1ZmZlci5zaXplKCkgLSBwb3NpdGlvbik7CiAgICAgICAgIHBvc2l0
aW9uICs9IG5CeXRlc0NsZWFyOwogICAgICAgICBpZiAobkJ5dGVzRW5jcnlwdGVkKSB7Ci0gICAg
ICAgICAgICBHU1RfVFJBQ0VfT0JKRUNUKHNlbGYsICJzdWJzYW1wbGUgaW5kZXggJXUgLSAlaHUg
Ynl0ZXMgZW5jcnlwdGVkICh0b2RvPSV6dSkiLCBzYW1wbGVJbmRleCwgbkJ5dGVzRW5jcnlwdGVk
LCBtYXBwZWRCdWZmZXIuc2l6ZSgpIC0gcG9zaXRpb24pOworICAgICAgICAgICAgR1NUX1RSQUNF
X09CSkVDVChzZWxmLCAic3Vic2FtcGxlIGluZGV4ICV1IC0gJXUgYnl0ZXMgZW5jcnlwdGVkICh0
b2RvPSV6dSkiLCBzYW1wbGVJbmRleCwgbkJ5dGVzRW5jcnlwdGVkLCBtYXBwZWRCdWZmZXIuc2l6
ZSgpIC0gcG9zaXRpb24pOwogICAgICAgICAgICAgY2lwaGVyRXJyb3IgPSBnY3J5X2NpcGhlcl9k
ZWNyeXB0KHByaXYtPmhhbmRsZSwgbWFwcGVkQnVmZmVyLmRhdGEoKSArIHBvc2l0aW9uLCBuQnl0
ZXNFbmNyeXB0ZWQsIDAsIDApOwogICAgICAgICAgICAgaWYgKGNpcGhlckVycm9yKSB7CiAgICAg
ICAgICAgICAgICAgR1NUX0VSUk9SX09CSkVDVChzZWxmLCAic3ViIHNhbXBsZSBpbmRleCAldSBk
ZWNyeXB0aW9uIGZhaWxlZDogJXMiLCBzYW1wbGVJbmRleCwgZ3BnX3N0cmVycm9yKGNpcGhlckVy
cm9yKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvZW1lL1dlYktpdENvbW1vbkVuY3J5cHRpb25EZWNyeXB0b3JHU3RyZWFtZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRDb21t
b25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmNwcAppbmRleCBkZDI2MTlmMWE1YTI0NzQ5
YWVlYmJiNzIzYWU0OTZkOGRjZThiYTJlLi5iYmVhMWVhODk0NjNhOGVlNTEwYzM1YjAwOTY5OGUz
Y2ZiYjE4MTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvZW1lL1dlYktpdENvbW1vbkVuY3J5cHRpb25EZWNyeXB0b3JHU3RyZWFtZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2Vi
S2l0Q29tbW9uRW5jcnlwdGlvbkRlY3J5cHRvckdTdHJlYW1lci5jcHAKQEAgLTI3LDYgKzI3LDcg
QEAKIAogI2luY2x1ZGUgIkdTdHJlYW1lckNvbW1vbi5oIgogI2luY2x1ZGUgPHd0Zi9Db25kaXRp
b24uaD4KKyNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0uaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9v
cC5oPgogCiAjZGVmaW5lIFdFQktJVF9NRURJQV9DRU5DX0RFQ1JZUFRfR0VUX1BSSVZBVEUob2Jq
KSAoR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKChvYmopLCBXRUJLSVRfVFlQRV9NRURJQV9D
RU5DX0RFQ1JZUFQsIFdlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHRQcml2YXRlKSkK
QEAgLTQ0LDYgKzQ1LDcgQEAgc3RhdGljIHZvaWQgd2ViS2l0TWVkaWFDb21tb25FbmNyeXB0aW9u
RGVjcnlwdG9yRmluYWxpemUoR09iamVjdCopOwogc3RhdGljIEdzdENhcHMqIHdlYmtpdE1lZGlh
Q29tbW9uRW5jcnlwdGlvbkRlY3J5cHRUcmFuc2Zvcm1DYXBzKEdzdEJhc2VUcmFuc2Zvcm0qLCBH
c3RQYWREaXJlY3Rpb24sIEdzdENhcHMqLCBHc3RDYXBzKik7CiBzdGF0aWMgR3N0Rmxvd1JldHVy
biB3ZWJraXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0VHJhbnNmb3JtSW5QbGFjZShHc3RC
YXNlVHJhbnNmb3JtKiwgR3N0QnVmZmVyKik7CiBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0TWVkaWFD
b21tb25FbmNyeXB0aW9uRGVjcnlwdFNpbmtFdmVudEhhbmRsZXIoR3N0QmFzZVRyYW5zZm9ybSos
IEdzdEV2ZW50Kik7CitzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0TWVkaWFDb21tb25FbmNyeXB0aW9u
RGVjcnlwdG9yUXVlcnlIYW5kbGVyKEdzdEJhc2VUcmFuc2Zvcm0qLCBHc3RQYWREaXJlY3Rpb24s
IEdzdFF1ZXJ5Kik7CiAKIAogR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyh3ZWJraXRfbWVkaWFf
Y29tbW9uX2VuY3J5cHRpb25fZGVjcnlwdF9kZWJ1Z19jYXRlZ29yeSk7CkBAIC02OCw2ICs3MCw3
IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9tZWRpYV9jb21tb25fZW5jcnlwdGlvbl9kZWNyeXB0X2Ns
YXNzX2luaXQoV2ViS2l0TWVkaWFDb21tb25FCiAgICAgYmFzZVRyYW5zZm9ybUNsYXNzLT50cmFu
c2Zvcm1fY2FwcyA9IEdTVF9ERUJVR19GVU5DUFRSKHdlYmtpdE1lZGlhQ29tbW9uRW5jcnlwdGlv
bkRlY3J5cHRUcmFuc2Zvcm1DYXBzKTsKICAgICBiYXNlVHJhbnNmb3JtQ2xhc3MtPnRyYW5zZm9y
bV9pcF9vbl9wYXNzdGhyb3VnaCA9IEZBTFNFOwogICAgIGJhc2VUcmFuc2Zvcm1DbGFzcy0+c2lu
a19ldmVudCA9IEdTVF9ERUJVR19GVU5DUFRSKHdlYmtpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRl
Y3J5cHRTaW5rRXZlbnRIYW5kbGVyKTsKKyAgICBiYXNlVHJhbnNmb3JtQ2xhc3MtPnF1ZXJ5ID0g
R1NUX0RFQlVHX0ZVTkNQVFIod2Via2l0TWVkaWFDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yUXVl
cnlIYW5kbGVyKTsKIAogICAgIGdfdHlwZV9jbGFzc19hZGRfcHJpdmF0ZShrbGFzcywgc2l6ZW9m
KFdlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHRQcml2YXRlKSk7CiB9CkBAIC0yMTUs
NiArMjE4LDggQEAgc3RhdGljIEdzdEZsb3dSZXR1cm4gd2Via2l0TWVkaWFDb21tb25FbmNyeXB0
aW9uRGVjcnlwdFRyYW5zZm9ybUluUGxhY2UoR3N0QmFzZVQKICAgICAgICAgICAgIHJldHVybiBH
U1RfRkxPV19OT1RfU1VQUE9SVEVEOwogICAgICAgICB9CiAgICAgICAgIEdTVF9ERUJVR19PQkpF
Q1Qoc2VsZiwgImtleSByZWNlaXZlZCwgY29udGludWluZyIpOworICAgICAgICBwcml2LT53YWl0
aW5nRm9yS2V5ID0gZmFsc2U7CisgICAgICAgIGdzdF9lbGVtZW50X3Bvc3RfbWVzc2FnZShHU1Rf
RUxFTUVOVChzZWxmKSwgZ3N0X21lc3NhZ2VfbmV3X2VsZW1lbnQoR1NUX09CSkVDVChzZWxmKSwg
Z3N0X3N0cnVjdHVyZV9uZXdfZW1wdHkoImRybS1rZXktcmVjZWl2ZWQiKSkpOwogICAgIH0KIAog
ICAgIEdzdFByb3RlY3Rpb25NZXRhKiBwcm90ZWN0aW9uTWV0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8
R3N0UHJvdGVjdGlvbk1ldGEqPihnc3RfYnVmZmVyX2dldF9wcm90ZWN0aW9uX21ldGEoYnVmZmVy
KSk7CkBAIC0zMDYsMTIgKzMxMSw3IEBAIHN0YXRpYyBnYm9vbGVhbiB3ZWJraXRNZWRpYUNvbW1v
bkVuY3J5cHRpb25EZWNyeXB0U2lua0V2ZW50SGFuZGxlcihHc3RCYXNlVHJhbnNmCiAgICAgICAg
IGlmIChrbGFzcy0+aGFuZGxlS2V5UmVzcG9uc2Uoc2VsZiwgZXZlbnQpKSB7CiAgICAgICAgICAg
ICBHU1RfREVCVUdfT0JKRUNUKHNlbGYsICJrZXkgcmVjZWl2ZWQiKTsKICAgICAgICAgICAgIHBy
aXYtPmtleVJlY2VpdmVkID0gdHJ1ZTsKLSAgICAgICAgICAgIHByaXYtPndhaXRpbmdGb3JLZXkg
PSBmYWxzZTsKLSAgICAgICAgICAgIGdzdF9lbGVtZW50X3Bvc3RfbWVzc2FnZShHU1RfRUxFTUVO
VChzZWxmKSwgZ3N0X21lc3NhZ2VfbmV3X2VsZW1lbnQoR1NUX09CSkVDVChzZWxmKSwgZ3N0X3N0
cnVjdHVyZV9uZXdfZW1wdHkoImRybS1rZXktcmVjZWl2ZWQiKSkpOwogICAgICAgICAgICAgcHJp
di0+Y29uZGl0aW9uLm5vdGlmeU9uZSgpOwotICAgICAgICB9IGVsc2UgaWYgKHByaXYtPndhaXRp
bmdGb3JLZXkpIHsKLSAgICAgICAgICAgIEdTVF9ERUJVR19PQkpFQ1Qoc2VsZiwgInN0aWxsIHdh
aXRpbmcgZm9yIGtleSwgcmVwb3N0aW5nIik7Ci0gICAgICAgICAgICBnc3RfZWxlbWVudF9wb3N0
X21lc3NhZ2UoR1NUX0VMRU1FTlQoc2VsZiksIGdzdF9tZXNzYWdlX25ld19lbGVtZW50KEdTVF9P
QkpFQ1Qoc2VsZiksIGdzdF9zdHJ1Y3R1cmVfbmV3X2VtcHR5KCJkcm0td2FpdGluZy1mb3Ita2V5
IikpKTsKICAgICAgICAgfQogCiAgICAgICAgIGdzdF9ldmVudF91bnJlZihldmVudCk7CkBAIC0z
MjYsNiArMzI2LDE2IEBAIHN0YXRpYyBnYm9vbGVhbiB3ZWJraXRNZWRpYUNvbW1vbkVuY3J5cHRp
b25EZWNyeXB0U2lua0V2ZW50SGFuZGxlcihHc3RCYXNlVHJhbnNmCiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIAorc3RhdGljIGdib29sZWFuIHdlYmtpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5
cHRvclF1ZXJ5SGFuZGxlcihHc3RCYXNlVHJhbnNmb3JtKiB0cmFucywgR3N0UGFkRGlyZWN0aW9u
IGRpcmVjdGlvbiwgR3N0UXVlcnkqIHF1ZXJ5KQoreworICAgIGlmIChnc3Rfc3RydWN0dXJlX2hh
c19uYW1lKGdzdF9xdWVyeV9nZXRfc3RydWN0dXJlKHF1ZXJ5KSwgImFueS1kZWNyeXB0b3Itd2Fp
dGluZy1mb3Ita2V5IikpIHsKKyAgICAgICAgV2ViS2l0TWVkaWFDb21tb25FbmNyeXB0aW9uRGVj
cnlwdFByaXZhdGUqIHByaXYgPSBXRUJLSVRfTUVESUFfQ0VOQ19ERUNSWVBUX0dFVF9QUklWQVRF
KHRyYW5zKTsKKyAgICAgICAgR1NUX1RSQUNFX09CSkVDVCh0cmFucywgImFueS1kZWNyeXB0b3It
d2FpdGluZy1mb3Ita2V5IHF1ZXJ5LCB3YWl0aW5nZm9ya2V5ICVzIiwgYm9vbEZvclByaW50aW5n
KHByaXYtPndhaXRpbmdGb3JLZXkpKTsKKyAgICAgICAgcmV0dXJuIHByaXYtPndhaXRpbmdGb3JL
ZXk7CisgICAgfQorICAgIHJldHVybiBHU1RfQkFTRV9UUkFOU0ZPUk1fQ0xBU1MocGFyZW50X2Ns
YXNzKS0+cXVlcnkodHJhbnMsIGRpcmVjdGlvbiwgcXVlcnkpOworfQorCiBzdGF0aWMgR3N0U3Rh
dGVDaGFuZ2VSZXR1cm4gd2ViS2l0TWVkaWFDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yQ2hhbmdl
U3RhdGUoR3N0RWxlbWVudCogZWxlbWVudCwgR3N0U3RhdGVDaGFuZ2UgdHJhbnNpdGlvbikKIHsK
ICAgICBXZWJLaXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0KiBzZWxmID0gV0VCS0lUX01F
RElBX0NFTkNfREVDUllQVChlbGVtZW50KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>