<?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>68420</bug_id>
          
          <creation_ts>2011-09-19 19:18:33 -0700</creation_ts>
          <short_desc>[chromium win] Creating lots of temporary canvas contexts will crash.</short_desc>
          <delta_ts>2012-01-09 15:53:58 -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>Canvas</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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="Ben Wells">benwells</reporter>
          <assigned_to name="Justin Novosad">junov</assigned_to>
          <cc>bsalomon</cc>
    
    <cc>jamesr</cc>
    
    <cc>kbr</cc>
    
    <cc>mdelaney7</cc>
    
    <cc>reed</cc>
    
    <cc>senorblanco</cc>
    
    <cc>twiz</cc>
    
    <cc>vangelis</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>469868</commentid>
    <comment_count>0</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-09-19 19:18:33 -0700</bug_when>
    <thetext>By creating lots of canvas objects and getting their context, it is easy to run out of Windows GDI objects and crash. Even if the contexts are not referenced, the garbage collector will not startup up unless free memory is running out.

The attachments show two contrived examples which will crash Chromium on Windows. These are reduced from a crashing page which was using the Google Maps API, so these kind of usage patterns can be expected to happen.

There are at least two approaches to fixing the problem as:

1. Make skia on Windows use less GDI objects. Safari on Windows has no problems with the attached test cases; maybe there is something we can do to not use GDI objects, or not use so many.

2. Do garbage collection when we are running low on handles. I&apos;ve got a proof of context change showing this approach, but it will need some work if we go with this approach. This will only help if the contexts and canvas objects are no longer in use.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469869</commentid>
    <comment_count>1</comment_count>
      <attachid>107957</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-09-19 19:19:09 -0700</bug_when>
    <thetext>Created attachment 107957
Test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469870</commentid>
    <comment_count>2</comment_count>
      <attachid>107958</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-09-19 19:20:00 -0700</bug_when>
    <thetext>Created attachment 107958
Test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469871</commentid>
    <comment_count>3</comment_count>
      <attachid>107959</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-09-19 19:22:19 -0700</bug_when>
    <thetext>Created attachment 107959
Proof of concept, not for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469872</commentid>
    <comment_count>4</comment_count>
      <attachid>107959</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-09-19 19:30:14 -0700</bug_when>
    <thetext>Comment on attachment 107959
Proof of concept, not for landing

This fix is not ready for landing, but it shows the second approach we could take to help with this problem.

If this approach is the way to go, these changes (at least) should be made:

- be smarter about when to signal low memory by using the Windows registroy to find the per-process limit (its not always 10000), and using GetGUIResources to find out if we are getting close to that.

- push this change down (e.g. down to skia graphics context layer), to the lowest layer we can put this and still have enough context to tell V8 we are running low on resources.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469874</commentid>
    <comment_count>5</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-09-19 19:34:49 -0700</bug_when>
    <thetext>Just to be clear, are you talking about the accelerated case or the non-accelerated case?  Also, are you running out of the per-process GDI limit or the global GDI limit?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469877</commentid>
    <comment_count>6</comment_count>
      <attachid>107959</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-09-19 19:41:14 -0700</bug_when>
    <thetext>Comment on attachment 107959
Proof of concept, not for landing

Attachment 107959 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/9765103</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469882</commentid>
    <comment_count>7</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-09-19 20:17:47 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Just to be clear, are you talking about the accelerated case or the non-accelerated case?  Also, are you running out of the per-process GDI limit or the global GDI limit?

- I think this is the accelerated case, the problem has been observed in a standard Chrome version 15 and also a standard Debug build of Chromeium ToT / WebKit ToT

- This is the per-process GDI limit (usually 10000).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469911</commentid>
    <comment_count>8</comment_count>
    <who name="Vangelis Kokkevis">vangelis</who>
    <bug_when>2011-09-19 21:38:01 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #5)
&gt; &gt; Just to be clear, are you talking about the accelerated case or the non-accelerated case?  Also, are you running out of the per-process GDI limit or the global GDI limit?
&gt; 
&gt; - I think this is the accelerated case, the problem has been observed in a standard Chrome version 15 and also a standard Debug build of Chromeium ToT / WebKit ToT

Actually your test case won&apos;t trigger the accelerated canvas path as the canvases you create are too small.  

&gt; 
&gt; - This is the per-process GDI limit (usually 10000).

I&apos;m wondering though whether it&apos;s not a HTML canvas issue but rather a regular SkCanvas.  Each composited layer, via its layer painter, creates and holds on to an SkCanvas until the layer is destroyed. If a lot of tabs are opened I can see how they will add up.  Any idea how many GDI objects are used per skia canvas?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469916</commentid>
    <comment_count>9</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-09-19 21:57:46 -0700</bug_when>
    <thetext>&gt; &gt; - This is the per-process GDI limit (usually 10000).
&gt; 
&gt; I&apos;m wondering though whether it&apos;s not a HTML canvas issue but rather a regular SkCanvas.  Each composited layer, via its layer painter, creates and holds on to an SkCanvas until the layer is destroyed. If a lot of tabs are opened I can see how they will add up.  Any idea how many GDI objects are used per skia canvas?

I haven&apos;t checked wrt SkCanvas or RenderLayer, but from observation it seems each HTML canvas context is using one GDI object - for the test cases posted at least.

Each process has a limit of 10000 GDI objects (by default), with a &apos;theoretical limit&apos; per session of 65,536 (http://msdn.microsoft.com/en-us/library/ms724291(VS.85).aspx).

Different tabs are generally in different processes so opening up lots of tabs might not be such a problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470057</commentid>
    <comment_count>10</comment_count>
    <who name="Brian Salomon">bsalomon</who>
    <bug_when>2011-09-20 07:40:59 -0700</bug_when>
    <thetext>Is there every a need for native drawing in a canvas2d? Could we just not allocate GDI backing store for canvases?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471406</commentid>
    <comment_count>11</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-09-22 00:40:10 -0700</bug_when>
    <thetext>After some discussion, we&apos;re going with approach 1 - not using GDI objects at all. They should not be needed any more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510206</commentid>
    <comment_count>12</comment_count>
      <attachid>116826</attachid>
    <who name="Justin Novosad">junov</who>
    <bug_when>2011-11-28 14:50:10 -0800</bug_when>
    <thetext>Created attachment 116826
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510224</commentid>
    <comment_count>13</comment_count>
    <who name="Justin Novosad">junov</who>
    <bug_when>2011-11-28 14:57:37 -0800</bug_when>
    <thetext>Just submitted a patch the avoids allocating a GDI object for each ImageBuffer.  Only ImageBuffer associated to HTML canvases are affected because they draw text through skia.  Other use case of ImageBuffer still use GDI to draw text.

Note to reviewers: I was not sure whether it is appropriate to add the test HTML file as a new test. Is it appropriate to use a LayoutTest to verify resource exhaustion behavior/limits? Also the test is not very fast (creates 100000 canvases in a loop).  Do we want this as a test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510233</commentid>
    <comment_count>14</comment_count>
      <attachid>116826</attachid>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-11-28 15:00:52 -0800</bug_when>
    <thetext>Comment on attachment 116826
Patch

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

&gt; Source/WebCore/platform/graphics/skia/ImageBufferSkia.cpp:96
&gt; +static SkCanvas* createSoftwareCanvas(const IntSize&amp; size)

This function should probably be named createNonGDICanvas().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510238</commentid>
    <comment_count>15</comment_count>
      <attachid>116831</attachid>
    <who name="Justin Novosad">junov</who>
    <bug_when>2011-11-28 15:07:30 -0800</bug_when>
    <thetext>Created attachment 116831
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531322</commentid>
    <comment_count>16</comment_count>
      <attachid>121482</attachid>
    <who name="Justin Novosad">junov</who>
    <bug_when>2012-01-06 13:13:16 -0800</bug_when>
    <thetext>Created attachment 121482
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531340</commentid>
    <comment_count>17</comment_count>
      <attachid>121482</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-01-06 13:35:44 -0800</bug_when>
    <thetext>Comment on attachment 121482
Patch

This looks really nice! I think Stephen should probably double check it, since he&apos;s more familiar with this part of the woods.

Related question: Can we use non-GDI backing stores for all ganesh-accelerated skia painting now? That might be useful elsewhere (like in the compositor), especially if it means we get to pick whatever pixel configuration we want.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531368</commentid>
    <comment_count>18</comment_count>
    <who name="Justin Novosad">junov</who>
    <bug_when>2012-01-06 13:53:45 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; Related question: Can we use non-GDI backing stores for all ganesh-accelerated skia painting now? That might be useful elsewhere (like in the compositor), especially if it means we get to pick whatever pixel configuration we want.

Anywhere we may draw GDI text or widgets (e.g. HTML forms, browser UI), we still need to allocate the backing store using GDI :-( Unfortunately, I don&apos;t think there are currently many places where it is safe to remove GDI. Like you suggest, there may be opportunities in the compositor...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531391</commentid>
    <comment_count>19</comment_count>
      <attachid>121482</attachid>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2012-01-06 14:10:23 -0800</bug_when>
    <thetext>Comment on attachment 121482
Patch

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

Please clean up the grammar a bit.  Looks good other than that.

&gt; Source/WebCore/platform/graphics/ImageBuffer.h:62
&gt; +        UnacceleratedNonPlatformBuffer, // Force use plain memory allocation rather than platform API to allocate backing store.

&quot;Force use plain&quot; seems grammatically awkward.  I&apos;d just say &quot;Use plain&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532103</commentid>
    <comment_count>20</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2012-01-09 04:57:30 -0800</bug_when>
    <thetext>There should be no more paths that draw GDI text, but form-controls still use GDI. An effort to simulate those with Skia, or to draw those into a tmp offscreen, and then copy that onto skia via drawBitmap would allow us to remove the GDI-pixel requirement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532468</commentid>
    <comment_count>21</comment_count>
      <attachid>121718</attachid>
    <who name="Justin Novosad">junov</who>
    <bug_when>2012-01-09 13:19:09 -0800</bug_when>
    <thetext>Created attachment 121718
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532510</commentid>
    <comment_count>22</comment_count>
    <who name="Justin Novosad">junov</who>
    <bug_when>2012-01-09 14:00:40 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; &quot;Force use plain&quot; seems grammatically awkward.  I&apos;d just say &quot;Use plain&quot;.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532533</commentid>
    <comment_count>23</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2012-01-09 14:27:30 -0800</bug_when>
    <thetext>Looks good.  r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532591</commentid>
    <comment_count>24</comment_count>
      <attachid>121718</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-09 15:53:52 -0800</bug_when>
    <thetext>Comment on attachment 121718
Patch

Clearing flags on attachment: 121718

Committed r104501: &lt;http://trac.webkit.org/changeset/104501&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532592</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-09 15:53:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>107957</attachid>
            <date>2011-09-19 19:19:09 -0700</date>
            <delta_ts>2011-09-19 19:19:09 -0700</delta_ts>
            <desc>Test case</desc>
            <filename>canvasmem.html</filename>
            <type>text/html</type>
            <size>1184</size>
            <attacher name="Ben Wells">benwells</attacher>
            
              <data encoding="base64">PCFkb2N0eXBlIGh0bWw+CjxodG1sPjxib2R5PgoKPHNjcmlwdD4KICBMT09QUyA9IDEwMDAwMDsK
ICBTVEFUVVMgPSAxMDAwOwogIERFTEFZID0gMTsKICB2YXIgbG9vcHNEb25lID0gMDsKCiAgZnVu
Y3Rpb24gYWxsb2NhdGVDb250ZXh0KCkgewogICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2NhbnZhcycpOwogICAgY2FudmFzLndpZHRoID0gY2FudmFzLmhlaWdodCA9IDE7
CiAgICAvLyBDcmVhdGUgYSBjb250ZXh0LiBJZiB3ZSBkbyBub3QgY3JlYXRlIGEgY29udGV4dCB0
aGVyZSBpcyBubyBjcmFzaC4KICAgIGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogIH0KCiAgZnVu
Y3Rpb24gb25UaW1lcigpIHsKICAgIGlmIChsb29wc0RvbmUgPCBMT09QUykgewogICAgICBhbGxv
Y2F0ZUNvbnRleHQoKQogICAgICBsb29wc0RvbmUrKzsKICAgICAgc2V0VGltZW91dCgib25UaW1l
cigpOyIsIERFTEFZKTsKICAgICAgaWYgKChsb29wc0RvbmUgJSBTVEFUVVMpID09IDApIHsKICAg
ICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MICs9ICdTdGF0dXM6ICcgKyBsb29wc0RvbmUg
KyAnPGJyPic7CiAgICAgICAgICAvL3dpbmRvdy5nYygpOwogICAgICB9CiAgICB9IGVsc2UKICAg
ICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgKz0gJ1Bhc3NlZCEnOwogIH0KCiAgZG9jdW1lbnQu
Ym9keS5pbm5lckhUTUwgKz0gJ1J1bm5pbmcuLi48YnI+JzsKICBzZXRUaW1lb3V0KCJvblRpbWVy
KCk7IiwgREVMQVkpOwo8L3NjcmlwdD4KCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4g
dmFyIF9nYXEgPSBfZ2FxIHx8IFtdOyBfZ2FxLnB1c2goWydfc2V0QWNjb3VudCcsICdVQS0xMjg0
Njc0NS0xJ10pOyBfZ2FxLnB1c2goWydfdHJhY2tQYWdldmlldyddKTsgKGZ1bmN0aW9uKCkgeyB2
YXIgZ2EgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsgZ2Euc3JjID0gKCdodHRw
czonID09IGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sID8gJ2h0dHBzOi8vc3NsJyA6ICdodHRw
Oi8vd3d3JykgKyAnLmdvb2dsZS1hbmFseXRpY3MuY29tL2dhLmpzJzsgZ2Euc2V0QXR0cmlidXRl
KCdhc3luYycsICd0cnVlJyk7IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5maXJzdENoaWxkLmFw
cGVuZENoaWxkKGdhKTsgfSkoKTs8L3NjcmlwdD48L2JvZHk+PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>107958</attachid>
            <date>2011-09-19 19:20:00 -0700</date>
            <delta_ts>2011-09-19 19:20:00 -0700</delta_ts>
            <desc>Test case</desc>
            <filename>canvasmem_tight.html</filename>
            <type>text/html</type>
            <size>1117</size>
            <attacher name="Ben Wells">benwells</attacher>
            
              <data encoding="base64">PGh0bWw+PGJvZHk+Cgo8c2NyaXB0PgogIExPT1BTID0gMTAwMDAwOwogIFNUQVRVUyA9IDEwMDA7
CiAgREVMQVkgPSAxOwogIHZhciBsb29wc0RvbmUgPSAwOwoKICBmdW5jdGlvbiBhbGxvY2F0ZUNv
bnRleHQoKSB7CiAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFz
Jyk7CiAgICBjYW52YXMud2lkdGggPSBjYW52YXMuaGVpZ2h0ID0gMTsKICAgIC8vIENyZWF0ZSBh
IGNvbnRleHQuIElmIHdlIGRvIG5vdCBjcmVhdGUgYSBjb250ZXh0IHRoZXJlIGlzIG5vIGNyYXNo
LgogICAgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAgICBkZWxldGUgY3R4OwogIH0K
CiAgZnVuY3Rpb24gcnVuKCkgewogICAgd2hpbGUgKGxvb3BzRG9uZSA8IExPT1BTKSB7CiAgICAg
IGFsbG9jYXRlQ29udGV4dCgpCiAgICAgIGxvb3BzRG9uZSsrOwogICAgICBpZiAoKGxvb3BzRG9u
ZSAlIFNUQVRVUykgPT0gMCkgewogICAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgKz0g
J1N0YXR1czogJyArIGxvb3BzRG9uZSArICc8YnI+JzsKICAgICAgICAgIC8vd2luZG93LmdjKCk7
CiAgICAgIH0KICAgIH0KICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MICs9ICdQYXNzZWQhJzsK
ICB9CgogIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MICs9ICdSdW5uaW5nLi4uPGJyPic7CiAgcnVu
KCk7Cjwvc2NyaXB0PgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiB2YXIgX2dhcSA9
IF9nYXEgfHwgW107IF9nYXEucHVzaChbJ19zZXRBY2NvdW50JywgJ1VBLTEyODQ2NzQ1LTEnXSk7
IF9nYXEucHVzaChbJ190cmFja1BhZ2V2aWV3J10pOyAoZnVuY3Rpb24oKSB7IHZhciBnYSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOyBnYS5zcmMgPSAoJ2h0dHBzOicgPT0gZG9j
dW1lbnQubG9jYXRpb24ucHJvdG9jb2wgPyAnaHR0cHM6Ly9zc2wnIDogJ2h0dHA6Ly93d3cnKSAr
ICcuZ29vZ2xlLWFuYWx5dGljcy5jb20vZ2EuanMnOyBnYS5zZXRBdHRyaWJ1dGUoJ2FzeW5jJywg
J3RydWUnKTsgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmZpcnN0Q2hpbGQuYXBwZW5kQ2hpbGQo
Z2EpOyB9KSgpOzwvc2NyaXB0PjwvYm9keT48L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107959</attachid>
            <date>2011-09-19 19:22:19 -0700</date>
            <delta_ts>2011-11-28 14:50:04 -0800</delta_ts>
            <desc>Proof of concept, not for landing</desc>
            <filename>bug-68420-20110920122217.patch</filename>
            <type>text/plain</type>
            <size>2565</size>
            <attacher name="Ben Wells">benwells</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU0MDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3NTFkNGM5NzJmOWE5ZTNk
MTNjMzIyZDM4NmY1MmMxNzZiYjBkOWNhLi44NGNiMmE1ZWExMTA0MTllMmQyYmI5N2UxY2I4YTUx
ZThmMTg3ZWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDktMTkgIEJlbiBX
ZWxscyAgPGJlbndlbGxzQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW0gd2luXSBD
cmVhdGluZyBsb3RzIG9mIHRlbXBvcmFyeSBjYW52YXMgY29udGV4dHMgd2lsbCBjcmFzaC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDIwCisKKyAg
ICAgICAgUHJvb2Ygb2YgY29uY2VwdCBjaGFuZ2U7IG5vdCB0byBiZSBsYW5kZWQuCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAo
T09QUyEpCisKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0KToKKwogMjAxMS0wOS0xOCAg
RGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFRyeSB0byBmaXggdGhl
IENocm9taXVtIE1hYyBidWlsZCBhZnRlciByOTUzOTEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TENhbnZhc0VsZW1lbnQuY3BwCmluZGV4IDk0NDlhNmFlMTBjZDVmYzI3ZjAxNTljMDY5YTgyYmE0
ZjMxOTAzMjkuLjAxZDFkNWMyOWI0MDAwOTgwYzgzZTVmYTY3YTYxNDdiMjliNmExNTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCkBAIC0xNDUsNiArMTQ1LDkg
QEAgdm9pZCBIVE1MQ2FudmFzRWxlbWVudDo6c2V0V2lkdGgoaW50IHZhbHVlKQogICAgIHNldEF0
dHJpYnV0ZSh3aWR0aEF0dHIsIFN0cmluZzo6bnVtYmVyKHZhbHVlKSk7CiB9CiAKK3N0YXRpYyBj
b25zdCBpbnQgY0NvbnRleHRDcmVhdGVzUGVyR2FyYmFnZUNvbGxlY3QgPSA5MDAwOworc3RhdGlj
IGludCBDb250ZXh0Q3JlYXRlc1NpbmNlR2FyYmFnZUNvbGxlY3QgPSAwOworCiBDYW52YXNSZW5k
ZXJpbmdDb250ZXh0KiBIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dChjb25zdCBTdHJpbmcm
IHR5cGUsIENhbnZhc0NvbnRleHRBdHRyaWJ1dGVzKiBhdHRycykKIHsKICAgICAvLyBBIENhbnZh
cyBjYW4gZWl0aGVyIGJlICIyRCIgb3IgIndlYmdsIiBidXQgbmV2ZXIgYm90aC4gSWYgeW91IHJl
cXVlc3QgYSAyRCBjYW52YXMgYW5kIHRoZSBleGlzdGluZwpAQCAtMTY0LDYgKzE2NywxNSBAQCBD
YW52YXNSZW5kZXJpbmdDb250ZXh0KiBIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dChjb25z
dCBTdHJpbmcmIHR5cGUsIENhbnZhcwogICAgICAgICAgICAgaWYgKFNldHRpbmdzKiBzZXR0aW5n
cyA9IGRvY3VtZW50KCktPnNldHRpbmdzKCkpCiAgICAgICAgICAgICAgICAgdXNlc0Rhc2hiYXJk
Q29tcGF0aWJpbGl0eU1vZGUgPSBzZXR0aW5ncy0+dXNlc0Rhc2hib2FyZEJhY2t3YXJkQ29tcGF0
aWJpbGl0eU1vZGUoKTsKICNlbmRpZgorI2lmIFVTRShWOCkKKyAgICAgICAgICAgIGlmIChDb250
ZXh0Q3JlYXRlc1NpbmNlR2FyYmFnZUNvbGxlY3QgPj0gY0NvbnRleHRDcmVhdGVzUGVyR2FyYmFn
ZUNvbGxlY3QpIHsKKyAgICAgICAgICAgICAgICBpZiAoZG9jdW1lbnQoKS0+ZnJhbWUoKSAmJiBk
b2N1bWVudCgpLT5mcmFtZSgpLT5zZXR0aW5ncygpKQorICAgICAgICAgICAgICAgICAgICBpZiAo
ZG9jdW1lbnQoKS0+ZnJhbWUoKS0+c2V0dGluZ3MoKS0+aXNKYXZhU2NyaXB0RW5hYmxlZCgpICYm
IGRvY3VtZW50KCktPmZyYW1lKCktPnNjcmlwdCgpKQorICAgICAgICAgICAgICAgICAgICAgICAg
ZG9jdW1lbnQoKS0+ZnJhbWUoKS0+c2NyaXB0KCktPmxvd01lbW9yeU5vdGlmaWNhdGlvbigpOwor
ICAgICAgICAgICAgICAgIENvbnRleHRDcmVhdGVzU2luY2VHYXJiYWdlQ29sbGVjdCA9IDA7Cisg
ICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBDb250ZXh0Q3JlYXRlc1NpbmNlR2Fy
YmFnZUNvbGxlY3QrKzsKKyNlbmRpZgogICAgICAgICAgICAgbV9jb250ZXh0ID0gQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEOjpjcmVhdGUodGhpcywgZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCks
IHVzZXNEYXNoYmFyZENvbXBhdGliaWxpdHlNb2RlKTsKICNpZiBVU0UoSU9TVVJGQUNFX0NBTlZB
U19CQUNLSU5HX1NUT1JFKSB8fCAoRU5BQkxFKEFDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJiYgVVNF
KEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSkKICAgICAgICAgICAgIGlmIChtX2NvbnRleHQpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116826</attachid>
            <date>2011-11-28 14:50:10 -0800</date>
            <delta_ts>2011-11-28 15:07:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68420-20111128175009.patch</filename>
            <type>text/plain</type>
            <size>3542</size>
            <attacher name="Justin Novosad">junov</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMTI4MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDExLTExLTI4ICBKdXN0aW4g
Tm92b3NhZCAgPGp1bm92QGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW0gd2luXSBD
cmVhdGluZyBsb3RzIG9mIHRlbXBvcmFyeSBjYW52YXMgY29udGV4dHMgd2lsbCBjcmFzaC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDIwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm93IG5ldyB0ZXN0
LgorCisgICAgICAgICogaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6Y3JlYXRlSW1hZ2VCdWZmZXIpOgorICAgICAgICB1c2Ug
YSBHREktZnJlZSBjYW52YXMgZm9yIHRoZSBIVE1MIGNhbnZhcyBlbGVtZW50LgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmg6CisgICAgICAgIGFkZGUgbmV3IHJlbmRl
cmluZyBtb2RlIGZvciBub24tR0RJIHVuYWNjZWxlcmF0ZWQgaW1hZ2UgYnVmZmVyCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9JbWFnZUJ1ZmZlclNraWEuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Y3JlYXRlU29mdHdhcmVDYW52YXMpOgorICAgICAgICBOZXcgZnVuY3Rpb24gZm9y
IGFsbG9jYXRpbmcgcGxhdGZvcm0gaW5kZXBlbmRlbnQgc29mdHdhcmUtYmFja2VkCisgICAgICAg
IGNhbnZhcworICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OkltYWdlQnVmZmVyKToKKyAg
ICAgICAgQWRkZWQgc3VwcG9ydCBmb3Igc29mdHdhcmUgYmFja2VkIGNhbnZhcyB3aXRoIGEgZGly
ZWN0bHkgYWxsb2NhdGVkCisgICAgICAgIGJhY2tpbmcgc3RvcmUuCisKIDIwMTEtMTEtMjggIEZh
ZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRml4IEFzcGVjdCBS
YXRpbyBQcm9wZXJ0eSBJbmhlcml0YW5jZSBBbmQgTWFrZSB0aGUgQ29tcHV0ZWQgVmFsdWUgRXF1
YWwgdGhlIFNwZWNpZmllZCBWYWx1ZQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2Fu
dmFzRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2Fu
dmFzRWxlbWVudC5jcHAJKHJldmlzaW9uIDEwMTI2MykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTENhbnZhc0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NTgsNyArNDU4LDEyIEBA
IHZvaWQgSFRNTENhbnZhc0VsZW1lbnQ6OmNyZWF0ZUltYWdlQnVmZmUKICAgICBpZiAoIWJ1ZmZl
clNpemUud2lkdGgoKSB8fCAhYnVmZmVyU2l6ZS5oZWlnaHQoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgUmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlID0gc2hvdWxkQWNjZWxlcmF0ZShidWZm
ZXJTaXplKSA/IEFjY2VsZXJhdGVkIDogVW5hY2NlbGVyYXRlZDsKKyAgICBSZW5kZXJpbmdNb2Rl
IHJlbmRlcmluZ01vZGUgPSBzaG91bGRBY2NlbGVyYXRlKGJ1ZmZlclNpemUpID8gQWNjZWxlcmF0
ZWQgOiAKKyNpZiBVU0UoU0tJQSkKKyAgICAgICAgVW5hY2NlbGVyYXRlZE5vbkdESTsKKyNlbHNl
CisgICAgICAgIFVuYWNjZWxlcmF0ZWQ7CisjZW5kaWYKICAgICBtX2ltYWdlQnVmZmVyID0gSW1h
Z2VCdWZmZXI6OmNyZWF0ZShidWZmZXJTaXplLCBDb2xvclNwYWNlRGV2aWNlUkdCLCByZW5kZXJp
bmdNb2RlKTsKICAgICBpZiAoIW1faW1hZ2VCdWZmZXIpCiAgICAgICAgIHJldHVybjsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAkocmV2
aXNpb24gMTAxMjYzKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VC
dWZmZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTksNiArNTksNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICBlbnVtIFJlbmRlcmluZ01vZGUgewogICAgICAgICBVbmFjY2VsZXJhdGVkLAor
ICAgICAgICBVbmFjY2VsZXJhdGVkTm9uR0RJLAogICAgICAgICBBY2NlbGVyYXRlZAogICAgIH07
CiAgICAgCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ltYWdl
QnVmZmVyU2tpYS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc2tpYS9JbWFnZUJ1ZmZlclNraWEuY3BwCShyZXZpc2lvbiAxMDEyNjMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ltYWdlQnVmZmVyU2tpYS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTkzLDYgKzkzLDEzIEBAIHN0YXRpYyBTa0NhbnZhcyogY3JlYXRlQWNj
ZWxlcmF0ZWRDYW52YXMKICAgICByZXR1cm4gY2FudmFzOwogfQogCitzdGF0aWMgU2tDYW52YXMq
IGNyZWF0ZVNvZnR3YXJlQ2FudmFzKGNvbnN0IEludFNpemUmIHNpemUpCit7CisgICAgU2tDYW52
YXMqIGNhbnZhcyA9IG5ldyBTa0NhbnZhcygpOworICAgIGNhbnZhcy0+c2V0RGV2aWNlKG5ldyBT
a0RldmljZShTa0JpdG1hcDo6a0FSR0JfODg4OF9Db25maWcsIHNpemUud2lkdGgoKSwgc2l6ZS5o
ZWlnaHQoKSkpLT51bnJlZigpOworICAgIHJldHVybiBjYW52YXM7Cit9CisKIEltYWdlQnVmZmVy
OjpJbWFnZUJ1ZmZlcihjb25zdCBJbnRTaXplJiBzaXplLCBDb2xvclNwYWNlLCBSZW5kZXJpbmdN
b2RlIHJlbmRlcmluZ01vZGUsIGJvb2wmIHN1Y2Nlc3MpCiAgICAgOiBtX2RhdGEoc2l6ZSkKICAg
ICAsIG1fc2l6ZShzaXplKQpAQCAtMTAxLDYgKzEwOCw4IEBAIEltYWdlQnVmZmVyOjpJbWFnZUJ1
ZmZlcihjb25zdCBJbnRTaXplJgogCiAgICAgaWYgKHJlbmRlcmluZ01vZGUgPT0gQWNjZWxlcmF0
ZWQpCiAgICAgICAgIGNhbnZhcyA9IGFkb3B0UHRyKGNyZWF0ZUFjY2VsZXJhdGVkQ2FudmFzKHNp
emUsICZtX2RhdGEpKTsKKyAgICBlbHNlIGlmIChyZW5kZXJpbmdNb2RlID09IFVuYWNjZWxlcmF0
ZWROb25HREkpCisgICAgICAgIGNhbnZhcyA9IGFkb3B0UHRyKGNyZWF0ZVNvZnR3YXJlQ2FudmFz
KHNpemUpKTsKIAogICAgIGlmICghY2FudmFzKQogICAgICAgICBjYW52YXMgPSBhZG9wdFB0cihz
a2lhOjpUcnlDcmVhdGVCaXRtYXBDYW52YXMoc2l6ZS53aWR0aCgpLCBzaXplLmhlaWdodCgpLCBm
YWxzZSkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116831</attachid>
            <date>2011-11-28 15:07:30 -0800</date>
            <delta_ts>2012-01-06 13:13:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68420-20111128180729.patch</filename>
            <type>text/plain</type>
            <size>3538</size>
            <attacher name="Justin Novosad">junov</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMTI4MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDExLTExLTI4ICBKdXN0aW4g
Tm92b3NhZCAgPGp1bm92QGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW0gd2luXSBD
cmVhdGluZyBsb3RzIG9mIHRlbXBvcmFyeSBjYW52YXMgY29udGV4dHMgd2lsbCBjcmFzaC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDIwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm93IG5ldyB0ZXN0
LgorCisgICAgICAgICogaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6Y3JlYXRlSW1hZ2VCdWZmZXIpOgorICAgICAgICB1c2Ug
YSBHREktZnJlZSBjYW52YXMgZm9yIHRoZSBIVE1MIGNhbnZhcyBlbGVtZW50LgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmg6CisgICAgICAgIGFkZGUgbmV3IHJlbmRl
cmluZyBtb2RlIGZvciBub24tR0RJIHVuYWNjZWxlcmF0ZWQgaW1hZ2UgYnVmZmVyCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9JbWFnZUJ1ZmZlclNraWEuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Y3JlYXRlU29mdHdhcmVDYW52YXMpOgorICAgICAgICBOZXcgZnVuY3Rpb24gZm9y
IGFsbG9jYXRpbmcgcGxhdGZvcm0gaW5kZXBlbmRlbnQgc29mdHdhcmUtYmFja2VkCisgICAgICAg
IGNhbnZhcworICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OkltYWdlQnVmZmVyKToKKyAg
ICAgICAgQWRkZWQgc3VwcG9ydCBmb3Igc29mdHdhcmUgYmFja2VkIGNhbnZhcyB3aXRoIGEgZGly
ZWN0bHkgYWxsb2NhdGVkCisgICAgICAgIGJhY2tpbmcgc3RvcmUuCisKIDIwMTEtMTEtMjggIEZh
ZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRml4IEFzcGVjdCBS
YXRpbyBQcm9wZXJ0eSBJbmhlcml0YW5jZSBBbmQgTWFrZSB0aGUgQ29tcHV0ZWQgVmFsdWUgRXF1
YWwgdGhlIFNwZWNpZmllZCBWYWx1ZQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2Fu
dmFzRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2Fu
dmFzRWxlbWVudC5jcHAJKHJldmlzaW9uIDEwMTI2MykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTENhbnZhc0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NTgsNyArNDU4LDEyIEBA
IHZvaWQgSFRNTENhbnZhc0VsZW1lbnQ6OmNyZWF0ZUltYWdlQnVmZmUKICAgICBpZiAoIWJ1ZmZl
clNpemUud2lkdGgoKSB8fCAhYnVmZmVyU2l6ZS5oZWlnaHQoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgUmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlID0gc2hvdWxkQWNjZWxlcmF0ZShidWZm
ZXJTaXplKSA/IEFjY2VsZXJhdGVkIDogVW5hY2NlbGVyYXRlZDsKKyAgICBSZW5kZXJpbmdNb2Rl
IHJlbmRlcmluZ01vZGUgPSBzaG91bGRBY2NlbGVyYXRlKGJ1ZmZlclNpemUpID8gQWNjZWxlcmF0
ZWQgOiAKKyNpZiBVU0UoU0tJQSkKKyAgICAgICAgVW5hY2NlbGVyYXRlZE5vbkdESTsKKyNlbHNl
CisgICAgICAgIFVuYWNjZWxlcmF0ZWQ7CisjZW5kaWYKICAgICBtX2ltYWdlQnVmZmVyID0gSW1h
Z2VCdWZmZXI6OmNyZWF0ZShidWZmZXJTaXplLCBDb2xvclNwYWNlRGV2aWNlUkdCLCByZW5kZXJp
bmdNb2RlKTsKICAgICBpZiAoIW1faW1hZ2VCdWZmZXIpCiAgICAgICAgIHJldHVybjsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAkocmV2
aXNpb24gMTAxMjYzKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VC
dWZmZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTksNiArNTksNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICBlbnVtIFJlbmRlcmluZ01vZGUgewogICAgICAgICBVbmFjY2VsZXJhdGVkLAor
ICAgICAgICBVbmFjY2VsZXJhdGVkTm9uR0RJLAogICAgICAgICBBY2NlbGVyYXRlZAogICAgIH07
CiAgICAgCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ltYWdl
QnVmZmVyU2tpYS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc2tpYS9JbWFnZUJ1ZmZlclNraWEuY3BwCShyZXZpc2lvbiAxMDEyNjMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ltYWdlQnVmZmVyU2tpYS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTkzLDYgKzkzLDEzIEBAIHN0YXRpYyBTa0NhbnZhcyogY3JlYXRlQWNj
ZWxlcmF0ZWRDYW52YXMKICAgICByZXR1cm4gY2FudmFzOwogfQogCitzdGF0aWMgU2tDYW52YXMq
IGNyZWF0ZU5vbkdESUNhbnZhcyhjb25zdCBJbnRTaXplJiBzaXplKQoreworICAgIFNrQ2FudmFz
KiBjYW52YXMgPSBuZXcgU2tDYW52YXMoKTsKKyAgICBjYW52YXMtPnNldERldmljZShuZXcgU2tE
ZXZpY2UoU2tCaXRtYXA6OmtBUkdCXzg4ODhfQ29uZmlnLCBzaXplLndpZHRoKCksIHNpemUuaGVp
Z2h0KCkpKS0+dW5yZWYoKTsKKyAgICByZXR1cm4gY2FudmFzOworfQorCiBJbWFnZUJ1ZmZlcjo6
SW1hZ2VCdWZmZXIoY29uc3QgSW50U2l6ZSYgc2l6ZSwgQ29sb3JTcGFjZSwgUmVuZGVyaW5nTW9k
ZSByZW5kZXJpbmdNb2RlLCBib29sJiBzdWNjZXNzKQogICAgIDogbV9kYXRhKHNpemUpCiAgICAg
LCBtX3NpemUoc2l6ZSkKQEAgLTEwMSw2ICsxMDgsOCBAQCBJbWFnZUJ1ZmZlcjo6SW1hZ2VCdWZm
ZXIoY29uc3QgSW50U2l6ZSYKIAogICAgIGlmIChyZW5kZXJpbmdNb2RlID09IEFjY2VsZXJhdGVk
KQogICAgICAgICBjYW52YXMgPSBhZG9wdFB0cihjcmVhdGVBY2NlbGVyYXRlZENhbnZhcyhzaXpl
LCAmbV9kYXRhKSk7CisgICAgZWxzZSBpZiAocmVuZGVyaW5nTW9kZSA9PSBVbmFjY2VsZXJhdGVk
Tm9uR0RJKQorICAgICAgICBjYW52YXMgPSBhZG9wdFB0cihjcmVhdGVOb25HRElDYW52YXMoc2l6
ZSkpOwogCiAgICAgaWYgKCFjYW52YXMpCiAgICAgICAgIGNhbnZhcyA9IGFkb3B0UHRyKHNraWE6
OlRyeUNyZWF0ZUJpdG1hcENhbnZhcyhzaXplLndpZHRoKCksIHNpemUuaGVpZ2h0KCksIGZhbHNl
KSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121482</attachid>
            <date>2012-01-06 13:13:16 -0800</date>
            <delta_ts>2012-01-09 13:19:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68420-20120106161315.patch</filename>
            <type>text/plain</type>
            <size>3705</size>
            <attacher name="Justin Novosad">junov</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNDMyNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAxLTA2ICBKdXN0aW4g
Tm92b3NhZCAgPGp1bm92QGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW0gd2luXSBD
cmVhdGluZyBsb3RzIG9mIHRlbXBvcmFyeSBjYW52YXMgY29udGV4dHMgd2lsbCBjcmFzaC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDIwCisKKyAg
ICAgICAgV2hlbiB1c2luZyB0aGUgc2tpYSBwb3J0LCB0aGUgYWxsb2NhdGlvbiBvZiAyZCBjYW52
YXMgYmFja2luZyBzdG9yZXMKKyAgICAgICAgbm8gbG9uZ2VyIG5lZWRzIHRvIGJlIGRvbmUgdGhy
b3VnaCBhIHBsYXRmb3JtIEFQSSAoR0RJL0NHKSBiZWNhdXNlCisgICAgICAgIGNhbnZhc2VzIG5v
dyB1c2Ugc2tpYSBmb3IgZHJhd2luZyB0ZXh0LiAgUmVtb3ZpbmcgdGhlIGFsbG9jYXRpb24gdGhy
b3VnaAorICAgICAgICBHREkgb24gd2luZG93cyBwcmV2ZW50cyByZXNvdXJjZSBleGhhdXN0aW9u
IGR1ZSB0byB1bnJlZmVyZW5jZWQgY2FudmFzZXMKKyAgICAgICAgdGhhdCBhcmUgYXdhaXRpbmcg
Z2FyYmFnZSBjb2xsZWN0aW9uLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0czogUmVseWluZyBvbiBleGlzdGluZyBjYW52YXMgbGF5
b3V0IHRlc3RzLgorCisgICAgICAgICogaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6Y3JlYXRlSW1hZ2VCdWZmZXIpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3Mvc2tpYS9JbWFnZUJ1ZmZlclNraWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Y3JlYXRlTm9uUGxhdGZvcm1DYW52YXMpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6
OkltYWdlQnVmZmVyKToKKwogMjAxMi0wMS0wNiAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIERGRyBubyBsb25nZXIgb3B0aW1pc2VzIENhbnZhc1BpeGVsQXJyYXkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCShyZXZpc2lv
biAxMDQzMDIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDY1LDcgKzQ2NSwxMiBAQCB2b2lkIEhUTUxDYW52YXNFbGVtZW50
OjpjcmVhdGVJbWFnZUJ1ZmZlCiAgICAgaWYgKCFidWZmZXJTaXplLndpZHRoKCkgfHwgIWJ1ZmZl
clNpemUuaGVpZ2h0KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFJlbmRlcmluZ01vZGUgcmVu
ZGVyaW5nTW9kZSA9IHNob3VsZEFjY2VsZXJhdGUoYnVmZmVyU2l6ZSkgPyBBY2NlbGVyYXRlZCA6
IFVuYWNjZWxlcmF0ZWQ7CisgICAgUmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlID0gc2hvdWxk
QWNjZWxlcmF0ZShidWZmZXJTaXplKSA/IEFjY2VsZXJhdGVkIDogCisjaWYgVVNFKFNLSUEpCisg
ICAgICAgIFVuYWNjZWxlcmF0ZWROb25QbGF0Zm9ybUJ1ZmZlcjsKKyNlbHNlCisgICAgICAgIFVu
YWNjZWxlcmF0ZWQ7CisjZW5kaWYKICAgICBtX2ltYWdlQnVmZmVyID0gSW1hZ2VCdWZmZXI6OmNy
ZWF0ZShidWZmZXJTaXplLCBDb2xvclNwYWNlRGV2aWNlUkdCLCByZW5kZXJpbmdNb2RlKTsKICAg
ICBpZiAoIW1faW1hZ2VCdWZmZXIpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAkocmV2aXNpb24gMTA0MzAy
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtNTksNiArNTksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBl
bnVtIFJlbmRlcmluZ01vZGUgewogICAgICAgICBVbmFjY2VsZXJhdGVkLAorICAgICAgICBVbmFj
Y2VsZXJhdGVkTm9uUGxhdGZvcm1CdWZmZXIsIC8vIEZvcmNlIHVzZSBwbGFpbiBtZW1vcnkgYWxs
b2NhdGlvbiByYXRoZXIgdGhhbiBwbGF0Zm9ybSBBUEkgdG8gYWxsb2NhdGUgYmFja2luZyBzdG9y
ZS4KICAgICAgICAgQWNjZWxlcmF0ZWQKICAgICB9OwogICAgIApJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9JbWFnZUJ1ZmZlclNraWEuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvSW1hZ2VCdWZmZXJTa2lh
LmNwcAkocmV2aXNpb24gMTA0MzAyKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9JbWFnZUJ1ZmZlclNraWEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Myw2ICs5Mywx
MyBAQCBzdGF0aWMgU2tDYW52YXMqIGNyZWF0ZUFjY2VsZXJhdGVkQ2FudmFzCiAgICAgcmV0dXJu
IGNhbnZhczsKIH0KIAorc3RhdGljIFNrQ2FudmFzKiBjcmVhdGVOb25QbGF0Zm9ybUNhbnZhcyhj
b25zdCBJbnRTaXplJiBzaXplKQoreworICAgIFNrQ2FudmFzKiBjYW52YXMgPSBuZXcgU2tDYW52
YXMoKTsKKyAgICBjYW52YXMtPnNldERldmljZShuZXcgU2tEZXZpY2UoU2tCaXRtYXA6OmtBUkdC
Xzg4ODhfQ29uZmlnLCBzaXplLndpZHRoKCksIHNpemUuaGVpZ2h0KCkpKS0+dW5yZWYoKTsKKyAg
ICByZXR1cm4gY2FudmFzOworfQorCiBJbWFnZUJ1ZmZlcjo6SW1hZ2VCdWZmZXIoY29uc3QgSW50
U2l6ZSYgc2l6ZSwgQ29sb3JTcGFjZSwgUmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlLCBib29s
JiBzdWNjZXNzKQogICAgIDogbV9kYXRhKHNpemUpCiAgICAgLCBtX3NpemUoc2l6ZSkKQEAgLTEw
MSw2ICsxMDgsOCBAQCBJbWFnZUJ1ZmZlcjo6SW1hZ2VCdWZmZXIoY29uc3QgSW50U2l6ZSYgCiAK
ICAgICBpZiAocmVuZGVyaW5nTW9kZSA9PSBBY2NlbGVyYXRlZCkKICAgICAgICAgY2FudmFzID0g
YWRvcHRQdHIoY3JlYXRlQWNjZWxlcmF0ZWRDYW52YXMoc2l6ZSwgJm1fZGF0YSkpOworICAgIGVs
c2UgaWYgKHJlbmRlcmluZ01vZGUgPT0gVW5hY2NlbGVyYXRlZE5vblBsYXRmb3JtQnVmZmVyKQor
ICAgICAgICBjYW52YXMgPSBhZG9wdFB0cihjcmVhdGVOb25QbGF0Zm9ybUNhbnZhcyhzaXplKSk7
CiAKICAgICBpZiAoIWNhbnZhcykKICAgICAgICAgY2FudmFzID0gYWRvcHRQdHIoc2tpYTo6VHJ5
Q3JlYXRlQml0bWFwQ2FudmFzKHNpemUud2lkdGgoKSwgc2l6ZS5oZWlnaHQoKSwgZmFsc2UpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121718</attachid>
            <date>2012-01-09 13:19:09 -0800</date>
            <delta_ts>2012-01-09 15:53:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68420-20120109161907.patch</filename>
            <type>text/plain</type>
            <size>3757</size>
            <attacher name="Justin Novosad">junov</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNDQ4MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAxLTA5ICBKdXN0aW4g
Tm92b3NhZCAgPGp1bm92QGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW0gd2luXSBD
cmVhdGluZyBsb3RzIG9mIHRlbXBvcmFyeSBjYW52YXMgY29udGV4dHMgd2lsbCBjcmFzaC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDIwCisKKyAg
ICAgICAgV2hlbiB1c2luZyB0aGUgc2tpYSBwb3J0LCB0aGUgYWxsb2NhdGlvbiBvZiAyZCBjYW52
YXMgYmFja2luZyBzdG9yZXMKKyAgICAgICAgbm8gbG9uZ2VyIG5lZWRzIHRvIGJlIGRvbmUgdGhy
b3VnaCBhIHBsYXRmb3JtIEFQSSAoR0RJL0NHKSBiZWNhdXNlCisgICAgICAgIGNhbnZhc2VzIG5v
dyB1c2Ugc2tpYSBmb3IgZHJhd2luZyB0ZXh0LiAgUmVtb3ZpbmcgdGhlIGFsbG9jYXRpb24gdGhy
b3VnaAorICAgICAgICBHREkgb24gd2luZG93cyBwcmV2ZW50cyByZXNvdXJjZSBleGhhdXN0aW9u
IGR1ZSB0byB1bnJlZmVyZW5jZWQgY2FudmFzZXMKKyAgICAgICAgdGhhdCBhcmUgYXdhaXRpbmcg
Z2FyYmFnZSBjb2xsZWN0aW9uLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0czogUmVseWluZyBvbiBleGlzdGluZyBjYW52YXMgbGF5
b3V0IHRlc3RzLgorCisgICAgICAgICogaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6Y3JlYXRlSW1hZ2VCdWZmZXIpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3Mvc2tpYS9JbWFnZUJ1ZmZlclNraWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Y3JlYXRlTm9uUGxhdGZvcm1DYW52YXMpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6
OkltYWdlQnVmZmVyKToKKwogMjAxMi0wMS0wOSAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29u
QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxMDQzMjc/KTogbWVkaWEvdHJhY2sv
dHJhY2stY3Vlcy1jdWVjaGFuZ2UuaHRtbCBhbmQgdHJhY2stY3Vlcy1lbnRlci1leGl0Lmh0bWwg
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAkocmV2aXNp
b24gMTA0NDc3KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQ2NSw3ICs0NjUsMTIgQEAgdm9pZCBIVE1MQ2FudmFzRWxlbWVu
dDo6Y3JlYXRlSW1hZ2VCdWZmZQogICAgIGlmICghYnVmZmVyU2l6ZS53aWR0aCgpIHx8ICFidWZm
ZXJTaXplLmhlaWdodCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBSZW5kZXJpbmdNb2RlIHJl
bmRlcmluZ01vZGUgPSBzaG91bGRBY2NlbGVyYXRlKGJ1ZmZlclNpemUpID8gQWNjZWxlcmF0ZWQg
OiBVbmFjY2VsZXJhdGVkOworICAgIFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSA9IHNob3Vs
ZEFjY2VsZXJhdGUoYnVmZmVyU2l6ZSkgPyBBY2NlbGVyYXRlZCA6IAorI2lmIFVTRShTS0lBKQor
ICAgICAgICBVbmFjY2VsZXJhdGVkTm9uUGxhdGZvcm1CdWZmZXI7CisjZWxzZQorICAgICAgICBV
bmFjY2VsZXJhdGVkOworI2VuZGlmCiAgICAgbV9pbWFnZUJ1ZmZlciA9IEltYWdlQnVmZmVyOjpj
cmVhdGUoYnVmZmVyU2l6ZSwgQ29sb3JTcGFjZURldmljZVJHQiwgcmVuZGVyaW5nTW9kZSk7CiAg
ICAgaWYgKCFtX2ltYWdlQnVmZmVyKQogICAgICAgICByZXR1cm47CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgJKHJldmlzaW9uIDEwNDQ3
NykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTU5LDYgKzU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAg
ZW51bSBSZW5kZXJpbmdNb2RlIHsKICAgICAgICAgVW5hY2NlbGVyYXRlZCwKKyAgICAgICAgVW5h
Y2NlbGVyYXRlZE5vblBsYXRmb3JtQnVmZmVyLCAvLyBVc2UgcGxhaW4gbWVtb3J5IGFsbG9jYXRp
b24gcmF0aGVyIHRoYW4gcGxhdGZvcm0gQVBJIHRvIGFsbG9jYXRlIGJhY2tpbmcgc3RvcmUuCiAg
ICAgICAgIEFjY2VsZXJhdGVkCiAgICAgfTsKICAgICAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3NraWEvSW1hZ2VCdWZmZXJTa2lhLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ltYWdlQnVmZmVyU2tpYS5jcHAJ
KHJldmlzaW9uIDEwNDQ3NykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvSW1hZ2VCdWZmZXJTa2lhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMsNiArOTMsMTMgQEAg
c3RhdGljIFNrQ2FudmFzKiBjcmVhdGVBY2NlbGVyYXRlZENhbnZhcwogICAgIHJldHVybiBjYW52
YXM7CiB9CiAKK3N0YXRpYyBTa0NhbnZhcyogY3JlYXRlTm9uUGxhdGZvcm1DYW52YXMoY29uc3Qg
SW50U2l6ZSYgc2l6ZSkKK3sKKyAgICBTa0NhbnZhcyogY2FudmFzID0gbmV3IFNrQ2FudmFzKCk7
CisgICAgY2FudmFzLT5zZXREZXZpY2UobmV3IFNrRGV2aWNlKFNrQml0bWFwOjprQVJHQl84ODg4
X0NvbmZpZywgc2l6ZS53aWR0aCgpLCBzaXplLmhlaWdodCgpKSktPnVucmVmKCk7CisgICAgcmV0
dXJuIGNhbnZhczsKK30KKwogSW1hZ2VCdWZmZXI6OkltYWdlQnVmZmVyKGNvbnN0IEludFNpemUm
IHNpemUsIENvbG9yU3BhY2UsIFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSwgYm9vbCYgc3Vj
Y2VzcykKICAgICA6IG1fZGF0YShzaXplKQogICAgICwgbV9zaXplKHNpemUpCkBAIC0xMDEsNiAr
MTA4LDggQEAgSW1hZ2VCdWZmZXI6OkltYWdlQnVmZmVyKGNvbnN0IEludFNpemUmIAogCiAgICAg
aWYgKHJlbmRlcmluZ01vZGUgPT0gQWNjZWxlcmF0ZWQpCiAgICAgICAgIGNhbnZhcyA9IGFkb3B0
UHRyKGNyZWF0ZUFjY2VsZXJhdGVkQ2FudmFzKHNpemUsICZtX2RhdGEpKTsKKyAgICBlbHNlIGlm
IChyZW5kZXJpbmdNb2RlID09IFVuYWNjZWxlcmF0ZWROb25QbGF0Zm9ybUJ1ZmZlcikKKyAgICAg
ICAgY2FudmFzID0gYWRvcHRQdHIoY3JlYXRlTm9uUGxhdGZvcm1DYW52YXMoc2l6ZSkpOwogCiAg
ICAgaWYgKCFjYW52YXMpCiAgICAgICAgIGNhbnZhcyA9IGFkb3B0UHRyKHNraWE6OlRyeUNyZWF0
ZUJpdG1hcENhbnZhcyhzaXplLndpZHRoKCksIHNpemUuaGVpZ2h0KCksIGZhbHNlKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>