<?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>179672</bug_id>
          
          <creation_ts>2017-11-14 10:11:55 -0800</creation_ts>
          <short_desc>[Service Workers] Implement container.getRegistrations()</short_desc>
          <delta_ts>2017-11-15 09:31:33 -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>WebCore Misc.</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>https://w3c.github.io/ServiceWorker/#dom-serviceworkercontainer-getregistrations</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>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1371421</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-14 10:11:55 -0800</bug_when>
    <thetext>Implement container.getRegistrations():
- https://w3c.github.io/ServiceWorker/#dom-serviceworkercontainer-getregistrations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371505</commentid>
    <comment_count>1</comment_count>
      <attachid>326906</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-14 12:01:43 -0800</bug_when>
    <thetext>Created attachment 326906
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371523</commentid>
    <comment_count>2</comment_count>
      <attachid>326906</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-14 12:46:08 -0800</bug_when>
    <thetext>Comment on attachment 326906
Patch

Apparently, the WPT test is correct and the scopeToRegistrations map is supposed to be ordered :/ Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371547</commentid>
    <comment_count>3</comment_count>
      <attachid>326917</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-14 13:33:10 -0800</bug_when>
    <thetext>Created attachment 326917
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371563</commentid>
    <comment_count>4</comment_count>
      <attachid>326923</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-14 14:02:32 -0800</bug_when>
    <thetext>Created attachment 326923
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371622</commentid>
    <comment_count>5</comment_count>
      <attachid>326923</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-14 16:04:39 -0800</bug_when>
    <thetext>Comment on attachment 326923
Patch

Clearing flags on attachment: 326923

Committed r224857: &lt;https://trac.webkit.org/changeset/224857&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371623</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-14 16:04:41 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371862</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-15 09:31:33 -0800</bug_when>
    <thetext>&lt;rdar://problem/35561861&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326906</attachid>
            <date>2017-11-14 12:01:43 -0800</date>
            <delta_ts>2017-11-14 13:33:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179672-20171114120142.patch</filename>
            <type>text/plain</type>
            <size>25984</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0ODE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZmNDFhMTJjNDUxNWVi
MzZlYjM1OTdiMjVkNjg1MGY4MmRiNTA0ZS4uNzBjN2JmZDYxYjc0ZDNiMzNlN2VjNzk2YTdkOTcy
NWEzZjhmMjhlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE3LTExLTE0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1NlcnZpY2UgV29ya2Vyc10g
SW1wbGVtZW50IGNvbnRhaW5lci5nZXRSZWdpc3RyYXRpb25zKCkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTY3MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBjb250YWluZXIuZ2V0UmVn
aXN0cmF0aW9ucygpOgorICAgICAgICAtIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29y
a2VyLyNkb20tc2VydmljZXdvcmtlcmNvbnRhaW5lci1nZXRyZWdpc3RyYXRpb25zCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzLCByZWJhc2VsaW5lZCBleGlzdGluZyB0ZXN0LgorCisgICAgICAgICog
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6Z2V0UmVnaXN0cmF0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OmdldFJlZ2lzdHJhdGlvbnMpOgorICAg
ICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoUmVn
aXN0cmF0aW9uKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRh
aW5lci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246Omdl
dE9yQ3JlYXRlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbi5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uS2V5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25LZXk6OmlzTWF0Y2hpbmcgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbktleTo6b3JpZ2luSXNNYXRjaGluZyBjb25zdCk6CisgICAgICAgICogd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkuaDoKKyAgICAgICAgKiB3
b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oOgorICAgICAgICAqIHdv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dT
ZXJ2ZXI6OmdldFJlZ2lzdHJhdGlvbnMpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2
ZXIvU1dTZXJ2ZXIuaDoKKwogMjAxNy0xMS0xNCAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGln
YWxpYS5jb20+CiAKICAgICAgICAgW0NhaXJvXSBNb3ZlIGRyYXdMaW5lc0ZvclRleHQgb3BlcmF0
aW9uIGZyb20gR3JhcGhpY3NDb250ZXh0Q2Fpcm8gdG8gQ2Fpcm9PcGVyYXRpb25zCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDllMjM2Mzg4MDAyODE1NGVlZmE4ZTNhN2U2NGViMmZhY2Y2MWI0YTUuLjAwOWM4ZWU3NDNl
Mzk0ZmFhMjM1NGJiMzViZjNkYThjZmUwYWU5NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTctMTEtMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBb
U2VydmljZSBXb3JrZXJzXSBJbXBsZW1lbnQgY29udGFpbmVyLmdldFJlZ2lzdHJhdGlvbnMoKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc5NjcyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTdG9yYWdl
UHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6Z2V0UmVnaXN0cmF0aW9ucyk6CisgICAg
ICAgICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24u
aDoKKyAgICAgICAgKiBTdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dD
bGllbnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dDbGllbnRDb25uZWN0
aW9uOjpkaWRHZXRSZWdpc3RyYXRpb25zKToKKyAgICAgICAgKFdlYktpdDo6V2ViU1dDbGllbnRD
b25uZWN0aW9uOjpnZXRSZWdpc3RyYXRpb25zKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3Jh
Z2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKwogMjAxNy0xMS0xNCAgQnJlbnQg
RnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyMjQ3
OTkpOiBXZWJLaXQgY3Jhc2hlcyBvbiBTaWVycmEgZHVlIHRvIHNhbmRib3ggdmlvbGF0aW9uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNv
bnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNvbnRhaW5lci5jcHAKaW5kZXggZDIwOGQxMTQyMjJjZDMwMDczMDZlZGVjZmMzYWIzNDFhMGVj
MTMzYi4uOTNjYzQzMDk4NDEwOTgzNGUzMWFlY2U5M2ZkNjA5MzY0Nzg4YzQxZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29u
dGFpbmVyLmNwcApAQCAtMjMwLDE0ICsyMzAsOCBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWlu
ZXI6OmdldFJlZ2lzdHJhdGlvbihjb25zdCBTdHJpbmcmIGNsaWVudFVSTCwgUmVmPERlZmVycgog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgUmVmUHRyPFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24+IHJlZ2lzdHJhdGlvbiA9IG1fcmVnaXN0cmF0aW9ucy5nZXQocmVz
dWx0LT5pZGVudGlmaWVyKTsKLSAgICAgICAgaWYgKCFyZWdpc3RyYXRpb24pIHsKLSAgICAgICAg
ICAgIGF1dG8mIGNvbnRleHQgPSAqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwotICAgICAgICAg
ICAgLy8gRklYTUU6IFdlIHNob3VsZCBwcm9iYWJseSBub3QgYmUgY29uc3RydWN0aW5nIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24gb2JqZWN0cyBoZXJlLiBJbnN0ZWFkLCB3ZSBzaG91bGQgbWFr
ZQotICAgICAgICAgICAgLy8gc3VyZSB0aGF0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gb2Jq
ZWN0cyBzdGF5cyBhbGl2ZSBhcyBsb25nIGFzIHRoZWlyIFNXU2VydmVyUmVnaXN0cmF0aW9uIG9u
IHNlcnZlciBzaWRlLgotICAgICAgICAgICAgcmVnaXN0cmF0aW9uID0gU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbjo6Y3JlYXRlKGNvbnRleHQsICp0aGlzLCBXVEZNb3ZlKHJlc3VsdC52YWx1ZSgp
KSk7Ci0gICAgICAgIH0KLSAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExJbnRlcmZhY2U8U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbj4+KHJlZ2lzdHJhdGlvbi5yZWxlYXNlTm9uTnVsbCgpKTsK
KyAgICAgICAgYXV0byByZWdpc3RyYXRpb24gPSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpn
ZXRPckNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCAqdGhpcywgV1RGTW92ZShyZXN1
bHQudmFsdWUoKSkpOworICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETEludGVyZmFjZTxTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uPj4oV1RGTW92ZShyZWdpc3RyYXRpb24pKTsKICAgICB9KTsK
IH0KIApAQCAtMjU5LDggKzI1MywyOCBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnNj
aGVkdWxlVGFza1RvVXBkYXRlUmVnaXN0cmF0aW9uU3RhdGUoU2VydmljZVdvcmtlcgogCiB2b2lk
IFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmdldFJlZ2lzdHJhdGlvbnMoUmVnaXN0cmF0aW9uc1By
b21pc2UmJiBwcm9taXNlKQogewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgZ2V0UmVnaXN0cmF0
aW9ucyBhbGdvcml0aG0sIGZvciBub3cgcHJldGVuZCB0aGVyZSBpcyBubyByZWdpc3RyYXRpb24u
Ci0gICAgcHJvbWlzZS5yZXNvbHZlKHsgfSk7CisgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKTsKKyAgICBpZiAoIWNvbnRleHQpIHsKKyAgICAgICAgcHJvbWlzZS5y
ZWplY3QoRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBpZiAoIW1fc3dDb25uZWN0aW9uKQorICAgICAgICBtX3N3Q29ubmVjdGlv
biA9ICZTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNpbmdsZXRvbigpLnNlcnZpY2VXb3JrZXJDb25u
ZWN0aW9uRm9yU2Vzc2lvbihjb250ZXh0LT5zZXNzaW9uSUQoKSk7CisKKyAgICByZXR1cm4gbV9z
d0Nvbm5lY3Rpb24tPmdldFJlZ2lzdHJhdGlvbnMoY29udGV4dC0+dG9wT3JpZ2luKCksIGNvbnRl
eHQtPnVybCgpLCBbdGhpcywgcGVuZGluZ0FjdGl2aXR5ID0gbWFrZVBlbmRpbmdBY3Rpdml0eSgq
dGhpcyksIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSAoYXV0byYmIHJlZ2lzdHJhdGlvbkRh
dGFzKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKG1faXNTdG9wcGVkKQorICAgICAgICAgICAgcmV0
dXJuOworCisgICAgICAgIFZlY3RvcjxSZWY8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4+IHJl
Z2lzdHJhdGlvbnM7CisgICAgICAgIHJlZ2lzdHJhdGlvbnMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0
eShyZWdpc3RyYXRpb25EYXRhcy5zaXplKCkpOworICAgICAgICBmb3IgKGF1dG8mIHJlZ2lzdHJh
dGlvbkRhdGEgOiByZWdpc3RyYXRpb25EYXRhcykgeworICAgICAgICAgICAgYXV0byByZWdpc3Ry
YXRpb24gPSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpnZXRPckNyZWF0ZSgqc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLCAqdGhpcywgV1RGTW92ZShyZWdpc3RyYXRpb25EYXRhKSk7CisgICAg
ICAgICAgICByZWdpc3RyYXRpb25zLnVuY2hlY2tlZEFwcGVuZChXVEZNb3ZlKHJlZ2lzdHJhdGlv
bikpOworICAgICAgICB9CisKKyAgICAgICAgcHJvbWlzZS5yZXNvbHZlKFdURk1vdmUocmVnaXN0
cmF0aW9ucykpOworICAgIH0pOwogfQogCiB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnN0
YXJ0TWVzc2FnZXMoKQpAQCAtMzA1LDEzICszMTksMTEgQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29u
dGFpbmVyOjpqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oU2VydmljZVdvcmtlckpvYiYgam9i
LAogICAgIH0KIAogICAgIGNvbnRleHQtPnBvc3RUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0g
bWFrZVJlZigqdGhpcyksIGpvYiA9IG1ha2VSZWYoam9iKSwgZGF0YSA9IFdURk1vdmUoZGF0YSks
IHByb21pc2VSZXNvbHZlZEhhbmRsZXIgPSBXVEZNb3ZlKHByb21pc2VSZXNvbHZlZEhhbmRsZXIp
XShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KSBtdXRhYmxlIHsKLSAgICAgICAgUmVm
UHRyPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+IHJlZ2lzdHJhdGlvbiA9IG1fcmVnaXN0cmF0
aW9ucy5nZXQoZGF0YS5pZGVudGlmaWVyKTsKLSAgICAgICAgaWYgKCFyZWdpc3RyYXRpb24pCi0g
ICAgICAgICAgICByZWdpc3RyYXRpb24gPSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpjcmVh
dGUoY29udGV4dCwgKnRoaXMsIFdURk1vdmUoZGF0YSkpOworICAgICAgICBhdXRvIHJlZ2lzdHJh
dGlvbiA9IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmdldE9yQ3JlYXRlKGNvbnRleHQsICp0
aGlzLCBXVEZNb3ZlKGRhdGEpKTsKIAotICAgICAgICBMT0coU2VydmljZVdvcmtlciwgIkNvbnRh
aW5lciAlcCByZXNvbHZlZCBqb2Igd2l0aCByZWdpc3RyYXRpb24gJXAiLCB0aGlzLCByZWdpc3Ry
YXRpb24uZ2V0KCkpOworICAgICAgICBMT0coU2VydmljZVdvcmtlciwgIkNvbnRhaW5lciAlcCBy
ZXNvbHZlZCBqb2Igd2l0aCByZWdpc3RyYXRpb24gJXAiLCB0aGlzLCByZWdpc3RyYXRpb24ucHRy
KCkpOwogCi0gICAgICAgIGpvYi0+cHJvbWlzZSgpLnJlc29sdmU8SURMSW50ZXJmYWNlPFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24+PigqcmVnaXN0cmF0aW9uKTsKKyAgICAgICAgam9iLT5wcm9t
aXNlKCkucmVzb2x2ZTxJRExJbnRlcmZhY2U8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4+KFdU
Rk1vdmUocmVnaXN0cmF0aW9uKSk7CiAKICAgICAgICAgTWljcm90YXNrUXVldWU6Om1haW5UaHJl
YWRRdWV1ZSgpLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPFZvaWRNaWNyb3Rhc2s+KFtwcm9taXNl
UmVzb2x2ZWRIYW5kbGVyID0gV1RGTW92ZShwcm9taXNlUmVzb2x2ZWRIYW5kbGVyKV0gewogICAg
ICAgICAgICAgcHJvbWlzZVJlc29sdmVkSGFuZGxlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKaW5kZXggZWI0
YWQzYjE4M2FlMjFmOTMzMTIwMzQwMjNlOTViY2Q2MmE4MDJkZC4uNDFlOTJlOWVjMTU2Y2JiMzBl
MTFkZGJiODlmMjZjNTc1ZWRmZjhiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCkBAIC03MSw2ICs3MSw4IEBA
IHB1YmxpYzoKICAgICB1c2luZyBSZWdpc3RyYXRpb25zUHJvbWlzZSA9IERPTVByb21pc2VEZWZl
cnJlZDxJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4+
PjsKICAgICB2b2lkIGdldFJlZ2lzdHJhdGlvbnMoUmVnaXN0cmF0aW9uc1Byb21pc2UmJik7CiAK
KyAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKiByZWdpc3RyYXRpb24oU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbklkZW50aWZpZXIgaWRlbnRpZmllcikgY29uc3QgeyByZXR1cm4gbV9yZWdp
c3RyYXRpb25zLmdldChpZGVudGlmaWVyKTsgfQorCiAgICAgdm9pZCBhZGRSZWdpc3RyYXRpb24o
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiYpOwogICAgIHZvaWQgcmVtb3ZlUmVnaXN0cmF0aW9u
KFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24mKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCmlu
ZGV4IDgwZGU5MjVkMDExNzFhYjc5MjY3NzgxODAzMDY3NGQyNTU4Yzc3YmMuLmNkZjE3NTk1MmNk
YjAzNTJhMjEwMGJjYjhjMzJmOWJkMTc2NmEyMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAK
QEAgLTM3LDYgKzM3LDE0IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorUmVmPFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24+IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmdldE9yQ3JlYXRl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxTZXJ2aWNlV29ya2VyQ29udGFp
bmVyPiYmIGNvbnRhaW5lciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJiBkYXRhKQor
eworICAgIGlmIChhdXRvKiByZWdpc3RyYXRpb24gPSBjb250YWluZXItPnJlZ2lzdHJhdGlvbihk
YXRhLmlkZW50aWZpZXIpKQorICAgICAgICByZXR1cm4gKnJlZ2lzdHJhdGlvbjsKKworICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oY29udGV4dCwgV1RG
TW92ZShjb250YWluZXIpLCBXVEZNb3ZlKGRhdGEpKSk7Cit9CisKIFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb246OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgY29udGV4dCwgUmVmPFNlcnZpY2VXb3JrZXJDb250YWluZXI+JiYgY29udGFpbmVyLCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmIHJlZ2lzdHJhdGlvbkRhdGEpCiAgICAgOiBBY3Rp
dmVET01PYmplY3QoJmNvbnRleHQpCiAgICAgLCBtX3JlZ2lzdHJhdGlvbkRhdGEoV1RGTW92ZShy
ZWdpc3RyYXRpb25EYXRhKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oCmluZGV4IDA4NGZlODMxNjcxNGQ0
ZjdhZjI4OTU5NzkyMWFlMjA2YmY1MzhmYmEuLjYyYjk3ZmUyMjVlMzY3MmFmM2Q3Njg1MmRkNjVj
OTViNWM5OWZlYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaApAQCAtNDEsMTAgKzQxLDcgQEAgY2xh
c3MgU2VydmljZVdvcmtlckNvbnRhaW5lcjsKIAogY2xhc3MgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbiBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+
LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIEFjdGl2ZURPTU9iamVj
dCB7CiBwdWJsaWM6Ci0gICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIEFyZ3M+IHN0YXRpYyBSZWY8
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4gY3JlYXRlKEFyZ3MmJi4uLiBhcmdzKQotICAgIHsK
LSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihz
dGQ6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pKTsKLSAgICB9CisgICAgc3RhdGljIFJlZjxTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uPiBnZXRPckNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiwgUmVmPFNlcnZpY2VXb3JrZXJDb250YWluZXI+JiYsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25EYXRhJiYpOwogCiAgICAgflNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25LZXkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25LZXkuY3BwCmluZGV4IDQ0MDcyOWI4M2NkYzY1ZDgwYjk1N2I4M2FhNGNk
MmM3OTc4NTEwMDQuLjQ3OTNhYTAyZjgzZjk3ZjExNmU2ZTUxMGZjYWRkNDM0NDIyM2NkYzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uS2V5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbktleS5jcHAKQEAgLTY3LDEzICs2NywxNSBAQCBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uS2V5IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXk6Omlzb2xh
dGVkQ29weSgpIGNvbnN0CiAKIGJvb2wgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleTo6aXNN
YXRjaGluZyhjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbiwgY29uc3QgVVJMJiBj
bGllbnRVUkwpIGNvbnN0CiB7Ci0gICAgaWYgKHRvcE9yaWdpbiAhPSBtX3RvcE9yaWdpbikKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBvcmlnaW5Jc01hdGNoaW5nKHRvcE9yaWdp
biwgY2xpZW50VVJMKSAmJiBjbGllbnRVUkwuc3RyaW5nKCkuc3RhcnRzV2l0aChtX3Njb3BlKTsK
K30KIAotICAgIGlmICghcHJvdG9jb2xIb3N0QW5kUG9ydEFyZUVxdWFsKGNsaWVudFVSTCwgbV9z
Y29wZSkpCitib29sIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXk6Om9yaWdpbklzTWF0Y2hp
bmcoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50
VVJMKSBjb25zdAoreworICAgIGlmICh0b3BPcmlnaW4gIT0gbV90b3BPcmlnaW4pCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAotICAgIHJldHVybiBjbGllbnRVUkwuc3RyaW5nKCkuc3RhcnRzV2l0
aChtX3Njb3BlKTsKKyAgICByZXR1cm4gcHJvdG9jb2xIb3N0QW5kUG9ydEFyZUVxdWFsKGNsaWVu
dFVSTCwgbV9zY29wZSk7CiB9CiAKICNpZm5kZWYgTkRFQlVHCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleS5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25L
ZXkuaAppbmRleCAwYmYyY2JkMTViN2VjMzVhZjhhNzllNzZlZGVlODkyMmRlYTcxY2MzLi44MWIw
MWJjOGRhOTEzZDgwN2NkODdjZmQ0ZTRkOTFkMDQ0YTY4MDgyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uS2V5LmgKQEAgLTQyLDYgKzQyLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBvcGVyYXRvcj09
KGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmKSBjb25zdDsKICAgICBib29sIGlz
TWF0Y2hpbmcoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYg
Y2xpZW50VVJMKSBjb25zdDsKKyAgICBib29sIG9yaWdpbklzTWF0Y2hpbmcoY29uc3QgU2VjdXJp
dHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMKSBjb25zdDsKICAg
ICBzaXplX3Qgc2NvcGVMZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX3Njb3BlLnN0cmluZygpLmxl
bmd0aCgpOyB9CiAKICAgICBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbigpIGNv
bnN0IHsgcmV0dXJuIG1fdG9wT3JpZ2luOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uaAppbmRleCA3MTk5
OTA0NDJmNDk5ZDZkNjIyOTFkN2Q4MmFlNDk1ZWI3YzgxM2EzLi41NWFhOGMyN2M4NmY4OTVlZmEw
MTM5YWIxYjE1YjM2NDJiYjNjZjc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmgKQEAgLTU1LDYgKzU1
LDkgQEAgcHVibGljOgogICAgIHVzaW5nIFJlZ2lzdHJhdGlvbkNhbGxiYWNrID0gV1RGOjpDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bkRhdGE+JiYpPjsKICAgICB2aXJ0dWFsIHZvaWQgbWF0Y2hSZWdpc3RyYXRpb24oY29uc3QgU2Vj
dXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgY29uc3QgVVJMJiBjbGllbnRVUkwsIFJlZ2lzdHJhdGlv
bkNhbGxiYWNrJiYpID0gMDsKIAorICAgIHVzaW5nIEdldFJlZ2lzdHJhdGlvbnNDYWxsYmFjayA9
IFdURjo6Q29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8U2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbkRhdGE+JiYpPjsKKyAgICB2aXJ0dWFsIHZvaWQgZ2V0UmVnaXN0cmF0aW9ucyhjb25zdCBT
ZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCwgR2V0UmVnaXN0
cmF0aW9uc0NhbGxiYWNrJiYpID0gMDsKKwogICAgIHZpcnR1YWwgdm9pZCBhZGRTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktl
eSYsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIHJlbW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihjb25zdCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50
aWZpZXIpID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L3NlcnZlci9TV1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1NXU2VydmVyLmNwcAppbmRleCBkNmQxMzQyM2JhNWUyMmQxYzk2YmE2MWQ0YjgyODYxOWNi
NzIwODllLi5lMmRmMGQ5ZGYyZmM1NGZlNWQ3NmY3MGMxMDJiZWFhYTRlOTA3ZmQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcApA
QCAtMTA5LDYgKzEwOSwxNiBAQCB2b2lkIFNXU2VydmVyOjpyZW1vdmVSZWdpc3RyYXRpb24oY29u
c3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYga2V5KQogICAgIG1fb3JpZ2luU3RvcmUt
PnJlbW92ZSh0b3BPcmlnaW4pOwogfQogCitWZWN0b3I8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bkRhdGE+IFNXU2VydmVyOjpnZXRSZWdpc3RyYXRpb25zKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0
YSYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCkKK3sKKyAgICBWZWN0b3I8U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+IG1hdGNoaW5nUmVnaXN0cmF0aW9uczsKKyAgICBmb3Ig
KGF1dG8mIGl0ZW0gOiBtX3JlZ2lzdHJhdGlvbnMpIHsKKyAgICAgICAgaWYgKCFpdGVtLnZhbHVl
LT5pc1VuaW5zdGFsbGluZygpICYmIGl0ZW0ua2V5Lm9yaWdpbklzTWF0Y2hpbmcodG9wT3JpZ2lu
LCBjbGllbnRVUkwpKQorICAgICAgICAgICAgbWF0Y2hpbmdSZWdpc3RyYXRpb25zLmFwcGVuZChp
dGVtLnZhbHVlLT5kYXRhKCkpOworICAgIH0KKyAgICByZXR1cm4gbWF0Y2hpbmdSZWdpc3RyYXRp
b25zOworfQorCiB2b2lkIFNXU2VydmVyOjpjbGVhckFsbCgpCiB7CiAgICAgbV9qb2JRdWV1ZXMu
Y2xlYXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2
ZXIvU1dTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXIuaAppbmRleCAzMGIxMmNhZjdmYjM2MDZmYmNmNGQ4MDVjN2Y3ZGQyZDk3ZGI5YzUwLi40
N2M5YWI1NWU4NjFlNjYzYzI1YzQzYjllNmIyNmI0ZmNjOTQyMDlkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCkBAIC0xMDAsNiArMTAw
LDcgQEAgcHVibGljOgogICAgIFNXU2VydmVyUmVnaXN0cmF0aW9uKiBnZXRSZWdpc3RyYXRpb24o
Y29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYpOwogICAgIHZvaWQgYWRkUmVnaXN0
cmF0aW9uKHN0ZDo6dW5pcXVlX3B0cjxTV1NlcnZlclJlZ2lzdHJhdGlvbj4mJik7CiAgICAgdm9p
ZCByZW1vdmVSZWdpc3RyYXRpb24oY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYp
OworICAgIFdFQkNPUkVfRVhQT1JUIFZlY3RvcjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0
YT4gZ2V0UmVnaXN0cmF0aW9ucyhjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbiwg
Y29uc3QgVVJMJiBjbGllbnRVUkwpOwogCiAgICAgdm9pZCBzY2hlZHVsZUpvYihjb25zdCBTZXJ2
aWNlV29ya2VySm9iRGF0YSYpOwogICAgIHZvaWQgcmVqZWN0Sm9iKGNvbnN0IFNlcnZpY2VXb3Jr
ZXJKb2JEYXRhJiwgY29uc3QgRXhjZXB0aW9uRGF0YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2
ZXJDb25uZWN0aW9uLmNwcAppbmRleCAwYzI0YTEyNDE2Yjc0NDRmYWQyMDcwYjBhNjAxOWNiMzhh
NTgyYWFhLi4zODVhMTAyOTU1ZjdiNjY3YTI4ZGNkYTU0OGU0OWY3NzE1ZDhjMDE4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2
ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZp
Y2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtMTYwLDYgKzE2MCwxMiBAQCB2
b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6bWF0Y2hSZWdpc3RyYXRpb24odWludDY0X3QgcmVn
aXN0cmF0aW9uTWF0Y2hSZXF1ZXN0SQogICAgIHNlbmQoTWVzc2FnZXM6OldlYlNXQ2xpZW50Q29u
bmVjdGlvbjo6RGlkTWF0Y2hSZWdpc3RyYXRpb24geyByZWdpc3RyYXRpb25NYXRjaFJlcXVlc3RJ
ZGVudGlmaWVyLCBzdGQ6Om51bGxvcHQgfSk7CiB9CiAKK3ZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0
aW9uOjpnZXRSZWdpc3RyYXRpb25zKHVpbnQ2NF90IHJlZ2lzdHJhdGlvbk1hdGNoUmVxdWVzdElk
ZW50aWZpZXIsIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBVUkwm
IGNsaWVudFVSTCkKK3sKKyAgICBhdXRvIHJlZ2lzdHJhdGlvbnMgPSBzZXJ2ZXIoKS5nZXRSZWdp
c3RyYXRpb25zKHRvcE9yaWdpbiwgY2xpZW50VVJMKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJT
V0NsaWVudENvbm5lY3Rpb246OkRpZEdldFJlZ2lzdHJhdGlvbnMgeyByZWdpc3RyYXRpb25NYXRj
aFJlcXVlc3RJZGVudGlmaWVyLCByZWdpc3RyYXRpb25zIH0pOworfQorCiB0ZW1wbGF0ZTx0eXBl
bmFtZSBVPiB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6c2VuZFRvQ29udGV4dFByb2Nlc3Mo
VSYmIG1lc3NhZ2UpCiB7CiAgICAgaWYgKGF1dG8qIGNvbm5lY3Rpb24gPSBTdG9yYWdlUHJvY2Vz
czo6c2luZ2xldG9uKCkuZ2xvYmFsU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbigpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2Vy
dmVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29y
a2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCmluZGV4IDNmNGNhNWIzYzgyZTY0NWIzNmRhYjk4
MzRmYjIxZGQzN2UxM2MxM2MuLmY4NGYzNzViZDk4ZGMxMTgxYTU0MzU3ZmJlMTUyMDI3OTE1YmZl
ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtl
ci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9j
ZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKQEAgLTcyLDcgKzcyLDgg
QEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5hdGlvbklkZW50aWZp
ZXIsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgbWVzc2FnZSwgdWludDY0X3Qgc291cmNlU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgc291cmNlT3JpZ2lu
KTsKIAotICAgIHZvaWQgbWF0Y2hSZWdpc3RyYXRpb24odWludDY0X3QgcmVnaXN0cmF0aW9uTWF0
Y2hSZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiwg
Y29uc3QgV2ViQ29yZTo6VVJMJiBjbGllbnRVUkwpOworICAgIHZvaWQgbWF0Y2hSZWdpc3RyYXRp
b24odWludDY0X3QgcmVnaXN0cmF0aW9uTWF0Y2hSZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlVSTCYg
Y2xpZW50VVJMKTsKKyAgICB2b2lkIGdldFJlZ2lzdHJhdGlvbnModWludDY0X3QgcmVnaXN0cmF0
aW9uTWF0Y2hSZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5E
YXRhJiB0b3BPcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlVSTCYgY2xpZW50VVJMKTsKIAogICAgIElQ
Qzo6Q29ubmVjdGlvbiogbWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKSBmaW5hbCB7IHJldHVybiBt
X2NvbnRlbnRDb25uZWN0aW9uLnB0cigpOyB9CiAgICAgdWludDY0X3QgbWVzc2FnZVNlbmRlckRl
c3RpbmF0aW9uSUQoKSBmaW5hbCB7IHJldHVybiBpZGVudGlmaWVyKCk7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNv
bm5lY3Rpb24ubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZp
Y2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4IDQyYzNmYzZi
MmI1OTMyYzM3YjgwMGIyYTI3YjcwZjNhY2JmMzg1NmIuLmVjNDRjMDg3NDk3ZGFlYjg4YjliM2Q1
NDk5Mjc1NjY0Y2YxODU2ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nl
c3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5tZXNzYWdlcy5pbgpAQCAtMzUsNiArMzUsNyBAQCBtZXNzYWdlcyAtPiBXZWJTV1Nl
cnZlckNvbm5lY3Rpb24gewogICAgIERpZFJlc29sdmVSZWdpc3RyYXRpb25Qcm9taXNlKFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkga2V5KQogCiAgICAgTWF0Y2hSZWdpc3Ry
YXRpb24odWludDY0X3Qgc2VydmljZVJlZ2lzdHJhdGlvbk1hdGNoUmVxdWVzdElkZW50aWZpZXIs
IHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgdG9wT3JpZ2luLCBXZWJDb3JlOjpV
UkwgY2xpZW50VVJMKQorICAgIEdldFJlZ2lzdHJhdGlvbnModWludDY0X3Qgc2VydmljZVJlZ2lz
dHJhdGlvbk1hdGNoUmVxdWVzdElkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbkRhdGEgdG9wT3JpZ2luLCBXZWJDb3JlOjpVUkwgY2xpZW50VVJMKQogfQogCiAjZW5kaWYg
Ly8gRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggNDIyOGZh
MmZhMzBjZjE1MzJmZTFjMDg1NjJiY2I0M2UxMDljMGZhNi4uZTM4NjgyMTA5NjM1NzY4NmY5OTIz
YzFjZGU3ZTA4MTFmNzUzNTBlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCkBAIC0xMTAsNiArMTEw
LDEyIEBAIHZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpkaWRNYXRjaFJlZ2lzdHJhdGlvbih1
aW50NjRfdCBtYXRjaGluZ1JlcXVlc3QsIHN0ZDo6CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KFdURk1vdmUocmVzdWx0KSk7CiB9CiAKK3ZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpkaWRH
ZXRSZWdpc3RyYXRpb25zKHVpbnQ2NF90IG1hdGNoaW5nUmVxdWVzdCwgVmVjdG9yPFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25EYXRhPiYmIHJlZ2lzdHJhdGlvbnMpCit7CisgICAgaWYgKGF1dG8g
Y29tcGxldGlvbkhhbmRsZXIgPSBtX29uZ29pbmdHZXRSZWdpc3RyYXRpb25zVGFza3MudGFrZSht
YXRjaGluZ1JlcXVlc3QpKQorICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKHJlZ2lz
dHJhdGlvbnMpKTsKK30KKwogdm9pZCBXZWJTV0NsaWVudENvbm5lY3Rpb246Om1hdGNoUmVnaXN0
cmF0aW9uKGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50
VVJMLCBSZWdpc3RyYXRpb25DYWxsYmFjayYmIGNhbGxiYWNrKQogewogICAgIGlmICghaGFzU2Vy
dmljZVdvcmtlclJlZ2lzdGVyZWRGb3JPcmlnaW4odG9wT3JpZ2luKSkgewpAQCAtMTIyLDYgKzEy
OCwxOCBAQCB2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6bWF0Y2hSZWdpc3RyYXRpb24oY29u
c3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgYwogICAgIHNlbmQoTWVzc2FnZXM6OldlYlNX
U2VydmVyQ29ubmVjdGlvbjo6TWF0Y2hSZWdpc3RyYXRpb24ocmVxdWVzdElkZW50aWZpZXIsIFNl
Y3VyaXR5T3JpZ2luRGF0YTo6ZnJvbVNlY3VyaXR5T3JpZ2luKHRvcE9yaWdpbiksIGNsaWVudFVS
TCkpOwogfQogCit2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6Z2V0UmVnaXN0cmF0aW9ucyhj
b25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCwgR2V0
UmVnaXN0cmF0aW9uc0NhbGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgaWYgKCFoYXNTZXJ2aWNl
V29ya2VyUmVnaXN0ZXJlZEZvck9yaWdpbih0b3BPcmlnaW4pKSB7CisgICAgICAgIGNhbGxiYWNr
KHsgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICB1aW50NjRfdCByZXF1ZXN0SWRl
bnRpZmllciA9ICsrbV9wcmV2aW91c0dldFJlZ2lzdHJhdGlvbnNUYXNrSWRlbnRpZmllcjsKKyAg
ICBtX29uZ29pbmdHZXRSZWdpc3RyYXRpb25zVGFza3MuYWRkKHJlcXVlc3RJZGVudGlmaWVyLCBX
VEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViU1dTZXJ2ZXJDb25uZWN0
aW9uOjpHZXRSZWdpc3RyYXRpb25zKHJlcXVlc3RJZGVudGlmaWVyLCBTZWN1cml0eU9yaWdpbkRh
dGE6OmZyb21TZWN1cml0eU9yaWdpbih0b3BPcmlnaW4pLCBjbGllbnRVUkwpKTsKK30KKwogUmVm
PFNlcnZpY2VXb3JrZXJDbGllbnRGZXRjaD4gV2ViU1dDbGllbnRDb25uZWN0aW9uOjpzdGFydEZl
dGNoKFdlYlNlcnZpY2VXb3JrZXJQcm92aWRlciYgcHJvdmlkZXIsIFJlZjxXZWJDb3JlOjpSZXNv
dXJjZUxvYWRlcj4mJiBsb2FkZXIsIHVpbnQ2NF90IGlkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJD
bGllbnRGZXRjaDo6Q2FsbGJhY2smJiBjYWxsYmFjaykKIHsKICAgICBBU1NFUlQobG9hZGVyLT5v
cHRpb25zKCkuc2VydmljZVdvcmtlcnNNb2RlICE9IFNlcnZpY2VXb3JrZXJzTW9kZTo6Tm9uZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVu
dENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xp
ZW50Q29ubmVjdGlvbi5oCmluZGV4IDUxMmExZDFhYmNjY2Q4NzJhNDk0M2JiNDQxZWMzNmU4Zjg0
MjE0NTAuLjQzNmNmOGYzY2JhODc5YTdhZTA1N2IyNjAyOWFiNzViNzRiMDY4YWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29u
bmVjdGlvbi5oCkBAIC03Miw2ICs3Miw5IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIG1hdGNoUmVn
aXN0cmF0aW9uKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIGNvbnN0
IFdlYkNvcmU6OlVSTCYgY2xpZW50VVJMLCBSZWdpc3RyYXRpb25DYWxsYmFjayYmKSBmaW5hbDsK
ICAgICB2b2lkIGRpZE1hdGNoUmVnaXN0cmF0aW9uKHVpbnQ2NF90IG1hdGNoUmVxdWVzdElkZW50
aWZpZXIsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRh
dGE+JiYpOworICAgIHZvaWQgZGlkR2V0UmVnaXN0cmF0aW9ucyh1aW50NjRfdCBtYXRjaFJlcXVl
c3RJZGVudGlmaWVyLCBWZWN0b3I8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRh
dGE+JiYpOworCisgICAgdm9pZCBnZXRSZWdpc3RyYXRpb25zKGNvbnN0IFdlYkNvcmU6OlNlY3Vy
aXR5T3JpZ2luJiB0b3BPcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlVSTCYgY2xpZW50VVJMLCBHZXRS
ZWdpc3RyYXRpb25zQ2FsbGJhY2smJikgZmluYWw7CiAKICAgICB2b2lkIGRpZFJlc29sdmVSZWdp
c3RyYXRpb25Qcm9taXNlKGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25L
ZXkmKSBmaW5hbDsKIApAQCAtOTEsNiArOTQsOSBAQCBwcml2YXRlOgogICAgIHVpbnQ2NF90IG1f
cHJldmlvdXNNYXRjaFJlZ2lzdHJhdGlvblRhc2tJZGVudGlmaWVyIHsgMCB9OwogICAgIEhhc2hN
YXA8dWludDY0X3QsIFJlZ2lzdHJhdGlvbkNhbGxiYWNrPiBtX29uZ29pbmdNYXRjaFJlZ2lzdHJh
dGlvblRhc2tzOwogCisgICAgdWludDY0X3QgbV9wcmV2aW91c0dldFJlZ2lzdHJhdGlvbnNUYXNr
SWRlbnRpZmllciB7IDAgfTsKKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBHZXRSZWdpc3RyYXRpb25z
Q2FsbGJhY2s+IG1fb25nb2luZ0dldFJlZ2lzdHJhdGlvbnNUYXNrczsKKwogfTsgLy8gY2xhc3Mg
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9u
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGll
bnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4IDRmYzJkZjM0NThhOWUyMjRhNTJkMTBkNzA5
YjJmMGM5ZTYzMmI5OTIuLjNlYjAzZjkwNjBkNjVmMTc5Yzc5Y2ExMGY0N2FiNzVmYzEwZjRlNWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50
Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3Rv
cmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTM2LDYgKzM2LDcgQEAg
bWVzc2FnZXMgLT4gV2ViU1dDbGllbnRDb25uZWN0aW9uIHsKICAgICBQb3N0TWVzc2FnZVRvU2Vy
dmljZVdvcmtlckNsaWVudCh1aW50NjRfdCBkZXN0aW5hdGlvblNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRJZGVudGlmaWVyLCBJUEM6OkRhdGFSZWZlcmVuY2UgbWVzc2FnZSwgc3RydWN0IFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJEYXRhIHNvdXJjZSwgU3RyaW5nIHNvdXJjZU9yaWdpbikKIAogICAgIERp
ZE1hdGNoUmVnaXN0cmF0aW9uKHVpbnQ2NF90IG1hdGNoUmVxdWVzdElkZW50aWZpZXIsIHN0ZDo6
b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+IGRhdGEpCisg
ICAgRGlkR2V0UmVnaXN0cmF0aW9ucyh1aW50NjRfdCBtYXRjaFJlcXVlc3RJZGVudGlmaWVyLCBW
ZWN0b3I8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+IHJlZ2lzdHJhdGlv
bnMpCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwppbmRleCA1MWY0N2JjZjg4ODM4MWUwNDJmNjA3MjYwYjY3ZGM1ZTk1YWE5
NjdiLi5kMjE4YzRhMTI4ODBjZmM3YTZhY2I1NmE1NzZmYmVhMzIyM2I1N2Y0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNy0xMS0xNCAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFtTZXJ2aWNlIFdvcmtlcnNdIElt
cGxlbWVudCBjb250YWluZXIuZ2V0UmVnaXN0cmF0aW9ucygpCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk2NzIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNZXJnZSBodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wdWxsLzgxODAgYXMgdGhlIFdQVCB0ZXN0IGV4cGVjdGVkCisg
ICAgICAgIHRoZSByZWdpc3RyYXRpb25zIHJldHVybmVkIGJ5IGdldFJlZ2lzdHJhdGlvbnMoKSB0
byBiZSBpbiBhIHNwZWNpZmljIG9yZGVyLCB3aGljaAorICAgICAgICBpcyBub3QgbWFuZGF0ZWQg
YnkgdGhlIHNwZWNpZmljYXRpb24uCisKKyAgICAgICAgUmViYXNlbGluZSB0ZXN0IG5vdyB0aGF0
IG1vcmUgY2hlY2tzIGFyZSBwYXNzaW5nLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9nZXRyZWdpc3RyYXRpb25zLmh0dHBzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2dldHJlZ2lzdHJhdGlvbnMuaHR0cHMuaHRtbDoKKwogMjAxNy0xMS0x
MyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFNlbmQgU2Vydmlj
ZVdvcmtlckRhdGEgc3RydWN0cyB0byB0aGUgV2ViUHJvY2Vzc2VzIGluc3RlYWQgb2YgU2Vydmlj
ZVdvcmtlcklkZW50aWZpZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9nZXRyZWdp
c3RyYXRpb25zLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2dldHJlZ2lz
dHJhdGlvbnMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDI4YzgwYjM5ZWZjOGUzMTMyZDllM2Nh
MjA1NDYzNjgzZWFhZGNkZjkuLmRmYWU4NTA3YTRhN2ZkZWM3Y2Q4OGUyNWU4ZGU2ZDZhOTA0NDAx
YjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2dldHJlZ2lzdHJhdGlvbnMuaHR0cHMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2dldHJlZ2lzdHJhdGlvbnMuaHR0
cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsOCBAQAogCiBQQVNTIHJlZ2lzdHJhdGlvbnMgYXJl
IG5vdCByZXR1cm5lZCBmb2xsb3dpbmcgdW5yZWdpc3RlciAKLUZBSUwgUmVnaXN0ZXIgdGhlbiBn
ZXRSZWdpc3RyYXRpb25zIGFzc2VydF9hcnJheV9lcXVhbHM6IGdldFJlZ2lzdHJhdGlvbnMgc2hv
dWxkIHJlc29sdmUgd2l0aCBhcnJheSBvZiByZWdpc3RyYXRpb25zLiBsZW5ndGhzIGRpZmZlciwg
ZXhwZWN0ZWQgMSBnb3QgMAotRkFJTCBSZWdpc3RlciBtdWx0aXBsZSB0aW1lcyB0aGVuIGdldFJl
Z2lzdHJhdGlvbnMgYXNzZXJ0X2FycmF5X2VxdWFsczogZ2V0UmVnaXN0cmF0aW9ucyBzaG91bGQg
cmVzb2x2ZSB3aXRoIGFycmF5IG9mIHJlZ2lzdHJhdGlvbnMuIGxlbmd0aHMgZGlmZmVyLCBleHBl
Y3RlZCAyIGdvdCAwCitQQVNTIFJlZ2lzdGVyIHRoZW4gZ2V0UmVnaXN0cmF0aW9ucyAKK1BBU1Mg
UmVnaXN0ZXIgbXVsdGlwbGUgdGltZXMgdGhlbiBnZXRSZWdpc3RyYXRpb25zIAogUEFTUyBSZWdp
c3RlciB0aGVuIFVucmVnaXN0ZXIgdGhlbiBnZXRSZWdpc3RyYXRpb25zIAogRkFJTCBSZWdpc3Rl
ciB0aGVuIFVucmVnaXN0ZXIgd2l0aCBjb250cm9sbGVkIGZyYW1lIHRoZW4gZ2V0UmVnaXN0cmF0
aW9ucyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiYWN0aXZhdGVkIiBidXQgZ290ICJyZWR1bmRh
bnQiCi1GQUlMIGdldFJlZ2lzdHJhdGlvbnMgcHJvbWlzZSByZXNvbHZlcyBvbmx5IHdpdGggc2Ft
ZSBvcmlnaW4gcmVnaXN0cmF0aW9ucy4gYXNzZXJ0X2FycmF5X2VxdWFsczogZ2V0UmVnaXN0cmF0
aW9ucyBzaG91bGQgb25seSByZXR1cm4gc2FtZSBvcmlnaW4gcmVnaXN0cmF0aW9ucy4gbGVuZ3Ro
cyBkaWZmZXIsIGV4cGVjdGVkIDEgZ290IDAKK1BBU1MgZ2V0UmVnaXN0cmF0aW9ucyBwcm9taXNl
IHJlc29sdmVzIG9ubHkgd2l0aCBzYW1lIG9yaWdpbiByZWdpc3RyYXRpb25zLiAKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvZ2V0cmVnaXN0cmF0aW9ucy5odHRwcy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvZ2V0cmVnaXN0cmF0aW9ucy5odHRwcy5odG1sCmluZGV4IDExZGEyNzAz
NmQwOTJjMmYyYzZkNThkZjU3NmIyOWU5YmZiOTk1MzcuLjMwMWM5NTQwZDBjMGJlMzg0ZjBmNDNl
OWFlMjYyNzRmNmQzOGVhZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2dldHJlZ2lz
dHJhdGlvbnMuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9nZXRyZWdpc3RyYXRp
b25zLmh0dHBzLmh0bWwKQEAgLTYxLDEwICs2MSw5IEBAIHByb21pc2VfdGVzdChmdW5jdGlvbih0
KSB7CiAgICAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmdldFJlZ2lzdHJh
dGlvbnMoKTsKICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAg
ICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscygKLSAgICAgICAgICAgIHZhbHVlLAotICAgICAgICAg
ICAgcmVnaXN0cmF0aW9ucywKLSAgICAgICAgICAgICdnZXRSZWdpc3RyYXRpb25zIHNob3VsZCBy
ZXNvbHZlIHdpdGggYXJyYXkgb2YgcmVnaXN0cmF0aW9ucy4nKTsKKyAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKHZhbHVlLmxlbmd0aCwgcmVnaXN0cmF0aW9ucy5sZW5ndGgsICJTaG91bGQgcmV0dXJu
IHRoZSByaWdodCBudW1iZXIgb2YgcmVnaXN0cmF0aW9ucyIpOworICAgICAgICAgIGZvciAobGV0
IHJlZ2lzdHJhdGlvbiBvZiByZWdpc3RyYXRpb25zKQorICAgICAgICAgICAgICBhc3NlcnRfaW5f
YXJyYXkocmVnaXN0cmF0aW9uLCB2YWx1ZSwgIlNob3VsZCByZXR1cm4gdGhlIHJpZ2h0IHJlZ2lz
dHJhdGlvbnMiKTsKICAgICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0
LCBzY29wZTEpOwogICAgICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326917</attachid>
            <date>2017-11-14 13:33:10 -0800</date>
            <delta_ts>2017-11-14 14:02:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179672-20171114133310.patch</filename>
            <type>text/plain</type>
            <size>26696</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0ODMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWUxNGY3YmI5MWY1ZDg2
ODRkM2Y3OGZkMzJkNzBiODM5MzQ2ZGM3ZC4uY2MyZjI0MTZkMzZmNGNiYzc4N2I0MmE4OGZiNmMw
YTc0NWY3NWVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE3LTExLTE0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1NlcnZpY2UgV29ya2Vyc10g
SW1wbGVtZW50IGNvbnRhaW5lci5nZXRSZWdpc3RyYXRpb25zKCkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTY3MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBjb250YWluZXIuZ2V0UmVn
aXN0cmF0aW9ucygpOgorICAgICAgICAtIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29y
a2VyLyNkb20tc2VydmljZXdvcmtlcmNvbnRhaW5lci1nZXRyZWdpc3RyYXRpb25zCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzLCByZWJhc2VsaW5lZCBleGlzdGluZyB0ZXN0LgorCisgICAgICAgICog
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6Z2V0UmVnaXN0cmF0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OmdldFJlZ2lzdHJhdGlvbnMpOgorICAg
ICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoUmVn
aXN0cmF0aW9uKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRh
aW5lci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246Omdl
dE9yQ3JlYXRlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbi5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uS2V5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25LZXk6OmlzTWF0Y2hpbmcgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbktleTo6b3JpZ2luSXNNYXRjaGluZyBjb25zdCk6CisgICAgICAgICogd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkuaDoKKyAgICAgICAgKiB3
b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oOgorICAgICAgICAqIHdv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dT
ZXJ2ZXI6OmdldFJlZ2lzdHJhdGlvbnMpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2
ZXIvU1dTZXJ2ZXIuaDoKKwogMjAxNy0xMS0xNCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9A
YXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkZCBhIFNlcnZpY2VXb3JrZXIg
ZG9tYWluIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCBhbiBpbnNwZWN0ZWQgU2VydmljZVdvcmtl
cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCBmZTExYzM5NmZhM2JhMmNhZjdmMGFhZGM4ZjczZTAwNDM0ODI4ODExLi42
N2Q2ZWY4NmM2NjU5NzQyODEyMjNkY2M1NTg4MjEwNmUxMzA3YjkwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIwIEBACisyMDE3LTExLTE0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisK
KyAgICAgICAgW1NlcnZpY2UgV29ya2Vyc10gSW1wbGVtZW50IGNvbnRhaW5lci5nZXRSZWdpc3Ry
YXRpb25zKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3OTY3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OmdldFJlZ2lzdHJhdGlv
bnMpOgorICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJD
b25uZWN0aW9uLmg6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJT
V1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNXQ2xp
ZW50Q29ubmVjdGlvbjo6ZGlkR2V0UmVnaXN0cmF0aW9ucyk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlNXQ2xpZW50Q29ubmVjdGlvbjo6Z2V0UmVnaXN0cmF0aW9ucyk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nl
c3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisKIDIwMTctMTEt
MTQgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgQ29uc29s
aWRhdGUgc3lzY3RsLXJlYWQgcnVsZXMgaW4gV2ViUHJvY2VzcyBzYW5kYm94CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5l
ci5jcHAKaW5kZXggZDIwOGQxMTQyMjJjZDMwMDczMDZlZGVjZmMzYWIzNDFhMGVjMTMzYi4uOTNj
YzQzMDk4NDEwOTgzNGUzMWFlY2U5M2ZkNjA5MzY0Nzg4YzQxZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNw
cApAQCAtMjMwLDE0ICsyMzAsOCBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmdldFJl
Z2lzdHJhdGlvbihjb25zdCBTdHJpbmcmIGNsaWVudFVSTCwgUmVmPERlZmVycgogICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgUmVmUHRyPFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24+IHJlZ2lzdHJhdGlvbiA9IG1fcmVnaXN0cmF0aW9ucy5nZXQocmVzdWx0LT5pZGVu
dGlmaWVyKTsKLSAgICAgICAgaWYgKCFyZWdpc3RyYXRpb24pIHsKLSAgICAgICAgICAgIGF1dG8m
IGNvbnRleHQgPSAqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwotICAgICAgICAgICAgLy8gRklY
TUU6IFdlIHNob3VsZCBwcm9iYWJseSBub3QgYmUgY29uc3RydWN0aW5nIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24gb2JqZWN0cyBoZXJlLiBJbnN0ZWFkLCB3ZSBzaG91bGQgbWFrZQotICAgICAg
ICAgICAgLy8gc3VyZSB0aGF0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gb2JqZWN0cyBzdGF5
cyBhbGl2ZSBhcyBsb25nIGFzIHRoZWlyIFNXU2VydmVyUmVnaXN0cmF0aW9uIG9uIHNlcnZlciBz
aWRlLgotICAgICAgICAgICAgcmVnaXN0cmF0aW9uID0gU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bjo6Y3JlYXRlKGNvbnRleHQsICp0aGlzLCBXVEZNb3ZlKHJlc3VsdC52YWx1ZSgpKSk7Ci0gICAg
ICAgIH0KLSAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExJbnRlcmZhY2U8U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbj4+KHJlZ2lzdHJhdGlvbi5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICAgICAg
YXV0byByZWdpc3RyYXRpb24gPSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpnZXRPckNyZWF0
ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCAqdGhpcywgV1RGTW92ZShyZXN1bHQudmFsdWUo
KSkpOworICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETEludGVyZmFjZTxTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uPj4oV1RGTW92ZShyZWdpc3RyYXRpb24pKTsKICAgICB9KTsKIH0KIApAQCAt
MjU5LDggKzI1MywyOCBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnNjaGVkdWxlVGFz
a1RvVXBkYXRlUmVnaXN0cmF0aW9uU3RhdGUoU2VydmljZVdvcmtlcgogCiB2b2lkIFNlcnZpY2VX
b3JrZXJDb250YWluZXI6OmdldFJlZ2lzdHJhdGlvbnMoUmVnaXN0cmF0aW9uc1Byb21pc2UmJiBw
cm9taXNlKQogewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgZ2V0UmVnaXN0cmF0aW9ucyBhbGdv
cml0aG0sIGZvciBub3cgcHJldGVuZCB0aGVyZSBpcyBubyByZWdpc3RyYXRpb24uCi0gICAgcHJv
bWlzZS5yZXNvbHZlKHsgfSk7CisgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKTsKKyAgICBpZiAoIWNvbnRleHQpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhj
ZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBpZiAoIW1fc3dDb25uZWN0aW9uKQorICAgICAgICBtX3N3Q29ubmVjdGlvbiA9ICZTZXJ2
aWNlV29ya2VyUHJvdmlkZXI6OnNpbmdsZXRvbigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9y
U2Vzc2lvbihjb250ZXh0LT5zZXNzaW9uSUQoKSk7CisKKyAgICByZXR1cm4gbV9zd0Nvbm5lY3Rp
b24tPmdldFJlZ2lzdHJhdGlvbnMoY29udGV4dC0+dG9wT3JpZ2luKCksIGNvbnRleHQtPnVybCgp
LCBbdGhpcywgcGVuZGluZ0FjdGl2aXR5ID0gbWFrZVBlbmRpbmdBY3Rpdml0eSgqdGhpcyksIHBy
b21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSAoYXV0byYmIHJlZ2lzdHJhdGlvbkRhdGFzKSBtdXRh
YmxlIHsKKyAgICAgICAgaWYgKG1faXNTdG9wcGVkKQorICAgICAgICAgICAgcmV0dXJuOworCisg
ICAgICAgIFZlY3RvcjxSZWY8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4+IHJlZ2lzdHJhdGlv
bnM7CisgICAgICAgIHJlZ2lzdHJhdGlvbnMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShyZWdpc3Ry
YXRpb25EYXRhcy5zaXplKCkpOworICAgICAgICBmb3IgKGF1dG8mIHJlZ2lzdHJhdGlvbkRhdGEg
OiByZWdpc3RyYXRpb25EYXRhcykgeworICAgICAgICAgICAgYXV0byByZWdpc3RyYXRpb24gPSBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpnZXRPckNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLCAqdGhpcywgV1RGTW92ZShyZWdpc3RyYXRpb25EYXRhKSk7CisgICAgICAgICAgICBy
ZWdpc3RyYXRpb25zLnVuY2hlY2tlZEFwcGVuZChXVEZNb3ZlKHJlZ2lzdHJhdGlvbikpOworICAg
ICAgICB9CisKKyAgICAgICAgcHJvbWlzZS5yZXNvbHZlKFdURk1vdmUocmVnaXN0cmF0aW9ucykp
OworICAgIH0pOwogfQogCiB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnN0YXJ0TWVzc2Fn
ZXMoKQpAQCAtMzA1LDEzICszMTksMTEgQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpq
b2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oU2VydmljZVdvcmtlckpvYiYgam9iLAogICAgIH0K
IAogICAgIGNvbnRleHQtPnBvc3RUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigq
dGhpcyksIGpvYiA9IG1ha2VSZWYoam9iKSwgZGF0YSA9IFdURk1vdmUoZGF0YSksIHByb21pc2VS
ZXNvbHZlZEhhbmRsZXIgPSBXVEZNb3ZlKHByb21pc2VSZXNvbHZlZEhhbmRsZXIpXShTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBjb250ZXh0KSBtdXRhYmxlIHsKLSAgICAgICAgUmVmUHRyPFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24+IHJlZ2lzdHJhdGlvbiA9IG1fcmVnaXN0cmF0aW9ucy5nZXQo
ZGF0YS5pZGVudGlmaWVyKTsKLSAgICAgICAgaWYgKCFyZWdpc3RyYXRpb24pCi0gICAgICAgICAg
ICByZWdpc3RyYXRpb24gPSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpjcmVhdGUoY29udGV4
dCwgKnRoaXMsIFdURk1vdmUoZGF0YSkpOworICAgICAgICBhdXRvIHJlZ2lzdHJhdGlvbiA9IFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmdldE9yQ3JlYXRlKGNvbnRleHQsICp0aGlzLCBXVEZN
b3ZlKGRhdGEpKTsKIAotICAgICAgICBMT0coU2VydmljZVdvcmtlciwgIkNvbnRhaW5lciAlcCBy
ZXNvbHZlZCBqb2Igd2l0aCByZWdpc3RyYXRpb24gJXAiLCB0aGlzLCByZWdpc3RyYXRpb24uZ2V0
KCkpOworICAgICAgICBMT0coU2VydmljZVdvcmtlciwgIkNvbnRhaW5lciAlcCByZXNvbHZlZCBq
b2Igd2l0aCByZWdpc3RyYXRpb24gJXAiLCB0aGlzLCByZWdpc3RyYXRpb24ucHRyKCkpOwogCi0g
ICAgICAgIGpvYi0+cHJvbWlzZSgpLnJlc29sdmU8SURMSW50ZXJmYWNlPFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24+PigqcmVnaXN0cmF0aW9uKTsKKyAgICAgICAgam9iLT5wcm9taXNlKCkucmVz
b2x2ZTxJRExJbnRlcmZhY2U8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4+KFdURk1vdmUocmVn
aXN0cmF0aW9uKSk7CiAKICAgICAgICAgTWljcm90YXNrUXVldWU6Om1haW5UaHJlYWRRdWV1ZSgp
LmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPFZvaWRNaWNyb3Rhc2s+KFtwcm9taXNlUmVzb2x2ZWRI
YW5kbGVyID0gV1RGTW92ZShwcm9taXNlUmVzb2x2ZWRIYW5kbGVyKV0gewogICAgICAgICAgICAg
cHJvbWlzZVJlc29sdmVkSGFuZGxlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKaW5kZXggZWI0YWQzYjE4M2Fl
MjFmOTMzMTIwMzQwMjNlOTViY2Q2MmE4MDJkZC4uNDFlOTJlOWVjMTU2Y2JiMzBlMTFkZGJiODlm
MjZjNTc1ZWRmZjhiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCkBAIC03MSw2ICs3MSw4IEBAIHB1YmxpYzoK
ICAgICB1c2luZyBSZWdpc3RyYXRpb25zUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExT
ZXF1ZW5jZTxJRExJbnRlcmZhY2U8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4+PjsKICAgICB2
b2lkIGdldFJlZ2lzdHJhdGlvbnMoUmVnaXN0cmF0aW9uc1Byb21pc2UmJik7CiAKKyAgICBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uKiByZWdpc3RyYXRpb24oU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbklkZW50aWZpZXIgaWRlbnRpZmllcikgY29uc3QgeyByZXR1cm4gbV9yZWdpc3RyYXRpb25z
LmdldChpZGVudGlmaWVyKTsgfQorCiAgICAgdm9pZCBhZGRSZWdpc3RyYXRpb24oU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbiYpOwogICAgIHZvaWQgcmVtb3ZlUmVnaXN0cmF0aW9uKFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24mKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCmluZGV4IDgwZGU5
MjVkMDExNzFhYjc5MjY3NzgxODAzMDY3NGQyNTU4Yzc3YmMuLmNkZjE3NTk1MmNkYjAzNTJhMjEw
MGJjYjhjMzJmOWJkMTc2NmEyMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAKQEAgLTM3LDYg
KzM3LDE0IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorUmVmPFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24+IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmdldE9yQ3JlYXRlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxTZXJ2aWNlV29ya2VyQ29udGFpbmVyPiYmIGNv
bnRhaW5lciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJiBkYXRhKQoreworICAgIGlm
IChhdXRvKiByZWdpc3RyYXRpb24gPSBjb250YWluZXItPnJlZ2lzdHJhdGlvbihkYXRhLmlkZW50
aWZpZXIpKQorICAgICAgICByZXR1cm4gKnJlZ2lzdHJhdGlvbjsKKworICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oY29udGV4dCwgV1RGTW92ZShjb250
YWluZXIpLCBXVEZNb3ZlKGRhdGEpKSk7Cit9CisKIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246
OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4
dCwgUmVmPFNlcnZpY2VXb3JrZXJDb250YWluZXI+JiYgY29udGFpbmVyLCBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uRGF0YSYmIHJlZ2lzdHJhdGlvbkRhdGEpCiAgICAgOiBBY3RpdmVET01PYmpl
Y3QoJmNvbnRleHQpCiAgICAgLCBtX3JlZ2lzdHJhdGlvbkRhdGEoV1RGTW92ZShyZWdpc3RyYXRp
b25EYXRhKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oCmluZGV4IDA4NGZlODMxNjcxNGQ0ZjdhZjI4OTU5
NzkyMWFlMjA2YmY1MzhmYmEuLjYyYjk3ZmUyMjVlMzY3MmFmM2Q3Njg1MmRkNjVjOTViNWM5OWZl
YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaApAQCAtNDEsMTAgKzQxLDcgQEAgY2xhc3MgU2Vydmlj
ZVdvcmtlckNvbnRhaW5lcjsKIAogY2xhc3MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBmaW5h
bCA6IHB1YmxpYyBSZWZDb3VudGVkPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+LCBwdWJsaWMg
RXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJs
aWM6Ci0gICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIEFyZ3M+IHN0YXRpYyBSZWY8U2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbj4gY3JlYXRlKEFyZ3MmJi4uLiBhcmdzKQotICAgIHsKLSAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihzdGQ6OmZvcndh
cmQ8QXJncz4oYXJncykuLi4pKTsKLSAgICB9CisgICAgc3RhdGljIFJlZjxTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uPiBnZXRPckNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPFNl
cnZpY2VXb3JrZXJDb250YWluZXI+JiYsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYp
OwogCiAgICAgflNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXku
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25LZXkuY3BwCmluZGV4IDQ0MDcyOWI4M2NkYzY1ZDgwYjk1N2I4M2FhNGNkMmM3OTc4NTEw
MDQuLjQ3OTNhYTAyZjgzZjk3ZjExNmU2ZTUxMGZjYWRkNDM0NDIyM2NkYzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
S2V5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbktleS5jcHAKQEAgLTY3LDEzICs2NywxNSBAQCBTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uS2V5IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXk6Omlzb2xhdGVkQ29weSgp
IGNvbnN0CiAKIGJvb2wgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleTo6aXNNYXRjaGluZyhj
b25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbiwgY29uc3QgVVJMJiBjbGllbnRVUkwp
IGNvbnN0CiB7Ci0gICAgaWYgKHRvcE9yaWdpbiAhPSBtX3RvcE9yaWdpbikKLSAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIHJldHVybiBvcmlnaW5Jc01hdGNoaW5nKHRvcE9yaWdpbiwgY2xpZW50
VVJMKSAmJiBjbGllbnRVUkwuc3RyaW5nKCkuc3RhcnRzV2l0aChtX3Njb3BlKTsKK30KIAotICAg
IGlmICghcHJvdG9jb2xIb3N0QW5kUG9ydEFyZUVxdWFsKGNsaWVudFVSTCwgbV9zY29wZSkpCiti
b29sIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXk6Om9yaWdpbklzTWF0Y2hpbmcoY29uc3Qg
U2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMKSBjb25z
dAoreworICAgIGlmICh0b3BPcmlnaW4gIT0gbV90b3BPcmlnaW4pCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAotICAgIHJldHVybiBjbGllbnRVUkwuc3RyaW5nKCkuc3RhcnRzV2l0aChtX3Njb3Bl
KTsKKyAgICByZXR1cm4gcHJvdG9jb2xIb3N0QW5kUG9ydEFyZUVxdWFsKGNsaWVudFVSTCwgbV9z
Y29wZSk7CiB9CiAKICNpZm5kZWYgTkRFQlVHCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleS5oIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkuaAppbmRl
eCAwYmYyY2JkMTViN2VjMzVhZjhhNzllNzZlZGVlODkyMmRlYTcxY2MzLi44MWIwMWJjOGRhOTEz
ZDgwN2NkODdjZmQ0ZTRkOTFkMDQ0YTY4MDgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5LmgK
QEAgLTQyLDYgKzQyLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmKSBjb25zdDsKICAgICBib29sIGlzTWF0Y2hpbmco
Y29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJM
KSBjb25zdDsKKyAgICBib29sIG9yaWdpbklzTWF0Y2hpbmcoY29uc3QgU2VjdXJpdHlPcmlnaW5E
YXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMKSBjb25zdDsKICAgICBzaXplX3Qg
c2NvcGVMZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX3Njb3BlLnN0cmluZygpLmxlbmd0aCgpOyB9
CiAKICAgICBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbigpIGNvbnN0IHsgcmV0
dXJuIG1fdG9wT3JpZ2luOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uaAppbmRleCA3MTk5OTA0NDJmNDk5
ZDZkNjIyOTFkN2Q4MmFlNDk1ZWI3YzgxM2EzLi41NWFhOGMyN2M4NmY4OTVlZmEwMTM5YWIxYjE1
YjM2NDJiYjNjZjc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
c2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmgKQEAgLTU1LDYgKzU1LDkgQEAgcHVi
bGljOgogICAgIHVzaW5nIFJlZ2lzdHJhdGlvbkNhbGxiYWNrID0gV1RGOjpDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+JiYp
PjsKICAgICB2aXJ0dWFsIHZvaWQgbWF0Y2hSZWdpc3RyYXRpb24oY29uc3QgU2VjdXJpdHlPcmln
aW4mIHRvcE9yaWdpbiwgY29uc3QgVVJMJiBjbGllbnRVUkwsIFJlZ2lzdHJhdGlvbkNhbGxiYWNr
JiYpID0gMDsKIAorICAgIHVzaW5nIEdldFJlZ2lzdHJhdGlvbnNDYWxsYmFjayA9IFdURjo6Q29t
cGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+
JiYpPjsKKyAgICB2aXJ0dWFsIHZvaWQgZ2V0UmVnaXN0cmF0aW9ucyhjb25zdCBTZWN1cml0eU9y
aWdpbiYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCwgR2V0UmVnaXN0cmF0aW9uc0Nh
bGxiYWNrJiYpID0gMDsKKwogICAgIHZpcnR1YWwgdm9pZCBhZGRTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYsIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHJl
bW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihjb25zdCBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uS2V5JiwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpID0g
MDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9T
V1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2Vy
dmVyLmNwcAppbmRleCA4Zjg0NWE4Y2Y5NDAyOWIzNTBmNmI5OTRkMmE0Mzg5MWEzMTU0M2U0Li44
NjE5NjAyODY3YzNkMjQxOGJlMWVkMzk2NzUzM2IxZTVmMDc2YzAyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcApAQCAtMTA5LDYg
KzEwOSwyNCBAQCB2b2lkIFNXU2VydmVyOjpyZW1vdmVSZWdpc3RyYXRpb24oY29uc3QgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbktleSYga2V5KQogICAgIG1fb3JpZ2luU3RvcmUtPnJlbW92ZSh0
b3BPcmlnaW4pOwogfQogCitWZWN0b3I8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+IFNX
U2VydmVyOjpnZXRSZWdpc3RyYXRpb25zKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3Jp
Z2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCkKK3sKKyAgICBWZWN0b3I8U1dTZXJ2ZXJSZWdpc3Ry
YXRpb24qPiBtYXRjaGluZ1JlZ2lzdHJhdGlvbnM7CisgICAgZm9yIChhdXRvJiBpdGVtIDogbV9y
ZWdpc3RyYXRpb25zKSB7CisgICAgICAgIGlmICghaXRlbS52YWx1ZS0+aXNVbmluc3RhbGxpbmco
KSAmJiBpdGVtLmtleS5vcmlnaW5Jc01hdGNoaW5nKHRvcE9yaWdpbiwgY2xpZW50VVJMKSkKKyAg
ICAgICAgICAgIG1hdGNoaW5nUmVnaXN0cmF0aW9ucy5hcHBlbmQoaXRlbS52YWx1ZS5nZXQoKSk7
CisgICAgfQorICAgIC8vIFRoZSBzcGVjaWZpY2F0aW9uIG1hbmRhdGVzIHRoYXQgcmVnaXN0cmF0
aW9ucyBhcmUgcmV0dXJuZWQgaW4gdGhlIGluc2VydGlvbiBvcmRlci4KKyAgICBzdGQ6OnNvcnQo
bWF0Y2hpbmdSZWdpc3RyYXRpb25zLmJlZ2luKCksIG1hdGNoaW5nUmVnaXN0cmF0aW9ucy5lbmQo
KSwgW10oYXV0byYgYSwgYXV0byYgYikgeworICAgICAgICByZXR1cm4gYS0+Y3JlYXRpb25UaW1l
KCkgPCBiLT5jcmVhdGlvblRpbWUoKTsKKyAgICB9KTsKKyAgICBWZWN0b3I8U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkRhdGE+IG1hdGNoaW5nUmVnaXN0cmF0aW9uRGF0YXM7CisgICAgbWF0Y2hp
bmdSZWdpc3RyYXRpb25EYXRhcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1hdGNoaW5nUmVnaXN0
cmF0aW9ucy5zaXplKCkpOworICAgIGZvciAoYXV0byogcmVnaXN0cmF0aW9uIDogbWF0Y2hpbmdS
ZWdpc3RyYXRpb25zKQorICAgICAgICBtYXRjaGluZ1JlZ2lzdHJhdGlvbkRhdGFzLnVuY2hlY2tl
ZEFwcGVuZChyZWdpc3RyYXRpb24tPmRhdGEoKSk7CisgICAgcmV0dXJuIG1hdGNoaW5nUmVnaXN0
cmF0aW9uRGF0YXM7Cit9CisKIHZvaWQgU1dTZXJ2ZXI6OmNsZWFyQWxsKCkKIHsKICAgICBtX2pv
YlF1ZXVlcy5jbGVhcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3Nl
cnZlci9TV1NlcnZlci5oCmluZGV4IDMwYjEyY2FmN2ZiMzYwNmZiY2Y0ZDgwNWM3ZjdkZDJkOTdk
YjljNTAuLjQ3YzlhYjU1ZTg2MWU2NjNjMjVjNDNiOWU2YjI2YjRmY2M5NDIwOWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKQEAgLTEw
MCw2ICsxMDAsNyBAQCBwdWJsaWM6CiAgICAgU1dTZXJ2ZXJSZWdpc3RyYXRpb24qIGdldFJlZ2lz
dHJhdGlvbihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5Jik7CiAgICAgdm9pZCBh
ZGRSZWdpc3RyYXRpb24oc3RkOjp1bmlxdWVfcHRyPFNXU2VydmVyUmVnaXN0cmF0aW9uPiYmKTsK
ICAgICB2b2lkIHJlbW92ZVJlZ2lzdHJhdGlvbihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uS2V5Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgVmVjdG9yPFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25EYXRhPiBnZXRSZWdpc3RyYXRpb25zKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgdG9w
T3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCk7CiAKICAgICB2b2lkIHNjaGVkdWxlSm9iKGNv
bnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhJik7CiAgICAgdm9pZCByZWplY3RKb2IoY29uc3QgU2Vy
dmljZVdvcmtlckpvYkRhdGEmLCBjb25zdCBFeGNlcHRpb25EYXRhJik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdp
c3RyYXRpb24uY3BwCmluZGV4IGQ2ZTE0YjQwNTQ2ZWI5NGNlMWU0MzE1ZDc5ZDYzYWIzNjliNDVj
YTIuLjBjMTVhY2U0NzdlNTIxOTAxMzUxODFiZjA4Yzk0Nzc0M2FhNzkxMzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2
ZXJSZWdpc3RyYXRpb24uY3BwCkBAIC00Nyw2ICs0Nyw3IEBAIFNXU2VydmVyUmVnaXN0cmF0aW9u
OjpTV1NlcnZlclJlZ2lzdHJhdGlvbihTV1NlcnZlciYgc2VydmVyLCBjb25zdCBTZXJ2aWNlV29y
a2VyCiAgICAgLCBtX3Njb3BlVVJMKHNjb3BlVVJMKQogICAgICwgbV9zY3JpcHRVUkwoc2NyaXB0
VVJMKQogICAgICwgbV9zZXJ2ZXIoc2VydmVyKQorICAgICwgbV9jcmVhdGlvblRpbWUoTW9ub3Rv
bmljVGltZTo6bm93KCkpCiB7CiAgICAgbV9zY29wZVVSTC5yZW1vdmVGcmFnbWVudElkZW50aWZp
ZXIoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2
ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uaAppbmRleCBhNTRjZmE1ZTQyZjg2NDkyYWY5
MzJlOGEzMTYzYzE3YmIxZTMyMWU3Li5mZTBlNjVhYjNlNGVlYjJmNTM5NDZjYTAzMjAzYmJkZmU3
NGE2Mjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyUmVnaXN0cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5j
bHVkZSAiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEuaCIKICNpbmNsdWRlICJTZXJ2aWNl
V29ya2VyVHlwZXMuaCIKICNpbmNsdWRlIDx3dGYvSGFzaENvdW50ZWRTZXQuaD4KKyNpbmNsdWRl
IDx3dGYvTW9ub3RvbmljVGltZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTY5LDYg
KzcwLDggQEAgcHVibGljOgogICAgIFNXU2VydmVyV29ya2VyKiB3YWl0aW5nV29ya2VyKCkgY29u
c3QgeyByZXR1cm4gbV93YWl0aW5nV29ya2VyLmdldCgpOyB9CiAgICAgU1dTZXJ2ZXJXb3JrZXIq
IGFjdGl2ZVdvcmtlcigpIGNvbnN0IHsgcmV0dXJuIG1fYWN0aXZlV29ya2VyLmdldCgpOyB9CiAK
KyAgICBNb25vdG9uaWNUaW1lIGNyZWF0aW9uVGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fY3JlYXRp
b25UaW1lOyB9CisKIHByaXZhdGU6CiAgICAgdm9pZCBmb3JFYWNoQ29ubmVjdGlvbihjb25zdCBX
VEY6OkZ1bmN0aW9uPHZvaWQoU1dTZXJ2ZXI6OkNvbm5lY3Rpb24mKT4mKTsKIApAQCAtODcsNiAr
OTAsOCBAQCBwcml2YXRlOgogICAgIAogICAgIEhhc2hDb3VudGVkU2V0PHVpbnQ2NF90PiBtX2Nv
bm5lY3Rpb25zV2l0aENsaWVudFJlZ2lzdHJhdGlvbnM7CiAgICAgU1dTZXJ2ZXImIG1fc2VydmVy
OworCisgICAgTW9ub3RvbmljVGltZSBtX2NyZWF0aW9uVGltZTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2Vy
dmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9TdG9y
YWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKaW5kZXgg
MGMyNGExMjQxNmI3NDQ0ZmFkMjA3MGIwYTYwMTljYjM4YTU4MmFhYS4uMzg1YTEwMjk1NWY3YjY2
N2EyOGRjZGE1NDhlNDlmNzcxNWQ4YzAxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9y
YWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5jcHAKQEAgLTE2MCw2ICsxNjAsMTIgQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rp
b246Om1hdGNoUmVnaXN0cmF0aW9uKHVpbnQ2NF90IHJlZ2lzdHJhdGlvbk1hdGNoUmVxdWVzdEkK
ICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV0NsaWVudENvbm5lY3Rpb246OkRpZE1hdGNoUmVnaXN0
cmF0aW9uIHsgcmVnaXN0cmF0aW9uTWF0Y2hSZXF1ZXN0SWRlbnRpZmllciwgc3RkOjpudWxsb3B0
IH0pOwogfQogCit2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Z2V0UmVnaXN0cmF0aW9ucyh1
aW50NjRfdCByZWdpc3RyYXRpb25NYXRjaFJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBTZWN1cml0
eU9yaWdpbkRhdGEmIHRvcE9yaWdpbiwgY29uc3QgVVJMJiBjbGllbnRVUkwpCit7CisgICAgYXV0
byByZWdpc3RyYXRpb25zID0gc2VydmVyKCkuZ2V0UmVnaXN0cmF0aW9ucyh0b3BPcmlnaW4sIGNs
aWVudFVSTCk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViU1dDbGllbnRDb25uZWN0aW9uOjpEaWRH
ZXRSZWdpc3RyYXRpb25zIHsgcmVnaXN0cmF0aW9uTWF0Y2hSZXF1ZXN0SWRlbnRpZmllciwgcmVn
aXN0cmF0aW9ucyB9KTsKK30KKwogdGVtcGxhdGU8dHlwZW5hbWUgVT4gdm9pZCBXZWJTV1NlcnZl
ckNvbm5lY3Rpb246OnNlbmRUb0NvbnRleHRQcm9jZXNzKFUmJiBtZXNzYWdlKQogewogICAgIGlm
IChhdXRvKiBjb25uZWN0aW9uID0gU3RvcmFnZVByb2Nlc3M6OnNpbmdsZXRvbigpLmdsb2JhbFNl
cnZlclRvQ29udGV4dENvbm5lY3Rpb24oKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3Rv
cmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaCBiL1NvdXJj
ZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rp
b24uaAppbmRleCAzZjRjYTViM2M4MmU2NDViMzZkYWI5ODM0ZmIyMWRkMzdlMTNjMTNjLi5mODRm
Mzc1YmQ5OGRjMTE4MWE1NDM1N2ZiZTE1MjAyNzkxNWJmZWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9u
LmgKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNX
U2VydmVyQ29ubmVjdGlvbi5oCkBAIC03Miw3ICs3Miw4IEBAIHByaXZhdGU6CiAKICAgICB2b2lk
IHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoV2ViQ29yZTo6U2VydmljZVdv
cmtlcklkZW50aWZpZXIgZGVzdGluYXRpb25JZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZl
cmVuY2UmIG1lc3NhZ2UsIHVpbnQ2NF90IHNvdXJjZVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVu
dGlmaWVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZU9yaWdpbik7CiAKLSAgICB2b2lkIG1hdGNoUmVn
aXN0cmF0aW9uKHVpbnQ2NF90IHJlZ2lzdHJhdGlvbk1hdGNoUmVxdWVzdElkZW50aWZpZXIsIGNv
bnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYsIGNvbnN0IFdlYkNvcmU6OlVSTCYgY2xp
ZW50VVJMKTsKKyAgICB2b2lkIG1hdGNoUmVnaXN0cmF0aW9uKHVpbnQ2NF90IHJlZ2lzdHJhdGlv
bk1hdGNoUmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0
YSYgdG9wT3JpZ2luLCBjb25zdCBXZWJDb3JlOjpVUkwmIGNsaWVudFVSTCk7CisgICAgdm9pZCBn
ZXRSZWdpc3RyYXRpb25zKHVpbnQ2NF90IHJlZ2lzdHJhdGlvbk1hdGNoUmVxdWVzdElkZW50aWZp
ZXIsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBX
ZWJDb3JlOjpVUkwmIGNsaWVudFVSTCk7CiAKICAgICBJUEM6OkNvbm5lY3Rpb24qIG1lc3NhZ2VT
ZW5kZXJDb25uZWN0aW9uKCkgZmluYWwgeyByZXR1cm4gbV9jb250ZW50Q29ubmVjdGlvbi5wdHIo
KTsgfQogICAgIHVpbnQ2NF90IG1lc3NhZ2VTZW5kZXJEZXN0aW5hdGlvbklEKCkgZmluYWwgeyBy
ZXR1cm4gaWRlbnRpZmllcigpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQ
cm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5tZXNzYWdlcy5pbgppbmRleCA0MmMzZmM2YjJiNTkzMmMzN2I4MDBiMmEyN2I3MGYz
YWNiZjM4NTZiLi5lYzQ0YzA4NzQ5N2RhZWI4OGI5YjNkNTQ5OTI3NTY2NGNmMTg1NmRkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dT
ZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVBy
b2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAg
LTM1LDYgKzM1LDcgQEAgbWVzc2FnZXMgLT4gV2ViU1dTZXJ2ZXJDb25uZWN0aW9uIHsKICAgICBE
aWRSZXNvbHZlUmVnaXN0cmF0aW9uUHJvbWlzZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uS2V5IGtleSkKIAogICAgIE1hdGNoUmVnaXN0cmF0aW9uKHVpbnQ2NF90IHNlcnZpY2VS
ZWdpc3RyYXRpb25NYXRjaFJlcXVlc3RJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJp
dHlPcmlnaW5EYXRhIHRvcE9yaWdpbiwgV2ViQ29yZTo6VVJMIGNsaWVudFVSTCkKKyAgICBHZXRS
ZWdpc3RyYXRpb25zKHVpbnQ2NF90IHNlcnZpY2VSZWdpc3RyYXRpb25NYXRjaFJlcXVlc3RJZGVu
dGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIHRvcE9yaWdpbiwgV2Vi
Q29yZTo6VVJMIGNsaWVudFVSTCkKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX1dPUktF
UikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xp
ZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJT
V0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IDQyMjhmYTJmYTMwY2YxNTMyZmUxYzA4NTYyYmNi
NDNlMTA5YzBmYTYuLmUzODY4MjEwOTYzNTc2ODZmOTkyM2MxY2RlN2UwODExZjc1MzUwZTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29u
bmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dD
bGllbnRDb25uZWN0aW9uLmNwcApAQCAtMTEwLDYgKzExMCwxMiBAQCB2b2lkIFdlYlNXQ2xpZW50
Q29ubmVjdGlvbjo6ZGlkTWF0Y2hSZWdpc3RyYXRpb24odWludDY0X3QgbWF0Y2hpbmdSZXF1ZXN0
LCBzdGQ6OgogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKHJlc3VsdCkpOwogfQog
Cit2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6ZGlkR2V0UmVnaXN0cmF0aW9ucyh1aW50NjRf
dCBtYXRjaGluZ1JlcXVlc3QsIFZlY3RvcjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YT4m
JiByZWdpc3RyYXRpb25zKQoreworICAgIGlmIChhdXRvIGNvbXBsZXRpb25IYW5kbGVyID0gbV9v
bmdvaW5nR2V0UmVnaXN0cmF0aW9uc1Rhc2tzLnRha2UobWF0Y2hpbmdSZXF1ZXN0KSkKKyAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShyZWdpc3RyYXRpb25zKSk7Cit9CisKIHZvaWQg
V2ViU1dDbGllbnRDb25uZWN0aW9uOjptYXRjaFJlZ2lzdHJhdGlvbihjb25zdCBTZWN1cml0eU9y
aWdpbiYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCwgUmVnaXN0cmF0aW9uQ2FsbGJh
Y2smJiBjYWxsYmFjaykKIHsKICAgICBpZiAoIWhhc1NlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9y
T3JpZ2luKHRvcE9yaWdpbikpIHsKQEAgLTEyMiw2ICsxMjgsMTggQEAgdm9pZCBXZWJTV0NsaWVu
dENvbm5lY3Rpb246Om1hdGNoUmVnaXN0cmF0aW9uKGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BP
cmlnaW4sIGMKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZlckNvbm5lY3Rpb246Ok1hdGNo
UmVnaXN0cmF0aW9uKHJlcXVlc3RJZGVudGlmaWVyLCBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21T
ZWN1cml0eU9yaWdpbih0b3BPcmlnaW4pLCBjbGllbnRVUkwpKTsKIH0KIAordm9pZCBXZWJTV0Ns
aWVudENvbm5lY3Rpb246OmdldFJlZ2lzdHJhdGlvbnMoY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRv
cE9yaWdpbiwgY29uc3QgVVJMJiBjbGllbnRVUkwsIEdldFJlZ2lzdHJhdGlvbnNDYWxsYmFjayYm
IGNhbGxiYWNrKQoreworICAgIGlmICghaGFzU2VydmljZVdvcmtlclJlZ2lzdGVyZWRGb3JPcmln
aW4odG9wT3JpZ2luKSkgeworICAgICAgICBjYWxsYmFjayh7IH0pOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgdWludDY0X3QgcmVxdWVzdElkZW50aWZpZXIgPSArK21fcHJldmlvdXNH
ZXRSZWdpc3RyYXRpb25zVGFza0lkZW50aWZpZXI7CisgICAgbV9vbmdvaW5nR2V0UmVnaXN0cmF0
aW9uc1Rhc2tzLmFkZChyZXF1ZXN0SWRlbnRpZmllciwgV1RGTW92ZShjYWxsYmFjaykpOworICAg
IHNlbmQoTWVzc2FnZXM6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6R2V0UmVnaXN0cmF0aW9ucyhy
ZXF1ZXN0SWRlbnRpZmllciwgU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tU2VjdXJpdHlPcmlnaW4o
dG9wT3JpZ2luKSwgY2xpZW50VVJMKSk7Cit9CisKIFJlZjxTZXJ2aWNlV29ya2VyQ2xpZW50RmV0
Y2g+IFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6c3RhcnRGZXRjaChXZWJTZXJ2aWNlV29ya2VyUHJv
dmlkZXImIHByb3ZpZGVyLCBSZWY8V2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI+JiYgbG9hZGVyLCB1
aW50NjRfdCBpZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2g6OkNhbGxiYWNrJiYg
Y2FsbGJhY2spCiB7CiAgICAgQVNTRVJUKGxvYWRlci0+b3B0aW9ucygpLnNlcnZpY2VXb3JrZXJz
TW9kZSAhPSBTZXJ2aWNlV29ya2Vyc01vZGU6Ok5vbmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmggYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaAppbmRleCA1
MTJhMWQxYWJjY2NkODcyYTQ5NDNiYjQ0MWVjMzZlOGY4NDIxNDUwLi40MzZjZjhmM2NiYTg3OWE3
YWUwNTdiMjYwMjlhYjc1Yjc0YjA2OGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaApAQCAtNzIsNiArNzIs
OSBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBtYXRjaFJlZ2lzdHJhdGlvbihjb25zdCBXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBjb25zdCBXZWJDb3JlOjpVUkwmIGNsaWVudFVS
TCwgUmVnaXN0cmF0aW9uQ2FsbGJhY2smJikgZmluYWw7CiAgICAgdm9pZCBkaWRNYXRjaFJlZ2lz
dHJhdGlvbih1aW50NjRfdCBtYXRjaFJlcXVlc3RJZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhPiYmKTsKKyAgICB2b2lkIGRpZEdl
dFJlZ2lzdHJhdGlvbnModWludDY0X3QgbWF0Y2hSZXF1ZXN0SWRlbnRpZmllciwgVmVjdG9yPFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhPiYmKTsKKworICAgIHZvaWQgZ2V0
UmVnaXN0cmF0aW9ucyhjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBj
b25zdCBXZWJDb3JlOjpVUkwmIGNsaWVudFVSTCwgR2V0UmVnaXN0cmF0aW9uc0NhbGxiYWNrJiYp
IGZpbmFsOwogCiAgICAgdm9pZCBkaWRSZXNvbHZlUmVnaXN0cmF0aW9uUHJvbWlzZShjb25zdCBX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JikgZmluYWw7CiAKQEAgLTkxLDYg
Kzk0LDkgQEAgcHJpdmF0ZToKICAgICB1aW50NjRfdCBtX3ByZXZpb3VzTWF0Y2hSZWdpc3RyYXRp
b25UYXNrSWRlbnRpZmllciB7IDAgfTsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWdpc3RyYXRp
b25DYWxsYmFjaz4gbV9vbmdvaW5nTWF0Y2hSZWdpc3RyYXRpb25UYXNrczsKIAorICAgIHVpbnQ2
NF90IG1fcHJldmlvdXNHZXRSZWdpc3RyYXRpb25zVGFza0lkZW50aWZpZXIgeyAwIH07CisgICAg
SGFzaE1hcDx1aW50NjRfdCwgR2V0UmVnaXN0cmF0aW9uc0NhbGxiYWNrPiBtX29uZ29pbmdHZXRS
ZWdpc3RyYXRpb25zVGFza3M7CisKIH07IC8vIGNsYXNzIFdlYlNXU2VydmVyQ29ubmVjdGlvbgog
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5p
bgppbmRleCA0ZmMyZGYzNDU4YTllMjI0YTUyZDEwZDcwOWIyZjBjOWU2MzJiOTkyLi4zZWIwM2Y5
MDYwZDY1ZjE3OWM3OWNhMTBmNDdhYjc1ZmMxMGY0ZTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24ubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0
aW9uLm1lc3NhZ2VzLmluCkBAIC0zNiw2ICszNiw3IEBAIG1lc3NhZ2VzIC0+IFdlYlNXQ2xpZW50
Q29ubmVjdGlvbiB7CiAgICAgUG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQodWludDY0
X3QgZGVzdGluYXRpb25TY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgSVBDOjpEYXRh
UmVmZXJlbmNlIG1lc3NhZ2UsIHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyRGF0YSBzb3Vy
Y2UsIFN0cmluZyBzb3VyY2VPcmlnaW4pCiAKICAgICBEaWRNYXRjaFJlZ2lzdHJhdGlvbih1aW50
NjRfdCBtYXRjaFJlcXVlc3RJZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhPiBkYXRhKQorICAgIERpZEdldFJlZ2lzdHJhdGlvbnMo
dWludDY0X3QgbWF0Y2hSZXF1ZXN0SWRlbnRpZmllciwgVmVjdG9yPFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25EYXRhPiByZWdpc3RyYXRpb25zKQogfQogCiAjZW5kaWYgLy8gRU5B
QkxFKFNFUlZJQ0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYjQ0
YTFiZjY5NWY3ZjIzODljYmFiYmZjMjlmZDJlZWZjMzNhYjk1ZS4uMWZhYjY3YjdmOGQwYWZjYzc4
MjYyOTZiZWRlMjRiNmMxZjZjOWUzYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTctMTEtMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KKworICAgICAgICBbU2VydmljZSBXb3JrZXJzXSBJbXBsZW1lbnQgY29udGFpbmVyLmdldFJl
Z2lzdHJhdGlvbnMoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc5NjcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmViYXNlbGluZSB0ZXN0IG5vdyB0aGF0IG1vcmUgY2hlY2tzIGFyZSBwYXNzaW5nLgor
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9nZXRyZWdpc3RyYXRpb25zLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAxNy0xMS0xNCAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJl
YmFzZWxpbmUgc2tpcHBlZCAvIGZsYWt5IHNlcnZpY2Ugd29ya2VyIHRlc3RzCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9nZXRyZWdpc3RyYXRpb25zLmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2dldHJlZ2lzdHJhdGlvbnMuaHR0cHMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDI4YzgwYjM5ZWZjOGUzMTMyZDllM2NhMjA1NDYzNjgzZWFhZGNkZjkuLmRmYWU4NTA3YTRh
N2ZkZWM3Y2Q4OGUyNWU4ZGU2ZDZhOTA0NDAxYjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2dldHJlZ2lzdHJhdGlvbnMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2dldHJlZ2lzdHJhdGlvbnMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsOCBA
QAogCiBQQVNTIHJlZ2lzdHJhdGlvbnMgYXJlIG5vdCByZXR1cm5lZCBmb2xsb3dpbmcgdW5yZWdp
c3RlciAKLUZBSUwgUmVnaXN0ZXIgdGhlbiBnZXRSZWdpc3RyYXRpb25zIGFzc2VydF9hcnJheV9l
cXVhbHM6IGdldFJlZ2lzdHJhdGlvbnMgc2hvdWxkIHJlc29sdmUgd2l0aCBhcnJheSBvZiByZWdp
c3RyYXRpb25zLiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgMSBnb3QgMAotRkFJTCBSZWdpc3Rl
ciBtdWx0aXBsZSB0aW1lcyB0aGVuIGdldFJlZ2lzdHJhdGlvbnMgYXNzZXJ0X2FycmF5X2VxdWFs
czogZ2V0UmVnaXN0cmF0aW9ucyBzaG91bGQgcmVzb2x2ZSB3aXRoIGFycmF5IG9mIHJlZ2lzdHJh
dGlvbnMuIGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCAyIGdvdCAwCitQQVNTIFJlZ2lzdGVyIHRo
ZW4gZ2V0UmVnaXN0cmF0aW9ucyAKK1BBU1MgUmVnaXN0ZXIgbXVsdGlwbGUgdGltZXMgdGhlbiBn
ZXRSZWdpc3RyYXRpb25zIAogUEFTUyBSZWdpc3RlciB0aGVuIFVucmVnaXN0ZXIgdGhlbiBnZXRS
ZWdpc3RyYXRpb25zIAogRkFJTCBSZWdpc3RlciB0aGVuIFVucmVnaXN0ZXIgd2l0aCBjb250cm9s
bGVkIGZyYW1lIHRoZW4gZ2V0UmVnaXN0cmF0aW9ucyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
YWN0aXZhdGVkIiBidXQgZ290ICJyZWR1bmRhbnQiCi1GQUlMIGdldFJlZ2lzdHJhdGlvbnMgcHJv
bWlzZSByZXNvbHZlcyBvbmx5IHdpdGggc2FtZSBvcmlnaW4gcmVnaXN0cmF0aW9ucy4gYXNzZXJ0
X2FycmF5X2VxdWFsczogZ2V0UmVnaXN0cmF0aW9ucyBzaG91bGQgb25seSByZXR1cm4gc2FtZSBv
cmlnaW4gcmVnaXN0cmF0aW9ucy4gbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDEgZ290IDAKK1BB
U1MgZ2V0UmVnaXN0cmF0aW9ucyBwcm9taXNlIHJlc29sdmVzIG9ubHkgd2l0aCBzYW1lIG9yaWdp
biByZWdpc3RyYXRpb25zLiAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326923</attachid>
            <date>2017-11-14 14:02:32 -0800</date>
            <delta_ts>2017-11-14 16:04:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179672-20171114140231.patch</filename>
            <type>text/plain</type>
            <size>26740</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0ODQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzliMzg3MWUzMGQxNzdh
YTM2MGVhZDYzNmJjM2QyZTdiYzgwNTc0Ni4uMzg0NzRmZmUxZTg1M2RhYmEwNTdhMjBmZTIyNzQz
YmQ1MzNkZDcyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE3LTExLTE0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1NlcnZpY2UgV29ya2Vyc10g
SW1wbGVtZW50IGNvbnRhaW5lci5nZXRSZWdpc3RyYXRpb25zKCkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTY3MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBjb250YWluZXIuZ2V0UmVn
aXN0cmF0aW9ucygpOgorICAgICAgICAtIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29y
a2VyLyNkb20tc2VydmljZXdvcmtlcmNvbnRhaW5lci1nZXRyZWdpc3RyYXRpb25zCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzLCByZWJhc2VsaW5lZCBleGlzdGluZyB0ZXN0LgorCisgICAgICAgICog
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6Z2V0UmVnaXN0cmF0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OmdldFJlZ2lzdHJhdGlvbnMpOgorICAg
ICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoUmVn
aXN0cmF0aW9uKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRh
aW5lci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246Omdl
dE9yQ3JlYXRlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbi5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uS2V5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25LZXk6OmlzTWF0Y2hpbmcgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbktleTo6b3JpZ2luSXNNYXRjaGluZyBjb25zdCk6CisgICAgICAgICogd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkuaDoKKyAgICAgICAgKiB3
b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oOgorICAgICAgICAqIHdv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dT
ZXJ2ZXI6OmdldFJlZ2lzdHJhdGlvbnMpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2
ZXIvU1dTZXJ2ZXIuaDoKKwogMjAxNy0xMS0xNCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgVXBkYXRlIGNvbW1lbnQgaW4gRmVhdHVyZURlZmluZXMueGNjb25m
aWcgdG8gcmVmbGVjdCBsb2NhdGlvbiBvZiBWaXN1YWwgU3R1ZGlvIHByb3BlcnR5IGZpbGVzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCmluZGV4IDFhYzBkMDI4YjA2M2IxNDgzNDg3NTEwNDJjYjZiODM2MjljMDQxZGYuLjE2MTJm
ZTRiMTY3YmFiODA4NWY3YzAzODA5YWUzNDZjODU4Yzg0OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjAgQEAKKzIwMTctMTEtMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAg
ICAgICBbU2VydmljZSBXb3JrZXJzXSBJbXBsZW1lbnQgY29udGFpbmVyLmdldFJlZ2lzdHJhdGlv
bnMoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc5
NjcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBT
dG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6Z2V0UmVnaXN0cmF0aW9ucyk6
CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5l
Y3Rpb24uaDoKKyAgICAgICAgKiBTdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2Vy
dmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dDbGllbnRD
b25uZWN0aW9uOjpkaWRHZXRSZWdpc3RyYXRpb25zKToKKyAgICAgICAgKFdlYktpdDo6V2ViU1dD
bGllbnRDb25uZWN0aW9uOjpnZXRSZWdpc3RyYXRpb25zKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKwogMjAxNy0xMS0xNCAg
RGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIGNvbW1l
bnQgaW4gRmVhdHVyZURlZmluZXMueGNjb25maWcgdG8gcmVmbGVjdCBsb2NhdGlvbiBvZiBWaXN1
YWwgU3R1ZGlvIHByb3BlcnR5IGZpbGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKaW5kZXggZDIwOGQxMTQy
MjJjZDMwMDczMDZlZGVjZmMzYWIzNDFhMGVjMTMzYi4uOTNjYzQzMDk4NDEwOTgzNGUzMWFlY2U5
M2ZkNjA5MzY0Nzg4YzQxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcApAQCAtMjMwLDE0ICsyMzAsOCBA
QCB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmdldFJlZ2lzdHJhdGlvbihjb25zdCBTdHJp
bmcmIGNsaWVudFVSTCwgUmVmPERlZmVycgogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CiAKLSAgICAgICAgUmVmUHRyPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+IHJlZ2lzdHJhdGlv
biA9IG1fcmVnaXN0cmF0aW9ucy5nZXQocmVzdWx0LT5pZGVudGlmaWVyKTsKLSAgICAgICAgaWYg
KCFyZWdpc3RyYXRpb24pIHsKLSAgICAgICAgICAgIGF1dG8mIGNvbnRleHQgPSAqc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOwotICAgICAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBwcm9iYWJs
eSBub3QgYmUgY29uc3RydWN0aW5nIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gb2JqZWN0cyBo
ZXJlLiBJbnN0ZWFkLCB3ZSBzaG91bGQgbWFrZQotICAgICAgICAgICAgLy8gc3VyZSB0aGF0IFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gb2JqZWN0cyBzdGF5cyBhbGl2ZSBhcyBsb25nIGFzIHRo
ZWlyIFNXU2VydmVyUmVnaXN0cmF0aW9uIG9uIHNlcnZlciBzaWRlLgotICAgICAgICAgICAgcmVn
aXN0cmF0aW9uID0gU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6Y3JlYXRlKGNvbnRleHQsICp0
aGlzLCBXVEZNb3ZlKHJlc3VsdC52YWx1ZSgpKSk7Ci0gICAgICAgIH0KLSAgICAgICAgcHJvbWlz
ZS0+cmVzb2x2ZTxJRExJbnRlcmZhY2U8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4+KHJlZ2lz
dHJhdGlvbi5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICAgICAgYXV0byByZWdpc3RyYXRpb24gPSBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpnZXRPckNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLCAqdGhpcywgV1RGTW92ZShyZXN1bHQudmFsdWUoKSkpOworICAgICAgICBwcm9taXNl
LT5yZXNvbHZlPElETEludGVyZmFjZTxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPj4oV1RGTW92
ZShyZWdpc3RyYXRpb24pKTsKICAgICB9KTsKIH0KIApAQCAtMjU5LDggKzI1MywyOCBAQCB2b2lk
IFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnNjaGVkdWxlVGFza1RvVXBkYXRlUmVnaXN0cmF0aW9u
U3RhdGUoU2VydmljZVdvcmtlcgogCiB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmdldFJl
Z2lzdHJhdGlvbnMoUmVnaXN0cmF0aW9uc1Byb21pc2UmJiBwcm9taXNlKQogewotICAgIC8vIEZJ
WE1FOiBJbXBsZW1lbnQgZ2V0UmVnaXN0cmF0aW9ucyBhbGdvcml0aG0sIGZvciBub3cgcHJldGVu
ZCB0aGVyZSBpcyBubyByZWdpc3RyYXRpb24uCi0gICAgcHJvbWlzZS5yZXNvbHZlKHsgfSk7Cisg
ICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKKyAgICBpZiAoIWNv
bnRleHQpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRl
RXJyb3IgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIW1fc3dDb25uZWN0
aW9uKQorICAgICAgICBtX3N3Q29ubmVjdGlvbiA9ICZTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNp
bmdsZXRvbigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihjb250ZXh0LT5zZXNz
aW9uSUQoKSk7CisKKyAgICByZXR1cm4gbV9zd0Nvbm5lY3Rpb24tPmdldFJlZ2lzdHJhdGlvbnMo
Y29udGV4dC0+dG9wT3JpZ2luKCksIGNvbnRleHQtPnVybCgpLCBbdGhpcywgcGVuZGluZ0FjdGl2
aXR5ID0gbWFrZVBlbmRpbmdBY3Rpdml0eSgqdGhpcyksIHByb21pc2UgPSBXVEZNb3ZlKHByb21p
c2UpXSAoYXV0byYmIHJlZ2lzdHJhdGlvbkRhdGFzKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKG1f
aXNTdG9wcGVkKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIFZlY3RvcjxSZWY8U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbj4+IHJlZ2lzdHJhdGlvbnM7CisgICAgICAgIHJlZ2lzdHJh
dGlvbnMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShyZWdpc3RyYXRpb25EYXRhcy5zaXplKCkpOwor
ICAgICAgICBmb3IgKGF1dG8mIHJlZ2lzdHJhdGlvbkRhdGEgOiByZWdpc3RyYXRpb25EYXRhcykg
eworICAgICAgICAgICAgYXV0byByZWdpc3RyYXRpb24gPSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uOjpnZXRPckNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCAqdGhpcywgV1RGTW92
ZShyZWdpc3RyYXRpb25EYXRhKSk7CisgICAgICAgICAgICByZWdpc3RyYXRpb25zLnVuY2hlY2tl
ZEFwcGVuZChXVEZNb3ZlKHJlZ2lzdHJhdGlvbikpOworICAgICAgICB9CisKKyAgICAgICAgcHJv
bWlzZS5yZXNvbHZlKFdURk1vdmUocmVnaXN0cmF0aW9ucykpOworICAgIH0pOwogfQogCiB2b2lk
IFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnN0YXJ0TWVzc2FnZXMoKQpAQCAtMzA1LDEzICszMTks
MTEgQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JSZXNvbHZlZFdpdGhSZWdpc3Ry
YXRpb24oU2VydmljZVdvcmtlckpvYiYgam9iLAogICAgIH0KIAogICAgIGNvbnRleHQtPnBvc3RU
YXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGpvYiA9IG1ha2VSZWYo
am9iKSwgZGF0YSA9IFdURk1vdmUoZGF0YSksIHByb21pc2VSZXNvbHZlZEhhbmRsZXIgPSBXVEZN
b3ZlKHByb21pc2VSZXNvbHZlZEhhbmRsZXIpXShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250
ZXh0KSBtdXRhYmxlIHsKLSAgICAgICAgUmVmUHRyPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+
IHJlZ2lzdHJhdGlvbiA9IG1fcmVnaXN0cmF0aW9ucy5nZXQoZGF0YS5pZGVudGlmaWVyKTsKLSAg
ICAgICAgaWYgKCFyZWdpc3RyYXRpb24pCi0gICAgICAgICAgICByZWdpc3RyYXRpb24gPSBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpjcmVhdGUoY29udGV4dCwgKnRoaXMsIFdURk1vdmUoZGF0
YSkpOworICAgICAgICBhdXRvIHJlZ2lzdHJhdGlvbiA9IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b246OmdldE9yQ3JlYXRlKGNvbnRleHQsICp0aGlzLCBXVEZNb3ZlKGRhdGEpKTsKIAotICAgICAg
ICBMT0coU2VydmljZVdvcmtlciwgIkNvbnRhaW5lciAlcCByZXNvbHZlZCBqb2Igd2l0aCByZWdp
c3RyYXRpb24gJXAiLCB0aGlzLCByZWdpc3RyYXRpb24uZ2V0KCkpOworICAgICAgICBMT0coU2Vy
dmljZVdvcmtlciwgIkNvbnRhaW5lciAlcCByZXNvbHZlZCBqb2Igd2l0aCByZWdpc3RyYXRpb24g
JXAiLCB0aGlzLCByZWdpc3RyYXRpb24ucHRyKCkpOwogCi0gICAgICAgIGpvYi0+cHJvbWlzZSgp
LnJlc29sdmU8SURMSW50ZXJmYWNlPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+PigqcmVnaXN0
cmF0aW9uKTsKKyAgICAgICAgam9iLT5wcm9taXNlKCkucmVzb2x2ZTxJRExJbnRlcmZhY2U8U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbj4+KFdURk1vdmUocmVnaXN0cmF0aW9uKSk7CiAKICAgICAg
ICAgTWljcm90YXNrUXVldWU6Om1haW5UaHJlYWRRdWV1ZSgpLmFwcGVuZChzdGQ6Om1ha2VfdW5p
cXVlPFZvaWRNaWNyb3Rhc2s+KFtwcm9taXNlUmVzb2x2ZWRIYW5kbGVyID0gV1RGTW92ZShwcm9t
aXNlUmVzb2x2ZWRIYW5kbGVyKV0gewogICAgICAgICAgICAgcHJvbWlzZVJlc29sdmVkSGFuZGxl
cigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDb250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ29udGFpbmVyLmgKaW5kZXggZWI0YWQzYjE4M2FlMjFmOTMzMTIwMzQwMjNlOTViY2Q2
MmE4MDJkZC4uNDFlOTJlOWVjMTU2Y2JiMzBlMTFkZGJiODlmMjZjNTc1ZWRmZjhiMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWlu
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNv
bnRhaW5lci5oCkBAIC03MSw2ICs3MSw4IEBAIHB1YmxpYzoKICAgICB1c2luZyBSZWdpc3RyYXRp
b25zUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4+PjsKICAgICB2b2lkIGdldFJlZ2lzdHJhdGlvbnMo
UmVnaXN0cmF0aW9uc1Byb21pc2UmJik7CiAKKyAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
KiByZWdpc3RyYXRpb24oU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgaWRlbnRp
ZmllcikgY29uc3QgeyByZXR1cm4gbV9yZWdpc3RyYXRpb25zLmdldChpZGVudGlmaWVyKTsgfQor
CiAgICAgdm9pZCBhZGRSZWdpc3RyYXRpb24oU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiYpOwog
ICAgIHZvaWQgcmVtb3ZlUmVnaXN0cmF0aW9uKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24mKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCmluZGV4IDgwZGU5MjVkMDExNzFhYjc5MjY3NzgxODAz
MDY3NGQyNTU4Yzc3YmMuLmNkZjE3NTk1MmNkYjAzNTJhMjEwMGJjYjhjMzJmOWJkMTc2NmEyMzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAKQEAgLTM3LDYgKzM3LDE0IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorUmVmPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+IFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb246OmdldE9yQ3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIFJlZjxTZXJ2aWNlV29ya2VyQ29udGFpbmVyPiYmIGNvbnRhaW5lciwgU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkRhdGEmJiBkYXRhKQoreworICAgIGlmIChhdXRvKiByZWdpc3RyYXRpb24g
PSBjb250YWluZXItPnJlZ2lzdHJhdGlvbihkYXRhLmlkZW50aWZpZXIpKQorICAgICAgICByZXR1
cm4gKnJlZ2lzdHJhdGlvbjsKKworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24oY29udGV4dCwgV1RGTW92ZShjb250YWluZXIpLCBXVEZNb3ZlKGRhdGEp
KSk7Cit9CisKIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OlNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgUmVmPFNlcnZpY2VXb3JrZXJD
b250YWluZXI+JiYgY29udGFpbmVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmIHJl
Z2lzdHJhdGlvbkRhdGEpCiAgICAgOiBBY3RpdmVET01PYmplY3QoJmNvbnRleHQpCiAgICAgLCBt
X3JlZ2lzdHJhdGlvbkRhdGEoV1RGTW92ZShyZWdpc3RyYXRpb25EYXRhKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbi5oCmluZGV4IDA4NGZlODMxNjcxNGQ0ZjdhZjI4OTU5NzkyMWFlMjA2YmY1MzhmYmEuLjYy
Yjk3ZmUyMjVlMzY3MmFmM2Q3Njg1MmRkNjVjOTViNWM5OWZlYTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24uaApAQCAtNDEsMTAgKzQxLDcgQEAgY2xhc3MgU2VydmljZVdvcmtlckNvbnRhaW5lcjsKIAog
Y2xhc3MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVk
PFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5l
RGF0YSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6Ci0gICAgdGVtcGxhdGUgPHR5
cGVuYW1lLi4uIEFyZ3M+IHN0YXRpYyBSZWY8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4gY3Jl
YXRlKEFyZ3MmJi4uLiBhcmdzKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihzdGQ6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pKTsK
LSAgICB9CisgICAgc3RhdGljIFJlZjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPiBnZXRPckNy
ZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPFNlcnZpY2VXb3JrZXJDb250YWluZXI+
JiYsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYpOwogCiAgICAgflNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24oKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkuY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkuY3BwCmluZGV4IDQ0
MDcyOWI4M2NkYzY1ZDgwYjk1N2I4M2FhNGNkMmM3OTc4NTEwMDQuLjQ3OTNhYTAyZjgzZjk3ZjEx
NmU2ZTUxMGZjYWRkNDM0NDIyM2NkYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleS5jcHAK
QEAgLTY3LDEzICs2NywxNSBAQCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5IFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25LZXk6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiAKIGJvb2wgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbktleTo6aXNNYXRjaGluZyhjb25zdCBTZWN1cml0eU9yaWdpbkRh
dGEmIHRvcE9yaWdpbiwgY29uc3QgVVJMJiBjbGllbnRVUkwpIGNvbnN0CiB7Ci0gICAgaWYgKHRv
cE9yaWdpbiAhPSBtX3RvcE9yaWdpbikKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVy
biBvcmlnaW5Jc01hdGNoaW5nKHRvcE9yaWdpbiwgY2xpZW50VVJMKSAmJiBjbGllbnRVUkwuc3Ry
aW5nKCkuc3RhcnRzV2l0aChtX3Njb3BlKTsKK30KIAotICAgIGlmICghcHJvdG9jb2xIb3N0QW5k
UG9ydEFyZUVxdWFsKGNsaWVudFVSTCwgbV9zY29wZSkpCitib29sIFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25LZXk6Om9yaWdpbklzTWF0Y2hpbmcoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiB0
b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMKSBjb25zdAoreworICAgIGlmICh0b3BPcmln
aW4gIT0gbV90b3BPcmlnaW4pCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJldHVybiBj
bGllbnRVUkwuc3RyaW5nKCkuc3RhcnRzV2l0aChtX3Njb3BlKTsKKyAgICByZXR1cm4gcHJvdG9j
b2xIb3N0QW5kUG9ydEFyZUVxdWFsKGNsaWVudFVSTCwgbV9zY29wZSk7CiB9CiAKICNpZm5kZWYg
TkRFQlVHCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbktleS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkuaAppbmRleCAwYmYyY2JkMTViN2VjMzVhZjhh
NzllNzZlZGVlODkyMmRlYTcxY2MzLi44MWIwMWJjOGRhOTEzZDgwN2NkODdjZmQ0ZTRkOTFkMDQ0
YTY4MDgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbktleS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5LmgKQEAgLTQyLDYgKzQyLDcgQEAgcHVi
bGljOgogCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25LZXkmKSBjb25zdDsKICAgICBib29sIGlzTWF0Y2hpbmcoY29uc3QgU2VjdXJpdHlPcmlnaW5E
YXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMKSBjb25zdDsKKyAgICBib29sIG9y
aWdpbklzTWF0Y2hpbmcoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0
IFVSTCYgY2xpZW50VVJMKSBjb25zdDsKICAgICBzaXplX3Qgc2NvcGVMZW5ndGgoKSBjb25zdCB7
IHJldHVybiBtX3Njb3BlLnN0cmluZygpLmxlbmd0aCgpOyB9CiAKICAgICBjb25zdCBTZWN1cml0
eU9yaWdpbkRhdGEmIHRvcE9yaWdpbigpIGNvbnN0IHsgcmV0dXJuIG1fdG9wT3JpZ2luOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50
Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0Ns
aWVudENvbm5lY3Rpb24uaAppbmRleCA2OGMzZDI2M2IyN2FkNTc3NzRlNzUxM2U2M2VmMDliODMz
OWM4MWNkLi44Zjc3NDVlZDU3NDFlMTI5ZDEwNzhhY2QxZTAxN2IxMjJhNGVmNmVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVj
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGll
bnRDb25uZWN0aW9uLmgKQEAgLTU1LDYgKzU1LDkgQEAgcHVibGljOgogICAgIHVzaW5nIFJlZ2lz
dHJhdGlvbkNhbGxiYWNrID0gV1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9u
YWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+JiYpPjsKICAgICB2aXJ0dWFsIHZvaWQg
bWF0Y2hSZWdpc3RyYXRpb24oY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgY29uc3Qg
VVJMJiBjbGllbnRVUkwsIFJlZ2lzdHJhdGlvbkNhbGxiYWNrJiYpID0gMDsKIAorICAgIHVzaW5n
IEdldFJlZ2lzdHJhdGlvbnNDYWxsYmFjayA9IFdURjo6Q29tcGxldGlvbkhhbmRsZXI8dm9pZChW
ZWN0b3I8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+JiYpPjsKKyAgICB2aXJ0dWFsIHZv
aWQgZ2V0UmVnaXN0cmF0aW9ucyhjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBjb25z
dCBVUkwmIGNsaWVudFVSTCwgR2V0UmVnaXN0cmF0aW9uc0NhbGxiYWNrJiYpID0gMDsKKwogICAg
IHZpcnR1YWwgdm9pZCBhZGRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoY29uc3Qg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25J
ZGVudGlmaWVyKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZVNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25JblNlcnZlcihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpID0gMDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcAppbmRleCA4Zjg0NWE4
Y2Y5NDAyOWIzNTBmNmI5OTRkMmE0Mzg5MWEzMTU0M2U0Li44NjE5NjAyODY3YzNkMjQxOGJlMWVk
Mzk2NzUzM2IxZTVmMDc2YzAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcApAQCAtMTA5LDYgKzEwOSwyNCBAQCB2b2lkIFNXU2Vy
dmVyOjpyZW1vdmVSZWdpc3RyYXRpb24oY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktl
eSYga2V5KQogICAgIG1fb3JpZ2luU3RvcmUtPnJlbW92ZSh0b3BPcmlnaW4pOwogfQogCitWZWN0
b3I8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+IFNXU2VydmVyOjpnZXRSZWdpc3RyYXRp
b25zKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVu
dFVSTCkKK3sKKyAgICBWZWN0b3I8U1dTZXJ2ZXJSZWdpc3RyYXRpb24qPiBtYXRjaGluZ1JlZ2lz
dHJhdGlvbnM7CisgICAgZm9yIChhdXRvJiBpdGVtIDogbV9yZWdpc3RyYXRpb25zKSB7CisgICAg
ICAgIGlmICghaXRlbS52YWx1ZS0+aXNVbmluc3RhbGxpbmcoKSAmJiBpdGVtLmtleS5vcmlnaW5J
c01hdGNoaW5nKHRvcE9yaWdpbiwgY2xpZW50VVJMKSkKKyAgICAgICAgICAgIG1hdGNoaW5nUmVn
aXN0cmF0aW9ucy5hcHBlbmQoaXRlbS52YWx1ZS5nZXQoKSk7CisgICAgfQorICAgIC8vIFRoZSBz
cGVjaWZpY2F0aW9uIG1hbmRhdGVzIHRoYXQgcmVnaXN0cmF0aW9ucyBhcmUgcmV0dXJuZWQgaW4g
dGhlIGluc2VydGlvbiBvcmRlci4KKyAgICBzdGQ6OnNvcnQobWF0Y2hpbmdSZWdpc3RyYXRpb25z
LmJlZ2luKCksIG1hdGNoaW5nUmVnaXN0cmF0aW9ucy5lbmQoKSwgW10oYXV0byYgYSwgYXV0byYg
YikgeworICAgICAgICByZXR1cm4gYS0+Y3JlYXRpb25UaW1lKCkgPCBiLT5jcmVhdGlvblRpbWUo
KTsKKyAgICB9KTsKKyAgICBWZWN0b3I8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+IG1h
dGNoaW5nUmVnaXN0cmF0aW9uRGF0YXM7CisgICAgbWF0Y2hpbmdSZWdpc3RyYXRpb25EYXRhcy5y
ZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1hdGNoaW5nUmVnaXN0cmF0aW9ucy5zaXplKCkpOworICAg
IGZvciAoYXV0byogcmVnaXN0cmF0aW9uIDogbWF0Y2hpbmdSZWdpc3RyYXRpb25zKQorICAgICAg
ICBtYXRjaGluZ1JlZ2lzdHJhdGlvbkRhdGFzLnVuY2hlY2tlZEFwcGVuZChyZWdpc3RyYXRpb24t
PmRhdGEoKSk7CisgICAgcmV0dXJuIG1hdGNoaW5nUmVnaXN0cmF0aW9uRGF0YXM7Cit9CisKIHZv
aWQgU1dTZXJ2ZXI6OmNsZWFyQWxsKCkKIHsKICAgICBtX2pvYlF1ZXVlcy5jbGVhcigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCmluZGV4
IDMwYjEyY2FmN2ZiMzYwNmZiY2Y0ZDgwNWM3ZjdkZDJkOTdkYjljNTAuLjQ3YzlhYjU1ZTg2MWU2
NjNjMjVjNDNiOWU2YjI2YjRmY2M5NDIwOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKQEAgLTEwMCw2ICsxMDAsNyBAQCBwdWJsaWM6
CiAgICAgU1dTZXJ2ZXJSZWdpc3RyYXRpb24qIGdldFJlZ2lzdHJhdGlvbihjb25zdCBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uS2V5Jik7CiAgICAgdm9pZCBhZGRSZWdpc3RyYXRpb24oc3RkOjp1
bmlxdWVfcHRyPFNXU2VydmVyUmVnaXN0cmF0aW9uPiYmKTsKICAgICB2b2lkIHJlbW92ZVJlZ2lz
dHJhdGlvbihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5Jik7CisgICAgV0VCQ09S
RV9FWFBPUlQgVmVjdG9yPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhPiBnZXRSZWdpc3Ry
YXRpb25zKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNs
aWVudFVSTCk7CiAKICAgICB2b2lkIHNjaGVkdWxlSm9iKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JE
YXRhJik7CiAgICAgdm9pZCByZWplY3RKb2IoY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGEmLCBj
b25zdCBFeGNlcHRpb25EYXRhJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3BwCmluZGV4IGQ2
ZTE0YjQwNTQ2ZWI5NGNlMWU0MzE1ZDc5ZDYzYWIzNjliNDVjYTIuLjBjMTVhY2U0NzdlNTIxOTAx
MzUxODFiZjA4Yzk0Nzc0M2FhNzkxMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3BwCkBA
IC00Nyw2ICs0Nyw3IEBAIFNXU2VydmVyUmVnaXN0cmF0aW9uOjpTV1NlcnZlclJlZ2lzdHJhdGlv
bihTV1NlcnZlciYgc2VydmVyLCBjb25zdCBTZXJ2aWNlV29ya2VyCiAgICAgLCBtX3Njb3BlVVJM
KHNjb3BlVVJMKQogICAgICwgbV9zY3JpcHRVUkwoc2NyaXB0VVJMKQogICAgICwgbV9zZXJ2ZXIo
c2VydmVyKQorICAgICwgbV9jcmVhdGlvblRpbWUoTW9ub3RvbmljVGltZTo6bm93KCkpCiB7CiAg
ICAgbV9zY29wZVVSTC5yZW1vdmVGcmFnbWVudElkZW50aWZpZXIoKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdp
c3RyYXRpb24uaAppbmRleCBhNTRjZmE1ZTQyZjg2NDkyYWY5MzJlOGEzMTYzYzE3YmIxZTMyMWU3
Li5mZTBlNjVhYjNlNGVlYjJmNTM5NDZjYTAzMjAzYmJkZmU3NGE2Mjc4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJl
Z2lzdHJhdGlvbi5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkRhdGEuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyVHlwZXMuaCIKICNpbmNs
dWRlIDx3dGYvSGFzaENvdW50ZWRTZXQuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTY5LDYgKzcwLDggQEAgcHVibGljOgogICAg
IFNXU2VydmVyV29ya2VyKiB3YWl0aW5nV29ya2VyKCkgY29uc3QgeyByZXR1cm4gbV93YWl0aW5n
V29ya2VyLmdldCgpOyB9CiAgICAgU1dTZXJ2ZXJXb3JrZXIqIGFjdGl2ZVdvcmtlcigpIGNvbnN0
IHsgcmV0dXJuIG1fYWN0aXZlV29ya2VyLmdldCgpOyB9CiAKKyAgICBNb25vdG9uaWNUaW1lIGNy
ZWF0aW9uVGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fY3JlYXRpb25UaW1lOyB9CisKIHByaXZhdGU6
CiAgICAgdm9pZCBmb3JFYWNoQ29ubmVjdGlvbihjb25zdCBXVEY6OkZ1bmN0aW9uPHZvaWQoU1dT
ZXJ2ZXI6OkNvbm5lY3Rpb24mKT4mKTsKIApAQCAtODcsNiArOTAsOCBAQCBwcml2YXRlOgogICAg
IAogICAgIEhhc2hDb3VudGVkU2V0PHVpbnQ2NF90PiBtX2Nvbm5lY3Rpb25zV2l0aENsaWVudFJl
Z2lzdHJhdGlvbnM7CiAgICAgU1dTZXJ2ZXImIG1fc2VydmVyOworCisgICAgTW9ub3RvbmljVGlt
ZSBtX2NyZWF0aW9uVGltZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZl
ckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29y
a2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKaW5kZXggMGMyNGExMjQxNmI3NDQ0ZmFkMjA3
MGIwYTYwMTljYjM4YTU4MmFhYS4uMzg1YTEwMjk1NWY3YjY2N2EyOGRjZGE1NDhlNDlmNzcxNWQ4
YzAxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29y
a2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdl
UHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKQEAgLTE2MCw2
ICsxNjAsMTIgQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246Om1hdGNoUmVnaXN0cmF0aW9u
KHVpbnQ2NF90IHJlZ2lzdHJhdGlvbk1hdGNoUmVxdWVzdEkKICAgICBzZW5kKE1lc3NhZ2VzOjpX
ZWJTV0NsaWVudENvbm5lY3Rpb246OkRpZE1hdGNoUmVnaXN0cmF0aW9uIHsgcmVnaXN0cmF0aW9u
TWF0Y2hSZXF1ZXN0SWRlbnRpZmllciwgc3RkOjpudWxsb3B0IH0pOwogfQogCit2b2lkIFdlYlNX
U2VydmVyQ29ubmVjdGlvbjo6Z2V0UmVnaXN0cmF0aW9ucyh1aW50NjRfdCByZWdpc3RyYXRpb25N
YXRjaFJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdp
biwgY29uc3QgVVJMJiBjbGllbnRVUkwpCit7CisgICAgYXV0byByZWdpc3RyYXRpb25zID0gc2Vy
dmVyKCkuZ2V0UmVnaXN0cmF0aW9ucyh0b3BPcmlnaW4sIGNsaWVudFVSTCk7CisgICAgc2VuZChN
ZXNzYWdlczo6V2ViU1dDbGllbnRDb25uZWN0aW9uOjpEaWRHZXRSZWdpc3RyYXRpb25zIHsgcmVn
aXN0cmF0aW9uTWF0Y2hSZXF1ZXN0SWRlbnRpZmllciwgcmVnaXN0cmF0aW9ucyB9KTsKK30KKwog
dGVtcGxhdGU8dHlwZW5hbWUgVT4gdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnNlbmRUb0Nv
bnRleHRQcm9jZXNzKFUmJiBtZXNzYWdlKQogewogICAgIGlmIChhdXRvKiBjb25uZWN0aW9uID0g
U3RvcmFnZVByb2Nlc3M6OnNpbmdsZXRvbigpLmdsb2JhbFNlcnZlclRvQ29udGV4dENvbm5lY3Rp
b24oKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdv
cmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nl
c3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaAppbmRleCAzZjRjYTViM2M4
MmU2NDViMzZkYWI5ODM0ZmIyMWRkMzdlMTNjMTNjLi5mODRmMzc1YmQ5OGRjMTE4MWE1NDM1N2Zi
ZTE1MjAyNzkxNWJmZWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNz
L1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktp
dC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCkBA
IC03Miw3ICs3Miw4IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNl
V29ya2VyR2xvYmFsU2NvcGUoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGlu
YXRpb25JZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIG1lc3NhZ2UsIHVpbnQ2
NF90IHNvdXJjZVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IHNvdXJjZU9yaWdpbik7CiAKLSAgICB2b2lkIG1hdGNoUmVnaXN0cmF0aW9uKHVpbnQ2NF90IHJl
Z2lzdHJhdGlvbk1hdGNoUmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luRGF0YSYsIGNvbnN0IFdlYkNvcmU6OlVSTCYgY2xpZW50VVJMKTsKKyAgICB2b2lkIG1h
dGNoUmVnaXN0cmF0aW9uKHVpbnQ2NF90IHJlZ2lzdHJhdGlvbk1hdGNoUmVxdWVzdElkZW50aWZp
ZXIsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBX
ZWJDb3JlOjpVUkwmIGNsaWVudFVSTCk7CisgICAgdm9pZCBnZXRSZWdpc3RyYXRpb25zKHVpbnQ2
NF90IHJlZ2lzdHJhdGlvbk1hdGNoUmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlNl
Y3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBXZWJDb3JlOjpVUkwmIGNsaWVudFVS
TCk7CiAKICAgICBJUEM6OkNvbm5lY3Rpb24qIG1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkgZmlu
YWwgeyByZXR1cm4gbV9jb250ZW50Q29ubmVjdGlvbi5wdHIoKTsgfQogICAgIHVpbnQ2NF90IG1l
c3NhZ2VTZW5kZXJEZXN0aW5hdGlvbklEKCkgZmluYWwgeyByZXR1cm4gaWRlbnRpZmllcigpOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIv
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9TdG9yYWdl
UHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgpp
bmRleCA0MmMzZmM2YjJiNTkzMmMzN2I4MDBiMmEyN2I3MGYzYWNiZjM4NTZiLi5lYzQ0YzA4NzQ5
N2RhZWI4OGI5YjNkNTQ5OTI3NTY2NGNmMTg1NmRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9X
ZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTM1LDYgKzM1LDcgQEAgbWVzc2Fn
ZXMgLT4gV2ViU1dTZXJ2ZXJDb25uZWN0aW9uIHsKICAgICBEaWRSZXNvbHZlUmVnaXN0cmF0aW9u
UHJvbWlzZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5IGtleSkKIAogICAg
IE1hdGNoUmVnaXN0cmF0aW9uKHVpbnQ2NF90IHNlcnZpY2VSZWdpc3RyYXRpb25NYXRjaFJlcXVl
c3RJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIHRvcE9yaWdp
biwgV2ViQ29yZTo6VVJMIGNsaWVudFVSTCkKKyAgICBHZXRSZWdpc3RyYXRpb25zKHVpbnQ2NF90
IHNlcnZpY2VSZWdpc3RyYXRpb25NYXRjaFJlcXVlc3RJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW5EYXRhIHRvcE9yaWdpbiwgV2ViQ29yZTo6VVJMIGNsaWVudFVSTCkK
IH0KIAogI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3Bw
CmluZGV4IDZiOWVlMmE4MDNjMTA5MWQ3NzFhZGFlMGI0MzYyMTlkMGE3ODVhZmIuLjg3YTI3ODg3
ZDcxM2VjMjBkZTdmYmQzMzIzYTNiYTZhNmQwZDE5YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcApA
QCAtMTE4LDYgKzExOCwxMiBAQCB2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6ZGlkTWF0Y2hS
ZWdpc3RyYXRpb24odWludDY0X3QgbWF0Y2hpbmdSZXF1ZXN0LCBzdGQ6OgogICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcihXVEZNb3ZlKHJlc3VsdCkpOwogfQogCit2b2lkIFdlYlNXQ2xpZW50Q29u
bmVjdGlvbjo6ZGlkR2V0UmVnaXN0cmF0aW9ucyh1aW50NjRfdCBtYXRjaGluZ1JlcXVlc3QsIFZl
Y3RvcjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YT4mJiByZWdpc3RyYXRpb25zKQorewor
ICAgIGlmIChhdXRvIGNvbXBsZXRpb25IYW5kbGVyID0gbV9vbmdvaW5nR2V0UmVnaXN0cmF0aW9u
c1Rhc2tzLnRha2UobWF0Y2hpbmdSZXF1ZXN0KSkKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIo
V1RGTW92ZShyZWdpc3RyYXRpb25zKSk7Cit9CisKIHZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9u
OjptYXRjaFJlZ2lzdHJhdGlvbihjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBjb25z
dCBVUkwmIGNsaWVudFVSTCwgUmVnaXN0cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykKIHsKICAg
ICBpZiAoIW1heUhhdmVTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9yaWdpbih0b3BPcmlnaW4p
KSB7CkBAIC0xMzAsNiArMTM2LDE4IEBAIHZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjptYXRj
aFJlZ2lzdHJhdGlvbihjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBjCiAgICAgc2Vu
ZChNZXNzYWdlczo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpNYXRjaFJlZ2lzdHJhdGlvbihyZXF1
ZXN0SWRlbnRpZmllciwgU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tU2VjdXJpdHlPcmlnaW4odG9w
T3JpZ2luKSwgY2xpZW50VVJMKSk7CiB9CiAKK3ZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpn
ZXRSZWdpc3RyYXRpb25zKGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIGNvbnN0IFVS
TCYgY2xpZW50VVJMLCBHZXRSZWdpc3RyYXRpb25zQ2FsbGJhY2smJiBjYWxsYmFjaykKK3sKKyAg
ICBpZiAoIW1heUhhdmVTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9yaWdpbih0b3BPcmlnaW4p
KSB7CisgICAgICAgIGNhbGxiYWNrKHsgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICB1aW50NjRfdCByZXF1ZXN0SWRlbnRpZmllciA9ICsrbV9wcmV2aW91c0dldFJlZ2lzdHJhdGlv
bnNUYXNrSWRlbnRpZmllcjsKKyAgICBtX29uZ29pbmdHZXRSZWdpc3RyYXRpb25zVGFza3MuYWRk
KHJlcXVlc3RJZGVudGlmaWVyLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgc2VuZChNZXNzYWdl
czo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpHZXRSZWdpc3RyYXRpb25zKHJlcXVlc3RJZGVudGlm
aWVyLCBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21TZWN1cml0eU9yaWdpbih0b3BPcmlnaW4pLCBj
bGllbnRVUkwpKTsKK30KKwogUmVmPFNlcnZpY2VXb3JrZXJDbGllbnRGZXRjaD4gV2ViU1dDbGll
bnRDb25uZWN0aW9uOjpzdGFydEZldGNoKFdlYlNlcnZpY2VXb3JrZXJQcm92aWRlciYgcHJvdmlk
ZXIsIFJlZjxXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcj4mJiBsb2FkZXIsIHVpbnQ2NF90IGlkZW50
aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnRGZXRjaDo6Q2FsbGJhY2smJiBjYWxsYmFjaykKIHsK
ICAgICBBU1NFUlQobG9hZGVyLT5vcHRpb25zKCkuc2VydmljZVdvcmtlcnNNb2RlICE9IFNlcnZp
Y2VXb3JrZXJzTW9kZTo6Tm9uZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCmluZGV4IDhhYTEzMjAzY2QyNGJl
YmEwZGRkNzVkYmUyYTg5OWI4YjE5ODhhZGEuLjYwMjBmMDYxNWQ5ZTc0ZTNmOTA0MjZhZDc4OWEw
OThkNjU5MDJlMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCkBAIC03Miw2ICs3Miw5IEBAIHByaXZhdGU6
CiAKICAgICB2b2lkIG1hdGNoUmVnaXN0cmF0aW9uKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3Jp
Z2luJiB0b3BPcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlVSTCYgY2xpZW50VVJMLCBSZWdpc3RyYXRp
b25DYWxsYmFjayYmKSBmaW5hbDsKICAgICB2b2lkIGRpZE1hdGNoUmVnaXN0cmF0aW9uKHVpbnQ2
NF90IG1hdGNoUmVxdWVzdElkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+JiYpOworICAgIHZvaWQgZGlkR2V0UmVnaXN0cmF0aW9u
cyh1aW50NjRfdCBtYXRjaFJlcXVlc3RJZGVudGlmaWVyLCBWZWN0b3I8V2ViQ29yZTo6U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+JiYpOworCisgICAgdm9pZCBnZXRSZWdpc3RyYXRpb25z
KGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIGNvbnN0IFdlYkNvcmU6
OlVSTCYgY2xpZW50VVJMLCBHZXRSZWdpc3RyYXRpb25zQ2FsbGJhY2smJikgZmluYWw7CiAKICAg
ICB2b2lkIGRpZFJlc29sdmVSZWdpc3RyYXRpb25Qcm9taXNlKGNvbnN0IFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmKSBmaW5hbDsKIApAQCAtOTIsNiArOTUsOSBAQCBwcml2
YXRlOgogICAgIHVpbnQ2NF90IG1fcHJldmlvdXNNYXRjaFJlZ2lzdHJhdGlvblRhc2tJZGVudGlm
aWVyIHsgMCB9OwogICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZ2lzdHJhdGlvbkNhbGxiYWNrPiBt
X29uZ29pbmdNYXRjaFJlZ2lzdHJhdGlvblRhc2tzOwogCisgICAgdWludDY0X3QgbV9wcmV2aW91
c0dldFJlZ2lzdHJhdGlvbnNUYXNrSWRlbnRpZmllciB7IDAgfTsKKyAgICBIYXNoTWFwPHVpbnQ2
NF90LCBHZXRSZWdpc3RyYXRpb25zQ2FsbGJhY2s+IG1fb25nb2luZ0dldFJlZ2lzdHJhdGlvbnNU
YXNrczsKKwogfTsgLy8gY2xhc3MgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU1dDbGllbnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4IGUxYTUz
ZDZjMmYxMmFkYTMyZjZjODJiMTI2YWYwY2IzMzFhMmVmM2UuLmVmY2Q2NWJlZGI3ZTk1YjRhMjk2
YTA1Y2VhOTk1NTlmNjc4ZDAxNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24ubWVzc2FnZXMu
aW4KQEAgLTM3LDYgKzM3LDcgQEAgbWVzc2FnZXMgLT4gV2ViU1dDbGllbnRDb25uZWN0aW9uIHsK
ICAgICBQb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudCh1aW50NjRfdCBkZXN0aW5hdGlv
blNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBJUEM6OkRhdGFSZWZlcmVuY2UgbWVz
c2FnZSwgc3RydWN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJEYXRhIHNvdXJjZSwgU3RyaW5nIHNv
dXJjZU9yaWdpbikKIAogICAgIERpZE1hdGNoUmVnaXN0cmF0aW9uKHVpbnQ2NF90IG1hdGNoUmVx
dWVzdElkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbkRhdGE+IGRhdGEpCisgICAgRGlkR2V0UmVnaXN0cmF0aW9ucyh1aW50NjRfdCBtYXRj
aFJlcXVlc3RJZGVudGlmaWVyLCBWZWN0b3I8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbkRhdGE+IHJlZ2lzdHJhdGlvbnMpCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBiNDRhMWJmNjk1ZjdmMjM4
OWNiYWJiZmMyOWZkMmVlZmMzM2FiOTVlLi4xZmFiNjdiN2Y4ZDBhZmNjNzgyNjI5NmJlZGUyNGI2
YzFmNmM5ZTNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAxNy0xMS0xNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAg
IFtTZXJ2aWNlIFdvcmtlcnNdIEltcGxlbWVudCBjb250YWluZXIuZ2V0UmVnaXN0cmF0aW9ucygp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk2NzIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWJhc2Vs
aW5lIHRlc3Qgbm93IHRoYXQgbW9yZSBjaGVja3MgYXJlIHBhc3NpbmcuCisKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2dldHJlZ2lz
dHJhdGlvbnMuaHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDE3LTExLTE0ICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmViYXNlbGluZSBza2lw
cGVkIC8gZmxha3kgc2VydmljZSB3b3JrZXIgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2dldHJlZ2lzdHJhdGlvbnMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvZ2V0cmVnaXN0cmF0aW9ucy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMjhjODBiMzll
ZmM4ZTMxMzJkOWUzY2EyMDU0NjM2ODNlYWFkY2RmOS4uZGZhZTg1MDdhNGE3ZmRlYzdjZDg4ZTI1
ZThkZTZkNmE5MDQ0MDFiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZ2V0cmVnaXN0
cmF0aW9ucy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZ2V0cmVn
aXN0cmF0aW9ucy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsOCArMSw4IEBACiAKIFBBU1MgcmVn
aXN0cmF0aW9ucyBhcmUgbm90IHJldHVybmVkIGZvbGxvd2luZyB1bnJlZ2lzdGVyIAotRkFJTCBS
ZWdpc3RlciB0aGVuIGdldFJlZ2lzdHJhdGlvbnMgYXNzZXJ0X2FycmF5X2VxdWFsczogZ2V0UmVn
aXN0cmF0aW9ucyBzaG91bGQgcmVzb2x2ZSB3aXRoIGFycmF5IG9mIHJlZ2lzdHJhdGlvbnMuIGxl
bmd0aHMgZGlmZmVyLCBleHBlY3RlZCAxIGdvdCAwCi1GQUlMIFJlZ2lzdGVyIG11bHRpcGxlIHRp
bWVzIHRoZW4gZ2V0UmVnaXN0cmF0aW9ucyBhc3NlcnRfYXJyYXlfZXF1YWxzOiBnZXRSZWdpc3Ry
YXRpb25zIHNob3VsZCByZXNvbHZlIHdpdGggYXJyYXkgb2YgcmVnaXN0cmF0aW9ucy4gbGVuZ3Ro
cyBkaWZmZXIsIGV4cGVjdGVkIDIgZ290IDAKK1BBU1MgUmVnaXN0ZXIgdGhlbiBnZXRSZWdpc3Ry
YXRpb25zIAorUEFTUyBSZWdpc3RlciBtdWx0aXBsZSB0aW1lcyB0aGVuIGdldFJlZ2lzdHJhdGlv
bnMgCiBQQVNTIFJlZ2lzdGVyIHRoZW4gVW5yZWdpc3RlciB0aGVuIGdldFJlZ2lzdHJhdGlvbnMg
CiBGQUlMIFJlZ2lzdGVyIHRoZW4gVW5yZWdpc3RlciB3aXRoIGNvbnRyb2xsZWQgZnJhbWUgdGhl
biBnZXRSZWdpc3RyYXRpb25zIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJhY3RpdmF0ZWQiIGJ1
dCBnb3QgInJlZHVuZGFudCIKLUZBSUwgZ2V0UmVnaXN0cmF0aW9ucyBwcm9taXNlIHJlc29sdmVz
IG9ubHkgd2l0aCBzYW1lIG9yaWdpbiByZWdpc3RyYXRpb25zLiBhc3NlcnRfYXJyYXlfZXF1YWxz
OiBnZXRSZWdpc3RyYXRpb25zIHNob3VsZCBvbmx5IHJldHVybiBzYW1lIG9yaWdpbiByZWdpc3Ry
YXRpb25zLiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgMSBnb3QgMAorUEFTUyBnZXRSZWdpc3Ry
YXRpb25zIHByb21pc2UgcmVzb2x2ZXMgb25seSB3aXRoIHNhbWUgb3JpZ2luIHJlZ2lzdHJhdGlv
bnMuIAogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>