<?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>64885</bug_id>
          
          <creation_ts>2011-07-20 12:56:32 -0700</creation_ts>
          <short_desc>Move HttpLock to using a FileSystem object</short_desc>
          <delta_ts>2011-07-20 15:06:17 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>ossy</cc>
    
    <cc>senorblanco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>439943</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-07-20 12:56:32 -0700</bug_when>
    <thetext>Move HttpLock to using a FileSystem object</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439944</commentid>
    <comment_count>1</comment_count>
      <attachid>101498</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-07-20 12:58:28 -0700</bug_when>
    <thetext>Created attachment 101498
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439990</commentid>
    <comment_count>2</comment_count>
      <attachid>101498</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-20 13:46:00 -0700</bug_when>
    <thetext>Comment on attachment 101498
Patch

Clearing flags on attachment: 101498

Committed r91398: &lt;http://trac.webkit.org/changeset/91398&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439991</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-20 13:46:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>440019</commentid>
    <comment_count>4</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-07-20 14:27:10 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; All reviewed patches have been landed.  Closing bug.

The Chrome WebKit Linux canaries seem to be unhappy with this change:

2011-07-20 13:54:27,112 10770 http_lock.py:117 DEBUG Creating lock file: /tmp/WebKitHttpd.lock.0
Traceback (most recent call last):
  File &quot;/mnt/data/b/build/slave/Webkit_Linux_32/build/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py&quot;, line 436, in &lt;module&gt;
    sys.exit(main())
  File &quot;/mnt/data/b/build/slave/Webkit_Linux_32/build/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py&quot;, line 431, in main
    return run(port, options, args)
  File &quot;/mnt/data/b/build/slave/Webkit_Linux_32/build/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py&quot;, line 107, in run
    num_unexpected_results = manager.run(result_summary)
  File &quot;/mnt/data/b/build/slave/Webkit_Linux_32/build/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py&quot;, line 873, in run
    interrupted, keyboard_interrupted, thread_timings, test_timings, individual_test_timings = self._run_tests(self._test_files_list, result_summary)
  File &quot;/mnt/data/b/build/slave/Webkit_Linux_32/build/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py&quot;, line 730, in _run_tests
    self.start_servers_with_lock()
  File &quot;/mnt/data/b/build/slave/Webkit_Linux_32/build/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py&quot;, line 927, in start_servers_with_lock
    self._port.acquire_http_lock()
  File &quot;/mnt/data/b/build/slave/Webkit_Linux_32/build/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/base.py&quot;, line 715, in acquire_http_lock
    self._http_lock.wait_for_httpd_lock()
  File &quot;/mnt/data/b/build/slave/Webkit_Linux_32/build/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/http_lock.py&quot;, line 129, in wait_for_httpd_lock
    while self._curent_lock_pid() != os.getpid():
  File &quot;/mnt/data/b/build/slave/Webkit_Linux_32/build/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/http_lock.py&quot;, line 92, in _curent_lock_pid
    if not (current_pid and self._executive.check_running_pid(int(current_pid))):
NameError: global name &apos;current_pid&apos; is not defined

http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Linux%2032/builds/3079/steps/webkit_tests/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>440022</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-07-20 14:34:38 -0700</bug_when>
    <thetext>Fixing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>440044</commentid>
    <comment_count>6</comment_count>
      <attachid>101517</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-07-20 15:01:59 -0700</bug_when>
    <thetext>Created attachment 101517
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>440046</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-07-20 15:03:07 -0700</bug_when>
    <thetext>Reopening to fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>440047</commentid>
    <comment_count>8</comment_count>
      <attachid>101517</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-07-20 15:03:28 -0700</bug_when>
    <thetext>Comment on attachment 101517
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=101517&amp;action=review

&gt; Tools/Scripts/webkitpy/layout_tests/port/http_lock.py:92
&gt; -            current_lock_file = self._filesystem.read_text_file(lock_list[0])
&gt; +            current_pid = self._filesystem.read_text_file(lock_list[0])

This is the fix, btw.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>440049</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-07-20 15:06:17 -0700</bug_when>
    <thetext>Committed r91411: &lt;http://trac.webkit.org/changeset/91411&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101498</attachid>
            <date>2011-07-20 12:58:28 -0700</date>
            <delta_ts>2011-07-20 15:01:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64885-20110720125826.patch</filename>
            <type>text/plain</type>
            <size>7264</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTEzODcKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkNDg3NTcxZDkwMDEwZjg2ZWUzNjhlYzljNzQ5NzU3Njdk
NzczOWM4Li4yYjBhOWYyYmVjM2U0NGEyZjYwNWNiNjQ1Yjc4OWZjM2VjNmJkOWQ0IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTEtMDctMjAgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAg
IE1vdmUgSHR0cExvY2sgdG8gdXNpbmcgYSBGaWxlU3lzdGVtIG9iamVjdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4ODUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVyZSBpcyBubyBmdW5jdGlvbmFs
IGNoYW5nZSBoZXJlLiAgSnVzdCBtb3Zpbmcgb2ZmCisgICAgICAgIG9mIGRpcmVjdCBvcy5mb28g
Y2FsbHMgdG8gdGhlaXIgZmlsZXN5c3RlbSBlcXVpdmFsZW50LgorCisgICAgICAgIFRoaXMgbWFr
ZXMgaXQgcG9zc2libGUgdG8gbm93IHVuaXR0ZXN0IEh0dHBMb2NrIHVzaW5nIGEKKyAgICAgICAg
TW9ja0ZpbGVTeXN0ZW0gaW5zdGVhZCBvZiBuZWVkaW5nIHRvIHRhbGsgdG8gdGhlIGZpbGVzeXN0
ZW0gZGlyZWN0bHkuCisKKyAgICAgICAgVGhpcyBhbHNvIHdpbGwgaGF2ZSBjaGFuZ2VkIGFueSBw
b3J0IHRlc3QgY2FzZXMgd2hpY2ggd2VyZSB1c2luZyBhCisgICAgICAgIG1vY2sgZmlsZSBzeXN0
ZW0gdG8gbm93IGhhdmUgYW4gSHR0cExvY2sgYmFzZWQgb24gYSBtb2NrIGZpbGVzeXN0ZW0KKyAg
ICAgICAgaW5zdGVhZC4gIEkgc2F3IG5vIGNoYW5nZSBpbiB0aGUgdW5pdHRlc3RzIHNvIGl0J3Mg
cG9zc2libGUKKyAgICAgICAgd2UncmUgbm90IHRlc3RpbmcgdGhhdCBjb25maWd1cmF0aW9uIChv
ciBtb3JlIGxpa2VseSB0aGF0IGl0ICJqdXN0IHdvcmtzIikuCisKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9odHRwX2xvY2sucHk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9odHRwX2xvY2tfdW5pdHRlc3QucHk6CisKIDIw
MTEtMDctMjAgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBOUldU
IHJlc3VsdHMgdXNlcyB0b28gbXVjaCBzcGFjZSBwZXIgcnVuCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKaW5kZXggODJhYTA3NzcxOTlmNWIx
ODI2ZTk0YzY5MTAzNTZmMTQ3ZTY1OTBlNS4uYTA0ZTZiYjNmNjY3MmQ3NGRmNjAzYzIzNzYxN2Ez
NTAzNDdlOTM2OCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvYmFzZS5weQpAQCAtNzExLDcgKzcxMSw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAg
ICAgICAgc2VsZi5fd2Vic29ja2V0X3NlcnZlciA9IHNlcnZlcgogCiAgICAgZGVmIGFjcXVpcmVf
aHR0cF9sb2NrKHNlbGYpOgotICAgICAgICBzZWxmLl9odHRwX2xvY2sgPSBodHRwX2xvY2suSHR0
cExvY2soTm9uZSkKKyAgICAgICAgc2VsZi5faHR0cF9sb2NrID0gaHR0cF9sb2NrLkh0dHBMb2Nr
KE5vbmUsIGZpbGVzeXN0ZW09c2VsZi5fZmlsZXN5c3RlbSwgZXhlY3V0aXZlPXNlbGYuX2V4ZWN1
dGl2ZSkKICAgICAgICAgc2VsZi5faHR0cF9sb2NrLndhaXRfZm9yX2h0dHBkX2xvY2soKQogCiAg
ICAgZGVmIHN0b3BfaGVscGVyKHNlbGYpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9odHRwX2xvY2sucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L2h0dHBfbG9jay5weQppbmRleCA5NjFlNjg2MDdkMGY5YmFk
NmQ2OGVlNTE1ZWE3Y2QzMDI2MjUwOTQ5Li5kOTAzYzlhMTE2MmIwNGVmODA3YjM4MzFmOWRmZTkx
NzhmODVlZjZiIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L2h0dHBfbG9jay5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L2h0dHBfbG9jay5weQpAQCAtNDQsMjUgKzQ0LDIzIEBAIF9sb2cgPSBsb2dnaW5n
LmdldExvZ2dlcihfX25hbWVfXykKIAogCiBjbGFzcyBIdHRwTG9jayhvYmplY3QpOgotCi0gICAg
ZGVmIF9faW5pdF9fKHNlbGYsIGxvY2tfcGF0aCwgbG9ja19maWxlX3ByZWZpeD0iV2ViS2l0SHR0
cGQubG9jay4iLAotICAgICAgICAgICAgICAgICBndWFyZF9sb2NrPSJXZWJLaXQubG9jayIpOgor
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2NrX3BhdGgsIGxvY2tfZmlsZV9wcmVmaXg9IldlYktp
dEh0dHBkLmxvY2suIiwgZ3VhcmRfbG9jaz0iV2ViS2l0LmxvY2siLCBmaWxlc3lzdGVtPU5vbmUs
IGV4ZWN1dGl2ZT1Ob25lKToKKyAgICAgICAgc2VsZi5fZXhlY3V0aXZlID0gZXhlY3V0aXZlIG9y
IEV4ZWN1dGl2ZSgpCisgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0gPSBmaWxlc3lzdGVtIG9yIEZp
bGVTeXN0ZW0oKQogICAgICAgICBzZWxmLl9sb2NrX3BhdGggPSBsb2NrX3BhdGgKICAgICAgICAg
aWYgbm90IHNlbGYuX2xvY2tfcGF0aDoKICAgICAgICAgICAgIHNlbGYuX2xvY2tfcGF0aCA9IHRl
bXBmaWxlLmdldHRlbXBkaXIoKQogICAgICAgICBzZWxmLl9sb2NrX2ZpbGVfcHJlZml4ID0gbG9j
a19maWxlX3ByZWZpeAotICAgICAgICBzZWxmLl9sb2NrX2ZpbGVfcGF0aF9wcmVmaXggPSBvcy5w
YXRoLmpvaW4oc2VsZi5fbG9ja19wYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2VsZi5fbG9ja19maWxlX3ByZWZpeCkKLSAgICAgICAgc2Vs
Zi5fZ3VhcmRfbG9ja19maWxlID0gb3MucGF0aC5qb2luKHNlbGYuX2xvY2tfcGF0aCwgZ3VhcmRf
bG9jaykKKyAgICAgICAgc2VsZi5fbG9ja19maWxlX3BhdGhfcHJlZml4ID0gc2VsZi5fZmlsZXN5
c3RlbS5qb2luKHNlbGYuX2xvY2tfcGF0aCwgc2VsZi5fbG9ja19maWxlX3ByZWZpeCkKKyAgICAg
ICAgc2VsZi5fZ3VhcmRfbG9ja19maWxlID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNlbGYuX2xv
Y2tfcGF0aCwgZ3VhcmRfbG9jaykKICAgICAgICAgc2VsZi5fZ3VhcmRfbG9jayA9IEZpbGVMb2Nr
KHNlbGYuX2d1YXJkX2xvY2tfZmlsZSkKICAgICAgICAgc2VsZi5fcHJvY2Vzc19sb2NrX2ZpbGVf
bmFtZSA9ICIiCi0gICAgICAgIHNlbGYuX2V4ZWN1dGl2ZSA9IEV4ZWN1dGl2ZSgpCiAKICAgICBk
ZWYgY2xlYW51cF9odHRwX2xvY2soc2VsZik6CiAgICAgICAgICIiIkRlbGV0ZSB0aGUgbG9jayBm
aWxlIGlmIGV4aXN0cy4iIiIKLSAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoc2VsZi5fcHJvY2Vz
c19sb2NrX2ZpbGVfbmFtZSk6CisgICAgICAgIGlmIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKHNl
bGYuX3Byb2Nlc3NfbG9ja19maWxlX25hbWUpOgogICAgICAgICAgICAgX2xvZy5kZWJ1ZygiUmVt
b3ZpbmcgbG9jayBmaWxlOiAlcyIgJSBzZWxmLl9wcm9jZXNzX2xvY2tfZmlsZV9uYW1lKQotICAg
ICAgICAgICAgRmlsZVN5c3RlbSgpLnJlbW92ZShzZWxmLl9wcm9jZXNzX2xvY2tfZmlsZV9uYW1l
KQorICAgICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbS5yZW1vdmUoc2VsZi5fcHJvY2Vzc19sb2Nr
X2ZpbGVfbmFtZSkKIAogICAgIGRlZiBfZXh0cmFjdF9sb2NrX251bWJlcihzZWxmLCBsb2NrX2Zp
bGVfbmFtZSk6CiAgICAgICAgICIiIlJldHVybiB0aGUgbG9jayBudW1iZXIgZnJvbSBsb2NrIGZp
bGUuIiIiCkBAIC05MCwxMiArODgsMTAgQEAgY2xhc3MgSHR0cExvY2sob2JqZWN0KToKICAgICAg
ICAgICAgIF9sb2cuZGVidWcoIk5vIGxvY2sgZmlsZSBsaXN0IikKICAgICAgICAgICAgIHJldHVy
bgogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBjdXJyZW50X2xvY2tfZmlsZSA9IG9wZW4obG9j
a19saXN0WzBdLCAncicpCi0gICAgICAgICAgICBjdXJyZW50X3BpZCA9IGN1cnJlbnRfbG9ja19m
aWxlLnJlYWRsaW5lKCkKLSAgICAgICAgICAgIGN1cnJlbnRfbG9ja19maWxlLmNsb3NlKCkKKyAg
ICAgICAgICAgIGN1cnJlbnRfbG9ja19maWxlID0gc2VsZi5fZmlsZXN5c3RlbS5yZWFkX3RleHRf
ZmlsZShsb2NrX2xpc3RbMF0pCiAgICAgICAgICAgICBpZiBub3QgKGN1cnJlbnRfcGlkIGFuZCBz
ZWxmLl9leGVjdXRpdmUuY2hlY2tfcnVubmluZ19waWQoaW50KGN1cnJlbnRfcGlkKSkpOgogICAg
ICAgICAgICAgICAgIF9sb2cuZGVidWcoIlJlbW92aW5nIHN0dWNrIGxvY2sgZmlsZTogJXMiICUg
bG9ja19saXN0WzBdKQotICAgICAgICAgICAgICAgIEZpbGVTeXN0ZW0oKS5yZW1vdmUobG9ja19s
aXN0WzBdKQorICAgICAgICAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0ucmVtb3ZlKGxvY2tfbGlz
dFswXSkKICAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgZXhjZXB0IElPRXJyb3IsIGU6
CiAgICAgICAgICAgICBfbG9nLmRlYnVnKCJJT0Vycm9yOiAlcyIgJSBlKQpAQCAtMTAzLDE0ICs5
OSwxMyBAQCBjbGFzcyBIdHRwTG9jayhvYmplY3QpOgogICAgICAgICBleGNlcHQgT1NFcnJvciwg
ZToKICAgICAgICAgICAgIF9sb2cuZGVidWcoIk9TRXJyb3I6ICVzIiAlIGUpCiAgICAgICAgICAg
ICByZXR1cm4KLSAgICAgICAgcmVzdWx0ID0gaW50KGN1cnJlbnRfcGlkKQotICAgICAgICByZXR1
cm4gcmVzdWx0CisgICAgICAgIHJldHVybiBpbnQoY3VycmVudF9waWQpCiAKICAgICBkZWYgX2Ny
ZWF0ZV9sb2NrX2ZpbGUoc2VsZik6CiAgICAgICAgICIiIlRoZSBsb2NrIGZpbGVzIGFyZSB1c2Vk
IHRvIHNjaGVkdWxlIHRoZSBydW5uaW5nIHRlc3Qgc2Vzc2lvbnMgaW4gZmlyc3QKICAgICAgICAg
Y29tZSBmaXJzdCBzZXJ2ZWQgb3JkZXIuIFRoZSBndWFyZCBsb2NrIGVuc3VyZXMgdGhhdCB0aGUg
bG9jayBudW1iZXJzIGFyZQogICAgICAgICBzZXF1ZW50aWFsLiIiIgotICAgICAgICBpZiBub3Qg
b3MucGF0aC5leGlzdHMoc2VsZi5fbG9ja19wYXRoKToKKyAgICAgICAgaWYgbm90IHNlbGYuX2Zp
bGVzeXN0ZW0uZXhpc3RzKHNlbGYuX2xvY2tfcGF0aCk6CiAgICAgICAgICAgICBfbG9nLmRlYnVn
KCJMb2NrIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdDogJXMiICUgc2VsZi5fbG9ja19wYXRoKQog
ICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKQEAgLTExOCwxMiArMTEzLDkgQEAgY2xhc3MgSHR0
cExvY2sob2JqZWN0KToKICAgICAgICAgICAgIF9sb2cuZGVidWcoIkd1YXJkIGxvY2sgdGltZWQg
b3V0ISIpCiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAotICAgICAgICBzZWxmLl9wcm9jZXNz
X2xvY2tfZmlsZV9uYW1lID0gKHNlbGYuX2xvY2tfZmlsZV9wYXRoX3ByZWZpeCArCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlbGYuX25leHRfbG9ja19udW1i
ZXIoKSkpCisgICAgICAgIHNlbGYuX3Byb2Nlc3NfbG9ja19maWxlX25hbWUgPSAoc2VsZi5fbG9j
a19maWxlX3BhdGhfcHJlZml4ICsgc3RyKHNlbGYuX25leHRfbG9ja19udW1iZXIoKSkpCiAgICAg
ICAgIF9sb2cuZGVidWcoIkNyZWF0aW5nIGxvY2sgZmlsZTogJXMiICUgc2VsZi5fcHJvY2Vzc19s
b2NrX2ZpbGVfbmFtZSkKLSAgICAgICAgbG9ja19maWxlID0gb3BlbihzZWxmLl9wcm9jZXNzX2xv
Y2tfZmlsZV9uYW1lLCAndycpCi0gICAgICAgIGxvY2tfZmlsZS53cml0ZShzdHIob3MuZ2V0cGlk
KCkpKQotICAgICAgICBsb2NrX2ZpbGUuY2xvc2UoKQorICAgICAgICBzZWxmLl9maWxlc3lzdGVt
LndyaXRlX3RleHRfZmlsZShzZWxmLl9wcm9jZXNzX2xvY2tfZmlsZV9uYW1lLCBzdHIob3MuZ2V0
cGlkKCkpKQogICAgICAgICBzZWxmLl9ndWFyZF9sb2NrLnJlbGVhc2VfbG9jaygpCiAgICAgICAg
IHJldHVybiBUcnVlCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvaHR0cF9sb2NrX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9odHRwX2xvY2tfdW5pdHRlc3QucHkKaW5kZXggODVjNzYwYWM1
ZmEwNDM2OTkxZDQ4NjM4NzEyMGM4N2ZiZDYyYzkwNC4uNGJiYmRlYzA5YzNmZDU3Mjg5NTBmYTli
MjlhZDMxZGJiNTc1NmYwOCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9odHRwX2xvY2tfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9odHRwX2xvY2tfdW5pdHRlc3QucHkKQEAgLTMxLDEx
ICszMSwxMCBAQCBpbXBvcnQgdW5pdHRlc3QKIAogCiBjbGFzcyBIdHRwTG9ja1Rlc3QodW5pdHRl
c3QuVGVzdENhc2UpOgotCisgICAgIyBGSVhNRTogVGhlc2UgdGVzdHMgYWxsIHRvdWNoIHRoZSBy
ZWFsIGRpc2ssIGJ1dCBjb3VsZCBiZSB3cml0dGVuIHRvIGEgTW9ja0ZpbGVTeXN0ZW0gaW5zdGVh
ZC4KICAgICBkZWYgX19pbml0X18oc2VsZiwgdGVzdEZ1bmMpOgogICAgICAgICBzZWxmLmh0dHBf
bG9ja19vYmogPSBodHRwX2xvY2suSHR0cExvY2soTm9uZSwgIldlYktpdFRlc3RIdHRwZC5sb2Nr
LiIsICJXZWJLaXRUZXN0LmxvY2siKQotICAgICAgICBzZWxmLmxvY2tfZmlsZV9wYXRoX3ByZWZp
eCA9IG9zLnBhdGguam9pbihzZWxmLmh0dHBfbG9ja19vYmouX2xvY2tfcGF0aCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5odHRwX2xvY2tf
b2JqLl9sb2NrX2ZpbGVfcHJlZml4KQorICAgICAgICBzZWxmLmxvY2tfZmlsZV9wYXRoX3ByZWZp
eCA9IG9zLnBhdGguam9pbihzZWxmLmh0dHBfbG9ja19vYmouX2xvY2tfcGF0aCwgc2VsZi5odHRw
X2xvY2tfb2JqLl9sb2NrX2ZpbGVfcHJlZml4KQogICAgICAgICBzZWxmLmxvY2tfZmlsZV9uYW1l
ID0gc2VsZi5sb2NrX2ZpbGVfcGF0aF9wcmVmaXggKyAiMCIKICAgICAgICAgc2VsZi5ndWFyZF9s
b2NrX2ZpbGUgPSBzZWxmLmh0dHBfbG9ja19vYmouX2d1YXJkX2xvY2tfZmlsZQogICAgICAgICBz
ZWxmLmNsZWFuX2FsbF9sb2NrZmlsZSgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101517</attachid>
            <date>2011-07-20 15:01:59 -0700</date>
            <delta_ts>2011-07-20 15:05:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64885-20110720150158.patch</filename>
            <type>text/plain</type>
            <size>11301</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTE0MDcKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2ZDIwMjFhYjdjMDJmODU4OGUwNTg1MGIwMjJjZmE2OGM5
NGIwZDIxLi5lNGUyY2JmZTY0OTU4NTZmZTlhOWNlM2ExYTVkZjQ2OWIxODQyOTcxIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcg
QEAKKzIwMTEtMDctMjAgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAg
IE1vdmUgSHR0cExvY2sgdG8gdXNpbmcgYSBGaWxlU3lzdGVtIG9iamVjdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4ODUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJIG1hZGUgYSB0eXBvIGluIG15IHBy
ZXZpb3VzIGNoYW5nZSwgdGFraW5nIHRoZSB2YWx1ZQorICAgICAgICBvZiByZWFkX3RleHRfZmls
ZShwaWRfZmlsZSkgYW5kIHNldHRpbmcgaXQgdG8gbG9ja19waWRfZmlsZQorICAgICAgICBpbnN0
ZWFkIG9mIGN1cnJlbnRfcGlkLiAgRml4ZWQgbm93LiA6KQorCisgICAgICAgIEluIG9yZGVyIHRv
IHRlc3QgbXkgbmV3IGNoYW5nZSBJIGhhZCB0byBvdmVyaGF1bCB0aGUgdW5pdHRlc3RzCisgICAg
ICAgIGZvciB0aGlzIGNsYXNzIHRvIGNyZWF0ZSBhIHNlcGFyYXRlIHNldCBvZiB0ZXN0cyB3aGlj
aCB3b3JrIG9mZgorICAgICAgICBvZiBNb2NrIG9iamVjdHMgaW5zdGVhZCBvZiB0aGUgcmVhbCBm
aWxlc3lzdGVtLgorCisgICAgICAgIFNpbmNlIEV4ZWN1dGl2ZSBkb2Vzbid0IHlldCB3cmFwIG9z
LmdldHBpZCgpIEkgYWRkZWQgYSBGSVhNRQorICAgICAgICBpbiBzZXZlcmFsIHBsYWNlcyB3aGVy
ZSB3ZSdyZSBjdXJyZW50bHkgY2FsbGluZyBvcy5nZXRwaWQoKS4gIEkKKyAgICAgICAgZmVsdCBh
ZGRpbmcgRXhlY3V0aXZlLmdldHBpZCB3YXMgb3V0c2lkZSBvZiB0aGUgc2NvcGUgb2YgdGhpcyBj
aGFuZ2UKKyAgICAgICAgYnV0IG9uY2UgaXQgZXhpc3RzIHNvbWUgb2YgdGhpcyBjb2RlIHdpbGwg
YmUgbXVjaCBzaW1wbGVyIHRvIG1vY2suCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2h0dHBfbG9jay5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2h0dHBfbG9ja191bml0dGVzdC5weToKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvbW9ja3Rvb2wucHk6CisKIDIwMTEtMDctMjAgIEFkYW0gUm9iZW4g
IDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0eXBvIGluIFRlc3RGYWlsdXJlcydz
IEJ1Z3ppbGxhIGNvbnN0YW50cwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9odHRwX2xvY2sucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2h0dHBfbG9jay5weQppbmRleCBkOTAzYzlhMTE2MmIwNGVmODA3YjM4
MzFmOWRmZTkxNzhmODVlZjZiLi41NGU3ODJhZWNhMDNkY2E1ZWM3Nzc4ZGIwZjFjODBjM2U3NTU3
NWU4IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L2h0dHBfbG9jay5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L2h0dHBfbG9jay5weQpAQCAtNDksNiArNDksNyBAQCBjbGFzcyBIdHRwTG9jayhvYmplY3Qp
OgogICAgICAgICBzZWxmLl9maWxlc3lzdGVtID0gZmlsZXN5c3RlbSBvciBGaWxlU3lzdGVtKCkK
ICAgICAgICAgc2VsZi5fbG9ja19wYXRoID0gbG9ja19wYXRoCiAgICAgICAgIGlmIG5vdCBzZWxm
Ll9sb2NrX3BhdGg6CisgICAgICAgICAgICAjIEZJWE1FOiBGaWxlU3lzdGVtIHNob3VsZCBoYXZl
IGFuIGFjY2Vzc29yIGZvciB0ZW1wZGlyKCkKICAgICAgICAgICAgIHNlbGYuX2xvY2tfcGF0aCA9
IHRlbXBmaWxlLmdldHRlbXBkaXIoKQogICAgICAgICBzZWxmLl9sb2NrX2ZpbGVfcHJlZml4ID0g
bG9ja19maWxlX3ByZWZpeAogICAgICAgICBzZWxmLl9sb2NrX2ZpbGVfcGF0aF9wcmVmaXggPSBz
ZWxmLl9maWxlc3lzdGVtLmpvaW4oc2VsZi5fbG9ja19wYXRoLCBzZWxmLl9sb2NrX2ZpbGVfcHJl
Zml4KQpAQCAtNjksNyArNzAsNyBAQCBjbGFzcyBIdHRwTG9jayhvYmplY3QpOgogCiAgICAgZGVm
IF9sb2NrX2ZpbGVfbGlzdChzZWxmKToKICAgICAgICAgIiIiUmV0dXJuIHRoZSBsaXN0IG9mIGxv
Y2sgZmlsZXMgc2VxdWVudGlhbGx5LiIiIgotICAgICAgICBsb2NrX2xpc3QgPSBnbG9iLmdsb2Io
c2VsZi5fbG9ja19maWxlX3BhdGhfcHJlZml4ICsgJyonKQorICAgICAgICBsb2NrX2xpc3QgPSBz
ZWxmLl9maWxlc3lzdGVtLmdsb2Ioc2VsZi5fbG9ja19maWxlX3BhdGhfcHJlZml4ICsgJyonKQog
ICAgICAgICBsb2NrX2xpc3Quc29ydChrZXk9c2VsZi5fZXh0cmFjdF9sb2NrX251bWJlcikKICAg
ICAgICAgcmV0dXJuIGxvY2tfbGlzdAogCkBAIC04MCw3ICs4MSw3IEBAIGNsYXNzIEh0dHBMb2Nr
KG9iamVjdCk6CiAgICAgICAgICAgICByZXR1cm4gMAogICAgICAgICByZXR1cm4gc2VsZi5fZXh0
cmFjdF9sb2NrX251bWJlcihsb2NrX2xpc3RbLTFdKSArIDEKIAotICAgIGRlZiBfY3VyZW50X2xv
Y2tfcGlkKHNlbGYpOgorICAgIGRlZiBfY3VycmVudF9sb2NrX3BpZChzZWxmKToKICAgICAgICAg
IiIiUmV0dXJuIHdpdGggdGhlIGN1cnJlbnQgbG9jayBwaWQuIElmIHRoZSBsb2NrIGlzIG5vdCB2
YWxpZAogICAgICAgICBpdCBkZWxldGVzIHRoZSBsb2NrIGZpbGUuIiIiCiAgICAgICAgIGxvY2tf
bGlzdCA9IHNlbGYuX2xvY2tfZmlsZV9saXN0KCkKQEAgLTg4LDcgKzg5LDcgQEAgY2xhc3MgSHR0
cExvY2sob2JqZWN0KToKICAgICAgICAgICAgIF9sb2cuZGVidWcoIk5vIGxvY2sgZmlsZSBsaXN0
IikKICAgICAgICAgICAgIHJldHVybgogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBjdXJyZW50
X2xvY2tfZmlsZSA9IHNlbGYuX2ZpbGVzeXN0ZW0ucmVhZF90ZXh0X2ZpbGUobG9ja19saXN0WzBd
KQorICAgICAgICAgICAgY3VycmVudF9waWQgPSBzZWxmLl9maWxlc3lzdGVtLnJlYWRfdGV4dF9m
aWxlKGxvY2tfbGlzdFswXSkKICAgICAgICAgICAgIGlmIG5vdCAoY3VycmVudF9waWQgYW5kIHNl
bGYuX2V4ZWN1dGl2ZS5jaGVja19ydW5uaW5nX3BpZChpbnQoY3VycmVudF9waWQpKSk6CiAgICAg
ICAgICAgICAgICAgX2xvZy5kZWJ1ZygiUmVtb3Zpbmcgc3R1Y2sgbG9jayBmaWxlOiAlcyIgJSBs
b2NrX2xpc3RbMF0pCiAgICAgICAgICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbS5yZW1vdmUobG9j
a19saXN0WzBdKQpAQCAtMTE1LDYgKzExNiw3IEBAIGNsYXNzIEh0dHBMb2NrKG9iamVjdCk6CiAK
ICAgICAgICAgc2VsZi5fcHJvY2Vzc19sb2NrX2ZpbGVfbmFtZSA9IChzZWxmLl9sb2NrX2ZpbGVf
cGF0aF9wcmVmaXggKyBzdHIoc2VsZi5fbmV4dF9sb2NrX251bWJlcigpKSkKICAgICAgICAgX2xv
Zy5kZWJ1ZygiQ3JlYXRpbmcgbG9jayBmaWxlOiAlcyIgJSBzZWxmLl9wcm9jZXNzX2xvY2tfZmls
ZV9uYW1lKQorICAgICAgICAjIEZJWE1FOiBFeGVjdXRpdmUucHkgc2hvdWxkIGhhdmUgYW4gYWNj
ZXNzb3IgZm9yIGdldHBpZCgpCiAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9m
aWxlKHNlbGYuX3Byb2Nlc3NfbG9ja19maWxlX25hbWUsIHN0cihvcy5nZXRwaWQoKSkpCiAgICAg
ICAgIHNlbGYuX2d1YXJkX2xvY2sucmVsZWFzZV9sb2NrKCkKICAgICAgICAgcmV0dXJuIFRydWUK
QEAgLTEyNiw3ICsxMjgsOCBAQCBjbGFzcyBIdHRwTG9jayhvYmplY3QpOgogICAgICAgICAgICAg
X2xvZy5kZWJ1ZygiV2FybmluZywgaHR0cCBsb2NraW5nIGZhaWxlZCEiKQogICAgICAgICAgICAg
cmV0dXJuCiAKLSAgICAgICAgd2hpbGUgc2VsZi5fY3VyZW50X2xvY2tfcGlkKCkgIT0gb3MuZ2V0
cGlkKCk6CisgICAgICAgICMgRklYTUU6IFRoaXMgY2FuIGhhbmcgZm9yZXZlciEKKyAgICAgICAg
d2hpbGUgc2VsZi5fY3VycmVudF9sb2NrX3BpZCgpICE9IG9zLmdldHBpZCgpOgogICAgICAgICAg
ICAgdGltZS5zbGVlcCgxKQogCiAgICAgICAgIF9sb2cuZGVidWcoIkhUVFAgbG9jayBhY3F1aXJl
ZCIpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L2h0dHBfbG9ja191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvaHR0cF9sb2NrX3VuaXR0ZXN0LnB5CmluZGV4IDRiYmJkZWMwOWMzZmQ1NzI4OTUw
ZmE5YjI5YWQzMWRiYjU3NTZmMDguLjY0OGY4YTZjZDRhZjFmZmVjYjdlYjA0NGEwMzEyYjZkMzRm
ZGE3Y2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvaHR0cF9sb2NrX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvaHR0cF9sb2NrX3VuaXR0ZXN0LnB5CkBAIC0yNCwyOCArMjQsMzIgQEAK
ICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKLWltcG9ydCBnbG9iCi1pbXBvcnQgaHR0
cF9sb2NrCi1pbXBvcnQgb3MKK2Zyb20gaHR0cF9sb2NrIGltcG9ydCBIdHRwTG9jaworaW1wb3J0
IG9zICAjIFVzZWQgZm9yIG9zLmdldHBpZCgpCiBpbXBvcnQgdW5pdHRlc3QKIAorZnJvbSB3ZWJr
aXRweS5jb21tb24uc3lzdGVtLmZpbGVzeXN0ZW1fbW9jayBpbXBvcnQgTW9ja0ZpbGVTeXN0ZW0K
K2Zyb20gd2Via2l0cHkudG9vbC5tb2NrdG9vbCBpbXBvcnQgTW9ja0V4ZWN1dGl2ZQogCi1jbGFz
cyBIdHRwTG9ja1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgotICAgICMgRklYTUU6IFRoZXNlIHRl
c3RzIGFsbCB0b3VjaCB0aGUgcmVhbCBkaXNrLCBidXQgY291bGQgYmUgd3JpdHRlbiB0byBhIE1v
Y2tGaWxlU3lzdGVtIGluc3RlYWQuCisKKyMgRklYTUU6IFRoZXNlIHRlc3RzIGFsbCB0b3VjaCB0
aGUgcmVhbCBkaXNrLCBidXQgY291bGQgYmUgd3JpdHRlbiB0byBhIE1vY2tGaWxlU3lzdGVtIGlu
c3RlYWQuCitjbGFzcyBIdHRwTG9ja1Rlc3RXaXRoUmVhbEZpbGVTeXN0ZW0odW5pdHRlc3QuVGVz
dENhc2UpOgorICAgICMgRklYTUU6IFVuaXQgdGVzdHMgZG8gbm90IHVzZSBhbiBfX2luaXRfXyBt
ZXRob2QsIGJ1dCByYXRoZXIgc2V0VXAgYW5kIHRlYXJEb3duIG1ldGhvZHMuCiAgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIHRlc3RGdW5jKToKLSAgICAgICAgc2VsZi5odHRwX2xvY2tfb2JqID0gaHR0
cF9sb2NrLkh0dHBMb2NrKE5vbmUsICJXZWJLaXRUZXN0SHR0cGQubG9jay4iLCAiV2ViS2l0VGVz
dC5sb2NrIikKLSAgICAgICAgc2VsZi5sb2NrX2ZpbGVfcGF0aF9wcmVmaXggPSBvcy5wYXRoLmpv
aW4oc2VsZi5odHRwX2xvY2tfb2JqLl9sb2NrX3BhdGgsIHNlbGYuaHR0cF9sb2NrX29iai5fbG9j
a19maWxlX3ByZWZpeCkKKyAgICAgICAgc2VsZi5odHRwX2xvY2sgPSBIdHRwTG9jayhOb25lLCAi
V2ViS2l0VGVzdEh0dHBkLmxvY2suIiwgIldlYktpdFRlc3QubG9jayIpCisgICAgICAgIHNlbGYu
ZmlsZXN5c3RlbSA9IHNlbGYuaHR0cF9sb2NrLl9maWxlc3lzdGVtICAjIEZJWE1FOiBXZSBzaG91
bGQgYmUgcGFzc2luZyBpbiBhIE1vY2tGaWxlU3lzdGVtIGluc3RlYWQuCisgICAgICAgIHNlbGYu
bG9ja19maWxlX3BhdGhfcHJlZml4ID0gc2VsZi5maWxlc3lzdGVtLmpvaW4oc2VsZi5odHRwX2xv
Y2suX2xvY2tfcGF0aCwgc2VsZi5odHRwX2xvY2suX2xvY2tfZmlsZV9wcmVmaXgpCiAgICAgICAg
IHNlbGYubG9ja19maWxlX25hbWUgPSBzZWxmLmxvY2tfZmlsZV9wYXRoX3ByZWZpeCArICIwIgot
ICAgICAgICBzZWxmLmd1YXJkX2xvY2tfZmlsZSA9IHNlbGYuaHR0cF9sb2NrX29iai5fZ3VhcmRf
bG9ja19maWxlCisgICAgICAgIHNlbGYuZ3VhcmRfbG9ja19maWxlID0gc2VsZi5odHRwX2xvY2su
X2d1YXJkX2xvY2tfZmlsZQogICAgICAgICBzZWxmLmNsZWFuX2FsbF9sb2NrZmlsZSgpCiAgICAg
ICAgIHVuaXR0ZXN0LlRlc3RDYXNlLl9faW5pdF9fKHNlbGYsIHRlc3RGdW5jKQogCiAgICAgZGVm
IGNsZWFuX2FsbF9sb2NrZmlsZShzZWxmKToKLSAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoc2Vs
Zi5ndWFyZF9sb2NrX2ZpbGUpOgotICAgICAgICAgICAgb3MudW5saW5rKHNlbGYuZ3VhcmRfbG9j
a19maWxlKQotICAgICAgICBsb2NrX2xpc3QgPSBnbG9iLmdsb2Ioc2VsZi5sb2NrX2ZpbGVfcGF0
aF9wcmVmaXggKyAnKicpCisgICAgICAgIGlmIHNlbGYuZmlsZXN5c3RlbS5leGlzdHMoc2VsZi5n
dWFyZF9sb2NrX2ZpbGUpOgorICAgICAgICAgICAgc2VsZi5maWxlc3lzdGVtLnVubGluayhzZWxm
Lmd1YXJkX2xvY2tfZmlsZSkKKyAgICAgICAgbG9ja19saXN0ID0gc2VsZi5maWxlc3lzdGVtLmds
b2Ioc2VsZi5sb2NrX2ZpbGVfcGF0aF9wcmVmaXggKyAnKicpCiAgICAgICAgIGZvciBmaWxlX25h
bWUgaW4gbG9ja19saXN0OgotICAgICAgICAgICAgb3MudW5saW5rKGZpbGVfbmFtZSkKKyAgICAg
ICAgICAgIHNlbGYuZmlsZXN5c3RlbS51bmxpbmsoZmlsZV9uYW1lKQogCiAgICAgZGVmIGFzc2Vy
dEVxdWFsKHNlbGYsIGZpcnN0LCBzZWNvbmQpOgogICAgICAgICBpZiBmaXJzdCAhPSBzZWNvbmQ6
CkBAIC01MywyNyArNTcsNDAgQEAgY2xhc3MgSHR0cExvY2tUZXN0KHVuaXR0ZXN0LlRlc3RDYXNl
KToKICAgICAgICAgdW5pdHRlc3QuVGVzdENhc2UuYXNzZXJ0RXF1YWwoc2VsZiwgZmlyc3QsIHNl
Y29uZCkKIAogICAgIGRlZiBfY2hlY2tfbG9ja19maWxlKHNlbGYpOgotICAgICAgICBpZiBvcy5w
YXRoLmV4aXN0cyhzZWxmLmxvY2tfZmlsZV9uYW1lKToKKyAgICAgICAgaWYgc2VsZi5maWxlc3lz
dGVtLmV4aXN0cyhzZWxmLmxvY2tfZmlsZV9uYW1lKToKICAgICAgICAgICAgIHBpZCA9IG9zLmdl
dHBpZCgpCi0gICAgICAgICAgICBsb2NrX2ZpbGUgPSBvcGVuKHNlbGYubG9ja19maWxlX25hbWUs
ICdyJykKLSAgICAgICAgICAgIGxvY2tfZmlsZV9waWQgPSBsb2NrX2ZpbGUucmVhZGxpbmUoKQot
ICAgICAgICAgICAgbG9ja19maWxlLmNsb3NlKCkKKyAgICAgICAgICAgIGxvY2tfZmlsZV9waWQg
PSBzZWxmLmZpbGVzeXN0ZW0ucmVhZF90ZXh0X2ZpbGUoc2VsZi5sb2NrX2ZpbGVfbmFtZSkKICAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGlkLCBpbnQobG9ja19maWxlX3BpZCkpCiAgICAg
ICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICByZXR1cm4gRmFsc2UKIAogICAgIGRlZiB0ZXN0
X2xvY2tfbGlmZWN5Y2xlKHNlbGYpOgotICAgICAgICBzZWxmLmh0dHBfbG9ja19vYmouX2NyZWF0
ZV9sb2NrX2ZpbGUoKQorICAgICAgICBzZWxmLmh0dHBfbG9jay5fY3JlYXRlX2xvY2tfZmlsZSgp
CiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBzZWxmLl9jaGVja19sb2NrX2ZpbGUo
KSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxLCBzZWxmLmh0dHBfbG9ja19vYmouX25leHRf
bG9ja19udW1iZXIoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxLCBzZWxmLmh0dHBfbG9j
ay5fbmV4dF9sb2NrX251bWJlcigpKQogCi0gICAgICAgIHNlbGYuaHR0cF9sb2NrX29iai5jbGVh
bnVwX2h0dHBfbG9jaygpCisgICAgICAgIHNlbGYuaHR0cF9sb2NrLmNsZWFudXBfaHR0cF9sb2Nr
KCkKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBzZWxmLl9jaGVja19sb2NrX2Zp
bGUoKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwLCBzZWxmLmh0dHBfbG9ja19vYmouX25l
eHRfbG9ja19udW1iZXIoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwLCBzZWxmLmh0dHBf
bG9jay5fbmV4dF9sb2NrX251bWJlcigpKQorCisKK2NsYXNzIEh0dHBMb2NrVGVzdCh1bml0dGVz
dC5UZXN0Q2FzZSk6CisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxmLmZpbGVzeXN0
ZW0gPSBNb2NrRmlsZVN5c3RlbSgpCisgICAgICAgIHNlbGYuaHR0cF9sb2NrID0gSHR0cExvY2so
Tm9uZSwgIldlYktpdFRlc3RIdHRwZC5sb2NrLiIsICJXZWJLaXRUZXN0LmxvY2siLCBmaWxlc3lz
dGVtPXNlbGYuZmlsZXN5c3RlbSwgZXhlY3V0aXZlPU1vY2tFeGVjdXRpdmUoKSkKKyAgICAgICAg
IyBGSVhNRTogU2hvdWxkbid0IHdlIGJlIGFibGUgdG8gZ2V0IHRoZXNlIHZhbHVlcyBmcm9tIHRo
ZSBodHRwX2xvY2sgb2JqZWN0IGRpcmVjdGx5PworICAgICAgICBzZWxmLmxvY2tfZmlsZV9wYXRo
X3ByZWZpeCA9IHNlbGYuZmlsZXN5c3RlbS5qb2luKHNlbGYuaHR0cF9sb2NrLl9sb2NrX3BhdGgs
IHNlbGYuaHR0cF9sb2NrLl9sb2NrX2ZpbGVfcHJlZml4KQorICAgICAgICBzZWxmLmxvY2tfZmls
ZV9uYW1lID0gc2VsZi5sb2NrX2ZpbGVfcGF0aF9wcmVmaXggKyAiMCIKKworICAgIGRlZiB0ZXN0
X2N1cnJlbnRfbG9ja19waWQoc2VsZik6CisgICAgICAgICMgRklYTUU6IE9uY2UgRXhlY3V0aXZl
IHdyYXBzIGdldHBpZCwgd2UgY2FuIG1vY2sgdGhpcyBhbmQgbm90IHVzZSBhIHJlYWwgcGlkLgor
ICAgICAgICBjdXJyZW50X3BpZCA9IG9zLmdldHBpZCgpCisgICAgICAgIHNlbGYuaHR0cF9sb2Nr
Ll9maWxlc3lzdGVtLndyaXRlX3RleHRfZmlsZShzZWxmLmxvY2tfZmlsZV9uYW1lLCBzdHIoY3Vy
cmVudF9waWQpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhzZWxmLmh0dHBfbG9jay5fY3Vy
cmVudF9sb2NrX3BpZCgpLCBjdXJyZW50X3BpZCkKIAotICAgIGRlZiB0ZXN0X2V4dHJhY3RfbG9j
a19udW1iZXIoc2VsZiwpOgorICAgIGRlZiB0ZXN0X2V4dHJhY3RfbG9ja19udW1iZXIoc2VsZik6
CiAgICAgICAgIGxvY2tfZmlsZV9saXN0ID0gKAogICAgICAgICAgICAgc2VsZi5sb2NrX2ZpbGVf
cGF0aF9wcmVmaXggKyAiMDAiLAogICAgICAgICAgICAgc2VsZi5sb2NrX2ZpbGVfcGF0aF9wcmVm
aXggKyAiOSIsCkBAIC04NCwxNSArMTAxLDE1IEBAIGNsYXNzIEh0dHBMb2NrVGVzdCh1bml0dGVz
dC5UZXN0Q2FzZSk6CiAgICAgICAgIGV4cGVjdGVkX251bWJlcl9saXN0ID0gKDAsIDksIDEsIDIx
KQogCiAgICAgICAgIGZvciBsb2NrX2ZpbGUsIGV4cGVjdGVkIGluIHppcChsb2NrX2ZpbGVfbGlz
dCwgZXhwZWN0ZWRfbnVtYmVyX2xpc3QpOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChz
ZWxmLmh0dHBfbG9ja19vYmouX2V4dHJhY3RfbG9ja19udW1iZXIobG9ja19maWxlKSwgZXhwZWN0
ZWQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuaHR0cF9sb2NrLl9leHRyYWN0
X2xvY2tfbnVtYmVyKGxvY2tfZmlsZSksIGV4cGVjdGVkKQogCiAgICAgZGVmIHRlc3RfbG9ja19m
aWxlX2xpc3Qoc2VsZik6Ci0gICAgICAgIGxvY2tfZmlsZV9saXN0ID0gWwotICAgICAgICAgICAg
c2VsZi5sb2NrX2ZpbGVfcGF0aF9wcmVmaXggKyAiNiIsCi0gICAgICAgICAgICBzZWxmLmxvY2tf
ZmlsZV9wYXRoX3ByZWZpeCArICIxIiwKLSAgICAgICAgICAgIHNlbGYubG9ja19maWxlX3BhdGhf
cHJlZml4ICsgIjQiLAotICAgICAgICAgICAgc2VsZi5sb2NrX2ZpbGVfcGF0aF9wcmVmaXggKyAi
MyIsCi0gICAgICAgIF0KKyAgICAgICAgc2VsZi5odHRwX2xvY2suX2ZpbGVzeXN0ZW0gPSBNb2Nr
RmlsZVN5c3RlbSh7CisgICAgICAgICAgICBzZWxmLmxvY2tfZmlsZV9wYXRoX3ByZWZpeCArICI2
IjogIiIsCisgICAgICAgICAgICBzZWxmLmxvY2tfZmlsZV9wYXRoX3ByZWZpeCArICIxIjogIiIs
CisgICAgICAgICAgICBzZWxmLmxvY2tfZmlsZV9wYXRoX3ByZWZpeCArICI0IjogIiIsCisgICAg
ICAgICAgICBzZWxmLmxvY2tfZmlsZV9wYXRoX3ByZWZpeCArICIzIjogIiIsCisgICAgICAgIH0p
CiAKICAgICAgICAgZXhwZWN0ZWRfZmlsZV9saXN0ID0gWwogICAgICAgICAgICAgc2VsZi5sb2Nr
X2ZpbGVfcGF0aF9wcmVmaXggKyAiMSIsCkBAIC0xMDEsMTAgKzExOCw0IEBAIGNsYXNzIEh0dHBM
b2NrVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICBzZWxmLmxvY2tfZmlsZV9w
YXRoX3ByZWZpeCArICI2IiwKICAgICAgICAgXQogCi0gICAgICAgIGZvciBmaWxlX25hbWUgaW4g
bG9ja19maWxlX2xpc3Q6Ci0gICAgICAgICAgICBvcGVuKGZpbGVfbmFtZSwgJ3cnKQotCi0gICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5odHRwX2xvY2tfb2JqLl9sb2NrX2ZpbGVfbGlzdCgp
LCBleHBlY3RlZF9maWxlX2xpc3QpCi0KLSAgICAgICAgZm9yIGZpbGVfbmFtZSBpbiBsb2NrX2Zp
bGVfbGlzdDoKLSAgICAgICAgICAgIG9zLnVubGluayhmaWxlX25hbWUpCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoc2VsZi5odHRwX2xvY2suX2xvY2tfZmlsZV9saXN0KCksIGV4cGVjdGVkX2Zp
bGVfbGlzdCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9tb2NrdG9v
bC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9tb2NrdG9vbC5weQppbmRleCBmNDI4
MDUyNzNiZDcxYmU2NmM3MGZhZmJhOTBiM2NiMTQ1ODQ0MmM4Li5lYjJlYjMzMzZiMDdlNTkwOWQx
OWM3YTY3MThjNmQ5YWNjMzQyYWY5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvbW9ja3Rvb2wucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL21vY2t0
b29sLnB5CkBAIC03MTUsNiArNzE1LDExIEBAIGNsYXNzIE1vY2tFeGVjdXRpdmUob2JqZWN0KToK
ICAgICBkZWYgX19pbml0X18oc2VsZiwgc2hvdWxkX2xvZz1GYWxzZSwgc2hvdWxkX3Rocm93PUZh
bHNlKToKICAgICAgICAgc2VsZi5fc2hvdWxkX2xvZyA9IHNob3VsZF9sb2cKICAgICAgICAgc2Vs
Zi5fc2hvdWxkX3Rocm93ID0gc2hvdWxkX3Rocm93CisgICAgICAgICMgRklYTUU6IE9uY2UgZXhl
Y3V0aXZlIHdyYXBzIG9zLmdldHBpZCgpIHdlIGNhbiBqdXN0IHVzZSBhIHN0YXRpYyBwaWQgZm9y
ICJ0aGlzIiBwcm9jZXNzLgorICAgICAgICBzZWxmLl9ydW5uaW5nX3BpZHMgPSBbb3MuZ2V0cGlk
KCldCisKKyAgICBkZWYgY2hlY2tfcnVubmluZ19waWQoc2VsZiwgcGlkKToKKyAgICAgICAgcmV0
dXJuIHBpZCBpbiBzZWxmLl9ydW5uaW5nX3BpZHMKIAogICAgIGRlZiBydW5fYW5kX3Rocm93X2lm
X2ZhaWwoc2VsZiwgYXJncywgcXVpZXQ9RmFsc2UsIGN3ZD1Ob25lKToKICAgICAgICAgaWYgc2Vs
Zi5fc2hvdWxkX2xvZzoK
</data>
<flag name="review"
          id="96457"
          type_id="1"
          status="+"
          setter="abarth"
    />
    <flag name="commit-queue"
          id="96458"
          type_id="3"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>