<?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>31155</bug_id>
          
          <creation_ts>2009-11-05 01:06:36 -0800</creation_ts>
          <short_desc>[GStreamer] Implement setPreservesPitch()</short_desc>
          <delta_ts>2013-01-29 02:48:23 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>103898</dependson>
    
    <dependson>108175</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Philippe Normand">pnormand</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>gustavo</cc>
    
    <cc>menard</cc>
    
    <cc>mrobinson</cc>
    
    <cc>philn</cc>
    
    <cc>slomo</cc>
    
    <cc>vjaquez</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>160759</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2009-11-05 01:06:36 -0800</bug_when>
    <thetext>We can change playback rate and still keep the normal pitch with GStreamer ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160764</commentid>
    <comment_count>1</comment_count>
    <who name="Sebastian Dröge (slomo)">slomo</who>
    <bug_when>2009-11-05 01:18:28 -0800</bug_when>
    <thetext>Note that this is a non-trivial task and it depends on what exactly the setPreservesPitch() semantics are.

Should it keep the pitch by playing audio at normal speed and skipping every 200ms or by doing complex signal processing to change playback speed of the audio and then adjusting all frequencies?

See http://cgit.freedesktop.org/gstreamer/gstreamer/plain/docs/design/part-trickmodes.txt for some ideas for the first (search for SKIP), that&apos;s not implemented yet though.

The second can be done by using the scaletempo or pitch plugins in the audio pipeline... but: they need quite some CPU and the pitch plugin uses a GPL licensed library</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193336</commentid>
    <comment_count>2</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-02-24 06:57:13 -0800</bug_when>
    <thetext>Mac port uses that: http://developer.apple.com/Mac/library/documentation/QuickTime/Reference/QTKitFramework/Classes/QTMovie_Class/Reference/Reference.html#//apple_ref/c/data/QTMovieRateChangesPreservePitchAttribute

&quot;
When the playback rate is not unity, audio must be resampled in order to play at the new rate. The default resampling affects the pitch of the audio (for example, playing at 2x speed raises the pitch by an octave, 1/2x lowers an octave). If this property is set on the movie, an alternative algorithm is used, which alters the speed without changing the pitch. Since this is more computationally expensive, this property may be silently ignored on some slow CPUs.
&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756414</commentid>
    <comment_count>3</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-11-01 10:24:05 -0700</bug_when>
    <thetext>Some notes:

- scaletempo is soon moving to gst-plugins-good. We should give it a try
- if pitch preserving is enabled set audio-sink to scaletempo ! audioconvert ! audioresample ! autoaudiosink
- create playbin in ::load(), not in player constructor. So we know what to set as audio-sink because ::setPreservesPitch() is called before ::load() in the media element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764142</commentid>
    <comment_count>4</comment_count>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2012-11-12 01:13:26 -0800</bug_when>
    <thetext>adding me in the CC list</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807154</commentid>
    <comment_count>5</comment_count>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2013-01-15 03:01:58 -0800</bug_when>
    <thetext>Ccing Eric Carlson.

Eric, could you shed a light on how to test this feature?

I&apos;ve a patch but I&apos;m not sure how to test it.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807252</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-01-15 06:56:39 -0800</bug_when>
    <thetext>I have actually been thinking of removing this non-standard attribute. I think preserving pitch during fast play is a useful behavior but it seems that it should be the default behavior on ports that can support it,  and I don&apos;t think it is terribly useful for a script to be able to turn it off.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807330</commentid>
    <comment_count>7</comment_count>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2013-01-15 08:25:07 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; I have actually been thinking of removing this non-standard attribute. I think preserving pitch during fast play is a useful behavior but it seems that it should be the default behavior on ports that can support it,  and I don&apos;t think it is terribly useful for a script to be able to turn it of

for what it&apos;s worth, here&apos;s the discussion in mozilla on this regard, and it seems they are adopting webkit&apos;s approach.

https://bugzilla.mozilla.org/show_bug.cgi?id=495040</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807349</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-01-15 08:52:41 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; I have actually been thinking of removing this non-standard attribute. I think preserving pitch during fast play is a useful behavior but it seems that it should be the default behavior on ports that can support it,  and I don&apos;t think it is terribly useful for a script to be able to turn it of
&gt; 
&gt; for what it&apos;s worth, here&apos;s the discussion in mozilla on this regard, and it seems they are adopting webkit&apos;s approach.
&gt; 
&gt; https://bugzilla.mozilla.org/show_bug.cgi?id=495040

Interesting, I missed that they added mozPreservesPitch. Thanks!

Back to your original question about how to test this: the only thing I can think of is to look at the audio data itself with the WebAudio API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807350</commentid>
    <comment_count>9</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2013-01-15 08:54:49 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; (In reply to comment #6)
&gt; &gt; &gt; I have actually been thinking of removing this non-standard attribute. I think preserving pitch during fast play is a useful behavior but it seems that it should be the default behavior on ports that can support it,  and I don&apos;t think it is terribly useful for a script to be able to turn it of
&gt; &gt; 
&gt; &gt; for what it&apos;s worth, here&apos;s the discussion in mozilla on this regard, and it seems they are adopting webkit&apos;s approach.
&gt; &gt; 
&gt; &gt; https://bugzilla.mozilla.org/show_bug.cgi?id=495040
&gt; 
&gt; Interesting, I missed that they added mozPreservesPitch. Thanks!
&gt; 
&gt; Back to your original question about how to test this: the only thing I can think of is to look at the audio data itself with the WebAudio API.

Good idea! You could use a MediaElementSource node :)
See also bug 78883</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812171</commentid>
    <comment_count>10</comment_count>
      <attachid>183789</attachid>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2013-01-21 08:11:56 -0800</bug_when>
    <thetext>Created attachment 183789
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812188</commentid>
    <comment_count>11</comment_count>
      <attachid>183789</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2013-01-21 08:25:54 -0800</bug_when>
    <thetext>Comment on attachment 183789
Patch

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

&gt; Source/WebCore/ChangeLog:6
&gt; +        It uses the gstreamer element scaletempo, and creates a new audio-sink

What is It? :) Maybe rephrase a bit a long the lines of &quot;Enable audio pitch preservation by using the scaletempo GStreamer element when required by the MediaPlayer&quot; or something similar

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

The commit-queue will not like the OOPS here. Can you please instead a layout test shall be implemented at some point using WebAudio APIs as Eric suggested?

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1909
&gt; +    // Construct audio sink if pitch preserving is enabled

Missing dot at EOL

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1913
&gt; +    GError* error = 0;

Maybe use a GOwnPtr&lt;GError&gt; here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814269</commentid>
    <comment_count>12</comment_count>
      <attachid>184254</attachid>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2013-01-23 09:40:07 -0800</bug_when>
    <thetext>Created attachment 184254
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814277</commentid>
    <comment_count>13</comment_count>
      <attachid>184254</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2013-01-23 09:46:22 -0800</bug_when>
    <thetext>Comment on attachment 184254
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1815
&gt; +    GstElement* convert = gst_element_factory_make(&quot;audioconvert&quot;, 0);

I think we can safely assume that the elements shipped in gstreamer -core and -plugins-base are available at least. For scaletempo I agree it makes sense to check its presence but the rest, it&apos;s a bit overkill, IMHO :)

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1829
&gt; +        GST_WARNING(&quot;Failed to create audioresample&quot;);

C/P error here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814293</commentid>
    <comment_count>14</comment_count>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2013-01-23 10:03:40 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 184254 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=184254&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1815
&gt; &gt; +    GstElement* convert = gst_element_factory_make(&quot;audioconvert&quot;, 0);
&gt; 
&gt; I think we can safely assume that the elements shipped in gstreamer -core and -plugins-base are available at least. For scaletempo I agree it makes sense to check its presence but the rest, it&apos;s a bit overkill, IMHO :)
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1829
&gt; &gt; +        GST_WARNING(&quot;Failed to create audioresample&quot;);
&gt; 
&gt; C/P error here

Ok. I&apos;ll remove the checks for the elements, except the scaletempo one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814334</commentid>
    <comment_count>15</comment_count>
      <attachid>184260</attachid>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2013-01-23 10:34:13 -0800</bug_when>
    <thetext>Created attachment 184260
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814462</commentid>
    <comment_count>16</comment_count>
      <attachid>184260</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-23 12:04:51 -0800</bug_when>
    <thetext>Comment on attachment 184260
Patch

Attachment 184260 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/16084257</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814511</commentid>
    <comment_count>17</comment_count>
      <attachid>184260</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-23 12:36:39 -0800</bug_when>
    <thetext>Comment on attachment 184260
Patch

Attachment 184260 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/16076344</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815184</commentid>
    <comment_count>18</comment_count>
      <attachid>184260</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-01-24 00:37:35 -0800</bug_when>
    <thetext>Comment on attachment 184260
Patch

Attachment 184260 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/16075588</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815191</commentid>
    <comment_count>19</comment_count>
      <attachid>184260</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2013-01-24 00:46:56 -0800</bug_when>
    <thetext>Comment on attachment 184260
Patch

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

What&apos;s going on with the EWS?

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1828
&gt; +    GRefPtr&lt;GstPad&gt; pad = gst_element_get_static_pad(scale, &quot;sink&quot;);

You need to adopt the pointer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815450</commentid>
    <comment_count>20</comment_count>
      <attachid>184489</attachid>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2013-01-24 07:25:22 -0800</bug_when>
    <thetext>Created attachment 184489
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815460</commentid>
    <comment_count>21</comment_count>
      <attachid>184489</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2013-01-24 07:41:24 -0800</bug_when>
    <thetext>Comment on attachment 184489
Patch

Looks good! I&apos;ll cq+ once the bubbles turn green</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815494</commentid>
    <comment_count>22</comment_count>
      <attachid>184489</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-24 08:18:11 -0800</bug_when>
    <thetext>Comment on attachment 184489
Patch

Clearing flags on attachment: 184489

Committed r140685: &lt;http://trac.webkit.org/changeset/140685&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815495</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-24 08:18:16 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183789</attachid>
            <date>2013-01-21 08:11:56 -0800</date>
            <delta_ts>2013-01-23 09:40:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-31155-20130121160851.patch</filename>
            <type>text/plain</type>
            <size>3942</size>
            <attacher name="Víctor M. Jáquez L.">vjaquez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwMzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzA5ZjkzNTIyODdjZDZi
NjQ3YjEyNmRiNGJmOWQzYzBlMGQ0ZDdhMy4uMWRmYWJlMmJiOWNlOWRhNzY2OTk1YjM5ZWMyNzAy
NWE2YTg4ZjAyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTAxLTIxICBWaWN0
b3IgSmFxdWV6ICA8dmphcXVlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHU3RyZWFtZXJdIElt
cGxlbWVudCBzZXRQcmVzZXJ2ZXNQaXRjaCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zMTE1NQorCisgICAgICAgIEl0IHVzZXMgdGhlIGdzdHJlYW1l
ciBlbGVtZW50IHNjYWxldGVtcG8sIGFuZCBjcmVhdGVzIGEgbmV3IGF1ZGlvLXNpbmsKKyAgICAg
ICAgaWYgdGhlIHBpdGNoIHByZXNlcnZhdGlvbiBpcyBlbmFibGVkLgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgor
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXI6OnNldFByZXNlcnZlc1BpdGNoKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIu
aDoKKyAgICAgICAgKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcik6CisKIDIwMTMtMDEtMjEg
IEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBEbyBub3QgZGlzcGF0Y2ggbW91c2Vtb3ZlIHdoZW4gZW11bGF0aW5nIHRvdWNo
IGV2ZW50IGFuZCBubyB0b3VjaCBpcyBhY3RpdmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggNzRlNTA2MjU1ZGMyODRlNzdmZDc2NmNhMmJi
ZmQ1ZjdhZDQzNDVjZi4uMThjZDVkZjQ5NGMyNjg5OWFmOTdmM2RhNTRjMWE5NzIwYWVlMjQ0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAg
LTczNyw2ICs3MzcsMTEgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldFJh
dGUoZmxvYXQgcmF0ZSkKICAgICAgICAgZ19vYmplY3Rfc2V0KG1fcGxheUJpbiwgIm11dGUiLCBt
dXRlLCBOVUxMKTsKIH0KIAordm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldFBy
ZXNlcnZlc1BpdGNoKGJvb2wgcHJlc2VydmVzUGl0Y2gpCit7CisgICAgbV9wcmVzZXJ2ZXNQaXRj
aCA9IHByZXNlcnZlc1BpdGNoOworfQorCiBNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlIE1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bmV0d29ya1N0YXRlKCkgY29uc3QKIHsKICAgICByZXR1
cm4gbV9uZXR3b3JrU3RhdGU7CkBAIC0xODI0LDcgKzE4MjksNyBAQCB2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlR1NUUGxheUJpbigpCiAKIAogI2lmbmRlZiBHU1RfQVBJ
X1ZFUlNJT05fMQotICAgIG1fdmlkZW9TaW5rQmluID0gZ3N0X2Jpbl9uZXcoInNpbmsiKTsKKyAg
ICBtX3ZpZGVvU2lua0JpbiA9IGdzdF9iaW5fbmV3KCJ2aWRlby1zaW5rIik7CiAKICAgICBHc3RF
bGVtZW50KiB2aWRlb1RlZSA9IGdzdF9lbGVtZW50X2ZhY3RvcnlfbWFrZSgidGVlIiwgInZpZGVv
VGVlIik7CiAgICAgR3N0RWxlbWVudCogcXVldWUgPSBnc3RfZWxlbWVudF9mYWN0b3J5X21ha2Uo
InF1ZXVlIiwgMCk7CkBAIC0xOTAxLDYgKzE5MDYsMjIgQEAgdm9pZCBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXI6OmNyZWF0ZUdTVFBsYXlCaW4oKQogICAgIGlmICh2aWRlb1NpbmtQYWQpCiAg
ICAgICAgIGdfc2lnbmFsX2Nvbm5lY3QodmlkZW9TaW5rUGFkLmdldCgpLCAibm90aWZ5OjpjYXBz
IiwgR19DQUxMQkFDSyhtZWRpYVBsYXllclByaXZhdGVWaWRlb1NpbmtDYXBzQ2hhbmdlZENhbGxi
YWNrKSwgdGhpcyk7CiAKKyAgICAvLyBDb25zdHJ1Y3QgYXVkaW8gc2luayBpZiBwaXRjaCBwcmVz
ZXJ2aW5nIGlzIGVuYWJsZWQKKyAgICBpZiAoIW1fcHJlc2VydmVzUGl0Y2gpCisgICAgICAgIHJl
dHVybjsKKworICAgIEdFcnJvciogZXJyb3IgPSAwOworICAgIEdzdEVsZW1lbnQqIGF1ZGlvU2lu
ayA9IGdzdF9wYXJzZV9iaW5fZnJvbV9kZXNjcmlwdGlvbigic2NhbGV0ZW1wbyAhIGF1ZGlvY29u
dmVydCAhIGF1ZGlvcmVzYW1wbGUgISBhdXRvYXVkaW9zaW5rIiwgVFJVRSwgJmVycm9yKTsKKyAg
ICBpZiAoZXJyb3IpIHsKKyAgICAgICAgTE9HX01FRElBX01FU1NBR0UoIkVycm9yIGNyZWF0aW5n
IHRoZSBhdWRpbyBzaW5rICVkOiAlcyIsIGVycm9yLT5jb2RlLCBlcnJvci0+bWVzc2FnZSk7Cisg
ICAgICAgIGdfZXJyb3JfZnJlZShlcnJvcik7CisgICAgICAgIGlmIChhdWRpb1NpbmspCisgICAg
ICAgICAgICBnc3Rfb2JqZWN0X3VucmVmKGF1ZGlvU2luayk7CisKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIGdfb2JqZWN0X3NldChtX3BsYXlCaW4sICJhdWRpby1zaW5rIiwgYXVkaW9T
aW5rLCBOVUxMKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5oCmluZGV4IDdiZWMxNDM2YWJmNjJkYjg3YmVmN2IwYmI0M2JiY2Q4NzYwODNiY2Mu
LmYwOTRiMTg5YmUzYWZkYmE0ZGE3NDQ4OTk4ZGEwNWZkYjQzMWE2ZmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKQEAgLTcyLDYgKzcyLDcgQEAgY2xh
c3MgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyIDogcHVibGljIE1lZGlhUGxheWVyUHJpdmF0
ZUludGVyZmFjZSB7CiAgICAgICAgICAgICB2b2lkIHNlZWsoZmxvYXQpOwogCiAgICAgICAgICAg
ICB2b2lkIHNldFJhdGUoZmxvYXQpOworICAgICAgICAgICAgdm9pZCBzZXRQcmVzZXJ2ZXNQaXRj
aChib29sKTsKIAogICAgICAgICAgICAgdm9pZCBzZXRWb2x1bWUoZmxvYXQpOwogICAgICAgICAg
ICAgdm9pZCB2b2x1bWVDaGFuZ2VkKCk7CkBAIC0yMDUsNiArMjA2LDcgQEAgY2xhc3MgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyIDogcHVibGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFj
ZSB7CiAgICAgICAgICAgICBtdXRhYmxlIEludFNpemUgbV92aWRlb1NpemU7CiAgICAgICAgICAg
ICBLVVJMIG1fdXJsOwogICAgICAgICAgICAgYm9vbCBtX29yaWdpbmFsUHJlbG9hZFdhc0F1dG9B
bmRXYXNPdmVycmlkZGVuOworICAgICAgICAgICAgYm9vbCBtX3ByZXNlcnZlc1BpdGNoOwogICAg
IH07CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184254</attachid>
            <date>2013-01-23 09:40:07 -0800</date>
            <delta_ts>2013-01-23 10:34:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-31155-20130123173659.patch</filename>
            <type>text/plain</type>
            <size>5611</size>
            <attacher name="Víctor M. Jáquez L.">vjaquez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwMzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzA5ZjkzNTIyODdjZDZi
NjQ3YjEyNmRiNGJmOWQzYzBlMGQ0ZDdhMy4uZjg5YjNhNGI3Yzk1MWNlZjJiODhiYjVhN2I4YzMy
MzUwZDBmZjA5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAxLTIxICBWaWN0
b3IgSmFxdWV6ICA8dmphcXVlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHU3RyZWFtZXJdIElt
cGxlbWVudCBzZXRQcmVzZXJ2ZXNQaXRjaCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zMTE1NQorCisgICAgICAgIEVuYWJsZXMgYXVkaW8gcGl0Y2gg
cHJlc2VydmF0aW9uIGJ5IHVzaW5nIHRoZSBzY2FsZXRlbXBvIEdTdHJlYW1lcgorICAgICAgICBl
bGVtZW50IHdoZW4gcmVxdWlyZWQgYnkgdGhlIE1lZGlhUGxheWVyLgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgYnV0IGEgbGF5
b3V0IHRlc3Qgc2hhbGwgYmUgaW1wbGVtZW50ZWQgYXQgc29tZSBwb2ludAorICAgICAgICB1c2lu
ZyBXZWJBdWRpbyBBUEkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0UHJlc2VydmVzUGl0Y2gpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lci5oOgorICAgICAgICAoTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
KToKKwogMjAxMy0wMS0yMSAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IERvIG5vdCBkaXNwYXRjaCBtb3VzZW1vdmUgd2hl
biBlbXVsYXRpbmcgdG91Y2ggZXZlbnQgYW5kIG5vIHRvdWNoIGlzIGFjdGl2ZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCA3NGU1MDYyNTVk
YzI4NGU3N2ZkNzY2Y2EyYmJmZDVmN2FkNDM0NWNmLi45N2Q0OWNmNzQ5ZmQxY2YxODdjMzA0MGVk
ZTRhMTAxOTQ2MTMyNjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmNwcApAQCAtMjUxLDYgKzI1MSw3IEBAIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lcjo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiAg
ICAgLCBtX3dlYmtpdEF1ZGlvU2luaygwKQogICAgICwgbV90b3RhbEJ5dGVzKC0xKQogICAgICwg
bV9vcmlnaW5hbFByZWxvYWRXYXNBdXRvQW5kV2FzT3ZlcnJpZGRlbihmYWxzZSkKKyAgICAsIG1f
cHJlc2VydmVzUGl0Y2goZmFsc2UpCiB7CiB9CiAKQEAgLTczNyw2ICs3MzgsMTEgQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldFJhdGUoZmxvYXQgcmF0ZSkKICAgICAgICAg
Z19vYmplY3Rfc2V0KG1fcGxheUJpbiwgIm11dGUiLCBtdXRlLCBOVUxMKTsKIH0KIAordm9pZCBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldFByZXNlcnZlc1BpdGNoKGJvb2wgcHJlc2Vy
dmVzUGl0Y2gpCit7CisgICAgbV9wcmVzZXJ2ZXNQaXRjaCA9IHByZXNlcnZlc1BpdGNoOworfQor
CiBNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6
bmV0d29ya1N0YXRlKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9uZXR3b3JrU3RhdGU7CkBAIC0x
NzkxLDYgKzE3OTcsNTQgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldFBy
ZWxvYWQoTWVkaWFQbGF5ZXI6OlByZWxvYWQgcHJlbG9hZCkKICAgICB9CiB9CiAKK3ZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGVBdWRpb1NpbmsoKQoreworICAgIC8vIENv
bnN0cnVjdCBhdWRpbyBzaW5rIGlmIHBpdGNoIHByZXNlcnZpbmcgaXMgZW5hYmxlZC4KKyAgICBp
ZiAoIW1fcHJlc2VydmVzUGl0Y2gpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghbV9wbGF5
QmluKQorICAgICAgICByZXR1cm47CisKKyAgICBHc3RFbGVtZW50KiBzY2FsZSA9IGdzdF9lbGVt
ZW50X2ZhY3RvcnlfbWFrZSgic2NhbGV0ZW1wbyIsIDApOworICAgIGlmICghc2NhbGUpIHsKKyAg
ICAgICAgR1NUX1dBUk5JTkcoIkZhaWxlZCB0byBjcmVhdGUgc2NhbGV0ZW1wbyIpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgR3N0RWxlbWVudCogY29udmVydCA9IGdzdF9lbGVtZW50
X2ZhY3RvcnlfbWFrZSgiYXVkaW9jb252ZXJ0IiwgMCk7CisgICAgaWYgKCFjb252ZXJ0KSB7Cisg
ICAgICAgIEdTVF9XQVJOSU5HKCJGYWlsZWQgdG8gY3JlYXRlIGF1ZGlvY29udmVydCIpOworICAg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgR3N0RWxlbWVudCogcmVzYW1wbGUgPSBnc3RfZWxl
bWVudF9mYWN0b3J5X21ha2UoImF1ZGlvcmVzYW1wbGUiLCAwKTsKKyAgICBpZiAoIXJlc2FtcGxl
KSB7CisgICAgICAgIEdTVF9XQVJOSU5HKCJGYWlsZWQgdG8gY3JlYXRlIGF1ZGlvcmVzYW1wbGUi
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEdzdEVsZW1lbnQqIHNpbmsgPSBnc3Rf
ZWxlbWVudF9mYWN0b3J5X21ha2UoImF1dG9hdWRpb3NpbmsiLCAwKTsKKyAgICBpZiAoIXJlc2Ft
cGxlKSB7CisgICAgICAgIEdTVF9XQVJOSU5HKCJGYWlsZWQgdG8gY3JlYXRlIGF1ZGlvcmVzYW1w
bGUiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEdzdEVsZW1lbnQqIGF1ZGlvU2lu
ayA9IGdzdF9iaW5fbmV3KCJhdWRpby1zaW5rIik7CisgICAgZ3N0X2Jpbl9hZGRfbWFueShHU1Rf
QklOKGF1ZGlvU2luayksIHNjYWxlLCBjb252ZXJ0LCByZXNhbXBsZSwgc2luaywgTlVMTCk7CisK
KyAgICBpZiAoIWdzdF9lbGVtZW50X2xpbmtfbWFueShzY2FsZSwgY29udmVydCwgcmVzYW1wbGUs
IHNpbmssIE5VTEwpKSB7CisgICAgICAgIEdTVF9XQVJOSU5HKCJGYWlsZWQgdG8gbGluayBhdWRp
byBzaW5rIGVsZW1lbnRzIik7CisgICAgICAgIGdzdF9vYmplY3RfdW5yZWYoYXVkaW9TaW5rKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEdSZWZQdHI8R3N0UGFkPiBwYWQgPSBnc3Rf
ZWxlbWVudF9nZXRfc3RhdGljX3BhZChzY2FsZSwgInNpbmsiKTsKKyAgICBnc3RfZWxlbWVudF9h
ZGRfcGFkKGF1ZGlvU2luaywgZ3N0X2dob3N0X3BhZF9uZXcoInNpbmsiLCBwYWQuZ2V0KCkpKTsK
KworICAgIGdfb2JqZWN0X3NldChtX3BsYXlCaW4sICJhdWRpby1zaW5rIiwgYXVkaW9TaW5rLCBO
VUxMKTsKK30KKwogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZUdTVFBs
YXlCaW4oKQogewogICAgIEFTU0VSVCghbV9wbGF5QmluKTsKQEAgLTE4MjQsNyArMTg3OCw3IEBA
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGVHU1RQbGF5QmluKCkKIAog
CiAjaWZuZGVmIEdTVF9BUElfVkVSU0lPTl8xCi0gICAgbV92aWRlb1NpbmtCaW4gPSBnc3RfYmlu
X25ldygic2luayIpOworICAgIG1fdmlkZW9TaW5rQmluID0gZ3N0X2Jpbl9uZXcoInZpZGVvLXNp
bmsiKTsKIAogICAgIEdzdEVsZW1lbnQqIHZpZGVvVGVlID0gZ3N0X2VsZW1lbnRfZmFjdG9yeV9t
YWtlKCJ0ZWUiLCAidmlkZW9UZWUiKTsKICAgICBHc3RFbGVtZW50KiBxdWV1ZSA9IGdzdF9lbGVt
ZW50X2ZhY3RvcnlfbWFrZSgicXVldWUiLCAwKTsKQEAgLTE5MDEsNiArMTk1NSw3IEBAIHZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGVHU1RQbGF5QmluKCkKICAgICBpZiAo
dmlkZW9TaW5rUGFkKQogICAgICAgICBnX3NpZ25hbF9jb25uZWN0KHZpZGVvU2lua1BhZC5nZXQo
KSwgIm5vdGlmeTo6Y2FwcyIsIEdfQ0FMTEJBQ0sobWVkaWFQbGF5ZXJQcml2YXRlVmlkZW9TaW5r
Q2Fwc0NoYW5nZWRDYWxsYmFjayksIHRoaXMpOwogCisgICAgY3JlYXRlQXVkaW9TaW5rKCk7CiB9
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAppbmRl
eCA3YmVjMTQzNmFiZjYyZGI4N2JlZjdiMGJiNDNiYmNkODc2MDgzYmNjLi5kZTA0ZWNkMmM1NjE0
OTVhODgxMDk1YzEwNDkxYmVmY2EwYmU1ZDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lci5oCkBAIC03Miw2ICs3Miw3IEBAIGNsYXNzIE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lciA6IHB1YmxpYyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2Ugewog
ICAgICAgICAgICAgdm9pZCBzZWVrKGZsb2F0KTsKIAogICAgICAgICAgICAgdm9pZCBzZXRSYXRl
KGZsb2F0KTsKKyAgICAgICAgICAgIHZvaWQgc2V0UHJlc2VydmVzUGl0Y2goYm9vbCk7CiAKICAg
ICAgICAgICAgIHZvaWQgc2V0Vm9sdW1lKGZsb2F0KTsKICAgICAgICAgICAgIHZvaWQgdm9sdW1l
Q2hhbmdlZCgpOwpAQCAtMTM3LDYgKzEzOCw3IEBAIGNsYXNzIE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lciA6IHB1YmxpYyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UgewogICAgICAgICAg
ICAgc3RhdGljIGJvb2wgaXNBdmFpbGFibGUoKTsKIAogICAgICAgICAgICAgdm9pZCB1cGRhdGVB
dWRpb1NpbmsoKTsKKyAgICAgICAgICAgIHZvaWQgY3JlYXRlQXVkaW9TaW5rKCk7CiAKICAgICAg
ICAgICAgIGZsb2F0IHBsYXliYWNrUG9zaXRpb24oKSBjb25zdDsKIApAQCAtMjA1LDYgKzIwNyw3
IEBAIGNsYXNzIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lciA6IHB1YmxpYyBNZWRpYVBsYXll
clByaXZhdGVJbnRlcmZhY2UgewogICAgICAgICAgICAgbXV0YWJsZSBJbnRTaXplIG1fdmlkZW9T
aXplOwogICAgICAgICAgICAgS1VSTCBtX3VybDsKICAgICAgICAgICAgIGJvb2wgbV9vcmlnaW5h
bFByZWxvYWRXYXNBdXRvQW5kV2FzT3ZlcnJpZGRlbjsKKyAgICAgICAgICAgIGJvb2wgbV9wcmVz
ZXJ2ZXNQaXRjaDsKICAgICB9OwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184260</attachid>
            <date>2013-01-23 10:34:13 -0800</date>
            <delta_ts>2013-01-24 07:25:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-31155-20130123183105.patch</filename>
            <type>text/plain</type>
            <size>5303</size>
            <attacher name="Víctor M. Jáquez L.">vjaquez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwMzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzA5ZjkzNTIyODdjZDZi
NjQ3YjEyNmRiNGJmOWQzYzBlMGQ0ZDdhMy4uZjg5YjNhNGI3Yzk1MWNlZjJiODhiYjVhN2I4YzMy
MzUwZDBmZjA5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAxLTIxICBWaWN0
b3IgSmFxdWV6ICA8dmphcXVlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHU3RyZWFtZXJdIElt
cGxlbWVudCBzZXRQcmVzZXJ2ZXNQaXRjaCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zMTE1NQorCisgICAgICAgIEVuYWJsZXMgYXVkaW8gcGl0Y2gg
cHJlc2VydmF0aW9uIGJ5IHVzaW5nIHRoZSBzY2FsZXRlbXBvIEdTdHJlYW1lcgorICAgICAgICBl
bGVtZW50IHdoZW4gcmVxdWlyZWQgYnkgdGhlIE1lZGlhUGxheWVyLgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgYnV0IGEgbGF5
b3V0IHRlc3Qgc2hhbGwgYmUgaW1wbGVtZW50ZWQgYXQgc29tZSBwb2ludAorICAgICAgICB1c2lu
ZyBXZWJBdWRpbyBBUEkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0UHJlc2VydmVzUGl0Y2gpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lci5oOgorICAgICAgICAoTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
KToKKwogMjAxMy0wMS0yMSAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IERvIG5vdCBkaXNwYXRjaCBtb3VzZW1vdmUgd2hl
biBlbXVsYXRpbmcgdG91Y2ggZXZlbnQgYW5kIG5vIHRvdWNoIGlzIGFjdGl2ZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCA3NGU1MDYyNTVk
YzI4NGU3N2ZkNzY2Y2EyYmJmZDVmN2FkNDM0NWNmLi5iNzE5NDJlODUwZjY5MDIzM2MzYjVlMjg3
OTViYjUwZWZkMDE4MzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmNwcApAQCAtMjUxLDYgKzI1MSw3IEBAIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lcjo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiAg
ICAgLCBtX3dlYmtpdEF1ZGlvU2luaygwKQogICAgICwgbV90b3RhbEJ5dGVzKC0xKQogICAgICwg
bV9vcmlnaW5hbFByZWxvYWRXYXNBdXRvQW5kV2FzT3ZlcnJpZGRlbihmYWxzZSkKKyAgICAsIG1f
cHJlc2VydmVzUGl0Y2goZmFsc2UpCiB7CiB9CiAKQEAgLTczNyw2ICs3MzgsMTEgQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldFJhdGUoZmxvYXQgcmF0ZSkKICAgICAgICAg
Z19vYmplY3Rfc2V0KG1fcGxheUJpbiwgIm11dGUiLCBtdXRlLCBOVUxMKTsKIH0KIAordm9pZCBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldFByZXNlcnZlc1BpdGNoKGJvb2wgcHJlc2Vy
dmVzUGl0Y2gpCit7CisgICAgbV9wcmVzZXJ2ZXNQaXRjaCA9IHByZXNlcnZlc1BpdGNoOworfQor
CiBNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6
bmV0d29ya1N0YXRlKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9uZXR3b3JrU3RhdGU7CkBAIC0x
NzkxLDYgKzE3OTcsNDAgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldFBy
ZWxvYWQoTWVkaWFQbGF5ZXI6OlByZWxvYWQgcHJlbG9hZCkKICAgICB9CiB9CiAKK3ZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGVBdWRpb1NpbmsoKQoreworICAgIC8vIENv
bnN0cnVjdCBhdWRpbyBzaW5rIGlmIHBpdGNoIHByZXNlcnZpbmcgaXMgZW5hYmxlZC4KKyAgICBp
ZiAoIW1fcHJlc2VydmVzUGl0Y2gpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghbV9wbGF5
QmluKQorICAgICAgICByZXR1cm47CisKKyAgICBHc3RFbGVtZW50KiBzY2FsZSA9IGdzdF9lbGVt
ZW50X2ZhY3RvcnlfbWFrZSgic2NhbGV0ZW1wbyIsIDApOworICAgIGlmICghc2NhbGUpIHsKKyAg
ICAgICAgR1NUX1dBUk5JTkcoIkZhaWxlZCB0byBjcmVhdGUgc2NhbGV0ZW1wbyIpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgR3N0RWxlbWVudCogY29udmVydCA9IGdzdF9lbGVtZW50
X2ZhY3RvcnlfbWFrZSgiYXVkaW9jb252ZXJ0IiwgMCk7CisgICAgR3N0RWxlbWVudCogcmVzYW1w
bGUgPSBnc3RfZWxlbWVudF9mYWN0b3J5X21ha2UoImF1ZGlvcmVzYW1wbGUiLCAwKTsKKyAgICBH
c3RFbGVtZW50KiBzaW5rID0gZ3N0X2VsZW1lbnRfZmFjdG9yeV9tYWtlKCJhdXRvYXVkaW9zaW5r
IiwgMCk7CisKKyAgICBHc3RFbGVtZW50KiBhdWRpb1NpbmsgPSBnc3RfYmluX25ldygiYXVkaW8t
c2luayIpOworICAgIGdzdF9iaW5fYWRkX21hbnkoR1NUX0JJTihhdWRpb1NpbmspLCBzY2FsZSwg
Y29udmVydCwgcmVzYW1wbGUsIHNpbmssIE5VTEwpOworCisgICAgaWYgKCFnc3RfZWxlbWVudF9s
aW5rX21hbnkoc2NhbGUsIGNvbnZlcnQsIHJlc2FtcGxlLCBzaW5rLCBOVUxMKSkgeworICAgICAg
ICBHU1RfV0FSTklORygiRmFpbGVkIHRvIGxpbmsgYXVkaW8gc2luayBlbGVtZW50cyIpOworICAg
ICAgICBnc3Rfb2JqZWN0X3VucmVmKGF1ZGlvU2luayk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBHUmVmUHRyPEdzdFBhZD4gcGFkID0gZ3N0X2VsZW1lbnRfZ2V0X3N0YXRpY19wYWQo
c2NhbGUsICJzaW5rIik7CisgICAgZ3N0X2VsZW1lbnRfYWRkX3BhZChhdWRpb1NpbmssIGdzdF9n
aG9zdF9wYWRfbmV3KCJzaW5rIiwgcGFkLmdldCgpKSk7CisKKyAgICBnX29iamVjdF9zZXQobV9w
bGF5QmluLCAiYXVkaW8tc2luayIsIGF1ZGlvU2luaywgTlVMTCk7Cit9CisKIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGVHU1RQbGF5QmluKCkKIHsKICAgICBBU1NFUlQo
IW1fcGxheUJpbik7CkBAIC0xODI0LDcgKzE4NjQsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lcjo6Y3JlYXRlR1NUUGxheUJpbigpCiAKIAogI2lmbmRlZiBHU1RfQVBJX1ZFUlNJ
T05fMQotICAgIG1fdmlkZW9TaW5rQmluID0gZ3N0X2Jpbl9uZXcoInNpbmsiKTsKKyAgICBtX3Zp
ZGVvU2lua0JpbiA9IGdzdF9iaW5fbmV3KCJ2aWRlby1zaW5rIik7CiAKICAgICBHc3RFbGVtZW50
KiB2aWRlb1RlZSA9IGdzdF9lbGVtZW50X2ZhY3RvcnlfbWFrZSgidGVlIiwgInZpZGVvVGVlIik7
CiAgICAgR3N0RWxlbWVudCogcXVldWUgPSBnc3RfZWxlbWVudF9mYWN0b3J5X21ha2UoInF1ZXVl
IiwgMCk7CkBAIC0xOTAxLDYgKzE5NDEsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lcjo6Y3JlYXRlR1NUUGxheUJpbigpCiAgICAgaWYgKHZpZGVvU2lua1BhZCkKICAgICAgICAg
Z19zaWduYWxfY29ubmVjdCh2aWRlb1NpbmtQYWQuZ2V0KCksICJub3RpZnk6OmNhcHMiLCBHX0NB
TExCQUNLKG1lZGlhUGxheWVyUHJpdmF0ZVZpZGVvU2lua0NhcHNDaGFuZ2VkQ2FsbGJhY2spLCB0
aGlzKTsKIAorICAgIGNyZWF0ZUF1ZGlvU2luaygpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKaW5kZXggN2JlYzE0MzZhYmY2MmRiODdiZWY3
YjBiYjQzYmJjZDg3NjA4M2JjYy4uZGUwNGVjZDJjNTYxNDk1YTg4MTA5NWMxMDQ5MWJlZmNhMGJl
NWQwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaApA
QCAtNzIsNiArNzIsNyBAQCBjbGFzcyBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIgOiBwdWJs
aWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsKICAgICAgICAgICAgIHZvaWQgc2Vlayhm
bG9hdCk7CiAKICAgICAgICAgICAgIHZvaWQgc2V0UmF0ZShmbG9hdCk7CisgICAgICAgICAgICB2
b2lkIHNldFByZXNlcnZlc1BpdGNoKGJvb2wpOwogCiAgICAgICAgICAgICB2b2lkIHNldFZvbHVt
ZShmbG9hdCk7CiAgICAgICAgICAgICB2b2lkIHZvbHVtZUNoYW5nZWQoKTsKQEAgLTEzNyw2ICsx
MzgsNyBAQCBjbGFzcyBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIgOiBwdWJsaWMgTWVkaWFQ
bGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsKICAgICAgICAgICAgIHN0YXRpYyBib29sIGlzQXZhaWxh
YmxlKCk7CiAKICAgICAgICAgICAgIHZvaWQgdXBkYXRlQXVkaW9TaW5rKCk7CisgICAgICAgICAg
ICB2b2lkIGNyZWF0ZUF1ZGlvU2luaygpOwogCiAgICAgICAgICAgICBmbG9hdCBwbGF5YmFja1Bv
c2l0aW9uKCkgY29uc3Q7CiAKQEAgLTIwNSw2ICsyMDcsNyBAQCBjbGFzcyBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIgOiBwdWJsaWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsKICAg
ICAgICAgICAgIG11dGFibGUgSW50U2l6ZSBtX3ZpZGVvU2l6ZTsKICAgICAgICAgICAgIEtVUkwg
bV91cmw7CiAgICAgICAgICAgICBib29sIG1fb3JpZ2luYWxQcmVsb2FkV2FzQXV0b0FuZFdhc092
ZXJyaWRkZW47CisgICAgICAgICAgICBib29sIG1fcHJlc2VydmVzUGl0Y2g7CiAgICAgfTsKIH0K
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184489</attachid>
            <date>2013-01-24 07:25:22 -0800</date>
            <delta_ts>2013-01-24 08:18:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-31155-20130124152213.patch</filename>
            <type>text/plain</type>
            <size>5322</size>
            <attacher name="Víctor M. Jáquez L.">vjaquez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWMxMWRkZDExODYwMzZk
YmI0MzIwZTIyODMxOWYxNGEwM2U3ODRmOC4uYjRjZjc4YzY3OGY1YzgwOTNjNjIwNWQxMjA2OTZm
MzBlMDZhMGQzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAxLTIxICBWaWN0
b3IgSmFxdWV6ICA8dmphcXVlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHU3RyZWFtZXJdIElt
cGxlbWVudCBzZXRQcmVzZXJ2ZXNQaXRjaCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zMTE1NQorCisgICAgICAgIEVuYWJsZXMgYXVkaW8gcGl0Y2gg
cHJlc2VydmF0aW9uIGJ5IHVzaW5nIHRoZSBzY2FsZXRlbXBvIEdTdHJlYW1lcgorICAgICAgICBl
bGVtZW50IHdoZW4gcmVxdWlyZWQgYnkgdGhlIE1lZGlhUGxheWVyLgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgYnV0IGEgbGF5
b3V0IHRlc3Qgc2hhbGwgYmUgaW1wbGVtZW50ZWQgYXQgc29tZSBwb2ludAorICAgICAgICB1c2lu
ZyBXZWJBdWRpbyBBUEkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0UHJlc2VydmVzUGl0Y2gpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lci5oOgorICAgICAgICAoTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
KToKKwogMjAxMy0wMS0yNCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBicmVha3BvaW50cyBhcmUgbm90IHJlc3RvcmVkIHVw
b24gcmVsb2FkIGZvciBzY3JpcHRzIHdpdGggc2NyaXB0IG1hcHBpbmcuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IDk1Y2Q1NDE5ZjZlMDRk
NDJlYWQ4NzVhOTRmN2Y4YjBlMjliN2YyNTQuLmQ2MzIxNmI5Y2U3ZGI1MTYzYmFmZDIwYTk0MWJi
NGZkN2U4ODNkYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuY3BwCkBAIC0yNTAsNiArMjUwLDcgQEAgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
OjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIoTWVkaWFQbGF5ZXIqIHBsYXllcikKICAgICAs
IG1fd2Via2l0QXVkaW9TaW5rKDApCiAgICAgLCBtX3RvdGFsQnl0ZXMoLTEpCiAgICAgLCBtX29y
aWdpbmFsUHJlbG9hZFdhc0F1dG9BbmRXYXNPdmVycmlkZGVuKGZhbHNlKQorICAgICwgbV9wcmVz
ZXJ2ZXNQaXRjaChmYWxzZSkKIHsKIH0KIApAQCAtNzQwLDYgKzc0MSwxMSBAQCB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0UmF0ZShmbG9hdCByYXRlKQogICAgICAgICBnX29i
amVjdF9zZXQobV9wbGF5QmluLmdldCgpLCAibXV0ZSIsIG11dGUsIE5VTEwpOwogfQogCit2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0UHJlc2VydmVzUGl0Y2goYm9vbCBwcmVz
ZXJ2ZXNQaXRjaCkKK3sKKyAgICBtX3ByZXNlcnZlc1BpdGNoID0gcHJlc2VydmVzUGl0Y2g7Cit9
CisKIE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGUgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
OjpuZXR3b3JrU3RhdGUoKSBjb25zdAogewogICAgIHJldHVybiBtX25ldHdvcmtTdGF0ZTsKQEAg
LTE3OTUsNiArMTgwMSw0MCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0
UHJlbG9hZChNZWRpYVBsYXllcjo6UHJlbG9hZCBwcmVsb2FkKQogICAgIH0KIH0KIAordm9pZCBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZUF1ZGlvU2luaygpCit7CisgICAgLy8g
Q29uc3RydWN0IGF1ZGlvIHNpbmsgaWYgcGl0Y2ggcHJlc2VydmluZyBpcyBlbmFibGVkLgorICAg
IGlmICghbV9wcmVzZXJ2ZXNQaXRjaCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFtX3Bs
YXlCaW4pCisgICAgICAgIHJldHVybjsKKworICAgIEdzdEVsZW1lbnQqIHNjYWxlID0gZ3N0X2Vs
ZW1lbnRfZmFjdG9yeV9tYWtlKCJzY2FsZXRlbXBvIiwgMCk7CisgICAgaWYgKCFzY2FsZSkgewor
ICAgICAgICBHU1RfV0FSTklORygiRmFpbGVkIHRvIGNyZWF0ZSBzY2FsZXRlbXBvIik7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBHc3RFbGVtZW50KiBjb252ZXJ0ID0gZ3N0X2VsZW1l
bnRfZmFjdG9yeV9tYWtlKCJhdWRpb2NvbnZlcnQiLCAwKTsKKyAgICBHc3RFbGVtZW50KiByZXNh
bXBsZSA9IGdzdF9lbGVtZW50X2ZhY3RvcnlfbWFrZSgiYXVkaW9yZXNhbXBsZSIsIDApOworICAg
IEdzdEVsZW1lbnQqIHNpbmsgPSBnc3RfZWxlbWVudF9mYWN0b3J5X21ha2UoImF1dG9hdWRpb3Np
bmsiLCAwKTsKKworICAgIEdzdEVsZW1lbnQqIGF1ZGlvU2luayA9IGdzdF9iaW5fbmV3KCJhdWRp
by1zaW5rIik7CisgICAgZ3N0X2Jpbl9hZGRfbWFueShHU1RfQklOKGF1ZGlvU2luayksIHNjYWxl
LCBjb252ZXJ0LCByZXNhbXBsZSwgc2luaywgTlVMTCk7CisKKyAgICBpZiAoIWdzdF9lbGVtZW50
X2xpbmtfbWFueShzY2FsZSwgY29udmVydCwgcmVzYW1wbGUsIHNpbmssIE5VTEwpKSB7CisgICAg
ICAgIEdTVF9XQVJOSU5HKCJGYWlsZWQgdG8gbGluayBhdWRpbyBzaW5rIGVsZW1lbnRzIik7Cisg
ICAgICAgIGdzdF9vYmplY3RfdW5yZWYoYXVkaW9TaW5rKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIEdSZWZQdHI8R3N0UGFkPiBwYWQgPSBhZG9wdEdSZWYoZ3N0X2VsZW1lbnRfZ2V0
X3N0YXRpY19wYWQoc2NhbGUsICJzaW5rIikpOworICAgIGdzdF9lbGVtZW50X2FkZF9wYWQoYXVk
aW9TaW5rLCBnc3RfZ2hvc3RfcGFkX25ldygic2luayIsIHBhZC5nZXQoKSkpOworCisgICAgZ19v
YmplY3Rfc2V0KG1fcGxheUJpbi5nZXQoKSwgImF1ZGlvLXNpbmsiLCBhdWRpb1NpbmssIE5VTEwp
OworfQorCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlR1NUUGxheUJp
bigpCiB7CiAgICAgQVNTRVJUKCFtX3BsYXlCaW4pOwpAQCAtMTgzMCw3ICsxODcwLDcgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZUdTVFBsYXlCaW4oKQogCiAKICNp
Zm5kZWYgR1NUX0FQSV9WRVJTSU9OXzEKLSAgICBtX3ZpZGVvU2lua0JpbiA9IGdzdF9iaW5fbmV3
KCJzaW5rIik7CisgICAgbV92aWRlb1NpbmtCaW4gPSBnc3RfYmluX25ldygidmlkZW8tc2luayIp
OwogCiAgICAgR3N0RWxlbWVudCogdmlkZW9UZWUgPSBnc3RfZWxlbWVudF9mYWN0b3J5X21ha2Uo
InRlZSIsICJ2aWRlb1RlZSIpOwogICAgIEdzdEVsZW1lbnQqIHF1ZXVlID0gZ3N0X2VsZW1lbnRf
ZmFjdG9yeV9tYWtlKCJxdWV1ZSIsIDApOwpAQCAtMTkwNyw2ICsxOTQ3LDcgQEAgdm9pZCBNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZUdTVFBsYXlCaW4oKQogICAgIGlmICh2aWRl
b1NpbmtQYWQpCiAgICAgICAgIGdfc2lnbmFsX2Nvbm5lY3QodmlkZW9TaW5rUGFkLmdldCgpLCAi
bm90aWZ5OjpjYXBzIiwgR19DQUxMQkFDSyhtZWRpYVBsYXllclByaXZhdGVWaWRlb1NpbmtDYXBz
Q2hhbmdlZENhbGxiYWNrKSwgdGhpcyk7CiAKKyAgICBjcmVhdGVBdWRpb1NpbmsoKTsKIH0KIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCmluZGV4IGNi
ZjQ2YmNiZjA2ZDRiODk5ZjY0Y2EyYWQ2MGE4MzE2MWIyNjQzMzMuLjdlNWRiZjgwNWI2MTk1MDc4
YmExYmZmNzc0NDFiN2JjY2FjZGQwNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyLmgKQEAgLTcyLDYgKzcyLDcgQEAgY2xhc3MgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyIDogcHVibGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSB7CiAgICAg
ICAgICAgICB2b2lkIHNlZWsoZmxvYXQpOwogCiAgICAgICAgICAgICB2b2lkIHNldFJhdGUoZmxv
YXQpOworICAgICAgICAgICAgdm9pZCBzZXRQcmVzZXJ2ZXNQaXRjaChib29sKTsKIAogICAgICAg
ICAgICAgdm9pZCBzZXRWb2x1bWUoZmxvYXQpOwogICAgICAgICAgICAgdm9pZCB2b2x1bWVDaGFu
Z2VkKCk7CkBAIC0xMzcsNiArMTM4LDcgQEAgY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyIDogcHVibGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSB7CiAgICAgICAgICAgICBz
dGF0aWMgYm9vbCBpc0F2YWlsYWJsZSgpOwogCiAgICAgICAgICAgICB2b2lkIHVwZGF0ZUF1ZGlv
U2luaygpOworICAgICAgICAgICAgdm9pZCBjcmVhdGVBdWRpb1NpbmsoKTsKIAogICAgICAgICAg
ICAgZmxvYXQgcGxheWJhY2tQb3NpdGlvbigpIGNvbnN0OwogCkBAIC0yMDUsNiArMjA3LDcgQEAg
Y2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyIDogcHVibGljIE1lZGlhUGxheWVyUHJp
dmF0ZUludGVyZmFjZSB7CiAgICAgICAgICAgICBtdXRhYmxlIEludFNpemUgbV92aWRlb1NpemU7
CiAgICAgICAgICAgICBLVVJMIG1fdXJsOwogICAgICAgICAgICAgYm9vbCBtX29yaWdpbmFsUHJl
bG9hZFdhc0F1dG9BbmRXYXNPdmVycmlkZGVuOworICAgICAgICAgICAgYm9vbCBtX3ByZXNlcnZl
c1BpdGNoOwogICAgIH07CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>