<?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>30219</bug_id>
          
          <creation_ts>2009-10-08 10:01:09 -0700</creation_ts>
          <short_desc>SVG Path elements are not correctly updated through pathSegList manipulation on relative values</short_desc>
          <delta_ts>2010-11-17 06:28:31 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>49580</dup_id>
          
          <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>10827</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexis Deveria">adeveria</reporter>
          <assigned_to name="Dirk Schulze">krit</assigned_to>
          <cc>davinci</cc>
    
    <cc>jeffschiller</cc>
    
    <cc>krit</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>153421</commentid>
    <comment_count>0</comment_count>
      <attachid>40884</attachid>
    <who name="Alexis Deveria">adeveria</who>
    <bug_when>2009-10-08 10:01:09 -0700</bug_when>
    <thetext>Created attachment 40884
Demo that shows an example of the issue (works in FF/Opera)

Altering a path using pathSegList methods [1] fails to properly change the element&apos;s &quot;d&quot; attribute, nor is the element painted correctly.

Note that it does correctly add the segment to the pathSegList, as can be discovered by using .getItem(n) or accessing the numberOfItems attribute. But that&apos;s pretty useless as the actual shape is not changed.

I have attached an SVG file that attempts to add a segment using insertItemBefore, then checks if the &quot;d&quot; attribute has changed.

Until this is fixed, if someone knows a workaround to accomplish the same effect that does not require manipulating the &quot;d&quot; attribute itself, that would be greatly appreciated. This functionality is needed for adding/removing nodes in the SVG-edit project [2], and currently only works in Firefox &amp; Opera.

[1] http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSegList
[2] http://svg-edit.googlecode.com</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203716</commentid>
    <comment_count>1</comment_count>
    <who name="David Yonge-Mallo">davinci</who>
    <bug_when>2010-03-24 18:16:40 -0700</bug_when>
    <thetext>I&apos;ve looked a little bit into this and found the cause.  The function SVGPathSegList::toPathData() is not completely implemented.  Working on a patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203725</commentid>
    <comment_count>2</comment_count>
      <attachid>51576</attachid>
    <who name="David Yonge-Mallo">davinci</who>
    <bug_when>2010-03-24 18:54:43 -0700</bug_when>
    <thetext>Created attachment 51576
Tentative patch

I&apos;ve made a tentative patch to fix this which adds code for relative coordinates in SVGPathSegList::toPathData().  If the approach looks good, SVGPathSegList::getPathSegAtLength() needs to be similarly updated as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204054</commentid>
    <comment_count>3</comment_count>
    <who name="David Yonge-Mallo">davinci</who>
    <bug_when>2010-03-25 07:44:03 -0700</bug_when>
    <thetext>One cause of the problem is bug 26487.  It appears that all &quot;Rel&quot; path data commands are internally stored as &quot;Abs&quot; commands.  Inserting a &quot;relative lineto&quot; (l - that&apos;s a lower case &quot;L&quot;) command affects all subsequent data points.  

The above patch adds hackery to properly compute the coordinates in SVGPathSegList::toPathData().  The correct fix would be to not convert the data path commands to &quot;Abs&quot; to begin with.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205966</commentid>
    <comment_count>4</comment_count>
      <attachid>51576</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-03-30 06:15:02 -0700</bug_when>
    <thetext>Comment on attachment 51576
Tentative patch

As discussed on webkit-dev, this is probably not the right approach. Did you investigate a bit more, David?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206551</commentid>
    <comment_count>5</comment_count>
    <who name="David Yonge-Mallo">davinci</who>
    <bug_when>2010-03-31 09:45:03 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 51576 [details])
&gt; As discussed on webkit-dev, this is probably not the right approach. Did you
&gt; investigate a bit more, David?

I investigated a bit more, but I haven&apos;t had time to come up with a proper solution.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264800</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-08-14 23:25:18 -0700</bug_when>
    <thetext>It is now possible to create unaltered SVGPathSegLists. Still use normalized SVGPathSegLists, untill we have a way to synchroinze dAttr, pathSegList and normalizedPathSegList.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310237</commentid>
    <comment_count>7</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-11-17 06:28:31 -0800</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 49580 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>40884</attachid>
            <date>2009-10-08 10:01:09 -0700</date>
            <delta_ts>2009-10-08 10:01:09 -0700</delta_ts>
            <desc>Demo that shows an example of the issue (works in FF/Opera)</desc>
            <filename>path_update.svg</filename>
            <type>image/svg+xml</type>
            <size>1454</size>
            <attacher name="Alexis Deveria">adeveria</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8c3ZnIHdpZHRoPSI2MDAiIGhl
aWdodD0iNTAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5r
PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+CiAgCTwhW0NEQVRBWwogIAkKICAJd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkg
ewogIAkJdmFyIHBhdGggPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgncGF0aCcpWzBd
OwogIAkJdmFyIHN0YXJ0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Rfc3RhcnQnKTsKICAJ
CXZhciBlbmQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZF9lbmQnKTsKICAJCQogIAkJdmFy
IHN0YXJ0X2QgPSBwYXRoLmdldEF0dHJpYnV0ZSgnZCcpOwogIAkJc3RhcnQudGV4dENvbnRlbnQg
PSBzdGFydF9kOwogIAkJdmFyIGxpc3QgPSBwYXRoLnBhdGhTZWdMaXN0OwoJCXZhciBzZWcgPSBw
YXRoLmNyZWF0ZVNWR1BhdGhTZWdMaW5ldG9SZWwoNTAsIDUwKTsKCQkKCQlzZXRUaW1lb3V0KGZ1
bmN0aW9uKCkgewoJCQlsaXN0Lmluc2VydEl0ZW1CZWZvcmUoc2VnLCAyKTsgCgkJCXZhciBlbmRf
ZCA9IHBhdGguZ2V0QXR0cmlidXRlKCdkJyk7CgkJCWVuZC50ZXh0Q29udGVudCA9IGVuZF9kOwoJ
CQlpZihzdGFydF9kID09IGVuZF9kKSB7CgkJCQllbmQudGV4dENvbnRlbnQgKz0gJyAoZmFpbGVk
KSc7CgkJCX0KCQkJCgkJCXNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CgkJCQkvLyBOZWNlc3Nhcnkg
Zm9yIE9wZXJhIHRvIGRpc3BsYXkgcGF0aCBjb3JyZWN0bHkuCgkJCQlwYXRoLnNldEF0dHJpYnV0
ZSgnZCcscGF0aC5nZXRBdHRyaWJ1dGUoJ2QnKSk7CgkJCX0sMTAwMCk7CgkJCQoJCX0sMTAwMCk7
CiAgCX0KICAJCiAgCV1dPgogIDwvc2NyaXB0PgogIDxwYXRoIGQ9Ik01MCwxNTAgbDQ1LC00MyBs
MjQsNjQgbC02OSwtMjF6IiBmaWxsPSIjRkYwMDAwIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13
aWR0aD0iNSIvPgogIDx0ZXh0IHg9IjEwIiB5PSIyMCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQi
Pk9uZSBzZWNvbmQgYWZ0ZXIgbG9hZGluZywgYSBzZWdtZW50IGlzIGFkZGVkIHRvIHRoZSBwYXRo
LjwvdGV4dD4KICA8dGV4dCB4PSIxMCIgeT0iNDAiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5U
aGUgcGF0aCBhbmQgaXRzIGF0dHJpYnV0ZSBzaG91bGQgYmUgdXBkYXRlZCB0byBpbmNsdWRlIHRo
ZSBuZXcgc2VnbWVudC48L3RleHQ+CiAgCiAgPHRleHQgeD0iMTAiIHk9IjcwIj4iZCIgaW5pdGlh
bDogPC90ZXh0PgogIDx0ZXh0IGlkPSJkX3N0YXJ0IiB4PSI5MCIgeT0iNzAiPjwvdGV4dD4KCiAg
PHRleHQgeD0iMTAiIHk9IjkwIj4iZCIgYWZ0ZXI6IDwvdGV4dD4KICA8dGV4dCBpZD0iZF9lbmQi
IHg9IjkwIiB5PSI5MCI+PC90ZXh0Pgo8L3N2Zz4=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51576</attachid>
            <date>2010-03-24 18:54:43 -0700</date>
            <delta_ts>2010-06-11 10:40:25 -0700</delta_ts>
            <desc>Tentative patch</desc>
            <filename>path-update-20100324.patch</filename>
            <type>text/plain</type>
            <size>8081</size>
            <attacher name="David Yonge-Mallo">davinci</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyNWVmNjlmLi4wZGE4YzAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDMt
MjQgIERhdmlkIFlvbmdlLU1hbGxvICA8ZGF2aW5jaUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgdGVzdCBjYXNlIGZv
ciBhZGRpdGlvbiBvZiBwYXRoIHNlZ21lbnRzIHdpdGggcmVsYXRpdmUgY29vcmRpbmF0ZXMuCisK
KyAgICAgICAgU1ZHIFBhdGggZWxlbWVudHMgYXJlIG5vdCBjb3JyZWN0bHkgdXBkYXRlZCB0aHJv
dWdoIHBhdGhTZWdMaXN0IG1hbmlwdWxhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAyMTkKKworICAgICAgICAqIHN2Zy9jdXN0b20vcGF0aC11
cGRhdGUtYWRkLXNlZ21lbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3Vz
dG9tL3BhdGgtdXBkYXRlLWFkZC1zZWdtZW50LnN2ZzogQWRkZWQuCisKIDIwMTAtMDMtMjQgIEFs
ZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9w
YXRoLXVwZGF0ZS1hZGQtc2VnbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL3BhdGgtdXBkYXRlLWFkZC1zZWdtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi4zODg1YzdlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9wYXRoLXVwZGF0ZS1hZGQtc2VnbWVudC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJT
VkdSb290IHtzdmd9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlclBhdGgge3BhdGh9
IGF0ICg3NiwxNzEpIHNpemUgMjE0eDIwNCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMw
MDAwMDBdIFtzdHJva2Ugd2lkdGg9NS4wMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0j
RkYwMDAwXX1dIFtkYXRhPSJNNTAuMDAsMTUwLjAwIEw5NS4wMCwxMDcuMDAgTDE0NS4wMCwxNTcu
MDAgTDE2OS4wMCwyMjEuMDAgTDEwMC4wMCwyMDAuMDAgWiJdCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL3BhdGgtdXBkYXRlLWFkZC1zZWdtZW50LnN2ZyBiL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vcGF0aC11cGRhdGUtYWRkLXNlZ21lbnQuc3ZnCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjg2MThlMGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL3BhdGgtdXBkYXRlLWFkZC1zZWdtZW50LnN2ZwpAQCAtMCwwICsxLDE1IEBA
Cis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBV
QkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMSBCYXNpYy8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9H
cmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS1iYXNpYy5kdGQiPgorPHN2ZyB2ZXJzaW9uPSIxLjEi
IGJhc2VQcm9maWxlPSJiYXNpYyIgaWQ9InN2Zy1yb290IiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIx
MDAlIiB2aWV3Qm94PSIwIDAgNDgwIDM2MCIKKyAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cu
dzMub3JnLzE5OTkveGxpbmsiCisgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2
ZyIgb25sb2FkPSJteWZ1bmMoKSI+CisgICAgIDxzY3JpcHQ+CisgICAgIAlmdW5jdGlvbiBteWZ1
bmMoKSB7CisgICAgICAgICAgICAgICAgdmFyIHBhdGggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgibXlwYXRoIik7CisgIAkJdmFyIGxpc3QgPSBwYXRoLnBhdGhTZWdMaXN0OworCQl2YXIgc2Vn
ID0gcGF0aC5jcmVhdGVTVkdQYXRoU2VnTGluZXRvUmVsKDUwLCA1MCk7CisJCWxpc3QuaW5zZXJ0
SXRlbUJlZm9yZShzZWcsIDIpOyAKKyAgICAgCX0KKyAgICAgPC9zY3JpcHQ+CisgICAgIDxwYXRo
IGlkPSJteXBhdGgiIGQ9Ik01MCwxNTAgbDQ1LC00MyBsMjQsNjQgbC02OSwtMjF6IiBmaWxsPSIj
RkYwMDAwIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iNSIvPgorPC9zdmc+CmRpZmYg
LS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDk0NjJk
ZjcuLjNiNjc2ZDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDMtMjQgIERhdmlkIFlvbmdlLU1hbGxv
ICA8ZGF2aW5jaUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkZWQgY29kZSB0byBTVkdQYXRoU2VnTGlzdDo6dG9QYXRoRGF0
YSgpIHRvIGhhbmRsZSBwYXRoIHNlZ21lbnRzIHdpdGggcmVsYXRpdmUgY29vcmRpbmF0ZXMuCisK
KyAgICAgICAgU1ZHIFBhdGggZWxlbWVudHMgYXJlIG5vdCBjb3JyZWN0bHkgdXBkYXRlZCB0aHJv
dWdoIHBhdGhTZWdMaXN0IG1hbmlwdWxhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAyMTkKKworICAgICAgICBUZXN0OiBzdmcvY3VzdG9tL3Bh
dGgtdXBkYXRlLWFkZC1zZWdtZW50LnN2ZworCisgICAgICAgICogc3ZnL1NWR1BhdGhTZWdMaXN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdMaXN0Ojp0b1BhdGhEYXRhKToKKwog
MjAxMC0wMy0yNCAgSmVyZW15IE1vc2tvdmljaCAgPGplcmVteUBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgSmVyZW15IE9ybG93LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcv
U1ZHUGF0aFNlZ0xpc3QuY3BwIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpc3QuY3BwCmluZGV4
IDExY2FkMTQuLjFlMzc2ZGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaXN0
LmNwcAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGlzdC5jcHAKQEAgLTMxLDE0ICszMSwx
NCBAQAogI2luY2x1ZGUgIlBhdGhUcmF2ZXJzYWxTdGF0ZS5oIgogI2luY2x1ZGUgIlNWR1BhdGhT
ZWdBcmMuaCIKICNpbmNsdWRlICJTVkdQYXRoU2VnQ2xvc2VQYXRoLmgiCi0jaW5jbHVkZSAiU1ZH
UGF0aFNlZ01vdmV0by5oIgotI2luY2x1ZGUgIlNWR1BhdGhTZWdMaW5ldG8uaCIKLSNpbmNsdWRl
ICJTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbC5oIgotI2luY2x1ZGUgIlNWR1BhdGhTZWdMaW5l
dG9WZXJ0aWNhbC5oIgogI2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWMuaCIKICNpbmNs
dWRlICJTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNl
Z0N1cnZldG9RdWFkcmF0aWMuaCIKICNpbmNsdWRlICJTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRp
Y1Ntb290aC5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdMaW5ldG8uaCIKKyNpbmNsdWRlICJTVkdQ
YXRoU2VnTGluZXRvSG9yaXpvbnRhbC5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdMaW5ldG9WZXJ0
aWNhbC5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdNb3ZldG8uaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkBAIC04Myw2ICs4Myw3IEBAIHVuc2lnbmVkIFNWR1BhdGhTZWdMaXN0OjpnZXRQYXRo
U2VnQXRMZW5ndGgoZG91YmxlLCBFeGNlcHRpb25Db2RlJiBlYykKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRmxvYXRQb2ludChjdXJ2ZVRvLT54KCksIGN1cnZlVG8tPnko
KSkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAgICAgLy8gRklYTUU6IFNv
bWV0aGluZyBzaW1pbGFyIG5lZWRzIHRvIGJlIGRvbmUgYXMgaW4gdG9QYXRoRGF0YSgpIGJlbG93
IHdpdGggdGhlIFJFTCBzZWdtZW50cwogICAgICAgICBjYXNlIFNWR1BhdGhTZWc6OlBBVEhTRUdf
Q0xPU0VQQVRIOgogICAgICAgICAgICAgc2VnbWVudExlbmd0aCA9IHRyYXZlcnNhbFN0YXRlLmNs
b3NlU3VicGF0aCgpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0xMDYsNiArMTA3LDcgQEAgUGF0
aCBTVkdQYXRoU2VnTGlzdDo6dG9QYXRoRGF0YSgpCiAgICAgLy8gRklYTUUgOiBUaGlzIHNob3Vs
ZCBhbHNvIHN1cHBvcnQgbm9uLW5vcm1hbGl6ZWQgUGF0aFNlZ0xpc3RzCiAgICAgUGF0aCBwYXRo
RGF0YTsKICAgICBpbnQgbGVuID0gbnVtYmVyT2ZJdGVtcygpOworICAgIGZsb2F0IGN1cnJlbnRY
ID0gMCwgY3VycmVudFkgPSAwLCB4T2Zmc2V0ID0gMCwgeU9mZnNldCA9IDA7CiAgICAgRXhjZXB0
aW9uQ29kZSBlYyA9IDA7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsZW47ICsraSkgewogICAg
ICAgICBTVkdQYXRoU2VnKiBzZWdtZW50ID0gZ2V0SXRlbShpLCBlYykuZ2V0KCk7CkBAIC0xMTUs
MjMgKzExNyw2MiBAQCBQYXRoIFNWR1BhdGhTZWdMaXN0Ojp0b1BhdGhEYXRhKCkKICAgICAgICAg
ICAgIGNhc2UgU1ZHUGF0aFNlZzo6UEFUSFNFR19NT1ZFVE9fQUJTOgogICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgIFNWR1BhdGhTZWdNb3ZldG9BYnMqIG1vdmVUbyA9IHN0YXRpY19jYXN0
PFNWR1BhdGhTZWdNb3ZldG9BYnMqPihzZWdtZW50KTsKLSAgICAgICAgICAgICAgICBwYXRoRGF0
YS5tb3ZlVG8oRmxvYXRQb2ludChtb3ZlVG8tPngoKSwgbW92ZVRvLT55KCkpKTsKKyAgICAgICAg
ICAgICAgICBjdXJyZW50WCA9IG1vdmVUby0+eCgpICsgeE9mZnNldDsKKyAgICAgICAgICAgICAg
ICBjdXJyZW50WSA9IG1vdmVUby0+eSgpICsgeU9mZnNldDsKKyAgICAgICAgICAgICAgICBwYXRo
RGF0YS5tb3ZlVG8oRmxvYXRQb2ludChjdXJyZW50WCwgY3VycmVudFkpKTsKICAgICAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNhc2UgU1ZHUGF0aFNlZzo6
UEFUSFNFR19MSU5FVE9fQUJTOgogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIFNWR1Bh
dGhTZWdMaW5ldG9BYnMqIGxpbmVUbyA9IHN0YXRpY19jYXN0PFNWR1BhdGhTZWdMaW5ldG9BYnMq
PihzZWdtZW50KTsKLSAgICAgICAgICAgICAgICBwYXRoRGF0YS5hZGRMaW5lVG8oRmxvYXRQb2lu
dChsaW5lVG8tPngoKSwgbGluZVRvLT55KCkpKTsKKyAgICAgICAgICAgICAgICBjdXJyZW50WCA9
IGxpbmVUby0+eCgpICsgeE9mZnNldDsKKyAgICAgICAgICAgICAgICBjdXJyZW50WSA9IGxpbmVU
by0+eSgpICsgeU9mZnNldDsKKyAgICAgICAgICAgICAgICBwYXRoRGF0YS5hZGRMaW5lVG8oRmxv
YXRQb2ludChjdXJyZW50WCwgY3VycmVudFkpKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIGNhc2UgU1ZHUGF0aFNlZzo6UEFUSFNFR19DVVJWRVRP
X0NVQklDX0FCUzoKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBTVkdQYXRoU2VnQ3Vy
dmV0b0N1YmljQWJzKiBjdXJ2ZVRvID0gc3RhdGljX2Nhc3Q8U1ZHUGF0aFNlZ0N1cnZldG9DdWJp
Y0Ficyo+KHNlZ21lbnQpOwotICAgICAgICAgICAgICAgIHBhdGhEYXRhLmFkZEJlemllckN1cnZl
VG8oRmxvYXRQb2ludChjdXJ2ZVRvLT54MSgpLCBjdXJ2ZVRvLT55MSgpKSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZsb2F0UG9pbnQoY3VydmVUby0+eDIoKSwg
Y3VydmVUby0+eTIoKSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBGbG9hdFBvaW50KGN1cnZlVG8tPngoKSwgY3VydmVUby0+eSgpKSk7CisgICAgICAgICAgICAg
ICAgY3VycmVudFggPSBjdXJ2ZVRvLT54KCkgKyB4T2Zmc2V0OworICAgICAgICAgICAgICAgIGN1
cnJlbnRZID0gY3VydmVUby0+eSgpICsgeU9mZnNldDsKKyAgICAgICAgICAgICAgICBwYXRoRGF0
YS5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoY3VydmVUby0+eDEoKSArIHhPZmZzZXQsIGN1
cnZlVG8tPnkxKCkgKyB5T2Zmc2V0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEZsb2F0UG9pbnQoY3VydmVUby0+eDIoKSArIHhPZmZzZXQsIGN1cnZlVG8tPnky
KCkgKyB5T2Zmc2V0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEZsb2F0UG9pbnQoY3VycmVudFgsIGN1cnJlbnRZKSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICB9CisgICAgICAgICAgICBjYXNlIFNWR1BhdGhTZWc6OlBBVEhTRUdfTU9W
RVRPX1JFTDoKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBTVkdQYXRoU2VnTW92ZXRv
UmVsKiBtb3ZlVG8gPSBzdGF0aWNfY2FzdDxTVkdQYXRoU2VnTW92ZXRvUmVsKj4oc2VnbWVudCk7
CisgICAgICAgICAgICAgICAgY3VycmVudFggKz0gbW92ZVRvLT54KCk7CisgICAgICAgICAgICAg
ICAgY3VycmVudFkgKz0gbW92ZVRvLT55KCk7CisgICAgICAgICAgICAgICAgeE9mZnNldCArPSBt
b3ZlVG8tPngoKTsKKyAgICAgICAgICAgICAgICB5T2Zmc2V0ICs9IG1vdmVUby0+eSgpOworICAg
ICAgICAgICAgICAgIHBhdGhEYXRhLm1vdmVUbyhGbG9hdFBvaW50KGN1cnJlbnRYLCBjdXJyZW50
WSkpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
Y2FzZSBTVkdQYXRoU2VnOjpQQVRIU0VHX0xJTkVUT19SRUw6CisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgU1ZHUGF0aFNlZ0xpbmV0b1JlbCogbGluZVRvID0gc3RhdGljX2Nhc3Q8U1ZH
UGF0aFNlZ0xpbmV0b1JlbCo+KHNlZ21lbnQpOworICAgICAgICAgICAgICAgIGN1cnJlbnRYICs9
IGxpbmVUby0+eCgpOworICAgICAgICAgICAgICAgIGN1cnJlbnRZICs9IGxpbmVUby0+eSgpOwor
ICAgICAgICAgICAgICAgIHhPZmZzZXQgKz0gbGluZVRvLT54KCk7CisgICAgICAgICAgICAgICAg
eU9mZnNldCArPSBsaW5lVG8tPnkoKTsKKyAgICAgICAgICAgICAgICBwYXRoRGF0YS5hZGRMaW5l
VG8oRmxvYXRQb2ludChjdXJyZW50WCwgY3VycmVudFkpKTsKKyAgICAgICAgICAgICAgICBicmVh
azsKKworICAgICAgICAgICAgfQorICAgICAgICAgICAgY2FzZSBTVkdQYXRoU2VnOjpQQVRIU0VH
X0NVUlZFVE9fQ1VCSUNfUkVMOgorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIFNWR1Bh
dGhTZWdDdXJ2ZXRvQ3ViaWNSZWwqIGN1cnZlVG8gPSBzdGF0aWNfY2FzdDxTVkdQYXRoU2VnQ3Vy
dmV0b0N1YmljUmVsKj4oc2VnbWVudCk7CisgICAgICAgICAgICAgICAgcGF0aERhdGEuYWRkQmV6
aWVyQ3VydmVUbyhGbG9hdFBvaW50KGN1cnJlbnRYICsgY3VydmVUby0+eDEoKSwgY3VycmVudFkg
KyBjdXJ2ZVRvLT55MSgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEZsb2F0UG9pbnQoY3VycmVudFggKyBjdXJ2ZVRvLT54MigpLCBjdXJyZW50WSArIGN1cnZl
VG8tPnkyKCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmxv
YXRQb2ludChjdXJyZW50WCArIGN1cnZlVG8tPngoKSwgY3VycmVudFkgKyBjdXJ2ZVRvLT55KCkp
KTsKKyAgICAgICAgICAgICAgICBjdXJyZW50WCArPSBjdXJ2ZVRvLT54KCk7CisgICAgICAgICAg
ICAgICAgY3VycmVudFkgKz0gY3VydmVUby0+eSgpOworICAgICAgICAgICAgICAgIHhPZmZzZXQg
Kz0gY3VydmVUby0+eCgpOworICAgICAgICAgICAgICAgIHlPZmZzZXQgKz0gY3VydmVUby0+eSgp
OworICAgICAgICAgICAgICAgIGJyZWFrOyAKKyAgICAgICAgICAgIH0gCiAgICAgICAgICAgICBj
YXNlIFNWR1BhdGhTZWc6OlBBVEhTRUdfQ0xPU0VQQVRIOgogICAgICAgICAgICAgICAgIHBhdGhE
YXRhLmNsb3NlU3VicGF0aCgpOwogICAgICAgICAgICAgICAgIGJyZWFrOwo=
</data>
<flag name="review"
          id="34845"
          type_id="1"
          status="-"
          setter="zimmermann"
    />
          </attachment>
      

    </bug>

</bugzilla>