<?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>29316</bug_id>
          
          <creation_ts>2009-09-16 15:19:25 -0700</creation_ts>
          <short_desc>commit-queue should give better feedback when failing a patch</short_desc>
          <delta_ts>2009-09-25 10:41:04 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>
          
          <blocked>28686</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>147641</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-16 15:19:25 -0700</bug_when>
    <thetext>commit-queue should give better feedback when failing a patch

I&apos;m going to start by printing the logs from the failing command.  I will make further improvements soon, including giving information as to how to resolve the issue, or changing other parts of the commit-queue to not even bother failing a patch when it&apos;s not the user&apos;s fault (like when the ChangeLog is out of date, or maybe for a specific set of flakey tests).

This patch is about adding logging information when failing a patch.  I&apos;ve been running the commit-queue with this code for a few hours and it seems to be doing fine. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147644</commentid>
    <comment_count>1</comment_count>
      <attachid>39663</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-16 15:26:29 -0700</bug_when>
    <thetext>Created attachment 39663
First attempt at error message cleanups</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147659</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-16 16:09:32 -0700</bug_when>
    <thetext>Example feedback:
https://bugs.webkit.org/show_bug.cgi?id=29280#c4

Obviously that message could be much less verbose.  That&apos;s the next step: write custom message parsers/translators for all the individual errors and tools.

In this example, we could parse out what layout test failed, and compose a more concise message that we post in the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147678</commentid>
    <comment_count>3</comment_count>
      <attachid>39667</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-16 17:04:42 -0700</bug_when>
    <thetext>Created attachment 39667
Fix args to not conflict with Exception.args</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147696</commentid>
    <comment_count>4</comment_count>
      <attachid>39673</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-16 17:43:05 -0700</bug_when>
    <thetext>Created attachment 39673
Fix args to not conflict with Exception.args</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147704</commentid>
    <comment_count>5</comment_count>
      <attachid>39673</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-09-16 18:43:45 -0700</bug_when>
    <thetext>Comment on attachment 39673
Fix args to not conflict with Exception.args

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147717</commentid>
    <comment_count>6</comment_count>
      <attachid>39673</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-16 19:32:07 -0700</bug_when>
    <thetext>Comment on attachment 39673
Fix args to not conflict with Exception.args

I rescind this patch.  I just noticed it&apos;s not logging to stdout as expected, I need to debug it further.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149853</commentid>
    <comment_count>7</comment_count>
      <attachid>40080</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-24 14:52:31 -0700</bug_when>
    <thetext>Created attachment 40080
Limit error output length</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149854</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-24 14:57:02 -0700</bug_when>
    <thetext>I&apos;ve been testing this patch for the last week.  It seems to work just fine, and has dramatically improved usability of the queue now that people can see what fails.  I still need to deploy this type of reporting to a few other places in the code though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150042</commentid>
    <comment_count>9</comment_count>
      <attachid>40080</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-09-25 10:02:17 -0700</bug_when>
    <thetext>Comment on attachment 40080
Limit error output length

That python array syntax is wild.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150059</commentid>
    <comment_count>10</comment_count>
      <attachid>40080</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-09-25 10:40:54 -0700</bug_when>
    <thetext>Comment on attachment 40080
Limit error output length

Clearing flags on attachment: 40080

Committed r48760: &lt;http://trac.webkit.org/changeset/48760&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150060</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-09-25 10:41:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39663</attachid>
            <date>2009-09-16 15:26:29 -0700</date>
            <delta_ts>2009-09-16 17:04:38 -0700</delta_ts>
            <desc>First attempt at error message cleanups</desc>
            <filename>bug-29316-20090916152628.patch</filename>
            <type>text/plain</type>
            <size>10530</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA5OTZmYTJiLi42ZDEyZDExIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDktMDkt
MTYgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGNvbW1pdC1xdWV1ZSBzaG91bGQgZ2l2ZSBiZXR0
ZXIgZmVlZGJhY2sgd2hlbiBmYWlsaW5nIGEgcGF0Y2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MzE2CisKKyAgICAgICAgKiBTY3JpcHRzL2J1Z3pp
bGxhLXRvb2w6CisgICAgICAgICAtIFVwZGF0ZSBTY3JpcHRFcnJvciB1c2VzIHRvIHRoZSBuZXcg
Y29uc3RydWN0b3IgZm9ybWF0LgorICAgICAgICAgLSBNb3ZlIENvbW1pdFF1ZXVlLl9ydW5fY29t
bWFuZCB0byBXZWJLaXRMYW5kaW5nU2NyaXB0cy5ydW5fY29tbWFuZF93aXRoX3RlZWRfb3V0cHV0
CisgICAgICAgICAgIHNvIHRoYXQgd2UgY2FuIHByaW50IHRvIGJvdGggc3Rkb3V0IGFzIHdlbGwg
YXMgYW4gb3V0cHV0IGJ1ZmZlciBmb3IgZXJyb3IgcmVwb3J0aW5nLgorICAgICAgICAgLSBVcGRh
dGUgcnVuX2FuZF90aHJvd19pZl9mYWlsIHRvIHVzZSB0ZWVkIG91dHB1dCBzbyB0aGF0IGl0IGNh
biByZXBvcnQgdGhlICJvdXRwdXQiIGFzIHBhcnQgb2YgU2NyaXB0RXJyb3IuCisgICAgICAgICAt
IFVzZSBlLm1lc3NhZ2Vfd2l0aF9vdXRwdXQoKSB3aGVuIGZhaWxpbmcgYSBwYXRjaCAodGhpcyBp
cyB0aGUgcmVhbCBmaXggaGVyZSkuCisgICAgICAgICAgIEkgYWxzbyByZW1vdmVkIHVzZSBvZiAi
VGhpcyBwYXRjaCB3aWxsIHJlcXVpcmUgbWFudWFsIGNvbW1pdC4iIGFzIHRoYXQncyBub3QgYWx3
YXlzIHRydWUuCisgICAgICAgICAtIEFkZCBtaXNzaW5nIHdvcmQgImJ1ZyIgZnJvbSBsb2cgbWVz
c2FnZS4KKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMvc2NtLnB5OgorICAgICAgICAgLSBNYWtl
IFNjcmlwdEVycm9yIHNhdmUgYSBidW5jaCBtb3JlIGRhdGEgc28gdGhhdCBlcnJvciBtZXNzYWdl
cyBjYW4gYmUgbmljZXIuCisgICAgICAgICAtIFVwZGF0ZSBTY3JpcHRFcnJvciBjYWxsZXJzLgor
CiAyMDA5LTA5LTExICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvYnVnemlsbGEtdG9vbCBiL1dlYktpdFRvb2xzL1NjcmlwdHMvYnVnemlsbGEtdG9vbAppbmRl
eCAzYmNjNTQ5Li5hOGFiZTI2IDEwMDc1NQotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL2J1Z3pp
bGxhLXRvb2wKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWd6aWxsYS10b29sCkBAIC03MSw3
ICs3MSw3IEBAIGRlZiBwYXJzZV9idWdfaWQobWVzc2FnZSk6CiBkZWYgY29tbWl0X21lc3NhZ2Vf
Zm9yX3RoaXNfY29tbWl0KHNjbSk6CiAgICAgY2hhbmdlbG9nX3BhdGhzID0gc2NtLm1vZGlmaWVk
X2NoYW5nZWxvZ3MoKQogICAgIGlmIG5vdCBsZW4oY2hhbmdlbG9nX3BhdGhzKToKLSAgICAgICAg
cmFpc2UgU2NyaXB0RXJyb3IoIkZvdW5kIG5vIG1vZGlmaWVkIENoYW5nZUxvZ3MsIGNhbm5vdCBj
cmVhdGUgYSBjb21taXQgbWVzc2FnZS5cbiIKKyAgICAgICAgcmFpc2UgU2NyaXB0RXJyb3IobWVz
c2FnZT0iRm91bmQgbm8gbW9kaWZpZWQgQ2hhbmdlTG9ncywgY2Fubm90IGNyZWF0ZSBhIGNvbW1p
dCBtZXNzYWdlLlxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICAiQWxsIGNoYW5nZXMgcmVx
dWlyZSBhIENoYW5nZUxvZy4gIFNlZTpcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgImh0
dHA6Ly93ZWJraXQub3JnL2NvZGluZy9jb250cmlidXRpbmcuaHRtbCIpCiAKQEAgLTIwMiwxOCAr
MjAyLDMzIEBAIGNsYXNzIFdlYktpdExhbmRpbmdTY3JpcHRzOgogICAgICAgICBdCiAKICAgICBA
c3RhdGljbWV0aG9kCi0gICAgZGVmIHJ1bl9hbmRfdGhyb3dfaWZfZmFpbChhcmdzLCBxdWlldD1G
YWxzZSk6Ci0gICAgICAgICMgUGFzc2luZyBOb25lIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGlucHV0
L291dHB1dHMKLSAgICAgICAgY2hpbGRfb3V0cHV0ID0gb3Blbihvcy5kZXZudWxsLCAidyIpIGlm
IHF1aWV0IGVsc2UgTm9uZQorICAgIGRlZiBydW5fY29tbWFuZF93aXRoX3RlZWRfb3V0cHV0KGFy
Z3MsIHRlZWRfb3V0cHV0KToKKyAgICAgICAgY2hpbGRfcHJvY2VzcyA9IHN1YnByb2Nlc3MuUG9w
ZW4oYXJncywgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VU
KQogCi0gICAgICAgIGNoaWxkX3Byb2Nlc3MgPSBzdWJwcm9jZXNzLlBvcGVuKGFyZ3MsIHN0ZG91
dD1jaGlsZF9vdXRwdXQsIHN0ZGVycj1jaGlsZF9vdXRwdXQpCi0gICAgICAgIHJldHVybl9jb2Rl
ID0gY2hpbGRfcHJvY2Vzcy53YWl0KCkKKyAgICAgICAgIyBVc2Ugb3VyIG93biBjdXN0b20gd2Fp
dCBsb29wIGJlY2F1c2UgUG9wZW4gaWdub3JlcyBhIHRlZSdkIHN0ZGVyci9zdGRvdXQuCisgICAg
ICAgICMgRklYTUU6IFRoaXMgY291bGQgYmUgaW1wcm92ZWQgbm90IHRvIGZsYXR0ZW4gb3V0cHV0
IHRvIHN0ZG91dC4KKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIG91dHB1dF9saW5l
ID0gY2hpbGRfcHJvY2Vzcy5zdGRvdXQucmVhZGxpbmUoKQorICAgICAgICAgICAgaWYgb3V0cHV0
X2xpbmUgPT0gJycgYW5kIGNoaWxkX3Byb2Nlc3MucG9sbCgpICE9IE5vbmU6CisgICAgICAgICAg
ICAgICAgcmV0dXJuIGNoaWxkX3Byb2Nlc3MucG9sbCgpCisgICAgICAgICAgICB0ZWVkX291dHB1
dC53cml0ZShvdXRwdXRfbGluZSkKKworICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgcnVuX2Fu
ZF90aHJvd19pZl9mYWlsKGFyZ3MsIHF1aWV0PUZhbHNlKToKKyAgICAgICAgIyBDYWNoZSB0aGUg
Y2hpbGQncyBvdXRwdXQgbG9jYWxseSBzbyBpdCBjYW4gYmUgdXNlZCBmb3IgZXJyb3IgcmVwb3J0
cy4KKyAgICAgICAgY2hpbGRfb3V0X2ZpbGUgPSBTdHJpbmdJTy5TdHJpbmdJTygpCisgICAgICAg
IGlmIHF1aWV0OgorICAgICAgICAgICAgZGV2X251bGwgPSBvcGVuKG9zLmRldm51bGwsICJ3IikK
KyAgICAgICAgY2hpbGRfc3Rkb3V0ID0gdGVlKGNoaWxkX291dF9maWxlLCBkZXZfbnVsbCBpZiBx
dWlldCBlbHNlIHN5cy5zdGRvdXQpCisgICAgICAgIGV4aXRfY29kZSA9IFdlYktpdExhbmRpbmdT
Y3JpcHRzLnJ1bl9jb21tYW5kX3dpdGhfdGVlZF9vdXRwdXQoYXJncywgY2hpbGRfb3V0X2ZpbGUp
CisgICAgICAgIGlmIHF1aWV0OgorICAgICAgICAgICAgZGV2X251bGwuY2xvc2UoKQogCi0gICAg
ICAgIGlmIGNoaWxkX291dHB1dDoKLSAgICAgICAgICAgIGNoaWxkX291dHB1dC5jbG9zZSgpCisg
ICAgICAgIGNoaWxkX291dHB1dCA9IGNoaWxkX291dF9maWxlLmdldHZhbHVlKCkKKyAgICAgICAg
Y2hpbGRfb3V0X2ZpbGUuY2xvc2UoKQogCi0gICAgICAgIGlmIHJldHVybl9jb2RlOgotICAgICAg
ICAgICAgcmFpc2UgU2NyaXB0RXJyb3IoIiVzIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAlZCIgJSAo
YXJncywgcmV0dXJuX2NvZGUpKQorICAgICAgICBpZiBleGl0X2NvZGU6CisgICAgICAgICAgICBy
YWlzZSBTY3JpcHRFcnJvcihhcmdzPWFyZ3MsIGV4aXRfY29kZT1leGl0X2NvZGUsIG91dHB1dD1j
aGlsZF9vdXRwdXQpCiAKICAgICAjIFdlIG1pZ2h0IG5lZWQgdG8gcGFzcyBzY20gaW50byB0aGlz
IGZ1bmN0aW9uIGZvciBzY20uY2hlY2tvdXRfcm9vdAogICAgIEBzdGF0aWNtZXRob2QKQEAgLTM0
Myw3ICszNTgsNyBAQCBjbGFzcyBMYW5kUGF0Y2hlc0Zyb21CdWdzKENvbW1hbmQpOgogICAgICAg
ICAgICAgICAgIHRvb2wuYnVncy5jbG9zZV9idWdfYXNfZml4ZWQoYnVnX2lkLCAiQWxsIHJldmll
d2VkIHBhdGNoZXMgaGF2ZSBiZWVuIGxhbmRlZC4gIENsb3NpbmcgYnVnLiIpCiAgICAgICAgIGV4
Y2VwdCBTY3JpcHRFcnJvciwgZToKICAgICAgICAgICAgICMgTWFyayB0aGUgcGF0Y2ggYXMgY29t
bWl0LXF1ZXVlLSBhbmQgY29tbWVudCBpbiB0aGUgYnVnLgotICAgICAgICAgICAgdG9vbC5idWdz
LnJlamVjdF9wYXRjaF9mcm9tX2NvbW1pdF9xdWV1ZShwYXRjaFsnaWQnXSwgIlRoaXMgcGF0Y2gg
d2lsbCByZXF1aXJlIG1hbnVhbCBjb21taXQuICVzIiAlIGUpCisgICAgICAgICAgICB0b29sLmJ1
Z3MucmVqZWN0X3BhdGNoX2Zyb21fY29tbWl0X3F1ZXVlKHBhdGNoWydpZCddLCBlLm1lc3NhZ2Vf
d2l0aF9vdXRwdXQoKSkKICAgICAgICAgICAgIGVycm9yKGUpCiAKICAgICBAc3RhdGljbWV0aG9k
CkBAIC0zNTgsNyArMzczLDcgQEAgY2xhc3MgTGFuZFBhdGNoZXNGcm9tQnVncyhDb21tYW5kKToK
ICAgICAgICAgICAgICAgICBwYXRjaGVzID0gdG9vbC5idWdzLmZldGNoX3Jldmlld2VkX3BhdGNo
ZXNfZnJvbV9idWcoYnVnX2lkKQogCiAgICAgICAgICAgICBwYXRjaGVzX2ZvdW5kID0gbGVuKHBh
dGNoZXMpCi0gICAgICAgICAgICBsb2coIiVzIGZvdW5kIG9uICVzLiIgJSAocGx1cmFsaXplKCJy
ZXZpZXdlZCBwYXRjaCIsIHBhdGNoZXNfZm91bmQpLCBidWdfaWQpKQorICAgICAgICAgICAgbG9n
KCIlcyBmb3VuZCBvbiBidWcgJXMuIiAlIChwbHVyYWxpemUoInJldmlld2VkIHBhdGNoIiwgcGF0
Y2hlc19mb3VuZCksIGJ1Z19pZCkpCiAKICAgICAgICAgICAgIHBhdGNoX2NvdW50ICs9IHBhdGNo
ZXNfZm91bmQKICAgICAgICAgICAgIGlmIHBhdGNoZXNfZm91bmQ6CkBAIC03MzcsMTYgKzc1Miw2
IEBAIGNsYXNzIExhbmRQYXRjaGVzRnJvbUNvbW1pdFF1ZXVlKENvbW1hbmQpOgogICAgICAgICBz
ZWxmLl90ZWVfb3V0cHV0c190b19maWxlcyhzZWxmLl9maWxlc19mb3Jfb3V0cHV0KQogICAgICAg
ICBsb2dfZmlsZS5jbG9zZSgpCiAKLSAgICBkZWYgX3J1bl9jb21tYW5kKHNlbGYsIGFyZ3MpOgot
ICAgICAgICBjaGlsZF9wcm9jZXNzID0gc3VicHJvY2Vzcy5Qb3BlbihhcmdzLCBzdGRvdXQ9c3Vi
cHJvY2Vzcy5QSVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQpCi0KLSAgICAgICAgIyBVc2Ug
b3VyIG93biBjdXN0b20gd2FpdCBsb29wIGJlY2F1c2UgUG9wZW4gaWdub3JlcyBvdXIgdGVlJ2Qg
c3RkZXJyL3N0ZG91dAotICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgb3V0cHV0X2xp
bmUgPSBjaGlsZF9wcm9jZXNzLnN0ZG91dC5yZWFkbGluZSgpCi0gICAgICAgICAgICBpZiBvdXRw
dXRfbGluZSA9PSAnJyBhbmQgY2hpbGRfcHJvY2Vzcy5wb2xsKCkgIT0gTm9uZToKLSAgICAgICAg
ICAgICAgICByZXR1cm4gY2hpbGRfcHJvY2Vzcy5wb2xsKCkKLSAgICAgICAgICAgIHN5cy5zdGRv
dXQud3JpdGUob3V0cHV0X2xpbmUpCi0KICAgICBkZWYgZXhlY3V0ZShzZWxmLCBvcHRpb25zLCBh
cmdzLCB0b29sKToKICAgICAgICAgbG9nKCJDQVVUSU9OOiBjb21taXQtcXVldWUgd2lsbCBkaXNj
YXJkIGFsbCBsb2NhbCBjaGFuZ2VzIGluICVzIiAlIHRvb2wuc2NtKCkuY2hlY2tvdXRfcm9vdCkK
ICAgICAgICAgaWYgb3B0aW9ucy5jb25maXJtOgpAQCAtNzgxLDcgKzc4Niw4IEBAIGNsYXNzIExh
bmRQYXRjaGVzRnJvbUNvbW1pdFF1ZXVlKENvbW1hbmQpOgogICAgICAgICAgICAgYnVnX2xvZ19w
YXRoID0gb3MucGF0aC5qb2luKHNlbGYuYnVnX2xvZ3NfZGlyZWN0b3J5LCAiJXMubG9nIiAlIGZp
cnN0X2J1Z19pZCkKICAgICAgICAgICAgIGJ1Z19sb2cgPSBzZWxmLl9hZGRfbG9nX3RvX291dHB1
dF90ZWUoYnVnX2xvZ19wYXRoKQogICAgICAgICAgICAgYnVnemlsbGFfdG9vbF9wYXRoID0gX19m
aWxlX18gIyByZS1leGVjdXRlIHRoaXMgc2NyaXB0Ci0gICAgICAgICAgICBzZWxmLl9ydW5fY29t
bWFuZChbYnVnemlsbGFfdG9vbF9wYXRoLCAnbGFuZC1wYXRjaGVzJywgJy0tZm9yY2UtY2xlYW4n
LCAnLS1jb21taXQtcXVldWUnLCAnLS1xdWlldCcsIGZpcnN0X2J1Z19pZF0pCisgICAgICAgICAg
ICBidWd6aWxsYV90b29sX2FyZ3MgPSBbYnVnemlsbGFfdG9vbF9wYXRoLCAnbGFuZC1wYXRjaGVz
JywgJy0tZm9yY2UtY2xlYW4nLCAnLS1jb21taXQtcXVldWUnLCAnLS1xdWlldCcsIGZpcnN0X2J1
Z19pZF0KKyAgICAgICAgICAgIFdlYktpdExhbmRpbmdTY3JpcHRzLnJ1bl9jb21tYW5kX3dpdGhf
dGVlZF9vdXRwdXQoYnVnemlsbGFfdG9vbF9hcmdzLCBzeXMuc3Rkb3V0KQogICAgICAgICAgICAg
c2VsZi5fcmVtb3ZlX2xvZ19mcm9tX291dHB1dF90ZWUoYnVnX2xvZykKIAogICAgICAgICBsb2co
IkZpbmlzaGVkIFdlYktpdCBDb21taXQgUXVldWUuICVzIiAlIGRhdGV0aW1lLm5vdygpKQpkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL3NjbS5weSBiL1dlYktpdFRvb2xz
L1NjcmlwdHMvbW9kdWxlcy9zY20ucHkKaW5kZXggNTZjMTYwMy4uOGRiOTk1MyAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL3NjbS5weQorKysgYi9XZWJLaXRUb29scy9T
Y3JpcHRzL21vZHVsZXMvc2NtLnB5CkBAIC03OCw4ICs3OCwyNCBAQCBjbGFzcyBDb21taXRNZXNz
YWdlOgogCiAKIGNsYXNzIFNjcmlwdEVycm9yKEV4Y2VwdGlvbik6Ci0gICAgcGFzcworICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBhcmdzPU5vbmUsIGV4aXRfY29kZT1Ob25lLCBtZXNzYWdlPU5vbmUs
IG91dHB1dD1Ob25lLCBjd2Q9Tm9uZSk6CisgICAgICAgIGlmIG5vdCBtZXNzYWdlOgorICAgICAg
ICAgICAgbWVzc2FnZSA9ICdGYWlsZWQgdG8gcnVuICIlcyInICUgYXJncworICAgICAgICAgICAg
aWYgZXhpdF9jb2RlOgorICAgICAgICAgICAgICAgIG1lc3NhZ2UgKz0gIiBleGl0X2NvZGU6ICVk
IiAlIGV4aXRfY29kZQorICAgICAgICAgICAgaWYgY3dkOgorICAgICAgICAgICAgICAgIG1lc3Nh
Z2UgKz0gIiBjd2Q6ICVzIiAlIGN3ZAorCisgICAgICAgIEV4Y2VwdGlvbi5fX2luaXRfXyhzZWxm
LCBtZXNzYWdlKQorICAgICAgICBzZWxmLmFyZ3MgPSBhcmdzCisgICAgICAgIHNlbGYuZXhpdF9j
b2RlID0gZXhpdF9jb2RlCisgICAgICAgIHNlbGYub3V0cHV0ID0gb3V0cHV0CisgICAgICAgIHNl
bGYuY3dkID0gY3dkCiAKKyAgICBkZWYgbWVzc2FnZV93aXRoX291dHB1dChzZWxmKToKKyAgICAg
ICAgaWYgc2VsZi5vdXRwdXQ6CisgICAgICAgICAgICByZXR1cm4gIiVzXG4lcyIgJSAoc2VsZiwg
c2VsZi5vdXRwdXQpCisgICAgICAgIHJldHVybiBzdHIoc2VsZikKIAogY2xhc3MgU0NNOgogICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBjd2QsIGRyeXJ1bj1GYWxzZSk6CkBAIC05NCw3ICsxMTAsNyBA
QCBjbGFzcyBTQ006CiAgICAgICAgIG91dHB1dCA9IHByb2Nlc3MuY29tbXVuaWNhdGUoaW5wdXQp
WzBdLnJzdHJpcCgpCiAgICAgICAgIGV4aXRfY29kZSA9IHByb2Nlc3Mud2FpdCgpCiAgICAgICAg
IGlmIHJhaXNlX29uX2ZhaWx1cmUgYW5kIGV4aXRfY29kZToKLSAgICAgICAgICAgIHJhaXNlIFNj
cmlwdEVycm9yKCdGYWlsZWQgdG8gcnVuICIlcyIgIGV4aXRfY29kZTogJWQgIGN3ZDogJXMnICUg
KGFyZ3MsIGV4aXRfY29kZSwgY3dkKSkKKyAgICAgICAgICAgIHJhaXNlIFNjcmlwdEVycm9yKGFy
Z3M9YXJncywgZXhpdF9jb2RlPWV4aXRfY29kZSwgb3V0cHV0PW91dHB1dCwgY3dkPWN3ZCkKICAg
ICAgICAgaWYgcmV0dXJuX2V4aXRfY29kZToKICAgICAgICAgICAgIHJldHVybiBleGl0X2NvZGUK
ICAgICAgICAgcmV0dXJuIG91dHB1dApAQCAtMTA4LDcgKzEyNCw3IEBAIGNsYXNzIFNDTToKICAg
ICBkZWYgZW5zdXJlX2NsZWFuX3dvcmtpbmdfZGlyZWN0b3J5KHNlbGYsIGZvcmNlKToKICAgICAg
ICAgaWYgbm90IGZvcmNlIGFuZCBub3Qgc2VsZi53b3JraW5nX2RpcmVjdG9yeV9pc19jbGVhbigp
OgogICAgICAgICAgICAgcHJpbnQgc2VsZi5ydW5fY29tbWFuZChzZWxmLnN0YXR1c19jb21tYW5k
KCksIHJhaXNlX29uX2ZhaWx1cmU9RmFsc2UpCi0gICAgICAgICAgICByYWlzZSBTY3JpcHRFcnJv
cigiV29ya2luZyBkaXJlY3RvcnkgaGFzIG1vZGlmaWNhdGlvbnMsIHBhc3MgLS1mb3JjZS1jbGVh
biBvciAtLW5vLWNsZWFuIHRvIGNvbnRpbnVlLiIpCisgICAgICAgICAgICByYWlzZSBTY3JpcHRF
cnJvcihtZXNzYWdlPSJXb3JraW5nIGRpcmVjdG9yeSBoYXMgbW9kaWZpY2F0aW9ucywgcGFzcyAt
LWZvcmNlLWNsZWFuIG9yIC0tbm8tY2xlYW4gdG8gY29udGludWUuIikKICAgICAgICAgCiAgICAg
ICAgIGxvZygiQ2xlYW5pbmcgd29ya2luZyBkaXJlY3RvcnkiKQogICAgICAgICBzZWxmLmNsZWFu
X3dvcmtpbmdfZGlyZWN0b3J5KCkKQEAgLTEzNCw3ICsxNTAsNyBAQCBjbGFzcyBTQ006CiAKICAg
ICAgICAgcmV0dXJuX2NvZGUgPSBwYXRjaF9hcHBseV9wcm9jZXNzLndhaXQoKQogICAgICAgICBp
ZiByZXR1cm5fY29kZToKLSAgICAgICAgICAgIHJhaXNlIFNjcmlwdEVycm9yKCJQYXRjaCAlcyBm
cm9tIGJ1ZyAlcyBmYWlsZWQgdG8gZG93bmxvYWQgYW5kIGFwcGx5LiIgJSAocGF0Y2hbJ3VybCdd
LCBwYXRjaFsnYnVnX2lkJ10pKQorICAgICAgICAgICAgcmFpc2UgU2NyaXB0RXJyb3IobWVzc2Fn
ZT0iUGF0Y2ggJXMgZnJvbSBidWcgJXMgZmFpbGVkIHRvIGRvd25sb2FkIGFuZCBhcHBseS4iICUg
KHBhdGNoWyd1cmwnXSwgcGF0Y2hbJ2J1Z19pZCddKSkKIAogICAgIGRlZiBydW5fc3RhdHVzX2Fu
ZF9leHRyYWN0X2ZpbGVuYW1lcyhzZWxmLCBzdGF0dXNfY29tbWFuZCwgc3RhdHVzX3JlZ2V4cCk6
CiAgICAgICAgIGZpbGVuYW1lcyA9IFtdCkBAIC0yNTYsMTAgKzI3MiwxMSBAQCBjbGFzcyBTVk4o
U0NNKToKIAogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiB2YWx1ZV9mcm9tX3N2bl9pbmZvKGNs
cywgcGF0aCwgZmllbGRfbmFtZSk6Ci0gICAgICAgIGluZm9fb3V0cHV0ID0gY2xzLnJ1bl9jb21t
YW5kKFsnc3ZuJywgJ2luZm8nLCBwYXRoXSkKKyAgICAgICAgc3ZuX2luZm9fYXJncyA9IFsnc3Zu
JywgJ2luZm8nLCBwYXRoXQorICAgICAgICBpbmZvX291dHB1dCA9IGNscy5ydW5fY29tbWFuZChz
dm5faW5mb19hcmdzKQogICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaCgiXiVzOiAoP1A8dmFsdWU+
LispJCIgJSBmaWVsZF9uYW1lLCBpbmZvX291dHB1dCwgcmUuTVVMVElMSU5FKQogICAgICAgICBp
ZiBub3QgbWF0Y2g6Ci0gICAgICAgICAgICByYWlzZSBTY3JpcHRFcnJvcignc3ZuIGluZm8gZGlk
IG5vdCBjb250YWluIGEgJXMuJyAlIGZpZWxkX25hbWUpCisgICAgICAgICAgICByYWlzZSBTY3Jp
cHRFcnJvcihhcmdzPXN2bl9pbmZvX2FyZ3MsIG1lc3NhZ2U9J3N2biBpbmZvIGRpZCBub3QgY29u
dGFpbiBhICVzLicgJSBmaWVsZF9uYW1lKQogICAgICAgICByZXR1cm4gbWF0Y2guZ3JvdXAoJ3Zh
bHVlJykKIAogICAgIEBzdGF0aWNtZXRob2QKQEAgLTQyNSw3ICs0NDIsNyBAQCBjbGFzcyBHaXQo
U0NNKToKICAgICAgICAgIyBBc3N1bWUgdGhlIHJldmlzaW9uIGlzIGFuIHN2biByZXZpc2lvbi4K
ICAgICAgICAgZ2l0X2NvbW1pdCA9IHNlbGYuZ2l0X2NvbW1pdF9mcm9tX3N2bl9yZXZpc2lvbihy
ZXZpc2lvbikKICAgICAgICAgaWYgbm90IGdpdF9jb21taXQ6Ci0gICAgICAgICAgICByYWlzZSBT
Y3JpcHRFcnJvcignRmFpbGVkIHRvIGZpbmQgZ2l0IGNvbW1pdCBmb3IgcmV2aXNpb24gJXMsIGdp
dCBzdm4gbG9nIG91dHB1dDogIiVzIicgJSAocmV2aXNpb24sIGdpdF9jb21taXQpKQorICAgICAg
ICAgICAgcmFpc2UgU2NyaXB0RXJyb3IobWVzc2FnZT0nRmFpbGVkIHRvIGZpbmQgZ2l0IGNvbW1p
dCBmb3IgcmV2aXNpb24gJXMsIGdpdCBzdm4gbG9nIG91dHB1dDogIiVzIicgJSAocmV2aXNpb24s
IGdpdF9jb21taXQpKQogCiAgICAgICAgICMgSSB0aGluayB0aGlzIHdpbGwgYWx3YXlzIGZhaWwg
ZHVlIHRvIENoYW5nZUxvZ3MuCiAgICAgICAgICMgRklYTUU6IFdlIG5lZWQgdG8gZGV0ZWMgc3Bl
Y2lmaWMgZmFpbHVyZSBjb25kaXRpb25zIGFuZCBoYW5kbGUgdGhlbS4KQEAgLTQ4MCw3ICs0OTcs
NyBAQCBjbGFzcyBHaXQoU0NNKToKICAgICAgICAgY29tbWl0X2lkcyA9IFtdCiAgICAgICAgIGZv
ciBjb21taXRpc2ggaW4gYXJnczoKICAgICAgICAgICAgIGlmICcuLi4nIGluIGNvbW1pdGlzaDoK
LSAgICAgICAgICAgICAgICByYWlzZSBTY3JpcHRFcnJvcigiJy4uLicgaXMgbm90IHN1cHBvcnRl
ZCAoZm91bmQgaW4gJyVzJykuIERpZCB5b3UgbWVhbiAnLi4nPyIgJSBjb21taXRpc2gpCisgICAg
ICAgICAgICAgICAgcmFpc2UgU2NyaXB0RXJyb3IobWVzc2FnZT0iJy4uLicgaXMgbm90IHN1cHBv
cnRlZCAoZm91bmQgaW4gJyVzJykuIERpZCB5b3UgbWVhbiAnLi4nPyIgJSBjb21taXRpc2gpCiAg
ICAgICAgICAgICBlbGlmICcuLicgaW4gY29tbWl0aXNoOgogICAgICAgICAgICAgICAgIGNvbW1p
dF9pZHMgKz0gcmV2ZXJzZWQoc2VsZi5ydW5fY29tbWFuZChbJ2dpdCcsICdyZXYtbGlzdCcsIGNv
bW1pdGlzaF0pLnNwbGl0bGluZXMoKSkKICAgICAgICAgICAgIGVsc2U6
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39667</attachid>
            <date>2009-09-16 17:04:42 -0700</date>
            <delta_ts>2009-09-16 17:42:59 -0700</delta_ts>
            <desc>Fix args to not conflict with Exception.args</desc>
            <filename>bug-29316-20090916170441.patch</filename>
            <type>text/plain</type>
            <size>10596</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA5OTZmYTJiLi42ZDEyZDExIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDktMDkt
MTYgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGNvbW1pdC1xdWV1ZSBzaG91bGQgZ2l2ZSBiZXR0
ZXIgZmVlZGJhY2sgd2hlbiBmYWlsaW5nIGEgcGF0Y2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MzE2CisKKyAgICAgICAgKiBTY3JpcHRzL2J1Z3pp
bGxhLXRvb2w6CisgICAgICAgICAtIFVwZGF0ZSBTY3JpcHRFcnJvciB1c2VzIHRvIHRoZSBuZXcg
Y29uc3RydWN0b3IgZm9ybWF0LgorICAgICAgICAgLSBNb3ZlIENvbW1pdFF1ZXVlLl9ydW5fY29t
bWFuZCB0byBXZWJLaXRMYW5kaW5nU2NyaXB0cy5ydW5fY29tbWFuZF93aXRoX3RlZWRfb3V0cHV0
CisgICAgICAgICAgIHNvIHRoYXQgd2UgY2FuIHByaW50IHRvIGJvdGggc3Rkb3V0IGFzIHdlbGwg
YXMgYW4gb3V0cHV0IGJ1ZmZlciBmb3IgZXJyb3IgcmVwb3J0aW5nLgorICAgICAgICAgLSBVcGRh
dGUgcnVuX2FuZF90aHJvd19pZl9mYWlsIHRvIHVzZSB0ZWVkIG91dHB1dCBzbyB0aGF0IGl0IGNh
biByZXBvcnQgdGhlICJvdXRwdXQiIGFzIHBhcnQgb2YgU2NyaXB0RXJyb3IuCisgICAgICAgICAt
IFVzZSBlLm1lc3NhZ2Vfd2l0aF9vdXRwdXQoKSB3aGVuIGZhaWxpbmcgYSBwYXRjaCAodGhpcyBp
cyB0aGUgcmVhbCBmaXggaGVyZSkuCisgICAgICAgICAgIEkgYWxzbyByZW1vdmVkIHVzZSBvZiAi
VGhpcyBwYXRjaCB3aWxsIHJlcXVpcmUgbWFudWFsIGNvbW1pdC4iIGFzIHRoYXQncyBub3QgYWx3
YXlzIHRydWUuCisgICAgICAgICAtIEFkZCBtaXNzaW5nIHdvcmQgImJ1ZyIgZnJvbSBsb2cgbWVz
c2FnZS4KKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMvc2NtLnB5OgorICAgICAgICAgLSBNYWtl
IFNjcmlwdEVycm9yIHNhdmUgYSBidW5jaCBtb3JlIGRhdGEgc28gdGhhdCBlcnJvciBtZXNzYWdl
cyBjYW4gYmUgbmljZXIuCisgICAgICAgICAtIFVwZGF0ZSBTY3JpcHRFcnJvciBjYWxsZXJzLgor
CiAyMDA5LTA5LTExICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvYnVnemlsbGEtdG9vbCBiL1dlYktpdFRvb2xzL1NjcmlwdHMvYnVnemlsbGEtdG9vbAppbmRl
eCAzYmNjNTQ5Li5hOGFiZTI2IDEwMDc1NQotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL2J1Z3pp
bGxhLXRvb2wKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWd6aWxsYS10b29sCkBAIC03MSw3
ICs3MSw3IEBAIGRlZiBwYXJzZV9idWdfaWQobWVzc2FnZSk6CiBkZWYgY29tbWl0X21lc3NhZ2Vf
Zm9yX3RoaXNfY29tbWl0KHNjbSk6CiAgICAgY2hhbmdlbG9nX3BhdGhzID0gc2NtLm1vZGlmaWVk
X2NoYW5nZWxvZ3MoKQogICAgIGlmIG5vdCBsZW4oY2hhbmdlbG9nX3BhdGhzKToKLSAgICAgICAg
cmFpc2UgU2NyaXB0RXJyb3IoIkZvdW5kIG5vIG1vZGlmaWVkIENoYW5nZUxvZ3MsIGNhbm5vdCBj
cmVhdGUgYSBjb21taXQgbWVzc2FnZS5cbiIKKyAgICAgICAgcmFpc2UgU2NyaXB0RXJyb3IobWVz
c2FnZT0iRm91bmQgbm8gbW9kaWZpZWQgQ2hhbmdlTG9ncywgY2Fubm90IGNyZWF0ZSBhIGNvbW1p
dCBtZXNzYWdlLlxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICAiQWxsIGNoYW5nZXMgcmVx
dWlyZSBhIENoYW5nZUxvZy4gIFNlZTpcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgImh0
dHA6Ly93ZWJraXQub3JnL2NvZGluZy9jb250cmlidXRpbmcuaHRtbCIpCiAKQEAgLTIwMiwxOCAr
MjAyLDMzIEBAIGNsYXNzIFdlYktpdExhbmRpbmdTY3JpcHRzOgogICAgICAgICBdCiAKICAgICBA
c3RhdGljbWV0aG9kCi0gICAgZGVmIHJ1bl9hbmRfdGhyb3dfaWZfZmFpbChhcmdzLCBxdWlldD1G
YWxzZSk6Ci0gICAgICAgICMgUGFzc2luZyBOb25lIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGlucHV0
L291dHB1dHMKLSAgICAgICAgY2hpbGRfb3V0cHV0ID0gb3Blbihvcy5kZXZudWxsLCAidyIpIGlm
IHF1aWV0IGVsc2UgTm9uZQorICAgIGRlZiBydW5fY29tbWFuZF93aXRoX3RlZWRfb3V0cHV0KGFy
Z3MsIHRlZWRfb3V0cHV0KToKKyAgICAgICAgY2hpbGRfcHJvY2VzcyA9IHN1YnByb2Nlc3MuUG9w
ZW4oYXJncywgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VU
KQogCi0gICAgICAgIGNoaWxkX3Byb2Nlc3MgPSBzdWJwcm9jZXNzLlBvcGVuKGFyZ3MsIHN0ZG91
dD1jaGlsZF9vdXRwdXQsIHN0ZGVycj1jaGlsZF9vdXRwdXQpCi0gICAgICAgIHJldHVybl9jb2Rl
ID0gY2hpbGRfcHJvY2Vzcy53YWl0KCkKKyAgICAgICAgIyBVc2Ugb3VyIG93biBjdXN0b20gd2Fp
dCBsb29wIGJlY2F1c2UgUG9wZW4gaWdub3JlcyBhIHRlZSdkIHN0ZGVyci9zdGRvdXQuCisgICAg
ICAgICMgRklYTUU6IFRoaXMgY291bGQgYmUgaW1wcm92ZWQgbm90IHRvIGZsYXR0ZW4gb3V0cHV0
IHRvIHN0ZG91dC4KKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIG91dHB1dF9saW5l
ID0gY2hpbGRfcHJvY2Vzcy5zdGRvdXQucmVhZGxpbmUoKQorICAgICAgICAgICAgaWYgb3V0cHV0
X2xpbmUgPT0gJycgYW5kIGNoaWxkX3Byb2Nlc3MucG9sbCgpICE9IE5vbmU6CisgICAgICAgICAg
ICAgICAgcmV0dXJuIGNoaWxkX3Byb2Nlc3MucG9sbCgpCisgICAgICAgICAgICB0ZWVkX291dHB1
dC53cml0ZShvdXRwdXRfbGluZSkKKworICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgcnVuX2Fu
ZF90aHJvd19pZl9mYWlsKGFyZ3MsIHF1aWV0PUZhbHNlKToKKyAgICAgICAgIyBDYWNoZSB0aGUg
Y2hpbGQncyBvdXRwdXQgbG9jYWxseSBzbyBpdCBjYW4gYmUgdXNlZCBmb3IgZXJyb3IgcmVwb3J0
cy4KKyAgICAgICAgY2hpbGRfb3V0X2ZpbGUgPSBTdHJpbmdJTy5TdHJpbmdJTygpCisgICAgICAg
IGlmIHF1aWV0OgorICAgICAgICAgICAgZGV2X251bGwgPSBvcGVuKG9zLmRldm51bGwsICJ3IikK
KyAgICAgICAgY2hpbGRfc3Rkb3V0ID0gdGVlKGNoaWxkX291dF9maWxlLCBkZXZfbnVsbCBpZiBx
dWlldCBlbHNlIHN5cy5zdGRvdXQpCisgICAgICAgIGV4aXRfY29kZSA9IFdlYktpdExhbmRpbmdT
Y3JpcHRzLnJ1bl9jb21tYW5kX3dpdGhfdGVlZF9vdXRwdXQoYXJncywgY2hpbGRfb3V0X2ZpbGUp
CisgICAgICAgIGlmIHF1aWV0OgorICAgICAgICAgICAgZGV2X251bGwuY2xvc2UoKQogCi0gICAg
ICAgIGlmIGNoaWxkX291dHB1dDoKLSAgICAgICAgICAgIGNoaWxkX291dHB1dC5jbG9zZSgpCisg
ICAgICAgIGNoaWxkX291dHB1dCA9IGNoaWxkX291dF9maWxlLmdldHZhbHVlKCkKKyAgICAgICAg
Y2hpbGRfb3V0X2ZpbGUuY2xvc2UoKQogCi0gICAgICAgIGlmIHJldHVybl9jb2RlOgotICAgICAg
ICAgICAgcmFpc2UgU2NyaXB0RXJyb3IoIiVzIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAlZCIgJSAo
YXJncywgcmV0dXJuX2NvZGUpKQorICAgICAgICBpZiBleGl0X2NvZGU6CisgICAgICAgICAgICBy
YWlzZSBTY3JpcHRFcnJvcihhcmdzPWFyZ3MsIGV4aXRfY29kZT1leGl0X2NvZGUsIG91dHB1dD1j
aGlsZF9vdXRwdXQpCiAKICAgICAjIFdlIG1pZ2h0IG5lZWQgdG8gcGFzcyBzY20gaW50byB0aGlz
IGZ1bmN0aW9uIGZvciBzY20uY2hlY2tvdXRfcm9vdAogICAgIEBzdGF0aWNtZXRob2QKQEAgLTM0
Myw3ICszNTgsNyBAQCBjbGFzcyBMYW5kUGF0Y2hlc0Zyb21CdWdzKENvbW1hbmQpOgogICAgICAg
ICAgICAgICAgIHRvb2wuYnVncy5jbG9zZV9idWdfYXNfZml4ZWQoYnVnX2lkLCAiQWxsIHJldmll
d2VkIHBhdGNoZXMgaGF2ZSBiZWVuIGxhbmRlZC4gIENsb3NpbmcgYnVnLiIpCiAgICAgICAgIGV4
Y2VwdCBTY3JpcHRFcnJvciwgZToKICAgICAgICAgICAgICMgTWFyayB0aGUgcGF0Y2ggYXMgY29t
bWl0LXF1ZXVlLSBhbmQgY29tbWVudCBpbiB0aGUgYnVnLgotICAgICAgICAgICAgdG9vbC5idWdz
LnJlamVjdF9wYXRjaF9mcm9tX2NvbW1pdF9xdWV1ZShwYXRjaFsnaWQnXSwgIlRoaXMgcGF0Y2gg
d2lsbCByZXF1aXJlIG1hbnVhbCBjb21taXQuICVzIiAlIGUpCisgICAgICAgICAgICB0b29sLmJ1
Z3MucmVqZWN0X3BhdGNoX2Zyb21fY29tbWl0X3F1ZXVlKHBhdGNoWydpZCddLCBlLm1lc3NhZ2Vf
d2l0aF9vdXRwdXQoKSkKICAgICAgICAgICAgIGVycm9yKGUpCiAKICAgICBAc3RhdGljbWV0aG9k
CkBAIC0zNTgsNyArMzczLDcgQEAgY2xhc3MgTGFuZFBhdGNoZXNGcm9tQnVncyhDb21tYW5kKToK
ICAgICAgICAgICAgICAgICBwYXRjaGVzID0gdG9vbC5idWdzLmZldGNoX3Jldmlld2VkX3BhdGNo
ZXNfZnJvbV9idWcoYnVnX2lkKQogCiAgICAgICAgICAgICBwYXRjaGVzX2ZvdW5kID0gbGVuKHBh
dGNoZXMpCi0gICAgICAgICAgICBsb2coIiVzIGZvdW5kIG9uICVzLiIgJSAocGx1cmFsaXplKCJy
ZXZpZXdlZCBwYXRjaCIsIHBhdGNoZXNfZm91bmQpLCBidWdfaWQpKQorICAgICAgICAgICAgbG9n
KCIlcyBmb3VuZCBvbiBidWcgJXMuIiAlIChwbHVyYWxpemUoInJldmlld2VkIHBhdGNoIiwgcGF0
Y2hlc19mb3VuZCksIGJ1Z19pZCkpCiAKICAgICAgICAgICAgIHBhdGNoX2NvdW50ICs9IHBhdGNo
ZXNfZm91bmQKICAgICAgICAgICAgIGlmIHBhdGNoZXNfZm91bmQ6CkBAIC03MzcsMTYgKzc1Miw2
IEBAIGNsYXNzIExhbmRQYXRjaGVzRnJvbUNvbW1pdFF1ZXVlKENvbW1hbmQpOgogICAgICAgICBz
ZWxmLl90ZWVfb3V0cHV0c190b19maWxlcyhzZWxmLl9maWxlc19mb3Jfb3V0cHV0KQogICAgICAg
ICBsb2dfZmlsZS5jbG9zZSgpCiAKLSAgICBkZWYgX3J1bl9jb21tYW5kKHNlbGYsIGFyZ3MpOgot
ICAgICAgICBjaGlsZF9wcm9jZXNzID0gc3VicHJvY2Vzcy5Qb3BlbihhcmdzLCBzdGRvdXQ9c3Vi
cHJvY2Vzcy5QSVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQpCi0KLSAgICAgICAgIyBVc2Ug
b3VyIG93biBjdXN0b20gd2FpdCBsb29wIGJlY2F1c2UgUG9wZW4gaWdub3JlcyBvdXIgdGVlJ2Qg
c3RkZXJyL3N0ZG91dAotICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgb3V0cHV0X2xp
bmUgPSBjaGlsZF9wcm9jZXNzLnN0ZG91dC5yZWFkbGluZSgpCi0gICAgICAgICAgICBpZiBvdXRw
dXRfbGluZSA9PSAnJyBhbmQgY2hpbGRfcHJvY2Vzcy5wb2xsKCkgIT0gTm9uZToKLSAgICAgICAg
ICAgICAgICByZXR1cm4gY2hpbGRfcHJvY2Vzcy5wb2xsKCkKLSAgICAgICAgICAgIHN5cy5zdGRv
dXQud3JpdGUob3V0cHV0X2xpbmUpCi0KICAgICBkZWYgZXhlY3V0ZShzZWxmLCBvcHRpb25zLCBh
cmdzLCB0b29sKToKICAgICAgICAgbG9nKCJDQVVUSU9OOiBjb21taXQtcXVldWUgd2lsbCBkaXNj
YXJkIGFsbCBsb2NhbCBjaGFuZ2VzIGluICVzIiAlIHRvb2wuc2NtKCkuY2hlY2tvdXRfcm9vdCkK
ICAgICAgICAgaWYgb3B0aW9ucy5jb25maXJtOgpAQCAtNzgxLDcgKzc4Niw4IEBAIGNsYXNzIExh
bmRQYXRjaGVzRnJvbUNvbW1pdFF1ZXVlKENvbW1hbmQpOgogICAgICAgICAgICAgYnVnX2xvZ19w
YXRoID0gb3MucGF0aC5qb2luKHNlbGYuYnVnX2xvZ3NfZGlyZWN0b3J5LCAiJXMubG9nIiAlIGZp
cnN0X2J1Z19pZCkKICAgICAgICAgICAgIGJ1Z19sb2cgPSBzZWxmLl9hZGRfbG9nX3RvX291dHB1
dF90ZWUoYnVnX2xvZ19wYXRoKQogICAgICAgICAgICAgYnVnemlsbGFfdG9vbF9wYXRoID0gX19m
aWxlX18gIyByZS1leGVjdXRlIHRoaXMgc2NyaXB0Ci0gICAgICAgICAgICBzZWxmLl9ydW5fY29t
bWFuZChbYnVnemlsbGFfdG9vbF9wYXRoLCAnbGFuZC1wYXRjaGVzJywgJy0tZm9yY2UtY2xlYW4n
LCAnLS1jb21taXQtcXVldWUnLCAnLS1xdWlldCcsIGZpcnN0X2J1Z19pZF0pCisgICAgICAgICAg
ICBidWd6aWxsYV90b29sX2FyZ3MgPSBbYnVnemlsbGFfdG9vbF9wYXRoLCAnbGFuZC1wYXRjaGVz
JywgJy0tZm9yY2UtY2xlYW4nLCAnLS1jb21taXQtcXVldWUnLCAnLS1xdWlldCcsIGZpcnN0X2J1
Z19pZF0KKyAgICAgICAgICAgIFdlYktpdExhbmRpbmdTY3JpcHRzLnJ1bl9jb21tYW5kX3dpdGhf
dGVlZF9vdXRwdXQoYnVnemlsbGFfdG9vbF9hcmdzLCBzeXMuc3Rkb3V0KQogICAgICAgICAgICAg
c2VsZi5fcmVtb3ZlX2xvZ19mcm9tX291dHB1dF90ZWUoYnVnX2xvZykKIAogICAgICAgICBsb2co
IkZpbmlzaGVkIFdlYktpdCBDb21taXQgUXVldWUuICVzIiAlIGRhdGV0aW1lLm5vdygpKQpkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL3NjbS5weSBiL1dlYktpdFRvb2xz
L1NjcmlwdHMvbW9kdWxlcy9zY20ucHkKaW5kZXggNTZjMTYwMy4uZmJjYzg1ZCAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL3NjbS5weQorKysgYi9XZWJLaXRUb29scy9T
Y3JpcHRzL21vZHVsZXMvc2NtLnB5CkBAIC03OCw4ICs3OCwyNCBAQCBjbGFzcyBDb21taXRNZXNz
YWdlOgogCiAKIGNsYXNzIFNjcmlwdEVycm9yKEV4Y2VwdGlvbik6Ci0gICAgcGFzcworICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBzY3JpcHRfYXJncz1Ob25lLCBleGl0X2NvZGU9Tm9uZSwgbWVzc2Fn
ZT1Ob25lLCBvdXRwdXQ9Tm9uZSwgY3dkPU5vbmUpOgorICAgICAgICBpZiBub3QgbWVzc2FnZToK
KyAgICAgICAgICAgIG1lc3NhZ2UgPSAnRmFpbGVkIHRvIHJ1biAiJXMiJyAlIHNjcmlwdF9hcmdz
CisgICAgICAgICAgICBpZiBleGl0X2NvZGU6CisgICAgICAgICAgICAgICAgbWVzc2FnZSArPSAi
IGV4aXRfY29kZTogJWQiICUgZXhpdF9jb2RlCisgICAgICAgICAgICBpZiBjd2Q6CisgICAgICAg
ICAgICAgICAgbWVzc2FnZSArPSAiIGN3ZDogJXMiICUgY3dkCisKKyAgICAgICAgRXhjZXB0aW9u
Ll9faW5pdF9fKHNlbGYsIG1lc3NhZ2UpCisgICAgICAgIHNlbGYuc2NyaXB0X2FyZ3MgPSBzY3Jp
cHRfYXJncyAjICdhcmdzJyBpcyBhbHJlYWR5IHVzZWQgYnkgRXhjZXB0aW9uCisgICAgICAgIHNl
bGYuZXhpdF9jb2RlID0gZXhpdF9jb2RlCisgICAgICAgIHNlbGYub3V0cHV0ID0gb3V0cHV0Cisg
ICAgICAgIHNlbGYuY3dkID0gY3dkCiAKKyAgICBkZWYgbWVzc2FnZV93aXRoX291dHB1dChzZWxm
KToKKyAgICAgICAgaWYgc2VsZi5vdXRwdXQ6CisgICAgICAgICAgICByZXR1cm4gIiVzXG4lcyIg
JSAoc2VsZiwgc2VsZi5vdXRwdXQpCisgICAgICAgIHJldHVybiBzdHIoc2VsZikKIAogY2xhc3Mg
U0NNOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjd2QsIGRyeXJ1bj1GYWxzZSk6CkBAIC05NCw3
ICsxMTAsNyBAQCBjbGFzcyBTQ006CiAgICAgICAgIG91dHB1dCA9IHByb2Nlc3MuY29tbXVuaWNh
dGUoaW5wdXQpWzBdLnJzdHJpcCgpCiAgICAgICAgIGV4aXRfY29kZSA9IHByb2Nlc3Mud2FpdCgp
CiAgICAgICAgIGlmIHJhaXNlX29uX2ZhaWx1cmUgYW5kIGV4aXRfY29kZToKLSAgICAgICAgICAg
IHJhaXNlIFNjcmlwdEVycm9yKCdGYWlsZWQgdG8gcnVuICIlcyIgIGV4aXRfY29kZTogJWQgIGN3
ZDogJXMnICUgKGFyZ3MsIGV4aXRfY29kZSwgY3dkKSkKKyAgICAgICAgICAgIHJhaXNlIFNjcmlw
dEVycm9yKGFyZ3M9YXJncywgZXhpdF9jb2RlPWV4aXRfY29kZSwgb3V0cHV0PW91dHB1dCwgY3dk
PWN3ZCkKICAgICAgICAgaWYgcmV0dXJuX2V4aXRfY29kZToKICAgICAgICAgICAgIHJldHVybiBl
eGl0X2NvZGUKICAgICAgICAgcmV0dXJuIG91dHB1dApAQCAtMTA4LDcgKzEyNCw3IEBAIGNsYXNz
IFNDTToKICAgICBkZWYgZW5zdXJlX2NsZWFuX3dvcmtpbmdfZGlyZWN0b3J5KHNlbGYsIGZvcmNl
KToKICAgICAgICAgaWYgbm90IGZvcmNlIGFuZCBub3Qgc2VsZi53b3JraW5nX2RpcmVjdG9yeV9p
c19jbGVhbigpOgogICAgICAgICAgICAgcHJpbnQgc2VsZi5ydW5fY29tbWFuZChzZWxmLnN0YXR1
c19jb21tYW5kKCksIHJhaXNlX29uX2ZhaWx1cmU9RmFsc2UpCi0gICAgICAgICAgICByYWlzZSBT
Y3JpcHRFcnJvcigiV29ya2luZyBkaXJlY3RvcnkgaGFzIG1vZGlmaWNhdGlvbnMsIHBhc3MgLS1m
b3JjZS1jbGVhbiBvciAtLW5vLWNsZWFuIHRvIGNvbnRpbnVlLiIpCisgICAgICAgICAgICByYWlz
ZSBTY3JpcHRFcnJvcihtZXNzYWdlPSJXb3JraW5nIGRpcmVjdG9yeSBoYXMgbW9kaWZpY2F0aW9u
cywgcGFzcyAtLWZvcmNlLWNsZWFuIG9yIC0tbm8tY2xlYW4gdG8gY29udGludWUuIikKICAgICAg
ICAgCiAgICAgICAgIGxvZygiQ2xlYW5pbmcgd29ya2luZyBkaXJlY3RvcnkiKQogICAgICAgICBz
ZWxmLmNsZWFuX3dvcmtpbmdfZGlyZWN0b3J5KCkKQEAgLTEzNCw3ICsxNTAsNyBAQCBjbGFzcyBT
Q006CiAKICAgICAgICAgcmV0dXJuX2NvZGUgPSBwYXRjaF9hcHBseV9wcm9jZXNzLndhaXQoKQog
ICAgICAgICBpZiByZXR1cm5fY29kZToKLSAgICAgICAgICAgIHJhaXNlIFNjcmlwdEVycm9yKCJQ
YXRjaCAlcyBmcm9tIGJ1ZyAlcyBmYWlsZWQgdG8gZG93bmxvYWQgYW5kIGFwcGx5LiIgJSAocGF0
Y2hbJ3VybCddLCBwYXRjaFsnYnVnX2lkJ10pKQorICAgICAgICAgICAgcmFpc2UgU2NyaXB0RXJy
b3IobWVzc2FnZT0iUGF0Y2ggJXMgZnJvbSBidWcgJXMgZmFpbGVkIHRvIGRvd25sb2FkIGFuZCBh
cHBseS4iICUgKHBhdGNoWyd1cmwnXSwgcGF0Y2hbJ2J1Z19pZCddKSkKIAogICAgIGRlZiBydW5f
c3RhdHVzX2FuZF9leHRyYWN0X2ZpbGVuYW1lcyhzZWxmLCBzdGF0dXNfY29tbWFuZCwgc3RhdHVz
X3JlZ2V4cCk6CiAgICAgICAgIGZpbGVuYW1lcyA9IFtdCkBAIC0yNTYsMTAgKzI3MiwxMSBAQCBj
bGFzcyBTVk4oU0NNKToKIAogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiB2YWx1ZV9mcm9tX3N2
bl9pbmZvKGNscywgcGF0aCwgZmllbGRfbmFtZSk6Ci0gICAgICAgIGluZm9fb3V0cHV0ID0gY2xz
LnJ1bl9jb21tYW5kKFsnc3ZuJywgJ2luZm8nLCBwYXRoXSkKKyAgICAgICAgc3ZuX2luZm9fYXJn
cyA9IFsnc3ZuJywgJ2luZm8nLCBwYXRoXQorICAgICAgICBpbmZvX291dHB1dCA9IGNscy5ydW5f
Y29tbWFuZChzdm5faW5mb19hcmdzKQogICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaCgiXiVzOiAo
P1A8dmFsdWU+LispJCIgJSBmaWVsZF9uYW1lLCBpbmZvX291dHB1dCwgcmUuTVVMVElMSU5FKQog
ICAgICAgICBpZiBub3QgbWF0Y2g6Ci0gICAgICAgICAgICByYWlzZSBTY3JpcHRFcnJvcignc3Zu
IGluZm8gZGlkIG5vdCBjb250YWluIGEgJXMuJyAlIGZpZWxkX25hbWUpCisgICAgICAgICAgICBy
YWlzZSBTY3JpcHRFcnJvcihhcmdzPXN2bl9pbmZvX2FyZ3MsIG1lc3NhZ2U9J3N2biBpbmZvIGRp
ZCBub3QgY29udGFpbiBhICVzLicgJSBmaWVsZF9uYW1lKQogICAgICAgICByZXR1cm4gbWF0Y2gu
Z3JvdXAoJ3ZhbHVlJykKIAogICAgIEBzdGF0aWNtZXRob2QKQEAgLTQyNSw3ICs0NDIsNyBAQCBj
bGFzcyBHaXQoU0NNKToKICAgICAgICAgIyBBc3N1bWUgdGhlIHJldmlzaW9uIGlzIGFuIHN2biBy
ZXZpc2lvbi4KICAgICAgICAgZ2l0X2NvbW1pdCA9IHNlbGYuZ2l0X2NvbW1pdF9mcm9tX3N2bl9y
ZXZpc2lvbihyZXZpc2lvbikKICAgICAgICAgaWYgbm90IGdpdF9jb21taXQ6Ci0gICAgICAgICAg
ICByYWlzZSBTY3JpcHRFcnJvcignRmFpbGVkIHRvIGZpbmQgZ2l0IGNvbW1pdCBmb3IgcmV2aXNp
b24gJXMsIGdpdCBzdm4gbG9nIG91dHB1dDogIiVzIicgJSAocmV2aXNpb24sIGdpdF9jb21taXQp
KQorICAgICAgICAgICAgcmFpc2UgU2NyaXB0RXJyb3IobWVzc2FnZT0nRmFpbGVkIHRvIGZpbmQg
Z2l0IGNvbW1pdCBmb3IgcmV2aXNpb24gJXMsIGdpdCBzdm4gbG9nIG91dHB1dDogIiVzIicgJSAo
cmV2aXNpb24sIGdpdF9jb21taXQpKQogCiAgICAgICAgICMgSSB0aGluayB0aGlzIHdpbGwgYWx3
YXlzIGZhaWwgZHVlIHRvIENoYW5nZUxvZ3MuCiAgICAgICAgICMgRklYTUU6IFdlIG5lZWQgdG8g
ZGV0ZWMgc3BlY2lmaWMgZmFpbHVyZSBjb25kaXRpb25zIGFuZCBoYW5kbGUgdGhlbS4KQEAgLTQ4
MCw3ICs0OTcsNyBAQCBjbGFzcyBHaXQoU0NNKToKICAgICAgICAgY29tbWl0X2lkcyA9IFtdCiAg
ICAgICAgIGZvciBjb21taXRpc2ggaW4gYXJnczoKICAgICAgICAgICAgIGlmICcuLi4nIGluIGNv
bW1pdGlzaDoKLSAgICAgICAgICAgICAgICByYWlzZSBTY3JpcHRFcnJvcigiJy4uLicgaXMgbm90
IHN1cHBvcnRlZCAoZm91bmQgaW4gJyVzJykuIERpZCB5b3UgbWVhbiAnLi4nPyIgJSBjb21taXRp
c2gpCisgICAgICAgICAgICAgICAgcmFpc2UgU2NyaXB0RXJyb3IobWVzc2FnZT0iJy4uLicgaXMg
bm90IHN1cHBvcnRlZCAoZm91bmQgaW4gJyVzJykuIERpZCB5b3UgbWVhbiAnLi4nPyIgJSBjb21t
aXRpc2gpCiAgICAgICAgICAgICBlbGlmICcuLicgaW4gY29tbWl0aXNoOgogICAgICAgICAgICAg
ICAgIGNvbW1pdF9pZHMgKz0gcmV2ZXJzZWQoc2VsZi5ydW5fY29tbWFuZChbJ2dpdCcsICdyZXYt
bGlzdCcsIGNvbW1pdGlzaF0pLnNwbGl0bGluZXMoKSkKICAgICAgICAgICAgIGVsc2U6
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39673</attachid>
            <date>2009-09-16 17:43:05 -0700</date>
            <delta_ts>2009-09-24 14:52:26 -0700</delta_ts>
            <desc>Fix args to not conflict with Exception.args</desc>
            <filename>bug-29316-20090916174302.patch</filename>
            <type>text/plain</type>
            <size>10617</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA5OTZmYTJiLi42ZDEyZDExIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDktMDkt
MTYgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGNvbW1pdC1xdWV1ZSBzaG91bGQgZ2l2ZSBiZXR0
ZXIgZmVlZGJhY2sgd2hlbiBmYWlsaW5nIGEgcGF0Y2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MzE2CisKKyAgICAgICAgKiBTY3JpcHRzL2J1Z3pp
bGxhLXRvb2w6CisgICAgICAgICAtIFVwZGF0ZSBTY3JpcHRFcnJvciB1c2VzIHRvIHRoZSBuZXcg
Y29uc3RydWN0b3IgZm9ybWF0LgorICAgICAgICAgLSBNb3ZlIENvbW1pdFF1ZXVlLl9ydW5fY29t
bWFuZCB0byBXZWJLaXRMYW5kaW5nU2NyaXB0cy5ydW5fY29tbWFuZF93aXRoX3RlZWRfb3V0cHV0
CisgICAgICAgICAgIHNvIHRoYXQgd2UgY2FuIHByaW50IHRvIGJvdGggc3Rkb3V0IGFzIHdlbGwg
YXMgYW4gb3V0cHV0IGJ1ZmZlciBmb3IgZXJyb3IgcmVwb3J0aW5nLgorICAgICAgICAgLSBVcGRh
dGUgcnVuX2FuZF90aHJvd19pZl9mYWlsIHRvIHVzZSB0ZWVkIG91dHB1dCBzbyB0aGF0IGl0IGNh
biByZXBvcnQgdGhlICJvdXRwdXQiIGFzIHBhcnQgb2YgU2NyaXB0RXJyb3IuCisgICAgICAgICAt
IFVzZSBlLm1lc3NhZ2Vfd2l0aF9vdXRwdXQoKSB3aGVuIGZhaWxpbmcgYSBwYXRjaCAodGhpcyBp
cyB0aGUgcmVhbCBmaXggaGVyZSkuCisgICAgICAgICAgIEkgYWxzbyByZW1vdmVkIHVzZSBvZiAi
VGhpcyBwYXRjaCB3aWxsIHJlcXVpcmUgbWFudWFsIGNvbW1pdC4iIGFzIHRoYXQncyBub3QgYWx3
YXlzIHRydWUuCisgICAgICAgICAtIEFkZCBtaXNzaW5nIHdvcmQgImJ1ZyIgZnJvbSBsb2cgbWVz
c2FnZS4KKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMvc2NtLnB5OgorICAgICAgICAgLSBNYWtl
IFNjcmlwdEVycm9yIHNhdmUgYSBidW5jaCBtb3JlIGRhdGEgc28gdGhhdCBlcnJvciBtZXNzYWdl
cyBjYW4gYmUgbmljZXIuCisgICAgICAgICAtIFVwZGF0ZSBTY3JpcHRFcnJvciBjYWxsZXJzLgor
CiAyMDA5LTA5LTExICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvYnVnemlsbGEtdG9vbCBiL1dlYktpdFRvb2xzL1NjcmlwdHMvYnVnemlsbGEtdG9vbAppbmRl
eCAzYmNjNTQ5Li45MjZmNjMzIDEwMDc1NQotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL2J1Z3pp
bGxhLXRvb2wKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWd6aWxsYS10b29sCkBAIC03MSw3
ICs3MSw3IEBAIGRlZiBwYXJzZV9idWdfaWQobWVzc2FnZSk6CiBkZWYgY29tbWl0X21lc3NhZ2Vf
Zm9yX3RoaXNfY29tbWl0KHNjbSk6CiAgICAgY2hhbmdlbG9nX3BhdGhzID0gc2NtLm1vZGlmaWVk
X2NoYW5nZWxvZ3MoKQogICAgIGlmIG5vdCBsZW4oY2hhbmdlbG9nX3BhdGhzKToKLSAgICAgICAg
cmFpc2UgU2NyaXB0RXJyb3IoIkZvdW5kIG5vIG1vZGlmaWVkIENoYW5nZUxvZ3MsIGNhbm5vdCBj
cmVhdGUgYSBjb21taXQgbWVzc2FnZS5cbiIKKyAgICAgICAgcmFpc2UgU2NyaXB0RXJyb3IobWVz
c2FnZT0iRm91bmQgbm8gbW9kaWZpZWQgQ2hhbmdlTG9ncywgY2Fubm90IGNyZWF0ZSBhIGNvbW1p
dCBtZXNzYWdlLlxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICAiQWxsIGNoYW5nZXMgcmVx
dWlyZSBhIENoYW5nZUxvZy4gIFNlZTpcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgImh0
dHA6Ly93ZWJraXQub3JnL2NvZGluZy9jb250cmlidXRpbmcuaHRtbCIpCiAKQEAgLTIwMiwxOCAr
MjAyLDMzIEBAIGNsYXNzIFdlYktpdExhbmRpbmdTY3JpcHRzOgogICAgICAgICBdCiAKICAgICBA
c3RhdGljbWV0aG9kCi0gICAgZGVmIHJ1bl9hbmRfdGhyb3dfaWZfZmFpbChhcmdzLCBxdWlldD1G
YWxzZSk6Ci0gICAgICAgICMgUGFzc2luZyBOb25lIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGlucHV0
L291dHB1dHMKLSAgICAgICAgY2hpbGRfb3V0cHV0ID0gb3Blbihvcy5kZXZudWxsLCAidyIpIGlm
IHF1aWV0IGVsc2UgTm9uZQorICAgIGRlZiBydW5fY29tbWFuZF93aXRoX3RlZWRfb3V0cHV0KGFy
Z3MsIHRlZWRfb3V0cHV0KToKKyAgICAgICAgY2hpbGRfcHJvY2VzcyA9IHN1YnByb2Nlc3MuUG9w
ZW4oYXJncywgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VU
KQogCi0gICAgICAgIGNoaWxkX3Byb2Nlc3MgPSBzdWJwcm9jZXNzLlBvcGVuKGFyZ3MsIHN0ZG91
dD1jaGlsZF9vdXRwdXQsIHN0ZGVycj1jaGlsZF9vdXRwdXQpCi0gICAgICAgIHJldHVybl9jb2Rl
ID0gY2hpbGRfcHJvY2Vzcy53YWl0KCkKKyAgICAgICAgIyBVc2Ugb3VyIG93biBjdXN0b20gd2Fp
dCBsb29wIGJlY2F1c2UgUG9wZW4gaWdub3JlcyBhIHRlZSdkIHN0ZGVyci9zdGRvdXQuCisgICAg
ICAgICMgRklYTUU6IFRoaXMgY291bGQgYmUgaW1wcm92ZWQgbm90IHRvIGZsYXR0ZW4gb3V0cHV0
IHRvIHN0ZG91dC4KKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIG91dHB1dF9saW5l
ID0gY2hpbGRfcHJvY2Vzcy5zdGRvdXQucmVhZGxpbmUoKQorICAgICAgICAgICAgaWYgb3V0cHV0
X2xpbmUgPT0gJycgYW5kIGNoaWxkX3Byb2Nlc3MucG9sbCgpICE9IE5vbmU6CisgICAgICAgICAg
ICAgICAgcmV0dXJuIGNoaWxkX3Byb2Nlc3MucG9sbCgpCisgICAgICAgICAgICB0ZWVkX291dHB1
dC53cml0ZShvdXRwdXRfbGluZSkKKworICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgcnVuX2Fu
ZF90aHJvd19pZl9mYWlsKGFyZ3MsIHF1aWV0PUZhbHNlKToKKyAgICAgICAgIyBDYWNoZSB0aGUg
Y2hpbGQncyBvdXRwdXQgbG9jYWxseSBzbyBpdCBjYW4gYmUgdXNlZCBmb3IgZXJyb3IgcmVwb3J0
cy4KKyAgICAgICAgY2hpbGRfb3V0X2ZpbGUgPSBTdHJpbmdJTy5TdHJpbmdJTygpCisgICAgICAg
IGlmIHF1aWV0OgorICAgICAgICAgICAgZGV2X251bGwgPSBvcGVuKG9zLmRldm51bGwsICJ3IikK
KyAgICAgICAgY2hpbGRfc3Rkb3V0ID0gdGVlKGNoaWxkX291dF9maWxlLCBkZXZfbnVsbCBpZiBx
dWlldCBlbHNlIHN5cy5zdGRvdXQpCisgICAgICAgIGV4aXRfY29kZSA9IFdlYktpdExhbmRpbmdT
Y3JpcHRzLnJ1bl9jb21tYW5kX3dpdGhfdGVlZF9vdXRwdXQoYXJncywgY2hpbGRfb3V0X2ZpbGUp
CisgICAgICAgIGlmIHF1aWV0OgorICAgICAgICAgICAgZGV2X251bGwuY2xvc2UoKQogCi0gICAg
ICAgIGlmIGNoaWxkX291dHB1dDoKLSAgICAgICAgICAgIGNoaWxkX291dHB1dC5jbG9zZSgpCisg
ICAgICAgIGNoaWxkX291dHB1dCA9IGNoaWxkX291dF9maWxlLmdldHZhbHVlKCkKKyAgICAgICAg
Y2hpbGRfb3V0X2ZpbGUuY2xvc2UoKQogCi0gICAgICAgIGlmIHJldHVybl9jb2RlOgotICAgICAg
ICAgICAgcmFpc2UgU2NyaXB0RXJyb3IoIiVzIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAlZCIgJSAo
YXJncywgcmV0dXJuX2NvZGUpKQorICAgICAgICBpZiBleGl0X2NvZGU6CisgICAgICAgICAgICBy
YWlzZSBTY3JpcHRFcnJvcihzY3JpcHRfYXJncz1hcmdzLCBleGl0X2NvZGU9ZXhpdF9jb2RlLCBv
dXRwdXQ9Y2hpbGRfb3V0cHV0KQogCiAgICAgIyBXZSBtaWdodCBuZWVkIHRvIHBhc3Mgc2NtIGlu
dG8gdGhpcyBmdW5jdGlvbiBmb3Igc2NtLmNoZWNrb3V0X3Jvb3QKICAgICBAc3RhdGljbWV0aG9k
CkBAIC0zNDMsNyArMzU4LDcgQEAgY2xhc3MgTGFuZFBhdGNoZXNGcm9tQnVncyhDb21tYW5kKToK
ICAgICAgICAgICAgICAgICB0b29sLmJ1Z3MuY2xvc2VfYnVnX2FzX2ZpeGVkKGJ1Z19pZCwgIkFs
bCByZXZpZXdlZCBwYXRjaGVzIGhhdmUgYmVlbiBsYW5kZWQuICBDbG9zaW5nIGJ1Zy4iKQogICAg
ICAgICBleGNlcHQgU2NyaXB0RXJyb3IsIGU6CiAgICAgICAgICAgICAjIE1hcmsgdGhlIHBhdGNo
IGFzIGNvbW1pdC1xdWV1ZS0gYW5kIGNvbW1lbnQgaW4gdGhlIGJ1Zy4KLSAgICAgICAgICAgIHRv
b2wuYnVncy5yZWplY3RfcGF0Y2hfZnJvbV9jb21taXRfcXVldWUocGF0Y2hbJ2lkJ10sICJUaGlz
IHBhdGNoIHdpbGwgcmVxdWlyZSBtYW51YWwgY29tbWl0LiAlcyIgJSBlKQorICAgICAgICAgICAg
dG9vbC5idWdzLnJlamVjdF9wYXRjaF9mcm9tX2NvbW1pdF9xdWV1ZShwYXRjaFsnaWQnXSwgZS5t
ZXNzYWdlX3dpdGhfb3V0cHV0KCkpCiAgICAgICAgICAgICBlcnJvcihlKQogCiAgICAgQHN0YXRp
Y21ldGhvZApAQCAtMzU4LDcgKzM3Myw3IEBAIGNsYXNzIExhbmRQYXRjaGVzRnJvbUJ1Z3MoQ29t
bWFuZCk6CiAgICAgICAgICAgICAgICAgcGF0Y2hlcyA9IHRvb2wuYnVncy5mZXRjaF9yZXZpZXdl
ZF9wYXRjaGVzX2Zyb21fYnVnKGJ1Z19pZCkKIAogICAgICAgICAgICAgcGF0Y2hlc19mb3VuZCA9
IGxlbihwYXRjaGVzKQotICAgICAgICAgICAgbG9nKCIlcyBmb3VuZCBvbiAlcy4iICUgKHBsdXJh
bGl6ZSgicmV2aWV3ZWQgcGF0Y2giLCBwYXRjaGVzX2ZvdW5kKSwgYnVnX2lkKSkKKyAgICAgICAg
ICAgIGxvZygiJXMgZm91bmQgb24gYnVnICVzLiIgJSAocGx1cmFsaXplKCJyZXZpZXdlZCBwYXRj
aCIsIHBhdGNoZXNfZm91bmQpLCBidWdfaWQpKQogCiAgICAgICAgICAgICBwYXRjaF9jb3VudCAr
PSBwYXRjaGVzX2ZvdW5kCiAgICAgICAgICAgICBpZiBwYXRjaGVzX2ZvdW5kOgpAQCAtNzM3LDE2
ICs3NTIsNiBAQCBjbGFzcyBMYW5kUGF0Y2hlc0Zyb21Db21taXRRdWV1ZShDb21tYW5kKToKICAg
ICAgICAgc2VsZi5fdGVlX291dHB1dHNfdG9fZmlsZXMoc2VsZi5fZmlsZXNfZm9yX291dHB1dCkK
ICAgICAgICAgbG9nX2ZpbGUuY2xvc2UoKQogCi0gICAgZGVmIF9ydW5fY29tbWFuZChzZWxmLCBh
cmdzKToKLSAgICAgICAgY2hpbGRfcHJvY2VzcyA9IHN1YnByb2Nlc3MuUG9wZW4oYXJncywgc3Rk
b3V0PXN1YnByb2Nlc3MuUElQRSwgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VUKQotCi0gICAgICAg
ICMgVXNlIG91ciBvd24gY3VzdG9tIHdhaXQgbG9vcCBiZWNhdXNlIFBvcGVuIGlnbm9yZXMgb3Vy
IHRlZSdkIHN0ZGVyci9zdGRvdXQKLSAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgIG91
dHB1dF9saW5lID0gY2hpbGRfcHJvY2Vzcy5zdGRvdXQucmVhZGxpbmUoKQotICAgICAgICAgICAg
aWYgb3V0cHV0X2xpbmUgPT0gJycgYW5kIGNoaWxkX3Byb2Nlc3MucG9sbCgpICE9IE5vbmU6Ci0g
ICAgICAgICAgICAgICAgcmV0dXJuIGNoaWxkX3Byb2Nlc3MucG9sbCgpCi0gICAgICAgICAgICBz
eXMuc3Rkb3V0LndyaXRlKG91dHB1dF9saW5lKQotCiAgICAgZGVmIGV4ZWN1dGUoc2VsZiwgb3B0
aW9ucywgYXJncywgdG9vbCk6CiAgICAgICAgIGxvZygiQ0FVVElPTjogY29tbWl0LXF1ZXVlIHdp
bGwgZGlzY2FyZCBhbGwgbG9jYWwgY2hhbmdlcyBpbiAlcyIgJSB0b29sLnNjbSgpLmNoZWNrb3V0
X3Jvb3QpCiAgICAgICAgIGlmIG9wdGlvbnMuY29uZmlybToKQEAgLTc4MSw3ICs3ODYsOCBAQCBj
bGFzcyBMYW5kUGF0Y2hlc0Zyb21Db21taXRRdWV1ZShDb21tYW5kKToKICAgICAgICAgICAgIGJ1
Z19sb2dfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLmJ1Z19sb2dzX2RpcmVjdG9yeSwgIiVzLmxv
ZyIgJSBmaXJzdF9idWdfaWQpCiAgICAgICAgICAgICBidWdfbG9nID0gc2VsZi5fYWRkX2xvZ190
b19vdXRwdXRfdGVlKGJ1Z19sb2dfcGF0aCkKICAgICAgICAgICAgIGJ1Z3ppbGxhX3Rvb2xfcGF0
aCA9IF9fZmlsZV9fICMgcmUtZXhlY3V0ZSB0aGlzIHNjcmlwdAotICAgICAgICAgICAgc2VsZi5f
cnVuX2NvbW1hbmQoW2J1Z3ppbGxhX3Rvb2xfcGF0aCwgJ2xhbmQtcGF0Y2hlcycsICctLWZvcmNl
LWNsZWFuJywgJy0tY29tbWl0LXF1ZXVlJywgJy0tcXVpZXQnLCBmaXJzdF9idWdfaWRdKQorICAg
ICAgICAgICAgYnVnemlsbGFfdG9vbF9hcmdzID0gW2J1Z3ppbGxhX3Rvb2xfcGF0aCwgJ2xhbmQt
cGF0Y2hlcycsICctLWZvcmNlLWNsZWFuJywgJy0tY29tbWl0LXF1ZXVlJywgJy0tcXVpZXQnLCBm
aXJzdF9idWdfaWRdCisgICAgICAgICAgICBXZWJLaXRMYW5kaW5nU2NyaXB0cy5ydW5fY29tbWFu
ZF93aXRoX3RlZWRfb3V0cHV0KGJ1Z3ppbGxhX3Rvb2xfYXJncywgc3lzLnN0ZG91dCkKICAgICAg
ICAgICAgIHNlbGYuX3JlbW92ZV9sb2dfZnJvbV9vdXRwdXRfdGVlKGJ1Z19sb2cpCiAKICAgICAg
ICAgbG9nKCJGaW5pc2hlZCBXZWJLaXQgQ29tbWl0IFF1ZXVlLiAlcyIgJSBkYXRldGltZS5ub3co
KSkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9zY20ucHkgYi9XZWJL
aXRUb29scy9TY3JpcHRzL21vZHVsZXMvc2NtLnB5CmluZGV4IDU2YzE2MDMuLjlkZTFkNDggMTAw
NjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9zY20ucHkKKysrIGIvV2ViS2l0
VG9vbHMvU2NyaXB0cy9tb2R1bGVzL3NjbS5weQpAQCAtNzgsOCArNzgsMjQgQEAgY2xhc3MgQ29t
bWl0TWVzc2FnZToKIAogCiBjbGFzcyBTY3JpcHRFcnJvcihFeGNlcHRpb24pOgotICAgIHBhc3MK
KyAgICBkZWYgX19pbml0X18oc2VsZiwgc2NyaXB0X2FyZ3M9Tm9uZSwgZXhpdF9jb2RlPU5vbmUs
IG1lc3NhZ2U9Tm9uZSwgb3V0cHV0PU5vbmUsIGN3ZD1Ob25lKToKKyAgICAgICAgaWYgbm90IG1l
c3NhZ2U6CisgICAgICAgICAgICBtZXNzYWdlID0gJ0ZhaWxlZCB0byBydW4gIiVzIicgJSBzY3Jp
cHRfYXJncworICAgICAgICAgICAgaWYgZXhpdF9jb2RlOgorICAgICAgICAgICAgICAgIG1lc3Nh
Z2UgKz0gIiBleGl0X2NvZGU6ICVkIiAlIGV4aXRfY29kZQorICAgICAgICAgICAgaWYgY3dkOgor
ICAgICAgICAgICAgICAgIG1lc3NhZ2UgKz0gIiBjd2Q6ICVzIiAlIGN3ZAorCisgICAgICAgIEV4
Y2VwdGlvbi5fX2luaXRfXyhzZWxmLCBtZXNzYWdlKQorICAgICAgICBzZWxmLnNjcmlwdF9hcmdz
ID0gc2NyaXB0X2FyZ3MgIyAnYXJncycgaXMgYWxyZWFkeSB1c2VkIGJ5IEV4Y2VwdGlvbgorICAg
ICAgICBzZWxmLmV4aXRfY29kZSA9IGV4aXRfY29kZQorICAgICAgICBzZWxmLm91dHB1dCA9IG91
dHB1dAorICAgICAgICBzZWxmLmN3ZCA9IGN3ZAogCisgICAgZGVmIG1lc3NhZ2Vfd2l0aF9vdXRw
dXQoc2VsZik6CisgICAgICAgIGlmIHNlbGYub3V0cHV0OgorICAgICAgICAgICAgcmV0dXJuICIl
c1xuJXMiICUgKHNlbGYsIHNlbGYub3V0cHV0KQorICAgICAgICByZXR1cm4gc3RyKHNlbGYpCiAK
IGNsYXNzIFNDTToKICAgICBkZWYgX19pbml0X18oc2VsZiwgY3dkLCBkcnlydW49RmFsc2UpOgpA
QCAtOTQsNyArMTEwLDcgQEAgY2xhc3MgU0NNOgogICAgICAgICBvdXRwdXQgPSBwcm9jZXNzLmNv
bW11bmljYXRlKGlucHV0KVswXS5yc3RyaXAoKQogICAgICAgICBleGl0X2NvZGUgPSBwcm9jZXNz
LndhaXQoKQogICAgICAgICBpZiByYWlzZV9vbl9mYWlsdXJlIGFuZCBleGl0X2NvZGU6Ci0gICAg
ICAgICAgICByYWlzZSBTY3JpcHRFcnJvcignRmFpbGVkIHRvIHJ1biAiJXMiICBleGl0X2NvZGU6
ICVkICBjd2Q6ICVzJyAlIChhcmdzLCBleGl0X2NvZGUsIGN3ZCkpCisgICAgICAgICAgICByYWlz
ZSBTY3JpcHRFcnJvcihzY3JpcHRfYXJncz1hcmdzLCBleGl0X2NvZGU9ZXhpdF9jb2RlLCBvdXRw
dXQ9b3V0cHV0LCBjd2Q9Y3dkKQogICAgICAgICBpZiByZXR1cm5fZXhpdF9jb2RlOgogICAgICAg
ICAgICAgcmV0dXJuIGV4aXRfY29kZQogICAgICAgICByZXR1cm4gb3V0cHV0CkBAIC0xMDgsNyAr
MTI0LDcgQEAgY2xhc3MgU0NNOgogICAgIGRlZiBlbnN1cmVfY2xlYW5fd29ya2luZ19kaXJlY3Rv
cnkoc2VsZiwgZm9yY2UpOgogICAgICAgICBpZiBub3QgZm9yY2UgYW5kIG5vdCBzZWxmLndvcmtp
bmdfZGlyZWN0b3J5X2lzX2NsZWFuKCk6CiAgICAgICAgICAgICBwcmludCBzZWxmLnJ1bl9jb21t
YW5kKHNlbGYuc3RhdHVzX2NvbW1hbmQoKSwgcmFpc2Vfb25fZmFpbHVyZT1GYWxzZSkKLSAgICAg
ICAgICAgIHJhaXNlIFNjcmlwdEVycm9yKCJXb3JraW5nIGRpcmVjdG9yeSBoYXMgbW9kaWZpY2F0
aW9ucywgcGFzcyAtLWZvcmNlLWNsZWFuIG9yIC0tbm8tY2xlYW4gdG8gY29udGludWUuIikKKyAg
ICAgICAgICAgIHJhaXNlIFNjcmlwdEVycm9yKG1lc3NhZ2U9IldvcmtpbmcgZGlyZWN0b3J5IGhh
cyBtb2RpZmljYXRpb25zLCBwYXNzIC0tZm9yY2UtY2xlYW4gb3IgLS1uby1jbGVhbiB0byBjb250
aW51ZS4iKQogICAgICAgICAKICAgICAgICAgbG9nKCJDbGVhbmluZyB3b3JraW5nIGRpcmVjdG9y
eSIpCiAgICAgICAgIHNlbGYuY2xlYW5fd29ya2luZ19kaXJlY3RvcnkoKQpAQCAtMTM0LDcgKzE1
MCw3IEBAIGNsYXNzIFNDTToKIAogICAgICAgICByZXR1cm5fY29kZSA9IHBhdGNoX2FwcGx5X3By
b2Nlc3Mud2FpdCgpCiAgICAgICAgIGlmIHJldHVybl9jb2RlOgotICAgICAgICAgICAgcmFpc2Ug
U2NyaXB0RXJyb3IoIlBhdGNoICVzIGZyb20gYnVnICVzIGZhaWxlZCB0byBkb3dubG9hZCBhbmQg
YXBwbHkuIiAlIChwYXRjaFsndXJsJ10sIHBhdGNoWydidWdfaWQnXSkpCisgICAgICAgICAgICBy
YWlzZSBTY3JpcHRFcnJvcihtZXNzYWdlPSJQYXRjaCAlcyBmcm9tIGJ1ZyAlcyBmYWlsZWQgdG8g
ZG93bmxvYWQgYW5kIGFwcGx5LiIgJSAocGF0Y2hbJ3VybCddLCBwYXRjaFsnYnVnX2lkJ10pKQog
CiAgICAgZGVmIHJ1bl9zdGF0dXNfYW5kX2V4dHJhY3RfZmlsZW5hbWVzKHNlbGYsIHN0YXR1c19j
b21tYW5kLCBzdGF0dXNfcmVnZXhwKToKICAgICAgICAgZmlsZW5hbWVzID0gW10KQEAgLTI1Niwx
MCArMjcyLDExIEBAIGNsYXNzIFNWTihTQ00pOgogCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVm
IHZhbHVlX2Zyb21fc3ZuX2luZm8oY2xzLCBwYXRoLCBmaWVsZF9uYW1lKToKLSAgICAgICAgaW5m
b19vdXRwdXQgPSBjbHMucnVuX2NvbW1hbmQoWydzdm4nLCAnaW5mbycsIHBhdGhdKQorICAgICAg
ICBzdm5faW5mb19hcmdzID0gWydzdm4nLCAnaW5mbycsIHBhdGhdCisgICAgICAgIGluZm9fb3V0
cHV0ID0gY2xzLnJ1bl9jb21tYW5kKHN2bl9pbmZvX2FyZ3MpCiAgICAgICAgIG1hdGNoID0gcmUu
c2VhcmNoKCJeJXM6ICg/UDx2YWx1ZT4uKykkIiAlIGZpZWxkX25hbWUsIGluZm9fb3V0cHV0LCBy
ZS5NVUxUSUxJTkUpCiAgICAgICAgIGlmIG5vdCBtYXRjaDoKLSAgICAgICAgICAgIHJhaXNlIFNj
cmlwdEVycm9yKCdzdm4gaW5mbyBkaWQgbm90IGNvbnRhaW4gYSAlcy4nICUgZmllbGRfbmFtZSkK
KyAgICAgICAgICAgIHJhaXNlIFNjcmlwdEVycm9yKHNjcmlwdF9hcmdzPXN2bl9pbmZvX2FyZ3Ms
IG1lc3NhZ2U9J3N2biBpbmZvIGRpZCBub3QgY29udGFpbiBhICVzLicgJSBmaWVsZF9uYW1lKQog
ICAgICAgICByZXR1cm4gbWF0Y2guZ3JvdXAoJ3ZhbHVlJykKIAogICAgIEBzdGF0aWNtZXRob2QK
QEAgLTQyNSw3ICs0NDIsNyBAQCBjbGFzcyBHaXQoU0NNKToKICAgICAgICAgIyBBc3N1bWUgdGhl
IHJldmlzaW9uIGlzIGFuIHN2biByZXZpc2lvbi4KICAgICAgICAgZ2l0X2NvbW1pdCA9IHNlbGYu
Z2l0X2NvbW1pdF9mcm9tX3N2bl9yZXZpc2lvbihyZXZpc2lvbikKICAgICAgICAgaWYgbm90IGdp
dF9jb21taXQ6Ci0gICAgICAgICAgICByYWlzZSBTY3JpcHRFcnJvcignRmFpbGVkIHRvIGZpbmQg
Z2l0IGNvbW1pdCBmb3IgcmV2aXNpb24gJXMsIGdpdCBzdm4gbG9nIG91dHB1dDogIiVzIicgJSAo
cmV2aXNpb24sIGdpdF9jb21taXQpKQorICAgICAgICAgICAgcmFpc2UgU2NyaXB0RXJyb3IobWVz
c2FnZT0nRmFpbGVkIHRvIGZpbmQgZ2l0IGNvbW1pdCBmb3IgcmV2aXNpb24gJXMsIGdpdCBzdm4g
bG9nIG91dHB1dDogIiVzIicgJSAocmV2aXNpb24sIGdpdF9jb21taXQpKQogCiAgICAgICAgICMg
SSB0aGluayB0aGlzIHdpbGwgYWx3YXlzIGZhaWwgZHVlIHRvIENoYW5nZUxvZ3MuCiAgICAgICAg
ICMgRklYTUU6IFdlIG5lZWQgdG8gZGV0ZWMgc3BlY2lmaWMgZmFpbHVyZSBjb25kaXRpb25zIGFu
ZCBoYW5kbGUgdGhlbS4KQEAgLTQ4MCw3ICs0OTcsNyBAQCBjbGFzcyBHaXQoU0NNKToKICAgICAg
ICAgY29tbWl0X2lkcyA9IFtdCiAgICAgICAgIGZvciBjb21taXRpc2ggaW4gYXJnczoKICAgICAg
ICAgICAgIGlmICcuLi4nIGluIGNvbW1pdGlzaDoKLSAgICAgICAgICAgICAgICByYWlzZSBTY3Jp
cHRFcnJvcigiJy4uLicgaXMgbm90IHN1cHBvcnRlZCAoZm91bmQgaW4gJyVzJykuIERpZCB5b3Ug
bWVhbiAnLi4nPyIgJSBjb21taXRpc2gpCisgICAgICAgICAgICAgICAgcmFpc2UgU2NyaXB0RXJy
b3IobWVzc2FnZT0iJy4uLicgaXMgbm90IHN1cHBvcnRlZCAoZm91bmQgaW4gJyVzJykuIERpZCB5
b3UgbWVhbiAnLi4nPyIgJSBjb21taXRpc2gpCiAgICAgICAgICAgICBlbGlmICcuLicgaW4gY29t
bWl0aXNoOgogICAgICAgICAgICAgICAgIGNvbW1pdF9pZHMgKz0gcmV2ZXJzZWQoc2VsZi5ydW5f
Y29tbWFuZChbJ2dpdCcsICdyZXYtbGlzdCcsIGNvbW1pdGlzaF0pLnNwbGl0bGluZXMoKSkKICAg
ICAgICAgICAgIGVsc2U6
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40080</attachid>
            <date>2009-09-24 14:52:31 -0700</date>
            <delta_ts>2009-09-25 10:40:54 -0700</delta_ts>
            <desc>Limit error output length</desc>
            <filename>bug-29316-20090924145229.patch</filename>
            <type>text/plain</type>
            <size>11200</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBkMzc1Njc4Li41MzAwYzk0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDktMDkt
MTYgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGNvbW1pdC1xdWV1ZSBzaG91bGQgZ2l2ZSBiZXR0
ZXIgZmVlZGJhY2sgd2hlbiBmYWlsaW5nIGEgcGF0Y2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MzE2CisKKyAgICAgICAgKiBTY3JpcHRzL2J1Z3pp
bGxhLXRvb2w6CisgICAgICAgICAtIFVwZGF0ZSBTY3JpcHRFcnJvciB1c2VzIHRvIHRoZSBuZXcg
Y29uc3RydWN0b3IgZm9ybWF0LgorICAgICAgICAgLSBNb3ZlIENvbW1pdFF1ZXVlLl9ydW5fY29t
bWFuZCB0byBXZWJLaXRMYW5kaW5nU2NyaXB0cy5ydW5fY29tbWFuZF93aXRoX3RlZWRfb3V0cHV0
CisgICAgICAgICAgIHNvIHRoYXQgd2UgY2FuIHByaW50IHRvIGJvdGggc3Rkb3V0IGFzIHdlbGwg
YXMgYW4gb3V0cHV0IGJ1ZmZlciBmb3IgZXJyb3IgcmVwb3J0aW5nLgorICAgICAgICAgLSBVcGRh
dGUgcnVuX2FuZF90aHJvd19pZl9mYWlsIHRvIHVzZSB0ZWVkIG91dHB1dCBzbyB0aGF0IGl0IGNh
biByZXBvcnQgdGhlICJvdXRwdXQiIGFzIHBhcnQgb2YgU2NyaXB0RXJyb3IuCisgICAgICAgICAt
IFVzZSBlLm1lc3NhZ2Vfd2l0aF9vdXRwdXQoKSB3aGVuIGZhaWxpbmcgYSBwYXRjaCAodGhpcyBp
cyB0aGUgcmVhbCBmaXggaGVyZSkuCisgICAgICAgICAgIEkgYWxzbyByZW1vdmVkIHVzZSBvZiAi
VGhpcyBwYXRjaCB3aWxsIHJlcXVpcmUgbWFudWFsIGNvbW1pdC4iIGFzIHRoYXQncyBub3QgYWx3
YXlzIHRydWUuCisgICAgICAgICAtIEFkZCBtaXNzaW5nIHdvcmQgImJ1ZyIgZnJvbSBsb2cgbWVz
c2FnZS4KKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMvc2NtLnB5OgorICAgICAgICAgLSBNYWtl
IFNjcmlwdEVycm9yIHNhdmUgYSBidW5jaCBtb3JlIGRhdGEgc28gdGhhdCBlcnJvciBtZXNzYWdl
cyBjYW4gYmUgbmljZXIuCisgICAgICAgICAtIFVwZGF0ZSBTY3JpcHRFcnJvciBjYWxsZXJzLgor
CiAyMDA5LTA5LTE3ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMv
YnVnemlsbGEtdG9vbCBiL1dlYktpdFRvb2xzL1NjcmlwdHMvYnVnemlsbGEtdG9vbAppbmRleCA2
YjdlMTc5Li5mOTA5YWM4IDEwMDc1NQotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL2J1Z3ppbGxh
LXRvb2wKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWd6aWxsYS10b29sCkBAIC02NCw3ICs2
NCw3IEBAIGRlZiBwbHVyYWxpemUobm91biwgY291bnQpOgogZGVmIGNvbW1pdF9tZXNzYWdlX2Zv
cl90aGlzX2NvbW1pdChzY20pOgogICAgIGNoYW5nZWxvZ19wYXRocyA9IHNjbS5tb2RpZmllZF9j
aGFuZ2Vsb2dzKCkKICAgICBpZiBub3QgbGVuKGNoYW5nZWxvZ19wYXRocyk6Ci0gICAgICAgIHJh
aXNlIFNjcmlwdEVycm9yKCJGb3VuZCBubyBtb2RpZmllZCBDaGFuZ2VMb2dzLCBjYW5ub3QgY3Jl
YXRlIGEgY29tbWl0IG1lc3NhZ2UuXG4iCisgICAgICAgIHJhaXNlIFNjcmlwdEVycm9yKG1lc3Nh
Z2U9IkZvdW5kIG5vIG1vZGlmaWVkIENoYW5nZUxvZ3MsIGNhbm5vdCBjcmVhdGUgYSBjb21taXQg
bWVzc2FnZS5cbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFsbCBjaGFuZ2VzIHJlcXVp
cmUgYSBDaGFuZ2VMb2cuICBTZWU6XG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJodHRw
Oi8vd2Via2l0Lm9yZy9jb2RpbmcvY29udHJpYnV0aW5nLmh0bWwiKQogCkBAIC0xODcsMTggKzE4
NywzMyBAQCBjbGFzcyBXZWJLaXRMYW5kaW5nU2NyaXB0czoKICAgICAgICAgXQogCiAgICAgQHN0
YXRpY21ldGhvZAotICAgIGRlZiBydW5fYW5kX3Rocm93X2lmX2ZhaWwoYXJncywgcXVpZXQ9RmFs
c2UpOgotICAgICAgICAjIFBhc3NpbmcgTm9uZSB3aWxsIHVzZSB0aGUgZGVmYXVsdCBpbnB1dC9v
dXRwdXRzCi0gICAgICAgIGNoaWxkX291dHB1dCA9IG9wZW4ob3MuZGV2bnVsbCwgInciKSBpZiBx
dWlldCBlbHNlIE5vbmUKKyAgICBkZWYgcnVuX2NvbW1hbmRfd2l0aF90ZWVkX291dHB1dChhcmdz
LCB0ZWVkX291dHB1dCk6CisgICAgICAgIGNoaWxkX3Byb2Nlc3MgPSBzdWJwcm9jZXNzLlBvcGVu
KGFyZ3MsIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCkK
IAotICAgICAgICBjaGlsZF9wcm9jZXNzID0gc3VicHJvY2Vzcy5Qb3BlbihhcmdzLCBzdGRvdXQ9
Y2hpbGRfb3V0cHV0LCBzdGRlcnI9Y2hpbGRfb3V0cHV0KQotICAgICAgICByZXR1cm5fY29kZSA9
IGNoaWxkX3Byb2Nlc3Mud2FpdCgpCisgICAgICAgICMgVXNlIG91ciBvd24gY3VzdG9tIHdhaXQg
bG9vcCBiZWNhdXNlIFBvcGVuIGlnbm9yZXMgYSB0ZWUnZCBzdGRlcnIvc3Rkb3V0LgorICAgICAg
ICAjIEZJWE1FOiBUaGlzIGNvdWxkIGJlIGltcHJvdmVkIG5vdCB0byBmbGF0dGVuIG91dHB1dCB0
byBzdGRvdXQuCisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBvdXRwdXRfbGluZSA9
IGNoaWxkX3Byb2Nlc3Muc3Rkb3V0LnJlYWRsaW5lKCkKKyAgICAgICAgICAgIGlmIG91dHB1dF9s
aW5lID09ICcnIGFuZCBjaGlsZF9wcm9jZXNzLnBvbGwoKSAhPSBOb25lOgorICAgICAgICAgICAg
ICAgIHJldHVybiBjaGlsZF9wcm9jZXNzLnBvbGwoKQorICAgICAgICAgICAgdGVlZF9vdXRwdXQu
d3JpdGUob3V0cHV0X2xpbmUpCisKKyAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIHJ1bl9hbmRf
dGhyb3dfaWZfZmFpbChhcmdzLCBxdWlldD1GYWxzZSk6CisgICAgICAgICMgQ2FjaGUgdGhlIGNo
aWxkJ3Mgb3V0cHV0IGxvY2FsbHkgc28gaXQgY2FuIGJlIHVzZWQgZm9yIGVycm9yIHJlcG9ydHMu
CisgICAgICAgIGNoaWxkX291dF9maWxlID0gU3RyaW5nSU8uU3RyaW5nSU8oKQorICAgICAgICBp
ZiBxdWlldDoKKyAgICAgICAgICAgIGRldl9udWxsID0gb3Blbihvcy5kZXZudWxsLCAidyIpCisg
ICAgICAgIGNoaWxkX3N0ZG91dCA9IHRlZShjaGlsZF9vdXRfZmlsZSwgZGV2X251bGwgaWYgcXVp
ZXQgZWxzZSBzeXMuc3Rkb3V0KQorICAgICAgICBleGl0X2NvZGUgPSBXZWJLaXRMYW5kaW5nU2Ny
aXB0cy5ydW5fY29tbWFuZF93aXRoX3RlZWRfb3V0cHV0KGFyZ3MsIGNoaWxkX3N0ZG91dCkKKyAg
ICAgICAgaWYgcXVpZXQ6CisgICAgICAgICAgICBkZXZfbnVsbC5jbG9zZSgpCiAKLSAgICAgICAg
aWYgY2hpbGRfb3V0cHV0OgotICAgICAgICAgICAgY2hpbGRfb3V0cHV0LmNsb3NlKCkKKyAgICAg
ICAgY2hpbGRfb3V0cHV0ID0gY2hpbGRfb3V0X2ZpbGUuZ2V0dmFsdWUoKQorICAgICAgICBjaGls
ZF9vdXRfZmlsZS5jbG9zZSgpCiAKLSAgICAgICAgaWYgcmV0dXJuX2NvZGU6Ci0gICAgICAgICAg
ICByYWlzZSBTY3JpcHRFcnJvcigiJXMgZmFpbGVkIHdpdGggZXhpdCBjb2RlICVkIiAlIChhcmdz
LCByZXR1cm5fY29kZSkpCisgICAgICAgIGlmIGV4aXRfY29kZToKKyAgICAgICAgICAgIHJhaXNl
IFNjcmlwdEVycm9yKHNjcmlwdF9hcmdzPWFyZ3MsIGV4aXRfY29kZT1leGl0X2NvZGUsIG91dHB1
dD1jaGlsZF9vdXRwdXQpCiAKICAgICAjIFdlIG1pZ2h0IG5lZWQgdG8gcGFzcyBzY20gaW50byB0
aGlzIGZ1bmN0aW9uIGZvciBzY20uY2hlY2tvdXRfcm9vdAogICAgIEBzdGF0aWNtZXRob2QKQEAg
LTMyOCw3ICszNDMsNyBAQCBjbGFzcyBMYW5kUGF0Y2hlc0Zyb21CdWdzKENvbW1hbmQpOgogICAg
ICAgICAgICAgICAgIHRvb2wuYnVncy5jbG9zZV9idWdfYXNfZml4ZWQoYnVnX2lkLCAiQWxsIHJl
dmlld2VkIHBhdGNoZXMgaGF2ZSBiZWVuIGxhbmRlZC4gIENsb3NpbmcgYnVnLiIpCiAgICAgICAg
IGV4Y2VwdCBTY3JpcHRFcnJvciwgZToKICAgICAgICAgICAgICMgTWFyayB0aGUgcGF0Y2ggYXMg
Y29tbWl0LXF1ZXVlLSBhbmQgY29tbWVudCBpbiB0aGUgYnVnLgotICAgICAgICAgICAgdG9vbC5i
dWdzLnJlamVjdF9wYXRjaF9mcm9tX2NvbW1pdF9xdWV1ZShwYXRjaFsnaWQnXSwgIlRoaXMgcGF0
Y2ggd2lsbCByZXF1aXJlIG1hbnVhbCBjb21taXQuICVzIiAlIGUpCisgICAgICAgICAgICB0b29s
LmJ1Z3MucmVqZWN0X3BhdGNoX2Zyb21fY29tbWl0X3F1ZXVlKHBhdGNoWydpZCddLCBlLm1lc3Nh
Z2Vfd2l0aF9vdXRwdXQoKSkKICAgICAgICAgICAgIGVycm9yKGUpCiAKICAgICBAc3RhdGljbWV0
aG9kCkBAIC0zNDMsNyArMzU4LDcgQEAgY2xhc3MgTGFuZFBhdGNoZXNGcm9tQnVncyhDb21tYW5k
KToKICAgICAgICAgICAgICAgICBwYXRjaGVzID0gdG9vbC5idWdzLmZldGNoX3Jldmlld2VkX3Bh
dGNoZXNfZnJvbV9idWcoYnVnX2lkKQogCiAgICAgICAgICAgICBwYXRjaGVzX2ZvdW5kID0gbGVu
KHBhdGNoZXMpCi0gICAgICAgICAgICBsb2coIiVzIGZvdW5kIG9uICVzLiIgJSAocGx1cmFsaXpl
KCJyZXZpZXdlZCBwYXRjaCIsIHBhdGNoZXNfZm91bmQpLCBidWdfaWQpKQorICAgICAgICAgICAg
bG9nKCIlcyBmb3VuZCBvbiBidWcgJXMuIiAlIChwbHVyYWxpemUoInJldmlld2VkIHBhdGNoIiwg
cGF0Y2hlc19mb3VuZCksIGJ1Z19pZCkpCiAKICAgICAgICAgICAgIHBhdGNoX2NvdW50ICs9IHBh
dGNoZXNfZm91bmQKICAgICAgICAgICAgIGlmIHBhdGNoZXNfZm91bmQ6CkBAIC02ODUsMTYgKzcw
MCw2IEBAIGNsYXNzIExhbmRQYXRjaGVzRnJvbUNvbW1pdFF1ZXVlKENvbW1hbmQpOgogICAgICAg
ICBzZWxmLl90ZWVfb3V0cHV0c190b19maWxlcyhzZWxmLl9maWxlc19mb3Jfb3V0cHV0KQogICAg
ICAgICBsb2dfZmlsZS5jbG9zZSgpCiAKLSAgICBkZWYgX3J1bl9jb21tYW5kKHNlbGYsIGFyZ3Mp
OgotICAgICAgICBjaGlsZF9wcm9jZXNzID0gc3VicHJvY2Vzcy5Qb3BlbihhcmdzLCBzdGRvdXQ9
c3VicHJvY2Vzcy5QSVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQpCi0KLSAgICAgICAgIyBV
c2Ugb3VyIG93biBjdXN0b20gd2FpdCBsb29wIGJlY2F1c2UgUG9wZW4gaWdub3JlcyBvdXIgdGVl
J2Qgc3RkZXJyL3N0ZG91dAotICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgb3V0cHV0
X2xpbmUgPSBjaGlsZF9wcm9jZXNzLnN0ZG91dC5yZWFkbGluZSgpCi0gICAgICAgICAgICBpZiBv
dXRwdXRfbGluZSA9PSAnJyBhbmQgY2hpbGRfcHJvY2Vzcy5wb2xsKCkgIT0gTm9uZToKLSAgICAg
ICAgICAgICAgICByZXR1cm4gY2hpbGRfcHJvY2Vzcy5wb2xsKCkKLSAgICAgICAgICAgIHN5cy5z
dGRvdXQud3JpdGUob3V0cHV0X2xpbmUpCi0KICAgICBkZWYgZXhlY3V0ZShzZWxmLCBvcHRpb25z
LCBhcmdzLCB0b29sKToKICAgICAgICAgbG9nKCJDQVVUSU9OOiBjb21taXQtcXVldWUgd2lsbCBk
aXNjYXJkIGFsbCBsb2NhbCBjaGFuZ2VzIGluICVzIiAlIHRvb2wuc2NtKCkuY2hlY2tvdXRfcm9v
dCkKICAgICAgICAgaWYgb3B0aW9ucy5jb25maXJtOgpAQCAtNzM0LDcgKzczOSw4IEBAIGNsYXNz
IExhbmRQYXRjaGVzRnJvbUNvbW1pdFF1ZXVlKENvbW1hbmQpOgogICAgICAgICAgICAgYnVnX2xv
Z19wYXRoID0gb3MucGF0aC5qb2luKHNlbGYuYnVnX2xvZ3NfZGlyZWN0b3J5LCAiJXMubG9nIiAl
IGZpcnN0X2J1Z19pZCkKICAgICAgICAgICAgIGJ1Z19sb2cgPSBzZWxmLl9hZGRfbG9nX3RvX291
dHB1dF90ZWUoYnVnX2xvZ19wYXRoKQogICAgICAgICAgICAgYnVnemlsbGFfdG9vbF9wYXRoID0g
X19maWxlX18gIyByZS1leGVjdXRlIHRoaXMgc2NyaXB0Ci0gICAgICAgICAgICBzZWxmLl9ydW5f
Y29tbWFuZChbYnVnemlsbGFfdG9vbF9wYXRoLCAnbGFuZC1wYXRjaGVzJywgJy0tZm9yY2UtY2xl
YW4nLCAnLS1jb21taXQtcXVldWUnLCAnLS1xdWlldCcsIGZpcnN0X2J1Z19pZF0pCisgICAgICAg
ICAgICBidWd6aWxsYV90b29sX2FyZ3MgPSBbYnVnemlsbGFfdG9vbF9wYXRoLCAnbGFuZC1wYXRj
aGVzJywgJy0tZm9yY2UtY2xlYW4nLCAnLS1jb21taXQtcXVldWUnLCAnLS1xdWlldCcsIGZpcnN0
X2J1Z19pZF0KKyAgICAgICAgICAgIFdlYktpdExhbmRpbmdTY3JpcHRzLnJ1bl9jb21tYW5kX3dp
dGhfdGVlZF9vdXRwdXQoYnVnemlsbGFfdG9vbF9hcmdzLCBzeXMuc3Rkb3V0KQogICAgICAgICAg
ICAgc2VsZi5fcmVtb3ZlX2xvZ19mcm9tX291dHB1dF90ZWUoYnVnX2xvZykKIAogICAgICAgICBs
b2coIkZpbmlzaGVkIFdlYktpdCBDb21taXQgUXVldWUuICVzIiAlIGRhdGV0aW1lLm5vdygpLnN0
cmZ0aW1lKHNlbGYubG9nX2RhdGVfZm9ybWF0KSkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Nj
cmlwdHMvbW9kdWxlcy9zY20ucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvc2NtLnB5
CmluZGV4IDU2YzE2MDMuLmUzN2I2M2MgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMv
bW9kdWxlcy9zY20ucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL3NjbS5weQpA
QCAtNzgsOCArNzgsMjYgQEAgY2xhc3MgQ29tbWl0TWVzc2FnZToKIAogCiBjbGFzcyBTY3JpcHRF
cnJvcihFeGNlcHRpb24pOgotICAgIHBhc3MKKyAgICBkZWYgX19pbml0X18oc2VsZiwgc2NyaXB0
X2FyZ3M9Tm9uZSwgZXhpdF9jb2RlPU5vbmUsIG1lc3NhZ2U9Tm9uZSwgb3V0cHV0PU5vbmUsIGN3
ZD1Ob25lKToKKyAgICAgICAgaWYgbm90IG1lc3NhZ2U6CisgICAgICAgICAgICBtZXNzYWdlID0g
J0ZhaWxlZCB0byBydW4gIiVzIicgJSBzY3JpcHRfYXJncworICAgICAgICAgICAgaWYgZXhpdF9j
b2RlOgorICAgICAgICAgICAgICAgIG1lc3NhZ2UgKz0gIiBleGl0X2NvZGU6ICVkIiAlIGV4aXRf
Y29kZQorICAgICAgICAgICAgaWYgY3dkOgorICAgICAgICAgICAgICAgIG1lc3NhZ2UgKz0gIiBj
d2Q6ICVzIiAlIGN3ZAorCisgICAgICAgIEV4Y2VwdGlvbi5fX2luaXRfXyhzZWxmLCBtZXNzYWdl
KQorICAgICAgICBzZWxmLnNjcmlwdF9hcmdzID0gc2NyaXB0X2FyZ3MgIyAnYXJncycgaXMgYWxy
ZWFkeSB1c2VkIGJ5IEV4Y2VwdGlvbgorICAgICAgICBzZWxmLmV4aXRfY29kZSA9IGV4aXRfY29k
ZQorICAgICAgICBzZWxmLm91dHB1dCA9IG91dHB1dAorICAgICAgICBzZWxmLmN3ZCA9IGN3ZAog
CisgICAgZGVmIG1lc3NhZ2Vfd2l0aF9vdXRwdXQoc2VsZiwgb3V0cHV0X2xpbWl0PTUwMCk6Cisg
ICAgICAgIGlmIHNlbGYub3V0cHV0OgorICAgICAgICAgICAgaWYgbGVuKHNlbGYub3V0cHV0KSA+
IG91dHB1dF9saW1pdDoKKyAgICAgICAgICAgICAgICAgcmV0dXJuICIlc1xuTGFzdCAlcyBjaGFy
YWN0ZXJzIG9mIG91dHB1dDpcbiVzIiAlIChzZWxmLCBvdXRwdXRfbGltaXQsIHNlbGYub3V0cHV0
Wy1vdXRwdXRfbGltaXQ6XSkKKyAgICAgICAgICAgIHJldHVybiAiJXNcbiVzIiAlIChzZWxmLCBz
ZWxmLm91dHB1dCkKKyAgICAgICAgcmV0dXJuIHN0cihzZWxmKQogCiBjbGFzcyBTQ006CiAgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIGN3ZCwgZHJ5cnVuPUZhbHNlKToKQEAgLTkwLDExICsxMDgsMTEg
QEAgY2xhc3MgU0NNOgogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYgcnVuX2NvbW1hbmQoYXJn
cywgY3dkPU5vbmUsIGlucHV0PU5vbmUsIHJhaXNlX29uX2ZhaWx1cmU9VHJ1ZSwgcmV0dXJuX2V4
aXRfY29kZT1GYWxzZSk6CiAgICAgICAgIHN0ZGluID0gc3VicHJvY2Vzcy5QSVBFIGlmIGlucHV0
IGVsc2UgTm9uZQotICAgICAgICBwcm9jZXNzID0gc3VicHJvY2Vzcy5Qb3BlbihhcmdzLCBzdGRv
dXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRpbj1zdGRpbiwgY3dkPWN3ZCkKKyAgICAgICAgcHJvY2Vz
cyA9IHN1YnByb2Nlc3MuUG9wZW4oYXJncywgc3RkaW49c3RkaW4sIHN0ZG91dD1zdWJwcm9jZXNz
LlBJUEUsIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCwgY3dkPWN3ZCkKICAgICAgICAgb3V0cHV0
ID0gcHJvY2Vzcy5jb21tdW5pY2F0ZShpbnB1dClbMF0ucnN0cmlwKCkKICAgICAgICAgZXhpdF9j
b2RlID0gcHJvY2Vzcy53YWl0KCkKICAgICAgICAgaWYgcmFpc2Vfb25fZmFpbHVyZSBhbmQgZXhp
dF9jb2RlOgotICAgICAgICAgICAgcmFpc2UgU2NyaXB0RXJyb3IoJ0ZhaWxlZCB0byBydW4gIiVz
IiAgZXhpdF9jb2RlOiAlZCAgY3dkOiAlcycgJSAoYXJncywgZXhpdF9jb2RlLCBjd2QpKQorICAg
ICAgICAgICAgcmFpc2UgU2NyaXB0RXJyb3Ioc2NyaXB0X2FyZ3M9YXJncywgZXhpdF9jb2RlPWV4
aXRfY29kZSwgb3V0cHV0PW91dHB1dCwgY3dkPWN3ZCkKICAgICAgICAgaWYgcmV0dXJuX2V4aXRf
Y29kZToKICAgICAgICAgICAgIHJldHVybiBleGl0X2NvZGUKICAgICAgICAgcmV0dXJuIG91dHB1
dApAQCAtMTA4LDcgKzEyNiw3IEBAIGNsYXNzIFNDTToKICAgICBkZWYgZW5zdXJlX2NsZWFuX3dv
cmtpbmdfZGlyZWN0b3J5KHNlbGYsIGZvcmNlKToKICAgICAgICAgaWYgbm90IGZvcmNlIGFuZCBu
b3Qgc2VsZi53b3JraW5nX2RpcmVjdG9yeV9pc19jbGVhbigpOgogICAgICAgICAgICAgcHJpbnQg
c2VsZi5ydW5fY29tbWFuZChzZWxmLnN0YXR1c19jb21tYW5kKCksIHJhaXNlX29uX2ZhaWx1cmU9
RmFsc2UpCi0gICAgICAgICAgICByYWlzZSBTY3JpcHRFcnJvcigiV29ya2luZyBkaXJlY3Rvcnkg
aGFzIG1vZGlmaWNhdGlvbnMsIHBhc3MgLS1mb3JjZS1jbGVhbiBvciAtLW5vLWNsZWFuIHRvIGNv
bnRpbnVlLiIpCisgICAgICAgICAgICByYWlzZSBTY3JpcHRFcnJvcihtZXNzYWdlPSJXb3JraW5n
IGRpcmVjdG9yeSBoYXMgbW9kaWZpY2F0aW9ucywgcGFzcyAtLWZvcmNlLWNsZWFuIG9yIC0tbm8t
Y2xlYW4gdG8gY29udGludWUuIikKICAgICAgICAgCiAgICAgICAgIGxvZygiQ2xlYW5pbmcgd29y
a2luZyBkaXJlY3RvcnkiKQogICAgICAgICBzZWxmLmNsZWFuX3dvcmtpbmdfZGlyZWN0b3J5KCkK
QEAgLTEzNCw3ICsxNTIsNyBAQCBjbGFzcyBTQ006CiAKICAgICAgICAgcmV0dXJuX2NvZGUgPSBw
YXRjaF9hcHBseV9wcm9jZXNzLndhaXQoKQogICAgICAgICBpZiByZXR1cm5fY29kZToKLSAgICAg
ICAgICAgIHJhaXNlIFNjcmlwdEVycm9yKCJQYXRjaCAlcyBmcm9tIGJ1ZyAlcyBmYWlsZWQgdG8g
ZG93bmxvYWQgYW5kIGFwcGx5LiIgJSAocGF0Y2hbJ3VybCddLCBwYXRjaFsnYnVnX2lkJ10pKQor
ICAgICAgICAgICAgcmFpc2UgU2NyaXB0RXJyb3IobWVzc2FnZT0iUGF0Y2ggJXMgZnJvbSBidWcg
JXMgZmFpbGVkIHRvIGRvd25sb2FkIGFuZCBhcHBseS4iICUgKHBhdGNoWyd1cmwnXSwgcGF0Y2hb
J2J1Z19pZCddKSkKIAogICAgIGRlZiBydW5fc3RhdHVzX2FuZF9leHRyYWN0X2ZpbGVuYW1lcyhz
ZWxmLCBzdGF0dXNfY29tbWFuZCwgc3RhdHVzX3JlZ2V4cCk6CiAgICAgICAgIGZpbGVuYW1lcyA9
IFtdCkBAIC0yNTYsMTAgKzI3NCwxMSBAQCBjbGFzcyBTVk4oU0NNKToKIAogICAgIEBjbGFzc21l
dGhvZAogICAgIGRlZiB2YWx1ZV9mcm9tX3N2bl9pbmZvKGNscywgcGF0aCwgZmllbGRfbmFtZSk6
Ci0gICAgICAgIGluZm9fb3V0cHV0ID0gY2xzLnJ1bl9jb21tYW5kKFsnc3ZuJywgJ2luZm8nLCBw
YXRoXSkKKyAgICAgICAgc3ZuX2luZm9fYXJncyA9IFsnc3ZuJywgJ2luZm8nLCBwYXRoXQorICAg
ICAgICBpbmZvX291dHB1dCA9IGNscy5ydW5fY29tbWFuZChzdm5faW5mb19hcmdzKQogICAgICAg
ICBtYXRjaCA9IHJlLnNlYXJjaCgiXiVzOiAoP1A8dmFsdWU+LispJCIgJSBmaWVsZF9uYW1lLCBp
bmZvX291dHB1dCwgcmUuTVVMVElMSU5FKQogICAgICAgICBpZiBub3QgbWF0Y2g6Ci0gICAgICAg
ICAgICByYWlzZSBTY3JpcHRFcnJvcignc3ZuIGluZm8gZGlkIG5vdCBjb250YWluIGEgJXMuJyAl
IGZpZWxkX25hbWUpCisgICAgICAgICAgICByYWlzZSBTY3JpcHRFcnJvcihzY3JpcHRfYXJncz1z
dm5faW5mb19hcmdzLCBtZXNzYWdlPSdzdm4gaW5mbyBkaWQgbm90IGNvbnRhaW4gYSAlcy4nICUg
ZmllbGRfbmFtZSkKICAgICAgICAgcmV0dXJuIG1hdGNoLmdyb3VwKCd2YWx1ZScpCiAKICAgICBA
c3RhdGljbWV0aG9kCkBAIC00MjUsNyArNDQ0LDcgQEAgY2xhc3MgR2l0KFNDTSk6CiAgICAgICAg
ICMgQXNzdW1lIHRoZSByZXZpc2lvbiBpcyBhbiBzdm4gcmV2aXNpb24uCiAgICAgICAgIGdpdF9j
b21taXQgPSBzZWxmLmdpdF9jb21taXRfZnJvbV9zdm5fcmV2aXNpb24ocmV2aXNpb24pCiAgICAg
ICAgIGlmIG5vdCBnaXRfY29tbWl0OgotICAgICAgICAgICAgcmFpc2UgU2NyaXB0RXJyb3IoJ0Zh
aWxlZCB0byBmaW5kIGdpdCBjb21taXQgZm9yIHJldmlzaW9uICVzLCBnaXQgc3ZuIGxvZyBvdXRw
dXQ6ICIlcyInICUgKHJldmlzaW9uLCBnaXRfY29tbWl0KSkKKyAgICAgICAgICAgIHJhaXNlIFNj
cmlwdEVycm9yKG1lc3NhZ2U9J0ZhaWxlZCB0byBmaW5kIGdpdCBjb21taXQgZm9yIHJldmlzaW9u
ICVzLCBnaXQgc3ZuIGxvZyBvdXRwdXQ6ICIlcyInICUgKHJldmlzaW9uLCBnaXRfY29tbWl0KSkK
IAogICAgICAgICAjIEkgdGhpbmsgdGhpcyB3aWxsIGFsd2F5cyBmYWlsIGR1ZSB0byBDaGFuZ2VM
b2dzLgogICAgICAgICAjIEZJWE1FOiBXZSBuZWVkIHRvIGRldGVjIHNwZWNpZmljIGZhaWx1cmUg
Y29uZGl0aW9ucyBhbmQgaGFuZGxlIHRoZW0uCkBAIC00ODAsNyArNDk5LDcgQEAgY2xhc3MgR2l0
KFNDTSk6CiAgICAgICAgIGNvbW1pdF9pZHMgPSBbXQogICAgICAgICBmb3IgY29tbWl0aXNoIGlu
IGFyZ3M6CiAgICAgICAgICAgICBpZiAnLi4uJyBpbiBjb21taXRpc2g6Ci0gICAgICAgICAgICAg
ICAgcmFpc2UgU2NyaXB0RXJyb3IoIicuLi4nIGlzIG5vdCBzdXBwb3J0ZWQgKGZvdW5kIGluICcl
cycpLiBEaWQgeW91IG1lYW4gJy4uJz8iICUgY29tbWl0aXNoKQorICAgICAgICAgICAgICAgIHJh
aXNlIFNjcmlwdEVycm9yKG1lc3NhZ2U9IicuLi4nIGlzIG5vdCBzdXBwb3J0ZWQgKGZvdW5kIGlu
ICclcycpLiBEaWQgeW91IG1lYW4gJy4uJz8iICUgY29tbWl0aXNoKQogICAgICAgICAgICAgZWxp
ZiAnLi4nIGluIGNvbW1pdGlzaDoKICAgICAgICAgICAgICAgICBjb21taXRfaWRzICs9IHJldmVy
c2VkKHNlbGYucnVuX2NvbW1hbmQoWydnaXQnLCAncmV2LWxpc3QnLCBjb21taXRpc2hdKS5zcGxp
dGxpbmVzKCkpCiAgICAgICAgICAgICBlbHNlOg==
</data>

          </attachment>
      

    </bug>

</bugzilla>