<?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>80242</bug_id>
          
          <creation_ts>2012-03-04 23:22:43 -0800</creation_ts>
          <short_desc>REGRESSION(r106232): The resize handler is always called after loading</short_desc>
          <delta_ts>2013-03-06 00:09:34 -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>Platform</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>P1</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>81209</blocked>
    
    <blocked>111532</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Allan Sandfeld Jensen">allan.jensen</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>kenneth</cc>
    
    <cc>larsgk</cc>
    
    <cc>levin</cc>
    
    <cc>mitz</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>570429</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-03-04 23:22:43 -0800</bug_when>
    <thetext>Reported from a Google Chrome user: http://code.google.com/p/chromium/issues/detail?id=115963

After r106232, &apos;resize&apos; event is always dispatched after a page loading if the page has a scrollbar. Other browsers don&apos;t have this behavior, and actual site is badly affected.

How to reproduce the problem:
Load the attached HTML, then you&apos;ll see &apos;The resize handler was called 1 times&apos;.
Other browsers show &apos;The resize handler is NOT called.&apos;

Another reproducible case:
Load http://sandisk-support.jp/ on Google Chrome 18 or later.  The site will be repeatedly reloaded.
Note that the site has no problem on Safari + WebKit nightly because the site changes behavior by UA detection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570431</commentid>
    <comment_count>1</comment_count>
      <attachid>130059</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-03-04 23:24:30 -0800</bug_when>
    <thetext>Created attachment 130059
Reproducible HTML</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570579</commentid>
    <comment_count>2</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-03-05 04:49:11 -0800</bug_when>
    <thetext>I would say the resizeevent is logically correct since the viewport does resize, becoming smaller, when scrollbars are added. 

To be consistent with other browsers though I guess we need to only emit resize-events when the total size of layoutsize + all scrollbars changes. This should for the non-fixed viewport case give the same result as before r106232.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571771</commentid>
    <comment_count>3</comment_count>
      <attachid>130363</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-03-06 05:40:52 -0800</bug_when>
    <thetext>Created attachment 130363
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571774</commentid>
    <comment_count>4</comment_count>
      <attachid>130363</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-03-06 05:43:25 -0800</bug_when>
    <thetext>Comment on attachment 130363
Patch

how will this work when the layout size changes but not the visible content rect?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571781</commentid>
    <comment_count>5</comment_count>
      <attachid>130363</attachid>
    <who name="alan">zalan</who>
    <bug_when>2012-03-06 05:49:29 -0800</bug_when>
    <thetext>Comment on attachment 130363
Patch

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

&gt; Source/WebCore/page/FrameView.cpp:228
&gt; +    m_lastViewportSize = LayoutSize();

how about using IntSize() instead of LayoutSize() now that the variable has not much to do with layout size anymore? same in the .h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571786</commentid>
    <comment_count>6</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2012-03-06 05:56:03 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 130363 [details])
&gt; how will this work when the layout size changes but not the visible content rect?
It looks to me like it works when zoomed at fit-to-width in content to resize mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572793</commentid>
    <comment_count>7</comment_count>
      <attachid>130598</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-03-07 04:42:22 -0800</bug_when>
    <thetext>Created attachment 130598
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572816</commentid>
    <comment_count>8</comment_count>
      <attachid>130598</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-03-07 05:23:57 -0800</bug_when>
    <thetext>Comment on attachment 130598
Patch

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

&gt; Source/WebCore/page/FrameView.cpp:1046
&gt; +                    m_lastViewportSize = visibleContentRect(true).size();

/*includesScrollbars*/

Aer you sure that visibleContentRect returns the layout width in the case we (or someone else) are using fixed layout? Deserves a comment at least, or assert of something</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572853</commentid>
    <comment_count>9</comment_count>
      <attachid>130617</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-03-07 06:45:43 -0800</bug_when>
    <thetext>Created attachment 130617
Patch

Additional comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572855</commentid>
    <comment_count>10</comment_count>
      <attachid>130618</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-03-07 06:49:12 -0800</bug_when>
    <thetext>Created attachment 130618
Patch

Forgot to include ChangeLog diff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572862</commentid>
    <comment_count>11</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2012-03-07 06:56:26 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 130598 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=130598&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/FrameView.cpp:1046
&gt; &gt; +                    m_lastViewportSize = visibleContentRect(true).size();
&gt; 
&gt; /*includesScrollbars*/
&gt; 
&gt; Aer you sure that visibleContentRect returns the layout width in the case we (or someone else) are using fixed layout? Deserves a comment at least, or assert of something

this change looked confusing the first time, but after looking at it a little bit more, i think it is just fine.
in case of non-fixed layout, the only change is that the scrollbars are now included, while with fixed layout, it correctly uses the m_fixedVisibleContentRect instead of m_fixedLayoutSize.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573718</commentid>
    <comment_count>12</comment_count>
      <attachid>130618</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-03-08 01:49:52 -0800</bug_when>
    <thetext>Comment on attachment 130618
Patch

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

&gt; Source/WebCore/page/FrameView.cpp:1046
&gt; +                    m_lastViewportSize = visibleContentRect(true /*includeScrollbars*/).size();

This is not correct for the fixedlayout case:

 230 IntRect ScrollView::visibleContentRect(bool includeScrollbars) const
 231 {
 232     if (platformWidget())
 233         return platformVisibleContentRect(includeScrollbars);
 234 
 235     if (!m_fixedVisibleContentRect.isEmpty())
 236         return m_fixedVisibleContentRect;

Thus, this returns the visible content rect in CSS coordinates, and thus it will change every time the scale changes.

It also feels like you are abusing the method for something it was not designed for. We really want the layout sizes here and not what is visible (even if those might be the same in the desktop case)


Why not do LayoutSize(layoutWidth() + verticalScrollbar()-&gt;width(), layoutHeight() +  horizontalScrollbar()-&gt;height()); ?

&gt; Source/WebCore/page/FrameView.cpp:2332
&gt; +        // Resize events are not emitted when layoutsize changes due to added scrollbars, but are emitted if
&gt; +        // the viewport is externally resized even if the resize does not affect layoutsize.

Due to compatibility with other browsers, we should not emit resize events when the layout size changes
due to scrollbars being added or removed; and thus only when the viewport is externally resized.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573729</commentid>
    <comment_count>13</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-03-08 02:22:16 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 130618 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=130618&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/FrameView.cpp:1046
&gt; &gt; +                    m_lastViewportSize = visibleContentRect(true /*includeScrollbars*/).size();
&gt; 
&gt; This is not correct for the fixedlayout case:
&gt; 
&gt;  230 IntRect ScrollView::visibleContentRect(bool includeScrollbars) const
&gt;  231 {
&gt;  232     if (platformWidget())
&gt;  233         return platformVisibleContentRect(includeScrollbars);
&gt;  234 
&gt;  235     if (!m_fixedVisibleContentRect.isEmpty())
&gt;  236         return m_fixedVisibleContentRect;
&gt; 
&gt; Thus, this returns the visible content rect in CSS coordinates, and thus it will change every time the scale changes.
&gt; 
That is actually intentional and matches what the browser in the N9 does. This means the resize-event is emitted when resizes in the UIProcess happens, even if they do not change the layout-size, because they do change the size of the visible rect. Whether or not it is the &quot;right thing&quot; to do is a good question, but it is a not mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573745</commentid>
    <comment_count>14</comment_count>
      <attachid>130800</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-03-08 03:20:53 -0800</bug_when>
    <thetext>Created attachment 130800
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573749</commentid>
    <comment_count>15</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-03-08 03:23:30 -0800</bug_when>
    <thetext>The new patch takes a more conservative approach and only uses fixed-layout-size. The new size has been encapsulated in a new function which should make it more clear what happens, and means we can change what size we use later by just modifying that function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573755</commentid>
    <comment_count>16</comment_count>
      <attachid>130802</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-03-08 03:31:58 -0800</bug_when>
    <thetext>Created attachment 130802
Patch

Wrong baseline for test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573759</commentid>
    <comment_count>17</comment_count>
      <attachid>130802</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-03-08 04:03:44 -0800</bug_when>
    <thetext>Comment on attachment 130802
Patch

I am getting to feel that this is more complicated as such. Basically the spec says:

The resize event occurs when a document view is resized. (http://www.w3.org/TR/DOM-Level-2-Events/events.html)

I believe that Chrome for Android also uses fixed layout but I am not sure how they resize their FrameView.

Maybe we should actually just use the width() and height() { return frameRect().height() }. and instead check for &quot;delegatesScrolling()&quot; 

I guess the question is, when is the resize event supposed to be emitted on a mobile browser? during load of new page? after orientation change? after restore from page cache? I think we need to define this or test it on other platforms and then create tests for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573764</commentid>
    <comment_count>18</comment_count>
    <who name="Lars Knudsen">larsgk</who>
    <bug_when>2012-03-08 04:27:45 -0800</bug_when>
    <thetext>Not too far into the future, we might also be interested in being able to swap between different screen outputs (e.g. when you get home, you might want to have your TV render the web page you are currently looking at on your mobile device), resulting in an actual resizing.  Regarding the issue with scroll bars:  on touch devices, scroll indicators make sense - not bars.  Scroll indicators should not resize the view.  On desktop/non touch/mouse versions of the same, one could argue that scroll bars are also possible to replace with scroll indicators that appear/grow when hovering in the region of interest (which is more or less what my Ubuntu seems to do now anyway).  Again - this (IMHO) would be a smarter approach than resizing everything because of legacy controls (my grandmother used to use...).

(In reply to comment #17)
&gt; (From update of attachment 130802 [details])
&gt; I am getting to feel that this is more complicated as such. Basically the spec says:
&gt; 
&gt; The resize event occurs when a document view is resized. (http://www.w3.org/TR/DOM-Level-2-Events/events.html)
&gt; 
&gt; I believe that Chrome for Android also uses fixed layout but I am not sure how they resize their FrameView.
&gt; 
&gt; Maybe we should actually just use the width() and height() { return frameRect().height() }. and instead check for &quot;delegatesScrolling()&quot; 
&gt; 
&gt; I guess the question is, when is the resize event supposed to be emitted on a mobile browser? during load of new page? after orientation change? after restore from page cache? I think we need to define this or test it on other platforms and then create tests for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573765</commentid>
    <comment_count>19</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2012-03-08 04:29:54 -0800</bug_when>
    <thetext>After a quick search on the subject, it seems mobile browsers behave very differently when it comes to reporting resize event. Here is a good summary http://www.quirksmode.org/dom/events/resize_mobile.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573780</commentid>
    <comment_count>20</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-03-08 05:26:31 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; After a quick search on the subject, it seems mobile browsers behave very differently when it comes to reporting resize event. Here is a good summary http://www.quirksmode.org/dom/events/resize_mobile.html

That looks interesting. The patch that compares visual-rect-size would act like Opera Mobile, Android and Blackberry.

The most recent patch that only compares fixed-layout-size would work only fire when the fixed layout-size changes. Essentially only on viewport configuration changes (new output screen, accessibility and probably orientation-change).

I would still go with the first of the two options, but given the inconsistency, you could argue for both.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574743</commentid>
    <comment_count>21</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-03-09 02:04:51 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; (In reply to comment #19)
&gt; &gt; After a quick search on the subject, it seems mobile browsers behave very differently when it comes to reporting resize event. Here is a good summary http://www.quirksmode.org/dom/events/resize_mobile.html
&gt; 
&gt; That looks interesting. The patch that compares visual-rect-size would act like Opera Mobile, Android and Blackberry.
&gt; 
&gt; The most recent patch that only compares fixed-layout-size would work only fire when the fixed layout-size changes. Essentially only on viewport configuration changes (new output screen, accessibility and probably orientation-change).
&gt; 
&gt; I would still go with the first of the two options, but given the inconsistency, you could argue for both.

I don&apos;t understand what you are arguing for here :-) but I personally think that only emitting the resize on changed fixed layout makes the most sense. It would be good to test whether the iphone actually does that or just always emits it on orientation change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576034</commentid>
    <comment_count>22</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-03-12 02:55:30 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; I don&apos;t understand what you are arguing for here :-) but I personally think that only emitting the resize on changed fixed layout makes the most sense. It would be good to test whether the iphone actually does that or just always emits it on orientation change.

How would you do that? The fixed layout size, is kind of fixed. The only time it would make sense to change is when changing media, and even then it is not guaranteed to change, and I am not sure the iPhone supports anything like that.

Anyway, I think we should commit one of the two patches before continuing the debate. This is a regression bug, and both options solve both the regression and the original bug. What we are discussing now is a different issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578290</commentid>
    <comment_count>23</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-03-14 03:33:37 -0700</bug_when>
    <thetext>Every time I read this code I have to remember what it is supposed to do.

I just find something like LayoutSize(layoutWidth() + verticalScrollbar()-&gt;width(), layoutHeight() +  horizontalScrollbar()-&gt;height()); so much more clear

It is to the point, and makes it very obvious that we are not emitting when scrollbars are added/removed. And with a comment on top stating that, this would be very easily understandable.

I really would like to avoid adding a widgetSize which is different that frameRect().size() - this just makes everything more confusing.

So first of all, how does this work in iOS/Android etc.

Are they sending the event when the actual widget changes size? or when the layout size changes? You can create a page that doesn&apos;t change when rotating and check whether the event gets emitted, and another one changing the layout height.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578411</commentid>
    <comment_count>24</comment_count>
      <attachid>131854</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-03-14 08:20:30 -0700</bug_when>
    <thetext>Created attachment 131854
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578422</commentid>
    <comment_count>25</comment_count>
      <attachid>131854</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-03-14 08:35:16 -0700</bug_when>
    <thetext>Comment on attachment 131854
Patch

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

&gt; Source/WebCore/page/FrameView.cpp:2310
&gt; +        // DOM Level 2 Events: The resize event occurs when a document view is resized.
&gt; +        IntSize currentSize = logicalFrameRect().size();

So the frameRect includes the scrollbars and we are the only ones having the issue of emitting events in the wrong place as we are using resize to contents mode which changes the frame rect a lot. Chrome for Android does use fixed layout but I don&apos;t think they use the resize to content move, so this might be wrong for them.

I guess we should do:

// DOM Level 2 Events: The resize event occurs when a document view is resized.
// In the case of delegated viewport scrolling, the frame rect is resized together
// with the content, so in that case we only send the even  when the layout size changed.
IntSize currentSize = delegatesScrolling() ? m_fixedLayoutSize : frameRect().size();

&gt; Source/WebCore/platform/ScrollView.h:162
&gt; +    // Logical frame rect is by default the same as the Widget::frameRect, but if fixedLayoutSize it used, it is instead
&gt; +    // the rect of a virtual frame around the fixed layout area.
&gt; +    IntRect logicalFrameRect() const;

I didn&apos;t think frameRect contained the scrollbars (sorry) so then maybe this is not the right solution :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578491</commentid>
    <comment_count>26</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-03-14 09:36:38 -0700</bug_when>
    <thetext>(In reply to comment #25)
&gt; (From update of attachment 131854 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=131854&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/FrameView.cpp:2310
&gt; &gt; +        // DOM Level 2 Events: The resize event occurs when a document view is resized.
&gt; &gt; +        IntSize currentSize = logicalFrameRect().size();
&gt; 
&gt; So the frameRect includes the scrollbars and we are the only ones having the issue of emitting events in the wrong place as we are using resize to contents mode which changes the frame rect a lot. Chrome for Android does use fixed layout but I don&apos;t think they use the resize to content move, so this might be wrong for them.
&gt; 
In the Qt case the frame-rect changes when the document size changes. It was not resized when the viewport was resized. It was resized by adding content to the page. This is why we can&apos;t use it, because in our case the frame-rect does not represent the document view, but the document itself.

That leaves the question: Is the document view, the viewport (visible rect), or the virtual layout area (fixed layout).

In either case. It is just a matter of semantics. It is pretty much the same for all mobile browsers, which is why we have the hack in iOS and N9 to avoid resize-events during page-parsing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578775</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-14 14:28:13 -0700</bug_when>
    <thetext>Attachment 131854 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1
Source/WebCore/platform/ScrollView.cpp:257:  Missing space after ,  [whitespace/comma] [3]
Total errors found: 1 in 9 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>579232</commentid>
    <comment_count>28</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-03-15 02:43:36 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; (In reply to comment #25)
&gt; &gt; (From update of attachment 131854 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=131854&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/page/FrameView.cpp:2310
&gt; &gt; &gt; +        // DOM Level 2 Events: The resize event occurs when a document view is resized.
&gt; &gt; &gt; +        IntSize currentSize = logicalFrameRect().size();
&gt; &gt; 
&gt; &gt; So the frameRect includes the scrollbars and we are the only ones having the issue of emitting events in the wrong place as we are using resize to contents mode which changes the frame rect a lot. Chrome for Android does use fixed layout but I don&apos;t think they use the resize to content move, so this might be wrong for them.
&gt; &gt; 
&gt; In the Qt case the frame-rect changes when the document size changes. It was not resized when the viewport was resized. It was resized by adding content to the page. This is why we can&apos;t use it, because in our case the frame-rect does not represent the document view, but the document itself.
&gt; 
&gt; That leaves the question: Is the document view, the viewport (visible rect), or the virtual layout area (fixed layout).

So let&apos;s divide it into two groups

Desktop (non-delegated scrolling): 
   document view
   which in non-scaled situations is equal to the visible rect incl. scrollbars
   which is basically equal to the layout area + scrollbars
   

Mobile (delegated scrolling):
   layout area (incl scrollbars which are overlays and thus occupy 0 size)
   which when content is laid out and scaled to fit is pretty much (forget viewport meta initial-scale) the document view



&gt; In either case. It is just a matter of semantics. It is pretty much the same for all mobile browsers, which is why we have the hack in iOS and N9 to avoid resize-events during page-parsing.

Sure, that could be done as well if we do delegated scrolling. Delegated scrolling is not the best word, but I have no better suggestion.


// The spec DOM Level 2 Events states that the resize event occurs when a document view is resized.
// What is actually the document view is a bit ambiguous considering mobile browsers. The best term
// that describes the current behavior is: the initial non-user-scaled view (incl. non-overlay scrollbars).

IntSize currentSize;

if (!delegatesScrolling()) {
    // Desktop (non-delegated scrolling)
    currentSize = visibleRect(/*includeScrollbars*/ true).size();
} else {
    // Mobile (delegated scrolling).
    currentSize = LayoutSize(layoutWidth() + verticalScrollbar()-&gt;width(), layoutHeight() +  horizontalScrollbar()-&gt;height());
}


I am including scrollbars below as it is possible to draw overlay scrollbars not overlaying the content, by twisting the RenderTheme to reserve the space.

As both are basically doing the same, I think we could just do:

IntSize currentSize = LayoutSize(layoutWidth() + verticalScrollbar()-&gt;width(), layoutHeight() +  horizontalScrollbar()-&gt;height());


I just tested on OS X Lion with Christian and it seems that safari there doesn&apos;t even use this code for resize (if you click the maximize button it doesn&apos;t get a resize event!). It also doesn&apos;t get resize events when user scaling, which should happen if visibleRect was used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579243</commentid>
    <comment_count>29</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-03-15 03:13:31 -0700</bug_when>
    <thetext>If you want to do the patch yourself, fine. Then I will review it.

(In reply to comment #28)
&gt; // The spec DOM Level 2 Events states that the resize event occurs when a document view is resized.
&gt; // What is actually the document view is a bit ambiguous considering mobile browsers. The best term
&gt; // that describes the current behavior is: the initial non-user-scaled view (incl. non-overlay scrollbars).
&gt; 
&gt; IntSize currentSize;
&gt; 
&gt; if (!delegatesScrolling()) {
&gt;     // Desktop (non-delegated scrolling)
&gt;     currentSize = visibleRect(/*includeScrollbars*/ true).size();
&gt; } else {
&gt;     // Mobile (delegated scrolling).
&gt;     currentSize = LayoutSize(layoutWidth() + verticalScrollbar()-&gt;width(), layoutHeight() +  horizontalScrollbar()-&gt;height());
&gt; }
&gt; 
DelagatesScrolling while in the Qt case is set together with fixedLayout, is a completely different setting that has nothing to do with fixedLayoutSize. Please check if fixedLayoutSize is set instead, see ScrollView::layoutWidth how it is done.

You are calculating scrollbar width wrong. You DO need to account for overlay or not, see ScrollView::visibleRect() for how it is done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579257</commentid>
    <comment_count>30</comment_count>
      <attachid>132015</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-03-15 03:55:32 -0700</bug_when>
    <thetext>Created attachment 132015
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579264</commentid>
    <comment_count>31</comment_count>
      <attachid>132015</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-03-15 04:05:12 -0700</bug_when>
    <thetext>Comment on attachment 132015
Patch

Missing the test, but r=me with the test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579285</commentid>
    <comment_count>32</comment_count>
      <attachid>132015</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-03-15 04:55:42 -0700</bug_when>
    <thetext>Comment on attachment 132015
Patch

You are missing the test, which you refer to in the changelog. Please create a new patch including the test and results</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579296</commentid>
    <comment_count>33</comment_count>
      <attachid>132025</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-03-15 05:22:22 -0700</bug_when>
    <thetext>Created attachment 132025
Patch for landing

Readd the regression test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580091</commentid>
    <comment_count>34</comment_count>
      <attachid>132025</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-15 21:03:41 -0700</bug_when>
    <thetext>Comment on attachment 132025
Patch for landing

Clearing flags on attachment: 132025

Committed r110938: &lt;http://trac.webkit.org/changeset/110938&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580092</commentid>
    <comment_count>35</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-15 21:03:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>130059</attachid>
            <date>2012-03-04 23:24:30 -0800</date>
            <delta_ts>2012-03-04 23:24:30 -0800</delta_ts>
            <desc>Reproducible HTML</desc>
            <filename>resize-on-load.html</filename>
            <type>text/html</type>
            <size>359</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+Cjxib2R5Pgo8c2NyaXB0Pgp2YXIgcmVzaXplQ291bnRlciA9IDA7Cndp
bmRvdy5vbnJlc2l6ZSA9IGZ1bmN0aW9uKCkgewogICAgcmVzaXplQ291bnRlcisrOwogICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKS50ZXh0Q29udGVudCA9ICdUaGUgcmVzaXpl
IGhhbmRsZXIgd2FzIGNhbGxlZCAnICsgcmVzaXplQ291bnRlciArICcgdGltZXMuJzsKfQo8L3Nj
cmlwdD4KPGRpdiBpZD1jb25zb2xlPlRoZSByZXNpemUgaGFuZGxlciBpcyBOT1QgY2FsbGVkLjwv
ZGl2Pgo8ZGl2IHN0eWxlPSJoZWlnaHQ6IDEyMzQ1cHg7IGJvcmRlcjoxcHggc29saWQgbGltZTsi
Pgo8L2Rpdj4KPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130363</attachid>
            <date>2012-03-06 05:40:52 -0800</date>
            <delta_ts>2012-03-07 04:42:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80242-20120306144050.patch</filename>
            <type>text/plain</type>
            <size>3235</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5OTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmViN2E1ZTFhYmYxNzBl
MzBlMmQ2ZGFlNDRiYmEzMzk2NzA5MTM2NC4uN2JhZDg5MzQ3ZjRkOTBlNzNkYTlkNGU0ODU3NTE3
NmJlMTA5ZWE2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAzLTA2ICBBbGxh
biBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgorCisgICAgICAgIFJF
R1JFU1NJT04ocjEwNjIzMik6IFRoZSByZXNpemUgaGFuZGxlciBpcyBhbHdheXMgY2FsbGVkIGFm
dGVyIGxvYWRpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04MDI0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEluc3RlYWQgb2YgdXNpbmcgdGhlIGxheW91dHNpemUsIHVzZSB0aGUgdmlld3BvcnQgc2l6
ZSBpbmNsdWRpbmcgYW55IHNjcm9sbGJhcnMuCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnJlc2V0KToKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lVmlldzo6bGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cGVy
Zm9ybVBvc3RMYXlvdXRUYXNrcyk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKwogMjAx
Mi0wMy0wNiAgUGF2ZWwgUG9kaXZpbG92ICA8cG9kaXZpbG92QGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBXZWIgSW5zcGVjdG9yOiByZW1vdmUgcmVmZXJlbmNlIHRvIFJhd1NvdXJjZUNvZGUgZnJv
bSBVSVNvdXJjZUNvZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggZTE5MTIyMTk2
NmY4OGIxZGFiOTBkMjBlY2M2ZDFlZjFlN2FmNGU3Yi4uNTdkNjFjNWEzYzI4MTIzNzhjNjYxMjNi
ODEzMDJmZjlkZmQ5ZDEzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMjI1LDcg
KzIyNSw3IEBAIHZvaWQgRnJhbWVWaWV3OjpyZXNldCgpCiAgICAgbV9maXJzdExheW91dCA9IHRy
dWU7CiAgICAgbV9maXJzdExheW91dENhbGxiYWNrUGVuZGluZyA9IGZhbHNlOwogICAgIG1fd2Fz
U2Nyb2xsZWRCeVVzZXIgPSBmYWxzZTsKLSAgICBtX2xhc3RMYXlvdXRTaXplID0gTGF5b3V0U2l6
ZSgpOworICAgIG1fbGFzdFZpZXdwb3J0U2l6ZSA9IExheW91dFNpemUoKTsKICAgICBtX2xhc3Ra
b29tRmFjdG9yID0gMS4wZjsKICAgICBtX2RlZmVycmluZ1JlcGFpbnRzID0gMDsKICAgICBtX3Jl
cGFpbnRDb3VudCA9IDA7CkBAIC0xMDQxLDcgKzEwNDEsNyBAQCB2b2lkIEZyYW1lVmlldzo6bGF5
b3V0KGJvb2wgYWxsb3dTdWJ0cmVlKQogCiAgICAgICAgICAgICAgICAgICAgIG1fZmlyc3RMYXlv
dXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgbV9maXJzdExheW91dENhbGxiYWNrUGVu
ZGluZyA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgIG1fbGFzdExheW91dFNpemUgPSBMYXlv
dXRTaXplKGxheW91dFdpZHRoKCksIGxheW91dEhlaWdodCgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgbV9sYXN0Vmlld3BvcnRTaXplID0gdmlzaWJsZUNvbnRlbnRSZWN0KHRydWUpLnNpemUoKTsK
ICAgICAgICAgICAgICAgICAgICAgbV9sYXN0Wm9vbUZhY3RvciA9IHJvb3QtPnN0eWxlKCktPnpv
b20oKTsKIAogICAgICAgICAgICAgICAgICAgICAvLyBTZXQgdGhlIGluaXRpYWwgdk1vZGUgdG8g
QWx3YXlzT24gaWYgd2UncmUgYXV0by4KQEAgLTIzMjYsMTAgKzIzMjYsMTAgQEAgdm9pZCBGcmFt
ZVZpZXc6OnBlcmZvcm1Qb3N0TGF5b3V0VGFza3MoKQogICAgIG1fYWN0aW9uU2NoZWR1bGVyLT5y
ZXN1bWUoKTsKIAogICAgIGlmICghcm9vdC0+cHJpbnRpbmcoKSkgewotICAgICAgICBMYXlvdXRT
aXplIGN1cnJlbnRTaXplID0gTGF5b3V0U2l6ZShsYXlvdXRXaWR0aCgpLCBsYXlvdXRIZWlnaHQo
KSk7CisgICAgICAgIExheW91dFNpemUgY3VycmVudFNpemUgPSB2aXNpYmxlQ29udGVudFJlY3Qo
dHJ1ZSkuc2l6ZSgpOwogICAgICAgICBmbG9hdCBjdXJyZW50Wm9vbUZhY3RvciA9IHJvb3QtPnN0
eWxlKCktPnpvb20oKTsKLSAgICAgICAgYm9vbCByZXNpemVkID0gIW1fZmlyc3RMYXlvdXQgJiYg
KGN1cnJlbnRTaXplICE9IG1fbGFzdExheW91dFNpemUgfHwgY3VycmVudFpvb21GYWN0b3IgIT0g
bV9sYXN0Wm9vbUZhY3Rvcik7Ci0gICAgICAgIG1fbGFzdExheW91dFNpemUgPSBjdXJyZW50U2l6
ZTsKKyAgICAgICAgYm9vbCByZXNpemVkID0gIW1fZmlyc3RMYXlvdXQgJiYgKGN1cnJlbnRTaXpl
ICE9IG1fbGFzdFZpZXdwb3J0U2l6ZSB8fCBjdXJyZW50Wm9vbUZhY3RvciAhPSBtX2xhc3Rab29t
RmFjdG9yKTsKKyAgICAgICAgbV9sYXN0Vmlld3BvcnRTaXplID0gY3VycmVudFNpemU7CiAgICAg
ICAgIG1fbGFzdFpvb21GYWN0b3IgPSBjdXJyZW50Wm9vbUZhY3RvcjsKICAgICAgICAgaWYgKHJl
c2l6ZWQpCiAgICAgICAgICAgICBtX2ZyYW1lLT5ldmVudEhhbmRsZXIoKS0+c2VuZFJlc2l6ZUV2
ZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCBiNDA2OTY2NzQxZThkNWRiM2U0NDdl
MjI4MzkxZTM5NDU1ZWNhMGFlLi4xYjM4ZmMzYWNhYjY3NjJiZjA5YmExN2ViZDY2ZTcxYzZjMjI5
ZTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTQ0NCw3ICs0NDQsNyBAQCBwcml2YXRl
OgogICAgIGJvb2wgbV9maXJzdExheW91dDsKICAgICBib29sIG1faXNUcmFuc3BhcmVudDsKICAg
ICBDb2xvciBtX2Jhc2VCYWNrZ3JvdW5kQ29sb3I7Ci0gICAgTGF5b3V0U2l6ZSBtX2xhc3RMYXlv
dXRTaXplOworICAgIExheW91dFNpemUgbV9sYXN0Vmlld3BvcnRTaXplOwogICAgIGZsb2F0IG1f
bGFzdFpvb21GYWN0b3I7CiAKICAgICBTdHJpbmcgbV9tZWRpYVR5cGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130598</attachid>
            <date>2012-03-07 04:42:22 -0800</date>
            <delta_ts>2012-03-07 06:45:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80242-20120307134220.patch</filename>
            <type>text/plain</type>
            <size>7814</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTIyZDVkYjFjMzhiMzgz
YmI0ZmFhY2ZhMjU4ZWE5NzVlMTkwMDRhYy4uNzAyYTQ2MzU5Y2RkNTVmM2JhOWI2YmY5NjRiY2Yx
NmM3ZjhkYTU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTAzLTA3ICBBbGxh
biBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgorCisgICAgICAgIFJF
R1JFU1NJT04ocjEwNjIzMik6IFRoZSByZXNpemUgaGFuZGxlciBpcyBhbHdheXMgY2FsbGVkIGFm
dGVyIGxvYWRpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04MDI0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEluc3RlYWQgb2YgdXNpbmcgdGhlIGxheW91dCBzaXplLCB1c2UgdGhlIHZpZXdwb3J0IHNp
emUgaW5jbHVkaW5nIGFueSBzY3JvbGxiYXJzCisgICAgICAgIHRvIGp1ZGdlIGlmIGEgcmVzaXpl
IGV2ZW50cyBzaG91bGQgZW1pdHRlZC4gRm9yIG5vbiBmaXhlZCBsYXlvdXQgdGhpcyBpcyBpZGVu
dGljYWwKKyAgICAgICAgYmVoYXZpb3VyIHRvIHByZS1yMTA2MjMyLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvZXZlbnRzL3Jlc2l6ZS1ldmVudHMuaHRtbAorCisgICAgICAgICogcGFnZS9GcmFtZVZp
ZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpyZXNldCk6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZVZpZXc6OmxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OnBlcmZvcm1Qb3N0TGF5b3V0VGFza3MpOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6Cisg
ICAgICAgIChGcmFtZVZpZXcpOgorCiAyMDEyLTAzLTA2ICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rp
dmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGV4dHJhY3Qgc291
cmNlIG1hcHBpbmcgbG9naWMgZnJvbSBEZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsIHRvIFNjcmlw
dE1hcHBpbmdJbXBsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDkzNzcyNTM0ZmQ3
ZjdlOGNjOGE4MTc4YjRjMDkyZmRkOTI1ODViZTcuLmU5MTM3NTM1ZWU2ZmQyMGYxNTZjOTc4NWFi
N2M0NzlhZmQ4M2RkMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTIyNyw3ICsy
MjcsNyBAQCB2b2lkIEZyYW1lVmlldzo6cmVzZXQoKQogICAgIG1fZmlyc3RMYXlvdXQgPSB0cnVl
OwogICAgIG1fZmlyc3RMYXlvdXRDYWxsYmFja1BlbmRpbmcgPSBmYWxzZTsKICAgICBtX3dhc1Nj
cm9sbGVkQnlVc2VyID0gZmFsc2U7Ci0gICAgbV9sYXN0TGF5b3V0U2l6ZSA9IExheW91dFNpemUo
KTsKKyAgICBtX2xhc3RWaWV3cG9ydFNpemUgPSBJbnRTaXplKCk7CiAgICAgbV9sYXN0Wm9vbUZh
Y3RvciA9IDEuMGY7CiAgICAgbV9kZWZlcnJpbmdSZXBhaW50cyA9IDA7CiAgICAgbV9yZXBhaW50
Q291bnQgPSAwOwpAQCAtMTA0Myw3ICsxMDQzLDcgQEAgdm9pZCBGcmFtZVZpZXc6OmxheW91dChi
b29sIGFsbG93U3VidHJlZSkKIAogICAgICAgICAgICAgICAgICAgICBtX2ZpcnN0TGF5b3V0ID0g
ZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgIG1fZmlyc3RMYXlvdXRDYWxsYmFja1BlbmRpbmcg
PSB0cnVlOwotICAgICAgICAgICAgICAgICAgICBtX2xhc3RMYXlvdXRTaXplID0gTGF5b3V0U2l6
ZShsYXlvdXRXaWR0aCgpLCBsYXlvdXRIZWlnaHQoKSk7CisgICAgICAgICAgICAgICAgICAgIG1f
bGFzdFZpZXdwb3J0U2l6ZSA9IHZpc2libGVDb250ZW50UmVjdCh0cnVlKS5zaXplKCk7CiAgICAg
ICAgICAgICAgICAgICAgIG1fbGFzdFpvb21GYWN0b3IgPSByb290LT5zdHlsZSgpLT56b29tKCk7
CiAKICAgICAgICAgICAgICAgICAgICAgLy8gU2V0IHRoZSBpbml0aWFsIHZNb2RlIHRvIEFsd2F5
c09uIGlmIHdlJ3JlIGF1dG8uCkBAIC0yMzI4LDEwICsyMzI4LDEwIEBAIHZvaWQgRnJhbWVWaWV3
OjpwZXJmb3JtUG9zdExheW91dFRhc2tzKCkKICAgICBtX2FjdGlvblNjaGVkdWxlci0+cmVzdW1l
KCk7CiAKICAgICBpZiAoIXJvb3QtPnByaW50aW5nKCkpIHsKLSAgICAgICAgTGF5b3V0U2l6ZSBj
dXJyZW50U2l6ZSA9IExheW91dFNpemUobGF5b3V0V2lkdGgoKSwgbGF5b3V0SGVpZ2h0KCkpOwor
ICAgICAgICBJbnRTaXplIGN1cnJlbnRTaXplID0gdmlzaWJsZUNvbnRlbnRSZWN0KHRydWUpLnNp
emUoKTsKICAgICAgICAgZmxvYXQgY3VycmVudFpvb21GYWN0b3IgPSByb290LT5zdHlsZSgpLT56
b29tKCk7Ci0gICAgICAgIGJvb2wgcmVzaXplZCA9ICFtX2ZpcnN0TGF5b3V0ICYmIChjdXJyZW50
U2l6ZSAhPSBtX2xhc3RMYXlvdXRTaXplIHx8IGN1cnJlbnRab29tRmFjdG9yICE9IG1fbGFzdFpv
b21GYWN0b3IpOwotICAgICAgICBtX2xhc3RMYXlvdXRTaXplID0gY3VycmVudFNpemU7CisgICAg
ICAgIGJvb2wgcmVzaXplZCA9ICFtX2ZpcnN0TGF5b3V0ICYmIChjdXJyZW50U2l6ZSAhPSBtX2xh
c3RWaWV3cG9ydFNpemUgfHwgY3VycmVudFpvb21GYWN0b3IgIT0gbV9sYXN0Wm9vbUZhY3Rvcik7
CisgICAgICAgIG1fbGFzdFZpZXdwb3J0U2l6ZSA9IGN1cnJlbnRTaXplOwogICAgICAgICBtX2xh
c3Rab29tRmFjdG9yID0gY3VycmVudFpvb21GYWN0b3I7CiAgICAgICAgIGlmIChyZXNpemVkKSB7
CiAgICAgICAgICAgICBtX2ZyYW1lLT5ldmVudEhhbmRsZXIoKS0+c2VuZFJlc2l6ZUV2ZW50KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCBiNDA2OTY2NzQxZThkNWRiM2U0NDdlMjI4Mzkx
ZTM5NDU1ZWNhMGFlLi41N2RiMzdhMGY2NjY2MDFlZjEyNDNmMDY1MGEwMWVjZDE1NTY5NTEzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTQ0NCw3ICs0NDQsNyBAQCBwcml2YXRlOgogICAg
IGJvb2wgbV9maXJzdExheW91dDsKICAgICBib29sIG1faXNUcmFuc3BhcmVudDsKICAgICBDb2xv
ciBtX2Jhc2VCYWNrZ3JvdW5kQ29sb3I7Ci0gICAgTGF5b3V0U2l6ZSBtX2xhc3RMYXlvdXRTaXpl
OworICAgIEludFNpemUgbV9sYXN0Vmlld3BvcnRTaXplOwogICAgIGZsb2F0IG1fbGFzdFpvb21G
YWN0b3I7CiAKICAgICBTdHJpbmcgbV9tZWRpYVR5cGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTlkNmE3ZjMzMmM4YTc2
MWNmYTQzZTQ5OWQyZmFjZjc5Njk4MzNjOS4uZmQzMTMzYjdjM2E1ODcyMzQ0ZWU5ZWE4MGQ5Zjll
NzMwODBmMmUyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTAzLTA3ICBBbGxhbiBTYW5k
ZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgorCisgICAgICAgIFJFR1JFU1NJ
T04ocjEwNjIzMik6IFRoZSByZXNpemUgaGFuZGxlciBpcyBhbHdheXMgY2FsbGVkIGFmdGVyIGxv
YWRpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
MDI0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRl
c3RzIHRoYXQgbm8gcmVzaXplIGV2ZW50cyBhcmUgZW1pdHRlZCBkdXJpbmcgcGFnZSBjcmVhdGlv
biwKKyAgICAgICAgZXZlbiBpZiB0aGUgcGFnZSBvdmVyZmxvd3MgYW5kIGFkZHMgYSBzY3JvbGxi
YXIuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9yZXNpemUtZXZlbnRzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvcmVzaXplLWV2ZW50cy5odG1sOiBBZGRlZC4K
KwogMjAxMi0wMy0wNiAgUGF2ZWwgUG9kaXZpbG92ICA8cG9kaXZpbG92QGNocm9taXVtLm9yZz4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBleHRyYWN0IHNvdXJjZSBtYXBwaW5nIGxvZ2ljIGZy
b20gRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbCB0byBTY3JpcHRNYXBwaW5nSW1wbC4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc2l6ZS1ldmVudHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzaXplLWV2ZW50cy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODQwNThiOTY5OTFlZGQxOWVjMzFiNjBmM2E0NThmMWQ0MGFlYTZlOQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc2l6ZS1ldmVudHMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5k
ZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODIKKyAgICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgwLDApIHNpemUgNzg0eDc5CisgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMp
IGF0ICgwLDApIHNpemUgNzg0eDQyCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgNzcyeDQyCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA2NTI6
ICJUZXN0IGhvdyBtYW55IHJlc2l6ZSBldmVudHMgYXJlIGVtaXR0ZWQgZHVyaW5nIHBhZ2UgbG9h
ZCBhbmQgZHluYW1pYyBjb250ZW50IGdlbmVyYXRpb24uICIKKyAgICAgICAgICAgIHRleHQgcnVu
IGF0ICg2NTIsMCkgd2lkdGggMTIwOiAiRG8gbm90IHJlc2l6ZSB0aGUiCisgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwyMSkgd2lkdGggMTkyOiAicGFnZS4gSXQgaW52YWxpZGF0ZXMgdGhlIHRl
c3QuIgorICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsNTgpIHNpemUgNzg0eDIxCisgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMCwwKSBzaXplIDIwNngyMQorICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDEwLDApIHdpZHRoIDIwNjogIlJlc2l6ZSBldmVudHMgKHNob3VsZCBi
ZSAwKTogIgorICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA5eDIx
CisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIxNiwwKSBzaXplIDl4MjEKKyAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIxNiwwKSB3aWR0aCA5OiAiMCIKKyAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgwLDk1KSBzaXplIDc4NHg0MDIKKyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDEwLDApIHNpemUgNzY0eDQwMiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzaXplLWV2ZW50cy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvcmVzaXplLWV2ZW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZiZjVjMmUw
NGNmNWM2MTAwMDczMjgxZTA3ZjVlYmRiYjVlYmYzZmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNpemUtZXZlbnRzLmh0bWwKQEAgLTAsMCArMSw1NCBAQAor
PGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgIGRpdi5ibG9jayB7IGhlaWdodDog
NDAwcHg7IGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyBtYXJnaW46MTBweDsgfQorICAgIDwvc3R5
bGU+CisgICAgPHNjcmlwdD4KKyAgICAgICAgdmFyIHJlc2l6ZWNvdW50ID0gMDsKKyAgICAgICAg
dmFyIGxvYWRlZCA9IGZhbHNlOworICAgICAgICB3aW5kb3cub25yZXNpemUgPSBmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgIHJlc2l6ZWNvdW50Kys7CisgICAgICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnY291bnQxJykuaW5uZXJIVE1MID0gcmVzaXplY291bnQ7CisgICAgICAgIH0K
KyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXY+CisgICAgICAgIFRlc3Qg
aG93IG1hbnkgcmVzaXplIGV2ZW50cyBhcmUgZW1pdHRlZCBkdXJpbmcgcGFnZSBsb2FkIGFuZCBk
eW5hbWljIGNvbnRlbnQgZ2VuZXJhdGlvbi4KKworICAgICAgICBEbyBub3QgcmVzaXplIHRoZSBw
YWdlLiBJdCBpbnZhbGlkYXRlcyB0aGUgdGVzdC4KKyAgICAgICAgPHAgc3R5bGU9InRleHQtaW5k
ZW50OiAxMHB4IiBpZD1yZXN1bHQxPgorICAgICAgICBSZXNpemUgZXZlbnRzIChzaG91bGQgYmUg
MCk6IDxzcGFuIGlkPWNvdW50MT4wPC9zcGFuPgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ZXhw
YW5kaW5nYmxvY2s+CisgICAgPC9kaXY+CisgICAgPHNjcmlwdD4KKyAgICAgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB9CisKKyAgICAgICAgdmFyIGJsb2NrY291bnQg
PSAwOworICAgICAgICBmdW5jdGlvbiBhZGRCbG9jaygpIHsKKyAgICAgICAgICAgIHZhciBlbCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICAgICAgZWwuc2V0QXR0cmli
dXRlKCdjbGFzcycsJ2Jsb2NrJyk7CisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnZXhwYW5kaW5nYmxvY2snKS5hcHBlbmRDaGlsZChlbCk7CisgICAgICAgICAgICBpZiAoKyti
bG9ja2NvdW50IDwgMTApCisgICAgICAgICAgICAgICAgc2V0VGltZW91dChhZGRCbG9jaywgMjAp
OworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGZpbmlzaCgpOworICAgICAgICB9
CisgICAgICAgIGZ1bmN0aW9uIGZpbmlzaCgpIHsKKyAgICAgICAgICAgIHZhciByZXN1bHQ7Cisg
ICAgICAgICAgICAvLyBObyByZXNpemUgZXZlbnRzIGFyZSBhY2NlcHRhYmxlLgorICAgICAgICAg
ICAgaWYgKHJlc2l6ZWNvdW50IDwgMSkKKyAgICAgICAgICAgICAgICByZXN1bHQgPSAnPHAgc3R5
bGU9ImNvbG9yOiBncmVlbiI+UEFTUyc7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAg
ICAgcmVzdWx0ID0gJzxwIHN0eWxlPSJjb2xvcjogcmVkIj5GQUlMJzsKKyAgICAgICAgICAgIHZh
ciByZXN1bHRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdDEnKQorICAg
ICAgICAgICAgcmVzdWx0RWxlbWVudC5pbm5lckhUTUwgKz0gcmVzdWx0OworICAgICAgICAgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KKyAgICAgICAgb25sb2FkID0g
YWRkQmxvY2s7CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130617</attachid>
            <date>2012-03-07 06:45:43 -0800</date>
            <delta_ts>2012-03-07 06:49:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>study</filename>
            <type>text/plain</type>
            <size>6578</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1OWQ2YTdmLi5mZDMxMzNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDMt
MDcgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBub2tpYS5jb20+CisKKyAg
ICAgICAgUkVHUkVTU0lPTihyMTA2MjMyKTogVGhlIHJlc2l6ZSBoYW5kbGVyIGlzIGFsd2F5cyBj
YWxsZWQgYWZ0ZXIgbG9hZGluZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgwMjQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGVzdHMgdGhhdCBubyByZXNpemUgZXZlbnRzIGFyZSBlbWl0dGVkIGR1cmlu
ZyBwYWdlIGNyZWF0aW9uLAorICAgICAgICBldmVuIGlmIHRoZSBwYWdlIG92ZXJmbG93cyBhbmQg
YWRkcyBhIHNjcm9sbGJhci4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL3Jlc2l6ZS1ldmVudHMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9yZXNpemUtZXZlbnRz
Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTAzLTA2ICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGV4dHJhY3Qgc291cmNlIG1h
cHBpbmcgbG9naWMgZnJvbSBEZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsIHRvIFNjcmlwdE1hcHBp
bmdJbXBsLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzaXplLWV2ZW50
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNpemUtZXZlbnRzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDA1OGI5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzaXplLWV2ZW50cy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4MgorICAgICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4NzkKKyAgICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDAsMCkgc2l6ZSA3ODR4NDIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSA3NzJ4NDIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDY1MjogIlRlc3QgaG93IG1hbnkgcmVzaXplIGV2ZW50cyBhcmUgZW1pdHRlZCBkdXJpbmcgcGFn
ZSBsb2FkIGFuZCBkeW5hbWljIGNvbnRlbnQgZ2VuZXJhdGlvbi4gIgorICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDY1MiwwKSB3aWR0aCAxMjA6ICJEbyBub3QgcmVzaXplIHRoZSIKKyAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDIxKSB3aWR0aCAxOTI6ICJwYWdlLiBJdCBpbnZhbGlkYXRlcyB0
aGUgdGVzdC4iCisgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCw1OCkgc2l6ZSA3ODR4MjEK
KyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEwLDApIHNpemUgMjA2eDIxCisgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMTAsMCkgd2lkdGggMjA2OiAiUmVzaXplIGV2ZW50cyAoc2hv
dWxkIGJlIDApOiAiCisgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXpl
IDl4MjEKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjE2LDApIHNpemUgOXgy
MQorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjE2LDApIHdpZHRoIDk6ICIwIgorICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDAsOTUpIHNpemUgNzg0eDQwMgorICAgICAgICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMTAsMCkgc2l6ZSA3NjR4NDAyIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNpemUtZXZlbnRzLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNpemUtZXZlbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uZmJmNWMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3Jlc2l6ZS1ldmVudHMuaHRtbApAQCAtMCwwICsxLDU0IEBACis8aHRt
bD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgZGl2LmJsb2NrIHsgaGVpZ2h0OiA0MDBw
eDsgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7IG1hcmdpbjoxMHB4OyB9CisgICAgPC9zdHlsZT4K
KyAgICA8c2NyaXB0PgorICAgICAgICB2YXIgcmVzaXplY291bnQgPSAwOworICAgICAgICB2YXIg
bG9hZGVkID0gZmFsc2U7CisgICAgICAgIHdpbmRvdy5vbnJlc2l6ZSA9IGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgcmVzaXplY291bnQrKzsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdjb3VudDEnKS5pbm5lckhUTUwgPSByZXNpemVjb3VudDsKKyAgICAgICAgfQorICAg
IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdj4KKyAgICAgICAgVGVzdCBob3cg
bWFueSByZXNpemUgZXZlbnRzIGFyZSBlbWl0dGVkIGR1cmluZyBwYWdlIGxvYWQgYW5kIGR5bmFt
aWMgY29udGVudCBnZW5lcmF0aW9uLgorCisgICAgICAgIERvIG5vdCByZXNpemUgdGhlIHBhZ2Uu
IEl0IGludmFsaWRhdGVzIHRoZSB0ZXN0LgorICAgICAgICA8cCBzdHlsZT0idGV4dC1pbmRlbnQ6
IDEwcHgiIGlkPXJlc3VsdDE+CisgICAgICAgIFJlc2l6ZSBldmVudHMgKHNob3VsZCBiZSAwKTog
PHNwYW4gaWQ9Y291bnQxPjA8L3NwYW4+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD1leHBhbmRp
bmdibG9jaz4KKyAgICA8L2Rpdj4KKyAgICA8c2NyaXB0PgorICAgICAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53
YWl0VW50aWxEb25lKCk7CisgICAgICAgIH0KKworICAgICAgICB2YXIgYmxvY2tjb3VudCA9IDA7
CisgICAgICAgIGZ1bmN0aW9uIGFkZEJsb2NrKCkgeworICAgICAgICAgICAgdmFyIGVsID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgICAgICBlbC5zZXRBdHRyaWJ1dGUo
J2NsYXNzJywnYmxvY2snKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdl
eHBhbmRpbmdibG9jaycpLmFwcGVuZENoaWxkKGVsKTsKKyAgICAgICAgICAgIGlmICgrK2Jsb2Nr
Y291bnQgPCAxMCkKKyAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGFkZEJsb2NrLCAyMCk7Cisg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgZmluaXNoKCk7CisgICAgICAgIH0KKyAg
ICAgICAgZnVuY3Rpb24gZmluaXNoKCkgeworICAgICAgICAgICAgdmFyIHJlc3VsdDsKKyAgICAg
ICAgICAgIC8vIE5vIHJlc2l6ZSBldmVudHMgYXJlIGFjY2VwdGFibGUuCisgICAgICAgICAgICBp
ZiAocmVzaXplY291bnQgPCAxKQorICAgICAgICAgICAgICAgIHJlc3VsdCA9ICc8cCBzdHlsZT0i
Y29sb3I6IGdyZWVuIj5QQVNTJzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBy
ZXN1bHQgPSAnPHAgc3R5bGU9ImNvbG9yOiByZWQiPkZBSUwnOworICAgICAgICAgICAgdmFyIHJl
c3VsdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0MScpCisgICAgICAg
ICAgICByZXN1bHRFbGVtZW50LmlubmVySFRNTCArPSByZXN1bHQ7CisgICAgICAgICAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfQorICAgICAgICBvbmxvYWQgPSBhZGRC
bG9jazsKKyAgICA8L3NjcmlwdD4KKzwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggOTM3NzI1My4uOGI1NjVkMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMjI3LDcgKzIyNyw3IEBAIHZvaWQgRnJhbWVWaWV3
OjpyZXNldCgpCiAgICAgbV9maXJzdExheW91dCA9IHRydWU7CiAgICAgbV9maXJzdExheW91dENh
bGxiYWNrUGVuZGluZyA9IGZhbHNlOwogICAgIG1fd2FzU2Nyb2xsZWRCeVVzZXIgPSBmYWxzZTsK
LSAgICBtX2xhc3RMYXlvdXRTaXplID0gTGF5b3V0U2l6ZSgpOworICAgIG1fbGFzdFZpZXdwb3J0
U2l6ZSA9IEludFNpemUoKTsKICAgICBtX2xhc3Rab29tRmFjdG9yID0gMS4wZjsKICAgICBtX2Rl
ZmVycmluZ1JlcGFpbnRzID0gMDsKICAgICBtX3JlcGFpbnRDb3VudCA9IDA7CkBAIC0xMDQzLDcg
KzEwNDMsNyBAQCB2b2lkIEZyYW1lVmlldzo6bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlKQogCiAg
ICAgICAgICAgICAgICAgICAgIG1fZmlyc3RMYXlvdXQgPSBmYWxzZTsKICAgICAgICAgICAgICAg
ICAgICAgbV9maXJzdExheW91dENhbGxiYWNrUGVuZGluZyA9IHRydWU7Ci0gICAgICAgICAgICAg
ICAgICAgIG1fbGFzdExheW91dFNpemUgPSBMYXlvdXRTaXplKGxheW91dFdpZHRoKCksIGxheW91
dEhlaWdodCgpKTsKKyAgICAgICAgICAgICAgICAgICAgbV9sYXN0Vmlld3BvcnRTaXplID0gdmlz
aWJsZUNvbnRlbnRSZWN0KHRydWUgLyppbmNsdWRlU2Nyb2xsYmFycyovKS5zaXplKCk7CiAgICAg
ICAgICAgICAgICAgICAgIG1fbGFzdFpvb21GYWN0b3IgPSByb290LT5zdHlsZSgpLT56b29tKCk7
CiAKICAgICAgICAgICAgICAgICAgICAgLy8gU2V0IHRoZSBpbml0aWFsIHZNb2RlIHRvIEFsd2F5
c09uIGlmIHdlJ3JlIGF1dG8uCkBAIC0yMzI4LDEwICsyMzI4LDEyIEBAIHZvaWQgRnJhbWVWaWV3
OjpwZXJmb3JtUG9zdExheW91dFRhc2tzKCkKICAgICBtX2FjdGlvblNjaGVkdWxlci0+cmVzdW1l
KCk7CiAKICAgICBpZiAoIXJvb3QtPnByaW50aW5nKCkpIHsKLSAgICAgICAgTGF5b3V0U2l6ZSBj
dXJyZW50U2l6ZSA9IExheW91dFNpemUobGF5b3V0V2lkdGgoKSwgbGF5b3V0SGVpZ2h0KCkpOwor
ICAgICAgICAvLyBSZXNpemUgZXZlbnRzIGFyZSBub3QgZW1pdHRlZCB3aGVuIGxheW91dHNpemUg
Y2hhbmdlcyBkdWUgdG8gYWRkZWQgc2Nyb2xsYmFycywgYnV0IGFyZSBlbWl0dGVkIGlmCisgICAg
ICAgIC8vIHRoZSB2aWV3cG9ydCBpcyBleHRlcm5hbGx5IHJlc2l6ZWQgZXZlbiBpZiB0aGUgcmVz
aXplIGRvZXMgbm90IGFmZmVjdCBsYXlvdXRzaXplLgorICAgICAgICBJbnRTaXplIGN1cnJlbnRT
aXplID0gdmlzaWJsZUNvbnRlbnRSZWN0KHRydWUgLyppbmNsdWRlU2Nyb2xsYmFycyovKS5zaXpl
KCk7CiAgICAgICAgIGZsb2F0IGN1cnJlbnRab29tRmFjdG9yID0gcm9vdC0+c3R5bGUoKS0+em9v
bSgpOwotICAgICAgICBib29sIHJlc2l6ZWQgPSAhbV9maXJzdExheW91dCAmJiAoY3VycmVudFNp
emUgIT0gbV9sYXN0TGF5b3V0U2l6ZSB8fCBjdXJyZW50Wm9vbUZhY3RvciAhPSBtX2xhc3Rab29t
RmFjdG9yKTsKLSAgICAgICAgbV9sYXN0TGF5b3V0U2l6ZSA9IGN1cnJlbnRTaXplOworICAgICAg
ICBib29sIHJlc2l6ZWQgPSAhbV9maXJzdExheW91dCAmJiAoY3VycmVudFNpemUgIT0gbV9sYXN0
Vmlld3BvcnRTaXplIHx8IGN1cnJlbnRab29tRmFjdG9yICE9IG1fbGFzdFpvb21GYWN0b3IpOwor
ICAgICAgICBtX2xhc3RWaWV3cG9ydFNpemUgPSBjdXJyZW50U2l6ZTsKICAgICAgICAgbV9sYXN0
Wm9vbUZhY3RvciA9IGN1cnJlbnRab29tRmFjdG9yOwogICAgICAgICBpZiAocmVzaXplZCkgewog
ICAgICAgICAgICAgbV9mcmFtZS0+ZXZlbnRIYW5kbGVyKCktPnNlbmRSZXNpemVFdmVudCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggYjQwNjk2Ni4uNTdkYjM3YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5oCkBAIC00NDQsNyArNDQ0LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fZmly
c3RMYXlvdXQ7CiAgICAgYm9vbCBtX2lzVHJhbnNwYXJlbnQ7CiAgICAgQ29sb3IgbV9iYXNlQmFj
a2dyb3VuZENvbG9yOwotICAgIExheW91dFNpemUgbV9sYXN0TGF5b3V0U2l6ZTsKKyAgICBJbnRT
aXplIG1fbGFzdFZpZXdwb3J0U2l6ZTsKICAgICBmbG9hdCBtX2xhc3Rab29tRmFjdG9yOwogCiAg
ICAgU3RyaW5nIG1fbWVkaWFUeXBlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130618</attachid>
            <date>2012-03-07 06:49:12 -0800</date>
            <delta_ts>2012-03-08 03:20:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>Patch</filename>
            <type>text/plain</type>
            <size>7588</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1OWQ2YTdmLi5mZDMxMzNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDMt
MDcgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBub2tpYS5jb20+CisKKyAg
ICAgICAgUkVHUkVTU0lPTihyMTA2MjMyKTogVGhlIHJlc2l6ZSBoYW5kbGVyIGlzIGFsd2F5cyBj
YWxsZWQgYWZ0ZXIgbG9hZGluZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgwMjQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGVzdHMgdGhhdCBubyByZXNpemUgZXZlbnRzIGFyZSBlbWl0dGVkIGR1cmlu
ZyBwYWdlIGNyZWF0aW9uLAorICAgICAgICBldmVuIGlmIHRoZSBwYWdlIG92ZXJmbG93cyBhbmQg
YWRkcyBhIHNjcm9sbGJhci4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL3Jlc2l6ZS1ldmVudHMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9yZXNpemUtZXZlbnRz
Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTAzLTA2ICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGV4dHJhY3Qgc291cmNlIG1h
cHBpbmcgbG9naWMgZnJvbSBEZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsIHRvIFNjcmlwdE1hcHBp
bmdJbXBsLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzaXplLWV2ZW50
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNpemUtZXZlbnRzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDA1OGI5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzaXplLWV2ZW50cy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4MgorICAgICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4NzkKKyAgICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDAsMCkgc2l6ZSA3ODR4NDIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSA3NzJ4NDIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDY1MjogIlRlc3QgaG93IG1hbnkgcmVzaXplIGV2ZW50cyBhcmUgZW1pdHRlZCBkdXJpbmcgcGFn
ZSBsb2FkIGFuZCBkeW5hbWljIGNvbnRlbnQgZ2VuZXJhdGlvbi4gIgorICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDY1MiwwKSB3aWR0aCAxMjA6ICJEbyBub3QgcmVzaXplIHRoZSIKKyAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDIxKSB3aWR0aCAxOTI6ICJwYWdlLiBJdCBpbnZhbGlkYXRlcyB0
aGUgdGVzdC4iCisgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCw1OCkgc2l6ZSA3ODR4MjEK
KyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEwLDApIHNpemUgMjA2eDIxCisgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMTAsMCkgd2lkdGggMjA2OiAiUmVzaXplIGV2ZW50cyAoc2hv
dWxkIGJlIDApOiAiCisgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXpl
IDl4MjEKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjE2LDApIHNpemUgOXgy
MQorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjE2LDApIHdpZHRoIDk6ICIwIgorICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDAsOTUpIHNpemUgNzg0eDQwMgorICAgICAgICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMTAsMCkgc2l6ZSA3NjR4NDAyIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNpemUtZXZlbnRzLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNpemUtZXZlbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uZmJmNWMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3Jlc2l6ZS1ldmVudHMuaHRtbApAQCAtMCwwICsxLDU0IEBACis8aHRt
bD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgZGl2LmJsb2NrIHsgaGVpZ2h0OiA0MDBw
eDsgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7IG1hcmdpbjoxMHB4OyB9CisgICAgPC9zdHlsZT4K
KyAgICA8c2NyaXB0PgorICAgICAgICB2YXIgcmVzaXplY291bnQgPSAwOworICAgICAgICB2YXIg
bG9hZGVkID0gZmFsc2U7CisgICAgICAgIHdpbmRvdy5vbnJlc2l6ZSA9IGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgcmVzaXplY291bnQrKzsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdjb3VudDEnKS5pbm5lckhUTUwgPSByZXNpemVjb3VudDsKKyAgICAgICAgfQorICAg
IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdj4KKyAgICAgICAgVGVzdCBob3cg
bWFueSByZXNpemUgZXZlbnRzIGFyZSBlbWl0dGVkIGR1cmluZyBwYWdlIGxvYWQgYW5kIGR5bmFt
aWMgY29udGVudCBnZW5lcmF0aW9uLgorCisgICAgICAgIERvIG5vdCByZXNpemUgdGhlIHBhZ2Uu
IEl0IGludmFsaWRhdGVzIHRoZSB0ZXN0LgorICAgICAgICA8cCBzdHlsZT0idGV4dC1pbmRlbnQ6
IDEwcHgiIGlkPXJlc3VsdDE+CisgICAgICAgIFJlc2l6ZSBldmVudHMgKHNob3VsZCBiZSAwKTog
PHNwYW4gaWQ9Y291bnQxPjA8L3NwYW4+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD1leHBhbmRp
bmdibG9jaz4KKyAgICA8L2Rpdj4KKyAgICA8c2NyaXB0PgorICAgICAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53
YWl0VW50aWxEb25lKCk7CisgICAgICAgIH0KKworICAgICAgICB2YXIgYmxvY2tjb3VudCA9IDA7
CisgICAgICAgIGZ1bmN0aW9uIGFkZEJsb2NrKCkgeworICAgICAgICAgICAgdmFyIGVsID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgICAgICBlbC5zZXRBdHRyaWJ1dGUo
J2NsYXNzJywnYmxvY2snKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdl
eHBhbmRpbmdibG9jaycpLmFwcGVuZENoaWxkKGVsKTsKKyAgICAgICAgICAgIGlmICgrK2Jsb2Nr
Y291bnQgPCAxMCkKKyAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGFkZEJsb2NrLCAyMCk7Cisg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgZmluaXNoKCk7CisgICAgICAgIH0KKyAg
ICAgICAgZnVuY3Rpb24gZmluaXNoKCkgeworICAgICAgICAgICAgdmFyIHJlc3VsdDsKKyAgICAg
ICAgICAgIC8vIE5vIHJlc2l6ZSBldmVudHMgYXJlIGFjY2VwdGFibGUuCisgICAgICAgICAgICBp
ZiAocmVzaXplY291bnQgPCAxKQorICAgICAgICAgICAgICAgIHJlc3VsdCA9ICc8cCBzdHlsZT0i
Y29sb3I6IGdyZWVuIj5QQVNTJzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBy
ZXN1bHQgPSAnPHAgc3R5bGU9ImNvbG9yOiByZWQiPkZBSUwnOworICAgICAgICAgICAgdmFyIHJl
c3VsdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0MScpCisgICAgICAg
ICAgICByZXN1bHRFbGVtZW50LmlubmVySFRNTCArPSByZXN1bHQ7CisgICAgICAgICAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfQorICAgICAgICBvbmxvYWQgPSBhZGRC
bG9jazsKKyAgICA8L3NjcmlwdD4KKzwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggZDc1Y2MzYy4uYmFjMTU5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDEyLTAzLTA3ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5Abm9r
aWEuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjEwNjIzMik6IFRoZSByZXNpemUgaGFuZGxl
ciBpcyBhbHdheXMgY2FsbGVkIGFmdGVyIGxvYWRpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDI0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEluc3RlYWQgb2YgdXNpbmcgdGhlIGxheW91dCBzaXpl
LCB1c2UgdGhlIHZpZXdwb3J0IHNpemUgaW5jbHVkaW5nIGFueSBzY3JvbGxiYXJzCisgICAgICAg
IHRvIGp1ZGdlIGlmIGEgcmVzaXplIGV2ZW50cyBzaG91bGQgZW1pdHRlZC4gRm9yIG5vbiBmaXhl
ZCBsYXlvdXQgdGhpcyBpcyBpZGVudGljYWwKKyAgICAgICAgYmVoYXZpb3VyIHRvIHByZS1yMTA2
MjMyLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL3Jlc2l6ZS1ldmVudHMuaHRtbAorCisg
ICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3
OjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmxheW91dCk6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OnBlcmZvcm1Qb3N0TGF5b3V0VGFza3MpOgorICAgICAgICAq
IHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAgIChGcmFtZVZpZXcpOgorCiAyMDEyLTAzLTA3ICBa
b2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0gQWRkIHFt
YWtlIGNvbmZpZyB0ZXN0cyBmb3IgSlBFRyBhbmQgUE5HIGxpYnJhcnkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmNwcAppbmRleCA5Mzc3MjUzLi44YjU2NWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCkBAIC0yMjcsNyArMjI3LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnJlc2V0KCkKICAgICBt
X2ZpcnN0TGF5b3V0ID0gdHJ1ZTsKICAgICBtX2ZpcnN0TGF5b3V0Q2FsbGJhY2tQZW5kaW5nID0g
ZmFsc2U7CiAgICAgbV93YXNTY3JvbGxlZEJ5VXNlciA9IGZhbHNlOwotICAgIG1fbGFzdExheW91
dFNpemUgPSBMYXlvdXRTaXplKCk7CisgICAgbV9sYXN0Vmlld3BvcnRTaXplID0gSW50U2l6ZSgp
OwogICAgIG1fbGFzdFpvb21GYWN0b3IgPSAxLjBmOwogICAgIG1fZGVmZXJyaW5nUmVwYWludHMg
PSAwOwogICAgIG1fcmVwYWludENvdW50ID0gMDsKQEAgLTEwNDMsNyArMTA0Myw3IEBAIHZvaWQg
RnJhbWVWaWV3OjpsYXlvdXQoYm9vbCBhbGxvd1N1YnRyZWUpCiAKICAgICAgICAgICAgICAgICAg
ICAgbV9maXJzdExheW91dCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICBtX2ZpcnN0TGF5
b3V0Q2FsbGJhY2tQZW5kaW5nID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgbV9sYXN0TGF5
b3V0U2l6ZSA9IExheW91dFNpemUobGF5b3V0V2lkdGgoKSwgbGF5b3V0SGVpZ2h0KCkpOworICAg
ICAgICAgICAgICAgICAgICBtX2xhc3RWaWV3cG9ydFNpemUgPSB2aXNpYmxlQ29udGVudFJlY3Qo
dHJ1ZSAvKmluY2x1ZGVTY3JvbGxiYXJzKi8pLnNpemUoKTsKICAgICAgICAgICAgICAgICAgICAg
bV9sYXN0Wm9vbUZhY3RvciA9IHJvb3QtPnN0eWxlKCktPnpvb20oKTsKIAogICAgICAgICAgICAg
ICAgICAgICAvLyBTZXQgdGhlIGluaXRpYWwgdk1vZGUgdG8gQWx3YXlzT24gaWYgd2UncmUgYXV0
by4KQEAgLTIzMjgsMTAgKzIzMjgsMTIgQEAgdm9pZCBGcmFtZVZpZXc6OnBlcmZvcm1Qb3N0TGF5
b3V0VGFza3MoKQogICAgIG1fYWN0aW9uU2NoZWR1bGVyLT5yZXN1bWUoKTsKIAogICAgIGlmICgh
cm9vdC0+cHJpbnRpbmcoKSkgewotICAgICAgICBMYXlvdXRTaXplIGN1cnJlbnRTaXplID0gTGF5
b3V0U2l6ZShsYXlvdXRXaWR0aCgpLCBsYXlvdXRIZWlnaHQoKSk7CisgICAgICAgIC8vIFJlc2l6
ZSBldmVudHMgYXJlIG5vdCBlbWl0dGVkIHdoZW4gbGF5b3V0c2l6ZSBjaGFuZ2VzIGR1ZSB0byBh
ZGRlZCBzY3JvbGxiYXJzLCBidXQgYXJlIGVtaXR0ZWQgaWYKKyAgICAgICAgLy8gdGhlIHZpZXdw
b3J0IGlzIGV4dGVybmFsbHkgcmVzaXplZCBldmVuIGlmIHRoZSByZXNpemUgZG9lcyBub3QgYWZm
ZWN0IGxheW91dHNpemUuCisgICAgICAgIEludFNpemUgY3VycmVudFNpemUgPSB2aXNpYmxlQ29u
dGVudFJlY3QodHJ1ZSAvKmluY2x1ZGVTY3JvbGxiYXJzKi8pLnNpemUoKTsKICAgICAgICAgZmxv
YXQgY3VycmVudFpvb21GYWN0b3IgPSByb290LT5zdHlsZSgpLT56b29tKCk7Ci0gICAgICAgIGJv
b2wgcmVzaXplZCA9ICFtX2ZpcnN0TGF5b3V0ICYmIChjdXJyZW50U2l6ZSAhPSBtX2xhc3RMYXlv
dXRTaXplIHx8IGN1cnJlbnRab29tRmFjdG9yICE9IG1fbGFzdFpvb21GYWN0b3IpOwotICAgICAg
ICBtX2xhc3RMYXlvdXRTaXplID0gY3VycmVudFNpemU7CisgICAgICAgIGJvb2wgcmVzaXplZCA9
ICFtX2ZpcnN0TGF5b3V0ICYmIChjdXJyZW50U2l6ZSAhPSBtX2xhc3RWaWV3cG9ydFNpemUgfHwg
Y3VycmVudFpvb21GYWN0b3IgIT0gbV9sYXN0Wm9vbUZhY3Rvcik7CisgICAgICAgIG1fbGFzdFZp
ZXdwb3J0U2l6ZSA9IGN1cnJlbnRTaXplOwogICAgICAgICBtX2xhc3Rab29tRmFjdG9yID0gY3Vy
cmVudFpvb21GYWN0b3I7CiAgICAgICAgIGlmIChyZXNpemVkKSB7CiAgICAgICAgICAgICBtX2Zy
YW1lLT5ldmVudEhhbmRsZXIoKS0+c2VuZFJlc2l6ZUV2ZW50KCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuaAppbmRleCBiNDA2OTY2Li41N2RiMzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAg
LTQ0NCw3ICs0NDQsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9maXJzdExheW91dDsKICAgICBi
b29sIG1faXNUcmFuc3BhcmVudDsKICAgICBDb2xvciBtX2Jhc2VCYWNrZ3JvdW5kQ29sb3I7Ci0g
ICAgTGF5b3V0U2l6ZSBtX2xhc3RMYXlvdXRTaXplOworICAgIEludFNpemUgbV9sYXN0Vmlld3Bv
cnRTaXplOwogICAgIGZsb2F0IG1fbGFzdFpvb21GYWN0b3I7CiAKICAgICBTdHJpbmcgbV9tZWRp
YVR5cGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130800</attachid>
            <date>2012-03-08 03:20:53 -0800</date>
            <delta_ts>2012-03-08 03:31:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80242-20120308122051.patch</filename>
            <type>text/plain</type>
            <size>10060</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzVjYjhkYWVjMjViNDA2
OTZhZDA2YTEyNGI0NTYxZjM5YzQ4YzMyNy4uZTM4ZDE5MjdjNjg1YTU3OGYwZjlmM2Q5NWMwNDky
MzZjZTEyM2JmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAzLTA4ICBBbGxh
biBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgorCisgICAgICAgIFJF
R1JFU1NJT04ocjEwNjIzMik6IFRoZSByZXNpemUgaGFuZGxlciBpcyBhbHdheXMgY2FsbGVkIGFm
dGVyIGxvYWRpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04MDI0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEluc3RlYWQgb2YgdXNpbmcgdGhlIGxheW91dCBzaXplLCB1c2UgdGhlIHdpZGdldCBzaXpl
IHdoaWNoIGluY2x1ZGVzIGFueSBzY3JvbGxiYXJzCisgICAgICAgIHRvIGp1ZGdlIGlmIGEgcmVz
aXplIGV2ZW50cyBzaG91bGQgYmUgZW1pdHRlZC4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50
cy9yZXNpemUtZXZlbnRzLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAg
ICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cmVz
ZXQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpsYXlvdXQpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVWaWV3OjpwZXJmb3JtUG9zdExheW91dFRhc2tzKToKKyAgICAgICAgKiBwYWdl
L0ZyYW1lVmlldy5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6d2lkZ2V0U2l6ZSk6CisgICAgICAgICogcGxhdGZvcm0v
U2Nyb2xsVmlldy5oOgorCiAyMDEyLTAzLTA4ICBSb2JpbiBDYW8gIDxyb2Jpbi5jYW9AdG9yY2ht
b2JpbGUuY29tLmNuPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBVcHN0cmVhbSBHcmFwaGljc0xh
eWVyQmxhY2tCZXJyeS57aCwgY3BwfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA5YjViYTkyMTdl
ZjEwMzA2MjFlMzU5N2VkZWVlYjQ4MDM5ODQxYmZjLi40MmMwMjQ1Y2ZkYjYyZTU5ZDc5YjNhNDA2
MjdiMTc0NTQyZWQ0MjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTE1NCw2ICsxMTU0LDcg
QEAgX19aTks3V2ViQ29yZTEwUmVuZGVyVGV4dDE2bGluZXNCb3VuZGluZ0JveEV2CiBfX1pOSzdX
ZWJDb3JlMTBSZW5kZXJUZXh0OWZpcnN0UnVuWEV2CiBfX1pOSzdXZWJDb3JlMTBSZW5kZXJUZXh0
OWZpcnN0UnVuWUV2CiBfX1pOSzdXZWJDb3JlMTBSZW5kZXJWaWV3MTJkb2N1bWVudFJlY3RFdgor
X19aTks3V2ViQ29yZTEwU2Nyb2xsVmlldzEwd2lkZ2V0U2l6ZUV2CiBfX1pOSzdXZWJDb3JlMTBT
Y3JvbGxWaWV3MTJjb250ZW50c1NpemVFdgogX19aTks3V2ViQ29yZTEwU2Nyb2xsVmlldzEyZG9j
dW1lbnRWaWV3RXYKIF9fWk5LN1dlYkNvcmUxMFNjcm9sbFZpZXcxNHNjcm9sbGJhck1vZGVzRVJO
U18xM1Njcm9sbGJhck1vZGVFUzJfCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggOTM3
NzI1MzRmZDdmN2U4Y2M4YTgxNzhiNGMwOTJmZGQ5MjU4NWJlNy4uZWY2YWYyNmJkMjg2NmIwODgz
YWI5MTY2NjA2ZWY4ZjFkYjc3MDMxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAt
MjI3LDcgKzIyNyw3IEBAIHZvaWQgRnJhbWVWaWV3OjpyZXNldCgpCiAgICAgbV9maXJzdExheW91
dCA9IHRydWU7CiAgICAgbV9maXJzdExheW91dENhbGxiYWNrUGVuZGluZyA9IGZhbHNlOwogICAg
IG1fd2FzU2Nyb2xsZWRCeVVzZXIgPSBmYWxzZTsKLSAgICBtX2xhc3RMYXlvdXRTaXplID0gTGF5
b3V0U2l6ZSgpOworICAgIG1fbGFzdFdpZGdldFNpemUgPSBJbnRTaXplKCk7CiAgICAgbV9sYXN0
Wm9vbUZhY3RvciA9IDEuMGY7CiAgICAgbV9kZWZlcnJpbmdSZXBhaW50cyA9IDA7CiAgICAgbV9y
ZXBhaW50Q291bnQgPSAwOwpAQCAtMTA0Myw3ICsxMDQzLDcgQEAgdm9pZCBGcmFtZVZpZXc6Omxh
eW91dChib29sIGFsbG93U3VidHJlZSkKIAogICAgICAgICAgICAgICAgICAgICBtX2ZpcnN0TGF5
b3V0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgIG1fZmlyc3RMYXlvdXRDYWxsYmFja1Bl
bmRpbmcgPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICBtX2xhc3RMYXlvdXRTaXplID0gTGF5
b3V0U2l6ZShsYXlvdXRXaWR0aCgpLCBsYXlvdXRIZWlnaHQoKSk7CisgICAgICAgICAgICAgICAg
ICAgIG1fbGFzdFdpZGdldFNpemUgPSB3aWRnZXRTaXplKCk7CiAgICAgICAgICAgICAgICAgICAg
IG1fbGFzdFpvb21GYWN0b3IgPSByb290LT5zdHlsZSgpLT56b29tKCk7CiAKICAgICAgICAgICAg
ICAgICAgICAgLy8gU2V0IHRoZSBpbml0aWFsIHZNb2RlIHRvIEFsd2F5c09uIGlmIHdlJ3JlIGF1
dG8uCkBAIC0yMzI4LDEwICsyMzI4LDEzIEBAIHZvaWQgRnJhbWVWaWV3OjpwZXJmb3JtUG9zdExh
eW91dFRhc2tzKCkKICAgICBtX2FjdGlvblNjaGVkdWxlci0+cmVzdW1lKCk7CiAKICAgICBpZiAo
IXJvb3QtPnByaW50aW5nKCkpIHsKLSAgICAgICAgTGF5b3V0U2l6ZSBjdXJyZW50U2l6ZSA9IExh
eW91dFNpemUobGF5b3V0V2lkdGgoKSwgbGF5b3V0SGVpZ2h0KCkpOworICAgICAgICAvLyBVc2lu
ZyB0aGUgd2lkZ2V0IHNpemUgaW5zdGVhZCBvZiBsYXlvdXQgc2l6ZSwgc28gcmVzaXplIGV2ZW50
cyBhcmUgbm90IGVtaXR0ZWQKKyAgICAgICAgLy8gd2hlbiBzY3JvbGxiYXJzIGFyZSBhZGRlZCBv
ciByZW1vdmVkLiBUaGlzIG1hdGNoZXMgb3RoZXIgYnJvd3NlcnMuCisgICAgICAgIC8vIFNlZSBo
dHRwOi8vd2Via2l0Lm9yZy9iLzgwMjQyCisgICAgICAgIEludFNpemUgY3VycmVudFNpemUgPSB3
aWRnZXRTaXplKCk7CiAgICAgICAgIGZsb2F0IGN1cnJlbnRab29tRmFjdG9yID0gcm9vdC0+c3R5
bGUoKS0+em9vbSgpOwotICAgICAgICBib29sIHJlc2l6ZWQgPSAhbV9maXJzdExheW91dCAmJiAo
Y3VycmVudFNpemUgIT0gbV9sYXN0TGF5b3V0U2l6ZSB8fCBjdXJyZW50Wm9vbUZhY3RvciAhPSBt
X2xhc3Rab29tRmFjdG9yKTsKLSAgICAgICAgbV9sYXN0TGF5b3V0U2l6ZSA9IGN1cnJlbnRTaXpl
OworICAgICAgICBib29sIHJlc2l6ZWQgPSAhbV9maXJzdExheW91dCAmJiAoY3VycmVudFNpemUg
IT0gbV9sYXN0V2lkZ2V0U2l6ZSB8fCBjdXJyZW50Wm9vbUZhY3RvciAhPSBtX2xhc3Rab29tRmFj
dG9yKTsKKyAgICAgICAgbV9sYXN0V2lkZ2V0U2l6ZSA9IGN1cnJlbnRTaXplOwogICAgICAgICBt
X2xhc3Rab29tRmFjdG9yID0gY3VycmVudFpvb21GYWN0b3I7CiAgICAgICAgIGlmIChyZXNpemVk
KSB7CiAgICAgICAgICAgICBtX2ZyYW1lLT5ldmVudEhhbmRsZXIoKS0+c2VuZFJlc2l6ZUV2ZW50
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCBiNDA2OTY2NzQxZThkNWRiM2U0NDdlMjI4
MzkxZTM5NDU1ZWNhMGFlLi5iNGQ2ZWEyOTY1NjE5YWZkMTJlMzgxYzQ1NTJhNGNjOWEzNWU0MmRm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTQ0NCw3ICs0NDQsNyBAQCBwcml2YXRlOgog
ICAgIGJvb2wgbV9maXJzdExheW91dDsKICAgICBib29sIG1faXNUcmFuc3BhcmVudDsKICAgICBD
b2xvciBtX2Jhc2VCYWNrZ3JvdW5kQ29sb3I7Ci0gICAgTGF5b3V0U2l6ZSBtX2xhc3RMYXlvdXRT
aXplOworICAgIEludFNpemUgbV9sYXN0V2lkZ2V0U2l6ZTsKICAgICBmbG9hdCBtX2xhc3Rab29t
RmFjdG9yOwogCiAgICAgU3RyaW5nIG1fbWVkaWFUeXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxWaWV3LmNwcAppbmRleCBiNzdkOWNhOWU4YWRhZmY5OTYxNDQwOGZiNzZjZDEwZjE0NTcx
MGY1Li5iNDJhYzU0YmFjMjY1YjNhNzZhMTYzYWVkOTU1M2VhNmU0YWFmMjFhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcApAQCAtMjUyLDYgKzI1MiwxMSBAQCBJbnRSZWN0
IFNjcm9sbFZpZXc6OnZpc2libGVDb250ZW50UmVjdChib29sIGluY2x1ZGVTY3JvbGxiYXJzKSBj
b25zdAogfQogI2VuZGlmCiAKK0ludFNpemUgU2Nyb2xsVmlldzo6d2lkZ2V0U2l6ZSgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fZml4ZWRMYXlvdXRTaXplLmlzRW1wdHkoKSB8fCAhbV91c2VGaXhl
ZExheW91dCA/IEludFNpemUod2lkdGgoKSwgaGVpZ2h0KCkpIDogbV9maXhlZExheW91dFNpemU7
Cit9CisKIGludCBTY3JvbGxWaWV3OjpsYXlvdXRXaWR0aCgpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IG1fZml4ZWRMYXlvdXRTaXplLmlzRW1wdHkoKSB8fCAhbV91c2VGaXhlZExheW91dCA/IHZpc2li
bGVXaWR0aCgpIDogbV9maXhlZExheW91dFNpemUud2lkdGgoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbFZpZXcuaAppbmRleCA0YzFiNWRlNWNkNjA5NmExZTc5NWNmMmM4MjJjMjRlN2NjYWEz
NWM1Li41MmJhYzRkMGM2NTU4MTkwNDE3YTlmYTg2ZGYxZWNhZDAzOGUyZWFlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCkBAIC0xNTYsNiArMTU2LDEwIEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldEZpeGVkTGF5b3V0U2l6ZShjb25zdCBJbnRTaXplJik7CiAgICAgYm9vbCB1c2VG
aXhlZExheW91dCgpIGNvbnN0OwogICAgIHZvaWQgc2V0VXNlRml4ZWRMYXlvdXQoYm9vbCBlbmFi
bGUpOworCisgICAgLy8gVGhlIHdpZGdldCBzaXplIGlzIGJ5IGRlZmF1bHQgdGhlIHNhbWUgYXMg
dGhlIHNpemUgb2YgdmlzaWJsZSBjb250ZW50IHJlY3QgaW5jbHVkaW5nIHNjcm9sbGJhcnMuCisg
ICAgLy8gV2hlbiBmaXhlZCBsYXlvdXQtc2l6ZSBpcyB1c2VkLCB0aGUgZml4ZWQgbGF5b3V0LXNp
emUgaXMgcmV0dXJuZWQgaW5zdGVhZC4KKyAgICBJbnRTaXplIHdpZGdldFNpemUoKSBjb25zdDsK
ICAgICAKICAgICAvLyBGdW5jdGlvbnMgZm9yIGdldHRpbmcvc2V0dGluZyB0aGUgc2l6ZSBvZiB0
aGUgZG9jdW1lbnQgY29udGFpbmVkIGluc2lkZSB0aGUgU2Nyb2xsVmlldyAoYXMgYW4gSW50U2l6
ZSBvciBhcyBpbmRpdmlkdWFsIHdpZHRoIGFuZCBoZWlnaHQKICAgICAvLyB2YWx1ZXMpLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDdkYmM3MWNkNjY2MTg4MjgzNWZhYTU4ZDY5NDUwMzNlNjVhN2JmMGIuLjBjYTk3YjZjNmE3
YTQ2NmE0ZmYwODA2ODFhYjcwMzBhYjJkNGVkNGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAx
Mi0wMy0wOCAgQWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVuc2VuQG5va2lhLmNvbT4K
KworICAgICAgICBSRUdSRVNTSU9OKHIxMDYyMzIpOiBUaGUgcmVzaXplIGhhbmRsZXIgaXMgYWx3
YXlzIGNhbGxlZCBhZnRlciBsb2FkaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODAyNDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUZXN0cyB0aGF0IG5vIHJlc2l6ZSBldmVudHMgYXJlIGVtaXR0ZWQg
ZHVyaW5nIHBhZ2UgY3JlYXRpb24sCisgICAgICAgIGV2ZW4gaWYgdGhlIHBhZ2Ugb3ZlcmZsb3dz
IGFuZCBhZGRzIGEgc2Nyb2xsYmFyLgorCisgICAgICAgICogZmFzdC9ldmVudHMvcmVzaXplLWV2
ZW50cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3Jlc2l6ZS1l
dmVudHMuaHRtbDogQWRkZWQuCisKIDIwMTItMDMtMDggIFlvc2hpZnVtaSBJbm91ZSAgPHlvc2lu
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbRm9ybXNdIFJlLW9yZ2FuaXplIHRlc3QgZmlsZXMg
b2YgbGFiZWwgZWxlbWVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVz
aXplLWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNpemUt
ZXZlbnRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NDA1OGI5Njk5MWVkZDE5ZWMzMWI2MGYz
YTQ1OGYxZDQwYWVhNmU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvcmVzaXplLWV2ZW50cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCits
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDAp
IHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4
MgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4NzkKKyAgICAgICAg
UmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3ODR4NDIKKyAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3NzJ4NDIKKyAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDY1MjogIlRlc3QgaG93IG1hbnkgcmVzaXplIGV2ZW50cyBhcmUg
ZW1pdHRlZCBkdXJpbmcgcGFnZSBsb2FkIGFuZCBkeW5hbWljIGNvbnRlbnQgZ2VuZXJhdGlvbi4g
IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDY1MiwwKSB3aWR0aCAxMjA6ICJEbyBub3QgcmVz
aXplIHRoZSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIxKSB3aWR0aCAxOTI6ICJwYWdl
LiBJdCBpbnZhbGlkYXRlcyB0aGUgdGVzdC4iCisgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAo
MCw1OCkgc2l6ZSA3ODR4MjEKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEwLDAp
IHNpemUgMjA2eDIxCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTAsMCkgd2lkdGggMjA2OiAi
UmVzaXplIGV2ZW50cyAoc2hvdWxkIGJlIDApOiAiCisgICAgICAgICAgUmVuZGVySW5saW5lIHtT
UEFOfSBhdCAoMCwwKSBzaXplIDl4MjEKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMjE2LDApIHNpemUgOXgyMQorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjE2LDApIHdp
ZHRoIDk6ICIwIgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4
MAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsOTUpIHNpemUgNzg0eDQwMgorICAgICAg
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMTAsMCkgc2l6ZSA3NjR4NDAyIFtib3JkZXI6ICgxcHgg
c29saWQgIzAwMDAwMCldCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNp
emUtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNpemUtZXZlbnRzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZmJmNWMyZTA0Y2Y1YzYxMDAwNzMyODFlMDdmNWViZGJiNWViZjNmZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc2l6ZS1ldmVudHMu
aHRtbApAQCAtMCwwICsxLDU0IEBACis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAg
ICAgZGl2LmJsb2NrIHsgaGVpZ2h0OiA0MDBweDsgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7IG1h
cmdpbjoxMHB4OyB9CisgICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0PgorICAgICAgICB2YXIgcmVz
aXplY291bnQgPSAwOworICAgICAgICB2YXIgbG9hZGVkID0gZmFsc2U7CisgICAgICAgIHdpbmRv
dy5vbnJlc2l6ZSA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgcmVzaXplY291bnQrKzsKKyAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb3VudDEnKS5pbm5lckhUTUwgPSBy
ZXNpemVjb3VudDsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cisg
ICAgPGRpdj4KKyAgICAgICAgVGVzdCBob3cgbWFueSByZXNpemUgZXZlbnRzIGFyZSBlbWl0dGVk
IGR1cmluZyBwYWdlIGxvYWQgYW5kIGR5bmFtaWMgY29udGVudCBnZW5lcmF0aW9uLgorCisgICAg
ICAgIERvIG5vdCByZXNpemUgdGhlIHBhZ2UuIEl0IGludmFsaWRhdGVzIHRoZSB0ZXN0LgorICAg
ICAgICA8cCBzdHlsZT0idGV4dC1pbmRlbnQ6IDEwcHgiIGlkPXJlc3VsdDE+CisgICAgICAgIFJl
c2l6ZSBldmVudHMgKHNob3VsZCBiZSAwKTogPHNwYW4gaWQ9Y291bnQxPjA8L3NwYW4+CisgICAg
PC9kaXY+CisgICAgPGRpdiBpZD1leHBhbmRpbmdibG9jaz4KKyAgICA8L2Rpdj4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIH0KKwor
ICAgICAgICB2YXIgYmxvY2tjb3VudCA9IDA7CisgICAgICAgIGZ1bmN0aW9uIGFkZEJsb2NrKCkg
eworICAgICAgICAgICAgdmFyIGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Cisg
ICAgICAgICAgICBlbC5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywnYmxvY2snKTsKKyAgICAgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdleHBhbmRpbmdibG9jaycpLmFwcGVuZENoaWxkKGVs
KTsKKyAgICAgICAgICAgIGlmICgrK2Jsb2NrY291bnQgPCAxMCkKKyAgICAgICAgICAgICAgICBz
ZXRUaW1lb3V0KGFkZEJsb2NrLCAyMCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAg
ICAgZmluaXNoKCk7CisgICAgICAgIH0KKyAgICAgICAgZnVuY3Rpb24gZmluaXNoKCkgeworICAg
ICAgICAgICAgdmFyIHJlc3VsdDsKKyAgICAgICAgICAgIC8vIE5vIHJlc2l6ZSBldmVudHMgYXJl
IGFjY2VwdGFibGUuCisgICAgICAgICAgICBpZiAocmVzaXplY291bnQgPCAxKQorICAgICAgICAg
ICAgICAgIHJlc3VsdCA9ICc8cCBzdHlsZT0iY29sb3I6IGdyZWVuIj5QQVNTJzsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXN1bHQgPSAnPHAgc3R5bGU9ImNvbG9yOiByZWQi
PkZBSUwnOworICAgICAgICAgICAgdmFyIHJlc3VsdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgncmVzdWx0MScpCisgICAgICAgICAgICByZXN1bHRFbGVtZW50LmlubmVySFRNTCAr
PSByZXN1bHQ7CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAg
ICAgfQorICAgICAgICBvbmxvYWQgPSBhZGRCbG9jazsKKyAgICA8L3NjcmlwdD4KKzwvYm9keT4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130802</attachid>
            <date>2012-03-08 03:31:58 -0800</date>
            <delta_ts>2012-03-14 08:20:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Patch2</filename>
            <type>text/plain</type>
            <size>10426</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3ZGJjNzFjLi4wY2E5N2I2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDMt
MDggIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBub2tpYS5jb20+CisKKyAg
ICAgICAgUkVHUkVTU0lPTihyMTA2MjMyKTogVGhlIHJlc2l6ZSBoYW5kbGVyIGlzIGFsd2F5cyBj
YWxsZWQgYWZ0ZXIgbG9hZGluZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgwMjQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGVzdHMgdGhhdCBubyByZXNpemUgZXZlbnRzIGFyZSBlbWl0dGVkIGR1cmlu
ZyBwYWdlIGNyZWF0aW9uLAorICAgICAgICBldmVuIGlmIHRoZSBwYWdlIG92ZXJmbG93cyBhbmQg
YWRkcyBhIHNjcm9sbGJhci4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL3Jlc2l6ZS1ldmVudHMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9yZXNpemUtZXZlbnRz
Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTAzLTA4ICBZb3NoaWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgW0Zvcm1zXSBSZS1vcmdhbml6ZSB0ZXN0IGZpbGVzIG9mIGxh
YmVsIGVsZW1lbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc2l6ZS1l
dmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzaXplLWV2ZW50
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmFlZjEx
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc2l6ZS1ldmVu
dHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzMgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgNzg0
eDQyNjAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NHg2MDAKK2xheWVyIGF0ICgwLDAp
IHNpemUgNzg0eDQyNjAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg0eDQy
NjAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OHg0MjQyCisgICAgICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDc2OHgxMTYKKyAgICAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3Njh4NDIKKyAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3NDZ4NDIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDY1MjogIlRlc3QgaG93IG1hbnkgcmVzaXplIGV2ZW50cyBhcmUgZW1pdHRlZCBk
dXJpbmcgcGFnZSBsb2FkIGFuZCBkeW5hbWljIGNvbnRlbnQgZ2VuZXJhdGlvbi4gIgorICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDY1MiwwKSB3aWR0aCA5NDogIkRvIG5vdCByZXNpemUiCisgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyMSkgd2lkdGggMjE4OiAidGhlIHBhZ2UuIEl0IGludmFs
aWRhdGVzIHRoZSB0ZXN0LiIKKyAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDU4KSBzaXpl
IDc2OHg1OAorICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUg
NzY4eDIxCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEwLDApIHNpemUgMjA2
eDIxCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMCwwKSB3aWR0aCAyMDY6ICJSZXNpemUg
ZXZlbnRzIChzaG91bGQgYmUgMCk6ICIKKyAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0g
YXQgKDAsMCkgc2l6ZSA5eDIxCisgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MjE2LDApIHNpemUgOXgyMQorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMTYsMCkgd2lk
dGggOTogIjAiCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAw
eDAKKyAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMzcpIHNpemUgNzY4eDIxIFtjb2xv
cj0jMDA4MDAwXQorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMCwwKSBzaXpl
IDQ0eDIxCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMCwwKSB3aWR0aCA0NDogIlBBU1Mi
CisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwxMzIpIHNpemUgNzY4eDQxMTAKKyAgICAg
ICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEwLDApIHNpemUgNzQ4eDQwMiBbYm9yZGVyOiAoMXB4
IHNvbGlkICMwMDAwMDApXQorICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMTAsNDEyKSBz
aXplIDc0OHg0MDIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KKyAgICAgICAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDEwLDgyNCkgc2l6ZSA3NDh4NDAyIFtib3JkZXI6ICgxcHggc29saWQg
IzAwMDAwMCldCisgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMCwxMjM2KSBzaXplIDc0
OHg0MDIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KKyAgICAgICAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDEwLDE2NDgpIHNpemUgNzQ4eDQwMiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAw
MDApXQorICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMTAsMjA2MCkgc2l6ZSA3NDh4NDAy
IFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCisgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgxMCwyNDcyKSBzaXplIDc0OHg0MDIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0K
KyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEwLDI4ODQpIHNpemUgNzQ4eDQwMiBbYm9y
ZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MTAsMzI5Nikgc2l6ZSA3NDh4NDAyIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCisgICAg
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMCwzNzA4KSBzaXplIDc0OHg0MDIgW2JvcmRlcjog
KDFweCBzb2xpZCAjMDAwMDAwKV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3Jlc2l6ZS1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc2l6ZS1ldmVu
dHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYmY1YzJlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzaXplLWV2ZW50cy5odG1s
CkBAIC0wLDAgKzEsNTQgQEAKKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICBk
aXYuYmxvY2sgeyBoZWlnaHQ6IDQwMHB4OyBib3JkZXI6IDFweCBzb2xpZCBibGFjazsgbWFyZ2lu
OjEwcHg7IH0KKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQ+CisgICAgICAgIHZhciByZXNpemVj
b3VudCA9IDA7CisgICAgICAgIHZhciBsb2FkZWQgPSBmYWxzZTsKKyAgICAgICAgd2luZG93Lm9u
cmVzaXplID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICByZXNpemVjb3VudCsrOworICAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvdW50MScpLmlubmVySFRNTCA9IHJlc2l6
ZWNvdW50OworICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8
ZGl2PgorICAgICAgICBUZXN0IGhvdyBtYW55IHJlc2l6ZSBldmVudHMgYXJlIGVtaXR0ZWQgZHVy
aW5nIHBhZ2UgbG9hZCBhbmQgZHluYW1pYyBjb250ZW50IGdlbmVyYXRpb24uCisKKyAgICAgICAg
RG8gbm90IHJlc2l6ZSB0aGUgcGFnZS4gSXQgaW52YWxpZGF0ZXMgdGhlIHRlc3QuCisgICAgICAg
IDxwIHN0eWxlPSJ0ZXh0LWluZGVudDogMTBweCIgaWQ9cmVzdWx0MT4KKyAgICAgICAgUmVzaXpl
IGV2ZW50cyAoc2hvdWxkIGJlIDApOiA8c3BhbiBpZD1jb3VudDE+MDwvc3Bhbj4KKyAgICA8L2Rp
dj4KKyAgICA8ZGl2IGlkPWV4cGFuZGluZ2Jsb2NrPgorICAgIDwvZGl2PgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgfQorCisgICAg
ICAgIHZhciBibG9ja2NvdW50ID0gMDsKKyAgICAgICAgZnVuY3Rpb24gYWRkQmxvY2soKSB7Cisg
ICAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAg
ICAgICAgIGVsLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCdibG9jaycpOworICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V4cGFuZGluZ2Jsb2NrJykuYXBwZW5kQ2hpbGQoZWwpOwor
ICAgICAgICAgICAgaWYgKCsrYmxvY2tjb3VudCA8IDEwKQorICAgICAgICAgICAgICAgIHNldFRp
bWVvdXQoYWRkQmxvY2ssIDIwKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBm
aW5pc2goKTsKKyAgICAgICAgfQorICAgICAgICBmdW5jdGlvbiBmaW5pc2goKSB7CisgICAgICAg
ICAgICB2YXIgcmVzdWx0OworICAgICAgICAgICAgLy8gTm8gcmVzaXplIGV2ZW50cyBhcmUgYWNj
ZXB0YWJsZS4KKyAgICAgICAgICAgIGlmIChyZXNpemVjb3VudCA8IDEpCisgICAgICAgICAgICAg
ICAgcmVzdWx0ID0gJzxwIHN0eWxlPSJjb2xvcjogZ3JlZW4iPlBBU1MnOworICAgICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgICAgIHJlc3VsdCA9ICc8cCBzdHlsZT0iY29sb3I6IHJlZCI+RkFJ
TCc7CisgICAgICAgICAgICB2YXIgcmVzdWx0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdyZXN1bHQxJykKKyAgICAgICAgICAgIHJlc3VsdEVsZW1lbnQuaW5uZXJIVE1MICs9IHJl
c3VsdDsKKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAg
ICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9
CisgICAgICAgIG9ubG9hZCA9IGFkZEJsb2NrOworICAgIDwvc2NyaXB0PgorPC9ib2R5PgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3NWNiOGRhLi5lMzhkMTkyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTItMDMtMDggIEFsbGFuIFNhbmRmZWxkIEpl
bnNlbiAgPGFsbGFuLmplbnNlbkBub2tpYS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMTA2
MjMyKTogVGhlIHJlc2l6ZSBoYW5kbGVyIGlzIGFsd2F5cyBjYWxsZWQgYWZ0ZXIgbG9hZGluZy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMjQyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5zdGVhZCBv
ZiB1c2luZyB0aGUgbGF5b3V0IHNpemUsIHVzZSB0aGUgd2lkZ2V0IHNpemUgd2hpY2ggaW5jbHVk
ZXMgYW55IHNjcm9sbGJhcnMKKyAgICAgICAgdG8ganVkZ2UgaWYgYSByZXNpemUgZXZlbnRzIHNo
b3VsZCBiZSBlbWl0dGVkLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL3Jlc2l6ZS1ldmVu
dHMuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogcGFnZS9GcmFt
ZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpyZXNldCk6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OmxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OnBlcmZvcm1Qb3N0TGF5b3V0VGFza3MpOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6
CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxWaWV3Ojp3aWRnZXRTaXplKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3Lmg6
CisKIDIwMTItMDMtMDggIFJvYmluIENhbyAgPHJvYmluLmNhb0B0b3JjaG1vYmlsZS5jb20uY24+
CiAKICAgICAgICAgW0JsYWNrQmVycnldIFVwc3RyZWFtIEdyYXBoaWNzTGF5ZXJCbGFja0JlcnJ5
LntoLCBjcHB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDliNWJhOTIuLjQyYzAyNDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCkBAIC0xMTU0LDYgKzExNTQsNyBAQCBfX1pOSzdXZWJDb3JlMTBSZW5k
ZXJUZXh0MTZsaW5lc0JvdW5kaW5nQm94RXYKIF9fWk5LN1dlYkNvcmUxMFJlbmRlclRleHQ5Zmly
c3RSdW5YRXYKIF9fWk5LN1dlYkNvcmUxMFJlbmRlclRleHQ5Zmlyc3RSdW5ZRXYKIF9fWk5LN1dl
YkNvcmUxMFJlbmRlclZpZXcxMmRvY3VtZW50UmVjdEV2CitfX1pOSzdXZWJDb3JlMTBTY3JvbGxW
aWV3MTB3aWRnZXRTaXplRXYKIF9fWk5LN1dlYkNvcmUxMFNjcm9sbFZpZXcxMmNvbnRlbnRzU2l6
ZUV2CiBfX1pOSzdXZWJDb3JlMTBTY3JvbGxWaWV3MTJkb2N1bWVudFZpZXdFdgogX19aTks3V2Vi
Q29yZTEwU2Nyb2xsVmlldzE0c2Nyb2xsYmFyTW9kZXNFUk5TXzEzU2Nyb2xsYmFyTW9kZUVTMl8K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA5Mzc3MjUzLi5lZjZhZjI2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0yMjcsNyArMjI3LDcgQEAgdm9pZCBGcmFtZVZpZXc6
OnJlc2V0KCkKICAgICBtX2ZpcnN0TGF5b3V0ID0gdHJ1ZTsKICAgICBtX2ZpcnN0TGF5b3V0Q2Fs
bGJhY2tQZW5kaW5nID0gZmFsc2U7CiAgICAgbV93YXNTY3JvbGxlZEJ5VXNlciA9IGZhbHNlOwot
ICAgIG1fbGFzdExheW91dFNpemUgPSBMYXlvdXRTaXplKCk7CisgICAgbV9sYXN0V2lkZ2V0U2l6
ZSA9IEludFNpemUoKTsKICAgICBtX2xhc3Rab29tRmFjdG9yID0gMS4wZjsKICAgICBtX2RlZmVy
cmluZ1JlcGFpbnRzID0gMDsKICAgICBtX3JlcGFpbnRDb3VudCA9IDA7CkBAIC0xMDQzLDcgKzEw
NDMsNyBAQCB2b2lkIEZyYW1lVmlldzo6bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlKQogCiAgICAg
ICAgICAgICAgICAgICAgIG1fZmlyc3RMYXlvdXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAg
ICAgbV9maXJzdExheW91dENhbGxiYWNrUGVuZGluZyA9IHRydWU7Ci0gICAgICAgICAgICAgICAg
ICAgIG1fbGFzdExheW91dFNpemUgPSBMYXlvdXRTaXplKGxheW91dFdpZHRoKCksIGxheW91dEhl
aWdodCgpKTsKKyAgICAgICAgICAgICAgICAgICAgbV9sYXN0V2lkZ2V0U2l6ZSA9IHdpZGdldFNp
emUoKTsKICAgICAgICAgICAgICAgICAgICAgbV9sYXN0Wm9vbUZhY3RvciA9IHJvb3QtPnN0eWxl
KCktPnpvb20oKTsKIAogICAgICAgICAgICAgICAgICAgICAvLyBTZXQgdGhlIGluaXRpYWwgdk1v
ZGUgdG8gQWx3YXlzT24gaWYgd2UncmUgYXV0by4KQEAgLTIzMjgsMTAgKzIzMjgsMTMgQEAgdm9p
ZCBGcmFtZVZpZXc6OnBlcmZvcm1Qb3N0TGF5b3V0VGFza3MoKQogICAgIG1fYWN0aW9uU2NoZWR1
bGVyLT5yZXN1bWUoKTsKIAogICAgIGlmICghcm9vdC0+cHJpbnRpbmcoKSkgewotICAgICAgICBM
YXlvdXRTaXplIGN1cnJlbnRTaXplID0gTGF5b3V0U2l6ZShsYXlvdXRXaWR0aCgpLCBsYXlvdXRI
ZWlnaHQoKSk7CisgICAgICAgIC8vIFVzaW5nIHRoZSB3aWRnZXQgc2l6ZSBpbnN0ZWFkIG9mIGxh
eW91dCBzaXplLCBzbyByZXNpemUgZXZlbnRzIGFyZSBub3QgZW1pdHRlZAorICAgICAgICAvLyB3
aGVuIHNjcm9sbGJhcnMgYXJlIGFkZGVkIG9yIHJlbW92ZWQuIFRoaXMgbWF0Y2hlcyBvdGhlciBi
cm93c2Vycy4KKyAgICAgICAgLy8gU2VlIGh0dHA6Ly93ZWJraXQub3JnL2IvODAyNDIKKyAgICAg
ICAgSW50U2l6ZSBjdXJyZW50U2l6ZSA9IHdpZGdldFNpemUoKTsKICAgICAgICAgZmxvYXQgY3Vy
cmVudFpvb21GYWN0b3IgPSByb290LT5zdHlsZSgpLT56b29tKCk7Ci0gICAgICAgIGJvb2wgcmVz
aXplZCA9ICFtX2ZpcnN0TGF5b3V0ICYmIChjdXJyZW50U2l6ZSAhPSBtX2xhc3RMYXlvdXRTaXpl
IHx8IGN1cnJlbnRab29tRmFjdG9yICE9IG1fbGFzdFpvb21GYWN0b3IpOwotICAgICAgICBtX2xh
c3RMYXlvdXRTaXplID0gY3VycmVudFNpemU7CisgICAgICAgIGJvb2wgcmVzaXplZCA9ICFtX2Zp
cnN0TGF5b3V0ICYmIChjdXJyZW50U2l6ZSAhPSBtX2xhc3RXaWRnZXRTaXplIHx8IGN1cnJlbnRa
b29tRmFjdG9yICE9IG1fbGFzdFpvb21GYWN0b3IpOworICAgICAgICBtX2xhc3RXaWRnZXRTaXpl
ID0gY3VycmVudFNpemU7CiAgICAgICAgIG1fbGFzdFpvb21GYWN0b3IgPSBjdXJyZW50Wm9vbUZh
Y3RvcjsKICAgICAgICAgaWYgKHJlc2l6ZWQpIHsKICAgICAgICAgICAgIG1fZnJhbWUtPmV2ZW50
SGFuZGxlcigpLT5zZW5kUmVzaXplRXZlbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4
IGI0MDY5NjYuLmI0ZDZlYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtNDQ0LDcgKzQ0
NCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2ZpcnN0TGF5b3V0OwogICAgIGJvb2wgbV9pc1Ry
YW5zcGFyZW50OwogICAgIENvbG9yIG1fYmFzZUJhY2tncm91bmRDb2xvcjsKLSAgICBMYXlvdXRT
aXplIG1fbGFzdExheW91dFNpemU7CisgICAgSW50U2l6ZSBtX2xhc3RXaWRnZXRTaXplOwogICAg
IGZsb2F0IG1fbGFzdFpvb21GYWN0b3I7CiAKICAgICBTdHJpbmcgbV9tZWRpYVR5cGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCmluZGV4IGI3N2Q5Y2EuLmI0MmFjNTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCkBAIC0yNTIsNiArMjUyLDExIEBA
IEludFJlY3QgU2Nyb2xsVmlldzo6dmlzaWJsZUNvbnRlbnRSZWN0KGJvb2wgaW5jbHVkZVNjcm9s
bGJhcnMpIGNvbnN0CiB9CiAjZW5kaWYKIAorSW50U2l6ZSBTY3JvbGxWaWV3Ojp3aWRnZXRTaXpl
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9maXhlZExheW91dFNpemUuaXNFbXB0eSgpIHx8ICFt
X3VzZUZpeGVkTGF5b3V0ID8gSW50U2l6ZSh3aWR0aCgpLCBoZWlnaHQoKSkgOiBtX2ZpeGVkTGF5
b3V0U2l6ZTsKK30KKwogaW50IFNjcm9sbFZpZXc6OmxheW91dFdpZHRoKCkgY29uc3QKIHsKICAg
ICByZXR1cm4gbV9maXhlZExheW91dFNpemUuaXNFbXB0eSgpIHx8ICFtX3VzZUZpeGVkTGF5b3V0
ID8gdmlzaWJsZVdpZHRoKCkgOiBtX2ZpeGVkTGF5b3V0U2l6ZS53aWR0aCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsVmlldy5oCmluZGV4IDRjMWI1ZGUuLjUyYmFjNGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKQEAgLTE1Niw2ICsxNTYsMTAgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0Rml4ZWRMYXlvdXRTaXplKGNvbnN0IEludFNpemUmKTsKICAgICBib29sIHVzZUZp
eGVkTGF5b3V0KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRVc2VGaXhlZExheW91dChib29sIGVuYWJs
ZSk7CisKKyAgICAvLyBUaGUgd2lkZ2V0IHNpemUgaXMgYnkgZGVmYXVsdCB0aGUgc2FtZSBhcyB0
aGUgc2l6ZSBvZiB2aXNpYmxlIGNvbnRlbnQgcmVjdCBpbmNsdWRpbmcgc2Nyb2xsYmFycy4KKyAg
ICAvLyBXaGVuIGZpeGVkIGxheW91dC1zaXplIGlzIHVzZWQsIHRoZSBmaXhlZCBsYXlvdXQtc2l6
ZSBpcyByZXR1cm5lZCBpbnN0ZWFkLgorICAgIEludFNpemUgd2lkZ2V0U2l6ZSgpIGNvbnN0Owog
ICAgIAogICAgIC8vIEZ1bmN0aW9ucyBmb3IgZ2V0dGluZy9zZXR0aW5nIHRoZSBzaXplIG9mIHRo
ZSBkb2N1bWVudCBjb250YWluZWQgaW5zaWRlIHRoZSBTY3JvbGxWaWV3IChhcyBhbiBJbnRTaXpl
IG9yIGFzIGluZGl2aWR1YWwgd2lkdGggYW5kIGhlaWdodAogICAgIC8vIHZhbHVlcykuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131854</attachid>
            <date>2012-03-14 08:20:30 -0700</date>
            <delta_ts>2012-03-15 03:55:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80242-20120314162028.patch</filename>
            <type>text/plain</type>
            <size>11040</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDg1ZGJiZjExNWZhNzA1
OGUyNjc3N2VkMzZhMDJhZWI5ZTViY2EyYS4uNWRhODcyZmZiNzIwNWJkYzk5YjI5ZTFhMWRiZDli
MzFlZmEzMTg1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAzLTE0ICBBbGxh
biBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgorCisgICAgICAgIFJF
R1JFU1NJT04ocjEwNjIzMik6IFRoZSByZXNpemUgaGFuZGxlciBpcyBhbHdheXMgY2FsbGVkIGFm
dGVyIGxvYWRpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04MDI0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEluc3RlYWQgb2YgdXNpbmcgdGhlIGxheW91dCBzaXplIHRvIGp1ZGdlIGlmIGEgcmVzaXpl
IGV2ZW50cyBzaG91bGQgYmUgZW1pdHRlZCwKKyAgICAgICAgdXNlIHRoZSBsb2dpY2FsIGZyYW1l
IHNpemUgd2hpY2ggaW5jbHVkZXMgYW55IHNjcm9sbGJhcnMuCisKKyAgICAgICAgVGVzdDogZmFz
dC9ldmVudHMvcmVzaXplLWV2ZW50cy5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoK
KyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bGF5b3V0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cGVyZm9ybVBvc3RMYXlvdXRUYXNrcyk6CisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OmxvZ2ljYWxGcmFtZVJlY3QpOgorICAgICAg
ICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuaDoKKwogMjAxMi0wMy0xMyAgTHVrZSBNYWNwaGVyc29u
ICAgPG1hY3BoZXJzb25AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE1vdmUgb3BhY2l0eSBjbGFt
cGluZyBpbnRvIFJlbmRlclN0eWxlIHNldHRlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggODJl
MGVlMzhkZGNkM2FlNjQ0YzJkNWY1Mjk5ZWQwYjMzNWJmYzFkYS4uOTE1NTU3MTdmYjNiMzNhOTAx
OTY2NjY1ZjQ2OWQzZDczMTk1NTMzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTExNzYsNiAr
MTE3Niw3IEBAIF9fWk5LN1dlYkNvcmUxMFNjcm9sbFZpZXcxNHVzZUZpeGVkTGF5b3V0RXYKIF9f
Wk5LN1dlYkNvcmUxMFNjcm9sbFZpZXcxNWZpeGVkTGF5b3V0U2l6ZUV2CiBfX1pOSzdXZWJDb3Jl
MTBTY3JvbGxWaWV3MTZjb250ZW50c1RvV2luZG93RVJLTlNfN0ludFJlY3RFCiBfX1pOSzdXZWJD
b3JlMTBTY3JvbGxWaWV3MTZjb250ZW50c1RvV2luZG93RVJLTlNfOEludFBvaW50RQorX19aTks3
V2ViQ29yZTEwU2Nyb2xsVmlldzE2bG9naWNhbEZyYW1lUmVjdEV2CiBfX1pOSzdXZWJDb3JlMTBT
Y3JvbGxWaWV3MTZ3aW5kb3dUb0NvbnRlbnRzRVJLTlNfN0ludFJlY3RFCiBfX1pOSzdXZWJDb3Jl
MTBTY3JvbGxWaWV3MTZ3aW5kb3dUb0NvbnRlbnRzRVJLTlNfOEludFBvaW50RQogX19aTks3V2Vi
Q29yZTEwU2Nyb2xsVmlldzE4Y29udGVudHNUb1Jvb3RWaWV3RVJLTlNfN0ludFJlY3RFCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggNWVjYmNhMzYzNjFjNWQ5YjhjOGM0N2VlYTE0YWY2
MjVkZjAzNjJhYy4uNmFjMTQ4MWNhNzMxYzc5Nzc0ZDNmZWE2MDhmOTk0MWMzNzFmNTM0ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMjI3LDcgKzIyNyw3IEBAIHZvaWQgRnJhbWVW
aWV3OjpyZXNldCgpCiAgICAgbV9maXJzdExheW91dCA9IHRydWU7CiAgICAgbV9maXJzdExheW91
dENhbGxiYWNrUGVuZGluZyA9IGZhbHNlOwogICAgIG1fd2FzU2Nyb2xsZWRCeVVzZXIgPSBmYWxz
ZTsKLSAgICBtX2xhc3RMYXlvdXRTaXplID0gTGF5b3V0U2l6ZSgpOworICAgIG1fbGFzdFZpZXdT
aXplID0gSW50U2l6ZSgpOwogICAgIG1fbGFzdFpvb21GYWN0b3IgPSAxLjBmOwogICAgIG1fZGVm
ZXJyaW5nUmVwYWludHMgPSAwOwogICAgIG1fcmVwYWludENvdW50ID0gMDsKQEAgLTEwMTksNyAr
MTAxOSw3IEBAIHZvaWQgRnJhbWVWaWV3OjpsYXlvdXQoYm9vbCBhbGxvd1N1YnRyZWUpCiAKICAg
ICAgICAgICAgICAgICAgICAgbV9maXJzdExheW91dCA9IGZhbHNlOwogICAgICAgICAgICAgICAg
ICAgICBtX2ZpcnN0TGF5b3V0Q2FsbGJhY2tQZW5kaW5nID0gdHJ1ZTsKLSAgICAgICAgICAgICAg
ICAgICAgbV9sYXN0TGF5b3V0U2l6ZSA9IExheW91dFNpemUobGF5b3V0V2lkdGgoKSwgbGF5b3V0
SGVpZ2h0KCkpOworICAgICAgICAgICAgICAgICAgICBtX2xhc3RWaWV3U2l6ZSA9IGxvZ2ljYWxG
cmFtZVJlY3QoKS5zaXplKCk7CiAgICAgICAgICAgICAgICAgICAgIG1fbGFzdFpvb21GYWN0b3Ig
PSByb290LT5zdHlsZSgpLT56b29tKCk7CiAKICAgICAgICAgICAgICAgICAgICAgLy8gU2V0IHRo
ZSBpbml0aWFsIHZNb2RlIHRvIEFsd2F5c09uIGlmIHdlJ3JlIGF1dG8uCkBAIC0yMzA2LDEwICsy
MzA2LDExIEBAIHZvaWQgRnJhbWVWaWV3OjpwZXJmb3JtUG9zdExheW91dFRhc2tzKCkKICAgICBt
X2FjdGlvblNjaGVkdWxlci0+cmVzdW1lKCk7CiAKICAgICBpZiAoIXJvb3QtPnByaW50aW5nKCkp
IHsKLSAgICAgICAgTGF5b3V0U2l6ZSBjdXJyZW50U2l6ZSA9IExheW91dFNpemUobGF5b3V0V2lk
dGgoKSwgbGF5b3V0SGVpZ2h0KCkpOworICAgICAgICAvLyBET00gTGV2ZWwgMiBFdmVudHM6IFRo
ZSByZXNpemUgZXZlbnQgb2NjdXJzIHdoZW4gYSBkb2N1bWVudCB2aWV3IGlzIHJlc2l6ZWQuCisg
ICAgICAgIEludFNpemUgY3VycmVudFNpemUgPSBsb2dpY2FsRnJhbWVSZWN0KCkuc2l6ZSgpOwog
ICAgICAgICBmbG9hdCBjdXJyZW50Wm9vbUZhY3RvciA9IHJvb3QtPnN0eWxlKCktPnpvb20oKTsK
LSAgICAgICAgYm9vbCByZXNpemVkID0gIW1fZmlyc3RMYXlvdXQgJiYgKGN1cnJlbnRTaXplICE9
IG1fbGFzdExheW91dFNpemUgfHwgY3VycmVudFpvb21GYWN0b3IgIT0gbV9sYXN0Wm9vbUZhY3Rv
cik7Ci0gICAgICAgIG1fbGFzdExheW91dFNpemUgPSBjdXJyZW50U2l6ZTsKKyAgICAgICAgYm9v
bCByZXNpemVkID0gIW1fZmlyc3RMYXlvdXQgJiYgKGN1cnJlbnRTaXplICE9IG1fbGFzdFZpZXdT
aXplIHx8IGN1cnJlbnRab29tRmFjdG9yICE9IG1fbGFzdFpvb21GYWN0b3IpOworICAgICAgICBt
X2xhc3RWaWV3U2l6ZSA9IGN1cnJlbnRTaXplOwogICAgICAgICBtX2xhc3Rab29tRmFjdG9yID0g
Y3VycmVudFpvb21GYWN0b3I7CiAgICAgICAgIGlmIChyZXNpemVkKSB7CiAgICAgICAgICAgICBt
X2ZyYW1lLT5ldmVudEhhbmRsZXIoKS0+c2VuZFJlc2l6ZUV2ZW50KCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuaAppbmRleCAxZjkwYmMzYjgwYTYwMzg5ODE1YTgwOTEzNTMxY2NiZDBiNTcwNDQ2Li4y
NmFmMmEzOGUzMzQyMjg3MmY0NTgxM2Y2M2FkYTg4ZWRiOTY0Nzk5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmgKQEAgLTQ0NCw3ICs0NDQsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9maXJzdExh
eW91dDsKICAgICBib29sIG1faXNUcmFuc3BhcmVudDsKICAgICBDb2xvciBtX2Jhc2VCYWNrZ3Jv
dW5kQ29sb3I7Ci0gICAgTGF5b3V0U2l6ZSBtX2xhc3RMYXlvdXRTaXplOworICAgIEludFNpemUg
bV9sYXN0Vmlld1NpemU7CiAgICAgZmxvYXQgbV9sYXN0Wm9vbUZhY3RvcjsKIAogICAgIFN0cmlu
ZyBtX21lZGlhVHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bFZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKaW5kZXgg
NmFmMmFhNjk2MDRmYWU2ODcxM2MzOWU3MGQ2YWIxODQ2MTRmODQ5Ny4uNmFiMTc2ZmE3NmFkMWQ2
ODVjZmYwMDQ4YWU4ZmQ0YTQ3ODg2ZTE0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
Vmlldy5jcHAKQEAgLTI1Miw2ICsyNTIsMTEgQEAgSW50UmVjdCBTY3JvbGxWaWV3Ojp2aXNpYmxl
Q29udGVudFJlY3QoYm9vbCBpbmNsdWRlU2Nyb2xsYmFycykgY29uc3QKIH0KICNlbmRpZgogCitJ
bnRSZWN0IFNjcm9sbFZpZXc6OmxvZ2ljYWxGcmFtZVJlY3QoKSBjb25zdAoreworICAgIHJldHVy
biBtX2ZpeGVkTGF5b3V0U2l6ZS5pc0VtcHR5KCkgfHwgIW1fdXNlRml4ZWRMYXlvdXQgPyBmcmFt
ZVJlY3QoKSA6IEludFJlY3QoSW50UG9pbnQoMCwwKSwgbV9maXhlZExheW91dFNpemUpOworfQor
CiBpbnQgU2Nyb2xsVmlldzo6bGF5b3V0V2lkdGgoKSBjb25zdAogewogICAgIHJldHVybiBtX2Zp
eGVkTGF5b3V0U2l6ZS5pc0VtcHR5KCkgfHwgIW1fdXNlRml4ZWRMYXlvdXQgPyB2aXNpYmxlV2lk
dGgoKSA6IG1fZml4ZWRMYXlvdXRTaXplLndpZHRoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxWaWV3LmgKaW5kZXggNGMxYjVkZTVjZDYwOTZhMWU3OTVjZjJjODIyYzI0ZTdjY2FhMzVjNS4u
OTc5YWU1MWU1ZWJjYjgyNjRkMTAzNDZkYzlkODAzODMwMjgwMmZmYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbFZpZXcuaApAQCAtMTU2LDYgKzE1NiwxMCBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRGaXhlZExheW91dFNpemUoY29uc3QgSW50U2l6ZSYpOwogICAgIGJvb2wgdXNlRml4ZWRM
YXlvdXQoKSBjb25zdDsKICAgICB2b2lkIHNldFVzZUZpeGVkTGF5b3V0KGJvb2wgZW5hYmxlKTsK
KworICAgIC8vIExvZ2ljYWwgZnJhbWUgcmVjdCBpcyBieSBkZWZhdWx0IHRoZSBzYW1lIGFzIHRo
ZSBXaWRnZXQ6OmZyYW1lUmVjdCwgYnV0IGlmIGZpeGVkTGF5b3V0U2l6ZSBpdCB1c2VkLCBpdCBp
cyBpbnN0ZWFkCisgICAgLy8gdGhlIHJlY3Qgb2YgYSB2aXJ0dWFsIGZyYW1lIGFyb3VuZCB0aGUg
Zml4ZWQgbGF5b3V0IGFyZWEuCisgICAgSW50UmVjdCBsb2dpY2FsRnJhbWVSZWN0KCkgY29uc3Q7
CiAgICAgCiAgICAgLy8gRnVuY3Rpb25zIGZvciBnZXR0aW5nL3NldHRpbmcgdGhlIHNpemUgb2Yg
dGhlIGRvY3VtZW50IGNvbnRhaW5lZCBpbnNpZGUgdGhlIFNjcm9sbFZpZXcgKGFzIGFuIEludFNp
emUgb3IgYXMgaW5kaXZpZHVhbCB3aWR0aCBhbmQgaGVpZ2h0CiAgICAgLy8gdmFsdWVzKS4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBiNDM2NWU0ODdjOTg3ZDM1YmU2MDI0N2U5ZWQ3ZWFlMWFhZDc0YzM2Li42MGMzYjI1YzBl
YjhiOWJhYzA4NzExMzhlZTUxOGViN2ZkN2Y1ZTkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MTItMDMtMTQgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBub2tpYS5jb20+
CisKKyAgICAgICAgUkVHUkVTU0lPTihyMTA2MjMyKTogVGhlIHJlc2l6ZSBoYW5kbGVyIGlzIGFs
d2F5cyBjYWxsZWQgYWZ0ZXIgbG9hZGluZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTgwMjQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGVzdHMgdGhhdCBubyByZXNpemUgZXZlbnRzIGFyZSBlbWl0dGVk
IGR1cmluZyBwYWdlIGNyZWF0aW9uLAorICAgICAgICBldmVuIGlmIHRoZSBwYWdlIG92ZXJmbG93
cyBhbmQgYWRkcyBhIHNjcm9sbGJhci4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL3Jlc2l6ZS1l
dmVudHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9yZXNpemUt
ZXZlbnRzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTAzLTEzICBIYWppbWUgTW9ycml0YSAgPG1vcnJp
dGFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIG1hcmtpbmcgc29tZSB0ZXN0
cyBmbGFreS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc2l6ZS1ldmVu
dHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzaXplLWV2ZW50cy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmFlZjExY2M5N2UzOWQxMzJiZTdjNzRiNGYyOGU1MTkx
NzJhZTAzZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc2l6
ZS1ldmVudHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzMgQEAKK2xheWVyIGF0ICgwLDApIHNp
emUgNzg0eDQyNjAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NHg2MDAKK2xheWVyIGF0
ICgwLDApIHNpemUgNzg0eDQyNjAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUg
Nzg0eDQyNjAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OHg0MjQyCisg
ICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDc2OHgxMTYKKyAgICAgICAgUmVu
ZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3Njh4NDIKKyAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3NDZ4NDIKKyAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDY1MjogIlRlc3QgaG93IG1hbnkgcmVzaXplIGV2ZW50cyBhcmUgZW1p
dHRlZCBkdXJpbmcgcGFnZSBsb2FkIGFuZCBkeW5hbWljIGNvbnRlbnQgZ2VuZXJhdGlvbi4gIgor
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDY1MiwwKSB3aWR0aCA5NDogIkRvIG5vdCByZXNpemUi
CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyMSkgd2lkdGggMjE4OiAidGhlIHBhZ2UuIEl0
IGludmFsaWRhdGVzIHRoZSB0ZXN0LiIKKyAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDU4
KSBzaXplIDc2OHg1OAorICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDAp
IHNpemUgNzY4eDIxCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEwLDApIHNp
emUgMjA2eDIxCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMCwwKSB3aWR0aCAyMDY6ICJS
ZXNpemUgZXZlbnRzIChzaG91bGQgYmUgMCk6ICIKKyAgICAgICAgICAgIFJlbmRlcklubGluZSB7
U1BBTn0gYXQgKDAsMCkgc2l6ZSA5eDIxCisgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMjE2LDApIHNpemUgOXgyMQorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMTYs
MCkgd2lkdGggOTogIjAiCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMzcpIHNpemUgNzY4eDIx
IFtjb2xvcj0jMDA4MDAwXQorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMCww
KSBzaXplIDQ0eDIxCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMCwwKSB3aWR0aCA0NDog
IlBBU1MiCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwxMzIpIHNpemUgNzY4eDQxMTAK
KyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEwLDApIHNpemUgNzQ4eDQwMiBbYm9yZGVy
OiAoMXB4IHNvbGlkICMwMDAwMDApXQorICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMTAs
NDEyKSBzaXplIDc0OHg0MDIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KKyAgICAgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDEwLDgyNCkgc2l6ZSA3NDh4NDAyIFtib3JkZXI6ICgxcHgg
c29saWQgIzAwMDAwMCldCisgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMCwxMjM2KSBz
aXplIDc0OHg0MDIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KKyAgICAgICAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDEwLDE2NDgpIHNpemUgNzQ4eDQwMiBbYm9yZGVyOiAoMXB4IHNvbGlk
ICMwMDAwMDApXQorICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMTAsMjA2MCkgc2l6ZSA3
NDh4NDAyIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCisgICAgICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgxMCwyNDcyKSBzaXplIDc0OHg0MDIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAw
MDAwKV0KKyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEwLDI4ODQpIHNpemUgNzQ4eDQw
MiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorICAgICAgICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMTAsMzI5Nikgc2l6ZSA3NDh4NDAyIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCld
CisgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMCwzNzA4KSBzaXplIDc0OHg0MDIgW2Jv
cmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3Jlc2l6ZS1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc2l6
ZS1ldmVudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYmY1YzJlMDRjZjVjNjEwMDA3MzI4MWUwN2Y1ZWJk
YmI1ZWJmM2ZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVz
aXplLWV2ZW50cy5odG1sCkBAIC0wLDAgKzEsNTQgQEAKKzxodG1sPgorPGhlYWQ+CisgICAgPHN0
eWxlPgorICAgICAgICBkaXYuYmxvY2sgeyBoZWlnaHQ6IDQwMHB4OyBib3JkZXI6IDFweCBzb2xp
ZCBibGFjazsgbWFyZ2luOjEwcHg7IH0KKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIHZhciByZXNpemVjb3VudCA9IDA7CisgICAgICAgIHZhciBsb2FkZWQgPSBmYWxzZTsKKyAg
ICAgICAgd2luZG93Lm9ucmVzaXplID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICByZXNpemVj
b3VudCsrOworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvdW50MScpLmlu
bmVySFRNTCA9IHJlc2l6ZWNvdW50OworICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKyAgICA8ZGl2PgorICAgICAgICBUZXN0IGhvdyBtYW55IHJlc2l6ZSBldmVudHMg
YXJlIGVtaXR0ZWQgZHVyaW5nIHBhZ2UgbG9hZCBhbmQgZHluYW1pYyBjb250ZW50IGdlbmVyYXRp
b24uCisKKyAgICAgICAgRG8gbm90IHJlc2l6ZSB0aGUgcGFnZS4gSXQgaW52YWxpZGF0ZXMgdGhl
IHRlc3QuCisgICAgICAgIDxwIHN0eWxlPSJ0ZXh0LWluZGVudDogMTBweCIgaWQ9cmVzdWx0MT4K
KyAgICAgICAgUmVzaXplIGV2ZW50cyAoc2hvdWxkIGJlIDApOiA8c3BhbiBpZD1jb3VudDE+MDwv
c3Bhbj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPWV4cGFuZGluZ2Jsb2NrPgorICAgIDwvZGl2
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
IHsKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAg
ICAgICAgfQorCisgICAgICAgIHZhciBibG9ja2NvdW50ID0gMDsKKyAgICAgICAgZnVuY3Rpb24g
YWRkQmxvY2soKSB7CisgICAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdkaXYnKTsKKyAgICAgICAgICAgIGVsLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCdibG9jaycpOwor
ICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V4cGFuZGluZ2Jsb2NrJykuYXBw
ZW5kQ2hpbGQoZWwpOworICAgICAgICAgICAgaWYgKCsrYmxvY2tjb3VudCA8IDEwKQorICAgICAg
ICAgICAgICAgIHNldFRpbWVvdXQoYWRkQmxvY2ssIDIwKTsKKyAgICAgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgICAgICBmaW5pc2goKTsKKyAgICAgICAgfQorICAgICAgICBmdW5jdGlvbiBmaW5p
c2goKSB7CisgICAgICAgICAgICB2YXIgcmVzdWx0OworICAgICAgICAgICAgLy8gTm8gcmVzaXpl
IGV2ZW50cyBhcmUgYWNjZXB0YWJsZS4KKyAgICAgICAgICAgIGlmIChyZXNpemVjb3VudCA8IDEp
CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gJzxwIHN0eWxlPSJjb2xvcjogZ3JlZW4iPlBBU1Mn
OworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHJlc3VsdCA9ICc8cCBzdHlsZT0i
Y29sb3I6IHJlZCI+RkFJTCc7CisgICAgICAgICAgICB2YXIgcmVzdWx0RWxlbWVudCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQxJykKKyAgICAgICAgICAgIHJlc3VsdEVsZW1lbnQu
aW5uZXJIVE1MICs9IHJlc3VsdDsKKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOworICAgICAgICB9CisgICAgICAgIG9ubG9hZCA9IGFkZEJsb2NrOworICAgIDwvc2NyaXB0
PgorPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132015</attachid>
            <date>2012-03-15 03:55:32 -0700</date>
            <delta_ts>2012-03-15 05:22:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80242-20120315115530.patch</filename>
            <type>text/plain</type>
            <size>4736</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwODM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzdlOTg1MmVmOTFhZTU2
YzNhNjIwMzk2NDQyNDhhZTE5Y2E0MzY4Ny4uNzE1NzlhMGFlNDQzODBiNjRlNDJmZDNhZTZiNDJh
NjQ3NTZmNTYyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAzLTA3ICBBbGxh
biBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgorCisgICAgICAgIFJF
R1JFU1NJT04ocjEwNjIzMik6IFRoZSByZXNpemUgaGFuZGxlciBpcyBhbHdheXMgY2FsbGVkIGFm
dGVyIGxvYWRpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04MDI0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEVuc3VyZSByZXNpemUtZXZlbnRzIGFyZSBub3QgZW1pdHRlZCB3aGVuIGxheW91dC1zaXpl
IGNoYW5nZXMgZHVlIHRvIGFkZGVkCisgICAgICAgIHNjcm9sbGJhcnMuIEZvciBmaXhlZCBsYXlv
dXQsIHNjcm9sbGJhcnMgYXJlIG5ldmVyIHN1YnRyYWN0ZWQgb3IgYWRkZWQsIHNvCisgICAgICAg
IHdlIGNhbiBjb21wYXJlIGZpeGVkTGF5b3V0U2l6ZSBkaXJlY3RseS4gRm9yIG5vcm1hbCBsYXlv
dXQsIHVzZSB0aGUgZnVsbAorICAgICAgICB2aXNpYmxlIHJlY3Qgc2l6ZSB3aGljaCBpcyB0aGUg
c2FtZSBhcyBsYXlvdXQgc2l6ZSBwbHVzIHNjcm9sbGJhcnMuCisKKyAgICAgICAgVGVzdDogZmFz
dC9ldmVudHMvcmVzaXplLWV2ZW50cy5odG1sCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnJlc2V0KToKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lVmlldzo6bGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cGVy
Zm9ybVBvc3RMYXlvdXRUYXNrcyk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAg
ICAgKEZyYW1lVmlldyk6CisKIDIwMTItMDMtMTMgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1t
ZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgRW5hYmxlIGFuaW1WYWwgc3VwcG9ydCBmb3IgU1ZH
TGVuZ3RoTGlzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDJkMzkyZGU4YzJjNDkw
NTg3ZTJjYWMwZDM4MmY2N2E4YmFlNDkwYTYuLmI2OGMwMDIzOTcyOWNmM2NiY2ZiMGE3NzEwOWUy
ZTlkM2MzYjc1MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTIyOCw3ICsyMjgs
NyBAQCB2b2lkIEZyYW1lVmlldzo6cmVzZXQoKQogICAgIG1fZmlyc3RMYXlvdXQgPSB0cnVlOwog
ICAgIG1fZmlyc3RMYXlvdXRDYWxsYmFja1BlbmRpbmcgPSBmYWxzZTsKICAgICBtX3dhc1Njcm9s
bGVkQnlVc2VyID0gZmFsc2U7Ci0gICAgbV9sYXN0TGF5b3V0U2l6ZSA9IExheW91dFNpemUoKTsK
KyAgICBtX2xhc3RWaWV3cG9ydFNpemUgPSBJbnRTaXplKCk7CiAgICAgbV9sYXN0Wm9vbUZhY3Rv
ciA9IDEuMGY7CiAgICAgbV9kZWZlcnJpbmdSZXBhaW50cyA9IDA7CiAgICAgbV9yZXBhaW50Q291
bnQgPSAwOwpAQCAtMTAyMiw3ICsxMDIyLDEwIEBAIHZvaWQgRnJhbWVWaWV3OjpsYXlvdXQoYm9v
bCBhbGxvd1N1YnRyZWUpCiAKICAgICAgICAgICAgICAgICAgICAgbV9maXJzdExheW91dCA9IGZh
bHNlOwogICAgICAgICAgICAgICAgICAgICBtX2ZpcnN0TGF5b3V0Q2FsbGJhY2tQZW5kaW5nID0g
dHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgbV9sYXN0TGF5b3V0U2l6ZSA9IExheW91dFNpemUo
bGF5b3V0V2lkdGgoKSwgbGF5b3V0SGVpZ2h0KCkpOworICAgICAgICAgICAgICAgICAgICBpZiAo
dXNlRml4ZWRMYXlvdXQoKSAmJiAhZml4ZWRMYXlvdXRTaXplKCkuaXNFbXB0eSgpICYmIGRlbGVn
YXRlc1Njcm9sbGluZygpKQorICAgICAgICAgICAgICAgICAgICAgICAgbV9sYXN0Vmlld3BvcnRT
aXplID0gZml4ZWRMYXlvdXRTaXplKCk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICAgICAgICAgIG1fbGFzdFZpZXdwb3J0U2l6ZSA9IHZpc2libGVDb250ZW50UmVj
dCh0cnVlIC8qaW5jbHVkZVNjcm9sbGJhcnMqLykuc2l6ZSgpOwogICAgICAgICAgICAgICAgICAg
ICBtX2xhc3Rab29tRmFjdG9yID0gcm9vdC0+c3R5bGUoKS0+em9vbSgpOwogCiAgICAgICAgICAg
ICAgICAgICAgIC8vIFNldCB0aGUgaW5pdGlhbCB2TW9kZSB0byBBbHdheXNPbiBpZiB3ZSdyZSBh
dXRvLgpAQCAtMjMwNywxMCArMjMxMCwxNCBAQCB2b2lkIEZyYW1lVmlldzo6cGVyZm9ybVBvc3RM
YXlvdXRUYXNrcygpCiAgICAgbV9hY3Rpb25TY2hlZHVsZXItPnJlc3VtZSgpOwogCiAgICAgaWYg
KCFyb290LT5wcmludGluZygpKSB7Ci0gICAgICAgIExheW91dFNpemUgY3VycmVudFNpemUgPSBM
YXlvdXRTaXplKGxheW91dFdpZHRoKCksIGxheW91dEhlaWdodCgpKTsKKyAgICAgICAgSW50U2l6
ZSBjdXJyZW50U2l6ZTsKKyAgICAgICAgaWYgKHVzZUZpeGVkTGF5b3V0KCkgJiYgIWZpeGVkTGF5
b3V0U2l6ZSgpLmlzRW1wdHkoKSAmJiBkZWxlZ2F0ZXNTY3JvbGxpbmcoKSkKKyAgICAgICAgICAg
IGN1cnJlbnRTaXplID0gZml4ZWRMYXlvdXRTaXplKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIGN1cnJlbnRTaXplID0gdmlzaWJsZUNvbnRlbnRSZWN0KHRydWUgLyppbmNsdWRlU2Nyb2xs
YmFycyovKS5zaXplKCk7CiAgICAgICAgIGZsb2F0IGN1cnJlbnRab29tRmFjdG9yID0gcm9vdC0+
c3R5bGUoKS0+em9vbSgpOwotICAgICAgICBib29sIHJlc2l6ZWQgPSAhbV9maXJzdExheW91dCAm
JiAoY3VycmVudFNpemUgIT0gbV9sYXN0TGF5b3V0U2l6ZSB8fCBjdXJyZW50Wm9vbUZhY3RvciAh
PSBtX2xhc3Rab29tRmFjdG9yKTsKLSAgICAgICAgbV9sYXN0TGF5b3V0U2l6ZSA9IGN1cnJlbnRT
aXplOworICAgICAgICBib29sIHJlc2l6ZWQgPSAhbV9maXJzdExheW91dCAmJiAoY3VycmVudFNp
emUgIT0gbV9sYXN0Vmlld3BvcnRTaXplIHx8IGN1cnJlbnRab29tRmFjdG9yICE9IG1fbGFzdFpv
b21GYWN0b3IpOworICAgICAgICBtX2xhc3RWaWV3cG9ydFNpemUgPSBjdXJyZW50U2l6ZTsKICAg
ICAgICAgbV9sYXN0Wm9vbUZhY3RvciA9IGN1cnJlbnRab29tRmFjdG9yOwogICAgICAgICBpZiAo
cmVzaXplZCkgewogICAgICAgICAgICAgbV9mcmFtZS0+ZXZlbnRIYW5kbGVyKCktPnNlbmRSZXNp
emVFdmVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggZjE0YTIxMzBmYTM5OThmMGFj
ODAzZTYzYTQ4NDczOTFkODJlMzQ4My4uY2IzNGExNzg4NjRkZjdhOTJjZmExZDMxMjAyMDY4MTAx
YTFlNjVkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC00NDYsNyArNDQ2LDcgQEAgcHJp
dmF0ZToKICAgICBib29sIG1fZmlyc3RMYXlvdXQ7CiAgICAgYm9vbCBtX2lzVHJhbnNwYXJlbnQ7
CiAgICAgQ29sb3IgbV9iYXNlQmFja2dyb3VuZENvbG9yOwotICAgIExheW91dFNpemUgbV9sYXN0
TGF5b3V0U2l6ZTsKKyAgICBJbnRTaXplIG1fbGFzdFZpZXdwb3J0U2l6ZTsKICAgICBmbG9hdCBt
X2xhc3Rab29tRmFjdG9yOwogCiAgICAgU3RyaW5nIG1fbWVkaWFUeXBlOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGRkYWQ1
ZGI2Nzc5NzY2NGIzODZhZmY1NjMxOWVjNzhjNTUwMTQ5ZTcuLmZiZDZkNGU5YTAyMzE2YjMwNTdh
Y2I0YTFhYmU1YzY5ZjcxMWUzYTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wMy0wNyAg
QWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVuc2VuQG5va2lhLmNvbT4KKworICAgICAg
ICBSRUdSRVNTSU9OKHIxMDYyMzIpOiBUaGUgcmVzaXplIGhhbmRsZXIgaXMgYWx3YXlzIGNhbGxl
ZCBhZnRlciBsb2FkaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODAyNDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0cyB0aGF0IG5vIHJlc2l6ZSBldmVudHMgYXJlIGVtaXR0ZWQgZHVyaW5nIHBh
Z2UgY3JlYXRpb24sCisgICAgICAgIGV2ZW4gaWYgdGhlIHBhZ2Ugb3ZlcmZsb3dzIGFuZCBhZGRz
IGEgc2Nyb2xsYmFyLgorCisgICAgICAgICogZmFzdC9ldmVudHMvcmVzaXplLWV2ZW50cy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3Jlc2l6ZS1ldmVudHMuaHRt
bDogQWRkZWQuCisKIDIwMTItMDMtMTMgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5u
QHJpbS5jb20+CiAKICAgICAgICAgRW5hYmxlIGFuaW1WYWwgc3VwcG9ydCBmb3IgU1ZHTGVuZ3Ro
TGlzdAo=
</data>
<flag name="review"
          id="135527"
          type_id="1"
          status="+"
          setter="kenneth"
    />
    <flag name="commit-queue"
          id="135534"
          type_id="3"
          status="-"
          setter="kenneth"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132025</attachid>
            <date>2012-03-15 05:22:22 -0700</date>
            <delta_ts>2012-03-15 21:03:41 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>Study</filename>
            <type>text/plain</type>
            <size>7824</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkZGFkNWRiLi5mNGYyMDM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDMt
MDcgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBub2tpYS5jb20+CisKKyAg
ICAgICAgUkVHUkVTU0lPTihyMTA2MjMyKTogVGhlIHJlc2l6ZSBoYW5kbGVyIGlzIGFsd2F5cyBj
YWxsZWQgYWZ0ZXIgbG9hZGluZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgwMjQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBD
aHJpc3RpYW5zZW4uCisKKyAgICAgICAgVGVzdHMgdGhhdCBubyByZXNpemUgZXZlbnRzIGFyZSBl
bWl0dGVkIGR1cmluZyBwYWdlIGNyZWF0aW9uLAorICAgICAgICBldmVuIGlmIHRoZSBwYWdlIG92
ZXJmbG93cyBhbmQgYWRkcyBhIHNjcm9sbGJhci4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL3Jl
c2l6ZS1ldmVudHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9y
ZXNpemUtZXZlbnRzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTAzLTEzICBOaWtvbGFzIFppbW1lcm1h
bm4gIDxuemltbWVybWFubkByaW0uY29tPgogCiAgICAgICAgIEVuYWJsZSBhbmltVmFsIHN1cHBv
cnQgZm9yIFNWR0xlbmd0aExpc3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3Jlc2l6ZS1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVz
aXplLWV2ZW50cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uODQwNThiOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jl
c2l6ZS1ldmVudHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAKK2xheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODIKKyAg
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDc5CisgICAgICAgIFJlbmRl
ckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgNzg0eDQyCisgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzcyeDQyCisgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCA2NTI6ICJUZXN0IGhvdyBtYW55IHJlc2l6ZSBldmVudHMgYXJlIGVtaXR0
ZWQgZHVyaW5nIHBhZ2UgbG9hZCBhbmQgZHluYW1pYyBjb250ZW50IGdlbmVyYXRpb24uICIKKyAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICg2NTIsMCkgd2lkdGggMTIwOiAiRG8gbm90IHJlc2l6ZSB0
aGUiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyMSkgd2lkdGggMTkyOiAicGFnZS4gSXQg
aW52YWxpZGF0ZXMgdGhlIHRlc3QuIgorICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsNTgp
IHNpemUgNzg0eDIxCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMCwwKSBzaXpl
IDIwNngyMQorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEwLDApIHdpZHRoIDIwNjogIlJlc2l6
ZSBldmVudHMgKHNob3VsZCBiZSAwKTogIgorICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0g
YXQgKDAsMCkgc2l6ZSA5eDIxCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIx
NiwwKSBzaXplIDl4MjEKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIxNiwwKSB3aWR0aCA5
OiAiMCIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAg
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDk1KSBzaXplIDc4NHg0MDIKKyAgICAgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDEwLDApIHNpemUgNzY0eDQwMiBbYm9yZGVyOiAoMXB4IHNvbGlk
ICMwMDAwMDApXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzaXplLWV2
ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzaXplLWV2ZW50cy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiZjVjMmUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNpemUtZXZlbnRzLmh0bWwKQEAgLTAsMCAr
MSw1NCBAQAorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgIGRpdi5ibG9jayB7
IGhlaWdodDogNDAwcHg7IGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyBtYXJnaW46MTBweDsgfQor
ICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdD4KKyAgICAgICAgdmFyIHJlc2l6ZWNvdW50ID0gMDsK
KyAgICAgICAgdmFyIGxvYWRlZCA9IGZhbHNlOworICAgICAgICB3aW5kb3cub25yZXNpemUgPSBm
dW5jdGlvbigpIHsKKyAgICAgICAgICAgIHJlc2l6ZWNvdW50Kys7CisgICAgICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnY291bnQxJykuaW5uZXJIVE1MID0gcmVzaXplY291bnQ7Cisg
ICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXY+CisgICAg
ICAgIFRlc3QgaG93IG1hbnkgcmVzaXplIGV2ZW50cyBhcmUgZW1pdHRlZCBkdXJpbmcgcGFnZSBs
b2FkIGFuZCBkeW5hbWljIGNvbnRlbnQgZ2VuZXJhdGlvbi4KKworICAgICAgICBEbyBub3QgcmVz
aXplIHRoZSBwYWdlLiBJdCBpbnZhbGlkYXRlcyB0aGUgdGVzdC4KKyAgICAgICAgPHAgc3R5bGU9
InRleHQtaW5kZW50OiAxMHB4IiBpZD1yZXN1bHQxPgorICAgICAgICBSZXNpemUgZXZlbnRzIChz
aG91bGQgYmUgMCk6IDxzcGFuIGlkPWNvdW50MT4wPC9zcGFuPgorICAgIDwvZGl2PgorICAgIDxk
aXYgaWQ9ZXhwYW5kaW5nYmxvY2s+CisgICAgPC9kaXY+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB9CisKKyAgICAgICAgdmFyIGJs
b2NrY291bnQgPSAwOworICAgICAgICBmdW5jdGlvbiBhZGRCbG9jaygpIHsKKyAgICAgICAgICAg
IHZhciBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICAgICAgZWwu
c2V0QXR0cmlidXRlKCdjbGFzcycsJ2Jsb2NrJyk7CisgICAgICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnZXhwYW5kaW5nYmxvY2snKS5hcHBlbmRDaGlsZChlbCk7CisgICAgICAgICAg
ICBpZiAoKytibG9ja2NvdW50IDwgMTApCisgICAgICAgICAgICAgICAgc2V0VGltZW91dChhZGRC
bG9jaywgMjApOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGZpbmlzaCgpOwor
ICAgICAgICB9CisgICAgICAgIGZ1bmN0aW9uIGZpbmlzaCgpIHsKKyAgICAgICAgICAgIHZhciBy
ZXN1bHQ7CisgICAgICAgICAgICAvLyBObyByZXNpemUgZXZlbnRzIGFyZSBhY2NlcHRhYmxlLgor
ICAgICAgICAgICAgaWYgKHJlc2l6ZWNvdW50IDwgMSkKKyAgICAgICAgICAgICAgICByZXN1bHQg
PSAnPHAgc3R5bGU9ImNvbG9yOiBncmVlbiI+UEFTUyc7CisgICAgICAgICAgICBlbHNlCisgICAg
ICAgICAgICAgICAgcmVzdWx0ID0gJzxwIHN0eWxlPSJjb2xvcjogcmVkIj5GQUlMJzsKKyAgICAg
ICAgICAgIHZhciByZXN1bHRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3Vs
dDEnKQorICAgICAgICAgICAgcmVzdWx0RWxlbWVudC5pbm5lckhUTUwgKz0gcmVzdWx0OworICAg
ICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KKyAgICAgICAg
b25sb2FkID0gYWRkQmxvY2s7CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDM3ZTk4NTIuLjkzNTQxMTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyNCBAQAorMjAxMi0wMy0wNyAgQWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8YWxs
YW4uamVuc2VuQG5va2lhLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIxMDYyMzIpOiBUaGUg
cmVzaXplIGhhbmRsZXIgaXMgYWx3YXlzIGNhbGxlZCBhZnRlciBsb2FkaW5nLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAyNDIKKworICAgICAgICBS
ZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KKworICAgICAgICBFbnN1cmUg
cmVzaXplLWV2ZW50cyBhcmUgbm90IGVtaXR0ZWQgd2hlbiBsYXlvdXQtc2l6ZSBjaGFuZ2VzIGR1
ZSB0byBhZGRlZAorICAgICAgICBzY3JvbGxiYXJzLiBGb3IgZml4ZWQgbGF5b3V0LCBzY3JvbGxi
YXJzIGFyZSBuZXZlciBzdWJ0cmFjdGVkIG9yIGFkZGVkLCBzbworICAgICAgICB3ZSBjYW4gY29t
cGFyZSBmaXhlZExheW91dFNpemUgZGlyZWN0bHkuIEZvciBub3JtYWwgbGF5b3V0LCB1c2UgdGhl
IGZ1bGwKKyAgICAgICAgdmlzaWJsZSByZWN0IHNpemUgd2hpY2ggaXMgdGhlIHNhbWUgYXMgbGF5
b3V0IHNpemUgcGx1cyBzY3JvbGxiYXJzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL3Jl
c2l6ZS1ldmVudHMuaHRtbAorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OmxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnBlcmZvcm1Qb3N0TGF5
b3V0VGFza3MpOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAgIChGcmFtZVZp
ZXcpOgorCiAyMDEyLTAzLTEzICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0u
Y29tPgogCiAgICAgICAgIEVuYWJsZSBhbmltVmFsIHN1cHBvcnQgZm9yIFNWR0xlbmd0aExpc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCAyZDM5MmRlLi5iNjhjMDAyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0yMjgsNyArMjI4LDcgQEAgdm9pZCBGcmFtZVZpZXc6
OnJlc2V0KCkKICAgICBtX2ZpcnN0TGF5b3V0ID0gdHJ1ZTsKICAgICBtX2ZpcnN0TGF5b3V0Q2Fs
bGJhY2tQZW5kaW5nID0gZmFsc2U7CiAgICAgbV93YXNTY3JvbGxlZEJ5VXNlciA9IGZhbHNlOwot
ICAgIG1fbGFzdExheW91dFNpemUgPSBMYXlvdXRTaXplKCk7CisgICAgbV9sYXN0Vmlld3BvcnRT
aXplID0gSW50U2l6ZSgpOwogICAgIG1fbGFzdFpvb21GYWN0b3IgPSAxLjBmOwogICAgIG1fZGVm
ZXJyaW5nUmVwYWludHMgPSAwOwogICAgIG1fcmVwYWludENvdW50ID0gMDsKQEAgLTEwMjIsNyAr
MTAyMiwxMCBAQCB2b2lkIEZyYW1lVmlldzo6bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlKQogCiAg
ICAgICAgICAgICAgICAgICAgIG1fZmlyc3RMYXlvdXQgPSBmYWxzZTsKICAgICAgICAgICAgICAg
ICAgICAgbV9maXJzdExheW91dENhbGxiYWNrUGVuZGluZyA9IHRydWU7Ci0gICAgICAgICAgICAg
ICAgICAgIG1fbGFzdExheW91dFNpemUgPSBMYXlvdXRTaXplKGxheW91dFdpZHRoKCksIGxheW91
dEhlaWdodCgpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHVzZUZpeGVkTGF5b3V0KCkgJiYg
IWZpeGVkTGF5b3V0U2l6ZSgpLmlzRW1wdHkoKSAmJiBkZWxlZ2F0ZXNTY3JvbGxpbmcoKSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgIG1fbGFzdFZpZXdwb3J0U2l6ZSA9IGZpeGVkTGF5b3V0U2l6
ZSgpOworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBt
X2xhc3RWaWV3cG9ydFNpemUgPSB2aXNpYmxlQ29udGVudFJlY3QodHJ1ZSAvKmluY2x1ZGVTY3Jv
bGxiYXJzKi8pLnNpemUoKTsKICAgICAgICAgICAgICAgICAgICAgbV9sYXN0Wm9vbUZhY3RvciA9
IHJvb3QtPnN0eWxlKCktPnpvb20oKTsKIAogICAgICAgICAgICAgICAgICAgICAvLyBTZXQgdGhl
IGluaXRpYWwgdk1vZGUgdG8gQWx3YXlzT24gaWYgd2UncmUgYXV0by4KQEAgLTIzMDcsMTAgKzIz
MTAsMTQgQEAgdm9pZCBGcmFtZVZpZXc6OnBlcmZvcm1Qb3N0TGF5b3V0VGFza3MoKQogICAgIG1f
YWN0aW9uU2NoZWR1bGVyLT5yZXN1bWUoKTsKIAogICAgIGlmICghcm9vdC0+cHJpbnRpbmcoKSkg
ewotICAgICAgICBMYXlvdXRTaXplIGN1cnJlbnRTaXplID0gTGF5b3V0U2l6ZShsYXlvdXRXaWR0
aCgpLCBsYXlvdXRIZWlnaHQoKSk7CisgICAgICAgIEludFNpemUgY3VycmVudFNpemU7CisgICAg
ICAgIGlmICh1c2VGaXhlZExheW91dCgpICYmICFmaXhlZExheW91dFNpemUoKS5pc0VtcHR5KCkg
JiYgZGVsZWdhdGVzU2Nyb2xsaW5nKCkpCisgICAgICAgICAgICBjdXJyZW50U2l6ZSA9IGZpeGVk
TGF5b3V0U2l6ZSgpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBjdXJyZW50U2l6ZSA9IHZp
c2libGVDb250ZW50UmVjdCh0cnVlIC8qaW5jbHVkZVNjcm9sbGJhcnMqLykuc2l6ZSgpOwogICAg
ICAgICBmbG9hdCBjdXJyZW50Wm9vbUZhY3RvciA9IHJvb3QtPnN0eWxlKCktPnpvb20oKTsKLSAg
ICAgICAgYm9vbCByZXNpemVkID0gIW1fZmlyc3RMYXlvdXQgJiYgKGN1cnJlbnRTaXplICE9IG1f
bGFzdExheW91dFNpemUgfHwgY3VycmVudFpvb21GYWN0b3IgIT0gbV9sYXN0Wm9vbUZhY3Rvcik7
Ci0gICAgICAgIG1fbGFzdExheW91dFNpemUgPSBjdXJyZW50U2l6ZTsKKyAgICAgICAgYm9vbCBy
ZXNpemVkID0gIW1fZmlyc3RMYXlvdXQgJiYgKGN1cnJlbnRTaXplICE9IG1fbGFzdFZpZXdwb3J0
U2l6ZSB8fCBjdXJyZW50Wm9vbUZhY3RvciAhPSBtX2xhc3Rab29tRmFjdG9yKTsKKyAgICAgICAg
bV9sYXN0Vmlld3BvcnRTaXplID0gY3VycmVudFNpemU7CiAgICAgICAgIG1fbGFzdFpvb21GYWN0
b3IgPSBjdXJyZW50Wm9vbUZhY3RvcjsKICAgICAgICAgaWYgKHJlc2l6ZWQpIHsKICAgICAgICAg
ICAgIG1fZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5zZW5kUmVzaXplRXZlbnQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5oCmluZGV4IGYxNGEyMTMuLmNiMzRhMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuaApAQCAtNDQ2LDcgKzQ0Niw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2ZpcnN0TGF5b3V0
OwogICAgIGJvb2wgbV9pc1RyYW5zcGFyZW50OwogICAgIENvbG9yIG1fYmFzZUJhY2tncm91bmRD
b2xvcjsKLSAgICBMYXlvdXRTaXplIG1fbGFzdExheW91dFNpemU7CisgICAgSW50U2l6ZSBtX2xh
c3RWaWV3cG9ydFNpemU7CiAgICAgZmxvYXQgbV9sYXN0Wm9vbUZhY3RvcjsKIAogICAgIFN0cmlu
ZyBtX21lZGlhVHlwZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>