<?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>159785</bug_id>
          
          <creation_ts>2016-07-14 14:43:44 -0700</creation_ts>
          <short_desc>Header guard style should be updated to be &quot;#pragma once&quot;</short_desc>
          <delta_ts>2016-10-19 09:15:29 -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 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="Brady Eidson">beidson</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>joepeck</cc>
    
    <cc>lforschler</cc>
    
    <cc>ossy</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1211154</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-07-14 14:43:44 -0700</bug_when>
    <thetext>Header guard style should be updated to be &quot;#pragma once&quot;

Updating the guidelines on the website is easy.

Not as easy is updating check-webkit-style, which I don&apos;t have the time to do ATM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234628</commentid>
    <comment_count>1</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-09-28 17:12:40 -0700</bug_when>
    <thetext>Style guide was updated with bug 162633:
&lt;https://trac.webkit.org/changeset/206495&gt;

I&apos;ll use this to cover check-webkit-style change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234632</commentid>
    <comment_count>2</comment_count>
      <attachid>290149</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-09-28 17:17:26 -0700</bug_when>
    <thetext>Created attachment 290149
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237448</commentid>
    <comment_count>3</comment_count>
      <attachid>290149</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-06 20:28:34 -0700</bug_when>
    <thetext>Comment on attachment 290149
[PATCH] Proposed Fix

Clearing flags on attachment: 290149

Committed r206897: &lt;http://trac.webkit.org/changeset/206897&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237449</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-06 20:28:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241657</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-10-18 15:50:41 -0700</bug_when>
    <thetext>I&apos;m not sure this is helping at this point:

ERROR: Source/WebKit/mac/WebView/WebViewPrivate.h:0:  Use #pragma once header guard.  [build/header_guard] [5]
ERROR: Tools/MiniBrowser/mac/BrowserWindowController.h:0:  Use #pragma once header guard.  [build/header_guard] [5]
ERROR: Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h:0:  Use #pragma once header guard.  [build/header_guard] [5]

Bug 163575.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241937</commentid>
    <comment_count>6</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-10-19 09:15:29 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; I&apos;m not sure this is helping at this point:
&gt; 
&gt; ERROR: Source/WebKit/mac/WebView/WebViewPrivate.h:0:  Use #pragma once
&gt; header guard.  [build/header_guard] [5]
&gt; ERROR: Tools/MiniBrowser/mac/BrowserWindowController.h:0:  Use #pragma once
&gt; header guard.  [build/header_guard] [5]
&gt; ERROR: Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h:0:  Use #pragma
&gt; once header guard.  [build/header_guard] [5]

Those examples clearly show a bug in the style-checker script. I&apos;m not sure why the existence of a fixable bug means that the style check is no longer worth it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290149</attachid>
            <date>2016-09-28 17:17:26 -0700</date>
            <delta_ts>2016-10-06 20:28:34 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>pragma-check-1.patch</filename>
            <type>text/plain</type>
            <size>15815</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwMTky
YjQzLi5kM2IzNTUzIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTYtMDktMjggIEpvc2VwaCBQZWNvcmFybyAgPHBl
Y29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBIZWFkZXIgZ3VhcmQgc3R5bGUgc2hvdWxkIGJl
IHVwZGF0ZWQgdG8gYmUgIiNwcmFnbWEgb25jZSIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTc4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9j
cHAucHk6CisgICAgICAgIChjaGVja19mb3JfaGVhZGVyX2d1YXJkKToKKyAgICAgICAgKF9wcm9j
ZXNzX2xpbmVzKToKKyAgICAgICAgU2ltcGxpZnkgaGVhZGVyX2d1YXJkIGNoZWNrIHRvIHdhcm4g
Zm9yIGEgbWlzc2luZyAjcHJhZ21hIG9uY2UKKyAgICAgICAgaW4gaGVhZGVyIGZpbGVzLiBGb3Ig
bGVnYWN5IGZpbGVzIHRoYXQgY29udGFpbiBhbiAjaWZuZGVmIG9ubHkKKyAgICAgICAgd2FybiBp
ZiB0aGUgI2lmbmRlZiBsaW5lIGl0c2VsZiBpcyBjaGFuZ2luZy4KKworICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwX3VuaXR0ZXN0LnB5OgorICAgICAgICAoQ3Bw
U3R5bGVUZXN0QmFzZS5wZXJmb3JtX2hlYWRlcl9ndWFyZF9jaGVjayk6CisgICAgICAgIChDcHBT
dHlsZVRlc3RCYXNlLmFzc2VydF9oZWFkZXJfZ3VhcmQpOgorICAgICAgICBIZWxwZXJzIGZvciBl
bmFibGluZyBqdXN0IHRoaXMgd2FybmluZy4KKworICAgICAgICAoQ3BwU3R5bGVUZXN0LnRlc3Rf
YnVpbGRfaGVhZGVyX2d1YXJkKToKKyAgICAgICAgVGVzdCBkaWZmZXJlbnQgaGVhZGVyIGd1YXJk
IGNhc2VzLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9lcnJvcl9oYW5kbGVy
cy5weToKKyAgICAgICAgKERlZmF1bHRTdHlsZUVycm9ySGFuZGxlci5zaG91bGRfbGluZV9iZV9j
aGVja2VkKToKKyAgICAgICAgQWx3YXlzIGFsbG93IHdhcm5pbmdzIHRoYXQgb3V0cHV0IGZvciAi
bGluZSAwIiB3aGljaCB3b24ndCBiZSBpbgorICAgICAgICB0aGUgbGlzdCBvZiBtb2RpZmllZCBs
aW5lcyB0aGF0IGFyZSAxLWJhc2VkLgorCiAyMDE2LTA5LTI4ICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVVJMUGFyc2VyIHNob3VsZCBpZ25v
cmUgdGFicyBpbiBhdXRob3JpdHkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
c3R5bGUvY2hlY2tlcnMvY3BwLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVj
a2Vycy9jcHAucHkKaW5kZXggOWIyN2M4Ni4uZjkyNTEzOCAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHAucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHAucHkKQEAgLTg5Niw3MiArODk2LDMzIEBAIGRlZiBj
aGVja19mb3JfY29weXJpZ2h0KGxpbmVzLCBlcnJvcik6CiAgICAgICAgICAgICAgICdZb3Ugc2hv
dWxkIGhhdmUgYSBsaW5lOiAiQ29weXJpZ2h0IFt5ZWFyXSA8Q29weXJpZ2h0IE93bmVyPiInKQog
CiAKLWRlZiBnZXRfaGVhZGVyX2d1YXJkX2NwcF92YXJpYWJsZShmaWxlbmFtZSk6Ci0gICAgIiIi
UmV0dXJucyB0aGUgQ1BQIHZhcmlhYmxlIHRoYXQgc2hvdWxkIGJlIHVzZWQgYXMgYSBoZWFkZXIg
Z3VhcmQuCi0KLSAgICBBcmdzOgotICAgICAgZmlsZW5hbWU6IFRoZSBuYW1lIG9mIGEgQysrIGhl
YWRlciBmaWxlLgotCi0gICAgUmV0dXJuczoKLSAgICAgIFRoZSBDUFAgdmFyaWFibGUgdGhhdCBz
aG91bGQgYmUgdXNlZCBhcyBhIGhlYWRlciBndWFyZCBpbiB0aGUKLSAgICAgIG5hbWVkIGZpbGUu
Ci0KLSAgICAiIiIKLQotICAgICMgUmVzdG9yZXMgb3JpZ2luYWwgZmlsZW5hbWUgaW4gY2FzZSB0
aGF0IHN0eWxlIGNoZWNrZXIgaXMgaW52b2tlZCBmcm9tIEVtYWNzJ3MKLSAgICAjIGZseW1ha2Uu
Ci0gICAgZmlsZW5hbWUgPSByZS5zdWIocidfZmx5bWFrZVwuaCQnLCAnLmgnLCBmaWxlbmFtZSkK
LQotICAgIHN0YW5kYXJkX25hbWUgPSBzdWIocidbLS5cc10nLCAnXycsIG9zLnBhdGguYmFzZW5h
bWUoZmlsZW5hbWUpKQotCi0gICAgIyBGaWxlcyB1bmRlciBXVEYgdHlwaWNhbGx5IGhhdmUgaGVh
ZGVyIGd1YXJkcyB0aGF0IHN0YXJ0IHdpdGggV1RGXy4KLSAgICBpZiAnL3d0Zi8nIGluIGZpbGVu
YW1lOgotICAgICAgICBzcGVjaWFsX25hbWUgPSAiV1RGXyIgKyBzdGFuZGFyZF9uYW1lCi0gICAg
ZWxzZToKLSAgICAgICAgc3BlY2lhbF9uYW1lID0gc3RhbmRhcmRfbmFtZQotICAgIHJldHVybiAo
c3BlY2lhbF9uYW1lLCBzdGFuZGFyZF9uYW1lKQotCi0KLWRlZiBjaGVja19mb3JfaGVhZGVyX2d1
YXJkKGZpbGVuYW1lLCBsaW5lcywgZXJyb3IpOgorZGVmIGNoZWNrX2Zvcl9oZWFkZXJfZ3VhcmQo
bGluZXMsIGVycm9yKToKICAgICAiIiJDaGVja3MgdGhhdCB0aGUgZmlsZSBjb250YWlucyBhIGhl
YWRlciBndWFyZC4KIAotICAgIExvZ3MgYW4gZXJyb3IgaWYgbm8gI2lmbmRlZiBoZWFkZXIgZ3Vh
cmQgaXMgcHJlc2VudC4gIEZvciBvdGhlcgotICAgIGhlYWRlcnMsIGNoZWNrcyB0aGF0IHRoZSBm
dWxsIHBhdGhuYW1lIGlzIHVzZWQuCisgICAgTG9ncyBhbiBlcnJvciBpZiBubyAjcHJhZ21hIG9u
Y2UgaGVhZGVyIGd1YXJkIGlzIHByZXNlbnQKKyAgICBvZiBpZiB0aGVyZSB3YXMgYW4gI2lmbmRl
ZiBndWFyZCB0aGF0IHdhcyBtb2RpZmllZC4KIAogICAgIEFyZ3M6Ci0gICAgICBmaWxlbmFtZTog
VGhlIG5hbWUgb2YgdGhlIEMrKyBoZWFkZXIgZmlsZS4KICAgICAgIGxpbmVzOiBBbiBhcnJheSBv
ZiBzdHJpbmdzLCBlYWNoIHJlcHJlc2VudGluZyBhIGxpbmUgb2YgdGhlIGZpbGUuCiAgICAgICBl
cnJvcjogVGhlIGZ1bmN0aW9uIHRvIGNhbGwgd2l0aCBhbnkgZXJyb3JzIGZvdW5kLgogICAgICIi
IgogCi0gICAgY3BwdmFyID0gZ2V0X2hlYWRlcl9ndWFyZF9jcHBfdmFyaWFibGUoZmlsZW5hbWUp
CisgICAgZm9yIGxpbmVfbnVtYmVyLCBsaW5lIGluIGVudW1lcmF0ZShsaW5lcyk6CisgICAgICAg
IGlmIGxpbmUuc3RhcnRzd2l0aCgnI3ByYWdtYSBvbmNlJyk6CisgICAgICAgICAgICByZXR1cm4K
IAotICAgIGlmbmRlZiA9IE5vbmUKKyAgICAjIElmIHRoZXJlIGlzIG5vICNwcmFnbWEgb25jZSwg
YnV0IHRoZXJlIGlzIGFuICNpZm5kZWYsIHdhcm4gb25seSBpZiBpdCB3YXMgbW9kaWZpZWQuCiAg
ICAgaWZuZGVmX2xpbmVfbnVtYmVyID0gMAotICAgIGRlZmluZSA9IE5vbmUKICAgICBmb3IgbGlu
ZV9udW1iZXIsIGxpbmUgaW4gZW51bWVyYXRlKGxpbmVzKToKICAgICAgICAgbGluZV9zcGxpdCA9
IGxpbmUuc3BsaXQoKQogICAgICAgICBpZiBsZW4obGluZV9zcGxpdCkgPj0gMjoKLSAgICAgICAg
ICAgICMgZmluZCB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiAjaWZuZGVmIGFuZCAjZGVmaW5lLCBz
YXZlIGFyZwotICAgICAgICAgICAgaWYgbm90IGlmbmRlZiBhbmQgbGluZV9zcGxpdFswXSA9PSAn
I2lmbmRlZic6Ci0gICAgICAgICAgICAgICAgIyBzZXQgaWZuZGVmIHRvIHRoZSBoZWFkZXIgZ3Vh
cmQgcHJlc2VudGVkIG9uIHRoZSAjaWZuZGVmIGxpbmUuCi0gICAgICAgICAgICAgICAgaWZuZGVm
ID0gbGluZV9zcGxpdFsxXQotICAgICAgICAgICAgICAgIGlmbmRlZl9saW5lX251bWJlciA9IGxp
bmVfbnVtYmVyCi0gICAgICAgICAgICBpZiBub3QgZGVmaW5lIGFuZCBsaW5lX3NwbGl0WzBdID09
ICcjZGVmaW5lJzoKLSAgICAgICAgICAgICAgICBkZWZpbmUgPSBsaW5lX3NwbGl0WzFdCi0gICAg
ICAgICAgICBpZiBkZWZpbmUgYW5kIGlmbmRlZjoKLSAgICAgICAgICAgICAgICBicmVhaworICAg
ICAgICAgICAgaWYgbGluZV9zcGxpdFswXSA9PSAnI2lmbmRlZicgYW5kIGxpbmVfc3BsaXRbMV0u
ZW5kc3dpdGgoJ19oJyk6CisgICAgICAgICAgICAgICAgZXJyb3IobGluZV9udW1iZXIsICdidWls
ZC9oZWFkZXJfZ3VhcmQnLCA1LAorICAgICAgICAgICAgICAgICAgICAnVXNlICNwcmFnbWEgb25j
ZSBpbnN0ZWFkIG9mICNpZm5kZWYgZm9yIGhlYWRlciBndWFyZC4nKQorICAgICAgICAgICAgICAg
IHJldHVybgogCi0gICAgaWYgbm90IGlmbmRlZiBvciBub3QgZGVmaW5lIG9yIGlmbmRlZiAhPSBk
ZWZpbmU6Ci0gICAgICAgIGVycm9yKDAsICdidWlsZC9oZWFkZXJfZ3VhcmQnLCA1LAotICAgICAg
ICAgICAgICAnTm8gI2lmbmRlZiBoZWFkZXIgZ3VhcmQgZm91bmQsIHN1Z2dlc3RlZCBDUFAgdmFy
aWFibGUgaXM6ICVzJyAlCi0gICAgICAgICAgICAgIGNwcHZhclswXSkKLSAgICAgICAgcmV0dXJu
Ci0KLSAgICAjIFRoZSBndWFyZCBzaG91bGQgYmUgRmlsZV9oLgotICAgIGlmIGlmbmRlZiBub3Qg
aW4gY3BwdmFyOgotICAgICAgICBlcnJvcihpZm5kZWZfbGluZV9udW1iZXIsICdidWlsZC9oZWFk
ZXJfZ3VhcmQnLCA1LAotICAgICAgICAgICAgICAnI2lmbmRlZiBoZWFkZXIgZ3VhcmQgaGFzIHdy
b25nIHN0eWxlLCBwbGVhc2UgdXNlOiAlcycgJSBjcHB2YXJbMF0pCisgICAgZXJyb3IoMCwgJ2J1
aWxkL2hlYWRlcl9ndWFyZCcsIDUsCisgICAgICAgICdVc2UgI3ByYWdtYSBvbmNlIGhlYWRlciBn
dWFyZC4nKQogCiAKIGRlZiBjaGVja19mb3JfdW5pY29kZV9yZXBsYWNlbWVudF9jaGFyYWN0ZXJz
KGxpbmVzLCBlcnJvcik6CkBAIC0zODU1LDcgKzM4MTYsNyBAQCBkZWYgX3Byb2Nlc3NfbGluZXMo
ZmlsZW5hbWUsIGZpbGVfZXh0ZW5zaW9uLCBsaW5lcywgZXJyb3IsIG1pbl9jb25maWRlbmNlKToK
ICAgICBjaGVja19mb3JfY29weXJpZ2h0KGxpbmVzLCBlcnJvcikKIAogICAgIGlmIGZpbGVfZXh0
ZW5zaW9uID09ICdoJzoKLSAgICAgICAgY2hlY2tfZm9yX2hlYWRlcl9ndWFyZChmaWxlbmFtZSwg
bGluZXMsIGVycm9yKQorICAgICAgICBjaGVja19mb3JfaGVhZGVyX2d1YXJkKGxpbmVzLCBlcnJv
cikKICAgICAgICAgaWYgZmlsZW5hbWUgPT0gJ1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgnOgog
ICAgICAgICAgICAgY2hlY2tfcGxhdGZvcm1oX2NvbW1lbnRzKGxpbmVzLCBlcnJvcikKIApkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRl
c3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVz
dC5weQppbmRleCA1ZWQyZThhLi42YzE0M2E5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5weQpAQCAtMjg4LDI5ICsyODgs
MzAgQEAgY2xhc3MgQ3BwU3R5bGVUZXN0QmFzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICAj
IE9ubHkga2VlcCBmdW5jdGlvbiBsZW5ndGggZXJyb3JzLgogICAgIGRlZiBwZXJmb3JtX2Z1bmN0
aW9uX2xlbmd0aHNfY2hlY2soc2VsZiwgY29kZSk6Ci0gICAgICAgIGJhc2ljX2Vycm9yX3J1bGVz
ID0gKCctJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJytyZWFkYWJpbGl0eS9mbl9z
aXplJykKKyAgICAgICAgYmFzaWNfZXJyb3JfcnVsZXMgPSAoJy0nLCAnK3JlYWRhYmlsaXR5L2Zu
X3NpemUnKQogICAgICAgICByZXR1cm4gc2VsZi5wZXJmb3JtX2xpbnQoY29kZSwgJ3Rlc3QuY3Bw
JywgYmFzaWNfZXJyb3JfcnVsZXMpCiAKICAgICAjIE9ubHkga2VlcCBwYXNzIHB0ciBlcnJvcnMu
CiAgICAgZGVmIHBlcmZvcm1fcGFzc19wdHJfY2hlY2soc2VsZiwgY29kZSk6Ci0gICAgICAgIGJh
c2ljX2Vycm9yX3J1bGVzID0gKCctJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyty
ZWFkYWJpbGl0eS9wYXNzX3B0cicpCisgICAgICAgIGJhc2ljX2Vycm9yX3J1bGVzID0gKCctJywg
JytyZWFkYWJpbGl0eS9wYXNzX3B0cicpCiAgICAgICAgIHJldHVybiBzZWxmLnBlcmZvcm1fbGlu
dChjb2RlLCAndGVzdC5jcHAnLCBiYXNpY19lcnJvcl9ydWxlcykKIAogICAgICMgT25seSBrZWVw
IGxlYWt5IHBhdHRlcm4gZXJyb3JzLgogICAgIGRlZiBwZXJmb3JtX2xlYWt5X3BhdHRlcm5fY2hl
Y2soc2VsZiwgY29kZSk6Ci0gICAgICAgIGJhc2ljX2Vycm9yX3J1bGVzID0gKCctJywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJytydW50aW1lL2xlYWt5X3BhdHRlcm4nKQorICAgICAg
ICBiYXNpY19lcnJvcl9ydWxlcyA9ICgnLScsICcrcnVudGltZS9sZWFreV9wYXR0ZXJuJykKICAg
ICAgICAgcmV0dXJuIHNlbGYucGVyZm9ybV9saW50KGNvZGUsICd0ZXN0LmNwcCcsIGJhc2ljX2Vy
cm9yX3J1bGVzKQogCiAgICAgIyBPbmx5IGluY2x1ZGUgd2hhdCB5b3UgdXNlIGVycm9ycy4KICAg
ICBkZWYgcGVyZm9ybV9pbmNsdWRlX3doYXRfeW91X3VzZShzZWxmLCBjb2RlLCBmaWxlbmFtZT0n
Zm9vLmgnLCBpbz1jb2RlY3MpOgotICAgICAgICBiYXNpY19lcnJvcl9ydWxlcyA9ICgnLScsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICcrYnVpbGQvaW5jbHVkZV93aGF0X3lvdV91c2Un
KQorICAgICAgICBiYXNpY19lcnJvcl9ydWxlcyA9ICgnLScsICcrYnVpbGQvaW5jbHVkZV93aGF0
X3lvdV91c2UnKQogICAgICAgICB1bml0X3Rlc3RfY29uZmlnID0ge2NwcF9zdHlsZS5JTkNMVURF
X0lPX0lOSkVDVElPTl9LRVk6IGlvfQogICAgICAgICByZXR1cm4gc2VsZi5wZXJmb3JtX2xpbnQo
Y29kZSwgZmlsZW5hbWUsIGJhc2ljX2Vycm9yX3J1bGVzLCB1bml0X3Rlc3RfY29uZmlnKQogCisg
ICAgIyBPbmx5IGluY2x1ZGUgaGVhZGVyIGd1YXJkIGVycm9ycy4KKyAgICBkZWYgcGVyZm9ybV9o
ZWFkZXJfZ3VhcmRfY2hlY2soc2VsZiwgY29kZSwgZmlsZW5hbWU9J2Zvby5oJyk6CisgICAgICAg
IGJhc2ljX2Vycm9yX3J1bGVzID0gKCctJywgJytidWlsZC9oZWFkZXJfZ3VhcmQnKQorICAgICAg
ICByZXR1cm4gc2VsZi5wZXJmb3JtX2xpbnQoY29kZSwgZmlsZW5hbWUsIGJhc2ljX2Vycm9yX3J1
bGVzKQorCiAgICAgIyBQZXJmb3JtIGxpbnQgYW5kIGNvbXBhcmUgdGhlIGVycm9yIG1lc3NhZ2Ug
d2l0aCAiZXhwZWN0ZWRfbWVzc2FnZSIuCiAgICAgZGVmIGFzc2VydF9saW50KHNlbGYsIGNvZGUs
IGV4cGVjdGVkX21lc3NhZ2UsIGZpbGVfbmFtZT0nZm9vLmNwcCcpOgogICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKGV4cGVjdGVkX21lc3NhZ2UsIHNlbGYucGVyZm9ybV9zaW5nbGVfbGluZV9saW50
KGNvZGUsIGZpbGVfbmFtZSkpCkBAIC0zNDEsNiArMzQyLDEwIEBAIGNsYXNzIENwcFN0eWxlVGVz
dEJhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVj
dGVkX21lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucGVyZm9ybV9pbmNs
dWRlX3doYXRfeW91X3VzZShjb2RlKSkKIAorICAgIGRlZiBhc3NlcnRfaGVhZGVyX2d1YXJkKHNl
bGYsIGNvZGUsIGV4cGVjdGVkX21lc3NhZ2UpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4
cGVjdGVkX21lc3NhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucGVyZm9ybV9o
ZWFkZXJfZ3VhcmRfY2hlY2soY29kZSkpCisKICAgICBkZWYgYXNzZXJ0X2JsYW5rX2xpbmVzX2No
ZWNrKHNlbGYsIGxpbmVzLCBzdGFydF9lcnJvcnMsIGVuZF9lcnJvcnMpOgogICAgICAgICBlcnJv
cl9jb2xsZWN0b3IgPSBFcnJvckNvbGxlY3RvcihzZWxmLmFzc2VydFRydWUpCiAgICAgICAgIHNl
bGYucHJvY2Vzc19maWxlX2RhdGEoJ2Zvby5jcHAnLCAnY3BwJywgbGluZXMsIGVycm9yX2NvbGxl
Y3RvcikKQEAgLTI0MTUsMTM3ICsyNDIwLDIwIEBAIGNsYXNzIENwcFN0eWxlVGVzdChDcHBTdHls
ZVRlc3RCYXNlKToKICAgICAgICAgICAgICAgICAgICAgICAgICAnICBbYnVpbGQvZm9yd2FyZF9k
ZWNsXSBbNV0nKQogCiAgICAgZGVmIHRlc3RfYnVpbGRfaGVhZGVyX2d1YXJkKHNlbGYpOgotICAg
ICAgICBmaWxlX3BhdGggPSAnbXlkaXIvRm9vLmgnCisgICAgICAgIHJ1bGVzID0gKCctJywgJyti
dWlsZC9oZWFkZXJfZ3VhcmQnKQogCi0gICAgICAgICMgV2UgY2FuJ3QgcmVseSBvbiBvdXIgaW50
ZXJuYWwgc3R1ZmYgdG8gZ2V0IGEgc2FuZSBwYXRoIG9uIHRoZSBvcGVuIHNvdXJjZQotICAgICAg
ICAjIHNpZGUgb2YgdGhpbmdzLCBzbyBqdXN0IHBhcnNlIG91dCB0aGUgc3VnZ2VzdGVkIGhlYWRl
ciBndWFyZC4gVGhpcwotICAgICAgICAjIGRvZXNuJ3QgYWxsb3cgdXMgdG8gdGVzdCB0aGUgc3Vn
Z2VzdGVkIGhlYWRlciBndWFyZCwgYnV0IGl0IGRvZXMgbGV0IHVzCi0gICAgICAgICMgdGVzdCBh
bGwgdGhlIG90aGVyIGhlYWRlciB0ZXN0cy4KLSAgICAgICAgZXJyb3JfY29sbGVjdG9yID0gRXJy
b3JDb2xsZWN0b3Ioc2VsZi5hc3NlcnRUcnVlKQotICAgICAgICBzZWxmLnByb2Nlc3NfZmlsZV9k
YXRhKGZpbGVfcGF0aCwgJ2gnLCBbXSwgZXJyb3JfY29sbGVjdG9yKQotICAgICAgICBleHBlY3Rl
ZF9ndWFyZCA9ICcnCi0gICAgICAgIG1hdGNoZXIgPSByZS5jb21waWxlKAotICAgICAgICAgICAg
J05vIFwjaWZuZGVmIGhlYWRlciBndWFyZCBmb3VuZFwsIHN1Z2dlc3RlZCBDUFAgdmFyaWFibGUg
aXNcOiAoW0EtWmEtel8wLTldKykgJykKLSAgICAgICAgZm9yIGVycm9yIGluIGVycm9yX2NvbGxl
Y3Rvci5yZXN1bHRfbGlzdCgpOgotICAgICAgICAgICAgbWF0Y2hlcyA9IG1hdGNoZXIubWF0Y2go
ZXJyb3IpCi0gICAgICAgICAgICBpZiBtYXRjaGVzOgotICAgICAgICAgICAgICAgIGV4cGVjdGVk
X2d1YXJkID0gbWF0Y2hlcy5ncm91cCgxKQotICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAg
ICMgTm8gaGVhZGVyIGd1YXJkLgorICAgICAgICBzZWxmLmFzc2VydF9oZWFkZXJfZ3VhcmQoJycs
CisgICAgICAgICAgICAnVXNlICNwcmFnbWEgb25jZSBoZWFkZXIgZ3VhcmQuJworICAgICAgICAg
ICAgJyAgW2J1aWxkL2hlYWRlcl9ndWFyZF0gWzVdJykKIAotICAgICAgICAjIE1ha2Ugc3VyZSB3
ZSBleHRyYWN0ZWQgc29tZXRoaW5nIGZvciBvdXIgaGVhZGVyIGd1YXJkLgotICAgICAgICBzZWxm
LmFzc2VydE5vdEVxdWFsKGV4cGVjdGVkX2d1YXJkLCAnJykKKyAgICAgICAgIyBPbGQgaGVhZGVy
IGd1YXJkLgorICAgICAgICBzZWxmLmFzc2VydF9oZWFkZXJfZ3VhcmQoJyNpZm5kZWYgRm9vX2gn
LAorICAgICAgICAgICAgJ1VzZSAjcHJhZ21hIG9uY2UgaW5zdGVhZCBvZiAjaWZuZGVmIGZvciBo
ZWFkZXIgZ3VhcmQuJworICAgICAgICAgICAgJyAgW2J1aWxkL2hlYWRlcl9ndWFyZF0gWzVdJykK
IAotICAgICAgICAjIFdyb25nIGd1YXJkCi0gICAgICAgIGVycm9yX2NvbGxlY3RvciA9IEVycm9y
Q29sbGVjdG9yKHNlbGYuYXNzZXJ0VHJ1ZSkKLSAgICAgICAgc2VsZi5wcm9jZXNzX2ZpbGVfZGF0
YShmaWxlX3BhdGgsICdoJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJyNpZm5k
ZWYgRk9PX0gnLCAnI2RlZmluZSBGT09fSCddLCBlcnJvcl9jb2xsZWN0b3IpCi0gICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoCi0gICAgICAgICAgICAxLAotICAgICAgICAgICAgZXJyb3JfY29sbGVj
dG9yLnJlc3VsdF9saXN0KCkuY291bnQoCi0gICAgICAgICAgICAgICAgJyNpZm5kZWYgaGVhZGVy
IGd1YXJkIGhhcyB3cm9uZyBzdHlsZSwgcGxlYXNlIHVzZTogJXMnCi0gICAgICAgICAgICAgICAg
JyAgW2J1aWxkL2hlYWRlcl9ndWFyZF0gWzVdJyAlIGV4cGVjdGVkX2d1YXJkKSwKLSAgICAgICAg
ICAgIGVycm9yX2NvbGxlY3Rvci5yZXN1bHRfbGlzdCgpKQotCi0gICAgICAgICMgTm8gZGVmaW5l
Ci0gICAgICAgIGVycm9yX2NvbGxlY3RvciA9IEVycm9yQ29sbGVjdG9yKHNlbGYuYXNzZXJ0VHJ1
ZSkKLSAgICAgICAgc2VsZi5wcm9jZXNzX2ZpbGVfZGF0YShmaWxlX3BhdGgsICdoJywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBbJyNpZm5kZWYgJXMnICUgZXhwZWN0ZWRfZ3VhcmRd
LCBlcnJvcl9jb2xsZWN0b3IpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCi0gICAgICAgICAg
ICAxLAotICAgICAgICAgICAgZXJyb3JfY29sbGVjdG9yLnJlc3VsdF9saXN0KCkuY291bnQoCi0g
ICAgICAgICAgICAgICAgJ05vICNpZm5kZWYgaGVhZGVyIGd1YXJkIGZvdW5kLCBzdWdnZXN0ZWQg
Q1BQIHZhcmlhYmxlIGlzOiAlcycKLSAgICAgICAgICAgICAgICAnICBbYnVpbGQvaGVhZGVyX2d1
YXJkXSBbNV0nICUgZXhwZWN0ZWRfZ3VhcmQpLAotICAgICAgICAgICAgZXJyb3JfY29sbGVjdG9y
LnJlc3VsdF9saXN0KCkpCi0KLSAgICAgICAgIyBNaXNtYXRjaGVkIGRlZmluZQotICAgICAgICBl
cnJvcl9jb2xsZWN0b3IgPSBFcnJvckNvbGxlY3RvcihzZWxmLmFzc2VydFRydWUpCi0gICAgICAg
IHNlbGYucHJvY2Vzc19maWxlX2RhdGEoZmlsZV9wYXRoLCAnaCcsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgWycjaWZuZGVmICVzJyAlIGV4cGVjdGVkX2d1YXJkLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAnI2RlZmluZSBGT09fSCddLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGVycm9yX2NvbGxlY3RvcikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bCgKLSAgICAgICAgICAgIDEsCi0gICAgICAgICAgICBlcnJvcl9jb2xsZWN0b3IucmVzdWx0X2xp
c3QoKS5jb3VudCgKLSAgICAgICAgICAgICAgICAnTm8gI2lmbmRlZiBoZWFkZXIgZ3VhcmQgZm91
bmQsIHN1Z2dlc3RlZCBDUFAgdmFyaWFibGUgaXM6ICVzJwotICAgICAgICAgICAgICAgICcgIFti
dWlsZC9oZWFkZXJfZ3VhcmRdIFs1XScgJSBleHBlY3RlZF9ndWFyZCksCi0gICAgICAgICAgICBl
cnJvcl9jb2xsZWN0b3IucmVzdWx0X2xpc3QoKSkKLQotICAgICAgICAjIE5vIGhlYWRlciBndWFy
ZCBlcnJvcnMKLSAgICAgICAgZXJyb3JfY29sbGVjdG9yID0gRXJyb3JDb2xsZWN0b3Ioc2VsZi5h
c3NlcnRUcnVlKQotICAgICAgICBzZWxmLnByb2Nlc3NfZmlsZV9kYXRhKGZpbGVfcGF0aCwgJ2gn
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnI2lmbmRlZiAlcycgJSBleHBlY3Rl
ZF9ndWFyZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyNkZWZpbmUgJXMnICUg
ZXhwZWN0ZWRfZ3VhcmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcjZW5kaWYg
Ly8gJXMnICUgZXhwZWN0ZWRfZ3VhcmRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGVycm9yX2NvbGxlY3RvcikKLSAgICAgICAgZm9yIGxpbmUgaW4gZXJyb3JfY29sbGVjdG9yLnJl
c3VsdF9saXN0KCk6Ci0gICAgICAgICAgICBpZiBsaW5lLmZpbmQoJ2J1aWxkL2hlYWRlcl9ndWFy
ZCcpICE9IC0xOgotICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgnVW5leHBlY3RlZCBlcnJvcjog
JXMnICUgbGluZSkKLQotICAgICAgICAjIENvbXBsZXRlbHkgaW5jb3JyZWN0IGhlYWRlciBndWFy
ZAotICAgICAgICBlcnJvcl9jb2xsZWN0b3IgPSBFcnJvckNvbGxlY3RvcihzZWxmLmFzc2VydFRy
dWUpCi0gICAgICAgIHNlbGYucHJvY2Vzc19maWxlX2RhdGEoZmlsZV9wYXRoLCAnaCcsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgWycjaWZuZGVmIEZPTycsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICcjZGVmaW5lIEZPTycsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICcjZW5kaWYgIC8vIEZPTyddLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGVycm9yX2NvbGxlY3RvcikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKLSAgICAgICAg
ICAgIDEsCi0gICAgICAgICAgICBlcnJvcl9jb2xsZWN0b3IucmVzdWx0X2xpc3QoKS5jb3VudCgK
LSAgICAgICAgICAgICAgICAnI2lmbmRlZiBoZWFkZXIgZ3VhcmQgaGFzIHdyb25nIHN0eWxlLCBw
bGVhc2UgdXNlOiAlcycKLSAgICAgICAgICAgICAgICAnICBbYnVpbGQvaGVhZGVyX2d1YXJkXSBb
NV0nICUgZXhwZWN0ZWRfZ3VhcmQpLAotICAgICAgICAgICAgZXJyb3JfY29sbGVjdG9yLnJlc3Vs
dF9saXN0KCkpCi0KLSAgICAgICAgIyBTcGVjaWFsIGNhc2UgZm9yIGZseW1ha2UKLSAgICAgICAg
ZXJyb3JfY29sbGVjdG9yID0gRXJyb3JDb2xsZWN0b3Ioc2VsZi5hc3NlcnRUcnVlKQotICAgICAg
ICBzZWxmLnByb2Nlc3NfZmlsZV9kYXRhKCdteWRpci9Gb29fZmx5bWFrZS5oJywgJ2gnLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnI2lmbmRlZiAlcycgJSBleHBlY3RlZF9ndWFy
ZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyNkZWZpbmUgJXMnICUgZXhwZWN0
ZWRfZ3VhcmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcjZW5kaWYgLy8gJXMn
ICUgZXhwZWN0ZWRfZ3VhcmRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9y
X2NvbGxlY3RvcikKLSAgICAgICAgZm9yIGxpbmUgaW4gZXJyb3JfY29sbGVjdG9yLnJlc3VsdF9s
aXN0KCk6Ci0gICAgICAgICAgICBpZiBsaW5lLmZpbmQoJ2J1aWxkL2hlYWRlcl9ndWFyZCcpICE9
IC0xOgotICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgnVW5leHBlY3RlZCBlcnJvcjogJXMnICUg
bGluZSkKLQotICAgICAgICBlcnJvcl9jb2xsZWN0b3IgPSBFcnJvckNvbGxlY3RvcihzZWxmLmFz
c2VydFRydWUpCi0gICAgICAgIHNlbGYucHJvY2Vzc19maWxlX2RhdGEoJ215ZGlyL0Zvb19mbHlt
YWtlLmgnLCAnaCcsIFtdLCBlcnJvcl9jb2xsZWN0b3IpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoCi0gICAgICAgICAgICAxLAotICAgICAgICAgICAgZXJyb3JfY29sbGVjdG9yLnJlc3VsdF9s
aXN0KCkuY291bnQoCi0gICAgICAgICAgICAgICAgJ05vICNpZm5kZWYgaGVhZGVyIGd1YXJkIGZv
dW5kLCBzdWdnZXN0ZWQgQ1BQIHZhcmlhYmxlIGlzOiAlcycKLSAgICAgICAgICAgICAgICAnICBb
YnVpbGQvaGVhZGVyX2d1YXJkXSBbNV0nICUgZXhwZWN0ZWRfZ3VhcmQpLAotICAgICAgICAgICAg
ZXJyb3JfY29sbGVjdG9yLnJlc3VsdF9saXN0KCkpCi0KLSAgICAgICAgIyBWZXJpZnkgdGhhdCB3
ZSBkb24ndCBibGluZGx5IHN1Z2dlc3QgdGhlIFdURiBwcmVmaXggZm9yIGFsbCBoZWFkZXJzLgot
ICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGV4cGVjdGVkX2d1YXJkLnN0YXJ0c3dpdGgoJ1dURl8n
KSkKLQotICAgICAgICAjIEFsbG93IHRoZSBXVEZfIHByZWZpeCBmb3IgZmlsZXMgaW4gdGhhdCBk
aXJlY3RvcnkuCi0gICAgICAgIGhlYWRlcl9ndWFyZF9maWx0ZXIgPSBGaWx0ZXJDb25maWd1cmF0
aW9uKCgnLScsICcrYnVpbGQvaGVhZGVyX2d1YXJkJykpCi0gICAgICAgIGVycm9yX2NvbGxlY3Rv
ciA9IEVycm9yQ29sbGVjdG9yKHNlbGYuYXNzZXJ0VHJ1ZSwgaGVhZGVyX2d1YXJkX2ZpbHRlcikK
LSAgICAgICAgc2VsZi5wcm9jZXNzX2ZpbGVfZGF0YSgnU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9UZXN0TmFtZS5oJywgJ2gnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnI2lm
bmRlZiBXVEZfVGVzdE5hbWVfaCcsICcjZGVmaW5lIFdURl9UZXN0TmFtZV9oJ10sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JfY29sbGVjdG9yKQotICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKDAsIGxlbihlcnJvcl9jb2xsZWN0b3IucmVzdWx0X2xpc3QoKSksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIGVycm9yX2NvbGxlY3Rvci5yZXN1bHRfbGlzdCgpKQotCi0gICAg
ICAgICMgQWxzbyBhbGxvdyB0aGUgbm9uIFdURl8gcHJlZml4IGZvciBmaWxlcyBpbiB0aGF0IGRp
cmVjdG9yeS4KLSAgICAgICAgZXJyb3JfY29sbGVjdG9yID0gRXJyb3JDb2xsZWN0b3Ioc2VsZi5h
c3NlcnRUcnVlLCBoZWFkZXJfZ3VhcmRfZmlsdGVyKQotICAgICAgICBzZWxmLnByb2Nlc3NfZmls
ZV9kYXRhKCdTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1Rlc3ROYW1lLmgnLCAnaCcsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgWycjaWZuZGVmIFRlc3ROYW1lX2gnLCAnI2RlZmlu
ZSBUZXN0TmFtZV9oJ10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JfY29s
bGVjdG9yKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDAsIGxlbihlcnJvcl9jb2xsZWN0b3Iu
cmVzdWx0X2xpc3QoKSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yX2NvbGxlY3Rv
ci5yZXN1bHRfbGlzdCgpKQotCi0gICAgICAgICMgVmVyaWZ5IHRoYXQgd2Ugc3VnZ2VzdCB0aGUg
V1RGIHByZWZpeCB2ZXJzaW9uLgotICAgICAgICBlcnJvcl9jb2xsZWN0b3IgPSBFcnJvckNvbGxl
Y3RvcihzZWxmLmFzc2VydFRydWUsIGhlYWRlcl9ndWFyZF9maWx0ZXIpCi0gICAgICAgIHNlbGYu
cHJvY2Vzc19maWxlX2RhdGEoJ1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGVzdE5hbWUuaCcs
ICdoJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJyNpZm5kZWYgQkFEX1Rlc3RO
YW1lX2gnLCAnI2RlZmluZSBCQURfVGVzdE5hbWVfaCddLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGVycm9yX2NvbGxlY3RvcikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKLSAg
ICAgICAgICAgIDEsCi0gICAgICAgICAgICBlcnJvcl9jb2xsZWN0b3IucmVzdWx0X2xpc3QoKS5j
b3VudCgKLSAgICAgICAgICAgICAgICAnI2lmbmRlZiBoZWFkZXIgZ3VhcmQgaGFzIHdyb25nIHN0
eWxlLCBwbGVhc2UgdXNlOiBXVEZfVGVzdE5hbWVfaCcKLSAgICAgICAgICAgICAgICAnICBbYnVp
bGQvaGVhZGVyX2d1YXJkXSBbNV0nKSwKLSAgICAgICAgICAgIGVycm9yX2NvbGxlY3Rvci5yZXN1
bHRfbGlzdCgpKQorICAgICAgICAjIFZhbGlkIGhlYWRlciBndWFyZC4KKyAgICAgICAgc2VsZi5h
c3NlcnRfaGVhZGVyX2d1YXJkKCcjcHJhZ21hIG9uY2UnLCAnJykKIAogICAgIGRlZiB0ZXN0X2J1
aWxkX3ByaW50Zl9mb3JtYXQoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2Vycm9yX2hhbmRsZXJzLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9lcnJvcl9oYW5kbGVycy5weQppbmRleCA2NDdm
MzAzLi40ODM2MmE4IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2Vy
cm9yX2hhbmRsZXJzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvZXJyb3Jf
aGFuZGxlcnMucHkKQEAgLTEzMCw3ICsxMzAsNyBAQCBjbGFzcyBEZWZhdWx0U3R5bGVFcnJvckhh
bmRsZXIob2JqZWN0KToKICAgICBkZWYgc2hvdWxkX2xpbmVfYmVfY2hlY2tlZChzZWxmLCBsaW5l
X251bWJlcik6CiAgICAgICAgICJSZXR1cm5zIGlmIGEgcGFydGljdWxhciBsaW5lIHNob3VsZCBi
ZSBjaGVja2VkIgogICAgICAgICAjIFdhcyB0aGUgbGluZSB0aGF0IHdhcyBtb2RpZmllZD8KLSAg
ICAgICAgcmV0dXJuIHNlbGYuX2xpbmVfbnVtYmVycyBpcyBOb25lIG9yIGxpbmVfbnVtYmVyIGlu
IHNlbGYuX2xpbmVfbnVtYmVycworICAgICAgICByZXR1cm4gc2VsZi5fbGluZV9udW1iZXJzIGlz
IE5vbmUgb3IgbGluZV9udW1iZXIgaW4gc2VsZi5fbGluZV9udW1iZXJzIG9yIGxpbmVfbnVtYmVy
ID09IDAKIAogICAgIGRlZiB0dXJuX29mZl9saW5lX2ZpbHRlcmluZyhzZWxmKToKICAgICAgICAg
c2VsZi5fbGluZV9udW1iZXJzID0gTm9uZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>