<?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>212597</bug_id>
          
          <creation_ts>2020-06-01 09:06:08 -0700</creation_ts>
          <short_desc>Improve watchlist logic for comments on patches touching imported WPT tests.</short_desc>
          <delta_ts>2020-06-04 13:17:15 -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=212362</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="Carlos Alberto Lopez Perez">clopez</reporter>
          <assigned_to name="Carlos Alberto Lopez Perez">clopez</assigned_to>
          <cc>clopez</cc>
    
    <cc>dbates</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jbedard</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1657935</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-06-01 09:06:08 -0700</bug_when>
    <thetext>On r262295 I added a watchlist comment for patches touching the imported WPT tests.

However this is commenting on patches that are trying to import WPT tests.

I guess we can improve the logic to avoid commenting on patches that touch &quot;w3c-import.log&quot; files, since that indicates the changes on the WPT tests come from an import.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657941</commentid>
    <comment_count>1</comment_count>
      <attachid>400738</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-06-01 09:28:51 -0700</bug_when>
    <thetext>Created attachment 400738
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658229</commentid>
    <comment_count>2</comment_count>
      <attachid>400803</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-06-02 04:23:09 -0700</bug_when>
    <thetext>Created attachment 400803
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658237</commentid>
    <comment_count>3</comment_count>
      <attachid>400803</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-02 04:38:19 -0700</bug_when>
    <thetext>Comment on attachment 400803
Patch

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

&gt; Tools/Scripts/webkitpy/common/config/watchlist:384
&gt; +            &quot;filename&quot;: r&quot;LayoutTests/imported/w3c/web-platform-tests/.*w3c-import.log$&quot;,

This rule does not guarantee that we will identify all WPT import patches but this might be good enough

&gt; Tools/Scripts/webkitpy/common/watchlist/watchlistrule.py:44
&gt; +        for test_definition in self.rule_to_match.split(&apos;|&apos;):

Mixing &amp; and | may make things complicated, for instance which one takes precedence.
How about replacing support of | by copy/pasting lines. | seems only used for one rule at the moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658241</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-06-02 04:49:50 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #3)
&gt; Comment on attachment 400803 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=400803&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/common/config/watchlist:384
&gt; &gt; +            &quot;filename&quot;: r&quot;LayoutTests/imported/w3c/web-platform-tests/.*w3c-import.log$&quot;,
&gt; 
&gt; This rule does not guarantee that we will identify all WPT import patches
&gt; but this might be good enough
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/common/watchlist/watchlistrule.py:44
&gt; &gt; +        for test_definition in self.rule_to_match.split(&apos;|&apos;):
&gt; 
&gt; Mixing &amp; and | may make things complicated, for instance which one takes
&gt; precedence.

They take the same precedence. It simply evaluates from left to right. Parenthesis are not supported

An expression like &quot;a|b&amp;c|d&amp;e&amp;!f|!g&quot; should evaluate to -&gt; (a) || ( b &amp;&amp; c) || ( d &amp;&amp; e &amp;&amp; !f) || (!g)

I added some unit tests to double-check this is the case.

&gt; How about replacing support of | by copy/pasting lines. | seems only used
&gt; for one rule at the moment.

I don&apos;t see the befit of doing that, it would make the watchlist bigger and remove support for an useful feature (being able to OR the rules)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658243</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-06-02 04:54:22 -0700</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #4)
&gt; (In reply to youenn fablet from comment #3)
&gt; &gt; Comment on attachment 400803 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=400803&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Tools/Scripts/webkitpy/common/config/watchlist:384
&gt; &gt; &gt; +            &quot;filename&quot;: r&quot;LayoutTests/imported/w3c/web-platform-tests/.*w3c-import.log$&quot;,
&gt; &gt; 
&gt; &gt; This rule does not guarantee that we will identify all WPT import patches
&gt; &gt; but this might be good enough
&gt; &gt; 
&gt; &gt; &gt; Tools/Scripts/webkitpy/common/watchlist/watchlistrule.py:44
&gt; &gt; &gt; +        for test_definition in self.rule_to_match.split(&apos;|&apos;):
&gt; &gt; 
&gt; &gt; Mixing &amp; and | may make things complicated, for instance which one takes
&gt; &gt; precedence.
&gt; 
&gt; They take the same precedence. It simply evaluates from left to right.
&gt; Parenthesis are not supported



Mmm.. actually it doesn&apos;t.. after re-reading what I wrote, I see that it first evaluates all the ORs and then the expressions inside the ORs (which can have ANDs)

&gt; 
&gt; An expression like &quot;a|b&amp;c|d&amp;e&amp;!f|!g&quot; should evaluate to -&gt; (a) || ( b &amp;&amp; c)
&gt; || ( d &amp;&amp; e &amp;&amp; !f) || (!g)
&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658326</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-02 08:57:02 -0700</bug_when>
    <thetext>&gt; An expression like &quot;a|b&amp;c|d&amp;e&amp;!f|!g&quot; should evaluate to -&gt; (a) || ( b &amp;&amp; c)
&gt; || ( d &amp;&amp; e &amp;&amp; !f) || (!g)

OK, that reads fine I guess.

With the patch, we are parsing twice the expression.
Once doing split(&apos;|&apos;) and once doing re.split(&apos;&amp;|\|&apos;, complex_definition.replace(&apos;!&apos;, &apos;&apos;)).
This probably does not give the same results.

Can we make the patch so that self.definitions_to_match still contains complex_definition.split(&apos;|&apos;), and verify all users of definitions_to_match are fine with the &amp; and ! that might be inside the items.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658413</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-06-02 12:24:35 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #6)
&gt; &gt; An expression like &quot;a|b&amp;c|d&amp;e&amp;!f|!g&quot; should evaluate to -&gt; (a) || ( b &amp;&amp; c)
&gt; &gt; || ( d &amp;&amp; e &amp;&amp; !f) || (!g)
&gt; 
&gt; OK, that reads fine I guess.
&gt; 
&gt; With the patch, we are parsing twice the expression.
&gt; Once doing split(&apos;|&apos;) and once doing re.split(&apos;&amp;|\|&apos;,
&gt; complex_definition.replace(&apos;!&apos;, &apos;&apos;)).
&gt; This probably does not give the same results.
&gt; 

The code tries to ensure that all defined rules are used (and that you don&apos;t use any undefined rule). So it wants a list of definitions to check if all of them are used.

That&apos;s why that replace.. to just extract a list of rules (without the logic operators)


&gt; Can we make the patch so that self.definitions_to_match still contains
&gt; complex_definition.split(&apos;|&apos;), and verify all users of definitions_to_match
&gt; are fine with the &amp; and ! that might be inside the items.

Sure.. I will rework the code so that we only store in the class the expression as is it, and the consumers of it (the code to extract the list of definitions and the one to parse the logic) each one take care of correctly parsing it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658417</commentid>
    <comment_count>8</comment_count>
      <attachid>400849</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-06-02 12:42:07 -0700</bug_when>
    <thetext>Created attachment 400849
Patch

rework patch and add more unit tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658419</commentid>
    <comment_count>9</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-06-02 12:50:18 -0700</bug_when>
    <thetext>BTW, the webkitpy failure its unrelated to this patch. Its a pre-existent issue that happened today meanwhile the bots were offline due to the S3 issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1659235</commentid>
    <comment_count>10</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-06-04 12:10:25 -0700</bug_when>
    <thetext>ping? r?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1659283</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-04 13:16:10 -0700</bug_when>
    <thetext>Committed r262565: &lt;https://trac.webkit.org/changeset/262565&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 400849.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1659284</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-04 13:17:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/63992453&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400738</attachid>
            <date>2020-06-01 09:28:51 -0700</date>
            <delta_ts>2020-06-02 04:23:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212597-20200601182849.patch</filename>
            <type>text/plain</type>
            <size>8919</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMzc4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjQ3NWNmYzE0ODQ5N2E0ZTRkZjgwYTc0ZTZjYmU2OTIy
OGU0Zjg1Yy4uMjFiOWVlYTEzYWVhMmVkNjk1Mjg1NThhZTlhMWZkMDk1YWE3NmQ1OSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMy
IEBACisyMDIwLTA2LTAxICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIEltcHJvdmUgd2F0Y2hsaXN0IGxvZ2ljIGZvciBjb21tZW50cyBv
biBwYXRjaGVzIHRvdWNoaW5nIGltcG9ydGVkIFdQVCB0ZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMjU5NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9uIHIyNjIyOTUgSSBhZGRlZCBhIHdhdGNo
bGlzdCBjb21tZW50IGZvciBwYXRjaGVzIHRvdWNoaW5nIHRoZSBpbXBvcnRlZCBXUFQgdGVzdHMu
CisgICAgICAgIEhvd2V2ZXIsIHRoaXMgaXMgY29tbWVudGluZyBvbiBwYXRjaGVzIHRoYXQgYXJl
IGltcG9ydGluZyBXUFQgdGVzdHMuCisKKyAgICAgICAgVG8gYXZvaWQgdGhpcyBzaXR1YXRpb25z
LCB0aGlzIHBhdGNoIGFkZHMgYSBuZXcgcnVsZSB0byBkZXRlY3QgaWYgdGhlIGNoYW5nZXMgbW9k
aWZ5CisgICAgICAgIGFueSBvZiB0aGUgdzNjLWltcG9ydC5sb2cgZmlsZXMsIGFuZCB0aGVuIGNo
YW5nZXMgdGhlIGxvZ2ljIHRvIG1ha2UgdGhlIGNvbW1lbnQgb25seQorICAgICAgICBmb3IgcGF0
Y2hlcyB0aGF0IG1vZGlmeSB0aGUgV1BUIGltcG9ydGVkIHRlc3RzIGJ1dCBub3QgdGhlIHczYy1p
bXBvcnQubG9nIGZpbGVzLgorCisgICAgICAgIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhpcyBuZXcg
bG9naWMsIHdhdGNobGlzdCBydWxlIHBhcnNpbmcgaXMgaW1wcm92ZWQgdG8gc3VwcG9ydAorICAg
ICAgICB0aGUgImFuZCIgYW5kICJub3QiIG9wZXJhdG9ycy4gUHJldmlvdXNseSBpdCBvbmx5IHN1
cHBvcnRlZCB0aGUgIm9yIiBvcGVyYXRvci4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL2NvbmZpZy93YXRjaGxpc3Q6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21t
b24vd2F0Y2hsaXN0L3dhdGNobGlzdHJ1bGUucHk6CisgICAgICAgIChXYXRjaExpc3RSdWxlLl9f
aW5pdF9fKToKKyAgICAgICAgKFdhdGNoTGlzdFJ1bGUuX21hdGNoX3Rlc3RfZGVmaW5pdGlvbnMp
OgorICAgICAgICAoV2F0Y2hMaXN0UnVsZS5tYXRjaCk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vd2F0Y2hsaXN0L3dhdGNobGlzdHJ1bGVfdW5pdHRlc3QucHk6CisgICAgICAg
IChXYXRjaExpc3RSdWxlVGVzdC50ZXN0X2NvbXBsZXhfZGVmaW5pdGlvbl9vcik6CisgICAgICAg
IChXYXRjaExpc3RSdWxlVGVzdCk6CisgICAgICAgIChXYXRjaExpc3RSdWxlVGVzdC50ZXN0X2Nv
bXBsZXhfZGVmaW5pdGlvbl9hbmQpOgorICAgICAgICAoV2F0Y2hMaXN0UnVsZVRlc3QudGVzdF9j
b21wbGV4X2RlZmluaXRpb25fbm90KToKKyAgICAgICAgKFdhdGNoTGlzdFJ1bGVUZXN0LnRlc3Rf
Y29tcGxleF9kZWZpbml0aW9uX2NvbWJpbmVkKToKKwogMjAyMC0wNi0wMSAgU2FtIFdlaW5pZyAg
PHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgRXh0ZW5kZWQgQ29sb3I6IFJlcGxhY2UgQ29s
b3IgY29uc3RydWN0b3JzIHRha2luZyBudW1lcmljIHZhbHVlcyB3aXRoIHR5cGUgc3BlY2lmaWMg
ZmFjdG9yeSBmdW5jdGlvbnMKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL2NvbmZpZy93YXRjaGxpc3QgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25m
aWcvd2F0Y2hsaXN0CmluZGV4IGJjYmI4ODkwNzZkOTM1NDQ2ZTlmNzc2ZGExNzkxMmUxOTE0ZGM4
NWEuLjQ1MzZiOTFmN2NlZjg0YWY1ODkwMjljZGQyNzFmMDc2M2VlNDJlNTMgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy93YXRjaGxpc3QKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL3dhdGNobGlzdApAQCAtMzgwLDYgKzM4
MCw5IEBACiAgICAgICAgICJXZWJQbGF0Zm9ybVRlc3RzIjogewogICAgICAgICAgICAgImZpbGVu
YW1lIjogciJMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLygoPyEt
ZXhwZWN0ZWRcLnR4dCkuKSokIiwKICAgICAgICAgfSwKKyAgICAgICAgIldlYlBsYXRmb3JtVGVz
dHNJbXBvcnQiOiB7CisgICAgICAgICAgICAiZmlsZW5hbWUiOiByIkxheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvLip3M2MtaW1wb3J0LmxvZyQiLAorICAgICAgICB9
LAogICAgICAgICAiV2ViUlRDIjogewogICAgICAgICAgICAgImZpbGVuYW1lIjogciJTb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvIgogICAgICAgICAgICAgICAgICAgICAgICAgciJ8U291cmNl
L1dlYktpdC9TaGFyZWQvKlJUQyoiCkBAIC00NzgsNyArNDgxLDcgQEAKICAgICAgICAgICAgICAg
ICAgICAiU2VlIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvd2lraS9VcGRhdGluZ0FOR0xFIiwgXSwK
ICAgICAgICAgIldlYkluc3BlY3RvclByb3RvY29sIjogWyAiVGhpcyBwYXRjaCBtb2RpZmllcyB0
aGUgaW5zcGVjdG9yIHByb3RvY29sLiBQbGVhc2UgZW5zdXJlIHRoYXQgYW55IGZyb250ZW5kIGNo
YW5nZXMgYXBwcm9wcmlhdGVseSB1c2UgZmVhdHVyZSBjaGVja3MgZm9yIG5ldyBwcm90b2NvbCBm
ZWF0dXJlcy4iIF0sCiAgICAgICAgICJXZWJJbnNwZWN0b3JHZW5lcmF0b3IiOiBbICJUaGlzIHBh
dGNoIG1vZGlmaWVzIHRoZSBpbnNwZWN0b3IgcHJvdG9jb2wgZ2VuZXJhdG9yLiBQbGVhc2UgZW5z
dXJlIHRoYXQgeW91IGhhdmUgcmViYXNlbGluZWQgYW55IGdlbmVyYXRvciB0ZXN0IHJlc3VsdHMg
KGkuZS4sIGJ5IHJ1bm5pbmcgYFRvb2xzL1NjcmlwdHMvcnVuLWluc3BlY3Rvci1nZW5lcmF0b3It
dGVzdHMgLS1yZXNldC1yZXN1bHRzYCkiIF0sCi0gICAgICAgICJXZWJQbGF0Zm9ybVRlc3RzIjog
WyAiVGhpcyBwYXRjaCBtb2RpZmllcyB0aGUgaW1wb3J0ZWQgV1BUIHRlc3RzLiBQbGVhc2UgZW5z
dXJlIHRoYXQgYW55IGNoYW5nZXMgb24gdGhlIHRlc3RzIGFyZSBleHBvcnRlZCB0byBXUFQuIFBs
ZWFzZSBzZWUgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvd2lraS9XUFRFeHBvcnRQcm9jZXNzIiBd
LAorICAgICAgICAiV2ViUGxhdGZvcm1UZXN0cyYhV2ViUGxhdGZvcm1UZXN0c0ltcG9ydCI6IFsg
IlRoaXMgcGF0Y2ggbW9kaWZpZXMgdGhlIGltcG9ydGVkIFdQVCB0ZXN0cy4gUGxlYXNlIGVuc3Vy
ZSB0aGF0IGFueSBjaGFuZ2VzIG9uIHRoZSB0ZXN0cyAobm90IGNvbWluZyBmcm9tIGEgV1BUIGlt
cG9ydCkgYXJlIGV4cG9ydGVkIHRvIFdQVC4gUGxlYXNlIHNlZSBodHRwczovL3RyYWMud2Via2l0
Lm9yZy93aWtpL1dQVEV4cG9ydFByb2Nlc3MiIF0sCiAgICAgICAgICJKU0J1aWx0aW5zR2VuZXJh
dG9yIjogWyAiVGhpcyBwYXRjaCBtb2RpZmllcyB0aGUgSlMgYnVpbHRpbnMgY29kZSBnZW5lcmF0
b3IuIFBsZWFzZSBlbnN1cmUgdGhhdCB5b3UgaGF2ZSByZWJhc2VsaW5lZCBhbnkgZ2VuZXJhdG9y
IHRlc3QgcmVzdWx0cyAoaS5lLiwgYnkgcnVubmluZyBgVG9vbHMvU2NyaXB0cy9ydW4tYnVpbHRp
bnMtZ2VuZXJhdG9yLXRlc3RzIC0tcmVzZXQtcmVzdWx0c2ApIiBdLAogICAgICAgICAiV2FzbUpT
T04iOiBbICJUaGlzIHBhdGNoIG1vZGlmaWVzIG9uZSBvZiB0aGUgd2FzbS5qc29uIGZpbGVzLiBQ
bGVhc2UgZW5zdXJlIHRoYXQgYW55IGNoYW5nZXMgaW4gb25lIGhhdmUgYmVlbiBtaXJyb3JlZCB0
byB0aGUgb3RoZXIuIFlvdSBjYW4gZmluZCB0aGUgd2FzbS5qc29uIGZpbGVzIGF0IFwiU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vd2FzbS5qc29uXCIgYW5kIFwiSlNUZXN0cy93YXNtL3dhc20u
anNvblwiLiIgXSwKICAgICB9LApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vd2F0Y2hsaXN0L3dhdGNobGlzdHJ1bGUucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi93YXRjaGxpc3Qvd2F0Y2hsaXN0cnVsZS5weQppbmRleCA2OTg3NTA4MWE3ZTczMmY0
ZmQ5NWExZTg1ZTMzZTJiZjAwZjlmOTFiLi4zZWYyOGJjMWEwMTUyYmFkOGI2NTdhODVjMWY4MmE5
MzVmOGE2MDc0IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi93YXRj
aGxpc3Qvd2F0Y2hsaXN0cnVsZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi93YXRjaGxpc3Qvd2F0Y2hsaXN0cnVsZS5weQpAQCAtMjUsMTcgKzI1LDMxIEBACiAjIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCitpbXBvcnQgcmUKIAogCiBjbGFz
cyBXYXRjaExpc3RSdWxlOgogICAgICcnJ0EgcnVsZSB3aXRoIGluc3RydWN0aW9ucyB0byBkbyB3
aGVuIHRoZSBydWxlIGlzIHNhdGlzaWZpZWQuJycnCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGNv
bXBsZXhfZGVmaW5pdGlvbiwgaW5zdHJ1Y3Rpb25zKToKLSAgICAgICAgc2VsZi5kZWZpbml0aW9u
c190b19tYXRjaCA9IGNvbXBsZXhfZGVmaW5pdGlvbi5zcGxpdCgnfCcpCisgICAgICAgIHNlbGYu
cnVsZV90b19tYXRjaCA9IGNvbXBsZXhfZGVmaW5pdGlvbgorICAgICAgICBzZWxmLmRlZmluaXRp
b25zX3RvX21hdGNoID0gcmUuc3BsaXQoJyZ8XHwnLCBjb21wbGV4X2RlZmluaXRpb24ucmVwbGFj
ZSgnIScsICcnKSkKICAgICAgICAgc2VsZi5faW5zdHJ1Y3Rpb25zID0gaW5zdHJ1Y3Rpb25zCiAK
KyAgICBkZWYgX21hdGNoX3Rlc3RfZGVmaW5pdGlvbnMoc2VsZiwgdGVzdCwgbWF0Y2hpbmdfZGVm
aW5pdGlvbnMpOgorICAgICAgICBpZiB0ZXN0LnN0YXJ0c3dpdGgoJyEnKToKKyAgICAgICAgICAg
IHJldHVybiB0ZXN0LnNwbGl0KCchJywgMSlbMV0gbm90IGluIG1hdGNoaW5nX2RlZmluaXRpb25z
CisgICAgICAgIHJldHVybiB0ZXN0IGluIG1hdGNoaW5nX2RlZmluaXRpb25zCisKICAgICBkZWYg
bWF0Y2goc2VsZiwgbWF0Y2hpbmdfZGVmaW5pdGlvbnMpOgotICAgICAgICBmb3IgdGVzdF9kZWZp
bml0aW9uIGluIHNlbGYuZGVmaW5pdGlvbnNfdG9fbWF0Y2g6Ci0gICAgICAgICAgICBpZiB0ZXN0
X2RlZmluaXRpb24gaW4gbWF0Y2hpbmdfZGVmaW5pdGlvbnM6CisgICAgICAgIGZvciB0ZXN0X2Rl
ZmluaXRpb24gaW4gc2VsZi5ydWxlX3RvX21hdGNoLnNwbGl0KCd8Jyk6CisgICAgICAgICAgICBp
ZiAnJicgaW4gdGVzdF9kZWZpbml0aW9uOgorICAgICAgICAgICAgICAgIG1hdGNoX2FsbF9zdWJn
cm91cCA9IFRydWUKKyAgICAgICAgICAgICAgICBmb3IgdGVzdF9kZWZpbml0aW9uX3N1YmFsbCBp
biB0ZXN0X2RlZmluaXRpb24uc3BsaXQoJyYnKToKKyAgICAgICAgICAgICAgICAgICAgaWYgbm90
IHNlbGYuX21hdGNoX3Rlc3RfZGVmaW5pdGlvbnModGVzdF9kZWZpbml0aW9uX3N1YmFsbCwgbWF0
Y2hpbmdfZGVmaW5pdGlvbnMpOgorICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hfYWxsX3N1
Ymdyb3VwID0gRmFsc2UKKyAgICAgICAgICAgICAgICBpZiBtYXRjaF9hbGxfc3ViZ3JvdXA6Cisg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAgICAgICAgICBlbGlmIHNlbGYuX21h
dGNoX3Rlc3RfZGVmaW5pdGlvbnModGVzdF9kZWZpbml0aW9uLCBtYXRjaGluZ19kZWZpbml0aW9u
cyk6CiAgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKICAgICAgICAgcmV0dXJuIEZhbHNlCiAK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3dhdGNobGlzdC93YXRj
aGxpc3RydWxlX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vd2F0
Y2hsaXN0L3dhdGNobGlzdHJ1bGVfdW5pdHRlc3QucHkKaW5kZXggODFjNzE0NzQ3MWY2NTFmOTI0
MWM0YzM4NTVkNWI1MmZhMzI0YjNiYy4uNDc1Nzc1YTY0NmZiYTgzMTZlYTA4MzU4ZjAzZWM5MWYy
ZTZmNzA5ZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vd2F0Y2hs
aXN0L3dhdGNobGlzdHJ1bGVfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vd2F0Y2hsaXN0L3dhdGNobGlzdHJ1bGVfdW5pdHRlc3QucHkKQEAgLTUwLDcgKzUw
LDcgQEAgY2xhc3MgV2F0Y2hMaXN0UnVsZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAg
ICBzZWxmLmFzc2VydFRydWUocnVsZS5tYXRjaChbZGVmaW5pdGlvbl9uYW1lXSkpCiAgICAgICAg
IHNlbGYuYXNzZXJ0RmFsc2UocnVsZS5tYXRjaChbZGVmaW5pdGlvbl9uYW1lICsgJzEnXSkpCiAK
LSAgICBkZWYgdGVzdF9jb21wbGV4X2RlZmluaXRpb24oc2VsZik6CisgICAgZGVmIHRlc3RfY29t
cGxleF9kZWZpbml0aW9uX29yKHNlbGYpOgogICAgICAgICBkZWZpbml0aW9uX25hbWUxID0gJ2Rl
ZmluaXRpb24xJwogICAgICAgICBkZWZpbml0aW9uX25hbWUyID0gJ2RlZmluaXRpb24yJwogICAg
ICAgICBkZWZpbml0aW9uX25hbWUzID0gJ2RlZmluaXRpb24zJwpAQCAtNjEsMyArNjEsMzYgQEAg
Y2xhc3MgV2F0Y2hMaXN0UnVsZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxm
LmFzc2VydEZhbHNlKHJ1bGUubWF0Y2goW2RlZmluaXRpb25fbmFtZTEgKyAnMSddKSkKICAgICAg
ICAgc2VsZi5hc3NlcnRGYWxzZShydWxlLm1hdGNoKFtkZWZpbml0aW9uX25hbWUyICsgJzEnXSkp
CiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UocnVsZS5tYXRjaChbZGVmaW5pdGlvbl9uYW1lMyAr
ICcxJ10pKQorCisgICAgZGVmIHRlc3RfY29tcGxleF9kZWZpbml0aW9uX2FuZChzZWxmKToKKyAg
ICAgICAgZGVmaW5pdGlvbl9uYW1lMSA9ICdkZWZpbml0aW9uMScKKyAgICAgICAgZGVmaW5pdGlv
bl9uYW1lMiA9ICdkZWZpbml0aW9uMicKKyAgICAgICAgZGVmaW5pdGlvbl9uYW1lMyA9ICdkZWZp
bml0aW9uMycKKyAgICAgICAgcnVsZSA9IFdhdGNoTGlzdFJ1bGUoZGVmaW5pdGlvbl9uYW1lMSAr
ICcmJyArIGRlZmluaXRpb25fbmFtZTIgKyAnJicgKyBkZWZpbml0aW9uX25hbWUzLCBbXSkKKyAg
ICAgICAgc2VsZi5hc3NlcnRGYWxzZShydWxlLm1hdGNoKFtkZWZpbml0aW9uX25hbWUxXSkpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UocnVsZS5tYXRjaChbZGVmaW5pdGlvbl9uYW1lMl0pKQor
ICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHJ1bGUubWF0Y2goW2RlZmluaXRpb25fbmFtZTNdKSkK
KyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShydWxlLm1hdGNoKFtkZWZpbml0aW9uX25hbWUxLCBk
ZWZpbml0aW9uX25hbWUyXSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UocnVsZS5tYXRjaChb
ZGVmaW5pdGlvbl9uYW1lMSwgZGVmaW5pdGlvbl9uYW1lM10pKQorICAgICAgICBzZWxmLmFzc2Vy
dEZhbHNlKHJ1bGUubWF0Y2goW2RlZmluaXRpb25fbmFtZTIsIGRlZmluaXRpb25fbmFtZTNdKSkK
KyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJ1bGUubWF0Y2goW2RlZmluaXRpb25fbmFtZTEsIGRl
ZmluaXRpb25fbmFtZTIsIGRlZmluaXRpb25fbmFtZTNdKSkKKworICAgIGRlZiB0ZXN0X2NvbXBs
ZXhfZGVmaW5pdGlvbl9ub3Qoc2VsZik6CisgICAgICAgIGRlZmluaXRpb25fbmFtZTEgPSAnZGVm
aW5pdGlvbjEnCisgICAgICAgIGRlZmluaXRpb25fbmFtZTIgPSAnZGVmaW5pdGlvbjInCisgICAg
ICAgIHJ1bGUgPSBXYXRjaExpc3RSdWxlKCchJyArIGRlZmluaXRpb25fbmFtZTEsIFtdKQorICAg
ICAgICBzZWxmLmFzc2VydEZhbHNlKHJ1bGUubWF0Y2goW2RlZmluaXRpb25fbmFtZTFdKSkKKyAg
ICAgICAgc2VsZi5hc3NlcnRUcnVlKHJ1bGUubWF0Y2goW2RlZmluaXRpb25fbmFtZTJdKSkKKwor
ICAgIGRlZiB0ZXN0X2NvbXBsZXhfZGVmaW5pdGlvbl9jb21iaW5lZChzZWxmKToKKyAgICAgICAg
ZGVmaW5pdGlvbl9uYW1lMSA9ICdkZWZpbml0aW9uMScKKyAgICAgICAgZGVmaW5pdGlvbl9uYW1l
MiA9ICdkZWZpbml0aW9uMicKKyAgICAgICAgZGVmaW5pdGlvbl9uYW1lMyA9ICdkZWZpbml0aW9u
MycKKyAgICAgICAgcnVsZSA9IFdhdGNoTGlzdFJ1bGUoZGVmaW5pdGlvbl9uYW1lMSArICd8JyAr
IGRlZmluaXRpb25fbmFtZTIgKyAnJiEnICsgZGVmaW5pdGlvbl9uYW1lMywgW10pCisgICAgICAg
IHNlbGYuYXNzZXJ0VHJ1ZShydWxlLm1hdGNoKFtkZWZpbml0aW9uX25hbWUxXSkpCisgICAgICAg
IHNlbGYuYXNzZXJ0VHJ1ZShydWxlLm1hdGNoKFtkZWZpbml0aW9uX25hbWUyXSkpCisgICAgICAg
IHNlbGYuYXNzZXJ0RmFsc2UocnVsZS5tYXRjaChbZGVmaW5pdGlvbl9uYW1lM10pKQorICAgICAg
ICBzZWxmLmFzc2VydFRydWUocnVsZS5tYXRjaChbZGVmaW5pdGlvbl9uYW1lMSwgZGVmaW5pdGlv
bl9uYW1lMl0pKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocnVsZS5tYXRjaChbZGVmaW5pdGlv
bl9uYW1lMSwgZGVmaW5pdGlvbl9uYW1lM10pKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHJ1
bGUubWF0Y2goW2RlZmluaXRpb25fbmFtZTIsIGRlZmluaXRpb25fbmFtZTNdKSkKKyAgICAgICAg
c2VsZi5hc3NlcnRUcnVlKHJ1bGUubWF0Y2goW2RlZmluaXRpb25fbmFtZTEsIGRlZmluaXRpb25f
bmFtZTIsIGRlZmluaXRpb25fbmFtZTNdKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400803</attachid>
            <date>2020-06-02 04:23:09 -0700</date>
            <delta_ts>2020-06-02 12:42:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212597-20200602132308.patch</filename>
            <type>text/plain</type>
            <size>9207</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNDA4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDYwYjc5YzVjNjM2NTkxMmE3ZjQ1ZGQ3MWMwYTdkNjFm
OWQxMTBhMi4uMGZmZDM2Yjg3MzliNDE2MWFjZTUyNDdhYjY5ZmUwNWM0MDc5MDYxNyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMy
IEBACisyMDIwLTA2LTAxICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIEltcHJvdmUgd2F0Y2hsaXN0IGxvZ2ljIGZvciBjb21tZW50cyBv
biBwYXRjaGVzIHRvdWNoaW5nIGltcG9ydGVkIFdQVCB0ZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMjU5NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9uIHIyNjIyOTUgSSBhZGRlZCBhIHdhdGNo
bGlzdCBjb21tZW50IGZvciBwYXRjaGVzIHRvdWNoaW5nIHRoZSBpbXBvcnRlZCBXUFQgdGVzdHMu
CisgICAgICAgIEhvd2V2ZXIsIHRoaXMgaXMgY29tbWVudGluZyBvbiBwYXRjaGVzIHRoYXQgYXJl
IGltcG9ydGluZyBXUFQgdGVzdHMuCisKKyAgICAgICAgVG8gYXZvaWQgdGhpcyBzaXR1YXRpb25z
LCB0aGlzIHBhdGNoIGFkZHMgYSBuZXcgcnVsZSB0byBkZXRlY3QgaWYgdGhlIGNoYW5nZXMgbW9k
aWZ5CisgICAgICAgIGFueSBvZiB0aGUgdzNjLWltcG9ydC5sb2cgZmlsZXMsIGFuZCB0aGVuIGNo
YW5nZXMgdGhlIGxvZ2ljIHRvIG1ha2UgdGhlIGNvbW1lbnQgb25seQorICAgICAgICBmb3IgcGF0
Y2hlcyB0aGF0IG1vZGlmeSB0aGUgV1BUIGltcG9ydGVkIHRlc3RzIGJ1dCBub3QgdGhlIHczYy1p
bXBvcnQubG9nIGZpbGVzLgorCisgICAgICAgIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhpcyBuZXcg
bG9naWMsIHdhdGNobGlzdCBydWxlIHBhcnNpbmcgaXMgaW1wcm92ZWQgdG8gc3VwcG9ydAorICAg
ICAgICB0aGUgImFuZCIgYW5kICJub3QiIG9wZXJhdG9ycy4gUHJldmlvdXNseSBpdCBvbmx5IHN1
cHBvcnRlZCB0aGUgIm9yIiBvcGVyYXRvci4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL2NvbmZpZy93YXRjaGxpc3Q6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21t
b24vd2F0Y2hsaXN0L3dhdGNobGlzdHJ1bGUucHk6CisgICAgICAgIChXYXRjaExpc3RSdWxlLl9f
aW5pdF9fKToKKyAgICAgICAgKFdhdGNoTGlzdFJ1bGUuX21hdGNoX3Rlc3RfZGVmaW5pdGlvbnMp
OgorICAgICAgICAoV2F0Y2hMaXN0UnVsZS5tYXRjaCk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vd2F0Y2hsaXN0L3dhdGNobGlzdHJ1bGVfdW5pdHRlc3QucHk6CisgICAgICAg
IChXYXRjaExpc3RSdWxlVGVzdC50ZXN0X2NvbXBsZXhfZGVmaW5pdGlvbl9vcik6CisgICAgICAg
IChXYXRjaExpc3RSdWxlVGVzdCk6CisgICAgICAgIChXYXRjaExpc3RSdWxlVGVzdC50ZXN0X2Nv
bXBsZXhfZGVmaW5pdGlvbl9hbmQpOgorICAgICAgICAoV2F0Y2hMaXN0UnVsZVRlc3QudGVzdF9j
b21wbGV4X2RlZmluaXRpb25fbm90KToKKyAgICAgICAgKFdhdGNoTGlzdFJ1bGVUZXN0LnRlc3Rf
Y29tcGxleF9kZWZpbml0aW9uX2NvbWJpbmVkKToKKwogMjAyMC0wNi0wMSAgTm9hbSBSb3NlbnRo
YWwgIDxub2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTWFrZSB1bmljb2RlLWJpZGk6aXNvbGF0
ZSB0aGUgZGVmYXVsdCBmb3IgYW4gZWxlbWVudCB3aXRoIGEgZGlyIGF0dHJpYnV0ZSAoaW5zdGVh
ZCBvZiB1bmljb2RlLWJpZGk6ZW1iZWQpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9jb25maWcvd2F0Y2hsaXN0IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vY29uZmlnL3dhdGNobGlzdAppbmRleCBiY2JiODg5MDc2ZDkzNTQ0NmU5Zjc3NmRhMTc5MTJl
MTkxNGRjODVhLi40NTM2YjkxZjdjZWY4NGFmNTg5MDI5Y2RkMjcxZjA3NjNlZTQyZTUzIDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvd2F0Y2hsaXN0Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy93YXRjaGxpc3QKQEAgLTM4
MCw2ICszODAsOSBAQAogICAgICAgICAiV2ViUGxhdGZvcm1UZXN0cyI6IHsKICAgICAgICAgICAg
ICJmaWxlbmFtZSI6IHIiTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy8oKD8hLWV4cGVjdGVkXC50eHQpLikqJCIsCiAgICAgICAgIH0sCisgICAgICAgICJXZWJQbGF0
Zm9ybVRlc3RzSW1wb3J0IjogeworICAgICAgICAgICAgImZpbGVuYW1lIjogciJMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLy4qdzNjLWltcG9ydC5sb2ckIiwKKyAg
ICAgICAgfSwKICAgICAgICAgIldlYlJUQyI6IHsKICAgICAgICAgICAgICJmaWxlbmFtZSI6IHIi
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjLyIKICAgICAgICAgICAgICAgICAgICAgICAgIHIi
fFNvdXJjZS9XZWJLaXQvU2hhcmVkLypSVEMqIgpAQCAtNDc4LDcgKzQ4MSw3IEBACiAgICAgICAg
ICAgICAgICAgICAgIlNlZSBodHRwOi8vdHJhYy53ZWJraXQub3JnL3dpa2kvVXBkYXRpbmdBTkdM
RSIsIF0sCiAgICAgICAgICJXZWJJbnNwZWN0b3JQcm90b2NvbCI6IFsgIlRoaXMgcGF0Y2ggbW9k
aWZpZXMgdGhlIGluc3BlY3RvciBwcm90b2NvbC4gUGxlYXNlIGVuc3VyZSB0aGF0IGFueSBmcm9u
dGVuZCBjaGFuZ2VzIGFwcHJvcHJpYXRlbHkgdXNlIGZlYXR1cmUgY2hlY2tzIGZvciBuZXcgcHJv
dG9jb2wgZmVhdHVyZXMuIiBdLAogICAgICAgICAiV2ViSW5zcGVjdG9yR2VuZXJhdG9yIjogWyAi
VGhpcyBwYXRjaCBtb2RpZmllcyB0aGUgaW5zcGVjdG9yIHByb3RvY29sIGdlbmVyYXRvci4gUGxl
YXNlIGVuc3VyZSB0aGF0IHlvdSBoYXZlIHJlYmFzZWxpbmVkIGFueSBnZW5lcmF0b3IgdGVzdCBy
ZXN1bHRzIChpLmUuLCBieSBydW5uaW5nIGBUb29scy9TY3JpcHRzL3J1bi1pbnNwZWN0b3ItZ2Vu
ZXJhdG9yLXRlc3RzIC0tcmVzZXQtcmVzdWx0c2ApIiBdLAotICAgICAgICAiV2ViUGxhdGZvcm1U
ZXN0cyI6IFsgIlRoaXMgcGF0Y2ggbW9kaWZpZXMgdGhlIGltcG9ydGVkIFdQVCB0ZXN0cy4gUGxl
YXNlIGVuc3VyZSB0aGF0IGFueSBjaGFuZ2VzIG9uIHRoZSB0ZXN0cyBhcmUgZXhwb3J0ZWQgdG8g
V1BULiBQbGVhc2Ugc2VlIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL3dpa2kvV1BURXhwb3J0UHJv
Y2VzcyIgXSwKKyAgICAgICAgIldlYlBsYXRmb3JtVGVzdHMmIVdlYlBsYXRmb3JtVGVzdHNJbXBv
cnQiOiBbICJUaGlzIHBhdGNoIG1vZGlmaWVzIHRoZSBpbXBvcnRlZCBXUFQgdGVzdHMuIFBsZWFz
ZSBlbnN1cmUgdGhhdCBhbnkgY2hhbmdlcyBvbiB0aGUgdGVzdHMgKG5vdCBjb21pbmcgZnJvbSBh
IFdQVCBpbXBvcnQpIGFyZSBleHBvcnRlZCB0byBXUFQuIFBsZWFzZSBzZWUgaHR0cHM6Ly90cmFj
LndlYmtpdC5vcmcvd2lraS9XUFRFeHBvcnRQcm9jZXNzIiBdLAogICAgICAgICAiSlNCdWlsdGlu
c0dlbmVyYXRvciI6IFsgIlRoaXMgcGF0Y2ggbW9kaWZpZXMgdGhlIEpTIGJ1aWx0aW5zIGNvZGUg
Z2VuZXJhdG9yLiBQbGVhc2UgZW5zdXJlIHRoYXQgeW91IGhhdmUgcmViYXNlbGluZWQgYW55IGdl
bmVyYXRvciB0ZXN0IHJlc3VsdHMgKGkuZS4sIGJ5IHJ1bm5pbmcgYFRvb2xzL1NjcmlwdHMvcnVu
LWJ1aWx0aW5zLWdlbmVyYXRvci10ZXN0cyAtLXJlc2V0LXJlc3VsdHNgKSIgXSwKICAgICAgICAg
Ildhc21KU09OIjogWyAiVGhpcyBwYXRjaCBtb2RpZmllcyBvbmUgb2YgdGhlIHdhc20uanNvbiBm
aWxlcy4gUGxlYXNlIGVuc3VyZSB0aGF0IGFueSBjaGFuZ2VzIGluIG9uZSBoYXZlIGJlZW4gbWly
cm9yZWQgdG8gdGhlIG90aGVyLiBZb3UgY2FuIGZpbmQgdGhlIHdhc20uanNvbiBmaWxlcyBhdCBc
IlNvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL3dhc20uanNvblwiIGFuZCBcIkpTVGVzdHMvd2Fz
bS93YXNtLmpzb25cIi4iIF0sCiAgICAgfSwKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL3dhdGNobGlzdC93YXRjaGxpc3RydWxlLnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vd2F0Y2hsaXN0L3dhdGNobGlzdHJ1bGUucHkKaW5kZXggNjk4NzUwODFh
N2U3MzJmNGZkOTVhMWU4NWUzM2UyYmYwMGY5ZjkxYi4uM2VmMjhiYzFhMDE1MmJhZDhiNjU3YTg1
YzFmODJhOTM1ZjhhNjA3NCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vd2F0Y2hsaXN0L3dhdGNobGlzdHJ1bGUucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vd2F0Y2hsaXN0L3dhdGNobGlzdHJ1bGUucHkKQEAgLTI1LDE3ICsyNSwzMSBAQAog
IyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCiAjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoraW1wb3J0IHJlCiAK
IAogY2xhc3MgV2F0Y2hMaXN0UnVsZToKICAgICAnJydBIHJ1bGUgd2l0aCBpbnN0cnVjdGlvbnMg
dG8gZG8gd2hlbiB0aGUgcnVsZSBpcyBzYXRpc2lmaWVkLicnJwogICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCBjb21wbGV4X2RlZmluaXRpb24sIGluc3RydWN0aW9ucyk6Ci0gICAgICAgIHNlbGYuZGVm
aW5pdGlvbnNfdG9fbWF0Y2ggPSBjb21wbGV4X2RlZmluaXRpb24uc3BsaXQoJ3wnKQorICAgICAg
ICBzZWxmLnJ1bGVfdG9fbWF0Y2ggPSBjb21wbGV4X2RlZmluaXRpb24KKyAgICAgICAgc2VsZi5k
ZWZpbml0aW9uc190b19tYXRjaCA9IHJlLnNwbGl0KCcmfFx8JywgY29tcGxleF9kZWZpbml0aW9u
LnJlcGxhY2UoJyEnLCAnJykpCiAgICAgICAgIHNlbGYuX2luc3RydWN0aW9ucyA9IGluc3RydWN0
aW9ucwogCisgICAgZGVmIF9tYXRjaF90ZXN0X2RlZmluaXRpb25zKHNlbGYsIHRlc3QsIG1hdGNo
aW5nX2RlZmluaXRpb25zKToKKyAgICAgICAgaWYgdGVzdC5zdGFydHN3aXRoKCchJyk6CisgICAg
ICAgICAgICByZXR1cm4gdGVzdC5zcGxpdCgnIScsIDEpWzFdIG5vdCBpbiBtYXRjaGluZ19kZWZp
bml0aW9ucworICAgICAgICByZXR1cm4gdGVzdCBpbiBtYXRjaGluZ19kZWZpbml0aW9ucworCiAg
ICAgZGVmIG1hdGNoKHNlbGYsIG1hdGNoaW5nX2RlZmluaXRpb25zKToKLSAgICAgICAgZm9yIHRl
c3RfZGVmaW5pdGlvbiBpbiBzZWxmLmRlZmluaXRpb25zX3RvX21hdGNoOgotICAgICAgICAgICAg
aWYgdGVzdF9kZWZpbml0aW9uIGluIG1hdGNoaW5nX2RlZmluaXRpb25zOgorICAgICAgICBmb3Ig
dGVzdF9kZWZpbml0aW9uIGluIHNlbGYucnVsZV90b19tYXRjaC5zcGxpdCgnfCcpOgorICAgICAg
ICAgICAgaWYgJyYnIGluIHRlc3RfZGVmaW5pdGlvbjoKKyAgICAgICAgICAgICAgICBtYXRjaF9h
bGxfc3ViZ3JvdXAgPSBUcnVlCisgICAgICAgICAgICAgICAgZm9yIHRlc3RfZGVmaW5pdGlvbl9z
dWJhbGwgaW4gdGVzdF9kZWZpbml0aW9uLnNwbGl0KCcmJyk6CisgICAgICAgICAgICAgICAgICAg
IGlmIG5vdCBzZWxmLl9tYXRjaF90ZXN0X2RlZmluaXRpb25zKHRlc3RfZGVmaW5pdGlvbl9zdWJh
bGwsIG1hdGNoaW5nX2RlZmluaXRpb25zKToKKyAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNo
X2FsbF9zdWJncm91cCA9IEZhbHNlCisgICAgICAgICAgICAgICAgaWYgbWF0Y2hfYWxsX3N1Ymdy
b3VwOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICAgICAgZWxpZiBz
ZWxmLl9tYXRjaF90ZXN0X2RlZmluaXRpb25zKHRlc3RfZGVmaW5pdGlvbiwgbWF0Y2hpbmdfZGVm
aW5pdGlvbnMpOgogICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCiAgICAgICAgIHJldHVybiBG
YWxzZQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi93YXRjaGxp
c3Qvd2F0Y2hsaXN0cnVsZV91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL3dhdGNobGlzdC93YXRjaGxpc3RydWxlX3VuaXR0ZXN0LnB5CmluZGV4IDgxYzcxNDc0NzFm
NjUxZjkyNDFjNGMzODU1ZDViNTJmYTMyNGIzYmMuLjA1Njc3ZWYwNzBkYWU4OTMyZmY1ZDk2NTll
NzI3YTE3ZmI2NDQ4M2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L3dhdGNobGlzdC93YXRjaGxpc3RydWxlX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL3dhdGNobGlzdC93YXRjaGxpc3RydWxlX3VuaXR0ZXN0LnB5CkBAIC01
MCw3ICs1MCw3IEBAIGNsYXNzIFdhdGNoTGlzdFJ1bGVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJ1bGUubWF0Y2goW2RlZmluaXRpb25fbmFtZV0pKQog
ICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHJ1bGUubWF0Y2goW2RlZmluaXRpb25fbmFtZSArICcx
J10pKQogCi0gICAgZGVmIHRlc3RfY29tcGxleF9kZWZpbml0aW9uKHNlbGYpOgorICAgIGRlZiB0
ZXN0X2NvbXBsZXhfZGVmaW5pdGlvbl9vcihzZWxmKToKICAgICAgICAgZGVmaW5pdGlvbl9uYW1l
MSA9ICdkZWZpbml0aW9uMScKICAgICAgICAgZGVmaW5pdGlvbl9uYW1lMiA9ICdkZWZpbml0aW9u
MicKICAgICAgICAgZGVmaW5pdGlvbl9uYW1lMyA9ICdkZWZpbml0aW9uMycKQEAgLTYxLDMgKzYx
LDQwIEBAIGNsYXNzIFdhdGNoTGlzdFJ1bGVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAg
ICAgc2VsZi5hc3NlcnRGYWxzZShydWxlLm1hdGNoKFtkZWZpbml0aW9uX25hbWUxICsgJzEnXSkp
CiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UocnVsZS5tYXRjaChbZGVmaW5pdGlvbl9uYW1lMiAr
ICcxJ10pKQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHJ1bGUubWF0Y2goW2RlZmluaXRpb25f
bmFtZTMgKyAnMSddKSkKKworICAgIGRlZiB0ZXN0X2NvbXBsZXhfZGVmaW5pdGlvbl9hbmQoc2Vs
Zik6CisgICAgICAgIGRlZmluaXRpb25fbmFtZTEgPSAnZGVmaW5pdGlvbjEnCisgICAgICAgIGRl
ZmluaXRpb25fbmFtZTIgPSAnZGVmaW5pdGlvbjInCisgICAgICAgIGRlZmluaXRpb25fbmFtZTMg
PSAnZGVmaW5pdGlvbjMnCisgICAgICAgIHJ1bGUgPSBXYXRjaExpc3RSdWxlKGRlZmluaXRpb25f
bmFtZTEgKyAnJicgKyBkZWZpbml0aW9uX25hbWUyICsgJyYnICsgZGVmaW5pdGlvbl9uYW1lMywg
W10pCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UocnVsZS5tYXRjaChbZGVmaW5pdGlvbl9uYW1l
MV0pKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHJ1bGUubWF0Y2goW2RlZmluaXRpb25fbmFt
ZTJdKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShydWxlLm1hdGNoKFtkZWZpbml0aW9uX25h
bWUzXSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UocnVsZS5tYXRjaChbZGVmaW5pdGlvbl9u
YW1lMSwgZGVmaW5pdGlvbl9uYW1lMl0pKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHJ1bGUu
bWF0Y2goW2RlZmluaXRpb25fbmFtZTEsIGRlZmluaXRpb25fbmFtZTNdKSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRGYWxzZShydWxlLm1hdGNoKFtkZWZpbml0aW9uX25hbWUyLCBkZWZpbml0aW9uX25h
bWUzXSkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShydWxlLm1hdGNoKFtkZWZpbml0aW9uX25h
bWUxLCBkZWZpbml0aW9uX25hbWUyLCBkZWZpbml0aW9uX25hbWUzXSkpCisKKyAgICBkZWYgdGVz
dF9jb21wbGV4X2RlZmluaXRpb25fbm90KHNlbGYpOgorICAgICAgICBkZWZpbml0aW9uX25hbWUx
ID0gJ2RlZmluaXRpb24xJworICAgICAgICBkZWZpbml0aW9uX25hbWUyID0gJ2RlZmluaXRpb24y
JworICAgICAgICBydWxlID0gV2F0Y2hMaXN0UnVsZSgnIScgKyBkZWZpbml0aW9uX25hbWUxLCBb
XSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShydWxlLm1hdGNoKFtkZWZpbml0aW9uX25hbWUx
XSkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShydWxlLm1hdGNoKFtkZWZpbml0aW9uX25hbWUy
XSkpCisKKyAgICBkZWYgdGVzdF9jb21wbGV4X2RlZmluaXRpb25fY29tYmluZWQoc2VsZik6Cisg
ICAgICAgIGRlZmluaXRpb25fbmFtZTEgPSAnZGVmaW5pdGlvbjEnCisgICAgICAgIGRlZmluaXRp
b25fbmFtZTIgPSAnZGVmaW5pdGlvbjInCisgICAgICAgIGRlZmluaXRpb25fbmFtZTMgPSAnZGVm
aW5pdGlvbjMnCisgICAgICAgIHJ1bGUxID0gV2F0Y2hMaXN0UnVsZShkZWZpbml0aW9uX25hbWUx
ICsgJyYhJyArIGRlZmluaXRpb25fbmFtZTIsIFtdKQorICAgICAgICBzZWxmLmFzc2VydFRydWUo
cnVsZTEubWF0Y2goW2RlZmluaXRpb25fbmFtZTFdKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxz
ZShydWxlMS5tYXRjaChbZGVmaW5pdGlvbl9uYW1lMl0pKQorICAgICAgICBzZWxmLmFzc2VydEZh
bHNlKHJ1bGUxLm1hdGNoKFtkZWZpbml0aW9uX25hbWUxLCBkZWZpbml0aW9uX25hbWUyXSkpCisg
ICAgICAgIHJ1bGUyID0gV2F0Y2hMaXN0UnVsZShkZWZpbml0aW9uX25hbWUxICsgJ3wnICsgZGVm
aW5pdGlvbl9uYW1lMiArICcmIScgKyBkZWZpbml0aW9uX25hbWUzLCBbXSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRUcnVlKHJ1bGUyLm1hdGNoKFtkZWZpbml0aW9uX25hbWUxXSkpCisgICAgICAgIHNl
bGYuYXNzZXJ0VHJ1ZShydWxlMi5tYXRjaChbZGVmaW5pdGlvbl9uYW1lMl0pKQorICAgICAgICBz
ZWxmLmFzc2VydEZhbHNlKHJ1bGUyLm1hdGNoKFtkZWZpbml0aW9uX25hbWUzXSkpCisgICAgICAg
IHNlbGYuYXNzZXJ0VHJ1ZShydWxlMi5tYXRjaChbZGVmaW5pdGlvbl9uYW1lMSwgZGVmaW5pdGlv
bl9uYW1lMl0pKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocnVsZTIubWF0Y2goW2RlZmluaXRp
b25fbmFtZTEsIGRlZmluaXRpb25fbmFtZTNdKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShy
dWxlMi5tYXRjaChbZGVmaW5pdGlvbl9uYW1lMiwgZGVmaW5pdGlvbl9uYW1lM10pKQorICAgICAg
ICBzZWxmLmFzc2VydFRydWUocnVsZTIubWF0Y2goW2RlZmluaXRpb25fbmFtZTEsIGRlZmluaXRp
b25fbmFtZTIsIGRlZmluaXRpb25fbmFtZTNdKSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400849</attachid>
            <date>2020-06-02 12:42:07 -0700</date>
            <delta_ts>2020-06-04 13:16:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212597-20200602214206.patch</filename>
            <type>text/plain</type>
            <size>13731</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNDA4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDYwYjc5YzVjNjM2NTkxMmE3ZjQ1ZGQ3MWMwYTdkNjFm
OWQxMTBhMi4uMzYwMTc3ODgwNmYyODViNWFjZTQ1ZGMwZjQwMWQwYWJkZTgzMjQ2NCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4
IEBACisyMDIwLTA2LTAxICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIEltcHJvdmUgd2F0Y2hsaXN0IGxvZ2ljIGZvciBjb21tZW50cyBv
biBwYXRjaGVzIHRvdWNoaW5nIGltcG9ydGVkIFdQVCB0ZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMjU5NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9uIHIyNjIyOTUgSSBhZGRlZCBhIHdhdGNo
bGlzdCBjb21tZW50IGZvciBwYXRjaGVzIHRvdWNoaW5nIHRoZSBpbXBvcnRlZCBXUFQgdGVzdHMu
CisgICAgICAgIEhvd2V2ZXIsIHRoaXMgaXMgY29tbWVudGluZyBvbiBwYXRjaGVzIHRoYXQgYXJl
IGltcG9ydGluZyBXUFQgdGVzdHMuCisKKyAgICAgICAgVG8gYXZvaWQgdGhpcyBzaXR1YXRpb25z
LCB0aGlzIHBhdGNoIGFkZHMgYSBuZXcgcnVsZSB0byBkZXRlY3QgaWYgdGhlIGNoYW5nZXMgbW9k
aWZ5CisgICAgICAgIGFueSBvZiB0aGUgdzNjLWltcG9ydC5sb2cgZmlsZXMsIGFuZCB0aGVuIGNo
YW5nZXMgdGhlIGxvZ2ljIHRvIG1ha2UgdGhlIGNvbW1lbnQgb25seQorICAgICAgICBmb3IgcGF0
Y2hlcyB0aGF0IG1vZGlmeSB0aGUgV1BUIGltcG9ydGVkIHRlc3RzIGJ1dCBub3QgdGhlIHczYy1p
bXBvcnQubG9nIGZpbGVzLgorCisgICAgICAgIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhpcyBuZXcg
bG9naWMsIHdhdGNobGlzdCBydWxlIHBhcnNpbmcgaXMgaW1wcm92ZWQgdG8gc3VwcG9ydAorICAg
ICAgICB0aGUgImFuZCIgYW5kICJub3QiIG9wZXJhdG9ycy4gUHJldmlvdXNseSBpdCBvbmx5IHN1
cHBvcnRlZCB0aGUgIm9yIiBvcGVyYXRvci4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL2NvbmZpZy93YXRjaGxpc3Q6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21t
b24vd2F0Y2hsaXN0L3dhdGNobGlzdHBhcnNlci5weToKKyAgICAgICAgKFdhdGNoTGlzdFBhcnNl
ci5fcnVsZV9kZWZpbml0aW9uc19hc19zZXQpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL3dhdGNobGlzdC93YXRjaGxpc3RwYXJzZXJfdW5pdHRlc3QucHk6CisgICAgICAgIChX
YXRjaExpc3RQYXJzZXJUZXN0LnRlc3RfY2NfcnVsZV93aXRoX3VuZGVmaW5lZF9kZWZpbnRpb25f
d2l0aF9zdWdnZXN0aW9uKToKKyAgICAgICAgKFdhdGNoTGlzdFBhcnNlclRlc3QpOgorICAgICAg
ICAoV2F0Y2hMaXN0UGFyc2VyVGVzdC50ZXN0X2NjX3J1bGVfd2l0aF9jb21wbGV4X2xvZ2ljKToK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi93YXRjaGxpc3Qvd2F0Y2hsaXN0cnVs
ZS5weToKKyAgICAgICAgKFdhdGNoTGlzdFJ1bGUuX19pbml0X18pOgorICAgICAgICAoV2F0Y2hM
aXN0UnVsZS5fbWF0Y2hfdGVzdF9kZWZpbml0aW9ucyk6CisgICAgICAgIChXYXRjaExpc3RSdWxl
Lm1hdGNoKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi93YXRjaGxpc3Qvd2F0
Y2hsaXN0cnVsZV91bml0dGVzdC5weToKKyAgICAgICAgKFdhdGNoTGlzdFJ1bGVUZXN0LnRlc3Rf
Y29tcGxleF9kZWZpbml0aW9uX29yKToKKyAgICAgICAgKFdhdGNoTGlzdFJ1bGVUZXN0KToKKyAg
ICAgICAgKFdhdGNoTGlzdFJ1bGVUZXN0LnRlc3RfY29tcGxleF9kZWZpbml0aW9uX2FuZCk6Cisg
ICAgICAgIChXYXRjaExpc3RSdWxlVGVzdC50ZXN0X2NvbXBsZXhfZGVmaW5pdGlvbl9ub3QpOgor
ICAgICAgICAoV2F0Y2hMaXN0UnVsZVRlc3QudGVzdF9jb21wbGV4X2RlZmluaXRpb25fY29tYmlu
ZWQpOgorCiAyMDIwLTA2LTAxICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBNYWtlIHVuaWNvZGUtYmlkaTppc29sYXRlIHRoZSBkZWZhdWx0IGZvciBhbiBlbGVt
ZW50IHdpdGggYSBkaXIgYXR0cmlidXRlIChpbnN0ZWFkIG9mIHVuaWNvZGUtYmlkaTplbWJlZCkK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy93YXRjaGxp
c3QgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvd2F0Y2hsaXN0CmluZGV4
IGJjYmI4ODkwNzZkOTM1NDQ2ZTlmNzc2ZGExNzkxMmUxOTE0ZGM4NWEuLjQ1MzZiOTFmN2NlZjg0
YWY1ODkwMjljZGQyNzFmMDc2M2VlNDJlNTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL2NvbmZpZy93YXRjaGxpc3QKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vY29uZmlnL3dhdGNobGlzdApAQCAtMzgwLDYgKzM4MCw5IEBACiAgICAgICAgICJX
ZWJQbGF0Zm9ybVRlc3RzIjogewogICAgICAgICAgICAgImZpbGVuYW1lIjogciJMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLygoPyEtZXhwZWN0ZWRcLnR4dCkuKSok
IiwKICAgICAgICAgfSwKKyAgICAgICAgIldlYlBsYXRmb3JtVGVzdHNJbXBvcnQiOiB7CisgICAg
ICAgICAgICAiZmlsZW5hbWUiOiByIkxheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvLip3M2MtaW1wb3J0LmxvZyQiLAorICAgICAgICB9LAogICAgICAgICAiV2ViUlRD
IjogewogICAgICAgICAgICAgImZpbGVuYW1lIjogciJTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvIgogICAgICAgICAgICAgICAgICAgICAgICAgciJ8U291cmNlL1dlYktpdC9TaGFyZWQvKlJU
QyoiCkBAIC00NzgsNyArNDgxLDcgQEAKICAgICAgICAgICAgICAgICAgICAiU2VlIGh0dHA6Ly90
cmFjLndlYmtpdC5vcmcvd2lraS9VcGRhdGluZ0FOR0xFIiwgXSwKICAgICAgICAgIldlYkluc3Bl
Y3RvclByb3RvY29sIjogWyAiVGhpcyBwYXRjaCBtb2RpZmllcyB0aGUgaW5zcGVjdG9yIHByb3Rv
Y29sLiBQbGVhc2UgZW5zdXJlIHRoYXQgYW55IGZyb250ZW5kIGNoYW5nZXMgYXBwcm9wcmlhdGVs
eSB1c2UgZmVhdHVyZSBjaGVja3MgZm9yIG5ldyBwcm90b2NvbCBmZWF0dXJlcy4iIF0sCiAgICAg
ICAgICJXZWJJbnNwZWN0b3JHZW5lcmF0b3IiOiBbICJUaGlzIHBhdGNoIG1vZGlmaWVzIHRoZSBp
bnNwZWN0b3IgcHJvdG9jb2wgZ2VuZXJhdG9yLiBQbGVhc2UgZW5zdXJlIHRoYXQgeW91IGhhdmUg
cmViYXNlbGluZWQgYW55IGdlbmVyYXRvciB0ZXN0IHJlc3VsdHMgKGkuZS4sIGJ5IHJ1bm5pbmcg
YFRvb2xzL1NjcmlwdHMvcnVuLWluc3BlY3Rvci1nZW5lcmF0b3ItdGVzdHMgLS1yZXNldC1yZXN1
bHRzYCkiIF0sCi0gICAgICAgICJXZWJQbGF0Zm9ybVRlc3RzIjogWyAiVGhpcyBwYXRjaCBtb2Rp
ZmllcyB0aGUgaW1wb3J0ZWQgV1BUIHRlc3RzLiBQbGVhc2UgZW5zdXJlIHRoYXQgYW55IGNoYW5n
ZXMgb24gdGhlIHRlc3RzIGFyZSBleHBvcnRlZCB0byBXUFQuIFBsZWFzZSBzZWUgaHR0cHM6Ly90
cmFjLndlYmtpdC5vcmcvd2lraS9XUFRFeHBvcnRQcm9jZXNzIiBdLAorICAgICAgICAiV2ViUGxh
dGZvcm1UZXN0cyYhV2ViUGxhdGZvcm1UZXN0c0ltcG9ydCI6IFsgIlRoaXMgcGF0Y2ggbW9kaWZp
ZXMgdGhlIGltcG9ydGVkIFdQVCB0ZXN0cy4gUGxlYXNlIGVuc3VyZSB0aGF0IGFueSBjaGFuZ2Vz
IG9uIHRoZSB0ZXN0cyAobm90IGNvbWluZyBmcm9tIGEgV1BUIGltcG9ydCkgYXJlIGV4cG9ydGVk
IHRvIFdQVC4gUGxlYXNlIHNlZSBodHRwczovL3RyYWMud2Via2l0Lm9yZy93aWtpL1dQVEV4cG9y
dFByb2Nlc3MiIF0sCiAgICAgICAgICJKU0J1aWx0aW5zR2VuZXJhdG9yIjogWyAiVGhpcyBwYXRj
aCBtb2RpZmllcyB0aGUgSlMgYnVpbHRpbnMgY29kZSBnZW5lcmF0b3IuIFBsZWFzZSBlbnN1cmUg
dGhhdCB5b3UgaGF2ZSByZWJhc2VsaW5lZCBhbnkgZ2VuZXJhdG9yIHRlc3QgcmVzdWx0cyAoaS5l
LiwgYnkgcnVubmluZyBgVG9vbHMvU2NyaXB0cy9ydW4tYnVpbHRpbnMtZ2VuZXJhdG9yLXRlc3Rz
IC0tcmVzZXQtcmVzdWx0c2ApIiBdLAogICAgICAgICAiV2FzbUpTT04iOiBbICJUaGlzIHBhdGNo
IG1vZGlmaWVzIG9uZSBvZiB0aGUgd2FzbS5qc29uIGZpbGVzLiBQbGVhc2UgZW5zdXJlIHRoYXQg
YW55IGNoYW5nZXMgaW4gb25lIGhhdmUgYmVlbiBtaXJyb3JlZCB0byB0aGUgb3RoZXIuIFlvdSBj
YW4gZmluZCB0aGUgd2FzbS5qc29uIGZpbGVzIGF0IFwiU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vd2FzbS5qc29uXCIgYW5kIFwiSlNUZXN0cy93YXNtL3dhc20uanNvblwiLiIgXSwKICAgICB9
LApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vd2F0Y2hsaXN0L3dh
dGNobGlzdHBhcnNlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3dhdGNobGlz
dC93YXRjaGxpc3RwYXJzZXIucHkKaW5kZXggYTFiM2U3ZjI1OTVjYWI5ZTE1MTA0OTU4ZDM5OTg1
MzY3ZDdmYWJiNy4uMzY2NjMzYzgyMDIxNTlhNGE3NmUyMTQwYWViOTgyZTJkNWRkMjdlNCAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vd2F0Y2hsaXN0L3dhdGNobGlz
dHBhcnNlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi93YXRjaGxpc3Qv
d2F0Y2hsaXN0cGFyc2VyLnB5CkBAIC0xNzcsNSArMTc3LDYgQEAgY2xhc3MgV2F0Y2hMaXN0UGFy
c2VyKG9iamVjdCk6CiAgICAgZGVmIF9ydWxlX2RlZmluaXRpb25zX2FzX3NldChzZWxmLCBydWxl
cyk6CiAgICAgICAgIGRlZmluaXRpb25fc2V0ID0gc2V0KCkKICAgICAgICAgZm9yIHJ1bGUgaW4g
cnVsZXM6Ci0gICAgICAgICAgICBkZWZpbml0aW9uX3NldCA9IGRlZmluaXRpb25fc2V0LnVuaW9u
KHJ1bGUuZGVmaW5pdGlvbnNfdG9fbWF0Y2gpCisgICAgICAgICAgICBkZWZpbml0aW9uc19pbnNp
ZGVfcnVsZSA9IHJlLnNwbGl0KCcmfFx8JywgcnVsZS5kZWZpbml0aW9uc190b19tYXRjaC5yZXBs
YWNlKCchJywgJycpKQorICAgICAgICAgICAgZGVmaW5pdGlvbl9zZXQgPSBkZWZpbml0aW9uX3Nl
dC51bmlvbihkZWZpbml0aW9uc19pbnNpZGVfcnVsZSkKICAgICAgICAgcmV0dXJuIGRlZmluaXRp
b25fc2V0CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi93YXRjaGxp
c3Qvd2F0Y2hsaXN0cGFyc2VyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vd2F0Y2hsaXN0L3dhdGNobGlzdHBhcnNlcl91bml0dGVzdC5weQppbmRleCA1YjdjN2Vi
OTE0NzBlYjNjYzk3MzVmMWYzMmI1MTljMjY4NjY3ZGZiLi4yMjg1ZjFlZjRjMTA1YjRhM2NmZWVm
NTA4NGMxZTAxMTBmNTU5MTQ5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi93YXRjaGxpc3Qvd2F0Y2hsaXN0cGFyc2VyX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL3dhdGNobGlzdC93YXRjaGxpc3RwYXJzZXJfdW5pdHRlc3Qu
cHkKQEAgLTI4MCwzICsyODAsMzEgQEAgY2xhc3MgV2F0Y2hMaXN0UGFyc2VyVGVzdCh3ZWJraXR1
bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0
cyhzZWxmLCBzZWxmLl93YXRjaF9saXN0X3BhcnNlci5wYXJzZSwgYXJncz1bd2F0Y2hfbGlzdF0s
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9sb2dzPSdJ
biBzZWN0aW9uICJDQ19SVUxFUyIsIHRoZSBmb2xsb3dpbmcgZGVmaW5pdGlvbnMgYXJlIG5vdCB1
c2VkIGFuZCBzaG91bGQgYmUgcmVtb3ZlZDogV2F0Y2hMaXN0JwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKyAnXG5cblBlcmhhcHMgaXQgc2hvdWxkIGJlIFdhdGNoTGlz
dDEuXG4nKQorCisgICAgZGVmIHRlc3RfY2NfcnVsZV93aXRoX2NvbXBsZXhfbG9naWMoc2VsZik6
CisgICAgICAgIHdhdGNoX2xpc3QgPSAoCisgICAgICAgICAgICAneycKKyAgICAgICAgICAgICcg
ICAgIkRFRklOSVRJT05TIjogeycKKyAgICAgICAgICAgICcgICAgICAgICJXYXRjaExpc3QxIjog
eycKKyAgICAgICAgICAgICcgICAgICAgICAgICAiZmlsZW5hbWUiOiByIi4qTXlGaWxlTmFtZVxc
LmNwcCIsJworICAgICAgICAgICAgJyAgICAgICAgfSwnCisgICAgICAgICAgICAnICAgICAgICAi
V2F0Y2hMaXN0MiI6IHsnCisgICAgICAgICAgICAnICAgICAgICAgICAgImZpbGVuYW1lIjogciIu
Kk15RmlsZU5hbWVcXC5oIiwnCisgICAgICAgICAgICAnICAgICAgICB9LCcKKyAgICAgICAgICAg
ICcgICAgICAgICJXYXRjaExpc3QzIjogeycKKyAgICAgICAgICAgICcgICAgICAgICAgICAiZmls
ZW5hbWUiOiByIi4qTXlGaWxlTmFtZVxcLm8iLCcKKyAgICAgICAgICAgICcgICAgICAgIH0sJwor
ICAgICAgICAgICAgJyAgICAgfSwnCisgICAgICAgICAgICAnICAgICJDQ19SVUxFUyI6IHsnCisg
ICAgICAgICAgICAnICAgICAgICAiIVdhdGNoTGlzdDEmIVdhdGNoTGlzdDJ8IVdhdGNoTGlzdDMm
IVdhdGNoTGlzdFVuZGVmaW5lZCI6IFsiY2xvcGV6QGlnYWxpYS5jb20iXScKKyAgICAgICAgICAg
ICcgICAgIH0sJworICAgICAgICAgICAgJyAgICAiTUVTU0FHRV9SVUxFUyI6IHsnCisgICAgICAg
ICAgICAnICAgICAgICAiIVdhdGNoTGlzdDF8V2F0Y2hMaXN0MiYhV2F0Y2hMaXN0M3whV2F0Y2hM
aXN0VW5kZWZpbmVkIjogWyJjbG9wZXpAaWdhbGlhLmNvbSJdJworICAgICAgICAgICAgJyAgICAg
fSwnCisgICAgICAgICAgICAnfScpCisKKyAgICAgICAgT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9v
dXRwdXRzKHNlbGYsIHNlbGYuX3dhdGNoX2xpc3RfcGFyc2VyLnBhcnNlLCBhcmdzPVt3YXRjaF9s
aXN0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX2xv
Z3M9J0luIHNlY3Rpb24gIkNDX1JVTEVTIiwgdGhlIGZvbGxvd2luZyBkZWZpbml0aW9ucyBhcmUg
bm90IHVzZWQgYW5kIHNob3VsZCBiZSByZW1vdmVkOiBXYXRjaExpc3RVbmRlZmluZWRcblxuJyAr
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGVyaGFwcyBpdCBzaG91
bGQgYmUgV2F0Y2hMaXN0MyBvciBXYXRjaExpc3QyIG9yIFdhdGNoTGlzdDEuXG4nICsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbiBzZWN0aW9uICJNRVNTQUdFX1JV
TEVTIiwgdGhlIGZvbGxvd2luZyBkZWZpbml0aW9ucyBhcmUgbm90IHVzZWQgYW5kIHNob3VsZCBi
ZSByZW1vdmVkOiBXYXRjaExpc3RVbmRlZmluZWRcblxuJyArCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnUGVyaGFwcyBpdCBzaG91bGQgYmUgV2F0Y2hMaXN0MyBvciBX
YXRjaExpc3QyIG9yIFdhdGNoTGlzdDEuXG4nKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vd2F0Y2hsaXN0L3dhdGNobGlzdHJ1bGUucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi93YXRjaGxpc3Qvd2F0Y2hsaXN0cnVsZS5weQppbmRleCA2OTg3NTA4
MWE3ZTczMmY0ZmQ5NWExZTg1ZTMzZTJiZjAwZjlmOTFiLi4wMGUyMjJhMmI5OWQ1ZWIxYWYyODAx
N2JkMDRmN2QxZDRhNjJjN2Y4IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi93YXRjaGxpc3Qvd2F0Y2hsaXN0cnVsZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi93YXRjaGxpc3Qvd2F0Y2hsaXN0cnVsZS5weQpAQCAtMzAsMTIgKzMwLDI0IEBA
CiBjbGFzcyBXYXRjaExpc3RSdWxlOgogICAgICcnJ0EgcnVsZSB3aXRoIGluc3RydWN0aW9ucyB0
byBkbyB3aGVuIHRoZSBydWxlIGlzIHNhdGlzaWZpZWQuJycnCiAgICAgZGVmIF9faW5pdF9fKHNl
bGYsIGNvbXBsZXhfZGVmaW5pdGlvbiwgaW5zdHJ1Y3Rpb25zKToKLSAgICAgICAgc2VsZi5kZWZp
bml0aW9uc190b19tYXRjaCA9IGNvbXBsZXhfZGVmaW5pdGlvbi5zcGxpdCgnfCcpCisgICAgICAg
IHNlbGYuZGVmaW5pdGlvbnNfdG9fbWF0Y2ggPSBjb21wbGV4X2RlZmluaXRpb24KICAgICAgICAg
c2VsZi5faW5zdHJ1Y3Rpb25zID0gaW5zdHJ1Y3Rpb25zCiAKKyAgICBkZWYgX21hdGNoX3Rlc3Rf
ZGVmaW5pdGlvbnMoc2VsZiwgdGVzdCwgbWF0Y2hpbmdfZGVmaW5pdGlvbnMpOgorICAgICAgICBp
ZiB0ZXN0LnN0YXJ0c3dpdGgoJyEnKToKKyAgICAgICAgICAgIHJldHVybiB0ZXN0LnNwbGl0KCch
JywgMSlbMV0gbm90IGluIG1hdGNoaW5nX2RlZmluaXRpb25zCisgICAgICAgIHJldHVybiB0ZXN0
IGluIG1hdGNoaW5nX2RlZmluaXRpb25zCisKICAgICBkZWYgbWF0Y2goc2VsZiwgbWF0Y2hpbmdf
ZGVmaW5pdGlvbnMpOgotICAgICAgICBmb3IgdGVzdF9kZWZpbml0aW9uIGluIHNlbGYuZGVmaW5p
dGlvbnNfdG9fbWF0Y2g6Ci0gICAgICAgICAgICBpZiB0ZXN0X2RlZmluaXRpb24gaW4gbWF0Y2hp
bmdfZGVmaW5pdGlvbnM6CisgICAgICAgIGZvciB0ZXN0X2RlZmluaXRpb24gaW4gc2VsZi5kZWZp
bml0aW9uc190b19tYXRjaC5zcGxpdCgnfCcpOgorICAgICAgICAgICAgaWYgJyYnIGluIHRlc3Rf
ZGVmaW5pdGlvbjoKKyAgICAgICAgICAgICAgICBtYXRjaF9hbGxfc3ViZ3JvdXAgPSBUcnVlCisg
ICAgICAgICAgICAgICAgZm9yIHRlc3RfZGVmaW5pdGlvbl9zdWJhbGwgaW4gdGVzdF9kZWZpbml0
aW9uLnNwbGl0KCcmJyk6CisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9tYXRjaF90
ZXN0X2RlZmluaXRpb25zKHRlc3RfZGVmaW5pdGlvbl9zdWJhbGwsIG1hdGNoaW5nX2RlZmluaXRp
b25zKToKKyAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoX2FsbF9zdWJncm91cCA9IEZhbHNl
CisgICAgICAgICAgICAgICAgaWYgbWF0Y2hfYWxsX3N1Ymdyb3VwOgorICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gVHJ1ZQorICAgICAgICAgICAgZWxpZiBzZWxmLl9tYXRjaF90ZXN0X2RlZmlu
aXRpb25zKHRlc3RfZGVmaW5pdGlvbiwgbWF0Y2hpbmdfZGVmaW5pdGlvbnMpOgogICAgICAgICAg
ICAgICAgIHJldHVybiBUcnVlCiAgICAgICAgIHJldHVybiBGYWxzZQogCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi93YXRjaGxpc3Qvd2F0Y2hsaXN0cnVsZV91bml0
dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3dhdGNobGlzdC93YXRjaGxp
c3RydWxlX3VuaXR0ZXN0LnB5CmluZGV4IDgxYzcxNDc0NzFmNjUxZjkyNDFjNGMzODU1ZDViNTJm
YTMyNGIzYmMuLjcwMjYwZmM1MDgzMDg5NmFiNTA1YzAyYjUzNTM2Mjg5MGFjYWExMWIgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3dhdGNobGlzdC93YXRjaGxpc3Ry
dWxlX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3dhdGNo
bGlzdC93YXRjaGxpc3RydWxlX3VuaXR0ZXN0LnB5CkBAIC01MCw3ICs1MCw3IEBAIGNsYXNzIFdh
dGNoTGlzdFJ1bGVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRU
cnVlKHJ1bGUubWF0Y2goW2RlZmluaXRpb25fbmFtZV0pKQogICAgICAgICBzZWxmLmFzc2VydEZh
bHNlKHJ1bGUubWF0Y2goW2RlZmluaXRpb25fbmFtZSArICcxJ10pKQogCi0gICAgZGVmIHRlc3Rf
Y29tcGxleF9kZWZpbml0aW9uKHNlbGYpOgorICAgIGRlZiB0ZXN0X2NvbXBsZXhfZGVmaW5pdGlv
bl9vcihzZWxmKToKICAgICAgICAgZGVmaW5pdGlvbl9uYW1lMSA9ICdkZWZpbml0aW9uMScKICAg
ICAgICAgZGVmaW5pdGlvbl9uYW1lMiA9ICdkZWZpbml0aW9uMicKICAgICAgICAgZGVmaW5pdGlv
bl9uYW1lMyA9ICdkZWZpbml0aW9uMycKQEAgLTYxLDMgKzYxLDU3IEBAIGNsYXNzIFdhdGNoTGlz
dFJ1bGVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShy
dWxlLm1hdGNoKFtkZWZpbml0aW9uX25hbWUxICsgJzEnXSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0
RmFsc2UocnVsZS5tYXRjaChbZGVmaW5pdGlvbl9uYW1lMiArICcxJ10pKQogICAgICAgICBzZWxm
LmFzc2VydEZhbHNlKHJ1bGUubWF0Y2goW2RlZmluaXRpb25fbmFtZTMgKyAnMSddKSkKKworICAg
IGRlZiB0ZXN0X2NvbXBsZXhfZGVmaW5pdGlvbl9hbmQoc2VsZik6CisgICAgICAgIGRlZmluaXRp
b25fbmFtZTEgPSAnZGVmaW5pdGlvbjEnCisgICAgICAgIGRlZmluaXRpb25fbmFtZTIgPSAnZGVm
aW5pdGlvbjInCisgICAgICAgIGRlZmluaXRpb25fbmFtZTMgPSAnZGVmaW5pdGlvbjMnCisgICAg
ICAgIHJ1bGUgPSBXYXRjaExpc3RSdWxlKGRlZmluaXRpb25fbmFtZTEgKyAnJicgKyBkZWZpbml0
aW9uX25hbWUyICsgJyYnICsgZGVmaW5pdGlvbl9uYW1lMywgW10pCisgICAgICAgIHNlbGYuYXNz
ZXJ0RmFsc2UocnVsZS5tYXRjaChbZGVmaW5pdGlvbl9uYW1lMV0pKQorICAgICAgICBzZWxmLmFz
c2VydEZhbHNlKHJ1bGUubWF0Y2goW2RlZmluaXRpb25fbmFtZTEsIGRlZmluaXRpb25fbmFtZTJd
KSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShydWxlLm1hdGNoKFtkZWZpbml0aW9uX25hbWUx
LCBkZWZpbml0aW9uX25hbWUzXSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UocnVsZS5tYXRj
aChbZGVmaW5pdGlvbl9uYW1lMl0pKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHJ1bGUubWF0
Y2goW2RlZmluaXRpb25fbmFtZTIsIGRlZmluaXRpb25fbmFtZTNdKSkKKyAgICAgICAgc2VsZi5h
c3NlcnRGYWxzZShydWxlLm1hdGNoKFtkZWZpbml0aW9uX25hbWUzXSkpCisgICAgICAgIHNlbGYu
YXNzZXJ0VHJ1ZShydWxlLm1hdGNoKFtkZWZpbml0aW9uX25hbWUxLCBkZWZpbml0aW9uX25hbWUy
LCBkZWZpbml0aW9uX25hbWUzXSkpCisKKyAgICBkZWYgdGVzdF9jb21wbGV4X2RlZmluaXRpb25f
bm90KHNlbGYpOgorICAgICAgICBkZWZpbml0aW9uX25hbWUxID0gJ2RlZmluaXRpb24xJworICAg
ICAgICBkZWZpbml0aW9uX25hbWUyID0gJ2RlZmluaXRpb24yJworICAgICAgICBydWxlID0gV2F0
Y2hMaXN0UnVsZSgnIScgKyBkZWZpbml0aW9uX25hbWUxLCBbXSkKKyAgICAgICAgc2VsZi5hc3Nl
cnRGYWxzZShydWxlLm1hdGNoKFtkZWZpbml0aW9uX25hbWUxXSkpCisgICAgICAgIHNlbGYuYXNz
ZXJ0VHJ1ZShydWxlLm1hdGNoKFtkZWZpbml0aW9uX25hbWUyXSkpCisKKyAgICBkZWYgdGVzdF9j
b21wbGV4X2RlZmluaXRpb25fY29tYmluZWQoc2VsZik6CisgICAgICAgIGRlZmluaXRpb25fbmFt
ZTEgPSAnZGVmaW5pdGlvbjEnCisgICAgICAgIGRlZmluaXRpb25fbmFtZTIgPSAnZGVmaW5pdGlv
bjInCisgICAgICAgIGRlZmluaXRpb25fbmFtZTMgPSAnZGVmaW5pdGlvbjMnCisgICAgICAgIGRl
ZmluaXRpb25fbmFtZTQgPSAnZGVmaW5pdGlvbjQnCisgICAgICAgIHJ1bGUxID0gV2F0Y2hMaXN0
UnVsZShkZWZpbml0aW9uX25hbWUxICsgJyYhJyArIGRlZmluaXRpb25fbmFtZTIsIFtdKQorICAg
ICAgICBzZWxmLmFzc2VydEZhbHNlKHJ1bGUxLm1hdGNoKFtkZWZpbml0aW9uX25hbWUxLCBkZWZp
bml0aW9uX25hbWUyXSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UocnVsZTEubWF0Y2goW2Rl
ZmluaXRpb25fbmFtZTJdKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJ1bGUxLm1hdGNoKFtk
ZWZpbml0aW9uX25hbWUxXSkpCisgICAgICAgIHJ1bGUyID0gV2F0Y2hMaXN0UnVsZShkZWZpbml0
aW9uX25hbWUxICsgJ3wnICsgZGVmaW5pdGlvbl9uYW1lMiArICcmIScgKyBkZWZpbml0aW9uX25h
bWUzLCBbXSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShydWxlMi5tYXRjaChbZGVmaW5pdGlv
bl9uYW1lMiwgZGVmaW5pdGlvbl9uYW1lM10pKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHJ1
bGUyLm1hdGNoKFtkZWZpbml0aW9uX25hbWUzXSkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShy
dWxlMi5tYXRjaChbZGVmaW5pdGlvbl9uYW1lMV0pKQorICAgICAgICBzZWxmLmFzc2VydFRydWUo
cnVsZTIubWF0Y2goW2RlZmluaXRpb25fbmFtZTEsIGRlZmluaXRpb25fbmFtZTJdKSkKKyAgICAg
ICAgc2VsZi5hc3NlcnRUcnVlKHJ1bGUyLm1hdGNoKFtkZWZpbml0aW9uX25hbWUxLCBkZWZpbml0
aW9uX25hbWUyLCBkZWZpbml0aW9uX25hbWUzXSkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShy
dWxlMi5tYXRjaChbZGVmaW5pdGlvbl9uYW1lMSwgZGVmaW5pdGlvbl9uYW1lM10pKQorICAgICAg
ICBzZWxmLmFzc2VydFRydWUocnVsZTIubWF0Y2goW2RlZmluaXRpb25fbmFtZTJdKSkKKyAgICAg
ICAgcnVsZTMgPSBXYXRjaExpc3RSdWxlKGRlZmluaXRpb25fbmFtZTEgKyAnfCcgKyBkZWZpbml0
aW9uX25hbWUyICsgJyYhJyArIGRlZmluaXRpb25fbmFtZTMgKyAnfCEnICsgZGVmaW5pdGlvbl9u
YW1lNCwgW10pCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UocnVsZTMubWF0Y2goW2RlZmluaXRp
b25fbmFtZTIsIGRlZmluaXRpb25fbmFtZTMsIGRlZmluaXRpb25fbmFtZTRdKSkKKyAgICAgICAg
c2VsZi5hc3NlcnRGYWxzZShydWxlMy5tYXRjaChbZGVmaW5pdGlvbl9uYW1lMiwgZGVmaW5pdGlv
bl9uYW1lMywgZGVmaW5pdGlvbl9uYW1lNF0pKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHJ1
bGUzLm1hdGNoKFtkZWZpbml0aW9uX25hbWUzLCBkZWZpbml0aW9uX25hbWU0XSkpCisgICAgICAg
IHNlbGYuYXNzZXJ0RmFsc2UocnVsZTMubWF0Y2goW2RlZmluaXRpb25fbmFtZTMsIGRlZmluaXRp
b25fbmFtZTRdKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShydWxlMy5tYXRjaChbZGVmaW5p
dGlvbl9uYW1lNF0pKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocnVsZTMubWF0Y2goW2RlZmlu
aXRpb25fbmFtZTFdKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJ1bGUzLm1hdGNoKFtkZWZp
bml0aW9uX25hbWUxLCBkZWZpbml0aW9uX25hbWUyLCBkZWZpbml0aW9uX25hbWUzLCBkZWZpbml0
aW9uX25hbWU0XSkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShydWxlMy5tYXRjaChbZGVmaW5p
dGlvbl9uYW1lMSwgZGVmaW5pdGlvbl9uYW1lMiwgZGVmaW5pdGlvbl9uYW1lNF0pKQorICAgICAg
ICBzZWxmLmFzc2VydFRydWUocnVsZTMubWF0Y2goW2RlZmluaXRpb25fbmFtZTEsIGRlZmluaXRp
b25fbmFtZTMsIGRlZmluaXRpb25fbmFtZTRdKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJ1
bGUzLm1hdGNoKFtkZWZpbml0aW9uX25hbWUxLCBkZWZpbml0aW9uX25hbWU0XSkpCisgICAgICAg
IHNlbGYuYXNzZXJ0VHJ1ZShydWxlMy5tYXRjaChbZGVmaW5pdGlvbl9uYW1lMl0pKQorICAgICAg
ICBzZWxmLmFzc2VydFRydWUocnVsZTMubWF0Y2goW2RlZmluaXRpb25fbmFtZTIsIGRlZmluaXRp
b25fbmFtZTRdKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJ1bGUzLm1hdGNoKFtkZWZpbml0
aW9uX25hbWUyLCBkZWZpbml0aW9uX25hbWU0XSkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShy
dWxlMy5tYXRjaChbZGVmaW5pdGlvbl9uYW1lMiwgZGVmaW5pdGlvbl9uYW1lNF0pKQorICAgICAg
ICBzZWxmLmFzc2VydFRydWUocnVsZTMubWF0Y2goW2RlZmluaXRpb25fbmFtZTNdKSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>