<?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>234934</bug_id>
          
          <creation_ts>2022-01-06 13:26:09 -0800</creation_ts>
          <short_desc>Implement CSP strict-dynamic for module scripts</short_desc>
          <delta_ts>2022-01-07 10:06:12 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kate Cheney">katherine_cheney</reporter>
          <assigned_to name="Kate Cheney">katherine_cheney</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>mkwst</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1828734</commentid>
    <comment_count>0</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2022-01-06 13:26:09 -0800</bug_when>
    <thetext>Implement CSP strict-dynamic for module scripts</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828739</commentid>
    <comment_count>1</comment_count>
      <attachid>448534</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2022-01-06 13:28:50 -0800</bug_when>
    <thetext>Created attachment 448534
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828741</commentid>
    <comment_count>2</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2022-01-06 13:29:21 -0800</bug_when>
    <thetext>rdar://83728374</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828750</commentid>
    <comment_count>3</comment_count>
      <attachid>448534</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2022-01-06 14:05:54 -0800</bug_when>
    <thetext>Comment on attachment 448534
Patch

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

r=me

&gt; Source/WebCore/dom/ScriptElement.cpp:379
&gt; +    if (!contentSecurityPolicy.allowNonParserInsertedScripts(m_element.document().url(), m_startLineNumber, m_element.nonce(), sourceCode.source(), m_parserInserted))

Is there a specific CSP spec step we should reference for this decision? I know most of the CSP code doesn&apos;t add such comments, but I find them helpful when reviewing other areas of WebKit.

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/strict-dynamic-module-script.html:6
&gt; +        &lt;script src=&quot;/js-test-resources/testharnessreport.js&quot; nonce=&apos;dummy&apos;&gt;&lt;/script&gt;

Nit: Weird spacing here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828756</commentid>
    <comment_count>4</comment_count>
      <attachid>448534</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2022-01-06 14:37:55 -0800</bug_when>
    <thetext>Comment on attachment 448534
Patch

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

&gt;&gt; Source/WebCore/dom/ScriptElement.cpp:379
&gt;&gt; +    if (!contentSecurityPolicy.allowNonParserInsertedScripts(m_element.document().url(), m_startLineNumber, m_element.nonce(), sourceCode.source(), m_parserInserted))
&gt; 
&gt; Is there a specific CSP spec step we should reference for this decision? I know most of the CSP code doesn&apos;t add such comments, but I find them helpful when reviewing other areas of WebKit.

Do you mean the m_startLineNumber change or why we check for allowNonParserInsertedScripts here? 

If it is the latter, generally yes but not specifically to module scripts. Under https://www.w3.org/TR/CSP3/#strict-dynamic-usage the spec explains &quot;Script requests which are triggered by non-&quot;parser-inserted&quot; script elements are allowed.&quot; requestModuleScript is a place we were formerly not checking a requested script&apos;s parser-inserted status.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828757</commentid>
    <comment_count>5</comment_count>
      <attachid>448534</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2022-01-06 14:42:03 -0800</bug_when>
    <thetext>Comment on attachment 448534
Patch

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

&gt;&gt;&gt; Source/WebCore/dom/ScriptElement.cpp:379
&gt;&gt;&gt; +    if (!contentSecurityPolicy.allowNonParserInsertedScripts(m_element.document().url(), m_startLineNumber, m_element.nonce(), sourceCode.source(), m_parserInserted))
&gt;&gt; 
&gt;&gt; Is there a specific CSP spec step we should reference for this decision? I know most of the CSP code doesn&apos;t add such comments, but I find them helpful when reviewing other areas of WebKit.
&gt; 
&gt; Do you mean the m_startLineNumber change or why we check for allowNonParserInsertedScripts here? 
&gt; 
&gt; If it is the latter, generally yes but not specifically to module scripts. Under https://www.w3.org/TR/CSP3/#strict-dynamic-usage the spec explains &quot;Script requests which are triggered by non-&quot;parser-inserted&quot; script elements are allowed.&quot; requestModuleScript is a place we were formerly not checking a requested script&apos;s parser-inserted status.

I meant the latter, so I think you&apos;ve explained it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828930</commentid>
    <comment_count>6</comment_count>
      <attachid>448604</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2022-01-07 09:24:25 -0800</bug_when>
    <thetext>Created attachment 448604
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828955</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-07 10:06:09 -0800</bug_when>
    <thetext>Committed r287756 (245819@main): &lt;https://commits.webkit.org/245819@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 448604.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448534</attachid>
            <date>2022-01-06 13:28:50 -0800</date>
            <delta_ts>2022-01-07 09:24:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234934-20220106132849.patch</filename>
            <type>text/plain</type>
            <size>9245</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NjQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTM3ZWFjOGE5Zjg2ZmU2
YzY2MTBhODUzZjdmZjZiYjA1OTM2YmNmYy4uNTM1YTIzOTRhYzEwMjZlNjZiY2U1YjQ5YWQwYTI5
ZDYxZTY0NmUxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIyLTAxLTA2ICBLYXRl
IENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVu
dCBDU1Agc3RyaWN0LWR5bmFtaWMgZm9yIG1vZHVsZSBzY3JpcHRzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ5MzQKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzgzNzI4Mzc0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3N0cmljdC1keW5hbWljLW1vZHVsZS1zY3JpcHQuaHRtbAorCisgICAgICAgIFRoaXMgYWxzbyBh
ZGRzIHRoZSBjb250ZXh0TGluZSB2YWx1ZSBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBkZWZhdWx0Cisg
ICAgICAgIE9yZGluYWxOdW1iZXI6OmJlZm9yZUZpcnN0KCkgdmFsdWUuCisKKyAgICAgICAgKiBk
b20vU2NyaXB0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFbGVtZW50Ojpy
ZXF1ZXN0Q2xhc3NpY1NjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFbGVtZW50Ojpy
ZXF1ZXN0TW9kdWxlU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6OmV4
ZWN1dGVDbGFzc2ljU2NyaXB0KToKKyAgICAgICAgKiBwYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQ
b2xpY3kuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxv
d05vblBhcnNlckluc2VydGVkU2NyaXB0cyBjb25zdCk6CisgICAgICAgICogcGFnZS9jc3AvQ29u
dGVudFNlY3VyaXR5UG9saWN5Lmg6CisKIDIwMjItMDEtMDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgogCiAgICAgICAgIE1lZGlhUmVjb3JkZXIgc2hvdWxkIHN1cHBvcnQgdGhl
IGJpdHNQZXJTZWNvbmQgb3B0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKaW5k
ZXggMjM5MmEzYWFlZjVlOThhZjdmMzljYzk4NDM5ZGNhNjVhN2E1YTMxZi4uNTM5OTBiNGI3MjM0
YmM1OTg0ZWFlMmYyYTM3MDJiZDA2MjNjNjI3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVt
ZW50LmNwcApAQCAtMzA0LDcgKzMwNCw3IEBAIGJvb2wgU2NyaXB0RWxlbWVudDo6cmVxdWVzdENs
YXNzaWNTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiAgICAgICAgIG1fZWxlbWVudC5k
b2N1bWVudCgpLndpbGxMb2FkU2NyaXB0RWxlbWVudChzY3JpcHRVUkwpOwogCiAgICAgICAgIGNv
bnN0IGF1dG8mIGNvbnRlbnRTZWN1cml0eVBvbGljeSA9ICptX2VsZW1lbnQuZG9jdW1lbnQoKS5j
b250ZW50U2VjdXJpdHlQb2xpY3koKTsKLSAgICAgICAgaWYgKCFjb250ZW50U2VjdXJpdHlQb2xp
Y3kuYWxsb3dOb25QYXJzZXJJbnNlcnRlZFNjcmlwdHMoc2NyaXB0VVJMLCBtX2VsZW1lbnQubm9u
Y2UoKSwgU3RyaW5nKCksIG1fcGFyc2VySW5zZXJ0ZWQpKQorICAgICAgICBpZiAoIWNvbnRlbnRT
ZWN1cml0eVBvbGljeS5hbGxvd05vblBhcnNlckluc2VydGVkU2NyaXB0cyhzY3JpcHRVUkwsIG1f
c3RhcnRMaW5lTnVtYmVyLCBtX2VsZW1lbnQubm9uY2UoKSwgU3RyaW5nKCksIG1fcGFyc2VySW5z
ZXJ0ZWQpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIGlmIChzY3JpcHQt
PmxvYWQobV9lbGVtZW50LmRvY3VtZW50KCksIHNjcmlwdFVSTCkpIHsKQEAgLTM3Niw2ICszNzYs
OSBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RNb2R1bGVTY3JpcHQoY29uc3QgVGV4dFBv
c2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQogCiAgICAgQVNTRVJUKG1fZWxlbWVudC5kb2N1
bWVudCgpLmNvbnRlbnRTZWN1cml0eVBvbGljeSgpKTsKICAgICBjb25zdCBhdXRvJiBjb250ZW50
U2VjdXJpdHlQb2xpY3kgPSAqbV9lbGVtZW50LmRvY3VtZW50KCkuY29udGVudFNlY3VyaXR5UG9s
aWN5KCk7CisgICAgaWYgKCFjb250ZW50U2VjdXJpdHlQb2xpY3kuYWxsb3dOb25QYXJzZXJJbnNl
cnRlZFNjcmlwdHMobV9lbGVtZW50LmRvY3VtZW50KCkudXJsKCksIG1fc3RhcnRMaW5lTnVtYmVy
LCBtX2VsZW1lbnQubm9uY2UoKSwgc291cmNlQ29kZS5zb3VyY2UoKSwgbV9wYXJzZXJJbnNlcnRl
ZCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIGJvb2wgaGFzS25vd25Ob25jZSA9IGNv
bnRlbnRTZWN1cml0eVBvbGljeS5hbGxvd1NjcmlwdFdpdGhOb25jZShub25jZSwgbV9lbGVtZW50
LmlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKCkpOwogICAgIGlmICghY29udGVudFNlY3VyaXR5UG9s
aWN5LmFsbG93SW5saW5lU2NyaXB0KG1fZWxlbWVudC5kb2N1bWVudCgpLnVybCgpLnN0cmluZygp
LCBtX3N0YXJ0TGluZU51bWJlciwgc291cmNlQ29kZS5zb3VyY2UoKSwgbV9lbGVtZW50LCBoYXNL
bm93bk5vbmNlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMzk3LDcgKzQwMCw3IEBAIHZv
aWQgU2NyaXB0RWxlbWVudDo6ZXhlY3V0ZUNsYXNzaWNTY3JpcHQoY29uc3QgU2NyaXB0U291cmNl
Q29kZSYgc291cmNlQ29kZSkKICAgICBpZiAoIW1faXNFeHRlcm5hbFNjcmlwdCkgewogICAgICAg
ICBBU1NFUlQobV9lbGVtZW50LmRvY3VtZW50KCkuY29udGVudFNlY3VyaXR5UG9saWN5KCkpOwog
ICAgICAgICBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3kmIGNvbnRlbnRTZWN1cml0eVBvbGlj
eSA9ICptX2VsZW1lbnQuZG9jdW1lbnQoKS5jb250ZW50U2VjdXJpdHlQb2xpY3koKTsKLSAgICAg
ICAgaWYgKCFjb250ZW50U2VjdXJpdHlQb2xpY3kuYWxsb3dOb25QYXJzZXJJbnNlcnRlZFNjcmlw
dHMobV9lbGVtZW50LmRvY3VtZW50KCkudXJsKCksIG1fZWxlbWVudC5ub25jZSgpLCBzb3VyY2VD
b2RlLnNvdXJjZSgpLCBtX3BhcnNlckluc2VydGVkKSkKKyAgICAgICAgaWYgKCFjb250ZW50U2Vj
dXJpdHlQb2xpY3kuYWxsb3dOb25QYXJzZXJJbnNlcnRlZFNjcmlwdHMobV9lbGVtZW50LmRvY3Vt
ZW50KCkudXJsKCksIG1fc3RhcnRMaW5lTnVtYmVyLCBtX2VsZW1lbnQubm9uY2UoKSwgc291cmNl
Q29kZS5zb3VyY2UoKSwgbV9wYXJzZXJJbnNlcnRlZCkpCiAgICAgICAgICAgICByZXR1cm47CiAK
ICAgICAgICAgYm9vbCBoYXNLbm93bk5vbmNlID0gY29udGVudFNlY3VyaXR5UG9saWN5LmFsbG93
U2NyaXB0V2l0aE5vbmNlKG1fZWxlbWVudC5ub25jZSgpLCBtX2VsZW1lbnQuaXNJblVzZXJBZ2Vu
dFNoYWRvd1RyZWUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250
ZW50U2VjdXJpdHlQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNl
Y3VyaXR5UG9saWN5LmNwcAppbmRleCBlNDIwOWJjYTc3NDlkOWIwYzJmOTVhZmJkZDJhOWYyODM4
N2RkMzcxLi41OWJiNjc0OWIxM2YwYjJkZjY5YWNlMDkzYjYwMWViZjg5OGMyN2M3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKQEAg
LTQ1OSwxMyArNDU5LDEzIEBAIGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjpzaG91bGRQZXJm
b3JtRWFybHlDU1BDaGVjaygpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIENv
bnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dOb25QYXJzZXJJbnNlcnRlZFNjcmlwdHMoY29uc3Qg
VVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IFN0cmluZ1ZpZXcmIHNjcmlwdENv
bnRlbnQsIFBhcnNlckluc2VydGVkIHBhcnNlckluc2VydGVkKSBjb25zdAorYm9vbCBDb250ZW50
U2VjdXJpdHlQb2xpY3k6OmFsbG93Tm9uUGFyc2VySW5zZXJ0ZWRTY3JpcHRzKGNvbnN0IFVSTCYg
dXJsLCBjb25zdCBPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgY29uc3QgU3RyaW5nJiBub25j
ZSwgY29uc3QgU3RyaW5nVmlldyYgc2NyaXB0Q29udGVudCwgUGFyc2VySW5zZXJ0ZWQgcGFyc2Vy
SW5zZXJ0ZWQpIGNvbnN0CiB7CiAgICAgaWYgKCFzaG91bGRQZXJmb3JtRWFybHlDU1BDaGVjaygp
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGF1dG8gaGFuZGxlVmlvbGF0ZWREaXJlY3Rp
dmUgPSBbJl0gKGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSYgdmlvbGF0ZWRE
aXJlY3RpdmUpIHsKLSAgICAgICAgVGV4dFBvc2l0aW9uIHNvdXJjZVBvc2l0aW9uKE9yZGluYWxO
dW1iZXI6OmJlZm9yZUZpcnN0KCksIE9yZGluYWxOdW1iZXIoKSk7CisgICAgICAgIFRleHRQb3Np
dGlvbiBzb3VyY2VQb3NpdGlvbihjb250ZXh0TGluZSwgT3JkaW5hbE51bWJlcigpKTsKICAgICAg
ICAgU3RyaW5nIGNvbnNvbGVNZXNzYWdlID0gY29uc29sZU1lc3NhZ2VGb3JWaW9sYXRpb24oQ29u
dGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTmFtZXM6OnNjcmlwdFNyYywgdmlvbGF0ZWREaXJl
Y3RpdmUsIHVybCwgIlJlZnVzZWQgdG8gbG9hZCIpOwogICAgICAgICByZXBvcnRWaW9sYXRpb24o
Q29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTmFtZXM6OnNjcmlwdFNyY0VsZW0sIHZpb2xh
dGVkRGlyZWN0aXZlLCB1cmwuc3RyaW5nKCksIGNvbnNvbGVNZXNzYWdlLCBTdHJpbmcoKSwgc2Ny
aXB0Q29udGVudCwgc291cmNlUG9zaXRpb24pOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCmluZGV4IDRhOWNiNGU4OTNiNzM2ODM2
YTUyNmQ4YzFkOGEyNTZlYWI0YjMyN2IuLjg2M2Y2NjhmYmNmMjQ4NjI5MjBkMmNiODQ3NTVkMTI5
ODE1N2QxMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1
cml0eVBvbGljeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0
eVBvbGljeS5oCkBAIC0xMDEsNyArMTAxLDcgQEAgcHVibGljOgogICAgIGJvb2wgYWxsb3dKYXZh
U2NyaXB0VVJMcyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IE9yZGluYWxOdW1iZXIm
IGNvbnRleHRMaW5lLCBjb25zdCBTdHJpbmcmIGNvZGUsIGJvb2wgb3ZlcnJpZGVDb250ZW50U2Vj
dXJpdHlQb2xpY3kgPSBmYWxzZSkgY29uc3Q7CiAgICAgYm9vbCBhbGxvd0lubGluZUV2ZW50SGFu
ZGxlcnMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBPcmRpbmFsTnVtYmVyJiBjb250
ZXh0TGluZSwgY29uc3QgU3RyaW5nJiBjb2RlLCBFbGVtZW50KiwgYm9vbCBvdmVycmlkZUNvbnRl
bnRTZWN1cml0eVBvbGljeSA9IGZhbHNlKSBjb25zdDsKICAgICBib29sIGFsbG93SW5saW5lU2Ny
aXB0KGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgT3JkaW5hbE51bWJlciYgY29udGV4
dExpbmUsIFN0cmluZ1ZpZXcgc2NyaXB0Q29udGVudCwgRWxlbWVudCYsIGJvb2wgb3ZlcnJpZGVD
b250ZW50U2VjdXJpdHlQb2xpY3kgPSBmYWxzZSkgY29uc3Q7Ci0gICAgYm9vbCBhbGxvd05vblBh
cnNlckluc2VydGVkU2NyaXB0cyhjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJp
bmdWaWV3JiwgUGFyc2VySW5zZXJ0ZWQpIGNvbnN0OworICAgIGJvb2wgYWxsb3dOb25QYXJzZXJJ
bnNlcnRlZFNjcmlwdHMoY29uc3QgVVJMJiwgY29uc3QgT3JkaW5hbE51bWJlciYsIGNvbnN0IFN0
cmluZyYsIGNvbnN0IFN0cmluZ1ZpZXcmLCBQYXJzZXJJbnNlcnRlZCkgY29uc3Q7CiAgICAgYm9v
bCBhbGxvd0lubGluZVN0eWxlKGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgT3JkaW5h
bE51bWJlciYgY29udGV4dExpbmUsIFN0cmluZ1ZpZXcgc3R5bGVDb250ZW50LCBDaGVja1Vuc2Fm
ZUhhc2hlcywgRWxlbWVudCYsIGJvb2wgb3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQb2xpY3kgPSBm
YWxzZSkgY29uc3Q7CiAKICAgICBib29sIGFsbG93RXZhbChKU0M6OkpTR2xvYmFsT2JqZWN0Kiwg
TG9nVG9Db25zb2xlLCBTdHJpbmdWaWV3IGNvZGVDb250ZW50LCBib29sIG92ZXJyaWRlQ29udGVu
dFNlY3VyaXR5UG9saWN5ID0gZmFsc2UpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDg4MzMzNDUxNTAwODBhZWIz
ZDVkYmJmNzFiZGJlNjA0MzljYTkyMjguLjk5ODlkMWQ1MzBlYzU2MDg3Y2I3ZWM2YzZhYzI2NjQ4
ZGFjMmUzZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMi0wMS0wNiAgS2F0ZSBDaGVuZXkg
IDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgQ1NQIHN0
cmljdC1keW5hbWljIGZvciBtb2R1bGUgc2NyaXB0cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0OTM0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84
MzcyODM3ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3N0cmljdC1keW5h
bWljLW1vZHVsZS1zY3JpcHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zdHJpY3QtZHluYW1pYy1tb2R1bGUt
c2NyaXB0Lmh0bWw6IEFkZGVkLgorCiAyMDIyLTAxLTA1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KIAogICAgICAgICBNZWRpYVJlY29yZGVyIHNob3VsZCBzdXBwb3J0IHRoZSBi
aXRzUGVyU2Vjb25kIG9wdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc3RyaWN0LWR5bmFtaWMtbW9kdWxlLXNjcmlw
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9zdHJpY3QtZHluYW1pYy1tb2R1bGUtc2NyaXB0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jNTgzZDk2M2ZmNDIwMmRmNzg4ODIwZjQ3NmE0ZTU1ZGZiZDFkN2JlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvc3RyaWN0LWR5bmFtaWMtbW9kdWxlLXNjcmlwdC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IFJlZnVzZWQgdG8gbG9hZCBodHRwOi8vMTI3
LjAuMC4xOjgwMDAvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3N0cmljdC1keW5hbWlj
LW1vZHVsZS1zY3JpcHQuaHRtbCBiZWNhdXNlIGl0IGRvZXMgbm90IGFwcGVhciBpbiB0aGUgc2Ny
aXB0LXNyYyBkaXJlY3RpdmUgb2YgdGhlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LgorCitQQVNT
IEFsbCB0aGUgZXhwZWN0ZWQgQ1NQIHZpb2xhdGlvbiByZXBvcnRzIGhhdmUgYmVlbiBmaXJlZC4K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvc3RyaWN0LWR5bmFtaWMtbW9kdWxlLXNjcmlwdC5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc3RyaWN0LWR5bmFt
aWMtbW9kdWxlLXNjcmlwdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmMmJlYWE1ODc2NDA3YzU1YTkyNTA1
ZmIyZDZmMjE4ZDFhNmJjZWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zdHJpY3QtZHluYW1pYy1tb2R1bGUt
c2NyaXB0Lmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2VjdXJpdHktUG9saWN5IiBjb250
ZW50PSJzY3JpcHQtc3JjICdzdHJpY3QtZHluYW1pYycgJ3Vuc2FmZS1pbmxpbmUnICdub25jZS1k
dW1teSciPgorICAgICAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIiBub25jZT0nZHVtbXknPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iL2pz
LXRlc3QtcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIiBub25jZT0nZHVtbXknPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHNjcmlwdCBub25jZT0nZHVtbXknPgorICAgICAg
ICBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCdzZWN1cml0eXBvbGljeXZpb2xhdGlvbicsIHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rp
b24oZSkgeworICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZS5lZmZlY3RpdmVEaXJlY3Rp
dmUsICdzY3JpcHQtc3JjLWVsZW0nKTsKKyAgICAgICAgICAgIH0pKTsKKyAgICAgICAgfSwgJ0Fs
bCB0aGUgZXhwZWN0ZWQgQ1NQIHZpb2xhdGlvbiByZXBvcnRzIGhhdmUgYmVlbiBmaXJlZC4nKTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IG5vbmNlPSd3cm9uZycgdHlwZT0nbW9kdWxlJz4K
KyAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgnSW5saW5lIHNjcmlwdCB3aXRoIGFuIGluY29ycmVj
dCBub25jZSBzaG91bGQgbm90IGJlIGV4ZWN1dGVkLicpOworICAgIDwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448604</attachid>
            <date>2022-01-07 09:24:25 -0800</date>
            <delta_ts>2022-01-07 10:06:11 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-234934-20220107092424.patch</filename>
            <type>text/plain</type>
            <size>9235</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NjQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTM3ZWFjOGE5Zjg2ZmU2
YzY2MTBhODUzZjdmZjZiYjA1OTM2YmNmYy4uYzdkMDBmYjdmNzY5NzAxMDg0NzNiNGVlZDE2ZjFm
YTBjMjQyN2I0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIyLTAxLTA2ICBLYXRl
IENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVu
dCBDU1Agc3RyaWN0LWR5bmFtaWMgZm9yIG1vZHVsZSBzY3JpcHRzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ5MzQKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzgzNzI4Mzc0PgorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisK
KyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
c3RyaWN0LWR5bmFtaWMtbW9kdWxlLXNjcmlwdC5odG1sCisKKyAgICAgICAgVGhpcyBhbHNvIGFk
ZHMgdGhlIGNvbnRleHRMaW5lIHZhbHVlIGluc3RlYWQgb2YgdXNpbmcgdGhlIGRlZmF1bHQKKyAg
ICAgICAgT3JkaW5hbE51bWJlcjo6YmVmb3JlRmlyc3QoKSB2YWx1ZS4KKworICAgICAgICAqIGRv
bS9TY3JpcHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6OnJl
cXVlc3RDbGFzc2ljU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6OnJl
cXVlc3RNb2R1bGVTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6ZXhl
Y3V0ZUNsYXNzaWNTY3JpcHQpOgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBv
bGljeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93
Tm9uUGFyc2VySW5zZXJ0ZWRTY3JpcHRzIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL2NzcC9Db250
ZW50U2VjdXJpdHlQb2xpY3kuaDoKKwogMjAyMi0wMS0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CiAKICAgICAgICAgTWVkaWFSZWNvcmRlciBzaG91bGQgc3VwcG9ydCB0aGUg
Yml0c1BlclNlY29uZCBvcHRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAppbmRl
eCAyMzkyYTNhYWVmNWU5OGFmN2YzOWNjOTg0MzlkY2E2NWE3YTVhMzFmLi41Mzk5MGI0YjcyMzRi
YzU5ODRlYWUyZjJhMzcwMmJkMDYyM2M2MjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1l
bnQuY3BwCkBAIC0zMDQsNyArMzA0LDcgQEAgYm9vbCBTY3JpcHRFbGVtZW50OjpyZXF1ZXN0Q2xh
c3NpY1NjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKICAgICAgICAgbV9lbGVtZW50LmRv
Y3VtZW50KCkud2lsbExvYWRTY3JpcHRFbGVtZW50KHNjcmlwdFVSTCk7CiAKICAgICAgICAgY29u
c3QgYXV0byYgY29udGVudFNlY3VyaXR5UG9saWN5ID0gKm1fZWxlbWVudC5kb2N1bWVudCgpLmNv
bnRlbnRTZWN1cml0eVBvbGljeSgpOwotICAgICAgICBpZiAoIWNvbnRlbnRTZWN1cml0eVBvbGlj
eS5hbGxvd05vblBhcnNlckluc2VydGVkU2NyaXB0cyhzY3JpcHRVUkwsIG1fZWxlbWVudC5ub25j
ZSgpLCBTdHJpbmcoKSwgbV9wYXJzZXJJbnNlcnRlZCkpCisgICAgICAgIGlmICghY29udGVudFNl
Y3VyaXR5UG9saWN5LmFsbG93Tm9uUGFyc2VySW5zZXJ0ZWRTY3JpcHRzKHNjcmlwdFVSTCwgbV9z
dGFydExpbmVOdW1iZXIsIG1fZWxlbWVudC5ub25jZSgpLCBTdHJpbmcoKSwgbV9wYXJzZXJJbnNl
cnRlZCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgaWYgKHNjcmlwdC0+
bG9hZChtX2VsZW1lbnQuZG9jdW1lbnQoKSwgc2NyaXB0VVJMKSkgewpAQCAtMzc2LDYgKzM3Niw5
IEBAIGJvb2wgU2NyaXB0RWxlbWVudDo6cmVxdWVzdE1vZHVsZVNjcmlwdChjb25zdCBUZXh0UG9z
aXRpb24mIHNjcmlwdFN0YXJ0UG9zaXRpb24pCiAKICAgICBBU1NFUlQobV9lbGVtZW50LmRvY3Vt
ZW50KCkuY29udGVudFNlY3VyaXR5UG9saWN5KCkpOwogICAgIGNvbnN0IGF1dG8mIGNvbnRlbnRT
ZWN1cml0eVBvbGljeSA9ICptX2VsZW1lbnQuZG9jdW1lbnQoKS5jb250ZW50U2VjdXJpdHlQb2xp
Y3koKTsKKyAgICBpZiAoIWNvbnRlbnRTZWN1cml0eVBvbGljeS5hbGxvd05vblBhcnNlckluc2Vy
dGVkU2NyaXB0cyhtX2VsZW1lbnQuZG9jdW1lbnQoKS51cmwoKSwgbV9zdGFydExpbmVOdW1iZXIs
IG1fZWxlbWVudC5ub25jZSgpLCBzb3VyY2VDb2RlLnNvdXJjZSgpLCBtX3BhcnNlckluc2VydGVk
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgYm9vbCBoYXNLbm93bk5vbmNlID0gY29u
dGVudFNlY3VyaXR5UG9saWN5LmFsbG93U2NyaXB0V2l0aE5vbmNlKG5vbmNlLCBtX2VsZW1lbnQu
aXNJblVzZXJBZ2VudFNoYWRvd1RyZWUoKSk7CiAgICAgaWYgKCFjb250ZW50U2VjdXJpdHlQb2xp
Y3kuYWxsb3dJbmxpbmVTY3JpcHQobV9lbGVtZW50LmRvY3VtZW50KCkudXJsKCkuc3RyaW5nKCks
IG1fc3RhcnRMaW5lTnVtYmVyLCBzb3VyY2VDb2RlLnNvdXJjZSgpLCBtX2VsZW1lbnQsIGhhc0tu
b3duTm9uY2UpKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0zOTcsNyArNDAwLDcgQEAgdm9p
ZCBTY3JpcHRFbGVtZW50OjpleGVjdXRlQ2xhc3NpY1NjcmlwdChjb25zdCBTY3JpcHRTb3VyY2VD
b2RlJiBzb3VyY2VDb2RlKQogICAgIGlmICghbV9pc0V4dGVybmFsU2NyaXB0KSB7CiAgICAgICAg
IEFTU0VSVChtX2VsZW1lbnQuZG9jdW1lbnQoKS5jb250ZW50U2VjdXJpdHlQb2xpY3koKSk7CiAg
ICAgICAgIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeSYgY29udGVudFNlY3VyaXR5UG9saWN5
ID0gKm1fZWxlbWVudC5kb2N1bWVudCgpLmNvbnRlbnRTZWN1cml0eVBvbGljeSgpOwotICAgICAg
ICBpZiAoIWNvbnRlbnRTZWN1cml0eVBvbGljeS5hbGxvd05vblBhcnNlckluc2VydGVkU2NyaXB0
cyhtX2VsZW1lbnQuZG9jdW1lbnQoKS51cmwoKSwgbV9lbGVtZW50Lm5vbmNlKCksIHNvdXJjZUNv
ZGUuc291cmNlKCksIG1fcGFyc2VySW5zZXJ0ZWQpKQorICAgICAgICBpZiAoIWNvbnRlbnRTZWN1
cml0eVBvbGljeS5hbGxvd05vblBhcnNlckluc2VydGVkU2NyaXB0cyhtX2VsZW1lbnQuZG9jdW1l
bnQoKS51cmwoKSwgbV9zdGFydExpbmVOdW1iZXIsIG1fZWxlbWVudC5ub25jZSgpLCBzb3VyY2VD
b2RlLnNvdXJjZSgpLCBtX3BhcnNlckluc2VydGVkKSkKICAgICAgICAgICAgIHJldHVybjsKIAog
ICAgICAgICBib29sIGhhc0tub3duTm9uY2UgPSBjb250ZW50U2VjdXJpdHlQb2xpY3kuYWxsb3dT
Y3JpcHRXaXRoTm9uY2UobV9lbGVtZW50Lm5vbmNlKCksIG1fZWxlbWVudC5pc0luVXNlckFnZW50
U2hhZG93VHJlZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRl
bnRTZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2Vj
dXJpdHlQb2xpY3kuY3BwCmluZGV4IGU0MjA5YmNhNzc0OWQ5YjBjMmY5NWFmYmRkMmE5ZjI4Mzg3
ZGQzNzEuLjU5YmI2NzQ5YjEzZjBiMmRmNjlhY2UwOTNiNjAxZWJmODk4YzI3YzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApAQCAt
NDU5LDEzICs0NTksMTMgQEAgYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnNob3VsZFBlcmZv
cm1FYXJseUNTUENoZWNrKCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgQ29u
dGVudFNlY3VyaXR5UG9saWN5OjphbGxvd05vblBhcnNlckluc2VydGVkU2NyaXB0cyhjb25zdCBV
UkwmIHVybCwgY29uc3QgU3RyaW5nJiBub25jZSwgY29uc3QgU3RyaW5nVmlldyYgc2NyaXB0Q29u
dGVudCwgUGFyc2VySW5zZXJ0ZWQgcGFyc2VySW5zZXJ0ZWQpIGNvbnN0Citib29sIENvbnRlbnRT
ZWN1cml0eVBvbGljeTo6YWxsb3dOb25QYXJzZXJJbnNlcnRlZFNjcmlwdHMoY29uc3QgVVJMJiB1
cmwsIGNvbnN0IE9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBjb25zdCBTdHJpbmcmIG5vbmNl
LCBjb25zdCBTdHJpbmdWaWV3JiBzY3JpcHRDb250ZW50LCBQYXJzZXJJbnNlcnRlZCBwYXJzZXJJ
bnNlcnRlZCkgY29uc3QKIHsKICAgICBpZiAoIXNob3VsZFBlcmZvcm1FYXJseUNTUENoZWNrKCkp
CiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgYXV0byBoYW5kbGVWaW9sYXRlZERpcmVjdGl2
ZSA9IFsmXSAoY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlJiB2aW9sYXRlZERp
cmVjdGl2ZSkgewotICAgICAgICBUZXh0UG9zaXRpb24gc291cmNlUG9zaXRpb24oT3JkaW5hbE51
bWJlcjo6YmVmb3JlRmlyc3QoKSwgT3JkaW5hbE51bWJlcigpKTsKKyAgICAgICAgVGV4dFBvc2l0
aW9uIHNvdXJjZVBvc2l0aW9uKGNvbnRleHRMaW5lLCBPcmRpbmFsTnVtYmVyKCkpOwogICAgICAg
ICBTdHJpbmcgY29uc29sZU1lc3NhZ2UgPSBjb25zb2xlTWVzc2FnZUZvclZpb2xhdGlvbihDb250
ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVOYW1lczo6c2NyaXB0U3JjLCB2aW9sYXRlZERpcmVj
dGl2ZSwgdXJsLCAiUmVmdXNlZCB0byBsb2FkIik7CiAgICAgICAgIHJlcG9ydFZpb2xhdGlvbihD
b250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVOYW1lczo6c2NyaXB0U3JjRWxlbSwgdmlvbGF0
ZWREaXJlY3RpdmUsIHVybC5zdHJpbmcoKSwgY29uc29sZU1lc3NhZ2UsIFN0cmluZygpLCBzY3Jp
cHRDb250ZW50LCBzb3VyY2VQb3NpdGlvbik7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKaW5kZXggNGE5Y2I0ZTg5M2I3MzY4MzZh
NTI2ZDhjMWQ4YTI1NmVhYjRiMzI3Yi4uODYzZjY2OGZiY2YyNDg2MjkyMGQyY2I4NDc1NWQxMjk4
MTU3ZDEwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3Vy
aXR5UG9saWN5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5
UG9saWN5LmgKQEAgLTEwMSw3ICsxMDEsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBhbGxvd0phdmFT
Y3JpcHRVUkxzKGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgT3JkaW5hbE51bWJlciYg
Y29udGV4dExpbmUsIGNvbnN0IFN0cmluZyYgY29kZSwgYm9vbCBvdmVycmlkZUNvbnRlbnRTZWN1
cml0eVBvbGljeSA9IGZhbHNlKSBjb25zdDsKICAgICBib29sIGFsbG93SW5saW5lRXZlbnRIYW5k
bGVycyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IE9yZGluYWxOdW1iZXImIGNvbnRl
eHRMaW5lLCBjb25zdCBTdHJpbmcmIGNvZGUsIEVsZW1lbnQqLCBib29sIG92ZXJyaWRlQ29udGVu
dFNlY3VyaXR5UG9saWN5ID0gZmFsc2UpIGNvbnN0OwogICAgIGJvb2wgYWxsb3dJbmxpbmVTY3Jp
cHQoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBPcmRpbmFsTnVtYmVyJiBjb250ZXh0
TGluZSwgU3RyaW5nVmlldyBzY3JpcHRDb250ZW50LCBFbGVtZW50JiwgYm9vbCBvdmVycmlkZUNv
bnRlbnRTZWN1cml0eVBvbGljeSA9IGZhbHNlKSBjb25zdDsKLSAgICBib29sIGFsbG93Tm9uUGFy
c2VySW5zZXJ0ZWRTY3JpcHRzKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmlu
Z1ZpZXcmLCBQYXJzZXJJbnNlcnRlZCkgY29uc3Q7CisgICAgYm9vbCBhbGxvd05vblBhcnNlcklu
c2VydGVkU2NyaXB0cyhjb25zdCBVUkwmLCBjb25zdCBPcmRpbmFsTnVtYmVyJiwgY29uc3QgU3Ry
aW5nJiwgY29uc3QgU3RyaW5nVmlldyYsIFBhcnNlckluc2VydGVkKSBjb25zdDsKICAgICBib29s
IGFsbG93SW5saW5lU3R5bGUoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBPcmRpbmFs
TnVtYmVyJiBjb250ZXh0TGluZSwgU3RyaW5nVmlldyBzdHlsZUNvbnRlbnQsIENoZWNrVW5zYWZl
SGFzaGVzLCBFbGVtZW50JiwgYm9vbCBvdmVycmlkZUNvbnRlbnRTZWN1cml0eVBvbGljeSA9IGZh
bHNlKSBjb25zdDsKIAogICAgIGJvb2wgYWxsb3dFdmFsKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBM
b2dUb0NvbnNvbGUsIFN0cmluZ1ZpZXcgY29kZUNvbnRlbnQsIGJvb2wgb3ZlcnJpZGVDb250ZW50
U2VjdXJpdHlQb2xpY3kgPSBmYWxzZSkgY29uc3Q7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODgzMzM0NTE1MDA4MGFlYjNk
NWRiYmY3MWJkYmU2MDQzOWNhOTIyOC4uNzU4Y2ZjNDYxYTM1NGE3YjRhNDc4MmMwOTliYTY5MzMy
ZTI4NmI2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIyLTAxLTA2ICBLYXRlIENoZW5leSAg
PGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBDU1Agc3Ry
aWN0LWR5bmFtaWMgZm9yIG1vZHVsZSBzY3JpcHRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ5MzQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgz
NzI4Mzc0PgorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zdHJpY3QtZHluYW1p
Yy1tb2R1bGUtc2NyaXB0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc3RyaWN0LWR5bmFtaWMtbW9kdWxlLXNj
cmlwdC5odG1sOiBBZGRlZC4KKwogMjAyMi0wMS0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CiAKICAgICAgICAgTWVkaWFSZWNvcmRlciBzaG91bGQgc3VwcG9ydCB0aGUgYml0
c1BlclNlY29uZCBvcHRpb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3N0cmljdC1keW5hbWljLW1vZHVsZS1zY3JpcHQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvc3RyaWN0LWR5bmFtaWMtbW9kdWxlLXNjcmlwdC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzU4M2Q5NjNmZjQyMDJkZjc4ODgyMGY0NzZhNGU1NWRmYmQxZDdiZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3N0cmljdC1keW5hbWljLW1vZHVsZS1zY3JpcHQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNCBAQAorQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGxvYWQgaHR0cDovLzEyNy4w
LjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zdHJpY3QtZHluYW1pYy1t
b2R1bGUtc2NyaXB0Lmh0bWwgYmVjYXVzZSBpdCBkb2VzIG5vdCBhcHBlYXIgaW4gdGhlIHNjcmlw
dC1zcmMgZGlyZWN0aXZlIG9mIHRoZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4KKworUEFTUyBB
bGwgdGhlIGV4cGVjdGVkIENTUCB2aW9sYXRpb24gcmVwb3J0cyBoYXZlIGJlZW4gZmlyZWQuCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3N0cmljdC1keW5hbWljLW1vZHVsZS1zY3JpcHQuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3N0cmljdC1keW5hbWlj
LW1vZHVsZS1zY3JpcHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZTNiNGE4YTdkZDM1YjQzZmRkMmYyMDgw
NmY0NzUyOGVhMTU0Njc2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc3RyaWN0LWR5bmFtaWMtbW9kdWxlLXNj
cmlwdC5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKyAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVNlY3VyaXR5LVBvbGljeSIgY29udGVu
dD0ic2NyaXB0LXNyYyAnc3RyaWN0LWR5bmFtaWMnICd1bnNhZmUtaW5saW5lJyAnbm9uY2UtZHVt
bXknIj4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
IiBub25jZT0nZHVtbXknPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiIG5vbmNlPSdkdW1teSc+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKyAgICA8c2NyaXB0IG5vbmNlPSdkdW1teSc+CisgICAgICAgIGFzeW5jX3Rl
c3QoZnVuY3Rpb24odCkgeworICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Nl
Y3VyaXR5cG9saWN5dmlvbGF0aW9uJywgdC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihlKSB7Cisg
ICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhlLmVmZmVjdGl2ZURpcmVjdGl2ZSwgJ3Njcmlw
dC1zcmMtZWxlbScpOworICAgICAgICAgICAgfSkpOworICAgICAgICB9LCAnQWxsIHRoZSBleHBl
Y3RlZCBDU1AgdmlvbGF0aW9uIHJlcG9ydHMgaGF2ZSBiZWVuIGZpcmVkLicpOworICAgIDwvc2Ny
aXB0PgorICAgIDxzY3JpcHQgbm9uY2U9J3dyb25nJyB0eXBlPSdtb2R1bGUnPgorICAgICAgICBh
c3NlcnRfdW5yZWFjaGVkKCdJbmxpbmUgc2NyaXB0IHdpdGggYW4gaW5jb3JyZWN0IG5vbmNlIHNo
b3VsZCBub3QgYmUgZXhlY3V0ZWQuJyk7CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>