<?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>182358</bug_id>
          
          <creation_ts>2018-01-31 16:23:47 -0800</creation_ts>
          <short_desc>Log error when authentication challenge is blocked due to an insecure request</short_desc>
          <delta_ts>2018-02-07 10:57:28 -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 Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aestes</cc>
    
    <cc>beidson</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>mkwst</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1395227</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-01-31 16:23:47 -0800</bug_when>
    <thetext>Log error when authentication challenge is blocked due to an insecure request.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395228</commentid>
    <comment_count>1</comment_count>
      <attachid>332819</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-01-31 16:25:31 -0800</bug_when>
    <thetext>Created attachment 332819
Patch and layout tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1396066</commentid>
    <comment_count>2</comment_count>
      <attachid>333019</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-02-02 16:55:34 -0800</bug_when>
    <thetext>Created attachment 333019
Patch and layout tests

Updated patch so that we do not emit a message if the authentication challenge was blocked by the embedding client.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1396815</commentid>
    <comment_count>3</comment_count>
      <attachid>333184</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-02-06 10:00:17 -0800</bug_when>
    <thetext>Created attachment 333184
Patch and layout tests

Updated patch to make the tests more robust to prevent flakiness caused by the preload scanner.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1396946</commentid>
    <comment_count>4</comment_count>
      <attachid>333184</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-02-06 14:11:48 -0800</bug_when>
    <thetext>Comment on attachment 333184
Patch and layout tests

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

&gt; LayoutTests/http/tests/security/mixedContent/insecure-download-redirects-to-basic-auth-secure-download.https-expected.txt:2
&gt; +CONSOLE MESSAGE: Blocked https://localhost:8443/security/mixedContent/resources/subresource/protected-pdf.php from asking for credentials because navigated from a secure page or went through an insecure redirect.

The phrasing of this message seems off. Perhaps something like &quot;Blocked &lt;url&gt; from asking for credentials because it was navigated to from a secure page or went through an insecure redirect.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397231</commentid>
    <comment_count>5</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-02-07 10:47:37 -0800</bug_when>
    <thetext>(In reply to Andy Estes from comment #4)
&gt; Comment on attachment 333184 [details]
&gt; Patch and layout tests
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=333184&amp;action=review
&gt; 
&gt; &gt; LayoutTests/http/tests/security/mixedContent/insecure-download-redirects-to-basic-auth-secure-download.https-expected.txt:2
&gt; &gt; +CONSOLE MESSAGE: Blocked https://localhost:8443/security/mixedContent/resources/subresource/protected-pdf.php from asking for credentials because navigated from a secure page or went through an insecure redirect.
&gt; 
&gt; The phrasing of this message seems off. Perhaps something like &quot;Blocked
&gt; &lt;url&gt; from asking for credentials because it was navigated to from a secure
&gt; page or went through an insecure redirect.&quot;

Will fix before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397237</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-02-07 10:56:13 -0800</bug_when>
    <thetext>Committed r228231: &lt;https://trac.webkit.org/changeset/228231&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397238</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-07 10:57:28 -0800</bug_when>
    <thetext>&lt;rdar://problem/37319486&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332819</attachid>
            <date>2018-01-31 16:25:31 -0800</date>
            <delta_ts>2018-02-02 16:55:33 -0800</delta_ts>
            <desc>Patch and layout tests</desc>
            <filename>bug-182358-20180131162531.patch</filename>
            <type>text/plain</type>
            <size>37627</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3Njc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmMxZWJkNzIxMWJkMmNm
MzUyZTI2NTczNmRkMzUzNjk0NDM2Yjg0My4uZDQxODAyNTM5MDVhYjk4MDNiYzRiYjczZTA5MTc5
ZmFlYWUwZWRmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE4LTAxLTMxICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBMb2cgZXJyb3Igd2hlbiBh
dXRoZW50aWNhdGlvbiBjaGFsbGVuZ2UgaXMgYmxvY2tlZCBkdWUgdG8gYW4gaW5zZWN1cmUgcmVx
dWVzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgy
MzU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW1p
dCBhbiBlcnJvciBtZXNzYWdlIHRvIFdlYiBJbnNwZWN0b3IgY29uc29sZSB0aGF0IGV4cGxhaW5z
IHdoeSBhbiBhdXRoZW50aWNhdGlvbgorICAgICAgICBjaGFsbGVuZ2Ugd2FzIGJsb2NrZWQgc28g
dGhhdCBhIGRldmVsb3BlciBjYW4gZml4IHVwIHRoZWlyIHNpdGUuCisKKyAgICAgICAgVGVzdHM6
IGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWJhc2ljLWF1dGgtaW1h
Z2UuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENv
bnRlbnQvc2VjdXJlLXBhZ2UtbmF2aWdhdGVzLXRvLWJhc2ljLWF1dGgtaW5zZWN1cmUtcGFnZS5o
dHRwcy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVu
dC9zZWN1cmUtcGFnZS1uYXZpZ2F0ZXMtdG8tYmFzaWMtYXV0aC1zZWN1cmUtcGFnZS12aWEtaW5z
ZWN1cmUtcmVkaXJlY3QuaHR0cHMuaHRtbAorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpyZWNlaXZlZEZpcnN0RGF0YSk6
IExvZyB0byB0aGUgY29uc29sZSBhbiBlcnJvciBtZXNzYWdlCisgICAgICAgIGlmIHRoZSBkb2N1
bWVudCB3ZSBhcmUgbG9hZGluZyB3YXMgZm9yYmlkZGVuIGZyb20gcHJvbXB0aW5nIGZvciBjcmVk
ZW50aWFscy4KKyAgICAgICAgQWxzbyByZW1vdmVkIGR1cGxpY2F0ZSBhc3NlcnRpb24gdG8gZW5z
dXJlIGRvY3VtZW50IGlzIG5vbi1udWxsIGFuZCB1cGRhdGUKKyAgICAgICAgY2FsbCB0byBMaW5r
TG9hZGVyOjpsb2FkTGlua3NGcm9tSGVhZGVyKCkgdG8gdXNlIGxvY2FsIHZhcmlhYmxlIHRvIGFj
Y2VzcworICAgICAgICB0aGUgZG9jdW1lbnQgd2UgYXJlIGxvYWRpbmcgaW5zdGVhZCBvZiBhc2tp
bmcgdGhlIGZyYW1lIGZvciBpdCwgYWdhaW4uCisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRl
cjo6cmVwb3J0QXV0aGVudGljYXRpb25DaGFsbGVuZ2VCbG9ja2VkKTogQWRkZWQuCisgICAgICAg
ICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OmluaXQpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdEludGVybmFsKToKKyAg
ICAgICAgVHJhY2sgdGhlIGRlY2lzaW9uIHRvIGZvcmJpZCBhc2tpbmcgZm9yIGNyZWRlbnRpYWxz
IGR1ZSB0byBGZXRjaCBzcGVjLiByZXF1aXJlbWVudHMgKG1fY2FuQXNrQ2xpZW50Rm9yQ3JlZGVu
dGlhbHMpCisgICAgICAgIGluZGVwZW5kZW50bHkgZnJvbSB0aGUgZGVjaXNpb24gdG8gZm9yYmlk
IHRoZW0gZHVlIHRvIG1ha2luZyBhbiBpbnNlY3VyZSByZXF1ZXN0IChtX3dhc0luc2VjdXJlUmVx
dWVzdFNlZW4pCisgICAgICAgIHNvIHRoYXQgd2Uga25vdyB0aGUgcmVhc29uIHdoeSB3ZSBibG9j
a2VkIGFza2luZyBmb3IgY3JlZGVudGlhbHMgd2hlbiB3ZSByZWNlaXZlIGFuIGF1dGhlbnRpY2F0
aW9uIGNoYWxsZW5nZS4KKworICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OmRpZEJs
b2NrQXV0aGVudGljYXRpb25DaGFsbGVuZ2UpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJl
c291cmNlTG9hZGVyOjppc0FsbG93ZWRUb0Fza1VzZXJGb3JDcmVkZW50aWFscyBjb25zdCk6IE1v
ZGlmaWVkIGNvZGUgbm93IHRoYXQgd2UgdHJhY2sKKyAgICAgICAgd2hldGhlciB3ZSBoYXZlIHNl
ZW4gYW4gaW5zZWN1cmUgcmVxdWVzdCBzbyBmYXIgaW5kZXBlbmRlbnRseSBmcm9tIGRlY2lzaW9u
IHRvIGZvcmJpZCBwcm9tcHRpbmcgZm9yCisgICAgICAgIGNyZWRlbnRpYWxzIGR1ZSB0byBhIEZl
dGNoIHNwZWMuIHJlcXVpcmVtZW50LgorCisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRl
cjo6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKToKKyAgICAgICAgU3RvcmUgYSBi
aXQgd2hldGhlciB3ZSBoYXZlIHNlZW4gYW4gaW5zZWN1cmUgcmVxdWVzdCB3aGVuIGxvYWRpbmcg
dGhlIHJlc291cmNlIHNvIGZhci4gRGlzYWxsb3cKKyAgICAgICAgYXNraW5nIGZvciBjcmVkZW50
aWFscyBpZiB3ZSBoYXZlIHNlZW4gYW4gaW5zZWN1cmUgcmVxdWVzdCBzbyBmYXIuIE9uY2Ugd2Ug
cmVjZWl2ZSBhIHJlc3BvbnNlCisKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkZXIuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjp3YXNBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZUJsb2NrZWQgY29uc3QpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9h
ZGVyOjp3YXNJbnNlY3VyZVJlcXVlc3RTZWVuIGNvbnN0KTogQWRkZWQuCisKIDIwMTgtMDEtMjYg
IE1hbnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nz
cy1tdWx0aWNvbF0gU3VwcG9ydCBwZXJjZW50YWdlcyBpbiBjb2x1bW4tZ2FwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4
IGZhM2EyZWVkNjAxODViZDc3NjgwMGRjYjQxMDg3YTNmMzA2YzcwNTYuLjUwMzMxYTU0ZTA1NGU1
ZTdjMWJkYTA2NGYxYTdkOTIyMDM2ZGY4MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIw
MTgtMDEtMzEgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIExv
ZyBlcnJvciB3aGVuIGF1dGhlbnRpY2F0aW9uIGNoYWxsZW5nZSBpcyBibG9ja2VkIGR1ZSB0byBh
biBpbnNlY3VyZSByZXF1ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODIzNTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBIYXZlIG5ldHdvcmsgcHJvY2VzcyBub3RpZnkgdGhlIHdlYiBwcm9jZXNzIHdo
ZW4gaXQgYmxvY2tzIGFuIGF1dGhlbnRpY2F0aW9uIGNoYWxsZW5nZS4KKworICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0xv
YWQ6OmNvbXBsZXRlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UpOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL05ldHdvcmtMb2FkQ2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2Fk
Q2xpZW50OjpkaWRCbG9ja0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZEJsb2NrQXV0aGVudGljYXRpb25DaGFsbGVuZ2UpOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlJlc291cmNlTG9hZGVyOjpkaWRCbG9ja0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW46
CisKIDIwMTgtMDEtMjYgIEphbi1NaWNoYWVsIEJydW1tZXIgIDxqYW4uYnJ1bW1lckB0YWJvcy5v
cmc+CiAKICAgICAgICAgW0dUS10gU3VwcG9ydCB1c2luZyBsb25nLXRhcCBnZXN0dXJlIHRvIG9w
ZW4gY29udGV4dCBtZW51CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCA3
N2IyNDM1NzM0ZThhYTI4ZDk4ZjJlNDY4MWZmMmFiM2FlMmMzYTgyLi45ZGQ2ZDQ4NDAzNGRmZTIz
YzUxYjkwNzM3ZGJkOTU1Y2JhNmQ3MjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAKQEAgLTExNSw2ICsxMTUsNyBAQAogI2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3ViZnJhbWVMb2FkZXIuaCIK
KyNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIlRleHRSZXNvdXJjZURl
Y29kZXIuaCIKICNpbmNsdWRlICJVc2VyQ29udGVudENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJV
c2VyR2VzdHVyZUluZGljYXRvci5oIgpAQCAtNjc5LDggKzY4MCwxMSBAQCB2b2lkIEZyYW1lTG9h
ZGVyOjpyZWNlaXZlZEZpcnN0RGF0YSgpCiAgICAgQVNTRVJUKG1fZnJhbWUuZG9jdW1lbnQoKSk7
CiAgICAgYXV0byYgZG9jdW1lbnQgPSAqbV9mcmFtZS5kb2N1bWVudCgpOwogCi0gICAgQVNTRVJU
KG1fZnJhbWUuZG9jdW1lbnQoKSk7Ci0gICAgTGlua0xvYWRlcjo6bG9hZExpbmtzRnJvbUhlYWRl
cihtX2RvY3VtZW50TG9hZGVyLT5yZXNwb25zZSgpLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVy
TmFtZTo6TGluayksIG1fZnJhbWUuZG9jdW1lbnQoKS0+dXJsKCksICptX2ZyYW1lLmRvY3VtZW50
KCksIExpbmtMb2FkZXI6Ok1lZGlhQXR0cmlidXRlQ2hlY2s6Ok1lZGlhQXR0cmlidXRlRW1wdHkp
OworICAgIGF1dG8qIG1haW5SZXNvdXJjZUxvYWRlciA9IG1fZG9jdW1lbnRMb2FkZXItPm1haW5S
ZXNvdXJjZUxvYWRlcigpOworICAgIGlmIChtYWluUmVzb3VyY2VMb2FkZXIgJiYgbWFpblJlc291
cmNlTG9hZGVyLT53YXNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUJsb2NrZWQoKSAmJiBtYWluUmVz
b3VyY2VMb2FkZXItPndhc0luc2VjdXJlUmVxdWVzdFNlZW4oKSkKKyAgICAgICAgcmVwb3J0QXV0
aGVudGljYXRpb25DaGFsbGVuZ2VCbG9ja2VkKCZtX2ZyYW1lLCBkb2N1bWVudC51cmwoKSwgQVND
SUlMaXRlcmFsIHsgIm5hdmlnYXRlZCBmcm9tIGEgc2VjdXJlIHBhZ2Ugb3Igd2VudCB0aHJvdWdo
IGFuIGluc2VjdXJlIHJlZGlyZWN0IiB9KTsKKworICAgIExpbmtMb2FkZXI6OmxvYWRMaW5rc0Zy
b21IZWFkZXIobV9kb2N1bWVudExvYWRlci0+cmVzcG9uc2UoKS5odHRwSGVhZGVyRmllbGQoSFRU
UEhlYWRlck5hbWU6OkxpbmspLCBkb2N1bWVudC51cmwoKSwgZG9jdW1lbnQsIExpbmtMb2FkZXI6
Ok1lZGlhQXR0cmlidXRlQ2hlY2s6Ok1lZGlhQXR0cmlidXRlRW1wdHkpOwogCiAgICAgZG91Ymxl
IGRlbGF5OwogICAgIFN0cmluZyB1cmxTdHJpbmc7CkBAIC0xNTQ5LDYgKzE1NTMsMTQgQEAgdm9p
ZCBGcmFtZUxvYWRlcjo6cmVwb3J0QmxvY2tlZFBvcnRGYWlsZWQoRnJhbWUqIGZyYW1lLCBjb25z
dCBTdHJpbmcmIHVybCkKICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJOb3QgYWxsb3dl
ZCB0byB1c2UgcmVzdHJpY3RlZCBuZXR3b3JrIHBvcnQ6ICIgKyB1cmwpOwogfQogCit2b2lkIEZy
YW1lTG9hZGVyOjpyZXBvcnRBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUJsb2NrZWQoRnJhbWUqIGZy
YW1lLCBjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiByZWFzb24pCit7CisgICAgaWYgKCFm
cmFtZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNv
bGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBt
YWtlU3RyaW5nKCJCbG9ja2VkICIsIHVybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgo
KSwgIiBmcm9tIGFza2luZyBmb3IgY3JlZGVudGlhbHMgYmVjYXVzZSAiLCByZWFzb24sICcuJykp
OworfQorCiBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIEZyYW1lTG9hZGVyOjppbml0aWFsUmVxdWVz
dCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGFjdGl2ZURvY3VtZW50TG9hZGVyKCktPm9yaWdpbmFs
UmVxdWVzdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCBhNmM5ODE5YTMx
OTNhN2NjOWQ4YTFiYTk1MmM0MjA5OTdhODVjYmYyLi4xYzVmZjU2YmE3ZjU0YjU1Yjc1NjZkMzE4
ODdlOGRlZjRiMGFlNWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaApAQCAtMTMx
LDYgKzEzMSw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyB2b2lkIHJlcG9ydExvY2FsTG9hZEZh
aWxlZChGcmFtZSosIGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICBzdGF0aWMgdm9pZCByZXBvcnRC
bG9ja2VkUG9ydEZhaWxlZChGcmFtZSosIGNvbnN0IFN0cmluZyYgdXJsKTsKKyAgICBzdGF0aWMg
dm9pZCByZXBvcnRBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUJsb2NrZWQoRnJhbWUqLCBjb25zdCBV
UkwmLCBjb25zdCBTdHJpbmcmIHJlYXNvbik7CiAKICAgICAvLyBGSVhNRTogVGhlc2UgYXJlIGFs
bCBmdW5jdGlvbnMgd2hpY2ggc3RvcCBsb2Fkcy4gV2UgaGF2ZSB0b28gbWFueS4KICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHN0b3BBbGxMb2FkZXJzKENsZWFyUHJvdmlzaW9uYWxJdGVtUG9saWN5
ID0gU2hvdWxkQ2xlYXJQcm92aXNpb25hbEl0ZW0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZUxvYWRlci5jcHAKaW5kZXggMDgzMzIzYmZjMGFmNzAyZjk2YmRkOWE0M2FkMjdlNTY3ZjU3
NjBjZC4uODQ0YzA4ODdlYzE4ZmIyMzlhNTk4MDZkOGFmOTllMmZhYjlhMzM1YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMzMsNyArMTMzLDggQEAgdm9p
ZCBSZXNvdXJjZUxvYWRlcjo6aW5pdChSZXNvdXJjZVJlcXVlc3QmJiBjbGllbnRSZXF1ZXN0LCBD
b21wbGV0aW9uSGFuZGxlcjx2b2kKICNlbmRpZgogICAgIAogICAgIG1fZGVmZXJzTG9hZGluZyA9
IG1fb3B0aW9ucy5kZWZlcnNMb2FkaW5nUG9saWN5ID09IERlZmVyc0xvYWRpbmdQb2xpY3k6OkFs
bG93RGVmZXJzTG9hZGluZyAmJiBtX2ZyYW1lLT5wYWdlKCktPmRlZmVyc0xvYWRpbmcoKTsKLSAg
ICBtX2NhbkFza0NsaWVudEZvckNyZWRlbnRpYWxzID0gbV9vcHRpb25zLmNsaWVudENyZWRlbnRp
YWxQb2xpY3kgPT0gQ2xpZW50Q3JlZGVudGlhbFBvbGljeTo6TWF5QXNrQ2xpZW50Rm9yQ3JlZGVu
dGlhbHMgJiYgIWlzTWl4ZWRDb250ZW50KGNsaWVudFJlcXVlc3QudXJsKCkpOworICAgIG1fY2Fu
QXNrQ2xpZW50Rm9yQ3JlZGVudGlhbHMgPSBtX29wdGlvbnMuY2xpZW50Q3JlZGVudGlhbFBvbGlj
eSA9PSBDbGllbnRDcmVkZW50aWFsUG9saWN5OjpNYXlBc2tDbGllbnRGb3JDcmVkZW50aWFsczsK
KyAgICBtX3dhc0luc2VjdXJlUmVxdWVzdFNlZW4gPSBpc01peGVkQ29udGVudChjbGllbnRSZXF1
ZXN0LnVybCgpKTsKIAogICAgIGlmIChtX29wdGlvbnMuc2VjdXJpdHlDaGVjayA9PSBEb1NlY3Vy
aXR5Q2hlY2sgJiYgIW1fZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkuY2FuRGlz
cGxheShjbGllbnRSZXF1ZXN0LnVybCgpKSkgewogICAgICAgICBGcmFtZUxvYWRlcjo6cmVwb3J0
TG9jYWxMb2FkRmFpbGVkKG1fZnJhbWUuZ2V0KCksIGNsaWVudFJlcXVlc3QudXJsKCkuc3RyaW5n
KCkpOwpAQCAtNDA0LDcgKzQwNSw3IEBAIHZvaWQgUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVx
dWVzdEludGVybmFsKFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIGNvbnN0IFJlCiAgICAgYm9v
bCBpc1JlZGlyZWN0ID0gIXJlZGlyZWN0UmVzcG9uc2UuaXNOdWxsKCk7CiAKICAgICBpZiAoaXNN
aXhlZENvbnRlbnQobV9yZXF1ZXN0LnVybCgpKSB8fCAoaXNSZWRpcmVjdCAmJiBpc01peGVkQ29u
dGVudChyZXF1ZXN0LnVybCgpKSkpCi0gICAgICAgIG1fY2FuQXNrQ2xpZW50Rm9yQ3JlZGVudGlh
bHMgPSBmYWxzZTsKKyAgICAgICAgbV93YXNJbnNlY3VyZVJlcXVlc3RTZWVuID0gdHJ1ZTsKIAog
ICAgIGlmIChpc1JlZGlyZWN0KQogICAgICAgICBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVy
U3RyYXRlZ3koKS0+Y3Jvc3NPcmlnaW5SZWRpcmVjdFJlY2VpdmVkKHRoaXMsIHJlcXVlc3QudXJs
KCkpOwpAQCAtNDYyLDYgKzQ2MywyOCBAQCBzdGF0aWMgdm9pZCBsb2dSZXNvdXJjZVJlc3BvbnNl
U291cmNlKEZyYW1lKiBmcmFtZSwgUmVzb3VyY2VSZXNwb25zZTo6U291cmNlIHNvdQogICAgIGZy
YW1lLT5wYWdlKCktPmRpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCkubG9nRGlhZ25vc3RpY01lc3Nh
Z2UoRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpyZXNvdXJjZVJlc3BvbnNlU291cmNlS2V5KCksIHNv
dXJjZUtleSwgU2hvdWxkU2FtcGxlOjpZZXMpOwogfQogCit2b2lkIFJlc291cmNlTG9hZGVyOjpk
aWRCbG9ja0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCkKK3sKKyAgICBtX3dhc0F1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlQmxvY2tlZCA9IHRydWU7CisKKyAgICBpZiAoIW1fd2FzSW5zZWN1cmVSZXF1
ZXN0U2VlbikKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gQ29tcGFyaW5nIHRoZSBpbml0aWFs
IHJlcXVlc3QgVVJMIGFuZCBmaW5hbCByZXF1ZXN0IFVSTCBkb2VzIG5vdCB0ZWxsIHVzIHdoZXRo
ZXIgYSByZWRpcmVjdCBoYXBwZW5lZCBvciBub3Qgc2luY2UKKyAgICAvLyBhIHNlcnZlciBjYW4g
c2VydmUgYSByZWRpcmVjdCB0byB0aGUgc2FtZSBVUkwgdGhhdCB3YXMgcmVxdWVzdGVkLiBIb3dl
dmVyLCB0aGlzIGlzIGdvb2QgZW5vdWdoIGZvciBvdXIgcHVycG9zZS4KKyAgICBib29sIHdhc1Jl
ZGlyZWN0ZWQgPSBtX3JlcXVlc3QudXJsKCkgIT0gb3JpZ2luYWxSZXF1ZXN0KCkudXJsKCk7CisK
KyAgICBib29sIGlzTWl4ZWRDb250ZW50ID0gdGhpcy0+aXNNaXhlZENvbnRlbnQobV9yZXF1ZXN0
LnVybCgpKTsKKyAgICBTdHJpbmcgcmVhc29uOworICAgIGlmIChpc01peGVkQ29udGVudCAmJiB3
YXNSZWRpcmVjdGVkKQorICAgICAgICByZWFzb24gPSBtYWtlU3RyaW5nKCJpdCBpcyBpbnNlY3Vy
ZSBjb250ZW50IHRoYXQgd2FzIGxvYWRlZCB2aWEgYSByZWRpcmVjdCBmcm9tICIsIG9yaWdpbmFs
UmVxdWVzdCgpLnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpKTsKKyAgICBl
bHNlIGlmIChpc01peGVkQ29udGVudCkKKyAgICAgICAgcmVhc29uID0gQVNDSUlMaXRlcmFsIHsg
Iml0IGlzIGluc2VjdXJlIGNvbnRlbnQiIH07CisgICAgZWxzZQorICAgICAgICByZWFzb24gPSBt
YWtlU3RyaW5nKCJpdCB3YXMgbG9hZGVkIHZpYSBhbiBpbnNlY3VyZSByZWRpcmVjdCBmcm9tICIs
IG9yaWdpbmFsUmVxdWVzdCgpLnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgp
KTsKKyAgICBGcmFtZUxvYWRlcjo6cmVwb3J0QXV0aGVudGljYXRpb25DaGFsbGVuZ2VCbG9ja2Vk
KG1fZnJhbWUuZ2V0KCksIG1fcmVxdWVzdC51cmwoKSwgcmVhc29uKTsKK30KKwogdm9pZCBSZXNv
dXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHIp
CiB7CiAgICAgQVNTRVJUKCFtX3JlYWNoZWRUZXJtaW5hbFN0YXRlKTsKQEAgLTcxMyw2ICs3MzYs
OCBAQCBib29sIFJlc291cmNlTG9hZGVyOjppc0FsbG93ZWRUb0Fza1VzZXJGb3JDcmVkZW50aWFs
cygpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2NhbkFza0NsaWVudEZvckNyZWRlbnRpYWxzKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKG1fd2FzSW5zZWN1cmVSZXF1ZXN0U2VlbikKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJldHVybiBtX29wdGlvbnMuY3JlZGVudGlhbHMgPT0g
RmV0Y2hPcHRpb25zOjpDcmVkZW50aWFsczo6SW5jbHVkZSB8fCAobV9vcHRpb25zLmNyZWRlbnRp
YWxzID09IEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHM6OlNhbWVPcmlnaW4gJiYgbV9mcmFtZS0+
ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS5jYW5SZXF1ZXN0KG9yaWdpbmFsUmVxdWVzdCgp
LnVybCgpKSk7CiB9CiAKQEAgLTczMCw2ICs3NTUsNyBAQCB2b2lkIFJlc291cmNlTG9hZGVyOjpk
aWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwg
YwogICAgICAgICAgICAgZnJhbWVMb2FkZXIoKS0+bm90aWZpZXIoKS5kaWRSZWNlaXZlQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UodGhpcywgY2hhbGxlbmdlKTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQorICAgICAgICBkaWRCbG9ja0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCk7CiAg
ICAgfQogICAgIGNoYWxsZW5nZS5hdXRoZW50aWNhdGlvbkNsaWVudCgpLT5yZWNlaXZlZFJlcXVl
c3RUb0NvbnRpbnVlV2l0aG91dENyZWRlbnRpYWwoY2hhbGxlbmdlKTsKICAgICBBU1NFUlQoIW1f
aGFuZGxlIHx8ICFtX2hhbmRsZS0+aGFzQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCmluZGV4IGQ4OWE2ZGM4MjBkMWYxYzAxMWMz
NDA5ODY1Yzg3Yjc2MmJkMzNkZTEuLjA5NTk4YThiNmRkMzE1Zjk2ZTg3MjJlZDg2MjlmZTJlNzFl
ZWMxYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCkBAIC04OSw2ICs4
OSw5IEBAIHB1YmxpYzoKIAogICAgIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcigpIGNvbnN0IHsg
cmV0dXJuIG1faWRlbnRpZmllcjsgfQogCisgICAgYm9vbCB3YXNBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZUJsb2NrZWQoKSBjb25zdCB7IHJldHVybiBtX3dhc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
QmxvY2tlZDsgfQorICAgIGJvb2wgd2FzSW5zZWN1cmVSZXF1ZXN0U2VlbigpIGNvbnN0IHsgcmV0
dXJuIG1fd2FzSW5zZWN1cmVSZXF1ZXN0U2VlbjsgfQorCiAgICAgdmlydHVhbCB2b2lkIHJlbGVh
c2VSZXNvdXJjZXMoKTsKICAgICBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSgpIGNv
bnN0IHsgcmV0dXJuIG1fcmVzcG9uc2U7IH0KIApAQCAtMTA2LDYgKzEwOSw4IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJik7CiAgICAgdmly
dHVhbCB2b2lkIGRpZFJldHJpZXZlRGVyaXZlZERhdGFGcm9tQ2FjaGUoY29uc3QgU3RyaW5nJiB0
eXBlLCBTaGFyZWRCdWZmZXImKTsKIAorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlkQmxvY2tB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpOworCiAgICAgdmlydHVhbCBib29sIHNob3VsZFVzZUNy
ZWRlbnRpYWxTdG9yYWdlKCk7CiAjaWYgVVNFKFBST1RFQ1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFD
SykKICAgICB2aXJ0dWFsIGJvb2wgY2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFj
ZShjb25zdCBQcm90ZWN0aW9uU3BhY2UmKTsKQEAgLTE0OSw2ICsxNTQsOCBAQCBwdWJsaWM6CiBw
cm90ZWN0ZWQ6CiAgICAgUmVzb3VyY2VMb2FkZXIoRnJhbWUmLCBSZXNvdXJjZUxvYWRlck9wdGlv
bnMpOwogCisgICAgYm9vbCBpc01peGVkQ29udGVudChjb25zdCBVUkwmKSBjb25zdDsKKwogICAg
IHZvaWQgZGlkRmluaXNoTG9hZGluZ09uZVBhcnQoY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJik7
CiAgICAgdm9pZCBjbGVhbnVwRm9yRXJyb3IoY29uc3QgUmVzb3VyY2VFcnJvciYpOwogCkBAIC0y
MDMsOCArMjEwLDYgQEAgcHJpdmF0ZToKICAgICBib29sIHNob3VsZENhY2hlUmVzcG9uc2UoUmVz
b3VyY2VIYW5kbGUqLCBDRkNhY2hlZFVSTFJlc3BvbnNlUmVmKSBvdmVycmlkZTsKICNlbmRpZgog
Ci0gICAgYm9vbCBpc01peGVkQ29udGVudChjb25zdCBVUkwmKSBjb25zdDsKLQogICAgIFJlc291
cmNlUmVxdWVzdCBtX3JlcXVlc3Q7CiAgICAgUmVzb3VyY2VSZXF1ZXN0IG1fb3JpZ2luYWxSZXF1
ZXN0OyAvLyBCZWZvcmUgcmVkaXJlY3RzLgogICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IG1fcmVz
b3VyY2VEYXRhOwpAQCAtMjI0LDYgKzIyOSw4IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fZGVm
ZXJzTG9hZGluZzsKICAgICBib29sIG1fY2FuQXNrQ2xpZW50Rm9yQ3JlZGVudGlhbHM7CisgICAg
Ym9vbCBtX3dhc0luc2VjdXJlUmVxdWVzdFNlZW4geyBmYWxzZSB9OworICAgIGJvb2wgbV93YXNB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZUJsb2NrZWQgeyBmYWxzZSB9OwogICAgIFJlc291cmNlUmVx
dWVzdCBtX2RlZmVycmVkUmVxdWVzdDsKICAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMgbV9vcHRp
b25zOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtM
b2FkLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwCmlu
ZGV4IDE1OGU1Y2YyMGRmNzJjNzc3ODY4YThhNDc0MjAzZDI5Y2NiMzQwNzUuLjhiZTM4NjMyMjEw
ZTcyNmRlZDczNzdiZGYyMzMwYTY3ZmI0OTM3NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwCkBAIC0yODAsNiArMjgwLDcgQEAgdm9pZCBOZXR3b3Jr
TG9hZDo6Y29tcGxldGVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShDaGFsbGVuZ2VDb21wbGV0aW9u
SGFuZGxlciYmIGMKIHsKICAgICBib29sIGlzU2VydmVyVHJ1c3RFdmFsdWF0aW9uID0gbV9jaGFs
bGVuZ2UtPnByb3RlY3Rpb25TcGFjZSgpLmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkgPT0gUHJvdGVj
dGlvblNwYWNlQXV0aGVudGljYXRpb25TY2hlbWVTZXJ2ZXJUcnVzdEV2YWx1YXRpb25SZXF1ZXN0
ZWQ7CiAgICAgaWYgKCFpc0FsbG93ZWRUb0Fza1VzZXJGb3JDcmVkZW50aWFscygpICYmICFpc1Nl
cnZlclRydXN0RXZhbHVhdGlvbikgeworICAgICAgICBtX2NsaWVudC5nZXQoKS5kaWRCbG9ja0F1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCk7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlRGlzcG9zaXRpb246OlVzZUNyZWRlbnRpYWwsIHsgfSk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtMb2FkQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtMb2FkQ2xpZW50LmgKaW5kZXggZTBlOWJjNTcxNWEwZGIwODY4ODc5NmZjYWVmMjBmNjRj
N2I1ZWE5YS4uMGIzOGFjMmI2Y2U0NWZkYTFjY2UyMTk5YzI0MmYxMWMxNmMzYTdhMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDbGllbnQuaApAQCAt
NTYsNiArNTYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVCdWZmZXIo
UmVmPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJiwgaW50IHJlcG9ydGVkRW5jb2RlZERhdGFMZW5n
dGgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZyhjb25zdCBXZWJDb3Jl
OjpOZXR3b3JrTG9hZE1ldHJpY3MmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZEZhaWxMb2Fk
aW5nKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKSA9IDA7CisgICAgdmlydHVhbCB2b2lk
IGRpZEJsb2NrQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKSB7IH07CiAgICAgdmlydHVhbCBib29s
IHNob3VsZENhcHR1cmVFeHRyYU5ldHdvcmtMb2FkTWV0cmljcygpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZTdmNjdiMTQ4ZTQ5YTM4MDBkMWI5MTE4NGFi
OTNjODc4MjU2YjBkYS4uMDk1N2Q4MDM1NmY2MmYzMTJjMzFlNTc3MjJjOWU2NzVjOGY1NGUwYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZGVyLmNwcApAQCAtNDMwLDYgKzQzMCwxMSBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxv
YWRlcjo6ZGlkRmFpbExvYWRpbmcoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiAgICAgY2xl
YW51cCgpOwogfQogCit2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkQmxvY2tBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSgpCit7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUmVzb3VyY2VMb2Fk
ZXI6OkRpZEJsb2NrQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKSk7Cit9CisKIHZvaWQgTmV0d29y
a1Jlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlZGlyZWN0ZWRSZXF1ZXN0KFJlc291cmNlUmVxdWVz
dCYmIHJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmIHJlZGlyZWN0UmVxdWVzdCwg
UmVzb3VyY2VSZXNwb25zZSYmIHJlZGlyZWN0UmVzcG9uc2UpCiB7CiAgICAgKyttX3JlZGlyZWN0
Q291bnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtS
ZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuaAppbmRleCAxZjE3ZGRlNjE2YjUwMWVkZjg2Njk4Yzk3MThmZTMzYjlhZGRi
Y2M1Li4xZGIwY2Q3ZTkwNGNmYTNkMDE5MjhlNjU3NDI3Yzg3NmEwYmVkZDU2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmgK
QEAgLTk2LDYgKzk2LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlkUmVjZWl2ZUJ1ZmZlcihSZWY8
V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmLCBpbnQgcmVwb3J0ZWRFbmNvZGVkRGF0YUxlbmd0aCkg
b3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKGNvbnN0IFdlYkNvcmU6Ok5ldHdv
cmtMb2FkTWV0cmljcyYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkRmFpbExvYWRpbmcoY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpIG92ZXJyaWRlOworICAgIHZvaWQgZGlkQmxvY2tBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZSgpIG92ZXJyaWRlOwogICAgIGJvb2wgc2hvdWxkQ2FwdHVyZUV4
dHJhTmV0d29ya0xvYWRNZXRyaWNzKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGNvbnZl
cnRUb0Rvd25sb2FkKERvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYs
IGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAppbmRleCA2OTkz
M2Q5NTc0OGZjNTk2NjM2ZDZlNTNkYmRmY2U4ODZjMGMxOTJkLi42YTZkODhmMzEwYTZiZDZjNDJk
YWI2Zjk4NWJlOTIwYTBjNTY3ZWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xNjAsNiArMTYwLDE0IEBA
IHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZEZhaWxSZXNvdXJjZUxvYWQoY29uc3QgUmVzb3Vy
Y2VFcnJvciYgZXJyb3IpCiAgICAgbV9jb3JlTG9hZGVyLT5kaWRGYWlsKGVycm9yKTsKIH0KIAor
dm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkQmxvY2tBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgp
Cit7CisgICAgTE9HKE5ldHdvcmssICIoV2ViUHJvY2VzcykgV2ViUmVzb3VyY2VMb2FkZXI6OmRp
ZEJsb2NrQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgZm9yICclcyciLCBtX2NvcmVMb2FkZXItPnVy
bCgpLnN0cmluZygpLmxhdGluMSgpLmRhdGEoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dF
RCgiZGlkQmxvY2tBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTogKHBhZ2VJRCA9ICUiIFBSSXU2NCAi
LCBmcmFtZUlEID0gJSIgUFJJdTY0ICIsIHJlc291cmNlSUQgPSAlIiBQUkl1NjQgIikiLCBtX3Ry
YWNraW5nUGFyYW1ldGVycy5wYWdlSUQsIG1fdHJhY2tpbmdQYXJhbWV0ZXJzLmZyYW1lSUQsIG1f
dHJhY2tpbmdQYXJhbWV0ZXJzLnJlc291cmNlSUQpOworCisgICAgbV9jb3JlTG9hZGVyLT5kaWRC
bG9ja0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCk7Cit9CisKICNpZiBFTkFCTEUoU0hBUkVBQkxF
X1JFU09VUkNFKQogdm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc291cmNlKGNv
bnN0IFNoYXJlYWJsZVJlc291cmNlOjpIYW5kbGUmIGhhbmRsZSkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmggYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCmluZGV4IDY0
MjFjMjMzNWJlZDFiNzRlNWYwOGU2NGU5NzE3NzBiM2NkYjViZjYuLjMxOThhYzdiMTI4YTBkNGEy
NmY0MGIyMTNjNzMzZTMyNDgwNWFjNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaApAQCAtODEsNiArODEsNyBAQCBwcml2
YXRlOgogICAgIHZvaWQgZGlkUmV0cmlldmVEZXJpdmVkRGF0YShjb25zdCBTdHJpbmcmIHR5cGUs
IGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpOwogICAgIHZvaWQgZGlkRmluaXNoUmVzb3VyY2VM
b2FkKGNvbnN0IFdlYkNvcmU6Ok5ldHdvcmtMb2FkTWV0cmljcyYpOwogICAgIHZvaWQgZGlkRmFp
bFJlc291cmNlTG9hZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7CisgICAgdm9pZCBk
aWRCbG9ja0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCk7CiAjaWYgRU5BQkxFKFNIQVJFQUJMRV9S
RVNPVVJDRSkKICAgICB2b2lkIGRpZFJlY2VpdmVSZXNvdXJjZShjb25zdCBTaGFyZWFibGVSZXNv
dXJjZTo6SGFuZGxlJik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KaW5kZXgg
MzM1ZTNiMjBmNmVmMDQxOTVmMjJmOWYwODQ0NmExMGVkZTA0ZjUwMi4uOTVmNjljYmNlYjA0NjJm
NDc5Y2Y3M2MzOTY5YWIzMzk3NjU4ZGVkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4K
QEAgLTI4LDYgKzI4LDcgQEAgbWVzc2FnZXMgLT4gV2ViUmVzb3VyY2VMb2FkZXIgTGVnYWN5UmVj
ZWl2ZXIgewogICAgIERpZEZpbmlzaFJlc291cmNlTG9hZChXZWJDb3JlOjpOZXR3b3JrTG9hZE1l
dHJpY3MgbmV0d29ya0xvYWRNZXRyaWNzKQogICAgIERpZFJldHJpZXZlRGVyaXZlZERhdGEoU3Ry
aW5nIHR5cGUsIElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhKQogICAgIERpZEZhaWxSZXNvdXJjZUxv
YWQoV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKKyAgICBEaWRCbG9ja0F1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlKCkKIAogI2lmIEVOQUJMRShTSEFSRUFCTEVfUkVTT1VSQ0UpCiAgICAgLy8g
RGlkUmVjZWl2ZVJlc291cmNlIGlzIGZvciB3aGVuIHdlIGhhdmUgdGhlIGVudGlyZSByZXNvdXJj
ZSBkYXRhIGF2YWlsYWJsZSBhdCBvbmNlLCBzdWNoIGFzIHdoZW4gdGhlIHJlc291cmNlIGlzIGNh
Y2hlZCBpbiBtZW1vcnkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxZGEzNzg5Zjg1YmNkZGFjM2EwYjdhZmU3MzdmZmJlZTJh
M2Y5Y2ZkLi40MGJmYjRmOWQ2ODlmMDE1NTA4Yzc1NmI4NDk4NjZlZjlkOGM1NjQyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTgtMDEtMzEgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUu
Y29tPgorCisgICAgICAgIExvZyBlcnJvciB3aGVuIGF1dGhlbnRpY2F0aW9uIGNoYWxsZW5nZSBp
cyBibG9ja2VkIGR1ZSB0byBhbiBpbnNlY3VyZSByZXF1ZXN0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODIzNTgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbW9yZSB0ZXN0cyBhbmQgdXBkYXRlIGV4
cGVjdGVkIHJlc3VsdHMgb2YgZXhpc3RpbmcgdGVzdHMgbm93IHRoYXQgd2UgZW1pdCBjb25zb2xl
IG1lc3NhZ2VzLgorCisgICAgICAgIEFsc28gZml4ZWQgYSB0eXBvIGluIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1yZWRpcmVjdC10by1zZWN1cmUt
cmVkaXJlY3QtdG8tYmFzaWMtYXV0aC1pbnNlY3VyZS1pbWFnZS5odHRwcy5odG1sCisgICAgICAg
IHNvIHRoYXQgaXQgdGVzdHMgd2hhdCBpdCBhY3R1YWxseSBjbGFpbXMgdG8gdGVzdC4KKworICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWJhc2ljLWF1
dGgtaW1hZ2UuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3NlY3VyaXR5L21peGVkQ29udGVudC9pbnNlY3VyZS1iYXNpYy1hdXRoLWltYWdlLmh0dHBzLmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250
ZW50L3NlY3VyZS1yZWRpcmVjdC10by1zZWN1cmUtcmVkaXJlY3QtdG8tYmFzaWMtYXV0aC1pbnNl
Y3VyZS1pbWFnZS5odHRwcy5odG1sLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4
ZWRDb250ZW50L2luc2VjdXJlLWRvd25sb2FkLXJlZGlyZWN0cy10by1iYXNpYy1hdXRoLXNlY3Vy
ZS1kb3dubG9hZC5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1
cml0eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtaW1hZ2UtcmVkaXJlY3RzLXRvLWJhc2ljLWF1dGgt
c2VjdXJlLWltYWdlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5
L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2UvcHJvdGVjdGVkLXBhZ2UucGhwOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJj
ZXMvc3VicmVzb3VyY2UyL3Byb3RlY3RlZC1pbWFnZS5waHA6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1wYWdlLW5hdmlnYXRlcy10by1i
YXNpYy1hdXRoLWluc2VjdXJlLXBhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9zZWN1cmUtcGFnZS1uYXZpZ2F0
ZXMtdG8tYmFzaWMtYXV0aC1pbnNlY3VyZS1wYWdlLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1wYWdlLW5hdmlnYXRl
cy10by1iYXNpYy1hdXRoLXNlY3VyZS1wYWdlLXZpYS1pbnNlY3VyZS1yZWRpcmVjdC5odHRwcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRD
b250ZW50L3NlY3VyZS1wYWdlLW5hdmlnYXRlcy10by1iYXNpYy1hdXRoLXNlY3VyZS1wYWdlLXZp
YS1pbnNlY3VyZS1yZWRpcmVjdC5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9zZWN1cmUtcmVkaXJlY3QtdG8taW5zZWN1cmUtcmVk
aXJlY3QtdG8tYmFzaWMtYXV0aC1zZWN1cmUtaW1hZ2UuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1yZWRpcmVjdC10
by1zZWN1cmUtcmVkaXJlY3QtdG8tYmFzaWMtYXV0aC1pbnNlY3VyZS1pbWFnZS5odHRwcy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvc2Vj
dXJlLXJlZGlyZWN0LXRvLXNlY3VyZS1yZWRpcmVjdC10by1iYXNpYy1hdXRoLWluc2VjdXJlLWlt
YWdlLmh0dHBzLmh0bWw6CisKIDIwMTgtMDEtMjYgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5dIFVwZGF0ZSB0ZXN0IGV4cGVjdGF0aW9ucy4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2lu
c2VjdXJlLWJhc2ljLWF1dGgtaW1hZ2UuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtYmFzaWMtYXV0aC1pbWFn
ZS5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTkyYWQ4ZDRiYjdhNTkwYmYwY2YyMWVm
YzNiZTVjZGM1ZWUzOTMwMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWJhc2ljLWF1dGgtaW1hZ2UuaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0OiBU
aGUgcGFnZSBhdCBodHRwczovLzEyNy4wLjAuMTo4NDQzL3NlY3VyaXR5L21peGVkQ29udGVudC9p
bnNlY3VyZS1iYXNpYy1hdXRoLWltYWdlLmh0dHBzLmh0bWwgd2FzIGFsbG93ZWQgdG8gZGlzcGxh
eSBpbnNlY3VyZSBjb250ZW50IGZyb20gaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L21p
eGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2UyL3Byb3RlY3RlZC1pbWFnZS5waHAuCisK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMTogVGhlIHBhZ2UgYXQgaHR0cHM6Ly8xMjcuMC4wLjE6
ODQ0My9zZWN1cml0eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtYmFzaWMtYXV0aC1pbWFnZS5odHRw
cy5odG1sIHdhcyBhbGxvd2VkIHRvIGRpc3BsYXkgaW5zZWN1cmUgY29udGVudCBmcm9tIGh0dHA6
Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJlc291
cmNlMi9wcm90ZWN0ZWQtaW1hZ2UucGhwLgorCitDT05TT0xFIE1FU1NBR0U6IEJsb2NrZWQgaHR0
cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVz
b3VyY2UyL3Byb3RlY3RlZC1pbWFnZS5waHAgZnJvbSBhc2tpbmcgZm9yIGNyZWRlbnRpYWxzIGJl
Y2F1c2UgaXQgaXMgaW5zZWN1cmUgY29udGVudC4KK1Rlc3RzIHRoYXQgd2UgZG8gbm90IGFzayBm
b3IgY3JlZGVudGlhbHMgd2hlbiBsb2FkaW5nIGFuIGluc2VjdXJlIGltYWdlIHRoYXQgcmVxdWly
ZXMgYmFzaWMgYXV0aGVudGljYXRpb24uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIGRpZCBub3QgbG9hZCBpbWFnZS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L21peGVkQ29udGVudC9pbnNlY3VyZS1iYXNpYy1hdXRoLWltYWdlLmh0dHBzLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9pbnNlY3Vy
ZS1iYXNpYy1hdXRoLWltYWdlLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQ2NTFmOTc4MzgxNzFh
MGZhZjIwNmQ2OTJhNjI2ODNlYjk5MDRjMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWJhc2ljLWF1dGgtaW1h
Z2UuaHR0cHMuaHRtbApAQCAtMCwwICsxLDMzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIu
c2V0SGFuZGxlc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlcyh0cnVlKTsKKyAgICB0ZXN0UnVubmVy
LnNldEF1dGhlbnRpY2F0aW9uVXNlcm5hbWUoInRlc3RVc2VyIik7CisgICAgdGVzdFJ1bm5lci5z
ZXRBdXRoZW50aWNhdGlvblBhc3N3b3JkKCJ0ZXN0UGFzc3dvcmQiKTsKK30KKword2luZG93Lmpz
VGVzdElzQXN5bmMgPSB0cnVlOworCitmdW5jdGlvbiBwYXNzKCkKK3sKKyAgICB0ZXN0UGFzc2Vk
KCJkaWQgbm90IGxvYWQgaW1hZ2UuIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2Z1bmN0
aW9uIGZhaWwoKQoreworICAgIHRlc3RGYWlsZWQoImRpZCBsb2FkIGltYWdlLiIpOworICAgIGZp
bmlzaEpTVGVzdCgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB3ZSBkbyBub3QgYXNrIGZvciBjcmVkZW50aWFscyB3aGVu
IGxvYWRpbmcgYW4gaW5zZWN1cmUgaW1hZ2UgdGhhdCByZXF1aXJlcyBiYXNpYyBhdXRoZW50aWNh
dGlvbi4iKTsKKzwvc2NyaXB0PgorPGltZyBzcmM9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1
cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJlc291cmNlMi9wcm90ZWN0ZWQtaW1hZ2Uu
cGhwIiBvbmVycm9yPSJwYXNzKCkiIG9ubG9hZD0iZmFpbCgpIj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50
L2luc2VjdXJlLWRvd25sb2FkLXJlZGlyZWN0cy10by1iYXNpYy1hdXRoLXNlY3VyZS1kb3dubG9h
ZC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21p
eGVkQ29udGVudC9pbnNlY3VyZS1kb3dubG9hZC1yZWRpcmVjdHMtdG8tYmFzaWMtYXV0aC1zZWN1
cmUtZG93bmxvYWQuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDZmMDhmMzc1MTc3Njg3OWIzZDM2
MGQ3NWE1OGRjOGNkMGY3MzM1MmQuLjk4MjY0ZTViMWU3MzBlZmZmODc4OTFjNGUwNjMzYTgyNDFm
NDJlM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRD
b250ZW50L2luc2VjdXJlLWRvd25sb2FkLXJlZGlyZWN0cy10by1iYXNpYy1hdXRoLXNlY3VyZS1k
b3dubG9hZC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtZG93bmxvYWQtcmVkaXJlY3RzLXRvLWJhc2lj
LWF1dGgtc2VjdXJlLWRvd25sb2FkLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwyICsxLDQgQEAK
K0NPTlNPTEUgTUVTU0FHRTogQmxvY2tlZCBodHRwczovL2xvY2FsaG9zdDo4NDQzL3NlY3VyaXR5
L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2UvcHJvdGVjdGVkLXBkZi5waHAgZnJv
bSBhc2tpbmcgZm9yIGNyZWRlbnRpYWxzIGJlY2F1c2UgaXQgd2FzIGxvYWRlZCB2aWEgYW4gaW5z
ZWN1cmUgcmVkaXJlY3QgZnJvbSBodHRwOi8vMTI3LjAuMC4xOjgwODAvcmVzb3VyY2VzL3JlZGly
ZWN0LnBocD91cmw9aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My9zZWN1cml0eS9taXhlZENvbnRlbnQv
cmVzb3VyY2VzL3N1YnJlc291cmNlL3Byb3RlY3RlZC1wZGYucGhwLgorQ09OU09MRSBNRVNTQUdF
OiBCbG9ja2VkIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3Jl
c291cmNlcy9zdWJyZXNvdXJjZS9wcm90ZWN0ZWQtcGRmLnBocCBmcm9tIGFza2luZyBmb3IgY3Jl
ZGVudGlhbHMgYmVjYXVzZSBuYXZpZ2F0ZWQgZnJvbSBhIHNlY3VyZSBwYWdlIG9yIHdlbnQgdGhy
b3VnaCBhbiBpbnNlY3VyZSByZWRpcmVjdC4KIEFMRVJUOiBVbmF1dGhvcml6ZWQKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvaW5zZWN1
cmUtaW1hZ2UtcmVkaXJlY3RzLXRvLWJhc2ljLWF1dGgtc2VjdXJlLWltYWdlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJl
LWltYWdlLXJlZGlyZWN0cy10by1iYXNpYy1hdXRoLXNlY3VyZS1pbWFnZS1leHBlY3RlZC50eHQK
aW5kZXggOGI0NDM3NjllMzdmODU4MzIyZmY3NTRkNjliNDRlZDFkOTg1ZTE3OC4uNjNkMzE3NzE2
YWYzZGU5N2E2NzI1YWUyZGQ1MzFkOGNhM2M3ZWJmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtaW1hZ2UtcmVkaXJlY3Rz
LXRvLWJhc2ljLWF1dGgtc2VjdXJlLWltYWdlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9pbnNlY3VyZS1pbWFnZS1yZWRpcmVj
dHMtdG8tYmFzaWMtYXV0aC1zZWN1cmUtaW1hZ2UtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNiBA
QAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE3OiBUaGUgcGFnZSBhdCBodHRwczovLzEyNy4wLjAu
MTo4NDQzL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvZnJhbWUtd2l0aC1pbnNlY3Vy
ZS1pbWFnZS1yZWRpcmVjdHMtdG8tYmFzaWMtYXV0aC1zZWN1cmUtaW1hZ2UuaHRtbCB3YXMgYWxs
b3dlZCB0byBkaXNwbGF5IGluc2VjdXJlIGNvbnRlbnQgZnJvbSBodHRwOi8vMTI3LjAuMC4xOjgw
ODAvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My9zZWN1
cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJlc291cmNlL3Byb3RlY3RlZC1pbWFnZS5w
aHAuCiAKK0NPTlNPTEUgTUVTU0FHRTogQmxvY2tlZCBodHRwczovL2xvY2FsaG9zdDo4NDQzL3Nl
Y3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2UvcHJvdGVjdGVkLWltYWdl
LnBocCBmcm9tIGFza2luZyBmb3IgY3JlZGVudGlhbHMgYmVjYXVzZSBpdCB3YXMgbG9hZGVkIHZp
YSBhbiBpbnNlY3VyZSByZWRpcmVjdCBmcm9tIGh0dHA6Ly8xMjcuMC4wLjE6ODA4MC9yZXNvdXJj
ZXMvcmVkaXJlY3QucGhwP3VybD1odHRwczovL2xvY2FsaG9zdDo4NDQzL3NlY3VyaXR5L21peGVk
Q29udGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2UvcHJvdGVjdGVkLWltYWdlLnBocC4KIFRoaXMg
dGVzdCBvcGVucyBhIG5ldyB3aW5kb3cgdG8gYSBzZWN1cmUgcGFnZSB0aGF0IGxvYWRzIGFuIGlu
c2VjdXJlIGltYWdlIHRoYXQgcmVkaXJlY3RzIHRvIGEgc2VjdXJlIGltYWdlIGd1YXJkZWQgYnkg
YmFzaWMgYXV0aGVudGljYXRpb24uIFRoZSBzZWN1cmUgaW1hZ2Ugc2hvdWxkIGJlIGJsb2NrZWQg
YmVjYXVzZSBpdCByZXF1aXJlcyBjcmVkZW50aWFscyBhbmQgd2FzIGxvYWRlZCB2aWEgYW4gaW5z
ZWN1cmUgcmVkaXJlY3QuCiAKIFBBU1MgZGlkIG5vdCBsb2FkIGltYWdlLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1
YnJlc291cmNlL3Byb3RlY3RlZC1wYWdlLnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvbWl4ZWRDb250ZW50L3Jlc291cmNlcy9zdWJyZXNvdXJjZS9wcm90ZWN0ZWQtcGFnZS5w
aHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZWQyMTdjNzg3YWIwNzNlNDFiYTJmNjUzYWU0MjJiZWFmNzYxOTFjNQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRD
b250ZW50L3Jlc291cmNlcy9zdWJyZXNvdXJjZS9wcm90ZWN0ZWQtcGFnZS5waHAKQEAgLTAsMCAr
MSwyMyBAQAorPD9waHAKK2hlYWRlcigiQ2FjaGUtQ29udHJvbDogbm8tc3RvcmUiKTsKK2hlYWRl
cigiQ29ubmVjdGlvbjogY2xvc2UiKTsKK2lmICghaXNzZXQoJF9TRVJWRVJbIlBIUF9BVVRIX1VT
RVIiXSkpIHsKKyAgICBoZWFkZXIoIldXVy1hdXRoZW50aWNhdGU6IEJhc2ljIHJlYWxtPVwiIiAu
ICRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdIC4gIlwiIik7CisgICAgaGVhZGVyKCJIVFRQLzEuMCA0
MDEgVW5hdXRob3JpemVkIik7Cit9CitoZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9odG1sIik7
Cis/PgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHA+PD9waHAgaWYgKGlzc2V0
KCRfU0VSVkVSWyJQSFBfQVVUSF9VU0VSIl0pKSB7ID8+CitBdXRoZW50aWNhdGVkIHdpdGggdXNl
cm5hbWUgPD9waHAgZWNobyBodG1sc3BlY2lhbGNoYXJzKCRfU0VSVkVSWyJQSFBfQVVUSF9VU0VS
Il0pOyA/Pi4KKzw/cGhwIH0gZWxzZSB7ID8+CitVbmF1dGhvcml6ZWQuCis8P3BocCB9ID8+PC9w
PgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJlc291
cmNlMi9wcm90ZWN0ZWQtaW1hZ2UucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJlc291cmNlMi9wcm90ZWN0ZWQtaW1hZ2UucGhw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjM5YjAyNzExY2M2YTJhN2U4NGVhOWNkZWY2YjRlMTE2MTJmN2ZiYzIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29u
dGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2UyL3Byb3RlY3RlZC1pbWFnZS5waHAKQEAgLTAsMCAr
MSwxMiBAQAorPD9waHAKK2hlYWRlcigiQ2FjaGUtQ29udHJvbDogbm8tc3RvcmUiKTsKK2hlYWRl
cigiQ29ubmVjdGlvbjogY2xvc2UiKTsKK2lmICghaXNzZXQoJF9TRVJWRVJbIlBIUF9BVVRIX1VT
RVIiXSkpIHsKKyAgICBoZWFkZXIoIldXVy1hdXRoZW50aWNhdGU6IEJhc2ljIHJlYWxtPVwiIiAu
ICRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdIC4gIlwiIik7CisgICAgaGVhZGVyKCJIVFRQLzEuMCA0
MDEgVW5hdXRob3JpemVkIik7CisgICAgZXhpdDsKK30KKy8vIEF1dGhlbnRpY2F0ZWQKK2hlYWRl
cigiQ29udGVudC1UeXBlOiBpbWFnZS9wbmciKTsKK2VjaG8gZmlsZV9nZXRfY29udGVudHMoIi4u
Ly4uLy4uL2NvbnRlbnRTZWN1cml0eVBvbGljeS9ibG9jay1hbGwtbWl4ZWQtY29udGVudC9yZXNv
dXJjZXMvcmVkLXNxdWFyZS5wbmciKTsKKz8+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9zZWN1cmUtcGFnZS1uYXZpZ2F0ZXMtdG8tYmFz
aWMtYXV0aC1pbnNlY3VyZS1wYWdlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1wYWdlLW5hdmlnYXRlcy10by1i
YXNpYy1hdXRoLWluc2VjdXJlLXBhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVl
YjQwZDYzNTExY2Q4MTRiZjk0Nzk0NTViZWE5Y2ZjYTMzZWQ0OGMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9zZWN1cmUtcGFn
ZS1uYXZpZ2F0ZXMtdG8tYmFzaWMtYXV0aC1pbnNlY3VyZS1wYWdlLmh0dHBzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDMgQEAKK0NPTlNPTEUgTUVTU0FHRTogQmxvY2tlZCBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3Jlc291cmNlcy9zdWJyZXNvdXJjZS9wcm90
ZWN0ZWQtcGFnZS5waHAgZnJvbSBhc2tpbmcgZm9yIGNyZWRlbnRpYWxzIGJlY2F1c2UgaXQgaXMg
aW5zZWN1cmUgY29udGVudC4KK0NPTlNPTEUgTUVTU0FHRTogQmxvY2tlZCBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3Jlc291cmNlcy9zdWJyZXNvdXJjZS9wcm90
ZWN0ZWQtcGFnZS5waHAgZnJvbSBhc2tpbmcgZm9yIGNyZWRlbnRpYWxzIGJlY2F1c2UgbmF2aWdh
dGVkIGZyb20gYSBzZWN1cmUgcGFnZSBvciB3ZW50IHRocm91Z2ggYW4gaW5zZWN1cmUgcmVkaXJl
Y3QuCitVbmF1dGhvcml6ZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L21peGVkQ29udGVudC9zZWN1cmUtcGFnZS1uYXZpZ2F0ZXMtdG8tYmFzaWMtYXV0aC1p
bnNlY3VyZS1wYWdlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L21peGVkQ29udGVudC9zZWN1cmUtcGFnZS1uYXZpZ2F0ZXMtdG8tYmFzaWMtYXV0aC1pbnNlY3Vy
ZS1wYWdlLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzc2ZTYzODE0YjI1MjA4OGEwYjMzNGYzMGFl
M2I0OGRmYjEzN2Y0YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1wYWdlLW5hdmlnYXRlcy10by1iYXNpYy1hdXRo
LWluc2VjdXJlLXBhZ2UuaHR0cHMuaHRtbApAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Cisg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci5zZXRIYW5kbGVzQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VzKHRydWUpOworICAgIHRlc3RSdW5uZXIuc2V0QXV0aGVudGlj
YXRpb25Vc2VybmFtZSgidGVzdFVzZXIiKTsKKyAgICB0ZXN0UnVubmVyLnNldEF1dGhlbnRpY2F0
aW9uUGFzc3dvcmQoInRlc3RQYXNzd29yZCIpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOworfQord2luZG93LmxvY2F0aW9uLmhyZWYgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Nl
Y3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2UvcHJvdGVjdGVkLXBhZ2Uu
cGhwIjsKKzwvc2NyaXB0PgorPC9oZWFkPgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXBhZ2UtbmF2aWdhdGVz
LXRvLWJhc2ljLWF1dGgtc2VjdXJlLXBhZ2UtdmlhLWluc2VjdXJlLXJlZGlyZWN0Lmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50
L3NlY3VyZS1wYWdlLW5hdmlnYXRlcy10by1iYXNpYy1hdXRoLXNlY3VyZS1wYWdlLXZpYS1pbnNl
Y3VyZS1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWJjMTE3MWZhZTA1
MWRhY2YxYjhhNzExMWQwMzkyM2ZkODY0N2EzMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1wYWdlLW5hdmlnYXRl
cy10by1iYXNpYy1hdXRoLXNlY3VyZS1wYWdlLXZpYS1pbnNlY3VyZS1yZWRpcmVjdC5odHRwcy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitDT05TT0xFIE1FU1NBR0U6IEJsb2NrZWQgaHR0
cHM6Ly8xMjcuMC4wLjE6ODQ0My9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJl
c291cmNlL3Byb3RlY3RlZC1wYWdlLnBocCBmcm9tIGFza2luZyBmb3IgY3JlZGVudGlhbHMgYmVj
YXVzZSBpdCB3YXMgbG9hZGVkIHZpYSBhbiBpbnNlY3VyZSByZWRpcmVjdCBmcm9tIGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD1odHRwczovLzEyNy4wLjAu
MTo4NDQzL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2UvcHJvdGVj
dGVkLXBhZ2UucGhwLgorQ09OU09MRSBNRVNTQUdFOiBCbG9ja2VkIGh0dHBzOi8vMTI3LjAuMC4x
Ojg0NDMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3Jlc291cmNlcy9zdWJyZXNvdXJjZS9wcm90ZWN0
ZWQtcGFnZS5waHAgZnJvbSBhc2tpbmcgZm9yIGNyZWRlbnRpYWxzIGJlY2F1c2UgbmF2aWdhdGVk
IGZyb20gYSBzZWN1cmUgcGFnZSBvciB3ZW50IHRocm91Z2ggYW4gaW5zZWN1cmUgcmVkaXJlY3Qu
CitVbmF1dGhvcml6ZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L21peGVkQ29udGVudC9zZWN1cmUtcGFnZS1uYXZpZ2F0ZXMtdG8tYmFzaWMtYXV0aC1zZWN1
cmUtcGFnZS12aWEtaW5zZWN1cmUtcmVkaXJlY3QuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1wYWdlLW5hdmlnYXRlcy10by1i
YXNpYy1hdXRoLXNlY3VyZS1wYWdlLXZpYS1pbnNlY3VyZS1yZWRpcmVjdC5odHRwcy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjYzYzUxNTMxY2M1YzQ2NzMzZTQxOTIyZDE2ZTc3NTc0NjU2NzRlYjMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVu
dC9zZWN1cmUtcGFnZS1uYXZpZ2F0ZXMtdG8tYmFzaWMtYXV0aC1zZWN1cmUtcGFnZS12aWEtaW5z
ZWN1cmUtcmVkaXJlY3QuaHR0cHMuaHRtbApAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Cisg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci5zZXRIYW5kbGVzQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VzKHRydWUpOworICAgIHRlc3RSdW5uZXIuc2V0QXV0aGVudGlj
YXRpb25Vc2VybmFtZSgidGVzdFVzZXIiKTsKKyAgICB0ZXN0UnVubmVyLnNldEF1dGhlbnRpY2F0
aW9uUGFzc3dvcmQoInRlc3RQYXNzd29yZCIpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOworfQord2luZG93LmxvY2F0aW9uLmhyZWYgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jl
c291cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvc2VjdXJpdHkv
bWl4ZWRDb250ZW50L3Jlc291cmNlcy9zdWJyZXNvdXJjZS9wcm90ZWN0ZWQtcGFnZS5waHAiOwor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9zZWN1cmUtcmVkaXJlY3QtdG8taW5zZWN1cmUt
cmVkaXJlY3QtdG8tYmFzaWMtYXV0aC1zZWN1cmUtaW1hZ2UuaHR0cHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXJlZGly
ZWN0LXRvLWluc2VjdXJlLXJlZGlyZWN0LXRvLWJhc2ljLWF1dGgtc2VjdXJlLWltYWdlLmh0dHBz
LWV4cGVjdGVkLnR4dAppbmRleCBmMTU1MjI5NzAyYTFkMzg1YTkyMjc3NGJkYTdhOTQxYWFkZTdl
ZDY2Li43OTU5ZjA4NjhkZDU1OWU2ZTQ1ZjRiODVhZjU3NzQwZDI4ZjMwMjRkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9zZWN1cmUtcmVk
aXJlY3QtdG8taW5zZWN1cmUtcmVkaXJlY3QtdG8tYmFzaWMtYXV0aC1zZWN1cmUtaW1hZ2UuaHR0
cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4
ZWRDb250ZW50L3NlY3VyZS1yZWRpcmVjdC10by1pbnNlY3VyZS1yZWRpcmVjdC10by1iYXNpYy1h
dXRoLXNlY3VyZS1pbWFnZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw2IEBACiBDT05T
T0xFIE1FU1NBR0U6IFRoZSBwYWdlIGF0IGh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvc2VjdXJpdHkv
bWl4ZWRDb250ZW50L3NlY3VyZS1yZWRpcmVjdC10by1pbnNlY3VyZS1yZWRpcmVjdC10by1iYXNp
Yy1hdXRoLXNlY3VyZS1pbWFnZS5odHRwcy5odG1sIHdhcyBhbGxvd2VkIHRvIGRpc3BsYXkgaW5z
ZWN1cmUgY29udGVudCBmcm9tIGh0dHA6Ly8xMjcuMC4wLjE6ODA4MC9yZXNvdXJjZXMvcmVkaXJl
Y3QucGhwP3VybD1odHRwczovL2xvY2FsaG9zdDo4NDQzL3NlY3VyaXR5L21peGVkQ29udGVudC9y
ZXNvdXJjZXMvc3VicmVzb3VyY2UvcHJvdGVjdGVkLWltYWdlLnBocC4KIAorQ09OU09MRSBNRVNT
QUdFOiBCbG9ja2VkIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvc2VjdXJpdHkvbWl4ZWRDb250ZW50
L3Jlc291cmNlcy9zdWJyZXNvdXJjZS9wcm90ZWN0ZWQtaW1hZ2UucGhwIGZyb20gYXNraW5nIGZv
ciBjcmVkZW50aWFscyBiZWNhdXNlIGl0IHdhcyBsb2FkZWQgdmlhIGFuIGluc2VjdXJlIHJlZGly
ZWN0IGZyb20gaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3Vy
bD1odHRwJTNBLy8xMjcuMC4wLjElM0E4MDgwL3Jlc291cmNlcy9yZWRpcmVjdC5waHAlM0Z1cmwl
M0RodHRwcyUzQS8vbG9jYWxob3N0JTNBODQ0My9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3Vy
Y2VzL3N1YnJlc291cmNlL3Byb3RlY3RlZC1pbWFnZS5waHAuCiBUaGlzIHRlc3QgbG9hZHMgYSBz
ZWN1cmUgaW1hZ2UgdGhhdCByZWRpcmVjdHMgdG8gYW4gaW5zZWN1cmUgaW1hZ2UgdGhhdCByZWRp
cmVjdHMgdG8gYSBzZWN1cmUgaW1hZ2UgZ3VhcmRlZCBieSBiYXNpYyBhdXRoZW50aWNhdGlvbi4g
VGhlIHNlY3VyZSBpbWFnZSBzaG91bGQgYmUgYmxvY2tlZCBiZWNhdXNlIGl0IHJlcXVpcmVzIGNy
ZWRlbnRpYWxzIGFuZCB3YXMgbG9hZGVkIHZpYSBhbiBpbnNlY3VyZSByZWRpcmVjdC4KIAogT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXJlZGlyZWN0LXRvLXNlY3VyZS1yZWRpcmVj
dC10by1iYXNpYy1hdXRoLWluc2VjdXJlLWltYWdlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1yZWRpcmVjdC10
by1zZWN1cmUtcmVkaXJlY3QtdG8tYmFzaWMtYXV0aC1pbnNlY3VyZS1pbWFnZS5odHRwcy1leHBl
Y3RlZC50eHQKaW5kZXggN2Y5OTc5NzFjMzVhOTgzYjI1NmFiNDI0NDJhMzYxYWZmYzllZWJlZi4u
MzIxODgyZTk0MDBhMTk5Mjk1ZGQxZWRmOWUzN2JjNzM4ZWRlNTc0OSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXJlZGlyZWN0
LXRvLXNlY3VyZS1yZWRpcmVjdC10by1iYXNpYy1hdXRoLWluc2VjdXJlLWltYWdlLmh0dHBzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29u
dGVudC9zZWN1cmUtcmVkaXJlY3QtdG8tc2VjdXJlLXJlZGlyZWN0LXRvLWJhc2ljLWF1dGgtaW5z
ZWN1cmUtaW1hZ2UuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNiBAQAotQ09OU09MRSBN
RVNTQUdFOiBUaGUgcGFnZSBhdCBodHRwczovLzEyNy4wLjAuMTo4NDQzL3NlY3VyaXR5L21peGVk
Q29udGVudC9zZWN1cmUtcmVkaXJlY3QtdG8tc2VjdXJlLXJlZGlyZWN0LXRvLWJhc2ljLWF1dGgt
aW5zZWN1cmUtaW1hZ2UuaHR0cHMuaHRtbCB3YXMgYWxsb3dlZCB0byBkaXNwbGF5IGluc2VjdXJl
IGNvbnRlbnQgZnJvbSBodHRwOi8vMTI3LjAuMC4xOjg0NDMvcmVzb3VyY2VzL3JlZGlyZWN0LnBo
cD91cmw9aHR0cDovL2xvY2FsaG9zdDo4MDgwL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJj
ZXMvc3VicmVzb3VyY2UvcHJvdGVjdGVkLWltYWdlLnBocC4KK0NPTlNPTEUgTUVTU0FHRTogVGhl
IHBhZ2UgYXQgaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My9zZWN1cml0eS9taXhlZENvbnRlbnQvc2Vj
dXJlLXJlZGlyZWN0LXRvLXNlY3VyZS1yZWRpcmVjdC10by1iYXNpYy1hdXRoLWluc2VjdXJlLWlt
YWdlLmh0dHBzLmh0bWwgd2FzIGFsbG93ZWQgdG8gZGlzcGxheSBpbnNlY3VyZSBjb250ZW50IGZy
b20gaHR0cDovL2xvY2FsaG9zdDo4MDgwL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMv
c3VicmVzb3VyY2UvcHJvdGVjdGVkLWltYWdlLnBocC4KIAorQ09OU09MRSBNRVNTQUdFOiBCbG9j
a2VkIGh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2Vz
L3N1YnJlc291cmNlL3Byb3RlY3RlZC1pbWFnZS5waHAgZnJvbSBhc2tpbmcgZm9yIGNyZWRlbnRp
YWxzIGJlY2F1c2UgaXQgaXMgaW5zZWN1cmUgY29udGVudCB0aGF0IHdhcyBsb2FkZWQgdmlhIGEg
cmVkaXJlY3QgZnJvbSBodHRwczovLzEyNy4wLjAuMTo4NDQzL3Jlc291cmNlcy9yZWRpcmVjdC5w
aHA/dXJsPWh0dHBzJTNBLy9sb2NhbGhvc3QlM0E4NDQzL3Jlc291cmNlcy9yZWRpcmVjdC5waHAl
M0Z1cmwlM0RodHRwJTNBLy9sb2NhbGhvc3QlM0E4MDgwL3NlY3VyaXR5L21peGVkQ29udGVudC9y
ZXNvdXJjZXMvc3VicmVzb3VyY2UvcHJvdGVjdGVkLWltYWdlLnBocC4KIFRoaXMgdGVzdCBsb2Fk
cyBhIHNlY3VyZSBpbWFnZSB0aGF0IHJlZGlyZWN0cyB0byBhbiBzZWN1cmUgaW1hZ2UgdGhhdCBy
ZWRpcmVjdHMgdG8gYW4gaW5zZWN1cmUgaW1hZ2UgZ3VhcmRlZCBieSBiYXNpYyBhdXRoZW50aWNh
dGlvbi4gVGhlIGluc2VjdXJlIGltYWdlIHNob3VsZCBiZSBibG9ja2VkIGJlY2F1c2UgaXQgcmVx
dWlyZXMgY3JlZGVudGlhbHMuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1y
ZWRpcmVjdC10by1zZWN1cmUtcmVkaXJlY3QtdG8tYmFzaWMtYXV0aC1pbnNlY3VyZS1pbWFnZS5o
dHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQv
c2VjdXJlLXJlZGlyZWN0LXRvLXNlY3VyZS1yZWRpcmVjdC10by1iYXNpYy1hdXRoLWluc2VjdXJl
LWltYWdlLmh0dHBzLmh0bWwKaW5kZXggYWEwMjEzNzY4YzYzNGRmOTEwYzA3YjdkMTIyZWZjMjVk
N2ZjMjg0OS4uOGM5Njc4OTJmMjkyNjJjYWIyZjQ0MGFjMjViODIxN2VkMmMzYWExZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJl
LXJlZGlyZWN0LXRvLXNlY3VyZS1yZWRpcmVjdC10by1iYXNpYy1hdXRoLWluc2VjdXJlLWltYWdl
Lmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENv
bnRlbnQvc2VjdXJlLXJlZGlyZWN0LXRvLXNlY3VyZS1yZWRpcmVjdC10by1iYXNpYy1hdXRoLWlu
c2VjdXJlLWltYWdlLmh0dHBzLmh0bWwKQEAgLTI2LDYgKzI2LDYgQEAgZnVuY3Rpb24gZmFpbCgp
CiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBsb2FkcyBhIHNlY3VyZSBpbWFnZSB0
aGF0IHJlZGlyZWN0cyB0byBhbiBzZWN1cmUgaW1hZ2UgdGhhdCByZWRpcmVjdHMgdG8gYW4gaW5z
ZWN1cmUgaW1hZ2UgZ3VhcmRlZCBieSBiYXNpYyBhdXRoZW50aWNhdGlvbi4gVGhlIGluc2VjdXJl
IGltYWdlIHNob3VsZCBiZSBibG9ja2VkIGJlY2F1c2UgaXQgcmVxdWlyZXMgY3JlZGVudGlhbHMu
Iik7CiA8L3NjcmlwdD4KLTxpbWcgc3JjPSJodHRwczovLzEyNy4wLjAuMTo4NDQzL3Jlc291cmNl
cy9yZWRpcmVjdC5waHA/dXJsPWh0dHAlM0EvLzEyNy4wLjAuMSUzQTg0NDMvcmVzb3VyY2VzL3Jl
ZGlyZWN0LnBocCUzRnVybCUzRGh0dHAlM0EvL2xvY2FsaG9zdCUzQTgwODAvc2VjdXJpdHkvbWl4
ZWRDb250ZW50L3Jlc291cmNlcy9zdWJyZXNvdXJjZS9wcm90ZWN0ZWQtaW1hZ2UucGhwIiBvbmVy
cm9yPSJwYXNzKCkiIG9ubG9hZD0iZmFpbCgpIj4KKzxpbWcgc3JjPSJodHRwczovLzEyNy4wLjAu
MTo4NDQzL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHBzJTNBLy9sb2NhbGhvc3QlM0E4
NDQzL3Jlc291cmNlcy9yZWRpcmVjdC5waHAlM0Z1cmwlM0RodHRwJTNBLy9sb2NhbGhvc3QlM0E4
MDgwL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2UvcHJvdGVjdGVk
LWltYWdlLnBocCIgb25lcnJvcj0icGFzcygpIiBvbmxvYWQ9ImZhaWwoKSI+CiA8L2JvZHk+CiA8
L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333019</attachid>
            <date>2018-02-02 16:55:34 -0800</date>
            <delta_ts>2018-02-06 10:00:16 -0800</delta_ts>
            <desc>Patch and layout tests</desc>
            <filename>bug-182358-20180202165534.patch</filename>
            <type>text/plain</type>
            <size>37868</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4MDM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDc3MWNkOTczNThlYTc2
ODgyYjYxYWViZWQyMWJjYjU1NWJhNDQxMi4uZmI5OWRkNzMzNTE0ZGViYTI1MjJmZDE5NzQ3MDBi
ZDc1M2ZiZmMyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE4LTAyLTAyICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBMb2cgZXJyb3Igd2hlbiBh
dXRoZW50aWNhdGlvbiBjaGFsbGVuZ2UgaXMgYmxvY2tlZCBkdWUgdG8gYW4gaW5zZWN1cmUgcmVx
dWVzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgy
MzU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW1p
dCBhbiBlcnJvciBtZXNzYWdlIHRvIFdlYiBJbnNwZWN0b3IgY29uc29sZSB0aGF0IGV4cGxhaW5z
IHdoeSBhbiBhdXRoZW50aWNhdGlvbgorICAgICAgICBjaGFsbGVuZ2Ugd2FzIGJsb2NrZWQgc28g
dGhhdCBhIGRldmVsb3BlciBjYW4gZml4IHVwIHRoZWlyIHNpdGUuCisKKyAgICAgICAgVGVzdHM6
IGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWJhc2ljLWF1dGgtaW1h
Z2UuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENv
bnRlbnQvc2VjdXJlLXBhZ2UtbmF2aWdhdGVzLXRvLWJhc2ljLWF1dGgtaW5zZWN1cmUtcGFnZS5o
dHRwcy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVu
dC9zZWN1cmUtcGFnZS1uYXZpZ2F0ZXMtdG8tYmFzaWMtYXV0aC1zZWN1cmUtcGFnZS12aWEtaW5z
ZWN1cmUtcmVkaXJlY3QuaHR0cHMuaHRtbAorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpyZWNlaXZlZEZpcnN0RGF0YSk6
IExvZyB0byB0aGUgY29uc29sZSBhbiBlcnJvciBtZXNzYWdlCisgICAgICAgIGlmIHRoZSBkb2N1
bWVudCB3ZSBhcmUgbG9hZGluZyB3YXMgZm9yYmlkZGVuIGZyb20gcHJvbXB0aW5nIGZvciBjcmVk
ZW50aWFscy4KKyAgICAgICAgQWxzbyByZW1vdmVkIGR1cGxpY2F0ZSBhc3NlcnRpb24gdG8gZW5z
dXJlIGRvY3VtZW50IGlzIG5vbi1udWxsIGFuZCB1cGRhdGUKKyAgICAgICAgY2FsbCB0byBMaW5r
TG9hZGVyOjpsb2FkTGlua3NGcm9tSGVhZGVyKCkgdG8gdXNlIGxvY2FsIHZhcmlhYmxlIHRvIGFj
Y2VzcworICAgICAgICB0aGUgZG9jdW1lbnQgd2UgYXJlIGxvYWRpbmcgaW5zdGVhZCBvZiBhc2tp
bmcgdGhlIGZyYW1lIGZvciBpdCwgYWdhaW4uCisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRl
cjo6cmVwb3J0QXV0aGVudGljYXRpb25DaGFsbGVuZ2VCbG9ja2VkKTogQWRkZWQuCisgICAgICAg
ICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OmluaXQpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdEludGVybmFsKToKKyAg
ICAgICAgVHJhY2sgdGhlIGRlY2lzaW9uIHRvIGZvcmJpZCBhc2tpbmcgZm9yIGNyZWRlbnRpYWxz
IGR1ZSB0byBGZXRjaCBzcGVjLiByZXF1aXJlbWVudHMgKG1fY2FuQXNrQ2xpZW50Rm9yQ3JlZGVu
dGlhbHMpCisgICAgICAgIGluZGVwZW5kZW50bHkgZnJvbSB0aGUgZGVjaXNpb24gdG8gZm9yYmlk
IHRoZW0gZHVlIHRvIG1ha2luZyBhbiBpbnNlY3VyZSByZXF1ZXN0IChtX3dhc0luc2VjdXJlUmVx
dWVzdFNlZW4pCisgICAgICAgIHNvIHRoYXQgd2Uga25vdyB0aGUgcmVhc29uIHdoeSB3ZSBibG9j
a2VkIGFza2luZyBmb3IgY3JlZGVudGlhbHMgd2hlbiB3ZSByZWNlaXZlIGFuIGF1dGhlbnRpY2F0
aW9uIGNoYWxsZW5nZS4KKworICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OmRpZEJs
b2NrQXV0aGVudGljYXRpb25DaGFsbGVuZ2UpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJl
c291cmNlTG9hZGVyOjppc0FsbG93ZWRUb0Fza1VzZXJGb3JDcmVkZW50aWFscyBjb25zdCk6IE1v
ZGlmaWVkIGNvZGUgbm93IHRoYXQgd2UgdHJhY2sKKyAgICAgICAgd2hldGhlciB3ZSBoYXZlIHNl
ZW4gYW4gaW5zZWN1cmUgcmVxdWVzdCBzbyBmYXIgaW5kZXBlbmRlbnRseSBmcm9tIGRlY2lzaW9u
IHRvIGZvcmJpZCBwcm9tcHRpbmcgZm9yCisgICAgICAgIGNyZWRlbnRpYWxzIGR1ZSB0byBhIEZl
dGNoIHNwZWMuIHJlcXVpcmVtZW50LgorCisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRl
cjo6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKToKKyAgICAgICAgU3RvcmUgYSBi
aXQgd2hldGhlciB3ZSBoYXZlIHNlZW4gYW4gaW5zZWN1cmUgcmVxdWVzdCB3aGVuIGxvYWRpbmcg
dGhlIHJlc291cmNlIHNvIGZhci4gRGlzYWxsb3cKKyAgICAgICAgYXNraW5nIGZvciBjcmVkZW50
aWFscyBpZiB3ZSBoYXZlIHNlZW4gYW4gaW5zZWN1cmUgcmVxdWVzdCBzbyBmYXIuIE9uY2Ugd2Ug
cmVjZWl2ZSBhIHJlc3BvbnNlCisKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkZXIuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjp3YXNBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZUJsb2NrZWQgY29uc3QpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9h
ZGVyOjp3YXNJbnNlY3VyZVJlcXVlc3RTZWVuIGNvbnN0KTogQWRkZWQuCisKIDIwMTgtMDItMDIg
IERhdmlkIFF1ZXNhZGEgIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJB
cHBNYW5pZmVzdCBzY29wZSBzaG91bGQgZGVmYXVsdCB0byB0aGUgY29udGFpbmluZyBkaXJlY3Rv
cnkgb2Ygc3RhcnRfdXJsIGlmICdzY29wZScgaXMgbm90IHNwZWNpZmllZApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAx
MjViYjdjNzdmNWUyYmRiYzBmM2I5ZTNiNTg4MDE1NzM2N2FlNmJlLi43OTI1YjVlOTA0MTc3ZWEy
N2U3ZjY4ZWRmZGQ3ZDhmZGQ3ZjQ3MzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE4
LTAyLTAyICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBMb2cg
ZXJyb3Igd2hlbiBhdXRoZW50aWNhdGlvbiBjaGFsbGVuZ2UgaXMgYmxvY2tlZCBkdWUgdG8gYW4g
aW5zZWN1cmUgcmVxdWVzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTgyMzU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgSGF2ZSBuZXR3b3JrIHByb2Nlc3Mgbm90aWZ5IHRoZSB3ZWIgcHJvY2VzcyB3aGVu
IGl0IGJsb2NrcyBhbiBhdXRoZW50aWNhdGlvbiBjaGFsbGVuZ2UuCisKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2Fk
Ojpjb21wbGV0ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKToKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrTG9hZENsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrTG9hZENs
aWVudDo6ZGlkQmxvY2tBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSk6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya1Jlc291cmNlTG9hZGVyOjpkaWRCbG9ja0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKToKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkQmxvY2tBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluOgor
CiAyMDE4LTAyLTAyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBDb25maWd1cmUgc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSBvbiB0aGUgd2Vi
IHNpdGUgZGF0YSBzdG9yZSBhbmQgbW92ZSBpdCB0byBhIENhY2hlcyBzdWJmb2xkZXIgYXMgYSBk
ZWZhdWx0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCBjNGY1Zjg2ZjUz
ZmM5NGJmZWVmYTlkM2VjMWI5ZWE0MTE1YWIyMDk3Li5lOTQwOTYzNDQ0NmNiM2JkMDg3YmI5YzEw
ZWI0NmZhOWVjN2I4YTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAg
LTExNSw2ICsxMTUsNyBAQAogI2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogI2lu
Y2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3ViZnJhbWVMb2FkZXIuaCIKKyNpbmNsdWRl
ICJTdWJyZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIlRleHRSZXNvdXJjZURlY29kZXIuaCIK
ICNpbmNsdWRlICJVc2VyQ29udGVudENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJVc2VyR2VzdHVy
ZUluZGljYXRvci5oIgpAQCAtNjc5LDggKzY4MCwxMSBAQCB2b2lkIEZyYW1lTG9hZGVyOjpyZWNl
aXZlZEZpcnN0RGF0YSgpCiAgICAgQVNTRVJUKG1fZnJhbWUuZG9jdW1lbnQoKSk7CiAgICAgYXV0
byYgZG9jdW1lbnQgPSAqbV9mcmFtZS5kb2N1bWVudCgpOwogCi0gICAgQVNTRVJUKG1fZnJhbWUu
ZG9jdW1lbnQoKSk7Ci0gICAgTGlua0xvYWRlcjo6bG9hZExpbmtzRnJvbUhlYWRlcihtX2RvY3Vt
ZW50TG9hZGVyLT5yZXNwb25zZSgpLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6TGlu
ayksIG1fZnJhbWUuZG9jdW1lbnQoKS0+dXJsKCksICptX2ZyYW1lLmRvY3VtZW50KCksIExpbmtM
b2FkZXI6Ok1lZGlhQXR0cmlidXRlQ2hlY2s6Ok1lZGlhQXR0cmlidXRlRW1wdHkpOworICAgIGF1
dG8qIG1haW5SZXNvdXJjZUxvYWRlciA9IG1fZG9jdW1lbnRMb2FkZXItPm1haW5SZXNvdXJjZUxv
YWRlcigpOworICAgIGlmIChtYWluUmVzb3VyY2VMb2FkZXIgJiYgbWFpblJlc291cmNlTG9hZGVy
LT53YXNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUJsb2NrZWQoKSAmJiBtYWluUmVzb3VyY2VMb2Fk
ZXItPndhc0luc2VjdXJlUmVxdWVzdFNlZW4oKSkKKyAgICAgICAgcmVwb3J0QXV0aGVudGljYXRp
b25DaGFsbGVuZ2VCbG9ja2VkKCZtX2ZyYW1lLCBkb2N1bWVudC51cmwoKSwgQVNDSUlMaXRlcmFs
IHsgIm5hdmlnYXRlZCBmcm9tIGEgc2VjdXJlIHBhZ2Ugb3Igd2VudCB0aHJvdWdoIGFuIGluc2Vj
dXJlIHJlZGlyZWN0IiB9KTsKKworICAgIExpbmtMb2FkZXI6OmxvYWRMaW5rc0Zyb21IZWFkZXIo
bV9kb2N1bWVudExvYWRlci0+cmVzcG9uc2UoKS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5h
bWU6OkxpbmspLCBkb2N1bWVudC51cmwoKSwgZG9jdW1lbnQsIExpbmtMb2FkZXI6Ok1lZGlhQXR0
cmlidXRlQ2hlY2s6Ok1lZGlhQXR0cmlidXRlRW1wdHkpOwogCiAgICAgZG91YmxlIGRlbGF5Owog
ICAgIFN0cmluZyB1cmxTdHJpbmc7CkBAIC0xNTU0LDYgKzE1NTgsMTQgQEAgdm9pZCBGcmFtZUxv
YWRlcjo6cmVwb3J0QmxvY2tlZFBvcnRGYWlsZWQoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcm
IHVybCkKICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNv
dXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJOb3QgYWxsb3dlZCB0byB1c2Ug
cmVzdHJpY3RlZCBuZXR3b3JrIHBvcnQ6ICIgKyB1cmwpOwogfQogCit2b2lkIEZyYW1lTG9hZGVy
OjpyZXBvcnRBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUJsb2NrZWQoRnJhbWUqIGZyYW1lLCBjb25z
dCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiByZWFzb24pCit7CisgICAgaWYgKCFmcmFtZSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtYWtlU3RyaW5n
KCJCbG9ja2VkICIsIHVybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSwgIiBmcm9t
IGFza2luZyBmb3IgY3JlZGVudGlhbHMgYmVjYXVzZSAiLCByZWFzb24sICcuJykpOworfQorCiBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIEZyYW1lTG9hZGVyOjppbml0aWFsUmVxdWVzdCgpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIGFjdGl2ZURvY3VtZW50TG9hZGVyKCktPm9yaWdpbmFsUmVxdWVzdCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCBlZGU1ZGNkYzVhNjQxOWM2Njk5
OTg5ZGFjZTgxOTUyOTdmNmYzNTg0Li45MjY1Y2IxMjEyYmMyNjRmMTQ5OWU2NjA2MDNlYWU2MThi
NjE0MDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaApAQCAtMTMxLDYgKzEzMSw3
IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyB2b2lkIHJlcG9ydExvY2FsTG9hZEZhaWxlZChGcmFt
ZSosIGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICBzdGF0aWMgdm9pZCByZXBvcnRCbG9ja2VkUG9y
dEZhaWxlZChGcmFtZSosIGNvbnN0IFN0cmluZyYgdXJsKTsKKyAgICBzdGF0aWMgdm9pZCByZXBv
cnRBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUJsb2NrZWQoRnJhbWUqLCBjb25zdCBVUkwmLCBjb25z
dCBTdHJpbmcmIHJlYXNvbik7CiAKICAgICAvLyBGSVhNRTogVGhlc2UgYXJlIGFsbCBmdW5jdGlv
bnMgd2hpY2ggc3RvcCBsb2Fkcy4gV2UgaGF2ZSB0b28gbWFueS4KICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHN0b3BBbGxMb2FkZXJzKENsZWFyUHJvdmlzaW9uYWxJdGVtUG9saWN5ID0gU2hvdWxk
Q2xlYXJQcm92aXNpb25hbEl0ZW0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRl
ci5jcHAKaW5kZXggMDgzMzIzYmZjMGFmNzAyZjk2YmRkOWE0M2FkMjdlNTY3ZjU3NjBjZC4uODU1
N2Q3Yzc0NmFmZjUyODAzZmMzOGQ1Y2EyOGY2YmNiMzJlYmI1YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMzMsNyArMTMzLDggQEAgdm9pZCBSZXNvdXJj
ZUxvYWRlcjo6aW5pdChSZXNvdXJjZVJlcXVlc3QmJiBjbGllbnRSZXF1ZXN0LCBDb21wbGV0aW9u
SGFuZGxlcjx2b2kKICNlbmRpZgogICAgIAogICAgIG1fZGVmZXJzTG9hZGluZyA9IG1fb3B0aW9u
cy5kZWZlcnNMb2FkaW5nUG9saWN5ID09IERlZmVyc0xvYWRpbmdQb2xpY3k6OkFsbG93RGVmZXJz
TG9hZGluZyAmJiBtX2ZyYW1lLT5wYWdlKCktPmRlZmVyc0xvYWRpbmcoKTsKLSAgICBtX2NhbkFz
a0NsaWVudEZvckNyZWRlbnRpYWxzID0gbV9vcHRpb25zLmNsaWVudENyZWRlbnRpYWxQb2xpY3kg
PT0gQ2xpZW50Q3JlZGVudGlhbFBvbGljeTo6TWF5QXNrQ2xpZW50Rm9yQ3JlZGVudGlhbHMgJiYg
IWlzTWl4ZWRDb250ZW50KGNsaWVudFJlcXVlc3QudXJsKCkpOworICAgIG1fY2FuQXNrQ2xpZW50
Rm9yQ3JlZGVudGlhbHMgPSBtX29wdGlvbnMuY2xpZW50Q3JlZGVudGlhbFBvbGljeSA9PSBDbGll
bnRDcmVkZW50aWFsUG9saWN5OjpNYXlBc2tDbGllbnRGb3JDcmVkZW50aWFsczsKKyAgICBtX3dh
c0luc2VjdXJlUmVxdWVzdFNlZW4gPSBpc01peGVkQ29udGVudChjbGllbnRSZXF1ZXN0LnVybCgp
KTsKIAogICAgIGlmIChtX29wdGlvbnMuc2VjdXJpdHlDaGVjayA9PSBEb1NlY3VyaXR5Q2hlY2sg
JiYgIW1fZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkuY2FuRGlzcGxheShjbGll
bnRSZXF1ZXN0LnVybCgpKSkgewogICAgICAgICBGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2Fk
RmFpbGVkKG1fZnJhbWUuZ2V0KCksIGNsaWVudFJlcXVlc3QudXJsKCkuc3RyaW5nKCkpOwpAQCAt
NDA0LDcgKzQwNSw3IEBAIHZvaWQgUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdEludGVy
bmFsKFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIGNvbnN0IFJlCiAgICAgYm9vbCBpc1JlZGly
ZWN0ID0gIXJlZGlyZWN0UmVzcG9uc2UuaXNOdWxsKCk7CiAKICAgICBpZiAoaXNNaXhlZENvbnRl
bnQobV9yZXF1ZXN0LnVybCgpKSB8fCAoaXNSZWRpcmVjdCAmJiBpc01peGVkQ29udGVudChyZXF1
ZXN0LnVybCgpKSkpCi0gICAgICAgIG1fY2FuQXNrQ2xpZW50Rm9yQ3JlZGVudGlhbHMgPSBmYWxz
ZTsKKyAgICAgICAgbV93YXNJbnNlY3VyZVJlcXVlc3RTZWVuID0gdHJ1ZTsKIAogICAgIGlmIChp
c1JlZGlyZWN0KQogICAgICAgICBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3ko
KS0+Y3Jvc3NPcmlnaW5SZWRpcmVjdFJlY2VpdmVkKHRoaXMsIHJlcXVlc3QudXJsKCkpOwpAQCAt
NDYyLDYgKzQ2MywzMSBAQCBzdGF0aWMgdm9pZCBsb2dSZXNvdXJjZVJlc3BvbnNlU291cmNlKEZy
YW1lKiBmcmFtZSwgUmVzb3VyY2VSZXNwb25zZTo6U291cmNlIHNvdQogICAgIGZyYW1lLT5wYWdl
KCktPmRpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCkubG9nRGlhZ25vc3RpY01lc3NhZ2UoRGlhZ25v
c3RpY0xvZ2dpbmdLZXlzOjpyZXNvdXJjZVJlc3BvbnNlU291cmNlS2V5KCksIHNvdXJjZUtleSwg
U2hvdWxkU2FtcGxlOjpZZXMpOwogfQogCit2b2lkIFJlc291cmNlTG9hZGVyOjpkaWRCbG9ja0F1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCkKK3sKKyAgICBtX3dhc0F1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlQmxvY2tlZCA9IHRydWU7CisKKyAgICBpZiAoIW1fY2FuQXNrQ2xpZW50Rm9yQ3JlZGVudGlh
bHMpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghbV93YXNJbnNlY3VyZVJlcXVlc3RTZWVu
KQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBDb21wYXJpbmcgdGhlIGluaXRpYWwgcmVxdWVz
dCBVUkwgYW5kIGZpbmFsIHJlcXVlc3QgVVJMIGRvZXMgbm90IHRlbGwgdXMgd2hldGhlciBhIHJl
ZGlyZWN0IGhhcHBlbmVkIG9yIG5vdCBzaW5jZQorICAgIC8vIGEgc2VydmVyIGNhbiBzZXJ2ZSBh
IHJlZGlyZWN0IHRvIHRoZSBzYW1lIFVSTCB0aGF0IHdhcyByZXF1ZXN0ZWQuIEhvd2V2ZXIsIHRo
aXMgaXMgZ29vZCBlbm91Z2ggZm9yIG91ciBwdXJwb3NlLgorICAgIGJvb2wgd2FzUmVkaXJlY3Rl
ZCA9IG1fcmVxdWVzdC51cmwoKSAhPSBvcmlnaW5hbFJlcXVlc3QoKS51cmwoKTsKKworICAgIGJv
b2wgaXNNaXhlZENvbnRlbnQgPSB0aGlzLT5pc01peGVkQ29udGVudChtX3JlcXVlc3QudXJsKCkp
OworICAgIFN0cmluZyByZWFzb247CisgICAgaWYgKGlzTWl4ZWRDb250ZW50ICYmIHdhc1JlZGly
ZWN0ZWQpCisgICAgICAgIHJlYXNvbiA9IG1ha2VTdHJpbmcoIml0IGlzIGluc2VjdXJlIGNvbnRl
bnQgdGhhdCB3YXMgbG9hZGVkIHZpYSBhIHJlZGlyZWN0IGZyb20gIiwgb3JpZ2luYWxSZXF1ZXN0
KCkudXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkpOworICAgIGVsc2UgaWYg
KGlzTWl4ZWRDb250ZW50KQorICAgICAgICByZWFzb24gPSBBU0NJSUxpdGVyYWwgeyAiaXQgaXMg
aW5zZWN1cmUgY29udGVudCIgfTsKKyAgICBlbHNlCisgICAgICAgIHJlYXNvbiA9IG1ha2VTdHJp
bmcoIml0IHdhcyBsb2FkZWQgdmlhIGFuIGluc2VjdXJlIHJlZGlyZWN0IGZyb20gIiwgb3JpZ2lu
YWxSZXF1ZXN0KCkudXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkpOworICAg
IEZyYW1lTG9hZGVyOjpyZXBvcnRBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUJsb2NrZWQobV9mcmFt
ZS5nZXQoKSwgbV9yZXF1ZXN0LnVybCgpLCByZWFzb24pOworfQorCiB2b2lkIFJlc291cmNlTG9h
ZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcikKIHsKICAg
ICBBU1NFUlQoIW1fcmVhY2hlZFRlcm1pbmFsU3RhdGUpOwpAQCAtNzEzLDYgKzczOSw4IEBAIGJv
b2wgUmVzb3VyY2VMb2FkZXI6OmlzQWxsb3dlZFRvQXNrVXNlckZvckNyZWRlbnRpYWxzKCkgY29u
c3QKIHsKICAgICBpZiAoIW1fY2FuQXNrQ2xpZW50Rm9yQ3JlZGVudGlhbHMpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICBpZiAobV93YXNJbnNlY3VyZVJlcXVlc3RTZWVuKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJuIG1fb3B0aW9ucy5jcmVkZW50aWFscyA9PSBGZXRjaE9w
dGlvbnM6OkNyZWRlbnRpYWxzOjpJbmNsdWRlIHx8IChtX29wdGlvbnMuY3JlZGVudGlhbHMgPT0g
RmV0Y2hPcHRpb25zOjpDcmVkZW50aWFsczo6U2FtZU9yaWdpbiAmJiBtX2ZyYW1lLT5kb2N1bWVu
dCgpLT5zZWN1cml0eU9yaWdpbigpLmNhblJlcXVlc3Qob3JpZ2luYWxSZXF1ZXN0KCkudXJsKCkp
KTsKIH0KIApAQCAtNzMwLDYgKzc1OCw3IEBAIHZvaWQgUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2Vp
dmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjCiAgICAg
ICAgICAgICBmcmFtZUxvYWRlcigpLT5ub3RpZmllcigpLmRpZFJlY2VpdmVBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZSh0aGlzLCBjaGFsbGVuZ2UpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CisgICAgICAgIGRpZEJsb2NrQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKTsKICAgICB9CiAg
ICAgY2hhbGxlbmdlLmF1dGhlbnRpY2F0aW9uQ2xpZW50KCktPnJlY2VpdmVkUmVxdWVzdFRvQ29u
dGludWVXaXRob3V0Q3JlZGVudGlhbChjaGFsbGVuZ2UpOwogICAgIEFTU0VSVCghbV9oYW5kbGUg
fHwgIW1faGFuZGxlLT5oYXNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1Jlc291cmNlTG9hZGVyLmgKaW5kZXggZDg5YTZkYzgyMGQxZjFjMDExYzM0MDk4NjVj
ODdiNzYyYmQzM2RlMS4uMDk1OThhOGI2ZGQzMTVmOTZlODcyMmVkODYyOWZlMmU3MWVlYzFjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmgKQEAgLTg5LDYgKzg5LDkgQEAg
cHVibGljOgogCiAgICAgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4g
bV9pZGVudGlmaWVyOyB9CiAKKyAgICBib29sIHdhc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQmxv
Y2tlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2FzQXV0aGVudGljYXRpb25DaGFsbGVuZ2VCbG9ja2Vk
OyB9CisgICAgYm9vbCB3YXNJbnNlY3VyZVJlcXVlc3RTZWVuKCkgY29uc3QgeyByZXR1cm4gbV93
YXNJbnNlY3VyZVJlcXVlc3RTZWVuOyB9CisKICAgICB2aXJ0dWFsIHZvaWQgcmVsZWFzZVJlc291
cmNlcygpOwogICAgIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKCkgY29uc3QgeyBy
ZXR1cm4gbV9yZXNwb25zZTsgfQogCkBAIC0xMDYsNiArMTA5LDggQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3ImKTsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkUmV0cmlldmVEZXJpdmVkRGF0YUZyb21DYWNoZShjb25zdCBTdHJpbmcmIHR5cGUsIFNo
YXJlZEJ1ZmZlciYpOwogCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkaWRCbG9ja0F1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlKCk7CisKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkVXNlQ3JlZGVudGlh
bFN0b3JhZ2UoKTsKICNpZiBVU0UoUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLKQogICAg
IHZpcnR1YWwgYm9vbCBjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKGNvbnN0
IFByb3RlY3Rpb25TcGFjZSYpOwpAQCAtMTQ5LDYgKzE1NCw4IEBAIHB1YmxpYzoKIHByb3RlY3Rl
ZDoKICAgICBSZXNvdXJjZUxvYWRlcihGcmFtZSYsIFJlc291cmNlTG9hZGVyT3B0aW9ucyk7CiAK
KyAgICBib29sIGlzTWl4ZWRDb250ZW50KGNvbnN0IFVSTCYpIGNvbnN0OworCiAgICAgdm9pZCBk
aWRGaW5pc2hMb2FkaW5nT25lUGFydChjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKTsKICAgICB2
b2lkIGNsZWFudXBGb3JFcnJvcihjb25zdCBSZXNvdXJjZUVycm9yJik7CiAKQEAgLTIwMyw4ICsy
MTAsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgc2hvdWxkQ2FjaGVSZXNwb25zZShSZXNvdXJjZUhh
bmRsZSosIENGQ2FjaGVkVVJMUmVzcG9uc2VSZWYpIG92ZXJyaWRlOwogI2VuZGlmCiAKLSAgICBi
b29sIGlzTWl4ZWRDb250ZW50KGNvbnN0IFVSTCYpIGNvbnN0OwotCiAgICAgUmVzb3VyY2VSZXF1
ZXN0IG1fcmVxdWVzdDsKICAgICBSZXNvdXJjZVJlcXVlc3QgbV9vcmlnaW5hbFJlcXVlc3Q7IC8v
IEJlZm9yZSByZWRpcmVjdHMuCiAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gbV9yZXNvdXJjZURh
dGE7CkBAIC0yMjQsNiArMjI5LDggQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9kZWZlcnNMb2Fk
aW5nOwogICAgIGJvb2wgbV9jYW5Bc2tDbGllbnRGb3JDcmVkZW50aWFsczsKKyAgICBib29sIG1f
d2FzSW5zZWN1cmVSZXF1ZXN0U2VlbiB7IGZhbHNlIH07CisgICAgYm9vbCBtX3dhc0F1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlQmxvY2tlZCB7IGZhbHNlIH07CiAgICAgUmVzb3VyY2VSZXF1ZXN0IG1f
ZGVmZXJyZWRSZXF1ZXN0OwogICAgIFJlc291cmNlTG9hZGVyT3B0aW9ucyBtX29wdGlvbnM7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3Bw
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHAKaW5kZXggZDA2
MzRhYzI5MWE4YjJmZjk0Nzg3YWVjNGM3ODVkMDBlZDczNTA4ZS4uYTkwZmNmYTMwMDEwZjMwOGY4
NjM3YzliODkyZTI1MDQxMzFkN2I5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrTG9hZC5jcHAKQEAgLTI4MCw2ICsyODAsNyBAQCB2b2lkIE5ldHdvcmtMb2FkOjpj
b21wbGV0ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKENoYWxsZW5nZUNvbXBsZXRpb25IYW5kbGVy
JiYgYwogewogICAgIGJvb2wgaXNTZXJ2ZXJUcnVzdEV2YWx1YXRpb24gPSBtX2NoYWxsZW5nZS0+
cHJvdGVjdGlvblNwYWNlKCkuYXV0aGVudGljYXRpb25TY2hlbWUoKSA9PSBQcm90ZWN0aW9uU3Bh
Y2VBdXRoZW50aWNhdGlvblNjaGVtZVNlcnZlclRydXN0RXZhbHVhdGlvblJlcXVlc3RlZDsKICAg
ICBpZiAoIWlzQWxsb3dlZFRvQXNrVXNlckZvckNyZWRlbnRpYWxzKCkgJiYgIWlzU2VydmVyVHJ1
c3RFdmFsdWF0aW9uKSB7CisgICAgICAgIG1fY2xpZW50LmdldCgpLmRpZEJsb2NrQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UoKTsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoQXV0aGVudGljYXRp
b25DaGFsbGVuZ2VEaXNwb3NpdGlvbjo6VXNlQ3JlZGVudGlhbCwgeyB9KTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0xvYWRDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xv
YWRDbGllbnQuaAppbmRleCBlMGU5YmM1NzE1YTBkYjA4Njg4Nzk2ZmNhZWYyMGY2NGM3YjVlYTlh
Li4wYjM4YWMyYjZjZTQ1ZmRhMWNjZTIxOTljMjQyZjExYzE2YzNhN2ExIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENsaWVudC5oCkBAIC01Niw2ICs1
Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUJ1ZmZlcihSZWY8V2Vi
Q29yZTo6U2hhcmVkQnVmZmVyPiYmLCBpbnQgcmVwb3J0ZWRFbmNvZGVkRGF0YUxlbmd0aCkgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKGNvbnN0IFdlYkNvcmU6Ok5ldHdv
cmtMb2FkTWV0cmljcyYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmFpbExvYWRpbmcoY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQmxv
Y2tBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpIHsgfTsKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxk
Q2FwdHVyZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNzKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jl
c291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jl
c291cmNlTG9hZGVyLmNwcAppbmRleCBmYWU2NDNlNTgwYzhiZmQ5M2RlZTAzZmI4NGQzNzFiZWQz
MmYwMjlhLi5lMjUyYWRhMzYxZDc3MzA5MjcxZmMzMGJiZmU3NWI1NzlhMjQwZmFiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuY3BwCkBAIC00MzAsNiArNDMwLDExIEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpk
aWRGYWlsTG9hZGluZyhjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKICAgICBjbGVhbnVwKCk7
CiB9CiAKK3ZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRCbG9ja0F1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlKCkKK3sKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6RGlk
QmxvY2tBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpKTsKK30KKwogdm9pZCBOZXR3b3JrUmVzb3Vy
Y2VMb2FkZXI6OndpbGxTZW5kUmVkaXJlY3RlZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgcmVx
dWVzdCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYgcmVkaXJlY3RSZXF1ZXN0LCBSZXNvdXJj
ZVJlc3BvbnNlJiYgcmVkaXJlY3RSZXNwb25zZSkKIHsKICAgICArK21fcmVkaXJlY3RDb3VudDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNl
TG9hZGVyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxv
YWRlci5oCmluZGV4IDFmMTdkZGU2MTZiNTAxZWRmODY2OThjOTcxOGZlMzNiOWFkZGJjYzUuLjFk
YjBjZDdlOTA0Y2ZhM2QwMTkyOGU2NTc0MjdjODc2YTBiZWRkNTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmgKKysrIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaApAQCAtOTYs
NiArOTYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRSZWNlaXZlQnVmZmVyKFJlZjxXZWJDb3Jl
OjpTaGFyZWRCdWZmZXI+JiYsIGludCByZXBvcnRlZEVuY29kZWREYXRhTGVuZ3RoKSBvdmVycmlk
ZTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmcoY29uc3QgV2ViQ29yZTo6TmV0d29ya0xvYWRN
ZXRyaWNzJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRGYWlsTG9hZGluZyhjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZUVycm9yJikgb3ZlcnJpZGU7CisgICAgdm9pZCBkaWRCbG9ja0F1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlKCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBzaG91bGRDYXB0dXJlRXh0cmFOZXR3
b3JrTG9hZE1ldHJpY3MoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQgY29udmVydFRvRG93
bmxvYWQoRG93bmxvYWRJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDY5OTMzZDk1NzQ4
ZmM1OTY2MzZkNmU1M2RiZGZjZTg4NmMwYzE5MmQuLjZhNmQ4OGYzMTBhNmJkNmM0MmRhYjZmOTg1
YmU5MjBhMGM1NjdlZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
TmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTE2MCw2ICsxNjAsMTQgQEAgdm9pZCBX
ZWJSZXNvdXJjZUxvYWRlcjo6ZGlkRmFpbFJlc291cmNlTG9hZChjb25zdCBSZXNvdXJjZUVycm9y
JiBlcnJvcikKICAgICBtX2NvcmVMb2FkZXItPmRpZEZhaWwoZXJyb3IpOwogfQogCit2b2lkIFdl
YlJlc291cmNlTG9hZGVyOjpkaWRCbG9ja0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCkKK3sKKyAg
ICBMT0coTmV0d29yaywgIihXZWJQcm9jZXNzKSBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkQmxvY2tB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZSBmb3IgJyVzJyIsIG1fY29yZUxvYWRlci0+dXJsKCkuc3Ry
aW5nKCkubGF0aW4xKCkuZGF0YSgpKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJkaWRC
bG9ja0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOiAocGFnZUlEID0gJSIgUFJJdTY0ICIsIGZyYW1l
SUQgPSAlIiBQUkl1NjQgIiwgcmVzb3VyY2VJRCA9ICUiIFBSSXU2NCAiKSIsIG1fdHJhY2tpbmdQ
YXJhbWV0ZXJzLnBhZ2VJRCwgbV90cmFja2luZ1BhcmFtZXRlcnMuZnJhbWVJRCwgbV90cmFja2lu
Z1BhcmFtZXRlcnMucmVzb3VyY2VJRCk7CisKKyAgICBtX2NvcmVMb2FkZXItPmRpZEJsb2NrQXV0
aGVudGljYXRpb25DaGFsbGVuZ2UoKTsKK30KKwogI2lmIEVOQUJMRShTSEFSRUFCTEVfUkVTT1VS
Q0UpCiB2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzb3VyY2UoY29uc3QgU2hh
cmVhYmxlUmVzb3VyY2U6OkhhbmRsZSYgaGFuZGxlKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKaW5kZXggNjQyMWMyMzM1
YmVkMWI3NGU1ZjA4ZTY0ZTk3MTc3MGIzY2RiNWJmNi4uMzE5OGFjN2IxMjhhMGQ0YTI2ZjQwYjIx
M2M3MzNlMzI0ODA1YWM0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05l
dHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
TmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCkBAIC04MSw2ICs4MSw3IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBkaWRSZXRyaWV2ZURlcml2ZWREYXRhKGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3Qg
SVBDOjpEYXRhUmVmZXJlbmNlJik7CiAgICAgdm9pZCBkaWRGaW5pc2hSZXNvdXJjZUxvYWQoY29u
c3QgV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzJik7CiAgICAgdm9pZCBkaWRGYWlsUmVzb3Vy
Y2VMb2FkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKKyAgICB2b2lkIGRpZEJsb2Nr
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKTsKICNpZiBFTkFCTEUoU0hBUkVBQkxFX1JFU09VUkNF
KQogICAgIHZvaWQgZGlkUmVjZWl2ZVJlc291cmNlKGNvbnN0IFNoYXJlYWJsZVJlc291cmNlOjpI
YW5kbGUmKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05l
dHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgppbmRleCAzMzVlM2Iy
MGY2ZWYwNDE5NWYyMmY5ZjA4NDQ2YTEwZWRlMDRmNTAyLi45NWY2OWNiY2ViMDQ2MmY0NzljZjcz
YzM5NjlhYjMzOTc2NThkZWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
TmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgpAQCAtMjgs
NiArMjgsNyBAQCBtZXNzYWdlcyAtPiBXZWJSZXNvdXJjZUxvYWRlciBMZWdhY3lSZWNlaXZlciB7
CiAgICAgRGlkRmluaXNoUmVzb3VyY2VMb2FkKFdlYkNvcmU6Ok5ldHdvcmtMb2FkTWV0cmljcyBu
ZXR3b3JrTG9hZE1ldHJpY3MpCiAgICAgRGlkUmV0cmlldmVEZXJpdmVkRGF0YShTdHJpbmcgdHlw
ZSwgSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEpCiAgICAgRGlkRmFpbFJlc291cmNlTG9hZChXZWJD
b3JlOjpSZXNvdXJjZUVycm9yIGVycm9yKQorICAgIERpZEJsb2NrQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UoKQogCiAjaWYgRU5BQkxFKFNIQVJFQUJMRV9SRVNPVVJDRSkKICAgICAvLyBEaWRSZWNl
aXZlUmVzb3VyY2UgaXMgZm9yIHdoZW4gd2UgaGF2ZSB0aGUgZW50aXJlIHJlc291cmNlIGRhdGEg
YXZhaWxhYmxlIGF0IG9uY2UsIHN1Y2ggYXMgd2hlbiB0aGUgcmVzb3VyY2UgaXMgY2FjaGVkIGlu
IG1lbW9yeQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDUxYTYzODhkN2M3MDkyODg3NWJmMGI1NDBmZDY2ZjJmNWI1OGVmYzgu
LmVkZjg3NGQ4M2EzOGZiNmFkZTIyNDU4ZGUzNmY1YWFlMWJmNTk4MjcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyOSBAQAorMjAxOC0wMi0wMiAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisK
KyAgICAgICAgTG9nIGVycm9yIHdoZW4gYXV0aGVudGljYXRpb24gY2hhbGxlbmdlIGlzIGJsb2Nr
ZWQgZHVlIHRvIGFuIGluc2VjdXJlIHJlcXVlc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MjM1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBtb3JlIHRlc3RzIGFuZCB1cGRhdGUgZXhwZWN0ZWQg
cmVzdWx0cyBvZiBleGlzdGluZyB0ZXN0cyBub3cgdGhhdCB3ZSBlbWl0IGNvbnNvbGUgbWVzc2Fn
ZXMuCisKKyAgICAgICAgQWxzbyBmaXhlZCBhIHR5cG8gaW4gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXJlZGlyZWN0LXRvLXNlY3VyZS1yZWRpcmVj
dC10by1iYXNpYy1hdXRoLWluc2VjdXJlLWltYWdlLmh0dHBzLmh0bWwKKyAgICAgICAgc28gdGhh
dCBpdCB0ZXN0cyB3aGF0IGl0IGFjdHVhbGx5IGNsYWltcyB0byB0ZXN0LgorCisgICAgICAgICog
aHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtYmFzaWMtYXV0aC1pbWFn
ZS5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJp
dHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWJhc2ljLWF1dGgtaW1hZ2UuaHR0cHMuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvc2Vj
dXJlLXJlZGlyZWN0LXRvLXNlY3VyZS1yZWRpcmVjdC10by1iYXNpYy1hdXRoLWluc2VjdXJlLWlt
YWdlLmh0dHBzLmh0bWwuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRl
bnQvaW5zZWN1cmUtZG93bmxvYWQtcmVkaXJlY3RzLXRvLWJhc2ljLWF1dGgtc2VjdXJlLWRvd25s
b2FkLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L21p
eGVkQ29udGVudC9pbnNlY3VyZS1pbWFnZS1yZWRpcmVjdHMtdG8tYmFzaWMtYXV0aC1zZWN1cmUt
aW1hZ2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRD
b250ZW50L3Jlc291cmNlcy9zdWJyZXNvdXJjZS9wcm90ZWN0ZWQtcGFnZS5waHA6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3Jlc291cmNlcy9zdWJy
ZXNvdXJjZTIvcHJvdGVjdGVkLWltYWdlLnBocDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9zZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXBhZ2UtbmF2aWdhdGVzLXRvLWJhc2ljLWF1
dGgtaW5zZWN1cmUtcGFnZS5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1wYWdlLW5hdmlnYXRlcy10by1i
YXNpYy1hdXRoLWluc2VjdXJlLXBhZ2UuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXBhZ2UtbmF2aWdhdGVzLXRvLWJh
c2ljLWF1dGgtc2VjdXJlLXBhZ2UtdmlhLWluc2VjdXJlLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQv
c2VjdXJlLXBhZ2UtbmF2aWdhdGVzLXRvLWJhc2ljLWF1dGgtc2VjdXJlLXBhZ2UtdmlhLWluc2Vj
dXJlLXJlZGlyZWN0Lmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1yZWRpcmVjdC10by1pbnNlY3VyZS1yZWRpcmVjdC10
by1iYXNpYy1hdXRoLXNlY3VyZS1pbWFnZS5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
aHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXJlZGlyZWN0LXRvLXNlY3Vy
ZS1yZWRpcmVjdC10by1iYXNpYy1hdXRoLWluc2VjdXJlLWltYWdlLmh0dHBzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9zZWN1cmUtcmVk
aXJlY3QtdG8tc2VjdXJlLXJlZGlyZWN0LXRvLWJhc2ljLWF1dGgtaW5zZWN1cmUtaW1hZ2UuaHR0
cHMuaHRtbDoKKwogMjAxOC0wMi0wMiAgUnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZWJhc2VsaW5lIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
MmRjb250ZXh0L2ltYWdlYml0bWFwL2NyZWF0ZUltYWdlQml0bWFwLWludmFsaWQtYXJncy5odG1s
IGZvciBpT1MuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21p
eGVkQ29udGVudC9pbnNlY3VyZS1iYXNpYy1hdXRoLWltYWdlLmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWJh
c2ljLWF1dGgtaW1hZ2UuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5MmFkOGQ0YmI3
YTU5MGJmMGNmMjFlZmMzYmU1Y2RjNWVlMzkzMDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9pbnNlY3VyZS1iYXNpYy1hdXRo
LWltYWdlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgNDogVGhlIHBhZ2UgYXQgaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My9zZWN1cml0eS9t
aXhlZENvbnRlbnQvaW5zZWN1cmUtYmFzaWMtYXV0aC1pbWFnZS5odHRwcy5odG1sIHdhcyBhbGxv
d2VkIHRvIGRpc3BsYXkgaW5zZWN1cmUgY29udGVudCBmcm9tIGh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MC9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJlc291cmNlMi9wcm90ZWN0ZWQt
aW1hZ2UucGhwLgorCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzE6IFRoZSBwYWdlIGF0IGh0dHBz
Oi8vMTI3LjAuMC4xOjg0NDMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWJhc2ljLWF1
dGgtaW1hZ2UuaHR0cHMuaHRtbCB3YXMgYWxsb3dlZCB0byBkaXNwbGF5IGluc2VjdXJlIGNvbnRl
bnQgZnJvbSBodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3Jlc291
cmNlcy9zdWJyZXNvdXJjZTIvcHJvdGVjdGVkLWltYWdlLnBocC4KKworQ09OU09MRSBNRVNTQUdF
OiBCbG9ja2VkIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVz
b3VyY2VzL3N1YnJlc291cmNlMi9wcm90ZWN0ZWQtaW1hZ2UucGhwIGZyb20gYXNraW5nIGZvciBj
cmVkZW50aWFscyBiZWNhdXNlIGl0IGlzIGluc2VjdXJlIGNvbnRlbnQuCitUZXN0cyB0aGF0IHdl
IGRvIG5vdCBhc2sgZm9yIGNyZWRlbnRpYWxzIHdoZW4gbG9hZGluZyBhbiBpbnNlY3VyZSBpbWFn
ZSB0aGF0IHJlcXVpcmVzIGJhc2ljIGF1dGhlbnRpY2F0aW9uLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyBkaWQgbm90IGxvYWQgaW1hZ2UuCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtYmFzaWMtYXV0aC1p
bWFnZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENv
bnRlbnQvaW5zZWN1cmUtYmFzaWMtYXV0aC1pbWFnZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJk
NjUxZjk3ODM4MTcxYTBmYWYyMDZkNjkyYTYyNjgzZWI5OTA0YzEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9pbnNlY3VyZS1i
YXNpYy1hdXRoLWltYWdlLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAg
ICB0ZXN0UnVubmVyLnNldEhhbmRsZXNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZXModHJ1ZSk7Cisg
ICAgdGVzdFJ1bm5lci5zZXRBdXRoZW50aWNhdGlvblVzZXJuYW1lKCJ0ZXN0VXNlciIpOworICAg
IHRlc3RSdW5uZXIuc2V0QXV0aGVudGljYXRpb25QYXNzd29yZCgidGVzdFBhc3N3b3JkIik7Cit9
CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZnVuY3Rpb24gcGFzcygpCit7Cisg
ICAgdGVzdFBhc3NlZCgiZGlkIG5vdCBsb2FkIGltYWdlLiIpOworICAgIGZpbmlzaEpTVGVzdCgp
OworfQorCitmdW5jdGlvbiBmYWlsKCkKK3sKKyAgICB0ZXN0RmFpbGVkKCJkaWQgbG9hZCBpbWFn
ZS4iKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgd2UgZG8gbm90IGFzayBmb3IgY3Jl
ZGVudGlhbHMgd2hlbiBsb2FkaW5nIGFuIGluc2VjdXJlIGltYWdlIHRoYXQgcmVxdWlyZXMgYmFz
aWMgYXV0aGVudGljYXRpb24uIik7Cis8L3NjcmlwdD4KKzxpbWcgc3JjPSJodHRwOi8vbG9jYWxo
b3N0OjgwMDAvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3Jlc291cmNlcy9zdWJyZXNvdXJjZTIvcHJv
dGVjdGVkLWltYWdlLnBocCIgb25lcnJvcj0icGFzcygpIiBvbmxvYWQ9ImZhaWwoKSI+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L21peGVkQ29udGVudC9pbnNlY3VyZS1kb3dubG9hZC1yZWRpcmVjdHMtdG8tYmFzaWMtYXV0aC1z
ZWN1cmUtZG93bmxvYWQuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtZG93bmxvYWQtcmVkaXJlY3RzLXRvLWJh
c2ljLWF1dGgtc2VjdXJlLWRvd25sb2FkLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA2ZjA4ZjM3
NTE3NzY4NzliM2QzNjBkNzVhNThkYzhjZDBmNzMzNTJkLi45ODI2NGU1YjFlNzMwZWZmZjg3ODkx
YzRlMDYzM2E4MjQxZjQyZTNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L21peGVkQ29udGVudC9pbnNlY3VyZS1kb3dubG9hZC1yZWRpcmVjdHMtdG8tYmFzaWMt
YXV0aC1zZWN1cmUtZG93bmxvYWQuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWRvd25sb2FkLXJlZGly
ZWN0cy10by1iYXNpYy1hdXRoLXNlY3VyZS1kb3dubG9hZC5odHRwcy1leHBlY3RlZC50eHQKQEAg
LTEsMiArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IEJsb2NrZWQgaHR0cHM6Ly9sb2NhbGhvc3Q6
ODQ0My9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJlc291cmNlL3Byb3RlY3Rl
ZC1wZGYucGhwIGZyb20gYXNraW5nIGZvciBjcmVkZW50aWFscyBiZWNhdXNlIGl0IHdhcyBsb2Fk
ZWQgdmlhIGFuIGluc2VjdXJlIHJlZGlyZWN0IGZyb20gaHR0cDovLzEyNy4wLjAuMTo4MDgwL3Jl
c291cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvc2VjdXJpdHkv
bWl4ZWRDb250ZW50L3Jlc291cmNlcy9zdWJyZXNvdXJjZS9wcm90ZWN0ZWQtcGRmLnBocC4KK0NP
TlNPTEUgTUVTU0FHRTogQmxvY2tlZCBodHRwczovL2xvY2FsaG9zdDo4NDQzL3NlY3VyaXR5L21p
eGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2UvcHJvdGVjdGVkLXBkZi5waHAgZnJvbSBh
c2tpbmcgZm9yIGNyZWRlbnRpYWxzIGJlY2F1c2UgbmF2aWdhdGVkIGZyb20gYSBzZWN1cmUgcGFn
ZSBvciB3ZW50IHRocm91Z2ggYW4gaW5zZWN1cmUgcmVkaXJlY3QuCiBBTEVSVDogVW5hdXRob3Jp
emVkCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRD
b250ZW50L2luc2VjdXJlLWltYWdlLXJlZGlyZWN0cy10by1iYXNpYy1hdXRoLXNlY3VyZS1pbWFn
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29u
dGVudC9pbnNlY3VyZS1pbWFnZS1yZWRpcmVjdHMtdG8tYmFzaWMtYXV0aC1zZWN1cmUtaW1hZ2Ut
ZXhwZWN0ZWQudHh0CmluZGV4IDhiNDQzNzY5ZTM3Zjg1ODMyMmZmNzU0ZDY5YjQ0ZWQxZDk4NWUx
NzguLjYzZDMxNzcxNmFmM2RlOTdhNjcyNWFlMmRkNTMxZDhjYTNjN2ViZmIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWlt
YWdlLXJlZGlyZWN0cy10by1iYXNpYy1hdXRoLXNlY3VyZS1pbWFnZS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvaW5zZWN1cmUt
aW1hZ2UtcmVkaXJlY3RzLXRvLWJhc2ljLWF1dGgtc2VjdXJlLWltYWdlLWV4cGVjdGVkLnR4dApA
QCAtMSw1ICsxLDYgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSAxNzogVGhlIHBhZ2UgYXQgaHR0
cHM6Ly8xMjcuMC4wLjE6ODQ0My9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL2ZyYW1l
LXdpdGgtaW5zZWN1cmUtaW1hZ2UtcmVkaXJlY3RzLXRvLWJhc2ljLWF1dGgtc2VjdXJlLWltYWdl
Lmh0bWwgd2FzIGFsbG93ZWQgdG8gZGlzcGxheSBpbnNlY3VyZSBjb250ZW50IGZyb20gaHR0cDov
LzEyNy4wLjAuMTo4MDgwL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHBzOi8vbG9jYWxo
b3N0Ojg0NDMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3Jlc291cmNlcy9zdWJyZXNvdXJjZS9wcm90
ZWN0ZWQtaW1hZ2UucGhwLgogCitDT05TT0xFIE1FU1NBR0U6IEJsb2NrZWQgaHR0cHM6Ly9sb2Nh
bGhvc3Q6ODQ0My9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJlc291cmNlL3By
b3RlY3RlZC1pbWFnZS5waHAgZnJvbSBhc2tpbmcgZm9yIGNyZWRlbnRpYWxzIGJlY2F1c2UgaXQg
d2FzIGxvYWRlZCB2aWEgYW4gaW5zZWN1cmUgcmVkaXJlY3QgZnJvbSBodHRwOi8vMTI3LjAuMC4x
OjgwODAvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My9z
ZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJlc291cmNlL3Byb3RlY3RlZC1pbWFn
ZS5waHAuCiBUaGlzIHRlc3Qgb3BlbnMgYSBuZXcgd2luZG93IHRvIGEgc2VjdXJlIHBhZ2UgdGhh
dCBsb2FkcyBhbiBpbnNlY3VyZSBpbWFnZSB0aGF0IHJlZGlyZWN0cyB0byBhIHNlY3VyZSBpbWFn
ZSBndWFyZGVkIGJ5IGJhc2ljIGF1dGhlbnRpY2F0aW9uLiBUaGUgc2VjdXJlIGltYWdlIHNob3Vs
ZCBiZSBibG9ja2VkIGJlY2F1c2UgaXQgcmVxdWlyZXMgY3JlZGVudGlhbHMgYW5kIHdhcyBsb2Fk
ZWQgdmlhIGFuIGluc2VjdXJlIHJlZGlyZWN0LgogCiBQQVNTIGRpZCBub3QgbG9hZCBpbWFnZS4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50
L3Jlc291cmNlcy9zdWJyZXNvdXJjZS9wcm90ZWN0ZWQtcGFnZS5waHAgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2UvcHJv
dGVjdGVkLXBhZ2UucGhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkMjE3Yzc4N2FiMDczZTQxYmEyZjY1M2FlNDIy
YmVhZjc2MTkxYzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2UvcHJvdGVjdGVkLXBhZ2Uu
cGhwCkBAIC0wLDAgKzEsMjMgQEAKKzw/cGhwCitoZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG5vLXN0
b3JlIik7CitoZWFkZXIoIkNvbm5lY3Rpb246IGNsb3NlIik7CitpZiAoIWlzc2V0KCRfU0VSVkVS
WyJQSFBfQVVUSF9VU0VSIl0pKSB7CisgICAgaGVhZGVyKCJXV1ctYXV0aGVudGljYXRlOiBCYXNp
YyByZWFsbT1cIiIgLiAkX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSAuICJcIiIpOworICAgIGhlYWRl
cigiSFRUUC8xLjAgNDAxIFVuYXV0aG9yaXplZCIpOworfQoraGVhZGVyKCJDb250ZW50LVR5cGU6
IHRleHQvaHRtbCIpOworPz4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxwPjw/
cGhwIGlmIChpc3NldCgkX1NFUlZFUlsiUEhQX0FVVEhfVVNFUiJdKSkgeyA/PgorQXV0aGVudGlj
YXRlZCB3aXRoIHVzZXJuYW1lIDw/cGhwIGVjaG8gaHRtbHNwZWNpYWxjaGFycygkX1NFUlZFUlsi
UEhQX0FVVEhfVVNFUiJdKTsgPz4uCis8P3BocCB9IGVsc2UgeyA/PgorVW5hdXRob3JpemVkLgor
PD9waHAgfSA/PjwvcD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3Jlc291
cmNlcy9zdWJyZXNvdXJjZTIvcHJvdGVjdGVkLWltYWdlLnBocCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3Jlc291cmNlcy9zdWJyZXNvdXJjZTIvcHJvdGVj
dGVkLWltYWdlLnBocApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOWIwMjcxMWNjNmEyYTdlODRlYTljZGVmNmI0ZTEx
NjEyZjdmYmMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJlc291cmNlMi9wcm90ZWN0ZWQtaW1hZ2Uu
cGhwCkBAIC0wLDAgKzEsMTIgQEAKKzw/cGhwCitoZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG5vLXN0
b3JlIik7CitoZWFkZXIoIkNvbm5lY3Rpb246IGNsb3NlIik7CitpZiAoIWlzc2V0KCRfU0VSVkVS
WyJQSFBfQVVUSF9VU0VSIl0pKSB7CisgICAgaGVhZGVyKCJXV1ctYXV0aGVudGljYXRlOiBCYXNp
YyByZWFsbT1cIiIgLiAkX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSAuICJcIiIpOworICAgIGhlYWRl
cigiSFRUUC8xLjAgNDAxIFVuYXV0aG9yaXplZCIpOworICAgIGV4aXQ7Cit9CisvLyBBdXRoZW50
aWNhdGVkCitoZWFkZXIoIkNvbnRlbnQtVHlwZTogaW1hZ2UvcG5nIik7CitlY2hvIGZpbGVfZ2V0
X2NvbnRlbnRzKCIuLi8uLi8uLi9jb250ZW50U2VjdXJpdHlQb2xpY3kvYmxvY2stYWxsLW1peGVk
LWNvbnRlbnQvcmVzb3VyY2VzL3JlZC1zcXVhcmUucG5nIik7Cis/PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXBhZ2UtbmF2
aWdhdGVzLXRvLWJhc2ljLWF1dGgtaW5zZWN1cmUtcGFnZS5odHRwcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9zZWN1cmUtcGFnZS1u
YXZpZ2F0ZXMtdG8tYmFzaWMtYXV0aC1pbnNlY3VyZS1wYWdlLmh0dHBzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lZWI0MGQ2MzUxMWNkODE0YmY5NDc5NDU1YmVhOWNmY2EzM2VkNDhjCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRl
bnQvc2VjdXJlLXBhZ2UtbmF2aWdhdGVzLXRvLWJhc2ljLWF1dGgtaW5zZWN1cmUtcGFnZS5odHRw
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitDT05TT0xFIE1FU1NBR0U6IEJsb2NrZWQg
aHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3Vi
cmVzb3VyY2UvcHJvdGVjdGVkLXBhZ2UucGhwIGZyb20gYXNraW5nIGZvciBjcmVkZW50aWFscyBi
ZWNhdXNlIGl0IGlzIGluc2VjdXJlIGNvbnRlbnQuCitDT05TT0xFIE1FU1NBR0U6IEJsb2NrZWQg
aHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3Vi
cmVzb3VyY2UvcHJvdGVjdGVkLXBhZ2UucGhwIGZyb20gYXNraW5nIGZvciBjcmVkZW50aWFscyBi
ZWNhdXNlIG5hdmlnYXRlZCBmcm9tIGEgc2VjdXJlIHBhZ2Ugb3Igd2VudCB0aHJvdWdoIGFuIGlu
c2VjdXJlIHJlZGlyZWN0LgorVW5hdXRob3JpemVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXBhZ2UtbmF2aWdhdGVzLXRv
LWJhc2ljLWF1dGgtaW5zZWN1cmUtcGFnZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXBhZ2UtbmF2aWdhdGVzLXRvLWJhc2lj
LWF1dGgtaW5zZWN1cmUtcGFnZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM3NmU2MzgxNGIyNTIw
ODhhMGIzMzRmMzBhZTNiNDhkZmIxMzdmNGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9zZWN1cmUtcGFnZS1uYXZpZ2F0ZXMt
dG8tYmFzaWMtYXV0aC1pbnNlY3VyZS1wYWdlLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwxNSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVz
dFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIu
c2V0SGFuZGxlc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlcyh0cnVlKTsKKyAgICB0ZXN0UnVubmVy
LnNldEF1dGhlbnRpY2F0aW9uVXNlcm5hbWUoInRlc3RVc2VyIik7CisgICAgdGVzdFJ1bm5lci5z
ZXRBdXRoZW50aWNhdGlvblBhc3N3b3JkKCJ0ZXN0UGFzc3dvcmQiKTsKKyAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKK30KK3dpbmRvdy5sb2NhdGlvbi5ocmVmID0gImh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJlc291cmNlL3By
b3RlY3RlZC1wYWdlLnBocCI7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1w
YWdlLW5hdmlnYXRlcy10by1iYXNpYy1hdXRoLXNlY3VyZS1wYWdlLXZpYS1pbnNlY3VyZS1yZWRp
cmVjdC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L21peGVkQ29udGVudC9zZWN1cmUtcGFnZS1uYXZpZ2F0ZXMtdG8tYmFzaWMtYXV0aC1zZWN1cmUt
cGFnZS12aWEtaW5zZWN1cmUtcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjFiYzExNzFmYWUwNTFkYWNmMWI4YTcxMTFkMDM5MjNmZDg2NDdhMzIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9zZWN1cmUt
cGFnZS1uYXZpZ2F0ZXMtdG8tYmFzaWMtYXV0aC1zZWN1cmUtcGFnZS12aWEtaW5zZWN1cmUtcmVk
aXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorQ09OU09MRSBNRVNTQUdF
OiBCbG9ja2VkIGh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3Jl
c291cmNlcy9zdWJyZXNvdXJjZS9wcm90ZWN0ZWQtcGFnZS5waHAgZnJvbSBhc2tpbmcgZm9yIGNy
ZWRlbnRpYWxzIGJlY2F1c2UgaXQgd2FzIGxvYWRlZCB2aWEgYW4gaW5zZWN1cmUgcmVkaXJlY3Qg
ZnJvbSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9aHR0
cHM6Ly8xMjcuMC4wLjE6ODQ0My9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJl
c291cmNlL3Byb3RlY3RlZC1wYWdlLnBocC4KK0NPTlNPTEUgTUVTU0FHRTogQmxvY2tlZCBodHRw
czovLzEyNy4wLjAuMTo4NDQzL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVz
b3VyY2UvcHJvdGVjdGVkLXBhZ2UucGhwIGZyb20gYXNraW5nIGZvciBjcmVkZW50aWFscyBiZWNh
dXNlIG5hdmlnYXRlZCBmcm9tIGEgc2VjdXJlIHBhZ2Ugb3Igd2VudCB0aHJvdWdoIGFuIGluc2Vj
dXJlIHJlZGlyZWN0LgorVW5hdXRob3JpemVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXBhZ2UtbmF2aWdhdGVzLXRvLWJh
c2ljLWF1dGgtc2VjdXJlLXBhZ2UtdmlhLWluc2VjdXJlLXJlZGlyZWN0Lmh0dHBzLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9zZWN1cmUtcGFnZS1u
YXZpZ2F0ZXMtdG8tYmFzaWMtYXV0aC1zZWN1cmUtcGFnZS12aWEtaW5zZWN1cmUtcmVkaXJlY3Qu
aHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42M2M1MTUzMWNjNWM0NjczM2U0MTkyMmQxNmU3NzU3NDY1
Njc0ZWIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9taXhlZENvbnRlbnQvc2VjdXJlLXBhZ2UtbmF2aWdhdGVzLXRvLWJhc2ljLWF1dGgtc2VjdXJl
LXBhZ2UtdmlhLWluc2VjdXJlLXJlZGlyZWN0Lmh0dHBzLmh0bWwKQEAgLTAsMCArMSwxNSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVz
dFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIu
c2V0SGFuZGxlc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlcyh0cnVlKTsKKyAgICB0ZXN0UnVubmVy
LnNldEF1dGhlbnRpY2F0aW9uVXNlcm5hbWUoInRlc3RVc2VyIik7CisgICAgdGVzdFJ1bm5lci5z
ZXRBdXRoZW50aWNhdGlvblBhc3N3b3JkKCJ0ZXN0UGFzc3dvcmQiKTsKKyAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKK30KK3dpbmRvdy5sb2NhdGlvbi5ocmVmID0gImh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD1odHRwczovLzEyNy4wLjAuMTo4
NDQzL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2UvcHJvdGVjdGVk
LXBhZ2UucGhwIjsKKzwvc2NyaXB0PgorPC9oZWFkPgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXJlZGlyZWN0
LXRvLWluc2VjdXJlLXJlZGlyZWN0LXRvLWJhc2ljLWF1dGgtc2VjdXJlLWltYWdlLmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50
L3NlY3VyZS1yZWRpcmVjdC10by1pbnNlY3VyZS1yZWRpcmVjdC10by1iYXNpYy1hdXRoLXNlY3Vy
ZS1pbWFnZS5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZjE1NTIyOTcwMmExZDM4NWE5MjI3NzRi
ZGE3YTk0MWFhZGU3ZWQ2Ni4uNzk1OWYwODY4ZGQ1NTllNmU0NWY0Yjg1YWY1Nzc0MGQyOGYzMDI0
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRl
bnQvc2VjdXJlLXJlZGlyZWN0LXRvLWluc2VjdXJlLXJlZGlyZWN0LXRvLWJhc2ljLWF1dGgtc2Vj
dXJlLWltYWdlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L21peGVkQ29udGVudC9zZWN1cmUtcmVkaXJlY3QtdG8taW5zZWN1cmUtcmVkaXJl
Y3QtdG8tYmFzaWMtYXV0aC1zZWN1cmUtaW1hZ2UuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDUg
KzEsNiBAQAogQ09OU09MRSBNRVNTQUdFOiBUaGUgcGFnZSBhdCBodHRwczovLzEyNy4wLjAuMTo4
NDQzL3NlY3VyaXR5L21peGVkQ29udGVudC9zZWN1cmUtcmVkaXJlY3QtdG8taW5zZWN1cmUtcmVk
aXJlY3QtdG8tYmFzaWMtYXV0aC1zZWN1cmUtaW1hZ2UuaHR0cHMuaHRtbCB3YXMgYWxsb3dlZCB0
byBkaXNwbGF5IGluc2VjdXJlIGNvbnRlbnQgZnJvbSBodHRwOi8vMTI3LjAuMC4xOjgwODAvcmVz
b3VyY2VzL3JlZGlyZWN0LnBocD91cmw9aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My9zZWN1cml0eS9t
aXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJlc291cmNlL3Byb3RlY3RlZC1pbWFnZS5waHAuCiAK
K0NPTlNPTEUgTUVTU0FHRTogQmxvY2tlZCBodHRwczovL2xvY2FsaG9zdDo4NDQzL3NlY3VyaXR5
L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2UvcHJvdGVjdGVkLWltYWdlLnBocCBm
cm9tIGFza2luZyBmb3IgY3JlZGVudGlhbHMgYmVjYXVzZSBpdCB3YXMgbG9hZGVkIHZpYSBhbiBp
bnNlY3VyZSByZWRpcmVjdCBmcm9tIGh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvcmVzb3VyY2VzL3Jl
ZGlyZWN0LnBocD91cmw9aHR0cCUzQS8vMTI3LjAuMC4xJTNBODA4MC9yZXNvdXJjZXMvcmVkaXJl
Y3QucGhwJTNGdXJsJTNEaHR0cHMlM0EvL2xvY2FsaG9zdCUzQTg0NDMvc2VjdXJpdHkvbWl4ZWRD
b250ZW50L3Jlc291cmNlcy9zdWJyZXNvdXJjZS9wcm90ZWN0ZWQtaW1hZ2UucGhwLgogVGhpcyB0
ZXN0IGxvYWRzIGEgc2VjdXJlIGltYWdlIHRoYXQgcmVkaXJlY3RzIHRvIGFuIGluc2VjdXJlIGlt
YWdlIHRoYXQgcmVkaXJlY3RzIHRvIGEgc2VjdXJlIGltYWdlIGd1YXJkZWQgYnkgYmFzaWMgYXV0
aGVudGljYXRpb24uIFRoZSBzZWN1cmUgaW1hZ2Ugc2hvdWxkIGJlIGJsb2NrZWQgYmVjYXVzZSBp
dCByZXF1aXJlcyBjcmVkZW50aWFscyBhbmQgd2FzIGxvYWRlZCB2aWEgYW4gaW5zZWN1cmUgcmVk
aXJlY3QuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1yZWRpcmVjdC10by1z
ZWN1cmUtcmVkaXJlY3QtdG8tYmFzaWMtYXV0aC1pbnNlY3VyZS1pbWFnZS5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9zZWN1
cmUtcmVkaXJlY3QtdG8tc2VjdXJlLXJlZGlyZWN0LXRvLWJhc2ljLWF1dGgtaW5zZWN1cmUtaW1h
Z2UuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDdmOTk3OTcxYzM1YTk4M2IyNTZhYjQyNDQyYTM2
MWFmZmM5ZWViZWYuLjMyMTg4MmU5NDAwYTE5OTI5NWRkMWVkZjllMzdiYzczOGVkZTU3NDkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3Nl
Y3VyZS1yZWRpcmVjdC10by1zZWN1cmUtcmVkaXJlY3QtdG8tYmFzaWMtYXV0aC1pbnNlY3VyZS1p
bWFnZS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXJlZGlyZWN0LXRvLXNlY3VyZS1yZWRpcmVjdC10by1i
YXNpYy1hdXRoLWluc2VjdXJlLWltYWdlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDYg
QEAKLUNPTlNPTEUgTUVTU0FHRTogVGhlIHBhZ2UgYXQgaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My9z
ZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXJlZGlyZWN0LXRvLXNlY3VyZS1yZWRpcmVjdC10
by1iYXNpYy1hdXRoLWluc2VjdXJlLWltYWdlLmh0dHBzLmh0bWwgd2FzIGFsbG93ZWQgdG8gZGlz
cGxheSBpbnNlY3VyZSBjb250ZW50IGZyb20gaHR0cDovLzEyNy4wLjAuMTo4NDQzL3Jlc291cmNl
cy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9zZWN1cml0eS9taXhlZENv
bnRlbnQvcmVzb3VyY2VzL3N1YnJlc291cmNlL3Byb3RlY3RlZC1pbWFnZS5waHAuCitDT05TT0xF
IE1FU1NBR0U6IFRoZSBwYWdlIGF0IGh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvc2VjdXJpdHkvbWl4
ZWRDb250ZW50L3NlY3VyZS1yZWRpcmVjdC10by1zZWN1cmUtcmVkaXJlY3QtdG8tYmFzaWMtYXV0
aC1pbnNlY3VyZS1pbWFnZS5odHRwcy5odG1sIHdhcyBhbGxvd2VkIHRvIGRpc3BsYXkgaW5zZWN1
cmUgY29udGVudCBmcm9tIGh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9zZWN1cml0eS9taXhlZENvbnRl
bnQvcmVzb3VyY2VzL3N1YnJlc291cmNlL3Byb3RlY3RlZC1pbWFnZS5waHAuCiAKK0NPTlNPTEUg
TUVTU0FHRTogQmxvY2tlZCBodHRwOi8vbG9jYWxob3N0OjgwODAvc2VjdXJpdHkvbWl4ZWRDb250
ZW50L3Jlc291cmNlcy9zdWJyZXNvdXJjZS9wcm90ZWN0ZWQtaW1hZ2UucGhwIGZyb20gYXNraW5n
IGZvciBjcmVkZW50aWFscyBiZWNhdXNlIGl0IGlzIGluc2VjdXJlIGNvbnRlbnQgdGhhdCB3YXMg
bG9hZGVkIHZpYSBhIHJlZGlyZWN0IGZyb20gaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My9yZXNvdXJj
ZXMvcmVkaXJlY3QucGhwP3VybD1odHRwcyUzQS8vbG9jYWxob3N0JTNBODQ0My9yZXNvdXJjZXMv
cmVkaXJlY3QucGhwJTNGdXJsJTNEaHR0cCUzQS8vbG9jYWxob3N0JTNBODA4MC9zZWN1cml0eS9t
aXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJlc291cmNlL3Byb3RlY3RlZC1pbWFnZS5waHAuCiBU
aGlzIHRlc3QgbG9hZHMgYSBzZWN1cmUgaW1hZ2UgdGhhdCByZWRpcmVjdHMgdG8gYW4gc2VjdXJl
IGltYWdlIHRoYXQgcmVkaXJlY3RzIHRvIGFuIGluc2VjdXJlIGltYWdlIGd1YXJkZWQgYnkgYmFz
aWMgYXV0aGVudGljYXRpb24uIFRoZSBpbnNlY3VyZSBpbWFnZSBzaG91bGQgYmUgYmxvY2tlZCBi
ZWNhdXNlIGl0IHJlcXVpcmVzIGNyZWRlbnRpYWxzLgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29u
dGVudC9zZWN1cmUtcmVkaXJlY3QtdG8tc2VjdXJlLXJlZGlyZWN0LXRvLWJhc2ljLWF1dGgtaW5z
ZWN1cmUtaW1hZ2UuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
bWl4ZWRDb250ZW50L3NlY3VyZS1yZWRpcmVjdC10by1zZWN1cmUtcmVkaXJlY3QtdG8tYmFzaWMt
YXV0aC1pbnNlY3VyZS1pbWFnZS5odHRwcy5odG1sCmluZGV4IGFhMDIxMzc2OGM2MzRkZjkxMGMw
N2I3ZDEyMmVmYzI1ZDdmYzI4NDkuLjhjOTY3ODkyZjI5MjYyY2FiMmY0NDBhYzI1YjgyMTdlZDJj
M2FhMWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRD
b250ZW50L3NlY3VyZS1yZWRpcmVjdC10by1zZWN1cmUtcmVkaXJlY3QtdG8tYmFzaWMtYXV0aC1p
bnNlY3VyZS1pbWFnZS5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1yZWRpcmVjdC10by1zZWN1cmUtcmVkaXJlY3QtdG8t
YmFzaWMtYXV0aC1pbnNlY3VyZS1pbWFnZS5odHRwcy5odG1sCkBAIC0yNiw2ICsyNiw2IEBAIGZ1
bmN0aW9uIGZhaWwoKQogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgbG9hZHMgYSBz
ZWN1cmUgaW1hZ2UgdGhhdCByZWRpcmVjdHMgdG8gYW4gc2VjdXJlIGltYWdlIHRoYXQgcmVkaXJl
Y3RzIHRvIGFuIGluc2VjdXJlIGltYWdlIGd1YXJkZWQgYnkgYmFzaWMgYXV0aGVudGljYXRpb24u
IFRoZSBpbnNlY3VyZSBpbWFnZSBzaG91bGQgYmUgYmxvY2tlZCBiZWNhdXNlIGl0IHJlcXVpcmVz
IGNyZWRlbnRpYWxzLiIpOwogPC9zY3JpcHQ+Ci08aW1nIHNyYz0iaHR0cHM6Ly8xMjcuMC4wLjE6
ODQ0My9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD1odHRwJTNBLy8xMjcuMC4wLjElM0E4NDQz
L3Jlc291cmNlcy9yZWRpcmVjdC5waHAlM0Z1cmwlM0RodHRwJTNBLy9sb2NhbGhvc3QlM0E4MDgw
L3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2UvcHJvdGVjdGVkLWlt
YWdlLnBocCIgb25lcnJvcj0icGFzcygpIiBvbmxvYWQ9ImZhaWwoKSI+Cis8aW1nIHNyYz0iaHR0
cHM6Ly8xMjcuMC4wLjE6ODQ0My9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD1odHRwcyUzQS8v
bG9jYWxob3N0JTNBODQ0My9yZXNvdXJjZXMvcmVkaXJlY3QucGhwJTNGdXJsJTNEaHR0cCUzQS8v
bG9jYWxob3N0JTNBODA4MC9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJlc291
cmNlL3Byb3RlY3RlZC1pbWFnZS5waHAiIG9uZXJyb3I9InBhc3MoKSIgb25sb2FkPSJmYWlsKCki
PgogPC9ib2R5PgogPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333184</attachid>
            <date>2018-02-06 10:00:17 -0800</date>
            <delta_ts>2018-02-06 14:11:48 -0800</delta_ts>
            <desc>Patch and layout tests</desc>
            <filename>bug-182358-20180206100016.patch</filename>
            <type>text/plain</type>
            <size>38200</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4MTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdiYjQxNTg2NmM4ODY4
ZjgwMjgxZDJhOThiMmY1MGQ2MWZlMzZhOS4uMGM2NzYwM2E5MzFkMTc5ZTJjNGFjYjdhMjM1M2Q3
ODgxMDEzZTc3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE4LTAyLTA2ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBMb2cgZXJyb3Igd2hlbiBh
dXRoZW50aWNhdGlvbiBjaGFsbGVuZ2UgaXMgYmxvY2tlZCBkdWUgdG8gYW4gaW5zZWN1cmUgcmVx
dWVzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgy
MzU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW1p
dCBhbiBlcnJvciBtZXNzYWdlIHRvIFdlYiBJbnNwZWN0b3IgY29uc29sZSB0aGF0IGV4cGxhaW5z
IHdoeSBhbiBhdXRoZW50aWNhdGlvbgorICAgICAgICBjaGFsbGVuZ2Ugd2FzIGJsb2NrZWQgc28g
dGhhdCBhIGRldmVsb3BlciBjYW4gZml4IHVwIHRoZWlyIHNpdGUuCisKKyAgICAgICAgVGVzdHM6
IGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWJhc2ljLWF1dGgtaW1h
Z2UuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENv
bnRlbnQvc2VjdXJlLXBhZ2UtbmF2aWdhdGVzLXRvLWJhc2ljLWF1dGgtaW5zZWN1cmUtcGFnZS5o
dHRwcy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVu
dC9zZWN1cmUtcGFnZS1uYXZpZ2F0ZXMtdG8tYmFzaWMtYXV0aC1zZWN1cmUtcGFnZS12aWEtaW5z
ZWN1cmUtcmVkaXJlY3QuaHR0cHMuaHRtbAorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpyZWNlaXZlZEZpcnN0RGF0YSk6
IExvZyB0byB0aGUgY29uc29sZSBhbiBlcnJvciBtZXNzYWdlCisgICAgICAgIGlmIHRoZSBkb2N1
bWVudCB3ZSBhcmUgbG9hZGluZyB3YXMgZm9yYmlkZGVuIGZyb20gcHJvbXB0aW5nIGZvciBjcmVk
ZW50aWFscy4KKyAgICAgICAgQWxzbyByZW1vdmVkIGR1cGxpY2F0ZSBhc3NlcnRpb24gdG8gZW5z
dXJlIGRvY3VtZW50IGlzIG5vbi1udWxsIGFuZCB1cGRhdGUKKyAgICAgICAgY2FsbCB0byBMaW5r
TG9hZGVyOjpsb2FkTGlua3NGcm9tSGVhZGVyKCkgdG8gdXNlIGxvY2FsIHZhcmlhYmxlIHRvIGFj
Y2VzcworICAgICAgICB0aGUgZG9jdW1lbnQgd2UgYXJlIGxvYWRpbmcgaW5zdGVhZCBvZiBhc2tp
bmcgdGhlIGZyYW1lIGZvciBpdCwgYWdhaW4uCisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRl
cjo6cmVwb3J0QXV0aGVudGljYXRpb25DaGFsbGVuZ2VCbG9ja2VkKTogQWRkZWQuCisgICAgICAg
ICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OmluaXQpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdEludGVybmFsKToKKyAg
ICAgICAgVHJhY2sgdGhlIGRlY2lzaW9uIHRvIGZvcmJpZCBhc2tpbmcgZm9yIGNyZWRlbnRpYWxz
IGR1ZSB0byBGZXRjaCBzcGVjLiByZXF1aXJlbWVudHMgKG1fY2FuQXNrQ2xpZW50Rm9yQ3JlZGVu
dGlhbHMpCisgICAgICAgIGluZGVwZW5kZW50bHkgZnJvbSB0aGUgZGVjaXNpb24gdG8gZm9yYmlk
IHRoZW0gZHVlIHRvIG1ha2luZyBhbiBpbnNlY3VyZSByZXF1ZXN0IChtX3dhc0luc2VjdXJlUmVx
dWVzdFNlZW4pCisgICAgICAgIHNvIHRoYXQgd2Uga25vdyB0aGUgcmVhc29uIHdoeSB3ZSBibG9j
a2VkIGFza2luZyBmb3IgY3JlZGVudGlhbHMgd2hlbiB3ZSByZWNlaXZlIGFuIGF1dGhlbnRpY2F0
aW9uIGNoYWxsZW5nZS4KKworICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OmRpZEJs
b2NrQXV0aGVudGljYXRpb25DaGFsbGVuZ2UpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJl
c291cmNlTG9hZGVyOjppc0FsbG93ZWRUb0Fza1VzZXJGb3JDcmVkZW50aWFscyBjb25zdCk6IE1v
ZGlmaWVkIGNvZGUgbm93IHRoYXQgd2UgdHJhY2sKKyAgICAgICAgd2hldGhlciB3ZSBoYXZlIHNl
ZW4gYW4gaW5zZWN1cmUgcmVxdWVzdCBzbyBmYXIgaW5kZXBlbmRlbnRseSBmcm9tIGRlY2lzaW9u
IHRvIGZvcmJpZCBwcm9tcHRpbmcgZm9yCisgICAgICAgIGNyZWRlbnRpYWxzIGR1ZSB0byBhIEZl
dGNoIHNwZWMuIHJlcXVpcmVtZW50LgorCisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRl
cjo6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKToKKyAgICAgICAgU3RvcmUgYSBi
aXQgd2hldGhlciB3ZSBoYXZlIHNlZW4gYW4gaW5zZWN1cmUgcmVxdWVzdCB3aGVuIGxvYWRpbmcg
dGhlIHJlc291cmNlIHNvIGZhci4gRGlzYWxsb3cKKyAgICAgICAgYXNraW5nIGZvciBjcmVkZW50
aWFscyBpZiB3ZSBoYXZlIHNlZW4gYW4gaW5zZWN1cmUgcmVxdWVzdCBzbyBmYXIuIE9uY2Ugd2Ug
cmVjZWl2ZSBhIHJlc3BvbnNlCisKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkZXIuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjp3YXNBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZUJsb2NrZWQgY29uc3QpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9h
ZGVyOjp3YXNJbnNlY3VyZVJlcXVlc3RTZWVuIGNvbnN0KTogQWRkZWQuCisKIDIwMTgtMDItMDUg
IEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNoIG9uIHNm
Z2F0ZS5jb20gYmVjYXVzZSBtaXNtYXRjaGluZyBsaW5rIHByZWxvYWQgdHlwZXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggOWEzZTc1ZDllOGJlYzY1OWNjYjc3OTc1YzVkNThlNWQxODljNDJiYS4uMTNhYTVlYTNjNGU2
NWY0ZWM3ZDk4ZWIzZWYxMDk4MTRiOWMyY2ZiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAor
MjAxOC0wMi0wNiAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAg
TG9nIGVycm9yIHdoZW4gYXV0aGVudGljYXRpb24gY2hhbGxlbmdlIGlzIGJsb2NrZWQgZHVlIHRv
IGFuIGluc2VjdXJlIHJlcXVlc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE4MjM1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEhhdmUgbmV0d29yayBwcm9jZXNzIG5vdGlmeSB0aGUgd2ViIHByb2Nlc3Mg
d2hlbiBpdCBibG9ja3MgYW4gYXV0aGVudGljYXRpb24gY2hhbGxlbmdlLgorCisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
TG9hZDo6Y29tcGxldGVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSk6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0xvYWRDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0xv
YWRDbGllbnQ6OmRpZEJsb2NrQXV0aGVudGljYXRpb25DaGFsbGVuZ2UpOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkQmxvY2tBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSk6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkZXI6OmRpZEJsb2NrQXV0aGVudGljYXRpb25DaGFsbGVu
Z2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5p
bjoKKwogMjAxOC0wMi0wNSAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAg
ICAgICAgRGlzYWxsb3cgZXZhbHVhdGluZyBKYXZhU2NyaXB0IGZyb20gTlBQX0Rlc3Ryb3koKSBp
biBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGEyMjkwZDM1
MDc2MTg0ZGNkMjljMjQyNTc0M2E0Y2M2MGVhYTVkMWMuLmU4MjdiNjRhNDBlNjM3YzgyOTBlMDk5
MDljNGU3NDM4NjZjMjE1YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApA
QCAtMTE1LDYgKzExNSw3IEBACiAjaW5jbHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAj
aW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTdWJmcmFtZUxvYWRlci5oIgorI2luY2x1
ZGUgIlN1YnJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiVGV4dFJlc291cmNlRGVjb2Rlci5o
IgogI2luY2x1ZGUgIlVzZXJDb250ZW50Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlVzZXJHZXN0
dXJlSW5kaWNhdG9yLmgiCkBAIC02NzgsNiArNjc5LDEwIEBAIHZvaWQgRnJhbWVMb2FkZXI6OnJl
Y2VpdmVkRmlyc3REYXRhKCkKICAgICBBU1NFUlQobV9mcmFtZS5kb2N1bWVudCgpKTsKICAgICBh
dXRvJiBkb2N1bWVudCA9ICptX2ZyYW1lLmRvY3VtZW50KCk7CiAKKyAgICBhdXRvKiBtYWluUmVz
b3VyY2VMb2FkZXIgPSBkb2N1bWVudExvYWRlci5tYWluUmVzb3VyY2VMb2FkZXIoKTsKKyAgICBp
ZiAobWFpblJlc291cmNlTG9hZGVyICYmIG1haW5SZXNvdXJjZUxvYWRlci0+d2FzQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VCbG9ja2VkKCkgJiYgbWFpblJlc291cmNlTG9hZGVyLT53YXNJbnNlY3Vy
ZVJlcXVlc3RTZWVuKCkpCisgICAgICAgIHJlcG9ydEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQmxv
Y2tlZCgmbV9mcmFtZSwgZG9jdW1lbnQudXJsKCksIEFTQ0lJTGl0ZXJhbCB7ICJuYXZpZ2F0ZWQg
ZnJvbSBhIHNlY3VyZSBwYWdlIG9yIHdlbnQgdGhyb3VnaCBhbiBpbnNlY3VyZSByZWRpcmVjdCIg
fSk7CisKICAgICBMaW5rTG9hZGVyOjpsb2FkTGlua3NGcm9tSGVhZGVyKGRvY3VtZW50TG9hZGVy
LnJlc3BvbnNlKCkuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpMaW5rKSwgZG9jdW1l
bnQudXJsKCksIGRvY3VtZW50LCBMaW5rTG9hZGVyOjpNZWRpYUF0dHJpYnV0ZUNoZWNrOjpNZWRp
YUF0dHJpYnV0ZUVtcHR5KTsKIAogICAgIGRvdWJsZSBkZWxheTsKQEAgLTE1NTIsNiArMTU1Nywx
NCBAQCB2b2lkIEZyYW1lTG9hZGVyOjpyZXBvcnRCbG9ja2VkUG9ydEZhaWxlZChGcmFtZSogZnJh
bWUsIGNvbnN0IFN0cmluZyYgdXJsKQogICAgIGZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xl
TWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgIk5v
dCBhbGxvd2VkIHRvIHVzZSByZXN0cmljdGVkIG5ldHdvcmsgcG9ydDogIiArIHVybCk7CiB9CiAK
K3ZvaWQgRnJhbWVMb2FkZXI6OnJlcG9ydEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQmxvY2tlZChG
cmFtZSogZnJhbWUsIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHJlYXNvbikKK3sKKyAg
ICBpZiAoIWZyYW1lKQorICAgICAgICByZXR1cm47CisKKyAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6
RXJyb3IsIG1ha2VTdHJpbmcoIkJsb2NrZWQgIiwgdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRU
b0xlbmd0aCgpLCAiIGZyb20gYXNraW5nIGZvciBjcmVkZW50aWFscyBiZWNhdXNlICIsIHJlYXNv
biwgJy4nKSk7Cit9CisKIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgRnJhbWVMb2FkZXI6OmluaXRp
YWxSZXF1ZXN0KCkgY29uc3QKIHsKICAgICByZXR1cm4gYWN0aXZlRG9jdW1lbnRMb2FkZXIoKS0+
b3JpZ2luYWxSZXF1ZXN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCmluZGV4IGVk
ZTVkY2RjNWE2NDE5YzY2OTk5ODlkYWNlODE5NTI5N2Y2ZjM1ODQuLjkyNjVjYjEyMTJiYzI2NGYx
NDk5ZTY2MDYwM2VhZTYxOGI2MTQwOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5o
CkBAIC0xMzEsNiArMTMxLDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHZvaWQgcmVwb3J0TG9j
YWxMb2FkRmFpbGVkKEZyYW1lKiwgY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHN0YXRpYyB2b2lk
IHJlcG9ydEJsb2NrZWRQb3J0RmFpbGVkKEZyYW1lKiwgY29uc3QgU3RyaW5nJiB1cmwpOworICAg
IHN0YXRpYyB2b2lkIHJlcG9ydEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQmxvY2tlZChGcmFtZSos
IGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgcmVhc29uKTsKIAogICAgIC8vIEZJWE1FOiBUaGVz
ZSBhcmUgYWxsIGZ1bmN0aW9ucyB3aGljaCBzdG9wIGxvYWRzLiBXZSBoYXZlIHRvbyBtYW55Lgog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3RvcEFsbExvYWRlcnMoQ2xlYXJQcm92aXNpb25hbEl0
ZW1Qb2xpY3kgPSBTaG91bGRDbGVhclByb3Zpc2lvbmFsSXRlbSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCAwODMzMjNiZmMwYWY3MDJmOTZiZGQ5YTQzYWQy
N2U1NjdmNTc2MGNkLi44NTU3ZDdjNzQ2YWZmNTI4MDNmYzM4ZDVjYTI4ZjZiY2IzMmViYjVjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKQEAgLTEzMyw3ICsxMzMs
OCBAQCB2b2lkIFJlc291cmNlTG9hZGVyOjppbml0KFJlc291cmNlUmVxdWVzdCYmIGNsaWVudFJl
cXVlc3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaQogI2VuZGlmCiAgICAgCiAgICAgbV9kZWZlcnNM
b2FkaW5nID0gbV9vcHRpb25zLmRlZmVyc0xvYWRpbmdQb2xpY3kgPT0gRGVmZXJzTG9hZGluZ1Bv
bGljeTo6QWxsb3dEZWZlcnNMb2FkaW5nICYmIG1fZnJhbWUtPnBhZ2UoKS0+ZGVmZXJzTG9hZGlu
ZygpOwotICAgIG1fY2FuQXNrQ2xpZW50Rm9yQ3JlZGVudGlhbHMgPSBtX29wdGlvbnMuY2xpZW50
Q3JlZGVudGlhbFBvbGljeSA9PSBDbGllbnRDcmVkZW50aWFsUG9saWN5OjpNYXlBc2tDbGllbnRG
b3JDcmVkZW50aWFscyAmJiAhaXNNaXhlZENvbnRlbnQoY2xpZW50UmVxdWVzdC51cmwoKSk7Cisg
ICAgbV9jYW5Bc2tDbGllbnRGb3JDcmVkZW50aWFscyA9IG1fb3B0aW9ucy5jbGllbnRDcmVkZW50
aWFsUG9saWN5ID09IENsaWVudENyZWRlbnRpYWxQb2xpY3k6Ok1heUFza0NsaWVudEZvckNyZWRl
bnRpYWxzOworICAgIG1fd2FzSW5zZWN1cmVSZXF1ZXN0U2VlbiA9IGlzTWl4ZWRDb250ZW50KGNs
aWVudFJlcXVlc3QudXJsKCkpOwogCiAgICAgaWYgKG1fb3B0aW9ucy5zZWN1cml0eUNoZWNrID09
IERvU2VjdXJpdHlDaGVjayAmJiAhbV9mcmFtZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4o
KS5jYW5EaXNwbGF5KGNsaWVudFJlcXVlc3QudXJsKCkpKSB7CiAgICAgICAgIEZyYW1lTG9hZGVy
OjpyZXBvcnRMb2NhbExvYWRGYWlsZWQobV9mcmFtZS5nZXQoKSwgY2xpZW50UmVxdWVzdC51cmwo
KS5zdHJpbmcoKSk7CkBAIC00MDQsNyArNDA1LDcgQEAgdm9pZCBSZXNvdXJjZUxvYWRlcjo6d2ls
bFNlbmRSZXF1ZXN0SW50ZXJuYWwoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgUmUK
ICAgICBib29sIGlzUmVkaXJlY3QgPSAhcmVkaXJlY3RSZXNwb25zZS5pc051bGwoKTsKIAogICAg
IGlmIChpc01peGVkQ29udGVudChtX3JlcXVlc3QudXJsKCkpIHx8IChpc1JlZGlyZWN0ICYmIGlz
TWl4ZWRDb250ZW50KHJlcXVlc3QudXJsKCkpKSkKLSAgICAgICAgbV9jYW5Bc2tDbGllbnRGb3JD
cmVkZW50aWFscyA9IGZhbHNlOworICAgICAgICBtX3dhc0luc2VjdXJlUmVxdWVzdFNlZW4gPSB0
cnVlOwogCiAgICAgaWYgKGlzUmVkaXJlY3QpCiAgICAgICAgIHBsYXRmb3JtU3RyYXRlZ2llcygp
LT5sb2FkZXJTdHJhdGVneSgpLT5jcm9zc09yaWdpblJlZGlyZWN0UmVjZWl2ZWQodGhpcywgcmVx
dWVzdC51cmwoKSk7CkBAIC00NjIsNiArNDYzLDMxIEBAIHN0YXRpYyB2b2lkIGxvZ1Jlc291cmNl
UmVzcG9uc2VTb3VyY2UoRnJhbWUqIGZyYW1lLCBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2Ugc291
CiAgICAgZnJhbWUtPnBhZ2UoKS0+ZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoKS5sb2dEaWFnbm9z
dGljTWVzc2FnZShEaWFnbm9zdGljTG9nZ2luZ0tleXM6OnJlc291cmNlUmVzcG9uc2VTb3VyY2VL
ZXkoKSwgc291cmNlS2V5LCBTaG91bGRTYW1wbGU6Olllcyk7CiB9CiAKK3ZvaWQgUmVzb3VyY2VM
b2FkZXI6OmRpZEJsb2NrQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKQoreworICAgIG1fd2FzQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VCbG9ja2VkID0gdHJ1ZTsKKworICAgIGlmICghbV9jYW5Bc2tD
bGllbnRGb3JDcmVkZW50aWFscykKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFtX3dhc0lu
c2VjdXJlUmVxdWVzdFNlZW4pCisgICAgICAgIHJldHVybjsKKworICAgIC8vIENvbXBhcmluZyB0
aGUgaW5pdGlhbCByZXF1ZXN0IFVSTCBhbmQgZmluYWwgcmVxdWVzdCBVUkwgZG9lcyBub3QgdGVs
bCB1cyB3aGV0aGVyIGEgcmVkaXJlY3QgaGFwcGVuZWQgb3Igbm90IHNpbmNlCisgICAgLy8gYSBz
ZXJ2ZXIgY2FuIHNlcnZlIGEgcmVkaXJlY3QgdG8gdGhlIHNhbWUgVVJMIHRoYXQgd2FzIHJlcXVl
c3RlZC4gSG93ZXZlciwgdGhpcyBpcyBnb29kIGVub3VnaCBmb3Igb3VyIHB1cnBvc2UuCisgICAg
Ym9vbCB3YXNSZWRpcmVjdGVkID0gbV9yZXF1ZXN0LnVybCgpICE9IG9yaWdpbmFsUmVxdWVzdCgp
LnVybCgpOworCisgICAgYm9vbCBpc01peGVkQ29udGVudCA9IHRoaXMtPmlzTWl4ZWRDb250ZW50
KG1fcmVxdWVzdC51cmwoKSk7CisgICAgU3RyaW5nIHJlYXNvbjsKKyAgICBpZiAoaXNNaXhlZENv
bnRlbnQgJiYgd2FzUmVkaXJlY3RlZCkKKyAgICAgICAgcmVhc29uID0gbWFrZVN0cmluZygiaXQg
aXMgaW5zZWN1cmUgY29udGVudCB0aGF0IHdhcyBsb2FkZWQgdmlhIGEgcmVkaXJlY3QgZnJvbSAi
LCBvcmlnaW5hbFJlcXVlc3QoKS51cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgo
KSk7CisgICAgZWxzZSBpZiAoaXNNaXhlZENvbnRlbnQpCisgICAgICAgIHJlYXNvbiA9IEFTQ0lJ
TGl0ZXJhbCB7ICJpdCBpcyBpbnNlY3VyZSBjb250ZW50IiB9OworICAgIGVsc2UKKyAgICAgICAg
cmVhc29uID0gbWFrZVN0cmluZygiaXQgd2FzIGxvYWRlZCB2aWEgYW4gaW5zZWN1cmUgcmVkaXJl
Y3QgZnJvbSAiLCBvcmlnaW5hbFJlcXVlc3QoKS51cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNpemVk
VG9MZW5ndGgoKSk7CisgICAgRnJhbWVMb2FkZXI6OnJlcG9ydEF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlQmxvY2tlZChtX2ZyYW1lLmdldCgpLCBtX3JlcXVlc3QudXJsKCksIHJlYXNvbik7Cit9CisK
IHZvaWQgUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByKQogewogICAgIEFTU0VSVCghbV9yZWFjaGVkVGVybWluYWxTdGF0ZSk7CkBAIC03
MTMsNiArNzM5LDggQEAgYm9vbCBSZXNvdXJjZUxvYWRlcjo6aXNBbGxvd2VkVG9Bc2tVc2VyRm9y
Q3JlZGVudGlhbHMoKSBjb25zdAogewogICAgIGlmICghbV9jYW5Bc2tDbGllbnRGb3JDcmVkZW50
aWFscykKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChtX3dhc0luc2VjdXJlUmVxdWVz
dFNlZW4pCisgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gbV9vcHRpb25zLmNyZWRl
bnRpYWxzID09IEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHM6OkluY2x1ZGUgfHwgKG1fb3B0aW9u
cy5jcmVkZW50aWFscyA9PSBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzOjpTYW1lT3JpZ2luICYm
IG1fZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkuY2FuUmVxdWVzdChvcmlnaW5h
bFJlcXVlc3QoKS51cmwoKSkpOwogfQogCkBAIC03MzAsNiArNzU4LDcgQEAgdm9pZCBSZXNvdXJj
ZUxvYWRlcjo6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKFJlc291cmNlSGFuZGxl
KiBoYW5kbGUsIGMKICAgICAgICAgICAgIGZyYW1lTG9hZGVyKCktPm5vdGlmaWVyKCkuZGlkUmVj
ZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKHRoaXMsIGNoYWxsZW5nZSk7CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KKyAgICAgICAgZGlkQmxvY2tBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZSgpOwogICAgIH0KICAgICBjaGFsbGVuZ2UuYXV0aGVudGljYXRpb25DbGllbnQoKS0+cmVj
ZWl2ZWRSZXF1ZXN0VG9Db250aW51ZVdpdGhvdXRDcmVkZW50aWFsKGNoYWxsZW5nZSk7CiAgICAg
QVNTRVJUKCFtX2hhbmRsZSB8fCAhbV9oYW5kbGUtPmhhc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaAppbmRleCBkODlhNmRjODIw
ZDFmMWMwMTFjMzQwOTg2NWM4N2I3NjJiZDMzZGUxLi4wOTU5OGE4YjZkZDMxNWY5NmU4NzIyZWQ4
NjI5ZmUyZTcxZWVjMWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3Vy
Y2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaApA
QCAtODksNiArODksOSBAQCBwdWJsaWM6CiAKICAgICB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIo
KSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KIAorICAgIGJvb2wgd2FzQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VCbG9ja2VkKCkgY29uc3QgeyByZXR1cm4gbV93YXNBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZUJsb2NrZWQ7IH0KKyAgICBib29sIHdhc0luc2VjdXJlUmVxdWVzdFNlZW4oKSBj
b25zdCB7IHJldHVybiBtX3dhc0luc2VjdXJlUmVxdWVzdFNlZW47IH0KKwogICAgIHZpcnR1YWwg
dm9pZCByZWxlYXNlUmVzb3VyY2VzKCk7CiAgICAgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVz
cG9uc2UoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlOyB9CiAKQEAgLTEwNiw2ICsxMDksOCBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYp
OwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZXRyaWV2ZURlcml2ZWREYXRhRnJvbUNhY2hlKGNvbnN0
IFN0cmluZyYgdHlwZSwgU2hhcmVkQnVmZmVyJik7CiAKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IGRpZEJsb2NrQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKTsKKwogICAgIHZpcnR1YWwgYm9vbCBz
aG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSgpOwogI2lmIFVTRShQUk9URUNUSU9OX1NQQUNFX0FV
VEhfQ0FMTEJBQ0spCiAgICAgdmlydHVhbCBib29sIGNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90
ZWN0aW9uU3BhY2UoY29uc3QgUHJvdGVjdGlvblNwYWNlJik7CkBAIC0xNDksNiArMTU0LDggQEAg
cHVibGljOgogcHJvdGVjdGVkOgogICAgIFJlc291cmNlTG9hZGVyKEZyYW1lJiwgUmVzb3VyY2VM
b2FkZXJPcHRpb25zKTsKIAorICAgIGJvb2wgaXNNaXhlZENvbnRlbnQoY29uc3QgVVJMJikgY29u
c3Q7CisKICAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmdPbmVQYXJ0KGNvbnN0IE5ldHdvcmtMb2Fk
TWV0cmljcyYpOwogICAgIHZvaWQgY2xlYW51cEZvckVycm9yKGNvbnN0IFJlc291cmNlRXJyb3Im
KTsKIApAQCAtMjAzLDggKzIxMCw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBzaG91bGRDYWNoZVJl
c3BvbnNlKFJlc291cmNlSGFuZGxlKiwgQ0ZDYWNoZWRVUkxSZXNwb25zZVJlZikgb3ZlcnJpZGU7
CiAjZW5kaWYKIAotICAgIGJvb2wgaXNNaXhlZENvbnRlbnQoY29uc3QgVVJMJikgY29uc3Q7Ci0K
ICAgICBSZXNvdXJjZVJlcXVlc3QgbV9yZXF1ZXN0OwogICAgIFJlc291cmNlUmVxdWVzdCBtX29y
aWdpbmFsUmVxdWVzdDsgLy8gQmVmb3JlIHJlZGlyZWN0cy4KICAgICBSZWZQdHI8U2hhcmVkQnVm
ZmVyPiBtX3Jlc291cmNlRGF0YTsKQEAgLTIyNCw2ICsyMjksOCBAQCBwcml2YXRlOgogCiAgICAg
Ym9vbCBtX2RlZmVyc0xvYWRpbmc7CiAgICAgYm9vbCBtX2NhbkFza0NsaWVudEZvckNyZWRlbnRp
YWxzOworICAgIGJvb2wgbV93YXNJbnNlY3VyZVJlcXVlc3RTZWVuIHsgZmFsc2UgfTsKKyAgICBi
b29sIG1fd2FzQXV0aGVudGljYXRpb25DaGFsbGVuZ2VCbG9ja2VkIHsgZmFsc2UgfTsKICAgICBS
ZXNvdXJjZVJlcXVlc3QgbV9kZWZlcnJlZFJlcXVlc3Q7CiAgICAgUmVzb3VyY2VMb2FkZXJPcHRp
b25zIG1fb3B0aW9uczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrTG9hZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtM
b2FkLmNwcAppbmRleCBkMDYzNGFjMjkxYThiMmZmOTQ3ODdhZWM0Yzc4NWQwMGVkNzM1MDhlLi5h
OTBmY2ZhMzAwMTBmMzA4Zjg2MzdjOWI4OTJlMjUwNDEzMWQ3Yjk1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmNwcApAQCAtMjgwLDYgKzI4MCw3IEBAIHZv
aWQgTmV0d29ya0xvYWQ6OmNvbXBsZXRlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoQ2hhbGxlbmdl
Q29tcGxldGlvbkhhbmRsZXImJiBjCiB7CiAgICAgYm9vbCBpc1NlcnZlclRydXN0RXZhbHVhdGlv
biA9IG1fY2hhbGxlbmdlLT5wcm90ZWN0aW9uU3BhY2UoKS5hdXRoZW50aWNhdGlvblNjaGVtZSgp
ID09IFByb3RlY3Rpb25TcGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1lU2VydmVyVHJ1c3RFdmFsdWF0
aW9uUmVxdWVzdGVkOwogICAgIGlmICghaXNBbGxvd2VkVG9Bc2tVc2VyRm9yQ3JlZGVudGlhbHMo
KSAmJiAhaXNTZXJ2ZXJUcnVzdEV2YWx1YXRpb24pIHsKKyAgICAgICAgbV9jbGllbnQuZ2V0KCku
ZGlkQmxvY2tBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpOwogICAgICAgICBjb21wbGV0aW9uSGFu
ZGxlcihBdXRoZW50aWNhdGlvbkNoYWxsZW5nZURpc3Bvc2l0aW9uOjpVc2VDcmVkZW50aWFsLCB7
IH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENsaWVudC5oIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrTG9hZENsaWVudC5oCmluZGV4IGUwZTliYzU3MTVhMGRiMDg2ODg3OTZm
Y2FlZjIwZjY0YzdiNWVhOWEuLjBiMzhhYzJiNmNlNDVmZGExY2NlMjE5OWMyNDJmMTFjMTZjM2E3
YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2xp
ZW50LmgKQEAgLTU2LDYgKzU2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNl
aXZlQnVmZmVyKFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYsIGludCByZXBvcnRlZEVuY29k
ZWREYXRhTGVuZ3RoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExvYWRpbmcoY29u
c3QgV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBk
aWRGYWlsTG9hZGluZyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJikgPSAwOworICAgIHZp
cnR1YWwgdm9pZCBkaWRCbG9ja0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCkgeyB9OwogICAgIHZp
cnR1YWwgYm9vbCBzaG91bGRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJpY3MoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGZhZTY0M2U1ODBjOGJmZDkz
ZGVlMDNmYjg0ZDM3MWJlZDMyZjAyOWEuLmUyNTJhZGEzNjFkNzczMDkyNzFmYzMwYmJmZTc1YjU3
OWEyNDBmYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTQzMCw2ICs0MzAsMTEgQEAgdm9pZCBOZXR3b3Jr
UmVzb3VyY2VMb2FkZXI6OmRpZEZhaWxMb2FkaW5nKGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9y
KQogICAgIGNsZWFudXAoKTsKIH0KIAordm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZEJs
b2NrQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKQoreworICAgIHNlbmQoTWVzc2FnZXM6OldlYlJl
c291cmNlTG9hZGVyOjpEaWRCbG9ja0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCkpOworfQorCiB2
b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZWRpcmVjdGVkUmVxdWVzdChSZXNv
dXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiByZWRpcmVj
dFJlcXVlc3QsIFJlc291cmNlUmVzcG9uc2UmJiByZWRpcmVjdFJlc3BvbnNlKQogewogICAgICsr
bV9yZWRpcmVjdENvdW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Jlc291cmNlTG9hZGVyLmgKaW5kZXggMWYxN2RkZTYxNmI1MDFlZGY4NjY5OGM5NzE4
ZmUzM2I5YWRkYmNjNS4uMWRiMGNkN2U5MDRjZmEzZDAxOTI4ZTY1NzQyN2M4NzZhMGJlZGQ1NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRlci5oCkBAIC05Niw2ICs5Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZFJlY2VpdmVC
dWZmZXIoUmVmPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJiwgaW50IHJlcG9ydGVkRW5jb2RlZERh
dGFMZW5ndGgpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhjb25zdCBXZWJD
b3JlOjpOZXR3b3JrTG9hZE1ldHJpY3MmKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZEZhaWxMb2Fk
aW5nKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKSBvdmVycmlkZTsKKyAgICB2b2lkIGRp
ZEJsb2NrQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKSBvdmVycmlkZTsKICAgICBib29sIHNob3Vs
ZENhcHR1cmVFeHRyYU5ldHdvcmtMb2FkTWV0cmljcygpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAg
dm9pZCBjb252ZXJ0VG9Eb3dubG9hZChEb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAK
aW5kZXggNjk5MzNkOTU3NDhmYzU5NjYzNmQ2ZTUzZGJkZmNlODg2YzBjMTkyZC4uNmE2ZDg4ZjMx
MGE2YmQ2YzQyZGFiNmY5ODViZTkyMGEwYzU2N2VmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcApAQCAtMTYwLDYg
KzE2MCwxNCBAQCB2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRGYWlsUmVzb3VyY2VMb2FkKGNv
bnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQogICAgIG1fY29yZUxvYWRlci0+ZGlkRmFpbChlcnJv
cik7CiB9CiAKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZEJsb2NrQXV0aGVudGljYXRpb25D
aGFsbGVuZ2UoKQoreworICAgIExPRyhOZXR3b3JrLCAiKFdlYlByb2Nlc3MpIFdlYlJlc291cmNl
TG9hZGVyOjpkaWRCbG9ja0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIGZvciAnJXMnIiwgbV9jb3Jl
TG9hZGVyLT51cmwoKS5zdHJpbmcoKS5sYXRpbjEoKS5kYXRhKCkpOworICAgIFJFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoImRpZEJsb2NrQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6IChwYWdlSUQgPSAl
IiBQUkl1NjQgIiwgZnJhbWVJRCA9ICUiIFBSSXU2NCAiLCByZXNvdXJjZUlEID0gJSIgUFJJdTY0
ICIpIiwgbV90cmFja2luZ1BhcmFtZXRlcnMucGFnZUlELCBtX3RyYWNraW5nUGFyYW1ldGVycy5m
cmFtZUlELCBtX3RyYWNraW5nUGFyYW1ldGVycy5yZXNvdXJjZUlEKTsKKworICAgIG1fY29yZUxv
YWRlci0+ZGlkQmxvY2tBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpOworfQorCiAjaWYgRU5BQkxF
KFNIQVJFQUJMRV9SRVNPVVJDRSkKIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVS
ZXNvdXJjZShjb25zdCBTaGFyZWFibGVSZXNvdXJjZTo6SGFuZGxlJiBoYW5kbGUpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRl
ci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIu
aAppbmRleCA2NDIxYzIzMzViZWQxYjc0ZTVmMDhlNjRlOTcxNzcwYjNjZGI1YmY2Li4zMTk4YWM3
YjEyOGEwZDRhMjZmNDBiMjEzYzczM2UzMjQ4MDVhYzQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKQEAgLTgxLDYgKzgx
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFJldHJpZXZlRGVyaXZlZERhdGEoY29uc3QgU3Ry
aW5nJiB0eXBlLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmKTsKICAgICB2b2lkIGRpZEZpbmlz
aFJlc291cmNlTG9hZChjb25zdCBXZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3MmKTsKICAgICB2
b2lkIGRpZEZhaWxSZXNvdXJjZUxvYWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwor
ICAgIHZvaWQgZGlkQmxvY2tBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpOwogI2lmIEVOQUJMRShT
SEFSRUFCTEVfUkVTT1VSQ0UpCiAgICAgdm9pZCBkaWRSZWNlaXZlUmVzb3VyY2UoY29uc3QgU2hh
cmVhYmxlUmVzb3VyY2U6OkhhbmRsZSYpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2Vz
LmluCmluZGV4IDMzNWUzYjIwZjZlZjA0MTk1ZjIyZjlmMDg0NDZhMTBlZGUwNGY1MDIuLjk1ZjY5
Y2JjZWIwNDYyZjQ3OWNmNzNjMzk2OWFiMzM5NzY1OGRlZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1l
c3NhZ2VzLmluCkBAIC0yOCw2ICsyOCw3IEBAIG1lc3NhZ2VzIC0+IFdlYlJlc291cmNlTG9hZGVy
IExlZ2FjeVJlY2VpdmVyIHsKICAgICBEaWRGaW5pc2hSZXNvdXJjZUxvYWQoV2ViQ29yZTo6TmV0
d29ya0xvYWRNZXRyaWNzIG5ldHdvcmtMb2FkTWV0cmljcykKICAgICBEaWRSZXRyaWV2ZURlcml2
ZWREYXRhKFN0cmluZyB0eXBlLCBJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSkKICAgICBEaWRGYWls
UmVzb3VyY2VMb2FkKFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IpCisgICAgRGlkQmxvY2tB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpCiAKICNpZiBFTkFCTEUoU0hBUkVBQkxFX1JFU09VUkNF
KQogICAgIC8vIERpZFJlY2VpdmVSZXNvdXJjZSBpcyBmb3Igd2hlbiB3ZSBoYXZlIHRoZSBlbnRp
cmUgcmVzb3VyY2UgZGF0YSBhdmFpbGFibGUgYXQgb25jZSwgc3VjaCBhcyB3aGVuIHRoZSByZXNv
dXJjZSBpcyBjYWNoZWQgaW4gbWVtb3J5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTM3MDUwMzZjN2NjNWYyZDFkYjUwNjVk
Y2M3ZWEwMzkwNTFlZTVlNC4uZTdiYjRlYjk3NThjMzFjODQwYTE1MDZjMzA3MjRiZjA2NGM1MDhi
ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE4LTAyLTA2ICBEYW5pZWwgQmF0ZXMgIDxkYWJh
dGVzQGFwcGxlLmNvbT4KKworICAgICAgICBMb2cgZXJyb3Igd2hlbiBhdXRoZW50aWNhdGlvbiBj
aGFsbGVuZ2UgaXMgYmxvY2tlZCBkdWUgdG8gYW4gaW5zZWN1cmUgcmVxdWVzdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyMzU4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG1vcmUgdGVzdHMgYW5k
IHVwZGF0ZSBleHBlY3RlZCByZXN1bHRzIG9mIGV4aXN0aW5nIHRlc3RzIG5vdyB0aGF0IHdlIGVt
aXQgY29uc29sZSBtZXNzYWdlcy4KKworICAgICAgICBBbHNvIGZpeGVkIGEgdHlwbyBpbiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9zZWN1cmUtcmVkaXJlY3Qt
dG8tc2VjdXJlLXJlZGlyZWN0LXRvLWJhc2ljLWF1dGgtaW5zZWN1cmUtaW1hZ2UuaHR0cHMuaHRt
bAorICAgICAgICBzbyB0aGF0IGl0IHRlc3RzIHdoYXQgaXQgYWN0dWFsbHkgY2xhaW1zIHRvIHRl
c3QgYW5kIG1hZGUgdGhlIHRlc3QgcHJvZ3JhbW1hdGljYWxseSBsb2FkIHRoZSBpbWFnZQorICAg
ICAgICB0byBhdm9pZCBvdXRwdXQgZmxha2luZXNzIGNhdXNlZCBieSB0aGUgcHJlbG9hZCBzY2Fu
bmVyIHByZWxvYWRpbmcgaXQuIFRoZSBwcmVsb2FkIHNjYW5uZXIgcGVyZm9ybXMKKyAgICAgICAg
bWl4ZWQgY29udGVudCBjaGVja3MgYW5kIHRoaXMgY2FuIGNhdXNlIGR1cGxpY2F0ZSBtaXhlZCBj
b250ZW50IHdhcm5pbmdzIGluIHRoZSB0ZXN0IG91dHB1dC4KKworICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWJhc2ljLWF1dGgtaW1hZ2UuaHR0cHMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVk
Q29udGVudC9pbnNlY3VyZS1iYXNpYy1hdXRoLWltYWdlLmh0dHBzLmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1yZWRp
cmVjdC10by1zZWN1cmUtcmVkaXJlY3QtdG8tYmFzaWMtYXV0aC1pbnNlY3VyZS1pbWFnZS5odHRw
cy5odG1sLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2Vj
dXJlLWRvd25sb2FkLXJlZGlyZWN0cy10by1iYXNpYy1hdXRoLXNlY3VyZS1kb3dubG9hZC5odHRw
cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRl
bnQvaW5zZWN1cmUtaW1hZ2UtcmVkaXJlY3RzLXRvLWJhc2ljLWF1dGgtc2VjdXJlLWltYWdlLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9y
ZXNvdXJjZXMvc3VicmVzb3VyY2UvcHJvdGVjdGVkLXBhZ2UucGhwOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2Uy
L3Byb3RlY3RlZC1pbWFnZS5waHA6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJp
dHkvbWl4ZWRDb250ZW50L3NlY3VyZS1wYWdlLW5hdmlnYXRlcy10by1iYXNpYy1hdXRoLWluc2Vj
dXJlLXBhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3NlY3VyaXR5L21peGVkQ29udGVudC9zZWN1cmUtcGFnZS1uYXZpZ2F0ZXMtdG8tYmFzaWMtYXV0
aC1pbnNlY3VyZS1wYWdlLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
c2VjdXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1wYWdlLW5hdmlnYXRlcy10by1iYXNpYy1hdXRo
LXNlY3VyZS1wYWdlLXZpYS1pbnNlY3VyZS1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1w
YWdlLW5hdmlnYXRlcy10by1iYXNpYy1hdXRoLXNlY3VyZS1wYWdlLXZpYS1pbnNlY3VyZS1yZWRp
cmVjdC5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L21p
eGVkQ29udGVudC9zZWN1cmUtcmVkaXJlY3QtdG8taW5zZWN1cmUtcmVkaXJlY3QtdG8tYmFzaWMt
YXV0aC1zZWN1cmUtaW1hZ2UuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1yZWRpcmVjdC10by1zZWN1cmUtcmVkaXJl
Y3QtdG8tYmFzaWMtYXV0aC1pbnNlY3VyZS1pbWFnZS5odHRwcy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXJlZGlyZWN0LXRv
LXNlY3VyZS1yZWRpcmVjdC10by1iYXNpYy1hdXRoLWluc2VjdXJlLWltYWdlLmh0dHBzLmh0bWw6
CisKIDIwMTgtMDItMDUgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAg
ICAgIERpc2FsbG93IGV2YWx1YXRpbmcgSmF2YVNjcmlwdCBmcm9tIE5QUF9EZXN0cm95KCkgaW4g
V2ViS2l0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVk
Q29udGVudC9pbnNlY3VyZS1iYXNpYy1hdXRoLWltYWdlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWJhc2lj
LWF1dGgtaW1hZ2UuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxYTQyOTE5MzgwYTJj
ZjNkYjhlYTY1ZThjNjgzMGU5OGY3NzBjYzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9pbnNlY3VyZS1iYXNpYy1hdXRoLWlt
YWdlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMzM6IFRoZSBwYWdlIGF0IGh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvc2VjdXJpdHkvbWl4
ZWRDb250ZW50L2luc2VjdXJlLWJhc2ljLWF1dGgtaW1hZ2UuaHR0cHMuaHRtbCB3YXMgYWxsb3dl
ZCB0byBkaXNwbGF5IGluc2VjdXJlIGNvbnRlbnQgZnJvbSBodHRwOi8vbG9jYWxob3N0OjgwMDAv
c2VjdXJpdHkvbWl4ZWRDb250ZW50L3Jlc291cmNlcy9zdWJyZXNvdXJjZTIvcHJvdGVjdGVkLWlt
YWdlLnBocC4KKworQ09OU09MRSBNRVNTQUdFOiBCbG9ja2VkIGh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MC9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJlc291cmNlMi9wcm90ZWN0ZWQt
aW1hZ2UucGhwIGZyb20gYXNraW5nIGZvciBjcmVkZW50aWFscyBiZWNhdXNlIGl0IGlzIGluc2Vj
dXJlIGNvbnRlbnQuCitUZXN0cyB0aGF0IHdlIGRvIG5vdCBhc2sgZm9yIGNyZWRlbnRpYWxzIHdo
ZW4gbG9hZGluZyBhbiBpbnNlY3VyZSBpbWFnZSB0aGF0IHJlcXVpcmVzIGJhc2ljIGF1dGhlbnRp
Y2F0aW9uLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBkaWQgbm90IGxv
YWQgaW1hZ2UuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENv
bnRlbnQvaW5zZWN1cmUtYmFzaWMtYXV0aC1pbWFnZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtYmFzaWMtYXV0aC1pbWFn
ZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMmNjZmI3NzUxNzc2YmU1Zjc3Yzc3NDkxZmYyNzA3
ZDNmYzNjZDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L21peGVkQ29udGVudC9pbnNlY3VyZS1iYXNpYy1hdXRoLWltYWdlLmh0dHBzLmh0bWwKQEAg
LTAsMCArMSw0NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLnNldEhhbmRsZXNBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZXModHJ1ZSk7CisgICAgdGVzdFJ1bm5lci5zZXRBdXRoZW50aWNhdGlv
blVzZXJuYW1lKCJ0ZXN0VXNlciIpOworICAgIHRlc3RSdW5uZXIuc2V0QXV0aGVudGljYXRpb25Q
YXNzd29yZCgidGVzdFBhc3N3b3JkIik7Cit9CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworZnVuY3Rpb24gcGFzcygpCit7CisgICAgdGVzdFBhc3NlZCgiZGlkIG5vdCBsb2FkIGlt
YWdlLiIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitmdW5jdGlvbiBmYWlsKCkKK3sKKyAg
ICB0ZXN0RmFpbGVkKCJkaWQgbG9hZCBpbWFnZS4iKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30K
KworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgLy8gTG9hZCB0aGUgaW1hZ2UgcHJvZ3JhbW1h
dGljYWxseSBpbnN0ZWFkIG9mIGRlY2xhcmF0aXZlbHkgdG8gYXZvaWQgb3V0cHV0IGZsYWtpbmVz
cyBjYXVzZWQgYnkKKyAgICAvLyB0aGUgcHJlbG9hZCBzY2FubmVyIHBlcmZvcm1pbmcgbWl4ZWQg
Y29udGVudCBjaGVja3MgYXMgcGFydCBvZiBwcmVsb2FkaW5nIHRoZSBpbWFnZS4KKyAgICBsZXQg
aW1hZ2UgPSBuZXcgSW1hZ2U7CisgICAgaW1hZ2Uub25sb2FkID0gZmFpbDsKKyAgICBpbWFnZS5v
bmVycm9yID0gcGFzczsKKyAgICBpbWFnZS5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Nl
Y3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2UyL3Byb3RlY3RlZC1pbWFn
ZS5waHAiOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW1hZ2UpOworfQorCit3aW5k
b3cub25sb2FkID0gcnVuVGVzdDsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
PgorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgd2UgZG8gbm90IGFzayBmb3IgY3JlZGVudGlhbHMg
d2hlbiBsb2FkaW5nIGFuIGluc2VjdXJlIGltYWdlIHRoYXQgcmVxdWlyZXMgYmFzaWMgYXV0aGVu
dGljYXRpb24uIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWRvd25s
b2FkLXJlZGlyZWN0cy10by1iYXNpYy1hdXRoLXNlY3VyZS1kb3dubG9hZC5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9pbnNl
Y3VyZS1kb3dubG9hZC1yZWRpcmVjdHMtdG8tYmFzaWMtYXV0aC1zZWN1cmUtZG93bmxvYWQuaHR0
cHMtZXhwZWN0ZWQudHh0CmluZGV4IDZmMDhmMzc1MTc3Njg3OWIzZDM2MGQ3NWE1OGRjOGNkMGY3
MzM1MmQuLjk4MjY0ZTViMWU3MzBlZmZmODc4OTFjNGUwNjMzYTgyNDFmNDJlM2EgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJl
LWRvd25sb2FkLXJlZGlyZWN0cy10by1iYXNpYy1hdXRoLXNlY3VyZS1kb3dubG9hZC5odHRwcy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENv
bnRlbnQvaW5zZWN1cmUtZG93bmxvYWQtcmVkaXJlY3RzLXRvLWJhc2ljLWF1dGgtc2VjdXJlLWRv
d25sb2FkLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwyICsxLDQgQEAKK0NPTlNPTEUgTUVTU0FH
RTogQmxvY2tlZCBodHRwczovL2xvY2FsaG9zdDo4NDQzL3NlY3VyaXR5L21peGVkQ29udGVudC9y
ZXNvdXJjZXMvc3VicmVzb3VyY2UvcHJvdGVjdGVkLXBkZi5waHAgZnJvbSBhc2tpbmcgZm9yIGNy
ZWRlbnRpYWxzIGJlY2F1c2UgaXQgd2FzIGxvYWRlZCB2aWEgYW4gaW5zZWN1cmUgcmVkaXJlY3Qg
ZnJvbSBodHRwOi8vMTI3LjAuMC4xOjgwODAvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9aHR0
cHM6Ly9sb2NhbGhvc3Q6ODQ0My9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJl
c291cmNlL3Byb3RlY3RlZC1wZGYucGhwLgorQ09OU09MRSBNRVNTQUdFOiBCbG9ja2VkIGh0dHBz
Oi8vbG9jYWxob3N0Ojg0NDMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3Jlc291cmNlcy9zdWJyZXNv
dXJjZS9wcm90ZWN0ZWQtcGRmLnBocCBmcm9tIGFza2luZyBmb3IgY3JlZGVudGlhbHMgYmVjYXVz
ZSBuYXZpZ2F0ZWQgZnJvbSBhIHNlY3VyZSBwYWdlIG9yIHdlbnQgdGhyb3VnaCBhbiBpbnNlY3Vy
ZSByZWRpcmVjdC4KIEFMRVJUOiBVbmF1dGhvcml6ZWQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtaW1hZ2UtcmVkaXJl
Y3RzLXRvLWJhc2ljLWF1dGgtc2VjdXJlLWltYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWltYWdlLXJlZGlyZWN0
cy10by1iYXNpYy1hdXRoLXNlY3VyZS1pbWFnZS1leHBlY3RlZC50eHQKaW5kZXggOGI0NDM3Njll
MzdmODU4MzIyZmY3NTRkNjliNDRlZDFkOTg1ZTE3OC4uNjNkMzE3NzE2YWYzZGU5N2E2NzI1YWUy
ZGQ1MzFkOGNhM2M3ZWJmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtaW1hZ2UtcmVkaXJlY3RzLXRvLWJhc2ljLWF1dGgt
c2VjdXJlLWltYWdlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L21peGVkQ29udGVudC9pbnNlY3VyZS1pbWFnZS1yZWRpcmVjdHMtdG8tYmFzaWMtYXV0
aC1zZWN1cmUtaW1hZ2UtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNiBAQAogQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDE3OiBUaGUgcGFnZSBhdCBodHRwczovLzEyNy4wLjAuMTo4NDQzL3NlY3VyaXR5
L21peGVkQ29udGVudC9yZXNvdXJjZXMvZnJhbWUtd2l0aC1pbnNlY3VyZS1pbWFnZS1yZWRpcmVj
dHMtdG8tYmFzaWMtYXV0aC1zZWN1cmUtaW1hZ2UuaHRtbCB3YXMgYWxsb3dlZCB0byBkaXNwbGF5
IGluc2VjdXJlIGNvbnRlbnQgZnJvbSBodHRwOi8vMTI3LjAuMC4xOjgwODAvcmVzb3VyY2VzL3Jl
ZGlyZWN0LnBocD91cmw9aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My9zZWN1cml0eS9taXhlZENvbnRl
bnQvcmVzb3VyY2VzL3N1YnJlc291cmNlL3Byb3RlY3RlZC1pbWFnZS5waHAuCiAKK0NPTlNPTEUg
TUVTU0FHRTogQmxvY2tlZCBodHRwczovL2xvY2FsaG9zdDo4NDQzL3NlY3VyaXR5L21peGVkQ29u
dGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2UvcHJvdGVjdGVkLWltYWdlLnBocCBmcm9tIGFza2lu
ZyBmb3IgY3JlZGVudGlhbHMgYmVjYXVzZSBpdCB3YXMgbG9hZGVkIHZpYSBhbiBpbnNlY3VyZSBy
ZWRpcmVjdCBmcm9tIGh0dHA6Ly8xMjcuMC4wLjE6ODA4MC9yZXNvdXJjZXMvcmVkaXJlY3QucGhw
P3VybD1odHRwczovL2xvY2FsaG9zdDo4NDQzL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJj
ZXMvc3VicmVzb3VyY2UvcHJvdGVjdGVkLWltYWdlLnBocC4KIFRoaXMgdGVzdCBvcGVucyBhIG5l
dyB3aW5kb3cgdG8gYSBzZWN1cmUgcGFnZSB0aGF0IGxvYWRzIGFuIGluc2VjdXJlIGltYWdlIHRo
YXQgcmVkaXJlY3RzIHRvIGEgc2VjdXJlIGltYWdlIGd1YXJkZWQgYnkgYmFzaWMgYXV0aGVudGlj
YXRpb24uIFRoZSBzZWN1cmUgaW1hZ2Ugc2hvdWxkIGJlIGJsb2NrZWQgYmVjYXVzZSBpdCByZXF1
aXJlcyBjcmVkZW50aWFscyBhbmQgd2FzIGxvYWRlZCB2aWEgYW4gaW5zZWN1cmUgcmVkaXJlY3Qu
CiAKIFBBU1MgZGlkIG5vdCBsb2FkIGltYWdlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJlc291cmNlL3Byb3Rl
Y3RlZC1wYWdlLnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250
ZW50L3Jlc291cmNlcy9zdWJyZXNvdXJjZS9wcm90ZWN0ZWQtcGFnZS5waHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZWQyMTdjNzg3YWIwNzNlNDFiYTJmNjUzYWU0MjJiZWFmNzYxOTFjNQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3Jlc291cmNl
cy9zdWJyZXNvdXJjZS9wcm90ZWN0ZWQtcGFnZS5waHAKQEAgLTAsMCArMSwyMyBAQAorPD9waHAK
K2hlYWRlcigiQ2FjaGUtQ29udHJvbDogbm8tc3RvcmUiKTsKK2hlYWRlcigiQ29ubmVjdGlvbjog
Y2xvc2UiKTsKK2lmICghaXNzZXQoJF9TRVJWRVJbIlBIUF9BVVRIX1VTRVIiXSkpIHsKKyAgICBo
ZWFkZXIoIldXVy1hdXRoZW50aWNhdGU6IEJhc2ljIHJlYWxtPVwiIiAuICRfU0VSVkVSWyJSRVFV
RVNUX1VSSSJdIC4gIlwiIik7CisgICAgaGVhZGVyKCJIVFRQLzEuMCA0MDEgVW5hdXRob3JpemVk
Iik7Cit9CitoZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9odG1sIik7Cis/PgorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHA+PD9waHAgaWYgKGlzc2V0KCRfU0VSVkVSWyJQSFBf
QVVUSF9VU0VSIl0pKSB7ID8+CitBdXRoZW50aWNhdGVkIHdpdGggdXNlcm5hbWUgPD9waHAgZWNo
byBodG1sc3BlY2lhbGNoYXJzKCRfU0VSVkVSWyJQSFBfQVVUSF9VU0VSIl0pOyA/Pi4KKzw/cGhw
IH0gZWxzZSB7ID8+CitVbmF1dGhvcml6ZWQuCis8P3BocCB9ID8+PC9wPgorPHNjcmlwdD4KK2lm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJlc291cmNlMi9wcm90ZWN0ZWQt
aW1hZ2UucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQv
cmVzb3VyY2VzL3N1YnJlc291cmNlMi9wcm90ZWN0ZWQtaW1hZ2UucGhwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5
YjAyNzExY2M2YTJhN2U4NGVhOWNkZWY2YjRlMTE2MTJmN2ZiYzIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMv
c3VicmVzb3VyY2UyL3Byb3RlY3RlZC1pbWFnZS5waHAKQEAgLTAsMCArMSwxMiBAQAorPD9waHAK
K2hlYWRlcigiQ2FjaGUtQ29udHJvbDogbm8tc3RvcmUiKTsKK2hlYWRlcigiQ29ubmVjdGlvbjog
Y2xvc2UiKTsKK2lmICghaXNzZXQoJF9TRVJWRVJbIlBIUF9BVVRIX1VTRVIiXSkpIHsKKyAgICBo
ZWFkZXIoIldXVy1hdXRoZW50aWNhdGU6IEJhc2ljIHJlYWxtPVwiIiAuICRfU0VSVkVSWyJSRVFV
RVNUX1VSSSJdIC4gIlwiIik7CisgICAgaGVhZGVyKCJIVFRQLzEuMCA0MDEgVW5hdXRob3JpemVk
Iik7CisgICAgZXhpdDsKK30KKy8vIEF1dGhlbnRpY2F0ZWQKK2hlYWRlcigiQ29udGVudC1UeXBl
OiBpbWFnZS9wbmciKTsKK2VjaG8gZmlsZV9nZXRfY29udGVudHMoIi4uLy4uLy4uL2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9ibG9jay1hbGwtbWl4ZWQtY29udGVudC9yZXNvdXJjZXMvcmVkLXNxdWFy
ZS5wbmciKTsKKz8+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L21peGVkQ29udGVudC9zZWN1cmUtcGFnZS1uYXZpZ2F0ZXMtdG8tYmFzaWMtYXV0aC1pbnNlY3Vy
ZS1wYWdlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvbWl4ZWRDb250ZW50L3NlY3VyZS1wYWdlLW5hdmlnYXRlcy10by1iYXNpYy1hdXRoLWluc2Vj
dXJlLXBhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlYjQwZDYzNTExY2Q4MTRi
Zjk0Nzk0NTViZWE5Y2ZjYTMzZWQ0OGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9zZWN1cmUtcGFnZS1uYXZpZ2F0ZXMtdG8t
YmFzaWMtYXV0aC1pbnNlY3VyZS1wYWdlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMg
QEAKK0NPTlNPTEUgTUVTU0FHRTogQmxvY2tlZCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJp
dHkvbWl4ZWRDb250ZW50L3Jlc291cmNlcy9zdWJyZXNvdXJjZS9wcm90ZWN0ZWQtcGFnZS5waHAg
ZnJvbSBhc2tpbmcgZm9yIGNyZWRlbnRpYWxzIGJlY2F1c2UgaXQgaXMgaW5zZWN1cmUgY29udGVu
dC4KK0NPTlNPTEUgTUVTU0FHRTogQmxvY2tlZCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJp
dHkvbWl4ZWRDb250ZW50L3Jlc291cmNlcy9zdWJyZXNvdXJjZS9wcm90ZWN0ZWQtcGFnZS5waHAg
ZnJvbSBhc2tpbmcgZm9yIGNyZWRlbnRpYWxzIGJlY2F1c2UgbmF2aWdhdGVkIGZyb20gYSBzZWN1
cmUgcGFnZSBvciB3ZW50IHRocm91Z2ggYW4gaW5zZWN1cmUgcmVkaXJlY3QuCitVbmF1dGhvcml6
ZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29u
dGVudC9zZWN1cmUtcGFnZS1uYXZpZ2F0ZXMtdG8tYmFzaWMtYXV0aC1pbnNlY3VyZS1wYWdlLmh0
dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9z
ZWN1cmUtcGFnZS1uYXZpZ2F0ZXMtdG8tYmFzaWMtYXV0aC1pbnNlY3VyZS1wYWdlLmh0dHBzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzc2ZTYzODE0YjI1MjA4OGEwYjMzNGYzMGFlM2I0OGRmYjEzN2Y0Ygot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRD
b250ZW50L3NlY3VyZS1wYWdlLW5hdmlnYXRlcy10by1iYXNpYy1hdXRoLWluc2VjdXJlLXBhZ2Uu
aHR0cHMuaHRtbApAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci5zZXRIYW5kbGVzQXV0aGVudGljYXRpb25DaGFs
bGVuZ2VzKHRydWUpOworICAgIHRlc3RSdW5uZXIuc2V0QXV0aGVudGljYXRpb25Vc2VybmFtZSgi
dGVzdFVzZXIiKTsKKyAgICB0ZXN0UnVubmVyLnNldEF1dGhlbnRpY2F0aW9uUGFzc3dvcmQoInRl
c3RQYXNzd29yZCIpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQord2luZG93
LmxvY2F0aW9uLmhyZWYgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L21peGVkQ29u
dGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2UvcHJvdGVjdGVkLXBhZ2UucGhwIjsKKzwvc2NyaXB0
PgorPC9oZWFkPgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXBhZ2UtbmF2aWdhdGVzLXRvLWJhc2ljLWF1dGgt
c2VjdXJlLXBhZ2UtdmlhLWluc2VjdXJlLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1wYWdlLW5h
dmlnYXRlcy10by1iYXNpYy1hdXRoLXNlY3VyZS1wYWdlLXZpYS1pbnNlY3VyZS1yZWRpcmVjdC5o
dHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWJjMTE3MWZhZTA1MWRhY2YxYjhhNzExMWQw
MzkyM2ZkODY0N2EzMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1wYWdlLW5hdmlnYXRlcy10by1iYXNpYy1hdXRo
LXNlY3VyZS1wYWdlLXZpYS1pbnNlY3VyZS1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzIEBACitDT05TT0xFIE1FU1NBR0U6IEJsb2NrZWQgaHR0cHM6Ly8xMjcuMC4wLjE6
ODQ0My9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJlc291cmNlL3Byb3RlY3Rl
ZC1wYWdlLnBocCBmcm9tIGFza2luZyBmb3IgY3JlZGVudGlhbHMgYmVjYXVzZSBpdCB3YXMgbG9h
ZGVkIHZpYSBhbiBpbnNlY3VyZSByZWRpcmVjdCBmcm9tIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9y
ZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD1odHRwczovLzEyNy4wLjAuMTo4NDQzL3NlY3VyaXR5
L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2UvcHJvdGVjdGVkLXBhZ2UucGhwLgor
Q09OU09MRSBNRVNTQUdFOiBCbG9ja2VkIGh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvc2VjdXJpdHkv
bWl4ZWRDb250ZW50L3Jlc291cmNlcy9zdWJyZXNvdXJjZS9wcm90ZWN0ZWQtcGFnZS5waHAgZnJv
bSBhc2tpbmcgZm9yIGNyZWRlbnRpYWxzIGJlY2F1c2UgbmF2aWdhdGVkIGZyb20gYSBzZWN1cmUg
cGFnZSBvciB3ZW50IHRocm91Z2ggYW4gaW5zZWN1cmUgcmVkaXJlY3QuCitVbmF1dGhvcml6ZWQu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVu
dC9zZWN1cmUtcGFnZS1uYXZpZ2F0ZXMtdG8tYmFzaWMtYXV0aC1zZWN1cmUtcGFnZS12aWEtaW5z
ZWN1cmUtcmVkaXJlY3QuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvbWl4ZWRDb250ZW50L3NlY3VyZS1wYWdlLW5hdmlnYXRlcy10by1iYXNpYy1hdXRoLXNlY3Vy
ZS1wYWdlLXZpYS1pbnNlY3VyZS1yZWRpcmVjdC5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzYzUx
NTMxY2M1YzQ2NzMzZTQxOTIyZDE2ZTc3NTc0NjU2NzRlYjMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9zZWN1cmUtcGFnZS1u
YXZpZ2F0ZXMtdG8tYmFzaWMtYXV0aC1zZWN1cmUtcGFnZS12aWEtaW5zZWN1cmUtcmVkaXJlY3Qu
aHR0cHMuaHRtbApAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci5zZXRIYW5kbGVzQXV0aGVudGljYXRpb25DaGFs
bGVuZ2VzKHRydWUpOworICAgIHRlc3RSdW5uZXIuc2V0QXV0aGVudGljYXRpb25Vc2VybmFtZSgi
dGVzdFVzZXIiKTsKKyAgICB0ZXN0UnVubmVyLnNldEF1dGhlbnRpY2F0aW9uUGFzc3dvcmQoInRl
c3RQYXNzd29yZCIpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQord2luZG93
LmxvY2F0aW9uLmhyZWYgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlcy9yZWRpcmVj
dC5waHA/dXJsPWh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3Jl
c291cmNlcy9zdWJyZXNvdXJjZS9wcm90ZWN0ZWQtcGFnZS5waHAiOworPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L21peGVkQ29udGVudC9zZWN1cmUtcmVkaXJlY3QtdG8taW5zZWN1cmUtcmVkaXJlY3QtdG8tYmFz
aWMtYXV0aC1zZWN1cmUtaW1hZ2UuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXJlZGlyZWN0LXRvLWluc2VjdXJl
LXJlZGlyZWN0LXRvLWJhc2ljLWF1dGgtc2VjdXJlLWltYWdlLmh0dHBzLWV4cGVjdGVkLnR4dApp
bmRleCBmMTU1MjI5NzAyYTFkMzg1YTkyMjc3NGJkYTdhOTQxYWFkZTdlZDY2Li43OTU5ZjA4Njhk
ZDU1OWU2ZTQ1ZjRiODVhZjU3NzQwZDI4ZjMwMjRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9zZWN1cmUtcmVkaXJlY3QtdG8taW5zZWN1
cmUtcmVkaXJlY3QtdG8tYmFzaWMtYXV0aC1zZWN1cmUtaW1hZ2UuaHR0cHMtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3NlY3Vy
ZS1yZWRpcmVjdC10by1pbnNlY3VyZS1yZWRpcmVjdC10by1iYXNpYy1hdXRoLXNlY3VyZS1pbWFn
ZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw2IEBACiBDT05TT0xFIE1FU1NBR0U6IFRo
ZSBwYWdlIGF0IGh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3Nl
Y3VyZS1yZWRpcmVjdC10by1pbnNlY3VyZS1yZWRpcmVjdC10by1iYXNpYy1hdXRoLXNlY3VyZS1p
bWFnZS5odHRwcy5odG1sIHdhcyBhbGxvd2VkIHRvIGRpc3BsYXkgaW5zZWN1cmUgY29udGVudCBm
cm9tIGh0dHA6Ly8xMjcuMC4wLjE6ODA4MC9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD1odHRw
czovL2xvY2FsaG9zdDo4NDQzL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVz
b3VyY2UvcHJvdGVjdGVkLWltYWdlLnBocC4KIAorQ09OU09MRSBNRVNTQUdFOiBCbG9ja2VkIGh0
dHBzOi8vbG9jYWxob3N0Ojg0NDMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3Jlc291cmNlcy9zdWJy
ZXNvdXJjZS9wcm90ZWN0ZWQtaW1hZ2UucGhwIGZyb20gYXNraW5nIGZvciBjcmVkZW50aWFscyBi
ZWNhdXNlIGl0IHdhcyBsb2FkZWQgdmlhIGFuIGluc2VjdXJlIHJlZGlyZWN0IGZyb20gaHR0cHM6
Ly8xMjcuMC4wLjE6ODQ0My9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD1odHRwJTNBLy8xMjcu
MC4wLjElM0E4MDgwL3Jlc291cmNlcy9yZWRpcmVjdC5waHAlM0Z1cmwlM0RodHRwcyUzQS8vbG9j
YWxob3N0JTNBODQ0My9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJlc291cmNl
L3Byb3RlY3RlZC1pbWFnZS5waHAuCiBUaGlzIHRlc3QgbG9hZHMgYSBzZWN1cmUgaW1hZ2UgdGhh
dCByZWRpcmVjdHMgdG8gYW4gaW5zZWN1cmUgaW1hZ2UgdGhhdCByZWRpcmVjdHMgdG8gYSBzZWN1
cmUgaW1hZ2UgZ3VhcmRlZCBieSBiYXNpYyBhdXRoZW50aWNhdGlvbi4gVGhlIHNlY3VyZSBpbWFn
ZSBzaG91bGQgYmUgYmxvY2tlZCBiZWNhdXNlIGl0IHJlcXVpcmVzIGNyZWRlbnRpYWxzIGFuZCB3
YXMgbG9hZGVkIHZpYSBhbiBpbnNlY3VyZSByZWRpcmVjdC4KIAogT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhl
ZENvbnRlbnQvc2VjdXJlLXJlZGlyZWN0LXRvLXNlY3VyZS1yZWRpcmVjdC10by1iYXNpYy1hdXRo
LWluc2VjdXJlLWltYWdlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1yZWRpcmVjdC10by1zZWN1cmUtcmVkaXJl
Y3QtdG8tYmFzaWMtYXV0aC1pbnNlY3VyZS1pbWFnZS5odHRwcy1leHBlY3RlZC50eHQKaW5kZXgg
N2Y5OTc5NzFjMzVhOTgzYjI1NmFiNDI0NDJhMzYxYWZmYzllZWJlZi4uMzIxODgyZTk0MDBhMTk5
Mjk1ZGQxZWRmOWUzN2JjNzM4ZWRlNTc0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXJlZGlyZWN0LXRvLXNlY3VyZS1yZWRp
cmVjdC10by1iYXNpYy1hdXRoLWluc2VjdXJlLWltYWdlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9zZWN1cmUtcmVk
aXJlY3QtdG8tc2VjdXJlLXJlZGlyZWN0LXRvLWJhc2ljLWF1dGgtaW5zZWN1cmUtaW1hZ2UuaHR0
cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNiBAQAotQ09OU09MRSBNRVNTQUdFOiBUaGUgcGFn
ZSBhdCBodHRwczovLzEyNy4wLjAuMTo4NDQzL3NlY3VyaXR5L21peGVkQ29udGVudC9zZWN1cmUt
cmVkaXJlY3QtdG8tc2VjdXJlLXJlZGlyZWN0LXRvLWJhc2ljLWF1dGgtaW5zZWN1cmUtaW1hZ2Uu
aHR0cHMuaHRtbCB3YXMgYWxsb3dlZCB0byBkaXNwbGF5IGluc2VjdXJlIGNvbnRlbnQgZnJvbSBo
dHRwOi8vMTI3LjAuMC4xOjg0NDMvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9aHR0cDovL2xv
Y2FsaG9zdDo4MDgwL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2Uv
cHJvdGVjdGVkLWltYWdlLnBocC4KK0NPTlNPTEUgTUVTU0FHRTogVGhlIHBhZ2UgYXQgaHR0cHM6
Ly8xMjcuMC4wLjE6ODQ0My9zZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXJlZGlyZWN0LXRv
LXNlY3VyZS1yZWRpcmVjdC10by1iYXNpYy1hdXRoLWluc2VjdXJlLWltYWdlLmh0dHBzLmh0bWwg
d2FzIGFsbG93ZWQgdG8gZGlzcGxheSBpbnNlY3VyZSBjb250ZW50IGZyb20gaHR0cDovL2xvY2Fs
aG9zdDo4MDgwL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2UvcHJv
dGVjdGVkLWltYWdlLnBocC4KIAorQ09OU09MRSBNRVNTQUdFOiBCbG9ja2VkIGh0dHA6Ly9sb2Nh
bGhvc3Q6ODA4MC9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJlc291cmNlL3By
b3RlY3RlZC1pbWFnZS5waHAgZnJvbSBhc2tpbmcgZm9yIGNyZWRlbnRpYWxzIGJlY2F1c2UgaXQg
aXMgaW5zZWN1cmUgY29udGVudCB0aGF0IHdhcyBsb2FkZWQgdmlhIGEgcmVkaXJlY3QgZnJvbSBo
dHRwczovLzEyNy4wLjAuMTo4NDQzL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHBzJTNB
Ly9sb2NhbGhvc3QlM0E4NDQzL3Jlc291cmNlcy9yZWRpcmVjdC5waHAlM0Z1cmwlM0RodHRwJTNB
Ly9sb2NhbGhvc3QlM0E4MDgwL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVz
b3VyY2UvcHJvdGVjdGVkLWltYWdlLnBocC4KIFRoaXMgdGVzdCBsb2FkcyBhIHNlY3VyZSBpbWFn
ZSB0aGF0IHJlZGlyZWN0cyB0byBhbiBzZWN1cmUgaW1hZ2UgdGhhdCByZWRpcmVjdHMgdG8gYW4g
aW5zZWN1cmUgaW1hZ2UgZ3VhcmRlZCBieSBiYXNpYyBhdXRoZW50aWNhdGlvbi4gVGhlIGluc2Vj
dXJlIGltYWdlIHNob3VsZCBiZSBibG9ja2VkIGJlY2F1c2UgaXQgcmVxdWlyZXMgY3JlZGVudGlh
bHMuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3NlY3VyZS1yZWRpcmVjdC10by1zZWN1
cmUtcmVkaXJlY3QtdG8tYmFzaWMtYXV0aC1pbnNlY3VyZS1pbWFnZS5odHRwcy5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXJlZGlyZWN0
LXRvLXNlY3VyZS1yZWRpcmVjdC10by1iYXNpYy1hdXRoLWluc2VjdXJlLWltYWdlLmh0dHBzLmh0
bWwKaW5kZXggYWEwMjEzNzY4YzYzNGRmOTEwYzA3YjdkMTIyZWZjMjVkN2ZjMjg0OS4uMzBjY2M2
MDU0YzkwMGFkNmMyZGNmZDk1NzIzZmQ4NjMxNjMzNjE1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXJlZGlyZWN0LXRvLXNl
Y3VyZS1yZWRpcmVjdC10by1iYXNpYy1hdXRoLWluc2VjdXJlLWltYWdlLmh0dHBzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvc2VjdXJlLXJl
ZGlyZWN0LXRvLXNlY3VyZS1yZWRpcmVjdC10by1iYXNpYy1hdXRoLWluc2VjdXJlLWltYWdlLmh0
dHBzLmh0bWwKQEAgLTIyLDEwICsyMiwyMiBAQCBmdW5jdGlvbiBmYWlsKCkKICAgICB0ZXN0RmFp
bGVkKCJkaWQgbG9hZCBpbWFnZS4iKTsKICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0KKworZnVuY3Rp
b24gcnVuVGVzdCgpCit7CisgICAgLy8gTG9hZCB0aGUgaW1hZ2UgcHJvZ3JhbW1hdGljYWxseSBp
bnN0ZWFkIG9mIGRlY2xhcmF0aXZlbHkgdG8gYXZvaWQgb3V0cHV0IGZsYWtpbmVzcyBjYXVzZWQg
YnkKKyAgICAvLyB0aGUgcHJlbG9hZCBzY2FubmVyIHBlcmZvcm1pbmcgbWl4ZWQgY29udGVudCBj
aGVja3MgYXMgcGFydCBvZiBwcmVsb2FkaW5nIHRoZSBpbWFnZS4KKyAgICBsZXQgaW1hZ2UgPSBu
ZXcgSW1hZ2U7CisgICAgaW1hZ2Uub25sb2FkID0gZmFpbDsKKyAgICBpbWFnZS5vbmVycm9yID0g
cGFzczsKKyAgICBpbWFnZS5zcmMgPSAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My9yZXNvdXJjZXMv
cmVkaXJlY3QucGhwP3VybD1odHRwcyUzQS8vbG9jYWxob3N0JTNBODQ0My9yZXNvdXJjZXMvcmVk
aXJlY3QucGhwJTNGdXJsJTNEaHR0cCUzQS8vbG9jYWxob3N0JTNBODA4MC9zZWN1cml0eS9taXhl
ZENvbnRlbnQvcmVzb3VyY2VzL3N1YnJlc291cmNlL3Byb3RlY3RlZC1pbWFnZS5waHAiOworICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW1hZ2UpOworfQorCit3aW5kb3cub25sb2FkID0g
cnVuVGVzdDsKIDwvc2NyaXB0PgogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgbG9h
ZHMgYSBzZWN1cmUgaW1hZ2UgdGhhdCByZWRpcmVjdHMgdG8gYW4gc2VjdXJlIGltYWdlIHRoYXQg
cmVkaXJlY3RzIHRvIGFuIGluc2VjdXJlIGltYWdlIGd1YXJkZWQgYnkgYmFzaWMgYXV0aGVudGlj
YXRpb24uIFRoZSBpbnNlY3VyZSBpbWFnZSBzaG91bGQgYmUgYmxvY2tlZCBiZWNhdXNlIGl0IHJl
cXVpcmVzIGNyZWRlbnRpYWxzLiIpOwogPC9zY3JpcHQ+Ci08aW1nIHNyYz0iaHR0cHM6Ly8xMjcu
MC4wLjE6ODQ0My9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD1odHRwJTNBLy8xMjcuMC4wLjEl
M0E4NDQzL3Jlc291cmNlcy9yZWRpcmVjdC5waHAlM0Z1cmwlM0RodHRwJTNBLy9sb2NhbGhvc3Ql
M0E4MDgwL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3VicmVzb3VyY2UvcHJvdGVj
dGVkLWltYWdlLnBocCIgb25lcnJvcj0icGFzcygpIiBvbmxvYWQ9ImZhaWwoKSI+CiA8L2JvZHk+
CiA8L2h0bWw+Cg==
</data>
<flag name="review"
          id="352100"
          type_id="1"
          status="+"
          setter="aestes"
    />
          </attachment>
      

    </bug>

</bugzilla>