<?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>88273</bug_id>
          
          <creation_ts>2012-06-04 17:55:25 -0700</creation_ts>
          <short_desc>nrwt should look in &apos;out&apos; for binaries on chromium win to support ninja</short_desc>
          <delta_ts>2012-06-06 17:32:04 -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="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>ojan</cc>
    
    <cc>scottmg</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>641057</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-04 17:55:25 -0700</bug_when>
    <thetext>nrwt should look in &apos;out&apos; for binaries on chromium win to support ninja</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641065</commentid>
    <comment_count>1</comment_count>
      <attachid>145670</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-04 18:00:37 -0700</bug_when>
    <thetext>Created attachment 145670
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641664</commentid>
    <comment_count>2</comment_count>
      <attachid>145670</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-06-05 09:52:33 -0700</bug_when>
    <thetext>Comment on attachment 145670
Patch

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

&gt; Tools/ChangeLog:3
&gt; +        nrwt should look in &apos;out&apos; for binaries on chromium win to support ninja

With this change, mac, linux, and win all look in &apos;out&apos; (sometimes first, sometimes second).  It would be nice if we pushed the out logic up into chromium.py.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641825</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-05 13:06:43 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 145670 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=145670&amp;action=review
&gt; 
&gt; &gt; Tools/ChangeLog:3
&gt; &gt; +        nrwt should look in &apos;out&apos; for binaries on chromium win to support ninja
&gt; 
&gt; With this change, mac, linux, and win all look in &apos;out&apos; (sometimes first, sometimes second).  It would be nice if we pushed the out logic up into chromium.py.

This is a fair point. Each port uses different logic as well as different locations, but that&apos;s probably not a good thing. I&apos;ll see if I can unify them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642989</commentid>
    <comment_count>4</comment_count>
      <attachid>146154</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-06 17:18:12 -0700</bug_when>
    <thetext>Created attachment 146154
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643003</commentid>
    <comment_count>5</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-06 17:32:04 -0700</bug_when>
    <thetext>Committed r119649: &lt;http://trac.webkit.org/changeset/119649&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145670</attachid>
            <date>2012-06-04 18:00:37 -0700</date>
            <delta_ts>2012-06-06 17:18:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88273-20120604180037.patch</filename>
            <type>text/plain</type>
            <size>3843</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NDQ1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDJlMTJhNWViNTYxMzQyNjQ4Yzc3NWI5YWM2ODAwNjU1
M2ZhY2JjNC4uMDA5ZjgzY2MxYmQzM2Y4ZTBhYmVmM2NiMWEyNDMxN2VlNDdmZjk0ZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE5
IEBACiAyMDEyLTA2LTA0ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIG5yd3Qgc2hvdWxkIGxvb2sgaW4gJ291dCcgZm9yIGJpbmFyaWVzIG9uIGNocm9taXVt
IHdpbiB0byBzdXBwb3J0IG5pbmphCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04ODI3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluIGFkZGl0aW9uIHRvIHRoZSBleGlzdGluZyBwYXRocywgb2YgY291cnNl
IDopLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJv
bWl1bV93aW4ucHk6CisgICAgICAgIChDaHJvbWl1bVdpblBvcnQuX2J1aWxkX3BhdGgpOgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luX3Vu
aXR0ZXN0LnB5OgorICAgICAgICAoVGVzdENocm9taXVtV2luUG9ydC50ZXN0X2J1aWxkX3BhdGgp
OgorCisyMDEyLTA2LTA0ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgorCiAg
ICAgICAgIHRlc3Qtd2Via2l0cHkgaXMgaGFuZ2luZyB1bmRlciBjeWd3aW4KICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4MjY5CiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW4u
cHkKaW5kZXggYjA2ZmU5MTM1NTRlOWJlYzFlM2ZlOGU3MGE3OWJhYzQwMTBiOGMyOC4uZWYyOTJk
Yzg5NGZiNjNhNDE2YmEyNGY4MWZlOTVlOWNkNmQ0ODJhOSAxMDA3NTUKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW4ucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW4ucHkKQEAg
LTEzMiwxMCArMTMyLDIxIEBAIGNsYXNzIENocm9taXVtV2luUG9ydChjaHJvbWl1bS5DaHJvbWl1
bVBvcnQpOgogICAgICAgICBpZiBzZWxmLmdldF9vcHRpb24oJ2J1aWxkX2RpcmVjdG9yeScpOgog
ICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihzZWxmLmdldF9vcHRpb24o
J2J1aWxkX2RpcmVjdG9yeScpLCAqY29tcHMpCiAKKyAgICAgICAgIyAnYnVpbGQnIGlzIHdoYXQg
bXN2cyB1c2VzLCAnb3V0JyBpcyB3aGF0IG5pbmphIHVzZXMuIFdlIHN1cHBvcnQgYm90aAorICAg
ICAgICAjIHdlYmtpdC1pbi1jaHJvbWl1bSBhbmQgY2hyb21pdW0taW4td2Via2l0IGNoZWNrb3V0
cy4KKwogICAgICAgICBwID0gc2VsZi5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgnYnVpbGQnLCAq
Y29tcHMpCiAgICAgICAgIGlmIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKHApOgogICAgICAgICAg
ICAgcmV0dXJuIHAKLSAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihzZWxmLnBh
dGhfZnJvbV93ZWJraXRfYmFzZSgpLCAnU291cmNlJywgJ1dlYktpdCcsICdjaHJvbWl1bScsICdi
dWlsZCcsICpjb21wcykKKyAgICAgICAgcCA9IHNlbGYucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2Uo
J291dCcsICpjb21wcykKKyAgICAgICAgaWYgc2VsZi5fZmlsZXN5c3RlbS5leGlzdHMocCk6Cisg
ICAgICAgICAgICByZXR1cm4gcAorCisgICAgICAgIHAgPSBzZWxmLl9maWxlc3lzdGVtLmpvaW4o
c2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoKSwgJ1NvdXJjZScsICdXZWJLaXQnLCAnY2hyb21p
dW0nLCAnYnVpbGQnLCAqY29tcHMpCisgICAgICAgIGlmIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3Rz
KHApOgorICAgICAgICAgICAgcmV0dXJuIHAKKworICAgICAgICByZXR1cm4gc2VsZi5fZmlsZXN5
c3RlbS5qb2luKHNlbGYucGF0aF9mcm9tX3dlYmtpdF9iYXNlKCksICdvdXQnLCAqY29tcHMpCiAK
ICAgICBkZWYgX3VzZXNfYXBhY2hlKHNlbGYpOgogICAgICAgICByZXR1cm4gRmFsc2UKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1f
d2luX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9jaHJvbWl1bV93aW5fdW5pdHRlc3QucHkKaW5kZXggNWJmZjdlMTI5MmY0MTc1MWZlNzYzZjhj
ZGY5MGFjMTRjOWM1MDBlNi4uYzI4MWVhNmYzOTc3ZGJjM2JiMzM3MGQwNDlhMjQ4MzRiNzlkZDFi
NiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9j
aHJvbWl1bV93aW5fdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW5fdW5pdHRlc3QucHkKQEAgLTExOCw5ICsxMTgsMjYg
QEAgY2xhc3MgQ2hyb21pdW1XaW5UZXN0KHBvcnRfdGVzdGNhc2UuUG9ydFRlc3RDYXNlKToKICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoCiAgICAgICAgICAgICAnL21vY2stY2hlY2tvdXQvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9idWlsZC9SZWxlYXNlL0R1bXBSZW5kZXJUcmVlLmV4ZScsCiAg
ICAgICAgICAgICBwb3J0Ll9wYXRoX3RvX2RyaXZlcignUmVsZWFzZScpKQorCiAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWxzKAotICAgICAgICAgICAgJy9tb2NrLWNoZWNrb3V0L1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vYnVpbGQvRGVidWcvRHVtcFJlbmRlclRyZWUuZXhlJywKKyAgICAgICAgICAg
ICcvbW9jay1jaGVja291dC9vdXQvRGVidWcvRHVtcFJlbmRlclRyZWUuZXhlJywKICAgICAgICAg
ICAgIHBvcnQuX3BhdGhfdG9fZHJpdmVyKCdEZWJ1ZycpKQogCisgICAgICAgIHBvcnQgPSBzZWxm
Lm1ha2VfcG9ydCgpCisgICAgICAgIHBvcnQuX2ZpbGVzeXN0ZW0uZmlsZXMgPSB7CisgICAgICAg
ICAgICAnL21vY2stY2hlY2tvdXQvb3V0L1JlbGVhc2UvRHVtcFJlbmRlclRyZWUuZXhlJzogJ2V4
ZScsCisgICAgICAgIH0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoCisgICAgICAgICAgICAn
L21vY2stY2hlY2tvdXQvb3V0L1JlbGVhc2UvRHVtcFJlbmRlclRyZWUuZXhlJywKKyAgICAgICAg
ICAgIHBvcnQuX3BhdGhfdG9fZHJpdmVyKCdSZWxlYXNlJykpCisKKyAgICAgICAgcG9ydCA9IHNl
bGYubWFrZV9wb3J0KCkKKyAgICAgICAgcG9ydC5fZmlsZXN5c3RlbS5maWxlcyA9IHsKKyAgICAg
ICAgICAgICcvbW9jay1jaGVja291dC9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL291dC9SZWxlYXNl
L0R1bXBSZW5kZXJUcmVlLmV4ZSc6ICdleGUnLAorICAgICAgICB9CisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWxzKAorICAgICAgICAgICAgJy9tb2NrLWNoZWNrb3V0L1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vb3V0L1JlbGVhc2UvRHVtcFJlbmRlclRyZWUuZXhlJywKKyAgICAgICAgICAgIHBvcnQu
X3BhdGhfdG9fZHJpdmVyKCdSZWxlYXNlJykpCisKICAgICBkZWYgdGVzdF9vcGVyYXRpbmdfc3lz
dGVtKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCd3aW4nLCBzZWxmLm1ha2VfcG9y
dCgpLm9wZXJhdGluZ19zeXN0ZW0oKSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146154</attachid>
            <date>2012-06-06 17:18:12 -0700</date>
            <delta_ts>2012-06-06 17:25:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88273-20120606171811.patch</filename>
            <type>text/plain</type>
            <size>21012</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NjI4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYWZiMGEyOTFkZmMzMWI4YWQzOTNjOTc3ZWMxN2NjOWU3
N2RkNWFhNS4uNGYxN2ZkMDY0OGFhYjY5MzNkNTYyNzIwMTY5YWM3ZWMwYzY5NGIzYSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU1
IEBACiAyMDEyLTA2LTA2ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIG5yd3Qgc2hvdWxkIGxvb2sgaW4gJ291dCcgZm9yIGJpbmFyaWVzIG9uIGNocm9taXVt
IHdpbiB0byBzdXBwb3J0IG5pbmphCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04ODI3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoaXMgcGF0Y2ggc3RhbmRhcmRpemVzIHRoZSBzZWFyY2ggYWxnb3JpdGht
IHRoZSBjaHJvbWl1bSBwb3J0cworICAgICAgICB1c2UgdG8gZmlndXJlIG91dCB3aGljaCBkcml2
ZXIgdG8gcnVuLiBXZSB3aWxsIGxvb2sgaW4gYQorICAgICAgICBjaHJvbWl1bSBsb2NhdGlvbiBi
ZWZvcmUgYSB3ZWJraXQgbG9jYXRpb24gKGUuZy4sIGluCisgICAgICAgIFNvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vb3V0IGJlZm9yZSBvdXQvKSBhbmQgd2Ugd2lsbCBsb29rIGluIHRoZQorICAgICAg
ICAibGVnYWN5IiBkaXJlY3RvcnkgKHhjb2RlYnVpbGQpIGJlZm9yZSB0aGUgZGlyZWN0b3J5IG5p
bmphIHVzZXMKKyAgICAgICAgKG91dCkuCisKKyAgICAgICAgVW5mb3J0dW5hdGVseSBkdWUgdG8g
dGhlIHdheSB0aGUgdGVzdCBjb2RlIGlzIHNldCB1cCB0ZXN0aW5nIHRoZQorICAgICAgICBwcm9w
ZXJseSByZXF1aXJlcyBzb21lIGR1cGxpY2F0aW9uIG9mIHRlc3QgY29kZS4gSSB3aWxsIGZpeCB0
aGF0CisgICAgICAgIGluIGEgZm9sbG93dXAgcGF0Y2guCisKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5OgorICAgICAgICAoQ2hyb21pdW1Q
b3J0KToKKyAgICAgICAgKENocm9taXVtUG9ydC5fc3RhdGljX2J1aWxkX3BhdGgpOgorICAgICAg
ICAoQ2hyb21pdW1Qb3J0Ll9idWlsZF9wYXRoKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2xpbnV4LnB5OgorICAgICAgICAoQ2hyb21pdW1M
aW51eFBvcnQpOgorICAgICAgICAoQ2hyb21pdW1MaW51eFBvcnQuX2RldGVybWluZV9kcml2ZXJf
cGF0aF9zdGF0aWNhbGx5KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L2Nocm9taXVtX2xpbnV4X3VuaXR0ZXN0LnB5OgorICAgICAgICAoQ2hyb21pdW1MaW51
eFBvcnRUZXN0LnRlc3RfYnVpbGRfcGF0aCk6CisgICAgICAgIChDaHJvbWl1bUxpbnV4UG9ydFRl
c3QpOgorICAgICAgICAoQ2hyb21pdW1MaW51eFBvcnRUZXN0LnRlc3RfZHJpdmVyX25hbWVfb3B0
aW9uKToKKyAgICAgICAgKENocm9taXVtTGludXhQb3J0VGVzdC5wYXRoX3RvX2ltYWdlX2RpZmYp
OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1f
bWFjLnB5OgorICAgICAgICAoQ2hyb21pdW1NYWNQb3J0KToKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX21hY191bml0dGVzdC5weToKKyAgICAg
ICAgKENocm9taXVtTWFjUG9ydFRlc3QudGVzdF9idWlsZF9wYXRoKToKKyAgICAgICAgKENocm9t
aXVtTWFjUG9ydFRlc3QpOgorICAgICAgICAoQ2hyb21pdW1NYWNQb3J0VGVzdC50ZXN0X2RyaXZl
cl9uYW1lX29wdGlvbik6CisgICAgICAgIChDaHJvbWl1bU1hY1BvcnRUZXN0LnBhdGhfdG9faW1h
Z2VfZGlmZik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9j
aHJvbWl1bV91bml0dGVzdC5weToKKyAgICAgICAgKENocm9taXVtUG9ydFRlc3QudGVzdF9vdmVy
cmlkZXNfYW5kX2J1aWxkZXJfbmFtZXMpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luLnB5OgorICAgICAgICAoQ2hyb21pdW1XaW5Qb3J0
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVt
X3dpbl91bml0dGVzdC5weToKKyAgICAgICAgKENocm9taXVtV2luVGVzdC50ZXN0X2J1aWxkX3Bh
dGgpOgorICAgICAgICAoQ2hyb21pdW1XaW5UZXN0LnRlc3Rfb3BlcmF0aW5nX3N5c3RlbSk6Cisg
ICAgICAgIChDaHJvbWl1bVdpblRlc3QpOgorICAgICAgICAoQ2hyb21pdW1XaW5UZXN0LnRlc3Rf
ZHJpdmVyX25hbWVfb3B0aW9uKToKKyAgICAgICAgKENocm9taXVtV2luUG9ydFRlc3QucGF0aF90
b19pbWFnZV9kaWZmKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L3BvcnRfdGVzdGNhc2UucHk6CisgICAgICAgIChQb3J0VGVzdENhc2UuYXNzZXJ0X2J1aWxk
X3BhdGgpOgorCisyMDEyLTA2LTA2ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3Jn
PgorCiAgICAgICAgIGdldCByZWJhc2VsaW5pbmcgdG9vbHMgdG8ga2luZGEgd29yayB3aXRoIHRo
ZSBza2lhIG92ZXJyaWRlcyBmaWxlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04ODQ1NgogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQppbmRleCBlODBlZTA2YjkyZmY0NDQyZGFlZjM4
YWMzNGI2NzZiMjcxMWUwYTM5Li5mYTQzMzcwMTU5OWFmMjdiNDFkZGI3OTU4OGE5MjgwNzhhYjcy
NzY3IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L2Nocm9taXVtLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvY2hyb21pdW0ucHkKQEAgLTg1LDYgKzg1LDI2IEBAIGNsYXNzIENocm9taXVtUG9ydChQb3J0
KToKICAgICAgICAgJ2FuZHJvaWQnOiBbJ2ljZWNyZWFtc2FuZHdpY2gnXSwKICAgICB9CiAKKyAg
ICBERUZBVUxUX0JVSUxEX0RJUkVDVE9SSUVTID0gKCdvdXQnLCkKKworICAgIEBjbGFzc21ldGhv
ZAorICAgIGRlZiBfc3RhdGljX2J1aWxkX3BhdGgoY2xzLCBmaWxlc3lzdGVtLCBidWlsZF9kaXJl
Y3RvcnksIGNocm9taXVtX2Jhc2UsIHdlYmtpdF9iYXNlLCAqY29tcHMpOgorICAgICAgICBpZiBi
dWlsZF9kaXJlY3Rvcnk6CisgICAgICAgICAgICByZXR1cm4gZmlsZXN5c3RlbS5qb2luKGJ1aWxk
X2RpcmVjdG9yeSwgKmNvbXBzKQorCisgICAgICAgIGZvciBkaXJlY3RvcnkgaW4gY2xzLkRFRkFV
TFRfQlVJTERfRElSRUNUT1JJRVM6CisgICAgICAgICAgICBiYXNlX2RpciA9IGZpbGVzeXN0ZW0u
am9pbihjaHJvbWl1bV9iYXNlLCBkaXJlY3RvcnkpCisgICAgICAgICAgICBpZiBmaWxlc3lzdGVt
LmV4aXN0cyhiYXNlX2Rpcik6CisgICAgICAgICAgICAgICAgcmV0dXJuIGZpbGVzeXN0ZW0uam9p
bihiYXNlX2RpciwgKmNvbXBzKQorCisgICAgICAgIGZvciBkaXJlY3RvcnkgaW4gY2xzLkRFRkFV
TFRfQlVJTERfRElSRUNUT1JJRVM6CisgICAgICAgICAgICBiYXNlX2RpciA9IGZpbGVzeXN0ZW0u
am9pbih3ZWJraXRfYmFzZSwgZGlyZWN0b3J5KQorICAgICAgICAgICAgaWYgZmlsZXN5c3RlbS5l
eGlzdHMoYmFzZV9kaXIpOgorICAgICAgICAgICAgICAgIHJldHVybiBmaWxlc3lzdGVtLmpvaW4o
YmFzZV9kaXIsICpjb21wcykKKworICAgICAgICAjIFdlIGhhdmUgdG8gZGVmYXVsdCB0byBzb21l
dGhpbmcsIHNvIHBpY2sgdGhlIGxhc3Qgb25lLgorICAgICAgICByZXR1cm4gZmlsZXN5c3RlbS5q
b2luKGJhc2VfZGlyLCAqY29tcHMpCisKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgX2Nocm9t
aXVtX2Jhc2VfZGlyKGNscywgZmlsZXN5c3RlbSk6CiAgICAgICAgIG1vZHVsZV9wYXRoID0gZmls
ZXN5c3RlbS5wYXRoX3RvX21vZHVsZShjbHMuX19tb2R1bGVfXykKQEAgLTM4NCw2ICs0MDQsOSBA
QCBjbGFzcyBDaHJvbWl1bVBvcnQoUG9ydCk6CiAgICAgIyBvciBhbnkgc3ViY2xhc3Nlcy4KICAg
ICAjCiAKKyAgICBkZWYgX2J1aWxkX3BhdGgoc2VsZiwgKmNvbXBzKToKKyAgICAgICAgcmV0dXJu
IHNlbGYuX3N0YXRpY19idWlsZF9wYXRoKHNlbGYuX2ZpbGVzeXN0ZW0sIHNlbGYuZ2V0X29wdGlv
bignYnVpbGRfZGlyZWN0b3J5JyksIHNlbGYucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoKSwgc2Vs
Zi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoKSwgKmNvbXBzKQorCiAgICAgZGVmIF9jaGVja19kcml2
ZXJfYnVpbGRfdXBfdG9fZGF0ZShzZWxmLCBjb25maWd1cmF0aW9uKToKICAgICAgICAgaWYgY29u
ZmlndXJhdGlvbiBpbiAoJ0RlYnVnJywgJ1JlbGVhc2UnKToKICAgICAgICAgICAgIHRyeToKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21p
dW1fbGludXgucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2No
cm9taXVtX2xpbnV4LnB5CmluZGV4IDNlMDdhNmE3M2ViYjNlNzE0NTAwZDBjM2I2ODE0ZGVkZDk4
MTAzYjguLjA1ZWU2MmRkNjZkNzJmMDI5NWFiYTkxM2QyNWZhZjJiZThhZjBkNTAgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbGlu
dXgucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJv
bWl1bV9saW51eC5weQpAQCAtNTcsNiArNTcsOCBAQCBjbGFzcyBDaHJvbWl1bUxpbnV4UG9ydChj
aHJvbWl1bS5DaHJvbWl1bVBvcnQpOgogICAgICAgICBdLAogICAgIH0KIAorICAgIERFRkFVTFRf
QlVJTERfRElSRUNUT1JJRVMgPSAoJ3Njb25zYnVpbGQnLCAnb3V0JykKKwogICAgIEBjbGFzc21l
dGhvZAogICAgIGRlZiBfZGV0ZXJtaW5lX2RyaXZlcl9wYXRoX3N0YXRpY2FsbHkoY2xzLCBob3N0
LCBvcHRpb25zKToKICAgICAgICAgY29uZmlnX29iamVjdCA9IGNvbmZpZy5Db25maWcoaG9zdC5l
eGVjdXRpdmUsIGhvc3QuZmlsZXN5c3RlbSkKQEAgLTcwLDE4ICs3Miw2IEBAIGNsYXNzIENocm9t
aXVtTGludXhQb3J0KGNocm9taXVtLkNocm9taXVtUG9ydCk6CiAgICAgICAgIHJldHVybiBjbHMu
X3N0YXRpY19idWlsZF9wYXRoKGhvc3QuZmlsZXN5c3RlbSwgYnVpbGRfZGlyZWN0b3J5LCBjaHJv
bWl1bV9iYXNlLCB3ZWJraXRfYmFzZSwgY29uZmlndXJhdGlvbiwgJ0R1bXBSZW5kZXJUcmVlJykK
IAogICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgX3N0YXRpY19idWlsZF9wYXRoKGZpbGVzeXN0
ZW0sIGJ1aWxkX2RpcmVjdG9yeSwgY2hyb21pdW1fYmFzZSwgd2Via2l0X2Jhc2UsICpjb21wcyk6
Ci0gICAgICAgIGlmIGJ1aWxkX2RpcmVjdG9yeToKLSAgICAgICAgICAgIHJldHVybiBmaWxlc3lz
dGVtLmpvaW4oYnVpbGRfZGlyZWN0b3J5LCAqY29tcHMpCi0gICAgICAgIGlmIGZpbGVzeXN0ZW0u
ZXhpc3RzKGZpbGVzeXN0ZW0uam9pbihjaHJvbWl1bV9iYXNlLCAnc2NvbnNidWlsZCcpKToKLSAg
ICAgICAgICAgIHJldHVybiBmaWxlc3lzdGVtLmpvaW4oY2hyb21pdW1fYmFzZSwgJ3Njb25zYnVp
bGQnLCAqY29tcHMpCi0gICAgICAgIGlmIGZpbGVzeXN0ZW0uZXhpc3RzKGZpbGVzeXN0ZW0uam9p
bihjaHJvbWl1bV9iYXNlLCAnb3V0JykpOgotICAgICAgICAgICAgcmV0dXJuIGZpbGVzeXN0ZW0u
am9pbihjaHJvbWl1bV9iYXNlLCAnb3V0JywgKmNvbXBzKQotICAgICAgICBpZiBmaWxlc3lzdGVt
LmV4aXN0cyhmaWxlc3lzdGVtLmpvaW4od2Via2l0X2Jhc2UsICdzY29uc2J1aWxkJykpOgotICAg
ICAgICAgICAgcmV0dXJuIGZpbGVzeXN0ZW0uam9pbih3ZWJraXRfYmFzZSwgJ3Njb25zYnVpbGQn
LCAqY29tcHMpCi0gICAgICAgIHJldHVybiBmaWxlc3lzdGVtLmpvaW4od2Via2l0X2Jhc2UsICdv
dXQnLCAqY29tcHMpCi0KLSAgICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIF9kZXRlcm1pbmVfYXJj
aGl0ZWN0dXJlKGZpbGVzeXN0ZW0sIGV4ZWN1dGl2ZSwgZHJpdmVyX3BhdGgpOgogICAgICAgICBm
aWxlX291dHB1dCA9ICcnCiAgICAgICAgIGlmIGZpbGVzeXN0ZW0uZXhpc3RzKGRyaXZlcl9wYXRo
KToKQEAgLTEzNyw5ICsxMjcsNiBAQCBjbGFzcyBDaHJvbWl1bUxpbnV4UG9ydChjaHJvbWl1bS5D
aHJvbWl1bVBvcnQpOgogICAgICMgUFJPVEVDVEVEIE1FVEhPRFMKICAgICAjCiAKLSAgICBkZWYg
X2J1aWxkX3BhdGgoc2VsZiwgKmNvbXBzKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX3N0YXRpY19i
dWlsZF9wYXRoKHNlbGYuX2ZpbGVzeXN0ZW0sIHNlbGYuZ2V0X29wdGlvbignYnVpbGRfZGlyZWN0
b3J5JyksIHNlbGYucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoKSwgc2VsZi5wYXRoX2Zyb21fd2Vi
a2l0X2Jhc2UoKSwgKmNvbXBzKQotCiAgICAgZGVmIF9jaGVja19hcGFjaGVfaW5zdGFsbChzZWxm
KToKICAgICAgICAgcmVzdWx0ID0gc2VsZi5fY2hlY2tfZmlsZV9leGlzdHMoc2VsZi5fcGF0aF90
b19hcGFjaGUoKSwgImFwYWNoZTIiKQogICAgICAgICByZXN1bHQgPSBzZWxmLl9jaGVja19maWxl
X2V4aXN0cyhzZWxmLl9wYXRoX3RvX2FwYWNoZV9jb25maWdfZmlsZSgpLCAiYXBhY2hlMiBjb25m
aWcgZmlsZSIpIGFuZCByZXN1bHQKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbGludXhfdW5pdHRlc3QucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2xpbnV4X3VuaXR0ZXN0LnB5
CmluZGV4IDY0NzU5NjIyN2JkOTYzNTY5NGUyMmYzNDg0YzljOTNhYjMzYzZmNmUuLmUwZWY3Mjhi
ZDFhZmU4OWRlMzBhZmE0ODAzZWY2MjI1MTg2MWQyZDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbGludXhfdW5pdHRlc3QucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9s
aW51eF91bml0dGVzdC5weQpAQCAtMzAsNiArMzAsNyBAQCBpbXBvcnQgdW5pdHRlc3QKIAogZnJv
bSB3ZWJraXRweS5jb21tb24uc3lzdGVtIGltcG9ydCBleGVjdXRpdmVfbW9jawogZnJvbSB3ZWJr
aXRweS5jb21tb24uc3lzdGVtLnN5c3RlbWhvc3RfbW9jayBpbXBvcnQgTW9ja1N5c3RlbUhvc3QK
K2Zyb20gd2Via2l0cHkudG9vbC5tb2NrdG9vbCBpbXBvcnQgTW9ja09wdGlvbnMKIAogZnJvbSB3
ZWJraXRweS5sYXlvdXRfdGVzdHMucG9ydCBpbXBvcnQgY2hyb21pdW1fbGludXgKIGZyb20gd2Vi
a2l0cHkubGF5b3V0X3Rlc3RzLnBvcnQgaW1wb3J0IHBvcnRfdGVzdGNhc2UKQEAgLTg5LDYgKzkw
LDI5IEBAIGNsYXNzIENocm9taXVtTGludXhQb3J0VGVzdChwb3J0X3Rlc3RjYXNlLlBvcnRUZXN0
Q2FzZSk6CiAgICAgZGVmIHRlc3Rfb3BlcmF0aW5nX3N5c3RlbShzZWxmKToKICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbCgnbGludXgnLCBzZWxmLm1ha2VfcG9ydCgpLm9wZXJhdGluZ19zeXN0ZW0o
KSkKIAorICAgIGRlZiB0ZXN0X2J1aWxkX3BhdGgoc2VsZik6CisgICAgICAgICMgVGVzdCB0aGF0
IG9wdGlvbmFsIHBhdGhzIGFyZSB1c2VkIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGV5IGV4aXN0
LgorICAgICAgICBvcHRpb25zID0gTW9ja09wdGlvbnMoY29uZmlndXJhdGlvbj0nUmVsZWFzZScs
IGJ1aWxkX2RpcmVjdG9yeT0nL2ZvbycpCisgICAgICAgIHNlbGYuYXNzZXJ0X2J1aWxkX3BhdGgo
b3B0aW9ucywgWycvbW9jay1jaGVja291dC9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL291dCddLCAn
L2ZvbycpCisKKyAgICAgICAgIyBUZXN0IHRoYXQgb3B0aW9uYWwgcmVsYXRpdmUgcGF0aHMgYXJl
IHJldHVybmVkIHVubW9kaWZpZWQuCisgICAgICAgIG9wdGlvbnMgPSBNb2NrT3B0aW9ucyhjb25m
aWd1cmF0aW9uPSdSZWxlYXNlJywgYnVpbGRfZGlyZWN0b3J5PSdmb28nKQorICAgICAgICBzZWxm
LmFzc2VydF9idWlsZF9wYXRoKG9wdGlvbnMsIFsnL21vY2stY2hlY2tvdXQvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9vdXQnXSwgJ2ZvbycpCisKKyAgICAgICAgIyBUZXN0IHRoYXQgd2UgbG9vayBp
biBhIGNocm9taXVtIGRpcmVjdG9yeSBiZWZvcmUgdGhlIHdlYmtpdCBkaXJlY3RvcnkuCisgICAg
ICAgIG9wdGlvbnMgPSBNb2NrT3B0aW9ucyhjb25maWd1cmF0aW9uPSdSZWxlYXNlJywgYnVpbGRf
ZGlyZWN0b3J5PU5vbmUpCisgICAgICAgIHNlbGYuYXNzZXJ0X2J1aWxkX3BhdGgob3B0aW9ucywg
WycvbW9jay1jaGVja291dC9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL291dCcsICcvbW9jay1jaGVj
a291dC9vdXQnXSwgJy9tb2NrLWNoZWNrb3V0L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vb3V0JykK
KworICAgICAgICAjIFRlc3QgdGhhdCB3ZSBwcmVmZXIgdGhlIGxlZ2FjeSBkaXIgb3ZlciB0aGUg
bmV3IGRpci4KKyAgICAgICAgb3B0aW9ucyA9IE1vY2tPcHRpb25zKGNvbmZpZ3VyYXRpb249J1Jl
bGVhc2UnLCBidWlsZF9kaXJlY3Rvcnk9Tm9uZSkKKyAgICAgICAgc2VsZi5hc3NlcnRfYnVpbGRf
cGF0aChvcHRpb25zLCBbJy9tb2NrLWNoZWNrb3V0L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc2Nv
bnNidWlsZCcsICcvbW9jay1jaGVja291dC9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL291dCddLCAn
L21vY2stY2hlY2tvdXQvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zY29uc2J1aWxkJykKKworICAg
IGRlZiB0ZXN0X2RyaXZlcl9uYW1lX29wdGlvbihzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRU
cnVlKHNlbGYubWFrZV9wb3J0KCkuX3BhdGhfdG9fZHJpdmVyKCkuZW5kc3dpdGgoJ0R1bXBSZW5k
ZXJUcmVlJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLm1ha2VfcG9ydChvcHRpb25z
PU1vY2tPcHRpb25zKGRyaXZlcl9uYW1lPSdPdGhlckRyaXZlcicpKS5fcGF0aF90b19kcml2ZXIo
KS5lbmRzd2l0aCgnT3RoZXJEcml2ZXInKSkKKworICAgIGRlZiB0ZXN0X3BhdGhfdG9faW1hZ2Vf
ZGlmZihzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoc2VsZi5tYWtlX3BvcnQoKS5f
cGF0aF90b19pbWFnZV9kaWZmKCksICcvbW9jay1jaGVja291dC9vdXQvUmVsZWFzZS9JbWFnZURp
ZmYnKQogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgIHBvcnRfdGVzdGNhc2UubWFp
bigpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L2Nocm9taXVtX21hYy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvY2hyb21pdW1fbWFjLnB5CmluZGV4IGUxY2FmY2NmZGIxNmU4YmIyMGY5OTgwYjk0YjE2MjNh
MjEyYjQ3YzguLmIzYjdiMTQxNWVkYWIxMjgyNzJhZTllMjExNmNlMzhjOTU2Y2YzMTEgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1f
bWFjLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hy
b21pdW1fbWFjLnB5CkBAIC02OCw2ICs2OCw4IEBAIGNsYXNzIENocm9taXVtTWFjUG9ydChjaHJv
bWl1bS5DaHJvbWl1bVBvcnQpOgogICAgICAgICBdLAogICAgIH0KIAorICAgIERFRkFVTFRfQlVJ
TERfRElSRUNUT1JJRVMgPSAoJ3hjb2RlYnVpbGQnLCAnb3V0JykKKwogICAgIEBjbGFzc21ldGhv
ZAogICAgIGRlZiBkZXRlcm1pbmVfZnVsbF9wb3J0X25hbWUoY2xzLCBob3N0LCBvcHRpb25zLCBw
b3J0X25hbWUpOgogICAgICAgICBpZiBwb3J0X25hbWUuZW5kc3dpdGgoJy1tYWMnKToKQEAgLTEx
MywyNiArMTE1LDYgQEAgY2xhc3MgQ2hyb21pdW1NYWNQb3J0KGNocm9taXVtLkNocm9taXVtUG9y
dCk6CiAgICAgIyBQUk9URUNURUQgTUVUSE9EUwogICAgICMKIAotICAgIGRlZiBfYnVpbGRfcGF0
aChzZWxmLCAqY29tcHMpOgotICAgICAgICBpZiBzZWxmLmdldF9vcHRpb24oJ2J1aWxkX2RpcmVj
dG9yeScpOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihzZWxmLmdl
dF9vcHRpb24oJ2J1aWxkX2RpcmVjdG9yeScpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAqY29tcHMpCi0gICAgICAgIGJhc2UgPSBzZWxmLnBhdGhfZnJvbV9jaHJv
bWl1bV9iYXNlKCkKLSAgICAgICAgcGF0aCA9IHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihiYXNlLCAn
b3V0JywgKmNvbXBzKQotICAgICAgICBpZiBzZWxmLl9maWxlc3lzdGVtLmV4aXN0cyhwYXRoKToK
LSAgICAgICAgICAgIHJldHVybiBwYXRoCi0KLSAgICAgICAgcGF0aCA9IHNlbGYuX2ZpbGVzeXN0
ZW0uam9pbihiYXNlLCAneGNvZGVidWlsZCcsICpjb21wcykKLSAgICAgICAgaWYgc2VsZi5fZmls
ZXN5c3RlbS5leGlzdHMocGF0aCk6Ci0gICAgICAgICAgICByZXR1cm4gcGF0aAotCi0gICAgICAg
IGJhc2UgPSBzZWxmLnBhdGhfZnJvbV93ZWJraXRfYmFzZSgpCi0gICAgICAgIHBhdGggPSBzZWxm
Ll9maWxlc3lzdGVtLmpvaW4oYmFzZSwgJ291dCcsICpjb21wcykKLSAgICAgICAgaWYgc2VsZi5f
ZmlsZXN5c3RlbS5leGlzdHMocGF0aCk6Ci0gICAgICAgICAgICByZXR1cm4gcGF0aAotCi0gICAg
ICAgIHJldHVybiBzZWxmLl9maWxlc3lzdGVtLmpvaW4oYmFzZSwgJ3hjb2RlYnVpbGQnLCAqY29t
cHMpCi0KICAgICBkZWYgY2hlY2tfd2RpZmYoc2VsZiwgbG9nZ2luZz1UcnVlKToKICAgICAgICAg
dHJ5OgogICAgICAgICAgICAgIyBXZSdyZSBpZ25vcmluZyB0aGUgcmV0dXJuIGFuZCBhbHdheXMg
cmV0dXJuaW5nIFRydWUKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvY2hyb21pdW1fbWFjX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9tYWNfdW5pdHRlc3QucHkKaW5kZXggNTE5
NDhlY2ViMTQ5NTU1MzMxNThiODAzYTc2OTBhMGZkMGQ5NDE2Yi4uYTg1YmVjYTc0MjQzNmM5NzNj
ODBkNzI5NTI5NjQzZTVkOTlkMDE1YiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9tYWNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9tYWNfdW5pdHRlc3Qu
cHkKQEAgLTMwLDYgKzMwLDcgQEAgaW1wb3J0IHVuaXR0ZXN0CiAKIGZyb20gd2Via2l0cHkubGF5
b3V0X3Rlc3RzLnBvcnQgaW1wb3J0IGNocm9taXVtX21hYwogZnJvbSB3ZWJraXRweS5sYXlvdXRf
dGVzdHMucG9ydCBpbXBvcnQgcG9ydF90ZXN0Y2FzZQorZnJvbSB3ZWJraXRweS50b29sLm1vY2t0
b29sIGltcG9ydCBNb2NrT3B0aW9ucwogCiAKIGNsYXNzIENocm9taXVtTWFjUG9ydFRlc3QocG9y
dF90ZXN0Y2FzZS5Qb3J0VGVzdENhc2UpOgpAQCAtODEsNiArODIsMzAgQEAgY2xhc3MgQ2hyb21p
dW1NYWNQb3J0VGVzdChwb3J0X3Rlc3RjYXNlLlBvcnRUZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3Rf
b3BlcmF0aW5nX3N5c3RlbShzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnbWFjJywg
c2VsZi5tYWtlX3BvcnQoKS5vcGVyYXRpbmdfc3lzdGVtKCkpCiAKKyAgICBkZWYgdGVzdF9idWls
ZF9wYXRoKHNlbGYpOgorICAgICAgICAjIFRlc3QgdGhhdCBvcHRpb25hbCBwYXRocyBhcmUgdXNl
ZCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhleSBleGlzdC4KKyAgICAgICAgb3B0aW9ucyA9IE1v
Y2tPcHRpb25zKGNvbmZpZ3VyYXRpb249J1JlbGVhc2UnLCBidWlsZF9kaXJlY3Rvcnk9Jy9mb28n
KQorICAgICAgICBzZWxmLmFzc2VydF9idWlsZF9wYXRoKG9wdGlvbnMsIFsnL21vY2stY2hlY2tv
dXQvU291cmNlL1dlYktpdC9jaHJvbWl1bS9vdXQnXSwgJy9mb28nKQorCisgICAgICAgICMgVGVz
dCB0aGF0IG9wdGlvbmFsIHJlbGF0aXZlIHBhdGhzIGFyZSByZXR1cm5lZCB1bm1vZGlmaWVkLgor
ICAgICAgICBvcHRpb25zID0gTW9ja09wdGlvbnMoY29uZmlndXJhdGlvbj0nUmVsZWFzZScsIGJ1
aWxkX2RpcmVjdG9yeT0nZm9vJykKKyAgICAgICAgc2VsZi5hc3NlcnRfYnVpbGRfcGF0aChvcHRp
b25zLCBbJy9tb2NrLWNoZWNrb3V0L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vb3V0J10sICdmb28n
KQorCisgICAgICAgICMgVGVzdCB0aGF0IHdlIGxvb2sgaW4gYSBjaHJvbWl1bSBkaXJlY3Rvcnkg
YmVmb3JlIHRoZSB3ZWJraXQgZGlyZWN0b3J5LgorICAgICAgICBvcHRpb25zID0gTW9ja09wdGlv
bnMoY29uZmlndXJhdGlvbj0nUmVsZWFzZScsIGJ1aWxkX2RpcmVjdG9yeT1Ob25lKQorICAgICAg
ICBzZWxmLmFzc2VydF9idWlsZF9wYXRoKG9wdGlvbnMsIFsnL21vY2stY2hlY2tvdXQvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9vdXQnLCAnL21vY2stY2hlY2tvdXQvb3V0J10sICcvbW9jay1jaGVj
a291dC9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL291dCcpCisKKyAgICAgICAgIyBUZXN0IHRoYXQg
d2UgcHJlZmVyIHRoZSBsZWdhY3kgZGlyIG92ZXIgdGhlIG5ldyBkaXIuCisgICAgICAgIG9wdGlv
bnMgPSBNb2NrT3B0aW9ucyhjb25maWd1cmF0aW9uPSdSZWxlYXNlJywgYnVpbGRfZGlyZWN0b3J5
PU5vbmUpCisgICAgICAgIHNlbGYuYXNzZXJ0X2J1aWxkX3BhdGgob3B0aW9ucywgWycvbW9jay1j
aGVja291dC9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3hjb2RlYnVpbGQnLCAnL21vY2stY2hlY2tv
dXQvU291cmNlL1dlYktpdC9jaHJvbWl1bS9vdXQnXSwgJy9tb2NrLWNoZWNrb3V0L1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0veGNvZGVidWlsZCcpCisKKyAgICBkZWYgdGVzdF9kcml2ZXJfbmFtZV9v
cHRpb24oc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLm1ha2VfcG9ydCgpLl9w
YXRoX3RvX2RyaXZlcigpLmVuZHN3aXRoKCdEdW1wUmVuZGVyVHJlZScpKQorICAgICAgICBzZWxm
LmFzc2VydFRydWUoc2VsZi5tYWtlX3BvcnQob3B0aW9ucz1Nb2NrT3B0aW9ucyhkcml2ZXJfbmFt
ZT0nT3RoZXJEcml2ZXInKSkuX3BhdGhfdG9fZHJpdmVyKCkuZW5kc3dpdGgoJ090aGVyRHJpdmVy
JykpCisKKyAgICBkZWYgdGVzdF9wYXRoX3RvX2ltYWdlX2RpZmYoc2VsZik6CisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWxzKHNlbGYubWFrZV9wb3J0KCkuX3BhdGhfdG9faW1hZ2VfZGlmZigpLCAn
L21vY2stY2hlY2tvdXQvb3V0L1JlbGVhc2UvSW1hZ2VEaWZmJykKKwogCiBpZiBfX25hbWVfXyA9
PSAnX19tYWluX18nOgogICAgIHBvcnRfdGVzdGNhc2UubWFpbigpCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0LnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0
dGVzdC5weQppbmRleCBiYjJhMDYyZDE1NzUzYjkzNjQ1MGNiN2QzMDJiYmZjZDA2OTNjNmQ3Li44
M2M4OWZjODMxYzNmOTFjODcwNzI5ZTIwMzljY2EwOTM4NDE4ZDU4IDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0LnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1f
dW5pdHRlc3QucHkKQEAgLTI1MiwxMiArMjUyLDYgQEAgY2xhc3MgQ2hyb21pdW1Qb3J0VGVzdChw
b3J0X3Rlc3RjYXNlLlBvcnRUZXN0Q2FzZSk6CiAgICAgICAgICAgICBzZWxmLmRlZmF1bHRfY29u
ZmlndXJhdGlvbl9jYWxsZWQgPSBUcnVlCiAgICAgICAgICAgICByZXR1cm4gJ2RlZmF1bHQnCiAK
LSAgICBkZWYgdGVzdF9wYXRoX3RvX2ltYWdlX2RpZmYoc2VsZik6Ci0gICAgICAgICMgRklYTUU6
IFRoZXNlIGRvbid0IG5lZWQgdG8gdXNlIGVuZHN3aXRoIG5vdyB0aGF0IHRoZSBwb3J0IHVzZXMg
YSBNb2NrRmlsZVN5c3RlbS4KLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKENocm9taXVtUG9ydFRl
c3QuVGVzdExpbnV4UG9ydCgpLl9wYXRoX3RvX2ltYWdlX2RpZmYoKS5lbmRzd2l0aCgnL291dC9k
ZWZhdWx0L0ltYWdlRGlmZicpKQotICAgICAgICBzZWxmLmFzc2VydFRydWUoQ2hyb21pdW1Qb3J0
VGVzdC5UZXN0TWFjUG9ydCgpLl9wYXRoX3RvX2ltYWdlX2RpZmYoKS5lbmRzd2l0aCgnL3hjb2Rl
YnVpbGQvZGVmYXVsdC9JbWFnZURpZmYnKSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKENocm9t
aXVtUG9ydFRlc3QuVGVzdFdpblBvcnQoKS5fcGF0aF90b19pbWFnZV9kaWZmKCkuZW5kc3dpdGgo
Jy9kZWZhdWx0L0ltYWdlRGlmZi5leGUnKSkKLQogICAgIGRlZiB0ZXN0X2RlZmF1bHRfY29uZmln
dXJhdGlvbihzZWxmKToKICAgICAgICAgbW9ja19vcHRpb25zID0gTW9ja09wdGlvbnMoKQogICAg
ICAgICBwb3J0ID0gQ2hyb21pdW1Qb3J0VGVzdC5UZXN0TGludXhQb3J0KG9wdGlvbnM9bW9ja19v
cHRpb25zKQpAQCAtMzQ1LDE2ICszMzksNiBAQCBjbGFzcyBDaHJvbWl1bVBvcnRUZXN0KHBvcnRf
dGVzdGNhc2UuUG9ydFRlc3RDYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocG9ydC50
ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlkZXMoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
U0tJQV9PVkVSUklERVMgKyBBRERJVElPTkFMX0VYUEVDVEFUSU9OUykKIAotICAgIGRlZiB0ZXN0
X2RyaXZlcl9uYW1lX29wdGlvbihzZWxmKToKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKENocm9t
aXVtUG9ydFRlc3QuVGVzdExpbnV4UG9ydCgpLl9wYXRoX3RvX2RyaXZlcigpLmVuZHN3aXRoKCcv
b3V0L2RlZmF1bHQvRHVtcFJlbmRlclRyZWUnKSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKENo
cm9taXVtUG9ydFRlc3QuVGVzdE1hY1BvcnQoKS5fcGF0aF90b19kcml2ZXIoKS5lbmRzd2l0aCgn
L3hjb2RlYnVpbGQvZGVmYXVsdC9EdW1wUmVuZGVyVHJlZS5hcHAvQ29udGVudHMvTWFjT1MvRHVt
cFJlbmRlclRyZWUnKSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKENocm9taXVtUG9ydFRlc3Qu
VGVzdFdpblBvcnQoKS5fcGF0aF90b19kcml2ZXIoKS5lbmRzd2l0aCgnL2RlZmF1bHQvRHVtcFJl
bmRlclRyZWUuZXhlJykpCi0KLSAgICAgICAgb3B0aW9ucyA9IE1vY2tPcHRpb25zKGRyaXZlcl9u
YW1lPSdPdGhlckRyaXZlcicpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShDaHJvbWl1bVBvcnRU
ZXN0LlRlc3RMaW51eFBvcnQob3B0aW9ucykuX3BhdGhfdG9fZHJpdmVyKCkuZW5kc3dpdGgoJy9v
dXQvZGVmYXVsdC9PdGhlckRyaXZlcicpKQotICAgICAgICBzZWxmLmFzc2VydFRydWUoQ2hyb21p
dW1Qb3J0VGVzdC5UZXN0TWFjUG9ydChvcHRpb25zKS5fcGF0aF90b19kcml2ZXIoKS5lbmRzd2l0
aCgnL3hjb2RlYnVpbGQvZGVmYXVsdC9PdGhlckRyaXZlci5hcHAvQ29udGVudHMvTWFjT1MvT3Ro
ZXJEcml2ZXInKSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKENocm9taXVtUG9ydFRlc3QuVGVz
dFdpblBvcnQob3B0aW9ucykuX3BhdGhfdG9fZHJpdmVyKCkuZW5kc3dpdGgoJy9kZWZhdWx0L090
aGVyRHJpdmVyLmV4ZScpKQotCiAKIGNsYXNzIENocm9taXVtUG9ydExvZ2dpbmdUZXN0KGxvZ3Rl
c3RpbmcuTG9nZ2luZ1Rlc3RDYXNlKToKICAgICBkZWYgdGVzdF9jaGVja19zeXNfZGVwcyhzZWxm
KToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
Y2hyb21pdW1fd2luLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9jaHJvbWl1bV93aW4ucHkKaW5kZXggYjA2ZmU5MTM1NTRlOWJlYzFlM2ZlOGU3MGE3OWJhYzQw
MTBiOGMyOC4uYjc2ZjdlZTY4ZTk3N2FhODIxM2I4OGZmMGMzM2I0MzkwMDg5MGYzZiAxMDA3NTUK
LS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93
aW4ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJv
bWl1bV93aW4ucHkKQEAgLTY2LDYgKzY2LDggQEAgY2xhc3MgQ2hyb21pdW1XaW5Qb3J0KGNocm9t
aXVtLkNocm9taXVtUG9ydCk6CiAgICAgICAgIF0sCiAgICAgfQogCisgICAgREVGQVVMVF9CVUlM
RF9ESVJFQ1RPUklFUyA9ICgnYnVpbGQnLCAnb3V0JykKKwogICAgIEBjbGFzc21ldGhvZAogICAg
IGRlZiBkZXRlcm1pbmVfZnVsbF9wb3J0X25hbWUoY2xzLCBob3N0LCBvcHRpb25zLCBwb3J0X25h
bWUpOgogICAgICAgICBpZiBwb3J0X25hbWUuZW5kc3dpdGgoJy13aW4nKToKQEAgLTEyOCwxNCAr
MTMwLDYgQEAgY2xhc3MgQ2hyb21pdW1XaW5Qb3J0KGNocm9taXVtLkNocm9taXVtUG9ydCk6CiAg
ICAgIwogICAgICMgUFJPVEVDVEVEIFJPVVRJTkVTCiAgICAgIwotICAgIGRlZiBfYnVpbGRfcGF0
aChzZWxmLCAqY29tcHMpOgotICAgICAgICBpZiBzZWxmLmdldF9vcHRpb24oJ2J1aWxkX2RpcmVj
dG9yeScpOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihzZWxmLmdl
dF9vcHRpb24oJ2J1aWxkX2RpcmVjdG9yeScpLCAqY29tcHMpCi0KLSAgICAgICAgcCA9IHNlbGYu
cGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoJ2J1aWxkJywgKmNvbXBzKQotICAgICAgICBpZiBzZWxm
Ll9maWxlc3lzdGVtLmV4aXN0cyhwKToKLSAgICAgICAgICAgIHJldHVybiBwCi0gICAgICAgIHJl
dHVybiBzZWxmLl9maWxlc3lzdGVtLmpvaW4oc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoKSwg
J1NvdXJjZScsICdXZWJLaXQnLCAnY2hyb21pdW0nLCAnYnVpbGQnLCAqY29tcHMpCiAKICAgICBk
ZWYgX3VzZXNfYXBhY2hlKHNlbGYpOgogICAgICAgICByZXR1cm4gRmFsc2UKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luX3Vu
aXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJv
bWl1bV93aW5fdW5pdHRlc3QucHkKaW5kZXggNWJmZjdlMTI5MmY0MTc1MWZlNzYzZjhjZGY5MGFj
MTRjOWM1MDBlNi4uY2MxNDgzODU0YTkyZjJlNzg4MjEwZGJhMjU0OTEzZDZlNGEyOWEzMyAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1
bV93aW5fdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9jaHJvbWl1bV93aW5fdW5pdHRlc3QucHkKQEAgLTM0LDYgKzM0LDcgQEAgZnJvbSB3
ZWJraXRweS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZV9tb2NrIGltcG9ydCBNb2NrRXhlY3V0aXZl
CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZmlsZXN5c3RlbV9tb2NrIGltcG9ydCBNb2Nr
RmlsZVN5c3RlbQogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMucG9ydCBpbXBvcnQgY2hyb21p
dW1fd2luCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5wb3J0IGltcG9ydCBwb3J0X3Rlc3Rj
YXNlCitmcm9tIHdlYmtpdHB5LnRvb2wubW9ja3Rvb2wgaW1wb3J0IE1vY2tPcHRpb25zCiAKIAog
Y2xhc3MgQ2hyb21pdW1XaW5UZXN0KHBvcnRfdGVzdGNhc2UuUG9ydFRlc3RDYXNlKToKQEAgLTEx
MSwxNiArMTEyLDI4IEBAIGNsYXNzIENocm9taXVtV2luVGVzdChwb3J0X3Rlc3RjYXNlLlBvcnRU
ZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHBvcnQuYmFzZWxpbmVfcGF0aCgp
LCBwb3J0Ll93ZWJraXRfYmFzZWxpbmVfcGF0aCgnY2hyb21pdW0td2luJykpCiAKICAgICBkZWYg
dGVzdF9idWlsZF9wYXRoKHNlbGYpOgotICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQot
ICAgICAgICBwb3J0Ll9maWxlc3lzdGVtLmZpbGVzID0gewotICAgICAgICAgICAgJy9tb2NrLWNo
ZWNrb3V0L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vYnVpbGQvUmVsZWFzZS9EdW1wUmVuZGVyVHJl
ZS5leGUnOiAnZXhlJywKLSAgICAgICAgfQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscygKLSAg
ICAgICAgICAgICcvbW9jay1jaGVja291dC9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2J1aWxkL1Jl
bGVhc2UvRHVtcFJlbmRlclRyZWUuZXhlJywKLSAgICAgICAgICAgIHBvcnQuX3BhdGhfdG9fZHJp
dmVyKCdSZWxlYXNlJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKAotICAgICAgICAgICAg
Jy9tb2NrLWNoZWNrb3V0L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vYnVpbGQvRGVidWcvRHVtcFJl
bmRlclRyZWUuZXhlJywKLSAgICAgICAgICAgIHBvcnQuX3BhdGhfdG9fZHJpdmVyKCdEZWJ1Zycp
KQorICAgICAgICAjIFRlc3QgdGhhdCBvcHRpb25hbCBwYXRocyBhcmUgdXNlZCByZWdhcmRsZXNz
IG9mIHdoZXRoZXIgdGhleSBleGlzdC4KKyAgICAgICAgb3B0aW9ucyA9IE1vY2tPcHRpb25zKGNv
bmZpZ3VyYXRpb249J1JlbGVhc2UnLCBidWlsZF9kaXJlY3Rvcnk9Jy9mb28nKQorICAgICAgICBz
ZWxmLmFzc2VydF9idWlsZF9wYXRoKG9wdGlvbnMsIFsnL21vY2stY2hlY2tvdXQvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9vdXQnXSwgJy9mb28nKQorCisgICAgICAgICMgVGVzdCB0aGF0IG9wdGlv
bmFsIHJlbGF0aXZlIHBhdGhzIGFyZSByZXR1cm5lZCB1bm1vZGlmaWVkLgorICAgICAgICBvcHRp
b25zID0gTW9ja09wdGlvbnMoY29uZmlndXJhdGlvbj0nUmVsZWFzZScsIGJ1aWxkX2RpcmVjdG9y
eT0nZm9vJykKKyAgICAgICAgc2VsZi5hc3NlcnRfYnVpbGRfcGF0aChvcHRpb25zLCBbJy9tb2Nr
LWNoZWNrb3V0L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vb3V0J10sICdmb28nKQorCisgICAgICAg
ICMgVGVzdCB0aGF0IHdlIGxvb2sgaW4gYSBjaHJvbWl1bSBkaXJlY3RvcnkgYmVmb3JlIHRoZSB3
ZWJraXQgZGlyZWN0b3J5LgorICAgICAgICBvcHRpb25zID0gTW9ja09wdGlvbnMoY29uZmlndXJh
dGlvbj0nUmVsZWFzZScsIGJ1aWxkX2RpcmVjdG9yeT1Ob25lKQorICAgICAgICBzZWxmLmFzc2Vy
dF9idWlsZF9wYXRoKG9wdGlvbnMsIFsnL21vY2stY2hlY2tvdXQvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9vdXQnLCAnL21vY2stY2hlY2tvdXQvb3V0J10sICcvbW9jay1jaGVja291dC9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL291dCcpCisKKyAgICAgICAgIyBUZXN0IHRoYXQgd2UgcHJlZmVyIHRo
ZSBsZWdhY3kgZGlyIG92ZXIgdGhlIG5ldyBkaXIuCisgICAgICAgIG9wdGlvbnMgPSBNb2NrT3B0
aW9ucyhjb25maWd1cmF0aW9uPSdSZWxlYXNlJywgYnVpbGRfZGlyZWN0b3J5PU5vbmUpCisgICAg
ICAgIHNlbGYuYXNzZXJ0X2J1aWxkX3BhdGgob3B0aW9ucywgWycvbW9jay1jaGVja291dC9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL2J1aWxkJywgJy9tb2NrLWNoZWNrb3V0L1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vb3V0J10sICcvbW9jay1jaGVja291dC9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2J1
aWxkJykKIAogICAgIGRlZiB0ZXN0X29wZXJhdGluZ19zeXN0ZW0oc2VsZik6CiAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoJ3dpbicsIHNlbGYubWFrZV9wb3J0KCkub3BlcmF0aW5nX3N5c3RlbSgp
KQorCisgICAgZGVmIHRlc3RfZHJpdmVyX25hbWVfb3B0aW9uKHNlbGYpOgorICAgICAgICBzZWxm
LmFzc2VydFRydWUoc2VsZi5tYWtlX3BvcnQoKS5fcGF0aF90b19kcml2ZXIoKS5lbmRzd2l0aCgn
RHVtcFJlbmRlclRyZWUuZXhlJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLm1ha2Vf
cG9ydChvcHRpb25zPU1vY2tPcHRpb25zKGRyaXZlcl9uYW1lPSdPdGhlckRyaXZlcicpKS5fcGF0
aF90b19kcml2ZXIoKS5lbmRzd2l0aCgnT3RoZXJEcml2ZXIuZXhlJykpCisKKyAgICBkZWYgdGVz
dF9wYXRoX3RvX2ltYWdlX2RpZmYoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNl
bGYubWFrZV9wb3J0KCkuX3BhdGhfdG9faW1hZ2VfZGlmZigpLCAnL21vY2stY2hlY2tvdXQvb3V0
L1JlbGVhc2UvSW1hZ2VEaWZmLmV4ZScpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L3BvcnRfdGVzdGNhc2UucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3BvcnRfdGVzdGNhc2UucHkKaW5kZXggNGJkYzNlZDEz
ODcwNmI0OTNlMTE0ODdlMzhiODhkN2ViMTE5NzE2ZC4uMTAwZjY0OGYzNmJhMGVkNWQ4NjZjNTVk
NWU5MWEzN2Q4Y2M0YTExYSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcG9ydF90ZXN0Y2FzZS5weQpAQCAtMzMzLDYgKzMzMywxMyBA
QCBjbGFzcyBQb3J0VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgIHUn
U1RET1VUOiBmb29cdWZmZmRiYXJcbicKICAgICAgICAgICAgICB1J1NUREVSUjogZm9vXHVmZmZk
YmFyXG4nKSkKIAorICAgIGRlZiBhc3NlcnRfYnVpbGRfcGF0aChzZWxmLCBvcHRpb25zLCBkaXJz
LCBleHBlY3RlZF9wYXRoKToKKyAgICAgICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0KG9wdGlvbnM9
b3B0aW9ucykKKyAgICAgICAgZm9yIGRpcmVjdG9yeSBpbiBkaXJzOgorICAgICAgICAgICAgcG9y
dC5ob3N0LmZpbGVzeXN0ZW0ubWF5YmVfbWFrZV9kaXJlY3RvcnkoZGlyZWN0b3J5KQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscyhwb3J0Ll9idWlsZF9wYXRoKCksIGV4cGVjdGVkX3BhdGgpCisK
KwogIyBGSVhNRTogVGhpcyBjbGFzcyBhbmQgbWFpbigpIHNob3VsZCBiZSBtZXJnZWQgaW50byB0
ZXN0LXdlYmtpdHB5LgogY2xhc3MgRW5oYW5jZWRUZXN0TG9hZGVyKHVuaXR0ZXN0LlRlc3RMb2Fk
ZXIpOgogICAgIGludGVncmF0aW9uX3Rlc3RzID0gRmFsc2UK
</data>
<flag name="review"
          id="153406"
          type_id="1"
          status="+"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>