<?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>67103</bug_id>
          
          <creation_ts>2011-08-28 21:38:44 -0700</creation_ts>
          <short_desc>Implement list style properties in CSSStyleApplyProperty.</short_desc>
          <delta_ts>2011-09-06 19:06:15 -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="Luke Macpherson">macpherson</reporter>
          <assigned_to name="Luke Macpherson">macpherson</assigned_to>
          <cc>eric</cc>
    
    <cc>macpherson</cc>
    
    <cc>mitz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>458063</commentid>
    <comment_count>0</comment_count>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-08-28 21:38:44 -0700</bug_when>
    <thetext>Implement list style properties in CSSStyleApplyProperty.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458064</commentid>
    <comment_count>1</comment_count>
      <attachid>105457</attachid>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-08-28 21:45:23 -0700</bug_when>
    <thetext>Created attachment 105457
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458287</commentid>
    <comment_count>2</comment_count>
      <attachid>105457</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-08-29 10:56:51 -0700</bug_when>
    <thetext>Comment on attachment 105457
Patch

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

&gt; Source/WebCore/ChangeLog:22
&gt; +        Added version to take a raw pointer. The existing code relies on an implicit cast to PassRefPtr,
&gt; +        but because of the templates used an exactly matching type signature is required.

I think a better fix to that issue would be to use create functions that return PassRefPtr. It seems this code is making too much use of raw pointers for newly-created RefCounted objects that are known to have a reference count of 1. That’s a confusing non-standard coding style in WebKit, more like how we did things in the distant past. Could we use create functions instead? Maybe the create functions would bulk the source code up too much?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458681</commentid>
    <comment_count>3</comment_count>
      <attachid>105573</attachid>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-08-29 21:18:03 -0700</bug_when>
    <thetext>Created attachment 105573
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458986</commentid>
    <comment_count>4</comment_count>
      <attachid>105573</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-08-30 10:10:19 -0700</bug_when>
    <thetext>Comment on attachment 105573
Patch

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

&gt; Source/WebCore/rendering/style/RenderStyle.h:607
&gt; -    StyleImage* listStyleImage() const { return inherited-&gt;list_style_image.get(); }
&gt; +    PassRefPtr&lt;StyleImage&gt; listStyleImage() const { return inherited-&gt;list_style_image; }

This change is not a good idea. While it’s convenient to have a PassRefPtr in CSSStyleApplyProperty.cpp, in other call sites using this type will result in reference count churn.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462010</commentid>
    <comment_count>5</comment_count>
      <attachid>106300</attachid>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-09-04 20:22:53 -0700</bug_when>
    <thetext>Created attachment 106300
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462833</commentid>
    <comment_count>6</comment_count>
      <attachid>106300</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-09-06 13:53:31 -0700</bug_when>
    <thetext>Comment on attachment 106300
Patch

Seems reasonable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463072</commentid>
    <comment_count>7</comment_count>
      <attachid>106300</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-06 19:06:10 -0700</bug_when>
    <thetext>Comment on attachment 106300
Patch

Clearing flags on attachment: 106300

Committed r94625: &lt;http://trac.webkit.org/changeset/94625&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463073</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-06 19:06:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105457</attachid>
            <date>2011-08-28 21:45:23 -0700</date>
            <delta_ts>2011-08-29 21:17:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67103-20110829144521.patch</filename>
            <type>text/plain</type>
            <size>7631</size>
            <attacher name="Luke Macpherson">macpherson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzOTUzKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMDgtMjggIEx1a2UgTWFj
cGhlcnNvbiAgIDxtYWNwaGVyc29uQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQg
bGlzdCBzdHlsZSBwcm9wZXJ0aWVzIGluIENTU1N0eWxlQXBwbHlQcm9wZXJ0eS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTAzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIC8gbm8g
YmVoYXZpb3JhbCBjaGFuZ2VzLgorCisgICAgICAgICogY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0
eS5jcHA6CisgICAgICAgIEFkZCBjbGFzcyB0byB3cmFwIGNhbGwgdG8gQ1NTU3R5bGVTZWxlY3Rv
cjo6c3R5bGVJbWFnZSgpLgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eVN0eWxlSW1h
Z2U6OkFwcGx5UHJvcGVydHlTdHlsZUltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJv
cGVydHlTdHlsZUltYWdlOjphcHBseVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxl
QXBwbHlQcm9wZXJ0eTo6Q1NTU3R5bGVBcHBseVByb3BlcnR5KToKKyAgICAgICAgSW5pdGlhbGl6
ZSBoYW5kbGVycyBmb3IgbGlzdCBzdHlsZSBwcm9wZXJ0aWVzLgorICAgICAgICAqIGNzcy9DU1NT
dHlsZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmFw
cGx5UHJvcGVydHkpOgorICAgICAgICBSZW1vdmUgZXhpc3RpbmcgcHJvcGVydHkgaW1wbGVtZW50
YXRpb25zLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldExpc3RTdHlsZUltYWdlKToKKyAgICAgICAg
QWRkZWQgdmVyc2lvbiB0byB0YWtlIGEgcmF3IHBvaW50ZXIuIFRoZSBleGlzdGluZyBjb2RlIHJl
bGllcyBvbiBhbiBpbXBsaWNpdCBjYXN0IHRvIFBhc3NSZWZQdHIsCisgICAgICAgIGJ1dCBiZWNh
dXNlIG9mIHRoZSB0ZW1wbGF0ZXMgdXNlZCBhbiBleGFjdGx5IG1hdGNoaW5nIHR5cGUgc2lnbmF0
dXJlIGlzIHJlcXVpcmVkLgorCiAyMDExLTA4LTI4ICBLZWlzaGkgSGF0dG9yaSAgPGtlaXNoaUB3
ZWJraXQub3JnPgogCiAgICAgICAgIENocm9taXVtIFdpbjogU2V0dGluZyBzcXVhcmUtYnV0dG9u
IGFwcGVhcmFuY2UgcmVhY2hlcyBOT1RSRUFDSEVECkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3R5bGVBcHBseVByb3BlcnR5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVBcHBseVByb3BlcnR5LmNwcAkocmV2aXNpb24gOTM5NTApCisrKyBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTU3R5bGVBcHBseVByb3BlcnR5LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTQyLDYgKzE0MiwyMyBAQCBwcm90ZWN0ZWQ6CiAgICAgfQogfTsKIAorY2xhc3MgQXBwbHlQcm9w
ZXJ0eVN0eWxlSW1hZ2UgOiBwdWJsaWMgQXBwbHlQcm9wZXJ0eURlZmF1bHRCYXNlPFN0eWxlSW1h
Z2UqPiB7CitwdWJsaWM6CisgICAgQXBwbHlQcm9wZXJ0eVN0eWxlSW1hZ2UoR2V0dGVyRnVuY3Rp
b24gZ2V0dGVyLCBTZXR0ZXJGdW5jdGlvbiBzZXR0ZXIsIEluaXRpYWxGdW5jdGlvbiBpbml0aWFs
LCBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5KQorICAgICAgICA6IEFwcGx5UHJvcGVydHlEZWZhdWx0
QmFzZTxTdHlsZUltYWdlKj4oZ2V0dGVyLCBzZXR0ZXIsIGluaXRpYWwpCisgICAgICAgICwgbV9w
cm9wZXJ0eShwcm9wZXJ0eSkKKyAgICB7CisgICAgfQorCitwcml2YXRlOgorICAgIHZpcnR1YWwg
dm9pZCBhcHBseVZhbHVlKENTU1N0eWxlU2VsZWN0b3IqIHNlbGVjdG9yLCBDU1NWYWx1ZSogdmFs
dWUpIGNvbnN0CisgICAgeworICAgICAgICBzZXRWYWx1ZShzZWxlY3Rvci0+c3R5bGUoKSwgc2Vs
ZWN0b3ItPnN0eWxlSW1hZ2UobV9wcm9wZXJ0eSwgdmFsdWUpKTsKKyAgICB9CisKKyAgICBDU1NQ
cm9wZXJ0eUlEIG1fcHJvcGVydHk7Cit9OworCiBlbnVtIEF1dG9WYWx1ZVR5cGUge051bWJlciA9
IDAsIENvbXB1dGVMZW5ndGh9OwogdGVtcGxhdGUgPHR5cGVuYW1lIFQsIEF1dG9WYWx1ZVR5cGUg
dmFsdWVUeXBlID0gTnVtYmVyLCBpbnQgYXV0b0lkZW50aXR5ID0gQ1NTVmFsdWVBdXRvPgogY2xh
c3MgQXBwbHlQcm9wZXJ0eUF1dG8gOiBwdWJsaWMgQXBwbHlQcm9wZXJ0eURlZmF1bHRCYXNlPFQ+
IHsKQEAgLTEwMjAsNiArMTAzNywxMSBAQCBDU1NTdHlsZUFwcGx5UHJvcGVydHk6OkNTU1N0eWxl
QXBwbHlQcm9wCiAKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlUZXh0SW5kZW50
LCBuZXcgQXBwbHlQcm9wZXJ0eUxlbmd0aDw+KCZSZW5kZXJTdHlsZTo6dGV4dEluZGVudCwgJlJl
bmRlclN0eWxlOjpzZXRUZXh0SW5kZW50LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0SW5kZW50
KSk7CiAKKyAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlMaXN0U3R5bGVJbWFnZSwg
bmV3IEFwcGx5UHJvcGVydHlTdHlsZUltYWdlKCZSZW5kZXJTdHlsZTo6bGlzdFN0eWxlSW1hZ2Us
ICZSZW5kZXJTdHlsZTo6c2V0TGlzdFN0eWxlSW1hZ2UsICZSZW5kZXJTdHlsZTo6aW5pdGlhbExp
c3RTdHlsZUltYWdlLCBDU1NQcm9wZXJ0eUxpc3RTdHlsZUltYWdlKSk7CisgICAgc2V0UHJvcGVy
dHlIYW5kbGVyKENTU1Byb3BlcnR5TGlzdFN0eWxlUG9zaXRpb24sIG5ldyBBcHBseVByb3BlcnR5
RGVmYXVsdDxFTGlzdFN0eWxlUG9zaXRpb24+KCZSZW5kZXJTdHlsZTo6bGlzdFN0eWxlUG9zaXRp
b24sICZSZW5kZXJTdHlsZTo6c2V0TGlzdFN0eWxlUG9zaXRpb24sICZSZW5kZXJTdHlsZTo6aW5p
dGlhbExpc3RTdHlsZVBvc2l0aW9uKSk7CisgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3Bl
cnR5TGlzdFN0eWxlVHlwZSwgbmV3IEFwcGx5UHJvcGVydHlEZWZhdWx0PEVMaXN0U3R5bGVUeXBl
PigmUmVuZGVyU3R5bGU6Omxpc3RTdHlsZVR5cGUsICZSZW5kZXJTdHlsZTo6c2V0TGlzdFN0eWxl
VHlwZSwgJlJlbmRlclN0eWxlOjppbml0aWFsTGlzdFN0eWxlVHlwZSkpOworICAgIHNldFByb3Bl
cnR5SGFuZGxlcihDU1NQcm9wZXJ0eUxpc3RTdHlsZSwgbmV3IEFwcGx5UHJvcGVydHlFeHBhbmRp
bmc8U3VwcHJlc3NWYWx1ZT4ocHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5TGlzdFN0eWxlVHlw
ZSksIHByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUxpc3RTdHlsZUltYWdlKSwgcHJvcGVydHlI
YW5kbGVyKENTU1Byb3BlcnR5TGlzdFN0eWxlUG9zaXRpb24pKSk7CisKICAgICBzZXRQcm9wZXJ0
eUhhbmRsZXIoQ1NTUHJvcGVydHlNYXhIZWlnaHQsIG5ldyBBcHBseVByb3BlcnR5TGVuZ3RoPEF1
dG9FbmFibGVkLCBJbnRyaW5zaWNFbmFibGVkLCBNaW5JbnRyaW5zaWNFbmFibGVkLCBOb25lRW5h
YmxlZCwgVW5kZWZpbmVkRW5hYmxlZD4oJlJlbmRlclN0eWxlOjptYXhIZWlnaHQsICZSZW5kZXJT
dHlsZTo6c2V0TWF4SGVpZ2h0LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxNYXhTaXplKSk7CiAgICAg
c2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5TWF4V2lkdGgsIG5ldyBBcHBseVByb3BlcnR5
TGVuZ3RoPEF1dG9FbmFibGVkLCBJbnRyaW5zaWNFbmFibGVkLCBNaW5JbnRyaW5zaWNFbmFibGVk
LCBOb25lRW5hYmxlZCwgVW5kZWZpbmVkRW5hYmxlZD4oJlJlbmRlclN0eWxlOjptYXhXaWR0aCwg
JlJlbmRlclN0eWxlOjpzZXRNYXhXaWR0aCwgJlJlbmRlclN0eWxlOjppbml0aWFsTWF4U2l6ZSkp
OwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eU1pbkhlaWdodCwgbmV3IEFwcGx5
UHJvcGVydHlMZW5ndGg8QXV0b0VuYWJsZWQsIEludHJpbnNpY0VuYWJsZWQsIE1pbkludHJpbnNp
Y0VuYWJsZWQ+KCZSZW5kZXJTdHlsZTo6bWluSGVpZ2h0LCAmUmVuZGVyU3R5bGU6OnNldE1pbkhl
aWdodCwgJlJlbmRlclN0eWxlOjppbml0aWFsTWluU2l6ZSkpOwpJbmRleDogU291cmNlL1dlYkNv
cmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAkocmV2aXNpb24gOTM5NTApCisrKyBTb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2MzAsMTIg
KzM2MzAsNiBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkoaW50CiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eUZsb2F0OgogICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElB
TF9BTkRfUFJJTUlUSVZFKGZsb2F0aW5nLCBGbG9hdGluZykKICAgICAgICAgcmV0dXJuOwotICAg
IGNhc2UgQ1NTUHJvcGVydHlMaXN0U3R5bGVQb3NpdGlvbjoKLSAgICAgICAgSEFORExFX0lOSEVS
SVRfQU5EX0lOSVRJQUxfQU5EX1BSSU1JVElWRShsaXN0U3R5bGVQb3NpdGlvbiwgTGlzdFN0eWxl
UG9zaXRpb24pCi0gICAgICAgIHJldHVybjsKLSAgICBjYXNlIENTU1Byb3BlcnR5TGlzdFN0eWxl
VHlwZToKLSAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUxfQU5EX1BSSU1JVElWRShs
aXN0U3R5bGVUeXBlLCBMaXN0U3R5bGVUeXBlKQotICAgICAgICByZXR1cm47CiAgICAgY2FzZSBD
U1NQcm9wZXJ0eVBhZ2VCcmVha0JlZm9yZToKICAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lO
SVRJQUxfQU5EX1BSSU1JVElWRV9XSVRIX1ZBTFVFKHBhZ2VCcmVha0JlZm9yZSwgUGFnZUJyZWFr
QmVmb3JlLCBQYWdlQnJlYWspCiAgICAgICAgIHJldHVybjsKQEAgLTM2NjQsMTIgKzM2NTgsNiBA
QCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkoaW50CiAgICAgICAgIEhBTkRM
RV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUod2hpdGVTcGFjZSwgV2hpdGVTcGFj
ZSkKICAgICAgICAgcmV0dXJuOwogLy8gdXJpIHx8IGluaGVyaXQKLSAgICBjYXNlIENTU1Byb3Bl
cnR5TGlzdFN0eWxlSW1hZ2U6Ci0gICAgewotICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5J
VElBTChsaXN0U3R5bGVJbWFnZSwgTGlzdFN0eWxlSW1hZ2UpCi0gICAgICAgIG1fc3R5bGUtPnNl
dExpc3RTdHlsZUltYWdlKHN0eWxlSW1hZ2UoQ1NTUHJvcGVydHlMaXN0U3R5bGVJbWFnZSwgdmFs
dWUpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KICAgICBjYXNlIENTU1Byb3BlcnR5V29yZEJy
ZWFrOgogICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZFKHdv
cmRCcmVhaywgV29yZEJyZWFrKQogICAgICAgICByZXR1cm47CkBAIC00MjU3LDE5ICs0MjQ1LDcg
QEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KGludAogICAgICAgICAgICAg
YXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRGYW1pbHksIGZvbnQtPmZhbWlseS5nZXQoKSk7
CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwotICAgICAgICAKLSAgICBjYXNlIENTU1Byb3Bl
cnR5TGlzdFN0eWxlOgotICAgICAgICBpZiAoaXNJbmhlcml0KSB7Ci0gICAgICAgICAgICBtX3N0
eWxlLT5zZXRMaXN0U3R5bGVUeXBlKG1fcGFyZW50U3R5bGUtPmxpc3RTdHlsZVR5cGUoKSk7Ci0g
ICAgICAgICAgICBtX3N0eWxlLT5zZXRMaXN0U3R5bGVJbWFnZShtX3BhcmVudFN0eWxlLT5saXN0
U3R5bGVJbWFnZSgpKTsKLSAgICAgICAgICAgIG1fc3R5bGUtPnNldExpc3RTdHlsZVBvc2l0aW9u
KG1fcGFyZW50U3R5bGUtPmxpc3RTdHlsZVBvc2l0aW9uKCkpOwotICAgICAgICB9Ci0gICAgICAg
IGVsc2UgaWYgKGlzSW5pdGlhbCkgewotICAgICAgICAgICAgbV9zdHlsZS0+c2V0TGlzdFN0eWxl
VHlwZShSZW5kZXJTdHlsZTo6aW5pdGlhbExpc3RTdHlsZVR5cGUoKSk7Ci0gICAgICAgICAgICBt
X3N0eWxlLT5zZXRMaXN0U3R5bGVJbWFnZShSZW5kZXJTdHlsZTo6aW5pdGlhbExpc3RTdHlsZUlt
YWdlKCkpOwotICAgICAgICAgICAgbV9zdHlsZS0+c2V0TGlzdFN0eWxlUG9zaXRpb24oUmVuZGVy
U3R5bGU6OmluaXRpYWxMaXN0U3R5bGVQb3NpdGlvbigpKTsKLSAgICAgICAgfQotICAgICAgICBy
ZXR1cm47CisKICAgICBjYXNlIENTU1Byb3BlcnR5T3V0bGluZToKICAgICAgICAgaWYgKGlzSW5o
ZXJpdCkgewogICAgICAgICAgICAgbV9zdHlsZS0+c2V0T3V0bGluZVdpZHRoKG1fcGFyZW50U3R5
bGUtPm91dGxpbmVXaWR0aCgpKTsKQEAgLTUwMTYsNiArNDk5MiwxMCBAQCB2b2lkIENTU1N0eWxl
U2VsZWN0b3I6OmFwcGx5UHJvcGVydHkoaW50CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUJvdHRvbToK
ICAgICBjYXNlIENTU1Byb3BlcnR5V2lkdGg6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eU1pbldpZHRo
OgorICAgIGNhc2UgQ1NTUHJvcGVydHlMaXN0U3R5bGU6CisgICAgY2FzZSBDU1NQcm9wZXJ0eUxp
c3RTdHlsZUltYWdlOgorICAgIGNhc2UgQ1NTUHJvcGVydHlMaXN0U3R5bGVQb3NpdGlvbjoKKyAg
ICBjYXNlIENTU1Byb3BlcnR5TGlzdFN0eWxlVHlwZToKICAgICBjYXNlIENTU1Byb3BlcnR5TWFy
Z2luVG9wOgogICAgIGNhc2UgQ1NTUHJvcGVydHlNYXJnaW5SaWdodDoKICAgICBjYXNlIENTU1By
b3BlcnR5TWFyZ2luQm90dG9tOgpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmgJKHJldmlzaW9uIDkzOTUwKQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTk5OCw2ICs5OTgs
NyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldExpc3RTdHlsZVR5cGUoRUxpc3RTdHlsZVR5cGUg
dikgeyBpbmhlcml0ZWRfZmxhZ3MuX2xpc3Rfc3R5bGVfdHlwZSA9IHY7IH0KICAgICB2b2lkIHNl
dExpc3RTdHlsZUltYWdlKFBhc3NSZWZQdHI8U3R5bGVJbWFnZT4gdikgeyBpZiAoaW5oZXJpdGVk
LT5saXN0X3N0eWxlX2ltYWdlICE9IHYpIGluaGVyaXRlZC5hY2Nlc3MoKS0+bGlzdF9zdHlsZV9p
bWFnZSA9IHY7IH0KKyAgICB2b2lkIHNldExpc3RTdHlsZUltYWdlKFN0eWxlSW1hZ2UqIHYpIHsg
c2V0TGlzdFN0eWxlSW1hZ2UoUGFzc1JlZlB0cjxTdHlsZUltYWdlPih2KSk7IH0KICAgICB2b2lk
IHNldExpc3RTdHlsZVBvc2l0aW9uKEVMaXN0U3R5bGVQb3NpdGlvbiB2KSB7IGluaGVyaXRlZF9m
bGFncy5fbGlzdF9zdHlsZV9wb3NpdGlvbiA9IHY7IH0KIAogICAgIHZvaWQgcmVzZXRNYXJnaW4o
KSB7IFNFVF9WQVIoc3Vycm91bmQsIG1hcmdpbiwgTGVuZ3RoQm94KEZpeGVkKSkgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105573</attachid>
            <date>2011-08-29 21:18:03 -0700</date>
            <delta_ts>2011-09-04 20:22:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67103-20110830141800.patch</filename>
            <type>text/plain</type>
            <size>8680</size>
            <attacher name="Luke Macpherson">macpherson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0MDM0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDgtMjkgIEx1a2UgTWFj
cGhlcnNvbiAgIDxtYWNwaGVyc29uQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQg
bGlzdCBzdHlsZSBwcm9wZXJ0aWVzIGluIENTU1N0eWxlQXBwbHlQcm9wZXJ0eS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTAzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIC8gbm8g
YmVoYXZpb3JhbCBjaGFuZ2VzLgorCisgICAgICAgICogY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0
eS5jcHA6CisgICAgICAgIEFkZCBjbGFzcyB0byB3cmFwIGNhbGwgdG8gQ1NTU3R5bGVTZWxlY3Rv
cjo6c3R5bGVJbWFnZSgpLgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eVN0eWxlSW1h
Z2U6OkFwcGx5UHJvcGVydHlTdHlsZUltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJv
cGVydHlTdHlsZUltYWdlOjphcHBseVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxl
QXBwbHlQcm9wZXJ0eTo6Q1NTU3R5bGVBcHBseVByb3BlcnR5KToKKyAgICAgICAgSW5pdGlhbGl6
ZSBoYW5kbGVycyBmb3IgbGlzdCBzdHlsZSBwcm9wZXJ0aWVzLgorICAgICAgICAqIGNzcy9DU1NT
dHlsZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmFw
cGx5UHJvcGVydHkpOgorICAgICAgICBSZW1vdmUgZXhpc3RpbmcgcHJvcGVydHkgaW1wbGVtZW50
YXRpb25zLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6Omxpc3RTdHlsZUltYWdlKToKKyAgICAgICAgUmV0
dXJuIGEgUGFzc1JlZlB0ciBpbnN0ZWFkIG9mIGEgcmF3IHBvaW50ZXIuCisKIDIwMTEtMDgtMjkg
IEpvaG4gQmF1bWFuICA8amJhdW1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgU3BlZWQgdXAg
dGV4SW1hZ2UgZnJvbSBCR1JBCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVBcHBs
eVByb3BlcnR5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVB
cHBseVByb3BlcnR5LmNwcAkocmV2aXNpb24gOTQwMzQpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3R5bGVBcHBseVByb3BlcnR5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQyLDYgKzE0Miwy
MyBAQCBwcm90ZWN0ZWQ6CiAgICAgfQogfTsKIAorY2xhc3MgQXBwbHlQcm9wZXJ0eVN0eWxlSW1h
Z2UgOiBwdWJsaWMgQXBwbHlQcm9wZXJ0eURlZmF1bHRCYXNlPFBhc3NSZWZQdHI8U3R5bGVJbWFn
ZT4gPiB7CitwdWJsaWM6CisgICAgQXBwbHlQcm9wZXJ0eVN0eWxlSW1hZ2UoR2V0dGVyRnVuY3Rp
b24gZ2V0dGVyLCBTZXR0ZXJGdW5jdGlvbiBzZXR0ZXIsIEluaXRpYWxGdW5jdGlvbiBpbml0aWFs
LCBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5KQorICAgICAgICA6IEFwcGx5UHJvcGVydHlEZWZhdWx0
QmFzZTxQYXNzUmVmUHRyPFN0eWxlSW1hZ2U+ID4oZ2V0dGVyLCBzZXR0ZXIsIGluaXRpYWwpCisg
ICAgICAgICwgbV9wcm9wZXJ0eShwcm9wZXJ0eSkKKyAgICB7CisgICAgfQorCitwcml2YXRlOgor
ICAgIHZpcnR1YWwgdm9pZCBhcHBseVZhbHVlKENTU1N0eWxlU2VsZWN0b3IqIHNlbGVjdG9yLCBD
U1NWYWx1ZSogdmFsdWUpIGNvbnN0CisgICAgeworICAgICAgICBzZXRWYWx1ZShzZWxlY3Rvci0+
c3R5bGUoKSwgc2VsZWN0b3ItPnN0eWxlSW1hZ2UobV9wcm9wZXJ0eSwgdmFsdWUpKTsKKyAgICB9
CisKKyAgICBDU1NQcm9wZXJ0eUlEIG1fcHJvcGVydHk7Cit9OworCiBlbnVtIEF1dG9WYWx1ZVR5
cGUge051bWJlciA9IDAsIENvbXB1dGVMZW5ndGh9OwogdGVtcGxhdGUgPHR5cGVuYW1lIFQsIEF1
dG9WYWx1ZVR5cGUgdmFsdWVUeXBlID0gTnVtYmVyLCBpbnQgYXV0b0lkZW50aXR5ID0gQ1NTVmFs
dWVBdXRvPgogY2xhc3MgQXBwbHlQcm9wZXJ0eUF1dG8gOiBwdWJsaWMgQXBwbHlQcm9wZXJ0eURl
ZmF1bHRCYXNlPFQ+IHsKQEAgLTEwMjAsNiArMTAzNywxMSBAQCBDU1NTdHlsZUFwcGx5UHJvcGVy
dHk6OkNTU1N0eWxlQXBwbHlQcm9wCiAKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVy
dHlUZXh0SW5kZW50LCBuZXcgQXBwbHlQcm9wZXJ0eUxlbmd0aDw+KCZSZW5kZXJTdHlsZTo6dGV4
dEluZGVudCwgJlJlbmRlclN0eWxlOjpzZXRUZXh0SW5kZW50LCAmUmVuZGVyU3R5bGU6OmluaXRp
YWxUZXh0SW5kZW50KSk7CiAKKyAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlMaXN0
U3R5bGVJbWFnZSwgbmV3IEFwcGx5UHJvcGVydHlTdHlsZUltYWdlKCZSZW5kZXJTdHlsZTo6bGlz
dFN0eWxlSW1hZ2UsICZSZW5kZXJTdHlsZTo6c2V0TGlzdFN0eWxlSW1hZ2UsICZSZW5kZXJTdHls
ZTo6aW5pdGlhbExpc3RTdHlsZUltYWdlLCBDU1NQcm9wZXJ0eUxpc3RTdHlsZUltYWdlKSk7Cisg
ICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5TGlzdFN0eWxlUG9zaXRpb24sIG5ldyBB
cHBseVByb3BlcnR5RGVmYXVsdDxFTGlzdFN0eWxlUG9zaXRpb24+KCZSZW5kZXJTdHlsZTo6bGlz
dFN0eWxlUG9zaXRpb24sICZSZW5kZXJTdHlsZTo6c2V0TGlzdFN0eWxlUG9zaXRpb24sICZSZW5k
ZXJTdHlsZTo6aW5pdGlhbExpc3RTdHlsZVBvc2l0aW9uKSk7CisgICAgc2V0UHJvcGVydHlIYW5k
bGVyKENTU1Byb3BlcnR5TGlzdFN0eWxlVHlwZSwgbmV3IEFwcGx5UHJvcGVydHlEZWZhdWx0PEVM
aXN0U3R5bGVUeXBlPigmUmVuZGVyU3R5bGU6Omxpc3RTdHlsZVR5cGUsICZSZW5kZXJTdHlsZTo6
c2V0TGlzdFN0eWxlVHlwZSwgJlJlbmRlclN0eWxlOjppbml0aWFsTGlzdFN0eWxlVHlwZSkpOwor
ICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUxpc3RTdHlsZSwgbmV3IEFwcGx5UHJv
cGVydHlFeHBhbmRpbmc8U3VwcHJlc3NWYWx1ZT4ocHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5
TGlzdFN0eWxlVHlwZSksIHByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUxpc3RTdHlsZUltYWdl
KSwgcHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5TGlzdFN0eWxlUG9zaXRpb24pKSk7CisKICAg
ICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlNYXhIZWlnaHQsIG5ldyBBcHBseVByb3Bl
cnR5TGVuZ3RoPEF1dG9FbmFibGVkLCBJbnRyaW5zaWNFbmFibGVkLCBNaW5JbnRyaW5zaWNFbmFi
bGVkLCBOb25lRW5hYmxlZCwgVW5kZWZpbmVkRW5hYmxlZD4oJlJlbmRlclN0eWxlOjptYXhIZWln
aHQsICZSZW5kZXJTdHlsZTo6c2V0TWF4SGVpZ2h0LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxNYXhT
aXplKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5TWF4V2lkdGgsIG5ldyBB
cHBseVByb3BlcnR5TGVuZ3RoPEF1dG9FbmFibGVkLCBJbnRyaW5zaWNFbmFibGVkLCBNaW5JbnRy
aW5zaWNFbmFibGVkLCBOb25lRW5hYmxlZCwgVW5kZWZpbmVkRW5hYmxlZD4oJlJlbmRlclN0eWxl
OjptYXhXaWR0aCwgJlJlbmRlclN0eWxlOjpzZXRNYXhXaWR0aCwgJlJlbmRlclN0eWxlOjppbml0
aWFsTWF4U2l6ZSkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eU1pbkhlaWdo
dCwgbmV3IEFwcGx5UHJvcGVydHlMZW5ndGg8QXV0b0VuYWJsZWQsIEludHJpbnNpY0VuYWJsZWQs
IE1pbkludHJpbnNpY0VuYWJsZWQ+KCZSZW5kZXJTdHlsZTo6bWluSGVpZ2h0LCAmUmVuZGVyU3R5
bGU6OnNldE1pbkhlaWdodCwgJlJlbmRlclN0eWxlOjppbml0aWFsTWluU2l6ZSkpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAkocmV2aXNpb24gOTQwMzQpCisr
KyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM2MzAsMTIgKzM2MzAsNiBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVy
dHkoaW50CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUZsb2F0OgogICAgICAgICBIQU5ETEVfSU5IRVJJ
VF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZFKGZsb2F0aW5nLCBGbG9hdGluZykKICAgICAgICAg
cmV0dXJuOwotICAgIGNhc2UgQ1NTUHJvcGVydHlMaXN0U3R5bGVQb3NpdGlvbjoKLSAgICAgICAg
SEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUxfQU5EX1BSSU1JVElWRShsaXN0U3R5bGVQb3NpdGlv
biwgTGlzdFN0eWxlUG9zaXRpb24pCi0gICAgICAgIHJldHVybjsKLSAgICBjYXNlIENTU1Byb3Bl
cnR5TGlzdFN0eWxlVHlwZToKLSAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUxfQU5E
X1BSSU1JVElWRShsaXN0U3R5bGVUeXBlLCBMaXN0U3R5bGVUeXBlKQotICAgICAgICByZXR1cm47
CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVBhZ2VCcmVha0JlZm9yZToKICAgICAgICAgSEFORExFX0lO
SEVSSVRfQU5EX0lOSVRJQUxfQU5EX1BSSU1JVElWRV9XSVRIX1ZBTFVFKHBhZ2VCcmVha0JlZm9y
ZSwgUGFnZUJyZWFrQmVmb3JlLCBQYWdlQnJlYWspCiAgICAgICAgIHJldHVybjsKQEAgLTM2NjQs
MTIgKzM2NTgsNiBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkoaW50CiAg
ICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUod2hpdGVTcGFj
ZSwgV2hpdGVTcGFjZSkKICAgICAgICAgcmV0dXJuOwogLy8gdXJpIHx8IGluaGVyaXQKLSAgICBj
YXNlIENTU1Byb3BlcnR5TGlzdFN0eWxlSW1hZ2U6Ci0gICAgewotICAgICAgICBIQU5ETEVfSU5I
RVJJVF9BTkRfSU5JVElBTChsaXN0U3R5bGVJbWFnZSwgTGlzdFN0eWxlSW1hZ2UpCi0gICAgICAg
IG1fc3R5bGUtPnNldExpc3RTdHlsZUltYWdlKHN0eWxlSW1hZ2UoQ1NTUHJvcGVydHlMaXN0U3R5
bGVJbWFnZSwgdmFsdWUpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KICAgICBjYXNlIENTU1By
b3BlcnR5V29yZEJyZWFrOgogICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRf
UFJJTUlUSVZFKHdvcmRCcmVhaywgV29yZEJyZWFrKQogICAgICAgICByZXR1cm47CkBAIC00MjU3
LDE5ICs0MjQ1LDcgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KGludAog
ICAgICAgICAgICAgYXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRGYW1pbHksIGZvbnQtPmZh
bWlseS5nZXQoKSk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwotICAgICAgICAKLSAgICBj
YXNlIENTU1Byb3BlcnR5TGlzdFN0eWxlOgotICAgICAgICBpZiAoaXNJbmhlcml0KSB7Ci0gICAg
ICAgICAgICBtX3N0eWxlLT5zZXRMaXN0U3R5bGVUeXBlKG1fcGFyZW50U3R5bGUtPmxpc3RTdHls
ZVR5cGUoKSk7Ci0gICAgICAgICAgICBtX3N0eWxlLT5zZXRMaXN0U3R5bGVJbWFnZShtX3BhcmVu
dFN0eWxlLT5saXN0U3R5bGVJbWFnZSgpKTsKLSAgICAgICAgICAgIG1fc3R5bGUtPnNldExpc3RT
dHlsZVBvc2l0aW9uKG1fcGFyZW50U3R5bGUtPmxpc3RTdHlsZVBvc2l0aW9uKCkpOwotICAgICAg
ICB9Ci0gICAgICAgIGVsc2UgaWYgKGlzSW5pdGlhbCkgewotICAgICAgICAgICAgbV9zdHlsZS0+
c2V0TGlzdFN0eWxlVHlwZShSZW5kZXJTdHlsZTo6aW5pdGlhbExpc3RTdHlsZVR5cGUoKSk7Ci0g
ICAgICAgICAgICBtX3N0eWxlLT5zZXRMaXN0U3R5bGVJbWFnZShSZW5kZXJTdHlsZTo6aW5pdGlh
bExpc3RTdHlsZUltYWdlKCkpOwotICAgICAgICAgICAgbV9zdHlsZS0+c2V0TGlzdFN0eWxlUG9z
aXRpb24oUmVuZGVyU3R5bGU6OmluaXRpYWxMaXN0U3R5bGVQb3NpdGlvbigpKTsKLSAgICAgICAg
fQotICAgICAgICByZXR1cm47CisKICAgICBjYXNlIENTU1Byb3BlcnR5T3V0bGluZToKICAgICAg
ICAgaWYgKGlzSW5oZXJpdCkgewogICAgICAgICAgICAgbV9zdHlsZS0+c2V0T3V0bGluZVdpZHRo
KG1fcGFyZW50U3R5bGUtPm91dGxpbmVXaWR0aCgpKTsKQEAgLTUwMTYsNiArNDk5MiwxMCBAQCB2
b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkoaW50CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eUJvdHRvbToKICAgICBjYXNlIENTU1Byb3BlcnR5V2lkdGg6CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eU1pbldpZHRoOgorICAgIGNhc2UgQ1NTUHJvcGVydHlMaXN0U3R5bGU6CisgICAgY2FzZSBD
U1NQcm9wZXJ0eUxpc3RTdHlsZUltYWdlOgorICAgIGNhc2UgQ1NTUHJvcGVydHlMaXN0U3R5bGVQ
b3NpdGlvbjoKKyAgICBjYXNlIENTU1Byb3BlcnR5TGlzdFN0eWxlVHlwZToKICAgICBjYXNlIENT
U1Byb3BlcnR5TWFyZ2luVG9wOgogICAgIGNhc2UgQ1NTUHJvcGVydHlNYXJnaW5SaWdodDoKICAg
ICBjYXNlIENTU1Byb3BlcnR5TWFyZ2luQm90dG9tOgpAQCAtNjM4Miw3ICs2MzYyLDcgQEAgdm9p
ZCBDU1NTdHlsZVNlbGVjdG9yOjpsb2FkUGVuZGluZ0ltYWdlcwogCiAgICAgICAgICAgICBjYXNl
IENTU1Byb3BlcnR5TGlzdFN0eWxlSW1hZ2U6IHsKICAgICAgICAgICAgICAgICBpZiAobV9zdHls
ZS0+bGlzdFN0eWxlSW1hZ2UoKSAmJiBtX3N0eWxlLT5saXN0U3R5bGVJbWFnZSgpLT5pc1BlbmRp
bmdJbWFnZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIENTU0ltYWdlVmFsdWUqIGltYWdlVmFs
dWUgPSBzdGF0aWNfY2FzdDxTdHlsZVBlbmRpbmdJbWFnZSo+KG1fc3R5bGUtPmxpc3RTdHlsZUlt
YWdlKCkpLT5jc3NJbWFnZVZhbHVlKCk7CisgICAgICAgICAgICAgICAgICAgIENTU0ltYWdlVmFs
dWUqIGltYWdlVmFsdWUgPSBzdGF0aWNfcG9pbnRlcl9jYXN0PFN0eWxlUGVuZGluZ0ltYWdlPiht
X3N0eWxlLT5saXN0U3R5bGVJbWFnZSgpKS0+Y3NzSW1hZ2VWYWx1ZSgpOwogICAgICAgICAgICAg
ICAgICAgICBtX3N0eWxlLT5zZXRMaXN0U3R5bGVJbWFnZShpbWFnZVZhbHVlLT5jYWNoZWRJbWFn
ZShjYWNoZWRSZXNvdXJjZUxvYWRlcikpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICBicmVhazsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oCShyZXZpc2lvbiA5NDAzNCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02MDQsNyArNjA0LDcgQEAgcHVi
bGljOgogICAgIHNob3J0IGNvdW50ZXJSZXNldCgpIGNvbnN0IHsgcmV0dXJuIHJhcmVOb25Jbmhl
cml0ZWREYXRhLT5tX2NvdW50ZXJSZXNldDsgfQogCiAgICAgRUxpc3RTdHlsZVR5cGUgbGlzdFN0
eWxlVHlwZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVMaXN0U3R5bGVUeXBlPihpbmhl
cml0ZWRfZmxhZ3MuX2xpc3Rfc3R5bGVfdHlwZSk7IH0KLSAgICBTdHlsZUltYWdlKiBsaXN0U3R5
bGVJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIGluaGVyaXRlZC0+bGlzdF9zdHlsZV9pbWFnZS5nZXQo
KTsgfQorICAgIFBhc3NSZWZQdHI8U3R5bGVJbWFnZT4gbGlzdFN0eWxlSW1hZ2UoKSBjb25zdCB7
IHJldHVybiBpbmhlcml0ZWQtPmxpc3Rfc3R5bGVfaW1hZ2U7IH0KICAgICBFTGlzdFN0eWxlUG9z
aXRpb24gbGlzdFN0eWxlUG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxFTGlz
dFN0eWxlUG9zaXRpb24+KGluaGVyaXRlZF9mbGFncy5fbGlzdF9zdHlsZV9wb3NpdGlvbik7IH0K
IAogICAgIExlbmd0aCBtYXJnaW5Ub3AoKSBjb25zdCB7IHJldHVybiBzdXJyb3VuZC0+bWFyZ2lu
LnRvcCgpOyB9CkBAIC0xMzEyLDcgKzEzMTIsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHNob3J0
IGluaXRpYWxWZXJ0aWNhbEJvcmRlclNwYWNpbmcoKSB7IHJldHVybiAwOyB9CiAgICAgc3RhdGlj
IEVDdXJzb3IgaW5pdGlhbEN1cnNvcigpIHsgcmV0dXJuIENVUlNPUl9BVVRPOyB9CiAgICAgc3Rh
dGljIENvbG9yIGluaXRpYWxDb2xvcigpIHsgcmV0dXJuIENvbG9yOjpibGFjazsgfQotICAgIHN0
YXRpYyBTdHlsZUltYWdlKiBpbml0aWFsTGlzdFN0eWxlSW1hZ2UoKSB7IHJldHVybiAwOyB9Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8U3R5bGVJbWFnZT4gaW5pdGlhbExpc3RTdHlsZUltYWdlKCkg
eyByZXR1cm4gMDsgfQogICAgIHN0YXRpYyB1bnNpZ25lZCBzaG9ydCBpbml0aWFsQm9yZGVyV2lk
dGgoKSB7IHJldHVybiAzOyB9CiAgICAgc3RhdGljIGludCBpbml0aWFsTGV0dGVyV29yZFNwYWNp
bmcoKSB7IHJldHVybiAwOyB9CiAgICAgc3RhdGljIExlbmd0aCBpbml0aWFsU2l6ZSgpIHsgcmV0
dXJuIExlbmd0aCgpOyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106300</attachid>
            <date>2011-09-04 20:22:53 -0700</date>
            <delta_ts>2011-09-06 19:06:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67103-20110905132251.patch</filename>
            <type>text/plain</type>
            <size>7812</size>
            <attacher name="Luke Macpherson">macpherson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0NTA4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDktMDQgIEx1a2UgTWFj
cGhlcnNvbiAgIDxtYWNwaGVyc29uQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQg
bGlzdCBzdHlsZSBwcm9wZXJ0aWVzIGluIENTU1N0eWxlQXBwbHlQcm9wZXJ0eS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTAzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIC8gbm8g
YmVoYXZpb3JhbCBjaGFuZ2VzLgorCisgICAgICAgICogY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0
eS5jcHA6CisgICAgICAgIEFkZCBjbGFzcyB0byB3cmFwIGNhbGwgdG8gQ1NTU3R5bGVTZWxlY3Rv
cjo6c3R5bGVJbWFnZSgpLgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eVN0eWxlSW1h
Z2U6OkFwcGx5UHJvcGVydHlTdHlsZUltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJv
cGVydHlTdHlsZUltYWdlOjphcHBseVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxl
QXBwbHlQcm9wZXJ0eTo6Q1NTU3R5bGVBcHBseVByb3BlcnR5KToKKyAgICAgICAgSW5pdGlhbGl6
ZSBoYW5kbGVycyBmb3IgbGlzdCBzdHlsZSBwcm9wZXJ0aWVzLgorICAgICAgICAqIGNzcy9DU1NT
dHlsZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmFw
cGx5UHJvcGVydHkpOgorICAgICAgICBSZW1vdmUgZXhpc3RpbmcgcHJvcGVydHkgaW1wbGVtZW50
YXRpb25zLgorCiAyMDExLTA5LTA0ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAK
ICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwMDcxMjU2PiBSZXRhaW4gcmV0aXJlZCBjdXN0b20g
Zm9udHMgdW50aWwgdGhlIG5leHQgc3R5bGUgcmVjYWxjCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVBcHBseVByb3BlcnR5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTU3R5bGVBcHBseVByb3BlcnR5LmNwcAkocmV2aXNpb24gOTQ1MDgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVBcHBseVByb3BlcnR5LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNzksMTIgKzc5LDEyIEBAIHByaXZhdGU6CiAgICAgQXBwbHlQcm9wZXJ0eUJhc2UqIG1fcHJv
cGVydHlNYXBbNV07CiB9OwogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3RlbXBsYXRlIDx0eXBl
bmFtZSBHZXR0ZXJUeXBlLCB0eXBlbmFtZSBTZXR0ZXJUeXBlID0gR2V0dGVyVHlwZSwgdHlwZW5h
bWUgSW5pdGlhbFR5cGUgPSBHZXR0ZXJUeXBlPgogY2xhc3MgQXBwbHlQcm9wZXJ0eURlZmF1bHRC
YXNlIDogcHVibGljIEFwcGx5UHJvcGVydHlCYXNlIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIFQg
KFJlbmRlclN0eWxlOjoqR2V0dGVyRnVuY3Rpb24pKCkgY29uc3Q7Ci0gICAgdHlwZWRlZiB2b2lk
IChSZW5kZXJTdHlsZTo6KlNldHRlckZ1bmN0aW9uKShUKTsKLSAgICB0eXBlZGVmIFQgKCpJbml0
aWFsRnVuY3Rpb24pKCk7CisgICAgdHlwZWRlZiBHZXR0ZXJUeXBlIChSZW5kZXJTdHlsZTo6Kkdl
dHRlckZ1bmN0aW9uKSgpIGNvbnN0OworICAgIHR5cGVkZWYgdm9pZCAoUmVuZGVyU3R5bGU6OipT
ZXR0ZXJGdW5jdGlvbikoU2V0dGVyVHlwZSk7CisgICAgdHlwZWRlZiBJbml0aWFsVHlwZSAoKklu
aXRpYWxGdW5jdGlvbikoKTsKIAogICAgIEFwcGx5UHJvcGVydHlEZWZhdWx0QmFzZShHZXR0ZXJG
dW5jdGlvbiBnZXR0ZXIsIFNldHRlckZ1bmN0aW9uIHNldHRlciwgSW5pdGlhbEZ1bmN0aW9uIGlu
aXRpYWwpCiAgICAgICAgIDogbV9nZXR0ZXIoZ2V0dGVyKQpAQCAtMTA1LDE3ICsxMDUsMTcgQEAg
cHJpdmF0ZToKICAgICB9CiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIHNldFZhbHVlKFJlbmRlclN0
eWxlKiBzdHlsZSwgVCB2YWx1ZSkgY29uc3QKKyAgICB2b2lkIHNldFZhbHVlKFJlbmRlclN0eWxl
KiBzdHlsZSwgU2V0dGVyVHlwZSB2YWx1ZSkgY29uc3QKICAgICB7CiAgICAgICAgIChzdHlsZS0+
Km1fc2V0dGVyKSh2YWx1ZSk7CiAgICAgfQogCi0gICAgVCB2YWx1ZShSZW5kZXJTdHlsZSogc3R5
bGUpIGNvbnN0CisgICAgR2V0dGVyVHlwZSB2YWx1ZShSZW5kZXJTdHlsZSogc3R5bGUpIGNvbnN0
CiAgICAgewogICAgICAgICByZXR1cm4gKHN0eWxlLT4qbV9nZXR0ZXIpKCk7CiAgICAgfQogCi0g
ICAgVCBpbml0aWFsKCkgY29uc3QKKyAgICBJbml0aWFsVHlwZSBpbml0aWFsKCkgY29uc3QKICAg
ICB7CiAgICAgICAgIHJldHVybiAoKm1faW5pdGlhbCkoKTsKICAgICB9CkBAIC0xNDIsNiArMTQy
LDIzIEBAIHByb3RlY3RlZDoKICAgICB9CiB9OwogCitjbGFzcyBBcHBseVByb3BlcnR5U3R5bGVJ
bWFnZSA6IHB1YmxpYyBBcHBseVByb3BlcnR5RGVmYXVsdEJhc2U8U3R5bGVJbWFnZSosIFBhc3NS
ZWZQdHI8U3R5bGVJbWFnZT4gPiB7CitwdWJsaWM6CisgICAgQXBwbHlQcm9wZXJ0eVN0eWxlSW1h
Z2UoR2V0dGVyRnVuY3Rpb24gZ2V0dGVyLCBTZXR0ZXJGdW5jdGlvbiBzZXR0ZXIsIEluaXRpYWxG
dW5jdGlvbiBpbml0aWFsLCBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5KQorICAgICAgICA6IEFwcGx5
UHJvcGVydHlEZWZhdWx0QmFzZTxTdHlsZUltYWdlKiwgUGFzc1JlZlB0cjxTdHlsZUltYWdlPiA+
KGdldHRlciwgc2V0dGVyLCBpbml0aWFsKQorICAgICAgICAsIG1fcHJvcGVydHkocHJvcGVydHkp
CisgICAgeworICAgIH0KKworcHJpdmF0ZToKKyAgICB2aXJ0dWFsIHZvaWQgYXBwbHlWYWx1ZShD
U1NTdHlsZVNlbGVjdG9yKiBzZWxlY3RvciwgQ1NTVmFsdWUqIHZhbHVlKSBjb25zdAorICAgIHsK
KyAgICAgICAgc2V0VmFsdWUoc2VsZWN0b3ItPnN0eWxlKCksIHNlbGVjdG9yLT5zdHlsZUltYWdl
KG1fcHJvcGVydHksIHZhbHVlKSk7CisgICAgfQorCisgICAgQ1NTUHJvcGVydHlJRCBtX3Byb3Bl
cnR5OworfTsKKwogZW51bSBBdXRvVmFsdWVUeXBlIHtOdW1iZXIgPSAwLCBDb21wdXRlTGVuZ3Ro
fTsKIHRlbXBsYXRlIDx0eXBlbmFtZSBULCBBdXRvVmFsdWVUeXBlIHZhbHVlVHlwZSA9IE51bWJl
ciwgaW50IGF1dG9JZGVudGl0eSA9IENTU1ZhbHVlQXV0bz4KIGNsYXNzIEFwcGx5UHJvcGVydHlB
dXRvIDogcHVibGljIEFwcGx5UHJvcGVydHlEZWZhdWx0QmFzZTxUPiB7CkBAIC0xMDIxLDYgKzEw
MzgsMTEgQEAgQ1NTU3R5bGVBcHBseVByb3BlcnR5OjpDU1NTdHlsZUFwcGx5UHJvcAogCiAgICAg
c2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5VGV4dEluZGVudCwgbmV3IEFwcGx5UHJvcGVy
dHlMZW5ndGg8PigmUmVuZGVyU3R5bGU6OnRleHRJbmRlbnQsICZSZW5kZXJTdHlsZTo6c2V0VGV4
dEluZGVudCwgJlJlbmRlclN0eWxlOjppbml0aWFsVGV4dEluZGVudCkpOwogCisgICAgc2V0UHJv
cGVydHlIYW5kbGVyKENTU1Byb3BlcnR5TGlzdFN0eWxlSW1hZ2UsIG5ldyBBcHBseVByb3BlcnR5
U3R5bGVJbWFnZSgmUmVuZGVyU3R5bGU6Omxpc3RTdHlsZUltYWdlLCAmUmVuZGVyU3R5bGU6OnNl
dExpc3RTdHlsZUltYWdlLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxMaXN0U3R5bGVJbWFnZSwgQ1NT
UHJvcGVydHlMaXN0U3R5bGVJbWFnZSkpOworICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9w
ZXJ0eUxpc3RTdHlsZVBvc2l0aW9uLCBuZXcgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8RUxpc3RTdHls
ZVBvc2l0aW9uPigmUmVuZGVyU3R5bGU6Omxpc3RTdHlsZVBvc2l0aW9uLCAmUmVuZGVyU3R5bGU6
OnNldExpc3RTdHlsZVBvc2l0aW9uLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxMaXN0U3R5bGVQb3Np
dGlvbikpOworICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUxpc3RTdHlsZVR5cGUs
IG5ldyBBcHBseVByb3BlcnR5RGVmYXVsdDxFTGlzdFN0eWxlVHlwZT4oJlJlbmRlclN0eWxlOjps
aXN0U3R5bGVUeXBlLCAmUmVuZGVyU3R5bGU6OnNldExpc3RTdHlsZVR5cGUsICZSZW5kZXJTdHls
ZTo6aW5pdGlhbExpc3RTdHlsZVR5cGUpKTsKKyAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJv
cGVydHlMaXN0U3R5bGUsIG5ldyBBcHBseVByb3BlcnR5RXhwYW5kaW5nPFN1cHByZXNzVmFsdWU+
KHByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUxpc3RTdHlsZVR5cGUpLCBwcm9wZXJ0eUhhbmRs
ZXIoQ1NTUHJvcGVydHlMaXN0U3R5bGVJbWFnZSksIHByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0
eUxpc3RTdHlsZVBvc2l0aW9uKSkpOworCiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3Bl
cnR5TWF4SGVpZ2h0LCBuZXcgQXBwbHlQcm9wZXJ0eUxlbmd0aDxBdXRvRW5hYmxlZCwgSW50cmlu
c2ljRW5hYmxlZCwgTWluSW50cmluc2ljRW5hYmxlZCwgTm9uZUVuYWJsZWQsIFVuZGVmaW5lZEVu
YWJsZWQ+KCZSZW5kZXJTdHlsZTo6bWF4SGVpZ2h0LCAmUmVuZGVyU3R5bGU6OnNldE1heEhlaWdo
dCwgJlJlbmRlclN0eWxlOjppbml0aWFsTWF4U2l6ZSkpOwogICAgIHNldFByb3BlcnR5SGFuZGxl
cihDU1NQcm9wZXJ0eU1heFdpZHRoLCBuZXcgQXBwbHlQcm9wZXJ0eUxlbmd0aDxBdXRvRW5hYmxl
ZCwgSW50cmluc2ljRW5hYmxlZCwgTWluSW50cmluc2ljRW5hYmxlZCwgTm9uZUVuYWJsZWQsIFVu
ZGVmaW5lZEVuYWJsZWQ+KCZSZW5kZXJTdHlsZTo6bWF4V2lkdGgsICZSZW5kZXJTdHlsZTo6c2V0
TWF4V2lkdGgsICZSZW5kZXJTdHlsZTo6aW5pdGlhbE1heFNpemUpKTsKICAgICBzZXRQcm9wZXJ0
eUhhbmRsZXIoQ1NTUHJvcGVydHlNaW5IZWlnaHQsIG5ldyBBcHBseVByb3BlcnR5TGVuZ3RoPEF1
dG9FbmFibGVkLCBJbnRyaW5zaWNFbmFibGVkLCBNaW5JbnRyaW5zaWNFbmFibGVkPigmUmVuZGVy
U3R5bGU6Om1pbkhlaWdodCwgJlJlbmRlclN0eWxlOjpzZXRNaW5IZWlnaHQsICZSZW5kZXJTdHls
ZTo6aW5pdGlhbE1pblNpemUpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNl
bGVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxl
Y3Rvci5jcHAJKHJldmlzaW9uIDk0NTA4KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxl
U2VsZWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNjQxLDEyICszNjQxLDYgQEAgdm9pZCBD
U1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KGludAogICAgIGNhc2UgQ1NTUHJvcGVydHlG
bG9hdDoKICAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUxfQU5EX1BSSU1JVElWRShm
bG9hdGluZywgRmxvYXRpbmcpCiAgICAgICAgIHJldHVybjsKLSAgICBjYXNlIENTU1Byb3BlcnR5
TGlzdFN0eWxlUG9zaXRpb246Ci0gICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FO
RF9QUklNSVRJVkUobGlzdFN0eWxlUG9zaXRpb24sIExpc3RTdHlsZVBvc2l0aW9uKQotICAgICAg
ICByZXR1cm47Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eUxpc3RTdHlsZVR5cGU6Ci0gICAgICAgIEhB
TkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUobGlzdFN0eWxlVHlwZSwgTGlz
dFN0eWxlVHlwZSkKLSAgICAgICAgcmV0dXJuOwogICAgIGNhc2UgQ1NTUHJvcGVydHlQYWdlQnJl
YWtCZWZvcmU6CiAgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJ
VkVfV0lUSF9WQUxVRShwYWdlQnJlYWtCZWZvcmUsIFBhZ2VCcmVha0JlZm9yZSwgUGFnZUJyZWFr
KQogICAgICAgICByZXR1cm47CkBAIC0zNjc1LDEyICszNjY5LDYgQEAgdm9pZCBDU1NTdHlsZVNl
bGVjdG9yOjphcHBseVByb3BlcnR5KGludAogICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5J
VElBTF9BTkRfUFJJTUlUSVZFKHdoaXRlU3BhY2UsIFdoaXRlU3BhY2UpCiAgICAgICAgIHJldHVy
bjsKIC8vIHVyaSB8fCBpbmhlcml0Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eUxpc3RTdHlsZUltYWdl
OgotICAgIHsKLSAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwobGlzdFN0eWxlSW1h
Z2UsIExpc3RTdHlsZUltYWdlKQotICAgICAgICBtX3N0eWxlLT5zZXRMaXN0U3R5bGVJbWFnZShz
dHlsZUltYWdlKENTU1Byb3BlcnR5TGlzdFN0eWxlSW1hZ2UsIHZhbHVlKSk7Ci0gICAgICAgIHJl
dHVybjsKLSAgICB9CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlckltYWdlU291cmNlOgogICAg
IHsKICAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwoYm9yZGVySW1hZ2VTb3VyY2Us
IEJvcmRlckltYWdlU291cmNlKQpAQCAtNDI4MCwxOSArNDI2OCw3IEBAIHZvaWQgQ1NTU3R5bGVT
ZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShpbnQKICAgICAgICAgICAgIGFwcGx5UHJvcGVydHkoQ1NT
UHJvcGVydHlGb250RmFtaWx5LCBmb250LT5mYW1pbHkuZ2V0KCkpOwogICAgICAgICB9CiAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgCi0gICAgY2FzZSBDU1NQcm9wZXJ0eUxpc3RTdHlsZToKLSAg
ICAgICAgaWYgKGlzSW5oZXJpdCkgewotICAgICAgICAgICAgbV9zdHlsZS0+c2V0TGlzdFN0eWxl
VHlwZShtX3BhcmVudFN0eWxlLT5saXN0U3R5bGVUeXBlKCkpOwotICAgICAgICAgICAgbV9zdHls
ZS0+c2V0TGlzdFN0eWxlSW1hZ2UobV9wYXJlbnRTdHlsZS0+bGlzdFN0eWxlSW1hZ2UoKSk7Ci0g
ICAgICAgICAgICBtX3N0eWxlLT5zZXRMaXN0U3R5bGVQb3NpdGlvbihtX3BhcmVudFN0eWxlLT5s
aXN0U3R5bGVQb3NpdGlvbigpKTsKLSAgICAgICAgfQotICAgICAgICBlbHNlIGlmIChpc0luaXRp
YWwpIHsKLSAgICAgICAgICAgIG1fc3R5bGUtPnNldExpc3RTdHlsZVR5cGUoUmVuZGVyU3R5bGU6
OmluaXRpYWxMaXN0U3R5bGVUeXBlKCkpOwotICAgICAgICAgICAgbV9zdHlsZS0+c2V0TGlzdFN0
eWxlSW1hZ2UoUmVuZGVyU3R5bGU6OmluaXRpYWxMaXN0U3R5bGVJbWFnZSgpKTsKLSAgICAgICAg
ICAgIG1fc3R5bGUtPnNldExpc3RTdHlsZVBvc2l0aW9uKFJlbmRlclN0eWxlOjppbml0aWFsTGlz
dFN0eWxlUG9zaXRpb24oKSk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuOworCiAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eU91dGxpbmU6CiAgICAgICAgIGlmIChpc0luaGVyaXQpIHsKICAgICAgICAg
ICAgIG1fc3R5bGUtPnNldE91dGxpbmVXaWR0aChtX3BhcmVudFN0eWxlLT5vdXRsaW5lV2lkdGgo
KSk7CkBAIC01MDY0LDYgKzUwNDAsMTAgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphcHBseVBy
b3BlcnR5KGludAogICAgIGNhc2UgQ1NTUHJvcGVydHlCb3R0b206CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVdpZHRoOgogICAgIGNhc2UgQ1NTUHJvcGVydHlNaW5XaWR0aDoKKyAgICBjYXNlIENTU1By
b3BlcnR5TGlzdFN0eWxlOgorICAgIGNhc2UgQ1NTUHJvcGVydHlMaXN0U3R5bGVJbWFnZToKKyAg
ICBjYXNlIENTU1Byb3BlcnR5TGlzdFN0eWxlUG9zaXRpb246CisgICAgY2FzZSBDU1NQcm9wZXJ0
eUxpc3RTdHlsZVR5cGU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eU1hcmdpblRvcDoKICAgICBjYXNl
IENTU1Byb3BlcnR5TWFyZ2luUmlnaHQ6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eU1hcmdpbkJvdHRv
bToK
</data>

          </attachment>
      

    </bug>

</bugzilla>