<?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>89768</bug_id>
          
          <creation_ts>2012-06-22 10:35:27 -0700</creation_ts>
          <short_desc>[chromium] Correctly reject accelerated animations with certain rotations.</short_desc>
          <delta_ts>2012-07-04 05:58:22 -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>WebKit Misc.</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>vollick</reporter>
          <assigned_to>vollick</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>jamesr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>655563</commentid>
    <comment_count>0</comment_count>
    <who name="">vollick</who>
    <bug_when>2012-06-22 10:35:27 -0700</bug_when>
    <thetext>We cannot currently accelerate rotations that are &gt;= 180 because of the way that we handle blending. The code that currently handles this is not in the right spot, nor is it quite suited to our needs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655566</commentid>
    <comment_count>1</comment_count>
      <attachid>149052</attachid>
    <who name="">vollick</who>
    <bug_when>2012-06-22 10:38:23 -0700</bug_when>
    <thetext>Created attachment 149052
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655571</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-22 10:40:57 -0700</bug_when>
    <thetext>Attachment 149052 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/platform/graphics/chromium/AnimationTranslationUtil.cpp:170:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 1 in 2 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>655584</commentid>
    <comment_count>3</comment_count>
      <attachid>149059</attachid>
    <who name="">vollick</who>
    <bug_when>2012-06-22 10:49:18 -0700</bug_when>
    <thetext>Created attachment 149059
Patch

Make the style bot happy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655667</commentid>
    <comment_count>4</comment_count>
      <attachid>149059</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-06-22 11:50:17 -0700</bug_when>
    <thetext>Comment on attachment 149059
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests. Functionality covered by existing tests.

which tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655690</commentid>
    <comment_count>5</comment_count>
      <attachid>149083</attachid>
    <who name="">vollick</who>
    <bug_when>2012-06-22 12:29:43 -0700</bug_when>
    <thetext>Created attachment 149083
Patch

There was a test for large rotations, but added new tests for cases the old code
did not deal with.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655692</commentid>
    <comment_count>6</comment_count>
      <attachid>149084</attachid>
    <who name="">vollick</who>
    <bug_when>2012-06-22 12:31:20 -0700</bug_when>
    <thetext>Created attachment 149084
Patch

Sorry for the spam. Last patch was a dud.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655694</commentid>
    <comment_count>7</comment_count>
      <attachid>149084</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-22 12:32:46 -0700</bug_when>
    <thetext>Comment on attachment 149084
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/AnimationTranslationUtil.cpp:140
&gt; +bool causesRotationOfMoreThan180Degrees(const TransformAnimationValue* value, const TransformAnimationValue* lastValue)

bikeshed: AtLeast180Degrees?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655696</commentid>
    <comment_count>8</comment_count>
      <attachid>149085</attachid>
    <who name="">vollick</who>
    <bug_when>2012-06-22 12:38:16 -0700</bug_when>
    <thetext>Created attachment 149085
Patch

&gt; bikeshed: AtLeast180Degrees?
SG. Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662361</commentid>
    <comment_count>9</comment_count>
      <attachid>150642</attachid>
    <who name="">vollick</who>
    <bug_when>2012-07-03 10:50:51 -0700</bug_when>
    <thetext>Created attachment 150642
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662426</commentid>
    <comment_count>10</comment_count>
      <attachid>150642</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-03 12:17:58 -0700</bug_when>
    <thetext>Comment on attachment 150642
Patch for landing

Rejecting attachment 150642 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 1

Last 500 characters of output:
hanize/_urllib2_fork.py&quot;, line 332, in _call_chain
    result = func(*args)
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_urllib2_fork.py&quot;, line 1170, in https_open
    return self.do_open(conn_factory, req)
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_urllib2_fork.py&quot;, line 1118, in do_open
    raise URLError(err)
urllib2.URLError: &lt;urlopen error [Errno -3] Temporary failure in name resolution&gt;

Full output: http://queues.webkit.org/results/13127575</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662902</commentid>
    <comment_count>11</comment_count>
      <attachid>150642</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-04 05:58:17 -0700</bug_when>
    <thetext>Comment on attachment 150642
Patch for landing

Clearing flags on attachment: 150642

Committed r121844: &lt;http://trac.webkit.org/changeset/121844&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662903</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-04 05:58:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149052</attachid>
            <date>2012-06-22 10:38:23 -0700</date>
            <delta_ts>2012-06-22 10:49:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89768-20120622133822.patch</filename>
            <type>text/plain</type>
            <size>6728</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYxNDUxOTcwYzU5OGM1
MmM0NTUyMjQ2YmIyZTY1MjJlYTU2NmFjYS4uNDg0N2YyNTc5OGQ1NzZkODZhZTU2MjEyMzYyMWMx
NGQ1MDBjN2NmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA2LTIyICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQ29y
cmVjdGx5IHJlamVjdCBhY2NlbGVyYXRlZCBhbmltYXRpb25zIHdpdGggY2VydGFpbiByb3RhdGlv
bnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTc2
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5l
dyB0ZXN0cy4gRnVuY3Rpb25hbGl0eSBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQW5pbWF0aW9uVHJhbnNsYXRpb25VdGls
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFwcGVuZEtleWZyYW1lKToKKyAgICAgICAgKFdlYkNv
cmU6OmlzUm90YXRpb25UeXBlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6Y2F1c2VzUm90YXRpb25PZk1vcmVUaGFuMTgwRGVncmVlcyk6CisgICAgICAgIChXZWJDb3Jl
OjpDQ0tleWZyYW1lZFRyYW5zZm9ybUFuaW1hdGlvbkN1cnZlKToKKyAgICAgICAgKFdlYkNvcmU6
OmNyZWF0ZUFjdGl2ZUFuaW1hdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzTGF5ZXJDaHJvbWl1bTo6YWRkQW5pbWF0aW9uKToKKwogMjAxMi0wNi0yMiAgSWx5YSBUaWto
b25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
cGFydGlhbGx5IGluc3RydW1lbnQgRE9NIFRyZWUgbmF0aXZlIG1lbW9yeS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0FuaW1hdGlvblRyYW5z
bGF0aW9uVXRpbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9BbmltYXRpb25UcmFuc2xhdGlvblV0aWwuY3BwCmluZGV4IDQyYzk1MmYwNzIxY2NiNjMwMGNm
OGI1MmEzYWQ1ZmQ4YmRjYmMwNjQuLmI5MDQ4NmVjMjE4NmQxNWNiNzI1ZTAyZDExYWRmZDEzYzcz
YTU3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0FuaW1hdGlvblRyYW5zbGF0aW9uVXRpbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQW5pbWF0aW9uVHJhbnNsYXRpb25VdGlsLmNwcApAQCAt
MTIyLDE1ICsxMjIsNTQgQEAgV2ViVHJhbnNmb3JtT3BlcmF0aW9ucyB0b1dlYlRyYW5zZm9ybU9w
ZXJhdGlvbnMoY29uc3QgVHJhbnNmb3JtT3BlcmF0aW9ucyYgdHJhbnMKIH0KIAogdGVtcGxhdGUg
PGNsYXNzIFZhbHVlLCBjbGFzcyBLZXlmcmFtZSwgY2xhc3MgQ3VydmU+Ci1ib29sIGFwcGVuZEtl
eWZyYW1lKEN1cnZlJiBjdXJ2ZSwgZG91YmxlIGtleVRpbWUsIGNvbnN0IFZhbHVlKiB2YWx1ZSwg
UGFzc093blB0cjxDQ1RpbWluZ0Z1bmN0aW9uPiB0aW1pbmdGdW5jdGlvbiwgY29uc3QgRmxvYXRT
aXplJikKK2Jvb2wgYXBwZW5kS2V5ZnJhbWUoQ3VydmUmIGN1cnZlLCBkb3VibGUga2V5VGltZSwg
Y29uc3QgVmFsdWUqIHZhbHVlLCBjb25zdCBWYWx1ZSogbGFzdFZhbHVlLCBQYXNzT3duUHRyPEND
VGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uLCBjb25zdCBGbG9hdFNpemUmKQogewogICAg
IGN1cnZlLmFkZEtleWZyYW1lKEtleWZyYW1lOjpjcmVhdGUoa2V5VGltZSwgdmFsdWUtPnZhbHVl
KCksIHRpbWluZ0Z1bmN0aW9uKSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgaXNSb3Rh
dGlvblR5cGUoVHJhbnNmb3JtT3BlcmF0aW9uOjpPcGVyYXRpb25UeXBlIHRyYW5zZm9ybVR5cGUp
Cit7CisgICAgcmV0dXJuIHRyYW5zZm9ybVR5cGUgPT0gVHJhbnNmb3JtT3BlcmF0aW9uOjpST1RB
VEUKKyAgICAgICAgfHwgdHJhbnNmb3JtVHlwZSA9PSBUcmFuc2Zvcm1PcGVyYXRpb246OlJPVEFU
RV9YCisgICAgICAgIHx8IHRyYW5zZm9ybVR5cGUgPT0gVHJhbnNmb3JtT3BlcmF0aW9uOjpST1RB
VEVfWQorICAgICAgICB8fCB0cmFuc2Zvcm1UeXBlID09IFRyYW5zZm9ybU9wZXJhdGlvbjo6Uk9U
QVRFX1oKKyAgICAgICAgfHwgdHJhbnNmb3JtVHlwZSA9PSBUcmFuc2Zvcm1PcGVyYXRpb246OlJP
VEFURV8zRDsKK30KKworYm9vbCBjYXVzZXNSb3RhdGlvbk9mTW9yZVRoYW4xODBEZWdyZWVzKGNv
bnN0IFRyYW5zZm9ybUFuaW1hdGlvblZhbHVlKiB2YWx1ZSwgY29uc3QgVHJhbnNmb3JtQW5pbWF0
aW9uVmFsdWUqIGxhc3RWYWx1ZSkKK3sKKyAgICBpZiAoIWxhc3RWYWx1ZSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgY29uc3QgVHJhbnNmb3JtT3BlcmF0aW9ucyYgb3BlcmF0aW9ucyA9
ICp2YWx1ZS0+dmFsdWUoKTsKKyAgICBjb25zdCBUcmFuc2Zvcm1PcGVyYXRpb25zJiBsYXN0T3Bl
cmF0aW9ucyA9ICpsYXN0VmFsdWUtPnZhbHVlKCk7CisKKyAgICAvLyBXZSdsbCBiZSBkb2luZyBt
YXRyaXggaW50ZXJwb2xhdGlvbiBpbiB0aGlzIGNhc2UuIE5vIHJpc2sgb2YgaW5jb3JyZWN0Cisg
ICAgLy8gcm90YXRpb25zIGhlcmUuCisgICAgaWYgKCFvcGVyYXRpb25zLm9wZXJhdGlvbnNNYXRj
aChsYXN0T3BlcmF0aW9ucykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgb3BlcmF0aW9ucy5zaXplKCk7ICsraSkgeworICAgICAgICBpZiAoIWlz
Um90YXRpb25UeXBlKG9wZXJhdGlvbnMub3BlcmF0aW9ucygpW2ldLT5nZXRPcGVyYXRpb25UeXBl
KCkpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgUm90YXRlVHJhbnNmb3JtT3Bl
cmF0aW9uKiByb3RhdGlvbiA9IHN0YXRpY19jYXN0PFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbio+
KG9wZXJhdGlvbnMub3BlcmF0aW9ucygpW2ldLmdldCgpKTsKKyAgICAgICAgUm90YXRlVHJhbnNm
b3JtT3BlcmF0aW9uKiBsYXN0Um90YXRpb24gPSBzdGF0aWNfY2FzdDxSb3RhdGVUcmFuc2Zvcm1P
cGVyYXRpb24qPihsYXN0T3BlcmF0aW9ucy5vcGVyYXRpb25zKClbaV0uZ2V0KCkpOworCisgICAg
ICAgIGlmIChmYWJzKHJvdGF0aW9uLT5hbmdsZSgpIC0gbGFzdFJvdGF0aW9uLT5hbmdsZSgpKSA+
IDE4MCkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHJldHVybiBmYWxz
ZTsKK30KKwogdGVtcGxhdGUgPD4KLWJvb2wgYXBwZW5kS2V5ZnJhbWU8VHJhbnNmb3JtQW5pbWF0
aW9uVmFsdWUsIENDVHJhbnNmb3JtS2V5ZnJhbWUsIENDS2V5ZnJhbWVkVHJhbnNmb3JtQW5pbWF0
aW9uQ3VydmU+KENDS2V5ZnJhbWVkVHJhbnNmb3JtQW5pbWF0aW9uQ3VydmUmIGN1cnZlLCBkb3Vi
bGUga2V5VGltZSwgY29uc3QgVHJhbnNmb3JtQW5pbWF0aW9uVmFsdWUqIHZhbHVlLCBQYXNzT3du
UHRyPENDVGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uLCBjb25zdCBGbG9hdFNpemUmIGJv
eFNpemUpCitib29sIGFwcGVuZEtleWZyYW1lPFRyYW5zZm9ybUFuaW1hdGlvblZhbHVlLCBDQ1Ry
YW5zZm9ybUtleWZyYW1lLCBDQ0tleWZyYW1lZFRyYW5zZm9ybUFuaW1hdGlvbkN1cnZlPihDQ0tl
eWZyYW1lZFRyYW5zZm9ybUFuaW1hdGlvbkN1cnZlJiBjdXJ2ZSwgZG91YmxlIGtleVRpbWUsIGNv
bnN0IFRyYW5zZm9ybUFuaW1hdGlvblZhbHVlKiB2YWx1ZSwgY29uc3QgVHJhbnNmb3JtQW5pbWF0
aW9uVmFsdWUqIGxhc3RWYWx1ZSwgUGFzc093blB0cjxDQ1RpbWluZ0Z1bmN0aW9uPiB0aW1pbmdG
dW5jdGlvbiwgY29uc3QgRmxvYXRTaXplJiBib3hTaXplKQogeworICAgaWYgKGNhdXNlc1JvdGF0
aW9uT2ZNb3JlVGhhbjE4MERlZ3JlZXModmFsdWUsIGxhc3RWYWx1ZSkpCisgICAgICAgcmV0dXJu
IGZhbHNlOworCiAgICAgV2ViVHJhbnNmb3JtT3BlcmF0aW9ucyBvcGVyYXRpb25zID0gdG9XZWJU
cmFuc2Zvcm1PcGVyYXRpb25zKCp2YWx1ZS0+dmFsdWUoKSwgYm94U2l6ZSk7CiAgICAgaWYgKG9w
ZXJhdGlvbnMuYXBwbHkoKS5pc0ludmVydGlibGUoKSkgewogICAgICAgICBjdXJ2ZS5hZGRLZXlm
cmFtZShDQ1RyYW5zZm9ybUtleWZyYW1lOjpjcmVhdGUoa2V5VGltZSwgb3BlcmF0aW9ucywgdGlt
aW5nRnVuY3Rpb24pKTsKQEAgLTE1OSw2ICsxOTgsOSBAQCBQYXNzT3duUHRyPENDQWN0aXZlQW5p
bWF0aW9uPiBjcmVhdGVBY3RpdmVBbmltYXRpb24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZh
bAogICAgICAgICBzaXplX3QgaW5kZXggPSByZXZlcnNlID8gdmFsdWVMaXN0LnNpemUoKSAtIGkg
LSAxIDogaTsKIAogICAgICAgICBjb25zdCBWYWx1ZSogb3JpZ2luYWxWYWx1ZSA9IHN0YXRpY19j
YXN0PGNvbnN0IFZhbHVlKj4odmFsdWVMaXN0LmF0KGluZGV4KSk7CisgICAgICAgIGNvbnN0IFZh
bHVlKiBsYXN0T3JpZ2luYWxWYWx1ZSA9IDA7CisgICAgICAgIGlmICh2YWx1ZUxpc3Quc2l6ZSgp
ID4gMSAmJiAoKHJldmVyc2UgJiYgaW5kZXggKyAxIDwgdmFsdWVMaXN0LnNpemUoKSkgfHwgKCFy
ZXZlcnNlICYmIGluZGV4ID4gMCkpKQorICAgICAgICAgICAgbGFzdE9yaWdpbmFsVmFsdWUgPSBz
dGF0aWNfY2FzdDxjb25zdCBWYWx1ZSo+KHZhbHVlTGlzdC5hdChyZXZlcnNlID8gaW5kZXggKyAx
IDogaW5kZXggLSAxKSk7CiAKICAgICAgICAgT3duUHRyPENDVGltaW5nRnVuY3Rpb24+IHRpbWlu
Z0Z1bmN0aW9uOwogICAgICAgICBjb25zdCBUaW1pbmdGdW5jdGlvbiogb3JpZ2luYWxUaW1pbmdG
dW5jdGlvbiA9IG9yaWdpbmFsVmFsdWUtPnRpbWluZ0Z1bmN0aW9uKCk7CkBAIC0xOTAsNyArMjMy
LDcgQEAgUGFzc093blB0cjxDQ0FjdGl2ZUFuaW1hdGlvbj4gY3JlYXRlQWN0aXZlQW5pbWF0aW9u
KGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0JiB2YWwKICAgICAgICAgaWYgKHJldmVyc2UpCiAgICAg
ICAgICAgICBrZXlUaW1lID0gZHVyYXRpb24gLSBrZXlUaW1lOwogCi0gICAgICAgIGJvb2wgYWRk
ZWRLZXlmcmFtZSA9IGFwcGVuZEtleWZyYW1lPFZhbHVlLCBLZXlmcmFtZSwgQ3VydmU+KCpjdXJ2
ZSwga2V5VGltZSwgb3JpZ2luYWxWYWx1ZSwgdGltaW5nRnVuY3Rpb24ucmVsZWFzZSgpLCBib3hT
aXplKTsKKyAgICAgICAgYm9vbCBhZGRlZEtleWZyYW1lID0gYXBwZW5kS2V5ZnJhbWU8VmFsdWUs
IEtleWZyYW1lLCBDdXJ2ZT4oKmN1cnZlLCBrZXlUaW1lLCBvcmlnaW5hbFZhbHVlLCBsYXN0T3Jp
Z2luYWxWYWx1ZSwgdGltaW5nRnVuY3Rpb24ucmVsZWFzZSgpLCBib3hTaXplKTsKICAgICAgICAg
aWYgKCFhZGRlZEtleWZyYW1lKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3Jh
cGhpY3NMYXllckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHAKaW5kZXggZDM3NTcyZDkzZDExOTgx
OTIzNDYyZGEzNjJmMjMxZGYwNzcyYmM4Yi4uYzIxNzI2ZTlmNDI0MGE2MWViM2MwOGYwOTE2MmMy
NjM5Y2UzNmQzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uY3BwCkBAIC01
MDksMTQgKzUwOSw2IEBAIHZvaWQgR3JhcGhpY3NMYXllckNocm9taXVtOjpzZXRDb250ZW50c1Rv
Q2FudmFzKFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIpCiAKIGJvb2wgR3JhcGhpY3NMYXll
ckNocm9taXVtOjphZGRBbmltYXRpb24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbHVlcywg
Y29uc3QgSW50U2l6ZSYgYm94U2l6ZSwgY29uc3QgQW5pbWF0aW9uKiBhbmltYXRpb24sIGNvbnN0
IFN0cmluZyYgYW5pbWF0aW9uTmFtZSwgZG91YmxlIHRpbWVPZmZzZXQpCiB7Ci0gICAgLy8gQmFp
bCBlYXJseSBpZiB3ZSBoYXZlIGEgbGFyZ2Ugcm90YXRpb24uCi0gICAgaWYgKHZhbHVlcy5wcm9w
ZXJ0eSgpID09IEFuaW1hdGVkUHJvcGVydHlXZWJraXRUcmFuc2Zvcm0pIHsKLSAgICAgICAgYm9v
bCBoYXNSb3RhdGlvbk9mTW9yZVRoYW4xODBEZWdyZWVzID0gZmFsc2U7Ci0gICAgICAgIHZhbGlk
YXRlVHJhbnNmb3JtT3BlcmF0aW9ucyh2YWx1ZXMsIGhhc1JvdGF0aW9uT2ZNb3JlVGhhbjE4MERl
Z3JlZXMpOwotICAgICAgICBpZiAoaGFzUm90YXRpb25PZk1vcmVUaGFuMTgwRGVncmVlcykKLSAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KICAgICBwcmltYXJ5TGF5ZXIoKS51bndy
YXA8TGF5ZXJDaHJvbWl1bT4oKS0+c2V0TGF5ZXJBbmltYXRpb25EZWxlZ2F0ZSh0aGlzKTsKIAog
ICAgIGludCBhbmltYXRpb25JZCA9IG1hcEFuaW1hdGlvbk5hbWVUb0lkKGFuaW1hdGlvbk5hbWUp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149059</attachid>
            <date>2012-06-22 10:49:18 -0700</date>
            <delta_ts>2012-06-22 12:29:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89768-20120622134917.patch</filename>
            <type>text/plain</type>
            <size>6730</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYxNDUxOTcwYzU5OGM1
MmM0NTUyMjQ2YmIyZTY1MjJlYTU2NmFjYS4uNDg0N2YyNTc5OGQ1NzZkODZhZTU2MjEyMzYyMWMx
NGQ1MDBjN2NmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA2LTIyICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQ29y
cmVjdGx5IHJlamVjdCBhY2NlbGVyYXRlZCBhbmltYXRpb25zIHdpdGggY2VydGFpbiByb3RhdGlv
bnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTc2
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5l
dyB0ZXN0cy4gRnVuY3Rpb25hbGl0eSBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQW5pbWF0aW9uVHJhbnNsYXRpb25VdGls
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFwcGVuZEtleWZyYW1lKToKKyAgICAgICAgKFdlYkNv
cmU6OmlzUm90YXRpb25UeXBlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6Y2F1c2VzUm90YXRpb25PZk1vcmVUaGFuMTgwRGVncmVlcyk6CisgICAgICAgIChXZWJDb3Jl
OjpDQ0tleWZyYW1lZFRyYW5zZm9ybUFuaW1hdGlvbkN1cnZlKToKKyAgICAgICAgKFdlYkNvcmU6
OmNyZWF0ZUFjdGl2ZUFuaW1hdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzTGF5ZXJDaHJvbWl1bTo6YWRkQW5pbWF0aW9uKToKKwogMjAxMi0wNi0yMiAgSWx5YSBUaWto
b25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
cGFydGlhbGx5IGluc3RydW1lbnQgRE9NIFRyZWUgbmF0aXZlIG1lbW9yeS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0FuaW1hdGlvblRyYW5z
bGF0aW9uVXRpbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9BbmltYXRpb25UcmFuc2xhdGlvblV0aWwuY3BwCmluZGV4IDQyYzk1MmYwNzIxY2NiNjMwMGNm
OGI1MmEzYWQ1ZmQ4YmRjYmMwNjQuLmU5ODNjZmFiMjk3MDI2M2RhNDAzMDdhNDM0ZmQxZDFmYmY4
OTY5YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0FuaW1hdGlvblRyYW5zbGF0aW9uVXRpbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQW5pbWF0aW9uVHJhbnNsYXRpb25VdGlsLmNwcApAQCAt
MTIyLDE1ICsxMjIsNTQgQEAgV2ViVHJhbnNmb3JtT3BlcmF0aW9ucyB0b1dlYlRyYW5zZm9ybU9w
ZXJhdGlvbnMoY29uc3QgVHJhbnNmb3JtT3BlcmF0aW9ucyYgdHJhbnMKIH0KIAogdGVtcGxhdGUg
PGNsYXNzIFZhbHVlLCBjbGFzcyBLZXlmcmFtZSwgY2xhc3MgQ3VydmU+Ci1ib29sIGFwcGVuZEtl
eWZyYW1lKEN1cnZlJiBjdXJ2ZSwgZG91YmxlIGtleVRpbWUsIGNvbnN0IFZhbHVlKiB2YWx1ZSwg
UGFzc093blB0cjxDQ1RpbWluZ0Z1bmN0aW9uPiB0aW1pbmdGdW5jdGlvbiwgY29uc3QgRmxvYXRT
aXplJikKK2Jvb2wgYXBwZW5kS2V5ZnJhbWUoQ3VydmUmIGN1cnZlLCBkb3VibGUga2V5VGltZSwg
Y29uc3QgVmFsdWUqIHZhbHVlLCBjb25zdCBWYWx1ZSogbGFzdFZhbHVlLCBQYXNzT3duUHRyPEND
VGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uLCBjb25zdCBGbG9hdFNpemUmKQogewogICAg
IGN1cnZlLmFkZEtleWZyYW1lKEtleWZyYW1lOjpjcmVhdGUoa2V5VGltZSwgdmFsdWUtPnZhbHVl
KCksIHRpbWluZ0Z1bmN0aW9uKSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgaXNSb3Rh
dGlvblR5cGUoVHJhbnNmb3JtT3BlcmF0aW9uOjpPcGVyYXRpb25UeXBlIHRyYW5zZm9ybVR5cGUp
Cit7CisgICAgcmV0dXJuIHRyYW5zZm9ybVR5cGUgPT0gVHJhbnNmb3JtT3BlcmF0aW9uOjpST1RB
VEUKKyAgICAgICAgfHwgdHJhbnNmb3JtVHlwZSA9PSBUcmFuc2Zvcm1PcGVyYXRpb246OlJPVEFU
RV9YCisgICAgICAgIHx8IHRyYW5zZm9ybVR5cGUgPT0gVHJhbnNmb3JtT3BlcmF0aW9uOjpST1RB
VEVfWQorICAgICAgICB8fCB0cmFuc2Zvcm1UeXBlID09IFRyYW5zZm9ybU9wZXJhdGlvbjo6Uk9U
QVRFX1oKKyAgICAgICAgfHwgdHJhbnNmb3JtVHlwZSA9PSBUcmFuc2Zvcm1PcGVyYXRpb246OlJP
VEFURV8zRDsKK30KKworYm9vbCBjYXVzZXNSb3RhdGlvbk9mTW9yZVRoYW4xODBEZWdyZWVzKGNv
bnN0IFRyYW5zZm9ybUFuaW1hdGlvblZhbHVlKiB2YWx1ZSwgY29uc3QgVHJhbnNmb3JtQW5pbWF0
aW9uVmFsdWUqIGxhc3RWYWx1ZSkKK3sKKyAgICBpZiAoIWxhc3RWYWx1ZSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgY29uc3QgVHJhbnNmb3JtT3BlcmF0aW9ucyYgb3BlcmF0aW9ucyA9
ICp2YWx1ZS0+dmFsdWUoKTsKKyAgICBjb25zdCBUcmFuc2Zvcm1PcGVyYXRpb25zJiBsYXN0T3Bl
cmF0aW9ucyA9ICpsYXN0VmFsdWUtPnZhbHVlKCk7CisKKyAgICAvLyBXZSdsbCBiZSBkb2luZyBt
YXRyaXggaW50ZXJwb2xhdGlvbiBpbiB0aGlzIGNhc2UuIE5vIHJpc2sgb2YgaW5jb3JyZWN0Cisg
ICAgLy8gcm90YXRpb25zIGhlcmUuCisgICAgaWYgKCFvcGVyYXRpb25zLm9wZXJhdGlvbnNNYXRj
aChsYXN0T3BlcmF0aW9ucykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgb3BlcmF0aW9ucy5zaXplKCk7ICsraSkgeworICAgICAgICBpZiAoIWlz
Um90YXRpb25UeXBlKG9wZXJhdGlvbnMub3BlcmF0aW9ucygpW2ldLT5nZXRPcGVyYXRpb25UeXBl
KCkpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgUm90YXRlVHJhbnNmb3JtT3Bl
cmF0aW9uKiByb3RhdGlvbiA9IHN0YXRpY19jYXN0PFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbio+
KG9wZXJhdGlvbnMub3BlcmF0aW9ucygpW2ldLmdldCgpKTsKKyAgICAgICAgUm90YXRlVHJhbnNm
b3JtT3BlcmF0aW9uKiBsYXN0Um90YXRpb24gPSBzdGF0aWNfY2FzdDxSb3RhdGVUcmFuc2Zvcm1P
cGVyYXRpb24qPihsYXN0T3BlcmF0aW9ucy5vcGVyYXRpb25zKClbaV0uZ2V0KCkpOworCisgICAg
ICAgIGlmIChmYWJzKHJvdGF0aW9uLT5hbmdsZSgpIC0gbGFzdFJvdGF0aW9uLT5hbmdsZSgpKSA+
IDE4MCkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHJldHVybiBmYWxz
ZTsKK30KKwogdGVtcGxhdGUgPD4KLWJvb2wgYXBwZW5kS2V5ZnJhbWU8VHJhbnNmb3JtQW5pbWF0
aW9uVmFsdWUsIENDVHJhbnNmb3JtS2V5ZnJhbWUsIENDS2V5ZnJhbWVkVHJhbnNmb3JtQW5pbWF0
aW9uQ3VydmU+KENDS2V5ZnJhbWVkVHJhbnNmb3JtQW5pbWF0aW9uQ3VydmUmIGN1cnZlLCBkb3Vi
bGUga2V5VGltZSwgY29uc3QgVHJhbnNmb3JtQW5pbWF0aW9uVmFsdWUqIHZhbHVlLCBQYXNzT3du
UHRyPENDVGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uLCBjb25zdCBGbG9hdFNpemUmIGJv
eFNpemUpCitib29sIGFwcGVuZEtleWZyYW1lPFRyYW5zZm9ybUFuaW1hdGlvblZhbHVlLCBDQ1Ry
YW5zZm9ybUtleWZyYW1lLCBDQ0tleWZyYW1lZFRyYW5zZm9ybUFuaW1hdGlvbkN1cnZlPihDQ0tl
eWZyYW1lZFRyYW5zZm9ybUFuaW1hdGlvbkN1cnZlJiBjdXJ2ZSwgZG91YmxlIGtleVRpbWUsIGNv
bnN0IFRyYW5zZm9ybUFuaW1hdGlvblZhbHVlKiB2YWx1ZSwgY29uc3QgVHJhbnNmb3JtQW5pbWF0
aW9uVmFsdWUqIGxhc3RWYWx1ZSwgUGFzc093blB0cjxDQ1RpbWluZ0Z1bmN0aW9uPiB0aW1pbmdG
dW5jdGlvbiwgY29uc3QgRmxvYXRTaXplJiBib3hTaXplKQogeworICAgIGlmIChjYXVzZXNSb3Rh
dGlvbk9mTW9yZVRoYW4xODBEZWdyZWVzKHZhbHVlLCBsYXN0VmFsdWUpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKICAgICBXZWJUcmFuc2Zvcm1PcGVyYXRpb25zIG9wZXJhdGlvbnMgPSB0b1dl
YlRyYW5zZm9ybU9wZXJhdGlvbnMoKnZhbHVlLT52YWx1ZSgpLCBib3hTaXplKTsKICAgICBpZiAo
b3BlcmF0aW9ucy5hcHBseSgpLmlzSW52ZXJ0aWJsZSgpKSB7CiAgICAgICAgIGN1cnZlLmFkZEtl
eWZyYW1lKENDVHJhbnNmb3JtS2V5ZnJhbWU6OmNyZWF0ZShrZXlUaW1lLCBvcGVyYXRpb25zLCB0
aW1pbmdGdW5jdGlvbikpOwpAQCAtMTU5LDYgKzE5OCw5IEBAIFBhc3NPd25QdHI8Q0NBY3RpdmVB
bmltYXRpb24+IGNyZWF0ZUFjdGl2ZUFuaW1hdGlvbihjb25zdCBLZXlmcmFtZVZhbHVlTGlzdCYg
dmFsCiAgICAgICAgIHNpemVfdCBpbmRleCA9IHJldmVyc2UgPyB2YWx1ZUxpc3Quc2l6ZSgpIC0g
aSAtIDEgOiBpOwogCiAgICAgICAgIGNvbnN0IFZhbHVlKiBvcmlnaW5hbFZhbHVlID0gc3RhdGlj
X2Nhc3Q8Y29uc3QgVmFsdWUqPih2YWx1ZUxpc3QuYXQoaW5kZXgpKTsKKyAgICAgICAgY29uc3Qg
VmFsdWUqIGxhc3RPcmlnaW5hbFZhbHVlID0gMDsKKyAgICAgICAgaWYgKHZhbHVlTGlzdC5zaXpl
KCkgPiAxICYmICgocmV2ZXJzZSAmJiBpbmRleCArIDEgPCB2YWx1ZUxpc3Quc2l6ZSgpKSB8fCAo
IXJldmVyc2UgJiYgaW5kZXggPiAwKSkpCisgICAgICAgICAgICBsYXN0T3JpZ2luYWxWYWx1ZSA9
IHN0YXRpY19jYXN0PGNvbnN0IFZhbHVlKj4odmFsdWVMaXN0LmF0KHJldmVyc2UgPyBpbmRleCAr
IDEgOiBpbmRleCAtIDEpKTsKIAogICAgICAgICBPd25QdHI8Q0NUaW1pbmdGdW5jdGlvbj4gdGlt
aW5nRnVuY3Rpb247CiAgICAgICAgIGNvbnN0IFRpbWluZ0Z1bmN0aW9uKiBvcmlnaW5hbFRpbWlu
Z0Z1bmN0aW9uID0gb3JpZ2luYWxWYWx1ZS0+dGltaW5nRnVuY3Rpb24oKTsKQEAgLTE5MCw3ICsy
MzIsNyBAQCBQYXNzT3duUHRyPENDQWN0aXZlQW5pbWF0aW9uPiBjcmVhdGVBY3RpdmVBbmltYXRp
b24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbAogICAgICAgICBpZiAocmV2ZXJzZSkKICAg
ICAgICAgICAgIGtleVRpbWUgPSBkdXJhdGlvbiAtIGtleVRpbWU7CiAKLSAgICAgICAgYm9vbCBh
ZGRlZEtleWZyYW1lID0gYXBwZW5kS2V5ZnJhbWU8VmFsdWUsIEtleWZyYW1lLCBDdXJ2ZT4oKmN1
cnZlLCBrZXlUaW1lLCBvcmlnaW5hbFZhbHVlLCB0aW1pbmdGdW5jdGlvbi5yZWxlYXNlKCksIGJv
eFNpemUpOworICAgICAgICBib29sIGFkZGVkS2V5ZnJhbWUgPSBhcHBlbmRLZXlmcmFtZTxWYWx1
ZSwgS2V5ZnJhbWUsIEN1cnZlPigqY3VydmUsIGtleVRpbWUsIG9yaWdpbmFsVmFsdWUsIGxhc3RP
cmlnaW5hbFZhbHVlLCB0aW1pbmdGdW5jdGlvbi5yZWxlYXNlKCksIGJveFNpemUpOwogICAgICAg
ICBpZiAoIWFkZGVkS2V5ZnJhbWUpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9H
cmFwaGljc0xheWVyQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcAppbmRleCBkMzc1NzJkOTNkMTE5
ODE5MjM0NjJkYTM2MmYyMzFkZjA3NzJiYzhiLi5jMjE3MjZlOWY0MjQwYTYxZWIzYzA4ZjA5MTYy
YzI2MzljZTM2ZDNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHAKQEAg
LTUwOSwxNCArNTA5LDYgQEAgdm9pZCBHcmFwaGljc0xheWVyQ2hyb21pdW06OnNldENvbnRlbnRz
VG9DYW52YXMoUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllcikKIAogYm9vbCBHcmFwaGljc0xh
eWVyQ2hyb21pdW06OmFkZEFuaW1hdGlvbihjb25zdCBLZXlmcmFtZVZhbHVlTGlzdCYgdmFsdWVz
LCBjb25zdCBJbnRTaXplJiBib3hTaXplLCBjb25zdCBBbmltYXRpb24qIGFuaW1hdGlvbiwgY29u
c3QgU3RyaW5nJiBhbmltYXRpb25OYW1lLCBkb3VibGUgdGltZU9mZnNldCkKIHsKLSAgICAvLyBC
YWlsIGVhcmx5IGlmIHdlIGhhdmUgYSBsYXJnZSByb3RhdGlvbi4KLSAgICBpZiAodmFsdWVzLnBy
b3BlcnR5KCkgPT0gQW5pbWF0ZWRQcm9wZXJ0eVdlYmtpdFRyYW5zZm9ybSkgewotICAgICAgICBi
b29sIGhhc1JvdGF0aW9uT2ZNb3JlVGhhbjE4MERlZ3JlZXMgPSBmYWxzZTsKLSAgICAgICAgdmFs
aWRhdGVUcmFuc2Zvcm1PcGVyYXRpb25zKHZhbHVlcywgaGFzUm90YXRpb25PZk1vcmVUaGFuMTgw
RGVncmVlcyk7Ci0gICAgICAgIGlmIChoYXNSb3RhdGlvbk9mTW9yZVRoYW4xODBEZWdyZWVzKQot
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQogICAgIHByaW1hcnlMYXllcigpLnVu
d3JhcDxMYXllckNocm9taXVtPigpLT5zZXRMYXllckFuaW1hdGlvbkRlbGVnYXRlKHRoaXMpOwog
CiAgICAgaW50IGFuaW1hdGlvbklkID0gbWFwQW5pbWF0aW9uTmFtZVRvSWQoYW5pbWF0aW9uTmFt
ZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149083</attachid>
            <date>2012-06-22 12:29:43 -0700</date>
            <delta_ts>2012-06-22 12:31:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89768-20120622152943.patch</filename>
            <type>text/plain</type>
            <size>10193</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYxNDUxOTcwYzU5OGM1
MmM0NTUyMjQ2YmIyZTY1MjJlYTU2NmFjYS4uZDk0MzIzOTczOWE5NTk2NWViZmZmZDM2MDM1NzFi
Nzg0ZTFlYzcxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA2LTIyICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQ29y
cmVjdGx5IHJlamVjdCBhY2NlbGVyYXRlZCBhbmltYXRpb25zIHdpdGggY2VydGFpbiByb3RhdGlv
bnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTc2
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuaXRU
ZXN0czoKKyAgICAgICAgICBHcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0LmNyZWF0ZVRyYW5zZm9y
bUFuaW1hdGlvbldpdGhCaWdSb3RhdGlvbgorICAgICAgICAgIEdyYXBoaWNzTGF5ZXJDaHJvbWl1
bVRlc3QuY3JlYXRlVHJhbnNmb3JtQW5pbWF0aW9uV2l0aFJvdGF0aW9uSW52b2x2aW5nTmVnYXRp
dmVBbmdsZXMKKyAgICAgICAgICBHcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0LmNyZWF0ZVRyYW5z
Zm9ybUFuaW1hdGlvbldpdGhTbWFsbFJvdGF0aW9uSW52b2x2aW5nTGFyZ2VBbmdsZXMKKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0FuaW1hdGlvblRyYW5zbGF0aW9uVXRp
bC5jcHA6CisgICAgICAgIChXZWJDb3JlOjphcHBlbmRLZXlmcmFtZSk6CisgICAgICAgIChXZWJD
b3JlOjppc1JvdGF0aW9uVHlwZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OmNhdXNlc1JvdGF0aW9uT2ZNb3JlVGhhbjE4MERlZ3JlZXMpOgorICAgICAgICAoV2ViQ29y
ZTo6Q0NLZXlmcmFtZWRUcmFuc2Zvcm1BbmltYXRpb25DdXJ2ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpjcmVhdGVBY3RpdmVBbmltYXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0xheWVyQ2hyb21pdW06OmFkZEFuaW1hdGlvbik6CisKIDIwMTItMDYtMjIgIElseWEgVGlr
aG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IHBhcnRpYWxseSBpbnN0cnVtZW50IERPTSBUcmVlIG5hdGl2ZSBtZW1vcnkuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCmluZGV4IDI1MTY5NGMyMzRkMjNjZTY4Mzg0ZGUyMzQ3MzgyZjYyMTJjZTY2
YjcuLmViMWNiNGMxOTlhMzNkZWI5MzFhNDZkNmM5NGVlYjZhMDg0ZjdiYWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDYtMjIgIElhbiBWb2xsaWNr
ICA8dm9sbGlja0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBDb3JyZWN0bHkg
cmVqZWN0IGFjY2VsZXJhdGVkIGFuaW1hdGlvbnMgd2l0aCBjZXJ0YWluIHJvdGF0aW9ucy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5NzY4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB0ZXN0cy9HcmFw
aGljc0xheWVyQ2hyb21pdW1UZXN0LmNwcDoKKyAgICAgICAgKFdlYktpdFRlc3RzOjpURVNUX0Yp
OgorICAgICAgICAoV2ViS2l0VGVzdHMpOgorCiAyMDEyLTA2LTIyICBBbXkgT3VzdGVyaG91dCAg
PGFvdXN0ZXJoQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZW5hbWVkIERldmljZU9yaWVudGF0
aW9uIHRvIERldmljZU9yaWVudGF0aW9uRGF0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQW5pbWF0aW9uVHJhbnNsYXRpb25VdGlsLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0FuaW1hdGlvblRyYW5z
bGF0aW9uVXRpbC5jcHAKaW5kZXggNDJjOTUyZjA3MjFjY2I2MzAwY2Y4YjUyYTNhZDVmZDhiZGNi
YzA2NC4uZTk4M2NmYWIyOTcwMjYzZGE0MDMwN2E0MzRmZDFkMWZiZjg5NjlhZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQW5pbWF0aW9uVHJh
bnNsYXRpb25VdGlsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9BbmltYXRpb25UcmFuc2xhdGlvblV0aWwuY3BwCkBAIC0xMjIsMTUgKzEyMiw1NCBA
QCBXZWJUcmFuc2Zvcm1PcGVyYXRpb25zIHRvV2ViVHJhbnNmb3JtT3BlcmF0aW9ucyhjb25zdCBU
cmFuc2Zvcm1PcGVyYXRpb25zJiB0cmFucwogfQogCiB0ZW1wbGF0ZSA8Y2xhc3MgVmFsdWUsIGNs
YXNzIEtleWZyYW1lLCBjbGFzcyBDdXJ2ZT4KLWJvb2wgYXBwZW5kS2V5ZnJhbWUoQ3VydmUmIGN1
cnZlLCBkb3VibGUga2V5VGltZSwgY29uc3QgVmFsdWUqIHZhbHVlLCBQYXNzT3duUHRyPENDVGlt
aW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uLCBjb25zdCBGbG9hdFNpemUmKQorYm9vbCBhcHBl
bmRLZXlmcmFtZShDdXJ2ZSYgY3VydmUsIGRvdWJsZSBrZXlUaW1lLCBjb25zdCBWYWx1ZSogdmFs
dWUsIGNvbnN0IFZhbHVlKiBsYXN0VmFsdWUsIFBhc3NPd25QdHI8Q0NUaW1pbmdGdW5jdGlvbj4g
dGltaW5nRnVuY3Rpb24sIGNvbnN0IEZsb2F0U2l6ZSYpCiB7CiAgICAgY3VydmUuYWRkS2V5ZnJh
bWUoS2V5ZnJhbWU6OmNyZWF0ZShrZXlUaW1lLCB2YWx1ZS0+dmFsdWUoKSwgdGltaW5nRnVuY3Rp
b24pKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBpc1JvdGF0aW9uVHlwZShUcmFuc2Zv
cm1PcGVyYXRpb246Ok9wZXJhdGlvblR5cGUgdHJhbnNmb3JtVHlwZSkKK3sKKyAgICByZXR1cm4g
dHJhbnNmb3JtVHlwZSA9PSBUcmFuc2Zvcm1PcGVyYXRpb246OlJPVEFURQorICAgICAgICB8fCB0
cmFuc2Zvcm1UeXBlID09IFRyYW5zZm9ybU9wZXJhdGlvbjo6Uk9UQVRFX1gKKyAgICAgICAgfHwg
dHJhbnNmb3JtVHlwZSA9PSBUcmFuc2Zvcm1PcGVyYXRpb246OlJPVEFURV9ZCisgICAgICAgIHx8
IHRyYW5zZm9ybVR5cGUgPT0gVHJhbnNmb3JtT3BlcmF0aW9uOjpST1RBVEVfWgorICAgICAgICB8
fCB0cmFuc2Zvcm1UeXBlID09IFRyYW5zZm9ybU9wZXJhdGlvbjo6Uk9UQVRFXzNEOworfQorCiti
b29sIGNhdXNlc1JvdGF0aW9uT2ZNb3JlVGhhbjE4MERlZ3JlZXMoY29uc3QgVHJhbnNmb3JtQW5p
bWF0aW9uVmFsdWUqIHZhbHVlLCBjb25zdCBUcmFuc2Zvcm1BbmltYXRpb25WYWx1ZSogbGFzdFZh
bHVlKQoreworICAgIGlmICghbGFzdFZhbHVlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBjb25zdCBUcmFuc2Zvcm1PcGVyYXRpb25zJiBvcGVyYXRpb25zID0gKnZhbHVlLT52YWx1ZSgp
OworICAgIGNvbnN0IFRyYW5zZm9ybU9wZXJhdGlvbnMmIGxhc3RPcGVyYXRpb25zID0gKmxhc3RW
YWx1ZS0+dmFsdWUoKTsKKworICAgIC8vIFdlJ2xsIGJlIGRvaW5nIG1hdHJpeCBpbnRlcnBvbGF0
aW9uIGluIHRoaXMgY2FzZS4gTm8gcmlzayBvZiBpbmNvcnJlY3QKKyAgICAvLyByb3RhdGlvbnMg
aGVyZS4KKyAgICBpZiAoIW9wZXJhdGlvbnMub3BlcmF0aW9uc01hdGNoKGxhc3RPcGVyYXRpb25z
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBv
cGVyYXRpb25zLnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmICghaXNSb3RhdGlvblR5cGUob3Bl
cmF0aW9ucy5vcGVyYXRpb25zKClbaV0tPmdldE9wZXJhdGlvblR5cGUoKSkpCisgICAgICAgICAg
ICBjb250aW51ZTsKKworICAgICAgICBSb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb24qIHJvdGF0aW9u
ID0gc3RhdGljX2Nhc3Q8Um90YXRlVHJhbnNmb3JtT3BlcmF0aW9uKj4ob3BlcmF0aW9ucy5vcGVy
YXRpb25zKClbaV0uZ2V0KCkpOworICAgICAgICBSb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb24qIGxh
c3RSb3RhdGlvbiA9IHN0YXRpY19jYXN0PFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbio+KGxhc3RP
cGVyYXRpb25zLm9wZXJhdGlvbnMoKVtpXS5nZXQoKSk7CisKKyAgICAgICAgaWYgKGZhYnMocm90
YXRpb24tPmFuZ2xlKCkgLSBsYXN0Um90YXRpb24tPmFuZ2xlKCkpID4gMTgwKQorICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQorCiB0ZW1wbGF0
ZSA8PgotYm9vbCBhcHBlbmRLZXlmcmFtZTxUcmFuc2Zvcm1BbmltYXRpb25WYWx1ZSwgQ0NUcmFu
c2Zvcm1LZXlmcmFtZSwgQ0NLZXlmcmFtZWRUcmFuc2Zvcm1BbmltYXRpb25DdXJ2ZT4oQ0NLZXlm
cmFtZWRUcmFuc2Zvcm1BbmltYXRpb25DdXJ2ZSYgY3VydmUsIGRvdWJsZSBrZXlUaW1lLCBjb25z
dCBUcmFuc2Zvcm1BbmltYXRpb25WYWx1ZSogdmFsdWUsIFBhc3NPd25QdHI8Q0NUaW1pbmdGdW5j
dGlvbj4gdGltaW5nRnVuY3Rpb24sIGNvbnN0IEZsb2F0U2l6ZSYgYm94U2l6ZSkKK2Jvb2wgYXBw
ZW5kS2V5ZnJhbWU8VHJhbnNmb3JtQW5pbWF0aW9uVmFsdWUsIENDVHJhbnNmb3JtS2V5ZnJhbWUs
IENDS2V5ZnJhbWVkVHJhbnNmb3JtQW5pbWF0aW9uQ3VydmU+KENDS2V5ZnJhbWVkVHJhbnNmb3Jt
QW5pbWF0aW9uQ3VydmUmIGN1cnZlLCBkb3VibGUga2V5VGltZSwgY29uc3QgVHJhbnNmb3JtQW5p
bWF0aW9uVmFsdWUqIHZhbHVlLCBjb25zdCBUcmFuc2Zvcm1BbmltYXRpb25WYWx1ZSogbGFzdFZh
bHVlLCBQYXNzT3duUHRyPENDVGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uLCBjb25zdCBG
bG9hdFNpemUmIGJveFNpemUpCiB7CisgICAgaWYgKGNhdXNlc1JvdGF0aW9uT2ZNb3JlVGhhbjE4
MERlZ3JlZXModmFsdWUsIGxhc3RWYWx1ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAg
IFdlYlRyYW5zZm9ybU9wZXJhdGlvbnMgb3BlcmF0aW9ucyA9IHRvV2ViVHJhbnNmb3JtT3BlcmF0
aW9ucygqdmFsdWUtPnZhbHVlKCksIGJveFNpemUpOwogICAgIGlmIChvcGVyYXRpb25zLmFwcGx5
KCkuaXNJbnZlcnRpYmxlKCkpIHsKICAgICAgICAgY3VydmUuYWRkS2V5ZnJhbWUoQ0NUcmFuc2Zv
cm1LZXlmcmFtZTo6Y3JlYXRlKGtleVRpbWUsIG9wZXJhdGlvbnMsIHRpbWluZ0Z1bmN0aW9uKSk7
CkBAIC0xNTksNiArMTk4LDkgQEAgUGFzc093blB0cjxDQ0FjdGl2ZUFuaW1hdGlvbj4gY3JlYXRl
QWN0aXZlQW5pbWF0aW9uKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0JiB2YWwKICAgICAgICAgc2l6
ZV90IGluZGV4ID0gcmV2ZXJzZSA/IHZhbHVlTGlzdC5zaXplKCkgLSBpIC0gMSA6IGk7CiAKICAg
ICAgICAgY29uc3QgVmFsdWUqIG9yaWdpbmFsVmFsdWUgPSBzdGF0aWNfY2FzdDxjb25zdCBWYWx1
ZSo+KHZhbHVlTGlzdC5hdChpbmRleCkpOworICAgICAgICBjb25zdCBWYWx1ZSogbGFzdE9yaWdp
bmFsVmFsdWUgPSAwOworICAgICAgICBpZiAodmFsdWVMaXN0LnNpemUoKSA+IDEgJiYgKChyZXZl
cnNlICYmIGluZGV4ICsgMSA8IHZhbHVlTGlzdC5zaXplKCkpIHx8ICghcmV2ZXJzZSAmJiBpbmRl
eCA+IDApKSkKKyAgICAgICAgICAgIGxhc3RPcmlnaW5hbFZhbHVlID0gc3RhdGljX2Nhc3Q8Y29u
c3QgVmFsdWUqPih2YWx1ZUxpc3QuYXQocmV2ZXJzZSA/IGluZGV4ICsgMSA6IGluZGV4IC0gMSkp
OwogCiAgICAgICAgIE93blB0cjxDQ1RpbWluZ0Z1bmN0aW9uPiB0aW1pbmdGdW5jdGlvbjsKICAg
ICAgICAgY29uc3QgVGltaW5nRnVuY3Rpb24qIG9yaWdpbmFsVGltaW5nRnVuY3Rpb24gPSBvcmln
aW5hbFZhbHVlLT50aW1pbmdGdW5jdGlvbigpOwpAQCAtMTkwLDcgKzIzMiw3IEBAIFBhc3NPd25Q
dHI8Q0NBY3RpdmVBbmltYXRpb24+IGNyZWF0ZUFjdGl2ZUFuaW1hdGlvbihjb25zdCBLZXlmcmFt
ZVZhbHVlTGlzdCYgdmFsCiAgICAgICAgIGlmIChyZXZlcnNlKQogICAgICAgICAgICAga2V5VGlt
ZSA9IGR1cmF0aW9uIC0ga2V5VGltZTsKIAotICAgICAgICBib29sIGFkZGVkS2V5ZnJhbWUgPSBh
cHBlbmRLZXlmcmFtZTxWYWx1ZSwgS2V5ZnJhbWUsIEN1cnZlPigqY3VydmUsIGtleVRpbWUsIG9y
aWdpbmFsVmFsdWUsIHRpbWluZ0Z1bmN0aW9uLnJlbGVhc2UoKSwgYm94U2l6ZSk7CisgICAgICAg
IGJvb2wgYWRkZWRLZXlmcmFtZSA9IGFwcGVuZEtleWZyYW1lPFZhbHVlLCBLZXlmcmFtZSwgQ3Vy
dmU+KCpjdXJ2ZSwga2V5VGltZSwgb3JpZ2luYWxWYWx1ZSwgbGFzdE9yaWdpbmFsVmFsdWUsIHRp
bWluZ0Z1bmN0aW9uLnJlbGVhc2UoKSwgYm94U2l6ZSk7CiAgICAgICAgIGlmICghYWRkZWRLZXlm
cmFtZSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJv
bWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFw
aGljc0xheWVyQ2hyb21pdW0uY3BwCmluZGV4IGQzNzU3MmQ5M2QxMTk4MTkyMzQ2MmRhMzYyZjIz
MWRmMDc3MmJjOGIuLmMyMTcyNmU5ZjQyNDBhNjFlYjNjMDhmMDkxNjJjMjYzOWNlMzZkM2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBo
aWNzTGF5ZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcApAQCAtNTA5LDE0ICs1MDksNiBA
QCB2b2lkIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6c2V0Q29udGVudHNUb0NhbnZhcyhQbGF0Zm9y
bUxheWVyKiBwbGF0Zm9ybUxheWVyKQogCiBib29sIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6YWRk
QW5pbWF0aW9uKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0JiB2YWx1ZXMsIGNvbnN0IEludFNpemUm
IGJveFNpemUsIGNvbnN0IEFuaW1hdGlvbiogYW5pbWF0aW9uLCBjb25zdCBTdHJpbmcmIGFuaW1h
dGlvbk5hbWUsIGRvdWJsZSB0aW1lT2Zmc2V0KQogewotICAgIC8vIEJhaWwgZWFybHkgaWYgd2Ug
aGF2ZSBhIGxhcmdlIHJvdGF0aW9uLgotICAgIGlmICh2YWx1ZXMucHJvcGVydHkoKSA9PSBBbmlt
YXRlZFByb3BlcnR5V2Via2l0VHJhbnNmb3JtKSB7Ci0gICAgICAgIGJvb2wgaGFzUm90YXRpb25P
Zk1vcmVUaGFuMTgwRGVncmVlcyA9IGZhbHNlOwotICAgICAgICB2YWxpZGF0ZVRyYW5zZm9ybU9w
ZXJhdGlvbnModmFsdWVzLCBoYXNSb3RhdGlvbk9mTW9yZVRoYW4xODBEZWdyZWVzKTsKLSAgICAg
ICAgaWYgKGhhc1JvdGF0aW9uT2ZNb3JlVGhhbjE4MERlZ3JlZXMpCi0gICAgICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgfQotCiAgICAgcHJpbWFyeUxheWVyKCkudW53cmFwPExheWVyQ2hyb21p
dW0+KCktPnNldExheWVyQW5pbWF0aW9uRGVsZWdhdGUodGhpcyk7CiAKICAgICBpbnQgYW5pbWF0
aW9uSWQgPSBtYXBBbmltYXRpb25OYW1lVG9JZChhbmltYXRpb25OYW1lKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvR3JhcGhpY3NMYXllckNocm9taXVtVGVzdC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bVRl
c3QuY3BwCmluZGV4IDQxMGM0NWQ3OGJlN2E4YWNlMTlkNTE4YmI1YjY3NWUzNjkwYTA0MDIuLmE0
ZDVhNjAxZDBiMGFlNDI4ZWIzZTQ5YzhmNjMxYjAxMDkwOWVkZTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvR3JhcGhpY3NMYXllckNocm9taXVtVGVzdC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9HcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0
LmNwcApAQCAtMjU2LDYgKzI1Niw1MCBAQCBURVNUX0YoR3JhcGhpY3NMYXllckNocm9taXVtVGVz
dCwgY3JlYXRlVHJhbnNmb3JtQW5pbWF0aW9uV2l0aEJpZ1JvdGF0aW9uKQogICAgIEVYUEVDVF9G
QUxTRShtX3BsYXRmb3JtTGF5ZXItPmxheWVyQW5pbWF0aW9uQ29udHJvbGxlcigpLT5oYXNBY3Rp
dmVBbmltYXRpb24oKSk7CiB9CiAKK1RFU1RfRihHcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0LCBj
cmVhdGVUcmFuc2Zvcm1BbmltYXRpb25XaXRoUm90YXRpb25JbnZvbHZpbmdOZWdhdGl2ZUFuZ2xl
cykKK3sKKyAgICBjb25zdCBkb3VibGUgZHVyYXRpb24gPSAxOworICAgIFdlYkNvcmU6OktleWZy
YW1lVmFsdWVMaXN0IHZhbHVlcyhBbmltYXRlZFByb3BlcnR5V2Via2l0VHJhbnNmb3JtKTsKKwor
ICAgIFRyYW5zZm9ybU9wZXJhdGlvbnMgb3BlcmF0aW9uczE7CisgICAgb3BlcmF0aW9uczEub3Bl
cmF0aW9ucygpLmFwcGVuZChSb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0ZSgtMzMwLCBU
cmFuc2Zvcm1PcGVyYXRpb246OlJPVEFURSkpOworICAgIHZhbHVlcy5pbnNlcnQobmV3IFRyYW5z
Zm9ybUFuaW1hdGlvblZhbHVlKDAsICZvcGVyYXRpb25zMSkpOworCisgICAgVHJhbnNmb3JtT3Bl
cmF0aW9ucyBvcGVyYXRpb25zMjsKKyAgICBvcGVyYXRpb25zMi5vcGVyYXRpb25zKCkuYXBwZW5k
KFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbjo6Y3JlYXRlKC0zMjAsIFRyYW5zZm9ybU9wZXJhdGlv
bjo6Uk9UQVRFKSk7CisgICAgdmFsdWVzLmluc2VydChuZXcgVHJhbnNmb3JtQW5pbWF0aW9uVmFs
dWUoZHVyYXRpb24sICZvcGVyYXRpb25zMikpOworCisgICAgUmVmUHRyPEFuaW1hdGlvbj4gYW5p
bWF0aW9uID0gQW5pbWF0aW9uOjpjcmVhdGUoKTsKKyAgICBhbmltYXRpb24tPnNldER1cmF0aW9u
KGR1cmF0aW9uKTsKKworICAgIEludFNpemUgYm94U2l6ZTsKKyAgICBtX2dyYXBoaWNzTGF5ZXIt
PmFkZEFuaW1hdGlvbih2YWx1ZXMsIGJveFNpemUsIGFuaW1hdGlvbi5nZXQoKSwgIiIsIDApOwor
CisgICAgRVhQRUNUX1RSVUUobV9wbGF0Zm9ybUxheWVyLT5sYXllckFuaW1hdGlvbkNvbnRyb2xs
ZXIoKS0+aGFzQWN0aXZlQW5pbWF0aW9uKCkpOworfQorCitURVNUX0YoR3JhcGhpY3NMYXllckNo
cm9taXVtVGVzdCwgY3JlYXRlVHJhbnNmb3JtQW5pbWF0aW9uV2l0aFNtYWxsUm90YXRpb25JbnZv
bHZpbmdMYXJnZUFuZ2xlcykKK3sKKyAgICBjb25zdCBkb3VibGUgZHVyYXRpb24gPSAxOworICAg
IFdlYkNvcmU6OktleWZyYW1lVmFsdWVMaXN0IHZhbHVlcyhBbmltYXRlZFByb3BlcnR5V2Via2l0
VHJhbnNmb3JtKTsKKworICAgIFRyYW5zZm9ybU9wZXJhdGlvbnMgb3BlcmF0aW9uczE7CisgICAg
b3BlcmF0aW9uczEub3BlcmF0aW9ucygpLmFwcGVuZChSb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb246
OmNyZWF0ZSgyNzAsIFRyYW5zZm9ybU9wZXJhdGlvbjo6Uk9UQVRFKSk7CisgICAgdmFsdWVzLmlu
c2VydChuZXcgVHJhbnNmb3JtQW5pbWF0aW9uVmFsdWUoMCwgJm9wZXJhdGlvbnMxKSk7CisKKyAg
ICBUcmFuc2Zvcm1PcGVyYXRpb25zIG9wZXJhdGlvbnMyOworICAgIG9wZXJhdGlvbnMyLm9wZXJh
dGlvbnMoKS5hcHBlbmQoUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9uOjpjcmVhdGUoMzYwLCBUcmFu
c2Zvcm1PcGVyYXRpb246OlJPVEFURSkpOworICAgIHZhbHVlcy5pbnNlcnQobmV3IFRyYW5zZm9y
bUFuaW1hdGlvblZhbHVlKGR1cmF0aW9uLCAmb3BlcmF0aW9uczIpKTsKKworICAgIFJlZlB0cjxB
bmltYXRpb24+IGFuaW1hdGlvbiA9IEFuaW1hdGlvbjo6Y3JlYXRlKCk7CisgICAgYW5pbWF0aW9u
LT5zZXREdXJhdGlvbihkdXJhdGlvbik7CisKKyAgICBJbnRTaXplIGJveFNpemU7CisgICAgbV9n
cmFwaGljc0xheWVyLT5hZGRBbmltYXRpb24odmFsdWVzLCBib3hTaXplLCBhbmltYXRpb24uZ2V0
KCksICIiLCAwKTsKKworICAgIEVYUEVDVF9UUlVFKG1fcGxhdGZvcm1MYXllci0+bGF5ZXJBbmlt
YXRpb25Db250cm9sbGVyKCktPmhhc0FjdGl2ZUFuaW1hdGlvbigpKTsKK30KKwogVEVTVF9GKEdy
YXBoaWNzTGF5ZXJDaHJvbWl1bVRlc3QsIGNyZWF0ZVRyYW5zZm9ybUFuaW1hdGlvbldpdGhTaW5n
dWxhck1hdHJpeCkKIHsKICAgICBjb25zdCBkb3VibGUgZHVyYXRpb24gPSAxOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149084</attachid>
            <date>2012-06-22 12:31:20 -0700</date>
            <delta_ts>2012-06-22 12:38:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89768-20120622153119.patch</filename>
            <type>text/plain</type>
            <size>10194</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYxNDUxOTcwYzU5OGM1
MmM0NTUyMjQ2YmIyZTY1MjJlYTU2NmFjYS4uZDk0MzIzOTczOWE5NTk2NWViZmZmZDM2MDM1NzFi
Nzg0ZTFlYzcxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA2LTIyICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQ29y
cmVjdGx5IHJlamVjdCBhY2NlbGVyYXRlZCBhbmltYXRpb25zIHdpdGggY2VydGFpbiByb3RhdGlv
bnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTc2
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuaXRU
ZXN0czoKKyAgICAgICAgICBHcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0LmNyZWF0ZVRyYW5zZm9y
bUFuaW1hdGlvbldpdGhCaWdSb3RhdGlvbgorICAgICAgICAgIEdyYXBoaWNzTGF5ZXJDaHJvbWl1
bVRlc3QuY3JlYXRlVHJhbnNmb3JtQW5pbWF0aW9uV2l0aFJvdGF0aW9uSW52b2x2aW5nTmVnYXRp
dmVBbmdsZXMKKyAgICAgICAgICBHcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0LmNyZWF0ZVRyYW5z
Zm9ybUFuaW1hdGlvbldpdGhTbWFsbFJvdGF0aW9uSW52b2x2aW5nTGFyZ2VBbmdsZXMKKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0FuaW1hdGlvblRyYW5zbGF0aW9uVXRp
bC5jcHA6CisgICAgICAgIChXZWJDb3JlOjphcHBlbmRLZXlmcmFtZSk6CisgICAgICAgIChXZWJD
b3JlOjppc1JvdGF0aW9uVHlwZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OmNhdXNlc1JvdGF0aW9uT2ZNb3JlVGhhbjE4MERlZ3JlZXMpOgorICAgICAgICAoV2ViQ29y
ZTo6Q0NLZXlmcmFtZWRUcmFuc2Zvcm1BbmltYXRpb25DdXJ2ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpjcmVhdGVBY3RpdmVBbmltYXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0xheWVyQ2hyb21pdW06OmFkZEFuaW1hdGlvbik6CisKIDIwMTItMDYtMjIgIElseWEgVGlr
aG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IHBhcnRpYWxseSBpbnN0cnVtZW50IERPTSBUcmVlIG5hdGl2ZSBtZW1vcnkuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCmluZGV4IDI1MTY5NGMyMzRkMjNjZTY4Mzg0ZGUyMzQ3MzgyZjYyMTJjZTY2
YjcuLmViMWNiNGMxOTlhMzNkZWI5MzFhNDZkNmM5NGVlYjZhMDg0ZjdiYWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDYtMjIgIElhbiBWb2xsaWNr
ICA8dm9sbGlja0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBDb3JyZWN0bHkg
cmVqZWN0IGFjY2VsZXJhdGVkIGFuaW1hdGlvbnMgd2l0aCBjZXJ0YWluIHJvdGF0aW9ucy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5NzY4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB0ZXN0cy9HcmFw
aGljc0xheWVyQ2hyb21pdW1UZXN0LmNwcDoKKyAgICAgICAgKFdlYktpdFRlc3RzOjpURVNUX0Yp
OgorICAgICAgICAoV2ViS2l0VGVzdHMpOgorCiAyMDEyLTA2LTIyICBBbXkgT3VzdGVyaG91dCAg
PGFvdXN0ZXJoQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZW5hbWVkIERldmljZU9yaWVudGF0
aW9uIHRvIERldmljZU9yaWVudGF0aW9uRGF0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQW5pbWF0aW9uVHJhbnNsYXRpb25VdGlsLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0FuaW1hdGlvblRyYW5z
bGF0aW9uVXRpbC5jcHAKaW5kZXggNDJjOTUyZjA3MjFjY2I2MzAwY2Y4YjUyYTNhZDVmZDhiZGNi
YzA2NC4uZDIxNTM4NDE3OTk5YmQ0ZTM2MTBhY2NjYjU2MGRmN2M2ZjdlNDE3NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQW5pbWF0aW9uVHJh
bnNsYXRpb25VdGlsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9BbmltYXRpb25UcmFuc2xhdGlvblV0aWwuY3BwCkBAIC0xMjIsMTUgKzEyMiw1NCBA
QCBXZWJUcmFuc2Zvcm1PcGVyYXRpb25zIHRvV2ViVHJhbnNmb3JtT3BlcmF0aW9ucyhjb25zdCBU
cmFuc2Zvcm1PcGVyYXRpb25zJiB0cmFucwogfQogCiB0ZW1wbGF0ZSA8Y2xhc3MgVmFsdWUsIGNs
YXNzIEtleWZyYW1lLCBjbGFzcyBDdXJ2ZT4KLWJvb2wgYXBwZW5kS2V5ZnJhbWUoQ3VydmUmIGN1
cnZlLCBkb3VibGUga2V5VGltZSwgY29uc3QgVmFsdWUqIHZhbHVlLCBQYXNzT3duUHRyPENDVGlt
aW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uLCBjb25zdCBGbG9hdFNpemUmKQorYm9vbCBhcHBl
bmRLZXlmcmFtZShDdXJ2ZSYgY3VydmUsIGRvdWJsZSBrZXlUaW1lLCBjb25zdCBWYWx1ZSogdmFs
dWUsIGNvbnN0IFZhbHVlKiBsYXN0VmFsdWUsIFBhc3NPd25QdHI8Q0NUaW1pbmdGdW5jdGlvbj4g
dGltaW5nRnVuY3Rpb24sIGNvbnN0IEZsb2F0U2l6ZSYpCiB7CiAgICAgY3VydmUuYWRkS2V5ZnJh
bWUoS2V5ZnJhbWU6OmNyZWF0ZShrZXlUaW1lLCB2YWx1ZS0+dmFsdWUoKSwgdGltaW5nRnVuY3Rp
b24pKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBpc1JvdGF0aW9uVHlwZShUcmFuc2Zv
cm1PcGVyYXRpb246Ok9wZXJhdGlvblR5cGUgdHJhbnNmb3JtVHlwZSkKK3sKKyAgICByZXR1cm4g
dHJhbnNmb3JtVHlwZSA9PSBUcmFuc2Zvcm1PcGVyYXRpb246OlJPVEFURQorICAgICAgICB8fCB0
cmFuc2Zvcm1UeXBlID09IFRyYW5zZm9ybU9wZXJhdGlvbjo6Uk9UQVRFX1gKKyAgICAgICAgfHwg
dHJhbnNmb3JtVHlwZSA9PSBUcmFuc2Zvcm1PcGVyYXRpb246OlJPVEFURV9ZCisgICAgICAgIHx8
IHRyYW5zZm9ybVR5cGUgPT0gVHJhbnNmb3JtT3BlcmF0aW9uOjpST1RBVEVfWgorICAgICAgICB8
fCB0cmFuc2Zvcm1UeXBlID09IFRyYW5zZm9ybU9wZXJhdGlvbjo6Uk9UQVRFXzNEOworfQorCiti
b29sIGNhdXNlc1JvdGF0aW9uT2ZNb3JlVGhhbjE4MERlZ3JlZXMoY29uc3QgVHJhbnNmb3JtQW5p
bWF0aW9uVmFsdWUqIHZhbHVlLCBjb25zdCBUcmFuc2Zvcm1BbmltYXRpb25WYWx1ZSogbGFzdFZh
bHVlKQoreworICAgIGlmICghbGFzdFZhbHVlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBjb25zdCBUcmFuc2Zvcm1PcGVyYXRpb25zJiBvcGVyYXRpb25zID0gKnZhbHVlLT52YWx1ZSgp
OworICAgIGNvbnN0IFRyYW5zZm9ybU9wZXJhdGlvbnMmIGxhc3RPcGVyYXRpb25zID0gKmxhc3RW
YWx1ZS0+dmFsdWUoKTsKKworICAgIC8vIFdlJ2xsIGJlIGRvaW5nIG1hdHJpeCBpbnRlcnBvbGF0
aW9uIGluIHRoaXMgY2FzZS4gTm8gcmlzayBvZiBpbmNvcnJlY3QKKyAgICAvLyByb3RhdGlvbnMg
aGVyZS4KKyAgICBpZiAoIW9wZXJhdGlvbnMub3BlcmF0aW9uc01hdGNoKGxhc3RPcGVyYXRpb25z
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBv
cGVyYXRpb25zLnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmICghaXNSb3RhdGlvblR5cGUob3Bl
cmF0aW9ucy5vcGVyYXRpb25zKClbaV0tPmdldE9wZXJhdGlvblR5cGUoKSkpCisgICAgICAgICAg
ICBjb250aW51ZTsKKworICAgICAgICBSb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb24qIHJvdGF0aW9u
ID0gc3RhdGljX2Nhc3Q8Um90YXRlVHJhbnNmb3JtT3BlcmF0aW9uKj4ob3BlcmF0aW9ucy5vcGVy
YXRpb25zKClbaV0uZ2V0KCkpOworICAgICAgICBSb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb24qIGxh
c3RSb3RhdGlvbiA9IHN0YXRpY19jYXN0PFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbio+KGxhc3RP
cGVyYXRpb25zLm9wZXJhdGlvbnMoKVtpXS5nZXQoKSk7CisKKyAgICAgICAgaWYgKGZhYnMocm90
YXRpb24tPmFuZ2xlKCkgLSBsYXN0Um90YXRpb24tPmFuZ2xlKCkpID49IDE4MCkKKyAgICAgICAg
ICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKwogdGVtcGxh
dGUgPD4KLWJvb2wgYXBwZW5kS2V5ZnJhbWU8VHJhbnNmb3JtQW5pbWF0aW9uVmFsdWUsIENDVHJh
bnNmb3JtS2V5ZnJhbWUsIENDS2V5ZnJhbWVkVHJhbnNmb3JtQW5pbWF0aW9uQ3VydmU+KENDS2V5
ZnJhbWVkVHJhbnNmb3JtQW5pbWF0aW9uQ3VydmUmIGN1cnZlLCBkb3VibGUga2V5VGltZSwgY29u
c3QgVHJhbnNmb3JtQW5pbWF0aW9uVmFsdWUqIHZhbHVlLCBQYXNzT3duUHRyPENDVGltaW5nRnVu
Y3Rpb24+IHRpbWluZ0Z1bmN0aW9uLCBjb25zdCBGbG9hdFNpemUmIGJveFNpemUpCitib29sIGFw
cGVuZEtleWZyYW1lPFRyYW5zZm9ybUFuaW1hdGlvblZhbHVlLCBDQ1RyYW5zZm9ybUtleWZyYW1l
LCBDQ0tleWZyYW1lZFRyYW5zZm9ybUFuaW1hdGlvbkN1cnZlPihDQ0tleWZyYW1lZFRyYW5zZm9y
bUFuaW1hdGlvbkN1cnZlJiBjdXJ2ZSwgZG91YmxlIGtleVRpbWUsIGNvbnN0IFRyYW5zZm9ybUFu
aW1hdGlvblZhbHVlKiB2YWx1ZSwgY29uc3QgVHJhbnNmb3JtQW5pbWF0aW9uVmFsdWUqIGxhc3RW
YWx1ZSwgUGFzc093blB0cjxDQ1RpbWluZ0Z1bmN0aW9uPiB0aW1pbmdGdW5jdGlvbiwgY29uc3Qg
RmxvYXRTaXplJiBib3hTaXplKQogeworICAgIGlmIChjYXVzZXNSb3RhdGlvbk9mTW9yZVRoYW4x
ODBEZWdyZWVzKHZhbHVlLCBsYXN0VmFsdWUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAg
ICBXZWJUcmFuc2Zvcm1PcGVyYXRpb25zIG9wZXJhdGlvbnMgPSB0b1dlYlRyYW5zZm9ybU9wZXJh
dGlvbnMoKnZhbHVlLT52YWx1ZSgpLCBib3hTaXplKTsKICAgICBpZiAob3BlcmF0aW9ucy5hcHBs
eSgpLmlzSW52ZXJ0aWJsZSgpKSB7CiAgICAgICAgIGN1cnZlLmFkZEtleWZyYW1lKENDVHJhbnNm
b3JtS2V5ZnJhbWU6OmNyZWF0ZShrZXlUaW1lLCBvcGVyYXRpb25zLCB0aW1pbmdGdW5jdGlvbikp
OwpAQCAtMTU5LDYgKzE5OCw5IEBAIFBhc3NPd25QdHI8Q0NBY3RpdmVBbmltYXRpb24+IGNyZWF0
ZUFjdGl2ZUFuaW1hdGlvbihjb25zdCBLZXlmcmFtZVZhbHVlTGlzdCYgdmFsCiAgICAgICAgIHNp
emVfdCBpbmRleCA9IHJldmVyc2UgPyB2YWx1ZUxpc3Quc2l6ZSgpIC0gaSAtIDEgOiBpOwogCiAg
ICAgICAgIGNvbnN0IFZhbHVlKiBvcmlnaW5hbFZhbHVlID0gc3RhdGljX2Nhc3Q8Y29uc3QgVmFs
dWUqPih2YWx1ZUxpc3QuYXQoaW5kZXgpKTsKKyAgICAgICAgY29uc3QgVmFsdWUqIGxhc3RPcmln
aW5hbFZhbHVlID0gMDsKKyAgICAgICAgaWYgKHZhbHVlTGlzdC5zaXplKCkgPiAxICYmICgocmV2
ZXJzZSAmJiBpbmRleCArIDEgPCB2YWx1ZUxpc3Quc2l6ZSgpKSB8fCAoIXJldmVyc2UgJiYgaW5k
ZXggPiAwKSkpCisgICAgICAgICAgICBsYXN0T3JpZ2luYWxWYWx1ZSA9IHN0YXRpY19jYXN0PGNv
bnN0IFZhbHVlKj4odmFsdWVMaXN0LmF0KHJldmVyc2UgPyBpbmRleCArIDEgOiBpbmRleCAtIDEp
KTsKIAogICAgICAgICBPd25QdHI8Q0NUaW1pbmdGdW5jdGlvbj4gdGltaW5nRnVuY3Rpb247CiAg
ICAgICAgIGNvbnN0IFRpbWluZ0Z1bmN0aW9uKiBvcmlnaW5hbFRpbWluZ0Z1bmN0aW9uID0gb3Jp
Z2luYWxWYWx1ZS0+dGltaW5nRnVuY3Rpb24oKTsKQEAgLTE5MCw3ICsyMzIsNyBAQCBQYXNzT3du
UHRyPENDQWN0aXZlQW5pbWF0aW9uPiBjcmVhdGVBY3RpdmVBbmltYXRpb24oY29uc3QgS2V5ZnJh
bWVWYWx1ZUxpc3QmIHZhbAogICAgICAgICBpZiAocmV2ZXJzZSkKICAgICAgICAgICAgIGtleVRp
bWUgPSBkdXJhdGlvbiAtIGtleVRpbWU7CiAKLSAgICAgICAgYm9vbCBhZGRlZEtleWZyYW1lID0g
YXBwZW5kS2V5ZnJhbWU8VmFsdWUsIEtleWZyYW1lLCBDdXJ2ZT4oKmN1cnZlLCBrZXlUaW1lLCBv
cmlnaW5hbFZhbHVlLCB0aW1pbmdGdW5jdGlvbi5yZWxlYXNlKCksIGJveFNpemUpOworICAgICAg
ICBib29sIGFkZGVkS2V5ZnJhbWUgPSBhcHBlbmRLZXlmcmFtZTxWYWx1ZSwgS2V5ZnJhbWUsIEN1
cnZlPigqY3VydmUsIGtleVRpbWUsIG9yaWdpbmFsVmFsdWUsIGxhc3RPcmlnaW5hbFZhbHVlLCB0
aW1pbmdGdW5jdGlvbi5yZWxlYXNlKCksIGJveFNpemUpOwogICAgICAgICBpZiAoIWFkZGVkS2V5
ZnJhbWUpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hy
b21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3Jh
cGhpY3NMYXllckNocm9taXVtLmNwcAppbmRleCBkMzc1NzJkOTNkMTE5ODE5MjM0NjJkYTM2MmYy
MzFkZjA3NzJiYzhiLi5jMjE3MjZlOWY0MjQwYTYxZWIzYzA4ZjA5MTYyYzI2MzljZTM2ZDNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFw
aGljc0xheWVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHAKQEAgLTUwOSwxNCArNTA5LDYg
QEAgdm9pZCBHcmFwaGljc0xheWVyQ2hyb21pdW06OnNldENvbnRlbnRzVG9DYW52YXMoUGxhdGZv
cm1MYXllciogcGxhdGZvcm1MYXllcikKIAogYm9vbCBHcmFwaGljc0xheWVyQ2hyb21pdW06OmFk
ZEFuaW1hdGlvbihjb25zdCBLZXlmcmFtZVZhbHVlTGlzdCYgdmFsdWVzLCBjb25zdCBJbnRTaXpl
JiBib3hTaXplLCBjb25zdCBBbmltYXRpb24qIGFuaW1hdGlvbiwgY29uc3QgU3RyaW5nJiBhbmlt
YXRpb25OYW1lLCBkb3VibGUgdGltZU9mZnNldCkKIHsKLSAgICAvLyBCYWlsIGVhcmx5IGlmIHdl
IGhhdmUgYSBsYXJnZSByb3RhdGlvbi4KLSAgICBpZiAodmFsdWVzLnByb3BlcnR5KCkgPT0gQW5p
bWF0ZWRQcm9wZXJ0eVdlYmtpdFRyYW5zZm9ybSkgewotICAgICAgICBib29sIGhhc1JvdGF0aW9u
T2ZNb3JlVGhhbjE4MERlZ3JlZXMgPSBmYWxzZTsKLSAgICAgICAgdmFsaWRhdGVUcmFuc2Zvcm1P
cGVyYXRpb25zKHZhbHVlcywgaGFzUm90YXRpb25PZk1vcmVUaGFuMTgwRGVncmVlcyk7Ci0gICAg
ICAgIGlmIChoYXNSb3RhdGlvbk9mTW9yZVRoYW4xODBEZWdyZWVzKQotICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIH0KLQogICAgIHByaW1hcnlMYXllcigpLnVud3JhcDxMYXllckNocm9t
aXVtPigpLT5zZXRMYXllckFuaW1hdGlvbkRlbGVnYXRlKHRoaXMpOwogCiAgICAgaW50IGFuaW1h
dGlvbklkID0gbWFwQW5pbWF0aW9uTmFtZVRvSWQoYW5pbWF0aW9uTmFtZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bVRlc3Qu
Y3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9HcmFwaGljc0xheWVyQ2hyb21pdW1U
ZXN0LmNwcAppbmRleCA0MTBjNDVkNzhiZTdhOGFjZTE5ZDUxOGJiNWI2NzVlMzY5MGEwNDAyLi5h
NGQ1YTYwMWQwYjBhZTQyOGViM2U0OWM4ZjYzMWIwMTA5MDllZGUxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bVRlc3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvR3JhcGhpY3NMYXllckNocm9taXVtVGVz
dC5jcHAKQEAgLTI1Niw2ICsyNTYsNTAgQEAgVEVTVF9GKEdyYXBoaWNzTGF5ZXJDaHJvbWl1bVRl
c3QsIGNyZWF0ZVRyYW5zZm9ybUFuaW1hdGlvbldpdGhCaWdSb3RhdGlvbikKICAgICBFWFBFQ1Rf
RkFMU0UobV9wbGF0Zm9ybUxheWVyLT5sYXllckFuaW1hdGlvbkNvbnRyb2xsZXIoKS0+aGFzQWN0
aXZlQW5pbWF0aW9uKCkpOwogfQogCitURVNUX0YoR3JhcGhpY3NMYXllckNocm9taXVtVGVzdCwg
Y3JlYXRlVHJhbnNmb3JtQW5pbWF0aW9uV2l0aFJvdGF0aW9uSW52b2x2aW5nTmVnYXRpdmVBbmds
ZXMpCit7CisgICAgY29uc3QgZG91YmxlIGR1cmF0aW9uID0gMTsKKyAgICBXZWJDb3JlOjpLZXlm
cmFtZVZhbHVlTGlzdCB2YWx1ZXMoQW5pbWF0ZWRQcm9wZXJ0eVdlYmtpdFRyYW5zZm9ybSk7CisK
KyAgICBUcmFuc2Zvcm1PcGVyYXRpb25zIG9wZXJhdGlvbnMxOworICAgIG9wZXJhdGlvbnMxLm9w
ZXJhdGlvbnMoKS5hcHBlbmQoUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9uOjpjcmVhdGUoLTMzMCwg
VHJhbnNmb3JtT3BlcmF0aW9uOjpST1RBVEUpKTsKKyAgICB2YWx1ZXMuaW5zZXJ0KG5ldyBUcmFu
c2Zvcm1BbmltYXRpb25WYWx1ZSgwLCAmb3BlcmF0aW9uczEpKTsKKworICAgIFRyYW5zZm9ybU9w
ZXJhdGlvbnMgb3BlcmF0aW9uczI7CisgICAgb3BlcmF0aW9uczIub3BlcmF0aW9ucygpLmFwcGVu
ZChSb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0ZSgtMzIwLCBUcmFuc2Zvcm1PcGVyYXRp
b246OlJPVEFURSkpOworICAgIHZhbHVlcy5pbnNlcnQobmV3IFRyYW5zZm9ybUFuaW1hdGlvblZh
bHVlKGR1cmF0aW9uLCAmb3BlcmF0aW9uczIpKTsKKworICAgIFJlZlB0cjxBbmltYXRpb24+IGFu
aW1hdGlvbiA9IEFuaW1hdGlvbjo6Y3JlYXRlKCk7CisgICAgYW5pbWF0aW9uLT5zZXREdXJhdGlv
bihkdXJhdGlvbik7CisKKyAgICBJbnRTaXplIGJveFNpemU7CisgICAgbV9ncmFwaGljc0xheWVy
LT5hZGRBbmltYXRpb24odmFsdWVzLCBib3hTaXplLCBhbmltYXRpb24uZ2V0KCksICIiLCAwKTsK
KworICAgIEVYUEVDVF9UUlVFKG1fcGxhdGZvcm1MYXllci0+bGF5ZXJBbmltYXRpb25Db250cm9s
bGVyKCktPmhhc0FjdGl2ZUFuaW1hdGlvbigpKTsKK30KKworVEVTVF9GKEdyYXBoaWNzTGF5ZXJD
aHJvbWl1bVRlc3QsIGNyZWF0ZVRyYW5zZm9ybUFuaW1hdGlvbldpdGhTbWFsbFJvdGF0aW9uSW52
b2x2aW5nTGFyZ2VBbmdsZXMpCit7CisgICAgY29uc3QgZG91YmxlIGR1cmF0aW9uID0gMTsKKyAg
ICBXZWJDb3JlOjpLZXlmcmFtZVZhbHVlTGlzdCB2YWx1ZXMoQW5pbWF0ZWRQcm9wZXJ0eVdlYmtp
dFRyYW5zZm9ybSk7CisKKyAgICBUcmFuc2Zvcm1PcGVyYXRpb25zIG9wZXJhdGlvbnMxOworICAg
IG9wZXJhdGlvbnMxLm9wZXJhdGlvbnMoKS5hcHBlbmQoUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9u
OjpjcmVhdGUoMjcwLCBUcmFuc2Zvcm1PcGVyYXRpb246OlJPVEFURSkpOworICAgIHZhbHVlcy5p
bnNlcnQobmV3IFRyYW5zZm9ybUFuaW1hdGlvblZhbHVlKDAsICZvcGVyYXRpb25zMSkpOworCisg
ICAgVHJhbnNmb3JtT3BlcmF0aW9ucyBvcGVyYXRpb25zMjsKKyAgICBvcGVyYXRpb25zMi5vcGVy
YXRpb25zKCkuYXBwZW5kKFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbjo6Y3JlYXRlKDM2MCwgVHJh
bnNmb3JtT3BlcmF0aW9uOjpST1RBVEUpKTsKKyAgICB2YWx1ZXMuaW5zZXJ0KG5ldyBUcmFuc2Zv
cm1BbmltYXRpb25WYWx1ZShkdXJhdGlvbiwgJm9wZXJhdGlvbnMyKSk7CisKKyAgICBSZWZQdHI8
QW5pbWF0aW9uPiBhbmltYXRpb24gPSBBbmltYXRpb246OmNyZWF0ZSgpOworICAgIGFuaW1hdGlv
bi0+c2V0RHVyYXRpb24oZHVyYXRpb24pOworCisgICAgSW50U2l6ZSBib3hTaXplOworICAgIG1f
Z3JhcGhpY3NMYXllci0+YWRkQW5pbWF0aW9uKHZhbHVlcywgYm94U2l6ZSwgYW5pbWF0aW9uLmdl
dCgpLCAiIiwgMCk7CisKKyAgICBFWFBFQ1RfVFJVRShtX3BsYXRmb3JtTGF5ZXItPmxheWVyQW5p
bWF0aW9uQ29udHJvbGxlcigpLT5oYXNBY3RpdmVBbmltYXRpb24oKSk7Cit9CisKIFRFU1RfRihH
cmFwaGljc0xheWVyQ2hyb21pdW1UZXN0LCBjcmVhdGVUcmFuc2Zvcm1BbmltYXRpb25XaXRoU2lu
Z3VsYXJNYXRyaXgpCiB7CiAgICAgY29uc3QgZG91YmxlIGR1cmF0aW9uID0gMTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149085</attachid>
            <date>2012-06-22 12:38:16 -0700</date>
            <delta_ts>2012-07-03 10:50:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89768-20120622153815.patch</filename>
            <type>text/plain</type>
            <size>10191</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYxNDUxOTcwYzU5OGM1
MmM0NTUyMjQ2YmIyZTY1MjJlYTU2NmFjYS4uZmQyOTg2ZTFjNGIwMThkNjg2Y2Q2OWQ2Yjc4Mjk5
ZWEyMTczOGQ1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA2LTIyICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQ29y
cmVjdGx5IHJlamVjdCBhY2NlbGVyYXRlZCBhbmltYXRpb25zIHdpdGggY2VydGFpbiByb3RhdGlv
bnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTc2
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuaXRU
ZXN0czoKKyAgICAgICAgICBHcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0LmNyZWF0ZVRyYW5zZm9y
bUFuaW1hdGlvbldpdGhCaWdSb3RhdGlvbgorICAgICAgICAgIEdyYXBoaWNzTGF5ZXJDaHJvbWl1
bVRlc3QuY3JlYXRlVHJhbnNmb3JtQW5pbWF0aW9uV2l0aFJvdGF0aW9uSW52b2x2aW5nTmVnYXRp
dmVBbmdsZXMKKyAgICAgICAgICBHcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0LmNyZWF0ZVRyYW5z
Zm9ybUFuaW1hdGlvbldpdGhTbWFsbFJvdGF0aW9uSW52b2x2aW5nTGFyZ2VBbmdsZXMKKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0FuaW1hdGlvblRyYW5zbGF0aW9uVXRp
bC5jcHA6CisgICAgICAgIChXZWJDb3JlOjphcHBlbmRLZXlmcmFtZSk6CisgICAgICAgIChXZWJD
b3JlOjppc1JvdGF0aW9uVHlwZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OmNhdXNlc1JvdGF0aW9uT2ZBdExlYXN0MTgwRGVncmVlcyk6CisgICAgICAgIChXZWJDb3Jl
OjpDQ0tleWZyYW1lZFRyYW5zZm9ybUFuaW1hdGlvbkN1cnZlKToKKyAgICAgICAgKFdlYkNvcmU6
OmNyZWF0ZUFjdGl2ZUFuaW1hdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzTGF5ZXJDaHJvbWl1bTo6YWRkQW5pbWF0aW9uKToKKwogMjAxMi0wNi0yMiAgSWx5YSBUaWto
b25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
cGFydGlhbGx5IGluc3RydW1lbnQgRE9NIFRyZWUgbmF0aXZlIG1lbW9yeS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKaW5kZXggMjUxNjk0YzIzNGQyM2NlNjgzODRkZTIzNDczODJmNjIxMmNlNjZi
Ny4uZWIxY2I0YzE5OWEzM2RlYjkzMWE0NmQ2Yzk0ZWViNmEwODRmN2JhYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0wNi0yMiAgSWFuIFZvbGxpY2sg
IDx2b2xsaWNrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIENvcnJlY3RseSBy
ZWplY3QgYWNjZWxlcmF0ZWQgYW5pbWF0aW9ucyB3aXRoIGNlcnRhaW4gcm90YXRpb25zLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODk3NjgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHRlc3RzL0dyYXBo
aWNzTGF5ZXJDaHJvbWl1bVRlc3QuY3BwOgorICAgICAgICAoV2ViS2l0VGVzdHM6OlRFU1RfRik6
CisgICAgICAgIChXZWJLaXRUZXN0cyk6CisKIDIwMTItMDYtMjIgIEFteSBPdXN0ZXJob3V0ICA8
YW91c3RlcmhAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbmFtZWQgRGV2aWNlT3JpZW50YXRp
b24gdG8gRGV2aWNlT3JpZW50YXRpb25EYXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9BbmltYXRpb25UcmFuc2xhdGlvblV0aWwuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQW5pbWF0aW9uVHJhbnNs
YXRpb25VdGlsLmNwcAppbmRleCA0MmM5NTJmMDcyMWNjYjYzMDBjZjhiNTJhM2FkNWZkOGJkY2Jj
MDY0Li42OWU2MzJiNzExOTE3NWMzMzlkZGEwNDE1ZTY2NDg3N2VmNDAxNjYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9BbmltYXRpb25UcmFu
c2xhdGlvblV0aWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0FuaW1hdGlvblRyYW5zbGF0aW9uVXRpbC5jcHAKQEAgLTEyMiwxNSArMTIyLDU0IEBA
IFdlYlRyYW5zZm9ybU9wZXJhdGlvbnMgdG9XZWJUcmFuc2Zvcm1PcGVyYXRpb25zKGNvbnN0IFRy
YW5zZm9ybU9wZXJhdGlvbnMmIHRyYW5zCiB9CiAKIHRlbXBsYXRlIDxjbGFzcyBWYWx1ZSwgY2xh
c3MgS2V5ZnJhbWUsIGNsYXNzIEN1cnZlPgotYm9vbCBhcHBlbmRLZXlmcmFtZShDdXJ2ZSYgY3Vy
dmUsIGRvdWJsZSBrZXlUaW1lLCBjb25zdCBWYWx1ZSogdmFsdWUsIFBhc3NPd25QdHI8Q0NUaW1p
bmdGdW5jdGlvbj4gdGltaW5nRnVuY3Rpb24sIGNvbnN0IEZsb2F0U2l6ZSYpCitib29sIGFwcGVu
ZEtleWZyYW1lKEN1cnZlJiBjdXJ2ZSwgZG91YmxlIGtleVRpbWUsIGNvbnN0IFZhbHVlKiB2YWx1
ZSwgY29uc3QgVmFsdWUqIGxhc3RWYWx1ZSwgUGFzc093blB0cjxDQ1RpbWluZ0Z1bmN0aW9uPiB0
aW1pbmdGdW5jdGlvbiwgY29uc3QgRmxvYXRTaXplJikKIHsKICAgICBjdXJ2ZS5hZGRLZXlmcmFt
ZShLZXlmcmFtZTo6Y3JlYXRlKGtleVRpbWUsIHZhbHVlLT52YWx1ZSgpLCB0aW1pbmdGdW5jdGlv
bikpOwogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIGlzUm90YXRpb25UeXBlKFRyYW5zZm9y
bU9wZXJhdGlvbjo6T3BlcmF0aW9uVHlwZSB0cmFuc2Zvcm1UeXBlKQoreworICAgIHJldHVybiB0
cmFuc2Zvcm1UeXBlID09IFRyYW5zZm9ybU9wZXJhdGlvbjo6Uk9UQVRFCisgICAgICAgIHx8IHRy
YW5zZm9ybVR5cGUgPT0gVHJhbnNmb3JtT3BlcmF0aW9uOjpST1RBVEVfWAorICAgICAgICB8fCB0
cmFuc2Zvcm1UeXBlID09IFRyYW5zZm9ybU9wZXJhdGlvbjo6Uk9UQVRFX1kKKyAgICAgICAgfHwg
dHJhbnNmb3JtVHlwZSA9PSBUcmFuc2Zvcm1PcGVyYXRpb246OlJPVEFURV9aCisgICAgICAgIHx8
IHRyYW5zZm9ybVR5cGUgPT0gVHJhbnNmb3JtT3BlcmF0aW9uOjpST1RBVEVfM0Q7Cit9CisKK2Jv
b2wgY2F1c2VzUm90YXRpb25PZkF0TGVhc3QxODBEZWdyZWVzKGNvbnN0IFRyYW5zZm9ybUFuaW1h
dGlvblZhbHVlKiB2YWx1ZSwgY29uc3QgVHJhbnNmb3JtQW5pbWF0aW9uVmFsdWUqIGxhc3RWYWx1
ZSkKK3sKKyAgICBpZiAoIWxhc3RWYWx1ZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
Y29uc3QgVHJhbnNmb3JtT3BlcmF0aW9ucyYgb3BlcmF0aW9ucyA9ICp2YWx1ZS0+dmFsdWUoKTsK
KyAgICBjb25zdCBUcmFuc2Zvcm1PcGVyYXRpb25zJiBsYXN0T3BlcmF0aW9ucyA9ICpsYXN0VmFs
dWUtPnZhbHVlKCk7CisKKyAgICAvLyBXZSdsbCBiZSBkb2luZyBtYXRyaXggaW50ZXJwb2xhdGlv
biBpbiB0aGlzIGNhc2UuIE5vIHJpc2sgb2YgaW5jb3JyZWN0CisgICAgLy8gcm90YXRpb25zIGhl
cmUuCisgICAgaWYgKCFvcGVyYXRpb25zLm9wZXJhdGlvbnNNYXRjaChsYXN0T3BlcmF0aW9ucykp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgb3Bl
cmF0aW9ucy5zaXplKCk7ICsraSkgeworICAgICAgICBpZiAoIWlzUm90YXRpb25UeXBlKG9wZXJh
dGlvbnMub3BlcmF0aW9ucygpW2ldLT5nZXRPcGVyYXRpb25UeXBlKCkpKQorICAgICAgICAgICAg
Y29udGludWU7CisKKyAgICAgICAgUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9uKiByb3RhdGlvbiA9
IHN0YXRpY19jYXN0PFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbio+KG9wZXJhdGlvbnMub3BlcmF0
aW9ucygpW2ldLmdldCgpKTsKKyAgICAgICAgUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9uKiBsYXN0
Um90YXRpb24gPSBzdGF0aWNfY2FzdDxSb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb24qPihsYXN0T3Bl
cmF0aW9ucy5vcGVyYXRpb25zKClbaV0uZ2V0KCkpOworCisgICAgICAgIGlmIChmYWJzKHJvdGF0
aW9uLT5hbmdsZSgpIC0gbGFzdFJvdGF0aW9uLT5hbmdsZSgpKSA+PSAxODApCisgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHRlbXBsYXRl
IDw+Ci1ib29sIGFwcGVuZEtleWZyYW1lPFRyYW5zZm9ybUFuaW1hdGlvblZhbHVlLCBDQ1RyYW5z
Zm9ybUtleWZyYW1lLCBDQ0tleWZyYW1lZFRyYW5zZm9ybUFuaW1hdGlvbkN1cnZlPihDQ0tleWZy
YW1lZFRyYW5zZm9ybUFuaW1hdGlvbkN1cnZlJiBjdXJ2ZSwgZG91YmxlIGtleVRpbWUsIGNvbnN0
IFRyYW5zZm9ybUFuaW1hdGlvblZhbHVlKiB2YWx1ZSwgUGFzc093blB0cjxDQ1RpbWluZ0Z1bmN0
aW9uPiB0aW1pbmdGdW5jdGlvbiwgY29uc3QgRmxvYXRTaXplJiBib3hTaXplKQorYm9vbCBhcHBl
bmRLZXlmcmFtZTxUcmFuc2Zvcm1BbmltYXRpb25WYWx1ZSwgQ0NUcmFuc2Zvcm1LZXlmcmFtZSwg
Q0NLZXlmcmFtZWRUcmFuc2Zvcm1BbmltYXRpb25DdXJ2ZT4oQ0NLZXlmcmFtZWRUcmFuc2Zvcm1B
bmltYXRpb25DdXJ2ZSYgY3VydmUsIGRvdWJsZSBrZXlUaW1lLCBjb25zdCBUcmFuc2Zvcm1Bbmlt
YXRpb25WYWx1ZSogdmFsdWUsIGNvbnN0IFRyYW5zZm9ybUFuaW1hdGlvblZhbHVlKiBsYXN0VmFs
dWUsIFBhc3NPd25QdHI8Q0NUaW1pbmdGdW5jdGlvbj4gdGltaW5nRnVuY3Rpb24sIGNvbnN0IEZs
b2F0U2l6ZSYgYm94U2l6ZSkKIHsKKyAgICBpZiAoY2F1c2VzUm90YXRpb25PZkF0TGVhc3QxODBE
ZWdyZWVzKHZhbHVlLCBsYXN0VmFsdWUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBX
ZWJUcmFuc2Zvcm1PcGVyYXRpb25zIG9wZXJhdGlvbnMgPSB0b1dlYlRyYW5zZm9ybU9wZXJhdGlv
bnMoKnZhbHVlLT52YWx1ZSgpLCBib3hTaXplKTsKICAgICBpZiAob3BlcmF0aW9ucy5hcHBseSgp
LmlzSW52ZXJ0aWJsZSgpKSB7CiAgICAgICAgIGN1cnZlLmFkZEtleWZyYW1lKENDVHJhbnNmb3Jt
S2V5ZnJhbWU6OmNyZWF0ZShrZXlUaW1lLCBvcGVyYXRpb25zLCB0aW1pbmdGdW5jdGlvbikpOwpA
QCAtMTU5LDYgKzE5OCw5IEBAIFBhc3NPd25QdHI8Q0NBY3RpdmVBbmltYXRpb24+IGNyZWF0ZUFj
dGl2ZUFuaW1hdGlvbihjb25zdCBLZXlmcmFtZVZhbHVlTGlzdCYgdmFsCiAgICAgICAgIHNpemVf
dCBpbmRleCA9IHJldmVyc2UgPyB2YWx1ZUxpc3Quc2l6ZSgpIC0gaSAtIDEgOiBpOwogCiAgICAg
ICAgIGNvbnN0IFZhbHVlKiBvcmlnaW5hbFZhbHVlID0gc3RhdGljX2Nhc3Q8Y29uc3QgVmFsdWUq
Pih2YWx1ZUxpc3QuYXQoaW5kZXgpKTsKKyAgICAgICAgY29uc3QgVmFsdWUqIGxhc3RPcmlnaW5h
bFZhbHVlID0gMDsKKyAgICAgICAgaWYgKHZhbHVlTGlzdC5zaXplKCkgPiAxICYmICgocmV2ZXJz
ZSAmJiBpbmRleCArIDEgPCB2YWx1ZUxpc3Quc2l6ZSgpKSB8fCAoIXJldmVyc2UgJiYgaW5kZXgg
PiAwKSkpCisgICAgICAgICAgICBsYXN0T3JpZ2luYWxWYWx1ZSA9IHN0YXRpY19jYXN0PGNvbnN0
IFZhbHVlKj4odmFsdWVMaXN0LmF0KHJldmVyc2UgPyBpbmRleCArIDEgOiBpbmRleCAtIDEpKTsK
IAogICAgICAgICBPd25QdHI8Q0NUaW1pbmdGdW5jdGlvbj4gdGltaW5nRnVuY3Rpb247CiAgICAg
ICAgIGNvbnN0IFRpbWluZ0Z1bmN0aW9uKiBvcmlnaW5hbFRpbWluZ0Z1bmN0aW9uID0gb3JpZ2lu
YWxWYWx1ZS0+dGltaW5nRnVuY3Rpb24oKTsKQEAgLTE5MCw3ICsyMzIsNyBAQCBQYXNzT3duUHRy
PENDQWN0aXZlQW5pbWF0aW9uPiBjcmVhdGVBY3RpdmVBbmltYXRpb24oY29uc3QgS2V5ZnJhbWVW
YWx1ZUxpc3QmIHZhbAogICAgICAgICBpZiAocmV2ZXJzZSkKICAgICAgICAgICAgIGtleVRpbWUg
PSBkdXJhdGlvbiAtIGtleVRpbWU7CiAKLSAgICAgICAgYm9vbCBhZGRlZEtleWZyYW1lID0gYXBw
ZW5kS2V5ZnJhbWU8VmFsdWUsIEtleWZyYW1lLCBDdXJ2ZT4oKmN1cnZlLCBrZXlUaW1lLCBvcmln
aW5hbFZhbHVlLCB0aW1pbmdGdW5jdGlvbi5yZWxlYXNlKCksIGJveFNpemUpOworICAgICAgICBi
b29sIGFkZGVkS2V5ZnJhbWUgPSBhcHBlbmRLZXlmcmFtZTxWYWx1ZSwgS2V5ZnJhbWUsIEN1cnZl
PigqY3VydmUsIGtleVRpbWUsIG9yaWdpbmFsVmFsdWUsIGxhc3RPcmlnaW5hbFZhbHVlLCB0aW1p
bmdGdW5jdGlvbi5yZWxlYXNlKCksIGJveFNpemUpOwogICAgICAgICBpZiAoIWFkZGVkS2V5ZnJh
bWUpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21p
dW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhp
Y3NMYXllckNocm9taXVtLmNwcAppbmRleCBkMzc1NzJkOTNkMTE5ODE5MjM0NjJkYTM2MmYyMzFk
ZjA3NzJiYzhiLi5jMjE3MjZlOWY0MjQwYTYxZWIzYzA4ZjA5MTYyYzI2MzljZTM2ZDNlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGlj
c0xheWVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHAKQEAgLTUwOSwxNCArNTA5LDYgQEAg
dm9pZCBHcmFwaGljc0xheWVyQ2hyb21pdW06OnNldENvbnRlbnRzVG9DYW52YXMoUGxhdGZvcm1M
YXllciogcGxhdGZvcm1MYXllcikKIAogYm9vbCBHcmFwaGljc0xheWVyQ2hyb21pdW06OmFkZEFu
aW1hdGlvbihjb25zdCBLZXlmcmFtZVZhbHVlTGlzdCYgdmFsdWVzLCBjb25zdCBJbnRTaXplJiBi
b3hTaXplLCBjb25zdCBBbmltYXRpb24qIGFuaW1hdGlvbiwgY29uc3QgU3RyaW5nJiBhbmltYXRp
b25OYW1lLCBkb3VibGUgdGltZU9mZnNldCkKIHsKLSAgICAvLyBCYWlsIGVhcmx5IGlmIHdlIGhh
dmUgYSBsYXJnZSByb3RhdGlvbi4KLSAgICBpZiAodmFsdWVzLnByb3BlcnR5KCkgPT0gQW5pbWF0
ZWRQcm9wZXJ0eVdlYmtpdFRyYW5zZm9ybSkgewotICAgICAgICBib29sIGhhc1JvdGF0aW9uT2ZN
b3JlVGhhbjE4MERlZ3JlZXMgPSBmYWxzZTsKLSAgICAgICAgdmFsaWRhdGVUcmFuc2Zvcm1PcGVy
YXRpb25zKHZhbHVlcywgaGFzUm90YXRpb25PZk1vcmVUaGFuMTgwRGVncmVlcyk7Ci0gICAgICAg
IGlmIChoYXNSb3RhdGlvbk9mTW9yZVRoYW4xODBEZWdyZWVzKQotICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIH0KLQogICAgIHByaW1hcnlMYXllcigpLnVud3JhcDxMYXllckNocm9taXVt
PigpLT5zZXRMYXllckFuaW1hdGlvbkRlbGVnYXRlKHRoaXMpOwogCiAgICAgaW50IGFuaW1hdGlv
bklkID0gbWFwQW5pbWF0aW9uTmFtZVRvSWQoYW5pbWF0aW9uTmFtZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bVRlc3QuY3Bw
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9HcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0
LmNwcAppbmRleCA0MTBjNDVkNzhiZTdhOGFjZTE5ZDUxOGJiNWI2NzVlMzY5MGEwNDAyLi5hNGQ1
YTYwMWQwYjBhZTQyOGViM2U0OWM4ZjYzMWIwMTA5MDllZGUxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bVRlc3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvR3JhcGhpY3NMYXllckNocm9taXVtVGVzdC5j
cHAKQEAgLTI1Niw2ICsyNTYsNTAgQEAgVEVTVF9GKEdyYXBoaWNzTGF5ZXJDaHJvbWl1bVRlc3Qs
IGNyZWF0ZVRyYW5zZm9ybUFuaW1hdGlvbldpdGhCaWdSb3RhdGlvbikKICAgICBFWFBFQ1RfRkFM
U0UobV9wbGF0Zm9ybUxheWVyLT5sYXllckFuaW1hdGlvbkNvbnRyb2xsZXIoKS0+aGFzQWN0aXZl
QW5pbWF0aW9uKCkpOwogfQogCitURVNUX0YoR3JhcGhpY3NMYXllckNocm9taXVtVGVzdCwgY3Jl
YXRlVHJhbnNmb3JtQW5pbWF0aW9uV2l0aFJvdGF0aW9uSW52b2x2aW5nTmVnYXRpdmVBbmdsZXMp
Cit7CisgICAgY29uc3QgZG91YmxlIGR1cmF0aW9uID0gMTsKKyAgICBXZWJDb3JlOjpLZXlmcmFt
ZVZhbHVlTGlzdCB2YWx1ZXMoQW5pbWF0ZWRQcm9wZXJ0eVdlYmtpdFRyYW5zZm9ybSk7CisKKyAg
ICBUcmFuc2Zvcm1PcGVyYXRpb25zIG9wZXJhdGlvbnMxOworICAgIG9wZXJhdGlvbnMxLm9wZXJh
dGlvbnMoKS5hcHBlbmQoUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9uOjpjcmVhdGUoLTMzMCwgVHJh
bnNmb3JtT3BlcmF0aW9uOjpST1RBVEUpKTsKKyAgICB2YWx1ZXMuaW5zZXJ0KG5ldyBUcmFuc2Zv
cm1BbmltYXRpb25WYWx1ZSgwLCAmb3BlcmF0aW9uczEpKTsKKworICAgIFRyYW5zZm9ybU9wZXJh
dGlvbnMgb3BlcmF0aW9uczI7CisgICAgb3BlcmF0aW9uczIub3BlcmF0aW9ucygpLmFwcGVuZChS
b3RhdGVUcmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0ZSgtMzIwLCBUcmFuc2Zvcm1PcGVyYXRpb246
OlJPVEFURSkpOworICAgIHZhbHVlcy5pbnNlcnQobmV3IFRyYW5zZm9ybUFuaW1hdGlvblZhbHVl
KGR1cmF0aW9uLCAmb3BlcmF0aW9uczIpKTsKKworICAgIFJlZlB0cjxBbmltYXRpb24+IGFuaW1h
dGlvbiA9IEFuaW1hdGlvbjo6Y3JlYXRlKCk7CisgICAgYW5pbWF0aW9uLT5zZXREdXJhdGlvbihk
dXJhdGlvbik7CisKKyAgICBJbnRTaXplIGJveFNpemU7CisgICAgbV9ncmFwaGljc0xheWVyLT5h
ZGRBbmltYXRpb24odmFsdWVzLCBib3hTaXplLCBhbmltYXRpb24uZ2V0KCksICIiLCAwKTsKKwor
ICAgIEVYUEVDVF9UUlVFKG1fcGxhdGZvcm1MYXllci0+bGF5ZXJBbmltYXRpb25Db250cm9sbGVy
KCktPmhhc0FjdGl2ZUFuaW1hdGlvbigpKTsKK30KKworVEVTVF9GKEdyYXBoaWNzTGF5ZXJDaHJv
bWl1bVRlc3QsIGNyZWF0ZVRyYW5zZm9ybUFuaW1hdGlvbldpdGhTbWFsbFJvdGF0aW9uSW52b2x2
aW5nTGFyZ2VBbmdsZXMpCit7CisgICAgY29uc3QgZG91YmxlIGR1cmF0aW9uID0gMTsKKyAgICBX
ZWJDb3JlOjpLZXlmcmFtZVZhbHVlTGlzdCB2YWx1ZXMoQW5pbWF0ZWRQcm9wZXJ0eVdlYmtpdFRy
YW5zZm9ybSk7CisKKyAgICBUcmFuc2Zvcm1PcGVyYXRpb25zIG9wZXJhdGlvbnMxOworICAgIG9w
ZXJhdGlvbnMxLm9wZXJhdGlvbnMoKS5hcHBlbmQoUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9uOjpj
cmVhdGUoMjcwLCBUcmFuc2Zvcm1PcGVyYXRpb246OlJPVEFURSkpOworICAgIHZhbHVlcy5pbnNl
cnQobmV3IFRyYW5zZm9ybUFuaW1hdGlvblZhbHVlKDAsICZvcGVyYXRpb25zMSkpOworCisgICAg
VHJhbnNmb3JtT3BlcmF0aW9ucyBvcGVyYXRpb25zMjsKKyAgICBvcGVyYXRpb25zMi5vcGVyYXRp
b25zKCkuYXBwZW5kKFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbjo6Y3JlYXRlKDM2MCwgVHJhbnNm
b3JtT3BlcmF0aW9uOjpST1RBVEUpKTsKKyAgICB2YWx1ZXMuaW5zZXJ0KG5ldyBUcmFuc2Zvcm1B
bmltYXRpb25WYWx1ZShkdXJhdGlvbiwgJm9wZXJhdGlvbnMyKSk7CisKKyAgICBSZWZQdHI8QW5p
bWF0aW9uPiBhbmltYXRpb24gPSBBbmltYXRpb246OmNyZWF0ZSgpOworICAgIGFuaW1hdGlvbi0+
c2V0RHVyYXRpb24oZHVyYXRpb24pOworCisgICAgSW50U2l6ZSBib3hTaXplOworICAgIG1fZ3Jh
cGhpY3NMYXllci0+YWRkQW5pbWF0aW9uKHZhbHVlcywgYm94U2l6ZSwgYW5pbWF0aW9uLmdldCgp
LCAiIiwgMCk7CisKKyAgICBFWFBFQ1RfVFJVRShtX3BsYXRmb3JtTGF5ZXItPmxheWVyQW5pbWF0
aW9uQ29udHJvbGxlcigpLT5oYXNBY3RpdmVBbmltYXRpb24oKSk7Cit9CisKIFRFU1RfRihHcmFw
aGljc0xheWVyQ2hyb21pdW1UZXN0LCBjcmVhdGVUcmFuc2Zvcm1BbmltYXRpb25XaXRoU2luZ3Vs
YXJNYXRyaXgpCiB7CiAgICAgY29uc3QgZG91YmxlIGR1cmF0aW9uID0gMTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150642</attachid>
            <date>2012-07-03 10:50:51 -0700</date>
            <delta_ts>2012-07-04 05:58:17 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-89768-20120703135049.patch</filename>
            <type>text/plain</type>
            <size>10285</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNzgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTYwNmFkOTk5ZjIyNDc3
ZGI3Yjg4ZWRkOGZmYzU4ZDI1YTllODA0MC4uYjQ5YTM4OGZjZTVmOWM2NDRhNjNkZmU5MTk1NTUz
ZDAxNzdkNzgzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA2LTIyICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQ29y
cmVjdGx5IHJlamVjdCBhY2NlbGVyYXRlZCBhbmltYXRpb25zIHdpdGggY2VydGFpbiByb3RhdGlv
bnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTc2
OAorCisgICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29uLgorCisgICAgICAgIFVuaXRU
ZXN0czoKKyAgICAgICAgICBHcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0LmNyZWF0ZVRyYW5zZm9y
bUFuaW1hdGlvbldpdGhCaWdSb3RhdGlvbgorICAgICAgICAgIEdyYXBoaWNzTGF5ZXJDaHJvbWl1
bVRlc3QuY3JlYXRlVHJhbnNmb3JtQW5pbWF0aW9uV2l0aFJvdGF0aW9uSW52b2x2aW5nTmVnYXRp
dmVBbmdsZXMKKyAgICAgICAgICBHcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0LmNyZWF0ZVRyYW5z
Zm9ybUFuaW1hdGlvbldpdGhTbWFsbFJvdGF0aW9uSW52b2x2aW5nTGFyZ2VBbmdsZXMKKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0FuaW1hdGlvblRyYW5zbGF0aW9uVXRp
bC5jcHA6CisgICAgICAgIChXZWJDb3JlOjphcHBlbmRLZXlmcmFtZSk6CisgICAgICAgIChXZWJD
b3JlOjppc1JvdGF0aW9uVHlwZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OmNhdXNlc1JvdGF0aW9uT2ZBdExlYXN0MTgwRGVncmVlcyk6CisgICAgICAgIChXZWJDb3Jl
OjpDQ0tleWZyYW1lZFRyYW5zZm9ybUFuaW1hdGlvbkN1cnZlKToKKyAgICAgICAgKFdlYkNvcmU6
OmNyZWF0ZUFjdGl2ZUFuaW1hdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzTGF5ZXJDaHJvbWl1bTo6YWRkQW5pbWF0aW9uKToKKwogMjAxMi0wNy0wMyAgVnNldm9sb2Qg
Vmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBJ
bnRyb2R1Y2UgV29ya3NwYWNlIG1ha2UgaXQgVUlTb3VyY2VDb2RlIHByb3ZpZGVyIGZvciBTY3Jp
cHRzUGFuZWwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDY2NTA2M2Y1NjZkNjE5ZmI1
Njk2ZmE3MTIxNzgyNzNhZmViYmU5MDUuLmM1M2U3NGNiMjg2ZjZiMzAzOGEwYzQ0OWJlYTNjNGJj
OTBlNmU2NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MTItMDYtMjIgIElhbiBWb2xsaWNrICA8dm9sbGlja0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
W2Nocm9taXVtXSBDb3JyZWN0bHkgcmVqZWN0IGFjY2VsZXJhdGVkIGFuaW1hdGlvbnMgd2l0aCBj
ZXJ0YWluIHJvdGF0aW9ucy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg5NzY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCisK
KyAgICAgICAgKiB0ZXN0cy9HcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0LmNwcDoKKyAgICAgICAg
KFdlYktpdFRlc3RzOjpURVNUX0YpOgorICAgICAgICAoV2ViS2l0VGVzdHMpOgorCiAyMDEyLTA3
LTAzICBDaGFybGVzIFdlaSAgPGNoYXJsZXMud2VpQHRvcmNobW9iaWxlLmNvbS5jbj4KIAogICAg
ICAgICBJbmRleGVkREI6IHNob3VsZCBtYWtlIHRoZSBMZXZlbERCIHBlcnNpc3RhbnQgdG8gdGhl
IGRpcmVjdG9yeSBpbmRpY2F0ZWQgaW4gUGFnZUdyb3VwU2V0dGluZ3M6OmluZGV4ZWREQkRhdGFC
YXNlUGF0aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vQW5pbWF0aW9uVHJhbnNsYXRpb25VdGlsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0FuaW1hdGlvblRyYW5zbGF0aW9uVXRpbC5jcHAKaW5kZXgg
NDJjOTUyZjA3MjFjY2I2MzAwY2Y4YjUyYTNhZDVmZDhiZGNiYzA2NC4uNjllNjMyYjcxMTkxNzVj
MzM5ZGRhMDQxNWU2NjQ4NzdlZjQwMTY2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQW5pbWF0aW9uVHJhbnNsYXRpb25VdGlsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9BbmltYXRpb25UcmFu
c2xhdGlvblV0aWwuY3BwCkBAIC0xMjIsMTUgKzEyMiw1NCBAQCBXZWJUcmFuc2Zvcm1PcGVyYXRp
b25zIHRvV2ViVHJhbnNmb3JtT3BlcmF0aW9ucyhjb25zdCBUcmFuc2Zvcm1PcGVyYXRpb25zJiB0
cmFucwogfQogCiB0ZW1wbGF0ZSA8Y2xhc3MgVmFsdWUsIGNsYXNzIEtleWZyYW1lLCBjbGFzcyBD
dXJ2ZT4KLWJvb2wgYXBwZW5kS2V5ZnJhbWUoQ3VydmUmIGN1cnZlLCBkb3VibGUga2V5VGltZSwg
Y29uc3QgVmFsdWUqIHZhbHVlLCBQYXNzT3duUHRyPENDVGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1
bmN0aW9uLCBjb25zdCBGbG9hdFNpemUmKQorYm9vbCBhcHBlbmRLZXlmcmFtZShDdXJ2ZSYgY3Vy
dmUsIGRvdWJsZSBrZXlUaW1lLCBjb25zdCBWYWx1ZSogdmFsdWUsIGNvbnN0IFZhbHVlKiBsYXN0
VmFsdWUsIFBhc3NPd25QdHI8Q0NUaW1pbmdGdW5jdGlvbj4gdGltaW5nRnVuY3Rpb24sIGNvbnN0
IEZsb2F0U2l6ZSYpCiB7CiAgICAgY3VydmUuYWRkS2V5ZnJhbWUoS2V5ZnJhbWU6OmNyZWF0ZShr
ZXlUaW1lLCB2YWx1ZS0+dmFsdWUoKSwgdGltaW5nRnVuY3Rpb24pKTsKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAorYm9vbCBpc1JvdGF0aW9uVHlwZShUcmFuc2Zvcm1PcGVyYXRpb246Ok9wZXJhdGlv
blR5cGUgdHJhbnNmb3JtVHlwZSkKK3sKKyAgICByZXR1cm4gdHJhbnNmb3JtVHlwZSA9PSBUcmFu
c2Zvcm1PcGVyYXRpb246OlJPVEFURQorICAgICAgICB8fCB0cmFuc2Zvcm1UeXBlID09IFRyYW5z
Zm9ybU9wZXJhdGlvbjo6Uk9UQVRFX1gKKyAgICAgICAgfHwgdHJhbnNmb3JtVHlwZSA9PSBUcmFu
c2Zvcm1PcGVyYXRpb246OlJPVEFURV9ZCisgICAgICAgIHx8IHRyYW5zZm9ybVR5cGUgPT0gVHJh
bnNmb3JtT3BlcmF0aW9uOjpST1RBVEVfWgorICAgICAgICB8fCB0cmFuc2Zvcm1UeXBlID09IFRy
YW5zZm9ybU9wZXJhdGlvbjo6Uk9UQVRFXzNEOworfQorCitib29sIGNhdXNlc1JvdGF0aW9uT2ZB
dExlYXN0MTgwRGVncmVlcyhjb25zdCBUcmFuc2Zvcm1BbmltYXRpb25WYWx1ZSogdmFsdWUsIGNv
bnN0IFRyYW5zZm9ybUFuaW1hdGlvblZhbHVlKiBsYXN0VmFsdWUpCit7CisgICAgaWYgKCFsYXN0
VmFsdWUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNvbnN0IFRyYW5zZm9ybU9wZXJh
dGlvbnMmIG9wZXJhdGlvbnMgPSAqdmFsdWUtPnZhbHVlKCk7CisgICAgY29uc3QgVHJhbnNmb3Jt
T3BlcmF0aW9ucyYgbGFzdE9wZXJhdGlvbnMgPSAqbGFzdFZhbHVlLT52YWx1ZSgpOworCisgICAg
Ly8gV2UnbGwgYmUgZG9pbmcgbWF0cml4IGludGVycG9sYXRpb24gaW4gdGhpcyBjYXNlLiBObyBy
aXNrIG9mIGluY29ycmVjdAorICAgIC8vIHJvdGF0aW9ucyBoZXJlLgorICAgIGlmICghb3BlcmF0
aW9ucy5vcGVyYXRpb25zTWF0Y2gobGFzdE9wZXJhdGlvbnMpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG9wZXJhdGlvbnMuc2l6ZSgpOyArK2kp
IHsKKyAgICAgICAgaWYgKCFpc1JvdGF0aW9uVHlwZShvcGVyYXRpb25zLm9wZXJhdGlvbnMoKVtp
XS0+Z2V0T3BlcmF0aW9uVHlwZSgpKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAg
IFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbiogcm90YXRpb24gPSBzdGF0aWNfY2FzdDxSb3RhdGVU
cmFuc2Zvcm1PcGVyYXRpb24qPihvcGVyYXRpb25zLm9wZXJhdGlvbnMoKVtpXS5nZXQoKSk7Cisg
ICAgICAgIFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbiogbGFzdFJvdGF0aW9uID0gc3RhdGljX2Nh
c3Q8Um90YXRlVHJhbnNmb3JtT3BlcmF0aW9uKj4obGFzdE9wZXJhdGlvbnMub3BlcmF0aW9ucygp
W2ldLmdldCgpKTsKKworICAgICAgICBpZiAoZmFicyhyb3RhdGlvbi0+YW5nbGUoKSAtIGxhc3RS
b3RhdGlvbi0+YW5nbGUoKSkgPj0gMTgwKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
fQorCisgICAgcmV0dXJuIGZhbHNlOworfQorCiB0ZW1wbGF0ZSA8PgotYm9vbCBhcHBlbmRLZXlm
cmFtZTxUcmFuc2Zvcm1BbmltYXRpb25WYWx1ZSwgQ0NUcmFuc2Zvcm1LZXlmcmFtZSwgQ0NLZXlm
cmFtZWRUcmFuc2Zvcm1BbmltYXRpb25DdXJ2ZT4oQ0NLZXlmcmFtZWRUcmFuc2Zvcm1BbmltYXRp
b25DdXJ2ZSYgY3VydmUsIGRvdWJsZSBrZXlUaW1lLCBjb25zdCBUcmFuc2Zvcm1BbmltYXRpb25W
YWx1ZSogdmFsdWUsIFBhc3NPd25QdHI8Q0NUaW1pbmdGdW5jdGlvbj4gdGltaW5nRnVuY3Rpb24s
IGNvbnN0IEZsb2F0U2l6ZSYgYm94U2l6ZSkKK2Jvb2wgYXBwZW5kS2V5ZnJhbWU8VHJhbnNmb3Jt
QW5pbWF0aW9uVmFsdWUsIENDVHJhbnNmb3JtS2V5ZnJhbWUsIENDS2V5ZnJhbWVkVHJhbnNmb3Jt
QW5pbWF0aW9uQ3VydmU+KENDS2V5ZnJhbWVkVHJhbnNmb3JtQW5pbWF0aW9uQ3VydmUmIGN1cnZl
LCBkb3VibGUga2V5VGltZSwgY29uc3QgVHJhbnNmb3JtQW5pbWF0aW9uVmFsdWUqIHZhbHVlLCBj
b25zdCBUcmFuc2Zvcm1BbmltYXRpb25WYWx1ZSogbGFzdFZhbHVlLCBQYXNzT3duUHRyPENDVGlt
aW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uLCBjb25zdCBGbG9hdFNpemUmIGJveFNpemUpCiB7
CisgICAgaWYgKGNhdXNlc1JvdGF0aW9uT2ZBdExlYXN0MTgwRGVncmVlcyh2YWx1ZSwgbGFzdFZh
bHVlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgV2ViVHJhbnNmb3JtT3BlcmF0aW9u
cyBvcGVyYXRpb25zID0gdG9XZWJUcmFuc2Zvcm1PcGVyYXRpb25zKCp2YWx1ZS0+dmFsdWUoKSwg
Ym94U2l6ZSk7CiAgICAgaWYgKG9wZXJhdGlvbnMuYXBwbHkoKS5pc0ludmVydGlibGUoKSkgewog
ICAgICAgICBjdXJ2ZS5hZGRLZXlmcmFtZShDQ1RyYW5zZm9ybUtleWZyYW1lOjpjcmVhdGUoa2V5
VGltZSwgb3BlcmF0aW9ucywgdGltaW5nRnVuY3Rpb24pKTsKQEAgLTE1OSw2ICsxOTgsOSBAQCBQ
YXNzT3duUHRyPENDQWN0aXZlQW5pbWF0aW9uPiBjcmVhdGVBY3RpdmVBbmltYXRpb24oY29uc3Qg
S2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbAogICAgICAgICBzaXplX3QgaW5kZXggPSByZXZlcnNlID8g
dmFsdWVMaXN0LnNpemUoKSAtIGkgLSAxIDogaTsKIAogICAgICAgICBjb25zdCBWYWx1ZSogb3Jp
Z2luYWxWYWx1ZSA9IHN0YXRpY19jYXN0PGNvbnN0IFZhbHVlKj4odmFsdWVMaXN0LmF0KGluZGV4
KSk7CisgICAgICAgIGNvbnN0IFZhbHVlKiBsYXN0T3JpZ2luYWxWYWx1ZSA9IDA7CisgICAgICAg
IGlmICh2YWx1ZUxpc3Quc2l6ZSgpID4gMSAmJiAoKHJldmVyc2UgJiYgaW5kZXggKyAxIDwgdmFs
dWVMaXN0LnNpemUoKSkgfHwgKCFyZXZlcnNlICYmIGluZGV4ID4gMCkpKQorICAgICAgICAgICAg
bGFzdE9yaWdpbmFsVmFsdWUgPSBzdGF0aWNfY2FzdDxjb25zdCBWYWx1ZSo+KHZhbHVlTGlzdC5h
dChyZXZlcnNlID8gaW5kZXggKyAxIDogaW5kZXggLSAxKSk7CiAKICAgICAgICAgT3duUHRyPEND
VGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uOwogICAgICAgICBjb25zdCBUaW1pbmdGdW5j
dGlvbiogb3JpZ2luYWxUaW1pbmdGdW5jdGlvbiA9IG9yaWdpbmFsVmFsdWUtPnRpbWluZ0Z1bmN0
aW9uKCk7CkBAIC0xOTAsNyArMjMyLDcgQEAgUGFzc093blB0cjxDQ0FjdGl2ZUFuaW1hdGlvbj4g
Y3JlYXRlQWN0aXZlQW5pbWF0aW9uKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0JiB2YWwKICAgICAg
ICAgaWYgKHJldmVyc2UpCiAgICAgICAgICAgICBrZXlUaW1lID0gZHVyYXRpb24gLSBrZXlUaW1l
OwogCi0gICAgICAgIGJvb2wgYWRkZWRLZXlmcmFtZSA9IGFwcGVuZEtleWZyYW1lPFZhbHVlLCBL
ZXlmcmFtZSwgQ3VydmU+KCpjdXJ2ZSwga2V5VGltZSwgb3JpZ2luYWxWYWx1ZSwgdGltaW5nRnVu
Y3Rpb24ucmVsZWFzZSgpLCBib3hTaXplKTsKKyAgICAgICAgYm9vbCBhZGRlZEtleWZyYW1lID0g
YXBwZW5kS2V5ZnJhbWU8VmFsdWUsIEtleWZyYW1lLCBDdXJ2ZT4oKmN1cnZlLCBrZXlUaW1lLCBv
cmlnaW5hbFZhbHVlLCBsYXN0T3JpZ2luYWxWYWx1ZSwgdGltaW5nRnVuY3Rpb24ucmVsZWFzZSgp
LCBib3hTaXplKTsKICAgICAgICAgaWYgKCFhZGRlZEtleWZyYW1lKQogICAgICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHAK
aW5kZXggZDM3NTcyZDkzZDExOTgxOTIzNDYyZGEzNjJmMjMxZGYwNzcyYmM4Yi4uYzIxNzI2ZTlm
NDI0MGE2MWViM2MwOGYwOTE2MmMyNjM5Y2UzNmQzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xh
eWVyQ2hyb21pdW0uY3BwCkBAIC01MDksMTQgKzUwOSw2IEBAIHZvaWQgR3JhcGhpY3NMYXllckNo
cm9taXVtOjpzZXRDb250ZW50c1RvQ2FudmFzKFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIp
CiAKIGJvb2wgR3JhcGhpY3NMYXllckNocm9taXVtOjphZGRBbmltYXRpb24oY29uc3QgS2V5ZnJh
bWVWYWx1ZUxpc3QmIHZhbHVlcywgY29uc3QgSW50U2l6ZSYgYm94U2l6ZSwgY29uc3QgQW5pbWF0
aW9uKiBhbmltYXRpb24sIGNvbnN0IFN0cmluZyYgYW5pbWF0aW9uTmFtZSwgZG91YmxlIHRpbWVP
ZmZzZXQpCiB7Ci0gICAgLy8gQmFpbCBlYXJseSBpZiB3ZSBoYXZlIGEgbGFyZ2Ugcm90YXRpb24u
Ci0gICAgaWYgKHZhbHVlcy5wcm9wZXJ0eSgpID09IEFuaW1hdGVkUHJvcGVydHlXZWJraXRUcmFu
c2Zvcm0pIHsKLSAgICAgICAgYm9vbCBoYXNSb3RhdGlvbk9mTW9yZVRoYW4xODBEZWdyZWVzID0g
ZmFsc2U7Ci0gICAgICAgIHZhbGlkYXRlVHJhbnNmb3JtT3BlcmF0aW9ucyh2YWx1ZXMsIGhhc1Jv
dGF0aW9uT2ZNb3JlVGhhbjE4MERlZ3JlZXMpOwotICAgICAgICBpZiAoaGFzUm90YXRpb25PZk1v
cmVUaGFuMTgwRGVncmVlcykKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KICAg
ICBwcmltYXJ5TGF5ZXIoKS51bndyYXA8TGF5ZXJDaHJvbWl1bT4oKS0+c2V0TGF5ZXJBbmltYXRp
b25EZWxlZ2F0ZSh0aGlzKTsKIAogICAgIGludCBhbmltYXRpb25JZCA9IG1hcEFuaW1hdGlvbk5h
bWVUb0lkKGFuaW1hdGlvbk5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9HcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vdGVzdHMvR3JhcGhpY3NMYXllckNocm9taXVtVGVzdC5jcHAKaW5kZXggMTk3OWQ5MzVj
MWFiMmJmYjA5MmQ1N2Q4YzQ1OTVjMWQ3ODcwMmUyOC4uNGZiMTVkMWViY2M0OTY2NWE2NTBmYWJi
NDQyZDVhMzg0NTYwMDhmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0
cy9HcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bVRlc3QuY3BwCkBAIC0yNTYsNiArMjU2LDUw
IEBAIFRFU1RfRihHcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0LCBjcmVhdGVUcmFuc2Zvcm1Bbmlt
YXRpb25XaXRoQmlnUm90YXRpb24pCiAgICAgRVhQRUNUX0ZBTFNFKG1fcGxhdGZvcm1MYXllci0+
bGF5ZXJBbmltYXRpb25Db250cm9sbGVyKCktPmhhc0FjdGl2ZUFuaW1hdGlvbigpKTsKIH0KIAor
VEVTVF9GKEdyYXBoaWNzTGF5ZXJDaHJvbWl1bVRlc3QsIGNyZWF0ZVRyYW5zZm9ybUFuaW1hdGlv
bldpdGhSb3RhdGlvbkludm9sdmluZ05lZ2F0aXZlQW5nbGVzKQoreworICAgIGNvbnN0IGRvdWJs
ZSBkdXJhdGlvbiA9IDE7CisgICAgV2ViQ29yZTo6S2V5ZnJhbWVWYWx1ZUxpc3QgdmFsdWVzKEFu
aW1hdGVkUHJvcGVydHlXZWJraXRUcmFuc2Zvcm0pOworCisgICAgVHJhbnNmb3JtT3BlcmF0aW9u
cyBvcGVyYXRpb25zMTsKKyAgICBvcGVyYXRpb25zMS5vcGVyYXRpb25zKCkuYXBwZW5kKFJvdGF0
ZVRyYW5zZm9ybU9wZXJhdGlvbjo6Y3JlYXRlKC0zMzAsIFRyYW5zZm9ybU9wZXJhdGlvbjo6Uk9U
QVRFKSk7CisgICAgdmFsdWVzLmluc2VydChuZXcgVHJhbnNmb3JtQW5pbWF0aW9uVmFsdWUoMCwg
Jm9wZXJhdGlvbnMxKSk7CisKKyAgICBUcmFuc2Zvcm1PcGVyYXRpb25zIG9wZXJhdGlvbnMyOwor
ICAgIG9wZXJhdGlvbnMyLm9wZXJhdGlvbnMoKS5hcHBlbmQoUm90YXRlVHJhbnNmb3JtT3BlcmF0
aW9uOjpjcmVhdGUoLTMyMCwgVHJhbnNmb3JtT3BlcmF0aW9uOjpST1RBVEUpKTsKKyAgICB2YWx1
ZXMuaW5zZXJ0KG5ldyBUcmFuc2Zvcm1BbmltYXRpb25WYWx1ZShkdXJhdGlvbiwgJm9wZXJhdGlv
bnMyKSk7CisKKyAgICBSZWZQdHI8QW5pbWF0aW9uPiBhbmltYXRpb24gPSBBbmltYXRpb246OmNy
ZWF0ZSgpOworICAgIGFuaW1hdGlvbi0+c2V0RHVyYXRpb24oZHVyYXRpb24pOworCisgICAgSW50
U2l6ZSBib3hTaXplOworICAgIG1fZ3JhcGhpY3NMYXllci0+YWRkQW5pbWF0aW9uKHZhbHVlcywg
Ym94U2l6ZSwgYW5pbWF0aW9uLmdldCgpLCAiIiwgMCk7CisKKyAgICBFWFBFQ1RfVFJVRShtX3Bs
YXRmb3JtTGF5ZXItPmxheWVyQW5pbWF0aW9uQ29udHJvbGxlcigpLT5oYXNBY3RpdmVBbmltYXRp
b24oKSk7Cit9CisKK1RFU1RfRihHcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0LCBjcmVhdGVUcmFu
c2Zvcm1BbmltYXRpb25XaXRoU21hbGxSb3RhdGlvbkludm9sdmluZ0xhcmdlQW5nbGVzKQorewor
ICAgIGNvbnN0IGRvdWJsZSBkdXJhdGlvbiA9IDE7CisgICAgV2ViQ29yZTo6S2V5ZnJhbWVWYWx1
ZUxpc3QgdmFsdWVzKEFuaW1hdGVkUHJvcGVydHlXZWJraXRUcmFuc2Zvcm0pOworCisgICAgVHJh
bnNmb3JtT3BlcmF0aW9ucyBvcGVyYXRpb25zMTsKKyAgICBvcGVyYXRpb25zMS5vcGVyYXRpb25z
KCkuYXBwZW5kKFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbjo6Y3JlYXRlKDI3MCwgVHJhbnNmb3Jt
T3BlcmF0aW9uOjpST1RBVEUpKTsKKyAgICB2YWx1ZXMuaW5zZXJ0KG5ldyBUcmFuc2Zvcm1Bbmlt
YXRpb25WYWx1ZSgwLCAmb3BlcmF0aW9uczEpKTsKKworICAgIFRyYW5zZm9ybU9wZXJhdGlvbnMg
b3BlcmF0aW9uczI7CisgICAgb3BlcmF0aW9uczIub3BlcmF0aW9ucygpLmFwcGVuZChSb3RhdGVU
cmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0ZSgzNjAsIFRyYW5zZm9ybU9wZXJhdGlvbjo6Uk9UQVRF
KSk7CisgICAgdmFsdWVzLmluc2VydChuZXcgVHJhbnNmb3JtQW5pbWF0aW9uVmFsdWUoZHVyYXRp
b24sICZvcGVyYXRpb25zMikpOworCisgICAgUmVmUHRyPEFuaW1hdGlvbj4gYW5pbWF0aW9uID0g
QW5pbWF0aW9uOjpjcmVhdGUoKTsKKyAgICBhbmltYXRpb24tPnNldER1cmF0aW9uKGR1cmF0aW9u
KTsKKworICAgIEludFNpemUgYm94U2l6ZTsKKyAgICBtX2dyYXBoaWNzTGF5ZXItPmFkZEFuaW1h
dGlvbih2YWx1ZXMsIGJveFNpemUsIGFuaW1hdGlvbi5nZXQoKSwgIiIsIDApOworCisgICAgRVhQ
RUNUX1RSVUUobV9wbGF0Zm9ybUxheWVyLT5sYXllckFuaW1hdGlvbkNvbnRyb2xsZXIoKS0+aGFz
QWN0aXZlQW5pbWF0aW9uKCkpOworfQorCiBURVNUX0YoR3JhcGhpY3NMYXllckNocm9taXVtVGVz
dCwgY3JlYXRlVHJhbnNmb3JtQW5pbWF0aW9uV2l0aFNpbmd1bGFyTWF0cml4KQogewogICAgIGNv
bnN0IGRvdWJsZSBkdXJhdGlvbiA9IDE7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>