<?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>219813</bug_id>
          
          <creation_ts>2020-12-11 16:19:16 -0800</creation_ts>
          <short_desc>`navigator.credentials.create()` returns immediately with `NotAllowedError` if credential already registered.</short_desc>
          <delta_ts>2021-10-20 12:03:37 -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>WebKit Misc.</component>
          <version>Safari 14</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>
          <dependson>231936</dependson>
          <blocked>181943</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Lucas Garron">lgarron</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>beidson</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>pascoe</cc>
    
    <cc>timcappalli</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1714153</commentid>
    <comment_count>0</comment_count>
    <who name="Lucas Garron">lgarron</who>
    <bug_when>2020-12-11 16:19:16 -0800</bug_when>
    <thetext>Per the WebAuthn spec (https://w3c.github.io/webauthn/#sctn-op-make-cred , step 3), errors returned from `navigator.credentials.get()` correspond to the following

- `InvalidStateError`: the user consented to create a new credential, but there are no authenticators that match the `authenticatorSelection` but aren&apos;t in `excludeCredentials`.
- `NotAllowedError`: the user did not consent to create a new credential

The most obvious case for &quot;did not consent to create a new credential&quot; is if the user pressed &quot;cancel&quot;. However, it seems Safari also does the same if trying to register a platform authenticator (Touch ID or Face ID) that is already registered.

While other browsers allow the user to interact with the prompt, e.g. Safari on macOS 11.0 Big Sur flashes `Do you want to allow &quot;example.com&quot;&apos; to use Touch ID` (with the options &quot;Don&apos;t allow&quot; and &quot;OK&quot;) but immediately replaces it with `You have already set up Touch ID for this website.` (with only the option &quot;OK&quot;).

This makes it impossible to tell if the user intended to create a credential, and for the RP (website) to offer a more useful option based on `InvalidStateError`.

I don&apos;t know if this is a bug, but I wanted to make sure it was not an accident.
The user experience (with the flashing prompt) is not great, so I think there is room for some improvement, either in the browser, or in the website&apos;s reaction to the error. It&apos;s unclear to me if any of the bugs here cover this issue: https://bugs.webkit.org/buglist.cgi?bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;field0-0-0=product&amp;field0-0-1=component&amp;field0-0-2=alias&amp;field0-0-3=short_desc&amp;field0-0-4=status_whiteboard&amp;field0-0-5=content&amp;list_id=6674120&amp;order=changeddate%20DESC%2Cbug_status%2Cpriority%2Cassigned_to%2Cbug_id&amp;query_format=advanced&amp;type0-0-0=substring&amp;type0-0-1=substring&amp;type0-0-2=substring&amp;type0-0-3=substring&amp;type0-0-4=substring&amp;type0-0-5=matches&amp;value0-0-0=webauthn&amp;value0-0-1=webauthn&amp;value0-0-2=webauthn&amp;value0-0-3=webauthn&amp;value0-0-4=webauthn&amp;value0-0-5=%22webauthn%22</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715855</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-12-18 16:20:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/72484635&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805075</commentid>
    <comment_count>2</comment_count>
      <attachid>441440</attachid>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2021-10-15 15:38:24 -0700</bug_when>
    <thetext>Created attachment 441440
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805090</commentid>
    <comment_count>3</comment_count>
      <attachid>441440</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-10-15 15:52:28 -0700</bug_when>
    <thetext>Comment on attachment 441440
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805632</commentid>
    <comment_count>4</comment_count>
      <attachid>441621</attachid>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2021-10-18 10:00:43 -0700</bug_when>
    <thetext>Created attachment 441621
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805788</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-18 17:07:36 -0700</bug_when>
    <thetext>Committed r284413 (243182@main): &lt;https://commits.webkit.org/243182@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 441621.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805853</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-10-18 20:14:01 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 231936</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805857</commentid>
    <comment_count>7</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2021-10-18 20:17:58 -0700</bug_when>
    <thetext>Reverted in https://trac.webkit.org/changeset/284429/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806267</commentid>
    <comment_count>8</comment_count>
      <attachid>441781</attachid>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2021-10-19 13:24:01 -0700</bug_when>
    <thetext>Created attachment 441781
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806289</commentid>
    <comment_count>9</comment_count>
      <attachid>441790</attachid>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2021-10-19 13:59:02 -0700</bug_when>
    <thetext>Created attachment 441790
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806296</commentid>
    <comment_count>10</comment_count>
      <attachid>441790</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-19 14:04:36 -0700</bug_when>
    <thetext>Comment on attachment 441790
Patch

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

&gt; Source/WebKit/ChangeLog:11
&gt; +        A fixme to add this was inadvertently removed in  https://bugs.webkit.org/attachment.cgi?id=393180&amp;action=prettypatch

nit: extra space before URL

&gt; Source/WebKit/ChangeLog:13
&gt; +        Reviewed by NOBODY (OOPS!).

This is supposed to come *before* the description, not after.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806314</commentid>
    <comment_count>11</comment_count>
      <attachid>441798</attachid>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2021-10-19 14:20:07 -0700</bug_when>
    <thetext>Created attachment 441798
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806317</commentid>
    <comment_count>12</comment_count>
      <attachid>441798</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-10-19 14:26:05 -0700</bug_when>
    <thetext>Comment on attachment 441798
Patch

r=me (and Chris)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806402</commentid>
    <comment_count>13</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-10-19 16:40:39 -0700</bug_when>
    <thetext>Waiting for iOS-wk2 to finish before adding cq+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806430</commentid>
    <comment_count>14</comment_count>
      <attachid>441826</attachid>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2021-10-19 17:34:41 -0700</bug_when>
    <thetext>Created attachment 441826
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806609</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-20 08:01:48 -0700</bug_when>
    <thetext>Committed r284532 (243274@main): &lt;https://commits.webkit.org/243274@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 441826.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806757</commentid>
    <comment_count>16</comment_count>
      <attachid>441826</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-20 12:03:37 -0700</bug_when>
    <thetext>Comment on attachment 441826
Patch

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

&gt; Source/WebKit/ChangeLog:2
&gt; +2021-10-19  John Pascoe  &lt;j_pascoe@apple.com&gt;
&gt; +        [WebAuthn] Obtain consent to create new credential when platform authenticator in excludedCredentials

Trivial formatting mistake: there should be a blank line here.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441440</attachid>
            <date>2021-10-15 15:38:24 -0700</date>
            <delta_ts>2021-10-18 10:00:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219813-20211015153822.patch</filename>
            <type>text/plain</type>
            <size>10260</size>
            <attacher name="pascoe@apple.com">pascoe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MjU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGY4NWM1YTkyNzFkNGZiZDcw
MjlmODA1YjI0NWU3NWQ3NTFlYTM1YjcuLjRjNWRiYTAyNTM3YWE1ZjViZmIwYTE4NDUxMjU4MzUw
NmYxYjgwNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjEtMTAtMTUgIEpvaG4gUGFz
Y29lICA8al9wYXNjb2VAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdXRobl0gT2J0YWluIGNv
bnNlbnQgdG8gY3JlYXRlIG5ldyBjcmVkZW50aWFsIHdoZW4gcGxhdGZvcm0gYXV0aGVudGljYXRv
ciBpbiBleGNsdWRlZENyZWRlbnRpYWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTk4MTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcyNDg0NjM1
PgorCisgICAgICAgIEN1cnJlbnRseSwgd2hlbmV2ZXIgdGhlIHBsYXRmb3JtIGF1dGhlbnRpY2F0
b3IgaXMgd2l0aGluIGV4Y2x1ZGVkQ3JlZGVudGlhbHMgZHVyaW5nIG1ha2VDcmVkZW50aWFsIHdl
CisgICAgICAgIGFsd2F5cyByZXR1cm4gTm90QWxsb3dlZEVycm9yIGFuZCBtZXJlbHkgZmxhc2gg
YSBjb25zZW50IHNjcmVlbi4gVGhpcyBkb2VzIG5vdCBtYXRjaCB0aGUgc3BlYyBwZXIgU3RlcCAz
LjEKKyAgICAgICAgb2YgbWFrZUNyZWRlbnRpYWwgKGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJh
dXRobi8jc2N0bi1vcC1tYWtlLWNyZWQpLiBJbnN0ZWFkLCB3ZSBzaG91bGQgYWx3YXlzIG9idGFp
biBjb25zZW50CisgICAgICAgIGFuZCByZXR1cm4gYSBkaWZmZXJlbnQgZXJyb3IgZGVwZW5kaW5n
IG9uIGNvbnNlbnQgd2FzIG9idGFpbmVkLgorCisgICAgICAgIEEgZml4bWUgdG8gYWRkIHRoaXMg
d2FzIGluYWR2ZXJ0ZW50bHkgcmVtb3ZlZCBpbiAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvYXR0
YWNobWVudC5jZ2k/aWQ9MzkzMTgwJmFjdGlvbj1wcmV0dHlwYXRjaAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGFwaSB0ZXN0IFRlc3RXZWJL
aXRBUEkuV2ViQXV0aGVudGljYXRpb25QYW5lbC5MQUR1cGxpY2F0ZUNyZWRlbnRpYWxXaXRoQ29u
c2VudCAKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRp
b25QYW5lbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9M
b2NhbEF1dGhlbnRpY2F0b3IubW06CisgICAgICAgIChXZWJLaXQ6OkxvY2FsQXV0aGVudGljYXRv
cjo6bWFrZUNyZWRlbnRpYWwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlv
bi9Db2NvYS9XZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50Lm1tOgorICAgICAgICAoV2ViS2l0
Ojp3a1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxVcGRhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdGlvbkZsYWdzLmg6CisKIDIwMjEtMTAtMTUg
IEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXSBV
cGRhdGUgc2FuZGJveGVzIHRvIHN1cHBvcnQgZmluZXItZ3JhaW5lZCBYUEMgc2VydmljZXMgaW4g
dGhlIG1lZGlhIHN0YWNrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwuaAppbmRleCAyZmZiYzlhNjJl
NTYwYTc0NWQyMzU3NjNkYzlmYmViYmE3OWM0NWI4Li40NGQ4ZjcyOGI4MDVhNWZkOTc0M2M5ODIw
NTBjZGMzYzkzNjEzNWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLmgKQEAgLTUxLDYgKzUx
LDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLV2ViQXV0aGVudGljYXRpb25QYW5l
bFVwZGF0ZSkgewogICAgIF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxVcGRhdGVQSU5JbnZhbGlk
LAogICAgIF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxVcGRhdGVMQUVycm9yLAogICAgIF9XS1dl
YkF1dGhlbnRpY2F0aW9uUGFuZWxVcGRhdGVMQUV4Y2x1ZGVDcmVkZW50aWFsc01hdGNoZWQsCisg
ICAgX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbFVwZGF0ZUxBRXhjbHVkZUNyZWRlbnRpYWxzTWF0
Y2hlZFdpdGhDb25zZW50LAogICAgIF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxVcGRhdGVMQU5v
Q3JlZGVudGlhbCwKIH0gV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xNS40KSwgaW9zKDEzLjQp
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRp
b24vQ29jb2EvTG9jYWxBdXRoZW50aWNhdG9yLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViQXV0aGVudGljYXRpb24vQ29jb2EvTG9jYWxBdXRoZW50aWNhdG9yLm1tCmluZGV4IGFkYWE2
NmVlM2M5ODk4NmI2OWMzZWMyMjIzNmJhNTg0MDQ0NDdjNDMuLjIxYjkxNTI3ZTFhNmY0NDlhOTBk
ODU5MTIwZTU5NjY4NzU1ZThjNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0xvY2FsQXV0aGVudGljYXRvci5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9Mb2NhbEF1dGhlbnRp
Y2F0b3IubW0KQEAgLTIyNyw3ICsyMjcsMTggQEAgdm9pZCBMb2NhbEF1dGhlbnRpY2F0b3I6Om1h
a2VDcmVkZW50aWFsKCkKICAgICAgICAgICAgIEFTU0VSVChyYXdJZCk7CiAgICAgICAgICAgICBy
ZXR1cm4gZXhjbHVkZUNyZWRlbnRpYWxJZHMuY29udGFpbnMoYmFzZTY0RW5jb2RlVG9TdHJpbmco
cmF3SWQtPmRhdGEoKSwgcmF3SWQtPmJ5dGVMZW5ndGgoKSkpOwogICAgICAgICB9KSkgewotICAg
ICAgICAgICAgcmVjZWl2ZUV4Y2VwdGlvbih7IE5vdEFsbG93ZWRFcnJvciwgIkF0IGxlYXN0IG9u
ZSBjcmVkZW50aWFsIG1hdGNoZXMgYW4gZW50cnkgb2YgdGhlIGV4Y2x1ZGVDcmVkZW50aWFscyBs
aXN0IGluIHRoZSBwbGF0Zm9ybSBhdHRhY2hlZCBhdXRoZW50aWNhdG9yLiJfcyB9LCBXZWJBdXRo
ZW50aWNhdGlvblN0YXR1czo6TEFFeGNsdWRlQ3JlZGVudGlhbHNNYXRjaGVkKTsKKyAgICAgICAg
ICAgIC8vIE9idGFpbiBjb25zZW50IHBlciBTdGVwIDMuMQorICAgICAgICAgICAgYXV0byBjYWxs
YmFjayA9IFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9XSAoTG9jYWxBdXRoZW50aWNhdG9y
UG9saWN5IHBvbGljeSkgeworICAgICAgICAgICAgICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4o
KSk7CisgICAgICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuOworCisgICAgICAgICAgICAgICAgaWYgKHBvbGljeSA9PSBMb2NhbEF1dGhlbnRpY2F0
b3JQb2xpY3k6OkFsbG93KQorICAgICAgICAgICAgICAgICAgICB3ZWFrVGhpcy0+cmVjZWl2ZUV4
Y2VwdGlvbih7IEludmFsaWRTdGF0ZUVycm9yLCAiQXQgbGVhc3Qgb25lIGNyZWRlbnRpYWwgbWF0
Y2hlcyBhbiBlbnRyeSBvZiB0aGUgZXhjbHVkZUNyZWRlbnRpYWxzIGxpc3QgaW4gdGhlIHBsYXRm
b3JtIGF0dGFjaGVkIGF1dGhlbnRpY2F0b3IuIl9zIH0sIFdlYkF1dGhlbnRpY2F0aW9uU3RhdHVz
OjpMQUV4Y2x1ZGVDcmVkZW50aWFsc01hdGNoZWRXaXRoQ29uc2VudCk7CisgICAgICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgICAgICB3ZWFrVGhpcy0+cmVjZWl2ZUV4Y2VwdGlvbih7
IE5vdEFsbG93ZWRFcnJvciwgIkF0IGxlYXN0IG9uZSBjcmVkZW50aWFsIG1hdGNoZXMgYW4gZW50
cnkgb2YgdGhlIGV4Y2x1ZGVDcmVkZW50aWFscyBsaXN0IGluIHRoZSBwbGF0Zm9ybSBhdHRhY2hl
ZCBhdXRoZW50aWNhdG9yLiJfcyB9LCBXZWJBdXRoZW50aWNhdGlvblN0YXR1czo6TEFFeGNsdWRl
Q3JlZGVudGlhbHNNYXRjaGVkKTsKKyAgICAgICAgICAgIH07CisgICAgICAgICAgICBvYnNlcnZl
cigpLT5kZWNpZGVQb2xpY3lGb3JMb2NhbEF1dGhlbnRpY2F0b3IoV1RGTW92ZShjYWxsYmFjaykp
OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvV2ViQXV0aGVudGlj
YXRpb25QYW5lbENsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRp
Y2F0aW9uL0NvY29hL1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxDbGllbnQubW0KaW5kZXggMzlhMzlk
MzRjMjNkZjhmOWEyYTI2ZDM2ZjY5N2NmMjU1OWU5NmIyNy4uYmQxZjkzZjgzODVjMTJmMDg4NGQz
NzVkMWQ4NWNlYzYwM2M0NDJjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViQXV0aGVudGljYXRpb24vQ29jb2EvV2ViQXV0aGVudGljYXRpb25QYW5lbENsaWVudC5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9XZWJB
dXRoZW50aWNhdGlvblBhbmVsQ2xpZW50Lm1tCkBAIC03NCw2ICs3NCw4IEBAIHN0YXRpYyBfV0tX
ZWJBdXRoZW50aWNhdGlvblBhbmVsVXBkYXRlIHdrV2ViQXV0aGVudGljYXRpb25QYW5lbFVwZGF0
ZShXZWJBdXRoZW50CiAgICAgICAgIHJldHVybiBfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsVXBk
YXRlTEFFcnJvcjsKICAgICBpZiAoc3RhdHVzID09IFdlYkF1dGhlbnRpY2F0aW9uU3RhdHVzOjpM
QUV4Y2x1ZGVDcmVkZW50aWFsc01hdGNoZWQpCiAgICAgICAgIHJldHVybiBfV0tXZWJBdXRoZW50
aWNhdGlvblBhbmVsVXBkYXRlTEFFeGNsdWRlQ3JlZGVudGlhbHNNYXRjaGVkOworICAgIGlmIChz
dGF0dXMgPT0gV2ViQXV0aGVudGljYXRpb25TdGF0dXM6OkxBRXhjbHVkZUNyZWRlbnRpYWxzTWF0
Y2hlZFdpdGhDb25zZW50KQorICAgICAgICByZXR1cm4gX1dLV2ViQXV0aGVudGljYXRpb25QYW5l
bFVwZGF0ZUxBRXhjbHVkZUNyZWRlbnRpYWxzTWF0Y2hlZFdpdGhDb25zZW50OwogICAgIGlmIChz
dGF0dXMgPT0gV2ViQXV0aGVudGljYXRpb25TdGF0dXM6OkxBTm9DcmVkZW50aWFsKQogICAgICAg
ICByZXR1cm4gX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbFVwZGF0ZUxBTm9DcmVkZW50aWFsOwog
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRpb25GbGFncy5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRpb25GbGFn
cy5oCmluZGV4IGNiMDY1YTljZDAzMmM5ZTVhMmU3ZDliMjRmZjIyOTAxNGQ1ZTNhODAuLjBjMWRl
ZWE0MGUxZDczODExNTgxN2I0MDUxMDkzM2Q4M2EzMDJhZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0aW9uRmxhZ3Mu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRo
ZW50aWNhdGlvbkZsYWdzLmgKQEAgLTQ4LDYgKzQ4LDcgQEAgZW51bSBjbGFzcyBXZWJBdXRoZW50
aWNhdGlvblN0YXR1cyA6IHVpbnQ4X3QgewogICAgIFBpbkludmFsaWQsCiAgICAgTEFFcnJvciwK
ICAgICBMQUV4Y2x1ZGVDcmVkZW50aWFsc01hdGNoZWQsCisgICAgTEFFeGNsdWRlQ3JlZGVudGlh
bHNNYXRjaGVkV2l0aENvbnNlbnQsCiAgICAgTEFOb0NyZWRlbnRpYWwsCiB9OwogCmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODFmYTIzMTVjMjc5
NjBlZmJiYWUyYWFkYTQ1MWZhNDNmNzBhYWE4OS4uYTkzZjVjMjNjNDVjNWYzMDY4MjFjNzA2NWZi
YTRmZmYwODhmOTkzNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTEwLTE1ICBKb2huIFBhc2NvZSAgPGpfcGFz
Y29lQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXV0aG5dIE9idGFpbiBjb25zZW50IHRvIGNy
ZWF0ZSBuZXcgY3JlZGVudGlhbCB3aGVuIHBsYXRmb3JtIGF1dGhlbnRpY2F0b3IgaW4gZXhjbHVk
ZWRDcmVkZW50aWFscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE5ODEzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjQ4NDYzNT4KKworICAgICAg
ICBDdXJyZW50bHksIHdoZW5ldmVyIHRoZSBwbGF0Zm9ybSBhdXRoZW50aWNhdG9yIGlzIHdpdGhp
biBleGNsdWRlZENyZWRlbnRpYWxzIGR1cmluZyBtYWtlQ3JlZGVudGlhbCB3ZQorICAgICAgICBh
bHdheXMgcmV0dXJuIE5vdEFsbG93ZWRFcnJvciBhbmQgbWVyZWx5IGZsYXNoIGEgY29uc2VudCBz
Y3JlZW4uIFRoaXMgZG9lcyBub3QgbWF0Y2ggdGhlIHNwZWMgcGVyIFN0ZXAgMy4xCisgICAgICAg
IG9mIG1ha2VDcmVkZW50aWFsIChodHRwczovL3czYy5naXRodWIuaW8vd2ViYXV0aG4vI3NjdG4t
b3AtbWFrZS1jcmVkKS4gSW5zdGVhZCwgd2Ugc2hvdWxkIGFsd2F5cyBvYnRhaW4gY29uc2VudAor
ICAgICAgICBhbmQgcmV0dXJuIGEgZGlmZmVyZW50IGVycm9yIGRlcGVuZGluZyBvbiBjb25zZW50
IHdhcyBvYnRhaW5lZC4KKworICAgICAgICBUaGlzIGFkZHMgYSB0ZXN0IHRvIGNvbmZpcm0gYSBk
aWZmZXJlbnQgcGF0aCBpcyB0YWtlbiB3aGVuZXZlciBjb25zZW50IGlzIG9idGFpbmVkLgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tOgorICAg
ICAgICAoLVtUZXN0V2ViQXV0aGVudGljYXRpb25QYW5lbERlbGVnYXRlIHBhbmVsOnVwZGF0ZVdl
YkF1dGhlbnRpY2F0aW9uUGFuZWw6XSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToK
KwogMjAyMS0xMC0xNCAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBUZXN0V2ViS2l0QVBJLlByaXZhdGVDbGlja01lYXN1cmVtZW50LkZyYXVkUHJldmVudGlv
biBpcyBhIGNvbnN0YW50IHRpbWVvdXQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbSBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5t
bQppbmRleCBkZTAzNjg1ODExZDk4NDA1MWM5NmE1YmI3N2Q2MjlmNmFjYjI1N2JlLi4wN2M4ODk4
ZGRlNDU3YWYxMjRmZjQyMjI0OWYwYjgyMmNlYjNhMmNjIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0K
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50
aWNhdGlvblBhbmVsLm1tCkBAIC03MCw2ICs3MCw3IEBAIHN0YXRpYyBib29sIHdlYkF1dGhlbnRp
Y2F0aW9uUGFuZWxVcGRhdGVQSU5BdXRoQmxvY2tlZCA9IGZhbHNlOwogc3RhdGljIGJvb2wgd2Vi
QXV0aGVudGljYXRpb25QYW5lbFVwZGF0ZVBJTkludmFsaWQgPSBmYWxzZTsKIHN0YXRpYyBib29s
IHdlYkF1dGhlbnRpY2F0aW9uUGFuZWxVcGRhdGVMQUVycm9yID0gZmFsc2U7CiBzdGF0aWMgYm9v
bCB3ZWJBdXRoZW50aWNhdGlvblBhbmVsVXBkYXRlTEFFeGNsdWRlQ3JlZGVudGlhbHNNYXRjaGVk
ID0gZmFsc2U7CitzdGF0aWMgYm9vbCB3ZWJBdXRoZW50aWNhdGlvblBhbmVsVXBkYXRlTEFFeGNs
dWRlQ3JlZGVudGlhbHNNYXRjaGVkV2l0aENvbnNlbnQgPSBmYWxzZTsKIHN0YXRpYyBib29sIHdl
YkF1dGhlbnRpY2F0aW9uUGFuZWxVcGRhdGVMQU5vQ3JlZGVudGlhbCA9IGZhbHNlOwogc3RhdGlj
IGJvb2wgd2ViQXV0aGVudGljYXRpb25QYW5lbENhbmNlbEltbWVkaWF0ZWx5ID0gZmFsc2U7CiBz
dGF0aWMgX1dLTG9jYWxBdXRoZW50aWNhdG9yUG9saWN5IGxvY2FsQXV0aGVudGljYXRvclBvbGlj
eSA9IF9XS0xvY2FsQXV0aGVudGljYXRvclBvbGljeURpc2FsbG93OwpAQCAtMTIyLDYgKzEyMywx
MCBAQCBzdGF0aWMgYm9vbCBsYUNvbnRleHRSZXF1ZXN0ZWQgPSBmYWxzZTsKICAgICAgICAgd2Vi
QXV0aGVudGljYXRpb25QYW5lbFVwZGF0ZUxBRXhjbHVkZUNyZWRlbnRpYWxzTWF0Y2hlZCA9IHRy
dWU7CiAgICAgICAgIHJldHVybjsKICAgICB9CisgICAgaWYgKHVwZGF0ZSA9PSBfV0tXZWJBdXRo
ZW50aWNhdGlvblBhbmVsVXBkYXRlTEFFeGNsdWRlQ3JlZGVudGlhbHNNYXRjaGVkV2l0aENvbnNl
bnQpIHsKKyAgICAgICAgd2ViQXV0aGVudGljYXRpb25QYW5lbFVwZGF0ZUxBRXhjbHVkZUNyZWRl
bnRpYWxzTWF0Y2hlZFdpdGhDb25zZW50ID0gdHJ1ZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
ICAgICBpZiAodXBkYXRlID09IF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxVcGRhdGVMQU5vQ3Jl
ZGVudGlhbCkgewogICAgICAgICB3ZWJBdXRoZW50aWNhdGlvblBhbmVsVXBkYXRlTEFOb0NyZWRl
bnRpYWwgPSB0cnVlOwogICAgICAgICByZXR1cm47CkBAIC0xMzg2LDYgKzEzOTEsMjkgQEAgVEVT
VChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBMQUR1cGxpY2F0ZUNyZWRlbnRpYWwpCiAgICAgY2xl
YW5VcEtleWNoYWluKCIiKTsKIH0KIAorVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBMQUR1
cGxpY2F0ZUNyZWRlbnRpYWxXaXRoQ29uc2VudCkKK3sKKyAgICByZXNldCgpOworICAgIFJldGFp
blB0cjxOU1VSTD4gdGVzdFVSTCA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3Vy
Y2U6QCJ3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLWR1cGxpY2F0ZS1jcmVk
ZW50aWFsIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQ
SS5yZXNvdXJjZXMiXTsKKworICAgIGF1dG8gKmNvbmZpZ3VyYXRpb24gPSBbV0tXZWJWaWV3Q29u
ZmlndXJhdGlvbiBfdGVzdF9jb25maWd1cmF0aW9uV2l0aFRlc3RQbHVnSW5DbGFzc05hbWU6QCJX
ZWJQcm9jZXNzUGx1Z0luV2l0aEludGVybmFscyIgY29uZmlndXJlSlNDRm9yVGVzdGluZzpZRVNd
OworICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldEVuYWJsZWQ6WUVTIGZvckV4
cGVyaW1lbnRhbEZlYXR1cmU6d2ViQXV0aGVudGljYXRpb25FeHBlcmltZW50YWxGZWF0dXJlKCld
OworICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldEVuYWJsZWQ6Tk8gZm9yRXhw
ZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbk1vZGVybkV4cGVyaW1lbnRhbEZlYXR1
cmUoKV07CisKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxv
Y10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0IGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl0p
OworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFu
ZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpk
ZWxlZ2F0ZS5nZXQoKV07CisgICAgW3dlYlZpZXcgZm9jdXNdOworCisgICAgQVNTRVJUX1RSVUUo
YWRkS2V5VG9LZXljaGFpbih0ZXN0RVMyNTZQcml2YXRlS2V5QmFzZTY0LCAiIiwgdGVzdFVzZXJF
bnRpdHlCdW5kbGVCYXNlNjQpKTsKKworICAgIGxvY2FsQXV0aGVudGljYXRvclBvbGljeSA9IF9X
S0xvY2FsQXV0aGVudGljYXRvclBvbGljeUFsbG93OworCisgICAgW3dlYlZpZXcgbG9hZFJlcXVl
c3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp0ZXN0VVJMLmdldCgpXV07CisgICAgVXRp
bDo6cnVuKCZ3ZWJBdXRoZW50aWNhdGlvblBhbmVsVXBkYXRlTEFFeGNsdWRlQ3JlZGVudGlhbHNN
YXRjaGVkV2l0aENvbnNlbnQpOworICAgIGNsZWFuVXBLZXljaGFpbigiIik7Cit9CisKIFRFU1Qo
V2ViQXV0aGVudGljYXRpb25QYW5lbCwgTEFOb0NyZWRlbnRpYWwpCiB7CiAgICAgcmVzZXQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441621</attachid>
            <date>2021-10-18 10:00:43 -0700</date>
            <delta_ts>2021-10-19 13:23:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219813-20211018100041.patch</filename>
            <type>text/plain</type>
            <size>13762</size>
            <attacher name="pascoe@apple.com">pascoe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MjU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGY4NWM1YTkyNzFkNGZiZDcw
MjlmODA1YjI0NWU3NWQ3NTFlYTM1YjcuLjRjNWRiYTAyNTM3YWE1ZjViZmIwYTE4NDUxMjU4MzUw
NmYxYjgwNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjEtMTAtMTUgIEpvaG4gUGFz
Y29lICA8al9wYXNjb2VAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdXRobl0gT2J0YWluIGNv
bnNlbnQgdG8gY3JlYXRlIG5ldyBjcmVkZW50aWFsIHdoZW4gcGxhdGZvcm0gYXV0aGVudGljYXRv
ciBpbiBleGNsdWRlZENyZWRlbnRpYWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTk4MTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcyNDg0NjM1
PgorCisgICAgICAgIEN1cnJlbnRseSwgd2hlbmV2ZXIgdGhlIHBsYXRmb3JtIGF1dGhlbnRpY2F0
b3IgaXMgd2l0aGluIGV4Y2x1ZGVkQ3JlZGVudGlhbHMgZHVyaW5nIG1ha2VDcmVkZW50aWFsIHdl
CisgICAgICAgIGFsd2F5cyByZXR1cm4gTm90QWxsb3dlZEVycm9yIGFuZCBtZXJlbHkgZmxhc2gg
YSBjb25zZW50IHNjcmVlbi4gVGhpcyBkb2VzIG5vdCBtYXRjaCB0aGUgc3BlYyBwZXIgU3RlcCAz
LjEKKyAgICAgICAgb2YgbWFrZUNyZWRlbnRpYWwgKGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJh
dXRobi8jc2N0bi1vcC1tYWtlLWNyZWQpLiBJbnN0ZWFkLCB3ZSBzaG91bGQgYWx3YXlzIG9idGFp
biBjb25zZW50CisgICAgICAgIGFuZCByZXR1cm4gYSBkaWZmZXJlbnQgZXJyb3IgZGVwZW5kaW5n
IG9uIGNvbnNlbnQgd2FzIG9idGFpbmVkLgorCisgICAgICAgIEEgZml4bWUgdG8gYWRkIHRoaXMg
d2FzIGluYWR2ZXJ0ZW50bHkgcmVtb3ZlZCBpbiAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvYXR0
YWNobWVudC5jZ2k/aWQ9MzkzMTgwJmFjdGlvbj1wcmV0dHlwYXRjaAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGFwaSB0ZXN0IFRlc3RXZWJL
aXRBUEkuV2ViQXV0aGVudGljYXRpb25QYW5lbC5MQUR1cGxpY2F0ZUNyZWRlbnRpYWxXaXRoQ29u
c2VudCAKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRp
b25QYW5lbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9M
b2NhbEF1dGhlbnRpY2F0b3IubW06CisgICAgICAgIChXZWJLaXQ6OkxvY2FsQXV0aGVudGljYXRv
cjo6bWFrZUNyZWRlbnRpYWwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlv
bi9Db2NvYS9XZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50Lm1tOgorICAgICAgICAoV2ViS2l0
Ojp3a1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxVcGRhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdGlvbkZsYWdzLmg6CisKIDIwMjEtMTAtMTUg
IEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXSBV
cGRhdGUgc2FuZGJveGVzIHRvIHN1cHBvcnQgZmluZXItZ3JhaW5lZCBYUEMgc2VydmljZXMgaW4g
dGhlIG1lZGlhIHN0YWNrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwuaAppbmRleCAyZmZiYzlhNjJl
NTYwYTc0NWQyMzU3NjNkYzlmYmViYmE3OWM0NWI4Li40NGQ4ZjcyOGI4MDVhNWZkOTc0M2M5ODIw
NTBjZGMzYzkzNjEzNWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLmgKQEAgLTUxLDYgKzUx
LDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLV2ViQXV0aGVudGljYXRpb25QYW5l
bFVwZGF0ZSkgewogICAgIF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxVcGRhdGVQSU5JbnZhbGlk
LAogICAgIF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxVcGRhdGVMQUVycm9yLAogICAgIF9XS1dl
YkF1dGhlbnRpY2F0aW9uUGFuZWxVcGRhdGVMQUV4Y2x1ZGVDcmVkZW50aWFsc01hdGNoZWQsCisg
ICAgX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbFVwZGF0ZUxBRXhjbHVkZUNyZWRlbnRpYWxzTWF0
Y2hlZFdpdGhDb25zZW50LAogICAgIF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxVcGRhdGVMQU5v
Q3JlZGVudGlhbCwKIH0gV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xNS40KSwgaW9zKDEzLjQp
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRp
b24vQ29jb2EvTG9jYWxBdXRoZW50aWNhdG9yLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViQXV0aGVudGljYXRpb24vQ29jb2EvTG9jYWxBdXRoZW50aWNhdG9yLm1tCmluZGV4IGFkYWE2
NmVlM2M5ODk4NmI2OWMzZWMyMjIzNmJhNTg0MDQ0NDdjNDMuLjIxYjkxNTI3ZTFhNmY0NDlhOTBk
ODU5MTIwZTU5NjY4NzU1ZThjNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0xvY2FsQXV0aGVudGljYXRvci5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9Mb2NhbEF1dGhlbnRp
Y2F0b3IubW0KQEAgLTIyNyw3ICsyMjcsMTggQEAgdm9pZCBMb2NhbEF1dGhlbnRpY2F0b3I6Om1h
a2VDcmVkZW50aWFsKCkKICAgICAgICAgICAgIEFTU0VSVChyYXdJZCk7CiAgICAgICAgICAgICBy
ZXR1cm4gZXhjbHVkZUNyZWRlbnRpYWxJZHMuY29udGFpbnMoYmFzZTY0RW5jb2RlVG9TdHJpbmco
cmF3SWQtPmRhdGEoKSwgcmF3SWQtPmJ5dGVMZW5ndGgoKSkpOwogICAgICAgICB9KSkgewotICAg
ICAgICAgICAgcmVjZWl2ZUV4Y2VwdGlvbih7IE5vdEFsbG93ZWRFcnJvciwgIkF0IGxlYXN0IG9u
ZSBjcmVkZW50aWFsIG1hdGNoZXMgYW4gZW50cnkgb2YgdGhlIGV4Y2x1ZGVDcmVkZW50aWFscyBs
aXN0IGluIHRoZSBwbGF0Zm9ybSBhdHRhY2hlZCBhdXRoZW50aWNhdG9yLiJfcyB9LCBXZWJBdXRo
ZW50aWNhdGlvblN0YXR1czo6TEFFeGNsdWRlQ3JlZGVudGlhbHNNYXRjaGVkKTsKKyAgICAgICAg
ICAgIC8vIE9idGFpbiBjb25zZW50IHBlciBTdGVwIDMuMQorICAgICAgICAgICAgYXV0byBjYWxs
YmFjayA9IFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9XSAoTG9jYWxBdXRoZW50aWNhdG9y
UG9saWN5IHBvbGljeSkgeworICAgICAgICAgICAgICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4o
KSk7CisgICAgICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuOworCisgICAgICAgICAgICAgICAgaWYgKHBvbGljeSA9PSBMb2NhbEF1dGhlbnRpY2F0
b3JQb2xpY3k6OkFsbG93KQorICAgICAgICAgICAgICAgICAgICB3ZWFrVGhpcy0+cmVjZWl2ZUV4
Y2VwdGlvbih7IEludmFsaWRTdGF0ZUVycm9yLCAiQXQgbGVhc3Qgb25lIGNyZWRlbnRpYWwgbWF0
Y2hlcyBhbiBlbnRyeSBvZiB0aGUgZXhjbHVkZUNyZWRlbnRpYWxzIGxpc3QgaW4gdGhlIHBsYXRm
b3JtIGF0dGFjaGVkIGF1dGhlbnRpY2F0b3IuIl9zIH0sIFdlYkF1dGhlbnRpY2F0aW9uU3RhdHVz
OjpMQUV4Y2x1ZGVDcmVkZW50aWFsc01hdGNoZWRXaXRoQ29uc2VudCk7CisgICAgICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgICAgICB3ZWFrVGhpcy0+cmVjZWl2ZUV4Y2VwdGlvbih7
IE5vdEFsbG93ZWRFcnJvciwgIkF0IGxlYXN0IG9uZSBjcmVkZW50aWFsIG1hdGNoZXMgYW4gZW50
cnkgb2YgdGhlIGV4Y2x1ZGVDcmVkZW50aWFscyBsaXN0IGluIHRoZSBwbGF0Zm9ybSBhdHRhY2hl
ZCBhdXRoZW50aWNhdG9yLiJfcyB9LCBXZWJBdXRoZW50aWNhdGlvblN0YXR1czo6TEFFeGNsdWRl
Q3JlZGVudGlhbHNNYXRjaGVkKTsKKyAgICAgICAgICAgIH07CisgICAgICAgICAgICBvYnNlcnZl
cigpLT5kZWNpZGVQb2xpY3lGb3JMb2NhbEF1dGhlbnRpY2F0b3IoV1RGTW92ZShjYWxsYmFjaykp
OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvV2ViQXV0aGVudGlj
YXRpb25QYW5lbENsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRp
Y2F0aW9uL0NvY29hL1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxDbGllbnQubW0KaW5kZXggMzlhMzlk
MzRjMjNkZjhmOWEyYTI2ZDM2ZjY5N2NmMjU1OWU5NmIyNy4uYmQxZjkzZjgzODVjMTJmMDg4NGQz
NzVkMWQ4NWNlYzYwM2M0NDJjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViQXV0aGVudGljYXRpb24vQ29jb2EvV2ViQXV0aGVudGljYXRpb25QYW5lbENsaWVudC5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9XZWJB
dXRoZW50aWNhdGlvblBhbmVsQ2xpZW50Lm1tCkBAIC03NCw2ICs3NCw4IEBAIHN0YXRpYyBfV0tX
ZWJBdXRoZW50aWNhdGlvblBhbmVsVXBkYXRlIHdrV2ViQXV0aGVudGljYXRpb25QYW5lbFVwZGF0
ZShXZWJBdXRoZW50CiAgICAgICAgIHJldHVybiBfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsVXBk
YXRlTEFFcnJvcjsKICAgICBpZiAoc3RhdHVzID09IFdlYkF1dGhlbnRpY2F0aW9uU3RhdHVzOjpM
QUV4Y2x1ZGVDcmVkZW50aWFsc01hdGNoZWQpCiAgICAgICAgIHJldHVybiBfV0tXZWJBdXRoZW50
aWNhdGlvblBhbmVsVXBkYXRlTEFFeGNsdWRlQ3JlZGVudGlhbHNNYXRjaGVkOworICAgIGlmIChz
dGF0dXMgPT0gV2ViQXV0aGVudGljYXRpb25TdGF0dXM6OkxBRXhjbHVkZUNyZWRlbnRpYWxzTWF0
Y2hlZFdpdGhDb25zZW50KQorICAgICAgICByZXR1cm4gX1dLV2ViQXV0aGVudGljYXRpb25QYW5l
bFVwZGF0ZUxBRXhjbHVkZUNyZWRlbnRpYWxzTWF0Y2hlZFdpdGhDb25zZW50OwogICAgIGlmIChz
dGF0dXMgPT0gV2ViQXV0aGVudGljYXRpb25TdGF0dXM6OkxBTm9DcmVkZW50aWFsKQogICAgICAg
ICByZXR1cm4gX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbFVwZGF0ZUxBTm9DcmVkZW50aWFsOwog
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRpb25GbGFncy5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRpb25GbGFn
cy5oCmluZGV4IGNiMDY1YTljZDAzMmM5ZTVhMmU3ZDliMjRmZjIyOTAxNGQ1ZTNhODAuLjBjMWRl
ZWE0MGUxZDczODExNTgxN2I0MDUxMDkzM2Q4M2EzMDJhZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0aW9uRmxhZ3Mu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRo
ZW50aWNhdGlvbkZsYWdzLmgKQEAgLTQ4LDYgKzQ4LDcgQEAgZW51bSBjbGFzcyBXZWJBdXRoZW50
aWNhdGlvblN0YXR1cyA6IHVpbnQ4X3QgewogICAgIFBpbkludmFsaWQsCiAgICAgTEFFcnJvciwK
ICAgICBMQUV4Y2x1ZGVDcmVkZW50aWFsc01hdGNoZWQsCisgICAgTEFFeGNsdWRlQ3JlZGVudGlh
bHNNYXRjaGVkV2l0aENvbnNlbnQsCiAgICAgTEFOb0NyZWRlbnRpYWwsCiB9OwogCmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODFmYTIzMTVjMjc5
NjBlZmJiYWUyYWFkYTQ1MWZhNDNmNzBhYWE4OS4uYTkzZjVjMjNjNDVjNWYzMDY4MjFjNzA2NWZi
YTRmZmYwODhmOTkzNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTEwLTE1ICBKb2huIFBhc2NvZSAgPGpfcGFz
Y29lQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXV0aG5dIE9idGFpbiBjb25zZW50IHRvIGNy
ZWF0ZSBuZXcgY3JlZGVudGlhbCB3aGVuIHBsYXRmb3JtIGF1dGhlbnRpY2F0b3IgaW4gZXhjbHVk
ZWRDcmVkZW50aWFscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE5ODEzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjQ4NDYzNT4KKworICAgICAg
ICBDdXJyZW50bHksIHdoZW5ldmVyIHRoZSBwbGF0Zm9ybSBhdXRoZW50aWNhdG9yIGlzIHdpdGhp
biBleGNsdWRlZENyZWRlbnRpYWxzIGR1cmluZyBtYWtlQ3JlZGVudGlhbCB3ZQorICAgICAgICBh
bHdheXMgcmV0dXJuIE5vdEFsbG93ZWRFcnJvciBhbmQgbWVyZWx5IGZsYXNoIGEgY29uc2VudCBz
Y3JlZW4uIFRoaXMgZG9lcyBub3QgbWF0Y2ggdGhlIHNwZWMgcGVyIFN0ZXAgMy4xCisgICAgICAg
IG9mIG1ha2VDcmVkZW50aWFsIChodHRwczovL3czYy5naXRodWIuaW8vd2ViYXV0aG4vI3NjdG4t
b3AtbWFrZS1jcmVkKS4gSW5zdGVhZCwgd2Ugc2hvdWxkIGFsd2F5cyBvYnRhaW4gY29uc2VudAor
ICAgICAgICBhbmQgcmV0dXJuIGEgZGlmZmVyZW50IGVycm9yIGRlcGVuZGluZyBvbiBjb25zZW50
IHdhcyBvYnRhaW5lZC4KKworICAgICAgICBUaGlzIGFkZHMgYSB0ZXN0IHRvIGNvbmZpcm0gYSBk
aWZmZXJlbnQgcGF0aCBpcyB0YWtlbiB3aGVuZXZlciBjb25zZW50IGlzIG9idGFpbmVkLgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tOgorICAg
ICAgICAoLVtUZXN0V2ViQXV0aGVudGljYXRpb25QYW5lbERlbGVnYXRlIHBhbmVsOnVwZGF0ZVdl
YkF1dGhlbnRpY2F0aW9uUGFuZWw6XSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToK
KwogMjAyMS0xMC0xNCAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBUZXN0V2ViS2l0QVBJLlByaXZhdGVDbGlja01lYXN1cmVtZW50LkZyYXVkUHJldmVudGlv
biBpcyBhIGNvbnN0YW50IHRpbWVvdXQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbSBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5t
bQppbmRleCBkZTAzNjg1ODExZDk4NDA1MWM5NmE1YmI3N2Q2MjlmNmFjYjI1N2JlLi4wN2M4ODk4
ZGRlNDU3YWYxMjRmZjQyMjI0OWYwYjgyMmNlYjNhMmNjIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0K
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50
aWNhdGlvblBhbmVsLm1tCkBAIC03MCw2ICs3MCw3IEBAIHN0YXRpYyBib29sIHdlYkF1dGhlbnRp
Y2F0aW9uUGFuZWxVcGRhdGVQSU5BdXRoQmxvY2tlZCA9IGZhbHNlOwogc3RhdGljIGJvb2wgd2Vi
QXV0aGVudGljYXRpb25QYW5lbFVwZGF0ZVBJTkludmFsaWQgPSBmYWxzZTsKIHN0YXRpYyBib29s
IHdlYkF1dGhlbnRpY2F0aW9uUGFuZWxVcGRhdGVMQUVycm9yID0gZmFsc2U7CiBzdGF0aWMgYm9v
bCB3ZWJBdXRoZW50aWNhdGlvblBhbmVsVXBkYXRlTEFFeGNsdWRlQ3JlZGVudGlhbHNNYXRjaGVk
ID0gZmFsc2U7CitzdGF0aWMgYm9vbCB3ZWJBdXRoZW50aWNhdGlvblBhbmVsVXBkYXRlTEFFeGNs
dWRlQ3JlZGVudGlhbHNNYXRjaGVkV2l0aENvbnNlbnQgPSBmYWxzZTsKIHN0YXRpYyBib29sIHdl
YkF1dGhlbnRpY2F0aW9uUGFuZWxVcGRhdGVMQU5vQ3JlZGVudGlhbCA9IGZhbHNlOwogc3RhdGlj
IGJvb2wgd2ViQXV0aGVudGljYXRpb25QYW5lbENhbmNlbEltbWVkaWF0ZWx5ID0gZmFsc2U7CiBz
dGF0aWMgX1dLTG9jYWxBdXRoZW50aWNhdG9yUG9saWN5IGxvY2FsQXV0aGVudGljYXRvclBvbGlj
eSA9IF9XS0xvY2FsQXV0aGVudGljYXRvclBvbGljeURpc2FsbG93OwpAQCAtMTIyLDYgKzEyMywx
MCBAQCBzdGF0aWMgYm9vbCBsYUNvbnRleHRSZXF1ZXN0ZWQgPSBmYWxzZTsKICAgICAgICAgd2Vi
QXV0aGVudGljYXRpb25QYW5lbFVwZGF0ZUxBRXhjbHVkZUNyZWRlbnRpYWxzTWF0Y2hlZCA9IHRy
dWU7CiAgICAgICAgIHJldHVybjsKICAgICB9CisgICAgaWYgKHVwZGF0ZSA9PSBfV0tXZWJBdXRo
ZW50aWNhdGlvblBhbmVsVXBkYXRlTEFFeGNsdWRlQ3JlZGVudGlhbHNNYXRjaGVkV2l0aENvbnNl
bnQpIHsKKyAgICAgICAgd2ViQXV0aGVudGljYXRpb25QYW5lbFVwZGF0ZUxBRXhjbHVkZUNyZWRl
bnRpYWxzTWF0Y2hlZFdpdGhDb25zZW50ID0gdHJ1ZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
ICAgICBpZiAodXBkYXRlID09IF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxVcGRhdGVMQU5vQ3Jl
ZGVudGlhbCkgewogICAgICAgICB3ZWJBdXRoZW50aWNhdGlvblBhbmVsVXBkYXRlTEFOb0NyZWRl
bnRpYWwgPSB0cnVlOwogICAgICAgICByZXR1cm47CkBAIC0xMzg2LDYgKzEzOTEsMjkgQEAgVEVT
VChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBMQUR1cGxpY2F0ZUNyZWRlbnRpYWwpCiAgICAgY2xl
YW5VcEtleWNoYWluKCIiKTsKIH0KIAorVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBMQUR1
cGxpY2F0ZUNyZWRlbnRpYWxXaXRoQ29uc2VudCkKK3sKKyAgICByZXNldCgpOworICAgIFJldGFp
blB0cjxOU1VSTD4gdGVzdFVSTCA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3Vy
Y2U6QCJ3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLWR1cGxpY2F0ZS1jcmVk
ZW50aWFsIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQ
SS5yZXNvdXJjZXMiXTsKKworICAgIGF1dG8gKmNvbmZpZ3VyYXRpb24gPSBbV0tXZWJWaWV3Q29u
ZmlndXJhdGlvbiBfdGVzdF9jb25maWd1cmF0aW9uV2l0aFRlc3RQbHVnSW5DbGFzc05hbWU6QCJX
ZWJQcm9jZXNzUGx1Z0luV2l0aEludGVybmFscyIgY29uZmlndXJlSlNDRm9yVGVzdGluZzpZRVNd
OworICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldEVuYWJsZWQ6WUVTIGZvckV4
cGVyaW1lbnRhbEZlYXR1cmU6d2ViQXV0aGVudGljYXRpb25FeHBlcmltZW50YWxGZWF0dXJlKCld
OworICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldEVuYWJsZWQ6Tk8gZm9yRXhw
ZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbk1vZGVybkV4cGVyaW1lbnRhbEZlYXR1
cmUoKV07CisKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxv
Y10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0IGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl0p
OworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFu
ZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpk
ZWxlZ2F0ZS5nZXQoKV07CisgICAgW3dlYlZpZXcgZm9jdXNdOworCisgICAgQVNTRVJUX1RSVUUo
YWRkS2V5VG9LZXljaGFpbih0ZXN0RVMyNTZQcml2YXRlS2V5QmFzZTY0LCAiIiwgdGVzdFVzZXJF
bnRpdHlCdW5kbGVCYXNlNjQpKTsKKworICAgIGxvY2FsQXV0aGVudGljYXRvclBvbGljeSA9IF9X
S0xvY2FsQXV0aGVudGljYXRvclBvbGljeUFsbG93OworCisgICAgW3dlYlZpZXcgbG9hZFJlcXVl
c3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp0ZXN0VVJMLmdldCgpXV07CisgICAgVXRp
bDo6cnVuKCZ3ZWJBdXRoZW50aWNhdGlvblBhbmVsVXBkYXRlTEFFeGNsdWRlQ3JlZGVudGlhbHNN
YXRjaGVkV2l0aENvbnNlbnQpOworICAgIGNsZWFuVXBLZXljaGFpbigiIik7Cit9CisKIFRFU1Qo
V2ViQXV0aGVudGljYXRpb25QYW5lbCwgTEFOb0NyZWRlbnRpYWwpCiB7CiAgICAgcmVzZXQoKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3Jl
ZGVudGlhbC1jcmVhdGUtZmFpbHVyZS1sb2NhbC1zaWxlbnQuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVy
ZS1sb2NhbC1zaWxlbnQuaHR0cHMuaHRtbAppbmRleCA3ZDNlN2VmNmE1ZDQyZTdiYTRlODRmYjA0
YWY2NWM0OGQ4Y2VjNmZiLi5lYmQyMzk0ZDEwZWU1YTRiMDI0Njc5ZjE3NDViNjliODllYzZlMmRh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNy
ZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUtbG9jYWwtc2lsZW50Lmh0dHBzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1m
YWlsdXJlLWxvY2FsLXNpbGVudC5odHRwcy5odG1sCkBAIC01MCw3ICs1MCw3IEBACiAgICAgICAg
IH07CiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuYWRkVGVzdEtleVRvS2V5Y2hhaW4ocHJpdmF0ZUtleUJhc2U2NCwgdGVzdFJwSWQsIHRlc3RV
c2VyRW50aXR5QnVuZGxlQmFzZTY0KTsKLSAgICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RzKHQs
ICJOb3RBbGxvd2VkRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMp
LCAiT3BlcmF0aW9uIHRpbWVkIG91dC4iKS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIHBy
b21pc2VSZWplY3RzKHQsICJJbnZhbGlkU3RhdGVFcnJvciIsIG5hdmlnYXRvci5jcmVkZW50aWFs
cy5jcmVhdGUob3B0aW9ucyksICJPcGVyYXRpb24gdGltZWQgb3V0LiIpLnRoZW4oKCkgPT4gewog
ICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuY2xlYW5VcEtleWNoYWluKHRlc3RScElkLCBjcmVkZW50aWFsSURCYXNlNjQpOwogICAg
ICAgICB9KTsKQEAgLTg0LDcgKzg0LDcgQEAKICAgICAgICAgfTsKICAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQogICAgICAgICAgICAgdGVzdFJ1bm5lci5hZGRUZXN0S2V5VG9LZXljaGFp
bihwcml2YXRlS2V5QmFzZTY0LCB0ZXN0UnBJZCwgdGVzdFVzZXJFbnRpdHlCdW5kbGVCYXNlNjQp
OwotICAgICAgICByZXR1cm4gcHJvbWlzZVJlamVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIsIG5h
dmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucyksICJPcGVyYXRpb24gdGltZWQgb3V0
LiIpLnRoZW4oKCkgPT4geworICAgICAgICByZXR1cm4gcHJvbWlzZVJlamVjdHModCwgIkludmFs
aWRTdGF0ZUVycm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25zKSwgIk9w
ZXJhdGlvbiB0aW1lZCBvdXQuIikudGhlbigoKSA9PiB7CiAgICAgICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5jbGVhblVwS2V5Y2hhaW4o
dGVzdFJwSWQsIGNyZWRlbnRpYWxJREJhc2U2NCk7CiAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0
ZS1mYWlsdXJlLWxvY2FsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRo
bi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUtbG9jYWwuaHR0cHMuaHRtbApp
bmRleCBmZDk0YWZlOTU1NjZjYjA0MmUzN2I5OWIxMjA5OTJmZGFjYWMxZTVjLi4yNzcyZTlmNWQ5
NjU4ZTUwNTQxYjkxYzM1MWMyM2VkMWVlNzg5NTFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUtbG9j
YWwuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMt
a2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUtbG9jYWwuaHR0cHMuaHRtbApAQCAtNDgsNyAr
NDgsNyBAQAogICAgICAgICB9OwogICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAg
ICAgICAgICB0ZXN0UnVubmVyLmFkZFRlc3RLZXlUb0tleWNoYWluKHByaXZhdGVLZXlCYXNlNjQs
IHRlc3RScElkLCB0ZXN0VXNlckVudGl0eUJ1bmRsZUJhc2U2NCk7Ci0gICAgICAgIHJldHVybiBw
cm9taXNlUmVqZWN0cyh0LCAiTm90QWxsb3dlZEVycm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRpYWxz
LmNyZWF0ZShvcHRpb25zKSwgIkF0IGxlYXN0IG9uZSBjcmVkZW50aWFsIG1hdGNoZXMgYW4gZW50
cnkgb2YgdGhlIGV4Y2x1ZGVDcmVkZW50aWFscyBsaXN0IGluIHRoZSBwbGF0Zm9ybSBhdHRhY2hl
ZCBhdXRoZW50aWNhdG9yLiIpLnRoZW4oKCkgPT4geworICAgICAgICByZXR1cm4gcHJvbWlzZVJl
amVjdHModCwgIkludmFsaWRTdGF0ZUVycm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0
ZShvcHRpb25zKSwgIkF0IGxlYXN0IG9uZSBjcmVkZW50aWFsIG1hdGNoZXMgYW4gZW50cnkgb2Yg
dGhlIGV4Y2x1ZGVDcmVkZW50aWFscyBsaXN0IGluIHRoZSBwbGF0Zm9ybSBhdHRhY2hlZCBhdXRo
ZW50aWNhdG9yLiIpLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuY2xlYW5VcEtleWNoYWluKHRlc3RScElk
LCBjcmVkZW50aWFsSURCYXNlNjQpOwogICAgICAgICB9KTsKQEAgLTgxLDcgKzgxLDcgQEAKICAg
ICAgICAgfTsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAgdGVz
dFJ1bm5lci5hZGRUZXN0S2V5VG9LZXljaGFpbihwcml2YXRlS2V5QmFzZTY0LCB0ZXN0UnBJZCwg
dGVzdFVzZXJFbnRpdHlCdW5kbGVCYXNlNjQpOwotICAgICAgICByZXR1cm4gcHJvbWlzZVJlamVj
dHModCwgIk5vdEFsbG93ZWRFcnJvciIsIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0
aW9ucyksICJBdCBsZWFzdCBvbmUgY3JlZGVudGlhbCBtYXRjaGVzIGFuIGVudHJ5IG9mIHRoZSBl
eGNsdWRlQ3JlZGVudGlhbHMgbGlzdCBpbiB0aGUgcGxhdGZvcm0gYXR0YWNoZWQgYXV0aGVudGlj
YXRvci4iKS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RzKHQsICJJ
bnZhbGlkU3RhdGVFcnJvciIsIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucyks
ICJBdCBsZWFzdCBvbmUgY3JlZGVudGlhbCBtYXRjaGVzIGFuIGVudHJ5IG9mIHRoZSBleGNsdWRl
Q3JlZGVudGlhbHMgbGlzdCBpbiB0aGUgcGxhdGZvcm0gYXR0YWNoZWQgYXV0aGVudGljYXRvci4i
KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmNsZWFuVXBLZXljaGFpbih0ZXN0UnBJZCwgY3JlZGVudGlh
bElEQmFzZTY0KTsKICAgICAgICAgfSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441781</attachid>
            <date>2021-10-19 13:24:01 -0700</date>
            <delta_ts>2021-10-19 13:32:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219813-20211019132359.patch</filename>
            <type>text/plain</type>
            <size>10648</size>
            <attacher name="pascoe@apple.com">pascoe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NDUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFjN2EzYmQzYTg4ZTFlOGRj
OGEwZDRmNjZkMGJiNDFlNDk3MmRlZDYuLjE4OGJmMjU4YWMwNzY5NzZhZGZmOTk1YWU5YjBmM2Qx
N2Y3MDcwNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjEtMTAtMTkgIEpvaG4gUGFz
Y29lICA8al9wYXNjb2VAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdXRobl0gT2J0YWluIGNv
bnNlbnQgdG8gY3JlYXRlIG5ldyBjcmVkZW50aWFsIHdoZW4gcGxhdGZvcm0gYXV0aGVudGljYXRv
ciBpbiBleGNsdWRlZENyZWRlbnRpYWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTk4MTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcyNDg0NjM1
PgorCisgICAgICAgIEN1cnJlbnRseSwgd2hlbmV2ZXIgdGhlIHBsYXRmb3JtIGF1dGhlbnRpY2F0
b3IgaXMgd2l0aGluIGV4Y2x1ZGVkQ3JlZGVudGlhbHMgZHVyaW5nIG1ha2VDcmVkZW50aWFsIHdl
CisgICAgICAgIGFsd2F5cyByZXR1cm4gTm90QWxsb3dlZEVycm9yIGFuZCBtZXJlbHkgZmxhc2gg
YSBjb25zZW50IHNjcmVlbi4gVGhpcyBkb2VzIG5vdCBtYXRjaCB0aGUgc3BlYyBwZXIgU3RlcCAz
LjEKKyAgICAgICAgb2YgbWFrZUNyZWRlbnRpYWwgKGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJh
dXRobi8jc2N0bi1vcC1tYWtlLWNyZWQpLiBJbnN0ZWFkLCB3ZSBzaG91bGQgYWx3YXlzIG9idGFp
biBjb25zZW50CisgICAgICAgIGFuZCByZXR1cm4gYSBkaWZmZXJlbnQgZXJyb3IgZGVwZW5kaW5n
IG9uIGNvbnNlbnQgd2FzIG9idGFpbmVkLgorCisgICAgICAgIEEgZml4bWUgdG8gYWRkIHRoaXMg
d2FzIGluYWR2ZXJ0ZW50bHkgcmVtb3ZlZCBpbiAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvYXR0
YWNobWVudC5jZ2k/aWQ9MzkzMTgwJmFjdGlvbj1wcmV0dHlwYXRjaAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGFwaSB0ZXN0IFRlc3RXZWJL
aXRBUEkuV2ViQXV0aGVudGljYXRpb25QYW5lbC5MQUR1cGxpY2F0ZUNyZWRlbnRpYWxXaXRoQ29u
c2VudCAKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRp
b25QYW5lbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9M
b2NhbEF1dGhlbnRpY2F0b3IubW06CisgICAgICAgIChXZWJLaXQ6OkxvY2FsQXV0aGVudGljYXRv
cjo6bWFrZUNyZWRlbnRpYWwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlv
bi9Db2NvYS9XZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50Lm1tOgorICAgICAgICAoV2ViS2l0
Ojp3a1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxVcGRhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdGlvbkZsYWdzLmg6CisKIDIwMjEtMTAtMTkg
IE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CiAKICAgICAgICAgVXBk
YXRlIHNlY2NvbXAgZmlsdGVycyB3aXRoIGxhdGVzdCBjaGFuZ2VzIGZyb20gZmxhdHBhawpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2Ev
TG9jYWxBdXRoZW50aWNhdG9yLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVu
dGljYXRpb24vQ29jb2EvTG9jYWxBdXRoZW50aWNhdG9yLm1tCmluZGV4IGFkYWE2NmVlM2M5ODk4
NmI2OWMzZWMyMjIzNmJhNTg0MDQ0NDdjNDMuLjUzMzQ2ZGQ1MTM3ODZmNWIxN2NmMzcxZGE2OTg3
YzJiNzEzOWY3NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhl
bnRpY2F0aW9uL0NvY29hL0xvY2FsQXV0aGVudGljYXRvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9Mb2NhbEF1dGhlbnRpY2F0b3IubW0K
QEAgLTIyNyw3ICsyMjcsMTggQEAgdm9pZCBMb2NhbEF1dGhlbnRpY2F0b3I6Om1ha2VDcmVkZW50
aWFsKCkKICAgICAgICAgICAgIEFTU0VSVChyYXdJZCk7CiAgICAgICAgICAgICByZXR1cm4gZXhj
bHVkZUNyZWRlbnRpYWxJZHMuY29udGFpbnMoYmFzZTY0RW5jb2RlVG9TdHJpbmcocmF3SWQtPmRh
dGEoKSwgcmF3SWQtPmJ5dGVMZW5ndGgoKSkpOwogICAgICAgICB9KSkgewotICAgICAgICAgICAg
cmVjZWl2ZUV4Y2VwdGlvbih7IE5vdEFsbG93ZWRFcnJvciwgIkF0IGxlYXN0IG9uZSBjcmVkZW50
aWFsIG1hdGNoZXMgYW4gZW50cnkgb2YgdGhlIGV4Y2x1ZGVDcmVkZW50aWFscyBsaXN0IGluIHRo
ZSBwbGF0Zm9ybSBhdHRhY2hlZCBhdXRoZW50aWNhdG9yLiJfcyB9LCBXZWJBdXRoZW50aWNhdGlv
blN0YXR1czo6TEFFeGNsdWRlQ3JlZGVudGlhbHNNYXRjaGVkKTsKKyAgICAgICAgICAgIC8vIE9i
dGFpbiBjb25zZW50IHBlciBTdGVwIDMuMQorICAgICAgICAgICAgYXV0byBjYWxsYmFjayA9IFt3
ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9XSAoTG9jYWxBdXRoZW50aWNhdG9yUG9saWN5IHBv
bGljeSkgeworICAgICAgICAgICAgICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CisgICAg
ICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwor
CisgICAgICAgICAgICAgICAgaWYgKHBvbGljeSA9PSBMb2NhbEF1dGhlbnRpY2F0b3JQb2xpY3k6
OkFsbG93KQorICAgICAgICAgICAgICAgICAgICB3ZWFrVGhpcy0+cmVjZWl2ZUV4Y2VwdGlvbih7
IEludmFsaWRTdGF0ZUVycm9yLCAiQXQgbGVhc3Qgb25lIGNyZWRlbnRpYWwgbWF0Y2hlcyBhbiBl
bnRyeSBvZiB0aGUgZXhjbHVkZUNyZWRlbnRpYWxzIGxpc3QgaW4gdGhlIHBsYXRmb3JtIGF0dGFj
aGVkIGF1dGhlbnRpY2F0b3IuIl9zIH0sIFdlYkF1dGhlbnRpY2F0aW9uU3RhdHVzOjpMQUV4Y2x1
ZGVDcmVkZW50aWFsc01hdGNoZWQpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICAgICAgd2Vha1RoaXMtPnJlY2VpdmVFeGNlcHRpb24oeyBOb3RBbGxvd2VkRXJyb3IsICJU
aGlzIHJlcXVlc3QgaGFzIGJlZW4gY2FuY2VsbGVkIGJ5IHRoZSB1c2VyLiJfcyB9KTsKKyAgICAg
ICAgICAgIH07CisgICAgICAgICAgICBvYnNlcnZlcigpLT5kZWNpZGVQb2xpY3lGb3JMb2NhbEF1
dGhlbnRpY2F0b3IoV1RGTW92ZShjYWxsYmFjaykpOwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDVhZjBkMDkxMmU4MTg4NzMzMzUzZTc4YmYxODM1MDEwNDAzZmI3YzcuLmJlYmE1
NTQ1YTZiZmY5NTViZWU1MjBjODc5NTIzOWMyNjBmMDUyMzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMS0xMC0x
OSAgSm9obiBQYXNjb2UgIDxqX3Bhc2NvZUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1dGhu
XSBPYnRhaW4gY29uc2VudCB0byBjcmVhdGUgbmV3IGNyZWRlbnRpYWwgd2hlbiBwbGF0Zm9ybSBh
dXRoZW50aWNhdG9yIGluIGV4Y2x1ZGVkQ3JlZGVudGlhbHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTgxMworICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNzI0ODQ2MzU+CisKKyAgICAgICAgQ3VycmVudGx5LCB3aGVuZXZlciB0aGUgcGxhdGZvcm0g
YXV0aGVudGljYXRvciBpcyB3aXRoaW4gZXhjbHVkZWRDcmVkZW50aWFscyBkdXJpbmcgbWFrZUNy
ZWRlbnRpYWwgd2UKKyAgICAgICAgYWx3YXlzIHJldHVybiBOb3RBbGxvd2VkRXJyb3IgYW5kIG1l
cmVseSBmbGFzaCBhIGNvbnNlbnQgc2NyZWVuLiBUaGlzIGRvZXMgbm90IG1hdGNoIHRoZSBzcGVj
IHBlciBTdGVwIDMuMQorICAgICAgICBvZiBtYWtlQ3JlZGVudGlhbCAoaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL3dlYmF1dGhuLyNzY3RuLW9wLW1ha2UtY3JlZCkuIEluc3RlYWQsIHdlIHNob3VsZCBh
bHdheXMgb2J0YWluIGNvbnNlbnQKKyAgICAgICAgYW5kIHJldHVybiBhIGRpZmZlcmVudCBlcnJv
ciBkZXBlbmRpbmcgb24gY29uc2VudCB3YXMgb2J0YWluZWQuCisKKyAgICAgICAgVGhpcyBhZGRz
IGEgdGVzdCB0byBjb25maXJtIGEgZGlmZmVyZW50IHBhdGggaXMgdGFrZW4gd2hlbmV2ZXIgY29u
c2VudCBpcyBvYnRhaW5lZC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVu
dGljYXRpb25QYW5lbC5tbToKKyAgICAgICAgKC1bVGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxE
ZWxlZ2F0ZSBwYW5lbDp1cGRhdGVXZWJBdXRoZW50aWNhdGlvblBhbmVsOl0pOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMjEtMTAtMTggIENvbW1pdCBRdWV1ZSAgPGNvbW1p
dC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjg0
NDEzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9f
V0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCmluZGV4IGRlMDM2ODU4MTFk
OTg0MDUxYzk2YTViYjc3ZDYyOWY2YWNiMjU3YmUuLjY1NGJhYjIzMTM0M2NjOGQ1MTkxZTUxNzhl
ZTIxNmRkOWZlY2RmNTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KQEAg
LTEzNjYsNyArMTM2Niw3IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgTEFFcnJvcikK
ICAgICBVdGlsOjpydW4oJndlYkF1dGhlbnRpY2F0aW9uUGFuZWxVcGRhdGVMQUVycm9yKTsKIH0K
IAotVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBMQUR1cGxpY2F0ZUNyZWRlbnRpYWwpCitU
RVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIExBRHVwbGljYXRlQ3JlZGVudGlhbFdpdGhvdXRD
b25zZW50KQogewogICAgIHJlc2V0KCk7CiAgICAgUmV0YWluUHRyPE5TVVJMPiB0ZXN0VVJMID0g
W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAIndlYi1hdXRoZW50aWNhdGlv
bi1tYWtlLWNyZWRlbnRpYWwtbGEtZHVwbGljYXRlLWNyZWRlbnRpYWwiIHdpdGhFeHRlbnNpb246
QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOwpAQCAtMTM4
Niw2ICsxMzg2LDI5IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgTEFEdXBsaWNhdGVD
cmVkZW50aWFsKQogICAgIGNsZWFuVXBLZXljaGFpbigiIik7CiB9CiAKK1RFU1QoV2ViQXV0aGVu
dGljYXRpb25QYW5lbCwgTEFEdXBsaWNhdGVDcmVkZW50aWFsV2l0aENvbnNlbnQpCit7CisgICAg
cmVzZXQoKTsKKyAgICBSZXRhaW5QdHI8TlNVUkw+IHRlc3RVUkwgPSBbW05TQnVuZGxlIG1haW5C
dW5kbGVdIFVSTEZvclJlc291cmNlOkAid2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlh
bC1sYS1kdXBsaWNhdGUtY3JlZGVudGlhbCIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVj
dG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl07CisKKyAgICBhdXRvICpjb25maWd1cmF0
aW9uID0gW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Rlc3RfY29uZmlndXJhdGlvbldpdGhUZXN0
UGx1Z0luQ2xhc3NOYW1lOkAiV2ViUHJvY2Vzc1BsdWdJbldpdGhJbnRlcm5hbHMiIGNvbmZpZ3Vy
ZUpTQ0ZvclRlc3Rpbmc6WUVTXTsKKyAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdIF9z
ZXRFbmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRpY2F0aW9uRXhw
ZXJpbWVudGFsRmVhdHVyZSgpXTsKKyAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdIF9z
ZXRFbmFibGVkOk5PIGZvckV4cGVyaW1lbnRhbEZlYXR1cmU6d2ViQXV0aGVudGljYXRpb25Nb2Rl
cm5FeHBlcmltZW50YWxGZWF0dXJlKCldOworCisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhb
W1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNaZXJvUmVjdCBjb25maWd1cmF0
aW9uOmNvbmZpZ3VyYXRpb25dKTsKKyAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW1Rlc3RX
ZWJBdXRoZW50aWNhdGlvblBhbmVsVUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJW
aWV3IHNldFVJRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworICAgIFt3ZWJWaWV3IGZvY3VzXTsK
KworICAgIEFTU0VSVF9UUlVFKGFkZEtleVRvS2V5Y2hhaW4odGVzdEVTMjU2UHJpdmF0ZUtleUJh
c2U2NCwgIiIsIHRlc3RVc2VyRW50aXR5QnVuZGxlQmFzZTY0KSk7CisKKyAgICBsb2NhbEF1dGhl
bnRpY2F0b3JQb2xpY3kgPSBfV0tMb2NhbEF1dGhlbnRpY2F0b3JQb2xpY3lBbGxvdzsKKworICAg
IFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dGVzdFVS
TC5nZXQoKV1dOworICAgIFV0aWw6OnJ1bigmd2ViQXV0aGVudGljYXRpb25QYW5lbFVwZGF0ZUxB
RXhjbHVkZUNyZWRlbnRpYWxzTWF0Y2hlZCk7CisgICAgY2xlYW5VcEtleWNoYWluKCIiKTsKK30K
KwogVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBMQU5vQ3JlZGVudGlhbCkKIHsKICAgICBy
ZXNldCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGlj
LWtleS1jcmVkZW50aWFsLWNyZWF0ZS1mYWlsdXJlLWxvY2FsLXNpbGVudC5odHRwcy5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0
ZS1mYWlsdXJlLWxvY2FsLXNpbGVudC5odHRwcy5odG1sCmluZGV4IDdkM2U3ZWY2YTVkNDJlN2Jh
NGU4NGZiMDRhZjY1YzQ4ZDhjZWM2ZmIuLjFiMzIyYWJlZTE3NDU2MzdmYmE2MDUyNDgxYzEyNzE0
ODk1OWNkNGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1Ymxp
Yy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVyZS1sb2NhbC1zaWxlbnQuaHR0cHMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwt
Y3JlYXRlLWZhaWx1cmUtbG9jYWwtc2lsZW50Lmh0dHBzLmh0bWwKQEAgLTUwLDcgKzUwLDcgQEAK
ICAgICAgICAgfTsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAg
dGVzdFJ1bm5lci5hZGRUZXN0S2V5VG9LZXljaGFpbihwcml2YXRlS2V5QmFzZTY0LCB0ZXN0UnBJ
ZCwgdGVzdFVzZXJFbnRpdHlCdW5kbGVCYXNlNjQpOwotICAgICAgICByZXR1cm4gcHJvbWlzZVJl
amVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIsIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUo
b3B0aW9ucyksICJPcGVyYXRpb24gdGltZWQgb3V0LiIpLnRoZW4oKCkgPT4geworICAgICAgICBy
ZXR1cm4gcHJvbWlzZVJlamVjdHModCwgIkludmFsaWRTdGF0ZUVycm9yIiwgbmF2aWdhdG9yLmNy
ZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25zKSwgIkF0IGxlYXN0IG9uZSBjcmVkZW50aWFsIG1hdGNo
ZXMgYW4gZW50cnkgb2YgdGhlIGV4Y2x1ZGVDcmVkZW50aWFscyBsaXN0IGluIHRoZSBwbGF0Zm9y
bSBhdHRhY2hlZCBhdXRoZW50aWNhdG9yLiIpLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuY2xlYW5VcEtl
eWNoYWluKHRlc3RScElkLCBjcmVkZW50aWFsSURCYXNlNjQpOwogICAgICAgICB9KTsKQEAgLTg0
LDcgKzg0LDcgQEAKICAgICAgICAgfTsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQog
ICAgICAgICAgICAgdGVzdFJ1bm5lci5hZGRUZXN0S2V5VG9LZXljaGFpbihwcml2YXRlS2V5QmFz
ZTY0LCB0ZXN0UnBJZCwgdGVzdFVzZXJFbnRpdHlCdW5kbGVCYXNlNjQpOwotICAgICAgICByZXR1
cm4gcHJvbWlzZVJlamVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIsIG5hdmlnYXRvci5jcmVkZW50
aWFscy5jcmVhdGUob3B0aW9ucyksICJPcGVyYXRpb24gdGltZWQgb3V0LiIpLnRoZW4oKCkgPT4g
eworICAgICAgICByZXR1cm4gcHJvbWlzZVJlamVjdHModCwgIkludmFsaWRTdGF0ZUVycm9yIiwg
bmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25zKSwgIkF0IGxlYXN0IG9uZSBjcmVk
ZW50aWFsIG1hdGNoZXMgYW4gZW50cnkgb2YgdGhlIGV4Y2x1ZGVDcmVkZW50aWFscyBsaXN0IGlu
IHRoZSBwbGF0Zm9ybSBhdHRhY2hlZCBhdXRoZW50aWNhdG9yLjp3IikudGhlbigoKSA9PiB7CiAg
ICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5jbGVhblVwS2V5Y2hhaW4odGVzdFJwSWQsIGNyZWRlbnRpYWxJREJhc2U2NCk7CiAgICAg
ICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGlj
LWtleS1jcmVkZW50aWFsLWNyZWF0ZS1mYWlsdXJlLWxvY2FsLmh0dHBzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1
cmUtbG9jYWwuaHR0cHMuaHRtbAppbmRleCBmZDk0YWZlOTU1NjZjYjA0MmUzN2I5OWIxMjA5OTJm
ZGFjYWMxZTVjLi4yNzcyZTlmNWQ5NjU4ZTUwNTQxYjkxYzM1MWMyM2VkMWVlNzg5NTFkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRp
YWwtY3JlYXRlLWZhaWx1cmUtbG9jYWwuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUtbG9jYWwu
aHR0cHMuaHRtbApAQCAtNDgsNyArNDgsNyBAQAogICAgICAgICB9OwogICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICB0ZXN0UnVubmVyLmFkZFRlc3RLZXlUb0tleWNo
YWluKHByaXZhdGVLZXlCYXNlNjQsIHRlc3RScElkLCB0ZXN0VXNlckVudGl0eUJ1bmRsZUJhc2U2
NCk7Ci0gICAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0cyh0LCAiTm90QWxsb3dlZEVycm9yIiwg
bmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25zKSwgIkF0IGxlYXN0IG9uZSBjcmVk
ZW50aWFsIG1hdGNoZXMgYW4gZW50cnkgb2YgdGhlIGV4Y2x1ZGVDcmVkZW50aWFscyBsaXN0IGlu
IHRoZSBwbGF0Zm9ybSBhdHRhY2hlZCBhdXRoZW50aWNhdG9yLiIpLnRoZW4oKCkgPT4geworICAg
ICAgICByZXR1cm4gcHJvbWlzZVJlamVjdHModCwgIkludmFsaWRTdGF0ZUVycm9yIiwgbmF2aWdh
dG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25zKSwgIkF0IGxlYXN0IG9uZSBjcmVkZW50aWFs
IG1hdGNoZXMgYW4gZW50cnkgb2YgdGhlIGV4Y2x1ZGVDcmVkZW50aWFscyBsaXN0IGluIHRoZSBw
bGF0Zm9ybSBhdHRhY2hlZCBhdXRoZW50aWNhdG9yLiIpLnRoZW4oKCkgPT4gewogICAgICAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuY2xl
YW5VcEtleWNoYWluKHRlc3RScElkLCBjcmVkZW50aWFsSURCYXNlNjQpOwogICAgICAgICB9KTsK
QEAgLTgxLDcgKzgxLDcgQEAKICAgICAgICAgfTsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQogICAgICAgICAgICAgdGVzdFJ1bm5lci5hZGRUZXN0S2V5VG9LZXljaGFpbihwcml2YXRl
S2V5QmFzZTY0LCB0ZXN0UnBJZCwgdGVzdFVzZXJFbnRpdHlCdW5kbGVCYXNlNjQpOwotICAgICAg
ICByZXR1cm4gcHJvbWlzZVJlamVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIsIG5hdmlnYXRvci5j
cmVkZW50aWFscy5jcmVhdGUob3B0aW9ucyksICJBdCBsZWFzdCBvbmUgY3JlZGVudGlhbCBtYXRj
aGVzIGFuIGVudHJ5IG9mIHRoZSBleGNsdWRlQ3JlZGVudGlhbHMgbGlzdCBpbiB0aGUgcGxhdGZv
cm0gYXR0YWNoZWQgYXV0aGVudGljYXRvci4iKS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJu
IHByb21pc2VSZWplY3RzKHQsICJJbnZhbGlkU3RhdGVFcnJvciIsIG5hdmlnYXRvci5jcmVkZW50
aWFscy5jcmVhdGUob3B0aW9ucyksICJBdCBsZWFzdCBvbmUgY3JlZGVudGlhbCBtYXRjaGVzIGFu
IGVudHJ5IG9mIHRoZSBleGNsdWRlQ3JlZGVudGlhbHMgbGlzdCBpbiB0aGUgcGxhdGZvcm0gYXR0
YWNoZWQgYXV0aGVudGljYXRvci4iKS50aGVuKCgpID0+IHsKICAgICAgICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmNsZWFuVXBLZXljaGFp
bih0ZXN0UnBJZCwgY3JlZGVudGlhbElEQmFzZTY0KTsKICAgICAgICAgfSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441790</attachid>
            <date>2021-10-19 13:59:02 -0700</date>
            <delta_ts>2021-10-19 14:19:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219813-20211019135900.patch</filename>
            <type>text/plain</type>
            <size>10926</size>
            <attacher name="pascoe@apple.com">pascoe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NDUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFjN2EzYmQzYTg4ZTFlOGRj
OGEwZDRmNjZkMGJiNDFlNDk3MmRlZDYuLjVmZjdkNTRmODlmMTFjNjE4MmI3MzkxYjFiN2YwMzc1
YzIyMTFkNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjEtMTAtMTkgIEpvaG4gUGFz
Y29lICA8al9wYXNjb2VAYXBwbGUuY29tPgorICAgICAgICBbV2ViQXV0aG5dIE9idGFpbiBjb25z
ZW50IHRvIGNyZWF0ZSBuZXcgY3JlZGVudGlhbCB3aGVuIHBsYXRmb3JtIGF1dGhlbnRpY2F0b3Ig
aW4gZXhjbHVkZWRDcmVkZW50aWFscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE5ODEzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjQ4NDYzNT4K
KworICAgICAgICBDdXJyZW50bHksIHdoZW5ldmVyIHRoZSBwbGF0Zm9ybSBhdXRoZW50aWNhdG9y
IGlzIHdpdGhpbiBleGNsdWRlZENyZWRlbnRpYWxzIGR1cmluZyBtYWtlQ3JlZGVudGlhbCB3ZQor
ICAgICAgICBhbHdheXMgcmV0dXJuIE5vdEFsbG93ZWRFcnJvciBhbmQgbWVyZWx5IGZsYXNoIGEg
Y29uc2VudCBzY3JlZW4uIFRoaXMgZG9lcyBub3QgbWF0Y2ggdGhlIHNwZWMgcGVyIFN0ZXAgMy4x
CisgICAgICAgIG9mIG1ha2VDcmVkZW50aWFsIChodHRwczovL3czYy5naXRodWIuaW8vd2ViYXV0
aG4vI3NjdG4tb3AtbWFrZS1jcmVkKS4gSW5zdGVhZCwgd2Ugc2hvdWxkIGFsd2F5cyBvYnRhaW4g
Y29uc2VudAorICAgICAgICBhbmQgcmV0dXJuIGEgZGlmZmVyZW50IGVycm9yIGRlcGVuZGluZyBv
biBjb25zZW50IHdhcyBvYnRhaW5lZC4KKworICAgICAgICBBIGZpeG1lIHRvIGFkZCB0aGlzIHdh
cyBpbmFkdmVydGVudGx5IHJlbW92ZWQgaW4gIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL2F0dGFj
aG1lbnQuY2dpP2lkPTM5MzE4MCZhY3Rpb249cHJldHR5cGF0Y2gKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBhcGkgdGVzdCBUZXN0V2ViS2l0
QVBJLldlYkF1dGhlbnRpY2F0aW9uUGFuZWwuTEFEdXBsaWNhdGVDcmVkZW50aWFsV2l0aENvbnNl
bnQKKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9Mb2NhbEF1
dGhlbnRpY2F0b3IubW06CisgICAgICAgIChXZWJLaXQ6OkxvY2FsQXV0aGVudGljYXRvcjo6bWFr
ZUNyZWRlbnRpYWwpOgorCiAyMDIxLTEwLTE5ICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnph
cm9AZ25vbWUub3JnPgogCiAgICAgICAgIFVwZGF0ZSBzZWNjb21wIGZpbHRlcnMgd2l0aCBsYXRl
c3QgY2hhbmdlcyBmcm9tIGZsYXRwYWsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0xvY2FsQXV0aGVudGljYXRvci5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0xvY2FsQXV0aGVudGlj
YXRvci5tbQppbmRleCBhZGFhNjZlZTNjOTg5ODZiNjljM2VjMjIyMzZiYTU4NDA0NDQ3YzQzLi41
MzM0NmRkNTEzNzg2ZjViMTdjZjM3MWRhNjk4N2MyYjcxMzlmNzY5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9Mb2NhbEF1dGhlbnRp
Y2F0b3IubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24v
Q29jb2EvTG9jYWxBdXRoZW50aWNhdG9yLm1tCkBAIC0yMjcsNyArMjI3LDE4IEBAIHZvaWQgTG9j
YWxBdXRoZW50aWNhdG9yOjptYWtlQ3JlZGVudGlhbCgpCiAgICAgICAgICAgICBBU1NFUlQocmF3
SWQpOwogICAgICAgICAgICAgcmV0dXJuIGV4Y2x1ZGVDcmVkZW50aWFsSWRzLmNvbnRhaW5zKGJh
c2U2NEVuY29kZVRvU3RyaW5nKHJhd0lkLT5kYXRhKCksIHJhd0lkLT5ieXRlTGVuZ3RoKCkpKTsK
ICAgICAgICAgfSkpIHsKLSAgICAgICAgICAgIHJlY2VpdmVFeGNlcHRpb24oeyBOb3RBbGxvd2Vk
RXJyb3IsICJBdCBsZWFzdCBvbmUgY3JlZGVudGlhbCBtYXRjaGVzIGFuIGVudHJ5IG9mIHRoZSBl
eGNsdWRlQ3JlZGVudGlhbHMgbGlzdCBpbiB0aGUgcGxhdGZvcm0gYXR0YWNoZWQgYXV0aGVudGlj
YXRvci4iX3MgfSwgV2ViQXV0aGVudGljYXRpb25TdGF0dXM6OkxBRXhjbHVkZUNyZWRlbnRpYWxz
TWF0Y2hlZCk7CisgICAgICAgICAgICAvLyBPYnRhaW4gY29uc2VudCBwZXIgU3RlcCAzLjEKKyAg
ICAgICAgICAgIGF1dG8gY2FsbGJhY2sgPSBbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfV0g
KExvY2FsQXV0aGVudGljYXRvclBvbGljeSBwb2xpY3kpIHsKKyAgICAgICAgICAgICAgICBBU1NF
UlQoUnVuTG9vcDo6aXNNYWluKCkpOworICAgICAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCisg
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgICAgIGlmIChwb2xpY3kg
PT0gTG9jYWxBdXRoZW50aWNhdG9yUG9saWN5OjpBbGxvdykKKyAgICAgICAgICAgICAgICAgICAg
d2Vha1RoaXMtPnJlY2VpdmVFeGNlcHRpb24oeyBJbnZhbGlkU3RhdGVFcnJvciwgIkF0IGxlYXN0
IG9uZSBjcmVkZW50aWFsIG1hdGNoZXMgYW4gZW50cnkgb2YgdGhlIGV4Y2x1ZGVDcmVkZW50aWFs
cyBsaXN0IGluIHRoZSBwbGF0Zm9ybSBhdHRhY2hlZCBhdXRoZW50aWNhdG9yLiJfcyB9LCBXZWJB
dXRoZW50aWNhdGlvblN0YXR1czo6TEFFeGNsdWRlQ3JlZGVudGlhbHNNYXRjaGVkKTsKKyAgICAg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHdlYWtUaGlzLT5yZWNlaXZlRXhj
ZXB0aW9uKHsgTm90QWxsb3dlZEVycm9yLCAiVGhpcyByZXF1ZXN0IGhhcyBiZWVuIGNhbmNlbGxl
ZCBieSB0aGUgdXNlci4iX3MgfSk7CisgICAgICAgICAgICB9OworICAgICAgICAgICAgb2JzZXJ2
ZXIoKS0+ZGVjaWRlUG9saWN5Rm9yTG9jYWxBdXRoZW50aWNhdG9yKFdURk1vdmUoY2FsbGJhY2sp
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1YWYwZDA5MTJlODE4ODczMzM1
M2U3OGJmMTgzNTAxMDQwM2ZiN2M3Li42ODA0MzYwNjJhMDNkYTk4OTExNzMyMmI3ZjExMmI4ODAy
YTFjNDFiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMTAtMTkgIEpvaG4gUGFzY29lICA8al9wYXNjb2VAYXBw
bGUuY29tPgorICAgICAgICBbV2ViQXV0aG5dIE9idGFpbiBjb25zZW50IHRvIGNyZWF0ZSBuZXcg
Y3JlZGVudGlhbCB3aGVuIHBsYXRmb3JtIGF1dGhlbnRpY2F0b3IgaW4gZXhjbHVkZWRDcmVkZW50
aWFscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5
ODEzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjQ4NDYzNT4KKworICAgICAgICBDdXJyZW50
bHksIHdoZW5ldmVyIHRoZSBwbGF0Zm9ybSBhdXRoZW50aWNhdG9yIGlzIHdpdGhpbiBleGNsdWRl
ZENyZWRlbnRpYWxzIGR1cmluZyBtYWtlQ3JlZGVudGlhbCB3ZQorICAgICAgICBhbHdheXMgcmV0
dXJuIE5vdEFsbG93ZWRFcnJvciBhbmQgbWVyZWx5IGZsYXNoIGEgY29uc2VudCBzY3JlZW4uIFRo
aXMgZG9lcyBub3QgbWF0Y2ggdGhlIHNwZWMgcGVyIFN0ZXAgMy4xCisgICAgICAgIG9mIG1ha2VD
cmVkZW50aWFsIChodHRwczovL3czYy5naXRodWIuaW8vd2ViYXV0aG4vI3NjdG4tb3AtbWFrZS1j
cmVkKS4gSW5zdGVhZCwgd2Ugc2hvdWxkIGFsd2F5cyBvYnRhaW4gY29uc2VudAorICAgICAgICBh
bmQgcmV0dXJuIGEgZGlmZmVyZW50IGVycm9yIGRlcGVuZGluZyBvbiBjb25zZW50IHdhcyBvYnRh
aW5lZC4KKworICAgICAgICBUaGlzIGFkZHMgYSB0ZXN0IHRvIGNvbmZpcm0gYSBkaWZmZXJlbnQg
cGF0aCBpcyB0YWtlbiB3aGVuZXZlciBjb25zZW50IGlzIG9idGFpbmVkLgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tOgorICAgICAgICAoVGVz
dFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMjEtMTAtMTggIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1x
dWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjg0NDEz
LgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tX
ZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCmluZGV4IGRlMDM2ODU4MTFkOTg0
MDUxYzk2YTViYjc3ZDYyOWY2YWNiMjU3YmUuLjI0YWU2MzllNGJmYzVkMGY0NmFhMDNjMTliMGRk
OGQ1ZjRiY2M3MjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KQEAgLTEz
ODEsNiArMTM4MSwyOSBAQCBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIExBRHVwbGljYXRl
Q3JlZGVudGlhbCkKICAgICBbd2ViVmlldyBmb2N1c107CiAKICAgICBBU1NFUlRfVFJVRShhZGRL
ZXlUb0tleWNoYWluKHRlc3RFUzI1NlByaXZhdGVLZXlCYXNlNjQsICIiLCB0ZXN0VXNlckVudGl0
eUJ1bmRsZUJhc2U2NCkpOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3Qg
cmVxdWVzdFdpdGhVUkw6dGVzdFVSTC5nZXQoKV1dOworICAgIFV0aWw6OnJ1bigmd2ViQXV0aGVu
dGljYXRpb25QYW5lbEZhaWxlZCk7CisgICAgY2xlYW5VcEtleWNoYWluKCIiKTsKK30KKworVEVT
VChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBMQUR1cGxpY2F0ZUNyZWRlbnRpYWxXaXRoQ29uc2Vu
dCkKK3sKKyAgICByZXNldCgpOworICAgIFJldGFpblB0cjxOU1VSTD4gdGVzdFVSTCA9IFtbTlNC
dW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJ3ZWItYXV0aGVudGljYXRpb24tbWFr
ZS1jcmVkZW50aWFsLWxhLWR1cGxpY2F0ZS1jcmVkZW50aWFsIiB3aXRoRXh0ZW5zaW9uOkAiaHRt
bCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXTsKKworICAgIGF1dG8g
KmNvbmZpZ3VyYXRpb24gPSBbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfdGVzdF9jb25maWd1cmF0
aW9uV2l0aFRlc3RQbHVnSW5DbGFzc05hbWU6QCJXZWJQcm9jZXNzUGx1Z0luV2l0aEludGVybmFs
cyIgY29uZmlndXJlSlNDRm9yVGVzdGluZzpZRVNdOworICAgIFtbY29uZmlndXJhdGlvbiBwcmVm
ZXJlbmNlc10gX3NldEVuYWJsZWQ6WUVTIGZvckV4cGVyaW1lbnRhbEZlYXR1cmU6d2ViQXV0aGVu
dGljYXRpb25FeHBlcmltZW50YWxGZWF0dXJlKCldOworICAgIFtbY29uZmlndXJhdGlvbiBwcmVm
ZXJlbmNlc10gX3NldEVuYWJsZWQ6Tk8gZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50
aWNhdGlvbk1vZGVybkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CisKKyAgICBhdXRvIHdlYlZpZXcg
PSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0
IGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl0pOworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9w
dE5TKFtbVGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7
CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisgICAgW3dlYlZp
ZXcgZm9jdXNdOworCisgICAgQVNTRVJUX1RSVUUoYWRkS2V5VG9LZXljaGFpbih0ZXN0RVMyNTZQ
cml2YXRlS2V5QmFzZTY0LCAiIiwgdGVzdFVzZXJFbnRpdHlCdW5kbGVCYXNlNjQpKTsKKworICAg
IGxvY2FsQXV0aGVudGljYXRvclBvbGljeSA9IF9XS0xvY2FsQXV0aGVudGljYXRvclBvbGljeUFs
bG93OworCiAgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0
aFVSTDp0ZXN0VVJMLmdldCgpXV07CiAgICAgVXRpbDo6cnVuKCZ3ZWJBdXRoZW50aWNhdGlvblBh
bmVsVXBkYXRlTEFFeGNsdWRlQ3JlZGVudGlhbHNNYXRjaGVkKTsKICAgICBjbGVhblVwS2V5Y2hh
aW4oIiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDY3MmIwNGY2MzNlZDdkYjk4NmRjZjg3MGZkOGYyOTg1MmUzNjE3NDcu
LmVhODQxYWE5M2YzMTY5NTQ1ZTBmZjAyNzQ4NjVjMWQ3MTgwZjA5NjUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAyMS0xMC0xOSAgSm9obiBQYXNjb2UgIDxqX3Bhc2NvZUBhcHBsZS5jb20+CisK
KyAgICAgICAgV2ViQXV0aG5dIE9idGFpbiBjb25zZW50IHRvIGNyZWF0ZSBuZXcgY3JlZGVudGlh
bCB3aGVuIHBsYXRmb3JtIGF1dGhlbnRpY2F0b3IgaW4gZXhjbHVkZWRDcmVkZW50aWFscworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5ODEzCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS83MjQ4NDYzNT4KKworICAgICAgICBNb2RpZnkgbGF5b3V0IHRl
c3RzIHRvIHJlZmxlY3QgZGlmZmVyZW50IGV4Y2VwdGlvbiByZXR1cm5lZCB3aGVuIGNvbnNlbnQg
aXMgcHJvdmlkZWQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGh0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFp
bHVyZS1sb2NhbC1zaWxlbnQuaHR0cHMuaHRtbDoKKyAgICAgICAgKiBodHRwL3dwdC93ZWJhdXRo
bi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUtbG9jYWwuaHR0cHMuaHRtbDoK
KwogMjAyMS0xMC0xOSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFVu
c2tpcCBwYXNzaW5nIGZsZXgtYmFzaXM6IGNvbnRlbnQgKyBhc3BlY3QgcmF0aW8gV1BUIHRlc3Rz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNy
ZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUtbG9jYWwtc2lsZW50Lmh0dHBzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1
cmUtbG9jYWwtc2lsZW50Lmh0dHBzLmh0bWwKaW5kZXggN2QzZTdlZjZhNWQ0MmU3YmE0ZTg0ZmIw
NGFmNjVjNDhkOGNlYzZmYi4uMWIzMjJhYmVlMTc0NTYzN2ZiYTYwNTI0ODFjMTI3MTQ4OTU5Y2Q0
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1j
cmVkZW50aWFsLWNyZWF0ZS1mYWlsdXJlLWxvY2FsLXNpbGVudC5odHRwcy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUt
ZmFpbHVyZS1sb2NhbC1zaWxlbnQuaHR0cHMuaHRtbApAQCAtNTAsNyArNTAsNyBAQAogICAgICAg
ICB9OwogICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICB0ZXN0UnVu
bmVyLmFkZFRlc3RLZXlUb0tleWNoYWluKHByaXZhdGVLZXlCYXNlNjQsIHRlc3RScElkLCB0ZXN0
VXNlckVudGl0eUJ1bmRsZUJhc2U2NCk7Ci0gICAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0cyh0
LCAiTm90QWxsb3dlZEVycm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25z
KSwgIk9wZXJhdGlvbiB0aW1lZCBvdXQuIikudGhlbigoKSA9PiB7CisgICAgICAgIHJldHVybiBw
cm9taXNlUmVqZWN0cyh0LCAiSW52YWxpZFN0YXRlRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVudGlh
bHMuY3JlYXRlKG9wdGlvbnMpLCAiQXQgbGVhc3Qgb25lIGNyZWRlbnRpYWwgbWF0Y2hlcyBhbiBl
bnRyeSBvZiB0aGUgZXhjbHVkZUNyZWRlbnRpYWxzIGxpc3QgaW4gdGhlIHBsYXRmb3JtIGF0dGFj
aGVkIGF1dGhlbnRpY2F0b3IuIikudGhlbigoKSA9PiB7CiAgICAgICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5jbGVhblVwS2V5Y2hhaW4o
dGVzdFJwSWQsIGNyZWRlbnRpYWxJREJhc2U2NCk7CiAgICAgICAgIH0pOwpAQCAtODQsNyArODQs
NyBAQAogICAgICAgICB9OwogICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAg
ICAgICB0ZXN0UnVubmVyLmFkZFRlc3RLZXlUb0tleWNoYWluKHByaXZhdGVLZXlCYXNlNjQsIHRl
c3RScElkLCB0ZXN0VXNlckVudGl0eUJ1bmRsZUJhc2U2NCk7Ci0gICAgICAgIHJldHVybiBwcm9t
aXNlUmVqZWN0cyh0LCAiTm90QWxsb3dlZEVycm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNy
ZWF0ZShvcHRpb25zKSwgIk9wZXJhdGlvbiB0aW1lZCBvdXQuIikudGhlbigoKSA9PiB7CisgICAg
ICAgIHJldHVybiBwcm9taXNlUmVqZWN0cyh0LCAiSW52YWxpZFN0YXRlRXJyb3IiLCBuYXZpZ2F0
b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpLCAiQXQgbGVhc3Qgb25lIGNyZWRlbnRpYWwg
bWF0Y2hlcyBhbiBlbnRyeSBvZiB0aGUgZXhjbHVkZUNyZWRlbnRpYWxzIGxpc3QgaW4gdGhlIHBs
YXRmb3JtIGF0dGFjaGVkIGF1dGhlbnRpY2F0b3IuOnciKS50aGVuKCgpID0+IHsKICAgICAgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmNs
ZWFuVXBLZXljaGFpbih0ZXN0UnBJZCwgY3JlZGVudGlhbElEQmFzZTY0KTsKICAgICAgICAgfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNy
ZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUtbG9jYWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVyZS1sb2Nh
bC5odHRwcy5odG1sCmluZGV4IGZkOTRhZmU5NTU2NmNiMDQyZTM3Yjk5YjEyMDk5MmZkYWNhYzFl
NWMuLjI3NzJlOWY1ZDk2NThlNTA1NDFiOTFjMzUxYzIzZWQxZWU3ODk1MWQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVh
dGUtZmFpbHVyZS1sb2NhbC5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
YmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVyZS1sb2NhbC5odHRwcy5o
dG1sCkBAIC00OCw3ICs0OCw3IEBACiAgICAgICAgIH07CiAgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKICAgICAgICAgICAgIHRlc3RSdW5uZXIuYWRkVGVzdEtleVRvS2V5Y2hhaW4ocHJp
dmF0ZUtleUJhc2U2NCwgdGVzdFJwSWQsIHRlc3RVc2VyRW50aXR5QnVuZGxlQmFzZTY0KTsKLSAg
ICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RzKHQsICJOb3RBbGxvd2VkRXJyb3IiLCBuYXZpZ2F0
b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpLCAiQXQgbGVhc3Qgb25lIGNyZWRlbnRpYWwg
bWF0Y2hlcyBhbiBlbnRyeSBvZiB0aGUgZXhjbHVkZUNyZWRlbnRpYWxzIGxpc3QgaW4gdGhlIHBs
YXRmb3JtIGF0dGFjaGVkIGF1dGhlbnRpY2F0b3IuIikudGhlbigoKSA9PiB7CisgICAgICAgIHJl
dHVybiBwcm9taXNlUmVqZWN0cyh0LCAiSW52YWxpZFN0YXRlRXJyb3IiLCBuYXZpZ2F0b3IuY3Jl
ZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpLCAiQXQgbGVhc3Qgb25lIGNyZWRlbnRpYWwgbWF0Y2hl
cyBhbiBlbnRyeSBvZiB0aGUgZXhjbHVkZUNyZWRlbnRpYWxzIGxpc3QgaW4gdGhlIHBsYXRmb3Jt
IGF0dGFjaGVkIGF1dGhlbnRpY2F0b3IuIikudGhlbigoKSA9PiB7CiAgICAgICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5jbGVhblVwS2V5
Y2hhaW4odGVzdFJwSWQsIGNyZWRlbnRpYWxJREJhc2U2NCk7CiAgICAgICAgIH0pOwpAQCAtODEs
NyArODEsNyBAQAogICAgICAgICB9OwogICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmFkZFRlc3RLZXlUb0tleWNoYWluKHByaXZhdGVLZXlCYXNl
NjQsIHRlc3RScElkLCB0ZXN0VXNlckVudGl0eUJ1bmRsZUJhc2U2NCk7Ci0gICAgICAgIHJldHVy
biBwcm9taXNlUmVqZWN0cyh0LCAiTm90QWxsb3dlZEVycm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRp
YWxzLmNyZWF0ZShvcHRpb25zKSwgIkF0IGxlYXN0IG9uZSBjcmVkZW50aWFsIG1hdGNoZXMgYW4g
ZW50cnkgb2YgdGhlIGV4Y2x1ZGVDcmVkZW50aWFscyBsaXN0IGluIHRoZSBwbGF0Zm9ybSBhdHRh
Y2hlZCBhdXRoZW50aWNhdG9yLiIpLnRoZW4oKCkgPT4geworICAgICAgICByZXR1cm4gcHJvbWlz
ZVJlamVjdHModCwgIkludmFsaWRTdGF0ZUVycm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNy
ZWF0ZShvcHRpb25zKSwgIkF0IGxlYXN0IG9uZSBjcmVkZW50aWFsIG1hdGNoZXMgYW4gZW50cnkg
b2YgdGhlIGV4Y2x1ZGVDcmVkZW50aWFscyBsaXN0IGluIHRoZSBwbGF0Zm9ybSBhdHRhY2hlZCBh
dXRoZW50aWNhdG9yLiIpLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuY2xlYW5VcEtleWNoYWluKHRlc3RS
cElkLCBjcmVkZW50aWFsSURCYXNlNjQpOwogICAgICAgICB9KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441798</attachid>
            <date>2021-10-19 14:20:07 -0700</date>
            <delta_ts>2021-10-19 17:34:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219813-20211019142005.patch</filename>
            <type>text/plain</type>
            <size>10925</size>
            <attacher name="pascoe@apple.com">pascoe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NDUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFjN2EzYmQzYTg4ZTFlOGRj
OGEwZDRmNjZkMGJiNDFlNDk3MmRlZDYuLjJmM2I2M2FjYjY4OTg0Y2MyMDhjZDQyMGI1YmI4YzA2
ZWU5MDRkMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjEtMTAtMTkgIEpvaG4gUGFz
Y29lICA8al9wYXNjb2VAYXBwbGUuY29tPgorICAgICAgICBbV2ViQXV0aG5dIE9idGFpbiBjb25z
ZW50IHRvIGNyZWF0ZSBuZXcgY3JlZGVudGlhbCB3aGVuIHBsYXRmb3JtIGF1dGhlbnRpY2F0b3Ig
aW4gZXhjbHVkZWRDcmVkZW50aWFscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE5ODEzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjQ4NDYzNT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50
bHksIHdoZW5ldmVyIHRoZSBwbGF0Zm9ybSBhdXRoZW50aWNhdG9yIGlzIHdpdGhpbiBleGNsdWRl
ZENyZWRlbnRpYWxzIGR1cmluZyBtYWtlQ3JlZGVudGlhbCB3ZQorICAgICAgICBhbHdheXMgcmV0
dXJuIE5vdEFsbG93ZWRFcnJvciBhbmQgbWVyZWx5IGZsYXNoIGEgY29uc2VudCBzY3JlZW4uIFRo
aXMgZG9lcyBub3QgbWF0Y2ggdGhlIHNwZWMgcGVyIFN0ZXAgMy4xCisgICAgICAgIG9mIG1ha2VD
cmVkZW50aWFsIChodHRwczovL3czYy5naXRodWIuaW8vd2ViYXV0aG4vI3NjdG4tb3AtbWFrZS1j
cmVkKS4gSW5zdGVhZCwgd2Ugc2hvdWxkIGFsd2F5cyBvYnRhaW4gY29uc2VudAorICAgICAgICBh
bmQgcmV0dXJuIGEgZGlmZmVyZW50IGVycm9yIGRlcGVuZGluZyBvbiBjb25zZW50IHdhcyBvYnRh
aW5lZC4KKworICAgICAgICBBIGZpeG1lIHRvIGFkZCB0aGlzIHdhcyBpbmFkdmVydGVudGx5IHJl
bW92ZWQgaW4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvYXR0YWNobWVudC5jZ2k/aWQ9MzkzMTgw
JmFjdGlvbj1wcmV0dHlwYXRjaAorCisgICAgICAgIEFkZGVkIGFwaSB0ZXN0IFRlc3RXZWJLaXRB
UEkuV2ViQXV0aGVudGljYXRpb25QYW5lbC5MQUR1cGxpY2F0ZUNyZWRlbnRpYWxXaXRoQ29uc2Vu
dAorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0xvY2FsQXV0
aGVudGljYXRvci5tbToKKyAgICAgICAgKFdlYktpdDo6TG9jYWxBdXRoZW50aWNhdG9yOjptYWtl
Q3JlZGVudGlhbCk6CisKIDIwMjEtMTAtMTkgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFy
b0Bnbm9tZS5vcmc+CiAKICAgICAgICAgVXBkYXRlIHNlY2NvbXAgZmlsdGVycyB3aXRoIGxhdGVz
dCBjaGFuZ2VzIGZyb20gZmxhdHBhawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvTG9jYWxBdXRoZW50aWNhdG9yLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvTG9jYWxBdXRoZW50aWNh
dG9yLm1tCmluZGV4IGFkYWE2NmVlM2M5ODk4NmI2OWMzZWMyMjIzNmJhNTg0MDQ0NDdjNDMuLjUz
MzQ2ZGQ1MTM3ODZmNWIxN2NmMzcxZGE2OTg3YzJiNzEzOWY3NjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0xvY2FsQXV0aGVudGlj
YXRvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9D
b2NvYS9Mb2NhbEF1dGhlbnRpY2F0b3IubW0KQEAgLTIyNyw3ICsyMjcsMTggQEAgdm9pZCBMb2Nh
bEF1dGhlbnRpY2F0b3I6Om1ha2VDcmVkZW50aWFsKCkKICAgICAgICAgICAgIEFTU0VSVChyYXdJ
ZCk7CiAgICAgICAgICAgICByZXR1cm4gZXhjbHVkZUNyZWRlbnRpYWxJZHMuY29udGFpbnMoYmFz
ZTY0RW5jb2RlVG9TdHJpbmcocmF3SWQtPmRhdGEoKSwgcmF3SWQtPmJ5dGVMZW5ndGgoKSkpOwog
ICAgICAgICB9KSkgewotICAgICAgICAgICAgcmVjZWl2ZUV4Y2VwdGlvbih7IE5vdEFsbG93ZWRF
cnJvciwgIkF0IGxlYXN0IG9uZSBjcmVkZW50aWFsIG1hdGNoZXMgYW4gZW50cnkgb2YgdGhlIGV4
Y2x1ZGVDcmVkZW50aWFscyBsaXN0IGluIHRoZSBwbGF0Zm9ybSBhdHRhY2hlZCBhdXRoZW50aWNh
dG9yLiJfcyB9LCBXZWJBdXRoZW50aWNhdGlvblN0YXR1czo6TEFFeGNsdWRlQ3JlZGVudGlhbHNN
YXRjaGVkKTsKKyAgICAgICAgICAgIC8vIE9idGFpbiBjb25zZW50IHBlciBTdGVwIDMuMQorICAg
ICAgICAgICAgYXV0byBjYWxsYmFjayA9IFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9XSAo
TG9jYWxBdXRoZW50aWNhdG9yUG9saWN5IHBvbGljeSkgeworICAgICAgICAgICAgICAgIEFTU0VS
VChSdW5Mb29wOjppc01haW4oKSk7CisgICAgICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICAgICAgaWYgKHBvbGljeSA9
PSBMb2NhbEF1dGhlbnRpY2F0b3JQb2xpY3k6OkFsbG93KQorICAgICAgICAgICAgICAgICAgICB3
ZWFrVGhpcy0+cmVjZWl2ZUV4Y2VwdGlvbih7IEludmFsaWRTdGF0ZUVycm9yLCAiQXQgbGVhc3Qg
b25lIGNyZWRlbnRpYWwgbWF0Y2hlcyBhbiBlbnRyeSBvZiB0aGUgZXhjbHVkZUNyZWRlbnRpYWxz
IGxpc3QgaW4gdGhlIHBsYXRmb3JtIGF0dGFjaGVkIGF1dGhlbnRpY2F0b3IuIl9zIH0sIFdlYkF1
dGhlbnRpY2F0aW9uU3RhdHVzOjpMQUV4Y2x1ZGVDcmVkZW50aWFsc01hdGNoZWQpOworICAgICAg
ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgd2Vha1RoaXMtPnJlY2VpdmVFeGNl
cHRpb24oeyBOb3RBbGxvd2VkRXJyb3IsICJUaGlzIHJlcXVlc3QgaGFzIGJlZW4gY2FuY2VsbGVk
IGJ5IHRoZSB1c2VyLiJfcyB9KTsKKyAgICAgICAgICAgIH07CisgICAgICAgICAgICBvYnNlcnZl
cigpLT5kZWNpZGVQb2xpY3lGb3JMb2NhbEF1dGhlbnRpY2F0b3IoV1RGTW92ZShjYWxsYmFjaykp
OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDVhZjBkMDkxMmU4MTg4NzMzMzUz
ZTc4YmYxODM1MDEwNDAzZmI3YzcuLjI2M2M4ZjE3MmE4MTFlYjhmZTU0N2FjZTVjOTA4ODc4ZWEx
MGEzMDggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMCBAQAorMjAyMS0xMC0xOSAgSm9obiBQYXNjb2UgIDxqX3Bhc2NvZUBhcHBs
ZS5jb20+CisgICAgICAgIFtXZWJBdXRobl0gT2J0YWluIGNvbnNlbnQgdG8gY3JlYXRlIG5ldyBj
cmVkZW50aWFsIHdoZW4gcGxhdGZvcm0gYXV0aGVudGljYXRvciBpbiBleGNsdWRlZENyZWRlbnRp
YWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk4
MTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcyNDg0NjM1PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSwgd2hlbmV2ZXIgdGhlIHBs
YXRmb3JtIGF1dGhlbnRpY2F0b3IgaXMgd2l0aGluIGV4Y2x1ZGVkQ3JlZGVudGlhbHMgZHVyaW5n
IG1ha2VDcmVkZW50aWFsIHdlCisgICAgICAgIGFsd2F5cyByZXR1cm4gTm90QWxsb3dlZEVycm9y
IGFuZCBtZXJlbHkgZmxhc2ggYSBjb25zZW50IHNjcmVlbi4gVGhpcyBkb2VzIG5vdCBtYXRjaCB0
aGUgc3BlYyBwZXIgU3RlcCAzLjEKKyAgICAgICAgb2YgbWFrZUNyZWRlbnRpYWwgKGh0dHBzOi8v
dzNjLmdpdGh1Yi5pby93ZWJhdXRobi8jc2N0bi1vcC1tYWtlLWNyZWQpLiBJbnN0ZWFkLCB3ZSBz
aG91bGQgYWx3YXlzIG9idGFpbiBjb25zZW50CisgICAgICAgIGFuZCByZXR1cm4gYSBkaWZmZXJl
bnQgZXJyb3IgZGVwZW5kaW5nIG9uIGNvbnNlbnQgd2FzIG9idGFpbmVkLgorCisgICAgICAgIFRo
aXMgYWRkcyBhIHRlc3QgdG8gY29uZmlybSBhIGRpZmZlcmVudCBwYXRoIGlzIHRha2VuIHdoZW5l
dmVyIGNvbnNlbnQgaXMgb2J0YWluZWQuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW06CisgICAgICAgIChUZXN0
V2ViS2l0QVBJOjpURVNUKToKKwogMjAyMS0xMC0xOCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1
ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyODQ0MTMu
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dl
YkF1dGhlbnRpY2F0aW9uUGFuZWwubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KaW5kZXggZGUwMzY4NTgxMWQ5ODQw
NTFjOTZhNWJiNzdkNjI5ZjZhY2IyNTdiZS4uMjRhZTYzOWU0YmZjNWQwZjQ2YWEwM2MxOWIwZGQ4
ZDVmNGJjYzcyMyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQpAQCAtMTM4
MSw2ICsxMzgxLDI5IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgTEFEdXBsaWNhdGVD
cmVkZW50aWFsKQogICAgIFt3ZWJWaWV3IGZvY3VzXTsKIAogICAgIEFTU0VSVF9UUlVFKGFkZEtl
eVRvS2V5Y2hhaW4odGVzdEVTMjU2UHJpdmF0ZUtleUJhc2U2NCwgIiIsIHRlc3RVc2VyRW50aXR5
QnVuZGxlQmFzZTY0KSk7CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCBy
ZXF1ZXN0V2l0aFVSTDp0ZXN0VVJMLmdldCgpXV07CisgICAgVXRpbDo6cnVuKCZ3ZWJBdXRoZW50
aWNhdGlvblBhbmVsRmFpbGVkKTsKKyAgICBjbGVhblVwS2V5Y2hhaW4oIiIpOworfQorCitURVNU
KFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIExBRHVwbGljYXRlQ3JlZGVudGlhbFdpdGhDb25zZW50
KQoreworICAgIHJlc2V0KCk7CisgICAgUmV0YWluUHRyPE5TVVJMPiB0ZXN0VVJMID0gW1tOU0J1
bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAIndlYi1hdXRoZW50aWNhdGlvbi1tYWtl
LWNyZWRlbnRpYWwtbGEtZHVwbGljYXRlLWNyZWRlbnRpYWwiIHdpdGhFeHRlbnNpb246QCJodG1s
IiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOworCisgICAgYXV0byAq
Y29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRp
b25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50ZXJuYWxz
IiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107CisgICAgW1tjb25maWd1cmF0aW9uIHByZWZl
cmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50
aWNhdGlvbkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CisgICAgW1tjb25maWd1cmF0aW9uIHByZWZl
cmVuY2VzXSBfc2V0RW5hYmxlZDpOTyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRp
Y2F0aW9uTW9kZXJuRXhwZXJpbWVudGFsRmVhdHVyZSgpXTsKKworICAgIGF1dG8gd2ViVmlldyA9
IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TWmVyb1JlY3Qg
Y29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7CisgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0
TlMoW1tUZXN0V2ViQXV0aGVudGljYXRpb25QYW5lbFVJRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsK
KyAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKyAgICBbd2ViVmll
dyBmb2N1c107CisKKyAgICBBU1NFUlRfVFJVRShhZGRLZXlUb0tleWNoYWluKHRlc3RFUzI1NlBy
aXZhdGVLZXlCYXNlNjQsICIiLCB0ZXN0VXNlckVudGl0eUJ1bmRsZUJhc2U2NCkpOworCisgICAg
bG9jYWxBdXRoZW50aWNhdG9yUG9saWN5ID0gX1dLTG9jYWxBdXRoZW50aWNhdG9yUG9saWN5QWxs
b3c7CisKICAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRo
VVJMOnRlc3RVUkwuZ2V0KCldXTsKICAgICBVdGlsOjpydW4oJndlYkF1dGhlbnRpY2F0aW9uUGFu
ZWxVcGRhdGVMQUV4Y2x1ZGVDcmVkZW50aWFsc01hdGNoZWQpOwogICAgIGNsZWFuVXBLZXljaGFp
bigiIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggNjcyYjA0ZjYzM2VkN2RiOTg2ZGNmODcwZmQ4ZjI5ODUyZTM2MTc0Ny4u
ZjA0ZThiZGJlOTM2NTA1ZjE2NDUzZDc2ZTMzMTk1NzYxZDI1ZDU4NyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDIxLTEwLTE5ICBKb2huIFBhc2NvZSAgPGpfcGFzY29lQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWJBdXRobl0gT2J0YWluIGNvbnNlbnQgdG8gY3JlYXRlIG5ldyBjcmVkZW50aWFs
IHdoZW4gcGxhdGZvcm0gYXV0aGVudGljYXRvciBpbiBleGNsdWRlZENyZWRlbnRpYWxzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk4MTMKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzcyNDg0NjM1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE1vZGlmeSBsYXlvdXQgdGVzdHMgdG8gcmVmbGVjdCBkaWZm
ZXJlbnQgZXhjZXB0aW9uIHJldHVybmVkIHdoZW4gY29uc2VudCBpcyBwcm92aWRlZAorCisgICAg
ICAgICogaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1mYWls
dXJlLWxvY2FsLXNpbGVudC5odHRwcy5odG1sOgorICAgICAgICAqIGh0dHAvd3B0L3dlYmF1dGhu
L3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVyZS1sb2NhbC5odHRwcy5odG1sOgor
CiAyMDIxLTEwLTE5ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5z
a2lwIHBhc3NpbmcgZmxleC1iYXNpczogY29udGVudCArIGFzcGVjdCByYXRpbyBXUFQgdGVzdHMK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3Jl
ZGVudGlhbC1jcmVhdGUtZmFpbHVyZS1sb2NhbC1zaWxlbnQuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVy
ZS1sb2NhbC1zaWxlbnQuaHR0cHMuaHRtbAppbmRleCA3ZDNlN2VmNmE1ZDQyZTdiYTRlODRmYjA0
YWY2NWM0OGQ4Y2VjNmZiLi4xYjMyMmFiZWUxNzQ1NjM3ZmJhNjA1MjQ4MWMxMjcxNDg5NTljZDRk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNy
ZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUtbG9jYWwtc2lsZW50Lmh0dHBzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1m
YWlsdXJlLWxvY2FsLXNpbGVudC5odHRwcy5odG1sCkBAIC01MCw3ICs1MCw3IEBACiAgICAgICAg
IH07CiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuYWRkVGVzdEtleVRvS2V5Y2hhaW4ocHJpdmF0ZUtleUJhc2U2NCwgdGVzdFJwSWQsIHRlc3RV
c2VyRW50aXR5QnVuZGxlQmFzZTY0KTsKLSAgICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RzKHQs
ICJOb3RBbGxvd2VkRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMp
LCAiT3BlcmF0aW9uIHRpbWVkIG91dC4iKS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIHBy
b21pc2VSZWplY3RzKHQsICJJbnZhbGlkU3RhdGVFcnJvciIsIG5hdmlnYXRvci5jcmVkZW50aWFs
cy5jcmVhdGUob3B0aW9ucyksICJBdCBsZWFzdCBvbmUgY3JlZGVudGlhbCBtYXRjaGVzIGFuIGVu
dHJ5IG9mIHRoZSBleGNsdWRlQ3JlZGVudGlhbHMgbGlzdCBpbiB0aGUgcGxhdGZvcm0gYXR0YWNo
ZWQgYXV0aGVudGljYXRvci4iKS50aGVuKCgpID0+IHsKICAgICAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmNsZWFuVXBLZXljaGFpbih0
ZXN0UnBJZCwgY3JlZGVudGlhbElEQmFzZTY0KTsKICAgICAgICAgfSk7CkBAIC04NCw3ICs4NCw3
IEBACiAgICAgICAgIH07CiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuYWRkVGVzdEtleVRvS2V5Y2hhaW4ocHJpdmF0ZUtleUJhc2U2NCwgdGVz
dFJwSWQsIHRlc3RVc2VyRW50aXR5QnVuZGxlQmFzZTY0KTsKLSAgICAgICAgcmV0dXJuIHByb21p
c2VSZWplY3RzKHQsICJOb3RBbGxvd2VkRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3Jl
YXRlKG9wdGlvbnMpLCAiT3BlcmF0aW9uIHRpbWVkIG91dC4iKS50aGVuKCgpID0+IHsKKyAgICAg
ICAgcmV0dXJuIHByb21pc2VSZWplY3RzKHQsICJJbnZhbGlkU3RhdGVFcnJvciIsIG5hdmlnYXRv
ci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucyksICJBdCBsZWFzdCBvbmUgY3JlZGVudGlhbCBt
YXRjaGVzIGFuIGVudHJ5IG9mIHRoZSBleGNsdWRlQ3JlZGVudGlhbHMgbGlzdCBpbiB0aGUgcGxh
dGZvcm0gYXR0YWNoZWQgYXV0aGVudGljYXRvci46dyIpLnRoZW4oKCkgPT4gewogICAgICAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuY2xl
YW5VcEtleWNoYWluKHRlc3RScElkLCBjcmVkZW50aWFsSURCYXNlNjQpOwogICAgICAgICB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3Jl
ZGVudGlhbC1jcmVhdGUtZmFpbHVyZS1sb2NhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1mYWlsdXJlLWxvY2Fs
Lmh0dHBzLmh0bWwKaW5kZXggZmQ5NGFmZTk1NTY2Y2IwNDJlMzdiOTliMTIwOTkyZmRhY2FjMWU1
Yy4uMjc3MmU5ZjVkOTY1OGU1MDU0MWI5MWMzNTFjMjNlZDFlZTc4OTUxZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0
ZS1mYWlsdXJlLWxvY2FsLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
YXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1mYWlsdXJlLWxvY2FsLmh0dHBzLmh0
bWwKQEAgLTQ4LDcgKzQ4LDcgQEAKICAgICAgICAgfTsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQogICAgICAgICAgICAgdGVzdFJ1bm5lci5hZGRUZXN0S2V5VG9LZXljaGFpbihwcml2
YXRlS2V5QmFzZTY0LCB0ZXN0UnBJZCwgdGVzdFVzZXJFbnRpdHlCdW5kbGVCYXNlNjQpOwotICAg
ICAgICByZXR1cm4gcHJvbWlzZVJlamVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIsIG5hdmlnYXRv
ci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucyksICJBdCBsZWFzdCBvbmUgY3JlZGVudGlhbCBt
YXRjaGVzIGFuIGVudHJ5IG9mIHRoZSBleGNsdWRlQ3JlZGVudGlhbHMgbGlzdCBpbiB0aGUgcGxh
dGZvcm0gYXR0YWNoZWQgYXV0aGVudGljYXRvci4iKS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0
dXJuIHByb21pc2VSZWplY3RzKHQsICJJbnZhbGlkU3RhdGVFcnJvciIsIG5hdmlnYXRvci5jcmVk
ZW50aWFscy5jcmVhdGUob3B0aW9ucyksICJBdCBsZWFzdCBvbmUgY3JlZGVudGlhbCBtYXRjaGVz
IGFuIGVudHJ5IG9mIHRoZSBleGNsdWRlQ3JlZGVudGlhbHMgbGlzdCBpbiB0aGUgcGxhdGZvcm0g
YXR0YWNoZWQgYXV0aGVudGljYXRvci4iKS50aGVuKCgpID0+IHsKICAgICAgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmNsZWFuVXBLZXlj
aGFpbih0ZXN0UnBJZCwgY3JlZGVudGlhbElEQmFzZTY0KTsKICAgICAgICAgfSk7CkBAIC04MSw3
ICs4MSw3IEBACiAgICAgICAgIH07CiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuYWRkVGVzdEtleVRvS2V5Y2hhaW4ocHJpdmF0ZUtleUJhc2U2
NCwgdGVzdFJwSWQsIHRlc3RVc2VyRW50aXR5QnVuZGxlQmFzZTY0KTsKLSAgICAgICAgcmV0dXJu
IHByb21pc2VSZWplY3RzKHQsICJOb3RBbGxvd2VkRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVudGlh
bHMuY3JlYXRlKG9wdGlvbnMpLCAiQXQgbGVhc3Qgb25lIGNyZWRlbnRpYWwgbWF0Y2hlcyBhbiBl
bnRyeSBvZiB0aGUgZXhjbHVkZUNyZWRlbnRpYWxzIGxpc3QgaW4gdGhlIHBsYXRmb3JtIGF0dGFj
aGVkIGF1dGhlbnRpY2F0b3IuIikudGhlbigoKSA9PiB7CisgICAgICAgIHJldHVybiBwcm9taXNl
UmVqZWN0cyh0LCAiSW52YWxpZFN0YXRlRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3Jl
YXRlKG9wdGlvbnMpLCAiQXQgbGVhc3Qgb25lIGNyZWRlbnRpYWwgbWF0Y2hlcyBhbiBlbnRyeSBv
ZiB0aGUgZXhjbHVkZUNyZWRlbnRpYWxzIGxpc3QgaW4gdGhlIHBsYXRmb3JtIGF0dGFjaGVkIGF1
dGhlbnRpY2F0b3IuIikudGhlbigoKSA9PiB7CiAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5jbGVhblVwS2V5Y2hhaW4odGVzdFJw
SWQsIGNyZWRlbnRpYWxJREJhc2U2NCk7CiAgICAgICAgIH0pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441826</attachid>
            <date>2021-10-19 17:34:41 -0700</date>
            <delta_ts>2021-10-20 08:01:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219813-20211019173439.patch</filename>
            <type>text/plain</type>
            <size>10904</size>
            <attacher name="pascoe@apple.com">pascoe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI3ZjlkMTM3MjA3MmRhYWM2
ZTc5ODg0OTlmNmUyMjExYzFiNDcwYTQuLjZlM2M5NzBiNTIyNzg0N2FiMTY2OTg0NzkyNGI0YjVh
YmNlNDdlNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjEtMTAtMTkgIEpvaG4gUGFz
Y29lICA8al9wYXNjb2VAYXBwbGUuY29tPgorICAgICAgICBbV2ViQXV0aG5dIE9idGFpbiBjb25z
ZW50IHRvIGNyZWF0ZSBuZXcgY3JlZGVudGlhbCB3aGVuIHBsYXRmb3JtIGF1dGhlbnRpY2F0b3Ig
aW4gZXhjbHVkZWRDcmVkZW50aWFscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE5ODEzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjQ4NDYzNT4K
KworICAgICAgICBSZXZpZXdlZCBieSBCcmVudCBGdWxnaGFtLgorCisgICAgICAgIEN1cnJlbnRs
eSwgd2hlbmV2ZXIgdGhlIHBsYXRmb3JtIGF1dGhlbnRpY2F0b3IgaXMgd2l0aGluIGV4Y2x1ZGVk
Q3JlZGVudGlhbHMgZHVyaW5nIG1ha2VDcmVkZW50aWFsIHdlCisgICAgICAgIGFsd2F5cyByZXR1
cm4gTm90QWxsb3dlZEVycm9yIGFuZCBtZXJlbHkgZmxhc2ggYSBjb25zZW50IHNjcmVlbi4gVGhp
cyBkb2VzIG5vdCBtYXRjaCB0aGUgc3BlYyBwZXIgU3RlcCAzLjEKKyAgICAgICAgb2YgbWFrZUNy
ZWRlbnRpYWwgKGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJhdXRobi8jc2N0bi1vcC1tYWtlLWNy
ZWQpLiBJbnN0ZWFkLCB3ZSBzaG91bGQgYWx3YXlzIG9idGFpbiBjb25zZW50CisgICAgICAgIGFu
ZCByZXR1cm4gYSBkaWZmZXJlbnQgZXJyb3IgZGVwZW5kaW5nIG9uIGNvbnNlbnQgd2FzIG9idGFp
bmVkLgorCisgICAgICAgIEEgZml4bWUgdG8gYWRkIHRoaXMgd2FzIGluYWR2ZXJ0ZW50bHkgcmVt
b3ZlZCBpbiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9hdHRhY2htZW50LmNnaT9pZD0zOTMxODAm
YWN0aW9uPXByZXR0eXBhdGNoCisKKyAgICAgICAgQWRkZWQgYXBpIHRlc3QgVGVzdFdlYktpdEFQ
SS5XZWJBdXRoZW50aWNhdGlvblBhbmVsLkxBRHVwbGljYXRlQ3JlZGVudGlhbFdpdGhDb25zZW50
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvTG9jYWxBdXRo
ZW50aWNhdG9yLm1tOgorICAgICAgICAoV2ViS2l0OjpMb2NhbEF1dGhlbnRpY2F0b3I6Om1ha2VD
cmVkZW50aWFsKToKKwogMjAyMS0xMC0xOSAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdA
c29ueS5jb20+CiAKICAgICAgICAgW0NNYWtlXSBBbGlnbiBPcHRpb25zTWFjIHdpdGggWGNvZGUg
YnVpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0
aW9uL0NvY29hL0xvY2FsQXV0aGVudGljYXRvci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0xvY2FsQXV0aGVudGljYXRvci5tbQppbmRleCBhZGFh
NjZlZTNjOTg5ODZiNjljM2VjMjIyMzZiYTU4NDA0NDQ3YzQzLi41MzM0NmRkNTEzNzg2ZjViMTdj
ZjM3MWRhNjk4N2MyYjcxMzlmNzY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9Mb2NhbEF1dGhlbnRpY2F0b3IubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvTG9jYWxBdXRoZW50
aWNhdG9yLm1tCkBAIC0yMjcsNyArMjI3LDE4IEBAIHZvaWQgTG9jYWxBdXRoZW50aWNhdG9yOjpt
YWtlQ3JlZGVudGlhbCgpCiAgICAgICAgICAgICBBU1NFUlQocmF3SWQpOwogICAgICAgICAgICAg
cmV0dXJuIGV4Y2x1ZGVDcmVkZW50aWFsSWRzLmNvbnRhaW5zKGJhc2U2NEVuY29kZVRvU3RyaW5n
KHJhd0lkLT5kYXRhKCksIHJhd0lkLT5ieXRlTGVuZ3RoKCkpKTsKICAgICAgICAgfSkpIHsKLSAg
ICAgICAgICAgIHJlY2VpdmVFeGNlcHRpb24oeyBOb3RBbGxvd2VkRXJyb3IsICJBdCBsZWFzdCBv
bmUgY3JlZGVudGlhbCBtYXRjaGVzIGFuIGVudHJ5IG9mIHRoZSBleGNsdWRlQ3JlZGVudGlhbHMg
bGlzdCBpbiB0aGUgcGxhdGZvcm0gYXR0YWNoZWQgYXV0aGVudGljYXRvci4iX3MgfSwgV2ViQXV0
aGVudGljYXRpb25TdGF0dXM6OkxBRXhjbHVkZUNyZWRlbnRpYWxzTWF0Y2hlZCk7CisgICAgICAg
ICAgICAvLyBPYnRhaW4gY29uc2VudCBwZXIgU3RlcCAzLjEKKyAgICAgICAgICAgIGF1dG8gY2Fs
bGJhY2sgPSBbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfV0gKExvY2FsQXV0aGVudGljYXRv
clBvbGljeSBwb2xpY3kpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWlu
KCkpOworICAgICAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAgICAgICAgICAg
IHJldHVybjsKKworICAgICAgICAgICAgICAgIGlmIChwb2xpY3kgPT0gTG9jYWxBdXRoZW50aWNh
dG9yUG9saWN5OjpBbGxvdykKKyAgICAgICAgICAgICAgICAgICAgd2Vha1RoaXMtPnJlY2VpdmVF
eGNlcHRpb24oeyBJbnZhbGlkU3RhdGVFcnJvciwgIkF0IGxlYXN0IG9uZSBjcmVkZW50aWFsIG1h
dGNoZXMgYW4gZW50cnkgb2YgdGhlIGV4Y2x1ZGVDcmVkZW50aWFscyBsaXN0IGluIHRoZSBwbGF0
Zm9ybSBhdHRhY2hlZCBhdXRoZW50aWNhdG9yLiJfcyB9LCBXZWJBdXRoZW50aWNhdGlvblN0YXR1
czo6TEFFeGNsdWRlQ3JlZGVudGlhbHNNYXRjaGVkKTsKKyAgICAgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgICAgIHdlYWtUaGlzLT5yZWNlaXZlRXhjZXB0aW9uKHsgTm90QWxsb3dl
ZEVycm9yLCAiVGhpcyByZXF1ZXN0IGhhcyBiZWVuIGNhbmNlbGxlZCBieSB0aGUgdXNlci4iX3Mg
fSk7CisgICAgICAgICAgICB9OworICAgICAgICAgICAgb2JzZXJ2ZXIoKS0+ZGVjaWRlUG9saWN5
Rm9yTG9jYWxBdXRoZW50aWNhdG9yKFdURk1vdmUoY2FsbGJhY2spKTsKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCBjZjNlMDRlYWFkNjU1NmRlN2IzMjI2MzU4M2JmYzNhNzk3ZjBl
MmE3Li5lMWZiNDIyOTJjMzAxMDIwMjg4NGNjODQ0NWIyOWQxNmY4ZjNkOTg5IDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMjEtMTAtMTkgIEpvaG4gUGFzY29lICA8al9wYXNjb2VAYXBwbGUuY29tPgorICAgICAgICBb
V2ViQXV0aG5dIE9idGFpbiBjb25zZW50IHRvIGNyZWF0ZSBuZXcgY3JlZGVudGlhbCB3aGVuIHBs
YXRmb3JtIGF1dGhlbnRpY2F0b3IgaW4gZXhjbHVkZWRDcmVkZW50aWFscworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5ODEzCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS83MjQ4NDYzNT4KKworICAgICAgICBSZXZpZXdlZCBieSBCcmVudCBGdWxnaGFt
LgorCisgICAgICAgIEN1cnJlbnRseSwgd2hlbmV2ZXIgdGhlIHBsYXRmb3JtIGF1dGhlbnRpY2F0
b3IgaXMgd2l0aGluIGV4Y2x1ZGVkQ3JlZGVudGlhbHMgZHVyaW5nIG1ha2VDcmVkZW50aWFsIHdl
CisgICAgICAgIGFsd2F5cyByZXR1cm4gTm90QWxsb3dlZEVycm9yIGFuZCBtZXJlbHkgZmxhc2gg
YSBjb25zZW50IHNjcmVlbi4gVGhpcyBkb2VzIG5vdCBtYXRjaCB0aGUgc3BlYyBwZXIgU3RlcCAz
LjEKKyAgICAgICAgb2YgbWFrZUNyZWRlbnRpYWwgKGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJh
dXRobi8jc2N0bi1vcC1tYWtlLWNyZWQpLiBJbnN0ZWFkLCB3ZSBzaG91bGQgYWx3YXlzIG9idGFp
biBjb25zZW50CisgICAgICAgIGFuZCByZXR1cm4gYSBkaWZmZXJlbnQgZXJyb3IgZGVwZW5kaW5n
IG9uIGNvbnNlbnQgd2FzIG9idGFpbmVkLgorCisgICAgICAgIFRoaXMgYWRkcyBhIHRlc3QgdG8g
Y29uZmlybSBhIGRpZmZlcmVudCBwYXRoIGlzIHRha2VuIHdoZW5ldmVyIGNvbnNlbnQgaXMgb2J0
YWluZWQuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dl
YkF1dGhlbnRpY2F0aW9uUGFuZWwubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToK
KwogMjAyMS0xMC0xOSAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgW3dlYmtpdHNjbXB5XSBPdmVycmlkZSBodHRwIHVybCB3aXRoIHNzaCB1cmwKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVu
dGljYXRpb25QYW5lbC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
X1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQppbmRleCBkZTAzNjg1ODExZDk4NDA1MWM5NmE1
YmI3N2Q2MjlmNmFjYjI1N2JlLi4yNGFlNjM5ZTRiZmM1ZDBmNDZhYTAzYzE5YjBkZDhkNWY0YmNj
NzIzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19X
S1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCkBAIC0xMzgxLDYgKzEz
ODEsMjkgQEAgVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBMQUR1cGxpY2F0ZUNyZWRlbnRp
YWwpCiAgICAgW3dlYlZpZXcgZm9jdXNdOwogCiAgICAgQVNTRVJUX1RSVUUoYWRkS2V5VG9LZXlj
aGFpbih0ZXN0RVMyNTZQcml2YXRlS2V5QmFzZTY0LCAiIiwgdGVzdFVzZXJFbnRpdHlCdW5kbGVC
YXNlNjQpKTsKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RX
aXRoVVJMOnRlc3RVUkwuZ2V0KCldXTsKKyAgICBVdGlsOjpydW4oJndlYkF1dGhlbnRpY2F0aW9u
UGFuZWxGYWlsZWQpOworICAgIGNsZWFuVXBLZXljaGFpbigiIik7Cit9CisKK1RFU1QoV2ViQXV0
aGVudGljYXRpb25QYW5lbCwgTEFEdXBsaWNhdGVDcmVkZW50aWFsV2l0aENvbnNlbnQpCit7Cisg
ICAgcmVzZXQoKTsKKyAgICBSZXRhaW5QdHI8TlNVUkw+IHRlc3RVUkwgPSBbW05TQnVuZGxlIG1h
aW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAid2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVu
dGlhbC1sYS1kdXBsaWNhdGUtY3JlZGVudGlhbCIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRp
cmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl07CisKKyAgICBhdXRvICpjb25maWd1
cmF0aW9uID0gW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Rlc3RfY29uZmlndXJhdGlvbldpdGhU
ZXN0UGx1Z0luQ2xhc3NOYW1lOkAiV2ViUHJvY2Vzc1BsdWdJbldpdGhJbnRlcm5hbHMiIGNvbmZp
Z3VyZUpTQ0ZvclRlc3Rpbmc6WUVTXTsKKyAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNd
IF9zZXRFbmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRpY2F0aW9u
RXhwZXJpbWVudGFsRmVhdHVyZSgpXTsKKyAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNd
IF9zZXRFbmFibGVkOk5PIGZvckV4cGVyaW1lbnRhbEZlYXR1cmU6d2ViQXV0aGVudGljYXRpb25N
b2Rlcm5FeHBlcmltZW50YWxGZWF0dXJlKCldOworCisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHRO
UyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNaZXJvUmVjdCBjb25maWd1
cmF0aW9uOmNvbmZpZ3VyYXRpb25dKTsKKyAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW1Rl
c3RXZWJBdXRoZW50aWNhdGlvblBhbmVsVUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFt3
ZWJWaWV3IHNldFVJRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworICAgIFt3ZWJWaWV3IGZvY3Vz
XTsKKworICAgIEFTU0VSVF9UUlVFKGFkZEtleVRvS2V5Y2hhaW4odGVzdEVTMjU2UHJpdmF0ZUtl
eUJhc2U2NCwgIiIsIHRlc3RVc2VyRW50aXR5QnVuZGxlQmFzZTY0KSk7CisKKyAgICBsb2NhbEF1
dGhlbnRpY2F0b3JQb2xpY3kgPSBfV0tMb2NhbEF1dGhlbnRpY2F0b3JQb2xpY3lBbGxvdzsKKwog
ICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dGVz
dFVSTC5nZXQoKV1dOwogICAgIFV0aWw6OnJ1bigmd2ViQXV0aGVudGljYXRpb25QYW5lbFVwZGF0
ZUxBRXhjbHVkZUNyZWRlbnRpYWxzTWF0Y2hlZCk7CiAgICAgY2xlYW5VcEtleWNoYWluKCIiKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4NThmMzVhMjE2MzUzMGIwZjUxOTMxYTljZDZjMzIzZDI0NTczMGE4Li40Y2Q1Y2E3
NzEzMzZjZjdhYTY4YWYyZDI3ZGRjMzc5YzBhZGIxMTczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMjEtMTAtMTkgIEpvaG4gUGFzY29lICA8al9wYXNjb2VAYXBwbGUuY29tPgorCisgICAgICAg
IFdlYkF1dGhuXSBPYnRhaW4gY29uc2VudCB0byBjcmVhdGUgbmV3IGNyZWRlbnRpYWwgd2hlbiBw
bGF0Zm9ybSBhdXRoZW50aWNhdG9yIGluIGV4Y2x1ZGVkQ3JlZGVudGlhbHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTgxMworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNzI0ODQ2MzU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hh
bS4KKworICAgICAgICBNb2RpZnkgbGF5b3V0IHRlc3RzIHRvIHJlZmxlY3QgZGlmZmVyZW50IGV4
Y2VwdGlvbiByZXR1cm5lZCB3aGVuIGNvbnNlbnQgaXMgcHJvdmlkZWQKKworICAgICAgICAqIGh0
dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVyZS1sb2Nh
bC1zaWxlbnQuaHR0cHMuaHRtbDoKKyAgICAgICAgKiBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMt
a2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUtbG9jYWwuaHR0cHMuaHRtbDoKKwogMjAyMS0x
MC0xOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlc3luYyBD
T09QIC9DT0VQIFdQVCB0ZXN0cyBmcm9tIHVwc3RyZWFtIFdQVApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1mYWls
dXJlLWxvY2FsLXNpbGVudC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0
aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1mYWlsdXJlLWxvY2FsLXNpbGVudC5odHRw
cy5odG1sCmluZGV4IDdkM2U3ZWY2YTVkNDJlN2JhNGU4NGZiMDRhZjY1YzQ4ZDhjZWM2ZmIuLjBi
YTdmY2U5NWZjYzhiNGJlYmFlNmI1ZmYxMzVkZDg3ZDExOTMxZmQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFp
bHVyZS1sb2NhbC1zaWxlbnQuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUtbG9jYWwtc2lsZW50
Lmh0dHBzLmh0bWwKQEAgLTUwLDcgKzUwLDcgQEAKICAgICAgICAgfTsKICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAgdGVzdFJ1bm5lci5hZGRUZXN0S2V5VG9LZXlj
aGFpbihwcml2YXRlS2V5QmFzZTY0LCB0ZXN0UnBJZCwgdGVzdFVzZXJFbnRpdHlCdW5kbGVCYXNl
NjQpOwotICAgICAgICByZXR1cm4gcHJvbWlzZVJlamVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIs
IG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucyksICJPcGVyYXRpb24gdGltZWQg
b3V0LiIpLnRoZW4oKCkgPT4geworICAgICAgICByZXR1cm4gcHJvbWlzZVJlamVjdHModCwgIklu
dmFsaWRTdGF0ZUVycm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25zKSwg
IkF0IGxlYXN0IG9uZSBjcmVkZW50aWFsIG1hdGNoZXMgYW4gZW50cnkgb2YgdGhlIGV4Y2x1ZGVD
cmVkZW50aWFscyBsaXN0IGluIHRoZSBwbGF0Zm9ybSBhdHRhY2hlZCBhdXRoZW50aWNhdG9yLiIp
LnRoZW4oKCkgPT4gewogICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuY2xlYW5VcEtleWNoYWluKHRlc3RScElkLCBjcmVkZW50aWFs
SURCYXNlNjQpOwogICAgICAgICB9KTsKQEAgLTg0LDcgKzg0LDcgQEAKICAgICAgICAgfTsKICAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAgdGVzdFJ1bm5lci5hZGRU
ZXN0S2V5VG9LZXljaGFpbihwcml2YXRlS2V5QmFzZTY0LCB0ZXN0UnBJZCwgdGVzdFVzZXJFbnRp
dHlCdW5kbGVCYXNlNjQpOwotICAgICAgICByZXR1cm4gcHJvbWlzZVJlamVjdHModCwgIk5vdEFs
bG93ZWRFcnJvciIsIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucyksICJPcGVy
YXRpb24gdGltZWQgb3V0LiIpLnRoZW4oKCkgPT4geworICAgICAgICByZXR1cm4gcHJvbWlzZVJl
amVjdHModCwgIkludmFsaWRTdGF0ZUVycm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0
ZShvcHRpb25zKSwgIkF0IGxlYXN0IG9uZSBjcmVkZW50aWFsIG1hdGNoZXMgYW4gZW50cnkgb2Yg
dGhlIGV4Y2x1ZGVDcmVkZW50aWFscyBsaXN0IGluIHRoZSBwbGF0Zm9ybSBhdHRhY2hlZCBhdXRo
ZW50aWNhdG9yLiIpLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuY2xlYW5VcEtleWNoYWluKHRlc3RScElk
LCBjcmVkZW50aWFsSURCYXNlNjQpOwogICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVy
ZS1sb2NhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGlj
LWtleS1jcmVkZW50aWFsLWNyZWF0ZS1mYWlsdXJlLWxvY2FsLmh0dHBzLmh0bWwKaW5kZXggZmQ5
NGFmZTk1NTY2Y2IwNDJlMzdiOTliMTIwOTkyZmRhY2FjMWU1Yy4uMjc3MmU5ZjVkOTY1OGU1MDU0
MWI5MWMzNTFjMjNlZDFlZTc4OTUxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1mYWlsdXJlLWxvY2FsLmh0dHBz
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVk
ZW50aWFsLWNyZWF0ZS1mYWlsdXJlLWxvY2FsLmh0dHBzLmh0bWwKQEAgLTQ4LDcgKzQ4LDcgQEAK
ICAgICAgICAgfTsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAg
dGVzdFJ1bm5lci5hZGRUZXN0S2V5VG9LZXljaGFpbihwcml2YXRlS2V5QmFzZTY0LCB0ZXN0UnBJ
ZCwgdGVzdFVzZXJFbnRpdHlCdW5kbGVCYXNlNjQpOwotICAgICAgICByZXR1cm4gcHJvbWlzZVJl
amVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIsIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUo
b3B0aW9ucyksICJBdCBsZWFzdCBvbmUgY3JlZGVudGlhbCBtYXRjaGVzIGFuIGVudHJ5IG9mIHRo
ZSBleGNsdWRlQ3JlZGVudGlhbHMgbGlzdCBpbiB0aGUgcGxhdGZvcm0gYXR0YWNoZWQgYXV0aGVu
dGljYXRvci4iKS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RzKHQs
ICJJbnZhbGlkU3RhdGVFcnJvciIsIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9u
cyksICJBdCBsZWFzdCBvbmUgY3JlZGVudGlhbCBtYXRjaGVzIGFuIGVudHJ5IG9mIHRoZSBleGNs
dWRlQ3JlZGVudGlhbHMgbGlzdCBpbiB0aGUgcGxhdGZvcm0gYXR0YWNoZWQgYXV0aGVudGljYXRv
ci4iKS50aGVuKCgpID0+IHsKICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLmNsZWFuVXBLZXljaGFpbih0ZXN0UnBJZCwgY3JlZGVu
dGlhbElEQmFzZTY0KTsKICAgICAgICAgfSk7CkBAIC04MSw3ICs4MSw3IEBACiAgICAgICAgIH07
CiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgIHRlc3RSdW5uZXIu
YWRkVGVzdEtleVRvS2V5Y2hhaW4ocHJpdmF0ZUtleUJhc2U2NCwgdGVzdFJwSWQsIHRlc3RVc2Vy
RW50aXR5QnVuZGxlQmFzZTY0KTsKLSAgICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RzKHQsICJO
b3RBbGxvd2VkRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpLCAi
QXQgbGVhc3Qgb25lIGNyZWRlbnRpYWwgbWF0Y2hlcyBhbiBlbnRyeSBvZiB0aGUgZXhjbHVkZUNy
ZWRlbnRpYWxzIGxpc3QgaW4gdGhlIHBsYXRmb3JtIGF0dGFjaGVkIGF1dGhlbnRpY2F0b3IuIiku
dGhlbigoKSA9PiB7CisgICAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0cyh0LCAiSW52YWxpZFN0
YXRlRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpLCAiQXQgbGVh
c3Qgb25lIGNyZWRlbnRpYWwgbWF0Y2hlcyBhbiBlbnRyeSBvZiB0aGUgZXhjbHVkZUNyZWRlbnRp
YWxzIGxpc3QgaW4gdGhlIHBsYXRmb3JtIGF0dGFjaGVkIGF1dGhlbnRpY2F0b3IuIikudGhlbigo
KSA9PiB7CiAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5jbGVhblVwS2V5Y2hhaW4odGVzdFJwSWQsIGNyZWRlbnRpYWxJREJhc2U2
NCk7CiAgICAgICAgIH0pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>