<?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>222597</bug_id>
          
          <creation_ts>2021-03-02 07:23:39 -0800</creation_ts>
          <short_desc>Make build.webkit.org loadconfig similar to EWS</short_desc>
          <delta_ts>2021-03-02 11:19:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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="Aakash Jain">aakash_jain</reporter>
          <assigned_to name="Aakash Jain">aakash_jain</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>angelos</cc>
    
    <cc>ap</cc>
    
    <cc>jbedard</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1734835</commentid>
    <comment_count>0</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-03-02 07:23:39 -0800</bug_when>
    <thetext>loadconfig.py and its unit-tests in EWS have lot more checks than build.webkit.org one. We should make them similar, so that build.webkit.org also gets all those unit-tests and checks. We should also try to converge both files, so that in long-term we can share this code for both these services, instead of maintaining two copies of similar logic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734848</commentid>
    <comment_count>1</comment_count>
      <attachid>421935</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-03-02 08:06:58 -0800</bug_when>
    <thetext>Created attachment 421935
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734851</commentid>
    <comment_count>2</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-03-02 08:12:38 -0800</bug_when>
    <thetext>(In reply to Aakash Jain from comment #1)
&gt; Created attachment 421935 [details]
&gt; Patch
Tested on dev instance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734853</commentid>
    <comment_count>3</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-03-02 08:14:17 -0800</bug_when>
    <thetext>This would also prevent mistakes like: https://bugs.webkit.org/show_bug.cgi?id=222501#c5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734938</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-02 11:18:15 -0800</bug_when>
    <thetext>Committed r273742: &lt;https://commits.webkit.org/r273742&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 421935.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734939</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-02 11:19:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/74939318&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421935</attachid>
            <date>2021-03-02 08:06:58 -0800</date>
            <delta_ts>2021-03-02 11:18:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222597-20210302110657.patch</filename>
            <type>text/plain</type>
            <size>20501</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3MzczMCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQ1IEBACisyMDIxLTAzLTAyICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBNYWtlIGJ1aWxkLndlYmtpdC5vcmcgbG9hZGNvbmZpZyBzaW1pbGFyIHRv
IEVXUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIy
NTk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBD
SVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9sb2FkQ29uZmlnLnB5OgorICAgICAgICAobG9hZEJ1
aWxkZXJDb25maWcpOgorICAgICAgICAoY2hlY2tWYWxpZFdvcmtlcik6IE1ldGhvZCB0byB2YWxp
ZGF0ZSB3b3JrZXIuCisgICAgICAgIChjaGVja1ZhbGlkQnVpbGRlcik6IE1ldGhvZCB0byB2YWxp
ZGF0ZSBidWlsZGVyLgorICAgICAgICAoY2hlY2tWYWxpZFNjaGVkdWxlcnMpOiBNZXRob2QgdG8g
dmFsaWRhdGUgc2NoZWR1bGVycy4KKyAgICAgICAgKGRvZXNUcmlnZ2VyRXhpc3QpOgorICAgICAg
ICAoaXNUcmlnZ2VyVXNlZEJ5QW55QnVpbGRlcik6CisgICAgICAgIChjaGVja1dvcmtlcnNBbmRC
dWlsZGVyc0ZvckNvbnNpc3RlbmN5KToKKyAgICAgICAgKiBDSVN1cHBvcnQvYnVpbGQtd2Via2l0
LW9yZy9sb2FkQ29uZmlnX3VuaXR0ZXN0LnB5OiBBZGRlZCB1bml0LXRlc3RzLgorICAgICAgICAo
Q29uZmlnRG90SlNPTlRlc3QudGVzdF9jb25maWd1cmF0aW9uKToKKyAgICAgICAgKFRlc3RjaGVj
a1ZhbGlkV29ya2VyKToKKyAgICAgICAgKFRlc3RjaGVja1ZhbGlkV29ya2VyLnRlc3RfaW52YWxp
ZF93b3JrZXIpOgorICAgICAgICAoVGVzdGNoZWNrVmFsaWRXb3JrZXIudGVzdF93b3JrZXJfd2l0
aF9taXNzaW5nX25hbWUpOgorICAgICAgICAoVGVzdGNoZWNrVmFsaWRXb3JrZXIudGVzdF93b3Jr
ZXJfd2l0aF9taXNzaW5nX3BsYXROYW1lKToKKyAgICAgICAgKFRlc3RjaGVja1ZhbGlkV29ya2Vy
LnRlc3RfdmFsaWRfd29ya2VyKToKKyAgICAgICAgKFRlc3RjaGVja1ZhbGlkQnVpbGRlcik6Cisg
ICAgICAgIChUZXN0Y2hlY2tWYWxpZEJ1aWxkZXIudGVzdF9pbnZhbGlkX2J1aWxkZXIpOgorICAg
ICAgICAoVGVzdGNoZWNrVmFsaWRCdWlsZGVyLnRlc3RfYnVpbGRlcl93aXRoX21pc3NpbmdfbmFt
ZSk6CisgICAgICAgIChUZXN0Y2hlY2tWYWxpZEJ1aWxkZXIudGVzdF9idWlsZGVyX3dpdGhfaW52
YWxpZF9pZGVudGlmaWVyKToKKyAgICAgICAgKFRlc3RjaGVja1ZhbGlkQnVpbGRlci50ZXN0X2J1
aWxkZXJfd2l0aF9leHRyYV9sb25nX25hbWUpOgorICAgICAgICAoVGVzdGNoZWNrVmFsaWRCdWls
ZGVyLnRlc3RfYnVpbGRlcl93aXRoX2ludmFsaWRfY29uZmlndXJhdGlvbik6CisgICAgICAgIChU
ZXN0Y2hlY2tWYWxpZEJ1aWxkZXIudGVzdF9idWlsZGVyX3dpdGhfbWlzc2luZ19mYWN0b3J5KToK
KyAgICAgICAgKFRlc3RjaGVja1ZhbGlkQnVpbGRlci50ZXN0X2J1aWxkZXJfd2l0aF9taXNzaW5n
X3NjaGVkdWxlcik6CisgICAgICAgIChUZXN0Y2hlY2tWYWxpZEJ1aWxkZXIudGVzdF9idWlsZGVy
X3dpdGhfbWlzc2luZ19wbGF0Zm9ybSk6CisgICAgICAgIChUZXN0Y2hlY2tWYWxpZEJ1aWxkZXIu
dGVzdF92YWxpZF9idWlsZGVyKToKKyAgICAgICAgKFRlc3RjaGVja1dvcmtlcnNBbmRCdWlsZGVy
c0ZvckNvbnNpc3RlbmN5KToKKyAgICAgICAgKFRlc3RjaGVja1dvcmtlcnNBbmRCdWlsZGVyc0Zv
ckNvbnNpc3RlbmN5LnRlc3RfY2hlY2tXb3JrZXJzQW5kQnVpbGRlcnNGb3JDb25zaXN0ZW5jeSk6
CisgICAgICAgIChUZXN0Y2hlY2tXb3JrZXJzQW5kQnVpbGRlcnNGb3JDb25zaXN0ZW5jeS50ZXN0
X2NoZWNrV29ya2Vyc0FuZEJ1aWxkZXJzRm9yQ29uc2lzdGVuY3kxKToKKyAgICAgICAgKFRlc3Rj
aGVja1dvcmtlcnNBbmRCdWlsZGVyc0ZvckNvbnNpc3RlbmN5LnRlc3RfZHVwbGljYXRlX3dvcmtl
cik6CisgICAgICAgIChUZXN0Y2hlY2tXb3JrZXJzQW5kQnVpbGRlcnNGb3JDb25zaXN0ZW5jeS50
ZXN0X3N1Y2Nlc3MpOgorICAgICAgICAqIENJU3VwcG9ydC9ld3MtYnVpbGQvbG9hZENvbmZpZy5w
eToKKyAgICAgICAgKGNoZWNrV29ya2Vyc0FuZEJ1aWxkZXJzRm9yQ29uc2lzdGVuY3kpOiBBZGRl
ZCBkb3VibGUtcXVvdGVzIGluIGVycm9yIG1lc3NhZ2UgZm9yIGJldHRlciByZWFkYWJpbGl0eS4K
KyAgICAgICAgKiBDSVN1cHBvcnQvZXdzLWJ1aWxkL2xvYWRDb25maWdfdW5pdHRlc3QucHk6Cisg
ICAgICAgIChUZXN0Y2hlY2tXb3JrZXJzQW5kQnVpbGRlcnNGb3JDb25zaXN0ZW5jeS50ZXN0X2No
ZWNrV29ya2Vyc0FuZEJ1aWxkZXJzRm9yQ29uc2lzdGVuY3kxKToKKwogMjAyMS0wMy0wMiAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRW5hYmxlIE1FRElBX1NP
VVJDRSBpbiBJT1MgU2ltdWxhdG9yCkluZGV4OiBUb29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0
LW9yZy9sb2FkQ29uZmlnLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NJU3VwcG9ydC9idWlsZC13
ZWJraXQtb3JnL2xvYWRDb25maWcucHkJKHJldmlzaW9uIDI3MzczMCkKKysrIFRvb2xzL0NJU3Vw
cG9ydC9idWlsZC13ZWJraXQtb3JnL2xvYWRDb25maWcucHkJKHdvcmtpbmcgY29weSkKQEAgLTIw
LDI0ICsyMCwyMyBAQAogIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCisK
K2ltcG9ydCBqc29uCitpbXBvcnQgb3BlcmF0b3IKIGltcG9ydCBvcworaW1wb3J0IHJlCiAKLWZy
b20gYnVpbGRib3Qud29ya2VyIGltcG9ydCBXb3JrZXIKIGZyb20gYnVpbGRib3Quc2NoZWR1bGVy
IGltcG9ydCBBbnlCcmFuY2hTY2hlZHVsZXIsIFRyaWdnZXJhYmxlLCBOaWdodGx5CiBmcm9tIGJ1
aWxkYm90LnNjaGVkdWxlcnMuZm9yY2VzY2hlZCBpbXBvcnQgRml4ZWRQYXJhbWV0ZXIsIEZvcmNl
U2NoZWR1bGVyLCBTdHJpbmdQYXJhbWV0ZXIsIEJvb2xlYW5QYXJhbWV0ZXIKIGZyb20gYnVpbGRi
b3Quc2NoZWR1bGVycy5maWx0ZXIgaW1wb3J0IENoYW5nZUZpbHRlcgogZnJvbSBidWlsZGJvdC5w
cm9jZXNzIGltcG9ydCBidWlsZHN0ZXAsIGZhY3RvcnksIHByb3BlcnRpZXMKK2Zyb20gYnVpbGRi
b3QudXRpbCBpbXBvcnQgaWRlbnRpZmllcnMgYXMgYnVpbGRib3RfaWRlbnRpZmllcnMKK2Zyb20g
YnVpbGRib3Qud29ya2VyIGltcG9ydCBXb3JrZXIKIAogZnJvbSBmYWN0b3JpZXMgaW1wb3J0ICoK
LQotaW1wb3J0IHJlCi1pbXBvcnQganNvbgotaW1wb3J0IG9wZXJhdG9yCi0KIGltcG9ydCB3a2J1
aWxkCiAKIHRydW5rX2ZpbHRlciA9IENoYW5nZUZpbHRlcihicmFuY2g9WyJ0cnVuayIsIE5vbmVd
KQotYnVpbGRib3RfaWRlbnRpZmllcnNfcmUgPSByZS5jb21waWxlKCdeW2EtekEtWl8tXVthLXpB
LVowLTlfLV0qJCcpCiAKIEJVSUxERVJfTkFNRV9MRU5HVEhfTElNSVQgPSA3MAogU1RFUF9OQU1F
X0xFTkdUSF9MSU1JVCA9IDUwCkBAIC00NywxNyArNDYsMjAgQEAgZGVmIHBpY2tMYXRlc3RCdWls
ZChidWlsZGVyLCByZXF1ZXN0cyk6CiAgICAgcmV0dXJuIG1heChyZXF1ZXN0cywga2V5PW9wZXJh
dG9yLmF0dHJnZXR0ZXIoInN1Ym1pdHRlZEF0IikpCiAKIAotZGVmIGxvYWRCdWlsZGVyQ29uZmln
KGMsIGlzX3Rlc3RfbW9kZV9lbmFibGVkPUZhbHNlKToKK2RlZiBsb2FkQnVpbGRlckNvbmZpZyhj
LCBpc190ZXN0X21vZGVfZW5hYmxlZD1GYWxzZSwgbWFzdGVyX3ByZWZpeF9wYXRoPScuLycpOgog
ICAgICMgRklYTUU6IFRoZXNlIGZpbGUgaGFuZGxlcyBhcmUgbGVha2VkLgorICAgIGNvbmZpZyA9
IGpzb24ubG9hZChvcGVuKG9zLnBhdGguam9pbihtYXN0ZXJfcHJlZml4X3BhdGgsICdjb25maWcu
anNvbicpKSkKICAgICBpZiBpc190ZXN0X21vZGVfZW5hYmxlZDoKICAgICAgICAgcGFzc3dvcmRz
ID0ge30KICAgICBlbHNlOgotICAgICAgICBwYXNzd29yZHMgPSBqc29uLmxvYWQob3BlbigncGFz
c3dvcmRzLmpzb24nKSkKKyAgICAgICAgcGFzc3dvcmRzID0ganNvbi5sb2FkKG9wZW4ob3MucGF0
aC5qb2luKG1hc3Rlcl9wcmVmaXhfcGF0aCwgJ3Bhc3N3b3Jkcy5qc29uJykpKQogICAgIHJlc3Vs
dHNfc2VydmVyX2FwaV9rZXkgPSBwYXNzd29yZHMuZ2V0KCdyZXN1bHRzLXNlcnZlci1hcGkta2V5
JykKICAgICBpZiByZXN1bHRzX3NlcnZlcl9hcGlfa2V5OgogICAgICAgICBvcy5lbnZpcm9uWydS
RVNVTFRTX1NFUlZFUl9BUElfS0VZJ10gPSByZXN1bHRzX3NlcnZlcl9hcGlfa2V5CiAKLSAgICBj
b25maWcgPSBqc29uLmxvYWQob3BlbignY29uZmlnLmpzb24nKSkKKyAgICBjaGVja1dvcmtlcnNB
bmRCdWlsZGVyc0ZvckNvbnNpc3RlbmN5KGNvbmZpZywgY29uZmlnWyd3b3JrZXJzJ10sIGNvbmZp
Z1snYnVpbGRlcnMnXSkKKyAgICBjaGVja1ZhbGlkU2NoZWR1bGVycyhjb25maWcsIGNvbmZpZ1sn
c2NoZWR1bGVycyddKQorCiAgICAgY1snd29ya2VycyddID0gW1dvcmtlcih3b3JrZXJbJ25hbWUn
XSwgcGFzc3dvcmRzLmdldCh3b3JrZXJbJ25hbWUnXSwgJ3Bhc3N3b3JkJyksIG1heF9idWlsZHM9
MSkgZm9yIHdvcmtlciBpbiBjb25maWdbJ3dvcmtlcnMnXV0KIAogICAgIGNbJ3NjaGVkdWxlcnMn
XSA9IFtdCkBAIC03NywzNyArNzksMjQgQEAgZGVmIGxvYWRCdWlsZGVyQ29uZmlnKGMsIGlzX3Rl
c3RfbW9kZV9lbgogCiAgICAgY1snYnVpbGRlcnMnXSA9IFtdCiAgICAgZm9yIGJ1aWxkZXIgaW4g
Y29uZmlnWydidWlsZGVycyddOgotICAgICAgICBmb3Igd29ya2VyTmFtZSBpbiBidWlsZGVyWyd3
b3JrZXJuYW1lcyddOgotICAgICAgICAgICAgZm9yIHdvcmtlciBpbiBjb25maWdbJ3dvcmtlcnMn
XToKLSAgICAgICAgICAgICAgICBpZiB3b3JrZXJbJ25hbWUnXSAhPSB3b3JrZXJOYW1lIG9yIHdv
cmtlclsncGxhdGZvcm0nXSA9PSAnKic6Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0K
LSAgICAgICAgICAgICAgICBpZiB3b3JrZXJbJ3BsYXRmb3JtJ10gIT0gYnVpbGRlclsncGxhdGZv
cm0nXToKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdCdWlsZGVyIHt9IGlz
IGZvciBwbGF0Zm9ybSB7fSBidXQgaGFzIHdvcmtlciB7fSBmb3IgcGxhdGZvcm0ge30hJy5mb3Jt
YXQoYnVpbGRlclsnbmFtZSddLCBidWlsZGVyWydwbGF0Zm9ybSddLCB3b3JrZXJbJ25hbWUnXSwg
d29ya2VyWydwbGF0Zm9ybSddKSkKLSAgICAgICAgICAgICAgICBicmVhawotCisgICAgICAgIGJ1
aWxkZXJbJ3RhZ3MnXSA9IGdldFRhZ3NGb3JCdWlsZGVyKGJ1aWxkZXIpCiAgICAgICAgIHBsYXRm
b3JtID0gYnVpbGRlclsncGxhdGZvcm0nXQotCiAgICAgICAgIGZhY3RvcnlOYW1lID0gYnVpbGRl
ci5wb3AoJ2ZhY3RvcnknKQogICAgICAgICBmYWN0b3J5ID0gZ2xvYmFscygpW2ZhY3RvcnlOYW1l
XQogICAgICAgICBmYWN0b3J5a3dhcmdzID0ge30KLSAgICAgICAgZm9yIGtleSBpbiAicGxhdGZv
cm0iLCAiY29uZmlndXJhdGlvbiIsICJhcmNoaXRlY3R1cmVzIiwgInRyaWdnZXJzIiwgImFkZGl0
aW9uYWxBcmd1bWVudHMiLCAiZGV2aWNlX21vZGVsIjoKKyAgICAgICAgZm9yIGtleSBpbiBbJ3Bs
YXRmb3JtJywgJ2NvbmZpZ3VyYXRpb24nLCAnYXJjaGl0ZWN0dXJlcycsICd0cmlnZ2VycycsICdh
ZGRpdGlvbmFsQXJndW1lbnRzJywgJ2RldmljZV9tb2RlbCddOgogICAgICAgICAgICAgdmFsdWUg
PSBidWlsZGVyLnBvcChrZXksIE5vbmUpCiAgICAgICAgICAgICBpZiB2YWx1ZToKICAgICAgICAg
ICAgICAgICBmYWN0b3J5a3dhcmdzW2tleV0gPSB2YWx1ZQogCi0gICAgICAgIGJ1aWxkZXJbImZh
Y3RvcnkiXSA9IGZhY3RvcnkoKipmYWN0b3J5a3dhcmdzKQorICAgICAgICBidWlsZGVyWydmYWN0
b3J5J10gPSBmYWN0b3J5KCoqZmFjdG9yeWt3YXJncykKIAogICAgICAgICBidWlsZGVyX25hbWUg
PSBidWlsZGVyWyduYW1lJ10KLSAgICAgICAgaWYgbGVuKGJ1aWxkZXJfbmFtZSkgPiBCVUlMREVS
X05BTUVfTEVOR1RIX0xJTUlUOgotICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdCdWlsZGVy
IG5hbWUgInt9IiBpcyBsb25nZXIgdGhhbiBtYXhpbXVtIGFsbG93ZWQgYnkgQnVpbGRib3QgKHt9
IGNoYXJhY3RlcnMpLicuZm9ybWF0KGJ1aWxkZXJfbmFtZSwgQlVJTERFUl9OQU1FX0xFTkdUSF9M
SU1JVCkpCi0gICAgICAgIGlmIG5vdCBidWlsZGJvdF9pZGVudGlmaWVyc19yZS5tYXRjaChidWls
ZGVyX25hbWUpOgotICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdCdWlsZGVyIG5hbWUgInt9
IiBpcyBub3QgYSB2YWxpZCBidWlsZGJvdCBpZGVudGlmaWVyLicuZm9ybWF0KGJ1aWxkZXJfbmFt
ZSkpCiAgICAgICAgIGZvciBzdGVwIGluIGJ1aWxkZXJbImZhY3RvcnkiXS5zdGVwczoKICAgICAg
ICAgICAgIHN0ZXBfbmFtZSA9IHN0ZXAuYnVpbGRTdGVwKCkubmFtZQogICAgICAgICAgICAgaWYg
bGVuKHN0ZXBfbmFtZSkgPiBTVEVQX05BTUVfTEVOR1RIX0xJTUlUOgogICAgICAgICAgICAgICAg
IHJhaXNlIEV4Y2VwdGlvbignc3RlcCBuYW1lICJ7fSIgaXMgbG9uZ2VyIHRoYW4gbWF4aW11bSBh
bGxvd2VkIGJ5IEJ1aWxkYm90ICh7fSBjaGFyYWN0ZXJzKS4nLmZvcm1hdChzdGVwX25hbWUsIFNU
RVBfTkFNRV9MRU5HVEhfTElNSVQpKQotICAgICAgICAgICAgaWYgbm90IGJ1aWxkYm90X2lkZW50
aWZpZXJzX3JlLm1hdGNoKHN0ZXBfbmFtZSk6CisgICAgICAgICAgICBpZiBub3QgYnVpbGRib3Rf
aWRlbnRpZmllcnMuaWRlbnRfcmUubWF0Y2goc3RlcF9uYW1lKToKICAgICAgICAgICAgICAgICBy
YWlzZSBFeGNlcHRpb24oJ3N0ZXAgbmFtZSAie30iIGlzIG5vdCBhIHZhbGlkIGJ1aWxkYm90IGlk
ZW50aWZpZXIuJy5mb3JtYXQoc3RlcF9uYW1lKSkKIAogICAgICAgICBpZiBwbGF0Zm9ybS5zdGFy
dHN3aXRoKCdtYWMnKToKQEAgLTEzMCw3ICsxMTksNiBAQCBkZWYgbG9hZEJ1aWxkZXJDb25maWco
YywgaXNfdGVzdF9tb2RlX2VuCiAgICAgICAgIGlmIChjYXRlZ29yeSBpbiAoJ0FwcGxlTWFjJywg
J0FwcGxlV2luJywgJ2lPUycpKSBhbmQgZmFjdG9yeU5hbWUgIT0gJ0J1aWxkRmFjdG9yeSc6CiAg
ICAgICAgICAgICBidWlsZGVyWyduZXh0QnVpbGQnXSA9IHBpY2tMYXRlc3RCdWlsZAogCi0gICAg
ICAgIGJ1aWxkZXJbJ3RhZ3MnXSA9IGdldFRhZ3NGb3JCdWlsZGVyKGJ1aWxkZXIpCiAgICAgICAg
IGNbJ2J1aWxkZXJzJ10uYXBwZW5kKGJ1aWxkZXIpCiAKIApAQCAtMTQ0LDYgKzEzMiw5MSBAQCBj
bGFzcyBQbGF0Zm9ybVNwZWNpZmljU2NoZWR1bGVyKEFueUJyYW5jCiAgICAgICAgIHJldHVybiB3
a2J1aWxkLnNob3VsZF9idWlsZChzZWxmLnBsYXRmb3JtLCBjaGFuZ2UuZmlsZXMpCiAKIAorZGVm
IGNoZWNrVmFsaWRXb3JrZXIod29ya2VyKToKKyAgICBpZiBub3Qgd29ya2VyOgorICAgICAgICBy
YWlzZSBFeGNlcHRpb24oJ1dvcmtlciBpcyBOb25lIG9yIEVtcHR5LicpCisKKyAgICBpZiBub3Qg
d29ya2VyLmdldCgnbmFtZScpOgorICAgICAgICByYWlzZSBFeGNlcHRpb24oJ1dvcmtlciAie30i
IGRvZXMgbm90IGhhdmUgbmFtZSBkZWZpbmVkLicuZm9ybWF0KHdvcmtlcikpCisKKyAgICBpZiBu
b3Qgd29ya2VyLmdldCgncGxhdGZvcm0nKToKKyAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdXb3Jr
ZXIge30gZG9lcyBub3QgaGF2ZSBwbGF0Zm9ybSBkZWZpbmVkLicuZm9ybWF0KHdvcmtlclsnbmFt
ZSddKSkKKworCitkZWYgY2hlY2tWYWxpZEJ1aWxkZXIoY29uZmlnLCBidWlsZGVyKToKKyAgICBp
ZiBub3QgYnVpbGRlcjoKKyAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdCdWlsZGVyIGlzIE5vbmUg
b3IgRW1wdHkuJykKKworICAgIGlmIG5vdCBidWlsZGVyLmdldCgnbmFtZScpOgorICAgICAgICBy
YWlzZSBFeGNlcHRpb24oJ0J1aWxkZXIgInt9IiBkb2VzIG5vdCBoYXZlIG5hbWUgZGVmaW5lZC4n
LmZvcm1hdChidWlsZGVyKSkKKworICAgIGlmIG5vdCBidWlsZGJvdF9pZGVudGlmaWVycy5pZGVu
dF9yZS5tYXRjaChidWlsZGVyWyduYW1lJ10pOgorICAgICAgICByYWlzZSBFeGNlcHRpb24oJ0J1
aWxkZXIgbmFtZSB7fSBpcyBub3QgYSB2YWxpZCBidWlsZGJvdCBpZGVudGlmaWVyLicuZm9ybWF0
KGJ1aWxkZXJbJ25hbWUnXSkpCisKKyAgICBpZiBsZW4oYnVpbGRlclsnbmFtZSddKSA+IEJVSUxE
RVJfTkFNRV9MRU5HVEhfTElNSVQ6CisgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignQnVpbGRlciBu
YW1lIHt9IGlzIGxvbmdlciB0aGFuIG1heGltdW0gYWxsb3dlZCBieSBCdWlsZGJvdCAoe30gY2hh
cmFjdGVycykuJy5mb3JtYXQoYnVpbGRlclsnbmFtZSddLCBCVUlMREVSX05BTUVfTEVOR1RIX0xJ
TUlUKSkKKworICAgIGlmICdjb25maWd1cmF0aW9uJyBpbiBidWlsZGVyIGFuZCBidWlsZGVyWydj
b25maWd1cmF0aW9uJ10gbm90IGluIFsnZGVidWcnLCAncHJvZHVjdGlvbicsICdyZWxlYXNlJ106
CisgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignSW52YWxpZCBjb25maWd1cmF0aW9uOiB7fSBmb3Ig
YnVpbGRlcjoge30nLmZvcm1hdChidWlsZGVyLmdldCgnY29uZmlndXJhdGlvbicpLCBidWlsZGVy
LmdldCgnbmFtZScpKSkKKworICAgIGlmIG5vdCBidWlsZGVyLmdldCgnZmFjdG9yeScpOgorICAg
ICAgICByYWlzZSBFeGNlcHRpb24oJ0J1aWxkZXIge30gZG9lcyBub3QgaGF2ZSBmYWN0b3J5IGRl
ZmluZWQuJy5mb3JtYXQoYnVpbGRlclsnbmFtZSddKSkKKworICAgIGlmIG5vdCBidWlsZGVyLmdl
dCgncGxhdGZvcm0nKToKKyAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdCdWlsZGVyIHt9IGRvZXMg
bm90IGhhdmUgcGxhdGZvcm0gZGVmaW5lZC4nLmZvcm1hdChidWlsZGVyWyduYW1lJ10pKQorCisg
ICAgZm9yIHRyaWdnZXIgaW4gYnVpbGRlci5nZXQoJ3RyaWdnZXJzJykgb3IgW106CisgICAgICAg
IGlmIG5vdCBkb2VzVHJpZ2dlckV4aXN0KGNvbmZpZywgdHJpZ2dlcik6CisgICAgICAgICAgICBy
YWlzZSBFeGNlcHRpb24oJ1RyaWdnZXI6IHt9IGluIGJ1aWxkZXIge30gZG9lcyBub3QgZXhpc3Qg
aW4gbGlzdCBvZiBUcmlnZXJyYWJsZSBzY2hlZHVsZXJzLicuZm9ybWF0KHRyaWdnZXIsIGJ1aWxk
ZXJbJ25hbWUnXSkpCisKKworZGVmIGNoZWNrVmFsaWRTY2hlZHVsZXJzKGNvbmZpZywgc2NoZWR1
bGVycyk6CisgICAgZm9yIHNjaGVkdWxlciBpbiBjb25maWcuZ2V0KCdzY2hlZHVsZXJzJykgb3Ig
W106CisgICAgICAgIGlmIHNjaGVkdWxlci5nZXQoJ3R5cGUnKSA9PSAnVHJpZ2dlcmFibGUnOgor
ICAgICAgICAgICAgaWYgbm90IGlzVHJpZ2dlclVzZWRCeUFueUJ1aWxkZXIoY29uZmlnLCBzY2hl
ZHVsZXJbJ25hbWUnXSkgYW5kICdidWlsZCcgbm90IGluIHNjaGVkdWxlclsnbmFtZSddLmxvd2Vy
KCk6CisgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdUcmlnZ2VyOiB7fSBpcyBub3Qg
dXNlZCBieSBhbnkgYnVpbGRlciBpbiBjb25maWcuanNvbicuZm9ybWF0KHNjaGVkdWxlclsnbmFt
ZSddKSkKKworCitkZWYgZG9lc1RyaWdnZXJFeGlzdChjb25maWcsIHRyaWdnZXIpOgorICAgIGZv
ciBzY2hlZHVsZXIgaW4gY29uZmlnLmdldCgnc2NoZWR1bGVycycpIG9yIFtdOgorICAgICAgICBp
ZiBzY2hlZHVsZXIuZ2V0KCduYW1lJykgPT0gdHJpZ2dlcjoKKyAgICAgICAgICAgIHJldHVybiBU
cnVlCisgICAgcmV0dXJuIEZhbHNlCisKKworZGVmIGlzVHJpZ2dlclVzZWRCeUFueUJ1aWxkZXIo
Y29uZmlnLCB0cmlnZ2VyKToKKyAgICBmb3IgYnVpbGRlciBpbiBjb25maWcuZ2V0KCdidWlsZGVy
cycpOgorICAgICAgICBpZiB0cmlnZ2VyIGluIChidWlsZGVyLmdldCgndHJpZ2dlcnMnKSBvciBb
XSk6CisgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgIHJldHVybiBGYWxzZQorCisKK2RlZiBj
aGVja1dvcmtlcnNBbmRCdWlsZGVyc0ZvckNvbnNpc3RlbmN5KGNvbmZpZywgd29ya2VycywgYnVp
bGRlcnMpOgorICAgIGRlZiBfZmluZF93b3JrZXJfd2l0aF9uYW1lKHdvcmtlcnMsIHdvcmtlcl9u
YW1lKToKKyAgICAgICAgcmVzdWx0ID0gTm9uZQorICAgICAgICBmb3Igd29ya2VyIGluIHdvcmtl
cnM6CisgICAgICAgICAgICBpZiB3b3JrZXJbJ25hbWUnXSA9PSB3b3JrZXJfbmFtZToKKyAgICAg
ICAgICAgICAgICBpZiBub3QgcmVzdWx0OgorICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB3
b3JrZXIKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBF
eGNlcHRpb24oJ0R1cGxpY2F0ZSB3b3JrZXIgZW50cnkgZm91bmQgZm9yIHt9LicuZm9ybWF0KHdv
cmtlclsnbmFtZSddKSkKKyAgICAgICAgcmV0dXJuIHJlc3VsdAorCisgICAgZm9yIHdvcmtlciBp
biB3b3JrZXJzOgorICAgICAgICBjaGVja1ZhbGlkV29ya2VyKHdvcmtlcikKKworICAgIGZvciBi
dWlsZGVyIGluIGJ1aWxkZXJzOgorICAgICAgICBjaGVja1ZhbGlkQnVpbGRlcihjb25maWcsIGJ1
aWxkZXIpCisgICAgICAgIGZvciB3b3JrZXJfbmFtZSBpbiBidWlsZGVyWyd3b3JrZXJuYW1lcydd
OgorICAgICAgICAgICAgd29ya2VyID0gX2ZpbmRfd29ya2VyX3dpdGhfbmFtZSh3b3JrZXJzLCB3
b3JrZXJfbmFtZSkKKyAgICAgICAgICAgIGlmIHdvcmtlciBpcyBOb25lOgorICAgICAgICAgICAg
ICAgIHJhaXNlIEV4Y2VwdGlvbignQnVpbGRlciB7fSBoYXMgd29ya2VyIHt9LCB3aGljaCBpcyBu
b3QgZGVmaW5lZCBpbiB3b3JrZXJzIGxpc3QhJy5mb3JtYXQoYnVpbGRlclsnbmFtZSddLCB3b3Jr
ZXJfbmFtZSkpCisKKyAgICAgICAgICAgIGlmIHdvcmtlclsncGxhdGZvcm0nXSAhPSBidWlsZGVy
WydwbGF0Zm9ybSddIGFuZCB3b3JrZXJbJ3BsYXRmb3JtJ10gIT0gJyonIGFuZCBidWlsZGVyWydw
bGF0Zm9ybSddICE9ICcqJzoKKyAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ0J1aWxk
ZXIgInswfSIgaXMgZm9yIHBsYXRmb3JtICJ7MX0iLCBidXQgaGFzIHdvcmtlciAiezJ9IiBmb3Ig
cGxhdGZvcm0gInszfSIhJy5mb3JtYXQoCisgICAgICAgICAgICAgICAgICAgIGJ1aWxkZXJbJ25h
bWUnXSwgYnVpbGRlclsncGxhdGZvcm0nXSwgd29ya2VyWyduYW1lJ10sIHdvcmtlclsncGxhdGZv
cm0nXSkpCisKKwogZGVmIGdldEludmFsaWRUYWdzKCk6CiAgICAgIiIiCiAgICAgV2UgbWFpbnRh
aW4gYSBsaXN0IG9mIHdvcmRzIHdoaWNoIHdlIGRvIG5vdCB3YW50IHRvIGRpc3BsYXkgYXMgdGFn
IGluIGJ1aWxkYm90LgpJbmRleDogVG9vbHMvQ0lTdXBwb3J0L2J1aWxkLXdlYmtpdC1vcmcvbG9h
ZENvbmZpZ191bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DSVN1cHBvcnQvYnVpbGQt
d2Via2l0LW9yZy9sb2FkQ29uZmlnX3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAyNzM3MzApCisrKyBU
b29scy9DSVN1cHBvcnQvYnVpbGQtd2Via2l0LW9yZy9sb2FkQ29uZmlnX3VuaXR0ZXN0LnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCiAjCi0j
IENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENv
cHlyaWdodCAoQykgMjAyMC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMK
ICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjksMTEgKzI5LDE2IEBAIGltcG9ydCB1bml0
dGVzdAogCiBpbXBvcnQgbG9hZENvbmZpZwogCisKIGNsYXNzIENvbmZpZ0RvdEpTT05UZXN0KHVu
aXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgZ2V0X2NvbmZpZyhzZWxmKToKICAgICAgICAgY3dk
ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChfX2ZpbGVfXykpCiAgICAgICAgIHJl
dHVybiBqc29uLmxvYWQob3Blbihvcy5wYXRoLmpvaW4oY3dkLCAnY29uZmlnLmpzb24nKSkpCiAK
KyAgICBkZWYgdGVzdF9jb25maWd1cmF0aW9uKHNlbGYpOgorICAgICAgICBjd2QgPSBvcy5wYXRo
LmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKF9fZmlsZV9fKSkKKyAgICAgICAgbG9hZENvbmZpZy5s
b2FkQnVpbGRlckNvbmZpZyh7fSwgaXNfdGVzdF9tb2RlX2VuYWJsZWQ9VHJ1ZSwgbWFzdGVyX3By
ZWZpeF9wYXRoPWN3ZCkKKwogICAgIGRlZiB0ZXN0X2J1aWxkZXJfa2V5cyhzZWxmKToKICAgICAg
ICAgY29uZmlnID0gc2VsZi5nZXRfY29uZmlnKCkKICAgICAgICAgdmFsaWRfYnVpbGRlcl9rZXlz
ID0gWydhZGRpdGlvbmFsQXJndW1lbnRzJywgJ2FyY2hpdGVjdHVyZXMnLCAnYnVpbGRkaXInLCAn
Y29uZmlndXJhdGlvbicsICdkZXNjcmlwdGlvbicsCkBAIC05Nyw2ICsxMDIsOTggQEAgY2xhc3Mg
VGFnc0ZvckJ1aWxkZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYQogICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKGludmFsaWRUYWdzLCBleHBlY3RlZFRhZ3MpCiAKIAorY2xhc3MgVGVzdGNoZWNrVmFsaWRX
b3JrZXIodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiB0ZXN0X2ludmFsaWRfd29ya2VyKHNl
bGYpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEV4Y2VwdGlvbikgYXMgY29udGV4
dDoKKyAgICAgICAgICAgIGxvYWRDb25maWcuY2hlY2tWYWxpZFdvcmtlcih7fSkKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChjb250ZXh0LmV4Y2VwdGlvbi5hcmdzLCAoJ1dvcmtlciBpcyBOb25l
IG9yIEVtcHR5LicsKSkKKworICAgIGRlZiB0ZXN0X3dvcmtlcl93aXRoX21pc3NpbmdfbmFtZShz
ZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhFeGNlcHRpb24pIGFzIGNvbnRl
eHQ6CisgICAgICAgICAgICBsb2FkQ29uZmlnLmNoZWNrVmFsaWRXb3JrZXIoeydwbGF0Zm9ybSc6
ICdtYWMtc2llcnJhJ30pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29udGV4dC5leGNlcHRp
b24uYXJncywgKCdXb3JrZXIgIntcJ3BsYXRmb3JtXCc6IFwnbWFjLXNpZXJyYVwnfSIgZG9lcyBu
b3QgaGF2ZSBuYW1lIGRlZmluZWQuJywpKQorCisgICAgZGVmIHRlc3Rfd29ya2VyX3dpdGhfbWlz
c2luZ19wbGF0TmFtZShzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhFeGNl
cHRpb24pIGFzIGNvbnRleHQ6CisgICAgICAgICAgICBsb2FkQ29uZmlnLmNoZWNrVmFsaWRXb3Jr
ZXIoeyduYW1lJzogJ2V3czEwMSd9KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvbnRleHQu
ZXhjZXB0aW9uLmFyZ3MsICgnV29ya2VyIGV3czEwMSBkb2VzIG5vdCBoYXZlIHBsYXRmb3JtIGRl
ZmluZWQuJywpKQorCisgICAgZGVmIHRlc3RfdmFsaWRfd29ya2VyKHNlbGYpOgorICAgICAgICBs
b2FkQ29uZmlnLmNoZWNrVmFsaWRXb3JrZXIoeyduYW1lJzogJ2V3czEwMScsICdwbGF0Zm9ybSc6
ICdtYWMtc2llcnJhJ30pCisKKworY2xhc3MgVGVzdGNoZWNrVmFsaWRCdWlsZGVyKHVuaXR0ZXN0
LlRlc3RDYXNlKToKKyAgICBkZWYgdGVzdF9pbnZhbGlkX2J1aWxkZXIoc2VsZik6CisgICAgICAg
IHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoRXhjZXB0aW9uKSBhcyBjb250ZXh0OgorICAgICAgICAg
ICAgbG9hZENvbmZpZy5jaGVja1ZhbGlkQnVpbGRlcih7fSwge30pCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoY29udGV4dC5leGNlcHRpb24uYXJncywgKCdCdWlsZGVyIGlzIE5vbmUgb3IgRW1w
dHkuJywpKQorCisgICAgZGVmIHRlc3RfYnVpbGRlcl93aXRoX21pc3NpbmdfbmFtZShzZWxmKToK
KyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhFeGNlcHRpb24pIGFzIGNvbnRleHQ6Cisg
ICAgICAgICAgICBsb2FkQ29uZmlnLmNoZWNrVmFsaWRCdWlsZGVyKHt9LCB7J3BsYXRmb3JtJzog
J21hYy1zaWVycmEnfSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb250ZXh0LmV4Y2VwdGlv
bi5hcmdzLCAoJ0J1aWxkZXIgIntcJ3BsYXRmb3JtXCc6IFwnbWFjLXNpZXJyYVwnfSIgZG9lcyBu
b3QgaGF2ZSBuYW1lIGRlZmluZWQuJywpKQorCisgICAgZGVmIHRlc3RfYnVpbGRlcl93aXRoX2lu
dmFsaWRfaWRlbnRpZmllcihzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhF
eGNlcHRpb24pIGFzIGNvbnRleHQ6CisgICAgICAgICAgICBsb2FkQ29uZmlnLmNoZWNrVmFsaWRC
dWlsZGVyKHt9LCB7J25hbWUnOiAnbWFjLXdrMih0ZXN0KScsICdzaG9ydG5hbWUnOiAnbWFjLXdr
Mid9KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvbnRleHQuZXhjZXB0aW9uLmFyZ3MsICgn
QnVpbGRlciBuYW1lIG1hYy13azIodGVzdCkgaXMgbm90IGEgdmFsaWQgYnVpbGRib3QgaWRlbnRp
Zmllci4nLCkpCisKKyAgICBkZWYgdGVzdF9idWlsZGVyX3dpdGhfZXh0cmFfbG9uZ19uYW1lKHNl
bGYpOgorICAgICAgICBsb25nTmFtZSA9ICdhJyAqIDcxCisgICAgICAgIHdpdGggc2VsZi5hc3Nl
cnRSYWlzZXMoRXhjZXB0aW9uKSBhcyBjb250ZXh0OgorICAgICAgICAgICAgbG9hZENvbmZpZy5j
aGVja1ZhbGlkQnVpbGRlcih7fSwgeyduYW1lJzogbG9uZ05hbWUsICdzaG9ydG5hbWUnOiAnYSd9
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvbnRleHQuZXhjZXB0aW9uLmFyZ3MsICgnQnVp
bGRlciBuYW1lIHt9IGlzIGxvbmdlciB0aGFuIG1heGltdW0gYWxsb3dlZCBieSBCdWlsZGJvdCAo
NzAgY2hhcmFjdGVycykuJy5mb3JtYXQobG9uZ05hbWUpLCkpCisKKyAgICBkZWYgdGVzdF9idWls
ZGVyX3dpdGhfaW52YWxpZF9jb25maWd1cmF0aW9uKHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYu
YXNzZXJ0UmFpc2VzKEV4Y2VwdGlvbikgYXMgY29udGV4dDoKKyAgICAgICAgICAgIGxvYWRDb25m
aWcuY2hlY2tWYWxpZEJ1aWxkZXIoe30sIHsnbmFtZSc6ICdtYWMtd2syJywgJ3Nob3J0bmFtZSc6
ICdtYWMtd2syJywgJ2NvbmZpZ3VyYXRpb24nOiAnYXNhbid9KQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGNvbnRleHQuZXhjZXB0aW9uLmFyZ3MsICgnSW52YWxpZCBjb25maWd1cmF0aW9uOiBh
c2FuIGZvciBidWlsZGVyOiBtYWMtd2syJywpKQorCisgICAgZGVmIHRlc3RfYnVpbGRlcl93aXRo
X21pc3NpbmdfZmFjdG9yeShzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhF
eGNlcHRpb24pIGFzIGNvbnRleHQ6CisgICAgICAgICAgICBsb2FkQ29uZmlnLmNoZWNrVmFsaWRC
dWlsZGVyKHt9LCB7J25hbWUnOiAnbWFjLXdrMicsICdzaG9ydG5hbWUnOiAnbWFjLXdrMicsICdj
b25maWd1cmF0aW9uJzogJ3JlbGVhc2UnfSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb250
ZXh0LmV4Y2VwdGlvbi5hcmdzLCAoJ0J1aWxkZXIgbWFjLXdrMiBkb2VzIG5vdCBoYXZlIGZhY3Rv
cnkgZGVmaW5lZC4nLCkpCisKKyAgICBkZWYgdGVzdF9idWlsZGVyX3dpdGhfbWlzc2luZ19zY2hl
ZHVsZXIoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoRXhjZXB0aW9uKSBh
cyBjb250ZXh0OgorICAgICAgICAgICAgbG9hZENvbmZpZy5jaGVja1ZhbGlkQnVpbGRlcih7fSwg
eyduYW1lJzogJ21hYy13azInLCAnc2hvcnRuYW1lJzogJ21hYy13azInLCAnY29uZmlndXJhdGlv
bic6ICdyZWxlYXNlJywgJ2ZhY3RvcnknOiAnV0syRmFjdG9yeScsICdwbGF0Zm9ybSc6ICdtYWMt
c2llcnJhJywgJ3RyaWdnZXJzJzogWydhcGktdGVzdHMtbWFjLWV3cyddfSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChjb250ZXh0LmV4Y2VwdGlvbi5hcmdzLCAoJ1RyaWdnZXI6IGFwaS10ZXN0
cy1tYWMtZXdzIGluIGJ1aWxkZXIgbWFjLXdrMiBkb2VzIG5vdCBleGlzdCBpbiBsaXN0IG9mIFRy
aWdlcnJhYmxlIHNjaGVkdWxlcnMuJywpKQorCisgICAgZGVmIHRlc3RfYnVpbGRlcl93aXRoX21p
c3NpbmdfcGxhdGZvcm0oc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoRXhj
ZXB0aW9uKSBhcyBjb250ZXh0OgorICAgICAgICAgICAgbG9hZENvbmZpZy5jaGVja1ZhbGlkQnVp
bGRlcih7fSwgeyduYW1lJzogJ21hYy13azInLCAnc2hvcnRuYW1lJzogJ21hYy13azInLCAnY29u
ZmlndXJhdGlvbic6ICdyZWxlYXNlJywgJ2ZhY3RvcnknOiAnV0syRmFjdG9yeSd9KQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKGNvbnRleHQuZXhjZXB0aW9uLmFyZ3MsICgnQnVpbGRlciBtYWMt
d2syIGRvZXMgbm90IGhhdmUgcGxhdGZvcm0gZGVmaW5lZC4nLCkpCisKKyAgICBkZWYgdGVzdF92
YWxpZF9idWlsZGVyKHNlbGYpOgorICAgICAgICBsb2FkQ29uZmlnLmNoZWNrVmFsaWRCdWlsZGVy
KHt9LCB7J25hbWUnOiAnbWFjT1MtSGlnaC1TaWVycmEtV0syLUVXUycsICdzaG9ydG5hbWUnOiAn
bWFjLXdrMicsICdjb25maWd1cmF0aW9uJzogJ3JlbGVhc2UnLCAnZmFjdG9yeSc6ICdXSzJGYWN0
b3J5JywgJ3BsYXRmb3JtJzogJ21hYy1zaWVycmEnfSkKKworCitjbGFzcyBUZXN0Y2hlY2tXb3Jr
ZXJzQW5kQnVpbGRlcnNGb3JDb25zaXN0ZW5jeSh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVm
IF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHNlbGYuV0syQnVpbGRl
ciA9IHsnbmFtZSc6ICdtYWNPUy1IaWdoLVNpZXJyYS1XSzItRVdTJywgJ3Nob3J0bmFtZSc6ICdt
YWMtd2syJywgJ2ZhY3RvcnknOiAnV0syRmFjdG9yeScsICdwbGF0Zm9ybSc6ICdtYWMtc2llcnJh
JywgJ3dvcmtlcm5hbWVzJzogWydld3MxMDEnLCAnZXdzMTAyJ119CisgICAgICAgIHNlbGYuZXdz
MTAxID0geyduYW1lJzogJ2V3czEwMScsICdwbGF0Zm9ybSc6ICdtYWMtc2llcnJhJ30KKyAgICAg
ICAgc2VsZi5ld3MxMDIgPSB7J25hbWUnOiAnZXdzMTAyJywgJ3BsYXRmb3JtJzogJ2lvcy0xMSd9
CisgICAgICAgIHN1cGVyKFRlc3RjaGVja1dvcmtlcnNBbmRCdWlsZGVyc0ZvckNvbnNpc3RlbmN5
LCBzZWxmKS5fX2luaXRfXygqYXJncywgKiprd2FyZ3MpCisKKyAgICBkZWYgdGVzdF9jaGVja1dv
cmtlcnNBbmRCdWlsZGVyc0ZvckNvbnNpc3RlbmN5KHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYu
YXNzZXJ0UmFpc2VzKEV4Y2VwdGlvbikgYXMgY29udGV4dDoKKyAgICAgICAgICAgIGxvYWRDb25m
aWcuY2hlY2tXb3JrZXJzQW5kQnVpbGRlcnNGb3JDb25zaXN0ZW5jeSh7fSwgW10sIFtzZWxmLldL
MkJ1aWxkZXJdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvbnRleHQuZXhjZXB0aW9uLmFy
Z3MsICgnQnVpbGRlciBtYWNPUy1IaWdoLVNpZXJyYS1XSzItRVdTIGhhcyB3b3JrZXIgZXdzMTAx
LCB3aGljaCBpcyBub3QgZGVmaW5lZCBpbiB3b3JrZXJzIGxpc3QhJywpKQorCisgICAgZGVmIHRl
c3RfY2hlY2tXb3JrZXJzQW5kQnVpbGRlcnNGb3JDb25zaXN0ZW5jeTEoc2VsZik6CisgICAgICAg
IHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoRXhjZXB0aW9uKSBhcyBjb250ZXh0OgorICAgICAgICAg
ICAgbG9hZENvbmZpZy5jaGVja1dvcmtlcnNBbmRCdWlsZGVyc0ZvckNvbnNpc3RlbmN5KHt9LCBb
c2VsZi5ld3MxMDEsIHNlbGYuZXdzMTAyXSwgW3NlbGYuV0syQnVpbGRlcl0pCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoY29udGV4dC5leGNlcHRpb24uYXJncywgKCdCdWlsZGVyICJtYWNPUy1I
aWdoLVNpZXJyYS1XSzItRVdTIiBpcyBmb3IgcGxhdGZvcm0gIm1hYy1zaWVycmEiLCBidXQgaGFz
IHdvcmtlciAiZXdzMTAyIiBmb3IgcGxhdGZvcm0gImlvcy0xMSIhJywpKQorCisgICAgZGVmIHRl
c3RfZHVwbGljYXRlX3dvcmtlcihzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNl
cyhFeGNlcHRpb24pIGFzIGNvbnRleHQ6CisgICAgICAgICAgICBsb2FkQ29uZmlnLmNoZWNrV29y
a2Vyc0FuZEJ1aWxkZXJzRm9yQ29uc2lzdGVuY3koe30sIFtzZWxmLmV3czEwMSwgc2VsZi5ld3Mx
MDFdLCBbc2VsZi5XSzJCdWlsZGVyXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb250ZXh0
LmV4Y2VwdGlvbi5hcmdzLCAoJ0R1cGxpY2F0ZSB3b3JrZXIgZW50cnkgZm91bmQgZm9yIGV3czEw
MS4nLCkpCisKKyAgICBkZWYgdGVzdF9zdWNjZXNzKHNlbGYpOgorICAgICAgICBsb2FkQ29uZmln
LmNoZWNrV29ya2Vyc0FuZEJ1aWxkZXJzRm9yQ29uc2lzdGVuY3koe30sIFtzZWxmLmV3czEwMSwg
eyduYW1lJzogJ2V3czEwMicsICdwbGF0Zm9ybSc6ICdtYWMtc2llcnJhJ31dLCBbc2VsZi5XSzJC
dWlsZGVyXSkKKworCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgIGZyb20gc3RlcHNf
dW5pdHRlc3Rfb2xkIGltcG9ydCBCdWlsZEJvdENvbmZpZ0xvYWRlcgogICAgIEJ1aWxkQm90Q29u
ZmlnTG9hZGVyKCkuX2FkZF9kZXBlbmRlbnRfbW9kdWxlc190b19zeXNfbW9kdWxlcygpCkluZGV4
OiBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2xvYWRDb25maWcucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9sb2FkQ29uZmlnLnB5CShyZXZpc2lvbiAyNzM3MzAp
CisrKyBUb29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2xvYWRDb25maWcucHkJKHdvcmtpbmcgY29w
eSkKQEAgLTE3NSw3ICsxNzUsNyBAQCBkZWYgY2hlY2tXb3JrZXJzQW5kQnVpbGRlcnNGb3JDb25z
aXN0ZW5jCiAgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdCdWlsZGVyIHt9IGhhcyB3
b3JrZXIge30sIHdoaWNoIGlzIG5vdCBkZWZpbmVkIGluIHdvcmtlcnMgbGlzdCEnLmZvcm1hdChi
dWlsZGVyWyduYW1lJ10sIHdvcmtlcl9uYW1lKSkKIAogICAgICAgICAgICAgaWYgd29ya2VyWydw
bGF0Zm9ybSddICE9IGJ1aWxkZXJbJ3BsYXRmb3JtJ10gYW5kIHdvcmtlclsncGxhdGZvcm0nXSAh
PSAnKicgYW5kIGJ1aWxkZXJbJ3BsYXRmb3JtJ10gIT0gJyonOgotICAgICAgICAgICAgICAgIHJh
aXNlIEV4Y2VwdGlvbignQnVpbGRlciB7MH0gaXMgZm9yIHBsYXRmb3JtIHsxfSwgYnV0IGhhcyB3
b3JrZXIgezJ9IGZvciBwbGF0Zm9ybSB7M30hJy5mb3JtYXQoCisgICAgICAgICAgICAgICAgcmFp
c2UgRXhjZXB0aW9uKCdCdWlsZGVyICJ7MH0iIGlzIGZvciBwbGF0Zm9ybSAiezF9IiwgYnV0IGhh
cyB3b3JrZXIgInsyfSIgZm9yIHBsYXRmb3JtICJ7M30iIScuZm9ybWF0KAogICAgICAgICAgICAg
ICAgICAgICBidWlsZGVyWyduYW1lJ10sIGJ1aWxkZXJbJ3BsYXRmb3JtJ10sIHdvcmtlclsnbmFt
ZSddLCB3b3JrZXJbJ3BsYXRmb3JtJ10pKQogCiAKSW5kZXg6IFRvb2xzL0NJU3VwcG9ydC9ld3Mt
YnVpbGQvbG9hZENvbmZpZ191bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DSVN1cHBv
cnQvZXdzLWJ1aWxkL2xvYWRDb25maWdfdW5pdHRlc3QucHkJKHJldmlzaW9uIDI3MzczMCkKKysr
IFRvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvbG9hZENvbmZpZ191bml0dGVzdC5weQkod29ya2lu
ZyBjb3B5KQpAQCAtMjI0LDcgKzIyNCw3IEBAIGNsYXNzIFRlc3RjaGVja1dvcmtlcnNBbmRCdWls
ZGVyc0ZvckNvbnMKICAgICBkZWYgdGVzdF9jaGVja1dvcmtlcnNBbmRCdWlsZGVyc0ZvckNvbnNp
c3RlbmN5MShzZWxmKToKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhFeGNlcHRpb24p
IGFzIGNvbnRleHQ6CiAgICAgICAgICAgICBsb2FkQ29uZmlnLmNoZWNrV29ya2Vyc0FuZEJ1aWxk
ZXJzRm9yQ29uc2lzdGVuY3koe30sIFtzZWxmLmV3czEwMSwgc2VsZi5ld3MxMDJdLCBbc2VsZi5X
SzJCdWlsZGVyXSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb250ZXh0LmV4Y2VwdGlvbi5h
cmdzLCAoJ0J1aWxkZXIgbWFjT1MtSGlnaC1TaWVycmEtV0syLUVXUyBpcyBmb3IgcGxhdGZvcm0g
bWFjLXNpZXJyYSwgYnV0IGhhcyB3b3JrZXIgZXdzMTAyIGZvciBwbGF0Zm9ybSBpb3MtMTEhJywp
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvbnRleHQuZXhjZXB0aW9uLmFyZ3MsICgnQnVp
bGRlciAibWFjT1MtSGlnaC1TaWVycmEtV0syLUVXUyIgaXMgZm9yIHBsYXRmb3JtICJtYWMtc2ll
cnJhIiwgYnV0IGhhcyB3b3JrZXIgImV3czEwMiIgZm9yIHBsYXRmb3JtICJpb3MtMTEiIScsKSkK
IAogICAgIGRlZiB0ZXN0X2R1cGxpY2F0ZV93b3JrZXIoc2VsZik6CiAgICAgICAgIHdpdGggc2Vs
Zi5hc3NlcnRSYWlzZXMoRXhjZXB0aW9uKSBhcyBjb250ZXh0Ogo=
</data>

          </attachment>
      

    </bug>

</bugzilla>