<?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>229204</bug_id>
          
          <creation_ts>2021-08-17 14:43:04 -0700</creation_ts>
          <short_desc>PCM: Allow measurement of links in nested, cross-site iframes</short_desc>
          <delta_ts>2021-10-05 17:46:53 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Pranay Prabhat">pranay.prabhat</reporter>
          <assigned_to name="John Wilander">wilander</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1784935</commentid>
    <comment_count>0</comment_count>
    <who name="Pranay Prabhat">pranay.prabhat</who>
    <bug_when>2021-08-17 14:43:04 -0700</bug_when>
    <thetext>https://github.com/privacycg/private-click-measurement/issues/7 has highlighted the needs but for majority of publishers , ads are rendered in a secondary domain usually rendered by Google Ad Manager. PCM&apos;s click based anchor tags within secondary domain need to be propagated to publisher context in order to register the click for conversion reporting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786949</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-24 14:44:54 -0700</bug_when>
    <thetext>&lt;rdar://problem/82310386&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800244</commentid>
    <comment_count>2</comment_count>
      <attachid>440110</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-10-04 15:21:04 -0700</bug_when>
    <thetext>Created attachment 440110
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800247</commentid>
    <comment_count>3</comment_count>
      <attachid>440110</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-10-04 15:28:29 -0700</bug_when>
    <thetext>Comment on attachment 440110
Patch

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

&gt; Source/WebCore/html/HTMLAnchorElement.cpp:446
&gt; +    if (frame-&gt;isMainFrame())
&gt; +        mainDocumentRegistrableDomain = RegistrableDomain { document().url() };
&gt; +    else if (auto mainDocument = frame-&gt;mainFrame().document())
&gt; +        mainDocumentRegistrableDomain = RegistrableDomain { mainDocument-&gt;url() };

I think you can simplify this because Frame::mainFrame() returns itself if it&apos;s the main frame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800249</commentid>
    <comment_count>4</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-10-04 15:35:04 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #3)
&gt; Comment on attachment 440110 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=440110&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLAnchorElement.cpp:446
&gt; &gt; +    if (frame-&gt;isMainFrame())
&gt; &gt; +        mainDocumentRegistrableDomain = RegistrableDomain { document().url() };
&gt; &gt; +    else if (auto mainDocument = frame-&gt;mainFrame().document())
&gt; &gt; +        mainDocumentRegistrableDomain = RegistrableDomain { mainDocument-&gt;url() };
&gt; 
&gt; I think you can simplify this because Frame::mainFrame() returns itself if
&gt; it&apos;s the main frame.

Thanks! Will fix before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800250</commentid>
    <comment_count>5</comment_count>
      <attachid>440110</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-04 15:36:16 -0700</bug_when>
    <thetext>Comment on attachment 440110
Patch

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

&gt;&gt;&gt; Source/WebCore/html/HTMLAnchorElement.cpp:446
&gt;&gt;&gt; +        mainDocumentRegistrableDomain = RegistrableDomain { mainDocument-&gt;url() };
&gt;&gt; 
&gt;&gt; I think you can simplify this because Frame::mainFrame() returns itself if it&apos;s the main frame.
&gt; 
&gt; Thanks! Will fix before landing.

You don&apos;t even need frames, document().topDocument().url()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800282</commentid>
    <comment_count>6</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-10-04 16:26:03 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #5)
&gt; Comment on attachment 440110 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=440110&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/html/HTMLAnchorElement.cpp:446
&gt; &gt;&gt;&gt; +        mainDocumentRegistrableDomain = RegistrableDomain { mainDocument-&gt;url() };
&gt; &gt;&gt; 
&gt; &gt;&gt; I think you can simplify this because Frame::mainFrame() returns itself if it&apos;s the main frame.
&gt; &gt; 
&gt; &gt; Thanks! Will fix before landing.
&gt; 
&gt; You don&apos;t even need frames, document().topDocument().url()

I looked at the implementation of topDocument() and this part has me worried about potential misuse vectors:

if (backForwardCacheState() == NotInBackForwardCache &amp;&amp; !m_renderTreeBeingDestroyed) {
    if (!m_frame)
        return const_cast&lt;Document&amp;&gt;(*this);
    // This should always be non-null.
    Document* mainFrameDocument = m_frame-&gt;mainFrame().document();
    return mainFrameDocument ? *mainFrameDocument : const_cast&lt;Document&amp;&gt;(*this);
}

I&apos;ll go with if (auto mainDocument = frame-&gt;mainFrame().document()).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800291</commentid>
    <comment_count>7</comment_count>
      <attachid>440122</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-10-04 16:38:41 -0700</bug_when>
    <thetext>Created attachment 440122
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800561</commentid>
    <comment_count>8</comment_count>
      <attachid>440215</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-10-05 07:58:52 -0700</bug_when>
    <thetext>Created attachment 440215
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800562</commentid>
    <comment_count>9</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-10-05 07:59:20 -0700</bug_when>
    <thetext>Fixed test for iOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800907</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-05 17:46:50 -0700</bug_when>
    <thetext>Committed r283593 (242549@main): &lt;https://commits.webkit.org/242549@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 440215.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440110</attachid>
            <date>2021-10-04 15:21:04 -0700</date>
            <delta_ts>2021-10-04 16:38:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229204-20211004152103.patch</filename>
            <type>text/plain</type>
            <size>10492</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDhjN2VhNmVhNDQ4Nzg1
NmMzYjkzMDEzOWE1Y2ZkMTdlYTcxZmRlOC4uYmQ1MDQzZDdkN2M3MzNiMjJmMDY0YTIzYzJiMzE2
MDA3NmQ3ZjY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTEwLTA0ICBKb2hu
IFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBDTTogQWxsb3cgbWVh
c3VyZW1lbnQgb2YgbGlua3MgaW4gbmVzdGVkLCBjcm9zcy1zaXRlIGlmcmFtZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTIwNAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vODIzMTAzODY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRGV2ZWxvcGVycyBoYXZlIHNhaWQgaXQgd291bGQgYmUgZ3JlYXQg
dG8gYWxsb3cgbWVhc3VyZW1lbnQgb2YgbGlua3Mgc2VydmVkIGluCisgICAgICAgIG5lc3RlZCwg
Y3Jvc3Mtc2l0ZSBpZnJhbWVzIG9uIHRoZSBjbGljayBzb3VyY2UuIFRoZSBjbGljayBzdGlsbCBj
b3VudCBhcyBpZiBpdAorICAgICAgICBoYXBwZW5lZCBvbiB0aGUgZmlyc3QgcGFydHkgY2xpY2sg
c291cmNlIHNpdGUsIGFuZCBhbnkgYXR0cmlidXRpb24gcmVwb3J0IHN0aWxsCisgICAgICAgIGdv
ZXMgdG8gdGhhdCBmaXJzdCBwYXJ0eS4gVGhpcyBjaGFuZ2UgZW5hYmxlcyB0aGUgKnNlcnZpbmcq
IG9mIG1lYXN1cmFibGUgbGlua3MKKyAgICAgICAgaW4gbmVzdGVkLCBjcm9zcy1zaXRlIGlmcmFt
ZXMuCisKKyAgICAgICAgVGhlIHN0YW5kYXJkcyBpc3N1ZSB3aGVyZSB0aGlzIHdhcyBkaXNjdXNz
ZWQ6CisgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9wcml2YWN5Y2cvcHJpdmF0ZS1jbGljay1t
ZWFzdXJlbWVudC9pc3N1ZXMvNworCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvcHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQvc3RvcmUtcHJpdmF0ZS1jbGljay1tZWFzdXJlbWVudC1uZXN0ZWQuaHRt
bAorCisgICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6cGFyc2VQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBjb25z
dCk6CisgICAgICAgICAgICBSZW1vdmVkIHRoZSBibG9jayBmb3IgbmVzdGVkLCBjcm9zcy1zaXRl
IGlmcmFtZXMuCisKIDIwMjEtMTAtMDQgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBh
cHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBtYWNjYXRhbHlzdCBidWlsZCBmaXguCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCmluZGV4IDNlY2Y1MjI5YWM4
YzZmOWZkMWQwMjVjNWFkNTBkODlhZTI3OGNlODUuLjYzZTRmYzk0ZDg3ZDYxZTJhMTYzZDk0NmE5
ZjY1ZTcwOTc5YmYwNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hv
ckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQu
Y3BwCkBAIC00MDIsOCArNDAyLDkgQEAgc3RkOjpvcHRpb25hbDxQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudD4gSFRNTEFuY2hvckVsZW1lbnQ6OnBhcnNlUHJpdmF0ZUNsaWNrTWVhc3UKICAgICB1c2lu
ZyBTb3VyY2VTaXRlID0gUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGU7CiAgICAg
dXNpbmcgQXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUgPSBQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGU7CiAKKyAgICBSZWZQdHI8RnJhbWU+IGZyYW1l
ID0gZG9jdW1lbnQoKS5mcmFtZSgpOwogICAgIGF1dG8qIHBhZ2UgPSBkb2N1bWVudCgpLnBhZ2Uo
KTsKLSAgICBpZiAoIXBhZ2UgfHwgcGFnZS0+c2Vzc2lvbklEKCkuaXNFcGhlbWVyYWwoKQorICAg
IGlmICghZnJhbWUgfHwhcGFnZSB8fCBwYWdlLT5zZXNzaW9uSUQoKS5pc0VwaGVtZXJhbCgpCiAg
ICAgICAgIHx8ICFkb2N1bWVudCgpLnNldHRpbmdzKCkucHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRF
bmFibGVkKCkKICAgICAgICAgfHwgIVVzZXJHZXN0dXJlSW5kaWNhdG9yOjpwcm9jZXNzaW5nVXNl
ckdlc3R1cmUoKSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKQEAgLTQyMSwxMiArNDIy
LDYgQEAgc3RkOjpvcHRpb25hbDxQcml2YXRlQ2xpY2tNZWFzdXJlbWVudD4gSFRNTEFuY2hvckVs
ZW1lbnQ6OnBhcnNlUHJpdmF0ZUNsaWNrTWVhc3UKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9w
dDsKICAgICB9CiAKLSAgICBSZWZQdHI8RnJhbWU+IGZyYW1lID0gZG9jdW1lbnQoKS5mcmFtZSgp
OwotICAgIGlmICghZnJhbWUgfHwgIWZyYW1lLT5pc01haW5GcmFtZSgpKSB7Ci0gICAgICAgIGRv
Y3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6T3RoZXIsIE1lc3NhZ2VM
ZXZlbDo6V2FybmluZywgIlByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnQgaXMgb25seSBzdXBwb3J0
ZWQgaW4gdGhlIG1haW4gZnJhbWUuIl9zKTsKLSAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
LSAgICB9Ci0gICAgCiAgICAgYXV0byBhdHRyaWJ1dGlvblNvdXJjZUlEID0gcGFyc2VIVE1MTm9u
TmVnYXRpdmVJbnRlZ2VyKGF0dHJpYnV0aW9uU291cmNlSURBdHRyKTsKICAgICBpZiAoIWF0dHJp
YnV0aW9uU291cmNlSUQpIHsKICAgICAgICAgZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShN
ZXNzYWdlU291cmNlOjpPdGhlciwgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCAiYXR0cmlidXRpb25z
b3VyY2VpZCBpcyBub3QgYSBub24tbmVnYXRpdmUgaW50ZWdlciB3aGljaCBpcyByZXF1aXJlZCBm
b3IgUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudC4iX3MpOwpAQCAtNDQ0LDggKzQzOSwxNyBAQCBz
dGQ6Om9wdGlvbmFsPFByaXZhdGVDbGlja01lYXN1cmVtZW50PiBIVE1MQW5jaG9yRWxlbWVudDo6
cGFyc2VQcml2YXRlQ2xpY2tNZWFzdQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAg
IH0KIAotICAgIFJlZ2lzdHJhYmxlRG9tYWluIGRvY3VtZW50UmVnaXN0cmFibGVEb21haW4geyBk
b2N1bWVudCgpLnVybCgpIH07Ci0gICAgaWYgKGRvY3VtZW50UmVnaXN0cmFibGVEb21haW4ubWF0
Y2hlcyhkZXN0aW5hdGlvblVSTCkpIHsKKyAgICBSZWdpc3RyYWJsZURvbWFpbiBtYWluRG9jdW1l
bnRSZWdpc3RyYWJsZURvbWFpbjsKKyAgICBpZiAoZnJhbWUtPmlzTWFpbkZyYW1lKCkpCisgICAg
ICAgIG1haW5Eb2N1bWVudFJlZ2lzdHJhYmxlRG9tYWluID0gUmVnaXN0cmFibGVEb21haW4geyBk
b2N1bWVudCgpLnVybCgpIH07CisgICAgZWxzZSBpZiAoYXV0byBtYWluRG9jdW1lbnQgPSBmcmFt
ZS0+bWFpbkZyYW1lKCkuZG9jdW1lbnQoKSkKKyAgICAgICAgbWFpbkRvY3VtZW50UmVnaXN0cmFi
bGVEb21haW4gPSBSZWdpc3RyYWJsZURvbWFpbiB7IG1haW5Eb2N1bWVudC0+dXJsKCkgfTsKKyAg
ICBlbHNlIHsKKyAgICAgICAgZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291
cmNlOjpPdGhlciwgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCAiQ291bGQgbm90IGZpbmQgYSBtYWlu
IGRvY3VtZW50IHRvIHVzZSBhcyBzb3VyY2Ugc2l0ZSBmb3IgUHJpdmF0ZSBDbGljayBNZWFzdXJl
bWVudC4iX3MpOworICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgIH0KKworICAgIGlm
IChtYWluRG9jdW1lbnRSZWdpc3RyYWJsZURvbWFpbi5tYXRjaGVzKGRlc3RpbmF0aW9uVVJMKSkg
ewogICAgICAgICBkb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6Ok90
aGVyLCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsICJhdHRyaWJ1dGlvbmRlc3RpbmF0aW9uIGNhbiBu
b3QgYmUgdGhlIHNhbWUgc2l0ZSBhcyB0aGUgY3VycmVudCB3ZWJzaXRlLiJfcyk7CiAgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgfQpAQCAtNDU1LDcgKzQ1OSw3IEBAIHN0ZDo6b3B0
aW9uYWw8UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ+IEhUTUxBbmNob3JFbGVtZW50OjpwYXJzZVBy
aXZhdGVDbGlja01lYXN1CiAjZWxzZQogICAgIFN0cmluZyBidW5kbGVJRDsKICNlbmRpZgotICAg
IGF1dG8gcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgPSBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCB7
IFNvdXJjZUlEKGF0dHJpYnV0aW9uU291cmNlSUQudmFsdWUoKSksIFNvdXJjZVNpdGUoV1RGTW92
ZShkb2N1bWVudFJlZ2lzdHJhYmxlRG9tYWluKSksIEF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRl
KGRlc3RpbmF0aW9uVVJMKSwgYnVuZGxlSUQsIFdhbGxUaW1lOjpub3coKSwgUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRXBoZW1lcmFsOjpObyB9OworICAgIGF1dG8gcHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQgPSBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCB7IFNvdXJjZUlEKGF0
dHJpYnV0aW9uU291cmNlSUQudmFsdWUoKSksIFNvdXJjZVNpdGUoV1RGTW92ZShtYWluRG9jdW1l
bnRSZWdpc3RyYWJsZURvbWFpbikpLCBBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZShkZXN0aW5h
dGlvblVSTCksIGJ1bmRsZUlELCBXYWxsVGltZTo6bm93KCksIFByaXZhdGVDbGlja01lYXN1cmVt
ZW50OjpBdHRyaWJ1dGlvbkVwaGVtZXJhbDo6Tm8gfTsKIAogICAgIGF1dG8gYXR0cmlidXRpb25T
b3VyY2VOb25jZUF0dHIgPSBhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKGF0dHJpYnV0
aW9uc291cmNlbm9uY2VBdHRyKTsKICAgICBpZiAoIWF0dHJpYnV0aW9uU291cmNlTm9uY2VBdHRy
LmlzRW1wdHkoKSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDIzMTQ4YzNjMzk5Y2QzZjk3NDI1MTY1NjNiNDZlMDg0YzNh
ZGE3YWYuLmRiMjUxOTU1NDRiMDg2NmRmZmZkOTRlZjRhMWM5NWJkYjU1ZTM3YzYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNCBAQAorMjAyMS0xMC0wNCAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBQQ006IEFsbG93IG1lYXN1cmVtZW50IG9mIGxpbmtzIGluIG5lc3Rl
ZCwgY3Jvc3Mtc2l0ZSBpZnJhbWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjkyMDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgyMzEwMzg2Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERldmVsb3Bl
cnMgaGF2ZSBzYWlkIGl0IHdvdWxkIGJlIGdyZWF0IHRvIGFsbG93IG1lYXN1cmVtZW50IG9mIGxp
bmtzIHNlcnZlZCBpbgorICAgICAgICBuZXN0ZWQsIGNyb3NzLXNpdGUgaWZyYW1lcyBvbiB0aGUg
Y2xpY2sgc291cmNlLiBUaGUgY2xpY2sgc3RpbGwgY291bnQgYXMgaWYgaXQKKyAgICAgICAgaGFw
cGVuZWQgb24gdGhlIGZpcnN0IHBhcnR5IGNsaWNrIHNvdXJjZSBzaXRlLCBhbmQgYW55IGF0dHJp
YnV0aW9uIHJlcG9ydCBzdGlsbAorICAgICAgICBnb2VzIHRvIHRoYXQgZmlyc3QgcGFydHkuIFRo
aXMgY2hhbmdlIGVuYWJsZXMgdGhlICpzZXJ2aW5nKiBvZiBtZWFzdXJhYmxlIGxpbmtzCisgICAg
ICAgIGluIG5lc3RlZCwgY3Jvc3Mtc2l0ZSBpZnJhbWVzLgorCisgICAgICAgIFRoZSBzdGFuZGFy
ZHMgaXNzdWUgd2hlcmUgdGhpcyB3YXMgZGlzY3Vzc2VkOgorICAgICAgICBodHRwczovL2dpdGh1
Yi5jb20vcHJpdmFjeWNnL3ByaXZhdGUtY2xpY2stbWVhc3VyZW1lbnQvaXNzdWVzLzcKKworICAg
ICAgICAqIGh0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3VyY2VzL25lc3Rl
ZFRhcmdldExpbmsuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9wcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudC9zdG9yZS1wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50LW5lc3RlZC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQvc3RvcmUtcHJpdmF0ZS1jbGljay1tZWFzdXJlbWVudC1uZXN0ZWQuaHRtbDogQWRkZWQu
CisKIDIwMjEtMTAtMDQgIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgTWFrZSBwcmVsb2FkIHJlZmVycmVyLWltZy5weSBjb21wYXRpYmxlIHdpdGggUHl0aG9uIDMu
OQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJl
bWVudC9yZXNvdXJjZXMvbmVzdGVkVGFyZ2V0TGluay5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9yZXNvdXJjZXMvbmVzdGVkVGFyZ2V0TGluay5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjNlYmNmNjExMGRhNWFjODkzNzZkN2E1NWQyMGE1MjdmNzdiYTUzMjMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01l
YXN1cmVtZW50L3Jlc291cmNlcy9uZXN0ZWRUYXJnZXRMaW5rLmh0bWwKQEAgLTAsMCArMSwxMCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxlPk5lc3RlZCB0YXJnZXQgbGluazwvdGl0bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxhIHN0eWxlPSJmb250LXNpemU6IHh4eC1sYXJnZTsiIHRhcmdldD0i
X3RvcCIgaHJlZj0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL3ByaXZhdGVDbGlja01lYXN1cmVtZW50
L3N0b3JlLXByaXZhdGUtY2xpY2stbWVhc3VyZW1lbnQtbmVzdGVkLmh0bWw/c3RlcFR3byIgYXR0
cmlidXRpb25zb3VyY2VpZD0iMyIgYXR0cmlidXRpb25kZXN0aW5hdGlvbj0iaHR0cDovL2xvY2Fs
aG9zdDo4MDAwIj5MaW5rPC9hPjxicj4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVD
bGlja01lYXN1cmVtZW50L3N0b3JlLXByaXZhdGUtY2xpY2stbWVhc3VyZW1lbnQtbmVzdGVkLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQvc3RvcmUtcHJpdmF0ZS1jbGljay1tZWFzdXJlbWVudC1uZXN0ZWQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjM5NzY0YTc0ZmNlNjhlODg1NGY2MzIyOTkxNzBkMTVjMTE1YTY5MjIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L3N0b3JlLXByaXZhdGUtY2xpY2stbWVhc3VyZW1lbnQtbmVzdGVkLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDkgQEAKK1Rlc3RzIHN0b3JhZ2Ugb2YgcHJpdmF0ZSBjbGljayBtZWFzdXJlbWVu
dCB3aXRoIG5lc3RlZCBsaW5rcy4KKworVW5hdHRyaWJ1dGVkIFByaXZhdGUgQ2xpY2sgTWVhc3Vy
ZW1lbnRzOgorV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgMQorU291cmNlIHNpdGU6
IDEyNy4wLjAuMQorQXR0cmlidXRlIG9uIHNpdGU6IGxvY2FsaG9zdAorU291cmNlIElEOiAzCitO
byBhdHRyaWJ1dGlvbiB0cmlnZ2VyIGRhdGEuCitBcHBsaWNhdGlvbiBidW5kbGUgaWRlbnRpZmll
cjogY29tLmFwcGxlLldlYktpdC5XZWJLaXRUZXN0UnVubmVyCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3N0b3JlLXByaXZhdGUtY2xp
Y2stbWVhc3VyZW1lbnQtbmVzdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZh
dGVDbGlja01lYXN1cmVtZW50L3N0b3JlLXByaXZhdGUtY2xpY2stbWVhc3VyZW1lbnQtbmVzdGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2Q5MTc2ZGNmNTljNTQ1NWY2YWFiMzE3ZGIyOTk1ZTcyMWJlMTI1
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQvc3RvcmUtcHJpdmF0ZS1jbGljay1tZWFzdXJlbWVudC1uZXN0ZWQuaHRtbApA
QCAtMCwwICsxLDUzIEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFk
PgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KHJ1blRlc3QsIDApIj4KKzxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj5UZXN0cyBzdG9yYWdlIG9mIHByaXZhdGUgY2xpY2sgbWVhc3VyZW1l
bnQgd2l0aCBuZXN0ZWQgbGlua3MuPC9kaXY+Cis8ZGl2IGlkPSJvdXRwdXQiPjwvZGl2PgorPHNj
cmlwdD4KKyAgICBwcmVwYXJlVGVzdCgpOworCisgICAgZnVuY3Rpb24gYWN0aXZhdGVMaW5rKCkg
eworICAgICAgICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXRG
cmFtZSIpOworICAgICAgICBsZXQgY2VudGVyWCA9IGVsZW1lbnQub2Zmc2V0TGVmdCArIGVsZW1l
bnQub2Zmc2V0V2lkdGggLyAyOworICAgICAgICBsZXQgY2VudGVyWSA9IGVsZW1lbnQub2Zmc2V0
VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOworICAgICAgICBpZiAoIVVJSGVscGVyKSB7
CisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0IikuaW5uZXJUZXh0
ID0gIkZBSUwgTm8gVUlIZWxwZXIuIjsKKyAgICAgICAgICAgIHRlYXJEb3duQW5kRmluaXNoKCk7
CisgICAgICAgIH0KKyAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVBdChjZW50ZXJYLCBjZW50ZXJZ
KS50aGVuKAorICAgICAgICAgICAgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgib3V0cHV0IikuaW5uZXJUZXh0ID0gIkZBSUwgUHJvbWlzZSByZWplY3RlZC4iOworICAg
ICAgICAgICAgfQorICAgICAgICApOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgaWYgKHdpbmRv
dy5sb2NhdGlvbi5zZWFyY2ggPT09ICI/c3RlcFR3byIpIHsKKyAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLmR1bXBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCgpOworICAgICAgICAgICAgICAgIHRl
YXJEb3duQW5kRmluaXNoKCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
IGxldCBpZnJhbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Cisg
ICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5zZXRBdHRyaWJ1dGUoInNhbmRib3giLCAiYWxs
b3ctc2NyaXB0cyBhbGxvdy10b3AtbmF2aWdhdGlvbiIpOworICAgICAgICAgICAgICAgIGlmcmFt
ZUVsZW1lbnQuaWQgPSAidGFyZ2V0RnJhbWUiOworICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1l
bnQud2lkdGggPSAiNTBweCI7CisgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5oZWlnaHQg
PSAiNTBweCI7CisgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5vbmxvYWQgPSBhY3RpdmF0
ZUxpbms7CisgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5zcmMgPSAiaHR0cDovL2xvY2Fs
aG9zdDo4MDAwL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3Jlc291cmNlcy9uZXN0ZWRUYXJnZXRM
aW5rLmh0bWwiOworICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZy
YW1lRWxlbWVudCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0IikuaW5uZXJUZXh0ID0gIkZBSUwgTm8g
dGVzdFJ1bm5lci4iOworICAgICAgICB9CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440122</attachid>
            <date>2021-10-04 16:38:41 -0700</date>
            <delta_ts>2021-10-05 07:58:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229204-20211004163840.patch</filename>
            <type>text/plain</type>
            <size>10379</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDhjN2VhNmVhNDQ4Nzg1
NmMzYjkzMDEzOWE1Y2ZkMTdlYTcxZmRlOC4uY2M3YzQ2YmRjNjhhYjI0ZDAxZDZhMDNlYjkzNzUz
YjE0ZWIzYjZhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTEwLTA0ICBKb2hu
IFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBDTTogQWxsb3cgbWVh
c3VyZW1lbnQgb2YgbGlua3MgaW4gbmVzdGVkLCBjcm9zcy1zaXRlIGlmcmFtZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTIwNAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vODIzMTAzODY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJp
c3RlbnNlbi4KKworICAgICAgICBEZXZlbG9wZXJzIGhhdmUgc2FpZCBpdCB3b3VsZCBiZSBncmVh
dCB0byBhbGxvdyBtZWFzdXJlbWVudCBvZiBsaW5rcyBzZXJ2ZWQgaW4KKyAgICAgICAgbmVzdGVk
LCBjcm9zcy1zaXRlIGlmcmFtZXMgb24gdGhlIGNsaWNrIHNvdXJjZS4gVGhlIGNsaWNrIHN0aWxs
IGNvdW50IGFzIGlmIGl0CisgICAgICAgIGhhcHBlbmVkIG9uIHRoZSBmaXJzdCBwYXJ0eSBjbGlj
ayBzb3VyY2Ugc2l0ZSwgYW5kIGFueSBhdHRyaWJ1dGlvbiByZXBvcnQgc3RpbGwKKyAgICAgICAg
Z29lcyB0byB0aGF0IGZpcnN0IHBhcnR5LiBUaGlzIGNoYW5nZSBlbmFibGVzIHRoZSAqc2Vydmlu
Zyogb2YgbWVhc3VyYWJsZSBsaW5rcworICAgICAgICBpbiBuZXN0ZWQsIGNyb3NzLXNpdGUgaWZy
YW1lcy4KKworICAgICAgICBUaGUgc3RhbmRhcmRzIGlzc3VlIHdoZXJlIHRoaXMgd2FzIGRpc2N1
c3NlZDoKKyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL3ByaXZhY3ljZy9wcml2YXRlLWNsaWNr
LW1lYXN1cmVtZW50L2lzc3Vlcy83CisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9wcml2YXRl
Q2xpY2tNZWFzdXJlbWVudC9zdG9yZS1wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50LW5lc3RlZC5o
dG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxBbmNob3JFbGVtZW50OjpwYXJzZVByaXZhdGVDbGlja01lYXN1cmVtZW50IGNv
bnN0KToKKyAgICAgICAgICAgIFJlbW92ZWQgdGhlIGJsb2NrIGZvciBuZXN0ZWQsIGNyb3NzLXNp
dGUgaWZyYW1lcy4KKwogMjAyMS0xMC0wNCAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5
QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIG1hY2NhdGFseXN0IGJ1aWxkIGZpeC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAKaW5kZXggM2VjZjUyMjlh
YzhjNmY5ZmQxZDAyNWM1YWQ1MGQ4OWFlMjc4Y2U4NS4uMjFkZGRkNWEwYjU3ZWJlY2E0MTY5MDE3
OWJhNjdmNGY4MzYxYWE5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5j
aG9yRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVu
dC5jcHAKQEAgLTQwMiw4ICs0MDIsOSBAQCBzdGQ6Om9wdGlvbmFsPFByaXZhdGVDbGlja01lYXN1
cmVtZW50PiBIVE1MQW5jaG9yRWxlbWVudDo6cGFyc2VQcml2YXRlQ2xpY2tNZWFzdQogICAgIHVz
aW5nIFNvdXJjZVNpdGUgPSBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZTsKICAg
ICB1c2luZyBBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSA9IFByaXZhdGVDbGlja01lYXN1cmVt
ZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZTsKIAorICAgIFJlZlB0cjxGcmFtZT4gZnJh
bWUgPSBkb2N1bWVudCgpLmZyYW1lKCk7CiAgICAgYXV0byogcGFnZSA9IGRvY3VtZW50KCkucGFn
ZSgpOwotICAgIGlmICghcGFnZSB8fCBwYWdlLT5zZXNzaW9uSUQoKS5pc0VwaGVtZXJhbCgpCisg
ICAgaWYgKCFmcmFtZSB8fCFwYWdlIHx8IHBhZ2UtPnNlc3Npb25JRCgpLmlzRXBoZW1lcmFsKCkK
ICAgICAgICAgfHwgIWRvY3VtZW50KCkuc2V0dGluZ3MoKS5wcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dEVuYWJsZWQoKQogICAgICAgICB8fCAhVXNlckdlc3R1cmVJbmRpY2F0b3I6OnByb2Nlc3NpbmdV
c2VyR2VzdHVyZSgpKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpAQCAtNDIxLDEyICs0
MjIsNiBAQCBzdGQ6Om9wdGlvbmFsPFByaXZhdGVDbGlja01lYXN1cmVtZW50PiBIVE1MQW5jaG9y
RWxlbWVudDo6cGFyc2VQcml2YXRlQ2xpY2tNZWFzdQogICAgICAgICByZXR1cm4gc3RkOjpudWxs
b3B0OwogICAgIH0KIAotICAgIFJlZlB0cjxGcmFtZT4gZnJhbWUgPSBkb2N1bWVudCgpLmZyYW1l
KCk7Ci0gICAgaWYgKCFmcmFtZSB8fCAhZnJhbWUtPmlzTWFpbkZyYW1lKCkpIHsKLSAgICAgICAg
ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpPdGhlciwgTWVzc2Fn
ZUxldmVsOjpXYXJuaW5nLCAiUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudCBpcyBvbmx5IHN1cHBv
cnRlZCBpbiB0aGUgbWFpbiBmcmFtZS4iX3MpOwotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OwotICAgIH0KLSAgICAKICAgICBhdXRvIGF0dHJpYnV0aW9uU291cmNlSUQgPSBwYXJzZUhUTUxO
b25OZWdhdGl2ZUludGVnZXIoYXR0cmlidXRpb25Tb3VyY2VJREF0dHIpOwogICAgIGlmICghYXR0
cmlidXRpb25Tb3VyY2VJRCkgewogICAgICAgICBkb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VTb3VyY2U6Ok90aGVyLCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsICJhdHRyaWJ1dGlv
bnNvdXJjZWlkIGlzIG5vdCBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIHdoaWNoIGlzIHJlcXVpcmVk
IGZvciBQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50LiJfcyk7CkBAIC00NDQsOCArNDM5LDE1IEBA
IHN0ZDo6b3B0aW9uYWw8UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ+IEhUTUxBbmNob3JFbGVtZW50
OjpwYXJzZVByaXZhdGVDbGlja01lYXN1CiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAg
ICAgfQogCi0gICAgUmVnaXN0cmFibGVEb21haW4gZG9jdW1lbnRSZWdpc3RyYWJsZURvbWFpbiB7
IGRvY3VtZW50KCkudXJsKCkgfTsKLSAgICBpZiAoZG9jdW1lbnRSZWdpc3RyYWJsZURvbWFpbi5t
YXRjaGVzKGRlc3RpbmF0aW9uVVJMKSkgeworICAgIFJlZ2lzdHJhYmxlRG9tYWluIG1haW5Eb2N1
bWVudFJlZ2lzdHJhYmxlRG9tYWluOworICAgIGlmIChhdXRvIG1haW5Eb2N1bWVudCA9IGZyYW1l
LT5tYWluRnJhbWUoKS5kb2N1bWVudCgpKQorICAgICAgICBtYWluRG9jdW1lbnRSZWdpc3RyYWJs
ZURvbWFpbiA9IFJlZ2lzdHJhYmxlRG9tYWluIHsgbWFpbkRvY3VtZW50LT51cmwoKSB9OworICAg
IGVsc2UgeworICAgICAgICBkb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2U6Ok90aGVyLCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsICJDb3VsZCBub3QgZmluZCBhIG1haW4g
ZG9jdW1lbnQgdG8gdXNlIGFzIHNvdXJjZSBzaXRlIGZvciBQcml2YXRlIENsaWNrIE1lYXN1cmVt
ZW50LiJfcyk7CisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgfQorCisgICAgaWYg
KG1haW5Eb2N1bWVudFJlZ2lzdHJhYmxlRG9tYWluLm1hdGNoZXMoZGVzdGluYXRpb25VUkwpKSB7
CiAgICAgICAgIGRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6T3Ro
ZXIsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgImF0dHJpYnV0aW9uZGVzdGluYXRpb24gY2FuIG5v
dCBiZSB0aGUgc2FtZSBzaXRlIGFzIHRoZSBjdXJyZW50IHdlYnNpdGUuIl9zKTsKICAgICAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICB9CkBAIC00NTUsNyArNDU3LDcgQEAgc3RkOjpvcHRp
b25hbDxQcml2YXRlQ2xpY2tNZWFzdXJlbWVudD4gSFRNTEFuY2hvckVsZW1lbnQ6OnBhcnNlUHJp
dmF0ZUNsaWNrTWVhc3UKICNlbHNlCiAgICAgU3RyaW5nIGJ1bmRsZUlEOwogI2VuZGlmCi0gICAg
YXV0byBwcml2YXRlQ2xpY2tNZWFzdXJlbWVudCA9IFByaXZhdGVDbGlja01lYXN1cmVtZW50IHsg
U291cmNlSUQoYXR0cmlidXRpb25Tb3VyY2VJRC52YWx1ZSgpKSwgU291cmNlU2l0ZShXVEZNb3Zl
KGRvY3VtZW50UmVnaXN0cmFibGVEb21haW4pKSwgQXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUo
ZGVzdGluYXRpb25VUkwpLCBidW5kbGVJRCwgV2FsbFRpbWU6Om5vdygpLCBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudDo6QXR0cmlidXRpb25FcGhlbWVyYWw6Ok5vIH07CisgICAgYXV0byBwcml2YXRl
Q2xpY2tNZWFzdXJlbWVudCA9IFByaXZhdGVDbGlja01lYXN1cmVtZW50IHsgU291cmNlSUQoYXR0
cmlidXRpb25Tb3VyY2VJRC52YWx1ZSgpKSwgU291cmNlU2l0ZShXVEZNb3ZlKG1haW5Eb2N1bWVu
dFJlZ2lzdHJhYmxlRG9tYWluKSksIEF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlKGRlc3RpbmF0
aW9uVVJMKSwgYnVuZGxlSUQsIFdhbGxUaW1lOjpub3coKSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQ6OkF0dHJpYnV0aW9uRXBoZW1lcmFsOjpObyB9OwogCiAgICAgYXV0byBhdHRyaWJ1dGlvblNv
dXJjZU5vbmNlQXR0ciA9IGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oYXR0cmlidXRp
b25zb3VyY2Vub25jZUF0dHIpOwogICAgIGlmICghYXR0cmlidXRpb25Tb3VyY2VOb25jZUF0dHIu
aXNFbXB0eSgpKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjMxNDhjM2MzOTljZDNmOTc0MjUxNjU2M2I0NmUwODRjM2Fk
YTdhZi4uNGVlZWUwNTAzNDc2MzY0MmY0ZTA4OTliNjQ1MDg3ZTVmNDM0ZDBmNSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI0IEBACisyMDIxLTEwLTA0ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUu
Y29tPgorCisgICAgICAgIFBDTTogQWxsb3cgbWVhc3VyZW1lbnQgb2YgbGlua3MgaW4gbmVzdGVk
LCBjcm9zcy1zaXRlIGlmcmFtZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyOTIwNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODIzMTAzODY+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBEZXZlbG9w
ZXJzIGhhdmUgc2FpZCBpdCB3b3VsZCBiZSBncmVhdCB0byBhbGxvdyBtZWFzdXJlbWVudCBvZiBs
aW5rcyBzZXJ2ZWQgaW4KKyAgICAgICAgbmVzdGVkLCBjcm9zcy1zaXRlIGlmcmFtZXMgb24gdGhl
IGNsaWNrIHNvdXJjZS4gVGhlIGNsaWNrIHN0aWxsIGNvdW50IGFzIGlmIGl0CisgICAgICAgIGhh
cHBlbmVkIG9uIHRoZSBmaXJzdCBwYXJ0eSBjbGljayBzb3VyY2Ugc2l0ZSwgYW5kIGFueSBhdHRy
aWJ1dGlvbiByZXBvcnQgc3RpbGwKKyAgICAgICAgZ29lcyB0byB0aGF0IGZpcnN0IHBhcnR5LiBU
aGlzIGNoYW5nZSBlbmFibGVzIHRoZSAqc2VydmluZyogb2YgbWVhc3VyYWJsZSBsaW5rcworICAg
ICAgICBpbiBuZXN0ZWQsIGNyb3NzLXNpdGUgaWZyYW1lcy4KKworICAgICAgICBUaGUgc3RhbmRh
cmRzIGlzc3VlIHdoZXJlIHRoaXMgd2FzIGRpc2N1c3NlZDoKKyAgICAgICAgaHR0cHM6Ly9naXRo
dWIuY29tL3ByaXZhY3ljZy9wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50L2lzc3Vlcy83CisKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3Jlc291cmNlcy9uZXN0
ZWRUYXJnZXRMaW5rLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQvc3RvcmUtcHJpdmF0ZS1jbGljay1tZWFzdXJlbWVudC1uZXN0ZWQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1
cmVtZW50L3N0b3JlLXByaXZhdGUtY2xpY2stbWVhc3VyZW1lbnQtbmVzdGVkLmh0bWw6IEFkZGVk
LgorCiAyMDIxLTEwLTA0ICBMYXVybyBNb3VyYSAgPGxtb3VyYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIE1ha2UgcHJlbG9hZCByZWZlcnJlci1pbWcucHkgY29tcGF0aWJsZSB3aXRoIFB5dGhvbiAz
LjkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQvcmVzb3VyY2VzL25lc3RlZFRhcmdldExpbmsuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3VyY2VzL25lc3RlZFRhcmdldExpbmsu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zZWJjZjYxMTBkYTVhYzg5Mzc2ZDdhNTVkMjBhNTI3Zjc3YmE1MzIz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudC9yZXNvdXJjZXMvbmVzdGVkVGFyZ2V0TGluay5odG1sCkBAIC0wLDAgKzEsMTAg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEg
Y2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5OZXN0ZWQgdGFyZ2V0IGxpbms8L3RpdGxlPgor
PC9oZWFkPgorPGJvZHk+Cis8YSBzdHlsZT0iZm9udC1zaXplOiB4eHgtbGFyZ2U7IiB0YXJnZXQ9
Il90b3AiIGhyZWY9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9wcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dC9zdG9yZS1wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50LW5lc3RlZC5odG1sP3N0ZXBUd28iIGF0
dHJpYnV0aW9uc291cmNlaWQ9IjMiIGF0dHJpYnV0aW9uZGVzdGluYXRpb249Imh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMCI+TGluazwvYT48YnI+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRl
Q2xpY2tNZWFzdXJlbWVudC9zdG9yZS1wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50LW5lc3RlZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L3N0b3JlLXByaXZhdGUtY2xpY2stbWVhc3VyZW1lbnQtbmVzdGVkLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zOTc2NGE3NGZjZTY4ZTg4NTRmNjMyMjk5MTcwZDE1YzExNWE2OTIyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJl
bWVudC9zdG9yZS1wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50LW5lc3RlZC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw5IEBACitUZXN0cyBzdG9yYWdlIG9mIHByaXZhdGUgY2xpY2sgbWVhc3VyZW1l
bnQgd2l0aCBuZXN0ZWQgbGlua3MuCisKK1VuYXR0cmlidXRlZCBQcml2YXRlIENsaWNrIE1lYXN1
cmVtZW50czoKK1dlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50IDEKK1NvdXJjZSBzaXRl
OiAxMjcuMC4wLjEKK0F0dHJpYnV0ZSBvbiBzaXRlOiBsb2NhbGhvc3QKK1NvdXJjZSBJRDogMwor
Tm8gYXR0cmlidXRpb24gdHJpZ2dlciBkYXRhLgorQXBwbGljYXRpb24gYnVuZGxlIGlkZW50aWZp
ZXI6IGNvbS5hcHBsZS5XZWJLaXQuV2ViS2l0VGVzdFJ1bm5lcgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9zdG9yZS1wcml2YXRlLWNs
aWNrLW1lYXN1cmVtZW50LW5lc3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2
YXRlQ2xpY2tNZWFzdXJlbWVudC9zdG9yZS1wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50LW5lc3Rl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdkOTE3NmRjZjU5YzU0NTVmNmFhYjMxN2RiMjk5NWU3MjFiZTEy
NWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlj
a01lYXN1cmVtZW50L3N0b3JlLXByaXZhdGUtY2xpY2stbWVhc3VyZW1lbnQtbmVzdGVkLmh0bWwK
QEAgLTAsMCArMSw1MyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVh
ZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0Pgor
ICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic2V0VGltZW91dChydW5UZXN0LCAwKSI+Cis8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+VGVzdHMgc3RvcmFnZSBvZiBwcml2YXRlIGNsaWNrIG1lYXN1cmVt
ZW50IHdpdGggbmVzdGVkIGxpbmtzLjwvZGl2PgorPGRpdiBpZD0ib3V0cHV0Ij48L2Rpdj4KKzxz
Y3JpcHQ+CisgICAgcHJlcGFyZVRlc3QoKTsKKworICAgIGZ1bmN0aW9uIGFjdGl2YXRlTGluaygp
IHsKKyAgICAgICAgbGV0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0
RnJhbWUiKTsKKyAgICAgICAgbGV0IGNlbnRlclggPSBlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVt
ZW50Lm9mZnNldFdpZHRoIC8gMjsKKyAgICAgICAgbGV0IGNlbnRlclkgPSBlbGVtZW50Lm9mZnNl
dFRvcCArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICAgICAgaWYgKCFVSUhlbHBlcikg
eworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpLmlubmVyVGV4
dCA9ICJGQUlMIE5vIFVJSGVscGVyLiI7CisgICAgICAgICAgICB0ZWFyRG93bkFuZEZpbmlzaCgp
OworICAgICAgICB9CisgICAgICAgIFVJSGVscGVyLmFjdGl2YXRlQXQoY2VudGVyWCwgY2VudGVy
WSkudGhlbigKKyAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIH0sCisgICAg
ICAgICAgICBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoIm91dHB1dCIpLmlubmVyVGV4dCA9ICJGQUlMIFByb21pc2UgcmVqZWN0ZWQuIjsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgIGlmICh3aW5k
b3cubG9jYXRpb24uc2VhcmNoID09PSAiP3N0ZXBUd28iKSB7CisgICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5kdW1wUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoKTsKKyAgICAgICAgICAgICAgICB0
ZWFyRG93bkFuZEZpbmlzaCgpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAg
ICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwor
ICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJzYW5kYm94IiwgImFs
bG93LXNjcmlwdHMgYWxsb3ctdG9wLW5hdmlnYXRpb24iKTsKKyAgICAgICAgICAgICAgICBpZnJh
bWVFbGVtZW50LmlkID0gInRhcmdldEZyYW1lIjsKKyAgICAgICAgICAgICAgICBpZnJhbWVFbGVt
ZW50LndpZHRoID0gIjUwcHgiOworICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuaGVpZ2h0
ID0gIjUwcHgiOworICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQub25sb2FkID0gYWN0aXZh
dGVMaW5rOworICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gImh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9yZXNvdXJjZXMvbmVzdGVkVGFyZ2V0
TGluay5odG1sIjsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlm
cmFtZUVsZW1lbnQpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpLmlubmVyVGV4dCA9ICJGQUlMIE5v
IHRlc3RSdW5uZXIuIjsKKyAgICAgICAgfQorICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440215</attachid>
            <date>2021-10-05 07:58:52 -0700</date>
            <delta_ts>2021-10-05 17:46:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229204-20211005075851.patch</filename>
            <type>text/plain</type>
            <size>10532</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDhjN2VhNmVhNDQ4Nzg1
NmMzYjkzMDEzOWE1Y2ZkMTdlYTcxZmRlOC4uZDMzYzBjNGQ1YTJmYjBhMGViMmMyOWVlMTVmMGQw
Y2EzMjVhMGQ5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTEwLTA1ICBKb2hu
IFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBDTTogQWxsb3cgbWVh
c3VyZW1lbnQgb2YgbGlua3MgaW4gbmVzdGVkLCBjcm9zcy1zaXRlIGlmcmFtZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTIwNAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vODIzMTAzODY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJp
c3RlbnNlbi4KKworICAgICAgICBEZXZlbG9wZXJzIGhhdmUgc2FpZCBpdCB3b3VsZCBiZSBncmVh
dCB0byBhbGxvdyBtZWFzdXJlbWVudCBvZiBsaW5rcyBzZXJ2ZWQgaW4KKyAgICAgICAgbmVzdGVk
LCBjcm9zcy1zaXRlIGlmcmFtZXMgb24gdGhlIGNsaWNrIHNvdXJjZS4gVGhlIGNsaWNrIHN0aWxs
IGNvdW50IGFzIGlmIGl0CisgICAgICAgIGhhcHBlbmVkIG9uIHRoZSBmaXJzdCBwYXJ0eSBjbGlj
ayBzb3VyY2Ugc2l0ZSwgYW5kIGFueSBhdHRyaWJ1dGlvbiByZXBvcnQgc3RpbGwKKyAgICAgICAg
Z29lcyB0byB0aGF0IGZpcnN0IHBhcnR5LiBUaGlzIGNoYW5nZSBlbmFibGVzIHRoZSAqc2Vydmlu
Zyogb2YgbWVhc3VyYWJsZSBsaW5rcworICAgICAgICBpbiBuZXN0ZWQsIGNyb3NzLXNpdGUgaWZy
YW1lcy4KKworICAgICAgICBUaGUgc3RhbmRhcmRzIGlzc3VlIHdoZXJlIHRoaXMgd2FzIGRpc2N1
c3NlZDoKKyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL3ByaXZhY3ljZy9wcml2YXRlLWNsaWNr
LW1lYXN1cmVtZW50L2lzc3Vlcy83CisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9wcml2YXRl
Q2xpY2tNZWFzdXJlbWVudC9zdG9yZS1wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50LW5lc3RlZC5o
dG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxBbmNob3JFbGVtZW50OjpwYXJzZVByaXZhdGVDbGlja01lYXN1cmVtZW50IGNv
bnN0KToKKyAgICAgICAgICAgIFJlbW92ZWQgdGhlIGJsb2NrIGZvciBuZXN0ZWQsIGNyb3NzLXNp
dGUgaWZyYW1lcy4KKwogMjAyMS0xMC0wNCAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5
QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIG1hY2NhdGFseXN0IGJ1aWxkIGZpeC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAKaW5kZXggM2VjZjUyMjlh
YzhjNmY5ZmQxZDAyNWM1YWQ1MGQ4OWFlMjc4Y2U4NS4uMjFkZGRkNWEwYjU3ZWJlY2E0MTY5MDE3
OWJhNjdmNGY4MzYxYWE5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5j
aG9yRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVu
dC5jcHAKQEAgLTQwMiw4ICs0MDIsOSBAQCBzdGQ6Om9wdGlvbmFsPFByaXZhdGVDbGlja01lYXN1
cmVtZW50PiBIVE1MQW5jaG9yRWxlbWVudDo6cGFyc2VQcml2YXRlQ2xpY2tNZWFzdQogICAgIHVz
aW5nIFNvdXJjZVNpdGUgPSBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZTsKICAg
ICB1c2luZyBBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSA9IFByaXZhdGVDbGlja01lYXN1cmVt
ZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZTsKIAorICAgIFJlZlB0cjxGcmFtZT4gZnJh
bWUgPSBkb2N1bWVudCgpLmZyYW1lKCk7CiAgICAgYXV0byogcGFnZSA9IGRvY3VtZW50KCkucGFn
ZSgpOwotICAgIGlmICghcGFnZSB8fCBwYWdlLT5zZXNzaW9uSUQoKS5pc0VwaGVtZXJhbCgpCisg
ICAgaWYgKCFmcmFtZSB8fCFwYWdlIHx8IHBhZ2UtPnNlc3Npb25JRCgpLmlzRXBoZW1lcmFsKCkK
ICAgICAgICAgfHwgIWRvY3VtZW50KCkuc2V0dGluZ3MoKS5wcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dEVuYWJsZWQoKQogICAgICAgICB8fCAhVXNlckdlc3R1cmVJbmRpY2F0b3I6OnByb2Nlc3NpbmdV
c2VyR2VzdHVyZSgpKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpAQCAtNDIxLDEyICs0
MjIsNiBAQCBzdGQ6Om9wdGlvbmFsPFByaXZhdGVDbGlja01lYXN1cmVtZW50PiBIVE1MQW5jaG9y
RWxlbWVudDo6cGFyc2VQcml2YXRlQ2xpY2tNZWFzdQogICAgICAgICByZXR1cm4gc3RkOjpudWxs
b3B0OwogICAgIH0KIAotICAgIFJlZlB0cjxGcmFtZT4gZnJhbWUgPSBkb2N1bWVudCgpLmZyYW1l
KCk7Ci0gICAgaWYgKCFmcmFtZSB8fCAhZnJhbWUtPmlzTWFpbkZyYW1lKCkpIHsKLSAgICAgICAg
ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpPdGhlciwgTWVzc2Fn
ZUxldmVsOjpXYXJuaW5nLCAiUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudCBpcyBvbmx5IHN1cHBv
cnRlZCBpbiB0aGUgbWFpbiBmcmFtZS4iX3MpOwotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OwotICAgIH0KLSAgICAKICAgICBhdXRvIGF0dHJpYnV0aW9uU291cmNlSUQgPSBwYXJzZUhUTUxO
b25OZWdhdGl2ZUludGVnZXIoYXR0cmlidXRpb25Tb3VyY2VJREF0dHIpOwogICAgIGlmICghYXR0
cmlidXRpb25Tb3VyY2VJRCkgewogICAgICAgICBkb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VTb3VyY2U6Ok90aGVyLCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsICJhdHRyaWJ1dGlv
bnNvdXJjZWlkIGlzIG5vdCBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIHdoaWNoIGlzIHJlcXVpcmVk
IGZvciBQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50LiJfcyk7CkBAIC00NDQsOCArNDM5LDE1IEBA
IHN0ZDo6b3B0aW9uYWw8UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ+IEhUTUxBbmNob3JFbGVtZW50
OjpwYXJzZVByaXZhdGVDbGlja01lYXN1CiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAg
ICAgfQogCi0gICAgUmVnaXN0cmFibGVEb21haW4gZG9jdW1lbnRSZWdpc3RyYWJsZURvbWFpbiB7
IGRvY3VtZW50KCkudXJsKCkgfTsKLSAgICBpZiAoZG9jdW1lbnRSZWdpc3RyYWJsZURvbWFpbi5t
YXRjaGVzKGRlc3RpbmF0aW9uVVJMKSkgeworICAgIFJlZ2lzdHJhYmxlRG9tYWluIG1haW5Eb2N1
bWVudFJlZ2lzdHJhYmxlRG9tYWluOworICAgIGlmIChhdXRvIG1haW5Eb2N1bWVudCA9IGZyYW1l
LT5tYWluRnJhbWUoKS5kb2N1bWVudCgpKQorICAgICAgICBtYWluRG9jdW1lbnRSZWdpc3RyYWJs
ZURvbWFpbiA9IFJlZ2lzdHJhYmxlRG9tYWluIHsgbWFpbkRvY3VtZW50LT51cmwoKSB9OworICAg
IGVsc2UgeworICAgICAgICBkb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2U6Ok90aGVyLCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsICJDb3VsZCBub3QgZmluZCBhIG1haW4g
ZG9jdW1lbnQgdG8gdXNlIGFzIHNvdXJjZSBzaXRlIGZvciBQcml2YXRlIENsaWNrIE1lYXN1cmVt
ZW50LiJfcyk7CisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgfQorCisgICAgaWYg
KG1haW5Eb2N1bWVudFJlZ2lzdHJhYmxlRG9tYWluLm1hdGNoZXMoZGVzdGluYXRpb25VUkwpKSB7
CiAgICAgICAgIGRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6T3Ro
ZXIsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgImF0dHJpYnV0aW9uZGVzdGluYXRpb24gY2FuIG5v
dCBiZSB0aGUgc2FtZSBzaXRlIGFzIHRoZSBjdXJyZW50IHdlYnNpdGUuIl9zKTsKICAgICAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICB9CkBAIC00NTUsNyArNDU3LDcgQEAgc3RkOjpvcHRp
b25hbDxQcml2YXRlQ2xpY2tNZWFzdXJlbWVudD4gSFRNTEFuY2hvckVsZW1lbnQ6OnBhcnNlUHJp
dmF0ZUNsaWNrTWVhc3UKICNlbHNlCiAgICAgU3RyaW5nIGJ1bmRsZUlEOwogI2VuZGlmCi0gICAg
YXV0byBwcml2YXRlQ2xpY2tNZWFzdXJlbWVudCA9IFByaXZhdGVDbGlja01lYXN1cmVtZW50IHsg
U291cmNlSUQoYXR0cmlidXRpb25Tb3VyY2VJRC52YWx1ZSgpKSwgU291cmNlU2l0ZShXVEZNb3Zl
KGRvY3VtZW50UmVnaXN0cmFibGVEb21haW4pKSwgQXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUo
ZGVzdGluYXRpb25VUkwpLCBidW5kbGVJRCwgV2FsbFRpbWU6Om5vdygpLCBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudDo6QXR0cmlidXRpb25FcGhlbWVyYWw6Ok5vIH07CisgICAgYXV0byBwcml2YXRl
Q2xpY2tNZWFzdXJlbWVudCA9IFByaXZhdGVDbGlja01lYXN1cmVtZW50IHsgU291cmNlSUQoYXR0
cmlidXRpb25Tb3VyY2VJRC52YWx1ZSgpKSwgU291cmNlU2l0ZShXVEZNb3ZlKG1haW5Eb2N1bWVu
dFJlZ2lzdHJhYmxlRG9tYWluKSksIEF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlKGRlc3RpbmF0
aW9uVVJMKSwgYnVuZGxlSUQsIFdhbGxUaW1lOjpub3coKSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQ6OkF0dHJpYnV0aW9uRXBoZW1lcmFsOjpObyB9OwogCiAgICAgYXV0byBhdHRyaWJ1dGlvblNv
dXJjZU5vbmNlQXR0ciA9IGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oYXR0cmlidXRp
b25zb3VyY2Vub25jZUF0dHIpOwogICAgIGlmICghYXR0cmlidXRpb25Tb3VyY2VOb25jZUF0dHIu
aXNFbXB0eSgpKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjMxNDhjM2MzOTljZDNmOTc0MjUxNjU2M2I0NmUwODRjM2Fk
YTdhZi4uMWM4NmQ0MTNjNTY3YTk4ZDBlODdiMjhmYTM5MTg3MmM0Y2YzNzkwNSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI0IEBACisyMDIxLTEwLTA1ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUu
Y29tPgorCisgICAgICAgIFBDTTogQWxsb3cgbWVhc3VyZW1lbnQgb2YgbGlua3MgaW4gbmVzdGVk
LCBjcm9zcy1zaXRlIGlmcmFtZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyOTIwNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODIzMTAzODY+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBEZXZlbG9w
ZXJzIGhhdmUgc2FpZCBpdCB3b3VsZCBiZSBncmVhdCB0byBhbGxvdyBtZWFzdXJlbWVudCBvZiBs
aW5rcyBzZXJ2ZWQgaW4KKyAgICAgICAgbmVzdGVkLCBjcm9zcy1zaXRlIGlmcmFtZXMgb24gdGhl
IGNsaWNrIHNvdXJjZS4gVGhlIGNsaWNrIHN0aWxsIGNvdW50IGFzIGlmIGl0CisgICAgICAgIGhh
cHBlbmVkIG9uIHRoZSBmaXJzdCBwYXJ0eSBjbGljayBzb3VyY2Ugc2l0ZSwgYW5kIGFueSBhdHRy
aWJ1dGlvbiByZXBvcnQgc3RpbGwKKyAgICAgICAgZ29lcyB0byB0aGF0IGZpcnN0IHBhcnR5LiBU
aGlzIGNoYW5nZSBlbmFibGVzIHRoZSAqc2VydmluZyogb2YgbWVhc3VyYWJsZSBsaW5rcworICAg
ICAgICBpbiBuZXN0ZWQsIGNyb3NzLXNpdGUgaWZyYW1lcy4KKworICAgICAgICBUaGUgc3RhbmRh
cmRzIGlzc3VlIHdoZXJlIHRoaXMgd2FzIGRpc2N1c3NlZDoKKyAgICAgICAgaHR0cHM6Ly9naXRo
dWIuY29tL3ByaXZhY3ljZy9wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50L2lzc3Vlcy83CisKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3Jlc291cmNlcy9uZXN0
ZWRUYXJnZXRMaW5rLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQvc3RvcmUtcHJpdmF0ZS1jbGljay1tZWFzdXJlbWVudC1uZXN0ZWQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1
cmVtZW50L3N0b3JlLXByaXZhdGUtY2xpY2stbWVhc3VyZW1lbnQtbmVzdGVkLmh0bWw6IEFkZGVk
LgorCiAyMDIxLTEwLTA0ICBMYXVybyBNb3VyYSAgPGxtb3VyYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIE1ha2UgcHJlbG9hZCByZWZlcnJlci1pbWcucHkgY29tcGF0aWJsZSB3aXRoIFB5dGhvbiAz
LjkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQvcmVzb3VyY2VzL25lc3RlZFRhcmdldExpbmsuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3VyY2VzL25lc3RlZFRhcmdldExpbmsu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zZWJjZjYxMTBkYTVhYzg5Mzc2ZDdhNTVkMjBhNTI3Zjc3YmE1MzIz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudC9yZXNvdXJjZXMvbmVzdGVkVGFyZ2V0TGluay5odG1sCkBAIC0wLDAgKzEsMTAg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEg
Y2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5OZXN0ZWQgdGFyZ2V0IGxpbms8L3RpdGxlPgor
PC9oZWFkPgorPGJvZHk+Cis8YSBzdHlsZT0iZm9udC1zaXplOiB4eHgtbGFyZ2U7IiB0YXJnZXQ9
Il90b3AiIGhyZWY9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9wcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dC9zdG9yZS1wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50LW5lc3RlZC5odG1sP3N0ZXBUd28iIGF0
dHJpYnV0aW9uc291cmNlaWQ9IjMiIGF0dHJpYnV0aW9uZGVzdGluYXRpb249Imh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMCI+TGluazwvYT48YnI+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRl
Q2xpY2tNZWFzdXJlbWVudC9zdG9yZS1wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50LW5lc3RlZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L3N0b3JlLXByaXZhdGUtY2xpY2stbWVhc3VyZW1lbnQtbmVzdGVkLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lNmRmM2FhNmZkNzE0ZGY5ZTg3ZWY5NDdjZWU3NmM3MGU0MTNkMDgxCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJl
bWVudC9zdG9yZS1wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50LW5lc3RlZC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw5IEBACitUZXN0cyBzdG9yYWdlIG9mIHByaXZhdGUgY2xpY2sgbWVhc3VyZW1l
bnQgd2l0aCBuZXN0ZWQgbGlua3MuCisKK1VuYXR0cmlidXRlZCBQcml2YXRlIENsaWNrIE1lYXN1
cmVtZW50czoKK1dlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50IDEKK1NvdXJjZSBzaXRl
OiAxMjcuMC4wLjEKK0F0dHJpYnV0ZSBvbiBzaXRlOiBsb2NhbGhvc3QKK1NvdXJjZSBJRDogMwor
Tm8gYXR0cmlidXRpb24gdHJpZ2dlciBkYXRhLgorQXBwbGljYXRpb24gYnVuZGxlIGlkZW50aWZp
ZXI6IHRlc3RCdW5kbGVJRApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2
YXRlQ2xpY2tNZWFzdXJlbWVudC9zdG9yZS1wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50LW5lc3Rl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9z
dG9yZS1wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50LW5lc3RlZC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJm
NWY4ZDRkOTMzMGY1ZDk0NzU4MWRkYmU3OTVkMDgwY2NjMDRjMGMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3N0b3JlLXBy
aXZhdGUtY2xpY2stbWVhc3VyZW1lbnQtbmVzdGVkLmh0bWwKQEAgLTAsMCArMSw1NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJVVEYtOCI+CisgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICA8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIvanMt
dGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9u
bG9hZD0ic2V0VGltZW91dChydW5UZXN0LCAwKSI+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+VGVz
dHMgc3RvcmFnZSBvZiBwcml2YXRlIGNsaWNrIG1lYXN1cmVtZW50IHdpdGggbmVzdGVkIGxpbmtz
LjwvZGl2PgorPGRpdiBpZD0ib3V0cHV0Ij48L2Rpdj4KKzxzY3JpcHQ+CisgICAgcHJlcGFyZVRl
c3QoKTsKKworICAgIGZ1bmN0aW9uIGFjdGl2YXRlTGluaygpIHsKKyAgICAgICAgbGV0IGVsZW1l
bnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0RnJhbWUiKTsKKyAgICAgICAgbGV0
IGNlbnRlclggPSBlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50Lm9mZnNldFdpZHRoIC8gMjsK
KyAgICAgICAgbGV0IGNlbnRlclkgPSBlbGVtZW50Lm9mZnNldFRvcCArIGVsZW1lbnQub2Zmc2V0
SGVpZ2h0IC8gMjsKKyAgICAgICAgaWYgKCFVSUhlbHBlcikgeworICAgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpLmlubmVyVGV4dCA9ICJGQUlMIE5vIFVJSGVscGVy
LiI7CisgICAgICAgICAgICB0ZWFyRG93bkFuZEZpbmlzaCgpOworICAgICAgICB9CisgICAgICAg
IFVJSGVscGVyLmFjdGl2YXRlQXQoY2VudGVyWCwgY2VudGVyWSkudGhlbigKKyAgICAgICAgICAg
IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBmdW5jdGlvbiAoKSB7
CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpLmlubmVy
VGV4dCA9ICJGQUlMIFByb21pc2UgcmVqZWN0ZWQuIjsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24uc2VhcmNoID09
PSAiP3N0ZXBUd28iKSB7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQoKTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVD
bGlja01lYXN1cmVtZW50QXBwQnVuZGxlSURGb3JUZXN0aW5nKCIiKTsKKyAgICAgICAgICAgICAg
ICB0ZWFyRG93bkFuZEZpbmlzaCgpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXBwQnVuZGxlSURGb3JU
ZXN0aW5nKCJ0ZXN0QnVuZGxlSUQiKTsKKyAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVu
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOworICAgICAgICAgICAgICAgIGlm
cmFtZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJzYW5kYm94IiwgImFsbG93LXNjcmlwdHMgYWxsb3ct
dG9wLW5hdmlnYXRpb24iKTsKKyAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LmlkID0gInRh
cmdldEZyYW1lIjsKKyAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LndpZHRoID0gIjUwcHgi
OworICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuaGVpZ2h0ID0gIjUwcHgiOworICAgICAg
ICAgICAgICAgIGlmcmFtZUVsZW1lbnQub25sb2FkID0gYWN0aXZhdGVMaW5rOworICAgICAgICAg
ICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9wcml2YXRl
Q2xpY2tNZWFzdXJlbWVudC9yZXNvdXJjZXMvbmVzdGVkVGFyZ2V0TGluay5odG1sIjsKKyAgICAg
ICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZUVsZW1lbnQpOworICAg
ICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoIm91dHB1dCIpLmlubmVyVGV4dCA9ICJGQUlMIE5vIHRlc3RSdW5uZXIuIjsKKyAg
ICAgICAgfQorICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>