<?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>227526</bug_id>
          
          <creation_ts>2021-06-30 07:45:17 -0700</creation_ts>
          <short_desc>[GTK] Pack header and .pc files in the built-product archive</short_desc>
          <delta_ts>2024-11-08 10:33:05 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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=227629</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=227935</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=227990</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=282842</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="Philippe Normand">pnormand</reporter>
          <assigned_to name="Philippe Normand">pnormand</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>clopez</cc>
    
    <cc>dpino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1773736</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-06-30 07:45:17 -0700</bug_when>
    <thetext>The motivation for this is to enable Epiphany Canary builds from the GNOME CI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773737</commentid>
    <comment_count>1</comment_count>
      <attachid>432592</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-06-30 07:51:00 -0700</bug_when>
    <thetext>Created attachment 432592
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774208</commentid>
    <comment_count>2</comment_count>
      <attachid>432592</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-07-01 12:16:33 -0700</bug_when>
    <thetext>Comment on attachment 432592
Patch

I wonder, can you install WebKit into an empty install prefix, and then just copy everything it installed? That seems much less fragile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774416</commentid>
    <comment_count>3</comment_count>
      <attachid>432775</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-07-02 03:54:10 -0700</bug_when>
    <thetext>Created attachment 432775
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774417</commentid>
    <comment_count>4</comment_count>
      <attachid>432776</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-07-02 04:06:24 -0700</bug_when>
    <thetext>Created attachment 432776
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774418</commentid>
    <comment_count>5</comment_count>
      <attachid>432777</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-07-02 04:09:45 -0700</bug_when>
    <thetext>Created attachment 432777
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774419</commentid>
    <comment_count>6</comment_count>
      <attachid>432778</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-07-02 04:19:00 -0700</bug_when>
    <thetext>Created attachment 432778
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774421</commentid>
    <comment_count>7</comment_count>
      <attachid>432780</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-07-02 04:28:22 -0700</bug_when>
    <thetext>Created attachment 432780
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774422</commentid>
    <comment_count>8</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-07-02 04:32:58 -0700</bug_when>
    <thetext>Aakash, the EWS fails because the new bot steps from the patch are not used (I think). How do you usually handle patches that change the EWS behavior?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774423</commentid>
    <comment_count>9</comment_count>
      <attachid>432780</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-07-02 04:39:45 -0700</bug_when>
    <thetext>Comment on attachment 432780
Patch

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

&gt; Tools/CISupport/built-product-archive:258
&gt; +            contents = [os.path.join(&apos;install&apos;, directory) for directory in [&apos;bin&apos;, &apos;include&apos;, &apos;lib&apos;, &apos;libexec&apos;]]

Ah, the extractBuiltProduct() will need to take this into account (moving install/* to $PWD)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774426</commentid>
    <comment_count>10</comment_count>
      <attachid>432781</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-07-02 05:38:56 -0700</bug_when>
    <thetext>Created attachment 432781
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774429</commentid>
    <comment_count>11</comment_count>
      <attachid>432782</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-07-02 05:42:52 -0700</bug_when>
    <thetext>Created attachment 432782
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774436</commentid>
    <comment_count>12</comment_count>
      <attachid>432782</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-07-02 06:20:43 -0700</bug_when>
    <thetext>Comment on attachment 432782
Patch

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

Nice, this looks a lot better than the original version of this patch.

&gt; Source/WebKit/gtk/webkit2gtk-web-extension.pc.in:5
&gt; +revision=@SVN_REVISION@

I think I would land these revision=@SVN_REVISION@ changes in a separate bug/patch since they&apos;re largely unrelated to the bulk of this patch. You can set r=me.

P.S. I guess you know this will break as soon as we switch to GitHub. ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774437</commentid>
    <comment_count>13</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-07-02 06:20:52 -0700</bug_when>
    <thetext>EWS looks green, but I suspect that if/when this lands it might require clean builds on the GTK fleet, because build-webkit might not regenerate properly the ninja defs based on the added --prefix option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774452</commentid>
    <comment_count>14</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-07-02 07:30:10 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #12)
&gt; Comment on attachment 432782 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=432782&amp;action=review
&gt; 
&gt; Nice, this looks a lot better than the original version of this patch.
&gt; 
&gt; &gt; Source/WebKit/gtk/webkit2gtk-web-extension.pc.in:5
&gt; &gt; +revision=@SVN_REVISION@
&gt; 
&gt; I think I would land these revision=@SVN_REVISION@ changes in a separate
&gt; bug/patch since they&apos;re largely unrelated to the bulk of this patch. You can
&gt; set r=me.
&gt; 
&gt; P.S. I guess you know this will break as soon as we switch to GitHub. ;)

SVN_REVISION is used in various places across the tree. I expect that the migration to GitHub will take this into account :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774471</commentid>
    <comment_count>15</comment_count>
      <attachid>432798</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-07-02 08:16:25 -0700</bug_when>
    <thetext>Created attachment 432798
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774473</commentid>
    <comment_count>16</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-07-02 08:17:36 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #13)
&gt; EWS looks green, but I suspect that if/when this lands it might require
&gt; clean builds on the GTK fleet, because build-webkit might not regenerate
&gt; properly the ninja defs based on the added --prefix option.

I&apos;d like to land this on Monday and have our QA folks around to help keep an eye on the bots for clean builds. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774764</commentid>
    <comment_count>17</comment_count>
      <attachid>432798</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-07-05 00:58:02 -0700</bug_when>
    <thetext>Comment on attachment 432798
Patch

I&apos;ve check the build should be OK, build-webkit detects the new argument and re-runs cmake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774765</commentid>
    <comment_count>18</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-05 01:25:18 -0700</bug_when>
    <thetext>Committed r279563 (239394@main): &lt;https://commits.webkit.org/239394@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 432798.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774766</commentid>
    <comment_count>19</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-05 01:26:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/80167129&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774800</commentid>
    <comment_count>20</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-07-05 07:02:31 -0700</bug_when>
    <thetext>Restarted buildbot on build.webkit.org and EWS to pick up this change.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432592</attachid>
            <date>2021-06-30 07:51:00 -0700</date>
            <delta_ts>2021-07-02 03:54:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227526-20210630075058.patch</filename>
            <type>text/plain</type>
            <size>9780</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NDEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
ZTQ2NjAzODc1ZWViOTFkYWU4YTg0NDMyZWMxNjIxZWMyOTFhN2Q4Li40OWE1YWE4YjdkNGQzM2Zj
ZWE0Zjc4NmZhNzUwYWI5NGJlNzQwYjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAyMS0wNi0zMCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS10gUGFjayBoZWFkZXIgYW5kIC5wYyBmaWxlcyBpbiB0aGUg
YnVpbHQtcHJvZHVjdCBhcmNoaXZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjc1MjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGphdmFzY3JpcHRjb3JlZ3RrLnBjLmluOiBJbmNsdWRlIFNWTl9SRVZJ
U0lPTiBhcyByZXZpc2lvbiB2YXJpYWJsZSwgdXNlZnVsIGZvciBhcHBzIHRvCisgICAgICAgIGtu
b3cgb24gd2hpY2ggdXBzdHJlYW0gU1ZOIHJldmlzaW9uIHRoZWlyIFdlYktpdEdUSy1iYXNlZCBh
cHAgaXMgYnVpbHQgb24uCisKIDIwMjEtMDYtMjkgIEpvb25naHVuIFBhcmsgIDxqaDcxOC5wYXJr
QHNhbXN1bmcuY29tPgogCiAgICAgICAgIFJlbW92ZSAiZnVuY3Rpb24gZGVjbGFyZWQg4oCYc3Rh
dGlj4oCZIGJ1dCBuZXZlciBkZWZpbmVkIiBidWlsZCB3YXJuaW5ncyBzaW5jZSByMjc4OTcxLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCBlZTRlMGYyMWEwZTY2ODMzZGRhOGQ2ZDYwNTE4YmZmMmIyNDU1MTgxLi40ZDg5
OTM1YWQ1YjljYWVjMDJkZGM2ODkxNmMyYmUyYmMwNDhkNGVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDIxLTA2LTMwICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNv
bT4KKworICAgICAgICBbR1RLXSBQYWNrIGhlYWRlciBhbmQgLnBjIGZpbGVzIGluIHRoZSBidWls
dC1wcm9kdWN0IGFyY2hpdmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNzUyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEluY2x1ZGUgU1ZOX1JFVklTSU9OIGFzIHJldmlzaW9uIHZhcmlhYmxlLCB1c2Vm
dWwgZm9yIGFwcHMgdG8ga25vdyBvbiB3aGljaCB1cHN0cmVhbSBTVk4KKyAgICAgICAgcmV2aXNp
b24gdGhlaXIgV2ViS2l0R1RLLWJhc2VkIGFwcCBpcyBidWlsdCBvbi4KKworICAgICAgICAqIGd0
ay93ZWJraXQyZ3RrLXdlYi1leHRlbnNpb24ucGMuaW46CisgICAgICAgICogZ3RrL3dlYmtpdDJn
dGsucGMuaW46CisKIDIwMjEtMDYtMzAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgogCiAgICAgICAgIFtDb2NvYV0gTWlncmF0ZSBXZWJSVEMgVURQIHNvY2tldCBoYW5kbGluZyB0
byBOVyBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qYXZhc2NyaXB0Y29y
ZWd0ay5wYy5pbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qYXZhc2NyaXB0Y29yZWd0ay5wYy5p
bgppbmRleCBjNDM0ZjkwMzg0MTZiMjIzZjVmMjIzOGYzMTc1ZDRkMTMwZjUxODI5Li41NTdmNzUy
ZGE4YTNjYWFlMmRhNDlmZjQyYzRjMjdmZjYxZWFkYzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvamF2YXNjcmlwdGNvcmVndGsucGMuaW4KKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2phdmFzY3JpcHRjb3JlZ3RrLnBjLmluCkBAIC0yLDYgKzIsNyBAQCBwcmVmaXg9QENN
QUtFX0lOU1RBTExfUFJFRklYQAogZXhlY19wcmVmaXg9JHtwcmVmaXh9CiBsaWJkaXI9QExJQl9J
TlNUQUxMX0RJUkAKIGluY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1ZGUKK3JldmlzaW9uPUBTVk5f
UkVWSVNJT05ACiAKIE5hbWU6IEphdmFTY3JpcHRDb3JlR1RLKwogRGVzY3JpcHRpb246IEdUSysg
dmVyc2lvbiBvZiB0aGUgSmF2YVNjcmlwdENvcmUgZW5naW5lCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2d0ay93ZWJraXQyZ3RrLXdlYi1leHRlbnNpb24ucGMuaW4gYi9Tb3VyY2UvV2ViS2l0
L2d0ay93ZWJraXQyZ3RrLXdlYi1leHRlbnNpb24ucGMuaW4KaW5kZXggNjhiMDMwYjY1OTU4ZDZl
MzUyY2VhMWUzNDkzYTM1MDE0NjRlMGQwMC4uMzA5NzExMzU5NTE2ZjY1MGUyM2ZkYTUxZjY1MDY5
OTBmOGQ1NDMxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0Mmd0ay13ZWIt
ZXh0ZW5zaW9uLnBjLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdDJndGstd2ViLWV4
dGVuc2lvbi5wYy5pbgpAQCAtMiw2ICsyLDcgQEAgcHJlZml4PUBDTUFLRV9JTlNUQUxMX1BSRUZJ
WEAKIGV4ZWNfcHJlZml4PSR7cHJlZml4fQogbGliZGlyPUBMSUJfSU5TVEFMTF9ESVJACiBpbmNs
dWRlZGlyPSR7cHJlZml4fS9pbmNsdWRlCityZXZpc2lvbj1AU1ZOX1JFVklTSU9OQAogCiBOYW1l
OiBXZWJLaXRHVEsgd2ViIHByb2Nlc3MgZXh0ZW5zaW9ucwogRGVzY3JpcHRpb246IFdlYiBjb250
ZW50IGVuZ2luZSBmb3IgR1RLIC0gd2ViIHByb2Nlc3MgZXh0ZW5zaW9ucwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ndGsvd2Via2l0Mmd0ay5wYy5pbiBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dl
YmtpdDJndGsucGMuaW4KaW5kZXggZTdjMGQ2MDFlMjYxZmM0OTA3YmFiODAzMWMzNTJlZGU2YThh
ZGY3ZC4uMGFkZWZhNWQ2NzRmNTA1ZWJkMDVjNjQ4NWE3Y2Q5NGQ4NzQyYTA3MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0Mmd0ay5wYy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
L2d0ay93ZWJraXQyZ3RrLnBjLmluCkBAIC0yLDYgKzIsNyBAQCBwcmVmaXg9QENNQUtFX0lOU1RB
TExfUFJFRklYQAogZXhlY19wcmVmaXg9JHtwcmVmaXh9CiBsaWJkaXI9QExJQl9JTlNUQUxMX0RJ
UkAKIGluY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1ZGUKK3JldmlzaW9uPUBTVk5fUkVWSVNJT05A
CiAKIE5hbWU6IFdlYktpdEdUSwogRGVzY3JpcHRpb246IFdlYiBjb250ZW50IGVuZ2luZSBmb3Ig
R1RLCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
ZWVjMjgwYWRmZDU2MGQ5YWY4MmY5MDAxNjkxZWZiMTFkMDAyNDMwMC4uYjU1NzE5Y2E3OWU5ZWQw
ZDcxNDNjZDJmYWQxY2M0ODdlOTg0YzkyNiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA2LTMwICBQaGlsaXBw
ZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBQYWNrIGhl
YWRlciBhbmQgLnBjIGZpbGVzIGluIHRoZSBidWlsdC1wcm9kdWN0IGFyY2hpdmUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzUyNgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBoZWFkZXIgZmlsZXMg
YW5kIHBrZy1jb25maWcgZmlsZXMgbmVlZGVkIHRvIGJ1aWxkIFdlYktpdEdUSyBhcHBzIGFyZSBu
b3cgaW5jbHVkZWQgaW4gdGhlCisgICAgICAgIGJ1aWx0IHByb2R1Y3QgemlwIGZpbGUuIEFzIHRo
ZXkncmUgdGV4dCBmaWxlcyB0aGUgaW1wYWN0IG9uIHRoZSB6aXAgc2l6ZSBzaG91bGQgbm90IGJl
CisgICAgICAgIHNpZ25pZmljYW50LgorCisgICAgICAgIEFkZGl0aW9uYWxseSB0aGUgLmEgKHBv
dGVudGlhbGx5IGJpZykgZmlsZXMgYXJlIG5vdyBleGNsdWRlZCBmcm9tIHRoZSB6aXAgYXJjaGl2
ZS4KKworICAgICAgICAqIENJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmU6CisKIDIwMjEt
MDYtMjkgIFpoaWZlaSBGYW5nICA8emhpZmVpX2ZhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIEFk
ZCBuZXcgYXJndW1lbnQgb2YgZGV2aWNlIG9zIHZlcnNpb24gZm9yIHJlcG9ydGluZyBKYXZhU2Ny
aXB0Q29yZSB0ZXN0IHJlc3VsdApkaWZmIC0tZ2l0IGEvVG9vbHMvQ0lTdXBwb3J0L2J1aWx0LXBy
b2R1Y3QtYXJjaGl2ZSBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmUKb2xk
IG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQppbmRleCA1ZWFlZWI5NGNhODZmM2ViM2IzMmNh
OTNiNmRhOTFkNTg4ZmYyNzI2Li5hNTliZmViMWQ3ZGFiZTA0ZjExZDFjNjEzMzVjNDQ5ZDE5NTAx
YjQzCi0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmUKKysrIGIvVG9v
bHMvQ0lTdXBwb3J0L2J1aWx0LXByb2R1Y3QtYXJjaGl2ZQpAQCAtMjYsNiArMjYsNyBAQAogCiBm
cm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uCiBpbXBvcnQgZXJybm8KK2ltcG9y
dCBnbG9iCiBpbXBvcnQgb3B0cGFyc2UKIGltcG9ydCBvcwogaW1wb3J0IHNodXRpbApAQCAtMTEw
LDcgKzExMSw3IEBAIGRlZiBjb3B5QnVpbGRGaWxlcyhzb3VyY2UsIGRlc3RpbmF0aW9uLCBwYXR0
ZXJucyk6CiAgICAgc2h1dGlsLmNvcHl0cmVlKHNvdXJjZSwgZGVzdGluYXRpb24sIGlnbm9yZT1z
aHV0aWwuaWdub3JlX3BhdHRlcm5zKCpwYXR0ZXJucykpCiAKIAotZGVmIGNyZWF0ZVppcEZyb21M
aXN0KGxpc3RUb1ppcCwgY29uZmlndXJhdGlvbiwgZXhjbHVkZVBhdHRlcm49Tm9uZSk6CitkZWYg
Y3JlYXRlWmlwRnJvbUxpc3QobGlzdFRvWmlwLCBjb25maWd1cmF0aW9uLCBleGNsdWRlUGF0dGVy
bnM9Tm9uZSk6CiAgICAgZ2xvYmFsIF90b3BMZXZlbEJ1aWxkRGlyZWN0b3J5CiAgICAgZ2xvYmFs
IF9jb25maWd1cmF0aW9uQnVpbGREaXJlY3RvcnkKICAgICBhcmNoaXZlRGlyID0gX3RvcExldmVs
QnVpbGREaXJlY3RvcnkKQEAgLTEyNCw4ICsxMjUsOSBAQCBkZWYgY3JlYXRlWmlwRnJvbUxpc3Qo
bGlzdFRvWmlwLCBjb25maWd1cmF0aW9uLCBleGNsdWRlUGF0dGVybj1Ob25lKToKIAogICAgIGlm
IHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCdsaW51eCcpOgogICAgICAgICB6aXBDb21tYW5kID0g
Wyd6aXAnLCAnLXknLCAnLXInLCBhcmNoaXZlRmlsZV0gKyBsaXN0VG9aaXAKLSAgICAgICAgaWYg
ZXhjbHVkZVBhdHRlcm46Ci0gICAgICAgICAgICB6aXBDb21tYW5kICs9IFsnLXgnLCBleGNsdWRl
UGF0dGVybl0KKyAgICAgICAgaWYgZXhjbHVkZVBhdHRlcm5zOgorICAgICAgICAgICAgZm9yIGV4
Y2x1ZGVQYXR0ZXJuIGluIGV4Y2x1ZGVQYXR0ZXJuczoKKyAgICAgICAgICAgICAgICB6aXBDb21t
YW5kICs9IFsnLXgnLCBleGNsdWRlUGF0dGVybl0KICAgICAgICAgcmV0dXJuIHN1YnByb2Nlc3Mu
Y2FsbCh6aXBDb21tYW5kLCBjd2Q9X2NvbmZpZ3VyYXRpb25CdWlsZERpcmVjdG9yeSkKIAogICAg
IHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoJ1Vuc3VwcG9ydGVkIHBsYXRmb3JtOiB7cGxhdGZv
cm19Jy5mb3JtYXQocGxhdGZvcm09c3lzLnBsYXRmb3JtKSkKQEAgLTI1MSwxMyArMjUzLDY2IEBA
IGRlZiBhcmNoaXZlQnVpbHRQcm9kdWN0KGNvbmZpZ3VyYXRpb24sIHBsYXRmb3JtLCBmdWxsUGxh
dGZvcm0sIG1pbmlmeT1GYWxzZSk6CiAgICAgICAgICAgICAgICAgaWYgZmlsZW5hbWUuc3RhcnRz
d2l0aCgnbGliY29nY29yZScpIG9yIGZpbGVuYW1lLnN0YXJ0c3dpdGgoJ2xpYmNvZ3BsYXRmb3Jt
Jyk6CiAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzLmFwcGVuZChvcy5wYXRoLmpvaW4oY29n
RGlyZWN0b3J5LCBmaWxlbmFtZSkpCiAKKyAgICAgICAgaWYgcGxhdGZvcm0gPT0gJ2d0ayc6Cisg
ICAgICAgICAgICBjb250ZW50cy5hcHBlbmQoImluY2x1ZGUiKQorCisgICAgICAgICAgICAjIFNl
ZSBPcHRpb25zR1RLLmNtYWtlCisgICAgICAgICAgICBhcGlfdmVyc2lvbiA9ICI0LjEiCisKKyAg
ICAgICAgICAgIHBhdGhfam9pbiA9IG9zLnBhdGguam9pbgorICAgICAgICAgICAgaW5jbHVkZV9k
aXJfcm9vdCA9IHBhdGhfam9pbihfY29uZmlndXJhdGlvbkJ1aWxkRGlyZWN0b3J5LCAiaW5jbHVk
ZSIsIGYid2Via2l0Z3RrLXthcGlfdmVyc2lvbn0iKQorICAgICAgICAgICAgZm9yIHN1Yl9kaXIg
aW4gKCJKYXZhU2NyaXB0Q29yZSIsICJqc2MiLCAid2Via2l0MiIsICJ3ZWJraXRkb20iKToKKyAg
ICAgICAgICAgICAgICBvcy5tYWtlZGlycyhwYXRoX2pvaW4oaW5jbHVkZV9kaXJfcm9vdCwgc3Vi
X2RpciksIGV4aXN0X29rPVRydWUpCisKKyAgICAgICAgICAgIHRvcF9sZXZlbF9kaXIgPSBvcy5w
YXRoLmFic3BhdGgocGF0aF9qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICIuLiIsICIu
LiIsICJTb3VyY2UiKSkKKyAgICAgICAgICAgIHdlYmtpdDJfZGlyID0gcGF0aF9qb2luKGluY2x1
ZGVfZGlyX3Jvb3QsICJ3ZWJraXQyIikKKyAgICAgICAgICAgIGFwaV9kaXIgPSBwYXRoX2pvaW4o
dG9wX2xldmVsX2RpciwgIldlYktpdCIsICJVSVByb2Nlc3MiLCAiQVBJIikKKyAgICAgICAgICAg
IGZvciBmaWxlbmFtZSBpbiBnbG9iLmdsb2IocGF0aF9qb2luKGFwaV9kaXIsICJndGsiLCAnd2Vi
a2l0Ki5oJykpOgorICAgICAgICAgICAgICAgIHNodXRpbC5jb3B5KGZpbGVuYW1lLCB3ZWJraXQy
X2RpcikKKyAgICAgICAgICAgIGZvciBmaWxlbmFtZSBpbiBnbG9iLmdsb2IocGF0aF9qb2luKGFw
aV9kaXIsICJndGsiLCAnV2ViS2l0Ki5oJykpOgorICAgICAgICAgICAgICAgIHNodXRpbC5jb3B5
KGZpbGVuYW1lLCB3ZWJraXQyX2RpcikKKyAgICAgICAgICAgIGZvciBmaWxlbmFtZSBpbiBnbG9i
Lmdsb2IocGF0aF9qb2luKGFwaV9kaXIsICJndGszIiwgJyouaCcpKToKKyAgICAgICAgICAgICAg
ICBzaHV0aWwuY29weShmaWxlbmFtZSwgd2Via2l0Ml9kaXIpCisgICAgICAgICAgICBmb3IgZmls
ZW5hbWUgaW4gZ2xvYi5nbG9iKHBhdGhfam9pbihfY29uZmlndXJhdGlvbkJ1aWxkRGlyZWN0b3J5
LCAiV2ViS2l0Mkd0ayIsICJEZXJpdmVkU291cmNlcyIsICJ3ZWJraXQyIiwgJyouaCcpKToKKyAg
ICAgICAgICAgICAgICBzaHV0aWwuY29weShmaWxlbmFtZSwgd2Via2l0Ml9kaXIpCisKKyAgICAg
ICAgICAgIHdlYmtpdGRvbV9kaXIgPSBwYXRoX2pvaW4oaW5jbHVkZV9kaXJfcm9vdCwgIndlYmtp
dGRvbSIpCisgICAgICAgICAgICBpbmplY3RlZF9idW5kbGVfZGlyID0gcGF0aF9qb2luKHRvcF9s
ZXZlbF9kaXIsICJXZWJLaXQiLCAiV2ViUHJvY2VzcyIsICJJbmplY3RlZEJ1bmRsZSIsICJBUEki
KQorICAgICAgICAgICAgZm9yIGZpbGVuYW1lIGluIGdsb2IuZ2xvYihwYXRoX2pvaW4oaW5qZWN0
ZWRfYnVuZGxlX2RpciwgImd0ayIsICJET00iLCAnd2Via2l0Ki5oJykpOgorICAgICAgICAgICAg
ICAgIHNodXRpbC5jb3B5KGZpbGVuYW1lLCB3ZWJraXRkb21fZGlyKQorICAgICAgICAgICAgZm9y
IGZpbGVuYW1lIGluIGdsb2IuZ2xvYihwYXRoX2pvaW4oaW5qZWN0ZWRfYnVuZGxlX2RpciwgImd0
ayIsICJET00iLCAnV2ViS2l0Ki5oJykpOgorICAgICAgICAgICAgICAgIGlmIG5vdCBmaWxlbmFt
ZS5lbmRzd2l0aCgiUHJpdmF0ZS5oIik6CisgICAgICAgICAgICAgICAgICAgIHNodXRpbC5jb3B5
KGZpbGVuYW1lLCB3ZWJraXRkb21fZGlyKQorICAgICAgICAgICAgZm9yIGZpbGVuYW1lIGluIGds
b2IuZ2xvYihwYXRoX2pvaW4oaW5qZWN0ZWRfYnVuZGxlX2RpciwgImd0ayIsICcqLmgnKSk6Cisg
ICAgICAgICAgICAgICAgc2h1dGlsLmNvcHkoZmlsZW5hbWUsIHdlYmtpdDJfZGlyKQorCisgICAg
ICAgICAgICBqc2NfZGlyID0gcGF0aF9qb2luKGluY2x1ZGVfZGlyX3Jvb3QsICJqc2MiKQorICAg
ICAgICAgICAganNjX3NyY19kaXIgPSBwYXRoX2pvaW4odG9wX2xldmVsX2RpciwgIkphdmFTY3Jp
cHRDb3JlIiwgIkFQSSIsICJnbGliIikKKyAgICAgICAgICAgIHNodXRpbC5jb3B5KHBhdGhfam9p
bihqc2Nfc3JjX2RpciwgImpzYy5oIiksIGpzY19kaXIpCisgICAgICAgICAgICBmb3IgZmlsZW5h
bWUgaW4gZ2xvYi5nbG9iKHBhdGhfam9pbihqc2Nfc3JjX2RpciwgJ0pTQyouaCcpKToKKyAgICAg
ICAgICAgICAgICBzaHV0aWwuY29weShmaWxlbmFtZSwganNjX2RpcikKKyAgICAgICAgICAgIGZv
ciBmaWxlbmFtZSBpbiBnbG9iLmdsb2IocGF0aF9qb2luKF9jb25maWd1cmF0aW9uQnVpbGREaXJl
Y3RvcnksICJKYXZhU2NyaXB0Q29yZUdMaWIiLCAiRGVyaXZlZFNvdXJjZXMiLCAianNjIiwgJyou
aCcpKToKKyAgICAgICAgICAgICAgICBzaHV0aWwuY29weShmaWxlbmFtZSwganNjX2RpcikKKwor
ICAgICAgICAgICAganNjX2RpcjIgPSBwYXRoX2pvaW4oaW5jbHVkZV9kaXJfcm9vdCwgIkphdmFT
Y3JpcHRDb3JlIikKKyAgICAgICAgICAgIGZvciBmaWxlbmFtZSBpbiBnbG9iLmdsb2IocGF0aF9q
b2luKF9jb25maWd1cmF0aW9uQnVpbGREaXJlY3RvcnksICJKYXZhU2NyaXB0Q29yZSIsICJIZWFk
ZXJzIiwgIkphdmFTY3JpcHRDb3JlIiwgJyouaCcpKToKKyAgICAgICAgICAgICAgICBzaHV0aWwu
Y29weShmaWxlbmFtZSwganNjX2RpcjIpCisKKyAgICAgICAgICAgIHBrZ19jb25maWdfZGlyID0g
cGF0aF9qb2luKF9jb25maWd1cmF0aW9uQnVpbGREaXJlY3RvcnksICJsaWIiLCAicGtnY29uZmln
IikKKyAgICAgICAgICAgIHBrZ19jb25maWdfc3JjX2RpciA9IHBhdGhfam9pbihfY29uZmlndXJh
dGlvbkJ1aWxkRGlyZWN0b3J5LCAiU291cmNlIikKKyAgICAgICAgICAgIG9zLm1ha2VkaXJzKHBr
Z19jb25maWdfZGlyLCBleGlzdF9vaz1UcnVlKQorICAgICAgICAgICAgc2h1dGlsLmNvcHkocGF0
aF9qb2luKHBrZ19jb25maWdfc3JjX2RpciwgIldlYktpdCIsIGYid2Via2l0Mmd0ay17YXBpX3Zl
cnNpb259LnBjIiksIHBrZ19jb25maWdfZGlyKQorICAgICAgICAgICAgc2h1dGlsLmNvcHkocGF0
aF9qb2luKHBrZ19jb25maWdfc3JjX2RpciwgIldlYktpdCIsIGYid2Via2l0Mmd0ay13ZWItZXh0
ZW5zaW9uLXthcGlfdmVyc2lvbn0ucGMiKSwgcGtnX2NvbmZpZ19kaXIpCisgICAgICAgICAgICBz
aHV0aWwuY29weShwYXRoX2pvaW4ocGtnX2NvbmZpZ19zcmNfZGlyLCAiSmF2YVNjcmlwdENvcmUi
LCBmImphdmFzY3JpcHRjb3JlZ3RrLXthcGlfdmVyc2lvbn0ucGMiKSwgcGtnX2NvbmZpZ19kaXIp
CisKKwogICAgICAgICAjIFdoZW4gZGVidWcgZmlzc2lvbiBpcyBlbmFibGVkIHRoZSBkaXJlY3Rv
cmllcyBiZWxvdyBjb250YWluIGR3byBmaWxlcwogICAgICAgICAjIHdpdGggdGhlIGRlYnVnIGlu
Zm9ybWF0aW9uIG5lZWRlZCB0byBnZW5lcmF0ZSBiYWNrdHJhY2VzIHdpdGggR0RCLgogICAgICAg
ICBmb3Igb2JqZWN0RGlyIGluIFsnVG9vbHMnLCAnU291cmNlJ106CiAgICAgICAgICAgICBpZiBk
aXJDb250YWluc2R3byhvYmplY3REaXIpOgogICAgICAgICAgICAgICAgIGNvbnRlbnRzLmFwcGVu
ZChvYmplY3REaXIpCiAKLSAgICAgICAgaWYgY3JlYXRlWmlwRnJvbUxpc3QoY29udGVudHMsIGNv
bmZpZ3VyYXRpb24sIGV4Y2x1ZGVQYXR0ZXJuPScqLm8nKToKKyAgICAgICAgaWYgY3JlYXRlWmlw
RnJvbUxpc3QoY29udGVudHMsIGNvbmZpZ3VyYXRpb24sIGV4Y2x1ZGVQYXR0ZXJucz1bJyoubycs
ICcqLmEnXSk6CiAgICAgICAgICAgICByZXR1cm4gMQogCiBkZWYgdW56aXBBcmNoaXZlKGRpcmVj
dG9yeVRvRXh0cmFjdFRvLCBjb25maWd1cmF0aW9uKToK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432775</attachid>
            <date>2021-07-02 03:54:10 -0700</date>
            <delta_ts>2021-07-02 04:06:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227526-20210702035409.patch</filename>
            <type>text/plain</type>
            <size>13853</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
YzFlN2YxZDFlNTM3MWVhNjA5NTFiZGI4NzNkOTM5NWQ0MzQ0YWQ0Li5mMTIzZjczYmFhNGQ2ZDBh
ZjdiYzc3OTQzYWNlMDhjZDc3MDI3NmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAyMS0wNy0wMiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS10gUGFjayBoZWFkZXIgYW5kIC5wYyBmaWxlcyBpbiB0aGUg
YnVpbHQtcHJvZHVjdCBhcmNoaXZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjc1MjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGphdmFzY3JpcHRjb3JlZ3RrLnBjLmluOiBJbmNsdWRlIFNWTl9SRVZJ
U0lPTiBhcyByZXZpc2lvbiB2YXJpYWJsZSwgdXNlZnVsIGZvciBhcHBzIHRvCisgICAgICAgIGtu
b3cgb24gd2hpY2ggdXBzdHJlYW0gU1ZOIHJldmlzaW9uIHRoZWlyIFdlYktpdEdUSy1iYXNlZCBh
cHAgaXMgYnVpbHQgb24uCisKIDIwMjEtMDctMDEgIFlpamlhIEh1YW5nICA8eWlqaWFfaHVhbmdA
YXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2FyeSBjYW5CZUludGVybmFsIGlu
dm9jYXRpb25zIHRvIG1pdGlnYXRlIHRoZSBjb3N0IG9mIHBvdGVudGlhbCB1bm1hdGNoZWQgcGF0
dGVybnMgaW4gQjNMb3dlclRvQWlyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDhlMjJhYjNhZjQyNzZkNjFjMzRhMWVl
MTQ5YzRhZTRkOGU4MGMyNDcuLmJlNGQ1NzhjMmZjMWQ4N2NlYjJhNjYzODI0Y2I2ZGUzNTE4Yjgy
MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDctMDIgIFBoaWxpcHBlIE5vcm1h
bmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFBhY2sgaGVhZGVyIGFu
ZCAucGMgZmlsZXMgaW4gdGhlIGJ1aWx0LXByb2R1Y3QgYXJjaGl2ZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3NTI2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5jbHVkZSBTVk5fUkVWSVNJT04gYXMg
cmV2aXNpb24gdmFyaWFibGUsIHVzZWZ1bCBmb3IgYXBwcyB0byBrbm93IG9uIHdoaWNoIHVwc3Ry
ZWFtIFNWTgorICAgICAgICByZXZpc2lvbiB0aGVpciBXZWJLaXRHVEstYmFzZWQgYXBwIGlzIGJ1
aWx0IG9uLgorCisgICAgICAgICogZ3RrL3dlYmtpdDJndGstd2ViLWV4dGVuc2lvbi5wYy5pbjoK
KyAgICAgICAgKiBndGsvd2Via2l0Mmd0ay5wYy5pbjoKKwogMjAyMS0wNy0wMSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFttYWNPU10gU3VzcGVuZCBXZWJQcm9j
ZXNzZXMgdGhhdCBhcmUgaW4gdGhlIHByb2Nlc3MgY2FjaGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qYXZhc2NyaXB0Y29yZWd0ay5wYy5pbiBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qYXZhc2NyaXB0Y29yZWd0ay5wYy5pbgppbmRleCBjNDM0ZjkwMzg0MTZiMjIzZjVmMjIz
OGYzMTc1ZDRkMTMwZjUxODI5Li41NTdmNzUyZGE4YTNjYWFlMmRhNDlmZjQyYzRjMjdmZjYxZWFk
YzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvamF2YXNjcmlwdGNvcmVndGsu
cGMuaW4KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2phdmFzY3JpcHRjb3JlZ3RrLnBjLmlu
CkBAIC0yLDYgKzIsNyBAQCBwcmVmaXg9QENNQUtFX0lOU1RBTExfUFJFRklYQAogZXhlY19wcmVm
aXg9JHtwcmVmaXh9CiBsaWJkaXI9QExJQl9JTlNUQUxMX0RJUkAKIGluY2x1ZGVkaXI9JHtwcmVm
aXh9L2luY2x1ZGUKK3JldmlzaW9uPUBTVk5fUkVWSVNJT05ACiAKIE5hbWU6IEphdmFTY3JpcHRD
b3JlR1RLKwogRGVzY3JpcHRpb246IEdUSysgdmVyc2lvbiBvZiB0aGUgSmF2YVNjcmlwdENvcmUg
ZW5naW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQyZ3RrLXdlYi1leHRl
bnNpb24ucGMuaW4gYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQyZ3RrLXdlYi1leHRlbnNpb24u
cGMuaW4KaW5kZXggNjhiMDMwYjY1OTU4ZDZlMzUyY2VhMWUzNDkzYTM1MDE0NjRlMGQwMC4uMzA5
NzExMzU5NTE2ZjY1MGUyM2ZkYTUxZjY1MDY5OTBmOGQ1NDMxOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9ndGsvd2Via2l0Mmd0ay13ZWItZXh0ZW5zaW9uLnBjLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZ3RrL3dlYmtpdDJndGstd2ViLWV4dGVuc2lvbi5wYy5pbgpAQCAtMiw2ICsyLDcgQEAg
cHJlZml4PUBDTUFLRV9JTlNUQUxMX1BSRUZJWEAKIGV4ZWNfcHJlZml4PSR7cHJlZml4fQogbGli
ZGlyPUBMSUJfSU5TVEFMTF9ESVJACiBpbmNsdWRlZGlyPSR7cHJlZml4fS9pbmNsdWRlCityZXZp
c2lvbj1AU1ZOX1JFVklTSU9OQAogCiBOYW1lOiBXZWJLaXRHVEsgd2ViIHByb2Nlc3MgZXh0ZW5z
aW9ucwogRGVzY3JpcHRpb246IFdlYiBjb250ZW50IGVuZ2luZSBmb3IgR1RLIC0gd2ViIHByb2Nl
c3MgZXh0ZW5zaW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0Mmd0ay5w
Yy5pbiBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdDJndGsucGMuaW4KaW5kZXggZTdjMGQ2MDFl
MjYxZmM0OTA3YmFiODAzMWMzNTJlZGU2YThhZGY3ZC4uMGFkZWZhNWQ2NzRmNTA1ZWJkMDVjNjQ4
NWE3Y2Q5NGQ4NzQyYTA3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0Mmd0
ay5wYy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQyZ3RrLnBjLmluCkBAIC0yLDYg
KzIsNyBAQCBwcmVmaXg9QENNQUtFX0lOU1RBTExfUFJFRklYQAogZXhlY19wcmVmaXg9JHtwcmVm
aXh9CiBsaWJkaXI9QExJQl9JTlNUQUxMX0RJUkAKIGluY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1
ZGUKK3JldmlzaW9uPUBTVk5fUkVWSVNJT05ACiAKIE5hbWU6IFdlYktpdEdUSwogRGVzY3JpcHRp
b246IFdlYiBjb250ZW50IGVuZ2luZSBmb3IgR1RLCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjk3Mzg5Yzg0ZjU3NjVhNGUxNDYzMTY2MzAwM2Fj
ODkzYjE4NTYzNS4uNGEyYjIwYzM2OTdjOWNjOThjOWExYmVkNWIwZjRiZDM2M2I1MjVkYyAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI5IEBACisyMDIxLTA3LTAyICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNv
bT4KKworICAgICAgICBbR1RLXSBQYWNrIGhlYWRlciBhbmQgLnBjIGZpbGVzIGluIHRoZSBidWls
dC1wcm9kdWN0IGFyY2hpdmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNzUyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSBoZWFkZXIgZmlsZXMgYW5kIHBrZy1jb25maWcgZmlsZXMgbmVlZGVkIHRv
IGJ1aWxkIFdlYktpdEdUSyBhcHBzIGFyZSBub3cgaW5jbHVkZWQgaW4gdGhlCisgICAgICAgIGJ1
aWx0IHByb2R1Y3QgemlwIGZpbGUuIEFzIHRoZXkncmUgdGV4dCBmaWxlcyB0aGUgaW1wYWN0IG9u
IHRoZSB6aXAgc2l6ZSBzaG91bGQgbm90IGJlCisgICAgICAgIHNpZ25pZmljYW50LiBJbiBvcmRl
ciB0byBzdXBwb3J0IHRoaXMsIHR3byBjaGFuZ2VzIGFyZSBpbnRyb2R1Y2VkIGZvciB0aGUgR1RL
IGJ1aWxkIGJvdDoKKworICAgICAgICAtIGJ1aWxkLXdlYmtpdCBpcyBub3cgY2FsbGVkIHdpdGgg
YSAtLXByZWZpeCBvcHRpb24KKyAgICAgICAgLSBhIG5ldyBidWlsZCBzdGVwIGhhcyBiZWVuIGFk
ZGVkLCB3aGljaCBpbnN0YWxscyB0aGUgYnVpbHQgZmlsZXMgaW4gdGhlIGdpdmVuIHByZWZpeCBk
aXJlY3RvcnkKKworICAgICAgICBUaGVuIGJ1aWx0LXByb2R1Y3QtYXJjaGl2ZSBjYW4gc2ltcGx5
IHBhY2sgZmlsZXMgZnJvbSB0aGUgaW5zdGFsbCBwcmVmaXggZGlyZWN0b3J5LgorCisgICAgICAg
IEFkZGl0aW9uYWxseSB0aGUgLmEgKHBvdGVudGlhbGx5IGJpZykgZmlsZXMgYXJlIG5vdyBleGNs
dWRlZCBmcm9tIHRoZSB6aXAgYXJjaGl2ZS4KKworICAgICAgICAqIENJU3VwcG9ydC9idWlsZC13
ZWJraXQtb3JnL2ZhY3Rvcmllcy5weToKKyAgICAgICAgKEJ1aWxkRmFjdG9yeS5fX2luaXRfXyk6
CisgICAgICAgICogQ0lTdXBwb3J0L2J1aWxkLXdlYmtpdC1vcmcvc3RlcHMucHk6CisgICAgICAg
IChDb21waWxlV2ViS2l0LnN0YXJ0KToKKyAgICAgICAgKEluc3RhbGxCdWlsdFByb2R1Y3QpOgor
ICAgICAgICAqIENJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmU6CisgICAgICAgICogU2Ny
aXB0cy9pbnN0YWxsLWJ1aWx0LXByb2R1Y3Q6IEFkZGVkLgorCiAyMDIxLTA3LTAyICBYYWJpZXIg
Um9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10g
bWVkaWEvZXZlbnQtYXR0cmlidXRlcy5odG1sIGZhaWxzIGlmIG1peGVyIGlzIG5vdCBhdCAxMDAl
CmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9mYWN0b3JpZXMu
cHkgYi9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9mYWN0b3JpZXMucHkKaW5kZXgg
NzliM2ZmODYzNzY0ZjdjNTJjODQwYTFkNjQ5YTg1NmIyNDQ5Y2EzNC4uMjA1MzkzOGM4MmZkMzJm
NzA3Y2U4ZmE1NjgxYWRkODBmYjI3ZmE0YyAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2J1
aWxkLXdlYmtpdC1vcmcvZmFjdG9yaWVzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13
ZWJraXQtb3JnL2ZhY3Rvcmllcy5weQpAQCAtNjMsNiArNjMsOSBAQCBjbGFzcyBCdWlsZEZhY3Rv
cnkoRmFjdG9yeSk6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoR2VuZXJhdGVNaW5pQnJvd3Nl
ckJ1bmRsZSgpKQogCiAgICAgICAgIGlmIHRyaWdnZXJzOgorICAgICAgICAgICAgaWYgc2VsZi5w
bGF0Zm9ybSA9PSAiZ3RrIjoKKyAgICAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoSW5zdGFsbEJ1
aWx0UHJvZHVjdCgpKQorCiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoQXJjaGl2ZUJ1aWx0UHJv
ZHVjdCgpKQogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKFVwbG9hZEJ1aWx0UHJvZHVjdCgpKQog
ICAgICAgICAgICAgaWYgcGxhdGZvcm0uc3RhcnRzd2l0aCgnbWFjJykgb3IgcGxhdGZvcm0uc3Rh
cnRzd2l0aCgnaW9zLXNpbXVsYXRvcicpIG9yIHBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3R2b3Mtc2lt
dWxhdG9yJykgb3IgcGxhdGZvcm0uc3RhcnRzd2l0aCgnd2F0Y2hvcy1zaW11bGF0b3InKToKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzLnB5IGIvVG9v
bHMvQ0lTdXBwb3J0L2J1aWxkLXdlYmtpdC1vcmcvc3RlcHMucHkKaW5kZXggYmVjMDU3MDA1ZWUz
NjM0NjI3ZDhiODA4NWZlZGI2NzZhZmFhYzMwZC4uMDE0Nzk3ZGQzMDllZDI5MGJjMzJkN2ZiZjU5
YjA2N2U4Y2Q5MWRhZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2J1aWxkLXdlYmtpdC1v
cmcvc3RlcHMucHkKKysrIGIvVG9vbHMvQ0lTdXBwb3J0L2J1aWxkLXdlYmtpdC1vcmcvc3RlcHMu
cHkKQEAgLTI4OSw2ICsyODksOSBAQCBjbGFzcyBDb21waWxlV2ViS2l0KHNoZWxsLkNvbXBpbGUp
OgogICAgICAgICAgICAgIyB0aGlzIG11Y2ggZmFzdGVyIHRoYW4gZnVsbCBkZWJ1ZyBpbmZvLCBh
bmQgY3Jhc2ggbG9ncyBzdGlsbCBoYXZlIGxpbmUgbnVtYmVycy4KICAgICAgICAgICAgIHNlbGYu
c2V0Q29tbWFuZChzZWxmLmNvbW1hbmQgKyBbJ0RFQlVHX0lORk9STUFUSU9OX0ZPUk1BVD1kd2Fy
Zi13aXRoLWRzeW0nXSkKICAgICAgICAgICAgIHNlbGYuc2V0Q29tbWFuZChzZWxmLmNvbW1hbmQg
KyBbJ0NMQU5HX0RFQlVHX0lORk9STUFUSU9OX0xFVkVMPWxpbmUtdGFibGVzLW9ubHknXSkKKyAg
ICAgICAgaWYgcGxhdGZvcm0gPT0gJ2d0ayc6CisgICAgICAgICAgICBwcmVmaXggPSBvcy5wYXRo
LmpvaW4oIi9hcHAiLCAid2Via2l0IiwgIldlYktpdEJ1aWxkIiwgc2VsZi5nZXRQcm9wZXJ0eSgi
Y29uZmlndXJhdGlvbiIpLCAiaW5zdGFsbCIpCisgICAgICAgICAgICBzZWxmLnNldENvbW1hbmQo
c2VsZi5jb21tYW5kICsgW2YnLS1wcmVmaXg9e3ByZWZpeH0nXSkKIAogICAgICAgICBhcHBlbmRD
dXN0b21CdWlsZEZsYWdzKHNlbGYsIHBsYXRmb3JtLCBzZWxmLmdldFByb3BlcnR5KCdmdWxsUGxh
dGZvcm0nKSkKIApAQCAtMzIxLDYgKzMyNCwxMCBAQCBjbGFzcyBDb21waWxlSlNDT25seShDb21w
aWxlV2ViS2l0KToKICAgICBjb21tYW5kID0gWyJwZXJsIiwgIi4vVG9vbHMvU2NyaXB0cy9idWls
ZC1qc2MiLCBXaXRoUHJvcGVydGllcygiLS0lKGNvbmZpZ3VyYXRpb24pcyIpXQogCiAKK2NsYXNz
IEluc3RhbGxCdWlsdFByb2R1Y3Qoc2hlbGwuU2hlbGxDb21tYW5kKToKKyAgICBjb21tYW5kID0g
WyJweXRob24zIiwgIlRvb2xzL1NjcmlwdHMvaW5zdGFsbC1idWlsdC1wcm9kdWN0IiwKKyAgICAg
ICAgICAgICAgIFdpdGhQcm9wZXJ0aWVzKCItLXBsYXRmb3JtPSUoZnVsbFBsYXRmb3JtKXMiKSwg
V2l0aFByb3BlcnRpZXMoIi0tJShjb25maWd1cmF0aW9uKXMiKV0KKwogY2xhc3MgQXJjaGl2ZUJ1
aWx0UHJvZHVjdChzaGVsbC5TaGVsbENvbW1hbmQpOgogICAgIGNvbW1hbmQgPSBbInB5dGhvbjMi
LCAiVG9vbHMvQ0lTdXBwb3J0L2J1aWx0LXByb2R1Y3QtYXJjaGl2ZSIsCiAgICAgICAgICAgICAg
ICBXaXRoUHJvcGVydGllcygiLS1wbGF0Zm9ybT0lKGZ1bGxQbGF0Zm9ybSlzIiksIFdpdGhQcm9w
ZXJ0aWVzKCItLSUoY29uZmlndXJhdGlvbilzIiksICJhcmNoaXZlIl0KZGlmZiAtLWdpdCBhL1Rv
b2xzL0NJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmUgYi9Ub29scy9DSVN1cHBvcnQvYnVp
bHQtcHJvZHVjdC1hcmNoaXZlCm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKaW5kZXgg
ZDE1M2MwMzQwZmEyY2RjMTAzYTZmNmVjNzFmNDdkZTNjNDE2NmI5Ni4uOGJkYmZhZGFhNGYwN2Q2
YmJlOWM1YjljM2IzZTQ0MWJkY2I5ZjU1MQotLS0gYS9Ub29scy9DSVN1cHBvcnQvYnVpbHQtcHJv
ZHVjdC1hcmNoaXZlCisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmUK
QEAgLTExMCw3ICsxMTAsNyBAQCBkZWYgY29weUJ1aWxkRmlsZXMoc291cmNlLCBkZXN0aW5hdGlv
biwgcGF0dGVybnMpOgogICAgIHNodXRpbC5jb3B5dHJlZShzb3VyY2UsIGRlc3RpbmF0aW9uLCBp
Z25vcmU9c2h1dGlsLmlnbm9yZV9wYXR0ZXJucygqcGF0dGVybnMpKQogCiAKLWRlZiBjcmVhdGVa
aXBGcm9tTGlzdChsaXN0VG9aaXAsIGNvbmZpZ3VyYXRpb24sIGV4Y2x1ZGVQYXR0ZXJuPU5vbmUp
OgorZGVmIGNyZWF0ZVppcEZyb21MaXN0KGxpc3RUb1ppcCwgY29uZmlndXJhdGlvbiwgZXhjbHVk
ZVBhdHRlcm5zPU5vbmUpOgogICAgIGdsb2JhbCBfdG9wTGV2ZWxCdWlsZERpcmVjdG9yeQogICAg
IGdsb2JhbCBfY29uZmlndXJhdGlvbkJ1aWxkRGlyZWN0b3J5CiAgICAgYXJjaGl2ZURpciA9IF90
b3BMZXZlbEJ1aWxkRGlyZWN0b3J5CkBAIC0xMjQsOCArMTI0LDkgQEAgZGVmIGNyZWF0ZVppcEZy
b21MaXN0KGxpc3RUb1ppcCwgY29uZmlndXJhdGlvbiwgZXhjbHVkZVBhdHRlcm49Tm9uZSk6CiAK
ICAgICBpZiBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnbGludXgnKToKICAgICAgICAgemlwQ29t
bWFuZCA9IFsnemlwJywgJy15JywgJy1yJywgYXJjaGl2ZUZpbGVdICsgbGlzdFRvWmlwCi0gICAg
ICAgIGlmIGV4Y2x1ZGVQYXR0ZXJuOgotICAgICAgICAgICAgemlwQ29tbWFuZCArPSBbJy14Jywg
ZXhjbHVkZVBhdHRlcm5dCisgICAgICAgIGlmIGV4Y2x1ZGVQYXR0ZXJuczoKKyAgICAgICAgICAg
IGZvciBleGNsdWRlUGF0dGVybiBpbiBleGNsdWRlUGF0dGVybnM6CisgICAgICAgICAgICAgICAg
emlwQ29tbWFuZCArPSBbJy14JywgZXhjbHVkZVBhdHRlcm5dCiAgICAgICAgIHJldHVybiBzdWJw
cm9jZXNzLmNhbGwoemlwQ29tbWFuZCwgY3dkPV9jb25maWd1cmF0aW9uQnVpbGREaXJlY3Rvcnkp
CiAKICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCdVbnN1cHBvcnRlZCBwbGF0Zm9ybTog
e3BsYXRmb3JtfScuZm9ybWF0KHBsYXRmb3JtPXN5cy5wbGF0Zm9ybSkpCkBAIC0yNDAsMjQgKzI0
MSwyOSBAQCBkZWYgYXJjaGl2ZUJ1aWx0UHJvZHVjdChjb25maWd1cmF0aW9uLCBwbGF0Zm9ybSwg
ZnVsbFBsYXRmb3JtLCBtaW5pZnk9RmFsc2UpOgogICAgICAgICAjIE9uIEdUSysvV1BFL0pTQyB3
ZSBkb24ndCBuZWVkIHRoZSBpbnRlcm1lZGlhdGUgc3RlcCBvZiBjcmVhdGluZyBhIHRoaW5EaXJl
Y3RvcnkKICAgICAgICAgIyB0byBiZSBjb21wcmVzc2VkIGluIGEgWklQIGZpbGUsIGJlY2F1c2Ug
d2UgY2FuIGNyZWF0ZSB0aGUgWklQIGRpcmVjdGx5LgogICAgICAgICAjIFRoaXMgaXMgZmFzdGVy
IGFuZCByZXF1aXJlcyBsZXNzIGRpc2sgcmVzb3VyY2VzLgotICAgICAgICBjb250ZW50cyA9IFsn
YmluJywgJ2xpYiddCi0KLSAgICAgICAgIyBGb3IgV1BFIHBhY2sgdGhlIENvZyBicm93c2VyIGFz
IHdlbGwgaWYgaXQncyBwcmVzZW50LgotICAgICAgICBjb2dEaXJlY3RvcnkgPSBvcy5wYXRoLmpv
aW4oJ1Rvb2xzJywgJ2NvZy1wcmVmaXgnLCAnc3JjJywgJ2NvZy1idWlsZCcpCi0gICAgICAgIGFi
c29sdXRlQ29nRGlyZWN0b3J5ID0gb3MucGF0aC5qb2luKF9jb25maWd1cmF0aW9uQnVpbGREaXJl
Y3RvcnksIGNvZ0RpcmVjdG9yeSkKLSAgICAgICAgaWYgcGxhdGZvcm0gPT0gJ3dwZScgYW5kIG9z
LnBhdGguaXNkaXIoYWJzb2x1dGVDb2dEaXJlY3RvcnkpOgotICAgICAgICAgICAgY29udGVudHMu
ZXh0ZW5kKFtvcy5wYXRoLmpvaW4oY29nRGlyZWN0b3J5LCBmaWxlbmFtZV9vcl9kaXJlY3Rvcnkp
IGZvciBmaWxlbmFtZV9vcl9kaXJlY3RvcnkgaW4gWydjb2cnLCAnY29nY3RsJywgJ21vZHVsZXMn
XV0pCisgICAgICAgIGlmIHBsYXRmb3JtIGluICgnanNjJywgJ3dwZScpOgorICAgICAgICAgICAg
Y29udGVudHMgPSBbJ2JpbicsICdsaWInXQorCisgICAgICAgIGlmIHBsYXRmb3JtID09ICd3cGUn
OgorICAgICAgICAgICAgIyBGb3IgV1BFIHBhY2sgdGhlIENvZyBicm93c2VyIGFzIHdlbGwgaWYg
aXQncyBwcmVzZW50LgorICAgICAgICAgICAgY29nRGlyZWN0b3J5ID0gb3MucGF0aC5qb2luKCdU
b29scycsICdjb2ctcHJlZml4JywgJ3NyYycsICdjb2ctYnVpbGQnKQorICAgICAgICAgICAgYWJz
b2x1dGVDb2dEaXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4oX2NvbmZpZ3VyYXRpb25CdWlsZERpcmVj
dG9yeSwgY29nRGlyZWN0b3J5KQorICAgICAgICAgICAgaWYgb3MucGF0aC5pc2RpcihhYnNvbHV0
ZUNvZ0RpcmVjdG9yeSk6CisgICAgICAgICAgICAgICAgY29udGVudHMuZXh0ZW5kKFtvcy5wYXRo
LmpvaW4oY29nRGlyZWN0b3J5LCBmaWxlbmFtZV9vcl9kaXJlY3RvcnkpIGZvciBmaWxlbmFtZV9v
cl9kaXJlY3RvcnkgaW4gWydjb2cnLCAnY29nY3RsJywgJ21vZHVsZXMnXV0pCiAgICAgICAgICAg
ICBmb3IgZmlsZW5hbWUgaW4gb3MubGlzdGRpcihhYnNvbHV0ZUNvZ0RpcmVjdG9yeSk6CiAgICAg
ICAgICAgICAgICAgaWYgZmlsZW5hbWUuc3RhcnRzd2l0aCgnbGliY29nY29yZScpOgogICAgICAg
ICAgICAgICAgICAgICBjb250ZW50cy5hcHBlbmQob3MucGF0aC5qb2luKGNvZ0RpcmVjdG9yeSwg
ZmlsZW5hbWUpKQogCisgICAgICAgIGlmIHBsYXRmb3JtID09ICdndGsnOgorICAgICAgICAgICAg
Y29udGVudHMgPSBbb3MucGF0aC5qb2luKCdpbnN0YWxsJywgZGlyZWN0b3J5KSBmb3IgZGlyZWN0
b3J5IGluIFsnYmluJywgJ2luY2x1ZGUnLCAnbGliJywgJ2xpYmV4ZWMnXV0KKwogICAgICAgICAj
IFdoZW4gZGVidWcgZmlzc2lvbiBpcyBlbmFibGVkIHRoZSBkaXJlY3RvcmllcyBiZWxvdyBjb250
YWluIGR3byBmaWxlcwogICAgICAgICAjIHdpdGggdGhlIGRlYnVnIGluZm9ybWF0aW9uIG5lZWRl
ZCB0byBnZW5lcmF0ZSBiYWNrdHJhY2VzIHdpdGggR0RCLgogICAgICAgICBmb3Igb2JqZWN0RGly
IGluIFsnVG9vbHMnLCAnU291cmNlJ106CiAgICAgICAgICAgICBpZiBkaXJDb250YWluc2R3byhv
YmplY3REaXIpOgogICAgICAgICAgICAgICAgIGNvbnRlbnRzLmFwcGVuZChvYmplY3REaXIpCiAK
LSAgICAgICAgaWYgY3JlYXRlWmlwRnJvbUxpc3QoY29udGVudHMsIGNvbmZpZ3VyYXRpb24sIGV4
Y2x1ZGVQYXR0ZXJuPScqLm8nKToKKyAgICAgICAgaWYgY3JlYXRlWmlwRnJvbUxpc3QoY29udGVu
dHMsIGNvbmZpZ3VyYXRpb24sIGV4Y2x1ZGVQYXR0ZXJucz1bJyoubycsICcqLmEnXSk6CiAgICAg
ICAgICAgICByZXR1cm4gMQogCiBkZWYgdW56aXBBcmNoaXZlKGRpcmVjdG9yeVRvRXh0cmFjdFRv
LCBjb25maWd1cmF0aW9uKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvaW5zdGFsbC1idWls
dC1wcm9kdWN0IGIvVG9vbHMvU2NyaXB0cy9pbnN0YWxsLWJ1aWx0LXByb2R1Y3QKbmV3IGZpbGUg
bW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTkzOWE4M2ZiZGExYThlNzZlYWU5OWI1YzgyNWFiYzU1ZTExNjFiOQotLS0gL2Rldi9udWxs
CisrKyBiL1Rvb2xzL1NjcmlwdHMvaW5zdGFsbC1idWlsdC1wcm9kdWN0CkBAIC0wLDAgKzEsNjYg
QEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKyMgQ29weXJpZ2h0IChDKSAyMDIxLCBJZ2FsaWEg
Uy5MCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMKKyMgMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQg
SVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyMgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyMgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOworIyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyMgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisjIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK2ltcG9ydCBvcHRwYXJzZQor
aW1wb3J0IG9zCitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0IHN5cworCitpZiBzeXMucGxhdGZv
cm0uc3RhcnRzd2l0aCgnbGludXgnKToKKyAgICB0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0
aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgJy4uJywg
Jy4uJykpCisgICAgc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxfZGly
ZWN0b3J5LCAnVG9vbHMnLCAnZmxhdHBhaycpKQorICAgIHN5cy5wYXRoLmluc2VydCgxLCBvcy5w
YXRoLmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ1NjcmlwdHMnKSkKKworICAg
IGltcG9ydCBmbGF0cGFrdXRpbHMKKyAgICBmbGF0cGFrdXRpbHMucnVuX2luX3NhbmRib3hfaWZf
YXZhaWxhYmxlKHN5cy5hcmd2KQorCitkZWYgbWFpbigpOgorICAgIHBhcnNlciA9IG9wdHBhcnNl
Lk9wdGlvblBhcnNlcigpCisgICAgcGFyc2VyLmFkZF9vcHRpb24oIi0tcGxhdGZvcm0iKQorICAg
IHBhcnNlci5hZGRfb3B0aW9uKCItLWRlYnVnIiwgYWN0aW9uPSJzdG9yZV9jb25zdCIsIGNvbnN0
PSJkZWJ1ZyIsIGRlc3Q9ImNvbmZpZ3VyYXRpb24iKQorICAgIHBhcnNlci5hZGRfb3B0aW9uKCIt
LXJlbGVhc2UiLCBhY3Rpb249InN0b3JlX2NvbnN0IiwgY29uc3Q9InJlbGVhc2UiLCBkZXN0PSJj
b25maWd1cmF0aW9uIikKKworICAgIG9wdGlvbnMsIHBhcmFtZXRlcnMgPSBwYXJzZXIucGFyc2Vf
YXJncygpCisgICAgaWYgbm90IG9wdGlvbnMucGxhdGZvcm06CisgICAgICAgIHBhcnNlci5lcnJv
cigiUGxhdGZvcm0gaXMgcmVxdWlyZWQiKQorICAgICAgICByZXR1cm4gLTEKKyAgICBpZiBub3Qg
b3B0aW9ucy5jb25maWd1cmF0aW9uOgorICAgICAgICBwYXJzZXIuZXJyb3IoIkNvbmZpZ3VyYXRp
b24gaXMgcmVxdWlyZWQiKQorICAgICAgICByZXR1cm4gLTIKKworICAgIHBsYXRmb3JtID0gb3B0
aW9ucy5wbGF0Zm9ybS5zcGxpdCgnLScsIDEpWzBdCisKKyAgICB3ZWJraXRfYnVpbGRfZGlyZWN0
b3J5ID0gc3VicHJvY2Vzcy5Qb3BlbihbJ3BlcmwnLCBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJu
YW1lKF9fZmlsZV9fKSwgIndlYmtpdC1idWlsZC1kaXJlY3RvcnkiKSwKKyAgICAgICAgIi0tIiAr
IHBsYXRmb3JtLCAiLS0iICsgb3B0aW9ucy5jb25maWd1cmF0aW9uLCAnLS1jb25maWd1cmF0aW9u
J10sIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUpLmNvbW11bmljYXRlKClbMF0uc3RyaXAoKQorCisg
ICAgaWYgcGxhdGZvcm0gPT0gJ2d0ayc6CisgICAgICAgIHJlc3VsdCA9IHN1YnByb2Nlc3MucnVu
KFsiY21ha2UiLCAiLS1pbnN0YWxsIiwgd2Via2l0X2J1aWxkX2RpcmVjdG9yeV0pLnJldHVybmNv
ZGUKKyAgICBlbHNlOgorICAgICAgICBwYXJzZXIuZXJyb3IoZiJQbGF0Zm9ybSB7cGxhdGZvcm19
IGlzIG5vdCBzdXBwb3J0ZWQgeWV0IikKKyAgICAgICAgcmV0dXJuIC0zCisKKyAgICByZXR1cm4g
cmVzdWx0CisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgc3lzLmV4aXQobWFpbigp
KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432776</attachid>
            <date>2021-07-02 04:06:24 -0700</date>
            <delta_ts>2021-07-02 04:09:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227526-20210702040623.patch</filename>
            <type>text/plain</type>
            <size>16407</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
YzFlN2YxZDFlNTM3MWVhNjA5NTFiZGI4NzNkOTM5NWQ0MzQ0YWQ0Li5mMTIzZjczYmFhNGQ2ZDBh
ZjdiYzc3OTQzYWNlMDhjZDc3MDI3NmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAyMS0wNy0wMiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS10gUGFjayBoZWFkZXIgYW5kIC5wYyBmaWxlcyBpbiB0aGUg
YnVpbHQtcHJvZHVjdCBhcmNoaXZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjc1MjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGphdmFzY3JpcHRjb3JlZ3RrLnBjLmluOiBJbmNsdWRlIFNWTl9SRVZJ
U0lPTiBhcyByZXZpc2lvbiB2YXJpYWJsZSwgdXNlZnVsIGZvciBhcHBzIHRvCisgICAgICAgIGtu
b3cgb24gd2hpY2ggdXBzdHJlYW0gU1ZOIHJldmlzaW9uIHRoZWlyIFdlYktpdEdUSy1iYXNlZCBh
cHAgaXMgYnVpbHQgb24uCisKIDIwMjEtMDctMDEgIFlpamlhIEh1YW5nICA8eWlqaWFfaHVhbmdA
YXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2FyeSBjYW5CZUludGVybmFsIGlu
dm9jYXRpb25zIHRvIG1pdGlnYXRlIHRoZSBjb3N0IG9mIHBvdGVudGlhbCB1bm1hdGNoZWQgcGF0
dGVybnMgaW4gQjNMb3dlclRvQWlyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDhlMjJhYjNhZjQyNzZkNjFjMzRhMWVl
MTQ5YzRhZTRkOGU4MGMyNDcuLmJlNGQ1NzhjMmZjMWQ4N2NlYjJhNjYzODI0Y2I2ZGUzNTE4Yjgy
MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDctMDIgIFBoaWxpcHBlIE5vcm1h
bmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFBhY2sgaGVhZGVyIGFu
ZCAucGMgZmlsZXMgaW4gdGhlIGJ1aWx0LXByb2R1Y3QgYXJjaGl2ZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3NTI2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5jbHVkZSBTVk5fUkVWSVNJT04gYXMg
cmV2aXNpb24gdmFyaWFibGUsIHVzZWZ1bCBmb3IgYXBwcyB0byBrbm93IG9uIHdoaWNoIHVwc3Ry
ZWFtIFNWTgorICAgICAgICByZXZpc2lvbiB0aGVpciBXZWJLaXRHVEstYmFzZWQgYXBwIGlzIGJ1
aWx0IG9uLgorCisgICAgICAgICogZ3RrL3dlYmtpdDJndGstd2ViLWV4dGVuc2lvbi5wYy5pbjoK
KyAgICAgICAgKiBndGsvd2Via2l0Mmd0ay5wYy5pbjoKKwogMjAyMS0wNy0wMSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFttYWNPU10gU3VzcGVuZCBXZWJQcm9j
ZXNzZXMgdGhhdCBhcmUgaW4gdGhlIHByb2Nlc3MgY2FjaGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qYXZhc2NyaXB0Y29yZWd0ay5wYy5pbiBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qYXZhc2NyaXB0Y29yZWd0ay5wYy5pbgppbmRleCBjNDM0ZjkwMzg0MTZiMjIzZjVmMjIz
OGYzMTc1ZDRkMTMwZjUxODI5Li41NTdmNzUyZGE4YTNjYWFlMmRhNDlmZjQyYzRjMjdmZjYxZWFk
YzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvamF2YXNjcmlwdGNvcmVndGsu
cGMuaW4KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2phdmFzY3JpcHRjb3JlZ3RrLnBjLmlu
CkBAIC0yLDYgKzIsNyBAQCBwcmVmaXg9QENNQUtFX0lOU1RBTExfUFJFRklYQAogZXhlY19wcmVm
aXg9JHtwcmVmaXh9CiBsaWJkaXI9QExJQl9JTlNUQUxMX0RJUkAKIGluY2x1ZGVkaXI9JHtwcmVm
aXh9L2luY2x1ZGUKK3JldmlzaW9uPUBTVk5fUkVWSVNJT05ACiAKIE5hbWU6IEphdmFTY3JpcHRD
b3JlR1RLKwogRGVzY3JpcHRpb246IEdUSysgdmVyc2lvbiBvZiB0aGUgSmF2YVNjcmlwdENvcmUg
ZW5naW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQyZ3RrLXdlYi1leHRl
bnNpb24ucGMuaW4gYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQyZ3RrLXdlYi1leHRlbnNpb24u
cGMuaW4KaW5kZXggNjhiMDMwYjY1OTU4ZDZlMzUyY2VhMWUzNDkzYTM1MDE0NjRlMGQwMC4uMzA5
NzExMzU5NTE2ZjY1MGUyM2ZkYTUxZjY1MDY5OTBmOGQ1NDMxOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9ndGsvd2Via2l0Mmd0ay13ZWItZXh0ZW5zaW9uLnBjLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZ3RrL3dlYmtpdDJndGstd2ViLWV4dGVuc2lvbi5wYy5pbgpAQCAtMiw2ICsyLDcgQEAg
cHJlZml4PUBDTUFLRV9JTlNUQUxMX1BSRUZJWEAKIGV4ZWNfcHJlZml4PSR7cHJlZml4fQogbGli
ZGlyPUBMSUJfSU5TVEFMTF9ESVJACiBpbmNsdWRlZGlyPSR7cHJlZml4fS9pbmNsdWRlCityZXZp
c2lvbj1AU1ZOX1JFVklTSU9OQAogCiBOYW1lOiBXZWJLaXRHVEsgd2ViIHByb2Nlc3MgZXh0ZW5z
aW9ucwogRGVzY3JpcHRpb246IFdlYiBjb250ZW50IGVuZ2luZSBmb3IgR1RLIC0gd2ViIHByb2Nl
c3MgZXh0ZW5zaW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0Mmd0ay5w
Yy5pbiBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdDJndGsucGMuaW4KaW5kZXggZTdjMGQ2MDFl
MjYxZmM0OTA3YmFiODAzMWMzNTJlZGU2YThhZGY3ZC4uMGFkZWZhNWQ2NzRmNTA1ZWJkMDVjNjQ4
NWE3Y2Q5NGQ4NzQyYTA3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0Mmd0
ay5wYy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQyZ3RrLnBjLmluCkBAIC0yLDYg
KzIsNyBAQCBwcmVmaXg9QENNQUtFX0lOU1RBTExfUFJFRklYQAogZXhlY19wcmVmaXg9JHtwcmVm
aXh9CiBsaWJkaXI9QExJQl9JTlNUQUxMX0RJUkAKIGluY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1
ZGUKK3JldmlzaW9uPUBTVk5fUkVWSVNJT05ACiAKIE5hbWU6IFdlYktpdEdUSwogRGVzY3JpcHRp
b246IFdlYiBjb250ZW50IGVuZ2luZSBmb3IgR1RLCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjk3Mzg5Yzg0ZjU3NjVhNGUxNDYzMTY2MzAwM2Fj
ODkzYjE4NTYzNS4uNGEyYjIwYzM2OTdjOWNjOThjOWExYmVkNWIwZjRiZDM2M2I1MjVkYyAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI5IEBACisyMDIxLTA3LTAyICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNv
bT4KKworICAgICAgICBbR1RLXSBQYWNrIGhlYWRlciBhbmQgLnBjIGZpbGVzIGluIHRoZSBidWls
dC1wcm9kdWN0IGFyY2hpdmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNzUyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSBoZWFkZXIgZmlsZXMgYW5kIHBrZy1jb25maWcgZmlsZXMgbmVlZGVkIHRv
IGJ1aWxkIFdlYktpdEdUSyBhcHBzIGFyZSBub3cgaW5jbHVkZWQgaW4gdGhlCisgICAgICAgIGJ1
aWx0IHByb2R1Y3QgemlwIGZpbGUuIEFzIHRoZXkncmUgdGV4dCBmaWxlcyB0aGUgaW1wYWN0IG9u
IHRoZSB6aXAgc2l6ZSBzaG91bGQgbm90IGJlCisgICAgICAgIHNpZ25pZmljYW50LiBJbiBvcmRl
ciB0byBzdXBwb3J0IHRoaXMsIHR3byBjaGFuZ2VzIGFyZSBpbnRyb2R1Y2VkIGZvciB0aGUgR1RL
IGJ1aWxkIGJvdDoKKworICAgICAgICAtIGJ1aWxkLXdlYmtpdCBpcyBub3cgY2FsbGVkIHdpdGgg
YSAtLXByZWZpeCBvcHRpb24KKyAgICAgICAgLSBhIG5ldyBidWlsZCBzdGVwIGhhcyBiZWVuIGFk
ZGVkLCB3aGljaCBpbnN0YWxscyB0aGUgYnVpbHQgZmlsZXMgaW4gdGhlIGdpdmVuIHByZWZpeCBk
aXJlY3RvcnkKKworICAgICAgICBUaGVuIGJ1aWx0LXByb2R1Y3QtYXJjaGl2ZSBjYW4gc2ltcGx5
IHBhY2sgZmlsZXMgZnJvbSB0aGUgaW5zdGFsbCBwcmVmaXggZGlyZWN0b3J5LgorCisgICAgICAg
IEFkZGl0aW9uYWxseSB0aGUgLmEgKHBvdGVudGlhbGx5IGJpZykgZmlsZXMgYXJlIG5vdyBleGNs
dWRlZCBmcm9tIHRoZSB6aXAgYXJjaGl2ZS4KKworICAgICAgICAqIENJU3VwcG9ydC9idWlsZC13
ZWJraXQtb3JnL2ZhY3Rvcmllcy5weToKKyAgICAgICAgKEJ1aWxkRmFjdG9yeS5fX2luaXRfXyk6
CisgICAgICAgICogQ0lTdXBwb3J0L2J1aWxkLXdlYmtpdC1vcmcvc3RlcHMucHk6CisgICAgICAg
IChDb21waWxlV2ViS2l0LnN0YXJ0KToKKyAgICAgICAgKEluc3RhbGxCdWlsdFByb2R1Y3QpOgor
ICAgICAgICAqIENJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmU6CisgICAgICAgICogU2Ny
aXB0cy9pbnN0YWxsLWJ1aWx0LXByb2R1Y3Q6IEFkZGVkLgorCiAyMDIxLTA3LTAyICBYYWJpZXIg
Um9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10g
bWVkaWEvZXZlbnQtYXR0cmlidXRlcy5odG1sIGZhaWxzIGlmIG1peGVyIGlzIG5vdCBhdCAxMDAl
CmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9mYWN0b3JpZXMu
cHkgYi9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9mYWN0b3JpZXMucHkKaW5kZXgg
NzliM2ZmODYzNzY0ZjdjNTJjODQwYTFkNjQ5YTg1NmIyNDQ5Y2EzNC4uMjA1MzkzOGM4MmZkMzJm
NzA3Y2U4ZmE1NjgxYWRkODBmYjI3ZmE0YyAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2J1
aWxkLXdlYmtpdC1vcmcvZmFjdG9yaWVzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13
ZWJraXQtb3JnL2ZhY3Rvcmllcy5weQpAQCAtNjMsNiArNjMsOSBAQCBjbGFzcyBCdWlsZEZhY3Rv
cnkoRmFjdG9yeSk6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoR2VuZXJhdGVNaW5pQnJvd3Nl
ckJ1bmRsZSgpKQogCiAgICAgICAgIGlmIHRyaWdnZXJzOgorICAgICAgICAgICAgaWYgc2VsZi5w
bGF0Zm9ybSA9PSAiZ3RrIjoKKyAgICAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoSW5zdGFsbEJ1
aWx0UHJvZHVjdCgpKQorCiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoQXJjaGl2ZUJ1aWx0UHJv
ZHVjdCgpKQogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKFVwbG9hZEJ1aWx0UHJvZHVjdCgpKQog
ICAgICAgICAgICAgaWYgcGxhdGZvcm0uc3RhcnRzd2l0aCgnbWFjJykgb3IgcGxhdGZvcm0uc3Rh
cnRzd2l0aCgnaW9zLXNpbXVsYXRvcicpIG9yIHBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3R2b3Mtc2lt
dWxhdG9yJykgb3IgcGxhdGZvcm0uc3RhcnRzd2l0aCgnd2F0Y2hvcy1zaW11bGF0b3InKToKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzLnB5IGIvVG9v
bHMvQ0lTdXBwb3J0L2J1aWxkLXdlYmtpdC1vcmcvc3RlcHMucHkKaW5kZXggYmVjMDU3MDA1ZWUz
NjM0NjI3ZDhiODA4NWZlZGI2NzZhZmFhYzMwZC4uMDE0Nzk3ZGQzMDllZDI5MGJjMzJkN2ZiZjU5
YjA2N2U4Y2Q5MWRhZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2J1aWxkLXdlYmtpdC1v
cmcvc3RlcHMucHkKKysrIGIvVG9vbHMvQ0lTdXBwb3J0L2J1aWxkLXdlYmtpdC1vcmcvc3RlcHMu
cHkKQEAgLTI4OSw2ICsyODksOSBAQCBjbGFzcyBDb21waWxlV2ViS2l0KHNoZWxsLkNvbXBpbGUp
OgogICAgICAgICAgICAgIyB0aGlzIG11Y2ggZmFzdGVyIHRoYW4gZnVsbCBkZWJ1ZyBpbmZvLCBh
bmQgY3Jhc2ggbG9ncyBzdGlsbCBoYXZlIGxpbmUgbnVtYmVycy4KICAgICAgICAgICAgIHNlbGYu
c2V0Q29tbWFuZChzZWxmLmNvbW1hbmQgKyBbJ0RFQlVHX0lORk9STUFUSU9OX0ZPUk1BVD1kd2Fy
Zi13aXRoLWRzeW0nXSkKICAgICAgICAgICAgIHNlbGYuc2V0Q29tbWFuZChzZWxmLmNvbW1hbmQg
KyBbJ0NMQU5HX0RFQlVHX0lORk9STUFUSU9OX0xFVkVMPWxpbmUtdGFibGVzLW9ubHknXSkKKyAg
ICAgICAgaWYgcGxhdGZvcm0gPT0gJ2d0ayc6CisgICAgICAgICAgICBwcmVmaXggPSBvcy5wYXRo
LmpvaW4oIi9hcHAiLCAid2Via2l0IiwgIldlYktpdEJ1aWxkIiwgc2VsZi5nZXRQcm9wZXJ0eSgi
Y29uZmlndXJhdGlvbiIpLCAiaW5zdGFsbCIpCisgICAgICAgICAgICBzZWxmLnNldENvbW1hbmQo
c2VsZi5jb21tYW5kICsgW2YnLS1wcmVmaXg9e3ByZWZpeH0nXSkKIAogICAgICAgICBhcHBlbmRD
dXN0b21CdWlsZEZsYWdzKHNlbGYsIHBsYXRmb3JtLCBzZWxmLmdldFByb3BlcnR5KCdmdWxsUGxh
dGZvcm0nKSkKIApAQCAtMzIxLDYgKzMyNCwxMCBAQCBjbGFzcyBDb21waWxlSlNDT25seShDb21w
aWxlV2ViS2l0KToKICAgICBjb21tYW5kID0gWyJwZXJsIiwgIi4vVG9vbHMvU2NyaXB0cy9idWls
ZC1qc2MiLCBXaXRoUHJvcGVydGllcygiLS0lKGNvbmZpZ3VyYXRpb24pcyIpXQogCiAKK2NsYXNz
IEluc3RhbGxCdWlsdFByb2R1Y3Qoc2hlbGwuU2hlbGxDb21tYW5kKToKKyAgICBjb21tYW5kID0g
WyJweXRob24zIiwgIlRvb2xzL1NjcmlwdHMvaW5zdGFsbC1idWlsdC1wcm9kdWN0IiwKKyAgICAg
ICAgICAgICAgIFdpdGhQcm9wZXJ0aWVzKCItLXBsYXRmb3JtPSUoZnVsbFBsYXRmb3JtKXMiKSwg
V2l0aFByb3BlcnRpZXMoIi0tJShjb25maWd1cmF0aW9uKXMiKV0KKwogY2xhc3MgQXJjaGl2ZUJ1
aWx0UHJvZHVjdChzaGVsbC5TaGVsbENvbW1hbmQpOgogICAgIGNvbW1hbmQgPSBbInB5dGhvbjMi
LCAiVG9vbHMvQ0lTdXBwb3J0L2J1aWx0LXByb2R1Y3QtYXJjaGl2ZSIsCiAgICAgICAgICAgICAg
ICBXaXRoUHJvcGVydGllcygiLS1wbGF0Zm9ybT0lKGZ1bGxQbGF0Zm9ybSlzIiksIFdpdGhQcm9w
ZXJ0aWVzKCItLSUoY29uZmlndXJhdGlvbilzIiksICJhcmNoaXZlIl0KZGlmZiAtLWdpdCBhL1Rv
b2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzX3VuaXR0ZXN0LnB5IGIvVG9vbHMv
Q0lTdXBwb3J0L2J1aWxkLXdlYmtpdC1vcmcvc3RlcHNfdW5pdHRlc3QucHkKaW5kZXggZDI1YWM3
ZGU0YzYxMzU4ODg0ZDUzMWRiZDk4MDYzMDYwZWQxZTVhZS4uN2Y0NzI0ZDk0MGMyZGFjNzhjOTZm
ZmYxNTgyNGJmMjkyOTg5YWE0MCAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2J1aWxkLXdl
YmtpdC1vcmcvc3RlcHNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvQ0lTdXBwb3J0L2J1aWxkLXdl
YmtpdC1vcmcvc3RlcHNfdW5pdHRlc3QucHkKQEAgLTQyMCw3ICs0MjAsNyBAQCBjbGFzcyBUZXN0
Q29tcGlsZVdlYktpdChCdWlsZFN0ZXBNaXhpbkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2Up
OgogICAgICAgICAgICAgICAgIHdvcmtkaXI9J3drZGlyJywKICAgICAgICAgICAgICAgICB0aW1l
b3V0PTEyMDAsCiAgICAgICAgICAgICAgICAgbG9nRW52aXJvbj1UcnVlLAotICAgICAgICAgICAg
ICAgIGNvbW1hbmQ9WydwZXJsJywgJy4vVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQnLCAnLS1y
ZWxlYXNlJywgJy0tZ3RrJ10sCisgICAgICAgICAgICAgICAgY29tbWFuZD1bJ3BlcmwnLCAnLi9U
b29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdCcsICctLXJlbGVhc2UnLCAnLS1wcmVmaXg9L2FwcC93
ZWJraXQvV2ViS2l0QnVpbGQvcmVsZWFzZS9pbnN0YWxsJywgJy0tZ3RrJ10sCiAgICAgICAgICAg
ICApICsgMCwKICAgICAgICAgKQogICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNV
Q0NFU1MsIHN0YXRlX3N0cmluZz0nY29tcGlsZWQnKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ0lTdXBw
b3J0L2J1aWx0LXByb2R1Y3QtYXJjaGl2ZSBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsdC1wcm9kdWN0
LWFyY2hpdmUKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQppbmRleCBkMTUzYzAzNDBm
YTJjZGMxMDNhNmY2ZWM3MWY0N2RlM2M0MTY2Yjk2Li44YmRiZmFkYWE0ZjA3ZDZiYmU5YzViOWMz
YjNlNDQxYmRjYjlmNTUxCi0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hp
dmUKKysrIGIvVG9vbHMvQ0lTdXBwb3J0L2J1aWx0LXByb2R1Y3QtYXJjaGl2ZQpAQCAtMTEwLDcg
KzExMCw3IEBAIGRlZiBjb3B5QnVpbGRGaWxlcyhzb3VyY2UsIGRlc3RpbmF0aW9uLCBwYXR0ZXJu
cyk6CiAgICAgc2h1dGlsLmNvcHl0cmVlKHNvdXJjZSwgZGVzdGluYXRpb24sIGlnbm9yZT1zaHV0
aWwuaWdub3JlX3BhdHRlcm5zKCpwYXR0ZXJucykpCiAKIAotZGVmIGNyZWF0ZVppcEZyb21MaXN0
KGxpc3RUb1ppcCwgY29uZmlndXJhdGlvbiwgZXhjbHVkZVBhdHRlcm49Tm9uZSk6CitkZWYgY3Jl
YXRlWmlwRnJvbUxpc3QobGlzdFRvWmlwLCBjb25maWd1cmF0aW9uLCBleGNsdWRlUGF0dGVybnM9
Tm9uZSk6CiAgICAgZ2xvYmFsIF90b3BMZXZlbEJ1aWxkRGlyZWN0b3J5CiAgICAgZ2xvYmFsIF9j
b25maWd1cmF0aW9uQnVpbGREaXJlY3RvcnkKICAgICBhcmNoaXZlRGlyID0gX3RvcExldmVsQnVp
bGREaXJlY3RvcnkKQEAgLTEyNCw4ICsxMjQsOSBAQCBkZWYgY3JlYXRlWmlwRnJvbUxpc3QobGlz
dFRvWmlwLCBjb25maWd1cmF0aW9uLCBleGNsdWRlUGF0dGVybj1Ob25lKToKIAogICAgIGlmIHN5
cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCdsaW51eCcpOgogICAgICAgICB6aXBDb21tYW5kID0gWyd6
aXAnLCAnLXknLCAnLXInLCBhcmNoaXZlRmlsZV0gKyBsaXN0VG9aaXAKLSAgICAgICAgaWYgZXhj
bHVkZVBhdHRlcm46Ci0gICAgICAgICAgICB6aXBDb21tYW5kICs9IFsnLXgnLCBleGNsdWRlUGF0
dGVybl0KKyAgICAgICAgaWYgZXhjbHVkZVBhdHRlcm5zOgorICAgICAgICAgICAgZm9yIGV4Y2x1
ZGVQYXR0ZXJuIGluIGV4Y2x1ZGVQYXR0ZXJuczoKKyAgICAgICAgICAgICAgICB6aXBDb21tYW5k
ICs9IFsnLXgnLCBleGNsdWRlUGF0dGVybl0KICAgICAgICAgcmV0dXJuIHN1YnByb2Nlc3MuY2Fs
bCh6aXBDb21tYW5kLCBjd2Q9X2NvbmZpZ3VyYXRpb25CdWlsZERpcmVjdG9yeSkKIAogICAgIHJh
aXNlIE5vdEltcGxlbWVudGVkRXJyb3IoJ1Vuc3VwcG9ydGVkIHBsYXRmb3JtOiB7cGxhdGZvcm19
Jy5mb3JtYXQocGxhdGZvcm09c3lzLnBsYXRmb3JtKSkKQEAgLTI0MCwyNCArMjQxLDI5IEBAIGRl
ZiBhcmNoaXZlQnVpbHRQcm9kdWN0KGNvbmZpZ3VyYXRpb24sIHBsYXRmb3JtLCBmdWxsUGxhdGZv
cm0sIG1pbmlmeT1GYWxzZSk6CiAgICAgICAgICMgT24gR1RLKy9XUEUvSlNDIHdlIGRvbid0IG5l
ZWQgdGhlIGludGVybWVkaWF0ZSBzdGVwIG9mIGNyZWF0aW5nIGEgdGhpbkRpcmVjdG9yeQogICAg
ICAgICAjIHRvIGJlIGNvbXByZXNzZWQgaW4gYSBaSVAgZmlsZSwgYmVjYXVzZSB3ZSBjYW4gY3Jl
YXRlIHRoZSBaSVAgZGlyZWN0bHkuCiAgICAgICAgICMgVGhpcyBpcyBmYXN0ZXIgYW5kIHJlcXVp
cmVzIGxlc3MgZGlzayByZXNvdXJjZXMuCi0gICAgICAgIGNvbnRlbnRzID0gWydiaW4nLCAnbGli
J10KLQotICAgICAgICAjIEZvciBXUEUgcGFjayB0aGUgQ29nIGJyb3dzZXIgYXMgd2VsbCBpZiBp
dCdzIHByZXNlbnQuCi0gICAgICAgIGNvZ0RpcmVjdG9yeSA9IG9zLnBhdGguam9pbignVG9vbHMn
LCAnY29nLXByZWZpeCcsICdzcmMnLCAnY29nLWJ1aWxkJykKLSAgICAgICAgYWJzb2x1dGVDb2dE
aXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4oX2NvbmZpZ3VyYXRpb25CdWlsZERpcmVjdG9yeSwgY29n
RGlyZWN0b3J5KQotICAgICAgICBpZiBwbGF0Zm9ybSA9PSAnd3BlJyBhbmQgb3MucGF0aC5pc2Rp
cihhYnNvbHV0ZUNvZ0RpcmVjdG9yeSk6Ci0gICAgICAgICAgICBjb250ZW50cy5leHRlbmQoW29z
LnBhdGguam9pbihjb2dEaXJlY3RvcnksIGZpbGVuYW1lX29yX2RpcmVjdG9yeSkgZm9yIGZpbGVu
YW1lX29yX2RpcmVjdG9yeSBpbiBbJ2NvZycsICdjb2djdGwnLCAnbW9kdWxlcyddXSkKKyAgICAg
ICAgaWYgcGxhdGZvcm0gaW4gKCdqc2MnLCAnd3BlJyk6CisgICAgICAgICAgICBjb250ZW50cyA9
IFsnYmluJywgJ2xpYiddCisKKyAgICAgICAgaWYgcGxhdGZvcm0gPT0gJ3dwZSc6CisgICAgICAg
ICAgICAjIEZvciBXUEUgcGFjayB0aGUgQ29nIGJyb3dzZXIgYXMgd2VsbCBpZiBpdCdzIHByZXNl
bnQuCisgICAgICAgICAgICBjb2dEaXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4oJ1Rvb2xzJywgJ2Nv
Zy1wcmVmaXgnLCAnc3JjJywgJ2NvZy1idWlsZCcpCisgICAgICAgICAgICBhYnNvbHV0ZUNvZ0Rp
cmVjdG9yeSA9IG9zLnBhdGguam9pbihfY29uZmlndXJhdGlvbkJ1aWxkRGlyZWN0b3J5LCBjb2dE
aXJlY3RvcnkpCisgICAgICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKGFic29sdXRlQ29nRGlyZWN0
b3J5KToKKyAgICAgICAgICAgICAgICBjb250ZW50cy5leHRlbmQoW29zLnBhdGguam9pbihjb2dE
aXJlY3RvcnksIGZpbGVuYW1lX29yX2RpcmVjdG9yeSkgZm9yIGZpbGVuYW1lX29yX2RpcmVjdG9y
eSBpbiBbJ2NvZycsICdjb2djdGwnLCAnbW9kdWxlcyddXSkKICAgICAgICAgICAgIGZvciBmaWxl
bmFtZSBpbiBvcy5saXN0ZGlyKGFic29sdXRlQ29nRGlyZWN0b3J5KToKICAgICAgICAgICAgICAg
ICBpZiBmaWxlbmFtZS5zdGFydHN3aXRoKCdsaWJjb2djb3JlJyk6CiAgICAgICAgICAgICAgICAg
ICAgIGNvbnRlbnRzLmFwcGVuZChvcy5wYXRoLmpvaW4oY29nRGlyZWN0b3J5LCBmaWxlbmFtZSkp
CiAKKyAgICAgICAgaWYgcGxhdGZvcm0gPT0gJ2d0ayc6CisgICAgICAgICAgICBjb250ZW50cyA9
IFtvcy5wYXRoLmpvaW4oJ2luc3RhbGwnLCBkaXJlY3RvcnkpIGZvciBkaXJlY3RvcnkgaW4gWydi
aW4nLCAnaW5jbHVkZScsICdsaWInLCAnbGliZXhlYyddXQorCiAgICAgICAgICMgV2hlbiBkZWJ1
ZyBmaXNzaW9uIGlzIGVuYWJsZWQgdGhlIGRpcmVjdG9yaWVzIGJlbG93IGNvbnRhaW4gZHdvIGZp
bGVzCiAgICAgICAgICMgd2l0aCB0aGUgZGVidWcgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGdlbmVy
YXRlIGJhY2t0cmFjZXMgd2l0aCBHREIuCiAgICAgICAgIGZvciBvYmplY3REaXIgaW4gWydUb29s
cycsICdTb3VyY2UnXToKICAgICAgICAgICAgIGlmIGRpckNvbnRhaW5zZHdvKG9iamVjdERpcik6
CiAgICAgICAgICAgICAgICAgY29udGVudHMuYXBwZW5kKG9iamVjdERpcikKIAotICAgICAgICBp
ZiBjcmVhdGVaaXBGcm9tTGlzdChjb250ZW50cywgY29uZmlndXJhdGlvbiwgZXhjbHVkZVBhdHRl
cm49JyoubycpOgorICAgICAgICBpZiBjcmVhdGVaaXBGcm9tTGlzdChjb250ZW50cywgY29uZmln
dXJhdGlvbiwgZXhjbHVkZVBhdHRlcm5zPVsnKi5vJywgJyouYSddKToKICAgICAgICAgICAgIHJl
dHVybiAxCiAKIGRlZiB1bnppcEFyY2hpdmUoZGlyZWN0b3J5VG9FeHRyYWN0VG8sIGNvbmZpZ3Vy
YXRpb24pOgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weSBi
L1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkKaW5kZXggNjRmOGQ3ODNmNzA0MjVm
ODcwODM0ZDhkNjc5ZGI3ZmY0MGJhNjQ1Ni4uYmQzYzIxNTFlYjlkNjAxYzdmYzVkOGE2YWU0MjQ5
MjNhOTk3MjYzMiAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5w
eQorKysgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5CkBAIC0xNTU5LDYgKzE1
NTksOSBAQCBjbGFzcyBDb21waWxlV2ViS2l0KHNoZWxsLkNvbXBpbGUpOgogICAgICAgICAgICAg
IyB0aGlzIG11Y2ggZmFzdGVyIHRoYW4gZnVsbCBkZWJ1ZyBpbmZvLCBhbmQgY3Jhc2ggbG9ncyBz
dGlsbCBoYXZlIGxpbmUgbnVtYmVycy4KICAgICAgICAgICAgIHNlbGYuc2V0Q29tbWFuZChzZWxm
LmNvbW1hbmQgKyBbJ0RFQlVHX0lORk9STUFUSU9OX0ZPUk1BVD1kd2FyZi13aXRoLWRzeW0nXSkK
ICAgICAgICAgICAgIHNlbGYuc2V0Q29tbWFuZChzZWxmLmNvbW1hbmQgKyBbJ0NMQU5HX0RFQlVH
X0lORk9STUFUSU9OX0xFVkVMPWxpbmUtdGFibGVzLW9ubHknXSkKKyAgICAgICAgaWYgcGxhdGZv
cm0gPT0gJ2d0ayc6CisgICAgICAgICAgICBwcmVmaXggPSBvcy5wYXRoLmpvaW4oIi9hcHAiLCAi
d2Via2l0IiwgIldlYktpdEJ1aWxkIiwgc2VsZi5nZXRQcm9wZXJ0eSgiY29uZmlndXJhdGlvbiIp
LCAiaW5zdGFsbCIpCisgICAgICAgICAgICBzZWxmLnNldENvbW1hbmQoc2VsZi5jb21tYW5kICsg
W2YnLS1wcmVmaXg9e3ByZWZpeH0nXSkKIAogICAgICAgICBhcHBlbmRDdXN0b21CdWlsZEZsYWdz
KHNlbGYsIHBsYXRmb3JtLCBzZWxmLmdldFByb3BlcnR5KCdmdWxsUGxhdGZvcm0nKSkKIApkaWZm
IC0tZ2l0IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weSBiL1Rv
b2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkKaW5kZXggY2E4MzQ0M2U5
NmQ1YmZiMjlmOTM4ZjNkZmIxYmFmZGM5Y2QwYjE2Mi4uOTM5YTZkYWQ0ZDY1MDI1ZGY3NjBiNzJl
ZDQ4M2QxMmRjYTlmYTI2YSAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9z
dGVwc191bml0dGVzdC5weQorKysgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3Vu
aXR0ZXN0LnB5CkBAIC0xMDc5LDcgKzEwNzksNyBAQCBjbGFzcyBUZXN0Q29tcGlsZVdlYktpdChC
dWlsZFN0ZXBNaXhpbkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxm
LmV4cGVjdFJlbW90ZUNvbW1hbmRzKAogICAgICAgICAgICAgRXhwZWN0U2hlbGwod29ya2Rpcj0n
d2tkaXInLAogICAgICAgICAgICAgICAgICAgICAgICAgbG9nRW52aXJvbj1GYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydwZXJsJywgJ1Rvb2xzL1NjcmlwdHMvYnVpbGQt
d2Via2l0JywgJy0tcmVsZWFzZScsICctLWd0ayddLAorICAgICAgICAgICAgICAgICAgICAgICAg
Y29tbWFuZD1bJ3BlcmwnLCAnVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQnLCAnLS1yZWxlYXNl
JywgJy0tcHJlZml4PS9hcHAvd2Via2l0L1dlYktpdEJ1aWxkL3JlbGVhc2UvaW5zdGFsbCcsICct
LWd0ayddLAogICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKyAwLAogICAg
ICAgICApCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2luc3RhbGwtYnVpbHQtcHJvZHVjdCBi
L1Rvb2xzL1NjcmlwdHMvaW5zdGFsbC1idWlsdC1wcm9kdWN0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk5MzlhODNm
YmRhMWE4ZTc2ZWFlOTliNWM4MjVhYmM1NWUxMTYxYjkKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29s
cy9TY3JpcHRzL2luc3RhbGwtYnVpbHQtcHJvZHVjdApAQCAtMCwwICsxLDY2IEBACisjIS91c3Iv
YmluL2VudiBweXRob24zCisjIENvcHlyaWdodCAoQykgMjAyMSwgSWdhbGlhIFMuTAorIworIyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjCisjIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZCisjIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisjIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisjIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyMgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisjIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRgorIyBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitpbXBvcnQgb3B0cGFyc2UKK2ltcG9ydCBvcwor
aW1wb3J0IHN1YnByb2Nlc3MKK2ltcG9ydCBzeXMKKworaWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dp
dGgoJ2xpbnV4Jyk6CisgICAgdG9wX2xldmVsX2RpcmVjdG9yeSA9IG9zLnBhdGgubm9ybXBhdGgo
b3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICcuLicsICcuLicpKQorICAg
IHN5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgJ1Rv
b2xzJywgJ2ZsYXRwYWsnKSkKKyAgICBzeXMucGF0aC5pbnNlcnQoMSwgb3MucGF0aC5qb2luKHRv
cF9sZXZlbF9kaXJlY3RvcnksICdUb29scycsICdTY3JpcHRzJykpCisKKyAgICBpbXBvcnQgZmxh
dHBha3V0aWxzCisgICAgZmxhdHBha3V0aWxzLnJ1bl9pbl9zYW5kYm94X2lmX2F2YWlsYWJsZShz
eXMuYXJndikKKworZGVmIG1haW4oKToKKyAgICBwYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJz
ZXIoKQorICAgIHBhcnNlci5hZGRfb3B0aW9uKCItLXBsYXRmb3JtIikKKyAgICBwYXJzZXIuYWRk
X29wdGlvbigiLS1kZWJ1ZyIsIGFjdGlvbj0ic3RvcmVfY29uc3QiLCBjb25zdD0iZGVidWciLCBk
ZXN0PSJjb25maWd1cmF0aW9uIikKKyAgICBwYXJzZXIuYWRkX29wdGlvbigiLS1yZWxlYXNlIiwg
YWN0aW9uPSJzdG9yZV9jb25zdCIsIGNvbnN0PSJyZWxlYXNlIiwgZGVzdD0iY29uZmlndXJhdGlv
biIpCisKKyAgICBvcHRpb25zLCBwYXJhbWV0ZXJzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorICAg
IGlmIG5vdCBvcHRpb25zLnBsYXRmb3JtOgorICAgICAgICBwYXJzZXIuZXJyb3IoIlBsYXRmb3Jt
IGlzIHJlcXVpcmVkIikKKyAgICAgICAgcmV0dXJuIC0xCisgICAgaWYgbm90IG9wdGlvbnMuY29u
ZmlndXJhdGlvbjoKKyAgICAgICAgcGFyc2VyLmVycm9yKCJDb25maWd1cmF0aW9uIGlzIHJlcXVp
cmVkIikKKyAgICAgICAgcmV0dXJuIC0yCisKKyAgICBwbGF0Zm9ybSA9IG9wdGlvbnMucGxhdGZv
cm0uc3BsaXQoJy0nLCAxKVswXQorCisgICAgd2Via2l0X2J1aWxkX2RpcmVjdG9yeSA9IHN1YnBy
b2Nlc3MuUG9wZW4oWydwZXJsJywgb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVf
XyksICJ3ZWJraXQtYnVpbGQtZGlyZWN0b3J5IiksCisgICAgICAgICItLSIgKyBwbGF0Zm9ybSwg
Ii0tIiArIG9wdGlvbnMuY29uZmlndXJhdGlvbiwgJy0tY29uZmlndXJhdGlvbiddLCBzdGRvdXQ9
c3VicHJvY2Vzcy5QSVBFKS5jb21tdW5pY2F0ZSgpWzBdLnN0cmlwKCkKKworICAgIGlmIHBsYXRm
b3JtID09ICdndGsnOgorICAgICAgICByZXN1bHQgPSBzdWJwcm9jZXNzLnJ1bihbImNtYWtlIiwg
Ii0taW5zdGFsbCIsIHdlYmtpdF9idWlsZF9kaXJlY3RvcnldKS5yZXR1cm5jb2RlCisgICAgZWxz
ZToKKyAgICAgICAgcGFyc2VyLmVycm9yKGYiUGxhdGZvcm0ge3BsYXRmb3JtfSBpcyBub3Qgc3Vw
cG9ydGVkIHlldCIpCisgICAgICAgIHJldHVybiAtMworCisgICAgcmV0dXJuIHJlc3VsdAorCitp
ZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHN5cy5leGl0KG1haW4oKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432777</attachid>
            <date>2021-07-02 04:09:45 -0700</date>
            <delta_ts>2021-07-02 04:18:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227526-20210702040943.patch</filename>
            <type>text/plain</type>
            <size>16402</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
YzFlN2YxZDFlNTM3MWVhNjA5NTFiZGI4NzNkOTM5NWQ0MzQ0YWQ0Li5mMTIzZjczYmFhNGQ2ZDBh
ZjdiYzc3OTQzYWNlMDhjZDc3MDI3NmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAyMS0wNy0wMiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS10gUGFjayBoZWFkZXIgYW5kIC5wYyBmaWxlcyBpbiB0aGUg
YnVpbHQtcHJvZHVjdCBhcmNoaXZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjc1MjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGphdmFzY3JpcHRjb3JlZ3RrLnBjLmluOiBJbmNsdWRlIFNWTl9SRVZJ
U0lPTiBhcyByZXZpc2lvbiB2YXJpYWJsZSwgdXNlZnVsIGZvciBhcHBzIHRvCisgICAgICAgIGtu
b3cgb24gd2hpY2ggdXBzdHJlYW0gU1ZOIHJldmlzaW9uIHRoZWlyIFdlYktpdEdUSy1iYXNlZCBh
cHAgaXMgYnVpbHQgb24uCisKIDIwMjEtMDctMDEgIFlpamlhIEh1YW5nICA8eWlqaWFfaHVhbmdA
YXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2FyeSBjYW5CZUludGVybmFsIGlu
dm9jYXRpb25zIHRvIG1pdGlnYXRlIHRoZSBjb3N0IG9mIHBvdGVudGlhbCB1bm1hdGNoZWQgcGF0
dGVybnMgaW4gQjNMb3dlclRvQWlyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDhlMjJhYjNhZjQyNzZkNjFjMzRhMWVl
MTQ5YzRhZTRkOGU4MGMyNDcuLmJlNGQ1NzhjMmZjMWQ4N2NlYjJhNjYzODI0Y2I2ZGUzNTE4Yjgy
MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDctMDIgIFBoaWxpcHBlIE5vcm1h
bmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFBhY2sgaGVhZGVyIGFu
ZCAucGMgZmlsZXMgaW4gdGhlIGJ1aWx0LXByb2R1Y3QgYXJjaGl2ZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3NTI2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5jbHVkZSBTVk5fUkVWSVNJT04gYXMg
cmV2aXNpb24gdmFyaWFibGUsIHVzZWZ1bCBmb3IgYXBwcyB0byBrbm93IG9uIHdoaWNoIHVwc3Ry
ZWFtIFNWTgorICAgICAgICByZXZpc2lvbiB0aGVpciBXZWJLaXRHVEstYmFzZWQgYXBwIGlzIGJ1
aWx0IG9uLgorCisgICAgICAgICogZ3RrL3dlYmtpdDJndGstd2ViLWV4dGVuc2lvbi5wYy5pbjoK
KyAgICAgICAgKiBndGsvd2Via2l0Mmd0ay5wYy5pbjoKKwogMjAyMS0wNy0wMSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFttYWNPU10gU3VzcGVuZCBXZWJQcm9j
ZXNzZXMgdGhhdCBhcmUgaW4gdGhlIHByb2Nlc3MgY2FjaGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qYXZhc2NyaXB0Y29yZWd0ay5wYy5pbiBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qYXZhc2NyaXB0Y29yZWd0ay5wYy5pbgppbmRleCBjNDM0ZjkwMzg0MTZiMjIzZjVmMjIz
OGYzMTc1ZDRkMTMwZjUxODI5Li41NTdmNzUyZGE4YTNjYWFlMmRhNDlmZjQyYzRjMjdmZjYxZWFk
YzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvamF2YXNjcmlwdGNvcmVndGsu
cGMuaW4KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2phdmFzY3JpcHRjb3JlZ3RrLnBjLmlu
CkBAIC0yLDYgKzIsNyBAQCBwcmVmaXg9QENNQUtFX0lOU1RBTExfUFJFRklYQAogZXhlY19wcmVm
aXg9JHtwcmVmaXh9CiBsaWJkaXI9QExJQl9JTlNUQUxMX0RJUkAKIGluY2x1ZGVkaXI9JHtwcmVm
aXh9L2luY2x1ZGUKK3JldmlzaW9uPUBTVk5fUkVWSVNJT05ACiAKIE5hbWU6IEphdmFTY3JpcHRD
b3JlR1RLKwogRGVzY3JpcHRpb246IEdUSysgdmVyc2lvbiBvZiB0aGUgSmF2YVNjcmlwdENvcmUg
ZW5naW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQyZ3RrLXdlYi1leHRl
bnNpb24ucGMuaW4gYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQyZ3RrLXdlYi1leHRlbnNpb24u
cGMuaW4KaW5kZXggNjhiMDMwYjY1OTU4ZDZlMzUyY2VhMWUzNDkzYTM1MDE0NjRlMGQwMC4uMzA5
NzExMzU5NTE2ZjY1MGUyM2ZkYTUxZjY1MDY5OTBmOGQ1NDMxOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9ndGsvd2Via2l0Mmd0ay13ZWItZXh0ZW5zaW9uLnBjLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZ3RrL3dlYmtpdDJndGstd2ViLWV4dGVuc2lvbi5wYy5pbgpAQCAtMiw2ICsyLDcgQEAg
cHJlZml4PUBDTUFLRV9JTlNUQUxMX1BSRUZJWEAKIGV4ZWNfcHJlZml4PSR7cHJlZml4fQogbGli
ZGlyPUBMSUJfSU5TVEFMTF9ESVJACiBpbmNsdWRlZGlyPSR7cHJlZml4fS9pbmNsdWRlCityZXZp
c2lvbj1AU1ZOX1JFVklTSU9OQAogCiBOYW1lOiBXZWJLaXRHVEsgd2ViIHByb2Nlc3MgZXh0ZW5z
aW9ucwogRGVzY3JpcHRpb246IFdlYiBjb250ZW50IGVuZ2luZSBmb3IgR1RLIC0gd2ViIHByb2Nl
c3MgZXh0ZW5zaW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0Mmd0ay5w
Yy5pbiBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdDJndGsucGMuaW4KaW5kZXggZTdjMGQ2MDFl
MjYxZmM0OTA3YmFiODAzMWMzNTJlZGU2YThhZGY3ZC4uMGFkZWZhNWQ2NzRmNTA1ZWJkMDVjNjQ4
NWE3Y2Q5NGQ4NzQyYTA3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0Mmd0
ay5wYy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQyZ3RrLnBjLmluCkBAIC0yLDYg
KzIsNyBAQCBwcmVmaXg9QENNQUtFX0lOU1RBTExfUFJFRklYQAogZXhlY19wcmVmaXg9JHtwcmVm
aXh9CiBsaWJkaXI9QExJQl9JTlNUQUxMX0RJUkAKIGluY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1
ZGUKK3JldmlzaW9uPUBTVk5fUkVWSVNJT05ACiAKIE5hbWU6IFdlYktpdEdUSwogRGVzY3JpcHRp
b246IFdlYiBjb250ZW50IGVuZ2luZSBmb3IgR1RLCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjk3Mzg5Yzg0ZjU3NjVhNGUxNDYzMTY2MzAwM2Fj
ODkzYjE4NTYzNS4uNGEyYjIwYzM2OTdjOWNjOThjOWExYmVkNWIwZjRiZDM2M2I1MjVkYyAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI5IEBACisyMDIxLTA3LTAyICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNv
bT4KKworICAgICAgICBbR1RLXSBQYWNrIGhlYWRlciBhbmQgLnBjIGZpbGVzIGluIHRoZSBidWls
dC1wcm9kdWN0IGFyY2hpdmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNzUyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSBoZWFkZXIgZmlsZXMgYW5kIHBrZy1jb25maWcgZmlsZXMgbmVlZGVkIHRv
IGJ1aWxkIFdlYktpdEdUSyBhcHBzIGFyZSBub3cgaW5jbHVkZWQgaW4gdGhlCisgICAgICAgIGJ1
aWx0IHByb2R1Y3QgemlwIGZpbGUuIEFzIHRoZXkncmUgdGV4dCBmaWxlcyB0aGUgaW1wYWN0IG9u
IHRoZSB6aXAgc2l6ZSBzaG91bGQgbm90IGJlCisgICAgICAgIHNpZ25pZmljYW50LiBJbiBvcmRl
ciB0byBzdXBwb3J0IHRoaXMsIHR3byBjaGFuZ2VzIGFyZSBpbnRyb2R1Y2VkIGZvciB0aGUgR1RL
IGJ1aWxkIGJvdDoKKworICAgICAgICAtIGJ1aWxkLXdlYmtpdCBpcyBub3cgY2FsbGVkIHdpdGgg
YSAtLXByZWZpeCBvcHRpb24KKyAgICAgICAgLSBhIG5ldyBidWlsZCBzdGVwIGhhcyBiZWVuIGFk
ZGVkLCB3aGljaCBpbnN0YWxscyB0aGUgYnVpbHQgZmlsZXMgaW4gdGhlIGdpdmVuIHByZWZpeCBk
aXJlY3RvcnkKKworICAgICAgICBUaGVuIGJ1aWx0LXByb2R1Y3QtYXJjaGl2ZSBjYW4gc2ltcGx5
IHBhY2sgZmlsZXMgZnJvbSB0aGUgaW5zdGFsbCBwcmVmaXggZGlyZWN0b3J5LgorCisgICAgICAg
IEFkZGl0aW9uYWxseSB0aGUgLmEgKHBvdGVudGlhbGx5IGJpZykgZmlsZXMgYXJlIG5vdyBleGNs
dWRlZCBmcm9tIHRoZSB6aXAgYXJjaGl2ZS4KKworICAgICAgICAqIENJU3VwcG9ydC9idWlsZC13
ZWJraXQtb3JnL2ZhY3Rvcmllcy5weToKKyAgICAgICAgKEJ1aWxkRmFjdG9yeS5fX2luaXRfXyk6
CisgICAgICAgICogQ0lTdXBwb3J0L2J1aWxkLXdlYmtpdC1vcmcvc3RlcHMucHk6CisgICAgICAg
IChDb21waWxlV2ViS2l0LnN0YXJ0KToKKyAgICAgICAgKEluc3RhbGxCdWlsdFByb2R1Y3QpOgor
ICAgICAgICAqIENJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmU6CisgICAgICAgICogU2Ny
aXB0cy9pbnN0YWxsLWJ1aWx0LXByb2R1Y3Q6IEFkZGVkLgorCiAyMDIxLTA3LTAyICBYYWJpZXIg
Um9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10g
bWVkaWEvZXZlbnQtYXR0cmlidXRlcy5odG1sIGZhaWxzIGlmIG1peGVyIGlzIG5vdCBhdCAxMDAl
CmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9mYWN0b3JpZXMu
cHkgYi9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9mYWN0b3JpZXMucHkKaW5kZXgg
NzliM2ZmODYzNzY0ZjdjNTJjODQwYTFkNjQ5YTg1NmIyNDQ5Y2EzNC4uYjliNzUyNDc4MzIzNzMy
MjdhZmY2YzRiNzUzZjUxM2QyMTYyMDg0ZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2J1
aWxkLXdlYmtpdC1vcmcvZmFjdG9yaWVzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13
ZWJraXQtb3JnL2ZhY3Rvcmllcy5weQpAQCAtNjMsNiArNjMsOSBAQCBjbGFzcyBCdWlsZEZhY3Rv
cnkoRmFjdG9yeSk6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoR2VuZXJhdGVNaW5pQnJvd3Nl
ckJ1bmRsZSgpKQogCiAgICAgICAgIGlmIHRyaWdnZXJzOgorICAgICAgICAgICAgaWYgcGxhdGZv
cm0gPT0gImd0ayI6CisgICAgICAgICAgICAgICAgc2VsZi5hZGRTdGVwKEluc3RhbGxCdWlsdFBy
b2R1Y3QoKSkKKwogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKEFyY2hpdmVCdWlsdFByb2R1Y3Qo
KSkKICAgICAgICAgICAgIHNlbGYuYWRkU3RlcChVcGxvYWRCdWlsdFByb2R1Y3QoKSkKICAgICAg
ICAgICAgIGlmIHBsYXRmb3JtLnN0YXJ0c3dpdGgoJ21hYycpIG9yIHBsYXRmb3JtLnN0YXJ0c3dp
dGgoJ2lvcy1zaW11bGF0b3InKSBvciBwbGF0Zm9ybS5zdGFydHN3aXRoKCd0dm9zLXNpbXVsYXRv
cicpIG9yIHBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dhdGNob3Mtc2ltdWxhdG9yJyk6CmRpZmYgLS1n
aXQgYS9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9zdGVwcy5weSBiL1Rvb2xzL0NJ
U3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzLnB5CmluZGV4IGJlYzA1NzAwNWVlMzYzNDYy
N2Q4YjgwODVmZWRiNjc2YWZhYWMzMGQuLjAxNDc5N2RkMzA5ZWQyOTBiYzMyZDdmYmY1OWIwNjdl
OGNkOTFkYWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0
ZXBzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzLnB5CkBA
IC0yODksNiArMjg5LDkgQEAgY2xhc3MgQ29tcGlsZVdlYktpdChzaGVsbC5Db21waWxlKToKICAg
ICAgICAgICAgICMgdGhpcyBtdWNoIGZhc3RlciB0aGFuIGZ1bGwgZGVidWcgaW5mbywgYW5kIGNy
YXNoIGxvZ3Mgc3RpbGwgaGF2ZSBsaW5lIG51bWJlcnMuCiAgICAgICAgICAgICBzZWxmLnNldENv
bW1hbmQoc2VsZi5jb21tYW5kICsgWydERUJVR19JTkZPUk1BVElPTl9GT1JNQVQ9ZHdhcmYtd2l0
aC1kc3ltJ10pCiAgICAgICAgICAgICBzZWxmLnNldENvbW1hbmQoc2VsZi5jb21tYW5kICsgWydD
TEFOR19ERUJVR19JTkZPUk1BVElPTl9MRVZFTD1saW5lLXRhYmxlcy1vbmx5J10pCisgICAgICAg
IGlmIHBsYXRmb3JtID09ICdndGsnOgorICAgICAgICAgICAgcHJlZml4ID0gb3MucGF0aC5qb2lu
KCIvYXBwIiwgIndlYmtpdCIsICJXZWJLaXRCdWlsZCIsIHNlbGYuZ2V0UHJvcGVydHkoImNvbmZp
Z3VyYXRpb24iKSwgImluc3RhbGwiKQorICAgICAgICAgICAgc2VsZi5zZXRDb21tYW5kKHNlbGYu
Y29tbWFuZCArIFtmJy0tcHJlZml4PXtwcmVmaXh9J10pCiAKICAgICAgICAgYXBwZW5kQ3VzdG9t
QnVpbGRGbGFncyhzZWxmLCBwbGF0Zm9ybSwgc2VsZi5nZXRQcm9wZXJ0eSgnZnVsbFBsYXRmb3Jt
JykpCiAKQEAgLTMyMSw2ICszMjQsMTAgQEAgY2xhc3MgQ29tcGlsZUpTQ09ubHkoQ29tcGlsZVdl
YktpdCk6CiAgICAgY29tbWFuZCA9IFsicGVybCIsICIuL1Rvb2xzL1NjcmlwdHMvYnVpbGQtanNj
IiwgV2l0aFByb3BlcnRpZXMoIi0tJShjb25maWd1cmF0aW9uKXMiKV0KIAogCitjbGFzcyBJbnN0
YWxsQnVpbHRQcm9kdWN0KHNoZWxsLlNoZWxsQ29tbWFuZCk6CisgICAgY29tbWFuZCA9IFsicHl0
aG9uMyIsICJUb29scy9TY3JpcHRzL2luc3RhbGwtYnVpbHQtcHJvZHVjdCIsCisgICAgICAgICAg
ICAgICBXaXRoUHJvcGVydGllcygiLS1wbGF0Zm9ybT0lKGZ1bGxQbGF0Zm9ybSlzIiksIFdpdGhQ
cm9wZXJ0aWVzKCItLSUoY29uZmlndXJhdGlvbilzIildCisKIGNsYXNzIEFyY2hpdmVCdWlsdFBy
b2R1Y3Qoc2hlbGwuU2hlbGxDb21tYW5kKToKICAgICBjb21tYW5kID0gWyJweXRob24zIiwgIlRv
b2xzL0NJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmUiLAogICAgICAgICAgICAgICAgV2l0
aFByb3BlcnRpZXMoIi0tcGxhdGZvcm09JShmdWxsUGxhdGZvcm0pcyIpLCBXaXRoUHJvcGVydGll
cygiLS0lKGNvbmZpZ3VyYXRpb24pcyIpLCAiYXJjaGl2ZSJdCmRpZmYgLS1naXQgYS9Ub29scy9D
SVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9zdGVwc191bml0dGVzdC5weSBiL1Rvb2xzL0NJU3Vw
cG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzX3VuaXR0ZXN0LnB5CmluZGV4IGQyNWFjN2RlNGM2
MTM1ODg4NGQ1MzFkYmQ5ODA2MzA2MGVkMWU1YWUuLjdmNDcyNGQ5NDBjMmRhYzc4Yzk2ZmZmMTU4
MjRiZjI5Mjk4OWFhNDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQt
b3JnL3N0ZXBzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQt
b3JnL3N0ZXBzX3VuaXR0ZXN0LnB5CkBAIC00MjAsNyArNDIwLDcgQEAgY2xhc3MgVGVzdENvbXBp
bGVXZWJLaXQoQnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICAgICAgICAgICAgICB3b3JrZGlyPSd3a2RpcicsCiAgICAgICAgICAgICAgICAgdGltZW91dD0x
MjAwLAogICAgICAgICAgICAgICAgIGxvZ0Vudmlyb249VHJ1ZSwKLSAgICAgICAgICAgICAgICBj
b21tYW5kPVsncGVybCcsICcuL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0JywgJy0tcmVsZWFz
ZScsICctLWd0ayddLAorICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydwZXJsJywgJy4vVG9vbHMv
U2NyaXB0cy9idWlsZC13ZWJraXQnLCAnLS1yZWxlYXNlJywgJy0tcHJlZml4PS9hcHAvd2Via2l0
L1dlYktpdEJ1aWxkL3JlbGVhc2UvaW5zdGFsbCcsICctLWd0ayddLAogICAgICAgICAgICAgKSAr
IDAsCiAgICAgICAgICkKICAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNT
LCBzdGF0ZV9zdHJpbmc9J2NvbXBpbGVkJykKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9i
dWlsdC1wcm9kdWN0LWFyY2hpdmUgYi9Ub29scy9DSVN1cHBvcnQvYnVpbHQtcHJvZHVjdC1hcmNo
aXZlCm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKaW5kZXggZDE1M2MwMzQwZmEyY2Rj
MTAzYTZmNmVjNzFmNDdkZTNjNDE2NmI5Ni4uOGJkYmZhZGFhNGYwN2Q2YmJlOWM1YjljM2IzZTQ0
MWJkY2I5ZjU1MQotLS0gYS9Ub29scy9DSVN1cHBvcnQvYnVpbHQtcHJvZHVjdC1hcmNoaXZlCisr
KyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmUKQEAgLTExMCw3ICsxMTAs
NyBAQCBkZWYgY29weUJ1aWxkRmlsZXMoc291cmNlLCBkZXN0aW5hdGlvbiwgcGF0dGVybnMpOgog
ICAgIHNodXRpbC5jb3B5dHJlZShzb3VyY2UsIGRlc3RpbmF0aW9uLCBpZ25vcmU9c2h1dGlsLmln
bm9yZV9wYXR0ZXJucygqcGF0dGVybnMpKQogCiAKLWRlZiBjcmVhdGVaaXBGcm9tTGlzdChsaXN0
VG9aaXAsIGNvbmZpZ3VyYXRpb24sIGV4Y2x1ZGVQYXR0ZXJuPU5vbmUpOgorZGVmIGNyZWF0ZVpp
cEZyb21MaXN0KGxpc3RUb1ppcCwgY29uZmlndXJhdGlvbiwgZXhjbHVkZVBhdHRlcm5zPU5vbmUp
OgogICAgIGdsb2JhbCBfdG9wTGV2ZWxCdWlsZERpcmVjdG9yeQogICAgIGdsb2JhbCBfY29uZmln
dXJhdGlvbkJ1aWxkRGlyZWN0b3J5CiAgICAgYXJjaGl2ZURpciA9IF90b3BMZXZlbEJ1aWxkRGly
ZWN0b3J5CkBAIC0xMjQsOCArMTI0LDkgQEAgZGVmIGNyZWF0ZVppcEZyb21MaXN0KGxpc3RUb1pp
cCwgY29uZmlndXJhdGlvbiwgZXhjbHVkZVBhdHRlcm49Tm9uZSk6CiAKICAgICBpZiBzeXMucGxh
dGZvcm0uc3RhcnRzd2l0aCgnbGludXgnKToKICAgICAgICAgemlwQ29tbWFuZCA9IFsnemlwJywg
Jy15JywgJy1yJywgYXJjaGl2ZUZpbGVdICsgbGlzdFRvWmlwCi0gICAgICAgIGlmIGV4Y2x1ZGVQ
YXR0ZXJuOgotICAgICAgICAgICAgemlwQ29tbWFuZCArPSBbJy14JywgZXhjbHVkZVBhdHRlcm5d
CisgICAgICAgIGlmIGV4Y2x1ZGVQYXR0ZXJuczoKKyAgICAgICAgICAgIGZvciBleGNsdWRlUGF0
dGVybiBpbiBleGNsdWRlUGF0dGVybnM6CisgICAgICAgICAgICAgICAgemlwQ29tbWFuZCArPSBb
Jy14JywgZXhjbHVkZVBhdHRlcm5dCiAgICAgICAgIHJldHVybiBzdWJwcm9jZXNzLmNhbGwoemlw
Q29tbWFuZCwgY3dkPV9jb25maWd1cmF0aW9uQnVpbGREaXJlY3RvcnkpCiAKICAgICByYWlzZSBO
b3RJbXBsZW1lbnRlZEVycm9yKCdVbnN1cHBvcnRlZCBwbGF0Zm9ybToge3BsYXRmb3JtfScuZm9y
bWF0KHBsYXRmb3JtPXN5cy5wbGF0Zm9ybSkpCkBAIC0yNDAsMjQgKzI0MSwyOSBAQCBkZWYgYXJj
aGl2ZUJ1aWx0UHJvZHVjdChjb25maWd1cmF0aW9uLCBwbGF0Zm9ybSwgZnVsbFBsYXRmb3JtLCBt
aW5pZnk9RmFsc2UpOgogICAgICAgICAjIE9uIEdUSysvV1BFL0pTQyB3ZSBkb24ndCBuZWVkIHRo
ZSBpbnRlcm1lZGlhdGUgc3RlcCBvZiBjcmVhdGluZyBhIHRoaW5EaXJlY3RvcnkKICAgICAgICAg
IyB0byBiZSBjb21wcmVzc2VkIGluIGEgWklQIGZpbGUsIGJlY2F1c2Ugd2UgY2FuIGNyZWF0ZSB0
aGUgWklQIGRpcmVjdGx5LgogICAgICAgICAjIFRoaXMgaXMgZmFzdGVyIGFuZCByZXF1aXJlcyBs
ZXNzIGRpc2sgcmVzb3VyY2VzLgotICAgICAgICBjb250ZW50cyA9IFsnYmluJywgJ2xpYiddCi0K
LSAgICAgICAgIyBGb3IgV1BFIHBhY2sgdGhlIENvZyBicm93c2VyIGFzIHdlbGwgaWYgaXQncyBw
cmVzZW50LgotICAgICAgICBjb2dEaXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4oJ1Rvb2xzJywgJ2Nv
Zy1wcmVmaXgnLCAnc3JjJywgJ2NvZy1idWlsZCcpCi0gICAgICAgIGFic29sdXRlQ29nRGlyZWN0
b3J5ID0gb3MucGF0aC5qb2luKF9jb25maWd1cmF0aW9uQnVpbGREaXJlY3RvcnksIGNvZ0RpcmVj
dG9yeSkKLSAgICAgICAgaWYgcGxhdGZvcm0gPT0gJ3dwZScgYW5kIG9zLnBhdGguaXNkaXIoYWJz
b2x1dGVDb2dEaXJlY3RvcnkpOgotICAgICAgICAgICAgY29udGVudHMuZXh0ZW5kKFtvcy5wYXRo
LmpvaW4oY29nRGlyZWN0b3J5LCBmaWxlbmFtZV9vcl9kaXJlY3RvcnkpIGZvciBmaWxlbmFtZV9v
cl9kaXJlY3RvcnkgaW4gWydjb2cnLCAnY29nY3RsJywgJ21vZHVsZXMnXV0pCisgICAgICAgIGlm
IHBsYXRmb3JtIGluICgnanNjJywgJ3dwZScpOgorICAgICAgICAgICAgY29udGVudHMgPSBbJ2Jp
bicsICdsaWInXQorCisgICAgICAgIGlmIHBsYXRmb3JtID09ICd3cGUnOgorICAgICAgICAgICAg
IyBGb3IgV1BFIHBhY2sgdGhlIENvZyBicm93c2VyIGFzIHdlbGwgaWYgaXQncyBwcmVzZW50Lgor
ICAgICAgICAgICAgY29nRGlyZWN0b3J5ID0gb3MucGF0aC5qb2luKCdUb29scycsICdjb2ctcHJl
Zml4JywgJ3NyYycsICdjb2ctYnVpbGQnKQorICAgICAgICAgICAgYWJzb2x1dGVDb2dEaXJlY3Rv
cnkgPSBvcy5wYXRoLmpvaW4oX2NvbmZpZ3VyYXRpb25CdWlsZERpcmVjdG9yeSwgY29nRGlyZWN0
b3J5KQorICAgICAgICAgICAgaWYgb3MucGF0aC5pc2RpcihhYnNvbHV0ZUNvZ0RpcmVjdG9yeSk6
CisgICAgICAgICAgICAgICAgY29udGVudHMuZXh0ZW5kKFtvcy5wYXRoLmpvaW4oY29nRGlyZWN0
b3J5LCBmaWxlbmFtZV9vcl9kaXJlY3RvcnkpIGZvciBmaWxlbmFtZV9vcl9kaXJlY3RvcnkgaW4g
Wydjb2cnLCAnY29nY3RsJywgJ21vZHVsZXMnXV0pCiAgICAgICAgICAgICBmb3IgZmlsZW5hbWUg
aW4gb3MubGlzdGRpcihhYnNvbHV0ZUNvZ0RpcmVjdG9yeSk6CiAgICAgICAgICAgICAgICAgaWYg
ZmlsZW5hbWUuc3RhcnRzd2l0aCgnbGliY29nY29yZScpOgogICAgICAgICAgICAgICAgICAgICBj
b250ZW50cy5hcHBlbmQob3MucGF0aC5qb2luKGNvZ0RpcmVjdG9yeSwgZmlsZW5hbWUpKQogCisg
ICAgICAgIGlmIHBsYXRmb3JtID09ICdndGsnOgorICAgICAgICAgICAgY29udGVudHMgPSBbb3Mu
cGF0aC5qb2luKCdpbnN0YWxsJywgZGlyZWN0b3J5KSBmb3IgZGlyZWN0b3J5IGluIFsnYmluJywg
J2luY2x1ZGUnLCAnbGliJywgJ2xpYmV4ZWMnXV0KKwogICAgICAgICAjIFdoZW4gZGVidWcgZmlz
c2lvbiBpcyBlbmFibGVkIHRoZSBkaXJlY3RvcmllcyBiZWxvdyBjb250YWluIGR3byBmaWxlcwog
ICAgICAgICAjIHdpdGggdGhlIGRlYnVnIGluZm9ybWF0aW9uIG5lZWRlZCB0byBnZW5lcmF0ZSBi
YWNrdHJhY2VzIHdpdGggR0RCLgogICAgICAgICBmb3Igb2JqZWN0RGlyIGluIFsnVG9vbHMnLCAn
U291cmNlJ106CiAgICAgICAgICAgICBpZiBkaXJDb250YWluc2R3byhvYmplY3REaXIpOgogICAg
ICAgICAgICAgICAgIGNvbnRlbnRzLmFwcGVuZChvYmplY3REaXIpCiAKLSAgICAgICAgaWYgY3Jl
YXRlWmlwRnJvbUxpc3QoY29udGVudHMsIGNvbmZpZ3VyYXRpb24sIGV4Y2x1ZGVQYXR0ZXJuPScq
Lm8nKToKKyAgICAgICAgaWYgY3JlYXRlWmlwRnJvbUxpc3QoY29udGVudHMsIGNvbmZpZ3VyYXRp
b24sIGV4Y2x1ZGVQYXR0ZXJucz1bJyoubycsICcqLmEnXSk6CiAgICAgICAgICAgICByZXR1cm4g
MQogCiBkZWYgdW56aXBBcmNoaXZlKGRpcmVjdG9yeVRvRXh0cmFjdFRvLCBjb25maWd1cmF0aW9u
KToKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkgYi9Ub29s
cy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5CmluZGV4IDY0ZjhkNzgzZjcwNDI1Zjg3MDgz
NGQ4ZDY3OWRiN2ZmNDBiYTY0NTYuLmJkM2MyMTUxZWI5ZDYwMWM3ZmM1ZDhhNmFlNDI0OTIzYTk5
NzI2MzIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkKKysr
IGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQpAQCAtMTU1OSw2ICsxNTU5LDkg
QEAgY2xhc3MgQ29tcGlsZVdlYktpdChzaGVsbC5Db21waWxlKToKICAgICAgICAgICAgICMgdGhp
cyBtdWNoIGZhc3RlciB0aGFuIGZ1bGwgZGVidWcgaW5mbywgYW5kIGNyYXNoIGxvZ3Mgc3RpbGwg
aGF2ZSBsaW5lIG51bWJlcnMuCiAgICAgICAgICAgICBzZWxmLnNldENvbW1hbmQoc2VsZi5jb21t
YW5kICsgWydERUJVR19JTkZPUk1BVElPTl9GT1JNQVQ9ZHdhcmYtd2l0aC1kc3ltJ10pCiAgICAg
ICAgICAgICBzZWxmLnNldENvbW1hbmQoc2VsZi5jb21tYW5kICsgWydDTEFOR19ERUJVR19JTkZP
Uk1BVElPTl9MRVZFTD1saW5lLXRhYmxlcy1vbmx5J10pCisgICAgICAgIGlmIHBsYXRmb3JtID09
ICdndGsnOgorICAgICAgICAgICAgcHJlZml4ID0gb3MucGF0aC5qb2luKCIvYXBwIiwgIndlYmtp
dCIsICJXZWJLaXRCdWlsZCIsIHNlbGYuZ2V0UHJvcGVydHkoImNvbmZpZ3VyYXRpb24iKSwgImlu
c3RhbGwiKQorICAgICAgICAgICAgc2VsZi5zZXRDb21tYW5kKHNlbGYuY29tbWFuZCArIFtmJy0t
cHJlZml4PXtwcmVmaXh9J10pCiAKICAgICAgICAgYXBwZW5kQ3VzdG9tQnVpbGRGbGFncyhzZWxm
LCBwbGF0Zm9ybSwgc2VsZi5nZXRQcm9wZXJ0eSgnZnVsbFBsYXRmb3JtJykpCiAKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkgYi9Ub29scy9D
SVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CmluZGV4IGNhODM0NDNlOTZkNWJm
YjI5ZjkzOGYzZGZiMWJhZmRjOWNkMGIxNjIuLjkzOWE2ZGFkNGQ2NTAyNWRmNzYwYjcyZWQ0ODNk
MTJkY2E5ZmEyNmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNf
dW5pdHRlc3QucHkKKysrIGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVz
dC5weQpAQCAtMTA3OSw3ICsxMDc5LDcgQEAgY2xhc3MgVGVzdENvbXBpbGVXZWJLaXQoQnVpbGRT
dGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5leHBl
Y3RSZW1vdGVDb21tYW5kcygKICAgICAgICAgICAgIEV4cGVjdFNoZWxsKHdvcmtkaXI9J3drZGly
JywKICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ0Vudmlyb249RmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICBjb21tYW5kPVsncGVybCcsICdUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtp
dCcsICctLXJlbGVhc2UnLCAnLS1ndGsnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1h
bmQ9WydwZXJsJywgJ1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0JywgJy0tcmVsZWFzZScsICct
LXByZWZpeD0vYXBwL3dlYmtpdC9XZWJLaXRCdWlsZC9yZWxlYXNlL2luc3RhbGwnLCAnLS1ndGsn
XSwKICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICsgMCwKICAgICAgICAg
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9pbnN0YWxsLWJ1aWx0LXByb2R1Y3QgYi9Ub29s
cy9TY3JpcHRzL2luc3RhbGwtYnVpbHQtcHJvZHVjdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OTM5YTgzZmJkYTFh
OGU3NmVhZTk5YjVjODI1YWJjNTVlMTE2MWI5Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2Ny
aXB0cy9pbnN0YWxsLWJ1aWx0LXByb2R1Y3QKQEAgLTAsMCArMSw2NiBAQAorIyEvdXNyL2Jpbi9l
bnYgcHl0aG9uMworIyBDb3B5cmlnaHQgKEMpIDIwMjEsIElnYWxpYSBTLkwKKyMKKyMgUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIworIyAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIwor
IyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWQorIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQorIyBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworIyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7CisjIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorIyBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YKKyMgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKworaW1wb3J0IG9wdHBhcnNlCitpbXBvcnQgb3MKK2ltcG9y
dCBzdWJwcm9jZXNzCitpbXBvcnQgc3lzCisKK2lmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCds
aW51eCcpOgorICAgIHRvcF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBh
dGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAnLi4nLCAnLi4nKSkKKyAgICBzeXMu
cGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICdUb29scycs
ICdmbGF0cGFrJykpCisgICAgc3lzLnBhdGguaW5zZXJ0KDEsIG9zLnBhdGguam9pbih0b3BfbGV2
ZWxfZGlyZWN0b3J5LCAnVG9vbHMnLCAnU2NyaXB0cycpKQorCisgICAgaW1wb3J0IGZsYXRwYWt1
dGlscworICAgIGZsYXRwYWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lzLmFy
Z3YpCisKK2RlZiBtYWluKCk6CisgICAgcGFyc2VyID0gb3B0cGFyc2UuT3B0aW9uUGFyc2VyKCkK
KyAgICBwYXJzZXIuYWRkX29wdGlvbigiLS1wbGF0Zm9ybSIpCisgICAgcGFyc2VyLmFkZF9vcHRp
b24oIi0tZGVidWciLCBhY3Rpb249InN0b3JlX2NvbnN0IiwgY29uc3Q9ImRlYnVnIiwgZGVzdD0i
Y29uZmlndXJhdGlvbiIpCisgICAgcGFyc2VyLmFkZF9vcHRpb24oIi0tcmVsZWFzZSIsIGFjdGlv
bj0ic3RvcmVfY29uc3QiLCBjb25zdD0icmVsZWFzZSIsIGRlc3Q9ImNvbmZpZ3VyYXRpb24iKQor
CisgICAgb3B0aW9ucywgcGFyYW1ldGVycyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKKyAgICBpZiBu
b3Qgb3B0aW9ucy5wbGF0Zm9ybToKKyAgICAgICAgcGFyc2VyLmVycm9yKCJQbGF0Zm9ybSBpcyBy
ZXF1aXJlZCIpCisgICAgICAgIHJldHVybiAtMQorICAgIGlmIG5vdCBvcHRpb25zLmNvbmZpZ3Vy
YXRpb246CisgICAgICAgIHBhcnNlci5lcnJvcigiQ29uZmlndXJhdGlvbiBpcyByZXF1aXJlZCIp
CisgICAgICAgIHJldHVybiAtMgorCisgICAgcGxhdGZvcm0gPSBvcHRpb25zLnBsYXRmb3JtLnNw
bGl0KCctJywgMSlbMF0KKworICAgIHdlYmtpdF9idWlsZF9kaXJlY3RvcnkgPSBzdWJwcm9jZXNz
LlBvcGVuKFsncGVybCcsIG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAi
d2Via2l0LWJ1aWxkLWRpcmVjdG9yeSIpLAorICAgICAgICAiLS0iICsgcGxhdGZvcm0sICItLSIg
KyBvcHRpb25zLmNvbmZpZ3VyYXRpb24sICctLWNvbmZpZ3VyYXRpb24nXSwgc3Rkb3V0PXN1YnBy
b2Nlc3MuUElQRSkuY29tbXVuaWNhdGUoKVswXS5zdHJpcCgpCisKKyAgICBpZiBwbGF0Zm9ybSA9
PSAnZ3RrJzoKKyAgICAgICAgcmVzdWx0ID0gc3VicHJvY2Vzcy5ydW4oWyJjbWFrZSIsICItLWlu
c3RhbGwiLCB3ZWJraXRfYnVpbGRfZGlyZWN0b3J5XSkucmV0dXJuY29kZQorICAgIGVsc2U6Cisg
ICAgICAgIHBhcnNlci5lcnJvcihmIlBsYXRmb3JtIHtwbGF0Zm9ybX0gaXMgbm90IHN1cHBvcnRl
ZCB5ZXQiKQorICAgICAgICByZXR1cm4gLTMKKworICAgIHJldHVybiByZXN1bHQKKworaWYgX19u
YW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICBzeXMuZXhpdChtYWluKCkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432778</attachid>
            <date>2021-07-02 04:19:00 -0700</date>
            <delta_ts>2021-07-02 04:28:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227526-20210702041858.patch</filename>
            <type>text/plain</type>
            <size>18296</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
YzFlN2YxZDFlNTM3MWVhNjA5NTFiZGI4NzNkOTM5NWQ0MzQ0YWQ0Li5mMTIzZjczYmFhNGQ2ZDBh
ZjdiYzc3OTQzYWNlMDhjZDc3MDI3NmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAyMS0wNy0wMiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS10gUGFjayBoZWFkZXIgYW5kIC5wYyBmaWxlcyBpbiB0aGUg
YnVpbHQtcHJvZHVjdCBhcmNoaXZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjc1MjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGphdmFzY3JpcHRjb3JlZ3RrLnBjLmluOiBJbmNsdWRlIFNWTl9SRVZJ
U0lPTiBhcyByZXZpc2lvbiB2YXJpYWJsZSwgdXNlZnVsIGZvciBhcHBzIHRvCisgICAgICAgIGtu
b3cgb24gd2hpY2ggdXBzdHJlYW0gU1ZOIHJldmlzaW9uIHRoZWlyIFdlYktpdEdUSy1iYXNlZCBh
cHAgaXMgYnVpbHQgb24uCisKIDIwMjEtMDctMDEgIFlpamlhIEh1YW5nICA8eWlqaWFfaHVhbmdA
YXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2FyeSBjYW5CZUludGVybmFsIGlu
dm9jYXRpb25zIHRvIG1pdGlnYXRlIHRoZSBjb3N0IG9mIHBvdGVudGlhbCB1bm1hdGNoZWQgcGF0
dGVybnMgaW4gQjNMb3dlclRvQWlyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDhlMjJhYjNhZjQyNzZkNjFjMzRhMWVl
MTQ5YzRhZTRkOGU4MGMyNDcuLmJlNGQ1NzhjMmZjMWQ4N2NlYjJhNjYzODI0Y2I2ZGUzNTE4Yjgy
MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDctMDIgIFBoaWxpcHBlIE5vcm1h
bmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFBhY2sgaGVhZGVyIGFu
ZCAucGMgZmlsZXMgaW4gdGhlIGJ1aWx0LXByb2R1Y3QgYXJjaGl2ZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3NTI2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5jbHVkZSBTVk5fUkVWSVNJT04gYXMg
cmV2aXNpb24gdmFyaWFibGUsIHVzZWZ1bCBmb3IgYXBwcyB0byBrbm93IG9uIHdoaWNoIHVwc3Ry
ZWFtIFNWTgorICAgICAgICByZXZpc2lvbiB0aGVpciBXZWJLaXRHVEstYmFzZWQgYXBwIGlzIGJ1
aWx0IG9uLgorCisgICAgICAgICogZ3RrL3dlYmtpdDJndGstd2ViLWV4dGVuc2lvbi5wYy5pbjoK
KyAgICAgICAgKiBndGsvd2Via2l0Mmd0ay5wYy5pbjoKKwogMjAyMS0wNy0wMSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFttYWNPU10gU3VzcGVuZCBXZWJQcm9j
ZXNzZXMgdGhhdCBhcmUgaW4gdGhlIHByb2Nlc3MgY2FjaGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qYXZhc2NyaXB0Y29yZWd0ay5wYy5pbiBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qYXZhc2NyaXB0Y29yZWd0ay5wYy5pbgppbmRleCBjNDM0ZjkwMzg0MTZiMjIzZjVmMjIz
OGYzMTc1ZDRkMTMwZjUxODI5Li41NTdmNzUyZGE4YTNjYWFlMmRhNDlmZjQyYzRjMjdmZjYxZWFk
YzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvamF2YXNjcmlwdGNvcmVndGsu
cGMuaW4KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2phdmFzY3JpcHRjb3JlZ3RrLnBjLmlu
CkBAIC0yLDYgKzIsNyBAQCBwcmVmaXg9QENNQUtFX0lOU1RBTExfUFJFRklYQAogZXhlY19wcmVm
aXg9JHtwcmVmaXh9CiBsaWJkaXI9QExJQl9JTlNUQUxMX0RJUkAKIGluY2x1ZGVkaXI9JHtwcmVm
aXh9L2luY2x1ZGUKK3JldmlzaW9uPUBTVk5fUkVWSVNJT05ACiAKIE5hbWU6IEphdmFTY3JpcHRD
b3JlR1RLKwogRGVzY3JpcHRpb246IEdUSysgdmVyc2lvbiBvZiB0aGUgSmF2YVNjcmlwdENvcmUg
ZW5naW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQyZ3RrLXdlYi1leHRl
bnNpb24ucGMuaW4gYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQyZ3RrLXdlYi1leHRlbnNpb24u
cGMuaW4KaW5kZXggNjhiMDMwYjY1OTU4ZDZlMzUyY2VhMWUzNDkzYTM1MDE0NjRlMGQwMC4uMzA5
NzExMzU5NTE2ZjY1MGUyM2ZkYTUxZjY1MDY5OTBmOGQ1NDMxOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9ndGsvd2Via2l0Mmd0ay13ZWItZXh0ZW5zaW9uLnBjLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZ3RrL3dlYmtpdDJndGstd2ViLWV4dGVuc2lvbi5wYy5pbgpAQCAtMiw2ICsyLDcgQEAg
cHJlZml4PUBDTUFLRV9JTlNUQUxMX1BSRUZJWEAKIGV4ZWNfcHJlZml4PSR7cHJlZml4fQogbGli
ZGlyPUBMSUJfSU5TVEFMTF9ESVJACiBpbmNsdWRlZGlyPSR7cHJlZml4fS9pbmNsdWRlCityZXZp
c2lvbj1AU1ZOX1JFVklTSU9OQAogCiBOYW1lOiBXZWJLaXRHVEsgd2ViIHByb2Nlc3MgZXh0ZW5z
aW9ucwogRGVzY3JpcHRpb246IFdlYiBjb250ZW50IGVuZ2luZSBmb3IgR1RLIC0gd2ViIHByb2Nl
c3MgZXh0ZW5zaW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0Mmd0ay5w
Yy5pbiBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdDJndGsucGMuaW4KaW5kZXggZTdjMGQ2MDFl
MjYxZmM0OTA3YmFiODAzMWMzNTJlZGU2YThhZGY3ZC4uMGFkZWZhNWQ2NzRmNTA1ZWJkMDVjNjQ4
NWE3Y2Q5NGQ4NzQyYTA3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0Mmd0
ay5wYy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQyZ3RrLnBjLmluCkBAIC0yLDYg
KzIsNyBAQCBwcmVmaXg9QENNQUtFX0lOU1RBTExfUFJFRklYQAogZXhlY19wcmVmaXg9JHtwcmVm
aXh9CiBsaWJkaXI9QExJQl9JTlNUQUxMX0RJUkAKIGluY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1
ZGUKK3JldmlzaW9uPUBTVk5fUkVWSVNJT05ACiAKIE5hbWU6IFdlYktpdEdUSwogRGVzY3JpcHRp
b246IFdlYiBjb250ZW50IGVuZ2luZSBmb3IgR1RLCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjk3Mzg5Yzg0ZjU3NjVhNGUxNDYzMTY2MzAwM2Fj
ODkzYjE4NTYzNS4uNGEyYjIwYzM2OTdjOWNjOThjOWExYmVkNWIwZjRiZDM2M2I1MjVkYyAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI5IEBACisyMDIxLTA3LTAyICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNv
bT4KKworICAgICAgICBbR1RLXSBQYWNrIGhlYWRlciBhbmQgLnBjIGZpbGVzIGluIHRoZSBidWls
dC1wcm9kdWN0IGFyY2hpdmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNzUyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSBoZWFkZXIgZmlsZXMgYW5kIHBrZy1jb25maWcgZmlsZXMgbmVlZGVkIHRv
IGJ1aWxkIFdlYktpdEdUSyBhcHBzIGFyZSBub3cgaW5jbHVkZWQgaW4gdGhlCisgICAgICAgIGJ1
aWx0IHByb2R1Y3QgemlwIGZpbGUuIEFzIHRoZXkncmUgdGV4dCBmaWxlcyB0aGUgaW1wYWN0IG9u
IHRoZSB6aXAgc2l6ZSBzaG91bGQgbm90IGJlCisgICAgICAgIHNpZ25pZmljYW50LiBJbiBvcmRl
ciB0byBzdXBwb3J0IHRoaXMsIHR3byBjaGFuZ2VzIGFyZSBpbnRyb2R1Y2VkIGZvciB0aGUgR1RL
IGJ1aWxkIGJvdDoKKworICAgICAgICAtIGJ1aWxkLXdlYmtpdCBpcyBub3cgY2FsbGVkIHdpdGgg
YSAtLXByZWZpeCBvcHRpb24KKyAgICAgICAgLSBhIG5ldyBidWlsZCBzdGVwIGhhcyBiZWVuIGFk
ZGVkLCB3aGljaCBpbnN0YWxscyB0aGUgYnVpbHQgZmlsZXMgaW4gdGhlIGdpdmVuIHByZWZpeCBk
aXJlY3RvcnkKKworICAgICAgICBUaGVuIGJ1aWx0LXByb2R1Y3QtYXJjaGl2ZSBjYW4gc2ltcGx5
IHBhY2sgZmlsZXMgZnJvbSB0aGUgaW5zdGFsbCBwcmVmaXggZGlyZWN0b3J5LgorCisgICAgICAg
IEFkZGl0aW9uYWxseSB0aGUgLmEgKHBvdGVudGlhbGx5IGJpZykgZmlsZXMgYXJlIG5vdyBleGNs
dWRlZCBmcm9tIHRoZSB6aXAgYXJjaGl2ZS4KKworICAgICAgICAqIENJU3VwcG9ydC9idWlsZC13
ZWJraXQtb3JnL2ZhY3Rvcmllcy5weToKKyAgICAgICAgKEJ1aWxkRmFjdG9yeS5fX2luaXRfXyk6
CisgICAgICAgICogQ0lTdXBwb3J0L2J1aWxkLXdlYmtpdC1vcmcvc3RlcHMucHk6CisgICAgICAg
IChDb21waWxlV2ViS2l0LnN0YXJ0KToKKyAgICAgICAgKEluc3RhbGxCdWlsdFByb2R1Y3QpOgor
ICAgICAgICAqIENJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmU6CisgICAgICAgICogU2Ny
aXB0cy9pbnN0YWxsLWJ1aWx0LXByb2R1Y3Q6IEFkZGVkLgorCiAyMDIxLTA3LTAyICBYYWJpZXIg
Um9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10g
bWVkaWEvZXZlbnQtYXR0cmlidXRlcy5odG1sIGZhaWxzIGlmIG1peGVyIGlzIG5vdCBhdCAxMDAl
CmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9mYWN0b3JpZXMu
cHkgYi9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9mYWN0b3JpZXMucHkKaW5kZXgg
NzliM2ZmODYzNzY0ZjdjNTJjODQwYTFkNjQ5YTg1NmIyNDQ5Y2EzNC4uYjliNzUyNDc4MzIzNzMy
MjdhZmY2YzRiNzUzZjUxM2QyMTYyMDg0ZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2J1
aWxkLXdlYmtpdC1vcmcvZmFjdG9yaWVzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13
ZWJraXQtb3JnL2ZhY3Rvcmllcy5weQpAQCAtNjMsNiArNjMsOSBAQCBjbGFzcyBCdWlsZEZhY3Rv
cnkoRmFjdG9yeSk6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoR2VuZXJhdGVNaW5pQnJvd3Nl
ckJ1bmRsZSgpKQogCiAgICAgICAgIGlmIHRyaWdnZXJzOgorICAgICAgICAgICAgaWYgcGxhdGZv
cm0gPT0gImd0ayI6CisgICAgICAgICAgICAgICAgc2VsZi5hZGRTdGVwKEluc3RhbGxCdWlsdFBy
b2R1Y3QoKSkKKwogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKEFyY2hpdmVCdWlsdFByb2R1Y3Qo
KSkKICAgICAgICAgICAgIHNlbGYuYWRkU3RlcChVcGxvYWRCdWlsdFByb2R1Y3QoKSkKICAgICAg
ICAgICAgIGlmIHBsYXRmb3JtLnN0YXJ0c3dpdGgoJ21hYycpIG9yIHBsYXRmb3JtLnN0YXJ0c3dp
dGgoJ2lvcy1zaW11bGF0b3InKSBvciBwbGF0Zm9ybS5zdGFydHN3aXRoKCd0dm9zLXNpbXVsYXRv
cicpIG9yIHBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dhdGNob3Mtc2ltdWxhdG9yJyk6CmRpZmYgLS1n
aXQgYS9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9zdGVwcy5weSBiL1Rvb2xzL0NJ
U3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzLnB5CmluZGV4IGJlYzA1NzAwNWVlMzYzNDYy
N2Q4YjgwODVmZWRiNjc2YWZhYWMzMGQuLjAxNDc5N2RkMzA5ZWQyOTBiYzMyZDdmYmY1OWIwNjdl
OGNkOTFkYWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0
ZXBzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzLnB5CkBA
IC0yODksNiArMjg5LDkgQEAgY2xhc3MgQ29tcGlsZVdlYktpdChzaGVsbC5Db21waWxlKToKICAg
ICAgICAgICAgICMgdGhpcyBtdWNoIGZhc3RlciB0aGFuIGZ1bGwgZGVidWcgaW5mbywgYW5kIGNy
YXNoIGxvZ3Mgc3RpbGwgaGF2ZSBsaW5lIG51bWJlcnMuCiAgICAgICAgICAgICBzZWxmLnNldENv
bW1hbmQoc2VsZi5jb21tYW5kICsgWydERUJVR19JTkZPUk1BVElPTl9GT1JNQVQ9ZHdhcmYtd2l0
aC1kc3ltJ10pCiAgICAgICAgICAgICBzZWxmLnNldENvbW1hbmQoc2VsZi5jb21tYW5kICsgWydD
TEFOR19ERUJVR19JTkZPUk1BVElPTl9MRVZFTD1saW5lLXRhYmxlcy1vbmx5J10pCisgICAgICAg
IGlmIHBsYXRmb3JtID09ICdndGsnOgorICAgICAgICAgICAgcHJlZml4ID0gb3MucGF0aC5qb2lu
KCIvYXBwIiwgIndlYmtpdCIsICJXZWJLaXRCdWlsZCIsIHNlbGYuZ2V0UHJvcGVydHkoImNvbmZp
Z3VyYXRpb24iKSwgImluc3RhbGwiKQorICAgICAgICAgICAgc2VsZi5zZXRDb21tYW5kKHNlbGYu
Y29tbWFuZCArIFtmJy0tcHJlZml4PXtwcmVmaXh9J10pCiAKICAgICAgICAgYXBwZW5kQ3VzdG9t
QnVpbGRGbGFncyhzZWxmLCBwbGF0Zm9ybSwgc2VsZi5nZXRQcm9wZXJ0eSgnZnVsbFBsYXRmb3Jt
JykpCiAKQEAgLTMyMSw2ICszMjQsMTAgQEAgY2xhc3MgQ29tcGlsZUpTQ09ubHkoQ29tcGlsZVdl
YktpdCk6CiAgICAgY29tbWFuZCA9IFsicGVybCIsICIuL1Rvb2xzL1NjcmlwdHMvYnVpbGQtanNj
IiwgV2l0aFByb3BlcnRpZXMoIi0tJShjb25maWd1cmF0aW9uKXMiKV0KIAogCitjbGFzcyBJbnN0
YWxsQnVpbHRQcm9kdWN0KHNoZWxsLlNoZWxsQ29tbWFuZCk6CisgICAgY29tbWFuZCA9IFsicHl0
aG9uMyIsICJUb29scy9TY3JpcHRzL2luc3RhbGwtYnVpbHQtcHJvZHVjdCIsCisgICAgICAgICAg
ICAgICBXaXRoUHJvcGVydGllcygiLS1wbGF0Zm9ybT0lKGZ1bGxQbGF0Zm9ybSlzIiksIFdpdGhQ
cm9wZXJ0aWVzKCItLSUoY29uZmlndXJhdGlvbilzIildCisKIGNsYXNzIEFyY2hpdmVCdWlsdFBy
b2R1Y3Qoc2hlbGwuU2hlbGxDb21tYW5kKToKICAgICBjb21tYW5kID0gWyJweXRob24zIiwgIlRv
b2xzL0NJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmUiLAogICAgICAgICAgICAgICAgV2l0
aFByb3BlcnRpZXMoIi0tcGxhdGZvcm09JShmdWxsUGxhdGZvcm0pcyIpLCBXaXRoUHJvcGVydGll
cygiLS0lKGNvbmZpZ3VyYXRpb24pcyIpLCAiYXJjaGl2ZSJdCmRpZmYgLS1naXQgYS9Ub29scy9D
SVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9zdGVwc191bml0dGVzdC5weSBiL1Rvb2xzL0NJU3Vw
cG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzX3VuaXR0ZXN0LnB5CmluZGV4IGQyNWFjN2RlNGM2
MTM1ODg4NGQ1MzFkYmQ5ODA2MzA2MGVkMWU1YWUuLjdmNDcyNGQ5NDBjMmRhYzc4Yzk2ZmZmMTU4
MjRiZjI5Mjk4OWFhNDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQt
b3JnL3N0ZXBzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQt
b3JnL3N0ZXBzX3VuaXR0ZXN0LnB5CkBAIC00MjAsNyArNDIwLDcgQEAgY2xhc3MgVGVzdENvbXBp
bGVXZWJLaXQoQnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICAgICAgICAgICAgICB3b3JrZGlyPSd3a2RpcicsCiAgICAgICAgICAgICAgICAgdGltZW91dD0x
MjAwLAogICAgICAgICAgICAgICAgIGxvZ0Vudmlyb249VHJ1ZSwKLSAgICAgICAgICAgICAgICBj
b21tYW5kPVsncGVybCcsICcuL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0JywgJy0tcmVsZWFz
ZScsICctLWd0ayddLAorICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydwZXJsJywgJy4vVG9vbHMv
U2NyaXB0cy9idWlsZC13ZWJraXQnLCAnLS1yZWxlYXNlJywgJy0tcHJlZml4PS9hcHAvd2Via2l0
L1dlYktpdEJ1aWxkL3JlbGVhc2UvaW5zdGFsbCcsICctLWd0ayddLAogICAgICAgICAgICAgKSAr
IDAsCiAgICAgICAgICkKICAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNT
LCBzdGF0ZV9zdHJpbmc9J2NvbXBpbGVkJykKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9i
dWlsdC1wcm9kdWN0LWFyY2hpdmUgYi9Ub29scy9DSVN1cHBvcnQvYnVpbHQtcHJvZHVjdC1hcmNo
aXZlCm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKaW5kZXggZDE1M2MwMzQwZmEyY2Rj
MTAzYTZmNmVjNzFmNDdkZTNjNDE2NmI5Ni4uOGJkYmZhZGFhNGYwN2Q2YmJlOWM1YjljM2IzZTQ0
MWJkY2I5ZjU1MQotLS0gYS9Ub29scy9DSVN1cHBvcnQvYnVpbHQtcHJvZHVjdC1hcmNoaXZlCisr
KyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmUKQEAgLTExMCw3ICsxMTAs
NyBAQCBkZWYgY29weUJ1aWxkRmlsZXMoc291cmNlLCBkZXN0aW5hdGlvbiwgcGF0dGVybnMpOgog
ICAgIHNodXRpbC5jb3B5dHJlZShzb3VyY2UsIGRlc3RpbmF0aW9uLCBpZ25vcmU9c2h1dGlsLmln
bm9yZV9wYXR0ZXJucygqcGF0dGVybnMpKQogCiAKLWRlZiBjcmVhdGVaaXBGcm9tTGlzdChsaXN0
VG9aaXAsIGNvbmZpZ3VyYXRpb24sIGV4Y2x1ZGVQYXR0ZXJuPU5vbmUpOgorZGVmIGNyZWF0ZVpp
cEZyb21MaXN0KGxpc3RUb1ppcCwgY29uZmlndXJhdGlvbiwgZXhjbHVkZVBhdHRlcm5zPU5vbmUp
OgogICAgIGdsb2JhbCBfdG9wTGV2ZWxCdWlsZERpcmVjdG9yeQogICAgIGdsb2JhbCBfY29uZmln
dXJhdGlvbkJ1aWxkRGlyZWN0b3J5CiAgICAgYXJjaGl2ZURpciA9IF90b3BMZXZlbEJ1aWxkRGly
ZWN0b3J5CkBAIC0xMjQsOCArMTI0LDkgQEAgZGVmIGNyZWF0ZVppcEZyb21MaXN0KGxpc3RUb1pp
cCwgY29uZmlndXJhdGlvbiwgZXhjbHVkZVBhdHRlcm49Tm9uZSk6CiAKICAgICBpZiBzeXMucGxh
dGZvcm0uc3RhcnRzd2l0aCgnbGludXgnKToKICAgICAgICAgemlwQ29tbWFuZCA9IFsnemlwJywg
Jy15JywgJy1yJywgYXJjaGl2ZUZpbGVdICsgbGlzdFRvWmlwCi0gICAgICAgIGlmIGV4Y2x1ZGVQ
YXR0ZXJuOgotICAgICAgICAgICAgemlwQ29tbWFuZCArPSBbJy14JywgZXhjbHVkZVBhdHRlcm5d
CisgICAgICAgIGlmIGV4Y2x1ZGVQYXR0ZXJuczoKKyAgICAgICAgICAgIGZvciBleGNsdWRlUGF0
dGVybiBpbiBleGNsdWRlUGF0dGVybnM6CisgICAgICAgICAgICAgICAgemlwQ29tbWFuZCArPSBb
Jy14JywgZXhjbHVkZVBhdHRlcm5dCiAgICAgICAgIHJldHVybiBzdWJwcm9jZXNzLmNhbGwoemlw
Q29tbWFuZCwgY3dkPV9jb25maWd1cmF0aW9uQnVpbGREaXJlY3RvcnkpCiAKICAgICByYWlzZSBO
b3RJbXBsZW1lbnRlZEVycm9yKCdVbnN1cHBvcnRlZCBwbGF0Zm9ybToge3BsYXRmb3JtfScuZm9y
bWF0KHBsYXRmb3JtPXN5cy5wbGF0Zm9ybSkpCkBAIC0yNDAsMjQgKzI0MSwyOSBAQCBkZWYgYXJj
aGl2ZUJ1aWx0UHJvZHVjdChjb25maWd1cmF0aW9uLCBwbGF0Zm9ybSwgZnVsbFBsYXRmb3JtLCBt
aW5pZnk9RmFsc2UpOgogICAgICAgICAjIE9uIEdUSysvV1BFL0pTQyB3ZSBkb24ndCBuZWVkIHRo
ZSBpbnRlcm1lZGlhdGUgc3RlcCBvZiBjcmVhdGluZyBhIHRoaW5EaXJlY3RvcnkKICAgICAgICAg
IyB0byBiZSBjb21wcmVzc2VkIGluIGEgWklQIGZpbGUsIGJlY2F1c2Ugd2UgY2FuIGNyZWF0ZSB0
aGUgWklQIGRpcmVjdGx5LgogICAgICAgICAjIFRoaXMgaXMgZmFzdGVyIGFuZCByZXF1aXJlcyBs
ZXNzIGRpc2sgcmVzb3VyY2VzLgotICAgICAgICBjb250ZW50cyA9IFsnYmluJywgJ2xpYiddCi0K
LSAgICAgICAgIyBGb3IgV1BFIHBhY2sgdGhlIENvZyBicm93c2VyIGFzIHdlbGwgaWYgaXQncyBw
cmVzZW50LgotICAgICAgICBjb2dEaXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4oJ1Rvb2xzJywgJ2Nv
Zy1wcmVmaXgnLCAnc3JjJywgJ2NvZy1idWlsZCcpCi0gICAgICAgIGFic29sdXRlQ29nRGlyZWN0
b3J5ID0gb3MucGF0aC5qb2luKF9jb25maWd1cmF0aW9uQnVpbGREaXJlY3RvcnksIGNvZ0RpcmVj
dG9yeSkKLSAgICAgICAgaWYgcGxhdGZvcm0gPT0gJ3dwZScgYW5kIG9zLnBhdGguaXNkaXIoYWJz
b2x1dGVDb2dEaXJlY3RvcnkpOgotICAgICAgICAgICAgY29udGVudHMuZXh0ZW5kKFtvcy5wYXRo
LmpvaW4oY29nRGlyZWN0b3J5LCBmaWxlbmFtZV9vcl9kaXJlY3RvcnkpIGZvciBmaWxlbmFtZV9v
cl9kaXJlY3RvcnkgaW4gWydjb2cnLCAnY29nY3RsJywgJ21vZHVsZXMnXV0pCisgICAgICAgIGlm
IHBsYXRmb3JtIGluICgnanNjJywgJ3dwZScpOgorICAgICAgICAgICAgY29udGVudHMgPSBbJ2Jp
bicsICdsaWInXQorCisgICAgICAgIGlmIHBsYXRmb3JtID09ICd3cGUnOgorICAgICAgICAgICAg
IyBGb3IgV1BFIHBhY2sgdGhlIENvZyBicm93c2VyIGFzIHdlbGwgaWYgaXQncyBwcmVzZW50Lgor
ICAgICAgICAgICAgY29nRGlyZWN0b3J5ID0gb3MucGF0aC5qb2luKCdUb29scycsICdjb2ctcHJl
Zml4JywgJ3NyYycsICdjb2ctYnVpbGQnKQorICAgICAgICAgICAgYWJzb2x1dGVDb2dEaXJlY3Rv
cnkgPSBvcy5wYXRoLmpvaW4oX2NvbmZpZ3VyYXRpb25CdWlsZERpcmVjdG9yeSwgY29nRGlyZWN0
b3J5KQorICAgICAgICAgICAgaWYgb3MucGF0aC5pc2RpcihhYnNvbHV0ZUNvZ0RpcmVjdG9yeSk6
CisgICAgICAgICAgICAgICAgY29udGVudHMuZXh0ZW5kKFtvcy5wYXRoLmpvaW4oY29nRGlyZWN0
b3J5LCBmaWxlbmFtZV9vcl9kaXJlY3RvcnkpIGZvciBmaWxlbmFtZV9vcl9kaXJlY3RvcnkgaW4g
Wydjb2cnLCAnY29nY3RsJywgJ21vZHVsZXMnXV0pCiAgICAgICAgICAgICBmb3IgZmlsZW5hbWUg
aW4gb3MubGlzdGRpcihhYnNvbHV0ZUNvZ0RpcmVjdG9yeSk6CiAgICAgICAgICAgICAgICAgaWYg
ZmlsZW5hbWUuc3RhcnRzd2l0aCgnbGliY29nY29yZScpOgogICAgICAgICAgICAgICAgICAgICBj
b250ZW50cy5hcHBlbmQob3MucGF0aC5qb2luKGNvZ0RpcmVjdG9yeSwgZmlsZW5hbWUpKQogCisg
ICAgICAgIGlmIHBsYXRmb3JtID09ICdndGsnOgorICAgICAgICAgICAgY29udGVudHMgPSBbb3Mu
cGF0aC5qb2luKCdpbnN0YWxsJywgZGlyZWN0b3J5KSBmb3IgZGlyZWN0b3J5IGluIFsnYmluJywg
J2luY2x1ZGUnLCAnbGliJywgJ2xpYmV4ZWMnXV0KKwogICAgICAgICAjIFdoZW4gZGVidWcgZmlz
c2lvbiBpcyBlbmFibGVkIHRoZSBkaXJlY3RvcmllcyBiZWxvdyBjb250YWluIGR3byBmaWxlcwog
ICAgICAgICAjIHdpdGggdGhlIGRlYnVnIGluZm9ybWF0aW9uIG5lZWRlZCB0byBnZW5lcmF0ZSBi
YWNrdHJhY2VzIHdpdGggR0RCLgogICAgICAgICBmb3Igb2JqZWN0RGlyIGluIFsnVG9vbHMnLCAn
U291cmNlJ106CiAgICAgICAgICAgICBpZiBkaXJDb250YWluc2R3byhvYmplY3REaXIpOgogICAg
ICAgICAgICAgICAgIGNvbnRlbnRzLmFwcGVuZChvYmplY3REaXIpCiAKLSAgICAgICAgaWYgY3Jl
YXRlWmlwRnJvbUxpc3QoY29udGVudHMsIGNvbmZpZ3VyYXRpb24sIGV4Y2x1ZGVQYXR0ZXJuPScq
Lm8nKToKKyAgICAgICAgaWYgY3JlYXRlWmlwRnJvbUxpc3QoY29udGVudHMsIGNvbmZpZ3VyYXRp
b24sIGV4Y2x1ZGVQYXR0ZXJucz1bJyoubycsICcqLmEnXSk6CiAgICAgICAgICAgICByZXR1cm4g
MQogCiBkZWYgdW56aXBBcmNoaXZlKGRpcmVjdG9yeVRvRXh0cmFjdFRvLCBjb25maWd1cmF0aW9u
KToKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5IGIv
VG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9mYWN0b3JpZXMucHkKaW5kZXggZTUzNGFhNjMzMWFh
NDk2NWQ1ZmM0NDNkZWEzODAxMGIwMTIwNmY4NS4uOTNiNjY2YTBiODg0N2RhZWRhOTkyNzUxMjkz
MjE2ZTliZmE0YmFhYyAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9mYWN0
b3JpZXMucHkKKysrIGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9mYWN0b3JpZXMucHkKQEAg
LTMyLDcgKzMyLDggQEAgZnJvbSBzdGVwcyBpbXBvcnQgKEFwcGx5UGF0Y2gsIEFwcGx5V2F0Y2hM
aXN0LCBDaGVja091dFNvdXJjZSwgQ2hlY2tPdXRTcGVjaWZpY1IKICAgICAgICAgICAgICAgICAg
ICBSdW5FV1NVbml0VGVzdHMsIFJ1blJlc3VsdHNkYnB5VGVzdHMsIFJ1bkphdmFTY3JpcHRDb3Jl
VGVzdHMsIFJ1bldlYktpdDFUZXN0cywgUnVuV2ViS2l0UGVybFRlc3RzLCBSdW5XZWJLaXRQeVB5
dGhvbjJUZXN0cywKICAgICAgICAgICAgICAgICAgICBSdW5XZWJLaXRQeVB5dGhvbjNUZXN0cywg
UnVuV2ViS2l0VGVzdHMsIFJ1bldlYktpdFRlc3RzSW5TdHJlc3NNb2RlLCBSdW5XZWJLaXRUZXN0
c0luU3RyZXNzR3VhcmRtYWxsb2NNb2RlLAogICAgICAgICAgICAgICAgICAgIFNldEJ1aWxkU3Vt
bWFyeSwgU2hvd0lkZW50aWZpZXIsIFRyaWdnZXJDcmFzaExvZ1N1Ym1pc3Npb24sIFVwZGF0ZVdv
cmtpbmdEaXJlY3RvcnksCi0gICAgICAgICAgICAgICAgICAgVmFsaWRhdGVQYXRjaCwgVmFsaWRh
dGVDaGFuZ2VMb2dBbmRSZXZpZXdlciwgVmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyLCBXYWl0
Rm9yQ3Jhc2hDb2xsZWN0aW9uKQorICAgICAgICAgICAgICAgICAgIFZhbGlkYXRlUGF0Y2gsIFZh
bGlkYXRlQ2hhbmdlTG9nQW5kUmV2aWV3ZXIsIFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlciwg
V2FpdEZvckNyYXNoQ29sbGVjdGlvbiwKKyAgICAgICAgICAgICAgICAgICBJbnN0YWxsQnVpbHRQ
cm9kdWN0KQogCiAKIGNsYXNzIEZhY3RvcnkoZmFjdG9yeS5CdWlsZEZhY3RvcnkpOgpAQCAtMTE0
LDYgKzExNSw4IEBAIGNsYXNzIEJ1aWxkRmFjdG9yeShGYWN0b3J5KToKICAgICAgICAgaWYgcGxh
dGZvcm0gPT0gJ2d0ayc6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoSW5zdGFsbEd0a0RlcGVu
ZGVuY2llcygpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ29tcGlsZVdlYktpdChza2lwVXBsb2Fk
PXNlbGYuc2tpcFVwbG9hZCkpCisgICAgICAgIGlmIHBsYXRmb3JtID09ICdndGsnOgorICAgICAg
ICAgICAgc2VsZi5hZGRTdGVwKEluc3RhbGxCdWlsdFByb2R1Y3QoKSkKIAogCiBjbGFzcyBUZXN0
RmFjdG9yeShGYWN0b3J5KToKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQv
c3RlcHMucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5CmluZGV4IDY0Zjhk
NzgzZjcwNDI1Zjg3MDgzNGQ4ZDY3OWRiN2ZmNDBiYTY0NTYuLmIxOWY3ZDkwYjBlMzRlZTM5Y2Nh
MDdhMDJmOTFiZjc2YTliYTBjNTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVp
bGQvc3RlcHMucHkKKysrIGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQpAQCAt
MTU1OSw2ICsxNTU5LDkgQEAgY2xhc3MgQ29tcGlsZVdlYktpdChzaGVsbC5Db21waWxlKToKICAg
ICAgICAgICAgICMgdGhpcyBtdWNoIGZhc3RlciB0aGFuIGZ1bGwgZGVidWcgaW5mbywgYW5kIGNy
YXNoIGxvZ3Mgc3RpbGwgaGF2ZSBsaW5lIG51bWJlcnMuCiAgICAgICAgICAgICBzZWxmLnNldENv
bW1hbmQoc2VsZi5jb21tYW5kICsgWydERUJVR19JTkZPUk1BVElPTl9GT1JNQVQ9ZHdhcmYtd2l0
aC1kc3ltJ10pCiAgICAgICAgICAgICBzZWxmLnNldENvbW1hbmQoc2VsZi5jb21tYW5kICsgWydD
TEFOR19ERUJVR19JTkZPUk1BVElPTl9MRVZFTD1saW5lLXRhYmxlcy1vbmx5J10pCisgICAgICAg
IGlmIHBsYXRmb3JtID09ICdndGsnOgorICAgICAgICAgICAgcHJlZml4ID0gb3MucGF0aC5qb2lu
KCIvYXBwIiwgIndlYmtpdCIsICJXZWJLaXRCdWlsZCIsIHNlbGYuZ2V0UHJvcGVydHkoImNvbmZp
Z3VyYXRpb24iKSwgImluc3RhbGwiKQorICAgICAgICAgICAgc2VsZi5zZXRDb21tYW5kKHNlbGYu
Y29tbWFuZCArIFtmJy0tcHJlZml4PXtwcmVmaXh9J10pCiAKICAgICAgICAgYXBwZW5kQ3VzdG9t
QnVpbGRGbGFncyhzZWxmLCBwbGF0Zm9ybSwgc2VsZi5nZXRQcm9wZXJ0eSgnZnVsbFBsYXRmb3Jt
JykpCiAKQEAgLTIwMzAsNiArMjAzMywxMCBAQCBjbGFzcyBBbmFseXplSlNDVGVzdHNSZXN1bHRz
KGJ1aWxkc3RlcC5CdWlsZFN0ZXApOgogICAgICAgICAgICAgcHJpbnQoJ0Vycm9yIGluIHNlbmRp
bmcgZW1haWwgZm9yIHByZS1leGlzdGluZyBmYWlsdXJlOiB7fScuZm9ybWF0KGUpKQogCiAKK2Ns
YXNzIEluc3RhbGxCdWlsdFByb2R1Y3Qoc2hlbGwuU2hlbGxDb21tYW5kKToKKyAgICBjb21tYW5k
ID0gWyJweXRob24zIiwgIlRvb2xzL1NjcmlwdHMvaW5zdGFsbC1idWlsdC1wcm9kdWN0IiwKKyAg
ICAgICAgICAgICAgIFdpdGhQcm9wZXJ0aWVzKCItLXBsYXRmb3JtPSUoZnVsbFBsYXRmb3JtKXMi
KSwgV2l0aFByb3BlcnRpZXMoIi0tJShjb25maWd1cmF0aW9uKXMiKV0KKwogY2xhc3MgQ2xlYW5C
dWlsZChzaGVsbC5Db21waWxlKToKICAgICBuYW1lID0gJ2RlbGV0ZS1XZWJLaXRCdWlsZC1kaXJl
Y3RvcnknCiAgICAgZGVzY3JpcHRpb24gPSBbJ2RlbGV0aW5nIFdlYktpdEJ1aWxkIGRpcmVjdG9y
eSddCmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0
LnB5IGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQppbmRleCBj
YTgzNDQzZTk2ZDViZmIyOWY5MzhmM2RmYjFiYWZkYzljZDBiMTYyLi45MzlhNmRhZDRkNjUwMjVk
Zjc2MGI3MmVkNDgzZDEyZGNhOWZhMjZhIDEwMDY0NAotLS0gYS9Ub29scy9DSVN1cHBvcnQvZXdz
LWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQv
c3RlcHNfdW5pdHRlc3QucHkKQEAgLTEwNzksNyArMTA3OSw3IEBAIGNsYXNzIFRlc3RDb21waWxl
V2ViS2l0KEJ1aWxkU3RlcE1peGluQWRkaXRpb25zLCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAg
ICAgIHNlbGYuZXhwZWN0UmVtb3RlQ29tbWFuZHMoCiAgICAgICAgICAgICBFeHBlY3RTaGVsbCh3
b3JrZGlyPSd3a2RpcicsCiAgICAgICAgICAgICAgICAgICAgICAgICBsb2dFbnZpcm9uPUZhbHNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZD1bJ3BlcmwnLCAnVG9vbHMvU2NyaXB0
cy9idWlsZC13ZWJraXQnLCAnLS1yZWxlYXNlJywgJy0tZ3RrJ10sCisgICAgICAgICAgICAgICAg
ICAgICAgICBjb21tYW5kPVsncGVybCcsICdUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdCcsICct
LXJlbGVhc2UnLCAnLS1wcmVmaXg9L2FwcC93ZWJraXQvV2ViS2l0QnVpbGQvcmVsZWFzZS9pbnN0
YWxsJywgJy0tZ3RrJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAr
IDAsCiAgICAgICAgICkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvaW5zdGFsbC1idWlsdC1w
cm9kdWN0IGIvVG9vbHMvU2NyaXB0cy9pbnN0YWxsLWJ1aWx0LXByb2R1Y3QKbmV3IGZpbGUgbW9k
ZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OTkzOWE4M2ZiZGExYThlNzZlYWU5OWI1YzgyNWFiYzU1ZTExNjFiOQotLS0gL2Rldi9udWxsCisr
KyBiL1Rvb2xzL1NjcmlwdHMvaW5zdGFsbC1idWlsdC1wcm9kdWN0CkBAIC0wLDAgKzEsNjYgQEAK
KyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKyMgQ29weXJpZ2h0IChDKSAyMDIxLCBJZ2FsaWEgUy5M
CisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMKKyMgMS4gIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRT
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyMgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyMgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOworIyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyMgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GCisjIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK2ltcG9ydCBvcHRwYXJzZQoraW1w
b3J0IG9zCitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0IHN5cworCitpZiBzeXMucGxhdGZvcm0u
c3RhcnRzd2l0aCgnbGludXgnKToKKyAgICB0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5u
b3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgJy4uJywgJy4u
JykpCisgICAgc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxfZGlyZWN0
b3J5LCAnVG9vbHMnLCAnZmxhdHBhaycpKQorICAgIHN5cy5wYXRoLmluc2VydCgxLCBvcy5wYXRo
LmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ1NjcmlwdHMnKSkKKworICAgIGlt
cG9ydCBmbGF0cGFrdXRpbHMKKyAgICBmbGF0cGFrdXRpbHMucnVuX2luX3NhbmRib3hfaWZfYXZh
aWxhYmxlKHN5cy5hcmd2KQorCitkZWYgbWFpbigpOgorICAgIHBhcnNlciA9IG9wdHBhcnNlLk9w
dGlvblBhcnNlcigpCisgICAgcGFyc2VyLmFkZF9vcHRpb24oIi0tcGxhdGZvcm0iKQorICAgIHBh
cnNlci5hZGRfb3B0aW9uKCItLWRlYnVnIiwgYWN0aW9uPSJzdG9yZV9jb25zdCIsIGNvbnN0PSJk
ZWJ1ZyIsIGRlc3Q9ImNvbmZpZ3VyYXRpb24iKQorICAgIHBhcnNlci5hZGRfb3B0aW9uKCItLXJl
bGVhc2UiLCBhY3Rpb249InN0b3JlX2NvbnN0IiwgY29uc3Q9InJlbGVhc2UiLCBkZXN0PSJjb25m
aWd1cmF0aW9uIikKKworICAgIG9wdGlvbnMsIHBhcmFtZXRlcnMgPSBwYXJzZXIucGFyc2VfYXJn
cygpCisgICAgaWYgbm90IG9wdGlvbnMucGxhdGZvcm06CisgICAgICAgIHBhcnNlci5lcnJvcigi
UGxhdGZvcm0gaXMgcmVxdWlyZWQiKQorICAgICAgICByZXR1cm4gLTEKKyAgICBpZiBub3Qgb3B0
aW9ucy5jb25maWd1cmF0aW9uOgorICAgICAgICBwYXJzZXIuZXJyb3IoIkNvbmZpZ3VyYXRpb24g
aXMgcmVxdWlyZWQiKQorICAgICAgICByZXR1cm4gLTIKKworICAgIHBsYXRmb3JtID0gb3B0aW9u
cy5wbGF0Zm9ybS5zcGxpdCgnLScsIDEpWzBdCisKKyAgICB3ZWJraXRfYnVpbGRfZGlyZWN0b3J5
ID0gc3VicHJvY2Vzcy5Qb3BlbihbJ3BlcmwnLCBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1l
KF9fZmlsZV9fKSwgIndlYmtpdC1idWlsZC1kaXJlY3RvcnkiKSwKKyAgICAgICAgIi0tIiArIHBs
YXRmb3JtLCAiLS0iICsgb3B0aW9ucy5jb25maWd1cmF0aW9uLCAnLS1jb25maWd1cmF0aW9uJ10s
IHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUpLmNvbW11bmljYXRlKClbMF0uc3RyaXAoKQorCisgICAg
aWYgcGxhdGZvcm0gPT0gJ2d0ayc6CisgICAgICAgIHJlc3VsdCA9IHN1YnByb2Nlc3MucnVuKFsi
Y21ha2UiLCAiLS1pbnN0YWxsIiwgd2Via2l0X2J1aWxkX2RpcmVjdG9yeV0pLnJldHVybmNvZGUK
KyAgICBlbHNlOgorICAgICAgICBwYXJzZXIuZXJyb3IoZiJQbGF0Zm9ybSB7cGxhdGZvcm19IGlz
IG5vdCBzdXBwb3J0ZWQgeWV0IikKKyAgICAgICAgcmV0dXJuIC0zCisKKyAgICByZXR1cm4gcmVz
dWx0CisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgc3lzLmV4aXQobWFpbigpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432780</attachid>
            <date>2021-07-02 04:28:22 -0700</date>
            <delta_ts>2021-07-02 05:38:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227526-20210702042821.patch</filename>
            <type>text/plain</type>
            <size>18960</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
YzFlN2YxZDFlNTM3MWVhNjA5NTFiZGI4NzNkOTM5NWQ0MzQ0YWQ0Li5mMTIzZjczYmFhNGQ2ZDBh
ZjdiYzc3OTQzYWNlMDhjZDc3MDI3NmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAyMS0wNy0wMiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS10gUGFjayBoZWFkZXIgYW5kIC5wYyBmaWxlcyBpbiB0aGUg
YnVpbHQtcHJvZHVjdCBhcmNoaXZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjc1MjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGphdmFzY3JpcHRjb3JlZ3RrLnBjLmluOiBJbmNsdWRlIFNWTl9SRVZJ
U0lPTiBhcyByZXZpc2lvbiB2YXJpYWJsZSwgdXNlZnVsIGZvciBhcHBzIHRvCisgICAgICAgIGtu
b3cgb24gd2hpY2ggdXBzdHJlYW0gU1ZOIHJldmlzaW9uIHRoZWlyIFdlYktpdEdUSy1iYXNlZCBh
cHAgaXMgYnVpbHQgb24uCisKIDIwMjEtMDctMDEgIFlpamlhIEh1YW5nICA8eWlqaWFfaHVhbmdA
YXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2FyeSBjYW5CZUludGVybmFsIGlu
dm9jYXRpb25zIHRvIG1pdGlnYXRlIHRoZSBjb3N0IG9mIHBvdGVudGlhbCB1bm1hdGNoZWQgcGF0
dGVybnMgaW4gQjNMb3dlclRvQWlyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDhlMjJhYjNhZjQyNzZkNjFjMzRhMWVl
MTQ5YzRhZTRkOGU4MGMyNDcuLmJlNGQ1NzhjMmZjMWQ4N2NlYjJhNjYzODI0Y2I2ZGUzNTE4Yjgy
MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDctMDIgIFBoaWxpcHBlIE5vcm1h
bmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFBhY2sgaGVhZGVyIGFu
ZCAucGMgZmlsZXMgaW4gdGhlIGJ1aWx0LXByb2R1Y3QgYXJjaGl2ZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3NTI2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5jbHVkZSBTVk5fUkVWSVNJT04gYXMg
cmV2aXNpb24gdmFyaWFibGUsIHVzZWZ1bCBmb3IgYXBwcyB0byBrbm93IG9uIHdoaWNoIHVwc3Ry
ZWFtIFNWTgorICAgICAgICByZXZpc2lvbiB0aGVpciBXZWJLaXRHVEstYmFzZWQgYXBwIGlzIGJ1
aWx0IG9uLgorCisgICAgICAgICogZ3RrL3dlYmtpdDJndGstd2ViLWV4dGVuc2lvbi5wYy5pbjoK
KyAgICAgICAgKiBndGsvd2Via2l0Mmd0ay5wYy5pbjoKKwogMjAyMS0wNy0wMSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFttYWNPU10gU3VzcGVuZCBXZWJQcm9j
ZXNzZXMgdGhhdCBhcmUgaW4gdGhlIHByb2Nlc3MgY2FjaGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qYXZhc2NyaXB0Y29yZWd0ay5wYy5pbiBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qYXZhc2NyaXB0Y29yZWd0ay5wYy5pbgppbmRleCBjNDM0ZjkwMzg0MTZiMjIzZjVmMjIz
OGYzMTc1ZDRkMTMwZjUxODI5Li41NTdmNzUyZGE4YTNjYWFlMmRhNDlmZjQyYzRjMjdmZjYxZWFk
YzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvamF2YXNjcmlwdGNvcmVndGsu
cGMuaW4KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2phdmFzY3JpcHRjb3JlZ3RrLnBjLmlu
CkBAIC0yLDYgKzIsNyBAQCBwcmVmaXg9QENNQUtFX0lOU1RBTExfUFJFRklYQAogZXhlY19wcmVm
aXg9JHtwcmVmaXh9CiBsaWJkaXI9QExJQl9JTlNUQUxMX0RJUkAKIGluY2x1ZGVkaXI9JHtwcmVm
aXh9L2luY2x1ZGUKK3JldmlzaW9uPUBTVk5fUkVWSVNJT05ACiAKIE5hbWU6IEphdmFTY3JpcHRD
b3JlR1RLKwogRGVzY3JpcHRpb246IEdUSysgdmVyc2lvbiBvZiB0aGUgSmF2YVNjcmlwdENvcmUg
ZW5naW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQyZ3RrLXdlYi1leHRl
bnNpb24ucGMuaW4gYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQyZ3RrLXdlYi1leHRlbnNpb24u
cGMuaW4KaW5kZXggNjhiMDMwYjY1OTU4ZDZlMzUyY2VhMWUzNDkzYTM1MDE0NjRlMGQwMC4uMzA5
NzExMzU5NTE2ZjY1MGUyM2ZkYTUxZjY1MDY5OTBmOGQ1NDMxOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9ndGsvd2Via2l0Mmd0ay13ZWItZXh0ZW5zaW9uLnBjLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZ3RrL3dlYmtpdDJndGstd2ViLWV4dGVuc2lvbi5wYy5pbgpAQCAtMiw2ICsyLDcgQEAg
cHJlZml4PUBDTUFLRV9JTlNUQUxMX1BSRUZJWEAKIGV4ZWNfcHJlZml4PSR7cHJlZml4fQogbGli
ZGlyPUBMSUJfSU5TVEFMTF9ESVJACiBpbmNsdWRlZGlyPSR7cHJlZml4fS9pbmNsdWRlCityZXZp
c2lvbj1AU1ZOX1JFVklTSU9OQAogCiBOYW1lOiBXZWJLaXRHVEsgd2ViIHByb2Nlc3MgZXh0ZW5z
aW9ucwogRGVzY3JpcHRpb246IFdlYiBjb250ZW50IGVuZ2luZSBmb3IgR1RLIC0gd2ViIHByb2Nl
c3MgZXh0ZW5zaW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0Mmd0ay5w
Yy5pbiBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdDJndGsucGMuaW4KaW5kZXggZTdjMGQ2MDFl
MjYxZmM0OTA3YmFiODAzMWMzNTJlZGU2YThhZGY3ZC4uMGFkZWZhNWQ2NzRmNTA1ZWJkMDVjNjQ4
NWE3Y2Q5NGQ4NzQyYTA3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0Mmd0
ay5wYy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQyZ3RrLnBjLmluCkBAIC0yLDYg
KzIsNyBAQCBwcmVmaXg9QENNQUtFX0lOU1RBTExfUFJFRklYQAogZXhlY19wcmVmaXg9JHtwcmVm
aXh9CiBsaWJkaXI9QExJQl9JTlNUQUxMX0RJUkAKIGluY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1
ZGUKK3JldmlzaW9uPUBTVk5fUkVWSVNJT05ACiAKIE5hbWU6IFdlYktpdEdUSwogRGVzY3JpcHRp
b246IFdlYiBjb250ZW50IGVuZ2luZSBmb3IgR1RLCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjk3Mzg5Yzg0ZjU3NjVhNGUxNDYzMTY2MzAwM2Fj
ODkzYjE4NTYzNS4uNGEyYjIwYzM2OTdjOWNjOThjOWExYmVkNWIwZjRiZDM2M2I1MjVkYyAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI5IEBACisyMDIxLTA3LTAyICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNv
bT4KKworICAgICAgICBbR1RLXSBQYWNrIGhlYWRlciBhbmQgLnBjIGZpbGVzIGluIHRoZSBidWls
dC1wcm9kdWN0IGFyY2hpdmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNzUyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSBoZWFkZXIgZmlsZXMgYW5kIHBrZy1jb25maWcgZmlsZXMgbmVlZGVkIHRv
IGJ1aWxkIFdlYktpdEdUSyBhcHBzIGFyZSBub3cgaW5jbHVkZWQgaW4gdGhlCisgICAgICAgIGJ1
aWx0IHByb2R1Y3QgemlwIGZpbGUuIEFzIHRoZXkncmUgdGV4dCBmaWxlcyB0aGUgaW1wYWN0IG9u
IHRoZSB6aXAgc2l6ZSBzaG91bGQgbm90IGJlCisgICAgICAgIHNpZ25pZmljYW50LiBJbiBvcmRl
ciB0byBzdXBwb3J0IHRoaXMsIHR3byBjaGFuZ2VzIGFyZSBpbnRyb2R1Y2VkIGZvciB0aGUgR1RL
IGJ1aWxkIGJvdDoKKworICAgICAgICAtIGJ1aWxkLXdlYmtpdCBpcyBub3cgY2FsbGVkIHdpdGgg
YSAtLXByZWZpeCBvcHRpb24KKyAgICAgICAgLSBhIG5ldyBidWlsZCBzdGVwIGhhcyBiZWVuIGFk
ZGVkLCB3aGljaCBpbnN0YWxscyB0aGUgYnVpbHQgZmlsZXMgaW4gdGhlIGdpdmVuIHByZWZpeCBk
aXJlY3RvcnkKKworICAgICAgICBUaGVuIGJ1aWx0LXByb2R1Y3QtYXJjaGl2ZSBjYW4gc2ltcGx5
IHBhY2sgZmlsZXMgZnJvbSB0aGUgaW5zdGFsbCBwcmVmaXggZGlyZWN0b3J5LgorCisgICAgICAg
IEFkZGl0aW9uYWxseSB0aGUgLmEgKHBvdGVudGlhbGx5IGJpZykgZmlsZXMgYXJlIG5vdyBleGNs
dWRlZCBmcm9tIHRoZSB6aXAgYXJjaGl2ZS4KKworICAgICAgICAqIENJU3VwcG9ydC9idWlsZC13
ZWJraXQtb3JnL2ZhY3Rvcmllcy5weToKKyAgICAgICAgKEJ1aWxkRmFjdG9yeS5fX2luaXRfXyk6
CisgICAgICAgICogQ0lTdXBwb3J0L2J1aWxkLXdlYmtpdC1vcmcvc3RlcHMucHk6CisgICAgICAg
IChDb21waWxlV2ViS2l0LnN0YXJ0KToKKyAgICAgICAgKEluc3RhbGxCdWlsdFByb2R1Y3QpOgor
ICAgICAgICAqIENJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmU6CisgICAgICAgICogU2Ny
aXB0cy9pbnN0YWxsLWJ1aWx0LXByb2R1Y3Q6IEFkZGVkLgorCiAyMDIxLTA3LTAyICBYYWJpZXIg
Um9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10g
bWVkaWEvZXZlbnQtYXR0cmlidXRlcy5odG1sIGZhaWxzIGlmIG1peGVyIGlzIG5vdCBhdCAxMDAl
CmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9mYWN0b3JpZXMu
cHkgYi9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9mYWN0b3JpZXMucHkKaW5kZXgg
NzliM2ZmODYzNzY0ZjdjNTJjODQwYTFkNjQ5YTg1NmIyNDQ5Y2EzNC4uYjliNzUyNDc4MzIzNzMy
MjdhZmY2YzRiNzUzZjUxM2QyMTYyMDg0ZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2J1
aWxkLXdlYmtpdC1vcmcvZmFjdG9yaWVzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13
ZWJraXQtb3JnL2ZhY3Rvcmllcy5weQpAQCAtNjMsNiArNjMsOSBAQCBjbGFzcyBCdWlsZEZhY3Rv
cnkoRmFjdG9yeSk6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoR2VuZXJhdGVNaW5pQnJvd3Nl
ckJ1bmRsZSgpKQogCiAgICAgICAgIGlmIHRyaWdnZXJzOgorICAgICAgICAgICAgaWYgcGxhdGZv
cm0gPT0gImd0ayI6CisgICAgICAgICAgICAgICAgc2VsZi5hZGRTdGVwKEluc3RhbGxCdWlsdFBy
b2R1Y3QoKSkKKwogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKEFyY2hpdmVCdWlsdFByb2R1Y3Qo
KSkKICAgICAgICAgICAgIHNlbGYuYWRkU3RlcChVcGxvYWRCdWlsdFByb2R1Y3QoKSkKICAgICAg
ICAgICAgIGlmIHBsYXRmb3JtLnN0YXJ0c3dpdGgoJ21hYycpIG9yIHBsYXRmb3JtLnN0YXJ0c3dp
dGgoJ2lvcy1zaW11bGF0b3InKSBvciBwbGF0Zm9ybS5zdGFydHN3aXRoKCd0dm9zLXNpbXVsYXRv
cicpIG9yIHBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dhdGNob3Mtc2ltdWxhdG9yJyk6CmRpZmYgLS1n
aXQgYS9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9zdGVwcy5weSBiL1Rvb2xzL0NJ
U3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzLnB5CmluZGV4IGJlYzA1NzAwNWVlMzYzNDYy
N2Q4YjgwODVmZWRiNjc2YWZhYWMzMGQuLjAxNDc5N2RkMzA5ZWQyOTBiYzMyZDdmYmY1OWIwNjdl
OGNkOTFkYWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0
ZXBzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzLnB5CkBA
IC0yODksNiArMjg5LDkgQEAgY2xhc3MgQ29tcGlsZVdlYktpdChzaGVsbC5Db21waWxlKToKICAg
ICAgICAgICAgICMgdGhpcyBtdWNoIGZhc3RlciB0aGFuIGZ1bGwgZGVidWcgaW5mbywgYW5kIGNy
YXNoIGxvZ3Mgc3RpbGwgaGF2ZSBsaW5lIG51bWJlcnMuCiAgICAgICAgICAgICBzZWxmLnNldENv
bW1hbmQoc2VsZi5jb21tYW5kICsgWydERUJVR19JTkZPUk1BVElPTl9GT1JNQVQ9ZHdhcmYtd2l0
aC1kc3ltJ10pCiAgICAgICAgICAgICBzZWxmLnNldENvbW1hbmQoc2VsZi5jb21tYW5kICsgWydD
TEFOR19ERUJVR19JTkZPUk1BVElPTl9MRVZFTD1saW5lLXRhYmxlcy1vbmx5J10pCisgICAgICAg
IGlmIHBsYXRmb3JtID09ICdndGsnOgorICAgICAgICAgICAgcHJlZml4ID0gb3MucGF0aC5qb2lu
KCIvYXBwIiwgIndlYmtpdCIsICJXZWJLaXRCdWlsZCIsIHNlbGYuZ2V0UHJvcGVydHkoImNvbmZp
Z3VyYXRpb24iKSwgImluc3RhbGwiKQorICAgICAgICAgICAgc2VsZi5zZXRDb21tYW5kKHNlbGYu
Y29tbWFuZCArIFtmJy0tcHJlZml4PXtwcmVmaXh9J10pCiAKICAgICAgICAgYXBwZW5kQ3VzdG9t
QnVpbGRGbGFncyhzZWxmLCBwbGF0Zm9ybSwgc2VsZi5nZXRQcm9wZXJ0eSgnZnVsbFBsYXRmb3Jt
JykpCiAKQEAgLTMyMSw2ICszMjQsMTAgQEAgY2xhc3MgQ29tcGlsZUpTQ09ubHkoQ29tcGlsZVdl
YktpdCk6CiAgICAgY29tbWFuZCA9IFsicGVybCIsICIuL1Rvb2xzL1NjcmlwdHMvYnVpbGQtanNj
IiwgV2l0aFByb3BlcnRpZXMoIi0tJShjb25maWd1cmF0aW9uKXMiKV0KIAogCitjbGFzcyBJbnN0
YWxsQnVpbHRQcm9kdWN0KHNoZWxsLlNoZWxsQ29tbWFuZCk6CisgICAgY29tbWFuZCA9IFsicHl0
aG9uMyIsICJUb29scy9TY3JpcHRzL2luc3RhbGwtYnVpbHQtcHJvZHVjdCIsCisgICAgICAgICAg
ICAgICBXaXRoUHJvcGVydGllcygiLS1wbGF0Zm9ybT0lKGZ1bGxQbGF0Zm9ybSlzIiksIFdpdGhQ
cm9wZXJ0aWVzKCItLSUoY29uZmlndXJhdGlvbilzIildCisKIGNsYXNzIEFyY2hpdmVCdWlsdFBy
b2R1Y3Qoc2hlbGwuU2hlbGxDb21tYW5kKToKICAgICBjb21tYW5kID0gWyJweXRob24zIiwgIlRv
b2xzL0NJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmUiLAogICAgICAgICAgICAgICAgV2l0
aFByb3BlcnRpZXMoIi0tcGxhdGZvcm09JShmdWxsUGxhdGZvcm0pcyIpLCBXaXRoUHJvcGVydGll
cygiLS0lKGNvbmZpZ3VyYXRpb24pcyIpLCAiYXJjaGl2ZSJdCmRpZmYgLS1naXQgYS9Ub29scy9D
SVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9zdGVwc191bml0dGVzdC5weSBiL1Rvb2xzL0NJU3Vw
cG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzX3VuaXR0ZXN0LnB5CmluZGV4IGQyNWFjN2RlNGM2
MTM1ODg4NGQ1MzFkYmQ5ODA2MzA2MGVkMWU1YWUuLjdmNDcyNGQ5NDBjMmRhYzc4Yzk2ZmZmMTU4
MjRiZjI5Mjk4OWFhNDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQt
b3JnL3N0ZXBzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQt
b3JnL3N0ZXBzX3VuaXR0ZXN0LnB5CkBAIC00MjAsNyArNDIwLDcgQEAgY2xhc3MgVGVzdENvbXBp
bGVXZWJLaXQoQnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICAgICAgICAgICAgICB3b3JrZGlyPSd3a2RpcicsCiAgICAgICAgICAgICAgICAgdGltZW91dD0x
MjAwLAogICAgICAgICAgICAgICAgIGxvZ0Vudmlyb249VHJ1ZSwKLSAgICAgICAgICAgICAgICBj
b21tYW5kPVsncGVybCcsICcuL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0JywgJy0tcmVsZWFz
ZScsICctLWd0ayddLAorICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydwZXJsJywgJy4vVG9vbHMv
U2NyaXB0cy9idWlsZC13ZWJraXQnLCAnLS1yZWxlYXNlJywgJy0tcHJlZml4PS9hcHAvd2Via2l0
L1dlYktpdEJ1aWxkL3JlbGVhc2UvaW5zdGFsbCcsICctLWd0ayddLAogICAgICAgICAgICAgKSAr
IDAsCiAgICAgICAgICkKICAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNT
LCBzdGF0ZV9zdHJpbmc9J2NvbXBpbGVkJykKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9i
dWlsdC1wcm9kdWN0LWFyY2hpdmUgYi9Ub29scy9DSVN1cHBvcnQvYnVpbHQtcHJvZHVjdC1hcmNo
aXZlCm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKaW5kZXggZDE1M2MwMzQwZmEyY2Rj
MTAzYTZmNmVjNzFmNDdkZTNjNDE2NmI5Ni4uOGJkYmZhZGFhNGYwN2Q2YmJlOWM1YjljM2IzZTQ0
MWJkY2I5ZjU1MQotLS0gYS9Ub29scy9DSVN1cHBvcnQvYnVpbHQtcHJvZHVjdC1hcmNoaXZlCisr
KyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmUKQEAgLTExMCw3ICsxMTAs
NyBAQCBkZWYgY29weUJ1aWxkRmlsZXMoc291cmNlLCBkZXN0aW5hdGlvbiwgcGF0dGVybnMpOgog
ICAgIHNodXRpbC5jb3B5dHJlZShzb3VyY2UsIGRlc3RpbmF0aW9uLCBpZ25vcmU9c2h1dGlsLmln
bm9yZV9wYXR0ZXJucygqcGF0dGVybnMpKQogCiAKLWRlZiBjcmVhdGVaaXBGcm9tTGlzdChsaXN0
VG9aaXAsIGNvbmZpZ3VyYXRpb24sIGV4Y2x1ZGVQYXR0ZXJuPU5vbmUpOgorZGVmIGNyZWF0ZVpp
cEZyb21MaXN0KGxpc3RUb1ppcCwgY29uZmlndXJhdGlvbiwgZXhjbHVkZVBhdHRlcm5zPU5vbmUp
OgogICAgIGdsb2JhbCBfdG9wTGV2ZWxCdWlsZERpcmVjdG9yeQogICAgIGdsb2JhbCBfY29uZmln
dXJhdGlvbkJ1aWxkRGlyZWN0b3J5CiAgICAgYXJjaGl2ZURpciA9IF90b3BMZXZlbEJ1aWxkRGly
ZWN0b3J5CkBAIC0xMjQsOCArMTI0LDkgQEAgZGVmIGNyZWF0ZVppcEZyb21MaXN0KGxpc3RUb1pp
cCwgY29uZmlndXJhdGlvbiwgZXhjbHVkZVBhdHRlcm49Tm9uZSk6CiAKICAgICBpZiBzeXMucGxh
dGZvcm0uc3RhcnRzd2l0aCgnbGludXgnKToKICAgICAgICAgemlwQ29tbWFuZCA9IFsnemlwJywg
Jy15JywgJy1yJywgYXJjaGl2ZUZpbGVdICsgbGlzdFRvWmlwCi0gICAgICAgIGlmIGV4Y2x1ZGVQ
YXR0ZXJuOgotICAgICAgICAgICAgemlwQ29tbWFuZCArPSBbJy14JywgZXhjbHVkZVBhdHRlcm5d
CisgICAgICAgIGlmIGV4Y2x1ZGVQYXR0ZXJuczoKKyAgICAgICAgICAgIGZvciBleGNsdWRlUGF0
dGVybiBpbiBleGNsdWRlUGF0dGVybnM6CisgICAgICAgICAgICAgICAgemlwQ29tbWFuZCArPSBb
Jy14JywgZXhjbHVkZVBhdHRlcm5dCiAgICAgICAgIHJldHVybiBzdWJwcm9jZXNzLmNhbGwoemlw
Q29tbWFuZCwgY3dkPV9jb25maWd1cmF0aW9uQnVpbGREaXJlY3RvcnkpCiAKICAgICByYWlzZSBO
b3RJbXBsZW1lbnRlZEVycm9yKCdVbnN1cHBvcnRlZCBwbGF0Zm9ybToge3BsYXRmb3JtfScuZm9y
bWF0KHBsYXRmb3JtPXN5cy5wbGF0Zm9ybSkpCkBAIC0yNDAsMjQgKzI0MSwyOSBAQCBkZWYgYXJj
aGl2ZUJ1aWx0UHJvZHVjdChjb25maWd1cmF0aW9uLCBwbGF0Zm9ybSwgZnVsbFBsYXRmb3JtLCBt
aW5pZnk9RmFsc2UpOgogICAgICAgICAjIE9uIEdUSysvV1BFL0pTQyB3ZSBkb24ndCBuZWVkIHRo
ZSBpbnRlcm1lZGlhdGUgc3RlcCBvZiBjcmVhdGluZyBhIHRoaW5EaXJlY3RvcnkKICAgICAgICAg
IyB0byBiZSBjb21wcmVzc2VkIGluIGEgWklQIGZpbGUsIGJlY2F1c2Ugd2UgY2FuIGNyZWF0ZSB0
aGUgWklQIGRpcmVjdGx5LgogICAgICAgICAjIFRoaXMgaXMgZmFzdGVyIGFuZCByZXF1aXJlcyBs
ZXNzIGRpc2sgcmVzb3VyY2VzLgotICAgICAgICBjb250ZW50cyA9IFsnYmluJywgJ2xpYiddCi0K
LSAgICAgICAgIyBGb3IgV1BFIHBhY2sgdGhlIENvZyBicm93c2VyIGFzIHdlbGwgaWYgaXQncyBw
cmVzZW50LgotICAgICAgICBjb2dEaXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4oJ1Rvb2xzJywgJ2Nv
Zy1wcmVmaXgnLCAnc3JjJywgJ2NvZy1idWlsZCcpCi0gICAgICAgIGFic29sdXRlQ29nRGlyZWN0
b3J5ID0gb3MucGF0aC5qb2luKF9jb25maWd1cmF0aW9uQnVpbGREaXJlY3RvcnksIGNvZ0RpcmVj
dG9yeSkKLSAgICAgICAgaWYgcGxhdGZvcm0gPT0gJ3dwZScgYW5kIG9zLnBhdGguaXNkaXIoYWJz
b2x1dGVDb2dEaXJlY3RvcnkpOgotICAgICAgICAgICAgY29udGVudHMuZXh0ZW5kKFtvcy5wYXRo
LmpvaW4oY29nRGlyZWN0b3J5LCBmaWxlbmFtZV9vcl9kaXJlY3RvcnkpIGZvciBmaWxlbmFtZV9v
cl9kaXJlY3RvcnkgaW4gWydjb2cnLCAnY29nY3RsJywgJ21vZHVsZXMnXV0pCisgICAgICAgIGlm
IHBsYXRmb3JtIGluICgnanNjJywgJ3dwZScpOgorICAgICAgICAgICAgY29udGVudHMgPSBbJ2Jp
bicsICdsaWInXQorCisgICAgICAgIGlmIHBsYXRmb3JtID09ICd3cGUnOgorICAgICAgICAgICAg
IyBGb3IgV1BFIHBhY2sgdGhlIENvZyBicm93c2VyIGFzIHdlbGwgaWYgaXQncyBwcmVzZW50Lgor
ICAgICAgICAgICAgY29nRGlyZWN0b3J5ID0gb3MucGF0aC5qb2luKCdUb29scycsICdjb2ctcHJl
Zml4JywgJ3NyYycsICdjb2ctYnVpbGQnKQorICAgICAgICAgICAgYWJzb2x1dGVDb2dEaXJlY3Rv
cnkgPSBvcy5wYXRoLmpvaW4oX2NvbmZpZ3VyYXRpb25CdWlsZERpcmVjdG9yeSwgY29nRGlyZWN0
b3J5KQorICAgICAgICAgICAgaWYgb3MucGF0aC5pc2RpcihhYnNvbHV0ZUNvZ0RpcmVjdG9yeSk6
CisgICAgICAgICAgICAgICAgY29udGVudHMuZXh0ZW5kKFtvcy5wYXRoLmpvaW4oY29nRGlyZWN0
b3J5LCBmaWxlbmFtZV9vcl9kaXJlY3RvcnkpIGZvciBmaWxlbmFtZV9vcl9kaXJlY3RvcnkgaW4g
Wydjb2cnLCAnY29nY3RsJywgJ21vZHVsZXMnXV0pCiAgICAgICAgICAgICBmb3IgZmlsZW5hbWUg
aW4gb3MubGlzdGRpcihhYnNvbHV0ZUNvZ0RpcmVjdG9yeSk6CiAgICAgICAgICAgICAgICAgaWYg
ZmlsZW5hbWUuc3RhcnRzd2l0aCgnbGliY29nY29yZScpOgogICAgICAgICAgICAgICAgICAgICBj
b250ZW50cy5hcHBlbmQob3MucGF0aC5qb2luKGNvZ0RpcmVjdG9yeSwgZmlsZW5hbWUpKQogCisg
ICAgICAgIGlmIHBsYXRmb3JtID09ICdndGsnOgorICAgICAgICAgICAgY29udGVudHMgPSBbb3Mu
cGF0aC5qb2luKCdpbnN0YWxsJywgZGlyZWN0b3J5KSBmb3IgZGlyZWN0b3J5IGluIFsnYmluJywg
J2luY2x1ZGUnLCAnbGliJywgJ2xpYmV4ZWMnXV0KKwogICAgICAgICAjIFdoZW4gZGVidWcgZmlz
c2lvbiBpcyBlbmFibGVkIHRoZSBkaXJlY3RvcmllcyBiZWxvdyBjb250YWluIGR3byBmaWxlcwog
ICAgICAgICAjIHdpdGggdGhlIGRlYnVnIGluZm9ybWF0aW9uIG5lZWRlZCB0byBnZW5lcmF0ZSBi
YWNrdHJhY2VzIHdpdGggR0RCLgogICAgICAgICBmb3Igb2JqZWN0RGlyIGluIFsnVG9vbHMnLCAn
U291cmNlJ106CiAgICAgICAgICAgICBpZiBkaXJDb250YWluc2R3byhvYmplY3REaXIpOgogICAg
ICAgICAgICAgICAgIGNvbnRlbnRzLmFwcGVuZChvYmplY3REaXIpCiAKLSAgICAgICAgaWYgY3Jl
YXRlWmlwRnJvbUxpc3QoY29udGVudHMsIGNvbmZpZ3VyYXRpb24sIGV4Y2x1ZGVQYXR0ZXJuPScq
Lm8nKToKKyAgICAgICAgaWYgY3JlYXRlWmlwRnJvbUxpc3QoY29udGVudHMsIGNvbmZpZ3VyYXRp
b24sIGV4Y2x1ZGVQYXR0ZXJucz1bJyoubycsICcqLmEnXSk6CiAgICAgICAgICAgICByZXR1cm4g
MQogCiBkZWYgdW56aXBBcmNoaXZlKGRpcmVjdG9yeVRvRXh0cmFjdFRvLCBjb25maWd1cmF0aW9u
KToKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5IGIv
VG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9mYWN0b3JpZXMucHkKaW5kZXggZTUzNGFhNjMzMWFh
NDk2NWQ1ZmM0NDNkZWEzODAxMGIwMTIwNmY4NS4uOTNiNjY2YTBiODg0N2RhZWRhOTkyNzUxMjkz
MjE2ZTliZmE0YmFhYyAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9mYWN0
b3JpZXMucHkKKysrIGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9mYWN0b3JpZXMucHkKQEAg
LTMyLDcgKzMyLDggQEAgZnJvbSBzdGVwcyBpbXBvcnQgKEFwcGx5UGF0Y2gsIEFwcGx5V2F0Y2hM
aXN0LCBDaGVja091dFNvdXJjZSwgQ2hlY2tPdXRTcGVjaWZpY1IKICAgICAgICAgICAgICAgICAg
ICBSdW5FV1NVbml0VGVzdHMsIFJ1blJlc3VsdHNkYnB5VGVzdHMsIFJ1bkphdmFTY3JpcHRDb3Jl
VGVzdHMsIFJ1bldlYktpdDFUZXN0cywgUnVuV2ViS2l0UGVybFRlc3RzLCBSdW5XZWJLaXRQeVB5
dGhvbjJUZXN0cywKICAgICAgICAgICAgICAgICAgICBSdW5XZWJLaXRQeVB5dGhvbjNUZXN0cywg
UnVuV2ViS2l0VGVzdHMsIFJ1bldlYktpdFRlc3RzSW5TdHJlc3NNb2RlLCBSdW5XZWJLaXRUZXN0
c0luU3RyZXNzR3VhcmRtYWxsb2NNb2RlLAogICAgICAgICAgICAgICAgICAgIFNldEJ1aWxkU3Vt
bWFyeSwgU2hvd0lkZW50aWZpZXIsIFRyaWdnZXJDcmFzaExvZ1N1Ym1pc3Npb24sIFVwZGF0ZVdv
cmtpbmdEaXJlY3RvcnksCi0gICAgICAgICAgICAgICAgICAgVmFsaWRhdGVQYXRjaCwgVmFsaWRh
dGVDaGFuZ2VMb2dBbmRSZXZpZXdlciwgVmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyLCBXYWl0
Rm9yQ3Jhc2hDb2xsZWN0aW9uKQorICAgICAgICAgICAgICAgICAgIFZhbGlkYXRlUGF0Y2gsIFZh
bGlkYXRlQ2hhbmdlTG9nQW5kUmV2aWV3ZXIsIFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlciwg
V2FpdEZvckNyYXNoQ29sbGVjdGlvbiwKKyAgICAgICAgICAgICAgICAgICBJbnN0YWxsQnVpbHRQ
cm9kdWN0KQogCiAKIGNsYXNzIEZhY3RvcnkoZmFjdG9yeS5CdWlsZEZhY3RvcnkpOgpAQCAtMTE0
LDYgKzExNSw4IEBAIGNsYXNzIEJ1aWxkRmFjdG9yeShGYWN0b3J5KToKICAgICAgICAgaWYgcGxh
dGZvcm0gPT0gJ2d0ayc6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoSW5zdGFsbEd0a0RlcGVu
ZGVuY2llcygpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ29tcGlsZVdlYktpdChza2lwVXBsb2Fk
PXNlbGYuc2tpcFVwbG9hZCkpCisgICAgICAgIGlmIHBsYXRmb3JtID09ICdndGsnOgorICAgICAg
ICAgICAgc2VsZi5hZGRTdGVwKEluc3RhbGxCdWlsdFByb2R1Y3QoKSkKIAogCiBjbGFzcyBUZXN0
RmFjdG9yeShGYWN0b3J5KToKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQv
ZmFjdG9yaWVzX3VuaXR0ZXN0LnB5IGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9mYWN0b3Jp
ZXNfdW5pdHRlc3QucHkKaW5kZXggMmI1OGExZTUxOTBjYWFmODY0ZjZkNzBlMzA3ODE3ODA1NWYy
MjJlOC4uY2I5M2IyMmZhZmEwM2QyNGMwN2YwMGQ2ODg3M2ZmMTJlMjM4M2FlNyAxMDA2NDQKLS0t
IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9mYWN0b3JpZXNfdW5pdHRlc3QucHkKKysrIGIv
VG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9mYWN0b3JpZXNfdW5pdHRlc3QucHkKQEAgLTMxMiw2
ICszMTIsNyBAQCBjbGFzcyBUZXN0QnVpbGRGYWN0b3J5KFRlc3RDYXNlKToKICAgICAgICAgICAg
IF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLktpbGxPbGRQcm9jZXNzZXMpLAogICAgICAgICAgICAg
X0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuSW5zdGFsbEd0a0RlcGVuZGVuY2llcyksCiAgICAgICAg
ICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5Db21waWxlV2ViS2l0LCBza2lwVXBsb2FkPUZh
bHNlKSwKKyAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLkluc3RhbGxCdWlsdFBy
b2R1Y3QpLAogICAgICAgICBdKQogCiAgICAgZGVmIHRlc3Rfd3BlX2ZhY3Rvcnkoc2VsZik6CmRp
ZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5IGIvVG9vbHMvQ0lT
dXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQppbmRleCA2NGY4ZDc4M2Y3MDQyNWY4NzA4MzRkOGQ2
NzlkYjdmZjQwYmE2NDU2Li5iMTlmN2Q5MGIwZTM0ZWUzOWNjYTA3YTAyZjkxYmY3NmE5YmEwYzUw
IDEwMDY0NAotLS0gYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5CisrKyBiL1Rv
b2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkKQEAgLTE1NTksNiArMTU1OSw5IEBAIGNs
YXNzIENvbXBpbGVXZWJLaXQoc2hlbGwuQ29tcGlsZSk6CiAgICAgICAgICAgICAjIHRoaXMgbXVj
aCBmYXN0ZXIgdGhhbiBmdWxsIGRlYnVnIGluZm8sIGFuZCBjcmFzaCBsb2dzIHN0aWxsIGhhdmUg
bGluZSBudW1iZXJzLgogICAgICAgICAgICAgc2VsZi5zZXRDb21tYW5kKHNlbGYuY29tbWFuZCAr
IFsnREVCVUdfSU5GT1JNQVRJT05fRk9STUFUPWR3YXJmLXdpdGgtZHN5bSddKQogICAgICAgICAg
ICAgc2VsZi5zZXRDb21tYW5kKHNlbGYuY29tbWFuZCArIFsnQ0xBTkdfREVCVUdfSU5GT1JNQVRJ
T05fTEVWRUw9bGluZS10YWJsZXMtb25seSddKQorICAgICAgICBpZiBwbGF0Zm9ybSA9PSAnZ3Rr
JzoKKyAgICAgICAgICAgIHByZWZpeCA9IG9zLnBhdGguam9pbigiL2FwcCIsICJ3ZWJraXQiLCAi
V2ViS2l0QnVpbGQiLCBzZWxmLmdldFByb3BlcnR5KCJjb25maWd1cmF0aW9uIiksICJpbnN0YWxs
IikKKyAgICAgICAgICAgIHNlbGYuc2V0Q29tbWFuZChzZWxmLmNvbW1hbmQgKyBbZictLXByZWZp
eD17cHJlZml4fSddKQogCiAgICAgICAgIGFwcGVuZEN1c3RvbUJ1aWxkRmxhZ3Moc2VsZiwgcGxh
dGZvcm0sIHNlbGYuZ2V0UHJvcGVydHkoJ2Z1bGxQbGF0Zm9ybScpKQogCkBAIC0yMDMwLDYgKzIw
MzMsMTAgQEAgY2xhc3MgQW5hbHl6ZUpTQ1Rlc3RzUmVzdWx0cyhidWlsZHN0ZXAuQnVpbGRTdGVw
KToKICAgICAgICAgICAgIHByaW50KCdFcnJvciBpbiBzZW5kaW5nIGVtYWlsIGZvciBwcmUtZXhp
c3RpbmcgZmFpbHVyZToge30nLmZvcm1hdChlKSkKIAogCitjbGFzcyBJbnN0YWxsQnVpbHRQcm9k
dWN0KHNoZWxsLlNoZWxsQ29tbWFuZCk6CisgICAgY29tbWFuZCA9IFsicHl0aG9uMyIsICJUb29s
cy9TY3JpcHRzL2luc3RhbGwtYnVpbHQtcHJvZHVjdCIsCisgICAgICAgICAgICAgICBXaXRoUHJv
cGVydGllcygiLS1wbGF0Zm9ybT0lKGZ1bGxQbGF0Zm9ybSlzIiksIFdpdGhQcm9wZXJ0aWVzKCIt
LSUoY29uZmlndXJhdGlvbilzIildCisKIGNsYXNzIENsZWFuQnVpbGQoc2hlbGwuQ29tcGlsZSk6
CiAgICAgbmFtZSA9ICdkZWxldGUtV2ViS2l0QnVpbGQtZGlyZWN0b3J5JwogICAgIGRlc2NyaXB0
aW9uID0gWydkZWxldGluZyBXZWJLaXRCdWlsZCBkaXJlY3RvcnknXQpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weSBiL1Rvb2xzL0NJU3VwcG9y
dC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkKaW5kZXggY2E4MzQ0M2U5NmQ1YmZiMjlmOTM4
ZjNkZmIxYmFmZGM5Y2QwYjE2Mi4uOTM5YTZkYWQ0ZDY1MDI1ZGY3NjBiNzJlZDQ4M2QxMmRjYTlm
YTI2YSAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVz
dC5weQorKysgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CkBA
IC0xMDc5LDcgKzEwNzksNyBAQCBjbGFzcyBUZXN0Q29tcGlsZVdlYktpdChCdWlsZFN0ZXBNaXhp
bkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLmV4cGVjdFJlbW90
ZUNvbW1hbmRzKAogICAgICAgICAgICAgRXhwZWN0U2hlbGwod29ya2Rpcj0nd2tkaXInLAogICAg
ICAgICAgICAgICAgICAgICAgICAgbG9nRW52aXJvbj1GYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbW1hbmQ9WydwZXJsJywgJ1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0JywgJy0t
cmVsZWFzZScsICctLWd0ayddLAorICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZD1bJ3Bl
cmwnLCAnVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQnLCAnLS1yZWxlYXNlJywgJy0tcHJlZml4
PS9hcHAvd2Via2l0L1dlYktpdEJ1aWxkL3JlbGVhc2UvaW5zdGFsbCcsICctLWd0ayddLAogICAg
ICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKyAwLAogICAgICAgICApCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL2luc3RhbGwtYnVpbHQtcHJvZHVjdCBiL1Rvb2xzL1Njcmlw
dHMvaW5zdGFsbC1idWlsdC1wcm9kdWN0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk5MzlhODNmYmRhMWE4ZTc2ZWFl
OTliNWM4MjVhYmM1NWUxMTYxYjkKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL2lu
c3RhbGwtYnVpbHQtcHJvZHVjdApAQCAtMCwwICsxLDY2IEBACisjIS91c3IvYmluL2VudiBweXRo
b24zCisjIENvcHlyaWdodCAoQykgMjAyMSwgSWdhbGlhIFMuTAorIworIyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisjIGFyZSBtZXQ6CisjCisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZCisjIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZCisjIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisjIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyMg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5ECisjIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RgorIyBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorCitpbXBvcnQgb3B0cGFyc2UKK2ltcG9ydCBvcworaW1wb3J0IHN1YnBy
b2Nlc3MKK2ltcG9ydCBzeXMKKworaWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ2xpbnV4Jyk6
CisgICAgdG9wX2xldmVsX2RpcmVjdG9yeSA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2lu
KG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICcuLicsICcuLicpKQorICAgIHN5cy5wYXRoLmlu
c2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ2ZsYXRw
YWsnKSkKKyAgICBzeXMucGF0aC5pbnNlcnQoMSwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJl
Y3RvcnksICdUb29scycsICdTY3JpcHRzJykpCisKKyAgICBpbXBvcnQgZmxhdHBha3V0aWxzCisg
ICAgZmxhdHBha3V0aWxzLnJ1bl9pbl9zYW5kYm94X2lmX2F2YWlsYWJsZShzeXMuYXJndikKKwor
ZGVmIG1haW4oKToKKyAgICBwYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIoKQorICAgIHBh
cnNlci5hZGRfb3B0aW9uKCItLXBsYXRmb3JtIikKKyAgICBwYXJzZXIuYWRkX29wdGlvbigiLS1k
ZWJ1ZyIsIGFjdGlvbj0ic3RvcmVfY29uc3QiLCBjb25zdD0iZGVidWciLCBkZXN0PSJjb25maWd1
cmF0aW9uIikKKyAgICBwYXJzZXIuYWRkX29wdGlvbigiLS1yZWxlYXNlIiwgYWN0aW9uPSJzdG9y
ZV9jb25zdCIsIGNvbnN0PSJyZWxlYXNlIiwgZGVzdD0iY29uZmlndXJhdGlvbiIpCisKKyAgICBv
cHRpb25zLCBwYXJhbWV0ZXJzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorICAgIGlmIG5vdCBvcHRp
b25zLnBsYXRmb3JtOgorICAgICAgICBwYXJzZXIuZXJyb3IoIlBsYXRmb3JtIGlzIHJlcXVpcmVk
IikKKyAgICAgICAgcmV0dXJuIC0xCisgICAgaWYgbm90IG9wdGlvbnMuY29uZmlndXJhdGlvbjoK
KyAgICAgICAgcGFyc2VyLmVycm9yKCJDb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIikKKyAgICAg
ICAgcmV0dXJuIC0yCisKKyAgICBwbGF0Zm9ybSA9IG9wdGlvbnMucGxhdGZvcm0uc3BsaXQoJy0n
LCAxKVswXQorCisgICAgd2Via2l0X2J1aWxkX2RpcmVjdG9yeSA9IHN1YnByb2Nlc3MuUG9wZW4o
WydwZXJsJywgb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICJ3ZWJraXQt
YnVpbGQtZGlyZWN0b3J5IiksCisgICAgICAgICItLSIgKyBwbGF0Zm9ybSwgIi0tIiArIG9wdGlv
bnMuY29uZmlndXJhdGlvbiwgJy0tY29uZmlndXJhdGlvbiddLCBzdGRvdXQ9c3VicHJvY2Vzcy5Q
SVBFKS5jb21tdW5pY2F0ZSgpWzBdLnN0cmlwKCkKKworICAgIGlmIHBsYXRmb3JtID09ICdndGsn
OgorICAgICAgICByZXN1bHQgPSBzdWJwcm9jZXNzLnJ1bihbImNtYWtlIiwgIi0taW5zdGFsbCIs
IHdlYmtpdF9idWlsZF9kaXJlY3RvcnldKS5yZXR1cm5jb2RlCisgICAgZWxzZToKKyAgICAgICAg
cGFyc2VyLmVycm9yKGYiUGxhdGZvcm0ge3BsYXRmb3JtfSBpcyBub3Qgc3VwcG9ydGVkIHlldCIp
CisgICAgICAgIHJldHVybiAtMworCisgICAgcmV0dXJuIHJlc3VsdAorCitpZiBfX25hbWVfXyA9
PSAnX19tYWluX18nOgorICAgIHN5cy5leGl0KG1haW4oKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432781</attachid>
            <date>2021-07-02 05:38:56 -0700</date>
            <delta_ts>2021-07-02 05:42:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227526-20210702053854.patch</filename>
            <type>text/plain</type>
            <size>18720</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
YzFlN2YxZDFlNTM3MWVhNjA5NTFiZGI4NzNkOTM5NWQ0MzQ0YWQ0Li5mMTIzZjczYmFhNGQ2ZDBh
ZjdiYzc3OTQzYWNlMDhjZDc3MDI3NmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAyMS0wNy0wMiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS10gUGFjayBoZWFkZXIgYW5kIC5wYyBmaWxlcyBpbiB0aGUg
YnVpbHQtcHJvZHVjdCBhcmNoaXZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjc1MjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGphdmFzY3JpcHRjb3JlZ3RrLnBjLmluOiBJbmNsdWRlIFNWTl9SRVZJ
U0lPTiBhcyByZXZpc2lvbiB2YXJpYWJsZSwgdXNlZnVsIGZvciBhcHBzIHRvCisgICAgICAgIGtu
b3cgb24gd2hpY2ggdXBzdHJlYW0gU1ZOIHJldmlzaW9uIHRoZWlyIFdlYktpdEdUSy1iYXNlZCBh
cHAgaXMgYnVpbHQgb24uCisKIDIwMjEtMDctMDEgIFlpamlhIEh1YW5nICA8eWlqaWFfaHVhbmdA
YXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2FyeSBjYW5CZUludGVybmFsIGlu
dm9jYXRpb25zIHRvIG1pdGlnYXRlIHRoZSBjb3N0IG9mIHBvdGVudGlhbCB1bm1hdGNoZWQgcGF0
dGVybnMgaW4gQjNMb3dlclRvQWlyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDhlMjJhYjNhZjQyNzZkNjFjMzRhMWVl
MTQ5YzRhZTRkOGU4MGMyNDcuLmJlNGQ1NzhjMmZjMWQ4N2NlYjJhNjYzODI0Y2I2ZGUzNTE4Yjgy
MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDctMDIgIFBoaWxpcHBlIE5vcm1h
bmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFBhY2sgaGVhZGVyIGFu
ZCAucGMgZmlsZXMgaW4gdGhlIGJ1aWx0LXByb2R1Y3QgYXJjaGl2ZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3NTI2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5jbHVkZSBTVk5fUkVWSVNJT04gYXMg
cmV2aXNpb24gdmFyaWFibGUsIHVzZWZ1bCBmb3IgYXBwcyB0byBrbm93IG9uIHdoaWNoIHVwc3Ry
ZWFtIFNWTgorICAgICAgICByZXZpc2lvbiB0aGVpciBXZWJLaXRHVEstYmFzZWQgYXBwIGlzIGJ1
aWx0IG9uLgorCisgICAgICAgICogZ3RrL3dlYmtpdDJndGstd2ViLWV4dGVuc2lvbi5wYy5pbjoK
KyAgICAgICAgKiBndGsvd2Via2l0Mmd0ay5wYy5pbjoKKwogMjAyMS0wNy0wMSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFttYWNPU10gU3VzcGVuZCBXZWJQcm9j
ZXNzZXMgdGhhdCBhcmUgaW4gdGhlIHByb2Nlc3MgY2FjaGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qYXZhc2NyaXB0Y29yZWd0ay5wYy5pbiBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qYXZhc2NyaXB0Y29yZWd0ay5wYy5pbgppbmRleCBjNDM0ZjkwMzg0MTZiMjIzZjVmMjIz
OGYzMTc1ZDRkMTMwZjUxODI5Li41NTdmNzUyZGE4YTNjYWFlMmRhNDlmZjQyYzRjMjdmZjYxZWFk
YzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvamF2YXNjcmlwdGNvcmVndGsu
cGMuaW4KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2phdmFzY3JpcHRjb3JlZ3RrLnBjLmlu
CkBAIC0yLDYgKzIsNyBAQCBwcmVmaXg9QENNQUtFX0lOU1RBTExfUFJFRklYQAogZXhlY19wcmVm
aXg9JHtwcmVmaXh9CiBsaWJkaXI9QExJQl9JTlNUQUxMX0RJUkAKIGluY2x1ZGVkaXI9JHtwcmVm
aXh9L2luY2x1ZGUKK3JldmlzaW9uPUBTVk5fUkVWSVNJT05ACiAKIE5hbWU6IEphdmFTY3JpcHRD
b3JlR1RLKwogRGVzY3JpcHRpb246IEdUSysgdmVyc2lvbiBvZiB0aGUgSmF2YVNjcmlwdENvcmUg
ZW5naW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQyZ3RrLXdlYi1leHRl
bnNpb24ucGMuaW4gYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQyZ3RrLXdlYi1leHRlbnNpb24u
cGMuaW4KaW5kZXggNjhiMDMwYjY1OTU4ZDZlMzUyY2VhMWUzNDkzYTM1MDE0NjRlMGQwMC4uMzA5
NzExMzU5NTE2ZjY1MGUyM2ZkYTUxZjY1MDY5OTBmOGQ1NDMxOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9ndGsvd2Via2l0Mmd0ay13ZWItZXh0ZW5zaW9uLnBjLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZ3RrL3dlYmtpdDJndGstd2ViLWV4dGVuc2lvbi5wYy5pbgpAQCAtMiw2ICsyLDcgQEAg
cHJlZml4PUBDTUFLRV9JTlNUQUxMX1BSRUZJWEAKIGV4ZWNfcHJlZml4PSR7cHJlZml4fQogbGli
ZGlyPUBMSUJfSU5TVEFMTF9ESVJACiBpbmNsdWRlZGlyPSR7cHJlZml4fS9pbmNsdWRlCityZXZp
c2lvbj1AU1ZOX1JFVklTSU9OQAogCiBOYW1lOiBXZWJLaXRHVEsgd2ViIHByb2Nlc3MgZXh0ZW5z
aW9ucwogRGVzY3JpcHRpb246IFdlYiBjb250ZW50IGVuZ2luZSBmb3IgR1RLIC0gd2ViIHByb2Nl
c3MgZXh0ZW5zaW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0Mmd0ay5w
Yy5pbiBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdDJndGsucGMuaW4KaW5kZXggZTdjMGQ2MDFl
MjYxZmM0OTA3YmFiODAzMWMzNTJlZGU2YThhZGY3ZC4uMGFkZWZhNWQ2NzRmNTA1ZWJkMDVjNjQ4
NWE3Y2Q5NGQ4NzQyYTA3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0Mmd0
ay5wYy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQyZ3RrLnBjLmluCkBAIC0yLDYg
KzIsNyBAQCBwcmVmaXg9QENNQUtFX0lOU1RBTExfUFJFRklYQAogZXhlY19wcmVmaXg9JHtwcmVm
aXh9CiBsaWJkaXI9QExJQl9JTlNUQUxMX0RJUkAKIGluY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1
ZGUKK3JldmlzaW9uPUBTVk5fUkVWSVNJT05ACiAKIE5hbWU6IFdlYktpdEdUSwogRGVzY3JpcHRp
b246IFdlYiBjb250ZW50IGVuZ2luZSBmb3IgR1RLCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjk3Mzg5Yzg0ZjU3NjVhNGUxNDYzMTY2MzAwM2Fj
ODkzYjE4NTYzNS4uNGEyYjIwYzM2OTdjOWNjOThjOWExYmVkNWIwZjRiZDM2M2I1MjVkYyAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI5IEBACisyMDIxLTA3LTAyICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNv
bT4KKworICAgICAgICBbR1RLXSBQYWNrIGhlYWRlciBhbmQgLnBjIGZpbGVzIGluIHRoZSBidWls
dC1wcm9kdWN0IGFyY2hpdmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNzUyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSBoZWFkZXIgZmlsZXMgYW5kIHBrZy1jb25maWcgZmlsZXMgbmVlZGVkIHRv
IGJ1aWxkIFdlYktpdEdUSyBhcHBzIGFyZSBub3cgaW5jbHVkZWQgaW4gdGhlCisgICAgICAgIGJ1
aWx0IHByb2R1Y3QgemlwIGZpbGUuIEFzIHRoZXkncmUgdGV4dCBmaWxlcyB0aGUgaW1wYWN0IG9u
IHRoZSB6aXAgc2l6ZSBzaG91bGQgbm90IGJlCisgICAgICAgIHNpZ25pZmljYW50LiBJbiBvcmRl
ciB0byBzdXBwb3J0IHRoaXMsIHR3byBjaGFuZ2VzIGFyZSBpbnRyb2R1Y2VkIGZvciB0aGUgR1RL
IGJ1aWxkIGJvdDoKKworICAgICAgICAtIGJ1aWxkLXdlYmtpdCBpcyBub3cgY2FsbGVkIHdpdGgg
YSAtLXByZWZpeCBvcHRpb24KKyAgICAgICAgLSBhIG5ldyBidWlsZCBzdGVwIGhhcyBiZWVuIGFk
ZGVkLCB3aGljaCBpbnN0YWxscyB0aGUgYnVpbHQgZmlsZXMgaW4gdGhlIGdpdmVuIHByZWZpeCBk
aXJlY3RvcnkKKworICAgICAgICBUaGVuIGJ1aWx0LXByb2R1Y3QtYXJjaGl2ZSBjYW4gc2ltcGx5
IHBhY2sgZmlsZXMgZnJvbSB0aGUgaW5zdGFsbCBwcmVmaXggZGlyZWN0b3J5LgorCisgICAgICAg
IEFkZGl0aW9uYWxseSB0aGUgLmEgKHBvdGVudGlhbGx5IGJpZykgZmlsZXMgYXJlIG5vdyBleGNs
dWRlZCBmcm9tIHRoZSB6aXAgYXJjaGl2ZS4KKworICAgICAgICAqIENJU3VwcG9ydC9idWlsZC13
ZWJraXQtb3JnL2ZhY3Rvcmllcy5weToKKyAgICAgICAgKEJ1aWxkRmFjdG9yeS5fX2luaXRfXyk6
CisgICAgICAgICogQ0lTdXBwb3J0L2J1aWxkLXdlYmtpdC1vcmcvc3RlcHMucHk6CisgICAgICAg
IChDb21waWxlV2ViS2l0LnN0YXJ0KToKKyAgICAgICAgKEluc3RhbGxCdWlsdFByb2R1Y3QpOgor
ICAgICAgICAqIENJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmU6CisgICAgICAgICogU2Ny
aXB0cy9pbnN0YWxsLWJ1aWx0LXByb2R1Y3Q6IEFkZGVkLgorCiAyMDIxLTA3LTAyICBYYWJpZXIg
Um9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10g
bWVkaWEvZXZlbnQtYXR0cmlidXRlcy5odG1sIGZhaWxzIGlmIG1peGVyIGlzIG5vdCBhdCAxMDAl
CmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9mYWN0b3JpZXMu
cHkgYi9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9mYWN0b3JpZXMucHkKaW5kZXgg
NzliM2ZmODYzNzY0ZjdjNTJjODQwYTFkNjQ5YTg1NmIyNDQ5Y2EzNC4uYjliNzUyNDc4MzIzNzMy
MjdhZmY2YzRiNzUzZjUxM2QyMTYyMDg0ZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2J1
aWxkLXdlYmtpdC1vcmcvZmFjdG9yaWVzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13
ZWJraXQtb3JnL2ZhY3Rvcmllcy5weQpAQCAtNjMsNiArNjMsOSBAQCBjbGFzcyBCdWlsZEZhY3Rv
cnkoRmFjdG9yeSk6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoR2VuZXJhdGVNaW5pQnJvd3Nl
ckJ1bmRsZSgpKQogCiAgICAgICAgIGlmIHRyaWdnZXJzOgorICAgICAgICAgICAgaWYgcGxhdGZv
cm0gPT0gImd0ayI6CisgICAgICAgICAgICAgICAgc2VsZi5hZGRTdGVwKEluc3RhbGxCdWlsdFBy
b2R1Y3QoKSkKKwogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKEFyY2hpdmVCdWlsdFByb2R1Y3Qo
KSkKICAgICAgICAgICAgIHNlbGYuYWRkU3RlcChVcGxvYWRCdWlsdFByb2R1Y3QoKSkKICAgICAg
ICAgICAgIGlmIHBsYXRmb3JtLnN0YXJ0c3dpdGgoJ21hYycpIG9yIHBsYXRmb3JtLnN0YXJ0c3dp
dGgoJ2lvcy1zaW11bGF0b3InKSBvciBwbGF0Zm9ybS5zdGFydHN3aXRoKCd0dm9zLXNpbXVsYXRv
cicpIG9yIHBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dhdGNob3Mtc2ltdWxhdG9yJyk6CmRpZmYgLS1n
aXQgYS9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9zdGVwcy5weSBiL1Rvb2xzL0NJ
U3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzLnB5CmluZGV4IGJlYzA1NzAwNWVlMzYzNDYy
N2Q4YjgwODVmZWRiNjc2YWZhYWMzMGQuLjAxNDc5N2RkMzA5ZWQyOTBiYzMyZDdmYmY1OWIwNjdl
OGNkOTFkYWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0
ZXBzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzLnB5CkBA
IC0yODksNiArMjg5LDkgQEAgY2xhc3MgQ29tcGlsZVdlYktpdChzaGVsbC5Db21waWxlKToKICAg
ICAgICAgICAgICMgdGhpcyBtdWNoIGZhc3RlciB0aGFuIGZ1bGwgZGVidWcgaW5mbywgYW5kIGNy
YXNoIGxvZ3Mgc3RpbGwgaGF2ZSBsaW5lIG51bWJlcnMuCiAgICAgICAgICAgICBzZWxmLnNldENv
bW1hbmQoc2VsZi5jb21tYW5kICsgWydERUJVR19JTkZPUk1BVElPTl9GT1JNQVQ9ZHdhcmYtd2l0
aC1kc3ltJ10pCiAgICAgICAgICAgICBzZWxmLnNldENvbW1hbmQoc2VsZi5jb21tYW5kICsgWydD
TEFOR19ERUJVR19JTkZPUk1BVElPTl9MRVZFTD1saW5lLXRhYmxlcy1vbmx5J10pCisgICAgICAg
IGlmIHBsYXRmb3JtID09ICdndGsnOgorICAgICAgICAgICAgcHJlZml4ID0gb3MucGF0aC5qb2lu
KCIvYXBwIiwgIndlYmtpdCIsICJXZWJLaXRCdWlsZCIsIHNlbGYuZ2V0UHJvcGVydHkoImNvbmZp
Z3VyYXRpb24iKSwgImluc3RhbGwiKQorICAgICAgICAgICAgc2VsZi5zZXRDb21tYW5kKHNlbGYu
Y29tbWFuZCArIFtmJy0tcHJlZml4PXtwcmVmaXh9J10pCiAKICAgICAgICAgYXBwZW5kQ3VzdG9t
QnVpbGRGbGFncyhzZWxmLCBwbGF0Zm9ybSwgc2VsZi5nZXRQcm9wZXJ0eSgnZnVsbFBsYXRmb3Jt
JykpCiAKQEAgLTMyMSw2ICszMjQsMTAgQEAgY2xhc3MgQ29tcGlsZUpTQ09ubHkoQ29tcGlsZVdl
YktpdCk6CiAgICAgY29tbWFuZCA9IFsicGVybCIsICIuL1Rvb2xzL1NjcmlwdHMvYnVpbGQtanNj
IiwgV2l0aFByb3BlcnRpZXMoIi0tJShjb25maWd1cmF0aW9uKXMiKV0KIAogCitjbGFzcyBJbnN0
YWxsQnVpbHRQcm9kdWN0KHNoZWxsLlNoZWxsQ29tbWFuZCk6CisgICAgY29tbWFuZCA9IFsicHl0
aG9uMyIsICJUb29scy9TY3JpcHRzL2luc3RhbGwtYnVpbHQtcHJvZHVjdCIsCisgICAgICAgICAg
ICAgICBXaXRoUHJvcGVydGllcygiLS1wbGF0Zm9ybT0lKGZ1bGxQbGF0Zm9ybSlzIiksIFdpdGhQ
cm9wZXJ0aWVzKCItLSUoY29uZmlndXJhdGlvbilzIildCisKIGNsYXNzIEFyY2hpdmVCdWlsdFBy
b2R1Y3Qoc2hlbGwuU2hlbGxDb21tYW5kKToKICAgICBjb21tYW5kID0gWyJweXRob24zIiwgIlRv
b2xzL0NJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmUiLAogICAgICAgICAgICAgICAgV2l0
aFByb3BlcnRpZXMoIi0tcGxhdGZvcm09JShmdWxsUGxhdGZvcm0pcyIpLCBXaXRoUHJvcGVydGll
cygiLS0lKGNvbmZpZ3VyYXRpb24pcyIpLCAiYXJjaGl2ZSJdCmRpZmYgLS1naXQgYS9Ub29scy9D
SVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9zdGVwc191bml0dGVzdC5weSBiL1Rvb2xzL0NJU3Vw
cG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzX3VuaXR0ZXN0LnB5CmluZGV4IGQyNWFjN2RlNGM2
MTM1ODg4NGQ1MzFkYmQ5ODA2MzA2MGVkMWU1YWUuLjdmNDcyNGQ5NDBjMmRhYzc4Yzk2ZmZmMTU4
MjRiZjI5Mjk4OWFhNDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQt
b3JnL3N0ZXBzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQt
b3JnL3N0ZXBzX3VuaXR0ZXN0LnB5CkBAIC00MjAsNyArNDIwLDcgQEAgY2xhc3MgVGVzdENvbXBp
bGVXZWJLaXQoQnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICAgICAgICAgICAgICB3b3JrZGlyPSd3a2RpcicsCiAgICAgICAgICAgICAgICAgdGltZW91dD0x
MjAwLAogICAgICAgICAgICAgICAgIGxvZ0Vudmlyb249VHJ1ZSwKLSAgICAgICAgICAgICAgICBj
b21tYW5kPVsncGVybCcsICcuL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0JywgJy0tcmVsZWFz
ZScsICctLWd0ayddLAorICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydwZXJsJywgJy4vVG9vbHMv
U2NyaXB0cy9idWlsZC13ZWJraXQnLCAnLS1yZWxlYXNlJywgJy0tcHJlZml4PS9hcHAvd2Via2l0
L1dlYktpdEJ1aWxkL3JlbGVhc2UvaW5zdGFsbCcsICctLWd0ayddLAogICAgICAgICAgICAgKSAr
IDAsCiAgICAgICAgICkKICAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNT
LCBzdGF0ZV9zdHJpbmc9J2NvbXBpbGVkJykKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9i
dWlsdC1wcm9kdWN0LWFyY2hpdmUgYi9Ub29scy9DSVN1cHBvcnQvYnVpbHQtcHJvZHVjdC1hcmNo
aXZlCm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKaW5kZXggZDE1M2MwMzQwZmEyY2Rj
MTAzYTZmNmVjNzFmNDdkZTNjNDE2NmI5Ni4uYjI1Mzk4ZDBkOThiMmRhZjkxMzI0YzRlZjhkNDBh
MTViNDM1NzgwYwotLS0gYS9Ub29scy9DSVN1cHBvcnQvYnVpbHQtcHJvZHVjdC1hcmNoaXZlCisr
KyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmUKQEAgLTExMCw3ICsxMTAs
NyBAQCBkZWYgY29weUJ1aWxkRmlsZXMoc291cmNlLCBkZXN0aW5hdGlvbiwgcGF0dGVybnMpOgog
ICAgIHNodXRpbC5jb3B5dHJlZShzb3VyY2UsIGRlc3RpbmF0aW9uLCBpZ25vcmU9c2h1dGlsLmln
bm9yZV9wYXR0ZXJucygqcGF0dGVybnMpKQogCiAKLWRlZiBjcmVhdGVaaXBGcm9tTGlzdChsaXN0
VG9aaXAsIGNvbmZpZ3VyYXRpb24sIGV4Y2x1ZGVQYXR0ZXJuPU5vbmUpOgorZGVmIGNyZWF0ZVpp
cEZyb21MaXN0KGxpc3RUb1ppcCwgY29uZmlndXJhdGlvbiwgZXhjbHVkZVBhdHRlcm5zPU5vbmUp
OgogICAgIGdsb2JhbCBfdG9wTGV2ZWxCdWlsZERpcmVjdG9yeQogICAgIGdsb2JhbCBfY29uZmln
dXJhdGlvbkJ1aWxkRGlyZWN0b3J5CiAgICAgYXJjaGl2ZURpciA9IF90b3BMZXZlbEJ1aWxkRGly
ZWN0b3J5CkBAIC0xMjQsOCArMTI0LDkgQEAgZGVmIGNyZWF0ZVppcEZyb21MaXN0KGxpc3RUb1pp
cCwgY29uZmlndXJhdGlvbiwgZXhjbHVkZVBhdHRlcm49Tm9uZSk6CiAKICAgICBpZiBzeXMucGxh
dGZvcm0uc3RhcnRzd2l0aCgnbGludXgnKToKICAgICAgICAgemlwQ29tbWFuZCA9IFsnemlwJywg
Jy15JywgJy1yJywgYXJjaGl2ZUZpbGVdICsgbGlzdFRvWmlwCi0gICAgICAgIGlmIGV4Y2x1ZGVQ
YXR0ZXJuOgotICAgICAgICAgICAgemlwQ29tbWFuZCArPSBbJy14JywgZXhjbHVkZVBhdHRlcm5d
CisgICAgICAgIGlmIGV4Y2x1ZGVQYXR0ZXJuczoKKyAgICAgICAgICAgIGZvciBleGNsdWRlUGF0
dGVybiBpbiBleGNsdWRlUGF0dGVybnM6CisgICAgICAgICAgICAgICAgemlwQ29tbWFuZCArPSBb
Jy14JywgZXhjbHVkZVBhdHRlcm5dCiAgICAgICAgIHJldHVybiBzdWJwcm9jZXNzLmNhbGwoemlw
Q29tbWFuZCwgY3dkPV9jb25maWd1cmF0aW9uQnVpbGREaXJlY3RvcnkpCiAKICAgICByYWlzZSBO
b3RJbXBsZW1lbnRlZEVycm9yKCdVbnN1cHBvcnRlZCBwbGF0Zm9ybToge3BsYXRmb3JtfScuZm9y
bWF0KHBsYXRmb3JtPXN5cy5wbGF0Zm9ybSkpCkBAIC0yNDIsMjIgKzI0MywyNiBAQCBkZWYgYXJj
aGl2ZUJ1aWx0UHJvZHVjdChjb25maWd1cmF0aW9uLCBwbGF0Zm9ybSwgZnVsbFBsYXRmb3JtLCBt
aW5pZnk9RmFsc2UpOgogICAgICAgICAjIFRoaXMgaXMgZmFzdGVyIGFuZCByZXF1aXJlcyBsZXNz
IGRpc2sgcmVzb3VyY2VzLgogICAgICAgICBjb250ZW50cyA9IFsnYmluJywgJ2xpYiddCiAKLSAg
ICAgICAgIyBGb3IgV1BFIHBhY2sgdGhlIENvZyBicm93c2VyIGFzIHdlbGwgaWYgaXQncyBwcmVz
ZW50LgotICAgICAgICBjb2dEaXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4oJ1Rvb2xzJywgJ2NvZy1w
cmVmaXgnLCAnc3JjJywgJ2NvZy1idWlsZCcpCi0gICAgICAgIGFic29sdXRlQ29nRGlyZWN0b3J5
ID0gb3MucGF0aC5qb2luKF9jb25maWd1cmF0aW9uQnVpbGREaXJlY3RvcnksIGNvZ0RpcmVjdG9y
eSkKLSAgICAgICAgaWYgcGxhdGZvcm0gPT0gJ3dwZScgYW5kIG9zLnBhdGguaXNkaXIoYWJzb2x1
dGVDb2dEaXJlY3RvcnkpOgotICAgICAgICAgICAgY29udGVudHMuZXh0ZW5kKFtvcy5wYXRoLmpv
aW4oY29nRGlyZWN0b3J5LCBmaWxlbmFtZV9vcl9kaXJlY3RvcnkpIGZvciBmaWxlbmFtZV9vcl9k
aXJlY3RvcnkgaW4gWydjb2cnLCAnY29nY3RsJywgJ21vZHVsZXMnXV0pCisgICAgICAgIGlmIHBs
YXRmb3JtID09ICd3cGUnOgorICAgICAgICAgICAgIyBGb3IgV1BFIHBhY2sgdGhlIENvZyBicm93
c2VyIGFzIHdlbGwgaWYgaXQncyBwcmVzZW50LgorICAgICAgICAgICAgY29nRGlyZWN0b3J5ID0g
b3MucGF0aC5qb2luKCdUb29scycsICdjb2ctcHJlZml4JywgJ3NyYycsICdjb2ctYnVpbGQnKQor
ICAgICAgICAgICAgYWJzb2x1dGVDb2dEaXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4oX2NvbmZpZ3Vy
YXRpb25CdWlsZERpcmVjdG9yeSwgY29nRGlyZWN0b3J5KQorICAgICAgICAgICAgaWYgb3MucGF0
aC5pc2RpcihhYnNvbHV0ZUNvZ0RpcmVjdG9yeSk6CisgICAgICAgICAgICAgICAgY29udGVudHMu
ZXh0ZW5kKFtvcy5wYXRoLmpvaW4oY29nRGlyZWN0b3J5LCBmaWxlbmFtZV9vcl9kaXJlY3Rvcnkp
IGZvciBmaWxlbmFtZV9vcl9kaXJlY3RvcnkgaW4gWydjb2cnLCAnY29nY3RsJywgJ21vZHVsZXMn
XV0pCiAgICAgICAgICAgICBmb3IgZmlsZW5hbWUgaW4gb3MubGlzdGRpcihhYnNvbHV0ZUNvZ0Rp
cmVjdG9yeSk6CiAgICAgICAgICAgICAgICAgaWYgZmlsZW5hbWUuc3RhcnRzd2l0aCgnbGliY29n
Y29yZScpOgogICAgICAgICAgICAgICAgICAgICBjb250ZW50cy5hcHBlbmQob3MucGF0aC5qb2lu
KGNvZ0RpcmVjdG9yeSwgZmlsZW5hbWUpKQogCisgICAgICAgIGlmIHBsYXRmb3JtID09ICdndGsn
OgorICAgICAgICAgICAgY29udGVudHMuZXh0ZW5kKFtvcy5wYXRoLmpvaW4oJ2luc3RhbGwnLCBk
aXJlY3RvcnkpIGZvciBkaXJlY3RvcnkgaW4gWydpbmNsdWRlJywgb3MucGF0aC5qb2luKCdsaWIn
LCAncGtnY29uZmlnJyldXSkKKwogICAgICAgICAjIFdoZW4gZGVidWcgZmlzc2lvbiBpcyBlbmFi
bGVkIHRoZSBkaXJlY3RvcmllcyBiZWxvdyBjb250YWluIGR3byBmaWxlcwogICAgICAgICAjIHdp
dGggdGhlIGRlYnVnIGluZm9ybWF0aW9uIG5lZWRlZCB0byBnZW5lcmF0ZSBiYWNrdHJhY2VzIHdp
dGggR0RCLgogICAgICAgICBmb3Igb2JqZWN0RGlyIGluIFsnVG9vbHMnLCAnU291cmNlJ106CiAg
ICAgICAgICAgICBpZiBkaXJDb250YWluc2R3byhvYmplY3REaXIpOgogICAgICAgICAgICAgICAg
IGNvbnRlbnRzLmFwcGVuZChvYmplY3REaXIpCiAKLSAgICAgICAgaWYgY3JlYXRlWmlwRnJvbUxp
c3QoY29udGVudHMsIGNvbmZpZ3VyYXRpb24sIGV4Y2x1ZGVQYXR0ZXJuPScqLm8nKToKKyAgICAg
ICAgaWYgY3JlYXRlWmlwRnJvbUxpc3QoY29udGVudHMsIGNvbmZpZ3VyYXRpb24sIGV4Y2x1ZGVQ
YXR0ZXJucz1bJyoubycsICcqLmEnXSk6CiAgICAgICAgICAgICByZXR1cm4gMQogCiBkZWYgdW56
aXBBcmNoaXZlKGRpcmVjdG9yeVRvRXh0cmFjdFRvLCBjb25maWd1cmF0aW9uKToKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5IGIvVG9vbHMvQ0lTdXBw
b3J0L2V3cy1idWlsZC9mYWN0b3JpZXMucHkKaW5kZXggZTUzNGFhNjMzMWFhNDk2NWQ1ZmM0NDNk
ZWEzODAxMGIwMTIwNmY4NS4uOTNiNjY2YTBiODg0N2RhZWRhOTkyNzUxMjkzMjE2ZTliZmE0YmFh
YyAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9mYWN0b3JpZXMucHkKKysr
IGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9mYWN0b3JpZXMucHkKQEAgLTMyLDcgKzMyLDgg
QEAgZnJvbSBzdGVwcyBpbXBvcnQgKEFwcGx5UGF0Y2gsIEFwcGx5V2F0Y2hMaXN0LCBDaGVja091
dFNvdXJjZSwgQ2hlY2tPdXRTcGVjaWZpY1IKICAgICAgICAgICAgICAgICAgICBSdW5FV1NVbml0
VGVzdHMsIFJ1blJlc3VsdHNkYnB5VGVzdHMsIFJ1bkphdmFTY3JpcHRDb3JlVGVzdHMsIFJ1bldl
YktpdDFUZXN0cywgUnVuV2ViS2l0UGVybFRlc3RzLCBSdW5XZWJLaXRQeVB5dGhvbjJUZXN0cywK
ICAgICAgICAgICAgICAgICAgICBSdW5XZWJLaXRQeVB5dGhvbjNUZXN0cywgUnVuV2ViS2l0VGVz
dHMsIFJ1bldlYktpdFRlc3RzSW5TdHJlc3NNb2RlLCBSdW5XZWJLaXRUZXN0c0luU3RyZXNzR3Vh
cmRtYWxsb2NNb2RlLAogICAgICAgICAgICAgICAgICAgIFNldEJ1aWxkU3VtbWFyeSwgU2hvd0lk
ZW50aWZpZXIsIFRyaWdnZXJDcmFzaExvZ1N1Ym1pc3Npb24sIFVwZGF0ZVdvcmtpbmdEaXJlY3Rv
cnksCi0gICAgICAgICAgICAgICAgICAgVmFsaWRhdGVQYXRjaCwgVmFsaWRhdGVDaGFuZ2VMb2dB
bmRSZXZpZXdlciwgVmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyLCBXYWl0Rm9yQ3Jhc2hDb2xs
ZWN0aW9uKQorICAgICAgICAgICAgICAgICAgIFZhbGlkYXRlUGF0Y2gsIFZhbGlkYXRlQ2hhbmdl
TG9nQW5kUmV2aWV3ZXIsIFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlciwgV2FpdEZvckNyYXNo
Q29sbGVjdGlvbiwKKyAgICAgICAgICAgICAgICAgICBJbnN0YWxsQnVpbHRQcm9kdWN0KQogCiAK
IGNsYXNzIEZhY3RvcnkoZmFjdG9yeS5CdWlsZEZhY3RvcnkpOgpAQCAtMTE0LDYgKzExNSw4IEBA
IGNsYXNzIEJ1aWxkRmFjdG9yeShGYWN0b3J5KToKICAgICAgICAgaWYgcGxhdGZvcm0gPT0gJ2d0
ayc6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoSW5zdGFsbEd0a0RlcGVuZGVuY2llcygpKQog
ICAgICAgICBzZWxmLmFkZFN0ZXAoQ29tcGlsZVdlYktpdChza2lwVXBsb2FkPXNlbGYuc2tpcFVw
bG9hZCkpCisgICAgICAgIGlmIHBsYXRmb3JtID09ICdndGsnOgorICAgICAgICAgICAgc2VsZi5h
ZGRTdGVwKEluc3RhbGxCdWlsdFByb2R1Y3QoKSkKIAogCiBjbGFzcyBUZXN0RmFjdG9yeShGYWN0
b3J5KToKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzX3Vu
aXR0ZXN0LnB5IGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9mYWN0b3JpZXNfdW5pdHRlc3Qu
cHkKaW5kZXggMmI1OGExZTUxOTBjYWFmODY0ZjZkNzBlMzA3ODE3ODA1NWYyMjJlOC4uY2I5M2Iy
MmZhZmEwM2QyNGMwN2YwMGQ2ODg3M2ZmMTJlMjM4M2FlNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lT
dXBwb3J0L2V3cy1idWlsZC9mYWN0b3JpZXNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvQ0lTdXBw
b3J0L2V3cy1idWlsZC9mYWN0b3JpZXNfdW5pdHRlc3QucHkKQEAgLTMxMiw2ICszMTIsNyBAQCBj
bGFzcyBUZXN0QnVpbGRGYWN0b3J5KFRlc3RDYXNlKToKICAgICAgICAgICAgIF9CdWlsZFN0ZXBG
YWN0b3J5KHN0ZXBzLktpbGxPbGRQcm9jZXNzZXMpLAogICAgICAgICAgICAgX0J1aWxkU3RlcEZh
Y3Rvcnkoc3RlcHMuSW5zdGFsbEd0a0RlcGVuZGVuY2llcyksCiAgICAgICAgICAgICBfQnVpbGRT
dGVwRmFjdG9yeShzdGVwcy5Db21waWxlV2ViS2l0LCBza2lwVXBsb2FkPUZhbHNlKSwKKyAgICAg
ICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLkluc3RhbGxCdWlsdFByb2R1Y3QpLAogICAg
ICAgICBdKQogCiAgICAgZGVmIHRlc3Rfd3BlX2ZhY3Rvcnkoc2VsZik6CmRpZmYgLS1naXQgYS9U
b29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5IGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1i
dWlsZC9zdGVwcy5weQppbmRleCA2NGY4ZDc4M2Y3MDQyNWY4NzA4MzRkOGQ2NzlkYjdmZjQwYmE2
NDU2Li5iMTlmN2Q5MGIwZTM0ZWUzOWNjYTA3YTAyZjkxYmY3NmE5YmEwYzUwIDEwMDY0NAotLS0g
YS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9y
dC9ld3MtYnVpbGQvc3RlcHMucHkKQEAgLTE1NTksNiArMTU1OSw5IEBAIGNsYXNzIENvbXBpbGVX
ZWJLaXQoc2hlbGwuQ29tcGlsZSk6CiAgICAgICAgICAgICAjIHRoaXMgbXVjaCBmYXN0ZXIgdGhh
biBmdWxsIGRlYnVnIGluZm8sIGFuZCBjcmFzaCBsb2dzIHN0aWxsIGhhdmUgbGluZSBudW1iZXJz
LgogICAgICAgICAgICAgc2VsZi5zZXRDb21tYW5kKHNlbGYuY29tbWFuZCArIFsnREVCVUdfSU5G
T1JNQVRJT05fRk9STUFUPWR3YXJmLXdpdGgtZHN5bSddKQogICAgICAgICAgICAgc2VsZi5zZXRD
b21tYW5kKHNlbGYuY29tbWFuZCArIFsnQ0xBTkdfREVCVUdfSU5GT1JNQVRJT05fTEVWRUw9bGlu
ZS10YWJsZXMtb25seSddKQorICAgICAgICBpZiBwbGF0Zm9ybSA9PSAnZ3RrJzoKKyAgICAgICAg
ICAgIHByZWZpeCA9IG9zLnBhdGguam9pbigiL2FwcCIsICJ3ZWJraXQiLCAiV2ViS2l0QnVpbGQi
LCBzZWxmLmdldFByb3BlcnR5KCJjb25maWd1cmF0aW9uIiksICJpbnN0YWxsIikKKyAgICAgICAg
ICAgIHNlbGYuc2V0Q29tbWFuZChzZWxmLmNvbW1hbmQgKyBbZictLXByZWZpeD17cHJlZml4fSdd
KQogCiAgICAgICAgIGFwcGVuZEN1c3RvbUJ1aWxkRmxhZ3Moc2VsZiwgcGxhdGZvcm0sIHNlbGYu
Z2V0UHJvcGVydHkoJ2Z1bGxQbGF0Zm9ybScpKQogCkBAIC0yMDMwLDYgKzIwMzMsMTAgQEAgY2xh
c3MgQW5hbHl6ZUpTQ1Rlc3RzUmVzdWx0cyhidWlsZHN0ZXAuQnVpbGRTdGVwKToKICAgICAgICAg
ICAgIHByaW50KCdFcnJvciBpbiBzZW5kaW5nIGVtYWlsIGZvciBwcmUtZXhpc3RpbmcgZmFpbHVy
ZToge30nLmZvcm1hdChlKSkKIAogCitjbGFzcyBJbnN0YWxsQnVpbHRQcm9kdWN0KHNoZWxsLlNo
ZWxsQ29tbWFuZCk6CisgICAgY29tbWFuZCA9IFsicHl0aG9uMyIsICJUb29scy9TY3JpcHRzL2lu
c3RhbGwtYnVpbHQtcHJvZHVjdCIsCisgICAgICAgICAgICAgICBXaXRoUHJvcGVydGllcygiLS1w
bGF0Zm9ybT0lKGZ1bGxQbGF0Zm9ybSlzIiksIFdpdGhQcm9wZXJ0aWVzKCItLSUoY29uZmlndXJh
dGlvbilzIildCisKIGNsYXNzIENsZWFuQnVpbGQoc2hlbGwuQ29tcGlsZSk6CiAgICAgbmFtZSA9
ICdkZWxldGUtV2ViS2l0QnVpbGQtZGlyZWN0b3J5JwogICAgIGRlc2NyaXB0aW9uID0gWydkZWxl
dGluZyBXZWJLaXRCdWlsZCBkaXJlY3RvcnknXQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ0lTdXBwb3J0
L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weSBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQv
c3RlcHNfdW5pdHRlc3QucHkKaW5kZXggY2E4MzQ0M2U5NmQ1YmZiMjlmOTM4ZjNkZmIxYmFmZGM5
Y2QwYjE2Mi4uOTM5YTZkYWQ0ZDY1MDI1ZGY3NjBiNzJlZDQ4M2QxMmRjYTlmYTI2YSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQorKysgYi9U
b29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CkBAIC0xMDc5LDcgKzEw
NzksNyBAQCBjbGFzcyBUZXN0Q29tcGlsZVdlYktpdChCdWlsZFN0ZXBNaXhpbkFkZGl0aW9ucywg
dW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLmV4cGVjdFJlbW90ZUNvbW1hbmRzKAog
ICAgICAgICAgICAgRXhwZWN0U2hlbGwod29ya2Rpcj0nd2tkaXInLAogICAgICAgICAgICAgICAg
ICAgICAgICAgbG9nRW52aXJvbj1GYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1h
bmQ9WydwZXJsJywgJ1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0JywgJy0tcmVsZWFzZScsICct
LWd0ayddLAorICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZD1bJ3BlcmwnLCAnVG9vbHMv
U2NyaXB0cy9idWlsZC13ZWJraXQnLCAnLS1yZWxlYXNlJywgJy0tcHJlZml4PS9hcHAvd2Via2l0
L1dlYktpdEJ1aWxkL3JlbGVhc2UvaW5zdGFsbCcsICctLWd0ayddLAogICAgICAgICAgICAgICAg
ICAgICAgICAgKQogICAgICAgICAgICAgKyAwLAogICAgICAgICApCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL2luc3RhbGwtYnVpbHQtcHJvZHVjdCBiL1Rvb2xzL1NjcmlwdHMvaW5zdGFsbC1i
dWlsdC1wcm9kdWN0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk5MzlhODNmYmRhMWE4ZTc2ZWFlOTliNWM4MjVhYmM1
NWUxMTYxYjkKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL2luc3RhbGwtYnVpbHQt
cHJvZHVjdApAQCAtMCwwICsxLDY2IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisjIENvcHly
aWdodCAoQykgMjAyMSwgSWdhbGlhIFMuTAorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisj
IGFyZSBtZXQ6CisjCisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMg
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisj
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisj
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTCisjIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyMgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5ECisjIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorIyBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorCitpbXBvcnQgb3B0cGFyc2UKK2ltcG9ydCBvcworaW1wb3J0IHN1YnByb2Nlc3MKK2ltcG9y
dCBzeXMKKworaWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ2xpbnV4Jyk6CisgICAgdG9wX2xl
dmVsX2RpcmVjdG9yeSA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKG9zLnBhdGguZGly
bmFtZShfX2ZpbGVfXyksICcuLicsICcuLicpKQorICAgIHN5cy5wYXRoLmluc2VydCgwLCBvcy5w
YXRoLmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKKyAgICBz
eXMucGF0aC5pbnNlcnQoMSwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICdUb29s
cycsICdTY3JpcHRzJykpCisKKyAgICBpbXBvcnQgZmxhdHBha3V0aWxzCisgICAgZmxhdHBha3V0
aWxzLnJ1bl9pbl9zYW5kYm94X2lmX2F2YWlsYWJsZShzeXMuYXJndikKKworZGVmIG1haW4oKToK
KyAgICBwYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIoKQorICAgIHBhcnNlci5hZGRfb3B0
aW9uKCItLXBsYXRmb3JtIikKKyAgICBwYXJzZXIuYWRkX29wdGlvbigiLS1kZWJ1ZyIsIGFjdGlv
bj0ic3RvcmVfY29uc3QiLCBjb25zdD0iZGVidWciLCBkZXN0PSJjb25maWd1cmF0aW9uIikKKyAg
ICBwYXJzZXIuYWRkX29wdGlvbigiLS1yZWxlYXNlIiwgYWN0aW9uPSJzdG9yZV9jb25zdCIsIGNv
bnN0PSJyZWxlYXNlIiwgZGVzdD0iY29uZmlndXJhdGlvbiIpCisKKyAgICBvcHRpb25zLCBwYXJh
bWV0ZXJzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorICAgIGlmIG5vdCBvcHRpb25zLnBsYXRmb3Jt
OgorICAgICAgICBwYXJzZXIuZXJyb3IoIlBsYXRmb3JtIGlzIHJlcXVpcmVkIikKKyAgICAgICAg
cmV0dXJuIC0xCisgICAgaWYgbm90IG9wdGlvbnMuY29uZmlndXJhdGlvbjoKKyAgICAgICAgcGFy
c2VyLmVycm9yKCJDb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIikKKyAgICAgICAgcmV0dXJuIC0y
CisKKyAgICBwbGF0Zm9ybSA9IG9wdGlvbnMucGxhdGZvcm0uc3BsaXQoJy0nLCAxKVswXQorCisg
ICAgd2Via2l0X2J1aWxkX2RpcmVjdG9yeSA9IHN1YnByb2Nlc3MuUG9wZW4oWydwZXJsJywgb3Mu
cGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICJ3ZWJraXQtYnVpbGQtZGlyZWN0
b3J5IiksCisgICAgICAgICItLSIgKyBwbGF0Zm9ybSwgIi0tIiArIG9wdGlvbnMuY29uZmlndXJh
dGlvbiwgJy0tY29uZmlndXJhdGlvbiddLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFKS5jb21tdW5p
Y2F0ZSgpWzBdLnN0cmlwKCkKKworICAgIGlmIHBsYXRmb3JtID09ICdndGsnOgorICAgICAgICBy
ZXN1bHQgPSBzdWJwcm9jZXNzLnJ1bihbImNtYWtlIiwgIi0taW5zdGFsbCIsIHdlYmtpdF9idWls
ZF9kaXJlY3RvcnldKS5yZXR1cm5jb2RlCisgICAgZWxzZToKKyAgICAgICAgcGFyc2VyLmVycm9y
KGYiUGxhdGZvcm0ge3BsYXRmb3JtfSBpcyBub3Qgc3VwcG9ydGVkIHlldCIpCisgICAgICAgIHJl
dHVybiAtMworCisgICAgcmV0dXJuIHJlc3VsdAorCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18n
OgorICAgIHN5cy5leGl0KG1haW4oKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432782</attachid>
            <date>2021-07-02 05:42:52 -0700</date>
            <delta_ts>2021-07-02 08:16:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227526-20210702054250.patch</filename>
            <type>text/plain</type>
            <size>17641</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
YzFlN2YxZDFlNTM3MWVhNjA5NTFiZGI4NzNkOTM5NWQ0MzQ0YWQ0Li5mMTIzZjczYmFhNGQ2ZDBh
ZjdiYzc3OTQzYWNlMDhjZDc3MDI3NmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAyMS0wNy0wMiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS10gUGFjayBoZWFkZXIgYW5kIC5wYyBmaWxlcyBpbiB0aGUg
YnVpbHQtcHJvZHVjdCBhcmNoaXZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjc1MjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGphdmFzY3JpcHRjb3JlZ3RrLnBjLmluOiBJbmNsdWRlIFNWTl9SRVZJ
U0lPTiBhcyByZXZpc2lvbiB2YXJpYWJsZSwgdXNlZnVsIGZvciBhcHBzIHRvCisgICAgICAgIGtu
b3cgb24gd2hpY2ggdXBzdHJlYW0gU1ZOIHJldmlzaW9uIHRoZWlyIFdlYktpdEdUSy1iYXNlZCBh
cHAgaXMgYnVpbHQgb24uCisKIDIwMjEtMDctMDEgIFlpamlhIEh1YW5nICA8eWlqaWFfaHVhbmdA
YXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2FyeSBjYW5CZUludGVybmFsIGlu
dm9jYXRpb25zIHRvIG1pdGlnYXRlIHRoZSBjb3N0IG9mIHBvdGVudGlhbCB1bm1hdGNoZWQgcGF0
dGVybnMgaW4gQjNMb3dlclRvQWlyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDhlMjJhYjNhZjQyNzZkNjFjMzRhMWVl
MTQ5YzRhZTRkOGU4MGMyNDcuLmJlNGQ1NzhjMmZjMWQ4N2NlYjJhNjYzODI0Y2I2ZGUzNTE4Yjgy
MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDctMDIgIFBoaWxpcHBlIE5vcm1h
bmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFBhY2sgaGVhZGVyIGFu
ZCAucGMgZmlsZXMgaW4gdGhlIGJ1aWx0LXByb2R1Y3QgYXJjaGl2ZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3NTI2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5jbHVkZSBTVk5fUkVWSVNJT04gYXMg
cmV2aXNpb24gdmFyaWFibGUsIHVzZWZ1bCBmb3IgYXBwcyB0byBrbm93IG9uIHdoaWNoIHVwc3Ry
ZWFtIFNWTgorICAgICAgICByZXZpc2lvbiB0aGVpciBXZWJLaXRHVEstYmFzZWQgYXBwIGlzIGJ1
aWx0IG9uLgorCisgICAgICAgICogZ3RrL3dlYmtpdDJndGstd2ViLWV4dGVuc2lvbi5wYy5pbjoK
KyAgICAgICAgKiBndGsvd2Via2l0Mmd0ay5wYy5pbjoKKwogMjAyMS0wNy0wMSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFttYWNPU10gU3VzcGVuZCBXZWJQcm9j
ZXNzZXMgdGhhdCBhcmUgaW4gdGhlIHByb2Nlc3MgY2FjaGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qYXZhc2NyaXB0Y29yZWd0ay5wYy5pbiBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qYXZhc2NyaXB0Y29yZWd0ay5wYy5pbgppbmRleCBjNDM0ZjkwMzg0MTZiMjIzZjVmMjIz
OGYzMTc1ZDRkMTMwZjUxODI5Li41NTdmNzUyZGE4YTNjYWFlMmRhNDlmZjQyYzRjMjdmZjYxZWFk
YzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvamF2YXNjcmlwdGNvcmVndGsu
cGMuaW4KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2phdmFzY3JpcHRjb3JlZ3RrLnBjLmlu
CkBAIC0yLDYgKzIsNyBAQCBwcmVmaXg9QENNQUtFX0lOU1RBTExfUFJFRklYQAogZXhlY19wcmVm
aXg9JHtwcmVmaXh9CiBsaWJkaXI9QExJQl9JTlNUQUxMX0RJUkAKIGluY2x1ZGVkaXI9JHtwcmVm
aXh9L2luY2x1ZGUKK3JldmlzaW9uPUBTVk5fUkVWSVNJT05ACiAKIE5hbWU6IEphdmFTY3JpcHRD
b3JlR1RLKwogRGVzY3JpcHRpb246IEdUSysgdmVyc2lvbiBvZiB0aGUgSmF2YVNjcmlwdENvcmUg
ZW5naW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQyZ3RrLXdlYi1leHRl
bnNpb24ucGMuaW4gYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQyZ3RrLXdlYi1leHRlbnNpb24u
cGMuaW4KaW5kZXggNjhiMDMwYjY1OTU4ZDZlMzUyY2VhMWUzNDkzYTM1MDE0NjRlMGQwMC4uMzA5
NzExMzU5NTE2ZjY1MGUyM2ZkYTUxZjY1MDY5OTBmOGQ1NDMxOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9ndGsvd2Via2l0Mmd0ay13ZWItZXh0ZW5zaW9uLnBjLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZ3RrL3dlYmtpdDJndGstd2ViLWV4dGVuc2lvbi5wYy5pbgpAQCAtMiw2ICsyLDcgQEAg
cHJlZml4PUBDTUFLRV9JTlNUQUxMX1BSRUZJWEAKIGV4ZWNfcHJlZml4PSR7cHJlZml4fQogbGli
ZGlyPUBMSUJfSU5TVEFMTF9ESVJACiBpbmNsdWRlZGlyPSR7cHJlZml4fS9pbmNsdWRlCityZXZp
c2lvbj1AU1ZOX1JFVklTSU9OQAogCiBOYW1lOiBXZWJLaXRHVEsgd2ViIHByb2Nlc3MgZXh0ZW5z
aW9ucwogRGVzY3JpcHRpb246IFdlYiBjb250ZW50IGVuZ2luZSBmb3IgR1RLIC0gd2ViIHByb2Nl
c3MgZXh0ZW5zaW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0Mmd0ay5w
Yy5pbiBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdDJndGsucGMuaW4KaW5kZXggZTdjMGQ2MDFl
MjYxZmM0OTA3YmFiODAzMWMzNTJlZGU2YThhZGY3ZC4uMGFkZWZhNWQ2NzRmNTA1ZWJkMDVjNjQ4
NWE3Y2Q5NGQ4NzQyYTA3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0Mmd0
ay5wYy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQyZ3RrLnBjLmluCkBAIC0yLDYg
KzIsNyBAQCBwcmVmaXg9QENNQUtFX0lOU1RBTExfUFJFRklYQAogZXhlY19wcmVmaXg9JHtwcmVm
aXh9CiBsaWJkaXI9QExJQl9JTlNUQUxMX0RJUkAKIGluY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1
ZGUKK3JldmlzaW9uPUBTVk5fUkVWSVNJT05ACiAKIE5hbWU6IFdlYktpdEdUSwogRGVzY3JpcHRp
b246IFdlYiBjb250ZW50IGVuZ2luZSBmb3IgR1RLCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjk3Mzg5Yzg0ZjU3NjVhNGUxNDYzMTY2MzAwM2Fj
ODkzYjE4NTYzNS4uNGEyYjIwYzM2OTdjOWNjOThjOWExYmVkNWIwZjRiZDM2M2I1MjVkYyAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI5IEBACisyMDIxLTA3LTAyICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNv
bT4KKworICAgICAgICBbR1RLXSBQYWNrIGhlYWRlciBhbmQgLnBjIGZpbGVzIGluIHRoZSBidWls
dC1wcm9kdWN0IGFyY2hpdmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNzUyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSBoZWFkZXIgZmlsZXMgYW5kIHBrZy1jb25maWcgZmlsZXMgbmVlZGVkIHRv
IGJ1aWxkIFdlYktpdEdUSyBhcHBzIGFyZSBub3cgaW5jbHVkZWQgaW4gdGhlCisgICAgICAgIGJ1
aWx0IHByb2R1Y3QgemlwIGZpbGUuIEFzIHRoZXkncmUgdGV4dCBmaWxlcyB0aGUgaW1wYWN0IG9u
IHRoZSB6aXAgc2l6ZSBzaG91bGQgbm90IGJlCisgICAgICAgIHNpZ25pZmljYW50LiBJbiBvcmRl
ciB0byBzdXBwb3J0IHRoaXMsIHR3byBjaGFuZ2VzIGFyZSBpbnRyb2R1Y2VkIGZvciB0aGUgR1RL
IGJ1aWxkIGJvdDoKKworICAgICAgICAtIGJ1aWxkLXdlYmtpdCBpcyBub3cgY2FsbGVkIHdpdGgg
YSAtLXByZWZpeCBvcHRpb24KKyAgICAgICAgLSBhIG5ldyBidWlsZCBzdGVwIGhhcyBiZWVuIGFk
ZGVkLCB3aGljaCBpbnN0YWxscyB0aGUgYnVpbHQgZmlsZXMgaW4gdGhlIGdpdmVuIHByZWZpeCBk
aXJlY3RvcnkKKworICAgICAgICBUaGVuIGJ1aWx0LXByb2R1Y3QtYXJjaGl2ZSBjYW4gc2ltcGx5
IHBhY2sgZmlsZXMgZnJvbSB0aGUgaW5zdGFsbCBwcmVmaXggZGlyZWN0b3J5LgorCisgICAgICAg
IEFkZGl0aW9uYWxseSB0aGUgLmEgKHBvdGVudGlhbGx5IGJpZykgZmlsZXMgYXJlIG5vdyBleGNs
dWRlZCBmcm9tIHRoZSB6aXAgYXJjaGl2ZS4KKworICAgICAgICAqIENJU3VwcG9ydC9idWlsZC13
ZWJraXQtb3JnL2ZhY3Rvcmllcy5weToKKyAgICAgICAgKEJ1aWxkRmFjdG9yeS5fX2luaXRfXyk6
CisgICAgICAgICogQ0lTdXBwb3J0L2J1aWxkLXdlYmtpdC1vcmcvc3RlcHMucHk6CisgICAgICAg
IChDb21waWxlV2ViS2l0LnN0YXJ0KToKKyAgICAgICAgKEluc3RhbGxCdWlsdFByb2R1Y3QpOgor
ICAgICAgICAqIENJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmU6CisgICAgICAgICogU2Ny
aXB0cy9pbnN0YWxsLWJ1aWx0LXByb2R1Y3Q6IEFkZGVkLgorCiAyMDIxLTA3LTAyICBYYWJpZXIg
Um9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10g
bWVkaWEvZXZlbnQtYXR0cmlidXRlcy5odG1sIGZhaWxzIGlmIG1peGVyIGlzIG5vdCBhdCAxMDAl
CmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9mYWN0b3JpZXMu
cHkgYi9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9mYWN0b3JpZXMucHkKaW5kZXgg
NzliM2ZmODYzNzY0ZjdjNTJjODQwYTFkNjQ5YTg1NmIyNDQ5Y2EzNC4uYjliNzUyNDc4MzIzNzMy
MjdhZmY2YzRiNzUzZjUxM2QyMTYyMDg0ZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2J1
aWxkLXdlYmtpdC1vcmcvZmFjdG9yaWVzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13
ZWJraXQtb3JnL2ZhY3Rvcmllcy5weQpAQCAtNjMsNiArNjMsOSBAQCBjbGFzcyBCdWlsZEZhY3Rv
cnkoRmFjdG9yeSk6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoR2VuZXJhdGVNaW5pQnJvd3Nl
ckJ1bmRsZSgpKQogCiAgICAgICAgIGlmIHRyaWdnZXJzOgorICAgICAgICAgICAgaWYgcGxhdGZv
cm0gPT0gImd0ayI6CisgICAgICAgICAgICAgICAgc2VsZi5hZGRTdGVwKEluc3RhbGxCdWlsdFBy
b2R1Y3QoKSkKKwogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKEFyY2hpdmVCdWlsdFByb2R1Y3Qo
KSkKICAgICAgICAgICAgIHNlbGYuYWRkU3RlcChVcGxvYWRCdWlsdFByb2R1Y3QoKSkKICAgICAg
ICAgICAgIGlmIHBsYXRmb3JtLnN0YXJ0c3dpdGgoJ21hYycpIG9yIHBsYXRmb3JtLnN0YXJ0c3dp
dGgoJ2lvcy1zaW11bGF0b3InKSBvciBwbGF0Zm9ybS5zdGFydHN3aXRoKCd0dm9zLXNpbXVsYXRv
cicpIG9yIHBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dhdGNob3Mtc2ltdWxhdG9yJyk6CmRpZmYgLS1n
aXQgYS9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9zdGVwcy5weSBiL1Rvb2xzL0NJ
U3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzLnB5CmluZGV4IGJlYzA1NzAwNWVlMzYzNDYy
N2Q4YjgwODVmZWRiNjc2YWZhYWMzMGQuLjAxNDc5N2RkMzA5ZWQyOTBiYzMyZDdmYmY1OWIwNjdl
OGNkOTFkYWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0
ZXBzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzLnB5CkBA
IC0yODksNiArMjg5LDkgQEAgY2xhc3MgQ29tcGlsZVdlYktpdChzaGVsbC5Db21waWxlKToKICAg
ICAgICAgICAgICMgdGhpcyBtdWNoIGZhc3RlciB0aGFuIGZ1bGwgZGVidWcgaW5mbywgYW5kIGNy
YXNoIGxvZ3Mgc3RpbGwgaGF2ZSBsaW5lIG51bWJlcnMuCiAgICAgICAgICAgICBzZWxmLnNldENv
bW1hbmQoc2VsZi5jb21tYW5kICsgWydERUJVR19JTkZPUk1BVElPTl9GT1JNQVQ9ZHdhcmYtd2l0
aC1kc3ltJ10pCiAgICAgICAgICAgICBzZWxmLnNldENvbW1hbmQoc2VsZi5jb21tYW5kICsgWydD
TEFOR19ERUJVR19JTkZPUk1BVElPTl9MRVZFTD1saW5lLXRhYmxlcy1vbmx5J10pCisgICAgICAg
IGlmIHBsYXRmb3JtID09ICdndGsnOgorICAgICAgICAgICAgcHJlZml4ID0gb3MucGF0aC5qb2lu
KCIvYXBwIiwgIndlYmtpdCIsICJXZWJLaXRCdWlsZCIsIHNlbGYuZ2V0UHJvcGVydHkoImNvbmZp
Z3VyYXRpb24iKSwgImluc3RhbGwiKQorICAgICAgICAgICAgc2VsZi5zZXRDb21tYW5kKHNlbGYu
Y29tbWFuZCArIFtmJy0tcHJlZml4PXtwcmVmaXh9J10pCiAKICAgICAgICAgYXBwZW5kQ3VzdG9t
QnVpbGRGbGFncyhzZWxmLCBwbGF0Zm9ybSwgc2VsZi5nZXRQcm9wZXJ0eSgnZnVsbFBsYXRmb3Jt
JykpCiAKQEAgLTMyMSw2ICszMjQsMTAgQEAgY2xhc3MgQ29tcGlsZUpTQ09ubHkoQ29tcGlsZVdl
YktpdCk6CiAgICAgY29tbWFuZCA9IFsicGVybCIsICIuL1Rvb2xzL1NjcmlwdHMvYnVpbGQtanNj
IiwgV2l0aFByb3BlcnRpZXMoIi0tJShjb25maWd1cmF0aW9uKXMiKV0KIAogCitjbGFzcyBJbnN0
YWxsQnVpbHRQcm9kdWN0KHNoZWxsLlNoZWxsQ29tbWFuZCk6CisgICAgY29tbWFuZCA9IFsicHl0
aG9uMyIsICJUb29scy9TY3JpcHRzL2luc3RhbGwtYnVpbHQtcHJvZHVjdCIsCisgICAgICAgICAg
ICAgICBXaXRoUHJvcGVydGllcygiLS1wbGF0Zm9ybT0lKGZ1bGxQbGF0Zm9ybSlzIiksIFdpdGhQ
cm9wZXJ0aWVzKCItLSUoY29uZmlndXJhdGlvbilzIildCisKIGNsYXNzIEFyY2hpdmVCdWlsdFBy
b2R1Y3Qoc2hlbGwuU2hlbGxDb21tYW5kKToKICAgICBjb21tYW5kID0gWyJweXRob24zIiwgIlRv
b2xzL0NJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmUiLAogICAgICAgICAgICAgICAgV2l0
aFByb3BlcnRpZXMoIi0tcGxhdGZvcm09JShmdWxsUGxhdGZvcm0pcyIpLCBXaXRoUHJvcGVydGll
cygiLS0lKGNvbmZpZ3VyYXRpb24pcyIpLCAiYXJjaGl2ZSJdCmRpZmYgLS1naXQgYS9Ub29scy9D
SVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9zdGVwc191bml0dGVzdC5weSBiL1Rvb2xzL0NJU3Vw
cG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzX3VuaXR0ZXN0LnB5CmluZGV4IGQyNWFjN2RlNGM2
MTM1ODg4NGQ1MzFkYmQ5ODA2MzA2MGVkMWU1YWUuLjdmNDcyNGQ5NDBjMmRhYzc4Yzk2ZmZmMTU4
MjRiZjI5Mjk4OWFhNDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQt
b3JnL3N0ZXBzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQt
b3JnL3N0ZXBzX3VuaXR0ZXN0LnB5CkBAIC00MjAsNyArNDIwLDcgQEAgY2xhc3MgVGVzdENvbXBp
bGVXZWJLaXQoQnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICAgICAgICAgICAgICB3b3JrZGlyPSd3a2RpcicsCiAgICAgICAgICAgICAgICAgdGltZW91dD0x
MjAwLAogICAgICAgICAgICAgICAgIGxvZ0Vudmlyb249VHJ1ZSwKLSAgICAgICAgICAgICAgICBj
b21tYW5kPVsncGVybCcsICcuL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0JywgJy0tcmVsZWFz
ZScsICctLWd0ayddLAorICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydwZXJsJywgJy4vVG9vbHMv
U2NyaXB0cy9idWlsZC13ZWJraXQnLCAnLS1yZWxlYXNlJywgJy0tcHJlZml4PS9hcHAvd2Via2l0
L1dlYktpdEJ1aWxkL3JlbGVhc2UvaW5zdGFsbCcsICctLWd0ayddLAogICAgICAgICAgICAgKSAr
IDAsCiAgICAgICAgICkKICAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNT
LCBzdGF0ZV9zdHJpbmc9J2NvbXBpbGVkJykKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9i
dWlsdC1wcm9kdWN0LWFyY2hpdmUgYi9Ub29scy9DSVN1cHBvcnQvYnVpbHQtcHJvZHVjdC1hcmNo
aXZlCm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKaW5kZXggZDE1M2MwMzQwZmEyY2Rj
MTAzYTZmNmVjNzFmNDdkZTNjNDE2NmI5Ni4uZTE4YWFjZjFhMjliOGEzZTc4ZTY3YjFjM2UxNDlj
MDFhY2E5YWIwNAotLS0gYS9Ub29scy9DSVN1cHBvcnQvYnVpbHQtcHJvZHVjdC1hcmNoaXZlCisr
KyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmUKQEAgLTExMCw3ICsxMTAs
NyBAQCBkZWYgY29weUJ1aWxkRmlsZXMoc291cmNlLCBkZXN0aW5hdGlvbiwgcGF0dGVybnMpOgog
ICAgIHNodXRpbC5jb3B5dHJlZShzb3VyY2UsIGRlc3RpbmF0aW9uLCBpZ25vcmU9c2h1dGlsLmln
bm9yZV9wYXR0ZXJucygqcGF0dGVybnMpKQogCiAKLWRlZiBjcmVhdGVaaXBGcm9tTGlzdChsaXN0
VG9aaXAsIGNvbmZpZ3VyYXRpb24sIGV4Y2x1ZGVQYXR0ZXJuPU5vbmUpOgorZGVmIGNyZWF0ZVpp
cEZyb21MaXN0KGxpc3RUb1ppcCwgY29uZmlndXJhdGlvbiwgZXhjbHVkZVBhdHRlcm5zPU5vbmUp
OgogICAgIGdsb2JhbCBfdG9wTGV2ZWxCdWlsZERpcmVjdG9yeQogICAgIGdsb2JhbCBfY29uZmln
dXJhdGlvbkJ1aWxkRGlyZWN0b3J5CiAgICAgYXJjaGl2ZURpciA9IF90b3BMZXZlbEJ1aWxkRGly
ZWN0b3J5CkBAIC0xMjQsOCArMTI0LDkgQEAgZGVmIGNyZWF0ZVppcEZyb21MaXN0KGxpc3RUb1pp
cCwgY29uZmlndXJhdGlvbiwgZXhjbHVkZVBhdHRlcm49Tm9uZSk6CiAKICAgICBpZiBzeXMucGxh
dGZvcm0uc3RhcnRzd2l0aCgnbGludXgnKToKICAgICAgICAgemlwQ29tbWFuZCA9IFsnemlwJywg
Jy15JywgJy1yJywgYXJjaGl2ZUZpbGVdICsgbGlzdFRvWmlwCi0gICAgICAgIGlmIGV4Y2x1ZGVQ
YXR0ZXJuOgotICAgICAgICAgICAgemlwQ29tbWFuZCArPSBbJy14JywgZXhjbHVkZVBhdHRlcm5d
CisgICAgICAgIGlmIGV4Y2x1ZGVQYXR0ZXJuczoKKyAgICAgICAgICAgIGZvciBleGNsdWRlUGF0
dGVybiBpbiBleGNsdWRlUGF0dGVybnM6CisgICAgICAgICAgICAgICAgemlwQ29tbWFuZCArPSBb
Jy14JywgZXhjbHVkZVBhdHRlcm5dCiAgICAgICAgIHJldHVybiBzdWJwcm9jZXNzLmNhbGwoemlw
Q29tbWFuZCwgY3dkPV9jb25maWd1cmF0aW9uQnVpbGREaXJlY3RvcnkpCiAKICAgICByYWlzZSBO
b3RJbXBsZW1lbnRlZEVycm9yKCdVbnN1cHBvcnRlZCBwbGF0Zm9ybToge3BsYXRmb3JtfScuZm9y
bWF0KHBsYXRmb3JtPXN5cy5wbGF0Zm9ybSkpCkBAIC0yNTEsMTMgKzI1MiwxNiBAQCBkZWYgYXJj
aGl2ZUJ1aWx0UHJvZHVjdChjb25maWd1cmF0aW9uLCBwbGF0Zm9ybSwgZnVsbFBsYXRmb3JtLCBt
aW5pZnk9RmFsc2UpOgogICAgICAgICAgICAgICAgIGlmIGZpbGVuYW1lLnN0YXJ0c3dpdGgoJ2xp
YmNvZ2NvcmUnKToKICAgICAgICAgICAgICAgICAgICAgY29udGVudHMuYXBwZW5kKG9zLnBhdGgu
am9pbihjb2dEaXJlY3RvcnksIGZpbGVuYW1lKSkKIAorICAgICAgICBpZiBwbGF0Zm9ybSA9PSAn
Z3RrJzoKKyAgICAgICAgICAgIGNvbnRlbnRzLmV4dGVuZChbb3MucGF0aC5qb2luKCdpbnN0YWxs
JywgZGlyZWN0b3J5KSBmb3IgZGlyZWN0b3J5IGluIFsnaW5jbHVkZScsIG9zLnBhdGguam9pbign
bGliJywgJ3BrZ2NvbmZpZycpXV0pCisKICAgICAgICAgIyBXaGVuIGRlYnVnIGZpc3Npb24gaXMg
ZW5hYmxlZCB0aGUgZGlyZWN0b3JpZXMgYmVsb3cgY29udGFpbiBkd28gZmlsZXMKICAgICAgICAg
IyB3aXRoIHRoZSBkZWJ1ZyBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gZ2VuZXJhdGUgYmFja3RyYWNl
cyB3aXRoIEdEQi4KICAgICAgICAgZm9yIG9iamVjdERpciBpbiBbJ1Rvb2xzJywgJ1NvdXJjZSdd
OgogICAgICAgICAgICAgaWYgZGlyQ29udGFpbnNkd28ob2JqZWN0RGlyKToKICAgICAgICAgICAg
ICAgICBjb250ZW50cy5hcHBlbmQob2JqZWN0RGlyKQogCi0gICAgICAgIGlmIGNyZWF0ZVppcEZy
b21MaXN0KGNvbnRlbnRzLCBjb25maWd1cmF0aW9uLCBleGNsdWRlUGF0dGVybj0nKi5vJyk6Cisg
ICAgICAgIGlmIGNyZWF0ZVppcEZyb21MaXN0KGNvbnRlbnRzLCBjb25maWd1cmF0aW9uLCBleGNs
dWRlUGF0dGVybnM9WycqLm8nLCAnKi5hJ10pOgogICAgICAgICAgICAgcmV0dXJuIDEKIAogZGVm
IHVuemlwQXJjaGl2ZShkaXJlY3RvcnlUb0V4dHJhY3RUbywgY29uZmlndXJhdGlvbik6CmRpZmYg
LS1naXQgYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllcy5weSBiL1Rvb2xzL0NJ
U3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5CmluZGV4IGU1MzRhYTYzMzFhYTQ5NjVkNWZj
NDQzZGVhMzgwMTBiMDEyMDZmODUuLjkzYjY2NmEwYjg4NDdkYWVkYTk5Mjc1MTI5MzIxNmU5YmZh
NGJhYWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5
CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5CkBAIC0zMiw3ICsz
Miw4IEBAIGZyb20gc3RlcHMgaW1wb3J0IChBcHBseVBhdGNoLCBBcHBseVdhdGNoTGlzdCwgQ2hl
Y2tPdXRTb3VyY2UsIENoZWNrT3V0U3BlY2lmaWNSCiAgICAgICAgICAgICAgICAgICAgUnVuRVdT
VW5pdFRlc3RzLCBSdW5SZXN1bHRzZGJweVRlc3RzLCBSdW5KYXZhU2NyaXB0Q29yZVRlc3RzLCBS
dW5XZWJLaXQxVGVzdHMsIFJ1bldlYktpdFBlcmxUZXN0cywgUnVuV2ViS2l0UHlQeXRob24yVGVz
dHMsCiAgICAgICAgICAgICAgICAgICAgUnVuV2ViS2l0UHlQeXRob24zVGVzdHMsIFJ1bldlYktp
dFRlc3RzLCBSdW5XZWJLaXRUZXN0c0luU3RyZXNzTW9kZSwgUnVuV2ViS2l0VGVzdHNJblN0cmVz
c0d1YXJkbWFsbG9jTW9kZSwKICAgICAgICAgICAgICAgICAgICBTZXRCdWlsZFN1bW1hcnksIFNo
b3dJZGVudGlmaWVyLCBUcmlnZ2VyQ3Jhc2hMb2dTdWJtaXNzaW9uLCBVcGRhdGVXb3JraW5nRGly
ZWN0b3J5LAotICAgICAgICAgICAgICAgICAgIFZhbGlkYXRlUGF0Y2gsIFZhbGlkYXRlQ2hhbmdl
TG9nQW5kUmV2aWV3ZXIsIFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlciwgV2FpdEZvckNyYXNo
Q29sbGVjdGlvbikKKyAgICAgICAgICAgICAgICAgICBWYWxpZGF0ZVBhdGNoLCBWYWxpZGF0ZUNo
YW5nZUxvZ0FuZFJldmlld2VyLCBWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIsIFdhaXRGb3JD
cmFzaENvbGxlY3Rpb24sCisgICAgICAgICAgICAgICAgICAgSW5zdGFsbEJ1aWx0UHJvZHVjdCkK
IAogCiBjbGFzcyBGYWN0b3J5KGZhY3RvcnkuQnVpbGRGYWN0b3J5KToKQEAgLTExNCw2ICsxMTUs
OCBAQCBjbGFzcyBCdWlsZEZhY3RvcnkoRmFjdG9yeSk6CiAgICAgICAgIGlmIHBsYXRmb3JtID09
ICdndGsnOgogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKEluc3RhbGxHdGtEZXBlbmRlbmNpZXMo
KSkKICAgICAgICAgc2VsZi5hZGRTdGVwKENvbXBpbGVXZWJLaXQoc2tpcFVwbG9hZD1zZWxmLnNr
aXBVcGxvYWQpKQorICAgICAgICBpZiBwbGF0Zm9ybSA9PSAnZ3RrJzoKKyAgICAgICAgICAgIHNl
bGYuYWRkU3RlcChJbnN0YWxsQnVpbHRQcm9kdWN0KCkpCiAKIAogY2xhc3MgVGVzdEZhY3Rvcnko
RmFjdG9yeSk6CmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmll
c191bml0dGVzdC5weSBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzX3VuaXR0
ZXN0LnB5CmluZGV4IDJiNThhMWU1MTkwY2FhZjg2NGY2ZDcwZTMwNzgxNzgwNTVmMjIyZTguLmNi
OTNiMjJmYWZhMDNkMjRjMDdmMDBkNjg4NzNmZjEyZTIzODNhZTcgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL0NJ
U3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzX3VuaXR0ZXN0LnB5CkBAIC0zMTIsNiArMzEyLDcg
QEAgY2xhc3MgVGVzdEJ1aWxkRmFjdG9yeShUZXN0Q2FzZSk6CiAgICAgICAgICAgICBfQnVpbGRT
dGVwRmFjdG9yeShzdGVwcy5LaWxsT2xkUHJvY2Vzc2VzKSwKICAgICAgICAgICAgIF9CdWlsZFN0
ZXBGYWN0b3J5KHN0ZXBzLkluc3RhbGxHdGtEZXBlbmRlbmNpZXMpLAogICAgICAgICAgICAgX0J1
aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ29tcGlsZVdlYktpdCwgc2tpcFVwbG9hZD1GYWxzZSksCisg
ICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5JbnN0YWxsQnVpbHRQcm9kdWN0KSwK
ICAgICAgICAgXSkKIAogICAgIGRlZiB0ZXN0X3dwZV9mYWN0b3J5KHNlbGYpOgpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weSBiL1Rvb2xzL0NJU3VwcG9ydC9l
d3MtYnVpbGQvc3RlcHMucHkKaW5kZXggNjRmOGQ3ODNmNzA0MjVmODcwODM0ZDhkNjc5ZGI3ZmY0
MGJhNjQ1Ni4uYjE5ZjdkOTBiMGUzNGVlMzljY2EwN2EwMmY5MWJmNzZhOWJhMGM1MCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQorKysgYi9Ub29scy9DSVN1
cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5CkBAIC0xNTU5LDYgKzE1NTksOSBAQCBjbGFzcyBDb21w
aWxlV2ViS2l0KHNoZWxsLkNvbXBpbGUpOgogICAgICAgICAgICAgIyB0aGlzIG11Y2ggZmFzdGVy
IHRoYW4gZnVsbCBkZWJ1ZyBpbmZvLCBhbmQgY3Jhc2ggbG9ncyBzdGlsbCBoYXZlIGxpbmUgbnVt
YmVycy4KICAgICAgICAgICAgIHNlbGYuc2V0Q29tbWFuZChzZWxmLmNvbW1hbmQgKyBbJ0RFQlVH
X0lORk9STUFUSU9OX0ZPUk1BVD1kd2FyZi13aXRoLWRzeW0nXSkKICAgICAgICAgICAgIHNlbGYu
c2V0Q29tbWFuZChzZWxmLmNvbW1hbmQgKyBbJ0NMQU5HX0RFQlVHX0lORk9STUFUSU9OX0xFVkVM
PWxpbmUtdGFibGVzLW9ubHknXSkKKyAgICAgICAgaWYgcGxhdGZvcm0gPT0gJ2d0ayc6CisgICAg
ICAgICAgICBwcmVmaXggPSBvcy5wYXRoLmpvaW4oIi9hcHAiLCAid2Via2l0IiwgIldlYktpdEJ1
aWxkIiwgc2VsZi5nZXRQcm9wZXJ0eSgiY29uZmlndXJhdGlvbiIpLCAiaW5zdGFsbCIpCisgICAg
ICAgICAgICBzZWxmLnNldENvbW1hbmQoc2VsZi5jb21tYW5kICsgW2YnLS1wcmVmaXg9e3ByZWZp
eH0nXSkKIAogICAgICAgICBhcHBlbmRDdXN0b21CdWlsZEZsYWdzKHNlbGYsIHBsYXRmb3JtLCBz
ZWxmLmdldFByb3BlcnR5KCdmdWxsUGxhdGZvcm0nKSkKIApAQCAtMjAzMCw2ICsyMDMzLDEwIEBA
IGNsYXNzIEFuYWx5emVKU0NUZXN0c1Jlc3VsdHMoYnVpbGRzdGVwLkJ1aWxkU3RlcCk6CiAgICAg
ICAgICAgICBwcmludCgnRXJyb3IgaW4gc2VuZGluZyBlbWFpbCBmb3IgcHJlLWV4aXN0aW5nIGZh
aWx1cmU6IHt9Jy5mb3JtYXQoZSkpCiAKIAorY2xhc3MgSW5zdGFsbEJ1aWx0UHJvZHVjdChzaGVs
bC5TaGVsbENvbW1hbmQpOgorICAgIGNvbW1hbmQgPSBbInB5dGhvbjMiLCAiVG9vbHMvU2NyaXB0
cy9pbnN0YWxsLWJ1aWx0LXByb2R1Y3QiLAorICAgICAgICAgICAgICAgV2l0aFByb3BlcnRpZXMo
Ii0tcGxhdGZvcm09JShmdWxsUGxhdGZvcm0pcyIpLCBXaXRoUHJvcGVydGllcygiLS0lKGNvbmZp
Z3VyYXRpb24pcyIpXQorCiBjbGFzcyBDbGVhbkJ1aWxkKHNoZWxsLkNvbXBpbGUpOgogICAgIG5h
bWUgPSAnZGVsZXRlLVdlYktpdEJ1aWxkLWRpcmVjdG9yeScKICAgICBkZXNjcmlwdGlvbiA9IFsn
ZGVsZXRpbmcgV2ViS2l0QnVpbGQgZGlyZWN0b3J5J10KZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3Vw
cG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1
aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CmluZGV4IGNhODM0NDNlOTZkNWJmYjI5ZjkzOGYzZGZiMWJh
ZmRjOWNkMGIxNjIuLjkzOWE2ZGFkNGQ2NTAyNWRmNzYwYjcyZWQ0ODNkMTJkY2E5ZmEyNmEgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkKKysr
IGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQpAQCAtMTA3OSw3
ICsxMDc5LDcgQEAgY2xhc3MgVGVzdENvbXBpbGVXZWJLaXQoQnVpbGRTdGVwTWl4aW5BZGRpdGlv
bnMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5leHBlY3RSZW1vdGVDb21tYW5k
cygKICAgICAgICAgICAgIEV4cGVjdFNoZWxsKHdvcmtkaXI9J3drZGlyJywKICAgICAgICAgICAg
ICAgICAgICAgICAgIGxvZ0Vudmlyb249RmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICBj
b21tYW5kPVsncGVybCcsICdUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdCcsICctLXJlbGVhc2Un
LCAnLS1ndGsnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydwZXJsJywgJ1Rv
b2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0JywgJy0tcmVsZWFzZScsICctLXByZWZpeD0vYXBwL3dl
YmtpdC9XZWJLaXRCdWlsZC9yZWxlYXNlL2luc3RhbGwnLCAnLS1ndGsnXSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICkKICAgICAgICAgICAgICsgMCwKICAgICAgICAgKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy9pbnN0YWxsLWJ1aWx0LXByb2R1Y3QgYi9Ub29scy9TY3JpcHRzL2luc3Rh
bGwtYnVpbHQtcHJvZHVjdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OTM5YTgzZmJkYTFhOGU3NmVhZTk5YjVjODI1
YWJjNTVlMTE2MWI5Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy9pbnN0YWxsLWJ1
aWx0LXByb2R1Y3QKQEAgLTAsMCArMSw2NiBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworIyBD
b3B5cmlnaHQgKEMpIDIwMjEsIElnYWxpYSBTLkwKKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworIyBhcmUgbWV0OgorIworIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WQorIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorIyBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUworIyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisjIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORAorIyBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyMgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKworaW1wb3J0IG9wdHBhcnNlCitpbXBvcnQgb3MKK2ltcG9ydCBzdWJwcm9jZXNzCitp
bXBvcnQgc3lzCisKK2lmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCdsaW51eCcpOgorICAgIHRv
cF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRo
LmRpcm5hbWUoX19maWxlX18pLCAnLi4nLCAnLi4nKSkKKyAgICBzeXMucGF0aC5pbnNlcnQoMCwg
b3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICdUb29scycsICdmbGF0cGFrJykpCisg
ICAgc3lzLnBhdGguaW5zZXJ0KDEsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxfZGlyZWN0b3J5LCAn
VG9vbHMnLCAnU2NyaXB0cycpKQorCisgICAgaW1wb3J0IGZsYXRwYWt1dGlscworICAgIGZsYXRw
YWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lzLmFyZ3YpCisKK2RlZiBtYWlu
KCk6CisgICAgcGFyc2VyID0gb3B0cGFyc2UuT3B0aW9uUGFyc2VyKCkKKyAgICBwYXJzZXIuYWRk
X29wdGlvbigiLS1wbGF0Zm9ybSIpCisgICAgcGFyc2VyLmFkZF9vcHRpb24oIi0tZGVidWciLCBh
Y3Rpb249InN0b3JlX2NvbnN0IiwgY29uc3Q9ImRlYnVnIiwgZGVzdD0iY29uZmlndXJhdGlvbiIp
CisgICAgcGFyc2VyLmFkZF9vcHRpb24oIi0tcmVsZWFzZSIsIGFjdGlvbj0ic3RvcmVfY29uc3Qi
LCBjb25zdD0icmVsZWFzZSIsIGRlc3Q9ImNvbmZpZ3VyYXRpb24iKQorCisgICAgb3B0aW9ucywg
cGFyYW1ldGVycyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKKyAgICBpZiBub3Qgb3B0aW9ucy5wbGF0
Zm9ybToKKyAgICAgICAgcGFyc2VyLmVycm9yKCJQbGF0Zm9ybSBpcyByZXF1aXJlZCIpCisgICAg
ICAgIHJldHVybiAtMQorICAgIGlmIG5vdCBvcHRpb25zLmNvbmZpZ3VyYXRpb246CisgICAgICAg
IHBhcnNlci5lcnJvcigiQ29uZmlndXJhdGlvbiBpcyByZXF1aXJlZCIpCisgICAgICAgIHJldHVy
biAtMgorCisgICAgcGxhdGZvcm0gPSBvcHRpb25zLnBsYXRmb3JtLnNwbGl0KCctJywgMSlbMF0K
KworICAgIHdlYmtpdF9idWlsZF9kaXJlY3RvcnkgPSBzdWJwcm9jZXNzLlBvcGVuKFsncGVybCcs
IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAid2Via2l0LWJ1aWxkLWRp
cmVjdG9yeSIpLAorICAgICAgICAiLS0iICsgcGxhdGZvcm0sICItLSIgKyBvcHRpb25zLmNvbmZp
Z3VyYXRpb24sICctLWNvbmZpZ3VyYXRpb24nXSwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSkuY29t
bXVuaWNhdGUoKVswXS5zdHJpcCgpCisKKyAgICBpZiBwbGF0Zm9ybSA9PSAnZ3RrJzoKKyAgICAg
ICAgcmVzdWx0ID0gc3VicHJvY2Vzcy5ydW4oWyJjbWFrZSIsICItLWluc3RhbGwiLCB3ZWJraXRf
YnVpbGRfZGlyZWN0b3J5XSkucmV0dXJuY29kZQorICAgIGVsc2U6CisgICAgICAgIHBhcnNlci5l
cnJvcihmIlBsYXRmb3JtIHtwbGF0Zm9ybX0gaXMgbm90IHN1cHBvcnRlZCB5ZXQiKQorICAgICAg
ICByZXR1cm4gLTMKKworICAgIHJldHVybiByZXN1bHQKKworaWYgX19uYW1lX18gPT0gJ19fbWFp
bl9fJzoKKyAgICBzeXMuZXhpdChtYWluKCkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432798</attachid>
            <date>2021-07-02 08:16:25 -0700</date>
            <delta_ts>2021-07-05 01:25:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227526-20210702081623.patch</filename>
            <type>text/plain</type>
            <size>14392</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NTAzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjk3Mzg5Yzg0ZjU3NjVhNGUxNDYzMTY2MzAwM2FjODkz
YjE4NTYzNS4uMzQ5MmIxYjFjOTJjMzRjMDJjZDg2OTVjY2YwZWQxYjk1YTlhZTkxMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5
IEBACisyMDIxLTA3LTAyICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4K
KworICAgICAgICBbR1RLXSBQYWNrIGhlYWRlciBhbmQgLnBjIGZpbGVzIGluIHRoZSBidWlsdC1w
cm9kdWN0IGFyY2hpdmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNzUyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE1pY2hhZWwgQ2F0YW56YXJvLgor
CisgICAgICAgIFRoZSBoZWFkZXIgZmlsZXMgYW5kIHBrZy1jb25maWcgZmlsZXMgbmVlZGVkIHRv
IGJ1aWxkIFdlYktpdEdUSyBhcHBzIGFyZSBub3cgaW5jbHVkZWQgaW4gdGhlCisgICAgICAgIGJ1
aWx0IHByb2R1Y3QgemlwIGZpbGUuIEFzIHRoZXkncmUgdGV4dCBmaWxlcyB0aGUgaW1wYWN0IG9u
IHRoZSB6aXAgc2l6ZSBzaG91bGQgbm90IGJlCisgICAgICAgIHNpZ25pZmljYW50LiBJbiBvcmRl
ciB0byBzdXBwb3J0IHRoaXMsIHR3byBjaGFuZ2VzIGFyZSBpbnRyb2R1Y2VkIGZvciB0aGUgR1RL
IGJ1aWxkIGJvdDoKKworICAgICAgICAtIGJ1aWxkLXdlYmtpdCBpcyBub3cgY2FsbGVkIHdpdGgg
YSAtLXByZWZpeCBvcHRpb24KKyAgICAgICAgLSBhIG5ldyBidWlsZCBzdGVwIGhhcyBiZWVuIGFk
ZGVkLCB3aGljaCBpbnN0YWxscyB0aGUgYnVpbHQgZmlsZXMgaW4gdGhlIGdpdmVuIHByZWZpeCBk
aXJlY3RvcnkKKworICAgICAgICBUaGVuIGJ1aWx0LXByb2R1Y3QtYXJjaGl2ZSBjYW4gc2ltcGx5
IHBhY2sgZmlsZXMgZnJvbSB0aGUgaW5zdGFsbCBwcmVmaXggZGlyZWN0b3J5LgorCisgICAgICAg
IEFkZGl0aW9uYWxseSB0aGUgLmEgKHBvdGVudGlhbGx5IGJpZykgZmlsZXMgYXJlIG5vdyBleGNs
dWRlZCBmcm9tIHRoZSB6aXAgYXJjaGl2ZS4KKworICAgICAgICAqIENJU3VwcG9ydC9idWlsZC13
ZWJraXQtb3JnL2ZhY3Rvcmllcy5weToKKyAgICAgICAgKEJ1aWxkRmFjdG9yeS5fX2luaXRfXyk6
CisgICAgICAgICogQ0lTdXBwb3J0L2J1aWxkLXdlYmtpdC1vcmcvc3RlcHMucHk6CisgICAgICAg
IChDb21waWxlV2ViS2l0LnN0YXJ0KToKKyAgICAgICAgKEluc3RhbGxCdWlsdFByb2R1Y3QpOgor
ICAgICAgICAqIENJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmU6CisgICAgICAgICogU2Ny
aXB0cy9pbnN0YWxsLWJ1aWx0LXByb2R1Y3Q6IEFkZGVkLgorCiAyMDIxLTA3LTAyICBYYWJpZXIg
Um9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10g
bWVkaWEvZXZlbnQtYXR0cmlidXRlcy5odG1sIGZhaWxzIGlmIG1peGVyIGlzIG5vdCBhdCAxMDAl
CmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9mYWN0b3JpZXMu
cHkgYi9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9mYWN0b3JpZXMucHkKaW5kZXgg
NzliM2ZmODYzNzY0ZjdjNTJjODQwYTFkNjQ5YTg1NmIyNDQ5Y2EzNC4uYjliNzUyNDc4MzIzNzMy
MjdhZmY2YzRiNzUzZjUxM2QyMTYyMDg0ZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2J1
aWxkLXdlYmtpdC1vcmcvZmFjdG9yaWVzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13
ZWJraXQtb3JnL2ZhY3Rvcmllcy5weQpAQCAtNjMsNiArNjMsOSBAQCBjbGFzcyBCdWlsZEZhY3Rv
cnkoRmFjdG9yeSk6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoR2VuZXJhdGVNaW5pQnJvd3Nl
ckJ1bmRsZSgpKQogCiAgICAgICAgIGlmIHRyaWdnZXJzOgorICAgICAgICAgICAgaWYgcGxhdGZv
cm0gPT0gImd0ayI6CisgICAgICAgICAgICAgICAgc2VsZi5hZGRTdGVwKEluc3RhbGxCdWlsdFBy
b2R1Y3QoKSkKKwogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKEFyY2hpdmVCdWlsdFByb2R1Y3Qo
KSkKICAgICAgICAgICAgIHNlbGYuYWRkU3RlcChVcGxvYWRCdWlsdFByb2R1Y3QoKSkKICAgICAg
ICAgICAgIGlmIHBsYXRmb3JtLnN0YXJ0c3dpdGgoJ21hYycpIG9yIHBsYXRmb3JtLnN0YXJ0c3dp
dGgoJ2lvcy1zaW11bGF0b3InKSBvciBwbGF0Zm9ybS5zdGFydHN3aXRoKCd0dm9zLXNpbXVsYXRv
cicpIG9yIHBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dhdGNob3Mtc2ltdWxhdG9yJyk6CmRpZmYgLS1n
aXQgYS9Ub29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9zdGVwcy5weSBiL1Rvb2xzL0NJ
U3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzLnB5CmluZGV4IGJlYzA1NzAwNWVlMzYzNDYy
N2Q4YjgwODVmZWRiNjc2YWZhYWMzMGQuLjAxNDc5N2RkMzA5ZWQyOTBiYzMyZDdmYmY1OWIwNjdl
OGNkOTFkYWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0
ZXBzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzLnB5CkBA
IC0yODksNiArMjg5LDkgQEAgY2xhc3MgQ29tcGlsZVdlYktpdChzaGVsbC5Db21waWxlKToKICAg
ICAgICAgICAgICMgdGhpcyBtdWNoIGZhc3RlciB0aGFuIGZ1bGwgZGVidWcgaW5mbywgYW5kIGNy
YXNoIGxvZ3Mgc3RpbGwgaGF2ZSBsaW5lIG51bWJlcnMuCiAgICAgICAgICAgICBzZWxmLnNldENv
bW1hbmQoc2VsZi5jb21tYW5kICsgWydERUJVR19JTkZPUk1BVElPTl9GT1JNQVQ9ZHdhcmYtd2l0
aC1kc3ltJ10pCiAgICAgICAgICAgICBzZWxmLnNldENvbW1hbmQoc2VsZi5jb21tYW5kICsgWydD
TEFOR19ERUJVR19JTkZPUk1BVElPTl9MRVZFTD1saW5lLXRhYmxlcy1vbmx5J10pCisgICAgICAg
IGlmIHBsYXRmb3JtID09ICdndGsnOgorICAgICAgICAgICAgcHJlZml4ID0gb3MucGF0aC5qb2lu
KCIvYXBwIiwgIndlYmtpdCIsICJXZWJLaXRCdWlsZCIsIHNlbGYuZ2V0UHJvcGVydHkoImNvbmZp
Z3VyYXRpb24iKSwgImluc3RhbGwiKQorICAgICAgICAgICAgc2VsZi5zZXRDb21tYW5kKHNlbGYu
Y29tbWFuZCArIFtmJy0tcHJlZml4PXtwcmVmaXh9J10pCiAKICAgICAgICAgYXBwZW5kQ3VzdG9t
QnVpbGRGbGFncyhzZWxmLCBwbGF0Zm9ybSwgc2VsZi5nZXRQcm9wZXJ0eSgnZnVsbFBsYXRmb3Jt
JykpCiAKQEAgLTMyMSw2ICszMjQsMTAgQEAgY2xhc3MgQ29tcGlsZUpTQ09ubHkoQ29tcGlsZVdl
YktpdCk6CiAgICAgY29tbWFuZCA9IFsicGVybCIsICIuL1Rvb2xzL1NjcmlwdHMvYnVpbGQtanNj
IiwgV2l0aFByb3BlcnRpZXMoIi0tJShjb25maWd1cmF0aW9uKXMiKV0KIAogCitjbGFzcyBJbnN0
YWxsQnVpbHRQcm9kdWN0KHNoZWxsLlNoZWxsQ29tbWFuZCk6CisgICAgY29tbWFuZCA9IFsicHl0
aG9uMyIsICJUb29scy9TY3JpcHRzL2luc3RhbGwtYnVpbHQtcHJvZHVjdCIsCisgICAgICAgICAg
ICAgICBXaXRoUHJvcGVydGllcygiLS1wbGF0Zm9ybT0lKGZ1bGxQbGF0Zm9ybSlzIiksIFdpdGhQ
cm9wZXJ0aWVzKCItLSUoY29uZmlndXJhdGlvbilzIildCisKIGNsYXNzIEFyY2hpdmVCdWlsdFBy
b2R1Y3Qoc2hlbGwuU2hlbGxDb21tYW5kKToKICAgICBjb21tYW5kID0gWyJweXRob24zIiwgIlRv
b2xzL0NJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmUiLAogICAgICAgICAgICAgICAgV2l0
aFByb3BlcnRpZXMoIi0tcGxhdGZvcm09JShmdWxsUGxhdGZvcm0pcyIpLCBXaXRoUHJvcGVydGll
cygiLS0lKGNvbmZpZ3VyYXRpb24pcyIpLCAiYXJjaGl2ZSJdCmRpZmYgLS1naXQgYS9Ub29scy9D
SVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9zdGVwc191bml0dGVzdC5weSBiL1Rvb2xzL0NJU3Vw
cG9ydC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzX3VuaXR0ZXN0LnB5CmluZGV4IGQyNWFjN2RlNGM2
MTM1ODg4NGQ1MzFkYmQ5ODA2MzA2MGVkMWU1YWUuLjdmNDcyNGQ5NDBjMmRhYzc4Yzk2ZmZmMTU4
MjRiZjI5Mjk4OWFhNDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQt
b3JnL3N0ZXBzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsZC13ZWJraXQt
b3JnL3N0ZXBzX3VuaXR0ZXN0LnB5CkBAIC00MjAsNyArNDIwLDcgQEAgY2xhc3MgVGVzdENvbXBp
bGVXZWJLaXQoQnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICAgICAgICAgICAgICB3b3JrZGlyPSd3a2RpcicsCiAgICAgICAgICAgICAgICAgdGltZW91dD0x
MjAwLAogICAgICAgICAgICAgICAgIGxvZ0Vudmlyb249VHJ1ZSwKLSAgICAgICAgICAgICAgICBj
b21tYW5kPVsncGVybCcsICcuL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0JywgJy0tcmVsZWFz
ZScsICctLWd0ayddLAorICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydwZXJsJywgJy4vVG9vbHMv
U2NyaXB0cy9idWlsZC13ZWJraXQnLCAnLS1yZWxlYXNlJywgJy0tcHJlZml4PS9hcHAvd2Via2l0
L1dlYktpdEJ1aWxkL3JlbGVhc2UvaW5zdGFsbCcsICctLWd0ayddLAogICAgICAgICAgICAgKSAr
IDAsCiAgICAgICAgICkKICAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNT
LCBzdGF0ZV9zdHJpbmc9J2NvbXBpbGVkJykKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9i
dWlsdC1wcm9kdWN0LWFyY2hpdmUgYi9Ub29scy9DSVN1cHBvcnQvYnVpbHQtcHJvZHVjdC1hcmNo
aXZlCm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKaW5kZXggZDE1M2MwMzQwZmEyY2Rj
MTAzYTZmNmVjNzFmNDdkZTNjNDE2NmI5Ni4uZTE4YWFjZjFhMjliOGEzZTc4ZTY3YjFjM2UxNDlj
MDFhY2E5YWIwNAotLS0gYS9Ub29scy9DSVN1cHBvcnQvYnVpbHQtcHJvZHVjdC1hcmNoaXZlCisr
KyBiL1Rvb2xzL0NJU3VwcG9ydC9idWlsdC1wcm9kdWN0LWFyY2hpdmUKQEAgLTExMCw3ICsxMTAs
NyBAQCBkZWYgY29weUJ1aWxkRmlsZXMoc291cmNlLCBkZXN0aW5hdGlvbiwgcGF0dGVybnMpOgog
ICAgIHNodXRpbC5jb3B5dHJlZShzb3VyY2UsIGRlc3RpbmF0aW9uLCBpZ25vcmU9c2h1dGlsLmln
bm9yZV9wYXR0ZXJucygqcGF0dGVybnMpKQogCiAKLWRlZiBjcmVhdGVaaXBGcm9tTGlzdChsaXN0
VG9aaXAsIGNvbmZpZ3VyYXRpb24sIGV4Y2x1ZGVQYXR0ZXJuPU5vbmUpOgorZGVmIGNyZWF0ZVpp
cEZyb21MaXN0KGxpc3RUb1ppcCwgY29uZmlndXJhdGlvbiwgZXhjbHVkZVBhdHRlcm5zPU5vbmUp
OgogICAgIGdsb2JhbCBfdG9wTGV2ZWxCdWlsZERpcmVjdG9yeQogICAgIGdsb2JhbCBfY29uZmln
dXJhdGlvbkJ1aWxkRGlyZWN0b3J5CiAgICAgYXJjaGl2ZURpciA9IF90b3BMZXZlbEJ1aWxkRGly
ZWN0b3J5CkBAIC0xMjQsOCArMTI0LDkgQEAgZGVmIGNyZWF0ZVppcEZyb21MaXN0KGxpc3RUb1pp
cCwgY29uZmlndXJhdGlvbiwgZXhjbHVkZVBhdHRlcm49Tm9uZSk6CiAKICAgICBpZiBzeXMucGxh
dGZvcm0uc3RhcnRzd2l0aCgnbGludXgnKToKICAgICAgICAgemlwQ29tbWFuZCA9IFsnemlwJywg
Jy15JywgJy1yJywgYXJjaGl2ZUZpbGVdICsgbGlzdFRvWmlwCi0gICAgICAgIGlmIGV4Y2x1ZGVQ
YXR0ZXJuOgotICAgICAgICAgICAgemlwQ29tbWFuZCArPSBbJy14JywgZXhjbHVkZVBhdHRlcm5d
CisgICAgICAgIGlmIGV4Y2x1ZGVQYXR0ZXJuczoKKyAgICAgICAgICAgIGZvciBleGNsdWRlUGF0
dGVybiBpbiBleGNsdWRlUGF0dGVybnM6CisgICAgICAgICAgICAgICAgemlwQ29tbWFuZCArPSBb
Jy14JywgZXhjbHVkZVBhdHRlcm5dCiAgICAgICAgIHJldHVybiBzdWJwcm9jZXNzLmNhbGwoemlw
Q29tbWFuZCwgY3dkPV9jb25maWd1cmF0aW9uQnVpbGREaXJlY3RvcnkpCiAKICAgICByYWlzZSBO
b3RJbXBsZW1lbnRlZEVycm9yKCdVbnN1cHBvcnRlZCBwbGF0Zm9ybToge3BsYXRmb3JtfScuZm9y
bWF0KHBsYXRmb3JtPXN5cy5wbGF0Zm9ybSkpCkBAIC0yNTEsMTMgKzI1MiwxNiBAQCBkZWYgYXJj
aGl2ZUJ1aWx0UHJvZHVjdChjb25maWd1cmF0aW9uLCBwbGF0Zm9ybSwgZnVsbFBsYXRmb3JtLCBt
aW5pZnk9RmFsc2UpOgogICAgICAgICAgICAgICAgIGlmIGZpbGVuYW1lLnN0YXJ0c3dpdGgoJ2xp
YmNvZ2NvcmUnKToKICAgICAgICAgICAgICAgICAgICAgY29udGVudHMuYXBwZW5kKG9zLnBhdGgu
am9pbihjb2dEaXJlY3RvcnksIGZpbGVuYW1lKSkKIAorICAgICAgICBpZiBwbGF0Zm9ybSA9PSAn
Z3RrJzoKKyAgICAgICAgICAgIGNvbnRlbnRzLmV4dGVuZChbb3MucGF0aC5qb2luKCdpbnN0YWxs
JywgZGlyZWN0b3J5KSBmb3IgZGlyZWN0b3J5IGluIFsnaW5jbHVkZScsIG9zLnBhdGguam9pbign
bGliJywgJ3BrZ2NvbmZpZycpXV0pCisKICAgICAgICAgIyBXaGVuIGRlYnVnIGZpc3Npb24gaXMg
ZW5hYmxlZCB0aGUgZGlyZWN0b3JpZXMgYmVsb3cgY29udGFpbiBkd28gZmlsZXMKICAgICAgICAg
IyB3aXRoIHRoZSBkZWJ1ZyBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gZ2VuZXJhdGUgYmFja3RyYWNl
cyB3aXRoIEdEQi4KICAgICAgICAgZm9yIG9iamVjdERpciBpbiBbJ1Rvb2xzJywgJ1NvdXJjZSdd
OgogICAgICAgICAgICAgaWYgZGlyQ29udGFpbnNkd28ob2JqZWN0RGlyKToKICAgICAgICAgICAg
ICAgICBjb250ZW50cy5hcHBlbmQob2JqZWN0RGlyKQogCi0gICAgICAgIGlmIGNyZWF0ZVppcEZy
b21MaXN0KGNvbnRlbnRzLCBjb25maWd1cmF0aW9uLCBleGNsdWRlUGF0dGVybj0nKi5vJyk6Cisg
ICAgICAgIGlmIGNyZWF0ZVppcEZyb21MaXN0KGNvbnRlbnRzLCBjb25maWd1cmF0aW9uLCBleGNs
dWRlUGF0dGVybnM9WycqLm8nLCAnKi5hJ10pOgogICAgICAgICAgICAgcmV0dXJuIDEKIAogZGVm
IHVuemlwQXJjaGl2ZShkaXJlY3RvcnlUb0V4dHJhY3RUbywgY29uZmlndXJhdGlvbik6CmRpZmYg
LS1naXQgYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllcy5weSBiL1Rvb2xzL0NJ
U3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5CmluZGV4IGU1MzRhYTYzMzFhYTQ5NjVkNWZj
NDQzZGVhMzgwMTBiMDEyMDZmODUuLjkzYjY2NmEwYjg4NDdkYWVkYTk5Mjc1MTI5MzIxNmU5YmZh
NGJhYWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5
CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5CkBAIC0zMiw3ICsz
Miw4IEBAIGZyb20gc3RlcHMgaW1wb3J0IChBcHBseVBhdGNoLCBBcHBseVdhdGNoTGlzdCwgQ2hl
Y2tPdXRTb3VyY2UsIENoZWNrT3V0U3BlY2lmaWNSCiAgICAgICAgICAgICAgICAgICAgUnVuRVdT
VW5pdFRlc3RzLCBSdW5SZXN1bHRzZGJweVRlc3RzLCBSdW5KYXZhU2NyaXB0Q29yZVRlc3RzLCBS
dW5XZWJLaXQxVGVzdHMsIFJ1bldlYktpdFBlcmxUZXN0cywgUnVuV2ViS2l0UHlQeXRob24yVGVz
dHMsCiAgICAgICAgICAgICAgICAgICAgUnVuV2ViS2l0UHlQeXRob24zVGVzdHMsIFJ1bldlYktp
dFRlc3RzLCBSdW5XZWJLaXRUZXN0c0luU3RyZXNzTW9kZSwgUnVuV2ViS2l0VGVzdHNJblN0cmVz
c0d1YXJkbWFsbG9jTW9kZSwKICAgICAgICAgICAgICAgICAgICBTZXRCdWlsZFN1bW1hcnksIFNo
b3dJZGVudGlmaWVyLCBUcmlnZ2VyQ3Jhc2hMb2dTdWJtaXNzaW9uLCBVcGRhdGVXb3JraW5nRGly
ZWN0b3J5LAotICAgICAgICAgICAgICAgICAgIFZhbGlkYXRlUGF0Y2gsIFZhbGlkYXRlQ2hhbmdl
TG9nQW5kUmV2aWV3ZXIsIFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlciwgV2FpdEZvckNyYXNo
Q29sbGVjdGlvbikKKyAgICAgICAgICAgICAgICAgICBWYWxpZGF0ZVBhdGNoLCBWYWxpZGF0ZUNo
YW5nZUxvZ0FuZFJldmlld2VyLCBWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIsIFdhaXRGb3JD
cmFzaENvbGxlY3Rpb24sCisgICAgICAgICAgICAgICAgICAgSW5zdGFsbEJ1aWx0UHJvZHVjdCkK
IAogCiBjbGFzcyBGYWN0b3J5KGZhY3RvcnkuQnVpbGRGYWN0b3J5KToKQEAgLTExNCw2ICsxMTUs
OCBAQCBjbGFzcyBCdWlsZEZhY3RvcnkoRmFjdG9yeSk6CiAgICAgICAgIGlmIHBsYXRmb3JtID09
ICdndGsnOgogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKEluc3RhbGxHdGtEZXBlbmRlbmNpZXMo
KSkKICAgICAgICAgc2VsZi5hZGRTdGVwKENvbXBpbGVXZWJLaXQoc2tpcFVwbG9hZD1zZWxmLnNr
aXBVcGxvYWQpKQorICAgICAgICBpZiBwbGF0Zm9ybSA9PSAnZ3RrJzoKKyAgICAgICAgICAgIHNl
bGYuYWRkU3RlcChJbnN0YWxsQnVpbHRQcm9kdWN0KCkpCiAKIAogY2xhc3MgVGVzdEZhY3Rvcnko
RmFjdG9yeSk6CmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmll
c191bml0dGVzdC5weSBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzX3VuaXR0
ZXN0LnB5CmluZGV4IDJiNThhMWU1MTkwY2FhZjg2NGY2ZDcwZTMwNzgxNzgwNTVmMjIyZTguLmNi
OTNiMjJmYWZhMDNkMjRjMDdmMDBkNjg4NzNmZjEyZTIzODNhZTcgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL0NJ
U3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzX3VuaXR0ZXN0LnB5CkBAIC0zMTIsNiArMzEyLDcg
QEAgY2xhc3MgVGVzdEJ1aWxkRmFjdG9yeShUZXN0Q2FzZSk6CiAgICAgICAgICAgICBfQnVpbGRT
dGVwRmFjdG9yeShzdGVwcy5LaWxsT2xkUHJvY2Vzc2VzKSwKICAgICAgICAgICAgIF9CdWlsZFN0
ZXBGYWN0b3J5KHN0ZXBzLkluc3RhbGxHdGtEZXBlbmRlbmNpZXMpLAogICAgICAgICAgICAgX0J1
aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ29tcGlsZVdlYktpdCwgc2tpcFVwbG9hZD1GYWxzZSksCisg
ICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5JbnN0YWxsQnVpbHRQcm9kdWN0KSwK
ICAgICAgICAgXSkKIAogICAgIGRlZiB0ZXN0X3dwZV9mYWN0b3J5KHNlbGYpOgpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weSBiL1Rvb2xzL0NJU3VwcG9ydC9l
d3MtYnVpbGQvc3RlcHMucHkKaW5kZXggNjRmOGQ3ODNmNzA0MjVmODcwODM0ZDhkNjc5ZGI3ZmY0
MGJhNjQ1Ni4uYjE5ZjdkOTBiMGUzNGVlMzljY2EwN2EwMmY5MWJmNzZhOWJhMGM1MCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQorKysgYi9Ub29scy9DSVN1
cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5CkBAIC0xNTU5LDYgKzE1NTksOSBAQCBjbGFzcyBDb21w
aWxlV2ViS2l0KHNoZWxsLkNvbXBpbGUpOgogICAgICAgICAgICAgIyB0aGlzIG11Y2ggZmFzdGVy
IHRoYW4gZnVsbCBkZWJ1ZyBpbmZvLCBhbmQgY3Jhc2ggbG9ncyBzdGlsbCBoYXZlIGxpbmUgbnVt
YmVycy4KICAgICAgICAgICAgIHNlbGYuc2V0Q29tbWFuZChzZWxmLmNvbW1hbmQgKyBbJ0RFQlVH
X0lORk9STUFUSU9OX0ZPUk1BVD1kd2FyZi13aXRoLWRzeW0nXSkKICAgICAgICAgICAgIHNlbGYu
c2V0Q29tbWFuZChzZWxmLmNvbW1hbmQgKyBbJ0NMQU5HX0RFQlVHX0lORk9STUFUSU9OX0xFVkVM
PWxpbmUtdGFibGVzLW9ubHknXSkKKyAgICAgICAgaWYgcGxhdGZvcm0gPT0gJ2d0ayc6CisgICAg
ICAgICAgICBwcmVmaXggPSBvcy5wYXRoLmpvaW4oIi9hcHAiLCAid2Via2l0IiwgIldlYktpdEJ1
aWxkIiwgc2VsZi5nZXRQcm9wZXJ0eSgiY29uZmlndXJhdGlvbiIpLCAiaW5zdGFsbCIpCisgICAg
ICAgICAgICBzZWxmLnNldENvbW1hbmQoc2VsZi5jb21tYW5kICsgW2YnLS1wcmVmaXg9e3ByZWZp
eH0nXSkKIAogICAgICAgICBhcHBlbmRDdXN0b21CdWlsZEZsYWdzKHNlbGYsIHBsYXRmb3JtLCBz
ZWxmLmdldFByb3BlcnR5KCdmdWxsUGxhdGZvcm0nKSkKIApAQCAtMjAzMCw2ICsyMDMzLDEwIEBA
IGNsYXNzIEFuYWx5emVKU0NUZXN0c1Jlc3VsdHMoYnVpbGRzdGVwLkJ1aWxkU3RlcCk6CiAgICAg
ICAgICAgICBwcmludCgnRXJyb3IgaW4gc2VuZGluZyBlbWFpbCBmb3IgcHJlLWV4aXN0aW5nIGZh
aWx1cmU6IHt9Jy5mb3JtYXQoZSkpCiAKIAorY2xhc3MgSW5zdGFsbEJ1aWx0UHJvZHVjdChzaGVs
bC5TaGVsbENvbW1hbmQpOgorICAgIGNvbW1hbmQgPSBbInB5dGhvbjMiLCAiVG9vbHMvU2NyaXB0
cy9pbnN0YWxsLWJ1aWx0LXByb2R1Y3QiLAorICAgICAgICAgICAgICAgV2l0aFByb3BlcnRpZXMo
Ii0tcGxhdGZvcm09JShmdWxsUGxhdGZvcm0pcyIpLCBXaXRoUHJvcGVydGllcygiLS0lKGNvbmZp
Z3VyYXRpb24pcyIpXQorCiBjbGFzcyBDbGVhbkJ1aWxkKHNoZWxsLkNvbXBpbGUpOgogICAgIG5h
bWUgPSAnZGVsZXRlLVdlYktpdEJ1aWxkLWRpcmVjdG9yeScKICAgICBkZXNjcmlwdGlvbiA9IFsn
ZGVsZXRpbmcgV2ViS2l0QnVpbGQgZGlyZWN0b3J5J10KZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3Vw
cG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1
aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CmluZGV4IGNhODM0NDNlOTZkNWJmYjI5ZjkzOGYzZGZiMWJh
ZmRjOWNkMGIxNjIuLjkzOWE2ZGFkNGQ2NTAyNWRmNzYwYjcyZWQ0ODNkMTJkY2E5ZmEyNmEgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkKKysr
IGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQpAQCAtMTA3OSw3
ICsxMDc5LDcgQEAgY2xhc3MgVGVzdENvbXBpbGVXZWJLaXQoQnVpbGRTdGVwTWl4aW5BZGRpdGlv
bnMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5leHBlY3RSZW1vdGVDb21tYW5k
cygKICAgICAgICAgICAgIEV4cGVjdFNoZWxsKHdvcmtkaXI9J3drZGlyJywKICAgICAgICAgICAg
ICAgICAgICAgICAgIGxvZ0Vudmlyb249RmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICBj
b21tYW5kPVsncGVybCcsICdUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdCcsICctLXJlbGVhc2Un
LCAnLS1ndGsnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydwZXJsJywgJ1Rv
b2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0JywgJy0tcmVsZWFzZScsICctLXByZWZpeD0vYXBwL3dl
YmtpdC9XZWJLaXRCdWlsZC9yZWxlYXNlL2luc3RhbGwnLCAnLS1ndGsnXSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICkKICAgICAgICAgICAgICsgMCwKICAgICAgICAgKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy9pbnN0YWxsLWJ1aWx0LXByb2R1Y3QgYi9Ub29scy9TY3JpcHRzL2luc3Rh
bGwtYnVpbHQtcHJvZHVjdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OTM5YTgzZmJkYTFhOGU3NmVhZTk5YjVjODI1
YWJjNTVlMTE2MWI5Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy9pbnN0YWxsLWJ1
aWx0LXByb2R1Y3QKQEAgLTAsMCArMSw2NiBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworIyBD
b3B5cmlnaHQgKEMpIDIwMjEsIElnYWxpYSBTLkwKKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworIyBhcmUgbWV0OgorIworIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WQorIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorIyBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUworIyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisjIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORAorIyBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyMgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKworaW1wb3J0IG9wdHBhcnNlCitpbXBvcnQgb3MKK2ltcG9ydCBzdWJwcm9jZXNzCitp
bXBvcnQgc3lzCisKK2lmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCdsaW51eCcpOgorICAgIHRv
cF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRo
LmRpcm5hbWUoX19maWxlX18pLCAnLi4nLCAnLi4nKSkKKyAgICBzeXMucGF0aC5pbnNlcnQoMCwg
b3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICdUb29scycsICdmbGF0cGFrJykpCisg
ICAgc3lzLnBhdGguaW5zZXJ0KDEsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxfZGlyZWN0b3J5LCAn
VG9vbHMnLCAnU2NyaXB0cycpKQorCisgICAgaW1wb3J0IGZsYXRwYWt1dGlscworICAgIGZsYXRw
YWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lzLmFyZ3YpCisKK2RlZiBtYWlu
KCk6CisgICAgcGFyc2VyID0gb3B0cGFyc2UuT3B0aW9uUGFyc2VyKCkKKyAgICBwYXJzZXIuYWRk
X29wdGlvbigiLS1wbGF0Zm9ybSIpCisgICAgcGFyc2VyLmFkZF9vcHRpb24oIi0tZGVidWciLCBh
Y3Rpb249InN0b3JlX2NvbnN0IiwgY29uc3Q9ImRlYnVnIiwgZGVzdD0iY29uZmlndXJhdGlvbiIp
CisgICAgcGFyc2VyLmFkZF9vcHRpb24oIi0tcmVsZWFzZSIsIGFjdGlvbj0ic3RvcmVfY29uc3Qi
LCBjb25zdD0icmVsZWFzZSIsIGRlc3Q9ImNvbmZpZ3VyYXRpb24iKQorCisgICAgb3B0aW9ucywg
cGFyYW1ldGVycyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKKyAgICBpZiBub3Qgb3B0aW9ucy5wbGF0
Zm9ybToKKyAgICAgICAgcGFyc2VyLmVycm9yKCJQbGF0Zm9ybSBpcyByZXF1aXJlZCIpCisgICAg
ICAgIHJldHVybiAtMQorICAgIGlmIG5vdCBvcHRpb25zLmNvbmZpZ3VyYXRpb246CisgICAgICAg
IHBhcnNlci5lcnJvcigiQ29uZmlndXJhdGlvbiBpcyByZXF1aXJlZCIpCisgICAgICAgIHJldHVy
biAtMgorCisgICAgcGxhdGZvcm0gPSBvcHRpb25zLnBsYXRmb3JtLnNwbGl0KCctJywgMSlbMF0K
KworICAgIHdlYmtpdF9idWlsZF9kaXJlY3RvcnkgPSBzdWJwcm9jZXNzLlBvcGVuKFsncGVybCcs
IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAid2Via2l0LWJ1aWxkLWRp
cmVjdG9yeSIpLAorICAgICAgICAiLS0iICsgcGxhdGZvcm0sICItLSIgKyBvcHRpb25zLmNvbmZp
Z3VyYXRpb24sICctLWNvbmZpZ3VyYXRpb24nXSwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSkuY29t
bXVuaWNhdGUoKVswXS5zdHJpcCgpCisKKyAgICBpZiBwbGF0Zm9ybSA9PSAnZ3RrJzoKKyAgICAg
ICAgcmVzdWx0ID0gc3VicHJvY2Vzcy5ydW4oWyJjbWFrZSIsICItLWluc3RhbGwiLCB3ZWJraXRf
YnVpbGRfZGlyZWN0b3J5XSkucmV0dXJuY29kZQorICAgIGVsc2U6CisgICAgICAgIHBhcnNlci5l
cnJvcihmIlBsYXRmb3JtIHtwbGF0Zm9ybX0gaXMgbm90IHN1cHBvcnRlZCB5ZXQiKQorICAgICAg
ICByZXR1cm4gLTMKKworICAgIHJldHVybiByZXN1bHQKKworaWYgX19uYW1lX18gPT0gJ19fbWFp
bl9fJzoKKyAgICBzeXMuZXhpdChtYWluKCkpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>