<?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>98633</bug_id>
          
          <creation_ts>2012-10-08 00:31:02 -0700</creation_ts>
          <short_desc>max-height property not respected in case of tables</short_desc>
          <delta_ts>2012-11-27 11:53:38 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tables</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>103102</dependson>
          <blocked>25016</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Pravin D">pravind.2k4</reporter>
          <assigned_to name="Pravin D">pravind.2k4</assigned_to>
          <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>ojan</cc>
    
    <cc>ossy</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>736548</commentid>
    <comment_count>0</comment_count>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-10-08 00:31:02 -0700</bug_when>
    <thetext>The max-height property does not override the height property in case of a container having display:table.

Have attached a reduced test case for the same(from bug 25016).
courtesy: jasneet@chromium.org</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>736549</commentid>
    <comment_count>1</comment_count>
      <attachid>167515</attachid>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-10-08 00:31:39 -0700</bug_when>
    <thetext>Created attachment 167515
TestCase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743580</commentid>
    <comment_count>2</comment_count>
      <attachid>169033</attachid>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-10-16 14:41:58 -0700</bug_when>
    <thetext>Created attachment 169033
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743746</commentid>
    <comment_count>3</comment_count>
      <attachid>169033</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-16 17:46:53 -0700</bug_when>
    <thetext>Comment on attachment 169033
Proposed Patch

Attachment 169033 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14389368

New failing tests:
fast/replaced/table-percent-height-text-controls.html
editing/pasteboard/5780697-2.html
http/tests/misc/acid2-pixel.html
http/tests/misc/acid2.html
fast/css/acid2-pixel.html
fast/replaced/table-percent-height.html
fast/dynamic/subtree-boundary-percent-height.html
css3/flexbox/percentage-sizes.html
fast/css/acid2.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744077</commentid>
    <comment_count>4</comment_count>
      <attachid>169033</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-17 02:57:29 -0700</bug_when>
    <thetext>Comment on attachment 169033
Proposed Patch

Attachment 169033 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14387506

New failing tests:
editing/pasteboard/5780697-2.html
http/tests/misc/acid2-pixel.html
http/tests/misc/acid2.html
fast/css/acid2-pixel.html
fast/replaced/table-percent-height.html
fast/dynamic/subtree-boundary-percent-height.html
css3/flexbox/percentage-sizes.html
fast/css/acid2.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749627</commentid>
    <comment_count>5</comment_count>
      <attachid>170387</attachid>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-10-24 07:02:58 -0700</bug_when>
    <thetext>Created attachment 170387
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749722</commentid>
    <comment_count>6</comment_count>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-10-24 09:03:13 -0700</bug_when>
    <thetext>Did some testing on the behavior of various browsers with regards to height distribution when max-height,min-height &lt; computed content height. 
FF and IE do not respect max-height when the content height is greater than the max-height(for tables and css tables). 
The fix is that we simply take max-height, min-height in account in RenderTable::layout() while computing the height of the table.

distributeExtraLogicalHeight() (already present) will take care of distributing extra positive height. If the extra height is negative, it simply ignores it, as other browsers do.

Attachment
https://bugs.webkit.org/attachment.cgi?id=170387
does the above.


Attachment
https://bugs.webkit.org/attachment.cgi?id=169033
was actually with a little efficient version of attachment 170387 in terms of code reuse and container height calculation. However it&apos;s a little bug at the moment.

@Julin, @Tony 
Would like ur opinions both the patches...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>750040</commentid>
    <comment_count>7</comment_count>
      <attachid>170387</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-10-24 14:19:06 -0700</bug_when>
    <thetext>Comment on attachment 170387
Proposed patch

The code in 170387 is more what I expect. I&apos;m not sure what 169033 is trying to do.

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

&gt; Source/WebCore/rendering/RenderTable.cpp:444
&gt; +            // FIXME: We cannot apply box-sizing: content-box on &lt;table&gt; which other browsers allow.
&gt; +            if ((node() &amp;&amp; node()-&gt;hasTagName(tableTag)) || style()-&gt;boxSizing() == BORDER_BOX)

We should cache this expression in a bool and just write the comment once.

&gt; Source/WebCore/rendering/RenderTable.cpp:451
&gt; +    

Nit: Extra blank line.

&gt; Source/WebCore/rendering/RenderTable.cpp:468
&gt; +    

Nit: Extra blank line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752023</commentid>
    <comment_count>8</comment_count>
      <attachid>170387</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-10-26 07:25:52 -0700</bug_when>
    <thetext>Comment on attachment 170387
Proposed patch

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

&gt; Source/WebCore/rendering/RenderTable.cpp:463
&gt; +        if (logicalMinHeightLength.isFixed()) {
&gt; +            // HTML tables size as though CSS height includes border/padding, CSS tables do not.
&gt; +            LayoutUnit borders = ZERO_LAYOUT_UNIT;
&gt; +            // FIXME: We cannot apply box-sizing: content-box on &lt;table&gt; which other browsers allow.
&gt; +            if ((node() &amp;&amp; node()-&gt;hasTagName(tableTag)) || style()-&gt;boxSizing() == BORDER_BOX)
&gt; +                borders = borderAndPaddingBefore + borderAndPaddingAfter;
&gt; +            computedMinLogicalHeight = logicalMinHeightLength.value() - borders;

I really think this code should be some helper function as it is not be the only place where we have to do that (copying and pasting some code is bad!). We should also have a call to RenderBox::adjustBorderBoxLogicalHeightForBoxSizing for the CSS case as it would give us support for other box-sizing value for free (e.g. padding-box - see bug 23658) but that&apos;s more a nit.

&gt; LayoutTests/fast/table/css-table-max-height.html:96
&gt; +shouldBe(&quot;maxGreatThanMinHeightAutoLayout.getBoundingClientRect().height&quot;,&quot;202&quot;);

You should consider removing the padding on your cell and the border-spacing on your table so that this is 200px!

&gt; LayoutTests/fast/table/css-table-max-height.html:108
&gt; +onlyMaxHeightFixedLayout = document.getElementById(&quot;onlyMaxHeightFixedLayout&quot;);
&gt; +shouldBe(&quot;onlyMaxHeightFixedLayout.getBoundingClientRect().height&quot;,&quot;202&quot;);

This looks like it&apos;s failing: max-height is 200px not 202px.

&gt; LayoutTests/fast/table/css-table-max-height.html:112
&gt; +document.body.removeChild(document.getElementById(&apos;container&apos;));

This could be a check-layout.js test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753551</commentid>
    <comment_count>9</comment_count>
      <attachid>171270</attachid>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-10-29 10:01:50 -0700</bug_when>
    <thetext>Created attachment 171270
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753594</commentid>
    <comment_count>10</comment_count>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-10-29 10:38:50 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 170387 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=170387&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderTable.cpp:463
&gt; &gt; +        if (logicalMinHeightLength.isFixed()) {
&gt; &gt; +            // HTML tables size as though CSS height includes border/padding, CSS tables do not.
&gt; &gt; +            LayoutUnit borders = ZERO_LAYOUT_UNIT;
&gt; &gt; +            // FIXME: We cannot apply box-sizing: content-box on &lt;table&gt; which other browsers allow.
&gt; &gt; +            if ((node() &amp;&amp; node()-&gt;hasTagName(tableTag)) || style()-&gt;boxSizing() == BORDER_BOX)
&gt; &gt; +                borders = borderAndPaddingBefore + borderAndPaddingAfter;
&gt; &gt; +            computedMinLogicalHeight = logicalMinHeightLength.value() - borders;
&gt; 
Have moved the logic to a helper function
&gt; I really think this code should be some helper function as it is not be the only place where we have to do that (copying and pasting some code is bad!). We should also have a call to RenderBox::adjustBorderBoxLogicalHeightForBoxSizing for the CSS case as it would give us support for other box-sizing value for free (e.g. padding-box - see bug 23658) but that&apos;s more a nit.
&gt; 

I was not sure about this. 
In tables the padding is ignored if border collapsing set. adjustBorderBoxLogicalHeightForBoxSizing() uses border + padding to adjust the logical height. So using adjustBorderBoxLogicalHeightForBoxSizing() means we have to re-adjust the border values when border collaspse is set(border-collapse:collapse). 
So currently I have not used adjustBorderBoxLogicalHeightForBoxSizing() to calculate the border values.

Had a doubt(Off-topic)
adjustBorderBoxLogicalHeightForBoxSizing() add/subtract border+padding if the 
style()-&gt;boxSizing() == CONTENT_BOX and 

adjustContentBoxLogicalHeightForBoxSizing() add/subtract border+padding if the 
style()-&gt;boxSizing() == BORDER_BOX

Function name and logic inside the function seem to different. Is it intentional ? (I don not hv much idea about box sizing :( ).

&gt; &gt; LayoutTests/fast/table/css-table-max-height.html:96
&gt; &gt; +shouldBe(&quot;maxGreatThanMinHeightAutoLayout.getBoundingClientRect().height&quot;,&quot;202&quot;);
&gt; 
&gt; You should consider removing the padding on your cell and the border-spacing on your table so that this is 200px!
&gt; 
&gt; &gt; LayoutTests/fast/table/css-table-max-height.html:108
&gt; &gt; +onlyMaxHeightFixedLayout = document.getElementById(&quot;onlyMaxHeightFixedLayout&quot;);
&gt; &gt; +shouldBe(&quot;onlyMaxHeightFixedLayout.getBoundingClientRect().height&quot;,&quot;202&quot;);
&gt; 
&gt; This looks like it&apos;s failing: max-height is 200px not 202px.
&gt; 
Done...

&gt; &gt; LayoutTests/fast/table/css-table-max-height.html:112
&gt; &gt; +document.body.removeChild(document.getElementById(&apos;container&apos;));
&gt; 
&gt; This could be a check-layout.js test.
&gt; 
Done. 

However IMHO using js-test-pre.js seemed to be informative than check-layout.js. Opening the testcase(js-test-pre.js) in a browser would tell a developer wat to expect. Using check-layout.js, one must see the source code to figure out the expected values should be.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754318</commentid>
    <comment_count>11</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-10-30 06:46:54 -0700</bug_when>
    <thetext>&gt; &gt; I really think this code should be some helper function as it is not be the only place where we have to do that (copying and pasting some code is bad!). We should also have a call to RenderBox::adjustBorderBoxLogicalHeightForBoxSizing for the CSS case as it would give us support for other box-sizing value for free (e.g. padding-box - see bug 23658) but that&apos;s more a nit.
&gt; &gt; 
&gt; 
&gt; I was not sure about this. 
&gt; In tables the padding is ignored if border collapsing set. adjustBorderBoxLogicalHeightForBoxSizing() uses border + padding to adjust the logical height. So using adjustBorderBoxLogicalHeightForBoxSizing() means we have to re-adjust the border values when border collaspse is set(border-collapse:collapse). 
&gt; So currently I have not used adjustBorderBoxLogicalHeightForBoxSizing() to calculate the border values.

Good point, we would need some solution to handle collapsing borders unfortunately. You can ignore this comment (which was a nit and orthogonal to your change).

&gt; Had a doubt(Off-topic)
&gt; adjustBorderBoxLogicalHeightForBoxSizing() add/subtract border+padding if the 
&gt; style()-&gt;boxSizing() == CONTENT_BOX and 
&gt; 
&gt; adjustContentBoxLogicalHeightForBoxSizing() add/subtract border+padding if the 
&gt; style()-&gt;boxSizing() == BORDER_BOX
&gt; 
&gt; Function name and logic inside the function seem to different. Is it intentional ? (I don not hv much idea about box sizing :( ).

Those 2 functions work as expected. The passed in logical height is supposed to be from the style and the functions checks box-sizing to adjust it accordingly. Check CSS 2.1 box model and the &apos;box-sizing&apos; property if you are not convinced.

&gt; However IMHO using js-test-pre.js seemed to be informative than check-layout.js. Opening the testcase(js-test-pre.js) in a browser would tell a developer wat to expect. Using check-layout.js, one must see the source code to figure out the expected values should be.

You need to read the source to understand the test at some point so it&apos;s not really an issue. However I do agree that it&apos;s unfortunate that check-layout.js doesn&apos;t dump what is tested nor what are the expected values. I don&apos;t know the decision behind that choice though so Tony may have some background.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754400</commentid>
    <comment_count>12</comment_count>
      <attachid>171270</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-10-30 08:47:08 -0700</bug_when>
    <thetext>Comment on attachment 171270
Patch

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

The test matches FF behavior (Opera has the same bug we have), haven&apos;t been able to check against IE.

Another round will be needed for the viewport relative inconsistency.

&gt; Source/WebCore/rendering/RenderTable.cpp:329
&gt; +LayoutUnit RenderTable::convertStyleLogicalHeightToComputedHeight(const Length&amp; styleLogicalHeight, bool collapseBorders)

I wouldn&apos;t pass collapseBorders in the new method. Querying the value from the style should be cheap enough.

&gt; Source/WebCore/rendering/RenderTable.cpp:467
&gt; +    if (logicalMaxHeightLength.isSpecified() &amp;&amp; !logicalMaxHeightLength.isNegative()) {

This will not work if max-height or min-height are view-port relative. Actually it will badly break: the code will compute the 2 values to be 0.

Using isSpecified() was a good idea as it is consistent with the existing logical width code but this means you have to fix convertStyleLogicalHeightToComputedHeight to properly handle view-port relative units. I don&apos;t mind either way but this will need to be tested or tracked.

&gt; LayoutTests/fast/table/css-table-max-height-expected.txt:4
&gt; +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
&gt; +PASS

This placeholder text isn&apos;t needed as you force the table logical height and could be dropped.

If you really think it&apos;s needed, I would put some explanations instead of a placeholder as it would make the output more readable. For example:

This sub-test checks that max-height is applied to a table.
PASS

&gt; LayoutTests/fast/table/css-table-max-height.html:9
&gt; +    border:1px solid green;

Not sure the border adds much here as we are 100% height.

&gt; LayoutTests/fast/table/css-table-max-height.html:70
&gt; +    &lt;div iclass=&quot;child fixed-table&quot; style=&quot;max-height:200px;&quot; data-expected-height=200&gt;

typo &apos;iclass&apos;, that&apos;s why you don&apos;t have a PASS in the output.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754568</commentid>
    <comment_count>13</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-10-30 12:14:32 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; &gt; However IMHO using js-test-pre.js seemed to be informative than check-layout.js. Opening the testcase(js-test-pre.js) in a browser would tell a developer wat to expect. Using check-layout.js, one must see the source code to figure out the expected values should be.
&gt; 
&gt; You need to read the source to understand the test at some point so it&apos;s not really an issue. However I do agree that it&apos;s unfortunate that check-layout.js doesn&apos;t dump what is tested nor what are the expected values. I don&apos;t know the decision behind that choice though so Tony may have some background.

If a check fails, it dumps the details of the failure.  For this test, I think either js-test-pre.js or check-layout.js would be OK.  check-layout.js is probably most useful if you want to test lots of properties (width, height, offsets, etc for dozens of elements).

Maybe we should add an optional second param to checkLayout that emits the test condition and value (as a separate patch).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760770</commentid>
    <comment_count>14</comment_count>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-11-07 09:32:20 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #11)
&gt; &gt; &gt; However IMHO using js-test-pre.js seemed to be informative than check-layout.js. Opening the testcase(js-test-pre.js) in a browser would tell a developer wat to expect. Using check-layout.js, one must see the source code to figure out the expected values should be.
&gt; &gt; 
&gt; &gt; You need to read the source to understand the test at some point so it&apos;s not really an issue. However I do agree that it&apos;s unfortunate that check-layout.js doesn&apos;t dump what is tested nor what are the expected values. I don&apos;t know the decision behind that choice though so Tony may have some background.
&gt; 
&gt; If a check fails, it dumps the details of the failure.  For this test, I think either js-test-pre.js or check-layout.js would be OK.  check-layout.js is probably most useful if you want to test lots of properties (width, height, offsets, etc for dozens of elements).
&gt; 

Given a choice i&apos;d prefer js-test-pre.js over check-layout.js(atleast in this case). However I&apos;d leave the decision to either one of u(Julien or Tony).
 
&gt; Maybe we should add an optional second param to checkLayout that emits the test condition and value (as a separate patch).
&gt; 
There is a drawback in using check-layout.js over js-test-pre.js.
Inequality comparisons are not possible when using checkLayout such as &quot;&gt;&quot; or &quot;&lt;&quot; as these have special meaning in html and will lead to bad consequences.

For example the case in the test case using
data-expected-height=144

Actually what I wanted was data-expected-height &gt; 100 (showing that height of the table can be more than max-height value when the content height is greater). However this is not possible when using checkLayout</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762000</commentid>
    <comment_count>15</comment_count>
      <attachid>173081</attachid>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-11-08 11:28:34 -0800</bug_when>
    <thetext>Created attachment 173081
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762540</commentid>
    <comment_count>16</comment_count>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-11-08 21:42:34 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 171270 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=171270&amp;action=review
&gt; 


&gt; &gt; Source/WebCore/rendering/RenderTable.cpp:329
&gt; &gt; +LayoutUnit RenderTable::convertStyleLogicalHeightToComputedHeight(const Length&amp; styleLogicalHeight, bool collapseBorders)
&gt; 
&gt; I wouldn&apos;t pass collapseBorders in the new method. Querying the value from the style should be cheap enough.
&gt; 

Done.

&gt; &gt; Source/WebCore/rendering/RenderTable.cpp:467
&gt; &gt; +    if (logicalMaxHeightLength.isSpecified() &amp;&amp; !logicalMaxHeightLength.isNegative()) {
&gt; 
&gt; This will not work if max-height or min-height are view-port relative. Actually it will badly break: the code will compute the 2 values to be 0.
&gt; 
&gt; Using isSpecified() was a good idea as it is consistent with the existing logical width code but this means you have to fix convertStyleLogicalHeightToComputedHeight to properly handle view-port relative units. I don&apos;t mind either way but this will need to be tested or tracked.
&gt; 
Added support for handling viewport percent height values.
Also added a set of sub-tests to check the same.

&gt; &gt; LayoutTests/fast/table/css-table-max-height-expected.txt:4
&gt; &gt; +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
&gt; &gt; +PASS
&gt; 
&gt; This placeholder text isn&apos;t needed as you force the table logical height and could be dropped.
&gt; 
&gt; If you really think it&apos;s needed, I would put some explanations instead of a placeholder as it would make the output more readable. For example:
&gt; 
&gt; This sub-test checks that max-height is applied to a table.
&gt; PASS
&gt; 

The height of the table is governed by it&apos;s content height in some sub tests. To keep the test case more informative and maintain consistency across sub tests have used short description text as placeholders.

&gt; &gt; LayoutTests/fast/table/css-table-max-height.html:9
&gt; &gt; +    border:1px solid green;
&gt; 
&gt; Not sure the border adds much here as we are 100% height.
&gt; 
Done.
&gt; &gt; LayoutTests/fast/table/css-table-max-height.html:70
&gt; &gt; +    &lt;div iclass=&quot;child fixed-table&quot; style=&quot;max-height:200px;&quot; data-expected-height=200&gt;
&gt; 
&gt; typo &apos;iclass&apos;, that&apos;s why you don&apos;t have a PASS in the output.
&gt; 
thanks for the catch. Done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763158</commentid>
    <comment_count>17</comment_count>
      <attachid>173081</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-11-09 10:52:34 -0800</bug_when>
    <thetext>Comment on attachment 173081
Patch

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

&gt; Source/WebCore/rendering/RenderTable.cpp:345
&gt; +        computedLogicalHeight = minimumValueForLength(styleLogicalHeight, 0, view());

I would add this to your code to ensure that we didn&apos;t forget a case (like calculated which should hopefully fall back on one of the two above):

else
    ASSERT_NOT_REACHED();

&gt; LayoutTests/fast/table/css-table-max-height.html:65
&gt; +    &lt;div class=&quot;child&quot; style=&quot;max-height:100px;&quot; data-expected-height=128&gt;
&gt; +        This sub-test checks that when content height is greater than max-height, content height is applied to the table with auto layout.
&gt; +    &lt;/div&gt;

I don&apos;t really understand the final height. &apos;max-height&apos; should override &apos;height&apos; and the computed height should be 100px (not 128px).

Also your wording is confusing as it&apos;s the max-height who should be applied.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765284</commentid>
    <comment_count>18</comment_count>
      <attachid>173828</attachid>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-11-12 23:02:00 -0800</bug_when>
    <thetext>Created attachment 173828
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765291</commentid>
    <comment_count>19</comment_count>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-11-12 23:11:47 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 173081 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=173081&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderTable.cpp:345
&gt; &gt; +        computedLogicalHeight = minimumValueForLength(styleLogicalHeight, 0, view());
&gt; 
&gt; I would add this to your code to ensure that we didn&apos;t forget a case (like calculated which should hopefully fall back on one of the two above):
&gt; 
&gt; else
&gt;     ASSERT_NOT_REACHED();
&gt;  
Done.

&gt; &gt; LayoutTests/fast/table/css-table-max-height.html:65
&gt; &gt; +    &lt;div class=&quot;child&quot; style=&quot;max-height:100px;&quot; data-expected-height=128&gt;
&gt; &gt; +        This sub-test checks that when content height is greater than max-height, content height is applied to the table with auto layout.
&gt; &gt; +    &lt;/div&gt;
&gt; 
&gt; I don&apos;t really understand the final height. &apos;max-height&apos; should override &apos;height&apos; and the computed height should be 100px (not 128px).
&gt; 
&gt; Also your wording is confusing as it&apos;s the max-height who should be applied.
&gt; 
Sorry for not explaining this case before. 

The height, max-height when used with tables have a slightly different behavior .
The content height always gets the highest priority , i.e Priority wise  -- Content Height &gt; max-height &gt; height.
This is true across all other browsers(verified the case on FF).  This is avoid the negative height distribution I guess. 
In the testcase we check that the above behavior is not affected by the code added to handle max-height, min-height.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770880</commentid>
    <comment_count>20</comment_count>
      <attachid>173828</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-11-19 11:21:19 -0800</bug_when>
    <thetext>Comment on attachment 173828
Patch

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

I don&apos;t need to see the updated change.

&gt; Source/WebCore/ChangeLog:8
&gt; +        max-height property is does not overriding the height properties for css tables(display:table)
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=98633
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        The max-height property determines the maximum computed height an element can have. In case of css tables(display:table)

Note that it was all tables and not just CSS tables that were impacted. Please update the bug title and this line to reflect that (fixing also the extra &apos;is&apos; in the title)

&gt; LayoutTests/fast/table/css-table-max-height.html:65
&gt; +    &lt;div class=&quot;child&quot; style=&quot;max-height:100px;&quot; data-expected-height=128&gt;
&gt; +        This sub-test checks that when content height is greater than max-height, content height is applied to the table with auto layout.
&gt; +    &lt;/div&gt;

This doesn&apos;t match any other browsers (even FF returns 100px here) and the div case so I don&apos;t agree with your analysis. As you pointed out this is a bug in our extra logical height spreading algorithm (see bug 81824 for some context) so it is orthogonal to this change.

My take would be to land with the real expected result (ie 100px and failing that) along with a comment in the test instead of accepting our broken behavior in this case.

&gt; LayoutTests/fast/table/css-table-max-height.html:100
&gt; +&lt;div class=&quot;container&quot;&gt;
&gt; +    &lt;div class=&quot;child fixed-table&quot; style=&quot;max-height:100px;&quot; data-expected-height=128&gt;
&gt; +        This sub-test checks that when content height is greater than max-height, content height is applied to a table with fixed layout.
&gt; +    &lt;/div&gt;

Same comment here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771638</commentid>
    <comment_count>21</comment_count>
      <attachid>175167</attachid>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-11-20 00:29:38 -0800</bug_when>
    <thetext>Created attachment 175167
TestCase with content height &gt; max-height

In the testcase used in the previous patch when rendered on FF did not have enough content to satisfy the condition Content Height &gt; max-height.
This testcase can be used to check the behavior on FF and Webkit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771714</commentid>
    <comment_count>22</comment_count>
      <attachid>175179</attachid>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-11-20 03:19:16 -0800</bug_when>
    <thetext>Created attachment 175179
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771815</commentid>
    <comment_count>23</comment_count>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-11-20 06:43:08 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; (From update of attachment 173828 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=173828&amp;action=review
&gt; 
&gt; I don&apos;t need to see the updated change.
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:8
&gt; &gt; +        max-height property is does not overriding the height properties for css tables(display:table)
&gt; &gt; +        https://bugs.webkit.org/show_bug.cgi?id=98633
&gt; &gt; +
&gt; &gt; +        Reviewed by NOBODY (OOPS!).
&gt; &gt; +
&gt; &gt; +        The max-height property determines the maximum computed height an element can have. In case of css tables(display:table)
&gt; 
&gt; Note that it was all tables and not just CSS tables that were impacted. Please update the bug title and this line to reflect that (fixing also the extra &apos;is&apos; in the title)
&gt; 
Done.

&gt; &gt; LayoutTests/fast/table/css-table-max-height.html:65
&gt; &gt; +    &lt;div class=&quot;child&quot; style=&quot;max-height:100px;&quot; data-expected-height=128&gt;
&gt; &gt; +        This sub-test checks that when content height is greater than max-height, content height is applied to the table with auto layout.
&gt; &gt; +    &lt;/div&gt;
&gt; 
&gt; This doesn&apos;t match any other browsers (even FF returns 100px here) and the div case so I don&apos;t agree with your analysis. As you pointed out this is a bug in our extra logical height spreading algorithm (see bug 81824 for some context) so it is orthogonal to this change.
&gt; 
&gt; My take would be to land with the real expected result (ie 100px and failing that) along with a comment in the test instead of accepting our broken behavior in this case.
&gt; 
&gt; &gt; LayoutTests/fast/table/css-table-max-height.html:100
&gt; &gt; +&lt;div class=&quot;container&quot;&gt;
&gt; &gt; +    &lt;div class=&quot;child fixed-table&quot; style=&quot;max-height:100px;&quot; data-expected-height=128&gt;
&gt; &gt; +        This sub-test checks that when content height is greater than max-height, content height is applied to a table with fixed layout.
&gt; &gt; +    &lt;/div&gt;
&gt; 
&gt; Same comment here.
&gt; 

Have made some changes to the testcase. The issue was that in the previous testcase the content height did not exceed the max-height on FF. Also the computed height when content height is different on FF, Chrome(or Safari) and DumpRenderTree. Also run-webkit-tests gives a different set of values for computed height in case when content height &gt; max-height from the ones found when testcase is fetched using FF or Chrome. The expected test result is in accordance to values found in dumpRenderTree.

Also check attachment https://bugs.webkit.org/attachment.cgi?id=175167 for comparing the behavior of 
FF and Webkit based browser.
In conclusion have changed the testcase such that all the sub tests pass(no expected failures)

Please let me know if your opinion on the same. Maybe if you feel that the height of table should not exceed max-height in any case, I can upload another patch reflecting the same.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774120</commentid>
    <comment_count>24</comment_count>
      <attachid>175179</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-11-22 15:47:55 -0800</bug_when>
    <thetext>Comment on attachment 175179
Patch

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

&gt; Please let me know if your opinion on the same. Maybe if you feel that the height of table should not exceed max-height in any case

OK, FF and IE match this behavior. Opera has a weird behavior.

&gt; LayoutTests/fast/table/css-table-max-height.html:101
&gt; +    &lt;div class=&quot;child fixed-table&quot; style=&quot;max-height:100px;&quot; data-expected-height=192&gt;
&gt; +        This sub-test checks that when content height is greater than max-height, content height is applied to a table with fixed layout.
&gt; +        &lt;br&gt;&lt;br&gt;FILLER TEXT TO INCREASE CONTENT HEIGHT.

Note that this makes the test dependent on the text size. Hopefully this shouldn&apos;t make the test platform-dependent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774125</commentid>
    <comment_count>25</comment_count>
      <attachid>175179</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-22 15:57:34 -0800</bug_when>
    <thetext>Comment on attachment 175179
Patch

Clearing flags on attachment: 175179

Committed r135549: &lt;http://trac.webkit.org/changeset/135549&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774126</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-22 15:57:39 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774187</commentid>
    <comment_count>27</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-11-22 20:57:36 -0800</bug_when>
    <thetext>It made zillions tests crash in debug mode on all bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774237</commentid>
    <comment_count>28</comment_count>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-11-22 23:16:46 -0800</bug_when>
    <thetext>(In reply to comment #27)
&gt; It made zillions tests crash in debug mode on all bot.
&gt; 

Have created a bug for the same. 
See Bug 103100</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774254</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-22 23:51:52 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 103102</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774628</commentid>
    <comment_count>30</comment_count>
      <attachid>175823</attachid>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-11-23 09:53:21 -0800</bug_when>
    <thetext>Created attachment 175823
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774635</commentid>
    <comment_count>31</comment_count>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-11-23 10:14:29 -0800</bug_when>
    <thetext>(In reply to comment #30)
&gt; Created an attachment (id=175823) [details]
&gt; Patch
&gt; 

The asserts caused by r135549 where due the fact that the patch did not handle the case when logical height was not specified(default auto). 
Fixed the same.
Also added a sub-test to check the same.
Sorry for the trouble.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777034</commentid>
    <comment_count>32</comment_count>
      <attachid>175823</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-11-27 11:33:43 -0800</bug_when>
    <thetext>Comment on attachment 175823
Patch

r=me again, assuming no ASSERT triggering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777054</commentid>
    <comment_count>33</comment_count>
      <attachid>175823</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-27 11:53:32 -0800</bug_when>
    <thetext>Comment on attachment 175823
Patch

Clearing flags on attachment: 175823

Committed r135891: &lt;http://trac.webkit.org/changeset/135891&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777056</commentid>
    <comment_count>34</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-27 11:53:38 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>167515</attachid>
            <date>2012-10-08 00:31:39 -0700</date>
            <delta_ts>2012-10-08 00:31:39 -0700</delta_ts>
            <desc>TestCase</desc>
            <filename>table_display.html</filename>
            <type>text/html</type>
            <size>1771</size>
            <attacher name="Pravin D">pravind.2k4</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+DQo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRt
bCI+DQo8aGVhZD4NCiAgICA8dGl0bGU+PC90aXRsZT4NCiAgICA8c3R5bGUgdHlwZT0idGV4dC9j
c3MiPg0KICAgICAgICAucGFyZW50DQogICAgICAgIHsNCiAgICAgICAgICAgIGJvcmRlcjoxcHgg
c29saWQgcmVkOw0KICAgICAgICAgICAgaGVpZ2h0OjQwMHB4Ow0KICAgICAgICAgICAgd2lkdGg6
MzAwcHg7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5wYXJlbnQgLmNoaWxkDQogICAg
ICAgIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6Izk5OTk5OTsNCiAgICAgICAgICAg
IGJvcmRlcjoxcHggc29saWQgZGFya2dyZWVuOw0KICAgICAgICB9DQogICAgPC9zdHlsZT4NCjwv
aGVhZD4NCjxib2R5Pg0KPGRpdiBjbGFzcz0icGFyZW50Ij4NCiAgICA8aDM+RXhwZWN0ZWQgYmVo
YXZpb3IuPC9oMz4NCiAgICA8ZGl2IGNsYXNzPSJjaGlsZCIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7
IG1heC1oZWlnaHQ6MjAwcHg7IGhlaWdodDoxMDAlOyI+DQogICAgICAgIExvcmVtIGlwc3VtIGRv
bG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21v
ZCANCiAgICAgICAgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBh
bGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCANCiAgICAgICAgcXVpcyBub3N0cnVkIGV4
ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8g
Y29uc2VxdWF0LiANCiAgICAgICAgRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVy
aXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSANCiAgICAgICAgZnVn
aWF0IG51bGxhIHBhcmlhdHVyLkV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24g
cHJvaWRlbnQsIHN1bnQgaW4gY3VscGEgDQogICAgICAgIHF1aSBvZmZpY2lhIGRlc2VydW50IG1v
bGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLg0KICAgIDwvZGl2Pg0KPC9kaXY+DQo8YnI+DQo8ZGl2
IGNsYXNzPSJwYXJlbnQiPg0KICAgIDxoMz5DU1MgVGFibGUgd2l0aCB0aGUgaXNzdWUuPC9oMz4N
CiAgICA8ZGl2IGNsYXNzPSJjaGlsZCIgc3R5bGU9ImRpc3BsYXk6dGFibGU7IG1heC1oZWlnaHQ6
MjAwcHg7IGhlaWdodDoxMDAlOyI+DQogICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0
LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCANCiAgICAgICAg
dGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVu
aW0gYWQgbWluaW0gdmVuaWFtLCANCiAgICAgICAgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1
bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiAN
CiAgICAgICAgRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0
YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSANCiAgICAgICAgZnVnaWF0IG51bGxhIHBh
cmlhdHVyLkV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1
bnQgaW4gY3VscGEgDQogICAgICAgIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlk
IGVzdCBsYWJvcnVtLg0KICAgIDwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRt
bD4NCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169033</attachid>
            <date>2012-10-16 14:41:58 -0700</date>
            <delta_ts>2012-10-24 07:02:54 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>bug-98633-20121017083952.patch</filename>
            <type>text/plain</type>
            <size>20937</size>
            <attacher name="Pravin D">pravind.2k4</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMTUwMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEyLTEwLTE2ICBQcmF2aW4g
RCAgPHByYXZpbmQuMms0QGdtYWlsLmNvbT4KKworICAgICAgICBtYXgtaGVpZ2h0IHByb3BlcnR5
IGlzIGRvZXMgbm90IG92ZXJyaWRpbmcgdGhlIGhlaWdodCBwcm9wZXJ0aWVzIGZvciBjc3MgdGFi
bGVzKGRpc3BsYXk6dGFibGUpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05ODYzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSBoZWlnaHQgb2YgYSBjb250YWluZXIgd2l0aCBkaXNwbGF5OnRhYmxlIG11
c3Qgbm90IGV4Y2VlZCB0aGUgbWF4LWhlaWdodCB2YWx1ZSB3aGVuIGVpdGhlciAKKyAgICAgICAg
bWF4LWhlaWdodCA8IG1pbi1oZWlnaHQgb3IgbWF4LWhlaWdodCA8IENvbXB1dGVkIGNvbnRlbnRz
IGhlaWdodC4KKworICAgICAgICBUZXN0OiBmYXN0L3RhYmxlL2Nzcy10YWJsZS1tYXgtaGVpZ2h0
Lmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQm94OjphdmFpbGFibGVDb21wdXRlZEhlaWdodCk6CisgICAgICAgICBNb3Zl
ZCB0aGUgY29kZSB1c2VkIHRvIGNvbXB1dGUgYXZhaWxhYmxlIGhlaWdodCBmcm9tIGNvbXB1dGVQ
ZXJjZW50YWdlTG9naWNhbEhlaWdodChMYXlvdXRVbml0ICkKKworICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQm94Ojpjb21wdXRlUGVyY2VudGFnZUxvZ2ljYWxIZWlnaHQpOgorICAgICAgICAgT3Zl
cmxvYWRlZCBmdW5jdGlvbiB3aGljaCBub3cgdGFrZXMgUmVuZGVyU3R5bGUncyBsb2dpY2FsIGhl
aWdodChpbmNsdWRpbmcgbWluLCBtYXggaGVpZ2h0KSwgCisgICAgICAgICBhdmFpbGFibGUgaGVp
Z2h0IGFuZCBhIGJvb2xlYW4gdG8gaW5jbHVkZSBib3JkZXIgYW5kIHBhZGRpbmcgYW5kIHJldHVy
bnMgdGhlIGNvbXB1dGVkIGxvZ2ljYWwgaGVpZ2h0LgorCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckJveC5oOgorICAgICAgICAoUmVuZGVyQm94KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVGFibGUuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUYWJsZTo6Y29udmVydFN0eWxlTG9naWNhbEhlaWdodFRvQ29tcHV0ZWRIZWlnaHQpOgorICAg
ICAgICBGdW5jdGlvbiB0byBjb252ZXJ0IFN0eWxlIGxvZ2ljYWwgaGVpZ2h0IHRvIGNvbXB1dGVk
IGhlaWdodC4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGU6OmxheW91dCk6CisgICAg
ICAgICBMb2dpYyB0byBjb21wdXRlIHRoZSBoZWlnaHQgb2YgdGhlIHRhYmxlIHVzaW5nICBtYXgt
aGVpZ2h0IGFuZCBtaW4taGVpZ2h0CisgICAgICAgICBhbG9uZyB3aXRoIGxvZ2ljYWwgaGVpZ2h0
LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlLmg6CisgICAgICAgIChSZW5kZXJU
YWJsZSk6CisKIDIwMTItMTAtMTYgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBEb2N1bWVudDo6YWRvcHROb2RlIHNob3VsZG4ndCBzcGVjaWFsLWNhc2UgPGlmcmFt
ZT4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCShyZXZpc2lvbiAx
MzE0OTIpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjE1Myw5ICsyMTUzLDkgQEAgYm9vbCBSZW5kZXJCb3g6OnNraXBDb250YWlu
aW5nQmxvY2tGb3JQZQogICAgIHJldHVybiAhY29udGFpbmluZ0Jsb2NrLT5pc1RhYmxlQ2VsbCgp
ICYmICFjb250YWluaW5nQmxvY2stPmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpICYmIGNvbnRhaW5p
bmdCbG9jay0+c3R5bGUoKS0+bG9naWNhbEhlaWdodCgpLmlzQXV0bygpICYmIGlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkgPT0gY29udGFpbmluZ0Jsb2NrLT5pc0hvcml6b250YWxXcml0aW5nTW9k
ZSgpOwogfQogCi1MYXlvdXRVbml0IFJlbmRlckJveDo6Y29tcHV0ZVBlcmNlbnRhZ2VMb2dpY2Fs
SGVpZ2h0KGNvbnN0IExlbmd0aCYgaGVpZ2h0KSBjb25zdAordm9pZCBSZW5kZXJCb3g6OmF2YWls
YWJsZUNvbXB1dGVkSGVpZ2h0KExheW91dFVuaXQmIGF2YWlsYWJsZUhlaWdodCwgYm9vbCYgaW5j
bHVkZUJvcmRlclBhZGRpbmcpIGNvbnN0CiB7Ci0gICAgTGF5b3V0VW5pdCBhdmFpbGFibGVIZWln
aHQgPSAtMTsKKyAgICBhdmFpbGFibGVIZWlnaHQgPSAtMTsKICAgICAKICAgICBib29sIHNraXBw
ZWRBdXRvSGVpZ2h0Q29udGFpbmluZ0Jsb2NrID0gZmFsc2U7CiAgICAgUmVuZGVyQmxvY2sqIGNi
ID0gY29udGFpbmluZ0Jsb2NrKCk7CkBAIC0yMTc2LDcgKzIxNzYsNyBAQCBMYXlvdXRVbml0IFJl
bmRlckJveDo6Y29tcHV0ZVBlcmNlbnRhZ2VMCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQ2NTAwCiAgICAgYm9vbCBpc091dE9mRmxvd1Bvc2l0aW9uZWRX
aXRoU3BlY2lmaWVkSGVpZ2h0ID0gY2ItPmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpICYmICghY2Jz
dHlsZS0+bG9naWNhbEhlaWdodCgpLmlzQXV0bygpIHx8ICghY2JzdHlsZS0+dG9wKCkuaXNBdXRv
KCkgJiYgIWNic3R5bGUtPmJvdHRvbSgpLmlzQXV0bygpKSk7CiAKLSAgICBib29sIGluY2x1ZGVC
b3JkZXJQYWRkaW5nID0gaXNUYWJsZSgpOworICAgIGluY2x1ZGVCb3JkZXJQYWRkaW5nID0gaXNU
YWJsZSgpOwogCiAgICAgaWYgKGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgIT0gY2ItPmlzSG9y
aXpvbnRhbFdyaXRpbmdNb2RlKCkpCiAgICAgICAgIGF2YWlsYWJsZUhlaWdodCA9IGNiLT5jb250
ZW50TG9naWNhbFdpZHRoKCk7CkBAIC0yMTk0LDggKzIxOTQsMTAgQEAgTGF5b3V0VW5pdCBSZW5k
ZXJCb3g6OmNvbXB1dGVQZXJjZW50YWdlTAogICAgICAgICAgICAgLy8gcHJlZmVyYWJsZSB0byB0
aGUgYWx0ZXJuYXRpdmUgKHNpemluZyBpbnRyaW5zaWNhbGx5IGFuZCBtYWtpbmcgdGhlIHJvdyBl
bmQgdXAgdG9vIGJpZykuCiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwqIGNlbGwgPSB0b1Jl
bmRlclRhYmxlQ2VsbChjYik7CiAgICAgICAgICAgICBpZiAoc2Nyb2xsc092ZXJmbG93WSgpICYm
ICghY2VsbC0+c3R5bGUoKS0+bG9naWNhbEhlaWdodCgpLmlzQXV0bygpIHx8ICFjZWxsLT50YWJs
ZSgpLT5zdHlsZSgpLT5sb2dpY2FsSGVpZ2h0KCkuaXNBdXRvKCkpKQotICAgICAgICAgICAgICAg
IHJldHVybiAwOwotICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgICAgIGF2YWls
YWJsZUhlaWdodCA9IDA7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgYXZhaWxh
YmxlSGVpZ2h0ID0gLTE7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAg
YXZhaWxhYmxlSGVpZ2h0ID0gY2ItPm92ZXJyaWRlTG9naWNhbENvbnRlbnRIZWlnaHQoKTsKICAg
ICAgICAgaW5jbHVkZUJvcmRlclBhZGRpbmcgPSB0cnVlOwpAQCAtMjIxOCwxMSArMjIyMCwxMyBA
QCBMYXlvdXRVbml0IFJlbmRlckJveDo6Y29tcHV0ZVBlcmNlbnRhZ2VMCiAgICAgICAgIGNiLT5z
ZXRMb2dpY2FsSGVpZ2h0KG9sZEhlaWdodCk7CiAgICAgfQogCi0gICAgaWYgKGF2YWlsYWJsZUhl
aWdodCA9PSAtMSkKLSAgICAgICAgcmV0dXJuIGF2YWlsYWJsZUhlaWdodDsKKyAgICBpZiAoYXZh
aWxhYmxlSGVpZ2h0ICE9IC0xKQorICAgICAgICBhdmFpbGFibGVIZWlnaHQgLT0gcm9vdE1hcmdp
bkJvcmRlclBhZGRpbmdIZWlnaHQ7CiAKLSAgICBhdmFpbGFibGVIZWlnaHQgLT0gcm9vdE1hcmdp
bkJvcmRlclBhZGRpbmdIZWlnaHQ7Cit9CiAKK0xheW91dFVuaXQgUmVuZGVyQm94Ojpjb21wdXRl
UGVyY2VudGFnZUxvZ2ljYWxIZWlnaHQoY29uc3QgTGVuZ3RoIGhlaWdodCwgTGF5b3V0VW5pdCBh
dmFpbGFibGVIZWlnaHQsIGJvb2wgaW5jbHVkZUJvcmRlclBhZGRpbmcpIGNvbnN0Cit7CiAgICAg
TGF5b3V0VW5pdCByZXN1bHQgPSB2YWx1ZUZvckxlbmd0aChoZWlnaHQsIGF2YWlsYWJsZUhlaWdo
dCk7CiAgICAgaWYgKGluY2x1ZGVCb3JkZXJQYWRkaW5nKSB7CiAgICAgICAgIC8vIEZJWE1FOiBU
YWJsZSBjZWxscyBzaG91bGQgZGVmYXVsdCB0byBib3gtc2l6aW5nOiBib3JkZXItYm94IHNvIHdl
IGNhbiBhdm9pZCB0aGlzIGhhY2suCkBAIC0yMjM0LDYgKzIyMzgsMTMgQEAgTGF5b3V0VW5pdCBS
ZW5kZXJCb3g6OmNvbXB1dGVQZXJjZW50YWdlTAogICAgIH0KICAgICByZXR1cm4gcmVzdWx0Owog
fQorTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbXB1dGVQZXJjZW50YWdlTG9naWNhbEhlaWdodChj
b25zdCBMZW5ndGgmIGhlaWdodCkgY29uc3QKK3sKKyAgICBMYXlvdXRVbml0IGF2YWlsYWJsZUhl
aWdodDsKKyAgICBib29sIGluY2x1ZGVCb3JkZXJQYWRkaW5nOworICAgIGF2YWlsYWJsZUNvbXB1
dGVkSGVpZ2h0KGF2YWlsYWJsZUhlaWdodCwgaW5jbHVkZUJvcmRlclBhZGRpbmcpOworICAgIHJl
dHVybiBjb21wdXRlUGVyY2VudGFnZUxvZ2ljYWxIZWlnaHQoaGVpZ2h0LCBhdmFpbGFibGVIZWln
aHQsIGluY2x1ZGVCb3JkZXJQYWRkaW5nKTsKK30KIAogTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNv
bXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aChib29sIGluY2x1ZGVNYXhXaWR0aCkgY29uc3QKIHsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHJldmlzaW9uIDEzMTQ5MikK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAkod29ya2luZyBjb3B5KQpA
QCAtNDA3LDYgKzQwNyw4IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBib29sIHBlcmNlbnRhZ2VM
b2dpY2FsSGVpZ2h0SXNSZXNvbHZhYmxlRnJvbUJsb2NrKGNvbnN0IFJlbmRlckJsb2NrKiBjb250
YWluaW5nQmxvY2ssIGJvb2wgb3V0T2ZGbG93UG9zaXRpb25lZCk7CiAgICAgTGF5b3V0VW5pdCBj
b21wdXRlUGVyY2VudGFnZUxvZ2ljYWxIZWlnaHQoY29uc3QgTGVuZ3RoJiBoZWlnaHQpIGNvbnN0
OworICAgIExheW91dFVuaXQgY29tcHV0ZVBlcmNlbnRhZ2VMb2dpY2FsSGVpZ2h0KGNvbnN0IExl
bmd0aCBoZWlnaHQsIExheW91dFVuaXQgYXZhaWxhYmxlSGVpZ2h0LCBib29sIGluY2x1ZGVCb3Jk
ZXJQYWRkaW5nKSBjb25zdDsKKyAgICB2b2lkIGF2YWlsYWJsZUNvbXB1dGVkSGVpZ2h0KExheW91
dFVuaXQmIGF2YWlsYWJsZUhlaWdodCwgYm9vbCYgaW5jbHVkZUJvcmRlclBhZGRpbmcpIGNvbnN0
OwogCiAgICAgLy8gQmxvY2sgZmxvd3Mgc3ViY2xhc3MgYXZhaWxhYmxlV2lkdGgvSGVpZ2h0IHRv
IGhhbmRsZSBtdWx0aSBjb2x1bW4gbGF5b3V0IChzaHJpbmtpbmcgdGhlIHdpZHRoL2hlaWdodCBh
dmFpbGFibGUgdG8gY2hpbGRyZW4gd2hlbiBsYXlpbmcgb3V0LikKICAgICB2aXJ0dWFsIExheW91
dFVuaXQgYXZhaWxhYmxlTG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gY29udGVudExvZ2lj
YWxXaWR0aCgpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5j
cHAJKHJldmlzaW9uIDEzMTQ5MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
YWJsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwNSw2ICszMDUsMjcgQEAgTGF5b3V0VW5pdCBS
ZW5kZXJUYWJsZTo6Y29udmVydFN0eWxlTG9naQogICAgIHJldHVybiBtaW5pbXVtVmFsdWVGb3JM
ZW5ndGgoc3R5bGVMb2dpY2FsV2lkdGgsIGF2YWlsYWJsZVdpZHRoLCB2aWV3KCkpICsgYm9yZGVy
czsKIH0KIAorLy8gVGhpcyBtZXRob2QgdGFrZXMgYSBSZW5kZXJTdHlsZSdzIGxvZ2ljYWwgaGVp
Z2h0LCBtaW4taGVpZ2h0LCBvciBtYXgtaGVpZ2h0IGxlbmd0aCBhbmQgY29tcHV0ZXMgaXRzIGFj
dHVhbCB2YWx1ZS4KK0xheW91dFVuaXQgUmVuZGVyVGFibGU6OmNvbnZlcnRTdHlsZUxvZ2ljYWxI
ZWlnaHRUb0NvbXB1dGVkSGVpZ2h0KGNvbnN0IExlbmd0aCYgc3R5bGVMb2dpY2FsSGVpZ2h0LCBM
YXlvdXRVbml0IGF2YWlsYWJsZUhlaWdodCwgYm9vbCBpbmNsdWRlQm9yZGVyUGFkZGluZykKK3sK
KyAgICBMYXlvdXRVbml0IGNvbXB1dGVkTG9naWNhbEhlaWdodCA9IDA7CisgICAgaWYgKHN0eWxl
TG9naWNhbEhlaWdodC5pc0ZpeGVkKCkpIHsKKyAgICAgICAgLy8gSFRNTCB0YWJsZXMgc2l6ZSBh
cyB0aG91Z2ggQ1NTIGhlaWdodCBpbmNsdWRlcyBib3JkZXIvcGFkZGluZywgQ1NTIHRhYmxlcyBk
byBub3QuCisgICAgICAgIExheW91dFVuaXQgYm9yZGVycyA9IFpFUk9fTEFZT1VUX1VOSVQ7Cisg
ICAgICAgIC8vIEZJWE1FOiBXZSBjYW5ub3QgYXBwbHkgYm94LXNpemluZzogY29udGVudC1ib3gg
b24gPHRhYmxlPiB3aGljaCBvdGhlciBicm93c2VycyBhbGxvdy4KKyAgICAgICAgaWYgKChub2Rl
KCkgJiYgbm9kZSgpLT5oYXNUYWdOYW1lKHRhYmxlVGFnKSkgfHwgc3R5bGUoKS0+Ym94U2l6aW5n
KCkgPT0gQk9SREVSX0JPWCkgeworICAgICAgICAgICAgYm9vbCBjb2xsYXBzaW5nID0gY29sbGFw
c2VCb3JkZXJzKCk7CisgICAgICAgICAgICBMYXlvdXRVbml0IGJvcmRlckFuZFBhZGRpbmdCZWZv
cmUgPSBib3JkZXJCZWZvcmUoKSArIChjb2xsYXBzaW5nID8gWkVST19MQVlPVVRfVU5JVCA6IHBh
ZGRpbmdCZWZvcmUoKSk7CisgICAgICAgICAgICBMYXlvdXRVbml0IGJvcmRlckFuZFBhZGRpbmdB
ZnRlciA9IGJvcmRlckFmdGVyKCkgKyAoY29sbGFwc2luZyA/IFpFUk9fTEFZT1VUX1VOSVQgOiBw
YWRkaW5nQWZ0ZXIoKSk7CisgICAgICAgICAgICBib3JkZXJzID0gYm9yZGVyQW5kUGFkZGluZ0Jl
Zm9yZSArIGJvcmRlckFuZFBhZGRpbmdBZnRlcjsKKyAgICAgICAgfQorICAgICAgICBjb21wdXRl
ZExvZ2ljYWxIZWlnaHQgPSBzdHlsZUxvZ2ljYWxIZWlnaHQudmFsdWUoKSAtIGJvcmRlcnM7Cisg
ICAgfSBlbHNlIGlmIChzdHlsZUxvZ2ljYWxIZWlnaHQuaXNQZXJjZW50KCkpIAorICAgICAgICBj
b21wdXRlZExvZ2ljYWxIZWlnaHQgPSBjb21wdXRlUGVyY2VudGFnZUxvZ2ljYWxIZWlnaHQoc3R5
bGVMb2dpY2FsSGVpZ2h0LCBhdmFpbGFibGVIZWlnaHQsIGluY2x1ZGVCb3JkZXJQYWRkaW5nKTsK
KworICAgIHJldHVybiBtYXg8TGF5b3V0VW5pdD4oMCwgY29tcHV0ZWRMb2dpY2FsSGVpZ2h0KTsK
K30KKwogdm9pZCBSZW5kZXJUYWJsZTo6bGF5b3V0Q2FwdGlvbihSZW5kZXJUYWJsZUNhcHRpb24q
IGNhcHRpb24pCiB7CiAgICAgTGF5b3V0UmVjdCBjYXB0aW9uUmVjdChjYXB0aW9uLT5mcmFtZVJl
Y3QoKSk7CkBAIC00MjIsMTYgKzQ0MywyMyBAQCB2b2lkIFJlbmRlclRhYmxlOjpsYXlvdXQoKQog
CiAgICAgTGVuZ3RoIGxvZ2ljYWxIZWlnaHRMZW5ndGggPSBzdHlsZSgpLT5sb2dpY2FsSGVpZ2h0
KCk7CiAgICAgTGF5b3V0VW5pdCBjb21wdXRlZExvZ2ljYWxIZWlnaHQgPSAwOwotICAgIGlmIChs
b2dpY2FsSGVpZ2h0TGVuZ3RoLmlzRml4ZWQoKSkgewotICAgICAgICAvLyBIVE1MIHRhYmxlcyBz
aXplIGFzIHRob3VnaCBDU1MgaGVpZ2h0IGluY2x1ZGVzIGJvcmRlci9wYWRkaW5nLCBDU1MgdGFi
bGVzIGRvIG5vdC4KLSAgICAgICAgTGF5b3V0VW5pdCBib3JkZXJzID0gWkVST19MQVlPVVRfVU5J
VDsKLSAgICAgICAgLy8gRklYTUU6IFdlIGNhbm5vdCBhcHBseSBib3gtc2l6aW5nOiBjb250ZW50
LWJveCBvbiA8dGFibGU+IHdoaWNoIG90aGVyIGJyb3dzZXJzIGFsbG93LgotICAgICAgICBpZiAo
KG5vZGUoKSAmJiBub2RlKCktPmhhc1RhZ05hbWUodGFibGVUYWcpKSB8fCBzdHlsZSgpLT5ib3hT
aXppbmcoKSA9PSBCT1JERVJfQk9YKQotICAgICAgICAgICAgYm9yZGVycyA9IGJvcmRlckFuZFBh
ZGRpbmdCZWZvcmUgKyBib3JkZXJBbmRQYWRkaW5nQWZ0ZXI7Ci0gICAgICAgIGNvbXB1dGVkTG9n
aWNhbEhlaWdodCA9IGxvZ2ljYWxIZWlnaHRMZW5ndGgudmFsdWUoKSAtIGJvcmRlcnM7Ci0gICAg
fSBlbHNlIGlmIChsb2dpY2FsSGVpZ2h0TGVuZ3RoLmlzUGVyY2VudCgpKQotICAgICAgICBjb21w
dXRlZExvZ2ljYWxIZWlnaHQgPSBjb21wdXRlUGVyY2VudGFnZUxvZ2ljYWxIZWlnaHQobG9naWNh
bEhlaWdodExlbmd0aCk7Ci0gICAgY29tcHV0ZWRMb2dpY2FsSGVpZ2h0ID0gbWF4PExheW91dFVu
aXQ+KDAsIGNvbXB1dGVkTG9naWNhbEhlaWdodCk7CisgICAgTGF5b3V0VW5pdCBhdmFpbGFibGVI
ZWlnaHQ7CisgICAgYm9vbCBpbmNsdWRlQm9yZGVyUGFkZGluZzsKKyAgICBhdmFpbGFibGVDb21w
dXRlZEhlaWdodChhdmFpbGFibGVIZWlnaHQsIGluY2x1ZGVCb3JkZXJQYWRkaW5nKTsKKworICAg
IGNvbXB1dGVkTG9naWNhbEhlaWdodCA9IGNvbnZlcnRTdHlsZUxvZ2ljYWxIZWlnaHRUb0NvbXB1
dGVkSGVpZ2h0KGxvZ2ljYWxIZWlnaHRMZW5ndGgsIGF2YWlsYWJsZUhlaWdodCwgaW5jbHVkZUJv
cmRlclBhZGRpbmcpOworCisgICAgTGVuZ3RoIHN0eWxlTWF4TG9naWNhbEhlaWdodCA9IHN0eWxl
KCktPmxvZ2ljYWxNYXhIZWlnaHQoKTsKKyAgICBpZiAoc3R5bGVNYXhMb2dpY2FsSGVpZ2h0Lmlz
U3BlY2lmaWVkKCkgJiYgIXN0eWxlTWF4TG9naWNhbEhlaWdodC5pc05lZ2F0aXZlKCkpIHsKKyAg
ICAgICAgTGF5b3V0VW5pdCBjb21wdXRlZE1heExvZ2ljYWxIZWlnaHQgPSBjb252ZXJ0U3R5bGVM
b2dpY2FsSGVpZ2h0VG9Db21wdXRlZEhlaWdodChzdHlsZU1heExvZ2ljYWxIZWlnaHQsIGF2YWls
YWJsZUhlaWdodCwgaW5jbHVkZUJvcmRlclBhZGRpbmcpOworICAgICAgICBjb21wdXRlZExvZ2lj
YWxIZWlnaHQgPSBtaW4oY29tcHV0ZWRNYXhMb2dpY2FsSGVpZ2h0LCBjb21wdXRlZExvZ2ljYWxI
ZWlnaHQpOworICAgIH0KKworICAgIExlbmd0aCBzdHlsZU1pbkxvZ2ljYWxIZWlnaHQgPSBzdHls
ZSgpLT5sb2dpY2FsTWluSGVpZ2h0KCk7CisgICAgaWYgKHN0eWxlTWluTG9naWNhbEhlaWdodC5p
c1NwZWNpZmllZCgpICYmICFzdHlsZU1pbkxvZ2ljYWxIZWlnaHQuaXNOZWdhdGl2ZSgpKSB7Cisg
ICAgICAgIExheW91dFVuaXQgY29tcHV0ZWRNaW5Mb2dpY2FsSGVpZ2h0ID0gY29udmVydFN0eWxl
TG9naWNhbEhlaWdodFRvQ29tcHV0ZWRIZWlnaHQoc3R5bGVNaW5Mb2dpY2FsSGVpZ2h0LCBhdmFp
bGFibGVIZWlnaHQsIGluY2x1ZGVCb3JkZXJQYWRkaW5nKTsKKyAgICAgICAgY29tcHV0ZWRMb2dp
Y2FsSGVpZ2h0ID0gbWF4KGNvbXB1dGVkTWluTG9naWNhbEhlaWdodCwgY29tcHV0ZWRMb2dpY2Fs
SGVpZ2h0KTsKKyAgICB9CiAKICAgICBkaXN0cmlidXRlRXh0cmFMb2dpY2FsSGVpZ2h0KGZsb29y
VG9JbnQoY29tcHV0ZWRMb2dpY2FsSGVpZ2h0IC0gdG90YWxTZWN0aW9uTG9naWNhbEhlaWdodCkp
OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaAkocmV2aXNpb24g
MTMxNDkyKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTI4OSw2ICsyODksNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCB1
cGRhdGVMb2dpY2FsV2lkdGgoKSBPVkVSUklERTsKIAogICAgIExheW91dFVuaXQgY29udmVydFN0
eWxlTG9naWNhbFdpZHRoVG9Db21wdXRlZFdpZHRoKGNvbnN0IExlbmd0aCYgc3R5bGVMb2dpY2Fs
V2lkdGgsIExheW91dFVuaXQgYXZhaWxhYmxlV2lkdGgpOworICAgIExheW91dFVuaXQgY29udmVy
dFN0eWxlTG9naWNhbEhlaWdodFRvQ29tcHV0ZWRIZWlnaHQoY29uc3QgTGVuZ3RoJiBzdHlsZUxv
Z2ljYWxIZWlnaHQsIExheW91dFVuaXQgYXZhaWxhYmxlSGVpZ2h0LCBib29sKTsKIAogICAgIHZp
cnR1YWwgTGF5b3V0UmVjdCBvdmVyZmxvd0NsaXBSZWN0KGNvbnN0IExheW91dFBvaW50JiBsb2Nh
dGlvbiwgUmVuZGVyUmVnaW9uKiwgT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kgPSBJZ25v
cmVPdmVybGF5U2Nyb2xsYmFyU2l6ZSk7CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMTUwMSkKKysr
IExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisy
MDEyLTEwLTE2ICBQcmF2aW4gRCAgPHByYXZpbmQuMms0QGdtYWlsLmNvbT4KKworICAgICAgICBt
YXgtaGVpZ2h0IHByb3BlcnR5IGlzIGRvZXMgbm90IG92ZXJyaWRpbmcgdGhlIGhlaWdodCBwcm9w
ZXJ0aWVzIGZvciBjc3MgdGFibGVzKGRpc3BsYXk6dGFibGUpCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODYzMworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC90YWJsZS9jc3MtdGFibGUtbWF4LWhl
aWdodC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGFibGUvY3NzLXRhYmxl
LW1heC1oZWlnaHQuaHRtbDogQWRkZWQuCisKIDIwMTItMTAtMTYgIEZpbGlwIFBpemxvICA8ZnBp
emxvQGFwcGxlLmNvbT4KIAogICAgICAgICBHZXRTY29wZWRWYXIgQ1NFIG1hdGNoZXMgZGVhZCBH
ZXRTY29wZWRWYXIncyBsZWFkaW5nIHRvIElSIGNvcnJ1cHRpb24KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvdGFibGUvY3NzLXRhYmxlLW1heC1oZWlnaHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvdGFibGUvY3NzLXRhYmxlLW1heC1oZWlnaHQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9jc3MtdGFibGUtbWF4
LWhlaWdodC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTkgQEAKK1Rlc3Qg
Y2FzZSBmb3IgYnVnIGh0dHA6Ly93ZWJraXQub3JnL2IvOTg2MzMuIFRoZSB0ZXN0Y2FzZSBjaGVj
a3MgaWYgdGhlIG1heC1oZWlnaHQgcHJvcGVydHkgb3ZlcnJpZGVzIHRoZSBjb21wdXRlZCBoZWln
aHQgb2YgYSBodG1sIGNvbnRhaW5lciB3aXRoIGRpc3BsYXk6dGFibGUuCitBIGh0bWwgY29udGFp
bmVyIHdpdGggZGlzcGxheTp0YWJsZSBzaG91bGQgbm90IGV4Y2VlZCB0aGUgbWF4LWhlaWdodCBl
dmVuIGlmIGl0cyBjYWxjdWxhdGVkIGhlaWdodCh1c2luZyBDU1MgaGVpZ2h0IHByb3BlcnR5KSBp
cyBncmVhdGVyIHRoYW4gdGhlIG1heC1oZWlnaHQgdmFsdWUuCitIb3dldmVyIG1heC1oZWlnaHQg
d2lsbCBiZSBpZ25vcmVkIGlmIGVpdGhlciBtaW4taGVpZ2h0IHByb3BlcnR5IGlzIHNldCBhbmQg
aXRzIHZhbHVlIGlzIGdyZWF0ZWQgdGhhbiB0aGUgbWF4LWhlaWdodCB2YWx1ZSBvciB0aGUgY29t
cHV0ZWQgaGVpZ2h0IG9mIHRoZSBjb250ZW50LCBpbiB3aGljaCBjYXNlIHRoZSBoZWlnaHQgb2Yg
dGhlIGNvbnRhaW5lciBtdXN0IGJlIGVxdWFsIGdyZWF0ZXIgb2YgbWluLWhlaWdodCBvciBjb250
ZW50IGhlaWdodAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBtYXhHcmVh
dFRoYW5NaW5IZWlnaHRBdXRvTGF5b3V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCBp
cyAyMDIKK1BBU1MgbWluR3JlYXRUaGFuTWF4SGVpZ2h0QXV0b0xheW91dC5nZXRCb3VuZGluZ0Ns
aWVudFJlY3QoKS5oZWlnaHQgaXMgMjAyCitQQVNTIG9ubHlNYXhIZWlnaHRBdXRvTGF5b3V0Lmdl
dEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCBpcyAyMDIKK1BBU1MgbWF4SGVpZ2h0TGVzc1Ro
YW5Db250ZW50QXV0b0xheW91dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQgPiAxMDAg
aXMgdHJ1ZQorUEFTUyBtYXhHcmVhdFRoYW5NaW5IZWlnaHRGaXhlZExheW91dC5nZXRCb3VuZGlu
Z0NsaWVudFJlY3QoKS5oZWlnaHQgaXMgMjAyCitQQVNTIG1pbkdyZWF0VGhhbk1heEhlaWdodEZp
eGVkTGF5b3V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCBpcyAyMDIKK1BBU1Mgb25s
eU1heEhlaWdodEZpeGVkTGF5b3V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCBpcyAy
MDIKK1BBU1MgbWF4SGVpZ2h0TGVzc1RoYW5Db250ZW50Rml4ZWRMYXlvdXQuZ2V0Qm91bmRpbmdD
bGllbnRSZWN0KCkuaGVpZ2h0ID4gMTAwIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxl
L2Nzcy10YWJsZS1tYXgtaGVpZ2h0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC90YWJsZS9jc3MtdGFibGUtbWF4LWhlaWdodC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC90YWJsZS9jc3MtdGFibGUtbWF4LWhlaWdodC5odG1sCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDExNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxl
IHR5cGU9InRleHQvY3NzIj4KKy5wYXJlbnQKK3sKKyAgICB3aWR0aDozMDBweDsKKyAgICBoZWln
aHQ6MzAwcHg7CisgICAgYm9yZGVyOjFweCBzb2xpZCBncmVlbjsKK30KKworLnBhcmVudCAuY2hp
bGQKK3sKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiM5OTk5OTk7CisgICAgYm9yZGVyOjFweCBzb2xp
ZCB5ZWxsb3c7Cit9Cis8L3N0eWxlPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciIgY2xhc3M9InBhcmVudCI+CisgICAgPGRpdiBpZD0ibWF4R3JlYXRUaGFuTWluSGVpZ2h0QXV0
b0xheW91dCIgY2xhc3M9ImNoaWxkIiBzdHlsZT0iZGlzcGxheTp0YWJsZTsgbWluLWhlaWdodDox
MDBweDsgbWF4LWhlaWdodDoyMDBweDsgaGVpZ2h0OjEwMCU7Ij4KKyAgICAgICAgTG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBl
aXVzbW9kIAorICAgICAgICB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1h
Z25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIAorICAgICAgICBxdWlzIG5vc3Ry
dWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29t
bW9kbyBjb25zZXF1YXQuIAorICAgICAgICBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVo
ZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IAorICAgICAg
ICBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0
IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSAKKyAgICAgICAgcXVpIG9mZmljaWEgZGVzZXJ1
bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0i
bWluR3JlYXRUaGFuTWF4SGVpZ2h0QXV0b0xheW91dCIgY2xhc3M9ImNoaWxkIiBzdHlsZT0iZGlz
cGxheTp0YWJsZTsgbWluLWhlaWdodDoyMDBweDsgbWF4LWhlaWdodDoxMDBweDsgaGVpZ2h0OjEw
MCU7Ij4KKyAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFk
aXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIAorICAgICAgICB0ZW1wb3IgaW5jaWRpZHVu
dCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5p
YW0sIAorICAgICAgICBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBu
aXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIAorICAgICAgICBEdWlzIGF1
dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBj
aWxsdW0gZG9sb3JlIGV1IAorICAgICAgICBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuRXhjZXB0ZXVy
IHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSAKKyAg
ICAgICAgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCisg
ICAgPC9kaXY+CisgICAgPGRpdiBpZD0ib25seU1heEhlaWdodEF1dG9MYXlvdXQiIGNsYXNzPSJj
aGlsZCIgc3R5bGU9ImRpc3BsYXk6dGFibGU7IG1heC1oZWlnaHQ6MjAwcHg7IGhlaWdodDoxMDAl
OyI+CisgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlw
aXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCAKKyAgICAgICAgdGVtcG9yIGluY2lkaWR1bnQg
dXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFt
LCAKKyAgICAgICAgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlz
aSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiAKKyAgICAgICAgRHVpcyBhdXRl
IGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2ls
bHVtIGRvbG9yZSBldSAKKyAgICAgICAgZnVnaWF0IG51bGxhIHBhcmlhdHVyLkV4Y2VwdGV1ciBz
aW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3VscGEgCisgICAg
ICAgIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgorICAg
IDwvZGl2PgorICAgIDxkaXYgaWQ9Im1heEhlaWdodExlc3NUaGFuQ29udGVudEF1dG9MYXlvdXQi
IGNsYXNzPSJjaGlsZCIgc3R5bGU9ImRpc3BsYXk6dGFibGU7IG1heC1oZWlnaHQ6MTAwcHg7IGhl
aWdodDoxMDAlOyI+CisgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0
ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCAKKyAgICAgICAgdGVtcG9yIGlu
Y2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWlu
aW0gdmVuaWFtLCAKKyAgICAgICAgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxh
Ym9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiAKKyAgICAgICAg
RHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0
IGVzc2UgY2lsbHVtIGRvbG9yZSBldSAKKyAgICAgICAgZnVnaWF0IG51bGxhIHBhcmlhdHVyLkV4
Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3Vs
cGEgCisgICAgICAgIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJv
cnVtLgorICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJtYXhHcmVhdFRoYW5NaW5IZWlnaHRG
aXhlZExheW91dCIgY2xhc3M9ImNoaWxkIiBzdHlsZT0iZGlzcGxheTp0YWJsZTsgdGFibGUtbGF5
b3V0OmZpeGVkOyBtaW4taGVpZ2h0OjEwMHB4OyBtYXgtaGVpZ2h0OjIwMHB4OyBoZWlnaHQ6MTAw
JTsiPgorICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRp
cGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgCisgICAgICAgIHRlbXBvciBpbmNpZGlkdW50
IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlh
bSwgCisgICAgICAgIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5p
c2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gCisgICAgICAgIER1aXMgYXV0
ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNp
bGx1bSBkb2xvcmUgZXUgCisgICAgICAgIGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci5FeGNlcHRldXIg
c2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBhIAorICAg
ICAgICBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KKyAg
ICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJtaW5HcmVhdFRoYW5NYXhIZWlnaHRGaXhlZExheW91dCIg
Y2xhc3M9ImNoaWxkIiBzdHlsZT0iZGlzcGxheTp0YWJsZTsgdGFibGUtbGF5b3V0OmZpeGVkOyBt
aW4taGVpZ2h0OjIwMHB4OyBtYXgtaGVpZ2h0OjEwMHB4OyBoZWlnaHQ6MTAwJTsiPgorICAgICAg
ICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxp
dCwgc2VkIGRvIGVpdXNtb2QgCisgICAgICAgIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBl
dCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgCisgICAgICAg
IHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVp
cCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gCisgICAgICAgIER1aXMgYXV0ZSBpcnVyZSBkb2xv
ciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUg
ZXUgCisgICAgICAgIGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci5FeGNlcHRldXIgc2ludCBvY2NhZWNh
dCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBhIAorICAgICAgICBxdWkgb2Zm
aWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KKyAgICA8L2Rpdj4KKyAg
ICA8ZGl2IGlkPSJvbmx5TWF4SGVpZ2h0Rml4ZWRMYXlvdXQiIGNsYXNzPSJjaGlsZCIgc3R5bGU9
ImRpc3BsYXk6dGFibGU7IHRhYmxlLWxheW91dDpmaXhlZDsgbWF4LWhlaWdodDoyMDBweDsgaGVp
Z2h0OjEwMCU7Ij4KKyAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3Rl
dHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIAorICAgICAgICB0ZW1wb3IgaW5j
aWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5p
bSB2ZW5pYW0sIAorICAgICAgICBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFi
b3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIAorICAgICAgICBE
dWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQg
ZXNzZSBjaWxsdW0gZG9sb3JlIGV1IAorICAgICAgICBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuRXhj
ZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxw
YSAKKyAgICAgICAgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9y
dW0uCisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0ibWF4SGVpZ2h0TGVzc1RoYW5Db250ZW50Rml4
ZWRMYXlvdXQiIGNsYXNzPSJjaGlsZCIgc3R5bGU9ImRpc3BsYXk6dGFibGU7IHRhYmxlLWxheW91
dDpmaXhlZDsgbWF4LWhlaWdodDoxMDBweDsgaGVpZ2h0OjEwMCU7Ij4KKyAgICAgICAgTG9yZW0g
aXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBk
byBlaXVzbW9kIAorICAgICAgICB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3Jl
IG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIAorICAgICAgICBxdWlzIG5v
c3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEg
Y29tbW9kbyBjb25zZXF1YXQuIAorICAgICAgICBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVw
cmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IAorICAg
ICAgICBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRh
dGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSAKKyAgICAgICAgcXVpIG9mZmljaWEgZGVz
ZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uIAorICAgIDwvZGl2PgorPC9kaXY+Cis8
c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3QgY2FzZSBmb3IgYnVnIDxhIGhyZWY9Imh0dHA6Ly93
ZWJraXQub3JnL2IvOTg2MzMiPmh0dHA6Ly93ZWJraXQub3JnL2IvOTg2MzM8L2E+LiBUaGUgdGVz
dGNhc2UgY2hlY2tzIFwKK2lmIHRoZSBtYXgtaGVpZ2h0IHByb3BlcnR5IG92ZXJyaWRlcyB0aGUg
Y29tcHV0ZWQgaGVpZ2h0IG9mIGEgaHRtbCBjb250YWluZXIgd2l0aCBkaXNwbGF5OnRhYmxlLjxi
cj4gXAorQSBodG1sIGNvbnRhaW5lciB3aXRoIGRpc3BsYXk6dGFibGUgc2hvdWxkIG5vdCBleGNl
ZWQgdGhlIG1heC1oZWlnaHQgZXZlbiBpZiBpdHMgY2FsY3VsYXRlZCBcCitoZWlnaHQodXNpbmcg
Q1NTIGhlaWdodCBwcm9wZXJ0eSkgaXMgZ3JlYXRlciB0aGFuIHRoZSBtYXgtaGVpZ2h0IHZhbHVl
Ljxicj4gSG93ZXZlciBtYXgtaGVpZ2h0IHdpbGwgYmUgaWdub3JlZCBpZiBlaXRoZXIgXAorbWlu
LWhlaWdodCBwcm9wZXJ0eSBpcyBzZXQgYW5kIGl0cyB2YWx1ZSBpcyBncmVhdGVkIHRoYW4gdGhl
IG1heC1oZWlnaHQgdmFsdWUgb3IgdGhlIGNvbXB1dGVkIGhlaWdodCBvZiB0aGUgY29udGVudCwg
XAoraW4gd2hpY2ggY2FzZSB0aGUgaGVpZ2h0IG9mIHRoZSBjb250YWluZXIgbXVzdCBiZSBlcXVh
bCBncmVhdGVyIG9mIG1pbi1oZWlnaHQgb3IgY29udGVudCBoZWlnaHQnKTsKKworbWF4R3JlYXRU
aGFuTWluSGVpZ2h0QXV0b0xheW91dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYXhHcmVh
dFRoYW5NaW5IZWlnaHRBdXRvTGF5b3V0Iik7CitzaG91bGRCZSgibWF4R3JlYXRUaGFuTWluSGVp
Z2h0QXV0b0xheW91dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQiLCIyMDIiKTsKK21p
bkdyZWF0VGhhbk1heEhlaWdodEF1dG9MYXlvdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
bWluR3JlYXRUaGFuTWF4SGVpZ2h0QXV0b0xheW91dCIpOworc2hvdWxkQmUoIm1pbkdyZWF0VGhh
bk1heEhlaWdodEF1dG9MYXlvdXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0IiwiMjAy
Iik7Citvbmx5TWF4SGVpZ2h0QXV0b0xheW91dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJv
bmx5TWF4SGVpZ2h0QXV0b0xheW91dCIpOworc2hvdWxkQmUoIm9ubHlNYXhIZWlnaHRBdXRvTGF5
b3V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCIsIjIwMiIpOworbWF4SGVpZ2h0TGVz
c1RoYW5Db250ZW50QXV0b0xheW91dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYXhIZWln
aHRMZXNzVGhhbkNvbnRlbnRBdXRvTGF5b3V0Iik7CitzaG91bGRCZVRydWUoIm1heEhlaWdodExl
c3NUaGFuQ29udGVudEF1dG9MYXlvdXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0ID4g
MTAwIik7CittYXhHcmVhdFRoYW5NaW5IZWlnaHRGaXhlZExheW91dCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJtYXhHcmVhdFRoYW5NaW5IZWlnaHRGaXhlZExheW91dCIpOworc2hvdWxkQmUo
Im1heEdyZWF0VGhhbk1pbkhlaWdodEZpeGVkTGF5b3V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgp
LmhlaWdodCIsIjIwMiIpOworbWluR3JlYXRUaGFuTWF4SGVpZ2h0Rml4ZWRMYXlvdXQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgibWluR3JlYXRUaGFuTWF4SGVpZ2h0Rml4ZWRMYXlvdXQiKTsK
K3Nob3VsZEJlKCJtaW5HcmVhdFRoYW5NYXhIZWlnaHRGaXhlZExheW91dC5nZXRCb3VuZGluZ0Ns
aWVudFJlY3QoKS5oZWlnaHQiLCIyMDIiKTsKK29ubHlNYXhIZWlnaHRGaXhlZExheW91dCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJvbmx5TWF4SGVpZ2h0Rml4ZWRMYXlvdXQiKTsKK3Nob3Vs
ZEJlKCJvbmx5TWF4SGVpZ2h0Rml4ZWRMYXlvdXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVp
Z2h0IiwiMjAyIik7CittYXhIZWlnaHRMZXNzVGhhbkNvbnRlbnRGaXhlZExheW91dCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJtYXhIZWlnaHRMZXNzVGhhbkNvbnRlbnRGaXhlZExheW91dCIp
Oworc2hvdWxkQmVUcnVlKCJtYXhIZWlnaHRMZXNzVGhhbkNvbnRlbnRGaXhlZExheW91dC5nZXRC
b3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQgPiAxMDAiKTsKKworZG9jdW1lbnQuYm9keS5yZW1v
dmVDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJykpOworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8Ym9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170387</attachid>
            <date>2012-10-24 07:02:58 -0700</date>
            <delta_ts>2012-10-29 10:01:41 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>bug-98633-20121025010040.patch</filename>
            <type>text/plain</type>
            <size>14019</size>
            <attacher name="Pravin D">pravind.2k4</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjM0NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEyLTEwLTI0ICBQcmF2aW4g
RCAgPHByYXZpbmQuMms0QGdtYWlsLmNvbT4KKworICAgICAgICBtYXgtaGVpZ2h0IHByb3BlcnR5
IGlzIGRvZXMgbm90IG92ZXJyaWRpbmcgdGhlIGhlaWdodCBwcm9wZXJ0aWVzIGZvciBjc3MgdGFi
bGVzKGRpc3BsYXk6dGFibGUpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05ODYzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFByb3Bvc2VkIHBhdGNoLgorCisgICAgICAgIFRlc3Q6IGZhc3QvdGFibGUvY3Nz
LXRhYmxlLW1heC1oZWlnaHQuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlOjpsYXlvdXQpOgorCiAyMDEyLTEw
LTI0ICBOaWtpdGEgVmFzaWx5ZXYgIDxtZUBlbHYxcy5ydT4KIAogICAgICAgICBXZWIgSW5zcGVj
dG9yOiBTdHlsZXMgcGFuZTogRG9uJ3Qgc2VsZWN0IHdob2xlIHZhbHVlIHdoZW4gSSBzZWxlY3Qg
anVzdCBhIHBhcnQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNw
cAkocmV2aXNpb24gMTMyMzQyKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDM0LDYgKzQzNCw0MCBAQCB2b2lkIFJlbmRlclRh
YmxlOjpsYXlvdXQoKQogICAgICAgICBjb21wdXRlZExvZ2ljYWxIZWlnaHQgPSBjb21wdXRlUGVy
Y2VudGFnZUxvZ2ljYWxIZWlnaHQobG9naWNhbEhlaWdodExlbmd0aCk7CiAgICAgY29tcHV0ZWRM
b2dpY2FsSGVpZ2h0ID0gbWF4PExheW91dFVuaXQ+KDAsIGNvbXB1dGVkTG9naWNhbEhlaWdodCk7
CiAKKyAgICBMZW5ndGggbG9naWNhbE1heEhlaWdodExlbmd0aCA9IHN0eWxlKCktPmxvZ2ljYWxN
YXhIZWlnaHQoKTsKKyAgICBpZiAobG9naWNhbE1heEhlaWdodExlbmd0aC5pc1NwZWNpZmllZCgp
ICYmICFsb2dpY2FsTWF4SGVpZ2h0TGVuZ3RoLmlzTmVnYXRpdmUoKSkgeworICAgICAgICBMYXlv
dXRVbml0IGNvbXB1dGVkTWF4TG9naWNhbEhlaWdodDsKKyAgICAgICAgaWYgKGxvZ2ljYWxNYXhI
ZWlnaHRMZW5ndGguaXNGaXhlZCgpKSB7CisgICAgICAgICAgICAvLyBIVE1MIHRhYmxlcyBzaXpl
IGFzIHRob3VnaCBDU1MgaGVpZ2h0IGluY2x1ZGVzIGJvcmRlci9wYWRkaW5nLCBDU1MgdGFibGVz
IGRvIG5vdC4KKyAgICAgICAgICAgIExheW91dFVuaXQgYm9yZGVycyA9IFpFUk9fTEFZT1VUX1VO
SVQ7CisgICAgICAgICAgICAvLyBGSVhNRTogV2UgY2Fubm90IGFwcGx5IGJveC1zaXppbmc6IGNv
bnRlbnQtYm94IG9uIDx0YWJsZT4gd2hpY2ggb3RoZXIgYnJvd3NlcnMgYWxsb3cuCisgICAgICAg
ICAgICBpZiAoKG5vZGUoKSAmJiBub2RlKCktPmhhc1RhZ05hbWUodGFibGVUYWcpKSB8fCBzdHls
ZSgpLT5ib3hTaXppbmcoKSA9PSBCT1JERVJfQk9YKQorICAgICAgICAgICAgICAgIGJvcmRlcnMg
PSBib3JkZXJBbmRQYWRkaW5nQmVmb3JlICsgYm9yZGVyQW5kUGFkZGluZ0FmdGVyOworICAgICAg
ICAgICAgY29tcHV0ZWRNYXhMb2dpY2FsSGVpZ2h0ID0gbG9naWNhbE1heEhlaWdodExlbmd0aC52
YWx1ZSgpIC0gYm9yZGVyczsKKyAgICAgICAgfSBlbHNlIGlmIChsb2dpY2FsTWF4SGVpZ2h0TGVu
Z3RoLmlzUGVyY2VudCgpKQorICAgICAgICAgICAgY29tcHV0ZWRNYXhMb2dpY2FsSGVpZ2h0ID0g
Y29tcHV0ZVBlcmNlbnRhZ2VMb2dpY2FsSGVpZ2h0KGxvZ2ljYWxNYXhIZWlnaHRMZW5ndGgpOwor
ICAgICAgICBjb21wdXRlZE1heExvZ2ljYWxIZWlnaHQgPSBtYXg8TGF5b3V0VW5pdD4oMCwgY29t
cHV0ZWRNYXhMb2dpY2FsSGVpZ2h0KTsKKyAgICAgICAgY29tcHV0ZWRMb2dpY2FsSGVpZ2h0ID0g
bWluKGNvbXB1dGVkTG9naWNhbEhlaWdodCwgY29tcHV0ZWRNYXhMb2dpY2FsSGVpZ2h0KTsKKyAg
ICAKKyAgICB9CisKKyAgICBMZW5ndGggbG9naWNhbE1pbkhlaWdodExlbmd0aCA9IHN0eWxlKCkt
PmxvZ2ljYWxNaW5IZWlnaHQoKTsKKyAgICBpZiAobG9naWNhbE1pbkhlaWdodExlbmd0aC5pc1Nw
ZWNpZmllZCgpICYmICFsb2dpY2FsTWluSGVpZ2h0TGVuZ3RoLmlzTmVnYXRpdmUoKSkgeworICAg
ICAgICBMYXlvdXRVbml0IGNvbXB1dGVkTWluTG9naWNhbEhlaWdodDsKKyAgICAgICAgaWYgKGxv
Z2ljYWxNaW5IZWlnaHRMZW5ndGguaXNGaXhlZCgpKSB7CisgICAgICAgICAgICAvLyBIVE1MIHRh
YmxlcyBzaXplIGFzIHRob3VnaCBDU1MgaGVpZ2h0IGluY2x1ZGVzIGJvcmRlci9wYWRkaW5nLCBD
U1MgdGFibGVzIGRvIG5vdC4KKyAgICAgICAgICAgIExheW91dFVuaXQgYm9yZGVycyA9IFpFUk9f
TEFZT1VUX1VOSVQ7CisgICAgICAgICAgICAvLyBGSVhNRTogV2UgY2Fubm90IGFwcGx5IGJveC1z
aXppbmc6IGNvbnRlbnQtYm94IG9uIDx0YWJsZT4gd2hpY2ggb3RoZXIgYnJvd3NlcnMgYWxsb3cu
CisgICAgICAgICAgICBpZiAoKG5vZGUoKSAmJiBub2RlKCktPmhhc1RhZ05hbWUodGFibGVUYWcp
KSB8fCBzdHlsZSgpLT5ib3hTaXppbmcoKSA9PSBCT1JERVJfQk9YKQorICAgICAgICAgICAgICAg
IGJvcmRlcnMgPSBib3JkZXJBbmRQYWRkaW5nQmVmb3JlICsgYm9yZGVyQW5kUGFkZGluZ0FmdGVy
OworICAgICAgICAgICAgY29tcHV0ZWRNaW5Mb2dpY2FsSGVpZ2h0ID0gbG9naWNhbE1pbkhlaWdo
dExlbmd0aC52YWx1ZSgpIC0gYm9yZGVyczsKKyAgICAgICAgfSBlbHNlIGlmIChsb2dpY2FsTWlu
SGVpZ2h0TGVuZ3RoLmlzUGVyY2VudCgpKQorICAgICAgICAgICAgY29tcHV0ZWRNaW5Mb2dpY2Fs
SGVpZ2h0ID0gY29tcHV0ZVBlcmNlbnRhZ2VMb2dpY2FsSGVpZ2h0KGxvZ2ljYWxNaW5IZWlnaHRM
ZW5ndGgpOworICAgICAgICBjb21wdXRlZE1pbkxvZ2ljYWxIZWlnaHQgPSBtYXg8TGF5b3V0VW5p
dD4oMCwgY29tcHV0ZWRNaW5Mb2dpY2FsSGVpZ2h0KTsKKyAgICAgICAgY29tcHV0ZWRMb2dpY2Fs
SGVpZ2h0ID0gbWF4KGNvbXB1dGVkTG9naWNhbEhlaWdodCwgY29tcHV0ZWRNaW5Mb2dpY2FsSGVp
Z2h0KTsKKyAgICAKKyAgICB9CisKICAgICBkaXN0cmlidXRlRXh0cmFMb2dpY2FsSGVpZ2h0KGZs
b29yVG9JbnQoY29tcHV0ZWRMb2dpY2FsSGVpZ2h0IC0gdG90YWxTZWN0aW9uTG9naWNhbEhlaWdo
dCkpOwogCiAgICAgZm9yIChSZW5kZXJUYWJsZVNlY3Rpb24qIHNlY3Rpb24gPSB0b3BTZWN0aW9u
KCk7IHNlY3Rpb247IHNlY3Rpb24gPSBzZWN0aW9uQmVsb3coc2VjdGlvbikpCkluZGV4OiBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxMzIzNDcpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxMyBAQAorMjAxMi0xMC0yNCAgUHJhdmluIEQgIDxwcmF2aW5kLjJrNEBnbWFp
bC5jb20+CisKKyAgICAgICAgbWF4LWhlaWdodCBwcm9wZXJ0eSBpcyBkb2VzIG5vdCBvdmVycmlk
aW5nIHRoZSBoZWlnaHQgcHJvcGVydGllcyBmb3IgY3NzIHRhYmxlcyhkaXNwbGF5OnRhYmxlKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg2MzMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvdGFi
bGUvY3NzLXRhYmxlLW1heC1oZWlnaHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3RhYmxlL2Nzcy10YWJsZS1tYXgtaGVpZ2h0Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTEwLTI0
ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IFVpU291cmNlQ29kZSBzaG91bGQgcmVseSBvbiB0aGUgd29ya3NwYWNlIGFzIGEg
Y29udGVudCBwcm92aWRlci4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGFibGUvY3NzLXRhYmxl
LW1heC1oZWlnaHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
dGFibGUvY3NzLXRhYmxlLW1heC1oZWlnaHQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC90YWJsZS9jc3MtdGFibGUtbWF4LWhlaWdodC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTkgQEAKK1Rlc3QgY2FzZSBmb3IgYnVnIGh0dHA6Ly93
ZWJraXQub3JnL2IvOTg2MzMuIFRoZSB0ZXN0Y2FzZSBjaGVja3MgaWYgdGhlIG1heC1oZWlnaHQg
cHJvcGVydHkgb3ZlcnJpZGVzIHRoZSBjb21wdXRlZCBoZWlnaHQgb2YgYSBodG1sIGNvbnRhaW5l
ciB3aXRoIGRpc3BsYXk6dGFibGUuCitBIGh0bWwgY29udGFpbmVyIHdpdGggZGlzcGxheTp0YWJs
ZSBzaG91bGQgbm90IGV4Y2VlZCB0aGUgbWF4LWhlaWdodCBldmVuIGlmIGl0cyBjYWxjdWxhdGVk
IGhlaWdodCh1c2luZyBDU1MgaGVpZ2h0IHByb3BlcnR5KSBpcyBncmVhdGVyIHRoYW4gdGhlIG1h
eC1oZWlnaHQgdmFsdWUuCitIb3dldmVyIG1heC1oZWlnaHQgd2lsbCBiZSBpZ25vcmVkIGlmIGVp
dGhlciBtaW4taGVpZ2h0IHByb3BlcnR5IGlzIHNldCBhbmQgaXRzIHZhbHVlIGlzIGdyZWF0ZWQg
dGhhbiB0aGUgbWF4LWhlaWdodCB2YWx1ZSBvciB0aGUgY29tcHV0ZWQgaGVpZ2h0IG9mIHRoZSBj
b250ZW50LCBpbiB3aGljaCBjYXNlIHRoZSBoZWlnaHQgb2YgdGhlIGNvbnRhaW5lciBtdXN0IGJl
IGVxdWFsIGdyZWF0ZXIgb2YgbWluLWhlaWdodCBvciBjb250ZW50IGhlaWdodAorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBtYXhHcmVhdFRoYW5NaW5IZWlnaHRBdXRvTGF5
b3V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCBpcyAyMDIKK1BBU1MgbWluR3JlYXRU
aGFuTWF4SGVpZ2h0QXV0b0xheW91dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQgaXMg
MjAyCitQQVNTIG9ubHlNYXhIZWlnaHRBdXRvTGF5b3V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgp
LmhlaWdodCBpcyAyMDIKK1BBU1MgbWF4SGVpZ2h0TGVzc1RoYW5Db250ZW50QXV0b0xheW91dC5n
ZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQgPiAxMDAgaXMgdHJ1ZQorUEFTUyBtYXhHcmVh
dFRoYW5NaW5IZWlnaHRGaXhlZExheW91dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQg
aXMgMjAyCitQQVNTIG1pbkdyZWF0VGhhbk1heEhlaWdodEZpeGVkTGF5b3V0LmdldEJvdW5kaW5n
Q2xpZW50UmVjdCgpLmhlaWdodCBpcyAyMDIKK1BBU1Mgb25seU1heEhlaWdodEZpeGVkTGF5b3V0
LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCBpcyAyMDIKK1BBU1MgbWF4SGVpZ2h0TGVz
c1RoYW5Db250ZW50Rml4ZWRMYXlvdXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0ID4g
MTAwIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2Nzcy10YWJsZS1tYXgtaGVpZ2h0
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9jc3MtdGFibGUtbWF4
LWhlaWdodC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9jc3Mt
dGFibGUtbWF4LWhlaWdodC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDExNiBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKy5w
YXJlbnQKK3sKKyAgICB3aWR0aDozMDBweDsKKyAgICBoZWlnaHQ6MzAwcHg7CisgICAgYm9yZGVy
OjFweCBzb2xpZCBncmVlbjsKK30KKworLnBhcmVudCAuY2hpbGQKK3sKKyAgICBiYWNrZ3JvdW5k
LWNvbG9yOiM5OTk5OTk7CisgICAgYm9yZGVyOjFweCBzb2xpZCB5ZWxsb3c7Cit9Cis8L3N0eWxl
PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImNvbnRhaW5lciIgY2xhc3M9InBhcmVudCI+Cisg
ICAgPGRpdiBpZD0ibWF4R3JlYXRUaGFuTWluSGVpZ2h0QXV0b0xheW91dCIgY2xhc3M9ImNoaWxk
IiBzdHlsZT0iZGlzcGxheTp0YWJsZTsgbWluLWhlaWdodDoxMDBweDsgbWF4LWhlaWdodDoyMDBw
eDsgaGVpZ2h0OjEwMCU7Ij4KKyAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNv
bnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIAorICAgICAgICB0ZW1w
b3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBh
ZCBtaW5pbSB2ZW5pYW0sIAorICAgICAgICBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFt
Y28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIAorICAg
ICAgICBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUg
dmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IAorICAgICAgICBmdWdpYXQgbnVsbGEgcGFyaWF0
dXIuRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBp
biBjdWxwYSAKKyAgICAgICAgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0
IGxhYm9ydW0uCisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0ibWluR3JlYXRUaGFuTWF4SGVpZ2h0
QXV0b0xheW91dCIgY2xhc3M9ImNoaWxkIiBzdHlsZT0iZGlzcGxheTp0YWJsZTsgbWluLWhlaWdo
dDoyMDBweDsgbWF4LWhlaWdodDoxMDBweDsgaGVpZ2h0OjEwMCU7Ij4KKyAgICAgICAgTG9yZW0g
aXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBk
byBlaXVzbW9kIAorICAgICAgICB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3Jl
IG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIAorICAgICAgICBxdWlzIG5v
c3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEg
Y29tbW9kbyBjb25zZXF1YXQuIAorICAgICAgICBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVw
cmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IAorICAg
ICAgICBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRh
dGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSAKKyAgICAgICAgcXVpIG9mZmljaWEgZGVz
ZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCisgICAgPC9kaXY+CisgICAgPGRpdiBp
ZD0ib25seU1heEhlaWdodEF1dG9MYXlvdXQiIGNsYXNzPSJjaGlsZCIgc3R5bGU9ImRpc3BsYXk6
dGFibGU7IG1heC1oZWlnaHQ6MjAwcHg7IGhlaWdodDoxMDAlOyI+CisgICAgICAgIExvcmVtIGlw
c3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8g
ZWl1c21vZCAKKyAgICAgICAgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBt
YWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCAKKyAgICAgICAgcXVpcyBub3N0
cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNv
bW1vZG8gY29uc2VxdWF0LiAKKyAgICAgICAgRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJl
aGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSAKKyAgICAg
ICAgZnVnaWF0IG51bGxhIHBhcmlhdHVyLkV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRh
dCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3VscGEgCisgICAgICAgIHF1aSBvZmZpY2lhIGRlc2Vy
dW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9
Im1heEhlaWdodExlc3NUaGFuQ29udGVudEF1dG9MYXlvdXQiIGNsYXNzPSJjaGlsZCIgc3R5bGU9
ImRpc3BsYXk6dGFibGU7IG1heC1oZWlnaHQ6MTAwcHg7IGhlaWdodDoxMDAlOyI+CisgICAgICAg
IExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0
LCBzZWQgZG8gZWl1c21vZCAKKyAgICAgICAgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0
IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCAKKyAgICAgICAg
cXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlw
IGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiAKKyAgICAgICAgRHVpcyBhdXRlIGlydXJlIGRvbG9y
IGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBl
dSAKKyAgICAgICAgZnVnaWF0IG51bGxhIHBhcmlhdHVyLkV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0
IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3VscGEgCisgICAgICAgIHF1aSBvZmZp
Y2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgorICAgIDwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJtYXhHcmVhdFRoYW5NaW5IZWlnaHRGaXhlZExheW91dCIgY2xhc3M9ImNo
aWxkIiBzdHlsZT0iZGlzcGxheTp0YWJsZTsgdGFibGUtbGF5b3V0OmZpeGVkOyBtaW4taGVpZ2h0
OjEwMHB4OyBtYXgtaGVpZ2h0OjIwMHB4OyBoZWlnaHQ6MTAwJTsiPgorICAgICAgICBMb3JlbSBp
cHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRv
IGVpdXNtb2QgCisgICAgICAgIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUg
bWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgCisgICAgICAgIHF1aXMgbm9z
dHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBj
b21tb2RvIGNvbnNlcXVhdC4gCisgICAgICAgIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXBy
ZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgCisgICAg
ICAgIGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci5FeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0
YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBhIAorICAgICAgICBxdWkgb2ZmaWNpYSBkZXNl
cnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlk
PSJtaW5HcmVhdFRoYW5NYXhIZWlnaHRGaXhlZExheW91dCIgY2xhc3M9ImNoaWxkIiBzdHlsZT0i
ZGlzcGxheTp0YWJsZTsgdGFibGUtbGF5b3V0OmZpeGVkOyBtaW4taGVpZ2h0OjIwMHB4OyBtYXgt
aGVpZ2h0OjEwMHB4OyBoZWlnaHQ6MTAwJTsiPgorICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBz
aXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgCisg
ICAgICAgIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVh
LiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgCisgICAgICAgIHF1aXMgbm9zdHJ1ZCBleGVyY2l0
YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNl
cXVhdC4gCisgICAgICAgIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGlu
IHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgCisgICAgICAgIGZ1Z2lhdCBu
dWxsYSBwYXJpYXR1ci5FeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lk
ZW50LCBzdW50IGluIGN1bHBhIAorICAgICAgICBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQg
YW5pbSBpZCBlc3QgbGFib3J1bS4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJvbmx5TWF4SGVp
Z2h0Rml4ZWRMYXlvdXQiIGNsYXNzPSJjaGlsZCIgc3R5bGU9ImRpc3BsYXk6dGFibGU7IHRhYmxl
LWxheW91dDpmaXhlZDsgbWF4LWhlaWdodDoyMDBweDsgaGVpZ2h0OjEwMCU7Ij4KKyAgICAgICAg
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQs
IHNlZCBkbyBlaXVzbW9kIAorICAgICAgICB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQg
ZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIAorICAgICAgICBx
dWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAg
ZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIAorICAgICAgICBEdWlzIGF1dGUgaXJ1cmUgZG9sb3Ig
aW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1
IAorICAgICAgICBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQg
Y3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSAKKyAgICAgICAgcXVpIG9mZmlj
aWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCisgICAgPC9kaXY+CisgICAg
PGRpdiBpZD0ibWF4SGVpZ2h0TGVzc1RoYW5Db250ZW50Rml4ZWRMYXlvdXQiIGNsYXNzPSJjaGls
ZCIgc3R5bGU9ImRpc3BsYXk6dGFibGU7IHRhYmxlLWxheW91dDpmaXhlZDsgbWF4LWhlaWdodDox
MDBweDsgaGVpZ2h0OjEwMCU7Ij4KKyAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQs
IGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIAorICAgICAgICB0
ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5p
bSBhZCBtaW5pbSB2ZW5pYW0sIAorICAgICAgICBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVs
bGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIAor
ICAgICAgICBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRh
dGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IAorICAgICAgICBmdWdpYXQgbnVsbGEgcGFy
aWF0dXIuRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3Vu
dCBpbiBjdWxwYSAKKyAgICAgICAgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQg
ZXN0IGxhYm9ydW0uIAorICAgIDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24o
J1Rlc3QgY2FzZSBmb3IgYnVnIDxhIGhyZWY9Imh0dHA6Ly93ZWJraXQub3JnL2IvOTg2MzMiPmh0
dHA6Ly93ZWJraXQub3JnL2IvOTg2MzM8L2E+LiBUaGUgdGVzdGNhc2UgY2hlY2tzIFwKK2lmIHRo
ZSBtYXgtaGVpZ2h0IHByb3BlcnR5IG92ZXJyaWRlcyB0aGUgY29tcHV0ZWQgaGVpZ2h0IG9mIGEg
aHRtbCBjb250YWluZXIgd2l0aCBkaXNwbGF5OnRhYmxlLjxicj4gXAorQSBodG1sIGNvbnRhaW5l
ciB3aXRoIGRpc3BsYXk6dGFibGUgc2hvdWxkIG5vdCBleGNlZWQgdGhlIG1heC1oZWlnaHQgZXZl
biBpZiBpdHMgY2FsY3VsYXRlZCBcCitoZWlnaHQodXNpbmcgQ1NTIGhlaWdodCBwcm9wZXJ0eSkg
aXMgZ3JlYXRlciB0aGFuIHRoZSBtYXgtaGVpZ2h0IHZhbHVlLjxicj4gSG93ZXZlciBtYXgtaGVp
Z2h0IHdpbGwgYmUgaWdub3JlZCBpZiBlaXRoZXIgXAorbWluLWhlaWdodCBwcm9wZXJ0eSBpcyBz
ZXQgYW5kIGl0cyB2YWx1ZSBpcyBncmVhdGVkIHRoYW4gdGhlIG1heC1oZWlnaHQgdmFsdWUgb3Ig
dGhlIGNvbXB1dGVkIGhlaWdodCBvZiB0aGUgY29udGVudCwgXAoraW4gd2hpY2ggY2FzZSB0aGUg
aGVpZ2h0IG9mIHRoZSBjb250YWluZXIgbXVzdCBiZSBlcXVhbCBncmVhdGVyIG9mIG1pbi1oZWln
aHQgb3IgY29udGVudCBoZWlnaHQnKTsKKworbWF4R3JlYXRUaGFuTWluSGVpZ2h0QXV0b0xheW91
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYXhHcmVhdFRoYW5NaW5IZWlnaHRBdXRvTGF5
b3V0Iik7CitzaG91bGRCZSgibWF4R3JlYXRUaGFuTWluSGVpZ2h0QXV0b0xheW91dC5nZXRCb3Vu
ZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQiLCIyMDIiKTsKK21pbkdyZWF0VGhhbk1heEhlaWdodEF1
dG9MYXlvdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWluR3JlYXRUaGFuTWF4SGVpZ2h0
QXV0b0xheW91dCIpOworc2hvdWxkQmUoIm1pbkdyZWF0VGhhbk1heEhlaWdodEF1dG9MYXlvdXQu
Z2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0IiwiMjAyIik7Citvbmx5TWF4SGVpZ2h0QXV0
b0xheW91dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvbmx5TWF4SGVpZ2h0QXV0b0xheW91
dCIpOworc2hvdWxkQmUoIm9ubHlNYXhIZWlnaHRBdXRvTGF5b3V0LmdldEJvdW5kaW5nQ2xpZW50
UmVjdCgpLmhlaWdodCIsIjIwMiIpOworbWF4SGVpZ2h0TGVzc1RoYW5Db250ZW50QXV0b0xheW91
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYXhIZWlnaHRMZXNzVGhhbkNvbnRlbnRBdXRv
TGF5b3V0Iik7CitzaG91bGRCZVRydWUoIm1heEhlaWdodExlc3NUaGFuQ29udGVudEF1dG9MYXlv
dXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0ID4gMTAwIik7CittYXhHcmVhdFRoYW5N
aW5IZWlnaHRGaXhlZExheW91dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYXhHcmVhdFRo
YW5NaW5IZWlnaHRGaXhlZExheW91dCIpOworc2hvdWxkQmUoIm1heEdyZWF0VGhhbk1pbkhlaWdo
dEZpeGVkTGF5b3V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCIsIjIwMiIpOworbWlu
R3JlYXRUaGFuTWF4SGVpZ2h0Rml4ZWRMYXlvdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
bWluR3JlYXRUaGFuTWF4SGVpZ2h0Rml4ZWRMYXlvdXQiKTsKK3Nob3VsZEJlKCJtaW5HcmVhdFRo
YW5NYXhIZWlnaHRGaXhlZExheW91dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQiLCIy
MDIiKTsKK29ubHlNYXhIZWlnaHRGaXhlZExheW91dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJvbmx5TWF4SGVpZ2h0Rml4ZWRMYXlvdXQiKTsKK3Nob3VsZEJlKCJvbmx5TWF4SGVpZ2h0Rml4
ZWRMYXlvdXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0IiwiMjAyIik7CittYXhIZWln
aHRMZXNzVGhhbkNvbnRlbnRGaXhlZExheW91dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJt
YXhIZWlnaHRMZXNzVGhhbkNvbnRlbnRGaXhlZExheW91dCIpOworc2hvdWxkQmVUcnVlKCJtYXhI
ZWlnaHRMZXNzVGhhbkNvbnRlbnRGaXhlZExheW91dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5o
ZWlnaHQgPiAxMDAiKTsKKworZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnY29udGFpbmVyJykpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171270</attachid>
            <date>2012-10-29 10:01:50 -0700</date>
            <delta_ts>2012-11-08 11:28:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98633-20121029223302.patch</filename>
            <type>text/plain</type>
            <size>11638</size>
            <attacher name="Pravin D">pravind.2k4</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjgwNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDEyLTEwLTI5ICBQcmF2aW4g
RCAgPHByYXZpbmQuMms0QGdtYWlsLmNvbT4KKworICAgICAgICBtYXgtaGVpZ2h0IHByb3BlcnR5
IGlzIGRvZXMgbm90IG92ZXJyaWRpbmcgdGhlIGhlaWdodCBwcm9wZXJ0aWVzIGZvciBjc3MgdGFi
bGVzKGRpc3BsYXk6dGFibGUpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05ODYzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSBtYXgtaGVpZ2h0IHByb3BlcnR5IGRldGVybWluZXMgdGhlIG1heGltdW0g
Y29tcHV0ZWQgaGVpZ2h0IGFuIGVsZW1lbnQgY2FuIGhhdmUuIEluIGNhc2Ugb2YgY3NzIHRhYmxl
cyhkaXNwbGF5OnRhYmxlKQorICAgICAgICB0aGUgY29tcHV0ZWQgaGVpZ2h0IHdhcyBub3QgYmVp
bmcgbGltaXRlZCBieSB0aGUgbWF4LWhlaWdodCBwcm9wZXJ0eS4gVGhlIGN1cnJlbnQgcGF0Y2gg
Zml4ZWQgdGhpcyBpc3N1ZS4KKworICAgICAgICBUZXN0OiBmYXN0L3RhYmxlL2Nzcy10YWJsZS1t
YXgtaGVpZ2h0Lmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZTo6Y29udmVydFN0eWxlTG9naWNhbEhlaWdodFRv
Q29tcHV0ZWRIZWlnaHQpOgorICAgICAgICAgSGVscGVyIGZ1bmN0aW9uIHRvIGNvbXB1dGUgaGVp
Z2h0IGZyb20gdGhlIGdpdmVuIHN0eWxlIGhlaWdodC4KKworICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZTo6bGF5b3V0KToKKyAgICAgICAgIExvZ2ljIHRv
IGNvbXB1dGUgdGhlIGxvZ2ljYWwgaGVpZ2h0IG9mIGFuIGVsZW1lbnQgc3VjaCB0aGF0IGl0IGRv
ZXMgbm90IGV4Y2VlZCB0aGUgbWF4LWhlaWdodCB2YWx1ZSBnaXZlbiB0aGF0CisgICAgICAgICBt
aW4td2lkdGggPCBDb250ZW50IGhlaWdodCA8IG1heC1oZWlnaHQsIHdoZW4gbWluLWhlaWdodCA8
IG1heC1oZWlnaHQuCisgICAgICAgICBIb3dldmVyIG1heC1oZWlnaHQgdmFsdWUgaXMgbm90IHJl
c3BlY3RlZCBpZiBlaXRoZXIgbWluLWhlaWdodCA+IG1heC1oZWlnaHQgb3IgQ29udGVudCBoZWln
aHQgPiBtYXgtaGVpZ2h0LgorICAgICAgICAgICAKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
VGFibGUuaDoKKyAgICAgICAgKFJlbmRlclRhYmxlKToKKyAgICAgICAgIEZ1bmN0aW9uIGRlZmlu
aXRpb24gZm9yIHRoZSBuZXdseSBhZGQgZnVuY3Rpb24gY29udmVydFN0eWxlTG9naWNhbEhlaWdo
dFRvQ29tcHV0ZWRIZWlnaHQoKS4KKwogMjAxMi0xMC0yOSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8
b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0gVGV4dCB3aXRoIHplcm8gZm9udCBzaXpl
IHJlbmRlcnMgYXMgWCBweCBzb21ldGltZXMsIGNhdXNpbmcgZmFzdC90ZXh0L3plcm8tZm9udC1z
aXplLTIuaHRtbCB0byBmYWlsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
YWJsZS5jcHAJKHJldmlzaW9uIDEzMjc4MCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUYWJsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyNiw2ICszMjYsMjQgQEAgTGF5b3V0
VW5pdCBSZW5kZXJUYWJsZTo6Y29udmVydFN0eWxlTG9naQogICAgIHJldHVybiBtaW5pbXVtVmFs
dWVGb3JMZW5ndGgoc3R5bGVMb2dpY2FsV2lkdGgsIGF2YWlsYWJsZVdpZHRoLCB2aWV3KCkpICsg
Ym9yZGVyczsKIH0KIAorTGF5b3V0VW5pdCBSZW5kZXJUYWJsZTo6Y29udmVydFN0eWxlTG9naWNh
bEhlaWdodFRvQ29tcHV0ZWRIZWlnaHQoY29uc3QgTGVuZ3RoJiBzdHlsZUxvZ2ljYWxIZWlnaHQs
IGJvb2wgY29sbGFwc2VCb3JkZXJzKQoreworICAgIExheW91dFVuaXQgY29tcHV0ZWRMb2dpY2Fs
SGVpZ2h0ID0gMDsKKyAgICBpZiAoc3R5bGVMb2dpY2FsSGVpZ2h0LmlzRml4ZWQoKSkgeworICAg
ICAgICAvLyBIVE1MIHRhYmxlcyBzaXplIGFzIHRob3VnaCBDU1MgaGVpZ2h0IGluY2x1ZGVzIGJv
cmRlci9wYWRkaW5nLCBDU1MgdGFibGVzIGRvIG5vdC4KKyAgICAgICAgTGF5b3V0VW5pdCBib3Jk
ZXJzID0gWkVST19MQVlPVVRfVU5JVDsKKyAgICAgICAgLy8gRklYTUU6IFdlIGNhbm5vdCBhcHBs
eSBib3gtc2l6aW5nOiBjb250ZW50LWJveCBvbiA8dGFibGU+IHdoaWNoIG90aGVyIGJyb3dzZXJz
IGFsbG93LgorICAgICAgICBpZiAoKG5vZGUoKSAmJiBub2RlKCktPmhhc1RhZ05hbWUodGFibGVU
YWcpKSB8fCBzdHlsZSgpLT5ib3hTaXppbmcoKSA9PSBCT1JERVJfQk9YKSB7CisgICAgICAgICAg
ICBMYXlvdXRVbml0IGJvcmRlckFuZFBhZGRpbmdCZWZvcmUgPSBib3JkZXJCZWZvcmUoKSArIChj
b2xsYXBzZUJvcmRlcnMgPyBaRVJPX0xBWU9VVF9VTklUIDogcGFkZGluZ0JlZm9yZSgpKTsKKyAg
ICAgICAgICAgIExheW91dFVuaXQgYm9yZGVyQW5kUGFkZGluZ0FmdGVyID0gYm9yZGVyQWZ0ZXIo
KSArIChjb2xsYXBzZUJvcmRlcnMgPyBaRVJPX0xBWU9VVF9VTklUIDogcGFkZGluZ0FmdGVyKCkp
OworICAgICAgICAgICAgYm9yZGVycyA9IGJvcmRlckFuZFBhZGRpbmdCZWZvcmUgKyBib3JkZXJB
bmRQYWRkaW5nQWZ0ZXI7CisgICAgICAgIH0KKyAgICAgICAgY29tcHV0ZWRMb2dpY2FsSGVpZ2h0
ID0gc3R5bGVMb2dpY2FsSGVpZ2h0LnZhbHVlKCkgLSBib3JkZXJzOworICAgIH0gZWxzZSBpZiAo
c3R5bGVMb2dpY2FsSGVpZ2h0LmlzUGVyY2VudCgpKQorICAgICAgICBjb21wdXRlZExvZ2ljYWxI
ZWlnaHQgPSBjb21wdXRlUGVyY2VudGFnZUxvZ2ljYWxIZWlnaHQoc3R5bGVMb2dpY2FsSGVpZ2h0
KTsKKyAgICByZXR1cm4gbWF4PExheW91dFVuaXQ+KDAsIGNvbXB1dGVkTG9naWNhbEhlaWdodCk7
Cit9CisKIHZvaWQgUmVuZGVyVGFibGU6OmxheW91dENhcHRpb24oUmVuZGVyVGFibGVDYXB0aW9u
KiBjYXB0aW9uKQogewogICAgIExheW91dFJlY3QgY2FwdGlvblJlY3QoY2FwdGlvbi0+ZnJhbWVS
ZWN0KCkpOwpAQCAtNDQzLDE3ICs0NjEsMTkgQEAgdm9pZCBSZW5kZXJUYWJsZTo6bGF5b3V0KCkK
ICAgICAgICAgdXBkYXRlTG9naWNhbEhlaWdodCgpOwogCiAgICAgTGVuZ3RoIGxvZ2ljYWxIZWln
aHRMZW5ndGggPSBzdHlsZSgpLT5sb2dpY2FsSGVpZ2h0KCk7Ci0gICAgTGF5b3V0VW5pdCBjb21w
dXRlZExvZ2ljYWxIZWlnaHQgPSAwOwotICAgIGlmIChsb2dpY2FsSGVpZ2h0TGVuZ3RoLmlzRml4
ZWQoKSkgewotICAgICAgICAvLyBIVE1MIHRhYmxlcyBzaXplIGFzIHRob3VnaCBDU1MgaGVpZ2h0
IGluY2x1ZGVzIGJvcmRlci9wYWRkaW5nLCBDU1MgdGFibGVzIGRvIG5vdC4KLSAgICAgICAgTGF5
b3V0VW5pdCBib3JkZXJzID0gWkVST19MQVlPVVRfVU5JVDsKLSAgICAgICAgLy8gRklYTUU6IFdl
IGNhbm5vdCBhcHBseSBib3gtc2l6aW5nOiBjb250ZW50LWJveCBvbiA8dGFibGU+IHdoaWNoIG90
aGVyIGJyb3dzZXJzIGFsbG93LgotICAgICAgICBpZiAoKG5vZGUoKSAmJiBub2RlKCktPmhhc1Rh
Z05hbWUodGFibGVUYWcpKSB8fCBzdHlsZSgpLT5ib3hTaXppbmcoKSA9PSBCT1JERVJfQk9YKQot
ICAgICAgICAgICAgYm9yZGVycyA9IGJvcmRlckFuZFBhZGRpbmdCZWZvcmUgKyBib3JkZXJBbmRQ
YWRkaW5nQWZ0ZXI7Ci0gICAgICAgIGNvbXB1dGVkTG9naWNhbEhlaWdodCA9IGxvZ2ljYWxIZWln
aHRMZW5ndGgudmFsdWUoKSAtIGJvcmRlcnM7Ci0gICAgfSBlbHNlIGlmIChsb2dpY2FsSGVpZ2h0
TGVuZ3RoLmlzUGVyY2VudCgpKQotICAgICAgICBjb21wdXRlZExvZ2ljYWxIZWlnaHQgPSBjb21w
dXRlUGVyY2VudGFnZUxvZ2ljYWxIZWlnaHQobG9naWNhbEhlaWdodExlbmd0aCk7Ci0gICAgY29t
cHV0ZWRMb2dpY2FsSGVpZ2h0ID0gbWF4PExheW91dFVuaXQ+KDAsIGNvbXB1dGVkTG9naWNhbEhl
aWdodCk7CisgICAgTGF5b3V0VW5pdCBjb21wdXRlZExvZ2ljYWxIZWlnaHQgPSBjb252ZXJ0U3R5
bGVMb2dpY2FsSGVpZ2h0VG9Db21wdXRlZEhlaWdodChsb2dpY2FsSGVpZ2h0TGVuZ3RoLCBjb2xs
YXBzaW5nKTsKKworICAgIExlbmd0aCBsb2dpY2FsTWF4SGVpZ2h0TGVuZ3RoID0gc3R5bGUoKS0+
bG9naWNhbE1heEhlaWdodCgpOworICAgIGlmIChsb2dpY2FsTWF4SGVpZ2h0TGVuZ3RoLmlzU3Bl
Y2lmaWVkKCkgJiYgIWxvZ2ljYWxNYXhIZWlnaHRMZW5ndGguaXNOZWdhdGl2ZSgpKSB7CisgICAg
ICAgIExheW91dFVuaXQgY29tcHV0ZWRNYXhMb2dpY2FsSGVpZ2h0ID0gY29udmVydFN0eWxlTG9n
aWNhbEhlaWdodFRvQ29tcHV0ZWRIZWlnaHQobG9naWNhbE1heEhlaWdodExlbmd0aCwgY29sbGFw
c2luZyk7CisgICAgICAgIGNvbXB1dGVkTG9naWNhbEhlaWdodCA9IG1pbihjb21wdXRlZExvZ2lj
YWxIZWlnaHQsIGNvbXB1dGVkTWF4TG9naWNhbEhlaWdodCk7CisgICAgfQorCisgICAgTGVuZ3Ro
IGxvZ2ljYWxNaW5IZWlnaHRMZW5ndGggPSBzdHlsZSgpLT5sb2dpY2FsTWluSGVpZ2h0KCk7Cisg
ICAgaWYgKGxvZ2ljYWxNaW5IZWlnaHRMZW5ndGguaXNTcGVjaWZpZWQoKSAmJiAhbG9naWNhbE1p
bkhlaWdodExlbmd0aC5pc05lZ2F0aXZlKCkpIHsKKyAgICAgICAgTGF5b3V0VW5pdCBjb21wdXRl
ZE1pbkxvZ2ljYWxIZWlnaHQgPSBjb252ZXJ0U3R5bGVMb2dpY2FsSGVpZ2h0VG9Db21wdXRlZEhl
aWdodChsb2dpY2FsTWluSGVpZ2h0TGVuZ3RoLCBjb2xsYXBzaW5nKTsKKyAgICAgICAgY29tcHV0
ZWRMb2dpY2FsSGVpZ2h0ID0gbWF4KGNvbXB1dGVkTG9naWNhbEhlaWdodCwgY29tcHV0ZWRNaW5M
b2dpY2FsSGVpZ2h0KTsKKyAgICB9CiAKICAgICBkaXN0cmlidXRlRXh0cmFMb2dpY2FsSGVpZ2h0
KGZsb29yVG9JbnQoY29tcHV0ZWRMb2dpY2FsSGVpZ2h0IC0gdG90YWxTZWN0aW9uTG9naWNhbEhl
aWdodCkpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaAkocmV2
aXNpb24gMTMyNzgwKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI5Miw2ICsyOTIsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwg
dm9pZCB1cGRhdGVMb2dpY2FsV2lkdGgoKSBPVkVSUklERTsKIAogICAgIExheW91dFVuaXQgY29u
dmVydFN0eWxlTG9naWNhbFdpZHRoVG9Db21wdXRlZFdpZHRoKGNvbnN0IExlbmd0aCYgc3R5bGVM
b2dpY2FsV2lkdGgsIExheW91dFVuaXQgYXZhaWxhYmxlV2lkdGgpOworICAgIExheW91dFVuaXQg
Y29udmVydFN0eWxlTG9naWNhbEhlaWdodFRvQ29tcHV0ZWRIZWlnaHQoY29uc3QgTGVuZ3RoJiBz
dHlsZUxvZ2ljYWxIZWlnaHQsIGJvb2wgY29sbGFwc2VCb3JkZXJzKTsKIAogICAgIHZpcnR1YWwg
TGF5b3V0UmVjdCBvdmVyZmxvd0NsaXBSZWN0KGNvbnN0IExheW91dFBvaW50JiBsb2NhdGlvbiwg
UmVuZGVyUmVnaW9uKiwgT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kgPSBJZ25vcmVPdmVy
bGF5U2Nyb2xsYmFyU2l6ZSk7CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjgwNikKKysrIExheW91
dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEyLTEw
LTI5ICBQcmF2aW4gRCAgPHByYXZpbmQuMms0QGdtYWlsLmNvbT4KKworICAgICAgICBtYXgtaGVp
Z2h0IHByb3BlcnR5IGlzIGRvZXMgbm90IG92ZXJyaWRpbmcgdGhlIGhlaWdodCBwcm9wZXJ0aWVz
IGZvciBjc3MgdGFibGVzKGRpc3BsYXk6dGFibGUpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODYzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC90YWJsZS9jc3MtdGFibGUtbWF4LWhlaWdodC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGFibGUvY3NzLXRhYmxlLW1heC1o
ZWlnaHQuaHRtbDogQWRkZWQuCisKIDIwMTItMTAtMjkgIENocmlzdG9waGUgRHVtZXogIDxjaHJp
c3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbV0syXVtXS1RSXSBFbmFibGUgU2hh
ZG93IERPTSBhdCBydW50aW1lIGlmIGNvbXBpbGVkIHdpdGggU0hBRE9XX0RPTSBzdXBwb3J0Cklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2Nzcy10YWJsZS1tYXgtaGVpZ2h0LWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2Nzcy10YWJsZS1tYXgt
aGVpZ2h0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGFi
bGUvY3NzLXRhYmxlLW1heC1oZWlnaHQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDE3IEBACitUZXN0Y2FzZSBmb3IgQnVnIGh0dHA6Ly93a2J1Zy5jb20vOTg2MzMuIFRoZSB0
ZXN0Y2FzZSBjaGVja3MgaWYgdGhlIGhlaWdodCBvZiBhIGNzcyB0YWJsZSBkb2VzIG5vdCBleGNl
ZWQgdGhlIG1heC1oZWlnaHQgdmFsdWUuIFRoZSBoZWlnaHQgb2YgdGhlIHRhYmxlIGNhbiBiZSBn
cmVhdGVyIHRoYW4gbWF4LWhlaWdodCB2YWx1ZSB3aGVuIGVpdGhlciBtaW4taGVpZ2h0IGlzIGdy
ZWF0ZXIgdGhhbiBtYXgtaGVpZ2h0IG9yIGNvbXB1dGVkIGhlaWdodCBvZiB0aGUgY29udGVudCBp
cyBncmVhdGVyIHRoYW4gdGhlIG1heC1oZWlnaHQuCisKK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBh
bWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3Ig
aW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KK1BBU1MKK0xvcmVt
IGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQg
ZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFs
aXF1YS4KK1BBU1MKK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlw
aXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUg
ZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KK1BBU1MKK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0
LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5j
aWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KK1BBU1MKK0xvcmVtIGlw
c3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8g
ZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1
YS4KK1BBU1MKK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNp
Y2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQg
ZG9sb3JlIG1hZ25hIGFsaXF1YS4KK1BBU1MKK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBj
b25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRp
ZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KK0xvcmVtIGlwc3VtIGRvbG9y
IHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0
ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KK1BBU1MK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGFibGUvY3NzLXRhYmxlLW1heC1oZWlnaHQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2Nzcy10YWJsZS1tYXgtaGVpZ2h0
Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2Nzcy10YWJsZS1t
YXgtaGVpZ2h0Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsODIgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisuY29udGFpbmVy
Cit7CisgICAgd2lkdGg6MzAwcHg7CisgICAgaGVpZ2h0OjMwMHB4OworICAgIGJvcmRlcjoxcHgg
c29saWQgZ3JlZW47CisgICAgZm9udC1mYW1pbHk6YWhlbTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9y
OiM5OTk5OTk7Cit9CisKKy5jaGlsZAoreworICAgIGRpc3BsYXk6dGFibGU7CisgICAgaGVpZ2h0
OjEwMCU7CisgICAgYmFja2dyb3VuZC1jb2xvcjpncmVlbjsKK30KKy5maXhlZC10YWJsZQorewor
ICAgIHRhYmxlLWxheW91dDpmaXhlZDsKK30KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2NoZWNrLWxheW91dC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxv
YWQ9ImNoZWNrTGF5b3V0KCcuY2hpbGQnKSI+Cis8ZGl2PiBUZXN0Y2FzZSBmb3IgQnVnIDxhIGhy
ZWY9Imh0dHA6Ly93a2J1Zy5jb20vOTg2MzMiPmh0dHA6Ly93a2J1Zy5jb20vOTg2MzM8L2E+LiBU
aGUgdGVzdGNhc2UgY2hlY2tzIGlmIHRoZSBoZWlnaHQgb2YgYSAKK2NzcyB0YWJsZSBkb2VzIG5v
dCBleGNlZWQgdGhlIG1heC1oZWlnaHQgdmFsdWUuIFRoZSBoZWlnaHQgb2YgdGhlIHRhYmxlIGNh
biBiZSBncmVhdGVyIHRoYW4gbWF4LWhlaWdodCB2YWx1ZSB3aGVuIGVpdGhlcgorbWluLWhlaWdo
dCBpcyBncmVhdGVyIHRoYW4gbWF4LWhlaWdodCBvciBjb21wdXRlZCBoZWlnaHQgb2YgdGhlIGNv
bnRlbnQgaXMgZ3JlYXRlciB0aGFuIHRoZSBtYXgtaGVpZ2h0LgorPC9kaXY+Cis8YnI+Cis8ZGl2
IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgaWQ9Im1heEdyZWF0VGhhbk1pbkhlaWdodEF1
dG9MYXlvdXQiIGNsYXNzPSJjaGlsZCIgc3R5bGU9Im1pbi1oZWlnaHQ6MTAwcHg7IG1heC1oZWln
aHQ6MjAwcHg7IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0yMDA+CisgICAgICAgIExvcmVtIGlwc3Vt
IGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1
c21vZCAKKyAgICAgICAgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWdu
YSBhbGlxdWEuCisgICAgPC9kaXY+Cis8L2Rpdj4KKzxkaXYgY2xhc3M9ImNvbnRhaW5lciI+Cisg
ICAgPGRpdiBjbGFzcz0iY2hpbGQiIHN0eWxlPSJtaW4taGVpZ2h0OjIwMHB4OyBtYXgtaGVpZ2h0
OjEwMHB4OyIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MjAwPgorICAgICAgICBMb3JlbSBpcHN1bSBk
b2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNt
b2QgCisgICAgICAgIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEg
YWxpcXVhLgorICAgIDwvZGl2PgorPC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAg
IDxkaXYgY2xhc3M9ImNoaWxkIiBzdHlsZT0ibWF4LWhlaWdodDoyMDBweDsiIGRhdGEtZXhwZWN0
ZWQtaGVpZ2h0PTIwMD4KKyAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNl
Y3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIAorICAgICAgICB0ZW1wb3Ig
aW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KKyAgICA8L2Rpdj4K
KzwvZGl2PgorPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IGNsYXNzPSJjaGlsZCIg
c3R5bGU9Im1heC1oZWlnaHQ6MTAwcHg7IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0xNDQ+CisgICAg
ICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBl
bGl0LCBzZWQgZG8gZWl1c21vZCAKKyAgICAgICAgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3Jl
IGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCisgICAgPC9kaXY+Cis8L2Rpdj4KKzxkaXYgY2xhc3M9
ImNvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0iY2hpbGQgZml4ZWQtdGFibGUiIHN0eWxlPSJt
aW4taGVpZ2h0OjEwMHB4OyBtYXgtaGVpZ2h0OjIwMHB4OyIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9
MjAwPgorICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRp
cGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgCisgICAgICAgIHRlbXBvciBpbmNpZGlkdW50
IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgorICAgIDwvZGl2PgorPC9kaXY+Cis8
ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImNoaWxkIGZpeGVkLXRhYmxl
IiBzdHlsZT0ibWluLWhlaWdodDoyMDBweDsgbWF4LWhlaWdodDoxMDBweDsiIGRhdGEtZXhwZWN0
ZWQtaGVpZ2h0PTIwMD4KKyAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNl
Y3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIAorICAgICAgICB0ZW1wb3Ig
aW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KKyAgICA8L2Rpdj4K
KzwvZGl2PgorPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IGljbGFzcz0iY2hpbGQg
Zml4ZWQtdGFibGUiIHN0eWxlPSJtYXgtaGVpZ2h0OjIwMHB4OyIgZGF0YS1leHBlY3RlZC1oZWln
aHQ9MjAwPgorICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIg
YWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgCisgICAgICAgIHRlbXBvciBpbmNpZGlk
dW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgorICAgIDwvZGl2PgorPC9kaXY+
Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImNoaWxkIGZpeGVkLXRh
YmxlIiBzdHlsZT0ibWF4LWhlaWdodDoxMDBweDsiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTE0ND4K
KyAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2lj
aW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIAorICAgICAgICB0ZW1wb3IgaW5jaWRpZHVudCB1dCBs
YWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KKyAgICA8L2Rpdj4KKzwvZGl2PgorPGJvZHk+
Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173081</attachid>
            <date>2012-11-08 11:28:34 -0800</date>
            <delta_ts>2012-11-12 23:01:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98633-20121109005957.patch</filename>
            <type>text/plain</type>
            <size>13501</size>
            <attacher name="Pravin D">pravind.2k4</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMzkyMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDEyLTExLTA4ICBQcmF2aW4g
RCAgPHByYXZpbmQuMms0QGdtYWlsLmNvbT4KKworICAgICAgICBtYXgtaGVpZ2h0IHByb3BlcnR5
IGlzIGRvZXMgbm90IG92ZXJyaWRpbmcgdGhlIGhlaWdodCBwcm9wZXJ0aWVzIGZvciBjc3MgdGFi
bGVzKGRpc3BsYXk6dGFibGUpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05ODYzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
ICAgICAgICAKKyAgICAgICAgVGhlIG1heC1oZWlnaHQgcHJvcGVydHkgZGV0ZXJtaW5lcyB0aGUg
bWF4aW11bSBjb21wdXRlZCBoZWlnaHQgYW4gZWxlbWVudCBjYW4gaGF2ZS4gSW4gY2FzZSBvZiBj
c3MgdGFibGVzKGRpc3BsYXk6dGFibGUpCisgICAgICAgIHRoZSBjb21wdXRlZCBoZWlnaHQgd2Fz
IG5vdCBiZWluZyBsaW1pdGVkIGJ5IHRoZSBtYXgtaGVpZ2h0IHByb3BlcnR5LiBUaGUgY3VycmVu
dCBwYXRjaCBmaXhlZCB0aGlzIGlzc3VlLgorCisgICAgICAgIFRlc3Q6IGZhc3QvdGFibGUvY3Nz
LXRhYmxlLW1heC1oZWlnaHQuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlOjpjb252ZXJ0U3R5bGVMb2dpY2Fs
SGVpZ2h0VG9Db21wdXRlZEhlaWdodCk6CisgICAgICAgICBIZWxwZXIgZnVuY3Rpb24gdG8gY29t
cHV0ZSBoZWlnaHQgZnJvbSB0aGUgZ2l2ZW4gc3R5bGUgaGVpZ2h0LgorCisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlOjpsYXlvdXQpOgorICAgICAgICAg
TG9naWMgdG8gY29tcHV0ZSB0aGUgbG9naWNhbCBoZWlnaHQgb2YgYW4gZWxlbWVudCBzdWNoIHRo
YXQgaXQgZG9lcyBub3QgZXhjZWVkIHRoZSBtYXgtaGVpZ2h0IHZhbHVlIGdpdmVuIHRoYXQKKyAg
ICAgICAgIG1pbi13aWR0aCA8IENvbnRlbnQgaGVpZ2h0IDwgbWF4LWhlaWdodCwgd2hlbiBtaW4t
aGVpZ2h0IDwgbWF4LWhlaWdodC4KKyAgICAgICAgIEhvd2V2ZXIgbWF4LWhlaWdodCB2YWx1ZSBp
cyBub3QgcmVzcGVjdGVkIGlmIGVpdGhlciBtaW4taGVpZ2h0ID4gbWF4LWhlaWdodCBvciBDb250
ZW50IGhlaWdodCA+IG1heC1oZWlnaHQuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFi
bGUuaDoKKyAgICAgICAgKFJlbmRlclRhYmxlKToKKyAgICAgICAgIEZ1bmN0aW9uIGRlZmluaXRp
b24gZm9yIHRoZSBuZXdseSBhZGQgZnVuY3Rpb24gY29udmVydFN0eWxlTG9naWNhbEhlaWdodFRv
Q29tcHV0ZWRIZWlnaHQoKS4KKwogMjAxMi0xMS0wNSAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5A
YXBwbGUuY29tPgogCiAgICAgICAgIE9wdGltaXplZCBrZXJuaW5nIGFuZCBsaWdhdHVyZXMgdXNp
bmcgY2FjaGluZwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3Bw
CShyZXZpc2lvbiAxMzM5MDQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjYsNiArMzI2LDI2IEBAIExheW91dFVuaXQgUmVu
ZGVyVGFibGU6OmNvbnZlcnRTdHlsZUxvZ2kKICAgICByZXR1cm4gbWluaW11bVZhbHVlRm9yTGVu
Z3RoKHN0eWxlTG9naWNhbFdpZHRoLCBhdmFpbGFibGVXaWR0aCwgdmlldygpKSArIGJvcmRlcnM7
CiB9CiAKK0xheW91dFVuaXQgUmVuZGVyVGFibGU6OmNvbnZlcnRTdHlsZUxvZ2ljYWxIZWlnaHRU
b0NvbXB1dGVkSGVpZ2h0KGNvbnN0IExlbmd0aCYgc3R5bGVMb2dpY2FsSGVpZ2h0KQoreworICAg
IExheW91dFVuaXQgY29tcHV0ZWRMb2dpY2FsSGVpZ2h0ID0gMDsKKyAgICBpZiAoc3R5bGVMb2dp
Y2FsSGVpZ2h0LmlzRml4ZWQoKSkgeworICAgICAgICAvLyBIVE1MIHRhYmxlcyBzaXplIGFzIHRo
b3VnaCBDU1MgaGVpZ2h0IGluY2x1ZGVzIGJvcmRlci9wYWRkaW5nLCBDU1MgdGFibGVzIGRvIG5v
dC4KKyAgICAgICAgTGF5b3V0VW5pdCBib3JkZXJzID0gTGF5b3V0VW5pdCgpOworICAgICAgICAv
LyBGSVhNRTogV2UgY2Fubm90IGFwcGx5IGJveC1zaXppbmc6IGNvbnRlbnQtYm94IG9uIDx0YWJs
ZT4gd2hpY2ggb3RoZXIgYnJvd3NlcnMgYWxsb3cuCisgICAgICAgIGlmICgobm9kZSgpICYmIG5v
ZGUoKS0+aGFzVGFnTmFtZSh0YWJsZVRhZykpIHx8IHN0eWxlKCktPmJveFNpemluZygpID09IEJP
UkRFUl9CT1gpIHsKKyAgICAgICAgICAgIExheW91dFVuaXQgYm9yZGVyQW5kUGFkZGluZ0JlZm9y
ZSA9IGJvcmRlckJlZm9yZSgpICsgKGNvbGxhcHNlQm9yZGVycygpID8gTGF5b3V0VW5pdCgpIDog
cGFkZGluZ0JlZm9yZSgpKTsKKyAgICAgICAgICAgIExheW91dFVuaXQgYm9yZGVyQW5kUGFkZGlu
Z0FmdGVyID0gYm9yZGVyQWZ0ZXIoKSArIChjb2xsYXBzZUJvcmRlcnMoKSA/IExheW91dFVuaXQo
KSA6IHBhZGRpbmdBZnRlcigpKTsKKyAgICAgICAgICAgIGJvcmRlcnMgPSBib3JkZXJBbmRQYWRk
aW5nQmVmb3JlICsgYm9yZGVyQW5kUGFkZGluZ0FmdGVyOworICAgICAgICB9CisgICAgICAgIGNv
bXB1dGVkTG9naWNhbEhlaWdodCA9IHN0eWxlTG9naWNhbEhlaWdodC52YWx1ZSgpIC0gYm9yZGVy
czsKKyAgICB9IGVsc2UgaWYgKHN0eWxlTG9naWNhbEhlaWdodC5pc1BlcmNlbnQoKSkKKyAgICAg
ICAgY29tcHV0ZWRMb2dpY2FsSGVpZ2h0ID0gY29tcHV0ZVBlcmNlbnRhZ2VMb2dpY2FsSGVpZ2h0
KHN0eWxlTG9naWNhbEhlaWdodCk7CisgICAgZWxzZSBpZiAoc3R5bGVMb2dpY2FsSGVpZ2h0Lmlz
Vmlld3BvcnRQZXJjZW50YWdlKCkpCisgICAgICAgIGNvbXB1dGVkTG9naWNhbEhlaWdodCA9IG1p
bmltdW1WYWx1ZUZvckxlbmd0aChzdHlsZUxvZ2ljYWxIZWlnaHQsIDAsIHZpZXcoKSk7CisgICAg
cmV0dXJuIG1heDxMYXlvdXRVbml0PigwLCBjb21wdXRlZExvZ2ljYWxIZWlnaHQpOworfQorCiB2
b2lkIFJlbmRlclRhYmxlOjpsYXlvdXRDYXB0aW9uKFJlbmRlclRhYmxlQ2FwdGlvbiogY2FwdGlv
bikKIHsKICAgICBMYXlvdXRSZWN0IGNhcHRpb25SZWN0KGNhcHRpb24tPmZyYW1lUmVjdCgpKTsK
QEAgLTQ0MywxNyArNDYzLDE5IEBAIHZvaWQgUmVuZGVyVGFibGU6OmxheW91dCgpCiAgICAgICAg
IHVwZGF0ZUxvZ2ljYWxIZWlnaHQoKTsKIAogICAgIExlbmd0aCBsb2dpY2FsSGVpZ2h0TGVuZ3Ro
ID0gc3R5bGUoKS0+bG9naWNhbEhlaWdodCgpOwotICAgIExheW91dFVuaXQgY29tcHV0ZWRMb2dp
Y2FsSGVpZ2h0ID0gMDsKLSAgICBpZiAobG9naWNhbEhlaWdodExlbmd0aC5pc0ZpeGVkKCkpIHsK
LSAgICAgICAgLy8gSFRNTCB0YWJsZXMgc2l6ZSBhcyB0aG91Z2ggQ1NTIGhlaWdodCBpbmNsdWRl
cyBib3JkZXIvcGFkZGluZywgQ1NTIHRhYmxlcyBkbyBub3QuCi0gICAgICAgIExheW91dFVuaXQg
Ym9yZGVycyA9IDA7Ci0gICAgICAgIC8vIEZJWE1FOiBXZSBjYW5ub3QgYXBwbHkgYm94LXNpemlu
ZzogY29udGVudC1ib3ggb24gPHRhYmxlPiB3aGljaCBvdGhlciBicm93c2VycyBhbGxvdy4KLSAg
ICAgICAgaWYgKChub2RlKCkgJiYgbm9kZSgpLT5oYXNUYWdOYW1lKHRhYmxlVGFnKSkgfHwgc3R5
bGUoKS0+Ym94U2l6aW5nKCkgPT0gQk9SREVSX0JPWCkKLSAgICAgICAgICAgIGJvcmRlcnMgPSBi
b3JkZXJBbmRQYWRkaW5nQmVmb3JlICsgYm9yZGVyQW5kUGFkZGluZ0FmdGVyOwotICAgICAgICBj
b21wdXRlZExvZ2ljYWxIZWlnaHQgPSBsb2dpY2FsSGVpZ2h0TGVuZ3RoLnZhbHVlKCkgLSBib3Jk
ZXJzOwotICAgIH0gZWxzZSBpZiAobG9naWNhbEhlaWdodExlbmd0aC5pc1BlcmNlbnQoKSkKLSAg
ICAgICAgY29tcHV0ZWRMb2dpY2FsSGVpZ2h0ID0gY29tcHV0ZVBlcmNlbnRhZ2VMb2dpY2FsSGVp
Z2h0KGxvZ2ljYWxIZWlnaHRMZW5ndGgpOwotICAgIGNvbXB1dGVkTG9naWNhbEhlaWdodCA9IG1h
eDxMYXlvdXRVbml0PigwLCBjb21wdXRlZExvZ2ljYWxIZWlnaHQpOworICAgIExheW91dFVuaXQg
Y29tcHV0ZWRMb2dpY2FsSGVpZ2h0ID0gY29udmVydFN0eWxlTG9naWNhbEhlaWdodFRvQ29tcHV0
ZWRIZWlnaHQobG9naWNhbEhlaWdodExlbmd0aCk7CisgICAgCisgICAgTGVuZ3RoIGxvZ2ljYWxN
YXhIZWlnaHRMZW5ndGggPSBzdHlsZSgpLT5sb2dpY2FsTWF4SGVpZ2h0KCk7CisgICAgaWYgKGxv
Z2ljYWxNYXhIZWlnaHRMZW5ndGguaXNTcGVjaWZpZWQoKSAmJiAhbG9naWNhbE1heEhlaWdodExl
bmd0aC5pc05lZ2F0aXZlKCkpIHsKKyAgICAgICAgTGF5b3V0VW5pdCBjb21wdXRlZE1heExvZ2lj
YWxIZWlnaHQgPSBjb252ZXJ0U3R5bGVMb2dpY2FsSGVpZ2h0VG9Db21wdXRlZEhlaWdodChsb2dp
Y2FsTWF4SGVpZ2h0TGVuZ3RoKTsKKyAgICAgICAgY29tcHV0ZWRMb2dpY2FsSGVpZ2h0ID0gbWlu
KGNvbXB1dGVkTG9naWNhbEhlaWdodCwgY29tcHV0ZWRNYXhMb2dpY2FsSGVpZ2h0KTsKKyAgICB9
CisKKyAgICBMZW5ndGggbG9naWNhbE1pbkhlaWdodExlbmd0aCA9IHN0eWxlKCktPmxvZ2ljYWxN
aW5IZWlnaHQoKTsKKyAgICBpZiAobG9naWNhbE1pbkhlaWdodExlbmd0aC5pc1NwZWNpZmllZCgp
ICYmICFsb2dpY2FsTWluSGVpZ2h0TGVuZ3RoLmlzTmVnYXRpdmUoKSkgeworICAgICAgICBMYXlv
dXRVbml0IGNvbXB1dGVkTWluTG9naWNhbEhlaWdodCA9IGNvbnZlcnRTdHlsZUxvZ2ljYWxIZWln
aHRUb0NvbXB1dGVkSGVpZ2h0KGxvZ2ljYWxNaW5IZWlnaHRMZW5ndGgpOworICAgICAgICBjb21w
dXRlZExvZ2ljYWxIZWlnaHQgPSBtYXgoY29tcHV0ZWRMb2dpY2FsSGVpZ2h0LCBjb21wdXRlZE1p
bkxvZ2ljYWxIZWlnaHQpOworICAgIH0KIAogICAgIGRpc3RyaWJ1dGVFeHRyYUxvZ2ljYWxIZWln
aHQoZmxvb3JUb0ludChjb21wdXRlZExvZ2ljYWxIZWlnaHQgLSB0b3RhbFNlY3Rpb25Mb2dpY2Fs
SGVpZ2h0KSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5oCShy
ZXZpc2lvbiAxMzM5MDQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUu
aAkod29ya2luZyBjb3B5KQpAQCAtMjkxLDYgKzI5MSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVh
bCB2b2lkIHVwZGF0ZUxvZ2ljYWxXaWR0aCgpIE9WRVJSSURFOwogCiAgICAgTGF5b3V0VW5pdCBj
b252ZXJ0U3R5bGVMb2dpY2FsV2lkdGhUb0NvbXB1dGVkV2lkdGgoY29uc3QgTGVuZ3RoJiBzdHls
ZUxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCBhdmFpbGFibGVXaWR0aCk7CisgICAgTGF5b3V0VW5p
dCBjb252ZXJ0U3R5bGVMb2dpY2FsSGVpZ2h0VG9Db21wdXRlZEhlaWdodChjb25zdCBMZW5ndGgm
IHN0eWxlTG9naWNhbEhlaWdodCk7CiAKICAgICB2aXJ0dWFsIExheW91dFJlY3Qgb3ZlcmZsb3dD
bGlwUmVjdChjb25zdCBMYXlvdXRQb2ludCYgbG9jYXRpb24sIFJlbmRlclJlZ2lvbiosIE92ZXJs
YXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5ID0gSWdub3JlT3ZlcmxheVNjcm9sbGJhclNpemUpOwog
CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAxMzM5MjIpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0xMS0wOCAgUHJhdmluIEQgIDxwcmF2
aW5kLjJrNEBnbWFpbC5jb20+CisKKyAgICAgICAgbWF4LWhlaWdodCBwcm9wZXJ0eSBpcyBkb2Vz
IG5vdCBvdmVycmlkaW5nIHRoZSBoZWlnaHQgcHJvcGVydGllcyBmb3IgY3NzIHRhYmxlcyhkaXNw
bGF5OnRhYmxlKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTg2MzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGZhc3QvdGFibGUvY3NzLXRhYmxlLW1heC1oZWlnaHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L3RhYmxlL2Nzcy10YWJsZS1tYXgtaGVpZ2h0Lmh0bWw6IEFkZGVkLgor
CiAyMDEyLTExLTA4ICBKb3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgW0Nocm9taXVtXSBVbnJldmlld2VkIGdhcmRlbmluZyAtIHdpZGVuIGZsYWt5IGV4cGVjdGF0
aW9uIHRvIGluY2x1ZGUgY3Jhc2gKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGFibGUvY3NzLXRh
YmxlLW1heC1oZWlnaHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvdGFibGUvY3NzLXRhYmxlLW1heC1oZWlnaHQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9jc3MtdGFibGUtbWF4LWhlaWdodC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzAgQEAKK1Rlc3RjYXNlIGZvciBCdWcgaHR0cDov
L3drYnVnLmNvbS85ODYzMy4gVGhlIHRlc3RjYXNlIGNoZWNrcyBpZiB0aGUgaGVpZ2h0IG9mIGEg
Y3NzIHRhYmxlIGRvZXMgbm90IGV4Y2VlZCB0aGUgbWF4LWhlaWdodCB2YWx1ZS4gVGhlIGhlaWdo
dCBvZiB0aGUgdGFibGUgY2FuIGJlIGdyZWF0ZXIgdGhhbiBtYXgtaGVpZ2h0IHZhbHVlIHdoZW4g
ZWl0aGVyIG1pbi1oZWlnaHQgaXMgZ3JlYXRlciB0aGFuIG1heC1oZWlnaHQgb3IgY29tcHV0ZWQg
aGVpZ2h0IG9mIHRoZSBjb250ZW50IGlzIGdyZWF0ZXIgdGhhbiB0aGUgbWF4LWhlaWdodC4KKwor
VGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCB3aGVuIG1pbi1oZWlnaHQgaXMgbGVzc2VyIHRoYW4g
bWF4LWhlaWdodCwgbWF4LWhlaWdodCBpcyBhcHBsaWVkIHRvIGEgdGFibGUgd2l0aCBhdXRvIGxh
eW91dC4KK1BBU1MKK1RoaXMgc3ViLXRlc3QgY2hlY2tzIHRoYXQgd2hlbiBtaW4taGVpZ2h0IGlz
IGdyZWF0ZXIgdGhhbiBtYXgtaGVpZ2h0LCBtaW4taGVpZ2h0IGlzIGFwcGxpZWQgdG8gYSB0YWJs
ZSB3aXRoIGF1dG8gbGF5b3V0LgorUEFTUworVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCBtYXgt
aGVpZ2h0IHdpdGggZml4ZWQgdmFsdWUgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggYXV0byBs
YXlvdXQuCitQQVNTCitUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IG1heC1oZWlnaHQgd2l0aCBw
ZXJjZW50IHZhbHVlIGlzIGFwcGxpZWQgdG8gYSB0YWJsZSB3aXRoIGF1dG8gbGF5b3V0LgorUEFT
UworVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCBtYXgtaGVpZ2h0IHdpdGggdmlld3BvcnQgcGVy
Y2VudCBoZWlnaHQgdmFsdWUgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggYXV0byBsYXlvdXQu
CitQQVNTCitUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IG1heC1oZWlnaHQgd2l0aCB2aWV3cG9y
dCBwZXJjZW50IHdpZHRoIHZhbHVlIGlzIGFwcGxpZWQgdG8gYSB0YWJsZSB3aXRoIGF1dG8gbGF5
b3V0LgorUEFTUworVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCB3aGVuIGNvbnRlbnQgaGVpZ2h0
IGlzIGdyZWF0ZXIgdGhhbiBtYXgtaGVpZ2h0LCBjb250ZW50IGhlaWdodCBpcyBhcHBsaWVkIHRv
IHRoZSB0YWJsZSB3aXRoIGF1dG8gbGF5b3V0LgorUEFTUworVGhpcyBzdWItdGVzdCBjaGVja3Mg
dGhhdCB3aGVuIG1pbi1oZWlnaHQgaXMgbGVzc2VyIHRoYW4gbWF4LWhlaWdodCwgbWF4LWhlaWdo
dCBpcyBhcHBsaWVkIHRvIGEgdGFibGUgd2l0aCBmaXhlZCBsYXlvdXQuCitQQVNTCitUaGlzIHN1
Yi10ZXN0IGNoZWNrcyB0aGF0IHdoZW4gbWluLWhlaWdodCBpcyBncmVhdGVyIHRoYW4gbWF4LWhl
aWdodCwgbWluLWhlaWdodCBpcyBhcHBsaWVkIHRvIGEgdGFibGUgd2l0aCBmaXhlZCBsYXlvdXQu
CitQQVNTCitUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IG1heC1oZWlnaHQgd2l0aCBmaXhlZCB2
YWx1ZSBpcyBhcHBsaWVkIHRvIGEgdGFibGUgd2l0aCBmaXhlZCBsYXlvdXQuCitQQVNTCitUaGlz
IHN1Yi10ZXN0IGNoZWNrcyB0aGF0IG1heC1oZWlnaHQgd2l0aCBwZXJjZW50IHZhbHVlIGlzIGFw
cGxpZWQgdG8gYSB0YWJsZSB3aXRoIGZpeGVkIGxheW91dC4KK1BBU1MKK1RoaXMgc3ViLXRlc3Qg
Y2hlY2tzIHRoYXQgbWF4LWhlaWdodCB3aXRoIHZpZXdwb3J0IHBlcmNlbnQgaGVpZ2h0IHZhbHVl
IGlzIGFwcGxpZWQgdG8gYSB0YWJsZSB3aXRoIGZpeGVkIGxheW91dC4KK1BBU1MKK1RoaXMgc3Vi
LXRlc3QgY2hlY2tzIHRoYXQgbWF4LWhlaWdodCB3aXRoIHZpZXdwb3J0IHBlcmNlbnQgd2lkdGgg
dmFsdWUgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggZml4ZWQgbGF5b3V0LgorUEFTUworVGhp
cyBzdWItdGVzdCBjaGVja3MgdGhhdCB3aGVuIGNvbnRlbnQgaGVpZ2h0IGlzIGdyZWF0ZXIgdGhh
biBtYXgtaGVpZ2h0LCBjb250ZW50IGhlaWdodCBpcyBhcHBsaWVkIHRvIGEgdGFibGUgd2l0aCBm
aXhlZCBsYXlvdXQuCitQQVNTCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2Nzcy10YWJs
ZS1tYXgtaGVpZ2h0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9j
c3MtdGFibGUtbWF4LWhlaWdodC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC90YWJsZS9jc3MtdGFibGUtbWF4LWhlaWdodC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDEwMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlIHR5cGU9InRl
eHQvY3NzIj4KKy5jb250YWluZXIKK3sKKyAgICB3aWR0aDozMDBweDsKKyAgICBoZWlnaHQ6NDAw
cHg7CisgICAgZm9udC1mYW1pbHk6YWhlbTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiM5OTk5OTk7
Cit9CisKKy5jaGlsZAoreworICAgIGRpc3BsYXk6dGFibGU7CisgICAgaGVpZ2h0OjEwMCU7Cisg
ICAgYmFja2dyb3VuZC1jb2xvcjpncmVlbjsKK30KKy5maXhlZC10YWJsZQoreworICAgIHRhYmxl
LWxheW91dDpmaXhlZDsKK30KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2NoZWNrLWxheW91dC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9ImNoZWNr
TGF5b3V0KCcuY2hpbGQnKSI+Cis8ZGl2PiBUZXN0Y2FzZSBmb3IgQnVnIDxhIGhyZWY9Imh0dHA6
Ly93a2J1Zy5jb20vOTg2MzMiPmh0dHA6Ly93a2J1Zy5jb20vOTg2MzM8L2E+LiBUaGUgdGVzdGNh
c2UgY2hlY2tzIGlmIHRoZSBoZWlnaHQgb2YgYSAKK2NzcyB0YWJsZSBkb2VzIG5vdCBleGNlZWQg
dGhlIG1heC1oZWlnaHQgdmFsdWUuIFRoZSBoZWlnaHQgb2YgdGhlIHRhYmxlIGNhbiBiZSBncmVh
dGVyIHRoYW4gbWF4LWhlaWdodCB2YWx1ZSB3aGVuIGVpdGhlcgorbWluLWhlaWdodCBpcyBncmVh
dGVyIHRoYW4gbWF4LWhlaWdodCBvciBjb21wdXRlZCBoZWlnaHQgb2YgdGhlIGNvbnRlbnQgaXMg
Z3JlYXRlciB0aGFuIHRoZSBtYXgtaGVpZ2h0LgorPC9kaXY+Cis8YnI+Cis8ZGl2IGNsYXNzPSJj
b250YWluZXIiPgorICAgIDxkaXYgaWQ9Im1heEdyZWF0VGhhbk1pbkhlaWdodEF1dG9MYXlvdXQi
IGNsYXNzPSJjaGlsZCIgc3R5bGU9Im1pbi1oZWlnaHQ6MTAwcHg7IG1heC1oZWlnaHQ6MjAwcHg7
IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0yMDA+CisgICAgICAgIFRoaXMgc3ViLXRlc3QgY2hlY2tz
IHRoYXQgd2hlbiBtaW4taGVpZ2h0IGlzIGxlc3NlciB0aGFuIG1heC1oZWlnaHQsIG1heC1oZWln
aHQgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggYXV0byBsYXlvdXQuCisgICAgPC9kaXY+Cis8
L2Rpdj4KKzxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0iY2hpbGQiIHN0
eWxlPSJtaW4taGVpZ2h0OjIwMHB4OyBtYXgtaGVpZ2h0OjEwMHB4OyIgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9MjAwPgorICAgICAgICBUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IHdoZW4gbWluLWhl
aWdodCBpcyBncmVhdGVyIHRoYW4gbWF4LWhlaWdodCwgbWluLWhlaWdodCBpcyBhcHBsaWVkIHRv
IGEgdGFibGUgd2l0aCBhdXRvIGxheW91dC4KKyAgICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFz
cz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IGNsYXNzPSJjaGlsZCIgc3R5bGU9Im1heC1oZWlnaHQ6
MjAwcHg7IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0yMDA+CisgICAgICAgIFRoaXMgc3ViLXRlc3Qg
Y2hlY2tzIHRoYXQgbWF4LWhlaWdodCB3aXRoIGZpeGVkIHZhbHVlIGlzIGFwcGxpZWQgdG8gYSB0
YWJsZSB3aXRoIGF1dG8gbGF5b3V0LgorICAgIDwvZGl2PgorPC9kaXY+Cis8ZGl2IGNsYXNzPSJj
b250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImNoaWxkIiBzdHlsZT0ibWF4LWhlaWdodDo1MCU7
IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0yMDA+CisgICAgICAgIFRoaXMgc3ViLXRlc3QgY2hlY2tz
IHRoYXQgbWF4LWhlaWdodCB3aXRoIHBlcmNlbnQgdmFsdWUgaXMgYXBwbGllZCB0byBhIHRhYmxl
IHdpdGggYXV0byBsYXlvdXQuCisgICAgPC9kaXY+Cis8L2Rpdj4KKzxkaXYgY2xhc3M9ImNvbnRh
aW5lciI+CisgICAgPGRpdiBjbGFzcz0iY2hpbGQiIHN0eWxlPSJtYXgtaGVpZ2h0OjUwdmg7IiBk
YXRhLWV4cGVjdGVkLWhlaWdodD0zMDA+CisgICAgICAgIFRoaXMgc3ViLXRlc3QgY2hlY2tzIHRo
YXQgbWF4LWhlaWdodCB3aXRoIHZpZXdwb3J0IHBlcmNlbnQgaGVpZ2h0IHZhbHVlIGlzIGFwcGxp
ZWQgdG8gYSB0YWJsZSB3aXRoIGF1dG8gbGF5b3V0LgorICAgIDwvZGl2PgorPC9kaXY+Cis8ZGl2
IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImNoaWxkIiBzdHlsZT0ibWF4LWhl
aWdodDoyNXZ3OyIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MjAwPgorICAgICAgICBUaGlzIHN1Yi10
ZXN0IGNoZWNrcyB0aGF0IG1heC1oZWlnaHQgd2l0aCB2aWV3cG9ydCBwZXJjZW50IHdpZHRoIHZh
bHVlIGlzIGFwcGxpZWQgdG8gYSB0YWJsZSB3aXRoIGF1dG8gbGF5b3V0LgorICAgIDwvZGl2Pgor
PC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImNoaWxkIiBz
dHlsZT0ibWF4LWhlaWdodDoxMDBweDsiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTEyOD4KKyAgICAg
ICAgVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCB3aGVuIGNvbnRlbnQgaGVpZ2h0IGlzIGdyZWF0
ZXIgdGhhbiBtYXgtaGVpZ2h0LCBjb250ZW50IGhlaWdodCBpcyBhcHBsaWVkIHRvIHRoZSB0YWJs
ZSB3aXRoIGF1dG8gbGF5b3V0LgorICAgIDwvZGl2PgorPC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250
YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImNoaWxkIGZpeGVkLXRhYmxlIiBzdHlsZT0ibWluLWhl
aWdodDoxMDBweDsgbWF4LWhlaWdodDoyMDBweDsiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTIwMD4K
KyAgICAgICAgVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCB3aGVuIG1pbi1oZWlnaHQgaXMgbGVz
c2VyIHRoYW4gbWF4LWhlaWdodCwgbWF4LWhlaWdodCBpcyBhcHBsaWVkIHRvIGEgdGFibGUgd2l0
aCBmaXhlZCBsYXlvdXQuCisgICAgPC9kaXY+Cis8L2Rpdj4KKzxkaXYgY2xhc3M9ImNvbnRhaW5l
ciI+CisgICAgPGRpdiBjbGFzcz0iY2hpbGQgZml4ZWQtdGFibGUiIHN0eWxlPSJtaW4taGVpZ2h0
OjIwMHB4OyBtYXgtaGVpZ2h0OjEwMHB4OyIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MjAwPgorICAg
ICAgICBUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IHdoZW4gbWluLWhlaWdodCBpcyBncmVhdGVy
IHRoYW4gbWF4LWhlaWdodCwgbWluLWhlaWdodCBpcyBhcHBsaWVkIHRvIGEgdGFibGUgd2l0aCBm
aXhlZCBsYXlvdXQuCisgICAgPC9kaXY+Cis8L2Rpdj4KKzxkaXYgY2xhc3M9ImNvbnRhaW5lciI+
CisgICAgPGRpdiBjbGFzcz0iY2hpbGQgZml4ZWQtdGFibGUiIHN0eWxlPSJtYXgtaGVpZ2h0OjIw
MHB4OyIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MjAwPgorICAgICAgICBUaGlzIHN1Yi10ZXN0IGNo
ZWNrcyB0aGF0IG1heC1oZWlnaHQgd2l0aCBmaXhlZCB2YWx1ZSBpcyBhcHBsaWVkIHRvIGEgdGFi
bGUgd2l0aCBmaXhlZCBsYXlvdXQuCisgICAgPC9kaXY+Cis8L2Rpdj4KKzxkaXYgY2xhc3M9ImNv
bnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0iY2hpbGQgZml4ZWQtdGFibGUiIHN0eWxlPSJtYXgt
aGVpZ2h0OjUwJTsiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTIwMD4KKyAgICAgICAgVGhpcyBzdWIt
dGVzdCBjaGVja3MgdGhhdCBtYXgtaGVpZ2h0IHdpdGggcGVyY2VudCB2YWx1ZSBpcyBhcHBsaWVk
IHRvIGEgdGFibGUgd2l0aCBmaXhlZCBsYXlvdXQuCisgICAgPC9kaXY+Cis8L2Rpdj4KKzxkaXYg
Y2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0iY2hpbGQgZml4ZWQtdGFibGUiIHN0
eWxlPSJtYXgtaGVpZ2h0OjUwdmg7IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0zMDA+CisgICAgICAg
IFRoaXMgc3ViLXRlc3QgY2hlY2tzIHRoYXQgbWF4LWhlaWdodCB3aXRoIHZpZXdwb3J0IHBlcmNl
bnQgaGVpZ2h0IHZhbHVlIGlzIGFwcGxpZWQgdG8gYSB0YWJsZSB3aXRoIGZpeGVkIGxheW91dC4K
KyAgICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IGNs
YXNzPSJjaGlsZCBmaXhlZC10YWJsZSIgc3R5bGU9Im1heC1oZWlnaHQ6MjV2dzsiIGRhdGEtZXhw
ZWN0ZWQtaGVpZ2h0PTIwMD4KKyAgICAgICAgVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCBtYXgt
aGVpZ2h0IHdpdGggdmlld3BvcnQgcGVyY2VudCB3aWR0aCB2YWx1ZSBpcyBhcHBsaWVkIHRvIGEg
dGFibGUgd2l0aCBmaXhlZCBsYXlvdXQuCisgICAgPC9kaXY+Cis8L2Rpdj4KKzxkaXYgY2xhc3M9
ImNvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0iY2hpbGQgZml4ZWQtdGFibGUiIHN0eWxlPSJt
YXgtaGVpZ2h0OjEwMHB4OyIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MTI4PgorICAgICAgICBUaGlz
IHN1Yi10ZXN0IGNoZWNrcyB0aGF0IHdoZW4gY29udGVudCBoZWlnaHQgaXMgZ3JlYXRlciB0aGFu
IG1heC1oZWlnaHQsIGNvbnRlbnQgaGVpZ2h0IGlzIGFwcGxpZWQgdG8gYSB0YWJsZSB3aXRoIGZp
eGVkIGxheW91dC4KKyAgICA8L2Rpdj4KKzwvZGl2PgorPGJvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173828</attachid>
            <date>2012-11-12 23:02:00 -0800</date>
            <delta_ts>2012-11-20 03:19:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98633-20121113123331.patch</filename>
            <type>text/plain</type>
            <size>13808</size>
            <attacher name="Pravin D">pravind.2k4</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNDM2NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEyLTExLTEyICBQcmF2aW4g
RCAgPHByYXZpbmQuMms0QGdtYWlsLmNvbT4KKworICAgICAgICBtYXgtaGVpZ2h0IHByb3BlcnR5
IGlzIGRvZXMgbm90IG92ZXJyaWRpbmcgdGhlIGhlaWdodCBwcm9wZXJ0aWVzIGZvciBjc3MgdGFi
bGVzKGRpc3BsYXk6dGFibGUpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05ODYzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSBtYXgtaGVpZ2h0IHByb3BlcnR5IGRldGVybWluZXMgdGhlIG1heGltdW0g
Y29tcHV0ZWQgaGVpZ2h0IGFuIGVsZW1lbnQgY2FuIGhhdmUuIEluIGNhc2Ugb2YgY3NzIHRhYmxl
cyhkaXNwbGF5OnRhYmxlKQorICAgICAgICB0aGUgY29tcHV0ZWQgaGVpZ2h0IHdhcyBub3QgYmVp
bmcgbGltaXRlZCBieSB0aGUgbWF4LWhlaWdodCBwcm9wZXJ0eS4gVGhlIGN1cnJlbnQgcGF0Y2gg
Zml4ZWQgdGhpcyBpc3N1ZS4KKworICAgICAgICBUZXN0OiBmYXN0L3RhYmxlL2Nzcy10YWJsZS1t
YXgtaGVpZ2h0Lmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZTo6Y29udmVydFN0eWxlTG9naWNhbEhlaWdodFRv
Q29tcHV0ZWRIZWlnaHQpOgorICAgICAgICAgSGVscGVyIGZ1bmN0aW9uIHRvIGNvbXB1dGUgaGVp
Z2h0IGZyb20gdGhlIGdpdmVuIHN0eWxlIGhlaWdodC4KKyAgICAgICAgIFRoZSBmdW5jdGlvbiBo
YXMgY29kZSB0byBoYW5kbGUgc3R5bGUgaGVpZ2h0IG9mIHR5cGUgZml4ZWQsIHBlcmNlbnQgYW5k
IHZpZXdwb3J0IHBlcmNlbnQuCisgICAgICAgICBBcyBoZWlnaHQgb2YgdHlwZSAnY2FsY3VsYXRl
ZCcgZ2V0cyBpbnRlcm5hbGx5IHJlc29sdmVkIHRvIGVpdGhlciB0eXBlIGZpeGVkIG9yIHBlcmNl
bnQKKyAgICAgICAgIHRoZXJlIGlzIG5vIHNwZWNpYWwgY29kZSBoYW5kbGluZyB0aGUgc2FtZS4K
KworICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZTo6bGF5
b3V0KToKKyAgICAgICAgIExvZ2ljIHRvIGNvbXB1dGUgdGhlIGxvZ2ljYWwgaGVpZ2h0IG9mIGFu
IGVsZW1lbnQgc3VjaCB0aGF0IGl0IGRvZXMgbm90IGV4Y2VlZCB0aGUgbWF4LWhlaWdodCB2YWx1
ZSBnaXZlbiB0aGF0CisgICAgICAgICBtaW4td2lkdGggPCBDb250ZW50IGhlaWdodCA8IG1heC1o
ZWlnaHQsIHdoZW4gbWluLWhlaWdodCA8IG1heC1oZWlnaHQuCisgICAgICAgICBIb3dldmVyIG1h
eC1oZWlnaHQgdmFsdWUgaXMgbm90IHJlc3BlY3RlZCBpZiBlaXRoZXIgbWluLWhlaWdodCA+IG1h
eC1oZWlnaHQgb3IgQ29udGVudCBoZWlnaHQgPiBtYXgtaGVpZ2h0LgorCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclRhYmxlLmg6CisgICAgICAgIChSZW5kZXJUYWJsZSk6CisgICAgICAgICBG
dW5jdGlvbiBkZWZpbml0aW9uIGZvciB0aGUgbmV3bHkgYWRkIGZ1bmN0aW9uIGNvbnZlcnRTdHls
ZUxvZ2ljYWxIZWlnaHRUb0NvbXB1dGVkSGVpZ2h0KCkuCisKIDIwMTItMTEtMTIgIEpvZSBNYXNv
biAgPGptYXNvbkByaW0uY29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBOZXR3b3JrSm9iIHNo
b3VsZCBub3QgY2hlY2sgaWYgZGF0YSBpcyByZWNlaXZlZCB3aXRoIEhFQUQKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcAkocmV2aXNpb24gMTM0MzQ5KQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzI2LDYgKzMyNiwyOCBAQCBMYXlvdXRVbml0IFJlbmRlclRhYmxlOjpjb252ZXJ0U3R5bGVM
b2dpCiAgICAgcmV0dXJuIG1pbmltdW1WYWx1ZUZvckxlbmd0aChzdHlsZUxvZ2ljYWxXaWR0aCwg
YXZhaWxhYmxlV2lkdGgsIHZpZXcoKSkgKyBib3JkZXJzOwogfQogCitMYXlvdXRVbml0IFJlbmRl
clRhYmxlOjpjb252ZXJ0U3R5bGVMb2dpY2FsSGVpZ2h0VG9Db21wdXRlZEhlaWdodChjb25zdCBM
ZW5ndGgmIHN0eWxlTG9naWNhbEhlaWdodCkKK3sKKyAgICBMYXlvdXRVbml0IGNvbXB1dGVkTG9n
aWNhbEhlaWdodCA9IDA7CisgICAgaWYgKHN0eWxlTG9naWNhbEhlaWdodC5pc0ZpeGVkKCkpIHsK
KyAgICAgICAgLy8gSFRNTCB0YWJsZXMgc2l6ZSBhcyB0aG91Z2ggQ1NTIGhlaWdodCBpbmNsdWRl
cyBib3JkZXIvcGFkZGluZywgQ1NTIHRhYmxlcyBkbyBub3QuCisgICAgICAgIExheW91dFVuaXQg
Ym9yZGVycyA9IExheW91dFVuaXQoKTsKKyAgICAgICAgLy8gRklYTUU6IFdlIGNhbm5vdCBhcHBs
eSBib3gtc2l6aW5nOiBjb250ZW50LWJveCBvbiA8dGFibGU+IHdoaWNoIG90aGVyIGJyb3dzZXJz
IGFsbG93LgorICAgICAgICBpZiAoKG5vZGUoKSAmJiBub2RlKCktPmhhc1RhZ05hbWUodGFibGVU
YWcpKSB8fCBzdHlsZSgpLT5ib3hTaXppbmcoKSA9PSBCT1JERVJfQk9YKSB7CisgICAgICAgICAg
ICBMYXlvdXRVbml0IGJvcmRlckFuZFBhZGRpbmdCZWZvcmUgPSBib3JkZXJCZWZvcmUoKSArIChj
b2xsYXBzZUJvcmRlcnMoKSA/IExheW91dFVuaXQoKSA6IHBhZGRpbmdCZWZvcmUoKSk7CisgICAg
ICAgICAgICBMYXlvdXRVbml0IGJvcmRlckFuZFBhZGRpbmdBZnRlciA9IGJvcmRlckFmdGVyKCkg
KyAoY29sbGFwc2VCb3JkZXJzKCkgPyBMYXlvdXRVbml0KCkgOiBwYWRkaW5nQWZ0ZXIoKSk7Cisg
ICAgICAgICAgICBib3JkZXJzID0gYm9yZGVyQW5kUGFkZGluZ0JlZm9yZSArIGJvcmRlckFuZFBh
ZGRpbmdBZnRlcjsKKyAgICAgICAgfQorICAgICAgICBjb21wdXRlZExvZ2ljYWxIZWlnaHQgPSBz
dHlsZUxvZ2ljYWxIZWlnaHQudmFsdWUoKSAtIGJvcmRlcnM7CisgICAgfSBlbHNlIGlmIChzdHls
ZUxvZ2ljYWxIZWlnaHQuaXNQZXJjZW50KCkpCisgICAgICAgIGNvbXB1dGVkTG9naWNhbEhlaWdo
dCA9IGNvbXB1dGVQZXJjZW50YWdlTG9naWNhbEhlaWdodChzdHlsZUxvZ2ljYWxIZWlnaHQpOwor
ICAgIGVsc2UgaWYgKHN0eWxlTG9naWNhbEhlaWdodC5pc1ZpZXdwb3J0UGVyY2VudGFnZSgpKQor
ICAgICAgICBjb21wdXRlZExvZ2ljYWxIZWlnaHQgPSBtaW5pbXVtVmFsdWVGb3JMZW5ndGgoc3R5
bGVMb2dpY2FsSGVpZ2h0LCAwLCB2aWV3KCkpOworICAgIGVsc2UKKyAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIG1heDxMYXlvdXRVbml0PigwLCBjb21wdXRlZExvZ2lj
YWxIZWlnaHQpOworfQorCiB2b2lkIFJlbmRlclRhYmxlOjpsYXlvdXRDYXB0aW9uKFJlbmRlclRh
YmxlQ2FwdGlvbiogY2FwdGlvbikKIHsKICAgICBMYXlvdXRSZWN0IGNhcHRpb25SZWN0KGNhcHRp
b24tPmZyYW1lUmVjdCgpKTsKQEAgLTQ0MywxNyArNDY1LDE5IEBAIHZvaWQgUmVuZGVyVGFibGU6
OmxheW91dCgpCiAgICAgICAgIHVwZGF0ZUxvZ2ljYWxIZWlnaHQoKTsKIAogICAgIExlbmd0aCBs
b2dpY2FsSGVpZ2h0TGVuZ3RoID0gc3R5bGUoKS0+bG9naWNhbEhlaWdodCgpOwotICAgIExheW91
dFVuaXQgY29tcHV0ZWRMb2dpY2FsSGVpZ2h0ID0gMDsKLSAgICBpZiAobG9naWNhbEhlaWdodExl
bmd0aC5pc0ZpeGVkKCkpIHsKLSAgICAgICAgLy8gSFRNTCB0YWJsZXMgc2l6ZSBhcyB0aG91Z2gg
Q1NTIGhlaWdodCBpbmNsdWRlcyBib3JkZXIvcGFkZGluZywgQ1NTIHRhYmxlcyBkbyBub3QuCi0g
ICAgICAgIExheW91dFVuaXQgYm9yZGVycyA9IDA7Ci0gICAgICAgIC8vIEZJWE1FOiBXZSBjYW5u
b3QgYXBwbHkgYm94LXNpemluZzogY29udGVudC1ib3ggb24gPHRhYmxlPiB3aGljaCBvdGhlciBi
cm93c2VycyBhbGxvdy4KLSAgICAgICAgaWYgKChub2RlKCkgJiYgbm9kZSgpLT5oYXNUYWdOYW1l
KHRhYmxlVGFnKSkgfHwgc3R5bGUoKS0+Ym94U2l6aW5nKCkgPT0gQk9SREVSX0JPWCkKLSAgICAg
ICAgICAgIGJvcmRlcnMgPSBib3JkZXJBbmRQYWRkaW5nQmVmb3JlICsgYm9yZGVyQW5kUGFkZGlu
Z0FmdGVyOwotICAgICAgICBjb21wdXRlZExvZ2ljYWxIZWlnaHQgPSBsb2dpY2FsSGVpZ2h0TGVu
Z3RoLnZhbHVlKCkgLSBib3JkZXJzOwotICAgIH0gZWxzZSBpZiAobG9naWNhbEhlaWdodExlbmd0
aC5pc1BlcmNlbnQoKSkKLSAgICAgICAgY29tcHV0ZWRMb2dpY2FsSGVpZ2h0ID0gY29tcHV0ZVBl
cmNlbnRhZ2VMb2dpY2FsSGVpZ2h0KGxvZ2ljYWxIZWlnaHRMZW5ndGgpOwotICAgIGNvbXB1dGVk
TG9naWNhbEhlaWdodCA9IG1heDxMYXlvdXRVbml0PigwLCBjb21wdXRlZExvZ2ljYWxIZWlnaHQp
OworICAgIExheW91dFVuaXQgY29tcHV0ZWRMb2dpY2FsSGVpZ2h0ID0gY29udmVydFN0eWxlTG9n
aWNhbEhlaWdodFRvQ29tcHV0ZWRIZWlnaHQobG9naWNhbEhlaWdodExlbmd0aCk7CisgICAgCisg
ICAgTGVuZ3RoIGxvZ2ljYWxNYXhIZWlnaHRMZW5ndGggPSBzdHlsZSgpLT5sb2dpY2FsTWF4SGVp
Z2h0KCk7CisgICAgaWYgKGxvZ2ljYWxNYXhIZWlnaHRMZW5ndGguaXNTcGVjaWZpZWQoKSAmJiAh
bG9naWNhbE1heEhlaWdodExlbmd0aC5pc05lZ2F0aXZlKCkpIHsKKyAgICAgICAgTGF5b3V0VW5p
dCBjb21wdXRlZE1heExvZ2ljYWxIZWlnaHQgPSBjb252ZXJ0U3R5bGVMb2dpY2FsSGVpZ2h0VG9D
b21wdXRlZEhlaWdodChsb2dpY2FsTWF4SGVpZ2h0TGVuZ3RoKTsKKyAgICAgICAgY29tcHV0ZWRM
b2dpY2FsSGVpZ2h0ID0gbWluKGNvbXB1dGVkTG9naWNhbEhlaWdodCwgY29tcHV0ZWRNYXhMb2dp
Y2FsSGVpZ2h0KTsKKyAgICB9CisKKyAgICBMZW5ndGggbG9naWNhbE1pbkhlaWdodExlbmd0aCA9
IHN0eWxlKCktPmxvZ2ljYWxNaW5IZWlnaHQoKTsKKyAgICBpZiAobG9naWNhbE1pbkhlaWdodExl
bmd0aC5pc1NwZWNpZmllZCgpICYmICFsb2dpY2FsTWluSGVpZ2h0TGVuZ3RoLmlzTmVnYXRpdmUo
KSkgeworICAgICAgICBMYXlvdXRVbml0IGNvbXB1dGVkTWluTG9naWNhbEhlaWdodCA9IGNvbnZl
cnRTdHlsZUxvZ2ljYWxIZWlnaHRUb0NvbXB1dGVkSGVpZ2h0KGxvZ2ljYWxNaW5IZWlnaHRMZW5n
dGgpOworICAgICAgICBjb21wdXRlZExvZ2ljYWxIZWlnaHQgPSBtYXgoY29tcHV0ZWRMb2dpY2Fs
SGVpZ2h0LCBjb21wdXRlZE1pbkxvZ2ljYWxIZWlnaHQpOworICAgIH0KIAogICAgIGRpc3RyaWJ1
dGVFeHRyYUxvZ2ljYWxIZWlnaHQoZmxvb3JUb0ludChjb21wdXRlZExvZ2ljYWxIZWlnaHQgLSB0
b3RhbFNlY3Rpb25Mb2dpY2FsSGVpZ2h0KSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUYWJsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUYWJsZS5oCShyZXZpc2lvbiAxMzQzNDkpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjkxLDYgKzI5MSw3IEBAIHBy
aXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUxvZ2ljYWxXaWR0aCgpIE9WRVJSSURFOwog
CiAgICAgTGF5b3V0VW5pdCBjb252ZXJ0U3R5bGVMb2dpY2FsV2lkdGhUb0NvbXB1dGVkV2lkdGgo
Y29uc3QgTGVuZ3RoJiBzdHlsZUxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCBhdmFpbGFibGVXaWR0
aCk7CisgICAgTGF5b3V0VW5pdCBjb252ZXJ0U3R5bGVMb2dpY2FsSGVpZ2h0VG9Db21wdXRlZEhl
aWdodChjb25zdCBMZW5ndGgmIHN0eWxlTG9naWNhbEhlaWdodCk7CiAKICAgICB2aXJ0dWFsIExh
eW91dFJlY3Qgb3ZlcmZsb3dDbGlwUmVjdChjb25zdCBMYXlvdXRQb2ludCYgbG9jYXRpb24sIFJl
bmRlclJlZ2lvbiosIE92ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5ID0gSWdub3JlT3Zlcmxh
eVNjcm9sbGJhclNpemUpOwogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzQzNjYpCisrKyBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0xMS0x
MiAgUHJhdmluIEQgIDxwcmF2aW5kLjJrNEBnbWFpbC5jb20+CisKKyAgICAgICAgbWF4LWhlaWdo
dCBwcm9wZXJ0eSBpcyBkb2VzIG5vdCBvdmVycmlkaW5nIHRoZSBoZWlnaHQgcHJvcGVydGllcyBm
b3IgY3NzIHRhYmxlcyhkaXNwbGF5OnRhYmxlKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg2MzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvdGFibGUvY3NzLXRhYmxlLW1heC1oZWlnaHQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RhYmxlL2Nzcy10YWJsZS1tYXgtaGVp
Z2h0Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTExLTEwICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtp
dC5vcmc+CiAKICAgICAgICAgQmFzaWNTaGFwZXMgJ2NpcmNsZScsICdyZWN0YW5nbGUnLCAnZWxs
aXBzZScgc2hvdWxkIGJlIGFuaW1hdGFibGUgd2l0aCB0aGVtc2VsdmVzCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L3RhYmxlL2Nzcy10YWJsZS1tYXgtaGVpZ2h0LWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2Nzcy10YWJsZS1tYXgtaGVpZ2h0LWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGFibGUvY3NzLXRhYmxl
LW1heC1oZWlnaHQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMwIEBACitU
ZXN0Y2FzZSBmb3IgQnVnIGh0dHA6Ly93a2J1Zy5jb20vOTg2MzMuIFRoZSB0ZXN0Y2FzZSBjaGVj
a3MgaWYgdGhlIGhlaWdodCBvZiBhIGNzcyB0YWJsZSBkb2VzIG5vdCBleGNlZWQgdGhlIG1heC1o
ZWlnaHQgdmFsdWUuIFRoZSBoZWlnaHQgb2YgdGhlIHRhYmxlIGNhbiBiZSBncmVhdGVyIHRoYW4g
bWF4LWhlaWdodCB2YWx1ZSB3aGVuIGVpdGhlciBtaW4taGVpZ2h0IGlzIGdyZWF0ZXIgdGhhbiBt
YXgtaGVpZ2h0IG9yIGNvbXB1dGVkIGhlaWdodCBvZiB0aGUgY29udGVudCBpcyBncmVhdGVyIHRo
YW4gdGhlIG1heC1oZWlnaHQuCisKK1RoaXMgc3ViLXRlc3QgY2hlY2tzIHRoYXQgd2hlbiBtaW4t
aGVpZ2h0IGlzIGxlc3NlciB0aGFuIG1heC1oZWlnaHQsIG1heC1oZWlnaHQgaXMgYXBwbGllZCB0
byBhIHRhYmxlIHdpdGggYXV0byBsYXlvdXQuCitQQVNTCitUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0
aGF0IHdoZW4gbWluLWhlaWdodCBpcyBncmVhdGVyIHRoYW4gbWF4LWhlaWdodCwgbWluLWhlaWdo
dCBpcyBhcHBsaWVkIHRvIGEgdGFibGUgd2l0aCBhdXRvIGxheW91dC4KK1BBU1MKK1RoaXMgc3Vi
LXRlc3QgY2hlY2tzIHRoYXQgbWF4LWhlaWdodCB3aXRoIGZpeGVkIHZhbHVlIGlzIGFwcGxpZWQg
dG8gYSB0YWJsZSB3aXRoIGF1dG8gbGF5b3V0LgorUEFTUworVGhpcyBzdWItdGVzdCBjaGVja3Mg
dGhhdCBtYXgtaGVpZ2h0IHdpdGggcGVyY2VudCB2YWx1ZSBpcyBhcHBsaWVkIHRvIGEgdGFibGUg
d2l0aCBhdXRvIGxheW91dC4KK1BBU1MKK1RoaXMgc3ViLXRlc3QgY2hlY2tzIHRoYXQgbWF4LWhl
aWdodCB3aXRoIHZpZXdwb3J0IHBlcmNlbnQgaGVpZ2h0IHZhbHVlIGlzIGFwcGxpZWQgdG8gYSB0
YWJsZSB3aXRoIGF1dG8gbGF5b3V0LgorUEFTUworVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCBt
YXgtaGVpZ2h0IHdpdGggdmlld3BvcnQgcGVyY2VudCB3aWR0aCB2YWx1ZSBpcyBhcHBsaWVkIHRv
IGEgdGFibGUgd2l0aCBhdXRvIGxheW91dC4KK1BBU1MKK1RoaXMgc3ViLXRlc3QgY2hlY2tzIHRo
YXQgd2hlbiBjb250ZW50IGhlaWdodCBpcyBncmVhdGVyIHRoYW4gbWF4LWhlaWdodCwgY29udGVu
dCBoZWlnaHQgaXMgYXBwbGllZCB0byB0aGUgdGFibGUgd2l0aCBhdXRvIGxheW91dC4KK1BBU1MK
K1RoaXMgc3ViLXRlc3QgY2hlY2tzIHRoYXQgd2hlbiBtaW4taGVpZ2h0IGlzIGxlc3NlciB0aGFu
IG1heC1oZWlnaHQsIG1heC1oZWlnaHQgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggZml4ZWQg
bGF5b3V0LgorUEFTUworVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCB3aGVuIG1pbi1oZWlnaHQg
aXMgZ3JlYXRlciB0aGFuIG1heC1oZWlnaHQsIG1pbi1oZWlnaHQgaXMgYXBwbGllZCB0byBhIHRh
YmxlIHdpdGggZml4ZWQgbGF5b3V0LgorUEFTUworVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCBt
YXgtaGVpZ2h0IHdpdGggZml4ZWQgdmFsdWUgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggZml4
ZWQgbGF5b3V0LgorUEFTUworVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCBtYXgtaGVpZ2h0IHdp
dGggcGVyY2VudCB2YWx1ZSBpcyBhcHBsaWVkIHRvIGEgdGFibGUgd2l0aCBmaXhlZCBsYXlvdXQu
CitQQVNTCitUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IG1heC1oZWlnaHQgd2l0aCB2aWV3cG9y
dCBwZXJjZW50IGhlaWdodCB2YWx1ZSBpcyBhcHBsaWVkIHRvIGEgdGFibGUgd2l0aCBmaXhlZCBs
YXlvdXQuCitQQVNTCitUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IG1heC1oZWlnaHQgd2l0aCB2
aWV3cG9ydCBwZXJjZW50IHdpZHRoIHZhbHVlIGlzIGFwcGxpZWQgdG8gYSB0YWJsZSB3aXRoIGZp
eGVkIGxheW91dC4KK1BBU1MKK1RoaXMgc3ViLXRlc3QgY2hlY2tzIHRoYXQgd2hlbiBjb250ZW50
IGhlaWdodCBpcyBncmVhdGVyIHRoYW4gbWF4LWhlaWdodCwgY29udGVudCBoZWlnaHQgaXMgYXBw
bGllZCB0byBhIHRhYmxlIHdpdGggZml4ZWQgbGF5b3V0LgorUEFTUwpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC90YWJsZS9jc3MtdGFibGUtbWF4LWhlaWdodC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvdGFibGUvY3NzLXRhYmxlLW1heC1oZWlnaHQuaHRtbAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGFibGUvY3NzLXRhYmxlLW1heC1oZWlnaHQuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisuY29udGFpbmVyCit7CisgICAgd2lkdGg6
MzAwcHg7CisgICAgaGVpZ2h0OjQwMHB4OworICAgIGZvbnQtZmFtaWx5OmFoZW07CisgICAgYmFj
a2dyb3VuZC1jb2xvcjojOTk5OTk5OworfQorCisuY2hpbGQKK3sKKyAgICBkaXNwbGF5OnRhYmxl
OworICAgIGhlaWdodDoxMDAlOworICAgIGJhY2tncm91bmQtY29sb3I6Z3JlZW47Cit9CisuZml4
ZWQtdGFibGUKK3sKKyAgICB0YWJsZS1sYXlvdXQ6Zml4ZWQ7Cit9Cis8L3N0eWxlPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jaGVjay1sYXlvdXQuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgb25sb2FkPSJjaGVja0xheW91dCgnLmNoaWxkJykiPgorPGRpdj4gVGVzdGNhc2Ug
Zm9yIEJ1ZyA8YSBocmVmPSJodHRwOi8vd2tidWcuY29tLzk4NjMzIj5odHRwOi8vd2tidWcuY29t
Lzk4NjMzPC9hPi4gVGhlIHRlc3RjYXNlIGNoZWNrcyBpZiB0aGUgaGVpZ2h0IG9mIGEgCitjc3Mg
dGFibGUgZG9lcyBub3QgZXhjZWVkIHRoZSBtYXgtaGVpZ2h0IHZhbHVlLiBUaGUgaGVpZ2h0IG9m
IHRoZSB0YWJsZSBjYW4gYmUgZ3JlYXRlciB0aGFuIG1heC1oZWlnaHQgdmFsdWUgd2hlbiBlaXRo
ZXIKK21pbi1oZWlnaHQgaXMgZ3JlYXRlciB0aGFuIG1heC1oZWlnaHQgb3IgY29tcHV0ZWQgaGVp
Z2h0IG9mIHRoZSBjb250ZW50IGlzIGdyZWF0ZXIgdGhhbiB0aGUgbWF4LWhlaWdodC4KKzwvZGl2
PgorPGJyPgorPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IGlkPSJtYXhHcmVhdFRo
YW5NaW5IZWlnaHRBdXRvTGF5b3V0IiBjbGFzcz0iY2hpbGQiIHN0eWxlPSJtaW4taGVpZ2h0OjEw
MHB4OyBtYXgtaGVpZ2h0OjIwMHB4OyIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MjAwPgorICAgICAg
ICBUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IHdoZW4gbWluLWhlaWdodCBpcyBsZXNzZXIgdGhh
biBtYXgtaGVpZ2h0LCBtYXgtaGVpZ2h0IGlzIGFwcGxpZWQgdG8gYSB0YWJsZSB3aXRoIGF1dG8g
bGF5b3V0LgorICAgIDwvZGl2PgorPC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAg
IDxkaXYgY2xhc3M9ImNoaWxkIiBzdHlsZT0ibWluLWhlaWdodDoyMDBweDsgbWF4LWhlaWdodDox
MDBweDsiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTIwMD4KKyAgICAgICAgVGhpcyBzdWItdGVzdCBj
aGVja3MgdGhhdCB3aGVuIG1pbi1oZWlnaHQgaXMgZ3JlYXRlciB0aGFuIG1heC1oZWlnaHQsIG1p
bi1oZWlnaHQgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggYXV0byBsYXlvdXQuCisgICAgPC9k
aXY+Cis8L2Rpdj4KKzxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0iY2hp
bGQiIHN0eWxlPSJtYXgtaGVpZ2h0OjIwMHB4OyIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MjAwPgor
ICAgICAgICBUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IG1heC1oZWlnaHQgd2l0aCBmaXhlZCB2
YWx1ZSBpcyBhcHBsaWVkIHRvIGEgdGFibGUgd2l0aCBhdXRvIGxheW91dC4KKyAgICA8L2Rpdj4K
KzwvZGl2PgorPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IGNsYXNzPSJjaGlsZCIg
c3R5bGU9Im1heC1oZWlnaHQ6NTAlOyIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MjAwPgorICAgICAg
ICBUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IG1heC1oZWlnaHQgd2l0aCBwZXJjZW50IHZhbHVl
IGlzIGFwcGxpZWQgdG8gYSB0YWJsZSB3aXRoIGF1dG8gbGF5b3V0LgorICAgIDwvZGl2PgorPC9k
aXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImNoaWxkIiBzdHls
ZT0ibWF4LWhlaWdodDo1MHZoOyIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MzAwPgorICAgICAgICBU
aGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IG1heC1oZWlnaHQgd2l0aCB2aWV3cG9ydCBwZXJjZW50
IGhlaWdodCB2YWx1ZSBpcyBhcHBsaWVkIHRvIGEgdGFibGUgd2l0aCBhdXRvIGxheW91dC4KKyAg
ICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IGNsYXNz
PSJjaGlsZCIgc3R5bGU9Im1heC1oZWlnaHQ6MjV2dzsiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTIw
MD4KKyAgICAgICAgVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCBtYXgtaGVpZ2h0IHdpdGggdmll
d3BvcnQgcGVyY2VudCB3aWR0aCB2YWx1ZSBpcyBhcHBsaWVkIHRvIGEgdGFibGUgd2l0aCBhdXRv
IGxheW91dC4KKyAgICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAg
ICA8ZGl2IGNsYXNzPSJjaGlsZCIgc3R5bGU9Im1heC1oZWlnaHQ6MTAwcHg7IiBkYXRhLWV4cGVj
dGVkLWhlaWdodD0xMjg+CisgICAgICAgIFRoaXMgc3ViLXRlc3QgY2hlY2tzIHRoYXQgd2hlbiBj
b250ZW50IGhlaWdodCBpcyBncmVhdGVyIHRoYW4gbWF4LWhlaWdodCwgY29udGVudCBoZWlnaHQg
aXMgYXBwbGllZCB0byB0aGUgdGFibGUgd2l0aCBhdXRvIGxheW91dC4KKyAgICA8L2Rpdj4KKzwv
ZGl2PgorPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IGNsYXNzPSJjaGlsZCBmaXhl
ZC10YWJsZSIgc3R5bGU9Im1pbi1oZWlnaHQ6MTAwcHg7IG1heC1oZWlnaHQ6MjAwcHg7IiBkYXRh
LWV4cGVjdGVkLWhlaWdodD0yMDA+CisgICAgICAgIFRoaXMgc3ViLXRlc3QgY2hlY2tzIHRoYXQg
d2hlbiBtaW4taGVpZ2h0IGlzIGxlc3NlciB0aGFuIG1heC1oZWlnaHQsIG1heC1oZWlnaHQgaXMg
YXBwbGllZCB0byBhIHRhYmxlIHdpdGggZml4ZWQgbGF5b3V0LgorICAgIDwvZGl2PgorPC9kaXY+
Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImNoaWxkIGZpeGVkLXRh
YmxlIiBzdHlsZT0ibWluLWhlaWdodDoyMDBweDsgbWF4LWhlaWdodDoxMDBweDsiIGRhdGEtZXhw
ZWN0ZWQtaGVpZ2h0PTIwMD4KKyAgICAgICAgVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCB3aGVu
IG1pbi1oZWlnaHQgaXMgZ3JlYXRlciB0aGFuIG1heC1oZWlnaHQsIG1pbi1oZWlnaHQgaXMgYXBw
bGllZCB0byBhIHRhYmxlIHdpdGggZml4ZWQgbGF5b3V0LgorICAgIDwvZGl2PgorPC9kaXY+Cis8
ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImNoaWxkIGZpeGVkLXRhYmxl
IiBzdHlsZT0ibWF4LWhlaWdodDoyMDBweDsiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTIwMD4KKyAg
ICAgICAgVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCBtYXgtaGVpZ2h0IHdpdGggZml4ZWQgdmFs
dWUgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggZml4ZWQgbGF5b3V0LgorICAgIDwvZGl2Pgor
PC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImNoaWxkIGZp
eGVkLXRhYmxlIiBzdHlsZT0ibWF4LWhlaWdodDo1MCU7IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0y
MDA+CisgICAgICAgIFRoaXMgc3ViLXRlc3QgY2hlY2tzIHRoYXQgbWF4LWhlaWdodCB3aXRoIHBl
cmNlbnQgdmFsdWUgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggZml4ZWQgbGF5b3V0LgorICAg
IDwvZGl2PgorPC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9
ImNoaWxkIGZpeGVkLXRhYmxlIiBzdHlsZT0ibWF4LWhlaWdodDo1MHZoOyIgZGF0YS1leHBlY3Rl
ZC1oZWlnaHQ9MzAwPgorICAgICAgICBUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IG1heC1oZWln
aHQgd2l0aCB2aWV3cG9ydCBwZXJjZW50IGhlaWdodCB2YWx1ZSBpcyBhcHBsaWVkIHRvIGEgdGFi
bGUgd2l0aCBmaXhlZCBsYXlvdXQuCisgICAgPC9kaXY+Cis8L2Rpdj4KKzxkaXYgY2xhc3M9ImNv
bnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0iY2hpbGQgZml4ZWQtdGFibGUiIHN0eWxlPSJtYXgt
aGVpZ2h0OjI1dnc7IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0yMDA+CisgICAgICAgIFRoaXMgc3Vi
LXRlc3QgY2hlY2tzIHRoYXQgbWF4LWhlaWdodCB3aXRoIHZpZXdwb3J0IHBlcmNlbnQgd2lkdGgg
dmFsdWUgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggZml4ZWQgbGF5b3V0LgorICAgIDwvZGl2
PgorPC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImNoaWxk
IGZpeGVkLXRhYmxlIiBzdHlsZT0ibWF4LWhlaWdodDoxMDBweDsiIGRhdGEtZXhwZWN0ZWQtaGVp
Z2h0PTEyOD4KKyAgICAgICAgVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCB3aGVuIGNvbnRlbnQg
aGVpZ2h0IGlzIGdyZWF0ZXIgdGhhbiBtYXgtaGVpZ2h0LCBjb250ZW50IGhlaWdodCBpcyBhcHBs
aWVkIHRvIGEgdGFibGUgd2l0aCBmaXhlZCBsYXlvdXQuCisgICAgPC9kaXY+Cis8L2Rpdj4KKzxi
b2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>175167</attachid>
            <date>2012-11-20 00:29:38 -0800</date>
            <delta_ts>2012-11-20 00:29:38 -0800</delta_ts>
            <desc>TestCase with content height &gt; max-height</desc>
            <filename>test_table_new.html</filename>
            <type>text/html</type>
            <size>1818</size>
            <attacher name="Pravin D">pravind.2k4</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCjxoZWFkPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4N
Ci5jb250YWluZXINCnsNCiAgICB3aWR0aDozMDBweDsNCiAgICBoZWlnaHQ6NDAwcHg7DQogICAg
Zm9udC1mYW1pbHk6YWhlbTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiM5OTk5OTk7DQp9DQoNCi5j
aGlsZA0Kew0KICAgIGRpc3BsYXk6dGFibGU7DQogICAgaGVpZ2h0OjEwMCU7DQogICAgYmFja2dy
b3VuZC1jb2xvcjpncmVlbjsNCiAgICBtYXgtaGVpZ2h0OjEwMHB4Ow0KfQ0KLmZpeGVkLXRhYmxl
DQp7DQogICAgdGFibGUtbGF5b3V0OmZpeGVkOw0KfQ0KLmluZm8gew0KYmFja2dyb3VuZC1jb2xv
cjp5ZWxsb3c7DQp9DQo8L3N0eWxlPg0KPHNjcmlwdD4NCmZ1bmN0aW9uIHByaW50SGVpZ2h0KCkg
ew0KdmFyIHRlc3RFbGVtcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImluZm8i
KTsNCmZvcih2YXIgaT0wOyBpPDI7aSsrKSB7DQogICAgZWxlbSA9IHRlc3RFbGVtc1tpXTsNCiAg
ICB2YXIgcHJlU2liID0gZWxlbS5wcmV2aW91c0VsZW1lbnRTaWJsaW5nLnByZXZpb3VzRWxlbWVu
dFNpYmxpbmc7DQogICAgdmFyIGh0ID0gcHJlU2liLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhl
aWdodDsNCg0KICAgIGlmKGVsZW0udGV4dENvbnRlbnQpDQogICAgICAgIGVsZW0udGV4dENvbnRl
bnQgKz0gJyAnICsgaHQgKyAncHgnOw0KICAgIGVsc2UgaWYoZWxlbS5pbm5lclRleHQpICAgIA0K
ICAgICAgICBlbGVtLmlubmVyVGV4dCArPSAnICcgKyBodCArICdweCc7DQogICAgfQ0KfQ0KPC9z
Y3JpcHQ+DQo8L2hlYWQ+DQo8Ym9keSBvbmxvYWQ9InByaW50SGVpZ2h0KCk7Ij4NCjxkaXYgY2xh
c3M9ImNvbnRhaW5lciI+DQogICAgPGRpdiBjbGFzcz0iY2hpbGQiPg0KICAgICAgICBUaGlzIHN1
Yi10ZXN0IGNoZWNrcyB0aGF0IHdoZW4gY29udGVudCBoZWlnaHQgaXMgZ3JlYXRlciB0aGFuIG1h
eC1oZWlnaHQsIGNvbnRlbnQgaGVpZ2h0IGlzIGFwcGxpZWQgdG8gdGhlIHRhYmxlIHdpdGggYXV0
byBsYXlvdXQuDQogICAgICAgIDxicj48YnI+PGJyPkZJTExFUiBURVhUIFRPIElOQ1JFQVNFIENP
TlRFTlQgSEVJR0hULg0KICAgIDwvZGl2Pg0KICAgIDxicj4NCiAgICA8ZGl2IGNsYXNzPSJpbmZv
Ij5UaGUgYWJvdmUgdGFibGUoYXV0byB0YWJsZSBsYXlvdXQpIGhhcyBtYXgtaGVpZ2h0OjEwMHB4
IGFuZCBoZWlnaHQ6MTAwJS4gSXRzIGNvbnRhaW5lciANCiAgICBoYXMgaGVpZ2h0IDQwMHB4LiBU
aGUgdGFibGVzIGNvbXB1dGVkIGhlaWdodCBpczogIDwvZGl2Pg0KPC9kaXY+DQo8YnI+DQo8YnI+
DQo8YnI+DQo8YnI+DQo8YnI+DQo8YnI+DQo8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgIDxk
aXYgY2xhc3M9ImNoaWxkIGZpeGVkLXRhYmxlIj4NCiAgICAgICAgVGhpcyBzdWItdGVzdCBjaGVj
a3MgdGhhdCB3aGVuIGNvbnRlbnQgaGVpZ2h0IGlzIGdyZWF0ZXIgdGhhbiBtYXgtaGVpZ2h0LCBj
b250ZW50IGhlaWdodCBpcyBhcHBsaWVkIHRvIGEgdGFibGUgd2l0aCBmaXhlZCBsYXlvdXQuDQog
ICAgICAgIDxicj48YnI+PGJyPkZJTExFUiBURVhUIFRPIElOQ1JFQVNFIENPTlRFTlQgSEVJR0hU
Lg0KICAgIDwvZGl2Pg0KICAgIDxicj4NCiAgICA8ZGl2IGNsYXNzPSJpbmZvIj5UaGUgYWJvdmUg
dGFibGUoZml4ZWQgdGFibGUgbGF5b3V0KSBoYXMgbWF4LWhlaWdodDoxMDBweCBhbmQgaGVpZ2h0
OjEwMCUuIEl0cyBjb250YWluZXIgDQogICAgaGFzIGhlaWdodCA0MDBweC4gVGhlIHRhYmxlcyBj
b21wdXRlZCBoZWlnaHQgaXM6ICA8L2Rpdj4NCjwvZGl2Pg0KPGJvZHk+DQo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175179</attachid>
            <date>2012-11-20 03:19:16 -0800</date>
            <delta_ts>2012-11-23 09:53:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98633-20121120165057.patch</filename>
            <type>text/plain</type>
            <size>13877</size>
            <attacher name="Pravin D">pravind.2k4</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNTI2NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEyLTExLTIwICBQcmF2aW4g
RCAgPHByYXZpbmQuMms0QGdtYWlsLmNvbT4KKworICAgICAgICBtYXgtaGVpZ2h0IHByb3BlcnR5
IG5vdCByZXNwZWN0ZWQgaW4gY2FzZSBvZiB0YWJsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4NjMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIG1heC1oZWlnaHQgcHJvcGVydHkgZGV0ZXJtaW5l
cyB0aGUgbWF4aW11bSBjb21wdXRlZCBoZWlnaHQgYW4gZWxlbWVudCBjYW4gaGF2ZS4gSW4gY2Fz
ZSBvZiB0YWJsZXMKKyAgICAgICAgdGhlIGNvbXB1dGVkIGhlaWdodCB3YXMgbm90IGJlaW5nIGxp
bWl0ZWQgYnkgdGhlIG1heC1oZWlnaHQgcHJvcGVydHkuIFRoZSBjdXJyZW50IHBhdGNoIGZpeGVz
IHRoZSBzYW1lLgorCisgICAgICAgIFRlc3Q6IGZhc3QvdGFibGUvY3NzLXRhYmxlLW1heC1oZWln
aHQuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRhYmxlOjpjb252ZXJ0U3R5bGVMb2dpY2FsSGVpZ2h0VG9Db21wdXRl
ZEhlaWdodCk6CisgICAgICAgICAgSGVscGVyIGZ1bmN0aW9uIHRvIGNvbXB1dGUgaGVpZ2h0IGZy
b20gdGhlIGdpdmVuIHN0eWxlIGhlaWdodC4KKyAgICAgICAgICBUaGlzIGZ1bmN0aW9uIGhhbmRs
ZXMgc3R5bGUgaGVpZ2h0IG9mIHR5cGUgZml4ZWQsIHBlcmNlbnQgYW5kIHZpZXdwb3J0IHBlcmNl
bnQuCisgICAgICAgICAgQXMgaGVpZ2h0IG9mIHR5cGUgJ2NhbGN1bGF0ZWQnIGdldHMgaW50ZXJu
YWxseSByZXNvbHZlZCB0byBlaXRoZXIgZml4ZWQgb3IgcGVyY2VudAorICAgICAgICAgIHRoZXJl
IGlzIG5vIHNwZWNpYWwgaGFuZGxpbmcgcmVxdWlyZWQgZm9yIHRoZSBzYW1lLgorCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlOjpsYXlvdXQpOgorICAg
ICAgICAgIExvZ2ljIHRvIGNvbXB1dGUgdGhlIGxvZ2ljYWwgaGVpZ2h0IG9mIGFuIGVsZW1lbnQg
c3VjaCB0aGF0IGl0IGRvZXMgbm90IGV4Y2VlZCB0aGUgbWF4LWhlaWdodCB2YWx1ZSBnaXZlbiB0
aGF0CisgICAgICAgICAgbWluLXdpZHRoIDwgQ29udGVudCBoZWlnaHQgPCBtYXgtaGVpZ2h0LCB3
aGVuIG1pbi1oZWlnaHQgPCBtYXgtaGVpZ2h0LgorICAgICAgICAgIEhvd2V2ZXIgbWF4LWhlaWdo
dCB2YWx1ZSBpcyBub3QgcmVzcGVjdGVkIGlmIGVpdGhlciBtaW4taGVpZ2h0ID4gbWF4LWhlaWdo
dCBvciBDb250ZW50IGhlaWdodCA+IG1heC1oZWlnaHQuCisKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGFibGUuaDoKKyAgICAgICAgKFJlbmRlclRhYmxlKToKKyAgICAgICAgICBGdW5jdGlv
biBkZWZpbml0aW9uIGZvciB0aGUgbmV3bHkgYWRkIGZ1bmN0aW9uIGNvbnZlcnRTdHlsZUxvZ2lj
YWxIZWlnaHRUb0NvbXB1dGVkSGVpZ2h0KCkuCisKIDIwMTItMTEtMjAgIEtlbnRhcm8gSGFyYSAg
PGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtWOF0gUmVtb3ZlIFY4UGFyYW1ldGVy
QmFzZQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCShyZXZp
c2lvbiAxMzUyMzUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMjYsNiArMzI2LDI4IEBAIExheW91dFVuaXQgUmVuZGVyVGFi
bGU6OmNvbnZlcnRTdHlsZUxvZ2kKICAgICByZXR1cm4gbWluaW11bVZhbHVlRm9yTGVuZ3RoKHN0
eWxlTG9naWNhbFdpZHRoLCBhdmFpbGFibGVXaWR0aCwgdmlldygpKSArIGJvcmRlcnM7CiB9CiAK
K0xheW91dFVuaXQgUmVuZGVyVGFibGU6OmNvbnZlcnRTdHlsZUxvZ2ljYWxIZWlnaHRUb0NvbXB1
dGVkSGVpZ2h0KGNvbnN0IExlbmd0aCYgc3R5bGVMb2dpY2FsSGVpZ2h0KQoreworICAgIExheW91
dFVuaXQgY29tcHV0ZWRMb2dpY2FsSGVpZ2h0ID0gMDsKKyAgICBpZiAoc3R5bGVMb2dpY2FsSGVp
Z2h0LmlzRml4ZWQoKSkgeworICAgICAgICAvLyBIVE1MIHRhYmxlcyBzaXplIGFzIHRob3VnaCBD
U1MgaGVpZ2h0IGluY2x1ZGVzIGJvcmRlci9wYWRkaW5nLCBDU1MgdGFibGVzIGRvIG5vdC4KKyAg
ICAgICAgTGF5b3V0VW5pdCBib3JkZXJzID0gTGF5b3V0VW5pdCgpOworICAgICAgICAvLyBGSVhN
RTogV2UgY2Fubm90IGFwcGx5IGJveC1zaXppbmc6IGNvbnRlbnQtYm94IG9uIDx0YWJsZT4gd2hp
Y2ggb3RoZXIgYnJvd3NlcnMgYWxsb3cuCisgICAgICAgIGlmICgobm9kZSgpICYmIG5vZGUoKS0+
aGFzVGFnTmFtZSh0YWJsZVRhZykpIHx8IHN0eWxlKCktPmJveFNpemluZygpID09IEJPUkRFUl9C
T1gpIHsKKyAgICAgICAgICAgIExheW91dFVuaXQgYm9yZGVyQW5kUGFkZGluZ0JlZm9yZSA9IGJv
cmRlckJlZm9yZSgpICsgKGNvbGxhcHNlQm9yZGVycygpID8gTGF5b3V0VW5pdCgpIDogcGFkZGlu
Z0JlZm9yZSgpKTsKKyAgICAgICAgICAgIExheW91dFVuaXQgYm9yZGVyQW5kUGFkZGluZ0FmdGVy
ID0gYm9yZGVyQWZ0ZXIoKSArIChjb2xsYXBzZUJvcmRlcnMoKSA/IExheW91dFVuaXQoKSA6IHBh
ZGRpbmdBZnRlcigpKTsKKyAgICAgICAgICAgIGJvcmRlcnMgPSBib3JkZXJBbmRQYWRkaW5nQmVm
b3JlICsgYm9yZGVyQW5kUGFkZGluZ0FmdGVyOworICAgICAgICB9CisgICAgICAgIGNvbXB1dGVk
TG9naWNhbEhlaWdodCA9IHN0eWxlTG9naWNhbEhlaWdodC52YWx1ZSgpIC0gYm9yZGVyczsKKyAg
ICB9IGVsc2UgaWYgKHN0eWxlTG9naWNhbEhlaWdodC5pc1BlcmNlbnQoKSkKKyAgICAgICAgY29t
cHV0ZWRMb2dpY2FsSGVpZ2h0ID0gY29tcHV0ZVBlcmNlbnRhZ2VMb2dpY2FsSGVpZ2h0KHN0eWxl
TG9naWNhbEhlaWdodCk7CisgICAgZWxzZSBpZiAoc3R5bGVMb2dpY2FsSGVpZ2h0LmlzVmlld3Bv
cnRQZXJjZW50YWdlKCkpCisgICAgICAgIGNvbXB1dGVkTG9naWNhbEhlaWdodCA9IG1pbmltdW1W
YWx1ZUZvckxlbmd0aChzdHlsZUxvZ2ljYWxIZWlnaHQsIDAsIHZpZXcoKSk7CisgICAgZWxzZQor
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gbWF4PExheW91dFVuaXQ+
KDAsIGNvbXB1dGVkTG9naWNhbEhlaWdodCk7Cit9CisKIHZvaWQgUmVuZGVyVGFibGU6OmxheW91
dENhcHRpb24oUmVuZGVyVGFibGVDYXB0aW9uKiBjYXB0aW9uKQogewogICAgIExheW91dFJlY3Qg
Y2FwdGlvblJlY3QoY2FwdGlvbi0+ZnJhbWVSZWN0KCkpOwpAQCAtNDQzLDE3ICs0NjUsMTkgQEAg
dm9pZCBSZW5kZXJUYWJsZTo6bGF5b3V0KCkKICAgICAgICAgdXBkYXRlTG9naWNhbEhlaWdodCgp
OwogCiAgICAgTGVuZ3RoIGxvZ2ljYWxIZWlnaHRMZW5ndGggPSBzdHlsZSgpLT5sb2dpY2FsSGVp
Z2h0KCk7Ci0gICAgTGF5b3V0VW5pdCBjb21wdXRlZExvZ2ljYWxIZWlnaHQgPSAwOwotICAgIGlm
IChsb2dpY2FsSGVpZ2h0TGVuZ3RoLmlzRml4ZWQoKSkgewotICAgICAgICAvLyBIVE1MIHRhYmxl
cyBzaXplIGFzIHRob3VnaCBDU1MgaGVpZ2h0IGluY2x1ZGVzIGJvcmRlci9wYWRkaW5nLCBDU1Mg
dGFibGVzIGRvIG5vdC4KLSAgICAgICAgTGF5b3V0VW5pdCBib3JkZXJzID0gMDsKLSAgICAgICAg
Ly8gRklYTUU6IFdlIGNhbm5vdCBhcHBseSBib3gtc2l6aW5nOiBjb250ZW50LWJveCBvbiA8dGFi
bGU+IHdoaWNoIG90aGVyIGJyb3dzZXJzIGFsbG93LgotICAgICAgICBpZiAoKG5vZGUoKSAmJiBu
b2RlKCktPmhhc1RhZ05hbWUodGFibGVUYWcpKSB8fCBzdHlsZSgpLT5ib3hTaXppbmcoKSA9PSBC
T1JERVJfQk9YKQotICAgICAgICAgICAgYm9yZGVycyA9IGJvcmRlckFuZFBhZGRpbmdCZWZvcmUg
KyBib3JkZXJBbmRQYWRkaW5nQWZ0ZXI7Ci0gICAgICAgIGNvbXB1dGVkTG9naWNhbEhlaWdodCA9
IGxvZ2ljYWxIZWlnaHRMZW5ndGgudmFsdWUoKSAtIGJvcmRlcnM7Ci0gICAgfSBlbHNlIGlmIChs
b2dpY2FsSGVpZ2h0TGVuZ3RoLmlzUGVyY2VudCgpKQotICAgICAgICBjb21wdXRlZExvZ2ljYWxI
ZWlnaHQgPSBjb21wdXRlUGVyY2VudGFnZUxvZ2ljYWxIZWlnaHQobG9naWNhbEhlaWdodExlbmd0
aCk7Ci0gICAgY29tcHV0ZWRMb2dpY2FsSGVpZ2h0ID0gbWF4PExheW91dFVuaXQ+KDAsIGNvbXB1
dGVkTG9naWNhbEhlaWdodCk7CisgICAgTGF5b3V0VW5pdCBjb21wdXRlZExvZ2ljYWxIZWlnaHQg
PSBjb252ZXJ0U3R5bGVMb2dpY2FsSGVpZ2h0VG9Db21wdXRlZEhlaWdodChsb2dpY2FsSGVpZ2h0
TGVuZ3RoKTsKKyAgICAKKyAgICBMZW5ndGggbG9naWNhbE1heEhlaWdodExlbmd0aCA9IHN0eWxl
KCktPmxvZ2ljYWxNYXhIZWlnaHQoKTsKKyAgICBpZiAobG9naWNhbE1heEhlaWdodExlbmd0aC5p
c1NwZWNpZmllZCgpICYmICFsb2dpY2FsTWF4SGVpZ2h0TGVuZ3RoLmlzTmVnYXRpdmUoKSkgewor
ICAgICAgICBMYXlvdXRVbml0IGNvbXB1dGVkTWF4TG9naWNhbEhlaWdodCA9IGNvbnZlcnRTdHls
ZUxvZ2ljYWxIZWlnaHRUb0NvbXB1dGVkSGVpZ2h0KGxvZ2ljYWxNYXhIZWlnaHRMZW5ndGgpOwor
ICAgICAgICBjb21wdXRlZExvZ2ljYWxIZWlnaHQgPSBtaW4oY29tcHV0ZWRMb2dpY2FsSGVpZ2h0
LCBjb21wdXRlZE1heExvZ2ljYWxIZWlnaHQpOworICAgIH0KKworICAgIExlbmd0aCBsb2dpY2Fs
TWluSGVpZ2h0TGVuZ3RoID0gc3R5bGUoKS0+bG9naWNhbE1pbkhlaWdodCgpOworICAgIGlmIChs
b2dpY2FsTWluSGVpZ2h0TGVuZ3RoLmlzU3BlY2lmaWVkKCkgJiYgIWxvZ2ljYWxNaW5IZWlnaHRM
ZW5ndGguaXNOZWdhdGl2ZSgpKSB7CisgICAgICAgIExheW91dFVuaXQgY29tcHV0ZWRNaW5Mb2dp
Y2FsSGVpZ2h0ID0gY29udmVydFN0eWxlTG9naWNhbEhlaWdodFRvQ29tcHV0ZWRIZWlnaHQobG9n
aWNhbE1pbkhlaWdodExlbmd0aCk7CisgICAgICAgIGNvbXB1dGVkTG9naWNhbEhlaWdodCA9IG1h
eChjb21wdXRlZExvZ2ljYWxIZWlnaHQsIGNvbXB1dGVkTWluTG9naWNhbEhlaWdodCk7CisgICAg
fQogCiAgICAgZGlzdHJpYnV0ZUV4dHJhTG9naWNhbEhlaWdodChmbG9vclRvSW50KGNvbXB1dGVk
TG9naWNhbEhlaWdodCAtIHRvdGFsU2VjdGlvbkxvZ2ljYWxIZWlnaHQpKTsKIApJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmgJKHJldmlzaW9uIDEzNTIzNSkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
OTEsNiArMjkxLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlTG9naWNhbFdp
ZHRoKCkgT1ZFUlJJREU7CiAKICAgICBMYXlvdXRVbml0IGNvbnZlcnRTdHlsZUxvZ2ljYWxXaWR0
aFRvQ29tcHV0ZWRXaWR0aChjb25zdCBMZW5ndGgmIHN0eWxlTG9naWNhbFdpZHRoLCBMYXlvdXRV
bml0IGF2YWlsYWJsZVdpZHRoKTsKKyAgICBMYXlvdXRVbml0IGNvbnZlcnRTdHlsZUxvZ2ljYWxI
ZWlnaHRUb0NvbXB1dGVkSGVpZ2h0KGNvbnN0IExlbmd0aCYgc3R5bGVMb2dpY2FsSGVpZ2h0KTsK
IAogICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBvdmVyZmxvd0NsaXBSZWN0KGNvbnN0IExheW91dFBv
aW50JiBsb2NhdGlvbiwgUmVuZGVyUmVnaW9uKiwgT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFu
Y3kgPSBJZ25vcmVPdmVybGF5U2Nyb2xsYmFyU2l6ZSk7CiAKSW5kZXg6IExheW91dFRlc3RzL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEz
NTI2NikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDEzIEBACisyMDEyLTExLTIwICBQcmF2aW4gRCAgPHByYXZpbmQuMms0QGdtYWlsLmNvbT4KKwor
ICAgICAgICBtYXgtaGVpZ2h0IHByb3BlcnR5IG5vdCByZXNwZWN0ZWQgaW4gY2FzZSBvZiB0YWJs
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4NjMz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0
L3RhYmxlL2Nzcy10YWJsZS1tYXgtaGVpZ2h0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC90YWJsZS9jc3MtdGFibGUtbWF4LWhlaWdodC5odG1sOiBBZGRlZC4KKwogMjAxMi0x
MS0yMCAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBV
bnJldmlld2VkLiBNYXJrIGluc3BlY3Rvci9wcm9maWxlci9jcHUtcHJvZmlsZXItcHJvZmlsaW5n
LXdpdGhvdXQtaW5zcGVjdG9yLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGFibGUvY3Nz
LXRhYmxlLW1heC1oZWlnaHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvdGFibGUvY3NzLXRhYmxlLW1heC1oZWlnaHQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9jc3MtdGFibGUtbWF4LWhlaWdodC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzQgQEAKK1Rlc3RjYXNlIGZvciBCdWcgaHR0
cDovL3drYnVnLmNvbS85ODYzMy4gVGhlIHRlc3RjYXNlIGNoZWNrcyBpZiB0aGUgaGVpZ2h0IG9m
IGEgY3NzIHRhYmxlIGRvZXMgbm90IGV4Y2VlZCB0aGUgbWF4LWhlaWdodCB2YWx1ZS4gVGhlIGhl
aWdodCBvZiB0aGUgdGFibGUgY2FuIGJlIGdyZWF0ZXIgdGhhbiBtYXgtaGVpZ2h0IHZhbHVlIHdo
ZW4gZWl0aGVyIG1pbi1oZWlnaHQgaXMgZ3JlYXRlciB0aGFuIG1heC1oZWlnaHQgb3IgY29tcHV0
ZWQgaGVpZ2h0IG9mIHRoZSBjb250ZW50IGlzIGdyZWF0ZXIgdGhhbiB0aGUgbWF4LWhlaWdodC4K
KworVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCB3aGVuIG1pbi1oZWlnaHQgaXMgbGVzc2VyIHRo
YW4gbWF4LWhlaWdodCwgbWF4LWhlaWdodCBpcyBhcHBsaWVkIHRvIGEgdGFibGUgd2l0aCBhdXRv
IGxheW91dC4KK1BBU1MKK1RoaXMgc3ViLXRlc3QgY2hlY2tzIHRoYXQgd2hlbiBtaW4taGVpZ2h0
IGlzIGdyZWF0ZXIgdGhhbiBtYXgtaGVpZ2h0LCBtaW4taGVpZ2h0IGlzIGFwcGxpZWQgdG8gYSB0
YWJsZSB3aXRoIGF1dG8gbGF5b3V0LgorUEFTUworVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCBt
YXgtaGVpZ2h0IHdpdGggZml4ZWQgdmFsdWUgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggYXV0
byBsYXlvdXQuCitQQVNTCitUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IG1heC1oZWlnaHQgd2l0
aCBwZXJjZW50IHZhbHVlIGlzIGFwcGxpZWQgdG8gYSB0YWJsZSB3aXRoIGF1dG8gbGF5b3V0Lgor
UEFTUworVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCBtYXgtaGVpZ2h0IHdpdGggdmlld3BvcnQg
cGVyY2VudCBoZWlnaHQgdmFsdWUgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggYXV0byBsYXlv
dXQuCitQQVNTCitUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IG1heC1oZWlnaHQgd2l0aCB2aWV3
cG9ydCBwZXJjZW50IHdpZHRoIHZhbHVlIGlzIGFwcGxpZWQgdG8gYSB0YWJsZSB3aXRoIGF1dG8g
bGF5b3V0LgorUEFTUworVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCB3aGVuIGNvbnRlbnQgaGVp
Z2h0IGlzIGdyZWF0ZXIgdGhhbiBtYXgtaGVpZ2h0LCBjb250ZW50IGhlaWdodCBpcyBhcHBsaWVk
IHRvIHRoZSB0YWJsZSB3aXRoIGF1dG8gbGF5b3V0LiAKKworRklMTEVSIFRFWFQgVE8gSU5DUkVB
U0UgQ09OVEVOVCBIRUlHSFQuCitQQVNTCitUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IHdoZW4g
bWluLWhlaWdodCBpcyBsZXNzZXIgdGhhbiBtYXgtaGVpZ2h0LCBtYXgtaGVpZ2h0IGlzIGFwcGxp
ZWQgdG8gYSB0YWJsZSB3aXRoIGZpeGVkIGxheW91dC4KK1BBU1MKK1RoaXMgc3ViLXRlc3QgY2hl
Y2tzIHRoYXQgd2hlbiBtaW4taGVpZ2h0IGlzIGdyZWF0ZXIgdGhhbiBtYXgtaGVpZ2h0LCBtaW4t
aGVpZ2h0IGlzIGFwcGxpZWQgdG8gYSB0YWJsZSB3aXRoIGZpeGVkIGxheW91dC4KK1BBU1MKK1Ro
aXMgc3ViLXRlc3QgY2hlY2tzIHRoYXQgbWF4LWhlaWdodCB3aXRoIGZpeGVkIHZhbHVlIGlzIGFw
cGxpZWQgdG8gYSB0YWJsZSB3aXRoIGZpeGVkIGxheW91dC4KK1BBU1MKK1RoaXMgc3ViLXRlc3Qg
Y2hlY2tzIHRoYXQgbWF4LWhlaWdodCB3aXRoIHBlcmNlbnQgdmFsdWUgaXMgYXBwbGllZCB0byBh
IHRhYmxlIHdpdGggZml4ZWQgbGF5b3V0LgorUEFTUworVGhpcyBzdWItdGVzdCBjaGVja3MgdGhh
dCBtYXgtaGVpZ2h0IHdpdGggdmlld3BvcnQgcGVyY2VudCBoZWlnaHQgdmFsdWUgaXMgYXBwbGll
ZCB0byBhIHRhYmxlIHdpdGggZml4ZWQgbGF5b3V0LgorUEFTUworVGhpcyBzdWItdGVzdCBjaGVj
a3MgdGhhdCBtYXgtaGVpZ2h0IHdpdGggdmlld3BvcnQgcGVyY2VudCB3aWR0aCB2YWx1ZSBpcyBh
cHBsaWVkIHRvIGEgdGFibGUgd2l0aCBmaXhlZCBsYXlvdXQuCitQQVNTCitUaGlzIHN1Yi10ZXN0
IGNoZWNrcyB0aGF0IHdoZW4gY29udGVudCBoZWlnaHQgaXMgZ3JlYXRlciB0aGFuIG1heC1oZWln
aHQsIGNvbnRlbnQgaGVpZ2h0IGlzIGFwcGxpZWQgdG8gYSB0YWJsZSB3aXRoIGZpeGVkIGxheW91
dC4gCisKK0ZJTExFUiBURVhUIFRPIElOQ1JFQVNFIENPTlRFTlQgSEVJR0hULgorUEFTUwpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9jc3MtdGFibGUtbWF4LWhlaWdodC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvdGFibGUvY3NzLXRhYmxlLW1heC1oZWlnaHQuaHRt
bAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGFibGUvY3NzLXRhYmxlLW1heC1o
ZWlnaHQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMDUgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisuY29udGFpbmVyCit7
CisgICAgd2lkdGg6MzAwcHg7CisgICAgaGVpZ2h0OjQwMHB4OworICAgIGZvbnQtZmFtaWx5OmFo
ZW07CisgICAgYmFja2dyb3VuZC1jb2xvcjojOTk5OTk5OworfQorCisuY2hpbGQKK3sKKyAgICBk
aXNwbGF5OnRhYmxlOworICAgIGhlaWdodDoxMDAlOworICAgIGJhY2tncm91bmQtY29sb3I6Z3Jl
ZW47Cit9CisuZml4ZWQtdGFibGUKK3sKKyAgICB0YWJsZS1sYXlvdXQ6Zml4ZWQ7Cit9Cis8L3N0
eWxlPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jaGVjay1sYXlvdXQuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJjaGVja0xheW91dCgnLmNoaWxkJykiPgorPGRp
dj4gVGVzdGNhc2UgZm9yIEJ1ZyA8YSBocmVmPSJodHRwOi8vd2tidWcuY29tLzk4NjMzIj5odHRw
Oi8vd2tidWcuY29tLzk4NjMzPC9hPi4gVGhlIHRlc3RjYXNlIGNoZWNrcyBpZiB0aGUgaGVpZ2h0
IG9mIGEgCitjc3MgdGFibGUgZG9lcyBub3QgZXhjZWVkIHRoZSBtYXgtaGVpZ2h0IHZhbHVlLiBU
aGUgaGVpZ2h0IG9mIHRoZSB0YWJsZSBjYW4gYmUgZ3JlYXRlciB0aGFuIG1heC1oZWlnaHQgdmFs
dWUgd2hlbiBlaXRoZXIKK21pbi1oZWlnaHQgaXMgZ3JlYXRlciB0aGFuIG1heC1oZWlnaHQgb3Ig
Y29tcHV0ZWQgaGVpZ2h0IG9mIHRoZSBjb250ZW50IGlzIGdyZWF0ZXIgdGhhbiB0aGUgbWF4LWhl
aWdodC4KKzwvZGl2PgorPGJyPgorPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IGlk
PSJtYXhHcmVhdFRoYW5NaW5IZWlnaHRBdXRvTGF5b3V0IiBjbGFzcz0iY2hpbGQiIHN0eWxlPSJt
aW4taGVpZ2h0OjEwMHB4OyBtYXgtaGVpZ2h0OjIwMHB4OyIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9
MjAwPgorICAgICAgICBUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IHdoZW4gbWluLWhlaWdodCBp
cyBsZXNzZXIgdGhhbiBtYXgtaGVpZ2h0LCBtYXgtaGVpZ2h0IGlzIGFwcGxpZWQgdG8gYSB0YWJs
ZSB3aXRoIGF1dG8gbGF5b3V0LgorICAgIDwvZGl2PgorPC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250
YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImNoaWxkIiBzdHlsZT0ibWluLWhlaWdodDoyMDBweDsg
bWF4LWhlaWdodDoxMDBweDsiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTIwMD4KKyAgICAgICAgVGhp
cyBzdWItdGVzdCBjaGVja3MgdGhhdCB3aGVuIG1pbi1oZWlnaHQgaXMgZ3JlYXRlciB0aGFuIG1h
eC1oZWlnaHQsIG1pbi1oZWlnaHQgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggYXV0byBsYXlv
dXQuCisgICAgPC9kaXY+Cis8L2Rpdj4KKzxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRp
diBjbGFzcz0iY2hpbGQiIHN0eWxlPSJtYXgtaGVpZ2h0OjIwMHB4OyIgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9MjAwPgorICAgICAgICBUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IG1heC1oZWlnaHQg
d2l0aCBmaXhlZCB2YWx1ZSBpcyBhcHBsaWVkIHRvIGEgdGFibGUgd2l0aCBhdXRvIGxheW91dC4K
KyAgICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IGNs
YXNzPSJjaGlsZCIgc3R5bGU9Im1heC1oZWlnaHQ6NTAlOyIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9
MjAwPgorICAgICAgICBUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IG1heC1oZWlnaHQgd2l0aCBw
ZXJjZW50IHZhbHVlIGlzIGFwcGxpZWQgdG8gYSB0YWJsZSB3aXRoIGF1dG8gbGF5b3V0LgorICAg
IDwvZGl2PgorPC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9
ImNoaWxkIiBzdHlsZT0ibWF4LWhlaWdodDo1MHZoOyIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MzAw
PgorICAgICAgICBUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IG1heC1oZWlnaHQgd2l0aCB2aWV3
cG9ydCBwZXJjZW50IGhlaWdodCB2YWx1ZSBpcyBhcHBsaWVkIHRvIGEgdGFibGUgd2l0aCBhdXRv
IGxheW91dC4KKyAgICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAg
ICA8ZGl2IGNsYXNzPSJjaGlsZCIgc3R5bGU9Im1heC1oZWlnaHQ6MjV2dzsiIGRhdGEtZXhwZWN0
ZWQtaGVpZ2h0PTIwMD4KKyAgICAgICAgVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCBtYXgtaGVp
Z2h0IHdpdGggdmlld3BvcnQgcGVyY2VudCB3aWR0aCB2YWx1ZSBpcyBhcHBsaWVkIHRvIGEgdGFi
bGUgd2l0aCBhdXRvIGxheW91dC4KKyAgICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0iY29u
dGFpbmVyIj4KKyAgICA8ZGl2IGNsYXNzPSJjaGlsZCIgc3R5bGU9Im1heC1oZWlnaHQ6MTAwcHg7
IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0xOTI+CisgICAgICAgIFRoaXMgc3ViLXRlc3QgY2hlY2tz
IHRoYXQgd2hlbiBjb250ZW50IGhlaWdodCBpcyBncmVhdGVyIHRoYW4gbWF4LWhlaWdodCwgY29u
dGVudCBoZWlnaHQgaXMgYXBwbGllZCB0byB0aGUgdGFibGUgd2l0aCBhdXRvIGxheW91dC4KKyAg
ICAgICAgPGJyPjxicj5GSUxMRVIgVEVYVCBUTyBJTkNSRUFTRSBDT05URU5UIEhFSUdIVC4KKyAg
ICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IGNsYXNz
PSJjaGlsZCBmaXhlZC10YWJsZSIgc3R5bGU9Im1pbi1oZWlnaHQ6MTAwcHg7IG1heC1oZWlnaHQ6
MjAwcHg7IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0yMDA+CisgICAgICAgIFRoaXMgc3ViLXRlc3Qg
Y2hlY2tzIHRoYXQgd2hlbiBtaW4taGVpZ2h0IGlzIGxlc3NlciB0aGFuIG1heC1oZWlnaHQsIG1h
eC1oZWlnaHQgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggZml4ZWQgbGF5b3V0LgorICAgIDwv
ZGl2PgorPC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImNo
aWxkIGZpeGVkLXRhYmxlIiBzdHlsZT0ibWluLWhlaWdodDoyMDBweDsgbWF4LWhlaWdodDoxMDBw
eDsiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTIwMD4KKyAgICAgICAgVGhpcyBzdWItdGVzdCBjaGVj
a3MgdGhhdCB3aGVuIG1pbi1oZWlnaHQgaXMgZ3JlYXRlciB0aGFuIG1heC1oZWlnaHQsIG1pbi1o
ZWlnaHQgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggZml4ZWQgbGF5b3V0LgorICAgIDwvZGl2
PgorPC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImNoaWxk
IGZpeGVkLXRhYmxlIiBzdHlsZT0ibWF4LWhlaWdodDoyMDBweDsiIGRhdGEtZXhwZWN0ZWQtaGVp
Z2h0PTIwMD4KKyAgICAgICAgVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCBtYXgtaGVpZ2h0IHdp
dGggZml4ZWQgdmFsdWUgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggZml4ZWQgbGF5b3V0Lgor
ICAgIDwvZGl2PgorPC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xh
c3M9ImNoaWxkIGZpeGVkLXRhYmxlIiBzdHlsZT0ibWF4LWhlaWdodDo1MCU7IiBkYXRhLWV4cGVj
dGVkLWhlaWdodD0yMDA+CisgICAgICAgIFRoaXMgc3ViLXRlc3QgY2hlY2tzIHRoYXQgbWF4LWhl
aWdodCB3aXRoIHBlcmNlbnQgdmFsdWUgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggZml4ZWQg
bGF5b3V0LgorICAgIDwvZGl2PgorPC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAg
IDxkaXYgY2xhc3M9ImNoaWxkIGZpeGVkLXRhYmxlIiBzdHlsZT0ibWF4LWhlaWdodDo1MHZoOyIg
ZGF0YS1leHBlY3RlZC1oZWlnaHQ9MzAwPgorICAgICAgICBUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0
aGF0IG1heC1oZWlnaHQgd2l0aCB2aWV3cG9ydCBwZXJjZW50IGhlaWdodCB2YWx1ZSBpcyBhcHBs
aWVkIHRvIGEgdGFibGUgd2l0aCBmaXhlZCBsYXlvdXQuCisgICAgPC9kaXY+Cis8L2Rpdj4KKzxk
aXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0iY2hpbGQgZml4ZWQtdGFibGUi
IHN0eWxlPSJtYXgtaGVpZ2h0OjI1dnc7IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0yMDA+CisgICAg
ICAgIFRoaXMgc3ViLXRlc3QgY2hlY2tzIHRoYXQgbWF4LWhlaWdodCB3aXRoIHZpZXdwb3J0IHBl
cmNlbnQgd2lkdGggdmFsdWUgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggZml4ZWQgbGF5b3V0
LgorICAgIDwvZGl2PgorPC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYg
Y2xhc3M9ImNoaWxkIGZpeGVkLXRhYmxlIiBzdHlsZT0ibWF4LWhlaWdodDoxMDBweDsiIGRhdGEt
ZXhwZWN0ZWQtaGVpZ2h0PTE5Mj4KKyAgICAgICAgVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCB3
aGVuIGNvbnRlbnQgaGVpZ2h0IGlzIGdyZWF0ZXIgdGhhbiBtYXgtaGVpZ2h0LCBjb250ZW50IGhl
aWdodCBpcyBhcHBsaWVkIHRvIGEgdGFibGUgd2l0aCBmaXhlZCBsYXlvdXQuCisgICAgICAgIDxi
cj48YnI+RklMTEVSIFRFWFQgVE8gSU5DUkVBU0UgQ09OVEVOVCBIRUlHSFQuCisgICAgPC9kaXY+
Cis8L2Rpdj4KKzxib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175823</attachid>
            <date>2012-11-23 09:53:21 -0800</date>
            <delta_ts>2012-11-27 11:53:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98633-20121123232506.patch</filename>
            <type>text/plain</type>
            <size>14800</size>
            <attacher name="Pravin D">pravind.2k4</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNTU5MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEyLTExLTIzICBQcmF2aW4g
RCAgPHByYXZpbmQuMms0QGdtYWlsLmNvbT4KKworICAgICAgICBtYXgtaGVpZ2h0IHByb3BlcnR5
IG5vdCByZXNwZWN0ZWQgaW4gY2FzZSBvZiB0YWJsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4NjMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIG1heC1oZWlnaHQgcHJvcGVydHkgZGV0ZXJtaW5l
cyB0aGUgbWF4aW11bSBjb21wdXRlZCBoZWlnaHQgYW4gZWxlbWVudCBjYW4gaGF2ZS4gSW4gY2Fz
ZSBvZiB0YWJsZXMKKyAgICAgICAgdGhlIGNvbXB1dGVkIGhlaWdodCB3YXMgbm90IGJlaW5nIGxp
bWl0ZWQgYnkgdGhlIG1heC1oZWlnaHQgcHJvcGVydHkuIFRoZSBjdXJyZW50IHBhdGNoIGZpeGVz
IHRoZSBzYW1lLgorCisgICAgICAgIFRlc3Q6IGZhc3QvdGFibGUvY3NzLXRhYmxlLW1heC1oZWln
aHQuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRhYmxlOjpjb252ZXJ0U3R5bGVMb2dpY2FsSGVpZ2h0VG9Db21wdXRl
ZEhlaWdodCk6CisgICAgICAgICAgSGVscGVyIGZ1bmN0aW9uIHRvIGNvbXB1dGUgaGVpZ2h0IGZy
b20gdGhlIGdpdmVuIHN0eWxlIGhlaWdodC4KKyAgICAgICAgICBUaGlzIGZ1bmN0aW9uIGhhbmRs
ZXMgc3R5bGUgaGVpZ2h0IG9mIHR5cGUgZml4ZWQsIHBlcmNlbnQgYW5kIHZpZXdwb3J0IHBlcmNl
bnQuCisgICAgICAgICAgQXMgaGVpZ2h0IG9mIHR5cGUgJ2NhbGN1bGF0ZWQnIGdldHMgaW50ZXJu
YWxseSByZXNvbHZlZCB0byBlaXRoZXIgZml4ZWQgb3IgcGVyY2VudAorICAgICAgICAgIHRoZXJl
IGlzIG5vIHNwZWNpYWwgaGFuZGxpbmcgcmVxdWlyZWQgZm9yIHRoZSBzYW1lLgorCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlOjpsYXlvdXQpOgorICAg
ICAgICAgIExvZ2ljIHRvIGNvbXB1dGUgdGhlIGxvZ2ljYWwgaGVpZ2h0IG9mIGFuIGVsZW1lbnQg
c3VjaCB0aGF0IGl0IGRvZXMgbm90IGV4Y2VlZCB0aGUgbWF4LWhlaWdodCB2YWx1ZSBnaXZlbiB0
aGF0CisgICAgICAgICAgbWluLXdpZHRoIDwgQ29udGVudCBoZWlnaHQgPCBtYXgtaGVpZ2h0LCB3
aGVuIG1pbi1oZWlnaHQgPCBtYXgtaGVpZ2h0LgorICAgICAgICAgIEhvd2V2ZXIgbWF4LWhlaWdo
dCB2YWx1ZSBpcyBub3QgcmVzcGVjdGVkIGlmIGVpdGhlciBtaW4taGVpZ2h0ID4gbWF4LWhlaWdo
dCBvciBDb250ZW50IGhlaWdodCA+IG1heC1oZWlnaHQuCisKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGFibGUuaDoKKyAgICAgICAgKFJlbmRlclRhYmxlKToKKyAgICAgICAgICBGdW5jdGlv
biBkZWZpbml0aW9uIGZvciB0aGUgbmV3bHkgYWRkIGZ1bmN0aW9uIGNvbnZlcnRTdHlsZUxvZ2lj
YWxIZWlnaHRUb0NvbXB1dGVkSGVpZ2h0KCkuCisKIDIwMTItMTEtMjMgIEFuZHJleSBBZGFpa2lu
ICA8YWFuZHJleUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogW0NhbnZh
c10gYWRkIHN0YXJ0Q2FwdHVyaW5nIGFuZCBzdG9wQ2FwdHVyaW5nIG1ldGhvZHMgdG8gcHJvdG9j
b2wKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcAkocmV2aXNp
b24gMTM1NTkxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzI2LDYgKzMyNiwyOCBAQCBMYXlvdXRVbml0IFJlbmRlclRhYmxl
Ojpjb252ZXJ0U3R5bGVMb2dpCiAgICAgcmV0dXJuIG1pbmltdW1WYWx1ZUZvckxlbmd0aChzdHls
ZUxvZ2ljYWxXaWR0aCwgYXZhaWxhYmxlV2lkdGgsIHZpZXcoKSkgKyBib3JkZXJzOwogfQogCitM
YXlvdXRVbml0IFJlbmRlclRhYmxlOjpjb252ZXJ0U3R5bGVMb2dpY2FsSGVpZ2h0VG9Db21wdXRl
ZEhlaWdodChjb25zdCBMZW5ndGgmIHN0eWxlTG9naWNhbEhlaWdodCkKK3sKKyAgICBMYXlvdXRV
bml0IGNvbXB1dGVkTG9naWNhbEhlaWdodCA9IDA7CisgICAgaWYgKHN0eWxlTG9naWNhbEhlaWdo
dC5pc0ZpeGVkKCkpIHsKKyAgICAgICAgLy8gSFRNTCB0YWJsZXMgc2l6ZSBhcyB0aG91Z2ggQ1NT
IGhlaWdodCBpbmNsdWRlcyBib3JkZXIvcGFkZGluZywgQ1NTIHRhYmxlcyBkbyBub3QuCisgICAg
ICAgIExheW91dFVuaXQgYm9yZGVycyA9IExheW91dFVuaXQoKTsKKyAgICAgICAgLy8gRklYTUU6
IFdlIGNhbm5vdCBhcHBseSBib3gtc2l6aW5nOiBjb250ZW50LWJveCBvbiA8dGFibGU+IHdoaWNo
IG90aGVyIGJyb3dzZXJzIGFsbG93LgorICAgICAgICBpZiAoKG5vZGUoKSAmJiBub2RlKCktPmhh
c1RhZ05hbWUodGFibGVUYWcpKSB8fCBzdHlsZSgpLT5ib3hTaXppbmcoKSA9PSBCT1JERVJfQk9Y
KSB7CisgICAgICAgICAgICBMYXlvdXRVbml0IGJvcmRlckFuZFBhZGRpbmdCZWZvcmUgPSBib3Jk
ZXJCZWZvcmUoKSArIChjb2xsYXBzZUJvcmRlcnMoKSA/IExheW91dFVuaXQoKSA6IHBhZGRpbmdC
ZWZvcmUoKSk7CisgICAgICAgICAgICBMYXlvdXRVbml0IGJvcmRlckFuZFBhZGRpbmdBZnRlciA9
IGJvcmRlckFmdGVyKCkgKyAoY29sbGFwc2VCb3JkZXJzKCkgPyBMYXlvdXRVbml0KCkgOiBwYWRk
aW5nQWZ0ZXIoKSk7CisgICAgICAgICAgICBib3JkZXJzID0gYm9yZGVyQW5kUGFkZGluZ0JlZm9y
ZSArIGJvcmRlckFuZFBhZGRpbmdBZnRlcjsKKyAgICAgICAgfQorICAgICAgICBjb21wdXRlZExv
Z2ljYWxIZWlnaHQgPSBzdHlsZUxvZ2ljYWxIZWlnaHQudmFsdWUoKSAtIGJvcmRlcnM7CisgICAg
fSBlbHNlIGlmIChzdHlsZUxvZ2ljYWxIZWlnaHQuaXNQZXJjZW50KCkpCisgICAgICAgIGNvbXB1
dGVkTG9naWNhbEhlaWdodCA9IGNvbXB1dGVQZXJjZW50YWdlTG9naWNhbEhlaWdodChzdHlsZUxv
Z2ljYWxIZWlnaHQpOworICAgIGVsc2UgaWYgKHN0eWxlTG9naWNhbEhlaWdodC5pc1ZpZXdwb3J0
UGVyY2VudGFnZSgpKQorICAgICAgICBjb21wdXRlZExvZ2ljYWxIZWlnaHQgPSBtaW5pbXVtVmFs
dWVGb3JMZW5ndGgoc3R5bGVMb2dpY2FsSGVpZ2h0LCAwLCB2aWV3KCkpOworICAgIGVsc2UKKyAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIG1heDxMYXlvdXRVbml0Pigw
LCBjb21wdXRlZExvZ2ljYWxIZWlnaHQpOworfQorCiB2b2lkIFJlbmRlclRhYmxlOjpsYXlvdXRD
YXB0aW9uKFJlbmRlclRhYmxlQ2FwdGlvbiogY2FwdGlvbikKIHsKICAgICBMYXlvdXRSZWN0IGNh
cHRpb25SZWN0KGNhcHRpb24tPmZyYW1lUmVjdCgpKTsKQEAgLTQ0MiwxOCArNDY0LDIzIEBAIHZv
aWQgUmVuZGVyVGFibGU6OmxheW91dCgpCiAgICAgaWYgKCFpc091dE9mRmxvd1Bvc2l0aW9uZWQo
KSkKICAgICAgICAgdXBkYXRlTG9naWNhbEhlaWdodCgpOwogCi0gICAgTGVuZ3RoIGxvZ2ljYWxI
ZWlnaHRMZW5ndGggPSBzdHlsZSgpLT5sb2dpY2FsSGVpZ2h0KCk7CiAgICAgTGF5b3V0VW5pdCBj
b21wdXRlZExvZ2ljYWxIZWlnaHQgPSAwOwotICAgIGlmIChsb2dpY2FsSGVpZ2h0TGVuZ3RoLmlz
Rml4ZWQoKSkgewotICAgICAgICAvLyBIVE1MIHRhYmxlcyBzaXplIGFzIHRob3VnaCBDU1MgaGVp
Z2h0IGluY2x1ZGVzIGJvcmRlci9wYWRkaW5nLCBDU1MgdGFibGVzIGRvIG5vdC4KLSAgICAgICAg
TGF5b3V0VW5pdCBib3JkZXJzID0gMDsKLSAgICAgICAgLy8gRklYTUU6IFdlIGNhbm5vdCBhcHBs
eSBib3gtc2l6aW5nOiBjb250ZW50LWJveCBvbiA8dGFibGU+IHdoaWNoIG90aGVyIGJyb3dzZXJz
IGFsbG93LgotICAgICAgICBpZiAoKG5vZGUoKSAmJiBub2RlKCktPmhhc1RhZ05hbWUodGFibGVU
YWcpKSB8fCBzdHlsZSgpLT5ib3hTaXppbmcoKSA9PSBCT1JERVJfQk9YKQotICAgICAgICAgICAg
Ym9yZGVycyA9IGJvcmRlckFuZFBhZGRpbmdCZWZvcmUgKyBib3JkZXJBbmRQYWRkaW5nQWZ0ZXI7
Ci0gICAgICAgIGNvbXB1dGVkTG9naWNhbEhlaWdodCA9IGxvZ2ljYWxIZWlnaHRMZW5ndGgudmFs
dWUoKSAtIGJvcmRlcnM7Ci0gICAgfSBlbHNlIGlmIChsb2dpY2FsSGVpZ2h0TGVuZ3RoLmlzUGVy
Y2VudCgpKQotICAgICAgICBjb21wdXRlZExvZ2ljYWxIZWlnaHQgPSBjb21wdXRlUGVyY2VudGFn
ZUxvZ2ljYWxIZWlnaHQobG9naWNhbEhlaWdodExlbmd0aCk7Ci0gICAgY29tcHV0ZWRMb2dpY2Fs
SGVpZ2h0ID0gbWF4PExheW91dFVuaXQ+KDAsIGNvbXB1dGVkTG9naWNhbEhlaWdodCk7CisgICAg
CisgICAgTGVuZ3RoIGxvZ2ljYWxIZWlnaHRMZW5ndGggPSBzdHlsZSgpLT5sb2dpY2FsSGVpZ2h0
KCk7CisgICAgaWYgKGxvZ2ljYWxIZWlnaHRMZW5ndGguaXNTcGVjaWZpZWQoKSAmJiBsb2dpY2Fs
SGVpZ2h0TGVuZ3RoLmlzUG9zaXRpdmUoKSkKKyAgICAgICAgY29tcHV0ZWRMb2dpY2FsSGVpZ2h0
ID0gY29udmVydFN0eWxlTG9naWNhbEhlaWdodFRvQ29tcHV0ZWRIZWlnaHQobG9naWNhbEhlaWdo
dExlbmd0aCk7CisgICAgCisgICAgTGVuZ3RoIGxvZ2ljYWxNYXhIZWlnaHRMZW5ndGggPSBzdHls
ZSgpLT5sb2dpY2FsTWF4SGVpZ2h0KCk7CisgICAgaWYgKGxvZ2ljYWxNYXhIZWlnaHRMZW5ndGgu
aXNTcGVjaWZpZWQoKSAmJiAhbG9naWNhbE1heEhlaWdodExlbmd0aC5pc05lZ2F0aXZlKCkpIHsK
KyAgICAgICAgTGF5b3V0VW5pdCBjb21wdXRlZE1heExvZ2ljYWxIZWlnaHQgPSBjb252ZXJ0U3R5
bGVMb2dpY2FsSGVpZ2h0VG9Db21wdXRlZEhlaWdodChsb2dpY2FsTWF4SGVpZ2h0TGVuZ3RoKTsK
KyAgICAgICAgY29tcHV0ZWRMb2dpY2FsSGVpZ2h0ID0gbWluKGNvbXB1dGVkTG9naWNhbEhlaWdo
dCwgY29tcHV0ZWRNYXhMb2dpY2FsSGVpZ2h0KTsKKyAgICB9CisKKyAgICBMZW5ndGggbG9naWNh
bE1pbkhlaWdodExlbmd0aCA9IHN0eWxlKCktPmxvZ2ljYWxNaW5IZWlnaHQoKTsKKyAgICBpZiAo
bG9naWNhbE1pbkhlaWdodExlbmd0aC5pc1NwZWNpZmllZCgpICYmICFsb2dpY2FsTWluSGVpZ2h0
TGVuZ3RoLmlzTmVnYXRpdmUoKSkgeworICAgICAgICBMYXlvdXRVbml0IGNvbXB1dGVkTWluTG9n
aWNhbEhlaWdodCA9IGNvbnZlcnRTdHlsZUxvZ2ljYWxIZWlnaHRUb0NvbXB1dGVkSGVpZ2h0KGxv
Z2ljYWxNaW5IZWlnaHRMZW5ndGgpOworICAgICAgICBjb21wdXRlZExvZ2ljYWxIZWlnaHQgPSBt
YXgoY29tcHV0ZWRMb2dpY2FsSGVpZ2h0LCBjb21wdXRlZE1pbkxvZ2ljYWxIZWlnaHQpOworICAg
IH0KIAogICAgIGRpc3RyaWJ1dGVFeHRyYUxvZ2ljYWxIZWlnaHQoZmxvb3JUb0ludChjb21wdXRl
ZExvZ2ljYWxIZWlnaHQgLSB0b3RhbFNlY3Rpb25Mb2dpY2FsSGVpZ2h0KSk7CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5oCShyZXZpc2lvbiAxMzU1OTEpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAt
MjkxLDYgKzI5MSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUxvZ2ljYWxX
aWR0aCgpIE9WRVJSSURFOwogCiAgICAgTGF5b3V0VW5pdCBjb252ZXJ0U3R5bGVMb2dpY2FsV2lk
dGhUb0NvbXB1dGVkV2lkdGgoY29uc3QgTGVuZ3RoJiBzdHlsZUxvZ2ljYWxXaWR0aCwgTGF5b3V0
VW5pdCBhdmFpbGFibGVXaWR0aCk7CisgICAgTGF5b3V0VW5pdCBjb252ZXJ0U3R5bGVMb2dpY2Fs
SGVpZ2h0VG9Db21wdXRlZEhlaWdodChjb25zdCBMZW5ndGgmIHN0eWxlTG9naWNhbEhlaWdodCk7
CiAKICAgICB2aXJ0dWFsIExheW91dFJlY3Qgb3ZlcmZsb3dDbGlwUmVjdChjb25zdCBMYXlvdXRQ
b2ludCYgbG9jYXRpb24sIFJlbmRlclJlZ2lvbiosIE92ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZh
bmN5ID0gSWdub3JlT3ZlcmxheVNjcm9sbGJhclNpemUpOwogCkluZGV4OiBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAx
MzU1OTEpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxMyBAQAorMjAxMi0xMS0yMyAgUHJhdmluIEQgIDxwcmF2aW5kLjJrNEBnbWFpbC5jb20+CisK
KyAgICAgICAgbWF4LWhlaWdodCBwcm9wZXJ0eSBub3QgcmVzcGVjdGVkIGluIGNhc2Ugb2YgdGFi
bGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODYz
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFz
dC90YWJsZS9jc3MtdGFibGUtbWF4LWhlaWdodC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvdGFibGUvY3NzLXRhYmxlLW1heC1oZWlnaHQuaHRtbDogQWRkZWQuCisKIDIwMTIt
MTEtMjMgIFN1ZGFyc2FuYSBOYWdpbmVuaSAgPHN1ZGFyc2FuYS5uYWdpbmVuaUBpbnRlbC5jb20+
CiAKICAgICAgICAgW0VGTF0gTmV3bHkgYWRkZWQgdGVzdHMgaW4gcjEzNTQzNiBhbmQgcjEzNTQ1
NiBhcmUgZmFpbG5nCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2Nzcy10YWJsZS1tYXgt
aGVpZ2h0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3RhYmxl
L2Nzcy10YWJsZS1tYXgtaGVpZ2h0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2Zhc3QvdGFibGUvY3NzLXRhYmxlLW1heC1oZWlnaHQtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDM4IEBACitUZXN0Y2FzZSBmb3IgQnVnIGh0dHA6Ly93a2J1Zy5j
b20vOTg2MzMuIFRoZSB0ZXN0Y2FzZSBjaGVja3MgaWYgdGhlIGhlaWdodCBvZiBhIGNzcyB0YWJs
ZSBkb2VzIG5vdCBleGNlZWQgdGhlIG1heC1oZWlnaHQgdmFsdWUuIFRoZSBoZWlnaHQgb2YgdGhl
IHRhYmxlIGNhbiBiZSBncmVhdGVyIHRoYW4gbWF4LWhlaWdodCB2YWx1ZSB3aGVuIGVpdGhlciBt
aW4taGVpZ2h0IGlzIGdyZWF0ZXIgdGhhbiBtYXgtaGVpZ2h0IG9yIGNvbXB1dGVkIGhlaWdodCBv
ZiB0aGUgY29udGVudCBpcyBncmVhdGVyIHRoYW4gdGhlIG1heC1oZWlnaHQuCisKK1RoaXMgc3Vi
LXRlc3QgY2hlY2tzIHRoYXQgd2hlbiBtaW4taGVpZ2h0IGlzIGxlc3NlciB0aGFuIG1heC1oZWln
aHQsIG1heC1oZWlnaHQgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggYXV0byBsYXlvdXQuCitQ
QVNTCitUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IHdoZW4gbWluLWhlaWdodCBpcyBncmVhdGVy
IHRoYW4gbWF4LWhlaWdodCwgbWluLWhlaWdodCBpcyBhcHBsaWVkIHRvIGEgdGFibGUgd2l0aCBh
dXRvIGxheW91dC4KK1BBU1MKK1RoaXMgc3ViLXRlc3QgY2hlY2tzIHRoYXQgbWF4LWhlaWdodCB3
aXRoIGZpeGVkIHZhbHVlIGlzIGFwcGxpZWQgdG8gYSB0YWJsZSB3aXRoIGF1dG8gbGF5b3V0Lgor
UEFTUworVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCBtYXgtaGVpZ2h0IHdpdGggcGVyY2VudCB2
YWx1ZSBpcyBhcHBsaWVkIHRvIGEgdGFibGUgd2l0aCBhdXRvIGxheW91dC4KK1BBU1MKK1RoaXMg
c3ViLXRlc3QgY2hlY2tzIHRoYXQgbWF4LWhlaWdodCB3aXRoIHZpZXdwb3J0IHBlcmNlbnQgaGVp
Z2h0IHZhbHVlIGlzIGFwcGxpZWQgdG8gYSB0YWJsZSB3aXRoIGF1dG8gbGF5b3V0LgorUEFTUwor
VGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCBtYXgtaGVpZ2h0IHdpdGggdmlld3BvcnQgcGVyY2Vu
dCB3aWR0aCB2YWx1ZSBpcyBhcHBsaWVkIHRvIGEgdGFibGUgd2l0aCBhdXRvIGxheW91dC4KK1BB
U1MKK1RoaXMgc3ViLXRlc3QgY2hlY2tzIHRoYXQgd2hlbiBjb250ZW50IGhlaWdodCBpcyBncmVh
dGVyIHRoYW4gbWF4LWhlaWdodCwgY29udGVudCBoZWlnaHQgaXMgYXBwbGllZCB0byB0aGUgdGFi
bGUgd2l0aCBhdXRvIGxheW91dC4gCisKK0ZJTExFUiBURVhUIFRPIElOQ1JFQVNFIENPTlRFTlQg
SEVJR0hULgorUEFTUworVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHdoZW4gaGVpZ2h0IG9mIGFuIGF1
dG8tdGFibGUgaXMgYXV0bywgdGhlcmUgaXMgYXJlIG5vIGFzc2VydHMuIE5vIGNyYXNoIG1lYW5z
IHRoZSB0ZXN0IHBhc3NlZC4KK1BBU1MKK1RoaXMgc3ViLXRlc3QgY2hlY2tzIHRoYXQgd2hlbiBt
aW4taGVpZ2h0IGlzIGxlc3NlciB0aGFuIG1heC1oZWlnaHQsIG1heC1oZWlnaHQgaXMgYXBwbGll
ZCB0byBhIHRhYmxlIHdpdGggZml4ZWQgbGF5b3V0LgorUEFTUworVGhpcyBzdWItdGVzdCBjaGVj
a3MgdGhhdCB3aGVuIG1pbi1oZWlnaHQgaXMgZ3JlYXRlciB0aGFuIG1heC1oZWlnaHQsIG1pbi1o
ZWlnaHQgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggZml4ZWQgbGF5b3V0LgorUEFTUworVGhp
cyBzdWItdGVzdCBjaGVja3MgdGhhdCBtYXgtaGVpZ2h0IHdpdGggZml4ZWQgdmFsdWUgaXMgYXBw
bGllZCB0byBhIHRhYmxlIHdpdGggZml4ZWQgbGF5b3V0LgorUEFTUworVGhpcyBzdWItdGVzdCBj
aGVja3MgdGhhdCBtYXgtaGVpZ2h0IHdpdGggcGVyY2VudCB2YWx1ZSBpcyBhcHBsaWVkIHRvIGEg
dGFibGUgd2l0aCBmaXhlZCBsYXlvdXQuCitQQVNTCitUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0
IG1heC1oZWlnaHQgd2l0aCB2aWV3cG9ydCBwZXJjZW50IGhlaWdodCB2YWx1ZSBpcyBhcHBsaWVk
IHRvIGEgdGFibGUgd2l0aCBmaXhlZCBsYXlvdXQuCitQQVNTCitUaGlzIHN1Yi10ZXN0IGNoZWNr
cyB0aGF0IG1heC1oZWlnaHQgd2l0aCB2aWV3cG9ydCBwZXJjZW50IHdpZHRoIHZhbHVlIGlzIGFw
cGxpZWQgdG8gYSB0YWJsZSB3aXRoIGZpeGVkIGxheW91dC4KK1BBU1MKK1RoaXMgc3ViLXRlc3Qg
Y2hlY2tzIHRoYXQgd2hlbiBjb250ZW50IGhlaWdodCBpcyBncmVhdGVyIHRoYW4gbWF4LWhlaWdo
dCwgY29udGVudCBoZWlnaHQgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggZml4ZWQgbGF5b3V0
LiAKKworRklMTEVSIFRFWFQgVE8gSU5DUkVBU0UgQ09OVEVOVCBIRUlHSFQuCitQQVNTCitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgd2hlbiBoZWlnaHQgb2YgYSBmaXhlZCB0YWJsZSBpcyBhdXRvLCB0
aGVyZSBpcyBhcmUgbm8gYXNzZXJ0cy4gTm8gY3Jhc2ggbWVhbnMgdGhlIHRlc3QgcGFzc2VkLgor
UEFTUwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9jc3MtdGFibGUtbWF4LWhlaWdodC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvdGFibGUvY3NzLXRhYmxlLW1heC1o
ZWlnaHQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGFibGUvY3NzLXRh
YmxlLW1heC1oZWlnaHQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMTUgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisuY29u
dGFpbmVyCit7CisgICAgd2lkdGg6MzAwcHg7CisgICAgaGVpZ2h0OjQwMHB4OworICAgIGZvbnQt
ZmFtaWx5OmFoZW07CisgICAgYmFja2dyb3VuZC1jb2xvcjojOTk5OTk5OworfQorCisuY2hpbGQK
K3sKKyAgICBkaXNwbGF5OnRhYmxlOworICAgIGhlaWdodDoxMDAlOworICAgIGJhY2tncm91bmQt
Y29sb3I6Z3JlZW47Cit9CisuZml4ZWQtdGFibGUKK3sKKyAgICB0YWJsZS1sYXlvdXQ6Zml4ZWQ7
Cit9Cis8L3N0eWxlPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jaGVjay1sYXlvdXQu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJjaGVja0xheW91dCgnLmNoaWxk
JykiPgorPGRpdj4gVGVzdGNhc2UgZm9yIEJ1ZyA8YSBocmVmPSJodHRwOi8vd2tidWcuY29tLzk4
NjMzIj5odHRwOi8vd2tidWcuY29tLzk4NjMzPC9hPi4gVGhlIHRlc3RjYXNlIGNoZWNrcyBpZiB0
aGUgaGVpZ2h0IG9mIGEgCitjc3MgdGFibGUgZG9lcyBub3QgZXhjZWVkIHRoZSBtYXgtaGVpZ2h0
IHZhbHVlLiBUaGUgaGVpZ2h0IG9mIHRoZSB0YWJsZSBjYW4gYmUgZ3JlYXRlciB0aGFuIG1heC1o
ZWlnaHQgdmFsdWUgd2hlbiBlaXRoZXIKK21pbi1oZWlnaHQgaXMgZ3JlYXRlciB0aGFuIG1heC1o
ZWlnaHQgb3IgY29tcHV0ZWQgaGVpZ2h0IG9mIHRoZSBjb250ZW50IGlzIGdyZWF0ZXIgdGhhbiB0
aGUgbWF4LWhlaWdodC4KKzwvZGl2PgorPGJyPgorPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAg
ICA8ZGl2IGlkPSJtYXhHcmVhdFRoYW5NaW5IZWlnaHRBdXRvTGF5b3V0IiBjbGFzcz0iY2hpbGQi
IHN0eWxlPSJtaW4taGVpZ2h0OjEwMHB4OyBtYXgtaGVpZ2h0OjIwMHB4OyIgZGF0YS1leHBlY3Rl
ZC1oZWlnaHQ9MjAwPgorICAgICAgICBUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IHdoZW4gbWlu
LWhlaWdodCBpcyBsZXNzZXIgdGhhbiBtYXgtaGVpZ2h0LCBtYXgtaGVpZ2h0IGlzIGFwcGxpZWQg
dG8gYSB0YWJsZSB3aXRoIGF1dG8gbGF5b3V0LgorICAgIDwvZGl2PgorPC9kaXY+Cis8ZGl2IGNs
YXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImNoaWxkIiBzdHlsZT0ibWluLWhlaWdo
dDoyMDBweDsgbWF4LWhlaWdodDoxMDBweDsiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTIwMD4KKyAg
ICAgICAgVGhpcyBzdWItdGVzdCBjaGVja3MgdGhhdCB3aGVuIG1pbi1oZWlnaHQgaXMgZ3JlYXRl
ciB0aGFuIG1heC1oZWlnaHQsIG1pbi1oZWlnaHQgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGgg
YXV0byBsYXlvdXQuCisgICAgPC9kaXY+Cis8L2Rpdj4KKzxkaXYgY2xhc3M9ImNvbnRhaW5lciI+
CisgICAgPGRpdiBjbGFzcz0iY2hpbGQiIHN0eWxlPSJtYXgtaGVpZ2h0OjIwMHB4OyIgZGF0YS1l
eHBlY3RlZC1oZWlnaHQ9MjAwPgorICAgICAgICBUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IG1h
eC1oZWlnaHQgd2l0aCBmaXhlZCB2YWx1ZSBpcyBhcHBsaWVkIHRvIGEgdGFibGUgd2l0aCBhdXRv
IGxheW91dC4KKyAgICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAg
ICA8ZGl2IGNsYXNzPSJjaGlsZCIgc3R5bGU9Im1heC1oZWlnaHQ6NTAlOyIgZGF0YS1leHBlY3Rl
ZC1oZWlnaHQ9MjAwPgorICAgICAgICBUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IG1heC1oZWln
aHQgd2l0aCBwZXJjZW50IHZhbHVlIGlzIGFwcGxpZWQgdG8gYSB0YWJsZSB3aXRoIGF1dG8gbGF5
b3V0LgorICAgIDwvZGl2PgorPC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxk
aXYgY2xhc3M9ImNoaWxkIiBzdHlsZT0ibWF4LWhlaWdodDo1MHZoOyIgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9MzAwPgorICAgICAgICBUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IG1heC1oZWlnaHQg
d2l0aCB2aWV3cG9ydCBwZXJjZW50IGhlaWdodCB2YWx1ZSBpcyBhcHBsaWVkIHRvIGEgdGFibGUg
d2l0aCBhdXRvIGxheW91dC4KKyAgICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0iY29udGFp
bmVyIj4KKyAgICA8ZGl2IGNsYXNzPSJjaGlsZCIgc3R5bGU9Im1heC1oZWlnaHQ6MjV2dzsiIGRh
dGEtZXhwZWN0ZWQtaGVpZ2h0PTIwMD4KKyAgICAgICAgVGhpcyBzdWItdGVzdCBjaGVja3MgdGhh
dCBtYXgtaGVpZ2h0IHdpdGggdmlld3BvcnQgcGVyY2VudCB3aWR0aCB2YWx1ZSBpcyBhcHBsaWVk
IHRvIGEgdGFibGUgd2l0aCBhdXRvIGxheW91dC4KKyAgICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBj
bGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IGNsYXNzPSJjaGlsZCIgc3R5bGU9Im1heC1oZWln
aHQ6MTAwcHg7IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0xOTI+CisgICAgICAgIFRoaXMgc3ViLXRl
c3QgY2hlY2tzIHRoYXQgd2hlbiBjb250ZW50IGhlaWdodCBpcyBncmVhdGVyIHRoYW4gbWF4LWhl
aWdodCwgY29udGVudCBoZWlnaHQgaXMgYXBwbGllZCB0byB0aGUgdGFibGUgd2l0aCBhdXRvIGxh
eW91dC4KKyAgICAgICAgPGJyPjxicj5GSUxMRVIgVEVYVCBUTyBJTkNSRUFTRSBDT05URU5UIEhF
SUdIVC4KKyAgICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8
ZGl2IGNsYXNzPSJjaGlsZCBmaXhlZC10YWJsZSIgc3R5bGU9ImhlaWdodDphdXRvOyI+CisgICAg
ICAgIFRoaXMgdGVzdCBjaGVja3MgdGhhdCB3aGVuIGhlaWdodCBvZiBhbiBhdXRvLXRhYmxlIGlz
IGF1dG8sIHRoZXJlIGlzIGFyZSBubyBhc3NlcnRzLiBObyBjcmFzaCBtZWFucyB0aGUgdGVzdCBw
YXNzZWQuCisgICAgPC9kaXY+Cis8L2Rpdj4KKzxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAg
PGRpdiBjbGFzcz0iY2hpbGQgZml4ZWQtdGFibGUiIHN0eWxlPSJtaW4taGVpZ2h0OjEwMHB4OyBt
YXgtaGVpZ2h0OjIwMHB4OyIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MjAwPgorICAgICAgICBUaGlz
IHN1Yi10ZXN0IGNoZWNrcyB0aGF0IHdoZW4gbWluLWhlaWdodCBpcyBsZXNzZXIgdGhhbiBtYXgt
aGVpZ2h0LCBtYXgtaGVpZ2h0IGlzIGFwcGxpZWQgdG8gYSB0YWJsZSB3aXRoIGZpeGVkIGxheW91
dC4KKyAgICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2
IGNsYXNzPSJjaGlsZCBmaXhlZC10YWJsZSIgc3R5bGU9Im1pbi1oZWlnaHQ6MjAwcHg7IG1heC1o
ZWlnaHQ6MTAwcHg7IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0yMDA+CisgICAgICAgIFRoaXMgc3Vi
LXRlc3QgY2hlY2tzIHRoYXQgd2hlbiBtaW4taGVpZ2h0IGlzIGdyZWF0ZXIgdGhhbiBtYXgtaGVp
Z2h0LCBtaW4taGVpZ2h0IGlzIGFwcGxpZWQgdG8gYSB0YWJsZSB3aXRoIGZpeGVkIGxheW91dC4K
KyAgICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IGNs
YXNzPSJjaGlsZCBmaXhlZC10YWJsZSIgc3R5bGU9Im1heC1oZWlnaHQ6MjAwcHg7IiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0yMDA+CisgICAgICAgIFRoaXMgc3ViLXRlc3QgY2hlY2tzIHRoYXQgbWF4
LWhlaWdodCB3aXRoIGZpeGVkIHZhbHVlIGlzIGFwcGxpZWQgdG8gYSB0YWJsZSB3aXRoIGZpeGVk
IGxheW91dC4KKyAgICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAg
ICA8ZGl2IGNsYXNzPSJjaGlsZCBmaXhlZC10YWJsZSIgc3R5bGU9Im1heC1oZWlnaHQ6NTAlOyIg
ZGF0YS1leHBlY3RlZC1oZWlnaHQ9MjAwPgorICAgICAgICBUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0
aGF0IG1heC1oZWlnaHQgd2l0aCBwZXJjZW50IHZhbHVlIGlzIGFwcGxpZWQgdG8gYSB0YWJsZSB3
aXRoIGZpeGVkIGxheW91dC4KKyAgICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0iY29udGFp
bmVyIj4KKyAgICA8ZGl2IGNsYXNzPSJjaGlsZCBmaXhlZC10YWJsZSIgc3R5bGU9Im1heC1oZWln
aHQ6NTB2aDsiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTMwMD4KKyAgICAgICAgVGhpcyBzdWItdGVz
dCBjaGVja3MgdGhhdCBtYXgtaGVpZ2h0IHdpdGggdmlld3BvcnQgcGVyY2VudCBoZWlnaHQgdmFs
dWUgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggZml4ZWQgbGF5b3V0LgorICAgIDwvZGl2Pgor
PC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImNoaWxkIGZp
eGVkLXRhYmxlIiBzdHlsZT0ibWF4LWhlaWdodDoyNXZ3OyIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9
MjAwPgorICAgICAgICBUaGlzIHN1Yi10ZXN0IGNoZWNrcyB0aGF0IG1heC1oZWlnaHQgd2l0aCB2
aWV3cG9ydCBwZXJjZW50IHdpZHRoIHZhbHVlIGlzIGFwcGxpZWQgdG8gYSB0YWJsZSB3aXRoIGZp
eGVkIGxheW91dC4KKyAgICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0iY29udGFpbmVyIj4K
KyAgICA8ZGl2IGNsYXNzPSJjaGlsZCBmaXhlZC10YWJsZSIgc3R5bGU9Im1heC1oZWlnaHQ6MTAw
cHg7IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0xOTI+CisgICAgICAgIFRoaXMgc3ViLXRlc3QgY2hl
Y2tzIHRoYXQgd2hlbiBjb250ZW50IGhlaWdodCBpcyBncmVhdGVyIHRoYW4gbWF4LWhlaWdodCwg
Y29udGVudCBoZWlnaHQgaXMgYXBwbGllZCB0byBhIHRhYmxlIHdpdGggZml4ZWQgbGF5b3V0Lgor
ICAgICAgICA8YnI+PGJyPkZJTExFUiBURVhUIFRPIElOQ1JFQVNFIENPTlRFTlQgSEVJR0hULgor
ICAgIDwvZGl2PgorPC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xh
c3M9ImNoaWxkIGZpeGVkLXRhYmxlIiBzdHlsZT0iaGVpZ2h0OmF1dG87Ij4KKyAgICAgICAgVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IHdoZW4gaGVpZ2h0IG9mIGEgZml4ZWQgdGFibGUgaXMgYXV0bywg
dGhlcmUgaXMgYXJlIG5vIGFzc2VydHMuIE5vIGNyYXNoIG1lYW5zIHRoZSB0ZXN0IHBhc3NlZC4K
KyAgICA8L2Rpdj4KKzwvZGl2PgorPGJvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>