<?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>76886</bug_id>
          
          <creation_ts>2012-01-23 17:17:58 -0800</creation_ts>
          <short_desc>[WK2][Qt] REGRESSION: Pages with transform animations sometimes omit some of the layers since r105413</short_desc>
          <delta_ts>2012-01-25 15:41:01 -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>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>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>hausmann</cc>
    
    <cc>jturcotte</cc>
    
    <cc>kenneth</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>541008</commentid>
    <comment_count>0</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-01-23 17:17:58 -0800</bug_when>
    <thetext>This is a regression since we&apos;re calculating the layers&apos; visible rects based on their transform, while ignoring that the transform might change while animating.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541014</commentid>
    <comment_count>1</comment_count>
      <attachid>123669</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-01-23 17:21:04 -0800</bug_when>
    <thetext>Created attachment 123669
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541017</commentid>
    <comment_count>2</comment_count>
      <attachid>123670</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-01-23 17:22:02 -0800</bug_when>
    <thetext>Created attachment 123670
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541023</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-23 17:25:14 -0800</bug_when>
    <thetext>Attachment 123669 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.h:38:  wtf includes should be &lt;wtf/file.h&gt; instead of &quot;wtf/file.h&quot;.  [build/include] [4]
Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.h:38:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 2 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542625</commentid>
    <comment_count>4</comment_count>
      <attachid>124012</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-01-25 14:25:09 -0800</bug_when>
    <thetext>Created attachment 124012
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542639</commentid>
    <comment_count>5</comment_count>
      <attachid>124012</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-01-25 14:37:43 -0800</bug_when>
    <thetext>Comment on attachment 124012
Patch

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

Seems ok to me

&gt; Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:551
&gt; +    // If this layer is part of an active transform animation, the visible rect might change, so we rather render the whole layer
&gt; +    // until some better optimization is available.

I would break the line after the second ,. Then they will have almost the same size

&gt; Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:553
&gt; +    if (selfOrAncestorHasActiveTransformAnimations())
&gt; +        return tiledBackingStoreContentsRect();

Did you do some measurements of this? regarding to the comment in the changelog

&gt; Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:725
&gt; +    if (!parent())
&gt; +        return false;
&gt; +    return toWebGraphicsLayer(parent())-&gt;selfOrAncestorHasActiveTransformAnimations();

wouldnt it read nicer

if (parent())
    return toWeb....parent()...

return false;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542644</commentid>
    <comment_count>6</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-01-25 14:42:46 -0800</bug_when>
    <thetext>&gt; &gt; Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:553
&gt; &gt; +    if (selfOrAncestorHasActiveTransformAnimations())
&gt; &gt; +        return tiledBackingStoreContentsRect();
&gt; 
&gt; Did you do some measurements of this? regarding to the comment in the changelog
No... if I had a viable alternative I&apos;d measure it vs. this solution :) Problem is that if I&apos;d calculate the visible rect based on all the transform keyframes, I could still reach a point where a huge layer is entirely visible. What we should probably do in that case is not have content-scale for huge transformed layers, but that should come later as it&apos;s tricky.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542647</commentid>
    <comment_count>7</comment_count>
      <attachid>124015</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-01-25 14:44:15 -0800</bug_when>
    <thetext>Created attachment 124015
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542657</commentid>
    <comment_count>8</comment_count>
      <attachid>124017</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-01-25 14:51:06 -0800</bug_when>
    <thetext>Created attachment 124017
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542707</commentid>
    <comment_count>9</comment_count>
      <attachid>124017</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-25 15:40:56 -0800</bug_when>
    <thetext>Comment on attachment 124017
Patch

Clearing flags on attachment: 124017

Committed r105934: &lt;http://trac.webkit.org/changeset/105934&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542708</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-25 15:41:01 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123669</attachid>
            <date>2012-01-23 17:21:04 -0800</date>
            <delta_ts>2012-01-23 17:22:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>3950</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA5NWY1NDczLi4xMjY0YzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjYg
QEAKIDIwMTItMDEtMjMgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNv
bT4KIAorICAgICAgICBbV0syXVtRdF0gUkVHUkVTU0lPTjogUGFnZXMgd2l0aCB0cmFuc2Zvcm0g
YW5pbWF0aW9ucyBzb21ldGltZXMgb21pdCBzb21lIG9mIHRoZSBsYXllcnMgc2luY2UgcjEwNTQx
MworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4ODYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHRo
ZSB0aWxlZCBiYWNraW5nIHN0b3JlIHJlbmRlciBhbGwgdGhlIHRpbGVzIHdoZW4gb25lIG9mIHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBpcworICAgICAgICBtZXQ6CisgICAgICAgIDEuIFRoZSBs
YXllcidzIGFyZWEgaXMgc21hbGxlciB0aGFuIGEgcHJlc2V0IHRocmVzaG9sZC4KKyAgICAgICAg
Mi4gVGhlcmUgaXMgYSB0cmFuc2Zvcm0gYW5pbWF0aW9uIGN1cnJlbnRseSBydW5uaW5nIG9uIHRo
ZSBsYXllci4KKworICAgICAgICBXaGlsZSB0aGlzIHdvdWxkIG5vdCB3b3JrIHdlbGwgb24gaHVn
ZSBsYXllcnMgd2l0aCBhIHRyYW5zZm9ybSBhbmltYXRpb24sIGl0IHdpbGwgY292ZXIgOTUlCisg
ICAgICAgIG9mIGN1cnJlbnQgdXNlIGNhc2VzLCB3aGVyZSBodWdlIGxheWVycyBhbmQgYW5pbWF0
aW5nIGxheWVycyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLgorCisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJHcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdyYXBoaWNzTGF5ZXI6OmFkZEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpXZWJH
cmFwaGljc0xheWVyOjpyZW1vdmVBbmltYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR3Jh
cGhpY3NMYXllcjo6dGlsZWRCYWNraW5nU3RvcmVWaXNpYmxlUmVjdCk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHcmFwaGljc0xheWVyLmg6CisKKzIwMTItMDEtMjMg
IE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KKwogICAgICAgICBb
UXRdW1dLMl0gUXQncyBjcm9zcy1wcm9jZXNzIEFDIGNvcGllcyBpbWFnZXMgZXhjZXNzaXZlbHkg
d2hlbiB1cGRhdGluZyB0aWxlcy4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc2ODc3CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXllci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIuY3BwCmluZGV4IDM3ZDdi
NDQuLjUzMWVkYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHcmFwaGljc0xheWVyLmNwcApAQCAtMjk2LDYgKzI5Niw4
IEBAIGJvb2wgV2ViR3JhcGhpY3NMYXllcjo6YWRkQW5pbWF0aW9uKGNvbnN0IEtleWZyYW1lVmFs
dWVMaXN0JiB2YWx1ZUxpc3QsIGNvbnN0IEluCiAgICAgd2ViQW5pbWF0aW9uLmFuaW1hdGlvbiA9
IEFuaW1hdGlvbjo6Y3JlYXRlKGFuaW0pOwogICAgIHdlYkFuaW1hdGlvbi5zdGFydFRpbWUgPSB0
aW1lT2Zmc2V0OwogICAgIG1fbGF5ZXJJbmZvLmFuaW1hdGlvbnMuYXBwZW5kKHdlYkFuaW1hdGlv
bik7CisgICAgaWYgKHZhbHVlTGlzdC5wcm9wZXJ0eSgpID09IEFuaW1hdGVkUHJvcGVydHlXZWJr
aXRUcmFuc2Zvcm0pCisgICAgICAgIG1fdHJhbnNmb3JtQW5pbWF0aW9ucy5hZGQoa2V5ZnJhbWVz
TmFtZSk7CiAKICAgICBtX2hhc1BlbmRpbmdBbmltYXRpb25zID0gdHJ1ZTsKICAgICBub3RpZnlD
aGFuZ2UoKTsKQEAgLTMxOSw2ICszMjEsNyBAQCB2b2lkIFdlYkdyYXBoaWNzTGF5ZXI6OnJlbW92
ZUFuaW1hdGlvbihjb25zdCBTdHJpbmcmIGFuaW1hdGlvbk5hbWUpCiAgICAgd2ViQW5pbWF0aW9u
Lm5hbWUgPSBhbmltYXRpb25OYW1lOwogICAgIHdlYkFuaW1hdGlvbi5vcGVyYXRpb24gPSBXZWJM
YXllckFuaW1hdGlvbjo6UmVtb3ZlQW5pbWF0aW9uOwogICAgIG1fbGF5ZXJJbmZvLmFuaW1hdGlv
bnMuYXBwZW5kKHdlYkFuaW1hdGlvbik7CisgICAgbV90cmFuc2Zvcm1BbmltYXRpb25zLnJlbW92
ZShhbmltYXRpb25OYW1lKTsKICAgICBub3RpZnlDaGFuZ2UoKTsKIH0KIApAQCAtNTM1LDYgKzUz
OCwxNyBAQCBJbnRSZWN0IFdlYkdyYXBoaWNzTGF5ZXI6OnRpbGVkQmFja2luZ1N0b3JlQ29udGVu
dHNSZWN0KCkKIAogSW50UmVjdCBXZWJHcmFwaGljc0xheWVyOjp0aWxlZEJhY2tpbmdTdG9yZVZp
c2libGVSZWN0KCkKIHsKKyAgICBzdGF0aWMgY29uc3QgaW50IGFyZWFUaHJlc2hvbGRGb3JUaWxl
UHVyZ2luZyA9IDEwMjQgKiAyMDQ4OworCisgICAgLy8gSWYgdGhlIGxheWVyJ3MgYmFja2luZyBz
dG9yZSBpcyBzbWFsbCBlbm91Z2gsIHdlIGRvbid0IGJvdGhlciB3aXRoIHZpc2libGUgcmVjdCBj
YWxjdWxhdGlvbnMuCisgICAgaWYgKHNpemUoKS53aWR0aCgpICogc2l6ZSgpLmhlaWdodCgpIDwg
YXJlYVRocmVzaG9sZEZvclRpbGVQdXJnaW5nKQorICAgICAgICByZXR1cm4gdGlsZWRCYWNraW5n
U3RvcmVDb250ZW50c1JlY3QoKTsKKworICAgIC8vIElmIHRoZSBsYXllciBoYXMgYSBydW5uaW5n
IHRyYW5zZm9ybSBhbmltYXRpb24sIHRoZSB2aXNpYmxlIHJlY3QgbWlnaHQgY2hhbmdlLCBzbyB3
ZSByYXRoZXIgcmVuZGVyIHRoZSB3aG9sZSBsYXllcgorICAgIC8vIHVudGlsIHNvbWUgYmV0dGVy
IG9wdGltaXphdGlvbiBpcyBhdmFpbGFibGUuCisgICAgaWYgKCFtX3RyYW5zZm9ybUFuaW1hdGlv
bnMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gdGlsZWRCYWNraW5nU3RvcmVDb250ZW50c1Jl
Y3QoKTsKKwogICAgIC8vIE5vbi1pbnZlcnRpYmxlIGxheWVycyBhcmUgbm90IHZpc2libGUuCiAg
ICAgaWYgKCFtX2xheWVyVHJhbnNmb3JtLmNvbWJpbmVkKCkuaXNJbnZlcnRpYmxlKCkpCiAgICAg
ICAgIHJldHVybiBJbnRSZWN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXllci5oCmluZGV4IDNjNTc5ZmQu
LjU4NGI5ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViR3JhcGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXllci5oCkBAIC0zNSw2ICszNSw3IEBACiAjaW5j
bHVkZSAiV2ViTGF5ZXJUcmVlSW5mby5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKICNpbmNs
dWRlIDxXZWJDb3JlL1J1bkxvb3AuaD4KKyNpbmNsdWRlICJ3dGYvdGV4dC9TdHJpbmdIYXNoLmgi
CiAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAKQEAgLTE1Miw2ICsxNTMsNyBA
QCBwcml2YXRlOgogICAgIGJvb2wgbV9pblVwZGF0ZU1vZGUgOiAyOwogCiAgICAgdm9pZCBub3Rp
ZnlDaGFuZ2UoKTsKKyAgICBIYXNoU2V0PFN0cmluZz4gbV90cmFuc2Zvcm1BbmltYXRpb25zOwog
CiAjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAgdm9pZCBjb21wdXRlVHJhbnNmb3Jt
ZWRWaXNpYmxlUmVjdCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123670</attachid>
            <date>2012-01-23 17:22:02 -0800</date>
            <delta_ts>2012-01-25 14:25:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>3950</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA5NWY1NDczLi4xMjY0YzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjYg
QEAKIDIwMTItMDEtMjMgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNv
bT4KIAorICAgICAgICBbV0syXVtRdF0gUkVHUkVTU0lPTjogUGFnZXMgd2l0aCB0cmFuc2Zvcm0g
YW5pbWF0aW9ucyBzb21ldGltZXMgb21pdCBzb21lIG9mIHRoZSBsYXllcnMgc2luY2UgcjEwNTQx
MworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4ODYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHRo
ZSB0aWxlZCBiYWNraW5nIHN0b3JlIHJlbmRlciBhbGwgdGhlIHRpbGVzIHdoZW4gb25lIG9mIHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBpcworICAgICAgICBtZXQ6CisgICAgICAgIDEuIFRoZSBs
YXllcidzIGFyZWEgaXMgc21hbGxlciB0aGFuIGEgcHJlc2V0IHRocmVzaG9sZC4KKyAgICAgICAg
Mi4gVGhlcmUgaXMgYSB0cmFuc2Zvcm0gYW5pbWF0aW9uIGN1cnJlbnRseSBydW5uaW5nIG9uIHRo
ZSBsYXllci4KKworICAgICAgICBXaGlsZSB0aGlzIHdvdWxkIG5vdCB3b3JrIHdlbGwgb24gaHVn
ZSBsYXllcnMgd2l0aCBhIHRyYW5zZm9ybSBhbmltYXRpb24sIGl0IHdpbGwgY292ZXIgOTUlCisg
ICAgICAgIG9mIGN1cnJlbnQgdXNlIGNhc2VzLCB3aGVyZSBodWdlIGxheWVycyBhbmQgYW5pbWF0
aW5nIGxheWVycyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLgorCisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJHcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdyYXBoaWNzTGF5ZXI6OmFkZEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpXZWJH
cmFwaGljc0xheWVyOjpyZW1vdmVBbmltYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR3Jh
cGhpY3NMYXllcjo6dGlsZWRCYWNraW5nU3RvcmVWaXNpYmxlUmVjdCk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHcmFwaGljc0xheWVyLmg6CisKKzIwMTItMDEtMjMg
IE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KKwogICAgICAgICBb
UXRdW1dLMl0gUXQncyBjcm9zcy1wcm9jZXNzIEFDIGNvcGllcyBpbWFnZXMgZXhjZXNzaXZlbHkg
d2hlbiB1cGRhdGluZyB0aWxlcy4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc2ODc3CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXllci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIuY3BwCmluZGV4IDM3ZDdi
NDQuLjUzMWVkYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHcmFwaGljc0xheWVyLmNwcApAQCAtMjk2LDYgKzI5Niw4
IEBAIGJvb2wgV2ViR3JhcGhpY3NMYXllcjo6YWRkQW5pbWF0aW9uKGNvbnN0IEtleWZyYW1lVmFs
dWVMaXN0JiB2YWx1ZUxpc3QsIGNvbnN0IEluCiAgICAgd2ViQW5pbWF0aW9uLmFuaW1hdGlvbiA9
IEFuaW1hdGlvbjo6Y3JlYXRlKGFuaW0pOwogICAgIHdlYkFuaW1hdGlvbi5zdGFydFRpbWUgPSB0
aW1lT2Zmc2V0OwogICAgIG1fbGF5ZXJJbmZvLmFuaW1hdGlvbnMuYXBwZW5kKHdlYkFuaW1hdGlv
bik7CisgICAgaWYgKHZhbHVlTGlzdC5wcm9wZXJ0eSgpID09IEFuaW1hdGVkUHJvcGVydHlXZWJr
aXRUcmFuc2Zvcm0pCisgICAgICAgIG1fdHJhbnNmb3JtQW5pbWF0aW9ucy5hZGQoa2V5ZnJhbWVz
TmFtZSk7CiAKICAgICBtX2hhc1BlbmRpbmdBbmltYXRpb25zID0gdHJ1ZTsKICAgICBub3RpZnlD
aGFuZ2UoKTsKQEAgLTMxOSw2ICszMjEsNyBAQCB2b2lkIFdlYkdyYXBoaWNzTGF5ZXI6OnJlbW92
ZUFuaW1hdGlvbihjb25zdCBTdHJpbmcmIGFuaW1hdGlvbk5hbWUpCiAgICAgd2ViQW5pbWF0aW9u
Lm5hbWUgPSBhbmltYXRpb25OYW1lOwogICAgIHdlYkFuaW1hdGlvbi5vcGVyYXRpb24gPSBXZWJM
YXllckFuaW1hdGlvbjo6UmVtb3ZlQW5pbWF0aW9uOwogICAgIG1fbGF5ZXJJbmZvLmFuaW1hdGlv
bnMuYXBwZW5kKHdlYkFuaW1hdGlvbik7CisgICAgbV90cmFuc2Zvcm1BbmltYXRpb25zLnJlbW92
ZShhbmltYXRpb25OYW1lKTsKICAgICBub3RpZnlDaGFuZ2UoKTsKIH0KIApAQCAtNTM1LDYgKzUz
OCwxNyBAQCBJbnRSZWN0IFdlYkdyYXBoaWNzTGF5ZXI6OnRpbGVkQmFja2luZ1N0b3JlQ29udGVu
dHNSZWN0KCkKIAogSW50UmVjdCBXZWJHcmFwaGljc0xheWVyOjp0aWxlZEJhY2tpbmdTdG9yZVZp
c2libGVSZWN0KCkKIHsKKyAgICBzdGF0aWMgY29uc3QgaW50IGFyZWFUaHJlc2hvbGRGb3JUaWxl
UHVyZ2luZyA9IDEwMjQgKiAyMDQ4OworCisgICAgLy8gSWYgdGhlIGxheWVyJ3MgYmFja2luZyBz
dG9yZSBpcyBzbWFsbCBlbm91Z2gsIHdlIGRvbid0IGJvdGhlciB3aXRoIHZpc2libGUgcmVjdCBj
YWxjdWxhdGlvbnMuCisgICAgaWYgKHNpemUoKS53aWR0aCgpICogc2l6ZSgpLmhlaWdodCgpIDwg
YXJlYVRocmVzaG9sZEZvclRpbGVQdXJnaW5nKQorICAgICAgICByZXR1cm4gdGlsZWRCYWNraW5n
U3RvcmVDb250ZW50c1JlY3QoKTsKKworICAgIC8vIElmIHRoZSBsYXllciBoYXMgYSBydW5uaW5n
IHRyYW5zZm9ybSBhbmltYXRpb24sIHRoZSB2aXNpYmxlIHJlY3QgbWlnaHQgY2hhbmdlLCBzbyB3
ZSByYXRoZXIgcmVuZGVyIHRoZSB3aG9sZSBsYXllcgorICAgIC8vIHVudGlsIHNvbWUgYmV0dGVy
IG9wdGltaXphdGlvbiBpcyBhdmFpbGFibGUuCisgICAgaWYgKCFtX3RyYW5zZm9ybUFuaW1hdGlv
bnMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gdGlsZWRCYWNraW5nU3RvcmVDb250ZW50c1Jl
Y3QoKTsKKwogICAgIC8vIE5vbi1pbnZlcnRpYmxlIGxheWVycyBhcmUgbm90IHZpc2libGUuCiAg
ICAgaWYgKCFtX2xheWVyVHJhbnNmb3JtLmNvbWJpbmVkKCkuaXNJbnZlcnRpYmxlKCkpCiAgICAg
ICAgIHJldHVybiBJbnRSZWN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXllci5oCmluZGV4IDNjNTc5ZmQu
LmQyNmZkYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViR3JhcGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXllci5oCkBAIC0zNSw2ICszNSw3IEBACiAjaW5j
bHVkZSAiV2ViTGF5ZXJUcmVlSW5mby5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKICNpbmNs
dWRlIDxXZWJDb3JlL1J1bkxvb3AuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+
CiAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAKQEAgLTE1Miw2ICsxNTMsNyBA
QCBwcml2YXRlOgogICAgIGJvb2wgbV9pblVwZGF0ZU1vZGUgOiAyOwogCiAgICAgdm9pZCBub3Rp
ZnlDaGFuZ2UoKTsKKyAgICBIYXNoU2V0PFN0cmluZz4gbV90cmFuc2Zvcm1BbmltYXRpb25zOwog
CiAjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAgdm9pZCBjb21wdXRlVHJhbnNmb3Jt
ZWRWaXNpYmxlUmVjdCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124012</attachid>
            <date>2012-01-25 14:25:09 -0800</date>
            <delta_ts>2012-01-25 14:44:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>7120</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA3MzNlYjEzLi43NmQ2MWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMg
QEAKKzIwMTItMDEtMjUgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNv
bT4KKworICAgICAgICBbV0syXVtRdF0gUkVHUkVTU0lPTjogUGFnZXMgd2l0aCB0cmFuc2Zvcm0g
YW5pbWF0aW9ucyBzb21ldGltZXMgb21pdCBzb21lIG9mIHRoZSBsYXllcnMgc2luY2UgcjEwNTQx
MworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4ODYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBub3cg
cmVuZGVyIHRoZSB3aG9sZSBsYXllciBpZiBpdCBvciBvbmUgaWYgaXRzIGFuY2VzdG9ycyBoYXMg
YW4gYWN0aXZlIHRyYW5zZm9ybQorICAgICAgICBhbmltYXRpb25zLiBJdCdzIHBvc3NpYmxlIHRv
IG9wdGltaXplIGZ1cnRoZXIgaW4gdGhlIGZ1dHVyZSwgYnV0IG5vdCBjdXJyZW50bHkgbmVjZXNz
YXJ5LgorICAgICAgICBBbHNvLCB3ZSBtYWtlIHN1cmUgdGhhdCB3aGVuIGEgV2ViR3JhcGhpY3NM
YXllcidzIHByb3BlcnR5IHRoYXQgYWZmZWN0cyB0cmFuc2Zvcm1hdGlvbiBpcworICAgICAgICBj
aGFuZ2VkLCBhbGwgaXRzIGRlc2NhbmRhbnRzIGxheWVycyBhcmUgbWFya2VkIGFzIG1vZGlmaWVk
IHNvIHRoYXQgd2UgcmUtYWRqdXN0IHRoZWlyCisgICAgICAgIHZpc2libGUgcmVjdCBpbiB0aGUg
bmV4dCBwYXNzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHcmFw
aGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdyYXBoaWNzTGF5ZXI6Om5vdGlm
eUNoYW5nZVJlY3Vyc2l2ZWx5KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR3JhcGhpY3NMYXllcjo6c2V0UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
R3JhcGhpY3NMYXllcjo6c2V0QW5jaG9yUG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR3Jh
cGhpY3NMYXllcjo6c2V0U2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHcmFwaGljc0xheWVy
OjpzZXRUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR3JhcGhpY3NMYXllcjo6c2V0
Q2hpbGRyZW5UcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR3JhcGhpY3NMYXllcjo6
c2V0UHJlc2VydmVzM0QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR3JhcGhpY3NMYXllcjo6c2V0
TWFza3NUb0JvdW5kcyk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHcmFwaGljc0xheWVyOjphZGRB
bmltYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR3JhcGhpY3NMYXllcjo6cmVtb3ZlQW5p
bWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdyYXBoaWNzTGF5ZXI6OnRpbGVkQmFja2lu
Z1N0b3JlVmlzaWJsZVJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR3JhcGhpY3NMYXllcjo6
c2VsZk9yQW5jZXN0b3JIYXNBY3RpdmVUcmFuc2Zvcm1BbmltYXRpb25zKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIuaDoKKyAgICAgICAgKFdl
YkdyYXBoaWNzTGF5ZXIpOgorCiAyMDEyLTAxLTI1ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5z
b25AaWdhbGlhLmNvbT4KIAogICAgICAgICBbV0syXSBOYXZpZ2F0aW9uIGV2ZW50cyBub3QgdHJp
Z2dlcmVkIGJ5IGEgbW91c2UgZXZlbnQgY2xhaW0gdG8gYmUgdHJpZ2dlcmVkIGJ5IHRoZSBsZWZ0
IG1vdXNlIGJ1dHRvbiBkdXJpbmcgcG9saWN5IGRlY2lzaW9ucwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHcmFwaGljc0xheWVyLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXll
ci5jcHAKaW5kZXggMzdkN2I0NC4uZGY5OTlmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHcmFwaGljc0xheWVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIuY3Bw
CkBAIC02OSw2ICs2OSwxNSBAQCB2b2lkIFdlYkdyYXBoaWNzTGF5ZXI6Om5vdGlmeUNoYW5nZSgp
CiAgICAgICAgIGNsaWVudCgpLT5ub3RpZnlTeW5jUmVxdWlyZWQodGhpcyk7CiB9CiAKK3ZvaWQg
V2ViR3JhcGhpY3NMYXllcjo6bm90aWZ5Q2hhbmdlUmVjdXJzaXZlbHkoKQoreworICAgIG5vdGlm
eUNoYW5nZSgpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY2hpbGRyZW4oKS5zaXplKCk7
ICsraSkKKyAgICAgICAgdG9XZWJHcmFwaGljc0xheWVyKGNoaWxkcmVuKClbaV0pLT5ub3RpZnlD
aGFuZ2VSZWN1cnNpdmVseSgpOworICAgIGlmIChyZXBsaWNhTGF5ZXIoKSkKKyAgICAgICAgdG9X
ZWJHcmFwaGljc0xheWVyKHJlcGxpY2FMYXllcigpKS0+bm90aWZ5Q2hhbmdlKCk7Cit9CisKIFdl
YkdyYXBoaWNzTGF5ZXI6OldlYkdyYXBoaWNzTGF5ZXIoR3JhcGhpY3NMYXllckNsaWVudCogY2xp
ZW50KQogICAgIDogR3JhcGhpY3NMYXllcihjbGllbnQpCiAgICAgLCBtX21hc2tUYXJnZXQoMCkK
QEAgLTE3Myw3ICsxODIsNyBAQCB2b2lkIFdlYkdyYXBoaWNzTGF5ZXI6OnNldFBvc2l0aW9uKGNv
bnN0IEZsb2F0UG9pbnQmIHApCiAgICAgICAgIHJldHVybjsKIAogICAgIEdyYXBoaWNzTGF5ZXI6
OnNldFBvc2l0aW9uKHApOwotICAgIG5vdGlmeUNoYW5nZSgpOworICAgIG5vdGlmeUNoYW5nZVJl
Y3Vyc2l2ZWx5KCk7CiB9CiAKIHZvaWQgV2ViR3JhcGhpY3NMYXllcjo6c2V0QW5jaG9yUG9pbnQo
Y29uc3QgRmxvYXRQb2ludDNEJiBwKQpAQCAtMTgyLDcgKzE5MSw3IEBAIHZvaWQgV2ViR3JhcGhp
Y3NMYXllcjo6c2V0QW5jaG9yUG9pbnQoY29uc3QgRmxvYXRQb2ludDNEJiBwKQogICAgICAgICBy
ZXR1cm47CiAKICAgICBHcmFwaGljc0xheWVyOjpzZXRBbmNob3JQb2ludChwKTsKLSAgICBub3Rp
ZnlDaGFuZ2UoKTsKKyAgICBub3RpZnlDaGFuZ2VSZWN1cnNpdmVseSgpOwogfQogCiB2b2lkIFdl
YkdyYXBoaWNzTGF5ZXI6OnNldFNpemUoY29uc3QgRmxvYXRTaXplJiBzaXplKQpAQCAtMTk0LDcg
KzIwMyw3IEBAIHZvaWQgV2ViR3JhcGhpY3NMYXllcjo6c2V0U2l6ZShjb25zdCBGbG9hdFNpemUm
IHNpemUpCiAgICAgc2V0TmVlZHNEaXNwbGF5KCk7CiAgICAgaWYgKG1hc2tMYXllcigpKQogICAg
ICAgICBtYXNrTGF5ZXIoKS0+c2V0U2l6ZShzaXplKTsKLSAgICBub3RpZnlDaGFuZ2UoKTsKKyAg
ICBub3RpZnlDaGFuZ2VSZWN1cnNpdmVseSgpOwogfQogCiB2b2lkIFdlYkdyYXBoaWNzTGF5ZXI6
OnNldFRyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgdCkKQEAgLTIwMyw3ICsy
MTIsNyBAQCB2b2lkIFdlYkdyYXBoaWNzTGF5ZXI6OnNldFRyYW5zZm9ybShjb25zdCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCYgdCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgR3JhcGhpY3NMYXllcjo6
c2V0VHJhbnNmb3JtKHQpOwotICAgIG5vdGlmeUNoYW5nZSgpOworICAgIG5vdGlmeUNoYW5nZVJl
Y3Vyc2l2ZWx5KCk7CiB9CiAKIHZvaWQgV2ViR3JhcGhpY3NMYXllcjo6c2V0Q2hpbGRyZW5UcmFu
c2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHQpCkBAIC0yMTIsNyArMjIxLDcgQEAg
dm9pZCBXZWJHcmFwaGljc0xheWVyOjpzZXRDaGlsZHJlblRyYW5zZm9ybShjb25zdCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCYgdCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgR3JhcGhpY3NMYXllcjo6
c2V0Q2hpbGRyZW5UcmFuc2Zvcm0odCk7Ci0gICAgbm90aWZ5Q2hhbmdlKCk7CisgICAgbm90aWZ5
Q2hhbmdlUmVjdXJzaXZlbHkoKTsKIH0KIAogdm9pZCBXZWJHcmFwaGljc0xheWVyOjpzZXRQcmVz
ZXJ2ZXMzRChib29sIGIpCkBAIC0yMjEsNyArMjMwLDcgQEAgdm9pZCBXZWJHcmFwaGljc0xheWVy
OjpzZXRQcmVzZXJ2ZXMzRChib29sIGIpCiAgICAgICAgIHJldHVybjsKIAogICAgIEdyYXBoaWNz
TGF5ZXI6OnNldFByZXNlcnZlczNEKGIpOwotICAgIG5vdGlmeUNoYW5nZSgpOworICAgIG5vdGlm
eUNoYW5nZVJlY3Vyc2l2ZWx5KCk7CiB9CiAKIHZvaWQgV2ViR3JhcGhpY3NMYXllcjo6c2V0TWFz
a3NUb0JvdW5kcyhib29sIGIpCkBAIC0yMjksNyArMjM4LDcgQEAgdm9pZCBXZWJHcmFwaGljc0xh
eWVyOjpzZXRNYXNrc1RvQm91bmRzKGJvb2wgYikKICAgICBpZiAobWFza3NUb0JvdW5kcygpID09
IGIpCiAgICAgICAgIHJldHVybjsKICAgICBHcmFwaGljc0xheWVyOjpzZXRNYXNrc1RvQm91bmRz
KGIpOwotICAgIG5vdGlmeUNoYW5nZSgpOworICAgIG5vdGlmeUNoYW5nZVJlY3Vyc2l2ZWx5KCk7
CiB9CiAKIHZvaWQgV2ViR3JhcGhpY3NMYXllcjo6c2V0RHJhd3NDb250ZW50KGJvb2wgYikKQEAg
LTI5Niw5ICszMDUsMTEgQEAgYm9vbCBXZWJHcmFwaGljc0xheWVyOjphZGRBbmltYXRpb24oY29u
c3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbHVlTGlzdCwgY29uc3QgSW4KICAgICB3ZWJBbmltYXRp
b24uYW5pbWF0aW9uID0gQW5pbWF0aW9uOjpjcmVhdGUoYW5pbSk7CiAgICAgd2ViQW5pbWF0aW9u
LnN0YXJ0VGltZSA9IHRpbWVPZmZzZXQ7CiAgICAgbV9sYXllckluZm8uYW5pbWF0aW9ucy5hcHBl
bmQod2ViQW5pbWF0aW9uKTsKKyAgICBpZiAodmFsdWVMaXN0LnByb3BlcnR5KCkgPT0gQW5pbWF0
ZWRQcm9wZXJ0eVdlYmtpdFRyYW5zZm9ybSkKKyAgICAgICAgbV90cmFuc2Zvcm1BbmltYXRpb25z
LmFkZChrZXlmcmFtZXNOYW1lKTsKIAogICAgIG1faGFzUGVuZGluZ0FuaW1hdGlvbnMgPSB0cnVl
OwotICAgIG5vdGlmeUNoYW5nZSgpOworICAgIG5vdGlmeUNoYW5nZVJlY3Vyc2l2ZWx5KCk7CiAK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTMxOSw2ICszMzAsNyBAQCB2b2lkIFdlYkdyYXBoaWNz
TGF5ZXI6OnJlbW92ZUFuaW1hdGlvbihjb25zdCBTdHJpbmcmIGFuaW1hdGlvbk5hbWUpCiAgICAg
d2ViQW5pbWF0aW9uLm5hbWUgPSBhbmltYXRpb25OYW1lOwogICAgIHdlYkFuaW1hdGlvbi5vcGVy
YXRpb24gPSBXZWJMYXllckFuaW1hdGlvbjo6UmVtb3ZlQW5pbWF0aW9uOwogICAgIG1fbGF5ZXJJ
bmZvLmFuaW1hdGlvbnMuYXBwZW5kKHdlYkFuaW1hdGlvbik7CisgICAgbV90cmFuc2Zvcm1Bbmlt
YXRpb25zLnJlbW92ZShhbmltYXRpb25OYW1lKTsKICAgICBub3RpZnlDaGFuZ2UoKTsKIH0KIApA
QCAtNTM1LDYgKzU0NywxMSBAQCBJbnRSZWN0IFdlYkdyYXBoaWNzTGF5ZXI6OnRpbGVkQmFja2lu
Z1N0b3JlQ29udGVudHNSZWN0KCkKIAogSW50UmVjdCBXZWJHcmFwaGljc0xheWVyOjp0aWxlZEJh
Y2tpbmdTdG9yZVZpc2libGVSZWN0KCkKIHsKKyAgICAvLyBJZiB0aGlzIGxheWVyIGlzIHBhcnQg
b2YgYW4gYWN0aXZlIHRyYW5zZm9ybSBhbmltYXRpb24sIHRoZSB2aXNpYmxlIHJlY3QgbWlnaHQg
Y2hhbmdlLCBzbyB3ZSByYXRoZXIgcmVuZGVyIHRoZSB3aG9sZSBsYXllcgorICAgIC8vIHVudGls
IHNvbWUgYmV0dGVyIG9wdGltaXphdGlvbiBpcyBhdmFpbGFibGUuCisgICAgaWYgKHNlbGZPckFu
Y2VzdG9ySGFzQWN0aXZlVHJhbnNmb3JtQW5pbWF0aW9ucygpKQorICAgICAgICByZXR1cm4gdGls
ZWRCYWNraW5nU3RvcmVDb250ZW50c1JlY3QoKTsKKwogICAgIC8vIE5vbi1pbnZlcnRpYmxlIGxh
eWVycyBhcmUgbm90IHZpc2libGUuCiAgICAgaWYgKCFtX2xheWVyVHJhbnNmb3JtLmNvbWJpbmVk
KCkuaXNJbnZlcnRpYmxlKCkpCiAgICAgICAgIHJldHVybiBJbnRSZWN0KCk7CkBAIC02OTksNSAr
NzE2LDE0IEBAIHZvaWQgV2ViR3JhcGhpY3NMYXllcjo6aW5pdEZhY3RvcnkoKQogICAgIEdyYXBo
aWNzTGF5ZXI6OnNldEdyYXBoaWNzTGF5ZXJGYWN0b3J5KGNyZWF0ZVdlYkdyYXBoaWNzTGF5ZXIp
OwogfQogCitib29sIFdlYkdyYXBoaWNzTGF5ZXI6OnNlbGZPckFuY2VzdG9ySGFzQWN0aXZlVHJh
bnNmb3JtQW5pbWF0aW9ucygpIGNvbnN0Cit7CisgICAgaWYgKCFtX3RyYW5zZm9ybUFuaW1hdGlv
bnMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAoIXBhcmVudCgpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRvV2ViR3JhcGhpY3NMYXllcihwYXJl
bnQoKSktPnNlbGZPckFuY2VzdG9ySGFzQWN0aXZlVHJhbnNmb3JtQW5pbWF0aW9ucygpOworfQor
CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJHcmFwaGljc0xheWVyLmgKaW5kZXggM2M1NzlmZC4uMGI1MDc2MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJH
cmFwaGljc0xheWVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJHcmFwaGljc0xheWVyLmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJXZWJM
YXllclRyZWVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvUnVuTG9vcC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogI2lmIFVT
RShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIApAQCAtMTUyLDYgKzE1MywxMCBAQCBwcml2YXRl
OgogICAgIGJvb2wgbV9pblVwZGF0ZU1vZGUgOiAyOwogCiAgICAgdm9pZCBub3RpZnlDaGFuZ2Uo
KTsKKyAgICB2b2lkIG5vdGlmeUNoYW5nZVJlY3Vyc2l2ZWx5KCk7CisgICAgSGFzaFNldDxTdHJp
bmc+IG1fdHJhbnNmb3JtQW5pbWF0aW9uczsKKworICAgIGJvb2wgc2VsZk9yQW5jZXN0b3JIYXNB
Y3RpdmVUcmFuc2Zvcm1BbmltYXRpb25zKCkgY29uc3Q7CiAKICNpZiBVU0UoVElMRURfQkFDS0lO
R19TVE9SRSkKICAgICB2b2lkIGNvbXB1dGVUcmFuc2Zvcm1lZFZpc2libGVSZWN0KCk7Cg==
</data>
<flag name="review"
          id="125177"
          type_id="1"
          status="+"
          setter="kenneth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124015</attachid>
            <date>2012-01-25 14:44:15 -0800</date>
            <delta_ts>2012-01-25 14:51:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>7066</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAwOTI2MzRhLi4xN2Y1NDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMg
QEAKKzIwMTItMDEtMjUgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNv
bT4KKworICAgICAgICBbV0syXVtRdF0gUkVHUkVTU0lPTjogUGFnZXMgd2l0aCB0cmFuc2Zvcm0g
YW5pbWF0aW9ucyBzb21ldGltZXMgb21pdCBzb21lIG9mIHRoZSBsYXllcnMgc2luY2UgcjEwNTQx
MworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4ODYK
KworICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KKworICAg
ICAgICBXZSBub3cgcmVuZGVyIHRoZSB3aG9sZSBsYXllciBpZiBpdCBvciBvbmUgaWYgaXRzIGFu
Y2VzdG9ycyBoYXMgYW4gYWN0aXZlIHRyYW5zZm9ybQorICAgICAgICBhbmltYXRpb25zLiBJdCdz
IHBvc3NpYmxlIHRvIG9wdGltaXplIGZ1cnRoZXIgaW4gdGhlIGZ1dHVyZSwgYnV0IG5vdCBjdXJy
ZW50bHkgbmVjZXNzYXJ5LgorICAgICAgICBBbHNvLCB3ZSBtYWtlIHN1cmUgdGhhdCB3aGVuIGEg
V2ViR3JhcGhpY3NMYXllcidzIHByb3BlcnR5IHRoYXQgYWZmZWN0cyB0cmFuc2Zvcm1hdGlvbiBp
cworICAgICAgICBjaGFuZ2VkLCBhbGwgaXRzIGRlc2NhbmRhbnRzIGxheWVycyBhcmUgbWFya2Vk
IGFzIG1vZGlmaWVkIHNvIHRoYXQgd2UgcmUtYWRqdXN0IHRoZWlyCisgICAgICAgIHZpc2libGUg
cmVjdCBpbiB0aGUgbmV4dCBwYXNzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJHcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdyYXBoaWNz
TGF5ZXI6Om5vdGlmeUNoYW5nZVJlY3Vyc2l2ZWx5KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViR3JhcGhpY3NMYXllcjo6c2V0UG9zaXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR3JhcGhpY3NMYXllcjo6c2V0QW5jaG9yUG9pbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViR3JhcGhpY3NMYXllcjo6c2V0U2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJH
cmFwaGljc0xheWVyOjpzZXRUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR3JhcGhp
Y3NMYXllcjo6c2V0Q2hpbGRyZW5UcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR3Jh
cGhpY3NMYXllcjo6c2V0UHJlc2VydmVzM0QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR3JhcGhp
Y3NMYXllcjo6c2V0TWFza3NUb0JvdW5kcyk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHcmFwaGlj
c0xheWVyOjphZGRBbmltYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR3JhcGhpY3NMYXll
cjo6cmVtb3ZlQW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdyYXBoaWNzTGF5ZXI6
OnRpbGVkQmFja2luZ1N0b3JlVmlzaWJsZVJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR3Jh
cGhpY3NMYXllcjo6c2VsZk9yQW5jZXN0b3JIYXNBY3RpdmVUcmFuc2Zvcm1BbmltYXRpb25zKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIuaDoK
KyAgICAgICAgKFdlYkdyYXBoaWNzTGF5ZXIpOgorCiAyMDEyLTAxLTI1ICBIYWppbWUgTW9yaXRh
ICA8bW9ycml0YUBnb29nbGUuY29tPgogCiAgICAgICAgIEVOQUJMRV9TSEFET1dfRE9NIHNob3Vs
ZCBiZSBhdmFpbGFibGUgdmlhIGJ1aWxkLXdlYmtpdCAtLXNoYWRvdy1kb20KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXll
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBo
aWNzTGF5ZXIuY3BwCmluZGV4IDM3ZDdiNDQuLjU0OTRjYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXllci5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHcmFwaGljc0xh
eWVyLmNwcApAQCAtNjksNiArNjksMTUgQEAgdm9pZCBXZWJHcmFwaGljc0xheWVyOjpub3RpZnlD
aGFuZ2UoKQogICAgICAgICBjbGllbnQoKS0+bm90aWZ5U3luY1JlcXVpcmVkKHRoaXMpOwogfQog
Cit2b2lkIFdlYkdyYXBoaWNzTGF5ZXI6Om5vdGlmeUNoYW5nZVJlY3Vyc2l2ZWx5KCkKK3sKKyAg
ICBub3RpZnlDaGFuZ2UoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNoaWxkcmVuKCku
c2l6ZSgpOyArK2kpCisgICAgICAgIHRvV2ViR3JhcGhpY3NMYXllcihjaGlsZHJlbigpW2ldKS0+
bm90aWZ5Q2hhbmdlUmVjdXJzaXZlbHkoKTsKKyAgICBpZiAocmVwbGljYUxheWVyKCkpCisgICAg
ICAgIHRvV2ViR3JhcGhpY3NMYXllcihyZXBsaWNhTGF5ZXIoKSktPm5vdGlmeUNoYW5nZSgpOwor
fQorCiBXZWJHcmFwaGljc0xheWVyOjpXZWJHcmFwaGljc0xheWVyKEdyYXBoaWNzTGF5ZXJDbGll
bnQqIGNsaWVudCkKICAgICA6IEdyYXBoaWNzTGF5ZXIoY2xpZW50KQogICAgICwgbV9tYXNrVGFy
Z2V0KDApCkBAIC0xNzMsNyArMTgyLDcgQEAgdm9pZCBXZWJHcmFwaGljc0xheWVyOjpzZXRQb3Np
dGlvbihjb25zdCBGbG9hdFBvaW50JiBwKQogICAgICAgICByZXR1cm47CiAKICAgICBHcmFwaGlj
c0xheWVyOjpzZXRQb3NpdGlvbihwKTsKLSAgICBub3RpZnlDaGFuZ2UoKTsKKyAgICBub3RpZnlD
aGFuZ2VSZWN1cnNpdmVseSgpOwogfQogCiB2b2lkIFdlYkdyYXBoaWNzTGF5ZXI6OnNldEFuY2hv
clBvaW50KGNvbnN0IEZsb2F0UG9pbnQzRCYgcCkKQEAgLTE4Miw3ICsxOTEsNyBAQCB2b2lkIFdl
YkdyYXBoaWNzTGF5ZXI6OnNldEFuY2hvclBvaW50KGNvbnN0IEZsb2F0UG9pbnQzRCYgcCkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgR3JhcGhpY3NMYXllcjo6c2V0QW5jaG9yUG9pbnQocCk7Ci0g
ICAgbm90aWZ5Q2hhbmdlKCk7CisgICAgbm90aWZ5Q2hhbmdlUmVjdXJzaXZlbHkoKTsKIH0KIAog
dm9pZCBXZWJHcmFwaGljc0xheWVyOjpzZXRTaXplKGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSkKQEAg
LTE5NCw3ICsyMDMsNyBAQCB2b2lkIFdlYkdyYXBoaWNzTGF5ZXI6OnNldFNpemUoY29uc3QgRmxv
YXRTaXplJiBzaXplKQogICAgIHNldE5lZWRzRGlzcGxheSgpOwogICAgIGlmIChtYXNrTGF5ZXIo
KSkKICAgICAgICAgbWFza0xheWVyKCktPnNldFNpemUoc2l6ZSk7Ci0gICAgbm90aWZ5Q2hhbmdl
KCk7CisgICAgbm90aWZ5Q2hhbmdlUmVjdXJzaXZlbHkoKTsKIH0KIAogdm9pZCBXZWJHcmFwaGlj
c0xheWVyOjpzZXRUcmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHQpCkBAIC0y
MDMsNyArMjEyLDcgQEAgdm9pZCBXZWJHcmFwaGljc0xheWVyOjpzZXRUcmFuc2Zvcm0oY29uc3Qg
VHJhbnNmb3JtYXRpb25NYXRyaXgmIHQpCiAgICAgICAgIHJldHVybjsKIAogICAgIEdyYXBoaWNz
TGF5ZXI6OnNldFRyYW5zZm9ybSh0KTsKLSAgICBub3RpZnlDaGFuZ2UoKTsKKyAgICBub3RpZnlD
aGFuZ2VSZWN1cnNpdmVseSgpOwogfQogCiB2b2lkIFdlYkdyYXBoaWNzTGF5ZXI6OnNldENoaWxk
cmVuVHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB0KQpAQCAtMjEyLDcgKzIy
MSw3IEBAIHZvaWQgV2ViR3JhcGhpY3NMYXllcjo6c2V0Q2hpbGRyZW5UcmFuc2Zvcm0oY29uc3Qg
VHJhbnNmb3JtYXRpb25NYXRyaXgmIHQpCiAgICAgICAgIHJldHVybjsKIAogICAgIEdyYXBoaWNz
TGF5ZXI6OnNldENoaWxkcmVuVHJhbnNmb3JtKHQpOwotICAgIG5vdGlmeUNoYW5nZSgpOworICAg
IG5vdGlmeUNoYW5nZVJlY3Vyc2l2ZWx5KCk7CiB9CiAKIHZvaWQgV2ViR3JhcGhpY3NMYXllcjo6
c2V0UHJlc2VydmVzM0QoYm9vbCBiKQpAQCAtMjIxLDcgKzIzMCw3IEBAIHZvaWQgV2ViR3JhcGhp
Y3NMYXllcjo6c2V0UHJlc2VydmVzM0QoYm9vbCBiKQogICAgICAgICByZXR1cm47CiAKICAgICBH
cmFwaGljc0xheWVyOjpzZXRQcmVzZXJ2ZXMzRChiKTsKLSAgICBub3RpZnlDaGFuZ2UoKTsKKyAg
ICBub3RpZnlDaGFuZ2VSZWN1cnNpdmVseSgpOwogfQogCiB2b2lkIFdlYkdyYXBoaWNzTGF5ZXI6
OnNldE1hc2tzVG9Cb3VuZHMoYm9vbCBiKQpAQCAtMjI5LDcgKzIzOCw3IEBAIHZvaWQgV2ViR3Jh
cGhpY3NMYXllcjo6c2V0TWFza3NUb0JvdW5kcyhib29sIGIpCiAgICAgaWYgKG1hc2tzVG9Cb3Vu
ZHMoKSA9PSBiKQogICAgICAgICByZXR1cm47CiAgICAgR3JhcGhpY3NMYXllcjo6c2V0TWFza3NU
b0JvdW5kcyhiKTsKLSAgICBub3RpZnlDaGFuZ2UoKTsKKyAgICBub3RpZnlDaGFuZ2VSZWN1cnNp
dmVseSgpOwogfQogCiB2b2lkIFdlYkdyYXBoaWNzTGF5ZXI6OnNldERyYXdzQ29udGVudChib29s
IGIpCkBAIC0yOTYsOSArMzA1LDExIEBAIGJvb2wgV2ViR3JhcGhpY3NMYXllcjo6YWRkQW5pbWF0
aW9uKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0JiB2YWx1ZUxpc3QsIGNvbnN0IEluCiAgICAgd2Vi
QW5pbWF0aW9uLmFuaW1hdGlvbiA9IEFuaW1hdGlvbjo6Y3JlYXRlKGFuaW0pOwogICAgIHdlYkFu
aW1hdGlvbi5zdGFydFRpbWUgPSB0aW1lT2Zmc2V0OwogICAgIG1fbGF5ZXJJbmZvLmFuaW1hdGlv
bnMuYXBwZW5kKHdlYkFuaW1hdGlvbik7CisgICAgaWYgKHZhbHVlTGlzdC5wcm9wZXJ0eSgpID09
IEFuaW1hdGVkUHJvcGVydHlXZWJraXRUcmFuc2Zvcm0pCisgICAgICAgIG1fdHJhbnNmb3JtQW5p
bWF0aW9ucy5hZGQoa2V5ZnJhbWVzTmFtZSk7CiAKICAgICBtX2hhc1BlbmRpbmdBbmltYXRpb25z
ID0gdHJ1ZTsKLSAgICBub3RpZnlDaGFuZ2UoKTsKKyAgICBub3RpZnlDaGFuZ2VSZWN1cnNpdmVs
eSgpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0zMTksNiArMzMwLDcgQEAgdm9pZCBXZWJH
cmFwaGljc0xheWVyOjpyZW1vdmVBbmltYXRpb24oY29uc3QgU3RyaW5nJiBhbmltYXRpb25OYW1l
KQogICAgIHdlYkFuaW1hdGlvbi5uYW1lID0gYW5pbWF0aW9uTmFtZTsKICAgICB3ZWJBbmltYXRp
b24ub3BlcmF0aW9uID0gV2ViTGF5ZXJBbmltYXRpb246OlJlbW92ZUFuaW1hdGlvbjsKICAgICBt
X2xheWVySW5mby5hbmltYXRpb25zLmFwcGVuZCh3ZWJBbmltYXRpb24pOworICAgIG1fdHJhbnNm
b3JtQW5pbWF0aW9ucy5yZW1vdmUoYW5pbWF0aW9uTmFtZSk7CiAgICAgbm90aWZ5Q2hhbmdlKCk7
CiB9CiAKQEAgLTUzNSw2ICs1NDcsMTEgQEAgSW50UmVjdCBXZWJHcmFwaGljc0xheWVyOjp0aWxl
ZEJhY2tpbmdTdG9yZUNvbnRlbnRzUmVjdCgpCiAKIEludFJlY3QgV2ViR3JhcGhpY3NMYXllcjo6
dGlsZWRCYWNraW5nU3RvcmVWaXNpYmxlUmVjdCgpCiB7CisgICAgLy8gSWYgdGhpcyBsYXllciBp
cyBwYXJ0IG9mIGFuIGFjdGl2ZSB0cmFuc2Zvcm0gYW5pbWF0aW9uLCB0aGUgdmlzaWJsZSByZWN0
IG1pZ2h0IGNoYW5nZSwKKyAgICAvLyBzbyB3ZSByYXRoZXIgcmVuZGVyIHRoZSB3aG9sZSBsYXll
ciB1bnRpbCBzb21lIGJldHRlciBvcHRpbWl6YXRpb24gaXMgYXZhaWxhYmxlLgorICAgIGlmIChz
ZWxmT3JBbmNlc3Rvckhhc0FjdGl2ZVRyYW5zZm9ybUFuaW1hdGlvbnMoKSkKKyAgICAgICAgcmV0
dXJuIHRpbGVkQmFja2luZ1N0b3JlQ29udGVudHNSZWN0KCk7CisKICAgICAvLyBOb24taW52ZXJ0
aWJsZSBsYXllcnMgYXJlIG5vdCB2aXNpYmxlLgogICAgIGlmICghbV9sYXllclRyYW5zZm9ybS5j
b21iaW5lZCgpLmlzSW52ZXJ0aWJsZSgpKQogICAgICAgICByZXR1cm4gSW50UmVjdCgpOwpAQCAt
Njk5LDUgKzcxNiwxNiBAQCB2b2lkIFdlYkdyYXBoaWNzTGF5ZXI6OmluaXRGYWN0b3J5KCkKICAg
ICBHcmFwaGljc0xheWVyOjpzZXRHcmFwaGljc0xheWVyRmFjdG9yeShjcmVhdGVXZWJHcmFwaGlj
c0xheWVyKTsKIH0KIAorYm9vbCBXZWJHcmFwaGljc0xheWVyOjpzZWxmT3JBbmNlc3Rvckhhc0Fj
dGl2ZVRyYW5zZm9ybUFuaW1hdGlvbnMoKSBjb25zdAoreworICAgIGlmICghbV90cmFuc2Zvcm1B
bmltYXRpb25zLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAocGFy
ZW50KCkpCisgICAgICAgIHRvV2ViR3JhcGhpY3NMYXllcihwYXJlbnQoKSktPnNlbGZPckFuY2Vz
dG9ySGFzQWN0aXZlVHJhbnNmb3JtQW5pbWF0aW9ucygpOworCisgICAgcmV0dXJuIGZhbHNlOwor
fQorCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJHcmFwaGljc0xheWVyLmgKaW5kZXggM2M1NzlmZC4uMGI1MDc2
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJHcmFwaGljc0xheWVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJHcmFwaGljc0xheWVyLmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJX
ZWJMYXllclRyZWVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgPFdl
YkNvcmUvUnVuTG9vcC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogI2lm
IFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIApAQCAtMTUyLDYgKzE1MywxMCBAQCBwcml2
YXRlOgogICAgIGJvb2wgbV9pblVwZGF0ZU1vZGUgOiAyOwogCiAgICAgdm9pZCBub3RpZnlDaGFu
Z2UoKTsKKyAgICB2b2lkIG5vdGlmeUNoYW5nZVJlY3Vyc2l2ZWx5KCk7CisgICAgSGFzaFNldDxT
dHJpbmc+IG1fdHJhbnNmb3JtQW5pbWF0aW9uczsKKworICAgIGJvb2wgc2VsZk9yQW5jZXN0b3JI
YXNBY3RpdmVUcmFuc2Zvcm1BbmltYXRpb25zKCkgY29uc3Q7CiAKICNpZiBVU0UoVElMRURfQkFD
S0lOR19TVE9SRSkKICAgICB2b2lkIGNvbXB1dGVUcmFuc2Zvcm1lZFZpc2libGVSZWN0KCk7Cg==
</data>
<flag name="commit-queue"
          id="125180"
          type_id="3"
          status="+"
          setter="noam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124017</attachid>
            <date>2012-01-25 14:51:06 -0800</date>
            <delta_ts>2012-01-25 15:40:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>7073</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAwOTI2MzRhLi4xN2Y1NDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMg
QEAKKzIwMTItMDEtMjUgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNv
bT4KKworICAgICAgICBbV0syXVtRdF0gUkVHUkVTU0lPTjogUGFnZXMgd2l0aCB0cmFuc2Zvcm0g
YW5pbWF0aW9ucyBzb21ldGltZXMgb21pdCBzb21lIG9mIHRoZSBsYXllcnMgc2luY2UgcjEwNTQx
MworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4ODYK
KworICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KKworICAg
ICAgICBXZSBub3cgcmVuZGVyIHRoZSB3aG9sZSBsYXllciBpZiBpdCBvciBvbmUgaWYgaXRzIGFu
Y2VzdG9ycyBoYXMgYW4gYWN0aXZlIHRyYW5zZm9ybQorICAgICAgICBhbmltYXRpb25zLiBJdCdz
IHBvc3NpYmxlIHRvIG9wdGltaXplIGZ1cnRoZXIgaW4gdGhlIGZ1dHVyZSwgYnV0IG5vdCBjdXJy
ZW50bHkgbmVjZXNzYXJ5LgorICAgICAgICBBbHNvLCB3ZSBtYWtlIHN1cmUgdGhhdCB3aGVuIGEg
V2ViR3JhcGhpY3NMYXllcidzIHByb3BlcnR5IHRoYXQgYWZmZWN0cyB0cmFuc2Zvcm1hdGlvbiBp
cworICAgICAgICBjaGFuZ2VkLCBhbGwgaXRzIGRlc2NhbmRhbnRzIGxheWVycyBhcmUgbWFya2Vk
IGFzIG1vZGlmaWVkIHNvIHRoYXQgd2UgcmUtYWRqdXN0IHRoZWlyCisgICAgICAgIHZpc2libGUg
cmVjdCBpbiB0aGUgbmV4dCBwYXNzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJHcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdyYXBoaWNz
TGF5ZXI6Om5vdGlmeUNoYW5nZVJlY3Vyc2l2ZWx5KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViR3JhcGhpY3NMYXllcjo6c2V0UG9zaXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR3JhcGhpY3NMYXllcjo6c2V0QW5jaG9yUG9pbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViR3JhcGhpY3NMYXllcjo6c2V0U2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJH
cmFwaGljc0xheWVyOjpzZXRUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR3JhcGhp
Y3NMYXllcjo6c2V0Q2hpbGRyZW5UcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR3Jh
cGhpY3NMYXllcjo6c2V0UHJlc2VydmVzM0QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR3JhcGhp
Y3NMYXllcjo6c2V0TWFza3NUb0JvdW5kcyk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHcmFwaGlj
c0xheWVyOjphZGRBbmltYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR3JhcGhpY3NMYXll
cjo6cmVtb3ZlQW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdyYXBoaWNzTGF5ZXI6
OnRpbGVkQmFja2luZ1N0b3JlVmlzaWJsZVJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR3Jh
cGhpY3NMYXllcjo6c2VsZk9yQW5jZXN0b3JIYXNBY3RpdmVUcmFuc2Zvcm1BbmltYXRpb25zKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIuaDoK
KyAgICAgICAgKFdlYkdyYXBoaWNzTGF5ZXIpOgorCiAyMDEyLTAxLTI1ICBIYWppbWUgTW9yaXRh
ICA8bW9ycml0YUBnb29nbGUuY29tPgogCiAgICAgICAgIEVOQUJMRV9TSEFET1dfRE9NIHNob3Vs
ZCBiZSBhdmFpbGFibGUgdmlhIGJ1aWxkLXdlYmtpdCAtLXNoYWRvdy1kb20KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXll
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBo
aWNzTGF5ZXIuY3BwCmluZGV4IDM3ZDdiNDQuLjc0YzI0MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXllci5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHcmFwaGljc0xh
eWVyLmNwcApAQCAtNjksNiArNjksMTUgQEAgdm9pZCBXZWJHcmFwaGljc0xheWVyOjpub3RpZnlD
aGFuZ2UoKQogICAgICAgICBjbGllbnQoKS0+bm90aWZ5U3luY1JlcXVpcmVkKHRoaXMpOwogfQog
Cit2b2lkIFdlYkdyYXBoaWNzTGF5ZXI6Om5vdGlmeUNoYW5nZVJlY3Vyc2l2ZWx5KCkKK3sKKyAg
ICBub3RpZnlDaGFuZ2UoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNoaWxkcmVuKCku
c2l6ZSgpOyArK2kpCisgICAgICAgIHRvV2ViR3JhcGhpY3NMYXllcihjaGlsZHJlbigpW2ldKS0+
bm90aWZ5Q2hhbmdlUmVjdXJzaXZlbHkoKTsKKyAgICBpZiAocmVwbGljYUxheWVyKCkpCisgICAg
ICAgIHRvV2ViR3JhcGhpY3NMYXllcihyZXBsaWNhTGF5ZXIoKSktPm5vdGlmeUNoYW5nZSgpOwor
fQorCiBXZWJHcmFwaGljc0xheWVyOjpXZWJHcmFwaGljc0xheWVyKEdyYXBoaWNzTGF5ZXJDbGll
bnQqIGNsaWVudCkKICAgICA6IEdyYXBoaWNzTGF5ZXIoY2xpZW50KQogICAgICwgbV9tYXNrVGFy
Z2V0KDApCkBAIC0xNzMsNyArMTgyLDcgQEAgdm9pZCBXZWJHcmFwaGljc0xheWVyOjpzZXRQb3Np
dGlvbihjb25zdCBGbG9hdFBvaW50JiBwKQogICAgICAgICByZXR1cm47CiAKICAgICBHcmFwaGlj
c0xheWVyOjpzZXRQb3NpdGlvbihwKTsKLSAgICBub3RpZnlDaGFuZ2UoKTsKKyAgICBub3RpZnlD
aGFuZ2VSZWN1cnNpdmVseSgpOwogfQogCiB2b2lkIFdlYkdyYXBoaWNzTGF5ZXI6OnNldEFuY2hv
clBvaW50KGNvbnN0IEZsb2F0UG9pbnQzRCYgcCkKQEAgLTE4Miw3ICsxOTEsNyBAQCB2b2lkIFdl
YkdyYXBoaWNzTGF5ZXI6OnNldEFuY2hvclBvaW50KGNvbnN0IEZsb2F0UG9pbnQzRCYgcCkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgR3JhcGhpY3NMYXllcjo6c2V0QW5jaG9yUG9pbnQocCk7Ci0g
ICAgbm90aWZ5Q2hhbmdlKCk7CisgICAgbm90aWZ5Q2hhbmdlUmVjdXJzaXZlbHkoKTsKIH0KIAog
dm9pZCBXZWJHcmFwaGljc0xheWVyOjpzZXRTaXplKGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSkKQEAg
LTE5NCw3ICsyMDMsNyBAQCB2b2lkIFdlYkdyYXBoaWNzTGF5ZXI6OnNldFNpemUoY29uc3QgRmxv
YXRTaXplJiBzaXplKQogICAgIHNldE5lZWRzRGlzcGxheSgpOwogICAgIGlmIChtYXNrTGF5ZXIo
KSkKICAgICAgICAgbWFza0xheWVyKCktPnNldFNpemUoc2l6ZSk7Ci0gICAgbm90aWZ5Q2hhbmdl
KCk7CisgICAgbm90aWZ5Q2hhbmdlUmVjdXJzaXZlbHkoKTsKIH0KIAogdm9pZCBXZWJHcmFwaGlj
c0xheWVyOjpzZXRUcmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHQpCkBAIC0y
MDMsNyArMjEyLDcgQEAgdm9pZCBXZWJHcmFwaGljc0xheWVyOjpzZXRUcmFuc2Zvcm0oY29uc3Qg
VHJhbnNmb3JtYXRpb25NYXRyaXgmIHQpCiAgICAgICAgIHJldHVybjsKIAogICAgIEdyYXBoaWNz
TGF5ZXI6OnNldFRyYW5zZm9ybSh0KTsKLSAgICBub3RpZnlDaGFuZ2UoKTsKKyAgICBub3RpZnlD
aGFuZ2VSZWN1cnNpdmVseSgpOwogfQogCiB2b2lkIFdlYkdyYXBoaWNzTGF5ZXI6OnNldENoaWxk
cmVuVHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB0KQpAQCAtMjEyLDcgKzIy
MSw3IEBAIHZvaWQgV2ViR3JhcGhpY3NMYXllcjo6c2V0Q2hpbGRyZW5UcmFuc2Zvcm0oY29uc3Qg
VHJhbnNmb3JtYXRpb25NYXRyaXgmIHQpCiAgICAgICAgIHJldHVybjsKIAogICAgIEdyYXBoaWNz
TGF5ZXI6OnNldENoaWxkcmVuVHJhbnNmb3JtKHQpOwotICAgIG5vdGlmeUNoYW5nZSgpOworICAg
IG5vdGlmeUNoYW5nZVJlY3Vyc2l2ZWx5KCk7CiB9CiAKIHZvaWQgV2ViR3JhcGhpY3NMYXllcjo6
c2V0UHJlc2VydmVzM0QoYm9vbCBiKQpAQCAtMjIxLDcgKzIzMCw3IEBAIHZvaWQgV2ViR3JhcGhp
Y3NMYXllcjo6c2V0UHJlc2VydmVzM0QoYm9vbCBiKQogICAgICAgICByZXR1cm47CiAKICAgICBH
cmFwaGljc0xheWVyOjpzZXRQcmVzZXJ2ZXMzRChiKTsKLSAgICBub3RpZnlDaGFuZ2UoKTsKKyAg
ICBub3RpZnlDaGFuZ2VSZWN1cnNpdmVseSgpOwogfQogCiB2b2lkIFdlYkdyYXBoaWNzTGF5ZXI6
OnNldE1hc2tzVG9Cb3VuZHMoYm9vbCBiKQpAQCAtMjI5LDcgKzIzOCw3IEBAIHZvaWQgV2ViR3Jh
cGhpY3NMYXllcjo6c2V0TWFza3NUb0JvdW5kcyhib29sIGIpCiAgICAgaWYgKG1hc2tzVG9Cb3Vu
ZHMoKSA9PSBiKQogICAgICAgICByZXR1cm47CiAgICAgR3JhcGhpY3NMYXllcjo6c2V0TWFza3NU
b0JvdW5kcyhiKTsKLSAgICBub3RpZnlDaGFuZ2UoKTsKKyAgICBub3RpZnlDaGFuZ2VSZWN1cnNp
dmVseSgpOwogfQogCiB2b2lkIFdlYkdyYXBoaWNzTGF5ZXI6OnNldERyYXdzQ29udGVudChib29s
IGIpCkBAIC0yOTYsOSArMzA1LDExIEBAIGJvb2wgV2ViR3JhcGhpY3NMYXllcjo6YWRkQW5pbWF0
aW9uKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0JiB2YWx1ZUxpc3QsIGNvbnN0IEluCiAgICAgd2Vi
QW5pbWF0aW9uLmFuaW1hdGlvbiA9IEFuaW1hdGlvbjo6Y3JlYXRlKGFuaW0pOwogICAgIHdlYkFu
aW1hdGlvbi5zdGFydFRpbWUgPSB0aW1lT2Zmc2V0OwogICAgIG1fbGF5ZXJJbmZvLmFuaW1hdGlv
bnMuYXBwZW5kKHdlYkFuaW1hdGlvbik7CisgICAgaWYgKHZhbHVlTGlzdC5wcm9wZXJ0eSgpID09
IEFuaW1hdGVkUHJvcGVydHlXZWJraXRUcmFuc2Zvcm0pCisgICAgICAgIG1fdHJhbnNmb3JtQW5p
bWF0aW9ucy5hZGQoa2V5ZnJhbWVzTmFtZSk7CiAKICAgICBtX2hhc1BlbmRpbmdBbmltYXRpb25z
ID0gdHJ1ZTsKLSAgICBub3RpZnlDaGFuZ2UoKTsKKyAgICBub3RpZnlDaGFuZ2VSZWN1cnNpdmVs
eSgpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0zMTksNiArMzMwLDcgQEAgdm9pZCBXZWJH
cmFwaGljc0xheWVyOjpyZW1vdmVBbmltYXRpb24oY29uc3QgU3RyaW5nJiBhbmltYXRpb25OYW1l
KQogICAgIHdlYkFuaW1hdGlvbi5uYW1lID0gYW5pbWF0aW9uTmFtZTsKICAgICB3ZWJBbmltYXRp
b24ub3BlcmF0aW9uID0gV2ViTGF5ZXJBbmltYXRpb246OlJlbW92ZUFuaW1hdGlvbjsKICAgICBt
X2xheWVySW5mby5hbmltYXRpb25zLmFwcGVuZCh3ZWJBbmltYXRpb24pOworICAgIG1fdHJhbnNm
b3JtQW5pbWF0aW9ucy5yZW1vdmUoYW5pbWF0aW9uTmFtZSk7CiAgICAgbm90aWZ5Q2hhbmdlKCk7
CiB9CiAKQEAgLTUzNSw2ICs1NDcsMTEgQEAgSW50UmVjdCBXZWJHcmFwaGljc0xheWVyOjp0aWxl
ZEJhY2tpbmdTdG9yZUNvbnRlbnRzUmVjdCgpCiAKIEludFJlY3QgV2ViR3JhcGhpY3NMYXllcjo6
dGlsZWRCYWNraW5nU3RvcmVWaXNpYmxlUmVjdCgpCiB7CisgICAgLy8gSWYgdGhpcyBsYXllciBp
cyBwYXJ0IG9mIGFuIGFjdGl2ZSB0cmFuc2Zvcm0gYW5pbWF0aW9uLCB0aGUgdmlzaWJsZSByZWN0
IG1pZ2h0IGNoYW5nZSwKKyAgICAvLyBzbyB3ZSByYXRoZXIgcmVuZGVyIHRoZSB3aG9sZSBsYXll
ciB1bnRpbCBzb21lIGJldHRlciBvcHRpbWl6YXRpb24gaXMgYXZhaWxhYmxlLgorICAgIGlmIChz
ZWxmT3JBbmNlc3Rvckhhc0FjdGl2ZVRyYW5zZm9ybUFuaW1hdGlvbnMoKSkKKyAgICAgICAgcmV0
dXJuIHRpbGVkQmFja2luZ1N0b3JlQ29udGVudHNSZWN0KCk7CisKICAgICAvLyBOb24taW52ZXJ0
aWJsZSBsYXllcnMgYXJlIG5vdCB2aXNpYmxlLgogICAgIGlmICghbV9sYXllclRyYW5zZm9ybS5j
b21iaW5lZCgpLmlzSW52ZXJ0aWJsZSgpKQogICAgICAgICByZXR1cm4gSW50UmVjdCgpOwpAQCAt
Njk5LDUgKzcxNiwxNiBAQCB2b2lkIFdlYkdyYXBoaWNzTGF5ZXI6OmluaXRGYWN0b3J5KCkKICAg
ICBHcmFwaGljc0xheWVyOjpzZXRHcmFwaGljc0xheWVyRmFjdG9yeShjcmVhdGVXZWJHcmFwaGlj
c0xheWVyKTsKIH0KIAorYm9vbCBXZWJHcmFwaGljc0xheWVyOjpzZWxmT3JBbmNlc3Rvckhhc0Fj
dGl2ZVRyYW5zZm9ybUFuaW1hdGlvbnMoKSBjb25zdAoreworICAgIGlmICghbV90cmFuc2Zvcm1B
bmltYXRpb25zLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAocGFy
ZW50KCkpCisgICAgICAgIHJldHVybiB0b1dlYkdyYXBoaWNzTGF5ZXIocGFyZW50KCkpLT5zZWxm
T3JBbmNlc3Rvckhhc0FjdGl2ZVRyYW5zZm9ybUFuaW1hdGlvbnMoKTsKKworICAgIHJldHVybiBm
YWxzZTsKK30KKwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXllci5oCmluZGV4IDNjNTc5ZmQu
LjBiNTA3NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViR3JhcGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXllci5oCkBAIC0zNSw2ICszNSw3IEBACiAjaW5j
bHVkZSAiV2ViTGF5ZXJUcmVlSW5mby5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKICNpbmNs
dWRlIDxXZWJDb3JlL1J1bkxvb3AuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+
CiAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAKQEAgLTE1Miw2ICsxNTMsMTAg
QEAgcHJpdmF0ZToKICAgICBib29sIG1faW5VcGRhdGVNb2RlIDogMjsKIAogICAgIHZvaWQgbm90
aWZ5Q2hhbmdlKCk7CisgICAgdm9pZCBub3RpZnlDaGFuZ2VSZWN1cnNpdmVseSgpOworICAgIEhh
c2hTZXQ8U3RyaW5nPiBtX3RyYW5zZm9ybUFuaW1hdGlvbnM7CisKKyAgICBib29sIHNlbGZPckFu
Y2VzdG9ySGFzQWN0aXZlVHJhbnNmb3JtQW5pbWF0aW9ucygpIGNvbnN0OwogCiAjaWYgVVNFKFRJ
TEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAgdm9pZCBjb21wdXRlVHJhbnNmb3JtZWRWaXNpYmxlUmVj
dCgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>