<?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>73578</bug_id>
          
          <creation_ts>2011-12-01 11:28:16 -0800</creation_ts>
          <short_desc>IndexedDB: Rename &quot;multientry&quot; to &quot;multiEntry&quot; per spec change</short_desc>
          <delta_ts>2011-12-02 10:32:05 -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>528+ (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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joshua Bell">jsbell</reporter>
          <assigned_to name="Joshua Bell">jsbell</assigned_to>
          <cc>abarth</cc>
    
    <cc>dgrogan</cc>
    
    <cc>fishd</cc>
    
    <cc>hans</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>512932</commentid>
    <comment_count>0</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-12-01 11:28:16 -0800</bug_when>
    <thetext>IndexedDB: Rename &quot;multientry&quot; to &quot;multiEntry&quot; per spec change</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512961</commentid>
    <comment_count>1</comment_count>
      <attachid>117453</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-12-01 11:54:53 -0800</bug_when>
    <thetext>Created attachment 117453
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512962</commentid>
    <comment_count>2</comment_count>
      <attachid>117453</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-12-01 11:57:06 -0800</bug_when>
    <thetext>Comment on attachment 117453
Patch

fishd@ - r?/cq?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512972</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-01 12:04:38 -0800</bug_when>
    <thetext>Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513500</commentid>
    <comment_count>4</comment_count>
      <attachid>117453</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-12-01 22:30:44 -0800</bug_when>
    <thetext>Comment on attachment 117453
Patch

cool, thanks!  R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513524</commentid>
    <comment_count>5</comment_count>
      <attachid>117453</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-01 22:48:07 -0800</bug_when>
    <thetext>Comment on attachment 117453
Patch

Rejecting attachment 117453 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
112463 --non-interactive --force --accept theirs-conflict --ignore-externals returned non-zero exit status 1 in /mnt/git/webkit-commit-queue/Source/WebKit/chromium
Error: &apos;depot_tools/gclient sync --force --reset --delete_unversioned_trees&apos; failed 3 tries and returned 256 at Tools/Scripts/update-webkit-chromium line 109.
Re-trying &apos;depot_tools/gclient sync --force --reset --delete_unversioned_trees&apos;
No such file or directory at /mnt/git/webkit-commit-queue/Tools/Scripts/webkitdirs.pm line 2076.

Full output: http://queues.webkit.org/results/10689326</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513904</commentid>
    <comment_count>6</comment_count>
      <attachid>117453</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-02 10:32:00 -0800</bug_when>
    <thetext>Comment on attachment 117453
Patch

Clearing flags on attachment: 117453

Committed r101824: &lt;http://trac.webkit.org/changeset/101824&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513905</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-02 10:32:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117453</attachid>
            <date>2011-12-01 11:54:53 -0800</date>
            <delta_ts>2011-12-02 10:32:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73578-20111201115452.patch</filename>
            <type>text/plain</type>
            <size>47682</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNjgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2IyNzBhNDE3NTRlZTQ2
ZWNjZTE1MmQwZDQyNjc2YjJkYjM4ZmIyMS4uMzA2YjUxMjZhNDkzZTNjZTc5YWY5ZjI3MzBmNmZk
Mjg4NDBlZjk4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDExLTEyLTAxICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBSZW5h
bWUgIm11bHRpZW50cnkiIHRvICJtdWx0aUVudHJ5IiBwZXIgc3BlYyBjaGFuZ2UKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczNTc4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdG9yYWdlL0lEQkluZGV4
Lmg6CisgICAgICAgIChXZWJDb3JlOjpJREJJbmRleDo6bXVsdGlFbnRyeSk6CisgICAgICAgICog
c3RvcmFnZS9JREJJbmRleC5pZGw6CisgICAgICAgICogc3RvcmFnZS9JREJJbmRleEJhY2tlbmRJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkluZGV4QmFja2VuZEltcGw6OklEQkluZGV4
QmFja2VuZEltcGwpOgorICAgICAgICAqIHN0b3JhZ2UvSURCSW5kZXhCYWNrZW5kSW1wbC5oOgor
ICAgICAgICAoV2ViQ29yZTo6SURCSW5kZXhCYWNrZW5kSW1wbDo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OklEQkluZGV4QmFja2VuZEltcGw6Om11bHRpRW50cnkpOgorICAgICAgICAqIHN0
b3JhZ2UvSURCSW5kZXhCYWNrZW5kSW50ZXJmYWNlLmg6CisgICAgICAgICogc3RvcmFnZS9JREJM
ZXZlbERCQmFja2luZ1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkxldmVsREJCYWNr
aW5nU3RvcmU6OmdldEluZGV4ZXMpOgorICAgICAgICAoV2ViQ29yZTo6SURCTGV2ZWxEQkJhY2tp
bmdTdG9yZTo6Y3JlYXRlSW5kZXgpOgorICAgICAgICAqIHN0b3JhZ2UvSURCTGV2ZWxEQkNvZGlu
Zy5jcHA6CisgICAgICAgICogc3RvcmFnZS9JREJPYmplY3RTdG9yZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6Y3JlYXRlSW5kZXgpOgorICAgICAgICAqIHN0b3JhZ2Uv
SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmpl
Y3RTdG9yZUJhY2tlbmRJbXBsOjpwdXRJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpJREJP
YmplY3RTdG9yZUJhY2tlbmRJbXBsOjpjcmVhdGVJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpJ
REJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpjcmVhdGVJbmRleEludGVybmFsKToKKyAgICAgICAg
KFdlYkNvcmU6OklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmxvYWRJbmRleGVzKToKKyAgICAg
ICAgKiBzdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuaDoKKyAgICAgICAgKiBzdG9y
YWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFjZS5oOgorCiAyMDExLTEyLTAxICBSb2xh
bmQgU3RlaW5lciAgPHJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFNoYWRv
dyBJRCBwc2V1ZG8tZWxlbWVudCBzZWxlY3RvcnMgc2VyaWFsaXplIGluY29ycmVjdGx5CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDZiNTRkNmFkZjdkYjY0ZWM4MmJjNzlhNWY3ZTg2ZTZh
NDdjNmNiOTYuLmFjMjM2NWFjZGM3N2JlMDZmYmFkZDFkNDY1YWM3MTFmMDk3OGNiZGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMTItMDEgIEpvc2h1
YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IFJlbmFt
ZSAibXVsdGllbnRyeSIgdG8gIm11bHRpRW50cnkiIHBlciBzcGVjIGNoYW5nZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NzgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1YmxpYy9XZWJJREJJbmRl
eC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJJbmRleDo6bXVsdGlFbnRyeSk6CisgICAgICAg
ICogcHVibGljL1dlYklEQk9iamVjdFN0b3JlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYklEQk9i
amVjdFN0b3JlOjpjcmVhdGVJbmRleCk6CisgICAgICAgICogc3JjL0lEQkluZGV4QmFja2VuZFBy
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6SURCSW5kZXhCYWNrZW5kUHJveHk6Om11bHRpRW50
cnkpOgorICAgICAgICAqIHNyYy9JREJJbmRleEJhY2tlbmRQcm94eS5oOgorICAgICAgICAqIHNy
Yy9JREJPYmplY3RTdG9yZUJhY2tlbmRQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OklEQk9i
amVjdFN0b3JlQmFja2VuZFByb3h5OjpjcmVhdGVJbmRleCk6CisgICAgICAgICogc3JjL0lEQk9i
amVjdFN0b3JlQmFja2VuZFByb3h5Lmg6CisgICAgICAgICogc3JjL1dlYklEQkluZGV4SW1wbC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYklEQkluZGV4SW1wbDo6bXVsdGlFbnRyeSk6CisgICAg
ICAgICogc3JjL1dlYklEQkluZGV4SW1wbC5oOgorICAgICAgICAqIHNyYy9XZWJJREJPYmplY3RT
dG9yZUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJPYmplY3RTdG9yZUltcGw6OmNy
ZWF0ZUluZGV4KToKKyAgICAgICAgKiBzcmMvV2ViSURCT2JqZWN0U3RvcmVJbXBsLmg6CisKIDIw
MTEtMTItMDEgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IGZ1cnRoZXIgYWxpZ24gZnJvbnQtZW5kIGNvbmZpZ3VyYXRpb25zOiBn
ZXQgcmlkIG9mIHNhdmVBc0F2YWlsYWJsZSBwcmVmZXJlbmNlLCBpbmxpbmUgZHJhZyBnbGFzcyBw
YW5lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJCYWNraW5nU3RvcmUu
aCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCQmFja2luZ1N0b3JlLmgKaW5kZXggYjJhYmM4
OTNjZGUwZGNmN2E4YzVkYmVhMDVhNDAxZTJkYjIwZjhkYi4uYjVmY2IzYWQ3MDdiZjdjYTEyMDRl
YmY2MTlkZTc0N2FhMmJjN2I5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9J
REJCYWNraW5nU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkJhY2tpbmdT
dG9yZS5oCkBAIC03Nyw4ICs3Nyw4IEBAIHB1YmxpYzoKICAgICB9OwogICAgIHZpcnR1YWwgYm9v
bCBmb3JFYWNoT2JqZWN0U3RvcmVSZWNvcmQoaW50NjRfdCBkYXRhYmFzZUlkLCBpbnQ2NF90IG9i
amVjdFN0b3JlSWQsIE9iamVjdFN0b3JlUmVjb3JkQ2FsbGJhY2smKSA9IDA7CiAKLSAgICB2aXJ0
dWFsIHZvaWQgZ2V0SW5kZXhlcyhpbnQ2NF90IGRhdGFiYXNlSWQsIGludDY0X3Qgb2JqZWN0U3Rv
cmVJZCwgVmVjdG9yPGludDY0X3Q+JiBmb3VuZElkcywgVmVjdG9yPFN0cmluZz4mIGZvdW5kTmFt
ZXMsIFZlY3RvcjxTdHJpbmc+JiBmb3VuZEtleVBhdGhzLCBWZWN0b3I8Ym9vbD4mIGZvdW5kVW5p
cXVlRmxhZ3MsIFZlY3Rvcjxib29sPiYgZm91bmRNdWx0aWVudHJ5RmxhZ3MpID0gMDsKLSAgICB2
aXJ0dWFsIGJvb2wgY3JlYXRlSW5kZXgoaW50NjRfdCBkYXRhYmFzZUlkLCBpbnQ2NF90IG9iamVj
dFN0b3JlSWQsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBrZXlQYXRoLCBib29s
IGlzVW5pcXVlLCBib29sIGlzTXVsdGllbnRyeSwgaW50NjRfdCYgaW5kZXhJZCkgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBnZXRJbmRleGVzKGludDY0X3QgZGF0YWJhc2VJZCwgaW50NjRfdCBvYmpl
Y3RTdG9yZUlkLCBWZWN0b3I8aW50NjRfdD4mIGZvdW5kSWRzLCBWZWN0b3I8U3RyaW5nPiYgZm91
bmROYW1lcywgVmVjdG9yPFN0cmluZz4mIGZvdW5kS2V5UGF0aHMsIFZlY3Rvcjxib29sPiYgZm91
bmRVbmlxdWVGbGFncywgVmVjdG9yPGJvb2w+JiBmb3VuZE11bHRpRW50cnlGbGFncykgPSAwOwor
ICAgIHZpcnR1YWwgYm9vbCBjcmVhdGVJbmRleChpbnQ2NF90IGRhdGFiYXNlSWQsIGludDY0X3Qg
b2JqZWN0U3RvcmVJZCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGtleVBhdGgs
IGJvb2wgaXNVbmlxdWUsIGJvb2wgaXNNdWx0aUVudHJ5LCBpbnQ2NF90JiBpbmRleElkKSA9IDA7
CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZUluZGV4KGludDY0X3QgZGF0YWJhc2VJZCwgaW50NjRf
dCBvYmplY3RTdG9yZUlkLCBpbnQ2NF90IGluZGV4SWQpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wg
cHV0SW5kZXhEYXRhRm9yUmVjb3JkKGludDY0X3QgZGF0YWJhc2VJZCwgaW50NjRfdCBvYmplY3RT
dG9yZUlkLCBpbnQ2NF90IGluZGV4SWQsIGNvbnN0IElEQktleSYsIGNvbnN0IE9iamVjdFN0b3Jl
UmVjb3JkSWRlbnRpZmllciopID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlSW5kZXhEYXRh
Rm9yUmVjb3JkKGludDY0X3QgZGF0YWJhc2VJZCwgaW50NjRfdCBvYmplY3RTdG9yZUlkLCBpbnQ2
NF90IGluZGV4SWQsIGNvbnN0IE9iamVjdFN0b3JlUmVjb3JkSWRlbnRpZmllciopID0gMDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCSW5kZXguaCBiL1NvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvSURCSW5kZXguaAppbmRleCAwYTZiNGIzZmFiM2JjZmYxZmJiMTI5MzE4MWFh
ZWJmMGM2NDAzNTkxLi41ZDg4YWZjZGZiNmVhNTExYmQ3M2NkNjZkY2I5ZTA0ZTYyMGE2N2E3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkluZGV4LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3RvcmFnZS9JREJJbmRleC5oCkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKICAg
ICBJREJPYmplY3RTdG9yZSogb2JqZWN0U3RvcmUoKSBjb25zdCB7IHJldHVybiBtX29iamVjdFN0
b3JlLmdldCgpOyB9CiAgICAgU3RyaW5nIGtleVBhdGgoKSBjb25zdCB7IHJldHVybiBtX2JhY2tl
bmQtPmtleVBhdGgoKTsgfQogICAgIGJvb2wgdW5pcXVlKCkgY29uc3QgeyByZXR1cm4gbV9iYWNr
ZW5kLT51bmlxdWUoKTsgfQotICAgIGJvb2wgbXVsdGllbnRyeSgpIGNvbnN0IHsgcmV0dXJuIG1f
YmFja2VuZC0+bXVsdGllbnRyeSgpOyB9CisgICAgYm9vbCBtdWx0aUVudHJ5KCkgY29uc3QgeyBy
ZXR1cm4gbV9iYWNrZW5kLT5tdWx0aUVudHJ5KCk7IH0KIAogICAgIC8vIEZJWE1FOiBUcnkgdG8g
bW9kaWZ5IHRoZSBjb2RlIGdlbmVyYXRvciBzbyB0aGlzIGlzIHVubmVlZGVkLgogICAgIFBhc3NS
ZWZQdHI8SURCUmVxdWVzdD4gb3BlbkN1cnNvcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gb3BlbkN1cnNvcihjb250ZXh0LCAwLCBl
Yyk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCSW5kZXguaWRsIGIv
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJJbmRleC5pZGwKaW5kZXggOTllMzgyZmNhYjM3Y2Yz
MTM2NzQwY2QxYjU3MmViNDVlODc5N2U4MC4uYjBmMzJhYTdhMGU5ZWQ3ZjM2MWM3NzQ5M2I5ZWEx
MzVhOTkwNTMzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJJbmRleC5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJJbmRleC5pZGwKQEAgLTMyLDcgKzMy
LDcgQEAgbW9kdWxlIHN0b3JhZ2UgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgSURCT2Jq
ZWN0U3RvcmUgb2JqZWN0U3RvcmU7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmcga2V5UGF0aDsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gdW5pcXVlOwot
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBtdWx0aWVudHJ5OworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBtdWx0aUVudHJ5OwogCiAgICAgICAgIFtDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBJREJSZXF1ZXN0IG9wZW5DdXJzb3IoaW4gW09wdGlv
bmFsXSBJREJLZXlSYW5nZSByYW5nZSwgaW4gW09wdGlvbmFsXSB1bnNpZ25lZCBzaG9ydCBkaXJl
Y3Rpb24pCiAgICAgICAgICAgICByYWlzZXMgKElEQkRhdGFiYXNlRXhjZXB0aW9uKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCSW5kZXhCYWNrZW5kSW1wbC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkluZGV4QmFja2VuZEltcGwuY3BwCmluZGV4IGEzMjk4
YjUyNzRkNjMyMGMzZDVmZjFlMDVhYTBmMzU5ZDBiZWU5MzguLmYwZGNmM2Q3ZWQzOWVkOWMyNWQy
YTNiMDdlZmY3YmNkNGY1YmQzOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
SURCSW5kZXhCYWNrZW5kSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJJ
bmRleEJhY2tlbmRJbXBsLmNwcApAQCAtNDAsNyArNDAsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLUlEQkluZGV4QmFja2VuZEltcGw6OklEQkluZGV4QmFja2VuZEltcGwoSURCQmFja2lu
Z1N0b3JlKiBiYWNraW5nU3RvcmUsIGludDY0X3QgZGF0YWJhc2VJZCwgY29uc3QgSURCT2JqZWN0
U3RvcmVCYWNrZW5kSW1wbCogb2JqZWN0U3RvcmVCYWNrZW5kLCBpbnQ2NF90IGlkLCBjb25zdCBT
dHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgc3RvcmVOYW1lLCBjb25zdCBTdHJpbmcmIGtleVBh
dGgsIGJvb2wgdW5pcXVlLCBib29sIG11bHRpZW50cnkpCitJREJJbmRleEJhY2tlbmRJbXBsOjpJ
REJJbmRleEJhY2tlbmRJbXBsKElEQkJhY2tpbmdTdG9yZSogYmFja2luZ1N0b3JlLCBpbnQ2NF90
IGRhdGFiYXNlSWQsIGNvbnN0IElEQk9iamVjdFN0b3JlQmFja2VuZEltcGwqIG9iamVjdFN0b3Jl
QmFja2VuZCwgaW50NjRfdCBpZCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHN0
b3JlTmFtZSwgY29uc3QgU3RyaW5nJiBrZXlQYXRoLCBib29sIHVuaXF1ZSwgYm9vbCBtdWx0aUVu
dHJ5KQogICAgIDogbV9iYWNraW5nU3RvcmUoYmFja2luZ1N0b3JlKQogICAgICwgbV9kYXRhYmFz
ZUlkKGRhdGFiYXNlSWQpCiAgICAgLCBtX29iamVjdFN0b3JlQmFja2VuZChvYmplY3RTdG9yZUJh
Y2tlbmQpCkBAIC00OSwxMSArNDksMTEgQEAgSURCSW5kZXhCYWNrZW5kSW1wbDo6SURCSW5kZXhC
YWNrZW5kSW1wbChJREJCYWNraW5nU3RvcmUqIGJhY2tpbmdTdG9yZSwgaW50NjRfdAogICAgICwg
bV9zdG9yZU5hbWUoc3RvcmVOYW1lKQogICAgICwgbV9rZXlQYXRoKGtleVBhdGgpCiAgICAgLCBt
X3VuaXF1ZSh1bmlxdWUpCi0gICAgLCBtX211bHRpZW50cnkobXVsdGllbnRyeSkKKyAgICAsIG1f
bXVsdGlFbnRyeShtdWx0aUVudHJ5KQogewogfQogCi1JREJJbmRleEJhY2tlbmRJbXBsOjpJREJJ
bmRleEJhY2tlbmRJbXBsKElEQkJhY2tpbmdTdG9yZSogYmFja2luZ1N0b3JlLCBpbnQ2NF90IGRh
dGFiYXNlSWQsIGNvbnN0IElEQk9iamVjdFN0b3JlQmFja2VuZEltcGwqIG9iamVjdFN0b3JlQmFj
a2VuZCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHN0b3JlTmFtZSwgY29uc3Qg
U3RyaW5nJiBrZXlQYXRoLCBib29sIHVuaXF1ZSwgYm9vbCBtdWx0aWVudHJ5KQorSURCSW5kZXhC
YWNrZW5kSW1wbDo6SURCSW5kZXhCYWNrZW5kSW1wbChJREJCYWNraW5nU3RvcmUqIGJhY2tpbmdT
dG9yZSwgaW50NjRfdCBkYXRhYmFzZUlkLCBjb25zdCBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBs
KiBvYmplY3RTdG9yZUJhY2tlbmQsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBz
dG9yZU5hbWUsIGNvbnN0IFN0cmluZyYga2V5UGF0aCwgYm9vbCB1bmlxdWUsIGJvb2wgbXVsdGlF
bnRyeSkKICAgICA6IG1fYmFja2luZ1N0b3JlKGJhY2tpbmdTdG9yZSkKICAgICAsIG1fZGF0YWJh
c2VJZChkYXRhYmFzZUlkKQogICAgICwgbV9vYmplY3RTdG9yZUJhY2tlbmQob2JqZWN0U3RvcmVC
YWNrZW5kKQpAQCAtNjIsNyArNjIsNyBAQCBJREJJbmRleEJhY2tlbmRJbXBsOjpJREJJbmRleEJh
Y2tlbmRJbXBsKElEQkJhY2tpbmdTdG9yZSogYmFja2luZ1N0b3JlLCBpbnQ2NF90CiAgICAgLCBt
X3N0b3JlTmFtZShzdG9yZU5hbWUpCiAgICAgLCBtX2tleVBhdGgoa2V5UGF0aCkKICAgICAsIG1f
dW5pcXVlKHVuaXF1ZSkKLSAgICAsIG1fbXVsdGllbnRyeShtdWx0aWVudHJ5KQorICAgICwgbV9t
dWx0aUVudHJ5KG11bHRpRW50cnkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvSURCSW5kZXhCYWNrZW5kSW1wbC5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9J
REJJbmRleEJhY2tlbmRJbXBsLmgKaW5kZXggNDBkMzMzMzRiOTUxNTUzMWMyMTMzNjJiNTkyZjkw
ZjE5YWJmNzU2Mi4uNDJlNWY3NzAyMzFmM2Y0OTk0ODM5M2RhNDUwMjM0ZTYyNjZmMGZhMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJJbmRleEJhY2tlbmRJbXBsLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJJbmRleEJhY2tlbmRJbXBsLmgKQEAgLTQwLDEz
ICs0MCwxMyBAQCBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiBjbGFzcyBJREJJbmRl
eEJhY2tlbmRJbXBsIDogcHVibGljIElEQkluZGV4QmFja2VuZEludGVyZmFjZSB7CiBwdWJsaWM6
Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8SURCSW5kZXhCYWNrZW5kSW1wbD4gY3JlYXRlKElEQkJh
Y2tpbmdTdG9yZSogYmFja2luZ1N0b3JlLCBpbnQ2NF90IGRhdGFiYXNlSWQsIGNvbnN0IElEQk9i
amVjdFN0b3JlQmFja2VuZEltcGwqIG9iamVjdFN0b3JlQmFja2VuZCwgaW50NjRfdCBpZCwgY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHN0b3JlTmFtZSwgY29uc3QgU3RyaW5nJiBr
ZXlQYXRoLCBib29sIHVuaXF1ZSwgYm9vbCBtdWx0aWVudHJ5KQorICAgIHN0YXRpYyBQYXNzUmVm
UHRyPElEQkluZGV4QmFja2VuZEltcGw+IGNyZWF0ZShJREJCYWNraW5nU3RvcmUqIGJhY2tpbmdT
dG9yZSwgaW50NjRfdCBkYXRhYmFzZUlkLCBjb25zdCBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBs
KiBvYmplY3RTdG9yZUJhY2tlbmQsIGludDY0X3QgaWQsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiBzdG9yZU5hbWUsIGNvbnN0IFN0cmluZyYga2V5UGF0aCwgYm9vbCB1bmlxdWUs
IGJvb2wgbXVsdGlFbnRyeSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgSURC
SW5kZXhCYWNrZW5kSW1wbChiYWNraW5nU3RvcmUsIGRhdGFiYXNlSWQsIG9iamVjdFN0b3JlQmFj
a2VuZCwgaWQsIG5hbWUsIHN0b3JlTmFtZSwga2V5UGF0aCwgdW5pcXVlLCBtdWx0aWVudHJ5KSk7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgSURCSW5kZXhCYWNrZW5kSW1wbChiYWNraW5n
U3RvcmUsIGRhdGFiYXNlSWQsIG9iamVjdFN0b3JlQmFja2VuZCwgaWQsIG5hbWUsIHN0b3JlTmFt
ZSwga2V5UGF0aCwgdW5pcXVlLCBtdWx0aUVudHJ5KSk7CiAgICAgfQotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPElEQkluZGV4QmFja2VuZEltcGw+IGNyZWF0ZShJREJCYWNraW5nU3RvcmUqIGJhY2tp
bmdTdG9yZSwgaW50NjRfdCBkYXRhYmFzZUlkLCBjb25zdCBJREJPYmplY3RTdG9yZUJhY2tlbmRJ
bXBsKiBvYmplY3RTdG9yZUJhY2tlbmQsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiBzdG9yZU5hbWUsIGNvbnN0IFN0cmluZyYga2V5UGF0aCwgYm9vbCB1bmlxdWUsIGJvb2wgbXVs
dGllbnRyeSkKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJJbmRleEJhY2tlbmRJbXBsPiBjcmVh
dGUoSURCQmFja2luZ1N0b3JlKiBiYWNraW5nU3RvcmUsIGludDY0X3QgZGF0YWJhc2VJZCwgY29u
c3QgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbCogb2JqZWN0U3RvcmVCYWNrZW5kLCBjb25zdCBT
dHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgc3RvcmVOYW1lLCBjb25zdCBTdHJpbmcmIGtleVBh
dGgsIGJvb2wgdW5pcXVlLCBib29sIG11bHRpRW50cnkpCiAgICAgewotICAgICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IElEQkluZGV4QmFja2VuZEltcGwoYmFja2luZ1N0b3JlLCBkYXRhYmFzZUlk
LCBvYmplY3RTdG9yZUJhY2tlbmQsIG5hbWUsIHN0b3JlTmFtZSwga2V5UGF0aCwgdW5pcXVlLCBt
dWx0aWVudHJ5KSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgSURCSW5kZXhCYWNrZW5k
SW1wbChiYWNraW5nU3RvcmUsIGRhdGFiYXNlSWQsIG9iamVjdFN0b3JlQmFja2VuZCwgbmFtZSwg
c3RvcmVOYW1lLCBrZXlQYXRoLCB1bmlxdWUsIG11bHRpRW50cnkpKTsKICAgICB9CiAgICAgdmly
dHVhbCB+SURCSW5kZXhCYWNrZW5kSW1wbCgpOwogCkBAIC02NSw3ICs2NSw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIFN0cmluZyBzdG9yZU5hbWUoKSB7IHJldHVybiBtX3N0b3JlTmFtZTsgfQog
ICAgIHZpcnR1YWwgU3RyaW5nIGtleVBhdGgoKSB7IHJldHVybiBtX2tleVBhdGg7IH0KICAgICB2
aXJ0dWFsIGJvb2wgdW5pcXVlKCkgeyByZXR1cm4gbV91bmlxdWU7IH0KLSAgICB2aXJ0dWFsIGJv
b2wgbXVsdGllbnRyeSgpIHsgcmV0dXJuIG1fbXVsdGllbnRyeTsgfQorICAgIHZpcnR1YWwgYm9v
bCBtdWx0aUVudHJ5KCkgeyByZXR1cm4gbV9tdWx0aUVudHJ5OyB9CiAKICAgICB2aXJ0dWFsIHZv
aWQgb3BlbkN1cnNvcihQYXNzUmVmUHRyPElEQktleVJhbmdlPiwgdW5zaWduZWQgc2hvcnQgZGly
ZWN0aW9uLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4sIElEQlRyYW5zYWN0aW9uQmFja2VuZElu
dGVyZmFjZSosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2aXJ0dWFsIHZvaWQgb3BlbktleUN1cnNv
cihQYXNzUmVmUHRyPElEQktleVJhbmdlPiwgdW5zaWduZWQgc2hvcnQgZGlyZWN0aW9uLCBQYXNz
UmVmUHRyPElEQkNhbGxiYWNrcz4sIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4
Y2VwdGlvbkNvZGUmKTsKQEAgLTczLDggKzczLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCBnZXRLZXkoUGFzc1JlZlB0cjxJREJLZXk+LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4sIElE
QlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNvZGUmKTsKIAogcHJpdmF0
ZToKLSAgICBJREJJbmRleEJhY2tlbmRJbXBsKElEQkJhY2tpbmdTdG9yZSosIGludDY0X3QgZGF0
YWJhc2VJZCwgY29uc3QgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbCosIGludDY0X3QgaWQsIGNv
bnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBzdG9yZU5hbWUsIGNvbnN0IFN0cmluZyYg
a2V5UGF0aCwgYm9vbCB1bmlxdWUsIGJvb2wgbXVsdGllbnRyeSk7Ci0gICAgSURCSW5kZXhCYWNr
ZW5kSW1wbChJREJCYWNraW5nU3RvcmUqLCBpbnQ2NF90IGRhdGFiYXNlSWQsIGNvbnN0IElEQk9i
amVjdFN0b3JlQmFja2VuZEltcGwqLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
c3RvcmVOYW1lLCBjb25zdCBTdHJpbmcmIGtleVBhdGgsIGJvb2wgdW5pcXVlLCBib29sIG11bHRp
ZW50cnkpOworICAgIElEQkluZGV4QmFja2VuZEltcGwoSURCQmFja2luZ1N0b3JlKiwgaW50NjRf
dCBkYXRhYmFzZUlkLCBjb25zdCBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsKiwgaW50NjRfdCBp
ZCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHN0b3JlTmFtZSwgY29uc3QgU3Ry
aW5nJiBrZXlQYXRoLCBib29sIHVuaXF1ZSwgYm9vbCBtdWx0aUVudHJ5KTsKKyAgICBJREJJbmRl
eEJhY2tlbmRJbXBsKElEQkJhY2tpbmdTdG9yZSosIGludDY0X3QgZGF0YWJhc2VJZCwgY29uc3Qg
SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbCosIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiBzdG9yZU5hbWUsIGNvbnN0IFN0cmluZyYga2V5UGF0aCwgYm9vbCB1bmlxdWUsIGJvb2wg
bXVsdGlFbnRyeSk7CiAKICAgICBzdGF0aWMgdm9pZCBvcGVuQ3Vyc29ySW50ZXJuYWwoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCSW5kZXhCYWNrZW5kSW1wbD4sIFBhc3NS
ZWZQdHI8SURCS2V5UmFuZ2U+LCB1bnNpZ25lZCBzaG9ydCBkaXJlY3Rpb24sIElEQkN1cnNvckJh
Y2tlbmRJbnRlcmZhY2U6OkN1cnNvclR5cGUsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgUGFz
c1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+KTsKICAgICBzdGF0aWMgdm9p
ZCBnZXRJbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJJbmRl
eEJhY2tlbmRJbXBsPiwgUGFzc1JlZlB0cjxJREJLZXk+LCBib29sIGdldE9iamVjdCwgUGFzc1Jl
ZlB0cjxJREJDYWxsYmFja3M+KTsKQEAgLTkwLDcgKzkwLDcgQEAgcHJpdmF0ZToKICAgICBTdHJp
bmcgbV9zdG9yZU5hbWU7CiAgICAgU3RyaW5nIG1fa2V5UGF0aDsKICAgICBib29sIG1fdW5pcXVl
OwotICAgIGJvb2wgbV9tdWx0aWVudHJ5OworICAgIGJvb2wgbV9tdWx0aUVudHJ5OwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9JREJJbmRleEJhY2tlbmRJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURC
SW5kZXhCYWNrZW5kSW50ZXJmYWNlLmgKaW5kZXggYTk0ZGY4MjViNWE0Mjk4ZTkzMGYwODA1MjQ1
NGVmNGVlNmQzNTJmNy4uN2NlMGVmM2JhOGNlMmQ3ZTBkOTYyNTk0YjA0YWNlYjU3MDFiZjU3NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJJbmRleEJhY2tlbmRJbnRlcmZh
Y2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkluZGV4QmFja2VuZEludGVyZmFj
ZS5oCkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyBzdG9yZU5h
bWUoKSA9IDA7CiAgICAgdmlydHVhbCBTdHJpbmcga2V5UGF0aCgpID0gMDsKICAgICB2aXJ0dWFs
IGJvb2wgdW5pcXVlKCkgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBtdWx0aWVudHJ5KCkgPSAwOwor
ICAgIHZpcnR1YWwgYm9vbCBtdWx0aUVudHJ5KCkgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIG9w
ZW5DdXJzb3IoUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4sIHVuc2lnbmVkIHNob3J0IGRpcmVjdGlv
biwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZh
Y2UqLCBFeGNlcHRpb25Db2RlJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBvcGVuS2V5Q3Vyc29y
KFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+LCB1bnNpZ25lZCBzaG9ydCBkaXJlY3Rpb24sIFBhc3NS
ZWZQdHI8SURCQ2FsbGJhY2tzPiwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgRXhj
ZXB0aW9uQ29kZSYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURC
TGV2ZWxEQkJhY2tpbmdTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVs
REJCYWNraW5nU3RvcmUuY3BwCmluZGV4IDI4NDkyY2U1NGNlNTI4ODZkNDhhMDc5MjU3NjBlZDMx
MGU2NTVlMjUuLjljNGQ2ZjA3NGI3N2FhOTYyNDY2OGMwZDU1Njk4ZDA0YjMxOTlmZjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCTGV2ZWxEQkJhY2tpbmdTdG9yZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJMZXZlbERCQmFja2luZ1N0b3JlLmNwcApA
QCAtNjgxLDcgKzY4MSw3IEBAIHN0YXRpYyBib29sIGNoZWNrSW5kZXhBbmRNZXRhRGF0YUtleShj
b25zdCBMZXZlbERCSXRlcmF0b3IqIGl0LCBjb25zdCBWZWN0b3I8Y2hhCiB9CiAKIAotdm9pZCBJ
REJMZXZlbERCQmFja2luZ1N0b3JlOjpnZXRJbmRleGVzKGludDY0X3QgZGF0YWJhc2VJZCwgaW50
NjRfdCBvYmplY3RTdG9yZUlkLCBWZWN0b3I8aW50NjRfdD4mIGZvdW5kSWRzLCBWZWN0b3I8U3Ry
aW5nPiYgZm91bmROYW1lcywgVmVjdG9yPFN0cmluZz4mIGZvdW5kS2V5UGF0aHMsIFZlY3Rvcjxi
b29sPiYgZm91bmRVbmlxdWVGbGFncywgVmVjdG9yPGJvb2w+JiBmb3VuZE11bHRpZW50cnlGbGFn
cykKK3ZvaWQgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZTo6Z2V0SW5kZXhlcyhpbnQ2NF90IGRhdGFi
YXNlSWQsIGludDY0X3Qgb2JqZWN0U3RvcmVJZCwgVmVjdG9yPGludDY0X3Q+JiBmb3VuZElkcywg
VmVjdG9yPFN0cmluZz4mIGZvdW5kTmFtZXMsIFZlY3RvcjxTdHJpbmc+JiBmb3VuZEtleVBhdGhz
LCBWZWN0b3I8Ym9vbD4mIGZvdW5kVW5pcXVlRmxhZ3MsIFZlY3Rvcjxib29sPiYgZm91bmRNdWx0
aUVudHJ5RmxhZ3MpCiB7CiAgICAgY29uc3QgVmVjdG9yPGNoYXI+IHN0YXJ0S2V5ID0gSW5kZXhN
ZXRhRGF0YUtleTo6ZW5jb2RlKGRhdGFiYXNlSWQsIG9iamVjdFN0b3JlSWQsIDAsIDApOwogICAg
IGNvbnN0IFZlY3RvcjxjaGFyPiBzdG9wS2V5ID0gSW5kZXhNZXRhRGF0YUtleTo6ZW5jb2RlKGRh
dGFiYXNlSWQsIG9iamVjdFN0b3JlSWQgKyAxLCAwLCAwKTsKQEAgLTY5MCw3ICs2OTAsNyBAQCB2
b2lkIElEQkxldmVsREJCYWNraW5nU3RvcmU6OmdldEluZGV4ZXMoaW50NjRfdCBkYXRhYmFzZUlk
LCBpbnQ2NF90IG9iamVjdFN0b3JlSQogICAgIEFTU0VSVChmb3VuZE5hbWVzLmlzRW1wdHkoKSk7
CiAgICAgQVNTRVJUKGZvdW5kS2V5UGF0aHMuaXNFbXB0eSgpKTsKICAgICBBU1NFUlQoZm91bmRV
bmlxdWVGbGFncy5pc0VtcHR5KCkpOwotICAgIEFTU0VSVChmb3VuZE11bHRpZW50cnlGbGFncy5p
c0VtcHR5KCkpOworICAgIEFTU0VSVChmb3VuZE11bHRpRW50cnlGbGFncy5pc0VtcHR5KCkpOwog
CiAgICAgT3duUHRyPExldmVsREJJdGVyYXRvcj4gaXQgPSBtX2RiLT5jcmVhdGVJdGVyYXRvcigp
OwogICAgIGl0LT5zZWVrKHN0YXJ0S2V5KTsKQEAgLTcyMiwxMSArNzIyLDExIEBAIHZvaWQgSURC
TGV2ZWxEQkJhY2tpbmdTdG9yZTo6Z2V0SW5kZXhlcyhpbnQ2NF90IGRhdGFiYXNlSWQsIGludDY0
X3Qgb2JqZWN0U3RvcmVJCiAgICAgICAgIH0KICAgICAgICAgU3RyaW5nIGtleVBhdGggPSBkZWNv
ZGVTdHJpbmcoaXQtPnZhbHVlKCkuYmVnaW4oKSwgaXQtPnZhbHVlKCkuZW5kKCkpOwogCi0gICAg
ICAgIGl0LT5uZXh0KCk7IC8vIFtvcHRpb25hbF0gbXVsdGllbnRyeSBmbGFnCi0gICAgICAgIGJv
b2wgaW5kZXhNdWx0aWVudHJ5ID0gZmFsc2U7CisgICAgICAgIGl0LT5uZXh0KCk7IC8vIFtvcHRp
b25hbF0gbXVsdGlFbnRyeSBmbGFnCisgICAgICAgIGJvb2wgaW5kZXhNdWx0aUVudHJ5ID0gZmFs
c2U7CiAgICAgICAgIGlmIChjaGVja0luZGV4QW5kTWV0YURhdGFLZXkoaXQuZ2V0KCksIHN0b3BL
ZXksIGluZGV4SWQsIDMpKSB7CiAgICAgICAgICAgICAvLyBGSVhNRTogQWRkIGVuY29kZS9kZWNv
ZGUgZnVuY3Rpb25zIGZvciBib29scy4KLSAgICAgICAgICAgIGluZGV4TXVsdGllbnRyeSA9ICpp
dC0+dmFsdWUoKS5iZWdpbigpOworICAgICAgICAgICAgaW5kZXhNdWx0aUVudHJ5ID0gKml0LT52
YWx1ZSgpLmJlZ2luKCk7CiAgICAgICAgICAgICBpdC0+bmV4dCgpOwogICAgICAgICB9CiAKQEAg
LTczNCw3ICs3MzQsNyBAQCB2b2lkIElEQkxldmVsREJCYWNraW5nU3RvcmU6OmdldEluZGV4ZXMo
aW50NjRfdCBkYXRhYmFzZUlkLCBpbnQ2NF90IG9iamVjdFN0b3JlSQogICAgICAgICBmb3VuZE5h
bWVzLmFwcGVuZChpbmRleE5hbWUpOwogICAgICAgICBmb3VuZEtleVBhdGhzLmFwcGVuZChrZXlQ
YXRoKTsKICAgICAgICAgZm91bmRVbmlxdWVGbGFncy5hcHBlbmQoaW5kZXhVbmlxdWUpOwotICAg
ICAgICBmb3VuZE11bHRpZW50cnlGbGFncy5hcHBlbmQoaW5kZXhNdWx0aWVudHJ5KTsKKyAgICAg
ICAgZm91bmRNdWx0aUVudHJ5RmxhZ3MuYXBwZW5kKGluZGV4TXVsdGlFbnRyeSk7CiAgICAgfQog
fQogCkBAIC03NTQsNyArNzU0LDcgQEAgc3RhdGljIGludDY0X3QgZ2V0TmV3SW5kZXhJZChMZXZl
bERCVHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uLCBpbnQ2NF90IGRhdGFiYXNlSWQKICAgICByZXR1
cm4gaW5kZXhJZDsKIH0KIAotYm9vbCBJREJMZXZlbERCQmFja2luZ1N0b3JlOjpjcmVhdGVJbmRl
eChpbnQ2NF90IGRhdGFiYXNlSWQsIGludDY0X3Qgb2JqZWN0U3RvcmVJZCwgY29uc3QgU3RyaW5n
JiBuYW1lLCBjb25zdCBTdHJpbmcmIGtleVBhdGgsIGJvb2wgaXNVbmlxdWUsIGJvb2wgaXNNdWx0
aWVudHJ5LCBpbnQ2NF90JiBpbmRleElkKQorYm9vbCBJREJMZXZlbERCQmFja2luZ1N0b3JlOjpj
cmVhdGVJbmRleChpbnQ2NF90IGRhdGFiYXNlSWQsIGludDY0X3Qgb2JqZWN0U3RvcmVJZCwgY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGtleVBhdGgsIGJvb2wgaXNVbmlxdWUsIGJv
b2wgaXNNdWx0aUVudHJ5LCBpbnQ2NF90JiBpbmRleElkKQogewogICAgIEFTU0VSVChtX2N1cnJl
bnRUcmFuc2FjdGlvbik7CiAgICAgaW5kZXhJZCA9IGdldE5ld0luZGV4SWQobV9jdXJyZW50VHJh
bnNhY3Rpb24uZ2V0KCksIGRhdGFiYXNlSWQsIG9iamVjdFN0b3JlSWQpOwpAQCAtNzY0LDcgKzc2
NCw3IEBAIGJvb2wgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZTo6Y3JlYXRlSW5kZXgoaW50NjRfdCBk
YXRhYmFzZUlkLCBpbnQ2NF90IG9iamVjdFN0b3JlCiAgICAgY29uc3QgVmVjdG9yPGNoYXI+IG5h
bWVLZXkgPSBJbmRleE1ldGFEYXRhS2V5OjplbmNvZGUoZGF0YWJhc2VJZCwgb2JqZWN0U3RvcmVJ
ZCwgaW5kZXhJZCwgMCk7CiAgICAgY29uc3QgVmVjdG9yPGNoYXI+IHVuaXF1ZUtleSA9IEluZGV4
TWV0YURhdGFLZXk6OmVuY29kZShkYXRhYmFzZUlkLCBvYmplY3RTdG9yZUlkLCBpbmRleElkLCAx
KTsKICAgICBjb25zdCBWZWN0b3I8Y2hhcj4ga2V5UGF0aEtleSA9IEluZGV4TWV0YURhdGFLZXk6
OmVuY29kZShkYXRhYmFzZUlkLCBvYmplY3RTdG9yZUlkLCBpbmRleElkLCAyKTsKLSAgICBjb25z
dCBWZWN0b3I8Y2hhcj4gbXVsdGllbnRyeUtleSA9IEluZGV4TWV0YURhdGFLZXk6OmVuY29kZShk
YXRhYmFzZUlkLCBvYmplY3RTdG9yZUlkLCBpbmRleElkLCAzKTsKKyAgICBjb25zdCBWZWN0b3I8
Y2hhcj4gbXVsdGlFbnRyeUtleSA9IEluZGV4TWV0YURhdGFLZXk6OmVuY29kZShkYXRhYmFzZUlk
LCBvYmplY3RTdG9yZUlkLCBpbmRleElkLCAzKTsKIAogICAgIGJvb2wgb2sgPSBwdXRTdHJpbmco
bV9jdXJyZW50VHJhbnNhY3Rpb24uZ2V0KCksIG5hbWVLZXksIG5hbWUpOwogICAgIGlmICghb2sp
IHsKQEAgLTc4NCw3ICs3ODQsNyBAQCBib29sIElEQkxldmVsREJCYWNraW5nU3RvcmU6OmNyZWF0
ZUluZGV4KGludDY0X3QgZGF0YWJhc2VJZCwgaW50NjRfdCBvYmplY3RTdG9yZQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgb2sgPSBwdXRJbnQobV9jdXJyZW50VHJhbnNhY3Rp
b24uZ2V0KCksIG11bHRpZW50cnlLZXksIGlzTXVsdGllbnRyeSk7CisgICAgb2sgPSBwdXRJbnQo
bV9jdXJyZW50VHJhbnNhY3Rpb24uZ2V0KCksIG11bHRpRW50cnlLZXksIGlzTXVsdGlFbnRyeSk7
CiAgICAgaWYgKCFvaykgewogICAgICAgICBMT0dfRVJST1IoIkludGVybmFsIEluZGV4ZWQgREIg
ZXJyb3IuIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvSURCTGV2ZWxEQkJhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9JREJMZXZlbERCQmFja2luZ1N0b3JlLmgKaW5kZXggMDZmNzU4NjQxNDU1MTQ5ZjJhNGE0
MTZjMTM2NGFmOThiN2YwOWRkNC4uMjRkNDM5ZDc2NjEzMTEzZWUxODRmNGU1NTAxNjcxN2U3ZDI5
NjYyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJMZXZlbERCQmFja2lu
Z1N0b3JlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJMZXZlbERCQmFja2luZ1N0
b3JlLmgKQEAgLTYzLDggKzYzLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGZvckVh
Y2hPYmplY3RTdG9yZVJlY29yZChpbnQ2NF90IGRhdGFiYXNlSWQsIGludDY0X3Qgb2JqZWN0U3Rv
cmVJZCwgT2JqZWN0U3RvcmVSZWNvcmRDYWxsYmFjayYpOwogCi0gICAgdmlydHVhbCB2b2lkIGdl
dEluZGV4ZXMoaW50NjRfdCBkYXRhYmFzZUlkLCBpbnQ2NF90IG9iamVjdFN0b3JlSWQsIFZlY3Rv
cjxpbnQ2NF90PiYgZm91bmRJZHMsIFZlY3RvcjxTdHJpbmc+JiBmb3VuZE5hbWVzLCBWZWN0b3I8
U3RyaW5nPiYgZm91bmRLZXlQYXRocywgVmVjdG9yPGJvb2w+JiBmb3VuZFVuaXF1ZUZsYWdzLCBW
ZWN0b3I8Ym9vbD4mIGZvdW5kTXVsdGllbnRyeUZsYWdzKTsKLSAgICB2aXJ0dWFsIGJvb2wgY3Jl
YXRlSW5kZXgoaW50NjRfdCBkYXRhYmFzZUlkLCBpbnQ2NF90IG9iamVjdFN0b3JlSWQsIGNvbnN0
IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBrZXlQYXRoLCBib29sIGlzVW5pcXVlLCBib29s
IGlzTXVsdGllbnRyeSwgaW50NjRfdCYgaW5kZXhJZCk7CisgICAgdmlydHVhbCB2b2lkIGdldElu
ZGV4ZXMoaW50NjRfdCBkYXRhYmFzZUlkLCBpbnQ2NF90IG9iamVjdFN0b3JlSWQsIFZlY3Rvcjxp
bnQ2NF90PiYgZm91bmRJZHMsIFZlY3RvcjxTdHJpbmc+JiBmb3VuZE5hbWVzLCBWZWN0b3I8U3Ry
aW5nPiYgZm91bmRLZXlQYXRocywgVmVjdG9yPGJvb2w+JiBmb3VuZFVuaXF1ZUZsYWdzLCBWZWN0
b3I8Ym9vbD4mIGZvdW5kTXVsdGlFbnRyeUZsYWdzKTsKKyAgICB2aXJ0dWFsIGJvb2wgY3JlYXRl
SW5kZXgoaW50NjRfdCBkYXRhYmFzZUlkLCBpbnQ2NF90IG9iamVjdFN0b3JlSWQsIGNvbnN0IFN0
cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBrZXlQYXRoLCBib29sIGlzVW5pcXVlLCBib29sIGlz
TXVsdGlFbnRyeSwgaW50NjRfdCYgaW5kZXhJZCk7CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZUlu
ZGV4KGludDY0X3QgZGF0YWJhc2VJZCwgaW50NjRfdCBvYmplY3RTdG9yZUlkLCBpbnQ2NF90IGlu
ZGV4SWQpOwogICAgIHZpcnR1YWwgYm9vbCBwdXRJbmRleERhdGFGb3JSZWNvcmQoaW50NjRfdCBk
YXRhYmFzZUlkLCBpbnQ2NF90IG9iamVjdFN0b3JlSWQsIGludDY0X3QgaW5kZXhJZCwgY29uc3Qg
SURCS2V5JiwgY29uc3QgT2JqZWN0U3RvcmVSZWNvcmRJZGVudGlmaWVyKik7CiAgICAgdmlydHVh
bCBib29sIGRlbGV0ZUluZGV4RGF0YUZvclJlY29yZChpbnQ2NF90IGRhdGFiYXNlSWQsIGludDY0
X3Qgb2JqZWN0U3RvcmVJZCwgaW50NjRfdCBpbmRleElkLCBjb25zdCBPYmplY3RTdG9yZVJlY29y
ZElkZW50aWZpZXIqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCTGV2
ZWxEQkNvZGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJDb2Rpbmcu
Y3BwCmluZGV4IGY3NGMyYzcyYTA5ODFiYTE4ZjFlNmZiYjdjMzYwYWJjMGZjMmQzZjYuLmYwMjYz
Zjg5ZjNlOGRmNjZiZWMxODNkYTBmYWFlMmNjYjVkNWM3MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvSURCTGV2ZWxEQkNvZGluZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9JREJMZXZlbERCQ29kaW5nLmNwcApAQCAtODEsNyArODEsNyBAQAogLy8gICAgIDxk
YXRhYmFzZSBpZCwgMCwgMCwgMTAwLCBvYmplY3Qgc3RvcmUgaWQsIGluZGV4IGlkLCAwPiA9PiB1
dGYxNiBpbmRleCBuYW1lIFtJbmRleE1ldGFEYXRhS2V5XQogLy8gICAgIDxkYXRhYmFzZSBpZCwg
MCwgMCwgMTAwLCBvYmplY3Qgc3RvcmUgaWQsIGluZGV4IGlkLCAxPiA9PiBhcmUgaW5kZXgga2V5
cyB1bmlxdWUgW0luZGV4TWV0YURhdGFLZXldCiAvLyAgICAgPGRhdGFiYXNlIGlkLCAwLCAwLCAx
MDAsIG9iamVjdCBzdG9yZSBpZCwgaW5kZXggaWQsIDI+ID0+IHV0ZjE2IGtleSBwYXRoIFtJbmRl
eE1ldGFEYXRhS2V5XQotLy8gICAgIDxkYXRhYmFzZSBpZCwgMCwgMCwgMTAwLCBvYmplY3Qgc3Rv
cmUgaWQsIGluZGV4IGlkLCAzPiA9PiBpcyBpbmRleCBtdWx0aWVudHJ5IFtJbmRleE1ldGFEYXRh
S2V5XQorLy8gICAgIDxkYXRhYmFzZSBpZCwgMCwgMCwgMTAwLCBvYmplY3Qgc3RvcmUgaWQsIGlu
ZGV4IGlkLCAzPiA9PiBpcyBpbmRleCBtdWx0aS1lbnRyeSBbSW5kZXhNZXRhRGF0YUtleV0KIC8v
CiAvLwogLy8gT3RoZXIgb2JqZWN0IHN0b3JlIGFuZCBpbmRleCBtZXRhLWRhdGE6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVjdFN0b3JlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmUuY3BwCmluZGV4IGNmZWExNTNjOWQ1Y2U3MDM0
NTI5OGMwNDk5MGI5YWY3MWFhYjhjNmEuLmM5MDg2ZTVjYjZkZDYzZDUxOTIwYWUyMmZkMDI3ZDg0
NDJhZDA4ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3Rv
cmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmUuY3BwCkBA
IC0xNTgsMTIgKzE1OCwxMiBAQCBQYXNzUmVmUHRyPElEQkluZGV4PiBJREJPYmplY3RTdG9yZTo6
Y3JlYXRlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbgogICAgIGJvb2wgdW5p
cXVlID0gZmFsc2U7CiAgICAgb3B0aW9ucy5nZXQoInVuaXF1ZSIsIHVuaXF1ZSk7CiAKLSAgICBi
b29sIG11bHRpZW50cnkgPSBmYWxzZTsKLSAgICBvcHRpb25zLmdldCgibXVsdGllbnRyeSIsIG11
bHRpZW50cnkpOworICAgIGJvb2wgbXVsdGlFbnRyeSA9IGZhbHNlOworICAgIG9wdGlvbnMuZ2V0
KCJtdWx0aUVudHJ5IiwgbXVsdGlFbnRyeSk7CiAKLSAgICAvLyBGSVhNRTogV2hlbiBBcnJheS10
eXBlIGtleVBhdGhzIGFyZSBzdXBwb3J0ZWQsIHRocm93IGV4Y2VwdGlvbiBpZiBrZXlQYXRoIGlz
IEFycmF5IGFuZCBtdWx0aWVudHJ5IGlzIHRydWUuCisgICAgLy8gRklYTUU6IFdoZW4gQXJyYXkt
dHlwZSBrZXlQYXRocyBhcmUgc3VwcG9ydGVkLCB0aHJvdyBleGNlcHRpb24gaWYga2V5UGF0aCBp
cyBBcnJheSBhbmQgbXVsdGlFbnRyeSBpcyB0cnVlLgogCi0gICAgUmVmUHRyPElEQkluZGV4QmFj
a2VuZEludGVyZmFjZT4gaW5kZXggPSBtX2JhY2tlbmQtPmNyZWF0ZUluZGV4KG5hbWUsIGtleVBh
dGgsIHVuaXF1ZSwgbXVsdGllbnRyeSwgbV90cmFuc2FjdGlvbi0+YmFja2VuZCgpLCBlYyk7Cisg
ICAgUmVmUHRyPElEQkluZGV4QmFja2VuZEludGVyZmFjZT4gaW5kZXggPSBtX2JhY2tlbmQtPmNy
ZWF0ZUluZGV4KG5hbWUsIGtleVBhdGgsIHVuaXF1ZSwgbXVsdGlFbnRyeSwgbV90cmFuc2FjdGlv
bi0+YmFja2VuZCgpLCBlYyk7CiAgICAgQVNTRVJUKCFpbmRleCAhPSAhZWMpOyAvLyBJZiB3ZSBk
aWRuJ3QgZ2V0IGFuIGluZGV4LCB3ZSBzaG91bGQgaGF2ZSBnb3R0ZW4gYW4gZXhjZXB0aW9uIGNv
ZGUuIEFuZCB2aWNlIHZlcnNhLgogICAgIGlmICghaW5kZXgpCiAgICAgICAgIHJldHVybiAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1w
bC5jcHAKaW5kZXggYmQwYzNmMDAzZGFiNjFmYzdjZjg3YWI0NDc2N2M1OGMxYWI3MzY0YS4uODBm
MGZjNzMwMDZlM2E1Zjc4NWE1NTk4Njk4OGZkNmZiMzgyOWMxYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuY3BwCkBAIC0yNDMs
MTIgKzI0MywxMiBAQCB2b2lkIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OnB1dEludGVybmFs
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPAogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKCghaW5kZXgtPm11bHRpZW50cnkoKSB8fCBpbmRl
eEtleS0+dHlwZSgpICE9IElEQktleTo6QXJyYXlUeXBlKSAmJiAhaW5kZXgtPmFkZGluZ0tleUFs
bG93ZWQoaW5kZXhLZXkuZ2V0KCksIGtleS5nZXQoKSkpIHsKKyAgICAgICAgaWYgKCghaW5kZXgt
Pm11bHRpRW50cnkoKSB8fCBpbmRleEtleS0+dHlwZSgpICE9IElEQktleTo6QXJyYXlUeXBlKSAm
JiAhaW5kZXgtPmFkZGluZ0tleUFsbG93ZWQoaW5kZXhLZXkuZ2V0KCksIGtleS5nZXQoKSkpIHsK
ICAgICAgICAgICAgIGNhbGxiYWNrcy0+b25FcnJvcihJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUo
SURCRGF0YWJhc2VFeGNlcHRpb246OkNPTlNUUkFJTlRfRVJSLCAiT25lIG9mIHRoZSBkZXJpdmVk
IChmcm9tIGEga2V5UGF0aCkga2V5cyBmb3IgYW4gaW5kZXggZG9lcyBub3Qgc2F0aXNmeSBpdHMg
dW5pcXVlbmVzcyByZXF1aXJlbWVudHMuIikpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CiAKLSAgICAgICBpZiAoaW5kZXgtPm11bHRpZW50cnkoKSAmJiBpbmRleEtleS0+dHlwZSgp
ID09IElEQktleTo6QXJyYXlUeXBlKSB7CisgICAgICAgaWYgKGluZGV4LT5tdWx0aUVudHJ5KCkg
JiYgaW5kZXhLZXktPnR5cGUoKSA9PSBJREJLZXk6OkFycmF5VHlwZSkgewogICAgICAgICAgICBm
b3IgKHNpemVfdCBqID0gMDsgaiA8IGluZGV4S2V5LT5hcnJheSgpLnNpemUoKTsgKytqKSB7CiAg
ICAgICAgICAgICAgICAgaWYgKCFpbmRleC0+YWRkaW5nS2V5QWxsb3dlZChpbmRleEtleS0+YXJy
YXkoKVtqXS5nZXQoKSwga2V5LmdldCgpKSkgewogICAgICAgICAgICAgICAgICAgICBjYWxsYmFj
a3MtPm9uRXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9u
OjpDT05TVFJBSU5UX0VSUiwgIk9uZSBvZiB0aGUgZGVyaXZlZCAoZnJvbSBhIGtleVBhdGgpIGtl
eXMgZm9yIGFuIGluZGV4IGRvZXMgbm90IHNhdGlzZnkgaXRzIHVuaXF1ZW5lc3MgcmVxdWlyZW1l
bnRzLiIpKTsKQEAgLTI5NCw3ICsyOTQsNyBAQCB2b2lkIElEQk9iamVjdFN0b3JlQmFja2VuZElt
cGw6OnB1dEludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPAogICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgIFJlZlB0cjxJREJLZXk+IGluZGV4S2V5ID0gaW5k
ZXhLZXlzW2ldOwogCi0gICAgICAgIGlmICghaW5kZXgtPm11bHRpZW50cnkoKSB8fCBpbmRleEtl
eS0+dHlwZSgpICE9IElEQktleTo6QXJyYXlUeXBlKSB7CisgICAgICAgIGlmICghaW5kZXgtPm11
bHRpRW50cnkoKSB8fCBpbmRleEtleS0+dHlwZSgpICE9IElEQktleTo6QXJyYXlUeXBlKSB7CiAg
ICAgICAgICAgICBpZiAoIW9iamVjdFN0b3JlLT5tX2JhY2tpbmdTdG9yZS0+cHV0SW5kZXhEYXRh
Rm9yUmVjb3JkKG9iamVjdFN0b3JlLT5tX2RhdGFiYXNlSWQsIG9iamVjdFN0b3JlLT5pZCgpLCBp
bmRleC0+aWQoKSwgKmluZGV4S2V5LCByZWNvcmRJZGVudGlmaWVyLmdldCgpKSkgewogICAgICAg
ICAgICAgICAgIC8vIEZJWE1FOiBUaGUgSW5kZXhlZCBEYXRhYmFzZSBzcGVjaWZpY2F0aW9uIGRv
ZXMgbm90IGhhdmUgYW4gZXJyb3IgY29kZSBkZWRpY2F0ZWQgdG8gSS9PIGVycm9ycy4KICAgICAg
ICAgICAgICAgICBjYWxsYmFja3MtPm9uRXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElE
QkRhdGFiYXNlRXhjZXB0aW9uOjpVTktOT1dOX0VSUiwgIkVycm9yIHdyaXRpbmcgZGF0YSB0byBz
dGFibGUgc3RvcmFnZS4iKSk7CkBAIC0zMDIsNyArMzAyLDcgQEAgdm9pZCBJREJPYmplY3RTdG9y
ZUJhY2tlbmRJbXBsOjpwdXRJbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1Jl
ZlB0cjwKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQoaW5kZXgtPm11bHRpZW50cnkoKSk7CisgICAgICAg
ICAgICBBU1NFUlQoaW5kZXgtPm11bHRpRW50cnkoKSk7CiAgICAgICAgICAgICBBU1NFUlQoaW5k
ZXhLZXktPnR5cGUoKSA9PSBJREJLZXk6OkFycmF5VHlwZSk7CiAgICAgICAgICAgICBmb3IgKHNp
emVfdCBqID0gMDsgaiA8IGluZGV4S2V5LT5hcnJheSgpLnNpemUoKTsgKytqKSB7CiAgICAgICAg
ICAgICAgICAgaWYgKCFvYmplY3RTdG9yZS0+bV9iYWNraW5nU3RvcmUtPnB1dEluZGV4RGF0YUZv
clJlY29yZChvYmplY3RTdG9yZS0+bV9kYXRhYmFzZUlkLCBvYmplY3RTdG9yZS0+aWQoKSwgaW5k
ZXgtPmlkKCksICppbmRleEtleS0+YXJyYXkoKVtqXSwgcmVjb3JkSWRlbnRpZmllci5nZXQoKSkp
IHsKQEAgLTM5NiwxMSArMzk2LDExIEBAIHB1YmxpYzoKICAgICAgICAgaWYgKCFpbmRleEtleSkK
ICAgICAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgICAgIGlmICghbV9pbmRleC0+bXVsdGll
bnRyeSgpIHx8IGluZGV4S2V5LT50eXBlKCkgIT0gSURCS2V5OjpBcnJheVR5cGUpIHsKKyAgICAg
ICAgaWYgKCFtX2luZGV4LT5tdWx0aUVudHJ5KCkgfHwgaW5kZXhLZXktPnR5cGUoKSAhPSBJREJL
ZXk6OkFycmF5VHlwZSkgewogICAgICAgICAgICAgaWYgKCFtX2JhY2tpbmdTdG9yZS5wdXRJbmRl
eERhdGFGb3JSZWNvcmQobV9kYXRhYmFzZUlkLCBtX29iamVjdFN0b3JlSWQsIG1faW5kZXgtPmlk
KCksICppbmRleEtleSwgcmVjb3JkSWRlbnRpZmllcikpCiAgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgQVNTRVJUKG1faW5kZXgtPm11
bHRpZW50cnkoKSk7CisgICAgICAgICAgICBBU1NFUlQobV9pbmRleC0+bXVsdGlFbnRyeSgpKTsK
ICAgICAgICAgICAgIEFTU0VSVChpbmRleEtleS0+dHlwZSgpID09IElEQktleTo6QXJyYXlUeXBl
KTsKICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgaW5kZXhLZXktPmFycmF5KCku
c2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAgICAgICBpZiAoIW1fYmFja2luZ1N0b3JlLnB1dElu
ZGV4RGF0YUZvclJlY29yZChtX2RhdGFiYXNlSWQsIG1fb2JqZWN0U3RvcmVJZCwgbV9pbmRleC0+
aWQoKSwgKmluZGV4S2V5LT5hcnJheSgpW2ldLCByZWNvcmRJZGVudGlmaWVyKSkKQEAgLTQyNiw3
ICs0MjYsNyBAQCBib29sIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OnBvcHVsYXRlSW5kZXgo
SURCQmFja2luZ1N0b3JlJiBiYWNraW5nU3RvcmUsIGludAogICAgIHJldHVybiB0cnVlOwogfQog
Ci1QYXNzUmVmUHRyPElEQkluZGV4QmFja2VuZEludGVyZmFjZT4gSURCT2JqZWN0U3RvcmVCYWNr
ZW5kSW1wbDo6Y3JlYXRlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGtl
eVBhdGgsIGJvb2wgdW5pcXVlLCBib29sIG11bHRpZW50cnksIElEQlRyYW5zYWN0aW9uQmFja2Vu
ZEludGVyZmFjZSogdHJhbnNhY3Rpb24sIEV4Y2VwdGlvbkNvZGUmIGVjKQorUGFzc1JlZlB0cjxJ
REJJbmRleEJhY2tlbmRJbnRlcmZhY2U+IElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmNyZWF0
ZUluZGV4KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBrZXlQYXRoLCBib29sIHVu
aXF1ZSwgYm9vbCBtdWx0aUVudHJ5LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqIHRy
YW5zYWN0aW9uLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAobmFtZS5pc051bGwoKSkg
ewogICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpOT05fVFJBTlNJRU5UX0VSUjsK
QEAgLTQ0MSw3ICs0NDEsNyBAQCBQYXNzUmVmUHRyPElEQkluZGV4QmFja2VuZEludGVyZmFjZT4g
SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6Y3JlYXRlSW5kZXgoY29ucwogICAgICAgICByZXR1
cm4gMDsKICAgICB9CiAKLSAgICBSZWZQdHI8SURCSW5kZXhCYWNrZW5kSW1wbD4gaW5kZXggPSBJ
REJJbmRleEJhY2tlbmRJbXBsOjpjcmVhdGUobV9iYWNraW5nU3RvcmUuZ2V0KCksIG1fZGF0YWJh
c2VJZCwgdGhpcywgbmFtZSwgbV9uYW1lLCBrZXlQYXRoLCB1bmlxdWUsIG11bHRpZW50cnkpOwor
ICAgIFJlZlB0cjxJREJJbmRleEJhY2tlbmRJbXBsPiBpbmRleCA9IElEQkluZGV4QmFja2VuZElt
cGw6OmNyZWF0ZShtX2JhY2tpbmdTdG9yZS5nZXQoKSwgbV9kYXRhYmFzZUlkLCB0aGlzLCBuYW1l
LCBtX25hbWUsIGtleVBhdGgsIHVuaXF1ZSwgbXVsdGlFbnRyeSk7CiAgICAgQVNTRVJUKGluZGV4
LT5uYW1lKCkgPT0gbmFtZSk7CiAKICAgICBSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1w
bD4gb2JqZWN0U3RvcmUgPSB0aGlzOwpAQCAtNDYyLDcgKzQ2Miw3IEBAIFBhc3NSZWZQdHI8SURC
SW5kZXhCYWNrZW5kSW50ZXJmYWNlPiBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpjcmVhdGVJ
bmRleChjb25zCiB2b2lkIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmNyZWF0ZUluZGV4SW50
ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmVC
YWNrZW5kSW1wbD4gb2JqZWN0U3RvcmUsIFBhc3NSZWZQdHI8SURCSW5kZXhCYWNrZW5kSW1wbD4g
aW5kZXgsIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiB0cmFuc2Fj
dGlvbikKIHsKICAgICBpbnQ2NF90IGlkOwotICAgIGlmICghb2JqZWN0U3RvcmUtPm1fYmFja2lu
Z1N0b3JlLT5jcmVhdGVJbmRleChvYmplY3RTdG9yZS0+bV9kYXRhYmFzZUlkLCBvYmplY3RTdG9y
ZS0+aWQoKSwgaW5kZXgtPm5hbWUoKSwgaW5kZXgtPmtleVBhdGgoKSwgaW5kZXgtPnVuaXF1ZSgp
LCBpbmRleC0+bXVsdGllbnRyeSgpLCBpZCkpIHsKKyAgICBpZiAoIW9iamVjdFN0b3JlLT5tX2Jh
Y2tpbmdTdG9yZS0+Y3JlYXRlSW5kZXgob2JqZWN0U3RvcmUtPm1fZGF0YWJhc2VJZCwgb2JqZWN0
U3RvcmUtPmlkKCksIGluZGV4LT5uYW1lKCksIGluZGV4LT5rZXlQYXRoKCksIGluZGV4LT51bmlx
dWUoKSwgaW5kZXgtPm11bHRpRW50cnkoKSwgaWQpKSB7CiAgICAgICAgIHRyYW5zYWN0aW9uLT5h
Ym9ydCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNTUyLDE2ICs1NTIsMTYgQEAgdm9p
ZCBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpsb2FkSW5kZXhlcygpCiAgICAgVmVjdG9yPFN0
cmluZz4gbmFtZXM7CiAgICAgVmVjdG9yPFN0cmluZz4ga2V5UGF0aHM7CiAgICAgVmVjdG9yPGJv
b2w+IHVuaXF1ZUZsYWdzOwotICAgIFZlY3Rvcjxib29sPiBtdWx0aWVudHJ5RmxhZ3M7Ci0gICAg
bV9iYWNraW5nU3RvcmUtPmdldEluZGV4ZXMobV9kYXRhYmFzZUlkLCBtX2lkLCBpZHMsIG5hbWVz
LCBrZXlQYXRocywgdW5pcXVlRmxhZ3MsIG11bHRpZW50cnlGbGFncyk7CisgICAgVmVjdG9yPGJv
b2w+IG11bHRpRW50cnlGbGFnczsKKyAgICBtX2JhY2tpbmdTdG9yZS0+Z2V0SW5kZXhlcyhtX2Rh
dGFiYXNlSWQsIG1faWQsIGlkcywgbmFtZXMsIGtleVBhdGhzLCB1bmlxdWVGbGFncywgbXVsdGlF
bnRyeUZsYWdzKTsKIAogICAgIEFTU0VSVChuYW1lcy5zaXplKCkgPT0gaWRzLnNpemUoKSk7CiAg
ICAgQVNTRVJUKGtleVBhdGhzLnNpemUoKSA9PSBpZHMuc2l6ZSgpKTsKICAgICBBU1NFUlQodW5p
cXVlRmxhZ3Muc2l6ZSgpID09IGlkcy5zaXplKCkpOwotICAgIEFTU0VSVChtdWx0aWVudHJ5Rmxh
Z3Muc2l6ZSgpID09IGlkcy5zaXplKCkpOworICAgIEFTU0VSVChtdWx0aUVudHJ5RmxhZ3Muc2l6
ZSgpID09IGlkcy5zaXplKCkpOwogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBpZHMuc2l6
ZSgpOyBpKyspCi0gICAgICAgIG1faW5kZXhlcy5zZXQobmFtZXNbaV0sIElEQkluZGV4QmFja2Vu
ZEltcGw6OmNyZWF0ZShtX2JhY2tpbmdTdG9yZS5nZXQoKSwgbV9kYXRhYmFzZUlkLCB0aGlzLCBp
ZHNbaV0sIG5hbWVzW2ldLCBtX25hbWUsIGtleVBhdGhzW2ldLCB1bmlxdWVGbGFnc1tpXSwgbXVs
dGllbnRyeUZsYWdzW2ldKSk7CisgICAgICAgIG1faW5kZXhlcy5zZXQobmFtZXNbaV0sIElEQklu
ZGV4QmFja2VuZEltcGw6OmNyZWF0ZShtX2JhY2tpbmdTdG9yZS5nZXQoKSwgbV9kYXRhYmFzZUlk
LCB0aGlzLCBpZHNbaV0sIG5hbWVzW2ldLCBtX25hbWUsIGtleVBhdGhzW2ldLCB1bmlxdWVGbGFn
c1tpXSwgbXVsdGlFbnRyeUZsYWdzW2ldKSk7CiB9CiAKIHZvaWQgSURCT2JqZWN0U3RvcmVCYWNr
ZW5kSW1wbDo6cmVtb3ZlSW5kZXhGcm9tTWFwKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNz
UmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw+IG9iamVjdFN0b3JlLCBQYXNzUmVmUHRy
PElEQkluZGV4QmFja2VuZEltcGw+IGluZGV4KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuaAppbmRleCAzODBjN2UxNDFkNjYxMGEwMDI4
Yjg4MzYwZDQ2N2E3NzRkNmVlMjMyLi45MjliNmE0ZjAxNDBlMWRjNzFiMjM3ZjM0NWNhMzQ5MzJk
N2ZhMTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVjdFN0b3Jl
QmFja2VuZEltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVjdFN0b3Jl
QmFja2VuZEltcGwuaApAQCAtNzEsNyArNzEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IGRlbGV0ZUZ1bmN0aW9uKFBhc3NSZWZQdHI8SURCS2V5PiBrZXksIFBhc3NSZWZQdHI8SURCQ2Fs
bGJhY2tzPiwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYp
OwogICAgIHZpcnR1YWwgdm9pZCBjbGVhcihQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4sIElEQlRy
YW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNvZGUmKTsKIAotICAgIHZpcnR1
YWwgUGFzc1JlZlB0cjxJREJJbmRleEJhY2tlbmRJbnRlcmZhY2U+IGNyZWF0ZUluZGV4KGNvbnN0
IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBrZXlQYXRoLCBib29sIHVuaXF1ZSwgYm9vbCBt
dWx0aWVudHJ5LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBFeGNlcHRpb25Db2Rl
Jik7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQkluZGV4QmFja2VuZEludGVyZmFjZT4gY3Jl
YXRlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGtleVBhdGgsIGJvb2wg
dW5pcXVlLCBib29sIG11bHRpRW50cnksIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSos
IEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCSW5kZXhCYWNrZW5k
SW50ZXJmYWNlPiBpbmRleChjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNvZGUmKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZGVsZXRlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lLCBJREJUcmFuc2Fj
dGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBFeGNlcHRpb25Db2RlJik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlLmggYi9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFjZS5oCmlu
ZGV4IDc5ZDRiZDYyZDA4NDhmNzg5YTNhYTQ4ODM1YjNkMDIyNWMyMmQ2ZDcuLmIxNTc5YjU0NDFh
ZTlmNjRkODAzYTAwNjkzMGE2OTQ1YjI4YzNkN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJbnRlcmZhY2UuaApAQCAtNjMsNyAr
NjMsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXIoUGFzc1JlZlB0cjxJREJD
YWxsYmFja3M+LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBFeGNlcHRpb25Db2Rl
JikgPSAwOwogCi0gICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQkluZGV4QmFja2VuZEludGVyZmFj
ZT4gY3JlYXRlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGtleVBhdGgs
IGJvb2wgdW5pcXVlLCBib29sIG11bHRpZW50cnksIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVy
ZmFjZSosIEV4Y2VwdGlvbkNvZGUmKSA9IDA7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQklu
ZGV4QmFja2VuZEludGVyZmFjZT4gY3JlYXRlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25z
dCBTdHJpbmcmIGtleVBhdGgsIGJvb2wgdW5pcXVlLCBib29sIG11bHRpRW50cnksIElEQlRyYW5z
YWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNvZGUmKSA9IDA7CiAgICAgdmlydHVh
bCBQYXNzUmVmUHRyPElEQkluZGV4QmFja2VuZEludGVyZmFjZT4gaW5kZXgoY29uc3QgU3RyaW5n
JiBuYW1lLCBFeGNlcHRpb25Db2RlJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVJbmRl
eChjb25zdCBTdHJpbmcmIG5hbWUsIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4
Y2VwdGlvbkNvZGUmKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYklEQkluZGV4LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJ
REJJbmRleC5oCmluZGV4IDgzM2EwNmM2MGNiY2I3YTNmNThjMzQ0OGM1YjQ3ZWQyMTg2ZGRlMzQu
LjIyM2U1Y2NlOGQ2ZDk5NTA5YWE5OGQ0MWFiZDU4ZDFlMzFlYjhmODIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklEQkluZGV4LmgKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCSW5kZXguaApAQCAtNjEsNyArNjEsNyBAQCBwdWJs
aWM6CiAgICAgICAgIFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIH0KLSAgICB2aXJ0dWFsIGJvb2wgbXVsdGllbnRyeSgpIGNvbnN0CisgICAg
dmlydHVhbCBib29sIG11bHRpRW50cnkoKSBjb25zdAogICAgIHsKICAgICAgICAgV0VCS0lUX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJREJPYmplY3RTdG9yZS5oIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCT2JqZWN0U3RvcmUuaAppbmRleCA2Yjg5NjM5
MDFlN2M0YjkwMTY3YjVmNzhkOWM3MTM2MjRlYmFkMjMwLi4wOTY5MTYzY2FhNDEyZjVlNDU0NTIw
YTIxZDU2OGIzMWU4N2Q3OGM5IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJJREJPYmplY3RTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYklEQk9iamVjdFN0b3JlLmgKQEAgLTc1LDcgKzc1LDcgQEAgcHVibGljOgogICAgIHsK
ICAgICAgICAgcmV0dXJuIGNyZWF0ZUluZGV4KG5hbWUsIGtleVBhdGgsIHVuaXF1ZSwgZmFsc2Us
IHRyYW5zYWN0aW9uLCBlYyk7CiAgICAgfQotICAgIHZpcnR1YWwgV2ViSURCSW5kZXgqIGNyZWF0
ZUluZGV4KGNvbnN0IFdlYlN0cmluZyYgbmFtZSwgY29uc3QgV2ViU3RyaW5nJiBrZXlQYXRoLCBi
b29sIHVuaXF1ZSwgYm9vbCBtdWx0aWVudHJ5LCBjb25zdCBXZWJJREJUcmFuc2FjdGlvbiYgdHJh
bnNhY3Rpb24sIFdlYkV4Y2VwdGlvbkNvZGUmIGVjKQorICAgIHZpcnR1YWwgV2ViSURCSW5kZXgq
IGNyZWF0ZUluZGV4KGNvbnN0IFdlYlN0cmluZyYgbmFtZSwgY29uc3QgV2ViU3RyaW5nJiBrZXlQ
YXRoLCBib29sIHVuaXF1ZSwgYm9vbCBtdWx0aUVudHJ5LCBjb25zdCBXZWJJREJUcmFuc2FjdGlv
biYgdHJhbnNhY3Rpb24sIFdlYkV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIHsKICAgICAgICAgLy8g
RklYTUU6IEFzc2VydCBub3QgcmVhY2hlZCBvbmNlIGltcGxlbWVudGluZyBjbGFzc2VzIGFyZSB1
cGRhdGVkLgogICAgICAgICByZXR1cm4gY3JlYXRlSW5kZXgobmFtZSwga2V5UGF0aCwgdW5pcXVl
LCB0cmFuc2FjdGlvbiwgZWMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvSURCSW5kZXhCYWNrZW5kUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
SURCSW5kZXhCYWNrZW5kUHJveHkuY3BwCmluZGV4IDA4MmVkZTFlNTk5NjhlZTczZDBlNDQyMzM0
YTEyODYzZjYxNGFmOWUuLjhlOTY2MDAxZDk3M2ViMGFiMTIyNTE4NzYyNzcwOTEwNWE5NzBhYjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkluZGV4QmFja2VuZFBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJJbmRleEJhY2tlbmRQ
cm94eS5jcHAKQEAgLTc1LDkgKzc1LDkgQEAgYm9vbCBJREJJbmRleEJhY2tlbmRQcm94eTo6dW5p
cXVlKCkKICAgICByZXR1cm4gbV93ZWJJREJJbmRleC0+dW5pcXVlKCk7CiB9CiAKLWJvb2wgSURC
SW5kZXhCYWNrZW5kUHJveHk6Om11bHRpZW50cnkoKQorYm9vbCBJREJJbmRleEJhY2tlbmRQcm94
eTo6bXVsdGlFbnRyeSgpCiB7Ci0gICAgcmV0dXJuIG1fd2ViSURCSW5kZXgtPm11bHRpZW50cnko
KTsKKyAgICByZXR1cm4gbV93ZWJJREJJbmRleC0+bXVsdGlFbnRyeSgpOwogfQogCiB2b2lkIElE
QkluZGV4QmFja2VuZFByb3h5OjpvcGVuQ3Vyc29yKFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IGtl
eVJhbmdlLCB1bnNpZ25lZCBzaG9ydCBkaXJlY3Rpb24sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tz
PiBjYWxsYmFja3MsIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSogdHJhbnNhY3Rpb24s
IEV4Y2VwdGlvbkNvZGUmIGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvSURCSW5kZXhCYWNrZW5kUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lE
QkluZGV4QmFja2VuZFByb3h5LmgKaW5kZXggNzI3ZTM3ZjE4YTEzZGUzZDYxMDhkZDJiOWIyYWFk
MGRkNjNiMGQ2Zi4uZjM5MTlhYTBjYjA3ZDVhYThiMmQxMzYwMmY4ZmFlODViYzgxYjg1MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCSW5kZXhCYWNrZW5kUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJJbmRleEJhY2tlbmRQcm94eS5o
CkBAIC00NSw3ICs0NSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyBzdG9yZU5hbWUo
KTsKICAgICB2aXJ0dWFsIFN0cmluZyBrZXlQYXRoKCk7CiAgICAgdmlydHVhbCBib29sIHVuaXF1
ZSgpOwotICAgIHZpcnR1YWwgYm9vbCBtdWx0aWVudHJ5KCk7CisgICAgdmlydHVhbCBib29sIG11
bHRpRW50cnkoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBvcGVuQ3Vyc29yKFBhc3NSZWZQdHI8V2Vi
Q29yZTo6SURCS2V5UmFuZ2U+LCB1bnNpZ25lZCBzaG9ydCBkaXJlY3Rpb24sIFBhc3NSZWZQdHI8
V2ViQ29yZTo6SURCQ2FsbGJhY2tzPiwgV2ViQ29yZTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50
ZXJmYWNlKiwgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZSYpOwogICAgIHZpcnR1YWwgdm9pZCBvcGVu
S2V5Q3Vyc29yKFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCS2V5UmFuZ2U+LCB1bnNpZ25lZCBzaG9y
dCBkaXJlY3Rpb24sIFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCQ2FsbGJhY2tzPiwgV2ViQ29yZTo6
SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZSYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCT2JqZWN0U3RvcmVC
YWNrZW5kUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCT2JqZWN0U3Rv
cmVCYWNrZW5kUHJveHkuY3BwCmluZGV4IDcwYzA0ZWYyODA3NDljYzA5ZWQwMGU2Y2VjZWI4N2Q1
NjkyYmY5N2YuLjAyN2FlNTc2MTVjMjQyMzkxYmQ5ZDgzNTE3YWM5NzI4MDk3NzljNTkgMTAwNzU1
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQk9iamVjdFN0b3JlQmFja2VuZFBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJPYmplY3RTdG9yZUJh
Y2tlbmRQcm94eS5jcHAKQEAgLTEwNiwxMiArMTA2LDEyIEBAIHZvaWQgSURCT2JqZWN0U3RvcmVC
YWNrZW5kUHJveHk6OmNsZWFyKFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MsIElE
QlRyCiAgICAgbV93ZWJJREJPYmplY3RTdG9yZS0+Y2xlYXIobmV3IFdlYklEQkNhbGxiYWNrc0lt
cGwoY2FsbGJhY2tzKSwgKnRyYW5zYWN0aW9uUHJveHktPmdldFdlYklEQlRyYW5zYWN0aW9uKCks
IGVjKTsKIH0KIAotUGFzc1JlZlB0cjxJREJJbmRleEJhY2tlbmRJbnRlcmZhY2U+IElEQk9iamVj
dFN0b3JlQmFja2VuZFByb3h5OjpjcmVhdGVJbmRleChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0
IFN0cmluZyYga2V5UGF0aCwgYm9vbCB1bmlxdWUsIGJvb2wgbXVsdGllbnRyeSwgSURCVHJhbnNh
Y3Rpb25CYWNrZW5kSW50ZXJmYWNlKiB0cmFuc2FjdGlvbiwgRXhjZXB0aW9uQ29kZSYgZWMpCitQ
YXNzUmVmUHRyPElEQkluZGV4QmFja2VuZEludGVyZmFjZT4gSURCT2JqZWN0U3RvcmVCYWNrZW5k
UHJveHk6OmNyZWF0ZUluZGV4KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBrZXlQ
YXRoLCBib29sIHVuaXF1ZSwgYm9vbCBtdWx0aUVudHJ5LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJ
bnRlcmZhY2UqIHRyYW5zYWN0aW9uLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICAvLyBUaGUg
dHJhbnNhY3Rpb24gcG9pbnRlciBpcyBndWFyYW50ZWVkIHRvIGJlIGEgcG9pbnRlciB0byBhIHBy
b3h5IG9iamVjdCBhcywgaW4gdGhlIHJlbmRlcmVyLAogICAgIC8vIGFsbCBpbXBsZW1lbnRhdGlv
bnMgb2YgSURCIGludGVyZmFjZXMgYXJlIHByb3h5IG9iamVjdHMuCiAgICAgSURCVHJhbnNhY3Rp
b25CYWNrZW5kUHJveHkqIHRyYW5zYWN0aW9uUHJveHkgPSBzdGF0aWNfY2FzdDxJREJUcmFuc2Fj
dGlvbkJhY2tlbmRQcm94eSo+KHRyYW5zYWN0aW9uKTsKLSAgICBPd25QdHI8V2ViSURCSW5kZXg+
IGluZGV4ID0gYWRvcHRQdHIobV93ZWJJREJPYmplY3RTdG9yZS0+Y3JlYXRlSW5kZXgobmFtZSwg
a2V5UGF0aCwgdW5pcXVlLCBtdWx0aWVudHJ5LCAqdHJhbnNhY3Rpb25Qcm94eS0+Z2V0V2ViSURC
VHJhbnNhY3Rpb24oKSwgZWMpKTsKKyAgICBPd25QdHI8V2ViSURCSW5kZXg+IGluZGV4ID0gYWRv
cHRQdHIobV93ZWJJREJPYmplY3RTdG9yZS0+Y3JlYXRlSW5kZXgobmFtZSwga2V5UGF0aCwgdW5p
cXVlLCBtdWx0aUVudHJ5LCAqdHJhbnNhY3Rpb25Qcm94eS0+Z2V0V2ViSURCVHJhbnNhY3Rpb24o
KSwgZWMpKTsKICAgICBpZiAoIWluZGV4KQogICAgICAgICByZXR1cm4gMDsKICAgICByZXR1cm4g
SURCSW5kZXhCYWNrZW5kUHJveHk6OmNyZWF0ZShpbmRleC5yZWxlYXNlKCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCT2JqZWN0U3RvcmVCYWNrZW5kUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQk9iamVjdFN0b3JlQmFja2VuZFByb3h5
LmgKaW5kZXggMmQ2MmYwYTk1ZTlmNDMwY2ZhNjVmNWIwNTA5NWJjNmNlNDI4OGI5Yy4uNGFjMzkx
OTM2OTY5Y2YwZjY3YjNjNzJlY2M3MDdiMTQ0ZmVjNjQ2NyAxMDA3NTUKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvSURCT2JqZWN0U3RvcmVCYWNrZW5kUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJPYmplY3RTdG9yZUJhY2tlbmRQcm94eS5oCkBAIC01
MSw3ICs1MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlRnVuY3Rpb24oUGFz
c1JlZlB0cjxXZWJDb3JlOjpJREJLZXk+LCBQYXNzUmVmUHRyPFdlYkNvcmU6OklEQkNhbGxiYWNr
cz4sIFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIFdlYkNvcmU6OkV4
Y2VwdGlvbkNvZGUmKTsKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXIoUGFzc1JlZlB0cjxXZWJDb3Jl
OjpJREJDYWxsYmFja3M+LCBXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2Uq
LCBXZWJDb3JlOjpFeGNlcHRpb25Db2RlJik7CiAKLSAgICBQYXNzUmVmUHRyPFdlYkNvcmU6OklE
QkluZGV4QmFja2VuZEludGVyZmFjZT4gY3JlYXRlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lLCBj
b25zdCBTdHJpbmcmIGtleVBhdGgsIGJvb2wgdW5pcXVlLCBib29sIG11bHRpZW50cnksIFdlYkNv
cmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIFdlYkNvcmU6OkV4Y2VwdGlvbkNv
ZGUmKTsKKyAgICBQYXNzUmVmUHRyPFdlYkNvcmU6OklEQkluZGV4QmFja2VuZEludGVyZmFjZT4g
Y3JlYXRlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGtleVBhdGgsIGJv
b2wgdW5pcXVlLCBib29sIG11bHRpRW50cnksIFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2Vu
ZEludGVyZmFjZSosIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUmKTsKICAgICBQYXNzUmVmUHRyPFdl
YkNvcmU6OklEQkluZGV4QmFja2VuZEludGVyZmFjZT4gaW5kZXgoY29uc3QgU3RyaW5nJiBuYW1l
LCBXZWJDb3JlOjpFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBkZWxldGVJbmRleChjb25zdCBT
dHJpbmcmIG5hbWUsIFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIFdl
YkNvcmU6OkV4Y2VwdGlvbkNvZGUmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViSURCSW5kZXhJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYklEQkluZGV4SW1wbC5jcHAKaW5kZXggNDkzY2I0YWQ3OGYxMTU2Yjk2YTMzZDliYWE2ZDQz
MzI1MTM2NjVlMS4uMDc3Mzk3YTMzZjllMmRmNzk2NzEyYTYzZDkyZjgyZDliY2Q1NTA4YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCSW5kZXhJbXBsLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJJbmRleEltcGwuY3BwCkBAIC02
OCw5ICs2OCw5IEBAIGJvb2wgV2ViSURCSW5kZXhJbXBsOjp1bmlxdWUoKSBjb25zdAogICAgIHJl
dHVybiBtX2JhY2tlbmQtPnVuaXF1ZSgpOwogfQogCi1ib29sIFdlYklEQkluZGV4SW1wbDo6bXVs
dGllbnRyeSgpIGNvbnN0Citib29sIFdlYklEQkluZGV4SW1wbDo6bXVsdGlFbnRyeSgpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIG1fYmFja2VuZC0+bXVsdGllbnRyeSgpOworICAgIHJldHVybiBtX2Jh
Y2tlbmQtPm11bHRpRW50cnkoKTsKIH0KIAogdm9pZCBXZWJJREJJbmRleEltcGw6Om9wZW5PYmpl
Y3RDdXJzb3IoY29uc3QgV2ViSURCS2V5UmFuZ2UmIGtleVJhbmdlLCB1bnNpZ25lZCBzaG9ydCBk
aXJlY3Rpb24sIFdlYklEQkNhbGxiYWNrcyogY2FsbGJhY2tzLCBjb25zdCBXZWJJREJUcmFuc2Fj
dGlvbiYgdHJhbnNhY3Rpb24sIFdlYkV4Y2VwdGlvbkNvZGUmIGVjKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCSW5kZXhJbXBsLmggYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJJREJJbmRleEltcGwuaAppbmRleCA3MDhlZjgzODcwZDIyZjk1YmFj
MDg0NWM4NzcyMTE4ZDM4ZTZjNWMxLi5jMDNkYzZmYjAzYWY0MzY1MmNlOWM1MDRmOTQ0MDIzY2Yx
NTc0YzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJJbmRl
eEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJJbmRleEltcGwu
aApAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBXZWJTdHJpbmcgc3RvcmVO
YW1lKCkgY29uc3Q7CiAgICAgdmlydHVhbCBXZWJTdHJpbmcga2V5UGF0aCgpIGNvbnN0OwogICAg
IHZpcnR1YWwgYm9vbCB1bmlxdWUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgbXVsdGllbnRy
eSgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBtdWx0aUVudHJ5KCkgY29uc3Q7CiAKICAgICB2
aXJ0dWFsIHZvaWQgb3Blbk9iamVjdEN1cnNvcihjb25zdCBXZWJJREJLZXlSYW5nZSYsIHVuc2ln
bmVkIHNob3J0IGRpcmVjdGlvbiwgV2ViSURCQ2FsbGJhY2tzKiwgY29uc3QgV2ViSURCVHJhbnNh
Y3Rpb24mLCBXZWJFeGNlcHRpb25Db2RlJik7IAogICAgIHZpcnR1YWwgdm9pZCBvcGVuS2V5Q3Vy
c29yKGNvbnN0IFdlYklEQktleVJhbmdlJiwgdW5zaWduZWQgc2hvcnQgZGlyZWN0aW9uLCBXZWJJ
REJDYWxsYmFja3MqLCBjb25zdCBXZWJJREJUcmFuc2FjdGlvbiYsIFdlYkV4Y2VwdGlvbkNvZGUm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQk9iamVjdFN0
b3JlSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJPYmplY3RTdG9y
ZUltcGwuY3BwCmluZGV4IDU1ZTM3YjI1YWFiZWUyZDUyMmZlODQ5YzZjNGQ0MTY4M2Q2N2RmNjAu
LjAyNTE4NTk3ZTI5MzNkY2U4Y2MyMjU1OTMzMjBkMjliZTBhYWNmM2QgMTAwNzU1Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQk9iamVjdFN0b3JlSW1wbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCT2JqZWN0U3RvcmVJbXBsLmNwcApAQCAt
ODcsOSArODcsOSBAQCB2b2lkIFdlYklEQk9iamVjdFN0b3JlSW1wbDo6Y2xlYXIoV2ViSURCQ2Fs
bGJhY2tzKiBjYWxsYmFja3MsIGNvbnN0IFdlYklEQlRyYW5zYQogICAgIG1fb2JqZWN0U3RvcmUt
PmNsZWFyKElEQkNhbGxiYWNrc1Byb3h5OjpjcmVhdGUoYWRvcHRQdHIoY2FsbGJhY2tzKSksIHRy
YW5zYWN0aW9uLmdldElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSgpLCBlYyk7CiB9CiAK
LVdlYklEQkluZGV4KiBXZWJJREJPYmplY3RTdG9yZUltcGw6OmNyZWF0ZUluZGV4KGNvbnN0IFdl
YlN0cmluZyYgbmFtZSwgY29uc3QgV2ViU3RyaW5nJiBrZXlQYXRoLCBib29sIHVuaXF1ZSwgYm9v
bCBtdWx0aWVudHJ5LCBjb25zdCBXZWJJREJUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24sIFdlYkV4
Y2VwdGlvbkNvZGUmIGVjKQorV2ViSURCSW5kZXgqIFdlYklEQk9iamVjdFN0b3JlSW1wbDo6Y3Jl
YXRlSW5kZXgoY29uc3QgV2ViU3RyaW5nJiBuYW1lLCBjb25zdCBXZWJTdHJpbmcmIGtleVBhdGgs
IGJvb2wgdW5pcXVlLCBib29sIG11bHRpRW50cnksIGNvbnN0IFdlYklEQlRyYW5zYWN0aW9uJiB0
cmFuc2FjdGlvbiwgV2ViRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgUmVmUHRyPElEQkluZGV4
QmFja2VuZEludGVyZmFjZT4gaW5kZXggPSBtX29iamVjdFN0b3JlLT5jcmVhdGVJbmRleChuYW1l
LCBrZXlQYXRoLCB1bmlxdWUsIG11bHRpZW50cnksIHRyYW5zYWN0aW9uLmdldElEQlRyYW5zYWN0
aW9uQmFja2VuZEludGVyZmFjZSgpLCBlYyk7CisgICAgUmVmUHRyPElEQkluZGV4QmFja2VuZElu
dGVyZmFjZT4gaW5kZXggPSBtX29iamVjdFN0b3JlLT5jcmVhdGVJbmRleChuYW1lLCBrZXlQYXRo
LCB1bmlxdWUsIG11bHRpRW50cnksIHRyYW5zYWN0aW9uLmdldElEQlRyYW5zYWN0aW9uQmFja2Vu
ZEludGVyZmFjZSgpLCBlYyk7CiAgICAgaWYgKCFpbmRleCkKICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgcmV0dXJuIG5ldyBXZWJJREJJbmRleEltcGwoaW5kZXgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCT2JqZWN0U3RvcmVJbXBsLmggYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJJREJPYmplY3RTdG9yZUltcGwuaAppbmRleCA4ODRhMDdmMGY3
NTgzZTc0NzcxOGI2MmZkOWZjYTk2NzU4MjU2MmJhLi45YjJkOGMyYjk1MDYyYjY0ZWQ4NmYyMjEz
MmRjM2QyNGZhMWMyMTIzIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJJREJPYmplY3RTdG9yZUltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJJREJPYmplY3RTdG9yZUltcGwuaApAQCAtNTYsNyArNTYsNyBAQCBwdWJsaWM6CiAKICAgICAv
LyBGSVhNRTogUmVtb3ZlIG9uY2UgY2FsbGVycyBhcmUgdXBkYXRlZC4KICAgICBXZWJJREJJbmRl
eCogY3JlYXRlSW5kZXgoY29uc3QgV2ViU3RyaW5nJiBuYW1lLCBjb25zdCBXZWJTdHJpbmcmIGtl
eVBhdGgsIGJvb2wgdW5pcXVlLCBjb25zdCBXZWJJREJUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24s
IFdlYkV4Y2VwdGlvbkNvZGUmIGVjKSB7IHJldHVybiBjcmVhdGVJbmRleChuYW1lLCBrZXlQYXRo
LCB1bmlxdWUsIGZhbHNlLCB0cmFuc2FjdGlvbiwgZWMpOyB9Ci0gICAgV2ViSURCSW5kZXgqIGNy
ZWF0ZUluZGV4KGNvbnN0IFdlYlN0cmluZyYgbmFtZSwgY29uc3QgV2ViU3RyaW5nJiBrZXlQYXRo
LCBib29sIHVuaXF1ZSwgYm9vbCBtdWx0aWVudHJ5LCBjb25zdCBXZWJJREJUcmFuc2FjdGlvbiYs
IFdlYkV4Y2VwdGlvbkNvZGUmKTsKKyAgICBXZWJJREJJbmRleCogY3JlYXRlSW5kZXgoY29uc3Qg
V2ViU3RyaW5nJiBuYW1lLCBjb25zdCBXZWJTdHJpbmcmIGtleVBhdGgsIGJvb2wgdW5pcXVlLCBi
b29sIG11bHRpRW50cnksIGNvbnN0IFdlYklEQlRyYW5zYWN0aW9uJiwgV2ViRXhjZXB0aW9uQ29k
ZSYpOwogICAgIFdlYklEQkluZGV4KiBpbmRleChjb25zdCBXZWJTdHJpbmcmIG5hbWUsIFdlYkV4
Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIGRlbGV0ZUluZGV4KGNvbnN0IFdlYlN0cmluZyYgbmFt
ZSwgY29uc3QgV2ViSURCVHJhbnNhY3Rpb24mLCBXZWJFeGNlcHRpb25Db2RlJik7CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA4NzViYmY3MmQ1NjYwYjFjMjRlZDg2ZjVjNjY3NzcyY2UxMTcwNmEwLi40ODk1ODVmZWJjNjc5
YWVhNzg3NDJlYWE5MWU0NDU1MDU4YjY1ZGE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEt
MTItMDEgIEpvc2h1YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRl
eGVkREI6IFJlbmFtZSAibXVsdGllbnRyeSIgdG8gIm11bHRpRW50cnkiIHBlciBzcGVjIGNoYW5n
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NzgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIvaW5kZXgtbXVsdGllbnRyeS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvaW5kZXgtbXVsdGllbnRyeS5odG1sOgorCiAyMDExLTEyLTAxICBWaW5jZW50IFNjaGVp
YiAgPHNjaGVpYkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBUZXN0IGV4cGVj
dGF0aW9uczoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4
LWJhc2ljcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRl
eC1iYXNpY3MtZXhwZWN0ZWQudHh0CmluZGV4IDBhNjFjMzI0ZmFhMDlkM2NmNjk4MDA3ZGVkZGEy
MjViZDQ1YjUyYTUuLmQ2NzA5ODdmYzA5NjAxNTczYzkwZWVjMTc5ODUyZmRmMjAwMjg0NGUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNz
LWV4cGVjdGVkLnR4dApAQCAtMjEsOSArMjEsOSBAQCBQQVNTIGluZGV4T2JqZWN0Lm9iamVjdFN0
b3JlLm5hbWUgaXMgInN0b3JlTmFtZSIKIFBBU1MgJ2tleVBhdGgnIGluIGluZGV4T2JqZWN0IGlz
IHRydWUKIFBBU1MgaW5kZXhPYmplY3Qua2V5UGF0aCBpcyAieCIKIFBBU1MgJ3VuaXF1ZScgaW4g
aW5kZXhPYmplY3QgaXMgdHJ1ZQotUEFTUyAnbXVsdGllbnRyeScgaW4gaW5kZXhPYmplY3QgaXMg
dHJ1ZQorUEFTUyAnbXVsdGlFbnRyeScgaW4gaW5kZXhPYmplY3QgaXMgdHJ1ZQogUEFTUyBpbmRl
eE9iamVjdC51bmlxdWUgaXMgZmFsc2UKLVBBU1MgaW5kZXhPYmplY3QubXVsdGllbnRyeSBpcyBm
YWxzZQorUEFTUyBpbmRleE9iamVjdC5tdWx0aUVudHJ5IGlzIGZhbHNlCiBQQVNTICdvcGVuS2V5
Q3Vyc29yJyBpbiBpbmRleE9iamVjdCBpcyB0cnVlCiBQQVNTICdvcGVuQ3Vyc29yJyBpbiBpbmRl
eE9iamVjdCBpcyB0cnVlCiBQQVNTICdnZXRLZXknIGluIGluZGV4T2JqZWN0IGlzIHRydWUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLmh0bWwKaW5kZXgg
MzA5ZTc1ZWQzOThkZGZjYjQ1MDU2NjRkNmViYWE3ODQzZjEwYTQ3Zi4uYTkyM2FiOGVlMWNiYjFh
ZDU4MDgyOTUzNTgwMWM4ZGYwYzE3NzhkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvaW5kZXgtYmFzaWNzLmh0bWwKQEAgLTUzLDkgKzUzLDkgQEAgZnVuY3Rpb24gYWRk
RGF0YSgpCiAgICAgc2hvdWxkQmVUcnVlKCIna2V5UGF0aCcgaW4gaW5kZXhPYmplY3QiKTsKICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImluZGV4T2JqZWN0LmtleVBhdGgiLCAieCIpOwogICAg
IHNob3VsZEJlVHJ1ZSgiJ3VuaXF1ZScgaW4gaW5kZXhPYmplY3QiKTsKLSAgICBzaG91bGRCZVRy
dWUoIidtdWx0aWVudHJ5JyBpbiBpbmRleE9iamVjdCIpOworICAgIHNob3VsZEJlVHJ1ZSgiJ211
bHRpRW50cnknIGluIGluZGV4T2JqZWN0Iik7CiAgICAgc2hvdWxkQmVGYWxzZSgiaW5kZXhPYmpl
Y3QudW5pcXVlIik7Ci0gICAgc2hvdWxkQmVGYWxzZSgiaW5kZXhPYmplY3QubXVsdGllbnRyeSIp
OworICAgIHNob3VsZEJlRmFsc2UoImluZGV4T2JqZWN0Lm11bHRpRW50cnkiKTsKICAgICBzaG91
bGRCZVRydWUoIidvcGVuS2V5Q3Vyc29yJyBpbiBpbmRleE9iamVjdCIpOwogICAgIHNob3VsZEJl
VHJ1ZSgiJ29wZW5DdXJzb3InIGluIGluZGV4T2JqZWN0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCIn
Z2V0S2V5JyBpbiBpbmRleE9iamVjdCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvaW5kZXgtbXVsdGllbnRyeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9pbmRleC1tdWx0aWVudHJ5LWV4cGVjdGVkLnR4dAppbmRleCA4NTI0
YWMxNTFhMWRkMDM1NzU5NWM0ZDYwMjJhNzM4ZmIyN2IyY2M0Li45M2I4OWI4ZGEzYWZjMGFmZGJh
OTI1OGQ4MjVhMWFmMWMzNDUxOWM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9pbmRleC1tdWx0aWVudHJ5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9pbmRleC1tdWx0aWVudHJ5LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDQgQEAKLVRlc3QgZmVhdHVyZXMgb2YgSW5kZXhlZERCJ3MgbXVsdGllbnRyeSBpbmRpY2VzLgor
VGVzdCBmZWF0dXJlcyBvZiBJbmRleGVkREIncyBtdWx0aUVudHJ5IGluZGljZXMuCiAKIE9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KIApAQCAtNyw3ICs3LDcgQEAgd2luZG93LmluZGV4ZWREQiA9
IHdpbmRvdy5pbmRleGVkREIgfHwgd2luZG93LndlYmtpdEluZGV4ZWREQgogUEFTUyBpbmRleGVk
REIgIT0gbnVsbCBpcyB0cnVlCiB3aW5kb3cuSURCVHJhbnNhY3Rpb24gPSB3aW5kb3cuSURCVHJh
bnNhY3Rpb24gfHwgd2luZG93LndlYmtpdElEQlRyYW5zYWN0aW9uCiBQQVNTIElEQlRyYW5zYWN0
aW9uICE9IG51bGwgaXMgdHJ1ZQotaW5kZXhlZERCLm9wZW4oJ2luZGV4LW11bHRpZW50cnknKQor
aW5kZXhlZERCLm9wZW4oJ2luZGV4LW11bHRpRW50cnknKQogZGIgPSBldmVudC50YXJnZXQucmVz
dWx0CiBkYi5zZXRWZXJzaW9uKCcxJykKIApAQCAtMTYsOSArMTYsOSBAQCB0cmFucyA9IGV2ZW50
LnRhcmdldC5yZXN1bHQKIFBBU1MgdHJhbnMgIT09IG51bGwgaXMgdHJ1ZQogRGVsZXRlZCBhbGwg
b2JqZWN0IHN0b3Jlcy4KIHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJykKLXN0
b3JlLmNyZWF0ZUluZGV4KCdpbmRleCcsICd4Jywge211bHRpZW50cnk6IHRydWV9KQorc3RvcmUu
Y3JlYXRlSW5kZXgoJ2luZGV4JywgJ3gnLCB7bXVsdGlFbnRyeTogdHJ1ZX0pCiBzdG9yZTIgPSBk
Yi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUtdW5pcXVlJykKLXN0b3JlMi5jcmVhdGVJbmRleCgn
aW5kZXgtdW5pcXVlJywgJ3gnLCB7bXVsdGllbnRyeTogdHJ1ZSwgdW5pcXVlOiB0cnVlfSkKK3N0
b3JlMi5jcmVhdGVJbmRleCgnaW5kZXgtdW5pcXVlJywgJ3gnLCB7bXVsdGlFbnRyeTogdHJ1ZSwg
dW5pcXVlOiB0cnVlfSkKIAogUG9wdWxhdGluZyBzdG9yZXMgKGFuZCBpbmRleGVzKQogdHJhbnNh
Y3Rpb24gPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlJ10sIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJ
VEUpCkBAIC02NCw3ICs2NCw3IEBAIFBBU1MgY3Vyc29yLnZhbHVlLnkgaXMgImIiCiBjdXJzb3Ig
PSBldmVudC50YXJnZXQucmVzdWx0CiBQQVNTIGV4cGVjdGVkLmxlbmd0aCA9PT0gMCBpcyB0cnVl
CiAKLVZlcmlmeWluZyB1bmlxdWUgY29uc3RyYWludCBvbiBtdWx0aWVudHJ5IGluZGV4CitWZXJp
ZnlpbmcgdW5pcXVlIGNvbnN0cmFpbnQgb24gbXVsdGlFbnRyeSBpbmRleAogdHJhbnNhY3Rpb24g
PSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlLXVuaXF1ZSddLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dS
SVRFKQogdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlLXVuaXF1ZScpLnB1dCh7eDogWzEs
IDIsIDNdLCB5OiAnYSd9LCAnZm9vJykKIHN1Y2Nlc3MhCkBAIC04MSw3ICs4MSw3IEBAIGRiLnNl
dFZlcnNpb24oJzInKQogdHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0CiBQQVNTIHRyYW5zICE9
PSBudWxsIGlzIHRydWUKIHN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJykKLXN0b3Jl
LmNyZWF0ZUluZGV4KCdpbmRleC1uZXcnLCAneCcsIHttdWx0aWVudHJ5OiB0cnVlfSkKK3N0b3Jl
LmNyZWF0ZUluZGV4KCdpbmRleC1uZXcnLCAneCcsIHttdWx0aUVudHJ5OiB0cnVlfSkKIAogVmVy
aWZ5aW5nIGluZGV4OiBpbmRleC1uZXcKIHRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydz
dG9yZSddLCBJREJUcmFuc2FjdGlvbi5SRUFEX09OTFkpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1tdWx0aWVudHJ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9pbmRleC1tdWx0aWVudHJ5Lmh0bWwKaW5kZXggYjU5YTdlOTI1ZjI1
MTIzODZmNjQzZTUxMmM4NTdiNGRjOTJkNTFlNy4uZGZjMTQwODYwYTUxMjc1YmU5NzU2YTU1MmRh
MmU0ZmE4MjY0NjgyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
aW5kZXgtbXVsdGllbnRyeS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2luZGV4LW11bHRpZW50cnkuaHRtbApAQCAtOCw3ICs4LDcgQEAKIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgogPHNjcmlwdD4KIAotZGVzY3JpcHRpb24oIlRlc3QgZmVhdHVyZXMgb2YgSW5kZXhl
ZERCJ3MgbXVsdGllbnRyeSBpbmRpY2VzLiIpOworZGVzY3JpcHRpb24oIlRlc3QgZmVhdHVyZXMg
b2YgSW5kZXhlZERCJ3MgbXVsdGlFbnRyeSBpbmRpY2VzLiIpOwogaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7
CiAKQEAgLTE5LDcgKzE5LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgZXZhbEFuZExvZygid2lu
ZG93LklEQlRyYW5zYWN0aW9uID0gd2luZG93LklEQlRyYW5zYWN0aW9uIHx8IHdpbmRvdy53ZWJr
aXRJREJUcmFuc2FjdGlvbiIpOwogICAgIHNob3VsZEJlVHJ1ZSgiSURCVHJhbnNhY3Rpb24gIT0g
bnVsbCIpOwogCi0gICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKCdpbmRl
eC1tdWx0aWVudHJ5JykiKTsKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9w
ZW4oJ2luZGV4LW11bHRpRW50cnknKSIpOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0
ZWRFcnJvckNhbGxiYWNrOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7CiAg
ICAgICAgIGRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CkBAIC00
MiwxMCArNDIsMTAgQEAgZnVuY3Rpb24gcHJlcGFyZURhdGFiYXNlKCkKICAgICBkZWxldGVBbGxP
YmplY3RTdG9yZXMoZGIpOwogCiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpIik7Ci0gICAgZXZhbEFuZExvZygic3RvcmUuY3JlYXRl
SW5kZXgoJ2luZGV4JywgJ3gnLCB7bXVsdGllbnRyeTogdHJ1ZX0pIik7CisgICAgZXZhbEFuZExv
Zygic3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4JywgJ3gnLCB7bXVsdGlFbnRyeTogdHJ1ZX0pIik7
CiAKICAgICBzdG9yZTIgPSBldmFsQW5kTG9nKCJzdG9yZTIgPSBkYi5jcmVhdGVPYmplY3RTdG9y
ZSgnc3RvcmUtdW5pcXVlJykiKTsKLSAgICBldmFsQW5kTG9nKCJzdG9yZTIuY3JlYXRlSW5kZXgo
J2luZGV4LXVuaXF1ZScsICd4Jywge211bHRpZW50cnk6IHRydWUsIHVuaXF1ZTogdHJ1ZX0pIik7
CisgICAgZXZhbEFuZExvZygic3RvcmUyLmNyZWF0ZUluZGV4KCdpbmRleC11bmlxdWUnLCAneCcs
IHttdWx0aUVudHJ5OiB0cnVlLCB1bmlxdWU6IHRydWV9KSIpOwogfQogCiBmdW5jdGlvbiBhZGRE
YXRhKCkKQEAgLTEwMyw3ICsxMDMsNyBAQCBmdW5jdGlvbiB2ZXJpZnlJbmRleGVzKGluZGV4TmFt
ZSwgY2FsbGJhY2spCiBmdW5jdGlvbiB2ZXJpZnlVbmlxdWVDb25zdHJhaW50KCkKIHsKICAgICBk
ZWJ1ZygiIik7Ci0gICAgZGVidWcoIlZlcmlmeWluZyB1bmlxdWUgY29uc3RyYWludCBvbiBtdWx0
aWVudHJ5IGluZGV4Iik7CisgICAgZGVidWcoIlZlcmlmeWluZyB1bmlxdWUgY29uc3RyYWludCBv
biBtdWx0aUVudHJ5IGluZGV4Iik7CiAgICAgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJ0cmFu
c2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmUtdW5pcXVlJ10sIElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEUpIik7CiAgICAgdHJhbnNhY3Rpb24ub25hYm9ydCA9IGZ1bmN0aW9uICgpIHsK
ICAgICAgICAgZGVidWcoIlRyYW5zYWN0aW9uIGFib3J0ZWQgYXMgZXhwZWN0ZWQiKTsKQEAgLTE0
Myw3ICsxNDMsNyBAQCBmdW5jdGlvbiBjcmVhdGVJbmRleE9uU3RvcmVXaXRoRGF0YSgpCiAgICAg
ICAgIHRyYW5zLm9uY29tcGxldGUgPSBmdW5jdGlvbigpIHsgdmVyaWZ5SW5kZXhlcygnaW5kZXgt
bmV3JywgZG9uZSk7IH07CiAKICAgICAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRy
YW5zLm9iamVjdFN0b3JlKCdzdG9yZScpIik7Ci0gICAgICAgIGV2YWxBbmRMb2coInN0b3JlLmNy
ZWF0ZUluZGV4KCdpbmRleC1uZXcnLCAneCcsIHttdWx0aWVudHJ5OiB0cnVlfSkiKTsKKyAgICAg
ICAgZXZhbEFuZExvZygic3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4LW5ldycsICd4Jywge211bHRp
RW50cnk6IHRydWV9KSIpOwogICAgIH07CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>