<?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>263128</bug_id>
          
          <creation_ts>2023-10-13 11:24:29 -0700</creation_ts>
          <short_desc>REGRESSION(269191@main): Caused debug assertion failures in WeakPtrFactory::initializeIfNeeded</short_desc>
          <delta_ts>2023-10-13 11:28:34 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>260823</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>aestes</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1984937</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2023-10-13 11:24:29 -0700</bug_when>
    <thetext>https://commits.webkit.org/269191@main introduced a regression:
Caused debug assertion failures in WeakPtrFactory::initializeIfNeeded

This is an automatic bug report generated by webkitbot. 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 fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984939</commentid>
    <comment_count>1</comment_count>
      <attachid>468206</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2023-10-13 11:24:36 -0700</bug_when>
    <thetext>Created attachment 468206
REVERT of 269191@main

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 revert will be successful.  This process takes approximately 15 minutes.

If you would like to land the revert 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>1984940</commentid>
    <comment_count>2</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2023-10-13 11:24:56 -0700</bug_when>
    <thetext>rdar://116927683</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984943</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-10-13 11:28:32 -0700</bug_when>
    <thetext>Committed 269310@main (3175e76d0ea5): &lt;https://commits.webkit.org/269310@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 468206.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468206</attachid>
            <date>2023-10-13 11:24:36 -0700</date>
            <delta_ts>2023-10-13 11:28:33 -0700</delta_ts>
            <desc>REVERT of 269191@main</desc>
            <filename>bug-263128-20231013182436.patch</filename>
            <type>text/plain</type>
            <size>35162</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSBhMTA0MjdjMTc5ZDk2YzZmMWU0NThlOGI0NWQ1MzZjYzgxNzA3MDQ3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBGcmksIDEzIE9jdCAyMDIzIDE4OjI0OjM0ICswMDAwClN1YmplY3Q6IFtQQVRDSF0g
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIDI2OTE5MUBtYWluLgogaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTI2MzEyOAoKQ2F1c2VkIGRlYnVnIGFzc2VydGlvbiBmYWlsdXJl
cyBpbiBXZWFrUHRyRmFjdG9yeTo6aW5pdGlhbGl6ZUlmTmVlZGVkCgpSZXZlcnRlZCBjaGFuZ2Vz
ZXQ6CgoiaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VsZl9yZWdpc3RyYXRpb24uaHRtbCBp
cyBhIGZsYWt5IHRleHQgZmFpbHVyZS4iCmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yNjA4MjMKaHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMjY5MTkxQG1haW4KLS0t
CiAuLi4vd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAgICAgfCAyMCArKyst
LS0tCiAuLi4vc2VydmljZS9jb250ZXh0L1NXQ29udGV4dE1hbmFnZXIuY3BwICAgICAgfCA1NiAt
LS0tLS0tLS0tLS0tLS0tLS0tCiAuLi4vc2VydmljZS9jb250ZXh0L1NXQ29udGV4dE1hbmFnZXIu
aCAgICAgICAgfCAgNiAtLQogLi4uL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZFByb3h5LmNw
cCAgICAgIHwgMTggKystLS0tCiAuLi4vY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkUHJveHku
aCAgICAgICAgfCAgNCArLQogLi4uL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCAg
ICAgICAgIHwgIDIgKy0KIC4uLi9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oICAgICAg
ICAgICB8ICA1IC0tCiAuLi4vU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3Bw
ICAgfCAzMSArKystLS0tLS0tCiAuLi4vU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rp
b24uaCAgICAgfCAgNiArLQogLi4uL1dlYlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHAg
ICAgICAgIHwgIDUgLS0KIC4uLi9XZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uaCAgICAg
ICAgICB8ICA0ICstCiAuLi4vU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24ubWVzc2FnZXMu
aW4gfCAgMiAtCiAuLi4vU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAg
fCA0NSArKy0tLS0tLS0tLS0tLS0KIC4uLi9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25u
ZWN0aW9uLmggICB8ICA2IC0tCiAuLi4vV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVz
c2FnZXMuaW4gfCAgNiAtLQogTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyAgICAgICAgICAg
ICAgICAgIHwgIDIgKwogMTYgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgMTg0IGRl
bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
V0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NX
Q2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggZTE0NzY5MzI0NDVjLi5lM2MyYzM2ZDBlYmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5l
Y3Rpb24uY3BwCkBAIC0xNDgsOCArMTQ4LDkgQEAgdm9pZCBTV0NsaWVudENvbm5lY3Rpb246OnBv
c3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQKICAg
ICB9KTsKIH0KIAotc3RhdGljIHZvaWQgZm9yRGVkaWNhdGVkQW5kU2hhcmVkV29ya2Vycyhjb25z
dCBGdW5jdGlvbjxGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4oKT4mIGNh
bGxiYWNrKQorc3RhdGljIHZvaWQgZm9yQWxsV29ya2Vycyhjb25zdCBGdW5jdGlvbjxGdW5jdGlv
bjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4oKT4mIGNhbGxiYWNrKQogeworICAgIFNX
Q29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLmZvckVhY2hTZXJ2aWNlV29ya2VyKGNhbGxiYWNr
KTsKICAgICBXb3JrZXI6OmZvckVhY2hXb3JrZXIoY2FsbGJhY2spOwogICAgIFNoYXJlZFdvcmtl
ckNvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5mb3JFYWNoU2hhcmVkV29ya2VyKGNhbGxiYWNr
KTsKIH0KQEAgLTE2Myw3ICsxNjQsNyBAQCB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6dXBkYXRl
UmVnaXN0cmF0aW9uU3RhdGUoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aQogICAgICAg
ICAgICAgY29udGFpbmVyLT51cGRhdGVSZWdpc3RyYXRpb25TdGF0ZShpZGVudGlmaWVyLCBzdGF0
ZSwgc2VydmljZVdvcmtlckRhdGEpOwogICAgIH0KIAotICAgIGZvckRlZGljYXRlZEFuZFNoYXJl
ZFdvcmtlcnMoW2lkZW50aWZpZXIsIHN0YXRlLCAmc2VydmljZVdvcmtlckRhdGFdIHsKKyAgICBm
b3JBbGxXb3JrZXJzKFtpZGVudGlmaWVyLCBzdGF0ZSwgJnNlcnZpY2VXb3JrZXJEYXRhXSB7CiAg
ICAgICAgIHJldHVybiBbaWRlbnRpZmllciwgc3RhdGUsIHNlcnZpY2VXb3JrZXJEYXRhID0gY3Jv
c3NUaHJlYWRDb3B5KHNlcnZpY2VXb3JrZXJEYXRhKV0gKGF1dG8mIGNvbnRleHQpIG11dGFibGUg
ewogICAgICAgICAgICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IGNvbnRleHQuc2VydmljZVdvcmtl
ckNvbnRhaW5lcigpKQogICAgICAgICAgICAgICAgIGNvbnRhaW5lci0+dXBkYXRlUmVnaXN0cmF0
aW9uU3RhdGUoaWRlbnRpZmllciwgc3RhdGUsIFdURk1vdmUoc2VydmljZVdvcmtlckRhdGEpKTsK
QEAgLTE4MCw3ICsxODEsNyBAQCB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6dXBkYXRlV29ya2Vy
U3RhdGUoU2VydmljZVdvcmtlcklkZW50aWZpZXIgaWRlbnRpZmllciwgUwogICAgICAgICAgICAg
Y29udGFpbmVyLT51cGRhdGVXb3JrZXJTdGF0ZShpZGVudGlmaWVyLCBzdGF0ZSk7CiAgICAgfQog
Ci0gICAgZm9yRGVkaWNhdGVkQW5kU2hhcmVkV29ya2VycyhbaWRlbnRpZmllciwgc3RhdGVdIHsK
KyAgICBmb3JBbGxXb3JrZXJzKFtpZGVudGlmaWVyLCBzdGF0ZV0gewogICAgICAgICByZXR1cm4g
W2lkZW50aWZpZXIsIHN0YXRlXSAoYXV0byYgY29udGV4dCkgewogICAgICAgICAgICAgaWYgKGF1
dG8qIGNvbnRhaW5lciA9IGNvbnRleHQuc2VydmljZVdvcmtlckNvbnRhaW5lcigpKQogICAgICAg
ICAgICAgICAgIGNvbnRhaW5lci0+dXBkYXRlV29ya2VyU3RhdGUoaWRlbnRpZmllciwgc3RhdGUp
OwpAQCAtMTk3LDcgKzE5OCw3IEBAIHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpmaXJlVXBkYXRl
Rm91bmRFdmVudChTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllCiAgICAgICAgICAg
ICBjb250YWluZXItPnF1ZXVlVGFza1RvRmlyZVVwZGF0ZUZvdW5kRXZlbnQoaWRlbnRpZmllcik7
CiAgICAgfQogCi0gICAgZm9yRGVkaWNhdGVkQW5kU2hhcmVkV29ya2VycyhbaWRlbnRpZmllcl0g
eworICAgIGZvckFsbFdvcmtlcnMoW2lkZW50aWZpZXJdIHsKICAgICAgICAgcmV0dXJuIFtpZGVu
dGlmaWVyXSAoYXV0byYgY29udGV4dCkgewogICAgICAgICAgICAgaWYgKGF1dG8qIGNvbnRhaW5l
ciA9IGNvbnRleHQuc2VydmljZVdvcmtlckNvbnRhaW5lcigpKQogICAgICAgICAgICAgICAgIGNv
bnRhaW5lci0+cXVldWVUYXNrVG9GaXJlVXBkYXRlRm91bmRFdmVudChpZGVudGlmaWVyKTsKQEAg
LTIxNiw3ICsyMTcsNyBAQCB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6c2V0UmVnaXN0cmF0aW9u
TGFzdFVwZGF0ZVRpbWUoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbgogICAgICAgICB9CiAgICAg
fQogCi0gICAgZm9yRGVkaWNhdGVkQW5kU2hhcmVkV29ya2VycyhbaWRlbnRpZmllciwgbGFzdFVw
ZGF0ZVRpbWVdIHsKKyAgICBmb3JBbGxXb3JrZXJzKFtpZGVudGlmaWVyLCBsYXN0VXBkYXRlVGlt
ZV0gewogICAgICAgICByZXR1cm4gW2lkZW50aWZpZXIsIGxhc3RVcGRhdGVUaW1lXSAoYXV0byYg
Y29udGV4dCkgewogICAgICAgICAgICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IGNvbnRleHQuc2Vy
dmljZVdvcmtlckNvbnRhaW5lcigpKSB7CiAgICAgICAgICAgICAgICAgaWYgKGF1dG8qIHJlZ2lz
dHJhdGlvbiA9IGNvbnRhaW5lci0+cmVnaXN0cmF0aW9uKGlkZW50aWZpZXIpKQpAQCAtMjM3LDcg
KzIzOCw3IEBAIHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpzZXRSZWdpc3RyYXRpb25VcGRhdGVW
aWFDYWNoZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uCiAgICAgICAgIH0KICAgICB9CiAKLSAg
ICBmb3JEZWRpY2F0ZWRBbmRTaGFyZWRXb3JrZXJzKFtpZGVudGlmaWVyLCB1cGRhdGVWaWFDYWNo
ZV0geworICAgIGZvckFsbFdvcmtlcnMoW2lkZW50aWZpZXIsIHVwZGF0ZVZpYUNhY2hlXSB7CiAg
ICAgICAgIHJldHVybiBbaWRlbnRpZmllciwgdXBkYXRlVmlhQ2FjaGVdIChhdXRvJiBjb250ZXh0
KSB7CiAgICAgICAgICAgICBpZiAoYXV0byogY29udGFpbmVyID0gY29udGV4dC5zZXJ2aWNlV29y
a2VyQ29udGFpbmVyKCkpIHsKICAgICAgICAgICAgICAgICBpZiAoYXV0byogcmVnaXN0cmF0aW9u
ID0gY29udGFpbmVyLT5yZWdpc3RyYXRpb24oaWRlbnRpZmllcikpCkBAIC0yNDcsMTggKzI0OCwx
MSBAQCB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6c2V0UmVnaXN0cmF0aW9uVXBkYXRlVmlhQ2Fj
aGUoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbgogICAgIH0pOwogfQogCi1zdGF0aWMgdm9pZCBm
b3JBbGxXb3JrZXJzKGNvbnN0IEZ1bmN0aW9uPEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYpPigpPiYgY2FsbGJhY2spCi17Ci0gICAgU1dDb250ZXh0TWFuYWdlcjo6c2luZ2xl
dG9uKCkuZm9yRWFjaFNlcnZpY2VXb3JrZXIoY2FsbGJhY2spOwotICAgIGZvckRlZGljYXRlZEFu
ZFNoYXJlZFdvcmtlcnMoY2FsbGJhY2spOwotfQotCiB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6
dXBkYXRlQmFja2dyb3VuZEZldGNoUmVnaXN0cmF0aW9uKGNvbnN0IEJhY2tncm91bmRGZXRjaElu
Zm9ybWF0aW9uJiBpbmZvcm1hdGlvbikKIHsKICAgICBmb3IgKGF1dG8qIGRvY3VtZW50IDogRG9j
dW1lbnQ6OmFsbERvY3VtZW50cygpKQogICAgICAgICBCYWNrZ3JvdW5kRmV0Y2hSZWdpc3RyYXRp
b246OnVwZGF0ZUlmRXhpc3RpbmcoKmRvY3VtZW50LCBpbmZvcm1hdGlvbik7CiAKLSAgICAvLyBG
SVhNRTogdGhpcyBjb2RlIHBhdGggZm9yIHNlcnZpY2Ugd29ya2VyIHNob3VsZCBmb2xsb3cgYmFj
a2dyb3VuZCBmZXRjaCBldmVudCBjb2RlIHBhdGguCiAgICAgZm9yQWxsV29ya2VycyhbJmluZm9y
bWF0aW9uXSB7CiAgICAgICAgIHJldHVybiBbaW5mb3JtYXRpb24gPSBjcm9zc1RocmVhZENvcHko
aW5mb3JtYXRpb24pXSAoYXV0byYgY29udGV4dCkgewogICAgICAgICAgICAgQmFja2dyb3VuZEZl
dGNoUmVnaXN0cmF0aW9uOjp1cGRhdGVJZkV4aXN0aW5nKGNvbnRleHQsIGluZm9ybWF0aW9uKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NXQ29u
dGV4dE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQv
U1dDb250ZXh0TWFuYWdlci5jcHAKaW5kZXggNTljMTcwMjVjNjU5Li4yMjNjZmQ0YjM3ZTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NXQ29udGV4
dE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0
L1NXQ29udGV4dE1hbmFnZXIuY3BwCkBAIC0zMSw3ICszMSw2IEBACiAjaW5jbHVkZSAiTG9nZ2lu
Zy5oIgogI2luY2x1ZGUgIk1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzLmgiCiAjaW5jbHVkZSAiTm90
aWZpY2F0aW9uUGF5bG9hZC5oIgotI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJDb250YWluZXIuaCIK
ICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlIDx3dGYvV1RG
UHJvY2Vzcy5oPgogCkBAIC0yODMsNjEgKzI4Miw2IEBAIHZvaWQgU1dDb250ZXh0TWFuYWdlcjo6
c2V0SW5zcGVjdGFibGUoYm9vbCBpbnNwZWN0YWJsZSkKICAgICAgICAgc2VydmljZVdvcmtlci0+
c2V0SW5zcGVjdGFibGUoaW5zcGVjdGFibGUpOwogfQogCi0KLXZvaWQgU1dDb250ZXh0TWFuYWdl
cjo6dXBkYXRlUmVnaXN0cmF0aW9uU3RhdGUoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50
aWZpZXIgaWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlIHN0YXRlLCBj
b25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRhPiYgc2VydmljZVdvcmtlckRhdGEp
Ci17Ci0gICAgZm9yRWFjaFNlcnZpY2VXb3JrZXIoW2lkZW50aWZpZXIsIHN0YXRlLCAmc2Vydmlj
ZVdvcmtlckRhdGFdIHsKLSAgICAgICAgcmV0dXJuIFtpZGVudGlmaWVyLCBzdGF0ZSwgc2Vydmlj
ZVdvcmtlckRhdGEgPSBjcm9zc1RocmVhZENvcHkoc2VydmljZVdvcmtlckRhdGEpXSAoYXV0byYg
Y29udGV4dCkgbXV0YWJsZSB7Ci0gICAgICAgICAgICBpZiAoYXV0byogY29udGFpbmVyID0gY29u
dGV4dC5zZXJ2aWNlV29ya2VyQ29udGFpbmVyKCkpCi0gICAgICAgICAgICAgICAgY29udGFpbmVy
LT51cGRhdGVSZWdpc3RyYXRpb25TdGF0ZShpZGVudGlmaWVyLCBzdGF0ZSwgV1RGTW92ZShzZXJ2
aWNlV29ya2VyRGF0YSkpOwotICAgICAgICB9OwotICAgIH0pOwotfQotCi12b2lkIFNXQ29udGV4
dE1hbmFnZXI6OnVwZGF0ZVdvcmtlclN0YXRlKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50
aWZpZXIsIFNlcnZpY2VXb3JrZXJTdGF0ZSBzdGF0ZSkKLXsKLSAgICBmb3JFYWNoU2VydmljZVdv
cmtlcihbaWRlbnRpZmllciwgc3RhdGVdIHsKLSAgICAgICAgcmV0dXJuIFtpZGVudGlmaWVyLCBz
dGF0ZV0gKGF1dG8mIGNvbnRleHQpIHsKLSAgICAgICAgICAgIGlmIChhdXRvKiBjb250YWluZXIg
PSBjb250ZXh0LnNlcnZpY2VXb3JrZXJDb250YWluZXIoKSkKLSAgICAgICAgICAgICAgICBjb250
YWluZXItPnVwZGF0ZVdvcmtlclN0YXRlKGlkZW50aWZpZXIsIHN0YXRlKTsKLSAgICAgICAgfTsK
LSAgICB9KTsKLX0KLQotdm9pZCBTV0NvbnRleHRNYW5hZ2VyOjpmaXJlVXBkYXRlRm91bmRFdmVu
dChTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQotewotICAg
IGZvckVhY2hTZXJ2aWNlV29ya2VyKFtpZGVudGlmaWVyXSB7Ci0gICAgICAgIHJldHVybiBbaWRl
bnRpZmllcl0gKGF1dG8mIGNvbnRleHQpIHsKLSAgICAgICAgICAgIGlmIChhdXRvKiBjb250YWlu
ZXIgPSBjb250ZXh0LnNlcnZpY2VXb3JrZXJDb250YWluZXIoKSkKLSAgICAgICAgICAgICAgICBj
b250YWluZXItPnF1ZXVlVGFza1RvRmlyZVVwZGF0ZUZvdW5kRXZlbnQoaWRlbnRpZmllcik7Ci0g
ICAgICAgIH07Ci0gICAgfSk7Ci19Ci0KLXZvaWQgU1dDb250ZXh0TWFuYWdlcjo6c2V0UmVnaXN0
cmF0aW9uTGFzdFVwZGF0ZVRpbWUoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIg
aWRlbnRpZmllciwgV2FsbFRpbWUgbGFzdFVwZGF0ZVRpbWUpCi17Ci0gICAgZm9yRWFjaFNlcnZp
Y2VXb3JrZXIoW2lkZW50aWZpZXIsIGxhc3RVcGRhdGVUaW1lXSB7Ci0gICAgICAgIHJldHVybiBb
aWRlbnRpZmllciwgbGFzdFVwZGF0ZVRpbWVdIChhdXRvJiBjb250ZXh0KSB7Ci0gICAgICAgICAg
ICBpZiAoYXV0byogY29udGFpbmVyID0gY29udGV4dC5zZXJ2aWNlV29ya2VyQ29udGFpbmVyKCkp
IHsKLSAgICAgICAgICAgICAgICBpZiAoYXV0byogcmVnaXN0cmF0aW9uID0gY29udGFpbmVyLT5y
ZWdpc3RyYXRpb24oaWRlbnRpZmllcikpCi0gICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlv
bi0+c2V0TGFzdFVwZGF0ZVRpbWUobGFzdFVwZGF0ZVRpbWUpOwotICAgICAgICAgICAgfQotICAg
ICAgICB9OwotICAgIH0pOwotfQotCi12b2lkIFNXQ29udGV4dE1hbmFnZXI6OnNldFJlZ2lzdHJh
dGlvblVwZGF0ZVZpYUNhY2hlKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlk
ZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZSB1cGRhdGVWaWFDYWNoZSkKLXsK
LSAgICBmb3JFYWNoU2VydmljZVdvcmtlcihbaWRlbnRpZmllciwgdXBkYXRlVmlhQ2FjaGVdIHsK
LSAgICAgICAgcmV0dXJuIFtpZGVudGlmaWVyLCB1cGRhdGVWaWFDYWNoZV0gKGF1dG8mIGNvbnRl
eHQpIHsKLSAgICAgICAgICAgIGlmIChhdXRvKiBjb250YWluZXIgPSBjb250ZXh0LnNlcnZpY2VX
b3JrZXJDb250YWluZXIoKSkgewotICAgICAgICAgICAgICAgIGlmIChhdXRvKiByZWdpc3RyYXRp
b24gPSBjb250YWluZXItPnJlZ2lzdHJhdGlvbihpZGVudGlmaWVyKSkKLSAgICAgICAgICAgICAg
ICAgICAgcmVnaXN0cmF0aW9uLT5zZXRVcGRhdGVWaWFDYWNoZSh1cGRhdGVWaWFDYWNoZSk7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIH07Ci0gICAgfSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvY29udGV4dC9TV0NvbnRleHRNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvY29udGV4dC9TV0NvbnRleHRNYW5hZ2VyLmgKaW5kZXggMjdlZDQyN2ExOTQ5Li5jYWVh
N2NkOGY0NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250
ZXh0L1NXQ29udGV4dE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvY29udGV4dC9TV0NvbnRleHRNYW5hZ2VyLmgKQEAgLTEzMCwxMiArMTMwLDYgQEAgcHVibGlj
OgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0QXNJbnNwZWN0ZWQoU2VydmljZVdvcmtlcklk
ZW50aWZpZXIsIGJvb2wpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SW5zcGVjdGFibGUo
Ym9vbCk7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRl
KFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uU3RhdGUsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+Jik7Ci0g
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1cGRhdGVXb3JrZXJTdGF0ZShTZXJ2aWNlV29ya2VySWRl
bnRpZmllciwgU2VydmljZVdvcmtlclN0YXRlKTsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGZp
cmVVcGRhdGVGb3VuZEV2ZW50KFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyKTsK
LSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFJlZ2lzdHJhdGlvbkxhc3RVcGRhdGVUaW1lKFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBXYWxsVGltZSk7Ci0gICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZXRSZWdpc3RyYXRpb25VcGRhdGVWaWFDYWNoZShTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllciwgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlKTsKLQog
cHJpdmF0ZToKICAgICBTV0NvbnRleHRNYW5hZ2VyKCkgPSBkZWZhdWx0OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhy
ZWFkUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vy
dmljZVdvcmtlclRocmVhZFByb3h5LmNwcAppbmRleCA2YTA3YzgzZjI5YjYuLjIwNGQzN2ZkYTgy
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vy
dmljZVdvcmtlclRocmVhZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkuY3BwCkBAIC0zMzYsMTIgKzMz
Niw4IEBAIHZvaWQgU2VydmljZVdvcmtlclRocmVhZFByb3h5OjpmaXJlTWVzc2FnZUV2ZW50KE1l
c3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYgbWVzc2FnCiAKIHZvaWQgU2VydmljZVdvcmtlclRocmVh
ZFByb3h5OjpmaXJlSW5zdGFsbEV2ZW50KCkKIHsKLSAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgp
KTsKLQotICAgIGNhbGxPbk1haW5SdW5Mb29wKFtwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMg
fV0gewotICAgICAgICBwcm90ZWN0ZWRUaGlzLT50aHJlYWQoKS53aWxsUG9zdFRhc2tUb0ZpcmVJ
bnN0YWxsRXZlbnQoKTsKLSAgICB9KTsKLQorICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Cisg
ICAgdGhyZWFkKCkud2lsbFBvc3RUYXNrVG9GaXJlSW5zdGFsbEV2ZW50KCk7CiAgICAgdGhyZWFk
KCkucnVuTG9vcCgpLnBvc3RUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMg
fV0oYXV0byYpIG11dGFibGUgewogICAgICAgICB0aHJlYWQoKS5xdWV1ZVRhc2tUb0ZpcmVJbnN0
YWxsRXZlbnQoKTsKICAgICB9KTsKQEAgLTM0OSwxMyArMzQ1LDkgQEAgdm9pZCBTZXJ2aWNlV29y
a2VyVGhyZWFkUHJveHk6OmZpcmVJbnN0YWxsRXZlbnQoKQogCiB2b2lkIFNlcnZpY2VXb3JrZXJU
aHJlYWRQcm94eTo6ZmlyZUFjdGl2YXRlRXZlbnQoKQogewotICAgIEFTU0VSVCghaXNNYWluVGhy
ZWFkKCkpOwotCi0gICAgY2FsbE9uTWFpblJ1bkxvb3AoW3Byb3RlY3RlZFRoaXMgPSBSZWYgeyAq
dGhpcyB9XSB7Ci0gICAgICAgIHByb3RlY3RlZFRoaXMtPnRocmVhZCgpLndpbGxQb3N0VGFza1Rv
RmlyZUFjdGl2YXRlRXZlbnQoKTsKLSAgICB9KTsKLQotICAgIHRocmVhZCgpLnJ1bkxvb3AoKS5w
b3N0VGFzayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH1dKGF1dG8mKSB7Cisg
ICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICB0aHJlYWQoKS53aWxsUG9zdFRhc2tUb0Zp
cmVBY3RpdmF0ZUV2ZW50KCk7CisgICAgdGhyZWFkKCkucnVuTG9vcCgpLnBvc3RUYXNrKFt0aGlz
LCBwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfV0oYXV0byYpIG11dGFibGUgewogICAgICAg
ICB0aHJlYWQoKS5xdWV1ZVRhc2tUb0ZpcmVBY3RpdmF0ZUV2ZW50KCk7CiAgICAgfSk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNl
V29ya2VyVGhyZWFkUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250
ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWRQcm94eS5oCmluZGV4IGJkZTFhYWFlNWU4My4uNjBmYmYz
MDNjM2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4
dC9TZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkuaApAQCAtODYsOCArODYs
OCBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGZpcmVNZXNzYWdlRXZlbnQo
TWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJiwgU2VydmljZVdvcmtlck9yQ2xpZW50RGF0YSYmKTsK
IAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZmlyZUluc3RhbGxFdmVudCgpOwotICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgZmlyZUFjdGl2YXRlRXZlbnQoKTsKKyAgICB2b2lkIGZpcmVJbnN0YWxs
RXZlbnQoKTsKKyAgICB2b2lkIGZpcmVBY3RpdmF0ZUV2ZW50KCk7CiAgICAgdm9pZCBmaXJlUHVz
aEV2ZW50KHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiYmLCBzdGQ6Om9wdGlvbmFsPE5v
dGlmaWNhdGlvblBheWxvYWQ+JiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCwgc3RkOjpv
cHRpb25hbDxOb3RpZmljYXRpb25QYXlsb2FkPiYmKT4mJik7CiAgICAgdm9pZCBmaXJlUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50KHN0ZDo6b3B0aW9uYWw8UHVzaFN1YnNjcmlwdGlvbkRhdGE+
JiYgbmV3U3Vic2NyaXB0aW9uRGF0YSwgc3RkOjpvcHRpb25hbDxQdXNoU3Vic2NyaXB0aW9uRGF0
YT4mJiBvbGRTdWJzY3JpcHRpb25EYXRhKTsKICAgICB2b2lkIGZpcmVOb3RpZmljYXRpb25FdmVu
dChOb3RpZmljYXRpb25EYXRhJiYsIE5vdGlmaWNhdGlvbkV2ZW50VHlwZSwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChib29sKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCmluZGV4IGI0
NGU2YWQ3NDE5Ni4uODI0ZDMxOTg3YWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApA
QCAtMTMxMyw3ICsxMzEzLDcgQEAgdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6
ZXN0YWJsaXNoU1dTZXJ2ZXJDb25uZWN0aW9uKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgYXV0
byYgc2VydmVyID0gc2Vzc2lvbi0+ZW5zdXJlU1dTZXJ2ZXIoKTsKLSAgICBhdXRvIGNvbm5lY3Rp
b24gPSBtYWtlVW5pcXVlPFdlYlNXU2VydmVyQ29ubmVjdGlvbj4oKnRoaXMsIHNlcnZlciwgbV9j
b25uZWN0aW9uLmdldCgpLCBtX3dlYlByb2Nlc3NJZGVudGlmaWVyKTsKKyAgICBhdXRvIGNvbm5l
Y3Rpb24gPSBtYWtlVW5pcXVlPFdlYlNXU2VydmVyQ29ubmVjdGlvbj4obV9uZXR3b3JrUHJvY2Vz
cywgc2VydmVyLCBtX2Nvbm5lY3Rpb24uZ2V0KCksIG1fd2ViUHJvY2Vzc0lkZW50aWZpZXIpOwog
CiAgICAgbV9zd0Nvbm5lY3Rpb24gPSAqY29ubmVjdGlvbjsKICAgICBzZXJ2ZXIuYWRkQ29ubmVj
dGlvbihXVEZNb3ZlKGNvbm5lY3Rpb24pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAppbmRleCBh
OGM2NjU1MWE3MGEuLmZkZGZiMDljMTljMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApAQCAt
MzcsNyArMzcsNiBAQAogI2luY2x1ZGUgIldlYlBhZ2VQcm94eUlkZW50aWZpZXIuaCIKICNpbmNs
dWRlICJXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5oIgogI2luY2x1ZGUgIldlYlJlc291cmNl
TG9hZE9ic2VydmVyLmgiCi0jaW5jbHVkZSAiV2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9u
LmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQ29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9FeGNlcHRpb25EYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZUlkZW50aWZp
ZXIuaD4KQEAgLTIzMCwxMCArMjI5LDYgQEAgcHVibGljOgogICAgIE5ldHdvcmtNRE5TUmVnaXN0
ZXImIG1kbnNSZWdpc3RlcigpIHsgcmV0dXJuIG1fbWRuc1JlZ2lzdGVyOyB9CiAjZW5kaWYKIAot
I2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICBXZWFrUHRyPFdlYlNXU2VydmVyVG9Db250
ZXh0Q29ubmVjdGlvbj4gc3dDb250ZXh0Q29ubmVjdGlvbigpIHsgcmV0dXJuIG1fc3dDb250ZXh0
Q29ubmVjdGlvbi5nZXQoKTsgfQotI2VuZGlmCi0KIHByaXZhdGU6CiAgICAgTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MoTmV0d29ya1Byb2Nlc3MmLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRp
ZmllciwgUEFMOjpTZXNzaW9uSUQsIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvblBhcmFtZXRlcnMm
JiwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2
ZXJDb25uZWN0aW9uLmNwcAppbmRleCA1YTZjNjgwNGNkMjkuLmZiNDU5OTAzN2FlZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2Vy
dmVyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2
aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKQEAgLTc0LDE2ICs3NCwxNiBAQCB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKICAgICBBU1NFUlQoYXNzZXJ0aW9uKTsgXAogICAgIGlm
IChVTkxJS0VMWSghKGFzc2VydGlvbikpKSB7IFwKICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQo
SVBDLCBfX0ZJTEVfXyAiICIgQ09OTkVDVElPTl9TVFJJTkdJRllfTUFDUk8oX19MSU5FX18pICI6
IEludmFsaWQgbWVzc2FnZSBkaXNwYXRjaGVkICUiIFBVQkxJQ19MT0dfU1RSSU5HLCBXVEZfUFJF
VFRZX0ZVTkNUSU9OKTsgXAotICAgICAgICBuZXR3b3JrUHJvY2VzcygpLnBhcmVudFByb2Nlc3ND
b25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OlRlcm1pbmF0
ZVdlYlByb2Nlc3MoaWRlbnRpZmllcigpKSwgMCk7IFwKKyAgICAgICAgbV9uZXR3b3JrUHJvY2Vz
cy0+cGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nl
c3NQcm94eTo6VGVybWluYXRlV2ViUHJvY2VzcyhpZGVudGlmaWVyKCkpLCAwKTsgXAogICAgICAg
ICB7IGNvbXBsZXRpb247IH0gXAogICAgICAgICByZXR1cm47IFwKICAgICB9IFwKIH0gd2hpbGUg
KDApCiAKLVdlYlNXU2VydmVyQ29ubmVjdGlvbjo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uKE5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBuZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcywg
U1dTZXJ2ZXImIHNlcnZlciwgSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBQcm9jZXNzSWRl
bnRpZmllciBwcm9jZXNzSWRlbnRpZmllcikKK1dlYlNXU2VydmVyQ29ubmVjdGlvbjo6V2ViU1dT
ZXJ2ZXJDb25uZWN0aW9uKE5ldHdvcmtQcm9jZXNzJiBuZXR3b3JrUHJvY2VzcywgU1dTZXJ2ZXIm
IHNlcnZlciwgSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBQcm9jZXNzSWRlbnRpZmllciBw
cm9jZXNzSWRlbnRpZmllcikKICAgICA6IFNXU2VydmVyOjpDb25uZWN0aW9uKHNlcnZlciwgcHJv
Y2Vzc0lkZW50aWZpZXIpCi0gICAgLCBtX25ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKG5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKQogICAgICwgbV9jb250ZW50Q29ubmVjdGlvbihj
b25uZWN0aW9uKQorICAgICwgbV9uZXR3b3JrUHJvY2VzcyhuZXR3b3JrUHJvY2VzcykKIHsKICAg
ICBpZiAoYXV0byogc2Vzc2lvbiA9IHRoaXMtPnNlc3Npb24oKSkKICAgICAgICAgc2Vzc2lvbi0+
cmVnaXN0ZXJTV1NlcnZlckNvbm5lY3Rpb24oKnRoaXMpOwpAQCAtOTksMTEgKzk5LDYgQEAgV2Vi
U1dTZXJ2ZXJDb25uZWN0aW9uOjp+V2ViU1dTZXJ2ZXJDb25uZWN0aW9uKCkKICAgICAgICAgY29t
cGxldGlvbkhhbmRsZXIoZmFsc2UpOwogfQogCi1OZXR3b3JrUHJvY2VzcyYgV2ViU1dTZXJ2ZXJD
b25uZWN0aW9uOjpuZXR3b3JrUHJvY2VzcygpCi17Ci0gICAgcmV0dXJuIG1fbmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MtPm5ldHdvcmtQcm9jZXNzKCk7Ci19Ci0KIHZvaWQgV2ViU1dTZXJ2
ZXJDb25uZWN0aW9uOjpyZWplY3RKb2JJbkNsaWVudChTZXJ2aWNlV29ya2VySm9iSWRlbnRpZmll
ciBqb2JJZGVudGlmaWVyLCBjb25zdCBFeGNlcHRpb25EYXRhJiBleGNlcHRpb25EYXRhKQogewog
ICAgIGlmIChhdXRvIGNvbXBsZXRpb25IYW5kbGVyID0gbV91bnJlZ2lzdGVySm9icy50YWtlKGpv
YklkZW50aWZpZXIpKQpAQCAtMTQ1LDI5ICsxNDAsMjEgQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5l
Y3Rpb246OnN0YXJ0U2NyaXB0RmV0Y2hJbkNsaWVudChTZXJ2aWNlV29ya2VySm9iSWRlbnRpZmll
cgogdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlSW5D
bGllbnQoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgaWRlbnRpZmllciwgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlIHN0YXRlLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNl
cnZpY2VXb3JrZXJEYXRhPiYgc2VydmljZVdvcmtlckRhdGEpCiB7CiAgICAgc2VuZChNZXNzYWdl
czo6V2ViU1dDbGllbnRDb25uZWN0aW9uOjpVcGRhdGVSZWdpc3RyYXRpb25TdGF0ZShpZGVudGlm
aWVyLCBzdGF0ZSwgc2VydmljZVdvcmtlckRhdGEpKTsKLSAgICBpZiAoYXV0byBjb250ZXh0Q29u
bmVjdGlvbiA9IG1fbmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MtPnN3Q29udGV4dENvbm5l
Y3Rpb24oKSkKLSAgICAgICAgc2VuZFRvQ29udGV4dFByb2Nlc3MoKmNvbnRleHRDb25uZWN0aW9u
LCBNZXNzYWdlczo6V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OlVwZGF0ZVJlZ2lzdHJh
dGlvblN0YXRlKGlkZW50aWZpZXIsIHN0YXRlLCBzZXJ2aWNlV29ya2VyRGF0YSkpOwogfQogCiB2
b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6ZmlyZVVwZGF0ZUZvdW5kRXZlbnQoU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgaWRlbnRpZmllcikKIHsKICAgICBzZW5kKE1lc3Nh
Z2VzOjpXZWJTV0NsaWVudENvbm5lY3Rpb246OkZpcmVVcGRhdGVGb3VuZEV2ZW50KGlkZW50aWZp
ZXIpKTsKLSAgICBpZiAoYXV0byBjb250ZXh0Q29ubmVjdGlvbiA9IG1fbmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MtPnN3Q29udGV4dENvbm5lY3Rpb24oKSkKLSAgICAgICAgc2VuZFRvQ29u
dGV4dFByb2Nlc3MoKmNvbnRleHRDb25uZWN0aW9uLCBNZXNzYWdlczo6V2ViU1dDb250ZXh0TWFu
YWdlckNvbm5lY3Rpb246OkZpcmVVcGRhdGVGb3VuZEV2ZW50KGlkZW50aWZpZXIpKTsKIH0KIAog
dm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnNldFJlZ2lzdHJhdGlvbkxhc3RVcGRhdGVUaW1l
KFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIsIFdhbGxUaW1l
IGxhc3RVcGRhdGVUaW1lKQogewogICAgIHNlbmQoTWVzc2FnZXM6OldlYlNXQ2xpZW50Q29ubmVj
dGlvbjo6U2V0UmVnaXN0cmF0aW9uTGFzdFVwZGF0ZVRpbWUoaWRlbnRpZmllciwgbGFzdFVwZGF0
ZVRpbWUpKTsKLSAgICBpZiAoYXV0byBjb250ZXh0Q29ubmVjdGlvbiA9IG1fbmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MtPnN3Q29udGV4dENvbm5lY3Rpb24oKSkKLSAgICAgICAgc2VuZFRv
Q29udGV4dFByb2Nlc3MoKmNvbnRleHRDb25uZWN0aW9uLCBNZXNzYWdlczo6V2ViU1dDb250ZXh0
TWFuYWdlckNvbm5lY3Rpb246OlNldFJlZ2lzdHJhdGlvbkxhc3RVcGRhdGVUaW1lKGlkZW50aWZp
ZXIsIGxhc3RVcGRhdGVUaW1lKSk7CiB9CiAKIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpz
ZXRSZWdpc3RyYXRpb25VcGRhdGVWaWFDYWNoZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRl
bnRpZmllciBpZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUgdXBkYXRlVmlh
Q2FjaGUpCiB7CiAgICAgc2VuZChNZXNzYWdlczo6V2ViU1dDbGllbnRDb25uZWN0aW9uOjpTZXRS
ZWdpc3RyYXRpb25VcGRhdGVWaWFDYWNoZShpZGVudGlmaWVyLCB1cGRhdGVWaWFDYWNoZSkpOwot
ICAgIGlmIChhdXRvIGNvbnRleHRDb25uZWN0aW9uID0gbV9uZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy0+c3dDb250ZXh0Q29ubmVjdGlvbigpKQotICAgICAgICBzZW5kVG9Db250ZXh0UHJv
Y2VzcygqY29udGV4dENvbm5lY3Rpb24sIE1lc3NhZ2VzOjpXZWJTV0NvbnRleHRNYW5hZ2VyQ29u
bmVjdGlvbjo6U2V0UmVnaXN0cmF0aW9uVXBkYXRlVmlhQ2FjaGUoaWRlbnRpZmllciwgdXBkYXRl
VmlhQ2FjaGUpKTsKIH0KIAogdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246Om5vdGlmeUNsaWVu
dHNPZkNvbnRyb2xsZXJDaGFuZ2UoY29uc3QgSGFzaFNldDxTY3JpcHRFeGVjdXRpb25Db250ZXh0
SWRlbnRpZmllcj4mIGNvbnRleHRJZGVudGlmaWVycywgY29uc3Qgc3RkOjpvcHRpb25hbDxTZXJ2
aWNlV29ya2VyRGF0YT4mIG5ld0NvbnRyb2xsZXIpCkBAIC0xNzgsOCArMTY1LDYgQEAgdm9pZCBX
ZWJTV1NlcnZlckNvbm5lY3Rpb246Om5vdGlmeUNsaWVudHNPZkNvbnRyb2xsZXJDaGFuZ2UoY29u
c3QgSGFzaFNldDxTY3JpcHQKIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjp1cGRhdGVXb3Jr
ZXJTdGF0ZUluQ2xpZW50KFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHdvcmtlciwgU2VydmljZVdv
cmtlclN0YXRlIHN0YXRlKQogewogICAgIHNlbmQoTWVzc2FnZXM6OldlYlNXQ2xpZW50Q29ubmVj
dGlvbjo6VXBkYXRlV29ya2VyU3RhdGUod29ya2VyLCBzdGF0ZSkpOwotICAgIGlmIChhdXRvIGNv
bnRleHRDb25uZWN0aW9uID0gbV9uZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy0+c3dDb250
ZXh0Q29ubmVjdGlvbigpKQotICAgICAgICBzZW5kVG9Db250ZXh0UHJvY2VzcygqY29udGV4dENv
bm5lY3Rpb24sIE1lc3NhZ2VzOjpXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6VXBkYXRl
V29ya2VyU3RhdGUod29ya2VyLCBzdGF0ZSkpOwogfQogCiB2b2lkIFdlYlNXU2VydmVyQ29ubmVj
dGlvbjo6Y29udHJvbENsaWVudChjb25zdCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyYg
cGFyYW1ldGVycywgU1dTZXJ2ZXJSZWdpc3RyYXRpb24mIHJlZ2lzdHJhdGlvbiwgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciB3ZWJQcm9j
ZXNzSWRlbnRpZmllcikKQEAgLTM0Nyw3ICszMzIsNyBAQCB2b2lkIFdlYlNXU2VydmVyQ29ubmVj
dGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIoU2VydmljZVdvcmtlcklkZW50aWZpZXIg
ZAogCiB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6c2NoZWR1bGVKb2JJblNlcnZlcihTZXJ2
aWNlV29ya2VySm9iRGF0YSYmIGpvYkRhdGEpCiB7Ci0gICAgQ09OTkVDVElPTl9NRVNTQUdFX0NI
RUNLKG5ldHdvcmtQcm9jZXNzKCkuYWxsb3dzRmlyc3RQYXJ0eUZvckNvb2tpZXMoaWRlbnRpZmll
cigpLCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbjo6dW5jaGVja2VkQ3JlYXRlRnJvbUhvc3Qo
am9iRGF0YS50b3BPcmlnaW4uaG9zdCgpKSkpOworICAgIENPTk5FQ1RJT05fTUVTU0FHRV9DSEVD
SyhtX25ldHdvcmtQcm9jZXNzLT5hbGxvd3NGaXJzdFBhcnR5Rm9yQ29va2llcyhpZGVudGlmaWVy
KCksIFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluOjp1bmNoZWNrZWRDcmVhdGVGcm9tSG9zdChq
b2JEYXRhLnRvcE9yaWdpbi5ob3N0KCkpKSk7CiAKICAgICBBU1NFUlQoIWpvYkRhdGEuc2NvcGVV
UkwuaXNOdWxsKCkpOwogICAgIGlmIChqb2JEYXRhLnNjb3BlVVJMLmlzTnVsbCgpKSB7CkBAIC00
NTgsNyArNDQzLDcgQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnJlZ2lzdGVyU2Vydmlj
ZVdvcmtlckNsaWVudEludGVybmFsKFdlYkNvcmU6OkNsaWVudE8KIAogICAgIGlmIChjb250ZXh0
Q29ubmVjdGlvbikgewogICAgICAgICBhdXRvJiBjb25uZWN0aW9uID0gc3RhdGljX2Nhc3Q8V2Vi
U1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uJj4oKmNvbnRleHRDb25uZWN0aW9uKTsKLSAgICAg
ICAgbmV0d29ya1Byb2Nlc3MoKS5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3Nh
Z2VzOjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpSZWdpc3RlclJlbW90ZVdvcmtlckNsaWVudFByb2Nl
c3MgeyBSZW1vdGVXb3JrZXJUeXBlOjpTZXJ2aWNlV29ya2VyLCBpZGVudGlmaWVyKCksIGNvbm5l
Y3Rpb24ud2ViUHJvY2Vzc0lkZW50aWZpZXIoKSB9LCAwKTsKKyAgICAgICAgbV9uZXR3b3JrUHJv
Y2Vzcy0+cGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6TmV0d29ya1By
b2Nlc3NQcm94eTo6UmVnaXN0ZXJSZW1vdGVXb3JrZXJDbGllbnRQcm9jZXNzIHsgUmVtb3RlV29y
a2VyVHlwZTo6U2VydmljZVdvcmtlciwgaWRlbnRpZmllcigpLCBjb25uZWN0aW9uLndlYlByb2Nl
c3NJZGVudGlmaWVyKCkgfSwgMCk7CiAgICAgfQogfQogCkBAIC00ODYsNyArNDcxLDcgQEAgdm9p
ZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNv
bnN0IFNjcmlwdEV4ZWN1dGlvbkMKICAgICAgICAgaWYgKCFoYXNNYXRjaGluZ0NsaWVudChwb3Rl
bnRpYWxseVJlbW92ZWREb21haW4pKSB7CiAgICAgICAgICAgICBpZiAoYXV0byogY29udGV4dENv
bm5lY3Rpb24gPSBzZXJ2ZXIoKS5jb250ZXh0Q29ubmVjdGlvbkZvclJlZ2lzdHJhYmxlRG9tYWlu
KHBvdGVudGlhbGx5UmVtb3ZlZERvbWFpbikpIHsKICAgICAgICAgICAgICAgICBhdXRvJiBjb25u
ZWN0aW9uID0gc3RhdGljX2Nhc3Q8V2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uJj4oKmNv
bnRleHRDb25uZWN0aW9uKTsKLSAgICAgICAgICAgICAgICBuZXR3b3JrUHJvY2VzcygpLnBhcmVu
dFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzUHJveHk6
OlVucmVnaXN0ZXJSZW1vdGVXb3JrZXJDbGllbnRQcm9jZXNzIHsgUmVtb3RlV29ya2VyVHlwZTo6
U2VydmljZVdvcmtlciwgaWRlbnRpZmllcigpLCBjb25uZWN0aW9uLndlYlByb2Nlc3NJZGVudGlm
aWVyKCkgfSwgMCk7CisgICAgICAgICAgICAgICAgbV9uZXR3b3JrUHJvY2Vzcy0+cGFyZW50UHJv
Y2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3NQcm94eTo6VW5y
ZWdpc3RlclJlbW90ZVdvcmtlckNsaWVudFByb2Nlc3MgeyBSZW1vdGVXb3JrZXJUeXBlOjpTZXJ2
aWNlV29ya2VyLCBpZGVudGlmaWVyKCksIGNvbm5lY3Rpb24ud2ViUHJvY2Vzc0lkZW50aWZpZXIo
KSB9LCAwKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KQEAgLTYzNSw3ICs2MjAs
NyBAQCB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Y29udGV4dENvbm5lY3Rpb25DcmVhdGVk
KFNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbgogICAgIGNvbm5lY3Rpb24uc2V0VGhyb3R0bGVT
dGF0ZShjb21wdXRlVGhyb3R0bGVTdGF0ZShjb25uZWN0aW9uLnJlZ2lzdHJhYmxlRG9tYWluKCkp
KTsKIAogICAgIGlmIChoYXNNYXRjaGluZ0NsaWVudChjb25uZWN0aW9uLnJlZ2lzdHJhYmxlRG9t
YWluKCkpKQotICAgICAgICBuZXR3b3JrUHJvY2VzcygpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9u
KCktPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OlJlZ2lzdGVyUmVtb3RlV29y
a2VyQ2xpZW50UHJvY2VzcyB7IFJlbW90ZVdvcmtlclR5cGU6OlNlcnZpY2VXb3JrZXIsIGlkZW50
aWZpZXIoKSwgY29ubmVjdGlvbi53ZWJQcm9jZXNzSWRlbnRpZmllcigpIH0sIDApOworICAgICAg
ICBtX25ldHdvcmtQcm9jZXNzLT5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3Nh
Z2VzOjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpSZWdpc3RlclJlbW90ZVdvcmtlckNsaWVudFByb2Nl
c3MgeyBSZW1vdGVXb3JrZXJUeXBlOjpTZXJ2aWNlV29ya2VyLCBpZGVudGlmaWVyKCksIGNvbm5l
Y3Rpb24ud2ViUHJvY2Vzc0lkZW50aWZpZXIoKSB9LCAwKTsKIH0KIAogdm9pZCBXZWJTV1NlcnZl
ckNvbm5lY3Rpb246OnRlcm1pbmF0ZVdvcmtlckZyb21DbGllbnQoU2VydmljZVdvcmtlcklkZW50
aWZpZXIgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4m
JiBjYWxsYmFjaykKQEAgLTY2MSw3ICs2NDYsNyBAQCBQQUw6OlNlc3Npb25JRCBXZWJTV1NlcnZl
ckNvbm5lY3Rpb246OnNlc3Npb25JRCgpIGNvbnN0CiAKIE5ldHdvcmtTZXNzaW9uKiBXZWJTV1Nl
cnZlckNvbm5lY3Rpb246OnNlc3Npb24oKQogewotICAgIHJldHVybiBuZXR3b3JrUHJvY2Vzcygp
Lm5ldHdvcmtTZXNzaW9uKHNlc3Npb25JRCgpKTsKKyAgICByZXR1cm4gbV9uZXR3b3JrUHJvY2Vz
cy0+bmV0d29ya1Nlc3Npb24oc2Vzc2lvbklEKCkpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBV
PiB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6c2VuZFRvQ29udGV4dFByb2Nlc3MoV2ViQ29y
ZTo6U1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBVJiYgbWVzc2FnZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9X
ZWJTV1NlcnZlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2Vy
dmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaAppbmRleCA1ZWIzNzVhY2RlZDkuLjll
MDQ2YzNiMmFkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2
aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaApAQCAtNjIs
NyArNjIsNiBAQCBzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVudERhdGE7CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCi1jbGFzcyBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzczsKIGNsYXNzIE5l
dHdvcmtQcm9jZXNzOwogY2xhc3MgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnM7CiBjbGFz
cyBOZXR3b3JrUmVzb3VyY2VMb2FkZXI7CkBAIC03MCw3ICs2OSw3IEBAIGNsYXNzIFNlcnZpY2VX
b3JrZXJGZXRjaFRhc2s7CiAKIGNsYXNzIFdlYlNXU2VydmVyQ29ubmVjdGlvbiBmaW5hbCA6IHB1
YmxpYyBXZWJDb3JlOjpTV1NlcnZlcjo6Q29ubmVjdGlvbiwgcHVibGljIElQQzo6TWVzc2FnZVNl
bmRlciwgcHVibGljIElQQzo6TWVzc2FnZVJlY2VpdmVyIHsKIHB1YmxpYzoKLSAgICBXZWJTV1Nl
cnZlckNvbm5lY3Rpb24oTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmLCBXZWJDb3JlOjpT
V1NlcnZlciYsIElQQzo6Q29ubmVjdGlvbiYsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyKTsK
KyAgICBXZWJTV1NlcnZlckNvbm5lY3Rpb24oTmV0d29ya1Byb2Nlc3MmLCBXZWJDb3JlOjpTV1Nl
cnZlciYsIElQQzo6Q29ubmVjdGlvbiYsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyKTsKICAg
ICBXZWJTV1NlcnZlckNvbm5lY3Rpb24oY29uc3QgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uJikgPSBk
ZWxldGU7CiAgICAgfldlYlNXU2VydmVyQ29ubmVjdGlvbigpIGZpbmFsOwogCkBAIC0xNTYsMTAg
KzE1NSw5IEBAIHByaXZhdGU6CiAgICAgdWludDY0X3QgbWVzc2FnZVNlbmRlckRlc3RpbmF0aW9u
SUQoKSBjb25zdCBmaW5hbCB7IHJldHVybiAwOyB9CiAgICAgCiAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVT4gc3RhdGljIHZvaWQgc2VuZFRvQ29udGV4dFByb2Nlc3MoV2ViQ29yZTo6U1dTZXJ2ZXJU
b0NvbnRleHRDb25uZWN0aW9uJiwgVSYmIG1lc3NhZ2UpOwotICAgIE5ldHdvcmtQcm9jZXNzJiBu
ZXR3b3JrUHJvY2VzcygpOwogCi0gICAgV2Vha1B0cjxOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcz4gbV9uZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzczsKICAgICBSZWY8SVBDOjpDb25u
ZWN0aW9uPiBtX2NvbnRlbnRDb25uZWN0aW9uOworICAgIFJlZjxOZXR3b3JrUHJvY2Vzcz4gbV9u
ZXR3b3JrUHJvY2VzczsKICAgICBIYXNoTWFwPFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRJZGVudGlmaWVyLCBXZWJDb3JlOjpDbGllbnRPcmlnaW4+IG1fY2xpZW50T3JpZ2luczsKICAg
ICBIYXNoTWFwPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJKb2JJZGVudGlmaWVyLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFVucmVnaXN0ZXJKb2JSZXN1bHQmJik+PiBtX3VucmVnaXN0ZXJKb2JzOwog
ICAgIGJvb2wgbV9pc1Rocm90dGxlYWJsZSB7IHRydWUgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlclRvQ29udGV4dENv
bm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2Vy
L1dlYlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHAKaW5kZXggMTA2YmIwMzhkZGM0Li5i
MDczZTQwOTQ0M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2Vy
dmljZVdvcmtlci9XZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlclRvQ29udGV4
dENvbm5lY3Rpb24uY3BwCkBAIC03MiwxMSArNzIsNiBAQCBXZWJTV1NlcnZlclRvQ29udGV4dENv
bm5lY3Rpb246On5XZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24oKQogICAgICAgICBzZXJ2
ZXItPnJlbW92ZUNvbnRleHRDb25uZWN0aW9uKCp0aGlzKTsKIH0KIAotTmV0d29ya1Byb2Nlc3Mm
IFdlYlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbjo6bmV0d29ya1Byb2Nlc3MoKQotewotICAg
IHJldHVybiBtX2Nvbm5lY3Rpb24ubmV0d29ya1Byb2Nlc3MoKTsKLX0KLQogSVBDOjpDb25uZWN0
aW9uJiBXZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb246OmlwY0Nvbm5lY3Rpb24oKSBjb25z
dAogewogICAgIHJldHVybiBtX2Nvbm5lY3Rpb24uY29ubmVjdGlvbigpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyVG9D
b250ZXh0Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNl
V29ya2VyL1dlYlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5oCmluZGV4IDczZDY0ZGEyYWQ2
NS4uOWE5Mjc5MWRmYTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmgKKysrIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyVG9Db250
ZXh0Q29ubmVjdGlvbi5oCkBAIC01NCw4ICs1NCw2IEBAIGNsYXNzIFNlc3Npb25JRDsKIG5hbWVz
cGFjZSBXZWJLaXQgewogCiBjbGFzcyBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzczsKLWNs
YXNzIE5ldHdvcmtQcm9jZXNzOwotY2xhc3MgU2VydmljZVdvcmtlckRvd25sb2FkVGFzazsKIGNs
YXNzIFdlYlNXU2VydmVyQ29ubmVjdGlvbjsKIAogY2xhc3MgV2ViU1dTZXJ2ZXJUb0NvbnRleHRD
b25uZWN0aW9uIGZpbmFsOiBwdWJsaWMgV2ViQ29yZTo6U1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0
aW9uLCBwdWJsaWMgSVBDOjpNZXNzYWdlU2VuZGVyLCBwdWJsaWMgSVBDOjpNZXNzYWdlUmVjZWl2
ZXIgewpAQCAtODIsNyArODAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1bnJlZ2lzdGVyRG93bmxv
YWQoU2VydmljZVdvcmtlckRvd25sb2FkVGFzayYpOwogCiAgICAgV2ViQ29yZTo6UHJvY2Vzc0lk
ZW50aWZpZXIgd2ViUHJvY2Vzc0lkZW50aWZpZXIoKSBjb25zdCBmaW5hbDsKLSAgICBOZXR3b3Jr
UHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MoKTsKKyAgICBOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1By
b2Nlc3MoKSB7IHJldHVybiBtX2Nvbm5lY3Rpb24ubmV0d29ya1Byb2Nlc3MoKTsgfQogCiBwcml2
YXRlOgogICAgIC8vIElQQzo6TWVzc2FnZVNlbmRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLm1l
c3NhZ2VzLmluCmluZGV4IGIxZWYzNGRlNWM2My4uNWJhY2Q3NWE4NGU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24ubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGll
bnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yNywxMyArMjcsMTEgQEAgbWVzc2FnZXMgLT4g
V2ViU1dDbGllbnRDb25uZWN0aW9uIHsKICAgICBKb2JSZWplY3RlZEluU2VydmVyKFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJKb2JJZGVudGlmaWVyIGpvYkRhdGFJZGVudGlmaWVyLCBzdHJ1Y3QgV2Vi
Q29yZTo6RXhjZXB0aW9uRGF0YSBleGNlcHRpb24pCiAgICAgUmVnaXN0cmF0aW9uSm9iUmVzb2x2
ZWRJblNlcnZlcihXZWJDb3JlOjpTZXJ2aWNlV29ya2VySm9iSWRlbnRpZmllciBqb2JEYXRhSWRl
bnRpZmllciwgc3RydWN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIHJl
Z2lzdHJhdGlvbiwgZW51bTpib29sIFdlYkNvcmU6OlNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZCBz
aG91bGROb3RpZnlXaGVuUmVzb2x2ZWQpCiAgICAgU3RhcnRTY3JpcHRGZXRjaEZvclNlcnZlcihX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VySm9iSWRlbnRpZmllciBqb2JEYXRhSWRlbnRpZmllciwgV2Vi
Q29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSByZWdpc3RyYXRpb25LZXksIGVudW06
dWludDhfdCBXZWJDb3JlOjpGZXRjaE9wdGlvbnM6OkNhY2hlIGNhY2hlUG9saWN5KQotCiAgICAg
VXBkYXRlUmVnaXN0cmF0aW9uU3RhdGUoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bklkZW50aWZpZXIgaWRlbnRpZmllciwgZW51bTp1aW50OF90IFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25TdGF0ZSBzdGF0ZSwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyRGF0YT4gc2VydmljZVdvcmtlcklkZW50aWZpZXIpCiAgICAgVXBkYXRlV29ya2VyU3Rh
dGUoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgc2VydmljZVdvcmtlcklkZW50aWZp
ZXIsIGVudW06dWludDhfdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyU3RhdGUgc3RhdGUpCiAgICAg
RmlyZVVwZGF0ZUZvdW5kRXZlbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIgaWRlbnRpZmllcikKICAgICBTZXRSZWdpc3RyYXRpb25MYXN0VXBkYXRlVGltZShX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyLCBX
YWxsVGltZSBsYXN0VXBkYXRlVGltZSkKICAgICBTZXRSZWdpc3RyYXRpb25VcGRhdGVWaWFDYWNo
ZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVy
LCBlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6U2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIHVwZGF0
ZVZpYUNhY2hlKQotCiAgICAgTm90aWZ5Q2xpZW50c09mQ29udHJvbGxlckNoYW5nZShIYXNoU2V0
PFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyPiBjb250ZXh0SWRlbnRp
ZmllcnMsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlckRhdGE+IG5ld0NvbnRy
b2xsZXIpCiAgICAgVXBkYXRlQmFja2dyb3VuZEZldGNoUmVnaXN0cmF0aW9uKHN0cnVjdCBXZWJD
b3JlOjpCYWNrZ3JvdW5kRmV0Y2hJbmZvcm1hdGlvbiBpbmZvcm1hdGlvbikKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNv
bm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCmluZGV4IDUwZWIyOWI4ZmI1ZC4uMmYxY2I1Mzk5ODgy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRl
eHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0
b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCkBAIC0yNzgsMTYgKzI3OCwx
OCBAQCB2b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpmaXJlSW5zdGFsbEV2ZW50
KFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZQogewogICAgIGFzc2VydElzQ3VycmVudChtX3F1
ZXVlLmdldCgpKTsKIAotICAgIGlmIChhdXRvIHNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eSA9IFNX
Q29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLnNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eUZyb21C
YWNrZ3JvdW5kVGhyZWFkKGlkZW50aWZpZXIpKQotICAgICAgICBzZXJ2aWNlV29ya2VyVGhyZWFk
UHJveHktPmZpcmVJbnN0YWxsRXZlbnQoKTsKKyAgICBjYWxsT25NYWluUnVuTG9vcChbaWRlbnRp
Zmllcl0geworICAgICAgICBTV0NvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5maXJlSW5zdGFs
bEV2ZW50KGlkZW50aWZpZXIpOworICAgIH0pOwogfQogCiB2b2lkIFdlYlNXQ29udGV4dE1hbmFn
ZXJDb25uZWN0aW9uOjpmaXJlQWN0aXZhdGVFdmVudChTZXJ2aWNlV29ya2VySWRlbnRpZmllciBp
ZGVudGlmaWVyKQogewogICAgIGFzc2VydElzQ3VycmVudChtX3F1ZXVlLmdldCgpKTsKIAotICAg
IGlmIChhdXRvIHNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eSA9IFNXQ29udGV4dE1hbmFnZXI6OnNp
bmdsZXRvbigpLnNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eUZyb21CYWNrZ3JvdW5kVGhyZWFkKGlk
ZW50aWZpZXIpKQotICAgICAgICBzZXJ2aWNlV29ya2VyVGhyZWFkUHJveHktPmZpcmVBY3RpdmF0
ZUV2ZW50KCk7CisgICAgY2FsbE9uTWFpblJ1bkxvb3AoW2lkZW50aWZpZXJdIHsKKyAgICAgICAg
U1dDb250ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCkuZmlyZUFjdGl2YXRlRXZlbnQoaWRlbnRpZmll
cik7CisgICAgfSk7CiB9CiAKIHZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OmZp
cmVQdXNoRXZlbnQoU2VydmljZVdvcmtlcklkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3Qgc3Rk
OjpvcHRpb25hbDxJUEM6OkRhdGFSZWZlcmVuY2U+JiBpcGNEYXRhLCBzdGQ6Om9wdGlvbmFsPE5v
dGlmaWNhdGlvblBheWxvYWQ+JiYgcHJvcG9zZWRQYXlsb2FkLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGJvb2wsIHN0ZDo6b3B0aW9uYWw8Tm90aWZpY2F0aW9uUGF5bG9hZD4mJik+JiYgY2FsbGJh
Y2spCkBAIC0zOTQsNDEgKzM5Niw2IEBAIHZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rp
b246Om5hdmlnYXRpb25QcmVsb2FkRmFpbGVkKFNXU2VydmVyQ29ubmVjdGlvbklkCiAgICAgICAg
IHNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eS0+bmF2aWdhdGlvblByZWxvYWRGYWlsZWQoc2VydmVy
Q29ubmVjdGlvbklkZW50aWZpZXIsIGZldGNoSWRlbnRpZmllciwgV1RGTW92ZShlcnJvcikpOwog
fQogCi12b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjp1cGRhdGVSZWdpc3RyYXRp
b25TdGF0ZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVu
dGlmaWVyLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUgc3RhdGUsIGNv
bnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlckRhdGE+JiBzZXJ2aWNlV29y
a2VyRGF0YSkKLXsKLSAgICBhc3NlcnRJc0N1cnJlbnQobV9xdWV1ZS5nZXQoKSk7Ci0KLSAgICBT
V0NvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS51cGRhdGVSZWdpc3RyYXRpb25TdGF0ZShpZGVu
dGlmaWVyLCBzdGF0ZSwgc2VydmljZVdvcmtlckRhdGEpOwotfQotCi12b2lkIFdlYlNXQ29udGV4
dE1hbmFnZXJDb25uZWN0aW9uOjp1cGRhdGVXb3JrZXJTdGF0ZShXZWJDb3JlOjpTZXJ2aWNlV29y
a2VySWRlbnRpZmllciBpZGVudGlmaWVyLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyU3RhdGUgc3Rh
dGUpCi17Ci0gICAgYXNzZXJ0SXNDdXJyZW50KG1fcXVldWUuZ2V0KCkpOwotCi0gICAgU1dDb250
ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCkudXBkYXRlV29ya2VyU3RhdGUoaWRlbnRpZmllciwgc3Rh
dGUpOwotfQotCi12b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpmaXJlVXBkYXRl
Rm91bmRFdmVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBp
ZGVudGlmaWVyKQotewotICAgIGFzc2VydElzQ3VycmVudChtX3F1ZXVlLmdldCgpKTsKLQotICAg
IFNXQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLmZpcmVVcGRhdGVGb3VuZEV2ZW50KGlkZW50
aWZpZXIpOwotfQotCi12b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpzZXRSZWdp
c3RyYXRpb25MYXN0VXBkYXRlVGltZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllciBpZGVudGlmaWVyLCBXYWxsVGltZSB0aW1lKQotewotICAgIGFzc2VydElzQ3Vy
cmVudChtX3F1ZXVlLmdldCgpKTsKLQotICAgIFNXQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigp
LnNldFJlZ2lzdHJhdGlvbkxhc3RVcGRhdGVUaW1lKGlkZW50aWZpZXIsIHRpbWUpOwotfQotCi12
b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpzZXRSZWdpc3RyYXRpb25VcGRhdGVW
aWFDYWNoZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVu
dGlmaWVyLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUgdmFsdWUpCi17Ci0g
ICAgYXNzZXJ0SXNDdXJyZW50KG1fcXVldWUuZ2V0KCkpOwotCi0gICAgU1dDb250ZXh0TWFuYWdl
cjo6c2luZ2xldG9uKCkuc2V0UmVnaXN0cmF0aW9uVXBkYXRlVmlhQ2FjaGUoaWRlbnRpZmllciwg
dmFsdWUpOwotfQotCiB2b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpwb3N0TWVz
c2FnZVRvU2VydmljZVdvcmtlckNsaWVudChjb25zdCBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRl
bnRpZmllciYgZGVzdGluYXRpb25JZGVudGlmaWVyLCBjb25zdCBNZXNzYWdlV2l0aE1lc3NhZ2VQ
b3J0cyYgbWVzc2FnZSwgU2VydmljZVdvcmtlcklkZW50aWZpZXIgc291cmNlSWRlbnRpZmllciwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VPcmlnaW4pCiB7CiAgICAgZm9yIChhdXRvJiBwb3J0IDogbWVz
c2FnZS50cmFuc2ZlcnJlZFBvcnRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKaW5k
ZXggNGE0ZTE5ODgzMjNmLi4wM2M4ZmViNjk2ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5l
Y3Rpb24uaApAQCAtMTMwLDEyICsxMzAsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgbmF2aWdhdGlv
blByZWxvYWRJc1JlYWR5KFdlYkNvcmU6OlNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpGZXRjaElkZW50aWZpZXIs
IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJik7CiAgICAgdm9pZCBuYXZpZ2F0aW9uUHJlbG9h
ZEZhaWxlZChXZWJDb3JlOjpTV1NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCBXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6RmV0Y2hJZGVudGlmaWVyLCBXZWJDb3Jl
OjpSZXNvdXJjZUVycm9yJiYpOwogCi0gICAgdm9pZCB1cGRhdGVSZWdpc3RyYXRpb25TdGF0ZShX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJEYXRhPiYpOwotICAgIHZvaWQgdXBkYXRlV29ya2VyU3RhdGUoV2ViQ29y
ZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJTdGF0ZSk7
Ci0gICAgdm9pZCBmaXJlVXBkYXRlRm91bmRFdmVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllcik7Ci0gICAgdm9pZCBzZXRSZWdpc3RyYXRpb25MYXN0VXBkYXRl
VGltZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgV2FsbFRp
bWUpOwotICAgIHZvaWQgc2V0UmVnaXN0cmF0aW9uVXBkYXRlVmlhQ2FjaGUoV2ViQ29yZTo6U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJV
cGRhdGVWaWFDYWNoZSk7Ci0KICAgICBSZWY8SVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb25U
b05ldHdvcmtQcm9jZXNzOwogICAgIFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIG1fcmVnaXN0
cmFibGVEb21haW47CiAgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllcj4gbV9zZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXI7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4IDFhMjNmMjc1
ZmFhNS4uMzk4MzM4ZmUyYzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
U3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVj
dGlvbi5tZXNzYWdlcy5pbgpAQCAtNTIsMTIgKzUyLDYgQEAgbWVzc2FnZXMgLT4gV2ViU1dDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb24gewogCiAgICAgTmF2aWdhdGlvblByZWxvYWRJc1JlYWR5KFdl
YkNvcmU6OlNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIgc2VydmVyQ29ubmVjdGlvbklkZW50
aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyLCBXZWJDb3JlOjpGZXRjaElkZW50aWZpZXIgaWRlbnRpZmllciwgV2ViQ29yZTo6UmVz
b3VyY2VSZXNwb25zZSByZXNwb25zZSkKICAgICBOYXZpZ2F0aW9uUHJlbG9hZEZhaWxlZChXZWJD
b3JlOjpTV1NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyIHNlcnZlckNvbm5lY3Rpb25JZGVudGlm
aWVyLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2VySWRlbnRp
ZmllciwgV2ViQ29yZTo6RmV0Y2hJZGVudGlmaWVyIGlkZW50aWZpZXIsIFdlYkNvcmU6OlJlc291
cmNlRXJyb3IgZXJyb3IpCi0KLSAgICBVcGRhdGVSZWdpc3RyYXRpb25TdGF0ZShXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyLCBlbnVtOnVpbnQ4
X3QgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlIHN0YXRlLCBzdGQ6Om9w
dGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJEYXRhPiBzZXJ2aWNlV29ya2VySWRlbnRpZmll
cikKLSAgICBVcGRhdGVXb3JrZXJTdGF0ZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmll
ciBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgZW51bTp1aW50OF90IFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJTdGF0ZSBzdGF0ZSkKLSAgICBGaXJlVXBkYXRlRm91bmRFdmVudChXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQotICAgIFNldFJlZ2lz
dHJhdGlvbkxhc3RVcGRhdGVUaW1lKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25J
ZGVudGlmaWVyIGlkZW50aWZpZXIsIFdhbGxUaW1lIGxhc3RVcGRhdGVUaW1lKQotICAgIFNldFJl
Z2lzdHJhdGlvblVwZGF0ZVZpYUNhY2hlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25JZGVudGlmaWVyIGlkZW50aWZpZXIsIGVudW06dWludDhfdCBXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyVXBkYXRlVmlhQ2FjaGUgdXBkYXRlVmlhQ2FjaGUpCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggMTkzMzI2OWQzNjYzLi41NThiYmMyYjkxMzcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtNjY2NCw2ICs2NjY0LDggQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvaW0KICMgd2Via2l0
Lm9yZy9iLzI2MDU0NgogWyBEZWJ1ZyBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRldGFpbHMtZWxlbWVudC90
b2dnbGVFdmVudC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAord2Via2l0Lm9yZy9iLzI2MDgyMyBo
dHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZWxmX3JlZ2lzdHJhdGlvbi5odG1sIFsgUGFzcyBG
YWlsdXJlIF0KKwogIyBJbml0aWFsIGNzcy9jb21wb3NpdGluZyB0ZXN0IGltcG9ydAogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY29tcG9zaXRpbmcvYmFja2dyb3VuZC1ibGVu
ZGluZy9iYWNrZ3JvdW5kLWJsZW5kLW1vZGUtcGx1cy1saWdodGVyLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2NvbXBvc2l0aW5n
L21peC1ibGVuZC1tb2RlL21peC1ibGVuZC1tb2RlLWJsZW5kZWQtZWxlbWVudC1vdmVyZmxvdy1o
aWRkZW4tYW5kLWJvcmRlci1yYWRpdXMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>