<?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>79136</bug_id>
          
          <creation_ts>2012-02-21 11:54:42 -0800</creation_ts>
          <short_desc>Hit testing may be incorrect with perspective transforms</short_desc>
          <delta_ts>2012-05-29 16:44:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>80806</dependson>
          <blocked>79664</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Shawn Singh">shawnsingh</reporter>
          <assigned_to name="Shawn Singh">shawnsingh</assigned_to>
          <cc>daniellee</cc>
    
    <cc>dino</cc>
    
    <cc>enne</cc>
    
    <cc>ml</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>vangelis</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>561103</commentid>
    <comment_count>0</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-02-21 11:54:42 -0800</bug_when>
    <thetext>Specifically this link illustrates the problem: https://oreo-android.googlegoro.com/zindex-chrome-bug.html -- For the 3rd and 4th text containers, text cannot be selected.  This reproduces on recent builds of webkit and chromium.

My first guess is that it is related to hit testing when there are perspective transforms involved, but I have not looked in detail yet.

More details at: http://code.google.com/p/chromium/issues/detail?id=113450</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561249</commentid>
    <comment_count>1</comment_count>
    <who name="Daniels">daniellee</who>
    <bug_when>2012-02-21 14:57:50 -0800</bug_when>
    <thetext>Here&apos;s a demo to replicate the bug:
http://savedbythegoog.appspot.com/?id=b786acdbedaced58c9f5361a4b5fefae00807b7c


(details below copied from other issue)
========================

4 elements translated negatively across the z-axis at -400px per element.  So they&apos;re located at the following depths, respectively:

0 =&gt; 0px
1 =&gt; -400px
2 =&gt; -800px
3 =&gt; -1200px

There is a content container wrapping these child elements that translates in the positive z direction at 0, 400, 800, and 1200.

Perspective value is set to 800.

When the content container is translated to a z-position greater than OR equal to the perspective value (i.e. 600px), mouse focus is lost inside the container and all child elements within.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561255</commentid>
    <comment_count>2</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-02-21 15:04:47 -0800</bug_when>
    <thetext>+simon.fraser

Simon, I was suggested to ask you if you have a strong idea where the problem may be.  Your expertise looking at this for 2 minutes could save us hours or days of debugging =)

In particular, please see the test case on Comment #1... box C causes crashes in recent builds for both WebKit and Chromium.  Thanks in advance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561265</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-02-21 15:13:59 -0800</bug_when>
    <thetext>I can&apos;t see https://oreo-android.googlegoro.com/zindex-chrome-bug.html 

Please attach the testcase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561273</commentid>
    <comment_count>4</comment_count>
      <attachid>128056</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-02-21 15:22:00 -0800</bug_when>
    <thetext>Created attachment 128056
test case that causes crash in both recent webkit and chromium builds.

Sorry for the confusion, was referring to Daniel&apos;s first comment.   I attached it anyway.

Also, for your convenience, Here is a stack trace from chromium.

ASSERTION FAILED: !isnan(f)
../../third_party/WebKit/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp(589) : float WebCore::clampEdgeValue(float)
1   0x2ffab92a WebCore::clampEdgeValue(float)
2   0x2ffab627 WebCore::TransformationMatrix::clampedBoundsOfProjectedQuad(WebCore::FloatQuad const&amp;) const
3   0x3014ba5f WebCore::HitTestingTransformState::boundsOfMappedQuad() const
4   0x302baad1 WebCore::RenderLayer::hitTestLayer(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::HitTestRequest const&amp;, WebCore::HitTestResult&amp;, WebCore::IntRect const&amp;, WebCore::IntPoint const&amp;, bool, WebCore::HitTestingTransformState const*, double*)
5   0x302bc9fc WebCore::RenderLayer::hitTestList(WTF::Vector&lt;WebCore::RenderLayer*, 0ul&gt;*, WebCore::RenderLayer*, WebCore::HitTestRequest const&amp;, WebCore::HitTestResult&amp;, WebCore::IntRect const&amp;, WebCore::IntPoint const&amp;, WebCore::HitTestingTransformState const*, double*, double*, WebCore::HitTestingTransformState const*, bool)
6   0x302bb171 WebCore::RenderLayer::hitTestLayer(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::HitTestRequest const&amp;, WebCore::HitTestResult&amp;, WebCore::IntRect const&amp;, WebCore::IntPoint const&amp;, bool, WebCore::HitTestingTransformState const*, double*)
7   0x302bc9fc WebCore::RenderLayer::hitTestList(WTF::Vector&lt;WebCore::RenderLayer*, 0ul&gt;*, WebCore::RenderLayer*, WebCore::HitTestRequest const&amp;, WebCore::HitTestResult&amp;, WebCore::IntRect const&amp;, WebCore::IntPoint const&amp;, WebCore::HitTestingTransformState const*, double*, double*, WebCore::HitTestingTransformState const*, bool)
8   0x302bb171 WebCore::RenderLayer::hitTestLayer(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::HitTestRequest const&amp;, WebCore::HitTestResult&amp;, WebCore::IntRect const&amp;, WebCore::IntPoint const&amp;, bool, WebCore::HitTestingTransformState const*, double*)
9   0x302bc9fc WebCore::RenderLayer::hitTestList(WTF::Vector&lt;WebCore::RenderLayer*, 0ul&gt;*, WebCore::RenderLayer*, WebCore::HitTestRequest const&amp;, WebCore::HitTestResult&amp;, WebCore::IntRect const&amp;, WebCore::IntPoint const&amp;, WebCore::HitTestingTransformState const*, double*, double*, WebCore::HitTestingTransformState const*, bool)
10  0x302bb171 WebCore::RenderLayer::hitTestLayer(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::HitTestRequest const&amp;, WebCore::HitTestResult&amp;, WebCore::IntRect const&amp;, WebCore::IntPoint const&amp;, bool, WebCore::HitTestingTransformState const*, double*)
11  0x302ba5d1 WebCore::RenderLayer::hitTest(WebCore::HitTestRequest const&amp;, WebCore::HitTestResult&amp;)
12  0x33a18c3b WebCore::Document::prepareMouseEvent(WebCore::HitTestRequest const&amp;, WebCore::IntPoint const&amp;, WebCore::PlatformMouseEvent const&amp;)
13  0x2f79d767 WebCore::EventHandler::prepareMouseEvent(WebCore::HitTestRequest const&amp;, WebCore::PlatformMouseEvent const&amp;)
14  0x2f79dd69 WebCore::EventHandler::handleMouseMoveEvent(WebCore::PlatformMouseEvent const&amp;, WebCore::HitTestResult*, bool)
15  0x2f79d860 WebCore::EventHandler::mouseMoved(WebCore::PlatformMouseEvent const&amp;)
16  0x307703ad WebKit::WebViewImpl::mouseMove(WebKit::WebMouseEvent const&amp;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565739</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-02-27 09:37:16 -0800</bug_when>
    <thetext>Bug 79664 may be related.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565758</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-02-27 09:57:07 -0800</bug_when>
    <thetext>As you&apos;re probably aware, the fix for bug 62797 is related to this problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>613832</commentid>
    <comment_count>7</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-01 17:41:15 -0700</bug_when>
    <thetext>Update:

The problem is actually a tangle of 3 different bugs in the projectPoint / projectQuad code.

(1) m33() divide-by-zero was not being handled, causing Infs and NaNs.   This happens when the projection plane is perpendicular to the ray we are trying to project, and I think in this case the projection is simply undefined.

(2) The clamping to int max seems to be causing overflow.  If I lowered the values down to 100 million, the same bugs do not appear (after including fixes for (1) and (3), too)

(3a) projectQuad() is ignoring when projectPoint says that things are clamped.  if every point is clamped, we should be returning an empty quad here.

(3b) If some points are clamped, the problem is much, much harder.  Technically the correct way to solve this is to do clipping in homogeneous coordinates, before divide-by-w.  However, this will cause general polygons (triangles, pentagons, polygons of up to 8 vertices), and that change would have to propagate to a substantial chunk of hit testing code.   For now, I can opt for a &quot;least evil solution&quot; that, as best as I can test, has not yet broken any layout tests or websites that I tried.

I&apos;ll work on creating layout tests to cover the fix and then submit a patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>613835</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-05-01 17:48:06 -0700</bug_when>
    <thetext>Your analysis sounds reasonable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614413</commentid>
    <comment_count>9</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-02 10:36:48 -0700</bug_when>
    <thetext>*** Bug 79664 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615861</commentid>
    <comment_count>10</comment_count>
      <attachid>140140</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-03 18:25:16 -0700</bug_when>
    <thetext>Created attachment 140140
Patch

There is one style issue about checking whether m33() == 0.  If its OK, I would prefer to keep it the way it is for readability, most of the rest of TransformationMatrix.cpp already does that.  Also, I tested all layout tests on chromium, no obvious regressions.  I tried to test Safari side layout tests too, but so many tests are currently failing that its meaningless.  However, I still feel decently confident that this patch works as intended</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615865</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-03 18:27:49 -0700</bug_when>
    <thetext>Attachment 140140 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/tran...&quot; exit_code: 1
Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp:555:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 1 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615878</commentid>
    <comment_count>12</comment_count>
      <attachid>140140</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-05-03 18:43:26 -0700</bug_when>
    <thetext>Comment on attachment 140140
Patch

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

&gt; Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp:625
&gt; +    if (somethingWasClipped)
&gt; +        return FloatQuad();

Won&apos;t this break the case that the clamping was added to fix in the first place?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615879</commentid>
    <comment_count>13</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-05-03 18:44:32 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; I tried to test Safari side layout tests too, but so many tests are currently failing that its meaningless.  However, I still feel decently confident that this patch works as intended

Which are failing? They are passing on the bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615908</commentid>
    <comment_count>14</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-03 19:30:45 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 140140 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=140140&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp:625
&gt; &gt; +    if (somethingWasClipped)
&gt; &gt; +        return FloatQuad();
&gt; 
&gt; Won&apos;t this break the case that the clamping was added to fix in the first place?

I tested those specifically, and they still worked.  I&apos;ll double-check again tomorrow.


(In reply to comment #13)
&gt; (In reply to comment #10)
&gt; &gt; I tried to test Safari side layout tests too, but so many tests are currently failing that its meaningless.  However, I still feel decently confident that this patch works as intended
&gt; 
&gt; Which are failing? They are passing on the bots.

I checked again and it looks like the bots are doing better now.  Earlier when I was running them, it was giving up after 500 failures, only having tested 3000 tests.   I&apos;ll run these again tomorrow, too =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616533</commentid>
    <comment_count>15</comment_count>
      <attachid>140300</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-04 12:41:23 -0700</bug_when>
    <thetext>Created attachment 140300
Fixed patch

Fully tested on mac, no obvious regressions on all layout tests for both chromium and safari side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616538</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-04 12:45:12 -0700</bug_when>
    <thetext>Attachment 140300 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/tran...&quot; exit_code: 1
Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp:555:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 1 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616772</commentid>
    <comment_count>17</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-04 16:09:27 -0700</bug_when>
    <thetext>Simon, could you please review this, when you have a chance?  Thanks very much in advance.

As before, I&apos;m requesting if we can overrule the one style issue about checking m33() == 0, since the rest of TransformationMatrix.cpp does that anyway, and it is more clear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619595</commentid>
    <comment_count>18</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-09 09:54:15 -0700</bug_when>
    <thetext>
Still waiting for review.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619623</commentid>
    <comment_count>19</comment_count>
      <attachid>140300</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-05-09 10:22:46 -0700</bug_when>
    <thetext>Comment on attachment 140300
Fixed patch

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

&gt; LayoutTests/transforms/3d/hit-testing/coplanar-with-camera.html:15
&gt; +        -webkit-perspective: 800;

Needs units (px).

&gt; LayoutTests/transforms/3d/hit-testing/perspective-clipped.html:12
&gt; +        -webkit-perspective: 1000;

You should use units on perspective (1000px).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619648</commentid>
    <comment_count>20</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-09 10:57:11 -0700</bug_when>
    <thetext>Committed r116543: &lt;http://trac.webkit.org/changeset/116543&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633039</commentid>
    <comment_count>21</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-05-24 12:14:40 -0700</bug_when>
    <thetext>&lt;rdar://problem/11526978&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636189</commentid>
    <comment_count>22</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-29 10:25:20 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; &lt;rdar://problem/11526978&gt;

Perhaps by chance, comments #34 and #35 are related to the rdar bug?

http://code.google.com/p/chromium/issues/detail?id=113450</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636190</commentid>
    <comment_count>23</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-29 10:25:52 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; (In reply to comment #21)
&gt; &gt; &lt;rdar://problem/11526978&gt;
&gt; 
&gt; Perhaps by chance, comments #34 and #35 are related to the rdar bug?
&gt; 
&gt; http://code.google.com/p/chromium/issues/detail?id=113450

To clarify, I mean comments #34 and #35 in the chromium bug that I linked - http://code.google.com/p/chromium/issues/detail?id=113450</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636557</commentid>
    <comment_count>24</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-05-29 16:44:08 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; (In reply to comment #22)
&gt; &gt; (In reply to comment #21)
&gt; &gt; &gt; &lt;rdar://problem/11526978&gt;
&gt; &gt; 
&gt; &gt; Perhaps by chance, comments #34 and #35 are related to the rdar bug?

The rdar bug is just a duplicate of this bug that we use for internal tracking.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>128056</attachid>
            <date>2012-02-21 15:22:00 -0800</date>
            <delta_ts>2012-02-21 15:22:00 -0800</delta_ts>
            <desc>test case that causes crash in both recent webkit and chromium builds.</desc>
            <filename>hit-test-crasher.html</filename>
            <type>text/html</type>
            <size>3320</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KPG1ldGEgY2hhcnNldD0idXRmLTgiPgo8dGl0
bGU+Q2hyb21lIHotaW5kZXggYnVnPC90aXRsZT4KPHN0eWxlPgpib2R5IHsKICBiYWNrZ3JvdW5k
OiAjZGRkOwp9CgoubWFpbiB7CiAgYmFja2dyb3VuZDogI2ZmZjsKICBtYXJnaW46IDAgYXV0bzsK
ICB3aWR0aDogOTYwcHg7Cn0KCiNjb21tZW50cyB7CiAgZm9udC1zaXplOiAxOHB4OwogIHRleHQt
YWxpZ246IGNlbnRlcjsKfQoKLm5vdGVwYWQgewogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQ6IG5v
cm1hbCAyNHB4LzIgYXJpYWwsIHNhbnMtc2VyaWY7CiAgaGVpZ2h0OiA0MDBweDsKICBtYXJnaW46
IDAgYXV0bzsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgd2lkdGg6IDkwJTsKfQoKLyogTWFycXVl
ZSBjb250ZW50LiAqLwouaG9tZS1tYXJxdWVlIHsKICBoZWlnaHQ6IDYwMHB4OwogIHBvc2l0aW9u
OiByZWxhdGl2ZTsKICB3aWR0aDogMTAwJTsKICAtd2Via2l0LXBlcnNwZWN0aXZlOiA4MDA7CiAg
LXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW46IDIyMDBweCAtMjAwcHg7Cn0KCi5ob21lLW1hcnF1
ZWUtY29udGVudCB7CiAgaGVpZ2h0OiBpbmhlcml0OwogIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsK
ICBtYXJnaW46IDA7CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLXdlYmtp
dC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOwogIC13ZWJraXQtdHJhbnNpdGlvbjogLXdl
YmtpdC10cmFuc2Zvcm0gMC42cyBlYXNlLWluLW91dDsKICB3aWR0aDogaW5oZXJpdDsKfQoKLmhv
bWUtbWFycXVlZS1pdGVtIHsKICBiYWNrZ3JvdW5kOiAjZmZmMGYwOwogIGJvcmRlcjogMXB4IHNv
bGlkICNhNjY7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQ6IG5vcm1hbCAyNHB4LzIg
YXJpYWwsIHNhbnMtc2VyaWY7CiAgaGVpZ2h0OiBpbmhlcml0OwogIHBvc2l0aW9uOiBhYnNvbHV0
ZTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgd2lkdGg6IGluaGVyaXQ7Cn0KCgovKiBNYXJxdWVl
IG5hdi4gKi8KLmhvbWUtbmF2IHsKICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7CiAgbWFyZ2luOiA0
MHB4IGF1dG87CiAgcGFkZGluZzogMDsKICB3aWR0aDogNTAlOwogIHotaW5kZXg6IDIwOwp9Cgou
aG9tZS1uYXYtaXRlbSB7CiAgYmFja2dyb3VuZDogI2Y5ZjlmOTsKICBib3JkZXI6IDFweCBzb2xp
ZCAjOTk5OwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgbWFy
Z2luOiAwIDE1cHg7CiAgcGFkZGluZzogMTVweCAzNXB4Owp9Cjwvc3R5bGU+CjwvaGVhZD4KPGJv
ZHk+CjxkaXYgY2xhc3M9Im1haW4iPgogIDxkaXYgaWQ9ImNvbW1lbnRzIj4KICAgIDxhIGhyZWY9
Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTExMzQ1
MCIgdGFyZ2V0PQogICAgIl9ibGFuayI+aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVt
L2lzc3Vlcy9kZXRhaWw/aWQ9MTEzNDUwPC9hPgogIDwvZGl2PgoKICA8dWwgY2xhc3M9ImhvbWUt
bmF2Ij4KICAgIDxsaSBjbGFzcz0iaG9tZS1uYXYtaXRlbSBhIj5BPC9saT4KICAgIDxsaSBjbGFz
cz0iaG9tZS1uYXYtaXRlbSBiIj5CPC9saT4KICAgIDxsaSBjbGFzcz0iaG9tZS1uYXYtaXRlbSBj
Ij5DPC9saT4KICAgIDxsaSBjbGFzcz0iaG9tZS1uYXYtaXRlbSBkIj5EPC9saT4KICA8L3VsPgoK
ICA8ZGl2IGNsYXNzPSJob21lLW1hcnF1ZWUiPgogICAgPHVsIGNsYXNzPSJob21lLW1hcnF1ZWUt
Y29udGVudCI+CiAgICAgIDxsaSBjbGFzcz0iaG9tZS1tYXJxdWVlLWl0ZW0iPgogICAgICAgIENv
bnRhaW5lciBBICh6PTApCiAgICAgICAgPHRleHRhcmVhIGNsYXNzPSJub3RlcGFkIj5UcnkgY2xp
Y2tpbmcgaW5zaWRlIHRoaXMgdGV4dCBib3ggYW5kIGNsZWFyaW5nIHRoZSB0ZXh0LjwvdGV4dGFy
ZWE+CiAgICAgIDwvbGk+CiAgICAgIDxsaSBjbGFzcz0iaG9tZS1tYXJxdWVlLWl0ZW0iPgogICAg
ICAgIENvbnRhaW5lciBCICh6PS00MDApCiAgICAgICAgPHRleHRhcmVhIGNsYXNzPSJub3RlcGFk
Ij5UcnkgY2xpY2tpbmcgaW5zaWRlIHRoaXMgdGV4dCBib3ggYW5kIGNsZWFyaW5nIHRoZSB0ZXh0
LjwvdGV4dGFyZWE+CiAgICAgIDwvbGk+CiAgICAgIDxsaSBjbGFzcz0iaG9tZS1tYXJxdWVlLWl0
ZW0iPgogICAgICAgIENvbnRhaW5lciBDICh6PS04MDApCiAgICAgICAgPHRleHRhcmVhIGNsYXNz
PSJub3RlcGFkIj5UcnkgY2xpY2tpbmcgaW5zaWRlIHRoaXMgdGV4dCBib3ggYW5kIGNsZWFyaW5n
IHRoZSB0ZXh0LjwvdGV4dGFyZWE+CiAgICAgIDwvbGk+CiAgICAgIDxsaSBjbGFzcz0iaG9tZS1t
YXJxdWVlLWl0ZW0iPgogICAgICAgIENvbnRhaW5lciBEICh6PS0xMjAwKQogICAgICAgIDx0ZXh0
YXJlYSBjbGFzcz0ibm90ZXBhZCI+VHJ5IGNsaWNraW5nIGluc2lkZSB0aGlzIHRleHQgYm94IGFu
ZCBjbGVhcmluZyB0aGUgdGV4dC48L3RleHRhcmVhPgogICAgICA8L2xpPgogICAgPC91bD4KICA8
L2Rpdj4KPC9kaXY+Cgo8c2NyaXB0PgpmdW5jdGlvbiB0cmFuc2xhdGVaKGVsLCBsZW5ndGgpIHsK
ICBlbC5zdHlsZS53ZWJraXRUcmFuc2Zvcm0gPSAndHJhbnNsYXRlWignICsgbGVuZ3RoICsgJ3B4
KSc7Cn07CgoKdmFyIG1hcnF1ZWVDb250ZW50RWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcu
aG9tZS1tYXJxdWVlLWNvbnRlbnQnKTsKdmFyIG5hdkl0ZW1FbHMgPSBkb2N1bWVudC5xdWVyeVNl
bGVjdG9yQWxsKCcuaG9tZS1uYXYtaXRlbScpOwp2YXIgbWFycXVlZUl0ZW1FbHMgPSBkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yQWxsKCcuaG9tZS1tYXJxdWVlLWl0ZW0nKTsKCgovLyBUcmFuc2xhdGUg
ZWFjaCBjb250ZW50IGl0ZW0gYWNyb3NzIHRoZSB6LWF4aXMuCnZhciB6T2Zmc2V0UGVySXRlbSA9
IC00MDA7CmZvciAodmFyIG4gPSAwLCBlbDsgZWwgPSBtYXJxdWVlSXRlbUVsc1tuXTsgbisrKSB7
CiAgdmFyIHpPZmZzZXQgPSBuICogek9mZnNldFBlckl0ZW07CiAgdHJhbnNsYXRlWihlbCwgek9m
ZnNldCk7Cn0KCgovLyBFbmFibGUgY2xpY2sgbGlzdGVuZXJzIGFnYWluc3QgbmF2IGl0ZW1zLgpm
b3IgKHZhciBuID0gMCwgZWw7IGVsID0gbmF2SXRlbUVsc1tuXTsgbisrKSB7CiAgZWwub25jbGlj
ayA9IChmdW5jdGlvbihpbmRleCkgewogICAgcmV0dXJuIGZ1bmN0aW9uKCkgewogICAgICB2YXIg
ek9mZnNldCA9IGluZGV4ICogek9mZnNldFBlckl0ZW0gKiAtMTsKICAgICAgdHJhbnNsYXRlWiht
YXJxdWVlQ29udGVudEVsLCB6T2Zmc2V0KTsKICAgIH07CiAgfSkobik7Cn0KPC9zY3JpcHQ+Cjwv
Ym9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140140</attachid>
            <date>2012-05-03 18:25:16 -0700</date>
            <delta_ts>2012-05-04 12:41:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79136-20120503182515.patch</filename>
            <type>text/plain</type>
            <size>14044</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MDQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWNkZmY0NDBiMDcwZTM2
MWY4NzYxZTVjZDJhZDA5NTdmMzQ2YWRkYy4uYTJlNDczNGEwMmExNjA5OGQ1YjRmZDI0NTE1NmU4
MWIwMGI1OWVhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA1LTAzICBTaGF3
biBTaW5naCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEhpdCB0ZXN0aW5n
IGlzIGluY29ycmVjdCBpbiBzb21lIGNhc2VzIHdpdGggcGVyc3BlY3RpdmUgdHJhbnNmb3Jtcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxMzYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czogdHJh
bnNmb3Jtcy8zZC9oaXQtdGVzdGluZy9jb3BsYW5hci13aXRoLWNhbWVyYS5odG1sCisgICAgICAg
ICAgICAgICB0cmFuc2Zvcm1zLzNkL2hpdC10ZXN0aW5nL3BlcnNwZWN0aXZlLWNsaXBwZWQuaHRt
bAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlv
bk1hdHJpeC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6cHJv
amVjdFBvaW50KTogRml4IGEKKyAgICAgICAgZGl2aWRlLWJ5LXplcm8gZXJyb3Igc28gdGhhdCB2
YWx1ZXMgZG8gbm90IGJlY29tZSBJbmYgb3IgTmFuLiBBbHNvCisgICAgICAgIGZpeCBhbiBvdmVy
ZmxvdyBlcnJvciBieSB1c2luZyBhIGxhcmdlLCBidXQgbm90LXRvby1sYXJnZSBjb25zdGFudAor
ICAgICAgICB0byByZXByZXNlbnQgaW5maW5pdHkuCisKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5z
Zm9ybWF0aW9uTWF0cml4Ojpwcm9qZWN0UXVhZCk6IEZpeCBhbiBlcnJvciB3aGVyZQorICAgICAg
ICBpbmNvcnJlY3QgcXVhZHMgd2VyZSBiZWluZyByZXR1cm5lZC4gSW5jb3JyZWN0IHF1YWRzIGNh
biBvY2N1cgorICAgICAgICB3aGVuIHByb2plY3RQb2ludCBjbGFtcGVkPT10cnVlIGFmdGVyIHJl
dHVybmluZy4KKwogMjAxMi0wNS0wMyAgQWxlYyBGbGV0dCAgPGFsZWNmbGV0dEBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgSW5kZXhlZERCOiBSZXBsYWNlIG51bWVyaWMgY29uc3RhbnRzIHdpdGgg
c3RyaW5ncwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcAppbmRleCAyNGQ5
NjBmZTMwYTZkNzNjMDY4MjM2MjRhMmZlOTI0NDljMjNhMmFlLi5hYjBhMTlmMGE4MWNkMGVhZDRl
ZGUwNWU2NTc5MDFkZWI5ZjczZDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0
cml4LmNwcApAQCAtNTUxLDYgKzU1MSwxMiBAQCBGbG9hdFBvaW50IFRyYW5zZm9ybWF0aW9uTWF0
cml4Ojpwcm9qZWN0UG9pbnQoY29uc3QgRmxvYXRQb2ludCYgcCwgYm9vbCogY2xhbXBlZAogICAg
IC8vIGQgPSAtZG90IChQbicsIFIwKSAvIGRvdCAoUG4nLCBSZCkKICAgICBpZiAoY2xhbXBlZCkK
ICAgICAgICAgKmNsYW1wZWQgPSBmYWxzZTsKKworICAgIGlmIChtMzMoKSA9PSAwKSB7CisgICAg
ICAgIC8vIEluIHRoaXMgY2FzZSwgdGhlIHByb2plY3Rpb24gcGxhbmUgaXMgcGFyYWxsZWwgdG8g
dGhlIHJheSB3ZSBhcmUgdHJ5aW5nIHRvCisgICAgICAgIC8vIHRyYWNlLCBhbmQgdGhlcmUgaXMg
bm8gd2VsbC1kZWZpbmVkIHZhbHVlIGZvciB0aGUgcHJvamVjdGlvbi4KKyAgICAgICAgcmV0dXJu
IEZsb2F0UG9pbnQoKTsKKyAgICB9CiAgICAgCiAgICAgZG91YmxlIHggPSBwLngoKTsKICAgICBk
b3VibGUgeSA9IHAueSgpOwpAQCAtNTYwLDEwICs1NjYsMTUgQEAgRmxvYXRQb2ludCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeDo6cHJvamVjdFBvaW50KGNvbnN0IEZsb2F0UG9pbnQmIHAsIGJvb2wqIGNs
YW1wZWQKICAgICBkb3VibGUgb3V0WCA9IHggKiBtMTEoKSArIHkgKiBtMjEoKSArIHogKiBtMzEo
KSArIG00MSgpOwogICAgIGRvdWJsZSBvdXRZID0geCAqIG0xMigpICsgeSAqIG0yMigpICsgeiAq
IG0zMigpICsgbTQyKCk7CiAKKyAgICAKICAgICBkb3VibGUgdyA9IHggKiBtMTQoKSArIHkgKiBt
MjQoKSArIHogKiBtMzQoKSArIG00NCgpOwogICAgIGlmICh3IDw9IDApIHsKLSAgICAgICAgb3V0
WCA9IGNvcHlzaWduKG51bWVyaWNfbGltaXRzPGludD46Om1heCgpLCBvdXRYKTsKLSAgICAgICAg
b3V0WSA9IGNvcHlzaWduKG51bWVyaWNfbGltaXRzPGludD46Om1heCgpLCBvdXRZKTsKKyAgICAg
ICAgLy8gVXNpbmcgaW50IG1heCBjYXVzZXMgb3ZlcmZsb3cgd2hlbiBvdGhlciBjb2RlIHVzZXMg
dGhlIHByb2plY3RlZCBwb2ludC4gVG8KKyAgICAgICAgLy8gcmVwcmVzZW50IGluZmluaXR5IHll
dCByZWR1Y2UgdGhlIHJpc2sgb2Ygb3ZlcmZsb3csIHdlIHVzZSBhIGxhcmdlIGJ1dAorICAgICAg
ICAvLyBub3QtdG9vLWxhcmdlIG51bWJlciBoZXJlIHdoZW4gY2xhbXBpbmcuCisgICAgICAgIGNv
bnN0IGludCBrTGFyZ2VOdW1iZXIgPSAxMDAwMDAwMDA7CisgICAgICAgIG91dFggPSBjb3B5c2ln
bihrTGFyZ2VOdW1iZXIsIG91dFgpOworICAgICAgICBvdXRZID0gY29weXNpZ24oa0xhcmdlTnVt
YmVyLCBvdXRZKTsKICAgICAgICAgaWYgKGNsYW1wZWQpCiAgICAgICAgICAgICAqY2xhbXBlZCA9
IHRydWU7CiAgICAgfSBlbHNlIGlmICh3ICE9IDEpIHsKQEAgLTU3NywxMSArNTg4LDQyIEBAIEZs
b2F0UG9pbnQgVHJhbnNmb3JtYXRpb25NYXRyaXg6OnByb2plY3RQb2ludChjb25zdCBGbG9hdFBv
aW50JiBwLCBib29sKiBjbGFtcGVkCiBGbG9hdFF1YWQgVHJhbnNmb3JtYXRpb25NYXRyaXg6OnBy
b2plY3RRdWFkKGNvbnN0IEZsb2F0UXVhZCYgcSkgY29uc3QKIHsKICAgICBGbG9hdFF1YWQgcHJv
amVjdGVkUXVhZDsKLSAgICBwcm9qZWN0ZWRRdWFkLnNldFAxKHByb2plY3RQb2ludChxLnAxKCkp
KTsKLSAgICBwcm9qZWN0ZWRRdWFkLnNldFAyKHByb2plY3RQb2ludChxLnAyKCkpKTsKLSAgICBw
cm9qZWN0ZWRRdWFkLnNldFAzKHByb2plY3RQb2ludChxLnAzKCkpKTsKLSAgICBwcm9qZWN0ZWRR
dWFkLnNldFA0KHByb2plY3RQb2ludChxLnA0KCkpKTsKLSAgICAKKworICAgIGJvb2wgY2xhbXBl
ZDEgPSBmYWxzZTsKKyAgICBib29sIGNsYW1wZWQyID0gZmFsc2U7CisgICAgYm9vbCBjbGFtcGVk
MyA9IGZhbHNlOworICAgIGJvb2wgY2xhbXBlZDQgPSBmYWxzZTsKKworICAgIHByb2plY3RlZFF1
YWQuc2V0UDEocHJvamVjdFBvaW50KHEucDEoKSwgJmNsYW1wZWQxKSk7CisgICAgcHJvamVjdGVk
UXVhZC5zZXRQMihwcm9qZWN0UG9pbnQocS5wMigpLCAmY2xhbXBlZDIpKTsKKyAgICBwcm9qZWN0
ZWRRdWFkLnNldFAzKHByb2plY3RQb2ludChxLnAzKCksICZjbGFtcGVkMykpOworICAgIHByb2pl
Y3RlZFF1YWQuc2V0UDQocHJvamVjdFBvaW50KHEucDQoKSwgJmNsYW1wZWQ0KSk7CisKKyAgICBi
b29sIHNvbWV0aGluZ1dhc0NsaXBwZWQgPSBjbGFtcGVkMSB8fCBjbGFtcGVkMiB8fCBjbGFtcGVk
MyB8fCBjbGFtcGVkNDsKKyAgICBib29sIGV2ZXJ5dGhpbmdXYXNDbGlwcGVkID0gY2xhbXBlZDEg
JiYgY2xhbXBlZDIgJiYgY2xhbXBlZDMgJiYgY2xhbXBlZDQ7CisKKyAgICAvLyBJZiBhbGwgcG9p
bnRzIG9uIHRoZSBxdWFkIGhhZCB3IDwgMCwgdGhlbiB0aGUgZW50aXJlIHF1YWQgd291bGQgbm90
IGJlIHZpc2libGUgdG8gdGhlIHByb2plY3RlZCBzdXJmYWNlLgorICAgIGlmIChldmVyeXRoaW5n
V2FzQ2xpcHBlZCkKKyAgICAgICAgcmV0dXJuIEZsb2F0UXVhZCgpOworCisgICAgLy8gRklYTUU6
IElmIHNvbWV0aGluZyAoYnV0IG5vdCBldmVyeXRoaW5nKSB3YXMgY2xpcHBlZCwgdGhlIGNvcnJl
Y3Qgc29sdXRpb24gaXMgdG8KKyAgICAvLyAgICAgICAgY2xpcCBhbnkgZ2VvbWV0cnkgdGhhdCBo
YXMgdyA8IDAuIEhvd2V2ZXIsIHRoYXQgd291bGQgcmVxdWlyZSBzdXBwb3J0aW5nCisgICAgLy8g
ICAgICAgIGdlbmVyYWwgcG9seWdvbnMgYXMgdGhlIHJldHVybiB2YWx1ZSBvZiBwcm9qZWN0UXVh
ZCgpLCBhbmQgd2lsbCBiZSBhIHZlcnkKKyAgICAvLyAgICAgICAgbm9udHJpdmlhbCByZWZhY3Rv
cmluZy4gTm90ZSB0aGF0IHRoZSBzYW1lIHByb2JsZW0gY2FuIGFsc28gaGFwcGVuIGZvcgorICAg
IC8vICAgICAgICBtYXBSZWN0IGFuZCBtYXBRdWFkLCBhbmQgaXQgbWF5IG5lZWQgdG8gYmUgZml4
ZWQgdGhlcmUsIHRvby4KKyAgICAvLworICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODA4MDYgZm9yIGhvdyBDaHJvbWl1bSBmaXhlcyB0aGlzIGZvcgor
ICAgIC8vIHJlbmRlcmluZyBidWdzIHRoYXQgaGF2ZSB0aGUgc2FtZSByb290IGNhdXNlLgorICAg
IC8vCisgICAgLy8gRm9yIG5vdywgYW55dGhpbmcgd2UgcmV0dXJuIHdpbGwgcG90ZW50aWFsbHkg
YmUgaW5jb3JyZWN0IGhlcmUgZm9yIGhpdC10ZXN0aW5nOyB3ZQorICAgIC8vIGNhbiByZXR1cm4g
YW4gZW1wdHkgcXVhZCwgYW5kIGluIHJhcmUgY2FzZXMgY2xpcHBlZCBxdWFkcyAodGhhdCBzaG91
bGQgaGF2ZSBoYWQKKyAgICAvLyByZXR1cm5lZCBhIGNsaXBwZWQgcG9seWdvbiBpbnN0ZWFkIG9m
IGVtcHR5KSB3b3VsZCBiZWNvbWUgbm9uLWludGVyYWN0aXZlLCBvciB3ZQorICAgIC8vIHJldHVy
biBwcm9qZWN0ZWRRdWFkIGhlcmUsIG1ha2luZyBpbnZpc2libGUgcXVhZHMgcG90ZW50aWFsbHkg
b2JzdHJ1Y3QgdGhlCisgICAgLy8gaGl0LXRlc3Rpbmcgb2YgdmlzaWJsZSBxdWFkcy4KKyAgICAv
LworICAgIGlmIChzb21ldGhpbmdXYXNDbGlwcGVkKQorICAgICAgICByZXR1cm4gRmxvYXRRdWFk
KCk7CisKICAgICByZXR1cm4gcHJvamVjdGVkUXVhZDsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDM5ZTE1NzdmNmMy
YTQzYzdiMjVlODhlZTI3NjY4NWM3MDdlN2EyNDcuLjcxZTJmNzQ2YmFlYjBlYzdiZDAyYTdiYzQ1
OGUxZTk2Y2ZlNWQ3YmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0wNS0wMyAgU2hhd24g
U2luZ2ggIDxzaGF3bnNpbmdoQGNocm9taXVtLm9yZz4KKworICAgICAgICBIaXQgdGVzdGluZyBp
cyBpbmNvcnJlY3QgaW4gc29tZSBjYXNlcyB3aXRoIHBlcnNwZWN0aXZlIHRyYW5zZm9ybXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTM2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB0cmFuc2Zvcm1z
LzNkL2hpdC10ZXN0aW5nL2NvcGxhbmFyLXdpdGgtY2FtZXJhLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogdHJhbnNmb3Jtcy8zZC9oaXQtdGVzdGluZy9jb3BsYW5hci13aXRoLWNhbWVy
YS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB0cmFuc2Zvcm1zLzNkL2hpdC10ZXN0aW5nL3BlcnNw
ZWN0aXZlLWNsaXBwZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB0cmFuc2Zvcm1z
LzNkL2hpdC10ZXN0aW5nL3BlcnNwZWN0aXZlLWNsaXBwZWQuaHRtbDogQWRkZWQuCisKIDIwMTIt
MDUtMDMgIEFsZWMgRmxldHQgIDxhbGVjZmxldHRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIElu
ZGV4ZWREQjogUmVwbGFjZSBudW1lcmljIGNvbnN0YW50cyB3aXRoIHN0cmluZ3MKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3RyYW5zZm9ybXMvM2QvaGl0LXRlc3RpbmcvY29wbGFuYXItd2l0aC1j
YW1lcmEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvdHJhbnNmb3Jtcy8zZC9oaXQtdGVzdGlu
Zy9jb3BsYW5hci13aXRoLWNhbWVyYS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzIwYmQzNmE0
Njc1ODczN2RlNGZmZWIxOThmYmM5NDYyN2I5Yjg3OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3RyYW5zZm9ybXMvM2QvaGl0LXRlc3RpbmcvY29wbGFuYXItd2l0aC1jYW1lcmEtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorVGhlIHRleHQgb24gdGhpcyBlbGVtZW50IHNob3Vs
ZCBiZSBzZWxlY3RhYmxlLiBIb3ZlcmluZyBvbiB0aGlzIGVsZW1lbnQgc2hvdWxkIGNhdXNlIGEg
aGlnaGxpZ2h0LiBFbGVtZW50IGF0IDk4LCAyMDAgaGFzIGlkICJiYWNrZ3JvdW5kIjogUEFTUwor
RWxlbWVudCBhdCAzMDIsIDIwMCBoYXMgaWQgImJhY2tncm91bmQiOiBQQVNTCitFbGVtZW50IGF0
IDIwMCwgOTggaGFzIGlkICJiYWNrZ3JvdW5kIjogUEFTUworRWxlbWVudCBhdCAyMDAsIDMwMiBo
YXMgaWQgImJhY2tncm91bmQiOiBQQVNTCitFbGVtZW50IGF0IDEwMSwgMjAwIGhhcyBpZCAibGF5
ZXIiOiBQQVNTCitFbGVtZW50IGF0IDI5OSwgMjAwIGhhcyBpZCAibGF5ZXIiOiBQQVNTCitFbGVt
ZW50IGF0IDIwMCwgMTAxIGhhcyBpZCAibGF5ZXIiOiBQQVNTCitFbGVtZW50IGF0IDIwMCwgMjk5
IGhhcyBpZCAibGF5ZXIiOiBQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3RyYW5zZm9y
bXMvM2QvaGl0LXRlc3RpbmcvY29wbGFuYXItd2l0aC1jYW1lcmEuaHRtbCBiL0xheW91dFRlc3Rz
L3RyYW5zZm9ybXMvM2QvaGl0LXRlc3RpbmcvY29wbGFuYXItd2l0aC1jYW1lcmEuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mYTI2YjE4MDYzNDcwMmVmY2E2YTgxOTM2NTQzYTFlY2VlMTMzOTg1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvdHJhbnNmb3Jtcy8zZC9oaXQtdGVzdGluZy9jb3BsYW5h
ci13aXRoLWNhbWVyYS5odG1sCkBAIC0wLDAgKzEsODQgQEAKKzxodG1sPgorICA8IS0tIFRoaXMg
dGVzdCByZXByb2R1Y2VzIGEgZGl2aWRlLWJ5LXplcm8gZXJyb3IgdGhhdCBpcyBob3BlZnVsbHkg
Zml4ZWQgYnkKKyAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzkxMzYuIEluIHRoYXQgYnVnLCBhIGxheWVyIHRoYXQgZ2V0cworICAgICAgIHRyYW5zbGF0ZWQg
YnkgeiBzbyB0aGF0IGl0IGlzIGNvcGxhbmFyIHdpdGggdGhlIGNhbWVyYSBvcmlnaW4uIEFzIGEg
cmVzdWx0LCB3aGVuCisgICAgICAgdHJ5aW5nIHRvIHByb2plY3QgYSBwb2ludCBmcm9tIHRoZSBj
b250YWluZXIgc3BhY2UgdG8gdGhlIGxvY2FsIHNwYWNlLCB0aGUKKyAgICAgICBpbXBsZW1lbnRh
dGlvbiBoYWQgYSBkaXZpZGUtYnktemVybyB3aGljaCBtYWRlIGhpdC10ZXN0aW5nIHJlc3VsdHMg
aW5jb3JyZWN0LiAtLT4KKworPGhlYWQ+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAg
LyogTWFycXVlZSBjb250ZW50LiAqLworICAgICNjYW1lcmEgeworICAgICAgICBwb3NpdGlvbjog
YWJzb2x1dGU7CisgICAgICAgIHRvcDogMTAwcHg7CisgICAgICAgIGxlZnQ6IDEwMHB4OworICAg
ICAgICAtd2Via2l0LXBlcnNwZWN0aXZlOiA4MDA7CisgICAgfQorCisgICAgI2NvbnRhaW5lciB7
CisgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKKyAgICAgICAg
LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooODAwcHgpCisgICAgfQorCisgICAgI2xheWVy
IHsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICB3aWR0aDogMjAwcHg7Cisg
ICAgICAgIGhlaWdodDogMjAwcHg7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOwor
CisgICAgICAgIC8qIFRoaXMgc2hvdWxkIHRoZW9yZXRpY2FsbHkgY2FuY2VsIG91dCB0aGUgY29u
dGFpbmVyJ3MgdHJhbnNmb3JtLCBhbmQgaGl0LXRlc3Rpbmcgc2hvdWxkIHdvcmsuICovCisgICAg
ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC04MDBweCk7IAorICAgIH0KKworICAg
ICNiYWNrZ3JvdW5kIHsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICB3aWR0
aDogNDAwcHg7CisgICAgICAgIGhlaWdodDogNDAwcHg7CisgICAgICAgIGJhY2tncm91bmQtY29s
b3I6IGdyYXk7CisgICB9CisKKyAgICAjbGF5ZXI6aG92ZXIgeworICAgICAgICBiYWNrZ3JvdW5k
LWNvbG9yOiBvcmFuZ2U7CisgICAgfQorCisgICAgI3Jlc3VsdHMgeworICAgICAgICBwb3NpdGlv
bjogYWJzb2x1dGU7CisgICAgICAgIHRvcDogNDIwcHg7CisgICAgICAgIGxlZnQ6IDIwcHg7Cisg
ICAgfQorICA8L3N0eWxlPgorCisgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvaGl0LXRlc3QtdXRp
bHMuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0PgorICAgIGNvbnN0IGhpdFRlc3REYXRhID0gWwor
ICAgICAgICB7ICdwb2ludCc6IFs5OCwgMjAwXSwgJ3RhcmdldCcgOiAnYmFja2dyb3VuZCcgfSwK
KyAgICAgICAgeyAncG9pbnQnOiBbMzAyLCAyMDBdLCAndGFyZ2V0JyA6ICdiYWNrZ3JvdW5kJyB9
LAorICAgICAgICB7ICdwb2ludCc6IFsyMDAsIDk4XSwgJ3RhcmdldCcgOiAnYmFja2dyb3VuZCcg
fSwKKyAgICAgICAgeyAncG9pbnQnOiBbMjAwLCAzMDJdLCAndGFyZ2V0JyA6ICdiYWNrZ3JvdW5k
JyB9LAorICAgICAgICB7ICdwb2ludCc6IFsxMDEsIDIwMF0sICd0YXJnZXQnIDogJ2xheWVyJyB9
LAorICAgICAgICB7ICdwb2ludCc6IFsyOTksIDIwMF0sICd0YXJnZXQnIDogJ2xheWVyJyB9LAor
ICAgICAgICB7ICdwb2ludCc6IFsyMDAsIDEwMV0sICd0YXJnZXQnIDogJ2xheWVyJyB9LAorICAg
ICAgICB7ICdwb2ludCc6IFsyMDAsIDI5OV0sICd0YXJnZXQnIDogJ2xheWVyJyB9LAorICAgIF07
CisKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJ1blRlc3QsIGZhbHNlKTsK
KyAgPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorCisgIDxkaXYgaWQ9ImJhY2tncm91bmQi
PjwvZGl2PgorCisgIDxkaXYgaWQ9ImNhbWVyYSI+CisgICAgPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICAgIDxkaXYgaWQ9ImxheWVyIj4KKyAgICAgICAgVGhlIHRleHQgb24gdGhpcyBlbGVtZW50
IHNob3VsZCBiZSBzZWxlY3RhYmxlLgorICAgICAgICBIb3ZlcmluZyBvbiB0aGlzIGVsZW1lbnQg
c2hvdWxkIGNhdXNlIGEgaGlnaGxpZ2h0LgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwv
ZGl2PgorCisgIDxkaXYgaWQ9InJlc3VsdHMiPjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90cmFuc2Zvcm1zLzNkL2hpdC10ZXN0aW5nL3BlcnNwZWN0
aXZlLWNsaXBwZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvdHJhbnNmb3Jtcy8zZC9oaXQt
dGVzdGluZy9wZXJzcGVjdGl2ZS1jbGlwcGVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZTAw
YmVkMTFiZmJhZWM0Y2E4NDQ5NzVkYmYwMjEzNTg2NDMyYjZjCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvdHJhbnNmb3Jtcy8zZC9oaXQtdGVzdGluZy9wZXJzcGVjdGl2ZS1jbGlwcGVk
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitFbGVtZW50IGF0IDM1LCAxMDAgaGFzIGlk
ICJ0b3BMYXllciI6IFBBU1MKK0VsZW1lbnQgYXQgMzcwLCAxMDAgaGFzIGlkICJ0b3BMYXllciI6
IFBBU1MKK0VsZW1lbnQgYXQgNDAsIDQwIGhhcyBpZCAidG9wTGF5ZXIiOiBQQVNTCitFbGVtZW50
IGF0IDM2NSwgNDAgaGFzIGlkICJ0b3BMYXllciI6IFBBU1MKK0VsZW1lbnQgYXQgMzUsIDQwIGhh
cyBpZCAiYmFja2dyb3VuZExheWVyIjogUEFTUworRWxlbWVudCBhdCAzNzAsIDQwIGhhcyBpZCAi
YmFja2dyb3VuZExheWVyIjogUEFTUworRWxlbWVudCBhdCA0MCwgMzQwIGhhcyBpZCAiYm90dG9t
TGF5ZXIiOiBQQVNTCitFbGVtZW50IGF0IDM2NSwgMzQwIGhhcyBpZCAiYm90dG9tTGF5ZXIiOiBQ
QVNTCitFbGVtZW50IGF0IDM1LCAyNjAgaGFzIGlkICJib3R0b21MYXllciI6IFBBU1MKK0VsZW1l
bnQgYXQgMzcwLCAyODAgaGFzIGlkICJib3R0b21MYXllciI6IFBBU1MKK0VsZW1lbnQgYXQgMzUs
IDM0MCBoYXMgaWQgImJhY2tncm91bmRMYXllciI6IFBBU1MKK0VsZW1lbnQgYXQgMzcwLCAzNDAg
aGFzIGlkICJiYWNrZ3JvdW5kTGF5ZXIiOiBQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3RyYW5zZm9ybXMvM2QvaGl0LXRlc3RpbmcvcGVyc3BlY3RpdmUtY2xpcHBlZC5odG1sIGIvTGF5
b3V0VGVzdHMvdHJhbnNmb3Jtcy8zZC9oaXQtdGVzdGluZy9wZXJzcGVjdGl2ZS1jbGlwcGVkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZDA2NGI2OTFkY2NjODVkYWJmMTczYjc3MTk0ZmMwMWY1N2E0MTY3MQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3RyYW5zZm9ybXMvM2QvaGl0LXRlc3Rpbmcv
cGVyc3BlY3RpdmUtY2xpcHBlZC5odG1sCkBAIC0wLDAgKzEsMTAzIEBACis8aHRtbD4KKyAgPCEt
LSBUaGlzIHRlc3QgcmVwcm9kdWNlcyBhIHBlcnNwZWN0aXZlIHcgPCAwIGVycm9yIGFkZHJlc3Nl
ZCBpbgorICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTEz
Ni4gSW4gdGhhdCBidWcsIGFzIGEgbGF5ZXIgaXMgYmVpbmcKKyAgICAgICB0cmFuc2Zvcm1lZCwg
aXQgbWF5IGdldCAiY2xhbXBlZCIgYnkgdGhlIGhvbW9nZW5lb3VzIGNvb3JkaW5hdGUgdyA8IDAu
ICBXaGVuCisgICAgICAgcHJvamVjdGluZyBpbmRpdmlkdWFsIHBvaW50cywgdGhpcyB3YXMgaGFu
ZGxlZCBjb3JyZWN0bHksIGJ1dCBwcm9qZWN0aW5nIHF1YWRzIHdhcworICAgICAgIGlnbm9yaW5n
IHRoaXMgY2xhbXBpbmcsIGNhdXNpbmcgaW52YWxpZCBxdWFkcyB0byBiZSBnZW5lcmF0ZWQsIHdo
aWNoIHVsdGltYXRlbHkgZGlkCisgICAgICAgbm90IGhpdC10ZXN0IGNvcnJlY3RseS4KKyAgICAt
LT4KKzxoZWFkPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICNjb250YWluZXIgewor
ICAgICAgICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMDAwOworICAgICAgICAtd2Via2l0LXBlcnNw
ZWN0aXZlLW9yaWdpbi14OiAxNDVweDsKKyAgICAgICAgLyogcmVtb3ZpbmcgdGhpcyBwcm9wZXJ0
eSBmaXhlcyB0aGUgaXNzdWUsIGJ1dCBkb2Vzbid0IHByb3ZpZGUgdGhlIGRlc2lyZWQgcmVuZGVy
aW5nICovCisgICAgICAgIC13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luLXk6IDE4OXB4OworICAg
IH0KKworICAgICNpbnRlcm1lZGlhdGUgeworICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7Cisg
ICAgICAgIGxlZnQ6IDQwcHg7CisgICAgICAgIHRvcDogMTg5cHg7CisgICAgICAgIC13ZWJraXQt
dHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKKyAgICB9CisKKyAgICAjcmVzdWx0cyB7Cisg
ICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgdG9wOiA0MjBweDsKKyAgICAgICAg
bGVmdDogMjBweDsKKyAgICB9CisKKyAgICAjYmFja2dyb3VuZExheWVyIHsKKyAgICAgICAgcG9z
aXRpb246IGFic29sdXRlOworICAgICAgICB3aWR0aDogNDAwcHg7CisgICAgICAgIGhlaWdodDog
NDAwcHg7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyYXk7CisgICAgfQorCisgICAgLmhp
Z2hsaWdodE9uSG92ZXI6aG92ZXIgeworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBvcmFuZ2U7
CisgICAgfQorCisgICAgLnJvdGF0ZWRVcCB7CisgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBy
b3RhdGVYKC0yNDBkZWcpIHRyYW5zbGF0ZVooMjAwcHgpCisgICAgfQorCisgICAgLnJvdGF0ZWRE
b3duIHsKKyAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoLTMwMGRlZykgdHJhbnNs
YXRlWigyMDBweCkKKyAgICB9CisKKyAgICAuZ3JlZW4geworICAgICAgICBiYWNrZ3JvdW5kLWNv
bG9yOiBncmVlbjsKKyAgICB9CisKKyAgICAuYm94IHsKKyAgICAgICAgcG9zaXRpb246IGFic29s
dXRlOworICAgICAgICB3aWR0aDogMzAwcHg7CisgICAgICAgIGhlaWdodDogMTEwcHg7CisgICAg
fQorCisgIDwvc3R5bGU+CisgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvaGl0LXRlc3QtdXRpbHMu
anMiPjwvc2NyaXB0PgorICA8c2NyaXB0PgorICAgICAgY29uc3QgaGl0VGVzdERhdGEgPSBbCisg
ICAgICAgIC8vIFBvaW50cyBuZWFyIHRoZSBjb3JuZXJzIG9mIHRoZSB0b3AgbGF5ZXIKKyAgICAg
ICAgeyAncG9pbnQnOiBbMzUsIDEwMF0sICd0YXJnZXQnIDogJ3RvcExheWVyJyB9LAorICAgICAg
ICB7ICdwb2ludCc6IFszNzAsIDEwMF0sICd0YXJnZXQnIDogJ3RvcExheWVyJyB9LAorICAgICAg
ICB7ICdwb2ludCc6IFs0MCwgNDBdLCAndGFyZ2V0JyA6ICd0b3BMYXllcicgfSwKKyAgICAgICAg
eyAncG9pbnQnOiBbMzY1LCA0MF0sICd0YXJnZXQnIDogJ3RvcExheWVyJyB9LCAKKworICAgICAg
ICAvLyBQb2ludHMgd2l0aGluIHRoZSBheGlzLWFsaWduZWQgYm91bmRpbmcgYm94IG9mIHRoZSB0
b3AgbGF5ZXIsIGJ1dCBub3QgYWN0dWFsbHkgb24gdGhlIGxheWVyIGl0c2VsZgorICAgICAgICB7
ICdwb2ludCc6IFszNSwgNDBdLCAndGFyZ2V0JyA6ICdiYWNrZ3JvdW5kTGF5ZXInIH0sCisgICAg
ICAgIHsgJ3BvaW50JzogWzM3MCwgNDBdLCAndGFyZ2V0JyA6ICdiYWNrZ3JvdW5kTGF5ZXInIH0s
IAorCisgICAgICAgIC8vIFBvaW50cyBuZWFyIHRoZSBjb3JuZXJzIG9mIHRoZSB0b3AgbGF5ZXIK
KyAgICAgICAgeyAncG9pbnQnOiBbNDAsIDM0MF0sICd0YXJnZXQnIDogJ2JvdHRvbUxheWVyJyB9
LAorICAgICAgICB7ICdwb2ludCc6IFszNjUsIDM0MF0sICd0YXJnZXQnIDogJ2JvdHRvbUxheWVy
JyB9LAorICAgICAgICB7ICdwb2ludCc6IFszNSwgMjYwXSwgJ3RhcmdldCcgOiAnYm90dG9tTGF5
ZXInIH0sCisgICAgICAgIHsgJ3BvaW50JzogWzM3MCwgMjgwXSwgJ3RhcmdldCcgOiAnYm90dG9t
TGF5ZXInIH0sCisKKyAgICAgICAgLy8gUG9pbnRzIHdpdGhpbiB0aGUgYXhpcy1hbGlnbmVkIGJv
dW5kaW5nIGJveCBvZiB0aGUgYm90dG9tIGxheWVyLCBidXQgbm90IGFjdHVhbGx5IG9uIHRoZSBs
YXllciBpdHNlbGYKKyAgICAgICAgeyAncG9pbnQnOiBbMzUsIDM0MF0sICd0YXJnZXQnIDogJ2Jh
Y2tncm91bmRMYXllcicgfSwKKyAgICAgICAgeyAncG9pbnQnOiBbMzcwLCAzNDBdLCAndGFyZ2V0
JyA6ICdiYWNrZ3JvdW5kTGF5ZXInIH0sCisgICAgICBdOworCisgICAgICB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcignbG9hZCcsIHJ1blRlc3QsIGZhbHNlKTsKKyAgPC9zY3JpcHQ+Cis8L2hlYWQ+
CisKKzxib2R5PgorCisgIDxkaXYgaWQ9ImJhY2tncm91bmRMYXllciI+PC9kaXY+CisKKyAgPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgICA8ZGl2IGlkPSJpbnRlcm1lZGlhdGUiIGNsYXNzPSJob3N0
IiBzdHlsZT0iLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDEsIDAsIDAsIDI3MGRlZykiPgor
ICAgICAgPGRpdiBpZD0idG9wTGF5ZXIiIGNsYXNzPSJoaWdobGlnaHRPbkhvdmVyIHJvdGF0ZWRV
cCBncmVlbiBib3giIHN0eWxlPSIiPjwvZGl2PgorICAgICAgPGRpdiBpZD0iYm90dG9tTGF5ZXIi
IGNsYXNzPSJoaWdobGlnaHRPbkhvdmVyIHJvdGF0ZWREb3duIGdyZWVuIGJveCIgc3R5bGU9IiI+
PC9kaXY+CisgICAgPC9kaXY+CisgIDwvZGl2PgorCisgIDxkaXYgaWQ9InJlc3VsdHMiPjwvZGl2
PgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140300</attachid>
            <date>2012-05-04 12:41:23 -0700</date>
            <delta_ts>2012-05-09 10:22:46 -0700</delta_ts>
            <desc>Fixed patch</desc>
            <filename>bug-79136-20120504124122.patch</filename>
            <type>text/plain</type>
            <size>12866</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjkxNzRlMTk5NjBjNDUw
ODBiODQ5NzhmZWFlOWI4MGNiYTY4ZDFmNy4uZTNmNWY1M2IzNTFiZjg5ZTQ1Mzc1YTZjYjhmNzRh
ODYwNWY4M2RkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA1LTAzICBTaGF3
biBTaW5naCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEhpdCB0ZXN0aW5n
IGlzIGluY29ycmVjdCBpbiBzb21lIGNhc2VzIHdpdGggcGVyc3BlY3RpdmUgdHJhbnNmb3Jtcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxMzYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czogdHJh
bnNmb3Jtcy8zZC9oaXQtdGVzdGluZy9jb3BsYW5hci13aXRoLWNhbWVyYS5odG1sCisgICAgICAg
ICAgICAgICB0cmFuc2Zvcm1zLzNkL2hpdC10ZXN0aW5nL3BlcnNwZWN0aXZlLWNsaXBwZWQuaHRt
bAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlv
bk1hdHJpeC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6cHJv
amVjdFBvaW50KTogRml4IGEKKyAgICAgICAgZGl2aWRlLWJ5LXplcm8gZXJyb3Igc28gdGhhdCB2
YWx1ZXMgZG8gbm90IGJlY29tZSBJbmYgb3IgTmFuLiBBbHNvCisgICAgICAgIGZpeCBhbiBvdmVy
ZmxvdyBlcnJvciBieSB1c2luZyBhIGxhcmdlLCBidXQgbm90LXRvby1sYXJnZSBjb25zdGFudAor
ICAgICAgICB0byByZXByZXNlbnQgaW5maW5pdHkuCisKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5z
Zm9ybWF0aW9uTWF0cml4Ojpwcm9qZWN0UXVhZCk6IEZpeCBhbiBlcnJvciB3aGVyZQorICAgICAg
ICBpbmNvcnJlY3QgcXVhZHMgd2VyZSBiZWluZyByZXR1cm5lZC4gSW5jb3JyZWN0IHF1YWRzIGNh
biBvY2N1cgorICAgICAgICB3aGVuIHByb2plY3RQb2ludCBjbGFtcGVkPT10cnVlIGFmdGVyIHJl
dHVybmluZy4KKwogMjAxMi0wNS0wMyAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW0dUS10gUmV3b3JrIElNRSBoYW5kbGluZyB0byBmaXggYnVncyBh
bmQgcHJlcGFyZSBmb3IgV2ViS2l0MgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4
LmNwcAppbmRleCAyNGQ5NjBmZTMwYTZkNzNjMDY4MjM2MjRhMmZlOTI0NDljMjNhMmFlLi5iOTFj
YTExNjRhZWM4MWRlNWRmMTg5YWJiZTZmM2FmYWFhYTQ3ZWY2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1Ry
YW5zZm9ybWF0aW9uTWF0cml4LmNwcApAQCAtNTUxLDYgKzU1MSwxMiBAQCBGbG9hdFBvaW50IFRy
YW5zZm9ybWF0aW9uTWF0cml4Ojpwcm9qZWN0UG9pbnQoY29uc3QgRmxvYXRQb2ludCYgcCwgYm9v
bCogY2xhbXBlZAogICAgIC8vIGQgPSAtZG90IChQbicsIFIwKSAvIGRvdCAoUG4nLCBSZCkKICAg
ICBpZiAoY2xhbXBlZCkKICAgICAgICAgKmNsYW1wZWQgPSBmYWxzZTsKKworICAgIGlmIChtMzMo
KSA9PSAwKSB7CisgICAgICAgIC8vIEluIHRoaXMgY2FzZSwgdGhlIHByb2plY3Rpb24gcGxhbmUg
aXMgcGFyYWxsZWwgdG8gdGhlIHJheSB3ZSBhcmUgdHJ5aW5nIHRvCisgICAgICAgIC8vIHRyYWNl
LCBhbmQgdGhlcmUgaXMgbm8gd2VsbC1kZWZpbmVkIHZhbHVlIGZvciB0aGUgcHJvamVjdGlvbi4K
KyAgICAgICAgcmV0dXJuIEZsb2F0UG9pbnQoKTsKKyAgICB9CiAgICAgCiAgICAgZG91YmxlIHgg
PSBwLngoKTsKICAgICBkb3VibGUgeSA9IHAueSgpOwpAQCAtNTYyLDggKzU2OCwxMiBAQCBGbG9h
dFBvaW50IFRyYW5zZm9ybWF0aW9uTWF0cml4Ojpwcm9qZWN0UG9pbnQoY29uc3QgRmxvYXRQb2lu
dCYgcCwgYm9vbCogY2xhbXBlZAogCiAgICAgZG91YmxlIHcgPSB4ICogbTE0KCkgKyB5ICogbTI0
KCkgKyB6ICogbTM0KCkgKyBtNDQoKTsKICAgICBpZiAodyA8PSAwKSB7Ci0gICAgICAgIG91dFgg
PSBjb3B5c2lnbihudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKSwgb3V0WCk7Ci0gICAgICAgIG91
dFkgPSBjb3B5c2lnbihudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKSwgb3V0WSk7CisgICAgICAg
IC8vIFVzaW5nIGludCBtYXggY2F1c2VzIG92ZXJmbG93IHdoZW4gb3RoZXIgY29kZSB1c2VzIHRo
ZSBwcm9qZWN0ZWQgcG9pbnQuIFRvCisgICAgICAgIC8vIHJlcHJlc2VudCBpbmZpbml0eSB5ZXQg
cmVkdWNlIHRoZSByaXNrIG9mIG92ZXJmbG93LCB3ZSB1c2UgYSBsYXJnZSBidXQKKyAgICAgICAg
Ly8gbm90LXRvby1sYXJnZSBudW1iZXIgaGVyZSB3aGVuIGNsYW1waW5nLgorICAgICAgICBjb25z
dCBpbnQga0xhcmdlTnVtYmVyID0gMTAwMDAwMDAwOworICAgICAgICBvdXRYID0gY29weXNpZ24o
a0xhcmdlTnVtYmVyLCBvdXRYKTsKKyAgICAgICAgb3V0WSA9IGNvcHlzaWduKGtMYXJnZU51bWJl
ciwgb3V0WSk7CiAgICAgICAgIGlmIChjbGFtcGVkKQogICAgICAgICAgICAgKmNsYW1wZWQgPSB0
cnVlOwogICAgIH0gZWxzZSBpZiAodyAhPSAxKSB7CkBAIC01NzcsMTEgKzU4NywyMiBAQCBGbG9h
dFBvaW50IFRyYW5zZm9ybWF0aW9uTWF0cml4Ojpwcm9qZWN0UG9pbnQoY29uc3QgRmxvYXRQb2lu
dCYgcCwgYm9vbCogY2xhbXBlZAogRmxvYXRRdWFkIFRyYW5zZm9ybWF0aW9uTWF0cml4Ojpwcm9q
ZWN0UXVhZChjb25zdCBGbG9hdFF1YWQmIHEpIGNvbnN0CiB7CiAgICAgRmxvYXRRdWFkIHByb2pl
Y3RlZFF1YWQ7Ci0gICAgcHJvamVjdGVkUXVhZC5zZXRQMShwcm9qZWN0UG9pbnQocS5wMSgpKSk7
Ci0gICAgcHJvamVjdGVkUXVhZC5zZXRQMihwcm9qZWN0UG9pbnQocS5wMigpKSk7Ci0gICAgcHJv
amVjdGVkUXVhZC5zZXRQMyhwcm9qZWN0UG9pbnQocS5wMygpKSk7Ci0gICAgcHJvamVjdGVkUXVh
ZC5zZXRQNChwcm9qZWN0UG9pbnQocS5wNCgpKSk7Ci0gICAgCisKKyAgICBib29sIGNsYW1wZWQx
ID0gZmFsc2U7CisgICAgYm9vbCBjbGFtcGVkMiA9IGZhbHNlOworICAgIGJvb2wgY2xhbXBlZDMg
PSBmYWxzZTsKKyAgICBib29sIGNsYW1wZWQ0ID0gZmFsc2U7CisKKyAgICBwcm9qZWN0ZWRRdWFk
LnNldFAxKHByb2plY3RQb2ludChxLnAxKCksICZjbGFtcGVkMSkpOworICAgIHByb2plY3RlZFF1
YWQuc2V0UDIocHJvamVjdFBvaW50KHEucDIoKSwgJmNsYW1wZWQyKSk7CisgICAgcHJvamVjdGVk
UXVhZC5zZXRQMyhwcm9qZWN0UG9pbnQocS5wMygpLCAmY2xhbXBlZDMpKTsKKyAgICBwcm9qZWN0
ZWRRdWFkLnNldFA0KHByb2plY3RQb2ludChxLnA0KCksICZjbGFtcGVkNCkpOworCisgICAgLy8g
SWYgYWxsIHBvaW50cyBvbiB0aGUgcXVhZCBoYWQgdyA8IDAsIHRoZW4gdGhlIGVudGlyZSBxdWFk
IHdvdWxkIG5vdCBiZSB2aXNpYmxlIHRvIHRoZSBwcm9qZWN0ZWQgc3VyZmFjZS4KKyAgICBib29s
IGV2ZXJ5dGhpbmdXYXNDbGlwcGVkID0gY2xhbXBlZDEgJiYgY2xhbXBlZDIgJiYgY2xhbXBlZDMg
JiYgY2xhbXBlZDQ7CisgICAgaWYgKGV2ZXJ5dGhpbmdXYXNDbGlwcGVkKQorICAgICAgICByZXR1
cm4gRmxvYXRRdWFkKCk7CisKICAgICByZXR1cm4gcHJvamVjdGVkUXVhZDsKIH0KIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDIzODRhZWY3NmU0NzY5MWVmZWE0ZjlmOTk3YjZiMTAwNDVkYTM2YzkuLjQ1OGNhY2Q1MzUzYjNl
YjQzMzZjMWM1MTU2OWI4OGYzNTIzNTQ2ZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0w
NS0wMyAgU2hhd24gU2luZ2ggIDxzaGF3bnNpbmdoQGNocm9taXVtLm9yZz4KKworICAgICAgICBI
aXQgdGVzdGluZyBpcyBpbmNvcnJlY3QgaW4gc29tZSBjYXNlcyB3aXRoIHBlcnNwZWN0aXZlIHRy
YW5zZm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTc5MTM2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiB0cmFuc2Zvcm1zLzNkL2hpdC10ZXN0aW5nL2NvcGxhbmFyLXdpdGgtY2FtZXJhLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogdHJhbnNmb3Jtcy8zZC9oaXQtdGVzdGluZy9jb3BsYW5h
ci13aXRoLWNhbWVyYS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB0cmFuc2Zvcm1zLzNkL2hpdC10
ZXN0aW5nL3BlcnNwZWN0aXZlLWNsaXBwZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB0cmFuc2Zvcm1zLzNkL2hpdC10ZXN0aW5nL3BlcnNwZWN0aXZlLWNsaXBwZWQuaHRtbDogQWRk
ZWQuCisKIDIwMTItMDUtMDQgIEpvY2hlbiBFaXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgQ29ycmVjdGx5IHVwZGF0ZSB0aGUgb3V0Z29pbmcgcmVmZXJyZXIgd2hlbiBu
YXZpZ2F0aW5nIGJhY2sgZnJvbSBhbiBoaXN0b3J5IGl0ZW0gY3JlYXRlZCBieSBwdXNoU3RhdGUv
cmVwbGFjZVN0YXRlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90cmFuc2Zvcm1zLzNkL2hpdC10
ZXN0aW5nL2NvcGxhbmFyLXdpdGgtY2FtZXJhLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Ry
YW5zZm9ybXMvM2QvaGl0LXRlc3RpbmcvY29wbGFuYXItd2l0aC1jYW1lcmEtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmMyMGJkMzZhNDY3NTg3MzdkZTRmZmViMTk4ZmJjOTQ2MjdiOWI4NzkKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy90cmFuc2Zvcm1zLzNkL2hpdC10ZXN0aW5nL2Nv
cGxhbmFyLXdpdGgtY2FtZXJhLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK1RoZSB0ZXh0
IG9uIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgc2VsZWN0YWJsZS4gSG92ZXJpbmcgb24gdGhpcyBl
bGVtZW50IHNob3VsZCBjYXVzZSBhIGhpZ2hsaWdodC4gRWxlbWVudCBhdCA5OCwgMjAwIGhhcyBp
ZCAiYmFja2dyb3VuZCI6IFBBU1MKK0VsZW1lbnQgYXQgMzAyLCAyMDAgaGFzIGlkICJiYWNrZ3Jv
dW5kIjogUEFTUworRWxlbWVudCBhdCAyMDAsIDk4IGhhcyBpZCAiYmFja2dyb3VuZCI6IFBBU1MK
K0VsZW1lbnQgYXQgMjAwLCAzMDIgaGFzIGlkICJiYWNrZ3JvdW5kIjogUEFTUworRWxlbWVudCBh
dCAxMDEsIDIwMCBoYXMgaWQgImxheWVyIjogUEFTUworRWxlbWVudCBhdCAyOTksIDIwMCBoYXMg
aWQgImxheWVyIjogUEFTUworRWxlbWVudCBhdCAyMDAsIDEwMSBoYXMgaWQgImxheWVyIjogUEFT
UworRWxlbWVudCBhdCAyMDAsIDI5OSBoYXMgaWQgImxheWVyIjogUEFTUworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy90cmFuc2Zvcm1zLzNkL2hpdC10ZXN0aW5nL2NvcGxhbmFyLXdpdGgtY2Ft
ZXJhLmh0bWwgYi9MYXlvdXRUZXN0cy90cmFuc2Zvcm1zLzNkL2hpdC10ZXN0aW5nL2NvcGxhbmFy
LXdpdGgtY2FtZXJhLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDFiMmI2MWU4ZDFjNzIyZmI5Y2NmZjUyNmQw
ZWJjNjAzZTMwYjc2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3RyYW5zZm9ybXMv
M2QvaGl0LXRlc3RpbmcvY29wbGFuYXItd2l0aC1jYW1lcmEuaHRtbApAQCAtMCwwICsxLDg0IEBA
Cis8aHRtbD4KKyAgPCEtLSBUaGlzIHRlc3QgcmVwcm9kdWNlcyBhIGRpdmlkZS1ieS16ZXJvIGVy
cm9yIHRoYXQgaXMgaG9wZWZ1bGx5IGZpeGVkIGJ5CisgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTM2LiBJbiB0aGF0IGJ1ZywgYSBsYXllciB0aGF0IGdl
dHMKKyAgICAgICB0cmFuc2xhdGVkIGJ5IHogc28gdGhhdCBpdCBpcyBjb3BsYW5hciB3aXRoIHRo
ZSBjYW1lcmEgb3JpZ2luLiBBcyBhIHJlc3VsdCwgd2hlbgorICAgICAgIHRyeWluZyB0byBwcm9q
ZWN0IGEgcG9pbnQgZnJvbSB0aGUgY29udGFpbmVyIHNwYWNlIHRvIHRoZSBsb2NhbCBzcGFjZSwg
dGhlCisgICAgICAgaW1wbGVtZW50YXRpb24gaGFkIGEgZGl2aWRlLWJ5LXplcm8gd2hpY2ggbWFk
ZSBoaXQtdGVzdGluZyByZXN1bHRzIGluY29ycmVjdC4gLS0+CisKKzxoZWFkPgorICA8c3R5bGUg
dHlwZT0idGV4dC9jc3MiPgorICAgIC8qIE1hcnF1ZWUgY29udGVudC4gKi8KKyAgICAjY2FtZXJh
IHsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICB0b3A6IDEwMHB4OworICAg
ICAgICBsZWZ0OiAxMDBweDsKKyAgICAgICAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogODAwOworICAg
IH0KKworICAgICNjb250YWluZXIgeworICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTog
cHJlc2VydmUtM2Q7CisgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDgwMHB4
KQorICAgIH0KKworICAgICNsYXllciB7CisgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAg
ICAgICAgd2lkdGg6IDIwMHB4OworICAgICAgICBoZWlnaHQ6IDIwMHB4OworICAgICAgICBiYWNr
Z3JvdW5kLWNvbG9yOiBncmVlbjsKKworICAgICAgICAvKiBUaGlzIHNob3VsZCB0aGVvcmV0aWNh
bGx5IGNhbmNlbCBvdXQgdGhlIGNvbnRhaW5lcidzIHRyYW5zZm9ybSwgYW5kIGhpdC10ZXN0aW5n
IHNob3VsZCB3b3JrLiAqLworICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigt
ODAwcHgpOworICAgIH0KKworICAgICNiYWNrZ3JvdW5kIHsKKyAgICAgICAgcG9zaXRpb246IGFi
c29sdXRlOworICAgICAgICB3aWR0aDogNDAwcHg7CisgICAgICAgIGhlaWdodDogNDAwcHg7Cisg
ICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyYXk7CisgICB9CisKKyAgICAjbGF5ZXI6aG92ZXIg
eworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBvcmFuZ2U7CisgICAgfQorCisgICAgI3Jlc3Vs
dHMgeworICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICAgIHRvcDogNDIwcHg7Cisg
ICAgICAgIGxlZnQ6IDIwcHg7CisgICAgfQorICA8L3N0eWxlPgorCisgIDxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvaGl0LXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0PgorICAgIGNv
bnN0IGhpdFRlc3REYXRhID0gWworICAgICAgICB7ICdwb2ludCc6IFs5OCwgMjAwXSwgJ3Rhcmdl
dCcgOiAnYmFja2dyb3VuZCcgfSwKKyAgICAgICAgeyAncG9pbnQnOiBbMzAyLCAyMDBdLCAndGFy
Z2V0JyA6ICdiYWNrZ3JvdW5kJyB9LAorICAgICAgICB7ICdwb2ludCc6IFsyMDAsIDk4XSwgJ3Rh
cmdldCcgOiAnYmFja2dyb3VuZCcgfSwKKyAgICAgICAgeyAncG9pbnQnOiBbMjAwLCAzMDJdLCAn
dGFyZ2V0JyA6ICdiYWNrZ3JvdW5kJyB9LAorICAgICAgICB7ICdwb2ludCc6IFsxMDEsIDIwMF0s
ICd0YXJnZXQnIDogJ2xheWVyJyB9LAorICAgICAgICB7ICdwb2ludCc6IFsyOTksIDIwMF0sICd0
YXJnZXQnIDogJ2xheWVyJyB9LAorICAgICAgICB7ICdwb2ludCc6IFsyMDAsIDEwMV0sICd0YXJn
ZXQnIDogJ2xheWVyJyB9LAorICAgICAgICB7ICdwb2ludCc6IFsyMDAsIDI5OV0sICd0YXJnZXQn
IDogJ2xheWVyJyB9LAorICAgIF07CisKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9h
ZCcsIHJ1blRlc3QsIGZhbHNlKTsKKyAgPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorCisg
IDxkaXYgaWQ9ImJhY2tncm91bmQiPjwvZGl2PgorCisgIDxkaXYgaWQ9ImNhbWVyYSI+CisgICAg
PGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICAgIDxkaXYgaWQ9ImxheWVyIj4KKyAgICAgICAgVGhl
IHRleHQgb24gdGhpcyBlbGVtZW50IHNob3VsZCBiZSBzZWxlY3RhYmxlLgorICAgICAgICBIb3Zl
cmluZyBvbiB0aGlzIGVsZW1lbnQgc2hvdWxkIGNhdXNlIGEgaGlnaGxpZ2h0LgorICAgICAgPC9k
aXY+CisgICAgPC9kaXY+CisgIDwvZGl2PgorCisgIDxkaXYgaWQ9InJlc3VsdHMiPjwvZGl2Pgor
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90cmFuc2Zvcm1zLzNk
L2hpdC10ZXN0aW5nL3BlcnNwZWN0aXZlLWNsaXBwZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvdHJhbnNmb3Jtcy8zZC9oaXQtdGVzdGluZy9wZXJzcGVjdGl2ZS1jbGlwcGVkLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43ZTAwYmVkMTFiZmJhZWM0Y2E4NDQ5NzVkYmYwMjEzNTg2NDMyYjZj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvdHJhbnNmb3Jtcy8zZC9oaXQtdGVzdGlu
Zy9wZXJzcGVjdGl2ZS1jbGlwcGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitFbGVt
ZW50IGF0IDM1LCAxMDAgaGFzIGlkICJ0b3BMYXllciI6IFBBU1MKK0VsZW1lbnQgYXQgMzcwLCAx
MDAgaGFzIGlkICJ0b3BMYXllciI6IFBBU1MKK0VsZW1lbnQgYXQgNDAsIDQwIGhhcyBpZCAidG9w
TGF5ZXIiOiBQQVNTCitFbGVtZW50IGF0IDM2NSwgNDAgaGFzIGlkICJ0b3BMYXllciI6IFBBU1MK
K0VsZW1lbnQgYXQgMzUsIDQwIGhhcyBpZCAiYmFja2dyb3VuZExheWVyIjogUEFTUworRWxlbWVu
dCBhdCAzNzAsIDQwIGhhcyBpZCAiYmFja2dyb3VuZExheWVyIjogUEFTUworRWxlbWVudCBhdCA0
MCwgMzQwIGhhcyBpZCAiYm90dG9tTGF5ZXIiOiBQQVNTCitFbGVtZW50IGF0IDM2NSwgMzQwIGhh
cyBpZCAiYm90dG9tTGF5ZXIiOiBQQVNTCitFbGVtZW50IGF0IDM1LCAyNjAgaGFzIGlkICJib3R0
b21MYXllciI6IFBBU1MKK0VsZW1lbnQgYXQgMzcwLCAyODAgaGFzIGlkICJib3R0b21MYXllciI6
IFBBU1MKK0VsZW1lbnQgYXQgMzUsIDM0MCBoYXMgaWQgImJhY2tncm91bmRMYXllciI6IFBBU1MK
K0VsZW1lbnQgYXQgMzcwLCAzNDAgaGFzIGlkICJiYWNrZ3JvdW5kTGF5ZXIiOiBQQVNTCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3RyYW5zZm9ybXMvM2QvaGl0LXRlc3RpbmcvcGVyc3BlY3Rp
dmUtY2xpcHBlZC5odG1sIGIvTGF5b3V0VGVzdHMvdHJhbnNmb3Jtcy8zZC9oaXQtdGVzdGluZy9w
ZXJzcGVjdGl2ZS1jbGlwcGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWMyMWU4NmY1NjBhNWVhMGFjNjZh
MzdjMDlhMjY3NDBiMjAyOTZmMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3RyYW5z
Zm9ybXMvM2QvaGl0LXRlc3RpbmcvcGVyc3BlY3RpdmUtY2xpcHBlZC5odG1sCkBAIC0wLDAgKzEs
MTAzIEBACis8aHRtbD4KKyAgPCEtLSBUaGlzIHRlc3QgcmVwcm9kdWNlcyBhIHBlcnNwZWN0aXZl
IHcgPCAwIGVycm9yIGFkZHJlc3NlZCBpbgorICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03OTEzNi4gSW4gdGhhdCBidWcsIGFzIGEgbGF5ZXIgaXMgYmVpbmcK
KyAgICAgICB0cmFuc2Zvcm1lZCwgaXQgbWF5IGdldCAiY2xhbXBlZCIgYnkgdGhlIGhvbW9nZW5l
b3VzIGNvb3JkaW5hdGUgdyA8IDAuICBXaGVuCisgICAgICAgcHJvamVjdGluZyBpbmRpdmlkdWFs
IHBvaW50cywgdGhpcyB3YXMgaGFuZGxlZCBjb3JyZWN0bHksIGJ1dCBwcm9qZWN0aW5nIHF1YWRz
IHdhcworICAgICAgIGlnbm9yaW5nIHRoaXMgY2xhbXBpbmcsIGNhdXNpbmcgaW52YWxpZCBxdWFk
cyB0byBiZSBnZW5lcmF0ZWQsIHdoaWNoIHVsdGltYXRlbHkgZGlkCisgICAgICAgbm90IGhpdC10
ZXN0IGNvcnJlY3RseS4KKyAgICAtLT4KKzxoZWFkPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3Mi
PgorICAgICNjb250YWluZXIgeworICAgICAgICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMDAwOwor
ICAgICAgICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbi14OiAxNDVweDsKKyAgICAgICAgLyog
cmVtb3ZpbmcgdGhpcyBwcm9wZXJ0eSBmaXhlcyB0aGUgaXNzdWUsIGJ1dCBkb2Vzbid0IHByb3Zp
ZGUgdGhlIGRlc2lyZWQgcmVuZGVyaW5nICovCisgICAgICAgIC13ZWJraXQtcGVyc3BlY3RpdmUt
b3JpZ2luLXk6IDE4OXB4OworICAgIH0KKworICAgICNpbnRlcm1lZGlhdGUgeworICAgICAgICBw
b3NpdGlvbjogYWJzb2x1dGU7CisgICAgICAgIGxlZnQ6IDQwcHg7CisgICAgICAgIHRvcDogMTg5
cHg7CisgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKKyAgICB9
CisKKyAgICAjcmVzdWx0cyB7CisgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAg
dG9wOiA0MjBweDsKKyAgICAgICAgbGVmdDogMjBweDsKKyAgICB9CisKKyAgICAjYmFja2dyb3Vu
ZExheWVyIHsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICB3aWR0aDogNDAw
cHg7CisgICAgICAgIGhlaWdodDogNDAwcHg7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdy
YXk7CisgICAgfQorCisgICAgLmhpZ2hsaWdodE9uSG92ZXI6aG92ZXIgeworICAgICAgICBiYWNr
Z3JvdW5kLWNvbG9yOiBvcmFuZ2U7CisgICAgfQorCisgICAgLnJvdGF0ZWRVcCB7CisgICAgICAg
IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKC0yNDBkZWcpIHRyYW5zbGF0ZVooMjAwcHgpCisg
ICAgfQorCisgICAgLnJvdGF0ZWREb3duIHsKKyAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJv
dGF0ZVgoLTMwMGRlZykgdHJhbnNsYXRlWigyMDBweCkKKyAgICB9CisKKyAgICAuZ3JlZW4gewor
ICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICB9CisKKyAgICAuYm94IHsKKyAg
ICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICB3aWR0aDogMzAwcHg7CisgICAgICAg
IGhlaWdodDogMTEwcHg7CisgICAgfQorCisgIDwvc3R5bGU+CisgIDxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvaGl0LXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0PgorICAgICAgY29u
c3QgaGl0VGVzdERhdGEgPSBbCisgICAgICAgIC8vIFBvaW50cyBuZWFyIHRoZSBjb3JuZXJzIG9m
IHRoZSB0b3AgbGF5ZXIKKyAgICAgICAgeyAncG9pbnQnOiBbMzUsIDEwMF0sICd0YXJnZXQnIDog
J3RvcExheWVyJyB9LAorICAgICAgICB7ICdwb2ludCc6IFszNzAsIDEwMF0sICd0YXJnZXQnIDog
J3RvcExheWVyJyB9LAorICAgICAgICB7ICdwb2ludCc6IFs0MCwgNDBdLCAndGFyZ2V0JyA6ICd0
b3BMYXllcicgfSwKKyAgICAgICAgeyAncG9pbnQnOiBbMzY1LCA0MF0sICd0YXJnZXQnIDogJ3Rv
cExheWVyJyB9LAorCisgICAgICAgIC8vIFBvaW50cyB3aXRoaW4gdGhlIGF4aXMtYWxpZ25lZCBi
b3VuZGluZyBib3ggb2YgdGhlIHRvcCBsYXllciwgYnV0IG5vdCBhY3R1YWxseSBvbiB0aGUgbGF5
ZXIgaXRzZWxmCisgICAgICAgIHsgJ3BvaW50JzogWzM1LCA0MF0sICd0YXJnZXQnIDogJ2JhY2tn
cm91bmRMYXllcicgfSwKKyAgICAgICAgeyAncG9pbnQnOiBbMzcwLCA0MF0sICd0YXJnZXQnIDog
J2JhY2tncm91bmRMYXllcicgfSwKKworICAgICAgICAvLyBQb2ludHMgbmVhciB0aGUgY29ybmVy
cyBvZiB0aGUgdG9wIGxheWVyCisgICAgICAgIHsgJ3BvaW50JzogWzQwLCAzNDBdLCAndGFyZ2V0
JyA6ICdib3R0b21MYXllcicgfSwKKyAgICAgICAgeyAncG9pbnQnOiBbMzY1LCAzNDBdLCAndGFy
Z2V0JyA6ICdib3R0b21MYXllcicgfSwKKyAgICAgICAgeyAncG9pbnQnOiBbMzUsIDI2MF0sICd0
YXJnZXQnIDogJ2JvdHRvbUxheWVyJyB9LAorICAgICAgICB7ICdwb2ludCc6IFszNzAsIDI4MF0s
ICd0YXJnZXQnIDogJ2JvdHRvbUxheWVyJyB9LAorCisgICAgICAgIC8vIFBvaW50cyB3aXRoaW4g
dGhlIGF4aXMtYWxpZ25lZCBib3VuZGluZyBib3ggb2YgdGhlIGJvdHRvbSBsYXllciwgYnV0IG5v
dCBhY3R1YWxseSBvbiB0aGUgbGF5ZXIgaXRzZWxmCisgICAgICAgIHsgJ3BvaW50JzogWzM1LCAz
NDBdLCAndGFyZ2V0JyA6ICdiYWNrZ3JvdW5kTGF5ZXInIH0sCisgICAgICAgIHsgJ3BvaW50Jzog
WzM3MCwgMzQwXSwgJ3RhcmdldCcgOiAnYmFja2dyb3VuZExheWVyJyB9LAorICAgICAgXTsKKwor
ICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBydW5UZXN0LCBmYWxzZSk7Cisg
IDwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keT4KKworICA8ZGl2IGlkPSJiYWNrZ3JvdW5kTGF5
ZXIiPjwvZGl2PgorCisgIDxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPGRpdiBpZD0iaW50ZXJt
ZWRpYXRlIiBjbGFzcz0iaG9zdCIgc3R5bGU9Ii13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgx
LCAwLCAwLCAyNzBkZWcpIj4KKyAgICAgIDxkaXYgaWQ9InRvcExheWVyIiBjbGFzcz0iaGlnaGxp
Z2h0T25Ib3ZlciByb3RhdGVkVXAgZ3JlZW4gYm94IiBzdHlsZT0iIj48L2Rpdj4KKyAgICAgIDxk
aXYgaWQ9ImJvdHRvbUxheWVyIiBjbGFzcz0iaGlnaGxpZ2h0T25Ib3ZlciByb3RhdGVkRG93biBn
cmVlbiBib3giIHN0eWxlPSIiPjwvZGl2PgorICAgIDwvZGl2PgorICA8L2Rpdj4KKworICA8ZGl2
IGlkPSJyZXN1bHRzIj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="146116"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>