<?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>115459</bug_id>
          
          <creation_ts>2013-04-30 17:34:24 -0700</creation_ts>
          <short_desc>Remove the remaining wscript</short_desc>
          <delta_ts>2013-05-01 13:51:05 -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>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>883355</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-04-30 17:34:24 -0700</bug_when>
    <thetext>Remove the remaining wscript</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883356</commentid>
    <comment_count>1</comment_count>
      <attachid>200193</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-04-30 17:35:18 -0700</bug_when>
    <thetext>Created attachment 200193
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883519</commentid>
    <comment_count>2</comment_count>
      <attachid>200193</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-05-01 13:51:03 -0700</bug_when>
    <thetext>Comment on attachment 200193
Patch

Clearing flags on attachment: 200193

Committed r149451: &lt;http://trac.webkit.org/changeset/149451&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883520</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-05-01 13:51:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>200193</attachid>
            <date>2013-04-30 17:35:18 -0700</date>
            <delta_ts>2013-05-01 13:51:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115459-20130430173433.patch</filename>
            <type>text/plain</type>
            <size>27007</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5NDEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ZDY3M2VhNmVkMGU4OWU3YTBiYWRmNjE3MDI2ZTViNjQyOThiMzI2Li40MGIzM2UzYmExOWI0MWU5
N2U5ODU1YWZhNjk5MzMzMzdjZGFmMGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMy0wNC0zMCAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHRoZSByZW1haW5pbmcgd3NjcmlwdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE1NDU5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3c2NyaXB0OiBSZW1vdmVk
LgorCiAyMDEzLTA0LTMwICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAg
ICAgSlNDIFN0YWNrIHdhbGtpbmcgbG9naWMgY3JhY2hlcyBpbiB0aGUgZmFjZSBvZiBpbmxpbmVk
IGZ1bmN0aW9ucyB0cmlnZ2VyaW5nIFZNIHJlLWVudHJ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3NjcmlwdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93c2NyaXB0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMjcwNDU1Yzg1NGMyZWRjZGU0MzgzMjQ5ODBjMGRl
Zjk3MzQ3ZjQ0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93c2NyaXB0CisrKyAvZGV2L251bGwKQEAgLTEsOTAgKzAs
MCBAQAotIyEgL3Vzci9iaW4vZW52IHB5dGhvbgotCi0jIENvcHlyaWdodCAoQykgMjAwOSBLZXZp
biBPbGxpdmllciAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0jIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotIyBhcmUgbWV0OgotIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0j
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSMgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotIyBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQotIyBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSMgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0jIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotIyBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0jIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgotIyBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0jIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotIyAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSMg
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCi0jCi0jIEphdmFTY3JpcHRDb3JlIGJ1aWxkIHNjcmlwdCBmb3IgdGhlIHdh
ZiBidWlsZCBzeXN0ZW0KLQotaW1wb3J0IGNvbW1hbmRzCi0KLWZyb20gc2V0dGluZ3MgaW1wb3J0
ICoKLQotZGVmIGJ1aWxkKGJsZCk6Ci0KLSAgICBpbXBvcnQgT3B0aW9ucwotCi0gICAganNjb3Jl
X2V4Y2x1ZGVzID0gWydqc2MuY3BwJywgJ0V4ZWN1dGFibGVBbGxvY2F0b3JQb3NpeC5jcHAnLCAn
TExJbnRPZmZzZXRzRXh0cmFjdG9yLmNwcCcsICd1ZGlzODZfaXRhYi5jJ10KLSAgICBqc2NvcmVf
ZXhjbHVkZV9wYXR0ZXJucyA9IGdldF9wb3J0X2V4Y2x1ZGVzKE9wdGlvbnMub3B0aW9ucy5wb3J0
KQotICAgIGpzY29yZV9leGNsdWRlX3BhdHRlcm5zLmFwcGVuZCgnKk5vbmUuY3BwJykKLQotICAg
IHNvdXJjZXMgPSBbXQotCi0gICAgaWYgT3B0aW9ucy5vcHRpb25zLnBvcnQgPT0gInd4IjoKLSAg
ICAgICAgaWYgYnVpbGRpbmdfb25fd2luMzI6Ci0gICAgICAgICAgICBqc2NvcmVfZXhjbHVkZXMg
Kz0gWydPU0FsbG9jYXRvclBvc2l4LmNwcCcsICdUaHJlYWRpbmdQdGhyZWFkcy5jcHAnXQotICAg
ICAgICAgICAgc291cmNlcy5leHRlbmQoWycuLi9XVEYvd3RmL1RocmVhZGluZ1dpbi5jcHAnLCAn
Li4vV1RGL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAnLCAnLi4vV1RGL3d0Zi9PU0FsbG9jYXRv
cldpbi5jcHAnXSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGpzY29yZV9leGNsdWRlcy5h
cHBlbmQoJ0pTU3RyaW5nUmVmQlNUUi5jcHAnKQotCi0gICAgYmxkLmVudi5MSUJESVIgPSBvdXRw
dXRfZGlyCi0gICAgZnVsbF9kaXJzID0gZ2V0X2RpcnNfZm9yX2ZlYXR1cmVzKGpzY29yZV9kaXIs
IGZlYXR1cmVzPVtPcHRpb25zLm9wdGlvbnMucG9ydC5sb3dlcigpXSwgZGlycz1qc2NvcmVfZGly
cykKLSAgICBhYnNfZGlycyA9IFtdCi0gICAgZm9yIGFkaXIgaW4gZnVsbF9kaXJzOgotICAgICAg
ICBhYnNfZGlycy5hcHBlbmQob3MucGF0aC5qb2luKGpzY29yZV9kaXIsIGFkaXIpKQotCi0gICAg
anNjb3JlX2V4Y2x1ZGVzLmV4dGVuZChnZXRfZXhjbHVkZXNfaW5fZGlycyhhYnNfZGlycywganNj
b3JlX2V4Y2x1ZGVfcGF0dGVybnMpKQotCi0gICAgaW5jbHVkZXMgPSBjb21tb25faW5jbHVkZXMg
KyBmdWxsX2RpcnMgKyBbb3V0cHV0X2Rpcl0KLSAgICBpZiBzeXMucGxhdGZvcm0uc3RhcnRzd2l0
aCgnZGFyd2luJyk6Ci0gICAgICAgIGluY2x1ZGVzLmFwcGVuZChvcy5wYXRoLmpvaW4oanNjb3Jl
X2RpciwgJ2ljdScpKQotCi0gICAgIyAxLiBBIHNpbXBsZSBwcm9ncmFtCi0gICAganNjb3JlID0g
YmxkLm5ld190YXNrX2dlbigKLSAgICAgICAgZmVhdHVyZXMgPSAnY2MgY3h4IGNzaGxpYicsCi0g
ICAgICAgIGluY2x1ZGVzID0gJy4gLi4gYXNzZW1ibGVyIC4uL1dURiAnICsgJyAnLmpvaW4oaW5j
bHVkZXMpLAotICAgICAgICBzb3VyY2UgPSBzb3VyY2VzLAotICAgICAgICBkZWZpbmVzID0gWydC
VUlMRElOR19KYXZhU2NyaXB0Q29yZSddLAotICAgICAgICB0YXJnZXQgPSAnanNjb3JlJywKLSAg
ICAgICAgdXNlbGliID0gJ1dYIElDVSAnICsgZ2V0X2NvbmZpZygpLAotICAgICAgICB1c2VsaWJf
bG9jYWwgPSAnJywKLSAgICAgICAgaW5zdGFsbF9wYXRoID0gb3V0cHV0X2RpcikKLQotICAgIGpz
Y29yZS5maW5kX3NvdXJjZXNfaW5fZGlycyhmdWxsX2RpcnMsIGV4Y2x1ZGVzID0ganNjb3JlX2V4
Y2x1ZGVzKQotICAgIAotICAgIG9iaiA9IGJsZC5uZXdfdGFza19nZW4oCi0gICAgICAgIGZlYXR1
cmVzID0gJ2N4eCBjcHJvZ3JhbScsCi0gICAgICAgIGluY2x1ZGVzID0gJy4gLi4gYXNzZW1ibGVy
IC4uL1dURiAnICsgJyAnLmpvaW4oaW5jbHVkZXMpLAotICAgICAgICBzb3VyY2UgPSAnanNjLmNw
cCcsCi0gICAgICAgIHRhcmdldCA9ICdqc2MnLAotICAgICAgICB1c2VsaWIgPSAnV1ggSUNVICcg
KyBnZXRfY29uZmlnKCksCi0gICAgICAgIHVzZWxpYl9sb2NhbCA9ICdqc2NvcmUnLAotICAgICAg
ICBpbnN0YWxsX3BhdGggPSBvdXRwdXRfZGlyLAotICAgICAgICApCi0gICAgICAgIAotICAgIGlm
IGJ1aWxkaW5nX29uX3dpbjMyOgotICAgICAgICBteWVudiA9IG9iai5lbnYuY29weSgpCi0gICAg
ICAgIG15ZW52LkNYWEZMQUdTID0gbXllbnYuQ1hYRkxBR1NbOl0KLSAgICAgICAgbXllbnYuQ1hY
RkxBR1MucmVtb3ZlKCcvRUhzYycpCi0gICAgICAgIG9iai5lbnYgPSBteWVudgotCi0gICAgYmxk
LmFkZF9ncm91cCgpCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggZDBi
NWU3MGEyZWE4NDI1MGUzM2VjNWRkYjljNGY0ZDcwYjVkMGQwYi4uNTA5NDVmMmQzNTUzOWIxMjVk
YjkxZTRmNmUxNTNiNmQyN2FhN2Q3NyAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEzLTA0LTMwICBCZW5qYW1pbiBQb3VsYWluICA8YmVu
amFtaW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgdGhlIHJlbWFpbmluZyB3c2NyaXB0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTU0NTkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdzY3Jp
cHQ6IFJlbW92ZWQuCisKIDIwMTMtMDQtMzAgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBz
aXNhLnNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIEVuYWJsZSBzY2FsZWQgY3Vyc29ycwpk
aWZmIC0tZ2l0IGEvd3NjcmlwdCBiL3dzY3JpcHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDQ1ZTAyYzVlYWYyMzJmOWJkYmIxM2FhZDA3NzU3YWIxYWNmNTc2ZjAuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvd3NjcmlwdAorKysgL2Rldi9udWxs
CkBAIC0xLDQ1MSArMCwwIEBACi0jISAvdXNyL2Jpbi9lbnYgcHl0aG9uCi0KLSMgQ29weXJpZ2h0
IChDKSAyMDA5IEtldmluIE9sbGl2aWVyICBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0jIGFyZSBtZXQ6Ci0jIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSMg
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotIyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotIwotIyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCi0jIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCi0jIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotIyBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKLSMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCi0jIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSMgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0jIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSMgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0jIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSMKLSMgV2ViQ29yZSBidWlsZCBzY3JpcHQgZm9y
IHRoZSB3YWYgYnVpbGQgc3lzdGVtCi0KLWltcG9ydCBnbG9iCi1pbXBvcnQgb3MKLWltcG9ydCBz
dWJwcm9jZXNzCi0KLWltcG9ydCBPcHRpb25zCi0KLWZyb20gc2V0dGluZ3MgaW1wb3J0ICoKLWlt
cG9ydCB3eHByZXNldHMKLQotaW1wb3J0IFRhc2tHZW4KLWZyb20gVGFza0dlbiBpbXBvcnQgdGFz
a2dlbiwgZmVhdHVyZSwgYWZ0ZXIKLWltcG9ydCBUYXNrLCBjY3Jvb3QKLQotZGVmIGNsZWFuX2Rl
cml2ZWRfc291cmNlcyhkc19jbWQpOgotICAgICMgdGhlIGJlbG93IGNvbW1hbmQgZG9lcyBub3Qg
cHJvZHVjZSB0aGUgZGVzaXJlZCBvdXRwdXQgdW5kZXIgQ3lnd2luLCBzbyBmb3Igbm93LAotICAg
ICMgZGlzYWJsZSB0aGlzIHVuZGVyIFdpbmRvd3MuCi0gICAgaWYgYnVpbGRpbmdfb25fd2luMzI6
Ci0gICAgICAgIHJldHVybgotICAgICAgICAKLSAgICBjbWQgPSBkc19jbWQgKyAiIC1xcCB8IGdy
ZXAgLXYgJ14jICcgfCBncmVwIC12ICdeW1s6c3BhY2U6XV0nIHwgZ3JlcCAtLW9ubHktbWF0Y2hp
bmcgJ14uKjonIgotICAgIG91dHB1dCA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KGNtZCwgc2hl
bGw9VHJ1ZSkKLSAgICAKLSAgICB0YXJnZXRzID0gW10KLSAgICBsaW5lcyA9IG91dHB1dC5zcGxp
dCgiXG4iKQotICAgIGZvciBsaW5lIGluIGxpbmVzOgotICAgICAgICBsaW5lID0gbGluZS5yZXBs
YWNlKCI6IiwgIiIpCi0gICAgICAgIGJhc2UgPSBvcy5wYXRoLnNwbGl0ZXh0KG9zLnBhdGguYmFz
ZW5hbWUobGluZSkpWzBdCi0gICAgICAgIGlmIG5vdCBiYXNlIGluIHRhcmdldHM6Ci0gICAgICAg
ICAgICB0YXJnZXRzLmFwcGVuZChiYXNlKQotICAgICAgICAgICAgaWYgYmFzZSA9PSAiVXNlckFn
ZW50c1N0eWxlU2hlZXQiOgotICAgICAgICAgICAgICAgIHRhcmdldHMuYXBwZW5kKCJVc2VyQWdl
bnRzU3R5bGVTaGVldERhdGEiKQotICAgIAotICAgICMgd2UncmUgaW4gdGhlIERlcml2ZWRTb3Vy
Y2VzIGRpcmVjdG9yeSB3aGVuIHRoaXMgY29tbWFuZCBpcyBydW4uCi0gICAgZHNfZmlsZXMgPSBn
bG9iLmdsb2IoIiouKiIpCi0gICAgZm9yIGRzX2ZpbGUgaW4gZHNfZmlsZXM6Ci0gICAgICAgIGZp
bGVuYW1lID0gb3MucGF0aC5iYXNlbmFtZShkc19maWxlKQotICAgICAgICBiYXNlbmFtZSA9IG9z
LnBhdGguc3BsaXRleHQoZmlsZW5hbWUpWzBdCi0gICAgICAgICMgRm9yIG5vdywganVzdCByZW1v
dmUgSlMqLmgvLmNwcCBhbmQgV2ViRE9NKi5oLy5jcHAgd2hlbiB0aGVyZSBhcmUgbm8gbG9uZ2Vy
IHRhcmdldHMKLSAgICAgICAgIyBmb3IgdGhlbS4gT3RoZXIgdGFyZ2V0cyBtYXkgZ2VuZXJhdGUg
c3VwcGxlbWVudGFsIGZpbGVzIHNvIHdlIGNhbid0IHJlbGlhYmx5IGNsZWFuIHRoZW0uCi0gICAg
ICAgIGlmIG5vdCBiYXNlbmFtZSBpbiB0YXJnZXRzIGFuZCAoYmFzZW5hbWUuc3RhcnRzd2l0aCgi
SlMiKSBvciBiYXNlbmFtZS5zdGFydHN3aXRoKCJXZWJET00iKSk6Ci0gICAgICAgICAgICBwcmlu
dCAiSU5GTzogJXMgaXMgbm8gbG9uZ2VyIGdlbmVyYXRlZCBidXQgcHJlc2VudCBpbiBnZW5lcmF0
ZWQgZmlsZXMgZGlyZWN0b3J5LiBSZW1vdmluZy4iICUgZmlsZW5hbWUKLSAgICAgICAgICAgIG9z
LnJlbW92ZShkc19maWxlKQotICAgIAotZGVmIGdlbmVyYXRlX3dlYmNvcmVfZGVyaXZlZF9zb3Vy
Y2VzKGNvbmYpOgotICAgICMgYnVpbGQgdGhlIGRlcml2ZWQgc291cmNlcwotICAgIGRlcml2ZWRf
c291cmNlc19kaXIgPSBvcy5wYXRoLmpvaW4od2ViY29yZV9kaXIsICdEZXJpdmVkU291cmNlcycp
Ci0gICAgd2NfZGlyID0gd2ViY29yZV9kaXIKLSAgICBpZiBidWlsZGluZ19vbl93aW4zMjoKLSAg
ICAgICAgd2NfZGlyID0gZ2V0X291dHB1dCgnY3lncGF0aCAtLXVuaXggIiVzIicgJSB3Y19kaXIp
Ci0gICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGRlcml2ZWRfc291cmNlc19kaXIpOgotICAgICAg
ICBvcy5ta2RpcihkZXJpdmVkX3NvdXJjZXNfZGlyKQotCi0gICAgb2xkZGlyID0gb3MuZ2V0Y3dk
KCkKLSAgICBvcy5jaGRpcihkZXJpdmVkX3NvdXJjZXNfZGlyKQotICAgIAotICAgICMgRGVyaXZl
ZFNvdXJjZXMubWFrZSBleHBlY3RzIEN5Z3dpbiAoaS5lLiBVbml4LXN0eWxlKSBweXRob24sIHNv
IHVzZSB0aGF0IGluc3RlYWQuCi0gICAgaWYgYnVpbGRpbmdfb25fd2luMzI6Ci0gICAgICAgIG9s
ZHBhdGggPSBvcy5lbnZpcm9uWyJQQVRIIl0KLSAgICAgICAgb3MuZW52aXJvblsiUEFUSCJdID0g
Ii91c3IvYmluIiArIG9zLnBhdGhzZXAgKyBvcy5lbnZpcm9uWyJQQVRIIl0KLSAgICBjb21tYW5k
ID0gJ21ha2UgLWYgJXMvRGVyaXZlZFNvdXJjZXMubWFrZSBXZWJDb3JlPSVzIFNPVVJDRV9ST09U
PSVzIGFsbCBGRUFUVVJFX0RFRklORVM9IiVzIicgJSAod2NfZGlyLCB3Y19kaXIsIHdjX2Rpciwg
Y29uZi5lbnZbIkZFQVRVUkVfREVGSU5FUyJdKQotICAgIGNsZWFuX2Rlcml2ZWRfc291cmNlcyhj
b21tYW5kKQotICAgIG9zLnN5c3RlbShjb21tYW5kKQotICAgIGlmIGJ1aWxkaW5nX29uX3dpbjMy
OgotICAgICAgICBvcy5lbnZpcm9uWyJQQVRIIl0gPSBvbGRwYXRoCi0gICAgCi0gICAgb3MuY2hk
aXIob2xkZGlyKQotCi1kZWYgZ2VuZXJhdGVfanNjb3JlX2Rlcml2ZWRfc291cmNlcyhjb25mKToK
LSAgICAjIGJ1aWxkIHRoZSBkZXJpdmVkIHNvdXJjZXMKLSAgICBqc19kaXIgPSBqc2NvcmVfZGly
Ci0gICAgaWYgYnVpbGRpbmdfb25fd2luMzI6Ci0gICAgICAgIGpzX2RpciA9IGdldF9vdXRwdXQo
J2N5Z3BhdGggLS11bml4ICIlcyInICUganNfZGlyKQotICAgIGRlcml2ZWRfc291cmNlc19kaXIg
PSBvcy5wYXRoLmpvaW4oanNjb3JlX2RpciwgJ0Rlcml2ZWRTb3VyY2VzJykKLSAgICBpZiBub3Qg
b3MucGF0aC5leGlzdHMoZGVyaXZlZF9zb3VyY2VzX2Rpcik6Ci0gICAgICAgIG9zLm1rZGlyKGRl
cml2ZWRfc291cmNlc19kaXIpCi0KLSAgICBvbGRkaXIgPSBvcy5nZXRjd2QoKQotICAgIG9zLmNo
ZGlyKGRlcml2ZWRfc291cmNlc19kaXIpCi0KLSAgICAjIERlcml2ZWRTb3VyY2VzLm1ha2UgZXhw
ZWN0cyBDeWd3aW4gKGkuZS4gVW5peC1zdHlsZSkgcHl0aG9uLCBzbyB1c2UgdGhhdCBpbnN0ZWFk
LgotICAgIGlmIGJ1aWxkaW5nX29uX3dpbjMyOgotICAgICAgICBvbGRwYXRoID0gb3MuZW52aXJv
blsiUEFUSCJdCi0gICAgICAgIG9zLmVudmlyb25bIlBBVEgiXSA9ICIvdXNyL2JpbiIgKyBvcy5w
YXRoc2VwICsgb3MuZW52aXJvblsiUEFUSCJdCi0gICAgY29tbWFuZCA9ICdtYWtlIC1mICVzL0Rl
cml2ZWRTb3VyY2VzLm1ha2UgSmF2YVNjcmlwdENvcmU9JXMgQlVJTFRfUFJPRFVDVFNfRElSPSVz
IGFsbCBGRUFUVVJFX0RFRklORVM9IiVzIicgJSAoanNfZGlyLCBqc19kaXIsIGpzX2RpciwgY29u
Zi5lbnZbIkZFQVRVUkVfREVGSU5FUyJdKQotICAgIG9zLnN5c3RlbShjb21tYW5kKQotICAgIGlm
IGJ1aWxkaW5nX29uX3dpbjMyOgotICAgICAgICBvcy5lbnZpcm9uWyJQQVRIIl0gPSBvbGRwYXRo
Ci0gICAgb3MuY2hkaXIob2xkZGlyKQotCi1kZWYgc2V0X29wdGlvbnMob3B0KToKLSAgICBjb21t
b25fc2V0X29wdGlvbnMob3B0KQotCi1kZWYgY29uZmlndXJlKGNvbmYpOgotICAgIGNvbW1vbl9j
b25maWd1cmUoY29uZikKLSAgICBnZW5lcmF0ZV9qc2NvcmVfZGVyaXZlZF9zb3VyY2VzKGNvbmYp
Ci0gICAgZ2VuZXJhdGVfd2ViY29yZV9kZXJpdmVkX3NvdXJjZXMoY29uZikKLSAgICBpZiBPcHRp
b25zLm9wdGlvbnMucG9ydCA9PSAid3giIGFuZCBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnd2lu
Jyk6Ci0gICAgICAgIGdyYXBoaWNzX2RpciA9IG9zLnBhdGguam9pbih3a19yb290LCAnU291cmNl
JywgJ1dlYkNvcmUnLCAncGxhdGZvcm0nLCAnZ3JhcGhpY3MnKQotICAgICAgICAjIHdlIHVzZWQg
dG8gY29weSB0aGVzZSBmaWxlcyBpbnRvIHRoZSBncmFwaGljcy93eCBkaXJlY3RvcnkgZHVlIHRv
IAotICAgICAgICAjIGJvdGggd3ggYW5kIHdpbiBkaXJlY3RvcmllcyBoYXZpbmcgRm9udFBsYXRm
b3JtRGF0YS5oLiBUaGF0IGlzIG5vIAotICAgICAgICAjIGxvbmdlciB0aGUgY2FzZSwgc28gd2Ug
cmVtb3ZlIHRoZSBvbGQgZmlsZXMgaWYgdGhleSBleGlzdC4KLSAgICAgICAgZm9yIGFmaWxlIGlu
IFsnVW5pc2NyaWJlQ29udHJvbGxlci5oJywgJ1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwJywgJ0ds
eXBoUGFnZVRyZWVOb2RlQ2Fpcm9XaW4uY3BwJ106Ci0gICAgICAgICAgICB3eF9jb3B5ID0gb3Mu
cGF0aC5qb2luKGdyYXBoaWNzX2RpciwgJ3d4JywgYWZpbGUpCi0gICAgICAgICAgICBpZiBvcy5w
YXRoLmV4aXN0cyh3eF9jb3B5KToKLSAgICAgICAgICAgICAgICBvcy5yZW1vdmUod3hfY29weSkK
LQotICAgIHdlYmNvcmVfb3V0X2RpciA9IG9zLnBhdGguam9pbihvdXRwdXRfZGlyLCAnV2ViQ29y
ZScpCi0gICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHdlYmNvcmVfb3V0X2Rpcik6Ci0gICAgICAg
IG9zLm1ha2VkaXJzKHdlYmNvcmVfb3V0X2RpcikKLSAgICBzaHV0aWwuY29weSgnU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaCcsIG9zLnBhdGguam9p
bihvdXRwdXRfZGlyLCAnV2ViQ29yZScsICdXZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgnKSkKLSAg
ICBqc2NvcmVfb3V0X2RpciA9IG9zLnBhdGguam9pbihvdXRwdXRfZGlyLCAnSmF2YVNjcmlwdENv
cmUnKQotICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhqc2NvcmVfb3V0X2Rpcik6Ci0gICAgICAg
IG9zLm1ha2VkaXJzKGpzY29yZV9vdXRfZGlyKQotICAgIGZvciBhcGlfZmlsZSBpbiBnbG9iLmds
b2Iob3MucGF0aC5qb2luKGpzY29yZV9kaXIsICdBUEkvKi5oJykpOgotICAgICAgICBzaHV0aWwu
Y29weShhcGlfZmlsZSwgb3MucGF0aC5qb2luKGpzY29yZV9vdXRfZGlyLCBvcy5wYXRoLmJhc2Vu
YW1lKGFwaV9maWxlKSkpCi0KLSAgICBpZiBPcHRpb25zLm9wdGlvbnMucG9ydCA9PSAid3giIGFu
ZCBPcHRpb25zLm9wdGlvbnMud3hweXRob246Ci0gICAgICAgIGNvbW1vbl9jb25maWd1cmUoY29u
ZikKLSAgICAgICAgY29uZi5jaGVja190b29sKCdzd2lnJywgdG9vbGRpcj0nU291cmNlL1dlYktp
dC93eC9iaW5kaW5ncy9weXRob24nKQotICAgICAgICBjb25mLmNoZWNrX3N3aWdfdmVyc2lvbign
MS4zLjI5JykKLQotZGVmIGJ1aWxkKGJsZCk6Ci0KLSAgICB3ZWJjb3JlX2RpcnMgPSBsaXN0KHdl
YmNvcmVfZGlyc19jb21tb24pCi0KLSAgICAjIGF1dG8tZ2VuZXJhdGUgV2ViS2l0VmVyc2lvbi5o
IGlmIG5lZWRlZCBiZWZvcmUgd2Ugc3RhcnQgdGhlIGJ1aWxkLgotICAgICMgQWxzbywgcmVtb3Zl
IHRoZSBmaWxlIGZyb20gdGhlIG9sZCBsb2NhdGlvbiB3aGVyZSB3ZSBnZW5lcmF0ZWQgaXQgYmVm
b3JlIHJ1bm5pbmcKLSAgICB3a192ZXJzaW9uX2ggPSAnU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0VmVyc2lvbi5oJwotICAgIGlmIG9zLnBhdGguZXhpc3RzKHdrX3ZlcnNpb25f
aCk6Ci0gICAgICAgIG9zLnJlbW92ZSh3a192ZXJzaW9uX2gpCi0gICAgYmxkLm5ld190YXNrX2dl
bihzb3VyY2UgPSAiU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvVmVyc2lvbi54Y2Nv
bmZpZyIsCi0gICAgICAgICAgICAgICAgICAgICB0YXJnZXQgPSB3a192ZXJzaW9uX2gsCi0gICAg
ICAgICAgICAgICAgICAgICBydWxlID0gJ3BlcmwgJXMvU291cmNlL1dlYktpdC9zY3JpcHRzL2dl
bmVyYXRlLXdlYmtpdHZlcnNpb24ucGwgLS1vdXRwdXREaXI9JHtUR1RbMF0uZGlyKGVudil9IC0t
Y29uZmlnICR7U1JDfScgJSB3a19yb290KQotICAgIGJsZC5hZGRfZ3JvdXAoKQotCi0gICAgaWYg
T3B0aW9ucy5vcHRpb25zLnBvcnQgPT0gInd4IjoKLSAgICAgICAgd2ViY29yZV9kaXJzLmV4dGVu
ZChbJ1NvdXJjZS9XZWJLaXQvd3gnLCAnU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0J10p
Ci0gICAgCi0gICAgd2tfaW5jbHVkZXMgPSBbJy4nLAotICAgICAgICAgICAgICAgICAgICBvcy5w
YXRoLmpvaW4od2tfcm9vdCwgJ1NvdXJjZScsICdXVEYnKSwKLSAgICAgICAgICAgICAgICAgICAg
b3MucGF0aC5qb2luKHdrX3Jvb3QsICdTb3VyY2UnLCAnV1RGJywgJ3d0ZicpLAotICAgICAgICAg
ICAgICAgICAgICBvcy5wYXRoLmpvaW4od2tfcm9vdCwgJ1NvdXJjZScsICdKYXZhU2NyaXB0Q29y
ZScpLAotICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4od2tfcm9vdCwgJ1NvdXJjZScs
ICdXZWJDb3JlJyksCi0gICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbih3a19yb290LCAn
U291cmNlJywgJ1dlYkNvcmUnLCAnRGVyaXZlZFNvdXJjZXMnKSwKLSAgICAgICAgICAgICAgICAg
ICAgb3MucGF0aC5qb2luKHdrX3Jvb3QsICdTb3VyY2UnLCAnV2ViQ29yZScsICdwbGF0Zm9ybScs
ICdncmFwaGljcycsICdvcGVudHlwZScpLAotICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpv
aW4od2tfcm9vdCwgJ1NvdXJjZScsICdXZWJDb3JlJywgJ3BsYXRmb3JtJywgJ2ltYWdlLWRlY29k
ZXJzJyksCi0gICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbih3a19yb290LCAnU291cmNl
JywgJ1dlYkNvcmUnLCAncGxhdGZvcm0nLCAnd2luJyksCi0gICAgICAgICAgICAgICAgICAgIG9z
LnBhdGguam9pbih3a19yb290LCAnU291cmNlJywgJ1dlYkNvcmUnLCAnd29ya2VycycpLAotICAg
ICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4ob3V0cHV0X2RpciksCi0gICAgICAgICAgICBd
Ci0gICAgCi0gICAgaWYgT3B0aW9ucy5vcHRpb25zLnBvcnQgPT0gInd4IjoKLSAgICAgICAgd2tf
aW5jbHVkZXMuYXBwZW5kKG9zLnBhdGguam9pbih3a19yb290LCAnU291cmNlJywgJ1dlYktpdCcs
ICd3eCcpKQotICAgICAgICB3a19pbmNsdWRlcy5hcHBlbmQob3MucGF0aC5qb2luKHdrX3Jvb3Qs
ICdTb3VyY2UnLCAnV2ViQ29yZScsICdwbGF0Zm9ybScsICd3eCcsICd3eGNvZGUnKSkKLSAgICAK
LSAgICBpZiBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgid2luIik6Ci0gICAgICAgIHdrX2luY2x1
ZGVzLmFwcGVuZChvcy5wYXRoLmpvaW4od2tfcm9vdCwgJ1NvdXJjZScsICdXZWJDb3JlJywgJ3Bs
YXRmb3JtJywgJ3dpbicpKQotICAgICAgICB3a19pbmNsdWRlcy5hcHBlbmQob3MucGF0aC5qb2lu
KHdrX3Jvb3QsICdTb3VyY2UnLCAnV2ViQ29yZScsICdwbGF0Zm9ybScsICdncmFwaGljcycsICd3
aW4nKSkKLSAgICAKLSAgICB3aW5kb3dzX2RlcHMgPSBbCi0gICAgICAgICAgICAgICAgICAgICds
aWIvcHRocmVhZFZDMi5kbGwnLAotICAgICAgICAgICAgICAgICAgICAnYmluL2ljdXVjNDAuZGxs
JywgJ2Jpbi9pY3VkdDQwLmRsbCcsICdiaW4vaWN1aW40MC5kbGwnLAotICAgICAgICAgICAgICAg
ICAgICAnYmluL2xpYmN1cmwuZGxsJywgJ2Jpbi9saWJlYXkzMi5kbGwnLCAnYmluL3NzbGVheTMy
LmRsbCcsICdiaW4vemxpYjEuZGxsJywKLSAgICAgICAgICAgICAgICAgICAgJ2xpYi9zcWxpdGUz
LmRsbCcsICdiaW4vbGlieG1sMi5kbGwnLCAnYmluL2xpYnhzbHQuZGxsJywgJ2Jpbi9pY29udi5k
bGwnLAotICAgICAgICAgICAgICAgICAgICBdCi0gICAgCi0gICAgd2ViY29yZV9zb3VyY2VzID0g
e30KLSAgICAKLSAgICBpZiBPcHRpb25zLm9wdGlvbnMucG9ydCA9PSAid3giOgotICAgICAgICB3
ZWJjb3JlX3NvdXJjZXNbJ3d4J10gPSBbCi0gICAgICAgICAgICAnU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvY3BwL1dlYkRPTUV2ZW50VGFyZ2V0LmNwcCcsCi0gICAgICAgICAgICAnU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vS2lsbFJpbmdOb25lLmNwcCcsCi0gICAgICAgICAgICAnU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWREYXRlTm9uZS5jcHAnLAotICAgICAgICAgICAg
J1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVyTm9uZS5jcHAnLAot
ICAgICAgICAgICAgJ1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yTm9uZS5jcHAnLAotICAgICAgICBdICAKLSAgICAKLSAgICAgICAgaWYgYnVpbGRpbmdf
b25fd2luMzI6Ci0gICAgICAgICAgICAjIG1ha2Ugc3VyZSBwbGF0Zm9ybS93eCBjb21lcyBhZnRl
ciB0aGlzIHNvIHdlIGdldCB0aGUgcmlnaHQKLSAgICAgICAgICAgICMgRm9udFBsYXRmb3JtRGF0
YS5oCi0gICAgICAgICAgICB3ZWJjb3JlX2RpcnMuZXh0ZW5kKFsnU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vd3gvd3hjb2RlL3dpbicsICdTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3dpbiddKQotICAg
ICAgICAgICAgd2ViY29yZV9zb3VyY2VzWyd3eC13aW4nXSA9IFsKLSAgICAgICAgICAgICAgICAg
ICAnU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dseXBoUGFnZVRyZWVOb2Rl
Q2Fpcm9XaW4uY3BwJywKLSAgICAgICAgICAgICAgICAgICAnU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL1RyYW5zZm9ybWF0aW9uTWF0cml4V2luLmNwcCcsCi0gICAgICAgICAg
ICAgICAgICAgJ1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9VbmlzY3JpYmVD
b250cm9sbGVyLmNwcCcsCi0gICAgICAgICAgICAgICAgICAgJ1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5jcHAnLAotICAgICAgICAgICAgICAgICAgICMgd3hUaW1l
ciBvbiBXaW5kb3dzIGhhcyBhIGJ1ZyB0aGF0IGNhdXNlcyBpdCB0byBlYXQgY3Jhc2hlcyBpbiBj
YWxsYmFja3MKLSAgICAgICAgICAgICAgICAgICAjIHNvIHdlIG5lZWQgdG8gdXNlIHRoZSBXaW4g
cG9ydCdzIGltcGxlbWVudGF0aW9uIHVudGlsIHRoZSB3eCBidWcgZml4IGlzCi0gICAgICAgICAg
ICAgICAgICAgIyB3aWRlbHkgYXZhaWxhYmxlIChpdCB3YXMgZml4ZWQgaW4gMi44LjEwKS4KLSAg
ICAgICAgICAgICAgICAgICAnU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1NoYXJlZFRpbWVy
V2luLmNwcCcsCi0gICAgICAgICAgICAgICAgICAgJ1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dp
bi9TeXN0ZW1JbmZvLmNwcCcsCi0gICAgICAgICAgICAgICAgICAgJ1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3dpbi9XZWJDb3JlSW5zdGFuY2VIYW5kbGUuY3BwJywKLSAgICAgICAgICAgICAgICAg
ICAjIFVzZSB0aGUgV2luZG93cyBwbHVnaW4gYXJjaGl0ZWN0dXJlCi0gICAgICAgICAgICAgICAg
ICAgIydTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3dpbi9QbHVnaW5EYXRhV2luLmNwcCcsCi0gICAg
ICAgICAgICAgICAgICAgJ1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvd2luL1BsdWdpbkRhdGFiYXNl
V2luLmNwcCcsCi0gICAgICAgICAgICAgICAgICAgJ1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvd2lu
L1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwJywKLSAgICAgICAgICAgICAgICAgICAnU291
cmNlL1dlYkNvcmUvcGx1Z2lucy93aW4vUGx1Z2luUGFja2FnZVdpbi5jcHAnLAotICAgICAgICAg
ICAgICAgICAgICdTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3dpbi9QbHVnaW5WaWV3V2luLmNwcCcs
Ci0gICAgICAgICAgICBdCi0gICAgICAgICAgICBpZiBPcHRpb25zLm9wdGlvbnMuY2Fpcm86Ci0g
ICAgICAgICAgICAgICAgd2ViY29yZV9kaXJzLmFwcGVuZCgnU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vd3gvd3hjb2RlL2NhaXJvJykKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAg
d2ViY29yZV9kaXJzLmFwcGVuZCgnU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd3gvd3hjb2RlL2dk
aXBsdXMnKQotICAgICAgICBlbGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCdkYXJ3aW4nKToK
LSAgICAgICAgICAgIHdlYmNvcmVfZGlycy5hcHBlbmQoJ1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMv
bWFjJykKLSAgICAgICAgICAgIHdlYmNvcmVfZGlycy5hcHBlbmQoJ1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3d4L3d4Y29kZS9tYWMvY2FyYm9uJykKLSAgICAgICAgICAgIHdlYmNvcmVfZGlycy5h
cHBlbmQoJ1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjJykKLSAgICAgICAgICAgIHdl
YmNvcmVfc291cmNlc1snd3gtbWFjJ10gPSBbCi0gICAgICAgICAgICAgICAgICAgJ1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9QdXJnZWFibGVCdWZmZXJNYWMuY3BwJywKLSAgICAgICAgICAg
ICAgICAgICAnU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVOU1N0cmluZ0V4dHJh
cy5tbScsCi0gICAgICAgICAgICAgICAgICAgJ1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9X
ZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tJywKLSAgICAgICAgICAgICAgICAgICAnU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRTaXplQ0cuY3BwJywKLSAgICAgICAgICAg
ICAgICAgICAnU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0
Q29udHJvbGxlci5jcHAnLAotICAgICAgICAgICAgICAgICAgICdTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyQ29yZVRleHQubW0nLAotICAg
ICAgICAgICAgICAgICAgICdTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR2x5
cGhQYWdlVHJlZU5vZGVNYWMuY3BwJywKLSAgICAgICAgICAgICAgICAgICAnU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwJywKLSAg
ICAgICAgICAgICAgICAgICAnU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvRm9u
dFBsYXRmb3JtRGF0YVd4TWFjLm1tJywKLSAgICAgICAgICAgICAgICAgICAnU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vd3gvd3hjb2RlL21hYy9jYXJib24vZm9udHByb3BzLm1tJywKLSAgICAgICAg
ICAgICAgICAgICAnU291cmNlL1dlYkNvcmUvcGx1Z2lucy9tYWMvUGx1Z2luUGFja2FnZU1hYy5j
cHAnLAotICAgICAgICAgICAgICAgICAgICdTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL21hYy9QbHVn
aW5WaWV3TWFjLm1tJwotICAgICAgICAgICAgXQotICAgICAgICBlbHNlOgotICAgICAgICAgICAg
d2ViY29yZV9zb3VyY2VzWyd3eC1ndGsnXSA9IFsKLSAgICAgICAgICAgICAgICAgICAnU291cmNl
L1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3Tm9uZS5jcHAnLAotICAgICAgICAgICAgICAgICAg
ICdTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblBhY2thZ2VOb25lLmNwcCcKLSAgICAgICAg
ICAgIF0KLSAgICAgICAgICAgIHdlYmNvcmVfZGlycy5hcHBlbmQoJ1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3d4L3d4Y29kZS9ndGsnKQotICAgICAgICAgICAgd2ViY29yZV9kaXJzLmFwcGVuZCgn
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd3gvd3hjb2RlL2NhaXJvJykKLSAgICAgICAgCi0KLSAg
ICBpbXBvcnQgVGFza0dlbgotCi0gICAgYmxkLmFkZF9zdWJkaXJzKCdTb3VyY2UvSmF2YVNjcmlw
dENvcmUnKQotCi0gICAgaWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ2RhcndpbicpOgotICAg
ICAgICBUYXNrR2VuLnRhc2tfZ2VuLm1hcHBpbmdzWycubW0nXSA9IFRhc2tHZW4udGFza19nZW4u
bWFwcGluZ3NbJy5jeHgnXQotICAgICAgICBUYXNrR2VuLnRhc2tfZ2VuLm1hcHBpbmdzWycubSdd
ID0gVGFza0dlbi50YXNrX2dlbi5tYXBwaW5nc1snLmN4eCddCi0KLSAgICBmZWF0dXJlcyA9IFtP
cHRpb25zLm9wdGlvbnMucG9ydC5sb3dlcigpXQotICAgIHRoaXNwb3J0ID0gT3B0aW9ucy5vcHRp
b25zLnBvcnQKLSAgICAKLSAgICBleGNsdWRlX3BhdHRlcm5zID0gWycqQWxsSW5PbmUuY3BwJywg
JypOb25lLmNwcCcsXQotCi0gICAgaWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ2Rhcndpbicp
OgotICAgICAgICBmZWF0dXJlcy5hcHBlbmQoJ2NmJykKLQotICAgICMgZXhjbHVkZSB0aGUgZmls
ZW5hbWUgcGF0dGVybnMgZm9yIGFsbCBvdGhlciBwb3J0cy4KLSAgICBleGNsdWRlX3BhdHRlcm5z
LmV4dGVuZChnZXRfcG9ydF9leGNsdWRlcyhPcHRpb25zLm9wdGlvbnMucG9ydCkpCi0gICAgICAg
ICAgICAKLSAgICBpZiBPcHRpb25zLm9wdGlvbnMucG9ydCA9PSAnd3gnOgotICAgICAgICBmZWF0
dXJlcy5hcHBlbmQoJ2N1cmwnKQotICAgICAgICBleGNsdWRlX3BhdHRlcm5zLmV4dGVuZChbJypD
Rk5ldC5jcHAnLCAndGVzdCpiaW5kaW5ncy4qJywgIldlYkRPTUNhbnZhcyouY3BwIiwgIldlYkRP
TVNWRyouY3BwIl0pCi0gICAgICAgIAotICAgIGZ1bGxfZGlycyA9IGdldF9kaXJzX2Zvcl9mZWF0
dXJlcyh3a19yb290LCBmZWF0dXJlcz1mZWF0dXJlcywgZGlycz13ZWJjb3JlX2RpcnMpCi0KLSAg
ICAjIG1ha2Ugc3VyZSB3ZSBkb24ndCB1c2UgdGhlIENGIG5ldHdvcmtpbmcgZW5naW5lCi0gICAg
aWYgT3B0aW9ucy5vcHRpb25zLnBvcnQgPT0gJ3d4JyBhbmQgc3lzLnBsYXRmb3JtLnN0YXJ0c3dp
dGgoJ2RhcndpbicpOgotICAgICAgICBmdWxsX2RpcnMucmVtb3ZlKCdTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2NmJykKLSAgICAgICAgCi0gICAganNjb3JlX2RpciA9IG9zLnBhdGgu
am9pbih3a19yb290LCAnU291cmNlJywgJ0phdmFTY3JpcHRDb3JlJykKLSAgICBmb3IgaXRlbSBp
biBvcy5saXN0ZGlyKGpzY29yZV9kaXIpOgotICAgICAgICBmdWxscGF0aCA9IG9zLnBhdGguam9p
bihqc2NvcmVfZGlyLCBpdGVtKQotICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKGZ1bGxwYXRoKSBh
bmQgbm90IGl0ZW0gPT0gIm9zLXdpbjMyIiBhbmQgbm90IGl0ZW0gPT0gJ2ljdSc6Ci0gICAgICAg
ICAgICB3a19pbmNsdWRlcy5hcHBlbmQoZnVsbHBhdGgpCi0KLSAgICB3a19pbmNsdWRlcy5hcHBl
bmQoJ1NvdXJjZScpCi0gICAgd2tfaW5jbHVkZXMuYXBwZW5kKG9zLnBhdGguam9pbihqc2NvcmVf
ZGlyLCAnY29sbGVjdG9yJywgJ2hhbmRsZXMnKSkKLSAgICB3a19pbmNsdWRlcyArPSBjb21tb25f
aW5jbHVkZXMgKyBmdWxsX2RpcnMKLSAgICBpZiBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnZGFy
d2luJyk6Ci0gICAgICAgIHdrX2luY2x1ZGVzLmFwcGVuZChvcy5wYXRoLmpvaW4od2ViY29yZV9k
aXIsICdpY3UnKSkKLQotICAgIGN4eGZsYWdzID0gW10KLSAgICBpZiBidWlsZGluZ19vbl93aW4z
MjoKLSAgICAgICAgY3h4ZmxhZ3MuYXBwZW5kKCcvRklXZWJDb3JlUHJlZml4LmgnKQotICAgICAg
ICAjIEZJWE1FOiBXZSBkbyB0aGlzIGJlY2F1c2UgaW4gd2FmLCBsb2NhbCBpbmNsdWRlIGRpcnMg
dGFrZSBwcmVjZWRlbmNlCi0gICAgICAgICMgb3ZlciBnbG9iYWwgb25lcy4gVGhpcyBtYWtlcyBz
ZW5zZSwgYnV0IGJlY2F1c2UgdW5pY29kZS91dGY4LmggaXMgYm90aAotICAgICAgICAjIGFuIElD
VSBoZWFkZXIgbmFtZSBhbmQgYSBXZWJLaXQgaGVhZGVyIG5hbWUgKGluIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYpCi0gICAgICAgICMgd2UgaGF2ZSB0byBtYWtlIHN1cmUgPHVuaWNvZGUvdXRm
OC5oPiBwaWNrcyB1cCB0aGUgSUNVIG9uZSBmaXJzdC4KLSAgICAgICAgZ2xvYmFsIG1zdmNsaWJz
X2RpcgotICAgICAgICB3a19pbmNsdWRlcy5hcHBlbmQob3MucGF0aC5qb2luKG1zdmNsaWJzX2Rp
ciwgJ2luY2x1ZGUnKSkKLSAgICAgICAgd2tfaW5jbHVkZXMuYXBwZW5kKCdTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4nKQotICAgIGVsc2U6Ci0gICAgICAgIGN4eGZsYWdzLmV4
dGVuZChbJy1pbmNsdWRlJywgJ1dlYkNvcmVQcmVmaXguaCddKQotCi0gICAgd2ViY29yZSA9IGJs
ZC5uZXdfdGFza19nZW4oCi0gICAgICAgIGZlYXR1cmVzID0gJ2NjIGN4eCBjc2hsaWInLAotICAg
ICAgICBpbmNsdWRlcyA9ICcgJy5qb2luKHdrX2luY2x1ZGVzKSwKLSAgICAgICAgc291cmNlID0g
JyAnLmpvaW4oZmxhdHRlblNvdXJjZXMod2ViY29yZV9zb3VyY2VzLnZhbHVlcygpKSksCi0gICAg
ICAgIGN4eGZsYWdzID0gY3h4ZmxhZ3MsCi0gICAgICAgIGRlZmluZXMgPSBbJ1dYTUFLSU5HRExM
X1dFQktJVCcsICdCVUlMRElOR19XZWJDb3JlJ10sCi0gICAgICAgIGxpYnBhdGggPSBbb3V0cHV0
X2Rpcl0sCi0gICAgICAgIHRhcmdldCA9ICd3eHdlYmtpdCcsCi0gICAgICAgIHVzZWxpYiA9ICdX
WCBJQ1UgWE1MIFhTTFQgQ1VSTCBTUUxJVEUzIFdLSU5URVJGQUNFICcgKyBnZXRfY29uZmlnKCks
Ci0gICAgICAgIHVzZWxpYl9sb2NhbCA9ICdqc2NvcmUnLAotICAgICAgICBpbnN0YWxsX3BhdGgg
PSBvdXRwdXRfZGlyLAotICAgICAgICApCi0gICAgICAgIAotICAgIGV4Y2x1ZGVzID0gW10KLSAg
ICAKLSAgICBpZiBPcHRpb25zLm9wdGlvbnMucG9ydCA9PSAnd3gnOgotICAgICAgICBleGNsdWRl
cyA9IGdldF9leGNsdWRlcyh3ZWJjb3JlX2RpciwgZXhjbHVkZV9wYXR0ZXJucykKLSAgICAgICAg
ZXhjbHVkZXMuZXh0ZW5kKFsnVXNlclN0eWxlU2hlZXRMb2FkZXIuY3BwJywgJ1JlbmRlck1lZGlh
Q29udHJvbHMuY3BwJ10pCi0KLSAgICAgICAgIyBpbnRlcm1lZGlhdGUgc291cmNlcwotICAgICAg
ICBleGNsdWRlcy5hcHBlbmQoJ0RvY1R5cGVTdHJpbmdzLmNwcCcpCi0gICAgICAgIGV4Y2x1ZGVz
LmFwcGVuZCgnSFRNTEVudGl0eU5hbWVzLmNwcCcpCi0KLSAgICAgICAgIyBRdCBzcGVjaWZpYyBm
aWxlIGluIGNvbW1vbiBzb3VyY2VzCi0gICAgICAgIGV4Y2x1ZGVzLmFwcGVuZCgnQ29udGV4dFNo
YWRvdy5jcHAnKQotCi0gICAgICAgICMgRklYTUU6IHRoZXNlIHJlcXVpcmUgaGVhZGVycyB0aGF0
IEkgY2FuJ3Qgc2VlbSB0byBmaW5kIGluIHRydW5rLgotICAgICAgICAjIEludmVzdGlnYXRlIGhv
dyB0byByZXNvbHZlIHRoZXNlIGlzc3Vlcy4KLSAgICAgICAgZXhjbHVkZXMuYXBwZW5kKCdKU0Fi
c3RyYWN0Vmlldy5jcHAnKQotICAgICAgICBleGNsdWRlcy5hcHBlbmQoJ0pTSW50ZW50Q29uc3Ry
dWN0b3IuY3BwJykKLSAgICAgICAgZXhjbHVkZXMuYXBwZW5kKCdKU1Bvc2l0aW9uQ2FsbGJhY2su
Y3BwJykKLSAgICAgICAgZXhjbHVkZXMuYXBwZW5kKCdKU0luc3BlY3RvckNvbnRyb2xsZXIuY3Bw
JykKLSAgICAgICAgCi0gICAgICAgICMgVGhlIGJpbmRpbmdzIGdlbmVyYXRvciBzZWVtcyB0byB0
aGluayB0aGVzZSBhcmUgcmVmLWNvdW50ZWQsIHdoaWxlIHRoZXkgYXJlbid0IGluIHRydW5rLgot
ICAgICAgICBleGNsdWRlcy5hcHBlbmQoJ0pTRWxlbWVudFRpbWVDb250cm9sLmNwcCcpCi0gICAg
ICAgIGV4Y2x1ZGVzLmFwcGVuZCgnSlNTVkdBbmltYXRlZFBhdGhEYXRhLmNwcCcpCi0gICAgICAg
IGV4Y2x1ZGVzLmFwcGVuZCgnSlNTVkdBbmltYXRlZFBvaW50cy5jcHAnKQotICAgICAgICBleGNs
dWRlcy5hcHBlbmQoJ0pTU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5jcHAnKQotICAgICAg
ICBleGNsdWRlcy5hcHBlbmQoJ0pTU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVz
LmNwcCcpCi0gICAgICAgIGV4Y2x1ZGVzLmFwcGVuZCgnSlNTVkdMb2NhdGFibGUuY3BwJykKLSAg
ICAgICAgZXhjbHVkZXMuYXBwZW5kKCdKU1NWR1N0eWxlVGFibGUuY3BwJykKLSAgICAgICAgZXhj
bHVkZXMuYXBwZW5kKCdKU1NWR1Rlc3RzLmNwcCcpCi0gICAgICAgIAotICAgICAgICAjIFRoZXNl
IGFyZSBmaWxlcyB0aGF0IGV4cGVjdCBtZXRob2RzIG5vdCBpbiB0aGUgYmFzZSBDKysgY2xhc3Ms
IHVzdWFsbHkgWFlaQW5pbWF0ZWQgbWV0aG9kcy4KLSAgICAgICAgZXhjbHVkZXMuYXBwZW5kKCdK
U1NWR0ZpdFRvVmlld0JveC5jcHAnKQotICAgICAgICBleGNsdWRlcy5hcHBlbmQoJ0pTU1ZHTGFu
Z1NwYWNlLmNwcCcpCi0gICAgICAgIGV4Y2x1ZGVzLmFwcGVuZCgnSlNTVkdUcmFuc2Zvcm1hYmxl
LmNwcCcpCi0gICAgICAgIGV4Y2x1ZGVzLmFwcGVuZCgnSlNTVkdVUklSZWZlcmVuY2UuY3BwJykK
LSAgICAgICAgCi0gICAgICAgICMgVGhlc2UgYXJlIEMrKyBET00gQmluZGluZ3MgdGhhdCB3b24n
dCBjb21waWxlIGJlY2F1c2UgdGhleSBsb29rIGZvciB0aGluZ3Mgbm90IGluIHRydW5rLgotICAg
ICAgICBleGNsdWRlcy5hcHBlbmQoJ1dlYkRPTUV2ZW50VGFyZ2V0LmNwcCcpCi0gICAgICAgIGV4
Y2x1ZGVzLmFwcGVuZCgnV2ViRE9NQWJzdHJhY3RWaWV3LmNwcCcpCi0gICAgICAgIGV4Y2x1ZGVz
LmFwcGVuZCgnV2ViRE9NQmxvYkJ1aWxkZXIuY3BwJykKLSAgICAgICAgZXhjbHVkZXMuYXBwZW5k
KCdXZWJET01FdmVudExpc3RlbmVyQ3VzdG9tLmNwcCcpCi0gICAgICAgIGV4Y2x1ZGVzLmFwcGVu
ZCgnV2ViRE9NRWxlbWVudFRpbWVDb250cm9sLmNwcCcpCi0gICAgICAgIGV4Y2x1ZGVzLmFwcGVu
ZCgnV2ViRE9NSW1hZ2VEYXRhLmNwcCcpCi0gICAgICAgIGV4Y2x1ZGVzLmFwcGVuZCgnV2ViRE9N
SW5zcGVjdG9yQmFja2VuZC5jcHAnKQotICAgICAgICBleGNsdWRlcy5hcHBlbmQoJ1dlYkRPTVNj
cmlwdFByb2ZpbGUuY3BwJykKLSAgICAgICAgZXhjbHVkZXMuYXBwZW5kKCdXZWJET01TY3JpcHRQ
cm9maWxlTm9kZS5jcHAnKQotICAgICAgICBleGNsdWRlcy5hcHBlbmQoJ1dlYk5hdGl2ZUV2ZW50
TGlzdGVuZXIuY3BwJykKLSAgICAgICAgCi0gICAgICAgICMgRklYTUU6IEl0IGFwcGVhcnMgdGhl
c2UgYXJlIG5vIGxvbmdlciBuZWVkZWQgYnkgYW55IHBvcnQsIG9uY2UgdGhpcyBpcyBjb25maXJt
ZWQsCi0gICAgICAgICMgd2Ugc2hvdWxkIHJlbW92ZSB0aGVzZSBzb3VyY2VzIGZyb20gdGhlIHRy
ZWUuCi0gICAgICAgIGV4Y2x1ZGVzLmFwcGVuZCgnV2ViRE9NRE9NV2luZG93Q3VzdG9tLmNwcCcp
Ci0gICAgICAgIGV4Y2x1ZGVzLmFwcGVuZCgnV2ViRE9NSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3Vz
dG9tLmNwcCcpCi0gICAgICAgIGV4Y2x1ZGVzLmFwcGVuZCgnV2ViRE9NTm9kZUN1c3RvbS5jcHAn
KQotICAgICAgICBleGNsdWRlcy5hcHBlbmQoJ1dlYkRPTUhUTUxEb2N1bWVudEN1c3RvbS5jcHAn
KQotICAgICAgICBleGNsdWRlcy5hcHBlbmQoJ1dlYkRPTUhUTUxDb2xsZWN0aW9uQ3VzdG9tLmNw
cCcpCi0gICAgICAgIGV4Y2x1ZGVzLmFwcGVuZCgnV2ViTmF0aXZlTm9kZUZpbHRlckNvbmRpdGlv
bi5jcHAnKQotICAgICAgICBleGNsdWRlcy5hcHBlbmQoJ1dlYkRPTU5vZGVGaWx0ZXJDdXN0b20u
Y3BwJykKLSAgICAgICAgCi0gICAgICAgICMgZG9uJ3QgY29tcGlsZSBmb3Igbm93IHVudGlsIHdl
IGZpZ3VyZSBvdXQgdGhlIGlzc3VlIHdpdGggdXNpbmcgRE9NU3RyaW5nTGlzdAotICAgICAgICBl
eGNsdWRlcy5hcHBlbmQoJ1dlYkRPTUludGVybmFscy5jcHAnKQotICAgICAgICAKLSAgICAgICAg
IyB0aGlzIGZpbGUgaXMgdW51c2VkIGJ5IGFueSBwb3J0LCBub3Qgc3VyZSB3aHkgaXQgd2FzCi0g
ICAgICAgICMgbGVmdCBpbiB0aGUgdHJlZQotICAgICAgICBleGNsdWRlcy5hcHBlbmQoJ0dlbmVy
YXRlZEltYWdlLmNwcCcpCi0gICAgICAgIAotICAgICAgICAjIGZlYXR1cmVzIHdlIGRvbid0IGJ1
aWxkIC8gdXNlCi0gICAgICAgIGV4Y2x1ZGVzLmFwcGVuZCgnSlNOYXZpZ2F0b3JDdXN0b20uY3Bw
JykKLSAgICAgICAgZXhjbHVkZXMuYXBwZW5kKCdXZWJHTENvbnRleHRFdmVudC5jcHAnKQotICAg
ICAgICBleGNsdWRlcy5hcHBlbmQoJ0ZpbGVTeXN0ZW1QT1NJWC5jcHAnKQotICAgICAgICBleGNs
dWRlcy5hcHBlbmQoJ0xvY2FsZUlDVS5jcHAnKQotICAgICAgICBleGNsdWRlcy5hcHBlbmQoJ0xv
Y2FsaXplZERhdGVJQ1UuY3BwJykKLSAgICAgICAgZXhjbHVkZXMuYXBwZW5kKCdQbGF0Zm9ybUdl
c3R1cmVSZWNvZ25pemVyLmNwcCcpCi0gICAgICAgIGV4Y2x1ZGVzLmFwcGVuZCgnU2hhcmVkQnVm
ZmVyUE9TSVguY3BwJykKLSAgICAgICAgZXhjbHVkZXMuYXBwZW5kKCdUb3VjaEFkanVzdG1lbnQu
Y3BwJykKLSAgICAgICAgZXhjbHVkZXMuYXBwZW5kKCdETlNSZXNvbHZlUXVldWUuY3BwJykKLSAg
ICAgICAgZXhjbHVkZXMuYXBwZW5kKCdXZWJET01SYWRpb05vZGVMaXN0LmNwcCcpCi0gICAgICAg
IAotICAgICAgICAjIFRoZXNlIGZpbGVzIGFwcGVhciBub3QgdG8gYnVpbGQgd2l0aCBvbGRlciB2
ZXJzaW9ucyBvZiBJQ1UKLSAgICAgICAgZXhjbHVkZXMuYXBwZW5kKCdMb2NhbGl6ZWROdW1iZXJJ
Q1UuY3BwJykKLSAgICAgICAgZXhjbHVkZXMuYXBwZW5kKCdMb2NhbGVUb1NjcmlwdE1hcHBpbmdJ
Q1UuY3BwJykKLSAgICAgICAgCi0gICAgICAgIGlmIGJ1aWxkaW5nX29uX3dpbjMyOgotICAgICAg
ICAgICAgZXhjbHVkZXMuYXBwZW5kKCdTaGFyZWRUaW1lcld4LmNwcCcpCi0gICAgICAgICAgICBl
eGNsdWRlcy5hcHBlbmQoJ1JlbmRlclRoZW1lV2luLmNwcCcpCi0gICAgICAgICAgICBleGNsdWRl
cy5hcHBlbmQoJ0tleUV2ZW50V2luLmNwcCcpCi0gICAgICAgICAgICAKLSAgICAgICAgaWYgYnVp
bGRpbmdfb25fd2luMzIgb3Igc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ2RhcndpbicpOgotICAg
ICAgICAgICAgZXhjbHVkZXMuYXBwZW5kKCdHbHlwaE1hcFd4LmNwcCcpCi0gICAgICAgIGV4Y2x1
ZGVzLmFwcGVuZCgnQXV0aGVudGljYXRpb25DRi5jcHAnKQotICAgICAgICBleGNsdWRlcy5hcHBl
bmQoJ0xvYWRlclJ1bkxvb3BDRi5jcHAnKQotICAgICAgICBleGNsdWRlcy5hcHBlbmQoJ1Jlc291
cmNlRXJyb3JDRi5jcHAnKQotICAgICAgICBleGNsdWRlcy5hcHBlbmQoJ1J1bkxvb3BDRi5jcHAn
KQotICAgICAgICAKLSAgICAgICAgIyBvbmNlIHdlIG1vdmUgb3ZlciB0byB0aGUgbmV3IEZQRCBp
bXBsZW1lbnRhdGlvbiwgcmVtb3ZlIHRoaXMuCi0gICAgICAgIGV4Y2x1ZGVzLmFwcGVuZCgnRm9u
dFBsYXRmb3JtRGF0YS5jcHAnKQotICAgICAgICAKLSAgICAgICAgIyB3ZSBuZWVkIGEgYmV0dGVy
IHN5c3RlbSB0byBleGNsdWRlIENGIHN0dWZmCi0gICAgICAgIGV4Y2x1ZGVzLmFwcGVuZCgnSHlw
aGVuYXRpb25DRi5jcHAnKQotICAgICAgICAKLSAgICAgICAgaWYgc3lzLnBsYXRmb3JtLnN0YXJ0
c3dpdGgoJ2RhcndpbicpOgotICAgICAgICAgICAgd2ViY29yZS5pbmNsdWRlcyArPSAnIFNvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYycK
LSAgICAgICAgICAgIHdlYmNvcmUuc291cmNlICs9ICcgU291cmNlL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tJwotICAgICAgICAgICAgCi0gICAgICAgIGlm
IGJ1aWxkaW5nX29uX3dpbjMyOgotICAgICAgICAgICAgZm9yIHd4bGliIGluIGJsZC5lbnZbJ0xJ
Ql9XWCddOgotICAgICAgICAgICAgICAgIHd4X3ZlcnNpb24gPSB3eHByZXNldHMuZ2V0X3d4X3Zl
cnNpb24ob3MuZW52aXJvblsnV1hXSU4nXSkKLSAgICAgICAgICAgICAgICBpZiBpbnQod3hfdmVy
c2lvblsxXSkgJSAyID09IDE6Ci0gICAgICAgICAgICAgICAgICAgIHd4bGliID0gd3hsaWIucmVw
bGFjZSgnJy5qb2luKHd4X3ZlcnNpb25bOjJdKSwgJycuam9pbih3eF92ZXJzaW9uKSkKLSAgICAg
ICAgICAgICAgICB3eGxpYm5hbWUgPSBvcy5wYXRoLmpvaW4oYmxkLmVudlsnTElCUEFUSF9XWCdd
WzBdLCB3eGxpYiArICdfdmMuZGxsJykKLSAgICAgICAgICAgICAgICBwcmludCAiQ29weWluZyAl
cyIgJSB3eGxpYm5hbWUKLSAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyh3eGxpYm5h
bWUpOgotICAgICAgICAgICAgICAgICAgICBibGQuaW5zdGFsbF9maWxlcyh3ZWJjb3JlLmluc3Rh
bGxfcGF0aCwgW3d4bGlibmFtZV0pCi0gICAgICAgIAotICAgICAgICAgICAgZm9yIGRlcCBpbiB3
aW5kb3dzX2RlcHM6Ci0gICAgICAgICAgICAgICAgYmxkLmluc3RhbGxfZmlsZXMod2ViY29yZS5p
bnN0YWxsX3BhdGgsIFtvcy5wYXRoLmpvaW4obXN2Y2xpYnNfZGlyLCBkZXApXSkKLSAgICAgICAg
ICAgIAotICAgICAgICAgICAgaWYgIkNBSVJPX1JPT1QiIGluIG9zLmVudmlyb24gYW5kIE9wdGlv
bnMub3B0aW9ucy5jYWlybzoKLSAgICAgICAgICAgICAgICBjYWlyb19iaW5fZGlyID0gb3MucGF0
aC5qb2luKG9zLmVudmlyb25bIkNBSVJPX1JPT1QiXSwgImJpbiIpIAotICAgICAgICAgICAgICAg
IGZvciBkZXAgaW4gZ2xvYi5nbG9iKG9zLnBhdGguam9pbihjYWlyb19iaW5fZGlyLCAiKi5kbGwi
KSk6Ci0gICAgICAgICAgICAgICAgICAgIGJsZC5pbnN0YWxsX2ZpbGVzKHdlYmNvcmUuaW5zdGFs
bF9wYXRoLCBbb3MucGF0aC5qb2luKGNhaXJvX2Jpbl9kaXIsIGRlcCldKQotICAgICAgICAgICAg
ICAgICAgICAKLSAgICB3ZWJjb3JlLmZpbmRfc291cmNlc19pbl9kaXJzKGZ1bGxfZGlycywgZXhj
bHVkZXMgPSBleGNsdWRlcywgZXh0cz1bJy5jJywgJy5jcHAnXSkKLQotICAgIGJsZC5hZGRfZ3Jv
dXAoKQotICAgIAotICAgIGlmIE9wdGlvbnMub3B0aW9ucy5wb3J0ID09ICJ3eCI6ICAgIAotICAg
ICAgICBibGQuYWRkX3N1YmRpcnMoWydUb29scy9EdW1wUmVuZGVyVHJlZScsICdUb29scy93eC9i
cm93c2VyJywgJ1NvdXJjZS9XZWJLaXQvd3gvYmluZGluZ3MvcHl0aG9uJ10pCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>