<?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>213886</bug_id>
          
          <creation_ts>2020-07-02 08:47:19 -0700</creation_ts>
          <short_desc>[WebXR] Retrieve WebGL framebuffer resolution from XR devices</short_desc>
          <delta_ts>2020-07-10 06:29:20 -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>New Bugs</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>208988</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergio Villar Senin">svillar</reporter>
          <assigned_to name="Sergio Villar Senin">svillar</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1668254</commentid>
    <comment_count>0</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2020-07-02 08:47:19 -0700</bug_when>
    <thetext>[WebXR] Retrieve WebGL framebuffer resolution from XR devices</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668259</commentid>
    <comment_count>1</comment_count>
      <attachid>403370</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2020-07-02 09:08:03 -0700</bug_when>
    <thetext>Created attachment 403370
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668497</commentid>
    <comment_count>2</comment_count>
      <attachid>403370</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-07-03 00:02:15 -0700</bug_when>
    <thetext>Comment on attachment 403370
Patch

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

&gt; Source/WebCore/Modules/webxr/WebXRRenderState.h:66
&gt; +    HTMLCanvasElement* m_outputCanvas { nullptr };

Can we use a WeakPtr&lt;HTMLCanvasElement&gt; instead?
It is not set in this patch so it is unclear how should we use it.
Also it seems this is only used for getting the size at the moment. In principle, we could store a size instead.

&gt; Source/WebCore/platform/xr/PlatformXR.h:57
&gt; +    using IntSize = WebCore::IntSize;

Why do we need to redefine it?

&gt; Source/WebCore/platform/xr/openxr/PlatformXROpenXR.cpp:262
&gt; +        XrResult result = xrEnumerateViewConfigurationViews(m_instance, m_systemId, configType, 0, &amp;viewCount, nullptr);

auto?

&gt; Source/WebCore/platform/xr/openxr/PlatformXROpenXR.cpp:278
&gt; +        m_configurationViews.add(configType, configViews);

WTFMove(configViews)

&gt; Source/WebCore/platform/xr/openxr/PlatformXROpenXR.cpp:284
&gt; +    XrViewConfigurationType configType = mode == SessionMode::Inline ? XR_VIEW_CONFIGURATION_TYPE_PRIMARY_MONO : XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO;

auto?

&gt; Source/WebCore/platform/xr/openxr/PlatformXROpenXR.h:55
&gt; +    using ViewConfigurationPropertiesMap = WTF::HashMap&lt;XrViewConfigurationType, XrViewConfigurationProperties, WTF::IntHash&lt;XrViewConfigurationType&gt;, WTF::StrongEnumHashTraits&lt;XrViewConfigurationType&gt;&gt;;

s/WTF:://

&gt; Source/WebCore/platform/xr/openxr/PlatformXROpenXR.h:57
&gt; +    using ViewConfigurationViewsMap = WTF::HashMap&lt;XrViewConfigurationType, Vector&lt;XrViewConfigurationView&gt;, WTF::IntHash&lt;XrViewConfigurationType&gt;, WTF::StrongEnumHashTraits&lt;XrViewConfigurationType&gt;&gt;;

s/WTF:://</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668509</commentid>
    <comment_count>3</comment_count>
      <attachid>403446</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2020-07-03 00:47:21 -0700</bug_when>
    <thetext>Created attachment 403446
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670052</commentid>
    <comment_count>4</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2020-07-09 02:24:42 -0700</bug_when>
    <thetext>(In reply to Sergio Villar Senin from comment #3)
&gt; Created attachment 403446 [details]
&gt; Patch

Kindly ping</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670369</commentid>
    <comment_count>5</comment_count>
      <attachid>403446</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-07-09 23:24:12 -0700</bug_when>
    <thetext>Comment on attachment 403446
Patch

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

&gt; Source/WebCore/platform/xr/openxr/PlatformXROpenXR.h:26
&gt; +#include &lt;wtf/Optional.h&gt;

What is this include for? I don&apos;t see any use of Optional in this header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670404</commentid>
    <comment_count>6</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2020-07-10 04:08:20 -0700</bug_when>
    <thetext>Committed r264215: &lt;https://trac.webkit.org/changeset/264215&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670405</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-10 04:09:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/65328138&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403370</attachid>
            <date>2020-07-02 09:08:03 -0700</date>
            <delta_ts>2020-07-03 00:47:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213886-20200702180802.patch</filename>
            <type>text/plain</type>
            <size>16054</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzODQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTgwZjRhNDczYjM4N2M2
N2UxYmQ5OTYxNmMwZDVlN2U1OTUzYWE3Ni4uZjlkYWVhZTA0NTIyNTVjZDkxNzc4OTQ2ZjQyNmFj
ZTZlZDAwYjc4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIwLTA3LTAyICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtXZWJYUl0g
UmV0cmlldmUgV2ViR0wgZnJhbWVidWZmZXIgcmVzb2x1dGlvbiBmcm9tIFhSIGRldmljZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzg4NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSByZWNvbW1l
bmRlZCBXZWJHTCBmcmFtZWJ1ZmZlciByZXNvbHV0aW9uIHNob3VsZCBiZSByZXRyaWV2ZWQgZnJv
bSB0aGUgYWN0dWFsIFhSIGRldmljZSBiZWluZyB1c2VkLgorICAgICAgICBJbXBsZW1lbnRlZCB0
aGUgT3BlblhSIG1hY2hpbmVyeSB0byByZXRyaWV2ZSBpdCBmcm9tIHRoZSBYUiBzeXN0ZW0uIFdl
IGFyZSBhbHNvIG1vdmluZyB0aGUgbWV0aG9kcyB0aGF0CisgICAgICAgIGNhbGwgdGhlIHBsYXRm
b3JtIGNvZGUgdG8gdGhlIFhSU2Vzc2lvbiBhcyBzcGVjcyBkZWZpbmUsIGluc3RlYWQgb2YgaGF2
aW5nIHRoZW0gaW5zaWRlIHRoZSBYUldlYkdMTGF5ZXIuCisKKyAgICAgICAgRmluYWxseSB0aGlz
IHBhdGNoIGlzIGFsc28gcmVtb3ZpbmcgYSB1bnVzZWQgZGVmaW5pdGlvbiBpbiBPcGVuWFIgcGxh
Zm9ybSBjb2RlIGFuZCBwcm9wZXJseSBpbml0aWFsaXppbmcKKyAgICAgICAgYSBPcGVuWFIgc3Ry
dWN0LiBUaGUgbWlzc2luZyBpbml0aWFsaXphdGlvbiB3YXMgdGhlIHNvdXJjZSBvZiBlcnJvcnMg
d2hlbiBxdWVyeWluZyBhcGkgbGF5ZXIgcHJvcGVydGllcy4KKyAgICAgICAgVGhlIHBhdGNoIGlz
IGFsc28gcHJvcGVybHkgc2V0dGluZyB0aGUgU2Vzc2lvbk1vZGU6OklubGluZSB3aGVuIFhSX1ZJ
RVdfQ09ORklHVVJBVElPTl9UWVBFX1BSSU1BUllfTU9OTworICAgICAgICBpcyBmb3VuZC4gSXQg
dXNlZCB0byBzZXQgU2Vzc2lvbk1vZGU6OkltbWVyc2l2ZUFyIGluc3RlYWQsIGJ1dCB0aGF0J3Mg
d3JvbmcsIHdlIHNob3VsZCBvbmx5IGNhcmUgYWJvdXQKKyAgICAgICAgSW1tZXJzaXZlQXIgc2Vz
c2lvbiBtb2RlIG9uY2UgdGhlIFdlYlhSIEFSIG1vZHVsZSBpcyBpbXBsZW1lbnRlZC4KKworICAg
ICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJSZW5kZXJTdGF0ZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJYUlJlbmRlclN0YXRlOjpvdXRwdXRDYW52YXMgY29uc3QpOiBSZXR1cm4gcmVuZGVy
IHN0YXRlJ3MgY2FudmFzLgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJSZW5kZXJTdGF0
ZS5oOiBBZGRlZCBhIG1fb3V0cHV0Q2FudmFzIG1lbWJlciB3aXRoIGl0cyBnZXR0ZXIuCisgICAg
ICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V2ViWFJTZXNzaW9uOjpuYXRpdmVXZWJHTEZyYW1lYnVmZmVyUmVzb2x1dGlvbiBjb25zdCk6IE1v
dmVkIGZyb20gV2ViWFJXZWJHTExheWVyIGFuZCByZWltcGxlbWVudGVkLgorICAgICAgICAoV2Vi
Q29yZTo6V2ViWFJTZXNzaW9uOjpyZWNvbW1lbmRlZFdlYkdMRnJhbWVidWZmZXJSZXNvbHV0aW9u
IGNvbnN0KTogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uaDoK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSV2ViR0xMYXllci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJYUldlYkdMTGF5ZXI6OldlYlhSV2ViR0xMYXllcik6CisgICAgICAgIChXZWJD
b3JlOjpXZWJYUldlYkdMTGF5ZXI6OmdldE5hdGl2ZUZyYW1lYnVmZmVyU2NhbGVGYWN0b3IpOiBD
YWxsIHRoZSBzZXNzaW9uIHRvIGdldCBuYXRpdmUgYW5kIHJlY29tbWVuZGVkCisgICAgICAgIHJl
c29sdXRpb25zLgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJXZWJHTExheWVyOjpjb21wdXRlTmF0
aXZlV2ViR0xGcmFtZWJ1ZmZlclJlc29sdXRpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6V2ViWFJXZWJHTExheWVyOjpjb21wdXRlUmVjb21tZW5kZWRXZWJHTEZyYW1lYnVmZmVyUmVz
b2x1dGlvbik6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL3hyL1BsYXRmb3JtWFIuaDoKKyAg
ICAgICAgKFBsYXRmb3JtWFI6OkRldmljZTo6cmVjb21tZW5kZWRSZXNvbHV0aW9uKTogTmV3IHZp
cnR1YWwgbWV0aG9kIHdpdGggZGVmYXVsdCBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKiBwbGF0
Zm9ybS94ci9vcGVueHIvUGxhdGZvcm1YUk9wZW5YUi5jcHA6CisgICAgICAgIChQbGF0Zm9ybVhS
OjpJbnN0YW5jZTo6SW1wbDo6ZW51bWVyYXRlQXBpTGF5ZXJQcm9wZXJ0aWVzIGNvbnN0KTogQWRk
ZWQgaW5pdGlhbGl6YXRpb24gb2YgdGhlIFhyQXBpTGF5ZXJQcm9wZXJ0aWVzCisgICAgICAgIG9i
amVjdHMuIFRoZSBjYWxsIHRvIHhyRW51bWVyYXRlQXBpTGF5ZXJQcm9wZXJ0aWVzIHN1Y2NlZWRz
IG5vdy4KKyAgICAgICAgKFBsYXRmb3JtWFI6Ok9wZW5YUkRldmljZTo6T3BlblhSRGV2aWNlKTog
Q2FsbCBlbnVtZXJhdGVDb25maWd1cmF0aW9uVmlld3MoKS4KKyAgICAgICAgKFBsYXRmb3JtWFI6
Ok9wZW5YUkRldmljZTo6Y29sbGVjdFN1cHBvcnRlZFNlc3Npb25Nb2Rlcyk6IEZpbGwgaW4gdGhl
IG1fdmlld0NvbmZpZ3VyYXRpb25Qcm9wZXJ0aWVzIG1hcC4KKyAgICAgICAgKFBsYXRmb3JtWFI6
Ok9wZW5YUkRldmljZTo6ZW51bWVyYXRlQ29uZmlndXJhdGlvblZpZXdzKTogTmV3IG1ldGhvZCB0
aGF0IHJldHJpZXZlcyB0aGUgWFIgZGV2aWNlIHZpZXdzIGZvciBlYWNoCisgICAgICAgIHN1cHBv
cnRlZCBjb25maWd1cmF0aW9uLgorICAgICAgICAoUGxhdGZvcm1YUjo6T3BlblhSRGV2aWNlOjpy
ZWNvbW1lbmRlZFJlc29sdXRpb24pOiBSZXR1cm4gdGhlIHJlY29tbWVuZGVkIHJlc29sdXRpb24g
Zm9yIGEgZ2l2ZW4gU2Vzc2lvbk1vZGUuCisgICAgICAgICogcGxhdGZvcm0veHIvb3BlbnhyL1Bs
YXRmb3JtWFJPcGVuWFIuaDogQWRkZWQgc29tZSBuZXcgbWV0aG9kcyBhbmQgYXR0cmlidXRlcy4K
KwogMjAyMC0wNy0wMiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFtMRkNdW0JGQ10gUmVtb3ZlIHJlZHVuZGFudCBtYXJnaW4tYm9yZGVyLXBhZGRpbmcgd2hlbiBj
b21wdXRpbmcgdGhlIGludHJpbnNpYyB3aWR0aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ4ci9XZWJYUlJlbmRlclN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VieHIvV2ViWFJSZW5kZXJTdGF0ZS5jcHAKaW5kZXggYzBmODk1YjJiMWM1OTY3NmJkY2Y1
ODM1YzA4ZjRiYjA2ZTA4NDdjMC4uYjhkYjcwNTIyYmVhNzY5ZmJjZjI4MjVjZTM1M2FiYTA5M2Q2
ZTQyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlJlbmRl
clN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmVuZGVy
U3RhdGUuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoV0VCWFIpCiAKKyNpbmNs
dWRlICJIVE1MQ2FudmFzRWxlbWVudC5oIgogI2luY2x1ZGUgIldlYlhSV2ViR0xMYXllci5oIgog
I2luY2x1ZGUgIlhSUmVuZGVyU3RhdGVJbml0LmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lu
bGluZXMuaD4KQEAgLTc1LDYgKzc2LDExIEBAIFJlZlB0cjxXZWJYUldlYkdMTGF5ZXI+IFdlYlhS
UmVuZGVyU3RhdGU6OmJhc2VMYXllcigpIGNvbnN0CiAgICAgcmV0dXJuIG1fYmFzZUxheWVyOwog
fQogCitIVE1MQ2FudmFzRWxlbWVudCogV2ViWFJSZW5kZXJTdGF0ZTo6b3V0cHV0Q2FudmFzKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gbV9vdXRwdXRDYW52YXM7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJYUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJSZW5kZXJTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ4ci9XZWJYUlJlbmRlclN0YXRlLmgKaW5kZXggOTVlOTY1NmIxMjJiYjMzYWM0
YzY4OWUwYWE4MjA3NmVmNDdjOGNlMi4uOTQwMzQ4MmYwMWYxNjg2MmU3NWY1MzI0M2MwZTI2NTEw
OTZkY2JiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlJl
bmRlclN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlJlbmRl
clN0YXRlLmgKQEAgLTM2LDYgKzM2LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFz
cyBIVE1MQ2FudmFzRWxlbWVudDsKIGNsYXNzIFdlYlhSV2ViR0xMYXllcjsKIHN0cnVjdCBYUlJl
bmRlclN0YXRlSW5pdDsKIApAQCAtNDksNiArNTAsNyBAQCBwdWJsaWM6CiAgICAgZG91YmxlIGRl
cHRoRmFyKCkgY29uc3Q7CiAgICAgT3B0aW9uYWw8ZG91YmxlPiBpbmxpbmVWZXJ0aWNhbEZpZWxk
T2ZWaWV3KCkgY29uc3Q7CiAgICAgUmVmUHRyPFdlYlhSV2ViR0xMYXllcj4gYmFzZUxheWVyKCkg
Y29uc3Q7CisgICAgSFRNTENhbnZhc0VsZW1lbnQqIG91dHB1dENhbnZhcygpIGNvbnN0OwogCiBw
cml2YXRlOgogICAgIGV4cGxpY2l0IFdlYlhSUmVuZGVyU3RhdGUoT3B0aW9uYWw8ZG91YmxlPiYm
IGZpZWxkT2ZWaWV3KTsKQEAgLTYxLDYgKzYzLDcgQEAgcHJpdmF0ZToKICAgICB9IG1fZGVwdGg7
CiAgICAgT3B0aW9uYWw8ZG91YmxlPiBtX2lubGluZVZlcnRpY2FsRmllbGRPZlZpZXc7IC8vIGlu
IHJhZGlhbnMKICAgICBSZWZQdHI8V2ViWFJXZWJHTExheWVyPiBtX2Jhc2VMYXllcjsKKyAgICBI
VE1MQ2FudmFzRWxlbWVudCogbV9vdXRwdXRDYW52YXMgeyBudWxscHRyIH07CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhS
U2Vzc2lvbi5jcHAKaW5kZXggMWVhNWNhOWZkMjlmNWQ2M2UyODAzNmUyMDUxMjgzYjUyYWZhOWY3
MS4uYTMzMTMxYTJlNWUwN2Q1YTE1N2NiNzFlMjI2NmE5ZmRiMTBjOWE4NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTZXNzaW9uLmNwcApAQCAtMjM4LDYgKzIzOCwy
NCBAQCB2b2lkIFdlYlhSU2Vzc2lvbjo6Y2FuY2VsQW5pbWF0aW9uRnJhbWUodW5zaWduZWQgY2Fs
bGJhY2tJZCkKICAgICAgICAgbV9ydW5uaW5nQ2FsbGJhY2tzW3Bvc2l0aW9uXS0+Y2FuY2VsKCk7
CiB9CiAKKy8vIGh0dHBzOi8vaW1tZXJzaXZlLXdlYi5naXRodWIuaW8vd2VieHIvI25hdGl2ZS13
ZWJnbC1mcmFtZWJ1ZmZlci1yZXNvbHV0aW9uCitJbnRTaXplIFdlYlhSU2Vzc2lvbjo6bmF0aXZl
V2ViR0xGcmFtZWJ1ZmZlclJlc29sdXRpb24oKSBjb25zdAoreworICAgIGlmIChtX21vZGUgPT0g
WFJTZXNzaW9uTW9kZTo6SW5saW5lKSB7CisgICAgICAgIC8vIEZJWE1FOiByZXBsYWNlIHRoZSBj
b25kaXRpb25hbCBieSBBU1NFUlRzIG9uY2Ugd2UgcHJvcGVybHkgaW5pdGlhbGl6ZSB0aGUgb3V0
cHV0Q2FudmFzLgorICAgICAgICByZXR1cm4gbV9hY3RpdmVSZW5kZXJTdGF0ZSAmJiBtX2FjdGl2
ZVJlbmRlclN0YXRlLT5vdXRwdXRDYW52YXMoKSA/IG1fYWN0aXZlUmVuZGVyU3RhdGUtPm91dHB1
dENhbnZhcygpLT5zaXplKCkgOiBJbnRTaXplKDEsIDEpOworICAgIH0KKworICAgIHJldHVybiBy
ZWNvbW1lbmRlZFdlYkdMRnJhbWVidWZmZXJSZXNvbHV0aW9uKCk7Cit9CisKKy8vIGh0dHBzOi8v
aW1tZXJzaXZlLXdlYi5naXRodWIuaW8vd2VieHIvI3JlY29tbWVuZGVkLXdlYmdsLWZyYW1lYnVm
ZmVyLXJlc29sdXRpb24KK0ludFNpemUgV2ViWFJTZXNzaW9uOjpyZWNvbW1lbmRlZFdlYkdMRnJh
bWVidWZmZXJSZXNvbHV0aW9uKCkgY29uc3QKK3sKKyAgICBBU1NFUlQobV9kZXZpY2UpOworICAg
IHJldHVybiBtX2RldmljZS0+cmVjb21tZW5kZWRSZXNvbHV0aW9uKG1fbW9kZSk7Cit9CisKIC8v
IGh0dHBzOi8vaW1tZXJzaXZlLXdlYi5naXRodWIuaW8vd2VieHIvI3NodXQtZG93bi10aGUtc2Vz
c2lvbgogdm9pZCBXZWJYUlNlc3Npb246OnNodXRkb3duKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1dlYlhSU2Vzc2lvbi5oCmluZGV4IDk4YjkyOTM5ODhmODI4NmJhN2YxZTcy
ZTA0MWFmNTQxMTBiY2FjMzAuLjUwMWU5NWNjMmVlNDhkNWVhN2NlZjM2ZTAyMDM0YzViMDZmMDQx
NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTZXNzaW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uaApAQCAt
NzYsMTEgKzc2LDEzIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCByZXF1ZXN0QW5pbWF0aW9uRnJh
bWUoUmVmPFhSRnJhbWVSZXF1ZXN0Q2FsbGJhY2s+JiYpOwogICAgIHZvaWQgY2FuY2VsQW5pbWF0
aW9uRnJhbWUodW5zaWduZWQgY2FsbGJhY2tJZCk7CiAKKyAgICBJbnRTaXplIG5hdGl2ZVdlYkdM
RnJhbWVidWZmZXJSZXNvbHV0aW9uKCkgY29uc3Q7CisgICAgSW50U2l6ZSByZWNvbW1lbmRlZFdl
YkdMRnJhbWVidWZmZXJSZXNvbHV0aW9uKCkgY29uc3Q7CisKICAgICAvLyBFdmVudFRhcmdldC4K
ICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29u
c3QgZmluYWwgeyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCk7IH0KIAogICAgIHZvaWQgZW5kKEVuZFByb21pc2UmJik7Ci0KICAgICBib29sIGVuZGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9lbmRlZDsgfQogCiAgICAgWFJTZXNzaW9uTW9kZSBtb2RlKCkgY29u
c3QgeyByZXR1cm4gbV9tb2RlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSV2ViR0xMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhy
L1dlYlhSV2ViR0xMYXllci5jcHAKaW5kZXggZDkyY2YwOGFiZmQxY2M1ZmJhNTdiNmQyZmM2NDE0
YjczOGRjNjYyYS4uODZkZDExYjAwMTQzYmY4MGVhODFhZTJhZGQ4ZGU4NGRjMDJkMDMzZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUldlYkdMTGF5ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJXZWJHTExheWVyLmNwcApA
QCAtOTEsMTkgKzkxLDYgQEAgRXhjZXB0aW9uT3I8UmVmPFdlYlhSV2ViR0xMYXllcj4+IFdlYlhS
V2ViR0xMYXllcjo6Y3JlYXRlKFJlZjxXZWJYUlNlc3Npb24+JiYgc2UKICAgICApOwogfQogCi0v
LyBodHRwczovL2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlvL3dlYnhyLyNuYXRpdmUtd2ViZ2wtZnJh
bWVidWZmZXItcmVzb2x1dGlvbgotSW50U2l6ZSBXZWJYUldlYkdMTGF5ZXI6OmNvbXB1dGVOYXRp
dmVXZWJHTEZyYW1lYnVmZmVyUmVzb2x1dGlvbigpCi17Ci0gICAgLy8gRklYTUU6IGltcGxlbWVu
dCB0aGlzCi0gICAgcmV0dXJuIHsgMSwgMSB9OwotfQotCi0vLyBodHRwczovL2ltbWVyc2l2ZS13
ZWIuZ2l0aHViLmlvL3dlYnhyLyNyZWNvbW1lbmRlZC13ZWJnbC1mcmFtZWJ1ZmZlci1yZXNvbHV0
aW9uCi1JbnRTaXplIFdlYlhSV2ViR0xMYXllcjo6Y29tcHV0ZVJlY29tbWVuZGVkV2ViR0xGcmFt
ZWJ1ZmZlclJlc29sdXRpb24oKQotewotICAgIHJldHVybiBjb21wdXRlTmF0aXZlV2ViR0xGcmFt
ZWJ1ZmZlclJlc29sdXRpb24oKTsKLX0KLQogV2ViWFJXZWJHTExheWVyOjpXZWJYUldlYkdMTGF5
ZXIoUmVmPFdlYlhSU2Vzc2lvbj4mJiBzZXNzaW9uLCBXZWJYUlJlbmRlcmluZ0NvbnRleHQmJiBj
b250ZXh0LCBjb25zdCBYUldlYkdMTGF5ZXJJbml0JiBpbml0KQogICAgIDogV2ViWFJMYXllcihz
ZXNzaW9uLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCiAgICAgLCBtX3Nlc3Npb24oV1RGTW92
ZShzZXNzaW9uKSkKQEAgLTEyNyw3ICsxMTQsNyBAQCBXZWJYUldlYkdMTGF5ZXI6OldlYlhSV2Vi
R0xMYXllcihSZWY8V2ViWFJTZXNzaW9uPiYmIHNlc3Npb24sIFdlYlhSUmVuZGVyaW5nQ29udAog
ICAgICAgICBtX2FudGlhbGlhcyA9IGluaXQuYW50aWFsaWFzOwogCiAgICAgICAgIC8vICAyLiBM
ZXQgZnJhbWVidWZmZXJTaXplIGJlIHRoZSByZWNvbW1lbmRlZCBXZWJHTCBmcmFtZWJ1ZmZlciBy
ZXNvbHV0aW9uIG11bHRpcGxpZWQgYnkgbGF5ZXJJbml0J3MgZnJhbWVidWZmZXJTY2FsZUZhY3Rv
ci4KLSAgICAgICAgSW50U2l6ZSByZWNvbW1lbmRlZFNpemUgPSBjb21wdXRlUmVjb21tZW5kZWRX
ZWJHTEZyYW1lYnVmZmVyUmVzb2x1dGlvbigpOworICAgICAgICBJbnRTaXplIHJlY29tbWVuZGVk
U2l6ZSA9IG1fc2Vzc2lvbi0+cmVjb21tZW5kZWRXZWJHTEZyYW1lYnVmZmVyUmVzb2x1dGlvbigp
OwogICAgICAgICBtX2ZyYW1lYnVmZmVyLndpZHRoID0gcmVjb21tZW5kZWRTaXplLndpZHRoKCkg
KiBpbml0LmZyYW1lYnVmZmVyU2NhbGVGYWN0b3I7CiAgICAgICAgIG1fZnJhbWVidWZmZXIuaGVp
Z2h0ID0gcmVjb21tZW5kZWRTaXplLmhlaWdodCgpICogaW5pdC5mcmFtZWJ1ZmZlclNjYWxlRmFj
dG9yOwogCkBAIC0yMDQsOCArMTkxLDggQEAgZG91YmxlIFdlYlhSV2ViR0xMYXllcjo6Z2V0TmF0
aXZlRnJhbWVidWZmZXJTY2FsZUZhY3Rvcihjb25zdCBXZWJYUlNlc3Npb24mIHNlc3MKICAgICBp
ZiAoc2Vzc2lvbi5lbmRlZCgpKQogICAgICAgICByZXR1cm4gMC4wOwogCi0gICAgSW50U2l6ZSBu
YXRpdmVTaXplID0gY29tcHV0ZU5hdGl2ZVdlYkdMRnJhbWVidWZmZXJSZXNvbHV0aW9uKCk7Ci0g
ICAgSW50U2l6ZSByZWNvbW1lbmRlZFNpemUgPSBjb21wdXRlUmVjb21tZW5kZWRXZWJHTEZyYW1l
YnVmZmVyUmVzb2x1dGlvbigpOworICAgIEludFNpemUgbmF0aXZlU2l6ZSA9IHNlc3Npb24ubmF0
aXZlV2ViR0xGcmFtZWJ1ZmZlclJlc29sdXRpb24oKTsKKyAgICBJbnRTaXplIHJlY29tbWVuZGVk
U2l6ZSA9IHNlc3Npb24ucmVjb21tZW5kZWRXZWJHTEZyYW1lYnVmZmVyUmVzb2x1dGlvbigpOwog
CiAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighcmVjb21tZW5k
ZWRTaXplLmlzWmVybygpKTsKICAgICByZXR1cm4gKG5hdGl2ZVNpemUgLyByZWNvbW1lbmRlZFNp
emUpLndpZHRoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS94ci9QbGF0
Zm9ybVhSLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS94ci9QbGF0Zm9ybVhSLmgKaW5kZXgg
MzcxMDIzY2ExYmNmNmNiODdlMGM2NzY4ZGJiNjUyNGRhYmRiM2I2Zi4uNjY1MmFiZDNiZGJlNTQ2
YzBiYjhjMmVmNjY3MmJiMzU0NmM5OGJjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0veHIvUGxhdGZvcm1YUi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3hyL1Bs
YXRmb3JtWFIuaApAQCAtMTgsNiArMTgsNyBAQAogICovCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1
ZGUgIkludFNpemUuaCIKICNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KICNpbmNsdWRlIDx3dGYvVW5pcXVlUmVmLmg+CkBAIC01Myw2ICs1NCw5IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldEVuYWJsZWRGZWF0dXJlcyhTZXNzaW9uTW9kZSBtb2RlLCBjb25zdCBMaXN0
T2ZFbmFibGVkRmVhdHVyZXMmIGZlYXR1cmVzKSB7IG1fZW5hYmxlZEZlYXR1cmVzTWFwLnNldCht
b2RlLCBmZWF0dXJlcyk7IH0KICAgICBMaXN0T2ZFbmFibGVkRmVhdHVyZXMgZW5hYmxlZEZlYXR1
cmVzKFNlc3Npb25Nb2RlIG1vZGUpIGNvbnN0IHsgcmV0dXJuIG1fZW5hYmxlZEZlYXR1cmVzTWFw
LmdldChtb2RlKTsgfQogCisgICAgdXNpbmcgSW50U2l6ZSA9IFdlYkNvcmU6OkludFNpemU7Cisg
ICAgdmlydHVhbCBJbnRTaXplIHJlY29tbWVuZGVkUmVzb2x1dGlvbihTZXNzaW9uTW9kZSkgeyBy
ZXR1cm4geyAxLCAxIH07IH0KKwogICAgIGJvb2wgc3VwcG9ydHNPcmllbnRhdGlvblRyYWNraW5n
KCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0c09yaWVudGF0aW9uVHJhY2tpbmc7IH0KIAogcHJv
dGVjdGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0veHIvb3BlbnhyL1Bs
YXRmb3JtWFJPcGVuWFIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0veHIvb3BlbnhyL1Bs
YXRmb3JtWFJPcGVuWFIuY3BwCmluZGV4IDcxMmMxODcxZGFhOTFmOTg4ZGQ2YzNiZTdiOTM2NjIw
NWVmMDY3OWQuLjc2NzQyMTE5M2ZkZDVhMDQ1ODQ5Y2MwYWE2Mjg4MTg0YTJlZmM1MGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3hyL29wZW54ci9QbGF0Zm9ybVhST3BlblhS
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS94ci9vcGVueHIvUGxhdGZvcm1YUk9w
ZW5YUi5jcHAKQEAgLTcwLDcgKzcwLDYgQEAgcHVibGljOgogICAgIH5JbXBsKCk7CiAKICNpZiBV
U0VfT1BFTlhSCi0gICAgT3B0aW9uYWw8VmVjdG9yPFNlc3Npb25Nb2RlPj4gY29sbGVjdFN1cHBv
cnRlZFNlc3Npb25Nb2RlcyhPcGVuWFJEZXZpY2UmKTsKICAgICBYckluc3RhbmNlIHhySW5zdGFu
Y2UoKSBjb25zdCB7IHJldHVybiBtX2luc3RhbmNlOyB9CiAjZW5kaWYKIApAQCAtOTUsOCArOTQs
MTUgQEAgdm9pZCBJbnN0YW5jZTo6SW1wbDo6ZW51bWVyYXRlQXBpTGF5ZXJQcm9wZXJ0aWVzKCkg
Y29uc3QKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFZlY3RvcjxYckFwaUxheWVyUHJv
cGVydGllcz4gcHJvcGVydGllcyhwcm9wZXJ0eUNvdW50T3V0cHV0KTsKLSAgICByZXN1bHQgPSB4
ckVudW1lcmF0ZUFwaUxheWVyUHJvcGVydGllcyhwcm9wZXJ0eUNvdW50T3V0cHV0LCBudWxscHRy
LCBwcm9wZXJ0aWVzLmRhdGEoKSk7CisgICAgVmVjdG9yPFhyQXBpTGF5ZXJQcm9wZXJ0aWVzPiBw
cm9wZXJ0aWVzKHByb3BlcnR5Q291bnRPdXRwdXQsCisgICAgICAgIFtdIHsKKyAgICAgICAgICAg
IFhyQXBpTGF5ZXJQcm9wZXJ0aWVzIG9iamVjdDsKKyAgICAgICAgICAgIHN0ZDo6bWVtc2V0KCZv
YmplY3QsIDAsIHNpemVvZihYckFwaUxheWVyUHJvcGVydGllcykpOworICAgICAgICAgICAgb2Jq
ZWN0LnR5cGUgPSBYUl9UWVBFX0FQSV9MQVlFUl9QUk9QRVJUSUVTOworICAgICAgICAgICAgcmV0
dXJuIG9iamVjdDsKKyAgICAgICAgfSgpKTsKKyAgICByZXN1bHQgPSB4ckVudW1lcmF0ZUFwaUxh
eWVyUHJvcGVydGllcyhwcm9wZXJ0eUNvdW50T3V0cHV0LCAmcHJvcGVydHlDb3VudE91dHB1dCwg
cHJvcGVydGllcy5kYXRhKCkpOworCiAgICAgUkVUVVJOX0lGX0ZBSUxFRChyZXN1bHQsICJ4ckVu
dW1lcmF0ZUFwaUxheWVyUHJvcGVydGllcygpIiwgbV9pbnN0YW5jZSk7CiAgICAgTE9HKFhSLCAi
eHJFbnVtZXJhdGVBcGlMYXllclByb3BlcnRpZXMoKTogJXp1IHByb3BlcnRpZXNcbiIsIHByb3Bl
cnRpZXMuc2l6ZSgpKTsKIH0KQEAgLTIxMyw2ICsyMTksNyBAQCBPcGVuWFJEZXZpY2U6Ok9wZW5Y
UkRldmljZShYclN5c3RlbUlkIGlkLCBYckluc3RhbmNlIGluc3RhbmNlKQogICAgICAgICBMT0co
WFIsICJ4ckdldFN5c3RlbVByb3BlcnRpZXMoKTogZXJyb3IgJXNcbiIsIHJlc3VsdFRvU3RyaW5n
KHJlc3VsdCwgbV9pbnN0YW5jZSkudXRmOCgpLmRhdGEoKSk7CiAKICAgICBjb2xsZWN0U3VwcG9y
dGVkU2Vzc2lvbk1vZGVzKCk7CisgICAgZW51bWVyYXRlQ29uZmlndXJhdGlvblZpZXdzKCk7CiB9
CiAKIHZvaWQgT3BlblhSRGV2aWNlOjpjb2xsZWN0U3VwcG9ydGVkU2Vzc2lvbk1vZGVzKCkKQEAg
LTIzMiwxOCArMjM5LDU2IEBAIHZvaWQgT3BlblhSRGV2aWNlOjpjb2xsZWN0U3VwcG9ydGVkU2Vz
c2lvbk1vZGVzKCkKICAgICAgICAgICAgIExPRyhYUiwgInhyR2V0Vmlld0NvbmZpZ3VyYXRpb25Q
cm9wZXJ0aWVzKCk6IGVycm9yICVzXG4iLCByZXN1bHRUb1N0cmluZyhyZXN1bHQsIG1faW5zdGFu
Y2UpLnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KLSAg
ICAgICAgc3dpdGNoICh2aWV3Q29uZmlndXJhdGlvblByb3BlcnRpZXMudmlld0NvbmZpZ3VyYXRp
b25UeXBlKSB7CisgICAgICAgIGF1dG8gY29uZmlnVHlwZSA9IHZpZXdDb25maWd1cmF0aW9uUHJv
cGVydGllcy52aWV3Q29uZmlndXJhdGlvblR5cGU7CisgICAgICAgIHN3aXRjaCAoY29uZmlnVHlw
ZSkgewogICAgICAgICBjYXNlIFhSX1ZJRVdfQ09ORklHVVJBVElPTl9UWVBFX1BSSU1BUllfTU9O
TzoKLSAgICAgICAgICAgIHNldEVuYWJsZWRGZWF0dXJlcyhTZXNzaW9uTW9kZTo6SW1tZXJzaXZl
QXIsIHsgfSk7CisgICAgICAgICAgICBzZXRFbmFibGVkRmVhdHVyZXMoU2Vzc2lvbk1vZGU6Oklu
bGluZSwgeyB9KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFhSX1ZJRVdfQ09O
RklHVVJBVElPTl9UWVBFX1BSSU1BUllfU1RFUkVPOgogICAgICAgICAgICAgc2V0RW5hYmxlZEZl
YXR1cmVzKFNlc3Npb25Nb2RlOjpJbW1lcnNpdmVWciwgeyB9KTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjb250
aW51ZTsKICAgICAgICAgfTsKKyAgICAgICAgbV92aWV3Q29uZmlndXJhdGlvblByb3BlcnRpZXMu
YWRkKGNvbmZpZ1R5cGUsIFdURk1vdmUodmlld0NvbmZpZ3VyYXRpb25Qcm9wZXJ0aWVzKSk7Cisg
ICAgfQorfQorCit2b2lkIE9wZW5YUkRldmljZTo6ZW51bWVyYXRlQ29uZmlndXJhdGlvblZpZXdz
KCkKK3sKKyAgICBmb3IgKGF1dG8mIGNvbmZpZyA6IG1fdmlld0NvbmZpZ3VyYXRpb25Qcm9wZXJ0
aWVzLnZhbHVlcygpKSB7CisgICAgICAgIHVpbnQzMl90IHZpZXdDb3VudDsKKyAgICAgICAgYXV0
byBjb25maWdUeXBlID0gY29uZmlnLnZpZXdDb25maWd1cmF0aW9uVHlwZTsKKyAgICAgICAgWHJS
ZXN1bHQgcmVzdWx0ID0geHJFbnVtZXJhdGVWaWV3Q29uZmlndXJhdGlvblZpZXdzKG1faW5zdGFu
Y2UsIG1fc3lzdGVtSWQsIGNvbmZpZ1R5cGUsIDAsICZ2aWV3Q291bnQsIG51bGxwdHIpOworICAg
ICAgICBpZiAocmVzdWx0ICE9IFhSX1NVQ0NFU1MpIHsKKyAgICAgICAgICAgIExPRyhYUiwgIiVz
ICVzOiAlc1xuIiwgX19mdW5jX18sICJ4ckVudW1lcmF0ZVZpZXdDb25maWd1cmF0aW9uVmlld3Mi
LCByZXN1bHRUb1N0cmluZyhyZXN1bHQsIG1faW5zdGFuY2UpLnV0ZjgoKS5kYXRhKCkpOworICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICBWZWN0b3I8WHJWaWV3Q29u
ZmlndXJhdGlvblZpZXc+IGNvbmZpZ1ZpZXdzKHZpZXdDb3VudCwKKyAgICAgICAgICAgIFtdIHsK
KyAgICAgICAgICAgICAgICBYclZpZXdDb25maWd1cmF0aW9uVmlldyBvYmplY3Q7CisgICAgICAg
ICAgICAgICAgc3RkOjptZW1zZXQoJm9iamVjdCwgMCwgc2l6ZW9mKFhyVmlld0NvbmZpZ3VyYXRp
b25WaWV3KSk7CisgICAgICAgICAgICAgICAgb2JqZWN0LnR5cGUgPSBYUl9UWVBFX1ZJRVdfQ09O
RklHVVJBVElPTl9WSUVXOworICAgICAgICAgICAgICAgIHJldHVybiBvYmplY3Q7CisgICAgICAg
ICAgICB9KCkpOworICAgICAgICByZXN1bHQgPSB4ckVudW1lcmF0ZVZpZXdDb25maWd1cmF0aW9u
Vmlld3MobV9pbnN0YW5jZSwgbV9zeXN0ZW1JZCwgY29uZmlnVHlwZSwgdmlld0NvdW50LCAmdmll
d0NvdW50LCBjb25maWdWaWV3cy5kYXRhKCkpOworICAgICAgICBpZiAocmVzdWx0ICE9IFhSX1NV
Q0NFU1MpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgbV9jb25maWd1cmF0aW9uVmll
d3MuYWRkKGNvbmZpZ1R5cGUsIGNvbmZpZ1ZpZXdzKTsKICAgICB9CiB9CisKK0ludFNpemUgT3Bl
blhSRGV2aWNlOjpyZWNvbW1lbmRlZFJlc29sdXRpb24oU2Vzc2lvbk1vZGUgbW9kZSkKK3sKKyAg
ICBYclZpZXdDb25maWd1cmF0aW9uVHlwZSBjb25maWdUeXBlID0gbW9kZSA9PSBTZXNzaW9uTW9k
ZTo6SW5saW5lID8gWFJfVklFV19DT05GSUdVUkFUSU9OX1RZUEVfUFJJTUFSWV9NT05PIDogWFJf
VklFV19DT05GSUdVUkFUSU9OX1RZUEVfUFJJTUFSWV9TVEVSRU87CisgICAgYXV0byB2aWV3c0l0
ZXJhdG9yID0gbV9jb25maWd1cmF0aW9uVmlld3MuZmluZChjb25maWdUeXBlKTsKKyAgICBpZiAo
dmlld3NJdGVyYXRvciAhPSBtX2NvbmZpZ3VyYXRpb25WaWV3cy5lbmQoKSkKKyAgICAgICAgcmV0
dXJuIHsgc3RhdGljX2Nhc3Q8aW50Pih2aWV3c0l0ZXJhdG9yLT52YWx1ZVswXS5yZWNvbW1lbmRl
ZEltYWdlUmVjdFdpZHRoKSwgc3RhdGljX2Nhc3Q8aW50Pih2aWV3c0l0ZXJhdG9yLT52YWx1ZVsw
XS5yZWNvbW1lbmRlZEltYWdlUmVjdEhlaWdodCkgfTsKKyAgICByZXR1cm4gRGV2aWNlOjpyZWNv
bW1lbmRlZFJlc29sdXRpb24obW9kZSk7Cit9CisKKwogI2VuZGlmIC8vIFVTRV9PUEVOWFIKIAog
fSAvLyBuYW1lc3BhY2UgUGxhdGZvcm1YUgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0veHIvb3BlbnhyL1BsYXRmb3JtWFJPcGVuWFIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3hyL29wZW54ci9QbGF0Zm9ybVhST3BlblhSLmgKaW5kZXggNWE5NmQ2MzVkODk4OWQ0ZWJl
YTVlNjE2NjU3NmNmZDk0MGIzZjkyMC4uMjZlMjgyYjZjNjUyNzIzZDJlMmU2MzE0ZjYxNmRlNWUy
MWFkNGU1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0veHIvb3BlbnhyL1Bs
YXRmb3JtWFJPcGVuWFIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS94ci9vcGVueHIv
UGxhdGZvcm1YUk9wZW5YUi5oCkBAIC0yMiw2ICsyMiw5IEBACiAjaWYgRU5BQkxFKFdFQlhSKQog
I2luY2x1ZGUgIlBsYXRmb3JtWFIuaCIKIAorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5j
bHVkZSA8d3RmL09wdGlvbmFsLmg+CisKICNpZiBVU0VfT1BFTlhSCiAjaW5jbHVkZSA8b3Blbnhy
L29wZW54ci5oPgogCkBAIC00NSw2ICs0OCwxNCBAQCBwdWJsaWM6CiAgICAgWHJTeXN0ZW1JZCB4
clN5c3RlbUlkKCkgY29uc3QgeyByZXR1cm4gbV9zeXN0ZW1JZDsgfQogcHJpdmF0ZToKICAgICB2
b2lkIGNvbGxlY3RTdXBwb3J0ZWRTZXNzaW9uTW9kZXMoKTsKKyAgICB2b2lkIGVudW1lcmF0ZUNv
bmZpZ3VyYXRpb25WaWV3cygpOworCisgICAgSW50U2l6ZSByZWNvbW1lbmRlZFJlc29sdXRpb24o
U2Vzc2lvbk1vZGUpIGZpbmFsOworCisgICAgdXNpbmcgVmlld0NvbmZpZ3VyYXRpb25Qcm9wZXJ0
aWVzTWFwID0gV1RGOjpIYXNoTWFwPFhyVmlld0NvbmZpZ3VyYXRpb25UeXBlLCBYclZpZXdDb25m
aWd1cmF0aW9uUHJvcGVydGllcywgV1RGOjpJbnRIYXNoPFhyVmlld0NvbmZpZ3VyYXRpb25UeXBl
PiwgV1RGOjpTdHJvbmdFbnVtSGFzaFRyYWl0czxYclZpZXdDb25maWd1cmF0aW9uVHlwZT4+Owor
ICAgIFZpZXdDb25maWd1cmF0aW9uUHJvcGVydGllc01hcCBtX3ZpZXdDb25maWd1cmF0aW9uUHJv
cGVydGllczsKKyAgICB1c2luZyBWaWV3Q29uZmlndXJhdGlvblZpZXdzTWFwID0gV1RGOjpIYXNo
TWFwPFhyVmlld0NvbmZpZ3VyYXRpb25UeXBlLCBWZWN0b3I8WHJWaWV3Q29uZmlndXJhdGlvblZp
ZXc+LCBXVEY6OkludEhhc2g8WHJWaWV3Q29uZmlndXJhdGlvblR5cGU+LCBXVEY6OlN0cm9uZ0Vu
dW1IYXNoVHJhaXRzPFhyVmlld0NvbmZpZ3VyYXRpb25UeXBlPj47CisgICAgVmlld0NvbmZpZ3Vy
YXRpb25WaWV3c01hcCBtX2NvbmZpZ3VyYXRpb25WaWV3czsKIAogICAgIFhyU3lzdGVtSWQgbV9z
eXN0ZW1JZDsKICAgICBYckluc3RhbmNlIG1faW5zdGFuY2U7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403446</attachid>
            <date>2020-07-03 00:47:21 -0700</date>
            <delta_ts>2020-07-09 23:24:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213886-20200703094719.patch</filename>
            <type>text/plain</type>
            <size>16113</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzODQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTgwZjRhNDczYjM4N2M2
N2UxYmQ5OTYxNmMwZDVlN2U1OTUzYWE3Ni4uZjlkYWVhZTA0NTIyNTVjZDkxNzc4OTQ2ZjQyNmFj
ZTZlZDAwYjc4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIwLTA3LTAyICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtXZWJYUl0g
UmV0cmlldmUgV2ViR0wgZnJhbWVidWZmZXIgcmVzb2x1dGlvbiBmcm9tIFhSIGRldmljZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzg4NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSByZWNvbW1l
bmRlZCBXZWJHTCBmcmFtZWJ1ZmZlciByZXNvbHV0aW9uIHNob3VsZCBiZSByZXRyaWV2ZWQgZnJv
bSB0aGUgYWN0dWFsIFhSIGRldmljZSBiZWluZyB1c2VkLgorICAgICAgICBJbXBsZW1lbnRlZCB0
aGUgT3BlblhSIG1hY2hpbmVyeSB0byByZXRyaWV2ZSBpdCBmcm9tIHRoZSBYUiBzeXN0ZW0uIFdl
IGFyZSBhbHNvIG1vdmluZyB0aGUgbWV0aG9kcyB0aGF0CisgICAgICAgIGNhbGwgdGhlIHBsYXRm
b3JtIGNvZGUgdG8gdGhlIFhSU2Vzc2lvbiBhcyBzcGVjcyBkZWZpbmUsIGluc3RlYWQgb2YgaGF2
aW5nIHRoZW0gaW5zaWRlIHRoZSBYUldlYkdMTGF5ZXIuCisKKyAgICAgICAgRmluYWxseSB0aGlz
IHBhdGNoIGlzIGFsc28gcmVtb3ZpbmcgYSB1bnVzZWQgZGVmaW5pdGlvbiBpbiBPcGVuWFIgcGxh
Zm9ybSBjb2RlIGFuZCBwcm9wZXJseSBpbml0aWFsaXppbmcKKyAgICAgICAgYSBPcGVuWFIgc3Ry
dWN0LiBUaGUgbWlzc2luZyBpbml0aWFsaXphdGlvbiB3YXMgdGhlIHNvdXJjZSBvZiBlcnJvcnMg
d2hlbiBxdWVyeWluZyBhcGkgbGF5ZXIgcHJvcGVydGllcy4KKyAgICAgICAgVGhlIHBhdGNoIGlz
IGFsc28gcHJvcGVybHkgc2V0dGluZyB0aGUgU2Vzc2lvbk1vZGU6OklubGluZSB3aGVuIFhSX1ZJ
RVdfQ09ORklHVVJBVElPTl9UWVBFX1BSSU1BUllfTU9OTworICAgICAgICBpcyBmb3VuZC4gSXQg
dXNlZCB0byBzZXQgU2Vzc2lvbk1vZGU6OkltbWVyc2l2ZUFyIGluc3RlYWQsIGJ1dCB0aGF0J3Mg
d3JvbmcsIHdlIHNob3VsZCBvbmx5IGNhcmUgYWJvdXQKKyAgICAgICAgSW1tZXJzaXZlQXIgc2Vz
c2lvbiBtb2RlIG9uY2UgdGhlIFdlYlhSIEFSIG1vZHVsZSBpcyBpbXBsZW1lbnRlZC4KKworICAg
ICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJSZW5kZXJTdGF0ZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJYUlJlbmRlclN0YXRlOjpvdXRwdXRDYW52YXMgY29uc3QpOiBSZXR1cm4gcmVuZGVy
IHN0YXRlJ3MgY2FudmFzLgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJSZW5kZXJTdGF0
ZS5oOiBBZGRlZCBhIG1fb3V0cHV0Q2FudmFzIG1lbWJlciB3aXRoIGl0cyBnZXR0ZXIuCisgICAg
ICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V2ViWFJTZXNzaW9uOjpuYXRpdmVXZWJHTEZyYW1lYnVmZmVyUmVzb2x1dGlvbiBjb25zdCk6IE1v
dmVkIGZyb20gV2ViWFJXZWJHTExheWVyIGFuZCByZWltcGxlbWVudGVkLgorICAgICAgICAoV2Vi
Q29yZTo6V2ViWFJTZXNzaW9uOjpyZWNvbW1lbmRlZFdlYkdMRnJhbWVidWZmZXJSZXNvbHV0aW9u
IGNvbnN0KTogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uaDoK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSV2ViR0xMYXllci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJYUldlYkdMTGF5ZXI6OldlYlhSV2ViR0xMYXllcik6CisgICAgICAgIChXZWJD
b3JlOjpXZWJYUldlYkdMTGF5ZXI6OmdldE5hdGl2ZUZyYW1lYnVmZmVyU2NhbGVGYWN0b3IpOiBD
YWxsIHRoZSBzZXNzaW9uIHRvIGdldCBuYXRpdmUgYW5kIHJlY29tbWVuZGVkCisgICAgICAgIHJl
c29sdXRpb25zLgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJXZWJHTExheWVyOjpjb21wdXRlTmF0
aXZlV2ViR0xGcmFtZWJ1ZmZlclJlc29sdXRpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6V2ViWFJXZWJHTExheWVyOjpjb21wdXRlUmVjb21tZW5kZWRXZWJHTEZyYW1lYnVmZmVyUmVz
b2x1dGlvbik6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL3hyL1BsYXRmb3JtWFIuaDoKKyAg
ICAgICAgKFBsYXRmb3JtWFI6OkRldmljZTo6cmVjb21tZW5kZWRSZXNvbHV0aW9uKTogTmV3IHZp
cnR1YWwgbWV0aG9kIHdpdGggZGVmYXVsdCBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKiBwbGF0
Zm9ybS94ci9vcGVueHIvUGxhdGZvcm1YUk9wZW5YUi5jcHA6CisgICAgICAgIChQbGF0Zm9ybVhS
OjpJbnN0YW5jZTo6SW1wbDo6ZW51bWVyYXRlQXBpTGF5ZXJQcm9wZXJ0aWVzIGNvbnN0KTogQWRk
ZWQgaW5pdGlhbGl6YXRpb24gb2YgdGhlIFhyQXBpTGF5ZXJQcm9wZXJ0aWVzCisgICAgICAgIG9i
amVjdHMuIFRoZSBjYWxsIHRvIHhyRW51bWVyYXRlQXBpTGF5ZXJQcm9wZXJ0aWVzIHN1Y2NlZWRz
IG5vdy4KKyAgICAgICAgKFBsYXRmb3JtWFI6Ok9wZW5YUkRldmljZTo6T3BlblhSRGV2aWNlKTog
Q2FsbCBlbnVtZXJhdGVDb25maWd1cmF0aW9uVmlld3MoKS4KKyAgICAgICAgKFBsYXRmb3JtWFI6
Ok9wZW5YUkRldmljZTo6Y29sbGVjdFN1cHBvcnRlZFNlc3Npb25Nb2Rlcyk6IEZpbGwgaW4gdGhl
IG1fdmlld0NvbmZpZ3VyYXRpb25Qcm9wZXJ0aWVzIG1hcC4KKyAgICAgICAgKFBsYXRmb3JtWFI6
Ok9wZW5YUkRldmljZTo6ZW51bWVyYXRlQ29uZmlndXJhdGlvblZpZXdzKTogTmV3IG1ldGhvZCB0
aGF0IHJldHJpZXZlcyB0aGUgWFIgZGV2aWNlIHZpZXdzIGZvciBlYWNoCisgICAgICAgIHN1cHBv
cnRlZCBjb25maWd1cmF0aW9uLgorICAgICAgICAoUGxhdGZvcm1YUjo6T3BlblhSRGV2aWNlOjpy
ZWNvbW1lbmRlZFJlc29sdXRpb24pOiBSZXR1cm4gdGhlIHJlY29tbWVuZGVkIHJlc29sdXRpb24g
Zm9yIGEgZ2l2ZW4gU2Vzc2lvbk1vZGUuCisgICAgICAgICogcGxhdGZvcm0veHIvb3BlbnhyL1Bs
YXRmb3JtWFJPcGVuWFIuaDogQWRkZWQgc29tZSBuZXcgbWV0aG9kcyBhbmQgYXR0cmlidXRlcy4K
KwogMjAyMC0wNy0wMiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFtMRkNdW0JGQ10gUmVtb3ZlIHJlZHVuZGFudCBtYXJnaW4tYm9yZGVyLXBhZGRpbmcgd2hlbiBj
b21wdXRpbmcgdGhlIGludHJpbnNpYyB3aWR0aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ4ci9XZWJYUlJlbmRlclN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VieHIvV2ViWFJSZW5kZXJTdGF0ZS5jcHAKaW5kZXggYzBmODk1YjJiMWM1OTY3NmJkY2Y1
ODM1YzA4ZjRiYjA2ZTA4NDdjMC4uOWZmNDBjNDRhNmEwYTU1ODhjY2NhNjhmYjg4ZTI1MDA1MjEz
ODI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlJlbmRl
clN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmVuZGVy
U3RhdGUuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoV0VCWFIpCiAKKyNpbmNs
dWRlICJIVE1MQ2FudmFzRWxlbWVudC5oIgogI2luY2x1ZGUgIldlYlhSV2ViR0xMYXllci5oIgog
I2luY2x1ZGUgIlhSUmVuZGVyU3RhdGVJbml0LmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lu
bGluZXMuaD4KQEAgLTc1LDYgKzc2LDExIEBAIFJlZlB0cjxXZWJYUldlYkdMTGF5ZXI+IFdlYlhS
UmVuZGVyU3RhdGU6OmJhc2VMYXllcigpIGNvbnN0CiAgICAgcmV0dXJuIG1fYmFzZUxheWVyOwog
fQogCitIVE1MQ2FudmFzRWxlbWVudCogV2ViWFJSZW5kZXJTdGF0ZTo6b3V0cHV0Q2FudmFzKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gbV9vdXRwdXRDYW52YXMuZ2V0KCk7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJYUikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJSZW5kZXJTdGF0ZS5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlJlbmRlclN0YXRlLmgKaW5kZXggOTVlOTY1NmIxMjJi
YjMzYWM0YzY4OWUwYWE4MjA3NmVmNDdjOGNlMi4uMWIyMTFmMmZiZTU4NmUyOTI5NGQ2M2M5MmQ2
NDk4ZDUzY2VkYTQzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUlJlbmRlclN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJY
UlJlbmRlclN0YXRlLmgKQEAgLTMzLDkgKzMzLDExIEBACiAjaW5jbHVkZSA8d3RmL1JlZi5oPgog
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2lu
Y2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgSFRN
TENhbnZhc0VsZW1lbnQ7CiBjbGFzcyBXZWJYUldlYkdMTGF5ZXI7CiBzdHJ1Y3QgWFJSZW5kZXJT
dGF0ZUluaXQ7CiAKQEAgLTQ5LDYgKzUxLDcgQEAgcHVibGljOgogICAgIGRvdWJsZSBkZXB0aEZh
cigpIGNvbnN0OwogICAgIE9wdGlvbmFsPGRvdWJsZT4gaW5saW5lVmVydGljYWxGaWVsZE9mVmll
dygpIGNvbnN0OwogICAgIFJlZlB0cjxXZWJYUldlYkdMTGF5ZXI+IGJhc2VMYXllcigpIGNvbnN0
OworICAgIEhUTUxDYW52YXNFbGVtZW50KiBvdXRwdXRDYW52YXMoKSBjb25zdDsKIAogcHJpdmF0
ZToKICAgICBleHBsaWNpdCBXZWJYUlJlbmRlclN0YXRlKE9wdGlvbmFsPGRvdWJsZT4mJiBmaWVs
ZE9mVmlldyk7CkBAIC02MSw2ICs2NCw3IEBAIHByaXZhdGU6CiAgICAgfSBtX2RlcHRoOwogICAg
IE9wdGlvbmFsPGRvdWJsZT4gbV9pbmxpbmVWZXJ0aWNhbEZpZWxkT2ZWaWV3OyAvLyBpbiByYWRp
YW5zCiAgICAgUmVmUHRyPFdlYlhSV2ViR0xMYXllcj4gbV9iYXNlTGF5ZXI7CisgICAgV2Vha1B0
cjxIVE1MQ2FudmFzRWxlbWVudD4gbV9vdXRwdXRDYW52YXM7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhS
U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU2Vzc2lvbi5j
cHAKaW5kZXggMWVhNWNhOWZkMjlmNWQ2M2UyODAzNmUyMDUxMjgzYjUyYWZhOWY3MS4uYTMzMTMx
YTJlNWUwN2Q1YTE1N2NiNzFlMjI2NmE5ZmRiMTBjOWE4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2VieHIvV2ViWFJTZXNzaW9uLmNwcApAQCAtMjM4LDYgKzIzOCwyNCBAQCB2b2lk
IFdlYlhSU2Vzc2lvbjo6Y2FuY2VsQW5pbWF0aW9uRnJhbWUodW5zaWduZWQgY2FsbGJhY2tJZCkK
ICAgICAgICAgbV9ydW5uaW5nQ2FsbGJhY2tzW3Bvc2l0aW9uXS0+Y2FuY2VsKCk7CiB9CiAKKy8v
IGh0dHBzOi8vaW1tZXJzaXZlLXdlYi5naXRodWIuaW8vd2VieHIvI25hdGl2ZS13ZWJnbC1mcmFt
ZWJ1ZmZlci1yZXNvbHV0aW9uCitJbnRTaXplIFdlYlhSU2Vzc2lvbjo6bmF0aXZlV2ViR0xGcmFt
ZWJ1ZmZlclJlc29sdXRpb24oKSBjb25zdAoreworICAgIGlmIChtX21vZGUgPT0gWFJTZXNzaW9u
TW9kZTo6SW5saW5lKSB7CisgICAgICAgIC8vIEZJWE1FOiByZXBsYWNlIHRoZSBjb25kaXRpb25h
bCBieSBBU1NFUlRzIG9uY2Ugd2UgcHJvcGVybHkgaW5pdGlhbGl6ZSB0aGUgb3V0cHV0Q2FudmFz
LgorICAgICAgICByZXR1cm4gbV9hY3RpdmVSZW5kZXJTdGF0ZSAmJiBtX2FjdGl2ZVJlbmRlclN0
YXRlLT5vdXRwdXRDYW52YXMoKSA/IG1fYWN0aXZlUmVuZGVyU3RhdGUtPm91dHB1dENhbnZhcygp
LT5zaXplKCkgOiBJbnRTaXplKDEsIDEpOworICAgIH0KKworICAgIHJldHVybiByZWNvbW1lbmRl
ZFdlYkdMRnJhbWVidWZmZXJSZXNvbHV0aW9uKCk7Cit9CisKKy8vIGh0dHBzOi8vaW1tZXJzaXZl
LXdlYi5naXRodWIuaW8vd2VieHIvI3JlY29tbWVuZGVkLXdlYmdsLWZyYW1lYnVmZmVyLXJlc29s
dXRpb24KK0ludFNpemUgV2ViWFJTZXNzaW9uOjpyZWNvbW1lbmRlZFdlYkdMRnJhbWVidWZmZXJS
ZXNvbHV0aW9uKCkgY29uc3QKK3sKKyAgICBBU1NFUlQobV9kZXZpY2UpOworICAgIHJldHVybiBt
X2RldmljZS0+cmVjb21tZW5kZWRSZXNvbHV0aW9uKG1fbW9kZSk7Cit9CisKIC8vIGh0dHBzOi8v
aW1tZXJzaXZlLXdlYi5naXRodWIuaW8vd2VieHIvI3NodXQtZG93bi10aGUtc2Vzc2lvbgogdm9p
ZCBXZWJYUlNlc3Npb246OnNodXRkb3duKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2VieHIvV2ViWFJTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSU2Vzc2lvbi5oCmluZGV4IDk4YjkyOTM5ODhmODI4NmJhN2YxZTcyZTA0MWFmNTQx
MTBiY2FjMzAuLjUwMWU5NWNjMmVlNDhkNWVhN2NlZjM2ZTAyMDM0YzViMDZmMDQxNGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTZXNzaW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uaApAQCAtNzYsMTEgKzc2
LDEzIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoUmVmPFhS
RnJhbWVSZXF1ZXN0Q2FsbGJhY2s+JiYpOwogICAgIHZvaWQgY2FuY2VsQW5pbWF0aW9uRnJhbWUo
dW5zaWduZWQgY2FsbGJhY2tJZCk7CiAKKyAgICBJbnRTaXplIG5hdGl2ZVdlYkdMRnJhbWVidWZm
ZXJSZXNvbHV0aW9uKCkgY29uc3Q7CisgICAgSW50U2l6ZSByZWNvbW1lbmRlZFdlYkdMRnJhbWVi
dWZmZXJSZXNvbHV0aW9uKCkgY29uc3Q7CisKICAgICAvLyBFdmVudFRhcmdldC4KICAgICBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWwg
eyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KIAog
ICAgIHZvaWQgZW5kKEVuZFByb21pc2UmJik7Ci0KICAgICBib29sIGVuZGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9lbmRlZDsgfQogCiAgICAgWFJTZXNzaW9uTW9kZSBtb2RlKCkgY29uc3QgeyByZXR1
cm4gbV9tb2RlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dl
YlhSV2ViR0xMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSV2Vi
R0xMYXllci5jcHAKaW5kZXggZDkyY2YwOGFiZmQxY2M1ZmJhNTdiNmQyZmM2NDE0YjczOGRjNjYy
YS4uODZkZDExYjAwMTQzYmY4MGVhODFhZTJhZGQ4ZGU4NGRjMDJkMDMzZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUldlYkdMTGF5ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJXZWJHTExheWVyLmNwcApAQCAtOTEsMTkg
KzkxLDYgQEAgRXhjZXB0aW9uT3I8UmVmPFdlYlhSV2ViR0xMYXllcj4+IFdlYlhSV2ViR0xMYXll
cjo6Y3JlYXRlKFJlZjxXZWJYUlNlc3Npb24+JiYgc2UKICAgICApOwogfQogCi0vLyBodHRwczov
L2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlvL3dlYnhyLyNuYXRpdmUtd2ViZ2wtZnJhbWVidWZmZXIt
cmVzb2x1dGlvbgotSW50U2l6ZSBXZWJYUldlYkdMTGF5ZXI6OmNvbXB1dGVOYXRpdmVXZWJHTEZy
YW1lYnVmZmVyUmVzb2x1dGlvbigpCi17Ci0gICAgLy8gRklYTUU6IGltcGxlbWVudCB0aGlzCi0g
ICAgcmV0dXJuIHsgMSwgMSB9OwotfQotCi0vLyBodHRwczovL2ltbWVyc2l2ZS13ZWIuZ2l0aHVi
LmlvL3dlYnhyLyNyZWNvbW1lbmRlZC13ZWJnbC1mcmFtZWJ1ZmZlci1yZXNvbHV0aW9uCi1JbnRT
aXplIFdlYlhSV2ViR0xMYXllcjo6Y29tcHV0ZVJlY29tbWVuZGVkV2ViR0xGcmFtZWJ1ZmZlclJl
c29sdXRpb24oKQotewotICAgIHJldHVybiBjb21wdXRlTmF0aXZlV2ViR0xGcmFtZWJ1ZmZlclJl
c29sdXRpb24oKTsKLX0KLQogV2ViWFJXZWJHTExheWVyOjpXZWJYUldlYkdMTGF5ZXIoUmVmPFdl
YlhSU2Vzc2lvbj4mJiBzZXNzaW9uLCBXZWJYUlJlbmRlcmluZ0NvbnRleHQmJiBjb250ZXh0LCBj
b25zdCBYUldlYkdMTGF5ZXJJbml0JiBpbml0KQogICAgIDogV2ViWFJMYXllcihzZXNzaW9uLT5z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCiAgICAgLCBtX3Nlc3Npb24oV1RGTW92ZShzZXNzaW9u
KSkKQEAgLTEyNyw3ICsxMTQsNyBAQCBXZWJYUldlYkdMTGF5ZXI6OldlYlhSV2ViR0xMYXllcihS
ZWY8V2ViWFJTZXNzaW9uPiYmIHNlc3Npb24sIFdlYlhSUmVuZGVyaW5nQ29udAogICAgICAgICBt
X2FudGlhbGlhcyA9IGluaXQuYW50aWFsaWFzOwogCiAgICAgICAgIC8vICAyLiBMZXQgZnJhbWVi
dWZmZXJTaXplIGJlIHRoZSByZWNvbW1lbmRlZCBXZWJHTCBmcmFtZWJ1ZmZlciByZXNvbHV0aW9u
IG11bHRpcGxpZWQgYnkgbGF5ZXJJbml0J3MgZnJhbWVidWZmZXJTY2FsZUZhY3Rvci4KLSAgICAg
ICAgSW50U2l6ZSByZWNvbW1lbmRlZFNpemUgPSBjb21wdXRlUmVjb21tZW5kZWRXZWJHTEZyYW1l
YnVmZmVyUmVzb2x1dGlvbigpOworICAgICAgICBJbnRTaXplIHJlY29tbWVuZGVkU2l6ZSA9IG1f
c2Vzc2lvbi0+cmVjb21tZW5kZWRXZWJHTEZyYW1lYnVmZmVyUmVzb2x1dGlvbigpOwogICAgICAg
ICBtX2ZyYW1lYnVmZmVyLndpZHRoID0gcmVjb21tZW5kZWRTaXplLndpZHRoKCkgKiBpbml0LmZy
YW1lYnVmZmVyU2NhbGVGYWN0b3I7CiAgICAgICAgIG1fZnJhbWVidWZmZXIuaGVpZ2h0ID0gcmVj
b21tZW5kZWRTaXplLmhlaWdodCgpICogaW5pdC5mcmFtZWJ1ZmZlclNjYWxlRmFjdG9yOwogCkBA
IC0yMDQsOCArMTkxLDggQEAgZG91YmxlIFdlYlhSV2ViR0xMYXllcjo6Z2V0TmF0aXZlRnJhbWVi
dWZmZXJTY2FsZUZhY3Rvcihjb25zdCBXZWJYUlNlc3Npb24mIHNlc3MKICAgICBpZiAoc2Vzc2lv
bi5lbmRlZCgpKQogICAgICAgICByZXR1cm4gMC4wOwogCi0gICAgSW50U2l6ZSBuYXRpdmVTaXpl
ID0gY29tcHV0ZU5hdGl2ZVdlYkdMRnJhbWVidWZmZXJSZXNvbHV0aW9uKCk7Ci0gICAgSW50U2l6
ZSByZWNvbW1lbmRlZFNpemUgPSBjb21wdXRlUmVjb21tZW5kZWRXZWJHTEZyYW1lYnVmZmVyUmVz
b2x1dGlvbigpOworICAgIEludFNpemUgbmF0aXZlU2l6ZSA9IHNlc3Npb24ubmF0aXZlV2ViR0xG
cmFtZWJ1ZmZlclJlc29sdXRpb24oKTsKKyAgICBJbnRTaXplIHJlY29tbWVuZGVkU2l6ZSA9IHNl
c3Npb24ucmVjb21tZW5kZWRXZWJHTEZyYW1lYnVmZmVyUmVzb2x1dGlvbigpOwogCiAgICAgUkVM
RUFTRV9BU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighcmVjb21tZW5kZWRTaXplLmlz
WmVybygpKTsKICAgICByZXR1cm4gKG5hdGl2ZVNpemUgLyByZWNvbW1lbmRlZFNpemUpLndpZHRo
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS94ci9QbGF0Zm9ybVhSLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS94ci9QbGF0Zm9ybVhSLmgKaW5kZXggMzcxMDIzY2Ex
YmNmNmNiODdlMGM2NzY4ZGJiNjUyNGRhYmRiM2I2Zi4uZTNjNWI1MmZhOTYwMzYxMmViNGE0NDc4
NWQ0OTRkODU1YjYzYTFhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0veHIv
UGxhdGZvcm1YUi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3hyL1BsYXRmb3JtWFIu
aApAQCAtMTgsNiArMTgsNyBAQAogICovCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkludFNp
emUuaCIKICNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNs
dWRlIDx3dGYvVW5pcXVlUmVmLmg+CkBAIC01Myw2ICs1NCw4IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldEVuYWJsZWRGZWF0dXJlcyhTZXNzaW9uTW9kZSBtb2RlLCBjb25zdCBMaXN0T2ZFbmFibGVk
RmVhdHVyZXMmIGZlYXR1cmVzKSB7IG1fZW5hYmxlZEZlYXR1cmVzTWFwLnNldChtb2RlLCBmZWF0
dXJlcyk7IH0KICAgICBMaXN0T2ZFbmFibGVkRmVhdHVyZXMgZW5hYmxlZEZlYXR1cmVzKFNlc3Np
b25Nb2RlIG1vZGUpIGNvbnN0IHsgcmV0dXJuIG1fZW5hYmxlZEZlYXR1cmVzTWFwLmdldChtb2Rl
KTsgfQogCisgICAgdmlydHVhbCBXZWJDb3JlOjpJbnRTaXplIHJlY29tbWVuZGVkUmVzb2x1dGlv
bihTZXNzaW9uTW9kZSkgeyByZXR1cm4geyAxLCAxIH07IH0KKwogICAgIGJvb2wgc3VwcG9ydHNP
cmllbnRhdGlvblRyYWNraW5nKCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0c09yaWVudGF0aW9u
VHJhY2tpbmc7IH0KIAogcHJvdGVjdGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0veHIvb3BlbnhyL1BsYXRmb3JtWFJPcGVuWFIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0veHIvb3BlbnhyL1BsYXRmb3JtWFJPcGVuWFIuY3BwCmluZGV4IDcxMmMxODcxZGFhOTFm
OTg4ZGQ2YzNiZTdiOTM2NjIwNWVmMDY3OWQuLjFhN2VmYzQ4YzVmNjNiNzc0YzVmNjI4YTliZjgw
YzYzMTdhYzhkMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3hyL29wZW54
ci9QbGF0Zm9ybVhST3BlblhSLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS94ci9v
cGVueHIvUGxhdGZvcm1YUk9wZW5YUi5jcHAKQEAgLTcwLDcgKzcwLDYgQEAgcHVibGljOgogICAg
IH5JbXBsKCk7CiAKICNpZiBVU0VfT1BFTlhSCi0gICAgT3B0aW9uYWw8VmVjdG9yPFNlc3Npb25N
b2RlPj4gY29sbGVjdFN1cHBvcnRlZFNlc3Npb25Nb2RlcyhPcGVuWFJEZXZpY2UmKTsKICAgICBY
ckluc3RhbmNlIHhySW5zdGFuY2UoKSBjb25zdCB7IHJldHVybiBtX2luc3RhbmNlOyB9CiAjZW5k
aWYKIApAQCAtOTUsOCArOTQsMTUgQEAgdm9pZCBJbnN0YW5jZTo6SW1wbDo6ZW51bWVyYXRlQXBp
TGF5ZXJQcm9wZXJ0aWVzKCkgY29uc3QKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFZl
Y3RvcjxYckFwaUxheWVyUHJvcGVydGllcz4gcHJvcGVydGllcyhwcm9wZXJ0eUNvdW50T3V0cHV0
KTsKLSAgICByZXN1bHQgPSB4ckVudW1lcmF0ZUFwaUxheWVyUHJvcGVydGllcyhwcm9wZXJ0eUNv
dW50T3V0cHV0LCBudWxscHRyLCBwcm9wZXJ0aWVzLmRhdGEoKSk7CisgICAgVmVjdG9yPFhyQXBp
TGF5ZXJQcm9wZXJ0aWVzPiBwcm9wZXJ0aWVzKHByb3BlcnR5Q291bnRPdXRwdXQsCisgICAgICAg
IFtdIHsKKyAgICAgICAgICAgIFhyQXBpTGF5ZXJQcm9wZXJ0aWVzIG9iamVjdDsKKyAgICAgICAg
ICAgIHN0ZDo6bWVtc2V0KCZvYmplY3QsIDAsIHNpemVvZihYckFwaUxheWVyUHJvcGVydGllcykp
OworICAgICAgICAgICAgb2JqZWN0LnR5cGUgPSBYUl9UWVBFX0FQSV9MQVlFUl9QUk9QRVJUSUVT
OworICAgICAgICAgICAgcmV0dXJuIG9iamVjdDsKKyAgICAgICAgfSgpKTsKKyAgICByZXN1bHQg
PSB4ckVudW1lcmF0ZUFwaUxheWVyUHJvcGVydGllcyhwcm9wZXJ0eUNvdW50T3V0cHV0LCAmcHJv
cGVydHlDb3VudE91dHB1dCwgcHJvcGVydGllcy5kYXRhKCkpOworCiAgICAgUkVUVVJOX0lGX0ZB
SUxFRChyZXN1bHQsICJ4ckVudW1lcmF0ZUFwaUxheWVyUHJvcGVydGllcygpIiwgbV9pbnN0YW5j
ZSk7CiAgICAgTE9HKFhSLCAieHJFbnVtZXJhdGVBcGlMYXllclByb3BlcnRpZXMoKTogJXp1IHBy
b3BlcnRpZXNcbiIsIHByb3BlcnRpZXMuc2l6ZSgpKTsKIH0KQEAgLTIxMyw2ICsyMTksNyBAQCBP
cGVuWFJEZXZpY2U6Ok9wZW5YUkRldmljZShYclN5c3RlbUlkIGlkLCBYckluc3RhbmNlIGluc3Rh
bmNlKQogICAgICAgICBMT0coWFIsICJ4ckdldFN5c3RlbVByb3BlcnRpZXMoKTogZXJyb3IgJXNc
biIsIHJlc3VsdFRvU3RyaW5nKHJlc3VsdCwgbV9pbnN0YW5jZSkudXRmOCgpLmRhdGEoKSk7CiAK
ICAgICBjb2xsZWN0U3VwcG9ydGVkU2Vzc2lvbk1vZGVzKCk7CisgICAgZW51bWVyYXRlQ29uZmln
dXJhdGlvblZpZXdzKCk7CiB9CiAKIHZvaWQgT3BlblhSRGV2aWNlOjpjb2xsZWN0U3VwcG9ydGVk
U2Vzc2lvbk1vZGVzKCkKQEAgLTIzMiwxOCArMjM5LDU2IEBAIHZvaWQgT3BlblhSRGV2aWNlOjpj
b2xsZWN0U3VwcG9ydGVkU2Vzc2lvbk1vZGVzKCkKICAgICAgICAgICAgIExPRyhYUiwgInhyR2V0
Vmlld0NvbmZpZ3VyYXRpb25Qcm9wZXJ0aWVzKCk6IGVycm9yICVzXG4iLCByZXN1bHRUb1N0cmlu
ZyhyZXN1bHQsIG1faW5zdGFuY2UpLnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICAgICAgY29udGlu
dWU7CiAgICAgICAgIH0KLSAgICAgICAgc3dpdGNoICh2aWV3Q29uZmlndXJhdGlvblByb3BlcnRp
ZXMudmlld0NvbmZpZ3VyYXRpb25UeXBlKSB7CisgICAgICAgIGF1dG8gY29uZmlnVHlwZSA9IHZp
ZXdDb25maWd1cmF0aW9uUHJvcGVydGllcy52aWV3Q29uZmlndXJhdGlvblR5cGU7CisgICAgICAg
IHN3aXRjaCAoY29uZmlnVHlwZSkgewogICAgICAgICBjYXNlIFhSX1ZJRVdfQ09ORklHVVJBVElP
Tl9UWVBFX1BSSU1BUllfTU9OTzoKLSAgICAgICAgICAgIHNldEVuYWJsZWRGZWF0dXJlcyhTZXNz
aW9uTW9kZTo6SW1tZXJzaXZlQXIsIHsgfSk7CisgICAgICAgICAgICBzZXRFbmFibGVkRmVhdHVy
ZXMoU2Vzc2lvbk1vZGU6OklubGluZSwgeyB9KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICBjYXNlIFhSX1ZJRVdfQ09ORklHVVJBVElPTl9UWVBFX1BSSU1BUllfU1RFUkVPOgogICAgICAg
ICAgICAgc2V0RW5hYmxlZEZlYXR1cmVzKFNlc3Npb25Nb2RlOjpJbW1lcnNpdmVWciwgeyB9KTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfTsKKyAgICAgICAgbV92aWV3Q29uZmln
dXJhdGlvblByb3BlcnRpZXMuYWRkKGNvbmZpZ1R5cGUsIFdURk1vdmUodmlld0NvbmZpZ3VyYXRp
b25Qcm9wZXJ0aWVzKSk7CisgICAgfQorfQorCit2b2lkIE9wZW5YUkRldmljZTo6ZW51bWVyYXRl
Q29uZmlndXJhdGlvblZpZXdzKCkKK3sKKyAgICBmb3IgKGF1dG8mIGNvbmZpZyA6IG1fdmlld0Nv
bmZpZ3VyYXRpb25Qcm9wZXJ0aWVzLnZhbHVlcygpKSB7CisgICAgICAgIHVpbnQzMl90IHZpZXdD
b3VudDsKKyAgICAgICAgYXV0byBjb25maWdUeXBlID0gY29uZmlnLnZpZXdDb25maWd1cmF0aW9u
VHlwZTsKKyAgICAgICAgYXV0byByZXN1bHQgPSB4ckVudW1lcmF0ZVZpZXdDb25maWd1cmF0aW9u
Vmlld3MobV9pbnN0YW5jZSwgbV9zeXN0ZW1JZCwgY29uZmlnVHlwZSwgMCwgJnZpZXdDb3VudCwg
bnVsbHB0cik7CisgICAgICAgIGlmIChyZXN1bHQgIT0gWFJfU1VDQ0VTUykgeworICAgICAgICAg
ICAgTE9HKFhSLCAiJXMgJXM6ICVzXG4iLCBfX2Z1bmNfXywgInhyRW51bWVyYXRlVmlld0NvbmZp
Z3VyYXRpb25WaWV3cyIsIHJlc3VsdFRvU3RyaW5nKHJlc3VsdCwgbV9pbnN0YW5jZSkudXRmOCgp
LmRhdGEoKSk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorCisgICAgICAgIFZl
Y3RvcjxYclZpZXdDb25maWd1cmF0aW9uVmlldz4gY29uZmlnVmlld3Modmlld0NvdW50LAorICAg
ICAgICAgICAgW10geworICAgICAgICAgICAgICAgIFhyVmlld0NvbmZpZ3VyYXRpb25WaWV3IG9i
amVjdDsKKyAgICAgICAgICAgICAgICBzdGQ6Om1lbXNldCgmb2JqZWN0LCAwLCBzaXplb2YoWHJW
aWV3Q29uZmlndXJhdGlvblZpZXcpKTsKKyAgICAgICAgICAgICAgICBvYmplY3QudHlwZSA9IFhS
X1RZUEVfVklFV19DT05GSUdVUkFUSU9OX1ZJRVc7CisgICAgICAgICAgICAgICAgcmV0dXJuIG9i
amVjdDsKKyAgICAgICAgICAgIH0oKSk7CisgICAgICAgIHJlc3VsdCA9IHhyRW51bWVyYXRlVmll
d0NvbmZpZ3VyYXRpb25WaWV3cyhtX2luc3RhbmNlLCBtX3N5c3RlbUlkLCBjb25maWdUeXBlLCB2
aWV3Q291bnQsICZ2aWV3Q291bnQsIGNvbmZpZ1ZpZXdzLmRhdGEoKSk7CisgICAgICAgIGlmIChy
ZXN1bHQgIT0gWFJfU1VDQ0VTUykKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBtX2Nv
bmZpZ3VyYXRpb25WaWV3cy5hZGQoY29uZmlnVHlwZSwgV1RGTW92ZShjb25maWdWaWV3cykpOwog
ICAgIH0KIH0KKworV2ViQ29yZTo6SW50U2l6ZSBPcGVuWFJEZXZpY2U6OnJlY29tbWVuZGVkUmVz
b2x1dGlvbihTZXNzaW9uTW9kZSBtb2RlKQoreworICAgIGF1dG8gY29uZmlnVHlwZSA9IG1vZGUg
PT0gU2Vzc2lvbk1vZGU6OklubGluZSA/IFhSX1ZJRVdfQ09ORklHVVJBVElPTl9UWVBFX1BSSU1B
UllfTU9OTyA6IFhSX1ZJRVdfQ09ORklHVVJBVElPTl9UWVBFX1BSSU1BUllfU1RFUkVPOworICAg
IGF1dG8gdmlld3NJdGVyYXRvciA9IG1fY29uZmlndXJhdGlvblZpZXdzLmZpbmQoY29uZmlnVHlw
ZSk7CisgICAgaWYgKHZpZXdzSXRlcmF0b3IgIT0gbV9jb25maWd1cmF0aW9uVmlld3MuZW5kKCkp
CisgICAgICAgIHJldHVybiB7IHN0YXRpY19jYXN0PGludD4odmlld3NJdGVyYXRvci0+dmFsdWVb
MF0ucmVjb21tZW5kZWRJbWFnZVJlY3RXaWR0aCksIHN0YXRpY19jYXN0PGludD4odmlld3NJdGVy
YXRvci0+dmFsdWVbMF0ucmVjb21tZW5kZWRJbWFnZVJlY3RIZWlnaHQpIH07CisgICAgcmV0dXJu
IERldmljZTo6cmVjb21tZW5kZWRSZXNvbHV0aW9uKG1vZGUpOworfQorCisKICNlbmRpZiAvLyBV
U0VfT1BFTlhSCiAKIH0gLy8gbmFtZXNwYWNlIFBsYXRmb3JtWFIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3hyL29wZW54ci9QbGF0Zm9ybVhST3BlblhSLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS94ci9vcGVueHIvUGxhdGZvcm1YUk9wZW5YUi5oCmluZGV4IDVhOTZk
NjM1ZDg5ODlkNGViZWE1ZTYxNjY1NzZjZmQ5NDBiM2Y5MjAuLjUzN2Y1YmIxMzZmMGFjYmJiZTEx
YzQ1Mzc4ZjYwMDA0NTM5ZDg5ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3hyL29wZW54ci9QbGF0Zm9ybVhST3BlblhSLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0veHIvb3BlbnhyL1BsYXRmb3JtWFJPcGVuWFIuaApAQCAtMjIsNiArMjIsOSBAQAogI2lmIEVO
QUJMRShXRUJYUikKICNpbmNsdWRlICJQbGF0Zm9ybVhSLmgiCiAKKyNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorCiAjaWYgVVNFX09QRU5YUgogI2lu
Y2x1ZGUgPG9wZW54ci9vcGVueHIuaD4KIApAQCAtNDUsNiArNDgsMTQgQEAgcHVibGljOgogICAg
IFhyU3lzdGVtSWQgeHJTeXN0ZW1JZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3lzdGVtSWQ7IH0KIHBy
aXZhdGU6CiAgICAgdm9pZCBjb2xsZWN0U3VwcG9ydGVkU2Vzc2lvbk1vZGVzKCk7CisgICAgdm9p
ZCBlbnVtZXJhdGVDb25maWd1cmF0aW9uVmlld3MoKTsKKworICAgIFdlYkNvcmU6OkludFNpemUg
cmVjb21tZW5kZWRSZXNvbHV0aW9uKFNlc3Npb25Nb2RlKSBmaW5hbDsKKworICAgIHVzaW5nIFZp
ZXdDb25maWd1cmF0aW9uUHJvcGVydGllc01hcCA9IEhhc2hNYXA8WHJWaWV3Q29uZmlndXJhdGlv
blR5cGUsIFhyVmlld0NvbmZpZ3VyYXRpb25Qcm9wZXJ0aWVzLCBJbnRIYXNoPFhyVmlld0NvbmZp
Z3VyYXRpb25UeXBlPiwgV1RGOjpTdHJvbmdFbnVtSGFzaFRyYWl0czxYclZpZXdDb25maWd1cmF0
aW9uVHlwZT4+OworICAgIFZpZXdDb25maWd1cmF0aW9uUHJvcGVydGllc01hcCBtX3ZpZXdDb25m
aWd1cmF0aW9uUHJvcGVydGllczsKKyAgICB1c2luZyBWaWV3Q29uZmlndXJhdGlvblZpZXdzTWFw
ID0gSGFzaE1hcDxYclZpZXdDb25maWd1cmF0aW9uVHlwZSwgVmVjdG9yPFhyVmlld0NvbmZpZ3Vy
YXRpb25WaWV3PiwgSW50SGFzaDxYclZpZXdDb25maWd1cmF0aW9uVHlwZT4sIFdURjo6U3Ryb25n
RW51bUhhc2hUcmFpdHM8WHJWaWV3Q29uZmlndXJhdGlvblR5cGU+PjsKKyAgICBWaWV3Q29uZmln
dXJhdGlvblZpZXdzTWFwIG1fY29uZmlndXJhdGlvblZpZXdzOwogCiAgICAgWHJTeXN0ZW1JZCBt
X3N5c3RlbUlkOwogICAgIFhySW5zdGFuY2UgbV9pbnN0YW5jZTsK
</data>
<flag name="review"
          id="418807"
          type_id="1"
          status="+"
          setter="cgarcia"
    />
          </attachment>
      

    </bug>

</bugzilla>