<?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>28605</bug_id>
          
          <creation_ts>2009-08-20 23:05:57 -0700</creation_ts>
          <short_desc>commit-queue gets stuck if a non-committer sets commit-queue+ or review+</short_desc>
          <delta_ts>2009-09-09 10:36:58 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>141823</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-08-20 23:05:57 -0700</bug_when>
    <thetext>Back from the grave:

          Summary: commit-queue gets stuck if a non-committer sets
                   commit-queue+ or review+
          Product: WebKit
          Version: 528+ (Nightly build)
         Platform: PC
       OS/Version: Mac OS X 10.5
           Status: NEW
         Severity: Normal
         Priority: P2
        Component: Tools / Tests
       AssignedTo: webkit-unassigned@lists.webkit.org
       ReportedBy: eric@webkit.org
               CC: abarth@webkit.org


commit-queue gets stuck if a non-committer sets commit-queue+ or review+

The checking for commit-queue/review is done outside of the try/catch.  We need
to catch these specially and handle clearing flags properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145498</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-08 12:34:06 -0700</bug_when>
    <thetext>*** Bug 28321 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145499</commentid>
    <comment_count>2</comment_count>
      <attachid>39206</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-08 12:34:49 -0700</bug_when>
    <thetext>Created attachment 39206
first pass


---
 5 files changed, 62 insertions(+), 35 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145533</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-08 14:11:50 -0700</bug_when>
    <thetext>*** Bug 28916 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145535</commentid>
    <comment_count>4</comment_count>
      <attachid>39212</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-08 14:17:20 -0700</bug_when>
    <thetext>Created attachment 39212
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145541</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-08 14:34:16 -0700</bug_when>
    <thetext>Just in case dave levin has interest in this hot hot python action.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145544</commentid>
    <comment_count>6</comment_count>
      <attachid>39212</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-09-08 14:40:01 -0700</bug_when>
    <thetext>Comment on attachment 39212
Patch v1


&gt; diff --git a/WebKitTools/Scripts/bugzilla-tool b/WebKitTools/Scripts/bugzilla-tool

&gt; +                patch_ids = map(lambda p: p[&apos;id&apos;], patches)
s/p/patch/ would be nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145829</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-09 10:36:58 -0700</bug_when>
    <thetext>Committed r48214: &lt;http://trac.webkit.org/changeset/48214&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39206</attachid>
            <date>2009-09-08 12:34:49 -0700</date>
            <delta_ts>2009-09-08 14:17:16 -0700</delta_ts>
            <desc>first pass</desc>
            <filename>bug-28605-20090908123448.patch</filename>
            <type>text/plain</type>
            <size>11640</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvYnVnemlsbGEtdG9vbCBiL1dlYktpdFRv
b2xzL1NjcmlwdHMvYnVnemlsbGEtdG9vbAppbmRleCAyZDkxNTI0Li4xOGVmZDBkIDEwMDc1NQot
LS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL2J1Z3ppbGxhLXRvb2wKKysrIGIvV2ViS2l0VG9vbHMv
U2NyaXB0cy9idWd6aWxsYS10b29sCkBAIC0zNTEsOCArMzUxLDggQEAgY2xhc3MgTGFuZFBhdGNo
ZXNGcm9tQnVncyhDb21tYW5kKToKICAgICAgICAgICAgIGlmIG9wdGlvbnMuY2xvc2VfYnVnOgog
ICAgICAgICAgICAgICAgIHRvb2wuYnVncy5jbG9zZV9idWdfYXNfZml4ZWQoYnVnX2lkLCAiQWxs
IHJldmlld2VkIHBhdGNoZXMgaGF2ZSBiZWVuIGxhbmRlZC4gIENsb3NpbmcgYnVnLiIpCiAgICAg
ICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwgZToKLSAgICAgICAgICAgIHRvb2wuYnVncy5yZWplY3Rf
cGF0Y2hfZnJvbV9jb21taXRfcXVldWUocGF0Y2hbJ2lkJ10sIGUpCi0gICAgICAgICAgICAjIFdl
IHNob3VsZCBhZGQgYSBjb21tZW50IHRvIHRoZSBidWcsIGFuZCByLSB0aGUgcGF0Y2ggb24gZmFp
bHVyZQorICAgICAgICAgICAgIyBNYXJrIHRoZSBwYXRjaCBhcyBjb21taXQtcXVldWUtIGFuZCBj
b21tZW50IGluIHRoZSBidWcuCisgICAgICAgICAgICB0b29sLmJ1Z3MucmVqZWN0X3BhdGNoX2Zy
b21fY29tbWl0X3F1ZXVlKHBhdGNoWydpZCddLCAiVGhpcyBwYXRjaCB3aWxsIHJlcXVpcmUgbWFu
dWFsIGNvbW1pdC4gJXMiICUgZSkKICAgICAgICAgICAgIGVycm9yKGUpCiAKICAgICBAc3RhdGlj
bWV0aG9kCkBAIC0zNjIsNyArMzYyLDcgQEAgY2xhc3MgTGFuZFBhdGNoZXNGcm9tQnVncyhDb21t
YW5kKToKICAgICAgICAgZm9yIGJ1Z19pZCBpbiBhcmdzOgogICAgICAgICAgICAgcGF0Y2hlcyA9
IFtdCiAgICAgICAgICAgICBpZiBvcHRpb25zLmNvbW1pdF9xdWV1ZToKLSAgICAgICAgICAgICAg
ICBwYXRjaGVzID0gdG9vbC5idWdzLmZldGNoX2NvbW1pdF9xdWV1ZV9wYXRjaGVzX2Zyb21fYnVn
KGJ1Z19pZCkKKyAgICAgICAgICAgICAgICBwYXRjaGVzID0gdG9vbC5idWdzLmZldGNoX2NvbW1p
dF9xdWV1ZV9wYXRjaGVzX2Zyb21fYnVnKGJ1Z19pZCwgcmVqZWN0X2ludmFsaWRfcGF0Y2hlcz1U
cnVlKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBwYXRjaGVzID0gdG9vbC5i
dWdzLmZldGNoX3Jldmlld2VkX3BhdGNoZXNfZnJvbV9idWcoYnVnX2lkKQogCkBAIC03MDEsNyAr
NzAxLDcgQEAgY2xhc3MgTGFuZFBhdGNoZXNGcm9tQ29tbWl0UXVldWUoQ29tbWFuZCk6CiAgICAg
ICAgICAgICAjIEVpdGhlciBvZiB0aGVzZSBjYWxscyBjb3VsZCB0aHJvdyBVUkxFcnJvciB3aGlj
aCBzaG91bGRuJ3Qgc3RvcCB0aGUgcXVldWUuCiAgICAgICAgICAgICAjIFdlIGNhdGNoIGFsbCBl
eGNlcHRpb25zIGp1c3QgaW4gY2FzZS4KICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAg
ICBidWdfaWRzID0gdG9vbC5idWdzLmZldGNoX2J1Z19pZHNfZnJvbV9jb21taXRfcXVldWUoKQor
ICAgICAgICAgICAgICAgIGJ1Z19pZHMgPSB0b29sLmJ1Z3MuZmV0Y2hfYnVnX2lkc19mcm9tX2Nv
bW1pdF9xdWV1ZShyZWplY3RfaW52YWxpZF9wYXRjaGVzPVRydWUpCiAgICAgICAgICAgICAgICAg
aWYgbm90IGxlbihidWdfaWRzKToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fc2xlZXAoIkVt
cHR5IHF1ZXVlLiIpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvYnVnemlsbGEucHkgYi9XZWJLaXRUb29scy9TY3Jp
cHRzL21vZHVsZXMvYnVnemlsbGEucHkKaW5kZXggM2E0MzUwYi4uZTY2NmFhMyAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2J1Z3ppbGxhLnB5CisrKyBiL1dlYktpdFRv
b2xzL1NjcmlwdHMvbW9kdWxlcy9idWd6aWxsYS5weQpAQCAtMTYxLDE1ICsxNjEsMTEgQEAgY2xh
c3MgQnVnemlsbGE6CiAKICAgICAgICAgcmV2aWV3X2ZsYWcgPSBlbGVtZW50LmZpbmQoJ2ZsYWcn
LCBhdHRycz17Im5hbWUiIDogInJldmlldyJ9KQogICAgICAgICBpZiByZXZpZXdfZmxhZyBhbmQg
cmV2aWV3X2ZsYWdbJ3N0YXR1cyddID09ICcrJzoKLSAgICAgICAgICAgIHJldmlld2VyX2VtYWls
ID0gcmV2aWV3X2ZsYWdbJ3NldHRlciddCi0gICAgICAgICAgICByZXZpZXdlciA9IHNlbGYuY29t
bWl0dGVycy5yZXZpZXdlcl9ieV9idWd6aWxsYV9lbWFpbChyZXZpZXdlcl9lbWFpbCkKLSAgICAg
ICAgICAgIGF0dGFjaG1lbnRbJ3Jldmlld2VyJ10gPSByZXZpZXdlci5mdWxsX25hbWUKKyAgICAg
ICAgICAgIGF0dGFjaG1lbnRbJ3Jldmlld2VyX2VtYWlsJ10gPSByZXZpZXdfZmxhZ1snc2V0dGVy
J10KIAogICAgICAgICBjb21taXRfcXVldWVfZmxhZyA9IGVsZW1lbnQuZmluZCgnZmxhZycsIGF0
dHJzPXsibmFtZSIgOiAiY29tbWl0LXF1ZXVlIn0pCiAgICAgICAgIGlmIGNvbW1pdF9xdWV1ZV9m
bGFnIGFuZCBjb21taXRfcXVldWVfZmxhZ1snc3RhdHVzJ10gPT0gJysnOgotICAgICAgICAgICAg
Y29tbWl0dGVyX2VtYWlsID0gY29tbWl0X3F1ZXVlX2ZsYWdbJ3NldHRlciddCi0gICAgICAgICAg
ICBjb21taXR0ZXIgPSBzZWxmLmNvbW1pdHRlcnMuY29tbWl0dGVyX2J5X2J1Z3ppbGxhX2VtYWls
KGNvbW1pdHRlcl9lbWFpbCkKLSAgICAgICAgICAgIGF0dGFjaG1lbnRbJ2NvbW1pdC1xdWV1ZSdd
ID0gY29tbWl0dGVyLmZ1bGxfbmFtZQorICAgICAgICAgICAgYXR0YWNobWVudFsnY29tbWl0dGVy
X2VtYWlsJ10gPSBjb21taXRfcXVldWVfZmxhZ1snc2V0dGVyJ10KIAogICAgICAgICByZXR1cm4g
YXR0YWNobWVudAogCkBAIC0xOTksMTcgKzE5NSw0NCBAQCBjbGFzcyBCdWd6aWxsYToKICAgICAg
ICAgICAgICAgICBwYXRjaGVzLmFwcGVuZChhdHRhY2htZW50KQogICAgICAgICByZXR1cm4gcGF0
Y2hlcwogCi0gICAgZGVmIGZldGNoX3Jldmlld2VkX3BhdGNoZXNfZnJvbV9idWcoc2VsZiwgYnVn
X2lkKToKKyAgICAjIF92aWV3X3NvdXJjZV9saW5rIGJlbG9uZ3MgaW4gc29tZSBzb3J0IG9mIHdl
YmtpdF9jb25maWcucHkgbW9kdWxlLgorICAgIGRlZiBfdmlld19zb3VyY2VfbGluayhsb2NhbF9w
YXRoKToKKyAgICAgICAgcmV0dXJuICJodHRwOi8vdHJhYy53ZWJraXQub3JnL2Jyb3dzZXIvdHJ1
bmsvJXMiICUgbG9jYWxfcGF0aAorCisgICAgZGVmIF92YWxpZGF0ZV9zZXR0ZXJfZW1haWwocGF0
Y2gsIHJlc3VsdF9rZXksIGxvb2t1cF9mdW5jdGlvbiwgcmVqZWN0aW9uX2Z1bmN0aW9uLCByZWpl
Y3RfaW52YWxpZF9wYXRjaGVzKToKKyAgICAgICAgc2V0dGVyX2VtYWlsID0gcGF0Y2hbcmVzdWx0
X2tleSArICdfZW1haWwnXQorICAgICAgICBpZiBub3Qgc2V0dGVyX2VtYWlsOgorICAgICAgICAg
ICAgcmV0dXJuCisKKyAgICAgICAgY29tbWl0dGVyID0gbG9va3VwX2Z1bmN0aW9uKHNldHRlcl9l
bWFpbCkKKyAgICAgICAgaWYgY29tbWl0dGVyOgorICAgICAgICAgICAgcGF0Y2hbcmVzdWx0X2tl
eV0gPSBjb21taXR0ZXIuZnVsbF9uYW1lCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpZiBy
ZWplY3RfaW52YWxpZF9wYXRjaGVzOgorICAgICAgICAgICAgICAgIGNvbW1pdHRlcl9saXN0ID0g
IldlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9jb21taXR0ZXJzLnB5IgorICAgICAgICAgICAg
ICAgIGZhaWx1cmVfbWVzc2FnZSA9ICIlcyBkb2VzIG5vdCBoYXZlICVzIHBlcm1pc3Npb25zIGFj
Y29yZGluZyB0byAlcy4iICUgKHNldHRlcl9lbWFpbCwgcmVzdWx0X2tleSwgc2VsZi5fdmlld19z
b3VyY2VfbGluayhjb21taXR0ZXJfbGlzdCkpCisgICAgICAgICAgICAgICAgcmVqZWN0aW9uX2Z1
bmN0aW9uKHBhdGNoWydpZCddLCBmYWlsdXJlX21lc3NhZ2UpCisgICAgICAgICAgICBlbHNlOgor
ICAgICAgICAgICAgICAgIGxvZygiV2FybmluZywgYXR0YWNobWVudCAlcyBvbiBidWcgJXMgaGFz
IGludmFsaWQgJXMgKCVzKSIsIChwYXRjaFsnaWQnXSwgcGF0Y2hbJ2J1Z19pZCddLCByZXN1bHRf
a2V5LCBzZXR0ZXJfZW1haWwpKQorICAgICAgICByZXR1cm4gcGF0Y2hbcmVzdWx0X2tleV0KKwor
ICAgIGRlZiBfdmFsaWRhdGVfcmV2aWV3ZXIocGF0Y2gpOgorICAgICAgICByZXR1cm4gc2VsZi5f
dmFsaWRhdGVfc2V0dGVyX2VtYWlsKHBhdGNoLCAncmV2aWV3ZXInLCBzZWxmLmNvbW1pdHRlcnMu
Y29tbWl0dGVyX2J5X2J1Z3ppbGxhX2VtYWlsLCBzZWxmLnJlamVjdF9wYXRjaF9mcm9tX3Jldmll
d19xdWV1ZSkKKworICAgIGRlZiBfdmFsaWRhdGVfY29tbWl0dGVyKHBhdGNoKToKKyAgICAgICAg
cmV0dXJuIHNlbGYuX3ZhbGlkYXRlX3NldHRlcl9lbWFpbChwYXRjaCwgJ2NvbW1pdHRlcicsIHNl
bGYuY29tbWl0dGVycy5yZXZpZXdlcl9ieV9idWd6aWxsYV9lbWFpbCwgc2VsZi5yZWplY3RfcGF0
Y2hfZnJvbV9jb21taXRfcXVldWUpCisKKyAgICBkZWYgZmV0Y2hfcmV2aWV3ZWRfcGF0Y2hlc19m
cm9tX2J1ZyhzZWxmLCBidWdfaWQsIHJlamVjdF9pbnZhbGlkX3BhdGNoZXM9RmFsc2UpOgogICAg
ICAgICByZXZpZXdlZF9wYXRjaGVzID0gW10KICAgICAgICAgZm9yIGF0dGFjaG1lbnQgaW4gc2Vs
Zi5mZXRjaF9hdHRhY2htZW50c19mcm9tX2J1ZyhidWdfaWQpOgotICAgICAgICAgICAgaWYgJ3Jl
dmlld2VyJyBpbiBhdHRhY2htZW50IGFuZCBub3QgYXR0YWNobWVudFsnaXNfb2Jzb2xldGUnXToK
KyAgICAgICAgICAgIGlmIHNlbGYuX3ZhbGlkYXRlX3Jldmlld2VyKGF0dGFjaG1lbnQsIHJlamVj
dF9pbnZhbGlkX3BhdGNoZXMpIGFuZCBub3QgYXR0YWNobWVudFsnaXNfb2Jzb2xldGUnXToKICAg
ICAgICAgICAgICAgICByZXZpZXdlZF9wYXRjaGVzLmFwcGVuZChhdHRhY2htZW50KQogICAgICAg
ICByZXR1cm4gcmV2aWV3ZWRfcGF0Y2hlcwogCi0gICAgZGVmIGZldGNoX2NvbW1pdF9xdWV1ZV9w
YXRjaGVzX2Zyb21fYnVnKHNlbGYsIGJ1Z19pZCk6CisgICAgZGVmIGZldGNoX2NvbW1pdF9xdWV1
ZV9wYXRjaGVzX2Zyb21fYnVnKHNlbGYsIGJ1Z19pZCwgcmVqZWN0X2ludmFsaWRfcGF0Y2hlcz1G
YWxzZSk6CiAgICAgICAgIGNvbW1pdF9xdWV1ZV9wYXRjaGVzID0gW10KLSAgICAgICAgZm9yIGF0
dGFjaG1lbnQgaW4gc2VsZi5mZXRjaF9yZXZpZXdlZF9wYXRjaGVzX2Zyb21fYnVnKGJ1Z19pZCk6
Ci0gICAgICAgICAgICBpZiAnY29tbWl0LXF1ZXVlJyBpbiBhdHRhY2htZW50IGFuZCBub3QgYXR0
YWNobWVudFsnaXNfb2Jzb2xldGUnXToKKyAgICAgICAgZm9yIGF0dGFjaG1lbnQgaW4gc2VsZi5m
ZXRjaF9yZXZpZXdlZF9wYXRjaGVzX2Zyb21fYnVnKGJ1Z19pZCwgcmVqZWN0X2ludmFsaWRfcGF0
Y2hlcyk6CisgICAgICAgICAgICBpZiBzZWxmLl92YWxpZGF0ZV9jb21taXR0ZXIoYXR0YWNobWVu
dCwgcmVqZWN0X2ludmFsaWRfcGF0Y2hlcykgYW5kIG5vdCBhdHRhY2htZW50Wydpc19vYnNvbGV0
ZSddOgogICAgICAgICAgICAgICAgIGNvbW1pdF9xdWV1ZV9wYXRjaGVzLmFwcGVuZChhdHRhY2ht
ZW50KQogICAgICAgICByZXR1cm4gY29tbWl0X3F1ZXVlX3BhdGNoZXMKIApAQCAtMjI3LDEwICsy
NTAsMTAgQEAgY2xhc3MgQnVnemlsbGE6CiAKICAgICAgICAgcmV0dXJuIGJ1Z19pZHMKIAotICAg
IGRlZiBmZXRjaF9wYXRjaGVzX2Zyb21fY29tbWl0X3F1ZXVlKHNlbGYpOgorICAgIGRlZiBmZXRj
aF9wYXRjaGVzX2Zyb21fY29tbWl0X3F1ZXVlKHNlbGYsIHJlamVjdF9pbnZhbGlkX3BhdGNoZXM9
RmFsc2UpOgogICAgICAgICBwYXRjaGVzX3RvX2xhbmQgPSBbXQogICAgICAgICBmb3IgYnVnX2lk
IGluIHNlbGYuZmV0Y2hfYnVnX2lkc19mcm9tX2NvbW1pdF9xdWV1ZSgpOgotICAgICAgICAgICAg
cGF0Y2hlcyA9IHNlbGYuZmV0Y2hfY29tbWl0X3F1ZXVlX3BhdGNoZXNfZnJvbV9idWcoYnVnX2lk
KQorICAgICAgICAgICAgcGF0Y2hlcyA9IHNlbGYuZmV0Y2hfY29tbWl0X3F1ZXVlX3BhdGNoZXNf
ZnJvbV9idWcoYnVnX2lkLCByZWplY3RfaW52YWxpZF9wYXRjaGVzKQogICAgICAgICAgICAgcGF0
Y2hlc190b19sYW5kICs9IHBhdGNoZXMKICAgICAgICAgcmV0dXJuIHBhdGNoZXNfdG9fbGFuZAog
CkBAIC0zNTksMTAgKzM4Miw5IEBAIGNsYXNzIEJ1Z3ppbGxhOgogICAgICAgICBzZWxmLmJyb3dz
ZXIuc3VibWl0KCkKIAogICAgICMgRklYTUU6IFdlIG5lZWQgYSB3YXkgdG8gdGVzdCB0aGlzIG9u
IGEgbGl2ZSBidWd6aWxsYSBpbnN0YW5jZS4KLSAgICBkZWYgcmVqZWN0X3BhdGNoX2Zyb21fY29t
bWl0X3F1ZXVlKHNlbGYsIGF0dGFjaG1lbnRfaWQsIGFkZGl0aW9uYWxfY29tbWVudF90ZXh0PU5v
bmUpOgorICAgIGRlZiBfc2V0X2ZsYWdfb25fYXR0YWNobWVudChzZWxmLCBhdHRhY2htZW50X2lk
LCBmbGFnX25hbWUsIGZsYWdfdmFsdWUsIGNvbW1lbnRfdGV4dCwgYWRkaXRpb25hbF9jb21tZW50
X3RleHQpOgogICAgICAgICBzZWxmLmF1dGhlbnRpY2F0ZSgpCiAKLSAgICAgICAgY29tbWVudF90
ZXh0ID0gIlJlamVjdGluZyBwYXRjaCAlcyBmcm9tIGNvbW1pdC1xdWV1ZS4gIFRoaXMgcGF0Y2gg
d2lsbCByZXF1aXJlIG1hbnVhbCBjb21taXQuIiAlIGF0dGFjaG1lbnRfaWQKICAgICAgICAgaWYg
YWRkaXRpb25hbF9jb21tZW50X3RleHQ6CiAgICAgICAgICAgICBjb21tZW50X3RleHQgKz0gIlxu
XG4lcyIgJSBhZGRpdGlvbmFsX2NvbW1lbnRfdGV4dAogICAgICAgICBsb2coY29tbWVudF90ZXh0
KQpAQCAtMzczLDkgKzM5NSwxNyBAQCBjbGFzcyBCdWd6aWxsYToKICAgICAgICAgc2VsZi5icm93
c2VyLm9wZW4oc2VsZi5hdHRhY2htZW50X3VybF9mb3JfaWQoYXR0YWNobWVudF9pZCwgJ2VkaXQn
KSkKICAgICAgICAgc2VsZi5icm93c2VyLnNlbGVjdF9mb3JtKG5yPTEpCiAgICAgICAgIHNlbGYu
YnJvd3Nlci5zZXRfdmFsdWUoY29tbWVudF90ZXh0LCBuYW1lPSdjb21tZW50JywgbnI9MCkKLSAg
ICAgICAgc2VsZi5fZmluZF9zZWxlY3RfZWxlbWVudF9mb3JfZmxhZygnY29tbWl0LXF1ZXVlJyku
dmFsdWUgPSAoIi0iLCkKKyAgICAgICAgc2VsZi5fZmluZF9zZWxlY3RfZWxlbWVudF9mb3JfZmxh
ZyhmbGFnX25hbWUpLnZhbHVlID0gKGZsYWdfdmFsdWUsKQogICAgICAgICBzZWxmLmJyb3dzZXIu
c3VibWl0KCkKIAorICAgIGRlZiByZWplY3RfcGF0Y2hfZnJvbV9jb21taXRfcXVldWUoc2VsZiwg
YXR0YWNobWVudF9pZCwgYWRkaXRpb25hbF9jb21tZW50X3RleHQ9Tm9uZSk6CisgICAgICAgIGNv
bW1lbnRfdGV4dCA9ICJSZWplY3RpbmcgcGF0Y2ggJXMgZnJvbSBjb21taXQtcXVldWUuIiAlIGF0
dGFjaG1lbnRfaWQKKyAgICAgICAgc2VsZi5fc2V0X2ZsYWdfb25fYXR0YWNobWVudChhdHRhY2ht
ZW50X2lkLCAnY29tbWl0LXF1ZXVlJywgJy0nLCBjb21tZW50X3RleHQsIGFkZGl0aW9uYWxfY29t
bWVudF90ZXh0KQorCisgICAgZGVmIHJlamVjdF9wYXRjaF9mcm9tX3Jldmlld19xdWV1ZShzZWxm
LCBhdHRhY2htZW50X2lkLCBhZGRpdGlvbmFsX2NvbW1lbnRfdGV4dD1Ob25lKToKKyAgICAgICAg
Y29tbWVudF90ZXh0ID0gIlJlamVjdGluZyBwYXRjaCAlcyBmcm9tIHJldmlldyBxdWV1ZS4iICUg
YXR0YWNobWVudF9pZAorICAgICAgICBzZWxmLl9zZXRfZmxhZ19vbl9hdHRhY2htZW50KGF0dGFj
aG1lbnRfaWQsICdyZXZpZXcnLCAnLScsIGNvbW1lbnRfdGV4dCwgYWRkaXRpb25hbF9jb21tZW50
X3RleHQpCisKICAgICBkZWYgb2Jzb2xldGVfYXR0YWNobWVudChzZWxmLCBhdHRhY2htZW50X2lk
LCBjb21tZW50X3RleHQgPSBOb25lKToKICAgICAgICAgc2VsZi5hdXRoZW50aWNhdGUoKQogCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvYnVnemlsbGFfdW5pdHRlc3Qu
cHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvYnVnemlsbGFfdW5pdHRlc3QucHkKaW5k
ZXggMWU1MjE0MC4uZjA4MDMxZSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1
bGVzL2J1Z3ppbGxhX3VuaXR0ZXN0LnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxl
cy9idWd6aWxsYV91bml0dGVzdC5weQpAQCAtNjgsMjEgKzY4LDIxIEBAIGNsYXNzIEJ1Z3ppbGxh
VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICd1cmwnIDogImh0dHBzOi8vYnVncy53
ZWJraXQub3JnL2F0dGFjaG1lbnQuY2dpP2lkPTMzNzIxIiwKICAgICAgICAgJ25hbWUnIDogIkZp
eGVkIHdoaXRlc3BhY2UgaXNzdWUiLAogICAgICAgICAndHlwZScgOiAidGV4dC9wbGFpbiIsCi0g
ICAgICAgICdyZXZpZXdlcicgOiAnVGVzdCBPbmUnLAotICAgICAgICAnY29tbWl0LXF1ZXVlJyA6
ICdUZXN0IFR3bycKKyAgICAgICAgJ3Jldmlld2VyX2VtYWlsJyA6ICdvbmVAdGVzdC5jb20nLAor
ICAgICAgICAnY29tbWl0dGVyX2VtYWlsJyA6ICd0d29AdGVzdC5jb20nCiAgICAgfQogCiAgICAg
ZGVmIHRlc3RfYXR0YWNobWVudF9wYXJzaW5nKHNlbGYpOgotICAgICAgICByZXZpZXdlciA9IFJl
dmlld2VyKCdUZXN0IE9uZScsICdvbmVAdGVzdC5jb20nKQotICAgICAgICBjb21taXR0ZXIgPSBD
b21taXR0ZXIoJ1Rlc3QgVHdvJywgJ3R3b0B0ZXN0LmNvbScpCi0gICAgICAgIGNvbW1pdHRlcl9s
aXN0ID0gQ29tbWl0dGVyTGlzdChjb21taXR0ZXJzPVtjb21taXR0ZXJdLCByZXZpZXdlcnM9W3Jl
dmlld2VyXSkKLSAgICAgICAgYnVnemlsbGEgPSBCdWd6aWxsYShjb21taXR0ZXJzPWNvbW1pdHRl
cl9saXN0KQorICAgICAgICBidWd6aWxsYSA9IEJ1Z3ppbGxhKCkKIAogICAgICAgICBzb3VwID0g
QmVhdXRpZnVsU291cChzZWxmLl9leGFtcGxlX2F0dGFjaG1lbnQpCiAgICAgICAgIGF0dGFjaG1l
bnRfZWxlbWVudCA9IHNvdXAuZmluZCgiYXR0YWNobWVudCIpCiAgICAgICAgIGF0dGFjaG1lbnQg
PSBidWd6aWxsYS5fcGFyc2VfYXR0YWNobWVudF9lbGVtZW50KGF0dGFjaG1lbnRfZWxlbWVudCwg
c2VsZi5fZXhwZWN0ZWRfZXhhbXBsZV9hdHRhY2htZW50X3BhcnNpbmdbJ2J1Z19pZCddKQogICAg
ICAgICBzZWxmLmFzc2VydFRydWUoYXR0YWNobWVudCkKIAorICAgICAgICAjIE1ha2Ugc3VyZSB3
ZSBhcmVuJ3QgcGFyc2luZyBtb3JlIG9yIGxlc3MgdGhhbiB3ZSBleHBlY3QKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbHMoYXR0YWNobWVudC5rZXlzKCksIHNlbGYuX2V4cGVjdGVkX2V4YW1wbGVf
YXR0YWNobWVudF9wYXJzaW5nLmtleXMoKSkKKwogICAgICAgICBmb3Iga2V5LCBleHBlY3RlZF92
YWx1ZSBpbiBzZWxmLl9leHBlY3RlZF9leGFtcGxlX2F0dGFjaG1lbnRfcGFyc2luZy5pdGVtcygp
OgogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoYXR0YWNobWVudFtrZXldLCBleHBlY3Rl
ZF92YWx1ZSwgKCJGYWlsdXJlIGZvciBrZXk6ICVzOiBBY3R1YWw9JyVzJyBFeHBlY3RlZD0nJXMn
IiAlIChrZXksIGF0dGFjaG1lbnRba2V5XSwgZXhwZWN0ZWRfdmFsdWUpKSkKIApkaWZmIC0tZ2l0
IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NvbW1pdHRlcnMucHkgYi9XZWJLaXRUb29s
cy9TY3JpcHRzL21vZHVsZXMvY29tbWl0dGVycy5weQppbmRleCA2YzY4NTkyLi5iNDJjMWYxIDEw
MDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY29tbWl0dGVycy5weQorKysg
Yi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY29tbWl0dGVycy5weQpAQCAtMTIzLDEzICsx
MjMsMTAgQEAgY2xhc3MgQ29tbWl0dGVyTGlzdDoKICAgICAgICAgcmV0dXJuIHNlbGYuX2NvbW1p
dHRlcnNfYnlfZW1haWwKIAogICAgIGRlZiBjb21taXR0ZXJfYnlfYnVnemlsbGFfZW1haWwoc2Vs
ZiwgYnVnemlsbGFfZW1haWwpOgotICAgICAgICBjb21taXR0ZXIgPSBzZWxmLl9lbWFpbF90b19j
b21taXR0ZXJfbWFwKCkuZ2V0KGJ1Z3ppbGxhX2VtYWlsKQotICAgICAgICBpZiBub3QgY29tbWl0
dGVyOgotICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJVbmtub3duIGNvbW1pdHRlcjogJXMi
ICUgYnVnemlsbGFfZW1haWwpCi0gICAgICAgIHJldHVybiBjb21taXR0ZXIKKyAgICAgICAgcmV0
dXJuIHNlbGYuX2VtYWlsX3RvX2NvbW1pdHRlcl9tYXAoKS5nZXQoYnVnemlsbGFfZW1haWwpCiAK
ICAgICBkZWYgcmV2aWV3ZXJfYnlfYnVnemlsbGFfZW1haWwoc2VsZiwgYnVnemlsbGFfZW1haWwp
OgogICAgICAgICBjb21taXR0ZXIgPSBzZWxmLmNvbW1pdHRlcl9ieV9idWd6aWxsYV9lbWFpbChi
dWd6aWxsYV9lbWFpbCkKLSAgICAgICAgaWYgbm90IGNvbW1pdHRlci5jYW5fcmV2aWV3OgotICAg
ICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJDb21taXR0ZXIgJXMgZG9lcyBub3QgaGF2ZSByZXZp
ZXcgcmlnaHRzLiIgJSBjb21taXR0ZXIpCisgICAgICAgIGlmIGNvbW1pdHRlciBhbmQgbm90IGNv
bW1pdHRlci5jYW5fcmV2aWV3OgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICAgcmV0
dXJuIGNvbW1pdHRlcgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2Nv
bW1pdHRlcnNfdW5pdHRlc3QucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY29tbWl0
dGVyc191bml0dGVzdC5weQppbmRleCBkMjIxYzhiLi4wNDVlMjBlIDEwMDY0NAotLS0gYS9XZWJL
aXRUb29scy9TY3JpcHRzL21vZHVsZXMvY29tbWl0dGVyc191bml0dGVzdC5weQorKysgYi9XZWJL
aXRUb29scy9TY3JpcHRzL21vZHVsZXMvY29tbWl0dGVyc191bml0dGVzdC5weQpAQCAtNDIsMTEg
KzQyLDExIEBAIGNsYXNzIENvbW1pdHRlcnNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChjb21taXR0ZXJfbGlzdC5jb21taXR0ZXJfYnlfYnVnemlsbGFf
ZW1haWwoJ3R3b0B0ZXN0LmNvbScpLCByZXZpZXdlcikKIAogICAgICAgICAjIFRlc3QgdGhhdCBh
IGtub3duIGNvbW1pdHRlciBpcyBub3QgcmV0dXJuZWQgZHVyaW5nIHJldmlld2VyIGxvb2t1cAot
ICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhFeGNlcHRpb24sIGNvbW1pdHRlcl9saXN0LnJldmll
d2VyX2J5X2J1Z3ppbGxhX2VtYWlsLCAnb25lQHRlc3QuY29tJykKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChjb21taXR0ZXJfbGlzdC5yZXZpZXdlcl9ieV9idWd6aWxsYV9lbWFpbCgnb25lQHRl
c3QuY29tJyksIE5vbmUpCiAKICAgICAgICAgIyBUZXN0IHRoYXQgdW5rbm93biBlbWFpbCBhZGRy
ZXNzIGZhaWwgYm90aCBjb21taXR0ZXIgYW5kIHJldmlld2VyIGxvb2t1cAotICAgICAgICBzZWxm
LmFzc2VydFJhaXNlcyhFeGNlcHRpb24sIGNvbW1pdHRlcl9saXN0LmNvbW1pdHRlcl9ieV9idWd6
aWxsYV9lbWFpbCwgJ2JhckBiYXIuY29tJykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoRXhj
ZXB0aW9uLCBjb21taXR0ZXJfbGlzdC5yZXZpZXdlcl9ieV9idWd6aWxsYV9lbWFpbCwgJ2JhckBi
YXIuY29tJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb21taXR0ZXJfbGlzdC5jb21taXR0
ZXJfYnlfYnVnemlsbGFfZW1haWwoJ2JhckBiYXIuY29tJyksIE5vbmUpCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoY29tbWl0dGVyX2xpc3QucmV2aWV3ZXJfYnlfYnVnemlsbGFfZW1haWwoJ2Jh
ckBiYXIuY29tJyksIE5vbmUpCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgdW5p
dHRlc3QubWFpbigp
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39212</attachid>
            <date>2009-09-08 14:17:20 -0700</date>
            <delta_ts>2009-09-08 14:40:01 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-28605-20090908141719.patch</filename>
            <type>text/plain</type>
            <size>14994</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAxMjQ4ZGRkLi42NGYwMjI1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMDktMDkt
MDggIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGNvbW1pdC1xdWV1ZSBnZXRzIHN0dWNrIGlmIGEg
bm9uLWNvbW1pdHRlciBzZXRzIGNvbW1pdC1xdWV1ZSsgb3IgcmV2aWV3KworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjg2MDUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4OTE2CisKKyAgICAgICAgKiBTY3Jp
cHRzL2J1Z3ppbGxhLXRvb2w6CisgICAgICAgICAtIEZpeCBjb21tZW50IGFuZCBhZGp1c3QgcmVq
ZWN0X3BhdGNoX2Zyb21fY29tbWl0X3F1ZXVlIGNhbGwgdG8gcGFzcyAibWFudWFsIGNvbW1pdCIK
KyAgICAgICAgICAgY29tbWVudCBub3cgdGhhdCBpdCdzIHVzZWQgZm9yIHJlamVjdGluZyBwYXRj
aGVzIGZvciBpbnZhbGlkIGNvbW1pdHRlcnMgdG9vLgorICAgICAgICAgLSBQYXNzIHJlamVjdF9p
bnZhbGlkX3BhdGNoZXM9VHJ1ZSBmb3IgY29tbWl0LXF1ZXVlIGNhbGxzLCBub3JtYWxseSB3ZSBq
dXN0IGlnbm9yZSBwYXRjaGVzIHdpdGggaW52YWxpZCByZXZpZXdlcnMsIHRoZSBjb21taXQtcXVl
dWUgcmVqZWN0cyB0aGVtLgorICAgICAgICAgLSBNYWtlIHRoZSBjb21taXQgcXVldWUgcHJpbnQg
cGF0Y2hlcyBjb3VudCBpbnN0ZWFkIG9mIGJ1Z3MgY291bnQsIHRoaXMgYWxzbyBmaXhlcyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjg5MTYuCisgICAgICAgICogU2Ny
aXB0cy9tb2R1bGVzL2J1Z3ppbGxhLnB5OgorICAgICAgICAgLSBNYWtlIF9wYXJzZV9hdHRhY2ht
ZW50X2VsZW1lbnQgbm90IHZhbGlkYXRlIHJldmlld2VyL2NvbW1pdHRlci4KKyAgICAgICAgIC0g
U2hhcmUgZmxhZyBwYXJzaW5nIGNvZGUgaW4gX3BhcnNlX2F0dGFjaG1lbnRfZmxhZy4KKyAgICAg
ICAgIC0gQWRkIF92YWxpZGF0ZSogbWV0aG9kcyBmb3IgdmFsaWRhdGluZyByZXZpZXdlcnMgYW5k
IGNvbW1pdHRlcnMgYW5kIHVwZGF0aW5nIGJ1Z3Mgd2hlbiB2YWxpZGF0aW9uIGZhaWxzLgorICAg
ICAgICAgLSBBZGQgcmVqZWN0X2ludmFsaWRfcGF0Y2hlcyBhcmd1bWVudCBzbyB0aGUgY29tbWl0
LXF1ZXVlIGNhbiB1cGRhdGUgYnVncyBvbiBmYWlsZWQgdmFsaWRhdGlvbiBhbmQgb3RoZXIgInJl
YWQgb25seSIgY29tbWFuZHMgd2lsbCBub3QuCisgICAgICAgICAtIEFkZCByZWplY3RfcGF0Y2hf
ZnJvbV9yZXZpZXdfcXVldWUgdXNpbmcgYSBuZXcgX3NldF9mbGFnX29uX2F0dGFjaG1lbnQgYWJz
dHJhY3Rpb24uCisgICAgICAgICogU2NyaXB0cy9tb2R1bGVzL2J1Z3ppbGxhX3VuaXR0ZXN0LnB5
OgorICAgICAgICAgLSBVcGRhdGUgdGhpcyB0ZXN0IHRvIG5vIGxvbmdlciBleHBlY3QgY29tbWl0
dGVyL3Jldmlld2VyIHZhbGlkYXRpb24uCisgICAgICAgICogU2NyaXB0cy9tb2R1bGVzL2NvbW1p
dHRlcnMucHk6CisgICAgICAgICAtIFJldHVybiBOb25lIG9uIGZhaWxlZCBsb29rdXBzIGluc3Rl
YWQgb2YgcmFpc2luZyBFeGNlcHRpb25zLgorICAgICAgICAqIFNjcmlwdHMvbW9kdWxlcy9jb21t
aXR0ZXJzX3VuaXR0ZXN0LnB5OgorICAgICAgICAgLSBVcGRhdGUgdGVzdHMgdG8gZXhwZWN0IE5v
bmUgcmV0dXJucyBpbnN0ZWFkIG9mIGV4Y2VwdGlvbnMuCisKIDIwMDktMDktMDggIExhc3psbyBH
b21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IFNpbW9uIEhhdXNtYW5uLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWd6aWxs
YS10b29sIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWd6aWxsYS10b29sCmluZGV4IDJkOTE1MjQu
LjBkMzY5NDUgMTAwNzU1Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvYnVnemlsbGEtdG9vbAor
KysgYi9XZWJLaXRUb29scy9TY3JpcHRzL2J1Z3ppbGxhLXRvb2wKQEAgLTM1MSw4ICszNTEsOCBA
QCBjbGFzcyBMYW5kUGF0Y2hlc0Zyb21CdWdzKENvbW1hbmQpOgogICAgICAgICAgICAgaWYgb3B0
aW9ucy5jbG9zZV9idWc6CiAgICAgICAgICAgICAgICAgdG9vbC5idWdzLmNsb3NlX2J1Z19hc19m
aXhlZChidWdfaWQsICJBbGwgcmV2aWV3ZWQgcGF0Y2hlcyBoYXZlIGJlZW4gbGFuZGVkLiAgQ2xv
c2luZyBidWcuIikKICAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yLCBlOgotICAgICAgICAgICAg
dG9vbC5idWdzLnJlamVjdF9wYXRjaF9mcm9tX2NvbW1pdF9xdWV1ZShwYXRjaFsnaWQnXSwgZSkK
LSAgICAgICAgICAgICMgV2Ugc2hvdWxkIGFkZCBhIGNvbW1lbnQgdG8gdGhlIGJ1ZywgYW5kIHIt
IHRoZSBwYXRjaCBvbiBmYWlsdXJlCisgICAgICAgICAgICAjIE1hcmsgdGhlIHBhdGNoIGFzIGNv
bW1pdC1xdWV1ZS0gYW5kIGNvbW1lbnQgaW4gdGhlIGJ1Zy4KKyAgICAgICAgICAgIHRvb2wuYnVn
cy5yZWplY3RfcGF0Y2hfZnJvbV9jb21taXRfcXVldWUocGF0Y2hbJ2lkJ10sICJUaGlzIHBhdGNo
IHdpbGwgcmVxdWlyZSBtYW51YWwgY29tbWl0LiAlcyIgJSBlKQogICAgICAgICAgICAgZXJyb3Io
ZSkKIAogICAgIEBzdGF0aWNtZXRob2QKQEAgLTM2Miw3ICszNjIsNyBAQCBjbGFzcyBMYW5kUGF0
Y2hlc0Zyb21CdWdzKENvbW1hbmQpOgogICAgICAgICBmb3IgYnVnX2lkIGluIGFyZ3M6CiAgICAg
ICAgICAgICBwYXRjaGVzID0gW10KICAgICAgICAgICAgIGlmIG9wdGlvbnMuY29tbWl0X3F1ZXVl
OgotICAgICAgICAgICAgICAgIHBhdGNoZXMgPSB0b29sLmJ1Z3MuZmV0Y2hfY29tbWl0X3F1ZXVl
X3BhdGNoZXNfZnJvbV9idWcoYnVnX2lkKQorICAgICAgICAgICAgICAgIHBhdGNoZXMgPSB0b29s
LmJ1Z3MuZmV0Y2hfY29tbWl0X3F1ZXVlX3BhdGNoZXNfZnJvbV9idWcoYnVnX2lkLCByZWplY3Rf
aW52YWxpZF9wYXRjaGVzPVRydWUpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAg
IHBhdGNoZXMgPSB0b29sLmJ1Z3MuZmV0Y2hfcmV2aWV3ZWRfcGF0Y2hlc19mcm9tX2J1ZyhidWdf
aWQpCiAKQEAgLTcwMSwxMSArNzAxLDEyIEBAIGNsYXNzIExhbmRQYXRjaGVzRnJvbUNvbW1pdFF1
ZXVlKENvbW1hbmQpOgogICAgICAgICAgICAgIyBFaXRoZXIgb2YgdGhlc2UgY2FsbHMgY291bGQg
dGhyb3cgVVJMRXJyb3Igd2hpY2ggc2hvdWxkbid0IHN0b3AgdGhlIHF1ZXVlLgogICAgICAgICAg
ICAgIyBXZSBjYXRjaCBhbGwgZXhjZXB0aW9ucyBqdXN0IGluIGNhc2UuCiAgICAgICAgICAgICB0
cnk6Ci0gICAgICAgICAgICAgICAgYnVnX2lkcyA9IHRvb2wuYnVncy5mZXRjaF9idWdfaWRzX2Zy
b21fY29tbWl0X3F1ZXVlKCkKLSAgICAgICAgICAgICAgICBpZiBub3QgbGVuKGJ1Z19pZHMpOgor
ICAgICAgICAgICAgICAgIHBhdGNoZXMgPSB0b29sLmJ1Z3MuZmV0Y2hfcGF0Y2hlc19mcm9tX2Nv
bW1pdF9xdWV1ZShyZWplY3RfaW52YWxpZF9wYXRjaGVzPVRydWUpCisgICAgICAgICAgICAgICAg
aWYgbm90IGxlbihwYXRjaGVzKToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fc2xlZXAoIkVt
cHR5IHF1ZXVlLiIpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAg
ICAgbG9nKCIlcyBpbiBjb21taXQgcXVldWUuIFslc10iICUgKHBsdXJhbGl6ZSgnYnVnJywgbGVu
KGJ1Z19pZHMpKSwgIiwgIi5qb2luKGJ1Z19pZHMpKSkKKyAgICAgICAgICAgICAgICBwYXRjaF9p
ZHMgPSBtYXAobGFtYmRhIHA6IHBbJ2lkJ10sIHBhdGNoZXMpCisgICAgICAgICAgICAgICAgbG9n
KCIlcyBpbiBjb21taXQgcXVldWUgWyVzXSIgJSAocGx1cmFsaXplKCdwYXRjaCcsIGxlbihwYXRj
aGVzKSksICIsICIuam9pbihwYXRjaF9pZHMpKSkKIAogICAgICAgICAgICAgICAgIGlmIG5vdCB0
b29sLmJ1aWxkYm90LmNvcmVfYnVpbGRlcnNfYXJlX2dyZWVuKCk6CiAgICAgICAgICAgICAgICAg
ICAgIHNlbGYuX3NsZWVwKCJCdWlsZGVycyBhcmUgcmVkLiIpCmRpZmYgLS1naXQgYS9XZWJLaXRU
b29scy9TY3JpcHRzL21vZHVsZXMvYnVnemlsbGEucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL21v
ZHVsZXMvYnVnemlsbGEucHkKaW5kZXggM2E0MzUwYi4uYjYwMGU0MCAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2J1Z3ppbGxhLnB5CisrKyBiL1dlYktpdFRvb2xzL1Nj
cmlwdHMvbW9kdWxlcy9idWd6aWxsYS5weQpAQCAtMTQ5LDYgKzE0OSwxMSBAQCBjbGFzcyBCdWd6
aWxsYToKICAgICAgICAgICAgIGFjdGlvbl9wYXJhbSA9ICImYWN0aW9uPSVzIiAlIGFjdGlvbgog
ICAgICAgICByZXR1cm4gIiVzYXR0YWNobWVudC5jZ2k/aWQ9JXMlcyIgJSAoc2VsZi5idWdfc2Vy
dmVyX3VybCwgYXR0YWNobWVudF9pZCwgYWN0aW9uX3BhcmFtKQogCisgICAgZGVmIF9wYXJzZV9h
dHRhY2htZW50X2ZsYWcoc2VsZiwgZWxlbWVudCwgZmxhZ19uYW1lLCBhdHRhY2htZW50LCByZXN1
bHRfa2V5KToKKyAgICAgICAgZmxhZyA9IGVsZW1lbnQuZmluZCgnZmxhZycsIGF0dHJzPXsnbmFt
ZScgOiBmbGFnX25hbWV9KQorICAgICAgICBpZiBmbGFnIGFuZCBmbGFnWydzdGF0dXMnXSA9PSAn
Kyc6CisgICAgICAgICAgICBhdHRhY2htZW50W3Jlc3VsdF9rZXldID0gZmxhZ1snc2V0dGVyJ10K
KwogICAgIGRlZiBfcGFyc2VfYXR0YWNobWVudF9lbGVtZW50KHNlbGYsIGVsZW1lbnQsIGJ1Z19p
ZCk6CiAgICAgICAgIGF0dGFjaG1lbnQgPSB7fQogICAgICAgICBhdHRhY2htZW50WydidWdfaWQn
XSA9IGJ1Z19pZApAQCAtMTU4LDE5ICsxNjMsOCBAQCBjbGFzcyBCdWd6aWxsYToKICAgICAgICAg
YXR0YWNobWVudFsndXJsJ10gPSBzZWxmLmF0dGFjaG1lbnRfdXJsX2Zvcl9pZChhdHRhY2htZW50
WydpZCddKQogICAgICAgICBhdHRhY2htZW50WyduYW1lJ10gPSB1bmljb2RlKGVsZW1lbnQuZmlu
ZCgnZGVzYycpLnN0cmluZykKICAgICAgICAgYXR0YWNobWVudFsndHlwZSddID0gc3RyKGVsZW1l
bnQuZmluZCgndHlwZScpLnN0cmluZykKLQotICAgICAgICByZXZpZXdfZmxhZyA9IGVsZW1lbnQu
ZmluZCgnZmxhZycsIGF0dHJzPXsibmFtZSIgOiAicmV2aWV3In0pCi0gICAgICAgIGlmIHJldmll
d19mbGFnIGFuZCByZXZpZXdfZmxhZ1snc3RhdHVzJ10gPT0gJysnOgotICAgICAgICAgICAgcmV2
aWV3ZXJfZW1haWwgPSByZXZpZXdfZmxhZ1snc2V0dGVyJ10KLSAgICAgICAgICAgIHJldmlld2Vy
ID0gc2VsZi5jb21taXR0ZXJzLnJldmlld2VyX2J5X2J1Z3ppbGxhX2VtYWlsKHJldmlld2VyX2Vt
YWlsKQotICAgICAgICAgICAgYXR0YWNobWVudFsncmV2aWV3ZXInXSA9IHJldmlld2VyLmZ1bGxf
bmFtZQotCi0gICAgICAgIGNvbW1pdF9xdWV1ZV9mbGFnID0gZWxlbWVudC5maW5kKCdmbGFnJywg
YXR0cnM9eyJuYW1lIiA6ICJjb21taXQtcXVldWUifSkKLSAgICAgICAgaWYgY29tbWl0X3F1ZXVl
X2ZsYWcgYW5kIGNvbW1pdF9xdWV1ZV9mbGFnWydzdGF0dXMnXSA9PSAnKyc6Ci0gICAgICAgICAg
ICBjb21taXR0ZXJfZW1haWwgPSBjb21taXRfcXVldWVfZmxhZ1snc2V0dGVyJ10KLSAgICAgICAg
ICAgIGNvbW1pdHRlciA9IHNlbGYuY29tbWl0dGVycy5jb21taXR0ZXJfYnlfYnVnemlsbGFfZW1h
aWwoY29tbWl0dGVyX2VtYWlsKQotICAgICAgICAgICAgYXR0YWNobWVudFsnY29tbWl0LXF1ZXVl
J10gPSBjb21taXR0ZXIuZnVsbF9uYW1lCi0KKyAgICAgICAgc2VsZi5fcGFyc2VfYXR0YWNobWVu
dF9mbGFnKGVsZW1lbnQsICdyZXZpZXcnLCBhdHRhY2htZW50LCAncmV2aWV3ZXJfZW1haWwnKQor
ICAgICAgICBzZWxmLl9wYXJzZV9hdHRhY2htZW50X2ZsYWcoZWxlbWVudCwgJ2NvbW1pdC1xdWV1
ZScsIGF0dGFjaG1lbnQsICdjb21taXR0ZXJfZW1haWwnKQogICAgICAgICByZXR1cm4gYXR0YWNo
bWVudAogCiAgICAgZGVmIGZldGNoX2F0dGFjaG1lbnRzX2Zyb21fYnVnKHNlbGYsIGJ1Z19pZCk6
CkBAIC0xOTksMTcgKzE5Myw0NSBAQCBjbGFzcyBCdWd6aWxsYToKICAgICAgICAgICAgICAgICBw
YXRjaGVzLmFwcGVuZChhdHRhY2htZW50KQogICAgICAgICByZXR1cm4gcGF0Y2hlcwogCi0gICAg
ZGVmIGZldGNoX3Jldmlld2VkX3BhdGNoZXNfZnJvbV9idWcoc2VsZiwgYnVnX2lkKToKKyAgICAj
IF92aWV3X3NvdXJjZV9saW5rIGJlbG9uZ3MgaW4gc29tZSBzb3J0IG9mIHdlYmtpdF9jb25maWcu
cHkgbW9kdWxlLgorICAgIGRlZiBfdmlld19zb3VyY2VfbGluayhzZWxmLCBsb2NhbF9wYXRoKToK
KyAgICAgICAgcmV0dXJuICJodHRwOi8vdHJhYy53ZWJraXQub3JnL2Jyb3dzZXIvdHJ1bmsvJXMi
ICUgbG9jYWxfcGF0aAorCisgICAgZGVmIF92YWxpZGF0ZV9zZXR0ZXJfZW1haWwoc2VsZiwgcGF0
Y2gsIHJlc3VsdF9rZXksIGxvb2t1cF9mdW5jdGlvbiwgcmVqZWN0aW9uX2Z1bmN0aW9uLCByZWpl
Y3RfaW52YWxpZF9wYXRjaGVzKToKKyAgICAgICAgc2V0dGVyX2VtYWlsID0gcGF0Y2guZ2V0KHJl
c3VsdF9rZXkgKyAnX2VtYWlsJykKKyAgICAgICAgaWYgbm90IHNldHRlcl9lbWFpbDoKKyAgICAg
ICAgICAgIHJldHVybiBOb25lCisKKyAgICAgICAgY29tbWl0dGVyID0gbG9va3VwX2Z1bmN0aW9u
KHNldHRlcl9lbWFpbCkKKyAgICAgICAgaWYgY29tbWl0dGVyOgorICAgICAgICAgICAgcGF0Y2hb
cmVzdWx0X2tleV0gPSBjb21taXR0ZXIuZnVsbF9uYW1lCisgICAgICAgICAgICByZXR1cm4gcGF0
Y2hbcmVzdWx0X2tleV0KKworICAgICAgICBpZiByZWplY3RfaW52YWxpZF9wYXRjaGVzOgorICAg
ICAgICAgICAgY29tbWl0dGVyX2xpc3QgPSAiV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2Nv
bW1pdHRlcnMucHkiCisgICAgICAgICAgICBmYWlsdXJlX21lc3NhZ2UgPSAiJXMgZG9lcyBub3Qg
aGF2ZSAlcyBwZXJtaXNzaW9ucyBhY2NvcmRpbmcgdG8gJXMuIiAlIChzZXR0ZXJfZW1haWwsIHJl
c3VsdF9rZXksIHNlbGYuX3ZpZXdfc291cmNlX2xpbmsoY29tbWl0dGVyX2xpc3QpKQorICAgICAg
ICAgICAgcmVqZWN0aW9uX2Z1bmN0aW9uKHBhdGNoWydpZCddLCBmYWlsdXJlX21lc3NhZ2UpCisg
ICAgICAgIGVsc2U6CisgICAgICAgICAgICBsb2coIldhcm5pbmcsIGF0dGFjaG1lbnQgJXMgb24g
YnVnICVzIGhhcyBpbnZhbGlkICVzICglcykiLCAocGF0Y2hbJ2lkJ10sIHBhdGNoWydidWdfaWQn
XSwgcmVzdWx0X2tleSwgc2V0dGVyX2VtYWlsKSkKKyAgICAgICAgcmV0dXJuIE5vbmUKKworICAg
IGRlZiBfdmFsaWRhdGVfcmV2aWV3ZXIoc2VsZiwgcGF0Y2gsIHJlamVjdF9pbnZhbGlkX3BhdGNo
ZXMpOgorICAgICAgICByZXR1cm4gc2VsZi5fdmFsaWRhdGVfc2V0dGVyX2VtYWlsKHBhdGNoLCAn
cmV2aWV3ZXInLCBzZWxmLmNvbW1pdHRlcnMuY29tbWl0dGVyX2J5X2J1Z3ppbGxhX2VtYWlsLCBz
ZWxmLnJlamVjdF9wYXRjaF9mcm9tX3Jldmlld19xdWV1ZSwgcmVqZWN0X2ludmFsaWRfcGF0Y2hl
cykKKworICAgIGRlZiBfdmFsaWRhdGVfY29tbWl0dGVyKHNlbGYsIHBhdGNoLCByZWplY3RfaW52
YWxpZF9wYXRjaGVzKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX3ZhbGlkYXRlX3NldHRlcl9lbWFp
bChwYXRjaCwgJ2NvbW1pdHRlcicsIHNlbGYuY29tbWl0dGVycy5yZXZpZXdlcl9ieV9idWd6aWxs
YV9lbWFpbCwgc2VsZi5yZWplY3RfcGF0Y2hfZnJvbV9jb21taXRfcXVldWUsIHJlamVjdF9pbnZh
bGlkX3BhdGNoZXMpCisKKyAgICBkZWYgZmV0Y2hfcmV2aWV3ZWRfcGF0Y2hlc19mcm9tX2J1Zyhz
ZWxmLCBidWdfaWQsIHJlamVjdF9pbnZhbGlkX3BhdGNoZXM9RmFsc2UpOgogICAgICAgICByZXZp
ZXdlZF9wYXRjaGVzID0gW10KICAgICAgICAgZm9yIGF0dGFjaG1lbnQgaW4gc2VsZi5mZXRjaF9h
dHRhY2htZW50c19mcm9tX2J1ZyhidWdfaWQpOgotICAgICAgICAgICAgaWYgJ3Jldmlld2VyJyBp
biBhdHRhY2htZW50IGFuZCBub3QgYXR0YWNobWVudFsnaXNfb2Jzb2xldGUnXToKKyAgICAgICAg
ICAgIGlmIHNlbGYuX3ZhbGlkYXRlX3Jldmlld2VyKGF0dGFjaG1lbnQsIHJlamVjdF9pbnZhbGlk
X3BhdGNoZXMpIGFuZCBub3QgYXR0YWNobWVudFsnaXNfb2Jzb2xldGUnXToKICAgICAgICAgICAg
ICAgICByZXZpZXdlZF9wYXRjaGVzLmFwcGVuZChhdHRhY2htZW50KQogICAgICAgICByZXR1cm4g
cmV2aWV3ZWRfcGF0Y2hlcwogCi0gICAgZGVmIGZldGNoX2NvbW1pdF9xdWV1ZV9wYXRjaGVzX2Zy
b21fYnVnKHNlbGYsIGJ1Z19pZCk6CisgICAgZGVmIGZldGNoX2NvbW1pdF9xdWV1ZV9wYXRjaGVz
X2Zyb21fYnVnKHNlbGYsIGJ1Z19pZCwgcmVqZWN0X2ludmFsaWRfcGF0Y2hlcz1GYWxzZSk6CiAg
ICAgICAgIGNvbW1pdF9xdWV1ZV9wYXRjaGVzID0gW10KLSAgICAgICAgZm9yIGF0dGFjaG1lbnQg
aW4gc2VsZi5mZXRjaF9yZXZpZXdlZF9wYXRjaGVzX2Zyb21fYnVnKGJ1Z19pZCk6Ci0gICAgICAg
ICAgICBpZiAnY29tbWl0LXF1ZXVlJyBpbiBhdHRhY2htZW50IGFuZCBub3QgYXR0YWNobWVudFsn
aXNfb2Jzb2xldGUnXToKKyAgICAgICAgZm9yIGF0dGFjaG1lbnQgaW4gc2VsZi5mZXRjaF9yZXZp
ZXdlZF9wYXRjaGVzX2Zyb21fYnVnKGJ1Z19pZCwgcmVqZWN0X2ludmFsaWRfcGF0Y2hlcyk6Cisg
ICAgICAgICAgICBpZiBzZWxmLl92YWxpZGF0ZV9jb21taXR0ZXIoYXR0YWNobWVudCwgcmVqZWN0
X2ludmFsaWRfcGF0Y2hlcykgYW5kIG5vdCBhdHRhY2htZW50Wydpc19vYnNvbGV0ZSddOgogICAg
ICAgICAgICAgICAgIGNvbW1pdF9xdWV1ZV9wYXRjaGVzLmFwcGVuZChhdHRhY2htZW50KQogICAg
ICAgICByZXR1cm4gY29tbWl0X3F1ZXVlX3BhdGNoZXMKIApAQCAtMjI3LDEwICsyNDksMTAgQEAg
Y2xhc3MgQnVnemlsbGE6CiAKICAgICAgICAgcmV0dXJuIGJ1Z19pZHMKIAotICAgIGRlZiBmZXRj
aF9wYXRjaGVzX2Zyb21fY29tbWl0X3F1ZXVlKHNlbGYpOgorICAgIGRlZiBmZXRjaF9wYXRjaGVz
X2Zyb21fY29tbWl0X3F1ZXVlKHNlbGYsIHJlamVjdF9pbnZhbGlkX3BhdGNoZXM9RmFsc2UpOgog
ICAgICAgICBwYXRjaGVzX3RvX2xhbmQgPSBbXQogICAgICAgICBmb3IgYnVnX2lkIGluIHNlbGYu
ZmV0Y2hfYnVnX2lkc19mcm9tX2NvbW1pdF9xdWV1ZSgpOgotICAgICAgICAgICAgcGF0Y2hlcyA9
IHNlbGYuZmV0Y2hfY29tbWl0X3F1ZXVlX3BhdGNoZXNfZnJvbV9idWcoYnVnX2lkKQorICAgICAg
ICAgICAgcGF0Y2hlcyA9IHNlbGYuZmV0Y2hfY29tbWl0X3F1ZXVlX3BhdGNoZXNfZnJvbV9idWco
YnVnX2lkLCByZWplY3RfaW52YWxpZF9wYXRjaGVzKQogICAgICAgICAgICAgcGF0Y2hlc190b19s
YW5kICs9IHBhdGNoZXMKICAgICAgICAgcmV0dXJuIHBhdGNoZXNfdG9fbGFuZAogCkBAIC0zNTks
MTAgKzM4MSw5IEBAIGNsYXNzIEJ1Z3ppbGxhOgogICAgICAgICBzZWxmLmJyb3dzZXIuc3VibWl0
KCkKIAogICAgICMgRklYTUU6IFdlIG5lZWQgYSB3YXkgdG8gdGVzdCB0aGlzIG9uIGEgbGl2ZSBi
dWd6aWxsYSBpbnN0YW5jZS4KLSAgICBkZWYgcmVqZWN0X3BhdGNoX2Zyb21fY29tbWl0X3F1ZXVl
KHNlbGYsIGF0dGFjaG1lbnRfaWQsIGFkZGl0aW9uYWxfY29tbWVudF90ZXh0PU5vbmUpOgorICAg
IGRlZiBfc2V0X2ZsYWdfb25fYXR0YWNobWVudChzZWxmLCBhdHRhY2htZW50X2lkLCBmbGFnX25h
bWUsIGZsYWdfdmFsdWUsIGNvbW1lbnRfdGV4dCwgYWRkaXRpb25hbF9jb21tZW50X3RleHQpOgog
ICAgICAgICBzZWxmLmF1dGhlbnRpY2F0ZSgpCiAKLSAgICAgICAgY29tbWVudF90ZXh0ID0gIlJl
amVjdGluZyBwYXRjaCAlcyBmcm9tIGNvbW1pdC1xdWV1ZS4gIFRoaXMgcGF0Y2ggd2lsbCByZXF1
aXJlIG1hbnVhbCBjb21taXQuIiAlIGF0dGFjaG1lbnRfaWQKICAgICAgICAgaWYgYWRkaXRpb25h
bF9jb21tZW50X3RleHQ6CiAgICAgICAgICAgICBjb21tZW50X3RleHQgKz0gIlxuXG4lcyIgJSBh
ZGRpdGlvbmFsX2NvbW1lbnRfdGV4dAogICAgICAgICBsb2coY29tbWVudF90ZXh0KQpAQCAtMzcz
LDkgKzM5NCwxNyBAQCBjbGFzcyBCdWd6aWxsYToKICAgICAgICAgc2VsZi5icm93c2VyLm9wZW4o
c2VsZi5hdHRhY2htZW50X3VybF9mb3JfaWQoYXR0YWNobWVudF9pZCwgJ2VkaXQnKSkKICAgICAg
ICAgc2VsZi5icm93c2VyLnNlbGVjdF9mb3JtKG5yPTEpCiAgICAgICAgIHNlbGYuYnJvd3Nlci5z
ZXRfdmFsdWUoY29tbWVudF90ZXh0LCBuYW1lPSdjb21tZW50JywgbnI9MCkKLSAgICAgICAgc2Vs
Zi5fZmluZF9zZWxlY3RfZWxlbWVudF9mb3JfZmxhZygnY29tbWl0LXF1ZXVlJykudmFsdWUgPSAo
Ii0iLCkKKyAgICAgICAgc2VsZi5fZmluZF9zZWxlY3RfZWxlbWVudF9mb3JfZmxhZyhmbGFnX25h
bWUpLnZhbHVlID0gKGZsYWdfdmFsdWUsKQogICAgICAgICBzZWxmLmJyb3dzZXIuc3VibWl0KCkK
IAorICAgIGRlZiByZWplY3RfcGF0Y2hfZnJvbV9jb21taXRfcXVldWUoc2VsZiwgYXR0YWNobWVu
dF9pZCwgYWRkaXRpb25hbF9jb21tZW50X3RleHQ9Tm9uZSk6CisgICAgICAgIGNvbW1lbnRfdGV4
dCA9ICJSZWplY3RpbmcgcGF0Y2ggJXMgZnJvbSBjb21taXQtcXVldWUuIiAlIGF0dGFjaG1lbnRf
aWQKKyAgICAgICAgc2VsZi5fc2V0X2ZsYWdfb25fYXR0YWNobWVudChhdHRhY2htZW50X2lkLCAn
Y29tbWl0LXF1ZXVlJywgJy0nLCBjb21tZW50X3RleHQsIGFkZGl0aW9uYWxfY29tbWVudF90ZXh0
KQorCisgICAgZGVmIHJlamVjdF9wYXRjaF9mcm9tX3Jldmlld19xdWV1ZShzZWxmLCBhdHRhY2ht
ZW50X2lkLCBhZGRpdGlvbmFsX2NvbW1lbnRfdGV4dD1Ob25lKToKKyAgICAgICAgY29tbWVudF90
ZXh0ID0gIlJlamVjdGluZyBwYXRjaCAlcyBmcm9tIHJldmlldyBxdWV1ZS4iICUgYXR0YWNobWVu
dF9pZAorICAgICAgICBzZWxmLl9zZXRfZmxhZ19vbl9hdHRhY2htZW50KGF0dGFjaG1lbnRfaWQs
ICdyZXZpZXcnLCAnLScsIGNvbW1lbnRfdGV4dCwgYWRkaXRpb25hbF9jb21tZW50X3RleHQpCisK
ICAgICBkZWYgb2Jzb2xldGVfYXR0YWNobWVudChzZWxmLCBhdHRhY2htZW50X2lkLCBjb21tZW50
X3RleHQgPSBOb25lKToKICAgICAgICAgc2VsZi5hdXRoZW50aWNhdGUoKQogCmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvYnVnemlsbGFfdW5pdHRlc3QucHkgYi9XZWJL
aXRUb29scy9TY3JpcHRzL21vZHVsZXMvYnVnemlsbGFfdW5pdHRlc3QucHkKaW5kZXggMWU1MjE0
MC4uZjA4MDMxZSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2J1Z3pp
bGxhX3VuaXR0ZXN0LnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9idWd6aWxs
YV91bml0dGVzdC5weQpAQCAtNjgsMjEgKzY4LDIxIEBAIGNsYXNzIEJ1Z3ppbGxhVGVzdCh1bml0
dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICd1cmwnIDogImh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L2F0dGFjaG1lbnQuY2dpP2lkPTMzNzIxIiwKICAgICAgICAgJ25hbWUnIDogIkZpeGVkIHdoaXRl
c3BhY2UgaXNzdWUiLAogICAgICAgICAndHlwZScgOiAidGV4dC9wbGFpbiIsCi0gICAgICAgICdy
ZXZpZXdlcicgOiAnVGVzdCBPbmUnLAotICAgICAgICAnY29tbWl0LXF1ZXVlJyA6ICdUZXN0IFR3
bycKKyAgICAgICAgJ3Jldmlld2VyX2VtYWlsJyA6ICdvbmVAdGVzdC5jb20nLAorICAgICAgICAn
Y29tbWl0dGVyX2VtYWlsJyA6ICd0d29AdGVzdC5jb20nCiAgICAgfQogCiAgICAgZGVmIHRlc3Rf
YXR0YWNobWVudF9wYXJzaW5nKHNlbGYpOgotICAgICAgICByZXZpZXdlciA9IFJldmlld2VyKCdU
ZXN0IE9uZScsICdvbmVAdGVzdC5jb20nKQotICAgICAgICBjb21taXR0ZXIgPSBDb21taXR0ZXIo
J1Rlc3QgVHdvJywgJ3R3b0B0ZXN0LmNvbScpCi0gICAgICAgIGNvbW1pdHRlcl9saXN0ID0gQ29t
bWl0dGVyTGlzdChjb21taXR0ZXJzPVtjb21taXR0ZXJdLCByZXZpZXdlcnM9W3Jldmlld2VyXSkK
LSAgICAgICAgYnVnemlsbGEgPSBCdWd6aWxsYShjb21taXR0ZXJzPWNvbW1pdHRlcl9saXN0KQor
ICAgICAgICBidWd6aWxsYSA9IEJ1Z3ppbGxhKCkKIAogICAgICAgICBzb3VwID0gQmVhdXRpZnVs
U291cChzZWxmLl9leGFtcGxlX2F0dGFjaG1lbnQpCiAgICAgICAgIGF0dGFjaG1lbnRfZWxlbWVu
dCA9IHNvdXAuZmluZCgiYXR0YWNobWVudCIpCiAgICAgICAgIGF0dGFjaG1lbnQgPSBidWd6aWxs
YS5fcGFyc2VfYXR0YWNobWVudF9lbGVtZW50KGF0dGFjaG1lbnRfZWxlbWVudCwgc2VsZi5fZXhw
ZWN0ZWRfZXhhbXBsZV9hdHRhY2htZW50X3BhcnNpbmdbJ2J1Z19pZCddKQogICAgICAgICBzZWxm
LmFzc2VydFRydWUoYXR0YWNobWVudCkKIAorICAgICAgICAjIE1ha2Ugc3VyZSB3ZSBhcmVuJ3Qg
cGFyc2luZyBtb3JlIG9yIGxlc3MgdGhhbiB3ZSBleHBlY3QKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbHMoYXR0YWNobWVudC5rZXlzKCksIHNlbGYuX2V4cGVjdGVkX2V4YW1wbGVfYXR0YWNobWVu
dF9wYXJzaW5nLmtleXMoKSkKKwogICAgICAgICBmb3Iga2V5LCBleHBlY3RlZF92YWx1ZSBpbiBz
ZWxmLl9leHBlY3RlZF9leGFtcGxlX2F0dGFjaG1lbnRfcGFyc2luZy5pdGVtcygpOgogICAgICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoYXR0YWNobWVudFtrZXldLCBleHBlY3RlZF92YWx1ZSwg
KCJGYWlsdXJlIGZvciBrZXk6ICVzOiBBY3R1YWw9JyVzJyBFeHBlY3RlZD0nJXMnIiAlIChrZXks
IGF0dGFjaG1lbnRba2V5XSwgZXhwZWN0ZWRfdmFsdWUpKSkKIApkaWZmIC0tZ2l0IGEvV2ViS2l0
VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NvbW1pdHRlcnMucHkgYi9XZWJLaXRUb29scy9TY3JpcHRz
L21vZHVsZXMvY29tbWl0dGVycy5weQppbmRleCA2YzY4NTkyLi5iNDJjMWYxIDEwMDY0NAotLS0g
YS9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY29tbWl0dGVycy5weQorKysgYi9XZWJLaXRU
b29scy9TY3JpcHRzL21vZHVsZXMvY29tbWl0dGVycy5weQpAQCAtMTIzLDEzICsxMjMsMTAgQEAg
Y2xhc3MgQ29tbWl0dGVyTGlzdDoKICAgICAgICAgcmV0dXJuIHNlbGYuX2NvbW1pdHRlcnNfYnlf
ZW1haWwKIAogICAgIGRlZiBjb21taXR0ZXJfYnlfYnVnemlsbGFfZW1haWwoc2VsZiwgYnVnemls
bGFfZW1haWwpOgotICAgICAgICBjb21taXR0ZXIgPSBzZWxmLl9lbWFpbF90b19jb21taXR0ZXJf
bWFwKCkuZ2V0KGJ1Z3ppbGxhX2VtYWlsKQotICAgICAgICBpZiBub3QgY29tbWl0dGVyOgotICAg
ICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJVbmtub3duIGNvbW1pdHRlcjogJXMiICUgYnVnemls
bGFfZW1haWwpCi0gICAgICAgIHJldHVybiBjb21taXR0ZXIKKyAgICAgICAgcmV0dXJuIHNlbGYu
X2VtYWlsX3RvX2NvbW1pdHRlcl9tYXAoKS5nZXQoYnVnemlsbGFfZW1haWwpCiAKICAgICBkZWYg
cmV2aWV3ZXJfYnlfYnVnemlsbGFfZW1haWwoc2VsZiwgYnVnemlsbGFfZW1haWwpOgogICAgICAg
ICBjb21taXR0ZXIgPSBzZWxmLmNvbW1pdHRlcl9ieV9idWd6aWxsYV9lbWFpbChidWd6aWxsYV9l
bWFpbCkKLSAgICAgICAgaWYgbm90IGNvbW1pdHRlci5jYW5fcmV2aWV3OgotICAgICAgICAgICAg
cmFpc2UgRXhjZXB0aW9uKCJDb21taXR0ZXIgJXMgZG9lcyBub3QgaGF2ZSByZXZpZXcgcmlnaHRz
LiIgJSBjb21taXR0ZXIpCisgICAgICAgIGlmIGNvbW1pdHRlciBhbmQgbm90IGNvbW1pdHRlci5j
YW5fcmV2aWV3OgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICAgcmV0dXJuIGNvbW1p
dHRlcgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NvbW1pdHRlcnNf
dW5pdHRlc3QucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY29tbWl0dGVyc191bml0
dGVzdC5weQppbmRleCBkMjIxYzhiLi4wNDVlMjBlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9T
Y3JpcHRzL21vZHVsZXMvY29tbWl0dGVyc191bml0dGVzdC5weQorKysgYi9XZWJLaXRUb29scy9T
Y3JpcHRzL21vZHVsZXMvY29tbWl0dGVyc191bml0dGVzdC5weQpAQCAtNDIsMTEgKzQyLDExIEBA
IGNsYXNzIENvbW1pdHRlcnNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChjb21taXR0ZXJfbGlzdC5jb21taXR0ZXJfYnlfYnVnemlsbGFfZW1haWwoJ3R3
b0B0ZXN0LmNvbScpLCByZXZpZXdlcikKIAogICAgICAgICAjIFRlc3QgdGhhdCBhIGtub3duIGNv
bW1pdHRlciBpcyBub3QgcmV0dXJuZWQgZHVyaW5nIHJldmlld2VyIGxvb2t1cAotICAgICAgICBz
ZWxmLmFzc2VydFJhaXNlcyhFeGNlcHRpb24sIGNvbW1pdHRlcl9saXN0LnJldmlld2VyX2J5X2J1
Z3ppbGxhX2VtYWlsLCAnb25lQHRlc3QuY29tJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChj
b21taXR0ZXJfbGlzdC5yZXZpZXdlcl9ieV9idWd6aWxsYV9lbWFpbCgnb25lQHRlc3QuY29tJyks
IE5vbmUpCiAKICAgICAgICAgIyBUZXN0IHRoYXQgdW5rbm93biBlbWFpbCBhZGRyZXNzIGZhaWwg
Ym90aCBjb21taXR0ZXIgYW5kIHJldmlld2VyIGxvb2t1cAotICAgICAgICBzZWxmLmFzc2VydFJh
aXNlcyhFeGNlcHRpb24sIGNvbW1pdHRlcl9saXN0LmNvbW1pdHRlcl9ieV9idWd6aWxsYV9lbWFp
bCwgJ2JhckBiYXIuY29tJykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoRXhjZXB0aW9uLCBj
b21taXR0ZXJfbGlzdC5yZXZpZXdlcl9ieV9idWd6aWxsYV9lbWFpbCwgJ2JhckBiYXIuY29tJykK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb21taXR0ZXJfbGlzdC5jb21taXR0ZXJfYnlfYnVn
emlsbGFfZW1haWwoJ2JhckBiYXIuY29tJyksIE5vbmUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoY29tbWl0dGVyX2xpc3QucmV2aWV3ZXJfYnlfYnVnemlsbGFfZW1haWwoJ2JhckBiYXIuY29t
JyksIE5vbmUpCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgdW5pdHRlc3QubWFp
bigp
</data>
<flag name="review"
          id="20277"
          type_id="1"
          status="+"
          setter="levin"
    />
          </attachment>
      

    </bug>

</bugzilla>