<?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>110457</bug_id>
          
          <creation_ts>2013-02-21 04:26:00 -0800</creation_ts>
          <short_desc>REGRESSION(r143581): Breaks Windows builds (compile + link) (Requested by apavlov on #webkit).</short_desc>
          <delta_ts>2013-02-21 04:31:30 -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>
          
          <blocked>109572</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>apavlov</cc>
    
    <cc>vsevik</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>838323</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-21 04:26:00 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/143581 broke the build:
Breaks Windows builds (compile + link) (Requested by apavlov on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838325</commentid>
    <comment_count>1</comment_count>
      <attachid>189507</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-21 04:26:37 -0800</bug_when>
    <thetext>Created attachment 189507
ROLLOUT of r143581

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838332</commentid>
    <comment_count>2</comment_count>
      <attachid>189507</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-21 04:31:27 -0800</bug_when>
    <thetext>Comment on attachment 189507
ROLLOUT of r143581

Clearing flags on attachment: 189507

Committed r143585: &lt;http://trac.webkit.org/changeset/143585&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838333</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-21 04:31:30 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189507</attachid>
            <date>2013-02-21 04:26:37 -0800</date>
            <delta_ts>2013-02-21 04:31:27 -0800</delta_ts>
            <desc>ROLLOUT of r143581</desc>
            <filename>bug-110457-20130221122257.patch</filename>
            <type>text/plain</type>
            <size>78080</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzNTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGI3ZTlhZmNlMmI3M2Fl
ODc1MDViZTM0NjVkYjE0OWU4ODZiOWEyNi4uNmY3NTBhNGU1OGFjNWI0ZjMyZWUwYWZiNjI3ZDY1
YzAzMjQzMjkxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwNSBAQAorMjAxMy0wMi0yMSAgU2hl
cmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZp
ZXdlZCwgcm9sbGluZyBvdXQgcjE0MzU4MS4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9y
Zy9jaGFuZ2VzZXQvMTQzNTgxCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTA0NTcKKworICAgICAgICBCcmVha3MgV2luZG93cyBidWlsZHMgKGNvbXBp
bGUgKyBsaW5rKSAoUmVxdWVzdGVkIGJ5IGFwYXZsb3YKKyAgICAgICAgb24gI3dlYmtpdCkuCisK
KyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFt
OgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAg
ICAqIFdlYkNvcmUub3JkZXI6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9XZWJDb3JlTWVt
b3J5SW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGRv
bS9XZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlTWVtb3J5
VHlwZXMpOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qczoKKyAg
ICAgICAgKC4pOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRy
b2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JET01TdG9yYWdlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NU3Rv
cmFnZUFnZW50OjpJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpjbGVhckZyb250ZW5kKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6cmVzdG9yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmVuYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmRpc2FibGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50OjpnZXRET01TdG9yYWdlRW50cmllcyk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OnNldERPTVN0b3JhZ2VJdGVtKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6cmVtb3ZlRE9NU3RvcmFn
ZUl0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpzdG9y
YWdlSWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpnZXRE
T01TdG9yYWdlUmVzb3VyY2VGb3JJZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01T
dG9yYWdlQWdlbnQ6OmRpZFVzZURPTVN0b3JhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yRE9NU3RvcmFnZUFnZW50OjpkaWREaXNwYXRjaERPTVN0b3JhZ2VFdmVudCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmNsZWFyUmVzb3VyY2VzKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6cmVwb3J0TWVtb3J5VXNh
Z2UpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaDoKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NU3RvcmFnZUFn
ZW50OjpjcmVhdGUpOgorICAgICAgICAoSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTVN0b3JhZ2VS
ZXNvdXJjZTo6SW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZTo6aXNTYW1lT3JpZ2luQW5kVHlwZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2U6OmJpbmQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlOjp1bmJpbmQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlOjpyZXBvcnRNZW1vcnlVc2Fn
ZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZS5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9yRE9NU3RvcmFnZVJl
c291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZTo6
aWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlOjpzdG9y
YWdlQXJlYSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2U6
OmZyYW1lKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpkaWRDb21taXRMb2FkSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZFVzZURPTVN0b3JhZ2VJbXBsKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRVc2VET01TdG9yYWdlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JQYWdlQWdlbnQuaDoKKyAgICAgICAgKEluc3BlY3RvclBhZ2VBZ2VudCk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9ET01TdG9yYWdlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkRPTVN0b3JhZ2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2UucHJvdG90eXBl
LmdldCBpZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZS5wcm90b3R5cGUuZ2V0
IGRvbWFpbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZS5wcm90b3R5cGUuZ2V0
RW50cmllcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZS5wcm90b3R5cGUuc2V0
SXRlbSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZS5wcm90b3R5cGUucmVtb3Zl
SXRlbSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZU1vZGVsKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5ET01TdG9yYWdlTW9kZWwucHJvdG90eXBlLl9hZGRET01TdG9yYWdlKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01TdG9yYWdlTW9kZWwucHJvdG90eXBlLl9kb21TdG9y
YWdlSXRlbXNDbGVhcmVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01TdG9yYWdlTW9kZWwu
cHJvdG90eXBlLl9kb21TdG9yYWdlSXRlbVJlbW92ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkRPTVN0b3JhZ2VNb2RlbC5wcm90b3R5cGUuX2RvbVN0b3JhZ2VJdGVtQWRkZWQpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2VNb2RlbC5wcm90b3R5cGUuc3RvcmFnZUZvcklkKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01TdG9yYWdlTW9kZWwucHJvdG90eXBlLnN0b3JhZ2Vz
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01TdG9yYWdlRGlzcGF0Y2hlci5wcm90b3R5cGUu
YWRkRE9NU3RvcmFnZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9ET01TdG9yYWdl
SXRlbXNWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2VJdGVtc1ZpZXcu
cHJvdG90eXBlLl91cGRhdGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2VJdGVt
c1ZpZXcucHJvdG90eXBlLl9zaG93RE9NU3RvcmFnZUVudHJpZXMpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkRPTVN0b3JhZ2VJdGVtc1ZpZXcucHJvdG90eXBlLl9kYXRhR3JpZEZvckRPTVN0b3Jh
Z2VFbnRyaWVzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVs
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUuX2luaXRpYWxpemUpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZS5fZG9tU3RvcmFnZUFkZGVk
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUuX2FkZERP
TVN0b3JhZ2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2VUcmVlRWxlbWVudCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZVRyZWVFbGVtZW50LnByb3RvdHlwZS5n
ZXQgaXRlbVVSTCk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NV2luZG93OjpzZXNzaW9uU3RvcmFnZSk6CisgICAgICAgIChXZWJDb3JlOjpET01X
aW5kb3c6OmxvY2FsU3RvcmFnZSk6CisKIDIwMTMtMDItMjEgIFZzZXZvbG9kIFZsYXNvdiAgPHZz
ZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogR2V0IHJpZCBvZiBw
YXJzZWRVUkwgaW4gdWlTb3VyY2VDb2RlLCB1c2UgbmFtZSBhbmQgcGF0aCBmb3IgZGlzcGxheU5h
bWUgaW5zdGVhZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNDUwMTdiNDVmMDdhZDYxZmVjNDkx
Zjg3YmZlZTAzNDQ0NTQwY2YyNS4uM2Y4OWEwZWMyZTk1YzMzMTRjMGIyYjg1MWJlYWNmZThmMDUx
ZmExNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE2MjMsNiArMTYyMyw3IEBAIHNldChXZWJD
b3JlX1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCiAgICAgaW5z
cGVjdG9yL0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTVN0b3JhZ2VBZ2VudC5jcHAKKyAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFn
ZVJlc291cmNlLmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmNwcAog
ICAgIGluc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmNwcAogICAgIGluc3BlY3Rv
ci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
aW5kZXggMTE3MmI2NjkyNzUwNWZiZjdmOTJmYWM2NTUzZWU3Yzg5YTZhZTNmYi4uNjFmNDFiYzQy
MmUxOTRjOTFmOWQ1ZGY0OTA5MTk0YTZmZGVlNmQwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCkBAIC0zODM4LDYgKzM4MzgsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmggXAogCVNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmggXAorCVNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UuY3BwIFwKKwlT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlLmggXAog
CVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmggXAog
CVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaQppbmRleCBmZjdmYTczYWRjMDM5MjU4MjU0NDI1MzI3YmM4MmYwMDE5Y2JmYzZiLi5j
OWY2ZDJmNTU4NjRmZWVkMTdjZjVkYzZlODlkMWQxN2NhNDM4OTQ2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAg
LTc5OCw2ICs3OTgsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRE9N
QWdlbnQuY3BwIFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5jcHAg
XAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3BwIFwKKyAgICBpbnNw
ZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlLmNwcCBcCiAgICAgaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwIFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRIb3N0LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckhlYXBQcm9maWxlckFn
ZW50LmNwcCBcCkBAIC0xOTk4LDYgKzE5OTksNyBAQCBIRUFERVJTICs9IFwKICAgICBpbnNwZWN0
b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRE9N
RGVidWdnZXJBZ2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50
LmggXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UuaCBcCiAgICAg
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oIFwKICAgICBpbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnQuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWwuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggYmE1NmJjYjJlMTI1M2ViMTRiNWFj
MDRhNzhhOWMyNzk5ODhmZmY0My4uZjc3NDQ0NTQ1YWIxYjEyOWQwZDkzMGU0M2E0MmY5NTU1Zjlh
YWM3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTg1OSw2ICsxODU5LDggQEAKICAgICAgICAgICAg
ICdpbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oJywKICAgICAgICAgICAgICdp
bnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcCcsCiAgICAgICAgICAgICAnaW5z
cGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oJywKKyAgICAgICAgICAgICdpbnNwZWN0
b3IvSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlLmNwcCcsCisgICAgICAgICAgICAnaW5zcGVj
dG9yL0luc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZS5oJywKICAgICAgICAgICAgICdpbnNwZWN0
b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHAnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9J
bnNwZWN0b3JEYXRhYmFzZUFnZW50LmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0
b3JEYXRhYmFzZUluc3RydW1lbnRhdGlvbi5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUub3JkZXIgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCmluZGV4IGMxNjNh
OGU1MzM5NTFmZmYwYTM0NDgwNzBmNjI2YjIyYjJiMzhjOTAuLjYzM2IwZjQ3NDUyZDg4MDlkYjFi
YjE5ZWE2MTYzOWM5ZjE4YjQwMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
b3JkZXIKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgpAQCAtMTkxODIsNiArMTkx
ODIsNyBAQCBfX1pOM1dURjE3SGFzaE1hcFRyYW5zbGF0b3JJU3Q0cGFpcklOU182UmVmUHRySU43
V2ViQ29yZTE0U2VjdXJpdHlPcmlnaW5FRUVOUzJfSQogX19aTjdXZWJDb3JlMjRJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24yMGRpZFVzZURPTVN0b3JhZ2VJbXBsRVBOU18xOUluc3RydW1lbnRpbmdB
Z2VudHNFUE5TXzExU3RvcmFnZUFyZWFFYlBOU181RnJhbWVFCiBfX1pON1dlYkNvcmUyNEluc3Bl
Y3RvckRPTVN0b3JhZ2VBZ2VudDE2ZGlkVXNlRE9NU3RvcmFnZUVQTlNfMTFTdG9yYWdlQXJlYUVi
UE5TXzVGcmFtZUUKIF9fWk43V2ViQ29yZTdTdG9yYWdlNmNyZWF0ZUVQTlNfNUZyYW1lRU4zV1RG
MTBQYXNzUmVmUHRySU5TXzExU3RvcmFnZUFyZWFFRUUKK19fWk43V2ViQ29yZTI3SW5zcGVjdG9y
RE9NU3RvcmFnZVJlc291cmNlQzFFUE5TXzdTdG9yYWdlRWJQTlNfNUZyYW1lRQogX19aTjdXZWJD
b3JlNHRvSlNFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQTlNfN1N0
b3JhZ2VFCiBfX1pON1dlYkNvcmU0d3JhcElOU185SlNTdG9yYWdlRU5TXzdTdG9yYWdlRUVFTjNK
U0M3SlNWYWx1ZUVQTlMzXzlFeGVjU3RhdGVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUFQwXwog
X19aTjdXZWJDb3JlMTVnZXRET01TdHJ1Y3R1cmVJTlNfOUpTU3RvcmFnZUVFRVBOM0pTQzlTdHJ1
Y3R1cmVFUE5TMl85RXhlY1N0YXRlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RQpAQCAtMTkyMDQs
NiArMTkyMDUsNyBAQCBfX1pON1dlYkNvcmUxNEpTU3RvcmFnZU93bmVyMjZpc1JlYWNoYWJsZUZy
b21PcGFxdWVSb290c0VOM0pTQzZIYW5kbGVJTlMxXzdVbmtubwogX19aTjdXZWJDb3JlMTRKU1N0
b3JhZ2VPd25lcjhmaW5hbGl6ZUVOM0pTQzZIYW5kbGVJTlMxXzdVbmtub3duRUVFUHYKIF9fWk43
V2ViQ29yZTlKU1N0b3JhZ2VEMUV2CiBfX1pON1dlYkNvcmU3U3RvcmFnZUQxRXYKK19fWk43V2Vi
Q29yZTI3SW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlRDBFdgogX19aTks3V2ViQ29yZTE0U2Vj
dXJpdHlPcmlnaW41ZXF1YWxFUEtTMF8KIF9fWk43V2ViQ29yZTlKU1N0b3JhZ2UxMG5hbWVHZXR0
ZXJFUE4zSlNDOUV4ZWNTdGF0ZUVOUzFfN0pTVmFsdWVFUktOUzFfMTBJZGVudGlmaWVyRQogX19a
Tks3V2ViQ29yZTdTdG9yYWdlN2dldEl0ZW1FUktOM1dURjZTdHJpbmdFCkBAIC0yMDM3Miw2ICsy
MDM3NCw3IEBAIF9fWk43V2ViQ29yZTE3Z2V0RE9NQ29uc3RydWN0b3JJTlNfMjVKU0NTU1ZhbHVl
TGlzdENvbnN0cnVjdG9yRUVFUE4zSlNDOEpTT2JqZWN0CiBfX1pON1dlYkNvcmUzMGpzRE9NV2lu
ZG93RmlsZUxpc3RDb25zdHJ1Y3RvckVQTjNKU0M5RXhlY1N0YXRlRU5TMF83SlNWYWx1ZUVSS05T
MF8xMElkZW50aWZpZXJFCiBfX1pON1dlYkNvcmUxMEpTRmlsZUxpc3QxNGdldENvbnN0cnVjdG9y
RVBOM0pTQzlFeGVjU3RhdGVFUE5TMV8xNEpTR2xvYmFsT2JqZWN0RQogX19aTjdXZWJDb3JlMTdn
ZXRET01Db25zdHJ1Y3RvcklOU18yMUpTRmlsZUxpc3RDb25zdHJ1Y3RvckVFRVBOM0pTQzhKU09i
amVjdEVQTlMyXzlFeGVjU3RhdGVFUEtOU18xN0pTRE9NR2xvYmFsT2JqZWN0RQorX19aTks3V2Vi
Q29yZTI3SW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlMTdpc1NhbWVIb3N0QW5kVHlwZUVQTlNf
NUZyYW1lRWIKIF9fWk43V2ViQ29yZTUzanNET01XaW5kb3dTVkdQYXRoU2VnQ3VydmV0b0N1Ymlj
U21vb3RoUmVsQ29uc3RydWN0b3JFUE4zSlNDOUV4ZWNTdGF0ZUVOUzBfN0pTVmFsdWVFUktOUzBf
MTBJZGVudGlmaWVyRQogX19aTjdXZWJDb3JlMzNKU1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9v
dGhSZWwxNGdldENvbnN0cnVjdG9yRVBOM0pTQzlFeGVjU3RhdGVFUE5TMV8xNEpTR2xvYmFsT2Jq
ZWN0RQogX19aTjdXZWJDb3JlMTdnZXRET01Db25zdHJ1Y3RvcklOU180NEpTU1ZHUGF0aFNlZ0N1
cnZldG9DdWJpY1Ntb290aFJlbENvbnN0cnVjdG9yRUVFUE4zSlNDOEpTT2JqZWN0RVBOUzJfOUV4
ZWNTdGF0ZUVQS05TXzE3SlNET01HbG9iYWxPYmplY3RFCkBAIC0yNzM5OCwxNCArMjc0MDEsMjMg
QEAgX19aTjdXZWJDb3JlMThJbnNwZWN0b3JQYWdlQWdlbnQxMGZyYW1lRm9ySWRFUktOM1dURjZT
dHJpbmdFCiBfX1pON1dlYkNvcmUxOEluc3BlY3RvclBhZ2VBZ2VudDE1cmVzb3VyY2VDb250ZW50
RVBOM1dURjZTdHJpbmdFUE5TXzVGcmFtZUVSS05TXzRLVVJMRVMzXwogX19aTjdXZWJDb3JlTDE4
ZGVjb2RlTWFpblJlc291cmNlRVBOU181RnJhbWVFUE4zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29y
ZUwxOGRlY29kZVNoYXJlZEJ1ZmZlckVOM1dURjEwUGFzc1JlZlB0cklOU18xMlNoYXJlZEJ1ZmZl
ckVFRVJLTlMwXzZTdHJpbmdFUFM0XworX19aTjdXZWJDb3JlMjdJbnNwZWN0b3JET01TdG9yYWdl
UmVzb3VyY2U0YmluZEVQTlNfMTdJbnNwZWN0b3JGcm9udGVuZEUKIF9fWk43V2ViQ29yZTE3SW5z
cGVjdG9yRnJvbnRlbmQxMERPTVN0b3JhZ2UxM2FkZERPTVN0b3JhZ2VFTjNXVEYxMFBhc3NSZWZQ
dHJJTlNfMTVJbnNwZWN0b3JPYmplY3RFRUUKIF9fWk43V2ViQ29yZTE1U3RvcmFnZUFyZWFTeW5j
MTNzY2hlZHVsZUNsZWFyRXYKIF9fWk43V2ViQ29yZTI2SW5zcGVjdG9yQmFja2VuZERpc3BhdGNo
ZXIzMURPTVN0b3JhZ2VfZ2V0RE9NU3RvcmFnZUVudHJpZXNFbFBOU18xNUluc3BlY3Rvck9iamVj
dEUKIF9fWk43V2ViQ29yZTI0SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50MjBnZXRET01TdG9yYWdl
RW50cmllc0VQTjNXVEY2U3RyaW5nRWlQTlMxXzZSZWZQdHJJTlNfMTRJbnNwZWN0b3JBcnJheUVF
RQorX19aTjNXVEY5SGFzaFRhYmxlSWlTdDRwYWlySWlOU182UmVmUHRySU43V2ViQ29yZTI3SW5z
cGVjdG9yRE9NU3RvcmFnZVJlc291cmNlRUVFRU5TXzE4UGFpckZpcnN0RXh0cmFjdG9ySVM2X0VF
TlNfN0ludEhhc2hJakVFTlNfMTRQYWlySGFzaFRyYWl0c0lOU18xMEhhc2hUcmFpdHNJaUVFTlND
X0lTNV9FRUVFU0RfRTE2bG9va3VwRm9yV3JpdGluZ0VSS2kKK19fWk4zV1RGOUhhc2hUYWJsZUlp
U3Q0cGFpcklpTlNfNlJlZlB0cklON1dlYkNvcmUyN0luc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJj
ZUVFRUVOU18xOFBhaXJGaXJzdEV4dHJhY3RvcklTNl9FRU5TXzdJbnRIYXNoSWpFRU5TXzE0UGFp
ckhhc2hUcmFpdHNJTlNfMTBIYXNoVHJhaXRzSWlFRU5TQ19JUzVfRUVFRVNEX0UzYWRkSWlTNV9O
U18xN0hhc2hNYXBUcmFuc2xhdG9ySVM2X1NGX1NBX0VFRUVTMV9JTlNfMTdIYXNoVGFibGVJdGVy
YXRvcklpUzZfUzhfU0FfU0ZfU0RfRUViRVJLVF9SS1QwXworX19aTjNXVEY5SGFzaFRhYmxlSWlT
dDRwYWlySWlOU182UmVmUHRySU43V2ViQ29yZTI3SW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNl
RUVFRU5TXzE4UGFpckZpcnN0RXh0cmFjdG9ySVM2X0VFTlNfN0ludEhhc2hJakVFTlNfMTRQYWly
SGFzaFRyYWl0c0lOU18xMEhhc2hUcmFpdHNJaUVFTlNDX0lTNV9FRUVFU0RfRTRmaW5kSWlOU18y
MklkZW50aXR5SGFzaFRyYW5zbGF0b3JJaVM2X1NBX0VFRUVOU18xN0hhc2hUYWJsZUl0ZXJhdG9y
SWlTNl9TOF9TQV9TRl9TRF9FRVJLVF8KK19fWk4zV1RGOUhhc2hUYWJsZUlpU3Q0cGFpcklpTlNf
NlJlZlB0cklON1dlYkNvcmUyN0luc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZUVFRUVOU18xOFBh
aXJGaXJzdEV4dHJhY3RvcklTNl9FRU5TXzdJbnRIYXNoSWpFRU5TXzE0UGFpckhhc2hUcmFpdHNJ
TlNfMTBIYXNoVHJhaXRzSWlFRU5TQ19JUzVfRUVFRVNEX0U1Y2xlYXJFdgorX19aTjNXVEY5SGFz
aFRhYmxlSWlTdDRwYWlySWlOU182UmVmUHRySU43V2ViQ29yZTI3SW5zcGVjdG9yRE9NU3RvcmFn
ZVJlc291cmNlRUVFRU5TXzE4UGFpckZpcnN0RXh0cmFjdG9ySVM2X0VFTlNfN0ludEhhc2hJakVF
TlNfMTRQYWlySGFzaFRyYWl0c0lOU18xMEhhc2hUcmFpdHNJaUVFTlNDX0lTNV9FRUVFU0RfRTZy
ZWhhc2hFaQorX19aTjdXZWJDb3JlMjdJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UzMXN0YXJ0
UmVwb3J0aW5nQ2hhbmdlc1RvRnJvbnRlbmRFdgogX19aTks3V2ViQ29yZTdTdG9yYWdlM2tleUVq
CiBfX1pOSzdXZWJDb3JlMTVTdG9yYWdlQXJlYUltcGwza2V5RWoKIF9fWk43V2ViQ29yZTEwU3Rv
cmFnZU1hcDNrZXlFagogX19aTjdXZWJDb3JlMTBTdG9yYWdlTWFwMThzZXRJdGVyYXRvclRvSW5k
ZXhFagorX19aTjdXZWJDb3JlMjdJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2VlcUVSS05TXzEz
RXZlbnRMaXN0ZW5lckUKK19fWk43V2ViQ29yZTI3SW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNl
NnVuYmluZEV2CiBfX1pON1dlYkNvcmUxNENvbnNvbGVNZXNzYWdlMTNhZGRUb0Zyb250ZW5kRVBO
U18xN0luc3BlY3RvckZyb250ZW5kN0NvbnNvbGVFUE5TXzIxSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
RQogX19aTjdXZWJDb3JlMTdJbnNwZWN0b3JGcm9udGVuZDdDb25zb2xlMTJtZXNzYWdlQWRkZWRF
TjNXVEYxMFBhc3NSZWZQdHJJTlNfMTVJbnNwZWN0b3JPYmplY3RFRUUKIF9fWk43V2ViQ29yZTI2
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIxMVBhZ2VfcmVsb2FkRWxQTlNfMTVJbnNwZWN0b3JP
YmplY3RFCkBAIC0zNjM5Myw4ICszNjQwNSwxMCBAQCBfX1pUVk43V2ViQ29yZTExVHlwZUJ1aWxk
ZXI1QXJyYXlJTlMwXzNET000Tm9kZUVFRQogX19aVFZON1dlYkNvcmUxOEluc3BlY3RvckJhc2VB
Z2VudElOU18xN0luc3BlY3RvckRPTUFnZW50RUVFCiBfX1pUVk43V2ViQ29yZTVUaW1lcklOU18y
OFJldmFsaWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2tFRUUKIF9fWlRWTjdXZWJDb3JlMThJbnNwZWN0
b3JCYXNlQWdlbnRJTlNfMjVJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50RUVFCitfX1pUVk4zV1RG
MjFNZW1vcnlJbnN0cnVtZW50YXRpb243V3JhcHBlcklON1dlYkNvcmUyN0luc3BlY3RvckRPTVN0
b3JhZ2VSZXNvdXJjZUVFRQogX19aVFZON1dlYkNvcmUxMVR5cGVCdWlsZGVyNUFycmF5SU5TMV9J
TjNXVEY2U3RyaW5nRUVFRUUKIF9fWlRWTjdXZWJDb3JlMThJbnNwZWN0b3JCYXNlQWdlbnRJTlNf
MjRJbnNwZWN0b3JET01TdG9yYWdlQWdlbnRFRUUKK19fWk43V2ViQ29yZTI3SW5zcGVjdG9yRE9N
U3RvcmFnZVJlc291cmNlMTRzX25leHRVbnVzZWRJZEUKIF9fWlRWTjNXVEYyMU1lbW9yeUluc3Ry
dW1lbnRhdGlvbjdXcmFwcGVySU43V2ViQ29yZTExU3RvcmFnZUFyZWFFRUUKIF9fWlRWTjdXZWJD
b3JlNVRpbWVySU5TXzI4SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoVGFza0VFRQogX19aVFZON1dl
YkNvcmUyMEZyb250ZW5kTWVudVByb3ZpZGVyRQpAQCAtMzg0NDAsNiArMzg0NTQsNyBAQCBfX1pO
N1dlYkNvcmUxOFdlYkNvcmVNZW1vcnlUeXBlczlJbnNwZWN0b3JFCiBfX1pON1dlYkNvcmUxOFdl
YkNvcmVNZW1vcnlUeXBlczE5SW5zcGVjdG9yQ29udHJvbGxlckUKIF9fWk43V2ViQ29yZTE4V2Vi
Q29yZU1lbW9yeVR5cGVzMjBJbnNwZWN0b3JNZW1vcnlBZ2VudEUKIF9fWk43V2ViQ29yZTE4V2Vi
Q29yZU1lbW9yeVR5cGVzMjRJbnNwZWN0b3JET01TdG9yYWdlQWdlbnRFCitfX1pON1dlYkNvcmUx
OFdlYkNvcmVNZW1vcnlUeXBlczI4SW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlc0UKIF9fWk43
V2ViQ29yZTE4V2ViQ29yZU1lbW9yeVR5cGVzMTZJbnNwZWN0b3JPdmVybGF5RQogX19aTjdXZWJD
b3JlMThXZWJDb3JlTWVtb3J5VHlwZXMyMkluc3BlY3RvclByb2ZpbGVyQWdlbnRFCiBfX1pON1dl
YkNvcmUxOFdlYkNvcmVNZW1vcnlUeXBlczIySW5zcGVjdG9yRGVidWdnZXJBZ2VudEUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggYmQ5NWQzOGI1
MWQ3NDBjOGU1ODNkOGEzYmFjZTVhYzhjNDNlYzg1NC4uNjc0ZTk0NTFiMjAyNjZhYzQxZDU5Yzcz
NDY0ZTcwNzQwNTEwM2VlYyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKQEAgLTc2MTAzLDYgKzc2MTAzLDMwIEBACiAJCQkJPgogCQkJPC9GaWxlPgog
CQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JET01TdG9y
YWdlUmVzb3VyY2UuY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFt
ZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0i
UHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlLmgiCisJCQkJPgor
CQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNw
ZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4
IGU2Yjg3N2E0ZmU1NmEzMWNlZmE0NjA3MGE3YWIyZmNmMTQxODk5OWQuLjhhM2NjNTQ0OTBmMWI2
NDAzZDUzYTdlZjY2YjUxN2Q5MzZmY2ZiOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtODAzOCw2ICs4MDM4LDEwIEBACiAgICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENv
bXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yRE9N
U3RvcmFnZVJlc291cmNlLmNwcCI+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcCI+CiAgICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0xMDgxNCw2
ICsxMDgxOCw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVj
dG9yRE9NQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJ
bnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmgiIC8+CisgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yRmlsZVN5c3Rl
bUFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVj
dG9yRnJvbnRlbmRDaGFubmVsLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNw
ZWN0b3JcSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCBjNjQz
OGEyYWQxYzhlZDkzYWE2NzUyNTU2Mzk1ZTM4MzEyYmYyNjhkLi4xZGFmYTY4NDQwOGMwZmFhZDRh
MWIxNWIzNzNlMjRjNWU2Y2VkNGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC02NDgzLDYgKzY0ODMsOSBA
QAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckRPTVN0b3Jh
Z2VBZ2VudC5jcHAiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0Ns
Q29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JE
T01TdG9yYWdlUmVzb3VyY2UuY3BwIj4KKyAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+
CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3Jc
SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3Rvcjwv
RmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtMTM3ODgsNiArMTM3OTEsOSBAQAogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5o
Ij4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+Cisg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yRE9NU3RvcmFnZVJl
c291cmNlLmgiPgorICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KKyAgICA8L0NsSW5j
bHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JGaWxl
U3lzdGVtQWdlbnQuaCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwv
Q2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDBmZWU0YmMwODYyZjJmZjFmNzNiNTZkMmY2MTY0MGU3ZTI3NTFjZGQu
LmZmN2Y0OTE1NWIzMDlhOTc0NDM5MzRmYzEyYjk1ZjU4ZjQ3MDYyMzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExMTksNiAr
MTExOSw4IEBACiAJCTQxRTFCMUQxMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0Iw
RkY1OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmggKi87IH07CiAJCTQxRTFCMUQzMEZG
NTk4NjkwMDU3NkIzQiAvKiBTaGFyZWRXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0QwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJl
ZFdvcmtlci5jcHAgKi87IH07CiAJCTQxRTFCMUQ0MEZGNTk4NjkwMDU3NkIzQiAvKiBTaGFyZWRX
b3JrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
RTFCMUNFMEZGNTk4NjkwMDU3NkIzQiAvKiBTaGFyZWRXb3JrZXIuaCAqLzsgfTsKKwkJNDFGMDYx
NzQwRjVGMDBBQzAwQTA3RUFDIC8qIEluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGMDYxNzIwRjVGMDBB
QzAwQTA3RUFDIC8qIEluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZS5oICovOyB9OworCQk0MUYw
NjE3NTBGNUYwMEFDMDBBMDdFQUMgLyogSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjA2MTczMEY1
RjAwQUMwMEEwN0VBQyAvKiBJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UuY3BwICovOyB9Owog
CQk0MUYwNjE4RTBGNUYwNjk4MDBBMDdFQUMgLyogQ29uc29sZU1lc3NhZ2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjA2MThDMEY1RjA2OTgwMEEw
N0VBQyAvKiBDb25zb2xlTWVzc2FnZS5oICovOyB9OwogCQk0MUYwNjE4RjBGNUYwNjk4MDBBMDdF
QUMgLyogQ29uc29sZU1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDFGMDYxOEQwRjVGMDY5ODAwQTA3RUFDIC8qIENvbnNvbGVNZXNzYWdl
LmNwcCAqLzsgfTsKIAkJNDFGMDYyMTQwRjVGMTkyNjAwQTA3RUFDIC8qIEluc3BlY3RvckRhdGFi
YXNlUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxRjA2MjEyMEY1RjE5MjYwMEEwN0VBQyAvKiBJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNl
LmggKi87IH07CkBAIC04NTAxLDYgKzg1MDMsOCBAQAogCQk0MUUxQjFDRDBGRjU5ODY5MDA1NzZC
M0IgLyogU2hhcmVkV29ya2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IFNoYXJlZFdvcmtlci5jcHA7IHBhdGggPSB3b3JrZXJzL1NoYXJlZFdvcmtlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRTFCMUNFMEZGNTk4NjkwMDU3NkIzQiAvKiBT
aGFyZWRXb3JrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU2hhcmVkV29y
a2VyLmg7IHBhdGggPSB3b3JrZXJzL1NoYXJlZFdvcmtlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MUUxQjFDRjBGRjU5ODY5MDA1NzZCM0IgLyogU2hhcmVkV29ya2VyLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBTaGFyZWRXb3JrZXIuaWRsOyBwYXRoID0gd29ya2Vycy9T
aGFyZWRXb3JrZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUYwNjE3MjBG
NUYwMEFDMDBBMDdFQUMgLyogSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUYwNjE3MzBGNUYwMEFDMDBBMDdFQUMgLyog
SW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQxRjA2MThDMEY1RjA2OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVz
c2FnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb25zb2xlTWVzc2FnZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUYwNjE4RDBGNUYwNjk4MDBBMDdFQUMg
LyogQ29uc29sZU1lc3NhZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQ29uc29sZU1lc3NhZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUYw
NjIxMjBGNUYxOTI2MDBBMDdFQUMgLyogSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTI2MSw2ICsxNTI2NSw4IEBACiAJCQkJ
RjNENEM0NzcxMkUwNzY2MzAwM0RBMTUwIC8qIEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaCAq
LywKIAkJCQk3QTc0RUNCODEwMTgzOUE1MDBCRjkzOUUgLyogSW5zcGVjdG9yRE9NU3RvcmFnZUFn
ZW50LmNwcCAqLywKIAkJCQk3QTc0RUNCOTEwMTgzOUE2MDBCRjkzOUUgLyogSW5zcGVjdG9yRE9N
U3RvcmFnZUFnZW50LmggKi8sCisJCQkJNDFGMDYxNzMwRjVGMDBBQzAwQTA3RUFDIC8qIEluc3Bl
Y3RvckRPTVN0b3JhZ2VSZXNvdXJjZS5jcHAgKi8sCisJCQkJNDFGMDYxNzIwRjVGMDBBQzAwQTA3
RUFDIC8qIEluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZS5oICovLAogCQkJCTE1RDE3RDFFMTQ3
MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwICovLAogCQkJCTE1
RDE3RDFGMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCAqLywK
IAkJCQkyMjc3Nzc1RjEzNDVERUE5MDA4RUE0NTUgLyogSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVs
LmggKi8sCkBAIC0yNDc1Nyw2ICsyNDc2Myw3IEBACiAJCQkJN0EyNDU4N0MxMDIxRUFGNDAwMEEw
MEFBIC8qIEluc3BlY3RvckRPTUFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlGM0Q0QzQ3OTEy
RTA3NjYzMDAzREExNTAgLyogSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJN0E3NEVDQkIxMDE4MzlBNjAwQkY5MzlFIC8qIEluc3BlY3RvckRPTVN0b3JhZ2VB
Z2VudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFGMDYxNzQwRjVGMDBBQzAwQTA3RUFDIC8qIElu
c3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTVEMTdEMjIx
NDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNTc4REEyMEUxNTIwRUI4QzAwNjE0MUMxIC8qIEluc3BlY3RvckZyb250ZW5kLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkyMjc3Nzc2MDEzNDVERUE5MDA4RUE0NTUgLyogSW5zcGVjdG9y
RnJvbnRlbmRDaGFubmVsLmggaW4gSGVhZGVycyAqLywKQEAgLTI4MDUwLDYgKzI4MDU3LDcgQEAK
IAkJCQk3QTI0NTg3QjEwMjFFQUY0MDAwQTAwQUEgLyogSW5zcGVjdG9yRE9NQWdlbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRjNENEM0NzgxMkUwNzY2MzAwM0RBMTUwIC8qIEluc3BlY3RvckRP
TURlYnVnZ2VyQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0E3NEVDQkExMDE4MzlBNjAw
QkY5MzlFIC8qIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk0MUYwNjE3NTBGNUYwMEFDMDBBMDdFQUMgLyogSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE1RDE3RDIxMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNw
ZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNEY0RjVGRkIxMUNC
RDJFMTAwQTE4NkJGIC8qIEluc3BlY3RvckZyb250ZW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUYzNDRDNzU4MTEyOTRGRjYwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2Fs
LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYkNv
cmVNZW1vcnlJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYkNvcmVN
ZW1vcnlJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IDJkODUxYTJmNTVhMDlkZTM1YTYzZWYzYjMz
NjQ4ZTMzNDJmNzBhNzguLjQxNTkzZWE4NjkxOGQ1OTA3OThmNDExNmUwOGU4MDE2YmNkN2NhYjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViQ29yZU1lbW9yeUluc3RydW1lbnRh
dGlvbi5jcHAKQEAgLTYwLDYgKzYwLDcgQEAgTWVtb3J5T2JqZWN0VHlwZSBXZWJDb3JlTWVtb3J5
VHlwZXM6Okluc3BlY3RvciA9ICJXZWJJbnNwZWN0b3IiOwogTWVtb3J5T2JqZWN0VHlwZSBXZWJD
b3JlTWVtb3J5VHlwZXM6Okluc3BlY3RvckNvbnRyb2xsZXIgPSAiV2ViSW5zcGVjdG9yIjsKIE1l
bW9yeU9iamVjdFR5cGUgV2ViQ29yZU1lbW9yeVR5cGVzOjpJbnNwZWN0b3JNZW1vcnlBZ2VudCA9
ICJXZWJJbnNwZWN0b3IiOwogTWVtb3J5T2JqZWN0VHlwZSBXZWJDb3JlTWVtb3J5VHlwZXM6Oklu
c3BlY3RvckRPTVN0b3JhZ2VBZ2VudCA9ICJXZWJJbnNwZWN0b3IiOworTWVtb3J5T2JqZWN0VHlw
ZSBXZWJDb3JlTWVtb3J5VHlwZXM6Okluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZXMgPSAiV2Vi
SW5zcGVjdG9yIjsKIE1lbW9yeU9iamVjdFR5cGUgV2ViQ29yZU1lbW9yeVR5cGVzOjpJbnNwZWN0
b3JPdmVybGF5ID0gIldlYkluc3BlY3RvciI7CiBNZW1vcnlPYmplY3RUeXBlIFdlYkNvcmVNZW1v
cnlUeXBlczo6SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCA9ICJXZWJJbnNwZWN0b3IiOwogTWVtb3J5
T2JqZWN0VHlwZSBXZWJDb3JlTWVtb3J5VHlwZXM6Okluc3BlY3RvckRlYnVnZ2VyQWdlbnQgPSAi
V2ViSW5zcGVjdG9yIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJDb3JlTWVt
b3J5SW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViQ29yZU1lbW9yeUlu
c3RydW1lbnRhdGlvbi5oCmluZGV4IDEzNjQxOWZkMjcwZjcxOTZiMDg1ZjhlMTBmZWQ1NjZmNmZj
NmZhMmEuLmFiY2YxNzYxNjFkZmY1OTYwOWE5MDhlY2I2MTYxNzI0YjRiMTlhZWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24uaApAQCAt
NjUsNiArNjUsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIE1lbW9yeU9iamVjdFR5cGUgSW5zcGVj
dG9yQ29udHJvbGxlcjsKICAgICBzdGF0aWMgTWVtb3J5T2JqZWN0VHlwZSBJbnNwZWN0b3JNZW1v
cnlBZ2VudDsKICAgICBzdGF0aWMgTWVtb3J5T2JqZWN0VHlwZSBJbnNwZWN0b3JET01TdG9yYWdl
QWdlbnQ7CisgICAgc3RhdGljIE1lbW9yeU9iamVjdFR5cGUgSW5zcGVjdG9yRE9NU3RvcmFnZVJl
c291cmNlczsKICAgICBzdGF0aWMgTWVtb3J5T2JqZWN0VHlwZSBJbnNwZWN0b3JPdmVybGF5Owog
ICAgIHN0YXRpYyBNZW1vcnlPYmplY3RUeXBlIEluc3BlY3RvclByb2ZpbGVyQWdlbnQ7CiAgICAg
c3RhdGljIE1lbW9yeU9iamVjdFR5cGUgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcwppbmRleCA3MDAw
OTY3ZjVlZmQ2MDYxYzI4Njg1MzA1ZGQ0NWNmZGNlNTQwNzZkLi5jOWU2M2VmNDk4NzY1ZTJlN2Q4
MWZkNjAwMDg4MWExMmNkNTcyNmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luamVjdGVkU2NyaXB0U291cmNlLmpzCkBAIC0xODUsNyArMTg1LDcgQEAgSW5qZWN0ZWRTY3Jp
cHQucHJvdG90eXBlID0gewogICAgICAgICAgICAgY2FzZSAiU3RvcmFnZSI6CiAgICAgICAgICAg
ICAgICAgdmFyIHN0b3JhZ2VJZCA9IEluamVjdGVkU2NyaXB0SG9zdC5zdG9yYWdlSWQob2JqZWN0
KQogICAgICAgICAgICAgICAgIGlmIChzdG9yYWdlSWQpCi0gICAgICAgICAgICAgICAgICAgIGhp
bnRzLmRvbVN0b3JhZ2VJZCA9IEluamVjdGVkU2NyaXB0SG9zdC5ldmFsdWF0ZSgiKCIgKyBzdG9y
YWdlSWQgKyAiKSIpOworICAgICAgICAgICAgICAgICAgICBoaW50cy5kb21TdG9yYWdlSWQgPSBz
dG9yYWdlSWQ7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgSW5q
ZWN0ZWRTY3JpcHRIb3N0Lmluc3BlY3Qob2JqZWN0SWQsIGhpbnRzKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCAzMzgwMzQ1MjhiZTEyMTQwNzAxZmVkYzBmOTk1
M2U1MTFhNjNiYWQ4Li40ODljMWU2ZThmYWM5MzU3ZGY1ZGFjMjk5YjAwYWY0MGI4YjUwOTBlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0xNDIzLDE2ICsxNDIz
LDIyIEBACiAgICAgewogICAgICAgICAiZG9tYWluIjogIkRPTVN0b3JhZ2UiLAogICAgICAgICAi
aGlkZGVuIjogdHJ1ZSwKLSAgICAgICAgImRlc2NyaXB0aW9uIjogIlF1ZXJ5IGFuZCBtb2RpZnkg
RE9NIHN0b3JhZ2UuIiwKICAgICAgICAgInR5cGVzIjogWwogICAgICAgICAgICAgewogICAgICAg
ICAgICAgICAgICJpZCI6ICJTdG9yYWdlSWQiLAorICAgICAgICAgICAgICAgICJ0eXBlIjogInN0
cmluZyIsCisgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlVuaXF1ZSBpZGVudGlmaWVy
IG9mIERPTSBzdG9yYWdlIGVudHJ5LiIsCisgICAgICAgICAgICAgICAgImhpZGRlbiI6IHRydWUK
KyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgImlkIjogIkVu
dHJ5IiwKICAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAotICAgICAgICAgICAgICAg
ICJkZXNjcmlwdGlvbiI6ICJET00gU3RvcmFnZSBpZGVudGlmaWVyLiIsCisgICAgICAgICAgICAg
ICAgImRlc2NyaXB0aW9uIjogIkRPTSBTdG9yYWdlIGVudHJ5LiIsCiAgICAgICAgICAgICAgICAg
ImhpZGRlbiI6IHRydWUsCiAgICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiBbCi0gICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAic2VjdXJpdHlPcmlnaW4iLCAidHlwZSI6ICJzdHJpbmci
LCAiZGVzY3JpcHRpb24iOiAiU2VjdXJpdHkgb3JpZ2luIGZvciB0aGUgc3RvcmFnZS4iIH0sCi0g
ICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaXNMb2NhbFN0b3JhZ2UiLCAidHlwZSI6ICJi
b29sZWFuIiwgImRlc2NyaXB0aW9uIjogIldoZXRoZXIgdGhlIHN0b3JhZ2UgaXMgbG9jYWwgc3Rv
cmFnZSAobm90IHNlc3Npb24gc3RvcmFnZSkuIiB9CisgICAgICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAib3JpZ2luIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIkRvY3VtZW50
IG9yaWdpbi4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaXNMb2NhbFN0b3Jh
Z2UiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjogIlRydWUgZm9yIGxvY2FsIHN0
b3JhZ2UuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlkIiwgIiRyZWYiOiAi
U3RvcmFnZUlkIiwgImRlc2NyaXB0aW9uIjogIkVudHJ5IGlkIGZvciBmdXJ0aGVyIHJlZmVyZW5j
ZS4iIH0KICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgewpA
QCAtMTQ1Myw3ICsxNDU5LDcgQEAKICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGlz
YWJsZXMgc3RvcmFnZSB0cmFja2luZywgcHJldmVudHMgc3RvcmFnZSBldmVudHMgZnJvbSBiZWlu
ZyBzZW50IHRvIHRoZSBjbGllbnQuIgogICAgICAgICAgICAgfSwKICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAibmFtZSI6ICJnZXRET01TdG9yYWdlSXRlbXMiLAorICAgICAgICAgICAg
ICAgICJuYW1lIjogImdldERPTVN0b3JhZ2VFbnRyaWVzIiwKICAgICAgICAgICAgICAgICAicGFy
YW1ldGVycyI6IFsKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzdG9yYWdlSWQiLCAi
JHJlZiI6ICJTdG9yYWdlSWQiIH0KICAgICAgICAgICAgICAgICBdLApAQCAtMTQ2Nyw2ICsxNDcz
LDkgQEAKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzdG9yYWdlSWQiLCAiJHJlZiI6
ICJTdG9yYWdlSWQiIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAia2V5IiwgInR5
cGUiOiAic3RyaW5nIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInZhbHVlIiwg
InR5cGUiOiAic3RyaW5nIiB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAi
cmV0dXJucyI6IFsKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzdWNjZXNzIiwgInR5
cGUiOiAiYm9vbGVhbiIgfQogICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH0sCiAgICAg
ICAgICAgICB7CkBAIC0xNDc0LDExICsxNDgzLDIwIEBACiAgICAgICAgICAgICAgICAgInBhcmFt
ZXRlcnMiOiBbCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAic3RvcmFnZUlkIiwgIiRy
ZWYiOiAiU3RvcmFnZUlkIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImtleSIs
ICJ0eXBlIjogInN0cmluZyIgfQorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAg
InJldHVybnMiOiBbCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAic3VjY2VzcyIsICJ0
eXBlIjogImJvb2xlYW4iIH0KICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9CiAgICAg
ICAgIF0sCiAgICAgICAgICJldmVudHMiOiBbCiAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgIm5hbWUiOiAiYWRkRE9NU3RvcmFnZSIsCisgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMi
OiBbCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAic3RvcmFnZSIsICIkcmVmIjogIkVu
dHJ5IiB9CisgICAgICAgICAgICAgICAgXQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICAibmFtZSI6ICJkb21TdG9yYWdlSXRlbXNDbGVhcmVkIiwKICAgICAg
ICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6
ICJzdG9yYWdlSWQiLCAgIiRyZWYiOiAiU3RvcmFnZUlkIiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcAppbmRleCAxZWI4ZTIxNWM1ZTY0MjhlNzhj
YWFlZjdhZDBhYjk5MjZlZDc3ODU3Li42N2NlYTQ2MGUyMGUxOWYyZGFmY2ZjOTVjZGQzYTY3NmI4
MjA5OTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxs
SW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9u
ZS5jcHAKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JET01BZ2VudC5jcHAi
CiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5jcHAiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcCIKKyNpbmNsdWRlICJJbnNwZWN0b3JET01TdG9yYWdl
UmVzb3VyY2UuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvckRhdGFiYXNlQWdlbnQuY3BwIgogI2lu
Y2x1ZGUgIkluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuY3BwIgogI2luY2x1ZGUgIkluc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDkxNjg4ODNhZTQ1Y2IyNWI4ZDYxOTM3MTdkNjI2MmI5
ODZjNzJmZTYuLjBiNjU4OGRlNzY4YTg5ZDE0ZDg1YmNiYTFjMGMyMWU5MjM5N2M5NzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAg
LTExNyw3ICsxMTcsNyBAQCBJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVy
KFBhZ2UqIHBhZ2UsIEluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQwogI2lmIEVOQUJMRShGSUxF
X1NZU1RFTSkKICAgICBtX2FnZW50cy5hcHBlbmQoSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50Ojpj
cmVhdGUobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBwYWdlQWdlbnQsIG1fc3RhdGUuZ2V0
KCkpKTsKICNlbmRpZgotICAgIE93blB0cjxJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ+IGRvbVN0
b3JhZ2VBZ2VudFB0cihJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1l
bnRpbmdBZ2VudHMuZ2V0KCksIG1fcGFnZUFnZW50LCBtX3N0YXRlLmdldCgpKSk7CisgICAgT3du
UHRyPEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudD4gZG9tU3RvcmFnZUFnZW50UHRyKEluc3BlY3Rv
ckRPTVN0b3JhZ2VBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9z
dGF0ZS5nZXQoKSkpOwogICAgIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCogZG9tU3RvcmFnZUFn
ZW50ID0gZG9tU3RvcmFnZUFnZW50UHRyLmdldCgpOwogICAgIG1fYWdlbnRzLmFwcGVuZChkb21T
dG9yYWdlQWdlbnRQdHIucmVsZWFzZSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcAppbmRleCBkZjA3NDhlOTdhYTdj
YmUxOGEwYzkxNjdkNmVjZDA0ZWRlNmIzNjc3Li4wNmM0MjcwZTcyMmE5MjY1NjRlN2JiYmY3YjFj
ZjhiZTc2ZjcxZjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRE9NU3RvcmFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcApAQCAtMzcsMTkgKzM3LDE0IEBACiAjaW5jbHVkZSAi
RE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25D
b2RlLmgiCi0jaW5jbHVkZSAiRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAi
RnJhbWUuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UuaCIKICNpbmNs
dWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgotI2luY2x1ZGUgIkluc3BlY3RvclBhZ2VBZ2VudC5o
IgogI2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVz
LmgiCiAjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgotI2luY2x1ZGUgIlBhZ2UuaCIK
LSNpbmNsdWRlICJQYWdlR3JvdXAuaCIKLSNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2lu
Y2x1ZGUgIlN0b3JhZ2UuaCIKICNpbmNsdWRlICJTdG9yYWdlQXJlYS5oIgotI2luY2x1ZGUgIlN0
b3JhZ2VOYW1lc3BhY2UuaCIKICNpbmNsdWRlICJWb2lkQ2FsbGJhY2suaCIKICNpbmNsdWRlICJX
ZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgiCiAKQEAgLTc2LDEwICs3MSwxMCBAQCBzdGF0
aWMgYm9vbCBoYWRFeGNlcHRpb24oRXhjZXB0aW9uQ29kZSBlYywgRXJyb3JTdHJpbmcqIGVycm9y
U3RyaW5nKQogICAgIH0KIH0KIAotSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpJbnNwZWN0b3JE
T01TdG9yYWdlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywg
SW5zcGVjdG9yUGFnZUFnZW50KiBwYWdlQWdlbnQsIEluc3BlY3RvckNvbXBvc2l0ZVN0YXRlKiBz
dGF0ZSkKK0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvckNvbXBv
c2l0ZVN0YXRlKiBzdGF0ZSkKICAgICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JET01T
dG9yYWdlQWdlbnQ+KCJET01TdG9yYWdlIiwgaW5zdHJ1bWVudGluZ0FnZW50cywgc3RhdGUpCi0g
ICAgLCBtX3BhZ2VBZ2VudChwYWdlQWdlbnQpCiAgICAgLCBtX2Zyb250ZW5kKDApCisgICAgLCBt
X2VuYWJsZWQoZmFsc2UpCiB7CiAgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0
b3JET01TdG9yYWdlQWdlbnQodGhpcyk7CiB9CkBAIC05NywzNSArOTIsNTUgQEAgdm9pZCBJbnNw
ZWN0b3JET01TdG9yYWdlQWdlbnQ6OnNldEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKiBmcm9u
dGVuZCkKIAogdm9pZCBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmNsZWFyRnJvbnRlbmQoKQog
eworICAgIERPTVN0b3JhZ2VSZXNvdXJjZXNNYXA6Oml0ZXJhdG9yIGRvbVN0b3JhZ2VFbmQgPSBt
X3Jlc291cmNlcy5lbmQoKTsKKyAgICBmb3IgKERPTVN0b3JhZ2VSZXNvdXJjZXNNYXA6Oml0ZXJh
dG9yIGl0ID0gbV9yZXNvdXJjZXMuYmVnaW4oKTsgaXQgIT0gZG9tU3RvcmFnZUVuZDsgKytpdCkK
KyAgICAgICAgaXQtPnZhbHVlLT51bmJpbmQoKTsKICAgICBtX2Zyb250ZW5kID0gMDsKICAgICBk
aXNhYmxlKDApOwogfQogCi1ib29sIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6aXNFbmFibGVk
KCkgY29uc3QKK3ZvaWQgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpyZXN0b3JlKCkKIHsKLSAg
ICByZXR1cm4gbV9zdGF0ZS0+Z2V0Qm9vbGVhbihET01TdG9yYWdlQWdlbnRTdGF0ZTo6ZG9tU3Rv
cmFnZUFnZW50RW5hYmxlZCk7CisgICAgbV9lbmFibGVkID0gIG1fc3RhdGUtPmdldEJvb2xlYW4o
RE9NU3RvcmFnZUFnZW50U3RhdGU6OmRvbVN0b3JhZ2VBZ2VudEVuYWJsZWQpOwogfQogCiB2b2lk
IEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6ZW5hYmxlKEVycm9yU3RyaW5nKikKIHsKLSAgICBt
X3N0YXRlLT5zZXRCb29sZWFuKERPTVN0b3JhZ2VBZ2VudFN0YXRlOjpkb21TdG9yYWdlQWdlbnRF
bmFibGVkLCB0cnVlKTsKKyAgICBpZiAobV9lbmFibGVkKQorICAgICAgICByZXR1cm47CisgICAg
bV9lbmFibGVkID0gdHJ1ZTsKKyAgICBtX3N0YXRlLT5zZXRCb29sZWFuKERPTVN0b3JhZ2VBZ2Vu
dFN0YXRlOjpkb21TdG9yYWdlQWdlbnRFbmFibGVkLCBtX2VuYWJsZWQpOworCisgICAgRE9NU3Rv
cmFnZVJlc291cmNlc01hcDo6aXRlcmF0b3IgcmVzb3VyY2VzRW5kID0gbV9yZXNvdXJjZXMuZW5k
KCk7CisgICAgZm9yIChET01TdG9yYWdlUmVzb3VyY2VzTWFwOjppdGVyYXRvciBpdCA9IG1fcmVz
b3VyY2VzLmJlZ2luKCk7IGl0ICE9IHJlc291cmNlc0VuZDsgKytpdCkKKyAgICAgICAgaXQtPnZh
bHVlLT5iaW5kKG1fZnJvbnRlbmQpOwogfQogCiB2b2lkIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2Vu
dDo6ZGlzYWJsZShFcnJvclN0cmluZyopCiB7Ci0gICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihET01T
dG9yYWdlQWdlbnRTdGF0ZTo6ZG9tU3RvcmFnZUFnZW50RW5hYmxlZCwgZmFsc2UpOworICAgIGlm
ICghbV9lbmFibGVkKQorICAgICAgICByZXR1cm47CisgICAgbV9lbmFibGVkID0gZmFsc2U7Cisg
ICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihET01TdG9yYWdlQWdlbnRTdGF0ZTo6ZG9tU3RvcmFnZUFn
ZW50RW5hYmxlZCwgbV9lbmFibGVkKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JET01TdG9yYWdlQWdl
bnQ6OmdldERPTVN0b3JhZ2VJdGVtcyhFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IFJl
ZlB0cjxJbnNwZWN0b3JPYmplY3Q+JiBzdG9yYWdlSWQsIFJlZlB0cjxUeXBlQnVpbGRlcjo6QXJy
YXk8VHlwZUJ1aWxkZXI6OkFycmF5PFN0cmluZz4gPiA+JiBpdGVtcykKK3ZvaWQgSW5zcGVjdG9y
RE9NU3RvcmFnZUFnZW50OjpnZXRET01TdG9yYWdlRW50cmllcyhFcnJvclN0cmluZyogZXJyb3JT
dHJpbmcsIGNvbnN0IFN0cmluZyYgc3RvcmFnZUlkLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OkFycmF5
PFR5cGVCdWlsZGVyOjpBcnJheTxTdHJpbmc+ID4gPiYgZW50cmllcykKIHsKLSAgICBGcmFtZSog
ZnJhbWU7Ci0gICAgUmVmUHRyPFN0b3JhZ2VBcmVhPiBzdG9yYWdlQXJlYSA9IGZpbmRTdG9yYWdl
QXJlYShlcnJvclN0cmluZywgc3RvcmFnZUlkLCBmcmFtZSk7Ci0gICAgaWYgKCFzdG9yYWdlQXJl
YSkKKyAgICBJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UqIHN0b3JhZ2VSZXNvdXJjZSA9IGdl
dERPTVN0b3JhZ2VSZXNvdXJjZUZvcklkKHN0b3JhZ2VJZCk7CisgICAgaWYgKCFzdG9yYWdlUmVz
b3VyY2UpIHsKKyAgICAgICAgKmVycm9yU3RyaW5nID0gIlN0b3JhZ2UgcmVzb3VyY2Ugbm90IGZv
dW5kIGZvciB0aGUgZ2l2ZW4gc3RvcmFnZSBpZGVudGlmaWVyIjsKICAgICAgICAgcmV0dXJuOwor
ICAgIH0KKyAgICBGcmFtZSogZnJhbWUgPSBzdG9yYWdlUmVzb3VyY2UtPmZyYW1lKCk7CisgICAg
aWYgKCFmcmFtZSkgeworICAgICAgICAqZXJyb3JTdHJpbmcgPSAiRnJhbWUgbm90IGZvdW5kIjsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KIAotICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6QXJyYXk8
VHlwZUJ1aWxkZXI6OkFycmF5PFN0cmluZz4gPiA+IHN0b3JhZ2VJdGVtcyA9IFR5cGVCdWlsZGVy
OjpBcnJheTxUeXBlQnVpbGRlcjo6QXJyYXk8U3RyaW5nPiA+OjpjcmVhdGUoKTsKKyAgICBSZWZQ
dHI8VHlwZUJ1aWxkZXI6OkFycmF5PFR5cGVCdWlsZGVyOjpBcnJheTxTdHJpbmc+ID4gPiBzdG9y
YWdlRW50cmllcyA9IFR5cGVCdWlsZGVyOjpBcnJheTxUeXBlQnVpbGRlcjo6QXJyYXk8U3RyaW5n
PiA+OjpjcmVhdGUoKTsKIAogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgIFN0b3JhZ2VB
cmVhKiBzdG9yYWdlQXJlYSA9IHN0b3JhZ2VSZXNvdXJjZS0+c3RvcmFnZUFyZWEoKTsKICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc3RvcmFnZUFyZWEtPmxlbmd0aChlYywgZnJhbWUpOyAr
K2kpIHsKICAgICAgICAgU3RyaW5nIG5hbWUoc3RvcmFnZUFyZWEtPmtleShpLCBlYywgZnJhbWUp
KTsKICAgICAgICAgaWYgKGhhZEV4Y2VwdGlvbihlYywgZXJyb3JTdHJpbmcpKQpAQCAtMTM2LDcz
ICsxNTEsODcgQEAgdm9pZCBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmdldERPTVN0b3JhZ2VJ
dGVtcyhFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnMKICAgICAgICAgUmVmUHRyPFR5cGVC
dWlsZGVyOjpBcnJheTxTdHJpbmc+ID4gZW50cnkgPSBUeXBlQnVpbGRlcjo6QXJyYXk8U3RyaW5n
Pjo6Y3JlYXRlKCk7CiAgICAgICAgIGVudHJ5LT5hZGRJdGVtKG5hbWUpOwogICAgICAgICBlbnRy
eS0+YWRkSXRlbSh2YWx1ZSk7Ci0gICAgICAgIHN0b3JhZ2VJdGVtcy0+YWRkSXRlbShlbnRyeSk7
CisgICAgICAgIHN0b3JhZ2VFbnRyaWVzLT5hZGRJdGVtKGVudHJ5KTsKICAgICB9Ci0gICAgaXRl
bXMgPSBzdG9yYWdlSXRlbXMucmVsZWFzZSgpOworICAgIGVudHJpZXMgPSBzdG9yYWdlRW50cmll
cy5yZWxlYXNlKCk7CiB9CiAKLXN0YXRpYyBTdHJpbmcgdG9FcnJvclN0cmluZyhjb25zdCBFeGNl
cHRpb25Db2RlJiBlYykKK3ZvaWQgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpzZXRET01TdG9y
YWdlSXRlbShFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgc3RvcmFnZUlkLCBjb25zdCBTdHJp
bmcmIGtleSwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgYm9vbCogc3VjY2VzcykKIHsKLSAgICBpZiAo
ZWMpIHsKLSAgICAgICAgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uIGRlc2NyaXB0aW9uKGVjKTsK
LSAgICAgICAgcmV0dXJuIGRlc2NyaXB0aW9uLm5hbWU7Ci0gICAgfQotICAgIHJldHVybiAiIjsK
KyAgICBJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UqIHN0b3JhZ2VSZXNvdXJjZSA9IGdldERP
TVN0b3JhZ2VSZXNvdXJjZUZvcklkKHN0b3JhZ2VJZCk7CisgICAgaWYgKHN0b3JhZ2VSZXNvdXJj
ZSkgeworICAgICAgICBFeGNlcHRpb25Db2RlIGV4Y2VwdGlvbiA9IDA7CisgICAgICAgIHN0b3Jh
Z2VSZXNvdXJjZS0+c3RvcmFnZUFyZWEoKS0+c2V0SXRlbShrZXksIHZhbHVlLCBleGNlcHRpb24s
IHN0b3JhZ2VSZXNvdXJjZS0+ZnJhbWUoKSk7CisgICAgICAgICpzdWNjZXNzID0gIWV4Y2VwdGlv
bjsKKyAgICB9IGVsc2UKKyAgICAgICAgKnN1Y2Nlc3MgPSBmYWxzZTsKIH0KIAotdm9pZCBJbnNw
ZWN0b3JET01TdG9yYWdlQWdlbnQ6OnNldERPTVN0b3JhZ2VJdGVtKEVycm9yU3RyaW5nKiBlcnJv
clN0cmluZywgY29uc3QgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4mIHN0b3JhZ2VJZCwgY29uc3Qg
U3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgdmFsdWUpCit2b2lkIEluc3BlY3RvckRPTVN0b3Jh
Z2VBZ2VudDo6cmVtb3ZlRE9NU3RvcmFnZUl0ZW0oRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcm
IHN0b3JhZ2VJZCwgY29uc3QgU3RyaW5nJiBrZXksIGJvb2wqIHN1Y2Nlc3MpCiB7Ci0gICAgRnJh
bWUqIGZyYW1lOwotICAgIFJlZlB0cjxTdG9yYWdlQXJlYT4gc3RvcmFnZUFyZWEgPSBmaW5kU3Rv
cmFnZUFyZWEoMCwgc3RvcmFnZUlkLCBmcmFtZSk7Ci0gICAgaWYgKCFzdG9yYWdlQXJlYSkgewot
ICAgICAgICAqZXJyb3JTdHJpbmcgPSAiU3RvcmFnZSBub3QgZm91bmQiOwotICAgICAgICByZXR1
cm47Ci0gICAgfQorICAgIEluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZSogc3RvcmFnZVJlc291
cmNlID0gZ2V0RE9NU3RvcmFnZVJlc291cmNlRm9ySWQoc3RvcmFnZUlkKTsKKyAgICBpZiAoc3Rv
cmFnZVJlc291cmNlKSB7CisgICAgICAgIEV4Y2VwdGlvbkNvZGUgZXhjZXB0aW9uID0gMDsKKyAg
ICAgICAgc3RvcmFnZVJlc291cmNlLT5zdG9yYWdlQXJlYSgpLT5yZW1vdmVJdGVtKGtleSwgZXhj
ZXB0aW9uLCBzdG9yYWdlUmVzb3VyY2UtPmZyYW1lKCkpOworICAgICAgICAqc3VjY2VzcyA9ICFl
eGNlcHRpb247CisgICAgfSBlbHNlCisgICAgICAgICpzdWNjZXNzID0gZmFsc2U7Cit9CiAKLSAg
ICBFeGNlcHRpb25Db2RlIGV4Y2VwdGlvbiA9IDA7Ci0gICAgc3RvcmFnZUFyZWEtPnNldEl0ZW0o
a2V5LCB2YWx1ZSwgZXhjZXB0aW9uLCBmcmFtZSk7Ci0gICAgKmVycm9yU3RyaW5nID0gdG9FcnJv
clN0cmluZyhleGNlcHRpb24pOworU3RyaW5nIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6c3Rv
cmFnZUlkKFN0b3JhZ2UqIHN0b3JhZ2UpCit7CisgICAgQVNTRVJUKHN0b3JhZ2UpOworICAgIEZy
YW1lKiBmcmFtZSA9IHN0b3JhZ2UtPmZyYW1lKCk7CisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7
CisgICAgYm9vbCBpc0xvY2FsU3RvcmFnZSA9IChmcmFtZS0+ZG9jdW1lbnQoKS0+ZG9tV2luZG93
KCktPmxvY2FsU3RvcmFnZShlYykgPT0gc3RvcmFnZSAmJiAhZWMpOworICAgIHJldHVybiBzdG9y
YWdlSWQoZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIGlzTG9jYWxTdG9yYWdl
KTsKIH0KIAotdm9pZCBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OnJlbW92ZURPTVN0b3JhZ2VJ
dGVtKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgUmVmUHRyPEluc3BlY3Rvck9iamVj
dD4mIHN0b3JhZ2VJZCwgY29uc3QgU3RyaW5nJiBrZXkpCitTdHJpbmcgSW5zcGVjdG9yRE9NU3Rv
cmFnZUFnZW50OjpzdG9yYWdlSWQoU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luLCBib29s
IGlzTG9jYWxTdG9yYWdlKQogewotICAgIEZyYW1lKiBmcmFtZTsKLSAgICBSZWZQdHI8U3RvcmFn
ZUFyZWE+IHN0b3JhZ2VBcmVhID0gZmluZFN0b3JhZ2VBcmVhKDAsIHN0b3JhZ2VJZCwgZnJhbWUp
OwotICAgIGlmICghc3RvcmFnZUFyZWEpIHsKLSAgICAgICAgKmVycm9yU3RyaW5nID0gIlN0b3Jh
Z2Ugbm90IGZvdW5kIjsKLSAgICAgICAgcmV0dXJuOworICAgIEFTU0VSVChzZWN1cml0eU9yaWdp
bik7CisgICAgRE9NU3RvcmFnZVJlc291cmNlc01hcDo6aXRlcmF0b3IgZG9tU3RvcmFnZUVuZCA9
IG1fcmVzb3VyY2VzLmVuZCgpOworICAgIGZvciAoRE9NU3RvcmFnZVJlc291cmNlc01hcDo6aXRl
cmF0b3IgaXQgPSBtX3Jlc291cmNlcy5iZWdpbigpOyBpdCAhPSBkb21TdG9yYWdlRW5kOyArK2l0
KSB7CisgICAgICAgIGlmIChpdC0+dmFsdWUtPmlzU2FtZU9yaWdpbkFuZFR5cGUoc2VjdXJpdHlP
cmlnaW4sIGlzTG9jYWxTdG9yYWdlKSkKKyAgICAgICAgICAgIHJldHVybiBpdC0+a2V5OwogICAg
IH0KLQotICAgIEV4Y2VwdGlvbkNvZGUgZXhjZXB0aW9uID0gMDsKLSAgICBzdG9yYWdlQXJlYS0+
cmVtb3ZlSXRlbShrZXksIGV4Y2VwdGlvbiwgZnJhbWUpOwotICAgICplcnJvclN0cmluZyA9IHRv
RXJyb3JTdHJpbmcoZXhjZXB0aW9uKTsKKyAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKLVN0cmlu
ZyBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OnN0b3JhZ2VJZChTdG9yYWdlKiBzdG9yYWdlKQor
SW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlKiBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6Omdl
dERPTVN0b3JhZ2VSZXNvdXJjZUZvcklkKGNvbnN0IFN0cmluZyYgc3RvcmFnZUlkKQogewotICAg
IEFTU0VSVChzdG9yYWdlKTsKLSAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBzdG9yYWdlLT5mcmFt
ZSgpLT5kb2N1bWVudCgpOwotICAgIEFTU0VSVChkb2N1bWVudCk7Ci0gICAgRE9NV2luZG93KiB3
aW5kb3cgPSBkb2N1bWVudC0+ZG9tV2luZG93KCk7Ci0gICAgQVNTRVJUKHdpbmRvdyk7Ci0gICAg
UmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBzZWN1cml0eU9yaWdpbiA9IGRvY3VtZW50LT5zZWN1cml0
eU9yaWdpbigpOwotICAgIGJvb2wgaXNMb2NhbFN0b3JhZ2UgPSB3aW5kb3ctPm9wdGlvbmFsTG9j
YWxTdG9yYWdlKCkgPT0gc3RvcmFnZTsKLSAgICByZXR1cm4gc3RvcmFnZUlkKHNlY3VyaXR5T3Jp
Z2luLmdldCgpLCBpc0xvY2FsU3RvcmFnZSktPnRvSlNPTlN0cmluZygpOworICAgIERPTVN0b3Jh
Z2VSZXNvdXJjZXNNYXA6Oml0ZXJhdG9yIGl0ID0gbV9yZXNvdXJjZXMuZmluZChzdG9yYWdlSWQp
OworICAgIGlmIChpdCA9PSBtX3Jlc291cmNlcy5lbmQoKSkKKyAgICAgICAgcmV0dXJuIDA7Cisg
ICAgcmV0dXJuIGl0LT52YWx1ZS5nZXQoKTsKIH0KIAotUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6
RE9NU3RvcmFnZTo6U3RvcmFnZUlkPiBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OnN0b3JhZ2VJ
ZChTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4sIGJvb2wgaXNMb2NhbFN0b3JhZ2UpCit2
b2lkIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6ZGlkVXNlRE9NU3RvcmFnZShTdG9yYWdlQXJl
YSogc3RvcmFnZUFyZWEsIGJvb2wgaXNMb2NhbFN0b3JhZ2UsIEZyYW1lKiBmcmFtZSkKIHsKLSAg
ICByZXR1cm4gVHlwZUJ1aWxkZXI6OkRPTVN0b3JhZ2U6OlN0b3JhZ2VJZDo6Y3JlYXRlKCkKLSAg
ICAgICAgLnNldFNlY3VyaXR5T3JpZ2luKHNlY3VyaXR5T3JpZ2luLT50b1Jhd1N0cmluZygpKQot
ICAgICAgICAuc2V0SXNMb2NhbFN0b3JhZ2UoaXNMb2NhbFN0b3JhZ2UpLnJlbGVhc2UoKTsKKyAg
ICBET01TdG9yYWdlUmVzb3VyY2VzTWFwOjppdGVyYXRvciBkb21TdG9yYWdlRW5kID0gbV9yZXNv
dXJjZXMuZW5kKCk7CisgICAgZm9yIChET01TdG9yYWdlUmVzb3VyY2VzTWFwOjppdGVyYXRvciBp
dCA9IG1fcmVzb3VyY2VzLmJlZ2luKCk7IGl0ICE9IGRvbVN0b3JhZ2VFbmQ7ICsraXQpIHsKKyAg
ICAgICAgaWYgKGl0LT52YWx1ZS0+aXNTYW1lT3JpZ2luQW5kVHlwZShmcmFtZS0+ZG9jdW1lbnQo
KS0+c2VjdXJpdHlPcmlnaW4oKSwgaXNMb2NhbFN0b3JhZ2UpKQorICAgICAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIFJlZlB0cjxJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2U+IHJlc291
cmNlID0gSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlOjpjcmVhdGUoc3RvcmFnZUFyZWEsIGlz
TG9jYWxTdG9yYWdlLCBmcmFtZSk7CisKKyAgICBtX3Jlc291cmNlcy5zZXQocmVzb3VyY2UtPmlk
KCksIHJlc291cmNlKTsKKworICAgIC8vIFJlc291cmNlcyBhcmUgb25seSBib3VuZCB3aGlsZSB2
aXNpYmxlLgorICAgIGlmIChtX2VuYWJsZWQpCisgICAgICAgIHJlc291cmNlLT5iaW5kKG1fZnJv
bnRlbmQpOwogfQogCiB2b2lkIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6ZGlkRGlzcGF0Y2hE
T01TdG9yYWdlRXZlbnQoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgb2xkVmFsdWUs
IGNvbnN0IFN0cmluZyYgbmV3VmFsdWUsIFN0b3JhZ2VUeXBlIHN0b3JhZ2VUeXBlLCBTZWN1cml0
eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4sIFBhZ2UqKQogewotICAgIGlmICghbV9mcm9udGVuZCB8
fCAhaXNFbmFibGVkKCkpCisgICAgaWYgKCFtX2Zyb250ZW5kIHx8ICFtX2VuYWJsZWQpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6RE9NU3RvcmFnZTo6U3RvcmFn
ZUlkPiBpZCA9IHN0b3JhZ2VJZChzZWN1cml0eU9yaWdpbiwgc3RvcmFnZVR5cGUgPT0gTG9jYWxT
dG9yYWdlKTsKKyAgICBTdHJpbmcgaWQgPSBzdG9yYWdlSWQoc2VjdXJpdHlPcmlnaW4sIHN0b3Jh
Z2VUeXBlID09IExvY2FsU3RvcmFnZSk7CisKKyAgICBpZiAoaWQuaXNFbXB0eSgpKQorICAgICAg
ICByZXR1cm47CiAKICAgICBpZiAoa2V5LmlzTnVsbCgpKQogICAgICAgICBtX2Zyb250ZW5kLT5k
b21zdG9yYWdlKCktPmRvbVN0b3JhZ2VJdGVtc0NsZWFyZWQoaWQpOwpAQCAtMjE0LDM3ICsyNDMs
MTYgQEAgdm9pZCBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmRpZERpc3BhdGNoRE9NU3RvcmFn
ZUV2ZW50KGNvbnN0IFN0cmluZyYga2V5LCBjb24KICAgICAgICAgbV9mcm9udGVuZC0+ZG9tc3Rv
cmFnZSgpLT5kb21TdG9yYWdlSXRlbVVwZGF0ZWQoaWQsIGtleSwgb2xkVmFsdWUsIG5ld1ZhbHVl
KTsKIH0KIAotUGFzc1JlZlB0cjxTdG9yYWdlQXJlYT4gSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50
OjpmaW5kU3RvcmFnZUFyZWEoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBSZWZQdHI8
SW5zcGVjdG9yT2JqZWN0PiYgc3RvcmFnZUlkLCBGcmFtZSomIHRhcmdldEZyYW1lKQordm9pZCBJ
bnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmNsZWFyUmVzb3VyY2VzKCkKIHsKLSAgICBTdHJpbmcg
c2VjdXJpdHlPcmlnaW47Ci0gICAgYm9vbCBpc0xvY2FsU3RvcmFnZTsKLSAgICBib29sIHN1Y2Nl
c3MgPSBzdG9yYWdlSWQtPmdldFN0cmluZygic2VjdXJpdHlPcmlnaW4iLCAmc2VjdXJpdHlPcmln
aW4pOwotICAgIGlmIChzdWNjZXNzKQotICAgICAgICBzdWNjZXNzID0gc3RvcmFnZUlkLT5nZXRC
b29sZWFuKCJpc0xvY2FsU3RvcmFnZSIsICZpc0xvY2FsU3RvcmFnZSk7Ci0gICAgaWYgKCFzdWNj
ZXNzKSB7Ci0gICAgICAgIGlmIChlcnJvclN0cmluZykKLSAgICAgICAgICAgICplcnJvclN0cmlu
ZyA9ICJJbnZhbGlkIHN0b3JhZ2VJZCBmb3JtYXQiOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9
Ci0KLSAgICBGcmFtZSogZnJhbWUgPSBtX3BhZ2VBZ2VudC0+ZmluZEZyYW1lV2l0aFNlY3VyaXR5
T3JpZ2luKHNlY3VyaXR5T3JpZ2luKTsKLSAgICBpZiAoIWZyYW1lKSB7Ci0gICAgICAgIGlmIChl
cnJvclN0cmluZykKLSAgICAgICAgICAgICplcnJvclN0cmluZyA9ICJGcmFtZSBub3QgZm91bmQg
Zm9yIHRoZSBnaXZlbiBzZWN1cml0eSBvcmlnaW4iOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9
Ci0gICAgdGFyZ2V0RnJhbWUgPSBmcmFtZTsKLQotICAgIFBhZ2UqIHBhZ2UgPSBtX3BhZ2VBZ2Vu
dC0+cGFnZSgpOwotICAgIGlmIChpc0xvY2FsU3RvcmFnZSkKLSAgICAgICAgcmV0dXJuIHBhZ2Ut
Pmdyb3VwKCkubG9jYWxTdG9yYWdlKCktPnN0b3JhZ2VBcmVhKGZyYW1lLT5kb2N1bWVudCgpLT5z
ZWN1cml0eU9yaWdpbigpKTsKLSAgICByZXR1cm4gcGFnZS0+c2Vzc2lvblN0b3JhZ2UoKS0+c3Rv
cmFnZUFyZWEoZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkpOworICAgIG1fcmVz
b3VyY2VzLmNsZWFyKCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpyZXBv
cnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAog
ewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNv
cmVNZW1vcnlUeXBlczo6SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KTsKICAgICBJbnNwZWN0b3JC
YXNlQWdlbnQ8SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50Pjo6cmVwb3J0TWVtb3J5VXNhZ2UobWVt
b3J5T2JqZWN0SW5mbyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9yZXNvdXJjZXMsICJyZXNvdXJj
ZXMiKTsKICAgICBpbmZvLmFkZFdlYWtQb2ludGVyKG1fZnJvbnRlbmQpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmgKaW5k
ZXggNmEwYzdiNzBkYTcxZWQ3NzIxYjgwYjRlYzY1MjBjMjFkZGU5Y2IzOS4uZTk4ZTM5MjFkMDU2
ODY5NTIzN2JmOWJlYjA3MzhjMTQzOGM5NzE1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaApAQCAtMzksOCArMzksOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZyYW1lOwogY2xhc3MgSW5zcGVjdG9yQXJyYXk7
CitjbGFzcyBJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2U7CiBjbGFzcyBJbnNwZWN0b3JGcm9u
dGVuZDsKLWNsYXNzIEluc3BlY3RvclBhZ2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvclN0YXRlOwog
Y2xhc3MgSW5zdHJ1bWVudGluZ0FnZW50czsKIGNsYXNzIFBhZ2U7CkBAIC01MSw0MCArNTEsNDQg
QEAgdHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CiAKIGNsYXNzIEluc3BlY3RvckRPTVN0b3Jh
Z2VBZ2VudCA6IHB1YmxpYyBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9yRE9NU3RvcmFnZUFn
ZW50PiwgcHVibGljIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyOjpET01TdG9yYWdlQ29tbWFu
ZEhhbmRsZXIgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvckRPTVN0
b3JhZ2VBZ2VudD4gY3JlYXRlKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMsIEluc3BlY3RvclBhZ2VBZ2VudCogcGFnZUFnZW50LCBJbnNwZWN0b3JDb21wb3NpdGVTdGF0
ZSogc3RhdGUpCisgICAgc3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50
PiBjcmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVj
dG9yQ29tcG9zaXRlU3RhdGUqIHN0YXRlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRy
KG5ldyBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQoaW5zdHJ1bWVudGluZ0FnZW50cywgcGFnZUFn
ZW50LCBzdGF0ZSkpOworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEluc3BlY3RvckRPTVN0
b3JhZ2VBZ2VudChpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSkpOwogICAgIH0KICAgICB+SW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50KCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0RnJvbnRlbmQo
SW5zcGVjdG9yRnJvbnRlbmQqKTsKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJGcm9udGVuZCgpOwor
ICAgIHZvaWQgcmVzdG9yZSgpOworCisgICAgdm9pZCBjbGVhclJlc291cmNlcygpOwogCiAgICAg
Ly8gQ2FsbGVkIGZyb20gdGhlIGZyb250LWVuZC4KICAgICB2aXJ0dWFsIHZvaWQgZW5hYmxlKEVy
cm9yU3RyaW5nKik7CiAgICAgdmlydHVhbCB2b2lkIGRpc2FibGUoRXJyb3JTdHJpbmcqKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgZ2V0RE9NU3RvcmFnZUl0ZW1zKEVycm9yU3RyaW5nKiwgY29uc3QgUmVm
UHRyPEluc3BlY3Rvck9iamVjdD4mIHN0b3JhZ2VJZCwgUmVmUHRyPFR5cGVCdWlsZGVyOjpBcnJh
eTxUeXBlQnVpbGRlcjo6QXJyYXk8U3RyaW5nPiA+ID4mIGl0ZW1zKTsKLSAgICB2aXJ0dWFsIHZv
aWQgc2V0RE9NU3RvcmFnZUl0ZW0oRXJyb3JTdHJpbmcqLCBjb25zdCBSZWZQdHI8SW5zcGVjdG9y
T2JqZWN0PiYgc3RvcmFnZUlkLCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiB2YWx1
ZSk7Ci0gICAgdmlydHVhbCB2b2lkIHJlbW92ZURPTVN0b3JhZ2VJdGVtKEVycm9yU3RyaW5nKiwg
Y29uc3QgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4mIHN0b3JhZ2VJZCwgY29uc3QgU3RyaW5nJiBr
ZXkpOworICAgIHZpcnR1YWwgdm9pZCBnZXRET01TdG9yYWdlRW50cmllcyhFcnJvclN0cmluZyos
IGNvbnN0IFN0cmluZyYgc3RvcmFnZUlkLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OkFycmF5PFR5cGVC
dWlsZGVyOjpBcnJheTxTdHJpbmc+ID4gPiYgZW50cmllcyk7CisgICAgdmlydHVhbCB2b2lkIHNl
dERPTVN0b3JhZ2VJdGVtKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiBzdG9yYWdlSWQsIGNv
bnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhbHVlLCBib29sKiBzdWNjZXNzKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgcmVtb3ZlRE9NU3RvcmFnZUl0ZW0oRXJyb3JTdHJpbmcqLCBjb25zdCBT
dHJpbmcmIHN0b3JhZ2VJZCwgY29uc3QgU3RyaW5nJiBrZXksIGJvb2wqIHN1Y2Nlc3MpOwogCiAg
ICAgLy8gQ2FsbGVkIGZyb20gdGhlIGluamVjdGVkIHNjcmlwdC4KICAgICBTdHJpbmcgc3RvcmFn
ZUlkKFN0b3JhZ2UqKTsKLSAgICBQYXNzUmVmUHRyPFR5cGVCdWlsZGVyOjpET01TdG9yYWdlOjpT
dG9yYWdlSWQ+IHN0b3JhZ2VJZChTZWN1cml0eU9yaWdpbiosIGJvb2wgaXNMb2NhbFN0b3JhZ2Up
OworICAgIFN0cmluZyBzdG9yYWdlSWQoU2VjdXJpdHlPcmlnaW4qLCBib29sIGlzTG9jYWxTdG9y
YWdlKTsKIAogICAgIC8vIENhbGxlZCBmcm9tIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbgorICAg
IHZvaWQgZGlkVXNlRE9NU3RvcmFnZShTdG9yYWdlQXJlYSosIGJvb2wgaXNMb2NhbFN0b3JhZ2Us
IEZyYW1lKik7CiAgICAgdm9pZCBkaWREaXNwYXRjaERPTVN0b3JhZ2VFdmVudChjb25zdCBTdHJp
bmcmIGtleSwgY29uc3QgU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgU3RyaW5nJiBuZXdWYWx1ZSwg
U3RvcmFnZVR5cGUsIFNlY3VyaXR5T3JpZ2luKiwgUGFnZSopOwogCiAgICAgdmlydHVhbCB2b2lk
IHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdCBPVkVSUklERTsKIAog
cHJpdmF0ZToKKyAgICBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50
cyosIEluc3BlY3RvckNvbXBvc2l0ZVN0YXRlKik7CiAKLSAgICBJbnNwZWN0b3JET01TdG9yYWdl
QWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3RvclBhZ2VBZ2VudCosIEluc3BlY3Rv
ckNvbXBvc2l0ZVN0YXRlKik7Ci0KLSAgICBib29sIGlzRW5hYmxlZCgpIGNvbnN0OwotICAgIFBh
c3NSZWZQdHI8U3RvcmFnZUFyZWE+IGZpbmRTdG9yYWdlQXJlYShFcnJvclN0cmluZyosIGNvbnN0
IFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+JiwgRnJhbWUqJik7CisgICAgSW5zcGVjdG9yRE9NU3Rv
cmFnZVJlc291cmNlKiBnZXRET01TdG9yYWdlUmVzb3VyY2VGb3JJZChjb25zdCBTdHJpbmcmIHN0
b3JhZ2VJZCk7CiAKLSAgICBJbnNwZWN0b3JQYWdlQWdlbnQqIG1fcGFnZUFnZW50OworICAgIHR5
cGVkZWYgSGFzaE1hcDxTdHJpbmcsIFJlZlB0cjxJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2U+
ID4gRE9NU3RvcmFnZVJlc291cmNlc01hcDsKKyAgICBET01TdG9yYWdlUmVzb3VyY2VzTWFwIG1f
cmVzb3VyY2VzOwogICAgIEluc3BlY3RvckZyb250ZW5kKiBtX2Zyb250ZW5kOworICAgIGJvb2wg
bV9lbmFibGVkOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45ZjNjZmUxNWI0MGRjNzc1OTc1ZGJiODc2NjBiODJlNzAyMDM3ZWVkCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3Jh
Z2VSZXNvdXJjZS5jcHAKQEAgLTAsMCArMSwxMDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDA4IE1hdHQgTGlsZWsgPHdlYmtpdEBtYXR0bGlsZWsuY29tPgorICogQ29weXJpZ2h0IChD
KSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxl
Iikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
KyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKworI2luY2x1ZGUgIkluc3BlY3RvckRPTVN0b3Jh
Z2VSZXNvdXJjZS5oIgorCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiRG9jdW1l
bnQuaCIKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNs
dWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgorI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgor
I2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCisjaW5jbHVkZSAiU3RvcmFnZS5oIgorI2luY2x1
ZGUgIlN0b3JhZ2VBcmVhLmgiCisjaW5jbHVkZSAiU3RvcmFnZUV2ZW50LmgiCisKK3VzaW5nIG5h
bWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworaW50IEluc3BlY3RvckRPTVN0
b3JhZ2VSZXNvdXJjZTo6c19uZXh0VW51c2VkSWQgPSAxOworCitJbnNwZWN0b3JET01TdG9yYWdl
UmVzb3VyY2U6Okluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZShTdG9yYWdlQXJlYSogc3RvcmFn
ZUFyZWEsIGJvb2wgaXNMb2NhbFN0b3JhZ2UsIEZyYW1lKiBmcmFtZSkKKyAgICA6IG1fc3RvcmFn
ZUFyZWEoc3RvcmFnZUFyZWEpCisgICAgLCBtX2lzTG9jYWxTdG9yYWdlKGlzTG9jYWxTdG9yYWdl
KQorICAgICwgbV9mcmFtZShmcmFtZSkKKyAgICAsIG1fZnJvbnRlbmQoMCkKKyAgICAsIG1faWQo
U3RyaW5nOjpudW1iZXIoc19uZXh0VW51c2VkSWQrKykpCit7Cit9CisKK2Jvb2wgSW5zcGVjdG9y
RE9NU3RvcmFnZVJlc291cmNlOjppc1NhbWVPcmlnaW5BbmRUeXBlKFNlY3VyaXR5T3JpZ2luKiBz
ZWN1cml0eU9yaWdpbiwgYm9vbCBpc0xvY2FsU3RvcmFnZSkgY29uc3QKK3sKKyAgICByZXR1cm4g
bV9mcmFtZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+ZXF1YWwoc2VjdXJpdHlPcmln
aW4pICYmIG1faXNMb2NhbFN0b3JhZ2UgPT0gaXNMb2NhbFN0b3JhZ2U7Cit9CisKK3ZvaWQgSW5z
cGVjdG9yRE9NU3RvcmFnZVJlc291cmNlOjpiaW5kKEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVu
ZCkKK3sKKyAgICBBU1NFUlQoIW1fZnJvbnRlbmQpOworICAgIG1fZnJvbnRlbmQgPSBmcm9udGVu
ZC0+ZG9tc3RvcmFnZSgpOworCisgICAgUmVmUHRyPFR5cGVCdWlsZGVyOjpET01TdG9yYWdlOjpF
bnRyeT4ganNvbk9iamVjdCA9IFR5cGVCdWlsZGVyOjpET01TdG9yYWdlOjpFbnRyeTo6Y3JlYXRl
KCkKKyAgICAgICAgLnNldE9yaWdpbihtX2ZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdp
bigpLT50b1Jhd1N0cmluZygpKQorICAgICAgICAuc2V0SXNMb2NhbFN0b3JhZ2UobV9pc0xvY2Fs
U3RvcmFnZSkKKyAgICAgICAgLnNldElkKG1faWQpOworICAgIG1fZnJvbnRlbmQtPmFkZERPTVN0
b3JhZ2UoanNvbk9iamVjdCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNl
Ojp1bmJpbmQoKQoreworICAgIGlmICghbV9mcm9udGVuZCkKKyAgICAgICAgcmV0dXJuOyAgLy8g
QWxyZWFkeSB1bmJvdW5kLgorCisgICAgbV9mcm9udGVuZCA9IDA7Cit9CisKK3ZvaWQgSW5zcGVj
dG9yRE9NU3RvcmFnZVJlc291cmNlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZv
KiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAoreworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6SW5zcGVjdG9yRE9NU3Rv
cmFnZVJlc291cmNlcyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9zdG9yYWdlQXJlYSwgInN0b3Jh
Z2VBcmVhIik7CisgICAgaW5mby5hZGRNZW1iZXIobV9mcmFtZSwgImZyYW1lIik7CisgICAgaW5m
by5hZGRXZWFrUG9pbnRlcihtX2Zyb250ZW5kKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2lkLCAi
aWQiKTsKKyAgICBpbmZvLmFkZFByaXZhdGVCdWZmZXIobV9zdG9yYWdlQXJlYS0+bWVtb3J5Qnl0
ZXNVc2VkQnlDYWNoZSgpLCAwLCAiU3RvcmFnZUFyZWFDYWNoZSIsICJjYWNoZSIpOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQorCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZVJl
c291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZVJl
c291cmNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTBkNDZkNzUwZmFhNzY2NmNhYzY0ZjJkMjY4ZTU2N2VkMjRi
Yjc3YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JET01TdG9yYWdlUmVzb3VyY2UuaApAQCAtMCwwICsxLDc3IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAwOCBNYXR0IExpbGVrIDx3ZWJraXRAbWF0dGxpbGVrLmNvbT4KKyAqIENvcHly
aWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4g
KCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5z
cGVjdG9yRE9NU3RvcmFnZVJlc291cmNlX2gKKyNkZWZpbmUgSW5zcGVjdG9yRE9NU3RvcmFnZVJl
c291cmNlX2gKKworI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCisKKyNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBTZWN1cml0eU9yaWdp
bjsKK2NsYXNzIFN0b3JhZ2VBcmVhOworY2xhc3MgRnJhbWU7CitjbGFzcyBJbnNwZWN0b3JGcm9u
dGVuZDsKKworY2xhc3MgSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlIDogcHVibGljIFJlZkNv
dW50ZWQ8SW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlPiB7CitwdWJsaWM6CisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8SW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlPiBjcmVhdGUoU3RvcmFnZUFy
ZWEqIHN0b3JhZ2VBcmVhLCBib29sIGlzTG9jYWxTdG9yYWdlLCBGcmFtZSogZnJhbWUpCisgICAg
eworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJj
ZShzdG9yYWdlQXJlYSwgaXNMb2NhbFN0b3JhZ2UsIGZyYW1lKSk7CisgICAgfQorCisgICAgdm9p
ZCBiaW5kKEluc3BlY3RvckZyb250ZW5kKik7CisgICAgdm9pZCB1bmJpbmQoKTsKKworICAgIGJv
b2wgaXNTYW1lT3JpZ2luQW5kVHlwZShTZWN1cml0eU9yaWdpbiosIGJvb2wgaXNMb2NhbFN0b3Jh
Z2UpIGNvbnN0OworICAgIFN0cmluZyBpZCgpIGNvbnN0IHsgcmV0dXJuIG1faWQ7IH0KKyAgICBT
dG9yYWdlQXJlYSogc3RvcmFnZUFyZWEoKSBjb25zdCB7IHJldHVybiBtX3N0b3JhZ2VBcmVhLmdl
dCgpOyB9CisgICAgRnJhbWUqIGZyYW1lKCkgY29uc3QgeyByZXR1cm4gbV9mcmFtZS5nZXQoKTsg
fQorCisgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7
CisKK3ByaXZhdGU6CisgICAgSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlKFN0b3JhZ2VBcmVh
KiwgYm9vbCBpc0xvY2FsU3RvcmFnZSwgRnJhbWUqKTsKKworICAgIFJlZlB0cjxTdG9yYWdlQXJl
YT4gbV9zdG9yYWdlQXJlYTsKKyAgICBib29sIG1faXNMb2NhbFN0b3JhZ2U7CisgICAgUmVmUHRy
PEZyYW1lPiBtX2ZyYW1lOworICAgIEluc3BlY3RvckZyb250ZW5kOjpET01TdG9yYWdlKiBtX2Zy
b250ZW5kOworICAgIFN0cmluZyBtX2lkOworCisgICAgc3RhdGljIGludCBzX25leHRVbnVzZWRJ
ZDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEluc3BlY3RvckRP
TVN0b3JhZ2VSZXNvdXJjZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IDM3YTg2NWE5NGJhZjQxNWQ1NTc2ZWQ3
ODUyMWFlZjYzZDBjZDdkNTUuLmJiNGQ4NGRkZjU3ZGIzODgxZTE5MTM1MzQzN2ZiYjE3NTcyYzFj
YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uY3BwCkBAIC05MTUsNiArOTE1LDggQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZENvbW1pdExvYWRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1l
bnQKICAgICAgICAgaWYgKEluc3BlY3RvckRhdGFiYXNlQWdlbnQqIGRhdGFiYXNlQWdlbnQgPSBp
bnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JEYXRhYmFzZUFnZW50KCkpCiAgICAgICAgICAg
ICBkYXRhYmFzZUFnZW50LT5jbGVhclJlc291cmNlcygpOwogI2VuZGlmCisgICAgICAgIGlmIChJ
bnNwZWN0b3JET01TdG9yYWdlQWdlbnQqIGRvbVN0b3JhZ2VBZ2VudCA9IGluc3RydW1lbnRpbmdB
Z2VudHMtPmluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCgpKQorICAgICAgICAgICAgZG9tU3RvcmFn
ZUFnZW50LT5jbGVhclJlc291cmNlcygpOwogICAgICAgICBpZiAoSW5zcGVjdG9yRE9NQWdlbnQq
IGRvbUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRE9NQWdlbnQoKSkKICAg
ICAgICAgICAgIGRvbUFnZW50LT5zZXREb2N1bWVudChtYWluRnJhbWUtPmRvY3VtZW50KCkpOwog
I2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKQEAgLTEwOTksNiArMTEwMSwxNSBAQCB2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkT3BlbkRhdGFiYXNlSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZQogfQogI2VuZGlmCiAKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpkaWRVc2VET01TdG9yYWdlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0
cnVtZW50aW5nQWdlbnRzLCBTdG9yYWdlQXJlYSogc3RvcmFnZUFyZWEsIGJvb2wgaXNMb2NhbFN0
b3JhZ2UsIEZyYW1lKiBmcmFtZSkKK3sKKyAgICBJbnNwZWN0b3JBZ2VudCogaW5zcGVjdG9yQWdl
bnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JBZ2VudCgpOworICAgIGlmICghaW5z
cGVjdG9yQWdlbnQgfHwgIWluc3BlY3RvckFnZW50LT5kZXZlbG9wZXJFeHRyYXNFbmFibGVkKCkp
CisgICAgICAgIHJldHVybjsKKyAgICBpZiAoSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KiBkb21T
dG9yYWdlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JET01TdG9yYWdlQWdl
bnQoKSkKKyAgICAgICAgZG9tU3RvcmFnZUFnZW50LT5kaWRVc2VET01TdG9yYWdlKHN0b3JhZ2VB
cmVhLCBpc0xvY2FsU3RvcmFnZSwgZnJhbWUpOworfQorCiB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkRGlzcGF0Y2hET01TdG9yYWdlRXZlbnRJbXBsKEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcm
IG9sZFZhbHVlLCBjb25zdCBTdHJpbmcmIG5ld1ZhbHVlLCBTdG9yYWdlVHlwZSBzdG9yYWdlVHlw
ZSwgU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luLCBQYWdlKiBwYWdlKQogewogICAgIGlm
IChJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQqIGRvbVN0b3JhZ2VBZ2VudCA9IGluc3RydW1lbnRp
bmdBZ2VudHMtPmluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCgpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IDk5MmRiMGE4
ZjNkZmM2M2RiNmFlZWIwZTQzMmE2YjI1NjRmZGFhYjguLmUyMzM1N2ZlNmI2MzlmYWNiN2Y2YWM3
ZmNlMTE0OTliOGM5ZDJiOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTI1Miw2ICsyNTIsNyBAQCBwdWJsaWM6CiAg
ICAgc3RhdGljIHZvaWQgZGlkT3BlbkRhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQ
YXNzUmVmUHRyPERhdGFiYXNlPiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uKTsKICNlbmRpZgogCisgICAgc3RhdGljIHZvaWQg
ZGlkVXNlRE9NU3RvcmFnZShQYWdlKiwgU3RvcmFnZUFyZWEqLCBib29sIGlzTG9jYWxTdG9yYWdl
LCBGcmFtZSopOwogICAgIHN0YXRpYyB2b2lkIGRpZERpc3BhdGNoRE9NU3RvcmFnZUV2ZW50KGNv
bnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIG9sZFZhbHVlLCBjb25zdCBTdHJpbmcmIG5l
d1ZhbHVlLCBTdG9yYWdlVHlwZSwgU2VjdXJpdHlPcmlnaW4qLCBQYWdlKik7CiAKICNpZiBFTkFC
TEUoV09SS0VSUykKQEAgLTQ1MCw2ICs0NTEsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lk
IGRpZE9wZW5EYXRhYmFzZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIFBhc3NSZWZQdHI8RGF0
YWJhc2U+LCBjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBT
dHJpbmcmIHZlcnNpb24pOwogI2VuZGlmCiAKKyAgICBzdGF0aWMgdm9pZCBkaWRVc2VET01TdG9y
YWdlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgU3RvcmFnZUFyZWEqLCBib29sIGlzTG9jYWxT
dG9yYWdlLCBGcmFtZSopOwogICAgIHN0YXRpYyB2b2lkIGRpZERpc3BhdGNoRE9NU3RvcmFnZUV2
ZW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0
cmluZyYgb2xkVmFsdWUsIGNvbnN0IFN0cmluZyYgbmV3VmFsdWUsIFN0b3JhZ2VUeXBlLCBTZWN1
cml0eU9yaWdpbiosIFBhZ2UqKTsKIAogI2lmIEVOQUJMRShXT1JLRVJTKQpAQCAtMTc0OCw2ICsx
NzUwLDE5IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkV3JpdGVI
VE1MKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvCiAjZW5kaWYKIH0KIAoraW5saW5lIHZv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRVc2VET01TdG9yYWdlKFBhZ2UqIHBhZ2Us
IFN0b3JhZ2VBcmVhKiBzdG9yYWdlQXJlYSwgYm9vbCBpc0xvY2FsU3RvcmFnZSwgRnJhbWUqIGZy
YW1lKQoreworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgaWYgKEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdl
KSkKKyAgICAgICAgZGlkVXNlRE9NU3RvcmFnZUltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgc3Rv
cmFnZUFyZWEsIGlzTG9jYWxTdG9yYWdlLCBmcmFtZSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJB
TShwYWdlKTsKKyAgICBVTlVTRURfUEFSQU0oc3RvcmFnZUFyZWEpOworICAgIFVOVVNFRF9QQVJB
TShpc0xvY2FsU3RvcmFnZSk7CisgICAgVU5VU0VEX1BBUkFNKGZyYW1lKTsKKyNlbmRpZgorfQor
CiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoRE9NU3Rv
cmFnZUV2ZW50KGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIG9sZFZhbHVlLCBjb25z
dCBTdHJpbmcmIG5ld1ZhbHVlLCBTdG9yYWdlVHlwZSBzdG9yYWdlVHlwZSwgU2VjdXJpdHlPcmln
aW4qIHNlY3VyaXR5T3JpZ2luLCBQYWdlKiBwYWdlKQogewogI2lmIEVOQUJMRShJTlNQRUNUT1Ip
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCmlu
ZGV4IDdhMWViMTQ0MDkyOWZlY2E0NjZhMzkyZGE0MzYyZDQwMTNkNzNhMjguLjRhZjhhYmQ3Njdh
MTExZDU5NjE1NTI3ZWVjYmYyMmE1OGQ5MWQ2NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCkBAIC05MTYsMjIgKzkxNiw2IEBAIFN0cmlu
ZyBJbnNwZWN0b3JQYWdlQWdlbnQ6OmxvYWRlcklkKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiAg
ICAgcmV0dXJuIGlkZW50aWZpZXI7CiB9CiAKLUZyYW1lKiBJbnNwZWN0b3JQYWdlQWdlbnQ6OmZp
bmRGcmFtZVdpdGhTZWN1cml0eU9yaWdpbihjb25zdCBTdHJpbmcmIG9yaWdpblJhd1N0cmluZykK
LXsKLSAgICBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHNlY3VyaXR5T3JpZ2luUHRyID0gU2VjdXJp
dHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcob3JpZ2luUmF3U3RyaW5nKTsKLSAgICBTZWN1cml0
eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4gPSBzZWN1cml0eU9yaWdpblB0ci5nZXQoKTsKLSAgICBi
b29sIGlzTG9jYWwgPSBzZWN1cml0eU9yaWdpbi0+aXNMb2NhbCgpOwotICAgIGZvciAoRnJhbWUq
IGZyYW1lID0gbV9wYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUo
KS0+dHJhdmVyc2VOZXh0KCkpIHsKLSAgICAgICAgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBkb2N1
bWVudE9yaWdpbiA9IGZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpOwotICAgICAg
ICAvLyBFbXVsYXRlIHRoZSAhZW5mb3JjZUZpbGVQYXRoU2VwYXJhdGlvbiBmb3Igc2VjdXJpdHkg
b3JpZ2lucy4KLSAgICAgICAgaWYgKGlzTG9jYWwgJiYgZG9jdW1lbnRPcmlnaW4tPmlzTG9jYWwo
KSkKLSAgICAgICAgICAgIHJldHVybiBmcmFtZTsKLSAgICAgICAgaWYgKGRvY3VtZW50T3JpZ2lu
LT5lcXVhbChzZWN1cml0eU9yaWdpbikpCi0gICAgICAgICAgICByZXR1cm4gZnJhbWU7Ci0gICAg
fQotICAgIHJldHVybiAwOwotfQotCiBGcmFtZSogSW5zcGVjdG9yUGFnZUFnZW50Ojphc3NlcnRG
cmFtZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgZnJhbWVJZCkKIHsK
ICAgICBGcmFtZSogZnJhbWUgPSBmcmFtZUZvcklkKGZyYW1lSWQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCmluZGV4IGRlMjRmYzQ3YjJkMzgwNWI3
NTdhMzkwYjhhZDc5Zjc4MDVmMzZjOTUuLmQ1YzViOTAyNTJmZTMxNWRhNWZhNGY1MWQ1ODNmZjhl
MWUyNzQ1ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQ
YWdlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFn
ZW50LmgKQEAgLTE3Myw3ICsxNzMsNiBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGZyYW1lSWQoRnJh
bWUqKTsKICAgICBib29sIGhhc0lkRm9yRnJhbWUoRnJhbWUqKSBjb25zdDsKICAgICBTdHJpbmcg
bG9hZGVySWQoRG9jdW1lbnRMb2FkZXIqKTsKLSAgICBGcmFtZSogZmluZEZyYW1lV2l0aFNlY3Vy
aXR5T3JpZ2luKGNvbnN0IFN0cmluZyYgb3JpZ2luUmF3U3RyaW5nKTsKICAgICBGcmFtZSogYXNz
ZXJ0RnJhbWUoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIGZyYW1lSWQpOwogICAgIFN0cmlu
ZyBzY3JpcHRQcmVwcm9jZXNzb3IoKSB7IHJldHVybiBtX3NjcmlwdFByZXByb2Nlc3NvcjsgfQog
ICAgIHN0YXRpYyBEb2N1bWVudExvYWRlciogYXNzZXJ0RG9jdW1lbnRMb2FkZXIoRXJyb3JTdHJp
bmcqLCBGcmFtZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9ET01TdG9yYWdlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9E
T01TdG9yYWdlLmpzCmluZGV4IGIyMDlmNzI2YzA5MzRkZGM0NmJlMjY5YzJmZWI4MTA2MWE0MWFl
MzYuLmIxMzQ0MTk1OTllMzUyODQ5OTJjMmMwZmIwNjExMDJiYjhkYjhkODggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NU3RvcmFnZS5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTVN0b3JhZ2UuanMKQEAgLTI5LDM3
ICsyOSwyNSBAQAogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgotICogQHBhcmFtIHtzdHJpbmd9IHNl
Y3VyaXR5T3JpZ2luCi0gKiBAcGFyYW0ge2Jvb2xlYW59IGlzTG9jYWxTdG9yYWdlCiAgKi8KLVdl
Ykluc3BlY3Rvci5ET01TdG9yYWdlID0gZnVuY3Rpb24oc2VjdXJpdHlPcmlnaW4sIGlzTG9jYWxT
dG9yYWdlKQorV2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2UgPSBmdW5jdGlvbihpZCwgZG9tYWluLCBp
c0xvY2FsU3RvcmFnZSkKIHsKLSAgICB0aGlzLl9zZWN1cml0eU9yaWdpbiA9IHNlY3VyaXR5T3Jp
Z2luOworICAgIHRoaXMuX2lkID0gaWQ7CisgICAgdGhpcy5fZG9tYWluID0gZG9tYWluOwogICAg
IHRoaXMuX2lzTG9jYWxTdG9yYWdlID0gaXNMb2NhbFN0b3JhZ2U7CiB9CiAKLS8qKgotICogQHBh
cmFtIHtzdHJpbmd9IHNlY3VyaXR5T3JpZ2luCi0gKiBAcGFyYW0ge2Jvb2xlYW59IGlzTG9jYWxT
dG9yYWdlCi0gKiBAcmV0dXJuIHtET01TdG9yYWdlQWdlbnQuU3RvcmFnZUlkfQotICovCi1XZWJJ
bnNwZWN0b3IuRE9NU3RvcmFnZS5zdG9yYWdlSWQgPSBmdW5jdGlvbihzZWN1cml0eU9yaWdpbiwg
aXNMb2NhbFN0b3JhZ2UpCi17Ci0gICAgcmV0dXJuIHsgc2VjdXJpdHlPcmlnaW46IHNlY3VyaXR5
T3JpZ2luLCBpc0xvY2FsU3RvcmFnZTogaXNMb2NhbFN0b3JhZ2UgfTsKLX0KLQogV2ViSW5zcGVj
dG9yLkRPTVN0b3JhZ2UucHJvdG90eXBlID0gewotCi0gICAgLyoqIEByZXR1cm4ge0RPTVN0b3Jh
Z2VBZ2VudC5TdG9yYWdlSWR9ICovCisgICAgLyoqIEByZXR1cm4ge3N0cmluZ30gKi8KICAgICBn
ZXQgaWQoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5ET01TdG9yYWdlLnN0
b3JhZ2VJZCh0aGlzLl9zZWN1cml0eU9yaWdpbiwgdGhpcy5faXNMb2NhbFN0b3JhZ2UpOworICAg
ICAgICByZXR1cm4gdGhpcy5faWQ7CiAgICAgfSwKIAogICAgIC8qKiBAcmV0dXJuIHtzdHJpbmd9
ICovCi0gICAgZ2V0IHNlY3VyaXR5T3JpZ2luKCkKKyAgICBnZXQgZG9tYWluKCkKICAgICB7Ci0g
ICAgICAgIHJldHVybiB0aGlzLl9zZWN1cml0eU9yaWdpbjsKKyAgICAgICAgcmV0dXJuIHRoaXMu
X2RvbWFpbjsKICAgICB9LAogCiAgICAgLyoqIEByZXR1cm4ge2Jvb2xlYW59ICovCkBAIC02OSwz
MCArNTcsMzAgQEAgV2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2UucHJvdG90eXBlID0gewogICAgIH0s
CiAKICAgICAvKioKLSAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKD9Qcm90b2NvbC5FcnJvciwgQXJy
YXkuPERPTVN0b3JhZ2VBZ2VudC5JdGVtPik6dm9pZD19IGNhbGxiYWNrCisgICAgICogQHBhcmFt
IHtmdW5jdGlvbig/UHJvdG9jb2wuRXJyb3IsIEFycmF5LjxET01TdG9yYWdlQWdlbnQuRW50cnk+
KTp2b2lkPX0gY2FsbGJhY2sKICAgICAgKi8KLSAgICBnZXRJdGVtczogZnVuY3Rpb24oY2FsbGJh
Y2spCisgICAgZ2V0RW50cmllczogZnVuY3Rpb24oY2FsbGJhY2spCiAgICAgewotICAgICAgICBE
T01TdG9yYWdlQWdlbnQuZ2V0RE9NU3RvcmFnZUl0ZW1zKHRoaXMuaWQsIGNhbGxiYWNrKTsKKyAg
ICAgICAgRE9NU3RvcmFnZUFnZW50LmdldERPTVN0b3JhZ2VFbnRyaWVzKHRoaXMuX2lkLCBjYWxs
YmFjayk7CiAgICAgfSwKIAogICAgIC8qKgogICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkKICAg
ICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUKLSAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKD9Qcm90
b2NvbC5FcnJvcik6dm9pZD19IGNhbGxiYWNrCisgICAgICogQHBhcmFtIHtmdW5jdGlvbig/UHJv
dG9jb2wuRXJyb3IsIGJvb2xlYW4pOnZvaWQ9fSBjYWxsYmFjawogICAgICAqLwogICAgIHNldEl0
ZW06IGZ1bmN0aW9uKGtleSwgdmFsdWUsIGNhbGxiYWNrKQogICAgIHsKLSAgICAgICAgRE9NU3Rv
cmFnZUFnZW50LnNldERPTVN0b3JhZ2VJdGVtKHRoaXMuaWQsIGtleSwgdmFsdWUsIGNhbGxiYWNr
KTsKKyAgICAgICAgRE9NU3RvcmFnZUFnZW50LnNldERPTVN0b3JhZ2VJdGVtKHRoaXMuX2lkLCBr
ZXksIHZhbHVlLCBjYWxsYmFjayk7CiAgICAgfSwKIAogICAgIC8qKgogICAgICAqIEBwYXJhbSB7
c3RyaW5nfSBrZXkKLSAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKD9Qcm90b2NvbC5FcnJvcik6dm9p
ZD19IGNhbGxiYWNrCisgICAgICogQHBhcmFtIHtmdW5jdGlvbig/UHJvdG9jb2wuRXJyb3IsIGJv
b2xlYW4pOnZvaWQ9fSBjYWxsYmFjawogICAgICAqLwogICAgIHJlbW92ZUl0ZW06IGZ1bmN0aW9u
KGtleSwgY2FsbGJhY2spCiAgICAgewotICAgICAgICBET01TdG9yYWdlQWdlbnQucmVtb3ZlRE9N
U3RvcmFnZUl0ZW0odGhpcy5pZCwga2V5LCBjYWxsYmFjayk7CisgICAgICAgIERPTVN0b3JhZ2VB
Z2VudC5yZW1vdmVET01TdG9yYWdlSXRlbSh0aGlzLl9pZCwga2V5LCBjYWxsYmFjayk7CiAgICAg
fQogfQogCkBAIC0xMDUsMTMgKzkzLDEwIEBAIFdlYkluc3BlY3Rvci5ET01TdG9yYWdlTW9kZWwg
PSBmdW5jdGlvbigpCiAgICAgdGhpcy5fc3RvcmFnZXMgPSB7fTsKICAgICBJbnNwZWN0b3JCYWNr
ZW5kLnJlZ2lzdGVyRE9NU3RvcmFnZURpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5ET01TdG9y
YWdlRGlzcGF0Y2hlcih0aGlzKSk7CiAgICAgRE9NU3RvcmFnZUFnZW50LmVuYWJsZSgpOwotICAg
IFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3Bl
Y3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5FdmVudFR5cGVzLlNlY3VyaXR5T3JpZ2luQWRkZWQsIHRo
aXMuX3NlY3VyaXR5T3JpZ2luQWRkZWQsIHRoaXMpOwotICAgIFdlYkluc3BlY3Rvci5yZXNvdXJj
ZVRyZWVNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2Rl
bC5FdmVudFR5cGVzLlNlY3VyaXR5T3JpZ2luUmVtb3ZlZCwgdGhpcy5fc2VjdXJpdHlPcmlnaW5S
ZW1vdmVkLCB0aGlzKTsKIH0KIAogV2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2VNb2RlbC5FdmVudHMg
PSB7CiAgICAgRE9NU3RvcmFnZUFkZGVkOiAiRE9NU3RvcmFnZUFkZGVkIiwKLSAgICBET01TdG9y
YWdlUmVtb3ZlZDogIkRPTVN0b3JhZ2VSZW1vdmVkIiwKICAgICBET01TdG9yYWdlSXRlbXNDbGVh
cmVkOiAiRE9NU3RvcmFnZUl0ZW1zQ2xlYXJlZCIsCiAgICAgRE9NU3RvcmFnZUl0ZW1SZW1vdmVk
OiAiRE9NU3RvcmFnZUl0ZW1SZW1vdmVkIiwKICAgICBET01TdG9yYWdlSXRlbUFkZGVkOiAiRE9N
U3RvcmFnZUl0ZW1BZGRlZCIsCkBAIC0xMTksNTMgKzEwNCwxMyBAQCBXZWJJbnNwZWN0b3IuRE9N
U3RvcmFnZU1vZGVsLkV2ZW50cyA9IHsKIH0KIAogV2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2VNb2Rl
bC5wcm90b3R5cGUgPSB7Ci0KLSAgICAvKioKLSAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5F
dmVudH0gZXZlbnQKLSAgICAgKi8KLSAgICBfc2VjdXJpdHlPcmlnaW5BZGRlZDogZnVuY3Rpb24o
ZXZlbnQpCi0gICAgewotICAgICAgICB2YXIgc2VjdXJpdHlPcmlnaW4gPSAvKiogQHR5cGUge3N0
cmluZ30gKi8gKGV2ZW50LmRhdGEpOwotICAgICAgICB2YXIgbG9jYWxTdG9yYWdlS2V5ID0gdGhp
cy5fc3RvcmFnZUtleShzZWN1cml0eU9yaWdpbiwgdHJ1ZSk7Ci0gICAgICAgIGNvbnNvbGUuYXNz
ZXJ0KCF0aGlzLl9zdG9yYWdlc1tsb2NhbFN0b3JhZ2VLZXldKTsKLSAgICAgICAgdmFyIGxvY2Fs
U3RvcmFnZSA9IG5ldyBXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZShzZWN1cml0eU9yaWdpbiwgdHJ1
ZSk7Ci0gICAgICAgIHRoaXMuX3N0b3JhZ2VzW2xvY2FsU3RvcmFnZUtleV0gPSBsb2NhbFN0b3Jh
Z2U7Ci0gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5E
T01TdG9yYWdlTW9kZWwuRXZlbnRzLkRPTVN0b3JhZ2VBZGRlZCwgbG9jYWxTdG9yYWdlKTsKLQot
ICAgICAgICB2YXIgc2Vzc2lvblN0b3JhZ2VLZXkgPSB0aGlzLl9zdG9yYWdlS2V5KHNlY3VyaXR5
T3JpZ2luLCBmYWxzZSk7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KCF0aGlzLl9zdG9yYWdlc1tz
ZXNzaW9uU3RvcmFnZUtleV0pOwotICAgICAgICB2YXIgc2Vzc2lvblN0b3JhZ2UgPSBuZXcgV2Vi
SW5zcGVjdG9yLkRPTVN0b3JhZ2Uoc2VjdXJpdHlPcmlnaW4sIGZhbHNlKTsKLSAgICAgICAgdGhp
cy5fc3RvcmFnZXNbc2Vzc2lvblN0b3JhZ2VLZXldID0gc2Vzc2lvblN0b3JhZ2U7Ci0gICAgICAg
IHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5ET01TdG9yYWdlTW9k
ZWwuRXZlbnRzLkRPTVN0b3JhZ2VBZGRlZCwgc2Vzc2lvblN0b3JhZ2UpOwotICAgIH0sCi0KLSAg
ICAvKioKLSAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5FdmVudH0gZXZlbnQKLSAgICAgKi8K
LSAgICBfc2VjdXJpdHlPcmlnaW5SZW1vdmVkOiBmdW5jdGlvbihldmVudCkKLSAgICB7Ci0gICAg
ICAgIHZhciBzZWN1cml0eU9yaWdpbiA9IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyAoZXZlbnQuZGF0
YSk7Ci0gICAgICAgIHZhciBsb2NhbFN0b3JhZ2VLZXkgPSB0aGlzLl9zdG9yYWdlS2V5KHNlY3Vy
aXR5T3JpZ2luLCB0cnVlKTsKLSAgICAgICAgdmFyIGxvY2FsU3RvcmFnZSA9IHRoaXMuX3N0b3Jh
Z2VzW2xvY2FsU3RvcmFnZUtleV07Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KGxvY2FsU3RvcmFn
ZSk7Ci0gICAgICAgIGRlbGV0ZSB0aGlzLl9zdG9yYWdlc1tsb2NhbFN0b3JhZ2VLZXldOwotICAg
ICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRE9NU3RvcmFn
ZU1vZGVsLkV2ZW50cy5ET01TdG9yYWdlUmVtb3ZlZCwgbG9jYWxTdG9yYWdlKTsKLQotICAgICAg
ICB2YXIgc2Vzc2lvblN0b3JhZ2VLZXkgPSB0aGlzLl9zdG9yYWdlS2V5KHNlY3VyaXR5T3JpZ2lu
LCBmYWxzZSk7Ci0gICAgICAgIHZhciBzZXNzaW9uU3RvcmFnZSA9IHRoaXMuX3N0b3JhZ2VzW3Nl
c3Npb25TdG9yYWdlS2V5XTsKLSAgICAgICAgY29uc29sZS5hc3NlcnQoc2Vzc2lvblN0b3JhZ2Up
OwotICAgICAgICBkZWxldGUgdGhpcy5fc3RvcmFnZXNbc2Vzc2lvblN0b3JhZ2VLZXldOwotICAg
ICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRE9NU3RvcmFn
ZU1vZGVsLkV2ZW50cy5ET01TdG9yYWdlUmVtb3ZlZCwgc2Vzc2lvblN0b3JhZ2UpOwotICAgIH0s
Ci0KICAgICAvKioKLSAgICAgKiBAcGFyYW0ge3N0cmluZ30gc2VjdXJpdHlPcmlnaW4KLSAgICAg
KiBAcGFyYW0ge2Jvb2xlYW59IGlzTG9jYWxTdG9yYWdlCi0gICAgICogQHJldHVybiB7c3RyaW5n
fQorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2V9IGRvbVN0b3JhZ2UKICAg
ICAgKi8KLSAgICBfc3RvcmFnZUtleTogZnVuY3Rpb24oc2VjdXJpdHlPcmlnaW4sIGlzTG9jYWxT
dG9yYWdlKQorICAgIF9hZGRET01TdG9yYWdlOiBmdW5jdGlvbihkb21TdG9yYWdlKQogICAgIHsK
LSAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFdlYkluc3BlY3Rvci5ET01TdG9yYWdlLnN0
b3JhZ2VJZChzZWN1cml0eU9yaWdpbiwgaXNMb2NhbFN0b3JhZ2UpKTsKKyAgICAgICAgdGhpcy5f
c3RvcmFnZXNbZG9tU3RvcmFnZS5pZF0gPSBkb21TdG9yYWdlOworICAgICAgICB0aGlzLmRpc3Bh
dGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZU1vZGVsLkV2ZW50cy5E
T01TdG9yYWdlQWRkZWQsIGRvbVN0b3JhZ2UpOwogICAgIH0sCiAKICAgICAvKioKQEAgLTE3Myw3
ICsxMTgsNyBAQCBXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZU1vZGVsLnByb3RvdHlwZSA9IHsKICAg
ICAgKi8KICAgICBfZG9tU3RvcmFnZUl0ZW1zQ2xlYXJlZDogZnVuY3Rpb24oc3RvcmFnZUlkKQog
ICAgIHsKLSAgICAgICAgdmFyIGRvbVN0b3JhZ2UgPSB0aGlzLnN0b3JhZ2VGb3JJZChzdG9yYWdl
SWQpOworICAgICAgICB2YXIgZG9tU3RvcmFnZSA9IHRoaXMuX3N0b3JhZ2VzW3N0b3JhZ2VJZF07
CiAgICAgICAgIHZhciBzdG9yYWdlRGF0YSA9IHsKICAgICAgICAgICAgIHN0b3JhZ2U6IGRvbVN0
b3JhZ2UKICAgICAgICAgfTsKQEAgLTE4Niw3ICsxMzEsNyBAQCBXZWJJbnNwZWN0b3IuRE9NU3Rv
cmFnZU1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgKi8KICAgICBfZG9tU3RvcmFnZUl0ZW1SZW1v
dmVkOiBmdW5jdGlvbihzdG9yYWdlSWQsIGtleSkKICAgICB7Ci0gICAgICAgIHZhciBkb21TdG9y
YWdlID0gdGhpcy5zdG9yYWdlRm9ySWQoc3RvcmFnZUlkKTsKKyAgICAgICAgdmFyIGRvbVN0b3Jh
Z2UgPSB0aGlzLl9zdG9yYWdlc1tzdG9yYWdlSWRdOwogICAgICAgICB2YXIgc3RvcmFnZURhdGEg
PSB7CiAgICAgICAgICAgICBzdG9yYWdlOiBkb21TdG9yYWdlLAogICAgICAgICAgICAga2V5OiBr
ZXkKQEAgLTIwMSw3ICsxNDYsNyBAQCBXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZU1vZGVsLnByb3Rv
dHlwZSA9IHsKICAgICAgKi8KICAgICBfZG9tU3RvcmFnZUl0ZW1BZGRlZDogZnVuY3Rpb24oc3Rv
cmFnZUlkLCBrZXksIG5ld1ZhbHVlKQogICAgIHsKLSAgICAgICAgdmFyIGRvbVN0b3JhZ2UgPSB0
aGlzLnN0b3JhZ2VGb3JJZChzdG9yYWdlSWQpOworICAgICAgICB2YXIgZG9tU3RvcmFnZSA9IHRo
aXMuX3N0b3JhZ2VzW3N0b3JhZ2VJZF07CiAgICAgICAgIHZhciBzdG9yYWdlRGF0YSA9IHsKICAg
ICAgICAgICAgIHN0b3JhZ2U6IGRvbVN0b3JhZ2UsCiAgICAgICAgICAgICBrZXk6IGtleSwKQEAg
LTIzNCw3ICsxNzksNyBAQCBXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZU1vZGVsLnByb3RvdHlwZSA9
IHsKICAgICAgKi8KICAgICBzdG9yYWdlRm9ySWQ6IGZ1bmN0aW9uKHN0b3JhZ2VJZCkKICAgICB7
Ci0gICAgICAgIHJldHVybiB0aGlzLl9zdG9yYWdlc1tKU09OLnN0cmluZ2lmeShzdG9yYWdlSWQp
XTsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3N0b3JhZ2VzW3N0b3JhZ2VJZF07CiAgICAgfSwKIAog
ICAgIC8qKgpAQCAtMjQzLDggKzE4OCw4IEBAIFdlYkluc3BlY3Rvci5ET01TdG9yYWdlTW9kZWwu
cHJvdG90eXBlID0gewogICAgIHN0b3JhZ2VzOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB2
YXIgcmVzdWx0ID0gW107Ci0gICAgICAgIGZvciAodmFyIGlkIGluIHRoaXMuX3N0b3JhZ2VzKQot
ICAgICAgICAgICAgcmVzdWx0LnB1c2godGhpcy5fc3RvcmFnZXNbaWRdKTsKKyAgICAgICAgZm9y
ICh2YXIgc3RvcmFnZUlkIGluIHRoaXMuX3N0b3JhZ2VzKQorICAgICAgICAgICAgcmVzdWx0LnB1
c2godGhpcy5fc3RvcmFnZXNbc3RvcmFnZUlkXSk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAg
ICAgfSwKIApAQCAtMjY0LDcgKzIwOSwxOCBAQCBXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZURpc3Bh
dGNoZXIgPSBmdW5jdGlvbihtb2RlbCkKIFdlYkluc3BlY3Rvci5ET01TdG9yYWdlRGlzcGF0Y2hl
ci5wcm90b3R5cGUgPSB7CiAKICAgICAvKioKLSAgICAgKiBAcGFyYW0ge0RPTVN0b3JhZ2VBZ2Vu
dC5TdG9yYWdlSWR9IHN0b3JhZ2VJZAorICAgICAqIEBwYXJhbSB7RE9NU3RvcmFnZUFnZW50LkVu
dHJ5fSBwYXlsb2FkCisgICAgICovCisgICAgYWRkRE9NU3RvcmFnZTogZnVuY3Rpb24ocGF5bG9h
ZCkKKyAgICB7CisgICAgICAgIHRoaXMuX21vZGVsLl9hZGRET01TdG9yYWdlKG5ldyBXZWJJbnNw
ZWN0b3IuRE9NU3RvcmFnZSgKKyAgICAgICAgICAgIHBheWxvYWQuaWQsCisgICAgICAgICAgICBw
YXlsb2FkLm9yaWdpbiwKKyAgICAgICAgICAgIHBheWxvYWQuaXNMb2NhbFN0b3JhZ2UpKTsKKyAg
ICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHN0b3JhZ2VJZAogICAgICAq
LwogICAgIGRvbVN0b3JhZ2VJdGVtc0NsZWFyZWQ6IGZ1bmN0aW9uKHN0b3JhZ2VJZCkKICAgICB7
CkBAIC0yNzIsNyArMjI4LDcgQEAgV2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2VEaXNwYXRjaGVyLnBy
b3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCi0gICAgICogQHBhcmFtIHtET01TdG9yYWdl
QWdlbnQuU3RvcmFnZUlkfSBzdG9yYWdlSWQKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gc3RvcmFn
ZUlkCiAgICAgICogQHBhcmFtIHtzdHJpbmd9IGtleQogICAgICAqLwogICAgIGRvbVN0b3JhZ2VJ
dGVtUmVtb3ZlZDogZnVuY3Rpb24oc3RvcmFnZUlkLCBrZXkpCkBAIC0yODEsNyArMjM3LDcgQEAg
V2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2VEaXNwYXRjaGVyLnByb3RvdHlwZSA9IHsKICAgICB9LAog
CiAgICAgLyoqCi0gICAgICogQHBhcmFtIHtET01TdG9yYWdlQWdlbnQuU3RvcmFnZUlkfSBzdG9y
YWdlSWQKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gc3RvcmFnZUlkCiAgICAgICogQHBhcmFtIHtz
dHJpbmd9IGtleQogICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuZXdWYWx1ZQogICAgICAqLwpAQCAt
MjkxLDcgKzI0Nyw3IEBAIFdlYkluc3BlY3Rvci5ET01TdG9yYWdlRGlzcGF0Y2hlci5wcm90b3R5
cGUgPSB7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEBwYXJhbSB7RE9NU3RvcmFnZUFnZW50
LlN0b3JhZ2VJZH0gc3RvcmFnZUlkCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHN0b3JhZ2VJZAog
ICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkKICAgICAgKiBAcGFyYW0ge3N0cmluZ30gb2xkVmFs
dWUKICAgICAgKiBAcGFyYW0ge3N0cmluZ30gbmV3VmFsdWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NU3RvcmFnZUl0ZW1zVmlldy5qcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NU3RvcmFnZUl0ZW1zVmlldy5qcwppbmRl
eCBmNWRiMWU5MWM0ZGVkYTM0NzZjZmIzZGI4MjA4MWQ5MDI4ZDRiYzg0Li41MzVkYTEyYzM1M2Ni
MWU3MDg2NDhmYWFhNjIzMmFkZjdkM2EyOGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0RPTVN0b3JhZ2VJdGVtc1ZpZXcuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01TdG9yYWdlSXRlbXNWaWV3LmpzCkBAIC0xNTYs
MjEgKzE1NiwyMSBAQCBXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZUl0ZW1zVmlldy5wcm90b3R5cGUg
PSB7CiAgICAgX3VwZGF0ZTogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdGhpcy5kZXRhY2hD
aGlsZFZpZXdzKCk7Ci0gICAgICAgIHRoaXMuZG9tU3RvcmFnZS5nZXRJdGVtcyh0aGlzLl9zaG93
RE9NU3RvcmFnZUl0ZW1zLmJpbmQodGhpcykpOworICAgICAgICB0aGlzLmRvbVN0b3JhZ2UuZ2V0
RW50cmllcyh0aGlzLl9zaG93RE9NU3RvcmFnZUVudHJpZXMuYmluZCh0aGlzKSk7CiAgICAgfSwK
IAotICAgIF9zaG93RE9NU3RvcmFnZUl0ZW1zOiBmdW5jdGlvbihlcnJvciwgaXRlbXMpCisgICAg
X3Nob3dET01TdG9yYWdlRW50cmllczogZnVuY3Rpb24oZXJyb3IsIGVudHJpZXMpCiAgICAgewog
ICAgICAgICBpZiAoZXJyb3IpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdGhpcy5f
ZGF0YUdyaWQgPSB0aGlzLl9kYXRhR3JpZEZvckRPTVN0b3JhZ2VJdGVtcyhpdGVtcyk7CisgICAg
ICAgIHRoaXMuX2RhdGFHcmlkID0gdGhpcy5fZGF0YUdyaWRGb3JET01TdG9yYWdlRW50cmllcyhl
bnRyaWVzKTsKICAgICAgICAgdGhpcy5fZGF0YUdyaWQuc2hvdyh0aGlzLmVsZW1lbnQpOwogICAg
ICAgICB0aGlzLl9kYXRhR3JpZC5hdXRvU2l6ZUNvbHVtbnMoMTApOwogICAgICAgICB0aGlzLmRl
bGV0ZUJ1dHRvbi52aXNpYmxlID0gKHRoaXMuX2RhdGFHcmlkLnJvb3ROb2RlKCkuY2hpbGRyZW4u
bGVuZ3RoID4gMSk7CiAgICAgfSwKIAotICAgIF9kYXRhR3JpZEZvckRPTVN0b3JhZ2VJdGVtczog
ZnVuY3Rpb24oaXRlbXMpCisgICAgX2RhdGFHcmlkRm9yRE9NU3RvcmFnZUVudHJpZXM6IGZ1bmN0
aW9uKGVudHJpZXMpCiAgICAgewogICAgICAgICB2YXIgY29sdW1ucyA9IHtrZXk6IHt9LCB2YWx1
ZToge319OwogCkBAIC0xODMsMTAgKzE4MywxMCBAQCBXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZUl0
ZW1zVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHZhciBub2RlcyA9IFtdOwogCiAgICAgICAg
IHZhciBrZXlzID0gW107Ci0gICAgICAgIHZhciBsZW5ndGggPSBpdGVtcy5sZW5ndGg7Ci0gICAg
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHsKLSAgICAgICAgICAg
IHZhciBrZXkgPSBpdGVtc1tpXVswXTsKLSAgICAgICAgICAgIHZhciB2YWx1ZSA9IGl0ZW1zW2ld
WzFdOworICAgICAgICB2YXIgbGVuZ3RoID0gZW50cmllcy5sZW5ndGg7CisgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgZW50cmllcy5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgdmFyIGtl
eSA9IGVudHJpZXNbaV1bMF07CisgICAgICAgICAgICB2YXIgdmFsdWUgPSBlbnRyaWVzW2ldWzFd
OwogICAgICAgICAgICAgdmFyIG5vZGUgPSBuZXcgV2ViSW5zcGVjdG9yLkRhdGFHcmlkTm9kZSh7
a2V5OiBrZXksIHZhbHVlOiB2YWx1ZX0sIGZhbHNlKTsKICAgICAgICAgICAgIG5vZGUuc2VsZWN0
YWJsZSA9IHRydWU7CiAgICAgICAgICAgICBub2Rlcy5wdXNoKG5vZGUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMKaW5kZXgg
ODgwNjI2OWNjODlkMmMxNTViYWYzYWNlNmFhMDQ0MmJmODA0OGM2OC4uZWFhYTFhMmVkNGRlMWVh
MmU2OWY4YzdlNDMyNjEyODZiODdlYTY3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzCkBAIC0xMTUsNiArMTE1LDkgQEAg
V2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsID0gZnVuY3Rpb24oZGF0YWJhc2UpCiAKICAgICBX
ZWJJbnNwZWN0b3IuZGF0YWJhc2VNb2RlbC5kYXRhYmFzZXMoKS5mb3JFYWNoKHRoaXMuX2FkZERh
dGFiYXNlLmJpbmQodGhpcykpOwogICAgIFdlYkluc3BlY3Rvci5kYXRhYmFzZU1vZGVsLmFkZEV2
ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRhdGFiYXNlTW9kZWwuRXZlbnRzLkRhdGFiYXNlQWRk
ZWQsIHRoaXMuX2RhdGFiYXNlQWRkZWQsIHRoaXMpOworCisgICAgV2ViSW5zcGVjdG9yLmRvbVN0
b3JhZ2VNb2RlbC5zdG9yYWdlcygpLmZvckVhY2godGhpcy5fYWRkRE9NU3RvcmFnZS5iaW5kKHRo
aXMpKTsKKyAgICBXZWJJbnNwZWN0b3IuZG9tU3RvcmFnZU1vZGVsLmFkZEV2ZW50TGlzdGVuZXIo
V2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2VNb2RlbC5FdmVudHMuRE9NU3RvcmFnZUFkZGVkLCB0aGlz
Ll9kb21TdG9yYWdlQWRkZWQsIHRoaXMpOwogfQogCiBXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFu
ZWwucHJvdG90eXBlID0gewpAQCAtMTMzLDcgKzEzNiw2IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJj
ZXNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBpZiAoIXRoaXMuX2luaXRpYWxp
emVkICYmIHRoaXMuaXNTaG93aW5nKCkgJiYgdGhpcy5fY2FjaGVkUmVzb3VyY2VzV2VyZUxvYWRl
ZCkgewogICAgICAgICAgICAgdGhpcy5fcG9wdWxhdGVSZXNvdXJjZVRyZWUoKTsKLSAgICAgICAg
ICAgIHRoaXMuX3BvcHVsYXRlRE9NU3RvcmFnZVRyZWUoKTsKICAgICAgICAgICAgIHRoaXMuX3Bv
cHVsYXRlQXBwbGljYXRpb25DYWNoZVRyZWUoKTsKICAgICAgICAgICAgIHRoaXMuX2luaXREZWZh
dWx0U2VsZWN0aW9uKCk7CiAgICAgICAgICAgICB0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7CkBA
IC0zMjksNyArMzMxLDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZSA9
IHsKICAgICAgKi8KICAgICBfZG9tU3RvcmFnZUFkZGVkOiBmdW5jdGlvbihldmVudCkKICAgICB7
Ci0gICAgICAgIHZhciBkb21TdG9yYWdlID0gLyoqIEB0eXBlIHtXZWJJbnNwZWN0b3IuRE9NU3Rv
cmFnZX0gKi8gKGV2ZW50LmRhdGEpOworICAgICAgICB2YXIgZG9tU3RvcmFnZSA9IC8qKiBAdHlw
ZSB7V2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2V9Ki8gKGV2ZW50LmRhdGEpOwogICAgICAgICB0aGlz
Ll9hZGRET01TdG9yYWdlKGRvbVN0b3JhZ2UpOwogICAgIH0sCiAKQEAgLTMzOCw4ICszNDAsNiBA
QCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlID0gewogICAgICAqLwogICAg
IF9hZGRET01TdG9yYWdlOiBmdW5jdGlvbihkb21TdG9yYWdlKQogICAgIHsKLSAgICAgICAgY29u
c29sZS5hc3NlcnQoIXRoaXMuX2RvbVN0b3JhZ2VUcmVlRWxlbWVudHMuZ2V0KGRvbVN0b3JhZ2Up
KTsKLQogICAgICAgICB2YXIgZG9tU3RvcmFnZVRyZWVFbGVtZW50ID0gbmV3IFdlYkluc3BlY3Rv
ci5ET01TdG9yYWdlVHJlZUVsZW1lbnQodGhpcywgZG9tU3RvcmFnZSwgKGRvbVN0b3JhZ2UuaXNM
b2NhbFN0b3JhZ2UgPyAibG9jYWwtc3RvcmFnZSIgOiAic2Vzc2lvbi1zdG9yYWdlIikpOwogICAg
ICAgICB0aGlzLl9kb21TdG9yYWdlVHJlZUVsZW1lbnRzLnB1dChkb21TdG9yYWdlLCBkb21TdG9y
YWdlVHJlZUVsZW1lbnQpOwogICAgICAgICBpZiAoZG9tU3RvcmFnZS5pc0xvY2FsU3RvcmFnZSkK
QEAgLTM0OSwzMiArMzQ5LDYgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlw
ZSA9IHsKICAgICB9LAogCiAgICAgLyoqCi0gICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuRXZl
bnR9IGV2ZW50Ci0gICAgICovCi0gICAgX2RvbVN0b3JhZ2VSZW1vdmVkOiBmdW5jdGlvbihldmVu
dCkKLSAgICB7Ci0gICAgICAgIHZhciBkb21TdG9yYWdlID0gLyoqIEB0eXBlIHtXZWJJbnNwZWN0
b3IuRE9NU3RvcmFnZX0gKi8gKGV2ZW50LmRhdGEpOwotICAgICAgICB0aGlzLl9yZW1vdmVET01T
dG9yYWdlKGRvbVN0b3JhZ2UpOwotICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBAcGFyYW0ge1dl
Ykluc3BlY3Rvci5ET01TdG9yYWdlfSBkb21TdG9yYWdlCi0gICAgICovCi0gICAgX3JlbW92ZURP
TVN0b3JhZ2U6IGZ1bmN0aW9uKGRvbVN0b3JhZ2UpCi0gICAgewotICAgICAgICB2YXIgdHJlZUVs
ZW1lbnQgPSB0aGlzLl9kb21TdG9yYWdlVHJlZUVsZW1lbnRzLmdldChkb21TdG9yYWdlKTsKLSAg
ICAgICAgaWYgKCF0cmVlRWxlbWVudCkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgdmFy
IHdhc1NlbGVjdGVkID0gdHJlZUVsZW1lbnQuc2VsZWN0ZWQ7Ci0gICAgICAgIHZhciBwYXJlbnRM
aXN0VHJlZUVsZW1lbnQgPSB0cmVlRWxlbWVudC5wYXJlbnQ7Ci0gICAgICAgIHBhcmVudExpc3RU
cmVlRWxlbWVudC5yZW1vdmVDaGlsZCh0cmVlRWxlbWVudCk7Ci0gICAgICAgIGlmICh3YXNTZWxl
Y3RlZCkKLSAgICAgICAgICAgIHBhcmVudExpc3RUcmVlRWxlbWVudC5zZWxlY3QoKTsKLSAgICAg
ICAgdGhpcy5fZG9tU3RvcmFnZVRyZWVFbGVtZW50cy5yZW1vdmUodHJlZUVsZW1lbnQpOwotICAg
ICAgICB0aGlzLl9kb21TdG9yYWdlVmlld3MucmVtb3ZlKGRvbVN0b3JhZ2UpOwotICAgIH0sCi0K
LSAgICAvKioKICAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5EYXRhYmFzZX0gZGF0YWJhc2UK
ICAgICAgKi8KICAgICBzZWxlY3REYXRhYmFzZTogZnVuY3Rpb24oZGF0YWJhc2UpCkBAIC01OTgs
MTMgKzU3Miw2IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIGRhdGFiYXNlLmdldFRhYmxlTmFtZXModGFibGVOYW1lc0NhbGxiYWNrKTsKICAgICB9
LAogCi0gICAgX3BvcHVsYXRlRE9NU3RvcmFnZVRyZWU6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAg
ICAgIFdlYkluc3BlY3Rvci5kb21TdG9yYWdlTW9kZWwuc3RvcmFnZXMoKS5mb3JFYWNoKHRoaXMu
X2FkZERPTVN0b3JhZ2UuYmluZCh0aGlzKSk7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5kb21TdG9y
YWdlTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZU1vZGVsLkV2
ZW50cy5ET01TdG9yYWdlQWRkZWQsIHRoaXMuX2RvbVN0b3JhZ2VBZGRlZCwgdGhpcyk7Ci0gICAg
ICAgIFdlYkluc3BlY3Rvci5kb21TdG9yYWdlTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNw
ZWN0b3IuRE9NU3RvcmFnZU1vZGVsLkV2ZW50cy5ET01TdG9yYWdlUmVtb3ZlZCwgdGhpcy5fZG9t
U3RvcmFnZVJlbW92ZWQsIHRoaXMpOwotICAgIH0sCi0KICAgICBfcG9wdWxhdGVBcHBsaWNhdGlv
bkNhY2hlVHJlZTogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdGhpcy5fYXBwbGljYXRpb25D
YWNoZU1vZGVsID0gbmV3IFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlTW9kZWwoKTsKQEAg
LTE4ODMsMTQgKzE4NTAsMTQgQEAgV2ViSW5zcGVjdG9yLklEQkluZGV4VHJlZUVsZW1lbnQucHJv
dG90eXBlID0gewogICovCiBXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZVRyZWVFbGVtZW50ID0gZnVu
Y3Rpb24oc3RvcmFnZVBhbmVsLCBkb21TdG9yYWdlLCBjbGFzc05hbWUpCiB7Ci0gICAgV2ViSW5z
cGVjdG9yLkJhc2VTdG9yYWdlVHJlZUVsZW1lbnQuY2FsbCh0aGlzLCBzdG9yYWdlUGFuZWwsIG51
bGwsIGRvbVN0b3JhZ2Uuc2VjdXJpdHlPcmlnaW4gPyBkb21TdG9yYWdlLnNlY3VyaXR5T3JpZ2lu
IDogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMb2NhbCBGaWxlcyIpLCBbImRvbXN0b3JhZ2Utc3Rv
cmFnZS10cmVlLWl0ZW0iLCBjbGFzc05hbWVdKTsKKyAgICBXZWJJbnNwZWN0b3IuQmFzZVN0b3Jh
Z2VUcmVlRWxlbWVudC5jYWxsKHRoaXMsIHN0b3JhZ2VQYW5lbCwgbnVsbCwgZG9tU3RvcmFnZS5k
b21haW4gPyBkb21TdG9yYWdlLmRvbWFpbiA6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTG9jYWwg
RmlsZXMiKSwgWyJkb21zdG9yYWdlLXN0b3JhZ2UtdHJlZS1pdGVtIiwgY2xhc3NOYW1lXSk7CiAg
ICAgdGhpcy5fZG9tU3RvcmFnZSA9IGRvbVN0b3JhZ2U7CiB9CiAKIFdlYkluc3BlY3Rvci5ET01T
dG9yYWdlVHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgIGdldCBpdGVtVVJMKCkKICAgICB7
Ci0gICAgICAgIHJldHVybiAic3RvcmFnZTovLyIgKyB0aGlzLl9kb21TdG9yYWdlLnNlY3VyaXR5
T3JpZ2luICsgIi8iICsgKHRoaXMuX2RvbVN0b3JhZ2UuaXNMb2NhbFN0b3JhZ2UgPyAibG9jYWwi
IDogInNlc3Npb24iKTsKKyAgICAgICAgcmV0dXJuICJzdG9yYWdlOi8vIiArIHRoaXMuX2RvbVN0
b3JhZ2UuZG9tYWluICsgIi8iICsgKHRoaXMuX2RvbVN0b3JhZ2UuaXNMb2NhbFN0b3JhZ2UgPyAi
bG9jYWwiIDogInNlc3Npb24iKTsKICAgICB9LAogCiAgICAgb25zZWxlY3Q6IGZ1bmN0aW9uKHNl
bGVjdGVkQnlVc2VyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDNmMjZiMTE0N2Yx
NTZjOWI1MzQ5MTE2NDA0NjVjYzI4ZTYzZDcwNzYuLmVhZGQzZDg3YmZmODk0NTg5OTY2NTMxMjM2
N2ZhNDBjOTYwZjI2OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTc2Miw2ICs3
NjIsNyBAQCBTdG9yYWdlKiBET01XaW5kb3c6OnNlc3Npb25TdG9yYWdlKEV4Y2VwdGlvbkNvZGUm
IGVjKSBjb25zdAogICAgICAgICBlYyA9IFNFQ1VSSVRZX0VSUjsKICAgICAgICAgcmV0dXJuIDA7
CiAgICAgfQorICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkVXNlRE9NU3RvcmFnZShw
YWdlLCBzdG9yYWdlQXJlYS5nZXQoKSwgZmFsc2UsIG1fZnJhbWUpOwogCiAgICAgbV9zZXNzaW9u
U3RvcmFnZSA9IFN0b3JhZ2U6OmNyZWF0ZShtX2ZyYW1lLCBzdG9yYWdlQXJlYS5yZWxlYXNlKCkp
OwogICAgIHJldHVybiBtX3Nlc3Npb25TdG9yYWdlLmdldCgpOwpAQCAtODAxLDYgKzgwMiw3IEBA
IFN0b3JhZ2UqIERPTVdpbmRvdzo6bG9jYWxTdG9yYWdlKEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25z
dAogICAgICAgICBlYyA9IFNFQ1VSSVRZX0VSUjsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQor
ICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkVXNlRE9NU3RvcmFnZShwYWdlLCBzdG9y
YWdlQXJlYS5nZXQoKSwgdHJ1ZSwgbV9mcmFtZSk7CiAKICAgICBtX2xvY2FsU3RvcmFnZSA9IFN0
b3JhZ2U6OmNyZWF0ZShtX2ZyYW1lLCBzdG9yYWdlQXJlYS5yZWxlYXNlKCkpOwogICAgIHJldHVy
biBtX2xvY2FsU3RvcmFnZS5nZXQoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkNjU4Y2QyNjgzNGQwYzBiNzNiYzlkOGIx
MWQ4YjNkODRmMzcwNTI3Li5iM2FlYTkxOWRmOTdmNTg5YzE0MjQ5NDYzNWZiMTliOGI5NjI2YTI2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMDItMjEgIFNoZXJpZmYgQm90ICA8d2Via2l0
LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0
IHIxNDM1ODEuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzE0MzU4
MQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwNDU3
CisKKyAgICAgICAgQnJlYWtzIFdpbmRvd3MgYnVpbGRzIChjb21waWxlICsgbGluaykgKFJlcXVl
c3RlZCBieSBhcGF2bG92CisgICAgICAgIG9uICN3ZWJraXQpLgorCisgICAgICAgICogaHR0cC90
ZXN0cy9pbnNwZWN0b3ItZW5hYmxlZC9kb20tc3RvcmFnZS1vcGVuLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkL2RvbS1zdG9yYWdlLW9wZW4uaHRt
bDoKKwogMjAxMy0wMi0yMSAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBHZXQgcmlkIG9mIHBhcnNlZFVSTCBpbiB1aVNvdXJj
ZUNvZGUsIHVzZSBuYW1lIGFuZCBwYXRoIGZvciBkaXNwbGF5TmFtZSBpbnN0ZWFkLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3ItZW5hYmxlZC9kb20tc3RvcmFn
ZS1vcGVuLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVu
YWJsZWQvZG9tLXN0b3JhZ2Utb3Blbi1leHBlY3RlZC50eHQKaW5kZXggYTQ2ODIxMWE1NjdmNTcz
ZDhjMDQwNzdiMDkxOTEwYjJiMWVlMjI5ZC4uY2JlZGY3MDkzOTU5ZWU3ODIwNTA5ODgxYTJiYTM1
MGQ4ZDI0Mzc2MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3It
ZW5hYmxlZC9kb20tc3RvcmFnZS1vcGVuLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkL2RvbS1zdG9yYWdlLW9wZW4tZXhwZWN0ZWQudHh0
CkBAIC0xLDcgKzEsNSBAQAotVGVzdHMgdGhhdCBXZWIgSW5zcGVjdG9yIGdldHMgcG9wdWxhdGVk
IHdpdGggRE9NIHN0b3JhZ2VzIGFjY29yZGluZyB0byBzZWN1cml0eSBvcmlnaW5zIGZvdW5kIGlu
IHRoZSBwYWdlLgorVGVzdHMgdGhhdCBXZWIgSW5zcGVjdG9yIGdldHMgcG9wdWxhdGVkIHdpdGgg
RE9NIHN0b3JhZ2VzIHRoYXQgd2VyZSBvcGVuZWQgYmVmb3JlIGluc3BlY3RvciBpcyBzaG93bi4K
IAotU2VjdXJpdHlPcmlnaW46IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMAotSXNMb2NhbFN0b3JhZ2U6
IHRydWUKLVNlY3VyaXR5T3JpZ2luOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAKK0RvbWFpbjogaHR0
cDovLzEyNy4wLjAuMTo4MDAwCiBJc0xvY2FsU3RvcmFnZTogZmFsc2UKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3ItZW5hYmxlZC9kb20tc3RvcmFnZS1vcGVu
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkL2RvbS1zdG9y
YWdlLW9wZW4uaHRtbAppbmRleCAxMzAyMDA3MjRlNWFhYWU0NGZhMjYyNzYyNzAxNzhhZDI0ZjZi
NmQwLi4yMDE4MWM2NzJjMDY5YzhmYTg2YjU5NjE5OGUwNDRiYWQzODAwMzI0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkL2RvbS1zdG9yYWdlLW9w
ZW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkL2Rv
bS1zdG9yYWdlLW9wZW4uaHRtbApAQCAtMjIsNyArMjIsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAg
ICB7CiAgICAgICAgIHZhciBzdG9yYWdlcyA9IFdlYkluc3BlY3Rvci5kb21TdG9yYWdlTW9kZWwu
c3RvcmFnZXMoKTsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdG9yYWdlcy5sZW5ndGg7
ICsraSkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNlY3VyaXR5T3Jp
Z2luOiAiICsgc3RvcmFnZXNbaV0uc2VjdXJpdHlPcmlnaW4pOworICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIkRvbWFpbjogIiArIHN0b3JhZ2VzW2ldLmRvbWFpbik7CiAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiSXNMb2NhbFN0b3JhZ2U6ICIgKyBzdG9y
YWdlc1tpXS5pc0xvY2FsU3RvcmFnZSk7CiAgICAgICAgIH0KICAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKQEAgLTM0LDYgKzM0LDYgQEAgZnVuY3Rpb24gdGVzdCgpCiAKIDwv
aGVhZD4KIDxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgotPHA+VGVzdHMgdGhhdCBXZWIgSW5zcGVj
dG9yIGdldHMgcG9wdWxhdGVkIHdpdGggRE9NIHN0b3JhZ2VzIGFjY29yZGluZyB0byBzZWN1cml0
eSBvcmlnaW5zIGZvdW5kIGluIHRoZSBwYWdlLjwvcD4KKzxwPlRlc3RzIHRoYXQgV2ViIEluc3Bl
Y3RvciBnZXRzIHBvcHVsYXRlZCB3aXRoIERPTSBzdG9yYWdlcyB0aGF0IHdlcmUgb3BlbmVkIGJl
Zm9yZSBpbnNwZWN0b3IgaXMgc2hvd24uPC9wPgogPC9ib2R5PgogPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>