<?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>180041</bug_id>
          
          <creation_ts>2017-11-27 09:47:27 -0800</creation_ts>
          <short_desc>Give Document a strongly typed identifier instead of a uint64_t</short_desc>
          <delta_ts>2017-11-27 11:52:19 -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>DOM</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>kangil.han</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1374971</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-27 09:47:27 -0800</bug_when>
    <thetext>Give Document a strongly typed identifier instead of a uint64_t, for clarity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375011</commentid>
    <comment_count>1</comment_count>
      <attachid>327648</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-27 10:53:55 -0800</bug_when>
    <thetext>Created attachment 327648
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375018</commentid>
    <comment_count>2</comment_count>
      <attachid>327648</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-27 10:59:10 -0800</bug_when>
    <thetext>Comment on attachment 327648
Patch

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

&gt; Source/WebCore/workers/service/ServiceWorkerClientIdentifier.h:40
&gt; +    String toString() const { return String::number(serverConnectionIdentifier.toUInt64()) + &quot;-&quot; +  String::number(contextIdentifier.toUInt64()); }

Use StringBuilder?

Also, is this toString() being used to generate client ids, thus potentially exposing to the web page server connection id and context id?
If so, I am wondering whether we should not use some random UUID, at least when exposing the clientId to the web page, or have the storage process generate those random IDs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375020</commentid>
    <comment_count>3</comment_count>
      <attachid>327648</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-11-27 11:00:13 -0800</bug_when>
    <thetext>Comment on attachment 327648
Patch

Fine once EWS is happy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375041</commentid>
    <comment_count>4</comment_count>
      <attachid>327648</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-27 11:51:18 -0800</bug_when>
    <thetext>Comment on attachment 327648
Patch

Clearing flags on attachment: 327648

Committed r225184: &lt;https://trac.webkit.org/changeset/225184&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375042</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-27 11:51:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375043</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-27 11:52:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/35703725&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327648</attachid>
            <date>2017-11-27 10:53:55 -0800</date>
            <delta_ts>2017-11-27 11:51:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180041-20171127105355.patch</filename>
            <type>text/plain</type>
            <size>49405</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1MTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmZhMGRkNjYwYzAzZTMx
ZjMxNDEwOWNmY2UyZjk1ZmI5ZGY1ZDRlMC4uMzFmZjMyZmVhOTg2Yzc4ZTY4YWE3ZmRkMTJhZmVh
Y2YyYzFkNjZjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE3LTExLTI3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgR2l2ZSBEb2N1bWVudCBhIHN0
cm9uZ2x5IHR5cGVkIGlkZW50aWZpZXIgaW5zdGVhZCBvZiBhIHVpbnQ2NF90CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAwNDEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHaXZlIERvY3VtZW50IGEgc3Ry
b25nbHkgdHlwZWQgaWRlbnRpZmllciBpbnN0ZWFkIG9mIGEgdWludDY0X3QsIGZvciBjbGFyaXR5
LgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX2lkZW50aWZpZXIpOgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6Omlk
ZW50aWZpZXIgY29uc3QpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudElkZW50aWZpZXIuaDogQ29w
aWVkIGZyb20gU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGll
bnRJZGVudGlmaWVyLmguCisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
bGllbnRJZGVudGlmaWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50
SWRlbnRpZmllcjo6dG9TdHJpbmcgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdv
cmtlckNsaWVudElkZW50aWZpZXI6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcjo6ZGVjb2RlKToKKyAgICAgICAgKiB3b3JrZXJz
L3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTV0NsaWVudENvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OlNXQ2xpZW50Q29ubmVjdGlvbjo6bm90aWZ5Q2xpZW50c09mQ29u
dHJvbGxlckNoYW5nZSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVu
dENvbm5lY3Rpb24uaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyOjpDb25uZWN0aW9uOjpzZXJ2aWNlV29y
a2VyU3RhcnRlZENvbnRyb2xsaW5nQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVy
OjpDb25uZWN0aW9uOjpzZXJ2aWNlV29ya2VyU3RvcHBlZENvbnRyb2xsaW5nQ2xpZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNXU2VydmVyOjpzZXJ2aWNlV29ya2VyU3RhcnRlZENvbnRyb2xsaW5n
Q2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyOjpzZXJ2aWNlV29ya2VyU3RvcHBl
ZENvbnRyb2xsaW5nQ2xpZW50KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NX
U2VydmVyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lz
dHJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlclJlZ2lzdHJhdGlvbjo6YWRk
Q2xpZW50VXNpbmdSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJSZWdp
c3RyYXRpb246OnJlbW92ZUNsaWVudFVzaW5nUmVnaXN0cmF0aW9uKToKKyAgICAgICAgKiB3b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmg6CisKIDIwMTctMTEtMjcg
IFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgT3B0aW1p
emUgRkVNb3JwaG9sb2d5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDIwY2ViNWFlNjQ2MjY2YWRmZWQzY2FjMjRhNDBk
MTk1OWU5MjYxN2UuLjFlY2I3MTZhNGMwNTdmNmJmYTg5MzVhZDRkNzM1YzgwNjQxNjRlYWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTctMTEtMjcgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBHaXZlIERvY3VtZW50IGEgc3Ryb25nbHkgdHlwZWQgaWRl
bnRpZmllciBpbnN0ZWFkIG9mIGEgdWludDY0X3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDA0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEdpdmUgRG9jdW1lbnQgYSBzdHJvbmdseSB0eXBlZCBpZGVu
dGlmaWVyIGluc3RlYWQgb2YgYSB1aW50NjRfdCwgZm9yIGNsYXJpdHkuCisKKyAgICAgICAgKiBQ
bGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdC9t
ZXNzYWdlcy5weToKKyAgICAgICAgKGZvcndhcmRfZGVjbGFyYXRpb25zX2FuZF9oZWFkZXJzKToK
KyAgICAgICAgKiBTdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVj
dGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6bm90aWZ5
Q2xpZW50c09mQ29udHJvbGxlckNoYW5nZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNXU2VydmVy
Q29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VX
b3JrZXJDbGllbnQpOgorICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2Vi
U1dTZXJ2ZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdv
cmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogU3RvcmFn
ZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJv
Y2Vzczo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJTV0NsaWVudENvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0NsaWVudENvbm5lY3Rpb246OnNlcnZpY2VX
b3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0Ns
aWVudENvbm5lY3Rpb246OnNlcnZpY2VXb3JrZXJTdG9wcGVkQ29udHJvbGxpbmdDbGllbnQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJTV0NsaWVudENvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2
aWNlV29ya2VyQ2xpZW50KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGll
bnRDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50
Q29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKwogMjAxNy0xMS0yNyAgQ2FybG9zIEdhcmNpYSBDYW1w
b3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjIzMDczKTog
ZGlzayBjYWNoZSBkaXJlY3RvcnkgaXMgbm8gbG9uZ2VyIGNvcGllZCBpbiBQcm9jZXNzUG9vbENv
bmZpZ3VyYXRpb246OmNvcHkoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGExNTk2ZDNkMzFkZDFlMmFlMmFmZDNkOGU4MmY1OWQ1
YjVmMzE3NzYuLjdhZTM0MjM5MWM1Njg3YWExODM4MmU4NGYzYzMxZjc2M2JkNjNjYTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTExNDQsNiArMTE0NCw3IEBACiAJCTQ2REJCNjUwMUFCOEM5NkYwMEQ5QTgxMyAvKiBQb3dlck9i
c2VydmVyTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0NkRCQjY0RTFBQjhDOTZGMDBEOUE4MTMgLyogUG93ZXJPYnNlcnZlck1hYy5oICovOyB9Owog
CQk0NkRGRjQ5ODFEQzI2MDMxMDBCODBCNDggLyogU2hhZG93Um9vdE1vZGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2REZGNDk2MURDMjYwMTMwMEI4
MEI0OCAvKiBTaGFkb3dSb290TW9kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTQ2REZGNDlDMURDMjYyMEIwMEI4MEI0OCAvKiBKU1NoYWRvd1Jv
b3RNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NkRGRjQ5QTFEQzI2MUY5MDBCODBCNDggLyogSlNTaGFkb3dSb290TW9kZS5oICovOyB9OworCQk0
NkUxNjY2RTFGQ0M4NkEyMDBDOTcxMEIgLyogRG9jdW1lbnRJZGVudGlmaWVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkUxNjY2QzFGQ0M4Njg3MDBD
OTcxMEIgLyogRG9jdW1lbnRJZGVudGlmaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDZFNzkxNDkxRjk3RTAxQTAwMTk5NzM5IC8qIEpTVmlz
aWJpbGl0eVN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0NkU3OTE0NjFGOTdFMDE3MDAxOTk3MzkgLyogSlNWaXNpYmlsaXR5U3RhdGUuaCAqLzsg
fTsKIAkJNDZFQjM3Q0ExRjk3Q0NEMjAwQjY1NTIzIC8qIEpTU2VydmljZVdvcmtlckNsaWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZFQjM3QzMx
Rjk3Q0NDQjAwQjY1NTIzIC8qIEpTU2VydmljZVdvcmtlckNsaWVudC5oICovOyB9OwogCQk0NkVC
MzdDQzFGOTdDQ0QyMDBCNjU1MjMgLyogSlNTZXJ2aWNlV29ya2VyQ2xpZW50cy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZFQjM3QzUxRjk3Q0NDQjAw
QjY1NTIzIC8qIEpTU2VydmljZVdvcmtlckNsaWVudHMuaCAqLzsgfTsKQEAgLTE4ODksOSArMTg5
MCw3IEBACiAJCTc3Mjg2OTRFMTRGODg4MjUwMEY0ODREQyAvKiBFWFRUZXh0dXJlRmlsdGVyQW5p
c290cm9waWMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNzcyODY5NEIxNEY4ODgyNTAwRjQ4NERDIC8qIEVYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3Bp
Yy5jcHAgKi87IH07CiAJCTc3Mjg2OTRGMTRGODg4MjUwMEY0ODREQyAvKiBFWFRUZXh0dXJlRmls
dGVyQW5pc290cm9waWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDc3Mjg2OTRDMTRGODg4MjUwMEY0ODREQyAvKiBFWFRUZXh0dXJlRmlsdGVyQW5pc290
cm9waWMuaCAqLzsgfTsKIAkJNzcyODY5ODQxNEZEOUFEQTAwRjQ4NERDIC8qIEpTRVhUVGV4dHVy
ZUZpbHRlckFuaXNvdHJvcGljLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3NzI4Njk4MjE0RkQ5QURBMDBGNDg0REMgLyogSlNFWFRUZXh0dXJlRmlsdGVy
QW5pc290cm9waWMuaCAqLzsgfTsKLQkJNzc3OUJEOTUxRjMxMkQwMTAwQzIxNDE3IC8qIFZpc3Vh
bFZpZXdwb3J0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDc3NzlCRDk0MUYzMTE3QjcwMEMyMTQxNyAvKiBWaXN1YWxWaWV3cG9ydC5jcHAgKi87IH07
CiAJCTc3NzlCRDk2MUYzMjI0NkEwMEMyMTQxNyAvKiBKU1Zpc3VhbFZpZXdwb3J0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Nzc5QkQ5MjFGMkZEQkY3
MDBDMjE0MTcgLyogSlNWaXN1YWxWaWV3cG9ydC5oICovOyB9OwotCQk3Nzc5QkQ5NzFGMzIyNDZE
MDBDMjE0MTcgLyogSlNWaXN1YWxWaWV3cG9ydC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Nzc5QkQ5MTFGMkZEQkNFMDBDMjE0MTcgLyogSlNWaXN1
YWxWaWV3cG9ydC5jcHAgKi87IH07CiAJCTc3QTE3QTcxMTJGMjgxODIwMDRFMDJGNiAvKiBPRVNW
ZXJ0ZXhBcnJheU9iamVjdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3N0ExN0E2RTEyRjI4MTgyMDA0RTAyRjYgLyogT0VTVmVydGV4QXJyYXlPYmpl
Y3QuY3BwICovOyB9OwogCQk3N0ExN0E3MjEyRjI4MTgyMDA0RTAyRjYgLyogT0VTVmVydGV4QXJy
YXlPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDc3QTE3QTZGMTJGMjgxODIwMDRFMDJGNiAvKiBPRVNWZXJ0ZXhBcnJheU9iamVjdC5oICovOyB9
OwogCQk3N0ExN0E3NzEyRjI4NjQyMDA0RTAyRjYgLyogV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9F
Uy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3N0Ex
N0E3NDEyRjI4NjQyMDA0RTAyRjYgLyogV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUy5jcHAgKi87
IH07CkBAIC03MjY3LDYgKzcyNjYsNyBAQAogCQk0NkRGRjQ5OTFEQzI2MUY5MDBCODBCNDggLyog
SlNTaGFkb3dSb290TW9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU1NoYWRvd1Jvb3RNb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZE
RkY0OUExREMyNjFGOTAwQjgwQjQ4IC8qIEpTU2hhZG93Um9vdE1vZGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTaGFkb3dSb290TW9kZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0NkUwMTZBRDFGNzJENjFFMDAyODJCMkMgLyogRE9NSGlnaFJlc1RpbWVT
dGFtcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IaWdoUmVzVGltZVN0
YW1wLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2RTE2NjZDMUZDQzg2ODcwMEM5
NzEwQiAvKiBEb2N1bWVudElkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRG9jdW1lbnRJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQ2RTc5MTQ1MUY5N0UwMTcwMDE5OTczOSAvKiBKU1Zpc2liaWxpdHlTdGF0ZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1Zpc2liaWxpdHlTdGF0ZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2RTc5MTQ2MUY5N0UwMTcwMDE5OTczOSAvKiBK
U1Zpc2liaWxpdHlTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1Zp
c2liaWxpdHlTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkVCMzdDMjFG
OTdDQ0NCMDBCNjU1MjMgLyogSlNTZXJ2aWNlV29ya2VyQ2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU2VydmljZVdvcmtlckNsaWVudC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNTEyOSw2ICsyNTEyOSw3IEBACiAJCQkJQTgxODVG
MzcwOTc2NTc2NTAwNTgyNkQ5IC8qIERvY3VtZW50RnJhZ21lbnQuY3BwICovLAogCQkJCUE4MTg1
RjM1MDk3NjU3NjUwMDU4MjZEOSAvKiBEb2N1bWVudEZyYWdtZW50LmggKi8sCiAJCQkJMUE0OTRF
RDUwQTEyM0YxQTAwRkRBRkMxIC8qIERvY3VtZW50RnJhZ21lbnQuaWRsICovLAorCQkJCTQ2RTE2
NjZDMUZDQzg2ODcwMEM5NzEwQiAvKiBEb2N1bWVudElkZW50aWZpZXIuaCAqLywKIAkJCQlFRDJC
QTgzQjA5QTI0QjkxMDA2QzBBQzQgLyogRG9jdW1lbnRNYXJrZXIuaCAqLywKIAkJCQlDRTA1N0ZB
MzEyMjA3MzExMDBBNDc2RDUgLyogRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmNwcCAqLywKIAkJ
CQlDRTA1N0ZBNDEyMjA3MzExMDBBNDc2RDUgLyogRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgg
Ki8sCkBAIC0yNjYwNSw2ICsyNjYwNiw3IEBACiAJCQkJQTgxODVGNDAwOTc2NTc2NjAwNTgyNkQ5
IC8qIERvY3VtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBM0JCNTlGNDE0NTdBNDBEMDBBQzU2
RkUgLyogRG9jdW1lbnRFdmVudFF1ZXVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODE4NUYzRDA5
NzY1NzY2MDA1ODI2RDkgLyogRG9jdW1lbnRGcmFnbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NDZFMTY2NkUxRkNDODZBMjAwQzk3MTBCIC8qIERvY3VtZW50SWRlbnRpZmllci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNjU2RDM3MzYwQURCQTVERTAwQTQ1NTREIC8qIERvY3VtZW50TG9hZGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlFRDJCQTgzQzA5QTI0QjkxMDA2QzBBQzQgLyogRG9jdW1lbnRN
YXJrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFMDU3RkE2MTIyMDczMTEwMEE0NzZENSAvKiBE
b2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKaW5kZXggMGVjODY0NThlZGE0MzU5YmVhMjYyMzhjYzA4OGQ0MmVkNzM2ODU5Yi4uZTI5
NmVkMmIwYmEyMmJiNDA2YjJlZTc4ZGI4NWNjMjE2NjU2ZDZiYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCkBAIC00MzcsMTIgKzQzNyw2IEBAIHN0YXRpYyB2b2lkIHByaW50TmF2aWdhdGlvbkVy
cm9yTWVzc2FnZShGcmFtZSogZnJhbWUsIGNvbnN0IFVSTCYgYWN0aXZlVVJMLCBjb25zCiAKIHVp
bnQ2NF90IERvY3VtZW50OjpzX2dsb2JhbFRyZWVWZXJzaW9uID0gMDsKIAotc3RhdGljIHVpbnQ2
NF90IGdlbmVyYXRlRG9jdW1lbnRJZGVudGlmaWVyKCkKLXsKLSAgICBzdGF0aWMgdWludDY0X3Qg
aWRlbnRpZmllciA9IDA7Ci0gICAgcmV0dXJuICsraWRlbnRpZmllcjsKLX0KLQogYXV0byBEb2N1
bWVudDo6YWxsRG9jdW1lbnRzTWFwKCkgLT4gRG9jdW1lbnRzTWFwJgogewogICAgIHN0YXRpYyBO
ZXZlckRlc3Ryb3llZDxEb2N1bWVudHNNYXA+IGRvY3VtZW50czsKQEAgLTUxMiw3ICs1MDYsNyBA
QCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBVUkwmIHVybCwgdW5zaWdu
ZWQgZG9jdW1lbnRDbGFzc2VzLCB1bnNpZwogICAgICwgbV9pc1N5bnRoZXNpemVkKGNvbnN0cnVj
dGlvbkZsYWdzICYgU3ludGhlc2l6ZWQpCiAgICAgLCBtX2lzTm9uUmVuZGVyZWRQbGFjZWhvbGRl
cihjb25zdHJ1Y3Rpb25GbGFncyAmIE5vblJlbmRlcmVkUGxhY2Vob2xkZXIpCiAgICAgLCBtX29y
aWVudGF0aW9uTm90aWZpZXIoY3VycmVudE9yaWVudGF0aW9uKGZyYW1lKSkKLSAgICAsIG1faWRl
bnRpZmllcihnZW5lcmF0ZURvY3VtZW50SWRlbnRpZmllcigpKQorICAgICwgbV9pZGVudGlmaWVy
KGdlbmVyYXRlT2JqZWN0SWRlbnRpZmllcjxEb2N1bWVudElkZW50aWZpZXJUeXBlPigpKQogewog
ICAgIGF1dG8gYWRkUmVzdWx0ID0gYWxsRG9jdW1lbnRzTWFwKCkuYWRkKG1faWRlbnRpZmllciwg
dGhpcyk7CiAgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggZDg5NzViY2U5YTkzMWJhZDkzNmI1YWYwMGEwZWQy
MzA4ODIzOGEzNC4uMjFhOTc3ZjI3NzYxMjJlN2Q5NmUxZDhlZWMyYmI0YjgyZmE4YjFmOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJDb2xvci5oIgog
I2luY2x1ZGUgIkNvbnRhaW5lck5vZGUuaCIKICNpbmNsdWRlICJEb2N1bWVudEV2ZW50UXVldWUu
aCIKKyNpbmNsdWRlICJEb2N1bWVudElkZW50aWZpZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudFRp
bWluZy5oIgogI2luY2x1ZGUgIkZvY3VzRGlyZWN0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFNlbGVj
dG9yQ2xpZW50LmgiCkBAIC01Niw2ICs1Nyw3IEBACiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5o
PgorI2luY2x1ZGUgPHd0Zi9PYmplY3RJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQ
dHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNoLmg+CiAKQEAgLTM1Miw5
ICszNTQsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlbW92ZWRMYXN0UmVmKCk7CiAKLSAgICB1
aW50NjRfdCBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CisgICAg
RG9jdW1lbnRJZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZp
ZXI7IH0KIAotICAgIHVzaW5nIERvY3VtZW50c01hcCA9IEhhc2hNYXA8dWludDY0X3QsIERvY3Vt
ZW50Kj47CisgICAgdXNpbmcgRG9jdW1lbnRzTWFwID0gSGFzaE1hcDxEb2N1bWVudElkZW50aWZp
ZXIsIERvY3VtZW50Kj47CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIERvY3VtZW50c01hcDo6
VmFsdWVzSXRlcmF0b3JSYW5nZSBhbGxEb2N1bWVudHMoKTsKICAgICBXRUJDT1JFX0VYUE9SVCBz
dGF0aWMgRG9jdW1lbnRzTWFwJiBhbGxEb2N1bWVudHNNYXAoKTsKIApAQCAtMTg1Nyw3ICsxODU5
LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fZ3JhbnRTdG9yYWdlQWNjZXNzT3ZlcnJpZGUgeyBm
YWxzZSB9OwogCiAgICAgUmVmUHRyPERvY3VtZW50VGltZWxpbmU+IG1fdGltZWxpbmU7Ci0gICAg
dWludDY0X3QgbV9pZGVudGlmaWVyOworICAgIERvY3VtZW50SWRlbnRpZmllciBtX2lkZW50aWZp
ZXI7CiB9OwogCiBFbGVtZW50KiBldmVudFRhcmdldEVsZW1lbnRGb3JEb2N1bWVudChEb2N1bWVu
dCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50SWRlbnRpZmllci5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50SWRlbnRpZmllci5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlj
OTNiMTU4MjhhOTNkNDcxZGIyZGMxZGM1YTRjMDk4ZDhmNDY4ZWYKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRJZGVudGlmaWVyLmgKQEAgLTAsMCArMSwzNSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL09iamVjdElkZW50
aWZpZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIERvY3VtZW50SWRlbnRpZmll
clR5cGUgeyB9OwordXNpbmcgRG9jdW1lbnRJZGVudGlmaWVyID0gT2JqZWN0SWRlbnRpZmllcjxE
b2N1bWVudElkZW50aWZpZXJUeXBlPjsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIuaApp
bmRleCA2NGU1ZTg3ODk5OTExY2ZhMDU4ZDMzNzI2MjU2NzE4Y2RiZDA3MGY3Li42YzIwNGYxYWVi
ZDE4NjQ1NjE2M2M0NDM5NGU5OTFkYWYzNzQ3YzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudElkZW50aWZp
ZXIuaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogCisj
aW5jbHVkZSAiRG9jdW1lbnRJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclR5
cGVzLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTM0LDkgKzM1LDkg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVudElkZW50
aWZpZXIgewogICAgIFNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIgc2VydmVyQ29ubmVjdGlv
bklkZW50aWZpZXI7Ci0gICAgdWludDY0X3Qgc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZp
ZXI7CisgICAgRG9jdW1lbnRJZGVudGlmaWVyIGNvbnRleHRJZGVudGlmaWVyOwogCi0gICAgU3Ry
aW5nIHRvU3RyaW5nKCkgY29uc3QgeyByZXR1cm4gU3RyaW5nOjpudW1iZXIoc2VydmVyQ29ubmVj
dGlvbklkZW50aWZpZXIudG9VSW50NjQoKSkgKyAiLSIgKyAgU3RyaW5nOjpudW1iZXIoc2NyaXB0
RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpOyB9CisgICAgU3RyaW5nIHRvU3RyaW5nKCkgY29u
c3QgeyByZXR1cm4gU3RyaW5nOjpudW1iZXIoc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIudG9V
SW50NjQoKSkgKyAiLSIgKyAgU3RyaW5nOjpudW1iZXIoY29udGV4dElkZW50aWZpZXIudG9VSW50
NjQoKSk7IH0KIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29k
ZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRp
b25hbDxTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcj4gZGVjb2RlKERlY29kZXImKTsKQEAg
LTQ1LDcgKzQ2LDcgQEAgc3RydWN0IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIHsKIHRl
bXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2b2lkIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVy
OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKLSAgICBlbmNvZGVyIDw8IHNlcnZl
ckNvbm5lY3Rpb25JZGVudGlmaWVyIDw8IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVy
OworICAgIGVuY29kZXIgPDwgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIgPDwgY29udGV4dElk
ZW50aWZpZXI7CiB9CiAKIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+CkBAIC01NiwxMiArNTcsMTIg
QEAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcj4gU2VydmljZVdv
cmtlckNsaWVudElkZW50aWZpZXI6OmRlY28KICAgICBpZiAoIXNlcnZlckNvbm5lY3Rpb25JZGVu
dGlmaWVyKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgc3RkOjpvcHRpb25h
bDx1aW50NjRfdD4gc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI7Ci0gICAgZGVjb2Rl
ciA+PiBzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcjsKLSAgICBpZiAoIXNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKQorICAgIHN0ZDo6b3B0aW9uYWw8RG9jdW1lbnRJZGVu
dGlmaWVyPiBjb250ZXh0SWRlbnRpZmllcjsKKyAgICBkZWNvZGVyID4+IGNvbnRleHRJZGVudGlm
aWVyOworICAgIGlmICghY29udGV4dElkZW50aWZpZXIpCiAgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7CiAKLSAgICByZXR1cm4geyB7IFdURk1vdmUoKnNlcnZlckNvbm5lY3Rpb25JZGVudGlm
aWVyKSwgV1RGTW92ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpIH0gfTsKKyAg
ICByZXR1cm4geyB7IFdURk1vdmUoKnNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyKSwgV1RGTW92
ZSgqY29udGV4dElkZW50aWZpZXIpIH0gfTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVu
dENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9T
V0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IGQ0Mzc0MmNlOTFmZWVlOTE4Y2NhMTJmNDNiMzM0
ZGVlMmIxZDlkN2EuLmU4NjA0MDMyOGNmZTFjYzdiY2UwMDIwZDA4OGU0ODkwMjdiYmYzYzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRD
b25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTExOCwxMCArMTE4LDEwIEBAIHZvaWQgU1dDbGll
bnRDb25uZWN0aW9uOjpzdGFydFNjcmlwdEZldGNoRm9yU2VydmVyKGNvbnN0IFNlcnZpY2VXb3Jr
ZXJKb2JEYXRhSWRlCiAgICAgam9iLT5zdGFydFNjcmlwdEZldGNoKCk7CiB9CiAKLXZvaWQgU1dD
bGllbnRDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudCh1aW50NjRf
dCBkZXN0aW5hdGlvblNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBSZWY8U2VyaWFs
aXplZFNjcmlwdFZhbHVlPiYmIG1lc3NhZ2UsIFNlcnZpY2VXb3JrZXJEYXRhJiYgc291cmNlRGF0
YSwgY29uc3QgU3RyaW5nJiBzb3VyY2VPcmlnaW4pCit2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6
cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQoRG9jdW1lbnRJZGVudGlmaWVyIGRlc3Rp
bmF0aW9uQ29udGV4dElkZW50aWZpZXIsIFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgbWVz
c2FnZSwgU2VydmljZVdvcmtlckRhdGEmJiBzb3VyY2VEYXRhLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZU9yaWdpbikKIHsKLSAgICAvLyBGSVhNRTogZGVzdGluYXRpb25TY3JpcHRFeGVjdXRpb25Db250
ZXh0SWRlbnRpZmllciBjYW4gb25seSBpZGVudGlmeSBhIERvY3VtZW50IGF0IHRoZSBtb21lbnQu
Ci0gICAgYXV0byogZGVzdGluYXRpb25Eb2N1bWVudCA9IERvY3VtZW50OjphbGxEb2N1bWVudHNN
YXAoKS5nZXQoZGVzdGluYXRpb25TY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcik7Cisg
ICAgLy8gRklYTUU6IGRlc3RpbmF0aW9uQ29udGV4dElkZW50aWZpZXIgY2FuIG9ubHkgaWRlbnRp
ZnkgYSBEb2N1bWVudCBhdCB0aGUgbW9tZW50LgorICAgIGF1dG8qIGRlc3RpbmF0aW9uRG9jdW1l
bnQgPSBEb2N1bWVudDo6YWxsRG9jdW1lbnRzTWFwKCkuZ2V0KGRlc3RpbmF0aW9uQ29udGV4dElk
ZW50aWZpZXIpOwogICAgIGlmICghZGVzdGluYXRpb25Eb2N1bWVudCkKICAgICAgICAgcmV0dXJu
OwogCkBAIC0xNjUsMTEgKzE2NSwxMSBAQCB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6ZmlyZVVw
ZGF0ZUZvdW5kRXZlbnQoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZQogICAgIH0p
OwogfQogCi12b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6bm90aWZ5Q2xpZW50c09mQ29udHJvbGxl
ckNoYW5nZShjb25zdCBIYXNoU2V0PHVpbnQ2NF90PiYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dHMs
IFNlcnZpY2VXb3JrZXJEYXRhJiYgbmV3Q29udHJvbGxlcikKK3ZvaWQgU1dDbGllbnRDb25uZWN0
aW9uOjpub3RpZnlDbGllbnRzT2ZDb250cm9sbGVyQ2hhbmdlKGNvbnN0IEhhc2hTZXQ8RG9jdW1l
bnRJZGVudGlmaWVyPiYgY29udGV4dElkZW50aWZpZXJzLCBTZXJ2aWNlV29ya2VyRGF0YSYmIG5l
d0NvbnRyb2xsZXIpCiB7Ci0gICAgQVNTRVJUKCFzY3JpcHRFeGVjdXRpb25Db250ZXh0cy5pc0Vt
cHR5KCkpOworICAgIEFTU0VSVCghY29udGV4dElkZW50aWZpZXJzLmlzRW1wdHkoKSk7CiAKLSAg
ICBmb3IgKGF1dG8mIGNsaWVudElkZW50aWZpZXIgOiBzY3JpcHRFeGVjdXRpb25Db250ZXh0cykg
eworICAgIGZvciAoYXV0byYgY2xpZW50SWRlbnRpZmllciA6IGNvbnRleHRJZGVudGlmaWVycykg
ewogICAgICAgICAvLyBGSVhNRTogU3VwcG9ydCB3b3JrZXIgY29udGV4dHMuCiAgICAgICAgIGF1
dG8qIGNsaWVudCA9IERvY3VtZW50OjphbGxEb2N1bWVudHNNYXAoKS5nZXQoY2xpZW50SWRlbnRp
Zmllcik7CiAgICAgICAgIGlmICghY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggM2I4
MTFjZDUzYzE2NDI2MTViYzQxY2VhZWUyMDk5MWViOGExNGU2Zi4uZWU3NmFhNzMyZGZlYjI5NTFi
YTgyZTRhNDcxYTY5NmFkMTU1NTBjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oCkBAIC0yNyw2ICsy
Nyw3IEBACiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAKKyNpbmNsdWRlICJEb2N1bWVu
dElkZW50aWZpZXIuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySm9iLmgiCiAjaW5jbHVkZSAi
U2VydmljZVdvcmtlclR5cGVzLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KQEAgLTY4LDEy
ICs2OSwxMiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVzb2x2ZVJlZ2lzdHJh
dGlvblByb21pc2UoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYpID0gMDsKIAot
ICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKFNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uSWRlbnRpZmllciwgUmVmPFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZT4mJiwgdWludDY0X3Qgc291cmNlQ29udGV4dElkZW50aWZpZXIsIFNlcnZp
Y2VXb3JrZXJDbGllbnREYXRhJiYgc291cmNlKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHBvc3RN
ZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoU2VydmljZVdvcmtlcklkZW50aWZpZXIg
ZGVzdGluYXRpb25JZGVudGlmaWVyLCBSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmLCBEb2N1
bWVudElkZW50aWZpZXIgc291cmNlQ29udGV4dElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGll
bnREYXRhJiYgc291cmNlKSA9IDA7CiAgICAgdmlydHVhbCBTV1NlcnZlckNvbm5lY3Rpb25JZGVu
dGlmaWVyIHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyKCkgY29uc3QgPSAwOwogICAgIHZpcnR1
YWwgYm9vbCBtYXlIYXZlU2VydmljZVdvcmtlclJlZ2lzdGVyZWRGb3JPcmlnaW4oY29uc3QgU2Vj
dXJpdHlPcmlnaW4mKSBjb25zdCA9IDA7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2VydmljZVdvcmtl
clN0YXJ0ZWRDb250cm9sbGluZ0NsaWVudChTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgdWludDY0
X3Qgc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpID0gMDsKLSAgICB2aXJ0dWFsIHZv
aWQgc2VydmljZVdvcmtlclN0b3BwZWRDb250cm9sbGluZ0NsaWVudChTZXJ2aWNlV29ya2VySWRl
bnRpZmllciwgdWludDY0X3Qgc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpID0gMDsK
KyAgICB2aXJ0dWFsIHZvaWQgc2VydmljZVdvcmtlclN0YXJ0ZWRDb250cm9sbGluZ0NsaWVudChT
ZXJ2aWNlV29ya2VySWRlbnRpZmllciwgRG9jdW1lbnRJZGVudGlmaWVyKSA9IDA7CisgICAgdmly
dHVhbCB2b2lkIHNlcnZpY2VXb3JrZXJTdG9wcGVkQ29udHJvbGxpbmdDbGllbnQoU2VydmljZVdv
cmtlcklkZW50aWZpZXIsIERvY3VtZW50SWRlbnRpZmllcikgPSAwOwogCiBwcm90ZWN0ZWQ6CiAg
ICAgV0VCQ09SRV9FWFBPUlQgU1dDbGllbnRDb25uZWN0aW9uKCk7CkBAIC04MiwxMSArODMsMTEg
QEAgcHJvdGVjdGVkOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVnaXN0cmF0aW9uSm9iUmVz
b2x2ZWRJblNlcnZlcihjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXImLCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmLCBTaG91bGROb3RpZnlXaGVuUmVzb2x2ZWQpOwog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdW5yZWdpc3RyYXRpb25Kb2JSZXNvbHZlZEluU2VydmVy
KGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhSWRlbnRpZmllciYsIGJvb2wgdW5yZWdpc3RyYXRp
b25SZXN1bHQpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3RhcnRTY3JpcHRGZXRjaEZvclNl
cnZlcihjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXImKTsKLSAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KHVpbnQ2NF90IGRl
c3RpbmF0aW9uU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFJlZjxTZXJpYWxpemVk
U2NyaXB0VmFsdWU+JiYgbWVzc2FnZSwgU2VydmljZVdvcmtlckRhdGEmJiBzb3VyY2UsIGNvbnN0
IFN0cmluZyYgc291cmNlT3JpZ2luKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHBvc3RNZXNz
YWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KERvY3VtZW50SWRlbnRpZmllciBkZXN0aW5hdGlvbkNv
bnRleHRJZGVudGlmaWVyLCBSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIG1lc3NhZ2UsIFNl
cnZpY2VXb3JrZXJEYXRhJiYgc291cmNlLCBjb25zdCBTdHJpbmcmIHNvdXJjZU9yaWdpbik7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1cGRhdGVSZWdpc3RyYXRpb25TdGF0ZShTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRl
LCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRhPiYpOwogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgdXBkYXRlV29ya2VyU3RhdGUoU2VydmljZVdvcmtlcklkZW50aWZpZXIsIFNl
cnZpY2VXb3JrZXJTdGF0ZSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBmaXJlVXBkYXRlRm91
bmRFdmVudChTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcik7Ci0gICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBub3RpZnlDbGllbnRzT2ZDb250cm9sbGVyQ2hhbmdlKGNvbnN0IEhhc2hT
ZXQ8dWludDY0X3Q+JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0cywgU2VydmljZVdvcmtlckRhdGEm
JiBuZXdDb250cm9sbGVyKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIG5vdGlmeUNsaWVudHNP
ZkNvbnRyb2xsZXJDaGFuZ2UoY29uc3QgSGFzaFNldDxEb2N1bWVudElkZW50aWZpZXI+JiBjb250
ZXh0SWRlbnRpZmllcnMsIFNlcnZpY2VXb3JrZXJEYXRhJiYgbmV3Q29udHJvbGxlcik7CiAKIHBy
aXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlSm9iSW5TZXJ2ZXIoY29uc3QgU2Vydmlj
ZVdvcmtlckpvYkRhdGEmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCmluZGV4IGVjM2E2MDg5ODNiOWNjMjQwMWJjMzY4M2Zi
MjYwYjQ1ZDJjZTQxNjkuLjY5OTQzODljZjhmMzBkMDc2N2ZmZjI4NTBjM2M3NjhlZjg3YjE3NGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2
ZXIuY3BwCkBAIC0xNzAsMTQgKzE3MCwxNCBAQCB2b2lkIFNXU2VydmVyOjpDb25uZWN0aW9uOjpy
ZW1vdmVTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoY29uc3QgU2VydmljZQogICAg
IG1fc2VydmVyLnJlbW92ZUNsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oKnRoaXMsIGtl
eSwgaWRlbnRpZmllcik7CiB9CiAKLXZvaWQgU1dTZXJ2ZXI6OkNvbm5lY3Rpb246OnNlcnZpY2VX
b3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQoU2VydmljZVdvcmtlcklkZW50aWZpZXIgc2Vy
dmljZVdvcmtlcklkZW50aWZpZXIsIHVpbnQ2NF90IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVu
dGlmaWVyKQordm9pZCBTV1NlcnZlcjo6Q29ubmVjdGlvbjo6c2VydmljZVdvcmtlclN0YXJ0ZWRD
b250cm9sbGluZ0NsaWVudChTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2VySWRl
bnRpZmllciwgRG9jdW1lbnRJZGVudGlmaWVyIGNvbnRleHRJZGVudGlmaWVyKQogewotICAgIG1f
c2VydmVyLnNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQoKnRoaXMsIHNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcik7Cisg
ICAgbV9zZXJ2ZXIuc2VydmljZVdvcmtlclN0YXJ0ZWRDb250cm9sbGluZ0NsaWVudCgqdGhpcywg
c2VydmljZVdvcmtlcklkZW50aWZpZXIsIGNvbnRleHRJZGVudGlmaWVyKTsKIH0KIAotdm9pZCBT
V1NlcnZlcjo6Q29ubmVjdGlvbjo6c2VydmljZVdvcmtlclN0b3BwZWRDb250cm9sbGluZ0NsaWVu
dChTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgdWludDY0
X3Qgc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpCit2b2lkIFNXU2VydmVyOjpDb25u
ZWN0aW9uOjpzZXJ2aWNlV29ya2VyU3RvcHBlZENvbnRyb2xsaW5nQ2xpZW50KFNlcnZpY2VXb3Jr
ZXJJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBEb2N1bWVudElkZW50aWZpZXIg
Y29udGV4dElkZW50aWZpZXIpCiB7Ci0gICAgbV9zZXJ2ZXIuc2VydmljZVdvcmtlclN0b3BwZWRD
b250cm9sbGluZ0NsaWVudCgqdGhpcywgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKKyAgICBtX3NlcnZlci5zZXJ2aWNlV29ya2VyU3Rv
cHBlZENvbnRyb2xsaW5nQ2xpZW50KCp0aGlzLCBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgY29u
dGV4dElkZW50aWZpZXIpOwogfQogCiBTV1NlcnZlcjo6U1dTZXJ2ZXIoVW5pcXVlUmVmPFNXT3Jp
Z2luU3RvcmU+JiYgb3JpZ2luU3RvcmUpCkBAIC0zMjQsNyArMzI0LDcgQEAgdm9pZCBTV1NlcnZl
cjo6cmVtb3ZlQ2xpZW50U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihDb25uZWN0aW9uJiBjb25u
ZWN0aW9uLCBjb24KICAgICByZWdpc3RyYXRpb24tPnJlbW92ZUNsaWVudFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24oY29ubmVjdGlvbi5pZGVudGlmaWVyKCkpOwogfQogCi12b2lkIFNXU2VydmVy
OjpzZXJ2aWNlV29ya2VyU3RhcnRlZENvbnRyb2xsaW5nQ2xpZW50KENvbm5lY3Rpb24mIGNvbm5l
Y3Rpb24sIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCB1
aW50NjRfdCBzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcikKK3ZvaWQgU1dTZXJ2ZXI6
OnNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQoQ29ubmVjdGlvbiYgY29ubmVj
dGlvbiwgU2VydmljZVdvcmtlcklkZW50aWZpZXIgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIERv
Y3VtZW50SWRlbnRpZmllciBjb250ZXh0SWRlbnRpZmllcikKIHsKICAgICBhdXRvKiBzZXJ2aWNl
V29ya2VyID0gbV93b3JrZXJzQnlJRC5nZXQoc2VydmljZVdvcmtlcklkZW50aWZpZXIpOwogICAg
IGlmICghc2VydmljZVdvcmtlcikKQEAgLTMzNCwxMCArMzM0LDEwIEBAIHZvaWQgU1dTZXJ2ZXI6
OnNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQoQ29ubmVjdGlvbiYgY29ubmVj
dGlvbiwgU2VyCiAgICAgaWYgKCFyZWdpc3RyYXRpb24pCiAgICAgICAgIHJldHVybjsKIAotICAg
IHJlZ2lzdHJhdGlvbi0+YWRkQ2xpZW50VXNpbmdSZWdpc3RyYXRpb24oeyBjb25uZWN0aW9uLmlk
ZW50aWZpZXIoKSwgc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgfSk7CisgICAgcmVn
aXN0cmF0aW9uLT5hZGRDbGllbnRVc2luZ1JlZ2lzdHJhdGlvbih7IGNvbm5lY3Rpb24uaWRlbnRp
ZmllcigpLCBjb250ZXh0SWRlbnRpZmllciB9KTsKIH0KIAotdm9pZCBTV1NlcnZlcjo6c2Vydmlj
ZVdvcmtlclN0b3BwZWRDb250cm9sbGluZ0NsaWVudChDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBT
ZXJ2aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgdWludDY0X3Qg
c2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpCit2b2lkIFNXU2VydmVyOjpzZXJ2aWNl
V29ya2VyU3RvcHBlZENvbnRyb2xsaW5nQ2xpZW50KENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIFNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBEb2N1bWVudElk
ZW50aWZpZXIgY29udGV4dElkZW50aWZpZXIpCiB7CiAgICAgYXV0byogc2VydmljZVdvcmtlciA9
IG1fd29ya2Vyc0J5SUQuZ2V0KHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKICAgICBpZiAoIXNl
cnZpY2VXb3JrZXIpCkBAIC0zNDcsNyArMzQ3LDcgQEAgdm9pZCBTV1NlcnZlcjo6c2VydmljZVdv
cmtlclN0b3BwZWRDb250cm9sbGluZ0NsaWVudChDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBTZXIK
ICAgICBpZiAoIXJlZ2lzdHJhdGlvbikKICAgICAgICAgcmV0dXJuOwogCi0gICAgcmVnaXN0cmF0
aW9uLT5yZW1vdmVDbGllbnRVc2luZ1JlZ2lzdHJhdGlvbih7IGNvbm5lY3Rpb24uaWRlbnRpZmll
cigpLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciB9KTsKKyAgICByZWdpc3RyYXRp
b24tPnJlbW92ZUNsaWVudFVzaW5nUmVnaXN0cmF0aW9uKHsgY29ubmVjdGlvbi5pZGVudGlmaWVy
KCksIGNvbnRleHRJZGVudGlmaWVyIH0pOwogfQogCiB2b2lkIFNXU2VydmVyOjp1cGRhdGVXb3Jr
ZXIoQ29ubmVjdGlvbiYsIGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhSWRlbnRpZmllciYgam9i
RGF0YUlkZW50aWZpZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIHJlZ2lz
dHJhdGlvbktleSwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgc2NyaXB0LCBXb3JrZXJU
eXBlIHR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1NXU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NX
U2VydmVyLmgKaW5kZXggMGJiMGM1NmM4NjRiNDk4OWQxMTE3MTMwODJhODlkMDFhYWI2OWEzYi4u
ZDU4ZGFiYjNiZmY2ZGQ1MGZmMjFmZGVkNzczNTI0ODkwNWVjZWFjNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaApAQCAtMjcsNiArMjcs
NyBAQAogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogCisjaW5jbHVkZSAiRG9jdW1lbnRJ
ZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU1dTZXJ2ZXJXb3JrZXIuaCIKICNpbmNsdWRlICJTZXJ2
aWNlV29ya2VySWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJKb2IuaCIKQEAg
LTczLDcgKzc0LDcgQEAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlUmVnaXN0
cmF0aW9uU3RhdGVJbkNsaWVudChTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZp
Y2VXb3JrZXJEYXRhPiYpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVdvcmtlclN0
YXRlSW5DbGllbnQoU2VydmljZVdvcmtlcklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJTdGF0ZSkg
PSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZmlyZVVwZGF0ZUZvdW5kRXZlbnQoU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpID0gMDsKLSAgICAgICAgdmlydHVhbCB2b2lkIG5v
dGlmeUNsaWVudHNPZkNvbnRyb2xsZXJDaGFuZ2UoY29uc3QgSGFzaFNldDx1aW50NjRfdD4mIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRzLCBjb25zdCBTZXJ2aWNlV29ya2VyRGF0YSYgbmV3Q29udHJv
bGxlcikgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5Q2xpZW50c09mQ29udHJvbGxl
ckNoYW5nZShjb25zdCBIYXNoU2V0PERvY3VtZW50SWRlbnRpZmllcj4mIGNvbnRleHRJZGVudGlm
aWVycywgY29uc3QgU2VydmljZVdvcmtlckRhdGEmIG5ld0NvbnRyb2xsZXIpID0gMDsKIAogICAg
IHByb3RlY3RlZDoKICAgICAgICAgV0VCQ09SRV9FWFBPUlQgZXhwbGljaXQgQ29ubmVjdGlvbihT
V1NlcnZlciYpOwpAQCAtODMsOCArODQsOCBAQCBwdWJsaWM6CiAgICAgICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgZmluaXNoRmV0Y2hpbmdTY3JpcHRJblNlcnZlcihjb25zdCBTZXJ2aWNlV29ya2Vy
RmV0Y2hSZXN1bHQmKTsKICAgICAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhZGRTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktl
eSYsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyKTsKICAgICAgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCByZW1vdmVTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoY29u
c3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25JZGVudGlmaWVyKTsKLSAgICAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXJ2aWNlV29ya2Vy
U3RhcnRlZENvbnRyb2xsaW5nQ2xpZW50KFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCB1aW50NjRf
dCBzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcik7Ci0gICAgICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgc2VydmljZVdvcmtlclN0b3BwZWRDb250cm9sbGluZ0NsaWVudChTZXJ2aWNlV29y
a2VySWRlbnRpZmllciwgdWludDY0X3Qgc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIp
OworICAgICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJv
bGxpbmdDbGllbnQoU2VydmljZVdvcmtlcklkZW50aWZpZXIsIERvY3VtZW50SWRlbnRpZmllcik7
CisgICAgICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2VydmljZVdvcmtlclN0b3BwZWRDb250cm9s
bGluZ0NsaWVudChTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgRG9jdW1lbnRJZGVudGlmaWVyKTsK
IAogICAgIHByaXZhdGU6CiAgICAgICAgIC8vIE1lc3NhZ2VzIHRvIHRoZSBjbGllbnQgV2ViUHJv
Y2VzcwpAQCAtMTUwLDggKzE1MSw4IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGFkZENsaWVudFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oQ29ubmVjdGlvbiYsIGNvbnN0IFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25LZXkmLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcik7CiAg
ICAgdm9pZCByZW1vdmVDbGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKENvbm5lY3Rpb24m
LCBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXIpOwotICAgIHZvaWQgc2VydmljZVdvcmtlclN0YXJ0ZWRDb250cm9s
bGluZ0NsaWVudChDb25uZWN0aW9uJiwgU2VydmljZVdvcmtlcklkZW50aWZpZXIsIHVpbnQ2NF90
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKLSAgICB2b2lkIHNlcnZpY2VXb3Jr
ZXJTdG9wcGVkQ29udHJvbGxpbmdDbGllbnQoQ29ubmVjdGlvbiYsIFNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyLCB1aW50NjRfdCBzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcik7CisgICAg
dm9pZCBzZXJ2aWNlV29ya2VyU3RhcnRlZENvbnRyb2xsaW5nQ2xpZW50KENvbm5lY3Rpb24mLCBT
ZXJ2aWNlV29ya2VySWRlbnRpZmllciwgRG9jdW1lbnRJZGVudGlmaWVyKTsKKyAgICB2b2lkIHNl
cnZpY2VXb3JrZXJTdG9wcGVkQ29udHJvbGxpbmdDbGllbnQoQ29ubmVjdGlvbiYsIFNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyLCBEb2N1bWVudElkZW50aWZpZXIpOwogCiAgICAgV0VCQ09SRV9FWFBP
UlQgY29uc3QgU1dTZXJ2ZXJSZWdpc3RyYXRpb24qIGRvUmVnaXN0cmF0aW9uTWF0Y2hpbmcoY29u
c3QgU2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMKSBj
b25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZl
ci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcAppbmRleCA4OTA1NmQ0ZTNlN2ZhZGUw
OTk4NDNmODM5ZWM3MjhiYmYzNDQ3ZDJmLi4yZWNjZjU4ODcxMTViM2QzZmNiMDAwZDk4ZmY2NzNj
ZmUzN2VkOTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcApAQCAtMTQ3LDggKzE0Nyw4
IEBAIHZvaWQgU1dTZXJ2ZXJSZWdpc3RyYXRpb246OnJlbW92ZUNsaWVudFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24oU1dTZXJ2ZXJDb25uZWN0CiB2b2lkIFNXU2VydmVyUmVnaXN0cmF0aW9uOjph
ZGRDbGllbnRVc2luZ1JlZ2lzdHJhdGlvbihjb25zdCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRp
ZmllciYgY2xpZW50SWRlbnRpZmllcikKIHsKICAgICBhdXRvIGFkZFJlc3VsdCA9IG1fY2xpZW50
c1VzaW5nUmVnaXN0cmF0aW9uLmVuc3VyZShjbGllbnRJZGVudGlmaWVyLnNlcnZlckNvbm5lY3Rp
b25JZGVudGlmaWVyLCBbXSB7Ci0gICAgICAgIHJldHVybiBIYXNoU2V0PHVpbnQ2NF90PiB7IH07
Ci0gICAgfSkuaXRlcmF0b3ItPnZhbHVlLmFkZChjbGllbnRJZGVudGlmaWVyLnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKKyAgICAgICAgcmV0dXJuIEhhc2hTZXQ8RG9jdW1lbnRJ
ZGVudGlmaWVyPiB7IH07CisgICAgfSkuaXRlcmF0b3ItPnZhbHVlLmFkZChjbGllbnRJZGVudGlm
aWVyLmNvbnRleHRJZGVudGlmaWVyKTsKICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdCwgYWRk
UmVzdWx0LmlzTmV3RW50cnkpOwogfQogCkBAIC0xNTYsNyArMTU2LDcgQEAgdm9pZCBTV1NlcnZl
clJlZ2lzdHJhdGlvbjo6cmVtb3ZlQ2xpZW50VXNpbmdSZWdpc3RyYXRpb24oY29uc3QgU2Vydmlj
ZVdvcmtlckNsaWUKIHsKICAgICBhdXRvIGl0ZXJhdG9yID0gbV9jbGllbnRzVXNpbmdSZWdpc3Ry
YXRpb24uZmluZChjbGllbnRJZGVudGlmaWVyLnNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyKTsK
ICAgICBBU1NFUlQoaXRlcmF0b3IgIT0gbV9jbGllbnRzVXNpbmdSZWdpc3RyYXRpb24uZW5kKCkp
OwotICAgIGJvb2wgd2FzUmVtb3ZlZCA9IGl0ZXJhdG9yLT52YWx1ZS5yZW1vdmUoY2xpZW50SWRl
bnRpZmllci5zY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcik7CisgICAgYm9vbCB3YXNS
ZW1vdmVkID0gaXRlcmF0b3ItPnZhbHVlLnJlbW92ZShjbGllbnRJZGVudGlmaWVyLmNvbnRleHRJ
ZGVudGlmaWVyKTsKICAgICBBU1NFUlRfVU5VU0VEKHdhc1JlbW92ZWQsIHdhc1JlbW92ZWQpOwog
CiAgICAgaWYgKGl0ZXJhdG9yLT52YWx1ZS5pc0VtcHR5KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9u
LmgKaW5kZXggMWI4YjUwNTU5NTgyZDEwODIyNzRhOWE5YzdlYTIzYzExMDcyZDBiMi4uMzFmNmFl
ZTVlY2YyOWU4OWNlNTJlZDYxZTE5NmQzZjVlMGQyZDIwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRp
b24uaApAQCAtMTAwLDcgKzEwMCw3IEBAIHByaXZhdGU6CiAgICAgU1dTZXJ2ZXImIG1fc2VydmVy
OwogCiAgICAgTW9ub3RvbmljVGltZSBtX2NyZWF0aW9uVGltZTsKLSAgICBIYXNoTWFwPFNXU2Vy
dmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIEhhc2hTZXQ8dWludDY0X3QgLyogc2NyaXB0RXhlY3V0
aW9uQ29udGV4dElkZW50aWZpZXIgKi8+PiBtX2NsaWVudHNVc2luZ1JlZ2lzdHJhdGlvbjsKKyAg
ICBIYXNoTWFwPFNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIEhhc2hTZXQ8RG9jdW1lbnRJ
ZGVudGlmaWVyPj4gbV9jbGllbnRzVXNpbmdSZWdpc3RyYXRpb247CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Bcmd1
bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMu
aAppbmRleCA2MWI4ZWI3NTA2MDMyNGViMDhjYzEyZWQ1ZTE3YTVlNDM4NmMyNTRkLi44MzU3ZWFi
ZTZjMDMwNTE4ZDUxNDdhZjRlMTg3MTAwZmE2NGFiYzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmgKQEAgLTQyNCwxMSArNDI0LDEyIEBAIHRlbXBsYXRl
PHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUgSGFzaEFyZywgdHlwZW5hbWUgS2V5VHJhaXRzQXJn
PiBzdHJ1Y3QgQXJndW1lCiAKICAgICAgICAgSGFzaFNldFR5cGUgdGVtcEhhc2hTZXQ7CiAgICAg
ICAgIGZvciAodWludDY0X3QgaSA9IDA7IGkgPCBoYXNoU2V0U2l6ZTsgKytpKSB7Ci0gICAgICAg
ICAgICBLZXlBcmcga2V5OwotICAgICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShrZXkpKQor
ICAgICAgICAgICAgc3RkOjpvcHRpb25hbDxLZXlBcmc+IGtleTsKKyAgICAgICAgICAgIGRlY29k
ZXIgPj4ga2V5OworICAgICAgICAgICAgaWYgKCFrZXkpCiAgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCi0gICAgICAgICAgICBpZiAoIXRlbXBIYXNoU2V0LmFkZChrZXkpLmlzTmV3RW50
cnkpIHsKKyAgICAgICAgICAgIGlmICghdGVtcEhhc2hTZXQuYWRkKCprZXkpLmlzTmV3RW50cnkp
IHsKICAgICAgICAgICAgICAgICAvLyBUaGUgaGFzaCBtYXAgYWxyZWFkeSBoYXMgdGhlIHNwZWNp
ZmllZCBrZXksIGJhaWwuCiAgICAgICAgICAgICAgICAgZGVjb2Rlci5tYXJrSW52YWxpZCgpOwog
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0
L21lc3NhZ2VzLnB5CmluZGV4IGIzMzY4NmIzMGEzZDRmNDMyODFhN2E4OTEzZWM2YzIxMzQ1YWFj
YWYuLmYxNmFmYmJjN2IyYWEwZDU0Yjc0N2FlYjNlM2M3NGZkN2FlN2JhMzggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dl
YktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQpAQCAtMTg0LDYgKzE4NCw3IEBAIGRlZiBm
b3J3YXJkX2RlY2xhcmF0aW9uc19hbmRfaGVhZGVycyhyZWNlaXZlcik6CiAgICAgICAgICAgICB0
eXBlc19ieV9uYW1lc3BhY2VbJ0lQQyddLnVwZGF0ZShbKCdjbGFzcycsICdDb25uZWN0aW9uJyld
KQogCiAgICAgbm9fZm9yd2FyZF9kZWNsYXJhdGlvbl90eXBlcyA9IGZyb3plbnNldChbCisgICAg
ICAgICdXZWJDb3JlOjpEb2N1bWVudElkZW50aWZpZXInLAogICAgICAgICAnV2ViQ29yZTo6U2Vy
dmljZVdvcmtlcklkZW50aWZpZXInLAogICAgICAgICAnV2ViQ29yZTo6U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbklkZW50aWZpZXInLAogICAgICAgICAnV2ViQ29yZTo6U1dTZXJ2ZXJDb25uZWN0
aW9uSWRlbnRpZmllcicsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNz
L1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQv
U3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCmlu
ZGV4IDRiNThmYTM3MzMyOWU1OTMxOGJiYzVjNjA2NjA0NzlhMTViY2MzZjguLjhiZTMyYzAzNjQ1
NWNiNjhiOGYzNTM3MWM3ODc0Yjk5MTU5YzM2ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZl
ckNvbm5lY3Rpb24uY3BwCkBAIC0xMDQsOSArMTA0LDkgQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5l
Y3Rpb246OmZpcmVVcGRhdGVGb3VuZEV2ZW50KFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVu
dGkKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV0NsaWVudENvbm5lY3Rpb246OkZpcmVVcGRhdGVG
b3VuZEV2ZW50KGlkZW50aWZpZXIpKTsKIH0KIAotdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246
Om5vdGlmeUNsaWVudHNPZkNvbnRyb2xsZXJDaGFuZ2UoY29uc3QgSGFzaFNldDx1aW50NjRfdD4m
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRzLCBjb25zdCBTZXJ2aWNlV29ya2VyRGF0YSYgbmV3Q29u
dHJvbGxlcikKK3ZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpub3RpZnlDbGllbnRzT2ZDb250
cm9sbGVyQ2hhbmdlKGNvbnN0IEhhc2hTZXQ8RG9jdW1lbnRJZGVudGlmaWVyPiYgY29udGV4dElk
ZW50aWZpZXJzLCBjb25zdCBTZXJ2aWNlV29ya2VyRGF0YSYgbmV3Q29udHJvbGxlcikKIHsKLSAg
ICBzZW5kKE1lc3NhZ2VzOjpXZWJTV0NsaWVudENvbm5lY3Rpb246Ok5vdGlmeUNsaWVudHNPZkNv
bnRyb2xsZXJDaGFuZ2Uoc2NyaXB0RXhlY3V0aW9uQ29udGV4dHMsIG5ld0NvbnRyb2xsZXIpKTsK
KyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV0NsaWVudENvbm5lY3Rpb246Ok5vdGlmeUNsaWVudHNP
ZkNvbnRyb2xsZXJDaGFuZ2UoY29udGV4dElkZW50aWZpZXJzLCBuZXdDb250cm9sbGVyKSk7CiB9
CiAKIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjp1cGRhdGVXb3JrZXJTdGF0ZUluQ2xpZW50
KFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHdvcmtlciwgU2VydmljZVdvcmtlclN0YXRlIHN0YXRl
KQpAQCAtMTE5LDcgKzExOSw3IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpzdGFydEZl
dGNoKHVpbnQ2NF90IGZldGNoSWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxTCiAgICAgc2VuZFRv
Q29udGV4dFByb2Nlc3MoTWVzc2FnZXM6OldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpT
dGFydEZldGNoIHsgaWRlbnRpZmllcigpLCBmZXRjaElkZW50aWZpZXIsIHNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyLCByZXF1ZXN0LCBvcHRpb25zLCBmb3JtRGF0YSB9KTsKIH0KIAotdm9pZCBXZWJT
V1NlcnZlckNvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUo
U2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb25TZXJ2aWNlV29ya2VySWRlbnRpZmll
ciwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBtZXNzYWdlLCB1aW50NjRfdCBzb3VyY2VDb250
ZXh0SWRlbnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJiBzb3VyY2VEYXRhKQordm9p
ZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGUoU2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb25TZXJ2aWNlV29ya2VySWRl
bnRpZmllciwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBtZXNzYWdlLCBEb2N1bWVudElkZW50
aWZpZXIgc291cmNlQ29udGV4dElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYg
c291cmNlRGF0YSkKIHsKICAgICBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBzb3VyY2VJ
ZGVudGlmaWVyIHsgaWRlbnRpZmllcigpLCBzb3VyY2VDb250ZXh0SWRlbnRpZmllciB9OwogICAg
IHNlbmRUb0NvbnRleHRQcm9jZXNzKE1lc3NhZ2VzOjpXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVj
dGlvbjo6UG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSB7IGRlc3RpbmF0aW9u
U2VydmljZVdvcmtlcklkZW50aWZpZXIsIG1lc3NhZ2UsIHNvdXJjZUlkZW50aWZpZXIsIFdURk1v
dmUoc291cmNlRGF0YSkgfSk7CkBAIC0xNTUsMTMgKzE1NSwxMyBAQCB2b2lkIFdlYlNXU2VydmVy
Q29ubmVjdGlvbjo6ZGlkTm90SGFuZGxlRmV0Y2godWludDY0X3QgZmV0Y2hJZGVudGlmaWVyKQog
ICAgIG1fY29udGVudENvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlNlcnZpY2VXb3JrZXJDbGll
bnRGZXRjaDo6RGlkTm90SGFuZGxlIHsgfSwgZmV0Y2hJZGVudGlmaWVyKTsKIH0KIAotdm9pZCBX
ZWJTV1NlcnZlckNvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KHVp
bnQ2NF90IGRlc3RpbmF0aW9uU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIGNvbnN0
IElQQzo6RGF0YVJlZmVyZW5jZSYgbWVzc2FnZSwgU2VydmljZVdvcmtlcklkZW50aWZpZXIgc291
cmNlSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBzb3VyY2VPcmlnaW4pCit2b2lkIFdlYlNXU2Vy
dmVyQ29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQoRG9jdW1lbnRJ
ZGVudGlmaWVyIGRlc3RpbmF0aW9uQ29udGV4dElkZW50aWZpZXIsIGNvbnN0IElQQzo6RGF0YVJl
ZmVyZW5jZSYgbWVzc2FnZSwgU2VydmljZVdvcmtlcklkZW50aWZpZXIgc291cmNlSWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiBzb3VyY2VPcmlnaW4pCiB7CiAgICAgYXV0byogc291cmNlU2Vydmlj
ZVdvcmtlciA9IHNlcnZlcigpLndvcmtlckJ5SUQoc291cmNlSWRlbnRpZmllcik7CiAgICAgaWYg
KCFzb3VyY2VTZXJ2aWNlV29ya2VyKQogICAgICAgICByZXR1cm47CiAKLSAgICBzZW5kKE1lc3Nh
Z2VzOjpXZWJTV0NsaWVudENvbm5lY3Rpb246OlBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xp
ZW50IHsgZGVzdGluYXRpb25TY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgbWVzc2Fn
ZSwgc291cmNlU2VydmljZVdvcmtlci0+ZGF0YSgpLCBzb3VyY2VPcmlnaW4gfSk7CisgICAgc2Vu
ZChNZXNzYWdlczo6V2ViU1dDbGllbnRDb25uZWN0aW9uOjpQb3N0TWVzc2FnZVRvU2VydmljZVdv
cmtlckNsaWVudCB7IGRlc3RpbmF0aW9uQ29udGV4dElkZW50aWZpZXIsIG1lc3NhZ2UsIHNvdXJj
ZVNlcnZpY2VXb3JrZXItPmRhdGEoKSwgc291cmNlT3JpZ2luIH0pOwogfQogCiB2b2lkIFdlYlNX
U2VydmVyQ29ubmVjdGlvbjo6bWF0Y2hSZWdpc3RyYXRpb24odWludDY0X3QgcmVnaXN0cmF0aW9u
TWF0Y2hSZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmln
aW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9y
YWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oIGIvU291cmNl
L1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlv
bi5oCmluZGV4IGYwNDIzMTc5MWQ0OGYzZDFkZGFkM2M0OWExNWQ3YTNjNDU0NjA4YWQuLjBmYmVi
Y2Q2ZTM2MTZiZDRiNDM4ODYxNjJjNGEyODk1OGI4ZDMyM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24u
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dT
ZXJ2ZXJDb25uZWN0aW9uLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlk
RmFpbEZldGNoKHVpbnQ2NF90IGZldGNoSWRlbnRpZmllcik7CiAgICAgdm9pZCBkaWROb3RIYW5k
bGVGZXRjaCh1aW50NjRfdCBmZXRjaElkZW50aWZpZXIpOwogCi0gICAgdm9pZCBwb3N0TWVzc2Fn
ZVRvU2VydmljZVdvcmtlckNsaWVudCh1aW50NjRfdCBkZXN0aW5hdGlvblNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIG1lc3NhZ2UsIFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNvdXJjZVNlcnZpY2VXb3JrZXJJZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZU9yaWdpbik7CisgICAgdm9pZCBwb3N0TWVzc2FnZVRv
U2VydmljZVdvcmtlckNsaWVudChXZWJDb3JlOjpEb2N1bWVudElkZW50aWZpZXIgZGVzdGluYXRp
b25Db250ZXh0SWRlbnRpZmllciwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBtZXNzYWdlLCBX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzb3VyY2VTZXJ2aWNlV29ya2VySWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiBzb3VyY2VPcmlnaW4pOwogCiBwcml2YXRlOgogICAgIC8vIElt
cGxlbWVudCBTV1NlcnZlcjo6Q29ubmVjdGlvbiAoTWVzc2FnZXMgdG8gdGhlIGNsaWVudCBXZWJQ
cm9jZXNzKQpAQCAtNzMsMTEgKzczLDExIEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVSZWdp
c3RyYXRpb25TdGF0ZUluQ2xpZW50KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25J
ZGVudGlmaWVyLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUsIGNvbnN0
IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlckRhdGE+JikgZmluYWw7CiAgICAg
dm9pZCB1cGRhdGVXb3JrZXJTdGF0ZUluQ2xpZW50KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyU3RhdGUpIGZpbmFsOwogICAgIHZvaWQgZmly
ZVVwZGF0ZUZvdW5kRXZlbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50
aWZpZXIpIGZpbmFsOwotICAgIHZvaWQgbm90aWZ5Q2xpZW50c09mQ29udHJvbGxlckNoYW5nZShj
b25zdCBIYXNoU2V0PHVpbnQ2NF90PiYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dHMsIGNvbnN0IFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJEYXRhJiBuZXdDb250cm9sbGVyKTsKKyAgICB2b2lkIG5vdGlm
eUNsaWVudHNPZkNvbnRyb2xsZXJDaGFuZ2UoY29uc3QgSGFzaFNldDxXZWJDb3JlOjpEb2N1bWVu
dElkZW50aWZpZXI+JiBjb250ZXh0SWRlbnRpZmllcnMsIGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJEYXRhJiBuZXdDb250cm9sbGVyKTsKIAogICAgIHZvaWQgc3RhcnRGZXRjaCh1aW50NjRf
dCBmZXRjaElkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlcklk
ZW50aWZpZXI+LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3Jl
OjpGZXRjaE9wdGlvbnMmLCBjb25zdCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlJik7CiAKLSAgICB2
b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb25JZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFS
ZWZlcmVuY2UmIG1lc3NhZ2UsIHVpbnQ2NF90IHNvdXJjZUNvbnRleHRJZGVudGlmaWVyLCBXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIHNvdXJjZSk7CisgICAgdm9pZCBwb3N0TWVz
c2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyIGRlc3RpbmF0aW9uSWRlbnRpZmllciwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBt
ZXNzYWdlLCBXZWJDb3JlOjpEb2N1bWVudElkZW50aWZpZXIgc291cmNlQ29udGV4dElkZW50aWZp
ZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgc291cmNlKTsKIAogICAgIHZv
aWQgbWF0Y2hSZWdpc3RyYXRpb24odWludDY0X3QgcmVnaXN0cmF0aW9uTWF0Y2hSZXF1ZXN0SWRl
bnRpZmllciwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNv
bnN0IFdlYkNvcmU6OlVSTCYgY2xpZW50VVJMKTsKICAgICB2b2lkIGdldFJlZ2lzdHJhdGlvbnMo
dWludDY0X3QgcmVnaXN0cmF0aW9uTWF0Y2hSZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgV2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlVSTCYgY2xp
ZW50VVJMKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2Vydmlj
ZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0
L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3Nh
Z2VzLmluCmluZGV4IDEyN2RkN2E0MjQxZGZjMmUxYjFjYWE1NTVjOGIyNmZlY2U5MjQxYjIuLmFi
OTk0OTQ2Mjg1M2I1ZjQxNmEzNTlhOTYxOWY2YzAxZTdjYjI2YzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rp
b24ubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNl
V29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgpAQCAtMjgsMTEgKzI4LDEx
IEBAIG1lc3NhZ2VzIC0+IFdlYlNXU2VydmVyQ29ubmVjdGlvbiB7CiAgICAgRmluaXNoRmV0Y2hp
bmdTY3JpcHRJblNlcnZlcihzdHJ1Y3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckZldGNoUmVzdWx0
IHJlc3VsdCkKICAgICBBZGRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoV2ViQ29y
ZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSBrZXksIFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIpCiAgICAgUmVtb3ZlU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25LZXkga2V5LCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBp
ZGVudGlmaWVyKQotICAgIFNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQoV2Vi
Q29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIHVp
bnQ2NF90IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKQotICAgIFNlcnZpY2VXb3Jr
ZXJTdG9wcGVkQ29udHJvbGxpbmdDbGllbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZp
ZXIgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIHVpbnQ2NF90IHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRJZGVudGlmaWVyKQorICAgIFNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQo
V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgc2VydmljZVdvcmtlcklkZW50aWZpZXIs
IFdlYkNvcmU6OkRvY3VtZW50SWRlbnRpZmllciBjb250ZXh0SWRlbnRpZmllcikKKyAgICBTZXJ2
aWNlV29ya2VyU3RvcHBlZENvbnRyb2xsaW5nQ2xpZW50KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpEb2N1bWVudElkZW50
aWZpZXIgY29udGV4dElkZW50aWZpZXIpCiAKICAgICBTdGFydEZldGNoKHVpbnQ2NF90IGlkZW50
aWZpZXIsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXI+IHNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwg
c3RydWN0IFdlYkNvcmU6OkZldGNoT3B0aW9ucyBvcHRpb25zLCBJUEM6OkZvcm1EYXRhUmVmZXJl
bmNlIHJlcXVlc3RCb2R5KQotICAgIFBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2Nv
cGUoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb25TZXJ2aWNlV29y
a2VySWRlbnRpZmllciwgSVBDOjpEYXRhUmVmZXJlbmNlIG1lc3NhZ2UsIHVpbnQ2NF90IHNvdXJj
ZUNvbnRleHRJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERh
dGEgc291cmNlKQorICAgIFBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoV2Vi
Q29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb25TZXJ2aWNlV29ya2VySWRl
bnRpZmllciwgSVBDOjpEYXRhUmVmZXJlbmNlIG1lc3NhZ2UsIFdlYkNvcmU6OkRvY3VtZW50SWRl
bnRpZmllciBzb3VyY2VDb250ZXh0SWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJDbGllbnREYXRhIHNvdXJjZSkKIAogICAgIERpZFJlc29sdmVSZWdpc3RyYXRpb25Qcm9t
aXNlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkga2V5KQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3MuY3BwCmluZGV4IDhmNmE5
ODg1NjA3YjBkMDJiMjUzOWMyNmI5YWVmOTFmYzEyMjAyZDEuLjE3ZTBlNzQ3MmQ1MGRkYzMwZDJk
OTg1MDZhNDU3ZTg4YzYyZGFlOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVBy
b2Nlc3MvU3RvcmFnZVByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nl
c3MvU3RvcmFnZVByb2Nlc3MuY3BwCkBAIC00NDksNyArNDQ5LDcgQEAgdm9pZCBTdG9yYWdlUHJv
Y2Vzczo6ZGlkRmluaXNoRmV0Y2goU1dTZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciBzZXJ2ZXJD
b25uZWN0aW8KIHZvaWQgU3RvcmFnZVByb2Nlc3M6OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2Vy
Q2xpZW50KGNvbnN0IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyJiBkZXN0aW5hdGlvbklk
ZW50aWZpZXIsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgbWVzc2FnZSwgU2VydmljZVdvcmtl
cklkZW50aWZpZXIgc291cmNlSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBzb3VyY2VPcmlnaW4p
CiB7CiAgICAgaWYgKGF1dG8qIGNvbm5lY3Rpb24gPSBtX3N3U2VydmVyQ29ubmVjdGlvbnMuZ2V0
KGRlc3RpbmF0aW9uSWRlbnRpZmllci5zZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcikpCi0gICAg
ICAgIGNvbm5lY3Rpb24tPnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KGRlc3RpbmF0
aW9uSWRlbnRpZmllci5zY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgbWVzc2FnZSwg
c291cmNlSWRlbnRpZmllciwgc291cmNlT3JpZ2luKTsKKyAgICAgICAgY29ubmVjdGlvbi0+cG9z
dE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQoZGVzdGluYXRpb25JZGVudGlmaWVyLmNvbnRl
eHRJZGVudGlmaWVyLCBtZXNzYWdlLCBzb3VyY2VJZGVudGlmaWVyLCBzb3VyY2VPcmlnaW4pOwog
fQogCiB2b2lkIFN0b3JhZ2VQcm9jZXNzOjpyZWdpc3RlclNXU2VydmVyQ29ubmVjdGlvbihXZWJT
V1NlcnZlckNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcAppbmRleCBj
ODQ3NjU0ZjQ1N2RmZDQ2ZWEwNGE4ZDY1MzdkNTQyN2RhNzZkNzk4Li4wMDBiN2VkNGU2YjBiNDkw
YWU0NDIwMDA0NTgzMTI3OTQwNTNiZDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTgyLDE5
ICs4MiwxOSBAQCB2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6cmVtb3ZlU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkluU2VydmVyKGNvbnN0IFNlcnZpYwogICAgIHNlbmQoTWVzc2FnZXM6Oldl
YlNXU2VydmVyQ29ubmVjdGlvbjo6UmVtb3ZlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2Vy
dmVyKGtleSwgaWRlbnRpZmllcikpOwogfQogCi12b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6
cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShTZXJ2aWNlV29ya2VySWRlbnRp
ZmllciBkZXN0aW5hdGlvbklkZW50aWZpZXIsIFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYg
c2NyaXB0VmFsdWUsIHVpbnQ2NF90IHNvdXJjZUNvbnRleHRJZGVudGlmaWVyLCBTZXJ2aWNlV29y
a2VyQ2xpZW50RGF0YSYmIHNvdXJjZSkKK3ZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpwb3N0
TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
IGRlc3RpbmF0aW9uSWRlbnRpZmllciwgUmVmPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiBzY3Jp
cHRWYWx1ZSwgRG9jdW1lbnRJZGVudGlmaWVyIHNvdXJjZUNvbnRleHRJZGVudGlmaWVyLCBTZXJ2
aWNlV29ya2VyQ2xpZW50RGF0YSYmIHNvdXJjZSkKIHsKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJT
V1NlcnZlckNvbm5lY3Rpb246OlBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUo
ZGVzdGluYXRpb25JZGVudGlmaWVyLCBJUEM6OkRhdGFSZWZlcmVuY2UgeyBzY3JpcHRWYWx1ZS0+
ZGF0YSgpIH0sIHNvdXJjZUNvbnRleHRJZGVudGlmaWVyLCBXVEZNb3ZlKHNvdXJjZSkpKTsKIH0K
IAotdm9pZCBXZWJTV0NsaWVudENvbm5lY3Rpb246OnNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJv
bGxpbmdDbGllbnQoU2VydmljZVdvcmtlcklkZW50aWZpZXIgc2VydmljZVdvcmtlcklkZW50aWZp
ZXIsIHVpbnQ2NF90IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKQordm9pZCBXZWJT
V0NsaWVudENvbm5lY3Rpb246OnNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQo
U2VydmljZVdvcmtlcklkZW50aWZpZXIgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIERvY3VtZW50
SWRlbnRpZmllciBjb250ZXh0SWRlbnRpZmllcikKIHsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJT
V1NlcnZlckNvbm5lY3Rpb246OlNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQo
c2VydmljZVdvcmtlcklkZW50aWZpZXIsIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVy
KSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpTZXJ2aWNlV29y
a2VyU3RhcnRlZENvbnRyb2xsaW5nQ2xpZW50KHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBjb250
ZXh0SWRlbnRpZmllcikpOwogfQogCi12b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6c2Vydmlj
ZVdvcmtlclN0b3BwZWRDb250cm9sbGluZ0NsaWVudChTZXJ2aWNlV29ya2VySWRlbnRpZmllciBz
ZXJ2aWNlV29ya2VySWRlbnRpZmllciwgdWludDY0X3Qgc2NyaXB0RXhlY3V0aW9uQ29udGV4dElk
ZW50aWZpZXIpCit2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6c2VydmljZVdvcmtlclN0b3Bw
ZWRDb250cm9sbGluZ0NsaWVudChTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2Vy
SWRlbnRpZmllciwgRG9jdW1lbnRJZGVudGlmaWVyIGNvbnRleHRJZGVudGlmaWVyKQogewotICAg
IHNlbmQoTWVzc2FnZXM6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6U2VydmljZVdvcmtlclN0b3Bw
ZWRDb250cm9sbGluZ0NsaWVudChzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgc2NyaXB0RXhlY3V0
aW9uQ29udGV4dElkZW50aWZpZXIpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZlckNv
bm5lY3Rpb246OlNlcnZpY2VXb3JrZXJTdG9wcGVkQ29udHJvbGxpbmdDbGllbnQoc2VydmljZVdv
cmtlcklkZW50aWZpZXIsIGNvbnRleHRJZGVudGlmaWVyKSk7CiB9CiAKIHZvaWQgV2ViU1dDbGll
bnRDb25uZWN0aW9uOjpkaWRSZXNvbHZlUmVnaXN0cmF0aW9uUHJvbWlzZShjb25zdCBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uS2V5JiBrZXkpCkBAIC0xNjQsOSArMTY0LDkgQEAgUmVmPFNlcnZp
Y2VXb3JrZXJDbGllbnRGZXRjaD4gV2ViU1dDbGllbnRDb25uZWN0aW9uOjpzdGFydEZldGNoKFdl
YlNlcnZpY2VXb3JrZXIKICAgICByZXR1cm4gU2VydmljZVdvcmtlckNsaWVudEZldGNoOjpjcmVh
dGUocHJvdmlkZXIsIFdURk1vdmUobG9hZGVyKSwgaWRlbnRpZmllciwgbV9jb25uZWN0aW9uLmdl
dCgpLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CiB9CiAKLXZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9u
Ojpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudCh1aW50NjRfdCBkZXN0aW5hdGlvblNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2Um
IG1lc3NhZ2UsIFNlcnZpY2VXb3JrZXJEYXRhJiYgc291cmNlLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZU9yaWdpbikKK3ZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2Vydmlj
ZVdvcmtlckNsaWVudChEb2N1bWVudElkZW50aWZpZXIgZGVzdGluYXRpb25Db250ZXh0SWRlbnRp
ZmllciwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBtZXNzYWdlLCBTZXJ2aWNlV29ya2VyRGF0
YSYmIHNvdXJjZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VPcmlnaW4pCiB7Ci0gICAgU1dDbGllbnRD
b25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudChkZXN0aW5hdGlvblNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmFk
b3B0KG1lc3NhZ2UudmVjdG9yKCkpLCBXVEZNb3ZlKHNvdXJjZSksIHNvdXJjZU9yaWdpbik7Cisg
ICAgU1dDbGllbnRDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudChk
ZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyLCBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmFkb3B0
KG1lc3NhZ2UudmVjdG9yKCkpLCBXVEZNb3ZlKHNvdXJjZSksIHNvdXJjZU9yaWdpbik7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaAppbmRleCBhYmEzYzcyODkzMWU0
ZTc1MjNmOTdhOWMwZjRkMDUwNzg5ODQ1MjY0Li4yODJlNTRlODE0OWFkNmU5ZDAyMTUyNTg3NDQ1
YWE4YzgxNzQwNTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFn
ZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
U3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaApAQCAtNjMsMTQgKzYzLDE0IEBAIHB1Ymxp
YzoKICAgICBib29sIG1heUhhdmVTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9yaWdpbihjb25z
dCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiYpIGNvbnN0IGZpbmFsOwogICAgIFJlZjxTZXJ2aWNl
V29ya2VyQ2xpZW50RmV0Y2g+IHN0YXJ0RmV0Y2goV2ViU2VydmljZVdvcmtlclByb3ZpZGVyJiwg
UmVmPFdlYkNvcmU6OlJlc291cmNlTG9hZGVyPiYmLCB1aW50NjRfdCBpZGVudGlmaWVyLCBTZXJ2
aWNlV29ya2VyQ2xpZW50RmV0Y2g6OkNhbGxiYWNrJiYpOwogCi0gICAgdm9pZCBwb3N0TWVzc2Fn
ZVRvU2VydmljZVdvcmtlckNsaWVudCh1aW50NjRfdCBkZXN0aW5hdGlvblNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIG1lc3NhZ2UsIFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJEYXRhJiYgc291cmNlLCBjb25zdCBTdHJpbmcmIHNvdXJjZU9y
aWdpbik7CisgICAgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudChXZWJDb3Jl
OjpEb2N1bWVudElkZW50aWZpZXIgZGVzdGluYXRpb25Db250ZXh0SWRlbnRpZmllciwgY29uc3Qg
SVBDOjpEYXRhUmVmZXJlbmNlJiBtZXNzYWdlLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyRGF0YSYm
IHNvdXJjZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VPcmlnaW4pOwogCiBwcml2YXRlOgogICAgIHZv
aWQgc2NoZWR1bGVKb2JJblNlcnZlcihjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VySm9iRGF0
YSYpIGZpbmFsOwogICAgIHZvaWQgZmluaXNoRmV0Y2hpbmdTY3JpcHRJblNlcnZlcihjb25zdCBX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyRmV0Y2hSZXN1bHQmKSBmaW5hbDsKLSAgICB2b2lkIHBvc3RN
ZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoV2ViQ29yZTo6U2VydmljZVdvcmtlcklk
ZW50aWZpZXIgZGVzdGluYXRpb25JZGVudGlmaWVyLCBSZWY8V2ViQ29yZTo6U2VyaWFsaXplZFNj
cmlwdFZhbHVlPiYmLCB1aW50NjRfdCBzb3VyY2VDb250ZXh0SWRlbnRpZmllciwgV2ViQ29yZTo6
U2VydmljZVdvcmtlckNsaWVudERhdGEmJiBzb3VyY2UpIGZpbmFsOwotICAgIHZvaWQgc2Vydmlj
ZVdvcmtlclN0YXJ0ZWRDb250cm9sbGluZ0NsaWVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRl
bnRpZmllciwgdWludDY0X3Qgc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpIGZpbmFs
OwotICAgIHZvaWQgc2VydmljZVdvcmtlclN0b3BwZWRDb250cm9sbGluZ0NsaWVudChXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgdWludDY0X3Qgc2NyaXB0RXhlY3V0aW9uQ29udGV4
dElkZW50aWZpZXIpIGZpbmFsOworICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJH
bG9iYWxTY29wZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5hdGlvbklk
ZW50aWZpZXIsIFJlZjxXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYsIFdlYkNvcmU6
OkRvY3VtZW50SWRlbnRpZmllciBzb3VyY2VDb250ZXh0SWRlbnRpZmllciwgV2ViQ29yZTo6U2Vy
dmljZVdvcmtlckNsaWVudERhdGEmJiBzb3VyY2UpIGZpbmFsOworICAgIHZvaWQgc2VydmljZVdv
cmtlclN0YXJ0ZWRDb250cm9sbGluZ0NsaWVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRp
ZmllciwgV2ViQ29yZTo6RG9jdW1lbnRJZGVudGlmaWVyKSBmaW5hbDsKKyAgICB2b2lkIHNlcnZp
Y2VXb3JrZXJTdG9wcGVkQ29udHJvbGxpbmdDbGllbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlcklk
ZW50aWZpZXIsIFdlYkNvcmU6OkRvY3VtZW50SWRlbnRpZmllcikgZmluYWw7CiAKICAgICB2b2lk
IG1hdGNoUmVnaXN0cmF0aW9uKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luJiB0b3BPcmln
aW4sIGNvbnN0IFdlYkNvcmU6OlVSTCYgY2xpZW50VVJMLCBSZWdpc3RyYXRpb25DYWxsYmFjayYm
KSBmaW5hbDsKICAgICB2b2lkIGRpZE1hdGNoUmVnaXN0cmF0aW9uKHVpbnQ2NF90IG1hdGNoUmVx
dWVzdElkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbkRhdGE+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0
b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4
IDQwYTcyZjdmYzY5YjNmNTkyYzhiYzE1YjA1YWUwNmUzOTZlZjA2NjIuLmEzMzA4MWYwNDU1OWU5
OTAyMDc0NjY0YmJlM2NkOWZkNjkyMTAwNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24ubWVz
c2FnZXMuaW4KQEAgLTMxLDExICszMSwxMSBAQCBtZXNzYWdlcyAtPiBXZWJTV0NsaWVudENvbm5l
Y3Rpb24gewogICAgIFVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlKFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIsIGVudW0gV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlIHN0YXRlLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJEYXRhPiBzZXJ2aWNlV29ya2VySWRlbnRpZmllcikKICAgICBVcGRhdGVXb3Jr
ZXJTdGF0ZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2VySWRl
bnRpZmllciwgZW51bSBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyU3RhdGUgc3RhdGUpCiAgICAgRmly
ZVVwZGF0ZUZvdW5kRXZlbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50
aWZpZXIgaWRlbnRpZmllcikKLSAgICBOb3RpZnlDbGllbnRzT2ZDb250cm9sbGVyQ2hhbmdlKEhh
c2hTZXQ8dWludDY0X3Q+IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRzLCBzdHJ1Y3QgV2ViQ29yZTo6
U2VydmljZVdvcmtlckRhdGEgbmV3Q29udHJvbGxlcikKKyAgICBOb3RpZnlDbGllbnRzT2ZDb250
cm9sbGVyQ2hhbmdlKEhhc2hTZXQ8V2ViQ29yZTo6RG9jdW1lbnRJZGVudGlmaWVyPiBjb250ZXh0
SWRlbnRpZmllcnMsIHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyRGF0YSBuZXdDb250cm9s
bGVyKQogCiAgICAgSW5pdGlhbGl6ZVNXT3JpZ2luVGFibGVBc0VtcHR5KCkKICAgICBTZXRTV09y
aWdpblRhYmxlU2hhcmVkTWVtb3J5KFdlYktpdDo6U2hhcmVkTWVtb3J5OjpIYW5kbGUgaGFuZGxl
KQotICAgIFBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KHVpbnQ2NF90IGRlc3RpbmF0
aW9uU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIElQQzo6RGF0YVJlZmVyZW5jZSBt
ZXNzYWdlLCBzdHJ1Y3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckRhdGEgc291cmNlLCBTdHJpbmcg
c291cmNlT3JpZ2luKQorICAgIFBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KFdlYkNv
cmU6OkRvY3VtZW50SWRlbnRpZmllciBkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyLCBJUEM6
OkRhdGFSZWZlcmVuY2UgbWVzc2FnZSwgc3RydWN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJEYXRh
IHNvdXJjZSwgU3RyaW5nIHNvdXJjZU9yaWdpbikKIAogICAgIERpZE1hdGNoUmVnaXN0cmF0aW9u
KHVpbnQ2NF90IG1hdGNoUmVxdWVzdElkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+IGRhdGEpCiAgICAgRGlkR2V0UmVnaXN0cmF0
aW9ucyh1aW50NjRfdCBtYXRjaFJlcXVlc3RJZGVudGlmaWVyLCBWZWN0b3I8V2ViQ29yZTo6U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+IHJlZ2lzdHJhdGlvbnMpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>