<?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>143049</bug_id>
          
          <creation_ts>2015-03-25 08:10:25 -0700</creation_ts>
          <short_desc>[GStreamer] share GL context in pipeline, part 2</short_desc>
          <delta_ts>2015-03-27 03:31:51 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=142693</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Víctor M. Jáquez L.">vjaquez</reporter>
          <assigned_to name="Víctor M. Jáquez L.">vjaquez</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ossy</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1079949</commentid>
    <comment_count>0</comment_count>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2015-03-25 08:10:25 -0700</bug_when>
    <thetext>This is a follow up of bug 142693</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079956</commentid>
    <comment_count>1</comment_count>
      <attachid>249406</attachid>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2015-03-25 08:36:29 -0700</bug_when>
    <thetext>Created attachment 249406
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079965</commentid>
    <comment_count>2</comment_count>
      <attachid>249406</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-03-25 09:44:49 -0700</bug_when>
    <thetext>Comment on attachment 249406
Patch

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

Thanks for the follow up patch

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:2047
&gt; +bool MediaPlayerPrivateGStreamer::createGstGL()

create functions normally return the created object, I would use ensureGstGLContext() instead.

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:2062
&gt; +#else
&gt; +        return false;
&gt; +#endif

I don&apos;t think this is possible.

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:2065
&gt; +    // USE(GSTREAMER_GL) implies USE(3D_GRAPHICS)

No need to clarify this now.

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:2066
&gt; +    auto contextHandle = reinterpret_cast&lt;guintptr&gt;(GLContext::sharingContext()-&gt;platformContext());

I would use PlatformGraphicsContext3D here instead of the auto to make this clear, and without the cast.

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:2076
&gt; +#if USE(GLX)
&gt; +    glPlatform = GST_GL_PLATFORM_GLX;
&gt; +#elif USE(EGL)
&gt; +    glPlatform = GST_GL_PLATFORM_EGL;
&gt; +#endif

At this point either GLX or EFL are defined, because we are inside a USE(GSTREAMER_GL)  block, so I would simplify this by avoiding the previous declaration and inicitalization to GST_GL_PLATFORM_ANY.

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:2079
&gt; +#if USE(GLES2)
&gt; +    glAPI = GST_GL_API_GLES2;
&gt; +#endif

And here I would also move the declaration inside the ifdef block, adding #else GstGLAPI glAPI = GST_GL_API_OPENGL;

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:2080
&gt; +    m_glContext = gst_gl_context_new_wrapped(m_glDisplay.get(), contextHandle, glPlatform, glAPI);

Here I would cast the contextHandle.

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:2083
&gt; +    return true;

Do we really want to return true when !USE(GSTREAMER_GL)? I think this function should only be defined if USE(GSTREAMER_GL), since it&apos;s only called inside a USE(GSTREAMER_GL) block.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079990</commentid>
    <comment_count>3</comment_count>
      <attachid>249414</attachid>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2015-03-25 11:06:47 -0700</bug_when>
    <thetext>Created attachment 249414
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079998</commentid>
    <comment_count>4</comment_count>
      <attachid>249414</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-03-25 11:38:38 -0700</bug_when>
    <thetext>Comment on attachment 249414
Patch

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

&gt; Source/WebCore/ChangeLog:28
&gt; +        (WebCore::MediaPlayerPrivateGStreamer::handleSyncMessage): Changed the
&gt; +        signature to use bool instead of gboolean.

This is no longer true, now is void for some reason.

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:112
&gt; -static gboolean mediaPlayerPrivateSyncMessageCallback(GstBus*, GstMessage* message, MediaPlayerPrivateGStreamer* player)
&gt; +static void mediaPlayerPrivateSyncMessageCallback(GstBus*, GstMessage* message, MediaPlayerPrivateGStreamer* player)
&gt;  {
&gt; -    return player-&gt;handleSyncMessage(message);
&gt; +    player-&gt;handleSyncMessage(message);
&gt;  }

Don&apos;t we need to update the caller of mediaPlayerPrivateSyncMessageCallback to not handle the return value?

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:934
&gt; -gboolean MediaPlayerPrivateGStreamer::handleSyncMessage(GstMessage* message)
&gt; +void MediaPlayerPrivateGStreamer::handleSyncMessage(GstMessage* message)

so, this is now void?

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:965
&gt; -    return FALSE;
&gt; +    return;

I guess we don&apos;t need any return here now that this is void.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080245</commentid>
    <comment_count>5</comment_count>
      <attachid>249480</attachid>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2015-03-26 03:07:56 -0700</bug_when>
    <thetext>Created attachment 249480
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080276</commentid>
    <comment_count>6</comment_count>
      <attachid>249480</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-26 06:48:34 -0700</bug_when>
    <thetext>Comment on attachment 249480
Patch

Rejecting attachment 249480 from review queue.

vjaquez@igalia.com does not have reviewer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/contributors.json.

- If you do not have reviewer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have reviewer rights please correct the error in Tools/Scripts/webkitpy/common/config/contributors.json by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your reviewer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080337</commentid>
    <comment_count>7</comment_count>
      <attachid>249480</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-03-26 11:00:51 -0700</bug_when>
    <thetext>Comment on attachment 249480
Patch

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

&gt; Source/WebCore/ChangeLog:6
&gt; +        Reviewed by NOBODY (OOPS!).

Carlos already reviewed this, so NOBODY should be replaced with his full name. After that landing through cq shouldn&apos;t be a problem.

&gt; ChangeLog:6
&gt; +        Reviewed by NOBODY (OOPS!).

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080573</commentid>
    <comment_count>8</comment_count>
      <attachid>249559</attachid>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2015-03-27 02:40:17 -0700</bug_when>
    <thetext>Created attachment 249559
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080578</commentid>
    <comment_count>9</comment_count>
      <attachid>249559</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-27 03:31:45 -0700</bug_when>
    <thetext>Comment on attachment 249559
Patch

Clearing flags on attachment: 249559

Committed r182056: &lt;http://trac.webkit.org/changeset/182056&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080579</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-27 03:31:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249406</attachid>
            <date>2015-03-25 08:36:29 -0700</date>
            <delta_ts>2015-03-25 11:06:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143049-20150325163551.patch</filename>
            <type>text/plain</type>
            <size>9956</size>
            <attacher name="Víctor M. Jáquez L.">vjaquez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxODkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzUwZjk5NjViMjZhNGYw
YzVhMDczY2UxYTdmYmVmNWM2NDE1NTc0Ni4uMjdjODM1YWNkOGQ2MzkxOGY2MzViZjM5NjJmOTM0
Yzg5MTNlMTBmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE1LTAzLTI1ICBWw61j
dG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgIDx2amFxdWV6QGlnYWxpYS5jb20+CisKKyAgICAgICAg
W0dTdHJlYW1lcl0gc2hhcmUgR0wgY29udGV4dCBpbiBwaXBlbGluZSwgcGFydCAyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDMwNDkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoLCBpbnN0
ZWFkIG9mIGNsdXR0ZXJpbmcgdGhlIEdzdEdMIGF0dHJpYnV0ZXMgY3JlYXRpb24gaW4KKyAgICAg
ICAgOjpoYW5kbGVTeW5jTWVzc2FnZSgpLCBjcmVhdGVzIGEgbmV3IG1ldGhvZCA6OmNyZWF0ZUdz
dEdMKCksIHdoZXJlCisgICAgICAgIHRob3NlIGF0dHJpYnV0ZXMgYXJlIGRlZmluZWQuCisKKyAg
ICAgICAgVGhlIEdzdEdMIGF0dHJpYnV0ZXMgYXJlIG5vdyBHUmVmUHRyPD4gdG8gYXZvaWQgbWVt
b3J5IGxlYWtzLgorCisgICAgICAgIFRoZSBHc3RHTEFQSSBpcyBub3cgc2V0IGdpdmVuIGJ5IHRo
ZSBwcmUtcHJvY2Vzc29yIGRpcmVjdGl2ZXMsIGFuZAorICAgICAgICB0aGUgY29kZSBpbiA6OkNy
ZWF0ZUdzdEdMKCkgaXMgc2ltcGxlci4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSB0
aGlzIGlzIHBsYXRmb3JtIHNwZWNpZmljIGFuZCBpdCBkZXBlbmRzIGluIHRoZQorICAgICAgICBy
dW4tdGltZSBhdmFpbGFiaWxpdHkgYW5kIGNvbmZpZ3VyYXRpb25zIG9mIEdzdEdMIGVsZW1lbnRz
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcik6CisgICAgICAgIERvbid0IGlu
aXRpYWxpc2UgdGhlIEdzdEdMIGF0dHJpYnV0ZXMgc2luY2UgYXJlIEdSZWZQdHI8PgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVTeW5jTWVzc2Fn
ZSk6IENoYW5nZWQgdGhlCisgICAgICAgIHNpZ25hdHVyZSB0byB1c2UgYm9vbCBpbnN0ZWFkIG9m
IGdib29sZWFuLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
OjpjcmVhdGVHc3RHTCk6IE5ldyBtZXRob2QuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oOgorCiAyMDE1LTAzLTIzIFlv
YXYgV2Vpc3MgIDx5b2F2QHlvYXYud3M+CiAKICAgICAgICAgVXBkYXRlIGVtcHR5IGltYWdlIGNh
bnZhcyB0ZXN0cyBhbmQgZml4IGEgcmVsYXRlZCBidWcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggMjVmZmQwODZkZjEyODZlMGY1MGJmODU5
NzlkZGE5MjJkZjc3MzQ3ZC4uZmNkNDE2YzdkM2M5ZWIxYTBiZTA1NTcxNzEzZDAwYTRhZjIwNjU4
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAK
QEAgLTI0NCwxMCArMjQ0LDYgQEAgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIoTWVkaWFQbGF5ZXIqIHBsYXllcikKICNlbmRpZgogICAgICwg
bV9yZXF1ZXN0ZWRTdGF0ZShHU1RfU1RBVEVfVk9JRF9QRU5ESU5HKQogICAgICwgbV9taXNzaW5n
UGx1Z2lucyhmYWxzZSkKLSNpZiBVU0UoR1NUUkVBTUVSX0dMKQotICAgICwgbV9nbENvbnRleHQo
bnVsbHB0cikKLSAgICAsIG1fZ2xEaXNwbGF5KG51bGxwdHIpCi0jZW5kaWYKIHsKIH0KIApAQCAt
OTM1LDcgKzkzMSw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxQbGF0Zm9ybVRpbWVSYW5nZXM+IE1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6YnVmZmVyZWQoKSBjb25zCiAgICAgcmV0dXJuIHRpbWVS
YW5nZXM7CiB9CiAKLWdib29sZWFuIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6aGFuZGxl
U3luY01lc3NhZ2UoR3N0TWVzc2FnZSogbWVzc2FnZSkKK2Jvb2wgTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyOjpoYW5kbGVTeW5jTWVzc2FnZShHc3RNZXNzYWdlKiBtZXNzYWdlKQogewogICAg
IHN3aXRjaCAoR1NUX01FU1NBR0VfVFlQRShtZXNzYWdlKSkgewogI2lmIFVTRShHU1RSRUFNRVJf
R0wpCkBAIC05NDMsNDIgKzkzOSwyMiBAQCBnYm9vbGVhbiBNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXI6OmhhbmRsZVN5bmNNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCiAgICAgICAgIGNv
bnN0IGdjaGFyKiBjb250ZXh0VHlwZTsKICAgICAgICAgZ3N0X21lc3NhZ2VfcGFyc2VfY29udGV4
dF90eXBlKG1lc3NhZ2UsICZjb250ZXh0VHlwZSk7CiAKLSAgICAgICAgaWYgKCFtX2dsRGlzcGxh
eSkgewotI2lmIFBMQVRGT1JNKFgxMSkKLSAgICAgICAgICAgIERpc3BsYXkqIGRpc3BsYXkgPSBH
TENvbnRleHQ6OnNoYXJlZFgxMURpc3BsYXkoKTsKLSAgICAgICAgICAgIEdzdEdMRGlzcGxheVgx
MSogZ3N0R0xEaXNwbGF5ID0gZ3N0X2dsX2Rpc3BsYXlfeDExX25ld193aXRoX2Rpc3BsYXkoZGlz
cGxheSk7Ci0jZWxpZiBQTEFURk9STShXQVlMQU5EKQotICAgICAgICAgICAgRUdMRGlzcGxheSBk
aXNwbGF5ID0gV2F5bGFuZERpc3BsYXk6Omluc3RhbmNlKCktPmVnbERpc3BsYXkoKTsKLSAgICAg
ICAgICAgIEdzdEdMRGlzcGxheUVHTCogZ3N0R0xEaXNwbGF5ID0gZ3N0X2dsX2Rpc3BsYXlfZWds
X25ld193aXRoX2VnbF9kaXNwbGF5KGRpc3BsYXkpOwotI2Vsc2UKLSAgICAgICAgICAgIHJldHVy
biBGQUxTRTsKLSNlbmRpZgotCi0gICAgICAgICAgICBtX2dsRGlzcGxheSA9IHJlaW50ZXJwcmV0
X2Nhc3Q8R3N0R0xEaXNwbGF5Kj4oZ3N0R0xEaXNwbGF5KTsKLSAgICAgICAgICAgIEdMQ29udGV4
dCogd2Via2l0Q29udGV4dCA9IEdMQ29udGV4dDo6c2hhcmluZ0NvbnRleHQoKTsKLSNpZiBVU0Uo
R0xYKQotICAgICAgICAgICAgR0xYQ29udGV4dCogZ2x4U2hhcmluZ0NvbnRleHQgPSByZWludGVy
cHJldF9jYXN0PEdMWENvbnRleHQqPih3ZWJraXRDb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKSk7
Ci0gICAgICAgICAgICBpZiAoZ2x4U2hhcmluZ0NvbnRleHQgJiYgIW1fZ2xDb250ZXh0KQotICAg
ICAgICAgICAgICAgIG1fZ2xDb250ZXh0ID0gZ3N0X2dsX2NvbnRleHRfbmV3X3dyYXBwZWQoR1NU
X0dMX0RJU1BMQVkoZ3N0R0xEaXNwbGF5KSwgcmVpbnRlcnByZXRfY2FzdDxndWludHB0cj4oZ2x4
U2hhcmluZ0NvbnRleHQpLCBHU1RfR0xfUExBVEZPUk1fR0xYLCBHU1RfR0xfQVBJX09QRU5HTCk7
Ci0jZWxpZiBVU0UoRUdMKQotICAgICAgICAgICAgRUdMQ29udGV4dCogZWdsU2hhcmluZ0NvbnRl
eHQgPSByZWludGVycHJldF9jYXN0PEVHTENvbnRleHQqPih3ZWJraXRDb250ZXh0LT5wbGF0Zm9y
bUNvbnRleHQoKSk7Ci0gICAgICAgICAgICBpZiAoZWdsU2hhcmluZ0NvbnRleHQgJiYgIW1fZ2xD
b250ZXh0KQotICAgICAgICAgICAgICAgIG1fZ2xDb250ZXh0ID0gZ3N0X2dsX2NvbnRleHRfbmV3
X3dyYXBwZWQoR1NUX0dMX0RJU1BMQVkoZ3N0R0xEaXNwbGF5KSwgcmVpbnRlcnByZXRfY2FzdDxn
dWludHB0cj4oZWdsU2hhcmluZ0NvbnRleHQpLCBHU1RfR0xfUExBVEZPUk1fRUdMLCBHU1RfR0xf
QVBJX0dMRVMyKTsKLSNlbmRpZgotICAgICAgICB9CisgICAgICAgIGlmICghY3JlYXRlR3N0R0wo
KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICBpZiAoIWdfc3RyY21wMChj
b250ZXh0VHlwZSwgR1NUX0dMX0RJU1BMQVlfQ09OVEVYVF9UWVBFKSkgewogICAgICAgICAgICAg
R3N0Q29udGV4dCogZGlzcGxheUNvbnRleHQgPSBnc3RfY29udGV4dF9uZXcoR1NUX0dMX0RJU1BM
QVlfQ09OVEVYVF9UWVBFLCBUUlVFKTsKLSAgICAgICAgICAgIGdzdF9jb250ZXh0X3NldF9nbF9k
aXNwbGF5KGRpc3BsYXlDb250ZXh0LCBtX2dsRGlzcGxheSk7CisgICAgICAgICAgICBnc3RfY29u
dGV4dF9zZXRfZ2xfZGlzcGxheShkaXNwbGF5Q29udGV4dCwgbV9nbERpc3BsYXkuZ2V0KCkpOwog
ICAgICAgICAgICAgZ3N0X2VsZW1lbnRfc2V0X2NvbnRleHQoR1NUX0VMRU1FTlQobWVzc2FnZS0+
c3JjKSwgZGlzcGxheUNvbnRleHQpOwotICAgICAgICAgICAgcmV0dXJuIFRSVUU7CisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQorCiAgICAgICAgIGlmICghZ19zdHJjbXAwKGNv
bnRleHRUeXBlLCAiZ3N0LmdsLmFwcF9jb250ZXh0IikpIHsKICAgICAgICAgICAgIEdzdENvbnRl
eHQqIGFwcENvbnRleHQgPSBnc3RfY29udGV4dF9uZXcoImdzdC5nbC5hcHBfY29udGV4dCIsIFRS
VUUpOwogICAgICAgICAgICAgR3N0U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBnc3RfY29udGV4dF93
cml0YWJsZV9zdHJ1Y3R1cmUoYXBwQ29udGV4dCk7Ci0gICAgICAgICAgICBnc3Rfc3RydWN0dXJl
X3NldChzdHJ1Y3R1cmUsICJjb250ZXh0IiwgR1NUX0dMX1RZUEVfQ09OVEVYVCwgbV9nbENvbnRl
eHQsIG51bGxwdHIpOworICAgICAgICAgICAgZ3N0X3N0cnVjdHVyZV9zZXQoc3RydWN0dXJlLCAi
Y29udGV4dCIsIEdTVF9HTF9UWVBFX0NPTlRFWFQsIG1fZ2xDb250ZXh0LmdldCgpLCBudWxscHRy
KTsKICAgICAgICAgICAgIGdzdF9lbGVtZW50X3NldF9jb250ZXh0KEdTVF9FTEVNRU5UKG1lc3Nh
Z2UtPnNyYyksIGFwcENvbnRleHQpOwotICAgICAgICAgICAgcmV0dXJuIFRSVUU7CisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9CkBAIC05
ODYsNyArOTYyLDcgQEAgZ2Jvb2xlYW4gTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5k
bGVTeW5jTWVzc2FnZShHc3RNZXNzYWdlKiBtZXNzYWdlKQogICAgIGRlZmF1bHQ6CiAgICAgICAg
IGJyZWFrOwogICAgIH0KLSAgICByZXR1cm4gRkFMU0U7CisgICAgcmV0dXJuIGZhbHNlOwogfQog
CiBnYm9vbGVhbiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmhhbmRsZU1lc3NhZ2UoR3N0
TWVzc2FnZSogbWVzc2FnZSkKQEAgLTIwNjgsNiArMjA0NCw0NSBAQCB2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlR1NUUGxheUJpbigpCiAgICAgICAgIGdfc2lnbmFsX2Nv
bm5lY3QodmlkZW9TaW5rUGFkLmdldCgpLCAibm90aWZ5OjpjYXBzIiwgR19DQUxMQkFDSyhtZWRp
YVBsYXllclByaXZhdGVWaWRlb1NpbmtDYXBzQ2hhbmdlZENhbGxiYWNrKSwgdGhpcyk7CiB9CiAK
K2Jvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGVHc3RHTCgpCit7CisjaWYg
VVNFKEdTVFJFQU1FUl9HTCkKKyAgICBpZiAobV9nbENvbnRleHQpCisgICAgICAgIHJldHVybiB0
cnVlOworCisgICAgaWYgKCFtX2dsRGlzcGxheSkgeworI2lmIFBMQVRGT1JNKFgxMSkKKyAgICAg
ICAgRGlzcGxheSogZGlzcGxheSA9IEdMQ29udGV4dDo6c2hhcmVkWDExRGlzcGxheSgpOworICAg
ICAgICBtX2dsRGlzcGxheSA9IEdTVF9HTF9ESVNQTEFZKGdzdF9nbF9kaXNwbGF5X3gxMV9uZXdf
d2l0aF9kaXNwbGF5KGRpc3BsYXkpKTsKKyNlbGlmIFBMQVRGT1JNKFdBWUxBTkQpCisgICAgICAg
IEVHTERpc3BsYXkgZGlzcGxheSA9IFdheWxhbmREaXNwbGF5OjppbnN0YW5jZSgpLT5lZ2xEaXNw
bGF5KCk7CisgICAgICAgIG1fZ2xEaXNwbGF5ID0gR1NUX0dMX0RJU1BMQVkoZ3N0X2dsX2Rpc3Bs
YXlfZWdsX25ld193aXRoX2VnbF9kaXNwbGF5KGRpc3BsYXkpKTsKKyNlbHNlCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyNlbmRpZgorICAgIH0KKworICAgIC8vIFVTRShHU1RSRUFNRVJfR0wpIGlt
cGxpZXMgVVNFKDNEX0dSQVBISUNTKQorICAgIGF1dG8gY29udGV4dEhhbmRsZSA9IHJlaW50ZXJw
cmV0X2Nhc3Q8Z3VpbnRwdHI+KEdMQ29udGV4dDo6c2hhcmluZ0NvbnRleHQoKS0+cGxhdGZvcm1D
b250ZXh0KCkpOworICAgIGlmICghY29udGV4dEhhbmRsZSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgR3N0R0xQbGF0Zm9ybSBnbFBsYXRmb3JtID0gR1NUX0dMX1BMQVRGT1JNX0FOWTsK
KyAgICBHc3RHTEFQSSBnbEFQSSA9IEdTVF9HTF9BUElfT1BFTkdMOworI2lmIFVTRShHTFgpCisg
ICAgZ2xQbGF0Zm9ybSA9IEdTVF9HTF9QTEFURk9STV9HTFg7CisjZWxpZiBVU0UoRUdMKQorICAg
IGdsUGxhdGZvcm0gPSBHU1RfR0xfUExBVEZPUk1fRUdMOworI2VuZGlmCisjaWYgVVNFKEdMRVMy
KQorICAgIGdsQVBJID0gR1NUX0dMX0FQSV9HTEVTMjsKKyNlbmRpZgorICAgIG1fZ2xDb250ZXh0
ID0gZ3N0X2dsX2NvbnRleHRfbmV3X3dyYXBwZWQobV9nbERpc3BsYXkuZ2V0KCksIGNvbnRleHRI
YW5kbGUsIGdsUGxhdGZvcm0sIGdsQVBJKTsKKyNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSX0dMKQor
CisgICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
OjpzaW11bGF0ZUF1ZGlvSW50ZXJydXB0aW9uKCkKIHsKICAgICBHc3RNZXNzYWdlKiBtZXNzYWdl
ID0gZ3N0X21lc3NhZ2VfbmV3X3JlcXVlc3Rfc3RhdGUoR1NUX09CSkVDVChtX3BsYXlCaW4uZ2V0
KCkpLCBHU1RfU1RBVEVfUEFVU0VEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXIuaAppbmRleCA4ODE5ZDUwYzEzYjRhZjgyZTIwMWMxYmVkMmUwOTU2YjE4Yjdm
MDEwLi4zYjE4NTk3YTBlMmVkYTExOWJkYTc3MTBhOGEyZTI4Mzc2MTVhNGJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCkBAIC02OCw3ICs2OCw3IEBA
IHB1YmxpYzoKICAgICB+TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyKCk7CiAKICAgICBzdGF0
aWMgdm9pZCByZWdpc3Rlck1lZGlhRW5naW5lKE1lZGlhRW5naW5lUmVnaXN0cmFyKTsKLSAgICBn
Ym9vbGVhbiBoYW5kbGVTeW5jTWVzc2FnZShHc3RNZXNzYWdlKik7CisgICAgYm9vbCBoYW5kbGVT
eW5jTWVzc2FnZShHc3RNZXNzYWdlKik7CiAgICAgZ2Jvb2xlYW4gaGFuZGxlTWVzc2FnZShHc3RN
ZXNzYWdlKik7CiAgICAgdm9pZCBoYW5kbGVQbHVnaW5JbnN0YWxsZXJSZXN1bHQoR3N0SW5zdGFs
bFBsdWdpbnNSZXR1cm4pOwogCkBAIC0xNTgsNiArMTU4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGFzeW5jU3RhdGVDaGFuZ2VEb25lKCk7CiAKICAgICB2b2lkIGNyZWF0ZUdTVFBsYXlCaW4oKTsK
KyAgICBib29sIGNyZWF0ZUdzdEdMKCk7CiAKICAgICBib29sIGxvYWROZXh0TG9jYXRpb24oKTsK
ICAgICB2b2lkIG1lZGlhTG9jYXRpb25DaGFuZ2VkKEdzdE1lc3NhZ2UqKTsKQEAgLTI1NSw4ICsy
NTYsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgaXNNZWRpYVNvdXJjZSgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CiAjZW5kaWYKICNpZiBVU0UoR1NUUkVBTUVSX0dMKQotICAgIEdzdEdMQ29udGV4
dCogbV9nbENvbnRleHQ7Ci0gICAgR3N0R0xEaXNwbGF5KiBtX2dsRGlzcGxheTsKKyAgICBHUmVm
UHRyPEdzdEdMQ29udGV4dD4gbV9nbENvbnRleHQ7CisgICAgR1JlZlB0cjxHc3RHTERpc3BsYXk+
IG1fZ2xEaXNwbGF5OwogI2VuZGlmCiB9OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09w
dGlvbnNHVEsuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQppbmRleCAxOTBj
MzgwN2FkNmIzN2Y1NjIzYmRjMmYyMTcwMDUwMGYwOWIxZmI0Li5kYjIwOTEwMzllNDYzNDFhMzc1
MDdlNzU1YTI5NDE3M2RlN2M1OTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0dU
Sy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQpAQCAtMjgyLDExICsy
ODIsNiBAQCBpZiAoRU5BQkxFX1ZJREVPIE9SIEVOQUJMRV9XRUJfQVVESU8pCiAgICAgICAgIGFk
ZF9kZWZpbml0aW9ucygtRFdURl9VU0VfR1NUUkVBTUVSX01QRUdUUykKICAgICAgICAgc2V0KFVT
RV9HU1RSRUFNRVJfTVBFR1RTIFRSVUUpCiAgICAgZW5kaWYgKCkKLQotICAgIGlmIChQQ19HU1RS
RUFNRVJfR0xfRk9VTkQpCi0gICAgICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfR1NUUkVB
TUVSX0dMKQotICAgICAgICBzZXQoVVNFX0dTVFJFQU1FUl9HTCBUUlVFKQotICAgIGVuZGlmICgp
CiBlbmRpZiAoKQogCiBpZiAoRU5BQkxFX1dBWUxBTkRfVEFSR0VUKQpAQCAtMzkzLDYgKzM4OCwx
MSBAQCBpZiAoKE9QRU5HTF9GT1VORCBPUiBPUEVOR0xFUzJfRk9VTkQpIEFORCAoR0xYX0ZPVU5E
IE9SIEVHTF9GT1VORCkpCiAgICAgICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfQ09PUkRJ
TkFURURfR1JBUEhJQ1M9MSkKICAgICAgICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VTRV9DT09S
RElOQVRFRF9HUkFQSElDU19USFJFQURFRD0xKQogICAgIGVuZGlmICgpCisKKyAgICBpZiAoUENf
R1NUUkVBTUVSX0dMX0ZPVU5EKQorICAgICAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFX0dT
VFJFQU1FUl9HTCkKKyAgICAgICAgc2V0KFVTRV9HU1RSRUFNRVJfR0wgVFJVRSkKKyAgICBlbmRp
ZiAoKQogZW5kaWYgKCkKIAogaWYgKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpCmRpZmYgLS1n
aXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggNjRlODY1NmM2ZWY4YjYyYmE3YTk1MDIw
ZWY1NDcxNTlhNTQwMWJjOS4uZjQ0YzUzNDNlZmNmNDc2MTY1MjQ0OGIzNjFhN2M0NjEyY2YwMjVk
MiAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDE1LTAzLTI1ICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgIDx2amFxdWV6QGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dTdHJlYW1lcl0gc2hhcmUgR0wgY29udGV4dCBpbiBwaXBlbGlu
ZSwgcGFydCAyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDMwNDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlOiBVU0VfR1NUUkVBTUVSX0dMIGlzIHNl
dCBvbmx5IGlmCisgICAgICAgIE9wZW5HTC9FUzIgaXMgZm91bmQgYW5kIEdMWC9FR0wgaXMgZm91
bmQgdG9vLgorCiAyMDE1LTAzLTIzICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBBZGQgYSBjb25maWd1cmUgb3B0aW9uIHRvIGJ1aWxk
IHdpdGhvdXQgUmVkaXJlY3RlZCBYQ29tcG9zaXRlIFdpbmRvdwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249414</attachid>
            <date>2015-03-25 11:06:47 -0700</date>
            <delta_ts>2015-03-26 03:07:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143049-20150325190608.patch</filename>
            <type>text/plain</type>
            <size>10682</size>
            <attacher name="Víctor M. Jáquez L.">vjaquez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxODkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzUwZjk5NjViMjZhNGYw
YzVhMDczY2UxYTdmYmVmNWM2NDE1NTc0Ni4uZDkzNzM5NDRkOTE2ZWQ4ZTVjOWU4NWUyYzBmOGY1
ZWEwNzMxNzU0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE1LTAzLTI1ICBWw61j
dG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgIDx2amFxdWV6QGlnYWxpYS5jb20+CisKKyAgICAgICAg
W0dTdHJlYW1lcl0gc2hhcmUgR0wgY29udGV4dCBpbiBwaXBlbGluZSwgcGFydCAyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDMwNDkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoLCBpbnN0
ZWFkIG9mIGNsdXR0ZXJpbmcgdGhlIEdzdEdMIGF0dHJpYnV0ZXMgY3JlYXRpb24gaW4KKyAgICAg
ICAgOjpoYW5kbGVTeW5jTWVzc2FnZSgpLCBjcmVhdGVzIGEgbmV3IG1ldGhvZCA6OmVuc3VyZUdz
dEdMQ29udGV4dCgpLAorICAgICAgICB3aGVyZSB0aG9zZSBhdHRyaWJ1dGVzIGFyZSBkZWZpbmVk
LiBUaGlzIG1ldGhvZCBpcyBndWFyZGVkIGJ5CisgICAgICAgIFVTRShHU1RSRUFNRVJfR0wpCisK
KyAgICAgICAgOjpoYW5kbFN5bmNNZXNzYWdlKCkgc2hhbGwgcmV0dXJuIHZvaWQsIGFjY29yZGlu
ZyB0byBHU3RyZWFtZXIKKyAgICAgICAgZG9jdW1lbnRhdGlvbiwgbm90IGEgYm9vbGVhbi4KKwor
ICAgICAgICBUaGUgR3N0R0wgYXR0cmlidXRlcyBhcmUgbm93IEdSZWZQdHI8PiB0byBhdm9pZCBt
ZW1vcnkgbGVha3MuCisKKyAgICAgICAgVGhlIEdzdEdMQVBJIGFuZCBHc3RHTFBsYXRmb3JtIGFy
ZSBub3cgc2V0IGdpdmVuIGJ5IHRoZSBwcmUtcHJvY2Vzc29yCisgICAgICAgIGRpcmVjdGl2ZXMs
IGFuZCB0aGUgY29kZSBpbiA6OmVuc3VyZUdzdEdMQ29udGV4dCgpIGlzIHNpbXBsZXIuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhpcyBpcyBwbGF0Zm9ybSBzcGVjaWZpYyBhbmQg
aXQgZGVwZW5kcyBpbiB0aGUKKyAgICAgICAgcnVuLXRpbWUgYXZhaWxhYmlsaXR5IGFuZCBjb25m
aWd1cmF0aW9ucyBvZiBHc3RHTCBlbGVtZW50cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXIpOgorICAgICAgICBEb24ndCBpbml0aWFsaXNlIHRoZSBHc3RHTCBhdHRyaWJ1dGVz
IHNpbmNlIGFyZSBHUmVmUHRyPD4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lcjo6aGFuZGxlU3luY01lc3NhZ2UpOiBDaGFuZ2VkIHRoZQorICAgICAgICBzaWdu
YXR1cmUgdG8gdXNlIGJvb2wgaW5zdGVhZCBvZiBnYm9vbGVhbi4KKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6ZW5zdXJlR3N0R0xDb250ZXh0KTogTmV3IG1l
dGhvZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyLmg6CisKIDIwMTUtMDMtMjMgWW9hdiBXZWlzcyAgPHlvYXZAeW9hdi53
cz4KIAogICAgICAgICBVcGRhdGUgZW1wdHkgaW1hZ2UgY2FudmFzIHRlc3RzIGFuZCBmaXggYSBy
ZWxhdGVkIGJ1ZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
LmNwcAppbmRleCAyNWZmZDA4NmRmMTI4NmUwZjUwYmY4NTk3OWRkYTkyMmRmNzczNDdkLi5kODEx
YzczZDMzY2ZkZDRjYzM3OTZlMDU3NDRkZWFlM2RhY2YyOGM3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAtMTA2LDkgKzEwNiw5IEBAIHN0
YXRpYyBnYm9vbGVhbiBtZWRpYVBsYXllclByaXZhdGVNZXNzYWdlQ2FsbGJhY2soR3N0QnVzKiwg
R3N0TWVzc2FnZSogbWVzc2FnZSwKICAgICByZXR1cm4gcGxheWVyLT5oYW5kbGVNZXNzYWdlKG1l
c3NhZ2UpOwogfQogCi1zdGF0aWMgZ2Jvb2xlYW4gbWVkaWFQbGF5ZXJQcml2YXRlU3luY01lc3Nh
Z2VDYWxsYmFjayhHc3RCdXMqLCBHc3RNZXNzYWdlKiBtZXNzYWdlLCBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXIqIHBsYXllcikKK3N0YXRpYyB2b2lkIG1lZGlhUGxheWVyUHJpdmF0ZVN5bmNN
ZXNzYWdlQ2FsbGJhY2soR3N0QnVzKiwgR3N0TWVzc2FnZSogbWVzc2FnZSwgTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyKiBwbGF5ZXIpCiB7Ci0gICAgcmV0dXJuIHBsYXllci0+aGFuZGxlU3lu
Y01lc3NhZ2UobWVzc2FnZSk7CisgICAgcGxheWVyLT5oYW5kbGVTeW5jTWVzc2FnZShtZXNzYWdl
KTsKIH0KIAogc3RhdGljIHZvaWQgbWVkaWFQbGF5ZXJQcml2YXRlU291cmNlQ2hhbmdlZENhbGxi
YWNrKEdPYmplY3QqLCBHUGFyYW1TcGVjKiwgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyKiBw
bGF5ZXIpCkBAIC0yNDQsMTAgKzI0NCw2IEBAIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiAjZW5kaWYK
ICAgICAsIG1fcmVxdWVzdGVkU3RhdGUoR1NUX1NUQVRFX1ZPSURfUEVORElORykKICAgICAsIG1f
bWlzc2luZ1BsdWdpbnMoZmFsc2UpCi0jaWYgVVNFKEdTVFJFQU1FUl9HTCkKLSAgICAsIG1fZ2xD
b250ZXh0KG51bGxwdHIpCi0gICAgLCBtX2dsRGlzcGxheShudWxscHRyKQotI2VuZGlmCiB7CiB9
CiAKQEAgLTkzNSw3ICs5MzEsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFuZ2Vz
PiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmJ1ZmZlcmVkKCkgY29ucwogICAgIHJldHVy
biB0aW1lUmFuZ2VzOwogfQogCi1nYm9vbGVhbiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6
OmhhbmRsZVN5bmNNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCit2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lcjo6aGFuZGxlU3luY01lc3NhZ2UoR3N0TWVzc2FnZSogbWVzc2FnZSkK
IHsKICAgICBzd2l0Y2ggKEdTVF9NRVNTQUdFX1RZUEUobWVzc2FnZSkpIHsKICNpZiBVU0UoR1NU
UkVBTUVSX0dMKQpAQCAtOTQzLDQyICs5MzksMjIgQEAgZ2Jvb2xlYW4gTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyOjpoYW5kbGVTeW5jTWVzc2FnZShHc3RNZXNzYWdlKiBtZXNzYWdlKQogICAg
ICAgICBjb25zdCBnY2hhciogY29udGV4dFR5cGU7CiAgICAgICAgIGdzdF9tZXNzYWdlX3BhcnNl
X2NvbnRleHRfdHlwZShtZXNzYWdlLCAmY29udGV4dFR5cGUpOwogCi0gICAgICAgIGlmICghbV9n
bERpc3BsYXkpIHsKLSNpZiBQTEFURk9STShYMTEpCi0gICAgICAgICAgICBEaXNwbGF5KiBkaXNw
bGF5ID0gR0xDb250ZXh0OjpzaGFyZWRYMTFEaXNwbGF5KCk7Ci0gICAgICAgICAgICBHc3RHTERp
c3BsYXlYMTEqIGdzdEdMRGlzcGxheSA9IGdzdF9nbF9kaXNwbGF5X3gxMV9uZXdfd2l0aF9kaXNw
bGF5KGRpc3BsYXkpOwotI2VsaWYgUExBVEZPUk0oV0FZTEFORCkKLSAgICAgICAgICAgIEVHTERp
c3BsYXkgZGlzcGxheSA9IFdheWxhbmREaXNwbGF5OjppbnN0YW5jZSgpLT5lZ2xEaXNwbGF5KCk7
Ci0gICAgICAgICAgICBHc3RHTERpc3BsYXlFR0wqIGdzdEdMRGlzcGxheSA9IGdzdF9nbF9kaXNw
bGF5X2VnbF9uZXdfd2l0aF9lZ2xfZGlzcGxheShkaXNwbGF5KTsKLSNlbHNlCi0gICAgICAgICAg
ICByZXR1cm4gRkFMU0U7Ci0jZW5kaWYKLQotICAgICAgICAgICAgbV9nbERpc3BsYXkgPSByZWlu
dGVycHJldF9jYXN0PEdzdEdMRGlzcGxheSo+KGdzdEdMRGlzcGxheSk7Ci0gICAgICAgICAgICBH
TENvbnRleHQqIHdlYmtpdENvbnRleHQgPSBHTENvbnRleHQ6OnNoYXJpbmdDb250ZXh0KCk7Ci0j
aWYgVVNFKEdMWCkKLSAgICAgICAgICAgIEdMWENvbnRleHQqIGdseFNoYXJpbmdDb250ZXh0ID0g
cmVpbnRlcnByZXRfY2FzdDxHTFhDb250ZXh0Kj4od2Via2l0Q29udGV4dC0+cGxhdGZvcm1Db250
ZXh0KCkpOwotICAgICAgICAgICAgaWYgKGdseFNoYXJpbmdDb250ZXh0ICYmICFtX2dsQ29udGV4
dCkKLSAgICAgICAgICAgICAgICBtX2dsQ29udGV4dCA9IGdzdF9nbF9jb250ZXh0X25ld193cmFw
cGVkKEdTVF9HTF9ESVNQTEFZKGdzdEdMRGlzcGxheSksIHJlaW50ZXJwcmV0X2Nhc3Q8Z3VpbnRw
dHI+KGdseFNoYXJpbmdDb250ZXh0KSwgR1NUX0dMX1BMQVRGT1JNX0dMWCwgR1NUX0dMX0FQSV9P
UEVOR0wpOwotI2VsaWYgVVNFKEVHTCkKLSAgICAgICAgICAgIEVHTENvbnRleHQqIGVnbFNoYXJp
bmdDb250ZXh0ID0gcmVpbnRlcnByZXRfY2FzdDxFR0xDb250ZXh0Kj4od2Via2l0Q29udGV4dC0+
cGxhdGZvcm1Db250ZXh0KCkpOwotICAgICAgICAgICAgaWYgKGVnbFNoYXJpbmdDb250ZXh0ICYm
ICFtX2dsQ29udGV4dCkKLSAgICAgICAgICAgICAgICBtX2dsQ29udGV4dCA9IGdzdF9nbF9jb250
ZXh0X25ld193cmFwcGVkKEdTVF9HTF9ESVNQTEFZKGdzdEdMRGlzcGxheSksIHJlaW50ZXJwcmV0
X2Nhc3Q8Z3VpbnRwdHI+KGVnbFNoYXJpbmdDb250ZXh0KSwgR1NUX0dMX1BMQVRGT1JNX0VHTCwg
R1NUX0dMX0FQSV9HTEVTMik7Ci0jZW5kaWYKLSAgICAgICAgfQorICAgICAgICBpZiAoIWVuc3Vy
ZUdzdEdMQ29udGV4dCgpKQorICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGlmICghZ19z
dHJjbXAwKGNvbnRleHRUeXBlLCBHU1RfR0xfRElTUExBWV9DT05URVhUX1RZUEUpKSB7CiAgICAg
ICAgICAgICBHc3RDb250ZXh0KiBkaXNwbGF5Q29udGV4dCA9IGdzdF9jb250ZXh0X25ldyhHU1Rf
R0xfRElTUExBWV9DT05URVhUX1RZUEUsIFRSVUUpOwotICAgICAgICAgICAgZ3N0X2NvbnRleHRf
c2V0X2dsX2Rpc3BsYXkoZGlzcGxheUNvbnRleHQsIG1fZ2xEaXNwbGF5KTsKKyAgICAgICAgICAg
IGdzdF9jb250ZXh0X3NldF9nbF9kaXNwbGF5KGRpc3BsYXlDb250ZXh0LCBtX2dsRGlzcGxheS5n
ZXQoKSk7CiAgICAgICAgICAgICBnc3RfZWxlbWVudF9zZXRfY29udGV4dChHU1RfRUxFTUVOVCht
ZXNzYWdlLT5zcmMpLCBkaXNwbGF5Q29udGV4dCk7Ci0gICAgICAgICAgICByZXR1cm4gVFJVRTsK
KyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQorCiAgICAgICAgIGlmICghZ19zdHJjbXAw
KGNvbnRleHRUeXBlLCAiZ3N0LmdsLmFwcF9jb250ZXh0IikpIHsKICAgICAgICAgICAgIEdzdENv
bnRleHQqIGFwcENvbnRleHQgPSBnc3RfY29udGV4dF9uZXcoImdzdC5nbC5hcHBfY29udGV4dCIs
IFRSVUUpOwogICAgICAgICAgICAgR3N0U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBnc3RfY29udGV4
dF93cml0YWJsZV9zdHJ1Y3R1cmUoYXBwQ29udGV4dCk7Ci0gICAgICAgICAgICBnc3Rfc3RydWN0
dXJlX3NldChzdHJ1Y3R1cmUsICJjb250ZXh0IiwgR1NUX0dMX1RZUEVfQ09OVEVYVCwgbV9nbENv
bnRleHQsIG51bGxwdHIpOworICAgICAgICAgICAgZ3N0X3N0cnVjdHVyZV9zZXQoc3RydWN0dXJl
LCAiY29udGV4dCIsIEdTVF9HTF9UWVBFX0NPTlRFWFQsIG1fZ2xDb250ZXh0LmdldCgpLCBudWxs
cHRyKTsKICAgICAgICAgICAgIGdzdF9lbGVtZW50X3NldF9jb250ZXh0KEdTVF9FTEVNRU5UKG1l
c3NhZ2UtPnNyYyksIGFwcENvbnRleHQpOwotICAgICAgICAgICAgcmV0dXJuIFRSVUU7CisgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtOTg2
LDcgKzk2Miw3IEBAIGdib29sZWFuIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6aGFuZGxl
U3luY01lc3NhZ2UoR3N0TWVzc2FnZSogbWVzc2FnZSkKICAgICBkZWZhdWx0OgogICAgICAgICBi
cmVhazsKICAgICB9Ci0gICAgcmV0dXJuIEZBTFNFOworICAgIHJldHVybjsKIH0KIAogZ2Jvb2xl
YW4gTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVNZXNzYWdlKEdzdE1lc3NhZ2Uq
IG1lc3NhZ2UpCkBAIC0yMDY4LDYgKzIwNDQsNDEgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI6OmNyZWF0ZUdTVFBsYXlCaW4oKQogICAgICAgICBnX3NpZ25hbF9jb25uZWN0KHZp
ZGVvU2lua1BhZC5nZXQoKSwgIm5vdGlmeTo6Y2FwcyIsIEdfQ0FMTEJBQ0sobWVkaWFQbGF5ZXJQ
cml2YXRlVmlkZW9TaW5rQ2Fwc0NoYW5nZWRDYWxsYmFjayksIHRoaXMpOwogfQogCisjaWYgVVNF
KEdTVFJFQU1FUl9HTCkKK2Jvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjplbnN1cmVH
c3RHTENvbnRleHQoKQoreworICAgIGlmIChtX2dsQ29udGV4dCkKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisKKyAgICBpZiAoIW1fZ2xEaXNwbGF5KSB7CisjaWYgUExBVEZPUk0oWDExKQorICAgICAg
ICBEaXNwbGF5KiBkaXNwbGF5ID0gR0xDb250ZXh0OjpzaGFyZWRYMTFEaXNwbGF5KCk7CisgICAg
ICAgIG1fZ2xEaXNwbGF5ID0gR1NUX0dMX0RJU1BMQVkoZ3N0X2dsX2Rpc3BsYXlfeDExX25ld193
aXRoX2Rpc3BsYXkoZGlzcGxheSkpOworI2VsaWYgUExBVEZPUk0oV0FZTEFORCkKKyAgICAgICAg
RUdMRGlzcGxheSBkaXNwbGF5ID0gV2F5bGFuZERpc3BsYXk6Omluc3RhbmNlKCktPmVnbERpc3Bs
YXkoKTsKKyAgICAgICAgbV9nbERpc3BsYXkgPSBHU1RfR0xfRElTUExBWShnc3RfZ2xfZGlzcGxh
eV9lZ2xfbmV3X3dpdGhfZWdsX2Rpc3BsYXkoZGlzcGxheSkpOworI2VuZGlmCisgICAgfQorCisg
ICAgUGxhdGZvcm1HcmFwaGljc0NvbnRleHQzRCBjb250ZXh0SGFuZGxlID0gR0xDb250ZXh0Ojpz
aGFyaW5nQ29udGV4dCgpLT5wbGF0Zm9ybUNvbnRleHQoKTsKKyAgICBpZiAoIWNvbnRleHRIYW5k
bGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyNpZiBVU0UoRUdMKQorICAgIEdzdEdMUGxhdGZv
cm0gZ2xQbGF0Zm9ybSA9IEdTVF9HTF9QTEFURk9STV9FR0w7CisjZWxzZQorICAgIEdzdEdMUGxh
dGZvcm0gZ2xQbGF0Zm9ybSA9IEdTVF9HTF9QTEFURk9STV9HTFg7CisjZW5kaWYKKyNpZiBVU0Uo
R0xFUzIpCisgICAgR3N0R0xBUEkgZ2xBUEkgPSBHU1RfR0xfQVBJX0dMRVMyOworI2Vsc2UKKyAg
ICBHc3RHTEFQSSBnbEFQSSA9IEdTVF9HTF9BUElfT1BFTkdMOworI2VuZGlmCisgICAgbV9nbENv
bnRleHQgPSBnc3RfZ2xfY29udGV4dF9uZXdfd3JhcHBlZChtX2dsRGlzcGxheS5nZXQoKSwgcmVp
bnRlcnByZXRfY2FzdDxndWludHB0cj4oY29udGV4dEhhbmRsZSksIGdsUGxhdGZvcm0sIGdsQVBJ
KTsKKworICAgIHJldHVybiB0cnVlOworfQorI2VuZGlmIC8vIFVTRShHU1RSRUFNRVJfR0wpCisK
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzaW11bGF0ZUF1ZGlvSW50ZXJydXB0
aW9uKCkKIHsKICAgICBHc3RNZXNzYWdlKiBtZXNzYWdlID0gZ3N0X21lc3NhZ2VfbmV3X3JlcXVl
c3Rfc3RhdGUoR1NUX09CSkVDVChtX3BsYXlCaW4uZ2V0KCkpLCBHU1RfU1RBVEVfUEFVU0VEKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAppbmRleCA4ODE5
ZDUwYzEzYjRhZjgyZTIwMWMxYmVkMmUwOTU2YjE4YjdmMDEwLi4zOTIyNmQyZmU3ZmY2OTBkNjM0
NWU0YTE0MTc3MjczZTBhNTg4YjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5oCkBAIC02OCw3ICs2OCw3IEBAIHB1YmxpYzoKICAgICB+TWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyKCk7CiAKICAgICBzdGF0aWMgdm9pZCByZWdpc3Rlck1lZGlhRW5n
aW5lKE1lZGlhRW5naW5lUmVnaXN0cmFyKTsKLSAgICBnYm9vbGVhbiBoYW5kbGVTeW5jTWVzc2Fn
ZShHc3RNZXNzYWdlKik7CisgICAgdm9pZCBoYW5kbGVTeW5jTWVzc2FnZShHc3RNZXNzYWdlKik7
CiAgICAgZ2Jvb2xlYW4gaGFuZGxlTWVzc2FnZShHc3RNZXNzYWdlKik7CiAgICAgdm9pZCBoYW5k
bGVQbHVnaW5JbnN0YWxsZXJSZXN1bHQoR3N0SW5zdGFsbFBsdWdpbnNSZXR1cm4pOwogCkBAIC0x
NTksNiArMTU5LDEwIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGNyZWF0ZUdTVFBsYXlCaW4oKTsK
IAorI2lmIFVTRShHU1RSRUFNRVJfR0wpCisgICAgYm9vbCBlbnN1cmVHc3RHTENvbnRleHQoKTsK
KyNlbmRpZgorCiAgICAgYm9vbCBsb2FkTmV4dExvY2F0aW9uKCk7CiAgICAgdm9pZCBtZWRpYUxv
Y2F0aW9uQ2hhbmdlZChHc3RNZXNzYWdlKik7CiAKQEAgLTI1NSw4ICsyNTksOCBAQCBwcml2YXRl
OgogICAgIGJvb2wgaXNNZWRpYVNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5k
aWYKICNpZiBVU0UoR1NUUkVBTUVSX0dMKQotICAgIEdzdEdMQ29udGV4dCogbV9nbENvbnRleHQ7
Ci0gICAgR3N0R0xEaXNwbGF5KiBtX2dsRGlzcGxheTsKKyAgICBHUmVmUHRyPEdzdEdMQ29udGV4
dD4gbV9nbENvbnRleHQ7CisgICAgR1JlZlB0cjxHc3RHTERpc3BsYXk+IG1fZ2xEaXNwbGF5Owog
I2VuZGlmCiB9OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2Ug
Yi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQppbmRleCAxOTBjMzgwN2FkNmIzN2Y1NjIz
YmRjMmYyMTcwMDUwMGYwOWIxZmI0Li5kYjIwOTEwMzllNDYzNDFhMzc1MDdlNzU1YTI5NDE3M2Rl
N2M1OTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQorKysgYi9T
b3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQpAQCAtMjgyLDExICsyODIsNiBAQCBpZiAoRU5B
QkxFX1ZJREVPIE9SIEVOQUJMRV9XRUJfQVVESU8pCiAgICAgICAgIGFkZF9kZWZpbml0aW9ucygt
RFdURl9VU0VfR1NUUkVBTUVSX01QRUdUUykKICAgICAgICAgc2V0KFVTRV9HU1RSRUFNRVJfTVBF
R1RTIFRSVUUpCiAgICAgZW5kaWYgKCkKLQotICAgIGlmIChQQ19HU1RSRUFNRVJfR0xfRk9VTkQp
Ci0gICAgICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfR1NUUkVBTUVSX0dMKQotICAgICAg
ICBzZXQoVVNFX0dTVFJFQU1FUl9HTCBUUlVFKQotICAgIGVuZGlmICgpCiBlbmRpZiAoKQogCiBp
ZiAoRU5BQkxFX1dBWUxBTkRfVEFSR0VUKQpAQCAtMzkzLDYgKzM4OCwxMSBAQCBpZiAoKE9QRU5H
TF9GT1VORCBPUiBPUEVOR0xFUzJfRk9VTkQpIEFORCAoR0xYX0ZPVU5EIE9SIEVHTF9GT1VORCkp
CiAgICAgICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfQ09PUkRJTkFURURfR1JBUEhJQ1M9
MSkKICAgICAgICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VTRV9DT09SRElOQVRFRF9HUkFQSElD
U19USFJFQURFRD0xKQogICAgIGVuZGlmICgpCisKKyAgICBpZiAoUENfR1NUUkVBTUVSX0dMX0ZP
VU5EKQorICAgICAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFX0dTVFJFQU1FUl9HTCkKKyAg
ICAgICAgc2V0KFVTRV9HU1RSRUFNRVJfR0wgVFJVRSkKKyAgICBlbmRpZiAoKQogZW5kaWYgKCkK
IAogaWYgKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cg
Yi9DaGFuZ2VMb2cKaW5kZXggNjRlODY1NmM2ZWY4YjYyYmE3YTk1MDIwZWY1NDcxNTlhNTQwMWJj
OS4uZjQ0YzUzNDNlZmNmNDc2MTY1MjQ0OGIzNjFhN2M0NjEyY2YwMjVkMiAxMDA2NDQKLS0tIGEv
Q2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE1LTAzLTI1ICBW
w61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgIDx2amFxdWV6QGlnYWxpYS5jb20+CisKKyAgICAg
ICAgW0dTdHJlYW1lcl0gc2hhcmUgR0wgY29udGV4dCBpbiBwaXBlbGluZSwgcGFydCAyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDMwNDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9jbWFr
ZS9PcHRpb25zR1RLLmNtYWtlOiBVU0VfR1NUUkVBTUVSX0dMIGlzIHNldCBvbmx5IGlmCisgICAg
ICAgIE9wZW5HTC9FUzIgaXMgZm91bmQgYW5kIEdMWC9FR0wgaXMgZm91bmQgdG9vLgorCiAyMDE1
LTAzLTIzICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1RLXSBBZGQgYSBjb25maWd1cmUgb3B0aW9uIHRvIGJ1aWxkIHdpdGhvdXQgUmVkaXJl
Y3RlZCBYQ29tcG9zaXRlIFdpbmRvdwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249480</attachid>
            <date>2015-03-26 03:07:56 -0700</date>
            <delta_ts>2015-03-27 02:40:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143049-20150326110717.patch</filename>
            <type>text/plain</type>
            <size>10327</size>
            <attacher name="Víctor M. Jáquez L.">vjaquez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxODkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzUwZjk5NjViMjZhNGYw
YzVhMDczY2UxYTdmYmVmNWM2NDE1NTc0Ni4uODZiYzQwNDgwYzMxYzI2YzZlN2RkOGE1ZTNmNmZj
NzM0MWY4NTM2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE1LTAzLTI1ICBWw61j
dG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgIDx2amFxdWV6QGlnYWxpYS5jb20+CisKKyAgICAgICAg
W0dTdHJlYW1lcl0gc2hhcmUgR0wgY29udGV4dCBpbiBwaXBlbGluZSwgcGFydCAyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDMwNDkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoLCBpbnN0
ZWFkIG9mIGNsdXR0ZXJpbmcgdGhlIEdzdEdMIGF0dHJpYnV0ZXMgY3JlYXRpb24gaW4KKyAgICAg
ICAgOjpoYW5kbGVTeW5jTWVzc2FnZSgpLCBjcmVhdGVzIGEgbmV3IG1ldGhvZCA6OmVuc3VyZUdz
dEdMQ29udGV4dCgpLAorICAgICAgICB3aGVyZSB0aG9zZSBhdHRyaWJ1dGVzIGFyZSBkZWZpbmVk
LiBUaGlzIG1ldGhvZCBpcyBndWFyZGVkIGJ5CisgICAgICAgIFVTRShHU1RSRUFNRVJfR0wpCisK
KyAgICAgICAgOjpoYW5kbFN5bmNNZXNzYWdlKCkgc2hhbGwgcmV0dXJuIG5vdGhpbmcsIGFjY29y
ZGluZyB0byBHU3RyZWFtZXIKKyAgICAgICAgZG9jdW1lbnRhdGlvbiwgbm90IGEgYm9vbGVhbi4K
KworICAgICAgICBUaGUgR3N0R0wgYXR0cmlidXRlcyBhcmUgbm93IEdSZWZQdHI8PiB0byBhdm9p
ZCBtZW1vcnkgbGVha3MuCisKKyAgICAgICAgVGhlIEdzdEdMQVBJIGFuZCBHc3RHTFBsYXRmb3Jt
IGFyZSBub3cgc2V0IGdpdmVuIGJ5IHRoZSBwcmUtcHJvY2Vzc29yCisgICAgICAgIGRpcmVjdGl2
ZXMsIGFuZCB0aGUgY29kZSBpbiA6OmVuc3VyZUdzdEdMQ29udGV4dCgpIGlzIHNpbXBsZXIuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhpcyBpcyBwbGF0Zm9ybSBzcGVjaWZpYyBh
bmQgaXQgZGVwZW5kcyBpbiB0aGUKKyAgICAgICAgcnVuLXRpbWUgYXZhaWxhYmlsaXR5IGFuZCBj
b25maWd1cmF0aW9ucyBvZiBHc3RHTCBlbGVtZW50cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXIpOgorICAgICAgICBEb24ndCBpbml0aWFsaXNlIHRoZSBHc3RHTCBhdHRyaWJ1
dGVzIHNpbmNlIGFyZSBHUmVmUHRyPD4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcjo6aGFuZGxlU3luY01lc3NhZ2UpOiBDaGFuZ2VkIHRoZQorICAgICAgICBz
aWduYXR1cmUgdG8gdXNlIHZvaWQgaW5zdGVhZCBvZiBnYm9vbGVhbi4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6ZW5zdXJlR3N0R0xDb250ZXh0KTogTmV3
IG1ldGhvZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyLmg6CisKIDIwMTUtMDMtMjMgWW9hdiBXZWlzcyAgPHlvYXZAeW9h
di53cz4KIAogICAgICAgICBVcGRhdGUgZW1wdHkgaW1hZ2UgY2FudmFzIHRlc3RzIGFuZCBmaXgg
YSByZWxhdGVkIGJ1ZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyLmNwcAppbmRleCAyNWZmZDA4NmRmMTI4NmUwZjUwYmY4NTk3OWRkYTkyMmRmNzczNDdkLi43
YjNmZTBiOWMwZDhmMDFhNTg1MDIwOWVhY2EzNDc2MTljZjA0MTIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAtMTA2LDkgKzEwNiw5IEBA
IHN0YXRpYyBnYm9vbGVhbiBtZWRpYVBsYXllclByaXZhdGVNZXNzYWdlQ2FsbGJhY2soR3N0QnVz
KiwgR3N0TWVzc2FnZSogbWVzc2FnZSwKICAgICByZXR1cm4gcGxheWVyLT5oYW5kbGVNZXNzYWdl
KG1lc3NhZ2UpOwogfQogCi1zdGF0aWMgZ2Jvb2xlYW4gbWVkaWFQbGF5ZXJQcml2YXRlU3luY01l
c3NhZ2VDYWxsYmFjayhHc3RCdXMqLCBHc3RNZXNzYWdlKiBtZXNzYWdlLCBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIqIHBsYXllcikKK3N0YXRpYyB2b2lkIG1lZGlhUGxheWVyUHJpdmF0ZVN5
bmNNZXNzYWdlQ2FsbGJhY2soR3N0QnVzKiwgR3N0TWVzc2FnZSogbWVzc2FnZSwgTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyKiBwbGF5ZXIpCiB7Ci0gICAgcmV0dXJuIHBsYXllci0+aGFuZGxl
U3luY01lc3NhZ2UobWVzc2FnZSk7CisgICAgcGxheWVyLT5oYW5kbGVTeW5jTWVzc2FnZShtZXNz
YWdlKTsKIH0KIAogc3RhdGljIHZvaWQgbWVkaWFQbGF5ZXJQcml2YXRlU291cmNlQ2hhbmdlZENh
bGxiYWNrKEdPYmplY3QqLCBHUGFyYW1TcGVjKiwgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
KiBwbGF5ZXIpCkBAIC0yNDQsMTAgKzI0NCw2IEBAIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
cjo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiAjZW5k
aWYKICAgICAsIG1fcmVxdWVzdGVkU3RhdGUoR1NUX1NUQVRFX1ZPSURfUEVORElORykKICAgICAs
IG1fbWlzc2luZ1BsdWdpbnMoZmFsc2UpCi0jaWYgVVNFKEdTVFJFQU1FUl9HTCkKLSAgICAsIG1f
Z2xDb250ZXh0KG51bGxwdHIpCi0gICAgLCBtX2dsRGlzcGxheShudWxscHRyKQotI2VuZGlmCiB7
CiB9CiAKQEAgLTkzNSw3ICs5MzEsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFu
Z2VzPiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmJ1ZmZlcmVkKCkgY29ucwogICAgIHJl
dHVybiB0aW1lUmFuZ2VzOwogfQogCi1nYm9vbGVhbiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6OmhhbmRsZVN5bmNNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCit2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lcjo6aGFuZGxlU3luY01lc3NhZ2UoR3N0TWVzc2FnZSogbWVzc2Fn
ZSkKIHsKICAgICBzd2l0Y2ggKEdTVF9NRVNTQUdFX1RZUEUobWVzc2FnZSkpIHsKICNpZiBVU0Uo
R1NUUkVBTUVSX0dMKQpAQCAtOTQzLDQyICs5MzksMjIgQEAgZ2Jvb2xlYW4gTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyOjpoYW5kbGVTeW5jTWVzc2FnZShHc3RNZXNzYWdlKiBtZXNzYWdlKQog
ICAgICAgICBjb25zdCBnY2hhciogY29udGV4dFR5cGU7CiAgICAgICAgIGdzdF9tZXNzYWdlX3Bh
cnNlX2NvbnRleHRfdHlwZShtZXNzYWdlLCAmY29udGV4dFR5cGUpOwogCi0gICAgICAgIGlmICgh
bV9nbERpc3BsYXkpIHsKLSNpZiBQTEFURk9STShYMTEpCi0gICAgICAgICAgICBEaXNwbGF5KiBk
aXNwbGF5ID0gR0xDb250ZXh0OjpzaGFyZWRYMTFEaXNwbGF5KCk7Ci0gICAgICAgICAgICBHc3RH
TERpc3BsYXlYMTEqIGdzdEdMRGlzcGxheSA9IGdzdF9nbF9kaXNwbGF5X3gxMV9uZXdfd2l0aF9k
aXNwbGF5KGRpc3BsYXkpOwotI2VsaWYgUExBVEZPUk0oV0FZTEFORCkKLSAgICAgICAgICAgIEVH
TERpc3BsYXkgZGlzcGxheSA9IFdheWxhbmREaXNwbGF5OjppbnN0YW5jZSgpLT5lZ2xEaXNwbGF5
KCk7Ci0gICAgICAgICAgICBHc3RHTERpc3BsYXlFR0wqIGdzdEdMRGlzcGxheSA9IGdzdF9nbF9k
aXNwbGF5X2VnbF9uZXdfd2l0aF9lZ2xfZGlzcGxheShkaXNwbGF5KTsKLSNlbHNlCi0gICAgICAg
ICAgICByZXR1cm4gRkFMU0U7Ci0jZW5kaWYKLQotICAgICAgICAgICAgbV9nbERpc3BsYXkgPSBy
ZWludGVycHJldF9jYXN0PEdzdEdMRGlzcGxheSo+KGdzdEdMRGlzcGxheSk7Ci0gICAgICAgICAg
ICBHTENvbnRleHQqIHdlYmtpdENvbnRleHQgPSBHTENvbnRleHQ6OnNoYXJpbmdDb250ZXh0KCk7
Ci0jaWYgVVNFKEdMWCkKLSAgICAgICAgICAgIEdMWENvbnRleHQqIGdseFNoYXJpbmdDb250ZXh0
ID0gcmVpbnRlcnByZXRfY2FzdDxHTFhDb250ZXh0Kj4od2Via2l0Q29udGV4dC0+cGxhdGZvcm1D
b250ZXh0KCkpOwotICAgICAgICAgICAgaWYgKGdseFNoYXJpbmdDb250ZXh0ICYmICFtX2dsQ29u
dGV4dCkKLSAgICAgICAgICAgICAgICBtX2dsQ29udGV4dCA9IGdzdF9nbF9jb250ZXh0X25ld193
cmFwcGVkKEdTVF9HTF9ESVNQTEFZKGdzdEdMRGlzcGxheSksIHJlaW50ZXJwcmV0X2Nhc3Q8Z3Vp
bnRwdHI+KGdseFNoYXJpbmdDb250ZXh0KSwgR1NUX0dMX1BMQVRGT1JNX0dMWCwgR1NUX0dMX0FQ
SV9PUEVOR0wpOwotI2VsaWYgVVNFKEVHTCkKLSAgICAgICAgICAgIEVHTENvbnRleHQqIGVnbFNo
YXJpbmdDb250ZXh0ID0gcmVpbnRlcnByZXRfY2FzdDxFR0xDb250ZXh0Kj4od2Via2l0Q29udGV4
dC0+cGxhdGZvcm1Db250ZXh0KCkpOwotICAgICAgICAgICAgaWYgKGVnbFNoYXJpbmdDb250ZXh0
ICYmICFtX2dsQ29udGV4dCkKLSAgICAgICAgICAgICAgICBtX2dsQ29udGV4dCA9IGdzdF9nbF9j
b250ZXh0X25ld193cmFwcGVkKEdTVF9HTF9ESVNQTEFZKGdzdEdMRGlzcGxheSksIHJlaW50ZXJw
cmV0X2Nhc3Q8Z3VpbnRwdHI+KGVnbFNoYXJpbmdDb250ZXh0KSwgR1NUX0dMX1BMQVRGT1JNX0VH
TCwgR1NUX0dMX0FQSV9HTEVTMik7Ci0jZW5kaWYKLSAgICAgICAgfQorICAgICAgICBpZiAoIWVu
c3VyZUdzdEdMQ29udGV4dCgpKQorICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGlmICgh
Z19zdHJjbXAwKGNvbnRleHRUeXBlLCBHU1RfR0xfRElTUExBWV9DT05URVhUX1RZUEUpKSB7CiAg
ICAgICAgICAgICBHc3RDb250ZXh0KiBkaXNwbGF5Q29udGV4dCA9IGdzdF9jb250ZXh0X25ldyhH
U1RfR0xfRElTUExBWV9DT05URVhUX1RZUEUsIFRSVUUpOwotICAgICAgICAgICAgZ3N0X2NvbnRl
eHRfc2V0X2dsX2Rpc3BsYXkoZGlzcGxheUNvbnRleHQsIG1fZ2xEaXNwbGF5KTsKKyAgICAgICAg
ICAgIGdzdF9jb250ZXh0X3NldF9nbF9kaXNwbGF5KGRpc3BsYXlDb250ZXh0LCBtX2dsRGlzcGxh
eS5nZXQoKSk7CiAgICAgICAgICAgICBnc3RfZWxlbWVudF9zZXRfY29udGV4dChHU1RfRUxFTUVO
VChtZXNzYWdlLT5zcmMpLCBkaXNwbGF5Q29udGV4dCk7Ci0gICAgICAgICAgICByZXR1cm4gVFJV
RTsKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQorCiAgICAgICAgIGlmICghZ19zdHJj
bXAwKGNvbnRleHRUeXBlLCAiZ3N0LmdsLmFwcF9jb250ZXh0IikpIHsKICAgICAgICAgICAgIEdz
dENvbnRleHQqIGFwcENvbnRleHQgPSBnc3RfY29udGV4dF9uZXcoImdzdC5nbC5hcHBfY29udGV4
dCIsIFRSVUUpOwogICAgICAgICAgICAgR3N0U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBnc3RfY29u
dGV4dF93cml0YWJsZV9zdHJ1Y3R1cmUoYXBwQ29udGV4dCk7Ci0gICAgICAgICAgICBnc3Rfc3Ry
dWN0dXJlX3NldChzdHJ1Y3R1cmUsICJjb250ZXh0IiwgR1NUX0dMX1RZUEVfQ09OVEVYVCwgbV9n
bENvbnRleHQsIG51bGxwdHIpOworICAgICAgICAgICAgZ3N0X3N0cnVjdHVyZV9zZXQoc3RydWN0
dXJlLCAiY29udGV4dCIsIEdTVF9HTF9UWVBFX0NPTlRFWFQsIG1fZ2xDb250ZXh0LmdldCgpLCBu
dWxscHRyKTsKICAgICAgICAgICAgIGdzdF9lbGVtZW50X3NldF9jb250ZXh0KEdTVF9FTEVNRU5U
KG1lc3NhZ2UtPnNyYyksIGFwcENvbnRleHQpOwotICAgICAgICAgICAgcmV0dXJuIFRSVUU7Cisg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAt
OTg2LDkgKzk2Miw0MyBAQCBnYm9vbGVhbiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Omhh
bmRsZVN5bmNNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCiAgICAgZGVmYXVsdDoKICAgICAg
ICAgYnJlYWs7CiAgICAgfQotICAgIHJldHVybiBGQUxTRTsKIH0KIAorI2lmIFVTRShHU1RSRUFN
RVJfR0wpCitib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6ZW5zdXJlR3N0R0xDb250
ZXh0KCkKK3sKKyAgICBpZiAobV9nbENvbnRleHQpCisgICAgICAgIHJldHVybiB0cnVlOworCisg
ICAgaWYgKCFtX2dsRGlzcGxheSkgeworI2lmIFBMQVRGT1JNKFgxMSkKKyAgICAgICAgRGlzcGxh
eSogZGlzcGxheSA9IEdMQ29udGV4dDo6c2hhcmVkWDExRGlzcGxheSgpOworICAgICAgICBtX2ds
RGlzcGxheSA9IEdTVF9HTF9ESVNQTEFZKGdzdF9nbF9kaXNwbGF5X3gxMV9uZXdfd2l0aF9kaXNw
bGF5KGRpc3BsYXkpKTsKKyNlbGlmIFBMQVRGT1JNKFdBWUxBTkQpCisgICAgICAgIEVHTERpc3Bs
YXkgZGlzcGxheSA9IFdheWxhbmREaXNwbGF5OjppbnN0YW5jZSgpLT5lZ2xEaXNwbGF5KCk7Cisg
ICAgICAgIG1fZ2xEaXNwbGF5ID0gR1NUX0dMX0RJU1BMQVkoZ3N0X2dsX2Rpc3BsYXlfZWdsX25l
d193aXRoX2VnbF9kaXNwbGF5KGRpc3BsYXkpKTsKKyNlbmRpZgorICAgIH0KKworICAgIFBsYXRm
b3JtR3JhcGhpY3NDb250ZXh0M0QgY29udGV4dEhhbmRsZSA9IEdMQ29udGV4dDo6c2hhcmluZ0Nv
bnRleHQoKS0+cGxhdGZvcm1Db250ZXh0KCk7CisgICAgaWYgKCFjb250ZXh0SGFuZGxlKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisjaWYgVVNFKEVHTCkKKyAgICBHc3RHTFBsYXRmb3JtIGdsUGxh
dGZvcm0gPSBHU1RfR0xfUExBVEZPUk1fRUdMOworI2Vsc2UKKyAgICBHc3RHTFBsYXRmb3JtIGds
UGxhdGZvcm0gPSBHU1RfR0xfUExBVEZPUk1fR0xYOworI2VuZGlmCisjaWYgVVNFKEdMRVMyKQor
ICAgIEdzdEdMQVBJIGdsQVBJID0gR1NUX0dMX0FQSV9HTEVTMjsKKyNlbHNlCisgICAgR3N0R0xB
UEkgZ2xBUEkgPSBHU1RfR0xfQVBJX09QRU5HTDsKKyNlbmRpZgorICAgIG1fZ2xDb250ZXh0ID0g
Z3N0X2dsX2NvbnRleHRfbmV3X3dyYXBwZWQobV9nbERpc3BsYXkuZ2V0KCksIHJlaW50ZXJwcmV0
X2Nhc3Q8Z3VpbnRwdHI+KGNvbnRleHRIYW5kbGUpLCBnbFBsYXRmb3JtLCBnbEFQSSk7CisKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKyNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSX0dMKQorCiBnYm9vbGVh
biBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmhhbmRsZU1lc3NhZ2UoR3N0TWVzc2FnZSog
bWVzc2FnZSkKIHsKICAgICBHVW5pcXVlT3V0UHRyPEdFcnJvcj4gZXJyOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCmluZGV4IDg4MTlkNTBjMTNiNGFmODJl
MjAxYzFiZWQyZTA5NTZiMThiN2YwMTAuLjM5MjI2ZDJmZTdmZjY5MGQ2MzQ1ZTRhMTQxNzcyNzNl
MGE1ODhiNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
LmgKQEAgLTY4LDcgKzY4LDcgQEAgcHVibGljOgogICAgIH5NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIoKTsKIAogICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVkaWFFbmdp
bmVSZWdpc3RyYXIpOwotICAgIGdib29sZWFuIGhhbmRsZVN5bmNNZXNzYWdlKEdzdE1lc3NhZ2Uq
KTsKKyAgICB2b2lkIGhhbmRsZVN5bmNNZXNzYWdlKEdzdE1lc3NhZ2UqKTsKICAgICBnYm9vbGVh
biBoYW5kbGVNZXNzYWdlKEdzdE1lc3NhZ2UqKTsKICAgICB2b2lkIGhhbmRsZVBsdWdpbkluc3Rh
bGxlclJlc3VsdChHc3RJbnN0YWxsUGx1Z2luc1JldHVybik7CiAKQEAgLTE1OSw2ICsxNTksMTAg
QEAgcHJpdmF0ZToKIAogICAgIHZvaWQgY3JlYXRlR1NUUGxheUJpbigpOwogCisjaWYgVVNFKEdT
VFJFQU1FUl9HTCkKKyAgICBib29sIGVuc3VyZUdzdEdMQ29udGV4dCgpOworI2VuZGlmCisKICAg
ICBib29sIGxvYWROZXh0TG9jYXRpb24oKTsKICAgICB2b2lkIG1lZGlhTG9jYXRpb25DaGFuZ2Vk
KEdzdE1lc3NhZ2UqKTsKIApAQCAtMjU1LDggKzI1OSw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBp
c01lZGlhU291cmNlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogI2lmIFVTRShH
U1RSRUFNRVJfR0wpCi0gICAgR3N0R0xDb250ZXh0KiBtX2dsQ29udGV4dDsKLSAgICBHc3RHTERp
c3BsYXkqIG1fZ2xEaXNwbGF5OworICAgIEdSZWZQdHI8R3N0R0xDb250ZXh0PiBtX2dsQ29udGV4
dDsKKyAgICBHUmVmUHRyPEdzdEdMRGlzcGxheT4gbV9nbERpc3BsYXk7CiAjZW5kaWYKIH07CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZSBiL1NvdXJjZS9jbWFr
ZS9PcHRpb25zR1RLLmNtYWtlCmluZGV4IDE5MGMzODA3YWQ2YjM3ZjU2MjNiZGMyZjIxNzAwNTAw
ZjA5YjFmYjQuLmRiMjA5MTAzOWU0NjM0MWEzNzUwN2U3NTVhMjk0MTczZGU3YzU5MTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9P
cHRpb25zR1RLLmNtYWtlCkBAIC0yODIsMTEgKzI4Miw2IEBAIGlmIChFTkFCTEVfVklERU8gT1Ig
RU5BQkxFX1dFQl9BVURJTykKICAgICAgICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VTRV9HU1RS
RUFNRVJfTVBFR1RTKQogICAgICAgICBzZXQoVVNFX0dTVFJFQU1FUl9NUEVHVFMgVFJVRSkKICAg
ICBlbmRpZiAoKQotCi0gICAgaWYgKFBDX0dTVFJFQU1FUl9HTF9GT1VORCkKLSAgICAgICAgYWRk
X2RlZmluaXRpb25zKC1EV1RGX1VTRV9HU1RSRUFNRVJfR0wpCi0gICAgICAgIHNldChVU0VfR1NU
UkVBTUVSX0dMIFRSVUUpCi0gICAgZW5kaWYgKCkKIGVuZGlmICgpCiAKIGlmIChFTkFCTEVfV0FZ
TEFORF9UQVJHRVQpCkBAIC0zOTMsNiArMzg4LDExIEBAIGlmICgoT1BFTkdMX0ZPVU5EIE9SIE9Q
RU5HTEVTMl9GT1VORCkgQU5EIChHTFhfRk9VTkQgT1IgRUdMX0ZPVU5EKSkKICAgICAgICAgYWRk
X2RlZmluaXRpb25zKC1EV1RGX1VTRV9DT09SRElOQVRFRF9HUkFQSElDUz0xKQogICAgICAgICBh
ZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFX0NPT1JESU5BVEVEX0dSQVBISUNTX1RIUkVBREVEPTEp
CiAgICAgZW5kaWYgKCkKKworICAgIGlmIChQQ19HU1RSRUFNRVJfR0xfRk9VTkQpCisgICAgICAg
IGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfR1NUUkVBTUVSX0dMKQorICAgICAgICBzZXQoVVNF
X0dTVFJFQU1FUl9HTCBUUlVFKQorICAgIGVuZGlmICgpCiBlbmRpZiAoKQogCiBpZiAoRU5BQkxF
X0dBTUVQQURfREVQUkVDQVRFRCkKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwpp
bmRleCA2NGU4NjU2YzZlZjhiNjJiYTdhOTUwMjBlZjU0NzE1OWE1NDAxYmM5Li5mNDRjNTM0M2Vm
Y2Y0NzYxNjUyNDQ4YjM2MWE3YzQ2MTJjZjAyNWQyIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysr
IGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMDMtMjUgIFbDrWN0b3IgTWFudWVs
IErDoXF1ZXogTGVhbCAgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XSBzaGFyZSBHTCBjb250ZXh0IGluIHBpcGVsaW5lLCBwYXJ0IDIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzA0OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNHVEsu
Y21ha2U6IFVTRV9HU1RSRUFNRVJfR0wgaXMgc2V0IG9ubHkgaWYKKyAgICAgICAgT3BlbkdML0VT
MiBpcyBmb3VuZCBhbmQgR0xYL0VHTCBpcyBmb3VuZCB0b28uCisKIDIwMTUtMDMtMjMgIENhcmxv
cyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEFk
ZCBhIGNvbmZpZ3VyZSBvcHRpb24gdG8gYnVpbGQgd2l0aG91dCBSZWRpcmVjdGVkIFhDb21wb3Np
dGUgV2luZG93Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249559</attachid>
            <date>2015-03-27 02:40:17 -0700</date>
            <delta_ts>2015-03-27 03:31:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143049-20150327103936.patch</filename>
            <type>text/plain</type>
            <size>10339</size>
            <attacher name="Víctor M. Jáquez L.">vjaquez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxODkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzUwZjk5NjViMjZhNGYw
YzVhMDczY2UxYTdmYmVmNWM2NDE1NTc0Ni4uYjE0Njk3NGU2ZTIzM2Q3OGE1YmI0Mjc1MjZkOThk
NTEzYmE1ODZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE1LTAzLTI1ICBWw61j
dG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgIDx2amFxdWV6QGlnYWxpYS5jb20+CisKKyAgICAgICAg
W0dTdHJlYW1lcl0gc2hhcmUgR0wgY29udGV4dCBpbiBwaXBlbGluZSwgcGFydCAyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDMwNDkKKworICAgICAg
ICBSZXZpZXdlZCBieSBDYXJsb3MgR2FyY2lhIENhbXBvcy4KKworICAgICAgICBUaGlzIHBhdGNo
LCBpbnN0ZWFkIG9mIGNsdXR0ZXJpbmcgdGhlIEdzdEdMIGF0dHJpYnV0ZXMgY3JlYXRpb24gaW4K
KyAgICAgICAgOjpoYW5kbGVTeW5jTWVzc2FnZSgpLCBjcmVhdGVzIGEgbmV3IG1ldGhvZCA6OmVu
c3VyZUdzdEdMQ29udGV4dCgpLAorICAgICAgICB3aGVyZSB0aG9zZSBhdHRyaWJ1dGVzIGFyZSBk
ZWZpbmVkLiBUaGlzIG1ldGhvZCBpcyBndWFyZGVkIGJ5CisgICAgICAgIFVTRShHU1RSRUFNRVJf
R0wpCisKKyAgICAgICAgOjpoYW5kbFN5bmNNZXNzYWdlKCkgc2hhbGwgcmV0dXJuIG5vdGhpbmcs
IGFjY29yZGluZyB0byBHU3RyZWFtZXIKKyAgICAgICAgZG9jdW1lbnRhdGlvbiwgbm90IGEgYm9v
bGVhbi4KKworICAgICAgICBUaGUgR3N0R0wgYXR0cmlidXRlcyBhcmUgbm93IEdSZWZQdHI8PiB0
byBhdm9pZCBtZW1vcnkgbGVha3MuCisKKyAgICAgICAgVGhlIEdzdEdMQVBJIGFuZCBHc3RHTFBs
YXRmb3JtIGFyZSBub3cgc2V0IGdpdmVuIGJ5IHRoZSBwcmUtcHJvY2Vzc29yCisgICAgICAgIGRp
cmVjdGl2ZXMsIGFuZCB0aGUgY29kZSBpbiA6OmVuc3VyZUdzdEdMQ29udGV4dCgpIGlzIHNpbXBs
ZXIuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhpcyBpcyBwbGF0Zm9ybSBzcGVj
aWZpYyBhbmQgaXQgZGVwZW5kcyBpbiB0aGUKKyAgICAgICAgcnVuLXRpbWUgYXZhaWxhYmlsaXR5
IGFuZCBjb25maWd1cmF0aW9ucyBvZiBHc3RHTCBlbGVtZW50cy4KKworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpNZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXIpOgorICAgICAgICBEb24ndCBpbml0aWFsaXNlIHRoZSBHc3RHTCBh
dHRyaWJ1dGVzIHNpbmNlIGFyZSBHUmVmUHRyPD4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lcjo6aGFuZGxlU3luY01lc3NhZ2UpOiBDaGFuZ2VkIHRoZQorICAg
ICAgICBzaWduYXR1cmUgdG8gdXNlIHZvaWQgaW5zdGVhZCBvZiBnYm9vbGVhbi4KKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6ZW5zdXJlR3N0R0xDb250ZXh0
KTogTmV3IG1ldGhvZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmg6CisKIDIwMTUtMDMtMjMgWW9hdiBXZWlzcyAgPHlv
YXZAeW9hdi53cz4KIAogICAgICAgICBVcGRhdGUgZW1wdHkgaW1hZ2UgY2FudmFzIHRlc3RzIGFu
ZCBmaXggYSByZWxhdGVkIGJ1ZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmNwcAppbmRleCAyNWZmZDA4NmRmMTI4NmUwZjUwYmY4NTk3OWRkYTkyMmRmNzcz
NDdkLi43YjNmZTBiOWMwZDhmMDFhNTg1MDIwOWVhY2EzNDc2MTljZjA0MTIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAtMTA2LDkgKzEw
Niw5IEBAIHN0YXRpYyBnYm9vbGVhbiBtZWRpYVBsYXllclByaXZhdGVNZXNzYWdlQ2FsbGJhY2so
R3N0QnVzKiwgR3N0TWVzc2FnZSogbWVzc2FnZSwKICAgICByZXR1cm4gcGxheWVyLT5oYW5kbGVN
ZXNzYWdlKG1lc3NhZ2UpOwogfQogCi1zdGF0aWMgZ2Jvb2xlYW4gbWVkaWFQbGF5ZXJQcml2YXRl
U3luY01lc3NhZ2VDYWxsYmFjayhHc3RCdXMqLCBHc3RNZXNzYWdlKiBtZXNzYWdlLCBNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIqIHBsYXllcikKK3N0YXRpYyB2b2lkIG1lZGlhUGxheWVyUHJp
dmF0ZVN5bmNNZXNzYWdlQ2FsbGJhY2soR3N0QnVzKiwgR3N0TWVzc2FnZSogbWVzc2FnZSwgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyKiBwbGF5ZXIpCiB7Ci0gICAgcmV0dXJuIHBsYXllci0+
aGFuZGxlU3luY01lc3NhZ2UobWVzc2FnZSk7CisgICAgcGxheWVyLT5oYW5kbGVTeW5jTWVzc2Fn
ZShtZXNzYWdlKTsKIH0KIAogc3RhdGljIHZvaWQgbWVkaWFQbGF5ZXJQcml2YXRlU291cmNlQ2hh
bmdlZENhbGxiYWNrKEdPYmplY3QqLCBHUGFyYW1TcGVjKiwgTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyKiBwbGF5ZXIpCkBAIC0yNDQsMTAgKzI0NCw2IEBAIE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyKE1lZGlhUGxheWVyKiBwbGF5ZXIp
CiAjZW5kaWYKICAgICAsIG1fcmVxdWVzdGVkU3RhdGUoR1NUX1NUQVRFX1ZPSURfUEVORElORykK
ICAgICAsIG1fbWlzc2luZ1BsdWdpbnMoZmFsc2UpCi0jaWYgVVNFKEdTVFJFQU1FUl9HTCkKLSAg
ICAsIG1fZ2xDb250ZXh0KG51bGxwdHIpCi0gICAgLCBtX2dsRGlzcGxheShudWxscHRyKQotI2Vu
ZGlmCiB7CiB9CiAKQEAgLTkzNSw3ICs5MzEsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1U
aW1lUmFuZ2VzPiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmJ1ZmZlcmVkKCkgY29ucwog
ICAgIHJldHVybiB0aW1lUmFuZ2VzOwogfQogCi1nYm9vbGVhbiBNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI6OmhhbmRsZVN5bmNNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCit2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6aGFuZGxlU3luY01lc3NhZ2UoR3N0TWVzc2FnZSog
bWVzc2FnZSkKIHsKICAgICBzd2l0Y2ggKEdTVF9NRVNTQUdFX1RZUEUobWVzc2FnZSkpIHsKICNp
ZiBVU0UoR1NUUkVBTUVSX0dMKQpAQCAtOTQzLDQyICs5MzksMjIgQEAgZ2Jvb2xlYW4gTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVTeW5jTWVzc2FnZShHc3RNZXNzYWdlKiBtZXNz
YWdlKQogICAgICAgICBjb25zdCBnY2hhciogY29udGV4dFR5cGU7CiAgICAgICAgIGdzdF9tZXNz
YWdlX3BhcnNlX2NvbnRleHRfdHlwZShtZXNzYWdlLCAmY29udGV4dFR5cGUpOwogCi0gICAgICAg
IGlmICghbV9nbERpc3BsYXkpIHsKLSNpZiBQTEFURk9STShYMTEpCi0gICAgICAgICAgICBEaXNw
bGF5KiBkaXNwbGF5ID0gR0xDb250ZXh0OjpzaGFyZWRYMTFEaXNwbGF5KCk7Ci0gICAgICAgICAg
ICBHc3RHTERpc3BsYXlYMTEqIGdzdEdMRGlzcGxheSA9IGdzdF9nbF9kaXNwbGF5X3gxMV9uZXdf
d2l0aF9kaXNwbGF5KGRpc3BsYXkpOwotI2VsaWYgUExBVEZPUk0oV0FZTEFORCkKLSAgICAgICAg
ICAgIEVHTERpc3BsYXkgZGlzcGxheSA9IFdheWxhbmREaXNwbGF5OjppbnN0YW5jZSgpLT5lZ2xE
aXNwbGF5KCk7Ci0gICAgICAgICAgICBHc3RHTERpc3BsYXlFR0wqIGdzdEdMRGlzcGxheSA9IGdz
dF9nbF9kaXNwbGF5X2VnbF9uZXdfd2l0aF9lZ2xfZGlzcGxheShkaXNwbGF5KTsKLSNlbHNlCi0g
ICAgICAgICAgICByZXR1cm4gRkFMU0U7Ci0jZW5kaWYKLQotICAgICAgICAgICAgbV9nbERpc3Bs
YXkgPSByZWludGVycHJldF9jYXN0PEdzdEdMRGlzcGxheSo+KGdzdEdMRGlzcGxheSk7Ci0gICAg
ICAgICAgICBHTENvbnRleHQqIHdlYmtpdENvbnRleHQgPSBHTENvbnRleHQ6OnNoYXJpbmdDb250
ZXh0KCk7Ci0jaWYgVVNFKEdMWCkKLSAgICAgICAgICAgIEdMWENvbnRleHQqIGdseFNoYXJpbmdD
b250ZXh0ID0gcmVpbnRlcnByZXRfY2FzdDxHTFhDb250ZXh0Kj4od2Via2l0Q29udGV4dC0+cGxh
dGZvcm1Db250ZXh0KCkpOwotICAgICAgICAgICAgaWYgKGdseFNoYXJpbmdDb250ZXh0ICYmICFt
X2dsQ29udGV4dCkKLSAgICAgICAgICAgICAgICBtX2dsQ29udGV4dCA9IGdzdF9nbF9jb250ZXh0
X25ld193cmFwcGVkKEdTVF9HTF9ESVNQTEFZKGdzdEdMRGlzcGxheSksIHJlaW50ZXJwcmV0X2Nh
c3Q8Z3VpbnRwdHI+KGdseFNoYXJpbmdDb250ZXh0KSwgR1NUX0dMX1BMQVRGT1JNX0dMWCwgR1NU
X0dMX0FQSV9PUEVOR0wpOwotI2VsaWYgVVNFKEVHTCkKLSAgICAgICAgICAgIEVHTENvbnRleHQq
IGVnbFNoYXJpbmdDb250ZXh0ID0gcmVpbnRlcnByZXRfY2FzdDxFR0xDb250ZXh0Kj4od2Via2l0
Q29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCkpOwotICAgICAgICAgICAgaWYgKGVnbFNoYXJpbmdD
b250ZXh0ICYmICFtX2dsQ29udGV4dCkKLSAgICAgICAgICAgICAgICBtX2dsQ29udGV4dCA9IGdz
dF9nbF9jb250ZXh0X25ld193cmFwcGVkKEdTVF9HTF9ESVNQTEFZKGdzdEdMRGlzcGxheSksIHJl
aW50ZXJwcmV0X2Nhc3Q8Z3VpbnRwdHI+KGVnbFNoYXJpbmdDb250ZXh0KSwgR1NUX0dMX1BMQVRG
T1JNX0VHTCwgR1NUX0dMX0FQSV9HTEVTMik7Ci0jZW5kaWYKLSAgICAgICAgfQorICAgICAgICBp
ZiAoIWVuc3VyZUdzdEdMQ29udGV4dCgpKQorICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAg
IGlmICghZ19zdHJjbXAwKGNvbnRleHRUeXBlLCBHU1RfR0xfRElTUExBWV9DT05URVhUX1RZUEUp
KSB7CiAgICAgICAgICAgICBHc3RDb250ZXh0KiBkaXNwbGF5Q29udGV4dCA9IGdzdF9jb250ZXh0
X25ldyhHU1RfR0xfRElTUExBWV9DT05URVhUX1RZUEUsIFRSVUUpOwotICAgICAgICAgICAgZ3N0
X2NvbnRleHRfc2V0X2dsX2Rpc3BsYXkoZGlzcGxheUNvbnRleHQsIG1fZ2xEaXNwbGF5KTsKKyAg
ICAgICAgICAgIGdzdF9jb250ZXh0X3NldF9nbF9kaXNwbGF5KGRpc3BsYXlDb250ZXh0LCBtX2ds
RGlzcGxheS5nZXQoKSk7CiAgICAgICAgICAgICBnc3RfZWxlbWVudF9zZXRfY29udGV4dChHU1Rf
RUxFTUVOVChtZXNzYWdlLT5zcmMpLCBkaXNwbGF5Q29udGV4dCk7Ci0gICAgICAgICAgICByZXR1
cm4gVFJVRTsKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQorCiAgICAgICAgIGlmICgh
Z19zdHJjbXAwKGNvbnRleHRUeXBlLCAiZ3N0LmdsLmFwcF9jb250ZXh0IikpIHsKICAgICAgICAg
ICAgIEdzdENvbnRleHQqIGFwcENvbnRleHQgPSBnc3RfY29udGV4dF9uZXcoImdzdC5nbC5hcHBf
Y29udGV4dCIsIFRSVUUpOwogICAgICAgICAgICAgR3N0U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBn
c3RfY29udGV4dF93cml0YWJsZV9zdHJ1Y3R1cmUoYXBwQ29udGV4dCk7Ci0gICAgICAgICAgICBn
c3Rfc3RydWN0dXJlX3NldChzdHJ1Y3R1cmUsICJjb250ZXh0IiwgR1NUX0dMX1RZUEVfQ09OVEVY
VCwgbV9nbENvbnRleHQsIG51bGxwdHIpOworICAgICAgICAgICAgZ3N0X3N0cnVjdHVyZV9zZXQo
c3RydWN0dXJlLCAiY29udGV4dCIsIEdTVF9HTF9UWVBFX0NPTlRFWFQsIG1fZ2xDb250ZXh0Lmdl
dCgpLCBudWxscHRyKTsKICAgICAgICAgICAgIGdzdF9lbGVtZW50X3NldF9jb250ZXh0KEdTVF9F
TEVNRU5UKG1lc3NhZ2UtPnNyYyksIGFwcENvbnRleHQpOwotICAgICAgICAgICAgcmV0dXJuIFRS
VUU7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAg
fQpAQCAtOTg2LDkgKzk2Miw0MyBAQCBnYm9vbGVhbiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6OmhhbmRsZVN5bmNNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCiAgICAgZGVmYXVsdDoK
ICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIHJldHVybiBGQUxTRTsKIH0KIAorI2lmIFVTRShH
U1RSRUFNRVJfR0wpCitib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6ZW5zdXJlR3N0
R0xDb250ZXh0KCkKK3sKKyAgICBpZiAobV9nbENvbnRleHQpCisgICAgICAgIHJldHVybiB0cnVl
OworCisgICAgaWYgKCFtX2dsRGlzcGxheSkgeworI2lmIFBMQVRGT1JNKFgxMSkKKyAgICAgICAg
RGlzcGxheSogZGlzcGxheSA9IEdMQ29udGV4dDo6c2hhcmVkWDExRGlzcGxheSgpOworICAgICAg
ICBtX2dsRGlzcGxheSA9IEdTVF9HTF9ESVNQTEFZKGdzdF9nbF9kaXNwbGF5X3gxMV9uZXdfd2l0
aF9kaXNwbGF5KGRpc3BsYXkpKTsKKyNlbGlmIFBMQVRGT1JNKFdBWUxBTkQpCisgICAgICAgIEVH
TERpc3BsYXkgZGlzcGxheSA9IFdheWxhbmREaXNwbGF5OjppbnN0YW5jZSgpLT5lZ2xEaXNwbGF5
KCk7CisgICAgICAgIG1fZ2xEaXNwbGF5ID0gR1NUX0dMX0RJU1BMQVkoZ3N0X2dsX2Rpc3BsYXlf
ZWdsX25ld193aXRoX2VnbF9kaXNwbGF5KGRpc3BsYXkpKTsKKyNlbmRpZgorICAgIH0KKworICAg
IFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0M0QgY29udGV4dEhhbmRsZSA9IEdMQ29udGV4dDo6c2hh
cmluZ0NvbnRleHQoKS0+cGxhdGZvcm1Db250ZXh0KCk7CisgICAgaWYgKCFjb250ZXh0SGFuZGxl
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisjaWYgVVNFKEVHTCkKKyAgICBHc3RHTFBsYXRmb3Jt
IGdsUGxhdGZvcm0gPSBHU1RfR0xfUExBVEZPUk1fRUdMOworI2Vsc2UKKyAgICBHc3RHTFBsYXRm
b3JtIGdsUGxhdGZvcm0gPSBHU1RfR0xfUExBVEZPUk1fR0xYOworI2VuZGlmCisjaWYgVVNFKEdM
RVMyKQorICAgIEdzdEdMQVBJIGdsQVBJID0gR1NUX0dMX0FQSV9HTEVTMjsKKyNlbHNlCisgICAg
R3N0R0xBUEkgZ2xBUEkgPSBHU1RfR0xfQVBJX09QRU5HTDsKKyNlbmRpZgorICAgIG1fZ2xDb250
ZXh0ID0gZ3N0X2dsX2NvbnRleHRfbmV3X3dyYXBwZWQobV9nbERpc3BsYXkuZ2V0KCksIHJlaW50
ZXJwcmV0X2Nhc3Q8Z3VpbnRwdHI+KGNvbnRleHRIYW5kbGUpLCBnbFBsYXRmb3JtLCBnbEFQSSk7
CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKyNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSX0dMKQorCiBn
Ym9vbGVhbiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmhhbmRsZU1lc3NhZ2UoR3N0TWVz
c2FnZSogbWVzc2FnZSkKIHsKICAgICBHVW5pcXVlT3V0UHRyPEdFcnJvcj4gZXJyOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCmluZGV4IDg4MTlkNTBjMTNi
NGFmODJlMjAxYzFiZWQyZTA5NTZiMThiN2YwMTAuLjM5MjI2ZDJmZTdmZjY5MGQ2MzQ1ZTRhMTQx
NzcyNzNlMGE1ODhiNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyLmgKQEAgLTY4LDcgKzY4LDcgQEAgcHVibGljOgogICAgIH5NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXIoKTsKIAogICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVk
aWFFbmdpbmVSZWdpc3RyYXIpOwotICAgIGdib29sZWFuIGhhbmRsZVN5bmNNZXNzYWdlKEdzdE1l
c3NhZ2UqKTsKKyAgICB2b2lkIGhhbmRsZVN5bmNNZXNzYWdlKEdzdE1lc3NhZ2UqKTsKICAgICBn
Ym9vbGVhbiBoYW5kbGVNZXNzYWdlKEdzdE1lc3NhZ2UqKTsKICAgICB2b2lkIGhhbmRsZVBsdWdp
bkluc3RhbGxlclJlc3VsdChHc3RJbnN0YWxsUGx1Z2luc1JldHVybik7CiAKQEAgLTE1OSw2ICsx
NTksMTAgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgY3JlYXRlR1NUUGxheUJpbigpOwogCisjaWYg
VVNFKEdTVFJFQU1FUl9HTCkKKyAgICBib29sIGVuc3VyZUdzdEdMQ29udGV4dCgpOworI2VuZGlm
CisKICAgICBib29sIGxvYWROZXh0TG9jYXRpb24oKTsKICAgICB2b2lkIG1lZGlhTG9jYXRpb25D
aGFuZ2VkKEdzdE1lc3NhZ2UqKTsKIApAQCAtMjU1LDggKzI1OSw4IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBpc01lZGlhU291cmNlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogI2lm
IFVTRShHU1RSRUFNRVJfR0wpCi0gICAgR3N0R0xDb250ZXh0KiBtX2dsQ29udGV4dDsKLSAgICBH
c3RHTERpc3BsYXkqIG1fZ2xEaXNwbGF5OworICAgIEdSZWZQdHI8R3N0R0xDb250ZXh0PiBtX2ds
Q29udGV4dDsKKyAgICBHUmVmUHRyPEdzdEdMRGlzcGxheT4gbV9nbERpc3BsYXk7CiAjZW5kaWYK
IH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZSBiL1NvdXJj
ZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCmluZGV4IDE5MGMzODA3YWQ2YjM3ZjU2MjNiZGMyZjIx
NzAwNTAwZjA5YjFmYjQuLmRiMjA5MTAzOWU0NjM0MWEzNzUwN2U3NTVhMjk0MTczZGU3YzU5MTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9j
bWFrZS9PcHRpb25zR1RLLmNtYWtlCkBAIC0yODIsMTEgKzI4Miw2IEBAIGlmIChFTkFCTEVfVklE
RU8gT1IgRU5BQkxFX1dFQl9BVURJTykKICAgICAgICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VT
RV9HU1RSRUFNRVJfTVBFR1RTKQogICAgICAgICBzZXQoVVNFX0dTVFJFQU1FUl9NUEVHVFMgVFJV
RSkKICAgICBlbmRpZiAoKQotCi0gICAgaWYgKFBDX0dTVFJFQU1FUl9HTF9GT1VORCkKLSAgICAg
ICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VTRV9HU1RSRUFNRVJfR0wpCi0gICAgICAgIHNldChV
U0VfR1NUUkVBTUVSX0dMIFRSVUUpCi0gICAgZW5kaWYgKCkKIGVuZGlmICgpCiAKIGlmIChFTkFC
TEVfV0FZTEFORF9UQVJHRVQpCkBAIC0zOTMsNiArMzg4LDExIEBAIGlmICgoT1BFTkdMX0ZPVU5E
IE9SIE9QRU5HTEVTMl9GT1VORCkgQU5EIChHTFhfRk9VTkQgT1IgRUdMX0ZPVU5EKSkKICAgICAg
ICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VTRV9DT09SRElOQVRFRF9HUkFQSElDUz0xKQogICAg
ICAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFX0NPT1JESU5BVEVEX0dSQVBISUNTX1RIUkVB
REVEPTEpCiAgICAgZW5kaWYgKCkKKworICAgIGlmIChQQ19HU1RSRUFNRVJfR0xfRk9VTkQpCisg
ICAgICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfR1NUUkVBTUVSX0dMKQorICAgICAgICBz
ZXQoVVNFX0dTVFJFQU1FUl9HTCBUUlVFKQorICAgIGVuZGlmICgpCiBlbmRpZiAoKQogCiBpZiAo
RU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCA2NGU4NjU2YzZlZjhiNjJiYTdhOTUwMjBlZjU0NzE1OWE1NDAxYmM5Li5kNDQy
YmI2ZTA1MTYzM2FhZWFiNTVmZDM2MmI0MzdkY2UyNTcyZmI4IDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMDMtMjUgIFbDrWN0b3Ig
TWFudWVsIErDoXF1ZXogTGVhbCAgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0
cmVhbWVyXSBzaGFyZSBHTCBjb250ZXh0IGluIHBpcGVsaW5lLCBwYXJ0IDIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzA0OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IENhcmxvcyBHYXJjaWEgQ2FtcG9zLgorCisgICAgICAgICogU291cmNlL2NtYWtl
L09wdGlvbnNHVEsuY21ha2U6IFVTRV9HU1RSRUFNRVJfR0wgaXMgc2V0IG9ubHkgaWYKKyAgICAg
ICAgT3BlbkdML0VTMiBpcyBmb3VuZCBhbmQgR0xYL0VHTCBpcyBmb3VuZCB0b28uCisKIDIwMTUt
MDMtMjMgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtHVEtdIEFkZCBhIGNvbmZpZ3VyZSBvcHRpb24gdG8gYnVpbGQgd2l0aG91dCBSZWRpcmVj
dGVkIFhDb21wb3NpdGUgV2luZG93Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>