<?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>213109</bug_id>
          
          <creation_ts>2020-06-11 20:25:54 -0700</creation_ts>
          <short_desc>Add SPI to preconnect to a server</short_desc>
          <delta_ts>2020-06-18 16:11:56 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>cdumez</cc>
    
    <cc>ggaren</cc>
    
    <cc>jbedard</cc>
    
    <cc>mjs</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1661834</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-06-11 20:25:54 -0700</bug_when>
    <thetext>Add SPI to preconnect to a server</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661835</commentid>
    <comment_count>1</comment_count>
      <attachid>401703</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-06-11 20:28:57 -0700</bug_when>
    <thetext>Created attachment 401703
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661840</commentid>
    <comment_count>2</comment_count>
      <attachid>401703</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-06-11 20:35:02 -0700</bug_when>
    <thetext>Comment on attachment 401703
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661852</commentid>
    <comment_count>3</comment_count>
      <attachid>401703</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-06-11 22:01:23 -0700</bug_when>
    <thetext>Comment on attachment 401703
Patch

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

&gt; Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:1475
&gt; -    if (!url.isValid() || !url.protocolIsInHTTPFamily() || SecurityOrigin::isLocalHostOrLoopbackIPAddress(url.host()))
&gt; +    if (!url.isValid() || !url.protocolIsInHTTPFamily())

It looks like this change made some tests fail.  The use of isLocalHostOrLoopbackIPAddress was probably covering up some bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661930</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-12 07:24:21 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #3)
&gt; Comment on attachment 401703 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=401703&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:1475
&gt; &gt; -    if (!url.isValid() || !url.protocolIsInHTTPFamily() || SecurityOrigin::isLocalHostOrLoopbackIPAddress(url.host()))
&gt; &gt; +    if (!url.isValid() || !url.protocolIsInHTTPFamily())
&gt; 
&gt; It looks like this change made some tests fail.  The use of
&gt; isLocalHostOrLoopbackIPAddress was probably covering up some bugs.

Yes, we totally added that because the basic HTTPServer in API tests did not like the preconnects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662023</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-12 10:31:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/64302572&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662024</commentid>
    <comment_count>6</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2020-06-12 10:31:46 -0700</bug_when>
    <thetext>&lt;rdar://problem/64184412&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662120</commentid>
    <comment_count>7</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-06-12 13:33:27 -0700</bug_when>
    <thetext>Fixing that separate issue in https://bugs.webkit.org/show_bug.cgi?id=213144</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662241</commentid>
    <comment_count>8</comment_count>
      <attachid>401805</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-06-12 16:59:00 -0700</bug_when>
    <thetext>Created attachment 401805
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662712</commentid>
    <comment_count>9</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2020-06-15 11:04:04 -0700</bug_when>
    <thetext>Preconnect test still seems to be failing with the latest change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662772</commentid>
    <comment_count>10</comment_count>
      <attachid>401925</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-06-15 13:01:48 -0700</bug_when>
    <thetext>Created attachment 401925
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662805</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-15 13:59:26 -0700</bug_when>
    <thetext>Committed r263057: &lt;https://trac.webkit.org/changeset/263057&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 401925.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1664023</commentid>
    <comment_count>12</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-06-18 15:36:20 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1664024</commentid>
    <comment_count>13</comment_count>
      <attachid>402244</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-06-18 15:36:21 -0700</bug_when>
    <thetext>Created attachment 402244
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1664027</commentid>
    <comment_count>14</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-06-18 15:37:10 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #13)
&gt; Created attachment 402244 [details]
&gt; Patch for landing

Build fix for Catalyst.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1664037</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-18 16:11:55 -0700</bug_when>
    <thetext>Committed r263242: &lt;https://trac.webkit.org/changeset/263242&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 402244.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401703</attachid>
            <date>2020-06-11 20:28:57 -0700</date>
            <delta_ts>2020-06-12 16:58:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213109-20200611202856.patch</filename>
            <type>text/plain</type>
            <size>14433</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjI5MjYpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDIwLTA2LTExICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFNQSSB0byBw
cmVjb25uZWN0IHRvIGEgc2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTMxMDkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY0MTg0NDEyPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvdmVyZWQg
YnkgQVBJIHRlc3RzLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQ
b29sUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1t
OgorICAgICAgICAoLVtXS1dlYlZpZXcgX3ByZWNvbm5lY3RUb1NlcnZlcjpdKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya1Byb2Nlc3NQcm94eTo6cHJlY29ubmVjdFRvKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpwcmVjb25u
ZWN0VG8pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKwogMjAyMC0wNi0x
MSAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVwbGFjZSBpbnN0
YW5jZXMgb2Ygd2hpdGVsaXN0IGluIFdlYkNvcmUgd2l0aCBhbGxvd2xpc3QKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24gMjYyOTIwKQorKysg
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDQxNCw4ICs0NDE0LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnByZWNvbm5lY3RUbyhjb25z
dCBVUgogICAgIGlmICghbV93ZWJzaXRlRGF0YVN0b3JlLT5jb25maWd1cmF0aW9uKCkuYWxsb3dz
U2VydmVyUHJlY29ubmVjdCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoYXV0byogbmV0
d29ya1Byb2Nlc3MgPSBtX3Byb2Nlc3MtPnByb2Nlc3NQb29sKCkubmV0d29ya1Byb2Nlc3MoKSkK
LSAgICAgICAgbmV0d29ya1Byb2Nlc3MtPnByZWNvbm5lY3RUbyhzZXNzaW9uSUQoKSwgaWRlbnRp
ZmllcigpLCB3ZWJQYWdlSUQoKSwgdXJsLCB1c2VyQWdlbnQoKSwgV2ViQ29yZTo6U3RvcmVkQ3Jl
ZGVudGlhbHNQb2xpY3k6OlVzZSwgbV9pc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKTsKKyAg
ICBtX3Byb2Nlc3MtPnByb2Nlc3NQb29sKCkuZW5zdXJlTmV0d29ya1Byb2Nlc3MoKS5wcmVjb25u
ZWN0VG8oc2Vzc2lvbklEKCksIGlkZW50aWZpZXIoKSwgd2ViUGFnZUlEKCksIHVybCwgdXNlckFn
ZW50KCksIFdlYkNvcmU6OlN0b3JlZENyZWRlbnRpYWxzUG9saWN5OjpVc2UsIG1faXNOYXZpZ2F0
aW5nVG9BcHBCb3VuZERvbWFpbik7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpkaWREZXN0cm95
TmF2aWdhdGlvbih1aW50NjRfdCBuYXZpZ2F0aW9uSUQpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAkocmV2aXNpb24gMjYyOTIwKQorKysgU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTE3ODIsNiArMTc4Miw4
IEBAIHB1YmxpYzoKIAogICAgIFdlYlBvcHVwTWVudVByb3h5KiBhY3RpdmVQb3B1cE1lbnUoKSBj
b25zdCB7IHJldHVybiBtX2FjdGl2ZVBvcHVwTWVudS5nZXQoKTsgfQogCisgICAgdm9pZCBwcmVj
b25uZWN0VG8oY29uc3QgVVJMJik7CisKIHByaXZhdGU6CiAgICAgV2ViUGFnZVByb3h5KFBhZ2VD
bGllbnQmLCBXZWJQcm9jZXNzUHJveHkmLCBSZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlvbj4mJik7
CiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemUoKTsKQEAgLTE4NTYsOCArMTg1OCw2IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBkaWRGaW5pc2hQcm9ncmVzcygpOwogICAgIHZvaWQgc2V0TmV0d29y
a1JlcXVlc3RzSW5Qcm9ncmVzcyhib29sKTsKIAotICAgIHZvaWQgcHJlY29ubmVjdFRvKGNvbnN0
IFVSTCYpOwotCiAgICAgdm9pZCBkaWREZXN0cm95TmF2aWdhdGlvbih1aW50NjRfdCBuYXZpZ2F0
aW9uSUQpOwogCiAgICAgdm9pZCBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKFJlZjxX
ZWJQcm9jZXNzUHJveHk+JiYsIFdlYkZyYW1lUHJveHkmLCBGcmFtZUluZm9EYXRhJiYsIHVpbnQ2
NF90IG5hdmlnYXRpb25JRCwgTmF2aWdhdGlvbkFjdGlvbkRhdGEmJiwgRnJhbWVJbmZvRGF0YSYm
IG9yaWdpbmF0aW5nRnJhbWVJbmZvLApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLUHJvY2Vzc1Bvb2xQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2xQcml2YXRlLmgJKHJldmlzaW9uIDI2
MjkyMCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29s
UHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTksNyArMTE5LDcgQEAKIC8vIFRlc3Qgb25s
eS4gU2hvdWxkIGJlIGNhbGxlZCBiZWZvcmUgYW55IHdlYiBjb250ZW50IHByb2Nlc3NlcyBhcmUg
bGF1bmNoZWQuCiArICh2b2lkKV9mb3JjZUdhbWVDb250cm9sbGVyRnJhbWV3b3JrIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3MoMTAuMTMpLCBpb3MoMTEuMCkpOwogCi0tICh2b2lkKV9wcmVjb25uZWN0
VG9TZXJ2ZXI6KE5TVVJMICopc2VydmVyVVJMIFdLX0FQSV9ERVBSRUNBVEVEKCJJZiBuZWVkZWQs
IFNQSSBzaG91bGQgYmUgYWRkZWQgdG8gV0tXZWJzaXRlRGF0YVN0b3JlIiwgbWFjb3MoMTAuMTMu
NCwgV0tfTUFDX1RCQSksIGlvcygxMS4zLCBXS19JT1NfVEJBKSk7CistICh2b2lkKV9wcmVjb25u
ZWN0VG9TZXJ2ZXI6KE5TVVJMICopc2VydmVyVVJMIFdLX0FQSV9ERVBSRUNBVEVEX1dJVEhfUkVQ
TEFDRU1FTlQoIldLV2ViVmlldy5fcHJlY29ubmVjdFRvU2VydmVyIiwgbWFjb3MoMTAuMTMuNCwg
V0tfTUFDX1RCQSksIGlvcygxMS4zLCBXS19JT1NfVEJBKSk7CiAKIC8vIFRlc3Qgb25seS4KIC0g
KHZvaWQpX3NldEFsbG93c0FueVNTTENlcnRpZmljYXRlRm9yU2VydmljZVdvcmtlcjooQk9PTClh
bGxvd3MgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMy40KSwgaW9zKDExLjMpKTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQkocmV2
aXNpb24gMjYyOTIwKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjY1MCw2ICsyNjUwLDExIEBAIC0gKHZvaWQpX2Ns
ZWFyU2VydmljZVdvcmtlckVudGl0bGVtZW50T3YKICAgICB9KTsKIH0KIAorLSAodm9pZClfcHJl
Y29ubmVjdFRvU2VydmVyOihOU1VSTCAqKXVybAoreworICAgIF9wYWdlLT5wcmVjb25uZWN0VG8o
dXJsKTsKK30KKwogLSAoaWQgPF9XS0lucHV0RGVsZWdhdGU+KV9pbnB1dERlbGVnYXRlCiB7CiAg
ICAgcmV0dXJuIF9pbnB1dERlbGVnYXRlLmdldEF1dG9yZWxlYXNlZCgpOwpJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5o
CShyZXZpc2lvbiAyNjI5MjApCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3UHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNDksNiArMzQ5LDkgQEAgZm9y
IHRoaXMgcHJvcGVydHkuCiAKIC0gKHZvaWQpX3NlcnZpY2VXb3JrZXJzRW5hYmxlZDoodm9pZChe
KShCT09MKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19U
QkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogLSAodm9pZClfY2xlYXJTZXJ2aWNlV29ya2VyRW50aXRs
ZW1lbnRPdmVycmlkZToodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FW
QUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKworLSAodm9pZClf
cHJlY29ubmVjdFRvU2VydmVyOihOU1VSTCAqKXNlcnZlclVSTCBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCiBAZW5kCiAKICNpZiBUQVJHRVRf
T1NfSVBIT05FCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQ
cm9jZXNzUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05l
dHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAJKHJldmlzaW9uIDI2MjkyMCkKKysrIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE0NzIsNyArMTQ3Miw3IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6
Z2V0TG9jYWxTdG9yYWcKIAogdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpwcmVjb25uZWN0VG8o
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBXZWJQYWdlUHJveHlJZGVudGlmaWVyIHdlYlBhZ2VQ
cm94eUlELCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciB3ZWJQYWdlSUQsIGNvbnN0IFVSTCYgdXJs
LCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgV2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlhbHNQb2xp
Y3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5k
RG9tYWluPiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKQogewotICAgIGlmICghdXJsLmlz
VmFsaWQoKSB8fCAhdXJsLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSB8fCBTZWN1cml0eU9yaWdp
bjo6aXNMb2NhbEhvc3RPckxvb3BiYWNrSVBBZGRyZXNzKHVybC5ob3N0KCkpKQorICAgIGlmICgh
dXJsLmlzVmFsaWQoKSB8fCAhdXJsLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSkKICAgICAgICAg
cmV0dXJuOwogICAgIHNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpQcmVjb25uZWN0VG8o
c2Vzc2lvbklELCB3ZWJQYWdlUHJveHlJRCwgd2ViUGFnZUlELCB1cmwsIHVzZXJBZ2VudCwgc3Rv
cmVkQ3JlZGVudGlhbHNQb2xpY3ksIGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4pLCAwKTsK
IH0KSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDI2MjkzMikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDEzIEBACisyMDIwLTA2LTExICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2Vu
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFNQSSB0byBwcmVjb25uZWN0IHRvIGEgc2VydmVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTMxMDkK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY0MTg0NDEyPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMjAtMDYtMTEgIFNhYW0gQmFyYXRpICA8
c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgU2tpcCB3YXNtLWpzMiB0ZXN0IG9uIG1lbW9y
eSBsaW1pdGVkIGRldmljZXMKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAy
NjI5MjApCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTAyMyw2ICsxMDIzLDcgQEAKIAkJQ0VE
QTEyNDEyNDM3QzlGQjAwQzI4QTlFIC8qIGVkaXRhYmxlLXJlZ2lvbi1jb21wb3NpdGVkLWFuZC1u
b24tY29tcG9zaXRlZC1vdmVybGFwLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0VEQTEyNDAyNDM3QzlFQTAwQzI4QTlFIC8qIGVkaXRh
YmxlLXJlZ2lvbi1jb21wb3NpdGVkLWFuZC1ub24tY29tcG9zaXRlZC1vdmVybGFwLmh0bWwgKi87
IH07CiAJCUQzNEUwODc2MUU0RTQyRTEwMDVGRjE0QSAvKiBXS1dlYlZpZXdHZXRDb250ZW50cy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQzQkU1RTM0
MUU0Q0U4NUUwMEZENTYzQSAvKiBXS1dlYlZpZXdHZXRDb250ZW50cy5tbSAqLzsgfTsKIAkJREY0
QjI3MzkyMUE0NzcyODAwOUJEMUNBIC8qIFdLTlNEaWN0aW9uYXJ5RW1wdHlEaWN0aW9uYXJ5Q3Jh
c2gubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBERjRC
MjczODIxQTQ3NzI3MDA5QkQxQ0EgLyogV0tOU0RpY3Rpb25hcnlFbXB0eURpY3Rpb25hcnlDcmFz
aC5tbSAqLzsgfTsKKwkJREZCOEZGMzIyNDkyRjUyNDAwRjAwQjBEIC8qIFByZWNvbm5lY3QubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBERkI4RkYzMTI0
OTJGNTFBMDBGMDBCMEQgLyogUHJlY29ubmVjdC5tbSAqLzsgfTsKIAkJRTEyMjBEQ0ExNTVCMjhB
QTAwMTNFMkZDIC8qIE1lbW9yeUNhY2hlRGlzYWJsZVdpdGhpblJlc291cmNlTG9hZERlbGVnYXRl
Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTEyMjBEQzkxNTVCMjg3RDAwMTNFMkZDIC8qIE1lbW9yeUNhY2hlRGlzYWJsZVdpdGhpblJl
c291cmNlTG9hZERlbGVnYXRlLmh0bWwgKi87IH07CiAJCUUxOTRFMUJEMTc3RTUzQzcwMDlDNEQ0
RSAvKiBTdG9wTG9hZGluZ0Zyb21EaWRSZWNlaXZlUmVzcG9uc2UuaHRtbCBpbiBDb3B5IFJlc291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTk0RTFCQzE3N0U1MzRB
MDA5QzRENEUgLyogU3RvcExvYWRpbmdGcm9tRGlkUmVjZWl2ZVJlc3BvbnNlLmh0bWwgKi87IH07
CiAJCUUzMDJCREFBMjQwNEI5MjQwMDg2NTI3NyAvKiBDb21wYWN0UmVmUHRyVHVwbGUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMwMkJEQTkyNDA0
QjkyMzAwODY1Mjc3IC8qIENvbXBhY3RSZWZQdHJUdXBsZS5jcHAgKi87IH07CkBAIC0yNjc0LDYg
KzI2NzUsNyBAQAogCQlEM0JFNUUzNDFFNENFODVFMDBGRDU2M0EgLyogV0tXZWJWaWV3R2V0Q29u
dGVudHMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1dlYlZp
ZXdHZXRDb250ZW50cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJREM2OUFBNjIx
Q0Y3N0M2NTAwQzYyNzJGIC8qIFNjb3BlZExhbWJkYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBTY29wZWRMYW1iZGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlERjRCMjczODIxQTQ3NzI3MDA5QkQxQ0EgLyogV0tOU0RpY3Rpb25hcnlFbXB0eURp
Y3Rpb25hcnlDcmFzaC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFdLTlNEaWN0aW9uYXJ5RW1wdHlEaWN0aW9uYXJ5Q3Jhc2gubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCURGQjhGRjMxMjQ5MkY1MUEwMEYwMEIwRCAvKiBQcmVjb25uZWN0Lm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJlY29ubmVjdC5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTEyMjBEOUYxNTVCMjU0ODAwMTNFMkZDIC8qIE1l
bW9yeUNhY2hlRGlzYWJsZVdpdGhpblJlc291cmNlTG9hZERlbGVnYXRlLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVz
b3VyY2VMb2FkRGVsZWdhdGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxMjIw
REM5MTU1QjI4N0QwMDEzRTJGQyAvKiBNZW1vcnlDYWNoZURpc2FibGVXaXRoaW5SZXNvdXJjZUxv
YWREZWxlZ2F0ZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gTWVtb3J5Q2FjaGVE
aXNhYmxlV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRtbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTE5NEUxQkExNzdFNTE0NTAwOUM0RDRFIC8qIFN0b3BMb2FkaW5nRnJvbURp
ZFJlY2VpdmVSZXNwb25zZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFN0b3BMb2FkaW5nRnJvbURpZFJlY2VpdmVSZXNwb25zZS5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTMxODMsNiArMzE4NSw3IEBACiAJCQkJNTE2MjgxMjYyMzI1QzE5MTAw
QkI3RTQyIC8qIFBERlNuYXBzaG90Lm1tICovLAogCQkJCTNGQ0M0RkU0MUVDNEU4NTIwMDc2RTM3
QyAvKiBQaWN0dXJlSW5QaWN0dXJlRGVsZWdhdGUubW0gKi8sCiAJCQkJODNCQUVFOEMxRUY0NjI1
NTAwRERFODk0IC8qIFBsdWdpbkxvYWRDbGllbnRQb2xpY2llcy5tbSAqLywKKwkJCQlERkI4RkYz
MTI0OTJGNTFBMDBGMDBCMEQgLyogUHJlY29ubmVjdC5tbSAqLywKIAkJCQlDOTU1MDFCRTE5QUQy
RkFGMDA0OUJFM0UgLyogUHJlZmVyZW5jZXMubW0gKi8sCiAJCQkJQ0QyMjdFNDMyMTFBNEQ1RDAw
RDI4NUFGIC8qIFByZWZlcnJlZEF1ZGlvQnVmZmVyU2l6ZS5tbSAqLywKIAkJCQk3QzFBRjc5MzFF
OERDQkFCMDAyNjQ1QjkgLyogUHJlcGFyZUZvck1vdmVUb1dpbmRvdy5tbSAqLywKQEAgLTUxMTcs
NiArNTEyMCw3IEBACiAJCQkJN0NDRTdFQTYxQTQxMUEwRjAwNDQ3QzRDIC8qIFBsYXRmb3JtVXRp
bGl0aWVzTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQTcxQTQxMUExMzAwNDQ3QzRD
IC8qIFBsYXRmb3JtV2ViVmlld01hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTgzQkFFRThEMUVG
NDYyNTUwMERERTg5NCAvKiBQbHVnaW5Mb2FkQ2xpZW50UG9saWNpZXMubW0gaW4gU291cmNlcyAq
LywKKwkJCQlERkI4RkYzMjI0OTJGNTI0MDBGMDBCMEQgLyogUHJlY29ubmVjdC5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTFENjdCRkRDMjQzM0UwQTcwMDZCNTA0NyAvKiBQcmVlbXB0VmlkZW9GdWxs
c2NyZWVuLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQzE1Q0JCM0YyM0ZCMTc3QTAwMzAwQ0M3IC8q
IFByZWZlcmVuY2VDaGFuZ2VzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdGMjYxQTQxMUFG
NjAwNDQ3QzRDIC8qIFByZWZlcmVuY2VzLm1tIGluIFNvdXJjZXMgKi8sCkluZGV4OiBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByZWNvbm5lY3QubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QcmVjb25uZWN0Lm1tCShu
b25leGlzdGVudCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJl
Y29ubmVjdC5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDg1IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2ltcG9ydCAiY29uZmlnLmgiCisKKyNpbXBvcnQgIkhUVFBTZXJ2ZXIuaCIKKyNpbXBvcnQgIlBs
YXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0ICJUZXN0TmF2aWdhdGlvbkRlbGVnYXRlLmgiCisj
aW1wb3J0ICJVdGlsaXRpZXMuaCIKKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlLmg+
CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsK
KworVEVTVChQcmVjb25uZWN0LCBIVFRQKQoreworICAgIGJvb2wgY29ubmVjdGVkID0gZmFsc2U7
CisgICAgYm9vbCByZXF1ZXN0ZWQgPSBmYWxzZTsKKyAgICBIVFRQU2VydmVyIHNlcnZlcihbJl0g
KENvbm5lY3Rpb24gY29ubmVjdGlvbikgeworICAgICAgICBjb25uZWN0ZWQgPSB0cnVlOworICAg
ICAgICBjb25uZWN0aW9uLnJlY2VpdmVIVFRQUmVxdWVzdChbJl0oVmVjdG9yPGNoYXI+JiYpIHsK
KyAgICAgICAgICAgIHJlcXVlc3RlZCA9IHRydWU7CisgICAgICAgIH0pOworICAgIH0pOworICAg
IGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1dLV2ViVmlldyBuZXddKTsKKyAgICBbd2ViVmlldyBf
cHJlY29ubmVjdFRvU2VydmVyOnNlcnZlci5yZXF1ZXN0KCkuVVJMXTsKKyAgICBVdGlsOjpydW4o
JmNvbm5lY3RlZCk7CisgICAgVXRpbDo6c3BpblJ1bkxvb3AoMTApOworICAgIEVYUEVDVF9GQUxT
RShyZXF1ZXN0ZWQpOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnNlcnZlci5yZXF1ZXN0KCld
OworICAgIFV0aWw6OnJ1bigmcmVxdWVzdGVkKTsKK30KKworVEVTVChQcmVjb25uZWN0LCBIVFRQ
UykKK3sKKyAgICBib29sIGNvbm5lY3RlZCA9IGZhbHNlOworICAgIGJvb2wgcmVxdWVzdGVkID0g
ZmFsc2U7CisgICAgX19ibG9jayBib29sIHJlY2VpdmVkQ2hhbGxlbmdlID0gZmFsc2U7CisgICAg
SFRUUFNlcnZlciBzZXJ2ZXIoWyZdIChDb25uZWN0aW9uIGNvbm5lY3Rpb24pIHsKKyAgICAgICAg
Y29ubmVjdGVkID0gdHJ1ZTsKKyAgICAgICAgY29ubmVjdGlvbi5yZWNlaXZlSFRUUFJlcXVlc3Qo
WyZdKFZlY3RvcjxjaGFyPiYmKSB7CisgICAgICAgICAgICByZXF1ZXN0ZWQgPSB0cnVlOworICAg
ICAgICB9KTsKKyAgICB9LCBIVFRQU2VydmVyOjpQcm90b2NvbDo6SHR0cHMpOworICAgIGF1dG8g
d2ViVmlldyA9IGFkb3B0TlMoW1dLV2ViVmlldyBuZXddKTsKKyAgICBhdXRvIGRlbGVnYXRlID0g
YWRvcHROUyhbVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZSBuZXddKTsKKyAgICBbd2ViVmlldyBzZXRO
YXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworICAgIFtkZWxlZ2F0ZSBzZXREaWRS
ZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6XihXS1dlYlZpZXcgKiwgTlNVUkxBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSAqY2hhbGxlbmdlLCB2b2lkICheY2FsbGJhY2spKE5TVVJMU2Vzc2lv
bkF1dGhDaGFsbGVuZ2VEaXNwb3NpdGlvbiwgTlNVUkxDcmVkZW50aWFsICopKSB7CisgICAgICAg
IHJlY2VpdmVkQ2hhbGxlbmdlID0gdHJ1ZTsKKyAgICAgICAgRVhQRUNUX1dLX1NUUkVRKGNoYWxs
ZW5nZS5wcm90ZWN0aW9uU3BhY2UuYXV0aGVudGljYXRpb25NZXRob2QsIE5TVVJMQXV0aGVudGlj
YXRpb25NZXRob2RTZXJ2ZXJUcnVzdCk7CisgICAgICAgIGNhbGxiYWNrKE5TVVJMU2Vzc2lvbkF1
dGhDaGFsbGVuZ2VVc2VDcmVkZW50aWFsLCBbTlNVUkxDcmVkZW50aWFsIGNyZWRlbnRpYWxGb3JU
cnVzdDpjaGFsbGVuZ2UucHJvdGVjdGlvblNwYWNlLnNlcnZlclRydXN0XSk7CisgICAgfV07Cisg
ICAgW3dlYlZpZXcgX3ByZWNvbm5lY3RUb1NlcnZlcjpzZXJ2ZXIucmVxdWVzdCgpLlVSTF07Cisg
ICAgVXRpbDo6cnVuKCZjb25uZWN0ZWQpOworICAgIFV0aWw6OnNwaW5SdW5Mb29wKDEwKTsKKyAg
ICBFWFBFQ1RfRkFMU0UocmVjZWl2ZWRDaGFsbGVuZ2UpOworICAgIEVYUEVDVF9GQUxTRShyZXF1
ZXN0ZWQpOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnNlcnZlci5yZXF1ZXN0KCldOworICAg
IFV0aWw6OnJ1bigmcmVxdWVzdGVkKTsKKyAgICBFWFBFQ1RfVFJVRShyZWNlaXZlZENoYWxsZW5n
ZSk7Cit9CisKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401805</attachid>
            <date>2020-06-12 16:59:00 -0700</date>
            <delta_ts>2020-06-15 13:01:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213109-20200612165859.patch</filename>
            <type>text/plain</type>
            <size>13490</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjI5ODUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDIwLTA2LTEyICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFNQSSB0byBw
cmVjb25uZWN0IHRvIGEgc2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTMxMDkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY0MTg0NDEyPgor
CisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmIEdhcmVuLgorCisgICAgICAgIENvdmVyZWQgYnkg
QVBJIHRlc3RzLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29s
UHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgor
ICAgICAgICAoLVtXS1dlYlZpZXcgX3ByZWNvbm5lY3RUb1NlcnZlcjpdKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya1Byb2Nlc3NQcm94eTo6cHJlY29ubmVjdFRvKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpwcmVjb25uZWN0
VG8pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKwogMjAyMC0wNi0xMiAg
QWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIE1h
a2UgQVBJIHRlc3RzIHRvbGVyYW50IG9mIG91ciByZWxhdGl2ZWx5IG5ldyB1c2Ugb2YgV2ViUGFn
ZVByb3h5OjpwcmVjb25uZWN0VG8KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAkocmV2aXNpb24gMjYyOTg1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQxNCw4ICs0NDE0LDcgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6OnByZWNvbm5lY3RUbyhjb25zdCBVUgogICAgIGlmICghbV93ZWJzaXRl
RGF0YVN0b3JlLT5jb25maWd1cmF0aW9uKCkuYWxsb3dzU2VydmVyUHJlY29ubmVjdCgpKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBpZiAoYXV0byogbmV0d29ya1Byb2Nlc3MgPSBtX3Byb2Nlc3Mt
PnByb2Nlc3NQb29sKCkubmV0d29ya1Byb2Nlc3MoKSkKLSAgICAgICAgbmV0d29ya1Byb2Nlc3Mt
PnByZWNvbm5lY3RUbyhzZXNzaW9uSUQoKSwgaWRlbnRpZmllcigpLCB3ZWJQYWdlSUQoKSwgdXJs
LCB1c2VyQWdlbnQoKSwgV2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3k6OlVzZSwgbV9p
c05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKTsKKyAgICBtX3Byb2Nlc3MtPnByb2Nlc3NQb29s
KCkuZW5zdXJlTmV0d29ya1Byb2Nlc3MoKS5wcmVjb25uZWN0VG8oc2Vzc2lvbklEKCksIGlkZW50
aWZpZXIoKSwgd2ViUGFnZUlEKCksIHVybCwgdXNlckFnZW50KCksIFdlYkNvcmU6OlN0b3JlZENy
ZWRlbnRpYWxzUG9saWN5OjpVc2UsIG1faXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbik7CiB9
CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpkaWREZXN0cm95TmF2aWdhdGlvbih1aW50NjRfdCBuYXZp
Z2F0aW9uSUQpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkocmV2
aXNpb24gMjYyOTg1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTE3ODIsNiArMTc4Miw4IEBAIHB1YmxpYzoKIAogICAgIFdlYlBv
cHVwTWVudVByb3h5KiBhY3RpdmVQb3B1cE1lbnUoKSBjb25zdCB7IHJldHVybiBtX2FjdGl2ZVBv
cHVwTWVudS5nZXQoKTsgfQogCisgICAgdm9pZCBwcmVjb25uZWN0VG8oY29uc3QgVVJMJik7CisK
IHByaXZhdGU6CiAgICAgV2ViUGFnZVByb3h5KFBhZ2VDbGllbnQmLCBXZWJQcm9jZXNzUHJveHkm
LCBSZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlvbj4mJik7CiAgICAgdm9pZCBwbGF0Zm9ybUluaXRp
YWxpemUoKTsKQEAgLTE4NTYsOCArMTg1OCw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRGaW5p
c2hQcm9ncmVzcygpOwogICAgIHZvaWQgc2V0TmV0d29ya1JlcXVlc3RzSW5Qcm9ncmVzcyhib29s
KTsKIAotICAgIHZvaWQgcHJlY29ubmVjdFRvKGNvbnN0IFVSTCYpOwotCiAgICAgdm9pZCBkaWRE
ZXN0cm95TmF2aWdhdGlvbih1aW50NjRfdCBuYXZpZ2F0aW9uSUQpOwogCiAgICAgdm9pZCBkZWNp
ZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYsIFdlYkZy
YW1lUHJveHkmLCBGcmFtZUluZm9EYXRhJiYsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgTmF2aWdh
dGlvbkFjdGlvbkRhdGEmJiwgRnJhbWVJbmZvRGF0YSYmIG9yaWdpbmF0aW5nRnJhbWVJbmZvLApJ
bmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2xQcml2
YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
UHJvY2Vzc1Bvb2xQcml2YXRlLmgJKHJldmlzaW9uIDI2Mjk4NSkKKysrIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTksNyArMTE5LDcgQEAKIC8vIFRlc3Qgb25seS4gU2hvdWxkIGJlIGNhbGxlZCBiZWZv
cmUgYW55IHdlYiBjb250ZW50IHByb2Nlc3NlcyBhcmUgbGF1bmNoZWQuCiArICh2b2lkKV9mb3Jj
ZUdhbWVDb250cm9sbGVyRnJhbWV3b3JrIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTMpLCBp
b3MoMTEuMCkpOwogCi0tICh2b2lkKV9wcmVjb25uZWN0VG9TZXJ2ZXI6KE5TVVJMICopc2VydmVy
VVJMIFdLX0FQSV9ERVBSRUNBVEVEKCJJZiBuZWVkZWQsIFNQSSBzaG91bGQgYmUgYWRkZWQgdG8g
V0tXZWJzaXRlRGF0YVN0b3JlIiwgbWFjb3MoMTAuMTMuNCwgV0tfTUFDX1RCQSksIGlvcygxMS4z
LCBXS19JT1NfVEJBKSk7CistICh2b2lkKV9wcmVjb25uZWN0VG9TZXJ2ZXI6KE5TVVJMICopc2Vy
dmVyVVJMIFdLX0FQSV9ERVBSRUNBVEVEX1dJVEhfUkVQTEFDRU1FTlQoIldLV2ViVmlldy5fcHJl
Y29ubmVjdFRvU2VydmVyIiwgbWFjb3MoMTAuMTMuNCwgV0tfTUFDX1RCQSksIGlvcygxMS4zLCBX
S19JT1NfVEJBKSk7CiAKIC8vIFRlc3Qgb25seS4KIC0gKHZvaWQpX3NldEFsbG93c0FueVNTTENl
cnRpZmljYXRlRm9yU2VydmljZVdvcmtlcjooQk9PTClhbGxvd3MgV0tfQVBJX0FWQUlMQUJMRSht
YWNvcygxMC4xMy40KSwgaW9zKDExLjMpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQkocmV2aXNpb24gMjYyOTg1KQorKysgU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpA
QCAtMjY1MCw2ICsyNjUwLDExIEBAIC0gKHZvaWQpX2NsZWFyU2VydmljZVdvcmtlckVudGl0bGVt
ZW50T3YKICAgICB9KTsKIH0KIAorLSAodm9pZClfcHJlY29ubmVjdFRvU2VydmVyOihOU1VSTCAq
KXVybAoreworICAgIF9wYWdlLT5wcmVjb25uZWN0VG8odXJsKTsKK30KKwogLSAoaWQgPF9XS0lu
cHV0RGVsZWdhdGU+KV9pbnB1dERlbGVnYXRlCiB7CiAgICAgcmV0dXJuIF9pbnB1dERlbGVnYXRl
LmdldEF1dG9yZWxlYXNlZCgpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCShyZXZpc2lvbiAyNjI5ODUpCisrKyBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNDksNiArMzQ5LDkgQEAgZm9yIHRoaXMgcHJvcGVydHkuCiAKIC0gKHZv
aWQpX3NlcnZpY2VXb3JrZXJzRW5hYmxlZDoodm9pZCheKShCT09MKSljb21wbGV0aW9uSGFuZGxl
ciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwog
LSAodm9pZClfY2xlYXJTZXJ2aWNlV29ya2VyRW50aXRsZW1lbnRPdmVycmlkZToodm9pZCAoXiko
dm9pZCkpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJB
KSwgaW9zKFdLX0lPU19UQkEpKTsKKworLSAodm9pZClfcHJlY29ubmVjdFRvU2VydmVyOihOU1VS
TCAqKXNlcnZlclVSTCBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tf
SU9TX1RCQSkpOworCiBAZW5kCiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCkluZGV4OiBUb29scy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjI5ODUp
CisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAy
MC0wNi0xMiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisg
ICAgICAgIEFkZCBTUEkgdG8gcHJlY29ubmVjdCB0byBhIHNlcnZlcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMTA5CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS82NDE4NDQxMj4KKworICAgICAgICBSZXZpZXdlZCBieSBHZW9mZiBHYXJlbi4KKwor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorCiAyMDIwLTA2LTEyICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgTWFrZSBBUEkgdGVzdHMgdG9sZXJhbnQgb2Ygb3VyIHJlbGF0
aXZlbHkgbmV3IHVzZSBvZiBXZWJQYWdlUHJveHk6OnByZWNvbm5lY3RUbwpJbmRleDogVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI2Mjk4NSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC0xMDIzLDYgKzEwMjMsNyBAQAogCQlDRURBMTI0MTI0MzdDOUZCMDBDMjhBOUUgLyogZWRpdGFi
bGUtcmVnaW9uLWNvbXBvc2l0ZWQtYW5kLW5vbi1jb21wb3NpdGVkLW92ZXJsYXAuaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRURBMTI0
MDI0MzdDOUVBMDBDMjhBOUUgLyogZWRpdGFibGUtcmVnaW9uLWNvbXBvc2l0ZWQtYW5kLW5vbi1j
b21wb3NpdGVkLW92ZXJsYXAuaHRtbCAqLzsgfTsKIAkJRDM0RTA4NzYxRTRFNDJFMTAwNUZGMTRB
IC8qIFdLV2ViVmlld0dldENvbnRlbnRzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRDNCRTVFMzQxRTRDRTg1RTAwRkQ1NjNBIC8qIFdLV2ViVmlld0dl
dENvbnRlbnRzLm1tICovOyB9OwogCQlERjRCMjczOTIxQTQ3NzI4MDA5QkQxQ0EgLyogV0tOU0Rp
Y3Rpb25hcnlFbXB0eURpY3Rpb25hcnlDcmFzaC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERGNEIyNzM4MjFBNDc3MjcwMDlCRDFDQSAvKiBXS05TRGlj
dGlvbmFyeUVtcHR5RGljdGlvbmFyeUNyYXNoLm1tICovOyB9OworCQlERkI4RkYzMjI0OTJGNTI0
MDBGMDBCMEQgLyogUHJlY29ubmVjdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IERGQjhGRjMxMjQ5MkY1MUEwMEYwMEIwRCAvKiBQcmVjb25uZWN0Lm1t
ICovOyB9OwogCQlFMTIyMERDQTE1NUIyOEFBMDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVEaXNhYmxl
V2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTIyMERDOTE1NUIyODdEMDAxM0UyRkMgLyog
TWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRtbCAqLzsgfTsK
IAkJRTE5NEUxQkQxNzdFNTNDNzAwOUM0RDRFIC8qIFN0b3BMb2FkaW5nRnJvbURpZFJlY2VpdmVS
ZXNwb25zZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEUxOTRFMUJDMTc3RTUzNEEwMDlDNEQ0RSAvKiBTdG9wTG9hZGluZ0Zyb21EaWRS
ZWNlaXZlUmVzcG9uc2UuaHRtbCAqLzsgfTsKIAkJRTMwMkJEQUEyNDA0QjkyNDAwODY1Mjc3IC8q
IENvbXBhY3RSZWZQdHJUdXBsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFMzAyQkRBOTI0MDRCOTIzMDA4NjUyNzcgLyogQ29tcGFjdFJlZlB0clR1
cGxlLmNwcCAqLzsgfTsKQEAgLTI2NzQsNiArMjY3NSw3IEBACiAJCUQzQkU1RTM0MUU0Q0U4NUUw
MEZENTYzQSAvKiBXS1dlYlZpZXdHZXRDb250ZW50cy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFdLV2ViVmlld0dldENvbnRlbnRzLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlEQzY5QUE2MjFDRjc3QzY1MDBDNjI3MkYgLyogU2NvcGVkTGFtYmRh
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjb3BlZExhbWJkYS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURGNEIyNzM4MjFBNDc3MjcwMDlCRDFD
QSAvKiBXS05TRGljdGlvbmFyeUVtcHR5RGljdGlvbmFyeUNyYXNoLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tOU0RpY3Rpb25hcnlFbXB0eURpY3Rpb25hcnlD
cmFzaC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJREZCOEZGMzEyNDkyRjUxQTAw
RjAwQjBEIC8qIFByZWNvbm5lY3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBQcmVjb25uZWN0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMTIy
MEQ5RjE1NUIyNTQ4MDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VM
b2FkRGVsZWdhdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBN
ZW1vcnlDYWNoZURpc2FibGVXaXRoaW5SZXNvdXJjZUxvYWREZWxlZ2F0ZS5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTEyMjBEQzkxNTVCMjg3RDAwMTNFMkZDIC8qIE1lbW9yeUNh
Y2hlRGlzYWJsZVdpdGhpblJlc291cmNlTG9hZERlbGVnYXRlLmh0bWwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
Lmh0bWw7IHBhdGggPSBNZW1vcnlDYWNoZURpc2FibGVXaXRoaW5SZXNvdXJjZUxvYWREZWxlZ2F0
ZS5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMTk0RTFCQTE3N0U1MTQ1MDA5
QzRENEUgLyogU3RvcExvYWRpbmdGcm9tRGlkUmVjZWl2ZVJlc3BvbnNlLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3RvcExvYWRpbmdGcm9tRGlkUmVjZWl2ZVJl
c3BvbnNlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzE4Myw2ICszMTg1LDcg
QEAKIAkJCQk1MTYyODEyNjIzMjVDMTkxMDBCQjdFNDIgLyogUERGU25hcHNob3QubW0gKi8sCiAJ
CQkJM0ZDQzRGRTQxRUM0RTg1MjAwNzZFMzdDIC8qIFBpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5t
bSAqLywKIAkJCQk4M0JBRUU4QzFFRjQ2MjU1MDBEREU4OTQgLyogUGx1Z2luTG9hZENsaWVudFBv
bGljaWVzLm1tICovLAorCQkJCURGQjhGRjMxMjQ5MkY1MUEwMEYwMEIwRCAvKiBQcmVjb25uZWN0
Lm1tICovLAogCQkJCUM5NTUwMUJFMTlBRDJGQUYwMDQ5QkUzRSAvKiBQcmVmZXJlbmNlcy5tbSAq
LywKIAkJCQlDRDIyN0U0MzIxMUE0RDVEMDBEMjg1QUYgLyogUHJlZmVycmVkQXVkaW9CdWZmZXJT
aXplLm1tICovLAogCQkJCTdDMUFGNzkzMUU4RENCQUIwMDI2NDVCOSAvKiBQcmVwYXJlRm9yTW92
ZVRvV2luZG93Lm1tICovLApAQCAtNTExNyw2ICs1MTIwLDcgQEAKIAkJCQk3Q0NFN0VBNjFBNDEx
QTBGMDA0NDdDNEMgLyogUGxhdGZvcm1VdGlsaXRpZXNNYWMubW0gaW4gU291cmNlcyAqLywKIAkJ
CQk3Q0NFN0VBNzFBNDExQTEzMDA0NDdDNEMgLyogUGxhdGZvcm1XZWJWaWV3TWFjLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJODNCQUVFOEQxRUY0NjI1NTAwRERFODk0IC8qIFBsdWdpbkxvYWRDbGll
bnRQb2xpY2llcy5tbSBpbiBTb3VyY2VzICovLAorCQkJCURGQjhGRjMyMjQ5MkY1MjQwMEYwMEIw
RCAvKiBQcmVjb25uZWN0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUQ2N0JGREMyNDMzRTBBNzAw
NkI1MDQ3IC8qIFByZWVtcHRWaWRlb0Z1bGxzY3JlZW4ubW0gaW4gU291cmNlcyAqLywKIAkJCQlD
MTVDQkIzRjIzRkIxNzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gaW4gU291cmNl
cyAqLywKIAkJCQk3Q0NFN0YyNjFBNDExQUY2MDA0NDdDNEMgLyogUHJlZmVyZW5jZXMubW0gaW4g
U291cmNlcyAqLywKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
UHJlY29ubmVjdC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL1ByZWNvbm5lY3QubW0JKG5vbmV4aXN0ZW50KQorKysgVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QcmVjb25uZWN0Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsODUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKworI2ltcG9ydCAi
SFRUUFNlcnZlci5oIgorI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRl
c3ROYXZpZ2F0aW9uRGVsZWdhdGUuaCIKKyNpbXBvcnQgIlV0aWxpdGllcy5oIgorI2ltcG9ydCA8
V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KKyNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKwor
bmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitURVNUKFByZWNvbm5lY3QsIEhUVFApCit7Cisg
ICAgYm9vbCBjb25uZWN0ZWQgPSBmYWxzZTsKKyAgICBib29sIHJlcXVlc3RlZCA9IGZhbHNlOwor
ICAgIEhUVFBTZXJ2ZXIgc2VydmVyKFsmXSAoQ29ubmVjdGlvbiBjb25uZWN0aW9uKSB7CisgICAg
ICAgIGNvbm5lY3RlZCA9IHRydWU7CisgICAgICAgIGNvbm5lY3Rpb24ucmVjZWl2ZUhUVFBSZXF1
ZXN0KFsmXShWZWN0b3I8Y2hhcj4mJikgeworICAgICAgICAgICAgcmVxdWVzdGVkID0gdHJ1ZTsK
KyAgICAgICAgfSk7CisgICAgfSk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbV0tXZWJW
aWV3IG5ld10pOworICAgIFt3ZWJWaWV3IF9wcmVjb25uZWN0VG9TZXJ2ZXI6c2VydmVyLnJlcXVl
c3QoKS5VUkxdOworICAgIFV0aWw6OnJ1bigmY29ubmVjdGVkKTsKKyAgICBVdGlsOjpzcGluUnVu
TG9vcCgxMCk7CisgICAgRVhQRUNUX0ZBTFNFKHJlcXVlc3RlZCk7CisgICAgW3dlYlZpZXcgbG9h
ZFJlcXVlc3Q6c2VydmVyLnJlcXVlc3QoKV07CisgICAgVXRpbDo6cnVuKCZyZXF1ZXN0ZWQpOwor
fQorCitURVNUKFByZWNvbm5lY3QsIEhUVFBTKQoreworICAgIGJvb2wgY29ubmVjdGVkID0gZmFs
c2U7CisgICAgYm9vbCByZXF1ZXN0ZWQgPSBmYWxzZTsKKyAgICBfX2Jsb2NrIGJvb2wgcmVjZWl2
ZWRDaGFsbGVuZ2UgPSBmYWxzZTsKKyAgICBIVFRQU2VydmVyIHNlcnZlcihbJl0gKENvbm5lY3Rp
b24gY29ubmVjdGlvbikgeworICAgICAgICBjb25uZWN0ZWQgPSB0cnVlOworICAgICAgICBjb25u
ZWN0aW9uLnJlY2VpdmVIVFRQUmVxdWVzdChbJl0oVmVjdG9yPGNoYXI+JiYpIHsKKyAgICAgICAg
ICAgIHJlcXVlc3RlZCA9IHRydWU7CisgICAgICAgIH0pOworICAgIH0sIEhUVFBTZXJ2ZXI6OlBy
b3RvY29sOjpIdHRwcyk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbV0tXZWJWaWV3IG5l
d10pOworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtUZXN0TmF2aWdhdGlvbkRlbGVnYXRl
IG5ld10pOworICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQo
KV07CisgICAgW2RlbGVnYXRlIHNldERpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTpe
KFdLV2ViVmlldyAqLCBOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlICpjaGFsbGVuZ2UsIHZv
aWQgKF5jYWxsYmFjaykoTlNVUkxTZXNzaW9uQXV0aENoYWxsZW5nZURpc3Bvc2l0aW9uLCBOU1VS
TENyZWRlbnRpYWwgKikpIHsKKyAgICAgICAgcmVjZWl2ZWRDaGFsbGVuZ2UgPSB0cnVlOworICAg
ICAgICBFWFBFQ1RfV0tfU1RSRVEoY2hhbGxlbmdlLnByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNh
dGlvbk1ldGhvZCwgTlNVUkxBdXRoZW50aWNhdGlvbk1ldGhvZFNlcnZlclRydXN0KTsKKyAgICAg
ICAgY2FsbGJhY2soTlNVUkxTZXNzaW9uQXV0aENoYWxsZW5nZVVzZUNyZWRlbnRpYWwsIFtOU1VS
TENyZWRlbnRpYWwgY3JlZGVudGlhbEZvclRydXN0OmNoYWxsZW5nZS5wcm90ZWN0aW9uU3BhY2Uu
c2VydmVyVHJ1c3RdKTsKKyAgICB9XTsKKyAgICBbd2ViVmlldyBfcHJlY29ubmVjdFRvU2VydmVy
OnNlcnZlci5yZXF1ZXN0KCkuVVJMXTsKKyAgICBVdGlsOjpydW4oJmNvbm5lY3RlZCk7CisgICAg
VXRpbDo6c3BpblJ1bkxvb3AoMTApOworICAgIEVYUEVDVF9GQUxTRShyZWNlaXZlZENoYWxsZW5n
ZSk7CisgICAgRVhQRUNUX0ZBTFNFKHJlcXVlc3RlZCk7CisgICAgW3dlYlZpZXcgbG9hZFJlcXVl
c3Q6c2VydmVyLnJlcXVlc3QoKV07CisgICAgVXRpbDo6cnVuKCZyZXF1ZXN0ZWQpOworICAgIEVY
UEVDVF9UUlVFKHJlY2VpdmVkQ2hhbGxlbmdlKTsKK30KKworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401925</attachid>
            <date>2020-06-15 13:01:48 -0700</date>
            <delta_ts>2020-06-18 15:36:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213109-20200615130147.patch</filename>
            <type>text/plain</type>
            <size>13680</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjMwNTQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDIwLTA2LTE1ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFNQSSB0byBw
cmVjb25uZWN0IHRvIGEgc2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTMxMDkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY0MTg0NDEyPgor
CisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmIEdhcmVuLgorCisgICAgICAgIENvdmVyZWQgYnkg
QVBJIHRlc3RzLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29s
UHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgor
ICAgICAgICAoLVtXS1dlYlZpZXcgX3ByZWNvbm5lY3RUb1NlcnZlcjpdKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya1Byb2Nlc3NQcm94eTo6cHJlY29ubmVjdFRvKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpwcmVjb25uZWN0
VG8pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKwogMjAyMC0wNi0xNSAg
S2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBTaWduYWwg
aGFuZGxlcnMgc2hvdWxkIGhhdmUgYSB0d28gcGhhc2UgaW5zdGFsbGF0aW9uLgpJbmRleDogU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiAyNjMwNTQpCisr
KyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00NDE0LDggKzQ0MTQsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cHJlY29ubmVjdFRvKGNv
bnN0IFVSCiAgICAgaWYgKCFtX3dlYnNpdGVEYXRhU3RvcmUtPmNvbmZpZ3VyYXRpb24oKS5hbGxv
d3NTZXJ2ZXJQcmVjb25uZWN0KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChhdXRvKiBu
ZXR3b3JrUHJvY2VzcyA9IG1fcHJvY2Vzcy0+cHJvY2Vzc1Bvb2woKS5uZXR3b3JrUHJvY2Vzcygp
KQotICAgICAgICBuZXR3b3JrUHJvY2Vzcy0+cHJlY29ubmVjdFRvKHNlc3Npb25JRCgpLCBpZGVu
dGlmaWVyKCksIHdlYlBhZ2VJRCgpLCB1cmwsIHVzZXJBZ2VudCgpLCBXZWJDb3JlOjpTdG9yZWRD
cmVkZW50aWFsc1BvbGljeTo6VXNlLCBtX2lzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4pOwor
ICAgIG1fcHJvY2Vzcy0+cHJvY2Vzc1Bvb2woKS5lbnN1cmVOZXR3b3JrUHJvY2VzcygpLnByZWNv
bm5lY3RUbyhzZXNzaW9uSUQoKSwgaWRlbnRpZmllcigpLCB3ZWJQYWdlSUQoKSwgdXJsLCB1c2Vy
QWdlbnQoKSwgV2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3k6OlVzZSwgbV9pc05hdmln
YXRpbmdUb0FwcEJvdW5kRG9tYWluKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OmRpZERlc3Ry
b3lOYXZpZ2F0aW9uKHVpbnQ2NF90IG5hdmlnYXRpb25JRCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiAyNjMwNTQpCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMTc4Miw2ICsxNzgy
LDggQEAgcHVibGljOgogCiAgICAgV2ViUG9wdXBNZW51UHJveHkqIGFjdGl2ZVBvcHVwTWVudSgp
IGNvbnN0IHsgcmV0dXJuIG1fYWN0aXZlUG9wdXBNZW51LmdldCgpOyB9CiAKKyAgICB2b2lkIHBy
ZWNvbm5lY3RUbyhjb25zdCBVUkwmKTsKKwogcHJpdmF0ZToKICAgICBXZWJQYWdlUHJveHkoUGFn
ZUNsaWVudCYsIFdlYlByb2Nlc3NQcm94eSYsIFJlZjxBUEk6OlBhZ2VDb25maWd1cmF0aW9uPiYm
KTsKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwpAQCAtMTg1Niw4ICsxODU4LDYgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGRpZEZpbmlzaFByb2dyZXNzKCk7CiAgICAgdm9pZCBzZXROZXR3
b3JrUmVxdWVzdHNJblByb2dyZXNzKGJvb2wpOwogCi0gICAgdm9pZCBwcmVjb25uZWN0VG8oY29u
c3QgVVJMJik7Ci0KICAgICB2b2lkIGRpZERlc3Ryb3lOYXZpZ2F0aW9uKHVpbnQ2NF90IG5hdmln
YXRpb25JRCk7CiAKICAgICB2b2lkIGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24oUmVm
PFdlYlByb2Nlc3NQcm94eT4mJiwgV2ViRnJhbWVQcm94eSYsIEZyYW1lSW5mb0RhdGEmJiwgdWlu
dDY0X3QgbmF2aWdhdGlvbklELCBOYXZpZ2F0aW9uQWN0aW9uRGF0YSYmLCBGcmFtZUluZm9EYXRh
JiYgb3JpZ2luYXRpbmdGcmFtZUluZm8sCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaAkocmV2aXNpb24g
MjYzMDU0KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bv
b2xQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTExOSw3ICsxMTksNyBAQAogLy8gVGVzdCBv
bmx5LiBTaG91bGQgYmUgY2FsbGVkIGJlZm9yZSBhbnkgd2ViIGNvbnRlbnQgcHJvY2Vzc2VzIGFy
ZSBsYXVuY2hlZC4KICsgKHZvaWQpX2ZvcmNlR2FtZUNvbnRyb2xsZXJGcmFtZXdvcmsgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcygxMC4xMyksIGlvcygxMS4wKSk7CiAKLS0gKHZvaWQpX3ByZWNvbm5l
Y3RUb1NlcnZlcjooTlNVUkwgKilzZXJ2ZXJVUkwgV0tfQVBJX0RFUFJFQ0FURUQoIklmIG5lZWRl
ZCwgU1BJIHNob3VsZCBiZSBhZGRlZCB0byBXS1dlYnNpdGVEYXRhU3RvcmUiLCBtYWNvcygxMC4x
My40LCBXS19NQUNfVEJBKSwgaW9zKDExLjMsIFdLX0lPU19UQkEpKTsKKy0gKHZvaWQpX3ByZWNv
bm5lY3RUb1NlcnZlcjooTlNVUkwgKilzZXJ2ZXJVUkwgV0tfQVBJX0RFUFJFQ0FURURfV0lUSF9S
RVBMQUNFTUVOVCgiV0tXZWJWaWV3Ll9wcmVjb25uZWN0VG9TZXJ2ZXIiLCBtYWNvcygxMC4xMy40
LCBXS19NQUNfVEJBKSwgaW9zKDExLjMsIFdLX0lPU19UQkEpKTsKIAogLy8gVGVzdCBvbmx5Lgog
LSAodm9pZClfc2V0QWxsb3dzQW55U1NMQ2VydGlmaWNhdGVGb3JTZXJ2aWNlV29ya2VyOihCT09M
KWFsbG93cyBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEzLjQpLCBpb3MoMTEuMykpOwpJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCShy
ZXZpc2lvbiAyNjMwNTQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNjUwLDYgKzI2NTAsMTEgQEAgLSAodm9pZClf
Y2xlYXJTZXJ2aWNlV29ya2VyRW50aXRsZW1lbnRPdgogICAgIH0pOwogfQogCistICh2b2lkKV9w
cmVjb25uZWN0VG9TZXJ2ZXI6KE5TVVJMICopdXJsCit7CisgICAgX3BhZ2UtPnByZWNvbm5lY3RU
byh1cmwpOworfQorCiAtIChpZCA8X1dLSW5wdXREZWxlZ2F0ZT4pX2lucHV0RGVsZWdhdGUKIHsK
ICAgICByZXR1cm4gX2lucHV0RGVsZWdhdGUuZ2V0QXV0b3JlbGVhc2VkKCk7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRl
LmgJKHJldmlzaW9uIDI2MzA1NCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM0OSw2ICszNDksOSBAQCBm
b3IgdGhpcyBwcm9wZXJ0eS4KIAogLSAodm9pZClfc2VydmljZVdvcmtlcnNFbmFibGVkOih2b2lk
KF4pKEJPT0wpKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFD
X1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAtICh2b2lkKV9jbGVhclNlcnZpY2VXb3JrZXJFbnRp
dGxlbWVudE92ZXJyaWRlOih2b2lkICheKSh2b2lkKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElf
QVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCistICh2b2lk
KV9wcmVjb25uZWN0VG9TZXJ2ZXI6KE5TVVJMICopc2VydmVyVVJMIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKIEBlbmQKIAogI2lmIFRBUkdF
VF9PU19JUEhPTkUKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI2MzA1NCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDIwLTA2LTE1ICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFNQSSB0byBwcmVjb25uZWN0IHRv
IGEgc2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTMxMDkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY0MTg0NDEyPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IEdlb2ZmIEdhcmVuLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2Vi
S2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMjAtMDYtMTUgIEtlaXRoIE1p
bGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgU2lnbmFsIGhhbmRsZXJz
IHNob3VsZCBoYXZlIGEgdHdvIHBoYXNlIGluc3RhbGxhdGlvbi4KSW5kZXg6IFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCShyZXZpc2lvbiAyNjMwNTQpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTAy
Myw2ICsxMDIzLDcgQEAKIAkJQ0VEQTEyNDEyNDM3QzlGQjAwQzI4QTlFIC8qIGVkaXRhYmxlLXJl
Z2lvbi1jb21wb3NpdGVkLWFuZC1ub24tY29tcG9zaXRlZC1vdmVybGFwLmh0bWwgaW4gQ29weSBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0VEQTEyNDAyNDM3
QzlFQTAwQzI4QTlFIC8qIGVkaXRhYmxlLXJlZ2lvbi1jb21wb3NpdGVkLWFuZC1ub24tY29tcG9z
aXRlZC1vdmVybGFwLmh0bWwgKi87IH07CiAJCUQzNEUwODc2MUU0RTQyRTEwMDVGRjE0QSAvKiBX
S1dlYlZpZXdHZXRDb250ZW50cy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEQzQkU1RTM0MUU0Q0U4NUUwMEZENTYzQSAvKiBXS1dlYlZpZXdHZXRDb250
ZW50cy5tbSAqLzsgfTsKIAkJREY0QjI3MzkyMUE0NzcyODAwOUJEMUNBIC8qIFdLTlNEaWN0aW9u
YXJ5RW1wdHlEaWN0aW9uYXJ5Q3Jhc2gubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBERjRCMjczODIxQTQ3NzI3MDA5QkQxQ0EgLyogV0tOU0RpY3Rpb25h
cnlFbXB0eURpY3Rpb25hcnlDcmFzaC5tbSAqLzsgfTsKKwkJREZCOEZGMzIyNDkyRjUyNDAwRjAw
QjBEIC8qIFByZWNvbm5lY3QubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBERkI4RkYzMTI0OTJGNTFBMDBGMDBCMEQgLyogUHJlY29ubmVjdC5tbSAqLzsg
fTsKIAkJRTEyMjBEQ0ExNTVCMjhBQTAwMTNFMkZDIC8qIE1lbW9yeUNhY2hlRGlzYWJsZVdpdGhp
blJlc291cmNlTG9hZERlbGVnYXRlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTEyMjBEQzkxNTVCMjg3RDAwMTNFMkZDIC8qIE1lbW9y
eUNhY2hlRGlzYWJsZVdpdGhpblJlc291cmNlTG9hZERlbGVnYXRlLmh0bWwgKi87IH07CiAJCUUx
OTRFMUJEMTc3RTUzQzcwMDlDNEQ0RSAvKiBTdG9wTG9hZGluZ0Zyb21EaWRSZWNlaXZlUmVzcG9u
c2UuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMTk0RTFCQzE3N0U1MzRBMDA5QzRENEUgLyogU3RvcExvYWRpbmdGcm9tRGlkUmVjZWl2
ZVJlc3BvbnNlLmh0bWwgKi87IH07CiAJCUUzMDJCREFBMjQwNEI5MjQwMDg2NTI3NyAvKiBDb21w
YWN0UmVmUHRyVHVwbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTMwMkJEQTkyNDA0QjkyMzAwODY1Mjc3IC8qIENvbXBhY3RSZWZQdHJUdXBsZS5j
cHAgKi87IH07CkBAIC0yNjc0LDYgKzI2NzUsNyBAQAogCQlEM0JFNUUzNDFFNENFODVFMDBGRDU2
M0EgLyogV0tXZWJWaWV3R2V0Q29udGVudHMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBXS1dlYlZpZXdHZXRDb250ZW50cy5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJREM2OUFBNjIxQ0Y3N0M2NTAwQzYyNzJGIC8qIFNjb3BlZExhbWJkYS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY29wZWRMYW1iZGEuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlERjRCMjczODIxQTQ3NzI3MDA5QkQxQ0EgLyog
V0tOU0RpY3Rpb25hcnlFbXB0eURpY3Rpb25hcnlDcmFzaC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLTlNEaWN0aW9uYXJ5RW1wdHlEaWN0aW9uYXJ5Q3Jhc2gu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCURGQjhGRjMxMjQ5MkY1MUEwMEYwMEIw
RCAvKiBQcmVjb25uZWN0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gUHJlY29ubmVjdC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTEyMjBEOUYx
NTVCMjU0ODAwMTNFMkZDIC8qIE1lbW9yeUNhY2hlRGlzYWJsZVdpdGhpblJlc291cmNlTG9hZERl
bGVnYXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTWVtb3J5
Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUUxMjIwREM5MTU1QjI4N0QwMDEzRTJGQyAvKiBNZW1vcnlDYWNoZURp
c2FibGVXaXRoaW5SZXNvdXJjZUxvYWREZWxlZ2F0ZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1s
OyBwYXRoID0gTWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRt
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTE5NEUxQkExNzdFNTE0NTAwOUM0RDRF
IC8qIFN0b3BMb2FkaW5nRnJvbURpZFJlY2VpdmVSZXNwb25zZS5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN0b3BMb2FkaW5nRnJvbURpZFJlY2VpdmVSZXNwb25z
ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMxODMsNiArMzE4NSw3IEBACiAJ
CQkJNTE2MjgxMjYyMzI1QzE5MTAwQkI3RTQyIC8qIFBERlNuYXBzaG90Lm1tICovLAogCQkJCTNG
Q0M0RkU0MUVDNEU4NTIwMDc2RTM3QyAvKiBQaWN0dXJlSW5QaWN0dXJlRGVsZWdhdGUubW0gKi8s
CiAJCQkJODNCQUVFOEMxRUY0NjI1NTAwRERFODk0IC8qIFBsdWdpbkxvYWRDbGllbnRQb2xpY2ll
cy5tbSAqLywKKwkJCQlERkI4RkYzMTI0OTJGNTFBMDBGMDBCMEQgLyogUHJlY29ubmVjdC5tbSAq
LywKIAkJCQlDOTU1MDFCRTE5QUQyRkFGMDA0OUJFM0UgLyogUHJlZmVyZW5jZXMubW0gKi8sCiAJ
CQkJQ0QyMjdFNDMyMTFBNEQ1RDAwRDI4NUFGIC8qIFByZWZlcnJlZEF1ZGlvQnVmZmVyU2l6ZS5t
bSAqLywKIAkJCQk3QzFBRjc5MzFFOERDQkFCMDAyNjQ1QjkgLyogUHJlcGFyZUZvck1vdmVUb1dp
bmRvdy5tbSAqLywKQEAgLTUxMTcsNiArNTEyMCw3IEBACiAJCQkJN0NDRTdFQTYxQTQxMUEwRjAw
NDQ3QzRDIC8qIFBsYXRmb3JtVXRpbGl0aWVzTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0ND
RTdFQTcxQTQxMUExMzAwNDQ3QzRDIC8qIFBsYXRmb3JtV2ViVmlld01hYy5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCTgzQkFFRThEMUVGNDYyNTUwMERERTg5NCAvKiBQbHVnaW5Mb2FkQ2xpZW50UG9s
aWNpZXMubW0gaW4gU291cmNlcyAqLywKKwkJCQlERkI4RkYzMjI0OTJGNTI0MDBGMDBCMEQgLyog
UHJlY29ubmVjdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFENjdCRkRDMjQzM0UwQTcwMDZCNTA0
NyAvKiBQcmVlbXB0VmlkZW9GdWxsc2NyZWVuLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQzE1Q0JC
M0YyM0ZCMTc3QTAwMzAwQ0M3IC8qIFByZWZlcmVuY2VDaGFuZ2VzLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJN0NDRTdGMjYxQTQxMUFGNjAwNDQ3QzRDIC8qIFByZWZlcmVuY2VzLm1tIGluIFNvdXJj
ZXMgKi8sCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByZWNv
bm5lY3QubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9QcmVjb25uZWN0Lm1tCShub25leGlzdGVudCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvUHJlY29ubmVjdC5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDkxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNpbXBvcnQgIkhUVFBT
ZXJ2ZXIuaCIKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0ICJUZXN0TmF2
aWdhdGlvbkRlbGVnYXRlLmgiCisjaW1wb3J0ICJVdGlsaXRpZXMuaCIKKyNpbXBvcnQgPFdlYktp
dC9XS1dlYlZpZXdQcml2YXRlLmg+CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisKK25hbWVz
cGFjZSBUZXN0V2ViS2l0QVBJIHsKKworVEVTVChQcmVjb25uZWN0LCBIVFRQKQoreworICAgIGJv
b2wgY29ubmVjdGVkID0gZmFsc2U7CisgICAgYm9vbCByZXF1ZXN0ZWQgPSBmYWxzZTsKKyAgICBI
VFRQU2VydmVyIHNlcnZlcihbJl0gKENvbm5lY3Rpb24gY29ubmVjdGlvbikgeworICAgICAgICBj
b25uZWN0ZWQgPSB0cnVlOworICAgICAgICBjb25uZWN0aW9uLnJlY2VpdmVIVFRQUmVxdWVzdChb
Jl0oVmVjdG9yPGNoYXI+JiYpIHsKKyAgICAgICAgICAgIHJlcXVlc3RlZCA9IHRydWU7CisgICAg
ICAgIH0pOworICAgIH0pOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1dLV2ViVmlldyBu
ZXddKTsKKyAgICBbd2ViVmlldyBfcHJlY29ubmVjdFRvU2VydmVyOnNlcnZlci5yZXF1ZXN0KCku
VVJMXTsKKyAgICBVdGlsOjpydW4oJmNvbm5lY3RlZCk7CisgICAgVXRpbDo6c3BpblJ1bkxvb3Ao
MTApOworICAgIEVYUEVDVF9GQUxTRShyZXF1ZXN0ZWQpOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1
ZXN0OnNlcnZlci5yZXF1ZXN0KCldOworICAgIFV0aWw6OnJ1bigmcmVxdWVzdGVkKTsKK30KKwor
Ly8gTW9qYXZlIENGTmV0d29yayBfcHJlY29ubmVjdCBTUEkgc2VlbXMgdG8gaGF2ZSBhIGJ1ZyBj
YXVzaW5nIHRoaXMgdG8gdGltZSBvdXQuCisvLyBUaGF0J3Mgbm8gcHJvYmxlbSwgYmVjYXVzZSB0
aGlzIGlzIGEgdGVzdCBmb3IgU1BJIG9ubHkgdG8gYmUgdXNlZCBvbiBsYXRlciBPUyB2ZXJzaW9u
cy4KKyNpZiAhUExBVEZPUk0oTUFDKSB8fCBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTUwMAorCitURVNUKFByZWNvbm5lY3QsIEhUVFBTKQoreworICAgIGJvb2wgY29ubmVj
dGVkID0gZmFsc2U7CisgICAgYm9vbCByZXF1ZXN0ZWQgPSBmYWxzZTsKKyAgICBfX2Jsb2NrIGJv
b2wgcmVjZWl2ZWRDaGFsbGVuZ2UgPSBmYWxzZTsKKyAgICBIVFRQU2VydmVyIHNlcnZlcihbJl0g
KENvbm5lY3Rpb24gY29ubmVjdGlvbikgeworICAgICAgICBjb25uZWN0ZWQgPSB0cnVlOworICAg
ICAgICBjb25uZWN0aW9uLnJlY2VpdmVIVFRQUmVxdWVzdChbJl0oVmVjdG9yPGNoYXI+JiYpIHsK
KyAgICAgICAgICAgIHJlcXVlc3RlZCA9IHRydWU7CisgICAgICAgIH0pOworICAgIH0sIEhUVFBT
ZXJ2ZXI6OlByb3RvY29sOjpIdHRwcyk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbV0tX
ZWJWaWV3IG5ld10pOworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtUZXN0TmF2aWdhdGlv
bkRlbGVnYXRlIG5ld10pOworICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxl
Z2F0ZS5nZXQoKV07CisgICAgW2RlbGVnYXRlIHNldERpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZTpeKFdLV2ViVmlldyAqLCBOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlICpjaGFs
bGVuZ2UsIHZvaWQgKF5jYWxsYmFjaykoTlNVUkxTZXNzaW9uQXV0aENoYWxsZW5nZURpc3Bvc2l0
aW9uLCBOU1VSTENyZWRlbnRpYWwgKikpIHsKKyAgICAgICAgcmVjZWl2ZWRDaGFsbGVuZ2UgPSB0
cnVlOworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoY2hhbGxlbmdlLnByb3RlY3Rpb25TcGFjZS5h
dXRoZW50aWNhdGlvbk1ldGhvZCwgTlNVUkxBdXRoZW50aWNhdGlvbk1ldGhvZFNlcnZlclRydXN0
KTsKKyAgICAgICAgY2FsbGJhY2soTlNVUkxTZXNzaW9uQXV0aENoYWxsZW5nZVVzZUNyZWRlbnRp
YWwsIFtOU1VSTENyZWRlbnRpYWwgY3JlZGVudGlhbEZvclRydXN0OmNoYWxsZW5nZS5wcm90ZWN0
aW9uU3BhY2Uuc2VydmVyVHJ1c3RdKTsKKyAgICB9XTsKKyAgICBbd2ViVmlldyBfcHJlY29ubmVj
dFRvU2VydmVyOnNlcnZlci5yZXF1ZXN0KCkuVVJMXTsKKyAgICBVdGlsOjpydW4oJmNvbm5lY3Rl
ZCk7CisgICAgVXRpbDo6c3BpblJ1bkxvb3AoMTApOworICAgIEVYUEVDVF9GQUxTRShyZWNlaXZl
ZENoYWxsZW5nZSk7CisgICAgRVhQRUNUX0ZBTFNFKHJlcXVlc3RlZCk7CisgICAgW3dlYlZpZXcg
bG9hZFJlcXVlc3Q6c2VydmVyLnJlcXVlc3QoKV07CisgICAgVXRpbDo6cnVuKCZyZXF1ZXN0ZWQp
OworICAgIEVYUEVDVF9UUlVFKHJlY2VpdmVkQ2hhbGxlbmdlKTsKK30KKworI2VuZGlmCisKK30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402244</attachid>
            <date>2020-06-18 15:36:21 -0700</date>
            <delta_ts>2020-06-18 16:11:56 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-213109-20200618153620.patch</filename>
            <type>text/plain</type>
            <size>1160</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI2MzIzMykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEzIEBACisyMDIwLTA2LTE4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgU1BJIHRvIHByZWNvbm5lY3QgdG8gYSBzZXJ2ZXIgKEZvbGxvdy11
cCBmaXgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTMxMDkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY0MTg0NDEyPgorCisgICAgICAgIFVucmV2
aWV3ZWQgYnVpbGQtZml4LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9QcmVjb25uZWN0Lm1tOiBIVFRQU2VydmVyIGRvZXMgbm90IGV4aXN0IGlmIEhBVkUoTkVU
V09SS19GUkFNRVdPUkspIGlzIGZhbHNlLgorCiAyMDIwLTA2LTE4ICBKb29uZ2h1biBQYXJrICA8
amg3MTgucGFya0BzYW1zdW5nLmNvbT4KIAogICAgIFVucmV2aWV3ZWQuIFJlbW92ZSB0aGUgYnVp
bGQgd2FybmluZyBiZWxvdyBzaW5jZSByMjYyOTcxLgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9QcmVjb25uZWN0Lm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJlY29ubmVjdC5tbQkocmV2aXNpb24gMjYz
MjMzKQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QcmVjb25uZWN0
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw4IEBACiAKICNpbXBvcnQgImNvbmZpZy5o
IgogCisjaWYgSEFWRShORVRXT1JLX0ZSQU1FV09SSykKKwogI2ltcG9ydCAiSFRUUFNlcnZlci5o
IgogI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKICNpbXBvcnQgIlRlc3ROYXZpZ2F0aW9u
RGVsZWdhdGUuaCIKQEAgLTg5LDMgKzkxLDUgQEAgVEVTVChQcmVjb25uZWN0LCBIVFRQUykKICNl
bmRpZgogCiB9CisKKyNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>