<?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>150800</bug_id>
          
          <creation_ts>2015-11-02 06:32:06 -0800</creation_ts>
          <short_desc>[GStreamer] Use GstBus sync message handler and schedule tasks to the main thread with RunLoop::dispatch</short_desc>
          <delta_ts>2016-01-06 12:24:03 -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>Platform</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>152797</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>pnormand</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1138542</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-02 06:32:06 -0800</bug_when>
    <thetext>This way we would avoid all the GScource + polling mechanism that GST uses internally to handle messages asynchronously in the main thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1138546</commentid>
    <comment_count>1</comment_count>
      <attachid>264584</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-02 06:41:27 -0800</bug_when>
    <thetext>Created attachment 264584
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1138568</commentid>
    <comment_count>2</comment_count>
      <attachid>264591</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-02 08:38:02 -0800</bug_when>
    <thetext>Created attachment 264591
Updated patch

I was assuming that sync message handler was always called from a secondary thread, but the main thread can also call gst_bus_post, so I&apos;ve added a check to not schedule the message to the main thread if we are already in the main thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1138862</commentid>
    <comment_count>3</comment_count>
      <attachid>264591</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-11-03 00:06:29 -0800</bug_when>
    <thetext>Comment on attachment 264591
Updated patch

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

Looks good, I&apos;ll leave it to Phil to approve it.

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1949
&gt; +                    if (!weakThis)
&gt; +                        return;
&gt; +                    weakThis-&gt;handleMessage(protectMessage.get());

Nit: could be a two-liner.

&gt; if (weakThis)
&gt;     weakThis-&gt;handleMessage(protectMessage.get());</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1138892</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-03 02:44:52 -0800</bug_when>
    <thetext>Committed r191948: &lt;http://trac.webkit.org/changeset/191948&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264584</attachid>
            <date>2015-11-02 06:41:27 -0800</date>
            <delta_ts>2015-11-02 08:38:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wcore-gst-sync-messages.diff</filename>
            <type>text/plain</type>
            <size>14316</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyYTcxMDRiLi4yNzM4YWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIg
QEAKKzIwMTUtMTEtMDIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHU3RyZWFtZXJdIFVzZSBHc3RCdXMgc3luYyBtZXNzYWdlIGhhbmRsZXIg
YW5kIHNjaGVkdWxlIHRhc2tzIHRvIHRoZSBtYWluIHRocmVhZCB3aXRoIFJ1bkxvb3A6OmRpc3Bh
dGNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTA4
MDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlz
IHdheSB3ZSB3b3VsZCBhdm9pZCBhbGwgdGhlIEdTY291cmNlICsgcG9sbGluZyBtZWNoYW5pc20g
dGhhdAorICAgICAgICBHU1QgdXNlcyBpbnRlcm5hbGx5IHRvIGhhbmRsZSBtZXNzYWdlcyBhc3lu
Y2hyb25vdXNseSBpbiB0aGUgbWFpbiB0aHJlYWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvR1JlZlB0ckdTdHJlYW1lci5jcHA6CisgICAgICAgIChXVEY6OmFkb3B0
R1JlZik6CisgICAgICAgIChXVEY6OnJlZkdQdHI8R3N0TWVzc2FnZT4pOgorICAgICAgICAoV1RG
OjpkZXJlZkdQdHI8R3N0TWVzc2FnZT4pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9HUmVmUHRyR1N0cmVhbWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lcik6CisgICAgICAgIEluaXRpYWxpemUgdGhlIFdlYWtQdHIgZmFjdG9yeS4KKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6fk1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lcik6CisgICAgICAgIHJlc2V0IHRoZSBHc3RCdXMgc3luYyBoYW5kbGVyLgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVNZXNzYWdl
KTogTWFrZSBpdCB2b2lkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyOjpjcmVhdGVHU1RQbGF5QmluKTogQWRkIGEKKyAgICAgICAgR3N0QnVzIHN5bmMgbWVz
c2FnZSBoYW5kbGVyIGFuZCBzY2hlZHVsZSB0aGUgbWVzc2FnZXMgdG8gdGhlIG1haW4KKyAgICAg
ICAgdGhyZWFkIHdpdGggUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKCkuCisgICAgICAgIChXZWJD
b3JlOjptZWRpYVBsYXllclByaXZhdGVNZXNzYWdlQ2FsbGJhY2spOiBEZWxldGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3Jl
YXRlV2Vha1B0cik6IENyZWF0ZSBhIFdlYWtQdHIuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6aGFuZGxlU3luY01l
c3NhZ2UpOgorICAgICAgICBIYW5kbGUgdGhlIG5lZWQgY29udGV4dCBtZXNzYWdlIHRoYXQgbmVl
ZHMgdG8gYmUgaGFuZGxlZCBpbiB0aGUKKyAgICAgICAgY2FsbGVyIHRocmVhZC4KKyAgICAgICAg
KFdlYkNvcmU6Om1lZGlhUGxheWVyUHJpdmF0ZU5lZWRDb250ZXh0TWVzc2FnZUNhbGxiYWNrKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2U6On5NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnNldFBpcGVsaW5lKTogRG8gbm90Cisg
ICAgICAgIGNvbm5lY3QgdG8gc3luYy1tZXNzYWdlIHNpZ25hbCwgaGFuZGxlU3luY01lc3NhZ2Uo
KSB3aWxsIGJlIGNhbGxlZAorICAgICAgICB0byBoYW5kbGVkIG1lc3NhZ2VzIHN5bmNocm9ub3Vz
bHkuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpo
YW5kbGVOZWVkQ29udGV4dE1lc3NhZ2UpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmg6CisKIDIw
MTUtMTAtMjkgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0NTUyBHcmlkIExheW91dF0gbWluLWNvbnRlbnQgcm93IGRvZXMgbm90IGFsd2F5cyBz
aHJpbmsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9HUmVmUHRyR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9HUmVmUHRyR1N0cmVhbWVyLmNwcAppbmRleCA2NjdiZDc2Li44NDJkOTM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
R1JlZlB0ckdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL0dSZWZQdHJHU3RyZWFtZXIuY3BwCkBAIC0yNTksNiArMjU5LDI1IEBAIHRl
bXBsYXRlPD4gdm9pZCBkZXJlZkdQdHI8R3N0VG9jPihHc3RUb2MqIHB0cikKICAgICAgICAgZ3N0
X3RvY191bnJlZihwdHIpOwogfQogCit0ZW1wbGF0ZTw+IEdSZWZQdHI8R3N0TWVzc2FnZT4gYWRv
cHRHUmVmKEdzdE1lc3NhZ2UqIHB0cikKK3sKKyAgICByZXR1cm4gR1JlZlB0cjxHc3RNZXNzYWdl
PihwdHIsIEdSZWZQdHJBZG9wdCk7Cit9CisKK3RlbXBsYXRlPD4gR3N0TWVzc2FnZSogcmVmR1B0
cjxHc3RNZXNzYWdlPihHc3RNZXNzYWdlKiBwdHIpCit7CisgICAgaWYgKHB0cikKKyAgICAgICAg
cmV0dXJuIGdzdF9tZXNzYWdlX3JlZihwdHIpOworCisgICAgcmV0dXJuIHB0cjsKK30KKwordGVt
cGxhdGU8PiB2b2lkIGRlcmVmR1B0cjxHc3RNZXNzYWdlPihHc3RNZXNzYWdlKiBwdHIpCit7Cisg
ICAgaWYgKHB0cikKKyAgICAgICAgZ3N0X21lc3NhZ2VfdW5yZWYocHRyKTsKK30KKwogdGVtcGxh
dGUgPD4gR1JlZlB0cjxXZWJLaXRWaWRlb1Npbms+IGFkb3B0R1JlZihXZWJLaXRWaWRlb1Npbmsq
IHB0cikKIHsKICAgICBBU1NFUlQoIXB0ciB8fCAhZ19vYmplY3RfaXNfZmxvYXRpbmcoR19PQkpF
Q1QocHRyKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL0dSZWZQdHJHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9HUmVmUHRyR1N0cmVhbWVyLmgKaW5kZXggOTczOWM3Yy4uNjgwMjQ1
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L0dSZWZQdHJHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvR1JlZlB0ckdTdHJlYW1lci5oCkBAIC0zNSw2ICszNSw3IEBAIHR5cGVkZWYg
c3RydWN0IF9Hc3RTYW1wbGUgR3N0U2FtcGxlOwogdHlwZWRlZiBzdHJ1Y3QgX0dzdFRhZ0xpc3Qg
R3N0VGFnTGlzdDsKIHR5cGVkZWYgc3RydWN0IF9Hc3RFdmVudCBHc3RFdmVudDsKIHR5cGVkZWYg
c3RydWN0IF9Hc3RUb2MgR3N0VG9jOwordHlwZWRlZiBzdHJ1Y3QgX0dzdE1lc3NhZ2UgR3N0TWVz
c2FnZTsKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRWaWRlb1NpbmsgV2ViS2l0VmlkZW9TaW5rOwog
dHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFdlYlNyYyBXZWJLaXRXZWJTcmM7CiAKQEAgLTg4LDYgKzg5
LDEwIEBAIHRlbXBsYXRlPD4gR1JlZlB0cjxHc3RUb2M+IGFkb3B0R1JlZihHc3RUb2MqIHB0cik7
CiB0ZW1wbGF0ZTw+IEdzdFRvYyogcmVmR1B0cjxHc3RUb2M+KEdzdFRvYyogcHRyKTsKIHRlbXBs
YXRlPD4gdm9pZCBkZXJlZkdQdHI8R3N0VG9jPihHc3RUb2MqIHB0cik7CiAKK3RlbXBsYXRlPD4g
R1JlZlB0cjxHc3RNZXNzYWdlPiBhZG9wdEdSZWYoR3N0TWVzc2FnZSopOwordGVtcGxhdGU8PiBH
c3RNZXNzYWdlKiByZWZHUHRyPEdzdE1lc3NhZ2U+KEdzdE1lc3NhZ2UqKTsKK3RlbXBsYXRlPD4g
dm9pZCBkZXJlZkdQdHI8R3N0TWVzc2FnZT4oR3N0TWVzc2FnZSopOworCiB0ZW1wbGF0ZTw+IEdS
ZWZQdHI8V2ViS2l0VmlkZW9TaW5rPiBhZG9wdEdSZWYoV2ViS2l0VmlkZW9TaW5rKiBwdHIpOwog
dGVtcGxhdGU8PiBXZWJLaXRWaWRlb1NpbmsqIHJlZkdQdHI8V2ViS2l0VmlkZW9TaW5rPihXZWJL
aXRWaWRlb1NpbmsqIHB0cik7CiB0ZW1wbGF0ZTw+IHZvaWQgZGVyZWZHUHRyPFdlYktpdFZpZGVv
U2luaz4oV2ViS2l0VmlkZW9TaW5rKiBwdHIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCA5ODZkMGZhLi44MjFiZTk3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAtNDEsNiArNDEs
NyBAQAogI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx3dGYvSGV4TnVtYmVyLmg+CiAjaW5j
bHVkZSA8d3RmL01lZGlhVGltZS5oPgorI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAjaW5jbHVk
ZSA8d3RmL2dsaWIvR1VuaXF1ZVB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
IApAQCAtODAsMTEgKzgxLDYgQEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1zdGF0aWMgZ2Jvb2xlYW4gbWVkaWFQbGF5ZXJQcml2YXRlTWVzc2FnZUNhbGxi
YWNrKEdzdEJ1cyosIEdzdE1lc3NhZ2UqIG1lc3NhZ2UsIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lciogcGxheWVyKQotewotICAgIHJldHVybiBwbGF5ZXItPmhhbmRsZU1lc3NhZ2UobWVzc2Fn
ZSk7Ci19Ci0KIHN0YXRpYyB2b2lkIG1lZGlhUGxheWVyUHJpdmF0ZVNvdXJjZUNoYW5nZWRDYWxs
YmFjayhHT2JqZWN0KiwgR1BhcmFtU3BlYyosIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lciog
cGxheWVyKQogewogICAgIHBsYXllci0+c291cmNlQ2hhbmdlZCgpOwpAQCAtMTc0LDYgKzE3MCw3
IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjppc0F2YWlsYWJsZSgpCiAKIE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyKE1l
ZGlhUGxheWVyKiBwbGF5ZXIpCiAgICAgOiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNl
KHBsYXllcikKKyAgICAsIG1fd2Vha1B0ckZhY3RvcnkodGhpcykKICAgICAsIG1fc291cmNlKDAp
CiAgICAgLCBtX3NlZWtUaW1lKDApCiAgICAgLCBtX2NoYW5naW5nUmF0ZShmYWxzZSkKQEAgLTI0
Nyw4ICsyNDQsNyBAQCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6On5NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIoKQogICAgIGlmIChtX3BpcGVsaW5lKSB7CiAgICAgICAgIEdSZWZQdHI8
R3N0QnVzPiBidXMgPSBhZG9wdEdSZWYoZ3N0X3BpcGVsaW5lX2dldF9idXMoR1NUX1BJUEVMSU5F
KG1fcGlwZWxpbmUuZ2V0KCkpKSk7CiAgICAgICAgIEFTU0VSVChidXMpOwotICAgICAgICBnX3Np
Z25hbF9oYW5kbGVyc19kaXNjb25uZWN0X2J5X2Z1bmMoYnVzLmdldCgpLCByZWludGVycHJldF9j
YXN0PGdwb2ludGVyPihtZWRpYVBsYXllclByaXZhdGVNZXNzYWdlQ2FsbGJhY2spLCB0aGlzKTsK
LSAgICAgICAgZ3N0X2J1c19yZW1vdmVfc2lnbmFsX3dhdGNoKGJ1cy5nZXQoKSk7CisgICAgICAg
IGdzdF9idXNfc2V0X3N5bmNfaGFuZGxlcihidXMuZ2V0KCksIG51bGxwdHIsIG51bGxwdHIsIG51
bGxwdHIpOwogCiAgICAgICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlfZnVuYyht
X3BpcGVsaW5lLmdldCgpLCByZWludGVycHJldF9jYXN0PGdwb2ludGVyPihtZWRpYVBsYXllclBy
aXZhdGVTb3VyY2VDaGFuZ2VkQ2FsbGJhY2spLCB0aGlzKTsKICAgICAgICAgZ19zaWduYWxfaGFu
ZGxlcnNfZGlzY29ubmVjdF9ieV9mdW5jKG1fcGlwZWxpbmUuZ2V0KCksIHJlaW50ZXJwcmV0X2Nh
c3Q8Z3BvaW50ZXI+KG1lZGlhUGxheWVyUHJpdmF0ZVZpZGVvQ2hhbmdlZENhbGxiYWNrKSwgdGhp
cyk7CkBAIC05MDUsNyArOTAxLDcgQEAgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtVGltZVJhbmdl
cz4gTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpidWZmZXJlZCgpIGNvbnMKICAgICByZXR1
cm4gdGltZVJhbmdlczsKIH0KIAotZ2Jvb2xlYW4gTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
OjpoYW5kbGVNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCit2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcjo6aGFuZGxlTWVzc2FnZShHc3RNZXNzYWdlKiBtZXNzYWdlKQogewogICAg
IEdVbmlxdWVPdXRQdHI8R0Vycm9yPiBlcnI7CiAgICAgR1VuaXF1ZU91dFB0cjxnY2hhcj4gZGVi
dWc7CkBAIC05MjQsNyArOTIwLDcgQEAgZ2Jvb2xlYW4gTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjpoYW5kbGVNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCiAgICAgICAgIC8vIG5vdGlm
eSBvZiB0aGUgbmV3IGxvY2F0aW9uKHMpIG9mIHRoZSBtZWRpYS4KICAgICAgICAgaWYgKCFnX3N0
cmNtcDAobWVzc2FnZVR5cGVOYW1lLCAicmVkaXJlY3QiKSkgewogICAgICAgICAgICAgbWVkaWFM
b2NhdGlvbkNoYW5nZWQobWVzc2FnZSk7Ci0gICAgICAgICAgICByZXR1cm4gVFJVRTsKKyAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KIApAQCAtMTA2NSw3ICsxMDYxLDcgQEAg
Z2Jvb2xlYW4gTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVNZXNzYWdlKEdzdE1l
c3NhZ2UqIG1lc3NhZ2UpCiAgICAgICAgICAgICAgICAgICAgIEdTVF9NRVNTQUdFX1RZUEVfTkFN
RShtZXNzYWdlKSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICByZXR1cm4gVFJVRTsKKyAg
ICByZXR1cm47CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpwcm9jZXNz
QnVmZmVyaW5nU3RhdHMoR3N0TWVzc2FnZSogbWVzc2FnZSkKQEAgLTE5MzgsOCArMTkzNCwyMSBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlR1NUUGxheUJpbigpCiAg
ICAgc2V0U3RyZWFtVm9sdW1lRWxlbWVudChHU1RfU1RSRUFNX1ZPTFVNRShtX3BpcGVsaW5lLmdl
dCgpKSk7CiAKICAgICBHUmVmUHRyPEdzdEJ1cz4gYnVzID0gYWRvcHRHUmVmKGdzdF9waXBlbGlu
ZV9nZXRfYnVzKEdTVF9QSVBFTElORShtX3BpcGVsaW5lLmdldCgpKSkpOwotICAgIGdzdF9idXNf
YWRkX3NpZ25hbF93YXRjaChidXMuZ2V0KCkpOwotICAgIGdfc2lnbmFsX2Nvbm5lY3QoYnVzLmdl
dCgpLCAibWVzc2FnZSIsIEdfQ0FMTEJBQ0sobWVkaWFQbGF5ZXJQcml2YXRlTWVzc2FnZUNhbGxi
YWNrKSwgdGhpcyk7CisgICAgZ3N0X2J1c19zZXRfc3luY19oYW5kbGVyKGJ1cy5nZXQoKSwgW10o
R3N0QnVzKiwgR3N0TWVzc2FnZSogbWVzc2FnZSwgZ3BvaW50ZXIgdXNlckRhdGEpIHsKKyAgICAg
ICAgYXV0byYgcGxheWVyID0gKnN0YXRpY19jYXN0PE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
cio+KHVzZXJEYXRhKTsKKworICAgICAgICBpZiAoIXBsYXllci5oYW5kbGVTeW5jTWVzc2FnZSht
ZXNzYWdlKSkgeworICAgICAgICAgICAgR1JlZlB0cjxHc3RNZXNzYWdlPiBwcm90ZWN0TWVzc2Fn
ZShtZXNzYWdlKTsKKyAgICAgICAgICAgIGF1dG8gd2Vha1RoaXMgPSBwbGF5ZXIuY3JlYXRlV2Vh
a1B0cigpOworICAgICAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFt3ZWFrVGhpcywg
cHJvdGVjdE1lc3NhZ2VdIHsKKyAgICAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgd2Vha1RoaXMtPmhhbmRsZU1l
c3NhZ2UocHJvdGVjdE1lc3NhZ2UuZ2V0KCkpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0K
KyAgICAgICAgZ3N0X21lc3NhZ2VfdW5yZWYobWVzc2FnZSk7CisgICAgICAgIHJldHVybiBHU1Rf
QlVTX0RST1A7CisgICAgfSwgdGhpcywgbnVsbHB0cik7CiAKICAgICBnX29iamVjdF9zZXQobV9w
aXBlbGluZS5nZXQoKSwgIm11dGUiLCBtX3BsYXllci0+bXV0ZWQoKSwgbnVsbHB0cik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAppbmRleCAyNjQxODQ3
Li4xNzkxM2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5oCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSA8Z3N0L2dzdC5oPgogI2luY2x1ZGUgPGdz
dC9wYnV0aWxzL2luc3RhbGwtcGx1Z2lucy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Cisj
aW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HVGhyZWFkU2FmZU1h
aW5Mb29wU291cmNlLmg+CiAKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spICYmIFVTRShHU1RSRUFN
RVJfTVBFR1RTKQpAQCAtNjcsNyArNjgsNyBAQCBwdWJsaWM6CiAgICAgfk1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcigpOwogCiAgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJNZWRpYUVuZ2luZShN
ZWRpYUVuZ2luZVJlZ2lzdHJhcik7Ci0gICAgZ2Jvb2xlYW4gaGFuZGxlTWVzc2FnZShHc3RNZXNz
YWdlKik7CisgICAgdm9pZCBoYW5kbGVNZXNzYWdlKEdzdE1lc3NhZ2UqKTsKICAgICB2b2lkIGhh
bmRsZVBsdWdpbkluc3RhbGxlclJlc3VsdChHc3RJbnN0YWxsUGx1Z2luc1JldHVybik7CiAKICAg
ICBib29sIGhhc1ZpZGVvKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9oYXNWaWRlbzsgfQpA
QCAtMTQ3LDYgKzE0OCw4IEBAIHByaXZhdGU6CiAKICAgICBzdGF0aWMgYm9vbCBpc0F2YWlsYWJs
ZSgpOwogCisgICAgV2Vha1B0cjxNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI+IGNyZWF0ZVdl
YWtQdHIoKSB7IHJldHVybiBtX3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKTsgfQorCiAg
ICAgR3N0RWxlbWVudCogY3JlYXRlQXVkaW9TaW5rKCkgb3ZlcnJpZGU7CiAKICAgICBmbG9hdCBw
bGF5YmFja1Bvc2l0aW9uKCkgY29uc3Q7CkBAIC0xNzIsNyArMTc1LDYgQEAgcHJpdmF0ZToKICAg
ICBib29sIGRvU2VlayhnaW50NjQgcG9zaXRpb24sIGZsb2F0IHJhdGUsIEdzdFNlZWtGbGFncyBz
ZWVrVHlwZSk7CiAgICAgdm9pZCB1cGRhdGVQbGF5YmFja1JhdGUoKTsKIAotCiAgICAgU3RyaW5n
IGVuZ2luZURlc2NyaXB0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIkdTdHJlYW1lciI7
IH0KICAgICBib29sIGlzTGl2ZVN0cmVhbSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1faXNT
dHJlYW1pbmc7IH0KICAgICBib29sIGRpZFBhc3NDT1JTQWNjZXNzQ2hlY2soKSBjb25zdCBvdmVy
cmlkZTsKQEAgLTE4Niw3ICsxODgsOCBAQCBwcml2YXRlOgogICAgIE1lZGlhVGltZSB0b3RhbEZy
YW1lRGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBNZWRpYVRpbWU6Onplcm9UaW1lKCk7IH0KICNl
bmRpZgogCi1wcml2YXRlOgorICAgIFdlYWtQdHJGYWN0b3J5PE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcj4gbV93ZWFrUHRyRmFjdG9yeTsKKwogICAgIEdSZWZQdHI8R3N0RWxlbWVudD4gbV9z
b3VyY2U7CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgIEdSZWZQdHI8R3N0RWxlbWVudD4g
bV90ZXh0QXBwU2luazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlLmNwcAppbmRleCBkNmZkYzBiLi4wZTA1NWU0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCkBAIC0xMjgsMTEg
KzEyOCw2IEBAIHN0YXRpYyBnYm9vbGVhbiBtZWRpYVBsYXllclByaXZhdGVEcmF3Q2FsbGJhY2so
R3N0RWxlbWVudCosIEdzdENvbnRleHQqLCBHc3RTYW1wCiB9CiAjZW5kaWYKIAotc3RhdGljIHZv
aWQgbWVkaWFQbGF5ZXJQcml2YXRlTmVlZENvbnRleHRNZXNzYWdlQ2FsbGJhY2soR3N0QnVzKiwg
R3N0TWVzc2FnZSogbWVzc2FnZSwgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSogcGxh
eWVyKQotewotICAgIHBsYXllci0+aGFuZGxlTmVlZENvbnRleHRNZXNzYWdlKG1lc3NhZ2UpOwot
fQotCiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiAgICAgOiBtX3BsYXllcihwbGF5ZXIp
CiAgICAgLCBtX2Zwc1NpbmsoMCkKQEAgLTE3OSw4ICsxNzQsNiBAQCBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlOjp+TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSgpCiAgICAg
aWYgKG1fcGlwZWxpbmUpIHsKICAgICAgICAgR1JlZlB0cjxHc3RCdXM+IGJ1cyA9IGFkb3B0R1Jl
Zihnc3RfcGlwZWxpbmVfZ2V0X2J1cyhHU1RfUElQRUxJTkUobV9waXBlbGluZS5nZXQoKSkpKTsK
ICAgICAgICAgQVNTRVJUKGJ1cyk7Ci0gICAgICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5l
Y3RfYnlfZnVuYyhidXMuZ2V0KCksIHJlaW50ZXJwcmV0X2Nhc3Q8Z3BvaW50ZXI+KG1lZGlhUGxh
eWVyUHJpdmF0ZU5lZWRDb250ZXh0TWVzc2FnZUNhbGxiYWNrKSwgdGhpcyk7Ci0gICAgICAgIGdz
dF9idXNfZGlzYWJsZV9zeW5jX21lc3NhZ2VfZW1pc3Npb24oYnVzLmdldCgpKTsKICAgICAgICAg
bV9waXBlbGluZS5jbGVhcigpOwogICAgIH0KIApAQCAtMTkzLDI2ICsxODYsMjUgQEAgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6fk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2UoKQogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpzZXRQaXBlbGluZShH
c3RFbGVtZW50KiBwaXBlbGluZSkKIHsKICAgICBtX3BpcGVsaW5lID0gcGlwZWxpbmU7Ci0KLSAg
ICBHUmVmUHRyPEdzdEJ1cz4gYnVzID0gYWRvcHRHUmVmKGdzdF9waXBlbGluZV9nZXRfYnVzKEdT
VF9QSVBFTElORShtX3BpcGVsaW5lLmdldCgpKSkpOwotICAgIGdzdF9idXNfZW5hYmxlX3N5bmNf
bWVzc2FnZV9lbWlzc2lvbihidXMuZ2V0KCkpOwotICAgIGdfc2lnbmFsX2Nvbm5lY3QoYnVzLmdl
dCgpLCAic3luYy1tZXNzYWdlOjpuZWVkLWNvbnRleHQiLCBHX0NBTExCQUNLKG1lZGlhUGxheWVy
UHJpdmF0ZU5lZWRDb250ZXh0TWVzc2FnZUNhbGxiYWNrKSwgdGhpcyk7CiB9CiAKLXZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6aGFuZGxlTmVlZENvbnRleHRNZXNzYWdlKEdz
dE1lc3NhZ2UqIG1lc3NhZ2UpCitib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6
OmhhbmRsZVN5bmNNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCiB7CiAjaWYgVVNFKEdTVFJF
QU1FUl9HTCkKKyAgICBpZiAoR1NUX01FU1NBR0VfVFlQRShtZXNzYWdlKSAhPSBHU1RfTUVTU0FH
RV9ORUVEX0NPTlRFWFQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIGNvbnN0IGdjaGFy
KiBjb250ZXh0VHlwZTsKICAgICBnc3RfbWVzc2FnZV9wYXJzZV9jb250ZXh0X3R5cGUobWVzc2Fn
ZSwgJmNvbnRleHRUeXBlKTsKIAogICAgIGlmICghZW5zdXJlR3N0R0xDb250ZXh0KCkpCi0gICAg
ICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKCFnX3N0cmNtcDAo
Y29udGV4dFR5cGUsIEdTVF9HTF9ESVNQTEFZX0NPTlRFWFRfVFlQRSkpIHsKICAgICAgICAgR3N0
Q29udGV4dCogZGlzcGxheUNvbnRleHQgPSBnc3RfY29udGV4dF9uZXcoR1NUX0dMX0RJU1BMQVlf
Q09OVEVYVF9UWVBFLCBUUlVFKTsKICAgICAgICAgZ3N0X2NvbnRleHRfc2V0X2dsX2Rpc3BsYXko
ZGlzcGxheUNvbnRleHQsIG1fZ2xEaXNwbGF5LmdldCgpKTsKICAgICAgICAgZ3N0X2VsZW1lbnRf
c2V0X2NvbnRleHQoR1NUX0VMRU1FTlQobWVzc2FnZS0+c3JjKSwgZGlzcGxheUNvbnRleHQpOwot
ICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAogICAgIGlmICgh
Z19zdHJjbXAwKGNvbnRleHRUeXBlLCAiZ3N0LmdsLmFwcF9jb250ZXh0IikpIHsKQEAgLTIyMCwx
MSArMjEyLDEzIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6aGFuZGxl
TmVlZENvbnRleHRNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhCiAgICAgICAgIEdzdFN0cnVjdHVy
ZSogc3RydWN0dXJlID0gZ3N0X2NvbnRleHRfd3JpdGFibGVfc3RydWN0dXJlKGFwcENvbnRleHQp
OwogICAgICAgICBnc3Rfc3RydWN0dXJlX3NldChzdHJ1Y3R1cmUsICJjb250ZXh0IiwgR1NUX0dM
X1RZUEVfQ09OVEVYVCwgbV9nbENvbnRleHQuZ2V0KCksIG51bGxwdHIpOwogICAgICAgICBnc3Rf
ZWxlbWVudF9zZXRfY29udGV4dChHU1RfRUxFTUVOVChtZXNzYWdlLT5zcmMpLCBhcHBDb250ZXh0
KTsKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAjZWxzZQog
ICAgIFVOVVNFRF9QQVJBTShtZXNzYWdlKTsKICNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSX0dMKQor
CisgICAgcmV0dXJuIGZhbHNlOwogfQogCiAjaWYgVVNFKEdTVFJFQU1FUl9HTCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oCmluZGV4IGQyZjg4
ZTguLjZkNmQ3OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lckJhc2UuaApAQCAtNjYsNyArNjYsNiBAQCBwdWJsaWM6CiAjaWYgVVNFKEdTVFJFQU1F
Ul9HTCkKICAgICBib29sIGVuc3VyZUdzdEdMQ29udGV4dCgpOwogI2VuZGlmCi0gICAgdm9pZCBo
YW5kbGVOZWVkQ29udGV4dE1lc3NhZ2UoR3N0TWVzc2FnZSopOwogCiAgICAgYm9vbCBzdXBwb3J0
c011dGluZygpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2b2lkIHNldE11dGVkKGJvb2wp
OwpAQCAtMTIxLDYgKzEyMCw4IEBAIHByb3RlY3RlZDoKIAogICAgIHZvaWQgc2V0UGlwZWxpbmUo
R3N0RWxlbWVudCopOwogCisgICAgdmlydHVhbCBib29sIGhhbmRsZVN5bmNNZXNzYWdlKEdzdE1l
c3NhZ2UqKTsKKwogICAgIE1lZGlhUGxheWVyKiBtX3BsYXllcjsKICAgICBHUmVmUHRyPEdzdEVs
ZW1lbnQ+IG1fcGlwZWxpbmU7CiAgICAgR1JlZlB0cjxHc3RTdHJlYW1Wb2x1bWU+IG1fdm9sdW1l
RWxlbWVudDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264591</attachid>
            <date>2015-11-02 08:38:02 -0800</date>
            <delta_ts>2015-11-03 00:14:58 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>wcore-gst-sync-messages.diff</filename>
            <type>text/plain</type>
            <size>14460</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyYTcxMDRiLi4yNzM4YWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIg
QEAKKzIwMTUtMTEtMDIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHU3RyZWFtZXJdIFVzZSBHc3RCdXMgc3luYyBtZXNzYWdlIGhhbmRsZXIg
YW5kIHNjaGVkdWxlIHRhc2tzIHRvIHRoZSBtYWluIHRocmVhZCB3aXRoIFJ1bkxvb3A6OmRpc3Bh
dGNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTA4
MDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlz
IHdheSB3ZSB3b3VsZCBhdm9pZCBhbGwgdGhlIEdTY291cmNlICsgcG9sbGluZyBtZWNoYW5pc20g
dGhhdAorICAgICAgICBHU1QgdXNlcyBpbnRlcm5hbGx5IHRvIGhhbmRsZSBtZXNzYWdlcyBhc3lu
Y2hyb25vdXNseSBpbiB0aGUgbWFpbiB0aHJlYWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvR1JlZlB0ckdTdHJlYW1lci5jcHA6CisgICAgICAgIChXVEY6OmFkb3B0
R1JlZik6CisgICAgICAgIChXVEY6OnJlZkdQdHI8R3N0TWVzc2FnZT4pOgorICAgICAgICAoV1RG
OjpkZXJlZkdQdHI8R3N0TWVzc2FnZT4pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9HUmVmUHRyR1N0cmVhbWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lcik6CisgICAgICAgIEluaXRpYWxpemUgdGhlIFdlYWtQdHIgZmFjdG9yeS4KKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6fk1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lcik6CisgICAgICAgIHJlc2V0IHRoZSBHc3RCdXMgc3luYyBoYW5kbGVyLgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVNZXNzYWdl
KTogTWFrZSBpdCB2b2lkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyOjpjcmVhdGVHU1RQbGF5QmluKTogQWRkIGEKKyAgICAgICAgR3N0QnVzIHN5bmMgbWVz
c2FnZSBoYW5kbGVyIGFuZCBzY2hlZHVsZSB0aGUgbWVzc2FnZXMgdG8gdGhlIG1haW4KKyAgICAg
ICAgdGhyZWFkIHdpdGggUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKCkuCisgICAgICAgIChXZWJD
b3JlOjptZWRpYVBsYXllclByaXZhdGVNZXNzYWdlQ2FsbGJhY2spOiBEZWxldGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3Jl
YXRlV2Vha1B0cik6IENyZWF0ZSBhIFdlYWtQdHIuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6aGFuZGxlU3luY01l
c3NhZ2UpOgorICAgICAgICBIYW5kbGUgdGhlIG5lZWQgY29udGV4dCBtZXNzYWdlIHRoYXQgbmVl
ZHMgdG8gYmUgaGFuZGxlZCBpbiB0aGUKKyAgICAgICAgY2FsbGVyIHRocmVhZC4KKyAgICAgICAg
KFdlYkNvcmU6Om1lZGlhUGxheWVyUHJpdmF0ZU5lZWRDb250ZXh0TWVzc2FnZUNhbGxiYWNrKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2U6On5NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnNldFBpcGVsaW5lKTogRG8gbm90Cisg
ICAgICAgIGNvbm5lY3QgdG8gc3luYy1tZXNzYWdlIHNpZ25hbCwgaGFuZGxlU3luY01lc3NhZ2Uo
KSB3aWxsIGJlIGNhbGxlZAorICAgICAgICB0byBoYW5kbGVkIG1lc3NhZ2VzIHN5bmNocm9ub3Vz
bHkuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpo
YW5kbGVOZWVkQ29udGV4dE1lc3NhZ2UpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmg6CisKIDIw
MTUtMTAtMjkgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0NTUyBHcmlkIExheW91dF0gbWluLWNvbnRlbnQgcm93IGRvZXMgbm90IGFsd2F5cyBz
aHJpbmsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9HUmVmUHRyR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9HUmVmUHRyR1N0cmVhbWVyLmNwcAppbmRleCA2NjdiZDc2Li44NDJkOTM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
R1JlZlB0ckdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL0dSZWZQdHJHU3RyZWFtZXIuY3BwCkBAIC0yNTksNiArMjU5LDI1IEBAIHRl
bXBsYXRlPD4gdm9pZCBkZXJlZkdQdHI8R3N0VG9jPihHc3RUb2MqIHB0cikKICAgICAgICAgZ3N0
X3RvY191bnJlZihwdHIpOwogfQogCit0ZW1wbGF0ZTw+IEdSZWZQdHI8R3N0TWVzc2FnZT4gYWRv
cHRHUmVmKEdzdE1lc3NhZ2UqIHB0cikKK3sKKyAgICByZXR1cm4gR1JlZlB0cjxHc3RNZXNzYWdl
PihwdHIsIEdSZWZQdHJBZG9wdCk7Cit9CisKK3RlbXBsYXRlPD4gR3N0TWVzc2FnZSogcmVmR1B0
cjxHc3RNZXNzYWdlPihHc3RNZXNzYWdlKiBwdHIpCit7CisgICAgaWYgKHB0cikKKyAgICAgICAg
cmV0dXJuIGdzdF9tZXNzYWdlX3JlZihwdHIpOworCisgICAgcmV0dXJuIHB0cjsKK30KKwordGVt
cGxhdGU8PiB2b2lkIGRlcmVmR1B0cjxHc3RNZXNzYWdlPihHc3RNZXNzYWdlKiBwdHIpCit7Cisg
ICAgaWYgKHB0cikKKyAgICAgICAgZ3N0X21lc3NhZ2VfdW5yZWYocHRyKTsKK30KKwogdGVtcGxh
dGUgPD4gR1JlZlB0cjxXZWJLaXRWaWRlb1Npbms+IGFkb3B0R1JlZihXZWJLaXRWaWRlb1Npbmsq
IHB0cikKIHsKICAgICBBU1NFUlQoIXB0ciB8fCAhZ19vYmplY3RfaXNfZmxvYXRpbmcoR19PQkpF
Q1QocHRyKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL0dSZWZQdHJHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9HUmVmUHRyR1N0cmVhbWVyLmgKaW5kZXggOTczOWM3Yy4uNjgwMjQ1
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L0dSZWZQdHJHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvR1JlZlB0ckdTdHJlYW1lci5oCkBAIC0zNSw2ICszNSw3IEBAIHR5cGVkZWYg
c3RydWN0IF9Hc3RTYW1wbGUgR3N0U2FtcGxlOwogdHlwZWRlZiBzdHJ1Y3QgX0dzdFRhZ0xpc3Qg
R3N0VGFnTGlzdDsKIHR5cGVkZWYgc3RydWN0IF9Hc3RFdmVudCBHc3RFdmVudDsKIHR5cGVkZWYg
c3RydWN0IF9Hc3RUb2MgR3N0VG9jOwordHlwZWRlZiBzdHJ1Y3QgX0dzdE1lc3NhZ2UgR3N0TWVz
c2FnZTsKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRWaWRlb1NpbmsgV2ViS2l0VmlkZW9TaW5rOwog
dHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFdlYlNyYyBXZWJLaXRXZWJTcmM7CiAKQEAgLTg4LDYgKzg5
LDEwIEBAIHRlbXBsYXRlPD4gR1JlZlB0cjxHc3RUb2M+IGFkb3B0R1JlZihHc3RUb2MqIHB0cik7
CiB0ZW1wbGF0ZTw+IEdzdFRvYyogcmVmR1B0cjxHc3RUb2M+KEdzdFRvYyogcHRyKTsKIHRlbXBs
YXRlPD4gdm9pZCBkZXJlZkdQdHI8R3N0VG9jPihHc3RUb2MqIHB0cik7CiAKK3RlbXBsYXRlPD4g
R1JlZlB0cjxHc3RNZXNzYWdlPiBhZG9wdEdSZWYoR3N0TWVzc2FnZSopOwordGVtcGxhdGU8PiBH
c3RNZXNzYWdlKiByZWZHUHRyPEdzdE1lc3NhZ2U+KEdzdE1lc3NhZ2UqKTsKK3RlbXBsYXRlPD4g
dm9pZCBkZXJlZkdQdHI8R3N0TWVzc2FnZT4oR3N0TWVzc2FnZSopOworCiB0ZW1wbGF0ZTw+IEdS
ZWZQdHI8V2ViS2l0VmlkZW9TaW5rPiBhZG9wdEdSZWYoV2ViS2l0VmlkZW9TaW5rKiBwdHIpOwog
dGVtcGxhdGU8PiBXZWJLaXRWaWRlb1NpbmsqIHJlZkdQdHI8V2ViS2l0VmlkZW9TaW5rPihXZWJL
aXRWaWRlb1NpbmsqIHB0cik7CiB0ZW1wbGF0ZTw+IHZvaWQgZGVyZWZHUHRyPFdlYktpdFZpZGVv
U2luaz4oV2ViS2l0VmlkZW9TaW5rKiBwdHIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCA5ODZkMGZhLi4yNWM3ZGEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAtNDEsNiArNDEs
NyBAQAogI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx3dGYvSGV4TnVtYmVyLmg+CiAjaW5j
bHVkZSA8d3RmL01lZGlhVGltZS5oPgorI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAjaW5jbHVk
ZSA8d3RmL2dsaWIvR1VuaXF1ZVB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
IApAQCAtODAsMTEgKzgxLDYgQEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1zdGF0aWMgZ2Jvb2xlYW4gbWVkaWFQbGF5ZXJQcml2YXRlTWVzc2FnZUNhbGxi
YWNrKEdzdEJ1cyosIEdzdE1lc3NhZ2UqIG1lc3NhZ2UsIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lciogcGxheWVyKQotewotICAgIHJldHVybiBwbGF5ZXItPmhhbmRsZU1lc3NhZ2UobWVzc2Fn
ZSk7Ci19Ci0KIHN0YXRpYyB2b2lkIG1lZGlhUGxheWVyUHJpdmF0ZVNvdXJjZUNoYW5nZWRDYWxs
YmFjayhHT2JqZWN0KiwgR1BhcmFtU3BlYyosIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lciog
cGxheWVyKQogewogICAgIHBsYXllci0+c291cmNlQ2hhbmdlZCgpOwpAQCAtMTc0LDYgKzE3MCw3
IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjppc0F2YWlsYWJsZSgpCiAKIE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyKE1l
ZGlhUGxheWVyKiBwbGF5ZXIpCiAgICAgOiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNl
KHBsYXllcikKKyAgICAsIG1fd2Vha1B0ckZhY3RvcnkodGhpcykKICAgICAsIG1fc291cmNlKDAp
CiAgICAgLCBtX3NlZWtUaW1lKDApCiAgICAgLCBtX2NoYW5naW5nUmF0ZShmYWxzZSkKQEAgLTI0
Nyw4ICsyNDQsNyBAQCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6On5NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIoKQogICAgIGlmIChtX3BpcGVsaW5lKSB7CiAgICAgICAgIEdSZWZQdHI8
R3N0QnVzPiBidXMgPSBhZG9wdEdSZWYoZ3N0X3BpcGVsaW5lX2dldF9idXMoR1NUX1BJUEVMSU5F
KG1fcGlwZWxpbmUuZ2V0KCkpKSk7CiAgICAgICAgIEFTU0VSVChidXMpOwotICAgICAgICBnX3Np
Z25hbF9oYW5kbGVyc19kaXNjb25uZWN0X2J5X2Z1bmMoYnVzLmdldCgpLCByZWludGVycHJldF9j
YXN0PGdwb2ludGVyPihtZWRpYVBsYXllclByaXZhdGVNZXNzYWdlQ2FsbGJhY2spLCB0aGlzKTsK
LSAgICAgICAgZ3N0X2J1c19yZW1vdmVfc2lnbmFsX3dhdGNoKGJ1cy5nZXQoKSk7CisgICAgICAg
IGdzdF9idXNfc2V0X3N5bmNfaGFuZGxlcihidXMuZ2V0KCksIG51bGxwdHIsIG51bGxwdHIsIG51
bGxwdHIpOwogCiAgICAgICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlfZnVuYyht
X3BpcGVsaW5lLmdldCgpLCByZWludGVycHJldF9jYXN0PGdwb2ludGVyPihtZWRpYVBsYXllclBy
aXZhdGVTb3VyY2VDaGFuZ2VkQ2FsbGJhY2spLCB0aGlzKTsKICAgICAgICAgZ19zaWduYWxfaGFu
ZGxlcnNfZGlzY29ubmVjdF9ieV9mdW5jKG1fcGlwZWxpbmUuZ2V0KCksIHJlaW50ZXJwcmV0X2Nh
c3Q8Z3BvaW50ZXI+KG1lZGlhUGxheWVyUHJpdmF0ZVZpZGVvQ2hhbmdlZENhbGxiYWNrKSwgdGhp
cyk7CkBAIC05MDUsNyArOTAxLDcgQEAgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtVGltZVJhbmdl
cz4gTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpidWZmZXJlZCgpIGNvbnMKICAgICByZXR1
cm4gdGltZVJhbmdlczsKIH0KIAotZ2Jvb2xlYW4gTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
OjpoYW5kbGVNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCit2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcjo6aGFuZGxlTWVzc2FnZShHc3RNZXNzYWdlKiBtZXNzYWdlKQogewogICAg
IEdVbmlxdWVPdXRQdHI8R0Vycm9yPiBlcnI7CiAgICAgR1VuaXF1ZU91dFB0cjxnY2hhcj4gZGVi
dWc7CkBAIC05MjQsNyArOTIwLDcgQEAgZ2Jvb2xlYW4gTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjpoYW5kbGVNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCiAgICAgICAgIC8vIG5vdGlm
eSBvZiB0aGUgbmV3IGxvY2F0aW9uKHMpIG9mIHRoZSBtZWRpYS4KICAgICAgICAgaWYgKCFnX3N0
cmNtcDAobWVzc2FnZVR5cGVOYW1lLCAicmVkaXJlY3QiKSkgewogICAgICAgICAgICAgbWVkaWFM
b2NhdGlvbkNoYW5nZWQobWVzc2FnZSk7Ci0gICAgICAgICAgICByZXR1cm4gVFJVRTsKKyAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KIApAQCAtMTA2NSw3ICsxMDYxLDcgQEAg
Z2Jvb2xlYW4gTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVNZXNzYWdlKEdzdE1l
c3NhZ2UqIG1lc3NhZ2UpCiAgICAgICAgICAgICAgICAgICAgIEdTVF9NRVNTQUdFX1RZUEVfTkFN
RShtZXNzYWdlKSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICByZXR1cm4gVFJVRTsKKyAg
ICByZXR1cm47CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpwcm9jZXNz
QnVmZmVyaW5nU3RhdHMoR3N0TWVzc2FnZSogbWVzc2FnZSkKQEAgLTE5MzgsOCArMTkzNCwyNSBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlR1NUUGxheUJpbigpCiAg
ICAgc2V0U3RyZWFtVm9sdW1lRWxlbWVudChHU1RfU1RSRUFNX1ZPTFVNRShtX3BpcGVsaW5lLmdl
dCgpKSk7CiAKICAgICBHUmVmUHRyPEdzdEJ1cz4gYnVzID0gYWRvcHRHUmVmKGdzdF9waXBlbGlu
ZV9nZXRfYnVzKEdTVF9QSVBFTElORShtX3BpcGVsaW5lLmdldCgpKSkpOwotICAgIGdzdF9idXNf
YWRkX3NpZ25hbF93YXRjaChidXMuZ2V0KCkpOwotICAgIGdfc2lnbmFsX2Nvbm5lY3QoYnVzLmdl
dCgpLCAibWVzc2FnZSIsIEdfQ0FMTEJBQ0sobWVkaWFQbGF5ZXJQcml2YXRlTWVzc2FnZUNhbGxi
YWNrKSwgdGhpcyk7CisgICAgZ3N0X2J1c19zZXRfc3luY19oYW5kbGVyKGJ1cy5nZXQoKSwgW10o
R3N0QnVzKiwgR3N0TWVzc2FnZSogbWVzc2FnZSwgZ3BvaW50ZXIgdXNlckRhdGEpIHsKKyAgICAg
ICAgYXV0byYgcGxheWVyID0gKnN0YXRpY19jYXN0PE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
cio+KHVzZXJEYXRhKTsKKworICAgICAgICBpZiAoIXBsYXllci5oYW5kbGVTeW5jTWVzc2FnZSht
ZXNzYWdlKSkgeworICAgICAgICAgICAgaWYgKGlzTWFpblRocmVhZCgpKQorICAgICAgICAgICAg
ICAgIHBsYXllci5oYW5kbGVNZXNzYWdlKG1lc3NhZ2UpOworICAgICAgICAgICAgZWxzZSB7Cisg
ICAgICAgICAgICAgICAgR1JlZlB0cjxHc3RNZXNzYWdlPiBwcm90ZWN0TWVzc2FnZShtZXNzYWdl
KTsKKyAgICAgICAgICAgICAgICBhdXRvIHdlYWtUaGlzID0gcGxheWVyLmNyZWF0ZVdlYWtQdHIo
KTsKKyAgICAgICAgICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW3dlYWtUaGlzLCBw
cm90ZWN0TWVzc2FnZV0geworICAgICAgICAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAg
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgICAgICB3ZWFrVGhp
cy0+aGFuZGxlTWVzc2FnZShwcm90ZWN0TWVzc2FnZS5nZXQoKSk7CisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZ3N0X21lc3NhZ2VfdW5yZWYo
bWVzc2FnZSk7CisgICAgICAgIHJldHVybiBHU1RfQlVTX0RST1A7CisgICAgfSwgdGhpcywgbnVs
bHB0cik7CiAKICAgICBnX29iamVjdF9zZXQobV9waXBlbGluZS5nZXQoKSwgIm11dGUiLCBtX3Bs
YXllci0+bXV0ZWQoKSwgbnVsbHB0cik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuaAppbmRleCAyNjQxODQ3Li4xNzkxM2RmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCkBAIC0zMyw2ICszMyw3IEBACiAjaW5j
bHVkZSA8Z3N0L2dzdC5oPgogI2luY2x1ZGUgPGdzdC9wYnV0aWxzL2luc3RhbGwtcGx1Z2lucy5o
PgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KICNp
bmNsdWRlIDx3dGYvZ2xpYi9HVGhyZWFkU2FmZU1haW5Mb29wU291cmNlLmg+CiAKICNpZiBFTkFC
TEUoVklERU9fVFJBQ0spICYmIFVTRShHU1RSRUFNRVJfTVBFR1RTKQpAQCAtNjcsNyArNjgsNyBA
QCBwdWJsaWM6CiAgICAgfk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcigpOwogCiAgICAgc3Rh
dGljIHZvaWQgcmVnaXN0ZXJNZWRpYUVuZ2luZShNZWRpYUVuZ2luZVJlZ2lzdHJhcik7Ci0gICAg
Z2Jvb2xlYW4gaGFuZGxlTWVzc2FnZShHc3RNZXNzYWdlKik7CisgICAgdm9pZCBoYW5kbGVNZXNz
YWdlKEdzdE1lc3NhZ2UqKTsKICAgICB2b2lkIGhhbmRsZVBsdWdpbkluc3RhbGxlclJlc3VsdChH
c3RJbnN0YWxsUGx1Z2luc1JldHVybik7CiAKICAgICBib29sIGhhc1ZpZGVvKCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gbV9oYXNWaWRlbzsgfQpAQCAtMTQ3LDYgKzE0OCw4IEBAIHByaXZhdGU6
CiAKICAgICBzdGF0aWMgYm9vbCBpc0F2YWlsYWJsZSgpOwogCisgICAgV2Vha1B0cjxNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI+IGNyZWF0ZVdlYWtQdHIoKSB7IHJldHVybiBtX3dlYWtQdHJG
YWN0b3J5LmNyZWF0ZVdlYWtQdHIoKTsgfQorCiAgICAgR3N0RWxlbWVudCogY3JlYXRlQXVkaW9T
aW5rKCkgb3ZlcnJpZGU7CiAKICAgICBmbG9hdCBwbGF5YmFja1Bvc2l0aW9uKCkgY29uc3Q7CkBA
IC0xNzIsNyArMTc1LDYgQEAgcHJpdmF0ZToKICAgICBib29sIGRvU2VlayhnaW50NjQgcG9zaXRp
b24sIGZsb2F0IHJhdGUsIEdzdFNlZWtGbGFncyBzZWVrVHlwZSk7CiAgICAgdm9pZCB1cGRhdGVQ
bGF5YmFja1JhdGUoKTsKIAotCiAgICAgU3RyaW5nIGVuZ2luZURlc2NyaXB0aW9uKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gIkdTdHJlYW1lciI7IH0KICAgICBib29sIGlzTGl2ZVN0cmVhbSgp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1faXNTdHJlYW1pbmc7IH0KICAgICBib29sIGRpZFBh
c3NDT1JTQWNjZXNzQ2hlY2soKSBjb25zdCBvdmVycmlkZTsKQEAgLTE4Niw3ICsxODgsOCBAQCBw
cml2YXRlOgogICAgIE1lZGlhVGltZSB0b3RhbEZyYW1lRGVsYXkoKSBvdmVycmlkZSB7IHJldHVy
biBNZWRpYVRpbWU6Onplcm9UaW1lKCk7IH0KICNlbmRpZgogCi1wcml2YXRlOgorICAgIFdlYWtQ
dHJGYWN0b3J5PE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4gbV93ZWFrUHRyRmFjdG9yeTsK
KwogICAgIEdSZWZQdHI8R3N0RWxlbWVudD4gbV9zb3VyY2U7CiAjaWYgRU5BQkxFKFZJREVPX1RS
QUNLKQogICAgIEdSZWZQdHI8R3N0RWxlbWVudD4gbV90ZXh0QXBwU2luazsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcAppbmRleCBkNmZk
YzBiLi4wZTA1NWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lckJhc2UuY3BwCkBAIC0xMjgsMTEgKzEyOCw2IEBAIHN0YXRpYyBnYm9vbGVhbiBt
ZWRpYVBsYXllclByaXZhdGVEcmF3Q2FsbGJhY2soR3N0RWxlbWVudCosIEdzdENvbnRleHQqLCBH
c3RTYW1wCiB9CiAjZW5kaWYKIAotc3RhdGljIHZvaWQgbWVkaWFQbGF5ZXJQcml2YXRlTmVlZENv
bnRleHRNZXNzYWdlQ2FsbGJhY2soR3N0QnVzKiwgR3N0TWVzc2FnZSogbWVzc2FnZSwgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSogcGxheWVyKQotewotICAgIHBsYXllci0+aGFuZGxl
TmVlZENvbnRleHRNZXNzYWdlKG1lc3NhZ2UpOwotfQotCiBNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJCYXNlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlKE1lZGlhUGxheWVyKiBw
bGF5ZXIpCiAgICAgOiBtX3BsYXllcihwbGF5ZXIpCiAgICAgLCBtX2Zwc1NpbmsoMCkKQEAgLTE3
OSw4ICsxNzQsNiBAQCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp+TWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSgpCiAgICAgaWYgKG1fcGlwZWxpbmUpIHsKICAgICAgICAg
R1JlZlB0cjxHc3RCdXM+IGJ1cyA9IGFkb3B0R1JlZihnc3RfcGlwZWxpbmVfZ2V0X2J1cyhHU1Rf
UElQRUxJTkUobV9waXBlbGluZS5nZXQoKSkpKTsKICAgICAgICAgQVNTRVJUKGJ1cyk7Ci0gICAg
ICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlfZnVuYyhidXMuZ2V0KCksIHJlaW50
ZXJwcmV0X2Nhc3Q8Z3BvaW50ZXI+KG1lZGlhUGxheWVyUHJpdmF0ZU5lZWRDb250ZXh0TWVzc2Fn
ZUNhbGxiYWNrKSwgdGhpcyk7Ci0gICAgICAgIGdzdF9idXNfZGlzYWJsZV9zeW5jX21lc3NhZ2Vf
ZW1pc3Npb24oYnVzLmdldCgpKTsKICAgICAgICAgbV9waXBlbGluZS5jbGVhcigpOwogICAgIH0K
IApAQCAtMTkzLDI2ICsxODYsMjUgQEAgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6
fk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UoKQogdm9pZCBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlOjpzZXRQaXBlbGluZShHc3RFbGVtZW50KiBwaXBlbGluZSkKIHsKICAg
ICBtX3BpcGVsaW5lID0gcGlwZWxpbmU7Ci0KLSAgICBHUmVmUHRyPEdzdEJ1cz4gYnVzID0gYWRv
cHRHUmVmKGdzdF9waXBlbGluZV9nZXRfYnVzKEdTVF9QSVBFTElORShtX3BpcGVsaW5lLmdldCgp
KSkpOwotICAgIGdzdF9idXNfZW5hYmxlX3N5bmNfbWVzc2FnZV9lbWlzc2lvbihidXMuZ2V0KCkp
OwotICAgIGdfc2lnbmFsX2Nvbm5lY3QoYnVzLmdldCgpLCAic3luYy1tZXNzYWdlOjpuZWVkLWNv
bnRleHQiLCBHX0NBTExCQUNLKG1lZGlhUGxheWVyUHJpdmF0ZU5lZWRDb250ZXh0TWVzc2FnZUNh
bGxiYWNrKSwgdGhpcyk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFz
ZTo6aGFuZGxlTmVlZENvbnRleHRNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCitib29sIE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmhhbmRsZVN5bmNNZXNzYWdlKEdzdE1lc3Nh
Z2UqIG1lc3NhZ2UpCiB7CiAjaWYgVVNFKEdTVFJFQU1FUl9HTCkKKyAgICBpZiAoR1NUX01FU1NB
R0VfVFlQRShtZXNzYWdlKSAhPSBHU1RfTUVTU0FHRV9ORUVEX0NPTlRFWFQpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKwogICAgIGNvbnN0IGdjaGFyKiBjb250ZXh0VHlwZTsKICAgICBnc3RfbWVz
c2FnZV9wYXJzZV9jb250ZXh0X3R5cGUobWVzc2FnZSwgJmNvbnRleHRUeXBlKTsKIAogICAgIGlm
ICghZW5zdXJlR3N0R0xDb250ZXh0KCkpCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJu
IGZhbHNlOwogCiAgICAgaWYgKCFnX3N0cmNtcDAoY29udGV4dFR5cGUsIEdTVF9HTF9ESVNQTEFZ
X0NPTlRFWFRfVFlQRSkpIHsKICAgICAgICAgR3N0Q29udGV4dCogZGlzcGxheUNvbnRleHQgPSBn
c3RfY29udGV4dF9uZXcoR1NUX0dMX0RJU1BMQVlfQ09OVEVYVF9UWVBFLCBUUlVFKTsKICAgICAg
ICAgZ3N0X2NvbnRleHRfc2V0X2dsX2Rpc3BsYXkoZGlzcGxheUNvbnRleHQsIG1fZ2xEaXNwbGF5
LmdldCgpKTsKICAgICAgICAgZ3N0X2VsZW1lbnRfc2V0X2NvbnRleHQoR1NUX0VMRU1FTlQobWVz
c2FnZS0+c3JjKSwgZGlzcGxheUNvbnRleHQpOwotICAgICAgICByZXR1cm47CisgICAgICAgIHJl
dHVybiB0cnVlOwogICAgIH0KIAogICAgIGlmICghZ19zdHJjbXAwKGNvbnRleHRUeXBlLCAiZ3N0
LmdsLmFwcF9jb250ZXh0IikpIHsKQEAgLTIyMCwxMSArMjEyLDEzIEBAIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6aGFuZGxlTmVlZENvbnRleHRNZXNzYWdlKEdzdE1lc3Nh
Z2UqIG1lc3NhCiAgICAgICAgIEdzdFN0cnVjdHVyZSogc3RydWN0dXJlID0gZ3N0X2NvbnRleHRf
d3JpdGFibGVfc3RydWN0dXJlKGFwcENvbnRleHQpOwogICAgICAgICBnc3Rfc3RydWN0dXJlX3Nl
dChzdHJ1Y3R1cmUsICJjb250ZXh0IiwgR1NUX0dMX1RZUEVfQ09OVEVYVCwgbV9nbENvbnRleHQu
Z2V0KCksIG51bGxwdHIpOwogICAgICAgICBnc3RfZWxlbWVudF9zZXRfY29udGV4dChHU1RfRUxF
TUVOVChtZXNzYWdlLT5zcmMpLCBhcHBDb250ZXh0KTsKLSAgICAgICAgcmV0dXJuOworICAgICAg
ICByZXR1cm4gdHJ1ZTsKICAgICB9CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShtZXNzYWdlKTsK
ICNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSX0dMKQorCisgICAgcmV0dXJuIGZhbHNlOwogfQogCiAj
aWYgVVNFKEdTVFJFQU1FUl9HTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyQmFzZS5oCmluZGV4IGQyZjg4ZTguLjZkNmQ3OGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaApAQCAtNjYsNyArNjYs
NiBAQCBwdWJsaWM6CiAjaWYgVVNFKEdTVFJFQU1FUl9HTCkKICAgICBib29sIGVuc3VyZUdzdEdM
Q29udGV4dCgpOwogI2VuZGlmCi0gICAgdm9pZCBoYW5kbGVOZWVkQ29udGV4dE1lc3NhZ2UoR3N0
TWVzc2FnZSopOwogCiAgICAgYm9vbCBzdXBwb3J0c011dGluZygpIGNvbnN0IHsgcmV0dXJuIHRy
dWU7IH0KICAgICB2b2lkIHNldE11dGVkKGJvb2wpOwpAQCAtMTIxLDYgKzEyMCw4IEBAIHByb3Rl
Y3RlZDoKIAogICAgIHZvaWQgc2V0UGlwZWxpbmUoR3N0RWxlbWVudCopOwogCisgICAgdmlydHVh
bCBib29sIGhhbmRsZVN5bmNNZXNzYWdlKEdzdE1lc3NhZ2UqKTsKKwogICAgIE1lZGlhUGxheWVy
KiBtX3BsYXllcjsKICAgICBHUmVmUHRyPEdzdEVsZW1lbnQ+IG1fcGlwZWxpbmU7CiAgICAgR1Jl
ZlB0cjxHc3RTdHJlYW1Wb2x1bWU+IG1fdm9sdW1lRWxlbWVudDsK
</data>
<flag name="review"
          id="289693"
          type_id="1"
          status="+"
          setter="pnormand"
    />
          </attachment>
      

    </bug>

</bugzilla>