<?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>234528</bug_id>
          
          <creation_ts>2021-12-20 14:41:11 -0800</creation_ts>
          <short_desc>Harden PCM and ITP databases against crashes</short_desc>
          <delta_ts>2021-12-21 10:32:54 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kate Cheney">katherine_cheney</reporter>
          <assigned_to name="Kate Cheney">katherine_cheney</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1825750</commentid>
    <comment_count>0</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-12-20 14:41:11 -0800</bug_when>
    <thetext>Harden PCM and ITP databases against crashes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825751</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-20 14:41:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/86741319&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825758</commentid>
    <comment_count>2</comment_count>
      <attachid>447646</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-12-20 14:51:11 -0800</bug_when>
    <thetext>Created attachment 447646
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825775</commentid>
    <comment_count>3</comment_count>
      <attachid>447646</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-12-20 15:18:38 -0800</bug_when>
    <thetext>Comment on attachment 447646
Patch

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

r=me

&gt; Source/WebKit/NetworkProcess/DatabaseUtilities.cpp:279
&gt; +    WebCore::SQLiteTransaction transaction(m_database);

beginTransactionIfNecessary ASSERTs when on the main thread. Should we add that assertion, too?

ASSERT(!RunLoop::isMain());</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826024</commentid>
    <comment_count>4</comment_count>
      <attachid>447646</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-12-21 09:25:24 -0800</bug_when>
    <thetext>Comment on attachment 447646
Patch

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

Thanks!

&gt;&gt; Source/WebKit/NetworkProcess/DatabaseUtilities.cpp:279
&gt;&gt; +    WebCore::SQLiteTransaction transaction(m_database);
&gt; 
&gt; beginTransactionIfNecessary ASSERTs when on the main thread. Should we add that assertion, too?
&gt; 
&gt; ASSERT(!RunLoop::isMain());

Yes, I can add that in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826025</commentid>
    <comment_count>5</comment_count>
      <attachid>447724</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-12-21 09:28:07 -0800</bug_when>
    <thetext>Created attachment 447724
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826027</commentid>
    <comment_count>6</comment_count>
      <attachid>447725</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-12-21 09:32:11 -0800</bug_when>
    <thetext>Created attachment 447725
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826042</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-21 10:32:49 -0800</bug_when>
    <thetext>Committed r287322 (245472@main): &lt;https://commits.webkit.org/245472@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 447725.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447646</attachid>
            <date>2021-12-20 14:51:11 -0800</date>
            <delta_ts>2021-12-21 09:28:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234528-20211220175110.patch</filename>
            <type>text/plain</type>
            <size>5826</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3Mjc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM3MDIzYTMzN2Y0NTYzNjk0
MjhkZjc3NTNmODNhZjk2OWI4YTk4Y2YuLmVkMDE5YjdhNmJhODNlMjFlNWI5NzQ3NWJjNTYwMTdh
YzIwNGNmNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMTItMjAgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgSGFyZGVuIFBDTSBh
bmQgSVRQIGRhdGFiYXNlcyBhZ2FpbnN0IGNyYXNoZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDUyOAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
ODY3NDEzMTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGhpcyBwYXRjaCBkb2VzIHR3byB0aGluZ3MuIEZpcnN0LCBpdCBzcGVjaWZpZXMgYSBjb2x1
bW4gdHlwZSBmb3IgdGhlCisgICAgICAgIG5ldyBkZXN0aW5hdGlvbiB0b2tlbiwga2V5SUQgYW5k
IHNpZ25hdHVyZSBjb2x1bW5zLiBUaGlzIHdhcyBjYXVzaW5nCisgICAgICAgIHRoZSBjcmFzaGVz
IGluIHJkYXI6Ly84NjM0NzQzOSBieSBjb21wYXJpbmcgdGhlIGRlZmluZWQgQ1JFQVRFIFRBQkxF
IHF1ZXJ5CisgICAgICAgIHdpdGggdHlwZXMgdG8gdGhlIGV4aXN0aW5nIHF1ZXJ5IHdpdGggbm8g
dHlwZXMuIFNlY29uZCwgaXQgYWRkcworICAgICAgICBoYXJkZW5pbmcgdG8gdGhlIG1pZ3JhdGlv
biBjb2RlIHRvIGFib3J0IG1pZ3JhdGlvbiBpZiBvbmUgb2YgdGhlIHN0ZXBzCisgICAgICAgIGZh
aWxzLiBUaGlzIHdpbGwgaGVscCBwcmV2ZW50IGZ1dHVyZSBjcmFzaGVzIGxpa2UgcmRhcjovLzg2
MzQ3NDM5CisgICAgICAgIGJ5IGFib3J0aW5nIGEgbWlncmF0aW9uIGVhcmx5IGlmIGEgZmFpbHVy
ZSBvY2N1cnMgYW5kIG5vdCBsZWF2aW5nIHRoZQorICAgICAgICBkYiBpbiBhIG1lc3N5IHN0YXRl
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gTm8gYmVoYXZpb3IgY2hhbmdlLCB0aGlzIHdpbGwg
aGFyZGVuIGFnYWluc3QgZmxha3kgaXNzdWVzCisgICAgICAgIHRoYXQgbWF5IGNhdXNlIGEgbWln
cmF0aW9uIHRvIGZhaWwgcGFydCB3YXkgdGhyb3VnaCwgbGlrZSBJL08gZXJyb3JzLgorCisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvRGF0YWJhc2VVdGlsaXRpZXMuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpEYXRhYmFzZVV0aWxpdGllczo6bWlncmF0ZURhdGFUb05ld1RhYmxlc0lmTmVjZXNzYXJ5
KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2
YXRlQ2xpY2tNZWFzdXJlbWVudERhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UENNOjpE
YXRhYmFzZTo6YWRkRGVzdGluYXRpb25Ub2tlbkNvbHVtbnNJZk5lY2Vzc2FyeSk6CisKIDIwMjEt
MTItMjAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAg
QWRkIHNvbWUgbWlzc2luZyBBUEkgYXZhaWxhYmlsaXR5IG1hY3JvcyBhcm91bmQgc29tZSBXZWJY
UiBTUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRGF0YWJhc2VV
dGlsaXRpZXMuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9EYXRhYmFzZVV0aWxp
dGllcy5jcHAKaW5kZXggNmUzMDI1NzE3ODA1NWY3MTAwZGE1MmRiOTBjYjRiYTEwZTFiZWNjOC4u
MWY0M2E4OTQwOTMwNjQ5ZDBhYzk1NmEwMmY1MGRiZTg5YTcwZjgxZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9EYXRhYmFzZVV0aWxpdGllcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9EYXRhYmFzZVV0aWxpdGllcy5jcHAKQEAgLTI3Niwx
OCArMjc2LDIxIEBAIHZvaWQgRGF0YWJhc2VVdGlsaXRpZXM6Om1pZ3JhdGVEYXRhVG9OZXdUYWJs
ZXNJZk5lY2Vzc2FyeSgpCiAgICAgaWYgKCFuZWVkc1VwZGF0ZWRTY2hlbWEoKSkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgYXV0byB0cmFuc2FjdGlvblNjb3BlID0gYmVnaW5UcmFuc2FjdGlvbklm
TmVjZXNzYXJ5KCk7CisgICAgV2ViQ29yZTo6U1FMaXRlVHJhbnNhY3Rpb24gdHJhbnNhY3Rpb24o
bV9kYXRhYmFzZSk7CisgICAgdHJhbnNhY3Rpb24uYmVnaW4oKTsKIAogICAgIGZvciAoYXV0byYg
dGFibGUgOiBleHBlY3RlZFRhYmxlQW5kSW5kZXhRdWVyaWVzKCkua2V5cygpKSB7CiAgICAgICAg
IGF1dG8gYWx0ZXJUYWJsZSA9IG1fZGF0YWJhc2UucHJlcGFyZVN0YXRlbWVudFNsb3cobWFrZVN0
cmluZygiQUxURVIgVEFCTEUgIiwgdGFibGUsICIgUkVOQU1FIFRPIF8iLCB0YWJsZSkpOwogICAg
ICAgICBpZiAoIWFsdGVyVGFibGUgfHwgYWx0ZXJUYWJsZS0+c3RlcCgpICE9IFNRTElURV9ET05F
KSB7CiAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dCwgIiVwIC0gRGF0YWJhc2VVdGlsaXRpZXM6Om1pZ3JhdGVEYXRhVG9OZXdUYWJsZXNJZk5lY2Vz
c2FyeSBmYWlsZWQgdG8gcmVuYW1lIHRhYmxlLCBlcnJvciBtZXNzYWdlOiAlcyIsIHRoaXMsIG1f
ZGF0YWJhc2UubGFzdEVycm9yTXNnKCkpOworICAgICAgICAgICAgdHJhbnNhY3Rpb24ucm9sbGJh
Y2soKTsKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKCFjcmVhdGVTY2hlbWEoKSkgeworICAg
ICAgICB0cmFuc2FjdGlvbi5yb2xsYmFjaygpOwogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTI5Niw2ICsyOTksNyBAQCB2b2lkIERhdGFi
YXNlVXRpbGl0aWVzOjptaWdyYXRlRGF0YVRvTmV3VGFibGVzSWZOZWNlc3NhcnkoKQogICAgIGZv
ciAoYXV0byYgdGFibGUgOiBzb3J0ZWRUYWJsZXMoKSkgewogICAgICAgICBhdXRvIG1pZ3JhdGVU
YWJsZURhdGEgPSBpbnNlcnREaXN0aW5jdFZhbHVlc0luVGFibGVTdGF0ZW1lbnQobV9kYXRhYmFz
ZSwgdGFibGUpOwogICAgICAgICBpZiAoIW1pZ3JhdGVUYWJsZURhdGEgfHwgbWlncmF0ZVRhYmxl
RGF0YS0+c3RlcCgpICE9IFNRTElURV9ET05FKSB7CisgICAgICAgICAgICB0cmFuc2FjdGlvbi5y
b2xsYmFjaygpOwogICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQsICIlcCAtIERhdGFiYXNlVXRpbGl0aWVzOjptaWdyYXRlRGF0YVRvTmV3VGFibGVz
SWZOZWNlc3NhcnkgKHRhYmxlICVzKSBmYWlsZWQgdG8gbWlncmF0ZSBzY2hlbWEsIGVycm9yIG1l
c3NhZ2U6ICVzIiwgdGhpcywgdGFibGUuY2hhcmFjdGVycygpLCBtX2RhdGFiYXNlLmxhc3RFcnJv
ck1zZygpKTsKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAg
cmV0dXJuOwpAQCAtMzA2LDYgKzMxMCw3IEBAIHZvaWQgRGF0YWJhc2VVdGlsaXRpZXM6Om1pZ3Jh
dGVEYXRhVG9OZXdUYWJsZXNJZk5lY2Vzc2FyeSgpCiAgICAgZm9yIChhdXRvJiB0YWJsZSA6IHNv
cnRlZFRhYmxlcygpKSB7CiAgICAgICAgIGF1dG8gZHJvcFRhYmxlUXVlcnkgPSBtX2RhdGFiYXNl
LnByZXBhcmVTdGF0ZW1lbnRTbG93KG1ha2VTdHJpbmcoIkRST1AgVEFCTEUgXyIsIHRhYmxlKSk7
CiAgICAgICAgIGlmICghZHJvcFRhYmxlUXVlcnkgfHwgZHJvcFRhYmxlUXVlcnktPnN0ZXAoKSAh
PSBTUUxJVEVfRE9ORSkgeworICAgICAgICAgICAgdHJhbnNhY3Rpb24ucm9sbGJhY2soKTsKICAg
ICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByaXZhdGVDbGlja01lYXN1cmVtZW50LCAiJXAg
LSBEYXRhYmFzZVV0aWxpdGllczo6bWlncmF0ZURhdGFUb05ld1RhYmxlc0lmTmVjZXNzYXJ5IGZh
aWxlZCB0byBkcm9wIHRlbXBvcmFyeSB0YWJsZXMsIGVycm9yIG1lc3NhZ2U6ICVzIiwgdGhpcywg
bV9kYXRhYmFzZS5sYXN0RXJyb3JNc2coKSk7CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTMxNCw4ICszMTksMTEgQEAgdm9pZCBEYXRh
YmFzZVV0aWxpdGllczo6bWlncmF0ZURhdGFUb05ld1RhYmxlc0lmTmVjZXNzYXJ5KCkKIAogICAg
IGlmICghY3JlYXRlVW5pcXVlSW5kaWNlcygpKSB7CiAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9S
KFByaXZhdGVDbGlja01lYXN1cmVtZW50LCAiJXAgLSBEYXRhYmFzZVV0aWxpdGllczo6bWlncmF0
ZURhdGFUb05ld1RhYmxlc0lmTmVjZXNzYXJ5IGZhaWxlZCB0byBjcmVhdGUgdW5pcXVlIGluZGlj
ZXMsIGVycm9yIG1lc3NhZ2U6ICVzIiwgdGhpcywgbV9kYXRhYmFzZS5sYXN0RXJyb3JNc2coKSk7
CisgICAgICAgIHRyYW5zYWN0aW9uLnJvbGxiYWNrKCk7CiAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgIH0KKworICAgIHRyYW5zYWN0aW9uLmNvbW1pdCgpOwogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnREYXRhYmFzZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50
L1ByaXZhdGVDbGlja01lYXN1cmVtZW50RGF0YWJhc2UuY3BwCmluZGV4IDkwMzAyMmZhMGY5MjU5
YzhlNzQwNjkwNTEyMzU0YWQ1YzRjOTJiYTguLmRhYmRjYjdhNmQ5NGNhZTVkMTg3NjVlMzk1N2Jh
ZTRmNDhlMWE2YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnREYXRhYmFzZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudERhdGFiYXNlLmNwcApAQCAtNzE1LDkgKzcxNSw5IEBA
IHZvaWQgRGF0YWJhc2U6OmFkZERlc3RpbmF0aW9uVG9rZW5Db2x1bW5zSWZOZWNlc3NhcnkoKQog
ICAgIFN0cmluZyBkZXN0aW5hdGlvbktleUlEQ29sdW1uTmFtZSgiZGVzdGluYXRpb25LZXlJRCJf
cyk7CiAgICAgYXV0byBjb2x1bW5zID0gY29sdW1uc0ZvclRhYmxlKGF0dHJpYnV0ZWRUYWJsZU5h
bWUpOwogICAgIGlmICghY29sdW1ucy5zaXplKCkgfHwgY29sdW1ucy5sYXN0KCkgIT0gZGVzdGlu
YXRpb25LZXlJRENvbHVtbk5hbWUpIHsKLSAgICAgICAgYWRkTWlzc2luZ0NvbHVtblRvVGFibGUo
YXR0cmlidXRlZFRhYmxlTmFtZSwgImRlc3RpbmF0aW9uVG9rZW4iX3MpOwotICAgICAgICBhZGRN
aXNzaW5nQ29sdW1uVG9UYWJsZShhdHRyaWJ1dGVkVGFibGVOYW1lLCAiZGVzdGluYXRpb25TaWdu
YXR1cmUiX3MpOwotICAgICAgICBhZGRNaXNzaW5nQ29sdW1uVG9UYWJsZShhdHRyaWJ1dGVkVGFi
bGVOYW1lLCBkZXN0aW5hdGlvbktleUlEQ29sdW1uTmFtZSk7CisgICAgICAgIGFkZE1pc3NpbmdD
b2x1bW5Ub1RhYmxlKGF0dHJpYnV0ZWRUYWJsZU5hbWUsICJkZXN0aW5hdGlvblRva2VuIFRFWFQi
X3MpOworICAgICAgICBhZGRNaXNzaW5nQ29sdW1uVG9UYWJsZShhdHRyaWJ1dGVkVGFibGVOYW1l
LCAiZGVzdGluYXRpb25TaWduYXR1cmUgVEVYVCJfcyk7CisgICAgICAgIGFkZE1pc3NpbmdDb2x1
bW5Ub1RhYmxlKGF0dHJpYnV0ZWRUYWJsZU5hbWUsICJkZXN0aW5hdGlvbktleUlEIFRFWFQiKTsK
ICAgICB9CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447724</attachid>
            <date>2021-12-21 09:28:07 -0800</date>
            <delta_ts>2021-12-21 09:32:00 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-234528-20211221122806.patch</filename>
            <type>text/plain</type>
            <size>8112</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3Mjc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM3MDIzYTMzN2Y0NTYzNjk0
MjhkZjc3NTNmODNhZjk2OWI4YTk4Y2YuLmY3ZTAxZGQ5YTQzOTg5ODA1OTY4Y2U3MmNiM2YzMzA1
YWE3NTRlNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMTItMjAgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgSGFyZGVuIFBDTSBh
bmQgSVRQIGRhdGFiYXNlcyBhZ2FpbnN0IGNyYXNoZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDUyOAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
ODY3NDEzMTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKworICAgICAg
ICBUaGlzIHBhdGNoIGRvZXMgdHdvIHRoaW5ncy4gRmlyc3QsIGl0IHNwZWNpZmllcyBhIGNvbHVt
biB0eXBlIGZvciB0aGUKKyAgICAgICAgbmV3IGRlc3RpbmF0aW9uIHRva2VuLCBrZXlJRCBhbmQg
c2lnbmF0dXJlIGNvbHVtbnMuIFRoaXMgd2FzIGNhdXNpbmcKKyAgICAgICAgdGhlIGNyYXNoZXMg
aW4gcmRhcjovLzg2MzQ3NDM5IGJ5IGNvbXBhcmluZyB0aGUgZGVmaW5lZCBDUkVBVEUgVEFCTEUg
cXVlcnkKKyAgICAgICAgd2l0aCB0eXBlcyB0byB0aGUgZXhpc3RpbmcgcXVlcnkgd2l0aCBubyB0
eXBlcy4gU2Vjb25kLCBpdCBhZGRzCisgICAgICAgIGhhcmRlbmluZyB0byB0aGUgbWlncmF0aW9u
IGNvZGUgdG8gYWJvcnQgbWlncmF0aW9uIGlmIG9uZSBvZiB0aGUgc3RlcHMKKyAgICAgICAgZmFp
bHMuIFRoaXMgd2lsbCBoZWxwIHByZXZlbnQgZnV0dXJlIGNyYXNoZXMgbGlrZSByZGFyOi8vODYz
NDc0MzkKKyAgICAgICAgYnkgYWJvcnRpbmcgYSBtaWdyYXRpb24gZWFybHkgaWYgYSBmYWlsdXJl
IG9jY3VycyBhbmQgbm90IGxlYXZpbmcgdGhlCisgICAgICAgIGRiIGluIGEgbWVzc3kgc3RhdGUu
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBObyBiZWhhdmlvciBjaGFuZ2UsIHRoaXMgd2lsbCBo
YXJkZW4gYWdhaW5zdCBmbGFreSBpc3N1ZXMKKyAgICAgICAgdGhhdCBtYXkgY2F1c2UgYSBtaWdy
YXRpb24gdG8gZmFpbCBwYXJ0IHdheSB0aHJvdWdoLCBsaWtlIEkvTyBlcnJvcnMuCisKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9EYXRhYmFzZVV0aWxpdGllcy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OkRhdGFiYXNlVXRpbGl0aWVzOjptaWdyYXRlRGF0YVRvTmV3VGFibGVzSWZOZWNlc3Nhcnkp
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZh
dGVDbGlja01lYXN1cmVtZW50RGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpQQ006OkRh
dGFiYXNlOjphZGREZXN0aW5hdGlvblRva2VuQ29sdW1uc0lmTmVjZXNzYXJ5KToKKwogMjAyMS0x
Mi0yMCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBB
ZGQgc29tZSBtaXNzaW5nIEFQSSBhdmFpbGFiaWxpdHkgbWFjcm9zIGFyb3VuZCBzb21lIFdlYlhS
IFNQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9EYXRhYmFzZVV0
aWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0RhdGFiYXNlVXRpbGl0
aWVzLmNwcAppbmRleCA2ZTMwMjU3MTc4MDU1ZjcxMDBkYTUyZGI5MGNiNGJhMTBlMWJlY2M4Li4x
OGYxMWQzMzllMWUyMDc1OWE2OTg5ZWEzYWYyM2Q4YTk4NjFjNDViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0RhdGFiYXNlVXRpbGl0aWVzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0RhdGFiYXNlVXRpbGl0aWVzLmNwcApAQCAtMjczLDIx
ICsyNzMsMjUgQEAgc3RhdGljIEV4cGVjdGVkPFdlYkNvcmU6OlNRTGl0ZVN0YXRlbWVudCwgaW50
PiBpbnNlcnREaXN0aW5jdFZhbHVlc0luVGFibGVTdGF0ZW0KIAogdm9pZCBEYXRhYmFzZVV0aWxp
dGllczo6bWlncmF0ZURhdGFUb05ld1RhYmxlc0lmTmVjZXNzYXJ5KCkKIHsKKyAgICBBU1NFUlQo
IVJ1bkxvb3A6OmlzTWFpbigpKTsKICAgICBpZiAoIW5lZWRzVXBkYXRlZFNjaGVtYSgpKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBhdXRvIHRyYW5zYWN0aW9uU2NvcGUgPSBiZWdpblRyYW5zYWN0
aW9uSWZOZWNlc3NhcnkoKTsKKyAgICBXZWJDb3JlOjpTUUxpdGVUcmFuc2FjdGlvbiB0cmFuc2Fj
dGlvbihtX2RhdGFiYXNlKTsKKyAgICB0cmFuc2FjdGlvbi5iZWdpbigpOwogCiAgICAgZm9yIChh
dXRvJiB0YWJsZSA6IGV4cGVjdGVkVGFibGVBbmRJbmRleFF1ZXJpZXMoKS5rZXlzKCkpIHsKICAg
ICAgICAgYXV0byBhbHRlclRhYmxlID0gbV9kYXRhYmFzZS5wcmVwYXJlU3RhdGVtZW50U2xvdyht
YWtlU3RyaW5nKCJBTFRFUiBUQUJMRSAiLCB0YWJsZSwgIiBSRU5BTUUgVE8gXyIsIHRhYmxlKSk7
CiAgICAgICAgIGlmICghYWx0ZXJUYWJsZSB8fCBhbHRlclRhYmxlLT5zdGVwKCkgIT0gU1FMSVRF
X0RPTkUpIHsKICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByaXZhdGVDbGlja01lYXN1
cmVtZW50LCAiJXAgLSBEYXRhYmFzZVV0aWxpdGllczo6bWlncmF0ZURhdGFUb05ld1RhYmxlc0lm
TmVjZXNzYXJ5IGZhaWxlZCB0byByZW5hbWUgdGFibGUsIGVycm9yIG1lc3NhZ2U6ICVzIiwgdGhp
cywgbV9kYXRhYmFzZS5sYXN0RXJyb3JNc2coKSk7CisgICAgICAgICAgICB0cmFuc2FjdGlvbi5y
b2xsYmFjaygpOwogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CiAKICAgICBpZiAoIWNyZWF0ZVNjaGVtYSgpKSB7
CisgICAgICAgIHRyYW5zYWN0aW9uLnJvbGxiYWNrKCk7CiAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMjk2LDYgKzMwMCw3IEBAIHZvaWQg
RGF0YWJhc2VVdGlsaXRpZXM6Om1pZ3JhdGVEYXRhVG9OZXdUYWJsZXNJZk5lY2Vzc2FyeSgpCiAg
ICAgZm9yIChhdXRvJiB0YWJsZSA6IHNvcnRlZFRhYmxlcygpKSB7CiAgICAgICAgIGF1dG8gbWln
cmF0ZVRhYmxlRGF0YSA9IGluc2VydERpc3RpbmN0VmFsdWVzSW5UYWJsZVN0YXRlbWVudChtX2Rh
dGFiYXNlLCB0YWJsZSk7CiAgICAgICAgIGlmICghbWlncmF0ZVRhYmxlRGF0YSB8fCBtaWdyYXRl
VGFibGVEYXRhLT5zdGVwKCkgIT0gU1FMSVRFX0RPTkUpIHsKKyAgICAgICAgICAgIHRyYW5zYWN0
aW9uLnJvbGxiYWNrKCk7CiAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudCwgIiVwIC0gRGF0YWJhc2VVdGlsaXRpZXM6Om1pZ3JhdGVEYXRhVG9OZXdU
YWJsZXNJZk5lY2Vzc2FyeSAodGFibGUgJXMpIGZhaWxlZCB0byBtaWdyYXRlIHNjaGVtYSwgZXJy
b3IgbWVzc2FnZTogJXMiLCB0aGlzLCB0YWJsZS5jaGFyYWN0ZXJzKCksIG1fZGF0YWJhc2UubGFz
dEVycm9yTXNnKCkpOwogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAg
ICAgICByZXR1cm47CkBAIC0zMDYsNiArMzExLDcgQEAgdm9pZCBEYXRhYmFzZVV0aWxpdGllczo6
bWlncmF0ZURhdGFUb05ld1RhYmxlc0lmTmVjZXNzYXJ5KCkKICAgICBmb3IgKGF1dG8mIHRhYmxl
IDogc29ydGVkVGFibGVzKCkpIHsKICAgICAgICAgYXV0byBkcm9wVGFibGVRdWVyeSA9IG1fZGF0
YWJhc2UucHJlcGFyZVN0YXRlbWVudFNsb3cobWFrZVN0cmluZygiRFJPUCBUQUJMRSBfIiwgdGFi
bGUpKTsKICAgICAgICAgaWYgKCFkcm9wVGFibGVRdWVyeSB8fCBkcm9wVGFibGVRdWVyeS0+c3Rl
cCgpICE9IFNRTElURV9ET05FKSB7CisgICAgICAgICAgICB0cmFuc2FjdGlvbi5yb2xsYmFjaygp
OwogICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQs
ICIlcCAtIERhdGFiYXNlVXRpbGl0aWVzOjptaWdyYXRlRGF0YVRvTmV3VGFibGVzSWZOZWNlc3Nh
cnkgZmFpbGVkIHRvIGRyb3AgdGVtcG9yYXJ5IHRhYmxlcywgZXJyb3IgbWVzc2FnZTogJXMiLCB0
aGlzLCBtX2RhdGFiYXNlLmxhc3RFcnJvck1zZygpKTsKICAgICAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMzE0LDggKzMyMCwxMiBAQCB2b2lk
IERhdGFiYXNlVXRpbGl0aWVzOjptaWdyYXRlRGF0YVRvTmV3VGFibGVzSWZOZWNlc3NhcnkoKQog
CiAgICAgaWYgKCFjcmVhdGVVbmlxdWVJbmRpY2VzKCkpIHsKICAgICAgICAgUkVMRUFTRV9MT0df
RVJST1IoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsICIlcCAtIERhdGFiYXNlVXRpbGl0aWVzOjpt
aWdyYXRlRGF0YVRvTmV3VGFibGVzSWZOZWNlc3NhcnkgZmFpbGVkIHRvIGNyZWF0ZSB1bmlxdWUg
aW5kaWNlcywgZXJyb3IgbWVzc2FnZTogJXMiLCB0aGlzLCBtX2RhdGFiYXNlLmxhc3RFcnJvck1z
ZygpKTsKKyAgICAgICAgdHJhbnNhY3Rpb24ucm9sbGJhY2soKTsKICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybjsKICAgICB9CisKKyAgICB0cmFuc2FjdGlvbi5j
b21taXQoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlj
a01lYXN1cmVtZW50RGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudERhdGFiYXNlLmNw
cAppbmRleCA5MDMwMjJmYTBmOTI1OWM4ZTc0MDY5MDUxMjM1NGFkNWM0YzkyYmE4Li5kYWJkY2I3
YTZkOTRjYWU1ZDE4NzY1ZTM5NTdiYWU0ZjQ4ZTFhNmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01l
YXN1cmVtZW50RGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnREYXRhYmFzZS5j
cHAKQEAgLTcxNSw5ICs3MTUsOSBAQCB2b2lkIERhdGFiYXNlOjphZGREZXN0aW5hdGlvblRva2Vu
Q29sdW1uc0lmTmVjZXNzYXJ5KCkKICAgICBTdHJpbmcgZGVzdGluYXRpb25LZXlJRENvbHVtbk5h
bWUoImRlc3RpbmF0aW9uS2V5SUQiX3MpOwogICAgIGF1dG8gY29sdW1ucyA9IGNvbHVtbnNGb3JU
YWJsZShhdHRyaWJ1dGVkVGFibGVOYW1lKTsKICAgICBpZiAoIWNvbHVtbnMuc2l6ZSgpIHx8IGNv
bHVtbnMubGFzdCgpICE9IGRlc3RpbmF0aW9uS2V5SURDb2x1bW5OYW1lKSB7Ci0gICAgICAgIGFk
ZE1pc3NpbmdDb2x1bW5Ub1RhYmxlKGF0dHJpYnV0ZWRUYWJsZU5hbWUsICJkZXN0aW5hdGlvblRv
a2VuIl9zKTsKLSAgICAgICAgYWRkTWlzc2luZ0NvbHVtblRvVGFibGUoYXR0cmlidXRlZFRhYmxl
TmFtZSwgImRlc3RpbmF0aW9uU2lnbmF0dXJlIl9zKTsKLSAgICAgICAgYWRkTWlzc2luZ0NvbHVt
blRvVGFibGUoYXR0cmlidXRlZFRhYmxlTmFtZSwgZGVzdGluYXRpb25LZXlJRENvbHVtbk5hbWUp
OworICAgICAgICBhZGRNaXNzaW5nQ29sdW1uVG9UYWJsZShhdHRyaWJ1dGVkVGFibGVOYW1lLCAi
ZGVzdGluYXRpb25Ub2tlbiBURVhUIl9zKTsKKyAgICAgICAgYWRkTWlzc2luZ0NvbHVtblRvVGFi
bGUoYXR0cmlidXRlZFRhYmxlTmFtZSwgImRlc3RpbmF0aW9uU2lnbmF0dXJlIFRFWFQiX3MpOwor
ICAgICAgICBhZGRNaXNzaW5nQ29sdW1uVG9UYWJsZShhdHRyaWJ1dGVkVGFibGVOYW1lLCAiZGVz
dGluYXRpb25LZXlJRCBURVhUIik7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFu
Z2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggM2MyNmE3MmIxOWZiYjBiN2FkODFhMThlMTEz
MzM2ODkxODg3YThlMy4uM2E2ZDJmNTgwNTI5YzE5YjYyNzE1OWM3NTEzMzY4NzhmNGQyOWRlZSAx
MDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDExIEBACisyMDIxLTExLTAzICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBw
bGUuY29tPgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzIxNjYKKworICAgICAgICBSZXZpZXdlZCBieSBCcmVudCBGdWxnaGFtLgorCisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BcHBQcml2YWN5UmVwb3J0Lm1tOgor
CiAyMDIxLTEyLTIwICBKIFBhc2NvZSAgPGpfcGFzY29lQGFwcGxlLmNvbT4KIAogICAgICAgICBb
V2ViQXV0aG5dIEFkZCBvcHRpb24gdG8gY2hhbmdlIHJlcXVlc3RXZWJBdXRoZW50aWNhdGlvbk5v
R2VzdHVyZSBkZWxlZ2F0ZSBmb3IgYXBpIHRlc3RzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BcHBQcml2YWN5UmVwb3J0Lm1tIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BcHBQcml2YWN5UmVwb3J0Lm1tCmluZGV4IDc1
YzA2OTY3YTllMWMyNjBkZGZlODczYzkzN2U3MjljYTgxYmY4NTguLmFiODA0OTA0ZTNlZTFiNzhl
YmY2YjYxYTU5ZDNiODJhNTU3NjEzNWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvQXBwUHJpdmFjeVJlcG9ydC5tbQorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0FwcFByaXZhY3lSZXBvcnQubW0KQEAgLTY5OCwxMCAr
Njk4LDcgQEAgVEVTVChBcHBQcml2YWN5UmVwb3J0LCBSZWdpc3RlclNlcnZpY2VXb3JrZXJDbGll
bnRVcGRhdGVzQXBwSW5pdGlhdGVkVmFsdWUpCiAKIHN0YXRpYyB2b2lkIGxvYWRTaW11bGF0ZWRS
ZXF1ZXN0VGVzdChJc0FwcEluaXRpYXRlZCBpc0FwcEluaXRpYXRlZCkKIHsKLSAgICBhdXRvIHdl
YlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJl
Y3QoMCwgMCwgODAwLCA2MDApXSk7Ci0KLSAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW1Rl
c3ROYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKLSAgICBbd2ViVmlldyBzZXROYXZp
Z2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0
TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwg
MzIwLCA1MDApXSk7CiAKICAgICBOU011dGFibGVVUkxSZXF1ZXN0ICpsb2FkUmVxdWVzdCA9IFtO
U011dGFibGVVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAi
YWJvdXQ6YmxhbmsiXV07CiAgICAgbG9hZFJlcXVlc3QuYXR0cmlidXRpb24gPSBpc0FwcEluaXRp
YXRlZCA9PSBJc0FwcEluaXRpYXRlZDo6WWVzID8gTlNVUkxSZXF1ZXN0QXR0cmlidXRpb25EZXZl
bG9wZXIgOiBOU1VSTFJlcXVlc3RBdHRyaWJ1dGlvblVzZXI7CkBAIC03MDksNyArNzA2LDcgQEAg
c3RhdGljIHZvaWQgbG9hZFNpbXVsYXRlZFJlcXVlc3RUZXN0KElzQXBwSW5pdGlhdGVkIGlzQXBw
SW5pdGlhdGVkKQogICAgIE5TU3RyaW5nICpIVE1MID0gQCI8aHRtbD48aGVhZD48L2hlYWQ+PGJv
ZHk+PGlmcmFtZSBzcmM9J2h0dHA6Ly8xMjcuMC4wLjEvJz48L2lmcmFtZT48L2JvZHk+PC9odG1s
PiI7CiAKICAgICBbd2ViVmlldyBsb2FkU2ltdWxhdGVkUmVxdWVzdDpsb2FkUmVxdWVzdCByZXNw
b25zZUhUTUxTdHJpbmc6SFRNTF07Ci0gICAgW2RlbGVnYXRlIHdhaXRGb3JEaWRGaW5pc2hOYXZp
Z2F0aW9uXTsKKyAgICBbd2ViVmlldyBfdGVzdF93YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07
CiAKICAgICBzdGF0aWMgYm9vbCBpc0RvbmUgPSBmYWxzZTsKICAgICBib29sIGV4cGVjdGluZ0Fw
cEluaXRpYXRlZFJlcXVlc3RzID0gaXNBcHBJbml0aWF0ZWQgPT0gSXNBcHBJbml0aWF0ZWQ6Olll
cyA/IHRydWUgOiBmYWxzZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447725</attachid>
            <date>2021-12-21 09:32:11 -0800</date>
            <delta_ts>2021-12-21 10:32:52 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-234528-20211221123210.patch</filename>
            <type>text/plain</type>
            <size>5962</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3Mjc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM3MDIzYTMzN2Y0NTYzNjk0
MjhkZjc3NTNmODNhZjk2OWI4YTk4Y2YuLmY3ZTAxZGQ5YTQzOTg5ODA1OTY4Y2U3MmNiM2YzMzA1
YWE3NTRlNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMTItMjAgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgSGFyZGVuIFBDTSBh
bmQgSVRQIGRhdGFiYXNlcyBhZ2FpbnN0IGNyYXNoZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDUyOAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
ODY3NDEzMTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKworICAgICAg
ICBUaGlzIHBhdGNoIGRvZXMgdHdvIHRoaW5ncy4gRmlyc3QsIGl0IHNwZWNpZmllcyBhIGNvbHVt
biB0eXBlIGZvciB0aGUKKyAgICAgICAgbmV3IGRlc3RpbmF0aW9uIHRva2VuLCBrZXlJRCBhbmQg
c2lnbmF0dXJlIGNvbHVtbnMuIFRoaXMgd2FzIGNhdXNpbmcKKyAgICAgICAgdGhlIGNyYXNoZXMg
aW4gcmRhcjovLzg2MzQ3NDM5IGJ5IGNvbXBhcmluZyB0aGUgZGVmaW5lZCBDUkVBVEUgVEFCTEUg
cXVlcnkKKyAgICAgICAgd2l0aCB0eXBlcyB0byB0aGUgZXhpc3RpbmcgcXVlcnkgd2l0aCBubyB0
eXBlcy4gU2Vjb25kLCBpdCBhZGRzCisgICAgICAgIGhhcmRlbmluZyB0byB0aGUgbWlncmF0aW9u
IGNvZGUgdG8gYWJvcnQgbWlncmF0aW9uIGlmIG9uZSBvZiB0aGUgc3RlcHMKKyAgICAgICAgZmFp
bHMuIFRoaXMgd2lsbCBoZWxwIHByZXZlbnQgZnV0dXJlIGNyYXNoZXMgbGlrZSByZGFyOi8vODYz
NDc0MzkKKyAgICAgICAgYnkgYWJvcnRpbmcgYSBtaWdyYXRpb24gZWFybHkgaWYgYSBmYWlsdXJl
IG9jY3VycyBhbmQgbm90IGxlYXZpbmcgdGhlCisgICAgICAgIGRiIGluIGEgbWVzc3kgc3RhdGUu
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBObyBiZWhhdmlvciBjaGFuZ2UsIHRoaXMgd2lsbCBo
YXJkZW4gYWdhaW5zdCBmbGFreSBpc3N1ZXMKKyAgICAgICAgdGhhdCBtYXkgY2F1c2UgYSBtaWdy
YXRpb24gdG8gZmFpbCBwYXJ0IHdheSB0aHJvdWdoLCBsaWtlIEkvTyBlcnJvcnMuCisKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9EYXRhYmFzZVV0aWxpdGllcy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OkRhdGFiYXNlVXRpbGl0aWVzOjptaWdyYXRlRGF0YVRvTmV3VGFibGVzSWZOZWNlc3Nhcnkp
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZh
dGVDbGlja01lYXN1cmVtZW50RGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpQQ006OkRh
dGFiYXNlOjphZGREZXN0aW5hdGlvblRva2VuQ29sdW1uc0lmTmVjZXNzYXJ5KToKKwogMjAyMS0x
Mi0yMCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBB
ZGQgc29tZSBtaXNzaW5nIEFQSSBhdmFpbGFiaWxpdHkgbWFjcm9zIGFyb3VuZCBzb21lIFdlYlhS
IFNQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9EYXRhYmFzZVV0
aWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0RhdGFiYXNlVXRpbGl0
aWVzLmNwcAppbmRleCA2ZTMwMjU3MTc4MDU1ZjcxMDBkYTUyZGI5MGNiNGJhMTBlMWJlY2M4Li4x
OGYxMWQzMzllMWUyMDc1OWE2OTg5ZWEzYWYyM2Q4YTk4NjFjNDViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0RhdGFiYXNlVXRpbGl0aWVzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0RhdGFiYXNlVXRpbGl0aWVzLmNwcApAQCAtMjczLDIx
ICsyNzMsMjUgQEAgc3RhdGljIEV4cGVjdGVkPFdlYkNvcmU6OlNRTGl0ZVN0YXRlbWVudCwgaW50
PiBpbnNlcnREaXN0aW5jdFZhbHVlc0luVGFibGVTdGF0ZW0KIAogdm9pZCBEYXRhYmFzZVV0aWxp
dGllczo6bWlncmF0ZURhdGFUb05ld1RhYmxlc0lmTmVjZXNzYXJ5KCkKIHsKKyAgICBBU1NFUlQo
IVJ1bkxvb3A6OmlzTWFpbigpKTsKICAgICBpZiAoIW5lZWRzVXBkYXRlZFNjaGVtYSgpKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBhdXRvIHRyYW5zYWN0aW9uU2NvcGUgPSBiZWdpblRyYW5zYWN0
aW9uSWZOZWNlc3NhcnkoKTsKKyAgICBXZWJDb3JlOjpTUUxpdGVUcmFuc2FjdGlvbiB0cmFuc2Fj
dGlvbihtX2RhdGFiYXNlKTsKKyAgICB0cmFuc2FjdGlvbi5iZWdpbigpOwogCiAgICAgZm9yIChh
dXRvJiB0YWJsZSA6IGV4cGVjdGVkVGFibGVBbmRJbmRleFF1ZXJpZXMoKS5rZXlzKCkpIHsKICAg
ICAgICAgYXV0byBhbHRlclRhYmxlID0gbV9kYXRhYmFzZS5wcmVwYXJlU3RhdGVtZW50U2xvdyht
YWtlU3RyaW5nKCJBTFRFUiBUQUJMRSAiLCB0YWJsZSwgIiBSRU5BTUUgVE8gXyIsIHRhYmxlKSk7
CiAgICAgICAgIGlmICghYWx0ZXJUYWJsZSB8fCBhbHRlclRhYmxlLT5zdGVwKCkgIT0gU1FMSVRF
X0RPTkUpIHsKICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByaXZhdGVDbGlja01lYXN1
cmVtZW50LCAiJXAgLSBEYXRhYmFzZVV0aWxpdGllczo6bWlncmF0ZURhdGFUb05ld1RhYmxlc0lm
TmVjZXNzYXJ5IGZhaWxlZCB0byByZW5hbWUgdGFibGUsIGVycm9yIG1lc3NhZ2U6ICVzIiwgdGhp
cywgbV9kYXRhYmFzZS5sYXN0RXJyb3JNc2coKSk7CisgICAgICAgICAgICB0cmFuc2FjdGlvbi5y
b2xsYmFjaygpOwogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CiAKICAgICBpZiAoIWNyZWF0ZVNjaGVtYSgpKSB7
CisgICAgICAgIHRyYW5zYWN0aW9uLnJvbGxiYWNrKCk7CiAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMjk2LDYgKzMwMCw3IEBAIHZvaWQg
RGF0YWJhc2VVdGlsaXRpZXM6Om1pZ3JhdGVEYXRhVG9OZXdUYWJsZXNJZk5lY2Vzc2FyeSgpCiAg
ICAgZm9yIChhdXRvJiB0YWJsZSA6IHNvcnRlZFRhYmxlcygpKSB7CiAgICAgICAgIGF1dG8gbWln
cmF0ZVRhYmxlRGF0YSA9IGluc2VydERpc3RpbmN0VmFsdWVzSW5UYWJsZVN0YXRlbWVudChtX2Rh
dGFiYXNlLCB0YWJsZSk7CiAgICAgICAgIGlmICghbWlncmF0ZVRhYmxlRGF0YSB8fCBtaWdyYXRl
VGFibGVEYXRhLT5zdGVwKCkgIT0gU1FMSVRFX0RPTkUpIHsKKyAgICAgICAgICAgIHRyYW5zYWN0
aW9uLnJvbGxiYWNrKCk7CiAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudCwgIiVwIC0gRGF0YWJhc2VVdGlsaXRpZXM6Om1pZ3JhdGVEYXRhVG9OZXdU
YWJsZXNJZk5lY2Vzc2FyeSAodGFibGUgJXMpIGZhaWxlZCB0byBtaWdyYXRlIHNjaGVtYSwgZXJy
b3IgbWVzc2FnZTogJXMiLCB0aGlzLCB0YWJsZS5jaGFyYWN0ZXJzKCksIG1fZGF0YWJhc2UubGFz
dEVycm9yTXNnKCkpOwogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAg
ICAgICByZXR1cm47CkBAIC0zMDYsNiArMzExLDcgQEAgdm9pZCBEYXRhYmFzZVV0aWxpdGllczo6
bWlncmF0ZURhdGFUb05ld1RhYmxlc0lmTmVjZXNzYXJ5KCkKICAgICBmb3IgKGF1dG8mIHRhYmxl
IDogc29ydGVkVGFibGVzKCkpIHsKICAgICAgICAgYXV0byBkcm9wVGFibGVRdWVyeSA9IG1fZGF0
YWJhc2UucHJlcGFyZVN0YXRlbWVudFNsb3cobWFrZVN0cmluZygiRFJPUCBUQUJMRSBfIiwgdGFi
bGUpKTsKICAgICAgICAgaWYgKCFkcm9wVGFibGVRdWVyeSB8fCBkcm9wVGFibGVRdWVyeS0+c3Rl
cCgpICE9IFNRTElURV9ET05FKSB7CisgICAgICAgICAgICB0cmFuc2FjdGlvbi5yb2xsYmFjaygp
OwogICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQs
ICIlcCAtIERhdGFiYXNlVXRpbGl0aWVzOjptaWdyYXRlRGF0YVRvTmV3VGFibGVzSWZOZWNlc3Nh
cnkgZmFpbGVkIHRvIGRyb3AgdGVtcG9yYXJ5IHRhYmxlcywgZXJyb3IgbWVzc2FnZTogJXMiLCB0
aGlzLCBtX2RhdGFiYXNlLmxhc3RFcnJvck1zZygpKTsKICAgICAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMzE0LDggKzMyMCwxMiBAQCB2b2lk
IERhdGFiYXNlVXRpbGl0aWVzOjptaWdyYXRlRGF0YVRvTmV3VGFibGVzSWZOZWNlc3NhcnkoKQog
CiAgICAgaWYgKCFjcmVhdGVVbmlxdWVJbmRpY2VzKCkpIHsKICAgICAgICAgUkVMRUFTRV9MT0df
RVJST1IoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsICIlcCAtIERhdGFiYXNlVXRpbGl0aWVzOjpt
aWdyYXRlRGF0YVRvTmV3VGFibGVzSWZOZWNlc3NhcnkgZmFpbGVkIHRvIGNyZWF0ZSB1bmlxdWUg
aW5kaWNlcywgZXJyb3IgbWVzc2FnZTogJXMiLCB0aGlzLCBtX2RhdGFiYXNlLmxhc3RFcnJvck1z
ZygpKTsKKyAgICAgICAgdHJhbnNhY3Rpb24ucm9sbGJhY2soKTsKICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybjsKICAgICB9CisKKyAgICB0cmFuc2FjdGlvbi5j
b21taXQoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlj
a01lYXN1cmVtZW50RGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudERhdGFiYXNlLmNw
cAppbmRleCA5MDMwMjJmYTBmOTI1OWM4ZTc0MDY5MDUxMjM1NGFkNWM0YzkyYmE4Li5kYWJkY2I3
YTZkOTRjYWU1ZDE4NzY1ZTM5NTdiYWU0ZjQ4ZTFhNmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01l
YXN1cmVtZW50RGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnREYXRhYmFzZS5j
cHAKQEAgLTcxNSw5ICs3MTUsOSBAQCB2b2lkIERhdGFiYXNlOjphZGREZXN0aW5hdGlvblRva2Vu
Q29sdW1uc0lmTmVjZXNzYXJ5KCkKICAgICBTdHJpbmcgZGVzdGluYXRpb25LZXlJRENvbHVtbk5h
bWUoImRlc3RpbmF0aW9uS2V5SUQiX3MpOwogICAgIGF1dG8gY29sdW1ucyA9IGNvbHVtbnNGb3JU
YWJsZShhdHRyaWJ1dGVkVGFibGVOYW1lKTsKICAgICBpZiAoIWNvbHVtbnMuc2l6ZSgpIHx8IGNv
bHVtbnMubGFzdCgpICE9IGRlc3RpbmF0aW9uS2V5SURDb2x1bW5OYW1lKSB7Ci0gICAgICAgIGFk
ZE1pc3NpbmdDb2x1bW5Ub1RhYmxlKGF0dHJpYnV0ZWRUYWJsZU5hbWUsICJkZXN0aW5hdGlvblRv
a2VuIl9zKTsKLSAgICAgICAgYWRkTWlzc2luZ0NvbHVtblRvVGFibGUoYXR0cmlidXRlZFRhYmxl
TmFtZSwgImRlc3RpbmF0aW9uU2lnbmF0dXJlIl9zKTsKLSAgICAgICAgYWRkTWlzc2luZ0NvbHVt
blRvVGFibGUoYXR0cmlidXRlZFRhYmxlTmFtZSwgZGVzdGluYXRpb25LZXlJRENvbHVtbk5hbWUp
OworICAgICAgICBhZGRNaXNzaW5nQ29sdW1uVG9UYWJsZShhdHRyaWJ1dGVkVGFibGVOYW1lLCAi
ZGVzdGluYXRpb25Ub2tlbiBURVhUIl9zKTsKKyAgICAgICAgYWRkTWlzc2luZ0NvbHVtblRvVGFi
bGUoYXR0cmlidXRlZFRhYmxlTmFtZSwgImRlc3RpbmF0aW9uU2lnbmF0dXJlIFRFWFQiX3MpOwor
ICAgICAgICBhZGRNaXNzaW5nQ29sdW1uVG9UYWJsZShhdHRyaWJ1dGVkVGFibGVOYW1lLCAiZGVz
dGluYXRpb25LZXlJRCBURVhUIik7CiAgICAgfQogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>