<?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>31051</bug_id>
          
          <creation_ts>2009-11-03 04:33:17 -0800</creation_ts>
          <short_desc>[v8] control external memory retention due to V8 objects</short_desc>
          <delta_ts>2009-11-10 12:00:46 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>0</everconfirmed>
          <reporter name="anton muhin">antonm</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>hclam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>160027</commentid>
    <comment_count>0</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2009-11-03 04:33:17 -0800</bug_when>
    <thetext>There are cases when small V8 handlers (too small to force V8 GC) retain a lot of DOM objects and thus Chromium could run out of memory even though those objects are semantic garbage.

This patch adds some checks and if overall memory usage is high, attempts to release the memory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160028</commentid>
    <comment_count>1</comment_count>
      <attachid>42366</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2009-11-03 04:48:10 -0800</bug_when>
    <thetext>Created attachment 42366
First take</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160069</commentid>
    <comment_count>2</comment_count>
      <attachid>42366</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-03 08:23:06 -0800</bug_when>
    <thetext>Comment on attachment 42366
First take

&gt;+    V8GCController::checkMemoryUsage();

I presume you&apos;ve benchmarked this and seen that this isn&apos;t slowing us down too much.

&gt;+        static const int LOW_USAGE_MB = 256;  // If memory usage is below this threshold, do not bother forcing GC.
&gt;+        static const int HIGH_USAGE_MB = 1024;  // If memory usage is above this threshold, force GC more aggresively.
&gt;+        static const int HIGH_USAGE_DELTA_MB = 128;  // Delta of memory usage growth (vs. last s_workingSetEstimateMB) to force GC when memory usage is high.

It&apos;s easier if you move these values into the cpp file since they&apos;re private anyway.  What you&apos;ve done where will confuse compilers on some platforms because they&apos;re not sure which compilation out to provide storage for these values should any code take their address.

Also, the style for these variables is incorrect.  They ought to be in camelCase.

&gt; + s_workingSetEstimateMB

I don&apos;t think this is supposed to have an &quot;s_&quot;, I&apos;m unclear on the style for these.  I think we&apos;re inconsistent.

&gt;+int GetMemoryUsageInMB()

Please either pre-pend &quot;V8GCController::&quot; or declare this in an anonymous namespace.  Also, per the style guide, this should start with a lower-case &quot;g&quot;.

&gt;+{
&gt;+    return ChromiumBridge::memoryUsageMB();
&gt;+}

What&apos;s the point of this function?  Why not just call ChromiumBridge::memoryUsageMB?  The abstract does not appear to be buying us much.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160107</commentid>
    <comment_count>3</comment_count>
      <attachid>42392</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2009-11-03 10:01:55 -0800</bug_when>
    <thetext>Created attachment 42392
Addressing style issues</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160108</commentid>
    <comment_count>4</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2009-11-03 10:06:18 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 42366 [details])
&gt; &gt;+    V8GCController::checkMemoryUsage();
&gt; 
&gt; I presume you&apos;ve benchmarked this and seen that this isn&apos;t slowing us down too
&gt; much.

I did for some DOM operations.  As was discussed offline, would run through some more benchmarks.

&gt; 
&gt; &gt;+        static const int LOW_USAGE_MB = 256;  // If memory usage is below this threshold, do not bother forcing GC.
&gt; &gt;+        static const int HIGH_USAGE_MB = 1024;  // If memory usage is above this threshold, force GC more aggresively.
&gt; &gt;+        static const int HIGH_USAGE_DELTA_MB = 128;  // Delta of memory usage growth (vs. last s_workingSetEstimateMB) to force GC when memory usage is high.
&gt; 
&gt; It&apos;s easier if you move these values into the cpp file since they&apos;re private
&gt; anyway.  What you&apos;ve done where will confuse compilers on some platforms
&gt; because they&apos;re not sure which compilation out to provide storage for these
&gt; values should any code take their address.
&gt; 

Oh irony, that was that way before, but one of early reviewers asked to lift into the class decl, happily moving back into the method.

&gt; Also, the style for these variables is incorrect.  They ought to be in
&gt; camelCase.

Fixed.

&gt; &gt; + s_workingSetEstimateMB
&gt; 
&gt; I don&apos;t think this is supposed to have an &quot;s_&quot;, I&apos;m unclear on the style for
&gt; these.  I think we&apos;re inconsistent.

As I don&apos;t like prefices, fixed and I feel happy :)

&gt; 
&gt; &gt;+int GetMemoryUsageInMB()
&gt; 
&gt; Please either pre-pend &quot;V8GCController::&quot; or declare this in an anonymous
&gt; namespace.  Also, per the style guide, this should start with a lower-case &quot;g&quot;.

Move into anonymous namespace.

&gt; &gt;+{
&gt; &gt;+    return ChromiumBridge::memoryUsageMB();
&gt; &gt;+}
&gt; 
&gt; What&apos;s the point of this function?  Why not just call
&gt; ChromiumBridge::memoryUsageMB?  The abstract does not appear to be buying us
&gt; much.

It&apos;s up to you (I&apos;d remove it if you like).  The idea is there might be different ways to estimate amount of used memory.  E.g. one plan was to use memory allocated for WebCore objects only.  Or we might use allocator stats, etc.  So I thought that abstracting it into a separate function might be worth it, but I don&apos;t feel to strong for this solution.

And thanks a lot for your comments!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160323</commentid>
    <comment_count>5</comment_count>
      <attachid>42392</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-03 22:54:38 -0800</bug_when>
    <thetext>Comment on attachment 42392
Addressing style issues

Great!  Thanks for the changes.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160815</commentid>
    <comment_count>6</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2009-11-05 07:22:43 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 42392 [details])
&gt; Great!  Thanks for the changes.  :)

Thanks a lot for review, Adam!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160818</commentid>
    <comment_count>7</comment_count>
      <attachid>42392</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-05 07:36:21 -0800</bug_when>
    <thetext>Comment on attachment 42392
Addressing style issues

Clearing flags on attachment: 42392

Committed r50562: &lt;http://trac.webkit.org/changeset/50562&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160819</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-05 07:36:25 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162128</commentid>
    <comment_count>9</comment_count>
      <attachid>42880</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2009-11-10 11:22:59 -0800</bug_when>
    <thetext>Created attachment 42880
Trying to reapply

Begging to reapply already LGTMed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162130</commentid>
    <comment_count>10</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2009-11-10 11:24:29 -0800</bug_when>
    <thetext>Guys,

I just want to reapply rolledback change which was already reviewed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162132</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-10 11:25:53 -0800</bug_when>
    <thetext>Whoever did the revert really should have recorded it in this bug. :(  I&apos;ll let Adam have first-crack at re-reviewing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162139</commentid>
    <comment_count>12</comment_count>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2009-11-10 11:37:46 -0800</bug_when>
    <thetext>Sorry I didn&apos;t post a message after the revert.

The failure in Chromium is that this code will cause delay loading of psapi.dll in XP. This is now fixed in Chromium http://codereview.chromium.org/376023. So this change should be safe to be merge into Chromium now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162141</commentid>
    <comment_count>13</comment_count>
      <attachid>42880</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-10 11:38:10 -0800</bug_when>
    <thetext>Comment on attachment 42880
Trying to reapply

(In reply to comment #10)
&gt; I just want to reapply rolledback change which was already reviewed.

As a committer, you can do that without another review.  Just make sure you understand why the patch was rolled back.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162142</commentid>
    <comment_count>14</comment_count>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2009-11-10 11:38:51 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; Sorry I didn&apos;t post a message after the revert.
&gt; 
&gt; The failure in Chromium is that this code will cause delay loading of psapi.dll
&gt; in XP. This is now fixed in Chromium http://codereview.chromium.org/376023. So
&gt; this change should be safe to be merge into Chromium now.

And delay loading a DLL in Chromium&apos;s renderer was failing because of the sandbox. Now delay loading is disabled so it&apos;s always loaded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162144</commentid>
    <comment_count>15</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2009-11-10 11:42:00 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #12)
&gt; &gt; Sorry I didn&apos;t post a message after the revert.
&gt; &gt; 
&gt; &gt; The failure in Chromium is that this code will cause delay loading of psapi.dll
&gt; &gt; in XP. This is now fixed in Chromium http://codereview.chromium.org/376023. So
&gt; &gt; this change should be safe to be merge into Chromium now.
&gt; 
&gt; And delay loading a DLL in Chromium&apos;s renderer was failing because of the
&gt; sandbox. Now delay loading is disabled so it&apos;s always loaded.

Thanks to everyone.

to Adam: will remember that I don&apos;t need review+ --- thanks a lot for letting me know.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162155</commentid>
    <comment_count>16</comment_count>
      <attachid>42880</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-10 12:00:41 -0800</bug_when>
    <thetext>Comment on attachment 42880
Trying to reapply

Clearing flags on attachment: 42880

Committed r50752: &lt;http://trac.webkit.org/changeset/50752&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162156</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-10 12:00:46 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42366</attachid>
            <date>2009-11-03 04:48:10 -0800</date>
            <delta_ts>2009-11-03 10:01:55 -0800</delta_ts>
            <desc>First take</desc>
            <filename>WebCore.patch</filename>
            <type>text/plain</type>
            <size>4069</size>
            <attacher name="anton muhin">antonm</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MDQ1MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMDktMTEtMDMgIEFudG9uIE11aGluICA8YW50b25tQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
ZiBoaWdoIG1lbW9yeSB1c2FnZSBpcyBkZXRlY3RlZCwgaGludCB0byBWOCB0aGF0IGl0IG1pZ2h0
IGJlIGR1ZQorICAgICAgICB0byBleHRlcm5hbCBvYmplY3RzIHJldGFpbmVkIGJ5IFY4IG9iamVj
dHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTA1
MQorCisgICAgICAgICogYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6R2V0TWVtb3J5VXNhZ2VJbk1CKToKKyAgICAgICAgKFdlYkNvcmU6OlY4R0NDb250
cm9sbGVyOjpnY0VwaWxvZ3VlKToKKyAgICAgICAgKFdlYkNvcmU6OlY4R0NDb250cm9sbGVyOjpj
aGVja01lbW9yeVVzYWdlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5o
OgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
VjhQcm94eTo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6VjhQcm94eTo6cnVuU2NyaXB0
KToKKyAgICAgICAgKFdlYkNvcmU6OlY4UHJveHk6OmNhbGxGdW5jdGlvbik6CisKIDIwMDktMTEt
MDIgIFRvciBBcm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgogCiAgICAg
ICAgIFJ1YmJlci1zdGFtcGVkIGJ5IEFudHRpIEtvaXZpc3RvLgpJbmRleDogV2ViQ29yZS9iaW5k
aW5ncy92OC9WOFByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
UHJveHkuY3BwCShyZXZpc2lvbiA1MDQ0MikKKysrIFdlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94
eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3NCw2ICszNzQsOCBAQAogewogICAgIEFTU0VSVCh2
ODo6Q29udGV4dDo6SW5Db250ZXh0KCkpOwogCisgICAgVjhHQ0NvbnRyb2xsZXI6OmNoZWNrTWVt
b3J5VXNhZ2UoKTsKKwogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgSW5zcGVjdG9yVGltZWxp
bmVBZ2VudCogdGltZWxpbmVBZ2VudCA9IG1fZnJhbWUtPnBhZ2UoKSA/IG1fZnJhbWUtPnBhZ2Uo
KS0+aW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpIDogMDsKICAgICBpZiAodGltZWxpbmVBZ2VudCkK
QEAgLTQxOSw2ICs0MjEsNyBAQAogICAgIGlmIChzY3JpcHQuSXNFbXB0eSgpKQogICAgICAgICBy
ZXR1cm4gbm90SGFuZGxlZEJ5SW50ZXJjZXB0b3IoKTsKIAorICAgIFY4R0NDb250cm9sbGVyOjpj
aGVja01lbW9yeVVzYWdlKCk7CiAgICAgLy8gQ29tcHV0ZSB0aGUgc291cmNlIHN0cmluZyBhbmQg
cHJldmVudCBhZ2FpbnN0IGluZmluaXRlIHJlY3Vyc2lvbi4KICAgICBpZiAobV9yZWN1cnNpb24g
Pj0ga01heFJlY3Vyc2lvbkRlcHRoKSB7CiAgICAgICAgIHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBj
b2RlID0gdjhFeHRlcm5hbFN0cmluZygidGhyb3cgUmFuZ2VFcnJvcignUmVjdXJzaW9uIHRvbyBk
ZWVwJykiKTsKQEAgLTQ3Myw2ICs0NzYsNyBAQAogCiB2ODo6TG9jYWw8djg6OlZhbHVlPiBWOFBy
b3h5OjpjYWxsRnVuY3Rpb24odjg6OkhhbmRsZTx2ODo6RnVuY3Rpb24+IGZ1bmN0aW9uLCB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+IHJlY2VpdmVyLCBpbnQgYXJnYywgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IGFyZ3NbXSkKIHsKKyAgICBWOEdDQ29udHJvbGxlcjo6Y2hlY2tNZW1vcnlVc2FnZSgpOwog
ICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHJlc3VsdDsKICAgICB7CiAgICAgICAgIFY4Q29uc29s
ZU1lc3NhZ2U6OlNjb3BlIHNjb3BlOwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9WOEdDQ29u
dHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xs
ZXIuaAkocmV2aXNpb24gNTA0NDIpCisrKyBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9s
bGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTc4LDYgKzc4LDE2IEBACiAKICAgICAgICAgc3RhdGlj
IHZvaWQgZ2NQcm9sb2d1ZSgpOwogICAgICAgICBzdGF0aWMgdm9pZCBnY0VwaWxvZ3VlKCk7CisK
KyAgICAgICAgc3RhdGljIHZvaWQgY2hlY2tNZW1vcnlVc2FnZSgpOworCisgICAgcHJpdmF0ZToK
KyAgICAgICAgLy8gRXN0aW1hdGUgb2YgY3VycmVudCB3b3JraW5nIHNldC4KKyAgICAgICAgc3Rh
dGljIGludCBzX3dvcmtpbmdTZXRFc3RpbWF0ZU1COworCisgICAgICAgIHN0YXRpYyBjb25zdCBp
bnQgTE9XX1VTQUdFX01CID0gMjU2OyAgLy8gSWYgbWVtb3J5IHVzYWdlIGlzIGJlbG93IHRoaXMg
dGhyZXNob2xkLCBkbyBub3QgYm90aGVyIGZvcmNpbmcgR0MuCisgICAgICAgIHN0YXRpYyBjb25z
dCBpbnQgSElHSF9VU0FHRV9NQiA9IDEwMjQ7ICAvLyBJZiBtZW1vcnkgdXNhZ2UgaXMgYWJvdmUg
dGhpcyB0aHJlc2hvbGQsIGZvcmNlIEdDIG1vcmUgYWdncmVzaXZlbHkuCisgICAgICAgIHN0YXRp
YyBjb25zdCBpbnQgSElHSF9VU0FHRV9ERUxUQV9NQiA9IDEyODsgIC8vIERlbHRhIG9mIG1lbW9y
eSB1c2FnZSBncm93dGggKHZzLiBsYXN0IHNfd29ya2luZ1NldEVzdGltYXRlTUIpIHRvIGZvcmNl
IEdDIHdoZW4gbWVtb3J5IHVzYWdlIGlzIGhpZ2guCiAgICAgfTsKIAogfQpJbmRleDogV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9i
aW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDUwNDQyKQorKysgV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxNiw2
ICs0MTYsMTMgQEAKICAgICB9CiB9OwogCitpbnQgVjhHQ0NvbnRyb2xsZXI6OnNfd29ya2luZ1Nl
dEVzdGltYXRlTUIgPSAwOworCitpbnQgR2V0TWVtb3J5VXNhZ2VJbk1CKCkKK3sKKyAgICByZXR1
cm4gQ2hyb21pdW1CcmlkZ2U6Om1lbW9yeVVzYWdlTUIoKTsKK30KKwogdm9pZCBWOEdDQ29udHJv
bGxlcjo6Z2NFcGlsb2d1ZSgpCiB7CiAgICAgdjg6OkhhbmRsZVNjb3BlIHNjb3BlOwpAQCAtNDI1
LDYgKzQzMiw4IEBACiAgICAgR0NFcGlsb2d1ZVZpc2l0b3IgZXBpbG9ndWVWaXNpdG9yOwogICAg
IHZpc2l0QWN0aXZlRE9NT2JqZWN0c0luQ3VycmVudFRocmVhZCgmZXBpbG9ndWVWaXNpdG9yKTsK
IAorICAgIHNfd29ya2luZ1NldEVzdGltYXRlTUIgPSBHZXRNZW1vcnlVc2FnZUluTUIoKTsKKwog
I2lmbmRlZiBOREVCVUcKICAgICAvLyBDaGVjayBhbGwgc3Vydml2YWxzIGFyZSB3ZWFrLgogICAg
IERPTU9iamVjdFZpc2l0b3IgZG9tT2JqZWN0VmlzaXRvcjsKQEAgLTQzOCw0ICs0NDcsMTIgQEAK
ICNlbmRpZgogfQogCit2b2lkIFY4R0NDb250cm9sbGVyOjpjaGVja01lbW9yeVVzYWdlKCkKK3sK
KyAgICBpbnQgbWVtb3J5VXNhZ2VNQiA9IEdldE1lbW9yeVVzYWdlSW5NQigpOworICAgIGlmICgo
bWVtb3J5VXNhZ2VNQiA+IExPV19VU0FHRV9NQiAmJiBtZW1vcnlVc2FnZU1CID4gMiAqIHNfd29y
a2luZ1NldEVzdGltYXRlTUIpIHx8IChtZW1vcnlVc2FnZU1CID4gSElHSF9VU0FHRV9NQiAmJiBt
ZW1vcnlVc2FnZU1CID4gc193b3JraW5nU2V0RXN0aW1hdGVNQiArIEhJR0hfVVNBR0VfREVMVEFf
TUIpKQorICAgICAgICB2ODo6Vjg6Okxvd01lbW9yeU5vdGlmaWNhdGlvbigpOworfQorCisKIH0g
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>
<flag name="review"
          id="23885"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42392</attachid>
            <date>2009-11-03 10:01:55 -0800</date>
            <delta_ts>2009-11-10 11:22:59 -0800</delta_ts>
            <desc>Addressing style issues</desc>
            <filename>WebCore.patch</filename>
            <type>text/plain</type>
            <size>4054</size>
            <attacher name="anton muhin">antonm</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MDQ1MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMDktMTEtMDMgIEFudG9uIE11aGluICA8YW50b25tQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
ZiBoaWdoIG1lbW9yeSB1c2FnZSBpcyBkZXRlY3RlZCwgaGludCB0byBWOCB0aGF0IGl0IG1pZ2h0
IGJlIGR1ZQorICAgICAgICB0byBleHRlcm5hbCBvYmplY3RzIHJldGFpbmVkIGJ5IFY4IG9iamVj
dHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTA1
MQorCisgICAgICAgICogYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6R2V0TWVtb3J5VXNhZ2VJbk1CKToKKyAgICAgICAgKFdlYkNvcmU6OlY4R0NDb250
cm9sbGVyOjpnY0VwaWxvZ3VlKToKKyAgICAgICAgKFdlYkNvcmU6OlY4R0NDb250cm9sbGVyOjpj
aGVja01lbW9yeVVzYWdlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5o
OgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
VjhQcm94eTo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6VjhQcm94eTo6cnVuU2NyaXB0
KToKKyAgICAgICAgKFdlYkNvcmU6OlY4UHJveHk6OmNhbGxGdW5jdGlvbik6CisKIDIwMDktMTEt
MDIgIFRvciBBcm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgogCiAgICAg
ICAgIFJ1YmJlci1zdGFtcGVkIGJ5IEFudHRpIEtvaXZpc3RvLgpJbmRleDogV2ViQ29yZS9iaW5k
aW5ncy92OC9WOFByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
UHJveHkuY3BwCShyZXZpc2lvbiA1MDQ0MikKKysrIFdlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94
eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3NCw2ICszNzQsOCBAQAogewogICAgIEFTU0VSVCh2
ODo6Q29udGV4dDo6SW5Db250ZXh0KCkpOwogCisgICAgVjhHQ0NvbnRyb2xsZXI6OmNoZWNrTWVt
b3J5VXNhZ2UoKTsKKwogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgSW5zcGVjdG9yVGltZWxp
bmVBZ2VudCogdGltZWxpbmVBZ2VudCA9IG1fZnJhbWUtPnBhZ2UoKSA/IG1fZnJhbWUtPnBhZ2Uo
KS0+aW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpIDogMDsKICAgICBpZiAodGltZWxpbmVBZ2VudCkK
QEAgLTQxOSw2ICs0MjEsNyBAQAogICAgIGlmIChzY3JpcHQuSXNFbXB0eSgpKQogICAgICAgICBy
ZXR1cm4gbm90SGFuZGxlZEJ5SW50ZXJjZXB0b3IoKTsKIAorICAgIFY4R0NDb250cm9sbGVyOjpj
aGVja01lbW9yeVVzYWdlKCk7CiAgICAgLy8gQ29tcHV0ZSB0aGUgc291cmNlIHN0cmluZyBhbmQg
cHJldmVudCBhZ2FpbnN0IGluZmluaXRlIHJlY3Vyc2lvbi4KICAgICBpZiAobV9yZWN1cnNpb24g
Pj0ga01heFJlY3Vyc2lvbkRlcHRoKSB7CiAgICAgICAgIHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBj
b2RlID0gdjhFeHRlcm5hbFN0cmluZygidGhyb3cgUmFuZ2VFcnJvcignUmVjdXJzaW9uIHRvbyBk
ZWVwJykiKTsKQEAgLTQ3Myw2ICs0NzYsNyBAQAogCiB2ODo6TG9jYWw8djg6OlZhbHVlPiBWOFBy
b3h5OjpjYWxsRnVuY3Rpb24odjg6OkhhbmRsZTx2ODo6RnVuY3Rpb24+IGZ1bmN0aW9uLCB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+IHJlY2VpdmVyLCBpbnQgYXJnYywgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IGFyZ3NbXSkKIHsKKyAgICBWOEdDQ29udHJvbGxlcjo6Y2hlY2tNZW1vcnlVc2FnZSgpOwog
ICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHJlc3VsdDsKICAgICB7CiAgICAgICAgIFY4Q29uc29s
ZU1lc3NhZ2U6OlNjb3BlIHNjb3BlOwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9WOEdDQ29u
dHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xs
ZXIuaAkocmV2aXNpb24gNTA0NDIpCisrKyBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9s
bGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTc4LDYgKzc4LDEyIEBACiAKICAgICAgICAgc3RhdGlj
IHZvaWQgZ2NQcm9sb2d1ZSgpOwogICAgICAgICBzdGF0aWMgdm9pZCBnY0VwaWxvZ3VlKCk7CisK
KyAgICAgICAgc3RhdGljIHZvaWQgY2hlY2tNZW1vcnlVc2FnZSgpOworCisgICAgcHJpdmF0ZToK
KyAgICAgICAgLy8gRXN0aW1hdGUgb2YgY3VycmVudCB3b3JraW5nIHNldC4KKyAgICAgICAgc3Rh
dGljIGludCB3b3JraW5nU2V0RXN0aW1hdGVNQjsKICAgICB9OwogCiB9CkluZGV4OiBXZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcAkocmV2aXNpb24gNTA0NDIpCisrKyBXZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDE2LDYg
KzQxNiwxNyBAQAogICAgIH0KIH07CiAKK2ludCBWOEdDQ29udHJvbGxlcjo6d29ya2luZ1NldEVz
dGltYXRlTUIgPSAwOworCituYW1lc3BhY2UgeworCitpbnQgZ2V0TWVtb3J5VXNhZ2VJbk1CKCkK
K3sKKyAgICByZXR1cm4gQ2hyb21pdW1CcmlkZ2U6Om1lbW9yeVVzYWdlTUIoKTsKK30KKworfSAg
Ly8gYW5vbnltb3VzIG5hbWVzcGFjZQorCiB2b2lkIFY4R0NDb250cm9sbGVyOjpnY0VwaWxvZ3Vl
KCkKIHsKICAgICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7CkBAIC00MjUsNiArNDM2LDggQEAKICAg
ICBHQ0VwaWxvZ3VlVmlzaXRvciBlcGlsb2d1ZVZpc2l0b3I7CiAgICAgdmlzaXRBY3RpdmVET01P
YmplY3RzSW5DdXJyZW50VGhyZWFkKCZlcGlsb2d1ZVZpc2l0b3IpOwogCisgICAgd29ya2luZ1Nl
dEVzdGltYXRlTUIgPSBnZXRNZW1vcnlVc2FnZUluTUIoKTsKKwogI2lmbmRlZiBOREVCVUcKICAg
ICAvLyBDaGVjayBhbGwgc3Vydml2YWxzIGFyZSB3ZWFrLgogICAgIERPTU9iamVjdFZpc2l0b3Ig
ZG9tT2JqZWN0VmlzaXRvcjsKQEAgLTQzOCw0ICs0NTEsMTYgQEAKICNlbmRpZgogfQogCit2b2lk
IFY4R0NDb250cm9sbGVyOjpjaGVja01lbW9yeVVzYWdlKCkKK3sKKyAgICBjb25zdCBpbnQgbG93
VXNhZ2VNQiA9IDI1NjsgIC8vIElmIG1lbW9yeSB1c2FnZSBpcyBiZWxvdyB0aGlzIHRocmVzaG9s
ZCwgZG8gbm90IGJvdGhlciBmb3JjaW5nIEdDLgorICAgIGNvbnN0IGludCBoaWdoVXNhZ2VNQiA9
IDEwMjQ7ICAvLyBJZiBtZW1vcnkgdXNhZ2UgaXMgYWJvdmUgdGhpcyB0aHJlc2hvbGQsIGZvcmNl
IEdDIG1vcmUgYWdncmVzaXZlbHkuCisgICAgY29uc3QgaW50IGhpZ2hVc2FnZURlbHRhTUIgPSAx
Mjg7ICAvLyBEZWx0YSBvZiBtZW1vcnkgdXNhZ2UgZ3Jvd3RoICh2cy4gbGFzdCB3b3JraW5nU2V0
RXN0aW1hdGVNQikgdG8gZm9yY2UgR0Mgd2hlbiBtZW1vcnkgdXNhZ2UgaXMgaGlnaC4KKworICAg
IGludCBtZW1vcnlVc2FnZU1CID0gZ2V0TWVtb3J5VXNhZ2VJbk1CKCk7CisgICAgaWYgKChtZW1v
cnlVc2FnZU1CID4gbG93VXNhZ2VNQiAmJiBtZW1vcnlVc2FnZU1CID4gMiAqIHdvcmtpbmdTZXRF
c3RpbWF0ZU1CKSB8fCAobWVtb3J5VXNhZ2VNQiA+IGhpZ2hVc2FnZU1CICYmIG1lbW9yeVVzYWdl
TUIgPiB3b3JraW5nU2V0RXN0aW1hdGVNQiArIGhpZ2hVc2FnZURlbHRhTUIpKQorICAgICAgICB2
ODo6Vjg6Okxvd01lbW9yeU5vdGlmaWNhdGlvbigpOworfQorCisKIH0gIC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42880</attachid>
            <date>2009-11-10 11:22:59 -0800</date>
            <delta_ts>2009-11-10 12:00:41 -0800</delta_ts>
            <desc>Trying to reapply</desc>
            <filename>WebCore.patch</filename>
            <type>text/plain</type>
            <size>4066</size>
            <attacher name="anton muhin">antonm</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MDc0NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMDktMTEtMTAgIEFudG9uIE11aGluICA8YW50b25tQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZWFwcGx5IDUwNTYyIHJldmVydGVkIGJ5IDUwNTg4IGR1ZSB0byBpc3N1ZXMgd2l0aCBzYW5kYm94
aW5nIChzaG91bGQgYmUgZmluZSBub3cpLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzEwNTEKKworICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4R0NDb250
cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4R0NDb250cm9sbGVyOjpnY0VwaWxvZ3Vl
KToKKyAgICAgICAgKFdlYkNvcmU6OlY4R0NDb250cm9sbGVyOjpjaGVja01lbW9yeVVzYWdlKToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5oOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L1Y4UHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhQcm94eTo6ZXZhbHVhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6VjhQcm94eTo6cnVuU2NyaXB0KToKKyAgICAgICAgKFdlYkNv
cmU6OlY4UHJveHk6OmNhbGxGdW5jdGlvbik6CisKIDIwMDktMTEtMTAgIFBoaWxpcHBlIE5vcm1h
bmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2Vp
ZGVsLgpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCShyZXZpc2lvbiA1MDcxNykKKysrIFdl
YkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3NCw2ICsz
NzQsOCBAQAogewogICAgIEFTU0VSVCh2ODo6Q29udGV4dDo6SW5Db250ZXh0KCkpOwogCisgICAg
VjhHQ0NvbnRyb2xsZXI6OmNoZWNrTWVtb3J5VXNhZ2UoKTsKKwogI2lmIEVOQUJMRShJTlNQRUNU
T1IpCiAgICAgaWYgKEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQgPSBtX2Zy
YW1lLT5wYWdlKCkgPyBtX2ZyYW1lLT5wYWdlKCktPmluc3BlY3RvclRpbWVsaW5lQWdlbnQoKSA6
IDApCiAgICAgICAgIHRpbWVsaW5lQWdlbnQtPndpbGxFdmFsdWF0ZVNjcmlwdChzb3VyY2UudXJs
KCkuaXNOdWxsKCkgPyBTdHJpbmcoKSA6IHNvdXJjZS51cmwoKS5zdHJpbmcoKSwgc291cmNlLnN0
YXJ0TGluZSgpKTsKQEAgLTQxOCw2ICs0MjAsNyBAQAogICAgIGlmIChzY3JpcHQuSXNFbXB0eSgp
KQogICAgICAgICByZXR1cm4gbm90SGFuZGxlZEJ5SW50ZXJjZXB0b3IoKTsKIAorICAgIFY4R0ND
b250cm9sbGVyOjpjaGVja01lbW9yeVVzYWdlKCk7CiAgICAgLy8gQ29tcHV0ZSB0aGUgc291cmNl
IHN0cmluZyBhbmQgcHJldmVudCBhZ2FpbnN0IGluZmluaXRlIHJlY3Vyc2lvbi4KICAgICBpZiAo
bV9yZWN1cnNpb24gPj0ga01heFJlY3Vyc2lvbkRlcHRoKSB7CiAgICAgICAgIHY4OjpMb2NhbDx2
ODo6U3RyaW5nPiBjb2RlID0gdjhFeHRlcm5hbFN0cmluZygidGhyb3cgUmFuZ2VFcnJvcignUmVj
dXJzaW9uIHRvbyBkZWVwJykiKTsKQEAgLTQ3Miw2ICs0NzUsNyBAQAogCiB2ODo6TG9jYWw8djg6
OlZhbHVlPiBWOFByb3h5OjpjYWxsRnVuY3Rpb24odjg6OkhhbmRsZTx2ODo6RnVuY3Rpb24+IGZ1
bmN0aW9uLCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHJlY2VpdmVyLCBpbnQgYXJnYywgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IGFyZ3NbXSkKIHsKKyAgICBWOEdDQ29udHJvbGxlcjo6Y2hlY2tNZW1v
cnlVc2FnZSgpOwogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHJlc3VsdDsKICAgICB7CiAgICAg
ICAgIFY4Q29uc29sZU1lc3NhZ2U6OlNjb3BlIHNjb3BlOwpJbmRleDogV2ViQ29yZS9iaW5kaW5n
cy92OC9WOEdDQ29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvdjgv
VjhHQ0NvbnRyb2xsZXIuaAkocmV2aXNpb24gNTA3MTcpCisrKyBXZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4R0NDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTc4LDYgKzc4LDEyIEBACiAKICAg
ICAgICAgc3RhdGljIHZvaWQgZ2NQcm9sb2d1ZSgpOwogICAgICAgICBzdGF0aWMgdm9pZCBnY0Vw
aWxvZ3VlKCk7CisKKyAgICAgICAgc3RhdGljIHZvaWQgY2hlY2tNZW1vcnlVc2FnZSgpOworCisg
ICAgcHJpdmF0ZToKKyAgICAgICAgLy8gRXN0aW1hdGUgb2YgY3VycmVudCB3b3JraW5nIHNldC4K
KyAgICAgICAgc3RhdGljIGludCB3b3JraW5nU2V0RXN0aW1hdGVNQjsKICAgICB9OwogCiB9Cklu
ZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcAkocmV2aXNpb24gNTA3MTcp
CisrKyBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDE2LDYgKzQxNiwxNyBAQAogICAgIH0KIH07CiAKK2ludCBWOEdDQ29udHJvbGxlcjo6
d29ya2luZ1NldEVzdGltYXRlTUIgPSAwOworCituYW1lc3BhY2UgeworCitpbnQgZ2V0TWVtb3J5
VXNhZ2VJbk1CKCkKK3sKKyAgICByZXR1cm4gQ2hyb21pdW1CcmlkZ2U6Om1lbW9yeVVzYWdlTUIo
KTsKK30KKworfSAgLy8gYW5vbnltb3VzIG5hbWVzcGFjZQorCiB2b2lkIFY4R0NDb250cm9sbGVy
OjpnY0VwaWxvZ3VlKCkKIHsKICAgICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7CkBAIC00MjUsNiAr
NDM2LDggQEAKICAgICBHQ0VwaWxvZ3VlVmlzaXRvciBlcGlsb2d1ZVZpc2l0b3I7CiAgICAgdmlz
aXRBY3RpdmVET01PYmplY3RzSW5DdXJyZW50VGhyZWFkKCZlcGlsb2d1ZVZpc2l0b3IpOwogCisg
ICAgd29ya2luZ1NldEVzdGltYXRlTUIgPSBnZXRNZW1vcnlVc2FnZUluTUIoKTsKKwogI2lmbmRl
ZiBOREVCVUcKICAgICAvLyBDaGVjayBhbGwgc3Vydml2YWxzIGFyZSB3ZWFrLgogICAgIERPTU9i
amVjdFZpc2l0b3IgZG9tT2JqZWN0VmlzaXRvcjsKQEAgLTQzOCw0ICs0NTEsMTYgQEAKICNlbmRp
ZgogfQogCit2b2lkIFY4R0NDb250cm9sbGVyOjpjaGVja01lbW9yeVVzYWdlKCkKK3sKKyAgICBj
b25zdCBpbnQgbG93VXNhZ2VNQiA9IDI1NjsgIC8vIElmIG1lbW9yeSB1c2FnZSBpcyBiZWxvdyB0
aGlzIHRocmVzaG9sZCwgZG8gbm90IGJvdGhlciBmb3JjaW5nIEdDLgorICAgIGNvbnN0IGludCBo
aWdoVXNhZ2VNQiA9IDEwMjQ7ICAvLyBJZiBtZW1vcnkgdXNhZ2UgaXMgYWJvdmUgdGhpcyB0aHJl
c2hvbGQsIGZvcmNlIEdDIG1vcmUgYWdncmVzaXZlbHkuCisgICAgY29uc3QgaW50IGhpZ2hVc2Fn
ZURlbHRhTUIgPSAxMjg7ICAvLyBEZWx0YSBvZiBtZW1vcnkgdXNhZ2UgZ3Jvd3RoICh2cy4gbGFz
dCB3b3JraW5nU2V0RXN0aW1hdGVNQikgdG8gZm9yY2UgR0Mgd2hlbiBtZW1vcnkgdXNhZ2UgaXMg
aGlnaC4KKworICAgIGludCBtZW1vcnlVc2FnZU1CID0gZ2V0TWVtb3J5VXNhZ2VJbk1CKCk7Cisg
ICAgaWYgKChtZW1vcnlVc2FnZU1CID4gbG93VXNhZ2VNQiAmJiBtZW1vcnlVc2FnZU1CID4gMiAq
IHdvcmtpbmdTZXRFc3RpbWF0ZU1CKSB8fCAobWVtb3J5VXNhZ2VNQiA+IGhpZ2hVc2FnZU1CICYm
IG1lbW9yeVVzYWdlTUIgPiB3b3JraW5nU2V0RXN0aW1hdGVNQiArIGhpZ2hVc2FnZURlbHRhTUIp
KQorICAgICAgICB2ODo6Vjg6Okxvd01lbW9yeU5vdGlmaWNhdGlvbigpOworfQorCisKIH0gIC8v
IG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>