<?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>117354</bug_id>
          
          <creation_ts>2013-06-07 10:44:30 -0700</creation_ts>
          <short_desc>[GStreamer] Don&apos;t set state to NULL until element is destroyed</short_desc>
          <delta_ts>2013-09-04 08:24:25 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>109350</dependson>
    
    <dependson>120683</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sebastian Dröge (slomo)">slomo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>jer.noble</cc>
    
    <cc>menard</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>898233</commentid>
    <comment_count>0</comment_count>
    <who name="Sebastian Dröge (slomo)">slomo</who>
    <bug_when>2013-06-07 10:44:30 -0700</bug_when>
    <thetext>It would be good if the MediaPlayer does not set playbin to NULL until it is really done with it and it is to be destroyed. Instead it should only set the state to READY as this allows much faster to go to PAUSED/PLAYING again (playbin caches some things internally, nothing related to the URI though so you could even change URIs).

Patch following</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898235</commentid>
    <comment_count>1</comment_count>
      <attachid>204055</attachid>
    <who name="Sebastian Dröge (slomo)">slomo</who>
    <bug_when>2013-06-07 10:57:30 -0700</bug_when>
    <thetext>Created attachment 204055
Don&apos;t set GStreamer element state to NULL until it is to be destroyed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898573</commentid>
    <comment_count>2</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2013-06-10 01:15:01 -0700</bug_when>
    <thetext>We used to do that (setting to READY) but then people started to complain that resources/devices were not freed properly. It turns out this is Bug 109350.

You can also see Bug 89122...

So, until Bug 109350 is fixed I&apos;d like to hold on this patch, if you don&apos;t object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898612</commentid>
    <comment_count>3</comment_count>
    <who name="Sebastian Dröge (slomo)">slomo</who>
    <bug_when>2013-06-10 04:42:04 -0700</bug_when>
    <thetext>Fine with me, I don&apos;t really understand the problem in that other bug though. That&apos;s more related to webkit (and not even the webkit gstreamer backend) not cleaning up its stuff, no?


For this patch here, something important is indeed missing. After going to READY, e.g. audio devices are still opened. So there should be a timeout, after which the element is set to NULL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898625</commentid>
    <comment_count>4</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2013-06-10 05:44:37 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Fine with me, I don&apos;t really understand the problem in that other bug though. That&apos;s more related to webkit (and not even the webkit gstreamer backend) not cleaning up its stuff, no?
&gt; 

It is related, I think. In some cases the MediaPlayer and its Private backend actually are not freed and leak :(

&gt; 
&gt; For this patch here, something important is indeed missing. After going to READY, e.g. audio devices are still opened. So there should be a timeout, after which the element is set to NULL.

Yes, that sounds like a good idea to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923101</commentid>
    <comment_count>5</comment_count>
      <attachid>210138</attachid>
    <who name="Andre Moreira Magalhaes">andrunko</who>
    <bug_when>2013-08-30 11:22:35 -0700</bug_when>
    <thetext>Created attachment 210138
Patch

(In reply to comment #4)
&gt; &gt; For this patch here, something important is indeed missing. After going to READY, e.g. audio devices are still opened. So there should be a timeout, after which the element is set to NULL.
&gt; 
&gt; Yes, that sounds like a good idea to me.

Updated patch should handle this. I used a 1 minute timeout for now.

I found an issue when setting the pipeline to READY on didEnd() where the updateStates() method was being invoked and resetting the network/ready states thus making the HTMLMediaElement recreate the player when playing the video again after EOS. When setting to NULL on EOS the updateStates() method is not called (pipeline flushing), hence why we didn&apos;t have this issue before.
To fix it the patch added a check for EOS on updateStates before updating the network/ready states.

So what happens now is that when finishing playing a video (EOS) we set the pipeline to READY state and if the video is played again (without reloading page of course) before the 1 minute timeout we go from READY-&gt;PAUSED-&gt;PLAYING instead of starting from NULL, thus saving some resources loading (e.g. metadata).

Apart from the possible (if played before timeout) gain when replaying videos on EOS I don&apos;t see any other advantage in not setting the pipeline to NULL as it is done today.

Please let me know what you think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923106</commentid>
    <comment_count>6</comment_count>
      <attachid>210140</attachid>
    <who name="Andre Moreira Magalhaes">andrunko</who>
    <bug_when>2013-08-30 11:32:03 -0700</bug_when>
    <thetext>Created attachment 210140
Patch

Same patch as the one from comment #5 but with a comment fixed/updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923154</commentid>
    <comment_count>7</comment_count>
      <attachid>210140</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-08-30 13:15:22 -0700</bug_when>
    <thetext>Comment on attachment 210140
Patch

Attachment 210140 did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/1641061</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923164</commentid>
    <comment_count>8</comment_count>
      <attachid>210140</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-08-30 13:31:23 -0700</bug_when>
    <thetext>Comment on attachment 210140
Patch

Looks like the win EWS is still b0rked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923645</commentid>
    <comment_count>9</comment_count>
      <attachid>210140</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2013-09-02 03:24:39 -0700</bug_when>
    <thetext>Comment on attachment 210140
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:291
&gt; +    if (m_readyTimerHandler)
&gt; +        g_source_remove(m_readyTimerHandler);

Shouldn&apos;t this be done before m_playBin is cleared? Otherwise the timer might fire with an invalid player pointer?

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:413
&gt; +    // See also https://bugzilla.gnome.org/show_bug.cgi?id=117354

That bug seems quite unrelated :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923746</commentid>
    <comment_count>10</comment_count>
      <attachid>210293</attachid>
    <who name="Andre Moreira Magalhaes">andrunko</who>
    <bug_when>2013-09-02 09:23:12 -0700</bug_when>
    <thetext>Created attachment 210293
Patch

(In reply to comment #9)
&gt; (From update of attachment 210140 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=210140&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:291
&gt; &gt; +    if (m_readyTimerHandler)
&gt; &gt; +        g_source_remove(m_readyTimerHandler);
&gt; 
&gt; Shouldn&apos;t this be done before m_playBin is cleared? Otherwise the timer might fire with an invalid player pointer?
&gt;
Changed to remove the source before m_playBin is cleared. The change is not actually required as the timer would not be fired in the destructor (same thread and no one calling main_loop_iterate) but doesn&apos;t hurt.
 
&gt; &gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:413
&gt; &gt; +    // See also https://bugzilla.gnome.org/show_bug.cgi?id=117354
&gt; 
&gt; That bug seems quite unrelated :)
hehe, oops, fixed :)

Also rebased against upstream/master and fixed conflicts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924040</commentid>
    <comment_count>11</comment_count>
      <attachid>210293</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2013-09-03 09:27:15 -0700</bug_when>
    <thetext>Comment on attachment 210293
Patch

Ok, I&apos;m not sure about the 60 seconds timer though... We can tweak it later if needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924048</commentid>
    <comment_count>12</comment_count>
      <attachid>210293</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-03 09:50:26 -0700</bug_when>
    <thetext>Comment on attachment 210293
Patch

Clearing flags on attachment: 210293

Committed r154988: &lt;http://trac.webkit.org/changeset/154988&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924049</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-03 09:50:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204055</attachid>
            <date>2013-06-07 10:57:30 -0700</date>
            <delta_ts>2013-06-10 05:42:01 -0700</delta_ts>
            <desc>Don&apos;t set GStreamer element state to NULL until it is to be destroyed</desc>
            <filename>0001-Don-t-set-GStreamer-element-state-to-NULL-until-it-i.patch</filename>
            <type>text/plain</type>
            <size>3740</size>
            <attacher name="Sebastian Dröge (slomo)">slomo</attacher>
            
              <data encoding="base64">RnJvbSA5ZmIwOWE0MmYzYzgxODM3OWQ1NThmNGUwN2U0ODlkOWI3NWM3NGJjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/U2ViYXN0aWFuPTIwRHI9QzM9QjZnZT89IDxz
bG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CkRhdGU6IEZyaSwgNyBKdW4gMjAxMyAxOTo0NzoxNCAr
MDIwMApTdWJqZWN0OiBbUEFUQ0hdIERvbid0IHNldCBHU3RyZWFtZXIgZWxlbWVudCBzdGF0ZSB0
byBOVUxMIHVudGlsIGl0IGlzIHRvIGJlCiBkZXN0cm95ZWQKCmh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTczNTQKCiogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CkRvbid0IHNldCBwbGF5YmluIHRvIE5V
TEwgdW50aWwgaXQgaXMgZ29pbnQgdG8gYmUgZGVzdHJveWVkLiBJbnN0ZWFkCm9ubHkgc2V0IHRo
ZSBzdGF0ZSB0byBSRUFEWSBhcyB0aGlzIGFsbG93cyBtdWNoIGZhc3RlciBzdGF0ZSBjaGFuZ2Vz
CnRvIFBBVVNFRC9QTEFZSU5HIGFnYWluLiBwbGF5YmluIGludGVybmFsbHkgY2FjaGVzIHNvbWUg
c3RhdGUgdGhhdCBpcwpkZXN0cm95ZWQgd2hlbiBzZXR0aW5nIGl0IHRvIE5VTEwuIFRoaXMgc3Rh
dGUgaXMgaW5kZXBlbmRlbnQgb2YgdGhlIFVSSQphbmQgaXQgaXMgZXZlbiBpbXBvc3NpYmxlIHRv
IGNoYW5nZSB0aGUgVVJJIGluIFJFQURZIHN0YXRlLgotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNCArKysrKysrKysrKysr
KwogLi4uL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3Bw
ICAgICB8ICA4ICsrKystLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDQg
ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGEwNGYzY2MuLjMwMGVkNTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNyBAQAorMjAxMy0wNi0wNyAgU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vQGNp
cmN1bGFyLWNoYW9zLm9yZz4KKworICAgICAgICBEb24ndCBzZXQgR1N0cmVhbWVyIGVsZW1lbnQg
c3RhdGUgdG8gTlVMTCB1bnRpbCBpdCBpcyB0byBiZSBkZXN0cm95ZWQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzM1NAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIERvbid0IHNl
dCBwbGF5YmluIHRvIE5VTEwgdW50aWwgaXQgaXMgZ29pbnQgdG8gYmUgZGVzdHJveWVkLiBJbnN0
ZWFkCisgICAgICAgIG9ubHkgc2V0IHRoZSBzdGF0ZSB0byBSRUFEWSBhcyB0aGlzIGFsbG93cyBt
dWNoIGZhc3RlciBzdGF0ZSBjaGFuZ2VzCisgICAgICAgIHRvIFBBVVNFRC9QTEFZSU5HIGFnYWlu
LiBwbGF5YmluIGludGVybmFsbHkgY2FjaGVzIHNvbWUgc3RhdGUgdGhhdCBpcworICAgICAgICBk
ZXN0cm95ZWQgd2hlbiBzZXR0aW5nIGl0IHRvIE5VTEwuIFRoaXMgc3RhdGUgaXMgaW5kZXBlbmRl
bnQgb2YgdGhlIFVSSQorICAgICAgICBhbmQgaXQgaXMgZXZlbiBpbXBvc3NpYmxlIHRvIGNoYW5n
ZSB0aGUgVVJJIGluIFJFQURZIHN0YXRlLgorCiAyMDEzLTA2LTA1ICBDaHJpc3RvcGhlIER1bWV6
ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5nLmNvbT4KIAogICAgICAgICBSZW1vdmUgcmVtYWluaW5n
IGN1c3RvbSBnZXR0ZXJzIGZvciBXb3JrZXJDb250ZXh0IGNvbnN0cnVjdG9yIGF0dHJpYnV0ZXMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXgg
MDZmOGE3ZC4uODNhYWVkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lci5jcHAKQEAgLTEwNTEsNyArMTA1MSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyOjpjYW5jZWxMb2FkKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKG1f
cGxheUJpbikKLSAgICAgICAgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGxheUJpbi5nZXQoKSwg
R1NUX1NUQVRFX05VTEwpOworICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9wbGF5Qmlu
LmdldCgpLCBHU1RfU1RBVEVfUkVBRFkpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6YXN5bmNTdGF0ZUNoYW5nZURvbmUoKQpAQCAtMTE4OSwxMyArMTE4OSwxMyBAQCB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dXBkYXRlU3RhdGVzKCkKICAgICAgICAg
Ly8gcGlwZWxpbmUuCiAgICAgICAgIGlmIChzdGF0ZSA9PSBHU1RfU1RBVEVfUkVBRFkgJiYgaXNM
aXZlU3RyZWFtKCkgJiYgbV9wcmVsb2FkID09IE1lZGlhUGxheWVyOjpBdXRvKSB7CiAgICAgICAg
ICAgICBzZXRQcmVsb2FkKE1lZGlhUGxheWVyOjpOb25lKTsKLSAgICAgICAgICAgIGdzdF9lbGVt
ZW50X3NldF9zdGF0ZShtX3BsYXlCaW4uZ2V0KCksIEdTVF9TVEFURV9OVUxMKTsKKyAgICAgICAg
ICAgIGdzdF9lbGVtZW50X3NldF9zdGF0ZShtX3BsYXlCaW4uZ2V0KCksIEdTVF9TVEFURV9SRUFE
WSk7CiAgICAgICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9wbGF5QmluLmdldCgpLCBH
U1RfU1RBVEVfUEFVU0VEKTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIEEgbGl2ZSBzdHJlYW0g
d2FzIHBhdXNlZCwgcmVzZXQgdGhlIHBpcGVsaW5lLgogICAgICAgICBpZiAoc3RhdGUgPT0gR1NU
X1NUQVRFX1BBVVNFRCAmJiBwZW5kaW5nID09IEdTVF9TVEFURV9QTEFZSU5HICYmIGlzTGl2ZVN0
cmVhbSgpKSB7Ci0gICAgICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9wbGF5QmluLmdl
dCgpLCBHU1RfU1RBVEVfTlVMTCk7CisgICAgICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUo
bV9wbGF5QmluLmdldCgpLCBHU1RfU1RBVEVfUkVBRFkpOwogICAgICAgICAgICAgZ3N0X2VsZW1l
bnRfc2V0X3N0YXRlKG1fcGxheUJpbi5nZXQoKSwgR1NUX1NUQVRFX1BMQVlJTkcpOwogICAgICAg
ICB9CiAKQEAgLTEzNzAsNyArMTM3MCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjpkaWRFbmQoKQogCiAgICAgaWYgKCFtX3BsYXllci0+bWVkaWFQbGF5ZXJDbGllbnQoKS0+
bWVkaWFQbGF5ZXJJc0xvb3BpbmcoKSkgewogICAgICAgICBtX3BhdXNlZCA9IHRydWU7Ci0gICAg
ICAgIGdzdF9lbGVtZW50X3NldF9zdGF0ZShtX3BsYXlCaW4uZ2V0KCksIEdTVF9TVEFURV9OVUxM
KTsKKyAgICAgICAgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGxheUJpbi5nZXQoKSwgR1NUX1NU
QVRFX1JFQURZKTsKICAgICB9CiB9CiAKLS0gCjEuOC4zCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210138</attachid>
            <date>2013-08-30 11:22:35 -0700</date>
            <delta_ts>2013-08-30 11:32:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-GStreamer-Don-t-set-state-to-NULL-until-element-is-d.patch</filename>
            <type>text/plain</type>
            <size>13571</size>
            <attacher name="Andre Moreira Magalhaes">andrunko</attacher>
            
              <data encoding="base64">RnJvbSA3MDU1ODIzODdhYTc5YWUwNWRjMDNmYzExYmI1OTUxNTUyZTFhNmExIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSIg
PGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CkRhdGU6IEZyaSwgMzAgQXVnIDIwMTMg
MTQ6NTY6MDIgLTAzMDAKU3ViamVjdDogW1BBVENIXSBbR1N0cmVhbWVyXSBEb24ndCBzZXQgc3Rh
dGUgdG8gTlVMTCB1bnRpbCBlbGVtZW50IGlzCiBkZXN0cm95ZWQgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzM1NAoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CgpEb24ndCBzZXQgcGxheWJpbiB0byBOVUxMIHVudGlsIGl0IGlzIGdvaW5nIHRvIGJlIGRlc3Ry
b3llZCBvciBpZiB3ZSBzdGF5CmZvciB0b28gbG9uZyBvbiB0aGUgUkVBRFkgc3RhdGUuIEluc3Rl
YWQgb25seSBzZXQgdGhlIHN0YXRlIHRvIFJFQURZIGFzIHRoaXMKYWxsb3dzIG11Y2ggZmFzdGVy
IHN0YXRlIGNoYW5nZXMgdG8gUEFVU0VEL1BMQVlJTkcgYWdhaW4uIHBsYXliaW4gaW50ZXJuYWxs
eQpjYWNoZXMgc29tZSBzdGF0ZSB0aGF0IGlzIGRlc3Ryb3llZCB3aGVuIHNldHRpbmcgaXQgdG8g
TlVMTC4KVGhpcyBzdGF0ZSBpcyBpbmRlcGVuZGVudCBvZiB0aGUgVVJJIGFuZCBpdCBpcyBldmVu
IHBvc3NpYmxlIHRvIGNoYW5nZSB0aGUKVVJJIGluIFJFQURZIHN0YXRlLgoKVG8gYXZvaWQgaGF2
aW5nIHJlc291cmNlcyAoZS5nLiBhdWRpbyBkZXZpY2VzKSBvcGVuIGluZGVmaW5pdGVseSwKd2hl
biBzZXR0aW5nIHRoZSBzdGF0ZSB0byBSRUFEWSB3ZSBjcmVhdGUgYSB0aW1lb3V0IGFuZCBpZiB0
aGUgdGltZW91dAppcyByZWFjaGVkIHdlIHJlc2V0IHRoZSBwaXBlbGluZSBzdGF0ZSB0byBOVUxM
IHRvIGZyZWUgcmVzb3VyY2VzLgoKQWxzbyBub3cgYWxsIHN0YXRlIGNoYW5nZXMgdXNlIHRoZSBj
aGFuZ2VQaXBlbGluZVN0YXRlIG1ldGhvZCBpbnN0ZWFkIG9mIHNldHRpbmcKdGhlIHBsYXliaW4g
c3RhdGUgZGlyZWN0bHkgd2l0aCBnc3RfZWxlbWVudF9zZXRfc3RhdGUsIHNvIHdlIGhhdmUgYSBi
ZXR0ZXIgY29udHJvbApvZiB3aGVuIHdlIGFyZSByZXF1ZXN0aW5nIHN0YXRlIGNoYW5nZXMuCgoq
IHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIu
Y3BwOgooV2ViQ29yZTo6bWVkaWFQbGF5ZXJQcml2YXRlUmVhZHlTdGF0ZVRpbWVvdXRDYWxsYmFj
ayk6CihXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Ok1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcik6CihXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6On5N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIpOgooV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyOjpjb21taXRMb2FkKToKKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0ZSk6CihXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI6OnNldFJhdGUpOgooV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
OjpoYW5kbGVQbHVnaW5JbnN0YWxsZXJSZXN1bHQpOgoqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaDoKLS0tCiBTb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDMyICsrKysrKysrKysKIC4uLi9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCAgICAgIHwgNzAgKysrKysr
KysrKysrKysrKystLS0tLQogLi4uL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXIuaCAgICAgICAgfCAgNCArLQogMyBmaWxlcyBjaGFuZ2VkLCA4OSBpbnNlcnRpb25zKCspLCAx
NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmJhMWMxMC4uYWM3NWQ3MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM1IEBACisyMDEzLTA4LTMwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAg
IDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgorCisgICAgICAgIFtHU3RyZWFtZXJd
IERvbid0IHNldCBzdGF0ZSB0byBOVUxMIHVudGlsIGVsZW1lbnQgaXMgZGVzdHJveWVkCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTczNTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEb24ndCBzZXQgcGxh
eWJpbiB0byBOVUxMIHVudGlsIGl0IGlzIGdvaW5nIHRvIGJlIGRlc3Ryb3llZCBvciBpZiB3ZSBz
dGF5CisgICAgICAgIGZvciB0b28gbG9uZyBvbiB0aGUgUkVBRFkgc3RhdGUuIEluc3RlYWQgb25s
eSBzZXQgdGhlIHN0YXRlIHRvIFJFQURZIGFzIHRoaXMKKyAgICAgICAgYWxsb3dzIG11Y2ggZmFz
dGVyIHN0YXRlIGNoYW5nZXMgdG8gUEFVU0VEL1BMQVlJTkcgYWdhaW4uIHBsYXliaW4gaW50ZXJu
YWxseQorICAgICAgICBjYWNoZXMgc29tZSBzdGF0ZSB0aGF0IGlzIGRlc3Ryb3llZCB3aGVuIHNl
dHRpbmcgaXQgdG8gTlVMTC4KKyAgICAgICAgVGhpcyBzdGF0ZSBpcyBpbmRlcGVuZGVudCBvZiB0
aGUgVVJJIGFuZCBpdCBpcyBldmVuIHBvc3NpYmxlIHRvIGNoYW5nZSB0aGUKKyAgICAgICAgVVJJ
IGluIFJFQURZIHN0YXRlLgorCisgICAgICAgIFRvIGF2b2lkIGhhdmluZyByZXNvdXJjZXMgKGUu
Zy4gYXVkaW8gZGV2aWNlcykgb3BlbiBpbmRlZmluaXRlbHksCisgICAgICAgIHdoZW4gc2V0dGlu
ZyB0aGUgc3RhdGUgdG8gUkVBRFkgd2UgY3JlYXRlIGEgdGltZW91dCBhbmQgaWYgdGhlIHRpbWVv
dXQKKyAgICAgICAgaXMgcmVhY2hlZCB3ZSByZXNldCB0aGUgcGlwZWxpbmUgc3RhdGUgdG8gTlVM
TCB0byBmcmVlIHJlc291cmNlcy4KKworICAgICAgICBBbHNvIG5vdyBhbGwgc3RhdGUgY2hhbmdl
cyB1c2UgdGhlIGNoYW5nZVBpcGVsaW5lU3RhdGUgbWV0aG9kIGluc3RlYWQgb2Ygc2V0dGluZwor
ICAgICAgICB0aGUgcGxheWJpbiBzdGF0ZSBkaXJlY3RseSB3aXRoIGdzdF9lbGVtZW50X3NldF9z
dGF0ZSwgc28gd2UgaGF2ZSBhIGJldHRlciBjb250cm9sCisgICAgICAgIG9mIHdoZW4gd2UgYXJl
IHJlcXVlc3Rpbmcgc3RhdGUgY2hhbmdlcy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6bWVkaWFQbGF5ZXJQcml2YXRlUmVhZHlTdGF0ZVRpbWVvdXRDYWxsYmFjayk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Ok1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXI6On5NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIpOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjb21taXRMb2FkKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldFJhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVQbHVn
aW5JbnN0YWxsZXJSZXN1bHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaDoKKwogMjAxMy0wOC0yMiAgQW5kcmUgTW9y
ZWlyYSBNYWdhbGhhZXMgICA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KIAogICAg
ICAgICBbZ3N0cmVhbWVyXSBEaXNhYmxlIEhUVFAgcmVxdWVzdCAiQWNjZXB0LUVuY29kaW5nOiIg
aGVhZGVyIGZpZWxkIG9uIGdzdHJlYW1lciBzb3VyY2UgZWxlbWVudCB0byBhdm9pZCByZWNlaXZp
bmcgdGhlIHdyb25nIHNpemUgd2hlbiByZXRyaWV2aW5nIGRhdGEKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggZGUyN2VlMC4uOTM5MTlkNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAg
LTc1LDYgKzc1LDkgQEAgc3RhdGljIGNvbnN0IGdpbnQ2NCBnUGVyY2VudE1heCA9IEdTVF9GT1JN
QVRfUEVSQ0VOVF9NQVg7CiBzdGF0aWMgY29uc3QgY2hhciogZ1BsYXliaW5OYW1lID0gInBsYXli
aW4yIjsKIHN0YXRpYyBjb25zdCBnaW50NjQgZ1BlcmNlbnRNYXggPSAxMDA7CiAjZW5kaWYKKy8v
IE1heCBpbnRlcnZhbCBpbiBzZWNvbmRzIHRvIHN0YXkgaW4gdGhlIFJFQURZIHN0YXRlIG9uIG1h
bnVhbAorLy8gc3RhdGUgY2hhbmdlIHJlcXVlc3RzLgorc3RhdGljIGNvbnN0IGd1aW50IGdSZWFk
eVN0YXRlVGltZXJJbnRlcnZhbCA9IDYwOwogCiBHU1RfREVCVUdfQ0FURUdPUllfRVhURVJOKHdl
YmtpdF9tZWRpYV9wbGF5ZXJfZGVidWcpOwogI2RlZmluZSBHU1RfQ0FUX0RFRkFVTFQgd2Via2l0
X21lZGlhX3BsYXllcl9kZWJ1ZwpAQCAtMTMyLDYgKzEzNSwxNCBAQCBzdGF0aWMgZ2Jvb2xlYW4g
bWVkaWFQbGF5ZXJQcml2YXRlVmlkZW9DaGFuZ2VUaW1lb3V0Q2FsbGJhY2soTWVkaWFQbGF5ZXJQ
cml2YXRlRwogICAgIHJldHVybiBGQUxTRTsKIH0KIAorc3RhdGljIGdib29sZWFuIG1lZGlhUGxh
eWVyUHJpdmF0ZVJlYWR5U3RhdGVUaW1lb3V0Q2FsbGJhY2soTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyKiBwbGF5ZXIpCit7CisgICAgLy8gVGhpcyBpcyB0aGUgY2FsbGJhY2sgb2YgdGhlIHRp
bWVvdXQgc291cmNlIGNyZWF0ZWQgaW4gOjp1cGRhdGVTdGF0ZXMuCisgICAgLy8gUmVzZXQgcGlw
ZWxpbmUgaWYgd2UgYXJlIHNpdHRpbmcgb24gUkVBRFkgc3RhdGUgd2hlbiB0aW1lb3V0IGlzIHJl
YWNoZWQKKyAgICBwbGF5ZXItPmNoYW5nZVBpcGVsaW5lU3RhdGUoR1NUX1NUQVRFX05VTEwpOwor
ICAgIHJldHVybiBGQUxTRTsKK30KKwogc3RhdGljIHZvaWQgbWVkaWFQbGF5ZXJQcml2YXRlUGx1
Z2luSW5zdGFsbGVyUmVzdWx0RnVuY3Rpb24oR3N0SW5zdGFsbFBsdWdpbnNSZXR1cm4gcmVzdWx0
LCBncG9pbnRlciB1c2VyRGF0YSkKIHsKICAgICBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIq
IHBsYXllciA9IHJlaW50ZXJwcmV0X2Nhc3Q8TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyKj4o
dXNlckRhdGEpOwpAQCAtMjMwLDYgKzI0MSw3IEBAIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
cjo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiAgICAg
LCBtX2hhc0F1ZGlvKGZhbHNlKQogICAgICwgbV9hdWRpb1RpbWVySGFuZGxlcigwKQogICAgICwg
bV92aWRlb1RpbWVySGFuZGxlcigwKQorICAgICwgbV9yZWFkeVRpbWVySGFuZGxlcigwKQogICAg
ICwgbV93ZWJraXRBdWRpb1NpbmsoMCkKICAgICAsIG1fdG90YWxCeXRlcygtMSkKICAgICAsIG1f
cHJlc2VydmVzUGl0Y2goZmFsc2UpCkBAIC0yNzQsNiArMjg2LDkgQEAgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyOjp+TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyKCkKIAogICAgIGlmICht
X2F1ZGlvVGltZXJIYW5kbGVyKQogICAgICAgICBnX3NvdXJjZV9yZW1vdmUobV9hdWRpb1RpbWVy
SGFuZGxlcik7CisKKyAgICBpZiAobV9yZWFkeVRpbWVySGFuZGxlcikKKyAgICAgICAgZ19zb3Vy
Y2VfcmVtb3ZlKG1fcmVhZHlUaW1lckhhbmRsZXIpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcjo6bG9hZChjb25zdCBTdHJpbmcmIHVybCkKQEAgLTMyOSw3ICszNDQsNyBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y29tbWl0TG9hZCgpCiAKICAgICAv
LyBHU3RyZWFtZXIgbmVlZHMgdG8gaGF2ZSB0aGUgcGlwZWxpbmUgc2V0IHRvIGEgcGF1c2VkIHN0
YXRlIHRvCiAgICAgLy8gc3RhcnQgcHJvdmlkaW5nIGFueXRoaW5nIHVzZWZ1bC4KLSAgICBnc3Rf
ZWxlbWVudF9zZXRfc3RhdGUobV9wbGF5QmluLmdldCgpLCBHU1RfU1RBVEVfUEFVU0VEKTsKKyAg
ICBjaGFuZ2VQaXBlbGluZVN0YXRlKEdTVF9TVEFURV9QQVVTRUQpOwogCiAgICAgc2V0RG93bmxv
YWRCdWZmZXJpbmcoKTsKICAgICB1cGRhdGVTdGF0ZXMoKTsKQEAgLTM3MCw3ICszODUsNyBAQCBm
bG9hdCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnBsYXliYWNrUG9zaXRpb24oKSBjb25z
dAogCiBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0
ZShHc3RTdGF0ZSBuZXdTdGF0ZSkKIHsKLSAgICBBU1NFUlQobmV3U3RhdGUgPT0gR1NUX1NUQVRF
X1BMQVlJTkcgfHwgbmV3U3RhdGUgPT0gR1NUX1NUQVRFX1BBVVNFRCk7CisgICAgQVNTRVJUKG1f
cGxheUJpbik7CiAKICAgICBHc3RTdGF0ZSBjdXJyZW50U3RhdGU7CiAgICAgR3N0U3RhdGUgcGVu
ZGluZzsKQEAgLTM5MSw2ICs0MDYsMTggQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6OmNoYW5nZVBpcGVsaW5lU3RhdGUoR3N0U3RhdGUgbmV3U3RhdGUpCiAgICAgICAgIGxvYWRp
bmdGYWlsZWQoTWVkaWFQbGF5ZXI6OkVtcHR5KTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IH0KKworICAgIC8vIENyZWF0ZSBhIHRpbWVyIHdoZW4gZW50ZXJpbmcgdGhlIFJFQURZIHN0YXRl
IHNvIHRoYXQgd2UgY2FuIGZyZWUgcmVzb3VyY2VzCisgICAgLy8gaWYgd2Ugc3RheSBmb3IgdG9v
IGxvbmcgb24gUkVBRFkuCisgICAgLy8gQWxzbyBsZXRzIHJlbW92ZSB0aGUgdGltZXIgaWYgd2Ug
cmVxdWVzdCBhIHN0YXRlIGNoYW5nZSBmb3IgYW55IHN0YXRlIG90aGVyIHRoYW4gUkVBRFkuCisg
ICAgLy8gU2VlIGFsc28gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lk
PTExNzM1NAorICAgIGlmIChuZXdTdGF0ZSA9PSBHU1RfU1RBVEVfUkVBRFkgJiYgIW1fcmVhZHlU
aW1lckhhbmRsZXIpIHsKKyAgICAgICAgbV9yZWFkeVRpbWVySGFuZGxlciA9IGdfdGltZW91dF9h
ZGRfc2Vjb25kcyhnUmVhZHlTdGF0ZVRpbWVySW50ZXJ2YWwsIHJlaW50ZXJwcmV0X2Nhc3Q8R1Nv
dXJjZUZ1bmM+KG1lZGlhUGxheWVyUHJpdmF0ZVJlYWR5U3RhdGVUaW1lb3V0Q2FsbGJhY2spLCB0
aGlzKTsKKyAgICB9IGVsc2UgaWYgKG5ld1N0YXRlICE9IEdTVF9TVEFURV9SRUFEWSAmJiBtX3Jl
YWR5VGltZXJIYW5kbGVyKSB7CisgICAgICAgIGdfc291cmNlX3JlbW92ZShtX3JlYWR5VGltZXJI
YW5kbGVyKTsKKyAgICAgICAgbV9yZWFkeVRpbWVySGFuZGxlciA9IDA7CisgICAgfQorCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKQEAgLTYxNSw3ICs2NDIsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcjo6c2V0UmF0ZShmbG9hdCByYXRlKQogICAgIG1fY2hhbmdpbmdSYXRlID0g
dHJ1ZTsKIAogICAgIGlmICghcmF0ZSkgewotICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUo
bV9wbGF5QmluLmdldCgpLCBHU1RfU1RBVEVfUEFVU0VEKTsKKyAgICAgICAgY2hhbmdlUGlwZWxp
bmVTdGF0ZShHU1RfU1RBVEVfUEFVU0VEKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAt
ODI1LDggKzg1Miw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVQ
bHVnaW5JbnN0YWxsZXJSZXN1bHQoR3N0SW5zdGFsbFBsdWdpbnNSCiB7CiAgICAgbV9taXNzaW5n
UGx1Z2lucyA9IGZhbHNlOwogICAgIGlmIChyZXN1bHQgPT0gR1NUX0lOU1RBTExfUExVR0lOU19T
VUNDRVNTKSB7Ci0gICAgICAgIGdzdF9lbGVtZW50X3NldF9zdGF0ZShtX3BsYXlCaW4uZ2V0KCks
IEdTVF9TVEFURV9SRUFEWSk7Ci0gICAgICAgIGdzdF9lbGVtZW50X3NldF9zdGF0ZShtX3BsYXlC
aW4uZ2V0KCksIEdTVF9TVEFURV9QQVVTRUQpOworICAgICAgICBjaGFuZ2VQaXBlbGluZVN0YXRl
KEdTVF9TVEFURV9SRUFEWSk7CisgICAgICAgIGNoYW5nZVBpcGVsaW5lU3RhdGUoR1NUX1NUQVRF
X1BBVVNFRCk7CiAgICAgfQogfQogCkBAIC0xMDMxLDcgKzEwNTgsNyBAQCB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2FuY2VsTG9hZCgpCiAgICAgICAgIHJldHVybjsKIAogICAg
IGlmIChtX3BsYXlCaW4pCi0gICAgICAgIGdzdF9lbGVtZW50X3NldF9zdGF0ZShtX3BsYXlCaW4u
Z2V0KCksIEdTVF9TVEFURV9OVUxMKTsKKyAgICAgICAgY2hhbmdlUGlwZWxpbmVTdGF0ZShHU1Rf
U1RBVEVfUkVBRFkpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6YXN5
bmNTdGF0ZUNoYW5nZURvbmUoKQpAQCAtMTA5OCw4ICsxMTI1LDEyIEBAIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRhdGVTdGF0ZXMoKQogICAgICAgICAgICAgbV9uZXR3b3Jr
U3RhdGUgPSBNZWRpYVBsYXllcjo6RW1wdHk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
Y2FzZSBHU1RfU1RBVEVfUkVBRFk6Ci0gICAgICAgICAgICBtX3JlYWR5U3RhdGUgPSBNZWRpYVBs
YXllcjo6SGF2ZU1ldGFkYXRhOwotICAgICAgICAgICAgbV9uZXR3b3JrU3RhdGUgPSBNZWRpYVBs
YXllcjo6RW1wdHk7CisgICAgICAgICAgICAvLyBEbyBub3QgY2hhbmdlIG5ldHdvcmsvcmVhZHkg
c3RhdGVzIGlmIG9uIEVPUyBhbmQgc3RhdGUgY2hhbmdlZCB0byBSRUFEWSB0byBhdm9pZAorICAg
ICAgICAgICAgLy8gcmVjcmVhdGluZyB0aGUgcGxheWVyIG9uIEhUTUxNZWRpYUVsZW1lbnQuCisg
ICAgICAgICAgICBpZiAoIW1faXNFbmRSZWFjaGVkKSB7CisgICAgICAgICAgICAgICAgbV9yZWFk
eVN0YXRlID0gTWVkaWFQbGF5ZXI6OkhhdmVNZXRhZGF0YTsKKyAgICAgICAgICAgICAgICBtX25l
dHdvcmtTdGF0ZSA9IE1lZGlhUGxheWVyOjpFbXB0eTsKKyAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBjYXNlIEdTVF9TVEFURV9QQVVTRUQ6CiAgICAgICAgIGNhc2Ug
R1NUX1NUQVRFX1BMQVlJTkc6CkBAIC0xMTQwLDE0ICsxMTcxLDE0IEBAIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRhdGVTdGF0ZXMoKQogCiAgICAgICAgICAgICBpZiAoZGlk
QnVmZmVyaW5nICYmICFtX2J1ZmZlcmluZyAmJiAhbV9wYXVzZWQpIHsKICAgICAgICAgICAgICAg
ICBMT0dfTUVESUFfTUVTU0FHRSgiW0J1ZmZlcmluZ10gUmVzdGFydGluZyBwbGF5YmFjay4iKTsK
LSAgICAgICAgICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9wbGF5QmluLmdldCgpLCBH
U1RfU1RBVEVfUExBWUlORyk7CisgICAgICAgICAgICAgICAgY2hhbmdlUGlwZWxpbmVTdGF0ZShH
U1RfU1RBVEVfUExBWUlORyk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSBpZiAoc3Rh
dGUgPT0gR1NUX1NUQVRFX1BMQVlJTkcpIHsKICAgICAgICAgICAgIG1fcGF1c2VkID0gZmFsc2U7
CiAKICAgICAgICAgICAgIGlmIChtX2J1ZmZlcmluZyAmJiAhaXNMaXZlU3RyZWFtKCkpIHsKICAg
ICAgICAgICAgICAgICBMT0dfTUVESUFfTUVTU0FHRSgiW0J1ZmZlcmluZ10gUGF1c2luZyBzdHJl
YW0gZm9yIGJ1ZmZlcmluZy4iKTsKLSAgICAgICAgICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3Rh
dGUobV9wbGF5QmluLmdldCgpLCBHU1RfU1RBVEVfUEFVU0VEKTsKKyAgICAgICAgICAgICAgICBj
aGFuZ2VQaXBlbGluZVN0YXRlKEdTVF9TVEFURV9QQVVTRUQpOwogICAgICAgICAgICAgfQogICAg
ICAgICB9IGVsc2UKICAgICAgICAgICAgIG1fcGF1c2VkID0gdHJ1ZTsKQEAgLTExNzAsOCArMTIw
MSw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRhdGVTdGF0ZXMoKQog
CiAgICAgICAgIC8vIEEgbGl2ZSBzdHJlYW0gd2FzIHBhdXNlZCwgcmVzZXQgdGhlIHBpcGVsaW5l
LgogICAgICAgICBpZiAoc3RhdGUgPT0gR1NUX1NUQVRFX1BBVVNFRCAmJiBwZW5kaW5nID09IEdT
VF9TVEFURV9QTEFZSU5HICYmIGlzTGl2ZVN0cmVhbSgpKSB7Ci0gICAgICAgICAgICBnc3RfZWxl
bWVudF9zZXRfc3RhdGUobV9wbGF5QmluLmdldCgpLCBHU1RfU1RBVEVfTlVMTCk7Ci0gICAgICAg
ICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9wbGF5QmluLmdldCgpLCBHU1RfU1RBVEVfUExB
WUlORyk7CisgICAgICAgICAgICBjaGFuZ2VQaXBlbGluZVN0YXRlKEdTVF9TVEFURV9SRUFEWSk7
CisgICAgICAgICAgICBjaGFuZ2VQaXBlbGluZVN0YXRlKEdTVF9TVEFURV9QTEFZSU5HKTsKICAg
ICAgICAgfQogCiAgICAgICAgIGJyZWFrOwpAQCAtMTE5NSw3ICsxMjI2LDcgQEAgdm9pZCBNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnVwZGF0ZVN0YXRlcygpCiAgICAgICAgICAgICBtX3Bh
dXNlZCA9IGZhbHNlOwogCiAgICAgICAgIGlmICghbV9wYXVzZWQpCi0gICAgICAgICAgICBnc3Rf
ZWxlbWVudF9zZXRfc3RhdGUobV9wbGF5QmluLmdldCgpLCBHU1RfU1RBVEVfUExBWUlORyk7Cisg
ICAgICAgICAgICBjaGFuZ2VQaXBlbGluZVN0YXRlKEdTVF9TVEFURV9QTEFZSU5HKTsKIAogICAg
ICAgICBtX25ldHdvcmtTdGF0ZSA9IE1lZGlhUGxheWVyOjpMb2FkaW5nOwogICAgICAgICBicmVh
azsKQEAgLTEzMDAsNyArMTMzMSw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
Ojpsb2FkTmV4dExvY2F0aW9uKCkKIAogICAgICAgICAgICAgLy8gUmVzZXQgcGlwZWxpbmUgc3Rh
dGUuCiAgICAgICAgICAgICBtX3Jlc2V0UGlwZWxpbmUgPSB0cnVlOwotICAgICAgICAgICAgZ3N0
X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGxheUJpbi5nZXQoKSwgR1NUX1NUQVRFX1JFQURZKTsKKyAg
ICAgICAgICAgIGNoYW5nZVBpcGVsaW5lU3RhdGUoR1NUX1NUQVRFX1JFQURZKTsKIAogICAgICAg
ICAgICAgR3N0U3RhdGUgc3RhdGU7CiAgICAgICAgICAgICBnc3RfZWxlbWVudF9nZXRfc3RhdGUo
bV9wbGF5QmluLmdldCgpLCAmc3RhdGUsIDAsIDApOwpAQCAtMTMwOCw3ICsxMzM5LDcgQEAgYm9v
bCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmxvYWROZXh0TG9jYXRpb24oKQogICAgICAg
ICAgICAgICAgIC8vIFNldCB0aGUgbmV3IHVyaSBhbmQgc3RhcnQgcGxheWluZy4KICAgICAgICAg
ICAgICAgICBnX29iamVjdF9zZXQobV9wbGF5QmluLmdldCgpLCAidXJpIiwgbmV3VXJsLnN0cmlu
ZygpLnV0ZjgoKS5kYXRhKCksIE5VTEwpOwogICAgICAgICAgICAgICAgIG1fdXJsID0gbmV3VXJs
OwotICAgICAgICAgICAgICAgIGdzdF9lbGVtZW50X3NldF9zdGF0ZShtX3BsYXlCaW4uZ2V0KCks
IEdTVF9TVEFURV9QTEFZSU5HKTsKKyAgICAgICAgICAgICAgICBjaGFuZ2VQaXBlbGluZVN0YXRl
KEdTVF9TVEFURV9QTEFZSU5HKTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgfSBlbHNlCkBAIC0xMzQ2LDcgKzEzNzcsNyBAQCB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6ZGlkRW5kKCkKIAogICAgIGlmICghbV9wbGF5ZXItPm1l
ZGlhUGxheWVyQ2xpZW50KCktPm1lZGlhUGxheWVySXNMb29waW5nKCkpIHsKICAgICAgICAgbV9w
YXVzZWQgPSB0cnVlOwotICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9wbGF5QmluLmdl
dCgpLCBHU1RfU1RBVEVfTlVMTCk7CisgICAgICAgIGNoYW5nZVBpcGVsaW5lU3RhdGUoR1NUX1NU
QVRFX1JFQURZKTsKICAgICAgICAgbV9kb3dubG9hZEZpbmlzaGVkID0gZmFsc2U7CiAgICAgfQog
fQpAQCAtMTM5MSw2ICsxNDIyLDEzIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
Ojpsb2FkaW5nRmFpbGVkKE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGUgZXJyb3IpCiAgICAgICAg
IG1fcmVhZHlTdGF0ZSA9IE1lZGlhUGxheWVyOjpIYXZlTm90aGluZzsKICAgICAgICAgbV9wbGF5
ZXItPnJlYWR5U3RhdGVDaGFuZ2VkKCk7CiAgICAgfQorCisgICAgLy8gTG9hZGluZyBmYWlsZWQs
IGZvcmNlIHJlc2V0IHBpcGVsaW5lIGFuZCByZW1vdmUgcmVhZHkgdGltZXIuCisgICAgZ3N0X2Vs
ZW1lbnRfc2V0X3N0YXRlKG1fcGxheUJpbi5nZXQoKSwgR1NUX1NUQVRFX05VTEwpOworICAgIGlm
IChtX3JlYWR5VGltZXJIYW5kbGVyKSB7CisgICAgICAgIGdfc291cmNlX3JlbW92ZShtX3JlYWR5
VGltZXJIYW5kbGVyKTsKKyAgICAgICAgbV9yZWFkeVRpbWVySGFuZGxlciA9IDA7CisgICAgfQog
fQogCiBzdGF0aWMgSGFzaFNldDxTdHJpbmc+IG1pbWVUeXBlQ2FjaGUoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCmluZGV4IDQ4Mjg0ZDMuLmIxZTI3NDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKQEAgLTk3
LDYgKzk3LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBzaW11bGF0ZUF1ZGlvSW50ZXJydXB0aW9u
KCk7CiAKKyAgICBib29sIGNoYW5nZVBpcGVsaW5lU3RhdGUoR3N0U3RhdGUpOworCiBwcml2YXRl
OgogICAgIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcihNZWRpYVBsYXllciopOwogCkBAIC0x
MTcsNyArMTE5LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGFzeW5jU3RhdGVDaGFuZ2VEb25lKCk7
CiAKICAgICB2b2lkIGNyZWF0ZUdTVFBsYXlCaW4oKTsKLSAgICBib29sIGNoYW5nZVBpcGVsaW5l
U3RhdGUoR3N0U3RhdGUpOwogCiAgICAgYm9vbCBsb2FkTmV4dExvY2F0aW9uKCk7CiAgICAgdm9p
ZCBtZWRpYUxvY2F0aW9uQ2hhbmdlZChHc3RNZXNzYWdlKik7CkBAIC0xNjEsNiArMTYyLDcgQEAg
cHJpdmF0ZToKICAgICBib29sIG1faGFzQXVkaW87CiAgICAgZ3VpbnQgbV9hdWRpb1RpbWVySGFu
ZGxlcjsKICAgICBndWludCBtX3ZpZGVvVGltZXJIYW5kbGVyOworICAgIGd1aW50IG1fcmVhZHlU
aW1lckhhbmRsZXI7CiAgICAgR1JlZlB0cjxHc3RFbGVtZW50PiBtX3dlYmtpdEF1ZGlvU2luazsK
ICAgICBtdXRhYmxlIGxvbmcgbV90b3RhbEJ5dGVzOwogICAgIEtVUkwgbV91cmw7Ci0tIAoxLjgu
MS4yCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210140</attachid>
            <date>2013-08-30 11:32:03 -0700</date>
            <delta_ts>2013-09-02 09:23:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-GStreamer-Don-t-set-state-to-NULL-until-element-is-d.patch</filename>
            <type>text/plain</type>
            <size>13578</size>
            <attacher name="Andre Moreira Magalhaes">andrunko</attacher>
            
              <data encoding="base64">RnJvbSBjMTQ4M2ZiODQwNDA1Y2FmMzU4ZWI3MGUxZjRkYTNiNDdlNjRmMzNhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSIg
PGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CkRhdGU6IEZyaSwgMzAgQXVnIDIwMTMg
MTQ6NTY6MDIgLTAzMDAKU3ViamVjdDogW1BBVENIXSBbR1N0cmVhbWVyXSBEb24ndCBzZXQgc3Rh
dGUgdG8gTlVMTCB1bnRpbCBlbGVtZW50IGlzCiBkZXN0cm95ZWQgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzM1NAoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CgpEb24ndCBzZXQgcGxheWJpbiB0byBOVUxMIHVudGlsIGl0IGlzIGdvaW5nIHRvIGJlIGRlc3Ry
b3llZCBvciBpZiB3ZSBzdGF5CmZvciB0b28gbG9uZyBvbiB0aGUgUkVBRFkgc3RhdGUuIEluc3Rl
YWQgb25seSBzZXQgdGhlIHN0YXRlIHRvIFJFQURZIGFzIHRoaXMKYWxsb3dzIG11Y2ggZmFzdGVy
IHN0YXRlIGNoYW5nZXMgdG8gUEFVU0VEL1BMQVlJTkcgYWdhaW4uIHBsYXliaW4gaW50ZXJuYWxs
eQpjYWNoZXMgc29tZSBzdGF0ZSB0aGF0IGlzIGRlc3Ryb3llZCB3aGVuIHNldHRpbmcgaXQgdG8g
TlVMTC4KVGhpcyBzdGF0ZSBpcyBpbmRlcGVuZGVudCBvZiB0aGUgVVJJIGFuZCBpdCBpcyBldmVu
IHBvc3NpYmxlIHRvIGNoYW5nZSB0aGUKVVJJIGluIFJFQURZIHN0YXRlLgoKVG8gYXZvaWQgaGF2
aW5nIHJlc291cmNlcyAoZS5nLiBhdWRpbyBkZXZpY2VzKSBvcGVuIGluZGVmaW5pdGVseSwKd2hl
biBzZXR0aW5nIHRoZSBzdGF0ZSB0byBSRUFEWSB3ZSBjcmVhdGUgYSB0aW1lb3V0IGFuZCBpZiB0
aGUgdGltZW91dAppcyByZWFjaGVkIHdlIHJlc2V0IHRoZSBwaXBlbGluZSBzdGF0ZSB0byBOVUxM
IHRvIGZyZWUgcmVzb3VyY2VzLgoKQWxzbyBub3cgYWxsIHN0YXRlIGNoYW5nZXMgdXNlIHRoZSBj
aGFuZ2VQaXBlbGluZVN0YXRlIG1ldGhvZCBpbnN0ZWFkIG9mIHNldHRpbmcKdGhlIHBsYXliaW4g
c3RhdGUgZGlyZWN0bHkgd2l0aCBnc3RfZWxlbWVudF9zZXRfc3RhdGUsIHNvIHdlIGhhdmUgYSBi
ZXR0ZXIgY29udHJvbApvZiB3aGVuIHdlIGFyZSByZXF1ZXN0aW5nIHN0YXRlIGNoYW5nZXMuCgoq
IHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIu
Y3BwOgooV2ViQ29yZTo6bWVkaWFQbGF5ZXJQcml2YXRlUmVhZHlTdGF0ZVRpbWVvdXRDYWxsYmFj
ayk6CihXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Ok1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcik6CihXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6On5N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIpOgooV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyOjpjb21taXRMb2FkKToKKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0ZSk6CihXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI6OnNldFJhdGUpOgooV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
OjpoYW5kbGVQbHVnaW5JbnN0YWxsZXJSZXN1bHQpOgoqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaDoKLS0tCiBTb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDMyICsrKysrKysrKysKIC4uLi9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCAgICAgIHwgNzAgKysrKysr
KysrKysrKysrKystLS0tLQogLi4uL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXIuaCAgICAgICAgfCAgNCArLQogMyBmaWxlcyBjaGFuZ2VkLCA4OSBpbnNlcnRpb25zKCspLCAx
NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmJhMWMxMC4uYWM3NWQ3MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM1IEBACisyMDEzLTA4LTMwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAg
IDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgorCisgICAgICAgIFtHU3RyZWFtZXJd
IERvbid0IHNldCBzdGF0ZSB0byBOVUxMIHVudGlsIGVsZW1lbnQgaXMgZGVzdHJveWVkCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTczNTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEb24ndCBzZXQgcGxh
eWJpbiB0byBOVUxMIHVudGlsIGl0IGlzIGdvaW5nIHRvIGJlIGRlc3Ryb3llZCBvciBpZiB3ZSBz
dGF5CisgICAgICAgIGZvciB0b28gbG9uZyBvbiB0aGUgUkVBRFkgc3RhdGUuIEluc3RlYWQgb25s
eSBzZXQgdGhlIHN0YXRlIHRvIFJFQURZIGFzIHRoaXMKKyAgICAgICAgYWxsb3dzIG11Y2ggZmFz
dGVyIHN0YXRlIGNoYW5nZXMgdG8gUEFVU0VEL1BMQVlJTkcgYWdhaW4uIHBsYXliaW4gaW50ZXJu
YWxseQorICAgICAgICBjYWNoZXMgc29tZSBzdGF0ZSB0aGF0IGlzIGRlc3Ryb3llZCB3aGVuIHNl
dHRpbmcgaXQgdG8gTlVMTC4KKyAgICAgICAgVGhpcyBzdGF0ZSBpcyBpbmRlcGVuZGVudCBvZiB0
aGUgVVJJIGFuZCBpdCBpcyBldmVuIHBvc3NpYmxlIHRvIGNoYW5nZSB0aGUKKyAgICAgICAgVVJJ
IGluIFJFQURZIHN0YXRlLgorCisgICAgICAgIFRvIGF2b2lkIGhhdmluZyByZXNvdXJjZXMgKGUu
Zy4gYXVkaW8gZGV2aWNlcykgb3BlbiBpbmRlZmluaXRlbHksCisgICAgICAgIHdoZW4gc2V0dGlu
ZyB0aGUgc3RhdGUgdG8gUkVBRFkgd2UgY3JlYXRlIGEgdGltZW91dCBhbmQgaWYgdGhlIHRpbWVv
dXQKKyAgICAgICAgaXMgcmVhY2hlZCB3ZSByZXNldCB0aGUgcGlwZWxpbmUgc3RhdGUgdG8gTlVM
TCB0byBmcmVlIHJlc291cmNlcy4KKworICAgICAgICBBbHNvIG5vdyBhbGwgc3RhdGUgY2hhbmdl
cyB1c2UgdGhlIGNoYW5nZVBpcGVsaW5lU3RhdGUgbWV0aG9kIGluc3RlYWQgb2Ygc2V0dGluZwor
ICAgICAgICB0aGUgcGxheWJpbiBzdGF0ZSBkaXJlY3RseSB3aXRoIGdzdF9lbGVtZW50X3NldF9z
dGF0ZSwgc28gd2UgaGF2ZSBhIGJldHRlciBjb250cm9sCisgICAgICAgIG9mIHdoZW4gd2UgYXJl
IHJlcXVlc3Rpbmcgc3RhdGUgY2hhbmdlcy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6bWVkaWFQbGF5ZXJQcml2YXRlUmVhZHlTdGF0ZVRpbWVvdXRDYWxsYmFjayk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Ok1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXI6On5NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIpOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjb21taXRMb2FkKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldFJhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVQbHVn
aW5JbnN0YWxsZXJSZXN1bHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaDoKKwogMjAxMy0wOC0yMiAgQW5kcmUgTW9y
ZWlyYSBNYWdhbGhhZXMgICA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KIAogICAg
ICAgICBbZ3N0cmVhbWVyXSBEaXNhYmxlIEhUVFAgcmVxdWVzdCAiQWNjZXB0LUVuY29kaW5nOiIg
aGVhZGVyIGZpZWxkIG9uIGdzdHJlYW1lciBzb3VyY2UgZWxlbWVudCB0byBhdm9pZCByZWNlaXZp
bmcgdGhlIHdyb25nIHNpemUgd2hlbiByZXRyaWV2aW5nIGRhdGEKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggZGUyN2VlMC4uMmYxNjBiNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAg
LTc1LDYgKzc1LDkgQEAgc3RhdGljIGNvbnN0IGdpbnQ2NCBnUGVyY2VudE1heCA9IEdTVF9GT1JN
QVRfUEVSQ0VOVF9NQVg7CiBzdGF0aWMgY29uc3QgY2hhciogZ1BsYXliaW5OYW1lID0gInBsYXli
aW4yIjsKIHN0YXRpYyBjb25zdCBnaW50NjQgZ1BlcmNlbnRNYXggPSAxMDA7CiAjZW5kaWYKKy8v
IE1heCBpbnRlcnZhbCBpbiBzZWNvbmRzIHRvIHN0YXkgaW4gdGhlIFJFQURZIHN0YXRlIG9uIG1h
bnVhbAorLy8gc3RhdGUgY2hhbmdlIHJlcXVlc3RzLgorc3RhdGljIGNvbnN0IGd1aW50IGdSZWFk
eVN0YXRlVGltZXJJbnRlcnZhbCA9IDYwOwogCiBHU1RfREVCVUdfQ0FURUdPUllfRVhURVJOKHdl
YmtpdF9tZWRpYV9wbGF5ZXJfZGVidWcpOwogI2RlZmluZSBHU1RfQ0FUX0RFRkFVTFQgd2Via2l0
X21lZGlhX3BsYXllcl9kZWJ1ZwpAQCAtMTMyLDYgKzEzNSwxNCBAQCBzdGF0aWMgZ2Jvb2xlYW4g
bWVkaWFQbGF5ZXJQcml2YXRlVmlkZW9DaGFuZ2VUaW1lb3V0Q2FsbGJhY2soTWVkaWFQbGF5ZXJQ
cml2YXRlRwogICAgIHJldHVybiBGQUxTRTsKIH0KIAorc3RhdGljIGdib29sZWFuIG1lZGlhUGxh
eWVyUHJpdmF0ZVJlYWR5U3RhdGVUaW1lb3V0Q2FsbGJhY2soTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyKiBwbGF5ZXIpCit7CisgICAgLy8gVGhpcyBpcyB0aGUgY2FsbGJhY2sgb2YgdGhlIHRp
bWVvdXQgc291cmNlIGNyZWF0ZWQgaW4gOjpjaGFuZ2VQaXBlbGluZVN0YXRlLgorICAgIC8vIFJl
c2V0IHBpcGVsaW5lIGlmIHdlIGFyZSBzaXR0aW5nIG9uIFJFQURZIHN0YXRlIHdoZW4gdGltZW91
dCBpcyByZWFjaGVkCisgICAgcGxheWVyLT5jaGFuZ2VQaXBlbGluZVN0YXRlKEdTVF9TVEFURV9O
VUxMKTsKKyAgICByZXR1cm4gRkFMU0U7Cit9CisKIHN0YXRpYyB2b2lkIG1lZGlhUGxheWVyUHJp
dmF0ZVBsdWdpbkluc3RhbGxlclJlc3VsdEZ1bmN0aW9uKEdzdEluc3RhbGxQbHVnaW5zUmV0dXJu
IHJlc3VsdCwgZ3BvaW50ZXIgdXNlckRhdGEpCiB7CiAgICAgTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyKiBwbGF5ZXIgPSByZWludGVycHJldF9jYXN0PE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lcio+KHVzZXJEYXRhKTsKQEAgLTIzMCw2ICsyNDEsNyBAQCBNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcihNZWRpYVBsYXllciogcGxheWVy
KQogICAgICwgbV9oYXNBdWRpbyhmYWxzZSkKICAgICAsIG1fYXVkaW9UaW1lckhhbmRsZXIoMCkK
ICAgICAsIG1fdmlkZW9UaW1lckhhbmRsZXIoMCkKKyAgICAsIG1fcmVhZHlUaW1lckhhbmRsZXIo
MCkKICAgICAsIG1fd2Via2l0QXVkaW9TaW5rKDApCiAgICAgLCBtX3RvdGFsQnl0ZXMoLTEpCiAg
ICAgLCBtX3ByZXNlcnZlc1BpdGNoKGZhbHNlKQpAQCAtMjc0LDYgKzI4Niw5IEBAIE1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lcjo6fk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcigpCiAKICAg
ICBpZiAobV9hdWRpb1RpbWVySGFuZGxlcikKICAgICAgICAgZ19zb3VyY2VfcmVtb3ZlKG1fYXVk
aW9UaW1lckhhbmRsZXIpOworCisgICAgaWYgKG1fcmVhZHlUaW1lckhhbmRsZXIpCisgICAgICAg
IGdfc291cmNlX3JlbW92ZShtX3JlYWR5VGltZXJIYW5kbGVyKTsKIH0KIAogdm9pZCBNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI6OmxvYWQoY29uc3QgU3RyaW5nJiB1cmwpCkBAIC0zMjksNyAr
MzQ0LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNvbW1pdExvYWQoKQog
CiAgICAgLy8gR1N0cmVhbWVyIG5lZWRzIHRvIGhhdmUgdGhlIHBpcGVsaW5lIHNldCB0byBhIHBh
dXNlZCBzdGF0ZSB0bwogICAgIC8vIHN0YXJ0IHByb3ZpZGluZyBhbnl0aGluZyB1c2VmdWwuCi0g
ICAgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGxheUJpbi5nZXQoKSwgR1NUX1NUQVRFX1BBVVNF
RCk7CisgICAgY2hhbmdlUGlwZWxpbmVTdGF0ZShHU1RfU1RBVEVfUEFVU0VEKTsKIAogICAgIHNl
dERvd25sb2FkQnVmZmVyaW5nKCk7CiAgICAgdXBkYXRlU3RhdGVzKCk7CkBAIC0zNzAsNyArMzg1
LDcgQEAgZmxvYXQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpwbGF5YmFja1Bvc2l0aW9u
KCkgY29uc3QKIAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNoYW5nZVBpcGVs
aW5lU3RhdGUoR3N0U3RhdGUgbmV3U3RhdGUpCiB7Ci0gICAgQVNTRVJUKG5ld1N0YXRlID09IEdT
VF9TVEFURV9QTEFZSU5HIHx8IG5ld1N0YXRlID09IEdTVF9TVEFURV9QQVVTRUQpOworICAgIEFT
U0VSVChtX3BsYXlCaW4pOwogCiAgICAgR3N0U3RhdGUgY3VycmVudFN0YXRlOwogICAgIEdzdFN0
YXRlIHBlbmRpbmc7CkBAIC0zOTEsNiArNDA2LDE4IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyOjpjaGFuZ2VQaXBlbGluZVN0YXRlKEdzdFN0YXRlIG5ld1N0YXRlKQogICAgICAg
ICBsb2FkaW5nRmFpbGVkKE1lZGlhUGxheWVyOjpFbXB0eSk7CiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICB9CisKKyAgICAvLyBDcmVhdGUgYSB0aW1lciB3aGVuIGVudGVyaW5nIHRoZSBSRUFE
WSBzdGF0ZSBzbyB0aGF0IHdlIGNhbiBmcmVlIHJlc291cmNlcworICAgIC8vIGlmIHdlIHN0YXkg
Zm9yIHRvbyBsb25nIG9uIFJFQURZLgorICAgIC8vIEFsc28gbGV0cyByZW1vdmUgdGhlIHRpbWVy
IGlmIHdlIHJlcXVlc3QgYSBzdGF0ZSBjaGFuZ2UgZm9yIGFueSBzdGF0ZSBvdGhlciB0aGFuIFJF
QURZLgorICAgIC8vIFNlZSBhbHNvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMTczNTQKKyAgICBpZiAobmV3U3RhdGUgPT0gR1NUX1NUQVRFX1JFQURZICYmICFt
X3JlYWR5VGltZXJIYW5kbGVyKSB7CisgICAgICAgIG1fcmVhZHlUaW1lckhhbmRsZXIgPSBnX3Rp
bWVvdXRfYWRkX3NlY29uZHMoZ1JlYWR5U3RhdGVUaW1lckludGVydmFsLCByZWludGVycHJldF9j
YXN0PEdTb3VyY2VGdW5jPihtZWRpYVBsYXllclByaXZhdGVSZWFkeVN0YXRlVGltZW91dENhbGxi
YWNrKSwgdGhpcyk7CisgICAgfSBlbHNlIGlmIChuZXdTdGF0ZSAhPSBHU1RfU1RBVEVfUkVBRFkg
JiYgbV9yZWFkeVRpbWVySGFuZGxlcikgeworICAgICAgICBnX3NvdXJjZV9yZW1vdmUobV9yZWFk
eVRpbWVySGFuZGxlcik7CisgICAgICAgIG1fcmVhZHlUaW1lckhhbmRsZXIgPSAwOworICAgIH0K
KwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC02MTUsNyArNjQyLDcgQEAgdm9pZCBNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI6OnNldFJhdGUoZmxvYXQgcmF0ZSkKICAgICBtX2NoYW5naW5n
UmF0ZSA9IHRydWU7CiAKICAgICBpZiAoIXJhdGUpIHsKLSAgICAgICAgZ3N0X2VsZW1lbnRfc2V0
X3N0YXRlKG1fcGxheUJpbi5nZXQoKSwgR1NUX1NUQVRFX1BBVVNFRCk7CisgICAgICAgIGNoYW5n
ZVBpcGVsaW5lU3RhdGUoR1NUX1NUQVRFX1BBVVNFRCk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKQEAgLTgyNSw4ICs4NTIsOCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6
aGFuZGxlUGx1Z2luSW5zdGFsbGVyUmVzdWx0KEdzdEluc3RhbGxQbHVnaW5zUgogewogICAgIG1f
bWlzc2luZ1BsdWdpbnMgPSBmYWxzZTsKICAgICBpZiAocmVzdWx0ID09IEdTVF9JTlNUQUxMX1BM
VUdJTlNfU1VDQ0VTUykgewotICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9wbGF5Qmlu
LmdldCgpLCBHU1RfU1RBVEVfUkVBRFkpOwotICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUo
bV9wbGF5QmluLmdldCgpLCBHU1RfU1RBVEVfUEFVU0VEKTsKKyAgICAgICAgY2hhbmdlUGlwZWxp
bmVTdGF0ZShHU1RfU1RBVEVfUkVBRFkpOworICAgICAgICBjaGFuZ2VQaXBlbGluZVN0YXRlKEdT
VF9TVEFURV9QQVVTRUQpOwogICAgIH0KIH0KIApAQCAtMTAzMSw3ICsxMDU4LDcgQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNhbmNlbExvYWQoKQogICAgICAgICByZXR1cm47
CiAKICAgICBpZiAobV9wbGF5QmluKQotICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9w
bGF5QmluLmdldCgpLCBHU1RfU1RBVEVfTlVMTCk7CisgICAgICAgIGNoYW5nZVBpcGVsaW5lU3Rh
dGUoR1NUX1NUQVRFX1JFQURZKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6OmFzeW5jU3RhdGVDaGFuZ2VEb25lKCkKQEAgLTEwOTgsOCArMTEyNSwxMiBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dXBkYXRlU3RhdGVzKCkKICAgICAgICAgICAgIG1f
bmV0d29ya1N0YXRlID0gTWVkaWFQbGF5ZXI6OkVtcHR5OwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIGNhc2UgR1NUX1NUQVRFX1JFQURZOgotICAgICAgICAgICAgbV9yZWFkeVN0YXRlID0g
TWVkaWFQbGF5ZXI6OkhhdmVNZXRhZGF0YTsKLSAgICAgICAgICAgIG1fbmV0d29ya1N0YXRlID0g
TWVkaWFQbGF5ZXI6OkVtcHR5OworICAgICAgICAgICAgLy8gRG8gbm90IGNoYW5nZSBuZXR3b3Jr
L3JlYWR5IHN0YXRlcyBpZiBvbiBFT1MgYW5kIHN0YXRlIGNoYW5nZWQgdG8gUkVBRFkgdG8gYXZv
aWQKKyAgICAgICAgICAgIC8vIHJlY3JlYXRpbmcgdGhlIHBsYXllciBvbiBIVE1MTWVkaWFFbGVt
ZW50LgorICAgICAgICAgICAgaWYgKCFtX2lzRW5kUmVhY2hlZCkgeworICAgICAgICAgICAgICAg
IG1fcmVhZHlTdGF0ZSA9IE1lZGlhUGxheWVyOjpIYXZlTWV0YWRhdGE7CisgICAgICAgICAgICAg
ICAgbV9uZXR3b3JrU3RhdGUgPSBNZWRpYVBsYXllcjo6RW1wdHk7CisgICAgICAgICAgICB9CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBHU1RfU1RBVEVfUEFVU0VEOgogICAgICAg
ICBjYXNlIEdTVF9TVEFURV9QTEFZSU5HOgpAQCAtMTE0MCwxNCArMTE3MSwxNCBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dXBkYXRlU3RhdGVzKCkKIAogICAgICAgICAgICAg
aWYgKGRpZEJ1ZmZlcmluZyAmJiAhbV9idWZmZXJpbmcgJiYgIW1fcGF1c2VkKSB7CiAgICAgICAg
ICAgICAgICAgTE9HX01FRElBX01FU1NBR0UoIltCdWZmZXJpbmddIFJlc3RhcnRpbmcgcGxheWJh
Y2suIik7Ci0gICAgICAgICAgICAgICAgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGxheUJpbi5n
ZXQoKSwgR1NUX1NUQVRFX1BMQVlJTkcpOworICAgICAgICAgICAgICAgIGNoYW5nZVBpcGVsaW5l
U3RhdGUoR1NUX1NUQVRFX1BMQVlJTkcpOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2Ug
aWYgKHN0YXRlID09IEdTVF9TVEFURV9QTEFZSU5HKSB7CiAgICAgICAgICAgICBtX3BhdXNlZCA9
IGZhbHNlOwogCiAgICAgICAgICAgICBpZiAobV9idWZmZXJpbmcgJiYgIWlzTGl2ZVN0cmVhbSgp
KSB7CiAgICAgICAgICAgICAgICAgTE9HX01FRElBX01FU1NBR0UoIltCdWZmZXJpbmddIFBhdXNp
bmcgc3RyZWFtIGZvciBidWZmZXJpbmcuIik7Ci0gICAgICAgICAgICAgICAgZ3N0X2VsZW1lbnRf
c2V0X3N0YXRlKG1fcGxheUJpbi5nZXQoKSwgR1NUX1NUQVRFX1BBVVNFRCk7CisgICAgICAgICAg
ICAgICAgY2hhbmdlUGlwZWxpbmVTdGF0ZShHU1RfU1RBVEVfUEFVU0VEKTsKICAgICAgICAgICAg
IH0KICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBtX3BhdXNlZCA9IHRydWU7CkBAIC0xMTcw
LDggKzEyMDEsOCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dXBkYXRlU3Rh
dGVzKCkKIAogICAgICAgICAvLyBBIGxpdmUgc3RyZWFtIHdhcyBwYXVzZWQsIHJlc2V0IHRoZSBw
aXBlbGluZS4KICAgICAgICAgaWYgKHN0YXRlID09IEdTVF9TVEFURV9QQVVTRUQgJiYgcGVuZGlu
ZyA9PSBHU1RfU1RBVEVfUExBWUlORyAmJiBpc0xpdmVTdHJlYW0oKSkgewotICAgICAgICAgICAg
Z3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGxheUJpbi5nZXQoKSwgR1NUX1NUQVRFX05VTEwpOwot
ICAgICAgICAgICAgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGxheUJpbi5nZXQoKSwgR1NUX1NU
QVRFX1BMQVlJTkcpOworICAgICAgICAgICAgY2hhbmdlUGlwZWxpbmVTdGF0ZShHU1RfU1RBVEVf
UkVBRFkpOworICAgICAgICAgICAgY2hhbmdlUGlwZWxpbmVTdGF0ZShHU1RfU1RBVEVfUExBWUlO
Ryk7CiAgICAgICAgIH0KIAogICAgICAgICBicmVhazsKQEAgLTExOTUsNyArMTIyNiw3IEBAIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRhdGVTdGF0ZXMoKQogICAgICAgICAg
ICAgbV9wYXVzZWQgPSBmYWxzZTsKIAogICAgICAgICBpZiAoIW1fcGF1c2VkKQotICAgICAgICAg
ICAgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGxheUJpbi5nZXQoKSwgR1NUX1NUQVRFX1BMQVlJ
TkcpOworICAgICAgICAgICAgY2hhbmdlUGlwZWxpbmVTdGF0ZShHU1RfU1RBVEVfUExBWUlORyk7
CiAKICAgICAgICAgbV9uZXR3b3JrU3RhdGUgPSBNZWRpYVBsYXllcjo6TG9hZGluZzsKICAgICAg
ICAgYnJlYWs7CkBAIC0xMzAwLDcgKzEzMzEsNyBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6bG9hZE5leHRMb2NhdGlvbigpCiAKICAgICAgICAgICAgIC8vIFJlc2V0IHBpcGVs
aW5lIHN0YXRlLgogICAgICAgICAgICAgbV9yZXNldFBpcGVsaW5lID0gdHJ1ZTsKLSAgICAgICAg
ICAgIGdzdF9lbGVtZW50X3NldF9zdGF0ZShtX3BsYXlCaW4uZ2V0KCksIEdTVF9TVEFURV9SRUFE
WSk7CisgICAgICAgICAgICBjaGFuZ2VQaXBlbGluZVN0YXRlKEdTVF9TVEFURV9SRUFEWSk7CiAK
ICAgICAgICAgICAgIEdzdFN0YXRlIHN0YXRlOwogICAgICAgICAgICAgZ3N0X2VsZW1lbnRfZ2V0
X3N0YXRlKG1fcGxheUJpbi5nZXQoKSwgJnN0YXRlLCAwLCAwKTsKQEAgLTEzMDgsNyArMTMzOSw3
IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkTmV4dExvY2F0aW9uKCkK
ICAgICAgICAgICAgICAgICAvLyBTZXQgdGhlIG5ldyB1cmkgYW5kIHN0YXJ0IHBsYXlpbmcuCiAg
ICAgICAgICAgICAgICAgZ19vYmplY3Rfc2V0KG1fcGxheUJpbi5nZXQoKSwgInVyaSIsIG5ld1Vy
bC5zdHJpbmcoKS51dGY4KCkuZGF0YSgpLCBOVUxMKTsKICAgICAgICAgICAgICAgICBtX3VybCA9
IG5ld1VybDsKLSAgICAgICAgICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9wbGF5Qmlu
LmdldCgpLCBHU1RfU1RBVEVfUExBWUlORyk7CisgICAgICAgICAgICAgICAgY2hhbmdlUGlwZWxp
bmVTdGF0ZShHU1RfU1RBVEVfUExBWUlORyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZQpAQCAtMTM0Niw3ICsxMzc3LDcgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmRpZEVuZCgpCiAKICAgICBpZiAoIW1fcGxh
eWVyLT5tZWRpYVBsYXllckNsaWVudCgpLT5tZWRpYVBsYXllcklzTG9vcGluZygpKSB7CiAgICAg
ICAgIG1fcGF1c2VkID0gdHJ1ZTsKLSAgICAgICAgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGxh
eUJpbi5nZXQoKSwgR1NUX1NUQVRFX05VTEwpOworICAgICAgICBjaGFuZ2VQaXBlbGluZVN0YXRl
KEdTVF9TVEFURV9SRUFEWSk7CiAgICAgICAgIG1fZG93bmxvYWRGaW5pc2hlZCA9IGZhbHNlOwog
ICAgIH0KIH0KQEAgLTEzOTEsNiArMTQyMiwxMyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6bG9hZGluZ0ZhaWxlZChNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlIGVycm9yKQog
ICAgICAgICBtX3JlYWR5U3RhdGUgPSBNZWRpYVBsYXllcjo6SGF2ZU5vdGhpbmc7CiAgICAgICAg
IG1fcGxheWVyLT5yZWFkeVN0YXRlQ2hhbmdlZCgpOwogICAgIH0KKworICAgIC8vIExvYWRpbmcg
ZmFpbGVkLCBmb3JjZSByZXNldCBwaXBlbGluZSBhbmQgcmVtb3ZlIHJlYWR5IHRpbWVyLgorICAg
IGdzdF9lbGVtZW50X3NldF9zdGF0ZShtX3BsYXlCaW4uZ2V0KCksIEdTVF9TVEFURV9OVUxMKTsK
KyAgICBpZiAobV9yZWFkeVRpbWVySGFuZGxlcikgeworICAgICAgICBnX3NvdXJjZV9yZW1vdmUo
bV9yZWFkeVRpbWVySGFuZGxlcik7CisgICAgICAgIG1fcmVhZHlUaW1lckhhbmRsZXIgPSAwOwor
ICAgIH0KIH0KIAogc3RhdGljIEhhc2hTZXQ8U3RyaW5nPiBtaW1lVHlwZUNhY2hlKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAppbmRleCA0ODI4NGQzLi5i
MWUyNzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5o
CkBAIC05Nyw2ICs5Nyw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2ltdWxhdGVBdWRpb0ludGVy
cnVwdGlvbigpOwogCisgICAgYm9vbCBjaGFuZ2VQaXBlbGluZVN0YXRlKEdzdFN0YXRlKTsKKwog
cHJpdmF0ZToKICAgICBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIoTWVkaWFQbGF5ZXIqKTsK
IApAQCAtMTE3LDcgKzExOSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBhc3luY1N0YXRlQ2hhbmdl
RG9uZSgpOwogCiAgICAgdm9pZCBjcmVhdGVHU1RQbGF5QmluKCk7Ci0gICAgYm9vbCBjaGFuZ2VQ
aXBlbGluZVN0YXRlKEdzdFN0YXRlKTsKIAogICAgIGJvb2wgbG9hZE5leHRMb2NhdGlvbigpOwog
ICAgIHZvaWQgbWVkaWFMb2NhdGlvbkNoYW5nZWQoR3N0TWVzc2FnZSopOwpAQCAtMTYxLDYgKzE2
Miw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2hhc0F1ZGlvOwogICAgIGd1aW50IG1fYXVkaW9U
aW1lckhhbmRsZXI7CiAgICAgZ3VpbnQgbV92aWRlb1RpbWVySGFuZGxlcjsKKyAgICBndWludCBt
X3JlYWR5VGltZXJIYW5kbGVyOwogICAgIEdSZWZQdHI8R3N0RWxlbWVudD4gbV93ZWJraXRBdWRp
b1Npbms7CiAgICAgbXV0YWJsZSBsb25nIG1fdG90YWxCeXRlczsKICAgICBLVVJMIG1fdXJsOwot
LSAKMS44LjEuMgoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210293</attachid>
            <date>2013-09-02 09:23:12 -0700</date>
            <delta_ts>2013-09-03 09:50:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-GStreamer-Don-t-set-state-to-NULL-until-element-is-d.patch</filename>
            <type>text/plain</type>
            <size>13729</size>
            <attacher name="Andre Moreira Magalhaes">andrunko</attacher>
            
              <data encoding="base64">RnJvbSAwNTJhZWUwZjViMmM4YWRjODgzMmUwYzE4NTAxODhiYTVkZTY2NDc5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSIg
PGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CkRhdGU6IE1vbiwgMiBTZXAgMjAxMyAx
MzoxNzo1MiAtMDMwMApTdWJqZWN0OiBbUEFUQ0hdIFtHU3RyZWFtZXJdIERvbid0IHNldCBzdGF0
ZSB0byBOVUxMIHVudGlsIGVsZW1lbnQgaXMKIGRlc3Ryb3llZCBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3MzU0CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
CkRvbid0IHNldCBwbGF5YmluIHRvIE5VTEwgdW50aWwgaXQgaXMgZ29pbmcgdG8gYmUgZGVzdHJv
eWVkIG9yIGlmIHdlIHN0YXkKZm9yIHRvbyBsb25nIG9uIHRoZSBSRUFEWSBzdGF0ZS4gSW5zdGVh
ZCBvbmx5IHNldCB0aGUgc3RhdGUgdG8gUkVBRFkgYXMgdGhpcwphbGxvd3MgbXVjaCBmYXN0ZXIg
c3RhdGUgY2hhbmdlcyB0byBQQVVTRUQvUExBWUlORyBhZ2Fpbi4gcGxheWJpbiBpbnRlcm5hbGx5
CmNhY2hlcyBzb21lIHN0YXRlIHRoYXQgaXMgZGVzdHJveWVkIHdoZW4gc2V0dGluZyBpdCB0byBO
VUxMLgpUaGlzIHN0YXRlIGlzIGluZGVwZW5kZW50IG9mIHRoZSBVUkkgYW5kIGl0IGlzIGV2ZW4g
cG9zc2libGUgdG8gY2hhbmdlIHRoZQpVUkkgaW4gUkVBRFkgc3RhdGUuCgpUbyBhdm9pZCBoYXZp
bmcgcmVzb3VyY2VzIChlLmcuIGF1ZGlvIGRldmljZXMpIG9wZW4gaW5kZWZpbml0ZWx5LAp3aGVu
IHNldHRpbmcgdGhlIHN0YXRlIHRvIFJFQURZIHdlIGNyZWF0ZSBhIHRpbWVvdXQgYW5kIGlmIHRo
ZSB0aW1lb3V0CmlzIHJlYWNoZWQgd2UgcmVzZXQgdGhlIHBpcGVsaW5lIHN0YXRlIHRvIE5VTEwg
dG8gZnJlZSByZXNvdXJjZXMuCgpBbHNvIG5vdyBhbGwgc3RhdGUgY2hhbmdlcyB1c2UgdGhlIGNo
YW5nZVBpcGVsaW5lU3RhdGUgbWV0aG9kIGluc3RlYWQgb2Ygc2V0dGluZwp0aGUgcGxheWJpbiBz
dGF0ZSBkaXJlY3RseSB3aXRoIGdzdF9lbGVtZW50X3NldF9zdGF0ZSwgc28gd2UgaGF2ZSBhIGJl
dHRlciBjb250cm9sCm9mIHdoZW4gd2UgYXJlIHJlcXVlc3Rpbmcgc3RhdGUgY2hhbmdlcy4KCiog
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5j
cHA6CihXZWJDb3JlOjptZWRpYVBsYXllclByaXZhdGVSZWFkeVN0YXRlVGltZW91dENhbGxiYWNr
KToKKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6TWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyKToKKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6fk1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcik6CihXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI6OmNvbW1pdExvYWQpOgooV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjpjaGFuZ2VQaXBlbGluZVN0YXRlKToKKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6c2V0UmF0ZSk6CihXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6
OmhhbmRsZVBsdWdpbkluc3RhbGxlclJlc3VsdCk6CiogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oOgotLS0KIFNvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMzIgKysrKysrKysrKwogLi4uL2dz
dHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwICAgICAgfCA3MCArKysrKysr
KysrKysrKysrKy0tLS0tCiAuLi4vZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5oICAgICAgICB8ICA0ICstCiAzIGZpbGVzIGNoYW5nZWQsIDg5IGluc2VydGlvbnMoKyksIDE3
IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhM2YwOTY4Li42ODQ2NjUyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzUgQEAKKzIwMTMtMDgtMzAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzICAg
PGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CisKKyAgICAgICAgW0dTdHJlYW1lcl0g
RG9uJ3Qgc2V0IHN0YXRlIHRvIE5VTEwgdW50aWwgZWxlbWVudCBpcyBkZXN0cm95ZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzM1NAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERvbid0IHNldCBwbGF5
YmluIHRvIE5VTEwgdW50aWwgaXQgaXMgZ29pbmcgdG8gYmUgZGVzdHJveWVkIG9yIGlmIHdlIHN0
YXkKKyAgICAgICAgZm9yIHRvbyBsb25nIG9uIHRoZSBSRUFEWSBzdGF0ZS4gSW5zdGVhZCBvbmx5
IHNldCB0aGUgc3RhdGUgdG8gUkVBRFkgYXMgdGhpcworICAgICAgICBhbGxvd3MgbXVjaCBmYXN0
ZXIgc3RhdGUgY2hhbmdlcyB0byBQQVVTRUQvUExBWUlORyBhZ2Fpbi4gcGxheWJpbiBpbnRlcm5h
bGx5CisgICAgICAgIGNhY2hlcyBzb21lIHN0YXRlIHRoYXQgaXMgZGVzdHJveWVkIHdoZW4gc2V0
dGluZyBpdCB0byBOVUxMLgorICAgICAgICBUaGlzIHN0YXRlIGlzIGluZGVwZW5kZW50IG9mIHRo
ZSBVUkkgYW5kIGl0IGlzIGV2ZW4gcG9zc2libGUgdG8gY2hhbmdlIHRoZQorICAgICAgICBVUkkg
aW4gUkVBRFkgc3RhdGUuCisKKyAgICAgICAgVG8gYXZvaWQgaGF2aW5nIHJlc291cmNlcyAoZS5n
LiBhdWRpbyBkZXZpY2VzKSBvcGVuIGluZGVmaW5pdGVseSwKKyAgICAgICAgd2hlbiBzZXR0aW5n
IHRoZSBzdGF0ZSB0byBSRUFEWSB3ZSBjcmVhdGUgYSB0aW1lb3V0IGFuZCBpZiB0aGUgdGltZW91
dAorICAgICAgICBpcyByZWFjaGVkIHdlIHJlc2V0IHRoZSBwaXBlbGluZSBzdGF0ZSB0byBOVUxM
IHRvIGZyZWUgcmVzb3VyY2VzLgorCisgICAgICAgIEFsc28gbm93IGFsbCBzdGF0ZSBjaGFuZ2Vz
IHVzZSB0aGUgY2hhbmdlUGlwZWxpbmVTdGF0ZSBtZXRob2QgaW5zdGVhZCBvZiBzZXR0aW5nCisg
ICAgICAgIHRoZSBwbGF5YmluIHN0YXRlIGRpcmVjdGx5IHdpdGggZ3N0X2VsZW1lbnRfc2V0X3N0
YXRlLCBzbyB3ZSBoYXZlIGEgYmV0dGVyIGNvbnRyb2wKKyAgICAgICAgb2Ygd2hlbiB3ZSBhcmUg
cmVxdWVzdGluZyBzdGF0ZSBjaGFuZ2VzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjptZWRpYVBsYXllclByaXZhdGVSZWFkeVN0YXRlVGltZW91dENhbGxiYWNrKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6TWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lcjo6fk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcik6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNvbW1pdExvYWQpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjaGFuZ2VQaXBlbGluZVN0YXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0UmF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmhhbmRsZVBsdWdp
bkluc3RhbGxlclJlc3VsdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oOgorCiAyMDEzLTA4LTIyICBBbmRyZSBNb3Jl
aXJhIE1hZ2FsaGFlcyAgIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgogCiAgICAg
ICAgIFtnc3RyZWFtZXJdIERpc2FibGUgSFRUUCByZXF1ZXN0ICJBY2NlcHQtRW5jb2Rpbmc6IiBo
ZWFkZXIgZmllbGQgb24gZ3N0cmVhbWVyIHNvdXJjZSBlbGVtZW50IHRvIGF2b2lkIHJlY2Vpdmlu
ZyB0aGUgd3Jvbmcgc2l6ZSB3aGVuIHJldHJpZXZpbmcgZGF0YQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCAxN2E0NTE3Li40MmIxYzZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAt
ODEsNiArODEsOSBAQCBzdGF0aWMgY29uc3QgZ2ludDY0IGdQZXJjZW50TWF4ID0gR1NUX0ZPUk1B
VF9QRVJDRU5UX01BWDsKIHN0YXRpYyBjb25zdCBjaGFyKiBnUGxheWJpbk5hbWUgPSAicGxheWJp
bjIiOwogc3RhdGljIGNvbnN0IGdpbnQ2NCBnUGVyY2VudE1heCA9IDEwMDsKICNlbmRpZgorLy8g
TWF4IGludGVydmFsIGluIHNlY29uZHMgdG8gc3RheSBpbiB0aGUgUkVBRFkgc3RhdGUgb24gbWFu
dWFsCisvLyBzdGF0ZSBjaGFuZ2UgcmVxdWVzdHMuCitzdGF0aWMgY29uc3QgZ3VpbnQgZ1JlYWR5
U3RhdGVUaW1lckludGVydmFsID0gNjA7CiAKIEdTVF9ERUJVR19DQVRFR09SWV9FWFRFUk4od2Vi
a2l0X21lZGlhX3BsYXllcl9kZWJ1Zyk7CiAjZGVmaW5lIEdTVF9DQVRfREVGQVVMVCB3ZWJraXRf
bWVkaWFfcGxheWVyX2RlYnVnCkBAIC0xNTgsNiArMTYxLDE0IEBAIHN0YXRpYyBHc3RGbG93UmV0
dXJuIG1lZGlhUGxheWVyUHJpdmF0ZU5ld1RleHRTYW1wbGVDYWxsYmFjayhHT2JqZWN0KiwgTWVk
aWFQbGF5CiB9CiAjZW5kaWYKIAorc3RhdGljIGdib29sZWFuIG1lZGlhUGxheWVyUHJpdmF0ZVJl
YWR5U3RhdGVUaW1lb3V0Q2FsbGJhY2soTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyKiBwbGF5
ZXIpCit7CisgICAgLy8gVGhpcyBpcyB0aGUgY2FsbGJhY2sgb2YgdGhlIHRpbWVvdXQgc291cmNl
IGNyZWF0ZWQgaW4gOjpjaGFuZ2VQaXBlbGluZVN0YXRlLgorICAgIC8vIFJlc2V0IHBpcGVsaW5l
IGlmIHdlIGFyZSBzaXR0aW5nIG9uIFJFQURZIHN0YXRlIHdoZW4gdGltZW91dCBpcyByZWFjaGVk
CisgICAgcGxheWVyLT5jaGFuZ2VQaXBlbGluZVN0YXRlKEdTVF9TVEFURV9OVUxMKTsKKyAgICBy
ZXR1cm4gRkFMU0U7Cit9CisKIHN0YXRpYyB2b2lkIG1lZGlhUGxheWVyUHJpdmF0ZVBsdWdpbklu
c3RhbGxlclJlc3VsdEZ1bmN0aW9uKEdzdEluc3RhbGxQbHVnaW5zUmV0dXJuIHJlc3VsdCwgZ3Bv
aW50ZXIgdXNlckRhdGEpCiB7CiAgICAgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyKiBwbGF5
ZXIgPSByZWludGVycHJldF9jYXN0PE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcio+KHVzZXJE
YXRhKTsKQEAgLTI1Nyw2ICsyNjgsNyBAQCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Ok1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcihNZWRpYVBsYXllciogcGxheWVyKQogICAgICwgbV9h
dWRpb1RpbWVySGFuZGxlcigwKQogICAgICwgbV90ZXh0VGltZXJIYW5kbGVyKDApCiAgICAgLCBt
X3ZpZGVvVGltZXJIYW5kbGVyKDApCisgICAgLCBtX3JlYWR5VGltZXJIYW5kbGVyKDApCiAgICAg
LCBtX3dlYmtpdEF1ZGlvU2luaygwKQogICAgICwgbV90b3RhbEJ5dGVzKC0xKQogICAgICwgbV9w
cmVzZXJ2ZXNQaXRjaChmYWxzZSkKQEAgLTI4Myw2ICsyOTUsOSBAQCBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXI6On5NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIoKQogICAgICAgICBnX3Np
Z25hbF9oYW5kbGVyc19kaXNjb25uZWN0X2J5X2Z1bmMoR19PQkpFQ1QobV9hdXRvQXVkaW9TaW5r
LmdldCgpKSwKICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Z3BvaW50ZXI+KHNldEF1ZGlv
U3RyZWFtUHJvcGVydGllc0NhbGxiYWNrKSwgdGhpcyk7CiAKKyAgICBpZiAobV9yZWFkeVRpbWVy
SGFuZGxlcikKKyAgICAgICAgZ19zb3VyY2VfcmVtb3ZlKG1fcmVhZHlUaW1lckhhbmRsZXIpOwor
CiAgICAgaWYgKG1fcGxheUJpbikgewogICAgICAgICBHUmVmUHRyPEdzdEJ1cz4gYnVzID0gd2Vi
a2l0R3N0UGlwZWxpbmVHZXRCdXMoR1NUX1BJUEVMSU5FKG1fcGxheUJpbi5nZXQoKSkpOwogICAg
ICAgICBBU1NFUlQoYnVzKTsKQEAgLTM2Nyw3ICszODIsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcjo6Y29tbWl0TG9hZCgpCiAKICAgICAvLyBHU3RyZWFtZXIgbmVlZHMgdG8g
aGF2ZSB0aGUgcGlwZWxpbmUgc2V0IHRvIGEgcGF1c2VkIHN0YXRlIHRvCiAgICAgLy8gc3RhcnQg
cHJvdmlkaW5nIGFueXRoaW5nIHVzZWZ1bC4KLSAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9w
bGF5QmluLmdldCgpLCBHU1RfU1RBVEVfUEFVU0VEKTsKKyAgICBjaGFuZ2VQaXBlbGluZVN0YXRl
KEdTVF9TVEFURV9QQVVTRUQpOwogCiAgICAgc2V0RG93bmxvYWRCdWZmZXJpbmcoKTsKICAgICB1
cGRhdGVTdGF0ZXMoKTsKQEAgLTQwOCw3ICs0MjMsNyBAQCBmbG9hdCBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXI6OnBsYXliYWNrUG9zaXRpb24oKSBjb25zdAogCiBib29sIE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0ZShHc3RTdGF0ZSBuZXdTdGF0ZSkK
IHsKLSAgICBBU1NFUlQobmV3U3RhdGUgPT0gR1NUX1NUQVRFX1BMQVlJTkcgfHwgbmV3U3RhdGUg
PT0gR1NUX1NUQVRFX1BBVVNFRCk7CisgICAgQVNTRVJUKG1fcGxheUJpbik7CiAKICAgICBHc3RT
dGF0ZSBjdXJyZW50U3RhdGU7CiAgICAgR3N0U3RhdGUgcGVuZGluZzsKQEAgLTQyOSw2ICs0NDQs
MTggQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNoYW5nZVBpcGVsaW5lU3Rh
dGUoR3N0U3RhdGUgbmV3U3RhdGUpCiAgICAgICAgIGxvYWRpbmdGYWlsZWQoTWVkaWFQbGF5ZXI6
OkVtcHR5KTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KKworICAgIC8vIENyZWF0ZSBh
IHRpbWVyIHdoZW4gZW50ZXJpbmcgdGhlIFJFQURZIHN0YXRlIHNvIHRoYXQgd2UgY2FuIGZyZWUg
cmVzb3VyY2VzCisgICAgLy8gaWYgd2Ugc3RheSBmb3IgdG9vIGxvbmcgb24gUkVBRFkuCisgICAg
Ly8gQWxzbyBsZXRzIHJlbW92ZSB0aGUgdGltZXIgaWYgd2UgcmVxdWVzdCBhIHN0YXRlIGNoYW5n
ZSBmb3IgYW55IHN0YXRlIG90aGVyIHRoYW4gUkVBRFkuCisgICAgLy8gU2VlIGFsc28gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzM1NAorICAgIGlmIChuZXdTdGF0
ZSA9PSBHU1RfU1RBVEVfUkVBRFkgJiYgIW1fcmVhZHlUaW1lckhhbmRsZXIpIHsKKyAgICAgICAg
bV9yZWFkeVRpbWVySGFuZGxlciA9IGdfdGltZW91dF9hZGRfc2Vjb25kcyhnUmVhZHlTdGF0ZVRp
bWVySW50ZXJ2YWwsIHJlaW50ZXJwcmV0X2Nhc3Q8R1NvdXJjZUZ1bmM+KG1lZGlhUGxheWVyUHJp
dmF0ZVJlYWR5U3RhdGVUaW1lb3V0Q2FsbGJhY2spLCB0aGlzKTsKKyAgICB9IGVsc2UgaWYgKG5l
d1N0YXRlICE9IEdTVF9TVEFURV9SRUFEWSAmJiBtX3JlYWR5VGltZXJIYW5kbGVyKSB7CisgICAg
ICAgIGdfc291cmNlX3JlbW92ZShtX3JlYWR5VGltZXJIYW5kbGVyKTsKKyAgICAgICAgbV9yZWFk
eVRpbWVySGFuZGxlciA9IDA7CisgICAgfQorCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTcy
OCw3ICs3NTUsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0UmF0ZShm
bG9hdCByYXRlKQogICAgIG1fY2hhbmdpbmdSYXRlID0gdHJ1ZTsKIAogICAgIGlmICghcmF0ZSkg
ewotICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9wbGF5QmluLmdldCgpLCBHU1RfU1RB
VEVfUEFVU0VEKTsKKyAgICAgICAgY2hhbmdlUGlwZWxpbmVTdGF0ZShHU1RfU1RBVEVfUEFVU0VE
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtOTM4LDggKzk2NSw4IEBAIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVQbHVnaW5JbnN0YWxsZXJSZXN1bHQoR3N0
SW5zdGFsbFBsdWdpbnNSCiB7CiAgICAgbV9taXNzaW5nUGx1Z2lucyA9IGZhbHNlOwogICAgIGlm
IChyZXN1bHQgPT0gR1NUX0lOU1RBTExfUExVR0lOU19TVUNDRVNTKSB7Ci0gICAgICAgIGdzdF9l
bGVtZW50X3NldF9zdGF0ZShtX3BsYXlCaW4uZ2V0KCksIEdTVF9TVEFURV9SRUFEWSk7Ci0gICAg
ICAgIGdzdF9lbGVtZW50X3NldF9zdGF0ZShtX3BsYXlCaW4uZ2V0KCksIEdTVF9TVEFURV9QQVVT
RUQpOworICAgICAgICBjaGFuZ2VQaXBlbGluZVN0YXRlKEdTVF9TVEFURV9SRUFEWSk7CisgICAg
ICAgIGNoYW5nZVBpcGVsaW5lU3RhdGUoR1NUX1NUQVRFX1BBVVNFRCk7CiAgICAgfQogfQogCkBA
IC0xMTQ0LDcgKzExNzEsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2Fu
Y2VsTG9hZCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChtX3BsYXlCaW4pCi0gICAgICAg
IGdzdF9lbGVtZW50X3NldF9zdGF0ZShtX3BsYXlCaW4uZ2V0KCksIEdTVF9TVEFURV9OVUxMKTsK
KyAgICAgICAgY2hhbmdlUGlwZWxpbmVTdGF0ZShHU1RfU1RBVEVfUkVBRFkpOwogfQogCiB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6YXN5bmNTdGF0ZUNoYW5nZURvbmUoKQpAQCAt
MTIxMSw4ICsxMjM4LDEyIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRh
dGVTdGF0ZXMoKQogICAgICAgICAgICAgbV9uZXR3b3JrU3RhdGUgPSBNZWRpYVBsYXllcjo6RW1w
dHk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBHU1RfU1RBVEVfUkVBRFk6Ci0g
ICAgICAgICAgICBtX3JlYWR5U3RhdGUgPSBNZWRpYVBsYXllcjo6SGF2ZU1ldGFkYXRhOwotICAg
ICAgICAgICAgbV9uZXR3b3JrU3RhdGUgPSBNZWRpYVBsYXllcjo6RW1wdHk7CisgICAgICAgICAg
ICAvLyBEbyBub3QgY2hhbmdlIG5ldHdvcmsvcmVhZHkgc3RhdGVzIGlmIG9uIEVPUyBhbmQgc3Rh
dGUgY2hhbmdlZCB0byBSRUFEWSB0byBhdm9pZAorICAgICAgICAgICAgLy8gcmVjcmVhdGluZyB0
aGUgcGxheWVyIG9uIEhUTUxNZWRpYUVsZW1lbnQuCisgICAgICAgICAgICBpZiAoIW1faXNFbmRS
ZWFjaGVkKSB7CisgICAgICAgICAgICAgICAgbV9yZWFkeVN0YXRlID0gTWVkaWFQbGF5ZXI6Okhh
dmVNZXRhZGF0YTsKKyAgICAgICAgICAgICAgICBtX25ldHdvcmtTdGF0ZSA9IE1lZGlhUGxheWVy
OjpFbXB0eTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNl
IEdTVF9TVEFURV9QQVVTRUQ6CiAgICAgICAgIGNhc2UgR1NUX1NUQVRFX1BMQVlJTkc6CkBAIC0x
MjUzLDE0ICsxMjg0LDE0IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRh
dGVTdGF0ZXMoKQogCiAgICAgICAgICAgICBpZiAoZGlkQnVmZmVyaW5nICYmICFtX2J1ZmZlcmlu
ZyAmJiAhbV9wYXVzZWQpIHsKICAgICAgICAgICAgICAgICBMT0dfTUVESUFfTUVTU0FHRSgiW0J1
ZmZlcmluZ10gUmVzdGFydGluZyBwbGF5YmFjay4iKTsKLSAgICAgICAgICAgICAgICBnc3RfZWxl
bWVudF9zZXRfc3RhdGUobV9wbGF5QmluLmdldCgpLCBHU1RfU1RBVEVfUExBWUlORyk7CisgICAg
ICAgICAgICAgICAgY2hhbmdlUGlwZWxpbmVTdGF0ZShHU1RfU1RBVEVfUExBWUlORyk7CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0gZWxzZSBpZiAoc3RhdGUgPT0gR1NUX1NUQVRFX1BMQVlJTkcp
IHsKICAgICAgICAgICAgIG1fcGF1c2VkID0gZmFsc2U7CiAKICAgICAgICAgICAgIGlmIChtX2J1
ZmZlcmluZyAmJiAhaXNMaXZlU3RyZWFtKCkpIHsKICAgICAgICAgICAgICAgICBMT0dfTUVESUFf
TUVTU0FHRSgiW0J1ZmZlcmluZ10gUGF1c2luZyBzdHJlYW0gZm9yIGJ1ZmZlcmluZy4iKTsKLSAg
ICAgICAgICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9wbGF5QmluLmdldCgpLCBHU1Rf
U1RBVEVfUEFVU0VEKTsKKyAgICAgICAgICAgICAgICBjaGFuZ2VQaXBlbGluZVN0YXRlKEdTVF9T
VEFURV9QQVVTRUQpOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UKICAgICAgICAgICAg
IG1fcGF1c2VkID0gdHJ1ZTsKQEAgLTEyODMsOCArMTMxNCw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyOjp1cGRhdGVTdGF0ZXMoKQogCiAgICAgICAgIC8vIEEgbGl2ZSBzdHJl
YW0gd2FzIHBhdXNlZCwgcmVzZXQgdGhlIHBpcGVsaW5lLgogICAgICAgICBpZiAoc3RhdGUgPT0g
R1NUX1NUQVRFX1BBVVNFRCAmJiBwZW5kaW5nID09IEdTVF9TVEFURV9QTEFZSU5HICYmIGlzTGl2
ZVN0cmVhbSgpKSB7Ci0gICAgICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9wbGF5Qmlu
LmdldCgpLCBHU1RfU1RBVEVfTlVMTCk7Ci0gICAgICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3Rh
dGUobV9wbGF5QmluLmdldCgpLCBHU1RfU1RBVEVfUExBWUlORyk7CisgICAgICAgICAgICBjaGFu
Z2VQaXBlbGluZVN0YXRlKEdTVF9TVEFURV9SRUFEWSk7CisgICAgICAgICAgICBjaGFuZ2VQaXBl
bGluZVN0YXRlKEdTVF9TVEFURV9QTEFZSU5HKTsKICAgICAgICAgfQogCiAgICAgICAgIGJyZWFr
OwpAQCAtMTMwOCw3ICsxMzM5LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6
OnVwZGF0ZVN0YXRlcygpCiAgICAgICAgICAgICBtX3BhdXNlZCA9IGZhbHNlOwogCiAgICAgICAg
IGlmICghbV9wYXVzZWQpCi0gICAgICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9wbGF5
QmluLmdldCgpLCBHU1RfU1RBVEVfUExBWUlORyk7CisgICAgICAgICAgICBjaGFuZ2VQaXBlbGlu
ZVN0YXRlKEdTVF9TVEFURV9QTEFZSU5HKTsKIAogICAgICAgICBtX25ldHdvcmtTdGF0ZSA9IE1l
ZGlhUGxheWVyOjpMb2FkaW5nOwogICAgICAgICBicmVhazsKQEAgLTE0MTMsNyArMTQ0NCw3IEBA
IGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkTmV4dExvY2F0aW9uKCkKIAog
ICAgICAgICAgICAgLy8gUmVzZXQgcGlwZWxpbmUgc3RhdGUuCiAgICAgICAgICAgICBtX3Jlc2V0
UGlwZWxpbmUgPSB0cnVlOwotICAgICAgICAgICAgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGxh
eUJpbi5nZXQoKSwgR1NUX1NUQVRFX1JFQURZKTsKKyAgICAgICAgICAgIGNoYW5nZVBpcGVsaW5l
U3RhdGUoR1NUX1NUQVRFX1JFQURZKTsKIAogICAgICAgICAgICAgR3N0U3RhdGUgc3RhdGU7CiAg
ICAgICAgICAgICBnc3RfZWxlbWVudF9nZXRfc3RhdGUobV9wbGF5QmluLmdldCgpLCAmc3RhdGUs
IDAsIDApOwpAQCAtMTQyMSw3ICsxNDUyLDcgQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXI6OmxvYWROZXh0TG9jYXRpb24oKQogICAgICAgICAgICAgICAgIC8vIFNldCB0aGUgbmV3
IHVyaSBhbmQgc3RhcnQgcGxheWluZy4KICAgICAgICAgICAgICAgICBnX29iamVjdF9zZXQobV9w
bGF5QmluLmdldCgpLCAidXJpIiwgbmV3VXJsLnN0cmluZygpLnV0ZjgoKS5kYXRhKCksIE5VTEwp
OwogICAgICAgICAgICAgICAgIG1fdXJsID0gbmV3VXJsOwotICAgICAgICAgICAgICAgIGdzdF9l
bGVtZW50X3NldF9zdGF0ZShtX3BsYXlCaW4uZ2V0KCksIEdTVF9TVEFURV9QTEFZSU5HKTsKKyAg
ICAgICAgICAgICAgICBjaGFuZ2VQaXBlbGluZVN0YXRlKEdTVF9TVEFURV9QTEFZSU5HKTsKICAg
ICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNl
CkBAIC0xNDU5LDcgKzE0OTAsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6
ZGlkRW5kKCkKIAogICAgIGlmICghbV9wbGF5ZXItPm1lZGlhUGxheWVyQ2xpZW50KCktPm1lZGlh
UGxheWVySXNMb29waW5nKCkpIHsKICAgICAgICAgbV9wYXVzZWQgPSB0cnVlOwotICAgICAgICBn
c3RfZWxlbWVudF9zZXRfc3RhdGUobV9wbGF5QmluLmdldCgpLCBHU1RfU1RBVEVfTlVMTCk7Cisg
ICAgICAgIGNoYW5nZVBpcGVsaW5lU3RhdGUoR1NUX1NUQVRFX1JFQURZKTsKICAgICAgICAgbV9k
b3dubG9hZEZpbmlzaGVkID0gZmFsc2U7CiAgICAgfQogfQpAQCAtMTUwNCw2ICsxNTM1LDEzIEBA
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkaW5nRmFpbGVkKE1lZGlhUGxh
eWVyOjpOZXR3b3JrU3RhdGUgZXJyb3IpCiAgICAgICAgIG1fcmVhZHlTdGF0ZSA9IE1lZGlhUGxh
eWVyOjpIYXZlTm90aGluZzsKICAgICAgICAgbV9wbGF5ZXItPnJlYWR5U3RhdGVDaGFuZ2VkKCk7
CiAgICAgfQorCisgICAgLy8gTG9hZGluZyBmYWlsZWQsIGZvcmNlIHJlc2V0IHBpcGVsaW5lIGFu
ZCByZW1vdmUgcmVhZHkgdGltZXIuCisgICAgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGxheUJp
bi5nZXQoKSwgR1NUX1NUQVRFX05VTEwpOworICAgIGlmIChtX3JlYWR5VGltZXJIYW5kbGVyKSB7
CisgICAgICAgIGdfc291cmNlX3JlbW92ZShtX3JlYWR5VGltZXJIYW5kbGVyKTsKKyAgICAgICAg
bV9yZWFkeVRpbWVySGFuZGxlciA9IDA7CisgICAgfQogfQogCiBzdGF0aWMgSGFzaFNldDxTdHJp
bmc+IG1pbWVUeXBlQ2FjaGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5oCmluZGV4IDI5YjJhYjcuLmQ3ZjZlZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKQEAgLTEwNyw2ICsxMDcsOCBAQCBwdWJsaWM6CiAK
ICAgICB2b2lkIHNpbXVsYXRlQXVkaW9JbnRlcnJ1cHRpb24oKTsKIAorICAgIGJvb2wgY2hhbmdl
UGlwZWxpbmVTdGF0ZShHc3RTdGF0ZSk7CisKIHByaXZhdGU6CiAgICAgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyKE1lZGlhUGxheWVyKik7CiAKQEAgLTEyNyw3ICsxMjksNiBAQCBwcml2YXRl
OgogICAgIHZvaWQgYXN5bmNTdGF0ZUNoYW5nZURvbmUoKTsKIAogICAgIHZvaWQgY3JlYXRlR1NU
UGxheUJpbigpOwotICAgIGJvb2wgY2hhbmdlUGlwZWxpbmVTdGF0ZShHc3RTdGF0ZSk7CiAKICAg
ICBib29sIGxvYWROZXh0TG9jYXRpb24oKTsKICAgICB2b2lkIG1lZGlhTG9jYXRpb25DaGFuZ2Vk
KEdzdE1lc3NhZ2UqKTsKQEAgLTE3Niw2ICsxNzcsNyBAQCBwcml2YXRlOgogICAgIGd1aW50IG1f
YXVkaW9UaW1lckhhbmRsZXI7CiAgICAgZ3VpbnQgbV90ZXh0VGltZXJIYW5kbGVyOwogICAgIGd1
aW50IG1fdmlkZW9UaW1lckhhbmRsZXI7CisgICAgZ3VpbnQgbV9yZWFkeVRpbWVySGFuZGxlcjsK
ICAgICBHUmVmUHRyPEdzdEVsZW1lbnQ+IG1fd2Via2l0QXVkaW9TaW5rOwogICAgIG11dGFibGUg
bG9uZyBtX3RvdGFsQnl0ZXM7CiAgICAgS1VSTCBtX3VybDsKLS0gCjEuOC4xLjIKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>