<?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>67888</bug_id>
          
          <creation_ts>2011-09-10 01:43:43 -0700</creation_ts>
          <short_desc>[Chromium] Add startFullscreen to WebMediaPlayer for Android</short_desc>
          <delta_ts>2012-02-08 16:10:15 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>LATER</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>66687</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>jer.noble</cc>
    
    <cc>peter</cc>
    
    <cc>steveblock</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>465267</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-09-10 01:43:43 -0700</bug_when>
    <thetext>[Chromium] Add startFullscreen to WebMediaPlayer for Android</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465268</commentid>
    <comment_count>1</comment_count>
      <attachid>106972</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-09-10 01:47:46 -0700</bug_when>
    <thetext>Created attachment 106972
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469757</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-09-19 15:46:40 -0700</bug_when>
    <thetext>Jer is a good person to get to comment on this since he designed the fullscreen stuff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469778</commentid>
    <comment_count>3</comment_count>
      <attachid>106972</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-09-19 16:05:39 -0700</bug_when>
    <thetext>Comment on attachment 106972
Patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        When an HTMLMediaElement on Android goes fullscreen, it needs the
&gt; +        WebMediaPlayer to help make that happen.  It&apos;s slighly unclear to me
&gt; +        why this work can&apos;t be done by the ChromeClient (essentially
&gt; +        special-casing HTMLMediaElement there), but this approach also seems
&gt; +        reasonable.

Doing it at the ChromeClient level would make more sense, given that the client is probably in the best position to know whether or not the full screen request will be honored.  As it stands, the full screen request could be rejected and the startFullScreen() call would be all for naught.

&gt; Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp:241
&gt; -    if (m_webMediaPlayer.get())
&gt; +    if (m_webMediaPlayer)

There are a ton of these; could they be factored out into a separate patch?

&gt; Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp:279
&gt; +#if OS(ANDROID)
&gt; +void WebMediaPlayerClientImpl::startFullscreen()
&gt; +{
&gt; +    if (m_webMediaPlayer)
&gt; +        m_webMediaPlayer-&gt;startFullscreen();
&gt; +}
&gt; +#endif

What does this do?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469779</commentid>
    <comment_count>4</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-09-19 16:08:44 -0700</bug_when>
    <thetext>...additionally, the new Full Screen API has settled on &quot;Full Screen&quot; (in text), &quot;full-screen&quot; (in css) and &quot;fullScreen&quot; (in code), instead of &quot;fullscreen&quot;.  We should try to be consistent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469780</commentid>
    <comment_count>5</comment_count>
      <attachid>106972</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-09-19 16:09:32 -0700</bug_when>
    <thetext>Comment on attachment 106972
Patch

ok</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106972</attachid>
            <date>2011-09-10 01:47:46 -0700</date>
            <delta_ts>2011-09-19 16:09:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67888-20110910014745.patch</filename>
            <type>text/plain</type>
            <size>19109</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ5MDMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyYWNmMWVhNTYyMGI4ZTU4
N2NmNGJiM2YxZDViMjQxYTg5NDIwMjg3Li4yZDc1MTQ5NTJhNDEwYmY5NWU2ZWVhY2U3YTNhNGM5
NDU0OTdjMTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjYgQEAKIDIwMTEtMDktMTAgIEFkYW0g
QmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAorICAgICAgICBbQ2hyb21pdW1dIEFkZCBzdGFy
dEZ1bGxzY3JlZW4gdG8gV2ViTWVkaWFQbGF5ZXIgZm9yIEFuZHJvaWQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODg4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBhbiBIVE1MTWVkaWFFbGVtZW50
IG9uIEFuZHJvaWQgZ29lcyBmdWxsc2NyZWVuLCBpdCBuZWVkcyB0aGUKKyAgICAgICAgV2ViTWVk
aWFQbGF5ZXIgdG8gaGVscCBtYWtlIHRoYXQgaGFwcGVuLiAgSXQncyBzbGlnaGx5IHVuY2xlYXIg
dG8gbWUKKyAgICAgICAgd2h5IHRoaXMgd29yayBjYW4ndCBiZSBkb25lIGJ5IHRoZSBDaHJvbWVD
bGllbnQgKGVzc2VudGlhbGx5CisgICAgICAgIHNwZWNpYWwtY2FzaW5nIEhUTUxNZWRpYUVsZW1l
bnQgdGhlcmUpLCBidXQgdGhpcyBhcHByb2FjaCBhbHNvIHNlZW1zCisgICAgICAgIHJlYXNvbmFi
bGUuCisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTE1lZGlhRWxlbWVudDo6ZW50ZXJGdWxsc2NyZWVuKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllcjo6c3RhcnRGdWxsc2NyZWVuKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlOjpzdGFy
dEZ1bGxzY3JlZW4pOgorCisyMDExLTA5LTEwICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5v
cmc+CisKICAgICAgICAgUmVtb3ZlIERvY3VtZW50V3JpdGVyOjpkZXByZWNhdGVkRnJhbWVFbmNv
ZGluZygpCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
Nzg4MgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBjNzNl
ZDUxNDUzOGQ4YjRiZTMxZjA3NmQ0YTIzOTIzNWMwNDUxMTY3Li45YzkzMmMyNGQ4ZWFlZTRkYjRl
M2U0Mjk1ZjU1MDJlYWI2NTM5NWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKQEAgLTI3NjIsNiArMjc2Miw5IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZW50
ZXJGdWxsc2NyZWVuKCkKICAgICAgICAgZG9jdW1lbnQoKS0+cGFnZSgpLT5jaHJvbWUoKS0+Y2xp
ZW50KCktPmVudGVyRnVsbHNjcmVlbkZvck5vZGUodGhpcyk7CiAgICAgICAgIHNjaGVkdWxlRXZl
bnQoZXZlbnROYW1lcygpLndlYmtpdGJlZ2luZnVsbHNjcmVlbkV2ZW50KTsKICAgICB9CisjaWYg
T1MoQU5EUk9JRCkKKyAgICBtX3BsYXllci0+c3RhcnRGdWxsc2NyZWVuKCk7CisjZW5kaWYKIH0K
IAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpleGl0RnVsbHNjcmVlbigpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggZjk3ODk3ZDhj
NzBjZmQ3MGU5MjE5ZGI5NWI4MGM3MzQ2MzZjYmRjZS4uMTA5MDIwYTY5OTI5N2I5ODlkNGY2NjUx
NDkxNzdjNjZmYWY3OTBmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmNwcApAQCAtNDMyLDYgKzQzMiwxMyBAQCB2b2lkIE1lZGlhUGxheWVy
OjpwbGF5KCkKICAgICBtX3ByaXZhdGUtPnBsYXkoKTsKIH0KIAorI2lmIE9TKEFORFJPSUQpCit2
b2lkIE1lZGlhUGxheWVyOjpzdGFydEZ1bGxzY3JlZW4oKQoreworICAgIG1fcHJpdmF0ZS0+c3Rh
cnRGdWxsc2NyZWVuKCk7Cit9CisjZW5kaWYKKwogdm9pZCBNZWRpYVBsYXllcjo6cGF1c2UoKQog
ewogICAgIG1fcHJpdmF0ZS0+cGF1c2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IGQ2YWU0MjE3ZTZlZTEyZjg5NDYzMmNiYWQwNWI4
Y2ZlMTgwOTZlYzcuLmQ3NTg4MzAxMmEyN2NiMDU3MWQ0ODRlYzgyZjNhNTZjNzNiOWQxNzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAt
MjI1LDYgKzIyNSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNvdXJjZUVuZE9mU3RyZWFtKEVuZE9m
U3RyZWFtU3RhdHVzKTsKICNlbmRpZgogCisjaWYgT1MoQU5EUk9JRCkKKyAgICB2b2lkIHN0YXJ0
RnVsbHNjcmVlbigpOworI2VuZGlmCiAgICAgYm9vbCBwYXVzZWQoKSBjb25zdDsKICAgICBib29s
IHNlZWtpbmcoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAppbmRleCA2NjBiODg3MjJmNWI3ZjVlMjVhMjY3
YzA0OTI1ZmIwMDg2Yzk3NzA2Li5kMjVlZWFkMTdiNzZlOTg5OGRmNjQ0ZTU5YTgzNzlmZmIzOGM5
MDU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllclByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllclByaXZhdGUuaApAQCAtMTA4LDYgKzEwOCw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IGJvb2wgY2FuTG9hZFBvc3RlcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVh
bCB2b2lkIHNldFBvc3Rlcihjb25zdCBTdHJpbmcmKSB7IH0KIAorI2lmIE9TKEFORFJPSUQpCisg
ICAgdmlydHVhbCB2b2lkIHN0YXJ0RnVsbHNjcmVlbigpIHsgfQorI2VuZGlmCiAjaWYgRU5BQkxF
KFBMVUdJTl9QUk9YWV9GT1JfVklERU8pCiAgICAgdmlydHVhbCB2b2lkIGRlbGl2ZXJOb3RpZmlj
YXRpb24oTWVkaWFQbGF5ZXJQcm94eU5vdGlmaWNhdGlvblR5cGUpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgc2V0TWVkaWFQbGF5ZXJQcm94eShXZWJNZWRpYVBsYXllclByb3h5KikgPSAwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBiMTNkZTZiZDE2YjgxZTQyNzJmNWY0N2E3OWY1NjBk
NTRkODNlOGE0Li40ZTgwY2Q4NzA0MjVjYjFhMTE4Y2U4YmI3NTZmYjVjYjRlZGU5YzNjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDYyIEBACiAyMDExLTA5LTEwICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKKyAgICAgICAgW0Nocm9taXVtXSBBZGQgc3Rh
cnRGdWxsc2NyZWVuIHRvIFdlYk1lZGlhUGxheWVyIGZvciBBbmRyb2lkCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg4OAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBsdW1iIHN0YXJ0RnVsbHNjcmVlbiBv
dXQgdG8gdGhlIGVtYmVkZGVyLgorCisgICAgICAgICogcHVibGljL1dlYk1lZGlhUGxheWVyLmg6
CisgICAgICAgICogc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6bG9hZEludGVybmFsKToKKyAgICAgICAg
KFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpjYW5jZWxMb2FkKToKKyAgICAgICAg
KFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpwbGF5KToKKyAgICAgICAgKFdlYktp
dDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpzdGFydEZ1bGxzY3JlZW4pOgorICAgICAgICAo
V2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnBhdXNlKToKKyAgICAgICAgKFdlYktp
dDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpzb3VyY2VBcHBlbmQpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnNvdXJjZUVuZE9mU3RyZWFtKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpuYXR1cmFsU2l6ZSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6aGFzVmlkZW8pOgorICAgICAg
ICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6Omhhc0F1ZGlvKToKKyAgICAgICAg
KFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpzZXRWaXNpYmxlKToKKyAgICAgICAg
KFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpkdXJhdGlvbik6CisgICAgICAgIChX
ZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6Y3VycmVudFRpbWUpOgorICAgICAgICAo
V2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnNlZWspOgorICAgICAgICAoV2ViS2l0
OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnNlZWtpbmcpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnNldEVuZFRpbWUpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnNldFJhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJN
ZWRpYVBsYXllckNsaWVudEltcGw6OnBhdXNlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlh
UGxheWVyQ2xpZW50SW1wbDo6c3VwcG9ydHNGdWxsc2NyZWVuKToKKyAgICAgICAgKFdlYktpdDo6
V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpzdXBwb3J0c1NhdmUpOgorICAgICAgICAoV2ViS2l0
OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnNldFZvbHVtZSk6CisgICAgICAgIChXZWJLaXQ6
OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6bmV0d29ya1N0YXRlKToKKyAgICAgICAgKFdlYktp
dDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpyZWFkeVN0YXRlKToKKyAgICAgICAgKFdlYktp
dDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjptYXhUaW1lU2Vla2FibGUpOgorICAgICAgICAo
V2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OmJ1ZmZlcmVkKToKKyAgICAgICAgKFdl
YktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpkYXRhUmF0ZSk6CisgICAgICAgIChXZWJL
aXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6dG90YWxCeXRlc0tub3duKToKKyAgICAgICAg
KFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjp0b3RhbEJ5dGVzKToKKyAgICAgICAg
KFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpieXRlc0xvYWRlZCk6CisgICAgICAg
IChXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6c2V0U2l6ZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRl
eHQpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnNldFByZWxv
YWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6Omhhc1Npbmds
ZVNlY3VyaXR5T3JpZ2luKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJ
bXBsOjptb3ZpZUxvYWRUeXBlKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGll
bnRJbXBsOjptZWRpYVRpbWVGb3JUaW1lVmFsdWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRp
YVBsYXllckNsaWVudEltcGw6OmRlY29kZWRGcmFtZUNvdW50KToKKyAgICAgICAgKFdlYktpdDo6
V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpkcm9wcGVkRnJhbWVDb3VudCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6YXVkaW9EZWNvZGVkQnl0ZUNvdW50KToK
KyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjp2aWRlb0RlY29kZWRC
eXRlQ291bnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OmF1
ZGlvU291cmNlUHJvdmlkZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVu
dEltcGw6OmdldEN1cnJlbnRGcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVy
Q2xpZW50SW1wbDo6cHV0Q3VycmVudEZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQ
bGF5ZXJDbGllbnRJbXBsOjpzdGFydERlbGF5ZWRMb2FkKToKKyAgICAgICAgICAgIC0gRml4IHN0
eWxlIG5pdC4KKyAgICAgICAgKiBzcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmg6CisKKzIw
MTEtMDktMTAgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKwogICAgICAgICBbQ2hy
b21pdW1dIEFkZCBtb3JlIGtleSBjb2RlcyB0byBXZWJJbnB1dEV2ZW50IGZvciBBbmRyb2lkCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg4NwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJNZWRpYVBsYXllci5o
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTWVkaWFQbGF5ZXIuaAppbmRleCAx
ZGI1NGQzNDhiMTI3OTUyZjA3NzRlMTg4NzVmNWNjYzM5NDRlNGUzLi4yYzgwNmFmZjZmZjcxOTJi
NzgxNzgyMmY1MWE1NTViYTBmZTVkY2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJNZWRpYVBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYk1lZGlhUGxheWVyLmgKQEAgLTEwMCw2ICsxMDAsOSBAQCBwdWJsaWM6CiAgICAg
Ly8gUGxheWJhY2sgY29udHJvbHMuCiAgICAgdmlydHVhbCB2b2lkIHBsYXkoKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIHBhdXNlKCkgPSAwOworI2lmIGRlZmluZWQoQU5EUk9JRCkKKyAgICB2aXJ0
dWFsIHZvaWQgc3RhcnRGdWxsc2NyZWVuKCkgPSAwOworI2VuZGlmCiAgICAgdmlydHVhbCBib29s
IHN1cHBvcnRzRnVsbHNjcmVlbigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9y
dHNTYXZlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZWVrKGZsb2F0IHNlY29uZHMp
ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxh
eWVyQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBs
YXllckNsaWVudEltcGwuY3BwCmluZGV4IGNlNTFhZmNiNWRiYWY5YzY1NDY3YzJiNzUwMjM0ZGYy
MzJhZjFiOGIuLjRjMjY4NWIzYjE0ZDk0NTc2YzU3NjdmZTQ2NTFlZjcwNzhmYzIzZTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1w
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGll
bnRJbXBsLmNwcApAQCAtMjM4LDEzICsyMzgsMTMgQEAgdm9pZCBXZWJNZWRpYVBsYXllckNsaWVu
dEltcGw6OmxvYWRJbnRlcm5hbCgpCiB7CiAgICAgRnJhbWUqIGZyYW1lID0gc3RhdGljX2Nhc3Q8
SFRNTE1lZGlhRWxlbWVudCo+KG1fbWVkaWFQbGF5ZXItPm1lZGlhUGxheWVyQ2xpZW50KCkpLT5k
b2N1bWVudCgpLT5mcmFtZSgpOwogICAgIG1fd2ViTWVkaWFQbGF5ZXIgPSBjcmVhdGVXZWJNZWRp
YVBsYXllcih0aGlzLCBmcmFtZSk7Ci0gICAgaWYgKG1fd2ViTWVkaWFQbGF5ZXIuZ2V0KCkpCisg
ICAgaWYgKG1fd2ViTWVkaWFQbGF5ZXIpCiAgICAgICAgIG1fd2ViTWVkaWFQbGF5ZXItPmxvYWQo
S1VSTChQYXJzZWRVUkxTdHJpbmcsIG1fdXJsKSk7CiB9CiAKIHZvaWQgV2ViTWVkaWFQbGF5ZXJD
bGllbnRJbXBsOjpjYW5jZWxMb2FkKCkKIHsKLSAgICBpZiAobV93ZWJNZWRpYVBsYXllci5nZXQo
KSkKKyAgICBpZiAobV93ZWJNZWRpYVBsYXllcikKICAgICAgICAgbV93ZWJNZWRpYVBsYXllci0+
Y2FuY2VsTG9hZCgpOwogfQogCkBAIC0yNjYsMjcgKzI2NiwzNSBAQCBQbGF0Zm9ybU1lZGlhIFdl
Yk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6cGxhdGZvcm1NZWRpYSgpIGNvbnN0CiAKIHZvaWQgV2Vi
TWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpwbGF5KCkKIHsKLSAgICBpZiAobV93ZWJNZWRpYVBsYXll
ci5nZXQoKSkKKyAgICBpZiAobV93ZWJNZWRpYVBsYXllcikKICAgICAgICAgbV93ZWJNZWRpYVBs
YXllci0+cGxheSgpOwogfQogCisjaWYgT1MoQU5EUk9JRCkKK3ZvaWQgV2ViTWVkaWFQbGF5ZXJD
bGllbnRJbXBsOjpzdGFydEZ1bGxzY3JlZW4oKQoreworICAgIGlmIChtX3dlYk1lZGlhUGxheWVy
KQorICAgICAgICBtX3dlYk1lZGlhUGxheWVyLT5zdGFydEZ1bGxzY3JlZW4oKTsKK30KKyNlbmRp
ZgorCiB2b2lkIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6cGF1c2UoKQogewotICAgIGlmICht
X3dlYk1lZGlhUGxheWVyLmdldCgpKQorICAgIGlmIChtX3dlYk1lZGlhUGxheWVyKQogICAgICAg
ICBtX3dlYk1lZGlhUGxheWVyLT5wYXVzZSgpOwogfQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJD
RSkKIGJvb2wgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpzb3VyY2VBcHBlbmQoY29uc3QgdW5z
aWduZWQgY2hhciogZGF0YSwgdW5zaWduZWQgbGVuZ3RoKQogewotICAgIGlmIChtX3dlYk1lZGlh
UGxheWVyLmdldCgpKQorICAgIGlmIChtX3dlYk1lZGlhUGxheWVyKQogICAgICAgICByZXR1cm4g
bV93ZWJNZWRpYVBsYXllci0+c291cmNlQXBwZW5kKGRhdGEsIGxlbmd0aCk7CiAgICAgcmV0dXJu
IGZhbHNlOwogfQogCiB2b2lkIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6c291cmNlRW5kT2ZT
dHJlYW0oV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OkVuZE9mU3RyZWFtU3RhdHVzIHN0YXR1cykKIHsK
LSAgICBpZiAobV93ZWJNZWRpYVBsYXllci5nZXQoKSkKKyAgICBpZiAobV93ZWJNZWRpYVBsYXll
cikKICAgICAgICAgbV93ZWJNZWRpYVBsYXllci0+c291cmNlRW5kT2ZTdHJlYW0oc3RhdGljX2Nh
c3Q8V2ViTWVkaWFQbGF5ZXI6OkVuZE9mU3RyZWFtU3RhdHVzPihzdGF0dXMpKTsKIH0KICNlbmRp
ZgpAQCAtMjk5LDEyMSArMzA3LDEyMSBAQCB2b2lkIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6
cHJlcGFyZVRvUGxheSgpCiAKIEludFNpemUgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpuYXR1
cmFsU2l6ZSgpIGNvbnN0CiB7Ci0gICAgaWYgKG1fd2ViTWVkaWFQbGF5ZXIuZ2V0KCkpCisgICAg
aWYgKG1fd2ViTWVkaWFQbGF5ZXIpCiAgICAgICAgIHJldHVybiBtX3dlYk1lZGlhUGxheWVyLT5u
YXR1cmFsU2l6ZSgpOwogICAgIHJldHVybiBJbnRTaXplKCk7CiB9CiAKIGJvb2wgV2ViTWVkaWFQ
bGF5ZXJDbGllbnRJbXBsOjpoYXNWaWRlbygpIGNvbnN0CiB7Ci0gICAgaWYgKG1fd2ViTWVkaWFQ
bGF5ZXIuZ2V0KCkpCisgICAgaWYgKG1fd2ViTWVkaWFQbGF5ZXIpCiAgICAgICAgIHJldHVybiBt
X3dlYk1lZGlhUGxheWVyLT5oYXNWaWRlbygpOwogICAgIHJldHVybiBmYWxzZTsKIH0KIAogYm9v
bCBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6Omhhc0F1ZGlvKCkgY29uc3QKIHsKLSAgICBpZiAo
bV93ZWJNZWRpYVBsYXllci5nZXQoKSkKKyAgICBpZiAobV93ZWJNZWRpYVBsYXllcikKICAgICAg
ICAgcmV0dXJuIG1fd2ViTWVkaWFQbGF5ZXItPmhhc0F1ZGlvKCk7CiAgICAgcmV0dXJuIGZhbHNl
OwogfQogCiB2b2lkIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6c2V0VmlzaWJsZShib29sIHZp
c2libGUpCiB7Ci0gICAgaWYgKG1fd2ViTWVkaWFQbGF5ZXIuZ2V0KCkpCisgICAgaWYgKG1fd2Vi
TWVkaWFQbGF5ZXIpCiAgICAgICAgIG1fd2ViTWVkaWFQbGF5ZXItPnNldFZpc2libGUodmlzaWJs
ZSk7CiB9CiAKIGZsb2F0IFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6ZHVyYXRpb24oKSBjb25z
dAogewotICAgIGlmIChtX3dlYk1lZGlhUGxheWVyLmdldCgpKQorICAgIGlmIChtX3dlYk1lZGlh
UGxheWVyKQogICAgICAgICByZXR1cm4gbV93ZWJNZWRpYVBsYXllci0+ZHVyYXRpb24oKTsKICAg
ICByZXR1cm4gMC4wZjsKIH0KIAogZmxvYXQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpjdXJy
ZW50VGltZSgpIGNvbnN0CiB7Ci0gICAgaWYgKG1fd2ViTWVkaWFQbGF5ZXIuZ2V0KCkpCisgICAg
aWYgKG1fd2ViTWVkaWFQbGF5ZXIpCiAgICAgICAgIHJldHVybiBtX3dlYk1lZGlhUGxheWVyLT5j
dXJyZW50VGltZSgpOwogICAgIHJldHVybiAwLjBmOwogfQogCiB2b2lkIFdlYk1lZGlhUGxheWVy
Q2xpZW50SW1wbDo6c2VlayhmbG9hdCB0aW1lKQogewotICAgIGlmIChtX3dlYk1lZGlhUGxheWVy
LmdldCgpKQorICAgIGlmIChtX3dlYk1lZGlhUGxheWVyKQogICAgICAgICBtX3dlYk1lZGlhUGxh
eWVyLT5zZWVrKHRpbWUpOwogfQogCiBib29sIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6c2Vl
a2luZygpIGNvbnN0CiB7Ci0gICAgaWYgKG1fd2ViTWVkaWFQbGF5ZXIuZ2V0KCkpCisgICAgaWYg
KG1fd2ViTWVkaWFQbGF5ZXIpCiAgICAgICAgIHJldHVybiBtX3dlYk1lZGlhUGxheWVyLT5zZWVr
aW5nKCk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCiB2b2lkIFdlYk1lZGlhUGxheWVyQ2xpZW50
SW1wbDo6c2V0RW5kVGltZShmbG9hdCB0aW1lKQogewotICAgIGlmIChtX3dlYk1lZGlhUGxheWVy
LmdldCgpKQorICAgIGlmIChtX3dlYk1lZGlhUGxheWVyKQogICAgICAgICBtX3dlYk1lZGlhUGxh
eWVyLT5zZXRFbmRUaW1lKHRpbWUpOwogfQogCiB2b2lkIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1w
bDo6c2V0UmF0ZShmbG9hdCByYXRlKQogewotICAgIGlmIChtX3dlYk1lZGlhUGxheWVyLmdldCgp
KQorICAgIGlmIChtX3dlYk1lZGlhUGxheWVyKQogICAgICAgICBtX3dlYk1lZGlhUGxheWVyLT5z
ZXRSYXRlKHJhdGUpOwogfQogCiBib29sIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6cGF1c2Vk
KCkgY29uc3QKIHsKLSAgICBpZiAobV93ZWJNZWRpYVBsYXllci5nZXQoKSkKKyAgICBpZiAobV93
ZWJNZWRpYVBsYXllcikKICAgICAgICAgcmV0dXJuIG1fd2ViTWVkaWFQbGF5ZXItPnBhdXNlZCgp
OwogICAgIHJldHVybiBmYWxzZTsKIH0KIAogYm9vbCBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6
OnN1cHBvcnRzRnVsbHNjcmVlbigpIGNvbnN0CiB7Ci0gICAgaWYgKG1fd2ViTWVkaWFQbGF5ZXIu
Z2V0KCkpCisgICAgaWYgKG1fd2ViTWVkaWFQbGF5ZXIpCiAgICAgICAgIHJldHVybiBtX3dlYk1l
ZGlhUGxheWVyLT5zdXBwb3J0c0Z1bGxzY3JlZW4oKTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAK
IGJvb2wgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpzdXBwb3J0c1NhdmUoKSBjb25zdAogewot
ICAgIGlmIChtX3dlYk1lZGlhUGxheWVyLmdldCgpKQorICAgIGlmIChtX3dlYk1lZGlhUGxheWVy
KQogICAgICAgICByZXR1cm4gbV93ZWJNZWRpYVBsYXllci0+c3VwcG9ydHNTYXZlKCk7CiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCiB2b2lkIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6c2V0Vm9s
dW1lKGZsb2F0IHZvbHVtZSkKIHsKLSAgICBpZiAobV93ZWJNZWRpYVBsYXllci5nZXQoKSkKKyAg
ICBpZiAobV93ZWJNZWRpYVBsYXllcikKICAgICAgICAgbV93ZWJNZWRpYVBsYXllci0+c2V0Vm9s
dW1lKHZvbHVtZSk7CiB9CiAKIE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGUgV2ViTWVkaWFQbGF5
ZXJDbGllbnRJbXBsOjpuZXR3b3JrU3RhdGUoKSBjb25zdAogewotICAgIGlmIChtX3dlYk1lZGlh
UGxheWVyLmdldCgpKQorICAgIGlmIChtX3dlYk1lZGlhUGxheWVyKQogICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8TWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZT4obV93ZWJNZWRpYVBsYXllci0+
bmV0d29ya1N0YXRlKCkpOwogICAgIHJldHVybiBNZWRpYVBsYXllcjo6RW1wdHk7CiB9CiAKIE1l
ZGlhUGxheWVyOjpSZWFkeVN0YXRlIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6cmVhZHlTdGF0
ZSgpIGNvbnN0CiB7Ci0gICAgaWYgKG1fd2ViTWVkaWFQbGF5ZXIuZ2V0KCkpCisgICAgaWYgKG1f
d2ViTWVkaWFQbGF5ZXIpCiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxNZWRpYVBsYXllcjo6
UmVhZHlTdGF0ZT4obV93ZWJNZWRpYVBsYXllci0+cmVhZHlTdGF0ZSgpKTsKICAgICByZXR1cm4g
TWVkaWFQbGF5ZXI6OkhhdmVOb3RoaW5nOwogfQogCiBmbG9hdCBXZWJNZWRpYVBsYXllckNsaWVu
dEltcGw6Om1heFRpbWVTZWVrYWJsZSgpIGNvbnN0CiB7Ci0gICAgaWYgKG1fd2ViTWVkaWFQbGF5
ZXIuZ2V0KCkpCisgICAgaWYgKG1fd2ViTWVkaWFQbGF5ZXIpCiAgICAgICAgIHJldHVybiBtX3dl
Yk1lZGlhUGxheWVyLT5tYXhUaW1lU2Vla2FibGUoKTsKICAgICByZXR1cm4gMC4wZjsKIH0KIAog
UGFzc1JlZlB0cjxUaW1lUmFuZ2VzPiBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OmJ1ZmZlcmVk
KCkgY29uc3QKIHsKLSAgICBpZiAobV93ZWJNZWRpYVBsYXllci5nZXQoKSkgeworICAgIGlmICht
X3dlYk1lZGlhUGxheWVyKSB7CiAgICAgICAgIGNvbnN0IFdlYlRpbWVSYW5nZXMmIHdlYlJhbmdl
cyA9IG1fd2ViTWVkaWFQbGF5ZXItPmJ1ZmZlcmVkKCk7CiAKICAgICAgICAgLy8gRklYTUU6IFNh
dmUgdGhlIHRpbWUgcmFuZ2VzIGluIGEgbWVtYmVyIHZhcmlhYmxlIGFuZCB1cGRhdGUgaXQgd2hl
biBuZWVkZWQuCkBAIC00MjcsMzUgKzQzNSwzNSBAQCBQYXNzUmVmUHRyPFRpbWVSYW5nZXM+IFdl
Yk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6YnVmZmVyZWQoKSBjb25zdAogCiBpbnQgV2ViTWVkaWFQ
bGF5ZXJDbGllbnRJbXBsOjpkYXRhUmF0ZSgpIGNvbnN0CiB7Ci0gICAgaWYgKG1fd2ViTWVkaWFQ
bGF5ZXIuZ2V0KCkpCisgICAgaWYgKG1fd2ViTWVkaWFQbGF5ZXIpCiAgICAgICAgIHJldHVybiBt
X3dlYk1lZGlhUGxheWVyLT5kYXRhUmF0ZSgpOwogICAgIHJldHVybiAwOwogfQogCiBib29sIFdl
Yk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6dG90YWxCeXRlc0tub3duKCkgY29uc3QKIHsKLSAgICBp
ZiAobV93ZWJNZWRpYVBsYXllci5nZXQoKSkKKyAgICBpZiAobV93ZWJNZWRpYVBsYXllcikKICAg
ICAgICAgcmV0dXJuIG1fd2ViTWVkaWFQbGF5ZXItPnRvdGFsQnl0ZXNLbm93bigpOwogICAgIHJl
dHVybiBmYWxzZTsKIH0KIAogdW5zaWduZWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjp0b3Rh
bEJ5dGVzKCkgY29uc3QKIHsKLSAgICBpZiAobV93ZWJNZWRpYVBsYXllci5nZXQoKSkKKyAgICBp
ZiAobV93ZWJNZWRpYVBsYXllcikKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVk
PihtX3dlYk1lZGlhUGxheWVyLT50b3RhbEJ5dGVzKCkpOwogICAgIHJldHVybiAwOwogfQogCiB1
bnNpZ25lZCBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OmJ5dGVzTG9hZGVkKCkgY29uc3QKIHsK
LSAgICBpZiAobV93ZWJNZWRpYVBsYXllci5nZXQoKSkKKyAgICBpZiAobV93ZWJNZWRpYVBsYXll
cikKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkPihtX3dlYk1lZGlhUGxheWVy
LT5ieXRlc0xvYWRlZCgpKTsKICAgICByZXR1cm4gMDsKIH0KIAogdm9pZCBXZWJNZWRpYVBsYXll
ckNsaWVudEltcGw6OnNldFNpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkKIHsKLSAgICBpZiAobV93
ZWJNZWRpYVBsYXllci5nZXQoKSkKKyAgICBpZiAobV93ZWJNZWRpYVBsYXllcikKICAgICAgICAg
bV93ZWJNZWRpYVBsYXllci0+c2V0U2l6ZShXZWJTaXplKHNpemUud2lkdGgoKSwgc2l6ZS5oZWln
aHQoKSkpOwogfQogCkBAIC00NzUsNyArNDgzLDcgQEAgdm9pZCBXZWJNZWRpYVBsYXllckNsaWVu
dEltcGw6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGUK
ICAgICAvLyBOb3JtYWxseSBHcmFwaGljc0NvbnRleHQgb3BlcmF0aW9ucyBkbyBub3RoaW5nIHdo
ZW4gcGFpbnRpbmcgaXMgZGlzYWJsZWQuCiAgICAgLy8gU2luY2Ugd2UncmUgYWNjZXNzaW5nIHBs
YXRmb3JtQ29udGV4dCgpIGRpcmVjdGx5IHdlIGhhdmUgdG8gbWFudWFsbHkKICAgICAvLyBjaGVj
ay4KLSAgICBpZiAobV93ZWJNZWRpYVBsYXllci5nZXQoKSAmJiAhY29udGV4dC0+cGFpbnRpbmdE
aXNhYmxlZCgpKSB7CisgICAgaWYgKG1fd2ViTWVkaWFQbGF5ZXIgJiYgIWNvbnRleHQtPnBhaW50
aW5nRGlzYWJsZWQoKSkgewogI2lmIFdFQktJVF9VU0lOR19TS0lBCiAgICAgICAgIFBsYXRmb3Jt
R3JhcGhpY3NDb250ZXh0KiBwbGF0Zm9ybUNvbnRleHQgPSBjb250ZXh0LT5wbGF0Zm9ybUNvbnRl
eHQoKTsKICAgICAgICAgV2ViQ2FudmFzKiBjYW52YXMgPSBwbGF0Zm9ybUNvbnRleHQtPmNhbnZh
cygpOwpAQCAtNDk3LDcgKzUwNSw3IEBAIHZvaWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpz
ZXRQcmVsb2FkKE1lZGlhUGxheWVyOjpQcmVsb2FkIHByZWxvYWQpCiB7CiAgICAgbV9wcmVsb2Fk
ID0gcHJlbG9hZDsKIAotICAgIGlmIChtX3dlYk1lZGlhUGxheWVyLmdldCgpKQorICAgIGlmICht
X3dlYk1lZGlhUGxheWVyKQogICAgICAgICBtX3dlYk1lZGlhUGxheWVyLT5zZXRQcmVsb2FkKHN0
YXRpY19jYXN0PFdlYk1lZGlhUGxheWVyOjpQcmVsb2FkPihwcmVsb2FkKSk7CiAKICAgICBpZiAo
bV9kZWxheWluZ0xvYWQgJiYgbV9wcmVsb2FkICE9IE1lZGlhUGxheWVyOjpOb25lKQpAQCAtNTA2
LDE0ICs1MTQsMTQgQEAgdm9pZCBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnNldFByZWxvYWQo
TWVkaWFQbGF5ZXI6OlByZWxvYWQgcHJlbG9hZCkKIAogYm9vbCBXZWJNZWRpYVBsYXllckNsaWVu
dEltcGw6Omhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCkgY29uc3QKIHsKLSAgICBpZiAobV93ZWJN
ZWRpYVBsYXllci5nZXQoKSkKKyAgICBpZiAobV93ZWJNZWRpYVBsYXllcikKICAgICAgICAgcmV0
dXJuIG1fd2ViTWVkaWFQbGF5ZXItPmhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCk7CiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCiBNZWRpYVBsYXllcjo6TW92aWVMb2FkVHlwZSBXZWJNZWRpYVBsYXll
ckNsaWVudEltcGw6Om1vdmllTG9hZFR5cGUoKSBjb25zdAogewotICAgIGlmIChtX3dlYk1lZGlh
UGxheWVyLmdldCgpKQorICAgIGlmIChtX3dlYk1lZGlhUGxheWVyKQogICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8TWVkaWFQbGF5ZXI6Ok1vdmllTG9hZFR5cGU+KAogICAgICAgICAgICAgbV93
ZWJNZWRpYVBsYXllci0+bW92aWVMb2FkVHlwZSgpKTsKICAgICByZXR1cm4gTWVkaWFQbGF5ZXI6
OlVua25vd247CkBAIC01MjEsNDIgKzUyOSw0MiBAQCBNZWRpYVBsYXllcjo6TW92aWVMb2FkVHlw
ZSBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6Om1vdmllTG9hZFR5cGUoKSBjb25zdAogCiBmbG9h
dCBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6Om1lZGlhVGltZUZvclRpbWVWYWx1ZShmbG9hdCB0
aW1lVmFsdWUpIGNvbnN0CiB7Ci0gICAgaWYgKG1fd2ViTWVkaWFQbGF5ZXIuZ2V0KCkpCisgICAg
aWYgKG1fd2ViTWVkaWFQbGF5ZXIpCiAgICAgICAgIHJldHVybiBtX3dlYk1lZGlhUGxheWVyLT5t
ZWRpYVRpbWVGb3JUaW1lVmFsdWUodGltZVZhbHVlKTsKICAgICByZXR1cm4gdGltZVZhbHVlOwog
fQogCiB1bnNpZ25lZCBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OmRlY29kZWRGcmFtZUNvdW50
KCkgY29uc3QKIHsKLSAgICBpZiAobV93ZWJNZWRpYVBsYXllci5nZXQoKSkKKyAgICBpZiAobV93
ZWJNZWRpYVBsYXllcikKICAgICAgICAgcmV0dXJuIG1fd2ViTWVkaWFQbGF5ZXItPmRlY29kZWRG
cmFtZUNvdW50KCk7CiAgICAgcmV0dXJuIDA7CiB9CiAKIHVuc2lnbmVkIFdlYk1lZGlhUGxheWVy
Q2xpZW50SW1wbDo6ZHJvcHBlZEZyYW1lQ291bnQoKSBjb25zdAogewotICAgIGlmIChtX3dlYk1l
ZGlhUGxheWVyLmdldCgpKQorICAgIGlmIChtX3dlYk1lZGlhUGxheWVyKQogICAgICAgICByZXR1
cm4gbV93ZWJNZWRpYVBsYXllci0+ZHJvcHBlZEZyYW1lQ291bnQoKTsKICAgICByZXR1cm4gMDsK
IH0KIAogdW5zaWduZWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjphdWRpb0RlY29kZWRCeXRl
Q291bnQoKSBjb25zdAogewotICAgIGlmIChtX3dlYk1lZGlhUGxheWVyLmdldCgpKQorICAgIGlm
IChtX3dlYk1lZGlhUGxheWVyKQogICAgICAgICByZXR1cm4gbV93ZWJNZWRpYVBsYXllci0+YXVk
aW9EZWNvZGVkQnl0ZUNvdW50KCk7CiAgICAgcmV0dXJuIDA7CiB9CiAKIHVuc2lnbmVkIFdlYk1l
ZGlhUGxheWVyQ2xpZW50SW1wbDo6dmlkZW9EZWNvZGVkQnl0ZUNvdW50KCkgY29uc3QKIHsKLSAg
ICBpZiAobV93ZWJNZWRpYVBsYXllci5nZXQoKSkKKyAgICBpZiAobV93ZWJNZWRpYVBsYXllcikK
ICAgICAgICAgcmV0dXJuIG1fd2ViTWVkaWFQbGF5ZXItPnZpZGVvRGVjb2RlZEJ5dGVDb3VudCgp
OwogICAgIHJldHVybiAwOwogfQogCiBXZWJDb3JlOjpBdWRpb1NvdXJjZVByb3ZpZGVyKiBXZWJN
ZWRpYVBsYXllckNsaWVudEltcGw6OmF1ZGlvU291cmNlUHJvdmlkZXIoKQogewotICAgIGlmICht
X3dlYk1lZGlhUGxheWVyLmdldCgpKSB7CisgICAgaWYgKG1fd2ViTWVkaWFQbGF5ZXIpIHsKICAg
ICAgICAgLy8gV3JhcCB0aGUgV2ViQXVkaW9Tb3VyY2VQcm92aWRlciBpbiB0aGUgZm9ybSBvZiBX
ZWJDb3JlOjpBdWRpb1NvdXJjZVByb3ZpZGVyLgogICAgICAgICBtX2F1ZGlvU291cmNlUHJvdmlk
ZXIuaW5pdGlhbGl6ZShtX3dlYk1lZGlhUGxheWVyLT5hdWRpb1NvdXJjZVByb3ZpZGVyKCkpOwog
ICAgICAgICByZXR1cm4gJm1fYXVkaW9Tb3VyY2VQcm92aWRlcjsKQEAgLTU3OCw3ICs1ODYsNyBA
QCBib29sIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6YWNjZWxlcmF0ZWRSZW5kZXJpbmdJblVz
ZSgpCiBWaWRlb0ZyYW1lQ2hyb21pdW0qIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6Z2V0Q3Vy
cmVudEZyYW1lKCkKIHsKICAgICBWaWRlb0ZyYW1lQ2hyb21pdW0qIHZpZGVvRnJhbWUgPSAwOwot
ICAgIGlmIChtX3dlYk1lZGlhUGxheWVyLmdldCgpKSB7CisgICAgaWYgKG1fd2ViTWVkaWFQbGF5
ZXIpIHsKICAgICAgICAgV2ViVmlkZW9GcmFtZSogd2Via2l0VmlkZW9GcmFtZSA9IG1fd2ViTWVk
aWFQbGF5ZXItPmdldEN1cnJlbnRGcmFtZSgpOwogICAgICAgICBpZiAod2Via2l0VmlkZW9GcmFt
ZSkKICAgICAgICAgICAgIHZpZGVvRnJhbWUgPSBuZXcgVmlkZW9GcmFtZUNocm9taXVtSW1wbCh3
ZWJraXRWaWRlb0ZyYW1lKTsKQEAgLTU4OSw3ICs1OTcsNyBAQCBWaWRlb0ZyYW1lQ2hyb21pdW0q
IFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6Z2V0Q3VycmVudEZyYW1lKCkKIHZvaWQgV2ViTWVk
aWFQbGF5ZXJDbGllbnRJbXBsOjpwdXRDdXJyZW50RnJhbWUoVmlkZW9GcmFtZUNocm9taXVtKiB2
aWRlb0ZyYW1lKQogewogICAgIGlmICh2aWRlb0ZyYW1lKSB7Ci0gICAgICAgIGlmIChtX3dlYk1l
ZGlhUGxheWVyLmdldCgpKSB7CisgICAgICAgIGlmIChtX3dlYk1lZGlhUGxheWVyKSB7CiAgICAg
ICAgICAgICBtX3dlYk1lZGlhUGxheWVyLT5wdXRDdXJyZW50RnJhbWUoCiAgICAgICAgICAgICAg
ICAgVmlkZW9GcmFtZUNocm9taXVtSW1wbDo6dG9XZWJWaWRlb0ZyYW1lKHZpZGVvRnJhbWUpKTsK
ICAgICAgICAgfQpAQCAtNjQ1LDcgKzY1Myw3IEBAIE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGUg
V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpzdXBwb3J0c1R5cGUoY29uc3QgU3RyaW5nJiB0CiB2
b2lkIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6c3RhcnREZWxheWVkTG9hZCgpCiB7CiAgICAg
QVNTRVJUKG1fZGVsYXlpbmdMb2FkKTsKLSAgICBBU1NFUlQoIW1fd2ViTWVkaWFQbGF5ZXIuZ2V0
KCkpOworICAgIEFTU0VSVCghbV93ZWJNZWRpYVBsYXllcik7CiAKICAgICBtX2RlbGF5aW5nTG9h
ZCA9IGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJN
ZWRpYVBsYXllckNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1l
ZGlhUGxheWVyQ2xpZW50SW1wbC5oCmluZGV4IDM1Zjg1NGRjMzgwYzAxODlhZTAzODMwNjMyZTE0
MDFhODZiY2E1YjUuLjE3YmU5Yjc4MWYwYzA2Yjc5ZjMwYjYwNjJlN2EyZDk1NTc2ZThkMTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50
SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xp
ZW50SW1wbC5oCkBAIC05MSw2ICs5MSw5IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIHZpcnR1YWwg
V2ViQ29yZTo6UGxhdGZvcm1NZWRpYSBwbGF0Zm9ybU1lZGlhKCkgY29uc3Q7CiAgICAgdmlydHVh
bCB2b2lkIHBsYXkoKTsKKyNpZiBPUyhBTkRST0lEKQorICAgIHZpcnR1YWwgdm9pZCBzdGFydEZ1
bGxzY3JlZW4oKTsKKyNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBwYXVzZSgpOwogICAgIHZpcnR1
YWwgdm9pZCBwcmVwYXJlVG9QbGF5KCk7CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRnVsbHNj
cmVlbigpIGNvbnN0Owo=
</data>
<flag name="review"
          id="103544"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>