<?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>75479</bug_id>
          
          <creation_ts>2012-01-03 10:57:01 -0800</creation_ts>
          <short_desc>REGRESSION (r102161): NRWT crashes on launch on Windows 7 SP1</short_desc>
          <delta_ts>2012-01-03 11:56:32 -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>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows 7</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, PlatformOnly, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>38756</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>528854</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2012-01-03 10:57:01 -0800</bug_when>
    <thetext>To reproduce on Windows 7 SP1:

1. new-run-webkit-tests

You&apos;ll get something like this:

Starting 1 worker ...Process _Process-1:
Traceback (most recent call last):
  File &quot;/usr/lib/python2.6/multiprocessing/process.py&quot;, line 232, in _bootstrap
    self.run()
  File &quot;/home/Adam Roben/dev/WebKit/OpenSource/Tools/Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py&quot;, line 269, in run
    port_obj = host.port_factory.get(self._platform_name, options)
  File &quot;/home/Adam Roben/dev/WebKit/OpenSource/Tools/Scripts/webkitpy/layout_tests/port/factory.py&quot;, line 135, in get
    return self._get_kwargs(**kwargs)
  File &quot;/home/Adam Roben/dev/WebKit/OpenSource/Tools/Scripts/webkitpy/layout_tests/port/factory.py&quot;, line 115, in _get_kwargs
    return maker(self._host, **kwargs)
  File &quot;/home/Adam Roben/dev/WebKit/OpenSource/Tools/Scripts/webkitpy/layout_tests/port/win.py&quot;, line 79, in __init__
                                                                                                                       ApplePort.__init__(self, host, **kwargs)
  File &quot;/home/Adam Roben/dev/WebKit/OpenSource/Tools/Scripts/webkitpy/layout_tests/port/apple.py&quot;, line 74, in __init__
                                                                                                                         assert port_name in allowed_port_names, &quot;%s is not in %s&quot; % (por
t_name, allowed_port_names)
AssertionError: win-future is not in [&apos;win-xp&apos;, &apos;win-vista&apos;, &apos;win-7sp0&apos;, &apos;win&apos;, &apos;mac-future&apos;]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528855</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2012-01-03 10:58:12 -0800</bug_when>
    <thetext>Looks like WinPort.__init__ is setting self._operating_system before calling up to the super class, but Port.__init__ overwrites it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528858</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-01-03 11:00:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/10637385&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528912</commentid>
    <comment_count>3</comment_count>
      <attachid>120972</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2012-01-03 11:36:02 -0800</bug_when>
    <thetext>Created attachment 120972
Make Port subclasses override the operating_system method rather than setting an attribute</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528915</commentid>
    <comment_count>4</comment_count>
      <attachid>120972</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-01-03 11:40:34 -0800</bug_when>
    <thetext>Comment on attachment 120972
Make Port subclasses override the operating_system method rather than setting an attribute

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528916</commentid>
    <comment_count>5</comment_count>
      <attachid>120972</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-01-03 11:41:41 -0800</bug_when>
    <thetext>Comment on attachment 120972
Make Port subclasses override the operating_system method rather than setting an attribute

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

&gt; Tools/Scripts/webkitpy/layout_tests/port/win_unittest.py:108
&gt; +    def test_operating_system(self):
&gt; +        self.assertEqual(&apos;win&apos;, self.make_port().operating_system())

This test would have failed before your patch, right?  The most important bit of this change is the test. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528918</commentid>
    <comment_count>6</comment_count>
      <attachid>120972</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2012-01-03 11:44:57 -0800</bug_when>
    <thetext>Comment on attachment 120972
Make Port subclasses override the operating_system method rather than setting an attribute

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

&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/win_unittest.py:108
&gt;&gt; +        self.assertEqual(&apos;win&apos;, self.make_port().operating_system())
&gt; 
&gt; This test would have failed before your patch, right?  The most important bit of this change is the test. :)

Exactly! I tested that it fails without my patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528932</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2012-01-03 11:56:32 -0800</bug_when>
    <thetext>Committed r103952: &lt;http://trac.webkit.org/changeset/103952&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120972</attachid>
            <date>2012-01-03 11:36:02 -0800</date>
            <delta_ts>2012-01-03 11:44:57 -0800</delta_ts>
            <desc>Make Port subclasses override the operating_system method rather than setting an attribute</desc>
            <filename>bug-75479-20120103113601.patch</filename>
            <type>text/plain</type>
            <size>19306</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzOTQzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGRmNGY3YjlmMmI4NDUzODE1MmRkMTU4MjhiZjc5OTQ1
ZGQ2MTdiMS4uZWRmODY4MTU4ZGVmMGUyODJjOTk1ODJhNjEwNmNiNGNlYWIxN2E1NyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcy
IEBACisyMDEyLTAxLTAzICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KKworICAgICAg
ICBNYWtlIFBvcnQgc3ViY2xhc3NlcyBvdmVycmlkZSB0aGUgb3BlcmF0aW5nX3N5c3RlbSBtZXRo
b2QgcmF0aGVyIHRoYW4gc2V0dGluZyBhbiBhdHRyaWJ1dGUKKworICAgICAgICBXaXRob3V0IHRo
aXMgcGF0Y2gsIGFueSB1c2Ugb2YgUG9ydC5vcGVyYXRpbmdfc3lzdGVtKCkgd2l0aGluIGEgcG9y
dCdzIF9faW5pdF9fIG1ldGhvZCB3b3VsZAorICAgICAgICByZXR1cm4gdGhlIGRlZmF1bHQgdmFs
dWUgKCJtYWMiKS4gVGhpcyB3YXMgY29uZnVzaW5nIHRoZSB2ZXJzaW9uLWNoZWNraW5nIGxvZ2lj
IGluc2lkZQorICAgICAgICBBcHBsZVBvcnQuX19pbml0X18gb24gV2luZG93cy4KKworICAgICAg
ICBGaXhlcyA8aHR0cDovL3dlYmtpdC5vcmcvYi83NTQ3OT4gPHJkYXI6Ly9wcm9ibGVtLzEwNjM3
Mzg1PiBSRUdSRVNTSU9OIChyMTAyMTYxKTogTlJXVAorICAgICAgICBjcmFzaGVzIG9uIGxhdW5j
aCBvbiBXaW5kb3dzIDcgU1AxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2FwcGxlLnB5
OgorICAgICAgICAoQXBwbGVQb3J0Ll9faW5pdF9fKTogUmVwbGFjZWQgdXNlcyBvZiBzZWxmLl9v
cGVyYXRpbmdfc3lzdGVtIHdpdGggc2VsZi5vcGVyYXRpbmdfc3lzdGVtKCkuCisKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHk6CisgICAgICAgIChQ
b3J0Ll9faW5pdF9fKTogUmVtb3ZlZCBjb2RlIHRoYXQgc2V0IHRoZSBzZWxmLl9vcGVyYXRpbmdf
c3lzdGVtIGF0dHJpYnV0ZS4gU3ViY2xhc3NlcworICAgICAgICBzaG91bGQgbm93IG92ZXJyaWRl
IHRoZSBvcGVyYXRpbmdfc3lzdGVtIG1ldGhvZCBpbnN0ZWFkLgorICAgICAgICAoUG9ydC5vcGVy
YXRpbmdfc3lzdGVtKTogQ2hhbmdlZCB0byBhbHdheXMgcmV0dXJuICJtYWMiLiBTdWJjbGFzc2Vz
IHNob3VsZCBvdmVycmlkZSB0bworICAgICAgICByZXR1cm4gc29tZXRoaW5nIGVsc2UuCisKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2xpbnV4
LnB5OgorICAgICAgICAoQ2hyb21pdW1MaW51eFBvcnQuX19pbml0X18pOgorICAgICAgICAoQ2hy
b21pdW1MaW51eFBvcnQub3BlcmF0aW5nX3N5c3RlbSk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9tYWMucHk6CisgICAgICAgIChDaHJvbWl1
bU1hY1BvcnQuX19pbml0X18pOgorICAgICAgICAoQ2hyb21pdW1NYWNQb3J0Lm9wZXJhdGluZ19z
eXN0ZW0pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hy
b21pdW1fd2luLnB5OgorICAgICAgICAoQ2hyb21pdW1XaW5Qb3J0Ll9faW5pdF9fKToKKyAgICAg
ICAgKENocm9taXVtV2luUG9ydC5vcGVyYXRpbmdfc3lzdGVtKToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L21hYy5weToKKyAgICAgICAgKE1hY1BvcnQuX19p
bml0X18pOgorICAgICAgICAoTWFjUG9ydC5vcGVyYXRpbmdfc3lzdGVtKToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dpbi5weToKKyAgICAgICAgKFdpblBv
cnQuX19pbml0X18pOgorICAgICAgICAoV2luUG9ydC5vcGVyYXRpbmdfc3lzdGVtKToKKyAgICAg
ICAgQ2hhbmdlZCB0byBvdmVycmlkZSB0aGUgb3BlcmF0aW5nX3N5c3RlbSBtZXRob2QgcmF0aGVy
IHRoYW4gc2V0dGluZyB0aGUgX29wZXJhdGluZ19zeXN0ZW0KKyAgICAgICAgYXR0cmlidXRlLCBz
aW5jZSBzZXR0aW5nIHRoZSBhdHRyaWJ1dGUgaXNuJ3Qgc3VmZmljaWVudCBmb3IgY29kZSBpbnNp
ZGUgX19pbml0X18gbWV0aG9kcy4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvcXQucHk6CisgICAgICAgIChRdFBvcnQuX19pbml0X18pOgorICAgICAgICAo
UXRQb3J0Ll9wYXRoX3RvX3dlYmNvcmVfbGlicmFyeSk6CisgICAgICAgIENoYW5nZWQgdG8gdXNl
IHNlbGYub3BlcmF0aW5nX3N5c3RlbSgpIGluc3RlYWQgb2Ygc2VsZi5fb3BlcmF0aW5nX3N5c3Rl
bSwgZm9yIGNvbnNpc3RlbmN5CisgICAgICAgIHdpdGggb3RoZXIgUG9ydC1yZWxhdGVkIGNvZGUu
CisKKyAgICAgICAgKFF0UG9ydC5vcGVyYXRpbmdfc3lzdGVtKTogQWRkZWQgdGhpcyBvdmVycmlk
ZSBvZiBQb3J0Lm9wZXJhdGluZ19zeXN0ZW0gdGhhdCByZXR1cm5zIHRoZQorICAgICAgICB2YWx1
ZSB3ZSBkZXRlcm1pbmVkIGluIG91ciBfX2luaXRfXyBtZXRob2QuCisKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3Rlc3QucHk6CisgICAgICAgIChUZXN0UG9y
dC5vcGVyYXRpbmdfc3lzdGVtKTogQWRkZWQgdGhpcyBvdmVycmlkZSBvZiBQb3J0Lm9wZXJhdGlu
Z19zeXN0ZW0gdGhhdCByZXR1cm5zIHRoZQorICAgICAgICB2YWx1ZSB3ZSBkZXRlcm1pbmVkIGlu
IG91ciBfX2luaXRfXyBtZXRob2QuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L2Jhc2VfdW5pdHRlc3QucHk6CisgICAgICAgIChQb3J0VGVzdC50ZXN0X29w
ZXJhdGluZ19zeXN0ZW0pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvY2hyb21pdW1fbGludXhfdW5pdHRlc3QucHk6CisgICAgICAgIChDaHJvbWl1bUxpbnV4
UG9ydFRlc3QudGVzdF9vcGVyYXRpbmdfc3lzdGVtKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX21hY191bml0dGVzdC5weToKKyAgICAgICAg
KENocm9taXVtTWFjUG9ydFRlc3QudGVzdF9vcGVyYXRpbmdfc3lzdGVtKToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbl91bml0dGVzdC5w
eToKKyAgICAgICAgKENocm9taXVtV2luUG9ydFRlc3QudGVzdF9vcGVyYXRpbmdfc3lzdGVtKToK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L21hY191bml0dGVz
dC5weToKKyAgICAgICAgKE1hY1BvcnRUZXN0LnRlc3Rfb3BlcmF0aW5nX3N5c3RlbSk6CisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9xdF91bml0dGVzdC5weToK
KyAgICAgICAgKFF0UG9ydFRlc3QudGVzdF9vcGVyYXRpbmdfc3lzdGVtKToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dpbl91bml0dGVzdC5weToKKyAgICAg
ICAgKFdpblBvcnRUZXN0LnRlc3Rfb3BlcmF0aW5nX3N5c3RlbSk6CisgICAgICAgIFRlc3QgdGhh
dCBhbGwgcG9ydHMgcmV0dXJuIHRoZSBleHBlY3RlZCBvcGVyYXRpbmcgc3lzdGVtIHN0cmluZy4K
KwogMjAxMi0wMS0wMyAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+
CiAKICAgICAgICAgW0dUS10gcnVuLWd0ay10ZXN0IHNob3VsZCBpZ25vcmUgZmlsZXMgd2l0aCBu
YW1lcyB3aXRob3V0IGEgInRlc3QiIG9yICJUZXN0IiBwcmVmaXgKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYXBwbGUucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2FwcGxlLnB5CmluZGV4IGVmMjU5ZmFlZTA0
MGJlZGQyYWFiZWFkMDc0ZjBiODRiMGMyYjBiY2QuLjI5Y2E5ODdiNWM4YmJmMTM0NDE0ZWRlZTNl
MTM4YTA4OGY2MDdjMjkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvYXBwbGUucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC9hcHBsZS5weQpAQCAtNzAsNyArNzAsNyBAQCBjbGFzcyBBcHBsZVBvcnQoV2Vi
S2l0UG9ydCk6CiAgICAgICAgICAgICBzZWxmLl92ZXJzaW9uID0gc2VsZi5fZGV0ZWN0X3ZlcnNp
b24ob3NfdmVyc2lvbl9zdHJpbmcpIG9yIHNlbGYuRlVUVVJFX1ZFUlNJT04KICAgICAgICAgICAg
IHNlbGYuX25hbWUgPSBzZWxmLnBvcnRfbmFtZSArICctJyArIHNlbGYuX3ZlcnNpb24KICAgICAg
ICAgZWxzZToKLSAgICAgICAgICAgIGFsbG93ZWRfcG9ydF9uYW1lcyA9IHNlbGYuVkVSU0lPTl9G
QUxMQkFDS19PUkRFUiArIFtzZWxmLl9vcGVyYXRpbmdfc3lzdGVtICsgIi1mdXR1cmUiXQorICAg
ICAgICAgICAgYWxsb3dlZF9wb3J0X25hbWVzID0gc2VsZi5WRVJTSU9OX0ZBTExCQUNLX09SREVS
ICsgW3NlbGYub3BlcmF0aW5nX3N5c3RlbSgpICsgIi1mdXR1cmUiXQogICAgICAgICAgICAgYXNz
ZXJ0IHBvcnRfbmFtZSBpbiBhbGxvd2VkX3BvcnRfbmFtZXMsICIlcyBpcyBub3QgaW4gJXMiICUg
KHBvcnRfbmFtZSwgYWxsb3dlZF9wb3J0X25hbWVzKQogICAgICAgICAgICAgc2VsZi5fdmVyc2lv
biA9IHNlbGYuX3N0cmlwX3BvcnRfbmFtZV9wcmVmaXgocG9ydF9uYW1lKQogCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKaW5kZXggMWVmMmMz
MTAzZjAzY2ExN2RhYmRmZTgzOGVmOTM0ZTMzYjVhZjFkZi4uYzdmYjVkMWY3N2QxOTRjNDg5M2Jj
NzM1Y2IzZjc1NzUxZWFhMzJkNiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQpAQCAtOTIsNyArOTIsNiBAQCBjbGFzcyBQb3J0KG9iamVj
dCk6CiAKICAgICAgICAgIyBUaGVzZSBhcmUgZGVmYXVsdCB2YWx1ZXMgdGhhdCBzaG91bGQgYmUg
b3ZlcnJpZGRlbiBpbiBhIHN1YmNsYXNzZXMuCiAgICAgICAgIHNlbGYuX25hbWUgPSBwb3J0X25h
bWUgb3Igc2VsZi5wb3J0X25hbWUgICMgU3ViY2xhc3NlcyBtYXkgYXBwZW5kIGEgLVZFUlNJT04g
KGxpa2UgbWFjLWxlb3BhcmQpIG9yIG90aGVyIHF1YWxpZmllcnMuCi0gICAgICAgIHNlbGYuX29w
ZXJhdGluZ19zeXN0ZW0gPSAnbWFjJwogICAgICAgICBzZWxmLl92ZXJzaW9uID0gJycKICAgICAg
ICAgc2VsZi5fYXJjaGl0ZWN0dXJlID0gJ3g4NicKICAgICAgICAgc2VsZi5fZ3JhcGhpY3NfdHlw
ZSA9ICdjcHUnCkBAIC02MzUsNyArNjM0LDggQEAgY2xhc3MgUG9ydChvYmplY3QpOgogICAgICAg
ICByZXR1cm4gc2VsZi5uYW1lKCkKIAogICAgIGRlZiBvcGVyYXRpbmdfc3lzdGVtKHNlbGYpOgot
ICAgICAgICByZXR1cm4gc2VsZi5fb3BlcmF0aW5nX3N5c3RlbQorICAgICAgICAjIFN1YmNsYXNz
ZXMgc2hvdWxkIG92ZXJyaWRlIHRoaXMgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAg
cmV0dXJuICdtYWMnCiAKICAgICBkZWYgdmVyc2lvbihzZWxmKToKICAgICAgICAgIiIiUmV0dXJu
cyBhIHN0cmluZyBpbmRpY2F0aW5nIHRoZSB2ZXJzaW9uIG9mIGEgZ2l2ZW4gcGxhdGZvcm0sIGUu
Zy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
YmFzZV91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvYmFzZV91bml0dGVzdC5weQppbmRleCA4MjM5Y2NhNzkwOGRjMzYzMDQxMzY2NThhNGYwNjJh
MWRhMjRlMmMxLi45M2MxODBlMDJjY2RmZDdmNWFlOWRhMjc5NDMzYWU5YTE4MDU3NzU4IDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2VfdW5p
dHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9i
YXNlX3VuaXR0ZXN0LnB5CkBAIC0zNDgsNiArMzQ4LDkgQEAgY2xhc3MgUG9ydFRlc3QodW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICAgICAgJ2Jhci90ZXN0LTIuaHRtbCc6IFsoJyE9JywgJ2Jh
ci90ZXN0LW5vdHJlZi5odG1sJyldLAogICAgICAgICAgICAgJ2Jhci90ZXN0LTMuaHRtbCc6IFso
Jz09JywgJ2Jhci90ZXN0LXJlZi5odG1sJyksICgnPT0nLCAnYmFyL3Rlc3QtcmVmMi5odG1sJyks
ICgnIT0nLCAnYmFyL3Rlc3Qtbm90cmVmLmh0bWwnKV19KQogCisgICAgZGVmIHRlc3Rfb3BlcmF0
aW5nX3N5c3RlbShzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnbWFjJywgc2VsZi5t
YWtlX3BvcnQoKS5vcGVyYXRpbmdfc3lzdGVtKCkpCisKIAogY2xhc3MgVmlydHVhbFRlc3QodW5p
dHRlc3QuVGVzdENhc2UpOgogICAgICIiIlRlc3RzIHRoYXQgdmFyaW91cyBtZXRob2RzIGV4cGVj
dGVkIHRvIGJlIHZpcnR1YWwgYXJlLiIiIgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9saW51eC5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbGludXgucHkKaW5kZXggODliZTVk
ZGY0OTA5NjAxNDM3OGU0MWM4YTJhNDAyYjM4N2MwNDZkMC4uNmI2ZThlZjQ5NGIwNmZhNTdmNDc3
ZjQ0YzM1YTQ3MTYxZDhhMjE3NiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9saW51eC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2xpbnV4LnB5CkBAIC03NCw3ICs3NCw2
IEBAIGNsYXNzIENocm9taXVtTGludXhQb3J0KGNocm9taXVtLkNocm9taXVtUG9ydCk6CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICdjaHJvbWl1bS1saW51eC14ODYnLCAnY2hyb21pdW0t
bGludXgteDg2XzY0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Nocm9taXVtLWdw
dS1saW51eC14ODZfNjQnKQogICAgICAgICBzZWxmLl9uYW1lID0gcG9ydF9uYW1lCi0gICAgICAg
IHNlbGYuX29wZXJhdGluZ19zeXN0ZW0gPSAnbGludXgnCiAgICAgICAgIHNlbGYuX3ZlcnNpb24g
PSAnbHVjaWQnICAjIFdlIG9ubHkgc3VwcG9ydCBsdWNpZCByaWdodCBub3cuCiAKICAgICBkZWYg
X2RldGVybWluZV9hcmNoaXRlY3R1cmUoc2VsZik6CkBAIC0xMTEsNiArMTEwLDkgQEAgY2xhc3Mg
Q2hyb21pdW1MaW51eFBvcnQoY2hyb21pdW0uQ2hyb21pdW1Qb3J0KToKICAgICAgICAgICAgIF9s
b2cuZXJyb3IoJyAgICBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vd2lraS9MaW51
eEJ1aWxkSW5zdHJ1Y3Rpb25zJykKICAgICAgICAgcmV0dXJuIHJlc3VsdAogCisgICAgZGVmIG9w
ZXJhdGluZ19zeXN0ZW0oc2VsZik6CisgICAgICAgIHJldHVybiAnbGludXgnCisKICAgICAjCiAg
ICAgIyBQUk9URUNURUQgTUVUSE9EUwogICAgICMKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbGludXhfdW5pdHRlc3QucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2xpbnV4X3Vu
aXR0ZXN0LnB5CmluZGV4IGIxZTM4NGZkZjQ5MjJmMzE1ZGY2NzY5NmRhODE5MzZhNGNmNzY4OGQu
Ljc5ZTY1Y2Y3ZmNiYmY5Nzc3YjhlNDgxMmEwNTA1ZDUzZTdlYjlkNGEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbGludXhfdW5p
dHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9j
aHJvbWl1bV9saW51eF91bml0dGVzdC5weQpAQCAtODYsNiArODYsOSBAQCBjbGFzcyBDaHJvbWl1
bUxpbnV4UG9ydFRlc3QocG9ydF90ZXN0Y2FzZS5Qb3J0VGVzdENhc2UpOgogICAgICAgICBob3N0
LmV4ZWN1dGl2ZSA9IGV4ZWN1dGl2ZV9tb2NrLk1vY2tFeGVjdXRpdmUyKGV4Y2VwdGlvbj1Bc3Nl
cnRpb25FcnJvcikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IsIGNo
cm9taXVtX2xpbnV4LkNocm9taXVtTGludXhQb3J0LCBob3N0KQogCisgICAgZGVmIHRlc3Rfb3Bl
cmF0aW5nX3N5c3RlbShzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnbGludXgnLCBz
ZWxmLm1ha2VfcG9ydCgpLm9wZXJhdGluZ19zeXN0ZW0oKSkKKwogCiBpZiBfX25hbWVfXyA9PSAn
X19tYWluX18nOgogICAgIHBvcnRfdGVzdGNhc2UubWFpbigpCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX21hYy5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbWFjLnB5CmluZGV4
IGFhZWYxOGE0NTdiMjE1OTM5MTI4ZDE1MjRkMmM1YTc5NDc5MjczOGIuLmVmMDM2Y2ZmNDdkYTg5
MjQyZDU5YjU0Y2E5YzRkMzg2N2QwYjQ3OGUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbWFjLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbWFjLnB5CkBAIC0xMjUsNyAr
MTI1LDYgQEAgY2xhc3MgQ2hyb21pdW1NYWNQb3J0KGNocm9taXVtLkNocm9taXVtUG9ydCk6CiAg
ICAgICAgICAgICBzZWxmLl9ncmFwaGljc190eXBlID0gJ2NwdS1jZycKICAgICAgICAgZWxzZToK
ICAgICAgICAgICAgIHNlbGYuX2dyYXBoaWNzX3R5cGUgPSAnY3B1JwotICAgICAgICBzZWxmLl9v
cGVyYXRpbmdfc3lzdGVtID0gJ21hYycKIAogICAgIGRlZiBiYXNlbGluZV9zZWFyY2hfcGF0aChz
ZWxmKToKICAgICAgICAgZmFsbGJhY2tfcGF0aHMgPSBzZWxmLkZBTExCQUNLX1BBVEhTCkBAIC0x
NTAsNiArMTQ5LDkgQEAgY2xhc3MgQ2hyb21pdW1NYWNQb3J0KGNocm9taXVtLkNocm9taXVtUG9y
dCk6CiAgICAgICAgICAgICByZXR1cm4gMQogICAgICAgICByZXR1cm4gY2hyb21pdW0uQ2hyb21p
dW1Qb3J0LmRlZmF1bHRfY2hpbGRfcHJvY2Vzc2VzKHNlbGYpCiAKKyAgICBkZWYgb3BlcmF0aW5n
X3N5c3RlbShzZWxmKToKKyAgICAgICAgcmV0dXJuICdtYWMnCisKICAgICAjCiAgICAgIyBQUk9U
RUNURUQgTUVUSE9EUwogICAgICMKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbWFjX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9tYWNfdW5pdHRlc3QucHkKaW5k
ZXggZDMwMjMxZmEzY2E4NDFhNTQ2M2YzY2U5OTFjMTRmOWVmOWVmMjAyNC4uYjIxMTQyYzQyNjZk
YmY5Y2U4ZTVmYWJlZDNjM2VhMzkzOTEzNDQ1ZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9tYWNfdW5pdHRlc3QucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9tYWNfdW5p
dHRlc3QucHkKQEAgLTg1LDYgKzg1LDkgQEAgY2xhc3MgQ2hyb21pdW1NYWNQb3J0VGVzdChwb3J0
X3Rlc3RjYXNlLlBvcnRUZXN0Q2FzZSk6CiAgICAgICAgICMgTWFjIGRlZmF1bHRzIHRvIGNwdSBn
cmFwaGljcyB0eXBlLgogICAgICAgICBzZWxmLmFzc2VydEVxdWFscygnY3B1Jywgc2VsZi5tYWtl
X3BvcnQoKS5ncmFwaGljc190eXBlKCkpCiAKKyAgICBkZWYgdGVzdF9vcGVyYXRpbmdfc3lzdGVt
KHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdtYWMnLCBzZWxmLm1ha2VfcG9ydCgp
Lm9wZXJhdGluZ19zeXN0ZW0oKSkKKwogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAg
IHBvcnRfdGVzdGNhc2UubWFpbigpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbi5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luLnB5CmluZGV4IDZjMTMzYTg0ZmFhYmI5
ZTM0MTVhNWYyZmM5ZjAxZGMxNzBmYjI5YzcuLmM3ZTE0ODU5OTIxY2JiNDE4NjY0M2IxNzI3ODgy
MDk4NjE4M2MzZjggMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvY2hyb21pdW1fd2luLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luLnB5CkBAIC05NSw3ICs5NSw2IEBAIGNsYXNzIENo
cm9taXVtV2luUG9ydChjaHJvbWl1bS5DaHJvbWl1bVBvcnQpOgogICAgICAgICBlbHNlOgogICAg
ICAgICAgICAgc2VsZi5fdmVyc2lvbiA9IHBvcnRfbmFtZVtwb3J0X25hbWUuaW5kZXgoJy13aW4t
JykgKyBsZW4oJy13aW4tJyk6XQogICAgICAgICAgICAgYXNzZXJ0IHNlbGYuX3ZlcnNpb24gaW4g
c2VsZi5TVVBQT1JURURfVkVSU0lPTlMsICIlcyBpcyBub3QgaW4gJXMiICUgKHNlbGYuX3ZlcnNp
b24sIHNlbGYuU1VQUE9SVEVEX1ZFUlNJT05TKQotICAgICAgICBzZWxmLl9vcGVyYXRpbmdfc3lz
dGVtID0gJ3dpbicKIAogCiAgICAgZGVmIHNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxmLCBz
ZXJ2ZXJfbmFtZT1Ob25lKToKQEAgLTEzMSw2ICsxMzAsOSBAQCBjbGFzcyBDaHJvbWl1bVdpblBv
cnQoY2hyb21pdW0uQ2hyb21pdW1Qb3J0KToKICAgICAgICAgICAgIF9sb2cuZXJyb3IoJyAgICBo
dHRwOi8vZGV2LmNocm9taXVtLm9yZy9kZXZlbG9wZXJzL2hvdy10b3MvYnVpbGQtaW5zdHJ1Y3Rp
b25zLXdpbmRvd3MnKQogICAgICAgICByZXR1cm4gcmVzdWx0CiAKKyAgICBkZWYgb3BlcmF0aW5n
X3N5c3RlbShzZWxmKToKKyAgICAgICAgcmV0dXJuICd3aW4nCisKICAgICBkZWYgcmVsYXRpdmVf
dGVzdF9maWxlbmFtZShzZWxmLCBmaWxlbmFtZSk6CiAgICAgICAgIHBhdGggPSBmaWxlbmFtZVts
ZW4oc2VsZi5sYXlvdXRfdGVzdHNfZGlyKCkpICsgMTpdCiAgICAgICAgIHJldHVybiBwYXRoLnJl
cGxhY2UoJ1xcJywgJy8nKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW5fdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbl91bml0dGVzdC5weQppbmRleCAz
MWZkYjg0ZDUyZmYzN2NkNGY4MTNkMjUxNzhhYWZjN2EyYTY2YjBiLi43MTZlZjkwMWViMDJmNDMy
MTk0YWFjNTc2MmY3YzZhZWNkZDVjZGNkIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbl91bml0dGVzdC5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbl91bml0dGVz
dC5weQpAQCAtMTI2LDMgKzEyNiw2IEBAIGNsYXNzIENocm9taXVtV2luVGVzdChwb3J0X3Rlc3Rj
YXNlLlBvcnRUZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKAogICAgICAgICAg
ICAgJy9tb2NrLWNoZWNrb3V0L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vYnVpbGQvRGVidWcvRHVt
cFJlbmRlclRyZWUuZXhlJywKICAgICAgICAgICAgIHBvcnQuX3BhdGhfdG9fZHJpdmVyKCdEZWJ1
ZycpKQorCisgICAgZGVmIHRlc3Rfb3BlcmF0aW5nX3N5c3RlbShzZWxmKToKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbCgnd2luJywgc2VsZi5tYWtlX3BvcnQoKS5vcGVyYXRpbmdfc3lzdGVtKCkp
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L21h
Yy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbWFjLnB5Cmlu
ZGV4IGUxNzAxNjRkOWFjMDUzYmFmZTEzYTM2MjE3NzU0NDcwM2JlMDU1OGIuLjkzODU1Yjg3NTlh
Y2E5Y2VmZDc1NDU2ZGIxOGJmODhjN2UyNGM5ZmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbWFjLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbWFjLnB5CkBAIC03NSw3ICs3NSw2IEBAIGNsYXNzIE1h
Y1BvcnQoQXBwbGVQb3J0KToKICAgICAgICAgcmV0dXJuIG9zX3ZlcnNpb24ob3NfdmVyc2lvbl9z
dHJpbmcpCiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgaG9zdCwgKiprd2FyZ3MpOgotICAgICAg
ICBzZWxmLl9vcGVyYXRpbmdfc3lzdGVtID0gJ21hYycKICAgICAgICAgQXBwbGVQb3J0Ll9faW5p
dF9fKHNlbGYsIGhvc3QsICoqa3dhcmdzKQogICAgICAgICBzZWxmLl9sZWFrX2RldGVjdG9yID0g
TGVha0RldGVjdG9yKHNlbGYpCiAgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbigibGVha3MiKToK
QEAgLTEwNSw2ICsxMDQsOSBAQCBjbGFzcyBNYWNQb3J0KEFwcGxlUG9ydCk6CiAgICAgICAgIGVu
dlsnWE1MX0NBVEFMT0dfRklMRVMnXSA9ICcnICAjIHdvcmsgYXJvdW5kIG1pc3NpbmcgL2V0Yy9j
YXRhbG9nIDxyZGFyOi8vcHJvYmxlbS80MjkyOTk1PgogICAgICAgICByZXR1cm4gZW52CiAKKyAg
ICBkZWYgb3BlcmF0aW5nX3N5c3RlbShzZWxmKToKKyAgICAgICAgcmV0dXJuICdtYWMnCisKICAg
ICAjIEJlbG9uZ3Mgb24gYSBQbGF0Zm9ybSBvYmplY3QuCiAgICAgZGVmIGlzX2xlb3BhcmQoc2Vs
Zik6CiAgICAgICAgIHJldHVybiBzZWxmLl92ZXJzaW9uID09ICJsZW9wYXJkIgpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tYWNfdW5pdHRlc3Qu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L21hY191bml0dGVz
dC5weQppbmRleCA5OGZlM2RlMjRhY2JkNmM4Yjk1NzFlZDBhYjg5ZTRiYjMyOTlkMTk5Li4yYWNl
YTk3Y2Q1ODhkZGVjNGVjMGZkYTQ1NjE0MjBjNzhhNTIzNzE3IDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L21hY191bml0dGVzdC5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L21hY191bml0dGVzdC5weQpA
QCAtMTYyLDMgKzE2Miw2IEBAIGphdmEvCiAgICAgICAgIHBvcnQuX2V4ZWN1dGl2ZSA9IE1vY2tF
eGVjdXRpdmUoc2hvdWxkX2xvZz1UcnVlKQogICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiTU9D
SyBydW5fY29tbWFuZDogWydUb29scy9TY3JpcHRzL3J1bi1zYWZhcmknLCAnLS1yZWxlYXNlJywg
Jy1OU09wZW4nLCAndGVzdC5odG1sJ10sIGN3ZD0vbW9jay1jaGVja291dFxuIgogICAgICAgICBP
dXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgcG9ydC5zaG93X3Jlc3VsdHNfaHRt
bF9maWxlLCBbInRlc3QuaHRtbCJdLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQor
CisgICAgZGVmIHRlc3Rfb3BlcmF0aW5nX3N5c3RlbShzZWxmKToKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbCgnbWFjJywgc2VsZi5tYWtlX3BvcnQoKS5vcGVyYXRpbmdfc3lzdGVtKCkpCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3F0LnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9xdC5weQppbmRleCBlYjIz
ZTUzMmYyNDliOGQzOTY0Y2RiMGUzOWNkMDMyNGY0YjJkZDE2Li41ZjNiOWQ3MzJkOTEwNGRiZmFi
NGEzNWYxMDdkZDQ0Y2UxM2IzYzYwIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L3F0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvcXQucHkKQEAgLTYzLDcgKzYzLDcgQEAgY2xhc3MgUXRQb3J0KFdlYktp
dFBvcnQpOgogICAgICAgICBwb3J0X25hbWUgPSBwb3J0X25hbWUgb3Igc2VsZi5wb3J0X25hbWUK
ICAgICAgICAgV2ViS2l0UG9ydC5fX2luaXRfXyhzZWxmLCBob3N0LCBwb3J0X25hbWU9Tm9uZSwg
Kiprd2FyZ3MpCiAgICAgICAgIHNlbGYuX29wZXJhdGluZ19zeXN0ZW0gPSBzZWxmLl9vcGVyYXRp
bmdfc3lzdGVtX2Zvcl9wbGF0Zm9ybShzeXNfcGxhdGZvcm0gb3Igc3lzLnBsYXRmb3JtKQotICAg
ICAgICBzZWxmLl92ZXJzaW9uID0gc2VsZi5fb3BlcmF0aW5nX3N5c3RlbQorICAgICAgICBzZWxm
Ll92ZXJzaW9uID0gc2VsZi5vcGVyYXRpbmdfc3lzdGVtKCkKIAogICAgICAgICAjIEZJWE1FOiBU
aGlzIHdpbGwgYWxsb3cgV2ViS2l0UG9ydC5iYXNlbGluZV9zZWFyY2hfcGF0aCBhbmQgV2ViS2l0
UG9ydC5fc2tpcHBlZF9maWxlX3NlYXJjaF9wYXRocwogICAgICAgICAjIHRvIGRvIHRoZSByaWdo
dCB0aGluZywgYnV0IGRvZXNuJ3QgaW5jbHVkZSBzdXBwb3J0IGZvciBxdC00Ljggb3IgcXQtYXJt
IChzZWVuIGluIExheW91dFRlc3RzL3BsYXRmb3JtKSB5ZXQuCkBAIC03Miw4ICs3Miw4IEBAIGNs
YXNzIFF0UG9ydChXZWJLaXRQb3J0KToKICAgICAgICAgICAgIHNlbGYuX25hbWUgPSBwb3J0X25h
bWUKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIG5hbWVfY29tcG9uZW50cyA9IFtzZWxmLnBv
cnRfbmFtZV0KLSAgICAgICAgICAgIGlmIHNlbGYuX29wZXJhdGluZ19zeXN0ZW06Ci0gICAgICAg
ICAgICAgICAgbmFtZV9jb21wb25lbnRzLmFwcGVuZChzZWxmLl9vcGVyYXRpbmdfc3lzdGVtKQor
ICAgICAgICAgICAgaWYgc2VsZi5vcGVyYXRpbmdfc3lzdGVtKCk6CisgICAgICAgICAgICAgICAg
bmFtZV9jb21wb25lbnRzLmFwcGVuZChzZWxmLm9wZXJhdGluZ19zeXN0ZW0oKSkKICAgICAgICAg
ICAgIHNlbGYuX25hbWUgPSAiLSIuam9pbihuYW1lX2NvbXBvbmVudHMpCiAKICAgICBkZWYgX2dl
bmVyYXRlX2FsbF90ZXN0X2NvbmZpZ3VyYXRpb25zKHNlbGYpOgpAQCAtOTQsNyArOTQsNyBAQCBj
bGFzcyBRdFBvcnQoV2ViS2l0UG9ydCk6CiAgICAgICAgIHJldHVybiBzZWxmLl9idWlsZF9wYXRo
KCdiaW4vSW1hZ2VEaWZmJykKIAogICAgIGRlZiBfcGF0aF90b193ZWJjb3JlX2xpYnJhcnkoc2Vs
Zik6Ci0gICAgICAgIGlmIHNlbGYuX29wZXJhdGluZ19zeXN0ZW0gPT0gJ21hYyc6CisgICAgICAg
IGlmIHNlbGYub3BlcmF0aW5nX3N5c3RlbSgpID09ICdtYWMnOgogICAgICAgICAgICAgcmV0dXJu
IHNlbGYuX2J1aWxkX3BhdGgoJ2xpYi9RdFdlYktpdC5mcmFtZXdvcmsvUXRXZWJLaXQnKQogICAg
ICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2J1aWxkX3BhdGgoJ2xpYi9saWJR
dFdlYktpdC5zbycpCkBAIC0xNTUsMyArMTU1LDYgQEAgY2xhc3MgUXRQb3J0KFdlYktpdFBvcnQp
OgogICAgICAgICAgICAgcnVuX2xhdW5jaGVyX2FyZ3MuYXBwZW5kKCctMicpCiAgICAgICAgIHJ1
bl9sYXVuY2hlcl9hcmdzLmFwcGVuZCgiZmlsZTovLyVzIiAlIHJlc3VsdHNfZmlsZW5hbWUpCiAg
ICAgICAgIHNlbGYuX3J1bl9zY3JpcHQoInJ1bi1sYXVuY2hlciIsIHJ1bl9sYXVuY2hlcl9hcmdz
KQorCisgICAgZGVmIG9wZXJhdGluZ19zeXN0ZW0oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxm
Ll9vcGVyYXRpbmdfc3lzdGVtCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L3F0X3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9xdF91bml0dGVzdC5weQppbmRleCAyOWI4YmFjYTYxNDNmZGVmYzgy
MzY2NDM3NGI3MDU1YWQ5OGI0MmQ3Li5mNDZhNDQwY2RlODUxZmQ2NGI1MTM0ZTRlYzNjZjJmMGI0
Y2VlMTA1IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L3F0X3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvcXRfdW5pdHRlc3QucHkKQEAgLTgzLDMgKzgzLDkgQEAgY2xhc3MgUXRQb3J0VGVz
dChwb3J0X3Rlc3RjYXNlLlBvcnRUZXN0Q2FzZSk6CiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2Vf
cG9ydCgpCiAgICAgICAgIGVudiA9IHBvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKHBvcnQu
ZHJpdmVyX25hbWUoKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoZW52WydRVFdFQktJVF9Q
TFVHSU5fUEFUSCddLCAnTU9DSyBvdXRwdXQgb2YgY2hpbGQgcHJvY2Vzcy9saWIvcGx1Z2lucycp
CisKKyAgICBkZWYgdGVzdF9vcGVyYXRpbmdfc3lzdGVtKHNlbGYpOgorICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKCdsaW51eCcsIHNlbGYubWFrZV9wb3J0KHN5c19wbGF0Zm9ybT0nbGludXgnKS5v
cGVyYXRpbmdfc3lzdGVtKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ21hYycsIHNlbGYu
bWFrZV9wb3J0KHN5c19wbGF0Zm9ybT0nZGFyd2luJykub3BlcmF0aW5nX3N5c3RlbSgpKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKCd3aW4nLCBzZWxmLm1ha2VfcG9ydChzeXNfcGxhdGZvcm09
J2N5Z3dpbicpLm9wZXJhdGluZ19zeXN0ZW0oKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgn
d2luJywgc2VsZi5tYWtlX3BvcnQoc3lzX3BsYXRmb3JtPSd3aW4zMicpLm9wZXJhdGluZ19zeXN0
ZW0oKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvdGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvdGVz
dC5weQppbmRleCA5NWM5MmJlMWY2MWY1ZDQ5YzI4NmY2M2FkYTYwMTk1OTMzYTI2ZDhjLi43YjQ3
Y2NlZGUzOGZhMTEyYTc0NjVmMjkwNGYxNzc1ZjUyYmRiYzg1IDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3Rlc3QucHkKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC90ZXN0LnB5CkBAIC0zNzcsNiArMzc3LDkg
QEAgY2xhc3MgVGVzdFBvcnQoUG9ydCk6CiAgICAgZGVmIG5hbWUoc2VsZik6CiAgICAgICAgIHJl
dHVybiBzZWxmLl9uYW1lCiAKKyAgICBkZWYgb3BlcmF0aW5nX3N5c3RlbShzZWxmKToKKyAgICAg
ICAgcmV0dXJuIHNlbGYuX29wZXJhdGluZ19zeXN0ZW0KKwogICAgIGRlZiBfcGF0aF90b193ZGlm
ZihzZWxmKToKICAgICAgICAgcmV0dXJuIE5vbmUKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93aW4ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L3dpbi5weQppbmRleCA0OWU3ZTE0NGViN2M3ZjRlMThiMTE3
NzBiMzgwNzYwZDYyMjZjMjk3Li5jYTY0ZTk2MjU4NDU2NWJmMTk2ZjE1YWU1NTIwMzFkN2NkZGQy
NWFlIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L3dpbi5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dp
bi5weQpAQCAtNzQsMTAgKzc0LDYgQEAgY2xhc3MgV2luUG9ydChBcHBsZVBvcnQpOgogICAgICAg
ICAgICAgdmVyc2lvbl90dXBsZSA9IHR1cGxlKG1hcChpbnQsIG1hdGNoX29iamVjdC5ncm91cHMo
KSkpCiAgICAgICAgICAgICByZXR1cm4gc2VsZi5fdmVyc2lvbl9zdHJpbmdfZnJvbV93aW5kb3dz
X3ZlcnNpb25fdHVwbGUodmVyc2lvbl90dXBsZSkKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBo
b3N0LCAqKmt3YXJncyk6Ci0gICAgICAgIHNlbGYuX29wZXJhdGluZ19zeXN0ZW0gPSAnd2luJwot
ICAgICAgICBBcHBsZVBvcnQuX19pbml0X18oc2VsZiwgaG9zdCwgKiprd2FyZ3MpCi0KICAgICBk
ZWYgY29tcGFyZV90ZXh0KHNlbGYsIGV4cGVjdGVkX3RleHQsIGFjdHVhbF90ZXh0KToKICAgICAg
ICAgIyBTYW5pdHkgd2FzIHJlc3RvcmVkIGluIFdLMiwgc28gd2UgZG9uJ3QgbmVlZCB0aGlzIGhh
Y2sgdGhlcmUuCiAgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbignd2Via2l0X3Rlc3RfcnVubmVy
Jyk6CkBAIC0xMDgsNiArMTA0LDkgQEAgY2xhc3MgV2luUG9ydChBcHBsZVBvcnQpOgogICAgICAg
ICBmYWxsYmFja19uYW1lcy5leHRlbmQoWydtYWMtbGlvbicsICdtYWMnXSkKICAgICAgICAgcmV0
dXJuIG1hcChzZWxmLl93ZWJraXRfYmFzZWxpbmVfcGF0aCwgZmFsbGJhY2tfbmFtZXMpCiAKKyAg
ICBkZWYgb3BlcmF0aW5nX3N5c3RlbShzZWxmKToKKyAgICAgICAgcmV0dXJuICd3aW4nCisKICAg
ICAjIFRoaXMgcG9ydCBtYXkgbmVlZCB0byBvdmVycmlkZSBzZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2
ZXIKICAgICAjIHRvIG1hdGNoIGJlaGF2aW9yIG9mIHNldFBhdGhGb3JSdW5uaW5nV2ViS2l0QXBw
IGZyb20gT1JXVC4KICAgICAjICRlbnYtPntQQVRIfSA9IGpvaW4oJzonLCBwcm9kdWN0RGlyKCks
IGRpcm5hbWUoaW5zdGFsbGVkU2FmYXJpUGF0aCgpKSwgYXBwbGVBcHBsaWNhdGlvblN1cHBvcnRQ
YXRoKCksICRlbnYtPntQQVRIfSB8fCAiIik7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dpbl91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2luX3VuaXR0ZXN0LnB5CmluZGV4IDJkYmZjZjQ2
YzBlMmZiYjNlOWY0Njk1NDRjYjllYjk3Njc1NGJmMDguLmU5Y2NkY2E0MGY1MzNjMDEzOGQ2NDdk
ZWUzY2E2M2ZlMzI2Zjc5OWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvd2luX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2luX3VuaXR0ZXN0LnB5CkBAIC0xMDMsMyArMTAzLDYgQEAg
Y2xhc3MgV2luUG9ydFRlc3QocG9ydF90ZXN0Y2FzZS5Qb3J0VGVzdENhc2UpOgogICAgICAgICAj
IFRoaXMgaGFjayBkb2Vzbid0IGV4aXN0IGluIFdLMi4KICAgICAgICAgcG9ydC5fb3B0aW9ucyA9
IE1vY2tPcHRpb25zKHdlYmtpdF90ZXN0X3J1bm5lcj1UcnVlKQogICAgICAgICBzZWxmLmFzc2Vy
dFRydWUocG9ydC5jb21wYXJlX3RleHQoZXhwZWN0ZWQsICJmb29cbiIpKQorCisgICAgZGVmIHRl
c3Rfb3BlcmF0aW5nX3N5c3RlbShzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnd2lu
Jywgc2VsZi5tYWtlX3BvcnQoKS5vcGVyYXRpbmdfc3lzdGVtKCkpCg==
</data>
<flag name="review"
          id="121341"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>