<?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>37059</bug_id>
          
          <creation_ts>2010-04-03 01:47:00 -0700</creation_ts>
          <short_desc>SheriffBot should force_build builders that are idle and have failed exactly once</short_desc>
          <delta_ts>2010-04-05 22:53:23 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>208258</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-03 01:47:00 -0700</bug_when>
    <thetext>SheriffBot should force_build builders that are idle and have failed exactly once</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208259</commentid>
    <comment_count>1</comment_count>
      <attachid>52487</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-03 01:49:04 -0700</bug_when>
    <thetext>Created attachment 52487
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208260</commentid>
    <comment_count>2</comment_count>
      <attachid>52488</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-03 01:51:21 -0700</bug_when>
    <thetext>Created attachment 52488
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208261</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-03 01:53:49 -0700</bug_when>
    <thetext>Please review this change carefully.  This code is tricksy.

BTW, the BuildBot interface is really hard to use correctly because we have three presentations of a builder:
1) A Builder object
2) A dictionary of status information.
3) The builder&apos;s name.

It would be valuable to have the client always deal with builder objects (and to make the status information accessible via the Builder object).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208861</commentid>
    <comment_count>4</comment_count>
      <attachid>52488</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-05 19:43:11 -0700</bug_when>
    <thetext>Comment on attachment 52488
Patch

Why the crazy caching?
 109     def provoke_flaky_builders(self, revisions_causing_failures=None):
 110         if revisions_causing_failures == None:
 111             revisions_causing_failures = self._tool.buildbot.revisions_causing_failures()

I give you {}.values()
116         failed_builder_names = \
 117             set([revisions_causing_failures[key].name()
 118                  for key in revisions_causing_failures.keys()])

the red_idle_builders code should be its own function.

Otherwise looks OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208900</commentid>
    <comment_count>5</comment_count>
      <attachid>52606</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-05 22:44:17 -0700</bug_when>
    <thetext>Created attachment 52606
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208902</commentid>
    <comment_count>6</comment_count>
      <attachid>52606</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-05 22:50:51 -0700</bug_when>
    <thetext>Comment on attachment 52606
Patch

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208905</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-05 22:53:23 -0700</bug_when>
    <thetext>Committed r57125: &lt;http://trac.webkit.org/changeset/57125&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52487</attachid>
            <date>2010-04-03 01:49:04 -0700</date>
            <delta_ts>2010-04-03 01:51:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37059-20100403014903.patch</filename>
            <type>text/plain</type>
            <size>8780</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAyNzgxMTEwLi4yN2IzMDhiIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjUgQEAKIDIwMTAtMDQt
MDMgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAorICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaGVyaWZmQm90IHNob3VsZCBmb3JjZV9idWls
ZCBidWlsZGVycyB0aGF0IGFyZSBpZGxlIGFuZCBoYXZlIGZhaWxlZCBleGFjdGx5IG9uY2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MDU5CisKKyAg
ICAgICAgV2UgY2FuIGdldCBpbnRvIGEgZGVhZGxvY2tlZCBzdGF0ZSB3aGVyZSB0aGUgY29tbWl0
LXF1ZXVlIGlzIHN0b3BwZWQKKyAgICAgICAgYmVjYXVzZSB0aGUgYnVpbGRlcnMgYXJlIHJlZCBi
dXQgdGhlIFNoZXJpZmZCb3QgaGFzbid0IHRha2VuIGFjdGlvbgorICAgICAgICBiZWNhdXNlIHRo
ZSBidWlsZGVyIGhhcyBmYWlsZWQgb25seSBvbmNlLiAgVGhlIFNoZXJpZmZCb3Qgc2hvdWxkIGZv
cmNlCisgICAgICAgIGJ1aWxkIGlkbGUgYnVpbGRlcnMgdGhhdCBoYXZlIGZhaWxlZCBleGFjdGx5
IG9uY2UgdG8gZWl0aGVyIHR1cm4gdGhlCisgICAgICAgIHRyZWUgZ3JlZW4gYWdhaW4gKGlmIHRo
ZSB0ZXN0IHdhcyBmbGFreSkgb3IgdHJpZ2dlciB0aGUgImZhaWxlZCB0d2ljZSIKKyAgICAgICAg
cmVtZWRpZXMgKElSQyBhbmQgYnVnIHBvc3RzKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvY29tbW9uL25ldC9idWlsZGJvdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvYm90L3NoZXJpZmYucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9z
aGVyaWZmX3VuaXR0ZXN0LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21t
YW5kcy9zaGVyaWZmYm90LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9tb2Nr
dG9vbC5weToKKworMjAxMC0wNC0wMyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgor
CiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgogCiAgICAgICAgIEFkZCBUaWdlciBC
b3QgdG8gdGhlIGxpc3Qgb2YgImNvcmUgYnVpbGRlcnMiIChidWlsZGVycyB3aGljaCBibG9jayB0
aGUgY29tbWl0LXF1ZXVlIHdoZW4gcmVkKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vbmV0L2J1aWxkYm90LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vbmV0L2J1aWxkYm90LnB5CmluZGV4IDI3NjBkMzEuLmQ0NjQwNTEgMTAw
NjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWlsZGJv
dC5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRi
b3QucHkKQEAgLTMyMSw3ICszMjEsNyBAQCBjbGFzcyBCdWlsZEJvdChvYmplY3QpOgogICAgIGRl
ZiBfYnVpbGRlcl9zdGF0dXNlc193aXRoX25hbWVzX21hdGNoaW5nX3JlZ2V4cHMoc2VsZiwgYnVp
bGRlcl9zdGF0dXNlcywgbmFtZV9yZWdleHBzKToKICAgICAgICAgcmV0dXJuIFtidWlsZGVyIGZv
ciBidWlsZGVyIGluIGJ1aWxkZXJfc3RhdHVzZXMgaWYgc2VsZi5fbWF0Y2hlc19yZWdleHBzKGJ1
aWxkZXJbIm5hbWUiXSwgbmFtZV9yZWdleHBzKV0KIAotICAgIGRlZiByZWRfY29yZV9idWlsZGVy
cyhzZWxmKToKKyAgICBkZWYgcmVkX2NvcmVfYnVpbGRlcnMoc2VsZiwpOgogICAgICAgICByZXR1
cm4gW2J1aWxkZXIgZm9yIGJ1aWxkZXIgaW4gc2VsZi5jb3JlX2J1aWxkZXJfc3RhdHVzZXMoKSBp
ZiBub3QgYnVpbGRlclsiaXNfZ3JlZW4iXV0KIAogICAgIGRlZiByZWRfY29yZV9idWlsZGVyc19u
YW1lcyhzZWxmKToKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9v
bC9ib3Qvc2hlcmlmZi5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3Qv
c2hlcmlmZi5weQppbmRleCAyY2MwM2Y1Li44MjhmOWU0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3NoZXJpZmYucHkKKysrIGIvV2ViS2l0VG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9zaGVyaWZmLnB5CkBAIC0xMDQsMyArMTA0LDI1IEBA
IGNsYXNzIFNoZXJpZmYob2JqZWN0KToKICAgICAgICAgc2VsZi5fdG9vbC5idWdzLnBvc3RfY29t
bWVudF90b19idWcoY29tbWl0X2luZm8uYnVnX2lkKCksCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbW1lbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNjPXNlbGYuX3NoZXJpZmZib3Qud2F0Y2hlcnMpCisKKyAgICAj
IEZJWE1FOiBTaG91bGQgc29tZSBvZiB0aGlzIGxvZ2ljIGJlIG9uIEJ1aWxkQm90PworICAgIGRl
ZiBwcm92b2tlX2ZsYWt5X2J1aWxkZXJzKHNlbGYsIHJldmlzaW9uc19jYXVzaW5nX2ZhaWx1cmVz
PU5vbmUpOgorICAgICAgICBpZiByZXZpc2lvbnNfY2F1c2luZ19mYWlsdXJlcyA9PSBOb25lOgor
ICAgICAgICAgICAgcmV2aXNpb25zX2NhdXNpbmdfZmFpbHVyZXMgPSBzZWxmLl90b29sLmJ1aWxk
Ym90LnJldmlzaW9uc19jYXVzaW5nX2ZhaWx1cmVzKCkKKyAgICAgICAgIyBXZSBmb3JjZV9idWls
ZCBidWlsZGVycyB0aGF0IGFyZSByZWQgYnV0IGhhdmUgbm90ICJmYWlsZWQiIChpLmUuLCBiZWVu
IHJlZCB0d2ljZSkuCisgICAgICAgICMgV2UgZG8gdGhpcyB0byBhdm9pZCBhIGRlYWRsb2NrIHNp
dHVhdGlvbiB3aGVyZSBhIGZsYWt5IHRlc3QgYmxvY2tzCisgICAgICAgICMgdGhlIGNvbW1pdC1x
dWV1ZSBhbmQgdGhlcmUgYXJlbid0IGFueSBvdGhlciBwYXRjaGVzIGJlaW5nIGxhbmRlZCB0bwor
ICAgICAgICAjIHJlLXNwaW4gdGhlIGJ1aWxkZXIuCisgICAgICAgIGZhaWxlZF9idWlsZGVyX25h
bWVzID0gXAorICAgICAgICAgICAgc2V0KFtyZXZpc2lvbnNfY2F1c2luZ19mYWlsdXJlc1trZXld
Lm5hbWUoKQorICAgICAgICAgICAgICAgICBmb3Iga2V5IGluIHJldmlzaW9uc19jYXVzaW5nX2Zh
aWx1cmVzLmtleXMoKV0pCisgICAgICAgIHJlZF9idWlsZGVyX3N0YXR1c2VzID0gc2VsZi5fdG9v
bC5idWlsZGJvdC5yZWRfY29yZV9idWlsZGVycygpCisgICAgICAgICMgV2Ugb25seSB3YW50IHRv
IHByb3Zva2UgdGhlc2UgYnVpbGRlcnMgaWYgdGhleSBhcmUgaWRsZSBhbmQgaGF2ZSBub3QKKyAg
ICAgICAgIyB5ZXQgImZhaWxlZCIgKGkuZS4sIGJlZW4gcmVkIHR3aWNlKSB0byBhdm9pZCBvdmVy
bG9hZGluZyB0aGUgYm90cy4KKyAgICAgICAgaWRsZV9idWlsZGVycyA9IFtzZWxmLl90b29sLmJ1
aWxkYm90LmJ1aWxkZXJfd2l0aF9uYW1lKHN0YXR1c1sibmFtZSJdKQorICAgICAgICAgICAgICAg
ICAgICAgICAgIGZvciBzdGF0dXMgaW4gcmVkX2J1aWxkZXJfc3RhdHVzZXMKKyAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiBub3Qgc3RhdHVzWyJuYW1lIl0gaW4gZmFpbGVkX2J1aWxkZXJfbmFt
ZXMgYW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzWyJhY3Rpdml0eSJdID09
ICJpZGxlIl0KKyAgICAgICAgZm9yIGlkbGVfYnVpbGRlciBpbiBpZGxlX2J1aWxkZXJzOgorICAg
ICAgICAgICAgaWRsZV9idWlsZGVyLmZvcmNlX2J1aWxkKHVzZXJuYW1lPXNlbGYuX3NoZXJpZmZi
b3QubmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50cz0i
UHJvYmUgZm9yIGZsYWtpbmVzcy4iKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL2JvdC9zaGVyaWZmX3VuaXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL2JvdC9zaGVyaWZmX3VuaXR0ZXN0LnB5CmluZGV4IDQxOTEwNzAuLjg4
ZGQ0MzIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3Qv
c2hlcmlmZl91bml0dGVzdC5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvYm90L3NoZXJpZmZfdW5pdHRlc3QucHkKQEAgLTMwLDEyICszMCwxNCBAQCBpbXBvcnQgb3MK
IGltcG9ydCB1bml0dGVzdAogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5uZXQuYnVpbGRib3QgaW1w
b3J0IEJ1aWxkZXIKK2Zyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5vdXRwdXRjYXB0dXJlIGlt
cG9ydCBPdXRwdXRDYXB0dXJlCiBmcm9tIHdlYmtpdHB5LnRoaXJkcGFydHkubW9jayBpbXBvcnQg
TW9jawogZnJvbSB3ZWJraXRweS50b29sLmJvdC5zaGVyaWZmIGltcG9ydCBTaGVyaWZmCiBmcm9t
IHdlYmtpdHB5LnRvb2wubW9ja3Rvb2wgaW1wb3J0IE1vY2tUb29sLCBtb2NrX2J1aWxkZXIKIAog
CiBjbGFzcyBNb2NrU2hlcmlmZkJvdChvYmplY3QpOgorICAgIG5hbWUgPSAibW9jay1zaGVyaWZm
LWJvdCIKICAgICB3YXRjaGVycyA9IFsKICAgICAgICAgIndhdGNoZXJAZXhhbXBsZS5jb20iLAog
ICAgIF0KQEAgLTY4LDMgKzcwLDEzIEBAIGNsYXNzIFNoZXJpZmZUZXN0KHVuaXR0ZXN0LlRlc3RD
YXNlKToKICAgICAgICAgIyBTaG91bGQgdHJ5IHRvIHBvc3QgYSBjb21tZW50IHRvIHRoZSBidWcs
IGJ1dCBNb2NrVG9vbC5idWdzIGRvZXMgbm90aGluZy4KICAgICAgICAgY29tbWl0X2luZm8uYnVn
X2lkID0gbGFtYmRhOiAxMjM0CiAgICAgICAgIHNoZXJpZmYucG9zdF9ibGFtZV9jb21tZW50X29u
X2J1Zyhjb21taXRfaW5mbywgYnVpbGRlcnMpCisKKyAgICBkZWYgdGVzdF9wcm92b2tlX2ZsYWt5
X2J1aWxkZXJzKHNlbGYpOgorICAgICAgICBkZWYgcnVuKCk6CisgICAgICAgICAgICB0b29sID0g
TW9ja1Rvb2woKQorICAgICAgICAgICAgdG9vbC5idWlsZGJvdC5saWdodF90cmVlX29uX2ZpcmUo
KQorICAgICAgICAgICAgc2hlcmlmZiA9IFNoZXJpZmYodG9vbCwgTW9ja1NoZXJpZmZCb3QoKSkK
KyAgICAgICAgICAgIHJldmlzaW9uc19jYXVzaW5nX2ZhaWx1cmVzID0ge30KKyAgICAgICAgICAg
IHNoZXJpZmYucHJvdm9rZV9mbGFreV9idWlsZGVycyhyZXZpc2lvbnNfY2F1c2luZ19mYWlsdXJl
cz1yZXZpc2lvbnNfY2F1c2luZ19mYWlsdXJlcykKKyAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0g
Ik1PQ0s6IGZvcmNlX2J1aWxkOiBuYW1lPUJ1aWxkZXIyLCB1c2VybmFtZT1tb2NrLXNoZXJpZmYt
Ym90LCBjb21tZW50cz1Qcm9iZSBmb3IgZmxha2luZXNzLlxuIgorICAgICAgICBPdXRwdXRDYXB0
dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgcnVuLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRf
c3RkZXJyKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2Nv
bW1hbmRzL3NoZXJpZmZib3QucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
Y29tbWFuZHMvc2hlcmlmZmJvdC5weQppbmRleCA1MzYzZDMyLi42YzYyYmQyIDEwMDY0NAotLS0g
YS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvc2hlcmlmZmJvdC5w
eQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvc2hlcmlm
ZmJvdC5weQpAQCAtNjAsNyArNjAsOCBAQCBjbGFzcyBTaGVyaWZmQm90KEFic3RyYWN0UXVldWUs
IFN0ZXBTZXF1ZW5jZUVycm9ySGFuZGxlcik6CiAgICAgZGVmIG5leHRfd29ya19pdGVtKHNlbGYp
OgogICAgICAgICBzZWxmLl9pcmNfYm90LnByb2Nlc3NfcGVuZGluZ19tZXNzYWdlcygpCiAgICAg
ICAgIHNlbGYuX3VwZGF0ZSgpCi0gICAgICAgIGZvciBzdm5fcmV2aXNpb24sIGJ1aWxkZXJzIGlu
IHNlbGYudG9vbC5idWlsZGJvdC5yZXZpc2lvbnNfY2F1c2luZ19mYWlsdXJlcygpLml0ZW1zKCk6
CisgICAgICAgIHJldmlzaW9uc19jYXVzaW5nX2ZhaWx1cmVzID0gc2VsZi50b29sLmJ1aWxkYm90
LnJldmlzaW9uc19jYXVzaW5nX2ZhaWx1cmVzKCkKKyAgICAgICAgZm9yIHN2bl9yZXZpc2lvbiwg
YnVpbGRlcnMgaW4gcmV2aXNpb25zX2NhdXNpbmdfZmFpbHVyZXMuaXRlbXMoKToKICAgICAgICAg
ICAgIGlmIHNlbGYudG9vbC5zdGF0dXNfc2VydmVyLnN2bl9yZXZpc2lvbihzdm5fcmV2aXNpb24p
OgogICAgICAgICAgICAgICAgICMgRklYTUU6IFdlIHNob3VsZCByZS1wcm9jZXNzIHRoZSB3b3Jr
IGl0ZW0gYWZ0ZXIgc29tZSB0aW1lIGRlbGF5LgogICAgICAgICAgICAgICAgICMgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2NTgxCkBAIC03MCw2ICs3MSw3IEBAIGNs
YXNzIFNoZXJpZmZCb3QoQWJzdHJhY3RRdWV1ZSwgU3RlcFNlcXVlbmNlRXJyb3JIYW5kbGVyKToK
ICAgICAgICAgICAgICAgICAiYnVpbGRlcnMiOiBidWlsZGVycywKICAgICAgICAgICAgICAgICAj
IEZJWE1FOiBTaGVyaWZmLl9yb2xsb3V0X3JlYXNvbiBuZWVkcyBCdWlsZCBvYmplY3RzIHdoaWNo
IHdlIGNvdWxkIHBhc3MgaGVyZS4KICAgICAgICAgICAgIH0KKyAgICAgICAgc2VsZi5fc2hlcmlm
Zi5wcm92b2tlX2ZsYWt5X2J1aWxkZXJzKHJldmlzaW9uc19jYXVzaW5nX2ZhaWx1cmVzKQogICAg
ICAgICByZXR1cm4gTm9uZQogCiAgICAgZGVmIHNob3VsZF9wcm9jZWVkX3dpdGhfd29ya19pdGVt
KHNlbGYsIGZhaWx1cmVfaW5mbyk6CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvbW9ja3Rvb2wucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvbW9ja3Rvb2wucHkKaW5kZXggZWFiMWIxOS4uOTdmOTE5YSAxMDA2NDQKLS0tIGEvV2ViS2l0
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL21vY2t0b29sLnB5CisrKyBiL1dlYktpdFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdG9vbC9tb2NrdG9vbC5weQpAQCAtMjkyLDMwICsyOTIsNTMgQEAg
Y2xhc3MgTW9ja0J1Z3ppbGxhKE1vY2spOgogICAgICAgICByZXR1cm4gIiVzLyVzJXMiICUgKHNl
bGYuYnVnX3NlcnZlcl91cmwsIGF0dGFjaG1lbnRfaWQsIGFjdGlvbl9wYXJhbSkKIAogCitjbGFz
cyBNb2NrQnVpbGRlcihvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lKToKKyAg
ICAgICAgc2VsZi5fbmFtZSA9IG5hbWUKKworICAgIGRlZiBmb3JjZV9idWlsZChzZWxmLCB1c2Vy
bmFtZSwgY29tbWVudHMpOgorICAgICAgICBsb2coIk1PQ0s6IGZvcmNlX2J1aWxkOiBuYW1lPSVz
LCB1c2VybmFtZT0lcywgY29tbWVudHM9JXMiICUgKAorICAgICAgICAgICAgc2VsZi5fbmFtZSwg
dXNlcm5hbWUsIGNvbW1lbnRzKSkKKworCiBjbGFzcyBNb2NrQnVpbGRCb3Qob2JqZWN0KToKIAog
ICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgc2VsZi5fdHJlZV9pc19vbl9maXJlID0g
RmFsc2UKLQotICAgIGRlZiBidWlsZGVyX3N0YXR1c2VzKHNlbGYpOgotICAgICAgICByZXR1cm4g
W3sKKyAgICAgICAgc2VsZi5fbW9ja19idWlsZGVyMV9zdGF0dXMgPSB7CiAgICAgICAgICAgICAi
bmFtZSI6ICJCdWlsZGVyMSIsCiAgICAgICAgICAgICAiaXNfZ3JlZW4iOiBUcnVlLAotICAgICAg
ICB9LCB7CisgICAgICAgICAgICAiYWN0aXZpdHkiOiAiYnVpbGRpbmciLAorICAgICAgICB9Cisg
ICAgICAgIHNlbGYuX21vY2tfYnVpbGRlcjJfc3RhdHVzID0gewogICAgICAgICAgICAgIm5hbWUi
OiAiQnVpbGRlcjIiLAotICAgICAgICAgICAgImlzX2dyZWVuIjogbm90IHNlbGYuX3RyZWVfaXNf
b25fZmlyZSwKLSAgICAgICAgfV0KKyAgICAgICAgICAgICJpc19ncmVlbiI6IFRydWUsCisgICAg
ICAgICAgICAiYWN0aXZpdHkiOiAiaWRsZSIsCisgICAgICAgIH0KKworICAgIGRlZiBidWlsZGVy
X3dpdGhfbmFtZShzZWxmLCBuYW1lKToKKyAgICAgICAgcmV0dXJuIE1vY2tCdWlsZGVyKG5hbWUp
CisKKyAgICBkZWYgYnVpbGRlcl9zdGF0dXNlcyhzZWxmKToKKyAgICAgICAgcmV0dXJuIFsKKyAg
ICAgICAgICAgIHNlbGYuX21vY2tfYnVpbGRlcjFfc3RhdHVzLAorICAgICAgICAgICAgc2VsZi5f
bW9ja19idWlsZGVyMl9zdGF0dXMsCisgICAgICAgIF0KIAogICAgIGRlZiByZWRfY29yZV9idWls
ZGVyc19uYW1lcyhzZWxmKToKLSAgICAgICAgaWYgc2VsZi5fdHJlZV9pc19vbl9maXJlOgotICAg
ICAgICAgICAgcmV0dXJuICJCdWlsZGVyMiIKKyAgICAgICAgaWYgbm90IHNlbGYuX21vY2tfYnVp
bGRlcjJfc3RhdHVzWyJpc19ncmVlbiJdOgorICAgICAgICAgICAgcmV0dXJuIFtzZWxmLl9tb2Nr
X2J1aWxkZXIyX3N0YXR1c1sibmFtZSJdXQorICAgICAgICByZXR1cm4gW10KKworICAgIGRlZiBy
ZWRfY29yZV9idWlsZGVycyhzZWxmKToKKyAgICAgICAgaWYgbm90IHNlbGYuX21vY2tfYnVpbGRl
cjJfc3RhdHVzWyJpc19ncmVlbiJdOgorICAgICAgICAgICAgcmV0dXJuIFtzZWxmLl9tb2NrX2J1
aWxkZXIyX3N0YXR1c10KICAgICAgICAgcmV0dXJuIFtdCiAKICAgICBkZWYgbGFzdF9ncmVlbl9y
ZXZpc2lvbihzZWxmKToKICAgICAgICAgcmV0dXJuIDk0NzkKIAogICAgIGRlZiBsaWdodF90cmVl
X29uX2ZpcmUoc2VsZik6Ci0gICAgICAgIHNlbGYuX3RyZWVfaXNfb25fZmlyZSA9IFRydWUKKyAg
ICAgICAgc2VsZi5fbW9ja19idWlsZGVyMl9zdGF0dXNbImlzX2dyZWVuIl0gPSBGYWxzZQogCiAg
ICAgZGVmIHJldmlzaW9uc19jYXVzaW5nX2ZhaWx1cmVzKHNlbGYpOgogICAgICAgICByZXR1cm4g
ewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52488</attachid>
            <date>2010-04-03 01:51:21 -0700</date>
            <delta_ts>2010-04-05 22:44:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37059-20100403015120.patch</filename>
            <type>text/plain</type>
            <size>8001</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAyNzgxMTEwLi5jNzU0NjdiIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjQgQEAKIDIwMTAtMDQt
MDMgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAorICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaGVyaWZmQm90IHNob3VsZCBmb3JjZV9idWls
ZCBidWlsZGVycyB0aGF0IGFyZSBpZGxlIGFuZCBoYXZlIGZhaWxlZCBleGFjdGx5IG9uY2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MDU5CisKKyAg
ICAgICAgV2UgY2FuIGdldCBpbnRvIGEgZGVhZGxvY2tlZCBzdGF0ZSB3aGVyZSB0aGUgY29tbWl0
LXF1ZXVlIGlzIHN0b3BwZWQKKyAgICAgICAgYmVjYXVzZSB0aGUgYnVpbGRlcnMgYXJlIHJlZCBi
dXQgdGhlIFNoZXJpZmZCb3QgaGFzbid0IHRha2VuIGFjdGlvbgorICAgICAgICBiZWNhdXNlIHRo
ZSBidWlsZGVyIGhhcyBmYWlsZWQgb25seSBvbmNlLiAgVGhlIFNoZXJpZmZCb3Qgc2hvdWxkIGZv
cmNlCisgICAgICAgIGJ1aWxkIGlkbGUgYnVpbGRlcnMgdGhhdCBoYXZlIGZhaWxlZCBleGFjdGx5
IG9uY2UgdG8gZWl0aGVyIHR1cm4gdGhlCisgICAgICAgIHRyZWUgZ3JlZW4gYWdhaW4gKGlmIHRo
ZSB0ZXN0IHdhcyBmbGFreSkgb3IgdHJpZ2dlciB0aGUgImZhaWxlZCB0d2ljZSIKKyAgICAgICAg
cmVtZWRpZXMgKElSQyBhbmQgYnVnIHBvc3RzKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvdG9vbC9ib3Qvc2hlcmlmZi5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
Ym90L3NoZXJpZmZfdW5pdHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29s
L2NvbW1hbmRzL3NoZXJpZmZib3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29s
L21vY2t0b29sLnB5OgorCisyMDEwLTA0LTAzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5v
cmc+CisKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCiAKICAgICAgICAgQWRkIFRp
Z2VyIEJvdCB0byB0aGUgbGlzdCBvZiAiY29yZSBidWlsZGVycyIgKGJ1aWxkZXJzIHdoaWNoIGJs
b2NrIHRoZSBjb21taXQtcXVldWUgd2hlbiByZWQpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3NoZXJpZmYucHkgYi9XZWJLaXRUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvYm90L3NoZXJpZmYucHkKaW5kZXggMmNjMDNmNS4uODI4ZjllNCAxMDA2
NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9zaGVyaWZmLnB5
CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3Qvc2hlcmlmZi5weQpA
QCAtMTA0LDMgKzEwNCwyNSBAQCBjbGFzcyBTaGVyaWZmKG9iamVjdCk6CiAgICAgICAgIHNlbGYu
X3Rvb2wuYnVncy5wb3N0X2NvbW1lbnRfdG9fYnVnKGNvbW1pdF9pbmZvLmJ1Z19pZCgpLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYz1zZWxmLl9zaGVyaWZmYm90
LndhdGNoZXJzKQorCisgICAgIyBGSVhNRTogU2hvdWxkIHNvbWUgb2YgdGhpcyBsb2dpYyBiZSBv
biBCdWlsZEJvdD8KKyAgICBkZWYgcHJvdm9rZV9mbGFreV9idWlsZGVycyhzZWxmLCByZXZpc2lv
bnNfY2F1c2luZ19mYWlsdXJlcz1Ob25lKToKKyAgICAgICAgaWYgcmV2aXNpb25zX2NhdXNpbmdf
ZmFpbHVyZXMgPT0gTm9uZToKKyAgICAgICAgICAgIHJldmlzaW9uc19jYXVzaW5nX2ZhaWx1cmVz
ID0gc2VsZi5fdG9vbC5idWlsZGJvdC5yZXZpc2lvbnNfY2F1c2luZ19mYWlsdXJlcygpCisgICAg
ICAgICMgV2UgZm9yY2VfYnVpbGQgYnVpbGRlcnMgdGhhdCBhcmUgcmVkIGJ1dCBoYXZlIG5vdCAi
ZmFpbGVkIiAoaS5lLiwgYmVlbiByZWQgdHdpY2UpLgorICAgICAgICAjIFdlIGRvIHRoaXMgdG8g
YXZvaWQgYSBkZWFkbG9jayBzaXR1YXRpb24gd2hlcmUgYSBmbGFreSB0ZXN0IGJsb2NrcworICAg
ICAgICAjIHRoZSBjb21taXQtcXVldWUgYW5kIHRoZXJlIGFyZW4ndCBhbnkgb3RoZXIgcGF0Y2hl
cyBiZWluZyBsYW5kZWQgdG8KKyAgICAgICAgIyByZS1zcGluIHRoZSBidWlsZGVyLgorICAgICAg
ICBmYWlsZWRfYnVpbGRlcl9uYW1lcyA9IFwKKyAgICAgICAgICAgIHNldChbcmV2aXNpb25zX2Nh
dXNpbmdfZmFpbHVyZXNba2V5XS5uYW1lKCkKKyAgICAgICAgICAgICAgICAgZm9yIGtleSBpbiBy
ZXZpc2lvbnNfY2F1c2luZ19mYWlsdXJlcy5rZXlzKCldKQorICAgICAgICByZWRfYnVpbGRlcl9z
dGF0dXNlcyA9IHNlbGYuX3Rvb2wuYnVpbGRib3QucmVkX2NvcmVfYnVpbGRlcnMoKQorICAgICAg
ICAjIFdlIG9ubHkgd2FudCB0byBwcm92b2tlIHRoZXNlIGJ1aWxkZXJzIGlmIHRoZXkgYXJlIGlk
bGUgYW5kIGhhdmUgbm90CisgICAgICAgICMgeWV0ICJmYWlsZWQiIChpLmUuLCBiZWVuIHJlZCB0
d2ljZSkgdG8gYXZvaWQgb3ZlcmxvYWRpbmcgdGhlIGJvdHMuCisgICAgICAgIGlkbGVfYnVpbGRl
cnMgPSBbc2VsZi5fdG9vbC5idWlsZGJvdC5idWlsZGVyX3dpdGhfbmFtZShzdGF0dXNbIm5hbWUi
XSkKKyAgICAgICAgICAgICAgICAgICAgICAgICBmb3Igc3RhdHVzIGluIHJlZF9idWlsZGVyX3N0
YXR1c2VzCisgICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IHN0YXR1c1sibmFtZSJdIGlu
IGZhaWxlZF9idWlsZGVyX25hbWVzIGFuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0
YXR1c1siYWN0aXZpdHkiXSA9PSAiaWRsZSJdCisgICAgICAgIGZvciBpZGxlX2J1aWxkZXIgaW4g
aWRsZV9idWlsZGVyczoKKyAgICAgICAgICAgIGlkbGVfYnVpbGRlci5mb3JjZV9idWlsZCh1c2Vy
bmFtZT1zZWxmLl9zaGVyaWZmYm90Lm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29tbWVudHM9IlByb2JlIGZvciBmbGFraW5lc3MuIikKZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3Qvc2hlcmlmZl91bml0dGVzdC5weSBi
L1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3Qvc2hlcmlmZl91bml0dGVzdC5w
eQppbmRleCA0MTkxMDcwLi44OGRkNDMyIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvYm90L3NoZXJpZmZfdW5pdHRlc3QucHkKKysrIGIvV2ViS2l0VG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9zaGVyaWZmX3VuaXR0ZXN0LnB5CkBAIC0zMCwxMiAr
MzAsMTQgQEAgaW1wb3J0IG9zCiBpbXBvcnQgdW5pdHRlc3QKIAogZnJvbSB3ZWJraXRweS5jb21t
b24ubmV0LmJ1aWxkYm90IGltcG9ydCBCdWlsZGVyCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0
ZW0ub3V0cHV0Y2FwdHVyZSBpbXBvcnQgT3V0cHV0Q2FwdHVyZQogZnJvbSB3ZWJraXRweS50aGly
ZHBhcnR5Lm1vY2sgaW1wb3J0IE1vY2sKIGZyb20gd2Via2l0cHkudG9vbC5ib3Quc2hlcmlmZiBp
bXBvcnQgU2hlcmlmZgogZnJvbSB3ZWJraXRweS50b29sLm1vY2t0b29sIGltcG9ydCBNb2NrVG9v
bCwgbW9ja19idWlsZGVyCiAKIAogY2xhc3MgTW9ja1NoZXJpZmZCb3Qob2JqZWN0KToKKyAgICBu
YW1lID0gIm1vY2stc2hlcmlmZi1ib3QiCiAgICAgd2F0Y2hlcnMgPSBbCiAgICAgICAgICJ3YXRj
aGVyQGV4YW1wbGUuY29tIiwKICAgICBdCkBAIC02OCwzICs3MCwxMyBAQCBjbGFzcyBTaGVyaWZm
VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICMgU2hvdWxkIHRyeSB0byBwb3N0IGEg
Y29tbWVudCB0byB0aGUgYnVnLCBidXQgTW9ja1Rvb2wuYnVncyBkb2VzIG5vdGhpbmcuCiAgICAg
ICAgIGNvbW1pdF9pbmZvLmJ1Z19pZCA9IGxhbWJkYTogMTIzNAogICAgICAgICBzaGVyaWZmLnBv
c3RfYmxhbWVfY29tbWVudF9vbl9idWcoY29tbWl0X2luZm8sIGJ1aWxkZXJzKQorCisgICAgZGVm
IHRlc3RfcHJvdm9rZV9mbGFreV9idWlsZGVycyhzZWxmKToKKyAgICAgICAgZGVmIHJ1bigpOgor
ICAgICAgICAgICAgdG9vbCA9IE1vY2tUb29sKCkKKyAgICAgICAgICAgIHRvb2wuYnVpbGRib3Qu
bGlnaHRfdHJlZV9vbl9maXJlKCkKKyAgICAgICAgICAgIHNoZXJpZmYgPSBTaGVyaWZmKHRvb2ws
IE1vY2tTaGVyaWZmQm90KCkpCisgICAgICAgICAgICByZXZpc2lvbnNfY2F1c2luZ19mYWlsdXJl
cyA9IHt9CisgICAgICAgICAgICBzaGVyaWZmLnByb3Zva2VfZmxha3lfYnVpbGRlcnMocmV2aXNp
b25zX2NhdXNpbmdfZmFpbHVyZXM9cmV2aXNpb25zX2NhdXNpbmdfZmFpbHVyZXMpCisgICAgICAg
IGV4cGVjdGVkX3N0ZGVyciA9ICJNT0NLOiBmb3JjZV9idWlsZDogbmFtZT1CdWlsZGVyMiwgdXNl
cm5hbWU9bW9jay1zaGVyaWZmLWJvdCwgY29tbWVudHM9UHJvYmUgZm9yIGZsYWtpbmVzcy5cbiIK
KyAgICAgICAgT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIHJ1biwgZXhwZWN0
ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9zaGVyaWZmYm90LnB5IGIvV2ViS2l0VG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3NoZXJpZmZib3QucHkKaW5kZXggNTM2M2QzMi4u
NmM2MmJkMiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2Nv
bW1hbmRzL3NoZXJpZmZib3QucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL2NvbW1hbmRzL3NoZXJpZmZib3QucHkKQEAgLTYwLDcgKzYwLDggQEAgY2xhc3MgU2hlcmlm
ZkJvdChBYnN0cmFjdFF1ZXVlLCBTdGVwU2VxdWVuY2VFcnJvckhhbmRsZXIpOgogICAgIGRlZiBu
ZXh0X3dvcmtfaXRlbShzZWxmKToKICAgICAgICAgc2VsZi5faXJjX2JvdC5wcm9jZXNzX3BlbmRp
bmdfbWVzc2FnZXMoKQogICAgICAgICBzZWxmLl91cGRhdGUoKQotICAgICAgICBmb3Igc3ZuX3Jl
dmlzaW9uLCBidWlsZGVycyBpbiBzZWxmLnRvb2wuYnVpbGRib3QucmV2aXNpb25zX2NhdXNpbmdf
ZmFpbHVyZXMoKS5pdGVtcygpOgorICAgICAgICByZXZpc2lvbnNfY2F1c2luZ19mYWlsdXJlcyA9
IHNlbGYudG9vbC5idWlsZGJvdC5yZXZpc2lvbnNfY2F1c2luZ19mYWlsdXJlcygpCisgICAgICAg
IGZvciBzdm5fcmV2aXNpb24sIGJ1aWxkZXJzIGluIHJldmlzaW9uc19jYXVzaW5nX2ZhaWx1cmVz
Lml0ZW1zKCk6CiAgICAgICAgICAgICBpZiBzZWxmLnRvb2wuc3RhdHVzX3NlcnZlci5zdm5fcmV2
aXNpb24oc3ZuX3JldmlzaW9uKToKICAgICAgICAgICAgICAgICAjIEZJWE1FOiBXZSBzaG91bGQg
cmUtcHJvY2VzcyB0aGUgd29yayBpdGVtIGFmdGVyIHNvbWUgdGltZSBkZWxheS4KICAgICAgICAg
ICAgICAgICAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjU4MQpA
QCAtNzAsNiArNzEsNyBAQCBjbGFzcyBTaGVyaWZmQm90KEFic3RyYWN0UXVldWUsIFN0ZXBTZXF1
ZW5jZUVycm9ySGFuZGxlcik6CiAgICAgICAgICAgICAgICAgImJ1aWxkZXJzIjogYnVpbGRlcnMs
CiAgICAgICAgICAgICAgICAgIyBGSVhNRTogU2hlcmlmZi5fcm9sbG91dF9yZWFzb24gbmVlZHMg
QnVpbGQgb2JqZWN0cyB3aGljaCB3ZSBjb3VsZCBwYXNzIGhlcmUuCiAgICAgICAgICAgICB9Cisg
ICAgICAgIHNlbGYuX3NoZXJpZmYucHJvdm9rZV9mbGFreV9idWlsZGVycyhyZXZpc2lvbnNfY2F1
c2luZ19mYWlsdXJlcykKICAgICAgICAgcmV0dXJuIE5vbmUKIAogICAgIGRlZiBzaG91bGRfcHJv
Y2VlZF93aXRoX3dvcmtfaXRlbShzZWxmLCBmYWlsdXJlX2luZm8pOgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL21vY2t0b29sLnB5IGIvV2ViS2l0VG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b29sL21vY2t0b29sLnB5CmluZGV4IGVhYjFiMTkuLjk3ZjkxOWEg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9tb2NrdG9vbC5w
eQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbW9ja3Rvb2wucHkKQEAg
LTI5MiwzMCArMjkyLDUzIEBAIGNsYXNzIE1vY2tCdWd6aWxsYShNb2NrKToKICAgICAgICAgcmV0
dXJuICIlcy8lcyVzIiAlIChzZWxmLmJ1Z19zZXJ2ZXJfdXJsLCBhdHRhY2htZW50X2lkLCBhY3Rp
b25fcGFyYW0pCiAKIAorY2xhc3MgTW9ja0J1aWxkZXIob2JqZWN0KToKKyAgICBkZWYgX19pbml0
X18oc2VsZiwgbmFtZSk6CisgICAgICAgIHNlbGYuX25hbWUgPSBuYW1lCisKKyAgICBkZWYgZm9y
Y2VfYnVpbGQoc2VsZiwgdXNlcm5hbWUsIGNvbW1lbnRzKToKKyAgICAgICAgbG9nKCJNT0NLOiBm
b3JjZV9idWlsZDogbmFtZT0lcywgdXNlcm5hbWU9JXMsIGNvbW1lbnRzPSVzIiAlICgKKyAgICAg
ICAgICAgIHNlbGYuX25hbWUsIHVzZXJuYW1lLCBjb21tZW50cykpCisKKwogY2xhc3MgTW9ja0J1
aWxkQm90KG9iamVjdCk6CiAKICAgICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgIHNlbGYu
X3RyZWVfaXNfb25fZmlyZSA9IEZhbHNlCi0KLSAgICBkZWYgYnVpbGRlcl9zdGF0dXNlcyhzZWxm
KToKLSAgICAgICAgcmV0dXJuIFt7CisgICAgICAgIHNlbGYuX21vY2tfYnVpbGRlcjFfc3RhdHVz
ID0gewogICAgICAgICAgICAgIm5hbWUiOiAiQnVpbGRlcjEiLAogICAgICAgICAgICAgImlzX2dy
ZWVuIjogVHJ1ZSwKLSAgICAgICAgfSwgeworICAgICAgICAgICAgImFjdGl2aXR5IjogImJ1aWxk
aW5nIiwKKyAgICAgICAgfQorICAgICAgICBzZWxmLl9tb2NrX2J1aWxkZXIyX3N0YXR1cyA9IHsK
ICAgICAgICAgICAgICJuYW1lIjogIkJ1aWxkZXIyIiwKLSAgICAgICAgICAgICJpc19ncmVlbiI6
IG5vdCBzZWxmLl90cmVlX2lzX29uX2ZpcmUsCi0gICAgICAgIH1dCisgICAgICAgICAgICAiaXNf
Z3JlZW4iOiBUcnVlLAorICAgICAgICAgICAgImFjdGl2aXR5IjogImlkbGUiLAorICAgICAgICB9
CisKKyAgICBkZWYgYnVpbGRlcl93aXRoX25hbWUoc2VsZiwgbmFtZSk6CisgICAgICAgIHJldHVy
biBNb2NrQnVpbGRlcihuYW1lKQorCisgICAgZGVmIGJ1aWxkZXJfc3RhdHVzZXMoc2VsZik6Cisg
ICAgICAgIHJldHVybiBbCisgICAgICAgICAgICBzZWxmLl9tb2NrX2J1aWxkZXIxX3N0YXR1cywK
KyAgICAgICAgICAgIHNlbGYuX21vY2tfYnVpbGRlcjJfc3RhdHVzLAorICAgICAgICBdCiAKICAg
ICBkZWYgcmVkX2NvcmVfYnVpbGRlcnNfbmFtZXMoc2VsZik6Ci0gICAgICAgIGlmIHNlbGYuX3Ry
ZWVfaXNfb25fZmlyZToKLSAgICAgICAgICAgIHJldHVybiAiQnVpbGRlcjIiCisgICAgICAgIGlm
IG5vdCBzZWxmLl9tb2NrX2J1aWxkZXIyX3N0YXR1c1siaXNfZ3JlZW4iXToKKyAgICAgICAgICAg
IHJldHVybiBbc2VsZi5fbW9ja19idWlsZGVyMl9zdGF0dXNbIm5hbWUiXV0KKyAgICAgICAgcmV0
dXJuIFtdCisKKyAgICBkZWYgcmVkX2NvcmVfYnVpbGRlcnMoc2VsZik6CisgICAgICAgIGlmIG5v
dCBzZWxmLl9tb2NrX2J1aWxkZXIyX3N0YXR1c1siaXNfZ3JlZW4iXToKKyAgICAgICAgICAgIHJl
dHVybiBbc2VsZi5fbW9ja19idWlsZGVyMl9zdGF0dXNdCiAgICAgICAgIHJldHVybiBbXQogCiAg
ICAgZGVmIGxhc3RfZ3JlZW5fcmV2aXNpb24oc2VsZik6CiAgICAgICAgIHJldHVybiA5NDc5CiAK
ICAgICBkZWYgbGlnaHRfdHJlZV9vbl9maXJlKHNlbGYpOgotICAgICAgICBzZWxmLl90cmVlX2lz
X29uX2ZpcmUgPSBUcnVlCisgICAgICAgIHNlbGYuX21vY2tfYnVpbGRlcjJfc3RhdHVzWyJpc19n
cmVlbiJdID0gRmFsc2UKIAogICAgIGRlZiByZXZpc2lvbnNfY2F1c2luZ19mYWlsdXJlcyhzZWxm
KToKICAgICAgICAgcmV0dXJuIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52606</attachid>
            <date>2010-04-05 22:44:17 -0700</date>
            <delta_ts>2010-04-05 22:50:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37059-20100405224416.patch</filename>
            <type>text/plain</type>
            <size>8839</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBjNmM2NjMzLi5lNmZmYTFkIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTAtMDQt
MDUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaGVyaWZmQm90IHNob3VsZCBmb3JjZV9idWls
ZCBidWlsZGVycyB0aGF0IGFyZSBpZGxlIGFuZCBoYXZlIGZhaWxlZCBleGFjdGx5IG9uY2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MDU5CisKKyAg
ICAgICAgV2UgY2FuIGdldCBpbnRvIGEgZGVhZGxvY2tlZCBzdGF0ZSB3aGVyZSB0aGUgY29tbWl0
LXF1ZXVlIGlzIHN0b3BwZWQKKyAgICAgICAgYmVjYXVzZSB0aGUgYnVpbGRlcnMgYXJlIHJlZCBi
dXQgdGhlIFNoZXJpZmZCb3QgaGFzbid0IHRha2VuIGFjdGlvbgorICAgICAgICBiZWNhdXNlIHRo
ZSBidWlsZGVyIGhhcyBmYWlsZWQgb25seSBvbmNlLiAgVGhlIFNoZXJpZmZCb3Qgc2hvdWxkIGZv
cmNlCisgICAgICAgIGJ1aWxkIGlkbGUgYnVpbGRlcnMgdGhhdCBoYXZlIGZhaWxlZCBleGFjdGx5
IG9uY2UgdG8gZWl0aGVyIHR1cm4gdGhlCisgICAgICAgIHRyZWUgZ3JlZW4gYWdhaW4gKGlmIHRo
ZSB0ZXN0IHdhcyBmbGFreSkgb3IgdHJpZ2dlciB0aGUgImZhaWxlZCB0d2ljZSIKKyAgICAgICAg
cmVtZWRpZXMgKElSQyBhbmQgYnVnIHBvc3RzKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvY29tbW9uL25ldC9idWlsZGJvdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvYm90L3NoZXJpZmYucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9z
aGVyaWZmX3VuaXR0ZXN0LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21t
YW5kcy9zaGVyaWZmYm90LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9tb2Nr
dG9vbC5weToKKwogMjAxMC0wNC0wNSAgQ2hyaXMgSmVyZG9uZWsgIDxjamVyZG9uZWtAd2Via2l0
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaGluaWNoaXJvIEhhbWFqaS4KZGlmZiAtLWdp
dCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWlsZGJvdC5weSBi
L1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWlsZGJvdC5weQppbmRl
eCA2MjliZGMyLi4yZDBlOTA1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9uZXQvYnVpbGRib3QucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vbmV0L2J1aWxkYm90LnB5CkBAIC0zNjksNiArMzY5LDkgQEAgY2xhc3MgQnVp
bGRCb3Qob2JqZWN0KToKICAgICBkZWYgcmVkX2NvcmVfYnVpbGRlcnNfbmFtZXMoc2VsZik6CiAg
ICAgICAgIHJldHVybiBbYnVpbGRlclsibmFtZSJdIGZvciBidWlsZGVyIGluIHNlbGYucmVkX2Nv
cmVfYnVpbGRlcnMoKV0KIAorICAgIGRlZiBpZGxlX3JlZF9idWlsZGVycyhzZWxmKToKKyAgICAg
ICAgcmV0dXJuIFtidWlsZGVyIGZvciBidWlsZGVyIGluIHNlbGYucmVkX2NvcmVfYnVpbGRlcnMo
KSBpZiBidWlsZGVyWyJhY3Rpdml0eSJdID09ICJpZGxlIl0KKwogICAgIGRlZiBjb3JlX2J1aWxk
ZXJzX2FyZV9ncmVlbihzZWxmKToKICAgICAgICAgcmV0dXJuIG5vdCBzZWxmLnJlZF9jb3JlX2J1
aWxkZXJzKCkKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29s
L2JvdC9zaGVyaWZmLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9z
aGVyaWZmLnB5CmluZGV4IDQzZmIzM2YuLmY0OWVhYTEgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3Qvc2hlcmlmZi5weQorKysgYi9XZWJLaXRUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3NoZXJpZmYucHkKQEAgLTEwNywzICsxMDcsMjYgQEAg
Y2xhc3MgU2hlcmlmZihvYmplY3QpOgogICAgICAgICBzZWxmLl90b29sLmJ1Z3MucG9zdF9jb21t
ZW50X3RvX2J1Zyhjb21taXRfaW5mby5idWdfaWQoKSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29tbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2M9c2VsZi5fc2hlcmlmZmJvdC53YXRjaGVycykKKworICAgICMg
RklYTUU6IFNob3VsZCBzb21lIG9mIHRoaXMgbG9naWMgYmUgb24gQnVpbGRCb3Q/CisgICAgZGVm
IHByb3Zva2VfZmxha3lfYnVpbGRlcnMoc2VsZiwgcmV2aXNpb25zX2NhdXNpbmdfZmFpbHVyZXMp
OgorICAgICAgICAjIFdlIGZvcmNlX2J1aWxkIGJ1aWxkZXJzIHRoYXQgYXJlIHJlZCBidXQgaGF2
ZSBub3QgImZhaWxlZCIgKGkuZS4sCisgICAgICAgICMgYmVlbiByZWQgdHdpY2UpLiBXZSBkbyB0
aGlzIHRvIGF2b2lkIGEgZGVhZGxvY2sgc2l0dWF0aW9uIHdoZXJlIGEKKyAgICAgICAgIyBmbGFr
eSB0ZXN0IGJsb2NrcyB0aGUgY29tbWl0LXF1ZXVlIGFuZCB0aGVyZSBhcmVuJ3QgYW55IG90aGVy
CisgICAgICAgICMgcGF0Y2hlcyBiZWluZyBsYW5kZWQgdG8gcmUtc3BpbiB0aGUgYnVpbGRlci4K
KyAgICAgICAgZmFpbGVkX2J1aWxkZXJzID0gc3VtKFtyZXZpc2lvbnNfY2F1c2luZ19mYWlsdXJl
c1trZXldIGZvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleSBpbiByZXZpc2lv
bnNfY2F1c2luZ19mYWlsdXJlcy5rZXlzKCldLCBbXSkKKyAgICAgICAgZmFpbGVkX2J1aWxkZXJf
bmFtZXMgPSBcCisgICAgICAgICAgICBzZXQoW2J1aWxkZXIubmFtZSgpIGZvciBidWlsZGVyIGlu
IGZhaWxlZF9idWlsZGVyc10pCisgICAgICAgIGlkbGVfcmVkX2J1aWxkZXJfbmFtZXMgPSBcCisg
ICAgICAgICAgICBzZXQoW2J1aWxkZXJbIm5hbWUiXQorICAgICAgICAgICAgICAgICBmb3IgYnVp
bGRlciBpbiBzZWxmLl90b29sLmJ1aWxkYm90LmlkbGVfcmVkX2J1aWxkZXJzKCldKQorCisgICAg
ICAgICMgV2Ugb25seSB3YW50IHRvIHByb3Zva2UgdGhlc2UgYnVpbGRlcnMgaWYgdGhleSBhcmUg
aWRsZSBhbmQgaGF2ZSBub3QKKyAgICAgICAgIyB5ZXQgImZhaWxlZCIgKGkuZS4sIGJlZW4gcmVk
IHR3aWNlKSB0byBhdm9pZCBvdmVybG9hZGluZyB0aGUgYm90cy4KKyAgICAgICAgZmxha3lfYnVp
bGRlcl9uYW1lcyA9IGlkbGVfcmVkX2J1aWxkZXJfbmFtZXMgLSBmYWlsZWRfYnVpbGRlcl9uYW1l
cworCisgICAgICAgIGZvciBuYW1lIGluIGZsYWt5X2J1aWxkZXJfbmFtZXM6CisgICAgICAgICAg
ICBmbGFreV9idWlsZGVyID0gc2VsZi5fdG9vbC5idWlsZGJvdC5idWlsZGVyX3dpdGhfbmFtZShu
YW1lKQorICAgICAgICAgICAgZmxha3lfYnVpbGRlci5mb3JjZV9idWlsZCh1c2VybmFtZT1zZWxm
Ll9zaGVyaWZmYm90Lm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbW1lbnRzPSJQcm9iZSBmb3IgZmxha2luZXNzLiIpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3NoZXJpZmZfdW5pdHRlc3QucHkgYi9XZWJLaXRU
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3NoZXJpZmZfdW5pdHRlc3QucHkKaW5kZXgg
ZWM3ZmM0ZC4uOWJjM2VlMyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL2JvdC9zaGVyaWZmX3VuaXR0ZXN0LnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9ib3Qvc2hlcmlmZl91bml0dGVzdC5weQpAQCAtMzcsNiArMzcsNyBAQCBm
cm9tIHdlYmtpdHB5LnRvb2wubW9ja3Rvb2wgaW1wb3J0IE1vY2tUb29sLCBtb2NrX2J1aWxkZXIK
IAogCiBjbGFzcyBNb2NrU2hlcmlmZkJvdChvYmplY3QpOgorICAgIG5hbWUgPSAibW9jay1zaGVy
aWZmLWJvdCIKICAgICB3YXRjaGVycyA9IFsKICAgICAgICAgIndhdGNoZXJAZXhhbXBsZS5jb20i
LAogICAgIF0KQEAgLTc2LDMgKzc3LDEzIEBAIGNsYXNzIFNoZXJpZmZUZXN0KHVuaXR0ZXN0LlRl
c3RDYXNlKToKIAogICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSB1Ik1PQ0sgYnVnIGNvbW1lbnQ6
IGJ1Z19pZD0xMjM0LCBjYz1bJ3dhdGNoZXJAZXhhbXBsZS5jb20nXVxuLS0tIEJlZ2luIGNvbW1l
bnQgLS0tXFxodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC80MzIxIG1pZ2h0IGhhdmUg
YnJva2VuIEZvbyBhbmQgQmFyXG4tLS0gRW5kIGNvbW1lbnQgLS0tXG5cbk1PQ0sgYnVnIGNvbW1l
bnQ6IGJ1Z19pZD0xMjM0LCBjYz1bJ3dhdGNoZXJAZXhhbXBsZS5jb20nXVxuLS0tIEJlZ2luIGNv
bW1lbnQgLS0tXFxodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC80MzIxIG1pZ2h0IGhh
dmUgYnJva2VuIEZvbyBhbmQgQmFyXG4tLS0gRW5kIGNvbW1lbnQgLS0tXG5cbk1PQ0sgYnVnIGNv
bW1lbnQ6IGJ1Z19pZD0xMjM0LCBjYz1bJ3dhdGNoZXJAZXhhbXBsZS5jb20nXVxuLS0tIEJlZ2lu
IGNvbW1lbnQgLS0tXFxodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC80MzIxIG1pZ2h0
IGhhdmUgYnJva2VuIEZvbyBhbmQgQmFyXG5UaGUgZm9sbG93aW5nIGNoYW5nZXMgYXJlIG9uIHRo
ZSBibGFtZSBsaXN0OlxuaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvODQxXG5odHRw
Oi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC81NjQ2XG4tLS0gRW5kIGNvbW1lbnQgLS0tXG5c
biIKICAgICAgICAgT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIHJ1biwgZXhw
ZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKKworICAgIGRlZiB0ZXN0X3Byb3Zva2VfZmxh
a3lfYnVpbGRlcnMoc2VsZik6CisgICAgICAgIGRlZiBydW4oKToKKyAgICAgICAgICAgIHRvb2wg
PSBNb2NrVG9vbCgpCisgICAgICAgICAgICB0b29sLmJ1aWxkYm90LmxpZ2h0X3RyZWVfb25fZmly
ZSgpCisgICAgICAgICAgICBzaGVyaWZmID0gU2hlcmlmZih0b29sLCBNb2NrU2hlcmlmZkJvdCgp
KQorICAgICAgICAgICAgcmV2aXNpb25zX2NhdXNpbmdfZmFpbHVyZXMgPSB7fQorICAgICAgICAg
ICAgc2hlcmlmZi5wcm92b2tlX2ZsYWt5X2J1aWxkZXJzKHJldmlzaW9uc19jYXVzaW5nX2ZhaWx1
cmVzKQorICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiTU9DSzogZm9yY2VfYnVpbGQ6IG5hbWU9
QnVpbGRlcjIsIHVzZXJuYW1lPW1vY2stc2hlcmlmZi1ib3QsIGNvbW1lbnRzPVByb2JlIGZvciBm
bGFraW5lc3MuXG4iCisgICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxm
LCBydW4sIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCmRpZmYgLS1naXQgYS9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvc2hlcmlmZmJvdC5weSBiL1dl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9zaGVyaWZmYm90LnB5Cmlu
ZGV4IGQ5NDVkNTEuLmY0MmYxNzggMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9jb21tYW5kcy9zaGVyaWZmYm90LnB5CisrKyBiL1dlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9zaGVyaWZmYm90LnB5CkBAIC02MSwxMiArNjEsMTQg
QEAgY2xhc3MgU2hlcmlmZkJvdChBYnN0cmFjdFF1ZXVlLCBTdGVwU2VxdWVuY2VFcnJvckhhbmRs
ZXIpOgogICAgICAgICBzZWxmLl9pcmNfYm90LnByb2Nlc3NfcGVuZGluZ19tZXNzYWdlcygpCiAg
ICAgICAgIHNlbGYuX3VwZGF0ZSgpCiAgICAgICAgIG5ld19mYWlsdXJlcyA9IHt9Ci0gICAgICAg
IGZvciBzdm5fcmV2aXNpb24sIGJ1aWxkZXJzIGluIHNlbGYudG9vbC5idWlsZGJvdC5yZXZpc2lv
bnNfY2F1c2luZ19mYWlsdXJlcygpLml0ZW1zKCk6CisgICAgICAgIHJldmlzaW9uc19jYXVzaW5n
X2ZhaWx1cmVzID0gc2VsZi50b29sLmJ1aWxkYm90LnJldmlzaW9uc19jYXVzaW5nX2ZhaWx1cmVz
KCkKKyAgICAgICAgZm9yIHN2bl9yZXZpc2lvbiwgYnVpbGRlcnMgaW4gcmV2aXNpb25zX2NhdXNp
bmdfZmFpbHVyZXMuaXRlbXMoKToKICAgICAgICAgICAgIGlmIHNlbGYudG9vbC5zdGF0dXNfc2Vy
dmVyLnN2bl9yZXZpc2lvbihzdm5fcmV2aXNpb24pOgogICAgICAgICAgICAgICAgICMgRklYTUU6
IFdlIHNob3VsZCByZS1wcm9jZXNzIHRoZSB3b3JrIGl0ZW0gYWZ0ZXIgc29tZSB0aW1lIGRlbGF5
LgogICAgICAgICAgICAgICAgICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM2NTgxCiAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIG5ld19mYWls
dXJlc1tzdm5fcmV2aXNpb25dID0gYnVpbGRlcnMKKyAgICAgICAgc2VsZi5fc2hlcmlmZi5wcm92
b2tlX2ZsYWt5X2J1aWxkZXJzKHJldmlzaW9uc19jYXVzaW5nX2ZhaWx1cmVzKQogICAgICAgICBy
ZXR1cm4gbmV3X2ZhaWx1cmVzCiAKICAgICBkZWYgc2hvdWxkX3Byb2NlZWRfd2l0aF93b3JrX2l0
ZW0oc2VsZiwgbmV3X2ZhaWx1cmVzKToKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9tb2NrdG9vbC5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9vbC9tb2NrdG9vbC5weQppbmRleCAwM2UwNDgwLi5jODBlMWEyIDEwMDY0NAotLS0gYS9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbW9ja3Rvb2wucHkKKysrIGIvV2ViS2l0VG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL21vY2t0b29sLnB5CkBAIC0yOTYsMzAgKzI5Niw1NyBA
QCBjbGFzcyBNb2NrQnVnemlsbGEoTW9jayk6CiAgICAgICAgICAgICBidWdfaWQsIGNjLCBjb21t
ZW50X3RleHQpKQogCiAKLWNsYXNzIE1vY2tCdWlsZEJvdChvYmplY3QpOgorY2xhc3MgTW9ja0J1
aWxkZXIob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZSk6CisgICAgICAgIHNl
bGYuX25hbWUgPSBuYW1lCiAKLSAgICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgIHNlbGYu
X3RyZWVfaXNfb25fZmlyZSA9IEZhbHNlCisgICAgZGVmIGZvcmNlX2J1aWxkKHNlbGYsIHVzZXJu
YW1lLCBjb21tZW50cyk6CisgICAgICAgIGxvZygiTU9DSzogZm9yY2VfYnVpbGQ6IG5hbWU9JXMs
IHVzZXJuYW1lPSVzLCBjb21tZW50cz0lcyIgJSAoCisgICAgICAgICAgICBzZWxmLl9uYW1lLCB1
c2VybmFtZSwgY29tbWVudHMpKQogCi0gICAgZGVmIGJ1aWxkZXJfc3RhdHVzZXMoc2VsZik6Ci0g
ICAgICAgIHJldHVybiBbeworCitjbGFzcyBNb2NrQnVpbGRCb3Qob2JqZWN0KToKKyAgICBkZWYg
X19pbml0X18oc2VsZik6CisgICAgICAgIHNlbGYuX21vY2tfYnVpbGRlcjFfc3RhdHVzID0gewog
ICAgICAgICAgICAgIm5hbWUiOiAiQnVpbGRlcjEiLAogICAgICAgICAgICAgImlzX2dyZWVuIjog
VHJ1ZSwKLSAgICAgICAgfSwgeworICAgICAgICAgICAgImFjdGl2aXR5IjogImJ1aWxkaW5nIiwK
KyAgICAgICAgfQorICAgICAgICBzZWxmLl9tb2NrX2J1aWxkZXIyX3N0YXR1cyA9IHsKICAgICAg
ICAgICAgICJuYW1lIjogIkJ1aWxkZXIyIiwKLSAgICAgICAgICAgICJpc19ncmVlbiI6IG5vdCBz
ZWxmLl90cmVlX2lzX29uX2ZpcmUsCi0gICAgICAgIH1dCisgICAgICAgICAgICAiaXNfZ3JlZW4i
OiBUcnVlLAorICAgICAgICAgICAgImFjdGl2aXR5IjogImlkbGUiLAorICAgICAgICB9CisKKyAg
ICBkZWYgYnVpbGRlcl93aXRoX25hbWUoc2VsZiwgbmFtZSk6CisgICAgICAgIHJldHVybiBNb2Nr
QnVpbGRlcihuYW1lKQorCisgICAgZGVmIGJ1aWxkZXJfc3RhdHVzZXMoc2VsZik6CisgICAgICAg
IHJldHVybiBbCisgICAgICAgICAgICBzZWxmLl9tb2NrX2J1aWxkZXIxX3N0YXR1cywKKyAgICAg
ICAgICAgIHNlbGYuX21vY2tfYnVpbGRlcjJfc3RhdHVzLAorICAgICAgICBdCiAKICAgICBkZWYg
cmVkX2NvcmVfYnVpbGRlcnNfbmFtZXMoc2VsZik6Ci0gICAgICAgIGlmIHNlbGYuX3RyZWVfaXNf
b25fZmlyZToKLSAgICAgICAgICAgIHJldHVybiAiQnVpbGRlcjIiCisgICAgICAgIGlmIG5vdCBz
ZWxmLl9tb2NrX2J1aWxkZXIyX3N0YXR1c1siaXNfZ3JlZW4iXToKKyAgICAgICAgICAgIHJldHVy
biBbc2VsZi5fbW9ja19idWlsZGVyMl9zdGF0dXNbIm5hbWUiXV0KKyAgICAgICAgcmV0dXJuIFtd
CisKKyAgICBkZWYgcmVkX2NvcmVfYnVpbGRlcnMoc2VsZik6CisgICAgICAgIGlmIG5vdCBzZWxm
Ll9tb2NrX2J1aWxkZXIyX3N0YXR1c1siaXNfZ3JlZW4iXToKKyAgICAgICAgICAgIHJldHVybiBb
c2VsZi5fbW9ja19idWlsZGVyMl9zdGF0dXNdCisgICAgICAgIHJldHVybiBbXQorCisgICAgZGVm
IGlkbGVfcmVkX2J1aWxkZXJzKHNlbGYpOgorICAgICAgICBpZiBub3Qgc2VsZi5fbW9ja19idWls
ZGVyMl9zdGF0dXNbImlzX2dyZWVuIl06CisgICAgICAgICAgICByZXR1cm4gW3NlbGYuX21vY2tf
YnVpbGRlcjJfc3RhdHVzXQogICAgICAgICByZXR1cm4gW10KIAogICAgIGRlZiBsYXN0X2dyZWVu
X3JldmlzaW9uKHNlbGYpOgogICAgICAgICByZXR1cm4gOTQ3OQogCiAgICAgZGVmIGxpZ2h0X3Ry
ZWVfb25fZmlyZShzZWxmKToKLSAgICAgICAgc2VsZi5fdHJlZV9pc19vbl9maXJlID0gVHJ1ZQor
ICAgICAgICBzZWxmLl9tb2NrX2J1aWxkZXIyX3N0YXR1c1siaXNfZ3JlZW4iXSA9IEZhbHNlCiAK
ICAgICBkZWYgcmV2aXNpb25zX2NhdXNpbmdfZmFpbHVyZXMoc2VsZik6CiAgICAgICAgIHJldHVy
biB7Cg==
</data>
<flag name="review"
          id="36126"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>