<?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>83720</bug_id>
          
          <creation_ts>2012-04-11 14:44:39 -0700</creation_ts>
          <short_desc>[Qt][WK2] Nested fixed elements scroll too fast</short_desc>
          <delta_ts>2012-04-12 08:35:40 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yael">yael</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>noam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>600607</commentid>
    <comment_count>0</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2012-04-11 14:44:39 -0700</bug_when>
    <thetext>After http://trac.webkit.org/changeset/113791, the position of fixed elements is adjusted during scrolling to compensate for the difference between the scroll offset in the web process and the ui process.
Nested fixed elements are adjusted, but so are their ancestors, resulting in the delta being applied twice.

A patch is coming soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600635</commentid>
    <comment_count>1</comment_count>
      <attachid>136766</attachid>
    <who name="Yael">yael</who>
    <bug_when>2012-04-11 15:22:09 -0700</bug_when>
    <thetext>Created attachment 136766
Patch.

Before setting the scrollPositionDelta to a fixed layer, check if it has an ancestor which also has fixed position. If it does, do not set scrollPositionDelta.
Added a flag to TextureMapperLayer indicating if it is a fixed position layer. The flag is set in WebLayerTreeRenderer::flushLayerChanges to avoid adding it also to GraphicsLayerTextureMapper.
If reviewers think it is better to add it to GraphicsLayerTextureMapper, I can do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600644</commentid>
    <comment_count>2</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2012-04-11 15:35:19 -0700</bug_when>
    <thetext>I know some people do not like to add fixed position flags to GraphicsLayer sub classes. Please note that the Blackberry port does that too :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600647</commentid>
    <comment_count>3</comment_count>
      <attachid>136766</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-04-11 15:42:48 -0700</bug_when>
    <thetext>Comment on attachment 136766
Patch.

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

&gt; Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:525
&gt; +    TextureMapperLayer* parent = m_parent;
&gt; +    while (parent &amp;&amp; !parent-&gt;m_fixedToViewport)
&gt; +        parent = parent-&gt;m_parent;
&gt; +
&gt; +    if (parent)
&gt; +        return;

Strange traversal...
How about a function isAncestorFixedToViewport() that returns true/false, and this function calling it?

&gt; Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp:364
&gt; +    if (m_fixedLayers.isEmpty())
&gt; +        return;
&gt; +
&gt; +    LayerMap::iterator end = m_fixedLayers.end();
&gt; +    for (LayerMap::iterator it = m_fixedLayers.begin(); it != end; ++it)
&gt; +        toTextureMapperLayer(it-&gt;second)-&gt;setFixedToViewport(true);

This seems like a different bug/fix?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600654</commentid>
    <comment_count>4</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2012-04-11 15:49:38 -0700</bug_when>
    <thetext>(In reply to comment #3)
Thanks for reviewing :)
&gt; (From update of attachment 136766 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=136766&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:525
&gt; &gt; +    TextureMapperLayer* parent = m_parent;
&gt; &gt; +    while (parent &amp;&amp; !parent-&gt;m_fixedToViewport)
&gt; &gt; +        parent = parent-&gt;m_parent;
&gt; &gt; +
&gt; &gt; +    if (parent)
&gt; &gt; +        return;
&gt; 
&gt; Strange traversal...
&gt; How about a function isAncestorFixedToViewport() that returns true/false, and this function calling it?
&gt; 
ok

&gt; &gt; Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp:364
&gt; &gt; +    if (m_fixedLayers.isEmpty())
&gt; &gt; +        return;
&gt; &gt; +
&gt; &gt; +    LayerMap::iterator end = m_fixedLayers.end();
&gt; &gt; +    for (LayerMap::iterator it = m_fixedLayers.begin(); it != end; ++it)
&gt; &gt; +        toTextureMapperLayer(it-&gt;second)-&gt;setFixedToViewport(true);
&gt; 
&gt; This seems like a different bug/fix?
No, it is for this bug :) This is for setting the flag on TextureMapperLayer. Please see comment #1. If you prefer that I set it via GraphicsLayerTextureMapper, please let me know.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600660</commentid>
    <comment_count>5</comment_count>
      <attachid>136766</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-04-11 15:59:15 -0700</bug_when>
    <thetext>Comment on attachment 136766
Patch.

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

&gt;&gt;&gt; Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp:364
&gt;&gt;&gt; +        toTextureMapperLayer(it-&gt;second)-&gt;setFixedToViewport(true);
&gt;&gt; 
&gt;&gt; This seems like a different bug/fix?
&gt; 
&gt; No, it is for this bug :) This is for setting the flag on TextureMapperLayer. Please see comment #1. If you prefer that I set it via GraphicsLayerTextureMapper, please let me know.

I don&apos;t mind adding it in GraphicsLayerTextureMapper, since it would make the sync code easier to read.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600812</commentid>
    <comment_count>6</comment_count>
      <attachid>136809</attachid>
    <who name="Yael">yael</who>
    <bug_when>2012-04-11 19:22:46 -0700</bug_when>
    <thetext>Created attachment 136809
Patch.

Cleanup the initial patch as suggested in comment #3 and #5.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600815</commentid>
    <comment_count>7</comment_count>
      <attachid>136809</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-04-11 19:27:02 -0700</bug_when>
    <thetext>Comment on attachment 136809
Patch.

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

&gt; ChangeLog:10
&gt; +        * ManualTests/fixed-position.html: Added a test for nested fixed position elements
&gt; +        and a way to add/remove the fixed parent of a fixed position element.
&gt; +

I&apos;d rather we add this as an additional manual test.

&gt; Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:517
&gt; +    for (TextureMapperLayer* parent = m_parent;parent;parent = parent-&gt;m_parent) {

Spacing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601118</commentid>
    <comment_count>8</comment_count>
      <attachid>136881</attachid>
    <who name="Yael">yael</who>
    <bug_when>2012-04-12 05:18:02 -0700</bug_when>
    <thetext>Created attachment 136881
Patch.

Split out the manual test from the existing test. And added missing spaces.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601245</commentid>
    <comment_count>9</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2012-04-12 08:27:44 -0700</bug_when>
    <thetext>Thanks for the review :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601254</commentid>
    <comment_count>10</comment_count>
      <attachid>136881</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-12 08:35:31 -0700</bug_when>
    <thetext>Comment on attachment 136881
Patch.

Clearing flags on attachment: 136881

Committed r113983: &lt;http://trac.webkit.org/changeset/113983&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601256</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-12 08:35:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136766</attachid>
            <date>2012-04-11 15:22:09 -0700</date>
            <delta_ts>2012-04-11 19:22:46 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>83720.patch</filename>
            <type>text/plain</type>
            <size>7750</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDExMzkx
NCkKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA0
LTExICBZYWVsIEFoYXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNvbT4KKworICAgICAgICBbUXRd
W1dLMl0gTmVzdGVkIGZpeGVkIGVsZW1lbnRzIHNjcm9sbCB0b28gZmFzdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM3MjAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1hbnVhbFRlc3RzL2ZpeGVkLXBv
c2l0aW9uLmh0bWw6IEFkZGVkIGEgdGVzdCBmb3IgbmVzdGVkIGZpeGVkIHBvc2l0aW9uIGVsZW1l
bnRzCisgICAgICAgIGFuZCBhIHdheSB0byBhZGQvcmVtb3ZlIHRoZSBmaXhlZCBwYXJlbnQgb2Yg
YSBmaXhlZCBwb3NpdGlvbiBlbGVtZW50LgorCiAyMDEyLTAzLTE1ICBNYXJ0aW4gUm9iaW5zb24g
IDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBbQ0FJUk9dIE1ha2UgR0xDb250ZXh0
R0xYIGEgc3ViY2xhc3Mgb2YgR0xDb250ZXh0CkluZGV4OiBNYW51YWxUZXN0cy9maXhlZC1wb3Np
dGlvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIE1hbnVhbFRlc3RzL2ZpeGVkLXBvc2l0aW9uLmh0bWwJ
KHJldmlzaW9uIDExMzg3MSkKKysrIE1hbnVhbFRlc3RzL2ZpeGVkLXBvc2l0aW9uLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTQsNiArNCw3IEBACiA8c3R5bGU+CiAuZDF7cG9zaXRpb246Zml4ZWQ7
dG9wOjUwJTtyaWdodDo1MCU7ei1pbmRleDoyO292ZXJmbG93OmhpZGRlbjt9CiAuZDJ7cG9zaXRp
b246Zml4ZWQ7Ym90dG9tOjVlbTtsZWZ0OjUwO3otaW5kZXg6MjtvdmVyZmxvdzpoaWRkZW47fQor
LmQze3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTowO2xlZnQ6MDt6LWluZGV4OjI7d2lkdGg6MTAwJTti
YWNrZ3JvdW5kLWNvbG9yOmRhcmtncmF5O30KIC5vIHtiYWNrZ3JvdW5kOmdyZWVuO2hlaWdodDo0
MHB4O3dpZHRoOjIwMHB4O30KIC50IHsgd2lkdGg6MjAwMHB4OyBoZWlnaHQ6MTk4cHg7YmFja2dy
b3VuZC1jb2xvcjogbGlnaHRncmF5OyBib3JkZXI6IDFweCBzb2xpZCBibHVlO30KIGJvZHkgeyBt
YXJnaW46IDBweDsgfQpAQCAtMTEsNyArMTIsNyBAQCBib2R5IHsgbWFyZ2luOiAwcHg7IH0KIDxz
Y3JpcHQ+CiBmdW5jdGlvbiByZW1vdmVfZml4ZWQoKQogewotICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZDEiKS5zdHlsZS5wb3NpdGlvbiA9ICJzdGF0aWMiOworICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZDMiKS5zdHlsZS5wb3NpdGlvbiA9ICJzdGF0aWMiOwogfQogCiBmdW5jdGlvbiBj
aGFuZ2VfZml4ZWQoKQpAQCAtMTksMTAgKzIwLDE3IEBAIGZ1bmN0aW9uIGNoYW5nZV9maXhlZCgp
CiAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkMiIpLnN0eWxlLmJvdHRvbSA9ICIxMGVtIjsK
IH0KIAorZnVuY3Rpb24gYWRkX2ZpeGVkKCkKK3sKKyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImQzIikuc3R5bGUucG9zaXRpb24gPSAiZml4ZWQiOworfQorCiA8L3NjcmlwdD4KIDwvaGVhZD4K
IDxib2R5IGNsYXNzPSJHcmFkaWVudCI+Cis8ZGl2IGNsYXNzPSJkMyIgaWQ9ImQzIj5UaGlzIGlz
IHRoZSBwYXJlbnQgZGl2LgogPGRpdiBjbGFzcz0iZDEiIGlkPSJkMSI+PGRpdiBjbGFzcz0ibyI+
VGhpcyBpcyBhIHRlc3Q8L2Rpdj48L2Rpdj4KKzwvZGl2PgogPGRpdiBjbGFzcz0iZDIiIGlkPSJk
MiI+PGRpdiBjbGFzcz0ibyI+VGhpcyBpcyBhIHRlc3Q8L2Rpdj48L2Rpdj4KIDxkaXYgY2xhc3M9
InQiIG9uY2xpY2s9InJlbW92ZV9maXhlZCgpOyI+CiAwMDAKQEAgLTM2LDcgKzQ0LDggQEAgZnVu
Y3Rpb24gY2hhbmdlX2ZpeGVkKCkKIDxidXR0b24gb25jbGljaz0iY2hhbmdlX2ZpeGVkKCk7Ij5j
aGFuZ2UgZml4ZWQ8L2J1dHRvbj4KIDwvZGl2PgogPGRpdiBjbGFzcz0idCI+Ci02MDAKKzYwMDxi
cj4KKzxidXR0b24gb25jbGljaz0iYWRkX2ZpeGVkKCk7Ij5hZGQgZml4ZWQ8L2J1dHRvbj4KIDwv
ZGl2PgogPGRpdiBjbGFzcz0idCI+CiA4MDAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMzkx
NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDIwIEBACisyMDEyLTA0LTExICBZYWVsIEFoYXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNvbT4K
KworICAgICAgICBbUXRdW1dLMl0gTmVzdGVkIGZpeGVkIGVsZW1lbnRzIHNjcm9sbCB0b28gZmFz
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM3MjAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCZWZvcmUg
c2V0dGluZyB0aGUgc2Nyb2xsUG9zaXRpb25EZWx0YSB0byBhIGZpeGVkIGxheWVyLCBjaGVjayBp
ZiBpdCBoYXMgYW4gYW5jZXN0b3Igd2hpY2ggYWxzbyBoYXMgZml4ZWQgcG9zaXRpb24uCisgICAg
ICAgIElmIGl0IGRvZXMsIGRvIG5vdCBzZXQgc2Nyb2xsUG9zaXRpb25EZWx0YS4KKyAgICAgICAg
QWRkZWQgYSBmbGFnIHRvIFRleHR1cmVNYXBwZXJMYXllciBpbmRpY2F0aW5nIGlmIGl0IGlzIGEg
Zml4ZWQgcG9zaXRpb24gbGF5ZXIuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBw
ZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb25EZWx0YUlmTmVlZGVkKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmg6CisgICAgICAgIChUZXh0
dXJlTWFwcGVyTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyOjpz
ZXRGaXhlZFRvVmlld3BvcnQpOgorCiAyMDEyLTA0LTExICBEYXZpZCBEb3J3aW4gIDxkZG9yd2lu
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBBZGQga2V5U3lzdGVtIGF0dHJpYnV0ZSB0byBjYW5Q
bGF5VHlwZSgpIGZvciBFbmNyeXB0ZWQgTWVkaWEgRXh0ZW5zaW9ucwpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXJMYXllci5jcHAJKHJldmlzaW9uIDExMzg3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01MTEsMTEgKzUxMSwxOSBAQCB2b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6c3luY0Nv
bXBvc2l0aW5nCiAgICAgfQogfQogCi12b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6c2V0U2Nyb2xs
UG9zaXRpb25EZWx0YShjb25zdCBJbnRQb2ludCYgZGVsdGEpCit2b2lkIFRleHR1cmVNYXBwZXJM
YXllcjo6c2V0U2Nyb2xsUG9zaXRpb25EZWx0YUlmTmVlZGVkKGNvbnN0IEludFBvaW50JiBkZWx0
YSkKIHsKICAgICAvLyBkZWx0YSBpcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBzY3JvbGwg
b2Zmc2V0IGluIHRoZSB1aSBwcm9jZXNzIGFuZCB0aGUgc2Nyb2xsIG9mZnNldAogICAgIC8vIGlu
IHRoZSB3ZWIgcHJvY2Vzcy4gV2UgYWRkIHRoaXMgZGVsdGEgdG8gdGhlIHBvc2l0aW9uIG9mIGZp
eGVkIGxheWVycywgdG8gbWFrZQotICAgIC8vIHN1cmUgdGhhdCB0aGV5IGRvIG5vdCBtb3ZlIHdo
aWxlIHNjcm9sbGluZy4KKyAgICAvLyBzdXJlIHRoYXQgdGhleSBkbyBub3QgbW92ZSB3aGlsZSBz
Y3JvbGxpbmcuIFdlIGRvIG5vdCBuZWVkIHRvIGFkZCB0aGlzIGRlbHRhIHRvIGZpeGVkIGxheWVy
cworICAgIC8vIHRoYXQgaGF2ZSBhbiBhbmNlc3RvciB3aGljaCBpcyBhbHNvIGEgZml4ZWQgbGF5
ZXIsIGJlY2F1c2UgdGhlIGRlbHRhIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGFuY2VzdG9yLgorICAg
IFRleHR1cmVNYXBwZXJMYXllciogcGFyZW50ID0gbV9wYXJlbnQ7CisgICAgd2hpbGUgKHBhcmVu
dCAmJiAhcGFyZW50LT5tX2ZpeGVkVG9WaWV3cG9ydCkKKyAgICAgICAgcGFyZW50ID0gcGFyZW50
LT5tX3BhcmVudDsKKworICAgIGlmIChwYXJlbnQpCisgICAgICAgIHJldHVybjsKKwogICAgIG1f
c2Nyb2xsUG9zaXRpb25EZWx0YSA9IGRlbHRhOwogICAgIG1fdHJhbnNmb3JtLnNldFBvc2l0aW9u
KG1fc3RhdGUucG9zICsgbV9zY3JvbGxQb3NpdGlvbkRlbHRhKTsKIH0KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVy
ZU1hcHBlckxheWVyLmgJKHJldmlzaW9uIDExMzg3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtMTI2LDcgKzEyNiw4IEBAIHB1YmxpYzoKICAgICBQYXNzUmVmUHRyPFRleHR1cmVNYXBwZXJC
YWNraW5nU3RvcmU+IGJhY2tpbmdTdG9yZSgpIHsgcmV0dXJuIG1fYmFja2luZ1N0b3JlOyB9CiAg
ICAgdm9pZCBjbGVhckJhY2tpbmdTdG9yZXNSZWN1cnNpdmUoKTsKIAotICAgIHZvaWQgc2V0U2Ny
b2xsUG9zaXRpb25EZWx0YShjb25zdCBJbnRQb2ludCYpOworICAgIHZvaWQgc2V0U2Nyb2xsUG9z
aXRpb25EZWx0YUlmTmVlZGVkKGNvbnN0IEludFBvaW50Jik7CisgICAgdm9pZCBzZXRGaXhlZFRv
Vmlld3BvcnQoYm9vbCBmaXhlZCkgeyBtX2ZpeGVkVG9WaWV3cG9ydCA9IGZpeGVkOyB9CiAKIHBy
aXZhdGU6CiAgICAgVGV4dHVyZU1hcHBlckxheWVyKiByb290TGF5ZXIoKTsKQEAgLTIyMCw2ICsy
MjEsNyBAQCBwcml2YXRlOgogICAgIFRleHR1cmVNYXBwZXIqIG1fdGV4dHVyZU1hcHBlcjsKICAg
ICBUZXh0dXJlTWFwcGVyQW5pbWF0aW9ucyBtX2FuaW1hdGlvbnM7CiAgICAgSW50UG9pbnQgbV9z
Y3JvbGxQb3NpdGlvbkRlbHRhOworICAgIGJvb2wgbV9maXhlZFRvVmlld3BvcnQ7CiB9OwogCiAK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMzkxNCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA0LTExICBZYWVsIEFo
YXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNvbT4KKworICAgICAgICBbUXRdW1dLMl0gTmVzdGVk
IGZpeGVkIGVsZW1lbnRzIHNjcm9sbCB0b28gZmFzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM3MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBTZXQgdGhlIGZpeGVkVG9WaWV3cG9ydCBmbGFnIG9uIHRo
ZSBmaXhlZCBwb3NpdGlvbiBsYXllcnMgYW5kIGFkanVzdCB0bworICAgICAgICB0aGUgbmV3IGZ1
bmN0aW9uIG5hbWUgZm9yIHNldHRpbmcgc2Nyb2xsUG9zaXRpb25EZWx0YS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJMYXllclRyZWVSZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkxheWVyVHJlZVJlbmRlcmVyOjphZGp1c3RQb3NpdGlvbkZvckZpeGVkTGF5ZXJzKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViTGF5ZXJUcmVlUmVuZGVyZXI6OmZsdXNoTGF5ZXJDaGFuZ2VzKToKKwog
MjAxMi0wNC0xMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0dUS10gSW5pdGlhbCBjb29raWVzIEFQSSBmb3IgV2ViS2l0MiBHVEsrIEFQSQpJ
bmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkxheWVyVHJlZVJlbmRlcmVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTGF5ZXJUcmVlUmVuZGVy
ZXIuY3BwCShyZXZpc2lvbiAxMTM4NzEpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
TGF5ZXJUcmVlUmVuZGVyZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNyArMTc5LDcgQEAg
dm9pZCBXZWJMYXllclRyZWVSZW5kZXJlcjo6YWRqdXN0UG9zaXRpbwogCiAgICAgTGF5ZXJNYXA6
Oml0ZXJhdG9yIGVuZCA9IG1fZml4ZWRMYXllcnMuZW5kKCk7CiAgICAgZm9yIChMYXllck1hcDo6
aXRlcmF0b3IgaXQgPSBtX2ZpeGVkTGF5ZXJzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKLSAg
ICAgICAgdG9UZXh0dXJlTWFwcGVyTGF5ZXIoaXQtPnNlY29uZCktPnNldFNjcm9sbFBvc2l0aW9u
RGVsdGEoSW50UG9pbnQoc2Nyb2xsUG9zaXRpb24ueCgpIC0gbV9yZW5kZXJlZENvbnRlbnRzU2Ny
b2xsUG9zaXRpb24ueCgpLCBzY3JvbGxQb3NpdGlvbi55KCkgLSBtX3JlbmRlcmVkQ29udGVudHNT
Y3JvbGxQb3NpdGlvbi55KCkpKTsKKyAgICAgICAgdG9UZXh0dXJlTWFwcGVyTGF5ZXIoaXQtPnNl
Y29uZCktPnNldFNjcm9sbFBvc2l0aW9uRGVsdGFJZk5lZWRlZChJbnRQb2ludChzY3JvbGxQb3Np
dGlvbi54KCkgLSBtX3JlbmRlcmVkQ29udGVudHNTY3JvbGxQb3NpdGlvbi54KCksIHNjcm9sbFBv
c2l0aW9uLnkoKSAtIG1fcmVuZGVyZWRDb250ZW50c1Njcm9sbFBvc2l0aW9uLnkoKSkpOwogfQog
CiB2b2lkIFdlYkxheWVyVHJlZVJlbmRlcmVyOjpkaWRDaGFuZ2VTY3JvbGxQb3NpdGlvbihjb25z
dCBJbnRQb2ludCYgcG9zaXRpb24pCkBAIC0zNTUsNiArMzU1LDEzIEBAIHZvaWQgV2ViTGF5ZXJU
cmVlUmVuZGVyZXI6OmZsdXNoTGF5ZXJDaGEKIAogICAgIC8vIFRoZSBwZW5kaW5nIHRpbGVzIHN0
YXRlIGlzIG9uIGl0cyB3YXkgZm9yIHRoZSBzY3JlZW4sIHRlbGwgdGhlIHdlYiBwcm9jZXNzIHRv
IHJlbmRlciB0aGUgbmV4dCBvbmUuCiAgICAgY2FsbE9uTWFpblRocmVhZChiaW5kKCZXZWJMYXll
clRyZWVSZW5kZXJlcjo6cmVuZGVyTmV4dEZyYW1lLCB0aGlzKSk7CisKKyAgICBpZiAobV9maXhl
ZExheWVycy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAgIExheWVyTWFwOjppdGVy
YXRvciBlbmQgPSBtX2ZpeGVkTGF5ZXJzLmVuZCgpOworICAgIGZvciAoTGF5ZXJNYXA6Oml0ZXJh
dG9yIGl0ID0gbV9maXhlZExheWVycy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAg
IHRvVGV4dHVyZU1hcHBlckxheWVyKGl0LT5zZWNvbmQpLT5zZXRGaXhlZFRvVmlld3BvcnQodHJ1
ZSk7CiB9CiAKIHZvaWQgV2ViTGF5ZXJUcmVlUmVuZGVyZXI6OnJlbmRlck5leHRGcmFtZSgpCg==
</data>
<flag name="review"
          id="141659"
          type_id="1"
          status="-"
          setter="noam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136809</attachid>
            <date>2012-04-11 19:22:46 -0700</date>
            <delta_ts>2012-04-12 05:18:02 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>83720.patch</filename>
            <type>text/plain</type>
            <size>10545</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDExMzky
MikKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA0
LTExICBZYWVsIEFoYXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNvbT4KKworICAgICAgICBbUXRd
W1dLMl0gTmVzdGVkIGZpeGVkIGVsZW1lbnRzIHNjcm9sbCB0b28gZmFzdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM3MjAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1hbnVhbFRlc3RzL2ZpeGVkLXBv
c2l0aW9uLmh0bWw6IEFkZGVkIGEgdGVzdCBmb3IgbmVzdGVkIGZpeGVkIHBvc2l0aW9uIGVsZW1l
bnRzCisgICAgICAgIGFuZCBhIHdheSB0byBhZGQvcmVtb3ZlIHRoZSBmaXhlZCBwYXJlbnQgb2Yg
YSBmaXhlZCBwb3NpdGlvbiBlbGVtZW50LgorCiAyMDEyLTAzLTE1ICBNYXJ0aW4gUm9iaW5zb24g
IDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBbQ0FJUk9dIE1ha2UgR0xDb250ZXh0
R0xYIGEgc3ViY2xhc3Mgb2YgR0xDb250ZXh0CkluZGV4OiBNYW51YWxUZXN0cy9maXhlZC1wb3Np
dGlvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIE1hbnVhbFRlc3RzL2ZpeGVkLXBvc2l0aW9uLmh0bWwJ
KHJldmlzaW9uIDExMzg3MSkKKysrIE1hbnVhbFRlc3RzL2ZpeGVkLXBvc2l0aW9uLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTQsNiArNCw3IEBACiA8c3R5bGU+CiAuZDF7cG9zaXRpb246Zml4ZWQ7
dG9wOjUwJTtyaWdodDo1MCU7ei1pbmRleDoyO292ZXJmbG93OmhpZGRlbjt9CiAuZDJ7cG9zaXRp
b246Zml4ZWQ7Ym90dG9tOjVlbTtsZWZ0OjUwO3otaW5kZXg6MjtvdmVyZmxvdzpoaWRkZW47fQor
LmQze3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTowO2xlZnQ6MDt6LWluZGV4OjI7d2lkdGg6MTAwJTti
YWNrZ3JvdW5kLWNvbG9yOmRhcmtncmF5O30KIC5vIHtiYWNrZ3JvdW5kOmdyZWVuO2hlaWdodDo0
MHB4O3dpZHRoOjIwMHB4O30KIC50IHsgd2lkdGg6MjAwMHB4OyBoZWlnaHQ6MTk4cHg7YmFja2dy
b3VuZC1jb2xvcjogbGlnaHRncmF5OyBib3JkZXI6IDFweCBzb2xpZCBibHVlO30KIGJvZHkgeyBt
YXJnaW46IDBweDsgfQpAQCAtMTEsNyArMTIsNyBAQCBib2R5IHsgbWFyZ2luOiAwcHg7IH0KIDxz
Y3JpcHQ+CiBmdW5jdGlvbiByZW1vdmVfZml4ZWQoKQogewotICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZDEiKS5zdHlsZS5wb3NpdGlvbiA9ICJzdGF0aWMiOworICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZDMiKS5zdHlsZS5wb3NpdGlvbiA9ICJzdGF0aWMiOwogfQogCiBmdW5jdGlvbiBj
aGFuZ2VfZml4ZWQoKQpAQCAtMTksMTAgKzIwLDE3IEBAIGZ1bmN0aW9uIGNoYW5nZV9maXhlZCgp
CiAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkMiIpLnN0eWxlLmJvdHRvbSA9ICIxMGVtIjsK
IH0KIAorZnVuY3Rpb24gYWRkX2ZpeGVkKCkKK3sKKyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImQzIikuc3R5bGUucG9zaXRpb24gPSAiZml4ZWQiOworfQorCiA8L3NjcmlwdD4KIDwvaGVhZD4K
IDxib2R5IGNsYXNzPSJHcmFkaWVudCI+Cis8ZGl2IGNsYXNzPSJkMyIgaWQ9ImQzIj5UaGlzIGlz
IHRoZSBwYXJlbnQgZGl2LgogPGRpdiBjbGFzcz0iZDEiIGlkPSJkMSI+PGRpdiBjbGFzcz0ibyI+
VGhpcyBpcyBhIHRlc3Q8L2Rpdj48L2Rpdj4KKzwvZGl2PgogPGRpdiBjbGFzcz0iZDIiIGlkPSJk
MiI+PGRpdiBjbGFzcz0ibyI+VGhpcyBpcyBhIHRlc3Q8L2Rpdj48L2Rpdj4KIDxkaXYgY2xhc3M9
InQiIG9uY2xpY2s9InJlbW92ZV9maXhlZCgpOyI+CiAwMDAKQEAgLTM2LDcgKzQ0LDggQEAgZnVu
Y3Rpb24gY2hhbmdlX2ZpeGVkKCkKIDxidXR0b24gb25jbGljaz0iY2hhbmdlX2ZpeGVkKCk7Ij5j
aGFuZ2UgZml4ZWQ8L2J1dHRvbj4KIDwvZGl2PgogPGRpdiBjbGFzcz0idCI+Ci02MDAKKzYwMDxi
cj4KKzxidXR0b24gb25jbGljaz0iYWRkX2ZpeGVkKCk7Ij5hZGQgZml4ZWQ8L2J1dHRvbj4KIDwv
ZGl2PgogPGRpdiBjbGFzcz0idCI+CiA4MDAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMzky
MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDI5IEBACisyMDEyLTA0LTExICBZYWVsIEFoYXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNvbT4K
KworICAgICAgICBbUXRdW1dLMl0gTmVzdGVkIGZpeGVkIGVsZW1lbnRzIHNjcm9sbCB0b28gZmFz
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM3MjAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCZWZvcmUg
c2V0dGluZyB0aGUgc2Nyb2xsUG9zaXRpb25EZWx0YSB0byBhIGZpeGVkIGxheWVyLCBjaGVjayBp
ZiBpdCBoYXMgYW4gYW5jZXN0b3Igd2hpY2ggYWxzbyBoYXMgZml4ZWQgcG9zaXRpb24uCisgICAg
ICAgIElmIGl0IGRvZXMsIGRvIG5vdCBzZXQgc2Nyb2xsUG9zaXRpb25EZWx0YS4KKyAgICAgICAg
QWRkZWQgYSBmbGFnIHRvIFRleHR1cmVNYXBwZXJMYXllciBhbmQgR3JhcGhpY3NMYXllclRleHR1
cmVNYXBwZXIgaW5kaWNhdGluZyBpZiBpdCBpcyBhIGZpeGVkIHBvc2l0aW9uIGxheWVyLgorCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFw
cGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyOjpH
cmFwaGljc0xheWVyVGV4dHVyZU1hcHBlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0xheWVyVGV4dHVyZU1hcHBlcjo6c2V0Rml4ZWRUb1ZpZXdwb3J0KToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyOjpmaXhlZFRvVmlld3BvcnQpOgor
ICAgICAgICAoR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VGV4dHVyZU1hcHBlckxheWVyOjpzeW5jQ29tcG9zaXRpbmdTdGF0ZVNlbGYpOgorICAgICAg
ICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyOjppc0FuY2VzdG9yRml4ZWRUb1ZpZXdwb3J0
KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxh
eWVyOjpzZXRTY3JvbGxQb3NpdGlvbkRlbHRhSWZOZWVkZWQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaDoKKyAgICAgICAgKFRleHR1cmVN
YXBwZXJMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXI6OnNldEZp
eGVkVG9WaWV3cG9ydCk6CisKIDIwMTItMDQtMTEgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBw
bGUuY29tPgogCiAgICAgICAgIFNwbGl0IENTU1N0eWxlU2hlZXQgaW50byBpbnRlcm5hbCBhbmQg
Q1NTT00gdHlwZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIu
Y3BwCShyZXZpc2lvbiAxMTM4NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yOSw2ICsyOSw3IEBAIEdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyOjpHcmFwaGljc0xheWUK
ICAgICAsIG1fbGF5ZXIoYWRvcHRQdHIobmV3IFRleHR1cmVNYXBwZXJMYXllcigpKSkKICAgICAs
IG1fY2hhbmdlTWFzaygwKQogICAgICwgbV9uZWVkc0Rpc3BsYXkoZmFsc2UpCisgICAgLCBtX2Zp
eGVkVG9WaWV3cG9ydChmYWxzZSkKICAgICAsIG1fY29udGVudHNMYXllcigwKQogICAgICwgbV9h
bmltYXRpb25TdGFydGVkVGltZXIodGhpcywgJkdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyOjph
bmltYXRpb25TdGFydGVkVGltZXJGaXJlZCkKIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xh
eWVyVGV4dHVyZU1hcHBlci5oCShyZXZpc2lvbiAxMTM4NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtOTQsNiArOTQsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHNl
dEZpbHRlcnMoY29uc3QgRmlsdGVyT3BlcmF0aW9ucyYpOwogI2VuZGlmCiAKKyAgICB2b2lkIHNl
dEZpeGVkVG9WaWV3cG9ydChib29sIGZpeGVkKSB7IG1fZml4ZWRUb1ZpZXdwb3J0ID0gZml4ZWQ7
IH0KKyAgICBib29sIGZpeGVkVG9WaWV3cG9ydCgpIGNvbnN0IHsgcmV0dXJuIG1fZml4ZWRUb1Zp
ZXdwb3J0OyB9CisKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHdpbGxCZURlc3Ryb3llZCgp
OwogCkBAIC0xMDMsNiArMTA2LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fc3luY1F1ZXVlZDsK
ICAgICBpbnQgbV9jaGFuZ2VNYXNrOwogICAgIGJvb2wgbV9uZWVkc0Rpc3BsYXk7CisgICAgYm9v
bCBtX2ZpeGVkVG9WaWV3cG9ydDsKICAgICBUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllciogbV9j
b250ZW50c0xheWVyOwogICAgIEZsb2F0UmVjdCBtX25lZWRzRGlzcGxheVJlY3Q7CiAgICAgVGV4
dHVyZU1hcHBlckFuaW1hdGlvbnMgbV9hbmltYXRpb25zOwpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJMYXllci5jcHAJKHJldmlzaW9uIDExMzg3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00MjcsNiArNDI3LDcgQEAgdm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnN5bmNDb21wb3NpdGlu
ZwogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKICAgICBtX3N0YXRlLmZpbHRlcnMgPSBncmFwaGlj
c0xheWVyLT5maWx0ZXJzKCk7CiAjZW5kaWYKKyAgICBtX2ZpeGVkVG9WaWV3cG9ydCA9IGdyYXBo
aWNzTGF5ZXItPmZpeGVkVG9WaWV3cG9ydCgpOwogCiAgICAgbV9zdGF0ZS5uZWVkc0Rpc3BsYXkg
PSBtX3N0YXRlLm5lZWRzRGlzcGxheSB8fCBncmFwaGljc0xheWVyLT5uZWVkc0Rpc3BsYXkoKTsK
ICAgICBpZiAoIW1fc3RhdGUubmVlZHNEaXNwbGF5KQpAQCAtNTExLDEyICs1MTIsMjYgQEAgdm9p
ZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnN5bmNDb21wb3NpdGluZwogICAgIH0KIH0KIAotdm9pZCBU
ZXh0dXJlTWFwcGVyTGF5ZXI6OnNldFNjcm9sbFBvc2l0aW9uRGVsdGEoY29uc3QgSW50UG9pbnQm
IGRlbHRhKQorYm9vbCBUZXh0dXJlTWFwcGVyTGF5ZXI6OmlzQW5jZXN0b3JGaXhlZFRvVmlld3Bv
cnQoKSBjb25zdAoreworICAgIGZvciAoVGV4dHVyZU1hcHBlckxheWVyKiBwYXJlbnQgPSBtX3Bh
cmVudDtwYXJlbnQ7cGFyZW50ID0gcGFyZW50LT5tX3BhcmVudCkgeworICAgICAgICBpZiAocGFy
ZW50LT5tX2ZpeGVkVG9WaWV3cG9ydCkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0K
KworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnNldFNj
cm9sbFBvc2l0aW9uRGVsdGFJZk5lZWRlZChjb25zdCBJbnRQb2ludCYgZGVsdGEpCiB7CiAgICAg
Ly8gZGVsdGEgaXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgc2Nyb2xsIG9mZnNldCBpbiB0
aGUgdWkgcHJvY2VzcyBhbmQgdGhlIHNjcm9sbCBvZmZzZXQKICAgICAvLyBpbiB0aGUgd2ViIHBy
b2Nlc3MuIFdlIGFkZCB0aGlzIGRlbHRhIHRvIHRoZSBwb3NpdGlvbiBvZiBmaXhlZCBsYXllcnMs
IHRvIG1ha2UKLSAgICAvLyBzdXJlIHRoYXQgdGhleSBkbyBub3QgbW92ZSB3aGlsZSBzY3JvbGxp
bmcuCi0gICAgbV9zY3JvbGxQb3NpdGlvbkRlbHRhID0gZGVsdGE7CisgICAgLy8gc3VyZSB0aGF0
IHRoZXkgZG8gbm90IG1vdmUgd2hpbGUgc2Nyb2xsaW5nLiBXZSBuZWVkIHRvIHJlc2V0IHRoaXMg
ZGVsdGEgdG8gZml4ZWQgbGF5ZXJzCisgICAgLy8gdGhhdCBoYXZlIGFuIGFuY2VzdG9yIHdoaWNo
IGlzIGFsc28gYSBmaXhlZCBsYXllciwgYmVjYXVzZSB0aGUgZGVsdGEgd2lsbCBiZSBhZGRlZCB0
byB0aGUgYW5jZXN0b3IuCisgICAgaWYgKGlzQW5jZXN0b3JGaXhlZFRvVmlld3BvcnQoKSkKKyAg
ICAgICAgbV9zY3JvbGxQb3NpdGlvbkRlbHRhID0gSW50UG9pbnQoKTsKKyAgICBlbHNlCisgICAg
ICAgIG1fc2Nyb2xsUG9zaXRpb25EZWx0YSA9IGRlbHRhOwogICAgIG1fdHJhbnNmb3JtLnNldFBv
c2l0aW9uKG1fc3RhdGUucG9zICsgbV9zY3JvbGxQb3NpdGlvbkRlbHRhKTsKIH0KIApJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXll
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyTGF5ZXIuaAkocmV2aXNpb24gMTEzODcxKQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xMjYsNyArMTI2LDggQEAgcHVibGljOgogICAgIFBhc3NSZWZQdHI8VGV4dHVy
ZU1hcHBlckJhY2tpbmdTdG9yZT4gYmFja2luZ1N0b3JlKCkgeyByZXR1cm4gbV9iYWNraW5nU3Rv
cmU7IH0KICAgICB2b2lkIGNsZWFyQmFja2luZ1N0b3Jlc1JlY3Vyc2l2ZSgpOwogCi0gICAgdm9p
ZCBzZXRTY3JvbGxQb3NpdGlvbkRlbHRhKGNvbnN0IEludFBvaW50Jik7CisgICAgdm9pZCBzZXRT
Y3JvbGxQb3NpdGlvbkRlbHRhSWZOZWVkZWQoY29uc3QgSW50UG9pbnQmKTsKKyAgICB2b2lkIHNl
dEZpeGVkVG9WaWV3cG9ydChib29sIGZpeGVkKSB7IG1fZml4ZWRUb1ZpZXdwb3J0ID0gZml4ZWQ7
IH0KIAogcHJpdmF0ZToKICAgICBUZXh0dXJlTWFwcGVyTGF5ZXIqIHJvb3RMYXllcigpOwpAQCAt
MTQ1LDYgKzE0Niw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgc29ydEJ5Wk9yZGVyKFZl
Y3RvcjxUZXh0dXJlTWFwcGVyTGF5ZXIqID4mIGFycmF5LCBpbnQgZmlyc3QsIGludCBsYXN0KTsK
IAogICAgIFBhc3NSZWZQdHI8Qml0bWFwVGV4dHVyZT4gdGV4dHVyZSgpIHsgcmV0dXJuIG1fYmFj
a2luZ1N0b3JlID8gbV9iYWNraW5nU3RvcmUtPnRleHR1cmUoKSA6IDA7IH0KKyAgICBib29sIGlz
QW5jZXN0b3JGaXhlZFRvVmlld3BvcnQoKSBjb25zdDsKIAogICAgIHZvaWQgcGFpbnRSZWN1cnNp
dmUoY29uc3QgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyYpOwogICAgIHZvaWQgcGFpbnRTZWxm
KGNvbnN0IFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmKTsKQEAgLTIyMCw2ICsyMjIsNyBAQCBw
cml2YXRlOgogICAgIFRleHR1cmVNYXBwZXIqIG1fdGV4dHVyZU1hcHBlcjsKICAgICBUZXh0dXJl
TWFwcGVyQW5pbWF0aW9ucyBtX2FuaW1hdGlvbnM7CiAgICAgSW50UG9pbnQgbV9zY3JvbGxQb3Np
dGlvbkRlbHRhOworICAgIGJvb2wgbV9maXhlZFRvVmlld3BvcnQ7CiB9OwogCiAKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cJKHJldmlzaW9uIDExMzkyMikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA0LTExICBZYWVsIEFoYXJvbiAgPHlh
ZWwuYWhhcm9uQG5va2lhLmNvbT4KKworICAgICAgICBbUXRdW1dLMl0gTmVzdGVkIGZpeGVkIGVs
ZW1lbnRzIHNjcm9sbCB0b28gZmFzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODM3MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBTZXQgdGhlIGZpeGVkVG9WaWV3cG9ydCBmbGFnIG9uIHRoZSBmaXhlZCBw
b3NpdGlvbiBsYXllcnMgYW5kIGFkanVzdCB0bworICAgICAgICB0aGUgbmV3IGZ1bmN0aW9uIG5h
bWUgZm9yIHNldHRpbmcgc2Nyb2xsUG9zaXRpb25EZWx0YS4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJMYXllclRyZWVSZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkxheWVyVHJl
ZVJlbmRlcmVyOjphZGp1c3RQb3NpdGlvbkZvckZpeGVkTGF5ZXJzKToKKyAgICAgICAgKFdlYktp
dDo6V2ViTGF5ZXJUcmVlUmVuZGVyZXI6OnNldExheWVyU3RhdGUpOgorCiAyMDEyLTA0LTExICBD
YXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RL
XSBJbml0aWFsIGNvb2tpZXMgQVBJIGZvciBXZWJLaXQyIEdUSysgQVBJCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJMYXllclRyZWVSZW5kZXJlci5jcHAJKHJldmlz
aW9uIDExMzg3MSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJMYXllclRyZWVSZW5k
ZXJlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3OSw3ICsxNzksNyBAQCB2b2lkIFdlYkxheWVy
VHJlZVJlbmRlcmVyOjphZGp1c3RQb3NpdGlvCiAKICAgICBMYXllck1hcDo6aXRlcmF0b3IgZW5k
ID0gbV9maXhlZExheWVycy5lbmQoKTsKICAgICBmb3IgKExheWVyTWFwOjppdGVyYXRvciBpdCA9
IG1fZml4ZWRMYXllcnMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQotICAgICAgICB0b1RleHR1
cmVNYXBwZXJMYXllcihpdC0+c2Vjb25kKS0+c2V0U2Nyb2xsUG9zaXRpb25EZWx0YShJbnRQb2lu
dChzY3JvbGxQb3NpdGlvbi54KCkgLSBtX3JlbmRlcmVkQ29udGVudHNTY3JvbGxQb3NpdGlvbi54
KCksIHNjcm9sbFBvc2l0aW9uLnkoKSAtIG1fcmVuZGVyZWRDb250ZW50c1Njcm9sbFBvc2l0aW9u
LnkoKSkpOworICAgICAgICB0b1RleHR1cmVNYXBwZXJMYXllcihpdC0+c2Vjb25kKS0+c2V0U2Ny
b2xsUG9zaXRpb25EZWx0YUlmTmVlZGVkKEludFBvaW50KHNjcm9sbFBvc2l0aW9uLngoKSAtIG1f
cmVuZGVyZWRDb250ZW50c1Njcm9sbFBvc2l0aW9uLngoKSwgc2Nyb2xsUG9zaXRpb24ueSgpIC0g
bV9yZW5kZXJlZENvbnRlbnRzU2Nyb2xsUG9zaXRpb24ueSgpKSk7CiB9CiAKIHZvaWQgV2ViTGF5
ZXJUcmVlUmVuZGVyZXI6OmRpZENoYW5nZVNjcm9sbFBvc2l0aW9uKGNvbnN0IEludFBvaW50JiBw
b3NpdGlvbikKQEAgLTIyNiw2ICsyMjYsNyBAQCB2b2lkIFdlYkxheWVyVHJlZVJlbmRlcmVyOjpz
ZXRMYXllclN0YXRlCiAgICAgbGF5ZXItPnNldENvbnRlbnRzT3BhcXVlKGxheWVySW5mby5jb250
ZW50c09wYXF1ZSk7CiAgICAgbGF5ZXItPnNldENvbnRlbnRzUmVjdChsYXllckluZm8uY29udGVu
dHNSZWN0KTsKICAgICBsYXllci0+c2V0RHJhd3NDb250ZW50KGxheWVySW5mby5kcmF3c0NvbnRl
bnQpOworICAgIHRvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIobGF5ZXIpLT5zZXRGaXhlZFRv
Vmlld3BvcnQobGF5ZXJJbmZvLmZpeGVkVG9WaWV3cG9ydCk7CiAKICAgICBpZiAobGF5ZXJJbmZv
LmZpeGVkVG9WaWV3cG9ydCkKICAgICAgICAgbV9maXhlZExheWVycy5hZGQoaWQsIGxheWVyKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136881</attachid>
            <date>2012-04-12 05:18:02 -0700</date>
            <delta_ts>2012-04-12 08:35:31 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>83720.patch</filename>
            <type>text/plain</type>
            <size>10690</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDExMzky
MikKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDEyLTA0
LTExICBZYWVsIEFoYXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNvbT4KKworICAgICAgICBbUXRd
W1dLMl0gTmVzdGVkIGZpeGVkIGVsZW1lbnRzIHNjcm9sbCB0b28gZmFzdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM3MjAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1hbnVhbFRlc3RzL25lc3RlZC1m
aXhlZC1wb3NpdGlvbi5odG1sOiBBZGRlZC4KKwogMjAxMi0wMy0xNSAgTWFydGluIFJvYmluc29u
ICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NBSVJPXSBNYWtlIEdMQ29udGV4
dEdMWCBhIHN1YmNsYXNzIG9mIEdMQ29udGV4dApJbmRleDogTWFudWFsVGVzdHMvbmVzdGVkLWZp
eGVkLXBvc2l0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTWFudWFsVGVzdHMvbmVzdGVkLWZpeGVk
LXBvc2l0aW9uLmh0bWwJKHJldmlzaW9uIDApCisrKyBNYW51YWxUZXN0cy9uZXN0ZWQtZml4ZWQt
cG9zaXRpb24uaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw5MyBAQAorPGh0bWw+PGhlYWQ+
CisKKzxtZXRhIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTEiIGh0dHAt
ZXF1aXY9IkNvbnRlbnQtVHlwZSI+Cis8c3R5bGU+CisuZDF7cG9zaXRpb246Zml4ZWQ7dG9wOjUw
JTtyaWdodDo1MCU7ei1pbmRleDoyO292ZXJmbG93OmhpZGRlbjt9CisuZDJ7cG9zaXRpb246Zml4
ZWQ7Ym90dG9tOjA7bGVmdDowO3otaW5kZXg6Mjt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6
ZGFya2dyYXk7fQorLm8ge2JhY2tncm91bmQ6Z3JlZW47aGVpZ2h0OjQwcHg7d2lkdGg6MjAwcHg7
fQorLnQgeyB3aWR0aDoyMDAwcHg7IGhlaWdodDoxOThweDtiYWNrZ3JvdW5kLWNvbG9yOiBsaWdo
dGdyYXk7IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7fQorYm9keSB7IG1hcmdpbjogMHB4OyB9Cis8
L3N0eWxlPgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJlbW92ZV9maXhlZCgpCit7CisgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJkMiIpLnN0eWxlLnBvc2l0aW9uID0gInN0YXRpYyI7Cit9CisKK2Z1
bmN0aW9uIGFkZF9maXhlZCgpCit7CisgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkMiIpLnN0
eWxlLnBvc2l0aW9uID0gImZpeGVkIjsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXYgY2xhc3M9ImQyIiBpZD0iZDIiPlRoaXMgaXMgdGhlIHBhcmVudCBkaXYuCis8ZGl2IGNs
YXNzPSJkMSIgaWQ9ImQxIj48ZGl2IGNsYXNzPSJvIj5UaGlzIGlzIHRoZSBuZXN0ZWQgZGl2Ljwv
ZGl2PjwvZGl2PgorPC9kaXY+Cis8ZGl2IGNsYXNzPSJ0Ij4KKzAwMAorPC9kaXY+Cis8ZGl2IGNs
YXNzPSJ0Ij4KKzIwMAorPC9kaXY+Cis8ZGl2IGNsYXNzPSJ0Ij4KKzQwMDxicj4KKzxidXR0b24g
b25jbGljaz0icmVtb3ZlX2ZpeGVkKCk7Ij5yZW1vdmUgZml4ZWQ8L2J1dHRvbj4KKzwvZGl2Pgor
PGRpdiBjbGFzcz0idCI+Cis2MDA8YnI+Cis8YnV0dG9uIG9uY2xpY2s9ImFkZF9maXhlZCgpOyI+
YWRkIGZpeGVkPC9idXR0b24+Cis8L2Rpdj4KKzxkaXYgY2xhc3M9InQiPgorODAwCis8L2Rpdj4K
KzxkaXYgY2xhc3M9InQiPgorMTAwMAorPC9kaXY+Cis8ZGl2IGNsYXNzPSJ0Ij4KKzEyMDAKKzwv
ZGl2PgorPGRpdiBjbGFzcz0idCI+CisxNDAwCis8L2Rpdj4KKzxkaXYgY2xhc3M9InQiPgorMTYw
MAorPC9kaXY+Cis8ZGl2IGNsYXNzPSJ0Ij4KKzE4MDAKKzwvZGl2PgorPGRpdiBjbGFzcz0idCI+
CisyMDAwCis8L2Rpdj4KKzxkaXYgY2xhc3M9InQiPgorMjIwMAorPC9kaXY+Cis8ZGl2IGNsYXNz
PSJ0Ij4KKzI0MDAKKzwvZGl2PgorPGRpdiBjbGFzcz0idCI+CisyNjAwCis8L2Rpdj4KKzxkaXYg
Y2xhc3M9InQiPgorMjgwMAorPC9kaXY+Cis8ZGl2IGNsYXNzPSJ0Ij4KKzMwMDAKKzwvZGl2Pgor
PGRpdiBjbGFzcz0idCI+CiszMjAwCis8L2Rpdj4KKzxkaXYgY2xhc3M9InQiPgorMzQwMAorPC9k
aXY+Cis8ZGl2IGNsYXNzPSJ0Ij4KKzM2MDAKKzwvZGl2PgorPGRpdiBjbGFzcz0idCI+CiszODAw
Cis8L2Rpdj4KKzxkaXYgY2xhc3M9InQiPgorNDAwMAorPC9kaXY+Cis8L2JvZHk+PC9odG1sPgpJ
bmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTEzOTIyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTItMDQtMTEgIFlhZWwgQWhh
cm9uICA8eWFlbC5haGFyb25Abm9raWEuY29tPgorCisgICAgICAgIFtRdF1bV0syXSBOZXN0ZWQg
Zml4ZWQgZWxlbWVudHMgc2Nyb2xsIHRvbyBmYXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MzcyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEJlZm9yZSBzZXR0aW5nIHRoZSBzY3JvbGxQb3NpdGlvbkRl
bHRhIHRvIGEgZml4ZWQgbGF5ZXIsIGNoZWNrIGlmIGl0IGhhcyBhbiBhbmNlc3RvciB3aGljaCBh
bHNvIGhhcyBmaXhlZCBwb3NpdGlvbi4KKyAgICAgICAgSWYgaXQgZG9lcywgZG8gbm90IHNldCBz
Y3JvbGxQb3NpdGlvbkRlbHRhLgorICAgICAgICBBZGRlZCBhIGZsYWcgdG8gVGV4dHVyZU1hcHBl
ckxheWVyIGFuZCBHcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlciBpbmRpY2F0aW5nIGlmIGl0IGlz
IGEgZml4ZWQgcG9zaXRpb24gbGF5ZXIuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXI6OkdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVN
YXBwZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyOjpz
ZXRGaXhlZFRvVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllclRleHR1
cmVNYXBwZXI6OmZpeGVkVG9WaWV3cG9ydCk6CisgICAgICAgIChHcmFwaGljc0xheWVyVGV4dHVy
ZU1hcHBlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXI6OnN5bmND
b21wb3NpdGluZ1N0YXRlU2VsZik6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5
ZXI6OmlzQW5jZXN0b3JGaXhlZFRvVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXI6OnNldFNjcm9sbFBvc2l0aW9uRGVsdGFJ
Zk5lZWRlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJMYXllci5oOgorICAgICAgICAoVGV4dHVyZU1hcHBlckxheWVyKToKKyAgICAgICAgKFdlYkNv
cmU6OlRleHR1cmVNYXBwZXJMYXllcjo6c2V0Rml4ZWRUb1ZpZXdwb3J0KToKKwogMjAxMi0wNC0x
MSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgU3BsaXQgQ1NT
U3R5bGVTaGVldCBpbnRvIGludGVybmFsIGFuZCBDU1NPTSB0eXBlCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5jcHAJKHJldmlzaW9uIDExMzg3MSkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVy
ZU1hcHBlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAgR3JhcGhpY3NMYXll
clRleHR1cmVNYXBwZXI6OkdyYXBoaWNzTGF5ZQogICAgICwgbV9sYXllcihhZG9wdFB0cihuZXcg
VGV4dHVyZU1hcHBlckxheWVyKCkpKQogICAgICwgbV9jaGFuZ2VNYXNrKDApCiAgICAgLCBtX25l
ZWRzRGlzcGxheShmYWxzZSkKKyAgICAsIG1fZml4ZWRUb1ZpZXdwb3J0KGZhbHNlKQogICAgICwg
bV9jb250ZW50c0xheWVyKDApCiAgICAgLCBtX2FuaW1hdGlvblN0YXJ0ZWRUaW1lcih0aGlzLCAm
R3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXI6OmFuaW1hdGlvblN0YXJ0ZWRUaW1lckZpcmVkKQog
ewpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNz
TGF5ZXJUZXh0dXJlTWFwcGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmgJKHJldmlzaW9u
IDExMzg3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFw
aGljc0xheWVyVGV4dHVyZU1hcHBlci5oCSh3b3JraW5nIGNvcHkpCkBAIC05NCw2ICs5NCw5IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgc2V0RmlsdGVycyhjb25zdCBGaWx0ZXJPcGVyYXRp
b25zJik7CiAjZW5kaWYKIAorICAgIHZvaWQgc2V0Rml4ZWRUb1ZpZXdwb3J0KGJvb2wgZml4ZWQp
IHsgbV9maXhlZFRvVmlld3BvcnQgPSBmaXhlZDsgfQorICAgIGJvb2wgZml4ZWRUb1ZpZXdwb3J0
KCkgY29uc3QgeyByZXR1cm4gbV9maXhlZFRvVmlld3BvcnQ7IH0KKwogcHJpdmF0ZToKICAgICB2
aXJ0dWFsIHZvaWQgd2lsbEJlRGVzdHJveWVkKCk7CiAKQEAgLTEwMyw2ICsxMDYsNyBAQCBwcml2
YXRlOgogICAgIGJvb2wgbV9zeW5jUXVldWVkOwogICAgIGludCBtX2NoYW5nZU1hc2s7CiAgICAg
Ym9vbCBtX25lZWRzRGlzcGxheTsKKyAgICBib29sIG1fZml4ZWRUb1ZpZXdwb3J0OwogICAgIFRl
eHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyKiBtX2NvbnRlbnRzTGF5ZXI7CiAgICAgRmxvYXRSZWN0
IG1fbmVlZHNEaXNwbGF5UmVjdDsKICAgICBUZXh0dXJlTWFwcGVyQW5pbWF0aW9ucyBtX2FuaW1h
dGlvbnM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4
dHVyZU1hcHBlckxheWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcAkocmV2aXNpb24gMTEzODcx
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJMYXllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyNyw2ICs0MjcsNyBAQCB2b2lkIFRleHR1
cmVNYXBwZXJMYXllcjo6c3luY0NvbXBvc2l0aW5nCiAjaWYgRU5BQkxFKENTU19GSUxURVJTKQog
ICAgIG1fc3RhdGUuZmlsdGVycyA9IGdyYXBoaWNzTGF5ZXItPmZpbHRlcnMoKTsKICNlbmRpZgor
ICAgIG1fZml4ZWRUb1ZpZXdwb3J0ID0gZ3JhcGhpY3NMYXllci0+Zml4ZWRUb1ZpZXdwb3J0KCk7
CiAKICAgICBtX3N0YXRlLm5lZWRzRGlzcGxheSA9IG1fc3RhdGUubmVlZHNEaXNwbGF5IHx8IGdy
YXBoaWNzTGF5ZXItPm5lZWRzRGlzcGxheSgpOwogICAgIGlmICghbV9zdGF0ZS5uZWVkc0Rpc3Bs
YXkpCkBAIC01MTEsMTIgKzUxMiwyNiBAQCB2b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6c3luY0Nv
bXBvc2l0aW5nCiAgICAgfQogfQogCi12b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6c2V0U2Nyb2xs
UG9zaXRpb25EZWx0YShjb25zdCBJbnRQb2ludCYgZGVsdGEpCitib29sIFRleHR1cmVNYXBwZXJM
YXllcjo6aXNBbmNlc3RvckZpeGVkVG9WaWV3cG9ydCgpIGNvbnN0Cit7CisgICAgZm9yIChUZXh0
dXJlTWFwcGVyTGF5ZXIqIHBhcmVudCA9IG1fcGFyZW50OyBwYXJlbnQ7IHBhcmVudCA9IHBhcmVu
dC0+bV9wYXJlbnQpIHsKKyAgICAgICAgaWYgKHBhcmVudC0+bV9maXhlZFRvVmlld3BvcnQpCisg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
K3ZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpzZXRTY3JvbGxQb3NpdGlvbkRlbHRhSWZOZWVkZWQo
Y29uc3QgSW50UG9pbnQmIGRlbHRhKQogewogICAgIC8vIGRlbHRhIGlzIHRoZSBkaWZmZXJlbmNl
IGJldHdlZW4gdGhlIHNjcm9sbCBvZmZzZXQgaW4gdGhlIHVpIHByb2Nlc3MgYW5kIHRoZSBzY3Jv
bGwgb2Zmc2V0CiAgICAgLy8gaW4gdGhlIHdlYiBwcm9jZXNzLiBXZSBhZGQgdGhpcyBkZWx0YSB0
byB0aGUgcG9zaXRpb24gb2YgZml4ZWQgbGF5ZXJzLCB0byBtYWtlCi0gICAgLy8gc3VyZSB0aGF0
IHRoZXkgZG8gbm90IG1vdmUgd2hpbGUgc2Nyb2xsaW5nLgotICAgIG1fc2Nyb2xsUG9zaXRpb25E
ZWx0YSA9IGRlbHRhOworICAgIC8vIHN1cmUgdGhhdCB0aGV5IGRvIG5vdCBtb3ZlIHdoaWxlIHNj
cm9sbGluZy4gV2UgbmVlZCB0byByZXNldCB0aGlzIGRlbHRhIHRvIGZpeGVkIGxheWVycworICAg
IC8vIHRoYXQgaGF2ZSBhbiBhbmNlc3RvciB3aGljaCBpcyBhbHNvIGEgZml4ZWQgbGF5ZXIsIGJl
Y2F1c2UgdGhlIGRlbHRhIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGFuY2VzdG9yLgorICAgIGlmIChp
c0FuY2VzdG9yRml4ZWRUb1ZpZXdwb3J0KCkpCisgICAgICAgIG1fc2Nyb2xsUG9zaXRpb25EZWx0
YSA9IEludFBvaW50KCk7CisgICAgZWxzZQorICAgICAgICBtX3Njcm9sbFBvc2l0aW9uRGVsdGEg
PSBkZWx0YTsKICAgICBtX3RyYW5zZm9ybS5zZXRQb3NpdGlvbihtX3N0YXRlLnBvcyArIG1fc2Ny
b2xsUG9zaXRpb25EZWx0YSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmgJKHJl
dmlzaW9uIDExMzg3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyTGF5ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTI2LDcgKzEyNiw4IEBA
IHB1YmxpYzoKICAgICBQYXNzUmVmUHRyPFRleHR1cmVNYXBwZXJCYWNraW5nU3RvcmU+IGJhY2tp
bmdTdG9yZSgpIHsgcmV0dXJuIG1fYmFja2luZ1N0b3JlOyB9CiAgICAgdm9pZCBjbGVhckJhY2tp
bmdTdG9yZXNSZWN1cnNpdmUoKTsKIAotICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb25EZWx0YShj
b25zdCBJbnRQb2ludCYpOworICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb25EZWx0YUlmTmVlZGVk
KGNvbnN0IEludFBvaW50Jik7CisgICAgdm9pZCBzZXRGaXhlZFRvVmlld3BvcnQoYm9vbCBmaXhl
ZCkgeyBtX2ZpeGVkVG9WaWV3cG9ydCA9IGZpeGVkOyB9CiAKIHByaXZhdGU6CiAgICAgVGV4dHVy
ZU1hcHBlckxheWVyKiByb290TGF5ZXIoKTsKQEAgLTE0NSw2ICsxNDYsNyBAQCBwcml2YXRlOgog
ICAgIHN0YXRpYyB2b2lkIHNvcnRCeVpPcmRlcihWZWN0b3I8VGV4dHVyZU1hcHBlckxheWVyKiA+
JiBhcnJheSwgaW50IGZpcnN0LCBpbnQgbGFzdCk7CiAKICAgICBQYXNzUmVmUHRyPEJpdG1hcFRl
eHR1cmU+IHRleHR1cmUoKSB7IHJldHVybiBtX2JhY2tpbmdTdG9yZSA/IG1fYmFja2luZ1N0b3Jl
LT50ZXh0dXJlKCkgOiAwOyB9CisgICAgYm9vbCBpc0FuY2VzdG9yRml4ZWRUb1ZpZXdwb3J0KCkg
Y29uc3Q7CiAKICAgICB2b2lkIHBhaW50UmVjdXJzaXZlKGNvbnN0IFRleHR1cmVNYXBwZXJQYWlu
dE9wdGlvbnMmKTsKICAgICB2b2lkIHBhaW50U2VsZihjb25zdCBUZXh0dXJlTWFwcGVyUGFpbnRP
cHRpb25zJik7CkBAIC0yMjAsNiArMjIyLDcgQEAgcHJpdmF0ZToKICAgICBUZXh0dXJlTWFwcGVy
KiBtX3RleHR1cmVNYXBwZXI7CiAgICAgVGV4dHVyZU1hcHBlckFuaW1hdGlvbnMgbV9hbmltYXRp
b25zOwogICAgIEludFBvaW50IG1fc2Nyb2xsUG9zaXRpb25EZWx0YTsKKyAgICBib29sIG1fZml4
ZWRUb1ZpZXdwb3J0OwogfTsKIAogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMTM5MjIpCisr
KyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBA
QAorMjAxMi0wNC0xMSAgWWFlbCBBaGFyb24gIDx5YWVsLmFoYXJvbkBub2tpYS5jb20+CisKKyAg
ICAgICAgW1F0XVtXSzJdIE5lc3RlZCBmaXhlZCBlbGVtZW50cyBzY3JvbGwgdG9vIGZhc3QKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNzIwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2V0IHRoZSBmaXhl
ZFRvVmlld3BvcnQgZmxhZyBvbiB0aGUgZml4ZWQgcG9zaXRpb24gbGF5ZXJzIGFuZCBhZGp1c3Qg
dG8KKyAgICAgICAgdGhlIG5ldyBmdW5jdGlvbiBuYW1lIGZvciBzZXR0aW5nIHNjcm9sbFBvc2l0
aW9uRGVsdGEuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViTGF5ZXJUcmVlUmVuZGVyZXIuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJMYXllclRyZWVSZW5kZXJlcjo6YWRqdXN0UG9zaXRpb25G
b3JGaXhlZExheWVycyk6CisgICAgICAgIChXZWJLaXQ6OldlYkxheWVyVHJlZVJlbmRlcmVyOjpz
ZXRMYXllclN0YXRlKToKKwogMjAxMi0wNC0xMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2Fy
Y2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gSW5pdGlhbCBjb29raWVzIEFQSSBmb3Ig
V2ViS2l0MiBHVEsrIEFQSQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkxheWVy
VHJlZVJlbmRlcmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCShyZXZpc2lvbiAxMTM4NzEpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xNzksNyArMTc5LDcgQEAgdm9pZCBXZWJMYXllclRyZWVSZW5kZXJlcjo6YWRqdXN0UG9zaXRp
bwogCiAgICAgTGF5ZXJNYXA6Oml0ZXJhdG9yIGVuZCA9IG1fZml4ZWRMYXllcnMuZW5kKCk7CiAg
ICAgZm9yIChMYXllck1hcDo6aXRlcmF0b3IgaXQgPSBtX2ZpeGVkTGF5ZXJzLmJlZ2luKCk7IGl0
ICE9IGVuZDsgKytpdCkKLSAgICAgICAgdG9UZXh0dXJlTWFwcGVyTGF5ZXIoaXQtPnNlY29uZCkt
PnNldFNjcm9sbFBvc2l0aW9uRGVsdGEoSW50UG9pbnQoc2Nyb2xsUG9zaXRpb24ueCgpIC0gbV9y
ZW5kZXJlZENvbnRlbnRzU2Nyb2xsUG9zaXRpb24ueCgpLCBzY3JvbGxQb3NpdGlvbi55KCkgLSBt
X3JlbmRlcmVkQ29udGVudHNTY3JvbGxQb3NpdGlvbi55KCkpKTsKKyAgICAgICAgdG9UZXh0dXJl
TWFwcGVyTGF5ZXIoaXQtPnNlY29uZCktPnNldFNjcm9sbFBvc2l0aW9uRGVsdGFJZk5lZWRlZChJ
bnRQb2ludChzY3JvbGxQb3NpdGlvbi54KCkgLSBtX3JlbmRlcmVkQ29udGVudHNTY3JvbGxQb3Np
dGlvbi54KCksIHNjcm9sbFBvc2l0aW9uLnkoKSAtIG1fcmVuZGVyZWRDb250ZW50c1Njcm9sbFBv
c2l0aW9uLnkoKSkpOwogfQogCiB2b2lkIFdlYkxheWVyVHJlZVJlbmRlcmVyOjpkaWRDaGFuZ2VT
Y3JvbGxQb3NpdGlvbihjb25zdCBJbnRQb2ludCYgcG9zaXRpb24pCkBAIC0yMjYsNiArMjI2LDcg
QEAgdm9pZCBXZWJMYXllclRyZWVSZW5kZXJlcjo6c2V0TGF5ZXJTdGF0ZQogICAgIGxheWVyLT5z
ZXRDb250ZW50c09wYXF1ZShsYXllckluZm8uY29udGVudHNPcGFxdWUpOwogICAgIGxheWVyLT5z
ZXRDb250ZW50c1JlY3QobGF5ZXJJbmZvLmNvbnRlbnRzUmVjdCk7CiAgICAgbGF5ZXItPnNldERy
YXdzQ29udGVudChsYXllckluZm8uZHJhd3NDb250ZW50KTsKKyAgICB0b0dyYXBoaWNzTGF5ZXJU
ZXh0dXJlTWFwcGVyKGxheWVyKS0+c2V0Rml4ZWRUb1ZpZXdwb3J0KGxheWVySW5mby5maXhlZFRv
Vmlld3BvcnQpOwogCiAgICAgaWYgKGxheWVySW5mby5maXhlZFRvVmlld3BvcnQpCiAgICAgICAg
IG1fZml4ZWRMYXllcnMuYWRkKGlkLCBsYXllcik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>