<?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>60806</bug_id>
          
          <creation_ts>2011-05-13 14:41:07 -0700</creation_ts>
          <short_desc>Switch controlClipRect to use IntPoint</short_desc>
          <delta_ts>2011-05-26 15:49:12 -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>Layout and Rendering</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>
          <dependson>61390</dependson>
          <blocked>60318</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Levi Weintraub">leviw</reporter>
          <assigned_to name="Levi Weintraub">leviw</assigned_to>
          <cc>darin</cc>
    
    <cc>eae</cc>
    
    <cc>eric</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>403873</commentid>
    <comment_count>0</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-05-13 14:41:07 -0700</bug_when>
    <thetext>Ongoing removal of tx/ty.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409095</commentid>
    <comment_count>1</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-05-24 12:16:55 -0700</bug_when>
    <thetext>*** Bug 61383 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409111</commentid>
    <comment_count>2</comment_count>
      <attachid>94665</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-05-24 12:33:19 -0700</bug_when>
    <thetext>Created attachment 94665
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409115</commentid>
    <comment_count>3</comment_count>
      <attachid>94665</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-05-24 12:33:59 -0700</bug_when>
    <thetext>Comment on attachment 94665
Patch

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

&gt; Source/WebCore/rendering/RenderListBox.cpp:694
&gt; +    clipRect.move(additionalOffset.x(), additionalOffset.y());

It&apos;s a bit strange, but perhaps we should consider a flavor of IntRect::move that takes a point?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409133</commentid>
    <comment_count>4</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-05-24 12:51:30 -0700</bug_when>
    <thetext>&gt; It&apos;s a bit strange, but perhaps we should consider a flavor of IntRect::move that takes a point?

I would support that, there&apos;s a lot of code in both the painting and the hit testing code that uses coordinates interchangeably as points and offsets. Being able to move a rect by a point would make it much easier to clean up that code without having to do a lot of conversions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409144</commentid>
    <comment_count>5</comment_count>
      <attachid>94665</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-05-24 13:14:12 -0700</bug_when>
    <thetext>Comment on attachment 94665
Patch

Cool. I&apos;m going to hold back on this and make it dependent on such a change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409730</commentid>
    <comment_count>6</comment_count>
      <attachid>94802</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-05-25 10:18:29 -0700</bug_when>
    <thetext>Created attachment 94802
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410888</commentid>
    <comment_count>7</comment_count>
      <attachid>94802</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-26 15:03:17 -0700</bug_when>
    <thetext>Comment on attachment 94802
Patch

This whole size vs. point mess is super-confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410947</commentid>
    <comment_count>8</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-05-26 15:49:12 -0700</bug_when>
    <thetext>Committed r87443: &lt;http://trac.webkit.org/changeset/87443&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94665</attachid>
            <date>2011-05-24 12:33:19 -0700</date>
            <delta_ts>2011-05-25 10:18:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60806-20110524123317.patch</filename>
            <type>text/plain</type>
            <size>11145</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg3MTg0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTEtMDUtMjQgIExldmkgV2Vp
bnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFN3aXRjaCBjb250cm9sQ2xpcFJlY3QgdG8gdXNlIEludFBv
aW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDgw
NgorCisgICAgICAgIFN3aXRjaGluZyBjb250cm9sQ2xpcFJlY3QgdG8gdGFrZSBhbiBJbnRQb2lu
dCByZXByZXNlbnRpbmcgdGhlCisgICAgICAgIG9mZnNldCB0byBiZSBhZGRlZCBpbnN0ZWFkIG9m
IGEgcGFpciBvZiBpbnRzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBhcyB0aGlzIGlzIGp1c3Qg
cmVmYWN0b3JpbmcuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJsb2NrOjpub2RlQXRQb2ludCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnB1c2hDb250ZW50c0NsaXAp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6Y29udHJvbENsaXBSZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQnV0
dG9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJ1dHRvbjo6Y29udHJvbENsaXBSZWN0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmg6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckxpc3RCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6
cGFpbnRJdGVtQmFja2dyb3VuZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94Ojpj
b250cm9sQ2xpcFJlY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94Lmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlck1lbnVMaXN0Ojpjb250cm9sQ2xpcFJlY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJNZW51TGlzdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNp
bmdsZUxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVM
aW5lOjpjb250cm9sQ2xpcFJlY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29u
dHJvbFNpbmdsZUxpbmUuaDoKKwogMjAxMS0wNS0yNCAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgTGVvcGFyZCBidWlsZCBmaXgKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAkocmV2aXNpb24gODcxNjUpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOTIwLDcg
KzM5MjAsNyBAQCBib29sIFJlbmRlckJsb2NrOjpub2RlQXRQb2ludChjb25zdCBIaXRUCiAgICAg
Ym9vbCB1c2VPdmVyZmxvd0NsaXAgPSBoYXNPdmVyZmxvd0NsaXAoKSAmJiAhaGFzU2VsZlBhaW50
aW5nTGF5ZXIoKTsKICAgICBib29sIHVzZUNsaXAgPSAoaGFzQ29udHJvbENsaXAoKSB8fCB1c2VP
dmVyZmxvd0NsaXApOwogICAgIEludFJlY3QgaGl0VGVzdEFyZWEocmVzdWx0LnJlY3RGb3JQb2lu
dChwb2ludEluQ29udGFpbmVyKSk7Ci0gICAgYm9vbCBjaGVja0NoaWxkcmVuID0gIXVzZUNsaXAg
fHwgKGhhc0NvbnRyb2xDbGlwKCkgPyBjb250cm9sQ2xpcFJlY3QobG9jYWxPZmZzZXQud2lkdGgo
KSwgbG9jYWxPZmZzZXQuaGVpZ2h0KCkpLmludGVyc2VjdHMoaGl0VGVzdEFyZWEpIDogb3ZlcmZs
b3dDbGlwUmVjdChsb2NhbE9mZnNldC53aWR0aCgpLCBsb2NhbE9mZnNldC5oZWlnaHQoKSwgSW5j
bHVkZU92ZXJsYXlTY3JvbGxiYXJTaXplKS5pbnRlcnNlY3RzKGhpdFRlc3RBcmVhKSk7CisgICAg
Ym9vbCBjaGVja0NoaWxkcmVuID0gIXVzZUNsaXAgfHwgKGhhc0NvbnRyb2xDbGlwKCkgPyBjb250
cm9sQ2xpcFJlY3QodG9Qb2ludChsb2NhbE9mZnNldCkpLmludGVyc2VjdHMoaGl0VGVzdEFyZWEp
IDogb3ZlcmZsb3dDbGlwUmVjdChsb2NhbE9mZnNldC53aWR0aCgpLCBsb2NhbE9mZnNldC5oZWln
aHQoKSwgSW5jbHVkZU92ZXJsYXlTY3JvbGxiYXJTaXplKS5pbnRlcnNlY3RzKGhpdFRlc3RBcmVh
KSk7CiAgICAgaWYgKGNoZWNrQ2hpbGRyZW4pIHsKICAgICAgICAgLy8gSGl0IHRlc3QgZGVzY2Vu
ZGFudHMgZmlyc3QuCiAgICAgICAgIEludFNpemUgc2Nyb2xsZWRPZmZzZXQobG9jYWxPZmZzZXQp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHJldmlzaW9uIDg3
MTY1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTExMTYsNyArMTExNiw3IEBAIGJvb2wgUmVuZGVyQm94OjpwdXNoQ29udGVudHND
bGlwKFBhaW50SW4KICAgICAgICAgcGFpbnRPYmplY3QocGFpbnRJbmZvLCB0eCwgdHkpOwogICAg
ICAgICBwYWludEluZm8ucGhhc2UgPSBQYWludFBoYXNlQ2hpbGRCbG9ja0JhY2tncm91bmRzOwog
ICAgIH0KLSAgICBJbnRSZWN0IGNsaXBSZWN0KGlzQ29udHJvbENsaXAgPyBjb250cm9sQ2xpcFJl
Y3QodHgsIHR5KSA6IG92ZXJmbG93Q2xpcFJlY3QodHgsIHR5KSk7CisgICAgSW50UmVjdCBjbGlw
UmVjdChpc0NvbnRyb2xDbGlwID8gY29udHJvbENsaXBSZWN0KEludFBvaW50KHR4LCB0eSkpIDog
b3ZlcmZsb3dDbGlwUmVjdCh0eCwgdHkpKTsKICAgICBwYWludEluZm8uY29udGV4dC0+c2F2ZSgp
OwogICAgIGlmIChzdHlsZSgpLT5oYXNCb3JkZXJSYWRpdXMoKSkKICAgICAgICAgcGFpbnRJbmZv
LmNvbnRleHQtPmFkZFJvdW5kZWRSZWN0Q2xpcChzdHlsZSgpLT5nZXRSb3VuZGVkQm9yZGVyRm9y
KEludFJlY3QodHgsIHR5LCB3aWR0aCgpLCBoZWlnaHQoKSkpKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmgJKHJldmlzaW9uIDg3MTY1KQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNDUsNyArMzQ1LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgSW50UmVjdCBvdmVyZmxvd0NsaXBSZWN0KGludCB0eCwgaW50
IHR5LCBPdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSByZWxldmFuY3kgPSBJZ25vcmVPdmVy
bGF5U2Nyb2xsYmFyU2l6ZSk7CiAgICAgSW50UmVjdCBjbGlwUmVjdChpbnQgdHgsIGludCB0eSk7
CiAgICAgdmlydHVhbCBib29sIGhhc0NvbnRyb2xDbGlwKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KLSAgICB2aXJ0dWFsIEludFJlY3QgY29udHJvbENsaXBSZWN0KGludCAvKnR4Ki8sIGludCAv
KnR5Ki8pIGNvbnN0IHsgcmV0dXJuIEludFJlY3QoKTsgfQorICAgIHZpcnR1YWwgSW50UmVjdCBj
b250cm9sQ2xpcFJlY3QoY29uc3QgSW50UG9pbnQmKSBjb25zdCB7IHJldHVybiBJbnRSZWN0KCk7
IH0KICAgICBib29sIHB1c2hDb250ZW50c0NsaXAoUGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHkp
OwogICAgIHZvaWQgcG9wQ29udGVudHNDbGlwKFBhaW50SW5mbyYsIFBhaW50UGhhc2Ugb3JpZ2lu
YWxQaGFzZSwgaW50IHR4LCBpbnQgdHkpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQnV0dG9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQnV0dG9uLmNwcAkocmV2aXNpb24gODcxNjUpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU3LDEwICsxNTcs
MTAgQEAgdm9pZCBSZW5kZXJCdXR0b246OnVwZGF0ZUJlZm9yZUFmdGVyQ29udAogICAgICAgICBj
aGlsZHJlbigpLT51cGRhdGVCZWZvcmVBZnRlckNvbnRlbnQodGhpcywgdHlwZSk7CiB9CiAKLUlu
dFJlY3QgUmVuZGVyQnV0dG9uOjpjb250cm9sQ2xpcFJlY3QoaW50IHR4LCBpbnQgdHkpIGNvbnN0
CitJbnRSZWN0IFJlbmRlckJ1dHRvbjo6Y29udHJvbENsaXBSZWN0KGNvbnN0IEludFBvaW50JiBh
ZGRpdGlvbmFsT2Zmc2V0KSBjb25zdAogewogICAgIC8vIENsaXAgdG8gdGhlIHBhZGRpbmcgYm94
IHRvIGF0IGxlYXN0IGdpdmUgY29udGVudCB0aGUgZXh0cmEgcGFkZGluZyBzcGFjZS4KLSAgICBy
ZXR1cm4gSW50UmVjdCh0eCArIGJvcmRlckxlZnQoKSwgdHkgKyBib3JkZXJUb3AoKSwgd2lkdGgo
KSAtIGJvcmRlckxlZnQoKSAtIGJvcmRlclJpZ2h0KCksIGhlaWdodCgpIC0gYm9yZGVyVG9wKCkg
LSBib3JkZXJCb3R0b20oKSk7CisgICAgcmV0dXJuIEludFJlY3QoYWRkaXRpb25hbE9mZnNldC54
KCkgKyBib3JkZXJMZWZ0KCksIGFkZGl0aW9uYWxPZmZzZXQueSgpICsgYm9yZGVyVG9wKCksIHdp
ZHRoKCkgLSBib3JkZXJMZWZ0KCkgLSBib3JkZXJSaWdodCgpLCBoZWlnaHQoKSAtIGJvcmRlclRv
cCgpIC0gYm9yZGVyQm90dG9tKCkpOwogfQogCiB2b2lkIFJlbmRlckJ1dHRvbjo6dGltZXJGaXJl
ZChUaW1lcjxSZW5kZXJCdXR0b24+KikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCdXR0b24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQnV0dG9uLmgJKHJldmlzaW9uIDg3MTY1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJ1dHRvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQmVmb3JlQWZ0ZXJDb250ZW50KFBzZXVkb0lkKTsKIAog
ICAgIHZpcnR1YWwgYm9vbCBoYXNDb250cm9sQ2xpcCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0K
LSAgICB2aXJ0dWFsIEludFJlY3QgY29udHJvbENsaXBSZWN0KGludCAvKnR4Ki8sIGludCAvKnR5
Ki8pIGNvbnN0OworICAgIHZpcnR1YWwgSW50UmVjdCBjb250cm9sQ2xpcFJlY3QoY29uc3QgSW50
UG9pbnQmKSBjb25zdDsKIAogICAgIHZvaWQgc2V0VGV4dChjb25zdCBTdHJpbmcmKTsKICAgICBT
dHJpbmcgdGV4dCgpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxpc3RCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMaXN0Qm94LmNwcAkocmV2aXNpb24gODcxNjUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGlzdEJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyOCw3ICs0MjgsNyBAQCB2
b2lkIFJlbmRlckxpc3RCb3g6OnBhaW50SXRlbUJhY2tncm91bmQoCiAgICAgaWYgKCFlbGVtZW50
LT5yZW5kZXJTdHlsZSgpIHx8IGVsZW1lbnQtPnJlbmRlclN0eWxlKCktPnZpc2liaWxpdHkoKSAh
PSBISURERU4pIHsKICAgICAgICAgQ29sb3JTcGFjZSBjb2xvclNwYWNlID0gZWxlbWVudC0+cmVu
ZGVyU3R5bGUoKSA/IGVsZW1lbnQtPnJlbmRlclN0eWxlKCktPmNvbG9yU3BhY2UoKSA6IHN0eWxl
KCktPmNvbG9yU3BhY2UoKTsKICAgICAgICAgSW50UmVjdCBpdGVtUmVjdCA9IGl0ZW1Cb3VuZGlu
Z0JveFJlY3QodHgsIHR5LCBsaXN0SW5kZXgpOwotICAgICAgICBpdGVtUmVjdC5pbnRlcnNlY3Qo
Y29udHJvbENsaXBSZWN0KHR4LCB0eSkpOworICAgICAgICBpdGVtUmVjdC5pbnRlcnNlY3QoY29u
dHJvbENsaXBSZWN0KEludFBvaW50KHR4LCB0eSkpKTsKICAgICAgICAgcGFpbnRJbmZvLmNvbnRl
eHQtPmZpbGxSZWN0KGl0ZW1SZWN0LCBiYWNrQ29sb3IsIGNvbG9yU3BhY2UpOwogICAgIH0KIH0K
QEAgLTY4OCwxMCArNjg4LDEwIEBAIGJvb2wgUmVuZGVyTGlzdEJveDo6bm9kZUF0UG9pbnQoY29u
c3QgSGkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSW50UmVjdCBSZW5kZXJMaXN0Qm94Ojpjb250
cm9sQ2xpcFJlY3QoaW50IHR4LCBpbnQgdHkpIGNvbnN0CitJbnRSZWN0IFJlbmRlckxpc3RCb3g6
OmNvbnRyb2xDbGlwUmVjdChjb25zdCBJbnRQb2ludCYgYWRkaXRpb25hbE9mZnNldCkgY29uc3QK
IHsKICAgICBJbnRSZWN0IGNsaXBSZWN0ID0gY29udGVudEJveFJlY3QoKTsKLSAgICBjbGlwUmVj
dC5tb3ZlKHR4LCB0eSk7CisgICAgY2xpcFJlY3QubW92ZShhZGRpdGlvbmFsT2Zmc2V0LngoKSwg
YWRkaXRpb25hbE9mZnNldC55KCkpOwogICAgIHJldHVybiBjbGlwUmVjdDsKIH0KIApJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCShyZXZpc2lvbiA4NzE2NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTY2LDcgKzY2LDcgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgYm9vbCBoYXNDb250
cm9sQ2xpcCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRP
YmplY3QoUGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHkpOwotICAgIHZpcnR1YWwgSW50UmVjdCBj
b250cm9sQ2xpcFJlY3QoaW50IHR4LCBpbnQgdHkpIGNvbnN0OworICAgIHZpcnR1YWwgSW50UmVj
dCBjb250cm9sQ2xpcFJlY3QoY29uc3QgSW50UG9pbnQmKSBjb25zdDsKIAogICAgIHZpcnR1YWwg
Ym9vbCBpc1BvaW50SW5PdmVyZmxvd0NvbnRyb2woSGl0VGVzdFJlc3VsdCYsIGNvbnN0IEludFBv
aW50JiBwb2ludEluQ29udGFpbmVyLCBpbnQgdHgsIGludCB0eSk7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAkocmV2aXNpb24gODcxNjUpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yMzIsMTggKzIzMiwxOCBAQCBTdHJpbmcgUmVuZGVyTWVudUxpc3Q6OnRleHQoKSBj
b25zdAogICAgIHJldHVybiBtX2J1dHRvblRleHQgPyBtX2J1dHRvblRleHQtPnRleHQoKSA6IDA7
CiB9CiAKLUludFJlY3QgUmVuZGVyTWVudUxpc3Q6OmNvbnRyb2xDbGlwUmVjdChpbnQgdHgsIGlu
dCB0eSkgY29uc3QKK0ludFJlY3QgUmVuZGVyTWVudUxpc3Q6OmNvbnRyb2xDbGlwUmVjdChjb25z
dCBJbnRQb2ludCYgYWRkaXRpb25hbE9mZnNldCkgY29uc3QKIHsKICAgICAvLyBDbGlwIHRvIHRo
ZSBpbnRlcnNlY3Rpb24gb2YgdGhlIGNvbnRlbnQgYm94IGFuZCB0aGUgY29udGVudCBib3ggZm9y
IHRoZSBpbm5lciBib3gKICAgICAvLyBUaGlzIHdpbGwgbGVhdmUgcm9vbSBmb3IgdGhlIGFycm93
cyB3aGljaCBzaXQgaW4gdGhlIGlubmVyIGJveCBwYWRkaW5nLAogICAgIC8vIGFuZCBpZiB0aGUg
aW5uZXIgYm94IGV2ZXIgc3BpbGxzIG91dCBvZiB0aGUgb3V0ZXIgYm94LCB0aGF0IHdpbGwgZ2V0
IGNsaXBwZWQgdG9vLgotICAgIEludFJlY3Qgb3V0ZXJCb3godHggKyBib3JkZXJMZWZ0KCkgKyBw
YWRkaW5nTGVmdCgpLCAKLSAgICAgICAgICAgICAgICAgICB0eSArIGJvcmRlclRvcCgpICsgcGFk
ZGluZ1RvcCgpLAorICAgIEludFJlY3Qgb3V0ZXJCb3goYWRkaXRpb25hbE9mZnNldC54KCkgKyBi
b3JkZXJMZWZ0KCkgKyBwYWRkaW5nTGVmdCgpLCAKKyAgICAgICAgICAgICAgICAgICBhZGRpdGlv
bmFsT2Zmc2V0LnkoKSArIGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgpLAogICAgICAgICAgICAg
ICAgICAgIGNvbnRlbnRXaWR0aCgpLCAKICAgICAgICAgICAgICAgICAgICBjb250ZW50SGVpZ2h0
KCkpOwogICAgIAotICAgIEludFJlY3QgaW5uZXJCb3godHggKyBtX2lubmVyQmxvY2stPngoKSAr
IG1faW5uZXJCbG9jay0+cGFkZGluZ0xlZnQoKSwgCi0gICAgICAgICAgICAgICAgICAgdHkgKyBt
X2lubmVyQmxvY2stPnkoKSArIG1faW5uZXJCbG9jay0+cGFkZGluZ1RvcCgpLAorICAgIEludFJl
Y3QgaW5uZXJCb3goYWRkaXRpb25hbE9mZnNldC54KCkgKyBtX2lubmVyQmxvY2stPngoKSArIG1f
aW5uZXJCbG9jay0+cGFkZGluZ0xlZnQoKSwgCisgICAgICAgICAgICAgICAgICAgYWRkaXRpb25h
bE9mZnNldC55KCkgKyBtX2lubmVyQmxvY2stPnkoKSArIG1faW5uZXJCbG9jay0+cGFkZGluZ1Rv
cCgpLAogICAgICAgICAgICAgICAgICAgIG1faW5uZXJCbG9jay0+Y29udGVudFdpZHRoKCksIAog
ICAgICAgICAgICAgICAgICAgIG1faW5uZXJCbG9jay0+Y29udGVudEhlaWdodCgpKTsKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgJKHJldmlzaW9uIDg3
MTY1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTcwLDcgKzcwLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgdXBk
YXRlRnJvbUVsZW1lbnQoKTsKIAogICAgIHZpcnR1YWwgYm9vbCBoYXNDb250cm9sQ2xpcCgpIGNv
bnN0IHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIEludFJlY3QgY29udHJvbENsaXBSZWN0
KGludCB0eCwgaW50IHR5KSBjb25zdDsKKyAgICB2aXJ0dWFsIEludFJlY3QgY29udHJvbENsaXBS
ZWN0KGNvbnN0IEludFBvaW50JikgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJl
bmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyTWVudUxpc3QiOyB9CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNp
bmdsZUxpbmUuY3BwCShyZXZpc2lvbiA4NzE2NSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MTgs
MTMgKzUxOCwxMyBAQCBib29sIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6aGFzQ29uCiAg
ICAgcmV0dXJuIGNsaXA7CiB9CiAKLUludFJlY3QgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5l
Ojpjb250cm9sQ2xpcFJlY3QoaW50IHR4LCBpbnQgdHkpIGNvbnN0CitJbnRSZWN0IFJlbmRlclRl
eHRDb250cm9sU2luZ2xlTGluZTo6Y29udHJvbENsaXBSZWN0KGNvbnN0IEludFBvaW50JiBhZGRp
dGlvbmFsT2Zmc2V0KSBjb25zdAogewogICAgIC8vIFRoaXMgc2hvdWxkIG9ubHkgZ2V0IGNhbGxl
ZCBmb3Igc2VhcmNoICYgc3BlZWNoIGlucHV0cy4KICAgICBBU1NFUlQoaGFzQ29udHJvbENsaXAo
KSk7CiAKICAgICBJbnRSZWN0IGNsaXBSZWN0ID0gSW50UmVjdChpbm5lckJsb2NrRWxlbWVudCgp
LT5yZW5kZXJCb3goKS0+ZnJhbWVSZWN0KCkpOwotICAgIGNsaXBSZWN0Lm1vdmUodHgsIHR5KTsK
KyAgICBjbGlwUmVjdC5tb3ZlKGFkZGl0aW9uYWxPZmZzZXQueCgpLCBhZGRpdGlvbmFsT2Zmc2V0
LnkoKSk7CiAgICAgcmV0dXJuIGNsaXBSZWN0OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oCShyZXZp
c2lvbiA4NzE2NSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJv
bFNpbmdsZUxpbmUuaAkod29ya2luZyBjb3B5KQpAQCAtNjgsNyArNjgsNyBAQCBwdWJsaWM6CiBw
cml2YXRlOgogICAgIGludCBwcmVmZXJyZWREZWNvcmF0aW9uV2lkdGhSaWdodCgpIGNvbnN0Owog
ICAgIHZpcnR1YWwgYm9vbCBoYXNDb250cm9sQ2xpcCgpIGNvbnN0OwotICAgIHZpcnR1YWwgSW50
UmVjdCBjb250cm9sQ2xpcFJlY3QoaW50IHR4LCBpbnQgdHkpIGNvbnN0OworICAgIHZpcnR1YWwg
SW50UmVjdCBjb250cm9sQ2xpcFJlY3QoY29uc3QgSW50UG9pbnQmKSBjb25zdDsKICAgICB2aXJ0
dWFsIGJvb2wgaXNUZXh0RmllbGQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAKICAgICB2aXJ0
dWFsIHZvaWQgc3VidHJlZUhhc0NoYW5nZWQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94802</attachid>
            <date>2011-05-25 10:18:29 -0700</date>
            <delta_ts>2011-05-26 15:03:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60806-20110525101827.patch</filename>
            <type>text/plain</type>
            <size>11106</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg3MzAzKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTEtMDUtMjUgIExldmkgV2Vp
bnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFN3aXRjaCBjb250cm9sQ2xpcFJlY3QgdG8gdXNlIEludFBv
aW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDgw
NgorCisgICAgICAgIFN3aXRjaGluZyBjb250cm9sQ2xpcFJlY3QgdG8gdGFrZSBhbiBJbnRQb2lu
dCByZXByZXNlbnRpbmcgdGhlCisgICAgICAgIG9mZnNldCB0byBiZSBhZGRlZCBpbnN0ZWFkIG9m
IGEgcGFpciBvZiBpbnRzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBhcyB0aGlzIGlzIGp1c3Qg
cmVmYWN0b3JpbmcuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJsb2NrOjpub2RlQXRQb2ludCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnB1c2hDb250ZW50c0NsaXAp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6Y29udHJvbENsaXBSZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQnV0
dG9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJ1dHRvbjo6Y29udHJvbENsaXBSZWN0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmg6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckxpc3RCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6
cGFpbnRJdGVtQmFja2dyb3VuZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94Ojpj
b250cm9sQ2xpcFJlY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94Lmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlck1lbnVMaXN0Ojpjb250cm9sQ2xpcFJlY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJNZW51TGlzdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNp
bmdsZUxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVM
aW5lOjpjb250cm9sQ2xpcFJlY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29u
dHJvbFNpbmdsZUxpbmUuaDoKKwogMjAxMS0wNS0yNSAgTGV2aSBXZWludHJhdWIgIDxsZXZpd0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDg3MzAzKQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzkxOSw3ICszOTE5LDcgQEAgYm9vbCBSZW5kZXJCbG9jazo6bm9kZUF0UG9pbnQoY29u
c3QgSGl0VAogICAgIGJvb2wgdXNlT3ZlcmZsb3dDbGlwID0gaGFzT3ZlcmZsb3dDbGlwKCkgJiYg
IWhhc1NlbGZQYWludGluZ0xheWVyKCk7CiAgICAgYm9vbCB1c2VDbGlwID0gKGhhc0NvbnRyb2xD
bGlwKCkgfHwgdXNlT3ZlcmZsb3dDbGlwKTsKICAgICBJbnRSZWN0IGhpdFRlc3RBcmVhKHJlc3Vs
dC5yZWN0Rm9yUG9pbnQocG9pbnRJbkNvbnRhaW5lcikpOwotICAgIGJvb2wgY2hlY2tDaGlsZHJl
biA9ICF1c2VDbGlwIHx8IChoYXNDb250cm9sQ2xpcCgpID8gY29udHJvbENsaXBSZWN0KGxvY2Fs
T2Zmc2V0LndpZHRoKCksIGxvY2FsT2Zmc2V0LmhlaWdodCgpKS5pbnRlcnNlY3RzKGhpdFRlc3RB
cmVhKSA6IG92ZXJmbG93Q2xpcFJlY3QobG9jYWxPZmZzZXQud2lkdGgoKSwgbG9jYWxPZmZzZXQu
aGVpZ2h0KCksIEluY2x1ZGVPdmVybGF5U2Nyb2xsYmFyU2l6ZSkuaW50ZXJzZWN0cyhoaXRUZXN0
QXJlYSkpOworICAgIGJvb2wgY2hlY2tDaGlsZHJlbiA9ICF1c2VDbGlwIHx8IChoYXNDb250cm9s
Q2xpcCgpID8gY29udHJvbENsaXBSZWN0KHRvUG9pbnQobG9jYWxPZmZzZXQpKS5pbnRlcnNlY3Rz
KGhpdFRlc3RBcmVhKSA6IG92ZXJmbG93Q2xpcFJlY3QobG9jYWxPZmZzZXQud2lkdGgoKSwgbG9j
YWxPZmZzZXQuaGVpZ2h0KCksIEluY2x1ZGVPdmVybGF5U2Nyb2xsYmFyU2l6ZSkuaW50ZXJzZWN0
cyhoaXRUZXN0QXJlYSkpOwogICAgIGlmIChjaGVja0NoaWxkcmVuKSB7CiAgICAgICAgIC8vIEhp
dCB0ZXN0IGRlc2NlbmRhbnRzIGZpcnN0LgogICAgICAgICBJbnRTaXplIHNjcm9sbGVkT2Zmc2V0
KGxvY2FsT2Zmc2V0KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3gu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
CShyZXZpc2lvbiA4NzMwMykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3gu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTE2LDcgKzExMTYsNyBAQCBib29sIFJlbmRlckJveDo6
cHVzaENvbnRlbnRzQ2xpcChQYWludEluCiAgICAgICAgIHBhaW50T2JqZWN0KHBhaW50SW5mbywg
dHgsIHR5KTsKICAgICAgICAgcGFpbnRJbmZvLnBoYXNlID0gUGFpbnRQaGFzZUNoaWxkQmxvY2tC
YWNrZ3JvdW5kczsKICAgICB9Ci0gICAgSW50UmVjdCBjbGlwUmVjdChpc0NvbnRyb2xDbGlwID8g
Y29udHJvbENsaXBSZWN0KHR4LCB0eSkgOiBvdmVyZmxvd0NsaXBSZWN0KHR4LCB0eSkpOworICAg
IEludFJlY3QgY2xpcFJlY3QoaXNDb250cm9sQ2xpcCA/IGNvbnRyb2xDbGlwUmVjdChJbnRQb2lu
dCh0eCwgdHkpKSA6IG92ZXJmbG93Q2xpcFJlY3QodHgsIHR5KSk7CiAgICAgcGFpbnRJbmZvLmNv
bnRleHQtPnNhdmUoKTsKICAgICBpZiAoc3R5bGUoKS0+aGFzQm9yZGVyUmFkaXVzKCkpCiAgICAg
ICAgIHBhaW50SW5mby5jb250ZXh0LT5hZGRSb3VuZGVkUmVjdENsaXAoc3R5bGUoKS0+Z2V0Um91
bmRlZEJvcmRlckZvcihJbnRSZWN0KHR4LCB0eSwgd2lkdGgoKSwgaGVpZ2h0KCkpKSk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCShyZXZpc2lvbiA4NzMwMykKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAkod29ya2luZyBjb3B5KQpAQCAtMzQ1
LDcgKzM0NSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEludFJlY3Qgb3ZlcmZsb3dDbGlwUmVj
dChpbnQgdHgsIGludCB0eSwgT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kgcmVsZXZhbmN5
ID0gSWdub3JlT3ZlcmxheVNjcm9sbGJhclNpemUpOwogICAgIEludFJlY3QgY2xpcFJlY3QoaW50
IHR4LCBpbnQgdHkpOwogICAgIHZpcnR1YWwgYm9vbCBoYXNDb250cm9sQ2xpcCgpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBJbnRSZWN0IGNvbnRyb2xDbGlwUmVjdChpbnQg
Lyp0eCovLCBpbnQgLyp0eSovKSBjb25zdCB7IHJldHVybiBJbnRSZWN0KCk7IH0KKyAgICB2aXJ0
dWFsIEludFJlY3QgY29udHJvbENsaXBSZWN0KGNvbnN0IEludFBvaW50JikgY29uc3QgeyByZXR1
cm4gSW50UmVjdCgpOyB9CiAgICAgYm9vbCBwdXNoQ29udGVudHNDbGlwKFBhaW50SW5mbyYsIGlu
dCB0eCwgaW50IHR5KTsKICAgICB2b2lkIHBvcENvbnRlbnRzQ2xpcChQYWludEluZm8mLCBQYWlu
dFBoYXNlIG9yaWdpbmFsUGhhc2UsIGludCB0eCwgaW50IHR5KTsKIApJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5jcHAJKHJldmlzaW9uIDg3MzAzKQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE1NywxMCArMTU3LDEwIEBAIHZvaWQgUmVuZGVyQnV0dG9uOjp1cGRhdGVCZWZvcmVBZnRlckNv
bnQKICAgICAgICAgY2hpbGRyZW4oKS0+dXBkYXRlQmVmb3JlQWZ0ZXJDb250ZW50KHRoaXMsIHR5
cGUpOwogfQogCi1JbnRSZWN0IFJlbmRlckJ1dHRvbjo6Y29udHJvbENsaXBSZWN0KGludCB0eCwg
aW50IHR5KSBjb25zdAorSW50UmVjdCBSZW5kZXJCdXR0b246OmNvbnRyb2xDbGlwUmVjdChjb25z
dCBJbnRQb2ludCYgYWRkaXRpb25hbE9mZnNldCkgY29uc3QKIHsKICAgICAvLyBDbGlwIHRvIHRo
ZSBwYWRkaW5nIGJveCB0byBhdCBsZWFzdCBnaXZlIGNvbnRlbnQgdGhlIGV4dHJhIHBhZGRpbmcg
c3BhY2UuCi0gICAgcmV0dXJuIEludFJlY3QodHggKyBib3JkZXJMZWZ0KCksIHR5ICsgYm9yZGVy
VG9wKCksIHdpZHRoKCkgLSBib3JkZXJMZWZ0KCkgLSBib3JkZXJSaWdodCgpLCBoZWlnaHQoKSAt
IGJvcmRlclRvcCgpIC0gYm9yZGVyQm90dG9tKCkpOworICAgIHJldHVybiBJbnRSZWN0KGFkZGl0
aW9uYWxPZmZzZXQueCgpICsgYm9yZGVyTGVmdCgpLCBhZGRpdGlvbmFsT2Zmc2V0LnkoKSArIGJv
cmRlclRvcCgpLCB3aWR0aCgpIC0gYm9yZGVyTGVmdCgpIC0gYm9yZGVyUmlnaHQoKSwgaGVpZ2h0
KCkgLSBib3JkZXJUb3AoKSAtIGJvcmRlckJvdHRvbSgpKTsKIH0KIAogdm9pZCBSZW5kZXJCdXR0
b246OnRpbWVyRmlyZWQoVGltZXI8UmVuZGVyQnV0dG9uPiopCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5oCShyZXZpc2lvbiA4NzMwMykKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uaAkod29ya2luZyBjb3B5KQpAQCAtNTEsNyArNTEs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUJlZm9yZUFmdGVyQ29udGVudChQ
c2V1ZG9JZCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgaGFzQ29udHJvbENsaXAoKSBjb25zdCB7IHJl
dHVybiB0cnVlOyB9Ci0gICAgdmlydHVhbCBJbnRSZWN0IGNvbnRyb2xDbGlwUmVjdChpbnQgLyp0
eCovLCBpbnQgLyp0eSovKSBjb25zdDsKKyAgICB2aXJ0dWFsIEludFJlY3QgY29udHJvbENsaXBS
ZWN0KGNvbnN0IEludFBvaW50JikgY29uc3Q7CiAKICAgICB2b2lkIHNldFRleHQoY29uc3QgU3Ry
aW5nJik7CiAgICAgU3RyaW5nIHRleHQoKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAJKHJldmlzaW9uIDg3MzAzKQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Mjcs
NyArNDI3LDcgQEAgdm9pZCBSZW5kZXJMaXN0Qm94OjpwYWludEl0ZW1CYWNrZ3JvdW5kKAogICAg
IGlmICghZWxlbWVudC0+cmVuZGVyU3R5bGUoKSB8fCBlbGVtZW50LT5yZW5kZXJTdHlsZSgpLT52
aXNpYmlsaXR5KCkgIT0gSElEREVOKSB7CiAgICAgICAgIENvbG9yU3BhY2UgY29sb3JTcGFjZSA9
IGVsZW1lbnQtPnJlbmRlclN0eWxlKCkgPyBlbGVtZW50LT5yZW5kZXJTdHlsZSgpLT5jb2xvclNw
YWNlKCkgOiBzdHlsZSgpLT5jb2xvclNwYWNlKCk7CiAgICAgICAgIEludFJlY3QgaXRlbVJlY3Qg
PSBpdGVtQm91bmRpbmdCb3hSZWN0KHR4LCB0eSwgbGlzdEluZGV4KTsKLSAgICAgICAgaXRlbVJl
Y3QuaW50ZXJzZWN0KGNvbnRyb2xDbGlwUmVjdCh0eCwgdHkpKTsKKyAgICAgICAgaXRlbVJlY3Qu
aW50ZXJzZWN0KGNvbnRyb2xDbGlwUmVjdChJbnRQb2ludCh0eCwgdHkpKSk7CiAgICAgICAgIHBh
aW50SW5mby5jb250ZXh0LT5maWxsUmVjdChpdGVtUmVjdCwgYmFja0NvbG9yLCBjb2xvclNwYWNl
KTsKICAgICB9CiB9CkBAIC02ODcsMTAgKzY4NywxMCBAQCBib29sIFJlbmRlckxpc3RCb3g6Om5v
ZGVBdFBvaW50KGNvbnN0IEhpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUludFJlY3QgUmVuZGVy
TGlzdEJveDo6Y29udHJvbENsaXBSZWN0KGludCB0eCwgaW50IHR5KSBjb25zdAorSW50UmVjdCBS
ZW5kZXJMaXN0Qm94Ojpjb250cm9sQ2xpcFJlY3QoY29uc3QgSW50UG9pbnQmIGFkZGl0aW9uYWxP
ZmZzZXQpIGNvbnN0CiB7CiAgICAgSW50UmVjdCBjbGlwUmVjdCA9IGNvbnRlbnRCb3hSZWN0KCk7
Ci0gICAgY2xpcFJlY3QubW92ZSh0eCwgdHkpOworICAgIGNsaXBSZWN0Lm1vdmUoYWRkaXRpb25h
bE9mZnNldCk7CiAgICAgcmV0dXJuIGNsaXBSZWN0OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgJKHJldmlzaW9uIDg3MzAzKQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaAkod29ya2luZyBjb3B5KQpAQCAtNjYsNyAr
NjYsNyBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCBib29sIGhhc0NvbnRyb2xDbGlwKCkgY29u
c3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBwYWludE9iamVjdChQYWludElu
Zm8mLCBpbnQgdHgsIGludCB0eSk7Ci0gICAgdmlydHVhbCBJbnRSZWN0IGNvbnRyb2xDbGlwUmVj
dChpbnQgdHgsIGludCB0eSkgY29uc3Q7CisgICAgdmlydHVhbCBJbnRSZWN0IGNvbnRyb2xDbGlw
UmVjdChjb25zdCBJbnRQb2ludCYpIGNvbnN0OwogCiAgICAgdmlydHVhbCBib29sIGlzUG9pbnRJ
bk92ZXJmbG93Q29udHJvbChIaXRUZXN0UmVzdWx0JiwgY29uc3QgSW50UG9pbnQmIHBvaW50SW5D
b250YWluZXIsIGludCB0eCwgaW50IHR5KTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck1lbnVMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCShyZXZpc2lvbiA4NzMwMykKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzMiwx
OCArMjMyLDE4IEBAIFN0cmluZyBSZW5kZXJNZW51TGlzdDo6dGV4dCgpIGNvbnN0CiAgICAgcmV0
dXJuIG1fYnV0dG9uVGV4dCA/IG1fYnV0dG9uVGV4dC0+dGV4dCgpIDogMDsKIH0KIAotSW50UmVj
dCBSZW5kZXJNZW51TGlzdDo6Y29udHJvbENsaXBSZWN0KGludCB0eCwgaW50IHR5KSBjb25zdAor
SW50UmVjdCBSZW5kZXJNZW51TGlzdDo6Y29udHJvbENsaXBSZWN0KGNvbnN0IEludFBvaW50JiBh
ZGRpdGlvbmFsT2Zmc2V0KSBjb25zdAogewogICAgIC8vIENsaXAgdG8gdGhlIGludGVyc2VjdGlv
biBvZiB0aGUgY29udGVudCBib3ggYW5kIHRoZSBjb250ZW50IGJveCBmb3IgdGhlIGlubmVyIGJv
eAogICAgIC8vIFRoaXMgd2lsbCBsZWF2ZSByb29tIGZvciB0aGUgYXJyb3dzIHdoaWNoIHNpdCBp
biB0aGUgaW5uZXIgYm94IHBhZGRpbmcsCiAgICAgLy8gYW5kIGlmIHRoZSBpbm5lciBib3ggZXZl
ciBzcGlsbHMgb3V0IG9mIHRoZSBvdXRlciBib3gsIHRoYXQgd2lsbCBnZXQgY2xpcHBlZCB0b28u
Ci0gICAgSW50UmVjdCBvdXRlckJveCh0eCArIGJvcmRlckxlZnQoKSArIHBhZGRpbmdMZWZ0KCks
IAotICAgICAgICAgICAgICAgICAgIHR5ICsgYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCksCisg
ICAgSW50UmVjdCBvdXRlckJveChhZGRpdGlvbmFsT2Zmc2V0LngoKSArIGJvcmRlckxlZnQoKSAr
IHBhZGRpbmdMZWZ0KCksIAorICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxPZmZzZXQueSgp
ICsgYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCksCiAgICAgICAgICAgICAgICAgICAgY29udGVu
dFdpZHRoKCksIAogICAgICAgICAgICAgICAgICAgIGNvbnRlbnRIZWlnaHQoKSk7CiAgICAgCi0g
ICAgSW50UmVjdCBpbm5lckJveCh0eCArIG1faW5uZXJCbG9jay0+eCgpICsgbV9pbm5lckJsb2Nr
LT5wYWRkaW5nTGVmdCgpLCAKLSAgICAgICAgICAgICAgICAgICB0eSArIG1faW5uZXJCbG9jay0+
eSgpICsgbV9pbm5lckJsb2NrLT5wYWRkaW5nVG9wKCksCisgICAgSW50UmVjdCBpbm5lckJveChh
ZGRpdGlvbmFsT2Zmc2V0LngoKSArIG1faW5uZXJCbG9jay0+eCgpICsgbV9pbm5lckJsb2NrLT5w
YWRkaW5nTGVmdCgpLCAKKyAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsT2Zmc2V0LnkoKSAr
IG1faW5uZXJCbG9jay0+eSgpICsgbV9pbm5lckJsb2NrLT5wYWRkaW5nVG9wKCksCiAgICAgICAg
ICAgICAgICAgICAgbV9pbm5lckJsb2NrLT5jb250ZW50V2lkdGgoKSwgCiAgICAgICAgICAgICAg
ICAgICAgbV9pbm5lckJsb2NrLT5jb250ZW50SGVpZ2h0KCkpOwogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaAkocmV2aXNpb24gODczMDMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaAkod29ya2luZyBjb3B5KQpAQCAt
NzAsNyArNzAsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVGcm9tRWxlbWVu
dCgpOwogCiAgICAgdmlydHVhbCBib29sIGhhc0NvbnRyb2xDbGlwKCkgY29uc3QgeyByZXR1cm4g
dHJ1ZTsgfQotICAgIHZpcnR1YWwgSW50UmVjdCBjb250cm9sQ2xpcFJlY3QoaW50IHR4LCBpbnQg
dHkpIGNvbnN0OworICAgIHZpcnR1YWwgSW50UmVjdCBjb250cm9sQ2xpcFJlY3QoY29uc3QgSW50
UG9pbnQmKSBjb25zdDsKIAogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNv
bnN0IHsgcmV0dXJuICJSZW5kZXJNZW51TGlzdCI7IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAJ
KHJldmlzaW9uIDg3MzAzKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRD
b250cm9sU2luZ2xlTGluZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxOCwxMyArNTE4LDEzIEBA
IGJvb2wgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpoYXNDb24KICAgICByZXR1cm4gY2xp
cDsKIH0KIAotSW50UmVjdCBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OmNvbnRyb2xDbGlw
UmVjdChpbnQgdHgsIGludCB0eSkgY29uc3QKK0ludFJlY3QgUmVuZGVyVGV4dENvbnRyb2xTaW5n
bGVMaW5lOjpjb250cm9sQ2xpcFJlY3QoY29uc3QgSW50UG9pbnQmIGFkZGl0aW9uYWxPZmZzZXQp
IGNvbnN0CiB7CiAgICAgLy8gVGhpcyBzaG91bGQgb25seSBnZXQgY2FsbGVkIGZvciBzZWFyY2gg
JiBzcGVlY2ggaW5wdXRzLgogICAgIEFTU0VSVChoYXNDb250cm9sQ2xpcCgpKTsKIAogICAgIElu
dFJlY3QgY2xpcFJlY3QgPSBJbnRSZWN0KGlubmVyQmxvY2tFbGVtZW50KCktPnJlbmRlckJveCgp
LT5mcmFtZVJlY3QoKSk7Ci0gICAgY2xpcFJlY3QubW92ZSh0eCwgdHkpOworICAgIGNsaXBSZWN0
Lm1vdmUoYWRkaXRpb25hbE9mZnNldCk7CiAgICAgcmV0dXJuIGNsaXBSZWN0OwogfQogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9s
U2luZ2xlTGluZS5oCShyZXZpc2lvbiA4NzMwMykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaAkod29ya2luZyBjb3B5KQpAQCAtNjEsNyAr
NjEsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIGludCBwcmVmZXJyZWREZWNvcmF0aW9uV2lk
dGhSaWdodCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBoYXNDb250cm9sQ2xpcCgpIGNvbnN0
OwotICAgIHZpcnR1YWwgSW50UmVjdCBjb250cm9sQ2xpcFJlY3QoaW50IHR4LCBpbnQgdHkpIGNv
bnN0OworICAgIHZpcnR1YWwgSW50UmVjdCBjb250cm9sQ2xpcFJlY3QoY29uc3QgSW50UG9pbnQm
KSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNUZXh0RmllbGQoKSBjb25zdCB7IHJldHVybiB0
cnVlOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgc3VidHJlZUhhc0NoYW5nZWQoKTsK
</data>
<flag name="review"
          id="88178"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>