<?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>215230</bug_id>
          
          <creation_ts>2020-08-06 11:23:30 -0700</creation_ts>
          <short_desc>[webkitcorepy] Support wheels in the autoinstaller</short_desc>
          <delta_ts>2020-08-07 11:06:31 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=214378</see_also>
          <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="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>dean_johnson</cc>
    
    <cc>dewei_zhu</cc>
    
    <cc>slewis</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1678316</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-08-06 11:23:30 -0700</bug_when>
    <thetext>Some Python packages have binary distributions. While pip in theory manages these, package authors are often conservative when declaring which configurations their packages are actually compatible with. The autoinstaller should be quite a bit more permissive then pip when finding compatible .whls.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678317</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-08-06 11:23:53 -0700</bug_when>
    <thetext>&lt;rdar://problem/66636527&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678336</commentid>
    <comment_count>2</comment_count>
      <attachid>406098</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-08-06 11:51:10 -0700</bug_when>
    <thetext>Created attachment 406098
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678399</commentid>
    <comment_count>3</comment_count>
      <attachid>406098</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-08-06 14:15:09 -0700</bug_when>
    <thetext>Comment on attachment 406098
Patch

I want to have folks look at this, but there is a better way to do the whl file filtering that I&apos;m looking into, I don&apos;t think this is ready to land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678479</commentid>
    <comment_count>4</comment_count>
      <attachid>406138</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-08-06 17:36:41 -0700</bug_when>
    <thetext>Created attachment 406138
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678484</commentid>
    <comment_count>5</comment_count>
      <attachid>406138</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-08-06 17:53:23 -0700</bug_when>
    <thetext>Comment on attachment 406138
Patch

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

&gt; Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:453
&gt; +            # For compatibility reasons, it&apos;s useful to pretend to be 10.16

When can we remove this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678525</commentid>
    <comment_count>6</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-08-06 22:27:37 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #5)
&gt; Comment on attachment 406138 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=406138&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:453
&gt; &gt; +            # For compatibility reasons, it&apos;s useful to pretend to be 10.16
&gt; 
&gt; When can we remove this?

Probably when https://github.com/pypa/packaging/pull/319 lands, but the commentary on that bug indicates there may be a bit more to it.

I think it&apos;s likely we&apos;ll need things like this in the future, though, even once this specific issue is resolved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678624</commentid>
    <comment_count>7</comment_count>
      <attachid>406138</attachid>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2020-08-07 09:56:55 -0700</bug_when>
    <thetext>Comment on attachment 406138
Patch

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

&gt; Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:282
&gt; +            for item in list(already_owned):

Whats the point of this

&gt;&gt;&gt; Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:453
&gt;&gt;&gt; +            # For compatibility reasons, it&apos;s useful to pretend to be 10.16
&gt;&gt; 
&gt;&gt; When can we remove this?
&gt; 
&gt; Probably when https://github.com/pypa/packaging/pull/319 lands, but the commentary on that bug indicates there may be a bit more to it.
&gt; 
&gt; I think it&apos;s likely we&apos;ll need things like this in the future, though, even once this specific issue is resolved.

Can we add this information to the comment.  The comment should have enough information so that down the road we can figure out whether the workaround is still needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678625</commentid>
    <comment_count>8</comment_count>
      <attachid>406138</attachid>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2020-08-07 09:57:37 -0700</bug_when>
    <thetext>Comment on attachment 406138
Patch

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

&gt; Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:420
&gt; +        for alias in package.aliases:

Are aliases related to wheels or is this different functionality in the same patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678626</commentid>
    <comment_count>9</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-08-07 10:03:27 -0700</bug_when>
    <thetext>(In reply to Stephanie Lewis from comment #8)
&gt; Comment on attachment 406138 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=406138&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:420
&gt; &gt; +        for alias in package.aliases:
&gt; 
&gt; Are aliases related to wheels or is this different functionality in the same
&gt; patch?

Not really, I can put it in a different patch.  Basically, this lets one declare that &apos;import _requests&apos; should also trigger the auto-installer for the requests package.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678627</commentid>
    <comment_count>10</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2020-08-07 10:05:36 -0700</bug_when>
    <thetext>(In reply to Stephanie Lewis from comment #7)
&gt; Can we add this information to the comment.  The comment should have enough
&gt; information so that down the road we can figure out whether the workaround
&gt; is still needed.

Strongly in favour of this.

Also maybe pass feedback back up to the Discourse thread that at least WebKit is feeling a necessity to workaround this? Even without AS support landing upstream, support for Big Sur on Intel should probably land sooner rather than later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678628</commentid>
    <comment_count>11</comment_count>
      <attachid>406138</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-08-07 10:06:45 -0700</bug_when>
    <thetext>Comment on attachment 406138
Patch

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

&gt;&gt; Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:282
&gt;&gt; +            for item in list(already_owned):
&gt; 
&gt; Whats the point of this

We can&apos;t iterate through a set and remove elements from the set.

The reason we need it is a more general problem that setup.py also maybe has, and that is it&apos;s possible that a library (or part of a library) was already installed, so even though a directory existed before, it still needs to be re-owned.

I suppose we could get rid of this by just running AutoInstall.userspace_should_own(install_location).

&gt;&gt;&gt;&gt; Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:453
&gt;&gt;&gt;&gt; +            # For compatibility reasons, it&apos;s useful to pretend to be 10.16
&gt;&gt;&gt; 
&gt;&gt;&gt; When can we remove this?
&gt;&gt; 
&gt;&gt; Probably when https://github.com/pypa/packaging/pull/319 lands, but the commentary on that bug indicates there may be a bit more to it.
&gt;&gt; 
&gt;&gt; I think it&apos;s likely we&apos;ll need things like this in the future, though, even once this specific issue is resolved.
&gt; 
&gt; Can we add this information to the comment.  The comment should have enough information so that down the road we can figure out whether the workaround is still needed.

Will update the comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678634</commentid>
    <comment_count>12</comment_count>
      <attachid>406184</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-08-07 10:24:01 -0700</bug_when>
    <thetext>Created attachment 406184
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678656</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-08-07 11:06:30 -0700</bug_when>
    <thetext>Committed r265382: &lt;https://trac.webkit.org/changeset/265382&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 406184.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406098</attachid>
            <date>2020-08-06 11:51:10 -0700</date>
            <delta_ts>2020-08-06 17:36:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215230-20200806115109.patch</filename>
            <type>text/plain</type>
            <size>8725</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI2NTMzOCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIwIEBACisyMDIwLTA4LTA2ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbd2Via2l0Y29yZXB5XSBTdXBwb3J0IHdoZWVscyBpbiB0aGUgYXV0b2lu
c3RhbGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjE1MjMwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NjYzNjUyNz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dl
YmtpdGNvcmVweS93ZWJraXRjb3JlcHkvX19pbml0X18ucHk6IEJ1bXAgdmVyc2lvbi4KKyAgICAg
ICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L2F1dG9pbnN0
YWxsLnB5OgorICAgICAgICAoUGFja2FnZS5BcmNoaXZlLnVucGFjayk6IC53aGwgZmlsZXMgYXJl
IHppcCBmaWxlcy4KKyAgICAgICAgKFBhY2thZ2UuX19pbml0X18pOiBBbGxvdyBwcm9ncmFtcyB0
byByZXF1ZXN0IHBhY2thZ2VzIGFzIHdoZWVscywgYWxsb3cgaW1wb3J0IGFsaWFzZXMuCisgICAg
ICAgIChQYWNrYWdlLmFyY2hpdmVzKTogU2VhcmNoIGZvciBjb21wYXRpYmxlIC53aGwgZmlsZXMs
IGFsdGhvdWdoIHdpdGggbGVzcyBzdHJpY3RuZXNzIHRoZW4gcGlwLiBOYW1lbHksCisgICAgICAg
IG9ubHkgY2hlY2sgdGhlIG1ham9yIFB5dGhvbiB2ZXJzaW9uIGZvciBjb21wYXRpYmlsaXR5LCBu
b3QgdGhlIG1pbm9yIG9uZS4KKyAgICAgICAgKFBhY2thZ2UuaW5zdGFsbCk6IEVuc3VyZSB0aGF0
IC5lZ2ctaW5mbyBkaXJlY3RvcmllcyBhcmUgYXBwcm9wcmlhdGVseSBjaG93bmVkLCB1bnBhY2sg
d2hlZWxzLCBmb3JtYXQgbWFuaWZlc3QuanNvbi4KKyAgICAgICAgKEF1dG9JbnN0YWxsLnJlZ2lz
dGVyKTogV2hlbiBnaXZlbiBhIGFsaWFzLCBhIHBhY2thZ2Ugd2lsbCBiZSBhdXRvbWF0aWNhbGx5
IGluc3RhbGxlZCB3aGVuIHRoYXQgYWxpYXMgaXMgaW1wb3J0ZWQuCisKIDIwMjAtMDgtMDYgIFdl
bnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIFVJ
U2NyaXB0Q29udHJvbGxlci5yZW1vdmVBbGxEeW5hbWljRGljdGlvbmFyaWVzKCkKSW5kZXg6IFRv
b2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVweS93ZWJraXRjb3JlcHkvX19pbml0X18u
cHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3dl
YmtpdGNvcmVweS9fX2luaXRfXy5weQkocmV2aXNpb24gMjY1Mjg1KQorKysgVG9vbHMvU2NyaXB0
cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVweS9fX2luaXRfXy5weQkod29ya2lu
ZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQCBsb2cgPSBsb2dnaW5nLmdldExvZ2dlcignd2Via2l0
Y29yZXB5JykKIGZyb20gd2Via2l0Y29yZXB5LnZlcnNpb24gaW1wb3J0IFZlcnNpb24KIGZyb20g
d2Via2l0Y29yZXB5LnN0cmluZ191dGlscyBpbXBvcnQgQnl0ZXNJTywgU3RyaW5nSU8sIFVuaWNv
ZGVJTywgdW5pY29kZQogCi12ZXJzaW9uID0gVmVyc2lvbigwLCAxLCAxKQordmVyc2lvbiA9IFZl
cnNpb24oMCwgMSwgMikKIAogZnJvbSB3ZWJraXRjb3JlcHkuYXV0b2luc3RhbGwgaW1wb3J0IFBh
Y2thZ2UsIEF1dG9JbnN0YWxsCiBpZiBzeXMudmVyc2lvbl9pbmZvID4gKDMsIDApOgpJbmRleDog
VG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVweS9hdXRvaW5z
dGFsbC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3Jl
cHkvd2Via2l0Y29yZXB5L2F1dG9pbnN0YWxsLnB5CShyZXZpc2lvbiAyNjUyODUpCisrKyBUb29s
cy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L2F1dG9pbnN0YWxs
LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0yMyw2ICsyMyw3IEBACiBpbXBvcnQganNvbgogaW1wb3J0
IG1hdGgKIGltcG9ydCBvcworaW1wb3J0IHBsYXRmb3JtCiBpbXBvcnQgcmUKIGltcG9ydCBzdWJw
cm9jZXNzCiBpbXBvcnQgc2h1dGlsCkBAIC04MiwxOCArODMsMjAgQEAgY2xhc3MgUGFja2FnZShv
YmplY3QpOgogICAgICAgICAgICAgICAgICAgICBmaWxlLmV4dHJhY3RhbGwodGFyZ2V0KQogICAg
ICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgICAgIGZpbGUuY2xvc2UoKQot
ICAgICAgICAgICAgZWxpZiBzZWxmLmV4dGVuc2lvbiA9PSAnemlwJzoKKyAgICAgICAgICAgIGVs
aWYgc2VsZi5leHRlbnNpb24gaW4gWyd3aGwnLCAnemlwJ106CiAgICAgICAgICAgICAgICAgd2l0
aCB6aXBmaWxlLlppcEZpbGUoc2VsZi5wYXRoLCAncicpIGFzIGZpbGU6CiAgICAgICAgICAgICAg
ICAgICAgIGZpbGUuZXh0cmFjdGFsbCh0YXJnZXQpCiAgICAgICAgICAgICBlbHNlOgogICAgICAg
ICAgICAgICAgIHJhaXNlIE9TRXJyb3IoJ3t9IGhhcyBhbiAgdW5yZWNvZ25pemVkIHBhY2thZ2Ug
Zm9ybWF0Jy5mb3JtYXQoc2VsZi5wYXRoKSkKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1l
LCB2ZXJzaW9uPU5vbmUsIHB5cGlfbmFtZT1Ob25lLCBzbG93X2luc3RhbGw9RmFsc2UpOgorICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lLCB2ZXJzaW9uPU5vbmUsIHB5cGlfbmFtZT1Ob25lLCBz
bG93X2luc3RhbGw9RmFsc2UsIHdoZWVsPUZhbHNlLCBhbGlhc2VzPU5vbmUpOgogICAgICAgICBz
ZWxmLm5hbWUgPSBuYW1lCisgICAgICAgIHNlbGYuYWxpYXNlcyA9IGFsaWFzZXMgb3IgW10KICAg
ICAgICAgc2VsZi52ZXJzaW9uID0gdmVyc2lvbgogICAgICAgICBzZWxmLl9hcmNoaXZlcyA9IFtd
CiAgICAgICAgIHNlbGYucHlwaV9uYW1lID0gcHlwaV9uYW1lIG9yIHNlbGYubmFtZQogICAgICAg
ICBzZWxmLnNsb3dfaW5zdGFsbCA9IHNsb3dfaW5zdGFsbAorICAgICAgICBzZWxmLndoZWVsID0g
d2hlZWwKIAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBsb2NhdGlvbihzZWxmKToKQEAgLTEyNywx
MiArMTMwLDMyIEBAIGNsYXNzIFBhY2thZ2Uob2JqZWN0KToKICAgICAgICAgICAgICAgICBpZiBu
b3QgYXR0cmlidXRlcy5nZXQoJ2hyZWYnLCBOb25lKToKICAgICAgICAgICAgICAgICAgICAgY29u
dGludWUKIAotICAgICAgICAgICAgICAgIGlmIGVsZW1lbnQuY2hpbGROb2Rlc1swXS5kYXRhLmVu
ZHN3aXRoKCd0YXIuZ3onKToKLSAgICAgICAgICAgICAgICAgICAgZXh0ZW5zaW9uID0gJ3Rhci5n
eicKLSAgICAgICAgICAgICAgICBlbGlmIGVsZW1lbnQuY2hpbGROb2Rlc1swXS5kYXRhLmVuZHN3
aXRoKCcuemlwJyk6Ci0gICAgICAgICAgICAgICAgICAgIGV4dGVuc2lvbiA9ICd6aXAnCisgICAg
ICAgICAgICAgICAgaWYgc2VsZi53aGVlbDoKKyAgICAgICAgICAgICAgICAgICAgbWF0Y2ggPSBy
ZS5zZWFyY2gocicuKy0oP1A8cHl0aG9uPlteLV0rKS0oP1A8YWJpPlteLV0rKS0oP1A8cGxhdGZv
cm0+W14tXSspLndobCcsIGVsZW1lbnQuY2hpbGROb2Rlc1swXS5kYXRhKQorICAgICAgICAgICAg
ICAgICAgICBpZiBub3QgbWF0Y2g6CisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQor
ICAgICAgICAgICAgICAgICAgICBpZiAnY3B7fScuZm9ybWF0KEF1dG9JbnN0YWxsLnZlcnNpb24u
bWFqb3IpIG5vdCBpbiBtYXRjaC5ncm91cCgncHl0aG9uJyk6CisgICAgICAgICAgICAgICAgICAg
ICAgICBjb250aW51ZQorCisgICAgICAgICAgICAgICAgICAgICMgTGVzcyBzdHJpY3QgdGhlbiBw
aXAsIGJ1dCB0aGF0J3MgaW1wb3J0YW50IGZvciBPU2VzIGluIGRldmVsb3BtZW50CisgICAgICAg
ICAgICAgICAgICAgIGlmIG1hdGNoLmdyb3VwKCdwbGF0Zm9ybScpICE9ICdhbnknIGFuZCBkaWN0
KGRhcndpbj0nbWFjJykuZ2V0KHN5cy5wbGF0Zm9ybSwgc3lzLnBsYXRmb3JtKSBub3QgaW4gbWF0
Y2guZ3JvdXAoJ3BsYXRmb3JtJyk6CisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQor
CisgICAgICAgICAgICAgICAgICAgICMgT25seSByZXF1aXJlIHRoYXQgYSAud2hsIGhhcyB0aGUg
YXJjaGl0ZWN0dXJlIG5lZWRlZCBmb3IgdGhpcyBtYWNoaW5lCisgICAgICAgICAgICAgICAgICAg
IGFyY2hpdGVjdHVyZXMgPSBbcGxhdGZvcm0ubWFjaGluZSgpXQorICAgICAgICAgICAgICAgICAg
ICBpZiBwbGF0Zm9ybS5tYWNoaW5lKCkgPT0gJ3g4Nl82NCc6CisgICAgICAgICAgICAgICAgICAg
ICAgICBhcmNoaXRlY3R1cmVzLmFwcGVuZCgnaW50ZWwnKQorICAgICAgICAgICAgICAgICAgICBp
ZiBhbGwoW2FyY2ggbm90IGluIGVsZW1lbnQuY2hpbGROb2Rlc1swXS5kYXRhIGZvciBhcmNoIGlu
IGFyY2hpdGVjdHVyZXNdKToKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAg
ICAgICAgICAgICAgICAgIGV4dGVuc2lvbiA9ICd3aGwnCisKICAgICAgICAgICAgICAgICBlbHNl
OgotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgICAgICBpZiBl
bGVtZW50LmNoaWxkTm9kZXNbMF0uZGF0YS5lbmRzd2l0aCgnLnRhci5neicpOgorICAgICAgICAg
ICAgICAgICAgICAgICAgZXh0ZW5zaW9uID0gJ3Rhci5neicKKyAgICAgICAgICAgICAgICAgICAg
ZWxpZiBlbGVtZW50LmNoaWxkTm9kZXNbMF0uZGF0YS5lbmRzd2l0aCgnLnppcCcpOgorICAgICAg
ICAgICAgICAgICAgICAgICAgZXh0ZW5zaW9uID0gJ3ppcCcKKyAgICAgICAgICAgICAgICAgICAg
ZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAKICAgICAgICAgICAgICAg
ICByZXF1aXJlcyA9IGF0dHJpYnV0ZXMuZ2V0KCdkYXRhLXJlcXVpcmVzLXB5dGhvbicpCiAgICAg
ICAgICAgICAgICAgaWYgcmVxdWlyZXMgYW5kIG5vdCBBdXRvSW5zdGFsbC52ZXJzaW9uLm1hdGNo
ZXMocmVxdWlyZXMpOgpAQCAtMTkyLDYgKzIxNSw5IEBAIGNsYXNzIFBhY2thZ2Uob2JqZWN0KToK
ICAgICAgICAgICAgIGluc3RhbGxfbG9jYXRpb24gPSBvcy5wYXRoLmRpcm5hbWUoc2VsZi5sb2Nh
dGlvbikKICAgICAgICAgICAgIHNodXRpbC5ybXRyZWUoc2VsZi5sb2NhdGlvbiwgaWdub3JlX2Vy
cm9ycz1UcnVlKQogICAgICAgICAgICAgYWxyZWFkeV9vd25lZCA9IHNldChvcy5saXN0ZGlyKGlu
c3RhbGxfbG9jYXRpb24pKQorICAgICAgICAgICAgZm9yIGl0ZW0gaW4gbGlzdChhbHJlYWR5X293
bmVkKToKKyAgICAgICAgICAgICAgICBpZiBzZWxmLm5hbWUgaW4gaXRlbToKKyAgICAgICAgICAg
ICAgICAgICAgYWxyZWFkeV9vd25lZC5yZW1vdmUoaXRlbSkKIAogICAgICAgICAgICAgbG9nLndh
cm5pbmcoJ0luc3RhbGxpbmcge30uLi4nLmZvcm1hdChhcmNoaXZlKSkKICAgICAgICAgICAgIGFy
Y2hpdmUuZG93bmxvYWQoKQpAQCAtMjAzLDYgKzIyOSw3IEBAIGNsYXNzIFBhY2thZ2Uob2JqZWN0
KToKICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4odGVtcF9sb2NhdGlvbiwgc3RyKGFyY2hp
dmUpKSwKICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4odGVtcF9sb2NhdGlvbiwgJ3t9LXt9
Lnt9Jy5mb3JtYXQoYXJjaGl2ZS5uYW1lLCBhcmNoaXZlLnZlcnNpb24ubWFqb3IsIGFyY2hpdmUu
dmVyc2lvbi5taW5vcikpLAogICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbih0ZW1wX2xvY2F0
aW9uLCAne30te30ue30ue30nLmZvcm1hdChhcmNoaXZlLm5hbWUucmVwbGFjZSgnLScsICdfJyks
IGFyY2hpdmUudmVyc2lvbi5tYWpvciwgYXJjaGl2ZS52ZXJzaW9uLm1pbm9yLCBhcmNoaXZlLnZl
cnNpb24udGlueSkpLAorICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbih0ZW1wX2xvY2F0aW9u
LCAne30te30nLmZvcm1hdChhcmNoaXZlLm5hbWUuY2FwaXRhbGl6ZSgpLCBhcmNoaXZlLnZlcnNp
b24pKSwKICAgICAgICAgICAgIF06CiAgICAgICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhp
c3RzKG9zLnBhdGguam9pbihjYW5kaWRhdGUsICdzZXR1cC5weScpKToKICAgICAgICAgICAgICAg
ICAgICAgY29udGludWUKQEAgLTIyMiw3ICsyNDksNyBAQCBjbGFzcyBQYWNrYWdlKG9iamVjdCk6
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tcm9vdD0vJywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnLS1zaW5nbGUtdmVyc2lvbi1leHRlcm5hbGx5LW1hbmFnZWQnLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICctLWluc3RhbGwtbGliPXt9Jy5mb3JtYXQoaW5zdGFs
bF9sb2NhdGlvbiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0taW5zdGFsbC1zY3Jp
cHRzPXt9Jy5mb3JtYXQoaW5zdGFsbF9sb2NhdGlvbiksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJy0taW5zdGFsbC1zY3JpcHRzPXt9Jy5mb3JtYXQob3MucGF0aC5qb2luKGluc3RhbGxf
bG9jYXRpb24sICdiaW4nKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0taW5zdGFs
bC1kYXRhPXt9Jy5mb3JtYXQob3MucGF0aC5qb2luKGluc3RhbGxfbG9jYXRpb24sICdkYXRhJykp
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWluc3RhbGwtaGVhZGVycz17fScuZm9y
bWF0KG9zLnBhdGguam9pbihpbnN0YWxsX2xvY2F0aW9uLCAnaGVhZGVycycpKSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAjIERvIG5vdCBhdXRvbWF0aWNhbGx5IGluc3RhbGwgcGFja2Fn
ZSBkZXBlbmRlbmNpZXMsIGZvcmNlIHNjcmlwdHMgdG8gYmUgZXhwbGljaXQKQEAgLTI0Miw3ICsy
NjksMTUgQEAgY2xhc3MgUGFja2FnZShvYmplY3QpOgogCiAgICAgICAgICAgICAgICAgYnJlYWsK
ICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmFpc2UgT1NFcnJvcignQ2Fubm90
IGluc3RhbGwge30sIGNvdWxkIG5vdCBmaW5kIHNldHVwLnB5Jy5mb3JtYXQoc2VsZi5uYW1lKSkK
KyAgICAgICAgICAgICAgICAjIFdlIG1pZ2h0IG5vdCBuZWVkIHNldHVwLnB5IGF0IGFsbCwgY2hl
Y2sgaWYgd2UgaGF2ZSBkaXN0LWluZm8gYW5kIHRoZSBsaWJyYXJ5IGluIHRoZSB0ZW1wb3Jhcnkg
bG9jYXRpb24KKyAgICAgICAgICAgICAgICB0b19iZV9tb3ZlZCA9IG9zLmxpc3RkaXIodGVtcF9s
b2NhdGlvbikKKyAgICAgICAgICAgICAgICBpZiBzZWxmLm5hbWUgbm90IGluIHRvX2JlX21vdmVk
IGFuZCBhbnkoZWxlbWVudC5lbmRzd2l0aCgnLmRpc3QtaW5mbycpIGZvciBlbGVtZW50IGluIHRv
X2JlX21vdmVkKToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgT1NFcnJvcignQ2Fubm90IGlu
c3RhbGwge30sIGNvdWxkIG5vdCBmaW5kIHNldHVwLnB5Jy5mb3JtYXQoc2VsZi5uYW1lKSkKKyAg
ICAgICAgICAgICAgICBmb3IgZGlyZWN0b3J5IGluIHRvX2JlX21vdmVkOgorICAgICAgICAgICAg
ICAgICAgICBpZiBkaXJlY3RvcnkgaW4gYWxyZWFkeV9vd25lZDoKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHNodXRpbC5ybXRyZWUoZGlyZWN0b3J5LCBpZ25vcmVfZXJyb3JzPVRydWUpCisgICAg
ICAgICAgICAgICAgICAgICAgICBhbHJlYWR5X293bmVkLnJlbW92ZShkaXJlY3RvcnkpCisgICAg
ICAgICAgICAgICAgICAgIHNodXRpbC5tb3ZlKG9zLnBhdGguam9pbih0ZW1wX2xvY2F0aW9uLCBk
aXJlY3RvcnkpLCBpbnN0YWxsX2xvY2F0aW9uKQogCiAgICAgICAgICAgICBzZWxmLmRvX3Bvc3Rf
aW5zdGFsbCh0ZW1wX2xvY2F0aW9uKQogCkBAIC0yNTksNyArMjk0LDcgQEAgY2xhc3MgUGFja2Fn
ZShvYmplY3QpOgogCiAgICAgICAgICAgICBtYW5pZmVzdCA9IG9zLnBhdGguam9pbihBdXRvSW5z
dGFsbC5kaXJlY3RvcnksICdtYW5pZmVzdC5qc29uJykKICAgICAgICAgICAgIHdpdGggb3Blbiht
YW5pZmVzdCwgJ3cnKSBhcyBmaWxlOgotICAgICAgICAgICAgICAgIGpzb24uZHVtcChBdXRvSW5z
dGFsbC5tYW5pZmVzdCwgZmlsZSkKKyAgICAgICAgICAgICAgICBqc29uLmR1bXAoQXV0b0luc3Rh
bGwubWFuaWZlc3QsIGZpbGUsIGluZGVudD00KQogICAgICAgICAgICAgQXV0b0luc3RhbGwudXNl
cnNwYWNlX3Nob3VsZF9vd24obWFuaWZlc3QpCiAKICAgICAgICAgICAgIGxvZy53YXJuaW5nKCdJ
bnN0YWxsZWQge30hJy5mb3JtYXQoYXJjaGl2ZSkpCkBAIC0zODMsNiArNDE4LDggQEAgY2xhc3Mg
QXV0b0luc3RhbGwob2JqZWN0KToKICAgICAgICAgICAgICAgICByZXR1cm4gY2xzLnBhY2thZ2Vz
LmdldChwYWNrYWdlLm5hbWUpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByYWlzZSBWYWx1
ZUVycm9yKCdFeHBlY3RlZCBwYWNrYWdlIHRvIGJlIHN0ciBvciBQYWNrYWdlLCBub3Qge30nLmZv
cm1hdCh0eXBlKHBhY2thZ2UpKSkKKyAgICAgICAgZm9yIGFsaWFzIGluIHBhY2thZ2UuYWxpYXNl
czoKKyAgICAgICAgICAgIGNscy5wYWNrYWdlc1thbGlhc10gPSBwYWNrYWdlCiAgICAgICAgIGNs
cy5wYWNrYWdlc1twYWNrYWdlLm5hbWVdID0gcGFja2FnZQogICAgICAgICByZXR1cm4gcGFja2Fn
ZQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406138</attachid>
            <date>2020-08-06 17:36:41 -0700</date>
            <delta_ts>2020-08-07 10:23:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215230-20200806173640.patch</filename>
            <type>text/plain</type>
            <size>10142</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI2NTM1NykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIwIEBACisyMDIwLTA4LTA2ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbd2Via2l0Y29yZXB5XSBTdXBwb3J0IHdoZWVscyBpbiB0aGUgYXV0b2lu
c3RhbGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjE1MjMwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NjYzNjUyNz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dl
YmtpdGNvcmVweS93ZWJraXRjb3JlcHkvX19pbml0X18ucHk6IEJ1bXAgdmVyc2lvbiwgaW5jbHVk
ZSBwYWNrYWdpbmcgYW5kIGl0J3MgZGVwZW5kZW5jaWVzLgorICAgICAgICAqIFNjcmlwdHMvbGli
cmFyaWVzL3dlYmtpdGNvcmVweS93ZWJraXRjb3JlcHkvYXV0b2luc3RhbGwucHk6CisgICAgICAg
IChQYWNrYWdlLkFyY2hpdmUudW5wYWNrKTogLndobCBmaWxlcyBhcmUgemlwIGZpbGVzLgorICAg
ICAgICAoUGFja2FnZS5fX2luaXRfXyk6IEFsbG93IHByb2dyYW1zIHRvIHJlcXVlc3QgcGFja2Fn
ZXMgYXMgd2hlZWxzLCBhbGxvdyBpbXBvcnQgYWxpYXNlcy4KKyAgICAgICAgKFBhY2thZ2UuYXJj
aGl2ZXMpOiBTZWFyY2ggZm9yIGNvbXBhdGlibGUgLndobCBmaWxlcy4KKyAgICAgICAgKFBhY2th
Z2UuaW5zdGFsbCk6IEVuc3VyZSB0aGF0IC5lZ2ctaW5mbyBkaXJlY3RvcmllcyBhcmUgYXBwcm9w
cmlhdGVseSBjaG93bmVkLCB1bnBhY2sgd2hlZWxzLCBmb3JtYXQgbWFuaWZlc3QuanNvbi4KKyAg
ICAgICAgKEF1dG9JbnN0YWxsLnJlZ2lzdGVyKTogV2hlbiBnaXZlbiBhIGFsaWFzLCBhIHBhY2th
Z2Ugd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGluc3RhbGxlZCB3aGVuIHRoYXQgYWxpYXMgaXMgaW1w
b3J0ZWQuCisgICAgICAgIChBdXRvSW5zdGFsbC50YWdzKTogTGlzdCB0aGUgcGFja2FnaW5nIHRh
Z3MgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZGlzdHJpYnV0aW9uLCBidXQgd2l0aCBhIHdvcmstYXJv
dW5kIGZvciBCaWcgU3VyLgorCiAyMDIwLTA4LTA2ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJk
QGFwcGxlLmNvbT4KIAogICAgICAgICBbd2Via2l0Y29yZXB5XSBTdGFuZGFyZGl6ZSBzZXR1cHRv
b2xzIHZlcnNpb24KSW5kZXg6IFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVweS93
ZWJraXRjb3JlcHkvX19pbml0X18ucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9saWJy
YXJpZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVweS9fX2luaXRfXy5weQkocmV2aXNpb24gMjY1
MzUwKQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVw
eS9fX2luaXRfXy5weQkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQCBsb2cgPSBsb2dn
aW5nLmdldExvZ2dlcignd2Via2l0Y29yZXB5JykKIGZyb20gd2Via2l0Y29yZXB5LnZlcnNpb24g
aW1wb3J0IFZlcnNpb24KIGZyb20gd2Via2l0Y29yZXB5LnN0cmluZ191dGlscyBpbXBvcnQgQnl0
ZXNJTywgU3RyaW5nSU8sIFVuaWNvZGVJTywgdW5pY29kZQogCi12ZXJzaW9uID0gVmVyc2lvbigw
LCAxLCAyKQordmVyc2lvbiA9IFZlcnNpb24oMCwgMSwgMykKIAogZnJvbSB3ZWJraXRjb3JlcHku
YXV0b2luc3RhbGwgaW1wb3J0IFBhY2thZ2UsIEF1dG9JbnN0YWxsCiBpZiBzeXMudmVyc2lvbl9p
bmZvID4gKDMsIDApOgpAQCAtNDMsNyArNDMsMTAgQEAgQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFj
a2FnZSgnY2VydGlmaScsIAogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnY2hhcmRldCcs
IFZlcnNpb24oMywgMCwgNCkpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnZnVuY3Np
Z3MnLCBWZXJzaW9uKDEsIDAsIDIpKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2lk
bmEnLCBWZXJzaW9uKDIsIDEwKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdwYWNr
YWdpbmcnLCBWZXJzaW9uKDIwLCA0KSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdw
eXBhcnNpbmcnLCBWZXJzaW9uKDIsIDQsIDcpKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2th
Z2UoJ3JlcXVlc3RzJywgVmVyc2lvbigyLCAyNCkpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFj
a2FnZSgnc2V0dXB0b29scycsIFZlcnNpb24oNDQsIDEsICAxKSkpCiBBdXRvSW5zdGFsbC5yZWdp
c3RlcihQYWNrYWdlKCdzb2NrcycsIFZlcnNpb24oMSwgNywgMSksIHB5cGlfbmFtZT0nUHlTb2Nr
cycpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnc2l4JywgVmVyc2lvbigxLCAxNSwg
MCkpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgndXJsbGliMycsIFZlcnNpb24oMSwg
MjUsIDEwKSkpCkluZGV4OiBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Vi
a2l0Y29yZXB5L2F1dG9pbnN0YWxsLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvbGli
cmFyaWVzL3dlYmtpdGNvcmVweS93ZWJraXRjb3JlcHkvYXV0b2luc3RhbGwucHkJKHJldmlzaW9u
IDI2NTM1MCkKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVweS93ZWJraXRj
b3JlcHkvYXV0b2luc3RhbGwucHkJKHdvcmtpbmcgY29weSkKQEAgLTIzLDYgKzIzLDcgQEAKIGlt
cG9ydCBqc29uCiBpbXBvcnQgbWF0aAogaW1wb3J0IG9zCitpbXBvcnQgcGxhdGZvcm0KIGltcG9y
dCByZQogaW1wb3J0IHN1YnByb2Nlc3MKIGltcG9ydCBzaHV0aWwKQEAgLTgyLDE4ICs4MywyMCBA
QCBjbGFzcyBQYWNrYWdlKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgIGZpbGUuZXh0cmFj
dGFsbCh0YXJnZXQpCiAgICAgICAgICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgICAgICAg
ICAgZmlsZS5jbG9zZSgpCi0gICAgICAgICAgICBlbGlmIHNlbGYuZXh0ZW5zaW9uID09ICd6aXAn
OgorICAgICAgICAgICAgZWxpZiBzZWxmLmV4dGVuc2lvbiBpbiBbJ3dobCcsICd6aXAnXToKICAg
ICAgICAgICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShzZWxmLnBhdGgsICdyJykgYXMgZmls
ZToKICAgICAgICAgICAgICAgICAgICAgZmlsZS5leHRyYWN0YWxsKHRhcmdldCkKICAgICAgICAg
ICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgcmFpc2UgT1NFcnJvcigne30gaGFzIGFuICB1bnJl
Y29nbml6ZWQgcGFja2FnZSBmb3JtYXQnLmZvcm1hdChzZWxmLnBhdGgpKQogCi0gICAgZGVmIF9f
aW5pdF9fKHNlbGYsIG5hbWUsIHZlcnNpb249Tm9uZSwgcHlwaV9uYW1lPU5vbmUsIHNsb3dfaW5z
dGFsbD1GYWxzZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIHZlcnNpb249Tm9uZSwg
cHlwaV9uYW1lPU5vbmUsIHNsb3dfaW5zdGFsbD1GYWxzZSwgd2hlZWw9RmFsc2UsIGFsaWFzZXM9
Tm9uZSk6CiAgICAgICAgIHNlbGYubmFtZSA9IG5hbWUKKyAgICAgICAgc2VsZi5hbGlhc2VzID0g
YWxpYXNlcyBvciBbXQogICAgICAgICBzZWxmLnZlcnNpb24gPSB2ZXJzaW9uCiAgICAgICAgIHNl
bGYuX2FyY2hpdmVzID0gW10KICAgICAgICAgc2VsZi5weXBpX25hbWUgPSBweXBpX25hbWUgb3Ig
c2VsZi5uYW1lCiAgICAgICAgIHNlbGYuc2xvd19pbnN0YWxsID0gc2xvd19pbnN0YWxsCisgICAg
ICAgIHNlbGYud2hlZWwgPSB3aGVlbAogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIGxvY2F0aW9u
KHNlbGYpOgpAQCAtMTE1LDcgKzExOCw5IEBAIGNsYXNzIFBhY2thZ2Uob2JqZWN0KToKICAgICAg
ICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdUaGUgcGFja2FnZSB7fSB3YXMgbm90IGZvdW5k
IG9uIHt9Jy5mb3JtYXQoc2VsZi5weXBpX25hbWUsIEF1dG9JbnN0YWxsLmluZGV4KSkKIAogICAg
ICAgICAgICAgcGFnZSA9IG1pbmlkb20ucGFyc2VTdHJpbmcocmVzcG9uc2UucmVhZCgpKQotICAg
ICAgICAgICAgZm9yIGVsZW1lbnQgaW4gcGFnZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYSIpOgor
ICAgICAgICAgICAgY2FjaGVkX3RhZ3MgPSBOb25lCisKKyAgICAgICAgICAgIGZvciBlbGVtZW50
IGluIHJldmVyc2VkKHBhZ2UuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKSk6CiAgICAgICAgICAg
ICAgICAgaWYgbm90IGxlbihlbGVtZW50LmNoaWxkTm9kZXMpOgogICAgICAgICAgICAgICAgICAg
ICBjb250aW51ZQogICAgICAgICAgICAgICAgIGlmIGVsZW1lbnQuY2hpbGROb2Rlc1swXS5ub2Rl
VHlwZSAhPSBtaW5pZG9tLk5vZGUuVEVYVF9OT0RFOgpAQCAtMTI3LDEyICsxMzIsMjggQEAgY2xh
c3MgUGFja2FnZShvYmplY3QpOgogICAgICAgICAgICAgICAgIGlmIG5vdCBhdHRyaWJ1dGVzLmdl
dCgnaHJlZicsIE5vbmUpOgogICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogCi0gICAgICAg
ICAgICAgICAgaWYgZWxlbWVudC5jaGlsZE5vZGVzWzBdLmRhdGEuZW5kc3dpdGgoJ3Rhci5neicp
OgotICAgICAgICAgICAgICAgICAgICBleHRlbnNpb24gPSAndGFyLmd6JwotICAgICAgICAgICAg
ICAgIGVsaWYgZWxlbWVudC5jaGlsZE5vZGVzWzBdLmRhdGEuZW5kc3dpdGgoJy56aXAnKToKLSAg
ICAgICAgICAgICAgICAgICAgZXh0ZW5zaW9uID0gJ3ppcCcKKyAgICAgICAgICAgICAgICBpZiBz
ZWxmLndoZWVsOgorICAgICAgICAgICAgICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaChyJy4rLShb
Xi1dKy1bXi1dKy1bXi1dKykud2hsJywgZWxlbWVudC5jaGlsZE5vZGVzWzBdLmRhdGEpCisgICAg
ICAgICAgICAgICAgICAgIGlmIG5vdCBtYXRjaDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnRpbnVlCisKKyAgICAgICAgICAgICAgICAgICAgZnJvbSBwYWNrYWdpbmcgaW1wb3J0IHRhZ3MK
KworICAgICAgICAgICAgICAgICAgICBpZiBub3QgY2FjaGVkX3RhZ3M6CisgICAgICAgICAgICAg
ICAgICAgICAgICBjYWNoZWRfdGFncyA9IHNldChBdXRvSW5zdGFsbC50YWdzKCkpCisKKyAgICAg
ICAgICAgICAgICAgICAgaWYgYWxsKFt0YWcgbm90IGluIGNhY2hlZF90YWdzIGZvciB0YWcgaW4g
dGFncy5wYXJzZV90YWcobWF0Y2guZ3JvdXAoMSkpXSk6CisgICAgICAgICAgICAgICAgICAgICAg
ICBjb250aW51ZQorCisgICAgICAgICAgICAgICAgICAgIGV4dGVuc2lvbiA9ICd3aGwnCisKICAg
ICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAg
ICAgICAgICAgICAgICBpZiBlbGVtZW50LmNoaWxkTm9kZXNbMF0uZGF0YS5lbmRzd2l0aCgnLnRh
ci5neicpOgorICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZW5zaW9uID0gJ3Rhci5neicKKyAg
ICAgICAgICAgICAgICAgICAgZWxpZiBlbGVtZW50LmNoaWxkTm9kZXNbMF0uZGF0YS5lbmRzd2l0
aCgnLnppcCcpOgorICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZW5zaW9uID0gJ3ppcCcKKyAg
ICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
CiAKICAgICAgICAgICAgICAgICByZXF1aXJlcyA9IGF0dHJpYnV0ZXMuZ2V0KCdkYXRhLXJlcXVp
cmVzLXB5dGhvbicpCiAgICAgICAgICAgICAgICAgaWYgcmVxdWlyZXMgYW5kIG5vdCBBdXRvSW5z
dGFsbC52ZXJzaW9uLm1hdGNoZXMocmVxdWlyZXMpOgpAQCAtMjAzLDYgKzIyNCw3IEBAIGNsYXNz
IFBhY2thZ2Uob2JqZWN0KToKICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4odGVtcF9sb2Nh
dGlvbiwgc3RyKGFyY2hpdmUpKSwKICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4odGVtcF9s
b2NhdGlvbiwgJ3t9LXt9Lnt9Jy5mb3JtYXQoYXJjaGl2ZS5uYW1lLCBhcmNoaXZlLnZlcnNpb24u
bWFqb3IsIGFyY2hpdmUudmVyc2lvbi5taW5vcikpLAogICAgICAgICAgICAgICAgIG9zLnBhdGgu
am9pbih0ZW1wX2xvY2F0aW9uLCAne30te30ue30ue30nLmZvcm1hdChhcmNoaXZlLm5hbWUucmVw
bGFjZSgnLScsICdfJyksIGFyY2hpdmUudmVyc2lvbi5tYWpvciwgYXJjaGl2ZS52ZXJzaW9uLm1p
bm9yLCBhcmNoaXZlLnZlcnNpb24udGlueSkpLAorICAgICAgICAgICAgICAgIG9zLnBhdGguam9p
bih0ZW1wX2xvY2F0aW9uLCAne30te30nLmZvcm1hdChhcmNoaXZlLm5hbWUuY2FwaXRhbGl6ZSgp
LCBhcmNoaXZlLnZlcnNpb24pKSwKICAgICAgICAgICAgIF06CiAgICAgICAgICAgICAgICAgaWYg
bm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihjYW5kaWRhdGUsICdzZXR1cC5weScpKToK
ICAgICAgICAgICAgICAgICAgICAgY29udGludWUKQEAgLTIyMiw3ICsyNDQsNyBAQCBjbGFzcyBQ
YWNrYWdlKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tcm9vdD0vJywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1zaW5nbGUtdmVyc2lvbi1leHRlcm5hbGx5
LW1hbmFnZWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWluc3RhbGwtbGliPXt9
Jy5mb3JtYXQoaW5zdGFsbF9sb2NhdGlvbiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Jy0taW5zdGFsbC1zY3JpcHRzPXt9Jy5mb3JtYXQoaW5zdGFsbF9sb2NhdGlvbiksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJy0taW5zdGFsbC1zY3JpcHRzPXt9Jy5mb3JtYXQob3MucGF0
aC5qb2luKGluc3RhbGxfbG9jYXRpb24sICdiaW4nKSksCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJy0taW5zdGFsbC1kYXRhPXt9Jy5mb3JtYXQob3MucGF0aC5qb2luKGluc3RhbGxfbG9j
YXRpb24sICdkYXRhJykpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWluc3RhbGwt
aGVhZGVycz17fScuZm9ybWF0KG9zLnBhdGguam9pbihpbnN0YWxsX2xvY2F0aW9uLCAnaGVhZGVy
cycpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERvIG5vdCBhdXRvbWF0aWNhbGx5
IGluc3RhbGwgcGFja2FnZSBkZXBlbmRlbmNpZXMsIGZvcmNlIHNjcmlwdHMgdG8gYmUgZXhwbGlj
aXQKQEAgLTI0MiwxMyArMjY0LDI1IEBAIGNsYXNzIFBhY2thZ2Uob2JqZWN0KToKIAogICAgICAg
ICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJhaXNl
IE9TRXJyb3IoJ0Nhbm5vdCBpbnN0YWxsIHt9LCBjb3VsZCBub3QgZmluZCBzZXR1cC5weScuZm9y
bWF0KHNlbGYubmFtZSkpCisgICAgICAgICAgICAgICAgIyBXZSBtaWdodCBub3QgbmVlZCBzZXR1
cC5weSBhdCBhbGwsIGNoZWNrIGlmIHdlIGhhdmUgZGlzdC1pbmZvIGFuZCB0aGUgbGlicmFyeSBp
biB0aGUgdGVtcG9yYXJ5IGxvY2F0aW9uCisgICAgICAgICAgICAgICAgdG9fYmVfbW92ZWQgPSBv
cy5saXN0ZGlyKHRlbXBfbG9jYXRpb24pCisgICAgICAgICAgICAgICAgaWYgc2VsZi5uYW1lIG5v
dCBpbiB0b19iZV9tb3ZlZCBhbmQgYW55KGVsZW1lbnQuZW5kc3dpdGgoJy5kaXN0LWluZm8nKSBm
b3IgZWxlbWVudCBpbiB0b19iZV9tb3ZlZCk6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIE9T
RXJyb3IoJ0Nhbm5vdCBpbnN0YWxsIHt9LCBjb3VsZCBub3QgZmluZCBzZXR1cC5weScuZm9ybWF0
KHNlbGYubmFtZSkpCisgICAgICAgICAgICAgICAgZm9yIGRpcmVjdG9yeSBpbiB0b19iZV9tb3Zl
ZDoKKyAgICAgICAgICAgICAgICAgICAgaWYgZGlyZWN0b3J5IGluIGFscmVhZHlfb3duZWQ6Cisg
ICAgICAgICAgICAgICAgICAgICAgICBzaHV0aWwucm10cmVlKG9zLnBhdGguam9pbihpbnN0YWxs
X2xvY2F0aW9uLCBkaXJlY3RvcnkpLCBpZ25vcmVfZXJyb3JzPVRydWUpCisgICAgICAgICAgICAg
ICAgICAgICAgICBhbHJlYWR5X293bmVkLnJlbW92ZShkaXJlY3RvcnkpCisgICAgICAgICAgICAg
ICAgICAgIHNodXRpbC5tb3ZlKG9zLnBhdGguam9pbih0ZW1wX2xvY2F0aW9uLCBkaXJlY3Rvcnkp
LCBpbnN0YWxsX2xvY2F0aW9uKQogCiAgICAgICAgICAgICBzZWxmLmRvX3Bvc3RfaW5zdGFsbCh0
ZW1wX2xvY2F0aW9uKQogCiAgICAgICAgICAgICBvcy5yZW1vdmUoYXJjaGl2ZS5wYXRoKQogICAg
ICAgICAgICAgc2h1dGlsLnJtdHJlZSh0ZW1wX2xvY2F0aW9uLCBpZ25vcmVfZXJyb3JzPVRydWUp
CiAKKyAgICAgICAgICAgIGZvciBpdGVtIGluIGxpc3QoYWxyZWFkeV9vd25lZCk6CisgICAgICAg
ICAgICAgICAgaWYgc2VsZi5uYW1lIGluIGl0ZW06CisgICAgICAgICAgICAgICAgICAgIGFscmVh
ZHlfb3duZWQucmVtb3ZlKGl0ZW0pCisKICAgICAgICAgICAgIGZvciBpbnN0YWxsZWQgaW4gc2V0
KG9zLmxpc3RkaXIoaW5zdGFsbF9sb2NhdGlvbikpIC0gYWxyZWFkeV9vd25lZDoKICAgICAgICAg
ICAgICAgICBBdXRvSW5zdGFsbC51c2Vyc3BhY2Vfc2hvdWxkX293bihvcy5wYXRoLmpvaW4oaW5z
dGFsbF9sb2NhdGlvbiwgaW5zdGFsbGVkKSkKIApAQCAtMjU5LDcgKzI5Myw3IEBAIGNsYXNzIFBh
Y2thZ2Uob2JqZWN0KToKIAogICAgICAgICAgICAgbWFuaWZlc3QgPSBvcy5wYXRoLmpvaW4oQXV0
b0luc3RhbGwuZGlyZWN0b3J5LCAnbWFuaWZlc3QuanNvbicpCiAgICAgICAgICAgICB3aXRoIG9w
ZW4obWFuaWZlc3QsICd3JykgYXMgZmlsZToKLSAgICAgICAgICAgICAgICBqc29uLmR1bXAoQXV0
b0luc3RhbGwubWFuaWZlc3QsIGZpbGUpCisgICAgICAgICAgICAgICAganNvbi5kdW1wKEF1dG9J
bnN0YWxsLm1hbmlmZXN0LCBmaWxlLCBpbmRlbnQ9NCkKICAgICAgICAgICAgIEF1dG9JbnN0YWxs
LnVzZXJzcGFjZV9zaG91bGRfb3duKG1hbmlmZXN0KQogCiAgICAgICAgICAgICBsb2cud2Fybmlu
ZygnSW5zdGFsbGVkIHt9IScuZm9ybWF0KGFyY2hpdmUpKQpAQCAtMzgzLDYgKzQxNyw4IEBAIGNs
YXNzIEF1dG9JbnN0YWxsKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGNscy5wYWNr
YWdlcy5nZXQocGFja2FnZS5uYW1lKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmFpc2Ug
VmFsdWVFcnJvcignRXhwZWN0ZWQgcGFja2FnZSB0byBiZSBzdHIgb3IgUGFja2FnZSwgbm90IHt9
Jy5mb3JtYXQodHlwZShwYWNrYWdlKSkpCisgICAgICAgIGZvciBhbGlhcyBpbiBwYWNrYWdlLmFs
aWFzZXM6CisgICAgICAgICAgICBjbHMucGFja2FnZXNbYWxpYXNdID0gcGFja2FnZQogICAgICAg
ICBjbHMucGFja2FnZXNbcGFja2FnZS5uYW1lXSA9IHBhY2thZ2UKICAgICAgICAgcmV0dXJuIHBh
Y2thZ2UKIApAQCAtNDA2LDUgKzQ0MiwyMCBAQCBjbGFzcyBBdXRvSW5zdGFsbChvYmplY3QpOgog
ICAgICAgICBpZiBjbHMucGFja2FnZXMuZ2V0KG5hbWUpOgogICAgICAgICAgICAgY2xzLmluc3Rh
bGwobmFtZSkKIAorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiB0YWdzKGNscyk6CisgICAgICAg
IGZyb20gcGFja2FnaW5nIGltcG9ydCB0YWdzCisKKyAgICAgICAgZm9yIHRhZyBpbiB0YWdzLnN5
c190YWdzKCk6CisgICAgICAgICAgICB5aWVsZCB0YWcKKworICAgICAgICBpZiBzeXMucGxhdGZv
cm0gPT0gJ2RhcndpbicgYW5kIFZlcnNpb24uZnJvbV9zdHJpbmcocGxhdGZvcm0ubWFjX3Zlcigp
WzBdKSA+IFZlcnNpb24oMTApOgorICAgICAgICAgICAgIyBGb3IgY29tcGF0aWJpbGl0eSByZWFz
b25zLCBpdCdzIHVzZWZ1bCB0byBwcmV0ZW5kIHRvIGJlIDEwLjE2CisgICAgICAgICAgICBmb3Ig
b3ZlcnJpZGUgaW4gdGFncy5tYWNfcGxhdGZvcm1zKHZlcnNpb249KDEwLCAxNikpOgorICAgICAg
ICAgICAgICAgIGZvciB0YWcgaW4gdGFncy5zeXNfdGFncygpOgorICAgICAgICAgICAgICAgICAg
ICBpZiBub3QgdGFnLnBsYXRmb3JtOgorICAgICAgICAgICAgICAgICAgICAgICAgcGFzcworICAg
ICAgICAgICAgICAgICAgICB5aWVsZCB0YWdzLlRhZyh0YWcuaW50ZXJwcmV0ZXIsIHRhZy5hYmks
IG92ZXJyaWRlKQorCiAKIHN5cy5tZXRhX3BhdGguaW5zZXJ0KDAsIEF1dG9JbnN0YWxsKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406184</attachid>
            <date>2020-08-07 10:24:01 -0700</date>
            <delta_ts>2020-08-07 11:06:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215230-20200807102400.patch</filename>
            <type>text/plain</type>
            <size>9847</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI2NTM3NikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE5IEBACisyMDIwLTA4LTA3ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbd2Via2l0Y29yZXB5XSBTdXBwb3J0IHdoZWVscyBpbiB0aGUgYXV0b2lu
c3RhbGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjE1MjMwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NjYzNjUyNz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dl
YmtpdGNvcmVweS93ZWJraXRjb3JlcHkvX19pbml0X18ucHk6IEJ1bXAgdmVyc2lvbiwgaW5jbHVk
ZSBwYWNrYWdpbmcgYW5kIGl0J3MgZGVwZW5kZW5jaWVzLgorICAgICAgICAqIFNjcmlwdHMvbGli
cmFyaWVzL3dlYmtpdGNvcmVweS93ZWJraXRjb3JlcHkvYXV0b2luc3RhbGwucHk6CisgICAgICAg
IChQYWNrYWdlLkFyY2hpdmUudW5wYWNrKTogLndobCBmaWxlcyBhcmUgemlwIGZpbGVzLgorICAg
ICAgICAoUGFja2FnZS5fX2luaXRfXyk6IEFsbG93IHByb2dyYW1zIHRvIHJlcXVlc3QgcGFja2Fn
ZXMgYXMgd2hlZWxzLgorICAgICAgICAoUGFja2FnZS5hcmNoaXZlcyk6IFNlYXJjaCBmb3IgY29t
cGF0aWJsZSAud2hsIGZpbGVzLgorICAgICAgICAoUGFja2FnZS5pbnN0YWxsKTogRW5zdXJlIHRo
YXQgLmVnZy1pbmZvIGRpcmVjdG9yaWVzIGFyZSBhcHByb3ByaWF0ZWx5IGNob3duZWQsIHVucGFj
ayB3aGVlbHMsIGZvcm1hdCBtYW5pZmVzdC5qc29uLgorICAgICAgICAoQXV0b0luc3RhbGwudGFn
cyk6IExpc3QgdGhlIHBhY2thZ2luZyB0YWdzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGRpc3RyaWJ1
dGlvbiwgYnV0IHdpdGggYSB3b3JrLWFyb3VuZCBmb3IgQmlnIFN1ci4KKwogMjAyMC0wOC0wNyAg
V2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUg
VUlTY3JpcHRDb250cm9sbGVyLnJlbW92ZUFsbER5bmFtaWNEaWN0aW9uYXJpZXMoKQpJbmRleDog
VG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVweS9fX2luaXRf
Xy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkv
d2Via2l0Y29yZXB5L19faW5pdF9fLnB5CShyZXZpc2lvbiAyNjUzNzYpCisrKyBUb29scy9TY3Jp
cHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L19faW5pdF9fLnB5CSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBAIGxvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCd3ZWJr
aXRjb3JlcHknKQogZnJvbSB3ZWJraXRjb3JlcHkudmVyc2lvbiBpbXBvcnQgVmVyc2lvbgogZnJv
bSB3ZWJraXRjb3JlcHkuc3RyaW5nX3V0aWxzIGltcG9ydCBCeXRlc0lPLCBTdHJpbmdJTywgVW5p
Y29kZUlPLCB1bmljb2RlCiAKLXZlcnNpb24gPSBWZXJzaW9uKDAsIDEsIDIpCit2ZXJzaW9uID0g
VmVyc2lvbigwLCAyLCAwKQogCiBmcm9tIHdlYmtpdGNvcmVweS5hdXRvaW5zdGFsbCBpbXBvcnQg
UGFja2FnZSwgQXV0b0luc3RhbGwKIGlmIHN5cy52ZXJzaW9uX2luZm8gPiAoMywgMCk6CkBAIC00
Myw3ICs0MywxMCBAQCBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdjZXJ0aWZpJywgCiBB
dXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdjaGFyZGV0JywgVmVyc2lvbigzLCAwLCA0KSkp
CiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdmdW5jc2lncycsIFZlcnNpb24oMSwgMCwg
MikpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnaWRuYScsIFZlcnNpb24oMiwgMTAp
KSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3BhY2thZ2luZycsIFZlcnNpb24oMjAs
IDQpKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3B5cGFyc2luZycsIFZlcnNpb24o
MiwgNCwgNykpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgncmVxdWVzdHMnLCBWZXJz
aW9uKDIsIDI0KSkpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdzZXR1cHRvb2xzJywg
VmVyc2lvbig0NCwgMSwgIDEpKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3NvY2tz
JywgVmVyc2lvbigxLCA3LCAxKSwgcHlwaV9uYW1lPSdQeVNvY2tzJykpCitBdXRvSW5zdGFsbC5y
ZWdpc3RlcihQYWNrYWdlKCdzaXgnLCBWZXJzaW9uKDEsIDE1LCAwKSkpCiBBdXRvSW5zdGFsbC5y
ZWdpc3RlcihQYWNrYWdlKCd1cmxsaWIzJywgVmVyc2lvbigxLCAyNSwgMTApKSkKSW5kZXg6IFRv
b2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVweS93ZWJraXRjb3JlcHkvYXV0b2luc3Rh
bGwucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5
L3dlYmtpdGNvcmVweS9hdXRvaW5zdGFsbC5weQkocmV2aXNpb24gMjY1Mzc2KQorKysgVG9vbHMv
U2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVweS9hdXRvaW5zdGFsbC5w
eQkod29ya2luZyBjb3B5KQpAQCAtMjMsNiArMjMsNyBAQAogaW1wb3J0IGpzb24KIGltcG9ydCBt
YXRoCiBpbXBvcnQgb3MKK2ltcG9ydCBwbGF0Zm9ybQogaW1wb3J0IHJlCiBpbXBvcnQgc3VicHJv
Y2VzcwogaW1wb3J0IHNodXRpbApAQCAtODIsMTggKzgzLDE5IEBAIGNsYXNzIFBhY2thZ2Uob2Jq
ZWN0KToKICAgICAgICAgICAgICAgICAgICAgZmlsZS5leHRyYWN0YWxsKHRhcmdldCkKICAgICAg
ICAgICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgICAgICAgICBmaWxlLmNsb3NlKCkKLSAg
ICAgICAgICAgIGVsaWYgc2VsZi5leHRlbnNpb24gPT0gJ3ppcCc6CisgICAgICAgICAgICBlbGlm
IHNlbGYuZXh0ZW5zaW9uIGluIFsnd2hsJywgJ3ppcCddOgogICAgICAgICAgICAgICAgIHdpdGgg
emlwZmlsZS5aaXBGaWxlKHNlbGYucGF0aCwgJ3InKSBhcyBmaWxlOgogICAgICAgICAgICAgICAg
ICAgICBmaWxlLmV4dHJhY3RhbGwodGFyZ2V0KQogICAgICAgICAgICAgZWxzZToKICAgICAgICAg
ICAgICAgICByYWlzZSBPU0Vycm9yKCd7fSBoYXMgYW4gIHVucmVjb2duaXplZCBwYWNrYWdlIGZv
cm1hdCcuZm9ybWF0KHNlbGYucGF0aCkpCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZSwg
dmVyc2lvbj1Ob25lLCBweXBpX25hbWU9Tm9uZSwgc2xvd19pbnN0YWxsPUZhbHNlKToKKyAgICBk
ZWYgX19pbml0X18oc2VsZiwgbmFtZSwgdmVyc2lvbj1Ob25lLCBweXBpX25hbWU9Tm9uZSwgc2xv
d19pbnN0YWxsPUZhbHNlLCB3aGVlbD1GYWxzZSk6CiAgICAgICAgIHNlbGYubmFtZSA9IG5hbWUK
ICAgICAgICAgc2VsZi52ZXJzaW9uID0gdmVyc2lvbgogICAgICAgICBzZWxmLl9hcmNoaXZlcyA9
IFtdCiAgICAgICAgIHNlbGYucHlwaV9uYW1lID0gcHlwaV9uYW1lIG9yIHNlbGYubmFtZQogICAg
ICAgICBzZWxmLnNsb3dfaW5zdGFsbCA9IHNsb3dfaW5zdGFsbAorICAgICAgICBzZWxmLndoZWVs
ID0gd2hlZWwKIAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBsb2NhdGlvbihzZWxmKToKQEAgLTEx
NSw3ICsxMTcsOSBAQCBjbGFzcyBQYWNrYWdlKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgcmFp
c2UgVmFsdWVFcnJvcignVGhlIHBhY2thZ2Uge30gd2FzIG5vdCBmb3VuZCBvbiB7fScuZm9ybWF0
KHNlbGYucHlwaV9uYW1lLCBBdXRvSW5zdGFsbC5pbmRleCkpCiAKICAgICAgICAgICAgIHBhZ2Ug
PSBtaW5pZG9tLnBhcnNlU3RyaW5nKHJlc3BvbnNlLnJlYWQoKSkKLSAgICAgICAgICAgIGZvciBl
bGVtZW50IGluIHBhZ2UuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKToKKyAgICAgICAgICAgIGNh
Y2hlZF90YWdzID0gTm9uZQorCisgICAgICAgICAgICBmb3IgZWxlbWVudCBpbiByZXZlcnNlZChw
YWdlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJhIikpOgogICAgICAgICAgICAgICAgIGlmIG5vdCBs
ZW4oZWxlbWVudC5jaGlsZE5vZGVzKToKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAg
ICAgICAgICAgICAgICBpZiBlbGVtZW50LmNoaWxkTm9kZXNbMF0ubm9kZVR5cGUgIT0gbWluaWRv
bS5Ob2RlLlRFWFRfTk9ERToKQEAgLTEyNywxMiArMTMxLDI4IEBAIGNsYXNzIFBhY2thZ2Uob2Jq
ZWN0KToKICAgICAgICAgICAgICAgICBpZiBub3QgYXR0cmlidXRlcy5nZXQoJ2hyZWYnLCBOb25l
KToKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKIAotICAgICAgICAgICAgICAgIGlmIGVs
ZW1lbnQuY2hpbGROb2Rlc1swXS5kYXRhLmVuZHN3aXRoKCd0YXIuZ3onKToKLSAgICAgICAgICAg
ICAgICAgICAgZXh0ZW5zaW9uID0gJ3Rhci5neicKLSAgICAgICAgICAgICAgICBlbGlmIGVsZW1l
bnQuY2hpbGROb2Rlc1swXS5kYXRhLmVuZHN3aXRoKCcuemlwJyk6Ci0gICAgICAgICAgICAgICAg
ICAgIGV4dGVuc2lvbiA9ICd6aXAnCisgICAgICAgICAgICAgICAgaWYgc2VsZi53aGVlbDoKKyAg
ICAgICAgICAgICAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2gocicuKy0oW14tXSstW14tXSstW14t
XSspLndobCcsIGVsZW1lbnQuY2hpbGROb2Rlc1swXS5kYXRhKQorICAgICAgICAgICAgICAgICAg
ICBpZiBub3QgbWF0Y2g6CisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorCisgICAg
ICAgICAgICAgICAgICAgIGZyb20gcGFja2FnaW5nIGltcG9ydCB0YWdzCisKKyAgICAgICAgICAg
ICAgICAgICAgaWYgbm90IGNhY2hlZF90YWdzOgorICAgICAgICAgICAgICAgICAgICAgICAgY2Fj
aGVkX3RhZ3MgPSBzZXQoQXV0b0luc3RhbGwudGFncygpKQorCisgICAgICAgICAgICAgICAgICAg
IGlmIGFsbChbdGFnIG5vdCBpbiBjYWNoZWRfdGFncyBmb3IgdGFnIGluIHRhZ3MucGFyc2VfdGFn
KG1hdGNoLmdyb3VwKDEpKV0pOgorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKKwor
ICAgICAgICAgICAgICAgICAgICBleHRlbnNpb24gPSAnd2hsJworCiAgICAgICAgICAgICAgICAg
ZWxzZToKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICAgICAg
aWYgZWxlbWVudC5jaGlsZE5vZGVzWzBdLmRhdGEuZW5kc3dpdGgoJy50YXIuZ3onKToKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGV4dGVuc2lvbiA9ICd0YXIuZ3onCisgICAgICAgICAgICAgICAg
ICAgIGVsaWYgZWxlbWVudC5jaGlsZE5vZGVzWzBdLmRhdGEuZW5kc3dpdGgoJy56aXAnKToKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGV4dGVuc2lvbiA9ICd6aXAnCisgICAgICAgICAgICAgICAg
ICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogCiAgICAgICAgICAg
ICAgICAgcmVxdWlyZXMgPSBhdHRyaWJ1dGVzLmdldCgnZGF0YS1yZXF1aXJlcy1weXRob24nKQog
ICAgICAgICAgICAgICAgIGlmIHJlcXVpcmVzIGFuZCBub3QgQXV0b0luc3RhbGwudmVyc2lvbi5t
YXRjaGVzKHJlcXVpcmVzKToKQEAgLTE5MSw3ICsyMTEsNiBAQCBjbGFzcyBQYWNrYWdlKG9iamVj
dCk6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGluc3RhbGxfbG9jYXRpb24gPSBvcy5wYXRo
LmRpcm5hbWUoc2VsZi5sb2NhdGlvbikKICAgICAgICAgICAgIHNodXRpbC5ybXRyZWUoc2VsZi5s
b2NhdGlvbiwgaWdub3JlX2Vycm9ycz1UcnVlKQotICAgICAgICAgICAgYWxyZWFkeV9vd25lZCA9
IHNldChvcy5saXN0ZGlyKGluc3RhbGxfbG9jYXRpb24pKQogCiAgICAgICAgICAgICBsb2cud2Fy
bmluZygnSW5zdGFsbGluZyB7fS4uLicuZm9ybWF0KGFyY2hpdmUpKQogICAgICAgICAgICAgYXJj
aGl2ZS5kb3dubG9hZCgpCkBAIC0yMDMsNiArMjIyLDcgQEAgY2xhc3MgUGFja2FnZShvYmplY3Qp
OgogICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbih0ZW1wX2xvY2F0aW9uLCBzdHIoYXJjaGl2
ZSkpLAogICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbih0ZW1wX2xvY2F0aW9uLCAne30te30u
e30nLmZvcm1hdChhcmNoaXZlLm5hbWUsIGFyY2hpdmUudmVyc2lvbi5tYWpvciwgYXJjaGl2ZS52
ZXJzaW9uLm1pbm9yKSksCiAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKHRlbXBfbG9jYXRp
b24sICd7fS17fS57fS57fScuZm9ybWF0KGFyY2hpdmUubmFtZS5yZXBsYWNlKCctJywgJ18nKSwg
YXJjaGl2ZS52ZXJzaW9uLm1ham9yLCBhcmNoaXZlLnZlcnNpb24ubWlub3IsIGFyY2hpdmUudmVy
c2lvbi50aW55KSksCisgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKHRlbXBfbG9jYXRpb24s
ICd7fS17fScuZm9ybWF0KGFyY2hpdmUubmFtZS5jYXBpdGFsaXplKCksIGFyY2hpdmUudmVyc2lv
bikpLAogICAgICAgICAgICAgXToKICAgICAgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlz
dHMob3MucGF0aC5qb2luKGNhbmRpZGF0ZSwgJ3NldHVwLnB5JykpOgogICAgICAgICAgICAgICAg
ICAgICBjb250aW51ZQpAQCAtMjIyLDcgKzI0Miw3IEBAIGNsYXNzIFBhY2thZ2Uob2JqZWN0KToK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1yb290PS8nLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICctLXNpbmdsZS12ZXJzaW9uLWV4dGVybmFsbHktbWFuYWdlZCcsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJy0taW5zdGFsbC1saWI9e30nLmZvcm1hdChpbnN0YWxs
X2xvY2F0aW9uKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1pbnN0YWxsLXNjcmlw
dHM9e30nLmZvcm1hdChpbnN0YWxsX2xvY2F0aW9uKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnLS1pbnN0YWxsLXNjcmlwdHM9e30nLmZvcm1hdChvcy5wYXRoLmpvaW4oaW5zdGFsbF9s
b2NhdGlvbiwgJ2JpbicpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1pbnN0YWxs
LWRhdGE9e30nLmZvcm1hdChvcy5wYXRoLmpvaW4oaW5zdGFsbF9sb2NhdGlvbiwgJ2RhdGEnKSks
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0taW5zdGFsbC1oZWFkZXJzPXt9Jy5mb3Jt
YXQob3MucGF0aC5qb2luKGluc3RhbGxfbG9jYXRpb24sICdoZWFkZXJzJykpLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICMgRG8gbm90IGF1dG9tYXRpY2FsbHkgaW5zdGFsbCBwYWNrYWdl
IGRlcGVuZGVuY2llcywgZm9yY2Ugc2NyaXB0cyB0byBiZSBleHBsaWNpdApAQCAtMjQyLDE1ICsy
NjIsMjAgQEAgY2xhc3MgUGFja2FnZShvYmplY3QpOgogCiAgICAgICAgICAgICAgICAgYnJlYWsK
ICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmFpc2UgT1NFcnJvcignQ2Fubm90
IGluc3RhbGwge30sIGNvdWxkIG5vdCBmaW5kIHNldHVwLnB5Jy5mb3JtYXQoc2VsZi5uYW1lKSkK
KyAgICAgICAgICAgICAgICAjIFdlIG1pZ2h0IG5vdCBuZWVkIHNldHVwLnB5IGF0IGFsbCwgY2hl
Y2sgaWYgd2UgaGF2ZSBkaXN0LWluZm8gYW5kIHRoZSBsaWJyYXJ5IGluIHRoZSB0ZW1wb3Jhcnkg
bG9jYXRpb24KKyAgICAgICAgICAgICAgICB0b19iZV9tb3ZlZCA9IG9zLmxpc3RkaXIodGVtcF9s
b2NhdGlvbikKKyAgICAgICAgICAgICAgICBpZiBzZWxmLm5hbWUgbm90IGluIHRvX2JlX21vdmVk
IGFuZCBhbnkoZWxlbWVudC5lbmRzd2l0aCgnLmRpc3QtaW5mbycpIGZvciBlbGVtZW50IGluIHRv
X2JlX21vdmVkKToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgT1NFcnJvcignQ2Fubm90IGlu
c3RhbGwge30sIGNvdWxkIG5vdCBmaW5kIHNldHVwLnB5Jy5mb3JtYXQoc2VsZi5uYW1lKSkKKyAg
ICAgICAgICAgICAgICBmb3IgZGlyZWN0b3J5IGluIHRvX2JlX21vdmVkOgorICAgICAgICAgICAg
ICAgICAgICBzaHV0aWwucm10cmVlKG9zLnBhdGguam9pbihpbnN0YWxsX2xvY2F0aW9uLCBkaXJl
Y3RvcnkpLCBpZ25vcmVfZXJyb3JzPVRydWUpCisgICAgICAgICAgICAgICAgICAgIHNodXRpbC5t
b3ZlKG9zLnBhdGguam9pbih0ZW1wX2xvY2F0aW9uLCBkaXJlY3RvcnkpLCBpbnN0YWxsX2xvY2F0
aW9uKQogCiAgICAgICAgICAgICBzZWxmLmRvX3Bvc3RfaW5zdGFsbCh0ZW1wX2xvY2F0aW9uKQog
CiAgICAgICAgICAgICBvcy5yZW1vdmUoYXJjaGl2ZS5wYXRoKQogICAgICAgICAgICAgc2h1dGls
LnJtdHJlZSh0ZW1wX2xvY2F0aW9uLCBpZ25vcmVfZXJyb3JzPVRydWUpCiAKLSAgICAgICAgICAg
IGZvciBpbnN0YWxsZWQgaW4gc2V0KG9zLmxpc3RkaXIoaW5zdGFsbF9sb2NhdGlvbikpIC0gYWxy
ZWFkeV9vd25lZDoKLSAgICAgICAgICAgICAgICBBdXRvSW5zdGFsbC51c2Vyc3BhY2Vfc2hvdWxk
X293bihvcy5wYXRoLmpvaW4oaW5zdGFsbF9sb2NhdGlvbiwgaW5zdGFsbGVkKSkKKyAgICAgICAg
ICAgIEF1dG9JbnN0YWxsLnVzZXJzcGFjZV9zaG91bGRfb3duKGluc3RhbGxfbG9jYXRpb24pCiAK
ICAgICAgICAgICAgIEF1dG9JbnN0YWxsLm1hbmlmZXN0W3NlbGYubmFtZV0gPSB7CiAgICAgICAg
ICAgICAgICAgJ2luZGV4JzogQXV0b0luc3RhbGwuaW5kZXgsCkBAIC0yNTksNyArMjg0LDcgQEAg
Y2xhc3MgUGFja2FnZShvYmplY3QpOgogCiAgICAgICAgICAgICBtYW5pZmVzdCA9IG9zLnBhdGgu
am9pbihBdXRvSW5zdGFsbC5kaXJlY3RvcnksICdtYW5pZmVzdC5qc29uJykKICAgICAgICAgICAg
IHdpdGggb3BlbihtYW5pZmVzdCwgJ3cnKSBhcyBmaWxlOgotICAgICAgICAgICAgICAgIGpzb24u
ZHVtcChBdXRvSW5zdGFsbC5tYW5pZmVzdCwgZmlsZSkKKyAgICAgICAgICAgICAgICBqc29uLmR1
bXAoQXV0b0luc3RhbGwubWFuaWZlc3QsIGZpbGUsIGluZGVudD00KQogICAgICAgICAgICAgQXV0
b0luc3RhbGwudXNlcnNwYWNlX3Nob3VsZF9vd24obWFuaWZlc3QpCiAKICAgICAgICAgICAgIGxv
Zy53YXJuaW5nKCdJbnN0YWxsZWQge30hJy5mb3JtYXQoYXJjaGl2ZSkpCkBAIC00MDYsNSArNDMx
LDIwIEBAIGNsYXNzIEF1dG9JbnN0YWxsKG9iamVjdCk6CiAgICAgICAgIGlmIGNscy5wYWNrYWdl
cy5nZXQobmFtZSk6CiAgICAgICAgICAgICBjbHMuaW5zdGFsbChuYW1lKQogCisgICAgQGNsYXNz
bWV0aG9kCisgICAgZGVmIHRhZ3MoY2xzKToKKyAgICAgICAgZnJvbSBwYWNrYWdpbmcgaW1wb3J0
IHRhZ3MKKworICAgICAgICBmb3IgdGFnIGluIHRhZ3Muc3lzX3RhZ3MoKToKKyAgICAgICAgICAg
IHlpZWxkIHRhZworCisgICAgICAgICMgRklYTUU6IFdvcmsgYXJvdW5kIGZvciBodHRwczovL2dp
dGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC8zMTkgYW5kIEJpZyBTdXIKKyAgICAgICAgaWYg
c3lzLnBsYXRmb3JtID09ICdkYXJ3aW4nIGFuZCBWZXJzaW9uLmZyb21fc3RyaW5nKHBsYXRmb3Jt
Lm1hY192ZXIoKVswXSkgPiBWZXJzaW9uKDEwKToKKyAgICAgICAgICAgIGZvciBvdmVycmlkZSBp
biB0YWdzLm1hY19wbGF0Zm9ybXModmVyc2lvbj0oMTAsIDE2KSk6CisgICAgICAgICAgICAgICAg
Zm9yIHRhZyBpbiB0YWdzLnN5c190YWdzKCk6CisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCB0
YWcucGxhdGZvcm06CisgICAgICAgICAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICAg
ICAgICAgIHlpZWxkIHRhZ3MuVGFnKHRhZy5pbnRlcnByZXRlciwgdGFnLmFiaSwgb3ZlcnJpZGUp
CisKIAogc3lzLm1ldGFfcGF0aC5pbnNlcnQoMCwgQXV0b0luc3RhbGwpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>