<?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>171509</bug_id>
          
          <creation_ts>2017-05-01 13:08:38 -0700</creation_ts>
          <short_desc>fix check-webkit-style errors in webkitpy about two blank lines before class definitions</short_desc>
          <delta_ts>2017-05-01 14:49:33 -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>Tools / Tests</component>
          <version>WebKit Local 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="Aakash Jain">aakash_jain</reporter>
          <assigned_to name="Aakash Jain">aakash_jain</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dewei_zhu</cc>
    
    <cc>glenn</cc>
    
    <cc>lforschler</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1303349</commentid>
    <comment_count>0</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2017-05-01 13:08:38 -0700</bug_when>
    <thetext>check-webkit-style emits errors in few files in webkitpy about not having two blank lines before class declaration.

e.g.:
ERROR: Tools/Scripts/webkitpy/style/checkers/featuredefines.py:40:  expected 2 blank lines, found 1  [pep8/E302] [5]
ERROR: Tools/Scripts/webkitpy/port/device.py:25:  expected 2 blank lines, found 1  [pep8/E302] [5]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303352</commentid>
    <comment_count>1</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2017-05-01 13:08:50 -0700</bug_when>
    <thetext>https://www.python.org/dev/peps/pep-0008/#blank-lines

&quot;Surround top-level function and class definitions with two blank lines.
Method definitions inside a class are surrounded by a single blank line.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303355</commentid>
    <comment_count>2</comment_count>
      <attachid>308756</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2017-05-01 13:14:57 -0700</bug_when>
    <thetext>Created attachment 308756
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303364</commentid>
    <comment_count>3</comment_count>
      <attachid>308758</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2017-05-01 13:28:23 -0700</bug_when>
    <thetext>Created attachment 308758
Updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303420</commentid>
    <comment_count>4</comment_count>
      <attachid>308758</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-01 14:49:31 -0700</bug_when>
    <thetext>Comment on attachment 308758
Updated patch.

Clearing flags on attachment: 308758

Committed r216030: &lt;http://trac.webkit.org/changeset/216030&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303421</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-01 14:49:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308756</attachid>
            <date>2017-05-01 13:14:57 -0700</date>
            <delta_ts>2017-05-01 13:28:23 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>patch_style_two_lines_before_class</filename>
            <type>text/plain</type>
            <size>7109</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDIxNjAy
MikKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDE3LTA1
LTAxICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNvbT4KKworICAgICAgICBmaXgg
Y2hlY2std2Via2l0LXN0eWxlIGVycm9ycyBpbiB3ZWJraXRweSBhYm91dCB0d28gYmxhbmsgbGlu
ZXMgYmVmb3JlIGNsYXNzIGRlZmluaXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE1MDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9jb21t
aXR0ZXJzLnB5OiBBZGRlZCB0d28gYmxhbmsgbGluZXMgYmVmb3JlIGNsYXNzIGRlZmluaXRpb24u
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfcnVu
X3Jlc3VsdHMucHk6IERpdHRvLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3J1bl93ZWJraXRfdGVzdHMucHk6IERpdHRvLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvcG9ydC9iYXNlX3VuaXR0ZXN0LnB5OiBEaXR0by4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3BvcnQvZGV2aWNlLnB5OiBEaXR0by4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weTogRGl0dG8uCisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9zdHlsZS9jaGVja2Vycy9mZWF0dXJlZGVmaW5lcy5weTogRGl0dG8uCisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9qc29uY2hlY2tlci5weTogRGl0dG8uCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9wYXRjaGFuYWx5c2lzdGFzay5weTog
RGl0dG8uCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxl
cnMvbWFuYWdlcl91bml0dGVzdC5weTogRGl0dG8uCisgICAgICAgIChNYW5hZ2VyVGVzdC50ZXN0
X3VzZXNfY3VzdG9tX2RldmljZS5Nb2NrQ3VzdG9tRGV2aWNlUG9ydCk6IEFkZGVkIGJsYW5rIGxp
bmUgYmVmb3JlIG1ldGhvZC4KKyAgICAgICAgKE1hbmFnZXJUZXN0LnRlc3RfdXNlc19jdXN0b21f
ZGV2aWNlKTogUmVtb3ZlZCBleHRyYSBibGFuayBsaW5lIGF0IGVuZCBvZiBmaWxlLgorCiAyMDE3
LTA1LTAxICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBPbi1zY3Jl
ZW4gcGFuZWwgZm9yIGNhbmRpZGF0ZSBiYXIgaXMgaW4gdGhlIHdyb25nIHBsYWNlIHdoZW4gdGhl
IGNhcmV0IGlzIGF0IHRoZSAKSW5kZXg6IFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9j
b21taXR0ZXJzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZp
Zy9jb21taXR0ZXJzLnB5CShyZXZpc2lvbiAyMTYwMjIpCisrKyBTY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9jb25maWcvY29tbWl0dGVycy5weQkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsNyBA
QCBmcm9tIHdlYmtpdHB5LmNvbW1vbi5lZGl0ZGlzdGFuY2UgaW1wb3J0CiBmcm9tIHdlYmtpdHB5
LmNvbW1vbi5tZW1vaXplZCBpbXBvcnQgbWVtb2l6ZWQKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5
c3RlbS5maWxlc3lzdGVtIGltcG9ydCBGaWxlU3lzdGVtCiAKKwogY2xhc3MgQ29udHJpYnV0b3Io
b2JqZWN0KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZSwgZW1haWxfb3JfZW1haWxzLCBp
cmNfbmlja25hbWVfb3Jfbmlja25hbWVzPU5vbmUsIGFsaWFzX29yX2FsaWFzZXM9Tm9uZSwgZXhw
ZXJ0aXNlPU5vbmUpOgogICAgICAgICBhc3NlcnQobmFtZSkKQEAgLTE3MSw2ICsxNzIsNyBAQCBj
bGFzcyBCb3QoQ29udHJpYnV0b3IpOgogICAgICAgICBDb250cmlidXRvci5fX2luaXRfXyhzZWxm
LCBuYW1lLCBlbWFpbF9vcl9lbWFpbHMsIGlyY19uaWNrbmFtZSwgYWxpYXNfb3JfYWxpYXNlcywg
ZXhwZXJ0aXNlKQogICAgICAgICBzZWxmLmlzX2JvdCA9IFRydWUKIAorCiBjbGFzcyBDb21taXR0
ZXJMaXN0KG9iamVjdCk6CiAKICAgICAjIENvbW1pdHRlcnMgYW5kIHJldmlld2VycyBhcmUgcGFz
c2VkIGluIHRvIGFsbG93IGVhc3kgdGVzdGluZwpJbmRleDogU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CShyZXZpc2lvbiAyMTYwMjIpCisr
KyBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNjUsNiArMzY1LDcgQEAgZGVmIF9wcmludF9leHBlY3RhdGlvbnMocG9y
dCwgb3B0aW9ucywgYQogICAgICAgICBwcmludGVyLmNsZWFudXAoKQogICAgICAgICByZXR1cm4g
LTEKIAorCiBkZWYgX3NldF91cF9kZXJpdmVkX29wdGlvbnMocG9ydCwgb3B0aW9ucyk6CiAgICAg
IiIiU2V0cyB0aGUgb3B0aW9ucyB2YWx1ZXMgdGhhdCBkZXBlbmQgb24gb3RoZXIgb3B0aW9ucyB2
YWx1ZXMuIiIiCiAgICAgaWYgbm90IG9wdGlvbnMuY2hpbGRfcHJvY2Vzc2VzOgpJbmRleDogU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl91bml0dGVzdC5w
eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVy
cy9tYW5hZ2VyX3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAyMTYwMjIpCisrKyBTY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3VuaXR0ZXN0LnB5CSh3b3JraW5n
IGNvcHkpCkBAIC0xMDQsNyArMTA0LDggQEAgY2xhc3MgTWFuYWdlclRlc3QodW5pdHRlc3QuVGVz
dENhc2UpOgogCiAgICAgZGVmIHRlc3RfdXNlc19jdXN0b21fZGV2aWNlKHNlbGYpOgogICAgICAg
ICBjbGFzcyBNb2NrQ3VzdG9tRGV2aWNlUG9ydChUZXN0UG9ydCk6Ci0gICAgICAgICAgICBDVVNU
T01fREVWSUNFX0NMQVNTRVMgPSBbJ3N0YXJzaGlwJ10gICAgICAgICAgICAKKyAgICAgICAgICAg
IENVU1RPTV9ERVZJQ0VfQ0xBU1NFUyA9IFsnc3RhcnNoaXAnXQorCiAgICAgICAgICAgICBkZWYg
X19pbml0X18oc2VsZiwgaG9zdCk6CiAgICAgICAgICAgICAgICAgc3VwZXIoTW9ja0N1c3RvbURl
dmljZVBvcnQsIHNlbGYpLl9faW5pdF9fKGhvc3QpCiAKQEAgLTExNiw0ICsxMTcsMyBAQCBjbGFz
cyBNYW5hZ2VyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICAgICAgbWFuYWdlciA9IGdl
dF9tYW5hZ2VyKCkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG1hbmFnZXIuX2N1c3RvbV9kZXZp
Y2VfZm9yX3Rlc3QoJ2Zhc3QvdGVzdC1zdGFyc2hpcC9sYXNlcnMuaHRtbCcpID09ICdzdGFyc2hp
cCcpCi0gICAgICAgIApJbmRleDogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxz
L3Rlc3RfcnVuX3Jlc3VsdHMucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvbW9kZWxzL3Rlc3RfcnVuX3Jlc3VsdHMucHkJKHJldmlzaW9uIDIxNjAyMikKKysr
IFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X3J1bl9yZXN1bHRzLnB5
CSh3b3JraW5nIGNvcHkpCkBAIC0xMjAsNiArMTIwLDcgQEAgY2xhc3MgVGVzdFJ1blJlc3VsdHMo
b2JqZWN0KToKICAgICAgICAgc2VsZi5rZXlib2FyZF9pbnRlcnJ1cHRlZCB8PSB0ZXN0X3J1bl9y
ZXN1bHRzLmtleWJvYXJkX2ludGVycnVwdGVkCiAgICAgICAgIHJldHVybiBzZWxmCiAKKwogY2xh
c3MgUnVuRGV0YWlscyhvYmplY3QpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBleGl0X2NvZGUs
IHN1bW1hcml6ZWRfcmVzdWx0cz1Ob25lLCBpbml0aWFsX3Jlc3VsdHM9Tm9uZSwgcmV0cnlfcmVz
dWx0cz1Ob25lLCBlbmFibGVkX3BpeGVsX3Rlc3RzX2luX3JldHJ5PUZhbHNlKToKICAgICAgICAg
c2VsZi5leGl0X2NvZGUgPSBleGl0X2NvZGUKSW5kZXg6IFNjcmlwdHMvd2Via2l0cHkvcG9ydC9i
YXNlX3VuaXR0ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNl
X3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAyMTYwMjIpCisrKyBTY3JpcHRzL3dlYmtpdHB5L3BvcnQv
YmFzZV91bml0dGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtNDA1LDYgKzQwNSw3IEBAIGNsYXNz
IFBvcnRUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBv
cnQuX2ZpbGVzeXN0ZW0uaXNkaXIoamhidWlsZF9wYXRoKSkKICAgICAgICAgc2VsZi5hc3NlcnRU
cnVlKHBvcnQuX3Nob3VsZF91c2VfamhidWlsZCgpKQogCisKIGNsYXNzIE5hdHVyYWxDb21wYXJl
VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBz
ZWxmLl9wb3J0ID0gVGVzdFBvcnQoTW9ja1N5c3RlbUhvc3QoKSkKSW5kZXg6IFNjcmlwdHMvd2Vi
a2l0cHkvcG9ydC9kZXZpY2UucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU2NyaXB0cy93ZWJraXRweS9wb3J0
L2RldmljZS5weQkocmV2aXNpb24gMjE2MDIyKQorKysgU2NyaXB0cy93ZWJraXRweS9wb3J0L2Rl
dmljZS5weQkod29ya2luZyBjb3B5KQpAQCAtMjIsNiArMjIsNyBAQAogCiBpbXBvcnQgc29ja2V0
CiAKKwogY2xhc3MgRGV2aWNlKG9iamVjdCk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRm
b3JtX2RldmljZSk6CiAgICAgICAgIHNlbGYucGxhdGZvcm1fZGV2aWNlID0gcGxhdGZvcm1fZGV2
aWNlCkluZGV4OiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5w
eQkocmV2aXNpb24gMjE2MDIyKQorKysgU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9j
cmFzaF9sb2cucHkJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKIGltcG9ydCBzdWJw
cm9jZXNzCiBpbXBvcnQgb3MKIAorCiBjbGFzcyBHREJDcmFzaExvZ0dlbmVyYXRvcihvYmplY3Qp
OgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lLCBwaWQsIG5ld2VyX3RoYW4sIGZpbGVzeXN0
ZW0sIHBhdGhfdG9fZHJpdmVyKToKICAgICAgICAgc2VsZi5uYW1lID0gbmFtZQpJbmRleDogU2Ny
aXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9mZWF0dXJlZGVmaW5lcy5weQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2ZlYXR1cmVkZWZpbmVzLnB5CShy
ZXZpc2lvbiAyMTYwMjIpCisrKyBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2ZlYXR1
cmVkZWZpbmVzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBAIEZFQVRVUkVfREVG
SU5FX0ZJTEVTID0gWwogICAgICJUb29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnIiwKIF0KIAorCiBjbGFzcyBGZWF0dXJlRGVmaW5lc0NoZWNr
ZXIob2JqZWN0KToKICAgICBjYXRlZ29yaWVzID0gc2V0KFsnZmVhdHVyZWRlZmluZXMvbmV3Jywg
J2ZlYXR1cmVkZWZpbmVzL2VxdWFsaXR5J10pCiAKSW5kZXg6IFNjcmlwdHMvd2Via2l0cHkvc3R5
bGUvY2hlY2tlcnMvanNvbmNoZWNrZXIucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU2NyaXB0cy93ZWJraXRw
eS9zdHlsZS9jaGVja2Vycy9qc29uY2hlY2tlci5weQkocmV2aXNpb24gMjE2MDIyKQorKysgU2Ny
aXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9qc29uY2hlY2tlci5weQkod29ya2luZyBjb3B5
KQpAQCAtMjYsNiArMjYsNyBAQCBpbXBvcnQganNvbgogaW1wb3J0IHJlCiBmcm9tIHNldHMgaW1w
b3J0IFNldAogCisKIGNsYXNzIEpTT05DaGVja2VyKG9iamVjdCk6CiAgICAgIiIiUHJvY2Vzc2Vz
IEpTT04gbGluZXMgZm9yIGNoZWNraW5nIHN0eWxlLiIiIgogCkluZGV4OiBTY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvYm90L3BhdGNoYW5hbHlzaXN0YXNrLnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNjcmlwdHMv
d2Via2l0cHkvdG9vbC9ib3QvcGF0Y2hhbmFseXNpc3Rhc2sucHkJKHJldmlzaW9uIDIxNjAyMikK
KysrIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvcGF0Y2hhbmFseXNpc3Rhc2sucHkJKHdvcmtp
bmcgY29weSkKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgUGF0Y2hJc05vdEFwcGxpY2FibGUoRXhj
ZXB0aW9uKToKICAgICAgICAgRXhjZXB0aW9uLl9faW5pdF9fKHNlbGYpCiAgICAgICAgIHNlbGYu
cGF0Y2ggPSBwYXRjaAogCisKIGNsYXNzIFBhdGNoQW5hbHlzaXNUYXNrRGVsZWdhdGUob2JqZWN0
KToKICAgICBkZWYgcGFyZW50X2NvbW1hbmQoc2VsZik6CiAgICAgICAgIHJhaXNlIE5vdEltcGxl
bWVudGVkRXJyb3IoInN1YmNsYXNzZXMgbXVzdCBpbXBsZW1lbnQiKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308758</attachid>
            <date>2017-05-01 13:28:23 -0700</date>
            <delta_ts>2017-05-01 14:49:31 -0700</delta_ts>
            <desc>Updated patch.</desc>
            <filename>patch_style_two_lines_before_class_v2</filename>
            <type>text/plain</type>
            <size>7301</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDIxNjAyMikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIz
IEBACisyMDE3LTA1LTAxICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNvbT4KKwor
ICAgICAgICBmaXggY2hlY2std2Via2l0LXN0eWxlIGVycm9ycyBpbiB3ZWJraXRweSBhYm91dCB0
d28gYmxhbmsgbGluZXMgYmVmb3JlIGNsYXNzIGRlZmluaXRpb25zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE1MDkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9u
L2NvbmZpZy9jb21taXR0ZXJzLnB5OiBBZGRlZCB0d28gYmxhbmsgbGluZXMgYmVmb3JlIGNsYXNz
IGRlZmluaXRpb24uCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9k
ZWxzL3Rlc3RfcnVuX3Jlc3VsdHMucHk6IERpdHRvLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHk6IERpdHRvLgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlX3VuaXR0ZXN0LnB5OiBEaXR0by4KKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvZGV2aWNlLnB5OiBEaXR0by4KKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weTogRGl0dG8uCisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9mZWF0dXJlZGVmaW5lcy5weTogRGl0dG8u
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9qc29uY2hlY2tlci5w
eTogRGl0dG8uCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9wYXRjaGFuYWx5
c2lzdGFzay5weTogRGl0dG8uCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvY29udHJvbGxlcnMvbWFuYWdlcl91bml0dGVzdC5weTogRGl0dG8uCisgICAgICAgIChNYW5h
Z2VyVGVzdC50ZXN0X3VzZXNfY3VzdG9tX2RldmljZS5Nb2NrQ3VzdG9tRGV2aWNlUG9ydCk6IEFk
ZGVkIGJsYW5rIGxpbmUgYmVmb3JlIG1ldGhvZC4KKyAgICAgICAgKE1hbmFnZXJUZXN0LnRlc3Rf
dXNlc19jdXN0b21fZGV2aWNlKTogUmVtb3ZlZCBleHRyYSBibGFuayBsaW5lIGF0IGVuZCBvZiBm
aWxlLgorCiAyMDE3LTA1LTAxICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAg
ICAgICBPbi1zY3JlZW4gcGFuZWwgZm9yIGNhbmRpZGF0ZSBiYXIgaXMgaW4gdGhlIHdyb25nIHBs
YWNlIHdoZW4gdGhlIGNhcmV0IGlzIGF0IHRoZSAKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL2NvbmZpZy9jb21taXR0ZXJzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9jb21taXR0ZXJzLnB5CShyZXZpc2lvbiAyMTYwMjIp
CisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvY29tbWl0dGVycy5weQko
d29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsNyBAQCBmcm9tIHdlYmtpdHB5LmNvbW1vbi5lZGl0
ZGlzdGFuY2UgaW1wb3J0CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5tZW1vaXplZCBpbXBvcnQgbWVt
b2l6ZWQKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5maWxlc3lzdGVtIGltcG9ydCBGaWxl
U3lzdGVtCiAKKwogY2xhc3MgQ29udHJpYnV0b3Iob2JqZWN0KToKICAgICBkZWYgX19pbml0X18o
c2VsZiwgbmFtZSwgZW1haWxfb3JfZW1haWxzLCBpcmNfbmlja25hbWVfb3Jfbmlja25hbWVzPU5v
bmUsIGFsaWFzX29yX2FsaWFzZXM9Tm9uZSwgZXhwZXJ0aXNlPU5vbmUpOgogICAgICAgICBhc3Nl
cnQobmFtZSkKQEAgLTE3MSw2ICsxNzIsNyBAQCBjbGFzcyBCb3QoQ29udHJpYnV0b3IpOgogICAg
ICAgICBDb250cmlidXRvci5fX2luaXRfXyhzZWxmLCBuYW1lLCBlbWFpbF9vcl9lbWFpbHMsIGly
Y19uaWNrbmFtZSwgYWxpYXNfb3JfYWxpYXNlcywgZXhwZXJ0aXNlKQogICAgICAgICBzZWxmLmlz
X2JvdCA9IFRydWUKIAorCiBjbGFzcyBDb21taXR0ZXJMaXN0KG9iamVjdCk6CiAKICAgICAjIENv
bW1pdHRlcnMgYW5kIHJldmlld2VycyBhcmUgcGFzc2VkIGluIHRvIGFsbG93IGVhc3kgdGVzdGlu
ZwpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90
ZXN0cy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9ydW5fd2Via2l0X3Rlc3RzLnB5CShyZXZpc2lvbiAyMTYwMjIpCisrKyBUb29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CSh3b3JraW5nIGNvcHkp
CkBAIC0zNjUsNiArMzY1LDcgQEAgZGVmIF9wcmludF9leHBlY3RhdGlvbnMocG9ydCwgb3B0aW9u
cywgYQogICAgICAgICBwcmludGVyLmNsZWFudXAoKQogICAgICAgICByZXR1cm4gLTEKIAorCiBk
ZWYgX3NldF91cF9kZXJpdmVkX29wdGlvbnMocG9ydCwgb3B0aW9ucyk6CiAgICAgIiIiU2V0cyB0
aGUgb3B0aW9ucyB2YWx1ZXMgdGhhdCBkZXBlbmQgb24gb3RoZXIgb3B0aW9ucyB2YWx1ZXMuIiIi
CiAgICAgaWYgbm90IG9wdGlvbnMuY2hpbGRfcHJvY2Vzc2VzOgpJbmRleDogVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl91bml0dGVzdC5weQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9s
bGVycy9tYW5hZ2VyX3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAyMTYwMjIpCisrKyBUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3VuaXR0ZXN0LnB5
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDQsNyArMTA0LDggQEAgY2xhc3MgTWFuYWdlclRlc3QodW5p
dHRlc3QuVGVzdENhc2UpOgogCiAgICAgZGVmIHRlc3RfdXNlc19jdXN0b21fZGV2aWNlKHNlbGYp
OgogICAgICAgICBjbGFzcyBNb2NrQ3VzdG9tRGV2aWNlUG9ydChUZXN0UG9ydCk6Ci0gICAgICAg
ICAgICBDVVNUT01fREVWSUNFX0NMQVNTRVMgPSBbJ3N0YXJzaGlwJ10gICAgICAgICAgICAKKyAg
ICAgICAgICAgIENVU1RPTV9ERVZJQ0VfQ0xBU1NFUyA9IFsnc3RhcnNoaXAnXQorCiAgICAgICAg
ICAgICBkZWYgX19pbml0X18oc2VsZiwgaG9zdCk6CiAgICAgICAgICAgICAgICAgc3VwZXIoTW9j
a0N1c3RvbURldmljZVBvcnQsIHNlbGYpLl9faW5pdF9fKGhvc3QpCiAKQEAgLTExNiw0ICsxMTcs
MyBAQCBjbGFzcyBNYW5hZ2VyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICAgICAgbWFu
YWdlciA9IGdldF9tYW5hZ2VyKCkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG1hbmFnZXIuX2N1
c3RvbV9kZXZpY2VfZm9yX3Rlc3QoJ2Zhc3QvdGVzdC1zdGFyc2hpcC9sYXNlcnMuaHRtbCcpID09
ICdzdGFyc2hpcCcpCi0gICAgICAgIApJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvbW9kZWxzL3Rlc3RfcnVuX3Jlc3VsdHMucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfcnVuX3Jlc3VsdHMucHkJ
KHJldmlzaW9uIDIxNjAyMikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L21vZGVscy90ZXN0X3J1bl9yZXN1bHRzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xMjAsNiArMTIw
LDcgQEAgY2xhc3MgVGVzdFJ1blJlc3VsdHMob2JqZWN0KToKICAgICAgICAgc2VsZi5rZXlib2Fy
ZF9pbnRlcnJ1cHRlZCB8PSB0ZXN0X3J1bl9yZXN1bHRzLmtleWJvYXJkX2ludGVycnVwdGVkCiAg
ICAgICAgIHJldHVybiBzZWxmCiAKKwogY2xhc3MgUnVuRGV0YWlscyhvYmplY3QpOgogICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBleGl0X2NvZGUsIHN1bW1hcml6ZWRfcmVzdWx0cz1Ob25lLCBpbml0
aWFsX3Jlc3VsdHM9Tm9uZSwgcmV0cnlfcmVzdWx0cz1Ob25lLCBlbmFibGVkX3BpeGVsX3Rlc3Rz
X2luX3JldHJ5PUZhbHNlKToKICAgICAgICAgc2VsZi5leGl0X2NvZGUgPSBleGl0X2NvZGUKSW5k
ZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlX3VuaXR0ZXN0LnB5Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlX3VuaXR0ZXN0LnB5CShyZXZp
c2lvbiAyMTYwMjIpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZV91bml0dGVz
dC5weQkod29ya2luZyBjb3B5KQpAQCAtNDA1LDYgKzQwNSw3IEBAIGNsYXNzIFBvcnRUZXN0KHVu
aXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBvcnQuX2ZpbGVzeXN0
ZW0uaXNkaXIoamhidWlsZF9wYXRoKSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBvcnQuX3No
b3VsZF91c2VfamhidWlsZCgpKQogCisKIGNsYXNzIE5hdHVyYWxDb21wYXJlVGVzdCh1bml0dGVz
dC5UZXN0Q2FzZSk6CiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzZWxmLl9wb3J0ID0g
VGVzdFBvcnQoTW9ja1N5c3RlbUhvc3QoKSkKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9kZXZpY2UucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L2RldmljZS5weQkocmV2aXNpb24gMjE2MDIyKQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9w
b3J0L2RldmljZS5weQkod29ya2luZyBjb3B5KQpAQCAtMjIsNiArMjIsNyBAQAogCiBpbXBvcnQg
c29ja2V0CiAKKwogY2xhc3MgRGV2aWNlKG9iamVjdCk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYs
IHBsYXRmb3JtX2RldmljZSk6CiAgICAgICAgIHNlbGYucGxhdGZvcm1fZGV2aWNlID0gcGxhdGZv
cm1fZGV2aWNlCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2Ny
YXNoX2xvZy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGlu
dXhfZ2V0X2NyYXNoX2xvZy5weQkocmV2aXNpb24gMjE2MDIyKQorKysgVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9sb2cucHkJKHdvcmtpbmcgY29weSkKQEAgLTMw
LDYgKzMwLDcgQEAKIGltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgb3MKIAorCiBjbGFzcyBHREJD
cmFzaExvZ0dlbmVyYXRvcihvYmplY3QpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lLCBw
aWQsIG5ld2VyX3RoYW4sIGZpbGVzeXN0ZW0sIHBhdGhfdG9fZHJpdmVyKToKICAgICAgICAgc2Vs
Zi5uYW1lID0gbmFtZQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vy
cy9mZWF0dXJlZGVmaW5lcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L3N0eWxlL2NoZWNrZXJzL2ZlYXR1cmVkZWZpbmVzLnB5CShyZXZpc2lvbiAyMTYwMjIpCisrKyBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2ZlYXR1cmVkZWZpbmVzLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBAIEZFQVRVUkVfREVGSU5FX0ZJTEVTID0gWwog
ICAgICJUb29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnIiwKIF0KIAorCiBjbGFzcyBGZWF0dXJlRGVmaW5lc0NoZWNrZXIob2JqZWN0KToKICAg
ICBjYXRlZ29yaWVzID0gc2V0KFsnZmVhdHVyZWRlZmluZXMvbmV3JywgJ2ZlYXR1cmVkZWZpbmVz
L2VxdWFsaXR5J10pCiAKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tl
cnMvanNvbmNoZWNrZXIucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9z
dHlsZS9jaGVja2Vycy9qc29uY2hlY2tlci5weQkocmV2aXNpb24gMjE2MDIyKQorKysgVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9qc29uY2hlY2tlci5weQkod29ya2luZyBj
b3B5KQpAQCAtMjYsNiArMjYsNyBAQCBpbXBvcnQganNvbgogaW1wb3J0IHJlCiBmcm9tIHNldHMg
aW1wb3J0IFNldAogCisKIGNsYXNzIEpTT05DaGVja2VyKG9iamVjdCk6CiAgICAgIiIiUHJvY2Vz
c2VzIEpTT04gbGluZXMgZm9yIGNoZWNraW5nIHN0eWxlLiIiIgogCkluZGV4OiBUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvYm90L3BhdGNoYW5hbHlzaXN0YXNrLnB5Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvcGF0Y2hhbmFseXNpc3Rhc2sucHkJKHJl
dmlzaW9uIDIxNjAyMikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvcGF0Y2hh
bmFseXNpc3Rhc2sucHkJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgUGF0
Y2hJc05vdEFwcGxpY2FibGUoRXhjZXB0aW9uKToKICAgICAgICAgRXhjZXB0aW9uLl9faW5pdF9f
KHNlbGYpCiAgICAgICAgIHNlbGYucGF0Y2ggPSBwYXRjaAogCisKIGNsYXNzIFBhdGNoQW5hbHlz
aXNUYXNrRGVsZWdhdGUob2JqZWN0KToKICAgICBkZWYgcGFyZW50X2NvbW1hbmQoc2VsZik6CiAg
ICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoInN1YmNsYXNzZXMgbXVzdCBpbXBsZW1l
bnQiKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>