<?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>234797</bug_id>
          
          <creation_ts>2022-01-02 10:54:18 -0800</creation_ts>
          <short_desc>Add PushSubscriptionIdentifier</short_desc>
          <delta_ts>2022-01-22 21:22:08 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ben Nham">nham</reporter>
          <assigned_to name="Ben Nham">nham</assigned_to>
          <cc>annulen</cc>
    
    <cc>beidson</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1827523</commentid>
    <comment_count>0</comment_count>
    <who name="Ben Nham">nham</who>
    <bug_when>2022-01-02 10:54:18 -0800</bug_when>
    <thetext>Add PushSubscriptionIdentifier</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827525</commentid>
    <comment_count>1</comment_count>
      <attachid>448179</attachid>
    <who name="Ben Nham">nham</who>
    <bug_when>2022-01-02 11:10:39 -0800</bug_when>
    <thetext>Created attachment 448179
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1829346</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-09 10:55:44 -0800</bug_when>
    <thetext>&lt;rdar://problem/87313393&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831320</commentid>
    <comment_count>3</comment_count>
      <attachid>448179</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-16 12:16:35 -0800</bug_when>
    <thetext>Comment on attachment 448179
Patch

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

&gt; Source/WebCore/testing/Internals.cpp:6624
&gt; +    return PushSubscription::create(PushSubscriptionData { PushSubscriptionIdentifier(), WTFMove(myEndpoint), expirationTime, WTFMove(myServerVAPIDPublicKey), WTFMove(myClientECDHPublicKey), WTFMove(myAuth) });

Why is it OK to have no identifier here?

Can this just be { } instead of PushSubscriptionIdentifier()? Eventually the line of code gets so long it’s too hard to read, and so omitting the name could help.

&gt; Source/WebCore/testing/ServiceWorkerInternals.cpp:188
&gt; +    return PushSubscription::create(PushSubscriptionData { PushSubscriptionIdentifier(), WTFMove(myEndpoint), expirationTime, WTFMove(myServerVAPIDPublicKey), WTFMove(myClientECDHPublicKey), WTFMove(myAuth) });

Ditto.

&gt; Source/WebCore/workers/service/ServiceWorkerContainer.cpp:573
&gt; +void ServiceWorkerContainer::unsubscribeFromPushService(ServiceWorkerRegistrationIdentifier identifier, PushSubscriptionIdentifier pushSubscriptionIdentifier, DOMPromiseDeferred&lt;IDLBoolean&gt;&amp;&amp; promise)

I suggest just &quot;subscriptionIdentifier&quot; or &quot;pushIdentifier&quot; here to fight the readability problems we have if we get too wordy.

&gt; Source/WebCore/workers/service/ServiceWorkerRegistration.cpp:176
&gt; +void ServiceWorkerRegistration::unsubscribeFromPushService(PushSubscriptionIdentifier pushSubscriptionIdentifier, DOMPromiseDeferred&lt;IDLBoolean&gt;&amp;&amp; promise)

Ditto.

&gt; Source/WebCore/workers/service/WorkerSWClientConnection.cpp:248
&gt; +void WorkerSWClientConnection::unsubscribeFromPushService(ServiceWorkerRegistrationIdentifier registrationIdentifier, PushSubscriptionIdentifier pushSubscriptionIdentifier, UnsubscribeFromPushServiceCallback&amp;&amp; callback)

Ditto.

&gt; Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:458
&gt; +void WebSWServerConnection::unsubscribeFromPushService(WebCore::ServiceWorkerRegistrationIdentifier registrationIdentifier, WebCore::PushSubscriptionIdentifier pushSubscriptionIdentifier, CompletionHandler&lt;void(Expected&lt;bool, ExceptionData&gt;&amp;&amp;)&gt;&amp;&amp; completionHandler)

I suggest omitting the argument names here instead of having argument names and then citing them in UNUSED_PARAM below.

    void WebSWServerConnection::unsubscribeFromPushService(WebCore::ServiceWorkerRegistrationIdentifier, WebCore::PushSubscriptionIdentifier, CompletionHandler&lt;void(Expected&lt;bool, ExceptionData&gt;&amp;&amp;)&gt;&amp;&amp; completionHandler)

&gt; Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp:241
&gt; +void WebSWClientConnection::unsubscribeFromPushService(WebCore::ServiceWorkerRegistrationIdentifier registrationIdentifier, WebCore::PushSubscriptionIdentifier pushSubscriptionIdentifier, UnsubscribeFromPushServiceCallback&amp;&amp; callback)

I suggest just &quot;subscriptionIdentifier&quot; or &quot;pushIdentifier&quot; here to fight the readability problems we have if we get too wordy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833051</commentid>
    <comment_count>4</comment_count>
    <who name="Ben Nham">nham</who>
    <bug_when>2022-01-22 15:52:52 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 448179 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=448179&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/testing/Internals.cpp:6624
&gt; &gt; +    return PushSubscription::create(PushSubscriptionData { PushSubscriptionIdentifier(), WTFMove(myEndpoint), expirationTime, WTFMove(myServerVAPIDPublicKey), WTFMove(myClientECDHPublicKey), WTFMove(myAuth) });
&gt; 
&gt; Why is it OK to have no identifier here?

The default identifier of 0 means that the subscription is not persisted in the push subscription database (e.g. because unsubscribe() has been called on it). These internal testing methods are used to create these subscriptions in the unsubscribed and unpersisted state for layout tests.

&gt; Can this just be { } instead of PushSubscriptionIdentifier()? Eventually the
&gt; line of code gets so long it’s too hard to read, and so omitting the name
&gt; could help.

I&apos;ll fix this as well as the naming issues you brought up in the patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833064</commentid>
    <comment_count>5</comment_count>
      <attachid>449742</attachid>
    <who name="Ben Nham">nham</who>
    <bug_when>2022-01-22 17:07:43 -0800</bug_when>
    <thetext>Created attachment 449742
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833065</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-22 17:08:43 -0800</bug_when>
    <thetext>ChangeLog entry in Source/WebCore/ChangeLog contains OOPS!.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833069</commentid>
    <comment_count>7</comment_count>
      <attachid>449743</attachid>
    <who name="Ben Nham">nham</who>
    <bug_when>2022-01-22 20:30:22 -0800</bug_when>
    <thetext>Created attachment 449743
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833072</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-22 21:22:05 -0800</bug_when>
    <thetext>Committed r288416 (246307@main): &lt;https://commits.webkit.org/246307@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449743.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448179</attachid>
            <date>2022-01-02 11:10:39 -0800</date>
            <delta_ts>2022-01-22 17:07:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234797-20220102111039.patch</filename>
            <type>text/plain</type>
            <size>33808</size>
            <attacher name="Ben Nham">nham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NDgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGRlNDRmMDY1YzZmMjdh
ZjY4YTRhMjRjMzVlYmJlZGIwMDI5ZjllZC4uNjBiNmFhOWMzMzZlYzdlMTdlNzQ4MjdiNjA2ZDdi
MzA4ZmQwMjM5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDIyLTAxLTAyICBCZW4g
TmhhbSAgPG5oYW1AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBQdXNoU3Vic2NyaXB0aW9uSWRl
bnRpZmllcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM0Nzk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBhZGRzIGEgUHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIgdG8gZWFjaCBQdXNoU3Vic2Ny
aXB0aW9uLiBJbXBsZW1lbnRhdGlvbi13aXNlLCBpdAorICAgICAgICB3aWxsIGJlIHRoZSByb3dp
ZCBpZiB0aGUgc3Vic2NyaXB0aW9uIGluIHRoZSBzdWJzY3JpcHRpb24gZGF0YWJhc2UuIFdlIG5l
ZWQgdGhpcyBzbyB0aGF0CisgICAgICAgIFB1c2hTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUgb25s
eSB1bnN1YnNjcmliZXMgZnJvbSB0aGUgZ2l2ZW4gc3Vic2NyaXB0aW9uLiBDdXJyZW50bHkgaXQK
KyAgICAgICAgdW5zdWJzY3JpYmVzIGZyb20gYW55IGFjdGl2ZSBzdWJzY3JpcHRpb24gYXNzb2Np
YXRlZCB3aXRoIHRoZSBzdWJzY3JpcHRpb24ncyBzZXJ2aWNlIHdvcmtlcgorICAgICAgICBzY29w
ZS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIEkgcGxhbiBvbiBhZGRpbmcgYSB0ZXN0IGZvciB0
aGlzIGNhc2UgaW4gYW4gQVBJIHRlc3Qgd2hpY2ggd2lsbCB3b3JrIHdpdGggcmVhbAorICAgICAg
ICBQdXNoU3Vic2NyaXB0aW9uIG9iamVjdHMgd2hlbiBJIHN1Ym1pdCB0aGUgcGF0Y2ggdGhhdCBp
bXBsZW1lbnRzIHRoZSBzdWJzY3JpcHRpb24gYnVzaW5lc3MKKyAgICAgICAgbG9naWMgaW4gd2Vi
cHVzaGQuIFRoZSBjdXJyZW50IGxheW91dCB0ZXN0cyBvbmx5IHdvcmsgd2l0aCBmYWtlIFB1c2hT
dWJzY3JpcHRpb24gb2JqZWN0cworICAgICAgICB0aGF0IGFyZW4ndCBjb25uZWN0ZWQgdG8gd2Vi
cHVzaGQuCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAgICAqIE1vZHVsZXMvcHVz
aC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQdXNoU3Vic2Ny
aXB0aW9uOjp1bnN1YnNjcmliZSk6CisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vi
c2NyaXB0aW9uRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQdXNoU3Vic2NyaXB0aW9uRGF0
YTo6aXNvbGF0ZWRDb3B5IGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3B1c2gtYXBpL1B1c2hT
dWJzY3JpcHRpb25EYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpQdXNoU3Vic2NyaXB0aW9uRGF0
YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlB1c2hTdWJzY3JpcHRpb25EYXRh
OjpkZWNvZGUpOgorICAgICAgICB3ZWJwdXNoZCBvbmx5IHN1cHBvcnRzIG1vZGVybiBkZWNvZGlu
ZyBhbmQgd2UgbmVlZCB0byBzZW5kIHRoaXMgb2JqZWN0IHRvIGl0LCBzbyB1c2UgbW9kZXJuIGRl
Y29kaW5nLgorCisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uSWRl
bnRpZmllci5oOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbHM6OmNyZWF0ZVB1c2hTdWJzY3JpcHRpb24pOgorICAgICAgICAqIHRlc3RpbmcvU2Vydmlj
ZVdvcmtlckludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySW50
ZXJuYWxzOjpjcmVhdGVQdXNoU3Vic2NyaXB0aW9uKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvU1dDbGllbnRDb25uZWN0aW9uLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNv
bnRhaW5lcjo6dW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2UpOgorICAgICAgICAqIHdvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2UpOgorICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmg6CisgICAg
ICAgICogd29ya2Vycy9zZXJ2aWNlL1dvcmtlclNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXb3JrZXJTV0NsaWVudENvbm5lY3Rpb246OnVuc3Vic2NyaWJlRnJvbVB1
c2hTZXJ2aWNlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvV29ya2VyU1dDbGllbnRDb25u
ZWN0aW9uLmg6CisKIDIwMjEtMTItMjkgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjg3NDc4LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCBjZTI3ZTE0YzY5ZmQyNDRhZTdiMjQ0NWUzZTQ5ODdjNmY3MWJiMjgzLi42ZWU1MmIyMjY4
N2M5YWE1OWU0N2VlZjRiMzlkZjJkMGIzYWU1MTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBA
CisyMDIyLTAxLTAyICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBQ
dXNoU3Vic2NyaXB0aW9uSWRlbnRpZmllcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM0Nzk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUGFzcyB0aGUgc3Vic2NyaXB0aW9uIGlkZW50aWZpZXIgaW4gdGhl
IFB1c2hTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUgY2FsbCB0byBndWFyYW50ZWUgdGhhdAorICAg
ICAgICB3ZSBvbmx5IHVuc3Vic2NyaWJlIGZyb20gdGhlIGdpdmVuIHN1YnNjcmlwdGlvbi4KKwor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjp1bnN1YnNj
cmliZUZyb21QdXNoU2VydmljZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2VydmljZVdv
cmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9T
ZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weToKKyAgICAgICAgKHR5cGVzX3RoYXRfY2Fubm90
X2JlX2ZvcndhcmRfZGVjbGFyZWQpOgorICAgICAgICAoaGVhZGVyc19mb3JfdHlwZSk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNXQ2xpZW50Q29ubmVjdGlvbjo6dW5zdWJzY3JpYmVGcm9tUHVzaFNl
cnZpY2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rp
b24uaDoKKwogMjAyMS0xMi0yNiAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAg
ICAgICAgUmVwbGFjZSBXZWJLaXQvQ29jb2FDb2xvci5oIHdpdGggV2ViQ29yZS9Db2xvckNvY29h
LmgsIG5vdCBjb25mdXNpbmcgYXQgYWxsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFk
ZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCBmOGI4OWYwZWVm
ZmZkOWUwMzA3YjY0OTk1NzRkZjI0MTUxZWNjZTlkLi4xY2EzNzE2ZTY0ZGUzMWY0MWI1N2U3YzJi
M2NmOTdiYTFjZDQ4NDgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTI5Niw2ICsyOTYsNyBAQCBz
ZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgTW9kdWxlcy9wdXNoLWFw
aS9QdXNoTWVzc2FnZUNyeXB0by5oCiAgICAgTW9kdWxlcy9wdXNoLWFwaS9QdXNoUGVybWlzc2lv
blN0YXRlLmgKICAgICBNb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25EYXRhLmgKKyAg
ICBNb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25JZGVudGlmaWVyLmgKIAogICAgIE1v
ZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uQ2FwdHVyZVNvdXJjZS5oCiAgICAgTW9kdWxl
cy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25DYXB0dXJlU291cmNlSW1wbC5oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmNwcAppbmRl
eCA1MjJkYTg1Zjg1YzJkNzA0ZTY0M2ZlNzBjMjAxMjM1ODMyOGY0MmEwLi5lMWFmNjFmMTBiZDRm
ZGVjOWM0NWNiYTVmMWEwOGE3OTljNjcxZGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5jcHAKQEAgLTEwNiwxMyArMTA2LDEz
IEBAIEV4Y2VwdGlvbk9yPFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyPj4gUHVzaFN1YnNjcmlwdGlv
bjo6Z2V0S2V5KFB1c2hFbmNyeXB0aW9uS2V5CiAKIHZvaWQgUHVzaFN1YnNjcmlwdGlvbjo6dW5z
dWJzY3JpYmUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwg
RE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKIHsKLSAgICBzY3JpcHRF
eGVjdXRpb25Db250ZXh0LmV2ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpOZXR3b3Jr
aW5nLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH0sIHByb21pc2UgPSBXVEZN
b3ZlKHByb21pc2UpXSgpIG11dGFibGUgeworICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuZXZl
bnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6Ok5ldHdvcmtpbmcsIFt0aGlzLCBwcm90ZWN0
ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwgcHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIgPSBtX2Rh
dGEuaWRlbnRpZmllciwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CiAg
ICAgICAgIGlmICghbV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKSB7CiAgICAgICAgICAgICBw
cm9taXNlLnJlc29sdmUoZmFsc2UpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAK
LSAgICAgICAgbV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLT51bnN1YnNjcmliZUZyb21QdXNo
U2VydmljZShXVEZNb3ZlKHByb21pc2UpKTsKKyAgICAgICAgbV9zZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uLT51bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShwdXNoU3Vic2NyaXB0aW9uSWRlbnRp
ZmllciwgV1RGTW92ZShwcm9taXNlKSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkRhdGEuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uRGF0YS5jcHAKaW5k
ZXggNjFhM2ZlY2E1MzYyMTNiNGU1M2M0ZTBlZDJhYTdiYThjNjRlYzE5MS4uMjNkYjMyNzBhYjc4
N2U1MzIwNTY0YWVkY2RiZWQwMWM1NzkyNDQxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uRGF0YS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uRGF0YS5jcHAKQEAgLTMzLDYg
KzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogUHVzaFN1YnNjcmlwdGlvbkRhdGEgUHVzaFN1
YnNjcmlwdGlvbkRhdGE6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiB7CiAgICAgUHVzaFN1YnNjcmlw
dGlvbkRhdGEgcmVzdWx0OworICAgIHJlc3VsdC5pZGVudGlmaWVyID0gaWRlbnRpZmllcjsKICAg
ICByZXN1bHQuZW5kcG9pbnQgPSBlbmRwb2ludC5pc29sYXRlZENvcHkoKTsKICAgICByZXN1bHQu
ZXhwaXJhdGlvblRpbWUgPSBleHBpcmF0aW9uVGltZTsKICAgICByZXN1bHQuc2VydmVyVkFQSURQ
dWJsaWNLZXkgPSBzZXJ2ZXJWQVBJRFB1YmxpY0tleTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkRhdGEuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkRhdGEuaAppbmRleCBlMjI3ZjYw
NDYxMGI1Yzk5NjAyZmZlMzFjNjNlOWFlZjAwMzU4ODE5Li42MzVmOWZjODFlOWM2OWU3NjVlYWJk
MGUxYWUyMTFhZTNiZGE1YWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1
c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uRGF0YS5oCkBAIC0yOCwxMiArMjgsMTQgQEAKICNp
ZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAKICNpbmNsdWRlICJFcG9jaFRpbWVTdGFtcC5oIgor
I2luY2x1ZGUgIlB1c2hTdWJzY3JpcHRpb25JZGVudGlmaWVyLmgiCiAKICNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgUHVzaFN1
YnNjcmlwdGlvbkRhdGEgeworICAgIFB1c2hTdWJzY3JpcHRpb25JZGVudGlmaWVyIGlkZW50aWZp
ZXI7CiAgICAgU3RyaW5nIGVuZHBvaW50OwogICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RXBv
Y2hUaW1lU3RhbXA+IGV4cGlyYXRpb25UaW1lOwogICAgIFZlY3Rvcjx1aW50OF90PiBzZXJ2ZXJW
QVBJRFB1YmxpY0tleTsKQEAgLTQ5LDYgKzUxLDcgQEAgc3RydWN0IFB1c2hTdWJzY3JpcHRpb25E
YXRhIHsKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2b2lkIFB1c2hTdWJzY3JpcHRpb25EYXRh
OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKKyAgICBlbmNvZGVyIDw8IGlkZW50
aWZpZXI7CiAgICAgZW5jb2RlciA8PCBlbmRwb2ludDsKICAgICBlbmNvZGVyIDw8IGV4cGlyYXRp
b25UaW1lOwogICAgIGVuY29kZXIgPDwgc2VydmVyVkFQSURQdWJsaWNLZXk7CkBAIC01OSwxOCAr
NjIsMzcgQEAgdm9pZCBQdXNoU3Vic2NyaXB0aW9uRGF0YTo6ZW5jb2RlKEVuY29kZXImIGVuY29k
ZXIpIGNvbnN0CiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgogc3RkOjpvcHRpb25hbDxQdXNoU3Vi
c2NyaXB0aW9uRGF0YT4gUHVzaFN1YnNjcmlwdGlvbkRhdGE6OmRlY29kZShEZWNvZGVyJiBkZWNv
ZGVyKQogewotICAgIFB1c2hTdWJzY3JpcHRpb25EYXRhIHJlc3VsdDsKLSAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKHJlc3VsdC5lbmRwb2ludCkpCisgICAgc3RkOjpvcHRpb25hbDxQdXNoU3Vic2Ny
aXB0aW9uSWRlbnRpZmllcj4gaWRlbnRpZmllcjsKKyAgICBkZWNvZGVyID4+IGlkZW50aWZpZXI7
CisgICAgaWYgKCFpZGVudGlmaWVyKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAg
IGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmV4cGlyYXRpb25UaW1lKSkKKworICAgIHN0ZDo6
b3B0aW9uYWw8U3RyaW5nPiBlbmRwb2ludDsKKyAgICBkZWNvZGVyID4+IGVuZHBvaW50OworICAg
IGlmICghZW5kcG9pbnQpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShyZXN1bHQuc2VydmVyVkFQSURQdWJsaWNLZXkpKQorCisgICAgc3RkOjpv
cHRpb25hbDxzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkVwb2NoVGltZVN0YW1wPj4gZXhwaXJhdGlv
blRpbWU7CisgICAgZGVjb2RlciA+PiBleHBpcmF0aW9uVGltZTsKKyAgICBpZiAoIWV4cGlyYXRp
b25UaW1lKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUocmVzdWx0LmNsaWVudEVDREhQdWJsaWNLZXkpKQorCisgICAgc3RkOjpvcHRpb25hbDxW
ZWN0b3I8dWludDhfdD4+IHNlcnZlclZBUElEUHVibGljS2V5OworICAgIGRlY29kZXIgPj4gc2Vy
dmVyVkFQSURQdWJsaWNLZXk7CisgICAgaWYgKCFzZXJ2ZXJWQVBJRFB1YmxpY0tleSkKICAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5z
aGFyZWRBdXRoZW50aWNhdGlvblNlY3JldCkpCisKKyAgICBzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1
aW50OF90Pj4gY2xpZW50RUNESFB1YmxpY0tleTsKKyAgICBkZWNvZGVyID4+IGNsaWVudEVDREhQ
dWJsaWNLZXk7CisgICAgaWYgKCFjbGllbnRFQ0RIUHVibGljS2V5KQogICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OwotICAgIHJldHVybiByZXN1bHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPFZl
Y3Rvcjx1aW50OF90Pj4gc2hhcmVkQXV0aGVudGljYXRpb25TZWNyZXQ7CisgICAgZGVjb2RlciA+
PiBzaGFyZWRBdXRoZW50aWNhdGlvblNlY3JldDsKKyAgICBpZiAoIXNoYXJlZEF1dGhlbnRpY2F0
aW9uU2VjcmV0KQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0dXJuIFB1
c2hTdWJzY3JpcHRpb25EYXRhIHsgV1RGTW92ZSgqaWRlbnRpZmllciksIFdURk1vdmUoKmVuZHBv
aW50KSwgV1RGTW92ZSgqZXhwaXJhdGlvblRpbWUpLCBXVEZNb3ZlKCpzZXJ2ZXJWQVBJRFB1Ymxp
Y0tleSksIFdURk1vdmUoKmNsaWVudEVDREhQdWJsaWNLZXkpLCBXVEZNb3ZlKCpzaGFyZWRBdXRo
ZW50aWNhdGlvblNlY3JldCkgfTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uSWRl
bnRpZmllci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0
aW9uSWRlbnRpZmllci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwMDM0YjZmNjdmYjFjNDhiMjcyYjcxMjdjZDUw
ZmJkMWIyMmJhYTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1
c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25JZGVudGlmaWVyLmgKQEAgLTAsMCArMSwzNSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL09iamVjdElkZW50aWZpZXIu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIFB1c2hTdWJzY3JpcHRpb25JZGVudGlm
aWVyVHlwZSB7IH07Cit1c2luZyBQdXNoU3Vic2NyaXB0aW9uSWRlbnRpZmllciA9IE9iamVjdElk
ZW50aWZpZXI8UHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXJUeXBlPjsKKworfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGI2NjJi
MDg3ZTcyZWRlNmVjN2M5MzVkZmE0N2YwN2UwZGM0ZDA3NmYuLjRjNzdlYWZhZTNhN2YxMGQ2MGE0
YzYyNTBjM2QyNmU3YzE1OTlkZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU0NTUsNiArNTQ1NSw3IEBACiAJCUVCQjk3Mzgx
MjcxMDA2NzEwMDc3MzJFRiAvKiBQdXNoTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRUJCOTczODAyNzEwMDY1NDAwNzczMkVGIC8qIFB1c2hN
YW5hZ2VyLmggKi87IH07CiAJCUVCQjk3MzgyMjcxMDA2NzYwMDc3MzJFRiAvKiBQdXNoUGVybWlz
c2lvblN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFQkI5NzM3ODI3MTAwNjUxMDA3NzMyRUYgLyogUHVzaFBlcm1pc3Npb25TdGF0ZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUVCQjk3MzgzMjcx
MDA2ODQwMDc3MzJFRiAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uUHVzaEFQSS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRUJCOTczN0EyNzEwMDY1
MjAwNzczMkVGIC8qIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25QdXNoQVBJLmggKi87IH07CisJ
CUVCRTA5NUU1Mjc3RDE0REEwMDgwNEQ2MSAvKiBQdXNoU3Vic2NyaXB0aW9uSWRlbnRpZmllci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRUJFMDk1RTMy
NzdEMTRDNzAwODA0RDYxIC8qIFB1c2hTdWJzY3JpcHRpb25JZGVudGlmaWVyLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRUJFNUIyMjYyNDVBMjZF
RjAwM0E1QTg4IC8qIFNRTGl0ZVN0YXRlbWVudEF1dG9SZXNldFNjb3BlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFQkU1QjIyNDI0NUEyNkVFMDAzQTVB
ODggLyogU1FMaXRlU3RhdGVtZW50QXV0b1Jlc2V0U2NvcGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFQkY1MTIxQzE2OTY0OTZDMDA1NkJEMjUg
LyogSlNUeXBlQ29udmVyc2lvbnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRUJGNTEyMUExNjk2NDk2QzAwNTZCRDI1IC8qIEpTVHlwZUNvbnZlcnNp
b25zLmNwcCAqLzsgfTsKIAkJRUJGNTEyMUQxNjk2NDk2QzAwNTZCRDI1IC8qIEpTVHlwZUNvbnZl
cnNpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
QkY1MTIxQjE2OTY0OTZDMDA1NkJEMjUgLyogSlNUeXBlQ29udmVyc2lvbnMuaCAqLzsgfTsKQEAg
LTE3NjM4LDYgKzE3NjM5LDcgQEAKIAkJRUJCOTczN0UyNzEwMDY1MzAwNzczMkVGIC8qIFB1c2hN
YW5hZ2VyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBQdXNoTWFuYWdlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUVCQjk3MzdGMjcxMDA2NTMwMDc3MzJFRiAvKiBQdXNoUGVybWlzc2lvblN0YXRlLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBQdXNoUGVybWlzc2lvblN0YXRlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRUJCOTczODAyNzEwMDY1NDAwNzczMkVGIC8qIFB1c2hNYW5hZ2VyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFB1c2hNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUVCRTA5
NUUzMjc3RDE0QzcwMDgwNEQ2MSAvKiBQdXNoU3Vic2NyaXB0aW9uSWRlbnRpZmllci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQdXNoU3Vic2NyaXB0aW9uSWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlFQkU1QjIyNDI0NUEyNkVFMDAzQTVBODggLyogU1FMaXRlU3RhdGVtZW50
QXV0b1Jlc2V0U2NvcGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1FMaXRl
U3RhdGVtZW50QXV0b1Jlc2V0U2NvcGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RUJFNUIyMjcyNDVBMjlDRjAwM0E1QTg4IC8qIFNRTGl0ZVN0YXRlbWVudEF1dG9SZXNldFNjb3Bl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNRTGl0ZVN0YXRlbWVu
dEF1dG9SZXNldFNjb3BlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRUJGNTEy
MUExNjk2NDk2QzAwNTZCRDI1IC8qIEpTVHlwZUNvbnZlcnNpb25zLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTVHlwZUNvbnZlcnNpb25zLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIxMTMwLDYgKzIxMTMyLDcgQEAKIAkJCQlFQjNDMjlCMjI3
MjlDMzZFMDBGQjY1QjQgLyogUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5pdC5pZGwgKi8s
CiAJCQkJRUIyOEVENDMyNzE3QUJBOTAwNUYwMzkzIC8qIFB1c2hTdWJzY3JpcHRpb25EYXRhLmNw
cCAqLywKIAkJCQlFQjI4RUQ0MTI3MTdBQkE5MDA1RjAzOTMgLyogUHVzaFN1YnNjcmlwdGlvbkRh
dGEuaCAqLywKKwkJCQlFQkUwOTVFMzI3N0QxNEM3MDA4MDRENjEgLyogUHVzaFN1YnNjcmlwdGlv
bklkZW50aWZpZXIuaCAqLywKIAkJCQlFQjBGQjcwMzI3MEQwQUVCMDBGNzgxMEQgLyogUHVzaFN1
YnNjcmlwdGlvbkpTT04uaCAqLywKIAkJCQlFQjBGQjcwMjI3MEQwQUVBMDBGNzgxMEQgLyogUHVz
aFN1YnNjcmlwdGlvbkpTT04uaWRsICovLAogCQkJCUVCMEZCNkZCMjcwRDBBRTYwMEY3ODEwRCAv
KiBQdXNoU3Vic2NyaXB0aW9uT3B0aW9ucy5jcHAgKi8sCkBAIC0zNjUzOSw2ICszNjU0Miw3IEBA
CiAJCQkJRUIzQzI5QjYyNzI5QzM4ODAwRkI2NUI0IC8qIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VF
dmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRUIzQzI5QjcyNzI5QzM4QzAwRkI2NUI0IC8qIFB1
c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUVCMjhF
RDQ0MjcxN0FDMTEwMDVGMDM5MyAvKiBQdXNoU3Vic2NyaXB0aW9uRGF0YS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJRUJFMDk1RTUyNzdEMTREQTAwODA0RDYxIC8qIFB1c2hTdWJzY3JpcHRpb25JZGVu
dGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlFQjBGQjcwQTI3MEQwQjFCMDBGNzgxMEQgLyog
UHVzaFN1YnNjcmlwdGlvbkpTT04uaCBpbiBIZWFkZXJzICovLAogCQkJCUVCMEZCNzBDMjcwRDBC
MjkwMEY3ODEwRCAvKiBQdXNoU3Vic2NyaXB0aW9uT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRUIwRkI3MEQyNzBEMEIyRTAwRjc4MTBEIC8qIFB1c2hTdWJzY3JpcHRpb25PcHRpb25zSW5p
dC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXgg
M2MyNzRjNTA2MjMwOGVlY2UxNWQ3ZmFmN2RlMTU3MjI1OGNkNGE0ZC4uMWNkMGIyYzM5ZWYxMGFi
ZjAxN2RjZDIxMTY0ZjU4M2MxYmQ0MjRiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcApAQCAtNjYyMSw3ICs2NjIxLDcgQEAgUmVmUHRyPFB1c2hTdWJzY3JpcHRpb24+IEludGVy
bmFsczo6Y3JlYXRlUHVzaFN1YnNjcmlwdGlvbihjb25zdCBTdHJpbmcmIGVuZHBvaW4KICAgICBW
ZWN0b3I8dWludDhfdD4gbXlDbGllbnRFQ0RIUHVibGljS2V5IHsgc3RhdGljX2Nhc3Q8Y29uc3Qg
dWludDhfdCo+KGNsaWVudEVDREhQdWJsaWNLZXkuZGF0YSgpKSwgY2xpZW50RUNESFB1YmxpY0tl
eS5ieXRlTGVuZ3RoKCkgfTsKICAgICBWZWN0b3I8dWludDhfdD4gbXlBdXRoIHsgc3RhdGljX2Nh
c3Q8Y29uc3QgdWludDhfdCo+KGF1dGguZGF0YSgpKSwgYXV0aC5ieXRlTGVuZ3RoKCkgfTsKIAot
ICAgIHJldHVybiBQdXNoU3Vic2NyaXB0aW9uOjpjcmVhdGUoUHVzaFN1YnNjcmlwdGlvbkRhdGEg
eyBXVEZNb3ZlKG15RW5kcG9pbnQpLCBleHBpcmF0aW9uVGltZSwgV1RGTW92ZShteVNlcnZlclZB
UElEUHVibGljS2V5KSwgV1RGTW92ZShteUNsaWVudEVDREhQdWJsaWNLZXkpLCBXVEZNb3ZlKG15
QXV0aCkgfSk7CisgICAgcmV0dXJuIFB1c2hTdWJzY3JpcHRpb246OmNyZWF0ZShQdXNoU3Vic2Ny
aXB0aW9uRGF0YSB7IFB1c2hTdWJzY3JpcHRpb25JZGVudGlmaWVyKCksIFdURk1vdmUobXlFbmRw
b2ludCksIGV4cGlyYXRpb25UaW1lLCBXVEZNb3ZlKG15U2VydmVyVkFQSURQdWJsaWNLZXkpLCBX
VEZNb3ZlKG15Q2xpZW50RUNESFB1YmxpY0tleSksIFdURk1vdmUobXlBdXRoKSB9KTsKIH0KICNl
bmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJ
bnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJu
YWxzLmNwcAppbmRleCA5YzQ4YjY5ODBiYzUwZjgwMGMxNDg5Y2U0MTRkZTYwZDZiN2E0Zjg4Li40
Njc0OTU5N2U2MzhlNmY0NTI4MmVjZGY0YzUyZTgyM2Y5ZmVjOGY0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5jcHAKQEAgLTE4NSw3ICsx
ODUsNyBAQCBSZWZQdHI8UHVzaFN1YnNjcmlwdGlvbj4gU2VydmljZVdvcmtlckludGVybmFsczo6
Y3JlYXRlUHVzaFN1YnNjcmlwdGlvbihjb25zdCBTdAogICAgIFZlY3Rvcjx1aW50OF90PiBteUNs
aWVudEVDREhQdWJsaWNLZXkgeyBzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4oY2xpZW50RUNE
SFB1YmxpY0tleS5kYXRhKCkpLCBjbGllbnRFQ0RIUHVibGljS2V5LmJ5dGVMZW5ndGgoKSB9Owog
ICAgIFZlY3Rvcjx1aW50OF90PiBteUF1dGggeyBzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4o
YXV0aC5kYXRhKCkpLCBhdXRoLmJ5dGVMZW5ndGgoKSB9OwogCi0gICAgcmV0dXJuIFB1c2hTdWJz
Y3JpcHRpb246OmNyZWF0ZShQdXNoU3Vic2NyaXB0aW9uRGF0YSB7IFdURk1vdmUobXlFbmRwb2lu
dCksIGV4cGlyYXRpb25UaW1lLCBXVEZNb3ZlKG15U2VydmVyVkFQSURQdWJsaWNLZXkpLCBXVEZN
b3ZlKG15Q2xpZW50RUNESFB1YmxpY0tleSksIFdURk1vdmUobXlBdXRoKSB9KTsKKyAgICByZXR1
cm4gUHVzaFN1YnNjcmlwdGlvbjo6Y3JlYXRlKFB1c2hTdWJzY3JpcHRpb25EYXRhIHsgUHVzaFN1
YnNjcmlwdGlvbklkZW50aWZpZXIoKSwgV1RGTW92ZShteUVuZHBvaW50KSwgZXhwaXJhdGlvblRp
bWUsIFdURk1vdmUobXlTZXJ2ZXJWQVBJRFB1YmxpY0tleSksIFdURk1vdmUobXlDbGllbnRFQ0RI
UHVibGljS2V5KSwgV1RGTW92ZShteUF1dGgpIH0pOwogfQogCiBib29sIFNlcnZpY2VXb3JrZXJJ
bnRlcm5hbHM6OmZldGNoRXZlbnRJc1NhbWVTaXRlKEZldGNoRXZlbnQmIGV2ZW50KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5oCmlu
ZGV4IDI1YzVhNWNkODMwMzNiNjlmNjExMjI3NGQ2ZDBiNTkzZmU3MTdmM2YuLjlmNDU1ZmI1NWEx
Y2JlYjdjNDM0NzBlZDdjNmMzMTE2OWZlZTZlYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmgKQEAgLTkzLDcgKzkzLDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzdWJzY3JpYmVUb1B1c2hTZXJ2aWNlKFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBjb25zdCBWZWN0b3I8dWludDhfdD4mIGFwcGxp
Y2F0aW9uU2VydmVyS2V5LCBTdWJzY3JpYmVUb1B1c2hTZXJ2aWNlQ2FsbGJhY2smJikgPSAwOwog
ICAgIAogICAgIHVzaW5nIFVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlQ2FsbGJhY2sgPSBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKEV4Y2VwdGlvbk9yPGJvb2w+JiYpPjsKLSAgICB2aXJ0dWFsIHZv
aWQgdW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2UoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIsIFVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlQ2FsbGJhY2smJikgPSAwOworICAg
IHZpcnR1YWwgdm9pZCB1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllciwgUHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIsIFVuc3Vic2Ny
aWJlRnJvbVB1c2hTZXJ2aWNlQ2FsbGJhY2smJikgPSAwOwogICAgIAogICAgIHVzaW5nIEdldFB1
c2hTdWJzY3JpcHRpb25DYWxsYmFjayA9IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhjZXB0aW9u
T3I8c3RkOjpvcHRpb25hbDxQdXNoU3Vic2NyaXB0aW9uRGF0YT4+JiYpPjsKICAgICB2aXJ0dWFs
IHZvaWQgZ2V0UHVzaFN1YnNjcmlwdGlvbihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRp
ZmllciwgR2V0UHVzaFN1YnNjcmlwdGlvbkNhbGxiYWNrJiYpID0gMDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNw
cAppbmRleCAwOTlmZGVlNDZiMmRhMDdlMWRkZjhlMTgyOGNmNmFkMDIxMTJhZmQ1Li45OTI3ZDg3
N2E1ZTk5NzMwNGEyOWVlNDBkZGEyYzFiMThjZjc4YWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCkBA
IC01NzAsOSArNTcwLDkgQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpzdWJzY3JpYmVU
b1B1c2hTZXJ2aWNlKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24mIHIKICAgICB9KTsKIH0KIAot
dm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjp1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyLCBET01Qcm9taXNl
RGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQordm9pZCBTZXJ2aWNlV29ya2VyQ29udGFp
bmVyOjp1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllciBpZGVudGlmaWVyLCBQdXNoU3Vic2NyaXB0aW9uSWRlbnRpZmllciBwdXNoU3Vi
c2NyaXB0aW9uSWRlbnRpZmllciwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJv
bWlzZSkKIHsKLSAgICBlbnN1cmVTV0NsaWVudENvbm5lY3Rpb24oKS51bnN1YnNjcmliZUZyb21Q
dXNoU2VydmljZShpZGVudGlmaWVyLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKGF1dG8m
JiByZXN1bHQpIG11dGFibGUgeworICAgIGVuc3VyZVNXQ2xpZW50Q29ubmVjdGlvbigpLnVuc3Vi
c2NyaWJlRnJvbVB1c2hTZXJ2aWNlKGlkZW50aWZpZXIsIHB1c2hTdWJzY3JpcHRpb25JZGVudGlm
aWVyLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKGF1dG8mJiByZXN1bHQpIG11dGFibGUg
ewogICAgICAgICBwcm9taXNlLnNldHRsZShXVEZNb3ZlKHJlc3VsdCkpOwogICAgIH0pOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
b250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
Q29udGFpbmVyLmgKaW5kZXggZDlkNzQ1OGQ1ZDE4NmRkM2RkNWJjOGNlNmJhNDcyMWFjMWU2MTIw
OC4uNzkzYTJmOWE0NThlYjY0YmQ2Y2JiMjUyNTc4NTVlM2E0MjkxMzM5ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5l
ci5oCkBAIC04OCw3ICs4OCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZVJlZ2lzdHJhdGlv
bihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uJik7CiAKICAgICB2b2lkIHN1YnNjcmliZVRvUHVz
aFNlcnZpY2UoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiYsIGNvbnN0IFZlY3Rvcjx1aW50OF90
PiYgYXBwbGljYXRpb25TZXJ2ZXJLZXksIERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8
UHVzaFN1YnNjcmlwdGlvbj4+JiYpOwotICAgIHZvaWQgdW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZp
Y2UoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIERPTVByb21pc2VEZWZlcnJl
ZDxJRExCb29sZWFuPiYmKTsKKyAgICB2b2lkIHVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlKFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBQdXNoU3Vic2NyaXB0aW9uSWRlbnRp
ZmllciwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYpOwogICAgIHZvaWQgZ2V0UHVz
aFN1YnNjcmlwdGlvbihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uJiwgRE9NUHJvbWlzZURlZmVy
cmVkPElETE51bGxhYmxlPElETEludGVyZmFjZTxQdXNoU3Vic2NyaXB0aW9uPj4+JiYpOwogICAg
IHZvaWQgZ2V0UHVzaFBlcm1pc3Npb25TdGF0ZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRl
bnRpZmllciwgRE9NUHJvbWlzZURlZmVycmVkPElETEVudW1lcmF0aW9uPFB1c2hQZXJtaXNzaW9u
U3RhdGU+PiYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCmluZGV4IGM5ODgzOTE2ODMwZDc3
NDRmMTFhYWE1Njc5MjM2Yzc2MDBmNDZlMmYuLjdlOWFkMTRiMjQwOWQzN2FhNzRlMGIxMDQwY2Zl
NGMxNzM1MGI3M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAKQEAgLTE3MywxNCArMTczLDE0
IEBAIHZvaWQgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6c3Vic2NyaWJlVG9QdXNoU2Vydmlj
ZShjb25zdCBWZWN0b3I8dWludDhfdD4mIGFwCiAgICAgbV9jb250YWluZXItPnN1YnNjcmliZVRv
UHVzaFNlcnZpY2UoKnRoaXMsIGFwcGxpY2F0aW9uU2VydmVyS2V5LCBXVEZNb3ZlKHByb21pc2Up
KTsKIH0KIAotdm9pZCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1bnN1YnNjcmliZUZyb21Q
dXNoU2VydmljZShET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQordm9p
ZCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShQ
dXNoU3Vic2NyaXB0aW9uSWRlbnRpZmllciBwdXNoU3Vic2NyaXB0aW9uSWRlbnRpZmllciwgRE9N
UHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKIHsKICAgICBpZiAoaXNDb250
ZXh0U3RvcHBlZCgpKSB7CiAgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbihJbnZhbGlk
U3RhdGVFcnJvcikpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgbV9jb250YWluZXIt
PnVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlKGlkZW50aWZpZXIoKSwgV1RGTW92ZShwcm9taXNl
KSk7CisgICAgbV9jb250YWluZXItPnVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlKGlkZW50aWZp
ZXIoKSwgcHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIsIFdURk1vdmUocHJvbWlzZSkpOwogfQog
CiB2b2lkIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmdldFB1c2hTdWJzY3JpcHRpb24oRE9N
UHJvbWlzZURlZmVycmVkPElETE51bGxhYmxlPElETEludGVyZmFjZTxQdXNoU3Vic2NyaXB0aW9u
Pj4+JiYgcHJvbWlzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oCmluZGV4IDNiNmU2ZmY1ZTcwMmQ2N2Qx
M2QyYzhhNzI1NjhjN2EzNmMyNTc1OTkuLmEzYTRhZTQ0Y2RlZTViYWQ1NThlNTFjY2I1NjM2M2M5
MTQ0MzVjZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaApAQCAtNzUsNyArNzUsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCB1bnJlZ2lzdGVyKFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwogCiAgICAgdm9p
ZCBzdWJzY3JpYmVUb1B1c2hTZXJ2aWNlKGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgYXBwbGljYXRp
b25TZXJ2ZXJLZXksIERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8UHVzaFN1YnNjcmlw
dGlvbj4+JiYpOwotICAgIHZvaWQgdW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2UoRE9NUHJvbWlz
ZURlZmVycmVkPElETEJvb2xlYW4+JiYpOworICAgIHZvaWQgdW5zdWJzY3JpYmVGcm9tUHVzaFNl
cnZpY2UoUHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIsIERPTVByb21pc2VEZWZlcnJlZDxJRExC
b29sZWFuPiYmKTsKICAgICB2b2lkIGdldFB1c2hTdWJzY3JpcHRpb24oRE9NUHJvbWlzZURlZmVy
cmVkPElETE51bGxhYmxlPElETEludGVyZmFjZTxQdXNoU3Vic2NyaXB0aW9uPj4+JiYpOwogICAg
IHZvaWQgZ2V0UHVzaFBlcm1pc3Npb25TdGF0ZShET01Qcm9taXNlRGVmZXJyZWQ8SURMRW51bWVy
YXRpb248UHVzaFBlcm1pc3Npb25TdGF0ZT4+JiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvV29ya2VyU1dDbGllbnRDb25uZWN0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uY3BwCmlu
ZGV4IGUwY2E4NzM2MmIxNGJmN2MyYjY0ODEyNzFiZjdmOTEwMDM5MGQ5MjMuLjNiYmUyZTk2NDI3
NmU0MzY3ZmFlNTJmMjFkZWQzMWYwOWYyYzc3ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uY3BwCkBA
IC0yNDUsMTQgKzI0NSwxNCBAQCB2b2lkIFdvcmtlclNXQ2xpZW50Q29ubmVjdGlvbjo6c3Vic2Ny
aWJlVG9QdXNoU2VydmljZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSQogICAgIH0pOwogfQog
Ci12b2lkIFdvcmtlclNXQ2xpZW50Q29ubmVjdGlvbjo6dW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZp
Y2UoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgcmVnaXN0cmF0aW9uSWRlbnRp
ZmllciwgVW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2VDYWxsYmFjayYmIGNhbGxiYWNrKQordm9p
ZCBXb3JrZXJTV0NsaWVudENvbm5lY3Rpb246OnVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlKFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIs
IFB1c2hTdWJzY3JpcHRpb25JZGVudGlmaWVyIHB1c2hTdWJzY3JpcHRpb25JZGVudGlmaWVyLCBV
bnN1YnNjcmliZUZyb21QdXNoU2VydmljZUNhbGxiYWNrJiYgY2FsbGJhY2spCiB7CiAgICAgdWlu
dDY0X3QgcmVxdWVzdElkZW50aWZpZXIgPSArK21fbGFzdFJlcXVlc3RJZGVudGlmaWVyOwogICAg
IG1fdW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2VSZXF1ZXN0cy5hZGQocmVxdWVzdElkZW50aWZp
ZXIsIFdURk1vdmUoY2FsbGJhY2spKTsKICAgICAKLSAgICBjYWxsT25NYWluVGhyZWFkKFt0aHJl
YWQgPSBtX3RocmVhZCwgcmVxdWVzdElkZW50aWZpZXIsIHJlZ2lzdHJhdGlvbklkZW50aWZpZXJd
KCkgbXV0YWJsZSB7CisgICAgY2FsbE9uTWFpblRocmVhZChbdGhyZWFkID0gbV90aHJlYWQsIHJl
cXVlc3RJZGVudGlmaWVyLCByZWdpc3RyYXRpb25JZGVudGlmaWVyLCBwdXNoU3Vic2NyaXB0aW9u
SWRlbnRpZmllcl0oKSBtdXRhYmxlIHsKICAgICAgICAgYXV0byYgY29ubmVjdGlvbiA9IFNlcnZp
Y2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb24oKTsK
LSAgICAgICAgY29ubmVjdGlvbi51bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShyZWdpc3RyYXRp
b25JZGVudGlmaWVyLCBbdGhyZWFkID0gV1RGTW92ZSh0aHJlYWQpLCByZXF1ZXN0SWRlbnRpZmll
cl0oYXV0byYmIHJlc3VsdCkgeworICAgICAgICBjb25uZWN0aW9uLnVuc3Vic2NyaWJlRnJvbVB1
c2hTZXJ2aWNlKHJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIHB1c2hTdWJzY3JpcHRpb25JZGVudGlm
aWVyLCBbdGhyZWFkID0gV1RGTW92ZSh0aHJlYWQpLCByZXF1ZXN0SWRlbnRpZmllcl0oYXV0byYm
IHJlc3VsdCkgewogICAgICAgICAgICAgdGhyZWFkLT5ydW5Mb29wKCkucG9zdFRhc2tGb3JNb2Rl
KFtyZXF1ZXN0SWRlbnRpZmllciwgcmVzdWx0ID0gY3Jvc3NUaHJlYWRDb3B5KHJlc3VsdCldKGF1
dG8mIHNjb3BlKSBtdXRhYmxlIHsKICAgICAgICAgICAgICAgICBhdXRvIGNhbGxiYWNrID0gZG93
bmNhc3Q8V29ya2VyR2xvYmFsU2NvcGU+KHNjb3BlKS5zd0NsaWVudENvbm5lY3Rpb24oKS5tX3Vu
c3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlUmVxdWVzdHMudGFrZShyZXF1ZXN0SWRlbnRpZmllcik7
CiAgICAgICAgICAgICAgICAgY2FsbGJhY2soV1RGTW92ZShyZXN1bHQpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rp
b24uaAppbmRleCBkMDBkMTExNWM2ZmJlNjcwOGM1NTI4NGU0NmMyNzFlYTJmOGJiMzY1Li5mMjk0
NDE1MzIyZjNlZjcxNDZhMDBlOTk3ZGZkNTQ5YTI5ZTM4MTUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvV29ya2VyU1dDbGllbnRDb25uZWN0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1dvcmtlclNXQ2xpZW50Q29ubmVjdGlvbi5o
CkBAIC01OCw3ICs1OCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzY2hlZHVsZUpvYihTZXJ2aWNl
V29ya2VyT3JDbGllbnRJZGVudGlmaWVyLCBjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YSYpIGZp
bmFsOwogICAgIHZvaWQgc2NoZWR1bGVVbnJlZ2lzdGVySm9iSW5TZXJ2ZXIoU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJPckNsaWVudElkZW50aWZpZXIs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhjZXB0aW9uT3I8Ym9vbD4mJik+JiYpIGZpbmFsOwog
ICAgIHZvaWQgc3Vic2NyaWJlVG9QdXNoU2VydmljZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllciwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBhcHBsaWNhdGlvblNlcnZlcktleSwg
U3Vic2NyaWJlVG9QdXNoU2VydmljZUNhbGxiYWNrJiYpIGZpbmFsOwotICAgIHZvaWQgdW5zdWJz
Y3JpYmVGcm9tUHVzaFNlcnZpY2UoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIs
IFVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlQ2FsbGJhY2smJikgZmluYWw7CisgICAgdm9pZCB1
bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRp
ZmllciwgUHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIsIFVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2
aWNlQ2FsbGJhY2smJikgZmluYWw7CiAgICAgdm9pZCBnZXRQdXNoU3Vic2NyaXB0aW9uKFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBHZXRQdXNoU3Vic2NyaXB0aW9uQ2FsbGJh
Y2smJikgZmluYWw7CiAgICAgdm9pZCBnZXRQdXNoUGVybWlzc2lvblN0YXRlKFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBHZXRQdXNoUGVybWlzc2lvblN0YXRlQ2FsbGJhY2sm
JikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2Vy
dmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKaW5kZXgg
NDcyYTIzMTM5Zjc2OGIwOTEzYzZhYzE0NDE5ZjdkOGJkZjI0MmVhZS4uYmMxMjJlMWYxYjAyMmU3
Nzc4MWM2MDQyZjllY2FlNTZkNjhjYmQ5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5jcHAKQEAgLTQ1NSw5ICs0NTUsMTAgQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rp
b246OnN1YnNjcmliZVRvUHVzaFNlcnZpY2UoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHIK
ICAgICBjb21wbGV0aW9uSGFuZGxlcihtYWtlVW5leHBlY3RlZChFeGNlcHRpb25EYXRhIHsgTm90
QWxsb3dlZEVycm9yLCAiUHVzaCBwZXJtaXNzaW9uIHdhcyBkZW5pZWQiX3MgfSkpOwogfQogCi12
b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6dW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2UoV2Vi
Q29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgcmVnaXN0cmF0aW9uSWRl
bnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxib29sLCBFeGNlcHRpb25E
YXRhPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9u
Ojp1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSWRlbnRpZmllciByZWdpc3RyYXRpb25JZGVudGlmaWVyLCBXZWJDb3JlOjpQdXNoU3Vi
c2NyaXB0aW9uSWRlbnRpZmllciBwdXNoU3Vic2NyaXB0aW9uSWRlbnRpZmllciwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChFeHBlY3RlZDxib29sLCBFeGNlcHRpb25EYXRhPiYmKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKIHsKICAgICBVTlVTRURfUEFSQU0ocmVnaXN0cmF0aW9uSWRlbnRpZmllcik7
CisgICAgVU5VU0VEX1BBUkFNKHB1c2hTdWJzY3JpcHRpb25JZGVudGlmaWVyKTsKICAgICAKICAg
ICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmggYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25u
ZWN0aW9uLmgKaW5kZXggOTZhMmNiMGQxY2E5OTc5Y2ZkNDUxYTc3ZTU1ZWU3Y2I0NTEyZGVhZC4u
Y2I2NWFlMmUyNjE0YmE1NWZiZjIwYWUwODU1OWI0MWNjMThjNDYxMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVj
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9X
ZWJTV1NlcnZlckNvbm5lY3Rpb24uaApAQCAtMTIyLDcgKzEyMiw3IEBAIHByaXZhdGU6CiAgICAg
dm9pZCB1cGRhdGVUaHJvdHRsZVN0YXRlKCk7CiAKICAgICB2b2lkIHN1YnNjcmliZVRvUHVzaFNl
cnZpY2UoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFZlY3Rv
cjx1aW50OF90PiYmIGFwcGxpY2F0aW9uU2VydmVyS2V5LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KEV4cGVjdGVkPFdlYkNvcmU6OlB1c2hTdWJzY3JpcHRpb25EYXRhLCBXZWJDb3JlOjpFeGNlcHRp
b25EYXRhPiYmKT4mJik7Ci0gICAgdm9pZCB1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChFeHBlY3RlZDxib29sLCBXZWJDb3JlOjpFeGNlcHRpb25EYXRhPiYmKT4mJik7Cisg
ICAgdm9pZCB1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6UHVzaFN1YnNjcmlwdGlvbklkZW50aWZp
ZXIsICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPGJvb2wsIFdlYkNvcmU6OkV4Y2Vw
dGlvbkRhdGE+JiYpPiYmKTsKICAgICB2b2lkIGdldFB1c2hTdWJzY3JpcHRpb24oV2ViQ29yZTo6
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoRXhwZWN0ZWQ8c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQdXNoU3Vic2NyaXB0aW9uRGF0YT4s
IFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+JiYpPiYmKTsKICAgICB2b2lkIGdldFB1c2hQZXJtaXNz
aW9uU3RhdGUoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8dWludDhfdCwgV2ViQ29yZTo6RXhjZXB0aW9u
RGF0YT4mJik+JiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlv
bi5tZXNzYWdlcy5pbgppbmRleCBhZTJiMjdmNGVkNjU3ODhjNTg4ZTYxYjU5NzU4Y2U4Mjg3ZTJj
Y2NmLi45N2M0MGZjOWNkYzBhNmRkNmM4MzM1N2NhNTZlZWI5NDNmZGM4ZDM1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJD
b25uZWN0aW9uLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
U2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTQ4LDcg
KzQ4LDcgQEAgbWVzc2FnZXMgLT4gV2ViU1dTZXJ2ZXJDb25uZWN0aW9uIE5vdFJlZkNvdW50ZWQg
ewogICAgIFN0b3JlUmVnaXN0cmF0aW9uc09uRGlzaygpIC0+ICgpIEFzeW5jCiAKICAgICBTdWJz
Y3JpYmVUb1B1c2hTZXJ2aWNlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVu
dGlmaWVyIGlkZW50aWZpZXIsIFZlY3Rvcjx1aW50OF90PiBhcHBsaWNhdGlvblNlcnZlcktleSkg
LT4gKEV4cGVjdGVkPFdlYkNvcmU6OlB1c2hTdWJzY3JpcHRpb25EYXRhLCBXZWJDb3JlOjpFeGNl
cHRpb25EYXRhPiByZXN1bHQpIEFzeW5jCi0gICAgVW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2Uo
V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgaWRlbnRpZmllcikg
LT4gKEV4cGVjdGVkPGJvb2wsIFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+IHJlc3VsdCkgQXN5bmMK
KyAgICBVbnN1YnNjcmliZUZyb21QdXNoU2VydmljZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllciBzZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwg
V2ViQ29yZTo6UHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIgcHVzaFN1YnNjcmlwdGlvbklkZW50
aWZpZXIpIC0+IChFeHBlY3RlZDxib29sLCBXZWJDb3JlOjpFeGNlcHRpb25EYXRhPiByZXN1bHQp
IEFzeW5jCiAgICAgR2V0UHVzaFN1YnNjcmlwdGlvbihXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKSAtPiAoRXhwZWN0ZWQ8c3RkOjpvcHRpb25h
bDxXZWJDb3JlOjpQdXNoU3Vic2NyaXB0aW9uRGF0YT4sIFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+
IHJlc3VsdCkgQXN5bmMKICAgICBHZXRQdXNoUGVybWlzc2lvblN0YXRlKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIpIC0+IChFeHBlY3RlZDx1
aW50OF90LCBXZWJDb3JlOjpFeGNlcHRpb25EYXRhPiByZXN1bHQpIEFzeW5jIAogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5IGIvU291cmNlL1dl
YktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCA1YzNkMmVlMTI1YjhiY2I5OWVi
YWU0M2E1OGU4YWU0OGJmYTAxYjhkLi5mMjk0Zjg5MWI5NjhjODI2MzBlY2IxY2ZkOWRkMTg4OTAz
ZWZhOTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2Vz
LnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKQEAgLTI5
Nyw2ICsyOTcsNyBAQCBkZWYgdHlwZXNfdGhhdF9jYW5ub3RfYmVfZm9yd2FyZF9kZWNsYXJlZCgp
OgogICAgICAgICAnV2ViQ29yZTo6UGxheWJhY2tUYXJnZXRDbGllbnRDb250ZXh0SWRlbnRpZmll
cicsCiAgICAgICAgICdXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5JywKICAgICAgICAg
J1dlYkNvcmU6OlBvaW50ZXJJRCcsCisgICAgICAgICdXZWJDb3JlOjpQdXNoU3Vic2NyaXB0aW9u
SWRlbnRpZmllcicsCiAgICAgICAgICdXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllcicsCiAgICAg
ICAgICdXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllcicsCiAgICAgICAgICdX
ZWJDb3JlOjpSZW5kZXJpbmdNb2RlJywKQEAgLTgyMyw2ICs4MjQsNyBAQCBkZWYgaGVhZGVyc19m
b3JfdHlwZSh0eXBlKToKICAgICAgICAgJ1dlYkNvcmU6OlBvbGljeUNoZWNrSWRlbnRpZmllcic6
IFsnPFdlYkNvcmUvRnJhbWVMb2FkZXJUeXBlcy5oPiddLAogICAgICAgICAnV2ViQ29yZTo6UHJl
c2VydmVSZXNvbHV0aW9uJzogWyc8V2ViQ29yZS9JbWFnZUJ1ZmZlckJhY2tlbmQuaD4nXSwKICAg
ICAgICAgJ1dlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyJzogWyc8V2ViQ29yZS9Qcm9jZXNzSWRl
bnRpZmllci5oPiddLAorICAgICAgICAnV2ViQ29yZTo6UHVzaFN1YnNjcmlwdGlvbklkZW50aWZp
ZXInOiBbJzxXZWJDb3JlL1B1c2hTdWJzY3JpcHRpb25JZGVudGlmaWVyLmg+J10sCiAgICAgICAg
ICdXZWJDb3JlOjpRdWFkQ3VydmVEYXRhJzogWyc8V2ViQ29yZS9JbmxpbmVQYXRoRGF0YS5oPidd
LAogICAgICAgICAnV2ViQ29yZTo6UmVjZW50U2VhcmNoJzogWyc8V2ViQ29yZS9TZWFyY2hQb3B1
cE1lbnUuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlJlcXVlc3RTdG9yYWdlQWNjZXNzUmVzdWx0
JzogWyc8V2ViQ29yZS9Eb2N1bWVudFN0b3JhZ2VBY2Nlc3MuaD4nXSwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24u
Y3BwCmluZGV4IDE4MjYwNWI4ZTBlMzJlZjA1YTM5MWZjYzA5M2IwNDQ1ZjdkMDY2YTEuLmZkMGQ1
MDdjMzA4ZDMxMzNhYzg2MzRmM2M1YTlhYWNjYzhhMDQzOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNw
cApAQCAtMjM4LDkgKzIzOCw5IEBAIHZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpzdWJzY3Jp
YmVUb1B1c2hTZXJ2aWNlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyCiAgICAgfSk7CiB9
CiAKLXZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjp1bnN1YnNjcmliZUZyb21QdXNoU2Vydmlj
ZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciByZWdpc3RyYXRp
b25JZGVudGlmaWVyLCBVbnN1YnNjcmliZUZyb21QdXNoU2VydmljZUNhbGxiYWNrJiYgY2FsbGJh
Y2spCit2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6dW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZp
Y2UoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgcmVnaXN0cmF0
aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6UHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIgcHVzaFN1
YnNjcmlwdGlvbklkZW50aWZpZXIsIFVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlQ2FsbGJhY2sm
JiBjYWxsYmFjaykKIHsKLSAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlNXU2Vy
dmVyQ29ubmVjdGlvbjo6VW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2UgeyByZWdpc3RyYXRpb25J
ZGVudGlmaWVyIH0sIFtjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShhdXRvJiYgcmVzdWx0
KSBtdXRhYmxlIHsKKyAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlNXU2VydmVy
Q29ubmVjdGlvbjo6VW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2UgeyByZWdpc3RyYXRpb25JZGVu
dGlmaWVyLCBwdXNoU3Vic2NyaXB0aW9uSWRlbnRpZmllciB9LCBbY2FsbGJhY2sgPSBXVEZNb3Zl
KGNhbGxiYWNrKV0oYXV0byYmIHJlc3VsdCkgbXV0YWJsZSB7CiAgICAgICAgIGlmICghcmVzdWx0
Lmhhc192YWx1ZSgpKQogICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKHJlc3VsdC5lcnJvcigp
LnRvRXhjZXB0aW9uKCkpOwogICAgICAgICBjYWxsYmFjaygqcmVzdWx0KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9u
LmgKaW5kZXggZTJhMWQzNmZjOGJiOWFhMTY0NmFhNWY3ZDI0NTQwMmFjMGMyNjhhMy4uZjA0Nzcz
MTY1NWI1YWM1Y2ZjNWMwZWU3NDczYmE2NDNlOTk1Zjg0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgKQEAg
LTkxLDcgKzkxLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHN0b3JlUmVnaXN0cmF0aW9uc09uRGlz
a0ZvclRlc3RpbmcoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSBmaW5hbDsKICAgICAKICAg
ICB2b2lkIHN1YnNjcmliZVRvUHVzaFNlcnZpY2UoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXIsIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgYXBwbGljYXRpb25TZXJ2
ZXJLZXksIFN1YnNjcmliZVRvUHVzaFNlcnZpY2VDYWxsYmFjayYmKSBmaW5hbDsKLSAgICB2b2lk
IHVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyLCBVbnN1YnNjcmliZUZyb21QdXNoU2VydmljZUNhbGxiYWNrJiYpIGZp
bmFsOworICAgIHZvaWQgdW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2UoV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFdlYkNvcmU6OlB1c2hTdWJzY3JpcHRpb25J
ZGVudGlmaWVyLCBVbnN1YnNjcmliZUZyb21QdXNoU2VydmljZUNhbGxiYWNrJiYpIGZpbmFsOwog
ICAgIHZvaWQgZ2V0UHVzaFN1YnNjcmlwdGlvbihXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSWRlbnRpZmllciwgR2V0UHVzaFN1YnNjcmlwdGlvbkNhbGxiYWNrJiYpIGZpbmFsOwog
ICAgIHZvaWQgZ2V0UHVzaFBlcm1pc3Npb25TdGF0ZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllciwgR2V0UHVzaFBlcm1pc3Npb25TdGF0ZUNhbGxiYWNrJiYpIGZp
bmFsOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449742</attachid>
            <date>2022-01-22 17:07:43 -0800</date>
            <delta_ts>2022-01-22 20:30:19 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-234797-20220122170742.patch</filename>
            <type>text/plain</type>
            <size>35303</size>
            <attacher name="Ben Nham">nham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjg5YWNmNzkzNmM1Mjk4
OTg4ZDNlZjY1OWVlMjMzMzdjYWZjMDZjZC4uODY1NjA2NDdmNmQxMThlZjU4M2Q3MTk0ZjJiOTRi
YjE3MGQ3MmUxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDIyLTAxLTAyICBCZW4g
TmhhbSAgPG5oYW1AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBQdXNoU3Vic2NyaXB0aW9uSWRl
bnRpZmllcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM0Nzk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBhZGRzIGEgUHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIgdG8gZWFjaCBQdXNoU3Vic2Ny
aXB0aW9uLiBJbXBsZW1lbnRhdGlvbi13aXNlLCBpdAorICAgICAgICB3aWxsIGJlIHRoZSByb3dp
ZCBpZiB0aGUgc3Vic2NyaXB0aW9uIGluIHRoZSBzdWJzY3JpcHRpb24gZGF0YWJhc2UuIFdlIG5l
ZWQgdGhpcyBzbyB0aGF0CisgICAgICAgIFB1c2hTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUgb25s
eSB1bnN1YnNjcmliZXMgZnJvbSB0aGUgZ2l2ZW4gc3Vic2NyaXB0aW9uLiBDdXJyZW50bHkgaXQK
KyAgICAgICAgdW5zdWJzY3JpYmVzIGZyb20gYW55IGFjdGl2ZSBzdWJzY3JpcHRpb24gYXNzb2Np
YXRlZCB3aXRoIHRoZSBzdWJzY3JpcHRpb24ncyBzZXJ2aWNlIHdvcmtlcgorICAgICAgICBzY29w
ZS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIEkgcGxhbiBvbiBhZGRpbmcgYSB0ZXN0IGZvciB0
aGlzIGNhc2UgaW4gYW4gQVBJIHRlc3Qgd2hpY2ggd2lsbCB3b3JrIHdpdGggcmVhbAorICAgICAg
ICBQdXNoU3Vic2NyaXB0aW9uIG9iamVjdHMgd2hlbiBJIHN1Ym1pdCB0aGUgcGF0Y2ggdGhhdCBp
bXBsZW1lbnRzIHRoZSBzdWJzY3JpcHRpb24gYnVzaW5lc3MKKyAgICAgICAgbG9naWMgaW4gd2Vi
cHVzaGQuIFRoZSBjdXJyZW50IGxheW91dCB0ZXN0cyBvbmx5IHdvcmsgd2l0aCBmYWtlIFB1c2hT
dWJzY3JpcHRpb24gb2JqZWN0cworICAgICAgICB0aGF0IGFyZW4ndCBjb25uZWN0ZWQgdG8gd2Vi
cHVzaGQuCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAgICAqIE1vZHVsZXMvcHVz
aC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQdXNoU3Vic2Ny
aXB0aW9uOjp1bnN1YnNjcmliZSk6CisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vi
c2NyaXB0aW9uRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQdXNoU3Vic2NyaXB0aW9uRGF0
YTo6aXNvbGF0ZWRDb3B5IGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3B1c2gtYXBpL1B1c2hT
dWJzY3JpcHRpb25EYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpQdXNoU3Vic2NyaXB0aW9uRGF0
YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlB1c2hTdWJzY3JpcHRpb25EYXRh
OjpkZWNvZGUpOgorICAgICAgICB3ZWJwdXNoZCBvbmx5IHN1cHBvcnRzIG1vZGVybiBkZWNvZGlu
ZyBhbmQgd2UgbmVlZCB0byBzZW5kIHRoaXMgb2JqZWN0IHRvIGl0LCBzbyB1c2UgbW9kZXJuIGRl
Y29kaW5nLgorCisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uSWRl
bnRpZmllci5oOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbHM6OmNyZWF0ZVB1c2hTdWJzY3JpcHRpb24pOgorICAgICAgICAqIHRlc3RpbmcvU2Vydmlj
ZVdvcmtlckludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySW50
ZXJuYWxzOjpjcmVhdGVQdXNoU3Vic2NyaXB0aW9uKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvU1dDbGllbnRDb25uZWN0aW9uLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNv
bnRhaW5lcjo6dW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2UpOgorICAgICAgICAqIHdvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2UpOgorICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmg6CisgICAg
ICAgICogd29ya2Vycy9zZXJ2aWNlL1dvcmtlclNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXb3JrZXJTV0NsaWVudENvbm5lY3Rpb246OnVuc3Vic2NyaWJlRnJvbVB1
c2hTZXJ2aWNlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvV29ya2VyU1dDbGllbnRDb25u
ZWN0aW9uLmg6CisKIDIwMjItMDEtMjAgIEFsZXhleSBTaHZheWthICA8YXNodmF5a2FAYXBwbGUu
Y29tPgogCiAgICAgICAgIENhbGxiYWNrIGZ1bmN0aW9ucyAvIGludGVyZmFjZXMgc2hvdWxkIHVz
ZSBnbG9iYWwgb2JqZWN0IG9mIGl0cyBfdmFsdWVfIGZvciBlcnJvcnMgYW5kIGxpZmVjeWNsZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCA3MmM2NWVjOWY4NmVmODZmZWM3ODVkZDA4ZGM4NTljMmJjYTJjMjExLi5hZTU2
N2VlNzBiODUxNjkzZTE1ODJiN2Y2ZWM2OTEwMDNkOTM2OTk5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI0IEBACisyMDIyLTAxLTAyICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29tPgorCisgICAgICAg
IEFkZCBQdXNoU3Vic2NyaXB0aW9uSWRlbnRpZmllcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0Nzk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUGFzcyB0aGUgc3Vic2NyaXB0aW9uIGlkZW50aWZpZXIg
aW4gdGhlIFB1c2hTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUgY2FsbCB0byBndWFyYW50ZWUgdGhh
dAorICAgICAgICB3ZSBvbmx5IHVuc3Vic2NyaWJlIGZyb20gdGhlIGdpdmVuIHN1YnNjcmlwdGlv
bi4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJD
b25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjp1
bnN1YnNjcmliZUZyb21QdXNoU2VydmljZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2Vy
dmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weToKKyAgICAgICAgKHR5cGVzX3RoYXRf
Y2Fubm90X2JlX2ZvcndhcmRfZGVjbGFyZWQpOgorICAgICAgICAoaGVhZGVyc19mb3JfdHlwZSk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlNXQ2xpZW50Q29ubmVjdGlvbjo6dW5zdWJzY3JpYmVGcm9t
UHVzaFNlcnZpY2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENv
bm5lY3Rpb24uaDoKKwogMjAyMi0wMS0yMCAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdA
c29ueS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBQbGF5U3RhdGlvbiAvIGNsYW5nLWNsIGJ1
aWxkIGZpeCBmb2xsb3dpbmcgcjI4ODI5OC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hl
YWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IDg4OTBmOGRi
YTQ3NGMzOTJjMzczMjk4ZGE3NTgwZjcxOWNlNWMzZGUuLjZlOWQ5YzQ4Yzg3YWNlNjYwYjNlMzBi
ZGIzMGRmM2VhMzkzMTE2MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMjk2LDYgKzI5Niw3IEBA
IHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBNb2R1bGVzL3B1c2gt
YXBpL1B1c2hNZXNzYWdlQ3J5cHRvLmgKICAgICBNb2R1bGVzL3B1c2gtYXBpL1B1c2hQZXJtaXNz
aW9uU3RhdGUuaAogICAgIE1vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkRhdGEuaAor
ICAgIE1vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIuaAogCiAgICAg
TW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25DYXB0dXJlU291cmNlLmgKICAgICBNb2R1
bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkNhcHR1cmVTb3VyY2VJbXBsLmgKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb24uY3BwCmlu
ZGV4IDUyMmRhODVmODVjMmQ3MDRlNjQzZmU3MGMyMDEyMzU4MzI4ZjQyYTAuLmUxYWY2MWYxMGJk
NGZkZWM5YzQ1Y2JhNWYxYTA4YTc5OWM2NzFkYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmNwcApAQCAtMTA2LDEzICsxMDYs
MTMgQEAgRXhjZXB0aW9uT3I8UmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+PiBQdXNoU3Vic2NyaXB0
aW9uOjpnZXRLZXkoUHVzaEVuY3J5cHRpb25LZXkKIAogdm9pZCBQdXNoU3Vic2NyaXB0aW9uOjp1
bnN1YnNjcmliZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0
LCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQogewotICAgIHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQuZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6Ok5ldHdv
cmtpbmcsIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwgcHJvbWlzZSA9IFdU
Rk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5l
dmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6TmV0d29ya2luZywgW3RoaXMsIHByb3Rl
Y3RlZFRoaXMgPSBSZWYgeyAqdGhpcyB9LCBwdXNoU3Vic2NyaXB0aW9uSWRlbnRpZmllciA9IG1f
ZGF0YS5pZGVudGlmaWVyLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsK
ICAgICAgICAgaWYgKCFtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24pIHsKICAgICAgICAgICAg
IHByb21pc2UucmVzb2x2ZShmYWxzZSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
IAotICAgICAgICBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24tPnVuc3Vic2NyaWJlRnJvbVB1
c2hTZXJ2aWNlKFdURk1vdmUocHJvbWlzZSkpOworICAgICAgICBtX3NlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24tPnVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlKHB1c2hTdWJzY3JpcHRpb25JZGVu
dGlmaWVyLCBXVEZNb3ZlKHByb21pc2UpKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uRGF0YS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25EYXRhLmNwcApp
bmRleCA2MWEzZmVjYTUzNjIxM2I0ZTUzYzRlMGVkMmFhN2JhOGM2NGVjMTkxLi4yM2RiMzI3MGFi
Nzg3ZTUzMjA1NjRhZWRjZGJlZDAxYzU3OTI0NDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25EYXRhLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25EYXRhLmNwcApAQCAtMzMs
NiArMzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBQdXNoU3Vic2NyaXB0aW9uRGF0YSBQdXNo
U3Vic2NyaXB0aW9uRGF0YTo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKIHsKICAgICBQdXNoU3Vic2Ny
aXB0aW9uRGF0YSByZXN1bHQ7CisgICAgcmVzdWx0LmlkZW50aWZpZXIgPSBpZGVudGlmaWVyOwog
ICAgIHJlc3VsdC5lbmRwb2ludCA9IGVuZHBvaW50Lmlzb2xhdGVkQ29weSgpOwogICAgIHJlc3Vs
dC5leHBpcmF0aW9uVGltZSA9IGV4cGlyYXRpb25UaW1lOwogICAgIHJlc3VsdC5zZXJ2ZXJWQVBJ
RFB1YmxpY0tleSA9IHNlcnZlclZBUElEUHVibGljS2V5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uRGF0YS5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uRGF0YS5oCmluZGV4IGUyMjdm
NjA0NjEwYjVjOTk2MDJmZmUzMWM2M2U5YWVmMDAzNTg4MTkuLjYzNWY5ZmM4MWU5YzY5ZTc2NWVh
YmQwZTFhZTIxMWFlM2JkYTVhZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25EYXRhLmgKQEAgLTI4LDEyICsyOCwxNCBAQAog
I2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAogI2luY2x1ZGUgIkVwb2NoVGltZVN0YW1wLmgi
CisjaW5jbHVkZSAiUHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIuaCIKIAogI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBQdXNo
U3Vic2NyaXB0aW9uRGF0YSB7CisgICAgUHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIgaWRlbnRp
ZmllcjsKICAgICBTdHJpbmcgZW5kcG9pbnQ7CiAgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpF
cG9jaFRpbWVTdGFtcD4gZXhwaXJhdGlvblRpbWU7CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IHNlcnZl
clZBUElEUHVibGljS2V5OwpAQCAtNDksNiArNTEsNyBAQCBzdHJ1Y3QgUHVzaFN1YnNjcmlwdGlv
bkRhdGEgewogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KIHZvaWQgUHVzaFN1YnNjcmlwdGlvbkRh
dGE6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogeworICAgIGVuY29kZXIgPDwgaWRl
bnRpZmllcjsKICAgICBlbmNvZGVyIDw8IGVuZHBvaW50OwogICAgIGVuY29kZXIgPDwgZXhwaXJh
dGlvblRpbWU7CiAgICAgZW5jb2RlciA8PCBzZXJ2ZXJWQVBJRFB1YmxpY0tleTsKQEAgLTU5LDE4
ICs2MiwzNyBAQCB2b2lkIFB1c2hTdWJzY3JpcHRpb25EYXRhOjplbmNvZGUoRW5jb2RlciYgZW5j
b2RlcikgY29uc3QKIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+CiBzdGQ6Om9wdGlvbmFsPFB1c2hT
dWJzY3JpcHRpb25EYXRhPiBQdXNoU3Vic2NyaXB0aW9uRGF0YTo6ZGVjb2RlKERlY29kZXImIGRl
Y29kZXIpCiB7Ci0gICAgUHVzaFN1YnNjcmlwdGlvbkRhdGEgcmVzdWx0OwotICAgIGlmICghZGVj
b2Rlci5kZWNvZGUocmVzdWx0LmVuZHBvaW50KSkKKyAgICBzdGQ6Om9wdGlvbmFsPFB1c2hTdWJz
Y3JpcHRpb25JZGVudGlmaWVyPiBpZGVudGlmaWVyOworICAgIGRlY29kZXIgPj4gaWRlbnRpZmll
cjsKKyAgICBpZiAoIWlkZW50aWZpZXIpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0g
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuZXhwaXJhdGlvblRpbWUpKQorCisgICAgc3Rk
OjpvcHRpb25hbDxTdHJpbmc+IGVuZHBvaW50OworICAgIGRlY29kZXIgPj4gZW5kcG9pbnQ7Cisg
ICAgaWYgKCFlbmRwb2ludCkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKHJlc3VsdC5zZXJ2ZXJWQVBJRFB1YmxpY0tleSkpCisKKyAgICBzdGQ6
Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RXBvY2hUaW1lU3RhbXA+PiBleHBpcmF0
aW9uVGltZTsKKyAgICBkZWNvZGVyID4+IGV4cGlyYXRpb25UaW1lOworICAgIGlmICghZXhwaXJh
dGlvblRpbWUpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgaWYgKCFkZWNvZGVy
LmRlY29kZShyZXN1bHQuY2xpZW50RUNESFB1YmxpY0tleSkpCisKKyAgICBzdGQ6Om9wdGlvbmFs
PFZlY3Rvcjx1aW50OF90Pj4gc2VydmVyVkFQSURQdWJsaWNLZXk7CisgICAgZGVjb2RlciA+PiBz
ZXJ2ZXJWQVBJRFB1YmxpY0tleTsKKyAgICBpZiAoIXNlcnZlclZBUElEUHVibGljS2V5KQogICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0
LnNoYXJlZEF1dGhlbnRpY2F0aW9uU2VjcmV0KSkKKworICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9y
PHVpbnQ4X3Q+PiBjbGllbnRFQ0RIUHVibGljS2V5OworICAgIGRlY29kZXIgPj4gY2xpZW50RUNE
SFB1YmxpY0tleTsKKyAgICBpZiAoIWNsaWVudEVDREhQdWJsaWNLZXkpCiAgICAgICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8
VmVjdG9yPHVpbnQ4X3Q+PiBzaGFyZWRBdXRoZW50aWNhdGlvblNlY3JldDsKKyAgICBkZWNvZGVy
ID4+IHNoYXJlZEF1dGhlbnRpY2F0aW9uU2VjcmV0OworICAgIGlmICghc2hhcmVkQXV0aGVudGlj
YXRpb25TZWNyZXQpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4g
UHVzaFN1YnNjcmlwdGlvbkRhdGEgeyBXVEZNb3ZlKCppZGVudGlmaWVyKSwgV1RGTW92ZSgqZW5k
cG9pbnQpLCBXVEZNb3ZlKCpleHBpcmF0aW9uVGltZSksIFdURk1vdmUoKnNlcnZlclZBUElEUHVi
bGljS2V5KSwgV1RGTW92ZSgqY2xpZW50RUNESFB1YmxpY0tleSksIFdURk1vdmUoKnNoYXJlZEF1
dGhlbnRpY2F0aW9uU2VjcmV0KSB9OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25J
ZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3Jp
cHRpb25JZGVudGlmaWVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDAwMzRiNmY2N2ZiMWM0OGIyNzJiNzEyN2Nk
NTBmYmQxYjIyYmFhOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIuaApAQCAtMCwwICsxLDM1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvT2JqZWN0SWRlbnRpZmll
ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gUHVzaFN1YnNjcmlwdGlvbklkZW50
aWZpZXJUeXBlIHsgfTsKK3VzaW5nIFB1c2hTdWJzY3JpcHRpb25JZGVudGlmaWVyID0gT2JqZWN0
SWRlbnRpZmllcjxQdXNoU3Vic2NyaXB0aW9uSWRlbnRpZmllclR5cGU+OworCit9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYjA4
MWI2YTE5ZDNkZDVmYjY3ZmIxNmU3YmZhOWM3NTg2ZmY5ZjFhZC4uZGUyOWI3YmE1OTRkM2YyOGNh
NTgwNGU1YWEwZWI1ZmU4NDlhNDMwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTQ2Niw2ICs1NDY2LDcgQEAKIAkJRUJCOTcz
ODEyNzEwMDY3MTAwNzczMkVGIC8qIFB1c2hNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFQkI5NzM4MDI3MTAwNjU0MDA3NzMyRUYgLyogUHVz
aE1hbmFnZXIuaCAqLzsgfTsKIAkJRUJCOTczODIyNzEwMDY3NjAwNzczMkVGIC8qIFB1c2hQZXJt
aXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEVCQjk3Mzc4MjcxMDA2NTEwMDc3MzJFRiAvKiBQdXNoUGVybWlzc2lvblN0YXRlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRUJCOTczODMy
NzEwMDY4NDAwNzczMkVGIC8qIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25QdXNoQVBJLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFQkI5NzM3QTI3MTAw
NjUyMDA3NzMyRUYgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblB1c2hBUEkuaCAqLzsgfTsK
KwkJRUJFMDk1RTUyNzdEMTREQTAwODA0RDYxIC8qIFB1c2hTdWJzY3JpcHRpb25JZGVudGlmaWVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFQkUwOTVF
MzI3N0QxNEM3MDA4MDRENjEgLyogUHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFQkU1QjIyNjI0NUEy
NkVGMDAzQTVBODggLyogU1FMaXRlU3RhdGVtZW50QXV0b1Jlc2V0U2NvcGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEVCRTVCMjI0MjQ1QTI2RUUwMDNB
NUE4OCAvKiBTUUxpdGVTdGF0ZW1lbnRBdXRvUmVzZXRTY29wZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUVCRjUxMjFDMTY5NjQ5NkMwMDU2QkQy
NSAvKiBKU1R5cGVDb252ZXJzaW9ucy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFQkY1MTIxQTE2OTY0OTZDMDA1NkJEMjUgLyogSlNUeXBlQ29udmVy
c2lvbnMuY3BwICovOyB9OwogCQlFQkY1MTIxRDE2OTY0OTZDMDA1NkJEMjUgLyogSlNUeXBlQ29u
dmVyc2lvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEVCRjUxMjFCMTY5NjQ5NkMwMDU2QkQyNSAvKiBKU1R5cGVDb252ZXJzaW9ucy5oICovOyB9OwpA
QCAtMTc2ODIsNiArMTc2ODMsNyBAQAogCQlFQkI5NzM3RTI3MTAwNjUzMDA3NzMyRUYgLyogUHVz
aE1hbmFnZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IFB1c2hNYW5hZ2VyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRUJCOTczN0YyNzEwMDY1MzAwNzczMkVGIC8qIFB1c2hQZXJtaXNzaW9uU3RhdGUu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IFB1c2hQZXJtaXNzaW9uU3RhdGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFQkI5NzM4MDI3MTAwNjU0MDA3NzMyRUYgLyogUHVzaE1hbmFnZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUHVzaE1hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRUJF
MDk1RTMyNzdEMTRDNzAwODA0RDYxIC8qIFB1c2hTdWJzY3JpcHRpb25JZGVudGlmaWVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFB1c2hTdWJzY3JpcHRpb25JZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUVCRTVCMjI0MjQ1QTI2RUUwMDNBNUE4OCAvKiBTUUxpdGVTdGF0ZW1l
bnRBdXRvUmVzZXRTY29wZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTUUxp
dGVTdGF0ZW1lbnRBdXRvUmVzZXRTY29wZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFQkU1QjIyNzI0NUEyOUNGMDAzQTVBODggLyogU1FMaXRlU3RhdGVtZW50QXV0b1Jlc2V0U2Nv
cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1FMaXRlU3RhdGVt
ZW50QXV0b1Jlc2V0U2NvcGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFQkY1
MTIxQTE2OTY0OTZDMDA1NkJEMjUgLyogSlNUeXBlQ29udmVyc2lvbnMuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNUeXBlQ29udmVyc2lvbnMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjExOTEsNiArMjExOTMsNyBAQAogCQkJCUVCM0MyOUIy
MjcyOUMzNkUwMEZCNjVCNCAvKiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0LmlkbCAq
LywKIAkJCQlFQjI4RUQ0MzI3MTdBQkE5MDA1RjAzOTMgLyogUHVzaFN1YnNjcmlwdGlvbkRhdGEu
Y3BwICovLAogCQkJCUVCMjhFRDQxMjcxN0FCQTkwMDVGMDM5MyAvKiBQdXNoU3Vic2NyaXB0aW9u
RGF0YS5oICovLAorCQkJCUVCRTA5NUUzMjc3RDE0QzcwMDgwNEQ2MSAvKiBQdXNoU3Vic2NyaXB0
aW9uSWRlbnRpZmllci5oICovLAogCQkJCUVCMEZCNzAzMjcwRDBBRUIwMEY3ODEwRCAvKiBQdXNo
U3Vic2NyaXB0aW9uSlNPTi5oICovLAogCQkJCUVCMEZCNzAyMjcwRDBBRUEwMEY3ODEwRCAvKiBQ
dXNoU3Vic2NyaXB0aW9uSlNPTi5pZGwgKi8sCiAJCQkJRUIwRkI2RkIyNzBEMEFFNjAwRjc4MTBE
IC8qIFB1c2hTdWJzY3JpcHRpb25PcHRpb25zLmNwcCAqLywKQEAgLTM2NjAzLDYgKzM2NjA2LDcg
QEAKIAkJCQlFQjNDMjlCNjI3MjlDMzg4MDBGQjY1QjQgLyogUHVzaFN1YnNjcmlwdGlvbkNoYW5n
ZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFQjNDMjlCNzI3MjlDMzhDMDBGQjY1QjQgLyog
UHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRUIy
OEVENDQyNzE3QUMxMTAwNUYwMzkzIC8qIFB1c2hTdWJzY3JpcHRpb25EYXRhLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlFQkUwOTVFNTI3N0QxNERBMDA4MDRENjEgLyogUHVzaFN1YnNjcmlwdGlvbklk
ZW50aWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUVCMEZCNzBBMjcwRDBCMUIwMEY3ODEwRCAv
KiBQdXNoU3Vic2NyaXB0aW9uSlNPTi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRUIwRkI3MEMyNzBE
MEIyOTAwRjc4MTBEIC8qIFB1c2hTdWJzY3JpcHRpb25PcHRpb25zLmggaW4gSGVhZGVycyAqLywK
IAkJCQlFQjBGQjcwRDI3MEQwQjJFMDBGNzgxMEQgLyogUHVzaFN1YnNjcmlwdGlvbk9wdGlvbnNJ
bml0LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRl
eCA4NWNlMjQyZGM2NTNjZmM5ZjMwNzQ3NWVjNWRjNjFlYjYwM2E2NTM0Li5lNzBhYjQ2ZTJlYTIw
Y2Q3ZWE2NDgzMzNjM2IzOWY2M2ZlYzBiZjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCkBAIC02NjMwLDcgKzY2MzAsNyBAQCBSZWZQdHI8UHVzaFN1YnNjcmlwdGlvbj4gSW50
ZXJuYWxzOjpjcmVhdGVQdXNoU3Vic2NyaXB0aW9uKGNvbnN0IFN0cmluZyYgZW5kcG9pbgogICAg
IFZlY3Rvcjx1aW50OF90PiBteUNsaWVudEVDREhQdWJsaWNLZXkgeyBzdGF0aWNfY2FzdDxjb25z
dCB1aW50OF90Kj4oY2xpZW50RUNESFB1YmxpY0tleS5kYXRhKCkpLCBjbGllbnRFQ0RIUHVibGlj
S2V5LmJ5dGVMZW5ndGgoKSB9OwogICAgIFZlY3Rvcjx1aW50OF90PiBteUF1dGggeyBzdGF0aWNf
Y2FzdDxjb25zdCB1aW50OF90Kj4oYXV0aC5kYXRhKCkpLCBhdXRoLmJ5dGVMZW5ndGgoKSB9Owog
Ci0gICAgcmV0dXJuIFB1c2hTdWJzY3JpcHRpb246OmNyZWF0ZShQdXNoU3Vic2NyaXB0aW9uRGF0
YSB7IFdURk1vdmUobXlFbmRwb2ludCksIGV4cGlyYXRpb25UaW1lLCBXVEZNb3ZlKG15U2VydmVy
VkFQSURQdWJsaWNLZXkpLCBXVEZNb3ZlKG15Q2xpZW50RUNESFB1YmxpY0tleSksIFdURk1vdmUo
bXlBdXRoKSB9KTsKKyAgICByZXR1cm4gUHVzaFN1YnNjcmlwdGlvbjo6Y3JlYXRlKFB1c2hTdWJz
Y3JpcHRpb25EYXRhIHsgeyB9LCBXVEZNb3ZlKG15RW5kcG9pbnQpLCBleHBpcmF0aW9uVGltZSwg
V1RGTW92ZShteVNlcnZlclZBUElEUHVibGljS2V5KSwgV1RGTW92ZShteUNsaWVudEVDREhQdWJs
aWNLZXkpLCBXVEZNb3ZlKG15QXV0aCkgfSk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5jcHAKaW5kZXggZGUzZjVhZDNk
NjZlNTI3ZTNkMWQ2NjAwNmYxMmUzNjc0YjcyMWRlNi4uNTQxM2NlMjJhYzgxMDkzZTZiNWQzYWRk
ZDJiMTI2ODMzM2QyNzQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2
aWNlV29ya2VySW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZp
Y2VXb3JrZXJJbnRlcm5hbHMuY3BwCkBAIC0xODYsNyArMTg2LDcgQEAgUmVmUHRyPFB1c2hTdWJz
Y3JpcHRpb24+IFNlcnZpY2VXb3JrZXJJbnRlcm5hbHM6OmNyZWF0ZVB1c2hTdWJzY3JpcHRpb24o
Y29uc3QgU3QKICAgICBWZWN0b3I8dWludDhfdD4gbXlDbGllbnRFQ0RIUHVibGljS2V5IHsgc3Rh
dGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KGNsaWVudEVDREhQdWJsaWNLZXkuZGF0YSgpKSwgY2xp
ZW50RUNESFB1YmxpY0tleS5ieXRlTGVuZ3RoKCkgfTsKICAgICBWZWN0b3I8dWludDhfdD4gbXlB
dXRoIHsgc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KGF1dGguZGF0YSgpKSwgYXV0aC5ieXRl
TGVuZ3RoKCkgfTsKIAotICAgIHJldHVybiBQdXNoU3Vic2NyaXB0aW9uOjpjcmVhdGUoUHVzaFN1
YnNjcmlwdGlvbkRhdGEgeyBXVEZNb3ZlKG15RW5kcG9pbnQpLCBleHBpcmF0aW9uVGltZSwgV1RG
TW92ZShteVNlcnZlclZBUElEUHVibGljS2V5KSwgV1RGTW92ZShteUNsaWVudEVDREhQdWJsaWNL
ZXkpLCBXVEZNb3ZlKG15QXV0aCkgfSk7CisgICAgcmV0dXJuIFB1c2hTdWJzY3JpcHRpb246OmNy
ZWF0ZShQdXNoU3Vic2NyaXB0aW9uRGF0YSB7IHsgfSwgV1RGTW92ZShteUVuZHBvaW50KSwgZXhw
aXJhdGlvblRpbWUsIFdURk1vdmUobXlTZXJ2ZXJWQVBJRFB1YmxpY0tleSksIFdURk1vdmUobXlD
bGllbnRFQ0RIUHVibGljS2V5KSwgV1RGTW92ZShteUF1dGgpIH0pOwogfQogCiBib29sIFNlcnZp
Y2VXb3JrZXJJbnRlcm5hbHM6OmZldGNoRXZlbnRJc1NhbWVTaXRlKEZldGNoRXZlbnQmIGV2ZW50
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29u
bmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVj
dGlvbi5oCmluZGV4IDI1YzVhNWNkODMwMzNiNjlmNjExMjI3NGQ2ZDBiNTkzZmU3MTdmM2YuLjlm
NDU1ZmI1NWExY2JlYjdjNDM0NzBlZDdjNmMzMTE2OWZlZTZlYmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmgKQEAgLTkzLDcg
KzkzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzdWJzY3JpYmVUb1B1c2hTZXJ2aWNl
KFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBjb25zdCBWZWN0b3I8dWludDhf
dD4mIGFwcGxpY2F0aW9uU2VydmVyS2V5LCBTdWJzY3JpYmVUb1B1c2hTZXJ2aWNlQ2FsbGJhY2sm
JikgPSAwOwogICAgIAogICAgIHVzaW5nIFVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlQ2FsbGJh
Y2sgPSBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4Y2VwdGlvbk9yPGJvb2w+JiYpPjsKLSAgICB2
aXJ0dWFsIHZvaWQgdW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2UoU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXIsIFVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlQ2FsbGJhY2smJikg
PSAwOworICAgIHZpcnR1YWwgdm9pZCB1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgUHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIs
IFVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlQ2FsbGJhY2smJikgPSAwOwogICAgIAogICAgIHVz
aW5nIEdldFB1c2hTdWJzY3JpcHRpb25DYWxsYmFjayA9IENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
RXhjZXB0aW9uT3I8c3RkOjpvcHRpb25hbDxQdXNoU3Vic2NyaXB0aW9uRGF0YT4+JiYpPjsKICAg
ICB2aXJ0dWFsIHZvaWQgZ2V0UHVzaFN1YnNjcmlwdGlvbihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllciwgR2V0UHVzaFN1YnNjcmlwdGlvbkNhbGxiYWNrJiYpID0gMDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFp
bmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29u
dGFpbmVyLmNwcAppbmRleCAwOTlmZGVlNDZiMmRhMDdlMWRkZjhlMTgyOGNmNmFkMDIxMTJhZmQ1
Li41MDY5MThlMjQ4MDJkM2RmYjA2NWI0NGY3MDZhMmFhODBmMjhjMzNhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWlu
ZXIuY3BwCkBAIC01NzAsOSArNTcwLDkgQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpz
dWJzY3JpYmVUb1B1c2hTZXJ2aWNlKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24mIHIKICAgICB9
KTsKIH0KIAotdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjp1bnN1YnNjcmliZUZyb21QdXNo
U2VydmljZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyLCBE
T01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQordm9pZCBTZXJ2aWNlV29y
a2VyQ29udGFpbmVyOjp1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyLCBQdXNoU3Vic2NyaXB0aW9uSWRlbnRpZmll
ciBzdWJzY3JpcHRpb25JZGVudGlmaWVyLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4m
JiBwcm9taXNlKQogewotICAgIGVuc3VyZVNXQ2xpZW50Q29ubmVjdGlvbigpLnVuc3Vic2NyaWJl
RnJvbVB1c2hTZXJ2aWNlKGlkZW50aWZpZXIsIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0o
YXV0byYmIHJlc3VsdCkgbXV0YWJsZSB7CisgICAgZW5zdXJlU1dDbGllbnRDb25uZWN0aW9uKCku
dW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2UoaWRlbnRpZmllciwgc3Vic2NyaXB0aW9uSWRlbnRp
ZmllciwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShhdXRvJiYgcmVzdWx0KSBtdXRhYmxl
IHsKICAgICAgICAgcHJvbWlzZS5zZXR0bGUoV1RGTW92ZShyZXN1bHQpKTsKICAgICB9KTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
Q29udGFpbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNvbnRhaW5lci5oCmluZGV4IGQ5ZDc0NThkNWQxODZkZDNkZDViYzhjZTZiYTQ3MjFhYzFlNjEy
MDguLjc5M2EyZjlhNDU4ZWI2NGJkNmNiYjI1MjU3ODU1ZTNhNDI5MTMzOWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWlu
ZXIuaApAQCAtODgsNyArODgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVSZWdpc3RyYXRp
b24oU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiYpOwogCiAgICAgdm9pZCBzdWJzY3JpYmVUb1B1
c2hTZXJ2aWNlKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24mLCBjb25zdCBWZWN0b3I8dWludDhf
dD4mIGFwcGxpY2F0aW9uU2VydmVyS2V5LCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNl
PFB1c2hTdWJzY3JpcHRpb24+PiYmKTsKLSAgICB2b2lkIHVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2
aWNlKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBET01Qcm9taXNlRGVmZXJy
ZWQ8SURMQm9vbGVhbj4mJik7CisgICAgdm9pZCB1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgUHVzaFN1YnNjcmlwdGlvbklkZW50
aWZpZXIsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmKTsKICAgICB2b2lkIGdldFB1
c2hTdWJzY3JpcHRpb24oU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiYsIERPTVByb21pc2VEZWZl
cnJlZDxJRExOdWxsYWJsZTxJRExJbnRlcmZhY2U8UHVzaFN1YnNjcmlwdGlvbj4+PiYmKTsKICAg
ICB2b2lkIGdldFB1c2hQZXJtaXNzaW9uU3RhdGUoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIsIERPTVByb21pc2VEZWZlcnJlZDxJRExFbnVtZXJhdGlvbjxQdXNoUGVybWlzc2lv
blN0YXRlPj4mJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcAppbmRleCBjOTg4MzkxNjgzMGQ3
NzQ0ZjExYWFhNTY3OTIzNmM3NjAwZjQ2ZTJmLi41MDE3ODFmNzBkNWY2NDcwOTIxYWEzMGM2ZmQ1
YmJjYjA0YjBkMGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCkBAIC0xNzMsMTQgKzE3Mywx
NCBAQCB2b2lkIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnN1YnNjcmliZVRvUHVzaFNlcnZp
Y2UoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBhcAogICAgIG1fY29udGFpbmVyLT5zdWJzY3JpYmVU
b1B1c2hTZXJ2aWNlKCp0aGlzLCBhcHBsaWNhdGlvblNlcnZlcktleSwgV1RGTW92ZShwcm9taXNl
KSk7CiB9CiAKLXZvaWQgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dW5zdWJzY3JpYmVGcm9t
UHVzaFNlcnZpY2UoRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKK3Zv
aWQgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2Uo
UHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIgc3Vic2NyaXB0aW9uSWRlbnRpZmllciwgRE9NUHJv
bWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKIHsKICAgICBpZiAoaXNDb250ZXh0
U3RvcHBlZCgpKSB7CiAgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbihJbnZhbGlkU3Rh
dGVFcnJvcikpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgbV9jb250YWluZXItPnVu
c3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlKGlkZW50aWZpZXIoKSwgV1RGTW92ZShwcm9taXNlKSk7
CisgICAgbV9jb250YWluZXItPnVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlKGlkZW50aWZpZXIo
KSwgc3Vic2NyaXB0aW9uSWRlbnRpZmllciwgV1RGTW92ZShwcm9taXNlKSk7CiB9CiAKIHZvaWQg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6Z2V0UHVzaFN1YnNjcmlwdGlvbihET01Qcm9taXNl
RGVmZXJyZWQ8SURMTnVsbGFibGU8SURMSW50ZXJmYWNlPFB1c2hTdWJzY3JpcHRpb24+Pj4mJiBw
cm9taXNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgKaW5kZXggM2I2ZTZmZjVlNzAyZDY3ZDEzZDJjOGE3
MjU2OGM3YTM2YzI1NzU5OS4uYTNhNGFlNDRjZGVlNWJhZDU1OGU1MWNjYjU2MzYzYzkxNDQzNWNk
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oCkBAIC03NSw3ICs3NSw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHVucmVnaXN0ZXIoUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAKICAgICB2b2lkIHN1YnNj
cmliZVRvUHVzaFNlcnZpY2UoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBhcHBsaWNhdGlvblNlcnZl
cktleSwgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxQdXNoU3Vic2NyaXB0aW9uPj4m
Jik7Ci0gICAgdm9pZCB1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShET01Qcm9taXNlRGVmZXJy
ZWQ8SURMQm9vbGVhbj4mJik7CisgICAgdm9pZCB1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShQ
dXNoU3Vic2NyaXB0aW9uSWRlbnRpZmllciwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+
JiYpOwogICAgIHZvaWQgZ2V0UHVzaFN1YnNjcmlwdGlvbihET01Qcm9taXNlRGVmZXJyZWQ8SURM
TnVsbGFibGU8SURMSW50ZXJmYWNlPFB1c2hTdWJzY3JpcHRpb24+Pj4mJik7CiAgICAgdm9pZCBn
ZXRQdXNoUGVybWlzc2lvblN0YXRlKERPTVByb21pc2VEZWZlcnJlZDxJRExFbnVtZXJhdGlvbjxQ
dXNoUGVybWlzc2lvblN0YXRlPj4mJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1dvcmtlclNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggZTBj
YTg3MzYyYjE0YmY3YzJiNjQ4MTI3MWJmN2Y5MTAwMzkwZDkyMy4uY2Y1Yzc0OTI1ZDNmYzRiMDY5
OWM1OTZjZjlmYmY4ZTM3ODZiZGE4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1dvcmtlclNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1dvcmtlclNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTI0NSwx
NCArMjQ1LDE0IEBAIHZvaWQgV29ya2VyU1dDbGllbnRDb25uZWN0aW9uOjpzdWJzY3JpYmVUb1B1
c2hTZXJ2aWNlKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JCiAgICAgfSk7CiB9CiAKLXZvaWQg
V29ya2VyU1dDbGllbnRDb25uZWN0aW9uOjp1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciByZWdpc3RyYXRpb25JZGVudGlmaWVyLCBV
bnN1YnNjcmliZUZyb21QdXNoU2VydmljZUNhbGxiYWNrJiYgY2FsbGJhY2spCit2b2lkIFdvcmtl
clNXQ2xpZW50Q29ubmVjdGlvbjo6dW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2UoU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgcmVnaXN0cmF0aW9uSWRlbnRpZmllciwgUHVzaFN1
YnNjcmlwdGlvbklkZW50aWZpZXIgc3Vic2NyaXB0aW9uSWRlbnRpZmllciwgVW5zdWJzY3JpYmVG
cm9tUHVzaFNlcnZpY2VDYWxsYmFjayYmIGNhbGxiYWNrKQogewogICAgIHVpbnQ2NF90IHJlcXVl
c3RJZGVudGlmaWVyID0gKyttX2xhc3RSZXF1ZXN0SWRlbnRpZmllcjsKICAgICBtX3Vuc3Vic2Ny
aWJlRnJvbVB1c2hTZXJ2aWNlUmVxdWVzdHMuYWRkKHJlcXVlc3RJZGVudGlmaWVyLCBXVEZNb3Zl
KGNhbGxiYWNrKSk7CiAgICAgCi0gICAgY2FsbE9uTWFpblRocmVhZChbdGhyZWFkID0gbV90aHJl
YWQsIHJlcXVlc3RJZGVudGlmaWVyLCByZWdpc3RyYXRpb25JZGVudGlmaWVyXSgpIG11dGFibGUg
eworICAgIGNhbGxPbk1haW5UaHJlYWQoW3RocmVhZCA9IG1fdGhyZWFkLCByZXF1ZXN0SWRlbnRp
ZmllciwgcmVnaXN0cmF0aW9uSWRlbnRpZmllciwgc3Vic2NyaXB0aW9uSWRlbnRpZmllcl0oKSBt
dXRhYmxlIHsKICAgICAgICAgYXV0byYgY29ubmVjdGlvbiA9IFNlcnZpY2VXb3JrZXJQcm92aWRl
cjo6c2luZ2xldG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb24oKTsKLSAgICAgICAgY29ubmVj
dGlvbi51bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShyZWdpc3RyYXRpb25JZGVudGlmaWVyLCBb
dGhyZWFkID0gV1RGTW92ZSh0aHJlYWQpLCByZXF1ZXN0SWRlbnRpZmllcl0oYXV0byYmIHJlc3Vs
dCkgeworICAgICAgICBjb25uZWN0aW9uLnVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlKHJlZ2lz
dHJhdGlvbklkZW50aWZpZXIsIHN1YnNjcmlwdGlvbklkZW50aWZpZXIsIFt0aHJlYWQgPSBXVEZN
b3ZlKHRocmVhZCksIHJlcXVlc3RJZGVudGlmaWVyXShhdXRvJiYgcmVzdWx0KSB7CiAgICAgICAg
ICAgICB0aHJlYWQtPnJ1bkxvb3AoKS5wb3N0VGFza0Zvck1vZGUoW3JlcXVlc3RJZGVudGlmaWVy
LCByZXN1bHQgPSBjcm9zc1RocmVhZENvcHkocmVzdWx0KV0oYXV0byYgc2NvcGUpIG11dGFibGUg
ewogICAgICAgICAgICAgICAgIGF1dG8gY2FsbGJhY2sgPSBkb3duY2FzdDxXb3JrZXJHbG9iYWxT
Y29wZT4oc2NvcGUpLnN3Q2xpZW50Q29ubmVjdGlvbigpLm1fdW5zdWJzY3JpYmVGcm9tUHVzaFNl
cnZpY2VSZXF1ZXN0cy50YWtlKHJlcXVlc3RJZGVudGlmaWVyKTsKICAgICAgICAgICAgICAgICBj
YWxsYmFjayhXVEZNb3ZlKHJlc3VsdCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1dvcmtlclNXQ2xpZW50Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1dvcmtlclNXQ2xpZW50Q29ubmVjdGlvbi5oCmluZGV4IGQwMGQxMTE1
YzZmYmU2NzA4YzU1Mjg0ZTQ2YzI3MWVhMmY4YmIzNjUuLmYyOTQ0MTUzMjJmM2VmNzE0NmEwMGU5
OTdkZmQ1NDlhMjllMzgxNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvV29ya2VyU1dDbGllbnRDb25uZWN0aW9uLmgKQEAgLTU4LDcgKzU4LDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHNjaGVkdWxlSm9iKFNlcnZpY2VXb3JrZXJPckNsaWVudElkZW50
aWZpZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhJikgZmluYWw7CiAgICAgdm9pZCBzY2hl
ZHVsZVVucmVnaXN0ZXJKb2JJblNlcnZlcihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRp
ZmllciwgU2VydmljZVdvcmtlck9yQ2xpZW50SWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChFeGNlcHRpb25Pcjxib29sPiYmKT4mJikgZmluYWw7CiAgICAgdm9pZCBzdWJzY3JpYmVU
b1B1c2hTZXJ2aWNlKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBjb25zdCBW
ZWN0b3I8dWludDhfdD4mIGFwcGxpY2F0aW9uU2VydmVyS2V5LCBTdWJzY3JpYmVUb1B1c2hTZXJ2
aWNlQ2FsbGJhY2smJikgZmluYWw7Ci0gICAgdm9pZCB1bnN1YnNjcmliZUZyb21QdXNoU2Vydmlj
ZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgVW5zdWJzY3JpYmVGcm9tUHVz
aFNlcnZpY2VDYWxsYmFjayYmKSBmaW5hbDsKKyAgICB2b2lkIHVuc3Vic2NyaWJlRnJvbVB1c2hT
ZXJ2aWNlKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBQdXNoU3Vic2NyaXB0
aW9uSWRlbnRpZmllciwgVW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2VDYWxsYmFjayYmKSBmaW5h
bDsKICAgICB2b2lkIGdldFB1c2hTdWJzY3JpcHRpb24oU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bklkZW50aWZpZXIsIEdldFB1c2hTdWJzY3JpcHRpb25DYWxsYmFjayYmKSBmaW5hbDsKICAgICB2
b2lkIGdldFB1c2hQZXJtaXNzaW9uU3RhdGUoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50
aWZpZXIsIEdldFB1c2hQZXJtaXNzaW9uU3RhdGVDYWxsYmFjayYmKSBmaW5hbDsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2Vy
dmVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VX
b3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCBmODFkNTUwYTBhZDZjMzNhYWNi
N2VkNjNiNTIyODlhNGE2MDY0Y2E2Li5lOTg3YmRjMjc2YTA0ZWFkNWYyYjA4MWI4Zjk0N2FlM2Ri
Nzk0MmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VX
b3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtNDQ4
LDMyICs0NDgsMjMgQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnVwZGF0ZVRocm90dGxl
U3RhdGUoKQogICAgIH0KIH0KIAotdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnN1YnNjcmli
ZVRvUHVzaFNlcnZpY2UoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZp
ZXIgcmVnaXN0cmF0aW9uSWRlbnRpZmllciwgVmVjdG9yPHVpbnQ4X3Q+JiYgYXBwbGljYXRpb25T
ZXJ2ZXJLZXksIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8UHVzaFN1YnNjcmlwdGlv
bkRhdGEsIEV4Y2VwdGlvbkRhdGE+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBXZWJT
V1NlcnZlckNvbm5lY3Rpb246OnN1YnNjcmliZVRvUHVzaFNlcnZpY2UoV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFZlY3Rvcjx1aW50OF90PiYmLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPFB1c2hTdWJzY3JpcHRpb25EYXRhLCBFeGNlcHRpb25E
YXRhPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBVTlVTRURfUEFSQU0ocmVnaXN0
cmF0aW9uSWRlbnRpZmllcik7Ci0gICAgVU5VU0VEX1BBUkFNKGFwcGxpY2F0aW9uU2VydmVyS2V5
KTsKLSAgICAKICAgICBjb21wbGV0aW9uSGFuZGxlcihtYWtlVW5leHBlY3RlZChFeGNlcHRpb25E
YXRhIHsgTm90QWxsb3dlZEVycm9yLCAiUHVzaCBwZXJtaXNzaW9uIHdhcyBkZW5pZWQiX3MgfSkp
OwogfQogCi12b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6dW5zdWJzY3JpYmVGcm9tUHVzaFNl
cnZpY2UoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgcmVnaXN0
cmF0aW9uSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxib29sLCBF
eGNlcHRpb25EYXRhPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgV2ViU1dTZXJ2ZXJD
b25uZWN0aW9uOjp1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6UHVzaFN1YnNjcmlwdGlvbklkZW50
aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8Ym9vbCwgRXhjZXB0aW9uRGF0
YT4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKHJlZ2lzdHJh
dGlvbklkZW50aWZpZXIpOwotICAgIAogICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKIH0K
IAotdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OmdldFB1c2hTdWJzY3JpcHRpb24oV2ViQ29y
ZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgcmVnaXN0cmF0aW9uSWRlbnRp
ZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxzdGQ6Om9wdGlvbmFsPFB1c2hT
dWJzY3JpcHRpb25EYXRhPiwgRXhjZXB0aW9uRGF0YT4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIp
Cit2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Z2V0UHVzaFN1YnNjcmlwdGlvbihXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChFeHBlY3RlZDxzdGQ6Om9wdGlvbmFsPFB1c2hTdWJzY3JpcHRpb25EYXRhPiwgRXhjZXB0
aW9uRGF0YT4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKHJl
Z2lzdHJhdGlvbklkZW50aWZpZXIpOwotICAgIAogICAgIGNvbXBsZXRpb25IYW5kbGVyKHN0ZDo6
b3B0aW9uYWw8UHVzaFN1YnNjcmlwdGlvbkRhdGE+KHN0ZDo6bnVsbG9wdCkpOwogfQogCi12b2lk
IFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Z2V0UHVzaFBlcm1pc3Npb25TdGF0ZShXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciByZWdpc3RyYXRpb25JZGVudGlmaWVy
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPHVpbnQ4X3QsIEV4Y2VwdGlvbkRhdGE+
JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246Omdl
dFB1c2hQZXJtaXNzaW9uU3RhdGUoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8dWludDhfdCwgRXhjZXB0
aW9uRGF0YT4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKHJl
Z2lzdHJhdGlvbklkZW50aWZpZXIpOwotICAgIAogICAgIGNvbXBsZXRpb25IYW5kbGVyKHN0YXRp
Y19jYXN0PHVpbnQ4X3Q+KFB1c2hQZXJtaXNzaW9uU3RhdGU6OkRlbmllZCkpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dT
ZXJ2ZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VX
b3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKaW5kZXggOTZhMmNiMGQxY2E5OTc5Y2ZkNDUx
YTc3ZTU1ZWU3Y2I0NTEyZGVhZC4uY2I2NWFlMmUyNjE0YmE1NWZiZjIwYWUwODU1OWI0MWNjMThj
NDYxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29y
a2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaApAQCAtMTIyLDcgKzEy
Miw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVUaHJvdHRsZVN0YXRlKCk7CiAKICAgICB2
b2lkIHN1YnNjcmliZVRvUHVzaFNlcnZpY2UoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbklkZW50aWZpZXIsIFZlY3Rvcjx1aW50OF90PiYmIGFwcGxpY2F0aW9uU2VydmVyS2V5LCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPFdlYkNvcmU6OlB1c2hTdWJzY3JpcHRpb25E
YXRhLCBXZWJDb3JlOjpFeGNlcHRpb25EYXRhPiYmKT4mJik7Ci0gICAgdm9pZCB1bnN1YnNjcmli
ZUZyb21QdXNoU2VydmljZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRp
ZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxib29sLCBXZWJDb3JlOjpFeGNl
cHRpb25EYXRhPiYmKT4mJik7CisgICAgdm9pZCB1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6UHVz
aFN1YnNjcmlwdGlvbklkZW50aWZpZXIsICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVk
PGJvb2wsIFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+JiYpPiYmKTsKICAgICB2b2lkIGdldFB1c2hT
dWJzY3JpcHRpb24oV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQ
dXNoU3Vic2NyaXB0aW9uRGF0YT4sIFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+JiYpPiYmKTsKICAg
ICB2b2lkIGdldFB1c2hQZXJtaXNzaW9uU3RhdGUoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8dWludDhf
dCwgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YT4mJik+JiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9u
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2Vy
L1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgppbmRleCBhZTJiMjdmNGVkNjU3ODhj
NTg4ZTYxYjU5NzU4Y2U4Mjg3ZTJjY2NmLi45N2M0MGZjOWNkYzBhNmRkNmM4MzM1N2NhNTZlZWI5
NDNmZGM4ZDM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZp
Y2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24u
bWVzc2FnZXMuaW4KQEAgLTQ4LDcgKzQ4LDcgQEAgbWVzc2FnZXMgLT4gV2ViU1dTZXJ2ZXJDb25u
ZWN0aW9uIE5vdFJlZkNvdW50ZWQgewogICAgIFN0b3JlUmVnaXN0cmF0aW9uc09uRGlzaygpIC0+
ICgpIEFzeW5jCiAKICAgICBTdWJzY3JpYmVUb1B1c2hTZXJ2aWNlKFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIsIFZlY3Rvcjx1aW50OF90PiBh
cHBsaWNhdGlvblNlcnZlcktleSkgLT4gKEV4cGVjdGVkPFdlYkNvcmU6OlB1c2hTdWJzY3JpcHRp
b25EYXRhLCBXZWJDb3JlOjpFeGNlcHRpb25EYXRhPiByZXN1bHQpIEFzeW5jCi0gICAgVW5zdWJz
Y3JpYmVGcm9tUHVzaFNlcnZpY2UoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIgaWRlbnRpZmllcikgLT4gKEV4cGVjdGVkPGJvb2wsIFdlYkNvcmU6OkV4Y2VwdGlv
bkRhdGE+IHJlc3VsdCkgQXN5bmMKKyAgICBVbnN1YnNjcmliZUZyb21QdXNoU2VydmljZShXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBzZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6UHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIg
cHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIpIC0+IChFeHBlY3RlZDxib29sLCBXZWJDb3JlOjpF
eGNlcHRpb25EYXRhPiByZXN1bHQpIEFzeW5jCiAgICAgR2V0UHVzaFN1YnNjcmlwdGlvbihXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKSAtPiAo
RXhwZWN0ZWQ8c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQdXNoU3Vic2NyaXB0aW9uRGF0YT4sIFdl
YkNvcmU6OkV4Y2VwdGlvbkRhdGE+IHJlc3VsdCkgQXN5bmMKICAgICBHZXRQdXNoUGVybWlzc2lv
blN0YXRlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50
aWZpZXIpIC0+IChFeHBlY3RlZDx1aW50OF90LCBXZWJDb3JlOjpFeGNlcHRpb25EYXRhPiByZXN1
bHQpIEFzeW5jIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21l
c3NhZ2VzLnB5IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRl
eCBjMWY0M2ExOGM3MmJmYjI1ZmY4Y2M2MzE0ZjFjNzgzNzFhNmI5MjBlLi5jYTM3YWNiZDVjNWFh
MjgwMjNhOTNkOGQ0MThjYzAyZDkyNWI5OTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Nj
cmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJr
aXQvbWVzc2FnZXMucHkKQEAgLTI4OSw2ICsyODksNyBAQCBkZWYgdHlwZXNfdGhhdF9jYW5ub3Rf
YmVfZm9yd2FyZF9kZWNsYXJlZCgpOgogICAgICAgICAnV2ViQ29yZTo6UGxheWJhY2tUYXJnZXRD
bGllbnRDb250ZXh0SWRlbnRpZmllcicsCiAgICAgICAgICdXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xp
ZW50UG9saWN5JywKICAgICAgICAgJ1dlYkNvcmU6OlBvaW50ZXJJRCcsCisgICAgICAgICdXZWJD
b3JlOjpQdXNoU3Vic2NyaXB0aW9uSWRlbnRpZmllcicsCiAgICAgICAgICdXZWJDb3JlOjpQcm9j
ZXNzSWRlbnRpZmllcicsCiAgICAgICAgICdXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRl
bnRpZmllcicsCiAgICAgICAgICdXZWJDb3JlOjpSZW5kZXJpbmdNb2RlJywKQEAgLTgxNyw2ICs4
MTgsNyBAQCBkZWYgaGVhZGVyc19mb3JfdHlwZSh0eXBlKToKICAgICAgICAgJ1dlYkNvcmU6OlBv
bGljeUNoZWNrSWRlbnRpZmllcic6IFsnPFdlYkNvcmUvRnJhbWVMb2FkZXJUeXBlcy5oPiddLAog
ICAgICAgICAnV2ViQ29yZTo6UHJlc2VydmVSZXNvbHV0aW9uJzogWyc8V2ViQ29yZS9JbWFnZUJ1
ZmZlckJhY2tlbmQuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyJzog
Wyc8V2ViQ29yZS9Qcm9jZXNzSWRlbnRpZmllci5oPiddLAorICAgICAgICAnV2ViQ29yZTo6UHVz
aFN1YnNjcmlwdGlvbklkZW50aWZpZXInOiBbJzxXZWJDb3JlL1B1c2hTdWJzY3JpcHRpb25JZGVu
dGlmaWVyLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpRdWFkQ3VydmVEYXRhJzogWyc8V2ViQ29y
ZS9JbmxpbmVQYXRoRGF0YS5oPiddLAogICAgICAgICAnV2ViQ29yZTo6UmVjZW50U2VhcmNoJzog
Wyc8V2ViQ29yZS9TZWFyY2hQb3B1cE1lbnUuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlJlcXVl
c3RTdG9yYWdlQWNjZXNzUmVzdWx0JzogWyc8V2ViQ29yZS9Eb2N1bWVudFN0b3JhZ2VBY2Nlc3Mu
aD4nXSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNX
Q2xpZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IDA5ZjY2NWVlYzllZWEzZTE0OWUwNjE3YjFh
M2Q2YjYwOGVlYzQ1Y2YuLjY5MWY3NjVmZTgxOGI4ZmQ3MDczMDYxOGNjYThlZTNiZjAyZjAxMjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50
Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U1dDbGllbnRDb25uZWN0aW9uLmNwcApAQCAtMjM4LDkgKzIzOCw5IEBAIHZvaWQgV2ViU1dDbGll
bnRDb25uZWN0aW9uOjpzdWJzY3JpYmVUb1B1c2hTZXJ2aWNlKFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJSZWdpc3RyCiAgICAgfSk7CiB9CiAKLXZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjp1bnN1
YnNjcmliZUZyb21QdXNoU2VydmljZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllciByZWdpc3RyYXRpb25JZGVudGlmaWVyLCBVbnN1YnNjcmliZUZyb21QdXNoU2Vy
dmljZUNhbGxiYWNrJiYgY2FsbGJhY2spCit2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6dW5z
dWJzY3JpYmVGcm9tUHVzaFNlcnZpY2UoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bklkZW50aWZpZXIgcmVnaXN0cmF0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6UHVzaFN1YnNjcmlw
dGlvbklkZW50aWZpZXIgc3Vic2NyaXB0aW9uSWRlbnRpZmllciwgVW5zdWJzY3JpYmVGcm9tUHVz
aFNlcnZpY2VDYWxsYmFjayYmIGNhbGxiYWNrKQogewotICAgIHNlbmRXaXRoQXN5bmNSZXBseShN
ZXNzYWdlczo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpVbnN1YnNjcmliZUZyb21QdXNoU2Vydmlj
ZSB7IHJlZ2lzdHJhdGlvbklkZW50aWZpZXIgfSwgW2NhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFj
ayldKGF1dG8mJiByZXN1bHQpIG11dGFibGUgeworICAgIHNlbmRXaXRoQXN5bmNSZXBseShNZXNz
YWdlczo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpVbnN1YnNjcmliZUZyb21QdXNoU2VydmljZSB7
IHJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIHN1YnNjcmlwdGlvbklkZW50aWZpZXIgfSwgW2NhbGxi
YWNrID0gV1RGTW92ZShjYWxsYmFjayldKGF1dG8mJiByZXN1bHQpIG11dGFibGUgewogICAgICAg
ICBpZiAoIXJlc3VsdC5oYXNfdmFsdWUoKSkKICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjayhy
ZXN1bHQuZXJyb3IoKS50b0V4Y2VwdGlvbigpKTsKICAgICAgICAgY2FsbGJhY2soKnJlc3VsdCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVu
dENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xp
ZW50Q29ubmVjdGlvbi5oCmluZGV4IGUyYTFkMzZmYzhiYjlhYTE2NDZhYTVmN2QyNDU0MDJhYzBj
MjY4YTMuLmYwNDc3MzE2NTViNWFjNWNmYzVjMGVlNzQ3M2JhNjQzZTk5NWY4NGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29u
bmVjdGlvbi5oCkBAIC05MSw3ICs5MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdG9yZVJlZ2lz
dHJhdGlvbnNPbkRpc2tGb3JUZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJikgZmlu
YWw7CiAgICAgCiAgICAgdm9pZCBzdWJzY3JpYmVUb1B1c2hTZXJ2aWNlKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBjb25zdCBWZWN0b3I8dWludDhfdD4mIGFw
cGxpY2F0aW9uU2VydmVyS2V5LCBTdWJzY3JpYmVUb1B1c2hTZXJ2aWNlQ2FsbGJhY2smJikgZmlu
YWw7Ci0gICAgdm9pZCB1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgVW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2VD
YWxsYmFjayYmKSBmaW5hbDsKKyAgICB2b2lkIHVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBXZWJDb3JlOjpQdXNo
U3Vic2NyaXB0aW9uSWRlbnRpZmllciwgVW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2VDYWxsYmFj
ayYmKSBmaW5hbDsKICAgICB2b2lkIGdldFB1c2hTdWJzY3JpcHRpb24oV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIEdldFB1c2hTdWJzY3JpcHRpb25DYWxsYmFj
ayYmKSBmaW5hbDsKICAgICB2b2lkIGdldFB1c2hQZXJtaXNzaW9uU3RhdGUoV2ViQ29yZTo6U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIEdldFB1c2hQZXJtaXNzaW9uU3RhdGVD
YWxsYmFjayYmKSBmaW5hbDsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449743</attachid>
            <date>2022-01-22 20:30:22 -0800</date>
            <delta_ts>2022-01-22 21:22:07 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-234797-20220122203021.patch</filename>
            <type>text/plain</type>
            <size>35297</size>
            <attacher name="Ben Nham">nham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjg5YWNmNzkzNmM1Mjk4
OTg4ZDNlZjY1OWVlMjMzMzdjYWZjMDZjZC4uM2ZkODJmZWM2Y2JhZDg0MjEzMWU0MTkzMTQ3NTMz
NTUzMzA4MDNiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDIyLTAxLTAyICBCZW4g
TmhhbSAgPG5oYW1AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBQdXNoU3Vic2NyaXB0aW9uSWRl
bnRpZmllcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM0Nzk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgVGhp
cyBhZGRzIGEgUHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIgdG8gZWFjaCBQdXNoU3Vic2NyaXB0
aW9uLiBJbXBsZW1lbnRhdGlvbi13aXNlLCBpdAorICAgICAgICB3aWxsIGJlIHRoZSByb3dpZCBp
ZiB0aGUgc3Vic2NyaXB0aW9uIGluIHRoZSBzdWJzY3JpcHRpb24gZGF0YWJhc2UuIFdlIG5lZWQg
dGhpcyBzbyB0aGF0CisgICAgICAgIFB1c2hTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUgb25seSB1
bnN1YnNjcmliZXMgZnJvbSB0aGUgZ2l2ZW4gc3Vic2NyaXB0aW9uLiBDdXJyZW50bHkgaXQKKyAg
ICAgICAgdW5zdWJzY3JpYmVzIGZyb20gYW55IGFjdGl2ZSBzdWJzY3JpcHRpb24gYXNzb2NpYXRl
ZCB3aXRoIHRoZSBzdWJzY3JpcHRpb24ncyBzZXJ2aWNlIHdvcmtlcgorICAgICAgICBzY29wZS4K
KworICAgICAgICBObyBuZXcgdGVzdHMuIEkgcGxhbiBvbiBhZGRpbmcgYSB0ZXN0IGZvciB0aGlz
IGNhc2UgaW4gYW4gQVBJIHRlc3Qgd2hpY2ggd2lsbCB3b3JrIHdpdGggcmVhbAorICAgICAgICBQ
dXNoU3Vic2NyaXB0aW9uIG9iamVjdHMgd2hlbiBJIHN1Ym1pdCB0aGUgcGF0Y2ggdGhhdCBpbXBs
ZW1lbnRzIHRoZSBzdWJzY3JpcHRpb24gYnVzaW5lc3MKKyAgICAgICAgbG9naWMgaW4gd2VicHVz
aGQuIFRoZSBjdXJyZW50IGxheW91dCB0ZXN0cyBvbmx5IHdvcmsgd2l0aCBmYWtlIFB1c2hTdWJz
Y3JpcHRpb24gb2JqZWN0cworICAgICAgICB0aGF0IGFyZW4ndCBjb25uZWN0ZWQgdG8gd2VicHVz
aGQuCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAgICAqIE1vZHVsZXMvcHVzaC1h
cGkvUHVzaFN1YnNjcmlwdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQdXNoU3Vic2NyaXB0
aW9uOjp1bnN1YnNjcmliZSk6CisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2Ny
aXB0aW9uRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQdXNoU3Vic2NyaXB0aW9uRGF0YTo6
aXNvbGF0ZWRDb3B5IGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJz
Y3JpcHRpb25EYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpQdXNoU3Vic2NyaXB0aW9uRGF0YTo6
ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlB1c2hTdWJzY3JpcHRpb25EYXRhOjpk
ZWNvZGUpOgorICAgICAgICB3ZWJwdXNoZCBvbmx5IHN1cHBvcnRzIG1vZGVybiBkZWNvZGluZyBh
bmQgd2UgbmVlZCB0byBzZW5kIHRoaXMgb2JqZWN0IHRvIGl0LCBzbyB1c2UgbW9kZXJuIGRlY29k
aW5nLgorCisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uSWRlbnRp
Zmllci5oOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bHM6OmNyZWF0ZVB1c2hTdWJzY3JpcHRpb24pOgorICAgICAgICAqIHRlc3RpbmcvU2VydmljZVdv
cmtlckludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySW50ZXJu
YWxzOjpjcmVhdGVQdXNoU3Vic2NyaXB0aW9uKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uv
U1dDbGllbnRDb25uZWN0aW9uLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRh
aW5lcjo6dW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2UpOgorICAgICAgICAqIHdvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbjo6dW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2UpOgorICAgICAg
ICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmg6CisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL1dvcmtlclNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXb3JrZXJTV0NsaWVudENvbm5lY3Rpb246OnVuc3Vic2NyaWJlRnJvbVB1c2hT
ZXJ2aWNlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvV29ya2VyU1dDbGllbnRDb25uZWN0
aW9uLmg6CisKIDIwMjItMDEtMjAgIEFsZXhleSBTaHZheWthICA8YXNodmF5a2FAYXBwbGUuY29t
PgogCiAgICAgICAgIENhbGxiYWNrIGZ1bmN0aW9ucyAvIGludGVyZmFjZXMgc2hvdWxkIHVzZSBn
bG9iYWwgb2JqZWN0IG9mIGl0cyBfdmFsdWVfIGZvciBlcnJvcnMgYW5kIGxpZmVjeWNsZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCA3MmM2NWVjOWY4NmVmODZmZWM3ODVkZDA4ZGM4NTljMmJjYTJjMjExLi5lYzE4ZmNl
N2RmM2MyMGJhYmIyZDAzNzg4NGFmMTVkMGJlNWQ0M2VkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
IEBACisyMDIyLTAxLTAyICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29tPgorCisgICAgICAgIEFk
ZCBQdXNoU3Vic2NyaXB0aW9uSWRlbnRpZmllcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0Nzk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCisKKyAgICAgICAgUGFzcyB0aGUgc3Vic2NyaXB0aW9uIGlkZW50aWZpZXIgaW4gdGhl
IFB1c2hTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUgY2FsbCB0byBndWFyYW50ZWUgdGhhdAorICAg
ICAgICB3ZSBvbmx5IHVuc3Vic2NyaWJlIGZyb20gdGhlIGdpdmVuIHN1YnNjcmlwdGlvbi4KKwor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjp1bnN1YnNj
cmliZUZyb21QdXNoU2VydmljZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2VydmljZVdv
cmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9T
ZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weToKKyAgICAgICAgKHR5cGVzX3RoYXRfY2Fubm90
X2JlX2ZvcndhcmRfZGVjbGFyZWQpOgorICAgICAgICAoaGVhZGVyc19mb3JfdHlwZSk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNXQ2xpZW50Q29ubmVjdGlvbjo6dW5zdWJzY3JpYmVGcm9tUHVzaFNl
cnZpY2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rp
b24uaDoKKwogMjAyMi0wMS0yMCAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5j
b20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBQbGF5U3RhdGlvbiAvIGNsYW5nLWNsIGJ1aWxkIGZp
eCBmb2xsb3dpbmcgcjI4ODI5OC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMu
Y21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IDg4OTBmOGRiYTQ3NGMz
OTJjMzczMjk4ZGE3NTgwZjcxOWNlNWMzZGUuLjZlOWQ5YzQ4Yzg3YWNlNjYwYjNlMzBiZGIzMGRm
M2VhMzkzMTE2MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysr
IGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMjk2LDYgKzI5Niw3IEBAIHNldChX
ZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBNb2R1bGVzL3B1c2gtYXBpL1B1
c2hNZXNzYWdlQ3J5cHRvLmgKICAgICBNb2R1bGVzL3B1c2gtYXBpL1B1c2hQZXJtaXNzaW9uU3Rh
dGUuaAogICAgIE1vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkRhdGEuaAorICAgIE1v
ZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIuaAogCiAgICAgTW9kdWxl
cy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25DYXB0dXJlU291cmNlLmgKICAgICBNb2R1bGVzL3Nw
ZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkNhcHR1cmVTb3VyY2VJbXBsLmgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb24uY3BwCmluZGV4IDUy
MmRhODVmODVjMmQ3MDRlNjQzZmU3MGMyMDEyMzU4MzI4ZjQyYTAuLmUxYWY2MWYxMGJkNGZkZWM5
YzQ1Y2JhNWYxYTA4YTc5OWM2NzFkYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmNwcApAQCAtMTA2LDEzICsxMDYsMTMgQEAg
RXhjZXB0aW9uT3I8UmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+PiBQdXNoU3Vic2NyaXB0aW9uOjpn
ZXRLZXkoUHVzaEVuY3J5cHRpb25LZXkKIAogdm9pZCBQdXNoU3Vic2NyaXB0aW9uOjp1bnN1YnNj
cmliZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBET01Q
cm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQogewotICAgIHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6Ok5ldHdvcmtpbmcs
IFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwgcHJvbWlzZSA9IFdURk1vdmUo
cHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5ldmVudExv
b3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6TmV0d29ya2luZywgW3RoaXMsIHByb3RlY3RlZFRo
aXMgPSBSZWYgeyAqdGhpcyB9LCBwdXNoU3Vic2NyaXB0aW9uSWRlbnRpZmllciA9IG1fZGF0YS5p
ZGVudGlmaWVyLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsKICAgICAg
ICAgaWYgKCFtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24pIHsKICAgICAgICAgICAgIHByb21p
c2UucmVzb2x2ZShmYWxzZSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAg
ICAgICBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24tPnVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2
aWNlKFdURk1vdmUocHJvbWlzZSkpOworICAgICAgICBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24tPnVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlKHB1c2hTdWJzY3JpcHRpb25JZGVudGlmaWVy
LCBXVEZNb3ZlKHByb21pc2UpKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uRGF0YS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25EYXRhLmNwcAppbmRleCA2
MWEzZmVjYTUzNjIxM2I0ZTUzYzRlMGVkMmFhN2JhOGM2NGVjMTkxLi4yM2RiMzI3MGFiNzg3ZTUz
MjA1NjRhZWRjZGJlZDAxYzU3OTI0NDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25EYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25EYXRhLmNwcApAQCAtMzMsNiArMzMs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBQdXNoU3Vic2NyaXB0aW9uRGF0YSBQdXNoU3Vic2Ny
aXB0aW9uRGF0YTo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKIHsKICAgICBQdXNoU3Vic2NyaXB0aW9u
RGF0YSByZXN1bHQ7CisgICAgcmVzdWx0LmlkZW50aWZpZXIgPSBpZGVudGlmaWVyOwogICAgIHJl
c3VsdC5lbmRwb2ludCA9IGVuZHBvaW50Lmlzb2xhdGVkQ29weSgpOwogICAgIHJlc3VsdC5leHBp
cmF0aW9uVGltZSA9IGV4cGlyYXRpb25UaW1lOwogICAgIHJlc3VsdC5zZXJ2ZXJWQVBJRFB1Ymxp
Y0tleSA9IHNlcnZlclZBUElEUHVibGljS2V5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uRGF0YS5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uRGF0YS5oCmluZGV4IGUyMjdmNjA0NjEw
YjVjOTk2MDJmZmUzMWM2M2U5YWVmMDAzNTg4MTkuLjYzNWY5ZmM4MWU5YzY5ZTc2NWVhYmQwZTFh
ZTIxMWFlM2JkYTVhZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1h
cGkvUHVzaFN1YnNjcmlwdGlvbkRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1
c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25EYXRhLmgKQEAgLTI4LDEyICsyOCwxNCBAQAogI2lmIEVO
QUJMRShTRVJWSUNFX1dPUktFUikKIAogI2luY2x1ZGUgIkVwb2NoVGltZVN0YW1wLmgiCisjaW5j
bHVkZSAiUHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIuaCIKIAogI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBQdXNoU3Vic2Ny
aXB0aW9uRGF0YSB7CisgICAgUHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIgaWRlbnRpZmllcjsK
ICAgICBTdHJpbmcgZW5kcG9pbnQ7CiAgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpFcG9jaFRp
bWVTdGFtcD4gZXhwaXJhdGlvblRpbWU7CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IHNlcnZlclZBUElE
UHVibGljS2V5OwpAQCAtNDksNiArNTEsNyBAQCBzdHJ1Y3QgUHVzaFN1YnNjcmlwdGlvbkRhdGEg
ewogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KIHZvaWQgUHVzaFN1YnNjcmlwdGlvbkRhdGE6OmVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogeworICAgIGVuY29kZXIgPDwgaWRlbnRpZmll
cjsKICAgICBlbmNvZGVyIDw8IGVuZHBvaW50OwogICAgIGVuY29kZXIgPDwgZXhwaXJhdGlvblRp
bWU7CiAgICAgZW5jb2RlciA8PCBzZXJ2ZXJWQVBJRFB1YmxpY0tleTsKQEAgLTU5LDE4ICs2Miwz
NyBAQCB2b2lkIFB1c2hTdWJzY3JpcHRpb25EYXRhOjplbmNvZGUoRW5jb2RlciYgZW5jb2Rlcikg
Y29uc3QKIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+CiBzdGQ6Om9wdGlvbmFsPFB1c2hTdWJzY3Jp
cHRpb25EYXRhPiBQdXNoU3Vic2NyaXB0aW9uRGF0YTo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIp
CiB7Ci0gICAgUHVzaFN1YnNjcmlwdGlvbkRhdGEgcmVzdWx0OwotICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUocmVzdWx0LmVuZHBvaW50KSkKKyAgICBzdGQ6Om9wdGlvbmFsPFB1c2hTdWJzY3JpcHRp
b25JZGVudGlmaWVyPiBpZGVudGlmaWVyOworICAgIGRlY29kZXIgPj4gaWRlbnRpZmllcjsKKyAg
ICBpZiAoIWlkZW50aWZpZXIpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgaWYg
KCFkZWNvZGVyLmRlY29kZShyZXN1bHQuZXhwaXJhdGlvblRpbWUpKQorCisgICAgc3RkOjpvcHRp
b25hbDxTdHJpbmc+IGVuZHBvaW50OworICAgIGRlY29kZXIgPj4gZW5kcG9pbnQ7CisgICAgaWYg
KCFlbmRwb2ludCkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKHJlc3VsdC5zZXJ2ZXJWQVBJRFB1YmxpY0tleSkpCisKKyAgICBzdGQ6Om9wdGlv
bmFsPHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RXBvY2hUaW1lU3RhbXA+PiBleHBpcmF0aW9uVGlt
ZTsKKyAgICBkZWNvZGVyID4+IGV4cGlyYXRpb25UaW1lOworICAgIGlmICghZXhwaXJhdGlvblRp
bWUpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShyZXN1bHQuY2xpZW50RUNESFB1YmxpY0tleSkpCisKKyAgICBzdGQ6Om9wdGlvbmFsPFZlY3Rv
cjx1aW50OF90Pj4gc2VydmVyVkFQSURQdWJsaWNLZXk7CisgICAgZGVjb2RlciA+PiBzZXJ2ZXJW
QVBJRFB1YmxpY0tleTsKKyAgICBpZiAoIXNlcnZlclZBUElEUHVibGljS2V5KQogICAgICAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnNoYXJl
ZEF1dGhlbnRpY2F0aW9uU2VjcmV0KSkKKworICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4
X3Q+PiBjbGllbnRFQ0RIUHVibGljS2V5OworICAgIGRlY29kZXIgPj4gY2xpZW50RUNESFB1Ymxp
Y0tleTsKKyAgICBpZiAoIWNsaWVudEVDREhQdWJsaWNLZXkpCiAgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9y
PHVpbnQ4X3Q+PiBzaGFyZWRBdXRoZW50aWNhdGlvblNlY3JldDsKKyAgICBkZWNvZGVyID4+IHNo
YXJlZEF1dGhlbnRpY2F0aW9uU2VjcmV0OworICAgIGlmICghc2hhcmVkQXV0aGVudGljYXRpb25T
ZWNyZXQpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gUHVzaFN1
YnNjcmlwdGlvbkRhdGEgeyBXVEZNb3ZlKCppZGVudGlmaWVyKSwgV1RGTW92ZSgqZW5kcG9pbnQp
LCBXVEZNb3ZlKCpleHBpcmF0aW9uVGltZSksIFdURk1vdmUoKnNlcnZlclZBUElEUHVibGljS2V5
KSwgV1RGTW92ZSgqY2xpZW50RUNESFB1YmxpY0tleSksIFdURk1vdmUoKnNoYXJlZEF1dGhlbnRp
Y2F0aW9uU2VjcmV0KSB9OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25JZGVudGlm
aWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25J
ZGVudGlmaWVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDAwMzRiNmY2N2ZiMWM0OGIyNzJiNzEyN2NkNTBmYmQx
YjIyYmFhOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1h
cGkvUHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIuaApAQCAtMCwwICsxLDM1IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvT2JqZWN0SWRlbnRpZmllci5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gUHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXJU
eXBlIHsgfTsKK3VzaW5nIFB1c2hTdWJzY3JpcHRpb25JZGVudGlmaWVyID0gT2JqZWN0SWRlbnRp
ZmllcjxQdXNoU3Vic2NyaXB0aW9uSWRlbnRpZmllclR5cGU+OworCit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYjA4MWI2YTE5
ZDNkZDVmYjY3ZmIxNmU3YmZhOWM3NTg2ZmY5ZjFhZC4uZGUyOWI3YmE1OTRkM2YyOGNhNTgwNGU1
YWEwZWI1ZmU4NDlhNDMwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTQ2Niw2ICs1NDY2LDcgQEAKIAkJRUJCOTczODEyNzEw
MDY3MTAwNzczMkVGIC8qIFB1c2hNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFQkI5NzM4MDI3MTAwNjU0MDA3NzMyRUYgLyogUHVzaE1hbmFn
ZXIuaCAqLzsgfTsKIAkJRUJCOTczODIyNzEwMDY3NjAwNzczMkVGIC8qIFB1c2hQZXJtaXNzaW9u
U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEVC
Qjk3Mzc4MjcxMDA2NTEwMDc3MzJFRiAvKiBQdXNoUGVybWlzc2lvblN0YXRlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRUJCOTczODMyNzEwMDY4
NDAwNzczMkVGIC8qIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25QdXNoQVBJLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFQkI5NzM3QTI3MTAwNjUyMDA3
NzMyRUYgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblB1c2hBUEkuaCAqLzsgfTsKKwkJRUJF
MDk1RTUyNzdEMTREQTAwODA0RDYxIC8qIFB1c2hTdWJzY3JpcHRpb25JZGVudGlmaWVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFQkUwOTVFMzI3N0Qx
NEM3MDA4MDRENjEgLyogUHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFQkU1QjIyNjI0NUEyNkVGMDAz
QTVBODggLyogU1FMaXRlU3RhdGVtZW50QXV0b1Jlc2V0U2NvcGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEVCRTVCMjI0MjQ1QTI2RUUwMDNBNUE4OCAv
KiBTUUxpdGVTdGF0ZW1lbnRBdXRvUmVzZXRTY29wZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUVCRjUxMjFDMTY5NjQ5NkMwMDU2QkQyNSAvKiBK
U1R5cGVDb252ZXJzaW9ucy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFQkY1MTIxQTE2OTY0OTZDMDA1NkJEMjUgLyogSlNUeXBlQ29udmVyc2lvbnMu
Y3BwICovOyB9OwogCQlFQkY1MTIxRDE2OTY0OTZDMDA1NkJEMjUgLyogSlNUeXBlQ29udmVyc2lv
bnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEVCRjUx
MjFCMTY5NjQ5NkMwMDU2QkQyNSAvKiBKU1R5cGVDb252ZXJzaW9ucy5oICovOyB9OwpAQCAtMTc2
ODIsNiArMTc2ODMsNyBAQAogCQlFQkI5NzM3RTI3MTAwNjUzMDA3NzMyRUYgLyogUHVzaE1hbmFn
ZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IFB1c2hNYW5hZ2VyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRUJCOTczN0YyNzEwMDY1MzAwNzczMkVGIC8qIFB1c2hQZXJtaXNzaW9uU3RhdGUuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IFB1c2hQZXJtaXNzaW9uU3RhdGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFQkI5NzM4MDI3MTAwNjU0MDA3NzMyRUYgLyogUHVzaE1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUHVzaE1hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRUJFMDk1RTMy
NzdEMTRDNzAwODA0RDYxIC8qIFB1c2hTdWJzY3JpcHRpb25JZGVudGlmaWVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFB1c2hTdWJzY3JpcHRpb25JZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUVCRTVCMjI0MjQ1QTI2RUUwMDNBNUE4OCAvKiBTUUxpdGVTdGF0ZW1lbnRBdXRv
UmVzZXRTY29wZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTUUxpdGVTdGF0
ZW1lbnRBdXRvUmVzZXRTY29wZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFQkU1
QjIyNzI0NUEyOUNGMDAzQTVBODggLyogU1FMaXRlU3RhdGVtZW50QXV0b1Jlc2V0U2NvcGUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1FMaXRlU3RhdGVtZW50QXV0
b1Jlc2V0U2NvcGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFQkY1MTIxQTE2
OTY0OTZDMDA1NkJEMjUgLyogSlNUeXBlQ29udmVyc2lvbnMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNUeXBlQ29udmVyc2lvbnMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMjExOTEsNiArMjExOTMsNyBAQAogCQkJCUVCM0MyOUIyMjcyOUMz
NkUwMEZCNjVCNCAvKiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0LmlkbCAqLywKIAkJ
CQlFQjI4RUQ0MzI3MTdBQkE5MDA1RjAzOTMgLyogUHVzaFN1YnNjcmlwdGlvbkRhdGEuY3BwICov
LAogCQkJCUVCMjhFRDQxMjcxN0FCQTkwMDVGMDM5MyAvKiBQdXNoU3Vic2NyaXB0aW9uRGF0YS5o
ICovLAorCQkJCUVCRTA5NUUzMjc3RDE0QzcwMDgwNEQ2MSAvKiBQdXNoU3Vic2NyaXB0aW9uSWRl
bnRpZmllci5oICovLAogCQkJCUVCMEZCNzAzMjcwRDBBRUIwMEY3ODEwRCAvKiBQdXNoU3Vic2Ny
aXB0aW9uSlNPTi5oICovLAogCQkJCUVCMEZCNzAyMjcwRDBBRUEwMEY3ODEwRCAvKiBQdXNoU3Vi
c2NyaXB0aW9uSlNPTi5pZGwgKi8sCiAJCQkJRUIwRkI2RkIyNzBEMEFFNjAwRjc4MTBEIC8qIFB1
c2hTdWJzY3JpcHRpb25PcHRpb25zLmNwcCAqLywKQEAgLTM2NjAzLDYgKzM2NjA2LDcgQEAKIAkJ
CQlFQjNDMjlCNjI3MjlDMzg4MDBGQjY1QjQgLyogUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlFQjNDMjlCNzI3MjlDMzhDMDBGQjY1QjQgLyogUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRUIyOEVENDQy
NzE3QUMxMTAwNUYwMzkzIC8qIFB1c2hTdWJzY3JpcHRpb25EYXRhLmggaW4gSGVhZGVycyAqLywK
KwkJCQlFQkUwOTVFNTI3N0QxNERBMDA4MDRENjEgLyogUHVzaFN1YnNjcmlwdGlvbklkZW50aWZp
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUVCMEZCNzBBMjcwRDBCMUIwMEY3ODEwRCAvKiBQdXNo
U3Vic2NyaXB0aW9uSlNPTi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRUIwRkI3MEMyNzBEMEIyOTAw
Rjc4MTBEIC8qIFB1c2hTdWJzY3JpcHRpb25PcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQlF
QjBGQjcwRDI3MEQwQjJFMDBGNzgxMEQgLyogUHVzaFN1YnNjcmlwdGlvbk9wdGlvbnNJbml0Lmgg
aW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA4NWNl
MjQyZGM2NTNjZmM5ZjMwNzQ3NWVjNWRjNjFlYjYwM2E2NTM0Li5lNzBhYjQ2ZTJlYTIwY2Q3ZWE2
NDgzMzNjM2IzOWY2M2ZlYzBiZjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CkBAIC02NjMwLDcgKzY2MzAsNyBAQCBSZWZQdHI8UHVzaFN1YnNjcmlwdGlvbj4gSW50ZXJuYWxz
OjpjcmVhdGVQdXNoU3Vic2NyaXB0aW9uKGNvbnN0IFN0cmluZyYgZW5kcG9pbgogICAgIFZlY3Rv
cjx1aW50OF90PiBteUNsaWVudEVDREhQdWJsaWNLZXkgeyBzdGF0aWNfY2FzdDxjb25zdCB1aW50
OF90Kj4oY2xpZW50RUNESFB1YmxpY0tleS5kYXRhKCkpLCBjbGllbnRFQ0RIUHVibGljS2V5LmJ5
dGVMZW5ndGgoKSB9OwogICAgIFZlY3Rvcjx1aW50OF90PiBteUF1dGggeyBzdGF0aWNfY2FzdDxj
b25zdCB1aW50OF90Kj4oYXV0aC5kYXRhKCkpLCBhdXRoLmJ5dGVMZW5ndGgoKSB9OwogCi0gICAg
cmV0dXJuIFB1c2hTdWJzY3JpcHRpb246OmNyZWF0ZShQdXNoU3Vic2NyaXB0aW9uRGF0YSB7IFdU
Rk1vdmUobXlFbmRwb2ludCksIGV4cGlyYXRpb25UaW1lLCBXVEZNb3ZlKG15U2VydmVyVkFQSURQ
dWJsaWNLZXkpLCBXVEZNb3ZlKG15Q2xpZW50RUNESFB1YmxpY0tleSksIFdURk1vdmUobXlBdXRo
KSB9KTsKKyAgICByZXR1cm4gUHVzaFN1YnNjcmlwdGlvbjo6Y3JlYXRlKFB1c2hTdWJzY3JpcHRp
b25EYXRhIHsgeyB9LCBXVEZNb3ZlKG15RW5kcG9pbnQpLCBleHBpcmF0aW9uVGltZSwgV1RGTW92
ZShteVNlcnZlclZBUElEUHVibGljS2V5KSwgV1RGTW92ZShteUNsaWVudEVDREhQdWJsaWNLZXkp
LCBXVEZNb3ZlKG15QXV0aCkgfSk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5jcHAKaW5kZXggZGUzZjVhZDNkNjZlNTI3
ZTNkMWQ2NjAwNmYxMmUzNjc0YjcyMWRlNi4uNTQxM2NlMjJhYzgxMDkzZTZiNWQzYWRkZDJiMTI2
ODMzM2QyNzQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29y
a2VySW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3Jr
ZXJJbnRlcm5hbHMuY3BwCkBAIC0xODYsNyArMTg2LDcgQEAgUmVmUHRyPFB1c2hTdWJzY3JpcHRp
b24+IFNlcnZpY2VXb3JrZXJJbnRlcm5hbHM6OmNyZWF0ZVB1c2hTdWJzY3JpcHRpb24oY29uc3Qg
U3QKICAgICBWZWN0b3I8dWludDhfdD4gbXlDbGllbnRFQ0RIUHVibGljS2V5IHsgc3RhdGljX2Nh
c3Q8Y29uc3QgdWludDhfdCo+KGNsaWVudEVDREhQdWJsaWNLZXkuZGF0YSgpKSwgY2xpZW50RUNE
SFB1YmxpY0tleS5ieXRlTGVuZ3RoKCkgfTsKICAgICBWZWN0b3I8dWludDhfdD4gbXlBdXRoIHsg
c3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KGF1dGguZGF0YSgpKSwgYXV0aC5ieXRlTGVuZ3Ro
KCkgfTsKIAotICAgIHJldHVybiBQdXNoU3Vic2NyaXB0aW9uOjpjcmVhdGUoUHVzaFN1YnNjcmlw
dGlvbkRhdGEgeyBXVEZNb3ZlKG15RW5kcG9pbnQpLCBleHBpcmF0aW9uVGltZSwgV1RGTW92ZSht
eVNlcnZlclZBUElEUHVibGljS2V5KSwgV1RGTW92ZShteUNsaWVudEVDREhQdWJsaWNLZXkpLCBX
VEZNb3ZlKG15QXV0aCkgfSk7CisgICAgcmV0dXJuIFB1c2hTdWJzY3JpcHRpb246OmNyZWF0ZShQ
dXNoU3Vic2NyaXB0aW9uRGF0YSB7IHsgfSwgV1RGTW92ZShteUVuZHBvaW50KSwgZXhwaXJhdGlv
blRpbWUsIFdURk1vdmUobXlTZXJ2ZXJWQVBJRFB1YmxpY0tleSksIFdURk1vdmUobXlDbGllbnRF
Q0RIUHVibGljS2V5KSwgV1RGTW92ZShteUF1dGgpIH0pOwogfQogCiBib29sIFNlcnZpY2VXb3Jr
ZXJJbnRlcm5hbHM6OmZldGNoRXZlbnRJc1NhbWVTaXRlKEZldGNoRXZlbnQmIGV2ZW50KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5o
CmluZGV4IDI1YzVhNWNkODMwMzNiNjlmNjExMjI3NGQ2ZDBiNTkzZmU3MTdmM2YuLjlmNDU1ZmI1
NWExY2JlYjdjNDM0NzBlZDdjNmMzMTE2OWZlZTZlYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmgKQEAgLTkzLDcgKzkzLDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzdWJzY3JpYmVUb1B1c2hTZXJ2aWNlKFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBjb25zdCBWZWN0b3I8dWludDhfdD4mIGFw
cGxpY2F0aW9uU2VydmVyS2V5LCBTdWJzY3JpYmVUb1B1c2hTZXJ2aWNlQ2FsbGJhY2smJikgPSAw
OwogICAgIAogICAgIHVzaW5nIFVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlQ2FsbGJhY2sgPSBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4Y2VwdGlvbk9yPGJvb2w+JiYpPjsKLSAgICB2aXJ0dWFs
IHZvaWQgdW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2UoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bklkZW50aWZpZXIsIFVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlQ2FsbGJhY2smJikgPSAwOwor
ICAgIHZpcnR1YWwgdm9pZCB1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllciwgUHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIsIFVuc3Vi
c2NyaWJlRnJvbVB1c2hTZXJ2aWNlQ2FsbGJhY2smJikgPSAwOwogICAgIAogICAgIHVzaW5nIEdl
dFB1c2hTdWJzY3JpcHRpb25DYWxsYmFjayA9IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhjZXB0
aW9uT3I8c3RkOjpvcHRpb25hbDxQdXNoU3Vic2NyaXB0aW9uRGF0YT4+JiYpPjsKICAgICB2aXJ0
dWFsIHZvaWQgZ2V0UHVzaFN1YnNjcmlwdGlvbihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRl
bnRpZmllciwgR2V0UHVzaFN1YnNjcmlwdGlvbkNhbGxiYWNrJiYpID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVy
LmNwcAppbmRleCAwOTlmZGVlNDZiMmRhMDdlMWRkZjhlMTgyOGNmNmFkMDIxMTJhZmQ1Li41MDY5
MThlMjQ4MDJkM2RmYjA2NWI0NGY3MDZhMmFhODBmMjhjMzNhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3Bw
CkBAIC01NzAsOSArNTcwLDkgQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpzdWJzY3Jp
YmVUb1B1c2hTZXJ2aWNlKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24mIHIKICAgICB9KTsKIH0K
IAotdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjp1bnN1YnNjcmliZUZyb21QdXNoU2Vydmlj
ZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyLCBET01Qcm9t
aXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQordm9pZCBTZXJ2aWNlV29ya2VyQ29u
dGFpbmVyOjp1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllciBpZGVudGlmaWVyLCBQdXNoU3Vic2NyaXB0aW9uSWRlbnRpZmllciBzdWJz
Y3JpcHRpb25JZGVudGlmaWVyLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9t
aXNlKQogewotICAgIGVuc3VyZVNXQ2xpZW50Q29ubmVjdGlvbigpLnVuc3Vic2NyaWJlRnJvbVB1
c2hTZXJ2aWNlKGlkZW50aWZpZXIsIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oYXV0byYm
IHJlc3VsdCkgbXV0YWJsZSB7CisgICAgZW5zdXJlU1dDbGllbnRDb25uZWN0aW9uKCkudW5zdWJz
Y3JpYmVGcm9tUHVzaFNlcnZpY2UoaWRlbnRpZmllciwgc3Vic2NyaXB0aW9uSWRlbnRpZmllciwg
W3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShhdXRvJiYgcmVzdWx0KSBtdXRhYmxlIHsKICAg
ICAgICAgcHJvbWlzZS5zZXR0bGUoV1RGTW92ZShyZXN1bHQpKTsKICAgICB9KTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFp
bmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRh
aW5lci5oCmluZGV4IGQ5ZDc0NThkNWQxODZkZDNkZDViYzhjZTZiYTQ3MjFhYzFlNjEyMDguLjc5
M2EyZjlhNDU4ZWI2NGJkNmNiYjI1MjU3ODU1ZTNhNDI5MTMzOWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaApA
QCAtODgsNyArODgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVSZWdpc3RyYXRpb24oU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbiYpOwogCiAgICAgdm9pZCBzdWJzY3JpYmVUb1B1c2hTZXJ2
aWNlKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24mLCBjb25zdCBWZWN0b3I8dWludDhfdD4mIGFw
cGxpY2F0aW9uU2VydmVyS2V5LCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPFB1c2hT
dWJzY3JpcHRpb24+PiYmKTsKLSAgICB2b2lkIHVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlKFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBET01Qcm9taXNlRGVmZXJyZWQ8SURM
Qm9vbGVhbj4mJik7CisgICAgdm9pZCB1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgUHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIs
IERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmKTsKICAgICB2b2lkIGdldFB1c2hTdWJz
Y3JpcHRpb24oU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiYsIERPTVByb21pc2VEZWZlcnJlZDxJ
RExOdWxsYWJsZTxJRExJbnRlcmZhY2U8UHVzaFN1YnNjcmlwdGlvbj4+PiYmKTsKICAgICB2b2lk
IGdldFB1c2hQZXJtaXNzaW9uU3RhdGUoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZp
ZXIsIERPTVByb21pc2VEZWZlcnJlZDxJRExFbnVtZXJhdGlvbjxQdXNoUGVybWlzc2lvblN0YXRl
Pj4mJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcAppbmRleCBjOTg4MzkxNjgzMGQ3NzQ0ZjEx
YWFhNTY3OTIzNmM3NjAwZjQ2ZTJmLi41MDE3ODFmNzBkNWY2NDcwOTIxYWEzMGM2ZmQ1YmJjYjA0
YjBkMGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCkBAIC0xNzMsMTQgKzE3MywxNCBAQCB2
b2lkIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnN1YnNjcmliZVRvUHVzaFNlcnZpY2UoY29u
c3QgVmVjdG9yPHVpbnQ4X3Q+JiBhcAogICAgIG1fY29udGFpbmVyLT5zdWJzY3JpYmVUb1B1c2hT
ZXJ2aWNlKCp0aGlzLCBhcHBsaWNhdGlvblNlcnZlcktleSwgV1RGTW92ZShwcm9taXNlKSk7CiB9
CiAKLXZvaWQgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dW5zdWJzY3JpYmVGcm9tUHVzaFNl
cnZpY2UoRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKK3ZvaWQgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2UoUHVzaFN1
YnNjcmlwdGlvbklkZW50aWZpZXIgc3Vic2NyaXB0aW9uSWRlbnRpZmllciwgRE9NUHJvbWlzZURl
ZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKIHsKICAgICBpZiAoaXNDb250ZXh0U3RvcHBl
ZCgpKSB7CiAgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbihJbnZhbGlkU3RhdGVFcnJv
cikpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgbV9jb250YWluZXItPnVuc3Vic2Ny
aWJlRnJvbVB1c2hTZXJ2aWNlKGlkZW50aWZpZXIoKSwgV1RGTW92ZShwcm9taXNlKSk7CisgICAg
bV9jb250YWluZXItPnVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlKGlkZW50aWZpZXIoKSwgc3Vi
c2NyaXB0aW9uSWRlbnRpZmllciwgV1RGTW92ZShwcm9taXNlKSk7CiB9CiAKIHZvaWQgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbjo6Z2V0UHVzaFN1YnNjcmlwdGlvbihET01Qcm9taXNlRGVmZXJy
ZWQ8SURMTnVsbGFibGU8SURMSW50ZXJmYWNlPFB1c2hTdWJzY3JpcHRpb24+Pj4mJiBwcm9taXNl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uLmgKaW5kZXggM2I2ZTZmZjVlNzAyZDY3ZDEzZDJjOGE3MjU2OGM3
YTM2YzI1NzU5OS4uYTNhNGFlNDRjZGVlNWJhZDU1OGU1MWNjYjU2MzYzYzkxNDQzNWNkNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbi5oCkBAIC03NSw3ICs3NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHVu
cmVnaXN0ZXIoUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAKICAgICB2b2lkIHN1YnNjcmliZVRv
UHVzaFNlcnZpY2UoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBhcHBsaWNhdGlvblNlcnZlcktleSwg
RE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxQdXNoU3Vic2NyaXB0aW9uPj4mJik7Ci0g
ICAgdm9pZCB1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShET01Qcm9taXNlRGVmZXJyZWQ8SURM
Qm9vbGVhbj4mJik7CisgICAgdm9pZCB1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShQdXNoU3Vi
c2NyaXB0aW9uSWRlbnRpZmllciwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYpOwog
ICAgIHZvaWQgZ2V0UHVzaFN1YnNjcmlwdGlvbihET01Qcm9taXNlRGVmZXJyZWQ8SURMTnVsbGFi
bGU8SURMSW50ZXJmYWNlPFB1c2hTdWJzY3JpcHRpb24+Pj4mJik7CiAgICAgdm9pZCBnZXRQdXNo
UGVybWlzc2lvblN0YXRlKERPTVByb21pc2VEZWZlcnJlZDxJRExFbnVtZXJhdGlvbjxQdXNoUGVy
bWlzc2lvblN0YXRlPj4mJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1dvcmtlclNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggZTBjYTg3MzYy
YjE0YmY3YzJiNjQ4MTI3MWJmN2Y5MTAwMzkwZDkyMy4uY2Y1Yzc0OTI1ZDNmYzRiMDY5OWM1OTZj
ZjlmYmY4ZTM3ODZiZGE4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1dvcmtlclNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1dvcmtlclNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTI0NSwxNCArMjQ1
LDE0IEBAIHZvaWQgV29ya2VyU1dDbGllbnRDb25uZWN0aW9uOjpzdWJzY3JpYmVUb1B1c2hTZXJ2
aWNlKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JCiAgICAgfSk7CiB9CiAKLXZvaWQgV29ya2Vy
U1dDbGllbnRDb25uZWN0aW9uOjp1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciByZWdpc3RyYXRpb25JZGVudGlmaWVyLCBVbnN1YnNj
cmliZUZyb21QdXNoU2VydmljZUNhbGxiYWNrJiYgY2FsbGJhY2spCit2b2lkIFdvcmtlclNXQ2xp
ZW50Q29ubmVjdGlvbjo6dW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2UoU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbklkZW50aWZpZXIgcmVnaXN0cmF0aW9uSWRlbnRpZmllciwgUHVzaFN1YnNjcmlw
dGlvbklkZW50aWZpZXIgc3Vic2NyaXB0aW9uSWRlbnRpZmllciwgVW5zdWJzY3JpYmVGcm9tUHVz
aFNlcnZpY2VDYWxsYmFjayYmIGNhbGxiYWNrKQogewogICAgIHVpbnQ2NF90IHJlcXVlc3RJZGVu
dGlmaWVyID0gKyttX2xhc3RSZXF1ZXN0SWRlbnRpZmllcjsKICAgICBtX3Vuc3Vic2NyaWJlRnJv
bVB1c2hTZXJ2aWNlUmVxdWVzdHMuYWRkKHJlcXVlc3RJZGVudGlmaWVyLCBXVEZNb3ZlKGNhbGxi
YWNrKSk7CiAgICAgCi0gICAgY2FsbE9uTWFpblRocmVhZChbdGhyZWFkID0gbV90aHJlYWQsIHJl
cXVlc3RJZGVudGlmaWVyLCByZWdpc3RyYXRpb25JZGVudGlmaWVyXSgpIG11dGFibGUgeworICAg
IGNhbGxPbk1haW5UaHJlYWQoW3RocmVhZCA9IG1fdGhyZWFkLCByZXF1ZXN0SWRlbnRpZmllciwg
cmVnaXN0cmF0aW9uSWRlbnRpZmllciwgc3Vic2NyaXB0aW9uSWRlbnRpZmllcl0oKSBtdXRhYmxl
IHsKICAgICAgICAgYXV0byYgY29ubmVjdGlvbiA9IFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2lu
Z2xldG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb24oKTsKLSAgICAgICAgY29ubmVjdGlvbi51
bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShyZWdpc3RyYXRpb25JZGVudGlmaWVyLCBbdGhyZWFk
ID0gV1RGTW92ZSh0aHJlYWQpLCByZXF1ZXN0SWRlbnRpZmllcl0oYXV0byYmIHJlc3VsdCkgewor
ICAgICAgICBjb25uZWN0aW9uLnVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlKHJlZ2lzdHJhdGlv
bklkZW50aWZpZXIsIHN1YnNjcmlwdGlvbklkZW50aWZpZXIsIFt0aHJlYWQgPSBXVEZNb3ZlKHRo
cmVhZCksIHJlcXVlc3RJZGVudGlmaWVyXShhdXRvJiYgcmVzdWx0KSB7CiAgICAgICAgICAgICB0
aHJlYWQtPnJ1bkxvb3AoKS5wb3N0VGFza0Zvck1vZGUoW3JlcXVlc3RJZGVudGlmaWVyLCByZXN1
bHQgPSBjcm9zc1RocmVhZENvcHkocmVzdWx0KV0oYXV0byYgc2NvcGUpIG11dGFibGUgewogICAg
ICAgICAgICAgICAgIGF1dG8gY2FsbGJhY2sgPSBkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4o
c2NvcGUpLnN3Q2xpZW50Q29ubmVjdGlvbigpLm1fdW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2VS
ZXF1ZXN0cy50YWtlKHJlcXVlc3RJZGVudGlmaWVyKTsKICAgICAgICAgICAgICAgICBjYWxsYmFj
ayhXVEZNb3ZlKHJlc3VsdCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1dvcmtlclNXQ2xpZW50Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1dvcmtlclNXQ2xpZW50Q29ubmVjdGlvbi5oCmluZGV4IGQwMGQxMTE1YzZmYmU2
NzA4YzU1Mjg0ZTQ2YzI3MWVhMmY4YmIzNjUuLmYyOTQ0MTUzMjJmM2VmNzE0NmEwMGU5OTdkZmQ1
NDlhMjllMzgxNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9X
b3JrZXJTV0NsaWVudENvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvV29ya2VyU1dDbGllbnRDb25uZWN0aW9uLmgKQEAgLTU4LDcgKzU4LDcgQEAgcHJpdmF0
ZToKICAgICB2b2lkIHNjaGVkdWxlSm9iKFNlcnZpY2VXb3JrZXJPckNsaWVudElkZW50aWZpZXIs
IGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhJikgZmluYWw7CiAgICAgdm9pZCBzY2hlZHVsZVVu
cmVnaXN0ZXJKb2JJblNlcnZlcihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwg
U2VydmljZVdvcmtlck9yQ2xpZW50SWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChF
eGNlcHRpb25Pcjxib29sPiYmKT4mJikgZmluYWw7CiAgICAgdm9pZCBzdWJzY3JpYmVUb1B1c2hT
ZXJ2aWNlKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBjb25zdCBWZWN0b3I8
dWludDhfdD4mIGFwcGxpY2F0aW9uU2VydmVyS2V5LCBTdWJzY3JpYmVUb1B1c2hTZXJ2aWNlQ2Fs
bGJhY2smJikgZmluYWw7Ci0gICAgdm9pZCB1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgVW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZp
Y2VDYWxsYmFjayYmKSBmaW5hbDsKKyAgICB2b2lkIHVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNl
KFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBQdXNoU3Vic2NyaXB0aW9uSWRl
bnRpZmllciwgVW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2VDYWxsYmFjayYmKSBmaW5hbDsKICAg
ICB2b2lkIGdldFB1c2hTdWJzY3JpcHRpb24oU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50
aWZpZXIsIEdldFB1c2hTdWJzY3JpcHRpb25DYWxsYmFjayYmKSBmaW5hbDsKICAgICB2b2lkIGdl
dFB1c2hQZXJtaXNzaW9uU3RhdGUoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIs
IEdldFB1c2hQZXJtaXNzaW9uU3RhdGVDYWxsYmFjayYmKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIv
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCBmODFkNTUwYTBhZDZjMzNhYWNiN2VkNjNi
NTIyODlhNGE2MDY0Y2E2Li5lOTg3YmRjMjc2YTA0ZWFkNWYyYjA4MWI4Zjk0N2FlM2RiNzk0MmZk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIv
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtNDQ4LDMyICs0
NDgsMjMgQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnVwZGF0ZVRocm90dGxlU3RhdGUo
KQogICAgIH0KIH0KIAotdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnN1YnNjcmliZVRvUHVz
aFNlcnZpY2UoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgcmVn
aXN0cmF0aW9uSWRlbnRpZmllciwgVmVjdG9yPHVpbnQ4X3Q+JiYgYXBwbGljYXRpb25TZXJ2ZXJL
ZXksIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8UHVzaFN1YnNjcmlwdGlvbkRhdGEs
IEV4Y2VwdGlvbkRhdGE+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBXZWJTV1NlcnZl
ckNvbm5lY3Rpb246OnN1YnNjcmliZVRvUHVzaFNlcnZpY2UoV2ViQ29yZTo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFZlY3Rvcjx1aW50OF90PiYmLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKEV4cGVjdGVkPFB1c2hTdWJzY3JpcHRpb25EYXRhLCBFeGNlcHRpb25EYXRhPiYm
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBVTlVTRURfUEFSQU0ocmVnaXN0cmF0aW9u
SWRlbnRpZmllcik7Ci0gICAgVU5VU0VEX1BBUkFNKGFwcGxpY2F0aW9uU2VydmVyS2V5KTsKLSAg
ICAKICAgICBjb21wbGV0aW9uSGFuZGxlcihtYWtlVW5leHBlY3RlZChFeGNlcHRpb25EYXRhIHsg
Tm90QWxsb3dlZEVycm9yLCAiUHVzaCBwZXJtaXNzaW9uIHdhcyBkZW5pZWQiX3MgfSkpOwogfQog
Ci12b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6dW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2Uo
V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgcmVnaXN0cmF0aW9u
SWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxib29sLCBFeGNlcHRp
b25EYXRhPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0
aW9uOjp1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6UHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8Ym9vbCwgRXhjZXB0aW9uRGF0YT4mJik+
JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKHJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIpOwotICAgIAogICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKIH0KIAotdm9p
ZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OmdldFB1c2hTdWJzY3JpcHRpb24oV2ViQ29yZTo6U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgcmVnaXN0cmF0aW9uSWRlbnRpZmllciwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxzdGQ6Om9wdGlvbmFsPFB1c2hTdWJzY3Jp
cHRpb25EYXRhPiwgRXhjZXB0aW9uRGF0YT4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lk
IFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Z2V0UHVzaFN1YnNjcmlwdGlvbihXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChF
eHBlY3RlZDxzdGQ6Om9wdGlvbmFsPFB1c2hTdWJzY3JpcHRpb25EYXRhPiwgRXhjZXB0aW9uRGF0
YT4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKHJlZ2lzdHJh
dGlvbklkZW50aWZpZXIpOwotICAgIAogICAgIGNvbXBsZXRpb25IYW5kbGVyKHN0ZDo6b3B0aW9u
YWw8UHVzaFN1YnNjcmlwdGlvbkRhdGE+KHN0ZDo6bnVsbG9wdCkpOwogfQogCi12b2lkIFdlYlNX
U2VydmVyQ29ubmVjdGlvbjo6Z2V0UHVzaFBlcm1pc3Npb25TdGF0ZShXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciByZWdpc3RyYXRpb25JZGVudGlmaWVyLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPHVpbnQ4X3QsIEV4Y2VwdGlvbkRhdGE+JiYpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OmdldFB1c2hQ
ZXJtaXNzaW9uU3RhdGUoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZp
ZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8dWludDhfdCwgRXhjZXB0aW9uRGF0
YT4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKHJlZ2lzdHJh
dGlvbklkZW50aWZpZXIpOwotICAgIAogICAgIGNvbXBsZXRpb25IYW5kbGVyKHN0YXRpY19jYXN0
PHVpbnQ4X3Q+KFB1c2hQZXJtaXNzaW9uU3RhdGU6OkRlbmllZCkpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJD
b25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIv
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKaW5kZXggOTZhMmNiMGQxY2E5OTc5Y2ZkNDUxYTc3ZTU1
ZWU3Y2I0NTEyZGVhZC4uY2I2NWFlMmUyNjE0YmE1NWZiZjIwYWUwODU1OWI0MWNjMThjNDYxMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dl
YlNXU2VydmVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
U2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaApAQCAtMTIyLDcgKzEyMiw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVUaHJvdHRsZVN0YXRlKCk7CiAKICAgICB2b2lkIHN1
YnNjcmliZVRvUHVzaFNlcnZpY2UoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIsIFZlY3Rvcjx1aW50OF90PiYmIGFwcGxpY2F0aW9uU2VydmVyS2V5LCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPFdlYkNvcmU6OlB1c2hTdWJzY3JpcHRpb25EYXRhLCBX
ZWJDb3JlOjpFeGNlcHRpb25EYXRhPiYmKT4mJik7Ci0gICAgdm9pZCB1bnN1YnNjcmliZUZyb21Q
dXNoU2VydmljZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxib29sLCBXZWJDb3JlOjpFeGNlcHRpb25E
YXRhPiYmKT4mJik7CisgICAgdm9pZCB1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6UHVzaFN1YnNj
cmlwdGlvbklkZW50aWZpZXIsICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPGJvb2ws
IFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+JiYpPiYmKTsKICAgICB2b2lkIGdldFB1c2hTdWJzY3Jp
cHRpb24oV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQdXNoU3Vi
c2NyaXB0aW9uRGF0YT4sIFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+JiYpPiYmKTsKICAgICB2b2lk
IGdldFB1c2hQZXJtaXNzaW9uU3RhdGUoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bklkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8dWludDhfdCwgV2Vi
Q29yZTo6RXhjZXB0aW9uRGF0YT4mJik+JiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNX
U2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgppbmRleCBhZTJiMjdmNGVkNjU3ODhjNTg4ZTYx
YjU5NzU4Y2U4Mjg3ZTJjY2NmLi45N2M0MGZjOWNkYzBhNmRkNmM4MzM1N2NhNTZlZWI5NDNmZGM4
ZDM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3Jr
ZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2Fn
ZXMuaW4KQEAgLTQ4LDcgKzQ4LDcgQEAgbWVzc2FnZXMgLT4gV2ViU1dTZXJ2ZXJDb25uZWN0aW9u
IE5vdFJlZkNvdW50ZWQgewogICAgIFN0b3JlUmVnaXN0cmF0aW9uc09uRGlzaygpIC0+ICgpIEFz
eW5jCiAKICAgICBTdWJzY3JpYmVUb1B1c2hTZXJ2aWNlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIsIFZlY3Rvcjx1aW50OF90PiBhcHBsaWNh
dGlvblNlcnZlcktleSkgLT4gKEV4cGVjdGVkPFdlYkNvcmU6OlB1c2hTdWJzY3JpcHRpb25EYXRh
LCBXZWJDb3JlOjpFeGNlcHRpb25EYXRhPiByZXN1bHQpIEFzeW5jCi0gICAgVW5zdWJzY3JpYmVG
cm9tUHVzaFNlcnZpY2UoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZp
ZXIgaWRlbnRpZmllcikgLT4gKEV4cGVjdGVkPGJvb2wsIFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+
IHJlc3VsdCkgQXN5bmMKKyAgICBVbnN1YnNjcmliZUZyb21QdXNoU2VydmljZShXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBzZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6UHVzaFN1YnNjcmlwdGlvbklkZW50aWZpZXIgcHVzaFN1
YnNjcmlwdGlvbklkZW50aWZpZXIpIC0+IChFeHBlY3RlZDxib29sLCBXZWJDb3JlOjpFeGNlcHRp
b25EYXRhPiByZXN1bHQpIEFzeW5jCiAgICAgR2V0UHVzaFN1YnNjcmlwdGlvbihXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKSAtPiAoRXhwZWN0
ZWQ8c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQdXNoU3Vic2NyaXB0aW9uRGF0YT4sIFdlYkNvcmU6
OkV4Y2VwdGlvbkRhdGE+IHJlc3VsdCkgQXN5bmMKICAgICBHZXRQdXNoUGVybWlzc2lvblN0YXRl
KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIp
IC0+IChFeHBlY3RlZDx1aW50OF90LCBXZWJDb3JlOjpFeGNlcHRpb25EYXRhPiByZXN1bHQpIEFz
eW5jIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2Vz
LnB5IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCBjMWY0
M2ExOGM3MmJmYjI1ZmY4Y2M2MzE0ZjFjNzgzNzFhNmI5MjBlLi5jYTM3YWNiZDVjNWFhMjgwMjNh
OTNkOGQ0MThjYzAyZDkyNWI5OTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
d2Via2l0L21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVz
c2FnZXMucHkKQEAgLTI4OSw2ICsyODksNyBAQCBkZWYgdHlwZXNfdGhhdF9jYW5ub3RfYmVfZm9y
d2FyZF9kZWNsYXJlZCgpOgogICAgICAgICAnV2ViQ29yZTo6UGxheWJhY2tUYXJnZXRDbGllbnRD
b250ZXh0SWRlbnRpZmllcicsCiAgICAgICAgICdXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9s
aWN5JywKICAgICAgICAgJ1dlYkNvcmU6OlBvaW50ZXJJRCcsCisgICAgICAgICdXZWJDb3JlOjpQ
dXNoU3Vic2NyaXB0aW9uSWRlbnRpZmllcicsCiAgICAgICAgICdXZWJDb3JlOjpQcm9jZXNzSWRl
bnRpZmllcicsCiAgICAgICAgICdXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmll
cicsCiAgICAgICAgICdXZWJDb3JlOjpSZW5kZXJpbmdNb2RlJywKQEAgLTgxNyw2ICs4MTgsNyBA
QCBkZWYgaGVhZGVyc19mb3JfdHlwZSh0eXBlKToKICAgICAgICAgJ1dlYkNvcmU6OlBvbGljeUNo
ZWNrSWRlbnRpZmllcic6IFsnPFdlYkNvcmUvRnJhbWVMb2FkZXJUeXBlcy5oPiddLAogICAgICAg
ICAnV2ViQ29yZTo6UHJlc2VydmVSZXNvbHV0aW9uJzogWyc8V2ViQ29yZS9JbWFnZUJ1ZmZlckJh
Y2tlbmQuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyJzogWyc8V2Vi
Q29yZS9Qcm9jZXNzSWRlbnRpZmllci5oPiddLAorICAgICAgICAnV2ViQ29yZTo6UHVzaFN1YnNj
cmlwdGlvbklkZW50aWZpZXInOiBbJzxXZWJDb3JlL1B1c2hTdWJzY3JpcHRpb25JZGVudGlmaWVy
Lmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpRdWFkQ3VydmVEYXRhJzogWyc8V2ViQ29yZS9Jbmxp
bmVQYXRoRGF0YS5oPiddLAogICAgICAgICAnV2ViQ29yZTo6UmVjZW50U2VhcmNoJzogWyc8V2Vi
Q29yZS9TZWFyY2hQb3B1cE1lbnUuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlJlcXVlc3RTdG9y
YWdlQWNjZXNzUmVzdWx0JzogWyc8V2ViQ29yZS9Eb2N1bWVudFN0b3JhZ2VBY2Nlc3MuaD4nXSwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50
Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0Ns
aWVudENvbm5lY3Rpb24uY3BwCmluZGV4IDA5ZjY2NWVlYzllZWEzZTE0OWUwNjE3YjFhM2Q2YjYw
OGVlYzQ1Y2YuLjY5MWY3NjVmZTgxOGI4ZmQ3MDczMDYxOGNjYThlZTNiZjAyZjAxMjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVj
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGll
bnRDb25uZWN0aW9uLmNwcApAQCAtMjM4LDkgKzIzOCw5IEBAIHZvaWQgV2ViU1dDbGllbnRDb25u
ZWN0aW9uOjpzdWJzY3JpYmVUb1B1c2hTZXJ2aWNlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdp
c3RyCiAgICAgfSk7CiB9CiAKLXZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjp1bnN1YnNjcmli
ZUZyb21QdXNoU2VydmljZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRp
ZmllciByZWdpc3RyYXRpb25JZGVudGlmaWVyLCBVbnN1YnNjcmliZUZyb21QdXNoU2VydmljZUNh
bGxiYWNrJiYgY2FsbGJhY2spCit2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6dW5zdWJzY3Jp
YmVGcm9tUHVzaFNlcnZpY2UoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50
aWZpZXIgcmVnaXN0cmF0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6UHVzaFN1YnNjcmlwdGlvbklk
ZW50aWZpZXIgc3Vic2NyaXB0aW9uSWRlbnRpZmllciwgVW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZp
Y2VDYWxsYmFjayYmIGNhbGxiYWNrKQogewotICAgIHNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdl
czo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpVbnN1YnNjcmliZUZyb21QdXNoU2VydmljZSB7IHJl
Z2lzdHJhdGlvbklkZW50aWZpZXIgfSwgW2NhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKGF1
dG8mJiByZXN1bHQpIG11dGFibGUgeworICAgIHNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpVbnN1YnNjcmliZUZyb21QdXNoU2VydmljZSB7IHJlZ2lz
dHJhdGlvbklkZW50aWZpZXIsIHN1YnNjcmlwdGlvbklkZW50aWZpZXIgfSwgW2NhbGxiYWNrID0g
V1RGTW92ZShjYWxsYmFjayldKGF1dG8mJiByZXN1bHQpIG11dGFibGUgewogICAgICAgICBpZiAo
IXJlc3VsdC5oYXNfdmFsdWUoKSkKICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjayhyZXN1bHQu
ZXJyb3IoKS50b0V4Y2VwdGlvbigpKTsKICAgICAgICAgY2FsbGJhY2soKnJlc3VsdCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5l
Y3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29u
bmVjdGlvbi5oCmluZGV4IGUyYTFkMzZmYzhiYjlhYTE2NDZhYTVmN2QyNDU0MDJhYzBjMjY4YTMu
LmYwNDc3MzE2NTViNWFjNWNmYzVjMGVlNzQ3M2JhNjQzZTk5NWY4NGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlv
bi5oCkBAIC05MSw3ICs5MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdG9yZVJlZ2lzdHJhdGlv
bnNPbkRpc2tGb3JUZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJikgZmluYWw7CiAg
ICAgCiAgICAgdm9pZCBzdWJzY3JpYmVUb1B1c2hTZXJ2aWNlKFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBjb25zdCBWZWN0b3I8dWludDhfdD4mIGFwcGxpY2F0
aW9uU2VydmVyS2V5LCBTdWJzY3JpYmVUb1B1c2hTZXJ2aWNlQ2FsbGJhY2smJikgZmluYWw7Ci0g
ICAgdm9pZCB1bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllciwgVW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2VDYWxsYmFj
ayYmKSBmaW5hbDsKKyAgICB2b2lkIHVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlKFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBXZWJDb3JlOjpQdXNoU3Vic2Ny
aXB0aW9uSWRlbnRpZmllciwgVW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2VDYWxsYmFjayYmKSBm
aW5hbDsKICAgICB2b2lkIGdldFB1c2hTdWJzY3JpcHRpb24oV2ViQ29yZTo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIEdldFB1c2hTdWJzY3JpcHRpb25DYWxsYmFjayYmKSBm
aW5hbDsKICAgICB2b2lkIGdldFB1c2hQZXJtaXNzaW9uU3RhdGUoV2ViQ29yZTo6U2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIEdldFB1c2hQZXJtaXNzaW9uU3RhdGVDYWxsYmFj
ayYmKSBmaW5hbDsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>