<?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>172894</bug_id>
          
          <creation_ts>2017-06-03 06:25:49 -0700</creation_ts>
          <short_desc>[GCrypt] Improve comments in AES, PBKDF2, RSA-SSA algorithm implementations</short_desc>
          <delta_ts>2017-06-04 03:24:51 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>133122</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>jiewen_tan</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1315409</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-06-03 06:25:49 -0700</bug_when>
    <thetext>[GCrypt] Improve comments in AES, PBKDF2, RSA-SSA algorithm implementations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315410</commentid>
    <comment_count>1</comment_count>
      <attachid>311920</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-06-03 06:34:59 -0700</bug_when>
    <thetext>Created attachment 311920
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315524</commentid>
    <comment_count>2</comment_count>
      <attachid>311920</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-06-04 03:24:47 -0700</bug_when>
    <thetext>Comment on attachment 311920
Patch

Clearing flags on attachment: 311920

Committed r217765: &lt;http://trac.webkit.org/changeset/217765&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315525</commentid>
    <comment_count>3</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-06-04 03:24:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311920</attachid>
            <date>2017-06-03 06:34:59 -0700</date>
            <delta_ts>2017-06-04 03:24:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172894-20170603153458.patch</filename>
            <type>text/plain</type>
            <size>18867</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3NzU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODcwMTA3MTAyMTAxOGZk
ZDFmZGRjNzQ2MTM0YmNjNjFkOTQ0MjNjZi4uOTRmYmExMjM5Zjc4NzQyNTZiYWM0ZGMzNDYwZGFj
MDNjYzQyYjdmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMxIEBACiAyMDE3LTA2LTAzICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAorICAgICAgICBbR0NyeXB0XSBJbXBy
b3ZlIGNvbW1lbnRzIGluIEFFUywgUEJLREYyLCBSU0EtU1NBIGFsZ29yaXRobSBpbXBsZW1lbnRh
dGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
Mjg5NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBvciBpbXByb3ZlIGNvZGUgY29tbWVudHMgaW4gbGliZ2NyeXB0IGltcGxlbWVudGF0aW9ucyBm
b3IgdGhlIEFFU19DQkMsCisgICAgICAgIEFFU19HQ00sIEFFU19LVywgUEJLREYyIGFuZCBSU0Et
U1NBIGFsZ29yaXRobXMuCisKKyAgICAgICAgKiBjcnlwdG8vZ2NyeXB0L0NyeXB0b0FsZ29yaXRo
bUFFU19DQkNHQ3J5cHQuY3BwOiBBZGQgZ2VuZXJpYyBjb21tZW50cyB0aGF0CisgICAgICAgIGRl
c2NyaWJlIGVhY2ggb3BlcmF0aW9uIHRoYXQncyBwZXJmb3JtZWQuCisgICAgICAgIChXZWJDb3Jl
OjpnY3J5cHRFbmNyeXB0KToKKyAgICAgICAgKFdlYkNvcmU6OmdjcnlwdERlY3J5cHQpOgorICAg
ICAgICAqIGNyeXB0by9nY3J5cHQvQ3J5cHRvQWxnb3JpdGhtQUVTX0dDTUdDcnlwdC5jcHA6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6Z2NyeXB0RW5jcnlwdCk6CisgICAgICAgIChXZWJDb3Jl
OjpnY3J5cHREZWNyeXB0KToKKyAgICAgICAgKiBjcnlwdG8vZ2NyeXB0L0NyeXB0b0FsZ29yaXRo
bUFFU19LV0dDcnlwdC5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6Z2NyeXB0V3JhcEtl
eSk6CisgICAgICAgIChXZWJDb3JlOjpnY3J5cHRVbndyYXBLZXkpOgorICAgICAgICAqIGNyeXB0
by9nY3J5cHQvQ3J5cHRvQWxnb3JpdGhtUEJLREYyR0NyeXB0LmNwcDogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpnY3J5cHREZXJpdmVCaXRzKToKKyAgICAgICAgKiBjcnlwdG8vZ2NyeXB0L0Ny
eXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81R0NyeXB0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmdjcnlwdFZlcmlmeSk6IEFsaWduIHRoZSB2ZXJpZmljYXRpb24gcmVzdWx0cyBjb21tZW50
IHdpdGggdGhlCisgICAgICAgIG9uZSB0aGF0J3MgdXNlZCBpbiB0aGUgRUNEU0EgaW1wbGVtZW50
YXRpb24uCisKKzIwMTctMDYtMDMgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29t
PgorCiAgICAgICAgIFtHQ3J5cHRdIEdhdGhlciBTVUJUTEVfQ1JZUFRPIHV0aWxpdHkgZnVuY3Rp
b25zIGluIGEgc2luZ2xlIGhlYWRlcgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTcyODcwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9nY3J5cHQvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQ0dDcnlwdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8vZ2NyeXB0L0NyeXB0b0FsZ29yaXRobUFFU19DQkNHQ3J5cHQuY3BwCmluZGV4IDhj
YjFkYzMxNzcwMWJlMGMwYWMxOWFhMzAzN2ZhYjYwZWI4OTZiMTguLjY0NTM1OTdlNGYyOWQ4M2Zk
OGMxYWY3MmU1N2ExNmNiODlmMDA1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9nY3J5cHQvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQ0dDcnlwdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3J5cHRvL2djcnlwdC9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDR0NyeXB0LmNwcApAQCAt
NDAsMTAgKzQwLDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIHN0ZDo6b3B0aW9u
YWw8VmVjdG9yPHVpbnQ4X3Q+PiBnY3J5cHRFbmNyeXB0KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYg
a2V5LCBjb25zdCBWZWN0b3I8dWludDhfdD4mIGl2LCBWZWN0b3I8dWludDhfdD4mJiBwbGFpblRl
eHQpCiB7CisgICAgLy8gRGV0ZXJtaW5lIHRoZSBBRVMgYWxnb3JpdGhtIGZvciB0aGUgZ2l2ZW4g
a2V5IHNpemUuCiAgICAgYXV0byBhbGdvcml0aG0gPSBQQUw6OkdDcnlwdDo6YWVzQWxnb3JpdGht
Rm9yS2V5U2l6ZShrZXkuc2l6ZSgpICogOCk7CiAgICAgaWYgKCFhbGdvcml0aG0pCiAgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKKyAgICAvLyBDcmVhdGUgYSBuZXcgR0NyeXB0IGNpcGhl
ciBvYmplY3QgZm9yIHRoZSBBRVMgYWxnb3JpdGhtIGFuZCB0aGUgQ0JDIGNpcGhlciBtb2RlLgog
ICAgIFBBTDo6R0NyeXB0OjpIYW5kbGU8Z2NyeV9jaXBoZXJfaGRfdD4gaGFuZGxlOwogICAgIGdj
cnlfZXJyb3JfdCBlcnJvciA9IGdjcnlfY2lwaGVyX29wZW4oJmhhbmRsZSwgKmFsZ29yaXRobSwg
R0NSWV9DSVBIRVJfTU9ERV9DQkMsIDApOwogICAgIGlmIChlcnJvciAhPSBHUEdfRVJSX05PX0VS
Uk9SKSB7CkBAIC01MSwyMyArNTMsMjQgQEAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVp
bnQ4X3Q+PiBnY3J5cHRFbmNyeXB0KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5LAogICAgICAg
ICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIH0KIAorICAgIC8vIFVzZSB0aGUgZ2l2ZW4ga2V5
IGZvciB0aGlzIGNpcGhlciBvYmplY3QuCiAgICAgZXJyb3IgPSBnY3J5X2NpcGhlcl9zZXRrZXko
aGFuZGxlLCBrZXkuZGF0YSgpLCBrZXkuc2l6ZSgpKTsKICAgICBpZiAoZXJyb3IgIT0gR1BHX0VS
Ul9OT19FUlJPUikgewogICAgICAgICBQQUw6OkdDcnlwdDo6bG9nRXJyb3IoZXJyb3IpOwogICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIH0KIAorICAgIC8vIFVzZSB0aGUgZ2l2ZW4g
SVYgZm9yIHRoaXMgY2lwaGVyIG9iamVjdC4KICAgICBlcnJvciA9IGdjcnlfY2lwaGVyX3NldGl2
KGhhbmRsZSwgaXYuZGF0YSgpLCBpdi5zaXplKCkpOwogICAgIGlmIChlcnJvciAhPSBHUEdfRVJS
X05PX0VSUk9SKSB7CiAgICAgICAgIFBBTDo6R0NyeXB0Ojpsb2dFcnJvcihlcnJvcik7CiAgICAg
ICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgfQogCisgICAgLy8gVXNlIHRoZSBQS0NTIzcg
cGFkZGluZy4KICAgICB7Ci0gICAgICAgIC8vIFBLQ1MjNwotICAgICAgICBzaXplX3Qgc2l6ZSA9
IHBsYWluVGV4dC5zaXplKCk7Ci0KICAgICAgICAgLy8gUm91bmQgdXAgdGhlIHNpemUgdmFsdWUg
dG8gdGhlIG5leHQgbXVsdGlwbGUgb2YgdGhlIGNpcGhlcidzIGJsb2NrIGxlbmd0aCB0byBnZXQg
dGhlIHBhZGRlZCBzaXplLgorICAgICAgICBzaXplX3Qgc2l6ZSA9IHBsYWluVGV4dC5zaXplKCk7
CiAgICAgICAgIHNpemVfdCBwYWRkZWRTaXplID0gcm91bmRVcFRvTXVsdGlwbGVPZihnY3J5X2Np
cGhlcl9nZXRfYWxnb19ibGtsZW4oKmFsZ29yaXRobSksIHNpemUgKyAxKTsKIAogICAgICAgICAv
LyBQYWRkZWQgc2l6ZSBzaG91bGQgYmUgYmlnZ2VyIHRoYW4gc2l6ZSwgYnV0IGJhaWwgaWYgdGhl
IHZhbHVlIGRvZXNuJ3QgZml0IGludG8gYSBieXRlLgpAQCAtODAsMTIgKzgzLDE0IEBAIHN0YXRp
YyBzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4gZ2NyeXB0RW5jcnlwdChjb25zdCBWZWN0
b3I8dWludDhfdD4mIGtleSwKICAgICAgICAgc3RkOjptZW1zZXQocGxhaW5UZXh0LmRhdGEoKSAr
IHNpemUsIHBhZGRpbmdWYWx1ZSwgcGFkZGluZ1ZhbHVlKTsKICAgICB9CiAKKyAgICAvLyBGaW5h
bGl6ZSB0aGUgY2lwaGVyIG9iamVjdCBiZWZvcmUgcGVyZm9ybWluZyB0aGUgZW5jcnlwdGlvbi4K
ICAgICBlcnJvciA9IGdjcnlfY2lwaGVyX2ZpbmFsKGhhbmRsZSk7CiAgICAgaWYgKGVycm9yICE9
IEdQR19FUlJfTk9fRVJST1IpIHsKICAgICAgICAgUEFMOjpHQ3J5cHQ6OmxvZ0Vycm9yKGVycm9y
KTsKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICB9CiAKKyAgICAvLyBQZXJmb3Jt
IHRoZSBlbmNyeXB0aW9uIGFuZCByZXRyaWV2ZSB0aGUgZW5jcnlwdGVkIG91dHB1dC4KICAgICBW
ZWN0b3I8dWludDhfdD4gb3V0cHV0KHBsYWluVGV4dC5zaXplKCkpOwogICAgIGVycm9yID0gZ2Ny
eV9jaXBoZXJfZW5jcnlwdChoYW5kbGUsIG91dHB1dC5kYXRhKCksIG91dHB1dC5zaXplKCksIHBs
YWluVGV4dC5kYXRhKCksIHBsYWluVGV4dC5zaXplKCkpOwogICAgIGlmIChlcnJvciAhPSBHUEdf
RVJSX05PX0VSUk9SKSB7CkBAIC05OCwxMCArMTAzLDEyIEBAIHN0YXRpYyBzdGQ6Om9wdGlvbmFs
PFZlY3Rvcjx1aW50OF90Pj4gZ2NyeXB0RW5jcnlwdChjb25zdCBWZWN0b3I8dWludDhfdD4mIGtl
eSwKIAogc3RhdGljIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiBnY3J5cHREZWNyeXB0
KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5LCBjb25zdCBWZWN0b3I8dWludDhfdD4mIGl2LCBj
b25zdCBWZWN0b3I8dWludDhfdD4mIGNpcGhlclRleHQpCiB7CisgICAgLy8gRGV0ZXJtaW5lIHRo
ZSBBRVMgYWxnb3JpdGhtIGZvciB0aGUgZ2l2ZW4ga2V5IHNpemUuCiAgICAgYXV0byBhbGdvcml0
aG0gPSBQQUw6OkdDcnlwdDo6YWVzQWxnb3JpdGhtRm9yS2V5U2l6ZShrZXkuc2l6ZSgpICogOCk7
CiAgICAgaWYgKCFhbGdvcml0aG0pCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKKyAg
ICAvLyBDcmVhdGUgYSBuZXcgR0NyeXB0IGNpcGhlciBvYmplY3QgZm9yIHRoZSBBRVMgYWxnb3Jp
dGhtIGFuZCB0aGUgQ0JDIGNpcGhlciBtb2RlLgogICAgIFBBTDo6R0NyeXB0OjpIYW5kbGU8Z2Ny
eV9jaXBoZXJfaGRfdD4gaGFuZGxlOwogICAgIGdjcnlfZXJyb3JfdCBlcnJvciA9IGdjcnlfY2lw
aGVyX29wZW4oJmhhbmRsZSwgKmFsZ29yaXRobSwgR0NSWV9DSVBIRVJfTU9ERV9DQkMsIDApOwog
ICAgIGlmIChlcnJvciAhPSBHUEdfRVJSX05PX0VSUk9SKSB7CkBAIC0xMDksMjQgKzExNiwyOCBA
QCBzdGF0aWMgc3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+IGdjcnlwdERlY3J5cHQoY29u
c3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXksCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAg
ICAgfQogCisgICAgLy8gVXNlIHRoZSBnaXZlbiBrZXkgZm9yIHRoaXMgY2lwaGVyIG9iamVjdC4K
ICAgICBlcnJvciA9IGdjcnlfY2lwaGVyX3NldGtleShoYW5kbGUsIGtleS5kYXRhKCksIGtleS5z
aXplKCkpOwogICAgIGlmIChlcnJvciAhPSBHUEdfRVJSX05PX0VSUk9SKSB7CiAgICAgICAgIFBB
TDo6R0NyeXB0Ojpsb2dFcnJvcihlcnJvcik7CiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7
CiAgICAgfQogCisgICAgLy8gVXNlIHRoZSBnaXZlbiBJViBmb3IgdGhpcyBjaXBoZXIgb2JqZWN0
LgogICAgIGVycm9yID0gZ2NyeV9jaXBoZXJfc2V0aXYoaGFuZGxlLCBpdi5kYXRhKCksIGl2LnNp
emUoKSk7CiAgICAgaWYgKGVycm9yICE9IEdQR19FUlJfTk9fRVJST1IpIHsKICAgICAgICAgUEFM
OjpHQ3J5cHQ6OmxvZ0Vycm9yKGVycm9yKTsKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
ICAgICB9CiAKKyAgICAvLyBGaW5hbGl6ZSB0aGUgY2lwaGVyIG9iamVjdCBiZWZvcmUgcGVyZm9y
bWluZyB0aGUgZGVjcnlwdGlvbi4KICAgICBlcnJvciA9IGdjcnlfY2lwaGVyX2ZpbmFsKGhhbmRs
ZSk7CiAgICAgaWYgKGVycm9yICE9IEdQR19FUlJfTk9fRVJST1IpIHsKICAgICAgICAgUEFMOjpH
Q3J5cHQ6OmxvZ0Vycm9yKGVycm9yKTsKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAg
ICB9CiAKKyAgICAvLyBQZXJmb3JtIHRoZSBkZWNyeXB0aW9uIGFuZCByZXRyaWV2ZSB0aGUgZGVj
cnlwdGVkIG91dHB1dC4KICAgICBWZWN0b3I8dWludDhfdD4gb3V0cHV0KGNpcGhlclRleHQuc2l6
ZSgpKTsKICAgICBlcnJvciA9IGdjcnlfY2lwaGVyX2RlY3J5cHQoaGFuZGxlLCBvdXRwdXQuZGF0
YSgpLCBvdXRwdXQuc2l6ZSgpLCBjaXBoZXJUZXh0LmRhdGEoKSwgY2lwaGVyVGV4dC5zaXplKCkp
OwogICAgIGlmIChlcnJvciAhPSBHUEdfRVJSX05PX0VSUk9SKSB7CkBAIC0xMzQsMTkgKzE0NSwy
MyBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+IGdjcnlwdERlY3J5cHQo
Y29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXksCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7
CiAgICAgfQogCisgICAgLy8gUmVtb3ZlIHRoZSBQS0NTIzcgcGFkZGluZyBmcm9tIHRoZSBkZWNy
eXB0ZWQgb3V0cHV0LgogICAgIHsKLSAgICAgICAgLy8gUEtDUyM3CisgICAgICAgIC8vIFRoZSBw
YWRkaW5nIHZhbHVlIGNhbiBiZSByZXRyaWV2ZWQgZnJvbSB0aGUgbGFzdCBieXRlLgogICAgICAg
ICB1aW50OF90IHBhZGRpbmdWYWx1ZSA9IG91dHB1dC5sYXN0KCk7CiAgICAgICAgIGlmIChwYWRk
aW5nVmFsdWUgPiBnY3J5X2NpcGhlcl9nZXRfYWxnb19ibGtsZW4oKmFsZ29yaXRobSkpCiAgICAg
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCisgICAgICAgIC8vIFBhZGRpbmcgdmFsdWUg
bXVzdG4ndCBiZSBncmVhdGVyIHRoYW4gdGhlIHNpemUgb2YgdGhlIHBhZGRlZCBvdXRwdXQuCiAg
ICAgICAgIHNpemVfdCBzaXplID0gb3V0cHV0LnNpemUoKTsKICAgICAgICAgaWYgKHBhZGRpbmdW
YWx1ZSA+IHNpemUpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCisgICAgICAg
IC8vIEJhaWwgaWYgdGhlIGxhc3QgYHBhZGRpbmdWYWx1ZWAgYnl0ZXMgZG9uJ3QgaGF2ZSB0aGUg
dmFsdWUgb2YgYHBhZGRpbmdWYWx1ZWAuCiAgICAgICAgIGlmIChzdGQ6OmNvdW50KG91dHB1dC5l
bmQoKSAtIHBhZGRpbmdWYWx1ZSwgb3V0cHV0LmVuZCgpLCBwYWRkaW5nVmFsdWUpICE9IHBhZGRp
bmdWYWx1ZSkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKKyAgICAgICAgLy8g
U2hyaW5rIHRoZSBvdXRwdXQgVmVjdG9yIG9iamVjdCB0byBkcm9wIHRoZSBQS0NTIzcgcGFkZGlu
Zy4KICAgICAgICAgb3V0cHV0LnJlc2l6ZShzaXplIC0gcGFkZGluZ1ZhbHVlKTsKICAgICB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvQ3J5cHRvQWxnb3JpdGht
QUVTX0dDTUdDcnlwdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0NyeXB0b0Fs
Z29yaXRobUFFU19HQ01HQ3J5cHQuY3BwCmluZGV4IGFlOWEyOWI5NDA4ZmE2YmJjZjBiODk5MGEz
MzVlODdiNzVkZDk2NTAuLjY4MTM0YzRiNjU3MTFiNGRkNTU5Y2E4YjA5MzU5ODRhOGYxMTE5MTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvQ3J5cHRvQWxnb3JpdGht
QUVTX0dDTUdDcnlwdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9Dcnlw
dG9BbGdvcml0aG1BRVNfR0NNR0NyeXB0LmNwcApAQCAtNDMsMTAgKzQzLDEyIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogc3RhdGljIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiBnY3J5
cHRFbmNyeXB0KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5LCBjb25zdCBWZWN0b3I8dWludDhf
dD4mIGl2LCBWZWN0b3I8dWludDhfdD4mJiBwbGFpblRleHQsIGNvbnN0IFZlY3Rvcjx1aW50OF90
PiYgYWRkaXRpb25hbERhdGEsIHVpbnQ4X3QgdGFnTGVuZ3RoKQogeworICAgIC8vIERldGVybWlu
ZSB0aGUgQUVTIGFsZ29yaXRobSBmb3IgdGhlIGdpdmVuIGtleSBzaXplLgogICAgIGF1dG8gYWxn
b3JpdGhtID0gUEFMOjpHQ3J5cHQ6OmFlc0FsZ29yaXRobUZvcktleVNpemUoa2V5LnNpemUoKSAq
IDgpOwogICAgIGlmICghYWxnb3JpdGhtKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owog
CisgICAgLy8gQ3JlYXRlIGEgbmV3IEdDcnlwdCBjaXBoZXIgb2JqZWN0IGZvciB0aGUgQUVTIGFs
Z29yaXRobSBhbmQgdGhlIEdDTSBjaXBoZXIgbW9kZS4KICAgICBQQUw6OkdDcnlwdDo6SGFuZGxl
PGdjcnlfY2lwaGVyX2hkX3Q+IGhhbmRsZTsKICAgICBnY3J5X2Vycm9yX3QgZXJyb3IgPSBnY3J5
X2NpcGhlcl9vcGVuKCZoYW5kbGUsICphbGdvcml0aG0sIEdDUllfQ0lQSEVSX01PREVfR0NNLCBH
Q1JZX0NJUEhFUl9TRUNVUkUpOwogICAgIGlmIChlcnJvciAhPSBHUEdfRVJSX05PX0VSUk9SKSB7
CkBAIC01NCwxOCArNTYsMjEgQEAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+
PiBnY3J5cHRFbmNyeXB0KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5LAogICAgICAgICByZXR1
cm4gc3RkOjpudWxsb3B0OwogICAgIH0KIAorICAgIC8vIFVzZSB0aGUgZ2l2ZW4ga2V5IGZvciB0
aGlzIGNpcGhlciBvYmplY3QuCiAgICAgZXJyb3IgPSBnY3J5X2NpcGhlcl9zZXRrZXkoaGFuZGxl
LCBrZXkuZGF0YSgpLCBrZXkuc2l6ZSgpKTsKICAgICBpZiAoZXJyb3IgIT0gR1BHX0VSUl9OT19F
UlJPUikgewogICAgICAgICBQQUw6OkdDcnlwdDo6bG9nRXJyb3IoZXJyb3IpOwogICAgICAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIH0KIAorICAgIC8vIFVzZSB0aGUgZ2l2ZW4gSVYgZm9y
IHRoaXMgY2lwaGVyIG9iamVjdC4KICAgICBlcnJvciA9IGdjcnlfY2lwaGVyX3NldGl2KGhhbmRs
ZSwgaXYuZGF0YSgpLCBpdi5zaXplKCkpOwogICAgIGlmIChlcnJvciAhPSBHUEdfRVJSX05PX0VS
Uk9SKSB7CiAgICAgICAgIFBBTDo6R0NyeXB0Ojpsb2dFcnJvcihlcnJvcik7CiAgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgfQogCisgICAgLy8gVXNlIHRoZSBnaXZlbiBhZGRpdG9u
YWwgZGF0YSwgaWYgYW55LCBhcyB0aGUgYXV0aGVudGljYXRpb24gZGF0YSBmb3IgdGhpcyBjaXBo
ZXIgb2JqZWN0LgogICAgIGlmICghYWRkaXRpb25hbERhdGEuaXNFbXB0eSgpKSB7CiAgICAgICAg
IGVycm9yID0gZ2NyeV9jaXBoZXJfYXV0aGVudGljYXRlKGhhbmRsZSwgYWRkaXRpb25hbERhdGEu
ZGF0YSgpLCBhZGRpdGlvbmFsRGF0YS5zaXplKCkpOwogICAgICAgICBpZiAoZXJyb3IgIT0gR1BH
X0VSUl9OT19FUlJPUikgewpAQCAtNzQsMTIgKzc5LDE0IEBAIHN0YXRpYyBzdGQ6Om9wdGlvbmFs
PFZlY3Rvcjx1aW50OF90Pj4gZ2NyeXB0RW5jcnlwdChjb25zdCBWZWN0b3I8dWludDhfdD4mIGtl
eSwKICAgICAgICAgfQogICAgIH0KIAorICAgIC8vIEZpbmFsaXplIHRoZSBjaXBoZXIgb2JqZWN0
IGJlZm9yZSBwZXJmb3JtaW5nIHRoZSBlbmNyeXB0aW9uLgogICAgIGVycm9yID0gZ2NyeV9jaXBo
ZXJfZmluYWwoaGFuZGxlKTsKICAgICBpZiAoZXJyb3IgIT0gR1BHX0VSUl9OT19FUlJPUikgewog
ICAgICAgICBQQUw6OkdDcnlwdDo6bG9nRXJyb3IoZXJyb3IpOwogICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OwogICAgIH0KIAorICAgIC8vIFBlcmZvcm0gdGhlIGVuY3J5cHRpb24gYW5kIHJl
dHJpZXZlIHRoZSBlbmNyeXB0ZWQgb3V0cHV0LgogICAgIFZlY3Rvcjx1aW50OF90PiBvdXRwdXQo
cGxhaW5UZXh0LnNpemUoKSk7CiAgICAgZXJyb3IgPSBnY3J5X2NpcGhlcl9lbmNyeXB0KGhhbmRs
ZSwgb3V0cHV0LmRhdGEoKSwgb3V0cHV0LnNpemUoKSwgcGxhaW5UZXh0LmRhdGEoKSwgcGxhaW5U
ZXh0LnNpemUoKSk7CiAgICAgaWYgKGVycm9yICE9IEdQR19FUlJfTk9fRVJST1IpIHsKQEAgLTg3
LDYgKzk0LDcgQEAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiBnY3J5cHRF
bmNyeXB0KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5LAogICAgICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OwogICAgIH0KIAorICAgIC8vIElmIHRhZyBsZW5ndGggd2FzIHNwZWNpZmllZCwgcmV0
cmlldmUgdGhlIHRhZyBkYXRhIGFuZCBhcHBlbmQgaXQgdG8gdGhlIG91dHB1dCB2ZWN0b3IuCiAg
ICAgaWYgKHRhZ0xlbmd0aCkgewogICAgICAgICBWZWN0b3I8dWludDhfdD4gdGFnKHRhZ0xlbmd0
aCk7CiAgICAgICAgIGVycm9yID0gZ2NyeV9jaXBoZXJfZ2V0dGFnKGhhbmRsZSwgdGFnLmRhdGEo
KSwgdGFnLnNpemUoKSk7CkBAIC0xMDMsMTAgKzExMSwxMiBAQCBzdGF0aWMgc3RkOjpvcHRpb25h
bDxWZWN0b3I8dWludDhfdD4+IGdjcnlwdEVuY3J5cHQoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBr
ZXksCiAKIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4gZ2NyeXB0RGVjcnlw
dChjb25zdCBWZWN0b3I8dWludDhfdD4mIGtleSwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBpdiwg
VmVjdG9yPHVpbnQ4X3Q+JiYgY2lwaGVyVGV4dCwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBhZGRp
dGlvbmFsRGF0YSwgdWludDhfdCB0YWdMZW5ndGgpCiB7CisgICAgLy8gRGV0ZXJtaW5lIHRoZSBB
RVMgYWxnb3JpdGhtIGZvciB0aGUgZ2l2ZW4ga2V5IHNpemUuCiAgICAgYXV0byBhbGdvcml0aG0g
PSBQQUw6OkdDcnlwdDo6YWVzQWxnb3JpdGhtRm9yS2V5U2l6ZShrZXkuc2l6ZSgpICogOCk7CiAg
ICAgaWYgKCFhbGdvcml0aG0pCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKKyAgICAv
LyBDcmVhdGUgYSBuZXcgR0NyeXB0IGNpcGhlciBvYmplY3QgZm9yIHRoZSBBRVMgYWxnb3JpdGht
IGFuZCB0aGUgR0NNIGNpcGhlciBtb2RlLgogICAgIFBBTDo6R0NyeXB0OjpIYW5kbGU8Z2NyeV9j
aXBoZXJfaGRfdD4gaGFuZGxlOwogICAgIGdjcnlfZXJyb3JfdCBlcnJvciA9IGdjcnlfY2lwaGVy
X29wZW4oJmhhbmRsZSwgKmFsZ29yaXRobSwgR0NSWV9DSVBIRVJfTU9ERV9HQ00sIDApOwogICAg
IGlmIChlcnJvciAhPSBHUEdfRVJSX05PX0VSUk9SKSB7CkBAIC0xMTQsMTggKzEyNCwyMSBAQCBz
dGF0aWMgc3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+IGdjcnlwdERlY3J5cHQoY29uc3Qg
VmVjdG9yPHVpbnQ4X3Q+JiBrZXksCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAg
fQogCisgICAgLy8gVXNlIHRoZSBnaXZlbiBrZXkgZm9yIHRoaXMgY2lwaGVyIG9iamVjdC4KICAg
ICBlcnJvciA9IGdjcnlfY2lwaGVyX3NldGtleShoYW5kbGUsIGtleS5kYXRhKCksIGtleS5zaXpl
KCkpOwogICAgIGlmIChlcnJvciAhPSBHUEdfRVJSX05PX0VSUk9SKSB7CiAgICAgICAgIFBBTDo6
R0NyeXB0Ojpsb2dFcnJvcihlcnJvcik7CiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAg
ICAgfQogCisgICAgLy8gVXNlIHRoZSBnaXZlbiBJViBmb3IgdGhpcyBjaXBoZXIgb2JqZWN0Lgog
ICAgIGVycm9yID0gZ2NyeV9jaXBoZXJfc2V0aXYoaGFuZGxlLCBpdi5kYXRhKCksIGl2LnNpemUo
KSk7CiAgICAgaWYgKGVycm9yICE9IEdQR19FUlJfTk9fRVJST1IpIHsKICAgICAgICAgUEFMOjpH
Q3J5cHQ6OmxvZ0Vycm9yKGVycm9yKTsKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAg
ICB9CiAKKyAgICAvLyBVc2UgdGhlIGdpdmVuIGFkZGl0b25hbCBkYXRhLCBpZiBhbnksIGFzIHRo
ZSBhdXRoZW50aWNhdGlvbiBkYXRhIGZvciB0aGlzIGNpcGhlciBvYmplY3QuCiAgICAgaWYgKCFh
ZGRpdGlvbmFsRGF0YS5pc0VtcHR5KCkpIHsKICAgICAgICAgZXJyb3IgPSBnY3J5X2NpcGhlcl9h
dXRoZW50aWNhdGUoaGFuZGxlLCBhZGRpdGlvbmFsRGF0YS5kYXRhKCksIGFkZGl0aW9uYWxEYXRh
LnNpemUoKSk7CiAgICAgICAgIGlmIChlcnJvciAhPSBHUEdfRVJSX05PX0VSUk9SKSB7CkBAIC0x
MzQsMTIgKzE0NywxNCBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+IGdj
cnlwdERlY3J5cHQoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXksCiAgICAgICAgIH0KICAgICB9
CiAKKyAgICAvLyBGaW5hbGl6ZSB0aGUgY2lwaGVyIG9iamVjdCBiZWZvcmUgcGVyZm9ybWluZyB0
aGUgZW5jcnlwdGlvbi4KICAgICBlcnJvciA9IGdjcnlfY2lwaGVyX2ZpbmFsKGhhbmRsZSk7CiAg
ICAgaWYgKGVycm9yICE9IEdQR19FUlJfTk9fRVJST1IpIHsKICAgICAgICAgUEFMOjpHQ3J5cHQ6
OmxvZ0Vycm9yKGVycm9yKTsKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICB9CiAK
KyAgICAvLyBBY2NvdW50IGZvciB0aGUgc3BlY2lmaWVkIHRhZyBsZW5ndGggd2hlbiBwZXJmb3Jt
aW5nIHRoZSBkZWNyeXB0aW9uIGFuZCByZXRyaWV2aW5nIHRoZSBkZWNyeXB0ZWQgb3V0cHV0Lgog
ICAgIHNpemVfdCBjaXBoZXJMZW5ndGggPSBjaXBoZXJUZXh0LnNpemUoKSAtIHRhZ0xlbmd0aDsK
ICAgICBWZWN0b3I8dWludDhfdD4gb3V0cHV0KGNpcGhlckxlbmd0aCk7CiAgICAgZXJyb3IgPSBn
Y3J5X2NpcGhlcl9kZWNyeXB0KGhhbmRsZSwgb3V0cHV0LmRhdGEoKSwgb3V0cHV0LnNpemUoKSwg
Y2lwaGVyVGV4dC5kYXRhKCksIGNpcGhlckxlbmd0aCk7CkBAIC0xNDgsNiArMTYzLDkgQEAgc3Rh
dGljIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiBnY3J5cHREZWNyeXB0KGNvbnN0IFZl
Y3Rvcjx1aW50OF90PiYga2V5LAogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIH0K
IAorICAgIC8vIElmIHRhZyBsZW5ndGggd2FzIGluZGVlZCBzcGVjaWZpZWQsIHJldHJpZXZlIHRo
ZSB0YWcgZGF0YSBhbmQgY29tcGFyZSBpdCBzZWN1cmVseSB0byB0aGUgdGFnIGRhdGEgdGhhdAor
ICAgIC8vIGlzIGluIHRoZSBwYXNzZWQtaW4gY2lwaGVyIHRleHQgVmVjdG9yLCBiYWlsaW5nIGlm
IHRoZXJlIGlzIGEgbWlzbWF0Y2ggYW5kIHJldHVybmluZyB0aGUgZGVjcnlwdGVkCisgICAgLy8g
cGxhaW50ZXh0IG90aGVyd2lzZS4KICAgICBpZiAodGFnTGVuZ3RoKSB7CiAgICAgICAgIFZlY3Rv
cjx1aW50OF90PiB0YWcodGFnTGVuZ3RoKTsKICAgICAgICAgZXJyb3IgPSBnY3J5X2NpcGhlcl9n
ZXR0YWcoaGFuZGxlLCB0YWcuZGF0YSgpLCB0YWdMZW5ndGgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3J5cHRvL2djcnlwdC9DcnlwdG9BbGdvcml0aG1BRVNfS1dHQ3J5cHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9DcnlwdG9BbGdvcml0aG1BRVNfS1dHQ3J5cHQu
Y3BwCmluZGV4IGQzOTIxZGNlNmU4ZmQ0Y2I4OTZiNTRhNjBhMDA0ZmI4YzZlNmVmYTkuLjhhZWNh
NmNiM2I3MTc3NGNjMGIwNTYxMGYwYzM1MDgwMzExMDI5NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9nY3J5cHQvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXR0NyeXB0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0NyeXB0b0FsZ29yaXRobUFFU19LV0dDcnlw
dC5jcHAKQEAgLTM5LDEwICszOSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBz
dGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4gZ2NyeXB0V3JhcEtleShjb25zdCBWZWN0b3I8
dWludDhfdD4mIGtleSwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBkYXRhKQogeworICAgIC8vIERl
dGVybWluZSB0aGUgQUVTIGFsZ29yaXRobSBmb3IgdGhlIGdpdmVuIGtleSBzaXplLgogICAgIGF1
dG8gYWxnb3JpdGhtID0gUEFMOjpHQ3J5cHQ6OmFlc0FsZ29yaXRobUZvcktleVNpemUoa2V5LnNp
emUoKSAqIDgpOwogICAgIGlmICghYWxnb3JpdGhtKQogICAgICAgICByZXR1cm4gc3RkOjpudWxs
b3B0OwogCisgICAgLy8gQ3JlYXRlIGEgbmV3IEdDcnlwdCBjaXBoZXIgb2JqZWN0IGZvciB0aGUg
QUVTIGFsZ29yaXRobSBhbmQgdGhlIEFFUy1XcmFwIGNpcGhlciBtb2RlLgogICAgIFBBTDo6R0Ny
eXB0OjpIYW5kbGU8Z2NyeV9jaXBoZXJfaGRfdD4gaGFuZGxlOwogICAgIGdjcnlfZXJyb3JfdCBl
cnJvciA9IGdjcnlfY2lwaGVyX29wZW4oJmhhbmRsZSwgKmFsZ29yaXRobSwgR0NSWV9DSVBIRVJf
TU9ERV9BRVNXUkFQLCAwKTsKICAgICBpZiAoZXJyb3IgIT0gR1BHX0VSUl9OT19FUlJPUikgewpA
QCAtNTAsMTkgKzUyLDIxIEBAIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4g
Z2NyeXB0V3JhcEtleShjb25zdCBWZWN0b3I8dWludDhfdD4mIGtleSwKICAgICAgICAgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsKICAgICB9CiAKKyAgICAvLyBVc2UgdGhlIGdpdmVuIGtleSBmb3IgdGhp
cyBjaXBoZXIgb2JqZWN0LgogICAgIGVycm9yID0gZ2NyeV9jaXBoZXJfc2V0a2V5KGhhbmRsZSwg
a2V5LmRhdGEoKSwga2V5LnNpemUoKSk7CiAgICAgaWYgKGVycm9yICE9IEdQR19FUlJfTk9fRVJS
T1IpIHsKICAgICAgICAgUEFMOjpHQ3J5cHQ6OmxvZ0Vycm9yKGVycm9yKTsKICAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKICAgICB9CiAKKyAgICAvLyBGaW5hbGl6ZSB0aGUgY2lwaGVyIG9i
amVjdCBiZWZvcmUgcGVyZm9ybWluZyB0aGUgZW5jcnlwdGlvbi4KICAgICBlcnJvciA9IGdjcnlf
Y2lwaGVyX2ZpbmFsKGhhbmRsZSk7CiAgICAgaWYgKGVycm9yICE9IEdQR19FUlJfTk9fRVJST1Ip
IHsKICAgICAgICAgUEFMOjpHQ3J5cHQ6OmxvZ0Vycm9yKGVycm9yKTsKICAgICAgICAgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsKICAgICB9CiAKLSAgICAvLyBPbiBlbmNyeXB0aW9uIHRoZSBwcm92aWRl
ZCBvdXRwdXQgYnVmZmVyIG11c3QgYmUgNjQgYml0ICg4IGJ5dGUpIGxhcmdlciB0aGFuIHRoZSBp
bnB1dCBidWZmZXIuCisgICAgLy8gUGVyZm9ybSB0aGUgZW5jcnlwdGlvbi4gVGhlIHByb3ZpZGVk
IG91dHB1dCBidWZmZXIgbXVzdCBiZSA2NCBiaXRzIGxhcmdlciB0aGFuIHRoZSBpbnB1dCBidWZm
ZXIuCiAgICAgVmVjdG9yPHVpbnQ4X3Q+IG91dHB1dChkYXRhLnNpemUoKSArIDgpOwogICAgIGVy
cm9yID0gZ2NyeV9jaXBoZXJfZW5jcnlwdChoYW5kbGUsIG91dHB1dC5kYXRhKCksIG91dHB1dC5z
aXplKCksIGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSk7CiAgICAgaWYgKGVycm9yICE9IEdQR19F
UlJfTk9fRVJST1IpIHsKQEAgLTc1LDEwICs3OSwxMiBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxW
ZWN0b3I8dWludDhfdD4+IGdjcnlwdFdyYXBLZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXks
CiAKIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4gZ2NyeXB0VW53cmFwS2V5
KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5LCBjb25zdCBWZWN0b3I8dWludDhfdD4mIGRhdGEp
CiB7CisgICAgLy8gRGV0ZXJtaW5lIHRoZSBBRVMgYWxnb3JpdGhtIGZvciB0aGUgZ2l2ZW4ga2V5
IHNpemUuCiAgICAgYXV0byBhbGdvcml0aG0gPSBQQUw6OkdDcnlwdDo6YWVzQWxnb3JpdGhtRm9y
S2V5U2l6ZShrZXkuc2l6ZSgpICogOCk7CiAgICAgaWYgKCFhbGdvcml0aG0pCiAgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CiAKKyAgICAvLyBDcmVhdGUgYSBuZXcgR0NyeXB0IGNpcGhlciBv
YmplY3QgZm9yIHRoZSBBRVMgYWxnb3JpdGhtIGFuZCB0aGUgQUVTLVdyYXAgY2lwaGVyIG1vZGUu
CiAgICAgUEFMOjpHQ3J5cHQ6OkhhbmRsZTxnY3J5X2NpcGhlcl9oZF90PiBoYW5kbGU7CiAgICAg
Z2NyeV9lcnJvcl90IGVycm9yID0gZ2NyeV9jaXBoZXJfb3BlbigmaGFuZGxlLCAqYWxnb3JpdGht
LCBHQ1JZX0NJUEhFUl9NT0RFX0FFU1dSQVAsIDApOwogICAgIGlmIChlcnJvciAhPSBHUEdfRVJS
X05PX0VSUk9SKSB7CkBAIC04NiwxOSArOTIsMjEgQEAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8VmVj
dG9yPHVpbnQ4X3Q+PiBnY3J5cHRVbndyYXBLZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXkK
ICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICB9CiAKKyAgICAvLyBVc2UgdGhlIGdp
dmVuIGtleSBmb3IgdGhpcyBjaXBoZXIgb2JqZWN0LgogICAgIGVycm9yID0gZ2NyeV9jaXBoZXJf
c2V0a2V5KGhhbmRsZSwga2V5LmRhdGEoKSwga2V5LnNpemUoKSk7CiAgICAgaWYgKGVycm9yICE9
IEdQR19FUlJfTk9fRVJST1IpIHsKICAgICAgICAgUEFMOjpHQ3J5cHQ6OmxvZ0Vycm9yKGVycm9y
KTsKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICB9CiAKKyAgICAvLyBGaW5hbGl6
ZSB0aGUgY2lwaGVyIG9iamVjdCBiZWZvcmUgcGVyZm9ybWluZyB0aGUgZW5jcnlwdGlvbi4KICAg
ICBlcnJvciA9IGdjcnlfY2lwaGVyX2ZpbmFsKGhhbmRsZSk7CiAgICAgaWYgKGVycm9yICE9IEdQ
R19FUlJfTk9fRVJST1IpIHsKICAgICAgICAgUEFMOjpHQ3J5cHQ6OmxvZ0Vycm9yKGVycm9yKTsK
ICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICB9CiAKLSAgICAvLyBPbiBkZWNyeXB0
aW9uIHRoZSBvdXRwdXQgYnVmZmVyIG1heSBiZSBzcGVjaWZpZWQgNjQgYml0ICg4IGJ5dGUpIHNo
b3J0ZXIgdGhhbiB0aGVuIGlucHV0IGJ1ZmZlci4KKyAgICAvLyBQZXJmb3JtIHRoZSBkZWNyeXB0
aW9uLiBUaGUgb3V0cHV0IGJ1ZmZlciBtYXkgYmUgc3BlY2lmaWVkIDY0IGJpdHMgc2hvcnRlciB0
aGFuIHRoZSBpbnB1dCBidWZmZXIuCiAgICAgVmVjdG9yPHVpbnQ4X3Q+IG91dHB1dChkYXRhLnNp
emUoKSAtIDgpOwogICAgIGVycm9yID0gZ2NyeV9jaXBoZXJfZGVjcnlwdChoYW5kbGUsIG91dHB1
dC5kYXRhKCksIG91dHB1dC5zaXplKCksIGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSk7CiAgICAg
aWYgKGVycm9yICE9IEdQR19FUlJfTk9fRVJST1IpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9nY3J5cHQvQ3J5cHRvQWxnb3JpdGhtUEJLREYyR0NyeXB0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvQ3J5cHRvQWxnb3JpdGhtUEJLREYyR0NyeXB0LmNwcApp
bmRleCA1ZmQ5ZThlNWM5ODM3MTE3ZTI5YTQ1ZGYxM2U2N2UwMDJlYjJjY2E3Li4zNTZkZWRiMmUy
ZmE0YmQ3MWUxOTlhM2FmNDg3NjJkMThhZjk0NTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8vZ2NyeXB0L0NyeXB0b0FsZ29yaXRobVBCS0RGMkdDcnlwdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9DcnlwdG9BbGdvcml0aG1QQktERjJHQ3J5cHQuY3Bw
CkBAIC00MCw2ICs0MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIHN0ZDo6b3B0
aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiBnY3J5cHREZXJpdmVCaXRzKGNvbnN0IFZlY3Rvcjx1aW50
OF90PiYga2V5RGF0YSwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBzYWx0RGF0YSwgQ3J5cHRvQWxn
b3JpdGhtSWRlbnRpZmllciBoYXNoSWRlbnRpZmllciwgc2l6ZV90IGl0ZXJhdGlvbnMsIHNpemVf
dCBsZW5ndGgpCiB7CisgICAgLy8gRGV0ZXJtaW5lIHRoZSBoYXNoIGFsZ29yaXRobSB0aGF0IHdp
bGwgYmUgdXNlZCBmb3IgZGVyaXZhdGlvbi4KICAgICBhdXRvIGhhc2hBbGdvcml0aG0gPSBkaWdl
c3RBbGdvcml0aG0oaGFzaElkZW50aWZpZXIpOwogICAgIGlmICghaGFzaEFsZ29yaXRobSkKICAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKQEAgLTQ3LDYgKzQ4LDcgQEAgc3RhdGljIHN0ZDo6
b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiBnY3J5cHREZXJpdmVCaXRzKGNvbnN0IFZlY3Rvcjx1
aW50OF90PiYga2UKICAgICAvLyBMZW5ndGgsIGluIGJpdHMsIGlzIGEgbXVsdGlwbGUgb2YgOCwg
YXMgZ3VhcmFudGVlZCBieSBDcnlwdG9BbGdvcml0aG1QQktERjI6OmRlcml2ZUJpdHMoKS4KICAg
ICBBU1NFUlQoIShsZW5ndGggJSA4KSk7CiAKKyAgICAvLyBEZXJpdmUgYml0cyB1c2luZyBQQktE
RjIsIHRoZSBzcGVjaWZpZWQgaGFzaCBhbGdvcml0aG0sIHNhbHQgZGF0YSBhbmQgaXRlcmF0aW9u
IGNvdW50LgogICAgIFZlY3Rvcjx1aW50OF90PiByZXN1bHQobGVuZ3RoIC8gOCk7CiAgICAgZ2Ny
eV9lcnJvcl90IGVycm9yID0gZ2NyeV9rZGZfZGVyaXZlKGtleURhdGEuZGF0YSgpLCBrZXlEYXRh
LnNpemUoKSwgR0NSWV9LREZfUEJLREYyLCAqaGFzaEFsZ29yaXRobSwgc2FsdERhdGEuZGF0YSgp
LCBzYWx0RGF0YS5zaXplKCksIGl0ZXJhdGlvbnMsIHJlc3VsdC5zaXplKCksIHJlc3VsdC5kYXRh
KCkpOwogICAgIGlmIChlcnJvciAhPSBHUEdfRVJSX05PX0VSUk9SKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0NyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92
MV81R0NyeXB0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvQ3J5cHRvQWxnb3Jp
dGhtUlNBU1NBX1BLQ1MxX3YxXzVHQ3J5cHQuY3BwCmluZGV4IDEwNjZmMDEzMWNiNzMyOTFlMjI3
YmEyYTIzZGUzNzJlOTI3N2QwNjMuLjc0MDExOWRmNWVlMmJjYzZhMjViYzdkNGU4Nzk0OTI0NDgw
ZWE2M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvQ3J5cHRvQWxn
b3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzVHQ3J5cHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9nY3J5cHQvQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzVHQ3J5cHQuY3BwCkBA
IC0xMzEsNyArMTMxLDggQEAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gZ2NyeXB0VmVyaWZ5
KGdjcnlfc2V4cF90IGtleVNleHAsIGNvbnN0IFZlY3Rvcjx1aW50OF8KICAgICB9CiAKICAgICAv
LyBQZXJmb3JtIHRoZSBQSyB2ZXJpZmljYXRpb24uIFdlIHJlcG9ydCBzdWNjZXNzIGlmIHRoZXJl
J3Mgbm8gZXJyb3IgcmV0dXJuZWQsIG9yCi0gICAgLy8gYSBmYWlsdXJlIGluIGFueSBvdGhlciBj
YXNlLiBPcGVyYXRpb25FcnJvciBzaG91bGQgbm90IGJlIHJldHVybmVkIGF0IHRoaXMgcG9pbnQu
CisgICAgLy8gYSBmYWlsdXJlIGluIGFueSBvdGhlciBjYXNlLiBPcGVyYXRpb25FcnJvciBzaG91
bGQgbm90IGJlIHJldHVybmVkIGF0IHRoaXMgcG9pbnQsCisgICAgLy8gYXZvaWRpbmcgc3BpbGxp
bmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGV4YWN0IGNhdXNlIG9mIHZlcmlmaWNhdGlvbiBmYWls
dXJlLgogICAgIGVycm9yID0gZ2NyeV9wa192ZXJpZnkoc2lnbmF0dXJlU2V4cCwgZGF0YVNleHAs
IGtleVNleHApOwogICAgIHJldHVybiB7IGVycm9yID09IEdQR19FUlJfTk9fRVJST1IgfTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>