<?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>36100</bug_id>
          
          <creation_ts>2010-03-14 13:48:31 -0700</creation_ts>
          <short_desc>check-webkit-style: Add support for a --debug option</short_desc>
          <delta_ts>2010-03-24 00:53:21 -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>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Chris Jerdonek">cjerdonek</reporter>
          <assigned_to name="Chris Jerdonek">cjerdonek</assigned_to>
          <cc>abarth</cc>
    
    <cc>cjerdonek</cc>
    
    <cc>eric</cc>
    
    <cc>hamaji</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>199490</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-03-14 13:48:31 -0700</bug_when>
    <thetext>This should set the logging level to logging.DEBUG and adjust the log message format string as suggested in the FIXME.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202252</commentid>
    <comment_count>1</comment_count>
      <attachid>51236</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-03-20 16:15:24 -0700</bug_when>
    <thetext>Created attachment 51236
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203301</commentid>
    <comment_count>2</comment_count>
      <attachid>51236</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-03-23 18:41:07 -0700</bug_when>
    <thetext>Comment on attachment 51236
Proposed patch

The change looks good, but I think -v and --verbose would be the better naming as the name of the option to be consistent with other tools in WebKit. Also, in WebKit, --debug usually means &quot;debug build&quot; so I guess this use might be a bit confusing. Please feel free to land this patch if you like my proposal and change the name of the option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203307</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-03-23 19:06:55 -0700</bug_when>
    <thetext>(In reply to comment #2)

Thanks much for reviewing!

&gt; (From update of attachment 51236 [details])
&gt; The change looks good, but I think -v and --verbose would be the better naming
&gt; as the name of the option to be consistent with other tools in WebKit. Also, in
&gt; WebKit, --debug usually means &quot;debug build&quot; so I guess this use might be a bit
&gt; confusing. Please feel free to land this patch if you like my proposal and
&gt; change the name of the option.

Yes, I had considered this.  The problem is that --verbose (which can be anything from 1 to 5) is already taken up as the option to throttle the style error level.  I considered using --verbose=0 to mean debug, but I think it is probably better not to use one option for two somewhat different purposes.

If we prefer --verbose for this, maybe we should rename the current --verbose usage to something else like --threshold (as in style threshold)?

Alternatively, we can swap names in a later patch so we don&apos;t do too much at once.

Let me know your preference.  Thanks again!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203308</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-03-23 19:11:26 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; If we prefer --verbose for this, maybe we should rename the current --verbose
&gt; usage to something else like --threshold (as in style threshold)?

Or maybe --confidence would be a better name for the current option -- as suggested by how it is currently documented (i.e. minimum confidence level in the style error):

    verbose=#
      A number 1-5 that restricts output to errors with a confidence
      score at or above this value. In particular, the value 1 displays
      all errors. The default is %(default_verbosity)s.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203340</commentid>
    <comment_count>5</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-03-24 00:00:29 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; If we prefer --verbose for this, maybe we should rename the current --verbose
&gt; &gt; usage to something else like --threshold (as in style threshold)?
&gt; 
&gt; Or maybe --confidence would be a better name for the current option -- as
&gt; suggested by how it is currently documented (i.e. minimum confidence level in
&gt; the style error):
&gt; 
&gt;     verbose=#
&gt;       A number 1-5 that restricts output to errors with a confidence
&gt;       score at or above this value. In particular, the value 1 displays
&gt;       all errors. The default is %(default_verbosity)s.

Thanks for the investigation! My 2 cents is that we change --verbose to --confidence and use --verbose for this issue. I guess current --verbose option isn&apos;t used well so this change won&apos;t make a lot of incompatibility issues. However, I can be convinced. Please wait for ~24 hours to see if someone disagree.

As for the order of these changes, I think it&apos;s OK to land this patch as-is, and then rename --debug and --verbose to --verbose and --confidence, respectively. However, it might be better to rename --verbose to --confidence first then land this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203346</commentid>
    <comment_count>6</comment_count>
      <attachid>51236</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-03-24 00:16:43 -0700</bug_when>
    <thetext>Comment on attachment 51236
Proposed patch

By the way, I&apos;ve noticed the patch 6 on Bug 35498 (https://bugs.webkit.org/attachment.cgi?id=51236&amp;action=prettypatch) contains a change which should be in this change.

&gt; -    # Checking the debug flag before calling check_webkit_style_parser()
&gt; -    # lets us enable more detailed logging earlier.
&gt; +    # Checking for the debug flag before calling check_webkit_style_parser()
&gt; +    # lets us enable debug logging earlier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203347</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-03-24 00:20:46 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Thanks for the investigation! My 2 cents is that we change --verbose to
&gt; --confidence and use --verbose for this issue. I guess current --verbose option
&gt; isn&apos;t used well so this change won&apos;t make a lot of incompatibility issues.
&gt; However, I can be convinced. Please wait for ~24 hours to see if someone
&gt; disagree.
&gt; 
&gt; As for the order of these changes, I think it&apos;s OK to land this patch as-is,
&gt; and then rename --debug and --verbose to --verbose and --confidence,
&gt; respectively. However, it might be better to rename --verbose to --confidence
&gt; first then land this patch.

Thanks.  Your proposal sounds best.  I will go ahead and land this patch as-is.  If after 24 hours we don&apos;t hear any objections from anyone (e.g. from anyone currently relying on the --verbose flag), then I will rename --debug and --verbose to --verbose and --confidence, respectively, as you suggest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203348</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-03-24 00:26:08 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 51236 [details])
&gt; By the way, I&apos;ve noticed the patch 6 on Bug 35498
&gt; (https://bugs.webkit.org/attachment.cgi?id=51236&amp;action=prettypatch) contains a
&gt; change which should be in this change.
&gt; 
&gt; &gt; -    # Checking the debug flag before calling check_webkit_style_parser()
&gt; &gt; -    # lets us enable more detailed logging earlier.
&gt; &gt; +    # Checking for the debug flag before calling check_webkit_style_parser()
&gt; &gt; +    # lets us enable debug logging earlier.

Excellent observation!  You must be in the process of reviewing that now -- thanks.  :)  I will go ahead and carry that change over before landing.

After landing this, I will rebase and re-attach the patch on bug 35498, which will have the added benefit of allowing the bots to apply that patch correctly in the bug report.  That&apos;s another reason for landing the current patch on this bug as-is (with that one change carried over of course).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203349</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-03-24 00:32:30 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Thanks for the investigation! My 2 cents is that we change --verbose to
&gt; --confidence and use --verbose for this issue. I guess current --verbose option
&gt; isn&apos;t used well so this change won&apos;t make a lot of incompatibility issues.

By the way, I just searched WebKitTools/ for &quot;--verbose&quot; to see if anyone was perhaps invoking check-webkit-style internally using that option, and nothing relevant came up.  So we should at least be safe in that respect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203353</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-03-24 00:53:21 -0700</bug_when>
    <thetext>Manually committed as discussed in comments 7 and 8:

http://trac.webkit.org/changeset/56437</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51236</attachid>
            <date>2010-03-20 16:15:24 -0700</date>
            <delta_ts>2010-03-24 00:16:43 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>_patch-36100-1.diff</filename>
            <type>text/plain</type>
            <size>18563</size>
            <attacher name="Chris Jerdonek">cjerdonek</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBhODM5MzBiLi4xM2U1ZWU1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTAtMDMt
MjAgIENocmlzIEplcmRvbmVrICA8Y2plcmRvbmVrQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgdG8gY2hlY2std2Via2l0
LXN0eWxlIHN1cHBvcnQgZm9yIGEgLS1kZWJ1ZyBmbGFnLgorCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjEwMAorCisgICAgICAgIFRoZSAtLWRlYnVn
IGZsYWcgYWRqdXN0cyB0aGUgbG9nZ2luZyBsZXZlbCB0byBERUJVRyBhbmQKKyAgICAgICAgaW5j
bHVkZXMgdGhlIGxvZ2dlciBuYW1lIGFuZCBsZXZlbCBpbiBlYWNoIGxvZyBtZXNzYWdlLgorCisg
ICAgICAgICogU2NyaXB0cy9jaGVjay13ZWJraXQtc3R5bGU6CisgICAgICAgICAgLSBDaGFuZ2Vk
IHRoZSBjb2RlIHRvIGNoZWNrIGZvciB0aGUgLS1kZWJ1ZyBmbGFnIGFuZCBwYXNzCisgICAgICAg
ICAgICB0aGUgcmVzdWx0IHRvIHRoZSBjb25maWd1cmVfbG9nZ2luZygpIG1ldGhvZC4KKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIucHk6CisgICAgICAgICAgLSBBZGRl
ZCBhbiBpc19kZWJ1ZyBwYXJhbWV0ZXIgdG8gY29uZmlndXJlX2xvZ2dpbmcoKS4KKyAgICAgICAg
ICAtIFJlZmFjdG9yZWQgY29uZmlndXJlX2xvZ2dpbmcoKSBieSBhZGRpbmcgY2FsbHMgdG8KKyAg
ICAgICAgICAgIHRoZSBmb2xsb3dpbmcgdHdvIG1ldGhvZHM6IF9jcmVhdGVfbG9nX2hhbmRsZXJz
KCkgYW5kCisgICAgICAgICAgICBfY3JlYXRlX2RlYnVnX2xvZ19oYW5kbGVycygpLgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl91bml0dGVzdC5weToKKyAgICAgICAg
ICAtIEFkZGVkIHVuaXQgdGVzdHMgZm9yIGNvbmZpZ3VyZV9sb2dnaW5nKCkgd2l0aCBpc19kZWJ1
ZyBUcnVlCisgICAgICAgICAgICBieSBzcGxpdHRpbmcgdGhlIENvbmZpZ3VyZUxvZ2dpbmdUZXN0
IGNsYXNzIGludG8KKyAgICAgICAgICAgIENvbmZpZ3VyZUxvZ2dpbmdUZXN0IGFuZCBDb25maWd1
cmVMb2dnaW5nVGVzdEJhc2UsIGFuZAorICAgICAgICAgICAgYWRkaW5nIENvbmZpZ3VyZUxvZ2dp
bmdEZWJ1Z1Rlc3QuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9vcHRwYXJzZXIu
cHk6CisgICAgICAgICAgLSBVcGRhdGVkIHRoZSB1c2FnZSBzdHJpbmcuCisgICAgICAgICAgLSBB
ZGRlZCBhbiBpc19kZWJ1ZyBkYXRhIGF0dHJpYnV0ZSB0byB0aGUgQ29tbWFuZE9wdGlvblZhbHVl
cworICAgICAgICAgICAgY2xhc3MuCisgICAgICAgICAgLSBBZGRlZCBzdXBwb3J0IGZvciB0aGUg
LS1kZWJ1ZyBmbGFnIHRvIHRoZSBBcmd1bWVudFBhcnNlci5wYXJzZSgpCisgICAgICAgICAgICBt
ZXRob2QuCisgICAgICAgICAgLSBBbHNvIGFkZGVkIGV4dHJhIGVycm9yIGluZm9ybWF0aW9uIHRv
IHRoZSBwYXJzZSgpIG1ldGhvZCBpbgorICAgICAgICAgICAgdGhlIGNhc2Ugb2YgYW4gaW52YWxp
ZCBmbGFnLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvb3B0cGFyc2VyX3VuaXR0
ZXN0LnB5OgorICAgICAgICAgIC0gVXBkYXRlZCB0aGUgdW5pdCB0ZXN0cyBhcyBuZWNlc3Nhcnku
CisgICAgICAgICAgLSBBbHNvIGZpeGVkIGFuIGlzc3VlIHdpdGggdGhlIENvbW1hbmRPcHRpb25W
YWx1ZXNUZXN0LnRlc3RfZXEoKQorICAgICAgICAgICAgdW5pdCB0ZXN0LgorCiAyMDEwLTAzLTIw
ICBLZXZpbiBPbGxpdmllciAgPGtldmlub0B0aGVvbGxpdmllcnMuY29tPgogCiAgICAgICAgIFt3
eF0gQnVpbGQgZml4ZXMgZm9yIG5ldyBtZXRob2QgaW4gTGF5b3V0VGVzdENvbnRyb2xsZXIuCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL2NoZWNrLXdlYmtpdC1zdHlsZSBiL1dlYktp
dFRvb2xzL1NjcmlwdHMvY2hlY2std2Via2l0LXN0eWxlCmluZGV4IGYxODg1YjIuLjlkODEwMWIg
MTAwNzU1Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvY2hlY2std2Via2l0LXN0eWxlCisrKyBi
L1dlYktpdFRvb2xzL1NjcmlwdHMvY2hlY2std2Via2l0LXN0eWxlCkBAIC03MSwxMCArNzEsMTcg
QEAgZGVmIG1haW4oKToKICAgICAjICAgICAgICBzeXMuc3RkZXJyIGV4cGxpY2l0bHkgYW55d2hl
cmUuCiAgICAgc3lzLnN0ZGVyciA9IHN0ZGVycgogCi0gICAgY2hlY2tlci5jb25maWd1cmVfbG9n
Z2luZyhzdGRlcnIpCisgICAgYXJncyA9IHN5cy5hcmd2WzE6XQorCisgICAgIyBDaGVja2luZyB0
aGUgZGVidWcgZmxhZyBiZWZvcmUgY2FsbGluZyBjaGVja193ZWJraXRfc3R5bGVfcGFyc2VyKCkK
KyAgICAjIGxldHMgdXMgZW5hYmxlIG1vcmUgZGV0YWlsZWQgbG9nZ2luZyBlYXJsaWVyLgorICAg
IGlzX2RlYnVnID0gIi0tZGVidWciIGluIGFyZ3MKKworICAgIGNoZWNrZXIuY29uZmlndXJlX2xv
Z2dpbmcoc3RyZWFtPXN0ZGVyciwgaXNfZGVidWc9aXNfZGVidWcpCisgICAgX2xvZy5kZWJ1Zygi
RGVidWcgbG9nZ2luZyBlbmFibGVkLiIpCiAKICAgICBwYXJzZXIgPSBjaGVja2VyLmNoZWNrX3dl
YmtpdF9zdHlsZV9wYXJzZXIoKQotICAgIChmaWxlcywgb3B0aW9ucykgPSBwYXJzZXIucGFyc2Uo
c3lzLmFyZ3ZbMTpdKQorICAgIChmaWxlcywgb3B0aW9ucykgPSBwYXJzZXIucGFyc2UoYXJncykK
IAogICAgIGNvbmZpZ3VyYXRpb24gPSBjaGVja2VyLmNoZWNrX3dlYmtpdF9zdHlsZV9jb25maWd1
cmF0aW9uKG9wdGlvbnMpCiAgICAgc3R5bGVfY2hlY2tlciA9IGNoZWNrZXIuU3R5bGVDaGVja2Vy
KGNvbmZpZ3VyYXRpb24pCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5
L3N0eWxlL2NoZWNrZXIucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2No
ZWNrZXIucHkKaW5kZXggZjhiYTRmNS4uM2U2OWY5NiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMv
U2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyLnB5CisrKyBiL1dlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlci5weQpAQCAtMjI2LDE2ICsyMjYsNTIgQEAgZGVmIGNo
ZWNrX3dlYmtpdF9zdHlsZV9jb25maWd1cmF0aW9uKG9wdGlvbnMpOgogICAgICAgICAgICAgICAg
dmVyYm9zaXR5PW9wdGlvbnMudmVyYm9zaXR5KQogCiAKLSMgRklYTUU6IEFkZCBzdXBwb3J0IGZv
ciBtb3JlIHZlcmJvc2UgbG9nZ2luZyBmb3IgZGVidWcgcHVycG9zZXMuCi0jICAgICAgICBUaGlz
IGNhbiB1c2UgYSBmb3JtYXR0ZXIgbGlrZSB0aGUgZm9sbG93aW5nLCBmb3IgZXhhbXBsZS0tCi0j
Ci0jICAgICAgICBmb3JtYXR0ZXIgPSBsb2dnaW5nLkZvcm1hdHRlcigiJShuYW1lKXM6IFslKGxl
dmVsbmFtZSlzXSAlKG1lc3NhZ2UpcyIpCi1kZWYgY29uZmlndXJlX2xvZ2dpbmcoc3RyZWFtLCBs
b2dnZXI9Tm9uZSk6Ci0gICAgIiIiQ29uZmlndXJlIGxvZ2dpbmcsIGFuZCByZXR1cm4gdGhlIGxp
c3Qgb2YgaGFuZGxlcnMgYWRkZWQuCitkZWYgX2NyZWF0ZV9sb2dfaGFuZGxlcnMoc3RyZWFtKToK
KyAgICAiIiJDcmVhdGUgYW5kIHJldHVybiBhIGRlZmF1bHQgbGlzdCBvZiBsb2dnaW5nLkhhbmRs
ZXIgaW5zdGFuY2VzLgorCisgICAgRm9ybWF0IFdBUk5JTkcgbWVzc2FnZXMgYW5kIGFib3ZlIHRv
IGRpc3BsYXkgdGhlIGxvZ2dpbmcgbGV2ZWwsIGFuZAorICAgIG1lc3NhZ2VzIHN0cmljdGx5IGJl
bG93IFdBUk5JTkcgbm90IHRvIGRpc3BsYXkgaXQuCisKKyAgICBBcmdzOgorICAgICAgc3RyZWFt
OiBTZWUgdGhlIGNvbmZpZ3VyZV9sb2dnaW5nKCkgZG9jc3RyaW5nLgorCisgICAgIiIiCisgICAg
IyBIYW5kbGVzIGxvZ2dpbmcuV0FSTklORyBhbmQgYWJvdmUuCisgICAgZXJyb3JfaGFuZGxlciA9
IGxvZ2dpbmcuU3RyZWFtSGFuZGxlcihzdHJlYW0pCisgICAgZXJyb3JfaGFuZGxlci5zZXRMZXZl
bChsb2dnaW5nLldBUk5JTkcpCisgICAgZm9ybWF0dGVyID0gbG9nZ2luZy5Gb3JtYXR0ZXIoIiUo
bGV2ZWxuYW1lKXM6ICUobWVzc2FnZSlzIikKKyAgICBlcnJvcl9oYW5kbGVyLnNldEZvcm1hdHRl
cihmb3JtYXR0ZXIpCisKKyAgICAjIENyZWF0ZSBhIGxvZ2dpbmcuRmlsdGVyIGluc3RhbmNlIHRo
YXQgb25seSBhY2NlcHRzIG1lc3NhZ2VzCisgICAgIyBiZWxvdyBXQVJOSU5HIChpLmUuIGZpbHRl
cnMgb3V0IGFueXRoaW5nIFdBUk5JTkcgb3IgYWJvdmUpLgorICAgIG5vbl9lcnJvcl9maWx0ZXIg
PSBsb2dnaW5nLkZpbHRlcigpCisgICAgIyBUaGUgZmlsdGVyIG1ldGhvZCBhY2NlcHRzIGEgbG9n
Z2luZy5Mb2dSZWNvcmQgaW5zdGFuY2UuCisgICAgbm9uX2Vycm9yX2ZpbHRlci5maWx0ZXIgPSBs
YW1iZGEgcmVjb3JkOiByZWNvcmQubGV2ZWxubyA8IGxvZ2dpbmcuV0FSTklORworCisgICAgbm9u
X2Vycm9yX2hhbmRsZXIgPSBsb2dnaW5nLlN0cmVhbUhhbmRsZXIoc3RyZWFtKQorICAgIG5vbl9l
cnJvcl9oYW5kbGVyLmFkZEZpbHRlcihub25fZXJyb3JfZmlsdGVyKQorICAgIGZvcm1hdHRlciA9
IGxvZ2dpbmcuRm9ybWF0dGVyKCIlKG1lc3NhZ2UpcyIpCisgICAgbm9uX2Vycm9yX2hhbmRsZXIu
c2V0Rm9ybWF0dGVyKGZvcm1hdHRlcikKKworICAgIHJldHVybiBbZXJyb3JfaGFuZGxlciwgbm9u
X2Vycm9yX2hhbmRsZXJdCisKKworZGVmIF9jcmVhdGVfZGVidWdfbG9nX2hhbmRsZXJzKHN0cmVh
bSk6CisgICAgIiIiQ3JlYXRlIGFuZCByZXR1cm4gYSBsaXN0IG9mIGxvZ2dpbmcuSGFuZGxlciBp
bnN0YW5jZXMgZm9yIGRlYnVnZ2luZy4KIAotICAgIENvbmZpZ3VyZXMgYSBsb2dnZXIgdG8gbG9n
IElORk8gbWVzc2FnZXMgYW5kIGhpZ2hlci4gIEZvcm1hdHMgV0FSTklORwotICAgIG1lc3NhZ2Vz
IGFuZCBhYm92ZSB0byBkaXNwbGF5IHRoZSBsb2dnaW5nIGxldmVsLCBhbmQgbWVzc2FnZXMgc3Ry
aWN0bHkKLSAgICBiZWxvdyBXQVJOSU5HIG5vdCB0byBkaXNwbGF5IGl0LgorICAgIEFyZ3M6Cisg
ICAgICBzdHJlYW06IFNlZSB0aGUgY29uZmlndXJlX2xvZ2dpbmcoKSBkb2NzdHJpbmcuCisKKyAg
ICAiIiIKKyAgICBoYW5kbGVyID0gbG9nZ2luZy5TdHJlYW1IYW5kbGVyKHN0cmVhbSkKKyAgICBm
b3JtYXR0ZXIgPSBsb2dnaW5nLkZvcm1hdHRlcigiJShuYW1lKXM6ICUobGV2ZWxuYW1lKS04cyAl
KG1lc3NhZ2UpcyIpCisgICAgaGFuZGxlci5zZXRGb3JtYXR0ZXIoZm9ybWF0dGVyKQorCisgICAg
cmV0dXJuIFtoYW5kbGVyXQorCisKK2RlZiBjb25maWd1cmVfbG9nZ2luZyhzdHJlYW0sIGxvZ2dl
cj1Ob25lLCBpc19kZWJ1Zz1GYWxzZSk6CisgICAgIiIiQ29uZmlndXJlIGxvZ2dpbmcsIGFuZCBy
ZXR1cm4gdGhlIGxpc3Qgb2YgaGFuZGxlcnMgYWRkZWQuCiAKICAgICBSZXR1cm5zOgogICAgICAg
QSBsaXN0IG9mIHJlZmVyZW5jZXMgdG8gdGhlIGxvZ2dpbmcgaGFuZGxlcnMgYWRkZWQgdG8gdGhl
IHJvb3QKQEAgLTI1MSw2ICsyODcsNyBAQCBkZWYgY29uZmlndXJlX2xvZ2dpbmcoc3RyZWFtLCBs
b2dnZXI9Tm9uZSk6CiAgICAgICBsb2dnZXI6IEEgbG9nZ2luZy5sb2dnZXIgaW5zdGFuY2UgdG8g
Y29uZmlndXJlLiAgVGhpcyBwYXJhbWV0ZXIKICAgICAgICAgICAgICAgc2hvdWxkIGJlIHVzZWQg
b25seSBpbiB1bml0IHRlc3RzLiAgRGVmYXVsdHMgdG8gdGhlCiAgICAgICAgICAgICAgIHJvb3Qg
bG9nZ2VyLgorICAgICAgaXNfZGVidWc6IEEgYm9vbGVhbiB2YWx1ZSBvZiB3aGV0aGVyIHRoZSBh
cHBsaWNhdGlvbiBpcyBiZWluZyBkZWJ1Z2dlZC4KIAogICAgICIiIgogICAgICMgSWYgdGhlIHN0
cmVhbSBkb2VzIG5vdCBkZWZpbmUgYW4gImVuY29kaW5nIiBkYXRhIGF0dHJpYnV0ZSwgdGhlCkBA
IC0yNjEsMjkgKzI5OCwxNyBAQCBkZWYgY29uZmlndXJlX2xvZ2dpbmcoc3RyZWFtLCBsb2dnZXI9
Tm9uZSk6CiAgICAgIyAgICAgICAgIGxpYi9weXRob24yLjYvbG9nZ2luZy9fX2luaXRfXy5weSIs
IGxpbmUgNzYxLCBpbiBlbWl0CiAgICAgIyAgICAgc2VsZi5zdHJlYW0ud3JpdGUoZnMgJSBtc2cu
ZW5jb2RlKHNlbGYuc3RyZWFtLmVuY29kaW5nKSkKICAgICAjIExvb2t1cEVycm9yOiB1bmtub3du
IGVuY29kaW5nOiB1bmtub3duCi0KLSAgICAjIEhhbmRsZXMgbG9nZ2luZy5XQVJOSU5HIGFuZCBh
Ym92ZS4KLSAgICBlcnJvcl9oYW5kbGVyID0gbG9nZ2luZy5TdHJlYW1IYW5kbGVyKHN0cmVhbSkK
LSAgICBlcnJvcl9oYW5kbGVyLnNldExldmVsKGxvZ2dpbmcuV0FSTklORykKLSAgICBmb3JtYXR0
ZXIgPSBsb2dnaW5nLkZvcm1hdHRlcigiJShsZXZlbG5hbWUpczogJShtZXNzYWdlKXMiKQotICAg
IGVycm9yX2hhbmRsZXIuc2V0Rm9ybWF0dGVyKGZvcm1hdHRlcikKLQotICAgICMgQ3JlYXRlIGEg
bG9nZ2luZy5GaWx0ZXIgaW5zdGFuY2UgdGhhdCBvbmx5IGFjY2VwdHMgbWVzc2FnZXMKLSAgICAj
IGJlbG93IFdBUk5JTkcgKGkuZS4gZmlsdGVycyBvdXQgYW55dGhpbmcgV0FSTklORyBvciBhYm92
ZSkuCi0gICAgbm9uX2Vycm9yX2ZpbHRlciA9IGxvZ2dpbmcuRmlsdGVyKCkKLSAgICAjIFRoZSBm
aWx0ZXIgbWV0aG9kIGFjY2VwdHMgYSBsb2dnaW5nLkxvZ1JlY29yZCBpbnN0YW5jZS4KLSAgICBu
b25fZXJyb3JfZmlsdGVyLmZpbHRlciA9IGxhbWJkYSByZWNvcmQ6IHJlY29yZC5sZXZlbG5vIDwg
bG9nZ2luZy5XQVJOSU5HCi0KLSAgICBub25fZXJyb3JfaGFuZGxlciA9IGxvZ2dpbmcuU3RyZWFt
SGFuZGxlcihzdHJlYW0pCi0gICAgbm9uX2Vycm9yX2hhbmRsZXIuYWRkRmlsdGVyKG5vbl9lcnJv
cl9maWx0ZXIpCi0gICAgZm9ybWF0dGVyID0gbG9nZ2luZy5Gb3JtYXR0ZXIoIiUobWVzc2FnZSlz
IikKLSAgICBub25fZXJyb3JfaGFuZGxlci5zZXRGb3JtYXR0ZXIoZm9ybWF0dGVyKQotCiAgICAg
aWYgbG9nZ2VyIGlzIE5vbmU6CiAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCkK
LSAgICBsb2dnZXIuc2V0TGV2ZWwobG9nZ2luZy5JTkZPKQogCi0gICAgaGFuZGxlcnMgPSBbZXJy
b3JfaGFuZGxlciwgbm9uX2Vycm9yX2hhbmRsZXJdCisgICAgaWYgaXNfZGVidWc6CisgICAgICAg
IGxvZ2dpbmdfbGV2ZWwgPSBsb2dnaW5nLkRFQlVHCisgICAgICAgIGhhbmRsZXJzID0gX2NyZWF0
ZV9kZWJ1Z19sb2dfaGFuZGxlcnMoc3RyZWFtKQorICAgIGVsc2U6CisgICAgICAgIGxvZ2dpbmdf
bGV2ZWwgPSBsb2dnaW5nLklORk8KKyAgICAgICAgaGFuZGxlcnMgPSBfY3JlYXRlX2xvZ19oYW5k
bGVycyhzdHJlYW0pCisKKyAgICBsb2dnZXIuc2V0TGV2ZWwobG9nZ2luZ19sZXZlbCkKIAogICAg
IGZvciBoYW5kbGVyIGluIGhhbmRsZXJzOgogICAgICAgICBsb2dnZXIuYWRkSGFuZGxlcihoYW5k
bGVyKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVj
a2VyX3VuaXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVj
a2VyX3VuaXR0ZXN0LnB5CmluZGV4IDA2YmIxOTEuLjRmMjhhZjMgMTAwNzU1Ci0tLSBhL1dlYktp
dFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl91bml0dGVzdC5weQorKysgYi9X
ZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJfdW5pdHRlc3QucHkKQEAg
LTU4LDExICs1OCwxOSBAQCBmcm9tIHByb2Nlc3NvcnMuY3BwIGltcG9ydCBDcHBQcm9jZXNzb3IK
IGZyb20gcHJvY2Vzc29ycy50ZXh0IGltcG9ydCBUZXh0UHJvY2Vzc29yCiAKIAotY2xhc3MgQ29u
ZmlndXJlTG9nZ2luZ1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorY2xhc3MgQ29uZmlndXJlTG9n
Z2luZ0Jhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogCi0gICAgIiIiVGVzdHMgdGhlIGNvbmZpZ3Vy
ZV9sb2dnaW5nKCkgZnVuY3Rpb24uIiIiCisgICAgIiIiQmFzZSBjbGFzcyBmb3IgdGVzdGluZyBj
b25maWd1cmVfbG9nZ2luZygpLgorCisgICAgU3ViLWNsYXNzZXMgc2hvdWxkIGltcGxlbWVudDoK
KworICAgICAgaXNfZGVidWc6IFRoZSBpc19kZWJ1ZyBwYXJhbWV0ZXIgdmFsdWUgdG8gcGFzcyB0
byBjb25maWd1cmVfbG9nZ2luZygpLgorCisgICAgIiIiCiAKICAgICBkZWYgc2V0VXAoc2VsZik6
CisgICAgICAgIGlzX2RlYnVnID0gc2VsZi5pc19kZWJ1ZworCiAgICAgICAgIGxvZ19zdHJlYW0g
PSBVbml0VGVzdExvZ1N0cmVhbShzZWxmKQogICAgICAgICAjIFVzZSBhIGxvZ2dlciBvdGhlciB0
aGFuIHRoZSByb290IGxvZ2dlciBvciBvbmUgcHJlZml4ZWQgd2l0aAogICAgICAgICAjIHdlYmtp
dCBzbyBhcyBub3QgdG8gY29uZmxpY3Qgd2l0aCB0ZXN0LXdlYmtpdHB5IGxvZ2dpbmcuCkBAIC03
NCw3ICs4Miw4IEBAIGNsYXNzIENvbmZpZ3VyZUxvZ2dpbmdUZXN0KHVuaXR0ZXN0LlRlc3RDYXNl
KToKICAgICAgICAgIyB0aGUgcm9vdCBsb2dnZXIpLgogICAgICAgICBsb2dnZXIucHJvcGFnYXRl
ID0gRmFsc2UKIAotICAgICAgICBzZWxmLl9oYW5kbGVycyA9IGNvbmZpZ3VyZV9sb2dnaW5nKGxv
Z19zdHJlYW0sIGxvZ2dlcikKKyAgICAgICAgc2VsZi5faGFuZGxlcnMgPSBjb25maWd1cmVfbG9n
Z2luZyhzdHJlYW09bG9nX3N0cmVhbSwgbG9nZ2VyPWxvZ2dlciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpc19kZWJ1Zz1pc19kZWJ1ZykKICAgICAgICAgc2Vs
Zi5fbG9nID0gbG9nZ2VyCiAgICAgICAgIHNlbGYuX2xvZ19zdHJlYW0gPSBsb2dfc3RyZWFtCiAK
QEAgLTkzLDYgKzEwMiwxMyBAQCBjbGFzcyBDb25maWd1cmVMb2dnaW5nVGVzdCh1bml0dGVzdC5U
ZXN0Q2FzZSk6CiAgICAgICAgICIiIkFzc2VydCB0aGF0IHRoZSBsb2dnZWQgbWVzc2FnZXMgZXF1
YWwgdGhlIGdpdmVuIG1lc3NhZ2VzLiIiIgogICAgICAgICBzZWxmLl9sb2dfc3RyZWFtLmFzc2Vy
dE1lc3NhZ2VzKG1lc3NhZ2VzKQogCisKK2NsYXNzIENvbmZpZ3VyZUxvZ2dpbmdUZXN0KENvbmZp
Z3VyZUxvZ2dpbmdCYXNlKToKKworICAgICIiIlRlc3RzIHRoZSBjb25maWd1cmVfbG9nZ2luZygp
IGZ1bmN0aW9uLiIiIgorCisgICAgaXNfZGVidWcgPSBGYWxzZQorCiAgICAgZGVmIHRlc3Rfd2Fy
bmluZ19tZXNzYWdlKHNlbGYpOgogICAgICAgICBzZWxmLl9sb2cud2FybigidGVzdCBtZXNzYWdl
IikKICAgICAgICAgc2VsZi5hc3NlcnRfbG9nX21lc3NhZ2VzKFsiV0FSTklORzogdGVzdCBtZXNz
YWdlXG4iXSkKQEAgLTExNSw2ICsxMzEsMTcgQEAgY2xhc3MgQ29uZmlndXJlTG9nZ2luZ1Rlc3Qo
dW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLmFzc2VydF9sb2dfbWVzc2FnZXMoWyJt
ZXNzYWdlMVxuIiwgIm1lc3NhZ2UyXG4iXSkKIAogCitjbGFzcyBDb25maWd1cmVMb2dnaW5nRGVi
dWdUZXN0KENvbmZpZ3VyZUxvZ2dpbmdCYXNlKToKKworICAgICIiIlRlc3RzIHRoZSBjb25maWd1
cmVfbG9nZ2luZygpIGZ1bmN0aW9uIGZvciBkZWJ1Z2dpbmcuIiIiCisKKyAgICBpc19kZWJ1ZyA9
IFRydWUKKworICAgIGRlZiB0ZXN0X2RlYnVnX21lc3NhZ2Uoc2VsZik6CisgICAgICAgIHNlbGYu
X2xvZy5kZWJ1ZygidGVzdCBtZXNzYWdlIikKKyAgICAgICAgc2VsZi5hc3NlcnRfbG9nX21lc3Nh
Z2VzKFsidW5pdHRlc3Q6IERFQlVHICAgIHRlc3QgbWVzc2FnZVxuIl0pCisKKwogY2xhc3MgR2xv
YmFsVmFyaWFibGVzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICAiIiJUZXN0cyB2YWxp
ZGl0eSBvZiB0aGUgZ2xvYmFsIHZhcmlhYmxlcy4iIiIKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvb3B0cGFyc2VyLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS9zdHlsZS9vcHRwYXJzZXIucHkKaW5kZXggOTdlYTZjOS4uODE2YzJkYyAxMDA2
NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9vcHRwYXJzZXIucHkK
KysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9vcHRwYXJzZXIucHkKQEAg
LTY4LDYgKzY4LDkgQEAgU3ludGF4OiAlKHByb2dyYW1fbmFtZSlzIFstLXZlcmJvc2U9I10gWy0t
Z2l0LWNvbW1pdD08U2luZ2xlQ29tbWl0Pl0gWy0tb3V0cHV0PXYKICAgICBnaXQtY29tbWl0PTxT
aW5nbGVDb21taXQ+CiAgICAgICBDaGVja3MgdGhlIHN0eWxlIG9mIGV2ZXJ5dGhpbmcgZnJvbSB0
aGUgZ2l2ZW4gY29tbWl0IHRvIHRoZSBsb2NhbCB0cmVlLgogCisgICAgZGVidWcKKyAgICAgIERl
YnVnIGluZm9ybWF0aW9uIGRpc3BsYXlzIGlmIHRoaXMgZmxhZyBpcyBwcmVzZW50LgorCiAgICAg
b3V0cHV0PXZzNwogICAgICAgVGhlIG91dHB1dCBmb3JtYXQsIHdoaWNoIG1heSBiZSBvbmUgb2YK
ICAgICAgICAgZW1hY3MgOiB0byBlYXNlIGVtYWNzIHBhcnNpbmcKQEAgLTEyNCw2ICsxMjcsOCBA
QCBjbGFzcyBDb21tYW5kT3B0aW9uVmFsdWVzKG9iamVjdCk6CiAgICAgIiIiU3RvcmVzIHRoZSBv
cHRpb24gdmFsdWVzIHBhc3NlZCBieSB0aGUgdXNlciB2aWEgdGhlIGNvbW1hbmQgbGluZS4KIAog
ICAgIEF0dHJpYnV0ZXM6CisgICAgICBpc19kZWJ1ZzogQSBib29sZWFuIHZhbHVlIG9mIHdoZXRo
ZXIgdGhlIHNjcmlwdCBpcyBiZWluZyBkZWJ1Z2dlZC4KKwogICAgICAgZmlsdGVyX3J1bGVzOiBU
aGUgbGlzdCBvZiBmaWx0ZXIgcnVsZXMgcHJvdmlkZWQgYnkgdGhlIHVzZXIuCiAgICAgICAgICAg
ICAgICAgICAgIFRoZXNlIHJ1bGVzIGFyZSBhcHBlbmRlZCB0byB0aGUgYmFzZSBydWxlcyBhbmQK
ICAgICAgICAgICAgICAgICAgICAgcGF0aC1zcGVjaWZpYyBydWxlcyBhbmQgc28gdGFrZSBwcmVj
ZWRlbmNlIG92ZXIKQEAgLTE0NCw2ICsxNDksNyBAQCBjbGFzcyBDb21tYW5kT3B0aW9uVmFsdWVz
KG9iamVjdCk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsCiAgICAgICAgICAgICAgICAgIGZpbHRl
cl9ydWxlcz1Ob25lLAogICAgICAgICAgICAgICAgICBnaXRfY29tbWl0PU5vbmUsCisgICAgICAg
ICAgICAgICAgIGlzX2RlYnVnPUZhbHNlLAogICAgICAgICAgICAgICAgICBvdXRwdXRfZm9ybWF0
PSJlbWFjcyIsCiAgICAgICAgICAgICAgICAgIHZlcmJvc2l0eT0xKToKICAgICAgICAgaWYgZmls
dGVyX3J1bGVzIGlzIE5vbmU6CkBAIC0xNjEsNiArMTY3LDcgQEAgY2xhc3MgQ29tbWFuZE9wdGlv
blZhbHVlcyhvYmplY3QpOgogCiAgICAgICAgIHNlbGYuZmlsdGVyX3J1bGVzID0gZmlsdGVyX3J1
bGVzCiAgICAgICAgIHNlbGYuZ2l0X2NvbW1pdCA9IGdpdF9jb21taXQKKyAgICAgICAgc2VsZi5p
c19kZWJ1ZyA9IGlzX2RlYnVnCiAgICAgICAgIHNlbGYub3V0cHV0X2Zvcm1hdCA9IG91dHB1dF9m
b3JtYXQKICAgICAgICAgc2VsZi52ZXJib3NpdHkgPSB2ZXJib3NpdHkKIApAQCAtMTcxLDYgKzE3
OCw4IEBAIGNsYXNzIENvbW1hbmRPcHRpb25WYWx1ZXMob2JqZWN0KToKICAgICAgICAgICAgIHJl
dHVybiBGYWxzZQogICAgICAgICBpZiBzZWxmLmdpdF9jb21taXQgIT0gb3RoZXIuZ2l0X2NvbW1p
dDoKICAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICBpZiBzZWxmLmlzX2RlYnVnICE9
IG90aGVyLmlzX2RlYnVnOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgIGlmIHNl
bGYub3V0cHV0X2Zvcm1hdCAhPSBvdGhlci5vdXRwdXRfZm9ybWF0OgogICAgICAgICAgICAgcmV0
dXJuIEZhbHNlCiAgICAgICAgIGlmIHNlbGYudmVyYm9zaXR5ICE9IG90aGVyLnZlcmJvc2l0eToK
QEAgLTMzNSwyMCArMzQ0LDIyIEBAIGNsYXNzIEFyZ3VtZW50UGFyc2VyKG9iamVjdCk6CiAgICAg
ICAgICAgb3B0aW9uczogQSBDb21tYW5kT3B0aW9uVmFsdWVzIGluc3RhbmNlLgogCiAgICAgICAg
ICIiIgorICAgICAgICBpc19kZWJ1ZyA9IEZhbHNlCiAgICAgICAgIG91dHB1dF9mb3JtYXQgPSBz
ZWxmLmRlZmF1bHRfb3B0aW9ucy5vdXRwdXRfZm9ybWF0CiAgICAgICAgIHZlcmJvc2l0eSA9IHNl
bGYuZGVmYXVsdF9vcHRpb25zLnZlcmJvc2l0eQogCiAgICAgICAgICMgVGhlIGZsYWdzIHRoYXQg
dGhlIENvbW1hbmRPcHRpb25WYWx1ZXMgY2xhc3Mgc3VwcG9ydHMuCi0gICAgICAgIGZsYWdzID0g
WydoZWxwJywgJ291dHB1dD0nLCAndmVyYm9zZT0nLCAnZmlsdGVyPScsICdnaXQtY29tbWl0PSdd
CisgICAgICAgIGZsYWdzID0gWydkZWJ1ZycsICdmaWx0ZXI9JywgJ2dpdC1jb21taXQ9JywgJ2hl
bHAnLCAnb3V0cHV0PScsCisgICAgICAgICAgICAgICAgICd2ZXJib3NlPSddCiAKICAgICAgICAg
dHJ5OgogICAgICAgICAgICAgKG9wdHMsIGZpbGVuYW1lcykgPSBnZXRvcHQuZ2V0b3B0KGFyZ3Ms
ICcnLCBmbGFncykKLSAgICAgICAgZXhjZXB0IGdldG9wdC5HZXRvcHRFcnJvcjoKKyAgICAgICAg
ZXhjZXB0IGdldG9wdC5HZXRvcHRFcnJvciwgZXJyOgogICAgICAgICAgICAgIyBGSVhNRTogU2V0
dGxlIG9uIGFuIGVycm9yIGhhbmRsaW5nIGFwcHJvYWNoOiBjb21lIHVwCiAgICAgICAgICAgICAj
ICAgICAgICB3aXRoIGEgY29uc2lzdGVudCBndWlkZWxpbmUgYXMgdG8gd2hlbiBhbmQgd2hldGhl
cgogICAgICAgICAgICAgIyAgICAgICAgYSBWYWx1ZUVycm9yIHNob3VsZCBiZSByYWlzZWQgdmVy
c3VzIGNhbGxpbmcKICAgICAgICAgICAgICMgICAgICAgIHN5cy5leGl0IHdoZW4gbmVlZGluZyB0
byBpbnRlcnJ1cHQgZXhlY3V0aW9uLgotICAgICAgICAgICAgc2VsZi5fZXhpdF93aXRoX3VzYWdl
KCdJbnZhbGlkIGFyZ3VtZW50cy4nKQorICAgICAgICAgICAgc2VsZi5fZXhpdF93aXRoX3VzYWdl
KCdJbnZhbGlkIGFyZ3VtZW50czogJXMnICUgZXJyKQogCiAgICAgICAgIGdpdF9jb21taXQgPSBO
b25lCiAgICAgICAgIGZpbHRlcl9ydWxlcyA9IFtdCkBAIC0zNjYsNyArMzc3LDExIEBAIGNsYXNz
IEFyZ3VtZW50UGFyc2VyKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgaWYgbm90IHZhbDoKICAg
ICAgICAgICAgICAgICAgICAgc2VsZi5fZXhpdF93aXRoX2NhdGVnb3JpZXMoKQogICAgICAgICAg
ICAgICAgIGZpbHRlcl9ydWxlcyA9IHNlbGYuX3BhcnNlX2ZpbHRlcl9mbGFnKHZhbCkKKyAgICAg
ICAgICAgIGVsaWYgb3B0ID09ICItLWRlYnVnIjoKKyAgICAgICAgICAgICAgICBpc19kZWJ1ZyA9
IFRydWUKICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIyBXZSBzaG91bGQgbmV2
ZXIgZ2V0IGhlcmUgYmVjYXVzZSBnZXRvcHQuZ2V0b3B0KCkKKyAgICAgICAgICAgICAgICAjIHJh
aXNlcyBhbiBlcnJvciBpbiB0aGlzIGNhc2UuCiAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVF
cnJvcignSW52YWxpZCBvcHRpb246ICIlcyInICUgb3B0KQogCiAgICAgICAgICMgQ2hlY2sgdmFs
aWRpdHkgb2YgcmVzdWx0aW5nIHZhbHVlcy4KQEAgLTM4Nyw5ICs0MDIsMTAgQEAgY2xhc3MgQXJn
dW1lbnRQYXJzZXIob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JlIGJl
dHdlZW4gMS01LicgJSB2ZXJib3NpdHkpCiAKICAgICAgICAgb3B0aW9ucyA9IENvbW1hbmRPcHRp
b25WYWx1ZXMoZmlsdGVyX3J1bGVzPWZpbHRlcl9ydWxlcywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGdpdF9jb21taXQ9Z2l0X2NvbW1pdCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG91dHB1dF9mb3JtYXQ9b3V0cHV0X2Zvcm1hdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHZlcmJvc2l0eT12ZXJib3NpdHkpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGdpdF9jb21taXQ9Z2l0X2NvbW1pdCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfZGVidWc9aXNfZGVidWcsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dF9mb3JtYXQ9b3V0cHV0X2Zvcm1hdCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyYm9zaXR5PXZlcmJvc2l0
eSkKIAogICAgICAgICByZXR1cm4gKGZpbGVuYW1lcywgb3B0aW9ucykKIApkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9vcHRwYXJzZXJfdW5pdHRlc3QucHkg
Yi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL29wdHBhcnNlcl91bml0dGVzdC5w
eQppbmRleCBlNGM3NWZiLi42MWE1NDhlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3N0eWxlL29wdHBhcnNlcl91bml0dGVzdC5weQorKysgYi9XZWJLaXRUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L3N0eWxlL29wdHBhcnNlcl91bml0dGVzdC5weQpAQCAtMTQwLDEwICsx
NDAsMTEgQEAgY2xhc3MgQXJndW1lbnRQYXJzZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAog
ICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhmaWxlcywgW10pCiAKLSAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbHMob3B0aW9ucy5vdXRwdXRfZm9ybWF0LCAndnM3JykKLSAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbHMob3B0aW9ucy52ZXJib3NpdHksIDMpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz
KG9wdGlvbnMuZmlsdGVyX3J1bGVzLCBbXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMob3B0
aW9ucy5naXRfY29tbWl0LCBOb25lKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhvcHRpb25z
LmlzX2RlYnVnLCBGYWxzZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMob3B0aW9ucy5vdXRw
dXRfZm9ybWF0LCAndnM3JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMob3B0aW9ucy52ZXJi
b3NpdHksIDMpCiAKICAgICBkZWYgdGVzdF9wYXJzZV9leHBsaWNpdF9hcmd1bWVudHMoc2VsZik6
CiAgICAgICAgIHBhcnNlID0gc2VsZi5fcGFyc2UoKQpAQCAtMTU1LDYgKzE1Niw4IEBAIGNsYXNz
IEFyZ3VtZW50UGFyc2VyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWxzKG9wdGlvbnMudmVyYm9zaXR5LCA0KQogICAgICAgICAoZmlsZXMsIG9wdGlvbnMp
ID0gcGFyc2UoWyctLWdpdC1jb21taXQ9Y29tbWl0J10pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWxzKG9wdGlvbnMuZ2l0X2NvbW1pdCwgJ2NvbW1pdCcpCisgICAgICAgIChmaWxlcywgb3B0aW9u
cykgPSBwYXJzZShbJy0tZGVidWcnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMob3B0aW9u
cy5pc19kZWJ1ZywgVHJ1ZSkKIAogICAgICAgICAjIFBhc3MgdXNlcl9ydWxlcy4KICAgICAgICAg
KGZpbGVzLCBvcHRpb25zKSA9IHBhcnNlKFsnLS1maWx0ZXI9K2J1aWxkLC13aGl0ZXNwYWNlJ10p
CkBAIC0xODcsNiArMTkwLDcgQEAgY2xhc3MgQ29tbWFuZE9wdGlvblZhbHVlc1Rlc3QodW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICBvcHRpb25zID0gUHJvY2Vzc29yT3B0aW9ucygpCiAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG9wdGlvbnMuZmlsdGVyX3J1bGVzLCBbXSkKICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbHMob3B0aW9ucy5naXRfY29tbWl0LCBOb25lKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFscyhvcHRpb25zLmlzX2RlYnVnLCBGYWxzZSkKICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbHMob3B0aW9ucy5vdXRwdXRfZm9ybWF0LCAiZW1hY3MiKQogICAgICAgICBzZWxmLmFz
c2VydEVxdWFscyhvcHRpb25zLnZlcmJvc2l0eSwgMSkKIApAQCAtMjAyLDMzICsyMDYsNDIgQEAg
Y2xhc3MgQ29tbWFuZE9wdGlvblZhbHVlc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAg
ICAjIENoZWNrIGF0dHJpYnV0ZXMuCiAgICAgICAgIG9wdGlvbnMgPSBQcm9jZXNzb3JPcHRpb25z
KGZpbHRlcl9ydWxlcz1bIisiXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Z2l0X2NvbW1pdD0iY29tbWl0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aXNfZGVidWc9VHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0
X2Zvcm1hdD0idnM3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyYm9z
aXR5PTMpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG9wdGlvbnMuZmlsdGVyX3J1bGVzLCBb
IisiXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMob3B0aW9ucy5naXRfY29tbWl0LCAiY29t
bWl0IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMob3B0aW9ucy5pc19kZWJ1ZywgVHJ1ZSkK
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMob3B0aW9ucy5vdXRwdXRfZm9ybWF0LCAidnM3IikK
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMob3B0aW9ucy52ZXJib3NpdHksIDMpCiAKICAgICBk
ZWYgdGVzdF9lcShzZWxmKToKICAgICAgICAgIiIiVGVzdCBfX2VxX18gZXF1YWxpdHkgZnVuY3Rp
b24uIiIiCi0gICAgICAgICMgPT0gY2FsbHMgX19lcV9fLgotICAgICAgICBzZWxmLmFzc2VydFRy
dWUoUHJvY2Vzc29yT3B0aW9ucygpID09IFByb2Nlc3Nvck9wdGlvbnMoKSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRUcnVlKFByb2Nlc3Nvck9wdGlvbnMoKS5fX2VxX18oUHJvY2Vzc29yT3B0aW9ucygp
KSkKIAotICAgICAgICAjIFZlcmlmeSB0aGF0IGEgZGlmZmVyZW5jZSBpbiBhbnkgYXJndW1lbnQg
Y2F1c2VzIGVxdWFsaXR5IHRvIGZhaWwuCi0gICAgICAgIG9wdGlvbnMgPSBQcm9jZXNzb3JPcHRp
b25zKGZpbHRlcl9ydWxlcz1bIisiXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZ2l0X2NvbW1pdD0iY29tbWl0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgb3V0cHV0X2Zvcm1hdD0idnM3IiwKKyAgICAgICAgIyBBbHNvIHZlcmlmeSB0aGF0IGEgZGlm
ZmVyZW5jZSBpbiBhbnkgYXJndW1lbnQgY2F1c2VzIGVxdWFsaXR5IHRvIGZhaWwuCisKKyAgICAg
ICAgIyBFeHBsaWNpdGx5IGNyZWF0ZSBhIFByb2Nlc3Nvck9wdGlvbnMgaW5zdGFuY2Ugd2l0aCBh
bGwgZGVmYXVsdAorICAgICAgICAjIHZhbHVlcy4gIFdlIGRvIHRoaXMgdG8gYmUgc3VyZSB3ZSBh
cmUgYXNzdW1pbmcgdGhlIHJpZ2h0IGRlZmF1bHQKKyAgICAgICAgIyB2YWx1ZXMgaW4gb3VyIHNl
bGYuYXNzZXJ0RmFsc2UoKSBjYWxscyBiZWxvdy4KKyAgICAgICAgb3B0aW9ucyA9IFByb2Nlc3Nv
ck9wdGlvbnMoZmlsdGVyX3J1bGVzPVtdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBnaXRfY29tbWl0PU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlzX2RlYnVnPUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRw
dXRfZm9ybWF0PSJlbWFjcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZl
cmJvc2l0eT0xKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9wdGlvbnMgPT0gUHJvY2Vzc29y
T3B0aW9ucyhmaWx0ZXJfcnVsZXM9WyItIl0pKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9w
dGlvbnMgPT0gUHJvY2Vzc29yT3B0aW9ucyhnaXRfY29tbWl0PSJjb21taXQyIikpCi0gICAgICAg
IHNlbGYuYXNzZXJ0RmFsc2Uob3B0aW9ucyA9PSBQcm9jZXNzb3JPcHRpb25zKG91dHB1dF9mb3Jt
YXQ9ImVtYWNzIikpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3B0aW9ucyA9PSBQcm9jZXNz
b3JPcHRpb25zKHZlcmJvc2l0eT0yKSkKKyAgICAgICAgIyBWZXJpZnkgdGhhdCB3ZSBjcmVhdGVk
IG9wdGlvbnMgY29ycmVjdGx5LgorICAgICAgICBzZWxmLmFzc2VydFRydWUob3B0aW9ucy5fX2Vx
X18oUHJvY2Vzc29yT3B0aW9ucygpKSkKKworICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9wdGlv
bnMuX19lcV9fKFByb2Nlc3Nvck9wdGlvbnMoZmlsdGVyX3J1bGVzPVsiKyJdKSkpCisgICAgICAg
IHNlbGYuYXNzZXJ0RmFsc2Uob3B0aW9ucy5fX2VxX18oUHJvY2Vzc29yT3B0aW9ucyhnaXRfY29t
bWl0PSJjb21taXQiKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3B0aW9ucy5fX2VxX18o
UHJvY2Vzc29yT3B0aW9ucyhpc19kZWJ1Zz1UcnVlKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFs
c2Uob3B0aW9ucy5fX2VxX18oUHJvY2Vzc29yT3B0aW9ucyhvdXRwdXRfZm9ybWF0PSJ2czciKSkp
CisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3B0aW9ucy5fX2VxX18oUHJvY2Vzc29yT3B0aW9u
cyh2ZXJib3NpdHk9MikpKQogCiAgICAgZGVmIHRlc3RfbmUoc2VsZik6CiAgICAgICAgICIiIlRl
c3QgX19uZV9fIGluZXF1YWxpdHkgZnVuY3Rpb24uIiIiCi0gICAgICAgICMgIT0gY2FsbHMgX19u
ZV9fLgogICAgICAgICAjIEJ5IGRlZmF1bHQsIF9fbmVfXyBhbHdheXMgcmV0dXJucyB0cnVlIG9u
IGRpZmZlcmVudCBvYmplY3RzLgogICAgICAgICAjIFRodXMsIGp1c3QgY2hlY2sgdGhlIGRpc3Rp
bmd1aXNoaW5nIGNhc2UgdG8gdmVyaWZ5IHRoYXQgdGhlCiAgICAgICAgICMgY29kZSBkZWZpbmVz
IF9fbmVfXy4KLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShQcm9jZXNzb3JPcHRpb25zKCkgIT0g
UHJvY2Vzc29yT3B0aW9ucygpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKFByb2Nlc3Nvck9w
dGlvbnMoKS5fX25lX18oUHJvY2Vzc29yT3B0aW9ucygpKSkKIAo=
</data>
<flag name="review"
          id="34454"
          type_id="1"
          status="+"
          setter="hamaji"
    />
    <flag name="commit-queue"
          id="34455"
          type_id="3"
          status="-"
          setter="hamaji"
    />
          </attachment>
      

    </bug>

</bugzilla>