<?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>34960</bug_id>
          
          <creation_ts>2010-02-15 14:02:20 -0800</creation_ts>
          <short_desc>[Qt] GraphicsLayer: support perspective and 3D transforms</short_desc>
          <delta_ts>2010-02-18 07:31:59 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Noam Rosenthal">noam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ismail</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>190556</commentid>
    <comment_count>0</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-02-15 14:02:20 -0800</bug_when>
    <thetext>Right now GraphicsLayerQt is limited to 2D transforms only. The first round of 3D functionality would include:
-webkit-perspective
-webkit-perspective-origin
and 3D transforms

this bug does not include preserves-3d and backface-visibility.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190563</commentid>
    <comment_count>1</comment_count>
      <attachid>48779</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-02-15 14:46:19 -0800</bug_when>
    <thetext>Created attachment 48779
support setChildrenTransform in GraphicsLayerQt, for -webkit-perspective

Thanks Kim Gronholm from Starlight/Novomok for doing most of the work on this patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190796</commentid>
    <comment_count>2</comment_count>
      <attachid>48779</attachid>
    <who name="Ariya Hidayat">ariya.hidayat</who>
    <bug_when>2010-02-16 15:45:05 -0800</bug_when>
    <thetext>Comment on attachment 48779
support setChildrenTransform in GraphicsLayerQt, for -webkit-perspective

Nice work :) LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190853</commentid>
    <comment_count>3</comment_count>
      <attachid>48779</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-02-16 18:59:38 -0800</bug_when>
    <thetext>Comment on attachment 48779
support setChildrenTransform in GraphicsLayerQt, for -webkit-perspective

let&apos;s roll...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191073</commentid>
    <comment_count>4</comment_count>
      <attachid>48779</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-02-17 10:21:12 -0800</bug_when>
    <thetext>Comment on attachment 48779
support setChildrenTransform in GraphicsLayerQt, for -webkit-perspective

Rejecting patch 48779 from commit-queue.

Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;]&quot; exit_code: 1
Last 500 characters of output:
pository/webkit/trunk ...
	M	ChangeLog
	M	WebCore/ChangeLog
	M	WebCore/platform/graphics/qt/GraphicsLayerQt.cpp
	M	WebKit.pri
A repository hook failed: MERGE request failed on &apos;/repository/webkit/trunk&apos;: Commit blocked by pre-commit hook (exit code 1) with output:
svnlook: Can&apos;t write to stream: Broken pipe

    The following ChangeLog files contain OOPS:

        trunk/WebCore/ChangeLog

    Please don&apos;t ever say &quot;OOPS&quot; in a ChangeLog file.
 at /usr/local/git/libexec/git-core/git-svn line 558


Full output: http://webkit-commit-queue.appspot.com/results/276227</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191077</commentid>
    <comment_count>5</comment_count>
      <attachid>48907</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-02-17 10:26:38 -0800</bug_when>
    <thetext>Created attachment 48907
Oops, had an &quot;OOPS&quot; in my ChangeLog :)

This has already been reviewed, just need to rubber-stamp it :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191123</commentid>
    <comment_count>6</comment_count>
      <attachid>48907</attachid>
    <who name="Ariya Hidayat">ariya.hidayat</who>
    <bug_when>2010-02-17 11:48:25 -0800</bug_when>
    <thetext>Comment on attachment 48907
Oops, had an &quot;OOPS&quot; in my ChangeLog :)

r+, cq+ again to land the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191137</commentid>
    <comment_count>7</comment_count>
      <attachid>48907</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-02-17 12:08:13 -0800</bug_when>
    <thetext>Comment on attachment 48907
Oops, had an &quot;OOPS&quot; in my ChangeLog :)

Clearing flags on attachment: 48907

Committed r54906: &lt;http://trac.webkit.org/changeset/54906&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191138</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-02-17 12:08:18 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191495</commentid>
    <comment_count>9</comment_count>
    <who name="Ismail Donmez">ismail</who>
    <bug_when>2010-02-18 02:01:43 -0800</bug_when>
    <thetext>Addding these defines to WebKit.pri is not right, --minimal should disable such defines. These should be handled via build-webkit script somehow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191594</commentid>
    <comment_count>10</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-02-18 07:31:59 -0800</bug_when>
    <thetext>Hmm, you got a point. I&apos;m not a build-system expert but I&apos;ve created bug 35100 and will look into that.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48779</attachid>
            <date>2010-02-15 14:46:19 -0800</date>
            <delta_ts>2010-02-17 10:26:38 -0800</delta_ts>
            <desc>support setChildrenTransform in GraphicsLayerQt, for -webkit-perspective</desc>
            <filename>patch-34960-1.diff</filename>
            <type>text/plain</type>
            <size>9826</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDU0Nzk2
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTAtMDIt
MTUgIE5vYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gR3JhcGhpY3NMYXll
cjogc3VwcG9ydCBwZXJzcGVjdGl2ZSBhbmQgM0QgdHJhbnNmb3JtcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQ5NjAKKworICAgICAgICAqIFdlYktp
dC5wcmk6IGFkZGVkIGFwcHJvcHJpYXRlIGRlZmluZTogRU5BQkxFRF8zRF9SRU5ERVJJTkcKKwog
MjAxMC0wMi0xMiAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgSG9sZ2VyIEZyZXl0aGVyLgpJbmRleDogV2ViS2l0LnByaQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXQucHJpCShyZXZpc2lvbiA1NDcyOCkKKysrIFdlYktpdC5wcmkJ
KHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDcgQEAgYnVpbGRpbmctbGlicyB7CiAgICAgREVQ
RU5EUEFUSCArPSAkJFBXRC9XZWJLaXQvcXQvQXBpCiB9CiBncmVhdGVyVGhhbihRVF9NSU5PUl9W
RVJTSU9OLCA1KTpERUZJTkVTICs9IFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkcKK2dy
ZWF0ZXJUaGFuKFFUX01JTk9SX1ZFUlNJT04sIDUpOkRFRklORVMgKz0gRU5BQkxFXzNEX1JFTkRF
UklORz0xCiAKICFtYWM6IXVuaXh8c3ltYmlhbiB7CiAgICAgREVGSU5FUyArPSBVU0VfU1lTVEVN
X01BTExPQwpJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9D
aGFuZ2VMb2cJKHJldmlzaW9uIDU0Nzk2KQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0wMi0xNSAgTm9hbSBSb3NlbnRoYWwgIDxub2Ft
LnJvc2VudGhhbEBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgW1F0XSBHcmFwaGljc0xheWVyOiBzdXBwb3J0IHBlcnNwZWN0aXZlIGFu
ZCAzRCB0cmFuc2Zvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zNDk2MAorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzTGF5ZXJRdEltcGw6OnVwZGF0ZVRyYW5zZm9ybSk6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0xheWVyUXRJbXBsOjpzZXRCYXNlVHJhbnNmb3JtKToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJRdEltcGw6OmNvbXB1dGVUcmFuc2Zvcm0pOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllclF0SW1wbDo6Zmx1c2hDaGFuZ2VzKToKKyAgICAgICAg
KFdlYkNvcmU6OlRyYW5zZm9ybUFuaW1hdGlvblF0Ojp+VHJhbnNmb3JtQW5pbWF0aW9uUXQpOgor
CiAyMDEwLTAyLTE1ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBHZW9mZiBHYXJlbi4KSW5kZXg6IFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5jcHAJKHJldmlzaW9uIDU0NzI4
KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMzYsNyArMTM2LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCBwYWludChRUGFpbnRlciosIGNvbnN0IFFTdHlsZU9wdGlvbkdyYXBoaWNzSXRlbSosIFFXaWRn
ZXQqKTsKIAogICAgIC8vIHdlIG1hbmFnZSB0cmFuc2Zvcm1zIG91cnNlbHZlcyBiZWNhdXNlIHRy
YW5zZm9ybS1vcmlnaW4gYWN0cyBkaWZmZXJlbnRseSBpbiB3ZWJraXQgYW5kIGluIFF0Ci0gICAg
dm9pZCBzZXRCYXNlVHJhbnNmb3JtKGNvbnN0IFFUcmFuc2Zvcm0mKTsKKyAgICB2b2lkIHNldEJh
c2VUcmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmKTsKKyAgICBRVHJhbnNmb3Jt
IGNvbXB1dGVUcmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIGJhc2VUcmFuc2Zv
cm0pIGNvbnN0OworICAgIHZvaWQgdXBkYXRlVHJhbnNmb3JtKCk7CiAKICAgICAvLyBsZXQgdGhl
IGNvbXBvc2l0b3ItQVBJIHRlbGwgdXMgd2hpY2ggcHJvcGVydGllcyB3ZXJlIGNoYW5nZWQKICAg
ICB2b2lkIG5vdGlmeUNoYW5nZShDaGFuZ2VNYXNrKTsKQEAgLTE0NSw3ICsxNDcsNyBAQCBwdWJs
aWM6CiAgICAgLy8gdGhpcyBpcyBjYWxsZWQgaW5kaXJlY3RseSBmcm9tIENocm9tZUNsaWVudFF0
OjpzZXROZWVkc09uZVNob3REcmF3aW5nU3luY2hyb25pemF0aW9uCiAgICAgLy8gKG1lYW5pbmcg
dGhlIHN5bmMgd291bGQgaGFwcGVuIHRvZ2V0aGVyIHdpdGggdGhlIG5leHQgZHJhdykKICAgICAv
LyBvciBDaHJvbWVDbGllbnRRdDo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyU3luYyAobWVhbmlu
ZyB0aGUgc3luYyB3aWxsIGhhcHBlbiBBU0FQKQotICAgIHZvaWQgZmx1c2hDaGFuZ2VzKGJvb2wg
cmVjdXJzaXZlID0gdHJ1ZSk7CisgICAgdm9pZCBmbHVzaENoYW5nZXMoYm9vbCByZWN1cnNpdmUg
PSB0cnVlLCBib29sIGZvcmNlVHJhbnNmb3JtVXBkYXRlID0gZmFsc2UpOwogCiAgICAgLy8gb3B0
aW1pemF0aW9uOiB3aGVuIHdlIGhhdmUgYW4gYW5pbWF0aW9uIHJ1bm5pbmcgb24gYW4gZWxlbWVu
dCB3aXRoIG5vIGNvbnRlbnRzLCB0aGF0IGhhcyBjaGlsZC1lbGVtZW50cyB3aXRoIGNvbnRlbnRz
LAogICAgIC8vIEFMTCBvZiB0aGVtIGhhdmUgdG8gaGF2ZSBJdGVtQ29vcmRpbmF0ZUNhY2hlIGFu
ZCBub3QgRGV2aWNlQ29vcmRpbmF0ZUNhY2hlCkBAIC0xNjYsNyArMTY4LDcgQEAgc2lnbmFsczoK
IHB1YmxpYzoKICAgICBHcmFwaGljc0xheWVyUXQqIG1fbGF5ZXI7CiAKLSAgICBRVHJhbnNmb3Jt
IG1fYmFzZVRyYW5zZm9ybTsKKyAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBtX2Jhc2VUcmFuc2Zv
cm07CiAgICAgYm9vbCBtX3RyYW5zZm9ybUFuaW1hdGlvblJ1bm5pbmc7CiAgICAgYm9vbCBtX29w
YWNpdHlBbmltYXRpb25SdW5uaW5nOwogICAgIFFXZWFrUG9pbnRlcjxNYXNrRWZmZWN0UXQ+IG1f
bWFza0VmZmVjdDsKQEAgLTI4MCwxOCArMjgyLDU0IEBAIHZvaWQgR3JhcGhpY3NMYXllclF0SW1w
bDo6YWRqdXN0Q2FjaGluZ1IKICAgICB9ICAgIAogfQogCi12b2lkIEdyYXBoaWNzTGF5ZXJRdElt
cGw6OnNldEJhc2VUcmFuc2Zvcm0oY29uc3QgUVRyYW5zZm9ybSYgdHJhbnNmb3JtKQordm9pZCBH
cmFwaGljc0xheWVyUXRJbXBsOjp1cGRhdGVUcmFuc2Zvcm0oKQoreworICAgIHNldEJhc2VUcmFu
c2Zvcm0oaXNUcmFuc2Zvcm1BbmltYXRpb25SdW5uaW5nKCkgPyBtX2Jhc2VUcmFuc2Zvcm0gOiBt
X2xheWVyLT50cmFuc2Zvcm0oKSk7Cit9CisKK3ZvaWQgR3JhcGhpY3NMYXllclF0SW1wbDo6c2V0
QmFzZVRyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgYmFzZVRyYW5zZm9ybSkK
K3sKKyAgICBtX2Jhc2VUcmFuc2Zvcm0gPSBiYXNlVHJhbnNmb3JtOworICAgIHNldFRyYW5zZm9y
bShjb21wdXRlVHJhbnNmb3JtKGJhc2VUcmFuc2Zvcm0pKTsKK30KKworUVRyYW5zZm9ybSBHcmFw
aGljc0xheWVyUXRJbXBsOjpjb21wdXRlVHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0
cml4JiBiYXNlVHJhbnNmb3JtKSBjb25zdAogewogICAgIGlmICghbV9sYXllcikKLSAgICAgICAg
cmV0dXJuOworICAgICAgICByZXR1cm4gYmFzZVRyYW5zZm9ybTsKKworICAgIFRyYW5zZm9ybWF0
aW9uTWF0cml4IGNvbXB1dGVkVHJhbnNmb3JtOworCisgICAgLy8gVGhlIG9yaWdpbiBmb3IgY2hp
bGRyZW5UcmFuc2Zvcm0gaXMgYWx3YXlzIHRoZSBjZW50ZXIgb2YgdGhlIGFuY2VzdG9yIHdoaWNo
IGNvbnRhaW5zIHRoZSBjaGlsZHJlblRyYW5zZm9ybS4KKyAgICAvLyB0aGlzIGhhcyB0byBkbyB3
aXRoIGhvdyBXZWJDb3JlIGltcGxlbWVudHMgLXdlYmtpdC1wZXJzcGVjdGl2ZSBhbmQgLXdlYmtp
dC1wZXJzcGVjdGl2ZS1vcmlnaW4sIHdoaWNoIGFyZSB0aGUgQ1NTCisgICAgLy8gYXR0cmlidXRl
IHRoYXQgY2FsbCBzZXRDaGlsZHJlblRyYW5zZm9ybQorICAgIFFQb2ludEYgb2Zmc2V0ID0gLXBv
cygpIC0gYm91bmRpbmdSZWN0KCkuYm90dG9tUmlnaHQoKSAvIDI7CisgICAgY29uc3QgR3JhcGhp
Y3NMYXllclF0SW1wbCogYW5jZXN0b3IgPSB0aGlzOworICAgIHdoaWxlICgoYW5jZXN0b3IgPSBx
b2JqZWN0X2Nhc3Q8R3JhcGhpY3NMYXllclF0SW1wbCo+KGFuY2VzdG9yLT5wYXJlbnRPYmplY3Qo
KSkpKSB7CisgICAgICAgIGlmICghYW5jZXN0b3ItPm1fc3RhdGUuY2hpbGRyZW5UcmFuc2Zvcm0u
aXNJZGVudGl0eSgpKSB7CisgICAgICAgICAgICBvZmZzZXQgKz0gYW5jZXN0b3ItPmJvdW5kaW5n
UmVjdCgpLmJvdHRvbVJpZ2h0KCkgLyAyOworICAgICAgICAgICAgY29tcHV0ZWRUcmFuc2Zvcm0K
KyAgICAgICAgICAgICAgICAudHJhbnNsYXRlKG9mZnNldC54KCksIG9mZnNldC55KCkpCisgICAg
ICAgICAgICAgICAgLm11bHRMZWZ0KGFuY2VzdG9yLT5tX3N0YXRlLmNoaWxkcmVuVHJhbnNmb3Jt
KQorICAgICAgICAgICAgICAgIC50cmFuc2xhdGUoLW9mZnNldC54KCksIC1vZmZzZXQueSgpKTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIG9mZnNldCAtPSBhbmNlc3Rv
ci0+cG9zKCk7CisgICAgfQorCisgICAgY29tcHV0ZWRUcmFuc2Zvcm0ubXVsdExlZnQoYmFzZVRy
YW5zZm9ybSk7CisKICAgICAvLyB3ZWJraXQgaGFzIHJlbGF0aXZlLXRvLXNpemUgb3JpZ2luUG9p
bnQsIGdyYXBoaWNzLXZpZXcgaGFzIGEgcGl4ZWwgb3JpZ2luUG9pbnQsIGhlcmUgd2UgY29udmVy
dAogICAgIC8vIHdlIGhhdmUgdG8gbWFuYWdlIHRoaXMgb3Vyc2VsdmVzIGJlY2F1c2UgUUdyYXBo
aWNzVmlldydzIHRyYW5zZm9ybU9yaWdpbiBpcyBpbmNvbXBhdGlibGUKLSAgICBjb25zdCBxcmVh
bCB4ID0gbV9sYXllci0+YW5jaG9yUG9pbnQoKS54KCkgKiBtX2xheWVyLT5zaXplKCkud2lkdGgo
KTsKLSAgICBjb25zdCBxcmVhbCB5ID0gbV9sYXllci0+YW5jaG9yUG9pbnQoKS55KCkgKiBtX2xh
eWVyLT5zaXplKCkuaGVpZ2h0KCk7Ci0gICAgc2V0VHJhbnNmb3JtKFFUcmFuc2Zvcm06OmZyb21U
cmFuc2xhdGUoeCwgeSkpOwotICAgIHNldFRyYW5zZm9ybSh0cmFuc2Zvcm0sIHRydWUpOwotICAg
IHRyYW5zbGF0ZSgteCwgLXkpOwotICAgIG1fYmFzZVRyYW5zZm9ybSA9IHRyYW5zZm9ybTsKKyAg
ICBjb25zdCBxcmVhbCBvcmlnaW5YID0gbV9zdGF0ZS5hbmNob3JQb2ludC54KCkgKiBtX3NpemUu
d2lkdGgoKTsKKyAgICBjb25zdCBxcmVhbCBvcmlnaW5ZID0gbV9zdGF0ZS5hbmNob3JQb2ludC55
KCkgKiBtX3NpemUuaGVpZ2h0KCk7CisgICAgY29tcHV0ZWRUcmFuc2Zvcm0gPSBUcmFuc2Zvcm1h
dGlvbk1hdHJpeCgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRyYW5zbGF0ZShvcmln
aW5YLCBvcmlnaW5ZKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tdWx0aXBseShjb21w
dXRlZFRyYW5zZm9ybSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAudHJhbnNsYXRlKC1v
cmlnaW5YLCAtb3JpZ2luWSk7CisKKyAgICAvLyBub3cgd2UgcHJvamVjdCB0byAyRAorICAgIHJl
dHVybiBRVHJhbnNmb3JtKGNvbXB1dGVkVHJhbnNmb3JtKTsKIH0KIAogYm9vbCBHcmFwaGljc0xh
eWVyUXRJbXBsOjppc1RyYW5zZm9ybUFuaW1hdGlvblJ1bm5pbmcoKSBjb25zdApAQCAtMzU3LDcg
KzM5NSw3IEBAIHZvaWQgR3JhcGhpY3NMYXllclF0SW1wbDo6bm90aWZ5Q2hhbmdlKEMKICAgICAg
ICAgbV9sYXllci0+Y2xpZW50KCktPm5vdGlmeVN5bmNSZXF1aXJlZChtX2xheWVyKTsKIH0KIAot
dm9pZCBHcmFwaGljc0xheWVyUXRJbXBsOjpmbHVzaENoYW5nZXMoYm9vbCByZWN1cnNpdmUpCit2
b2lkIEdyYXBoaWNzTGF5ZXJRdEltcGw6OmZsdXNoQ2hhbmdlcyhib29sIHJlY3Vyc2l2ZSwgYm9v
bCBmb3JjZVVwZGF0ZVRyYW5zZm9ybSkKIHsKICAgICAvLyB0aGlzIGlzIHRoZSBidWxrIG9mIHRo
ZSB3b3JrLiB1bmRlcnN0YW5kaW5nIHdoYXQgdGhlIGNvbXBvc2l0b3IgaXMgdHJ5aW5nIHRvIGFj
aGlldmUsCiAgICAgLy8gd2hhdCBncmFwaGljcy12aWV3IGNhbiBkbywgYW5kIHRyeWluZyB0byBm
aW5kIGEgc2FuZSBjb21tb24tZ3JvdW5kcwpAQCAtNDI1LDEyICs0NjMsMTUgQEAgdm9pZCBHcmFw
aGljc0xheWVyUXRJbXBsOjpmbHVzaENoYW5nZXMoYgogICAgICAgICB9CiAgICAgfQogCi0gICAg
aWYgKG1fY2hhbmdlTWFzayAmIChUcmFuc2Zvcm1DaGFuZ2UgfCBBbmNob3JQb2ludENoYW5nZSB8
IFNpemVDaGFuZ2UpKSB7Ci0gICAgICAgIC8vIHNpbmNlIHdlIGNvbnZlcnQgYSBwZXJjZW50YWdl
LWJhc2VkIG9yaWdpbi1wb2ludCB0byBhIHBpeGVsLWJhc2VkIG9uZSwKLSAgICAgICAgLy8gdGhl
IGFuY2hvci1wb2ludCwgdHJhbnNmb3JtIGFuZCBzaXplIGZyb20gV2ViQ29yZSBhbGwgYWZmZWN0
IHRoZSBvbmUKLSAgICAgICAgLy8gdGhhdCB3ZSBnaXZlIFF0Ci0gICAgICAgIGlmIChtX3N0YXRl
LnRyYW5zZm9ybSAhPSBtX2xheWVyLT50cmFuc2Zvcm0oKSB8fCBtX3N0YXRlLmFuY2hvclBvaW50
ICE9IG1fbGF5ZXItPmFuY2hvclBvaW50KCkgfHwgbV9zdGF0ZS5zaXplICE9IG1fbGF5ZXItPnNp
emUoKSkKLSAgICAgICAgICAgIHNldEJhc2VUcmFuc2Zvcm0obV9sYXllci0+dHJhbnNmb3JtKCkp
OworICAgIC8vIEZJWE1FOiB0aGlzIGlzIGEgaGFjaywgZHVlIHRvIGEgcHJvYmFibGUgUUdyYXBo
aWNzU2NlbmUgYnVnIHdoZW4gcmFwaWRseSBtb2RpZnlpbmcgdGhlIHBlcnNwZWN0aXZlCisgICAg
Ly8gYnV0IHdpdGhvdXQgdGhpcyBsaW5lIHdlIGdldCBncmFwaGljIGFydGlmYWN0cworICAgIGlm
ICgobV9jaGFuZ2VNYXNrICYgQ2hpbGRyZW5UcmFuc2Zvcm1DaGFuZ2UpICYmIG1fc3RhdGUuY2hp
bGRyZW5UcmFuc2Zvcm0gIT0gbV9sYXllci0+Y2hpbGRyZW5UcmFuc2Zvcm0oKSkKKyAgICAgICAg
c2NlbmUoKS0+dXBkYXRlKCk7CisKKyAgICBpZiAobV9jaGFuZ2VNYXNrICYgKENoaWxkcmVuVHJh
bnNmb3JtQ2hhbmdlIHwgUHJlc2VydmVzM0RDaGFuZ2UgfCBUcmFuc2Zvcm1DaGFuZ2UgfCBBbmNo
b3JQb2ludENoYW5nZSB8IFNpemVDaGFuZ2UpKSB7CisgICAgICAgIC8vIGR1ZSB0byB0aGUgZGlm
ZmVyZW5jZXMgYmV0d2VlbiB0aGUgd2F5IFdlYkNvcmUgaGFuZGxlcyB0cmFuc2Zvcm1zIGFuZCB0
aGUgd2F5IFF0IGhhbmRsZXMgdHJhbnNmb3JtcywKKyAgICAgICAgLy8gYWxsIHRoZXNlIGVsZW1l
bnRzIGFmZmVjdCB0aGUgdHJhbnNmb3JtcyBvZiBhbGwgdGhlIGRlc2NlbmRhbnRzLgorICAgICAg
ICBmb3JjZVVwZGF0ZVRyYW5zZm9ybSA9IHRydWU7CiAgICAgfQogCiAgICAgaWYgKG1fY2hhbmdl
TWFzayAmIChDb250ZW50Q2hhbmdlIHwgRHJhd3NDb250ZW50Q2hhbmdlIHwgTWFza0xheWVyQ2hh
bmdlKSkgewpAQCAtNDM5LDggKzQ4MCw2IEBAIHZvaWQgR3JhcGhpY3NMYXllclF0SW1wbDo6Zmx1
c2hDaGFuZ2VzKGIKICAgICAgICAgICAgIHVwZGF0ZSgpOwogICAgICAgICAgICAgc2V0RmxhZyhJ
dGVtSGFzTm9Db250ZW50cywgZmFsc2UpOwogCi0gICAgICAgICAgICAvLyB3ZSBvbmx5IHVzZSBJ
dGVtVXNlc0V4dGVuZGVkU3R5bGVPcHRpb24gZm9yIEhUTUwgY29udGVudCAtIHBpeG1hcCBjYW4g
YmUgaGFuZGxlZCBiZXR0ZXIgd2l0aCByZWd1bGFyIGNsaXBwaW5nCi0gICAgICAgICAgICBzZXRG
bGFnKFFHcmFwaGljc0l0ZW06Okl0ZW1Vc2VzRXh0ZW5kZWRTdHlsZU9wdGlvbiwgZmFsc2UpOwog
ICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBDb2xvckNvbnRlbnRUeXBlOgpAQCAt
NTI0LDYgKzU2Myw3IEBAIHZvaWQgR3JhcGhpY3NMYXllclF0SW1wbDo6Zmx1c2hDaGFuZ2VzKGIK
ICAgICBtX3N0YXRlLmRyYXdzQ29udGVudCA9IG1fbGF5ZXItPmRyYXdzQ29udGVudCgpOwogICAg
IG1fc3RhdGUuY29udGVudHNPcGFxdWUgPSBtX2xheWVyLT5jb250ZW50c09wYXF1ZSgpOwogICAg
IG1fc3RhdGUuYmFja2ZhY2VWaXNpYmlsaXR5ID0gbV9sYXllci0+YmFja2ZhY2VWaXNpYmlsaXR5
KCk7CisgICAgbV9zdGF0ZS5jaGlsZHJlblRyYW5zZm9ybSA9IG1fbGF5ZXItPmNoaWxkcmVuVHJh
bnNmb3JtKCk7CiAgICAgbV9jdXJyZW50Q29udGVudC5waXhtYXAgPSBtX3BlbmRpbmdDb250ZW50
LnBpeG1hcDsKICAgICBtX2N1cnJlbnRDb250ZW50LmNvbnRlbnRUeXBlID0gbV9wZW5kaW5nQ29u
dGVudC5jb250ZW50VHlwZTsKICAgICBtX2N1cnJlbnRDb250ZW50LmJhY2tncm91bmRDb2xvciA9
IG1fcGVuZGluZ0NvbnRlbnQuYmFja2dyb3VuZENvbG9yOwpAQCAtNTM0LDYgKzU3NCw5IEBAIHZv
aWQgR3JhcGhpY3NMYXllclF0SW1wbDo6Zmx1c2hDaGFuZ2VzKGIKIAogCiBhZnRlckxheWVyQ2hh
bmdlczoKKyAgICBpZiAoZm9yY2VVcGRhdGVUcmFuc2Zvcm0pCisgICAgICAgIHVwZGF0ZVRyYW5z
Zm9ybSgpOworCiAgICAgaWYgKCFyZWN1cnNpdmUpCiAgICAgICAgIHJldHVybjsgICAgCiAKQEAg
LTU0NCw3ICs1ODcsNyBAQCBhZnRlckxheWVyQ2hhbmdlczoKICAgICBmb3IgKFFMaXN0PFFHcmFw
aGljc0l0ZW0qPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBjaGlsZHJlbi5iZWdpbigpOyBpdCAhPSBj
aGlsZHJlbi5lbmQoKTsgKytpdCkgewogICAgICAgICBpZiAoUUdyYXBoaWNzSXRlbSogaXRlbSA9
ICppdCkKICAgICAgICAgICAgIGlmIChHcmFwaGljc0xheWVyUXRJbXBsKiBsYXllciA9IHFvYmpl
Y3RfY2FzdDxHcmFwaGljc0xheWVyUXRJbXBsKj4oaXRlbS0+dG9HcmFwaGljc09iamVjdCgpKSkK
LSAgICAgICAgICAgICAgICBsYXllci0+Zmx1c2hDaGFuZ2VzKHRydWUpOworICAgICAgICAgICAg
ICAgIGxheWVyLT5mbHVzaENoYW5nZXModHJ1ZSwgZm9yY2VVcGRhdGVUcmFuc2Zvcm0pOwogICAg
IH0KIH0KIApAQCAtMTAxMyw3ICsxMDU2LDcgQEAgcHVibGljOgogICAgICAgICAvLyB0aGlzIGNh
bWUgdXAgZHVyaW5nIHRoZSBjb21wb3NpdGluZy9hbmltYXRpb24gTGF5b3V0VGVzdHMKICAgICAg
ICAgLy8gd2hlbiB0aGUgYW5pbWF0aW9uIGRpZXMsIHRoZSB0cmFuc2Zvcm0gaGFzIHRvIGdvIGJh
Y2sgdG8gZGVmYXVsdAogICAgICAgICBpZiAobV9sYXllcikKLSAgICAgICAgICAgIG1fbGF5ZXIu
ZGF0YSgpLT5zZXRCYXNlVHJhbnNmb3JtKG1fbGF5ZXIuZGF0YSgpLT5tX2xheWVyLT50cmFuc2Zv
cm0oKSk7CisgICAgICAgICAgICBtX2xheWVyLmRhdGEoKS0+dXBkYXRlVHJhbnNmb3JtKCk7CiAg
ICAgfQogCiAgICAgLy8gdGhlIGlkZWEgaXMgdGhhdCB3ZSBsZXQgV2ViQ29yZSBtYW5hZ2UgdGhl
IHRyYW5zZm9ybS1vcGVyYXRpb25zCg==
</data>
<flag name="review"
          id="31505"
          type_id="1"
          status="+"
          setter="ariya.hidayat"
    />
    <flag name="commit-queue"
          id="31588"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48907</attachid>
            <date>2010-02-17 10:26:38 -0800</date>
            <delta_ts>2010-02-17 12:08:13 -0800</delta_ts>
            <desc>Oops, had an &quot;OOPS&quot; in my ChangeLog :)</desc>
            <filename>patch-34960-4.diff</filename>
            <type>text/plain</type>
            <size>10109</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIENoYW5nZUxvZwkocmV2aXNpb24gNTQ3
OTYpDQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpDQpAQCAtMSwzICsxLDEyIEBADQorMjAx
MC0wMi0xNSAgTm9hbSBSb3NlbnRoYWwgIDxub2FtLnJvc2VudGhhbEBub2tpYS5jb20+DQorDQor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4NCisNCisgICAgICAgIFtRdF0gR3Jh
cGhpY3NMYXllcjogc3VwcG9ydCBwZXJzcGVjdGl2ZSBhbmQgM0QgdHJhbnNmb3Jtcw0KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM0OTYwDQorDQorICAg
ICAgICAqIFdlYktpdC5wcmk6IGFkZGVkIGFwcHJvcHJpYXRlIGRlZmluZTogRU5BQkxFRF8zRF9S
RU5ERVJJTkcNCisNCiAyMDEwLTAyLTEyICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5u
QG5va2lhLmNvbT4NCiANCiAgICAgICAgIFJldmlld2VkIGJ5IEhvbGdlciBGcmV5dGhlci4NCklu
ZGV4OiBXZWJLaXQucHJpDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0LnByaQkocmV2aXNpb24gNTQ3
MjgpDQorKysgV2ViS2l0LnByaQkod29ya2luZyBjb3B5KQ0KQEAgLTUwLDYgKzUwLDcgQEAgYnVp
bGRpbmctbGlicyB7DQogICAgIERFUEVORFBBVEggKz0gJCRQV0QvV2ViS2l0L3F0L0FwaQ0KIH0N
CiBncmVhdGVyVGhhbihRVF9NSU5PUl9WRVJTSU9OLCA1KTpERUZJTkVTICs9IFdURl9VU0VfQUND
RUxFUkFURURfQ09NUE9TSVRJTkcNCitncmVhdGVyVGhhbihRVF9NSU5PUl9WRVJTSU9OLCA1KTpE
RUZJTkVTICs9IEVOQUJMRV8zRF9SRU5ERVJJTkc9MQ0KIA0KICFtYWM6IXVuaXh8c3ltYmlhbiB7
DQogICAgIERFRklORVMgKz0gVVNFX1NZU1RFTV9NQUxMT0MNCkluZGV4OiBXZWJDb3JlL0NoYW5n
ZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQ0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiA1NDc5NikN
CisrKyBXZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQ0KQEAgLTEsMyArMSwxOSBAQA0K
KzIwMTAtMDItMTUgIE5vYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29tPg0K
Kw0KKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuDQorDQorICAgICAgICBbUXRd
IEdyYXBoaWNzTGF5ZXI6IHN1cHBvcnQgcGVyc3BlY3RpdmUgYW5kIDNEIHRyYW5zZm9ybXMNCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDk2MA0KKw0K
KyAgICAgICAgTmV3IHRlc3RzOiBodHRwOi8vd2Via2l0Lm9yZy9ibG9nLWZpbGVzLzNkLXRyYW5z
Zm9ybXMvcGVyc3BlY3RpdmUtYnktZXhhbXBsZS5odG1sDQorDQorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5jcHA6DQorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NMYXllclF0SW1wbDo6dXBkYXRlVHJhbnNmb3JtKToNCisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0xheWVyUXRJbXBsOjpzZXRCYXNlVHJhbnNmb3JtKToNCisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0xheWVyUXRJbXBsOjpjb21wdXRlVHJhbnNmb3JtKToNCisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0xheWVyUXRJbXBsOjpmbHVzaENoYW5nZXMpOg0KKyAgICAgICAgKFdlYkNv
cmU6OlRyYW5zZm9ybUFuaW1hdGlvblF0Ojp+VHJhbnNmb3JtQW5pbWF0aW9uUXQpOg0KKw0KIDIw
MTAtMDItMTUgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPg0KIA0K
ICAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmYgR2FyZW4uDQpJbmRleDogV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuY3BwDQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuY3BwCShyZXZpc2lvbiA1NDcy
OCkNCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5jcHAJ
KHdvcmtpbmcgY29weSkNCkBAIC0xMzYsNyArMTM2LDkgQEAgcHVibGljOg0KICAgICB2aXJ0dWFs
IHZvaWQgcGFpbnQoUVBhaW50ZXIqLCBjb25zdCBRU3R5bGVPcHRpb25HcmFwaGljc0l0ZW0qLCBR
V2lkZ2V0Kik7DQogDQogICAgIC8vIHdlIG1hbmFnZSB0cmFuc2Zvcm1zIG91cnNlbHZlcyBiZWNh
dXNlIHRyYW5zZm9ybS1vcmlnaW4gYWN0cyBkaWZmZXJlbnRseSBpbiB3ZWJraXQgYW5kIGluIFF0
DQotICAgIHZvaWQgc2V0QmFzZVRyYW5zZm9ybShjb25zdCBRVHJhbnNmb3JtJik7DQorICAgIHZv
aWQgc2V0QmFzZVRyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpOw0KKyAgICBR
VHJhbnNmb3JtIGNvbXB1dGVUcmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIGJh
c2VUcmFuc2Zvcm0pIGNvbnN0Ow0KKyAgICB2b2lkIHVwZGF0ZVRyYW5zZm9ybSgpOw0KIA0KICAg
ICAvLyBsZXQgdGhlIGNvbXBvc2l0b3ItQVBJIHRlbGwgdXMgd2hpY2ggcHJvcGVydGllcyB3ZXJl
IGNoYW5nZWQNCiAgICAgdm9pZCBub3RpZnlDaGFuZ2UoQ2hhbmdlTWFzayk7DQpAQCAtMTQ1LDcg
KzE0Nyw3IEBAIHB1YmxpYzoNCiAgICAgLy8gdGhpcyBpcyBjYWxsZWQgaW5kaXJlY3RseSBmcm9t
IENocm9tZUNsaWVudFF0OjpzZXROZWVkc09uZVNob3REcmF3aW5nU3luY2hyb25pemF0aW9uDQog
ICAgIC8vIChtZWFuaW5nIHRoZSBzeW5jIHdvdWxkIGhhcHBlbiB0b2dldGhlciB3aXRoIHRoZSBu
ZXh0IGRyYXcpDQogICAgIC8vIG9yIENocm9tZUNsaWVudFF0OjpzY2hlZHVsZUNvbXBvc2l0aW5n
TGF5ZXJTeW5jIChtZWFuaW5nIHRoZSBzeW5jIHdpbGwgaGFwcGVuIEFTQVApDQotICAgIHZvaWQg
Zmx1c2hDaGFuZ2VzKGJvb2wgcmVjdXJzaXZlID0gdHJ1ZSk7DQorICAgIHZvaWQgZmx1c2hDaGFu
Z2VzKGJvb2wgcmVjdXJzaXZlID0gdHJ1ZSwgYm9vbCBmb3JjZVRyYW5zZm9ybVVwZGF0ZSA9IGZh
bHNlKTsNCiANCiAgICAgLy8gb3B0aW1pemF0aW9uOiB3aGVuIHdlIGhhdmUgYW4gYW5pbWF0aW9u
IHJ1bm5pbmcgb24gYW4gZWxlbWVudCB3aXRoIG5vIGNvbnRlbnRzLCB0aGF0IGhhcyBjaGlsZC1l
bGVtZW50cyB3aXRoIGNvbnRlbnRzLA0KICAgICAvLyBBTEwgb2YgdGhlbSBoYXZlIHRvIGhhdmUg
SXRlbUNvb3JkaW5hdGVDYWNoZSBhbmQgbm90IERldmljZUNvb3JkaW5hdGVDYWNoZQ0KQEAgLTE2
Niw3ICsxNjgsNyBAQCBzaWduYWxzOg0KIHB1YmxpYzoNCiAgICAgR3JhcGhpY3NMYXllclF0KiBt
X2xheWVyOw0KIA0KLSAgICBRVHJhbnNmb3JtIG1fYmFzZVRyYW5zZm9ybTsNCisgICAgVHJhbnNm
b3JtYXRpb25NYXRyaXggbV9iYXNlVHJhbnNmb3JtOw0KICAgICBib29sIG1fdHJhbnNmb3JtQW5p
bWF0aW9uUnVubmluZzsNCiAgICAgYm9vbCBtX29wYWNpdHlBbmltYXRpb25SdW5uaW5nOw0KICAg
ICBRV2Vha1BvaW50ZXI8TWFza0VmZmVjdFF0PiBtX21hc2tFZmZlY3Q7DQpAQCAtMjgwLDE4ICsy
ODIsNTQgQEAgdm9pZCBHcmFwaGljc0xheWVyUXRJbXBsOjphZGp1c3RDYWNoaW5nUg0KICAgICB9
ICAgIA0KIH0NCiANCi12b2lkIEdyYXBoaWNzTGF5ZXJRdEltcGw6OnNldEJhc2VUcmFuc2Zvcm0o
Y29uc3QgUVRyYW5zZm9ybSYgdHJhbnNmb3JtKQ0KK3ZvaWQgR3JhcGhpY3NMYXllclF0SW1wbDo6
dXBkYXRlVHJhbnNmb3JtKCkNCit7DQorICAgIHNldEJhc2VUcmFuc2Zvcm0oaXNUcmFuc2Zvcm1B
bmltYXRpb25SdW5uaW5nKCkgPyBtX2Jhc2VUcmFuc2Zvcm0gOiBtX2xheWVyLT50cmFuc2Zvcm0o
KSk7DQorfQ0KKw0KK3ZvaWQgR3JhcGhpY3NMYXllclF0SW1wbDo6c2V0QmFzZVRyYW5zZm9ybShj
b25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgYmFzZVRyYW5zZm9ybSkNCit7DQorICAgIG1fYmFz
ZVRyYW5zZm9ybSA9IGJhc2VUcmFuc2Zvcm07DQorICAgIHNldFRyYW5zZm9ybShjb21wdXRlVHJh
bnNmb3JtKGJhc2VUcmFuc2Zvcm0pKTsNCit9DQorDQorUVRyYW5zZm9ybSBHcmFwaGljc0xheWVy
UXRJbXBsOjpjb21wdXRlVHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBiYXNl
VHJhbnNmb3JtKSBjb25zdA0KIHsNCiAgICAgaWYgKCFtX2xheWVyKQ0KLSAgICAgICAgcmV0dXJu
Ow0KKyAgICAgICAgcmV0dXJuIGJhc2VUcmFuc2Zvcm07DQorDQorICAgIFRyYW5zZm9ybWF0aW9u
TWF0cml4IGNvbXB1dGVkVHJhbnNmb3JtOw0KKw0KKyAgICAvLyBUaGUgb3JpZ2luIGZvciBjaGls
ZHJlblRyYW5zZm9ybSBpcyBhbHdheXMgdGhlIGNlbnRlciBvZiB0aGUgYW5jZXN0b3Igd2hpY2gg
Y29udGFpbnMgdGhlIGNoaWxkcmVuVHJhbnNmb3JtLg0KKyAgICAvLyB0aGlzIGhhcyB0byBkbyB3
aXRoIGhvdyBXZWJDb3JlIGltcGxlbWVudHMgLXdlYmtpdC1wZXJzcGVjdGl2ZSBhbmQgLXdlYmtp
dC1wZXJzcGVjdGl2ZS1vcmlnaW4sIHdoaWNoIGFyZSB0aGUgQ1NTDQorICAgIC8vIGF0dHJpYnV0
ZSB0aGF0IGNhbGwgc2V0Q2hpbGRyZW5UcmFuc2Zvcm0NCisgICAgUVBvaW50RiBvZmZzZXQgPSAt
cG9zKCkgLSBib3VuZGluZ1JlY3QoKS5ib3R0b21SaWdodCgpIC8gMjsNCisgICAgY29uc3QgR3Jh
cGhpY3NMYXllclF0SW1wbCogYW5jZXN0b3IgPSB0aGlzOw0KKyAgICB3aGlsZSAoKGFuY2VzdG9y
ID0gcW9iamVjdF9jYXN0PEdyYXBoaWNzTGF5ZXJRdEltcGwqPihhbmNlc3Rvci0+cGFyZW50T2Jq
ZWN0KCkpKSkgew0KKyAgICAgICAgaWYgKCFhbmNlc3Rvci0+bV9zdGF0ZS5jaGlsZHJlblRyYW5z
Zm9ybS5pc0lkZW50aXR5KCkpIHsNCisgICAgICAgICAgICBvZmZzZXQgKz0gYW5jZXN0b3ItPmJv
dW5kaW5nUmVjdCgpLmJvdHRvbVJpZ2h0KCkgLyAyOw0KKyAgICAgICAgICAgIGNvbXB1dGVkVHJh
bnNmb3JtDQorICAgICAgICAgICAgICAgIC50cmFuc2xhdGUob2Zmc2V0LngoKSwgb2Zmc2V0Lnko
KSkNCisgICAgICAgICAgICAgICAgLm11bHRMZWZ0KGFuY2VzdG9yLT5tX3N0YXRlLmNoaWxkcmVu
VHJhbnNmb3JtKQ0KKyAgICAgICAgICAgICAgICAudHJhbnNsYXRlKC1vZmZzZXQueCgpLCAtb2Zm
c2V0LnkoKSk7DQorICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICB9DQorICAgICAgICBvZmZz
ZXQgLT0gYW5jZXN0b3ItPnBvcygpOw0KKyAgICB9DQorDQorICAgIGNvbXB1dGVkVHJhbnNmb3Jt
Lm11bHRMZWZ0KGJhc2VUcmFuc2Zvcm0pOw0KKw0KICAgICAvLyB3ZWJraXQgaGFzIHJlbGF0aXZl
LXRvLXNpemUgb3JpZ2luUG9pbnQsIGdyYXBoaWNzLXZpZXcgaGFzIGEgcGl4ZWwgb3JpZ2luUG9p
bnQsIGhlcmUgd2UgY29udmVydA0KICAgICAvLyB3ZSBoYXZlIHRvIG1hbmFnZSB0aGlzIG91cnNl
bHZlcyBiZWNhdXNlIFFHcmFwaGljc1ZpZXcncyB0cmFuc2Zvcm1PcmlnaW4gaXMgaW5jb21wYXRp
YmxlDQotICAgIGNvbnN0IHFyZWFsIHggPSBtX2xheWVyLT5hbmNob3JQb2ludCgpLngoKSAqIG1f
bGF5ZXItPnNpemUoKS53aWR0aCgpOw0KLSAgICBjb25zdCBxcmVhbCB5ID0gbV9sYXllci0+YW5j
aG9yUG9pbnQoKS55KCkgKiBtX2xheWVyLT5zaXplKCkuaGVpZ2h0KCk7DQotICAgIHNldFRyYW5z
Zm9ybShRVHJhbnNmb3JtOjpmcm9tVHJhbnNsYXRlKHgsIHkpKTsNCi0gICAgc2V0VHJhbnNmb3Jt
KHRyYW5zZm9ybSwgdHJ1ZSk7DQotICAgIHRyYW5zbGF0ZSgteCwgLXkpOw0KLSAgICBtX2Jhc2VU
cmFuc2Zvcm0gPSB0cmFuc2Zvcm07DQorICAgIGNvbnN0IHFyZWFsIG9yaWdpblggPSBtX3N0YXRl
LmFuY2hvclBvaW50LngoKSAqIG1fc2l6ZS53aWR0aCgpOw0KKyAgICBjb25zdCBxcmVhbCBvcmln
aW5ZID0gbV9zdGF0ZS5hbmNob3JQb2ludC55KCkgKiBtX3NpemUuaGVpZ2h0KCk7DQorICAgIGNv
bXB1dGVkVHJhbnNmb3JtID0gVHJhbnNmb3JtYXRpb25NYXRyaXgoKQ0KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAudHJhbnNsYXRlKG9yaWdpblgsIG9yaWdpblkpDQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC5tdWx0aXBseShjb21wdXRlZFRyYW5zZm9ybSkNCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLnRyYW5zbGF0ZSgtb3JpZ2luWCwgLW9yaWdpblkpOw0KKw0KKyAg
ICAvLyBub3cgd2UgcHJvamVjdCB0byAyRA0KKyAgICByZXR1cm4gUVRyYW5zZm9ybShjb21wdXRl
ZFRyYW5zZm9ybSk7DQogfQ0KIA0KIGJvb2wgR3JhcGhpY3NMYXllclF0SW1wbDo6aXNUcmFuc2Zv
cm1BbmltYXRpb25SdW5uaW5nKCkgY29uc3QNCkBAIC0zNTcsNyArMzk1LDcgQEAgdm9pZCBHcmFw
aGljc0xheWVyUXRJbXBsOjpub3RpZnlDaGFuZ2UoQw0KICAgICAgICAgbV9sYXllci0+Y2xpZW50
KCktPm5vdGlmeVN5bmNSZXF1aXJlZChtX2xheWVyKTsNCiB9DQogDQotdm9pZCBHcmFwaGljc0xh
eWVyUXRJbXBsOjpmbHVzaENoYW5nZXMoYm9vbCByZWN1cnNpdmUpDQordm9pZCBHcmFwaGljc0xh
eWVyUXRJbXBsOjpmbHVzaENoYW5nZXMoYm9vbCByZWN1cnNpdmUsIGJvb2wgZm9yY2VVcGRhdGVU
cmFuc2Zvcm0pDQogew0KICAgICAvLyB0aGlzIGlzIHRoZSBidWxrIG9mIHRoZSB3b3JrLiB1bmRl
cnN0YW5kaW5nIHdoYXQgdGhlIGNvbXBvc2l0b3IgaXMgdHJ5aW5nIHRvIGFjaGlldmUsDQogICAg
IC8vIHdoYXQgZ3JhcGhpY3MtdmlldyBjYW4gZG8sIGFuZCB0cnlpbmcgdG8gZmluZCBhIHNhbmUg
Y29tbW9uLWdyb3VuZHMNCkBAIC00MjUsMTIgKzQ2MywxNSBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJR
dEltcGw6OmZsdXNoQ2hhbmdlcyhiDQogICAgICAgICB9DQogICAgIH0NCiANCi0gICAgaWYgKG1f
Y2hhbmdlTWFzayAmIChUcmFuc2Zvcm1DaGFuZ2UgfCBBbmNob3JQb2ludENoYW5nZSB8IFNpemVD
aGFuZ2UpKSB7DQotICAgICAgICAvLyBzaW5jZSB3ZSBjb252ZXJ0IGEgcGVyY2VudGFnZS1iYXNl
ZCBvcmlnaW4tcG9pbnQgdG8gYSBwaXhlbC1iYXNlZCBvbmUsDQotICAgICAgICAvLyB0aGUgYW5j
aG9yLXBvaW50LCB0cmFuc2Zvcm0gYW5kIHNpemUgZnJvbSBXZWJDb3JlIGFsbCBhZmZlY3QgdGhl
IG9uZQ0KLSAgICAgICAgLy8gdGhhdCB3ZSBnaXZlIFF0DQotICAgICAgICBpZiAobV9zdGF0ZS50
cmFuc2Zvcm0gIT0gbV9sYXllci0+dHJhbnNmb3JtKCkgfHwgbV9zdGF0ZS5hbmNob3JQb2ludCAh
PSBtX2xheWVyLT5hbmNob3JQb2ludCgpIHx8IG1fc3RhdGUuc2l6ZSAhPSBtX2xheWVyLT5zaXpl
KCkpDQotICAgICAgICAgICAgc2V0QmFzZVRyYW5zZm9ybShtX2xheWVyLT50cmFuc2Zvcm0oKSk7
DQorICAgIC8vIEZJWE1FOiB0aGlzIGlzIGEgaGFjaywgZHVlIHRvIGEgcHJvYmFibGUgUUdyYXBo
aWNzU2NlbmUgYnVnIHdoZW4gcmFwaWRseSBtb2RpZnlpbmcgdGhlIHBlcnNwZWN0aXZlDQorICAg
IC8vIGJ1dCB3aXRob3V0IHRoaXMgbGluZSB3ZSBnZXQgZ3JhcGhpYyBhcnRpZmFjdHMNCisgICAg
aWYgKChtX2NoYW5nZU1hc2sgJiBDaGlsZHJlblRyYW5zZm9ybUNoYW5nZSkgJiYgbV9zdGF0ZS5j
aGlsZHJlblRyYW5zZm9ybSAhPSBtX2xheWVyLT5jaGlsZHJlblRyYW5zZm9ybSgpKQ0KKyAgICAg
ICAgc2NlbmUoKS0+dXBkYXRlKCk7DQorDQorICAgIGlmIChtX2NoYW5nZU1hc2sgJiAoQ2hpbGRy
ZW5UcmFuc2Zvcm1DaGFuZ2UgfCBQcmVzZXJ2ZXMzRENoYW5nZSB8IFRyYW5zZm9ybUNoYW5nZSB8
IEFuY2hvclBvaW50Q2hhbmdlIHwgU2l6ZUNoYW5nZSkpIHsNCisgICAgICAgIC8vIGR1ZSB0byB0
aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUgd2F5IFdlYkNvcmUgaGFuZGxlcyB0cmFuc2Zvcm1z
IGFuZCB0aGUgd2F5IFF0IGhhbmRsZXMgdHJhbnNmb3JtcywNCisgICAgICAgIC8vIGFsbCB0aGVz
ZSBlbGVtZW50cyBhZmZlY3QgdGhlIHRyYW5zZm9ybXMgb2YgYWxsIHRoZSBkZXNjZW5kYW50cy4N
CisgICAgICAgIGZvcmNlVXBkYXRlVHJhbnNmb3JtID0gdHJ1ZTsNCiAgICAgfQ0KIA0KICAgICBp
ZiAobV9jaGFuZ2VNYXNrICYgKENvbnRlbnRDaGFuZ2UgfCBEcmF3c0NvbnRlbnRDaGFuZ2UgfCBN
YXNrTGF5ZXJDaGFuZ2UpKSB7DQpAQCAtNDM5LDggKzQ4MCw2IEBAIHZvaWQgR3JhcGhpY3NMYXll
clF0SW1wbDo6Zmx1c2hDaGFuZ2VzKGINCiAgICAgICAgICAgICB1cGRhdGUoKTsNCiAgICAgICAg
ICAgICBzZXRGbGFnKEl0ZW1IYXNOb0NvbnRlbnRzLCBmYWxzZSk7DQogDQotICAgICAgICAgICAg
Ly8gd2Ugb25seSB1c2UgSXRlbVVzZXNFeHRlbmRlZFN0eWxlT3B0aW9uIGZvciBIVE1MIGNvbnRl
bnQgLSBwaXhtYXAgY2FuIGJlIGhhbmRsZWQgYmV0dGVyIHdpdGggcmVndWxhciBjbGlwcGluZw0K
LSAgICAgICAgICAgIHNldEZsYWcoUUdyYXBoaWNzSXRlbTo6SXRlbVVzZXNFeHRlbmRlZFN0eWxl
T3B0aW9uLCBmYWxzZSk7DQogICAgICAgICAgICAgYnJlYWs7DQogDQogICAgICAgICBjYXNlIENv
bG9yQ29udGVudFR5cGU6DQpAQCAtNTI0LDYgKzU2Myw3IEBAIHZvaWQgR3JhcGhpY3NMYXllclF0
SW1wbDo6Zmx1c2hDaGFuZ2VzKGINCiAgICAgbV9zdGF0ZS5kcmF3c0NvbnRlbnQgPSBtX2xheWVy
LT5kcmF3c0NvbnRlbnQoKTsNCiAgICAgbV9zdGF0ZS5jb250ZW50c09wYXF1ZSA9IG1fbGF5ZXIt
PmNvbnRlbnRzT3BhcXVlKCk7DQogICAgIG1fc3RhdGUuYmFja2ZhY2VWaXNpYmlsaXR5ID0gbV9s
YXllci0+YmFja2ZhY2VWaXNpYmlsaXR5KCk7DQorICAgIG1fc3RhdGUuY2hpbGRyZW5UcmFuc2Zv
cm0gPSBtX2xheWVyLT5jaGlsZHJlblRyYW5zZm9ybSgpOw0KICAgICBtX2N1cnJlbnRDb250ZW50
LnBpeG1hcCA9IG1fcGVuZGluZ0NvbnRlbnQucGl4bWFwOw0KICAgICBtX2N1cnJlbnRDb250ZW50
LmNvbnRlbnRUeXBlID0gbV9wZW5kaW5nQ29udGVudC5jb250ZW50VHlwZTsNCiAgICAgbV9jdXJy
ZW50Q29udGVudC5iYWNrZ3JvdW5kQ29sb3IgPSBtX3BlbmRpbmdDb250ZW50LmJhY2tncm91bmRD
b2xvcjsNCkBAIC01MzQsNiArNTc0LDkgQEAgdm9pZCBHcmFwaGljc0xheWVyUXRJbXBsOjpmbHVz
aENoYW5nZXMoYg0KIA0KIA0KIGFmdGVyTGF5ZXJDaGFuZ2VzOg0KKyAgICBpZiAoZm9yY2VVcGRh
dGVUcmFuc2Zvcm0pDQorICAgICAgICB1cGRhdGVUcmFuc2Zvcm0oKTsNCisNCiAgICAgaWYgKCFy
ZWN1cnNpdmUpDQogICAgICAgICByZXR1cm47ICAgIA0KIA0KQEAgLTU0NCw3ICs1ODcsNyBAQCBh
ZnRlckxheWVyQ2hhbmdlczoNCiAgICAgZm9yIChRTGlzdDxRR3JhcGhpY3NJdGVtKj46OmNvbnN0
X2l0ZXJhdG9yIGl0ID0gY2hpbGRyZW4uYmVnaW4oKTsgaXQgIT0gY2hpbGRyZW4uZW5kKCk7ICsr
aXQpIHsNCiAgICAgICAgIGlmIChRR3JhcGhpY3NJdGVtKiBpdGVtID0gKml0KQ0KICAgICAgICAg
ICAgIGlmIChHcmFwaGljc0xheWVyUXRJbXBsKiBsYXllciA9IHFvYmplY3RfY2FzdDxHcmFwaGlj
c0xheWVyUXRJbXBsKj4oaXRlbS0+dG9HcmFwaGljc09iamVjdCgpKSkNCi0gICAgICAgICAgICAg
ICAgbGF5ZXItPmZsdXNoQ2hhbmdlcyh0cnVlKTsNCisgICAgICAgICAgICAgICAgbGF5ZXItPmZs
dXNoQ2hhbmdlcyh0cnVlLCBmb3JjZVVwZGF0ZVRyYW5zZm9ybSk7DQogICAgIH0NCiB9DQogDQpA
QCAtMTAxMyw3ICsxMDU2LDcgQEAgcHVibGljOg0KICAgICAgICAgLy8gdGhpcyBjYW1lIHVwIGR1
cmluZyB0aGUgY29tcG9zaXRpbmcvYW5pbWF0aW9uIExheW91dFRlc3RzDQogICAgICAgICAvLyB3
aGVuIHRoZSBhbmltYXRpb24gZGllcywgdGhlIHRyYW5zZm9ybSBoYXMgdG8gZ28gYmFjayB0byBk
ZWZhdWx0DQogICAgICAgICBpZiAobV9sYXllcikNCi0gICAgICAgICAgICBtX2xheWVyLmRhdGEo
KS0+c2V0QmFzZVRyYW5zZm9ybShtX2xheWVyLmRhdGEoKS0+bV9sYXllci0+dHJhbnNmb3JtKCkp
Ow0KKyAgICAgICAgICAgIG1fbGF5ZXIuZGF0YSgpLT51cGRhdGVUcmFuc2Zvcm0oKTsNCiAgICAg
fQ0KIA0KICAgICAvLyB0aGUgaWRlYSBpcyB0aGF0IHdlIGxldCBXZWJDb3JlIG1hbmFnZSB0aGUg
dHJhbnNmb3JtLW9wZXJhdGlvbnM=
</data>

          </attachment>
      

    </bug>

</bugzilla>