<?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>102320</bug_id>
          
          <creation_ts>2012-11-14 19:50:31 -0800</creation_ts>
          <short_desc>HTMLFormElement#requestAutocomplete() should require a user action</short_desc>
          <delta_ts>2012-12-05 22:18:26 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>100560</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Elliott Sprehn">esprehn</reporter>
          <assigned_to name="Dan Beam">dbeam</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>esprehn</cc>
    
    <cc>estade</cc>
    
    <cc>fishd</cc>
    
    <cc>ian</cc>
    
    <cc>isherman</cc>
    
    <cc>jamesr</cc>
    
    <cc>japhet</cc>
    
    <cc>mifenton</cc>
    
    <cc>ojan</cc>
    
    <cc>tkent</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>767640</commentid>
    <comment_count>0</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-11-14 19:50:31 -0800</bug_when>
    <thetext>requestAutocomplete should require a user action and should dispatch a failure event when triggered from a non user action:

ex.

setTimeout(function() {
  form.requestAutocomplete(); // this should always fail.
}, 0);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767683</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-14 21:15:29 -0800</bug_when>
    <thetext>Should be an easy patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784309</commentid>
    <comment_count>2</comment_count>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2012-12-05 17:14:50 -0800</bug_when>
    <thetext>If I&apos;m just passing along this info to the embedder (so it can fail if it&apos;d like), I guess I have to wait for the code to land in Chrome before I can test firing an autocompleteerror on a non-user gesture.  Also, is there a way to simulate user gestures in layout tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784332</commentid>
    <comment_count>3</comment_count>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2012-12-05 17:29:58 -0800</bug_when>
    <thetext>Hey Ian and Adam,

This bug is about requiring HTMLFormElement#requestAutocomplete() be based on a user action, else dispatching an error.  Is this behavior going to be specified (meaning all WebKit implementations will need to behave the same) or will it be up to each embedder/browser to choose this behavior?

Whether it&apos;s standardized or not affects my patch, that&apos;s why I&apos;m asking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784351</commentid>
    <comment_count>4</comment_count>
      <attachid>177887</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2012-12-05 17:42:23 -0800</bug_when>
    <thetext>Created attachment 177887
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784354</commentid>
    <comment_count>5</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-12-05 17:44:22 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Hey Ian and Adam,
&gt; 
&gt; This bug is about requiring HTMLFormElement#requestAutocomplete() be based on a user action, else dispatching an error.  Is this behavior going to be specified (meaning all WebKit implementations will need to behave the same) or will it be up to each embedder/browser to choose this behavior?
&gt; 
&gt; Whether it&apos;s standardized or not affects my patch, that&apos;s why I&apos;m asking.

As the person writing the preliminary spec I was going to require it for all implementations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784357</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-05 17:45:38 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784359</commentid>
    <comment_count>7</comment_count>
      <attachid>177888</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2012-12-05 17:48:01 -0800</bug_when>
    <thetext>Created attachment 177888
changelog typo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784373</commentid>
    <comment_count>8</comment_count>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2012-12-05 17:55:07 -0800</bug_when>
    <thetext>esprehn@: I only see 2 differentiations on whether something is a user action or not in this document (http://dev.w3.org/html5/spec/single-page.html)

1) http://dev.w3.org/html5/spec/single-page.html#history-notes

&quot;&quot;&quot;
In addition, a user agent could ignore calls to pushState() that are invoked on a timer, or from event listeners that are not triggered in response to a clear user action, or that are invoked in rapid succession.
&quot;&quot;&quot;

2) http://dev.w3.org/html5/spec/single-page.html#context-menus

&quot;&quot;&quot;
The context information of the event must be initialized to the same values as the last MouseEvent user interaction event that was fired as part of the gesture that that was interpreted as a request for the context menu.
&quot;&quot;&quot;

It&apos;d seem only #1 is applicable, and it&apos;s only a recommendation (if that).  However, there&apos;s a first time for everything, :).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784396</commentid>
    <comment_count>9</comment_count>
      <attachid>177894</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2012-12-05 18:04:29 -0800</bug_when>
    <thetext>Created attachment 177894
if specified impl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784408</commentid>
    <comment_count>10</comment_count>
      <attachid>177894</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-12-05 18:09:40 -0800</bug_when>
    <thetext>Comment on attachment 177894
if specified impl

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        No new tests (OOPS!).

OOPS!
You had better mention that you updated form-request-autocomplete.html.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784410</commentid>
    <comment_count>11</comment_count>
      <attachid>177894</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2012-12-05 18:10:35 -0800</bug_when>
    <thetext>Comment on attachment 177894
if specified impl

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

&gt;&gt; Source/WebCore/ChangeLog:11
&gt;&gt; +        No new tests (OOPS!).
&gt; 
&gt; OOPS!
&gt; You had better mention that you updated form-request-autocomplete.html.

Yeah, I don&apos;t know why the scripts aren&apos;t picking this up automatically... will update now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784414</commentid>
    <comment_count>12</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-12-05 18:13:16 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; esprehn@: I only see 2 differentiations on whether something is a user action or not in this document (http://dev.w3.org/html5/spec/single-page.html)

http://www.whatwg.org/specs/web-apps/current-work/#allowed-to-show-a-pop-up

window.open() is indeed spec&apos;ed to require a trusted event. See also DOMWindow::allowPopUp which has the user gesture code baked into webkit, not into the embedder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784415</commentid>
    <comment_count>13</comment_count>
      <attachid>177896</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2012-12-05 18:13:23 -0800</bug_when>
    <thetext>Created attachment 177896
if unspecified impl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784418</commentid>
    <comment_count>14</comment_count>
      <attachid>177898</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2012-12-05 18:14:36 -0800</bug_when>
    <thetext>Created attachment 177898
if specified impl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784434</commentid>
    <comment_count>15</comment_count>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2012-12-05 18:25:00 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; Created an attachment (id=177896) [details]
&gt; if unspecified impl

I talked with esprehn@ and we agreed that we&apos;d want to spec the safer, simpler to implement version of this API.  So, I&apos;ve obsoleted the unspecified implementation in favor of the specified one.

tkent@: if I could steal a minute of your time it&apos;d be awesome to get a [very short] review on the non-obsolete patch (https://bugs.webkit.org/attachment.cgi?id=177898&amp;action=review) now that I&apos;m done juggling this bug&apos;s attachments, :P.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784441</commentid>
    <comment_count>16</comment_count>
      <attachid>177898</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-12-05 18:31:26 -0800</bug_when>
    <thetext>Comment on attachment 177898
if specified impl

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

&gt; Source/WebCore/ChangeLog:14
&gt; +        * fast/forms/form-request-autocomplete.html:
&gt; +        
&gt; +        Added a test to ensure that dispatching a call to HTMLFormElement#requestAutocomplete() in a setTimeout() (which will
&gt; +        never be a user gesture) always fails.

nit: This file is not a part of WebCore. So you don&apos;t need to follow the file list style here.
&quot;fast/forms/form-request-autocomplete.html is updated.&quot; is enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784451</commentid>
    <comment_count>17</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-12-05 18:38:14 -0800</bug_when>
    <thetext>&gt; As the person writing the preliminary spec I was going to require it for all implementations.

Makes sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784496</commentid>
    <comment_count>18</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2012-12-05 19:36:38 -0800</bug_when>
    <thetext>I think it makes sense that it happen that way, but in practice the spec won&apos;t require it, since it&apos;s UI. But acting as if it does is appropriate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784566</commentid>
    <comment_count>19</comment_count>
      <attachid>177925</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2012-12-05 21:32:12 -0800</bug_when>
    <thetext>Created attachment 177925
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784568</commentid>
    <comment_count>20</comment_count>
      <attachid>177898</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2012-12-05 21:32:55 -0800</bug_when>
    <thetext>Comment on attachment 177898
if specified impl

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

&gt;&gt; Source/WebCore/ChangeLog:14
&gt;&gt; +        never be a user gesture) always fails.
&gt; 
&gt; nit: This file is not a part of WebCore. So you don&apos;t need to follow the file list style here.
&gt; &quot;fast/forms/form-request-autocomplete.html is updated.&quot; is enough.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784583</commentid>
    <comment_count>21</comment_count>
      <attachid>177925</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-12-05 21:47:53 -0800</bug_when>
    <thetext>Comment on attachment 177925
Patch for landing

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        * fast/forms/form-request-autocomplete.html is updated.

&quot;* &quot; is confusing.  It looks like a part of WebCore files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784598</commentid>
    <comment_count>22</comment_count>
      <attachid>177931</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2012-12-05 22:08:18 -0800</bug_when>
    <thetext>Created attachment 177931
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784600</commentid>
    <comment_count>23</comment_count>
      <attachid>177925</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-05 22:08:57 -0800</bug_when>
    <thetext>Comment on attachment 177925
Patch for landing

Clearing flags on attachment: 177925

Committed r136800: &lt;http://trac.webkit.org/changeset/136800&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784601</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-05 22:09:03 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784603</commentid>
    <comment_count>25</comment_count>
      <attachid>177925</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2012-12-05 22:09:14 -0800</bug_when>
    <thetext>Comment on attachment 177925
Patch for landing

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

&gt;&gt; Source/WebCore/ChangeLog:11
&gt;&gt; +        * fast/forms/form-request-autocomplete.html is updated.
&gt; 
&gt; &quot;* &quot; is confusing.  It looks like a part of WebCore files.

Sorry, removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784606</commentid>
    <comment_count>26</comment_count>
      <attachid>177931</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-12-05 22:09:47 -0800</bug_when>
    <thetext>Comment on attachment 177931
Patch for landing

OMG</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784609</commentid>
    <comment_count>27</comment_count>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2012-12-05 22:11:03 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; All reviewed patches have been landed.  Closing bug.

Whoops, too late.  I&apos;ll remember next time.  I understand now, looking at the patchset (http://trac.webkit.org/changeset/136800), why * matters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784614</commentid>
    <comment_count>28</comment_count>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2012-12-05 22:14:15 -0800</bug_when>
    <thetext>(In reply to comment #26)
&gt; (From update of attachment 177931 [details])
&gt; OMG

Yes, bad timing :(.  Is there anything else I need to do for this bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784621</commentid>
    <comment_count>29</comment_count>
      <attachid>177925</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2012-12-05 22:18:26 -0800</bug_when>
    <thetext>Comment on attachment 177925
Patch for landing

this was the committed patch</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177887</attachid>
            <date>2012-12-05 17:42:23 -0800</date>
            <delta_ts>2012-12-05 17:47:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102320-20121205173948.patch</filename>
            <type>text/plain</type>
            <size>10805</size>
            <attacher name="Dan Beam">dbeam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTg0YjVkYmViYTU5ZDAz
OWYwM2I3ZjBhODM3NmNkNWNmMzc3NjdlMi4uNWI2ZDhmMWMxMzM0YjFiZGVlNWUwYjIwNWNlZTQ4
MzA5NGI0Y2M3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTEyLTA1ICBEYW4g
QmVhbSAgPGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBIVE1MRm9ybUVsZW1lbnQjcmVx
dWVzdEF1dG9jb21wbGV0ZSgpIHNob3VsZCByZXF1aXJlIGEgdXNlciBhY3Rpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjMyMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBh
IGJvb2xlYW4gYXJndW1lbnQgdG8gZGlkUmVxdWVzdEF1dG9jb21wbGV0ZSgpIChhdCB2YXJpb3Vz
IGxldmVscykgdGVsbGluZyBhbnkgaW50ZXJlc3RlZCBwYXJ0aWVzCisgICAgICAgIHdoZXRoZXIg
dGhlIGludm9jYXRpb24gb2YgSFRNTEZvcm1FbGVtZW50I3JlcXVlc3RBdXRvY29tcGxldGUoKSB3
YXMgYmFzZWQgb24gYSB1c2VyIGdlc3R1cmUuIENocm9tZSB3aWxsIHVzZSB0aGlzCisgICAgICAg
IGluZm9ybWF0aW9uIHRvIGlnbm9yZSByZXF1ZXN0cy4gVGhlIGJlaGF2aW9yIG9mIG90aGVyIFdl
YktpdCBpbXBsZW1lbnRlcnMgYW5kIG90aGVyIGJyb3dzZXJzIGlzIHN0aWxsIHRvIGJlIGRlY2lk
ZWQuCisgICAgICAgIElmIGl0J3MgZGVjaWRlZCB0aGF0IGFsbCBpbXBsZW1lbnRhdGlvbnMgc2hv
dWxkIGlnbm9yZSBpbnZvY2F0aW9ucyB0aGF0IGFyZW4ndCBiYXNlZCBvbiBhIHVzZXIgZ2VzdHVy
ZSwgdGhpcyBwYXRjaCBjYW4KKyAgICAgICAgYmUgc2ltcGxpZmllZCBhIGJpdCB0byBkaXNwYXRj
aCBhbiBhc3luY2hyb25vdXMgZXJyb3IgZnJvbSBpbnNpZGUgb2YgSFRNTEZvcm1FbGVtZW50Ojpy
ZXF1ZXN0QXV0b2NvbXBsZXRlKCkgaW5zdGVhZC4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9P
UFMhKS4KKworICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9jb21wbGV0ZSk6CisKKyAgICAgICAg
UXVlcnkgdGhlIFNjcmlwdENvbnRyb2xsZXIgdG8gc2VlIGlmIGl0J3MgY3VycmVudGx5IHByb2Nl
c3NpbmcgYSB1c2VyIGdlc3R1cmUgYW5kIHBhc3MgdGhpcyBpbmZvIGFsb25nLgorCisgICAgICAg
ICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUZyYW1l
TG9hZGVyQ2xpZW50OjpkaWRSZXF1ZXN0QXV0b2NvbXBsZXRlKToKKworICAgICAgICBVcGRhdGVk
IHN0dWIgaW1wbGVtZW50YXRpb24gaW4gZW1wdHkgY2xpZW50IHRvIHRha2UgbmV3bHkgYWRkZWQg
Ym9vbC4KKworICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoKKyAgICAgICAgKEVtcHR5
RnJhbWVMb2FkZXJDbGllbnQpOgorCisgICAgICAgIFVwZGF0ZWQgaW50ZXJmYWNlIGluIGVtcHR5
IGNsaWVudCB0byB0YWtlIG5ld2x5IGFkZGVkIGJvb2wuCisKKyAgICAgICAgKiBsb2FkZXIvRnJh
bWVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgKEZyYW1lTG9hZGVyQ2xpZW50KToKKworICAgICAg
ICBVcGRhdGVkIGludGVyZmFjZSBpbiBmcmFtZSBsb2FkZXIgY2xpZW50IHRvIHRha2UgbmV3bHkg
YWRkZWQgYm9vbC4KKwogMjAxMi0xMi0wNCAgRmxvcmluIE1hbGl0YSAgPGZtYWxpdGFAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFN0YWxlIFNWR1VzZUVsZW1lbnQgcmVmZXJlbmNlIGluIENhY2hl
ZFJlc291cmNlOjpjaGVja05vdGlmeSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGI4
NDA2YjAwMDhhOTViZTIwMTM2YjFmOTE1MDdjZmQ5NTRlYzAxOTMuLmQwMzhhMTQ3Njc1NGIzNThi
YmRjOGFjYWU2YzY0M2Q0YmE0MDkxYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzEgQEAKKzIwMTItMTItMDUgIERhbiBCZWFtICA8ZGJlYW1AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIHJlcXVlc3RBdXRvY29tcGxldGUgc2hvdWxkIHJlcXVpcmUgYSB1c2VyIGFjdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMzIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBw
YXRjaCBhZGRzIGEgYm9vbGVhbiBhcmd1bWVudCB0byBkaWRSZXF1ZXN0QXV0b2NvbXBsZXRlKCkg
KGF0IHZhcmlvdXMgbGV2ZWxzKSB0ZWxsaW5nIGFueSBpbnRlcmVzdGVkIHBhcnRpZXMKKyAgICAg
ICAgd2hldGhlciB0aGUgaW52b2NhdGlvbiBvZiBIVE1MRm9ybUVsZW1lbnQjcmVxdWVzdEF1dG9j
b21wbGV0ZSgpIHdhcyBiYXNlZCBvbiBhIHVzZXIgZ2VzdHVyZS4gQ2hyb21lIHdpbGwgdXNlIHRo
aXMKKyAgICAgICAgaW5mb3JtYXRpb24gdG8gaWdub3JlIHJlcXVlc3RzLiBUaGUgYmVoYXZpb3Ig
b2Ygb3RoZXIgV2ViS2l0IGltcGxlbWVudGVycyBhbmQgb3RoZXIgYnJvd3NlcnMgaXMgc3RpbGwg
dG8gYmUgZGVjaWRlZC4KKyAgICAgICAgSWYgaXQncyBkZWNpZGVkIHRoYXQgYWxsIGltcGxlbWVu
dGF0aW9ucyBzaG91bGQgaWdub3JlIGludm9jYXRpb25zIHRoYXQgYXJlbid0IGJhc2VkIG9uIGEg
dXNlciBnZXN0dXJlLCB0aGlzIHBhdGNoIGNhbgorICAgICAgICBiZSBzaW1wbGlmaWVkIGEgYml0
IHRvIGRpc3BhdGNoIGFuIGFzeW5jaHJvbm91cyBlcnJvciBmcm9tIGluc2lkZSBvZiBIVE1MRm9y
bUVsZW1lbnQ6OnJlcXVlc3RBdXRvY29tcGxldGUoKSBpbnN0ZWFkLgorCisgICAgICAgICogcHVi
bGljL1dlYkF1dG9maWxsQ2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9maWxsQ2xp
ZW50OjpkaWRSZXF1ZXN0QXV0b2NvbXBsZXRlKToKKworICAgICAgICBVcGRhdGVkIHB1YmxpYyBp
bnRlcmZhY2UgdG8gYWNjZXB0IG5ld2x5IGFkZGVkIGJvb2wuCisKKyAgICAgICAgKiBzcmMvRnJh
bWVMb2FkZXJDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RnJhbWVMb2FkZXJDbGll
bnRJbXBsOjpkaWRSZXF1ZXN0QXV0b2NvbXBsZXRlKToKKworICAgICAgICBVcGRhdGVkIGNocm9t
aXVtIFdlYktpdCBpbXBsZW1lbnRhdGlvbiB0byBhY2NlcHQgYW5kIHBhc3MgYWxvbmcgbmV3bHkg
YWRkZWQgYm9vbC4KKworICAgICAgICAqIHNyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaDoKKyAg
ICAgICAgKEZyYW1lTG9hZGVyQ2xpZW50SW1wbCk6CisKKyAgICAgICAgVXBkYXRlZCBmcmFtZSBs
b2FkZXIgY2xpZW50IGludGVyZmFjZSB0byBhY2NlcHQgbmV3bHkgYWRkZWQgYm9vbC4KKwogMjAx
Mi0xMi0wNCAgU3RlcGhlbiBXaGl0ZSAgPHNlbm9yYmxhbmNvQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBSb2xsZWQgREVQUyAody9MaW51eCBidWlsZCBmaXgpLiAgVW5yZXZpZXdlZC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAppbmRleCA1NzhiOTcwZDA0OTJmMmZkMzNl
YTk5MjNmMzUzYjZiMDY4ZTQ4ZThmLi44NjI1YWRkNzhjZTk4MDY4YjU2ZDY1YzUzNTBmZGE2ZmI1
MjYyMmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC00MDUs
NyArNDA1LDcgQEAgdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RBdXRvY29tcGxldGUoKQog
ICAgIFN0cmluZ1BhaXJWZWN0b3IgY29udHJvbE5hbWVzQW5kVmFsdWVzOwogICAgIGdldFRleHRG
aWVsZFZhbHVlcyhjb250cm9sTmFtZXNBbmRWYWx1ZXMpOwogICAgIFJlZlB0cjxGb3JtU3RhdGU+
IGZvcm1TdGF0ZSA9IEZvcm1TdGF0ZTo6Y3JlYXRlKHRoaXMsIGNvbnRyb2xOYW1lc0FuZFZhbHVl
cywgZG9jdW1lbnQoKSwgU3VibWl0dGVkQnlKYXZhU2NyaXB0KTsKLSAgICBmcmFtZS0+bG9hZGVy
KCktPmNsaWVudCgpLT5kaWRSZXF1ZXN0QXV0b2NvbXBsZXRlKGZvcm1TdGF0ZS5yZWxlYXNlKCkp
OworICAgIGZyYW1lLT5sb2FkZXIoKS0+Y2xpZW50KCktPmRpZFJlcXVlc3RBdXRvY29tcGxldGUo
Zm9ybVN0YXRlLnJlbGVhc2UoKSwgU2NyaXB0Q29udHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0
dXJlKCkpOwogfQogCiB2b2lkIEhUTUxGb3JtRWxlbWVudDo6ZmluaXNoUmVxdWVzdEF1dG9jb21w
bGV0ZShBdXRvY29tcGxldGVSZXN1bHQgcmVzdWx0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmNwcAppbmRleCAzODk4NDYxYWQxZGM0MzkzOGM3ZmNjNWM2NDlhYmE3MmI0M2ZmOWI4
Li4yZjJjMzRkNDI2ZjA4MGFjNTJhZTMxMTRhMzM1MjM4ZTc4ZjQxY2YwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcApAQCAtMTk1LDcgKzE5NSw3IEBAIFBhc3NPd25QdHI8
Q29udGV4dE1lbnU+IEVtcHR5Q29udGV4dE1lbnVDbGllbnQ6OmN1c3RvbWl6ZU1lbnUoUGFzc093
blB0cjxDb250ZXh0CiAjZW5kaWYKIAogI2lmIEVOQUJMRShSRVFVRVNUX0FVVE9DT01QTEVURSkK
LXZvaWQgRW1wdHlGcmFtZUxvYWRlckNsaWVudDo6ZGlkUmVxdWVzdEF1dG9jb21wbGV0ZShQYXNz
UmVmUHRyPEZvcm1TdGF0ZT4pCit2b2lkIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQ6OmRpZFJlcXVl
c3RBdXRvY29tcGxldGUoUGFzc1JlZlB0cjxGb3JtU3RhdGU+LCBib29sKQogewogfQogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggODY5ZjkwZjU0YTc3MjhlOTBi
MjliYzkxZDJjMjM5OGViNmNhZjg5Yy4uNGI4NjgyYTczMDVmYzcxMjFlNDU4NjQ0OGIwMzM0MTQz
M2RmYWE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApAQCAtMzg2LDcgKzM4
Niw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRF
KQotICAgIHZpcnR1YWwgdm9pZCBkaWRSZXF1ZXN0QXV0b2NvbXBsZXRlKFBhc3NSZWZQdHI8Rm9y
bVN0YXRlPikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlcXVlc3RBdXRvY29tcGxl
dGUoUGFzc1JlZlB0cjxGb3JtU3RhdGU+LCBib29sKSBPVkVSUklERTsKICNlbmRpZgogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaAppbmRleCBjOWVhZTY0OGM4
NzdmZTIwMGU5MGVhZjY0ZDUwNjIwNDliYjE3YzA2Li41YzliOGQ2MmIwODRmZDM4NmZjNmQ0ZGRi
YmM0Yjc0MWI4MjdjODk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGll
bnQuaApAQCAtMzU5LDcgKzM1OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRpZgogCiAj
aWYgRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQotICAgICAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVxdWVzdEF1dG9jb21wbGV0ZShQYXNzUmVmUHRyPEZvcm1TdGF0ZT4pID0gMDsKKyAgICAgICAg
dmlydHVhbCB2b2lkIGRpZFJlcXVlc3RBdXRvY29tcGxldGUoUGFzc1JlZlB0cjxGb3JtU3RhdGU+
LCBib29sKSA9IDA7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShXRUJHTCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkF1dG9maWxsQ2xpZW50LmggYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBdXRvZmlsbENsaWVudC5oCmluZGV4IDc0MjRjM2Zl
Y2RiYTlmZmE3Mjg2ZTFiN2VlZjNkZjhjOTYwYmZkNWQuLmQ4NDIxN2M5Yzk1ZDQ2YzE0NDIwYjY1
MTNhNzRjMWMwNWFkNDJjNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYkF1dG9maWxsQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViQXV0b2ZpbGxDbGllbnQuaApAQCAtNzgsNyArNzgsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIGRpZENsZWFyQXV0b2ZpbGxTZWxlY3Rpb24oY29uc3QgV2ViTm9kZSYpIHsgfQog
CiAgICAgLy8gSW5mb3JtcyB0aGUgYnJvd3NlciBhbiBpbnRlcmFjdGl2ZSBhdXRvY29tcGxldGUg
aGFzIGJlZW4gcmVxdWVzdGVkLgotICAgIHZpcnR1YWwgdm9pZCBkaWRSZXF1ZXN0QXV0b2NvbXBs
ZXRlKFdlYkZyYW1lKiwgY29uc3QgV2ViRm9ybUVsZW1lbnQmKSB7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgZGlkUmVxdWVzdEF1dG9jb21wbGV0ZShXZWJGcmFtZSosIGNvbnN0IFdlYkZvcm1FbGVtZW50
JiwgYm9vbCkgeyB9CiAKICAgICAvLyBJbnN0cnVjdHMgdGhlIGJyb3dzZXIgdG8gcmVtb3ZlIHRo
ZSBBdXRvY29tcGxldGUgZW50cnkgc3BlY2lmaWVkIGZyb20KICAgICAvLyBpdHMgREIuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwu
Y3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNw
cAppbmRleCBmNGRmMTkyZTg2ZGQ4YjRmMDQwYzhiNDRiMzVkMGI1MWJkZGMyNWEwLi44YTU4MDM2
NzFiOTZkYmQ0YmFlN2M0MTAwYjBlZmZkYTEzYjMwOWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAKQEAgLTE2NzAsMTAg
KzE2NzAsMTAgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNoV2lsbFN0YXJ0
VXNpbmdQZWVyQ29ubmVjdGlvbkhhbmRsZXIoUlRDUGVlckMKICNlbmRpZgogCiAjaWYgRU5BQkxF
KFJFUVVFU1RfQVVUT0NPTVBMRVRFKQotdm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpZFJl
cXVlc3RBdXRvY29tcGxldGUoUGFzc1JlZlB0cjxGb3JtU3RhdGU+IGZvcm1TdGF0ZSkKK3ZvaWQg
RnJhbWVMb2FkZXJDbGllbnRJbXBsOjpkaWRSZXF1ZXN0QXV0b2NvbXBsZXRlKFBhc3NSZWZQdHI8
Rm9ybVN0YXRlPiBmb3JtU3RhdGUsIGJvb2wgcHJvY2Vzc2luZ1VzZXJHZXN0dXJlKQogewogICAg
IGlmIChtX3dlYkZyYW1lLT52aWV3SW1wbCgpICYmIG1fd2ViRnJhbWUtPnZpZXdJbXBsKCktPmF1
dG9maWxsQ2xpZW50KCkpCi0gICAgICAgIG1fd2ViRnJhbWUtPnZpZXdJbXBsKCktPmF1dG9maWxs
Q2xpZW50KCktPmRpZFJlcXVlc3RBdXRvY29tcGxldGUobV93ZWJGcmFtZSwgV2ViRm9ybUVsZW1l
bnQoZm9ybVN0YXRlLT5mb3JtKCkpKTsKKyAgICAgICAgbV93ZWJGcmFtZS0+dmlld0ltcGwoKS0+
YXV0b2ZpbGxDbGllbnQoKS0+ZGlkUmVxdWVzdEF1dG9jb21wbGV0ZShtX3dlYkZyYW1lLCBXZWJG
b3JtRWxlbWVudChmb3JtU3RhdGUtPmZvcm0oKSksIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CiB9
CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVM
b2FkZXJDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRl
ckNsaWVudEltcGwuaAppbmRleCBhMTlhNzgyYzA2NzZlNDhhN2NjNDVkZDdlNGE1MDk1YmRlMTEw
YTdlLi4yOGY3NWM0MTM4YzRkMWY2NWUyOGRlZTEzNGI4Y2FlZTg3NWI3YTAyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaApAQCAt
MjI4LDcgKzIyOCw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgRU5BQkxFKFJFUVVFU1RfQVVU
T0NPTVBMRVRFKQotICAgIHZpcnR1YWwgdm9pZCBkaWRSZXF1ZXN0QXV0b2NvbXBsZXRlKFBhc3NS
ZWZQdHI8V2ViQ29yZTo6Rm9ybVN0YXRlPikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGRp
ZFJlcXVlc3RBdXRvY29tcGxldGUoUGFzc1JlZlB0cjxXZWJDb3JlOjpGb3JtU3RhdGU+LCBib29s
KSBPVkVSUklERTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFdFQkdMKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM4ZDkxOGNm
OGU5NGFiMTMyNTExNjNiMDY1Y2NkYzhkZjhiMDAxMWYuLjlmMDZhYWUwZWEzMjI0ZTZiNmRkYmMx
OWI1ZDc4ZTBkZjNmOGE1MGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0xMi0wNSAgRGFu
IEJlYW0gIDxkYmVhbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTEZvcm1FbGVtZW50I3Jl
cXVlc3RBdXRvY29tcGxldGUoKSBzaG91bGQgcmVxdWlyZSBhIHVzZXIgYWN0aW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIzMjAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMg
YSBib29sZWFuIGFyZ3VtZW50IHRvIGRpZFJlcXVlc3RBdXRvY29tcGxldGUoKSAoYXQgdmFyaW91
cyBsZXZlbHMpIHRlbGxpbmcgYW55IGludGVyZXN0ZWQgcGFydGllcworICAgICAgICB3aGV0aGVy
IHRoZSBpbnZvY2F0aW9uIG9mIEhUTUxGb3JtRWxlbWVudCNyZXF1ZXN0QXV0b2NvbXBsZXRlKCkg
d2FzIGJhc2VkIG9uIGEgdXNlciBnZXN0dXJlLiBDaHJvbWUgd2lsbCB1c2UgdGhpcworICAgICAg
ICBpbmZvcm1hdGlvbiB0byBpZ25vcmUgcmVxdWVzdHMuIFRoZSBiZWhhdmlvciBvZiBvdGhlciBX
ZWJLaXQgaW1wbGVtZW50ZXJzIGFuZCBvdGhlciBicm93c2VycyBpcyBzdGlsbCB0byBiZSBkZWNp
ZGVkLgorICAgICAgICBJZiBpdCdzIGRlY2lkZWQgdGhhdCBhbGwgaW1wbGVtZW50YXRpb25zIHNo
b3VsZCBpZ25vcmUgaW52b2NhdGlvbnMgdGhhdCBhcmVuJ3QgYmFzZWQgb24gYSB1c2VyIGdlc3R1
cmUsIHRoaXMgcGF0Y2ggY2FuCisgICAgICAgIGJlIHNpbXBsaWZpZWQgYSBiaXQgdG8gZGlzcGF0
Y2ggYW4gYXN5bmNocm9ub3VzIGVycm9yIGZyb20gaW5zaWRlIG9mIEhUTUxGb3JtRWxlbWVudDo6
cmVxdWVzdEF1dG9jb21wbGV0ZSgpIGluc3RlYWQuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2Zv
cm0tcmVxdWVzdC1hdXRvY29tcGxldGUuaHRtbDoKKworICAgICAgICBBZGRlZCBhIHRlc3QgdG8g
ZW5zdXJlIHRoYXQgZGlzcGF0Y2hpbmcgYSBjYWxsIHRvIEhUTUxGb3JtRWxlbWVudCNyZXF1ZXN0
QXV0b2NvbXBsZXRlKCkgaW4gYSBzZXRUaW1lb3V0KCkgKHdoaWNoIHdpbGwKKyAgICAgICAgbmV2
ZXIgYmUgYSB1c2VyIGdlc3R1cmUpIGFsd2F5cyBmYWlscy4KKwogMjAxMi0xMi0wNCAgRW1pbCBB
IEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgbWFyayBm
YXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L2luZXJ0Q29udGVudHMuaHRtbCBhcyBmbGFreSBv
biBtYWMgZGVidWcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0tcmVx
dWVzdC1hdXRvY29tcGxldGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1yZXF1
ZXN0LWF1dG9jb21wbGV0ZS5odG1sCmluZGV4IDA2NjVkMDk2YjBhMGE4NDk1MTk5MzQzMGRjMDEw
ZTI1ZGI2YWJiZWMuLjA2NmQ2ZDIyM2M1MWY3ZWNkYTkwNDc3Mzc5ODAxMWJjY2MyMGMyOTMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1yZXF1ZXN0LWF1dG9jb21wbGV0
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1yZXF1ZXN0LWF1dG9jb21w
bGV0ZS5odG1sCkBAIC01NSw2ICs1NSwyMCBAQCBmdW5jdGlvbiBjaGVja0R5bmFtaWNBdHRyaWJ1
dGVzKCkKICAgICBmb3JtLnJlcXVlc3RBdXRvY29tcGxldGUoKTsKIH0KIAorZnVuY3Rpb24gY2hl
Y2tOb25Vc2VyR2VzdHVyZSgpCit7CisgICAgbnVtRXJyb3JzRXhwZWN0ZWQgKz0gMTsKKworICAg
IHZhciBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZm9ybScpOworICAgIGNoZWNrRm9y
RW51bWVyYWJsZVByb3BlcnRpZXMoZm9ybSk7CisgICAgZm9ybS5vbmF1dG9jb21wbGV0ZWVycm9y
ID0gb25FcnJvcjsKKworICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAg
Zm9ybS5yZXF1ZXN0QXV0b2NvbXBsZXRlKCk7CisgICAgfSwgMCk7Cit9CisKIGZ1bmN0aW9uIG9u
RXJyb3IoKQogewogICAgIG51bUVycm9ycyArPSAxOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177888</attachid>
            <date>2012-12-05 17:48:01 -0800</date>
            <delta_ts>2012-12-05 18:13:17 -0800</delta_ts>
            <desc>changelog typo</desc>
            <filename>bug-102320-20121205174526.patch</filename>
            <type>text/plain</type>
            <size>10823</size>
            <attacher name="Dan Beam">dbeam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTg0YjVkYmViYTU5ZDAz
OWYwM2I3ZjBhODM3NmNkNWNmMzc3NjdlMi4uNWI2ZDhmMWMxMzM0YjFiZGVlNWUwYjIwNWNlZTQ4
MzA5NGI0Y2M3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTEyLTA1ICBEYW4g
QmVhbSAgPGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBIVE1MRm9ybUVsZW1lbnQjcmVx
dWVzdEF1dG9jb21wbGV0ZSgpIHNob3VsZCByZXF1aXJlIGEgdXNlciBhY3Rpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjMyMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBh
IGJvb2xlYW4gYXJndW1lbnQgdG8gZGlkUmVxdWVzdEF1dG9jb21wbGV0ZSgpIChhdCB2YXJpb3Vz
IGxldmVscykgdGVsbGluZyBhbnkgaW50ZXJlc3RlZCBwYXJ0aWVzCisgICAgICAgIHdoZXRoZXIg
dGhlIGludm9jYXRpb24gb2YgSFRNTEZvcm1FbGVtZW50I3JlcXVlc3RBdXRvY29tcGxldGUoKSB3
YXMgYmFzZWQgb24gYSB1c2VyIGdlc3R1cmUuIENocm9tZSB3aWxsIHVzZSB0aGlzCisgICAgICAg
IGluZm9ybWF0aW9uIHRvIGlnbm9yZSByZXF1ZXN0cy4gVGhlIGJlaGF2aW9yIG9mIG90aGVyIFdl
YktpdCBpbXBsZW1lbnRlcnMgYW5kIG90aGVyIGJyb3dzZXJzIGlzIHN0aWxsIHRvIGJlIGRlY2lk
ZWQuCisgICAgICAgIElmIGl0J3MgZGVjaWRlZCB0aGF0IGFsbCBpbXBsZW1lbnRhdGlvbnMgc2hv
dWxkIGlnbm9yZSBpbnZvY2F0aW9ucyB0aGF0IGFyZW4ndCBiYXNlZCBvbiBhIHVzZXIgZ2VzdHVy
ZSwgdGhpcyBwYXRjaCBjYW4KKyAgICAgICAgYmUgc2ltcGxpZmllZCBhIGJpdCB0byBkaXNwYXRj
aCBhbiBhc3luY2hyb25vdXMgZXJyb3IgZnJvbSBpbnNpZGUgb2YgSFRNTEZvcm1FbGVtZW50Ojpy
ZXF1ZXN0QXV0b2NvbXBsZXRlKCkgaW5zdGVhZC4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9P
UFMhKS4KKworICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9jb21wbGV0ZSk6CisKKyAgICAgICAg
UXVlcnkgdGhlIFNjcmlwdENvbnRyb2xsZXIgdG8gc2VlIGlmIGl0J3MgY3VycmVudGx5IHByb2Nl
c3NpbmcgYSB1c2VyIGdlc3R1cmUgYW5kIHBhc3MgdGhpcyBpbmZvIGFsb25nLgorCisgICAgICAg
ICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUZyYW1l
TG9hZGVyQ2xpZW50OjpkaWRSZXF1ZXN0QXV0b2NvbXBsZXRlKToKKworICAgICAgICBVcGRhdGVk
IHN0dWIgaW1wbGVtZW50YXRpb24gaW4gZW1wdHkgY2xpZW50IHRvIHRha2UgbmV3bHkgYWRkZWQg
Ym9vbC4KKworICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoKKyAgICAgICAgKEVtcHR5
RnJhbWVMb2FkZXJDbGllbnQpOgorCisgICAgICAgIFVwZGF0ZWQgaW50ZXJmYWNlIGluIGVtcHR5
IGNsaWVudCB0byB0YWtlIG5ld2x5IGFkZGVkIGJvb2wuCisKKyAgICAgICAgKiBsb2FkZXIvRnJh
bWVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgKEZyYW1lTG9hZGVyQ2xpZW50KToKKworICAgICAg
ICBVcGRhdGVkIGludGVyZmFjZSBpbiBmcmFtZSBsb2FkZXIgY2xpZW50IHRvIHRha2UgbmV3bHkg
YWRkZWQgYm9vbC4KKwogMjAxMi0xMi0wNCAgRmxvcmluIE1hbGl0YSAgPGZtYWxpdGFAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFN0YWxlIFNWR1VzZUVsZW1lbnQgcmVmZXJlbmNlIGluIENhY2hl
ZFJlc291cmNlOjpjaGVja05vdGlmeSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGI4
NDA2YjAwMDhhOTViZTIwMTM2YjFmOTE1MDdjZmQ5NTRlYzAxOTMuLjNiMDM4YWMxMWU4YWEwOTY4
M2ViMTc0NTY3ZmZiNzU3MGQ2ODAxNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzEgQEAKKzIwMTItMTItMDUgIERhbiBCZWFtICA8ZGJlYW1AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIEhUTUxGb3JtRWxlbWVudCNyZXF1ZXN0QXV0b2NvbXBsZXRlKCkgc2hvdWxkIHJl
cXVpcmUgYSB1c2VyIGFjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAyMzIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIGEgYm9vbGVhbiBhcmd1bWVudCB0byBkaWRSZXF1
ZXN0QXV0b2NvbXBsZXRlKCkgKGF0IHZhcmlvdXMgbGV2ZWxzKSB0ZWxsaW5nIGFueSBpbnRlcmVz
dGVkIHBhcnRpZXMKKyAgICAgICAgd2hldGhlciB0aGUgaW52b2NhdGlvbiBvZiBIVE1MRm9ybUVs
ZW1lbnQjcmVxdWVzdEF1dG9jb21wbGV0ZSgpIHdhcyBiYXNlZCBvbiBhIHVzZXIgZ2VzdHVyZS4g
Q2hyb21lIHdpbGwgdXNlIHRoaXMKKyAgICAgICAgaW5mb3JtYXRpb24gdG8gaWdub3JlIHJlcXVl
c3RzLiBUaGUgYmVoYXZpb3Igb2Ygb3RoZXIgV2ViS2l0IGltcGxlbWVudGVycyBhbmQgb3RoZXIg
YnJvd3NlcnMgaXMgc3RpbGwgdG8gYmUgZGVjaWRlZC4KKyAgICAgICAgSWYgaXQncyBkZWNpZGVk
IHRoYXQgYWxsIGltcGxlbWVudGF0aW9ucyBzaG91bGQgaWdub3JlIGludm9jYXRpb25zIHRoYXQg
YXJlbid0IGJhc2VkIG9uIGEgdXNlciBnZXN0dXJlLCB0aGlzIHBhdGNoIGNhbgorICAgICAgICBi
ZSBzaW1wbGlmaWVkIGEgYml0IHRvIGRpc3BhdGNoIGFuIGFzeW5jaHJvbm91cyBlcnJvciBmcm9t
IGluc2lkZSBvZiBIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RBdXRvY29tcGxldGUoKSBpbnN0ZWFk
LgorCisgICAgICAgICogcHVibGljL1dlYkF1dG9maWxsQ2xpZW50Lmg6CisgICAgICAgIChXZWJL
aXQ6OldlYkF1dG9maWxsQ2xpZW50OjpkaWRSZXF1ZXN0QXV0b2NvbXBsZXRlKToKKworICAgICAg
ICBVcGRhdGVkIHB1YmxpYyBpbnRlcmZhY2UgdG8gYWNjZXB0IG5ld2x5IGFkZGVkIGJvb2wuCisK
KyAgICAgICAgKiBzcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6RnJhbWVMb2FkZXJDbGllbnRJbXBsOjpkaWRSZXF1ZXN0QXV0b2NvbXBsZXRlKToKKworICAg
ICAgICBVcGRhdGVkIGNocm9taXVtIFdlYktpdCBpbXBsZW1lbnRhdGlvbiB0byBhY2NlcHQgYW5k
IHBhc3MgYWxvbmcgbmV3bHkgYWRkZWQgYm9vbC4KKworICAgICAgICAqIHNyYy9GcmFtZUxvYWRl
ckNsaWVudEltcGwuaDoKKyAgICAgICAgKEZyYW1lTG9hZGVyQ2xpZW50SW1wbCk6CisKKyAgICAg
ICAgVXBkYXRlZCBmcmFtZSBsb2FkZXIgY2xpZW50IGludGVyZmFjZSB0byBhY2NlcHQgbmV3bHkg
YWRkZWQgYm9vbC4KKwogMjAxMi0xMi0wNCAgU3RlcGhlbiBXaGl0ZSAgPHNlbm9yYmxhbmNvQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBSb2xsZWQgREVQUyAody9MaW51eCBidWlsZCBmaXgpLiAg
VW5yZXZpZXdlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAppbmRleCA1
NzhiOTcwZDA0OTJmMmZkMzNlYTk5MjNmMzUzYjZiMDY4ZTQ4ZThmLi44NjI1YWRkNzhjZTk4MDY4
YjU2ZDY1YzUzNTBmZGE2ZmI1MjYyMmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVs
ZW1lbnQuY3BwCkBAIC00MDUsNyArNDA1LDcgQEAgdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OnJlcXVl
c3RBdXRvY29tcGxldGUoKQogICAgIFN0cmluZ1BhaXJWZWN0b3IgY29udHJvbE5hbWVzQW5kVmFs
dWVzOwogICAgIGdldFRleHRGaWVsZFZhbHVlcyhjb250cm9sTmFtZXNBbmRWYWx1ZXMpOwogICAg
IFJlZlB0cjxGb3JtU3RhdGU+IGZvcm1TdGF0ZSA9IEZvcm1TdGF0ZTo6Y3JlYXRlKHRoaXMsIGNv
bnRyb2xOYW1lc0FuZFZhbHVlcywgZG9jdW1lbnQoKSwgU3VibWl0dGVkQnlKYXZhU2NyaXB0KTsK
LSAgICBmcmFtZS0+bG9hZGVyKCktPmNsaWVudCgpLT5kaWRSZXF1ZXN0QXV0b2NvbXBsZXRlKGZv
cm1TdGF0ZS5yZWxlYXNlKCkpOworICAgIGZyYW1lLT5sb2FkZXIoKS0+Y2xpZW50KCktPmRpZFJl
cXVlc3RBdXRvY29tcGxldGUoZm9ybVN0YXRlLnJlbGVhc2UoKSwgU2NyaXB0Q29udHJvbGxlcjo6
cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpOwogfQogCiB2b2lkIEhUTUxGb3JtRWxlbWVudDo6Zmlu
aXNoUmVxdWVzdEF1dG9jb21wbGV0ZShBdXRvY29tcGxldGVSZXN1bHQgcmVzdWx0KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCAzODk4NDYxYWQxZGM0MzkzOGM3ZmNj
NWM2NDlhYmE3MmI0M2ZmOWI4Li4yZjJjMzRkNDI2ZjA4MGFjNTJhZTMxMTRhMzM1MjM4ZTc4ZjQx
Y2YwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcApAQCAtMTk1LDcgKzE5
NSw3IEBAIFBhc3NPd25QdHI8Q29udGV4dE1lbnU+IEVtcHR5Q29udGV4dE1lbnVDbGllbnQ6OmN1
c3RvbWl6ZU1lbnUoUGFzc093blB0cjxDb250ZXh0CiAjZW5kaWYKIAogI2lmIEVOQUJMRShSRVFV
RVNUX0FVVE9DT01QTEVURSkKLXZvaWQgRW1wdHlGcmFtZUxvYWRlckNsaWVudDo6ZGlkUmVxdWVz
dEF1dG9jb21wbGV0ZShQYXNzUmVmUHRyPEZvcm1TdGF0ZT4pCit2b2lkIEVtcHR5RnJhbWVMb2Fk
ZXJDbGllbnQ6OmRpZFJlcXVlc3RBdXRvY29tcGxldGUoUGFzc1JlZlB0cjxGb3JtU3RhdGU+LCBi
b29sKQogewogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1w
dHlDbGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXgg
ODY5ZjkwZjU0YTc3MjhlOTBiMjliYzkxZDJjMjM5OGViNmNhZjg5Yy4uNGI4NjgyYTczMDVmYzcx
MjFlNDU4NjQ0OGIwMzM0MTQzM2RmYWE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVu
dHMuaApAQCAtMzg2LDcgKzM4Niw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgRU5BQkxFKFJF
UVVFU1RfQVVUT0NPTVBMRVRFKQotICAgIHZpcnR1YWwgdm9pZCBkaWRSZXF1ZXN0QXV0b2NvbXBs
ZXRlKFBhc3NSZWZQdHI8Rm9ybVN0YXRlPikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGRp
ZFJlcXVlc3RBdXRvY29tcGxldGUoUGFzc1JlZlB0cjxGb3JtU3RhdGU+LCBib29sKSBPVkVSUklE
RTsKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQu
aAppbmRleCBjOWVhZTY0OGM4NzdmZTIwMGU5MGVhZjY0ZDUwNjIwNDliYjE3YzA2Li41YzliOGQ2
MmIwODRmZDM4NmZjNmQ0ZGRiYmM0Yjc0MWI4MjdjODk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXJDbGllbnQuaApAQCAtMzU5LDcgKzM1OSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQotICAgICAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVxdWVzdEF1dG9jb21wbGV0ZShQYXNzUmVmUHRyPEZvcm1TdGF0
ZT4pID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJlcXVlc3RBdXRvY29tcGxldGUoUGFz
c1JlZlB0cjxGb3JtU3RhdGU+LCBib29sKSA9IDA7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShXRUJH
TCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkF1dG9maWxs
Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBdXRvZmlsbENsaWVu
dC5oCmluZGV4IDc0MjRjM2ZlY2RiYTlmZmE3Mjg2ZTFiN2VlZjNkZjhjOTYwYmZkNWQuLmQ4NDIx
N2M5Yzk1ZDQ2YzE0NDIwYjY1MTNhNzRjMWMwNWFkNDJjNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkF1dG9maWxsQ2xpZW50LmgKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQXV0b2ZpbGxDbGllbnQuaApAQCAtNzgsNyArNzgsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZENsZWFyQXV0b2ZpbGxTZWxlY3Rpb24oY29u
c3QgV2ViTm9kZSYpIHsgfQogCiAgICAgLy8gSW5mb3JtcyB0aGUgYnJvd3NlciBhbiBpbnRlcmFj
dGl2ZSBhdXRvY29tcGxldGUgaGFzIGJlZW4gcmVxdWVzdGVkLgotICAgIHZpcnR1YWwgdm9pZCBk
aWRSZXF1ZXN0QXV0b2NvbXBsZXRlKFdlYkZyYW1lKiwgY29uc3QgV2ViRm9ybUVsZW1lbnQmKSB7
IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVxdWVzdEF1dG9jb21wbGV0ZShXZWJGcmFtZSosIGNv
bnN0IFdlYkZvcm1FbGVtZW50JiwgYm9vbCkgeyB9CiAKICAgICAvLyBJbnN0cnVjdHMgdGhlIGJy
b3dzZXIgdG8gcmVtb3ZlIHRoZSBBdXRvY29tcGxldGUgZW50cnkgc3BlY2lmaWVkIGZyb20KICAg
ICAvLyBpdHMgREIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFt
ZUxvYWRlckNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVM
b2FkZXJDbGllbnRJbXBsLmNwcAppbmRleCBmNGRmMTkyZTg2ZGQ4YjRmMDQwYzhiNDRiMzVkMGI1
MWJkZGMyNWEwLi44YTU4MDM2NzFiOTZkYmQ0YmFlN2M0MTAwYjBlZmZkYTEzYjMwOWNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1w
bC5jcHAKQEAgLTE2NzAsMTAgKzE2NzAsMTAgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6
OmRpc3BhdGNoV2lsbFN0YXJ0VXNpbmdQZWVyQ29ubmVjdGlvbkhhbmRsZXIoUlRDUGVlckMKICNl
bmRpZgogCiAjaWYgRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQotdm9pZCBGcmFtZUxvYWRl
ckNsaWVudEltcGw6OmRpZFJlcXVlc3RBdXRvY29tcGxldGUoUGFzc1JlZlB0cjxGb3JtU3RhdGU+
IGZvcm1TdGF0ZSkKK3ZvaWQgRnJhbWVMb2FkZXJDbGllbnRJbXBsOjpkaWRSZXF1ZXN0QXV0b2Nv
bXBsZXRlKFBhc3NSZWZQdHI8Rm9ybVN0YXRlPiBmb3JtU3RhdGUsIGJvb2wgcHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlKQogewogICAgIGlmIChtX3dlYkZyYW1lLT52aWV3SW1wbCgpICYmIG1fd2ViRnJh
bWUtPnZpZXdJbXBsKCktPmF1dG9maWxsQ2xpZW50KCkpCi0gICAgICAgIG1fd2ViRnJhbWUtPnZp
ZXdJbXBsKCktPmF1dG9maWxsQ2xpZW50KCktPmRpZFJlcXVlc3RBdXRvY29tcGxldGUobV93ZWJG
cmFtZSwgV2ViRm9ybUVsZW1lbnQoZm9ybVN0YXRlLT5mb3JtKCkpKTsKKyAgICAgICAgbV93ZWJG
cmFtZS0+dmlld0ltcGwoKS0+YXV0b2ZpbGxDbGllbnQoKS0+ZGlkUmVxdWVzdEF1dG9jb21wbGV0
ZShtX3dlYkZyYW1lLCBXZWJGb3JtRWxlbWVudChmb3JtU3RhdGUtPmZvcm0oKSksIHByb2Nlc3Np
bmdVc2VyR2VzdHVyZSk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaAppbmRleCBhMTlhNzgyYzA2NzZlNDhhN2Nj
NDVkZDdlNGE1MDk1YmRlMTEwYTdlLi4yOGY3NWM0MTM4YzRkMWY2NWUyOGRlZTEzNGI4Y2FlZTg3
NWI3YTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRl
ckNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRl
ckNsaWVudEltcGwuaApAQCAtMjI4LDcgKzIyOCw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYg
RU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQotICAgIHZpcnR1YWwgdm9pZCBkaWRSZXF1ZXN0
QXV0b2NvbXBsZXRlKFBhc3NSZWZQdHI8V2ViQ29yZTo6Rm9ybVN0YXRlPikgT1ZFUlJJREU7Cisg
ICAgdmlydHVhbCB2b2lkIGRpZFJlcXVlc3RBdXRvY29tcGxldGUoUGFzc1JlZlB0cjxXZWJDb3Jl
OjpGb3JtU3RhdGU+LCBib29sKSBPVkVSUklERTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFdFQkdM
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IGM4ZDkxOGNmOGU5NGFiMTMyNTExNjNiMDY1Y2NkYzhkZjhiMDAxMWYuLjlmMDZh
YWUwZWEzMjI0ZTZiNmRkYmMxOWI1ZDc4ZTBkZjNmOGE1MGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBA
QAorMjAxMi0xMi0wNSAgRGFuIEJlYW0gIDxkYmVhbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
SFRNTEZvcm1FbGVtZW50I3JlcXVlc3RBdXRvY29tcGxldGUoKSBzaG91bGQgcmVxdWlyZSBhIHVz
ZXIgYWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDIzMjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGlzIHBhdGNoIGFkZHMgYSBib29sZWFuIGFyZ3VtZW50IHRvIGRpZFJlcXVlc3RBdXRvY29t
cGxldGUoKSAoYXQgdmFyaW91cyBsZXZlbHMpIHRlbGxpbmcgYW55IGludGVyZXN0ZWQgcGFydGll
cworICAgICAgICB3aGV0aGVyIHRoZSBpbnZvY2F0aW9uIG9mIEhUTUxGb3JtRWxlbWVudCNyZXF1
ZXN0QXV0b2NvbXBsZXRlKCkgd2FzIGJhc2VkIG9uIGEgdXNlciBnZXN0dXJlLiBDaHJvbWUgd2ls
bCB1c2UgdGhpcworICAgICAgICBpbmZvcm1hdGlvbiB0byBpZ25vcmUgcmVxdWVzdHMuIFRoZSBi
ZWhhdmlvciBvZiBvdGhlciBXZWJLaXQgaW1wbGVtZW50ZXJzIGFuZCBvdGhlciBicm93c2VycyBp
cyBzdGlsbCB0byBiZSBkZWNpZGVkLgorICAgICAgICBJZiBpdCdzIGRlY2lkZWQgdGhhdCBhbGwg
aW1wbGVtZW50YXRpb25zIHNob3VsZCBpZ25vcmUgaW52b2NhdGlvbnMgdGhhdCBhcmVuJ3QgYmFz
ZWQgb24gYSB1c2VyIGdlc3R1cmUsIHRoaXMgcGF0Y2ggY2FuCisgICAgICAgIGJlIHNpbXBsaWZp
ZWQgYSBiaXQgdG8gZGlzcGF0Y2ggYW4gYXN5bmNocm9ub3VzIGVycm9yIGZyb20gaW5zaWRlIG9m
IEhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9jb21wbGV0ZSgpIGluc3RlYWQuCisKKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL2Zvcm0tcmVxdWVzdC1hdXRvY29tcGxldGUuaHRtbDoKKworICAgICAg
ICBBZGRlZCBhIHRlc3QgdG8gZW5zdXJlIHRoYXQgZGlzcGF0Y2hpbmcgYSBjYWxsIHRvIEhUTUxG
b3JtRWxlbWVudCNyZXF1ZXN0QXV0b2NvbXBsZXRlKCkgaW4gYSBzZXRUaW1lb3V0KCkgKHdoaWNo
IHdpbGwKKyAgICAgICAgbmV2ZXIgYmUgYSB1c2VyIGdlc3R1cmUpIGFsd2F5cyBmYWlscy4KKwog
MjAxMi0xMi0wNCAgRW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
VW5yZXZpZXdlZCwgbWFyayBmYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L2luZXJ0Q29udGVu
dHMuaHRtbCBhcyBmbGFreSBvbiBtYWMgZGVidWcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2Zvcm0tcmVxdWVzdC1hdXRvY29tcGxldGUuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZm9ybS1yZXF1ZXN0LWF1dG9jb21wbGV0ZS5odG1sCmluZGV4IDA2NjVkMDk2YjBh
MGE4NDk1MTk5MzQzMGRjMDEwZTI1ZGI2YWJiZWMuLjA2NmQ2ZDIyM2M1MWY3ZWNkYTkwNDc3Mzc5
ODAxMWJjY2MyMGMyOTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1y
ZXF1ZXN0LWF1dG9jb21wbGV0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9y
bS1yZXF1ZXN0LWF1dG9jb21wbGV0ZS5odG1sCkBAIC01NSw2ICs1NSwyMCBAQCBmdW5jdGlvbiBj
aGVja0R5bmFtaWNBdHRyaWJ1dGVzKCkKICAgICBmb3JtLnJlcXVlc3RBdXRvY29tcGxldGUoKTsK
IH0KIAorZnVuY3Rpb24gY2hlY2tOb25Vc2VyR2VzdHVyZSgpCit7CisgICAgbnVtRXJyb3JzRXhw
ZWN0ZWQgKz0gMTsKKworICAgIHZhciBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZm9y
bScpOworICAgIGNoZWNrRm9yRW51bWVyYWJsZVByb3BlcnRpZXMoZm9ybSk7CisgICAgZm9ybS5v
bmF1dG9jb21wbGV0ZWVycm9yID0gb25FcnJvcjsKKworICAgIHNldFRpbWVvdXQoZnVuY3Rpb24o
KQorICAgIHsKKyAgICAgICAgZm9ybS5yZXF1ZXN0QXV0b2NvbXBsZXRlKCk7CisgICAgfSwgMCk7
Cit9CisKIGZ1bmN0aW9uIG9uRXJyb3IoKQogewogICAgIG51bUVycm9ycyArPSAxOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177894</attachid>
            <date>2012-12-05 18:04:29 -0800</date>
            <delta_ts>2012-12-05 18:13:20 -0800</delta_ts>
            <desc>if specified impl</desc>
            <filename>bug-102320-20121205180154.patch</filename>
            <type>text/plain</type>
            <size>3373</size>
            <attacher name="Dan Beam">dbeam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTg0YjVkYmViYTU5ZDAz
OWYwM2I3ZjBhODM3NmNkNWNmMzc3NjdlMi4uZTJiOGY2YWVkYWVhODA3ZjA3YzdkNmFmY2Y0ZDY0
MzVjOWE1MmE3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEyLTA1ICBEYW4g
QmVhbSAgPGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBIVE1MRm9ybUVsZW1lbnQjcmVx
dWVzdEF1dG9jb21wbGV0ZSgpIHNob3VsZCByZXF1aXJlIGEgdXNlciBhY3Rpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjMyMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZGlzcGF0
Y2hlcyBhbiBhdXRvY29tcGxldGVlcnJvciB3aGVuIEhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1
dG9jb21wbGV0ZSgpIGlzIGNhbGxlZCB3aGlsZSBub3QgcHJvY2Vzc2luZworICAgICAgICBhIHVz
ZXIgZ2VzdHVyZS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAq
IGh0bWwvSFRNTEZvcm1FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtRWxl
bWVudDo6cmVxdWVzdEF1dG9jb21wbGV0ZSk6CisKKyAgICAgICAgQXN5bmNocm9ub3VzbHkgZGlz
cGF0Y2ggYW4gYXV0b2NvbXBsZXRlIGVycm9yIHdoZW4gbm90IHByb2Nlc3NpbmcgYSB1c2VyIGFj
dGlvbiB3aGVuCisgICAgICAgIEhUTUxGb3JtRWxlbWVudCNyZXF1ZXN0QXV0b2NvbXBsZXRlKCkg
aXMgaW52b2tlZC4KKwogMjAxMi0xMi0wNCAgRmxvcmluIE1hbGl0YSAgPGZtYWxpdGFAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFN0YWxlIFNWR1VzZUVsZW1lbnQgcmVmZXJlbmNlIGluIENhY2hl
ZFJlc291cmNlOjpjaGVja05vdGlmeSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxGb3JtRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVu
dC5jcHAKaW5kZXggNTc4Yjk3MGQwNDkyZjJmZDMzZWE5OTIzZjM1M2I2YjA2OGU0OGU4Zi4uY2Ni
Nzg3NzJhNzNhZGJjOWJlN2FmZTRjYTJhMDZhYzYwYTJiYTUxZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZvcm1FbGVtZW50LmNwcApAQCAtMzk3LDcgKzM5Nyw3IEBAIHZvaWQgSFRNTEZvcm1F
bGVtZW50OjpyZXF1ZXN0QXV0b2NvbXBsZXRlKCkKICAgICBpZiAoIWZyYW1lKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBpZiAoIXNob3VsZEF1dG9jb21wbGV0ZSgpKSB7CisgICAgaWYgKCFzaG91
bGRBdXRvY29tcGxldGUoKSB8fCAhU2NyaXB0Q29udHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0
dXJlKCkpIHsKICAgICAgICAgZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZShBdXRvY29tcGxldGVS
ZXN1bHRFcnJvcik7CiAgICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzhkOTE4Y2Y4ZTk0
YWIxMzI1MTE2M2IwNjVjY2RjOGRmOGIwMDExZi4uYjFmYmMwNmMwZjU0Mjc0MDU4MTg1YmY2MzJk
ODgyNDk1YjhkMzNlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTEyLTA1ICBEYW4gQmVh
bSAgPGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBIVE1MRm9ybUVsZW1lbnQjcmVxdWVz
dEF1dG9jb21wbGV0ZSgpIHNob3VsZCByZXF1aXJlIGEgdXNlciBhY3Rpb24KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjMyMAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZGlzcGF0Y2hl
cyBhbiBhdXRvY29tcGxldGVlcnJvciB3aGVuIEhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9j
b21wbGV0ZSgpIGlzIGNhbGxlZCB3aGlsZSBub3QgcHJvY2Vzc2luZworICAgICAgICBhIHVzZXIg
Z2VzdHVyZS4KKworICAgICAgICAqIGZhc3QvZm9ybXMvZm9ybS1yZXF1ZXN0LWF1dG9jb21wbGV0
ZS5odG1sOgorCisgICAgICAgIEFkZGVkIGEgdGVzdCB0byBlbnN1cmUgdGhhdCBkaXNwYXRjaGlu
ZyBhIGNhbGwgdG8gSFRNTEZvcm1FbGVtZW50I3JlcXVlc3RBdXRvY29tcGxldGUoKSBpbiBhIHNl
dFRpbWVvdXQoKSAod2hpY2ggd2lsbAorICAgICAgICBuZXZlciBiZSBhIHVzZXIgZ2VzdHVyZSkg
YWx3YXlzIGZhaWxzLgorCiAyMDEyLTEyLTA0ICBFbWlsIEEgRWtsdW5kICA8ZWFlQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCBtYXJrIGZhc3QvZG9tL0hUTUxUZW1wbGF0ZUVs
ZW1lbnQvaW5lcnRDb250ZW50cy5odG1sIGFzIGZsYWt5IG9uIG1hYyBkZWJ1Zy4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1yZXF1ZXN0LWF1dG9jb21wbGV0ZS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLmh0bWwK
aW5kZXggMDY2NWQwOTZiMGEwYTg0OTUxOTkzNDMwZGMwMTBlMjVkYjZhYmJlYy4uMDY2ZDZkMjIz
YzUxZjdlY2RhOTA0NzczNzk4MDExYmNjYzIwYzI5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLmh0bWwKQEAgLTU1LDYgKzU1
LDIwIEBAIGZ1bmN0aW9uIGNoZWNrRHluYW1pY0F0dHJpYnV0ZXMoKQogICAgIGZvcm0ucmVxdWVz
dEF1dG9jb21wbGV0ZSgpOwogfQogCitmdW5jdGlvbiBjaGVja05vblVzZXJHZXN0dXJlKCkKK3sK
KyAgICBudW1FcnJvcnNFeHBlY3RlZCArPSAxOworCisgICAgdmFyIGZvcm0gPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdmb3JtJyk7CisgICAgY2hlY2tGb3JFbnVtZXJhYmxlUHJvcGVydGllcyhm
b3JtKTsKKyAgICBmb3JtLm9uYXV0b2NvbXBsZXRlZXJyb3IgPSBvbkVycm9yOworCisgICAgc2V0
VGltZW91dChmdW5jdGlvbigpCisgICAgeworICAgICAgICBmb3JtLnJlcXVlc3RBdXRvY29tcGxl
dGUoKTsKKyAgICB9LCAwKTsKK30KKwogZnVuY3Rpb24gb25FcnJvcigpCiB7CiAgICAgbnVtRXJy
b3JzICs9IDE7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177896</attachid>
            <date>2012-12-05 18:13:23 -0800</date>
            <delta_ts>2012-12-05 18:20:34 -0800</delta_ts>
            <desc>if unspecified impl</desc>
            <filename>bug-102320-20121205181048.patch</filename>
            <type>text/plain</type>
            <size>11031</size>
            <attacher name="Dan Beam">dbeam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTg0YjVkYmViYTU5ZDAz
OWYwM2I3ZjBhODM3NmNkNWNmMzc3NjdlMi4uNTMxZmQ3OGQ3MGU3ZTEwYTQxMWZhNGEzMjk2NGNl
MzlhNWRjOWY1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTEyLTA1ICBEYW4g
QmVhbSAgPGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBIVE1MRm9ybUVsZW1lbnQjcmVx
dWVzdEF1dG9jb21wbGV0ZSgpIHNob3VsZCByZXF1aXJlIGEgdXNlciBhY3Rpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjMyMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBh
IGJvb2xlYW4gYXJndW1lbnQgdG8gZGlkUmVxdWVzdEF1dG9jb21wbGV0ZSgpIChhdCB2YXJpb3Vz
IGxldmVscykgdGVsbGluZyBhbnkgaW50ZXJlc3RlZCBwYXJ0aWVzCisgICAgICAgIHdoZXRoZXIg
dGhlIGludm9jYXRpb24gb2YgSFRNTEZvcm1FbGVtZW50I3JlcXVlc3RBdXRvY29tcGxldGUoKSB3
YXMgYmFzZWQgb24gYSB1c2VyIGdlc3R1cmUuIENocm9tZSB3aWxsIHVzZSB0aGlzCisgICAgICAg
IGluZm9ybWF0aW9uIHRvIGlnbm9yZSByZXF1ZXN0cy4gVGhlIGJlaGF2aW9yIG9mIG90aGVyIFdl
YktpdCBpbXBsZW1lbnRlcnMgYW5kIG90aGVyIGJyb3dzZXJzIGlzIHN0aWxsIHRvIGJlIGRlY2lk
ZWQuCisgICAgICAgIElmIGl0J3MgZGVjaWRlZCB0aGF0IGFsbCBpbXBsZW1lbnRhdGlvbnMgc2hv
dWxkIGlnbm9yZSBpbnZvY2F0aW9ucyB0aGF0IGFyZW4ndCBiYXNlZCBvbiBhIHVzZXIgZ2VzdHVy
ZSwgdGhpcyBwYXRjaCBjYW4KKyAgICAgICAgYmUgc2ltcGxpZmllZCBhIGJpdCB0byBkaXNwYXRj
aCBhbiBhc3luY2hyb25vdXMgZXJyb3IgZnJvbSBpbnNpZGUgb2YgSFRNTEZvcm1FbGVtZW50Ojpy
ZXF1ZXN0QXV0b2NvbXBsZXRlKCkgaW5zdGVhZC4KKworICAgICAgICAqIGZhc3QvZm9ybXMvZm9y
bS1yZXF1ZXN0LWF1dG9jb21wbGV0ZS5odG1sOgorICAgICAgICAKKyAgICAgICAgQWRkZWQgYSB0
ZXN0IHRvIGVuc3VyZSB0aGF0IGRpc3BhdGNoaW5nIGEgY2FsbCB0byBIVE1MRm9ybUVsZW1lbnQj
cmVxdWVzdEF1dG9jb21wbGV0ZSgpIGluIGEgc2V0VGltZW91dCgpICh3aGljaCB3aWxsCisgICAg
ICAgIG5ldmVyIGJlIGEgdXNlciBnZXN0dXJlKSBhbHdheXMgZmFpbHMuCisKKyAgICAgICAgKiBo
dG1sL0hUTUxGb3JtRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUVsZW1l
bnQ6OnJlcXVlc3RBdXRvY29tcGxldGUpOgorCisgICAgICAgIFF1ZXJ5IHRoZSBTY3JpcHRDb250
cm9sbGVyIHRvIHNlZSBpZiBpdCdzIGN1cnJlbnRseSBwcm9jZXNzaW5nIGEgdXNlciBnZXN0dXJl
IGFuZCBwYXNzIHRoaXMgaW5mbyBhbG9uZy4KKworICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVu
dHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlGcmFtZUxvYWRlckNsaWVudDo6ZGlkUmVx
dWVzdEF1dG9jb21wbGV0ZSk6CisKKyAgICAgICAgVXBkYXRlZCBzdHViIGltcGxlbWVudGF0aW9u
IGluIGVtcHR5IGNsaWVudCB0byB0YWtlIG5ld2x5IGFkZGVkIGJvb2wuCisKKyAgICAgICAgKiBs
b2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgIChFbXB0eUZyYW1lTG9hZGVyQ2xpZW50KToK
KworICAgICAgICBVcGRhdGVkIGludGVyZmFjZSBpbiBlbXB0eSBjbGllbnQgdG8gdGFrZSBuZXds
eSBhZGRlZCBib29sLgorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50Lmg6Cisg
ICAgICAgIChGcmFtZUxvYWRlckNsaWVudCk6CisKKyAgICAgICAgVXBkYXRlZCBpbnRlcmZhY2Ug
aW4gZnJhbWUgbG9hZGVyIGNsaWVudCB0byB0YWtlIG5ld2x5IGFkZGVkIGJvb2wuCisKIDIwMTIt
MTItMDQgIEZsb3JpbiBNYWxpdGEgIDxmbWFsaXRhQGNocm9taXVtLm9yZz4KIAogICAgICAgICBT
dGFsZSBTVkdVc2VFbGVtZW50IHJlZmVyZW5jZSBpbiBDYWNoZWRSZXNvdXJjZTo6Y2hlY2tOb3Rp
ZnkoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBiODQwNmIwMDA4YTk1YmUyMDEzNmIx
ZjkxNTA3Y2ZkOTU0ZWMwMTkzLi4zYjAzOGFjMTFlOGFhMDk2ODNlYjE3NDU2N2ZmYjc1NzBkNjgw
MTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTEy
LTA1ICBEYW4gQmVhbSAgPGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBIVE1MRm9ybUVs
ZW1lbnQjcmVxdWVzdEF1dG9jb21wbGV0ZSgpIHNob3VsZCByZXF1aXJlIGEgdXNlciBhY3Rpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjMyMAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggYWRkcyBhIGJvb2xlYW4gYXJndW1lbnQgdG8gZGlkUmVxdWVzdEF1dG9jb21wbGV0ZSgpIChh
dCB2YXJpb3VzIGxldmVscykgdGVsbGluZyBhbnkgaW50ZXJlc3RlZCBwYXJ0aWVzCisgICAgICAg
IHdoZXRoZXIgdGhlIGludm9jYXRpb24gb2YgSFRNTEZvcm1FbGVtZW50I3JlcXVlc3RBdXRvY29t
cGxldGUoKSB3YXMgYmFzZWQgb24gYSB1c2VyIGdlc3R1cmUuIENocm9tZSB3aWxsIHVzZSB0aGlz
CisgICAgICAgIGluZm9ybWF0aW9uIHRvIGlnbm9yZSByZXF1ZXN0cy4gVGhlIGJlaGF2aW9yIG9m
IG90aGVyIFdlYktpdCBpbXBsZW1lbnRlcnMgYW5kIG90aGVyIGJyb3dzZXJzIGlzIHN0aWxsIHRv
IGJlIGRlY2lkZWQuCisgICAgICAgIElmIGl0J3MgZGVjaWRlZCB0aGF0IGFsbCBpbXBsZW1lbnRh
dGlvbnMgc2hvdWxkIGlnbm9yZSBpbnZvY2F0aW9ucyB0aGF0IGFyZW4ndCBiYXNlZCBvbiBhIHVz
ZXIgZ2VzdHVyZSwgdGhpcyBwYXRjaCBjYW4KKyAgICAgICAgYmUgc2ltcGxpZmllZCBhIGJpdCB0
byBkaXNwYXRjaCBhbiBhc3luY2hyb25vdXMgZXJyb3IgZnJvbSBpbnNpZGUgb2YgSFRNTEZvcm1F
bGVtZW50OjpyZXF1ZXN0QXV0b2NvbXBsZXRlKCkgaW5zdGVhZC4KKworICAgICAgICAqIHB1Ymxp
Yy9XZWJBdXRvZmlsbENsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvZmlsbENsaWVu
dDo6ZGlkUmVxdWVzdEF1dG9jb21wbGV0ZSk6CisKKyAgICAgICAgVXBkYXRlZCBwdWJsaWMgaW50
ZXJmYWNlIHRvIGFjY2VwdCBuZXdseSBhZGRlZCBib29sLgorCisgICAgICAgICogc3JjL0ZyYW1l
TG9hZGVyQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50
SW1wbDo6ZGlkUmVxdWVzdEF1dG9jb21wbGV0ZSk6CisKKyAgICAgICAgVXBkYXRlZCBjaHJvbWl1
bSBXZWJLaXQgaW1wbGVtZW50YXRpb24gdG8gYWNjZXB0IGFuZCBwYXNzIGFsb25nIG5ld2x5IGFk
ZGVkIGJvb2wuCisKKyAgICAgICAgKiBzcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmg6CisgICAg
ICAgIChGcmFtZUxvYWRlckNsaWVudEltcGwpOgorCisgICAgICAgIFVwZGF0ZWQgZnJhbWUgbG9h
ZGVyIGNsaWVudCBpbnRlcmZhY2UgdG8gYWNjZXB0IG5ld2x5IGFkZGVkIGJvb2wuCisKIDIwMTIt
MTItMDQgIFN0ZXBoZW4gV2hpdGUgIDxzZW5vcmJsYW5jb0BjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgUm9sbGVkIERFUFMgKHcvTGludXggYnVpbGQgZml4KS4gIFVucmV2aWV3ZWQuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKaW5kZXggNTc4Yjk3MGQwNDkyZjJmZDMzZWE5
OTIzZjM1M2I2YjA2OGU0OGU4Zi4uODYyNWFkZDc4Y2U5ODA2OGI1NmQ2NWM1MzUwZmRhNmZiNTI2
MjJhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcApAQCAtNDA1LDcg
KzQwNSw3IEBAIHZvaWQgSFRNTEZvcm1FbGVtZW50OjpyZXF1ZXN0QXV0b2NvbXBsZXRlKCkKICAg
ICBTdHJpbmdQYWlyVmVjdG9yIGNvbnRyb2xOYW1lc0FuZFZhbHVlczsKICAgICBnZXRUZXh0Rmll
bGRWYWx1ZXMoY29udHJvbE5hbWVzQW5kVmFsdWVzKTsKICAgICBSZWZQdHI8Rm9ybVN0YXRlPiBm
b3JtU3RhdGUgPSBGb3JtU3RhdGU6OmNyZWF0ZSh0aGlzLCBjb250cm9sTmFtZXNBbmRWYWx1ZXMs
IGRvY3VtZW50KCksIFN1Ym1pdHRlZEJ5SmF2YVNjcmlwdCk7Ci0gICAgZnJhbWUtPmxvYWRlcigp
LT5jbGllbnQoKS0+ZGlkUmVxdWVzdEF1dG9jb21wbGV0ZShmb3JtU3RhdGUucmVsZWFzZSgpKTsK
KyAgICBmcmFtZS0+bG9hZGVyKCktPmNsaWVudCgpLT5kaWRSZXF1ZXN0QXV0b2NvbXBsZXRlKGZv
cm1TdGF0ZS5yZWxlYXNlKCksIFNjcmlwdENvbnRyb2xsZXI6OnByb2Nlc3NpbmdVc2VyR2VzdHVy
ZSgpKTsKIH0KIAogdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OmZpbmlzaFJlcXVlc3RBdXRvY29tcGxl
dGUoQXV0b2NvbXBsZXRlUmVzdWx0IHJlc3VsdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xp
ZW50cy5jcHAKaW5kZXggMzg5ODQ2MWFkMWRjNDM5MzhjN2ZjYzVjNjQ5YWJhNzJiNDNmZjliOC4u
MmYyYzM0ZDQyNmYwODBhYzUyYWUzMTE0YTMzNTIzOGU3OGY0MWNmMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKQEAgLTE5NSw3ICsxOTUsNyBAQCBQYXNzT3duUHRyPENv
bnRleHRNZW51PiBFbXB0eUNvbnRleHRNZW51Q2xpZW50OjpjdXN0b21pemVNZW51KFBhc3NPd25Q
dHI8Q29udGV4dAogI2VuZGlmCiAKICNpZiBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExFVEUpCi12
b2lkIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQ6OmRpZFJlcXVlc3RBdXRvY29tcGxldGUoUGFzc1Jl
ZlB0cjxGb3JtU3RhdGU+KQordm9pZCBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50OjpkaWRSZXF1ZXN0
QXV0b2NvbXBsZXRlKFBhc3NSZWZQdHI8Rm9ybVN0YXRlPiwgYm9vbCkKIHsKIH0KICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IDg2OWY5MGY1NGE3NzI4ZTkwYjI5
YmM5MWQyYzIzOThlYjZjYWY4OWMuLjRiODY4MmE3MzA1ZmM3MTIxZTQ1ODY0NDhiMDMzNDE0MzNk
ZmFhNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTM4Niw3ICszODYs
NyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIEVOQUJMRShSRVFVRVNUX0FVVE9DT01QTEVURSkK
LSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVxdWVzdEF1dG9jb21wbGV0ZShQYXNzUmVmUHRyPEZvcm1T
dGF0ZT4pIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZXF1ZXN0QXV0b2NvbXBsZXRl
KFBhc3NSZWZQdHI8Rm9ybVN0YXRlPiwgYm9vbCkgT1ZFUlJJREU7CiAjZW5kaWYKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKaW5kZXggYzllYWU2NDhjODc3
ZmUyMDBlOTBlYWY2NGQ1MDYyMDQ5YmIxN2MwNi4uNWM5YjhkNjJiMDg0ZmQzODZmYzZkNGRkYmJj
NGI3NDFiODI3Yzg5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50
LmgKQEAgLTM1OSw3ICszNTksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYKIAogI2lm
IEVOQUJMRShSRVFVRVNUX0FVVE9DT01QTEVURSkKLSAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJl
cXVlc3RBdXRvY29tcGxldGUoUGFzc1JlZlB0cjxGb3JtU3RhdGU+KSA9IDA7CisgICAgICAgIHZp
cnR1YWwgdm9pZCBkaWRSZXF1ZXN0QXV0b2NvbXBsZXRlKFBhc3NSZWZQdHI8Rm9ybVN0YXRlPiwg
Ym9vbCkgPSAwOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBdXRvZmlsbENsaWVudC5oIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQXV0b2ZpbGxDbGllbnQuaAppbmRleCA3NDI0YzNmZWNk
YmE5ZmZhNzI4NmUxYjdlZWYzZGY4Yzk2MGJmZDVkLi5kODQyMTdjOWM5NWQ0NmMxNDQyMGI2NTEz
YTc0YzFjMDVhZDQyYzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJBdXRvZmlsbENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYkF1dG9maWxsQ2xpZW50LmgKQEAgLTc4LDcgKzc4LDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBkaWRDbGVhckF1dG9maWxsU2VsZWN0aW9uKGNvbnN0IFdlYk5vZGUmKSB7IH0KIAog
ICAgIC8vIEluZm9ybXMgdGhlIGJyb3dzZXIgYW4gaW50ZXJhY3RpdmUgYXV0b2NvbXBsZXRlIGhh
cyBiZWVuIHJlcXVlc3RlZC4KLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVxdWVzdEF1dG9jb21wbGV0
ZShXZWJGcmFtZSosIGNvbnN0IFdlYkZvcm1FbGVtZW50JikgeyB9CisgICAgdmlydHVhbCB2b2lk
IGRpZFJlcXVlc3RBdXRvY29tcGxldGUoV2ViRnJhbWUqLCBjb25zdCBXZWJGb3JtRWxlbWVudCYs
IGJvb2wpIHsgfQogCiAgICAgLy8gSW5zdHJ1Y3RzIHRoZSBicm93c2VyIHRvIHJlbW92ZSB0aGUg
QXV0b2NvbXBsZXRlIGVudHJ5IHNwZWNpZmllZCBmcm9tCiAgICAgLy8gaXRzIERCLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNw
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAK
aW5kZXggZjRkZjE5MmU4NmRkOGI0ZjA0MGM4YjQ0YjM1ZDBiNTFiZGRjMjVhMC4uOGE1ODAzNjcx
Yjk2ZGJkNGJhZTdjNDEwMGIwZWZmZGExM2IzMDljYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCkBAIC0xNjcwLDEwICsx
NjcwLDEwIEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRJbXBsOjpkaXNwYXRjaFdpbGxTdGFydFVz
aW5nUGVlckNvbm5lY3Rpb25IYW5kbGVyKFJUQ1BlZXJDCiAjZW5kaWYKIAogI2lmIEVOQUJMRShS
RVFVRVNUX0FVVE9DT01QTEVURSkKLXZvaWQgRnJhbWVMb2FkZXJDbGllbnRJbXBsOjpkaWRSZXF1
ZXN0QXV0b2NvbXBsZXRlKFBhc3NSZWZQdHI8Rm9ybVN0YXRlPiBmb3JtU3RhdGUpCit2b2lkIEZy
YW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlkUmVxdWVzdEF1dG9jb21wbGV0ZShQYXNzUmVmUHRyPEZv
cm1TdGF0ZT4gZm9ybVN0YXRlLCBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSkKIHsKICAgICBp
ZiAobV93ZWJGcmFtZS0+dmlld0ltcGwoKSAmJiBtX3dlYkZyYW1lLT52aWV3SW1wbCgpLT5hdXRv
ZmlsbENsaWVudCgpKQotICAgICAgICBtX3dlYkZyYW1lLT52aWV3SW1wbCgpLT5hdXRvZmlsbENs
aWVudCgpLT5kaWRSZXF1ZXN0QXV0b2NvbXBsZXRlKG1fd2ViRnJhbWUsIFdlYkZvcm1FbGVtZW50
KGZvcm1TdGF0ZS0+Zm9ybSgpKSk7CisgICAgICAgIG1fd2ViRnJhbWUtPnZpZXdJbXBsKCktPmF1
dG9maWxsQ2xpZW50KCktPmRpZFJlcXVlc3RBdXRvY29tcGxldGUobV93ZWJGcmFtZSwgV2ViRm9y
bUVsZW1lbnQoZm9ybVN0YXRlLT5mb3JtKCkpLCBwcm9jZXNzaW5nVXNlckdlc3R1cmUpOwogfQog
I2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9h
ZGVyQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJD
bGllbnRJbXBsLmgKaW5kZXggYTE5YTc4MmMwNjc2ZTQ4YTdjYzQ1ZGQ3ZTRhNTA5NWJkZTExMGE3
ZS4uMjhmNzVjNDEzOGM0ZDFmNjVlMjhkZWUxMzRiOGNhZWU4NzViN2EwMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKQEAgLTIy
OCw3ICsyMjgsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIEVOQUJMRShSRVFVRVNUX0FVVE9D
T01QTEVURSkKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVxdWVzdEF1dG9jb21wbGV0ZShQYXNzUmVm
UHRyPFdlYkNvcmU6OkZvcm1TdGF0ZT4pIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkaWRS
ZXF1ZXN0QXV0b2NvbXBsZXRlKFBhc3NSZWZQdHI8V2ViQ29yZTo6Rm9ybVN0YXRlPiwgYm9vbCkg
T1ZFUlJJREU7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShXRUJHTCkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjOGQ5MThjZjhl
OTRhYjEzMjUxMTYzYjA2NWNjZGM4ZGY4YjAwMTFmLi45ZjA2YWFlMGVhMzIyNGU2YjZkZGJjMTli
NWQ3OGUwZGYzZjhhNTBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMTItMDUgIERhbiBC
ZWFtICA8ZGJlYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEhUTUxGb3JtRWxlbWVudCNyZXF1
ZXN0QXV0b2NvbXBsZXRlKCkgc2hvdWxkIHJlcXVpcmUgYSB1c2VyIGFjdGlvbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMzIwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIGEg
Ym9vbGVhbiBhcmd1bWVudCB0byBkaWRSZXF1ZXN0QXV0b2NvbXBsZXRlKCkgKGF0IHZhcmlvdXMg
bGV2ZWxzKSB0ZWxsaW5nIGFueSBpbnRlcmVzdGVkIHBhcnRpZXMKKyAgICAgICAgd2hldGhlciB0
aGUgaW52b2NhdGlvbiBvZiBIVE1MRm9ybUVsZW1lbnQjcmVxdWVzdEF1dG9jb21wbGV0ZSgpIHdh
cyBiYXNlZCBvbiBhIHVzZXIgZ2VzdHVyZS4gQ2hyb21lIHdpbGwgdXNlIHRoaXMKKyAgICAgICAg
aW5mb3JtYXRpb24gdG8gaWdub3JlIHJlcXVlc3RzLiBUaGUgYmVoYXZpb3Igb2Ygb3RoZXIgV2Vi
S2l0IGltcGxlbWVudGVycyBhbmQgb3RoZXIgYnJvd3NlcnMgaXMgc3RpbGwgdG8gYmUgZGVjaWRl
ZC4KKyAgICAgICAgSWYgaXQncyBkZWNpZGVkIHRoYXQgYWxsIGltcGxlbWVudGF0aW9ucyBzaG91
bGQgaWdub3JlIGludm9jYXRpb25zIHRoYXQgYXJlbid0IGJhc2VkIG9uIGEgdXNlciBnZXN0dXJl
LCB0aGlzIHBhdGNoIGNhbgorICAgICAgICBiZSBzaW1wbGlmaWVkIGEgYml0IHRvIGRpc3BhdGNo
IGFuIGFzeW5jaHJvbm91cyBlcnJvciBmcm9tIGluc2lkZSBvZiBIVE1MRm9ybUVsZW1lbnQ6OnJl
cXVlc3RBdXRvY29tcGxldGUoKSBpbnN0ZWFkLgorCisgICAgICAgICogZmFzdC9mb3Jtcy9mb3Jt
LXJlcXVlc3QtYXV0b2NvbXBsZXRlLmh0bWw6CisKKyAgICAgICAgQWRkZWQgYSB0ZXN0IHRvIGVu
c3VyZSB0aGF0IGRpc3BhdGNoaW5nIGEgY2FsbCB0byBIVE1MRm9ybUVsZW1lbnQjcmVxdWVzdEF1
dG9jb21wbGV0ZSgpIGluIGEgc2V0VGltZW91dCgpICh3aGljaCB3aWxsCisgICAgICAgIG5ldmVy
IGJlIGEgdXNlciBnZXN0dXJlKSBhbHdheXMgZmFpbHMuCisKIDIwMTItMTItMDQgIEVtaWwgQSBF
a2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIG1hcmsgZmFz
dC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9pbmVydENvbnRlbnRzLmh0bWwgYXMgZmxha3kgb24g
bWFjIGRlYnVnLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLXJlcXVl
c3QtYXV0b2NvbXBsZXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0tcmVxdWVz
dC1hdXRvY29tcGxldGUuaHRtbAppbmRleCAwNjY1ZDA5NmIwYTBhODQ5NTE5OTM0MzBkYzAxMGUy
NWRiNmFiYmVjLi4wNjZkNmQyMjNjNTFmN2VjZGE5MDQ3NzM3OTgwMTFiY2NjMjBjMjkzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0tcmVxdWVzdC1hdXRvY29tcGxldGUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0tcmVxdWVzdC1hdXRvY29tcGxl
dGUuaHRtbApAQCAtNTUsNiArNTUsMjAgQEAgZnVuY3Rpb24gY2hlY2tEeW5hbWljQXR0cmlidXRl
cygpCiAgICAgZm9ybS5yZXF1ZXN0QXV0b2NvbXBsZXRlKCk7CiB9CiAKK2Z1bmN0aW9uIGNoZWNr
Tm9uVXNlckdlc3R1cmUoKQoreworICAgIG51bUVycm9yc0V4cGVjdGVkICs9IDE7CisKKyAgICB2
YXIgZm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Zvcm0nKTsKKyAgICBjaGVja0ZvckVu
dW1lcmFibGVQcm9wZXJ0aWVzKGZvcm0pOworICAgIGZvcm0ub25hdXRvY29tcGxldGVlcnJvciA9
IG9uRXJyb3I7CisKKyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGZv
cm0ucmVxdWVzdEF1dG9jb21wbGV0ZSgpOworICAgIH0sIDApOworfQorCiBmdW5jdGlvbiBvbkVy
cm9yKCkKIHsKICAgICBudW1FcnJvcnMgKz0gMTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177898</attachid>
            <date>2012-12-05 18:14:36 -0800</date>
            <delta_ts>2012-12-05 21:32:55 -0800</delta_ts>
            <desc>if specified impl</desc>
            <filename>bug-102320-20121205181201.patch</filename>
            <type>text/plain</type>
            <size>3581</size>
            <attacher name="Dan Beam">dbeam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTg0YjVkYmViYTU5ZDAz
OWYwM2I3ZjBhODM3NmNkNWNmMzc3NjdlMi4uNzMwNmRiYmE2ODNhYzIzN2E3YThkZjg2ODdkN2M2
ZTQ4YTU3MDQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTEyLTA1ICBEYW4g
QmVhbSAgPGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBIVE1MRm9ybUVsZW1lbnQjcmVx
dWVzdEF1dG9jb21wbGV0ZSgpIHNob3VsZCByZXF1aXJlIGEgdXNlciBhY3Rpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjMyMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZGlzcGF0
Y2hlcyBhbiBhdXRvY29tcGxldGVlcnJvciB3aGVuIEhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1
dG9jb21wbGV0ZSgpIGlzIGNhbGxlZCB3aGlsZSBub3QgcHJvY2Vzc2luZworICAgICAgICBhIHVz
ZXIgZ2VzdHVyZS4KKworICAgICAgICAqIGZhc3QvZm9ybXMvZm9ybS1yZXF1ZXN0LWF1dG9jb21w
bGV0ZS5odG1sOgorICAgICAgICAKKyAgICAgICAgQWRkZWQgYSB0ZXN0IHRvIGVuc3VyZSB0aGF0
IGRpc3BhdGNoaW5nIGEgY2FsbCB0byBIVE1MRm9ybUVsZW1lbnQjcmVxdWVzdEF1dG9jb21wbGV0
ZSgpIGluIGEgc2V0VGltZW91dCgpICh3aGljaCB3aWxsCisgICAgICAgIG5ldmVyIGJlIGEgdXNl
ciBnZXN0dXJlKSBhbHdheXMgZmFpbHMuCisKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RBdXRvY29t
cGxldGUpOgorCisgICAgICAgIEFzeW5jaHJvbm91c2x5IGRpc3BhdGNoIGFuIGF1dG9jb21wbGV0
ZSBlcnJvciB3aGVuIG5vdCBwcm9jZXNzaW5nIGEgdXNlciBhY3Rpb24gd2hlbgorICAgICAgICBI
VE1MRm9ybUVsZW1lbnQjcmVxdWVzdEF1dG9jb21wbGV0ZSgpIGlzIGludm9rZWQuCisKIDIwMTIt
MTItMDQgIEZsb3JpbiBNYWxpdGEgIDxmbWFsaXRhQGNocm9taXVtLm9yZz4KIAogICAgICAgICBT
dGFsZSBTVkdVc2VFbGVtZW50IHJlZmVyZW5jZSBpbiBDYWNoZWRSZXNvdXJjZTo6Y2hlY2tOb3Rp
ZnkoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDU3OGI5NzBk
MDQ5MmYyZmQzM2VhOTkyM2YzNTNiNmIwNjhlNDhlOGYuLmNjYjc4NzcyYTczYWRiYzliZTdhZmU0
Y2EyYTA2YWM2MGEyYmE1MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5j
cHAKQEAgLTM5Nyw3ICszOTcsNyBAQCB2b2lkIEhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9j
b21wbGV0ZSgpCiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFz
aG91bGRBdXRvY29tcGxldGUoKSkgeworICAgIGlmICghc2hvdWxkQXV0b2NvbXBsZXRlKCkgfHwg
IVNjcmlwdENvbnRyb2xsZXI6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpKSB7CiAgICAgICAgIGZp
bmlzaFJlcXVlc3RBdXRvY29tcGxldGUoQXV0b2NvbXBsZXRlUmVzdWx0RXJyb3IpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM4ZDkxOGNmOGU5NGFiMTMyNTExNjNiMDY1Y2NkYzhk
ZjhiMDAxMWYuLmIxZmJjMDZjMGY1NDI3NDA1ODE4NWJmNjMyZDg4MjQ5NWI4ZDMzZTIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOCBAQAorMjAxMi0xMi0wNSAgRGFuIEJlYW0gIDxkYmVhbUBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgSFRNTEZvcm1FbGVtZW50I3JlcXVlc3RBdXRvY29tcGxldGUoKSBzaG91
bGQgcmVxdWlyZSBhIHVzZXIgYWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDIzMjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGRpc3BhdGNoZXMgYW4gYXV0b2NvbXBsZXRlZXJy
b3Igd2hlbiBIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RBdXRvY29tcGxldGUoKSBpcyBjYWxsZWQg
d2hpbGUgbm90IHByb2Nlc3NpbmcKKyAgICAgICAgYSB1c2VyIGdlc3R1cmUuCisKKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2Zvcm0tcmVxdWVzdC1hdXRvY29tcGxldGUuaHRtbDoKKworICAgICAgICBB
ZGRlZCBhIHRlc3QgdG8gZW5zdXJlIHRoYXQgZGlzcGF0Y2hpbmcgYSBjYWxsIHRvIEhUTUxGb3Jt
RWxlbWVudCNyZXF1ZXN0QXV0b2NvbXBsZXRlKCkgaW4gYSBzZXRUaW1lb3V0KCkgKHdoaWNoIHdp
bGwKKyAgICAgICAgbmV2ZXIgYmUgYSB1c2VyIGdlc3R1cmUpIGFsd2F5cyBmYWlscy4KKwogMjAx
Mi0xMi0wNCAgRW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCwgbWFyayBmYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L2luZXJ0Q29udGVudHMu
aHRtbCBhcyBmbGFreSBvbiBtYWMgZGVidWcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2Zvcm0tcmVxdWVzdC1hdXRvY29tcGxldGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZm9ybS1yZXF1ZXN0LWF1dG9jb21wbGV0ZS5odG1sCmluZGV4IDA2NjVkMDk2YjBhMGE4
NDk1MTk5MzQzMGRjMDEwZTI1ZGI2YWJiZWMuLjA2NmQ2ZDIyM2M1MWY3ZWNkYTkwNDc3Mzc5ODAx
MWJjY2MyMGMyOTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1yZXF1
ZXN0LWF1dG9jb21wbGV0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1y
ZXF1ZXN0LWF1dG9jb21wbGV0ZS5odG1sCkBAIC01NSw2ICs1NSwyMCBAQCBmdW5jdGlvbiBjaGVj
a0R5bmFtaWNBdHRyaWJ1dGVzKCkKICAgICBmb3JtLnJlcXVlc3RBdXRvY29tcGxldGUoKTsKIH0K
IAorZnVuY3Rpb24gY2hlY2tOb25Vc2VyR2VzdHVyZSgpCit7CisgICAgbnVtRXJyb3JzRXhwZWN0
ZWQgKz0gMTsKKworICAgIHZhciBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZm9ybScp
OworICAgIGNoZWNrRm9yRW51bWVyYWJsZVByb3BlcnRpZXMoZm9ybSk7CisgICAgZm9ybS5vbmF1
dG9jb21wbGV0ZWVycm9yID0gb25FcnJvcjsKKworICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKQor
ICAgIHsKKyAgICAgICAgZm9ybS5yZXF1ZXN0QXV0b2NvbXBsZXRlKCk7CisgICAgfSwgMCk7Cit9
CisKIGZ1bmN0aW9uIG9uRXJyb3IoKQogewogICAgIG51bUVycm9ycyArPSAxOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177925</attachid>
            <date>2012-12-05 21:32:12 -0800</date>
            <delta_ts>2012-12-05 22:18:26 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-102320-20121205212937.patch</filename>
            <type>text/plain</type>
            <size>3415</size>
            <attacher name="Dan Beam">dbeam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NzU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzI1NDlkODMzYmZkOTRj
MTRjOGZhYjgzYzEwYTJkNWJkN2IyZGVhOS4uNDQwOTEyZDRkMGVlYmU1YTc5ODg5MzU3NjE0ZmJi
OGMwMTVjMzA1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEyLTA1ICBEYW4g
QmVhbSAgPGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBIVE1MRm9ybUVsZW1lbnQjcmVx
dWVzdEF1dG9jb21wbGV0ZSgpIHNob3VsZCByZXF1aXJlIGEgdXNlciBhY3Rpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjMyMAorCisgICAgICAg
IFJldmlld2VkIGJ5IEtlbnQgVGFtdXJhLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZGlzcGF0Y2hl
cyBhbiBhdXRvY29tcGxldGVlcnJvciB3aGVuIEhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9j
b21wbGV0ZSgpIGlzIGNhbGxlZCB3aGlsZSBub3QgcHJvY2Vzc2luZworICAgICAgICBhIHVzZXIg
Z2VzdHVyZS4KKworICAgICAgICAqIGZhc3QvZm9ybXMvZm9ybS1yZXF1ZXN0LWF1dG9jb21wbGV0
ZS5odG1sIGlzIHVwZGF0ZWQuCisKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RBdXRvY29tcGxldGUp
OgorCisgICAgICAgIEFzeW5jaHJvbm91c2x5IGRpc3BhdGNoIGFuIGF1dG9jb21wbGV0ZSBlcnJv
ciB3aGVuIG5vdCBwcm9jZXNzaW5nIGEgdXNlciBhY3Rpb24gd2hlbgorICAgICAgICBIVE1MRm9y
bUVsZW1lbnQjcmVxdWVzdEF1dG9jb21wbGV0ZSgpIGlzIGludm9rZWQuCisKIDIwMTItMTItMDUg
IEp1c3RpbiBOb3Zvc2FkICA8anVub3ZAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbc2tpYV0gSW1w
cm92ZSBwZXJmb3JtYW5jZSBvZiBHcmFwaGljc0NvbnRleHQ6OmNyZWF0ZUNvbXBhdGlibGVCdWZm
ZXIgYnkgdXNpbmcgU2tEZXZpY2U6Y3JlYXRlQ29tcGF0aWJsZURldmljZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IGQyYzRjZDEzZmE1NDY5YTNmODVjNDQyNTA0
ZjFhODFlMTI4YTU3YTguLjk0OTBlZGRkNzZmMzJkZTI1YmJkMTAwZGYxN2M4ZmNkMTQ0Y2QzODQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTM5Nyw3ICszOTcs
NyBAQCB2b2lkIEhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9jb21wbGV0ZSgpCiAgICAgaWYg
KCFmcmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFzaG91bGRBdXRvY29tcGxldGUo
KSkgeworICAgIGlmICghc2hvdWxkQXV0b2NvbXBsZXRlKCkgfHwgIVNjcmlwdENvbnRyb2xsZXI6
OnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpKSB7CiAgICAgICAgIGZpbmlzaFJlcXVlc3RBdXRvY29t
cGxldGUoQXV0b2NvbXBsZXRlUmVzdWx0RXJyb3IpOwogICAgICAgICByZXR1cm47CiAgICAgfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDJlMmY5NzI0MDc1ZTUzNjE0MWMzZDVjOTU1MjJmMmY5MDUzYmQzOWQuLjM4NzExZDkx
YWQ5NTI1YmYxYTdjMmExY2EyYTBmZDEwZTAwMzU1ZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAor
MjAxMi0xMi0wNSAgRGFuIEJlYW0gIDxkYmVhbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRN
TEZvcm1FbGVtZW50I3JlcXVlc3RBdXRvY29tcGxldGUoKSBzaG91bGQgcmVxdWlyZSBhIHVzZXIg
YWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDIzMjAKKworICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KKworICAgICAgICBUaGlz
IHBhdGNoIGRpc3BhdGNoZXMgYW4gYXV0b2NvbXBsZXRlZXJyb3Igd2hlbiBIVE1MRm9ybUVsZW1l
bnQ6OnJlcXVlc3RBdXRvY29tcGxldGUoKSBpcyBjYWxsZWQgd2hpbGUgbm90IHByb2Nlc3NpbmcK
KyAgICAgICAgYSB1c2VyIGdlc3R1cmUuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2Zvcm0tcmVx
dWVzdC1hdXRvY29tcGxldGUuaHRtbDoKKworICAgICAgICBBZGRlZCBhIHRlc3QgdG8gZW5zdXJl
IHRoYXQgZGlzcGF0Y2hpbmcgYSBjYWxsIHRvIEhUTUxGb3JtRWxlbWVudCNyZXF1ZXN0QXV0b2Nv
bXBsZXRlKCkgaW4gYSBzZXRUaW1lb3V0KCkgKHdoaWNoIHdpbGwKKyAgICAgICAgbmV2ZXIgYmUg
YSB1c2VyIGdlc3R1cmUpIGFsd2F5cyBmYWlscy4KKwogMjAxMi0xMi0wNSAgTGVvIFlhbmcgIDxs
ZW95YW5nQHJpbS5jb20+CiAKICAgICAgICAgRXh0cmEgc3BhY2UgaW4gZmFzdC9jc3MvaW1hZ2Ut
cmVzb2x1dGlvbi9pbWFnZS1yZXNvbHV0aW9uLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZm9ybS1yZXF1ZXN0LWF1dG9jb21wbGV0ZS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLmh0bWwKaW5kZXggMDY2NWQwOTZi
MGEwYTg0OTUxOTkzNDMwZGMwMTBlMjVkYjZhYmJlYy4uMDY2ZDZkMjIzYzUxZjdlY2RhOTA0Nzcz
Nzk4MDExYmNjYzIwYzI5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3Jt
LXJlcXVlc3QtYXV0b2NvbXBsZXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9m
b3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLmh0bWwKQEAgLTU1LDYgKzU1LDIwIEBAIGZ1bmN0aW9u
IGNoZWNrRHluYW1pY0F0dHJpYnV0ZXMoKQogICAgIGZvcm0ucmVxdWVzdEF1dG9jb21wbGV0ZSgp
OwogfQogCitmdW5jdGlvbiBjaGVja05vblVzZXJHZXN0dXJlKCkKK3sKKyAgICBudW1FcnJvcnNF
eHBlY3RlZCArPSAxOworCisgICAgdmFyIGZvcm0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdm
b3JtJyk7CisgICAgY2hlY2tGb3JFbnVtZXJhYmxlUHJvcGVydGllcyhmb3JtKTsKKyAgICBmb3Jt
Lm9uYXV0b2NvbXBsZXRlZXJyb3IgPSBvbkVycm9yOworCisgICAgc2V0VGltZW91dChmdW5jdGlv
bigpCisgICAgeworICAgICAgICBmb3JtLnJlcXVlc3RBdXRvY29tcGxldGUoKTsKKyAgICB9LCAw
KTsKK30KKwogZnVuY3Rpb24gb25FcnJvcigpCiB7CiAgICAgbnVtRXJyb3JzICs9IDE7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177931</attachid>
            <date>2012-12-05 22:08:18 -0800</date>
            <delta_ts>2012-12-05 22:18:02 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-102320-20121205220542.patch</filename>
            <type>text/plain</type>
            <size>3413</size>
            <attacher name="Dan Beam">dbeam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NzU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzI1NDlkODMzYmZkOTRj
MTRjOGZhYjgzYzEwYTJkNWJkN2IyZGVhOS4uZGZkNzE1NTNmNDhiNzdjZTU4OWY5MDFmMDdlMDhl
YzU2YTU1YWE5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEyLTA1ICBEYW4g
QmVhbSAgPGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBIVE1MRm9ybUVsZW1lbnQjcmVx
dWVzdEF1dG9jb21wbGV0ZSgpIHNob3VsZCByZXF1aXJlIGEgdXNlciBhY3Rpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjMyMAorCisgICAgICAg
IFJldmlld2VkIGJ5IEtlbnQgVGFtdXJhLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZGlzcGF0Y2hl
cyBhbiBhdXRvY29tcGxldGVlcnJvciB3aGVuIEhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9j
b21wbGV0ZSgpIGlzIGNhbGxlZCB3aGlsZSBub3QgcHJvY2Vzc2luZworICAgICAgICBhIHVzZXIg
Z2VzdHVyZS4KKworICAgICAgICBmYXN0L2Zvcm1zL2Zvcm0tcmVxdWVzdC1hdXRvY29tcGxldGUu
aHRtbCBpcyB1cGRhdGVkLgorCisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50OjpyZXF1ZXN0QXV0b2NvbXBsZXRlKToK
KworICAgICAgICBBc3luY2hyb25vdXNseSBkaXNwYXRjaCBhbiBhdXRvY29tcGxldGUgZXJyb3Ig
d2hlbiBub3QgcHJvY2Vzc2luZyBhIHVzZXIgYWN0aW9uIHdoZW4KKyAgICAgICAgSFRNTEZvcm1F
bGVtZW50I3JlcXVlc3RBdXRvY29tcGxldGUoKSBpcyBpbnZva2VkLgorCiAyMDEyLTEyLTA1ICBK
dXN0aW4gTm92b3NhZCAgPGp1bm92QGdvb2dsZS5jb20+CiAKICAgICAgICAgW3NraWFdIEltcHJv
dmUgcGVyZm9ybWFuY2Ugb2YgR3JhcGhpY3NDb250ZXh0OjpjcmVhdGVDb21wYXRpYmxlQnVmZmVy
IGJ5IHVzaW5nIFNrRGV2aWNlOmNyZWF0ZUNvbXBhdGlibGVEZXZpY2UKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZvcm1FbGVtZW50LmNwcAppbmRleCBkMmM0Y2QxM2ZhNTQ2OWEzZjg1YzQ0MjUwNGYx
YTgxZTEyOGE1N2E4Li45NDkwZWRkZDc2ZjMyZGUyNWJiZDEwMGRmMTdjOGZjZDE0NGNkMzg0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC0zOTcsNyArMzk3LDcg
QEAgdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RBdXRvY29tcGxldGUoKQogICAgIGlmICgh
ZnJhbWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghc2hvdWxkQXV0b2NvbXBsZXRlKCkp
IHsKKyAgICBpZiAoIXNob3VsZEF1dG9jb21wbGV0ZSgpIHx8ICFTY3JpcHRDb250cm9sbGVyOjpw
cm9jZXNzaW5nVXNlckdlc3R1cmUoKSkgewogICAgICAgICBmaW5pc2hSZXF1ZXN0QXV0b2NvbXBs
ZXRlKEF1dG9jb21wbGV0ZVJlc3VsdEVycm9yKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCAyZTJmOTcyNDA3NWU1MzYxNDFjM2Q1Yzk1NTIyZjJmOTA1M2JkMzlkLi4zODcxMWQ5MWFk
OTUyNWJmMWE3YzJhMWNhMmEwZmQxMGUwMDM1NWQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIw
MTItMTItMDUgIERhbiBCZWFtICA8ZGJlYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEhUTUxG
b3JtRWxlbWVudCNyZXF1ZXN0QXV0b2NvbXBsZXRlKCkgc2hvdWxkIHJlcXVpcmUgYSB1c2VyIGFj
dGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAy
MzIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCisKKyAgICAgICAgVGhpcyBw
YXRjaCBkaXNwYXRjaGVzIGFuIGF1dG9jb21wbGV0ZWVycm9yIHdoZW4gSFRNTEZvcm1FbGVtZW50
OjpyZXF1ZXN0QXV0b2NvbXBsZXRlKCkgaXMgY2FsbGVkIHdoaWxlIG5vdCBwcm9jZXNzaW5nCisg
ICAgICAgIGEgdXNlciBnZXN0dXJlLgorCisgICAgICAgICogZmFzdC9mb3Jtcy9mb3JtLXJlcXVl
c3QtYXV0b2NvbXBsZXRlLmh0bWw6CisKKyAgICAgICAgQWRkZWQgYSB0ZXN0IHRvIGVuc3VyZSB0
aGF0IGRpc3BhdGNoaW5nIGEgY2FsbCB0byBIVE1MRm9ybUVsZW1lbnQjcmVxdWVzdEF1dG9jb21w
bGV0ZSgpIGluIGEgc2V0VGltZW91dCgpICh3aGljaCB3aWxsCisgICAgICAgIG5ldmVyIGJlIGEg
dXNlciBnZXN0dXJlKSBhbHdheXMgZmFpbHMuCisKIDIwMTItMTItMDUgIExlbyBZYW5nICA8bGVv
eWFuZ0ByaW0uY29tPgogCiAgICAgICAgIEV4dHJhIHNwYWNlIGluIGZhc3QvY3NzL2ltYWdlLXJl
c29sdXRpb24vaW1hZ2UtcmVzb2x1dGlvbi5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2Zvcm0tcmVxdWVzdC1hdXRvY29tcGxldGUuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZm9ybS1yZXF1ZXN0LWF1dG9jb21wbGV0ZS5odG1sCmluZGV4IDA2NjVkMDk2YjBh
MGE4NDk1MTk5MzQzMGRjMDEwZTI1ZGI2YWJiZWMuLjA2NmQ2ZDIyM2M1MWY3ZWNkYTkwNDc3Mzc5
ODAxMWJjY2MyMGMyOTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1y
ZXF1ZXN0LWF1dG9jb21wbGV0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9y
bS1yZXF1ZXN0LWF1dG9jb21wbGV0ZS5odG1sCkBAIC01NSw2ICs1NSwyMCBAQCBmdW5jdGlvbiBj
aGVja0R5bmFtaWNBdHRyaWJ1dGVzKCkKICAgICBmb3JtLnJlcXVlc3RBdXRvY29tcGxldGUoKTsK
IH0KIAorZnVuY3Rpb24gY2hlY2tOb25Vc2VyR2VzdHVyZSgpCit7CisgICAgbnVtRXJyb3JzRXhw
ZWN0ZWQgKz0gMTsKKworICAgIHZhciBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZm9y
bScpOworICAgIGNoZWNrRm9yRW51bWVyYWJsZVByb3BlcnRpZXMoZm9ybSk7CisgICAgZm9ybS5v
bmF1dG9jb21wbGV0ZWVycm9yID0gb25FcnJvcjsKKworICAgIHNldFRpbWVvdXQoZnVuY3Rpb24o
KQorICAgIHsKKyAgICAgICAgZm9ybS5yZXF1ZXN0QXV0b2NvbXBsZXRlKCk7CisgICAgfSwgMCk7
Cit9CisKIGZ1bmN0aW9uIG9uRXJyb3IoKQogewogICAgIG51bUVycm9ycyArPSAxOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>