<?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>219485</bug_id>
          
          <creation_ts>2020-12-03 02:49:10 -0800</creation_ts>
          <short_desc>[JSC] Bundle non-native libs in run-jsc-stress-tests</short_desc>
          <delta_ts>2023-09-07 13:48:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Angelos Oikonomopoulos">angelos</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aperez</cc>
    
    <cc>clopez</cc>
    
    <cc>darin</cc>
    
    <cc>jbedard</cc>
    
    <cc>keith_miller</cc>
    
    <cc>loic.yhuel</cc>
    
    <cc>mark.lam</cc>
    
    <cc>pmatos</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1711641</commentid>
    <comment_count>0</comment_count>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2020-12-03 02:49:10 -0800</bug_when>
    <thetext>[JSC] Bundle non-native libs in run-jsc-stress-tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711642</commentid>
    <comment_count>1</comment_count>
      <attachid>415289</attachid>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2020-12-03 02:57:18 -0800</bug_when>
    <thetext>Created attachment 415289
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711666</commentid>
    <comment_count>2</comment_count>
      <attachid>415289</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-12-03 06:11:06 -0800</bug_when>
    <thetext>Comment on attachment 415289
Patch

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

&gt; Tools/Scripts/run-jsc-stress-tests:1886
&gt; +                        &quot;--ldd=#{$ldd}&quot;,

I guess we should only pass the &quot;-ldd&quot; parameter here if we were called with it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711667</commentid>
    <comment_count>3</comment_count>
      <attachid>415301</attachid>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2020-12-03 06:36:02 -0800</bug_when>
    <thetext>Created attachment 415301
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711668</commentid>
    <comment_count>4</comment_count>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2020-12-03 06:36:39 -0800</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #2)
&gt; Comment on attachment 415289 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=415289&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/run-jsc-stress-tests:1886
&gt; &gt; +                        &quot;--ldd=#{$ldd}&quot;,
&gt; 
&gt; I guess we should only pass the &quot;-ldd&quot; parameter here if we were called with
&gt; it

Makes sense. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711971</commentid>
    <comment_count>5</comment_count>
      <attachid>415396</attachid>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2020-12-04 01:56:14 -0800</bug_when>
    <thetext>Created attachment 415396
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712000</commentid>
    <comment_count>6</comment_count>
      <attachid>415409</attachid>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2020-12-04 05:19:52 -0800</bug_when>
    <thetext>Created attachment 415409
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712400</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-07 01:38:44 -0800</bug_when>
    <thetext>Committed r270497: &lt;https://trac.webkit.org/changeset/270497&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 415409.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712401</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-12-07 01:39:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/72039953&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712431</commentid>
    <comment_count>9</comment_count>
      <attachid>415409</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-12-07 04:19:12 -0800</bug_when>
    <thetext>Comment on attachment 415409
Patch

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

&gt; Tools/Scripts/generate-bundle:122
&gt; +    def __init__(self, configuration, platform, bundle_type, syslibs, ldd, should_strip_objects, compression_type, destination = None, revision = None, builder_name = None):

We could avoid needing to pass by hand some alternative “ldd” tool
by always using ”readelf”, which works for any ELF file (no matter
the target architecture) and does not try to run any code. That
would make this “ldd” parameter to the BundleCreator unnecessary.

Something like this gets you the list of shared objects needed:

   readelf -Wd &lt;file&gt; | \
     awk &apos;$2 == &quot;(NEEDED)&quot; { print substr($5, 2, length($5)-2) }&apos;

The output will only include direct dependencies of “&lt;file&gt;”, so one
needs to run the same command recursively on each listed object, until
no more objects are added to the set. I have some shell script around
that does just that and also takes into account the DT_RUNPATH entries
from the ELF dynamic section—let me know if you are interested and I
can share it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712432</commentid>
    <comment_count>10</comment_count>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2020-12-07 04:22:11 -0800</bug_when>
    <thetext>(In reply to Adrian Perez from comment #9)
&gt; Comment on attachment 415409 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=415409&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/generate-bundle:122
&gt; &gt; +    def __init__(self, configuration, platform, bundle_type, syslibs, ldd, should_strip_objects, compression_type, destination = None, revision = None, builder_name = None):
&gt; 
&gt; We could avoid needing to pass by hand some alternative “ldd” tool
&gt; by always using ”readelf”, which works for any ELF file (no matter
&gt; the target architecture) and does not try to run any code. That
&gt; would make this “ldd” parameter to the BundleCreator unnecessary.

That would make a number of things simpler, yah. Was not aware readelf had this functionality :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712488</commentid>
    <comment_count>11</comment_count>
      <attachid>415562</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-12-07 10:15:50 -0800</bug_when>
    <thetext>Created attachment 415562
Shell script to find dependencies using readelf

Here&apos;s a standalone version of the script I mentioned :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1969894</commentid>
    <comment_count>12</comment_count>
    <who name="Loïc Yhuel">loic.yhuel</who>
    <bug_when>2023-08-07 05:30:48 -0700</bug_when>
    <thetext>The commit mentions &quot;xldd from crosstool-NG&quot;, but this one outputs unprefixed paths (no CT_XLDD_ROOT or sysroot), so it doesn&apos;t work.

It seems the intended script was https://trac.webkit.org/attachment/wiki/JSCOnly/CrossBuildAndRemoteTestJSCLinux/cross-ldd.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1976209</commentid>
    <comment_count>13</comment_count>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2023-09-07 13:48:44 -0700</bug_when>
    <thetext>(In reply to Loïc Yhuel from comment #12)
&gt; The commit mentions &quot;xldd from crosstool-NG&quot;, but this one outputs
&gt; unprefixed paths (no CT_XLDD_ROOT or sysroot), so it doesn&apos;t work.
&gt; 
&gt; It seems the intended script was
&gt; https://trac.webkit.org/attachment/wiki/JSCOnly/
&gt; CrossBuildAndRemoteTestJSCLinux/cross-ldd.

That is correct; AFAIU the script on trac is based on the crosstool-NG one, so was just trying to give credit where credit was due. Sorry for the mixup, hope that didn&apos;t take long to track down. If any other similar issue comes up, please feel free to ask for more details.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415289</attachid>
            <date>2020-12-03 02:57:18 -0800</date>
            <delta_ts>2020-12-03 06:35:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219485-20201203115714.patch</filename>
            <type>text/plain</type>
            <size>16643</size>
            <attacher name="Angelos Oikonomopoulos">angelos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMTA3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzZkNDNjNGM3ZWVhNjJlYWE0ZTkxNWIzZDE0ZmQzODcz
NTY1NDk3ZS4uZDI2ZmRiNmVkNjk2YjAzM2U2ZTg1NGYyMjc2N2YzMzdkYjAzMDZhZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3
IEBACisyMDIwLTEyLTAzICBBbmdlbG9zIE9pa29ub21vcG91bG9zICA8YW5nZWxvc0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFtKU0NdIEJ1bmRsZSBub24tbmF0aXZlIGxpYnMgaW4gcnVuLWpzYy1z
dHJlc3MtdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxOTQ4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIHJ1bi1qc2Mtc3RyZXNzLXRlc3RzIGFscmVhZHkgdHJpZXMgdG8gYnVuZGxlIGxpYnJhcnkg
ZGVwZW5kZW5jaWVzCisgICAgICAgIChvbiBsaW51eCkgd2hlbiB1c2luZyB0aGUgLS1yZW1vdGUg
ZnVuY3Rpb25hbGl0eTsgdGhpcyBlbnN1cmVzCisgICAgICAgIHRoYXQgd2UgZG9uJ3QgbmVlZCB0
byBkZXBlbmQgb24gdGhlIHJlbW90ZSBlbnZpcm9ubWVudCBleGFjdGx5CisgICAgICAgIG1hdGNo
aW5nIHRoZSBidWlsZCBlbnZpcm9ubWVudC4gSG93ZXZlciwgdGhpcyBicmVha3Mgd2hlbgorICAg
ICAgICBjcm9zcy1idWlsZGluZzsgcnVuLWpzYy1zdHJlc3MtdGVzdHMgdXNlcyBsZGQsIHdoaWNo
IHJlbGllcyBvbgorICAgICAgICBjb2RlIGV4ZWN1dGlvbiB0byBnZXQgdGhlIHNoYXJlZCBvYmpl
Y3QgcGF0aHMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBleHRlbmRzIGdlbmVyYXRlLWJ1bmRsZSB0
byBiZSBhYmxlIHRvIGhhbmRsZSB0aGUgb3V0cHV0CisgICAgICAgIGZyb20gYSBjcm9zcyBsZGQg
KHNwZWNpZmljYWxseSwgeGxkZCBmcm9tIGNyb3NzdG9vbC1ORykgYW5kCisgICAgICAgIGNoYW5n
ZXMgcnVuLWpzYy1zdHJlc3MtdGVzdHMgdG8gdXNlIGdlbmVyYXRlLWJ1bmRsZSBmb3IgYnVuZGxp
bmcKKyAgICAgICAgdGhlIGxpYnJhcmllcyBmb3IgdGhlIHJlbW90ZXMuCisKKyAgICAgICAgKiBT
Y3JpcHRzL2dlbmVyYXRlLWJ1bmRsZToKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0
Y29yZS10ZXN0czoKKyAgICAgICAgKHJ1bkpTQ1N0cmVzc1Rlc3RzKToKKyAgICAgICAgKiBTY3Jp
cHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzOgorCiAyMDIwLTExLTIwICBGcmVkZXJpYyBXYW5nICA8
ZndhbmdAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBNaWdyYXRlIFdlYktpdFRlc3RTZXJ2
ZXIgdG8gbGlic291cCAyLjQ4IEFQSQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9nZW5lcmF0
ZS1idW5kbGUgYi9Ub29scy9TY3JpcHRzL2dlbmVyYXRlLWJ1bmRsZQppbmRleCBlNDljNjQ1M2Q4
ODdmYWE4YjEyN2QzNGQ3ZDdjNDIyNjM5ODY5ZmFkLi4wODUwY2VjN2Y4MjQ3MmQ0MzAyMDU5ZDJh
MTU4MDFhZmVmOWZhNmZkIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL2dlbmVyYXRlLWJ1bmRs
ZQorKysgYi9Ub29scy9TY3JpcHRzL2dlbmVyYXRlLWJ1bmRsZQpAQCAtMjksOSArMjksMTEgQEAg
aW1wb3J0IGhhc2hsaWIKIGltcG9ydCBqc29uCiBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IG9zCitm
cm9tIHBhdGhsaWIgaW1wb3J0IFB1cmVQYXRoCiBpbXBvcnQgc2h1dGlsCiBpbXBvcnQgc3VicHJv
Y2VzcwogaW1wb3J0IHN5cworaW1wb3J0IHRhcmZpbGUKIGltcG9ydCB0ZW1wZmlsZQogaW1wb3J0
IHppcGZpbGUKIApAQCAtODYsOSArODgsMzggQEAgZmkKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dl
cihfX25hbWVfXykKIExPR19NRVNTQUdFID0gMjUKIAorY2xhc3MgQXJjaGl2ZXIob2JqZWN0KToK
KworICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmCisKKyAgICBk
ZWYgX19leGl0X18oc2VsZiwgdHlwZSwgdiwgdGIpOgorICAgICAgICByZXR1cm4gc2VsZi5fYXJj
aGl2ZS5jbG9zZSgpCisKK2NsYXNzIFRhckFyY2hpdmVyKEFyY2hpdmVyKToKKworICAgIGRlZiBf
X2luaXRfXyhzZWxmLCBwYXRoKToKKyAgICAgICAgc2VsZi5fYXJjaGl2ZSA9IHRhcmZpbGUub3Bl
bihwYXRoLCAndzp4eicpCisKKyAgICBkZWYgYWRkX2ZpbGUoc2VsZiwgc3lzdGVtX3BhdGgsIHpp
cF9wYXRoKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2FyY2hpdmUuYWRkKHN5c3RlbV9wYXRoLCB6
aXBfcGF0aCkKKworY2xhc3MgWmlwQXJjaGl2ZXIoQXJjaGl2ZXIpOgorCisgICAgZGVmIF9faW5p
dF9fKHNlbGYsIHBhdGgpOgorICAgICAgICBzZWxmLl9hcmNoaXZlID0gemlwZmlsZS5aaXBGaWxl
KHBhdGgsICd3JywgY29tcHJlc3Npb249emlwZmlsZS5aSVBfREVGTEFURUQpCisKKyAgICBkZWYg
YWRkX2ZpbGUoc2VsZiwgc3lzdGVtX3BhdGgsIHppcF9wYXRoKToKKyAgICAgICAgaWYgb3MucGF0
aC5pc2xpbmsoc3lzdGVtX3BhdGgpOgorICAgICAgICAgICAgc3ltbGlua196aXBfaW5mbyA9IHpp
cGZpbGUuWmlwSW5mbyh6aXBfcGF0aCkKKyAgICAgICAgICAgIHN5bWxpbmtfemlwX2luZm8uY3Jl
YXRlX3N5c3RlbSA9IDMgIyBVbml4IChmb3Igc3ltbGluayBzdXBwb3J0KQorICAgICAgICAgICAg
c3ltbGlua196aXBfaW5mby5leHRlcm5hbF9hdHRyID0gMHhBMUVEMDAwMCAjIFppcCBzb2Z0bGlu
ayBtYWdpYyBudW1iZXIKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9hcmNoaXZlLndyaXRlc3Ry
KHN5bWxpbmtfemlwX2luZm8sIG9zLnJlYWRsaW5rKHN5c3RlbV9wYXRoKSkKKyAgICAgICAgcmV0
dXJuIHNlbGYuX2FyY2hpdmUud3JpdGUoc3lzdGVtX3BhdGgsIHppcF9wYXRoKQorCiBjbGFzcyBC
dW5kbGVDcmVhdG9yKG9iamVjdCk6CiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgY29uZmlndXJh
dGlvbiwgcGxhdGZvcm0sIGJ1bmRsZV90eXBlLCBzeXNsaWJzLCBzaG91bGRfc3RyaXBfb2JqZWN0
cywgY29tcHJlc3Npb25fdHlwZSwgZGVzdGluYXRpb24gPSBOb25lLCByZXZpc2lvbiA9IE5vbmUs
IGJ1aWxkZXJfbmFtZSA9IE5vbmUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjb25maWd1cmF0
aW9uLCBwbGF0Zm9ybSwgYnVuZGxlX3R5cGUsIHN5c2xpYnMsIGxkZCwgc2hvdWxkX3N0cmlwX29i
amVjdHMsIGNvbXByZXNzaW9uX3R5cGUsIGRlc3RpbmF0aW9uID0gTm9uZSwgcmV2aXNpb24gPSBO
b25lLCBidWlsZGVyX25hbWUgPSBOb25lKToKICAgICAgICAgc2VsZi5fY29uZmlndXJhdGlvbiA9
IGNvbmZpZ3VyYXRpb24KICAgICAgICAgc2VsZi5fcGxhdGZvcm0gPSBwbGF0Zm9ybS5sb3dlcigp
CiAgICAgICAgIHNlbGYuX3JldmlzaW9uID0gcmV2aXNpb24KQEAgLTk2LDYgKzEyNyw3IEBAIGNs
YXNzIEJ1bmRsZUNyZWF0b3Iob2JqZWN0KToKICAgICAgICAgc2VsZi5fYnVuZGxlX3R5cGUgPSBi
dW5kbGVfdHlwZQogICAgICAgICBzZWxmLl9idWlsZGVybmFtZSA9IGJ1aWxkZXJfbmFtZQogICAg
ICAgICBzZWxmLl9zeXNsaWJzID0gc3lzbGlicworICAgICAgICBzZWxmLl9sZGQgPSBsZGQKICAg
ICAgICAgc2VsZi5fc2hvdWxkX3N0cmlwX29iamVjdHMgPSBzaG91bGRfc3RyaXBfb2JqZWN0cwog
ICAgICAgICBzZWxmLl9jb21wcmVzc2lvbl90eXBlID0gY29tcHJlc3Npb25fdHlwZQogICAgICAg
ICBzZWxmLl90bXBkaXIgPSBOb25lCkBAIC0xMjUsMTEgKzE1NywyNiBAQCBjbGFzcyBCdW5kbGVD
cmVhdG9yKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBjb21tYW5kX3Byb2Nlc3MucmV0dXJuY29k
ZSwgc3Rkb3V0LCBzdGRlcnIKIAogCi0gICAgZGVmIF9sZGRfZ2V0X2xpYnNfYW5kX2ludGVycHJl
dGVyKHNlbGYsIG9iamVjdCk6CisgICAgZGVmIF9nZXRfaW50ZXJwcmV0ZXJfb2JqbmFtZShzZWxm
LCBvYmplY3QpOgorICAgICAgICAjIE5vdGU6IHdlIHVzZSBwYXRjaGVsZiB0byBnZXQgdGhlIG9i
amVjdCBuYW1lIChub3QgdGhlIHBhdGghKQorICAgICAgICAjIG9mIHRoZSBpbnRlcnByZXRlciBi
ZWNhdXNlIHRoaXMgd29ya3MgcmVnYXJkbGVzcyBvZiB0aGUKKyAgICAgICAgIyBhcmNoaXRlY3R1
cmUgb2YgdGhlIEVMRiBmaWxlLgorICAgICAgICByZXRjb2RlLCBzdGRvdXQsIHN0ZGVyciA9IHNl
bGYuX3J1bl9jbWRfYW5kX2dldF9vdXRwdXQoWydwYXRjaGVsZicsICctLXByaW50LWludGVycHJl
dGVyJywgb2JqZWN0XSkKKyAgICAgICAgaWYgcmV0Y29kZSAhPSAwOgorICAgICAgICAgICAgX2xv
Zy5kZWJ1ZygicGF0Y2hlbGYgc3Rkb3V0OlxuJXNcblBhdGNoZWxmIHN0ZGVycjpcbiVzIiAlIChz
dGRvdXQsIHN0ZGVycikpCisgICAgICAgICAgICBpZiAnY2Fubm90IGZpbmQgc2VjdGlvbicgaW4g
c3Rkb3V0OgorICAgICAgICAgICAgICAgICMgVGhpcyBpcyBmaW5lOyB3ZSBvbmx5IGV4cGVjdCBh
biBpbnRlcnByZXRlciBpbiB0aGUgbWFpbiBiaW5hcnkuCisgICAgICAgICAgICAgICAgcmV0dXJu
IE5vbmUKKyAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignVGhlIHBhdGNoZWxmIGNvbW1h
bmQgcmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzIGZvciBvYmplY3QgJXMnICUgb2JqZWN0KQorICAg
ICAgICBpbnRlcnByZXRlcl9wYXRoID0gUHVyZVBhdGgoc3Rkb3V0LnN0cmlwKCkpCisgICAgICAg
IHJldHVybiBpbnRlcnByZXRlcl9wYXRoLm5hbWUKKworICAgIGRlZiBfZ2V0X2xpYnNfYW5kX2lu
dGVycHJldGVyKHNlbGYsIG9iamVjdCk6CiAgICAgICAgIGludGVycHJldGVyID0gTm9uZQotICAg
ICAgICByZXRjb2RlLCBzdGRvdXQsIHN0ZGVyciA9IHNlbGYuX3J1bl9jbWRfYW5kX2dldF9vdXRw
dXQoWydsZGQnLCBvYmplY3RdKQorICAgICAgICByZXRjb2RlLCBzdGRvdXQsIHN0ZGVyciA9IHNl
bGYuX3J1bl9jbWRfYW5kX2dldF9vdXRwdXQoW3NlbGYuX2xkZCwgb2JqZWN0XSkKKyAgICAgICAg
X2xvZy5kZWJ1ZygibGRkIHN0ZG91dDpcbiVzIiAlIHN0ZG91dCkKICAgICAgICAgaWYgcmV0Y29k
ZSAhPSAwOgotICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdUaGUgbGRkIGNvbW1hbmQg
cmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzIGZvciBvYmplY3QgJXMnICUgb2JqZWN0KQorICAgICAg
ICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdUaGUgJXMgY29tbWFuZCByZXR1cm5lZCBub24temVy
byBzdGF0dXMgZm9yIG9iamVjdCAlcycgJSAoc2VsZi5fbGRkLCBvYmplY3QpKQogICAgICAgICBs
aWJzID0gW10KICAgICAgICAgZm9yIGxpbmUgaW4gc3Rkb3V0LnNwbGl0bGluZXMoKToKICAgICAg
ICAgICAgIGxpbmUgPSBsaW5lLnN0cmlwKCkKQEAgLTE0NCwxMSArMTkxLDI0IEBAIGNsYXNzIEJ1
bmRsZUNyZWF0b3Iob2JqZWN0KToKICAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5zcGxpdCgn
ICcpWzBdLnN0cmlwKCkKICAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShsaW5lKToK
ICAgICAgICAgICAgICAgICAgICAgaW50ZXJwcmV0ZXIgPSBsaW5lCisgICAgICAgIGlmIGludGVy
cHJldGVyIGlzIE5vbmU6CisgICAgICAgICAgICAjIFRoaXMgaXMgdGhlIGNhc2UgZm9yIG5vbi1u
YXRpdmUgYmluYXJpZXMuIEZvciB0aG9zZSwgd2UKKyAgICAgICAgICAgICMgY2FuIHVzZSBhIGNy
b3NzLWxkZCAoeGxkZCksIGJ1dCB0aGVuIHRoZSBpbnRlcnByZXRlcgorICAgICAgICAgICAgIyBs
b29rcyBsaWtlIGFueSBvdGhlciBzaGFyZWQgb2JqZWN0IGluIHRoZSBvdXRwdXQgb2YKKyAgICAg
ICAgICAgICMgbGRkLiBUcnkgdG8gaWRlbnRpZnkgaXQgYnkgbG9va2luZyBhdCB0aGUgb2JqZWN0
IG5hbWUKKyAgICAgICAgICAgICMgZnJvbSB0aGUgaW50ZXJwcmV0ZXIgc3RyaW5nLgorICAgICAg
ICAgICAgaW50ZXJwcmV0ZXJfb2JqbmFtZSA9IHNlbGYuX2dldF9pbnRlcnByZXRlcl9vYmpuYW1l
KG9iamVjdCkKKyAgICAgICAgICAgIGZvciBsaWIgaW4gbGliczoKKyAgICAgICAgICAgICAgICBp
ZiBQdXJlUGF0aChsaWIpLm5hbWUgPT0gaW50ZXJwcmV0ZXJfb2JqbmFtZToKKyAgICAgICAgICAg
ICAgICAgICAgaW50ZXJwcmV0ZXIgPSBsaWIKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAg
ICAgICAgICAgICMgSWYgd2UgZm91bmQgYW4gaW50ZXJwcmV0ZXIsIHJlbW92ZSBpdCBmcm9tIHRo
ZSBsaWJzLgorICAgICAgICAgICAgbGlicyA9IFtsaWIgZm9yIGxpYiBpbiBsaWJzIGlmIGxpYiAh
PSBpbnRlcnByZXRlcl0KICAgICAgICAgcmV0dXJuIGxpYnMsIGludGVycHJldGVyCiAKIAogICAg
IGRlZiBfbGRkX3JlY3Vyc2l2ZV9nZXRfbGlic19hbmRfaW50ZXJwcmV0ZXIoc2VsZiwgb2JqZWN0
LCBhbHJlYWR5X2NoZWNrZWRfbGlicyA9IFtdKToKLSAgICAgICAgbGlicywgaW50ZXJwcmV0ZXIg
PSBzZWxmLl9sZGRfZ2V0X2xpYnNfYW5kX2ludGVycHJldGVyKG9iamVjdCkKKyAgICAgICAgbGli
cywgaW50ZXJwcmV0ZXIgPSBzZWxmLl9nZXRfbGlic19hbmRfaW50ZXJwcmV0ZXIob2JqZWN0KQog
ICAgICAgICBpZiBsaWJzOgogICAgICAgICAgICAgZm9yIGxpYiBpbiBsaWJzOgogICAgICAgICAg
ICAgICAgIGlmIGxpYiBpbiBhbHJlYWR5X2NoZWNrZWRfbGliczoKQEAgLTI5NiwxMCArMzU2LDE0
IEBAIGNsYXNzIEJ1bmRsZUNyZWF0b3Iob2JqZWN0KToKICAgICAgICAgZm9yIGJ1bmRsZV9iaW5h
cnkgaW4gc2VsZi5fYnVuZGxlX2JpbmFyaWVzOgogICAgICAgICAgICAgc2VsZi5fY3JlYXRlX2J1
bmRsZShidW5kbGVfYmluYXJ5KQogICAgICAgICBzZWxmLl9nZW5lcmF0ZV9yZWFkbWUoKQorCiAg
ICAgICAgIGlmIHNlbGYuX2NvbXByZXNzaW9uX3R5cGUgPT0gJ3ppcCc6Ci0gICAgICAgICAgICBz
ZWxmLl9jcmVhdGVfemlwKCkKKyAgICAgICAgICAgIGFyY2hpdmVyID0gWmlwQXJjaGl2ZXIoc2Vs
Zi5fYnVuZGxlX2ZpbGVfcGF0aCkKKyAgICAgICAgZWxpZiBzZWxmLl9jb21wcmVzc2lvbl90eXBl
ID09ICd0YXIueHonOgorICAgICAgICAgICAgYXJjaGl2ZXIgPSBUYXJBcmNoaXZlcihzZWxmLl9i
dW5kbGVfZmlsZV9wYXRoKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmFpc2UgTm90SW1w
bGVtZW50ZWRFcnJvcignU3VwcG9ydCBmb3IgY29tcHJlc3Npb24gdHlwZSAlcyBub3QgaW1wbGVt
ZW50ZWQnICUgc2VsZi5fY29tcHJlc3Npb25fdHlwZSkKKyAgICAgICAgc2VsZi5fY3JlYXRlX2Fy
Y2hpdmUoYXJjaGl2ZXIpCiAgICAgICAgIHNlbGYuX3JlbW92ZV90ZW1wZGlyKCkKICAgICAgICAg
aWYgbm90IG9zLnBhdGguaXNmaWxlKHNlbGYuX2J1bmRsZV9maWxlX3BhdGgpOgogICAgICAgICAg
ICAgcmFpc2UgUnVudGltZUVycm9yKCdVbmFibGUgdG8gY3JlYXRlIHRoZSBmaWxlICVzJyAlIHNl
bGYuX2J1bmRsZV9maWxlX3BhdGgpCkBAIC0zMzIsMjAgKzM5NiwxNCBAQCBjbGFzcyBCdW5kbGVD
cmVhdG9yKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBidW5kbGVfbGliCiAKIAotICAgIGRlZiBf
Y3JlYXRlX3ppcChzZWxmKToKLSAgICAgICAgX2xvZy5pbmZvKCdDcmVhdGUgWklQIGZpbGUnKQot
ICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShzZWxmLl9idW5kbGVfZmlsZV9wYXRoLCAndycs
IGNvbXByZXNzaW9uPXppcGZpbGUuWklQX0RFRkxBVEVEKSBhcyB6aXBIYW5kbGU6CisgICAgZGVm
IF9jcmVhdGVfYXJjaGl2ZShzZWxmLCBhcmNoaXZlcik6CisgICAgICAgIF9sb2cuaW5mbygnQ3Jl
YXRlIGFyY2hpdmUnKQorICAgICAgICB3aXRoIGFyY2hpdmVyOgogICAgICAgICAgICAgZm9yIGRp
cm5hbWUsIHN1YmRpcnMsIGZpbGVzIGluIG9zLndhbGsoc2VsZi5fdG1wZGlyKToKICAgICAgICAg
ICAgICAgICBmb3IgZmlsZW5hbWUgaW4gZmlsZXM6CiAgICAgICAgICAgICAgICAgICAgIHN5c3Rl
bV9maWxlX3BhdGggPSBvcy5wYXRoLmpvaW4oZGlybmFtZSwgZmlsZW5hbWUpCiAgICAgICAgICAg
ICAgICAgICAgIHppcF9maWxlX3BhdGggPSBzeXN0ZW1fZmlsZV9wYXRoLnJlcGxhY2Uoc2VsZi5f
dG1wZGlyLCAnJywgMSkubHN0cmlwKCcvJykKLSAgICAgICAgICAgICAgICAgICAgaWYgb3MucGF0
aC5pc2xpbmsoc3lzdGVtX2ZpbGVfcGF0aCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzeW1s
aW5rX3ppcF9pbmZvID0gemlwZmlsZS5aaXBJbmZvKHppcF9maWxlX3BhdGgpCi0gICAgICAgICAg
ICAgICAgICAgICAgICBzeW1saW5rX3ppcF9pbmZvLmNyZWF0ZV9zeXN0ZW0gPSAzICMgVW5peCAo
Zm9yIHN5bWxpbmsgc3VwcG9ydCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHN5bWxpbmtfemlw
X2luZm8uZXh0ZXJuYWxfYXR0ciA9IDB4QTFFRDAwMDAgIyBaaXAgc29mdGxpbmsgbWFnaWMgbnVt
YmVyCi0gICAgICAgICAgICAgICAgICAgICAgICB6aXBIYW5kbGUud3JpdGVzdHIoc3ltbGlua196
aXBfaW5mbywgb3MucmVhZGxpbmsoc3lzdGVtX2ZpbGVfcGF0aCkpCi0gICAgICAgICAgICAgICAg
ICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICB6aXBIYW5kbGUud3JpdGUoc3lzdGVt
X2ZpbGVfcGF0aCwgemlwX2ZpbGVfcGF0aCkKKyAgICAgICAgICAgICAgICAgICAgYXJjaGl2ZXIu
YWRkX2ZpbGUoc3lzdGVtX2ZpbGVfcGF0aCwgemlwX2ZpbGVfcGF0aCkKIAogCiAgICAgZGVmIF9n
ZXRfc3lzdGVtX3BhY2thZ2VfbmFtZShzZWxmLCBvYmplY3QpOgpAQCAtNDU2LDYgKzUxNCw4IEBA
IGNsYXNzIEJ1bmRsZUNyZWF0b3Iob2JqZWN0KToKICAgICAgICAgICAgICMgYW5kIGV2ZXJ5dGhp
bmcgd2lsbCBiZSBleGFtaW5lZCBhbmQgYnVuZGxlZCBhcyB3ZSBkb24ndCBhY2NvdW50IGZvciBz
eXN0ZW0gcGFja2FnZXMgaW4gdGhhdCBjYXNlLgogICAgICAgICAgICAgaWYgbm90IHN5c3RlbV9w
YWNrYWdlOgogICAgICAgICAgICAgICAgIGxpYnJhcmllcywgaW50ZXJwcmV0ZXIgPSBzZWxmLl9s
ZGRfcmVjdXJzaXZlX2dldF9saWJzX2FuZF9pbnRlcnByZXRlcihvYmplY3QpCisgICAgICAgICAg
ICAgICAgaWYgaW50ZXJwcmV0ZXIgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2Ug
UnVudGltZUVycm9yKCJDb3VsZCBub3QgZGV0ZXJtaW5lIGludGVycHJldGVyIGZvciBiaW5hcnkg
JXMiICUgb2JqZWN0KQogICAgICAgICAgICAgICAgIGlmIGNvcGllZF9pbnRlcnByZXRlciBpcyBO
b25lOgogICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLl9zeXNsaWJzID09ICdidW5kbGUtYWxs
JzoKICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2NvcHlfYW5kX3JlbW92ZV9ycGF0aChp
bnRlcnByZXRlciwgdHlwZT0naW50ZXJwcmV0ZXInKQpAQCAtNjE2LDYgKzY3Niw3IEBAIGRlZiBt
YWluKCk6CiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1zeXNsaWJzJywgZGVzdD0nc3lzbGli
cycsIGNob2ljZXM9WydidW5kbGUtYWxsJywgJ2dlbmVyYXRlLWluc3RhbGwtc2NyaXB0J10sIGRl
ZmF1bHQ9J2dlbmVyYXRlLWluc3RhbGwtc2NyaXB0JywKICAgICAgICAgICAgICAgICAgICAgICAg
IGhlbHA9J0lmIHZhbHVlIGlzICJidW5kbGUtYWxsIiwgdGhlIGJ1bmRsZSB3aWxsIGluY2x1ZGUg
X2FsbF8gdGhlIHN5c3RlbSBsaWJyYXJpZXMgaW5zdGVhZCBvZiBhIGluc3RhbGwtZGVwZW5kZW5j
aWVzIHNjcmlwdC5cbicKICAgICAgICAgICAgICAgICAgICAgICAgICdJZiB2YWx1ZSBpcyAiZ2Vu
ZXJhdGUtaW5zdGFsbC1zY3JpcHQiLCB0aGUgc3lzdGVtIGxpYnJhcmllcyB3aWxsIG5vdCBiZSBi
dW5kbGVkIGFuZCBhIGluc3RhbGwtZGVwZW5kZW5jaWVzIHNjcmlwdCB3aWxsIGJlIGdlbmVyYXRl
ZCBmb3IgdGhpcyBkaXN0cmlidXRpb24uJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWxk
ZCcsIGRlc3Q9J2xkZCcsIGRlZmF1bHQ9J2xkZCcsIGhlbHA9J1VzZSBhbHRlcm5hdGl2ZSBsZGQg
KHVzZWZ1bCBmb3Igbm9uLW5hdGl2ZSBiaW5hcmllcycpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVu
dCgnLS1jb21wcmVzc2lvbicsIGRlc3Q9J2NvbXByZXNzaW9uJywgY2hvaWNlcz1bJ3ppcCcsICd0
YXIueHonXSwgZGVmYXVsdD0nemlwJykKICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWRlc3Rp
bmF0aW9uJywgYWN0aW9uPSdzdG9yZScsIGRlc3Q9J2Rlc3RpbmF0aW9uJywKICAgICAgICAgICAg
ICAgICAgICAgICAgIGhlbHA9J09wdGlvbmFsIHBhdGggd2VyZSB0byBzdG9yZSB0aGUgYnVuZGxl
JykKQEAgLTYzMyw3ICs2OTQsNyBAQCBkZWYgbWFpbigpOgogICAgICAgICBqaGJ1aWxkdXRpbHMu
ZW50ZXJfamhidWlsZF9lbnZpcm9ubWVudF9pZl9hdmFpbGFibGUob3B0aW9ucy5wbGF0Zm9ybSkK
IAogICAgIGNvbmZpZ3VyZV9sb2dnaW5nKG9wdGlvbnMubG9nX2xldmVsKQotICAgIGJ1bmRsZV9j
cmVhdG9yID0gQnVuZGxlQ3JlYXRvcihvcHRpb25zLmNvbmZpZ3VyYXRpb24sIG9wdGlvbnMucGxh
dGZvcm0sIG9wdGlvbnMuYnVuZGxlX2JpbmFyeSwgb3B0aW9ucy5zeXNsaWJzLAorICAgIGJ1bmRs
ZV9jcmVhdG9yID0gQnVuZGxlQ3JlYXRvcihvcHRpb25zLmNvbmZpZ3VyYXRpb24sIG9wdGlvbnMu
cGxhdGZvcm0sIG9wdGlvbnMuYnVuZGxlX2JpbmFyeSwgb3B0aW9ucy5zeXNsaWJzLCBvcHRpb25z
LmxkZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90IG9wdGlvbnMubm9f
c3RyaXAsIG9wdGlvbnMuY29tcHJlc3Npb24sIG9wdGlvbnMuZGVzdGluYXRpb24sIG9wdGlvbnMu
d2Via2l0X3ZlcnNpb24sIG9wdGlvbnMuYnVpbGRlcl9uYW1lKQogICAgIGJ1bmRsZV9maWxlX3Bh
dGggPSBidW5kbGVfY3JlYXRvci5jcmVhdGUoKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRj
b3JlLXRlc3RzCmluZGV4IGI4MjNmYjljMWI2OWUyY2YyY2M1MDFlOGE4NTQ1NWU4OTg2MjQ5MzIu
Ljk4Mzc2Y2NiMzIzMDQzN2QyNjFhMWE0MWEyNDhlNTZlODVmMGFhNjggMTAwNzU1Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMv
cnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCkBAIC0xMDYsNiArMTA2LDcgQEAgbXkgJGNyZWF0ZVRh
cmJhbGwgPSAwOwogbXkgJHJlbW90ZUhvc3QgPSAwOwogbXkgJG1vZGVsID0gMDsKIG15ICRhcmNo
cyA9IHVuZGVmOworbXkgJGxkZCA9IHVuZGVmOwogbXkgJHZlcnNpb247CiBteSAkdmVyc2lvbk5h
bWU7CiBteSAkc2RrOwpAQCAtMjM0LDYgKzIzNSw3IEBAIG15ICR1c2FnZSA9IDw8RU9GOwogVXNh
Z2U6ICRwcm9ncmFtTmFtZSBbb3B0aW9uc10gW29wdGlvbnMgdG8gcGFzcyB0byBidWlsZCBzeXN0
ZW1dCiAgIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgIFNob3cgdGhpcyBoZWxwIG1lc3Nh
Z2UKICAgLS1hcmNoaXRlY3R1cmUgICAgICAgICAgICAgICAgQXR0ZW1wdCB0byBvdmVycmlkZSB0
aGUgbmF0aXZlIGFyY2hpdGVjdHVyZSBvZiBhIG1hY2hpbmUuCisgIC0tbGRkICAgICAgICAgICAg
ICAgICAgICAgICAgIFVzZSBhbHRlcm5hdGUgbGRkCiAgIC0tcm9vdD0gICAgICAgICAgICAgICAg
ICAgICAgIFBhdGggdG8gcHJlLWJ1aWx0IHJvb3QgY29udGFpbmluZyBqc2MKICAgLS1bbm8tXWZ0
bC1qaXQgICAgICAgICAgICAgICAgVHVybiB0aGUgRlRMIEpJVCBvbiBvciBvZmYKICAgLS1bbm8t
XWJ1aWxkICAgICAgICAgICAgICAgICAgQ2hlY2sgKG9yIGRvbid0IGNoZWNrKSB0byBzZWUgaWYg
dGhlIGpzYyBidWlsZCBpcyB1cC10by1kYXRlIChkZWZhdWx0OiAkYnVpbGRKU0NEZWZhdWx0KQpA
QCAtMzMxLDYgKzMzMyw3IEBAIEdldE9wdGlvbnMoCiAgICAgJ3JlbW90ZT1zJyA9PiBcJHJlbW90
ZUhvc3QsCiAgICAgJ21vZGVsPXMnID0+IFwkbW9kZWwsCiAgICAgJ2FyY2hpdGVjdHVyZT1zJyA9
PiBcJGFyY2hzLAorICAgICdsZGQ9cycgPT4gXCRsZGQsCiAgICAgJ3ZlcnNpb249cycgPT4gXCR2
ZXJzaW9uLAogICAgICd2ZXJzaW9uLW5hbWU9cycgPT4gXCR2ZXJzaW9uTmFtZSwKICAgICAnc2Rr
PXMnID0+IFwkc2RrLApAQCAtNzYxLDYgKzc2NCwxMCBAQCBzdWIgcnVuSlNDU3RyZXNzVGVzdHMK
ICAgICAgICAgcHVzaChAanNjU3RyZXNzRHJpdmVyQ21kLCAkYXJjaHMpOwogICAgIH0KIAorICAg
IGlmIChkZWZpbmVkKCRsZGQpKSB7CisgICAgICAgIHB1c2goQGpzY1N0cmVzc0RyaXZlckNtZCwg
Ii0tbGRkIik7CisgICAgICAgIHB1c2goQGpzY1N0cmVzc0RyaXZlckNtZCwgJGxkZCk7CisgICAg
fQogICAgIHB1c2goQGpzY1N0cmVzc0RyaXZlckNtZCwgQHRlc3RMaXN0KTsKIAogICAgIGlmIChp
c1dpbmRvd3MoKSAmJiAhaXNDeWd3aW4oKSkgewpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9y
dW4tanNjLXN0cmVzcy10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMK
aW5kZXggYWM5NGJiODA2MjRlNzk2ZGE5NGRhYjRmMDU2MDYwNmM5MDNjYjQ3MS4uZTU2MDE0OTky
ZGU3MjYwNWRmMDExZjljOTNkNzhmYjgxMmJlYzYyOCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0
cy9ydW4tanNjLXN0cmVzcy10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNz
LXRlc3RzCkBAIC0xMzIsNiArMTMyLDcgQEAgJG1vZGUgPSAiZnVsbCIKICRidWlsZFR5cGUgPSAi
cmVsZWFzZSIKICRmb3JjZUNvbGxlY3RDb250aW51b3VzbHkgPSBmYWxzZQogJHJlcG9ydEV4ZWN1
dGlvblRpbWUgPSBmYWxzZQorJGxkZCA9ICdsZGQnCiAKIGRlZiB1c2FnZQogICAgIHB1dHMgInJ1
bi1qc2Mtc3RyZXNzLXRlc3RzIC1qIDxzaGVsbCBwYXRoPiA8Y29sbGVjdGlvbnMgcGF0aD4gWzxj
b2xsZWN0aW9ucyBwYXRoPiAuLi5dIgpAQCAtMTUxLDYgKzE1Miw3IEBAIGRlZiB1c2FnZQogICAg
IHB1dHMgIi0tYXJjaCAgICAgICAgICAgICAgICAgICAgICBTcGVjaWZ5IGFyY2hpdGVjdHVyZSBp
bnN0ZWFkIG9mIGRldGVybWluaW5nIGZyb20gSmF2YVNjcmlwdENvcmUgYnVpbGQuIgogICAgIHB1
dHMgIi0tZm9yY2UtYXJjaGl0ZWN0dXJlICAgICAgICBPdmVycmlkZSB0aGUgYXJjaGl0ZWN0dXJl
IHRvIHJ1biB0ZXN0cyB3aXRoLiIKICAgICBwdXRzICIgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZS5nLiB4ODYsIHg4Nl82NCwgYXJtLiIKKyAgICBwdXRzICItLWxkZCAgICAgICAgICAgICAg
ICAgICAgICAgVXNlIGFsdGVybmF0ZSBsZGQiCiAgICAgcHV0cyAiLS1vcyAgICAgICAgICAgICAg
ICAgICAgICAgIFNwZWNpZnkgb3MgaW5zdGVhZCBvZiBkZXRlcm1pbmluZyBmcm9tIEphdmFTY3Jp
cHRDb3JlIGJ1aWxkLiIKICAgICBwdXRzICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5n
LiBkYXJ3aW4sIGxpbnV4ICYgd2luZG93cy4iCiAgICAgcHV0cyAiLS1zaGVsbC1ydW5uZXIgICAg
ICAgICAgICAgIFVzZXMgdGhlIHNoZWxsLWJhc2VkIHRlc3QgcnVubmVyIGluc3RlYWQgb2YgdGhl
IGRlZmF1bHQgbWFrZS1iYXNlZCBydW5uZXIuIgpAQCAtMTkyLDYgKzE5NCw3IEBAIEdldG9wdExv
bmcubmV3KFsnLS1oZWxwJywgJy1oJywgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdLAogICAgICAg
ICAgICAgICAgWyctLWZvcmNlLXZtLWNvcHknLCBHZXRvcHRMb25nOjpOT19BUkdVTUVOVF0sCiAg
ICAgICAgICAgICAgICBbJy0tYXJjaCcsIEdldG9wdExvbmc6OlJFUVVJUkVEX0FSR1VNRU5UXSwK
ICAgICAgICAgICAgICAgIFsnLS1mb3JjZS1hcmNoaXRlY3R1cmUnLCBHZXRvcHRMb25nOjpSRVFV
SVJFRF9BUkdVTUVOVF0sCisgICAgICAgICAgICAgICBbJy0tbGRkJywgR2V0b3B0TG9uZzo6UkVR
VUlSRURfQVJHVU1FTlRdLAogICAgICAgICAgICAgICAgWyctLW9zJywgR2V0b3B0TG9uZzo6UkVR
VUlSRURfQVJHVU1FTlRdLAogICAgICAgICAgICAgICAgWyctLXNoZWxsLXJ1bm5lcicsIEdldG9w
dExvbmc6Ok5PX0FSR1VNRU5UXSwKICAgICAgICAgICAgICAgIFsnLS1tYWtlLXJ1bm5lcicsIEdl
dG9wdExvbmc6Ok5PX0FSR1VNRU5UXSwKQEAgLTI2NSw2ICsyNjgsOCBAQCBHZXRvcHRMb25nLm5l
dyhbJy0taGVscCcsICctaCcsIEdldG9wdExvbmc6Ok5PX0FSR1VNRU5UXSwKICAgICB3aGVuICct
LWZvcmNlLWFyY2hpdGVjdHVyZScKICAgICAgICAgJGFyY2hpdGVjdHVyZSA9IGFyZyB1bmxlc3Mg
JGFyY2hpdGVjdHVyZQogICAgICAgICAkZm9yY2VBcmNoaXRlY3R1cmUgPSBhcmcKKyAgICB3aGVu
ICctLWxkZCcKKyAgICAgICAgJGxkZCA9IGFyZwogICAgIHdoZW4gJy0tb3MnCiAgICAgICAgICRo
b3N0T1MgPSBhcmcKICAgICB3aGVuICctLW1vZGVsJwpAQCAtMTg1OCw3ICsxODYzLDcgQEAgZGVm
IHByZXBhcmVCdW5kbGUKICAgICAgICAgICAgIGlmICRjb3B5Vk0KICAgICAgICAgICAgICAgICBG
aWxlVXRpbHMuY3BfciBzb3VyY2UsIGRlc3RpbmF0aW9uCiAgICAgICAgICAgICBlbHNlCi0gICAg
ICAgICAgICAgICAgYmVnaW4gCisgICAgICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAg
ICAgICAgRmlsZVV0aWxzLmxuX3Mgc291cmNlLCBkZXN0aW5hdGlvbgogICAgICAgICAgICAgICAg
IHJlc2N1ZSBFeGNlcHRpb24KICAgICAgICAgICAgICAgICAgICAgJHN0ZGVyci5wdXRzICJXYXJu
aW5nOiB1bmFibGUgdG8gY3JlYXRlIHNvZnQgbGluaywgdHJ5aW5nIHRvIGNvcHkuIgpAQCAtMTg2
NywxNSArMTg3MiwzNiBAQCBkZWYgcHJlcGFyZUJ1bmRsZQogICAgICAgICAgICAgZW5kCiAKICAg
ICAgICAgICAgIGlmICRyZW1vdGUgYW5kICRob3N0T1MgPT0gImxpbnV4IgotICAgICAgICAgICAg
ICAgIGJlZ2luCi0gICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcyA9IGBsZGQgI3tzb3Vy
Y2V9YAotICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMuc3BsaXQoL1xuLykuZWFjaCB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICB8IGRlcGVuZGVuY3kgfAotICAgICAgICAgICAgICAg
ICAgICAgICAgRmlsZVV0aWxzLmNwX3IgJCYsICRqc2NQYXRoLmRpcm5hbWUgaWYgZGVwZW5kZW5j
eSA9fiAvI3tXRUJLSVRfUEFUSH1bXiBdKi8KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIHJlc2N1ZQotICAgICAgICAgICAgICAgICAgICAkc3RkZXJyLnB1dHMgIldhcm5p
bmc6IHVuYWJsZSB0byBkZXRlcm1pbmUgb3IgY29weSBsaWJyYXJ5IGRlcGVuZG5lY2llcyBvZiBK
U0MuIgotICAgICAgICAgICAgICAgIGVuZAorICAgICAgICAgICAgICAgIGdlbmVyYXRlX2J1bmRs
ZSA9IChQYXRobmFtZS5uZXcoVEhJU19TQ1JJUFRfUEFUSCkuZGlybmFtZSArICdnZW5lcmF0ZS1i
dW5kbGUnKS5yZWFscGF0aAorICAgICAgICAgICAgICAgIERpci5ta3RtcGRpciB7CisgICAgICAg
ICAgICAgICAgICAgIHwgdG1wZGlyIHwKKyAgICAgICAgICAgICAgICAgICAgIyBHZW5lcmF0ZSBi
dW5kbGUgaW4gYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IHNvIHRoYXQKKyAgICAgICAgICAgICAgICAg
ICAgIyB3ZSBjYW4gc2FmZWx5IHBpY2sgaXQgdXAgcmVnYXJkbGVzcyBvZiBpdHMgbmFtZQorICAg
ICAgICAgICAgICAgICAgICAjIChpdCdzIHRoZSBvbmx5IHppcCBmaWxlIHRoZXJlKS4KKyAgICAg
ICAgICAgICAgICAgICAgY21kbGluZSA9IFsKKyAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVy
YXRlX2J1bmRsZS50b19zLAorICAgICAgICAgICAgICAgICAgICAgICAgIi0tcGxhdGZvcm09Z3Rr
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICItLWJ1bmRsZT1qc2MiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIi0tc3lzbGlicz1idW5kbGUtYWxsIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICItLWxkZD0jeyRsZGR9IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICItLW5vLXN0cmlw
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICItLWNvbXByZXNzaW9uPXRhci54eiIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAoJGJ1aWxkVHlwZSA9PSAicmVsZWFzZSIpID8gIi0tcmVsZWFz
ZSIgOiAiLS1kZWJ1ZyIsCisgICAgICAgICAgICAgICAgICAgICAgICAiLS1kZXN0aW5hdGlvbj0j
e3RtcGRpcn0iCisgICAgICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgICAgICAgICAgbXlz
eXMoY21kbGluZSkKKyAgICAgICAgICAgICAgICAgICAgYXJjaGl2ZXMgPSBEaXIuZ2xvYigiI3t0
bXBkaXJ9LyoudGFyLnh6IikKKyAgICAgICAgICAgICAgICAgICAgaWYgYXJjaGl2ZXMuc2l6ZSAh
PSAxCisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSAiRXhwZWN0ZWQgZXhhY3RseSBvbmUg
ZW50cnkgaW4gdG1wZGlyLCBub3QgI3thcmNoaXZlc30iCisgICAgICAgICAgICAgICAgICAgIGVu
ZAorICAgICAgICAgICAgICAgICAgICAjIE5vdGU6IHdlIG92ZXJ3cml0ZSAnanNjJy4gVGhpcyBv
YnZpb3VzbHkgY29uZmxpY3RzIHdpdGgKKyAgICAgICAgICAgICAgICAgICAgIyAhY29weVZNIGJ1
dCwgdGhlbiBnYWluLCBzbyBkb2VzICRyZW1vdGUuCisgICAgICAgICAgICAgICAgICAgIG15c3lz
KFsidGFyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItQyIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAkanNjUGF0aC5kaXJuYW1lLnRvX3MsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiLXhmIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyY2hpdmVzWzBdXSkK
KyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbmQKICAgICAgICAgfQogICAgIGVuZAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415301</attachid>
            <date>2020-12-03 06:36:02 -0800</date>
            <delta_ts>2020-12-04 01:55:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219485-20201203153559.patch</filename>
            <type>text/plain</type>
            <size>16756</size>
            <attacher name="Angelos Oikonomopoulos">angelos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMTA3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzZkNDNjNGM3ZWVhNjJlYWE0ZTkxNWIzZDE0ZmQzODcz
NTY1NDk3ZS4uZDI2ZmRiNmVkNjk2YjAzM2U2ZTg1NGYyMjc2N2YzMzdkYjAzMDZhZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3
IEBACisyMDIwLTEyLTAzICBBbmdlbG9zIE9pa29ub21vcG91bG9zICA8YW5nZWxvc0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFtKU0NdIEJ1bmRsZSBub24tbmF0aXZlIGxpYnMgaW4gcnVuLWpzYy1z
dHJlc3MtdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxOTQ4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIHJ1bi1qc2Mtc3RyZXNzLXRlc3RzIGFscmVhZHkgdHJpZXMgdG8gYnVuZGxlIGxpYnJhcnkg
ZGVwZW5kZW5jaWVzCisgICAgICAgIChvbiBsaW51eCkgd2hlbiB1c2luZyB0aGUgLS1yZW1vdGUg
ZnVuY3Rpb25hbGl0eTsgdGhpcyBlbnN1cmVzCisgICAgICAgIHRoYXQgd2UgZG9uJ3QgbmVlZCB0
byBkZXBlbmQgb24gdGhlIHJlbW90ZSBlbnZpcm9ubWVudCBleGFjdGx5CisgICAgICAgIG1hdGNo
aW5nIHRoZSBidWlsZCBlbnZpcm9ubWVudC4gSG93ZXZlciwgdGhpcyBicmVha3Mgd2hlbgorICAg
ICAgICBjcm9zcy1idWlsZGluZzsgcnVuLWpzYy1zdHJlc3MtdGVzdHMgdXNlcyBsZGQsIHdoaWNo
IHJlbGllcyBvbgorICAgICAgICBjb2RlIGV4ZWN1dGlvbiB0byBnZXQgdGhlIHNoYXJlZCBvYmpl
Y3QgcGF0aHMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBleHRlbmRzIGdlbmVyYXRlLWJ1bmRsZSB0
byBiZSBhYmxlIHRvIGhhbmRsZSB0aGUgb3V0cHV0CisgICAgICAgIGZyb20gYSBjcm9zcyBsZGQg
KHNwZWNpZmljYWxseSwgeGxkZCBmcm9tIGNyb3NzdG9vbC1ORykgYW5kCisgICAgICAgIGNoYW5n
ZXMgcnVuLWpzYy1zdHJlc3MtdGVzdHMgdG8gdXNlIGdlbmVyYXRlLWJ1bmRsZSBmb3IgYnVuZGxp
bmcKKyAgICAgICAgdGhlIGxpYnJhcmllcyBmb3IgdGhlIHJlbW90ZXMuCisKKyAgICAgICAgKiBT
Y3JpcHRzL2dlbmVyYXRlLWJ1bmRsZToKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0
Y29yZS10ZXN0czoKKyAgICAgICAgKHJ1bkpTQ1N0cmVzc1Rlc3RzKToKKyAgICAgICAgKiBTY3Jp
cHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzOgorCiAyMDIwLTExLTIwICBGcmVkZXJpYyBXYW5nICA8
ZndhbmdAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBNaWdyYXRlIFdlYktpdFRlc3RTZXJ2
ZXIgdG8gbGlic291cCAyLjQ4IEFQSQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9nZW5lcmF0
ZS1idW5kbGUgYi9Ub29scy9TY3JpcHRzL2dlbmVyYXRlLWJ1bmRsZQppbmRleCBlNDljNjQ1M2Q4
ODdmYWE4YjEyN2QzNGQ3ZDdjNDIyNjM5ODY5ZmFkLi4wODUwY2VjN2Y4MjQ3MmQ0MzAyMDU5ZDJh
MTU4MDFhZmVmOWZhNmZkIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL2dlbmVyYXRlLWJ1bmRs
ZQorKysgYi9Ub29scy9TY3JpcHRzL2dlbmVyYXRlLWJ1bmRsZQpAQCAtMjksOSArMjksMTEgQEAg
aW1wb3J0IGhhc2hsaWIKIGltcG9ydCBqc29uCiBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IG9zCitm
cm9tIHBhdGhsaWIgaW1wb3J0IFB1cmVQYXRoCiBpbXBvcnQgc2h1dGlsCiBpbXBvcnQgc3VicHJv
Y2VzcwogaW1wb3J0IHN5cworaW1wb3J0IHRhcmZpbGUKIGltcG9ydCB0ZW1wZmlsZQogaW1wb3J0
IHppcGZpbGUKIApAQCAtODYsOSArODgsMzggQEAgZmkKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dl
cihfX25hbWVfXykKIExPR19NRVNTQUdFID0gMjUKIAorY2xhc3MgQXJjaGl2ZXIob2JqZWN0KToK
KworICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmCisKKyAgICBk
ZWYgX19leGl0X18oc2VsZiwgdHlwZSwgdiwgdGIpOgorICAgICAgICByZXR1cm4gc2VsZi5fYXJj
aGl2ZS5jbG9zZSgpCisKK2NsYXNzIFRhckFyY2hpdmVyKEFyY2hpdmVyKToKKworICAgIGRlZiBf
X2luaXRfXyhzZWxmLCBwYXRoKToKKyAgICAgICAgc2VsZi5fYXJjaGl2ZSA9IHRhcmZpbGUub3Bl
bihwYXRoLCAndzp4eicpCisKKyAgICBkZWYgYWRkX2ZpbGUoc2VsZiwgc3lzdGVtX3BhdGgsIHpp
cF9wYXRoKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2FyY2hpdmUuYWRkKHN5c3RlbV9wYXRoLCB6
aXBfcGF0aCkKKworY2xhc3MgWmlwQXJjaGl2ZXIoQXJjaGl2ZXIpOgorCisgICAgZGVmIF9faW5p
dF9fKHNlbGYsIHBhdGgpOgorICAgICAgICBzZWxmLl9hcmNoaXZlID0gemlwZmlsZS5aaXBGaWxl
KHBhdGgsICd3JywgY29tcHJlc3Npb249emlwZmlsZS5aSVBfREVGTEFURUQpCisKKyAgICBkZWYg
YWRkX2ZpbGUoc2VsZiwgc3lzdGVtX3BhdGgsIHppcF9wYXRoKToKKyAgICAgICAgaWYgb3MucGF0
aC5pc2xpbmsoc3lzdGVtX3BhdGgpOgorICAgICAgICAgICAgc3ltbGlua196aXBfaW5mbyA9IHpp
cGZpbGUuWmlwSW5mbyh6aXBfcGF0aCkKKyAgICAgICAgICAgIHN5bWxpbmtfemlwX2luZm8uY3Jl
YXRlX3N5c3RlbSA9IDMgIyBVbml4IChmb3Igc3ltbGluayBzdXBwb3J0KQorICAgICAgICAgICAg
c3ltbGlua196aXBfaW5mby5leHRlcm5hbF9hdHRyID0gMHhBMUVEMDAwMCAjIFppcCBzb2Z0bGlu
ayBtYWdpYyBudW1iZXIKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9hcmNoaXZlLndyaXRlc3Ry
KHN5bWxpbmtfemlwX2luZm8sIG9zLnJlYWRsaW5rKHN5c3RlbV9wYXRoKSkKKyAgICAgICAgcmV0
dXJuIHNlbGYuX2FyY2hpdmUud3JpdGUoc3lzdGVtX3BhdGgsIHppcF9wYXRoKQorCiBjbGFzcyBC
dW5kbGVDcmVhdG9yKG9iamVjdCk6CiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgY29uZmlndXJh
dGlvbiwgcGxhdGZvcm0sIGJ1bmRsZV90eXBlLCBzeXNsaWJzLCBzaG91bGRfc3RyaXBfb2JqZWN0
cywgY29tcHJlc3Npb25fdHlwZSwgZGVzdGluYXRpb24gPSBOb25lLCByZXZpc2lvbiA9IE5vbmUs
IGJ1aWxkZXJfbmFtZSA9IE5vbmUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjb25maWd1cmF0
aW9uLCBwbGF0Zm9ybSwgYnVuZGxlX3R5cGUsIHN5c2xpYnMsIGxkZCwgc2hvdWxkX3N0cmlwX29i
amVjdHMsIGNvbXByZXNzaW9uX3R5cGUsIGRlc3RpbmF0aW9uID0gTm9uZSwgcmV2aXNpb24gPSBO
b25lLCBidWlsZGVyX25hbWUgPSBOb25lKToKICAgICAgICAgc2VsZi5fY29uZmlndXJhdGlvbiA9
IGNvbmZpZ3VyYXRpb24KICAgICAgICAgc2VsZi5fcGxhdGZvcm0gPSBwbGF0Zm9ybS5sb3dlcigp
CiAgICAgICAgIHNlbGYuX3JldmlzaW9uID0gcmV2aXNpb24KQEAgLTk2LDYgKzEyNyw3IEBAIGNs
YXNzIEJ1bmRsZUNyZWF0b3Iob2JqZWN0KToKICAgICAgICAgc2VsZi5fYnVuZGxlX3R5cGUgPSBi
dW5kbGVfdHlwZQogICAgICAgICBzZWxmLl9idWlsZGVybmFtZSA9IGJ1aWxkZXJfbmFtZQogICAg
ICAgICBzZWxmLl9zeXNsaWJzID0gc3lzbGlicworICAgICAgICBzZWxmLl9sZGQgPSBsZGQKICAg
ICAgICAgc2VsZi5fc2hvdWxkX3N0cmlwX29iamVjdHMgPSBzaG91bGRfc3RyaXBfb2JqZWN0cwog
ICAgICAgICBzZWxmLl9jb21wcmVzc2lvbl90eXBlID0gY29tcHJlc3Npb25fdHlwZQogICAgICAg
ICBzZWxmLl90bXBkaXIgPSBOb25lCkBAIC0xMjUsMTEgKzE1NywyNiBAQCBjbGFzcyBCdW5kbGVD
cmVhdG9yKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBjb21tYW5kX3Byb2Nlc3MucmV0dXJuY29k
ZSwgc3Rkb3V0LCBzdGRlcnIKIAogCi0gICAgZGVmIF9sZGRfZ2V0X2xpYnNfYW5kX2ludGVycHJl
dGVyKHNlbGYsIG9iamVjdCk6CisgICAgZGVmIF9nZXRfaW50ZXJwcmV0ZXJfb2JqbmFtZShzZWxm
LCBvYmplY3QpOgorICAgICAgICAjIE5vdGU6IHdlIHVzZSBwYXRjaGVsZiB0byBnZXQgdGhlIG9i
amVjdCBuYW1lIChub3QgdGhlIHBhdGghKQorICAgICAgICAjIG9mIHRoZSBpbnRlcnByZXRlciBi
ZWNhdXNlIHRoaXMgd29ya3MgcmVnYXJkbGVzcyBvZiB0aGUKKyAgICAgICAgIyBhcmNoaXRlY3R1
cmUgb2YgdGhlIEVMRiBmaWxlLgorICAgICAgICByZXRjb2RlLCBzdGRvdXQsIHN0ZGVyciA9IHNl
bGYuX3J1bl9jbWRfYW5kX2dldF9vdXRwdXQoWydwYXRjaGVsZicsICctLXByaW50LWludGVycHJl
dGVyJywgb2JqZWN0XSkKKyAgICAgICAgaWYgcmV0Y29kZSAhPSAwOgorICAgICAgICAgICAgX2xv
Zy5kZWJ1ZygicGF0Y2hlbGYgc3Rkb3V0OlxuJXNcblBhdGNoZWxmIHN0ZGVycjpcbiVzIiAlIChz
dGRvdXQsIHN0ZGVycikpCisgICAgICAgICAgICBpZiAnY2Fubm90IGZpbmQgc2VjdGlvbicgaW4g
c3Rkb3V0OgorICAgICAgICAgICAgICAgICMgVGhpcyBpcyBmaW5lOyB3ZSBvbmx5IGV4cGVjdCBh
biBpbnRlcnByZXRlciBpbiB0aGUgbWFpbiBiaW5hcnkuCisgICAgICAgICAgICAgICAgcmV0dXJu
IE5vbmUKKyAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignVGhlIHBhdGNoZWxmIGNvbW1h
bmQgcmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzIGZvciBvYmplY3QgJXMnICUgb2JqZWN0KQorICAg
ICAgICBpbnRlcnByZXRlcl9wYXRoID0gUHVyZVBhdGgoc3Rkb3V0LnN0cmlwKCkpCisgICAgICAg
IHJldHVybiBpbnRlcnByZXRlcl9wYXRoLm5hbWUKKworICAgIGRlZiBfZ2V0X2xpYnNfYW5kX2lu
dGVycHJldGVyKHNlbGYsIG9iamVjdCk6CiAgICAgICAgIGludGVycHJldGVyID0gTm9uZQotICAg
ICAgICByZXRjb2RlLCBzdGRvdXQsIHN0ZGVyciA9IHNlbGYuX3J1bl9jbWRfYW5kX2dldF9vdXRw
dXQoWydsZGQnLCBvYmplY3RdKQorICAgICAgICByZXRjb2RlLCBzdGRvdXQsIHN0ZGVyciA9IHNl
bGYuX3J1bl9jbWRfYW5kX2dldF9vdXRwdXQoW3NlbGYuX2xkZCwgb2JqZWN0XSkKKyAgICAgICAg
X2xvZy5kZWJ1ZygibGRkIHN0ZG91dDpcbiVzIiAlIHN0ZG91dCkKICAgICAgICAgaWYgcmV0Y29k
ZSAhPSAwOgotICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdUaGUgbGRkIGNvbW1hbmQg
cmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzIGZvciBvYmplY3QgJXMnICUgb2JqZWN0KQorICAgICAg
ICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdUaGUgJXMgY29tbWFuZCByZXR1cm5lZCBub24temVy
byBzdGF0dXMgZm9yIG9iamVjdCAlcycgJSAoc2VsZi5fbGRkLCBvYmplY3QpKQogICAgICAgICBs
aWJzID0gW10KICAgICAgICAgZm9yIGxpbmUgaW4gc3Rkb3V0LnNwbGl0bGluZXMoKToKICAgICAg
ICAgICAgIGxpbmUgPSBsaW5lLnN0cmlwKCkKQEAgLTE0NCwxMSArMTkxLDI0IEBAIGNsYXNzIEJ1
bmRsZUNyZWF0b3Iob2JqZWN0KToKICAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5zcGxpdCgn
ICcpWzBdLnN0cmlwKCkKICAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShsaW5lKToK
ICAgICAgICAgICAgICAgICAgICAgaW50ZXJwcmV0ZXIgPSBsaW5lCisgICAgICAgIGlmIGludGVy
cHJldGVyIGlzIE5vbmU6CisgICAgICAgICAgICAjIFRoaXMgaXMgdGhlIGNhc2UgZm9yIG5vbi1u
YXRpdmUgYmluYXJpZXMuIEZvciB0aG9zZSwgd2UKKyAgICAgICAgICAgICMgY2FuIHVzZSBhIGNy
b3NzLWxkZCAoeGxkZCksIGJ1dCB0aGVuIHRoZSBpbnRlcnByZXRlcgorICAgICAgICAgICAgIyBs
b29rcyBsaWtlIGFueSBvdGhlciBzaGFyZWQgb2JqZWN0IGluIHRoZSBvdXRwdXQgb2YKKyAgICAg
ICAgICAgICMgbGRkLiBUcnkgdG8gaWRlbnRpZnkgaXQgYnkgbG9va2luZyBhdCB0aGUgb2JqZWN0
IG5hbWUKKyAgICAgICAgICAgICMgZnJvbSB0aGUgaW50ZXJwcmV0ZXIgc3RyaW5nLgorICAgICAg
ICAgICAgaW50ZXJwcmV0ZXJfb2JqbmFtZSA9IHNlbGYuX2dldF9pbnRlcnByZXRlcl9vYmpuYW1l
KG9iamVjdCkKKyAgICAgICAgICAgIGZvciBsaWIgaW4gbGliczoKKyAgICAgICAgICAgICAgICBp
ZiBQdXJlUGF0aChsaWIpLm5hbWUgPT0gaW50ZXJwcmV0ZXJfb2JqbmFtZToKKyAgICAgICAgICAg
ICAgICAgICAgaW50ZXJwcmV0ZXIgPSBsaWIKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAg
ICAgICAgICAgICMgSWYgd2UgZm91bmQgYW4gaW50ZXJwcmV0ZXIsIHJlbW92ZSBpdCBmcm9tIHRo
ZSBsaWJzLgorICAgICAgICAgICAgbGlicyA9IFtsaWIgZm9yIGxpYiBpbiBsaWJzIGlmIGxpYiAh
PSBpbnRlcnByZXRlcl0KICAgICAgICAgcmV0dXJuIGxpYnMsIGludGVycHJldGVyCiAKIAogICAg
IGRlZiBfbGRkX3JlY3Vyc2l2ZV9nZXRfbGlic19hbmRfaW50ZXJwcmV0ZXIoc2VsZiwgb2JqZWN0
LCBhbHJlYWR5X2NoZWNrZWRfbGlicyA9IFtdKToKLSAgICAgICAgbGlicywgaW50ZXJwcmV0ZXIg
PSBzZWxmLl9sZGRfZ2V0X2xpYnNfYW5kX2ludGVycHJldGVyKG9iamVjdCkKKyAgICAgICAgbGli
cywgaW50ZXJwcmV0ZXIgPSBzZWxmLl9nZXRfbGlic19hbmRfaW50ZXJwcmV0ZXIob2JqZWN0KQog
ICAgICAgICBpZiBsaWJzOgogICAgICAgICAgICAgZm9yIGxpYiBpbiBsaWJzOgogICAgICAgICAg
ICAgICAgIGlmIGxpYiBpbiBhbHJlYWR5X2NoZWNrZWRfbGliczoKQEAgLTI5NiwxMCArMzU2LDE0
IEBAIGNsYXNzIEJ1bmRsZUNyZWF0b3Iob2JqZWN0KToKICAgICAgICAgZm9yIGJ1bmRsZV9iaW5h
cnkgaW4gc2VsZi5fYnVuZGxlX2JpbmFyaWVzOgogICAgICAgICAgICAgc2VsZi5fY3JlYXRlX2J1
bmRsZShidW5kbGVfYmluYXJ5KQogICAgICAgICBzZWxmLl9nZW5lcmF0ZV9yZWFkbWUoKQorCiAg
ICAgICAgIGlmIHNlbGYuX2NvbXByZXNzaW9uX3R5cGUgPT0gJ3ppcCc6Ci0gICAgICAgICAgICBz
ZWxmLl9jcmVhdGVfemlwKCkKKyAgICAgICAgICAgIGFyY2hpdmVyID0gWmlwQXJjaGl2ZXIoc2Vs
Zi5fYnVuZGxlX2ZpbGVfcGF0aCkKKyAgICAgICAgZWxpZiBzZWxmLl9jb21wcmVzc2lvbl90eXBl
ID09ICd0YXIueHonOgorICAgICAgICAgICAgYXJjaGl2ZXIgPSBUYXJBcmNoaXZlcihzZWxmLl9i
dW5kbGVfZmlsZV9wYXRoKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmFpc2UgTm90SW1w
bGVtZW50ZWRFcnJvcignU3VwcG9ydCBmb3IgY29tcHJlc3Npb24gdHlwZSAlcyBub3QgaW1wbGVt
ZW50ZWQnICUgc2VsZi5fY29tcHJlc3Npb25fdHlwZSkKKyAgICAgICAgc2VsZi5fY3JlYXRlX2Fy
Y2hpdmUoYXJjaGl2ZXIpCiAgICAgICAgIHNlbGYuX3JlbW92ZV90ZW1wZGlyKCkKICAgICAgICAg
aWYgbm90IG9zLnBhdGguaXNmaWxlKHNlbGYuX2J1bmRsZV9maWxlX3BhdGgpOgogICAgICAgICAg
ICAgcmFpc2UgUnVudGltZUVycm9yKCdVbmFibGUgdG8gY3JlYXRlIHRoZSBmaWxlICVzJyAlIHNl
bGYuX2J1bmRsZV9maWxlX3BhdGgpCkBAIC0zMzIsMjAgKzM5NiwxNCBAQCBjbGFzcyBCdW5kbGVD
cmVhdG9yKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBidW5kbGVfbGliCiAKIAotICAgIGRlZiBf
Y3JlYXRlX3ppcChzZWxmKToKLSAgICAgICAgX2xvZy5pbmZvKCdDcmVhdGUgWklQIGZpbGUnKQot
ICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShzZWxmLl9idW5kbGVfZmlsZV9wYXRoLCAndycs
IGNvbXByZXNzaW9uPXppcGZpbGUuWklQX0RFRkxBVEVEKSBhcyB6aXBIYW5kbGU6CisgICAgZGVm
IF9jcmVhdGVfYXJjaGl2ZShzZWxmLCBhcmNoaXZlcik6CisgICAgICAgIF9sb2cuaW5mbygnQ3Jl
YXRlIGFyY2hpdmUnKQorICAgICAgICB3aXRoIGFyY2hpdmVyOgogICAgICAgICAgICAgZm9yIGRp
cm5hbWUsIHN1YmRpcnMsIGZpbGVzIGluIG9zLndhbGsoc2VsZi5fdG1wZGlyKToKICAgICAgICAg
ICAgICAgICBmb3IgZmlsZW5hbWUgaW4gZmlsZXM6CiAgICAgICAgICAgICAgICAgICAgIHN5c3Rl
bV9maWxlX3BhdGggPSBvcy5wYXRoLmpvaW4oZGlybmFtZSwgZmlsZW5hbWUpCiAgICAgICAgICAg
ICAgICAgICAgIHppcF9maWxlX3BhdGggPSBzeXN0ZW1fZmlsZV9wYXRoLnJlcGxhY2Uoc2VsZi5f
dG1wZGlyLCAnJywgMSkubHN0cmlwKCcvJykKLSAgICAgICAgICAgICAgICAgICAgaWYgb3MucGF0
aC5pc2xpbmsoc3lzdGVtX2ZpbGVfcGF0aCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzeW1s
aW5rX3ppcF9pbmZvID0gemlwZmlsZS5aaXBJbmZvKHppcF9maWxlX3BhdGgpCi0gICAgICAgICAg
ICAgICAgICAgICAgICBzeW1saW5rX3ppcF9pbmZvLmNyZWF0ZV9zeXN0ZW0gPSAzICMgVW5peCAo
Zm9yIHN5bWxpbmsgc3VwcG9ydCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHN5bWxpbmtfemlw
X2luZm8uZXh0ZXJuYWxfYXR0ciA9IDB4QTFFRDAwMDAgIyBaaXAgc29mdGxpbmsgbWFnaWMgbnVt
YmVyCi0gICAgICAgICAgICAgICAgICAgICAgICB6aXBIYW5kbGUud3JpdGVzdHIoc3ltbGlua196
aXBfaW5mbywgb3MucmVhZGxpbmsoc3lzdGVtX2ZpbGVfcGF0aCkpCi0gICAgICAgICAgICAgICAg
ICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICB6aXBIYW5kbGUud3JpdGUoc3lzdGVt
X2ZpbGVfcGF0aCwgemlwX2ZpbGVfcGF0aCkKKyAgICAgICAgICAgICAgICAgICAgYXJjaGl2ZXIu
YWRkX2ZpbGUoc3lzdGVtX2ZpbGVfcGF0aCwgemlwX2ZpbGVfcGF0aCkKIAogCiAgICAgZGVmIF9n
ZXRfc3lzdGVtX3BhY2thZ2VfbmFtZShzZWxmLCBvYmplY3QpOgpAQCAtNDU2LDYgKzUxNCw4IEBA
IGNsYXNzIEJ1bmRsZUNyZWF0b3Iob2JqZWN0KToKICAgICAgICAgICAgICMgYW5kIGV2ZXJ5dGhp
bmcgd2lsbCBiZSBleGFtaW5lZCBhbmQgYnVuZGxlZCBhcyB3ZSBkb24ndCBhY2NvdW50IGZvciBz
eXN0ZW0gcGFja2FnZXMgaW4gdGhhdCBjYXNlLgogICAgICAgICAgICAgaWYgbm90IHN5c3RlbV9w
YWNrYWdlOgogICAgICAgICAgICAgICAgIGxpYnJhcmllcywgaW50ZXJwcmV0ZXIgPSBzZWxmLl9s
ZGRfcmVjdXJzaXZlX2dldF9saWJzX2FuZF9pbnRlcnByZXRlcihvYmplY3QpCisgICAgICAgICAg
ICAgICAgaWYgaW50ZXJwcmV0ZXIgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2Ug
UnVudGltZUVycm9yKCJDb3VsZCBub3QgZGV0ZXJtaW5lIGludGVycHJldGVyIGZvciBiaW5hcnkg
JXMiICUgb2JqZWN0KQogICAgICAgICAgICAgICAgIGlmIGNvcGllZF9pbnRlcnByZXRlciBpcyBO
b25lOgogICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLl9zeXNsaWJzID09ICdidW5kbGUtYWxs
JzoKICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2NvcHlfYW5kX3JlbW92ZV9ycGF0aChp
bnRlcnByZXRlciwgdHlwZT0naW50ZXJwcmV0ZXInKQpAQCAtNjE2LDYgKzY3Niw3IEBAIGRlZiBt
YWluKCk6CiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1zeXNsaWJzJywgZGVzdD0nc3lzbGli
cycsIGNob2ljZXM9WydidW5kbGUtYWxsJywgJ2dlbmVyYXRlLWluc3RhbGwtc2NyaXB0J10sIGRl
ZmF1bHQ9J2dlbmVyYXRlLWluc3RhbGwtc2NyaXB0JywKICAgICAgICAgICAgICAgICAgICAgICAg
IGhlbHA9J0lmIHZhbHVlIGlzICJidW5kbGUtYWxsIiwgdGhlIGJ1bmRsZSB3aWxsIGluY2x1ZGUg
X2FsbF8gdGhlIHN5c3RlbSBsaWJyYXJpZXMgaW5zdGVhZCBvZiBhIGluc3RhbGwtZGVwZW5kZW5j
aWVzIHNjcmlwdC5cbicKICAgICAgICAgICAgICAgICAgICAgICAgICdJZiB2YWx1ZSBpcyAiZ2Vu
ZXJhdGUtaW5zdGFsbC1zY3JpcHQiLCB0aGUgc3lzdGVtIGxpYnJhcmllcyB3aWxsIG5vdCBiZSBi
dW5kbGVkIGFuZCBhIGluc3RhbGwtZGVwZW5kZW5jaWVzIHNjcmlwdCB3aWxsIGJlIGdlbmVyYXRl
ZCBmb3IgdGhpcyBkaXN0cmlidXRpb24uJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWxk
ZCcsIGRlc3Q9J2xkZCcsIGRlZmF1bHQ9J2xkZCcsIGhlbHA9J1VzZSBhbHRlcm5hdGl2ZSBsZGQg
KHVzZWZ1bCBmb3Igbm9uLW5hdGl2ZSBiaW5hcmllcycpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVu
dCgnLS1jb21wcmVzc2lvbicsIGRlc3Q9J2NvbXByZXNzaW9uJywgY2hvaWNlcz1bJ3ppcCcsICd0
YXIueHonXSwgZGVmYXVsdD0nemlwJykKICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWRlc3Rp
bmF0aW9uJywgYWN0aW9uPSdzdG9yZScsIGRlc3Q9J2Rlc3RpbmF0aW9uJywKICAgICAgICAgICAg
ICAgICAgICAgICAgIGhlbHA9J09wdGlvbmFsIHBhdGggd2VyZSB0byBzdG9yZSB0aGUgYnVuZGxl
JykKQEAgLTYzMyw3ICs2OTQsNyBAQCBkZWYgbWFpbigpOgogICAgICAgICBqaGJ1aWxkdXRpbHMu
ZW50ZXJfamhidWlsZF9lbnZpcm9ubWVudF9pZl9hdmFpbGFibGUob3B0aW9ucy5wbGF0Zm9ybSkK
IAogICAgIGNvbmZpZ3VyZV9sb2dnaW5nKG9wdGlvbnMubG9nX2xldmVsKQotICAgIGJ1bmRsZV9j
cmVhdG9yID0gQnVuZGxlQ3JlYXRvcihvcHRpb25zLmNvbmZpZ3VyYXRpb24sIG9wdGlvbnMucGxh
dGZvcm0sIG9wdGlvbnMuYnVuZGxlX2JpbmFyeSwgb3B0aW9ucy5zeXNsaWJzLAorICAgIGJ1bmRs
ZV9jcmVhdG9yID0gQnVuZGxlQ3JlYXRvcihvcHRpb25zLmNvbmZpZ3VyYXRpb24sIG9wdGlvbnMu
cGxhdGZvcm0sIG9wdGlvbnMuYnVuZGxlX2JpbmFyeSwgb3B0aW9ucy5zeXNsaWJzLCBvcHRpb25z
LmxkZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90IG9wdGlvbnMubm9f
c3RyaXAsIG9wdGlvbnMuY29tcHJlc3Npb24sIG9wdGlvbnMuZGVzdGluYXRpb24sIG9wdGlvbnMu
d2Via2l0X3ZlcnNpb24sIG9wdGlvbnMuYnVpbGRlcl9uYW1lKQogICAgIGJ1bmRsZV9maWxlX3Bh
dGggPSBidW5kbGVfY3JlYXRvci5jcmVhdGUoKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRj
b3JlLXRlc3RzCmluZGV4IGI4MjNmYjljMWI2OWUyY2YyY2M1MDFlOGE4NTQ1NWU4OTg2MjQ5MzIu
Ljk4Mzc2Y2NiMzIzMDQzN2QyNjFhMWE0MWEyNDhlNTZlODVmMGFhNjggMTAwNzU1Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMv
cnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCkBAIC0xMDYsNiArMTA2LDcgQEAgbXkgJGNyZWF0ZVRh
cmJhbGwgPSAwOwogbXkgJHJlbW90ZUhvc3QgPSAwOwogbXkgJG1vZGVsID0gMDsKIG15ICRhcmNo
cyA9IHVuZGVmOworbXkgJGxkZCA9IHVuZGVmOwogbXkgJHZlcnNpb247CiBteSAkdmVyc2lvbk5h
bWU7CiBteSAkc2RrOwpAQCAtMjM0LDYgKzIzNSw3IEBAIG15ICR1c2FnZSA9IDw8RU9GOwogVXNh
Z2U6ICRwcm9ncmFtTmFtZSBbb3B0aW9uc10gW29wdGlvbnMgdG8gcGFzcyB0byBidWlsZCBzeXN0
ZW1dCiAgIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgIFNob3cgdGhpcyBoZWxwIG1lc3Nh
Z2UKICAgLS1hcmNoaXRlY3R1cmUgICAgICAgICAgICAgICAgQXR0ZW1wdCB0byBvdmVycmlkZSB0
aGUgbmF0aXZlIGFyY2hpdGVjdHVyZSBvZiBhIG1hY2hpbmUuCisgIC0tbGRkICAgICAgICAgICAg
ICAgICAgICAgICAgIFVzZSBhbHRlcm5hdGUgbGRkCiAgIC0tcm9vdD0gICAgICAgICAgICAgICAg
ICAgICAgIFBhdGggdG8gcHJlLWJ1aWx0IHJvb3QgY29udGFpbmluZyBqc2MKICAgLS1bbm8tXWZ0
bC1qaXQgICAgICAgICAgICAgICAgVHVybiB0aGUgRlRMIEpJVCBvbiBvciBvZmYKICAgLS1bbm8t
XWJ1aWxkICAgICAgICAgICAgICAgICAgQ2hlY2sgKG9yIGRvbid0IGNoZWNrKSB0byBzZWUgaWYg
dGhlIGpzYyBidWlsZCBpcyB1cC10by1kYXRlIChkZWZhdWx0OiAkYnVpbGRKU0NEZWZhdWx0KQpA
QCAtMzMxLDYgKzMzMyw3IEBAIEdldE9wdGlvbnMoCiAgICAgJ3JlbW90ZT1zJyA9PiBcJHJlbW90
ZUhvc3QsCiAgICAgJ21vZGVsPXMnID0+IFwkbW9kZWwsCiAgICAgJ2FyY2hpdGVjdHVyZT1zJyA9
PiBcJGFyY2hzLAorICAgICdsZGQ9cycgPT4gXCRsZGQsCiAgICAgJ3ZlcnNpb249cycgPT4gXCR2
ZXJzaW9uLAogICAgICd2ZXJzaW9uLW5hbWU9cycgPT4gXCR2ZXJzaW9uTmFtZSwKICAgICAnc2Rr
PXMnID0+IFwkc2RrLApAQCAtNzYxLDYgKzc2NCwxMCBAQCBzdWIgcnVuSlNDU3RyZXNzVGVzdHMK
ICAgICAgICAgcHVzaChAanNjU3RyZXNzRHJpdmVyQ21kLCAkYXJjaHMpOwogICAgIH0KIAorICAg
IGlmIChkZWZpbmVkKCRsZGQpKSB7CisgICAgICAgIHB1c2goQGpzY1N0cmVzc0RyaXZlckNtZCwg
Ii0tbGRkIik7CisgICAgICAgIHB1c2goQGpzY1N0cmVzc0RyaXZlckNtZCwgJGxkZCk7CisgICAg
fQogICAgIHB1c2goQGpzY1N0cmVzc0RyaXZlckNtZCwgQHRlc3RMaXN0KTsKIAogICAgIGlmIChp
c1dpbmRvd3MoKSAmJiAhaXNDeWd3aW4oKSkgewpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9y
dW4tanNjLXN0cmVzcy10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMK
aW5kZXggYWM5NGJiODA2MjRlNzk2ZGE5NGRhYjRmMDU2MDYwNmM5MDNjYjQ3MS4uOWFkYjgwZjgy
ZjQ5NWVmMjUwZWNkNmNlODkzYzkzYWI5YjI4Njg2NiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0
cy9ydW4tanNjLXN0cmVzcy10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNz
LXRlc3RzCkBAIC0xMzIsNiArMTMyLDcgQEAgJG1vZGUgPSAiZnVsbCIKICRidWlsZFR5cGUgPSAi
cmVsZWFzZSIKICRmb3JjZUNvbGxlY3RDb250aW51b3VzbHkgPSBmYWxzZQogJHJlcG9ydEV4ZWN1
dGlvblRpbWUgPSBmYWxzZQorJGxkZCA9IG5pbAogCiBkZWYgdXNhZ2UKICAgICBwdXRzICJydW4t
anNjLXN0cmVzcy10ZXN0cyAtaiA8c2hlbGwgcGF0aD4gPGNvbGxlY3Rpb25zIHBhdGg+IFs8Y29s
bGVjdGlvbnMgcGF0aD4gLi4uXSIKQEAgLTE1MSw2ICsxNTIsNyBAQCBkZWYgdXNhZ2UKICAgICBw
dXRzICItLWFyY2ggICAgICAgICAgICAgICAgICAgICAgU3BlY2lmeSBhcmNoaXRlY3R1cmUgaW5z
dGVhZCBvZiBkZXRlcm1pbmluZyBmcm9tIEphdmFTY3JpcHRDb3JlIGJ1aWxkLiIKICAgICBwdXRz
ICItLWZvcmNlLWFyY2hpdGVjdHVyZSAgICAgICAgT3ZlcnJpZGUgdGhlIGFyY2hpdGVjdHVyZSB0
byBydW4gdGVzdHMgd2l0aC4iCiAgICAgcHV0cyAiICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGUuZy4geDg2LCB4ODZfNjQsIGFybS4iCisgICAgcHV0cyAiLS1sZGQgICAgICAgICAgICAgICAg
ICAgICAgIFVzZSBhbHRlcm5hdGUgbGRkIgogICAgIHB1dHMgIi0tb3MgICAgICAgICAgICAgICAg
ICAgICAgICBTcGVjaWZ5IG9zIGluc3RlYWQgb2YgZGV0ZXJtaW5pbmcgZnJvbSBKYXZhU2NyaXB0
Q29yZSBidWlsZC4iCiAgICAgcHV0cyAiICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuZy4g
ZGFyd2luLCBsaW51eCAmIHdpbmRvd3MuIgogICAgIHB1dHMgIi0tc2hlbGwtcnVubmVyICAgICAg
ICAgICAgICBVc2VzIHRoZSBzaGVsbC1iYXNlZCB0ZXN0IHJ1bm5lciBpbnN0ZWFkIG9mIHRoZSBk
ZWZhdWx0IG1ha2UtYmFzZWQgcnVubmVyLiIKQEAgLTE5Miw2ICsxOTQsNyBAQCBHZXRvcHRMb25n
Lm5ldyhbJy0taGVscCcsICctaCcsIEdldG9wdExvbmc6Ok5PX0FSR1VNRU5UXSwKICAgICAgICAg
ICAgICAgIFsnLS1mb3JjZS12bS1jb3B5JywgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdLAogICAg
ICAgICAgICAgICAgWyctLWFyY2gnLCBHZXRvcHRMb25nOjpSRVFVSVJFRF9BUkdVTUVOVF0sCiAg
ICAgICAgICAgICAgICBbJy0tZm9yY2UtYXJjaGl0ZWN0dXJlJywgR2V0b3B0TG9uZzo6UkVRVUlS
RURfQVJHVU1FTlRdLAorICAgICAgICAgICAgICAgWyctLWxkZCcsIEdldG9wdExvbmc6OlJFUVVJ
UkVEX0FSR1VNRU5UXSwKICAgICAgICAgICAgICAgIFsnLS1vcycsIEdldG9wdExvbmc6OlJFUVVJ
UkVEX0FSR1VNRU5UXSwKICAgICAgICAgICAgICAgIFsnLS1zaGVsbC1ydW5uZXInLCBHZXRvcHRM
b25nOjpOT19BUkdVTUVOVF0sCiAgICAgICAgICAgICAgICBbJy0tbWFrZS1ydW5uZXInLCBHZXRv
cHRMb25nOjpOT19BUkdVTUVOVF0sCkBAIC0yNjUsNiArMjY4LDggQEAgR2V0b3B0TG9uZy5uZXco
WyctLWhlbHAnLCAnLWgnLCBHZXRvcHRMb25nOjpOT19BUkdVTUVOVF0sCiAgICAgd2hlbiAnLS1m
b3JjZS1hcmNoaXRlY3R1cmUnCiAgICAgICAgICRhcmNoaXRlY3R1cmUgPSBhcmcgdW5sZXNzICRh
cmNoaXRlY3R1cmUKICAgICAgICAgJGZvcmNlQXJjaGl0ZWN0dXJlID0gYXJnCisgICAgd2hlbiAn
LS1sZGQnCisgICAgICAgICRsZGQgPSBhcmcKICAgICB3aGVuICctLW9zJwogICAgICAgICAkaG9z
dE9TID0gYXJnCiAgICAgd2hlbiAnLS1tb2RlbCcKQEAgLTE4NTgsNyArMTg2Myw3IEBAIGRlZiBw
cmVwYXJlQnVuZGxlCiAgICAgICAgICAgICBpZiAkY29weVZNCiAgICAgICAgICAgICAgICAgRmls
ZVV0aWxzLmNwX3Igc291cmNlLCBkZXN0aW5hdGlvbgogICAgICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgICAgIGJlZ2luIAorICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAg
ICAgIEZpbGVVdGlscy5sbl9zIHNvdXJjZSwgZGVzdGluYXRpb24KICAgICAgICAgICAgICAgICBy
ZXNjdWUgRXhjZXB0aW9uCiAgICAgICAgICAgICAgICAgICAgICRzdGRlcnIucHV0cyAiV2Fybmlu
ZzogdW5hYmxlIHRvIGNyZWF0ZSBzb2Z0IGxpbmssIHRyeWluZyB0byBjb3B5LiIKQEAgLTE4Njcs
MTUgKzE4NzIsMzkgQEAgZGVmIHByZXBhcmVCdW5kbGUKICAgICAgICAgICAgIGVuZAogCiAgICAg
ICAgICAgICBpZiAkcmVtb3RlIGFuZCAkaG9zdE9TID09ICJsaW51eCIKLSAgICAgICAgICAgICAg
ICBiZWdpbgotICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMgPSBgbGRkICN7c291cmNl
fWAKLSAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzLnNwbGl0KC9cbi8pLmVhY2ggewot
ICAgICAgICAgICAgICAgICAgICAgICAgfCBkZXBlbmRlbmN5IHwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIEZpbGVVdGlscy5jcF9yICQmLCAkanNjUGF0aC5kaXJuYW1lIGlmIGRlcGVuZGVuY3kg
PX4gLyN7V0VCS0lUX1BBVEh9W14gXSovCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICByZXNjdWUKLSAgICAgICAgICAgICAgICAgICAgJHN0ZGVyci5wdXRzICJXYXJuaW5n
OiB1bmFibGUgdG8gZGV0ZXJtaW5lIG9yIGNvcHkgbGlicmFyeSBkZXBlbmRuZWNpZXMgb2YgSlND
LiIKLSAgICAgICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICAgICBnZW5lcmF0ZV9idW5kbGUg
PSAoUGF0aG5hbWUubmV3KFRISVNfU0NSSVBUX1BBVEgpLmRpcm5hbWUgKyAnZ2VuZXJhdGUtYnVu
ZGxlJykucmVhbHBhdGgKKyAgICAgICAgICAgICAgICBEaXIubWt0bXBkaXIgeworICAgICAgICAg
ICAgICAgICAgICB8IHRtcGRpciB8CisgICAgICAgICAgICAgICAgICAgICMgR2VuZXJhdGUgYnVu
ZGxlIGluIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSBzbyB0aGF0CisgICAgICAgICAgICAgICAgICAg
ICMgd2UgY2FuIHNhZmVseSBwaWNrIGl0IHVwIHJlZ2FyZGxlc3Mgb2YgaXRzIG5hbWUKKyAgICAg
ICAgICAgICAgICAgICAgIyAoaXQncyB0aGUgb25seSB6aXAgZmlsZSB0aGVyZSkuCisgICAgICAg
ICAgICAgICAgICAgIGNtZGxpbmUgPSBbCisgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0
ZV9idW5kbGUudG9fcywKKyAgICAgICAgICAgICAgICAgICAgICAgICItLXBsYXRmb3JtPWd0ayIs
CisgICAgICAgICAgICAgICAgICAgICAgICAiLS1idW5kbGU9anNjIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICItLXN5c2xpYnM9YnVuZGxlLWFsbCIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAiLS1sZGQ9I3skbGRkfSIsCisgICAgICAgICAgICAgICAgICAgICAgICAiLS1uby1zdHJpcCIs
CisgICAgICAgICAgICAgICAgICAgICAgICAiLS1jb21wcmVzc2lvbj10YXIueHoiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgKCRidWlsZFR5cGUgPT0gInJlbGVhc2UiKSA/ICItLXJlbGVhc2Ui
IDogIi0tZGVidWciLAorICAgICAgICAgICAgICAgICAgICAgICAgIi0tZGVzdGluYXRpb249I3t0
bXBkaXJ9IgorICAgICAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICAgICAgICAgIGlmIG5v
dCAkbGRkLm5pbD8KKyAgICAgICAgICAgICAgICAgICAgICAgIGNtZGxpbmUgPDwgIi0tbGRkPSN7
JGxkZH0iCisgICAgICAgICAgICAgICAgICAgIGVuZAorICAgICAgICAgICAgICAgICAgICBteXN5
cyhjbWRsaW5lKQorICAgICAgICAgICAgICAgICAgICBhcmNoaXZlcyA9IERpci5nbG9iKCIje3Rt
cGRpcn0vKi50YXIueHoiKQorICAgICAgICAgICAgICAgICAgICBpZiBhcmNoaXZlcy5zaXplICE9
IDEKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlICJFeHBlY3RlZCBleGFjdGx5IG9uZSBl
bnRyeSBpbiB0bXBkaXIsIG5vdCAje2FyY2hpdmVzfSIKKyAgICAgICAgICAgICAgICAgICAgZW5k
CisgICAgICAgICAgICAgICAgICAgICMgTm90ZTogd2Ugb3ZlcndyaXRlICdqc2MnLiBUaGlzIG9i
dmlvdXNseSBjb25mbGljdHMgd2l0aAorICAgICAgICAgICAgICAgICAgICAjICFjb3B5Vk0gYnV0
LCB0aGVuIGdhaW4sIHNvIGRvZXMgJHJlbW90ZS4KKyAgICAgICAgICAgICAgICAgICAgbXlzeXMo
WyJ0YXIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1DIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICRqc2NQYXRoLmRpcm5hbWUudG9fcywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICIteGYiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJjaGl2ZXNbMF1dKQor
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVuZAogICAgICAgICB9CiAgICAgZW5kCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415396</attachid>
            <date>2020-12-04 01:56:14 -0800</date>
            <delta_ts>2020-12-04 05:19:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219485-20201204105611.patch</filename>
            <type>text/plain</type>
            <size>16714</size>
            <attacher name="Angelos Oikonomopoulos">angelos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMTA3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzZkNDNjNGM3ZWVhNjJlYWE0ZTkxNWIzZDE0ZmQzODcz
NTY1NDk3ZS4uZDI2ZmRiNmVkNjk2YjAzM2U2ZTg1NGYyMjc2N2YzMzdkYjAzMDZhZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3
IEBACisyMDIwLTEyLTAzICBBbmdlbG9zIE9pa29ub21vcG91bG9zICA8YW5nZWxvc0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFtKU0NdIEJ1bmRsZSBub24tbmF0aXZlIGxpYnMgaW4gcnVuLWpzYy1z
dHJlc3MtdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxOTQ4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIHJ1bi1qc2Mtc3RyZXNzLXRlc3RzIGFscmVhZHkgdHJpZXMgdG8gYnVuZGxlIGxpYnJhcnkg
ZGVwZW5kZW5jaWVzCisgICAgICAgIChvbiBsaW51eCkgd2hlbiB1c2luZyB0aGUgLS1yZW1vdGUg
ZnVuY3Rpb25hbGl0eTsgdGhpcyBlbnN1cmVzCisgICAgICAgIHRoYXQgd2UgZG9uJ3QgbmVlZCB0
byBkZXBlbmQgb24gdGhlIHJlbW90ZSBlbnZpcm9ubWVudCBleGFjdGx5CisgICAgICAgIG1hdGNo
aW5nIHRoZSBidWlsZCBlbnZpcm9ubWVudC4gSG93ZXZlciwgdGhpcyBicmVha3Mgd2hlbgorICAg
ICAgICBjcm9zcy1idWlsZGluZzsgcnVuLWpzYy1zdHJlc3MtdGVzdHMgdXNlcyBsZGQsIHdoaWNo
IHJlbGllcyBvbgorICAgICAgICBjb2RlIGV4ZWN1dGlvbiB0byBnZXQgdGhlIHNoYXJlZCBvYmpl
Y3QgcGF0aHMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBleHRlbmRzIGdlbmVyYXRlLWJ1bmRsZSB0
byBiZSBhYmxlIHRvIGhhbmRsZSB0aGUgb3V0cHV0CisgICAgICAgIGZyb20gYSBjcm9zcyBsZGQg
KHNwZWNpZmljYWxseSwgeGxkZCBmcm9tIGNyb3NzdG9vbC1ORykgYW5kCisgICAgICAgIGNoYW5n
ZXMgcnVuLWpzYy1zdHJlc3MtdGVzdHMgdG8gdXNlIGdlbmVyYXRlLWJ1bmRsZSBmb3IgYnVuZGxp
bmcKKyAgICAgICAgdGhlIGxpYnJhcmllcyBmb3IgdGhlIHJlbW90ZXMuCisKKyAgICAgICAgKiBT
Y3JpcHRzL2dlbmVyYXRlLWJ1bmRsZToKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0
Y29yZS10ZXN0czoKKyAgICAgICAgKHJ1bkpTQ1N0cmVzc1Rlc3RzKToKKyAgICAgICAgKiBTY3Jp
cHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzOgorCiAyMDIwLTExLTIwICBGcmVkZXJpYyBXYW5nICA8
ZndhbmdAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBNaWdyYXRlIFdlYktpdFRlc3RTZXJ2
ZXIgdG8gbGlic291cCAyLjQ4IEFQSQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9nZW5lcmF0
ZS1idW5kbGUgYi9Ub29scy9TY3JpcHRzL2dlbmVyYXRlLWJ1bmRsZQppbmRleCBlNDljNjQ1M2Q4
ODdmYWE4YjEyN2QzNGQ3ZDdjNDIyNjM5ODY5ZmFkLi4wODUwY2VjN2Y4MjQ3MmQ0MzAyMDU5ZDJh
MTU4MDFhZmVmOWZhNmZkIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL2dlbmVyYXRlLWJ1bmRs
ZQorKysgYi9Ub29scy9TY3JpcHRzL2dlbmVyYXRlLWJ1bmRsZQpAQCAtMjksOSArMjksMTEgQEAg
aW1wb3J0IGhhc2hsaWIKIGltcG9ydCBqc29uCiBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IG9zCitm
cm9tIHBhdGhsaWIgaW1wb3J0IFB1cmVQYXRoCiBpbXBvcnQgc2h1dGlsCiBpbXBvcnQgc3VicHJv
Y2VzcwogaW1wb3J0IHN5cworaW1wb3J0IHRhcmZpbGUKIGltcG9ydCB0ZW1wZmlsZQogaW1wb3J0
IHppcGZpbGUKIApAQCAtODYsOSArODgsMzggQEAgZmkKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dl
cihfX25hbWVfXykKIExPR19NRVNTQUdFID0gMjUKIAorY2xhc3MgQXJjaGl2ZXIob2JqZWN0KToK
KworICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmCisKKyAgICBk
ZWYgX19leGl0X18oc2VsZiwgdHlwZSwgdiwgdGIpOgorICAgICAgICByZXR1cm4gc2VsZi5fYXJj
aGl2ZS5jbG9zZSgpCisKK2NsYXNzIFRhckFyY2hpdmVyKEFyY2hpdmVyKToKKworICAgIGRlZiBf
X2luaXRfXyhzZWxmLCBwYXRoKToKKyAgICAgICAgc2VsZi5fYXJjaGl2ZSA9IHRhcmZpbGUub3Bl
bihwYXRoLCAndzp4eicpCisKKyAgICBkZWYgYWRkX2ZpbGUoc2VsZiwgc3lzdGVtX3BhdGgsIHpp
cF9wYXRoKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2FyY2hpdmUuYWRkKHN5c3RlbV9wYXRoLCB6
aXBfcGF0aCkKKworY2xhc3MgWmlwQXJjaGl2ZXIoQXJjaGl2ZXIpOgorCisgICAgZGVmIF9faW5p
dF9fKHNlbGYsIHBhdGgpOgorICAgICAgICBzZWxmLl9hcmNoaXZlID0gemlwZmlsZS5aaXBGaWxl
KHBhdGgsICd3JywgY29tcHJlc3Npb249emlwZmlsZS5aSVBfREVGTEFURUQpCisKKyAgICBkZWYg
YWRkX2ZpbGUoc2VsZiwgc3lzdGVtX3BhdGgsIHppcF9wYXRoKToKKyAgICAgICAgaWYgb3MucGF0
aC5pc2xpbmsoc3lzdGVtX3BhdGgpOgorICAgICAgICAgICAgc3ltbGlua196aXBfaW5mbyA9IHpp
cGZpbGUuWmlwSW5mbyh6aXBfcGF0aCkKKyAgICAgICAgICAgIHN5bWxpbmtfemlwX2luZm8uY3Jl
YXRlX3N5c3RlbSA9IDMgIyBVbml4IChmb3Igc3ltbGluayBzdXBwb3J0KQorICAgICAgICAgICAg
c3ltbGlua196aXBfaW5mby5leHRlcm5hbF9hdHRyID0gMHhBMUVEMDAwMCAjIFppcCBzb2Z0bGlu
ayBtYWdpYyBudW1iZXIKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9hcmNoaXZlLndyaXRlc3Ry
KHN5bWxpbmtfemlwX2luZm8sIG9zLnJlYWRsaW5rKHN5c3RlbV9wYXRoKSkKKyAgICAgICAgcmV0
dXJuIHNlbGYuX2FyY2hpdmUud3JpdGUoc3lzdGVtX3BhdGgsIHppcF9wYXRoKQorCiBjbGFzcyBC
dW5kbGVDcmVhdG9yKG9iamVjdCk6CiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgY29uZmlndXJh
dGlvbiwgcGxhdGZvcm0sIGJ1bmRsZV90eXBlLCBzeXNsaWJzLCBzaG91bGRfc3RyaXBfb2JqZWN0
cywgY29tcHJlc3Npb25fdHlwZSwgZGVzdGluYXRpb24gPSBOb25lLCByZXZpc2lvbiA9IE5vbmUs
IGJ1aWxkZXJfbmFtZSA9IE5vbmUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjb25maWd1cmF0
aW9uLCBwbGF0Zm9ybSwgYnVuZGxlX3R5cGUsIHN5c2xpYnMsIGxkZCwgc2hvdWxkX3N0cmlwX29i
amVjdHMsIGNvbXByZXNzaW9uX3R5cGUsIGRlc3RpbmF0aW9uID0gTm9uZSwgcmV2aXNpb24gPSBO
b25lLCBidWlsZGVyX25hbWUgPSBOb25lKToKICAgICAgICAgc2VsZi5fY29uZmlndXJhdGlvbiA9
IGNvbmZpZ3VyYXRpb24KICAgICAgICAgc2VsZi5fcGxhdGZvcm0gPSBwbGF0Zm9ybS5sb3dlcigp
CiAgICAgICAgIHNlbGYuX3JldmlzaW9uID0gcmV2aXNpb24KQEAgLTk2LDYgKzEyNyw3IEBAIGNs
YXNzIEJ1bmRsZUNyZWF0b3Iob2JqZWN0KToKICAgICAgICAgc2VsZi5fYnVuZGxlX3R5cGUgPSBi
dW5kbGVfdHlwZQogICAgICAgICBzZWxmLl9idWlsZGVybmFtZSA9IGJ1aWxkZXJfbmFtZQogICAg
ICAgICBzZWxmLl9zeXNsaWJzID0gc3lzbGlicworICAgICAgICBzZWxmLl9sZGQgPSBsZGQKICAg
ICAgICAgc2VsZi5fc2hvdWxkX3N0cmlwX29iamVjdHMgPSBzaG91bGRfc3RyaXBfb2JqZWN0cwog
ICAgICAgICBzZWxmLl9jb21wcmVzc2lvbl90eXBlID0gY29tcHJlc3Npb25fdHlwZQogICAgICAg
ICBzZWxmLl90bXBkaXIgPSBOb25lCkBAIC0xMjUsMTEgKzE1NywyNiBAQCBjbGFzcyBCdW5kbGVD
cmVhdG9yKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBjb21tYW5kX3Byb2Nlc3MucmV0dXJuY29k
ZSwgc3Rkb3V0LCBzdGRlcnIKIAogCi0gICAgZGVmIF9sZGRfZ2V0X2xpYnNfYW5kX2ludGVycHJl
dGVyKHNlbGYsIG9iamVjdCk6CisgICAgZGVmIF9nZXRfaW50ZXJwcmV0ZXJfb2JqbmFtZShzZWxm
LCBvYmplY3QpOgorICAgICAgICAjIE5vdGU6IHdlIHVzZSBwYXRjaGVsZiB0byBnZXQgdGhlIG9i
amVjdCBuYW1lIChub3QgdGhlIHBhdGghKQorICAgICAgICAjIG9mIHRoZSBpbnRlcnByZXRlciBi
ZWNhdXNlIHRoaXMgd29ya3MgcmVnYXJkbGVzcyBvZiB0aGUKKyAgICAgICAgIyBhcmNoaXRlY3R1
cmUgb2YgdGhlIEVMRiBmaWxlLgorICAgICAgICByZXRjb2RlLCBzdGRvdXQsIHN0ZGVyciA9IHNl
bGYuX3J1bl9jbWRfYW5kX2dldF9vdXRwdXQoWydwYXRjaGVsZicsICctLXByaW50LWludGVycHJl
dGVyJywgb2JqZWN0XSkKKyAgICAgICAgaWYgcmV0Y29kZSAhPSAwOgorICAgICAgICAgICAgX2xv
Zy5kZWJ1ZygicGF0Y2hlbGYgc3Rkb3V0OlxuJXNcblBhdGNoZWxmIHN0ZGVycjpcbiVzIiAlIChz
dGRvdXQsIHN0ZGVycikpCisgICAgICAgICAgICBpZiAnY2Fubm90IGZpbmQgc2VjdGlvbicgaW4g
c3Rkb3V0OgorICAgICAgICAgICAgICAgICMgVGhpcyBpcyBmaW5lOyB3ZSBvbmx5IGV4cGVjdCBh
biBpbnRlcnByZXRlciBpbiB0aGUgbWFpbiBiaW5hcnkuCisgICAgICAgICAgICAgICAgcmV0dXJu
IE5vbmUKKyAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignVGhlIHBhdGNoZWxmIGNvbW1h
bmQgcmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzIGZvciBvYmplY3QgJXMnICUgb2JqZWN0KQorICAg
ICAgICBpbnRlcnByZXRlcl9wYXRoID0gUHVyZVBhdGgoc3Rkb3V0LnN0cmlwKCkpCisgICAgICAg
IHJldHVybiBpbnRlcnByZXRlcl9wYXRoLm5hbWUKKworICAgIGRlZiBfZ2V0X2xpYnNfYW5kX2lu
dGVycHJldGVyKHNlbGYsIG9iamVjdCk6CiAgICAgICAgIGludGVycHJldGVyID0gTm9uZQotICAg
ICAgICByZXRjb2RlLCBzdGRvdXQsIHN0ZGVyciA9IHNlbGYuX3J1bl9jbWRfYW5kX2dldF9vdXRw
dXQoWydsZGQnLCBvYmplY3RdKQorICAgICAgICByZXRjb2RlLCBzdGRvdXQsIHN0ZGVyciA9IHNl
bGYuX3J1bl9jbWRfYW5kX2dldF9vdXRwdXQoW3NlbGYuX2xkZCwgb2JqZWN0XSkKKyAgICAgICAg
X2xvZy5kZWJ1ZygibGRkIHN0ZG91dDpcbiVzIiAlIHN0ZG91dCkKICAgICAgICAgaWYgcmV0Y29k
ZSAhPSAwOgotICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdUaGUgbGRkIGNvbW1hbmQg
cmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzIGZvciBvYmplY3QgJXMnICUgb2JqZWN0KQorICAgICAg
ICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdUaGUgJXMgY29tbWFuZCByZXR1cm5lZCBub24temVy
byBzdGF0dXMgZm9yIG9iamVjdCAlcycgJSAoc2VsZi5fbGRkLCBvYmplY3QpKQogICAgICAgICBs
aWJzID0gW10KICAgICAgICAgZm9yIGxpbmUgaW4gc3Rkb3V0LnNwbGl0bGluZXMoKToKICAgICAg
ICAgICAgIGxpbmUgPSBsaW5lLnN0cmlwKCkKQEAgLTE0NCwxMSArMTkxLDI0IEBAIGNsYXNzIEJ1
bmRsZUNyZWF0b3Iob2JqZWN0KToKICAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5zcGxpdCgn
ICcpWzBdLnN0cmlwKCkKICAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShsaW5lKToK
ICAgICAgICAgICAgICAgICAgICAgaW50ZXJwcmV0ZXIgPSBsaW5lCisgICAgICAgIGlmIGludGVy
cHJldGVyIGlzIE5vbmU6CisgICAgICAgICAgICAjIFRoaXMgaXMgdGhlIGNhc2UgZm9yIG5vbi1u
YXRpdmUgYmluYXJpZXMuIEZvciB0aG9zZSwgd2UKKyAgICAgICAgICAgICMgY2FuIHVzZSBhIGNy
b3NzLWxkZCAoeGxkZCksIGJ1dCB0aGVuIHRoZSBpbnRlcnByZXRlcgorICAgICAgICAgICAgIyBs
b29rcyBsaWtlIGFueSBvdGhlciBzaGFyZWQgb2JqZWN0IGluIHRoZSBvdXRwdXQgb2YKKyAgICAg
ICAgICAgICMgbGRkLiBUcnkgdG8gaWRlbnRpZnkgaXQgYnkgbG9va2luZyBhdCB0aGUgb2JqZWN0
IG5hbWUKKyAgICAgICAgICAgICMgZnJvbSB0aGUgaW50ZXJwcmV0ZXIgc3RyaW5nLgorICAgICAg
ICAgICAgaW50ZXJwcmV0ZXJfb2JqbmFtZSA9IHNlbGYuX2dldF9pbnRlcnByZXRlcl9vYmpuYW1l
KG9iamVjdCkKKyAgICAgICAgICAgIGZvciBsaWIgaW4gbGliczoKKyAgICAgICAgICAgICAgICBp
ZiBQdXJlUGF0aChsaWIpLm5hbWUgPT0gaW50ZXJwcmV0ZXJfb2JqbmFtZToKKyAgICAgICAgICAg
ICAgICAgICAgaW50ZXJwcmV0ZXIgPSBsaWIKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAg
ICAgICAgICAgICMgSWYgd2UgZm91bmQgYW4gaW50ZXJwcmV0ZXIsIHJlbW92ZSBpdCBmcm9tIHRo
ZSBsaWJzLgorICAgICAgICAgICAgbGlicyA9IFtsaWIgZm9yIGxpYiBpbiBsaWJzIGlmIGxpYiAh
PSBpbnRlcnByZXRlcl0KICAgICAgICAgcmV0dXJuIGxpYnMsIGludGVycHJldGVyCiAKIAogICAg
IGRlZiBfbGRkX3JlY3Vyc2l2ZV9nZXRfbGlic19hbmRfaW50ZXJwcmV0ZXIoc2VsZiwgb2JqZWN0
LCBhbHJlYWR5X2NoZWNrZWRfbGlicyA9IFtdKToKLSAgICAgICAgbGlicywgaW50ZXJwcmV0ZXIg
PSBzZWxmLl9sZGRfZ2V0X2xpYnNfYW5kX2ludGVycHJldGVyKG9iamVjdCkKKyAgICAgICAgbGli
cywgaW50ZXJwcmV0ZXIgPSBzZWxmLl9nZXRfbGlic19hbmRfaW50ZXJwcmV0ZXIob2JqZWN0KQog
ICAgICAgICBpZiBsaWJzOgogICAgICAgICAgICAgZm9yIGxpYiBpbiBsaWJzOgogICAgICAgICAg
ICAgICAgIGlmIGxpYiBpbiBhbHJlYWR5X2NoZWNrZWRfbGliczoKQEAgLTI5NiwxMCArMzU2LDE0
IEBAIGNsYXNzIEJ1bmRsZUNyZWF0b3Iob2JqZWN0KToKICAgICAgICAgZm9yIGJ1bmRsZV9iaW5h
cnkgaW4gc2VsZi5fYnVuZGxlX2JpbmFyaWVzOgogICAgICAgICAgICAgc2VsZi5fY3JlYXRlX2J1
bmRsZShidW5kbGVfYmluYXJ5KQogICAgICAgICBzZWxmLl9nZW5lcmF0ZV9yZWFkbWUoKQorCiAg
ICAgICAgIGlmIHNlbGYuX2NvbXByZXNzaW9uX3R5cGUgPT0gJ3ppcCc6Ci0gICAgICAgICAgICBz
ZWxmLl9jcmVhdGVfemlwKCkKKyAgICAgICAgICAgIGFyY2hpdmVyID0gWmlwQXJjaGl2ZXIoc2Vs
Zi5fYnVuZGxlX2ZpbGVfcGF0aCkKKyAgICAgICAgZWxpZiBzZWxmLl9jb21wcmVzc2lvbl90eXBl
ID09ICd0YXIueHonOgorICAgICAgICAgICAgYXJjaGl2ZXIgPSBUYXJBcmNoaXZlcihzZWxmLl9i
dW5kbGVfZmlsZV9wYXRoKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmFpc2UgTm90SW1w
bGVtZW50ZWRFcnJvcignU3VwcG9ydCBmb3IgY29tcHJlc3Npb24gdHlwZSAlcyBub3QgaW1wbGVt
ZW50ZWQnICUgc2VsZi5fY29tcHJlc3Npb25fdHlwZSkKKyAgICAgICAgc2VsZi5fY3JlYXRlX2Fy
Y2hpdmUoYXJjaGl2ZXIpCiAgICAgICAgIHNlbGYuX3JlbW92ZV90ZW1wZGlyKCkKICAgICAgICAg
aWYgbm90IG9zLnBhdGguaXNmaWxlKHNlbGYuX2J1bmRsZV9maWxlX3BhdGgpOgogICAgICAgICAg
ICAgcmFpc2UgUnVudGltZUVycm9yKCdVbmFibGUgdG8gY3JlYXRlIHRoZSBmaWxlICVzJyAlIHNl
bGYuX2J1bmRsZV9maWxlX3BhdGgpCkBAIC0zMzIsMjAgKzM5NiwxNCBAQCBjbGFzcyBCdW5kbGVD
cmVhdG9yKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBidW5kbGVfbGliCiAKIAotICAgIGRlZiBf
Y3JlYXRlX3ppcChzZWxmKToKLSAgICAgICAgX2xvZy5pbmZvKCdDcmVhdGUgWklQIGZpbGUnKQot
ICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShzZWxmLl9idW5kbGVfZmlsZV9wYXRoLCAndycs
IGNvbXByZXNzaW9uPXppcGZpbGUuWklQX0RFRkxBVEVEKSBhcyB6aXBIYW5kbGU6CisgICAgZGVm
IF9jcmVhdGVfYXJjaGl2ZShzZWxmLCBhcmNoaXZlcik6CisgICAgICAgIF9sb2cuaW5mbygnQ3Jl
YXRlIGFyY2hpdmUnKQorICAgICAgICB3aXRoIGFyY2hpdmVyOgogICAgICAgICAgICAgZm9yIGRp
cm5hbWUsIHN1YmRpcnMsIGZpbGVzIGluIG9zLndhbGsoc2VsZi5fdG1wZGlyKToKICAgICAgICAg
ICAgICAgICBmb3IgZmlsZW5hbWUgaW4gZmlsZXM6CiAgICAgICAgICAgICAgICAgICAgIHN5c3Rl
bV9maWxlX3BhdGggPSBvcy5wYXRoLmpvaW4oZGlybmFtZSwgZmlsZW5hbWUpCiAgICAgICAgICAg
ICAgICAgICAgIHppcF9maWxlX3BhdGggPSBzeXN0ZW1fZmlsZV9wYXRoLnJlcGxhY2Uoc2VsZi5f
dG1wZGlyLCAnJywgMSkubHN0cmlwKCcvJykKLSAgICAgICAgICAgICAgICAgICAgaWYgb3MucGF0
aC5pc2xpbmsoc3lzdGVtX2ZpbGVfcGF0aCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzeW1s
aW5rX3ppcF9pbmZvID0gemlwZmlsZS5aaXBJbmZvKHppcF9maWxlX3BhdGgpCi0gICAgICAgICAg
ICAgICAgICAgICAgICBzeW1saW5rX3ppcF9pbmZvLmNyZWF0ZV9zeXN0ZW0gPSAzICMgVW5peCAo
Zm9yIHN5bWxpbmsgc3VwcG9ydCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHN5bWxpbmtfemlw
X2luZm8uZXh0ZXJuYWxfYXR0ciA9IDB4QTFFRDAwMDAgIyBaaXAgc29mdGxpbmsgbWFnaWMgbnVt
YmVyCi0gICAgICAgICAgICAgICAgICAgICAgICB6aXBIYW5kbGUud3JpdGVzdHIoc3ltbGlua196
aXBfaW5mbywgb3MucmVhZGxpbmsoc3lzdGVtX2ZpbGVfcGF0aCkpCi0gICAgICAgICAgICAgICAg
ICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICB6aXBIYW5kbGUud3JpdGUoc3lzdGVt
X2ZpbGVfcGF0aCwgemlwX2ZpbGVfcGF0aCkKKyAgICAgICAgICAgICAgICAgICAgYXJjaGl2ZXIu
YWRkX2ZpbGUoc3lzdGVtX2ZpbGVfcGF0aCwgemlwX2ZpbGVfcGF0aCkKIAogCiAgICAgZGVmIF9n
ZXRfc3lzdGVtX3BhY2thZ2VfbmFtZShzZWxmLCBvYmplY3QpOgpAQCAtNDU2LDYgKzUxNCw4IEBA
IGNsYXNzIEJ1bmRsZUNyZWF0b3Iob2JqZWN0KToKICAgICAgICAgICAgICMgYW5kIGV2ZXJ5dGhp
bmcgd2lsbCBiZSBleGFtaW5lZCBhbmQgYnVuZGxlZCBhcyB3ZSBkb24ndCBhY2NvdW50IGZvciBz
eXN0ZW0gcGFja2FnZXMgaW4gdGhhdCBjYXNlLgogICAgICAgICAgICAgaWYgbm90IHN5c3RlbV9w
YWNrYWdlOgogICAgICAgICAgICAgICAgIGxpYnJhcmllcywgaW50ZXJwcmV0ZXIgPSBzZWxmLl9s
ZGRfcmVjdXJzaXZlX2dldF9saWJzX2FuZF9pbnRlcnByZXRlcihvYmplY3QpCisgICAgICAgICAg
ICAgICAgaWYgaW50ZXJwcmV0ZXIgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2Ug
UnVudGltZUVycm9yKCJDb3VsZCBub3QgZGV0ZXJtaW5lIGludGVycHJldGVyIGZvciBiaW5hcnkg
JXMiICUgb2JqZWN0KQogICAgICAgICAgICAgICAgIGlmIGNvcGllZF9pbnRlcnByZXRlciBpcyBO
b25lOgogICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLl9zeXNsaWJzID09ICdidW5kbGUtYWxs
JzoKICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2NvcHlfYW5kX3JlbW92ZV9ycGF0aChp
bnRlcnByZXRlciwgdHlwZT0naW50ZXJwcmV0ZXInKQpAQCAtNjE2LDYgKzY3Niw3IEBAIGRlZiBt
YWluKCk6CiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1zeXNsaWJzJywgZGVzdD0nc3lzbGli
cycsIGNob2ljZXM9WydidW5kbGUtYWxsJywgJ2dlbmVyYXRlLWluc3RhbGwtc2NyaXB0J10sIGRl
ZmF1bHQ9J2dlbmVyYXRlLWluc3RhbGwtc2NyaXB0JywKICAgICAgICAgICAgICAgICAgICAgICAg
IGhlbHA9J0lmIHZhbHVlIGlzICJidW5kbGUtYWxsIiwgdGhlIGJ1bmRsZSB3aWxsIGluY2x1ZGUg
X2FsbF8gdGhlIHN5c3RlbSBsaWJyYXJpZXMgaW5zdGVhZCBvZiBhIGluc3RhbGwtZGVwZW5kZW5j
aWVzIHNjcmlwdC5cbicKICAgICAgICAgICAgICAgICAgICAgICAgICdJZiB2YWx1ZSBpcyAiZ2Vu
ZXJhdGUtaW5zdGFsbC1zY3JpcHQiLCB0aGUgc3lzdGVtIGxpYnJhcmllcyB3aWxsIG5vdCBiZSBi
dW5kbGVkIGFuZCBhIGluc3RhbGwtZGVwZW5kZW5jaWVzIHNjcmlwdCB3aWxsIGJlIGdlbmVyYXRl
ZCBmb3IgdGhpcyBkaXN0cmlidXRpb24uJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWxk
ZCcsIGRlc3Q9J2xkZCcsIGRlZmF1bHQ9J2xkZCcsIGhlbHA9J1VzZSBhbHRlcm5hdGl2ZSBsZGQg
KHVzZWZ1bCBmb3Igbm9uLW5hdGl2ZSBiaW5hcmllcycpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVu
dCgnLS1jb21wcmVzc2lvbicsIGRlc3Q9J2NvbXByZXNzaW9uJywgY2hvaWNlcz1bJ3ppcCcsICd0
YXIueHonXSwgZGVmYXVsdD0nemlwJykKICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWRlc3Rp
bmF0aW9uJywgYWN0aW9uPSdzdG9yZScsIGRlc3Q9J2Rlc3RpbmF0aW9uJywKICAgICAgICAgICAg
ICAgICAgICAgICAgIGhlbHA9J09wdGlvbmFsIHBhdGggd2VyZSB0byBzdG9yZSB0aGUgYnVuZGxl
JykKQEAgLTYzMyw3ICs2OTQsNyBAQCBkZWYgbWFpbigpOgogICAgICAgICBqaGJ1aWxkdXRpbHMu
ZW50ZXJfamhidWlsZF9lbnZpcm9ubWVudF9pZl9hdmFpbGFibGUob3B0aW9ucy5wbGF0Zm9ybSkK
IAogICAgIGNvbmZpZ3VyZV9sb2dnaW5nKG9wdGlvbnMubG9nX2xldmVsKQotICAgIGJ1bmRsZV9j
cmVhdG9yID0gQnVuZGxlQ3JlYXRvcihvcHRpb25zLmNvbmZpZ3VyYXRpb24sIG9wdGlvbnMucGxh
dGZvcm0sIG9wdGlvbnMuYnVuZGxlX2JpbmFyeSwgb3B0aW9ucy5zeXNsaWJzLAorICAgIGJ1bmRs
ZV9jcmVhdG9yID0gQnVuZGxlQ3JlYXRvcihvcHRpb25zLmNvbmZpZ3VyYXRpb24sIG9wdGlvbnMu
cGxhdGZvcm0sIG9wdGlvbnMuYnVuZGxlX2JpbmFyeSwgb3B0aW9ucy5zeXNsaWJzLCBvcHRpb25z
LmxkZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90IG9wdGlvbnMubm9f
c3RyaXAsIG9wdGlvbnMuY29tcHJlc3Npb24sIG9wdGlvbnMuZGVzdGluYXRpb24sIG9wdGlvbnMu
d2Via2l0X3ZlcnNpb24sIG9wdGlvbnMuYnVpbGRlcl9uYW1lKQogICAgIGJ1bmRsZV9maWxlX3Bh
dGggPSBidW5kbGVfY3JlYXRvci5jcmVhdGUoKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRj
b3JlLXRlc3RzCmluZGV4IGI4MjNmYjljMWI2OWUyY2YyY2M1MDFlOGE4NTQ1NWU4OTg2MjQ5MzIu
Ljk4Mzc2Y2NiMzIzMDQzN2QyNjFhMWE0MWEyNDhlNTZlODVmMGFhNjggMTAwNzU1Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMv
cnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCkBAIC0xMDYsNiArMTA2LDcgQEAgbXkgJGNyZWF0ZVRh
cmJhbGwgPSAwOwogbXkgJHJlbW90ZUhvc3QgPSAwOwogbXkgJG1vZGVsID0gMDsKIG15ICRhcmNo
cyA9IHVuZGVmOworbXkgJGxkZCA9IHVuZGVmOwogbXkgJHZlcnNpb247CiBteSAkdmVyc2lvbk5h
bWU7CiBteSAkc2RrOwpAQCAtMjM0LDYgKzIzNSw3IEBAIG15ICR1c2FnZSA9IDw8RU9GOwogVXNh
Z2U6ICRwcm9ncmFtTmFtZSBbb3B0aW9uc10gW29wdGlvbnMgdG8gcGFzcyB0byBidWlsZCBzeXN0
ZW1dCiAgIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgIFNob3cgdGhpcyBoZWxwIG1lc3Nh
Z2UKICAgLS1hcmNoaXRlY3R1cmUgICAgICAgICAgICAgICAgQXR0ZW1wdCB0byBvdmVycmlkZSB0
aGUgbmF0aXZlIGFyY2hpdGVjdHVyZSBvZiBhIG1hY2hpbmUuCisgIC0tbGRkICAgICAgICAgICAg
ICAgICAgICAgICAgIFVzZSBhbHRlcm5hdGUgbGRkCiAgIC0tcm9vdD0gICAgICAgICAgICAgICAg
ICAgICAgIFBhdGggdG8gcHJlLWJ1aWx0IHJvb3QgY29udGFpbmluZyBqc2MKICAgLS1bbm8tXWZ0
bC1qaXQgICAgICAgICAgICAgICAgVHVybiB0aGUgRlRMIEpJVCBvbiBvciBvZmYKICAgLS1bbm8t
XWJ1aWxkICAgICAgICAgICAgICAgICAgQ2hlY2sgKG9yIGRvbid0IGNoZWNrKSB0byBzZWUgaWYg
dGhlIGpzYyBidWlsZCBpcyB1cC10by1kYXRlIChkZWZhdWx0OiAkYnVpbGRKU0NEZWZhdWx0KQpA
QCAtMzMxLDYgKzMzMyw3IEBAIEdldE9wdGlvbnMoCiAgICAgJ3JlbW90ZT1zJyA9PiBcJHJlbW90
ZUhvc3QsCiAgICAgJ21vZGVsPXMnID0+IFwkbW9kZWwsCiAgICAgJ2FyY2hpdGVjdHVyZT1zJyA9
PiBcJGFyY2hzLAorICAgICdsZGQ9cycgPT4gXCRsZGQsCiAgICAgJ3ZlcnNpb249cycgPT4gXCR2
ZXJzaW9uLAogICAgICd2ZXJzaW9uLW5hbWU9cycgPT4gXCR2ZXJzaW9uTmFtZSwKICAgICAnc2Rr
PXMnID0+IFwkc2RrLApAQCAtNzYxLDYgKzc2NCwxMCBAQCBzdWIgcnVuSlNDU3RyZXNzVGVzdHMK
ICAgICAgICAgcHVzaChAanNjU3RyZXNzRHJpdmVyQ21kLCAkYXJjaHMpOwogICAgIH0KIAorICAg
IGlmIChkZWZpbmVkKCRsZGQpKSB7CisgICAgICAgIHB1c2goQGpzY1N0cmVzc0RyaXZlckNtZCwg
Ii0tbGRkIik7CisgICAgICAgIHB1c2goQGpzY1N0cmVzc0RyaXZlckNtZCwgJGxkZCk7CisgICAg
fQogICAgIHB1c2goQGpzY1N0cmVzc0RyaXZlckNtZCwgQHRlc3RMaXN0KTsKIAogICAgIGlmIChp
c1dpbmRvd3MoKSAmJiAhaXNDeWd3aW4oKSkgewpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9y
dW4tanNjLXN0cmVzcy10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMK
aW5kZXggYWM5NGJiODA2MjRlNzk2ZGE5NGRhYjRmMDU2MDYwNmM5MDNjYjQ3MS4uMjU4NTVlOTAz
Yjg4M2U2N2UxZjAxMTM4M2VmZTZjOGVhMGMwOTJiNSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0
cy9ydW4tanNjLXN0cmVzcy10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNz
LXRlc3RzCkBAIC0xMzIsNiArMTMyLDcgQEAgJG1vZGUgPSAiZnVsbCIKICRidWlsZFR5cGUgPSAi
cmVsZWFzZSIKICRmb3JjZUNvbGxlY3RDb250aW51b3VzbHkgPSBmYWxzZQogJHJlcG9ydEV4ZWN1
dGlvblRpbWUgPSBmYWxzZQorJGxkZCA9IG5pbAogCiBkZWYgdXNhZ2UKICAgICBwdXRzICJydW4t
anNjLXN0cmVzcy10ZXN0cyAtaiA8c2hlbGwgcGF0aD4gPGNvbGxlY3Rpb25zIHBhdGg+IFs8Y29s
bGVjdGlvbnMgcGF0aD4gLi4uXSIKQEAgLTE1MSw2ICsxNTIsNyBAQCBkZWYgdXNhZ2UKICAgICBw
dXRzICItLWFyY2ggICAgICAgICAgICAgICAgICAgICAgU3BlY2lmeSBhcmNoaXRlY3R1cmUgaW5z
dGVhZCBvZiBkZXRlcm1pbmluZyBmcm9tIEphdmFTY3JpcHRDb3JlIGJ1aWxkLiIKICAgICBwdXRz
ICItLWZvcmNlLWFyY2hpdGVjdHVyZSAgICAgICAgT3ZlcnJpZGUgdGhlIGFyY2hpdGVjdHVyZSB0
byBydW4gdGVzdHMgd2l0aC4iCiAgICAgcHV0cyAiICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGUuZy4geDg2LCB4ODZfNjQsIGFybS4iCisgICAgcHV0cyAiLS1sZGQgICAgICAgICAgICAgICAg
ICAgICAgIFVzZSBhbHRlcm5hdGUgbGRkIgogICAgIHB1dHMgIi0tb3MgICAgICAgICAgICAgICAg
ICAgICAgICBTcGVjaWZ5IG9zIGluc3RlYWQgb2YgZGV0ZXJtaW5pbmcgZnJvbSBKYXZhU2NyaXB0
Q29yZSBidWlsZC4iCiAgICAgcHV0cyAiICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuZy4g
ZGFyd2luLCBsaW51eCAmIHdpbmRvd3MuIgogICAgIHB1dHMgIi0tc2hlbGwtcnVubmVyICAgICAg
ICAgICAgICBVc2VzIHRoZSBzaGVsbC1iYXNlZCB0ZXN0IHJ1bm5lciBpbnN0ZWFkIG9mIHRoZSBk
ZWZhdWx0IG1ha2UtYmFzZWQgcnVubmVyLiIKQEAgLTE5Miw2ICsxOTQsNyBAQCBHZXRvcHRMb25n
Lm5ldyhbJy0taGVscCcsICctaCcsIEdldG9wdExvbmc6Ok5PX0FSR1VNRU5UXSwKICAgICAgICAg
ICAgICAgIFsnLS1mb3JjZS12bS1jb3B5JywgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdLAogICAg
ICAgICAgICAgICAgWyctLWFyY2gnLCBHZXRvcHRMb25nOjpSRVFVSVJFRF9BUkdVTUVOVF0sCiAg
ICAgICAgICAgICAgICBbJy0tZm9yY2UtYXJjaGl0ZWN0dXJlJywgR2V0b3B0TG9uZzo6UkVRVUlS
RURfQVJHVU1FTlRdLAorICAgICAgICAgICAgICAgWyctLWxkZCcsIEdldG9wdExvbmc6OlJFUVVJ
UkVEX0FSR1VNRU5UXSwKICAgICAgICAgICAgICAgIFsnLS1vcycsIEdldG9wdExvbmc6OlJFUVVJ
UkVEX0FSR1VNRU5UXSwKICAgICAgICAgICAgICAgIFsnLS1zaGVsbC1ydW5uZXInLCBHZXRvcHRM
b25nOjpOT19BUkdVTUVOVF0sCiAgICAgICAgICAgICAgICBbJy0tbWFrZS1ydW5uZXInLCBHZXRv
cHRMb25nOjpOT19BUkdVTUVOVF0sCkBAIC0yNjUsNiArMjY4LDggQEAgR2V0b3B0TG9uZy5uZXco
WyctLWhlbHAnLCAnLWgnLCBHZXRvcHRMb25nOjpOT19BUkdVTUVOVF0sCiAgICAgd2hlbiAnLS1m
b3JjZS1hcmNoaXRlY3R1cmUnCiAgICAgICAgICRhcmNoaXRlY3R1cmUgPSBhcmcgdW5sZXNzICRh
cmNoaXRlY3R1cmUKICAgICAgICAgJGZvcmNlQXJjaGl0ZWN0dXJlID0gYXJnCisgICAgd2hlbiAn
LS1sZGQnCisgICAgICAgICRsZGQgPSBhcmcKICAgICB3aGVuICctLW9zJwogICAgICAgICAkaG9z
dE9TID0gYXJnCiAgICAgd2hlbiAnLS1tb2RlbCcKQEAgLTE4NTgsNyArMTg2Myw3IEBAIGRlZiBw
cmVwYXJlQnVuZGxlCiAgICAgICAgICAgICBpZiAkY29weVZNCiAgICAgICAgICAgICAgICAgRmls
ZVV0aWxzLmNwX3Igc291cmNlLCBkZXN0aW5hdGlvbgogICAgICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgICAgIGJlZ2luIAorICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAg
ICAgIEZpbGVVdGlscy5sbl9zIHNvdXJjZSwgZGVzdGluYXRpb24KICAgICAgICAgICAgICAgICBy
ZXNjdWUgRXhjZXB0aW9uCiAgICAgICAgICAgICAgICAgICAgICRzdGRlcnIucHV0cyAiV2Fybmlu
ZzogdW5hYmxlIHRvIGNyZWF0ZSBzb2Z0IGxpbmssIHRyeWluZyB0byBjb3B5LiIKQEAgLTE4Njcs
MTUgKzE4NzIsMzggQEAgZGVmIHByZXBhcmVCdW5kbGUKICAgICAgICAgICAgIGVuZAogCiAgICAg
ICAgICAgICBpZiAkcmVtb3RlIGFuZCAkaG9zdE9TID09ICJsaW51eCIKLSAgICAgICAgICAgICAg
ICBiZWdpbgotICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMgPSBgbGRkICN7c291cmNl
fWAKLSAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzLnNwbGl0KC9cbi8pLmVhY2ggewot
ICAgICAgICAgICAgICAgICAgICAgICAgfCBkZXBlbmRlbmN5IHwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIEZpbGVVdGlscy5jcF9yICQmLCAkanNjUGF0aC5kaXJuYW1lIGlmIGRlcGVuZGVuY3kg
PX4gLyN7V0VCS0lUX1BBVEh9W14gXSovCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICByZXNjdWUKLSAgICAgICAgICAgICAgICAgICAgJHN0ZGVyci5wdXRzICJXYXJuaW5n
OiB1bmFibGUgdG8gZGV0ZXJtaW5lIG9yIGNvcHkgbGlicmFyeSBkZXBlbmRuZWNpZXMgb2YgSlND
LiIKLSAgICAgICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICAgICBnZW5lcmF0ZV9idW5kbGUg
PSAoUGF0aG5hbWUubmV3KFRISVNfU0NSSVBUX1BBVEgpLmRpcm5hbWUgKyAnZ2VuZXJhdGUtYnVu
ZGxlJykucmVhbHBhdGgKKyAgICAgICAgICAgICAgICBEaXIubWt0bXBkaXIgeworICAgICAgICAg
ICAgICAgICAgICB8IHRtcGRpciB8CisgICAgICAgICAgICAgICAgICAgICMgR2VuZXJhdGUgYnVu
ZGxlIGluIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSBzbyB0aGF0CisgICAgICAgICAgICAgICAgICAg
ICMgd2UgY2FuIHNhZmVseSBwaWNrIGl0IHVwIHJlZ2FyZGxlc3Mgb2YgaXRzIG5hbWUKKyAgICAg
ICAgICAgICAgICAgICAgIyAoaXQncyB0aGUgb25seSB6aXAgZmlsZSB0aGVyZSkuCisgICAgICAg
ICAgICAgICAgICAgIGNtZGxpbmUgPSBbCisgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0
ZV9idW5kbGUudG9fcywKKyAgICAgICAgICAgICAgICAgICAgICAgICItLXBsYXRmb3JtPWd0ayIs
CisgICAgICAgICAgICAgICAgICAgICAgICAiLS1idW5kbGU9anNjIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICItLXN5c2xpYnM9YnVuZGxlLWFsbCIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAiLS1uby1zdHJpcCIsCisgICAgICAgICAgICAgICAgICAgICAgICAiLS1jb21wcmVzc2lvbj10
YXIueHoiLAorICAgICAgICAgICAgICAgICAgICAgICAgKCRidWlsZFR5cGUgPT0gInJlbGVhc2Ui
KSA/ICItLXJlbGVhc2UiIDogIi0tZGVidWciLAorICAgICAgICAgICAgICAgICAgICAgICAgIi0t
ZGVzdGluYXRpb249I3t0bXBkaXJ9IgorICAgICAgICAgICAgICAgICAgICBdCisgICAgICAgICAg
ICAgICAgICAgIGlmIG5vdCAkbGRkLm5pbD8KKyAgICAgICAgICAgICAgICAgICAgICAgIGNtZGxp
bmUgPDwgIi0tbGRkPSN7JGxkZH0iCisgICAgICAgICAgICAgICAgICAgIGVuZAorICAgICAgICAg
ICAgICAgICAgICBteXN5cyhjbWRsaW5lKQorICAgICAgICAgICAgICAgICAgICBhcmNoaXZlcyA9
IERpci5nbG9iKCIje3RtcGRpcn0vKi50YXIueHoiKQorICAgICAgICAgICAgICAgICAgICBpZiBh
cmNoaXZlcy5zaXplICE9IDEKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlICJFeHBlY3Rl
ZCBleGFjdGx5IG9uZSBlbnRyeSBpbiB0bXBkaXIsIG5vdCAje2FyY2hpdmVzfSIKKyAgICAgICAg
ICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAgICAgICAgICMgTm90ZTogd2Ugb3ZlcndyaXRl
ICdqc2MnLiBUaGlzIG9idmlvdXNseSBjb25mbGljdHMgd2l0aAorICAgICAgICAgICAgICAgICAg
ICAjICFjb3B5Vk0gYnV0LCB0aGVuIGdhaW4sIHNvIGRvZXMgJHJlbW90ZS4KKyAgICAgICAgICAg
ICAgICAgICAgbXlzeXMoWyJ0YXIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1DIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICRqc2NQYXRoLmRpcm5hbWUudG9fcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICIteGYiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
YXJjaGl2ZXNbMF1dKQorICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVuZAogICAgICAg
ICB9CiAgICAgZW5kCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415409</attachid>
            <date>2020-12-04 05:19:52 -0800</date>
            <delta_ts>2020-12-07 01:38:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219485-20201204141948.patch</filename>
            <type>text/plain</type>
            <size>16714</size>
            <attacher name="Angelos Oikonomopoulos">angelos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMTA3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzZkNDNjNGM3ZWVhNjJlYWE0ZTkxNWIzZDE0ZmQzODcz
NTY1NDk3ZS4uZDI2ZmRiNmVkNjk2YjAzM2U2ZTg1NGYyMjc2N2YzMzdkYjAzMDZhZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3
IEBACisyMDIwLTEyLTAzICBBbmdlbG9zIE9pa29ub21vcG91bG9zICA8YW5nZWxvc0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFtKU0NdIEJ1bmRsZSBub24tbmF0aXZlIGxpYnMgaW4gcnVuLWpzYy1z
dHJlc3MtdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxOTQ4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIHJ1bi1qc2Mtc3RyZXNzLXRlc3RzIGFscmVhZHkgdHJpZXMgdG8gYnVuZGxlIGxpYnJhcnkg
ZGVwZW5kZW5jaWVzCisgICAgICAgIChvbiBsaW51eCkgd2hlbiB1c2luZyB0aGUgLS1yZW1vdGUg
ZnVuY3Rpb25hbGl0eTsgdGhpcyBlbnN1cmVzCisgICAgICAgIHRoYXQgd2UgZG9uJ3QgbmVlZCB0
byBkZXBlbmQgb24gdGhlIHJlbW90ZSBlbnZpcm9ubWVudCBleGFjdGx5CisgICAgICAgIG1hdGNo
aW5nIHRoZSBidWlsZCBlbnZpcm9ubWVudC4gSG93ZXZlciwgdGhpcyBicmVha3Mgd2hlbgorICAg
ICAgICBjcm9zcy1idWlsZGluZzsgcnVuLWpzYy1zdHJlc3MtdGVzdHMgdXNlcyBsZGQsIHdoaWNo
IHJlbGllcyBvbgorICAgICAgICBjb2RlIGV4ZWN1dGlvbiB0byBnZXQgdGhlIHNoYXJlZCBvYmpl
Y3QgcGF0aHMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBleHRlbmRzIGdlbmVyYXRlLWJ1bmRsZSB0
byBiZSBhYmxlIHRvIGhhbmRsZSB0aGUgb3V0cHV0CisgICAgICAgIGZyb20gYSBjcm9zcyBsZGQg
KHNwZWNpZmljYWxseSwgeGxkZCBmcm9tIGNyb3NzdG9vbC1ORykgYW5kCisgICAgICAgIGNoYW5n
ZXMgcnVuLWpzYy1zdHJlc3MtdGVzdHMgdG8gdXNlIGdlbmVyYXRlLWJ1bmRsZSBmb3IgYnVuZGxp
bmcKKyAgICAgICAgdGhlIGxpYnJhcmllcyBmb3IgdGhlIHJlbW90ZXMuCisKKyAgICAgICAgKiBT
Y3JpcHRzL2dlbmVyYXRlLWJ1bmRsZToKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0
Y29yZS10ZXN0czoKKyAgICAgICAgKHJ1bkpTQ1N0cmVzc1Rlc3RzKToKKyAgICAgICAgKiBTY3Jp
cHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzOgorCiAyMDIwLTExLTIwICBGcmVkZXJpYyBXYW5nICA8
ZndhbmdAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBNaWdyYXRlIFdlYktpdFRlc3RTZXJ2
ZXIgdG8gbGlic291cCAyLjQ4IEFQSQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9nZW5lcmF0
ZS1idW5kbGUgYi9Ub29scy9TY3JpcHRzL2dlbmVyYXRlLWJ1bmRsZQppbmRleCBlNDljNjQ1M2Q4
ODdmYWE4YjEyN2QzNGQ3ZDdjNDIyNjM5ODY5ZmFkLi4wODUwY2VjN2Y4MjQ3MmQ0MzAyMDU5ZDJh
MTU4MDFhZmVmOWZhNmZkIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL2dlbmVyYXRlLWJ1bmRs
ZQorKysgYi9Ub29scy9TY3JpcHRzL2dlbmVyYXRlLWJ1bmRsZQpAQCAtMjksOSArMjksMTEgQEAg
aW1wb3J0IGhhc2hsaWIKIGltcG9ydCBqc29uCiBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IG9zCitm
cm9tIHBhdGhsaWIgaW1wb3J0IFB1cmVQYXRoCiBpbXBvcnQgc2h1dGlsCiBpbXBvcnQgc3VicHJv
Y2VzcwogaW1wb3J0IHN5cworaW1wb3J0IHRhcmZpbGUKIGltcG9ydCB0ZW1wZmlsZQogaW1wb3J0
IHppcGZpbGUKIApAQCAtODYsOSArODgsMzggQEAgZmkKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dl
cihfX25hbWVfXykKIExPR19NRVNTQUdFID0gMjUKIAorY2xhc3MgQXJjaGl2ZXIob2JqZWN0KToK
KworICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmCisKKyAgICBk
ZWYgX19leGl0X18oc2VsZiwgdHlwZSwgdiwgdGIpOgorICAgICAgICByZXR1cm4gc2VsZi5fYXJj
aGl2ZS5jbG9zZSgpCisKK2NsYXNzIFRhckFyY2hpdmVyKEFyY2hpdmVyKToKKworICAgIGRlZiBf
X2luaXRfXyhzZWxmLCBwYXRoKToKKyAgICAgICAgc2VsZi5fYXJjaGl2ZSA9IHRhcmZpbGUub3Bl
bihwYXRoLCAndzp4eicpCisKKyAgICBkZWYgYWRkX2ZpbGUoc2VsZiwgc3lzdGVtX3BhdGgsIHpp
cF9wYXRoKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2FyY2hpdmUuYWRkKHN5c3RlbV9wYXRoLCB6
aXBfcGF0aCkKKworY2xhc3MgWmlwQXJjaGl2ZXIoQXJjaGl2ZXIpOgorCisgICAgZGVmIF9faW5p
dF9fKHNlbGYsIHBhdGgpOgorICAgICAgICBzZWxmLl9hcmNoaXZlID0gemlwZmlsZS5aaXBGaWxl
KHBhdGgsICd3JywgY29tcHJlc3Npb249emlwZmlsZS5aSVBfREVGTEFURUQpCisKKyAgICBkZWYg
YWRkX2ZpbGUoc2VsZiwgc3lzdGVtX3BhdGgsIHppcF9wYXRoKToKKyAgICAgICAgaWYgb3MucGF0
aC5pc2xpbmsoc3lzdGVtX3BhdGgpOgorICAgICAgICAgICAgc3ltbGlua196aXBfaW5mbyA9IHpp
cGZpbGUuWmlwSW5mbyh6aXBfcGF0aCkKKyAgICAgICAgICAgIHN5bWxpbmtfemlwX2luZm8uY3Jl
YXRlX3N5c3RlbSA9IDMgIyBVbml4IChmb3Igc3ltbGluayBzdXBwb3J0KQorICAgICAgICAgICAg
c3ltbGlua196aXBfaW5mby5leHRlcm5hbF9hdHRyID0gMHhBMUVEMDAwMCAjIFppcCBzb2Z0bGlu
ayBtYWdpYyBudW1iZXIKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9hcmNoaXZlLndyaXRlc3Ry
KHN5bWxpbmtfemlwX2luZm8sIG9zLnJlYWRsaW5rKHN5c3RlbV9wYXRoKSkKKyAgICAgICAgcmV0
dXJuIHNlbGYuX2FyY2hpdmUud3JpdGUoc3lzdGVtX3BhdGgsIHppcF9wYXRoKQorCiBjbGFzcyBC
dW5kbGVDcmVhdG9yKG9iamVjdCk6CiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgY29uZmlndXJh
dGlvbiwgcGxhdGZvcm0sIGJ1bmRsZV90eXBlLCBzeXNsaWJzLCBzaG91bGRfc3RyaXBfb2JqZWN0
cywgY29tcHJlc3Npb25fdHlwZSwgZGVzdGluYXRpb24gPSBOb25lLCByZXZpc2lvbiA9IE5vbmUs
IGJ1aWxkZXJfbmFtZSA9IE5vbmUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjb25maWd1cmF0
aW9uLCBwbGF0Zm9ybSwgYnVuZGxlX3R5cGUsIHN5c2xpYnMsIGxkZCwgc2hvdWxkX3N0cmlwX29i
amVjdHMsIGNvbXByZXNzaW9uX3R5cGUsIGRlc3RpbmF0aW9uID0gTm9uZSwgcmV2aXNpb24gPSBO
b25lLCBidWlsZGVyX25hbWUgPSBOb25lKToKICAgICAgICAgc2VsZi5fY29uZmlndXJhdGlvbiA9
IGNvbmZpZ3VyYXRpb24KICAgICAgICAgc2VsZi5fcGxhdGZvcm0gPSBwbGF0Zm9ybS5sb3dlcigp
CiAgICAgICAgIHNlbGYuX3JldmlzaW9uID0gcmV2aXNpb24KQEAgLTk2LDYgKzEyNyw3IEBAIGNs
YXNzIEJ1bmRsZUNyZWF0b3Iob2JqZWN0KToKICAgICAgICAgc2VsZi5fYnVuZGxlX3R5cGUgPSBi
dW5kbGVfdHlwZQogICAgICAgICBzZWxmLl9idWlsZGVybmFtZSA9IGJ1aWxkZXJfbmFtZQogICAg
ICAgICBzZWxmLl9zeXNsaWJzID0gc3lzbGlicworICAgICAgICBzZWxmLl9sZGQgPSBsZGQKICAg
ICAgICAgc2VsZi5fc2hvdWxkX3N0cmlwX29iamVjdHMgPSBzaG91bGRfc3RyaXBfb2JqZWN0cwog
ICAgICAgICBzZWxmLl9jb21wcmVzc2lvbl90eXBlID0gY29tcHJlc3Npb25fdHlwZQogICAgICAg
ICBzZWxmLl90bXBkaXIgPSBOb25lCkBAIC0xMjUsMTEgKzE1NywyNiBAQCBjbGFzcyBCdW5kbGVD
cmVhdG9yKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBjb21tYW5kX3Byb2Nlc3MucmV0dXJuY29k
ZSwgc3Rkb3V0LCBzdGRlcnIKIAogCi0gICAgZGVmIF9sZGRfZ2V0X2xpYnNfYW5kX2ludGVycHJl
dGVyKHNlbGYsIG9iamVjdCk6CisgICAgZGVmIF9nZXRfaW50ZXJwcmV0ZXJfb2JqbmFtZShzZWxm
LCBvYmplY3QpOgorICAgICAgICAjIE5vdGU6IHdlIHVzZSBwYXRjaGVsZiB0byBnZXQgdGhlIG9i
amVjdCBuYW1lIChub3QgdGhlIHBhdGghKQorICAgICAgICAjIG9mIHRoZSBpbnRlcnByZXRlciBi
ZWNhdXNlIHRoaXMgd29ya3MgcmVnYXJkbGVzcyBvZiB0aGUKKyAgICAgICAgIyBhcmNoaXRlY3R1
cmUgb2YgdGhlIEVMRiBmaWxlLgorICAgICAgICByZXRjb2RlLCBzdGRvdXQsIHN0ZGVyciA9IHNl
bGYuX3J1bl9jbWRfYW5kX2dldF9vdXRwdXQoWydwYXRjaGVsZicsICctLXByaW50LWludGVycHJl
dGVyJywgb2JqZWN0XSkKKyAgICAgICAgaWYgcmV0Y29kZSAhPSAwOgorICAgICAgICAgICAgX2xv
Zy5kZWJ1ZygicGF0Y2hlbGYgc3Rkb3V0OlxuJXNcblBhdGNoZWxmIHN0ZGVycjpcbiVzIiAlIChz
dGRvdXQsIHN0ZGVycikpCisgICAgICAgICAgICBpZiAnY2Fubm90IGZpbmQgc2VjdGlvbicgaW4g
c3Rkb3V0OgorICAgICAgICAgICAgICAgICMgVGhpcyBpcyBmaW5lOyB3ZSBvbmx5IGV4cGVjdCBh
biBpbnRlcnByZXRlciBpbiB0aGUgbWFpbiBiaW5hcnkuCisgICAgICAgICAgICAgICAgcmV0dXJu
IE5vbmUKKyAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignVGhlIHBhdGNoZWxmIGNvbW1h
bmQgcmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzIGZvciBvYmplY3QgJXMnICUgb2JqZWN0KQorICAg
ICAgICBpbnRlcnByZXRlcl9wYXRoID0gUHVyZVBhdGgoc3Rkb3V0LnN0cmlwKCkpCisgICAgICAg
IHJldHVybiBpbnRlcnByZXRlcl9wYXRoLm5hbWUKKworICAgIGRlZiBfZ2V0X2xpYnNfYW5kX2lu
dGVycHJldGVyKHNlbGYsIG9iamVjdCk6CiAgICAgICAgIGludGVycHJldGVyID0gTm9uZQotICAg
ICAgICByZXRjb2RlLCBzdGRvdXQsIHN0ZGVyciA9IHNlbGYuX3J1bl9jbWRfYW5kX2dldF9vdXRw
dXQoWydsZGQnLCBvYmplY3RdKQorICAgICAgICByZXRjb2RlLCBzdGRvdXQsIHN0ZGVyciA9IHNl
bGYuX3J1bl9jbWRfYW5kX2dldF9vdXRwdXQoW3NlbGYuX2xkZCwgb2JqZWN0XSkKKyAgICAgICAg
X2xvZy5kZWJ1ZygibGRkIHN0ZG91dDpcbiVzIiAlIHN0ZG91dCkKICAgICAgICAgaWYgcmV0Y29k
ZSAhPSAwOgotICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdUaGUgbGRkIGNvbW1hbmQg
cmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzIGZvciBvYmplY3QgJXMnICUgb2JqZWN0KQorICAgICAg
ICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdUaGUgJXMgY29tbWFuZCByZXR1cm5lZCBub24temVy
byBzdGF0dXMgZm9yIG9iamVjdCAlcycgJSAoc2VsZi5fbGRkLCBvYmplY3QpKQogICAgICAgICBs
aWJzID0gW10KICAgICAgICAgZm9yIGxpbmUgaW4gc3Rkb3V0LnNwbGl0bGluZXMoKToKICAgICAg
ICAgICAgIGxpbmUgPSBsaW5lLnN0cmlwKCkKQEAgLTE0NCwxMSArMTkxLDI0IEBAIGNsYXNzIEJ1
bmRsZUNyZWF0b3Iob2JqZWN0KToKICAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5zcGxpdCgn
ICcpWzBdLnN0cmlwKCkKICAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShsaW5lKToK
ICAgICAgICAgICAgICAgICAgICAgaW50ZXJwcmV0ZXIgPSBsaW5lCisgICAgICAgIGlmIGludGVy
cHJldGVyIGlzIE5vbmU6CisgICAgICAgICAgICAjIFRoaXMgaXMgdGhlIGNhc2UgZm9yIG5vbi1u
YXRpdmUgYmluYXJpZXMuIEZvciB0aG9zZSwgd2UKKyAgICAgICAgICAgICMgY2FuIHVzZSBhIGNy
b3NzLWxkZCAoeGxkZCksIGJ1dCB0aGVuIHRoZSBpbnRlcnByZXRlcgorICAgICAgICAgICAgIyBs
b29rcyBsaWtlIGFueSBvdGhlciBzaGFyZWQgb2JqZWN0IGluIHRoZSBvdXRwdXQgb2YKKyAgICAg
ICAgICAgICMgbGRkLiBUcnkgdG8gaWRlbnRpZnkgaXQgYnkgbG9va2luZyBhdCB0aGUgb2JqZWN0
IG5hbWUKKyAgICAgICAgICAgICMgZnJvbSB0aGUgaW50ZXJwcmV0ZXIgc3RyaW5nLgorICAgICAg
ICAgICAgaW50ZXJwcmV0ZXJfb2JqbmFtZSA9IHNlbGYuX2dldF9pbnRlcnByZXRlcl9vYmpuYW1l
KG9iamVjdCkKKyAgICAgICAgICAgIGZvciBsaWIgaW4gbGliczoKKyAgICAgICAgICAgICAgICBp
ZiBQdXJlUGF0aChsaWIpLm5hbWUgPT0gaW50ZXJwcmV0ZXJfb2JqbmFtZToKKyAgICAgICAgICAg
ICAgICAgICAgaW50ZXJwcmV0ZXIgPSBsaWIKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAg
ICAgICAgICAgICMgSWYgd2UgZm91bmQgYW4gaW50ZXJwcmV0ZXIsIHJlbW92ZSBpdCBmcm9tIHRo
ZSBsaWJzLgorICAgICAgICAgICAgbGlicyA9IFtsaWIgZm9yIGxpYiBpbiBsaWJzIGlmIGxpYiAh
PSBpbnRlcnByZXRlcl0KICAgICAgICAgcmV0dXJuIGxpYnMsIGludGVycHJldGVyCiAKIAogICAg
IGRlZiBfbGRkX3JlY3Vyc2l2ZV9nZXRfbGlic19hbmRfaW50ZXJwcmV0ZXIoc2VsZiwgb2JqZWN0
LCBhbHJlYWR5X2NoZWNrZWRfbGlicyA9IFtdKToKLSAgICAgICAgbGlicywgaW50ZXJwcmV0ZXIg
PSBzZWxmLl9sZGRfZ2V0X2xpYnNfYW5kX2ludGVycHJldGVyKG9iamVjdCkKKyAgICAgICAgbGli
cywgaW50ZXJwcmV0ZXIgPSBzZWxmLl9nZXRfbGlic19hbmRfaW50ZXJwcmV0ZXIob2JqZWN0KQog
ICAgICAgICBpZiBsaWJzOgogICAgICAgICAgICAgZm9yIGxpYiBpbiBsaWJzOgogICAgICAgICAg
ICAgICAgIGlmIGxpYiBpbiBhbHJlYWR5X2NoZWNrZWRfbGliczoKQEAgLTI5NiwxMCArMzU2LDE0
IEBAIGNsYXNzIEJ1bmRsZUNyZWF0b3Iob2JqZWN0KToKICAgICAgICAgZm9yIGJ1bmRsZV9iaW5h
cnkgaW4gc2VsZi5fYnVuZGxlX2JpbmFyaWVzOgogICAgICAgICAgICAgc2VsZi5fY3JlYXRlX2J1
bmRsZShidW5kbGVfYmluYXJ5KQogICAgICAgICBzZWxmLl9nZW5lcmF0ZV9yZWFkbWUoKQorCiAg
ICAgICAgIGlmIHNlbGYuX2NvbXByZXNzaW9uX3R5cGUgPT0gJ3ppcCc6Ci0gICAgICAgICAgICBz
ZWxmLl9jcmVhdGVfemlwKCkKKyAgICAgICAgICAgIGFyY2hpdmVyID0gWmlwQXJjaGl2ZXIoc2Vs
Zi5fYnVuZGxlX2ZpbGVfcGF0aCkKKyAgICAgICAgZWxpZiBzZWxmLl9jb21wcmVzc2lvbl90eXBl
ID09ICd0YXIueHonOgorICAgICAgICAgICAgYXJjaGl2ZXIgPSBUYXJBcmNoaXZlcihzZWxmLl9i
dW5kbGVfZmlsZV9wYXRoKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmFpc2UgTm90SW1w
bGVtZW50ZWRFcnJvcignU3VwcG9ydCBmb3IgY29tcHJlc3Npb24gdHlwZSAlcyBub3QgaW1wbGVt
ZW50ZWQnICUgc2VsZi5fY29tcHJlc3Npb25fdHlwZSkKKyAgICAgICAgc2VsZi5fY3JlYXRlX2Fy
Y2hpdmUoYXJjaGl2ZXIpCiAgICAgICAgIHNlbGYuX3JlbW92ZV90ZW1wZGlyKCkKICAgICAgICAg
aWYgbm90IG9zLnBhdGguaXNmaWxlKHNlbGYuX2J1bmRsZV9maWxlX3BhdGgpOgogICAgICAgICAg
ICAgcmFpc2UgUnVudGltZUVycm9yKCdVbmFibGUgdG8gY3JlYXRlIHRoZSBmaWxlICVzJyAlIHNl
bGYuX2J1bmRsZV9maWxlX3BhdGgpCkBAIC0zMzIsMjAgKzM5NiwxNCBAQCBjbGFzcyBCdW5kbGVD
cmVhdG9yKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBidW5kbGVfbGliCiAKIAotICAgIGRlZiBf
Y3JlYXRlX3ppcChzZWxmKToKLSAgICAgICAgX2xvZy5pbmZvKCdDcmVhdGUgWklQIGZpbGUnKQot
ICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShzZWxmLl9idW5kbGVfZmlsZV9wYXRoLCAndycs
IGNvbXByZXNzaW9uPXppcGZpbGUuWklQX0RFRkxBVEVEKSBhcyB6aXBIYW5kbGU6CisgICAgZGVm
IF9jcmVhdGVfYXJjaGl2ZShzZWxmLCBhcmNoaXZlcik6CisgICAgICAgIF9sb2cuaW5mbygnQ3Jl
YXRlIGFyY2hpdmUnKQorICAgICAgICB3aXRoIGFyY2hpdmVyOgogICAgICAgICAgICAgZm9yIGRp
cm5hbWUsIHN1YmRpcnMsIGZpbGVzIGluIG9zLndhbGsoc2VsZi5fdG1wZGlyKToKICAgICAgICAg
ICAgICAgICBmb3IgZmlsZW5hbWUgaW4gZmlsZXM6CiAgICAgICAgICAgICAgICAgICAgIHN5c3Rl
bV9maWxlX3BhdGggPSBvcy5wYXRoLmpvaW4oZGlybmFtZSwgZmlsZW5hbWUpCiAgICAgICAgICAg
ICAgICAgICAgIHppcF9maWxlX3BhdGggPSBzeXN0ZW1fZmlsZV9wYXRoLnJlcGxhY2Uoc2VsZi5f
dG1wZGlyLCAnJywgMSkubHN0cmlwKCcvJykKLSAgICAgICAgICAgICAgICAgICAgaWYgb3MucGF0
aC5pc2xpbmsoc3lzdGVtX2ZpbGVfcGF0aCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzeW1s
aW5rX3ppcF9pbmZvID0gemlwZmlsZS5aaXBJbmZvKHppcF9maWxlX3BhdGgpCi0gICAgICAgICAg
ICAgICAgICAgICAgICBzeW1saW5rX3ppcF9pbmZvLmNyZWF0ZV9zeXN0ZW0gPSAzICMgVW5peCAo
Zm9yIHN5bWxpbmsgc3VwcG9ydCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHN5bWxpbmtfemlw
X2luZm8uZXh0ZXJuYWxfYXR0ciA9IDB4QTFFRDAwMDAgIyBaaXAgc29mdGxpbmsgbWFnaWMgbnVt
YmVyCi0gICAgICAgICAgICAgICAgICAgICAgICB6aXBIYW5kbGUud3JpdGVzdHIoc3ltbGlua196
aXBfaW5mbywgb3MucmVhZGxpbmsoc3lzdGVtX2ZpbGVfcGF0aCkpCi0gICAgICAgICAgICAgICAg
ICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICB6aXBIYW5kbGUud3JpdGUoc3lzdGVt
X2ZpbGVfcGF0aCwgemlwX2ZpbGVfcGF0aCkKKyAgICAgICAgICAgICAgICAgICAgYXJjaGl2ZXIu
YWRkX2ZpbGUoc3lzdGVtX2ZpbGVfcGF0aCwgemlwX2ZpbGVfcGF0aCkKIAogCiAgICAgZGVmIF9n
ZXRfc3lzdGVtX3BhY2thZ2VfbmFtZShzZWxmLCBvYmplY3QpOgpAQCAtNDU2LDYgKzUxNCw4IEBA
IGNsYXNzIEJ1bmRsZUNyZWF0b3Iob2JqZWN0KToKICAgICAgICAgICAgICMgYW5kIGV2ZXJ5dGhp
bmcgd2lsbCBiZSBleGFtaW5lZCBhbmQgYnVuZGxlZCBhcyB3ZSBkb24ndCBhY2NvdW50IGZvciBz
eXN0ZW0gcGFja2FnZXMgaW4gdGhhdCBjYXNlLgogICAgICAgICAgICAgaWYgbm90IHN5c3RlbV9w
YWNrYWdlOgogICAgICAgICAgICAgICAgIGxpYnJhcmllcywgaW50ZXJwcmV0ZXIgPSBzZWxmLl9s
ZGRfcmVjdXJzaXZlX2dldF9saWJzX2FuZF9pbnRlcnByZXRlcihvYmplY3QpCisgICAgICAgICAg
ICAgICAgaWYgaW50ZXJwcmV0ZXIgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2Ug
UnVudGltZUVycm9yKCJDb3VsZCBub3QgZGV0ZXJtaW5lIGludGVycHJldGVyIGZvciBiaW5hcnkg
JXMiICUgb2JqZWN0KQogICAgICAgICAgICAgICAgIGlmIGNvcGllZF9pbnRlcnByZXRlciBpcyBO
b25lOgogICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLl9zeXNsaWJzID09ICdidW5kbGUtYWxs
JzoKICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2NvcHlfYW5kX3JlbW92ZV9ycGF0aChp
bnRlcnByZXRlciwgdHlwZT0naW50ZXJwcmV0ZXInKQpAQCAtNjE2LDYgKzY3Niw3IEBAIGRlZiBt
YWluKCk6CiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1zeXNsaWJzJywgZGVzdD0nc3lzbGli
cycsIGNob2ljZXM9WydidW5kbGUtYWxsJywgJ2dlbmVyYXRlLWluc3RhbGwtc2NyaXB0J10sIGRl
ZmF1bHQ9J2dlbmVyYXRlLWluc3RhbGwtc2NyaXB0JywKICAgICAgICAgICAgICAgICAgICAgICAg
IGhlbHA9J0lmIHZhbHVlIGlzICJidW5kbGUtYWxsIiwgdGhlIGJ1bmRsZSB3aWxsIGluY2x1ZGUg
X2FsbF8gdGhlIHN5c3RlbSBsaWJyYXJpZXMgaW5zdGVhZCBvZiBhIGluc3RhbGwtZGVwZW5kZW5j
aWVzIHNjcmlwdC5cbicKICAgICAgICAgICAgICAgICAgICAgICAgICdJZiB2YWx1ZSBpcyAiZ2Vu
ZXJhdGUtaW5zdGFsbC1zY3JpcHQiLCB0aGUgc3lzdGVtIGxpYnJhcmllcyB3aWxsIG5vdCBiZSBi
dW5kbGVkIGFuZCBhIGluc3RhbGwtZGVwZW5kZW5jaWVzIHNjcmlwdCB3aWxsIGJlIGdlbmVyYXRl
ZCBmb3IgdGhpcyBkaXN0cmlidXRpb24uJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWxk
ZCcsIGRlc3Q9J2xkZCcsIGRlZmF1bHQ9J2xkZCcsIGhlbHA9J1VzZSBhbHRlcm5hdGl2ZSBsZGQg
KHVzZWZ1bCBmb3Igbm9uLW5hdGl2ZSBiaW5hcmllcycpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVu
dCgnLS1jb21wcmVzc2lvbicsIGRlc3Q9J2NvbXByZXNzaW9uJywgY2hvaWNlcz1bJ3ppcCcsICd0
YXIueHonXSwgZGVmYXVsdD0nemlwJykKICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWRlc3Rp
bmF0aW9uJywgYWN0aW9uPSdzdG9yZScsIGRlc3Q9J2Rlc3RpbmF0aW9uJywKICAgICAgICAgICAg
ICAgICAgICAgICAgIGhlbHA9J09wdGlvbmFsIHBhdGggd2VyZSB0byBzdG9yZSB0aGUgYnVuZGxl
JykKQEAgLTYzMyw3ICs2OTQsNyBAQCBkZWYgbWFpbigpOgogICAgICAgICBqaGJ1aWxkdXRpbHMu
ZW50ZXJfamhidWlsZF9lbnZpcm9ubWVudF9pZl9hdmFpbGFibGUob3B0aW9ucy5wbGF0Zm9ybSkK
IAogICAgIGNvbmZpZ3VyZV9sb2dnaW5nKG9wdGlvbnMubG9nX2xldmVsKQotICAgIGJ1bmRsZV9j
cmVhdG9yID0gQnVuZGxlQ3JlYXRvcihvcHRpb25zLmNvbmZpZ3VyYXRpb24sIG9wdGlvbnMucGxh
dGZvcm0sIG9wdGlvbnMuYnVuZGxlX2JpbmFyeSwgb3B0aW9ucy5zeXNsaWJzLAorICAgIGJ1bmRs
ZV9jcmVhdG9yID0gQnVuZGxlQ3JlYXRvcihvcHRpb25zLmNvbmZpZ3VyYXRpb24sIG9wdGlvbnMu
cGxhdGZvcm0sIG9wdGlvbnMuYnVuZGxlX2JpbmFyeSwgb3B0aW9ucy5zeXNsaWJzLCBvcHRpb25z
LmxkZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90IG9wdGlvbnMubm9f
c3RyaXAsIG9wdGlvbnMuY29tcHJlc3Npb24sIG9wdGlvbnMuZGVzdGluYXRpb24sIG9wdGlvbnMu
d2Via2l0X3ZlcnNpb24sIG9wdGlvbnMuYnVpbGRlcl9uYW1lKQogICAgIGJ1bmRsZV9maWxlX3Bh
dGggPSBidW5kbGVfY3JlYXRvci5jcmVhdGUoKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRj
b3JlLXRlc3RzCmluZGV4IGI4MjNmYjljMWI2OWUyY2YyY2M1MDFlOGE4NTQ1NWU4OTg2MjQ5MzIu
Ljk4Mzc2Y2NiMzIzMDQzN2QyNjFhMWE0MWEyNDhlNTZlODVmMGFhNjggMTAwNzU1Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMv
cnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCkBAIC0xMDYsNiArMTA2LDcgQEAgbXkgJGNyZWF0ZVRh
cmJhbGwgPSAwOwogbXkgJHJlbW90ZUhvc3QgPSAwOwogbXkgJG1vZGVsID0gMDsKIG15ICRhcmNo
cyA9IHVuZGVmOworbXkgJGxkZCA9IHVuZGVmOwogbXkgJHZlcnNpb247CiBteSAkdmVyc2lvbk5h
bWU7CiBteSAkc2RrOwpAQCAtMjM0LDYgKzIzNSw3IEBAIG15ICR1c2FnZSA9IDw8RU9GOwogVXNh
Z2U6ICRwcm9ncmFtTmFtZSBbb3B0aW9uc10gW29wdGlvbnMgdG8gcGFzcyB0byBidWlsZCBzeXN0
ZW1dCiAgIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgIFNob3cgdGhpcyBoZWxwIG1lc3Nh
Z2UKICAgLS1hcmNoaXRlY3R1cmUgICAgICAgICAgICAgICAgQXR0ZW1wdCB0byBvdmVycmlkZSB0
aGUgbmF0aXZlIGFyY2hpdGVjdHVyZSBvZiBhIG1hY2hpbmUuCisgIC0tbGRkICAgICAgICAgICAg
ICAgICAgICAgICAgIFVzZSBhbHRlcm5hdGUgbGRkCiAgIC0tcm9vdD0gICAgICAgICAgICAgICAg
ICAgICAgIFBhdGggdG8gcHJlLWJ1aWx0IHJvb3QgY29udGFpbmluZyBqc2MKICAgLS1bbm8tXWZ0
bC1qaXQgICAgICAgICAgICAgICAgVHVybiB0aGUgRlRMIEpJVCBvbiBvciBvZmYKICAgLS1bbm8t
XWJ1aWxkICAgICAgICAgICAgICAgICAgQ2hlY2sgKG9yIGRvbid0IGNoZWNrKSB0byBzZWUgaWYg
dGhlIGpzYyBidWlsZCBpcyB1cC10by1kYXRlIChkZWZhdWx0OiAkYnVpbGRKU0NEZWZhdWx0KQpA
QCAtMzMxLDYgKzMzMyw3IEBAIEdldE9wdGlvbnMoCiAgICAgJ3JlbW90ZT1zJyA9PiBcJHJlbW90
ZUhvc3QsCiAgICAgJ21vZGVsPXMnID0+IFwkbW9kZWwsCiAgICAgJ2FyY2hpdGVjdHVyZT1zJyA9
PiBcJGFyY2hzLAorICAgICdsZGQ9cycgPT4gXCRsZGQsCiAgICAgJ3ZlcnNpb249cycgPT4gXCR2
ZXJzaW9uLAogICAgICd2ZXJzaW9uLW5hbWU9cycgPT4gXCR2ZXJzaW9uTmFtZSwKICAgICAnc2Rr
PXMnID0+IFwkc2RrLApAQCAtNzYxLDYgKzc2NCwxMCBAQCBzdWIgcnVuSlNDU3RyZXNzVGVzdHMK
ICAgICAgICAgcHVzaChAanNjU3RyZXNzRHJpdmVyQ21kLCAkYXJjaHMpOwogICAgIH0KIAorICAg
IGlmIChkZWZpbmVkKCRsZGQpKSB7CisgICAgICAgIHB1c2goQGpzY1N0cmVzc0RyaXZlckNtZCwg
Ii0tbGRkIik7CisgICAgICAgIHB1c2goQGpzY1N0cmVzc0RyaXZlckNtZCwgJGxkZCk7CisgICAg
fQogICAgIHB1c2goQGpzY1N0cmVzc0RyaXZlckNtZCwgQHRlc3RMaXN0KTsKIAogICAgIGlmIChp
c1dpbmRvd3MoKSAmJiAhaXNDeWd3aW4oKSkgewpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9y
dW4tanNjLXN0cmVzcy10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMK
aW5kZXggYWM5NGJiODA2MjRlNzk2ZGE5NGRhYjRmMDU2MDYwNmM5MDNjYjQ3MS4uMjU4NTVlOTAz
Yjg4M2U2N2UxZjAxMTM4M2VmZTZjOGVhMGMwOTJiNSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0
cy9ydW4tanNjLXN0cmVzcy10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNz
LXRlc3RzCkBAIC0xMzIsNiArMTMyLDcgQEAgJG1vZGUgPSAiZnVsbCIKICRidWlsZFR5cGUgPSAi
cmVsZWFzZSIKICRmb3JjZUNvbGxlY3RDb250aW51b3VzbHkgPSBmYWxzZQogJHJlcG9ydEV4ZWN1
dGlvblRpbWUgPSBmYWxzZQorJGxkZCA9IG5pbAogCiBkZWYgdXNhZ2UKICAgICBwdXRzICJydW4t
anNjLXN0cmVzcy10ZXN0cyAtaiA8c2hlbGwgcGF0aD4gPGNvbGxlY3Rpb25zIHBhdGg+IFs8Y29s
bGVjdGlvbnMgcGF0aD4gLi4uXSIKQEAgLTE1MSw2ICsxNTIsNyBAQCBkZWYgdXNhZ2UKICAgICBw
dXRzICItLWFyY2ggICAgICAgICAgICAgICAgICAgICAgU3BlY2lmeSBhcmNoaXRlY3R1cmUgaW5z
dGVhZCBvZiBkZXRlcm1pbmluZyBmcm9tIEphdmFTY3JpcHRDb3JlIGJ1aWxkLiIKICAgICBwdXRz
ICItLWZvcmNlLWFyY2hpdGVjdHVyZSAgICAgICAgT3ZlcnJpZGUgdGhlIGFyY2hpdGVjdHVyZSB0
byBydW4gdGVzdHMgd2l0aC4iCiAgICAgcHV0cyAiICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGUuZy4geDg2LCB4ODZfNjQsIGFybS4iCisgICAgcHV0cyAiLS1sZGQgICAgICAgICAgICAgICAg
ICAgICAgIFVzZSBhbHRlcm5hdGUgbGRkIgogICAgIHB1dHMgIi0tb3MgICAgICAgICAgICAgICAg
ICAgICAgICBTcGVjaWZ5IG9zIGluc3RlYWQgb2YgZGV0ZXJtaW5pbmcgZnJvbSBKYXZhU2NyaXB0
Q29yZSBidWlsZC4iCiAgICAgcHV0cyAiICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuZy4g
ZGFyd2luLCBsaW51eCAmIHdpbmRvd3MuIgogICAgIHB1dHMgIi0tc2hlbGwtcnVubmVyICAgICAg
ICAgICAgICBVc2VzIHRoZSBzaGVsbC1iYXNlZCB0ZXN0IHJ1bm5lciBpbnN0ZWFkIG9mIHRoZSBk
ZWZhdWx0IG1ha2UtYmFzZWQgcnVubmVyLiIKQEAgLTE5Miw2ICsxOTQsNyBAQCBHZXRvcHRMb25n
Lm5ldyhbJy0taGVscCcsICctaCcsIEdldG9wdExvbmc6Ok5PX0FSR1VNRU5UXSwKICAgICAgICAg
ICAgICAgIFsnLS1mb3JjZS12bS1jb3B5JywgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdLAogICAg
ICAgICAgICAgICAgWyctLWFyY2gnLCBHZXRvcHRMb25nOjpSRVFVSVJFRF9BUkdVTUVOVF0sCiAg
ICAgICAgICAgICAgICBbJy0tZm9yY2UtYXJjaGl0ZWN0dXJlJywgR2V0b3B0TG9uZzo6UkVRVUlS
RURfQVJHVU1FTlRdLAorICAgICAgICAgICAgICAgWyctLWxkZCcsIEdldG9wdExvbmc6OlJFUVVJ
UkVEX0FSR1VNRU5UXSwKICAgICAgICAgICAgICAgIFsnLS1vcycsIEdldG9wdExvbmc6OlJFUVVJ
UkVEX0FSR1VNRU5UXSwKICAgICAgICAgICAgICAgIFsnLS1zaGVsbC1ydW5uZXInLCBHZXRvcHRM
b25nOjpOT19BUkdVTUVOVF0sCiAgICAgICAgICAgICAgICBbJy0tbWFrZS1ydW5uZXInLCBHZXRv
cHRMb25nOjpOT19BUkdVTUVOVF0sCkBAIC0yNjUsNiArMjY4LDggQEAgR2V0b3B0TG9uZy5uZXco
WyctLWhlbHAnLCAnLWgnLCBHZXRvcHRMb25nOjpOT19BUkdVTUVOVF0sCiAgICAgd2hlbiAnLS1m
b3JjZS1hcmNoaXRlY3R1cmUnCiAgICAgICAgICRhcmNoaXRlY3R1cmUgPSBhcmcgdW5sZXNzICRh
cmNoaXRlY3R1cmUKICAgICAgICAgJGZvcmNlQXJjaGl0ZWN0dXJlID0gYXJnCisgICAgd2hlbiAn
LS1sZGQnCisgICAgICAgICRsZGQgPSBhcmcKICAgICB3aGVuICctLW9zJwogICAgICAgICAkaG9z
dE9TID0gYXJnCiAgICAgd2hlbiAnLS1tb2RlbCcKQEAgLTE4NTgsNyArMTg2Myw3IEBAIGRlZiBw
cmVwYXJlQnVuZGxlCiAgICAgICAgICAgICBpZiAkY29weVZNCiAgICAgICAgICAgICAgICAgRmls
ZVV0aWxzLmNwX3Igc291cmNlLCBkZXN0aW5hdGlvbgogICAgICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgICAgIGJlZ2luIAorICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAg
ICAgIEZpbGVVdGlscy5sbl9zIHNvdXJjZSwgZGVzdGluYXRpb24KICAgICAgICAgICAgICAgICBy
ZXNjdWUgRXhjZXB0aW9uCiAgICAgICAgICAgICAgICAgICAgICRzdGRlcnIucHV0cyAiV2Fybmlu
ZzogdW5hYmxlIHRvIGNyZWF0ZSBzb2Z0IGxpbmssIHRyeWluZyB0byBjb3B5LiIKQEAgLTE4Njcs
MTUgKzE4NzIsMzggQEAgZGVmIHByZXBhcmVCdW5kbGUKICAgICAgICAgICAgIGVuZAogCiAgICAg
ICAgICAgICBpZiAkcmVtb3RlIGFuZCAkaG9zdE9TID09ICJsaW51eCIKLSAgICAgICAgICAgICAg
ICBiZWdpbgotICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMgPSBgbGRkICN7c291cmNl
fWAKLSAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzLnNwbGl0KC9cbi8pLmVhY2ggewot
ICAgICAgICAgICAgICAgICAgICAgICAgfCBkZXBlbmRlbmN5IHwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIEZpbGVVdGlscy5jcF9yICQmLCAkanNjUGF0aC5kaXJuYW1lIGlmIGRlcGVuZGVuY3kg
PX4gLyN7V0VCS0lUX1BBVEh9W14gXSovCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICByZXNjdWUKLSAgICAgICAgICAgICAgICAgICAgJHN0ZGVyci5wdXRzICJXYXJuaW5n
OiB1bmFibGUgdG8gZGV0ZXJtaW5lIG9yIGNvcHkgbGlicmFyeSBkZXBlbmRuZWNpZXMgb2YgSlND
LiIKLSAgICAgICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICAgICBnZW5lcmF0ZV9idW5kbGUg
PSAoUGF0aG5hbWUubmV3KFRISVNfU0NSSVBUX1BBVEgpLmRpcm5hbWUgKyAnZ2VuZXJhdGUtYnVu
ZGxlJykucmVhbHBhdGgKKyAgICAgICAgICAgICAgICBEaXIubWt0bXBkaXIgeworICAgICAgICAg
ICAgICAgICAgICB8IHRtcGRpciB8CisgICAgICAgICAgICAgICAgICAgICMgR2VuZXJhdGUgYnVu
ZGxlIGluIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSBzbyB0aGF0CisgICAgICAgICAgICAgICAgICAg
ICMgd2UgY2FuIHNhZmVseSBwaWNrIGl0IHVwIHJlZ2FyZGxlc3Mgb2YgaXRzIG5hbWUKKyAgICAg
ICAgICAgICAgICAgICAgIyAoaXQncyB0aGUgb25seSB6aXAgZmlsZSB0aGVyZSkuCisgICAgICAg
ICAgICAgICAgICAgIGNtZGxpbmUgPSBbCisgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0
ZV9idW5kbGUudG9fcywKKyAgICAgICAgICAgICAgICAgICAgICAgICItLXBsYXRmb3JtPWd0ayIs
CisgICAgICAgICAgICAgICAgICAgICAgICAiLS1idW5kbGU9anNjIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICItLXN5c2xpYnM9YnVuZGxlLWFsbCIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAiLS1uby1zdHJpcCIsCisgICAgICAgICAgICAgICAgICAgICAgICAiLS1jb21wcmVzc2lvbj10
YXIueHoiLAorICAgICAgICAgICAgICAgICAgICAgICAgKCRidWlsZFR5cGUgPT0gInJlbGVhc2Ui
KSA/ICItLXJlbGVhc2UiIDogIi0tZGVidWciLAorICAgICAgICAgICAgICAgICAgICAgICAgIi0t
ZGVzdGluYXRpb249I3t0bXBkaXJ9IgorICAgICAgICAgICAgICAgICAgICBdCisgICAgICAgICAg
ICAgICAgICAgIGlmIG5vdCAkbGRkLm5pbD8KKyAgICAgICAgICAgICAgICAgICAgICAgIGNtZGxp
bmUgPDwgIi0tbGRkPSN7JGxkZH0iCisgICAgICAgICAgICAgICAgICAgIGVuZAorICAgICAgICAg
ICAgICAgICAgICBteXN5cyhjbWRsaW5lKQorICAgICAgICAgICAgICAgICAgICBhcmNoaXZlcyA9
IERpci5nbG9iKCIje3RtcGRpcn0vKi50YXIueHoiKQorICAgICAgICAgICAgICAgICAgICBpZiBh
cmNoaXZlcy5zaXplICE9IDEKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlICJFeHBlY3Rl
ZCBleGFjdGx5IG9uZSBlbnRyeSBpbiB0bXBkaXIsIG5vdCAje2FyY2hpdmVzfSIKKyAgICAgICAg
ICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAgICAgICAgICMgTm90ZTogd2Ugb3ZlcndyaXRl
ICdqc2MnLiBUaGlzIG9idmlvdXNseSBjb25mbGljdHMgd2l0aAorICAgICAgICAgICAgICAgICAg
ICAjICFjb3B5Vk0gYnV0LCB0aGVuIGdhaW4sIHNvIGRvZXMgJHJlbW90ZS4KKyAgICAgICAgICAg
ICAgICAgICAgbXlzeXMoWyJ0YXIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1DIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICRqc2NQYXRoLmRpcm5hbWUudG9fcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICIteGYiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
YXJjaGl2ZXNbMF1dKQorICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVuZAogICAgICAg
ICB9CiAgICAgZW5kCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>415562</attachid>
            <date>2020-12-07 10:15:50 -0800</date>
            <delta_ts>2020-12-07 10:15:50 -0800</delta_ts>
            <desc>Shell script to find dependencies using readelf</desc>
            <filename>get-elf-deps.sh</filename>
            <type>application/x-shellscript</type>
            <size>1900</size>
            <attacher name="Adrian Perez">aperez</attacher>
            
              <data encoding="base64">IyEgL2Jpbi9iYXNoCnNldCAtZWYgLW8gcGlwZWZhaWwKCnJlYWRvbmx5IEFSR1YwPSR7MCMjKi99
CgpkaWUgKCkgewoJZWNobyAiJHtBUkdWMH06ICQqIgoJZXhpdCAxCn0gMT4mMgoKaWYgW1sgJCMg
LWx0IDIgXV0gOyB0aGVuCglkaWUgInVzYWdlOiAkQVJHVjAgPHN5c3Jvb3Q+IDxiaW5hcnkuLi4+
IgpmaQoKOiAke1JFQURFTEY6PXJlYWRlbGZ9CnJlYWRvbmx5IFJFQURFTEYKCnJlYWRvbmx5IFRB
UkdFVD0kMQpzaGlmdAoKZWxmLWRlcGVuZGVuY3ktZmluZCAoKSB7Cglsb2NhbCBwYXRoIGxpYnBh
dGggbGlibmFtZT0kMSA7IHNoaWZ0CgljYXNlICR7bGlibmFtZX0gaW4KCQkjIFNraXAgc29tZSBs
aWJyYXJpZXMgd2hpY2ggYXJlIGFzc3VtZWQgdG8gYWx3YXlzIGJlIHByZXNlbnQgaW4KCQkjIHRo
ZSB0YXJnZXQgc3lzdGVtIGFuZCBpdCBzaG91bGQgbm90IGJlIG5lZWRlZCB0byBjb3B5IG92ZXIu
CgkJbGliYy5zby4qIHwgbGlibS5zby4qIHwgbGliZGwuc28uKiB8IGxpYnJ0LnNvLiogfCBsaWJz
ZWxpbnV4LnNvLiogfCBsaWJnY2Nfcy5zby4qIHwgbGlicmVzb2x2LnNvLiogfCBsaWJ0aW5mby5z
by4qICkKCQkJcmV0dXJuCgkJCTs7Cgllc2FjCglmb3IgbGlicGF0aCBpbiBsaWIgdXNyL2xpYiAi
JEAiIDsgZG8KCQlwYXRoPSIke1RBUkdFVH0vJHtsaWJwYXRofS8ke2xpYm5hbWV9IgoJCWlmIFtb
IC1yICR7cGF0aH0gXV0gOyB0aGVuCgkJCWVjaG8gIiR7bGlibmFtZX0gJHtsaWJwYXRofSAke3Bh
dGh9IgoJCQlyZXR1cm4KCQlmaQoJZG9uZQoJZGllICJDYW5ub3QgZmluZDogJHtsaWJuYW1lfSIK
fQoKZWxmLWRlcGVuZGVuY2llcyAoKSB7Cglsb2NhbCBwYXRoCglsb2NhbCAtYSBuZWVkZWQgcnBh
dGggbGluZQoKCXdoaWxlIHJlYWQgLXIgLWEgbGluZSA7IGRvCgkJaWYgW1sgJHsjbGluZVtAXX0g
LWx0IDIgXV0gOyB0aGVuCgkJCWNvbnRpbnVlCgkJZmkKCgkJIyBFeHRyYWN0IGxhc3QgaXRlbS4g
RmlsZSBuYW1lcy9wYXRocyBhcmUgdXN1YWxseSBlbmNsb3NlZCBiZXR3ZWVuCgkJIyBzcXVhcmUg
YnJhY2tldHMgYW5kIG5lZWQgdG8gYmUgcmVtb3ZlZC4KCQlwYXRoPSR7bGluZVskKCggJHsjbGlu
ZVtAXX0gLSAxICkpXX0KCQlpZiBbWyAke3BhdGh9ID0gKlxdIF1dIDsgdGhlbgoJCQlwYXRoPSR7
cGF0aDoxOi0xfQoJCWZpCgoJCWlmIFtbICR7bGluZVsxXX0gPSBcKFJQQVRIXCkgXV0gOyB0aGVu
CgkJCXJwYXRoKz0oICIke3BhdGh9IiApCgkJZWxpZiBbWyAke2xpbmVbMV19ID0gXChORUVERURc
KSBdXSA7IHRoZW4KCQkJbmVlZGVkKz0oICIke3BhdGh9IiApCgkJZmkKCWRvbmUgPCA8KCAiJHtS
RUFERUxGfSIgLVcgLWQgIiQxIiApCgoJZm9yIHBhdGggaW4gIiR7bmVlZGVkW0BdfSIgOyBkbwoJ
CWVsZi1kZXBlbmRlbmN5LWZpbmQgIiR7cGF0aH0iICIke3JwYXRoW0BdfSIKCWRvbmUKfQoKZGVj
bGFyZSAtQSBMSUJQQVRICgppbnNwZWN0LWVsZi1vYmplY3RzICgpIHsKCWlmIFtbICQjIC1lcSAw
IF1dIDsgdGhlbgoJCXJldHVybgoJZmkKCglsb2NhbCBlbGZvYmo9JDEgOyBzaGlmdAoJbG9jYWwg
LWEgcGVuZGluZwoKCWxvY2FsIGxpYm5hbWU9JycgbGlicGF0aD0nJyBhYnNwYXRoPScnCgl3aGls
ZSByZWFkIC1yIGxpYm5hbWUgbGlicGF0aCBhYnNwYXRoIDsgZG8KCQlpZiBbWyAtbiAke0xJQlBB
VEhbJHthYnNwYXRofV06LX0gXV0gOyB0aGVuCgkJCWNvbnRpbnVlCgkJZmkKCQlMSUJQQVRIWyR7
YWJzcGF0aH1dPSR7bGlicGF0aH0KCQlwZW5kaW5nKz0oICIke2Fic3BhdGh9IiApCgkJZWNobyAi
JHthYnNwYXRoL1wvXC8vXC99IgoJZG9uZSA8IDwoIGVsZi1kZXBlbmRlbmNpZXMgIiR7ZWxmb2Jq
fSIgKQoKCWluc3BlY3QtZWxmLW9iamVjdHMgIiRAIiAiJHtwZW5kaW5nW0BdfSIKfQoKaW5zcGVj
dC1lbGYtb2JqZWN0cyAiJEAiCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>