<?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>147049</bug_id>
          
          <creation_ts>2015-07-17 14:10:45 -0700</creation_ts>
          <short_desc>REGRESSION (r172417, r184065): Multiple rendering issues with fixed attached background-image</short_desc>
          <delta_ts>2015-07-21 12:57:49 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>103757</dependson>
    
    <dependson>135712</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1110205</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-07-17 14:10:45 -0700</bug_when>
    <thetext>Repro steps:

1. Open the attached test case background-size-cover.html
2. Pinch-zoom

Result: the background is not displayed correctly. Mostly it is mot visible.
NOTE: The same result can be seen when loading americanmccarver.com and pinch-zooming.

1. Launch Safari.
2. Open the attached test case fixed-gradient-background.html.
3. Click and hold the window maximize button.
4. Select another application to share the screen with Safari
5. Resize the width io Safari window to the minimum

Result: The background-image does not cover the whole element rect.

1. Launch Safari.
2. Open the attached test case fixed-root-background.html.
3. Click and hold the window maximize button.
4. Select another application to share the screen with Safari
5. Resize the width io Safari window to the minimum

Result: The background-image does not cover the whole page.
NOTE: The same result when loading iCloud.com and have it in scaled full screen mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110207</commentid>
    <comment_count>1</comment_count>
      <attachid>256986</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-07-17 14:11:43 -0700</bug_when>
    <thetext>Created attachment 256986
background-size-cover.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110208</commentid>
    <comment_count>2</comment_count>
      <attachid>256987</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-07-17 14:12:32 -0700</bug_when>
    <thetext>Created attachment 256987
fixed-gradient-background.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110209</commentid>
    <comment_count>3</comment_count>
      <attachid>256988</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-07-17 14:13:37 -0700</bug_when>
    <thetext>Created attachment 256988
fixed-root-background.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110234</commentid>
    <comment_count>4</comment_count>
      <attachid>256995</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-07-17 15:12:03 -0700</bug_when>
    <thetext>Created attachment 256995
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110292</commentid>
    <comment_count>5</comment_count>
      <attachid>256995</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-07-17 18:32:02 -0700</bug_when>
    <thetext>Comment on attachment 256995
Patch

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

This looks ok to me, but Simon should review it.

&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1119
&gt; +            // Fixed background-image on the root element

Nits: need . on all these comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110295</commentid>
    <comment_count>6</comment_count>
      <attachid>257012</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-07-17 18:59:47 -0700</bug_when>
    <thetext>Created attachment 257012
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110332</commentid>
    <comment_count>7</comment_count>
      <attachid>257012</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-07-17 21:36:36 -0700</bug_when>
    <thetext>Comment on attachment 257012
Patch

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

I have not reviewed this patch for correctness. I noticed some minor nits.

&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1121
&gt; +

Minor: Please remove this empty line as I do not feel it improves the readability of this code as the difference in indentation level is sufficient to demarcate the if-statement from the body of the if-statement.

&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1131
&gt; +                // Scaled page.

Minor: The text in this comment can be inferred from the code below. Either elaborate further or remove this comment.

&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1141
&gt; +                // Fixed layout size.

Minor: This comment reiterates what the code below does. Please remove this comment.

&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1143
&gt; +                    // Expand viewportRect to borderBoxRect.

Minor: Similiarly this comment explain what the code below does, but does not explain why we should expand the viewport rectangle to the border box rectangle. We should either explain why we need to do this or we should remove this comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110333</commentid>
    <comment_count>8</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-07-17 21:41:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/21110936&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110340</commentid>
    <comment_count>9</comment_count>
      <attachid>257012</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-07-17 22:37:10 -0700</bug_when>
    <thetext>Comment on attachment 257012
Patch

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

&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1123
&gt; +                if (!frameView.fixedLayoutSize().isEmpty() &amp;&amp; frameView.useFixedLayout())

I think you should flip the checks (ideally useFixedLayout() should ASSERT that the layout size is non-empty, and return false if it is.

&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1128
&gt; +                    topContentInset = frameView.topContentInset(ScrollView::TopContentInsetType::WebCoreOrPlatformContentInset);
&gt; +                    viewportRect.setLocation(LayoutPoint(0, -topContentInset));
&gt; +                    viewportRect.setSize(frameView.unscaledVisibleContentSizeIncludingObscuredArea());

This logic seems to behave correctly.

&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1136
&gt; +                    topContentInset = frameView.topContentInset(ScrollView::TopContentInsetType::WebCoreOrPlatformContentInset);
&gt; +                    viewportRect.setLocation(toLayoutPoint(frameView.documentScrollOffsetRelativeToViewOrigin()));

This bit is correct.

&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1139
&gt; +                viewportRect.setSize(frameView.unscaledVisibleContentSizeIncludingObscuredArea());

I don&apos;t think the scaling behavior is quite correct when zoomed, but it&apos;s better than it was, and matches the odd behavior of position:fixed when zoomed, so it&apos;s OK for now.

&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1142
&gt; +                if (!frameView.fixedLayoutSize().isEmpty() &amp;&amp; frameView.useFixedLayout()) {

Flip the checks.

&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1148
&gt; +                    if (style().overflowX() != OHIDDEN)
&gt; +                        viewportRect.setWidth(std::max(viewportRect.width(), borderBoxRect.width()));
&gt; +
&gt; +                    if (style().overflowY() != OHIDDEN)
&gt; +                        viewportRect.setHeight(std::max(viewportRect.height(), borderBoxRect.height()));

I don&apos;t think this part is correct. You can see this by comparing two testcases, one with a fixed background on the body, and one with a fixed background on a 100%x100% div (which hits this code). In the div case, when hitting the fixed layout size threshold as the window is getting narrower, there&apos;s an obvious breakpoint where the background size changes. This shouldn&apos;t happen.

&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:928
&gt; -            backgroundSize = frameView.visibleContentRect().size();
&gt; +            backgroundSize = frameView.layoutSize();

This seems to work correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110654</commentid>
    <comment_count>10</comment_count>
      <attachid>257100</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-07-20 10:50:17 -0700</bug_when>
    <thetext>Created attachment 257100
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110663</commentid>
    <comment_count>11</comment_count>
      <attachid>257012</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-07-20 11:07:00 -0700</bug_when>
    <thetext>Comment on attachment 257012
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1121
&gt;&gt; +
&gt; 
&gt; Minor: Please remove this empty line as I do not feel it improves the readability of this code as the difference in indentation level is sufficient to demarcate the if-statement from the body of the if-statement.

The empty line was removed.

&gt;&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1123
&gt;&gt; +                if (!frameView.fixedLayoutSize().isEmpty() &amp;&amp; frameView.useFixedLayout())
&gt; 
&gt; I think you should flip the checks (ideally useFixedLayout() should ASSERT that the layout size is non-empty, and return false if it is.

Clauses in the if-statment were flipped. I added the assertion you suggested in useFixedLayout() but it fires while resizing the window. Either its is a valid case to have useFixedLayout() is false and fixedLayoutSize() is non empty. Or the design of the code is fixedLayoutSize() should not be accessed at all unless useFixedLayout() is true. I have not checked.

&gt;&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1131
&gt;&gt; +                // Scaled page.
&gt; 
&gt; Minor: The text in this comment can be inferred from the code below. Either elaborate further or remove this comment.

Comments were added.

&gt;&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1141
&gt;&gt; +                // Fixed layout size.
&gt; 
&gt; Minor: This comment reiterates what the code below does. Please remove this comment.

The comment and the condition were removed.

&gt;&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1142
&gt;&gt; +                if (!frameView.fixedLayoutSize().isEmpty() &amp;&amp; frameView.useFixedLayout()) {
&gt; 
&gt; Flip the checks.

The condition is removed. I think we should always render to the maximum of the viewport and and the renderBox regardless whether we are in the fixedLayoutSize mode or not.

&gt;&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1143
&gt;&gt; +                    // Expand viewportRect to borderBoxRect.
&gt; 
&gt; Minor: Similiarly this comment explain what the code below does, but does not explain why we should expand the viewport rectangle to the border box rectangle. We should either explain why we need to do this or we should remove this comment.

The comment was removed.

&gt;&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1148
&gt;&gt; +                        viewportRect.setHeight(std::max(viewportRect.height(), borderBoxRect.height()));
&gt; 
&gt; I don&apos;t think this part is correct. You can see this by comparing two testcases, one with a fixed background on the body, and one with a fixed background on a 100%x100% div (which hits this code). In the div case, when hitting the fixed layout size threshold as the window is getting narrower, there&apos;s an obvious breakpoint where the background size changes. This shouldn&apos;t happen.

The condition for fixedLayoutSize() was removed so we should not have a breakpoint when the viewport size changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110819</commentid>
    <comment_count>12</comment_count>
      <attachid>257144</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-07-20 16:47:58 -0700</bug_when>
    <thetext>Created attachment 257144
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110822</commentid>
    <comment_count>13</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-07-20 16:50:40 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Comment on attachment 257012 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=257012&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1121
&gt; &gt;&gt; +
&gt; &gt; 
&gt; &gt; Minor: Please remove this empty line as I do not feel it improves the readability of this code as the difference in indentation level is sufficient to demarcate the if-statement from the body of the if-statement.
&gt; 
&gt; The empty line was removed.
&gt; 
&gt; &gt;&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1123
&gt; &gt;&gt; +                if (!frameView.fixedLayoutSize().isEmpty() &amp;&amp; frameView.useFixedLayout())
&gt; &gt; 
&gt; &gt; I think you should flip the checks (ideally useFixedLayout() should ASSERT that the layout size is non-empty, and return false if it is.
&gt; 
&gt; Clauses in the if-statment were flipped. I added the assertion you suggested
&gt; in useFixedLayout() but it fires while resizing the window. Either its is a
&gt; valid case to have useFixedLayout() is false and fixedLayoutSize() is non
&gt; empty. Or the design of the code is fixedLayoutSize() should not be accessed
&gt; at all unless useFixedLayout() is true. I have not checked.
&gt; 
&gt; &gt;&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1131
&gt; &gt;&gt; +                // Scaled page.
&gt; &gt; 
&gt; &gt; Minor: The text in this comment can be inferred from the code below. Either elaborate further or remove this comment.
&gt; 
&gt; Comments were added.
&gt; 
&gt; &gt;&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1141
&gt; &gt;&gt; +                // Fixed layout size.
&gt; &gt; 
&gt; &gt; Minor: This comment reiterates what the code below does. Please remove this comment.
&gt; 
&gt; The comment and the condition were removed.
&gt; 
&gt; &gt;&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1142
&gt; &gt;&gt; +                if (!frameView.fixedLayoutSize().isEmpty() &amp;&amp; frameView.useFixedLayout()) {
&gt; &gt; 
&gt; &gt; Flip the checks.
&gt; 
&gt; The condition is removed. I think we should always render to the maximum of
&gt; the viewport and and the renderBox regardless whether we are in the
&gt; fixedLayoutSize mode or not.
&gt; 
&gt; &gt;&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1143
&gt; &gt;&gt; +                    // Expand viewportRect to borderBoxRect.
&gt; &gt; 
&gt; &gt; Minor: Similiarly this comment explain what the code below does, but does not explain why we should expand the viewport rectangle to the border box rectangle. We should either explain why we need to do this or we should remove this comment.
&gt; 
&gt; The comment was removed.
&gt; 
&gt; &gt;&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1148
&gt; &gt;&gt; +                        viewportRect.setHeight(std::max(viewportRect.height(), borderBoxRect.height()));
&gt; &gt; 
&gt; &gt; I don&apos;t think this part is correct. You can see this by comparing two testcases, one with a fixed background on the body, and one with a fixed background on a 100%x100% div (which hits this code). In the div case, when hitting the fixed layout size threshold as the window is getting narrower, there&apos;s an obvious breakpoint where the background size changes. This shouldn&apos;t happen.
&gt; 
&gt; The condition for fixedLayoutSize() was removed so we should not have a
&gt; breakpoint when the viewport size changes.

This logic about expanding the background-image destinationRect to the borderBox in the case of useFixedLayoutSize() was wrong. We should use FrameView::fixedLayoutSize() all the times.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111015</commentid>
    <comment_count>14</comment_count>
      <attachid>257144</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-21 12:57:43 -0700</bug_when>
    <thetext>Comment on attachment 257144
Patch

Clearing flags on attachment: 257144

Committed r187116: &lt;http://trac.webkit.org/changeset/187116&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111016</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-21 12:57:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>256986</attachid>
            <date>2015-07-17 14:11:43 -0700</date>
            <delta_ts>2015-07-17 14:11:43 -0700</delta_ts>
            <desc>background-size-cover.html</desc>
            <filename>background-size-cover.html</filename>
            <type>text/html</type>
            <size>986</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+Cgo8aHRtbD4KPGhlYWQ+CiAgICA8c3R5bGU+CiAgICAgICAgaHRtbCB7
CiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOwogICAgICAgIH0KICAgICAgICAK
ICAgICAgICBib2R5IHsKICAgICAgICAgICAgaGVpZ2h0OiAyMDAwcHg7CiAgICAgICAgICAgIGJh
Y2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChibHVlLCBibHVlIDEwcHgsIHdoaXRlIDEw
cHgsIGJsYWNrIDc5MHB4LCByZWQgNzkwcHgpCiAgICAgICAgICAgICAgICAsIGxpbmVhci1ncmFk
aWVudChibHVlLCBibHVlIDEwcHgsIHdoaXRlIDEwcHgsIGJsYWNrIDc5MHB4LCByZWQgNzkwcHgp
CiAgICAgICAgICAgICAgICAsIGxpbmVhci1ncmFkaWVudChibHVlLCBibHVlIDEwcHgsIHdoaXRl
IDEwcHgsIGJsYWNrIDc5MHB4LCByZWQgNzkwcHgpCiAgICAgICAgICAgICAgICA7CiAgICAgICAg
ICAgIGJhY2tncm91bmQtc2l6ZTogMzAwcHggODAwcHgsIDMwMHB4IDEwMCUsIDMwMHB4IDgwMHB4
OwogICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGJvdHRvbSwgY2VudGVyIGJv
dHRvbSwgcmlnaHQgdG9wOwogICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0
OwogICAgICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkOwogICAgICAgIH0KICAg
IDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CiAgICA8cD5JZiB0aGUgd2luZG93IGlzIHRhbGwgZW5v
dWdoLCB5b3Ugc2hvdWxkIHNlZSBhIHJlZCBzdHJpcGUgYXQgdGhlIGJvdHRvbSBvZiBlYWNoIGNv
bHVtbiAod2lkZXIgb24gdGhlIG1pZGRsZSBvbmUpLiBUaGVyZSBzaG91bGQgYmUgYSBibHVlIHN0
cmlwZSBhdCB0aGUgdG9wIG9mIHRoZSBsZWZ0IGNvbHVtbi4gU2Nyb2xsaW5nIHNob3VsZCByZXZl
YWwgYSBibHVlIHN0cmlwZSBhdCB0aGUgdG9wIG9mIHRoZSBvdGhlciB0d28gY29sdW1ucy48L3A+
CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>256987</attachid>
            <date>2015-07-17 14:12:32 -0700</date>
            <delta_ts>2015-07-17 14:12:32 -0700</delta_ts>
            <desc>fixed-gradient-background.html</desc>
            <filename>fixed-gradient-background.html</filename>
            <type>text/html</type>
            <size>3386</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+Cgo8aHRtbD4KPGhlYWQ+CiAgICA8c3R5bGU+CiAgICAKICAgIGJvZHkg
ewogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBoZWlnaHQ6IDIwMDBweDsKICAgIH0KCiAgICBk
aXYgewogICAgICAgIGJhY2tncm91bmQ6IHVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9S
dzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQVFBQ0FJQUFBQVArOHlHQUFBQUdYUkZXSFJUYjJaMGQy
RnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUIreEpSRUZVZU5yc1hWbHk0em9RRTF5
dWVvZVp3OHo5VDRQbjJGbVVUR1J4UTF0TndYOHppZE5tTHdDNlNWUDQ3OC9mUmZtNkxPS1hEZGhB
QWdOWDJFVTIwSjFGZ3IrSkh3YmdHTHc2eUxDTGJDQUhGa0c2QW1PUnNjaktMcUNTWFdpdVpMdklk
ZUE2U0VFNFRsTWI2SzhEWjVFTkhKMHk1WEJkSk4vWjNTZnZ2T0Fzc3Fwd2tNM0pCd0E3QjlsWjVD
QWJLZ29zV0JkbE1JQU5QMkpzRXdqSHdDMVUyaGlVWXcvVlFjWVJnK3hDYzMvZ0dFeXhmMkQ1bmtO
ZGw3ellvNjU3eU1odHJCdVFJVUdHdXRDVzNJV21TRk9xQ3cyV2ptZFRGZElraFNJR01LTloyZVdE
aWdtbUxUNTY0aGdNS0xRZDVkU3A3d2FmczhPRXBHL2hkUVlYNlllQzFrWG1nd1FkRG9xbkFzUFNG
STZCMC9Sb2ZHREtkQnRyRi9sN09JYnJCQzdxa3U4c2c0cVJYYkdiUVBmSktlSDZIeGR4ZkpDRnpj
RXNwSS8wYVdvWE9ZdU1wdTV3NW5kUk85aFI3U0tjSzR1d2NpbEVXWVMwTG9MNVlIN2g1Ym1wdTB4
bmtYWFJLVnhrUmp2REtLRjBBZVVMcGJvTzRDQWJLaXhid29Qc2NZNkRiQmROY1JtRDVidDdOQWZa
eDZJTmRxNERYeTkwQ2hjWjdGd0hkcEgzY0Z3SFkxWlFiMkwzUUFLK3hhRCtoVU5sMFJtSGdsUkRC
YW9NRHJoNUJ1UHI0RmhCOW1GSzkyaDJrV2ZYSldqYTdTSzhQRTE5ODR6Q1JWUzdDSzVrZzkxVTZ2
clMwNzIwdWlqWFhRa243Wk5QMXg4Y29JMUZHYjM5ZXIzSmdJa1hudjdJaEhNSXdqbEFtcDY3a2gz
a3lpRERRWjVST2s2eHhUTG1oUTI2MWdZWkRyS1djRkNZUmVweHppTEc2eG1DakNSUXNaVmtFeHpz
enQralpaK2J3cXJpR0twQ3FuOUR3RTVqQWtIaU56OWx5bGR3aVlEcjlDdTRoWm1LQ2xnVERsd0hV
NjhnNERob1dRUEQxWCt5cHNNcGRSRWFXUzlJRjdHOXlTdUxBUktucWZkd3ZJS0lQcm56bGx0dEhV
QlBPSGgwK3RUZzBCZFUvSXAzR0J0a3lOTFVZR2V3Njhvd3FsY0FhOU5UcE9rWlp0ZmRuQ3d2dFBT
akJKUTNhRTN6aExKQ2c2RWk3YXhpQnZFYlVXaVdqdDJGZG53K1NGOW9saTNuS0RScG1sN2toV2JT
NzB0VDlqOWQ1bEZvM0RQVEhtWTVtbDRDK2dNcVY4RDhoV1krTUIrTUVsNlVyUUNYQU9GRktlZW8w
NVRtNU5jMzRwZVlpWmUwMEphQVFsUFdnUm50SUtNRTdnclE1ODlqeDVQMzNWY0FGcFJrMjA5eFdi
UnBLby9CclE2ZU9mRHJoL2p0bjhVclFFVjhhNDhCQll4emVwdWs1NnRIeEVCS21LWTNxSjZCTWtP
R2dteDg5KzRLOEpaRnJXMHNTajREODhkZ0N1SGxTdFpsRVhmZitsSEpaQ2svc2E2YVB5b1pJNnQz
b2tybVNoZFI5UEVEbEIxYit3T1dydUxhcy81eWJhcnpVa1FNeEIxTzBOZkZoSVRUSVIyTFpFc1A0
ZUF3VUNGdnhOTVBRNVJRUVRWVTNIVVJGbEVUeFpwWnhhRVpMUURzcElUVDBVSWRTSGhwWFpRZmk1
WWxlWStXSEs3dldBUXhGbW1EakZtQy9Ca0dkamRzL0ExTm03dlVBcm5INjZpLy9FUTY2c2ErYy9R
SElRTXBNOXFybThBMzhkTGFqcTF2SHVWMkU3Z2ZaQmJmY2RxdTdCb0g5SlJ2RWdYSmQ1a04zbFpB
UGVuL1NCUU1LNEtmZk1EUkVZN2lBMm1ISXo4Wk1nRWZ5RmVRSFNvaVZwQldGM0ZkQjVUWlFFUWRj
QkVUanI0T3RNZC8wdk5CeXlnQlZiOTZyUTl5N1JQZTFJVHo5ZGZab2E0MzMxZ0lGV3lNeWIwL1VD
cTcyeDlQUHZtZGd6Sm5JSDFDeURmNDNBR1IzQlYySi8xbmhkYTlOQzV6S0x1MWpiRlZUWFYvRU5i
aENQOStCRnovVXdjRDQweFNIV1JjdDRzV1krcGdld1ZqVmhiQ3lSTFYrUDdCSDR3bVV5NkFldUpG
emdmWEpVRXV2MzIwRWE1cnpsN3lJMDFaK2ZtTExWd3JEbzZ6clpLMWFib0hGZDBiajdOd3NyelFk
SEhHblpPRm93VE9zY1VpTlFEOTE0ZkZMZFFON0ZpTFpEWHpJazR3TDRyazVLMUdkclVWKzJDbkg3
ZURZNHY0VUxLZnpGL2N2dk8xd05XKzNIMC9XVHhhOWlaUkNkaHBDY2ZxdWdpdXBZUndoZFpEQWRv
VUxTaGZjZzRGbjMweVd6NVk4ZS9NTUMrYVlDY3dZQmdpalFHVUZrQnhmN0M0UnpObDV1aVRvWTZC
cGVQcjY4QllaQ3d5RmpGc2s0aE5RcjBRaS9qRVMrd01nVm9YQldFUjFmMEJjdmNIeWhoZ2VUK2FM
anpQdWx6RUhscENaaFZLTUYzVWxSeHpIRlFlQTEyaVBtS3dDTS95MGFTL1R6Z3hhYXFjT3VyQmJv
S1Q0OUtaSGRTRjF0WWYxSHhOdW1sbVY3V1phVTR1NG9NSnBLTlFPYjV0dVZPcEhPOVlCT0VDUG5a
QVpOb0w0bDBvcUNuelFUaEt4bng4Q1oyYmtNa25od1BLTEd3U0RyNERKMDVaeVE4WFFkdUhCOTFY
a1hvL09jUkZ6eEtwR3dYM3NvaTlVQkYwSVlhUU51VzdzWEpsRjNKcG9WVFpSWWhmOFFPYTA3ZXhR
V0NYK1Z6RkJWcmxHSFFyb3NIdXhXbks1SmRVaGR4bng5VGY1b3JUUlRvRFhISnZ1Y2RBaGJqRFdY
SWZwZ3lDaXJUQ0s0TDBKeGlHYUIvVmFGVnhDbFdSZlI5dEJzck16OGtYQk13cWtuODNWaDZEOUYx
bTBQU2Rzb2RRZkJBT05BRXc0YmdCTWFPdFZJWHI0SGtkTUcyaFFSMWt6aEhrbUFmdWVNUGFsTmxk
eVVoZHlYSTBOU2Vmd0VVbWZiZXhOakNGcWxBTEwyZlJDYkFvNWdpV3M4aTZ5RkNSLzBrbUZsNnVn
MTREQWZNaW4vazlnL0NDWGZSUzByZXlzd0hYZ2JYcEtWU0Y2OENrYndNbWZST09EZGpBTWFEaWNh
RjJhVmY5alRxMm5nbkhyMytpdXBKWjgxTk9FMlJ6c2cyTW84eUdCN2pWWVJFZEF4dXdnYXlOdU5W
MUVkaVprMjNBQnR6cDI4QXc2WWo2bnErNGhSSXFVdy9IM1NmYndDd0dmUFRFQmhJWUVET09HYzJF
WXdNMlVGUUhzSXRlSFFOb3J4eVB5U0tqcVN1NW01UGhHTHc0VGZVYkZKQi9vODVaZEFLd2cxMjBv
eXF3eUIrNDAvVEdraGZmSzFrV1p0ekhPZXBHUEQxVUdFMlBzZ0tzUzJORWlYM1YybzhHQktQTEFQ
OExNQUNtRmIxWXdBTFFyd0FBQUFCSlJVNUVya0pnZ2c9PSIpICMwODJiNGY7CiAgICAgICAgYmFj
a2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDsKICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRh
aW47CiAgICAgICAgd2lkdGg6IDk1MHB4OwogICAgICAgIGhlaWdodDogOTAwcHg7CiAgICAgICAg
Y29sb3I6IHdoaXRlOwogICAgICAgIGZvbnQtc2l6ZTogMTJwdDsKICAgICAgICBib3JkZXI6IDFw
eCBzb2xpZCByZWQ7CiAgICB9CgogICAgPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KICAgIDxkaXY+
CiAgICAgICAgQWZ0ZXIgcGluY2gtem9vbSwgdGhpcyBncmFkaWVudCBzaG91bGQgcmVuZGVyIGNv
cnJlY3RseSAoZmlsbCB0aGUgYm94LCBubyBvcmFuZ2Ugc3RyaXBlIGF0IHRoZSB0b3ApLgogICAg
PC9kaXY+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>256988</attachid>
            <date>2015-07-17 14:13:37 -0700</date>
            <delta_ts>2015-07-17 14:13:37 -0700</delta_ts>
            <desc>fixed-root-background.html</desc>
            <filename>fixed-root-background.html</filename>
            <type>text/html</type>
            <size>4144</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+Cgo8aHRtbD4KPGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0iaW5pdGlhbC1zY2FsZT0xLjAiPgogICAgPHN0eWxlPgogICAgICAgIGJvZHkgewog
ICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncw
S0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFRQUNBSUFBQUFQKzh5R0FBQUFHWFJGV0hSVGIyWjBkMkZ5
WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFCK3hKUkVGVWVOcnNYVmx5NHpvUUUxeXVl
b2Vadzh6OVQ0UG4yRm1VVEdSeFExdE53WDh6aWRObUx3QzZTVlA0NzgvZlJmbTZMT0tYRGRoQUFn
TlgyRVUyMEoxRmdyK0pId2JnR0x3NnlMQ0xiQ0FIRmtHNkFtT1JzY2pLTHFDU1hXaXVaTHZJZGVB
NlNFRTRUbE1iNks4RFo1RU5ISjB5NVhCZEpOL1ozU2Z2dk9Bc3NxcHdrTTNKQndBN0I5bFo1Q0Fi
S2dvc1dCZGxNSUFOUDJKc0V3akh3QzFVMmhpVVl3L1ZRY1lSZyt4Q2MzL2dHRXl4ZjJENW5rTmRs
N3pZbzY1N3lNaHRyQnVRSVVHR3V0Q1czSVdtU0ZPcUN3MldqbWRURmRJa2hTSUdNS05aMmVXRGln
bW1MVDU2NGhnTUtMUWQ1ZFNwN3dhZnM4T0VwRy9oZFFZWDZZZUMxa1htZ3dRZERvcW5Bc1BTRkk2
QjAvUm9mR0RLZEJ0ckYvbDdPSWJyQkM3cWt1OHNnNHFSWGJHYlFQZkpLZUg2SHhkeGZKQ0Z6Y0Vz
cEkvMGFXb1hPWXVNcHU1dzVuZFJPOWhSN1NLY0s0dXdjaWxFV1lTMExvTDVZSDdoNWJtcHUweG5r
WFhSS1Z4a1JqdkRLS0YwQWVVTHBib080Q0FiS2l4YndvUHNjWTZEYkJkTmNSbUQ1YnQ3TkFmWng2
SU5kcTREWHk5MENoY1o3RndIZHBIM2NGd0hZMVpRYjJMM1FBSyt4YUQraFVObDBSbUhnbFJEQmFv
TURyaDVCdVByNEZoQjltRks5Mmgya1dmWEpXamE3U0s4UEUxOTg0ekNSVlM3Q0s1a2c5MVU2dnJT
MDcyMHVpalhYUWtuN1pOUDF4OGNvSTFGR2IzOWVyM0pnSWtYbnY3SWhITUl3amxBbXA2N2toM2t5
aUREUVo1Uk9rNnh4VExtaFEyNjFnWVpEcktXY0ZDWVJlcHh6aUxHNnhtQ2pDUlFzWlZrRXh6c3p0
K2paWitid3FyaUdLcENxbjlEd0U1akFrSGlOejlseWxkd2lZRHI5Q3U0aFptS0NsZ1REbHdIVTY4
ZzREaG9XUVBEMVgreXBzTXBkUkVhV1M5SUY3Rzl5U3VMQVJLbnFmZHd2SUtJUHJuemxsdHRIVUJQ
T0hoMCt0VGcwQmRVL0lwM0dCdGt5TkxVWUdldzY4b3dxbGNBYTlOVHBPa1padGZkbkN3dnRQU2pC
SlEzYUUzemhMSkNnNkVpN2F4aUJ2RWJVV2lXanQyRmRudytTRjlvbGkzbktEUnBtbDdraFdiUzcw
dFQ5ajlkNWxGbzNEUFRIbVk1bWw0QytnTXFWOEQ4aFdZK01CK01FbDZVclFDWEFPRkZLZWVvMDVU
bTVOYzM0cGVZaVplMDBKYUFRbFBXZ1JudElLTUU3Z3JRNTg5ang1UDMzVmNBRnBSazIwOXhXYlJw
S28vQnJRNmVPZkRyaC9qdG44VXJRRVY4YTQ4QkJZeHplcHVrNTZ0SHhFQkttS1kzcUo2Qk1rT0dn
bXg4OSs0SzhKWkZyVzBzU2o0RDg4ZGdDdUhsU3RabEVYZmYrbEhKWkNrL3NhNmFQeW9aSTZ0M29r
cm1TaGRSOVBFRGxCMWIrd09XcnVMYXMvNXliYXJ6VWtRTXhCMU8wTmZGaElUVElSMkxaRXNQNGVB
d1VDRnZ4Tk1QUTVSUVFUVlUzSFVSRmxFVHhacFp4YUVaTFFEc3BJVFQwVUlkU0hocFhaUWZpNVls
ZVkrV0hLN3ZXQVF4Rm1tRGpGbUMvQmtHZGpkcy9BMU5tN3ZVQXJuSDY2aS8vRVE2NnNhK2MvUUhJ
UU1wTTlxcm04QTM4ZExhanExdkh1VjJFN2dmWkJiZmNkcXU3Qm9IOUpSdkVnWEpkNWtOM2xaQVBl
bi9TQlFNSzRLZmZNRFJFWTdpQTJtSEl6OFpNZ0VmeUZlUUhTb2lWcEJXRjNGZEI1VFpRRVFkY0JF
VGpyNE90TWQvMHZOQnl5Z0JWYjk2clE5eTdSUGUxSVR6OWRmWm9hNDMzMWdJRld5TXliMC9VQ3E3
Mng5UFB2bWRnekpuSUgxQ3lEZjQzQUdSM0JWMkovMW5oZGE5TkM1ektMdTFqYkZWVFhWL0VOYmhD
UDkrQkZ6L1V3Y0Q0MHhTSFdSY3Q0c1dZK3BnZXdWalZoYkN5UkxWK1A3Qkg0d21VeTZBZXVKRnpn
ZlhKVUV1djMyMEVhNXJ6bDd5STAxWitmbUxMVndyRG82enJaSzFhYm9IRmQwYmo3TndzcnpRZEhI
R25aT0Zvd1RPc2NVaU5RRDkxNGZGTGRRTjdGaUxaRFh6SWs0d0w0cms1SzFHZHJVVisyQ25IN2VE
WTR2NFVMS2Z6Ri9jdnZPMXdOVyszSDAvV1R4YTlpWlJDZGhwQ2NmcXVnaXVwWVJ3aGRaREFkb1VM
U2hmY2c0Rm4zMHlXejVZOGUvTU1DK2FZQ2N3WUJnaWpRR1VGa0J4ZjdDNFJ6Tmw1dWlUb1k2QnBl
UHI2OEJZWkN3eUZqRnNrNGhOUXIwUWkvakVTK3dNZ1ZvWEJXRVIxZjBCY3ZjSHloaGdlVCthTGp6
UHVsekVIbHBDWmhWS01GM1VsUnh6SEZRZUExMmlQbUt3Q00veTBhUy9Uemd4YWFxY091ckJib0tU
NDlLWkhkU0YxdFlmMUh4TnVtbG1WN1daYVU0dTRvTUpwS05RT2I1dHVWT3BITzlZQk9FQ1BuWkFa
Tm9MNGwwb3FDbnpRVGhLeG54OENaMmJrTWtuaHdQS0xHd1NEcjRESjA1WnlROFhRZHVIQjkxWGtY
by9PY1JGenhLcEd3WDNzb2k5VUJGMElZYVFOdVc3c1hKbEYzSnBvVlRaUlloZjhRT2EwN2V4UVdD
WCtWekZCVnJsR0hRcm9zSHV4V25LNUpkVWhkeG54OVRmNW9yVFJUb0RYSEp2dWNkQWhiakRXWElm
cGd5Q2lyVENLNEwwSnhpR2FCL1ZhRlZ4Q2xXUmZSOXRCc3JNejhrWEJNd3FrbjgzVmg2RDlGMW0w
UFNkc29kUWZCQU9OQUV3NGJnQk1hT3RWSVhyNEhrZE1HMmhRUjFremhIa21BZnVlTVBhbE5sZHlV
aGR5WEkwTlNlZndFVW1mYmV4TmpDRnFsQUxMMmZSQ2JBbzVnaVdzOGk2eUZDUi8wa21GbDZ1ZzE0
REFmTWluL2s5Zy9DQ1hmUlMwcmV5c3dIWGdiWHBLVlNGNjhDa2J3TW1mUk9PRGRqQU1hRGljYUYy
YVZmOWpUcTJuZ25IcjMraXVwSlo4MU5PRTJSenNnMk1vOHlHQjdqVllSRWRBeHV3Z2F5TnVOVjFF
ZGlaazIzQUJ0enAyOEF3NllqNm5xKzRoUklxVXcvSDNTZmJ3Q3dHZlBURUJoSVlFRE9PR2MyRVl3
TTJVRlFIc0l0ZUhRTm9yeHlQeVNLanFTdTVtNVBoR0x3NFRmVWJGSkIvbzg1WmRBS3dnMTIwb3lx
d3lCKzQwL1RHa2hmZksxa1dadHpIT2VwR1BEMVVHRTJQc2dLc1MyTkVpWDNWMm84R0JLUExBUDhM
TUFDbUZiMVl3QUxRcndBQUFBQkpSVTVFcmtKZ2dnPT0iKSAjMDgyYjRmOwogICAgICAgICAgICBi
YWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkOwogICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6
IGNvbnRhaW47CiAgICAgICAgICAgIHdpZHRoOiAxMjAwcHg7CiAgICAgICAgfQogICAgICAgIAog
ICAgICAgIC5jb250ZW50cyB7CiAgICAgICAgICAgIG1hcmdpbjogMTAwcHg7CiAgICAgICAgfQog
ICAgICAgIAogICAgICAgIC5maXhlZCB7CiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAg
ICAgICAgICAgYm90dG9tOiAwOwogICAgICAgICAgICByaWdodDogMDsKICAgICAgICAgICAgd2lk
dGg6IDEwMHB4OwogICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OwogICAgICAgICAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiBncmVlbjsKICAgICAgICB9CiAgICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoK
ICAgIDxkaXYgY2xhc3M9ImNvbnRlbnRzIj4KICAgICAgICA8cD5UaGlzIGlzIHRoZSA8Y29kZT5m
aXhlZEJhY2tncm91bmRQYWludHNJbkxvY2FsQ29vcmRpbmF0ZXMoKTwvY29kZT4gcGF0aC4gVGhl
cmUgc2hvdWxkIGJlIGEgYmx1ZSBzdHJpcGUgYXQgdGhlIHRvcC4gWW91IHNob3VsZCBub3Qgc2Vl
IGdhcmJhZ2UgcGl4ZWxzIG9uIHBpbmNoLXpvb20uPC9wPgogICAgICAgIExvcmVtIGlwc3VtIGRv
bG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21v
ZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQg
ZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBs
YWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRl
IGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2ls
bHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2Fl
Y2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVz
ZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNs
YXNzPSJmaXhlZCI+CiAgICA8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256995</attachid>
            <date>2015-07-17 15:12:03 -0700</date>
            <delta_ts>2015-07-17 18:59:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147049-20150717151053.patch</filename>
            <type>text/plain</type>
            <size>10852</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4Njk2MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDE1LTA3LTE3ICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TiAocjE3MjQxNywgcjE4NDA2NSk6IE11bHRpcGxlIHJlbmRlcmluZyBpc3N1ZXMgd2l0aCBmaXhl
ZCBhdHRhY2hlZCBiYWNrZ3JvdW5kLWltYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDcwNDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGUgZml4ZWQtYXR0YWNoZWQgYmFja2dyb3VuZC1pbWFnZSBy
ZW5kZXJpbmcgaXMgc3BlY2lhbC4gSW4gZ2VuZXJhbCwgdG8KKyAgICAgICAgZGlzcGxheSBpdCwg
dGhlIGRlc3RpbmF0aW9uU2l6ZSBzaG91bGQgYmUgc2V0IHRvIHZpc2libGVDb250ZW50U2l6ZS4g
VGhlCisgICAgICAgIGRlc3RpbmF0aW9uTG9jYXRpb24gc2hvdWxkIGJlIHNldCBzdWNoIHRoYXQg
dGhlIGJhY2tncm91bmQtaW1hZ2UgZG9lcworICAgICAgICBub3QgbW92ZSB3aXRoIHNjcm9sbGlu
Zy4gVGhlIHRvcENvbnRlbnRJbnNldCBzaG91bGQgYmUgc3VidHJhY3RlZCBmcm9tCisgICAgICAg
IHRoZSBkZXN0aW5hdGlvbkxvY2F0aW9uIHN1Y2ggdGhhdCBiYWNrZ3JvdW5kLWltYWdlIGNhbiBi
ZSByZW5kZXJlZCBibHVycmVkCisgICAgICAgIGluIHRoZSB0b3BDb250ZW50QXJlYS4gSG93ZXZl
ciB0aGVyZSBhcmUgY2FzZXMgaW4gd2hpY2ggdGhlc2UgcnVsZXMgaGF2ZSB0bworICAgICAgICBi
ZSBjaGFuZ2VkLgorICAgICAgICAKKyAgICAgICAgLS0gZGVzdGluYXRpb25TaXplOiBJbiB0aGUg
Y2FzZSBvZiBmaXhlZCBsYXlvdXQgc2l6ZSwgdGhlIGZpeGVkTGF5b3V0U2l6ZQorICAgICAgICBp
cyBiaWdnZXIgdGhhbiB0aGUgdmlzaWJsZUNvbnRlbnRTaXplLiBJbiB0aGlzIGNhc2UsIGlmIHRo
ZSBiYWNrZ3JvdW5kLWltYWdlCisgICAgICAgIGJlbG9uZ3MgdG8gdGhlIHJvb3QgZWxlbWVudCwg
dGhlIGRlc3RpbmF0aW9uU2l6ZSBoYXMgdG8gYmUgc2V0IHRvIGZpeGVkTGF5b3V0U2l6ZS4KKyAg
ICAgICAgT3RoZXJ3aXNlIGl0IGhhcyB0byBiZSBzZXQgdG8gdGhlIGJvcmRlckJveFNpemUgdW5s
ZXNzIHRoZSBvdmVyZmxvdyBpcworICAgICAgICBoaWRkZW4uCisgICAgICAgIAorICAgICAgICAt
LSBkZXN0aW5hdGlvbkxvY2F0aW9uOiBJZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiZWxvbmdzIHRv
IHRoZSByb290IGVsZW1lbnQsIG5vCisgICAgICAgIHNjcm9sbCBvZmZzZXQgdG8gYWRkZWQgdG8g
ZGVzdGluYXRpb25Mb2NhdGlvbi4gRm9yIG5vbi1yb290IGVsZW1lbnQgY2FzZSwKKyAgICAgICAg
RnJhbWVWaWV3Ojpkb2N1bWVudFNjcm9sbE9mZnNldFJlbGF0aXZlVG9WaWV3T3JpZ2luKCkgc2hv
dWxkIGJlIHVzZWQgaWYgbm8gcGFnZQorICAgICAgICBzY2FsaW5nIGlzIGFwcGxpZWQuIE90aGVy
d2lzZSBGcmFtZVZpZXc6OnNjcm9sbE9mZnNldEZvckZpeGVkUG9zaXRpb24oKSBzaG91bGQgYmUK
KyAgICAgICAgdXNlZCBpbnN0ZWFkLgorICAgICAgICAKKyAgICAgICAgVGVzdHM6IHBsYXRmb3Jt
L21hYy13azIvdGlsZWQtZHJhd2luZy9maXhlZC1sYXlvdXQtc2l6ZS1maXhlZC1hdHRhY2htZW50
LWNvdmVyLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2lu
Zy9maXhlZC1sYXlvdXQtc2l6ZS1maXhlZC1hdHRhY2htZW50LWxvY2FsLmh0bWwKKworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6Y2FsY3VsYXRlQmFja2dyb3VuZEltYWdlR2VvbWV0cnkp
OiBFbnN1cmUKKyAgICAgICAgdGhlIGdlb21ldHJ5IGZvciB0aGUgZml4ZWQtYXR0YWNoZWQgYmFj
a2dyb3VuZC1pbWFnZSBpcyBjYWxjdWxhdGVkIGNvcnJlY3RseS4KKyAgICAgICAgCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdlb21ldHJ5KTogRW5zdXJlIHRoZSBiYWNrZ3JvdW5k
IGxheWVyCisgICAgICAgIGdldHMgdGhlIGNvcnJlY3Qgc2l6ZSBmb3IgdGhlIGZpeGVkTGF5b3V0
U2l6ZSBtb2RlLgorCiAyMDE1LTA3LTE3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBs
ZS5jb20+CiAKICAgICAgICAgU2Nyb2xsVmlldy5oIHNob3VsZCBiZSBzZWxmLWNvbnRhaW5lZApJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmpl
Y3QuY3BwCShyZXZpc2lvbiAxODY4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94TW9kZWxPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTE1LDEzICsxMTE1LDM5
IEBAIEJhY2tncm91bmRJbWFnZUdlb21ldHJ5IFJlbmRlckJveE1vZGVsT2IKICAgICAgICAgICAg
IHZpZXdwb3J0UmVjdCA9IHZpZXcoKS51bnNjYWxlZERvY3VtZW50UmVjdCgpOwogICAgICAgICBl
bHNlIHsKICAgICAgICAgICAgIEZyYW1lVmlldyYgZnJhbWVWaWV3ID0gdmlldygpLmZyYW1lVmll
dygpOwotICAgICAgICAgICAgdmlld3BvcnRSZWN0LnNldFNpemUoZnJhbWVWaWV3LnVuc2NhbGVk
VmlzaWJsZUNvbnRlbnRTaXplSW5jbHVkaW5nT2JzY3VyZWRBcmVhKCkpOwotICAgICAgICAgICAg
dG9wQ29udGVudEluc2V0ID0gZnJhbWVWaWV3LnRvcENvbnRlbnRJbnNldChTY3JvbGxWaWV3OjpU
b3BDb250ZW50SW5zZXRUeXBlOjpXZWJDb3JlT3JQbGF0Zm9ybUNvbnRlbnRJbnNldCk7CiAKLSAg
ICAgICAgICAgIGlmIChmaXhlZEJhY2tncm91bmRQYWludHNJbkxvY2FsQ29vcmRpbmF0ZXMoKSkK
LSAgICAgICAgICAgICAgICB2aWV3cG9ydFJlY3Quc2V0TG9jYXRpb24oTGF5b3V0UG9pbnQoMCwg
LXRvcENvbnRlbnRJbnNldCkpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHZp
ZXdwb3J0UmVjdC5zZXRMb2NhdGlvbih0b0xheW91dFBvaW50KGZyYW1lVmlldy5kb2N1bWVudFNj
cm9sbE9mZnNldFJlbGF0aXZlVG9WaWV3T3JpZ2luKCkpKTsKKyAgICAgICAgICAgIC8vIEZpeGVk
IGJhY2tncm91bmQtaW1hZ2Ugb24gdGhlIHJvb3QgZWxlbWVudAorICAgICAgICAgICAgaWYgKGZp
eGVkQmFja2dyb3VuZFBhaW50c0luTG9jYWxDb29yZGluYXRlcygpKSB7CisKKyAgICAgICAgICAg
ICAgICAvLyBGaXhlZCBsYXlvdXQgc2l6ZQorICAgICAgICAgICAgICAgIGlmICghZnJhbWVWaWV3
LmZpeGVkTGF5b3V0U2l6ZSgpLmlzRW1wdHkoKSAmJiBmcmFtZVZpZXcudXNlRml4ZWRMYXlvdXQo
KSkKKyAgICAgICAgICAgICAgICAgICAgdmlld3BvcnRSZWN0LnNldFNpemUoZnJhbWVWaWV3LmZp
eGVkTGF5b3V0U2l6ZSgpKTsKKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAg
ICAgICAgdG9wQ29udGVudEluc2V0ID0gZnJhbWVWaWV3LnRvcENvbnRlbnRJbnNldChTY3JvbGxW
aWV3OjpUb3BDb250ZW50SW5zZXRUeXBlOjpXZWJDb3JlT3JQbGF0Zm9ybUNvbnRlbnRJbnNldCk7
CisgICAgICAgICAgICAgICAgICAgIHZpZXdwb3J0UmVjdC5zZXRMb2NhdGlvbihMYXlvdXRQb2lu
dCgwLCAtdG9wQ29udGVudEluc2V0KSk7CisgICAgICAgICAgICAgICAgICAgIHZpZXdwb3J0UmVj
dC5zZXRTaXplKGZyYW1lVmlldy51bnNjYWxlZFZpc2libGVDb250ZW50U2l6ZUluY2x1ZGluZ09i
c2N1cmVkQXJlYSgpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgICAgIC8vIFNjYWxlZCBwYWdlCisgICAgICAgICAgICAgICAgaWYgKGZyYW1l
Vmlldy5mcmFtZVNjYWxlRmFjdG9yKCkgIT0gMSkKKyAgICAgICAgICAgICAgICAgICAgdmlld3Bv
cnRSZWN0LnNldExvY2F0aW9uKHRvTGF5b3V0UG9pbnQoZnJhbWVWaWV3LnNjcm9sbE9mZnNldEZv
ckZpeGVkUG9zaXRpb24oKSkpOworICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAg
ICAgICAgICB0b3BDb250ZW50SW5zZXQgPSBmcmFtZVZpZXcudG9wQ29udGVudEluc2V0KFNjcm9s
bFZpZXc6OlRvcENvbnRlbnRJbnNldFR5cGU6OldlYkNvcmVPclBsYXRmb3JtQ29udGVudEluc2V0
KTsKKyAgICAgICAgICAgICAgICAgICAgdmlld3BvcnRSZWN0LnNldExvY2F0aW9uKHRvTGF5b3V0
UG9pbnQoZnJhbWVWaWV3LmRvY3VtZW50U2Nyb2xsT2Zmc2V0UmVsYXRpdmVUb1ZpZXdPcmlnaW4o
KSkpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHZpZXdwb3J0UmVjdC5z
ZXRTaXplKGZyYW1lVmlldy51bnNjYWxlZFZpc2libGVDb250ZW50U2l6ZUluY2x1ZGluZ09ic2N1
cmVkQXJlYSgpKTsKKworICAgICAgICAgICAgICAgIC8vIEZpeGVkIGxheW91dCBzaXplCisgICAg
ICAgICAgICAgICAgaWYgKCFmcmFtZVZpZXcuZml4ZWRMYXlvdXRTaXplKCkuaXNFbXB0eSgpICYm
IGZyYW1lVmlldy51c2VGaXhlZExheW91dCgpKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEV4
cGFuZCB2aWV3cG9ydFJlY3QgdG8gYm9yZGVyQm94UmVjdAorICAgICAgICAgICAgICAgICAgICBp
ZiAoc3R5bGUoKS5vdmVyZmxvd1goKSAhPSBPSElEREVOKQorICAgICAgICAgICAgICAgICAgICAg
ICAgdmlld3BvcnRSZWN0LnNldFdpZHRoKHN0ZDo6bWF4KHZpZXdwb3J0UmVjdC53aWR0aCgpLCBi
b3JkZXJCb3hSZWN0LndpZHRoKCkpKTsKKworICAgICAgICAgICAgICAgICAgICBpZiAoc3R5bGUo
KS5vdmVyZmxvd1koKSAhPSBPSElEREVOKQorICAgICAgICAgICAgICAgICAgICAgICAgdmlld3Bv
cnRSZWN0LnNldEhlaWdodChzdGQ6Om1heCh2aWV3cG9ydFJlY3QuaGVpZ2h0KCksIGJvcmRlckJv
eFJlY3QuaGVpZ2h0KCkpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CiAKICAg
ICAgICAgICAgIHRvcCArPSB0b3BDb250ZW50SW5zZXQ7CiAgICAgICAgIH0KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCShyZXZpc2lv
biAxODY4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5n
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTI1LDcgKzkyNSw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJC
YWNraW5nOjp1cGRhdGVHZW9tZXRyeSgKICAgICAgICAgaWYgKGJhY2tncm91bmRMYXllclBhaW50
c0ZpeGVkUm9vdEJhY2tncm91bmQoKSkgewogICAgICAgICAgICAgY29uc3QgRnJhbWVWaWV3JiBm
cmFtZVZpZXcgPSByZW5kZXJlcigpLnZpZXcoKS5mcmFtZVZpZXcoKTsKICAgICAgICAgICAgIGJh
Y2tncm91bmRQb3NpdGlvbiA9IHRvTGF5b3V0UG9pbnQoZnJhbWVWaWV3LnNjcm9sbE9mZnNldEZv
ckZpeGVkUG9zaXRpb24oKSk7Ci0gICAgICAgICAgICBiYWNrZ3JvdW5kU2l6ZSA9IGZyYW1lVmll
dy52aXNpYmxlQ29udGVudFJlY3QoKS5zaXplKCk7CisgICAgICAgICAgICBiYWNrZ3JvdW5kU2l6
ZSA9IGZyYW1lVmlldy5sYXlvdXRTaXplKCk7CiAgICAgICAgIH0KICAgICAgICAgbV9iYWNrZ3Jv
dW5kTGF5ZXItPnNldFBvc2l0aW9uKGJhY2tncm91bmRQb3NpdGlvbik7CiAgICAgICAgIG1fYmFj
a2dyb3VuZExheWVyLT5zZXRTaXplKGJhY2tncm91bmRTaXplKTsKSW5kZXg6IExheW91dFRlc3Rz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDE4Njk2MykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDE1LTA3LTE3ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBh
cHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjE3MjQxNywgcjE4NDA2NSk6IE11bHRp
cGxlIHJlbmRlcmluZyBpc3N1ZXMgd2l0aCBmaXhlZCBhdHRhY2hlZCBiYWNrZ3JvdW5kLWltYWdl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDcwNDkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAg
IGZpeGVkTGF5b3V0U2l6ZSBiYWNrZ3JvdW5kLWltYWdlIHJlbmRlcmluZyBmb3Igcm9vdCBhbmQg
bm9uLXJvb3QgZWxlbWVudHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRy
YXdpbmcvZml4ZWQtbGF5b3V0LXNpemUtZml4ZWQtYXR0YWNobWVudC1jb3Zlci1leHBlY3RlZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZml4
ZWQtbGF5b3V0LXNpemUtZml4ZWQtYXR0YWNobWVudC1jb3Zlci5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZml4ZWQtbGF5b3V0LXNpemUtZml4
ZWQtYXR0YWNobWVudC1sb2NhbC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZml4ZWQtbGF5b3V0LXNpemUtZml4ZWQtYXR0YWNo
bWVudC1sb2NhbC5odG1sOiBBZGRlZC4KKwogMjAxNS0wNy0xNyAgU2FhbSBiYXJhdGkgIDxzYWFt
YmFyYXRpMUBnbWFpbC5jb20+CiAKICAgICAgICAgRnVuY3Rpb24gcGFyYW1ldGVycyBzaG91bGQg
YmUgcGFyc2VkIGluIHRoZSBzYW1lIHBhcnNlciBhcmVuYSBhcyB0aGUgZnVuY3Rpb24gYm9keQpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2ZpeGVkLWxh
eW91dC1zaXplLWZpeGVkLWF0dGFjaG1lbnQtY292ZXItZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZml4ZWQtbGF5
b3V0LXNpemUtZml4ZWQtYXR0YWNobWVudC1jb3Zlci1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2ZpeGVkLWxh
eW91dC1zaXplLWZpeGVkLWF0dGFjaG1lbnQtY292ZXItZXhwZWN0ZWQuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDIyIEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorICBib2R5IHsK
KyAgICBtYXJnaW46IDA7CisgIH0KKyAgLmNvbnRhaW5lciB7CisgICAgaGVpZ2h0OiAyMDAwcHg7
CisgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICB3aWR0aDogNTAlOworICAgIGhlaWdodDogNTAl
OworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgncmVzb3VyY2VzL2dyZWVuLWJsdWUucG5nJyk7
CisgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDsKKyAgICBiYWNrZ3JvdW5kLXJlcGVh
dDogbm8tcmVwZWF0OworICAgIGJhY2tncm91bmQtc2l6ZTogMzAwcHg7CisgIH0KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj48L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJh
d2luZy9maXhlZC1sYXlvdXQtc2l6ZS1maXhlZC1hdHRhY2htZW50LWNvdmVyLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2ZpeGVk
LWxheW91dC1zaXplLWZpeGVkLWF0dGFjaG1lbnQtY292ZXIuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9maXhlZC1sYXlvdXQt
c2l6ZS1maXhlZC1hdHRhY2htZW50LWNvdmVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwyNyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyAgYm9keSB7CisgICAgbWFyZ2luOiAw
OworICAgIGhlaWdodDogMjAwMHB4OworICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgYmFja2dy
b3VuZDogdXJsKCdyZXNvdXJjZXMvZ3JlZW4tYmx1ZS5wbmcnKSB3aGl0ZTsKKyAgICBiYWNrZ3Jv
dW5kLWF0dGFjaG1lbnQ6IGZpeGVkOworICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsKKyAg
ICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OworICB9Cis8L3N0eWxlPgorPHNjcmlwdD4K
KyAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93LmludGVybmFscykgeworICAg
ICAgd2luZG93LmludGVybmFscy5zZXRGaXhlZExheW91dFNpemUoODAwLCA2MDApOworICAgICAg
d2luZG93LmludGVybmFscy5zZXRQYWdlU2NhbGVGYWN0b3IoMC41LCAwLCAwKTsKKyAgICAgIHdp
bmRvdy5pbnRlcm5hbHMuc2V0VXNlRml4ZWRMYXlvdXQodHJ1ZSk7CisgICAgfQorICB9CisgIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcnVuVGVzdCwgZmFsc2UpOworPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9maXhlZC1sYXlvdXQtc2l6ZS1maXhlZC1hdHRh
Y2htZW50LWxvY2FsLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2ZpeGVkLWxheW91dC1zaXplLWZpeGVkLWF0dGFj
aG1lbnQtbG9jYWwtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9maXhlZC1sYXlvdXQtc2l6ZS1maXhlZC1hdHRh
Y2htZW50LWxvY2FsLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMiBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyAgYm9keSB7CisgICAgbWFyZ2luOiAwOworICB9
CisgIC5jb250YWluZXIgeworICAgIGhlaWdodDogMjAwMHB4OworICAgIG92ZXJmbG93OiBoaWRk
ZW47CisgICAgd2lkdGg6IDUwJTsKKyAgICBoZWlnaHQ6IDUwJTsKKyAgICBiYWNrZ3JvdW5kLWlt
YWdlOiB1cmwoJ3Jlc291cmNlcy9ncmVlbi1ibHVlLnBuZycpOworICAgIGJhY2tncm91bmQtYXR0
YWNobWVudDogZml4ZWQ7CisgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKKyAgICBi
YWNrZ3JvdW5kLXNpemU6IDMwMHB4OworICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cisg
IDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZml4ZWQtbGF5b3V0LXNp
emUtZml4ZWQtYXR0YWNobWVudC1sb2NhbC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9maXhlZC1sYXlvdXQtc2l6ZS1maXhlZC1h
dHRhY2htZW50LWxvY2FsLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZml4ZWQtbGF5b3V0LXNpemUtZml4ZWQtYXR0YWNobWVu
dC1sb2NhbC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzxodG1sPgorPGhl
YWQ+CisgIDxzdHlsZT4KKyAgICBodG1sIHsKKyAgICAgIGJhY2tncm91bmQ6IHdoaXRlOworICAg
IH0KKyAgICBib2R5IHsKKyAgICAgIG1hcmdpbjogMDsKKyAgICAgIGhlaWdodDogMjAwMHB4Owor
ICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICAgIGJhY2tncm91bmQ6IHVybChyZXNvdXJjZXMv
Z3JlZW4tYmx1ZS5wbmcpOworICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDsKKyAg
ICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsKKyAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBu
by1yZXBlYXQ7CisgICAgfQorICA8L3N0eWxlPgorICA8c2NyaXB0PgorICBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICB3aW5kb3cuaW50ZXJu
YWxzLnNldEZpeGVkTGF5b3V0U2l6ZSg4MDAsIDYwMCk7CisgICAgICB3aW5kb3cuaW50ZXJuYWxz
LnNldFBhZ2VTY2FsZUZhY3RvcigwLjUsIDAsIDApOworICAgICAgd2luZG93LmludGVybmFscy5z
ZXRVc2VGaXhlZExheW91dCh0cnVlKTsKKyAgICB9CisgIH0KKyAgd2luZG93LmFkZEV2ZW50TGlz
dGVuZXIoJ2xvYWQnLCBydW5UZXN0LCBmYWxzZSk7CisgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257012</attachid>
            <date>2015-07-17 18:59:47 -0700</date>
            <delta_ts>2015-07-20 16:47:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147049-20150717185837.patch</filename>
            <type>text/plain</type>
            <size>10927</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4Njk2MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBACisyMDE1LTA3LTE3ICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TiAocjE3MjQxNywgcjE4NDA2NSk6IE11bHRpcGxlIHJlbmRlcmluZyBpc3N1ZXMgd2l0aCBmaXhl
ZCBhdHRhY2hlZCBiYWNrZ3JvdW5kLWltYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDcwNDkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIxMTEw
OTM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
ZSBmaXhlZC1hdHRhY2hlZCBiYWNrZ3JvdW5kLWltYWdlIHJlbmRlcmluZyBpcyBzcGVjaWFsLiBJ
biBnZW5lcmFsLCB0bworICAgICAgICBkaXNwbGF5IGl0LCB0aGUgZGVzdGluYXRpb25TaXplIHNo
b3VsZCBiZSBzZXQgdG8gdmlzaWJsZUNvbnRlbnRTaXplLiBUaGUKKyAgICAgICAgZGVzdGluYXRp
b25Mb2NhdGlvbiBzaG91bGQgYmUgc2V0IHN1Y2ggdGhhdCB0aGUgYmFja2dyb3VuZC1pbWFnZSBk
b2VzCisgICAgICAgIG5vdCBtb3ZlIHdpdGggc2Nyb2xsaW5nLiBUaGUgdG9wQ29udGVudEluc2V0
IHNob3VsZCBiZSBzdWJ0cmFjdGVkIGZyb20KKyAgICAgICAgdGhlIGRlc3RpbmF0aW9uTG9jYXRp
b24gc3VjaCB0aGF0IGJhY2tncm91bmQtaW1hZ2UgY2FuIGJlIHJlbmRlcmVkIGJsdXJyZWQKKyAg
ICAgICAgaW4gdGhlIHRvcENvbnRlbnRBcmVhLiBIb3dldmVyIHRoZXJlIGFyZSBjYXNlcyBpbiB3
aGljaCB0aGVzZSBydWxlcyBoYXZlIHRvCisgICAgICAgIGJlIGNoYW5nZWQuCisgICAgICAgIAor
ICAgICAgICAtLSBkZXN0aW5hdGlvblNpemU6IEluIHRoZSBjYXNlIG9mIGZpeGVkIGxheW91dCBz
aXplLCB0aGUgZml4ZWRMYXlvdXRTaXplCisgICAgICAgIGlzIGJpZ2dlciB0aGFuIHRoZSB2aXNp
YmxlQ29udGVudFNpemUuIEluIHRoaXMgY2FzZSwgaWYgdGhlIGJhY2tncm91bmQtaW1hZ2UKKyAg
ICAgICAgYmVsb25ncyB0byB0aGUgcm9vdCBlbGVtZW50LCB0aGUgZGVzdGluYXRpb25TaXplIGhh
cyB0byBiZSBzZXQgdG8gZml4ZWRMYXlvdXRTaXplLgorICAgICAgICBPdGhlcndpc2UgaXQgaGFz
IHRvIGJlIHNldCB0byB0aGUgYm9yZGVyQm94U2l6ZSB1bmxlc3MgdGhlIG92ZXJmbG93IGlzCisg
ICAgICAgIGhpZGRlbi4KKyAgICAgICAgCisgICAgICAgIC0tIGRlc3RpbmF0aW9uTG9jYXRpb246
IElmIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJlbG9uZ3MgdG8gdGhlIHJvb3QgZWxlbWVudCwgbm8K
KyAgICAgICAgc2Nyb2xsIG9mZnNldCB0byBhZGRlZCB0byBkZXN0aW5hdGlvbkxvY2F0aW9uLiBG
b3Igbm9uLXJvb3QgZWxlbWVudCBjYXNlLAorICAgICAgICBGcmFtZVZpZXc6OmRvY3VtZW50U2Ny
b2xsT2Zmc2V0UmVsYXRpdmVUb1ZpZXdPcmlnaW4oKSBzaG91bGQgYmUgdXNlZCBpZiBubyBwYWdl
CisgICAgICAgIHNjYWxpbmcgaXMgYXBwbGllZC4gT3RoZXJ3aXNlIEZyYW1lVmlldzo6c2Nyb2xs
T2Zmc2V0Rm9yRml4ZWRQb3NpdGlvbigpIHNob3VsZCBiZQorICAgICAgICB1c2VkIGluc3RlYWQu
CisgICAgICAgIAorICAgICAgICBUZXN0czogcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5n
L2ZpeGVkLWxheW91dC1zaXplLWZpeGVkLWF0dGFjaG1lbnQtY292ZXIuaHRtbAorICAgICAgICAg
ICAgICAgcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2ZpeGVkLWxheW91dC1zaXplLWZp
eGVkLWF0dGFjaG1lbnQtbG9jYWwuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJv
eE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0
OjpjYWxjdWxhdGVCYWNrZ3JvdW5kSW1hZ2VHZW9tZXRyeSk6IEVuc3VyZQorICAgICAgICB0aGUg
Z2VvbWV0cnkgZm9yIHRoZSBmaXhlZC1hdHRhY2hlZCBiYWNrZ3JvdW5kLWltYWdlIGlzIGNhbGN1
bGF0ZWQgY29ycmVjdGx5LgorICAgICAgICAKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBk
YXRlR2VvbWV0cnkpOiBFbnN1cmUgdGhlIGJhY2tncm91bmQgbGF5ZXIKKyAgICAgICAgZ2V0cyB0
aGUgY29ycmVjdCBzaXplIGZvciB0aGUgZml4ZWRMYXlvdXRTaXplIG1vZGUuCisKIDIwMTUtMDct
MTcgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBTY3Jv
bGxWaWV3Lmggc2hvdWxkIGJlIHNlbGYtY29udGFpbmVkCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAJKHJldmlzaW9uIDE4Njg1
MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTExMTUsMTMgKzExMTUsMzkgQEAgQmFja2dyb3VuZEltYWdlR2Vv
bWV0cnkgUmVuZGVyQm94TW9kZWxPYgogICAgICAgICAgICAgdmlld3BvcnRSZWN0ID0gdmlldygp
LnVuc2NhbGVkRG9jdW1lbnRSZWN0KCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgRnJh
bWVWaWV3JiBmcmFtZVZpZXcgPSB2aWV3KCkuZnJhbWVWaWV3KCk7Ci0gICAgICAgICAgICB2aWV3
cG9ydFJlY3Quc2V0U2l6ZShmcmFtZVZpZXcudW5zY2FsZWRWaXNpYmxlQ29udGVudFNpemVJbmNs
dWRpbmdPYnNjdXJlZEFyZWEoKSk7Ci0gICAgICAgICAgICB0b3BDb250ZW50SW5zZXQgPSBmcmFt
ZVZpZXcudG9wQ29udGVudEluc2V0KFNjcm9sbFZpZXc6OlRvcENvbnRlbnRJbnNldFR5cGU6Oldl
YkNvcmVPclBsYXRmb3JtQ29udGVudEluc2V0KTsKIAotICAgICAgICAgICAgaWYgKGZpeGVkQmFj
a2dyb3VuZFBhaW50c0luTG9jYWxDb29yZGluYXRlcygpKQotICAgICAgICAgICAgICAgIHZpZXdw
b3J0UmVjdC5zZXRMb2NhdGlvbihMYXlvdXRQb2ludCgwLCAtdG9wQ29udGVudEluc2V0KSk7Ci0g
ICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdmlld3BvcnRSZWN0LnNldExvY2F0aW9u
KHRvTGF5b3V0UG9pbnQoZnJhbWVWaWV3LmRvY3VtZW50U2Nyb2xsT2Zmc2V0UmVsYXRpdmVUb1Zp
ZXdPcmlnaW4oKSkpOworICAgICAgICAgICAgLy8gRml4ZWQgYmFja2dyb3VuZC1pbWFnZSBvbiB0
aGUgcm9vdCBlbGVtZW50LgorICAgICAgICAgICAgaWYgKGZpeGVkQmFja2dyb3VuZFBhaW50c0lu
TG9jYWxDb29yZGluYXRlcygpKSB7CisKKyAgICAgICAgICAgICAgICAvLyBGaXhlZCBsYXlvdXQg
c2l6ZS4KKyAgICAgICAgICAgICAgICBpZiAoIWZyYW1lVmlldy5maXhlZExheW91dFNpemUoKS5p
c0VtcHR5KCkgJiYgZnJhbWVWaWV3LnVzZUZpeGVkTGF5b3V0KCkpCisgICAgICAgICAgICAgICAg
ICAgIHZpZXdwb3J0UmVjdC5zZXRTaXplKGZyYW1lVmlldy5maXhlZExheW91dFNpemUoKSk7Cisg
ICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIHRvcENvbnRlbnRJbnNl
dCA9IGZyYW1lVmlldy50b3BDb250ZW50SW5zZXQoU2Nyb2xsVmlldzo6VG9wQ29udGVudEluc2V0
VHlwZTo6V2ViQ29yZU9yUGxhdGZvcm1Db250ZW50SW5zZXQpOworICAgICAgICAgICAgICAgICAg
ICB2aWV3cG9ydFJlY3Quc2V0TG9jYXRpb24oTGF5b3V0UG9pbnQoMCwgLXRvcENvbnRlbnRJbnNl
dCkpOworICAgICAgICAgICAgICAgICAgICB2aWV3cG9ydFJlY3Quc2V0U2l6ZShmcmFtZVZpZXcu
dW5zY2FsZWRWaXNpYmxlQ29udGVudFNpemVJbmNsdWRpbmdPYnNjdXJlZEFyZWEoKSk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAvLyBT
Y2FsZWQgcGFnZS4KKyAgICAgICAgICAgICAgICBpZiAoZnJhbWVWaWV3LmZyYW1lU2NhbGVGYWN0
b3IoKSAhPSAxKQorICAgICAgICAgICAgICAgICAgICB2aWV3cG9ydFJlY3Quc2V0TG9jYXRpb24o
dG9MYXlvdXRQb2ludChmcmFtZVZpZXcuc2Nyb2xsT2Zmc2V0Rm9yRml4ZWRQb3NpdGlvbigpKSk7
CisgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIHRvcENvbnRlbnRJ
bnNldCA9IGZyYW1lVmlldy50b3BDb250ZW50SW5zZXQoU2Nyb2xsVmlldzo6VG9wQ29udGVudElu
c2V0VHlwZTo6V2ViQ29yZU9yUGxhdGZvcm1Db250ZW50SW5zZXQpOworICAgICAgICAgICAgICAg
ICAgICB2aWV3cG9ydFJlY3Quc2V0TG9jYXRpb24odG9MYXlvdXRQb2ludChmcmFtZVZpZXcuZG9j
dW1lbnRTY3JvbGxPZmZzZXRSZWxhdGl2ZVRvVmlld09yaWdpbigpKSk7CisgICAgICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICAgICAgdmlld3BvcnRSZWN0LnNldFNpemUoZnJhbWVWaWV3LnVu
c2NhbGVkVmlzaWJsZUNvbnRlbnRTaXplSW5jbHVkaW5nT2JzY3VyZWRBcmVhKCkpOworCisgICAg
ICAgICAgICAgICAgLy8gRml4ZWQgbGF5b3V0IHNpemUuCisgICAgICAgICAgICAgICAgaWYgKCFm
cmFtZVZpZXcuZml4ZWRMYXlvdXRTaXplKCkuaXNFbXB0eSgpICYmIGZyYW1lVmlldy51c2VGaXhl
ZExheW91dCgpKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEV4cGFuZCB2aWV3cG9ydFJlY3Qg
dG8gYm9yZGVyQm94UmVjdC4KKyAgICAgICAgICAgICAgICAgICAgaWYgKHN0eWxlKCkub3ZlcmZs
b3dYKCkgIT0gT0hJRERFTikKKyAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdwb3J0UmVjdC5z
ZXRXaWR0aChzdGQ6Om1heCh2aWV3cG9ydFJlY3Qud2lkdGgoKSwgYm9yZGVyQm94UmVjdC53aWR0
aCgpKSk7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKHN0eWxlKCkub3ZlcmZsb3dZKCkgIT0g
T0hJRERFTikKKyAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdwb3J0UmVjdC5zZXRIZWlnaHQo
c3RkOjptYXgodmlld3BvcnRSZWN0LmhlaWdodCgpLCBib3JkZXJCb3hSZWN0LmhlaWdodCgpKSk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQogCiAgICAgICAgICAgICB0b3AgKz0g
dG9wQ29udGVudEluc2V0OwogICAgICAgICB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAkocmV2aXNpb24gMTg2ODUxKQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTkyNSw3ICs5MjUsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR2Vv
bWV0cnkoCiAgICAgICAgIGlmIChiYWNrZ3JvdW5kTGF5ZXJQYWludHNGaXhlZFJvb3RCYWNrZ3Jv
dW5kKCkpIHsKICAgICAgICAgICAgIGNvbnN0IEZyYW1lVmlldyYgZnJhbWVWaWV3ID0gcmVuZGVy
ZXIoKS52aWV3KCkuZnJhbWVWaWV3KCk7CiAgICAgICAgICAgICBiYWNrZ3JvdW5kUG9zaXRpb24g
PSB0b0xheW91dFBvaW50KGZyYW1lVmlldy5zY3JvbGxPZmZzZXRGb3JGaXhlZFBvc2l0aW9uKCkp
OwotICAgICAgICAgICAgYmFja2dyb3VuZFNpemUgPSBmcmFtZVZpZXcudmlzaWJsZUNvbnRlbnRS
ZWN0KCkuc2l6ZSgpOworICAgICAgICAgICAgYmFja2dyb3VuZFNpemUgPSBmcmFtZVZpZXcubGF5
b3V0U2l6ZSgpOwogICAgICAgICB9CiAgICAgICAgIG1fYmFja2dyb3VuZExheWVyLT5zZXRQb3Np
dGlvbihiYWNrZ3JvdW5kUG9zaXRpb24pOwogICAgICAgICBtX2JhY2tncm91bmRMYXllci0+c2V0
U2l6ZShiYWNrZ3JvdW5kU2l6ZSk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxODY5NjMpCisrKyBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxNS0w
Ny0xNyAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAg
ICAgIFJFR1JFU1NJT04gKHIxNzI0MTcsIHIxODQwNjUpOiBNdWx0aXBsZSByZW5kZXJpbmcgaXNz
dWVzIHdpdGggZml4ZWQgYXR0YWNoZWQgYmFja2dyb3VuZC1pbWFnZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3MDQ5CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8yMTExMDkzNj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KyAgICAgICAgCisgICAgICAgIGZpeGVkTGF5b3V0U2l6ZSBiYWNrZ3JvdW5kLWltYWdlIHJlbmRl
cmluZyBmb3Igcm9vdCBhbmQgbm9uLXJvb3QgZWxlbWVudHMuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZml4ZWQtbGF5b3V0LXNpemUtZml4ZWQtYXR0YWNobWVu
dC1jb3Zlci1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sy
L3RpbGVkLWRyYXdpbmcvZml4ZWQtbGF5b3V0LXNpemUtZml4ZWQtYXR0YWNobWVudC1jb3Zlci5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZml4
ZWQtbGF5b3V0LXNpemUtZml4ZWQtYXR0YWNobWVudC1sb2NhbC1leHBlY3RlZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZml4ZWQtbGF5b3V0
LXNpemUtZml4ZWQtYXR0YWNobWVudC1sb2NhbC5odG1sOiBBZGRlZC4KKwogMjAxNS0wNy0xNyAg
U2FhbSBiYXJhdGkgIDxzYWFtYmFyYXRpMUBnbWFpbC5jb20+CiAKICAgICAgICAgRnVuY3Rpb24g
cGFyYW1ldGVycyBzaG91bGQgYmUgcGFyc2VkIGluIHRoZSBzYW1lIHBhcnNlciBhcmVuYSBhcyB0
aGUgZnVuY3Rpb24gYm9keQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxl
ZC1kcmF3aW5nL2ZpeGVkLWxheW91dC1zaXplLWZpeGVkLWF0dGFjaG1lbnQtY292ZXItZXhwZWN0
ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVk
LWRyYXdpbmcvZml4ZWQtbGF5b3V0LXNpemUtZml4ZWQtYXR0YWNobWVudC1jb3Zlci1leHBlY3Rl
ZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxl
ZC1kcmF3aW5nL2ZpeGVkLWxheW91dC1zaXplLWZpeGVkLWF0dGFjaG1lbnQtY292ZXItZXhwZWN0
ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIyIEBACis8aHRtbD4KKzxoZWFkPgor
PHN0eWxlPgorICBib2R5IHsKKyAgICBtYXJnaW46IDA7CisgIH0KKyAgLmNvbnRhaW5lciB7Cisg
ICAgaGVpZ2h0OiAyMDAwcHg7CisgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICB3aWR0aDogNTAl
OworICAgIGhlaWdodDogNTAlOworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgncmVzb3VyY2Vz
L2dyZWVuLWJsdWUucG5nJyk7CisgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDsKKyAg
ICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OworICAgIGJhY2tncm91bmQtc2l6ZTogMzAw
cHg7CisgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPGRpdiBjbGFzcz0iY29udGFp
bmVyIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azIvdGlsZWQtZHJhd2luZy9maXhlZC1sYXlvdXQtc2l6ZS1maXhlZC1hdHRhY2htZW50
LWNvdmVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90
aWxlZC1kcmF3aW5nL2ZpeGVkLWxheW91dC1zaXplLWZpeGVkLWF0dGFjaG1lbnQtY292ZXIuaHRt
bAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJh
d2luZy9maXhlZC1sYXlvdXQtc2l6ZS1maXhlZC1hdHRhY2htZW50LWNvdmVyLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyAgYm9k
eSB7CisgICAgbWFyZ2luOiAwOworICAgIGhlaWdodDogMjAwMHB4OworICAgIG92ZXJmbG93OiBo
aWRkZW47CisgICAgYmFja2dyb3VuZDogdXJsKCdyZXNvdXJjZXMvZ3JlZW4tYmx1ZS5wbmcnKSB3
aGl0ZTsKKyAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkOworICAgIGJhY2tncm91bmQt
c2l6ZTogY29udGFpbjsKKyAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OworICB9Cis8
L3N0eWxlPgorPHNjcmlwdD4KKyAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93
LmludGVybmFscykgeworICAgICAgd2luZG93LmludGVybmFscy5zZXRGaXhlZExheW91dFNpemUo
ODAwLCA2MDApOworICAgICAgd2luZG93LmludGVybmFscy5zZXRQYWdlU2NhbGVGYWN0b3IoMC41
LCAwLCAwKTsKKyAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0VXNlRml4ZWRMYXlvdXQodHJ1ZSk7
CisgICAgfQorICB9CisgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcnVuVGVzdCwg
ZmFsc2UpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzwvYm9keT4KKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9maXhlZC1sYXlv
dXQtc2l6ZS1maXhlZC1hdHRhY2htZW50LWxvY2FsLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2ZpeGVkLWxheW91
dC1zaXplLWZpeGVkLWF0dGFjaG1lbnQtbG9jYWwtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9maXhlZC1sYXlv
dXQtc2l6ZS1maXhlZC1hdHRhY2htZW50LWxvY2FsLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwyMiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyAgYm9keSB7Cisg
ICAgbWFyZ2luOiAwOworICB9CisgIC5jb250YWluZXIgeworICAgIGhlaWdodDogMjAwMHB4Owor
ICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgd2lkdGg6IDUwJTsKKyAgICBoZWlnaHQ6IDUwJTsK
KyAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ3Jlc291cmNlcy9ncmVlbi1ibHVlLnBuZycpOwor
ICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7CisgICAgYmFja2dyb3VuZC1yZXBlYXQ6
IG5vLXJlcGVhdDsKKyAgICBiYWNrZ3JvdW5kLXNpemU6IDMwMHB4OworICB9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+PC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdp
bmcvZml4ZWQtbGF5b3V0LXNpemUtZml4ZWQtYXR0YWNobWVudC1sb2NhbC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9maXhlZC1s
YXlvdXQtc2l6ZS1maXhlZC1hdHRhY2htZW50LWxvY2FsLmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZml4ZWQtbGF5b3V0LXNp
emUtZml4ZWQtYXR0YWNobWVudC1sb2NhbC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MzAgQEAKKzxodG1sPgorPGhlYWQ+CisgIDxzdHlsZT4KKyAgICBodG1sIHsKKyAgICAgIGJhY2tn
cm91bmQ6IHdoaXRlOworICAgIH0KKyAgICBib2R5IHsKKyAgICAgIG1hcmdpbjogMDsKKyAgICAg
IGhlaWdodDogMjAwMHB4OworICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICAgIGJhY2tncm91
bmQ6IHVybChyZXNvdXJjZXMvZ3JlZW4tYmx1ZS5wbmcpOworICAgICAgYmFja2dyb3VuZC1hdHRh
Y2htZW50OiBmaXhlZDsKKyAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsKKyAgICAgIGJh
Y2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CisgICAgfQorICA8L3N0eWxlPgorICA8c2NyaXB0
PgorICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldEZpeGVkTGF5b3V0U2l6ZSg4MDAsIDYwMCk7CisgICAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldFBhZ2VTY2FsZUZhY3RvcigwLjUsIDAsIDApOworICAgICAg
d2luZG93LmludGVybmFscy5zZXRVc2VGaXhlZExheW91dCh0cnVlKTsKKyAgICB9CisgIH0KKyAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBydW5UZXN0LCBmYWxzZSk7CisgIDwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257100</attachid>
            <date>2015-07-20 10:50:17 -0700</date>
            <delta_ts>2015-07-20 16:47:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147049-20150720104904.patch</filename>
            <type>text/plain</type>
            <size>11413</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4Njk2MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBACisyMDE1LTA3LTE3ICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TiAocjE3MjQxNywgcjE4NDA2NSk6IE11bHRpcGxlIHJlbmRlcmluZyBpc3N1ZXMgd2l0aCBmaXhl
ZCBhdHRhY2hlZCBiYWNrZ3JvdW5kLWltYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDcwNDkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIxMTEw
OTM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
ZSBmaXhlZC1hdHRhY2hlZCBiYWNrZ3JvdW5kLWltYWdlIHJlbmRlcmluZyBpcyBzcGVjaWFsLiBJ
biBnZW5lcmFsLCB0bworICAgICAgICBkaXNwbGF5IGl0LCB0aGUgZGVzdGluYXRpb25TaXplIHNo
b3VsZCBiZSBzZXQgdG8gdmlzaWJsZUNvbnRlbnRTaXplLiBUaGUKKyAgICAgICAgZGVzdGluYXRp
b25Mb2NhdGlvbiBzaG91bGQgYmUgc2V0IHN1Y2ggdGhhdCB0aGUgYmFja2dyb3VuZC1pbWFnZSBk
b2VzCisgICAgICAgIG5vdCBtb3ZlIHdpdGggc2Nyb2xsaW5nLiBUaGUgdG9wQ29udGVudEluc2V0
IHNob3VsZCBiZSBzdWJ0cmFjdGVkIGZyb20KKyAgICAgICAgdGhlIGRlc3RpbmF0aW9uTG9jYXRp
b24gc3VjaCB0aGF0IGJhY2tncm91bmQtaW1hZ2UgY2FuIGJlIHJlbmRlcmVkIGJsdXJyZWQKKyAg
ICAgICAgaW4gdGhlIHRvcENvbnRlbnRBcmVhLiBIb3dldmVyIHRoZXJlIGFyZSBjYXNlcyBpbiB3
aGljaCB0aGVzZSBydWxlcyBoYXZlIHRvCisgICAgICAgIGJlIGNoYW5nZWQuCisgICAgICAgIAor
ICAgICAgICAtLSBkZXN0aW5hdGlvblNpemU6IEluIHRoZSBjYXNlIG9mIGZpeGVkIGxheW91dCBz
aXplLCB0aGUgZml4ZWRMYXlvdXRTaXplCisgICAgICAgIGlzIGJpZ2dlciB0aGFuIHRoZSB2aXNp
YmxlQ29udGVudFNpemUuIEluIHRoaXMgY2FzZSwgaWYgdGhlIGJhY2tncm91bmQtaW1hZ2UKKyAg
ICAgICAgYmVsb25ncyB0byB0aGUgcm9vdCBlbGVtZW50LCB0aGUgZGVzdGluYXRpb25TaXplIGhh
cyB0byBiZSBzZXQgdG8gZml4ZWRMYXlvdXRTaXplLgorICAgICAgICBPdGhlcndpc2UgaXQgaGFz
IHRvIGJlIHNldCB0byB0aGUgYm9yZGVyQm94U2l6ZSB1bmxlc3MgdGhlIG92ZXJmbG93IGlzCisg
ICAgICAgIGhpZGRlbi4KKyAgICAgICAgCisgICAgICAgIC0tIGRlc3RpbmF0aW9uTG9jYXRpb246
IElmIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJlbG9uZ3MgdG8gdGhlIHJvb3QgZWxlbWVudCwgbm8K
KyAgICAgICAgc2Nyb2xsIG9mZnNldCB0byBhZGRlZCB0byBkZXN0aW5hdGlvbkxvY2F0aW9uLiBG
b3Igbm9uLXJvb3QgZWxlbWVudCBjYXNlLAorICAgICAgICBGcmFtZVZpZXc6OmRvY3VtZW50U2Ny
b2xsT2Zmc2V0UmVsYXRpdmVUb1ZpZXdPcmlnaW4oKSBzaG91bGQgYmUgdXNlZCBpZiBubyBwYWdl
CisgICAgICAgIHNjYWxpbmcgaXMgYXBwbGllZC4gT3RoZXJ3aXNlIEZyYW1lVmlldzo6c2Nyb2xs
T2Zmc2V0Rm9yRml4ZWRQb3NpdGlvbigpIHNob3VsZCBiZQorICAgICAgICB1c2VkIGluc3RlYWQu
CisgICAgICAgIAorICAgICAgICBUZXN0czogcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5n
L2ZpeGVkLWxheW91dC1zaXplLWZpeGVkLWF0dGFjaG1lbnQtY292ZXIuaHRtbAorICAgICAgICAg
ICAgICAgcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2ZpeGVkLWxheW91dC1zaXplLWZp
eGVkLWF0dGFjaG1lbnQtbG9jYWwuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJv
eE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0
OjpjYWxjdWxhdGVCYWNrZ3JvdW5kSW1hZ2VHZW9tZXRyeSk6IEVuc3VyZQorICAgICAgICB0aGUg
Z2VvbWV0cnkgZm9yIHRoZSBmaXhlZC1hdHRhY2hlZCBiYWNrZ3JvdW5kLWltYWdlIGlzIGNhbGN1
bGF0ZWQgY29ycmVjdGx5LgorICAgICAgICAKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBk
YXRlR2VvbWV0cnkpOiBFbnN1cmUgdGhlIGJhY2tncm91bmQgbGF5ZXIKKyAgICAgICAgZ2V0cyB0
aGUgY29ycmVjdCBzaXplIGZvciB0aGUgZml4ZWRMYXlvdXRTaXplIG1vZGUuCisKIDIwMTUtMDct
MTcgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBTY3Jv
bGxWaWV3Lmggc2hvdWxkIGJlIHNlbGYtY29udGFpbmVkCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAJKHJldmlzaW9uIDE4Njg1
MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTExMTUsMTMgKzExMTUsNDAgQEAgQmFja2dyb3VuZEltYWdlR2Vv
bWV0cnkgUmVuZGVyQm94TW9kZWxPYgogICAgICAgICAgICAgdmlld3BvcnRSZWN0ID0gdmlldygp
LnVuc2NhbGVkRG9jdW1lbnRSZWN0KCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgRnJh
bWVWaWV3JiBmcmFtZVZpZXcgPSB2aWV3KCkuZnJhbWVWaWV3KCk7Ci0gICAgICAgICAgICB2aWV3
cG9ydFJlY3Quc2V0U2l6ZShmcmFtZVZpZXcudW5zY2FsZWRWaXNpYmxlQ29udGVudFNpemVJbmNs
dWRpbmdPYnNjdXJlZEFyZWEoKSk7Ci0gICAgICAgICAgICB0b3BDb250ZW50SW5zZXQgPSBmcmFt
ZVZpZXcudG9wQ29udGVudEluc2V0KFNjcm9sbFZpZXc6OlRvcENvbnRlbnRJbnNldFR5cGU6Oldl
YkNvcmVPclBsYXRmb3JtQ29udGVudEluc2V0KTsKIAotICAgICAgICAgICAgaWYgKGZpeGVkQmFj
a2dyb3VuZFBhaW50c0luTG9jYWxDb29yZGluYXRlcygpKQotICAgICAgICAgICAgICAgIHZpZXdw
b3J0UmVjdC5zZXRMb2NhdGlvbihMYXlvdXRQb2ludCgwLCAtdG9wQ29udGVudEluc2V0KSk7Ci0g
ICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdmlld3BvcnRSZWN0LnNldExvY2F0aW9u
KHRvTGF5b3V0UG9pbnQoZnJhbWVWaWV3LmRvY3VtZW50U2Nyb2xsT2Zmc2V0UmVsYXRpdmVUb1Zp
ZXdPcmlnaW4oKSkpOworICAgICAgICAgICAgaWYgKGZpeGVkQmFja2dyb3VuZFBhaW50c0luTG9j
YWxDb29yZGluYXRlcygpKSB7CisgICAgICAgICAgICAgICAgLy8gRml4ZWQgYmFja2dyb3VuZC1p
bWFnZSBvbiB0aGUgcm9vdCBlbGVtZW50LgorICAgICAgICAgICAgICAgIGlmIChmcmFtZVZpZXcu
dXNlRml4ZWRMYXlvdXQoKSAmJiAhZnJhbWVWaWV3LmZpeGVkTGF5b3V0U2l6ZSgpLmlzRW1wdHko
KSkgeworICAgICAgICAgICAgICAgICAgICAvLyBVc2UgdGhlIGZpeGVkTGF5b3V0U2l6ZSgpIHdo
ZW4gdXNlRml4ZWRMYXlvdXQoKSBiZWNhdXNlIHRoZSByZW5kZXJpbmcgd2lsbCBiZSBzY2FsZWQK
KyAgICAgICAgICAgICAgICAgICAgLy8gZG93biBmcmFtZVZpZXcgdG8gdG8gZml0IGluIHRoZSBj
dXJyZW50IHZpZXdwb3J0LgorICAgICAgICAgICAgICAgICAgICB2aWV3cG9ydFJlY3Quc2V0U2l6
ZShmcmFtZVZpZXcuZml4ZWRMYXlvdXRTaXplKCkpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAgICAgICAgIC8vIFNoaWZ0aW5nIGxvY2F0aW9uIHVwIGJ5IHRvcENvbnRl
bnRJbnNldCBpcyBuZWVkZWQgZm9yIGxheW91dCB0ZXN0cyB3aGljaCBleHBlY3QKKyAgICAgICAg
ICAgICAgICAgICAgLy8gbGF5b3V0IHRvIGJlIHNoaWZ0ZWQgZG93biB3aGVuIGNhbGxpbmcgd2lu
ZG93LmludGVybmFscy5zZXRUb3BDb250ZW50SW5zZXQoKS4KKyAgICAgICAgICAgICAgICAgICAg
dG9wQ29udGVudEluc2V0ID0gZnJhbWVWaWV3LnRvcENvbnRlbnRJbnNldChTY3JvbGxWaWV3OjpU
b3BDb250ZW50SW5zZXRUeXBlOjpXZWJDb3JlT3JQbGF0Zm9ybUNvbnRlbnRJbnNldCk7CisgICAg
ICAgICAgICAgICAgICAgIHZpZXdwb3J0UmVjdC5zZXRMb2NhdGlvbihMYXlvdXRQb2ludCgwLCAt
dG9wQ29udGVudEluc2V0KSk7CisgICAgICAgICAgICAgICAgICAgIHZpZXdwb3J0UmVjdC5zZXRT
aXplKGZyYW1lVmlldy51bnNjYWxlZFZpc2libGVDb250ZW50U2l6ZUluY2x1ZGluZ09ic2N1cmVk
QXJlYSgpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgICAgIGlmIChmcmFtZVZpZXcuZnJhbWVTY2FsZUZhY3RvcigpICE9IDEpIHsKKyAgICAg
ICAgICAgICAgICAgICAgLy8gc2Nyb2xsT2Zmc2V0Rm9yRml4ZWRQb3NpdGlvbigpIGFkanVzdHMg
dGhlIG9mZnNldCBmb3IgcGFnZSBzY2FsZSBhbmQgaXQgZG9lcyBub3QKKyAgICAgICAgICAgICAg
ICAgICAgLy8gaW5jbHVkZSB0b3BDb250ZW50SW5zZXQgc28gZG8gbm90IGFkZCBpdCB0byB0aGUg
Y2FsY3VsYXRpb24gYmVsb3cuCisgICAgICAgICAgICAgICAgICAgIHZpZXdwb3J0UmVjdC5zZXRM
b2NhdGlvbih0b0xheW91dFBvaW50KGZyYW1lVmlldy5zY3JvbGxPZmZzZXRGb3JGaXhlZFBvc2l0
aW9uKCkpKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAv
LyBkb2N1bWVudFNjcm9sbE9mZnNldFJlbGF0aXZlVG9WaWV3T3JpZ2luKCkgaW5jbHVkZXMgLXRv
cENvbnRlbnRJbnNldCBpbiBpdHMgaGVpZ2h0CisgICAgICAgICAgICAgICAgICAgIC8vIHNvIHdl
IG5lZWQgdG8gYWNjb3VudCBmb3IgdGhhdCBpbiBjYWxjdWxhdGluZyB0aGUgcGhhc2Ugc2l6ZQor
ICAgICAgICAgICAgICAgICAgICB0b3BDb250ZW50SW5zZXQgPSBmcmFtZVZpZXcudG9wQ29udGVu
dEluc2V0KFNjcm9sbFZpZXc6OlRvcENvbnRlbnRJbnNldFR5cGU6OldlYkNvcmVPclBsYXRmb3Jt
Q29udGVudEluc2V0KTsKKyAgICAgICAgICAgICAgICAgICAgdmlld3BvcnRSZWN0LnNldExvY2F0
aW9uKHRvTGF5b3V0UG9pbnQoZnJhbWVWaWV3LmRvY3VtZW50U2Nyb2xsT2Zmc2V0UmVsYXRpdmVU
b1ZpZXdPcmlnaW4oKSkpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHZp
ZXdwb3J0UmVjdC5zZXRTaXplKGZyYW1lVmlldy51bnNjYWxlZFZpc2libGVDb250ZW50U2l6ZUlu
Y2x1ZGluZ09ic2N1cmVkQXJlYSgpKTsKKworICAgICAgICAgICAgICAgIGlmIChzdHlsZSgpLm92
ZXJmbG93WCgpICE9IE9ISURERU4pCisgICAgICAgICAgICAgICAgICAgIHZpZXdwb3J0UmVjdC5z
ZXRXaWR0aChzdGQ6Om1heCh2aWV3cG9ydFJlY3Qud2lkdGgoKSwgYm9yZGVyQm94UmVjdC53aWR0
aCgpKSk7CisKKyAgICAgICAgICAgICAgICBpZiAoc3R5bGUoKS5vdmVyZmxvd1koKSAhPSBPSElE
REVOKQorICAgICAgICAgICAgICAgICAgICB2aWV3cG9ydFJlY3Quc2V0SGVpZ2h0KHN0ZDo6bWF4
KHZpZXdwb3J0UmVjdC5oZWlnaHQoKSwgYm9yZGVyQm94UmVjdC5oZWlnaHQoKSkpOworICAgICAg
ICAgICAgfQogCiAgICAgICAgICAgICB0b3AgKz0gdG9wQ29udGVudEluc2V0OwogICAgICAgICB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5n
LmNwcAkocmV2aXNpb24gMTg2ODUxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQmFja2luZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkyNSw3ICs5MjUsNyBAQCB2b2lk
IFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR2VvbWV0cnkoCiAgICAgICAgIGlmIChiYWNrZ3Jv
dW5kTGF5ZXJQYWludHNGaXhlZFJvb3RCYWNrZ3JvdW5kKCkpIHsKICAgICAgICAgICAgIGNvbnN0
IEZyYW1lVmlldyYgZnJhbWVWaWV3ID0gcmVuZGVyZXIoKS52aWV3KCkuZnJhbWVWaWV3KCk7CiAg
ICAgICAgICAgICBiYWNrZ3JvdW5kUG9zaXRpb24gPSB0b0xheW91dFBvaW50KGZyYW1lVmlldy5z
Y3JvbGxPZmZzZXRGb3JGaXhlZFBvc2l0aW9uKCkpOwotICAgICAgICAgICAgYmFja2dyb3VuZFNp
emUgPSBmcmFtZVZpZXcudmlzaWJsZUNvbnRlbnRSZWN0KCkuc2l6ZSgpOworICAgICAgICAgICAg
YmFja2dyb3VuZFNpemUgPSBmcmFtZVZpZXcubGF5b3V0U2l6ZSgpOwogICAgICAgICB9CiAgICAg
ICAgIG1fYmFja2dyb3VuZExheWVyLT5zZXRQb3NpdGlvbihiYWNrZ3JvdW5kUG9zaXRpb24pOwog
ICAgICAgICBtX2JhY2tncm91bmRMYXllci0+c2V0U2l6ZShiYWNrZ3JvdW5kU2l6ZSk7CkluZGV4
OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAxODY5NjMpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxNS0wNy0xNyAgU2FpZCBBYm91LUhhbGxhd2EgIDxz
YWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIxNzI0MTcsIHIx
ODQwNjUpOiBNdWx0aXBsZSByZW5kZXJpbmcgaXNzdWVzIHdpdGggZml4ZWQgYXR0YWNoZWQgYmFj
a2dyb3VuZC1pbWFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQ3MDQ5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTExMDkzNj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIGZpeGVkTGF5
b3V0U2l6ZSBiYWNrZ3JvdW5kLWltYWdlIHJlbmRlcmluZyBmb3Igcm9vdCBhbmQgbm9uLXJvb3Qg
ZWxlbWVudHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZml4
ZWQtbGF5b3V0LXNpemUtZml4ZWQtYXR0YWNobWVudC1jb3Zlci1leHBlY3RlZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZml4ZWQtbGF5b3V0
LXNpemUtZml4ZWQtYXR0YWNobWVudC1jb3Zlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZml4ZWQtbGF5b3V0LXNpemUtZml4ZWQtYXR0YWNo
bWVudC1sb2NhbC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMt
d2syL3RpbGVkLWRyYXdpbmcvZml4ZWQtbGF5b3V0LXNpemUtZml4ZWQtYXR0YWNobWVudC1sb2Nh
bC5odG1sOiBBZGRlZC4KKwogMjAxNS0wNy0xNyAgU2FhbSBiYXJhdGkgIDxzYWFtYmFyYXRpMUBn
bWFpbC5jb20+CiAKICAgICAgICAgRnVuY3Rpb24gcGFyYW1ldGVycyBzaG91bGQgYmUgcGFyc2Vk
IGluIHRoZSBzYW1lIHBhcnNlciBhcmVuYSBhcyB0aGUgZnVuY3Rpb24gYm9keQpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2ZpeGVkLWxheW91dC1zaXpl
LWZpeGVkLWF0dGFjaG1lbnQtY292ZXItZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZml4ZWQtbGF5b3V0LXNpemUt
Zml4ZWQtYXR0YWNobWVudC1jb3Zlci1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2ZpeGVkLWxheW91dC1zaXpl
LWZpeGVkLWF0dGFjaG1lbnQtY292ZXItZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDIyIEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorICBib2R5IHsKKyAgICBtYXJn
aW46IDA7CisgIH0KKyAgLmNvbnRhaW5lciB7CisgICAgaGVpZ2h0OiAyMDAwcHg7CisgICAgb3Zl
cmZsb3c6IGhpZGRlbjsKKyAgICB3aWR0aDogNTAlOworICAgIGhlaWdodDogNTAlOworICAgIGJh
Y2tncm91bmQtaW1hZ2U6IHVybCgncmVzb3VyY2VzL2dyZWVuLWJsdWUucG5nJyk7CisgICAgYmFj
a2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDsKKyAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVw
ZWF0OworICAgIGJhY2tncm91bmQtc2l6ZTogMzAwcHg7CisgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9maXhl
ZC1sYXlvdXQtc2l6ZS1maXhlZC1hdHRhY2htZW50LWNvdmVyLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2ZpeGVkLWxheW91dC1z
aXplLWZpeGVkLWF0dGFjaG1lbnQtY292ZXIuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9maXhlZC1sYXlvdXQtc2l6ZS1maXhl
ZC1hdHRhY2htZW50LWNvdmVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyAgYm9keSB7CisgICAgbWFyZ2luOiAwOworICAgIGhl
aWdodDogMjAwMHB4OworICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgYmFja2dyb3VuZDogdXJs
KCdyZXNvdXJjZXMvZ3JlZW4tYmx1ZS5wbmcnKSB3aGl0ZTsKKyAgICBiYWNrZ3JvdW5kLWF0dGFj
aG1lbnQ6IGZpeGVkOworICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsKKyAgICBiYWNrZ3Jv
dW5kLXJlcGVhdDogbm8tcmVwZWF0OworICB9Cis8L3N0eWxlPgorPHNjcmlwdD4KKyAgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93LmludGVybmFscykgeworICAgICAgd2luZG93
LmludGVybmFscy5zZXRGaXhlZExheW91dFNpemUoODAwLCA2MDApOworICAgICAgd2luZG93Lmlu
dGVybmFscy5zZXRQYWdlU2NhbGVGYWN0b3IoMC41LCAwLCAwKTsKKyAgICAgIHdpbmRvdy5pbnRl
cm5hbHMuc2V0VXNlRml4ZWRMYXlvdXQodHJ1ZSk7CisgICAgfQorICB9CisgIHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCdsb2FkJywgcnVuVGVzdCwgZmFsc2UpOworPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azIvdGlsZWQtZHJhd2luZy9maXhlZC1sYXlvdXQtc2l6ZS1maXhlZC1hdHRhY2htZW50LWxv
Y2FsLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMi90aWxlZC1kcmF3aW5nL2ZpeGVkLWxheW91dC1zaXplLWZpeGVkLWF0dGFjaG1lbnQtbG9j
YWwtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azIvdGlsZWQtZHJhd2luZy9maXhlZC1sYXlvdXQtc2l6ZS1maXhlZC1hdHRhY2htZW50LWxv
Y2FsLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMiBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzdHlsZT4KKyAgYm9keSB7CisgICAgbWFyZ2luOiAwOworICB9CisgIC5jb250
YWluZXIgeworICAgIGhlaWdodDogMjAwMHB4OworICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAg
d2lkdGg6IDUwJTsKKyAgICBoZWlnaHQ6IDUwJTsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwo
J3Jlc291cmNlcy9ncmVlbi1ibHVlLnBuZycpOworICAgIGJhY2tncm91bmQtYXR0YWNobWVudDog
Zml4ZWQ7CisgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKKyAgICBiYWNrZ3JvdW5k
LXNpemU6IDMwMHB4OworICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgIDxkaXYgY2xh
c3M9ImNvbnRhaW5lciI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZml4ZWQtbGF5b3V0LXNpemUtZml4ZWQt
YXR0YWNobWVudC1sb2NhbC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azIvdGlsZWQtZHJhd2luZy9maXhlZC1sYXlvdXQtc2l6ZS1maXhlZC1hdHRhY2htZW50
LWxvY2FsLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L3RpbGVkLWRyYXdpbmcvZml4ZWQtbGF5b3V0LXNpemUtZml4ZWQtYXR0YWNobWVudC1sb2NhbC5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzxodG1sPgorPGhlYWQ+CisgIDxz
dHlsZT4KKyAgICBodG1sIHsKKyAgICAgIGJhY2tncm91bmQ6IHdoaXRlOworICAgIH0KKyAgICBi
b2R5IHsKKyAgICAgIG1hcmdpbjogMDsKKyAgICAgIGhlaWdodDogMjAwMHB4OworICAgICAgb3Zl
cmZsb3c6IGhpZGRlbjsKKyAgICAgIGJhY2tncm91bmQ6IHVybChyZXNvdXJjZXMvZ3JlZW4tYmx1
ZS5wbmcpOworICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDsKKyAgICAgIGJhY2tn
cm91bmQtc2l6ZTogY29udGFpbjsKKyAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7
CisgICAgfQorICA8L3N0eWxlPgorICA8c2NyaXB0PgorICBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldEZp
eGVkTGF5b3V0U2l6ZSg4MDAsIDYwMCk7CisgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldFBhZ2VT
Y2FsZUZhY3RvcigwLjUsIDAsIDApOworICAgICAgd2luZG93LmludGVybmFscy5zZXRVc2VGaXhl
ZExheW91dCh0cnVlKTsKKyAgICB9CisgIH0KKyAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xv
YWQnLCBydW5UZXN0LCBmYWxzZSk7CisgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8L2Jv
ZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257144</attachid>
            <date>2015-07-20 16:47:58 -0700</date>
            <delta_ts>2015-07-21 12:57:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147049-20150720164645.patch</filename>
            <type>text/plain</type>
            <size>10832</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4Njk2MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBACisyMDE1LTA3LTE3ICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TiAocjE3MjQxNywgcjE4NDA2NSk6IE11bHRpcGxlIHJlbmRlcmluZyBpc3N1ZXMgd2l0aCBmaXhl
ZCBhdHRhY2hlZCBiYWNrZ3JvdW5kLWltYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDcwNDkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIxMTEw
OTM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
ZSBmaXhlZC1hdHRhY2hlZCBiYWNrZ3JvdW5kLWltYWdlIHJlbmRlcmluZyBpcyBzcGVjaWFsLiBJ
biBnZW5lcmFsLCB0bworICAgICAgICBkaXNwbGF5IGl0LCB0aGUgZGVzdGluYXRpb25TaXplIHNo
b3VsZCBiZSBzZXQgdG8gdmlzaWJsZUNvbnRlbnRTaXplLiBUaGUKKyAgICAgICAgZGVzdGluYXRp
b25Mb2NhdGlvbiBzaG91bGQgYmUgc2V0IHN1Y2ggdGhhdCB0aGUgYmFja2dyb3VuZC1pbWFnZSBk
b2VzCisgICAgICAgIG5vdCBtb3ZlIHdpdGggc2Nyb2xsaW5nLiBUaGUgdG9wQ29udGVudEluc2V0
IHNob3VsZCBiZSBzdWJ0cmFjdGVkIGZyb20KKyAgICAgICAgdGhlIGRlc3RpbmF0aW9uTG9jYXRp
b24gc3VjaCB0aGF0IGJhY2tncm91bmQtaW1hZ2UgY2FuIGJlIHJlbmRlcmVkIGJsdXJyZWQKKyAg
ICAgICAgaW4gdGhlIHRvcENvbnRlbnRBcmVhLiBIb3dldmVyIHRoZXJlIGFyZSBjYXNlcyBpbiB3
aGljaCB0aGVzZSBydWxlcyBoYXZlIHRvCisgICAgICAgIGJlIGNoYW5nZWQuCisgICAgICAgIAor
ICAgICAgICAtLSBkZXN0aW5hdGlvblNpemU6IEluIHRoZSBjYXNlIG9mIGZpeGVkIGxheW91dCBz
aXplLCB0aGUgZml4ZWRMYXlvdXRTaXplCisgICAgICAgIGlzIGJpZ2dlciB0aGFuIHRoZSB2aXNp
YmxlQ29udGVudFNpemUuIEluIHRoaXMgY2FzZSwgaWYgdGhlIGJhY2tncm91bmQtaW1hZ2UKKyAg
ICAgICAgYmVsb25ncyB0byB0aGUgcm9vdCBlbGVtZW50LCB0aGUgZGVzdGluYXRpb25TaXplIGhh
cyB0byBiZSBzZXQgdG8gZml4ZWRMYXlvdXRTaXplLgorICAgICAgICBPdGhlcndpc2UgaXQgaGFz
IHRvIGJlIHNldCB0byB0aGUgYm9yZGVyQm94U2l6ZSB1bmxlc3MgdGhlIG92ZXJmbG93IGlzCisg
ICAgICAgIGhpZGRlbi4KKyAgICAgICAgCisgICAgICAgIC0tIGRlc3RpbmF0aW9uTG9jYXRpb246
IElmIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJlbG9uZ3MgdG8gdGhlIHJvb3QgZWxlbWVudCwgbm8K
KyAgICAgICAgc2Nyb2xsIG9mZnNldCB0byBhZGRlZCB0byBkZXN0aW5hdGlvbkxvY2F0aW9uLiBG
b3Igbm9uLXJvb3QgZWxlbWVudCBjYXNlLAorICAgICAgICBGcmFtZVZpZXc6OmRvY3VtZW50U2Ny
b2xsT2Zmc2V0UmVsYXRpdmVUb1ZpZXdPcmlnaW4oKSBzaG91bGQgYmUgdXNlZCBpZiBubyBwYWdl
CisgICAgICAgIHNjYWxpbmcgaXMgYXBwbGllZC4gT3RoZXJ3aXNlIEZyYW1lVmlldzo6c2Nyb2xs
T2Zmc2V0Rm9yRml4ZWRQb3NpdGlvbigpIHNob3VsZCBiZQorICAgICAgICB1c2VkIGluc3RlYWQu
CisgICAgICAgIAorICAgICAgICBUZXN0czogcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5n
L2ZpeGVkLWxheW91dC1zaXplLWZpeGVkLWF0dGFjaG1lbnQtY292ZXIuaHRtbAorICAgICAgICAg
ICAgICAgcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2ZpeGVkLWxheW91dC1zaXplLWZp
eGVkLWF0dGFjaG1lbnQtbG9jYWwuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJv
eE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0
OjpjYWxjdWxhdGVCYWNrZ3JvdW5kSW1hZ2VHZW9tZXRyeSk6IEVuc3VyZQorICAgICAgICB0aGUg
Z2VvbWV0cnkgZm9yIHRoZSBmaXhlZC1hdHRhY2hlZCBiYWNrZ3JvdW5kLWltYWdlIGlzIGNhbGN1
bGF0ZWQgY29ycmVjdGx5LgorICAgICAgICAKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBk
YXRlR2VvbWV0cnkpOiBFbnN1cmUgdGhlIGJhY2tncm91bmQgbGF5ZXIKKyAgICAgICAgZ2V0cyB0
aGUgY29ycmVjdCBzaXplIGZvciB0aGUgZml4ZWRMYXlvdXRTaXplIG1vZGUuCisKIDIwMTUtMDct
MTcgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBTY3Jv
bGxWaWV3Lmggc2hvdWxkIGJlIHNlbGYtY29udGFpbmVkCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAJKHJldmlzaW9uIDE4Njg1
MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTExMTUsMTMgKzExMTUsMzIgQEAgQmFja2dyb3VuZEltYWdlR2Vv
bWV0cnkgUmVuZGVyQm94TW9kZWxPYgogICAgICAgICAgICAgdmlld3BvcnRSZWN0ID0gdmlldygp
LnVuc2NhbGVkRG9jdW1lbnRSZWN0KCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgRnJh
bWVWaWV3JiBmcmFtZVZpZXcgPSB2aWV3KCkuZnJhbWVWaWV3KCk7Ci0gICAgICAgICAgICB2aWV3
cG9ydFJlY3Quc2V0U2l6ZShmcmFtZVZpZXcudW5zY2FsZWRWaXNpYmxlQ29udGVudFNpemVJbmNs
dWRpbmdPYnNjdXJlZEFyZWEoKSk7Ci0gICAgICAgICAgICB0b3BDb250ZW50SW5zZXQgPSBmcmFt
ZVZpZXcudG9wQ29udGVudEluc2V0KFNjcm9sbFZpZXc6OlRvcENvbnRlbnRJbnNldFR5cGU6Oldl
YkNvcmVPclBsYXRmb3JtQ29udGVudEluc2V0KTsKKyAgICAgICAgICAgIGJvb2wgdXNlRml4ZWRM
YXlvdXQgPSBmcmFtZVZpZXcudXNlRml4ZWRMYXlvdXQoKSAmJiAhZnJhbWVWaWV3LmZpeGVkTGF5
b3V0U2l6ZSgpLmlzRW1wdHkoKTsKIAotICAgICAgICAgICAgaWYgKGZpeGVkQmFja2dyb3VuZFBh
aW50c0luTG9jYWxDb29yZGluYXRlcygpKQotICAgICAgICAgICAgICAgIHZpZXdwb3J0UmVjdC5z
ZXRMb2NhdGlvbihMYXlvdXRQb2ludCgwLCAtdG9wQ29udGVudEluc2V0KSk7Ci0gICAgICAgICAg
ICBlbHNlCisgICAgICAgICAgICBpZiAodXNlRml4ZWRMYXlvdXQpIHsKKyAgICAgICAgICAgICAg
ICAvLyBVc2UgdGhlIGZpeGVkTGF5b3V0U2l6ZSgpIHdoZW4gdXNlRml4ZWRMYXlvdXQoKSBiZWNh
dXNlIHRoZSByZW5kZXJpbmcgd2lsbCBzY2FsZQorICAgICAgICAgICAgICAgIC8vIGRvd24gdGhl
IGZyYW1lVmlldyB0byB0byBmaXQgaW4gdGhlIGN1cnJlbnQgdmlld3BvcnQuCisgICAgICAgICAg
ICAgICAgdmlld3BvcnRSZWN0LnNldFNpemUoZnJhbWVWaWV3LmZpeGVkTGF5b3V0U2l6ZSgpKTsK
KyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIHZpZXdwb3J0UmVjdC5zZXRTaXpl
KGZyYW1lVmlldy51bnNjYWxlZFZpc2libGVDb250ZW50U2l6ZUluY2x1ZGluZ09ic2N1cmVkQXJl
YSgpKTsKKworICAgICAgICAgICAgaWYgKGZpeGVkQmFja2dyb3VuZFBhaW50c0luTG9jYWxDb29y
ZGluYXRlcygpKSB7CisgICAgICAgICAgICAgICAgaWYgKCF1c2VGaXhlZExheW91dCkgeworICAg
ICAgICAgICAgICAgICAgICAvLyBTaGlmdGluZyBsb2NhdGlvbiB1cCBieSB0b3BDb250ZW50SW5z
ZXQgaXMgbmVlZGVkIGZvciBsYXlvdXQgdGVzdHMgd2hpY2ggZXhwZWN0CisgICAgICAgICAgICAg
ICAgICAgIC8vIGxheW91dCB0byBiZSBzaGlmdGVkIGRvd24gd2hlbiBjYWxsaW5nIHdpbmRvdy5p
bnRlcm5hbHMuc2V0VG9wQ29udGVudEluc2V0KCkuCisgICAgICAgICAgICAgICAgICAgIHRvcENv
bnRlbnRJbnNldCA9IGZyYW1lVmlldy50b3BDb250ZW50SW5zZXQoU2Nyb2xsVmlldzo6VG9wQ29u
dGVudEluc2V0VHlwZTo6V2ViQ29yZU9yUGxhdGZvcm1Db250ZW50SW5zZXQpOworICAgICAgICAg
ICAgICAgICAgICB2aWV3cG9ydFJlY3Quc2V0TG9jYXRpb24oTGF5b3V0UG9pbnQoMCwgLXRvcENv
bnRlbnRJbnNldCkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSBpZiAo
dXNlRml4ZWRMYXlvdXQgfHwgZnJhbWVWaWV3LmZyYW1lU2NhbGVGYWN0b3IoKSAhPSAxKSB7Cisg
ICAgICAgICAgICAgICAgLy8gc2Nyb2xsT2Zmc2V0Rm9yRml4ZWRQb3NpdGlvbigpIGlzIGFkanVz
dGVkIGZvciBwYWdlIHNjYWxlIGFuZCBpdCBkb2VzIG5vdCBpbmNsdWRlCisgICAgICAgICAgICAg
ICAgLy8gdG9wQ29udGVudEluc2V0IHNvIGRvIG5vdCBhZGQgaXQgdG8gdGhlIGNhbGN1bGF0aW9u
IGJlbG93LgorICAgICAgICAgICAgICAgIHZpZXdwb3J0UmVjdC5zZXRMb2NhdGlvbih0b0xheW91
dFBvaW50KGZyYW1lVmlldy5zY3JvbGxPZmZzZXRGb3JGaXhlZFBvc2l0aW9uKCkpKTsKKyAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgLy8gZG9jdW1lbnRTY3JvbGxPZmZzZXRS
ZWxhdGl2ZVRvVmlld09yaWdpbigpIGluY2x1ZGVzIC10b3BDb250ZW50SW5zZXQgaW4gaXRzIGhl
aWdodAorICAgICAgICAgICAgICAgIC8vIHNvIHdlIG5lZWQgdG8gYWNjb3VudCBmb3IgdGhhdCBp
biBjYWxjdWxhdGluZyB0aGUgcGhhc2Ugc2l6ZQorICAgICAgICAgICAgICAgIHRvcENvbnRlbnRJ
bnNldCA9IGZyYW1lVmlldy50b3BDb250ZW50SW5zZXQoU2Nyb2xsVmlldzo6VG9wQ29udGVudElu
c2V0VHlwZTo6V2ViQ29yZU9yUGxhdGZvcm1Db250ZW50SW5zZXQpOwogICAgICAgICAgICAgICAg
IHZpZXdwb3J0UmVjdC5zZXRMb2NhdGlvbih0b0xheW91dFBvaW50KGZyYW1lVmlldy5kb2N1bWVu
dFNjcm9sbE9mZnNldFJlbGF0aXZlVG9WaWV3T3JpZ2luKCkpKTsKKyAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgdG9wICs9IHRvcENvbnRlbnRJbnNldDsKICAgICAgICAgfQpJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAJKHJldmlz
aW9uIDE4Njg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MjUsNyArOTI1LDcgQEAgdm9pZCBSZW5kZXJMYXll
ckJhY2tpbmc6OnVwZGF0ZUdlb21ldHJ5KAogICAgICAgICBpZiAoYmFja2dyb3VuZExheWVyUGFp
bnRzRml4ZWRSb290QmFja2dyb3VuZCgpKSB7CiAgICAgICAgICAgICBjb25zdCBGcmFtZVZpZXcm
IGZyYW1lVmlldyA9IHJlbmRlcmVyKCkudmlldygpLmZyYW1lVmlldygpOwogICAgICAgICAgICAg
YmFja2dyb3VuZFBvc2l0aW9uID0gdG9MYXlvdXRQb2ludChmcmFtZVZpZXcuc2Nyb2xsT2Zmc2V0
Rm9yRml4ZWRQb3NpdGlvbigpKTsKLSAgICAgICAgICAgIGJhY2tncm91bmRTaXplID0gZnJhbWVW
aWV3LnZpc2libGVDb250ZW50UmVjdCgpLnNpemUoKTsKKyAgICAgICAgICAgIGJhY2tncm91bmRT
aXplID0gZnJhbWVWaWV3LmxheW91dFNpemUoKTsKICAgICAgICAgfQogICAgICAgICBtX2JhY2tn
cm91bmRMYXllci0+c2V0UG9zaXRpb24oYmFja2dyb3VuZFBvc2l0aW9uKTsKICAgICAgICAgbV9i
YWNrZ3JvdW5kTGF5ZXItPnNldFNpemUoYmFja2dyb3VuZFNpemUpOwpJbmRleDogTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNp
b24gMTg2OTYzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTggQEAKKzIwMTUtMDctMTcgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdh
QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTcyNDE3LCByMTg0MDY1KTogTXVs
dGlwbGUgcmVuZGVyaW5nIGlzc3VlcyB3aXRoIGZpeGVkIGF0dGFjaGVkIGJhY2tncm91bmQtaW1h
Z2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzA0
OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjExMTA5MzY+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBmaXhlZExheW91dFNpemUgYmFj
a2dyb3VuZC1pbWFnZSByZW5kZXJpbmcgZm9yIHJvb3QgYW5kIG5vbi1yb290IGVsZW1lbnRzLgor
CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2ZpeGVkLWxheW91dC1z
aXplLWZpeGVkLWF0dGFjaG1lbnQtY292ZXItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2ZpeGVkLWxheW91dC1zaXplLWZpeGVk
LWF0dGFjaG1lbnQtY292ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdr
Mi90aWxlZC1kcmF3aW5nL2ZpeGVkLWxheW91dC1zaXplLWZpeGVkLWF0dGFjaG1lbnQtbG9jYWwt
ZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1k
cmF3aW5nL2ZpeGVkLWxheW91dC1zaXplLWZpeGVkLWF0dGFjaG1lbnQtbG9jYWwuaHRtbDogQWRk
ZWQuCisKIDIwMTUtMDctMTcgIFNhYW0gYmFyYXRpICA8c2FhbWJhcmF0aTFAZ21haWwuY29tPgog
CiAgICAgICAgIEZ1bmN0aW9uIHBhcmFtZXRlcnMgc2hvdWxkIGJlIHBhcnNlZCBpbiB0aGUgc2Ft
ZSBwYXJzZXIgYXJlbmEgYXMgdGhlIGZ1bmN0aW9uIGJvZHkKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9maXhlZC1sYXlvdXQtc2l6ZS1maXhlZC1hdHRh
Y2htZW50LWNvdmVyLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2ZpeGVkLWxheW91dC1zaXplLWZpeGVkLWF0dGFj
aG1lbnQtY292ZXItZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9maXhlZC1sYXlvdXQtc2l6ZS1maXhlZC1hdHRh
Y2htZW50LWNvdmVyLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMiBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyAgYm9keSB7CisgICAgbWFyZ2luOiAwOworICB9
CisgIC5jb250YWluZXIgeworICAgIGhlaWdodDogMjAwMHB4OworICAgIG92ZXJmbG93OiBoaWRk
ZW47CisgICAgd2lkdGg6IDUwJTsKKyAgICBoZWlnaHQ6IDUwJTsKKyAgICBiYWNrZ3JvdW5kLWlt
YWdlOiB1cmwoJ3Jlc291cmNlcy9ncmVlbi1ibHVlLnBuZycpOworICAgIGJhY2tncm91bmQtYXR0
YWNobWVudDogZml4ZWQ7CisgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKKyAgICBi
YWNrZ3JvdW5kLXNpemU6IDMwMHB4OworICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cisg
IDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZml4ZWQtbGF5b3V0LXNp
emUtZml4ZWQtYXR0YWNobWVudC1jb3Zlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9maXhlZC1sYXlvdXQtc2l6ZS1maXhlZC1h
dHRhY2htZW50LWNvdmVyLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZml4ZWQtbGF5b3V0LXNpemUtZml4ZWQtYXR0YWNobWVu
dC1jb3Zlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjcgQEAKKzxodG1sPgorPGhl
YWQ+Cis8c3R5bGU+CisgIGJvZHkgeworICAgIG1hcmdpbjogMDsKKyAgICBoZWlnaHQ6IDIwMDBw
eDsKKyAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIGJhY2tncm91bmQ6IHVybCgncmVzb3VyY2Vz
L2dyZWVuLWJsdWUucG5nJykgd2hpdGU7CisgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhl
ZDsKKyAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47CisgICAgYmFja2dyb3VuZC1yZXBlYXQ6
IG5vLXJlcGVhdDsKKyAgfQorPC9zdHlsZT4KKzxzY3JpcHQ+CisgIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0Rml4ZWRMYXlvdXRTaXplKDgwMCwgNjAwKTsKKyAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0
UGFnZVNjYWxlRmFjdG9yKDAuNSwgMCwgMCk7CisgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldFVz
ZUZpeGVkTGF5b3V0KHRydWUpOworICAgIH0KKyAgfQorICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cignbG9hZCcsIHJ1blRlc3QsIGZhbHNlKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVk
LWRyYXdpbmcvZml4ZWQtbGF5b3V0LXNpemUtZml4ZWQtYXR0YWNobWVudC1sb2NhbC1leHBlY3Rl
ZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQt
ZHJhd2luZy9maXhlZC1sYXlvdXQtc2l6ZS1maXhlZC1hdHRhY2htZW50LWxvY2FsLWV4cGVjdGVk
Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVk
LWRyYXdpbmcvZml4ZWQtbGF5b3V0LXNpemUtZml4ZWQtYXR0YWNobWVudC1sb2NhbC1leHBlY3Rl
ZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjIgQEAKKzxodG1sPgorPGhlYWQ+Cis8
c3R5bGU+CisgIGJvZHkgeworICAgIG1hcmdpbjogMDsKKyAgfQorICAuY29udGFpbmVyIHsKKyAg
ICBoZWlnaHQ6IDIwMDBweDsKKyAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIHdpZHRoOiA1MCU7
CisgICAgaGVpZ2h0OiA1MCU7CisgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdyZXNvdXJjZXMv
Z3JlZW4tYmx1ZS5wbmcnKTsKKyAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkOworICAg
IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CisgICAgYmFja2dyb3VuZC1zaXplOiAzMDBw
eDsKKyAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICA8ZGl2IGNsYXNzPSJjb250YWlu
ZXIiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMi90aWxlZC1kcmF3aW5nL2ZpeGVkLWxheW91dC1zaXplLWZpeGVkLWF0dGFjaG1lbnQt
bG9jYWwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3Rp
bGVkLWRyYXdpbmcvZml4ZWQtbGF5b3V0LXNpemUtZml4ZWQtYXR0YWNobWVudC1sb2NhbC5odG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3
aW5nL2ZpeGVkLWxheW91dC1zaXplLWZpeGVkLWF0dGFjaG1lbnQtbG9jYWwuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8aHRtbD4KKzxoZWFkPgorICA8c3R5bGU+CisgICAg
aHRtbCB7CisgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKKyAgICB9CisgICAgYm9keSB7CisgICAg
ICBtYXJnaW46IDA7CisgICAgICBoZWlnaHQ6IDIwMDBweDsKKyAgICAgIG92ZXJmbG93OiBoaWRk
ZW47CisgICAgICBiYWNrZ3JvdW5kOiB1cmwocmVzb3VyY2VzL2dyZWVuLWJsdWUucG5nKTsKKyAg
ICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7CisgICAgICBiYWNrZ3JvdW5kLXNpemU6
IGNvbnRhaW47CisgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OworICAgIH0KKyAg
PC9zdHlsZT4KKyAgPHNjcmlwdD4KKyAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBpZiAod2lu
ZG93LmludGVybmFscykgeworICAgICAgd2luZG93LmludGVybmFscy5zZXRGaXhlZExheW91dFNp
emUoODAwLCA2MDApOworICAgICAgd2luZG93LmludGVybmFscy5zZXRQYWdlU2NhbGVGYWN0b3Io
MC41LCAwLCAwKTsKKyAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0VXNlRml4ZWRMYXlvdXQodHJ1
ZSk7CisgICAgfQorICB9CisgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcnVuVGVz
dCwgZmFsc2UpOworICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPC9ib2R5PgorPC9odG1s
Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>