<?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>130252</bug_id>
          
          <creation_ts>2014-03-14 11:11:06 -0700</creation_ts>
          <short_desc>Fix WebCore unused parameter warnings for WebKitGTK+ CMake build</short_desc>
          <delta_ts>2014-03-15 18:28:19 -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>WebKitGTK</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Martin Robinson">mrobinson</reporter>
          <assigned_to name="Martin Robinson">mrobinson</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>990573</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-03-14 11:11:06 -0700</bug_when>
    <thetext>These unused parameter warnings are making it difficult to spot important warnings. We&apos;ve put off fixing them for years, so we should fix them now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990576</commentid>
    <comment_count>1</comment_count>
      <attachid>226738</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-03-14 11:16:20 -0700</bug_when>
    <thetext>Created attachment 226738
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990577</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-14 11:17:32 -0700</bug_when>
    <thetext>Attachment 226738 did not pass style-queue:


ERROR: Source/WebCore/plugins/gtk/gtk2xtbin.c:134:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/plugins/gtk/gtk2xtbin.c:135:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/plugins/gtk/gtk2xtbin.c:148:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/plugins/gtk/gtk2xtbin.c:168:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/plugins/gtk/gtk2xtbin.c:169:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/plugins/gtk/gtk2xtbin.c:170:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/plugins/gtk/gtk2xtbin.c:700:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/plugins/gtk/gtk2xtbin.c:837:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 8 in 28 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990579</commentid>
    <comment_count>3</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-03-14 11:26:57 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Attachment 226738 [details] did not pass style-queue:

gtk2xtbin.c has never followed WebKit coding style, so these are false positives.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990851</commentid>
    <comment_count>4</comment_count>
      <attachid>226738</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-03-15 01:36:49 -0700</bug_when>
    <thetext>Comment on attachment 226738
Patch

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

Thanks!

&gt; Source/WebCore/platform/gtk/GtkVersioning.c:91
&gt; +    UNUSED_PARAM(srcX);
&gt; +

Have you checked this isn&apos;t a bug? sounds weird we are not using srcX, but I haven&apos;t looked at the code.

&gt; Source/WebCore/platform/soup/SharedBufferSoup.cpp:44
&gt; -void SharedBuffer::tryReplaceContentsWithPlatformBuffer(SharedBuffer* newContents)
&gt; +void SharedBuffer::tryReplaceContentsWithPlatformBuffer(SharedBuffer* /* newContents */)

Maybe we can simply omit the parameter in this case.

&gt; Source/WebCore/plugins/gtk/PluginViewGtk.cpp:500
&gt; -void PluginView::plugAddedCallback(GtkSocket* socket, PluginView* view)
&gt; +void PluginView::plugAddedCallback(GtkSocket*, PluginView* view)
&gt;  {
&gt;      ASSERT(socket);

This is going to fail in debug builds. I think we can remove the assert, the callback will never be emitted with a NULL widget.

&gt; Source/WebCore/plugins/gtk/gtk2xtbin.c:135
&gt; +  UNUSED_PARAM(source_data);
&gt; +  UNUSED_PARAM(timeout);

We can&apos;t omit the names here because this file is C?

&gt; Source/WebCore/rendering/InlineTextBox.cpp:991
&gt; +#if !ENABLE(CSS3_TEXT_DECORATION_SKIP_INK)
&gt; +    UNUSED_PARAM(textPainter);
&gt; +#endif

Why not adding an #else to the existing ifdef? because there&apos;s more than one in the function body?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990896</commentid>
    <comment_count>5</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-03-15 15:49:33 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 226738 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=226738&amp;action=review
&gt; 
&gt; Thanks!
&gt; 
&gt; &gt; Source/WebCore/platform/gtk/GtkVersioning.c:91
&gt; &gt; +    UNUSED_PARAM(srcX);
&gt; &gt; +
&gt; 
&gt; Have you checked this isn&apos;t a bug? sounds weird we are not using srcX, but I haven&apos;t looked at the code.

It was pretty suspicious to me too, but I haven&apos;t had a chance to look into it. I&apos;ve uncovered at least two serious problems already fixing these issues!

&gt; 
&gt; &gt; Source/WebCore/platform/soup/SharedBufferSoup.cpp:44
&gt; &gt; -void SharedBuffer::tryReplaceContentsWithPlatformBuffer(SharedBuffer* newContents)
&gt; &gt; +void SharedBuffer::tryReplaceContentsWithPlatformBuffer(SharedBuffer* /* newContents */)
&gt; 
&gt; Maybe we can simply omit the parameter in this case.

Sure.
 
&gt; &gt; Source/WebCore/plugins/gtk/PluginViewGtk.cpp:500
&gt; &gt; -void PluginView::plugAddedCallback(GtkSocket* socket, PluginView* view)
&gt; &gt; +void PluginView::plugAddedCallback(GtkSocket*, PluginView* view)
&gt; &gt;  {
&gt; &gt;      ASSERT(socket);
&gt; 
&gt; This is going to fail in debug builds. I think we can remove the assert, the callback will never be emitted with a NULL widget.

Nice catch! We should probably replace it with ASSERT_UNUSED.

&gt; &gt; Source/WebCore/plugins/gtk/gtk2xtbin.c:135
&gt; &gt; +  UNUSED_PARAM(source_data);
&gt; &gt; +  UNUSED_PARAM(timeout);
&gt; 
&gt; We can&apos;t omit the names here because this file is C?

That&apos;s right.

&gt; &gt; Source/WebCore/rendering/InlineTextBox.cpp:991
&gt; &gt; +#if !ENABLE(CSS3_TEXT_DECORATION_SKIP_INK)
&gt; &gt; +    UNUSED_PARAM(textPainter);
&gt; &gt; +#endif
&gt; 
&gt; Why not adding an #else to the existing ifdef? because there&apos;s more than one in the function body?

Yes. I think it makes sense to have the UNUSED_PARAM at the start of the function too. Having it in a predictable location will likely be better for visibility.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990911</commentid>
    <comment_count>6</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-03-15 18:28:19 -0700</bug_when>
    <thetext>Committed r165688: &lt;http://trac.webkit.org/changeset/165688&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226738</attachid>
            <date>2014-03-14 11:16:20 -0700</date>
            <delta_ts>2014-03-15 01:36:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130252-20140314111556.patch</filename>
            <type>text/plain</type>
            <size>26109</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1NjI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWE5ZDkyZTBlY2EwYzcy
YmIzZmI5ZDQ1ZmVmMDM4NDk2ZWU4NmY2Zi4uY2MxMzdiZDZmMDZlNzQ1NDMxZTViNWYzNDNkNTE5
OTFiNzBhNWE1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE0LTAzLTE0ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBGaXggV2ViQ29y
ZSB1bnVzZWQgcGFyYW1ldGVyIHdhcm5pbmdzIGZvciBXZWJLaXRHVEsrIENNYWtlIGJ1aWxkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzAyNTIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzdHJlYW0vSFRNTE1lZGlhRWxlbWVudE1lZGlhU3RyZWFtLmNwcDogRml4IHVudXNlZCBw
YXJhbWV0ZXJzLgorICAgICAgICAqIGh0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwOiBEaXR0by4KKyAg
ICAgICAgKiBwYWdlL2d0ay9FdmVudEhhbmRsZXJHdGsuY3BwOiBEaXR0by4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHA6IERpdHRvLgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRNZWRpYVNvdXJjZUdT
dHJlYW1lci5jcHA6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMRVMuY3BwOiBEaXR0by4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvR2FtZXBhZHNHdGsuY3BwOiBEaXR0by4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ndGsvR3RrQ2xpY2tDb3VudGVyLmNwcDogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0v
Z3RrL0d0a1BvcHVwTWVudS5jcHA6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9HdGtU
b3VjaENvbnRleHRIZWxwZXIuY3BwOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvR3Rr
VmVyc2lvbmluZy5jOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvTWFpbkZyYW1lU2Ny
b2xsYmFyR3RrLmNwcDogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRH
dGsuY3BwOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvUGFzdGVib2FyZEhlbHBlci5j
cHA6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdp
bmRvdy5jcHA6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5j
cHA6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5oOiBEaXR0
by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsyLmNwcDogRGl0dG8uCisg
ICAgICAgICogcGxhdGZvcm0vZ3RrL1Njcm9sbGJhclRoZW1lR3RrLmNwcDogRGl0dG8uCisgICAg
ICAgICogcGxhdGZvcm0vZ3RrL1Njcm9sbGJhclRoZW1lR3RrMi5jcHA6IERpdHRvLgorICAgICAg
ICAqIHBsYXRmb3JtL2d0ay9XaWRnZXRHdGsuY3BwOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL2d0ay9DcmVkZW50aWFsQmFja2luZ1N0b3JlLmNwcDogRGl0dG8uCisgICAgICAg
ICogcGxhdGZvcm0vc291cC9TaGFyZWRCdWZmZXJTb3VwLmNwcDogRGl0dG8uCisgICAgICAgICog
cGx1Z2lucy9ndGsvUGx1Z2luVmlld0d0ay5jcHA6IERpdHRvLgorICAgICAgICAqIHBsdWdpbnMv
Z3RrL2d0azJ4dGJpbi5jOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lVGV4dEJv
eC5jcHA6IERpdHRvLgorCiAyMDE0LTAzLTE0ICBLcnp5c3p0b2YgQ3plY2ggIDxrLmN6ZWNoQHNh
bXN1bmcuY29tPgogCiAgICAgICAgIE1vdmUgV2ViU3BlZWNoIGNvZGUgdG8gdXNlIHN0ZDo6dW5p
cXVlX3B0cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9I
VE1MTWVkaWFFbGVtZW50TWVkaWFTdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9IVE1MTWVkaWFFbGVtZW50TWVkaWFTdHJlYW0uY3BwCmluZGV4IDFkYzkwNWE1
N2MzYzkyYmI0YjIxOTVmNzM4YzA1NGNjMzE0ZDUwMDIuLmM1OTM4ZDE3MjcwMzFmZDU3ZGFjZjBl
NjAzNWY3Mjk4MzEyMmYxNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vSFRNTE1lZGlhRWxlbWVudE1lZGlhU3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0hUTUxNZWRpYUVsZW1lbnRNZWRpYVN0cmVhbS5jcHAK
QEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1NZWRpYVN0cmVhbSog
SFRNTE1lZGlhRWxlbWVudE1lZGlhU3RyZWFtOjpzcmNPYmplY3QoSFRNTE1lZGlhRWxlbWVudCog
bWVkaWFFbGVtZW50LCBib29sJiBpc051bGwpCitNZWRpYVN0cmVhbSogSFRNTE1lZGlhRWxlbWVu
dE1lZGlhU3RyZWFtOjpzcmNPYmplY3QoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50LCBi
b29sJiAvKiBpc051bGwgKi8pCiB7CiAgICAgQVNTRVJUKG1lZGlhRWxlbWVudCk7CiAgICAgcmV0
dXJuIG1lZGlhRWxlbWVudC0+c3JjT2JqZWN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1
dFR5cGUuY3BwCmluZGV4IDg2NjE1NTViYjVjYTY5Y2NlODM4MTA5ZGVjZGY4ZTZhNmQ5M2U3N2Mu
LmVmODMxMmM1Mjk4OTA4ZmY0MWI0YTNmNzBkZDI5MmZlMTI2NzZhNmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwCkBAIC0xNzEsNiArMTcxLDggQEAgdm9pZCBSYW5nZUlu
cHV0VHlwZTo6aGFuZGxlVG91Y2hFdmVudChUb3VjaEV2ZW50KiBldmVudCkKICAgICAgICAgdHlw
ZWRTbGlkZXJUaHVtYkVsZW1lbnQoKS5zZXRQb3NpdGlvbkZyb21Qb2ludCh0b3VjaGVzLT5pdGVt
KDApLT5hYnNvbHV0ZUxvY2F0aW9uKCkpOwogICAgICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRs
ZWQoKTsKICAgICB9CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShldmVudCk7CiAjZW5kaWYKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ndGsvRXZlbnRIYW5kbGVyR3RrLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvZ3RrL0V2ZW50SGFuZGxlckd0ay5jcHAKaW5kZXggZTZl
NDU2MjVjMTI4OTkwMzUxMzhmMzg1NGQ4NzE1MDBlMmZmMzY0Yy4uZTY0MTFhYjIyY2FhZmJmM2Zl
NjA4OTM5NTkyMzc4YzUxY2UxNTFmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9n
dGsvRXZlbnRIYW5kbGVyR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2d0ay9FdmVu
dEhhbmRsZXJHdGsuY3BwCkBAIC00Niw3ICs0Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNv
bnN0IGRvdWJsZSBFdmVudEhhbmRsZXI6OlRleHREcmFnRGVsYXkgPSAwLjA7CiAjZW5kaWYKIAot
Ym9vbCBFdmVudEhhbmRsZXI6OnRhYnNUb0FsbEZvcm1Db250cm9scyhLZXlib2FyZEV2ZW50KiBl
dmVudCkgY29uc3QKK2Jvb2wgRXZlbnRIYW5kbGVyOjp0YWJzVG9BbGxGb3JtQ29udHJvbHMoS2V5
Ym9hcmRFdmVudCopIGNvbnN0CiB7CiAgICAgLy8gV2UgYWx3YXlzIGFsbG93IHRhYnMgdG8gYWxs
IGNvbnRyb2xzCiAgICAgcmV0dXJuIHRydWU7CkBAIC03Miw3ICs3Miw3IEBAIGJvb2wgRXZlbnRI
YW5kbGVyOjpwYXNzV2lkZ2V0TW91c2VEb3duRXZlbnRUb1dpZGdldChSZW5kZXJXaWRnZXQqIHJl
bmRlcldpZGdldCkKICAgICByZXR1cm4gcGFzc01vdXNlRG93bkV2ZW50VG9XaWRnZXQocmVuZGVy
V2lkZ2V0LT53aWRnZXQoKSk7CiB9CiAKLWJvb2wgRXZlbnRIYW5kbGVyOjpwYXNzTW91c2VEb3du
RXZlbnRUb1dpZGdldChXaWRnZXQqIHdpZGdldCkKK2Jvb2wgRXZlbnRIYW5kbGVyOjpwYXNzTW91
c2VEb3duRXZlbnRUb1dpZGdldChXaWRnZXQqKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CiAg
ICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCmluZGV4IGZiNmU2
ZDM1ZGViOTIwYmI5YTQxZmM4NmQ5OThiYTQyNGY5ODYxMmMuLjA0NjFhZTRjZDg2MTIyZThiMDNk
NTNhYjJkY2I1Y2YzYTBhOWRiZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAKQEAg
LTUxMSw2ICs1MTEsOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgYWRqdXN0Rm9jdXNSaW5nQ29sb3Io
Q29sb3ImIGNvbG9yKQogI2lmICFQTEFURk9STShHVEspCiAgICAgLy8gRm9yY2UgdGhlIGFscGhh
IHRvIDUwJS4gIFRoaXMgbWF0Y2hlcyB3aGF0IHRoZSBNYWMgZG9lcyB3aXRoIG91dGxpbmUgcmlu
Z3MuCiAgICAgY29sb3Iuc2V0UkdCKG1ha2VSR0JBKGNvbG9yLnJlZCgpLCBjb2xvci5ncmVlbigp
LCBjb2xvci5ibHVlKCksIDEyNykpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oY29sb3IpOwog
I2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9XZWJLaXRNZWRpYVNvdXJjZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0TWVkaWFTb3VyY2VHU3RyZWFtZXIu
Y3BwCmluZGV4IDgzYjEzN2YzYzEyOWIwOWYwNjA2ODI1YmFiYzU0YTI5MTcxMWRmYTIuLjhmOGU3
MjUxMDRlNDBmZjhkNmVmYjhhZmZhOGIxYTU4MWYwNzFmMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRNZWRpYVNvdXJjZUdTdHJl
YW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L1dlYktpdE1lZGlhU291cmNlR1N0cmVhbWVyLmNwcApAQCAtNDgwLDcgKzQ4MCw3IEBAIHN0YXRp
YyBnY2hhciogd2ViS2l0TWVkaWFTcmNHZXRVcmkoR3N0VVJJSGFuZGxlciogaGFuZGxlcikKICAg
ICByZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgZ2Jvb2xlYW4gd2ViS2l0TWVkaWFTcmNTZXRVcmko
R3N0VVJJSGFuZGxlciogaGFuZGxlciwgY29uc3QgZ2NoYXIqIHVyaSwgR0Vycm9yKiogZXJyb3Ip
CitzdGF0aWMgZ2Jvb2xlYW4gd2ViS2l0TWVkaWFTcmNTZXRVcmkoR3N0VVJJSGFuZGxlciogaGFu
ZGxlciwgY29uc3QgZ2NoYXIqIHVyaSwgR0Vycm9yKiopCiB7CiAgICAgV2ViS2l0TWVkaWFTcmMq
IHNyYyA9IFdFQktJVF9NRURJQV9TUkMoaGFuZGxlcik7CiAgICAgV2ViS2l0TWVkaWFTcmNQcml2
YXRlKiBwcml2ID0gc3JjLT5wcml2OwpAQCAtNjU5LDEzICs2NTksMTMgQEAgc3RhdGljIHZvaWQg
d2ViS2l0TWVkaWFBdWRpb1NyY0Vub3VnaERhdGFDYihHc3RBcHBTcmMqLCBncG9pbnRlciB1c2Vy
RGF0YSkKICAgICBHU1RfT0JKRUNUX1VOTE9DSyhzcmMpOwogfQogCi1zdGF0aWMgZ2Jvb2xlYW4g
d2ViS2l0TWVkaWFWaWRlb1NyY1NlZWtNYWluQ2IoV2ViS2l0TWVkaWFTcmMqIHNyYykKK3N0YXRp
YyBnYm9vbGVhbiB3ZWJLaXRNZWRpYVZpZGVvU3JjU2Vla01haW5DYihXZWJLaXRNZWRpYVNyYyop
CiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKICAgICByZXR1cm4gRkFMU0U7CiB9CiAKLXN0YXRp
YyBnYm9vbGVhbiB3ZWJLaXRNZWRpYUF1ZGlvU3JjU2Vla01haW5DYihXZWJLaXRNZWRpYVNyYyog
c3JjKQorc3RhdGljIGdib29sZWFuIHdlYktpdE1lZGlhQXVkaW9TcmNTZWVrTWFpbkNiKFdlYktp
dE1lZGlhU3JjKikKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwogICAgIHJldHVybiBGQUxTRTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9X
ZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKaW5kZXggMzAxN2Yx
ZDQ0MmQ2MTVkYjFiMmJkYTU3ODI0ODA0ODVhYzNiODdlYy4uOGNiOGE0ZDdlMzQ4MDdhOGFhZDc0
YzcxMGNmZTExZGQ4NDVlMTY4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdT
dHJlYW1lci5jcHAKQEAgLTExMDAsNyArMTEwMCw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGVTdHJl
YW1pbmdDbGllbnQ6OmRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUhhbmRsZSosIGNvbnN0IFJl
CiAgICAgaGFuZGxlUmVzcG9uc2VSZWNlaXZlZChyZXNwb25zZSk7CiB9CiAKLXZvaWQgUmVzb3Vy
Y2VIYW5kbGVTdHJlYW1pbmdDbGllbnQ6OmRpZFJlY2VpdmVEYXRhKFJlc291cmNlSGFuZGxlKiwg
Y29uc3QgY2hhciogZGF0YSwgdW5zaWduZWQgbGVuZ3RoLCBpbnQpCit2b2lkIFJlc291cmNlSGFu
ZGxlU3RyZWFtaW5nQ2xpZW50OjpkaWRSZWNlaXZlRGF0YShSZXNvdXJjZUhhbmRsZSosIGNvbnN0
IGNoYXIqIC8qIGRhdGEgKi8sIHVuc2lnbmVkIC8qIGxlbmd0aCAqLywgaW50KQogewogICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTEVTLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xFUy5jcHAKaW5k
ZXggMTE2Mzk2NGY2MWIyNDgxMzc5NDFkZWY1YWM0ZmZlZDkzNmYxYzQ3ZC4uNTM5MTgyMzVkMmMw
NmY2MmJmMjhhMGM4MGZlNGZjNTBhNWM0M2NhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTEVTLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdM
RVMuY3BwCkBAIC03OCw3ICs3OCw3IEBAIHZvaWQgRXh0ZW5zaW9uczNET3BlbkdMRVM6OnJlbmRl
cmJ1ZmZlclN0b3JhZ2VNdWx0aXNhbXBsZUlNRyh1bnNpZ25lZCBsb25nIHRhcmdlCiAgICAgICAg
IG1fY29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04pOwogfQog
Ci12b2lkIEV4dGVuc2lvbnMzRE9wZW5HTEVTOjpibGl0RnJhbWVidWZmZXIobG9uZyBzcmNYMCwg
bG9uZyBzcmNZMCwgbG9uZyBzcmNYMSwgbG9uZyBzcmNZMSwgbG9uZyBkc3RYMCwgbG9uZyBkc3RZ
MCwgbG9uZyBkc3RYMSwgbG9uZyBkc3RZMSwgdW5zaWduZWQgbG9uZyBtYXNrLCB1bnNpZ25lZCBs
b25nIGZpbHRlcikKK3ZvaWQgRXh0ZW5zaW9uczNET3BlbkdMRVM6OmJsaXRGcmFtZWJ1ZmZlcihs
b25nIC8qIHNyY1gwICovLCBsb25nIC8qIHNyY1kwICovLCBsb25nIC8qIHNyY1gxICovLCBsb25n
IC8qIHNyY1kxICovLCBsb25nIC8qIGRzdFgwICovLCBsb25nIC8qIGRzdFkwICovLCBsb25nIC8q
IGRzdFgxICovLCBsb25nIC8qIGRzdFkxICovLCB1bnNpZ25lZCBsb25nIC8qIG1hc2sgKi8sIHVu
c2lnbmVkIGxvbmcgLyogZmlsdGVyICovKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CkBA
IC0xNTYsOSArMTU2LDEwIEBAIHZvaWQgRXh0ZW5zaW9uczNET3BlbkdMRVM6OmJpbmRWZXJ0ZXhB
cnJheU9FUyhQbGF0Zm9ybTNET2JqZWN0IGFycmF5KQogICAgICAgICBtX2NvbnRleHQtPnN5bnRo
ZXNpemVHTEVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OKTsKIH0KIAotdm9pZCBFeHRlbnNpb25z
M0RPcGVuR0xFUzo6ZHJhd0J1ZmZlcnNFWFQoR0MzRHNpemVpIG4sIGNvbnN0IEdDM0RlbnVtKiBi
dWZzKQordm9pZCBFeHRlbnNpb25zM0RPcGVuR0xFUzo6ZHJhd0J1ZmZlcnNFWFQoR0MzRHNpemVp
IC8qIG4gKi8sIGNvbnN0IEdDM0RlbnVtKiAvKiBidWZzICovKQogewogICAgIC8vIEZJWE1FOiBp
bXBsZW1lbnQgdGhlIHN1cHBvcnQuCisgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAogaW50IEV4
dGVuc2lvbnMzRE9wZW5HTEVTOjpnZXRHcmFwaGljc1Jlc2V0U3RhdHVzQVJCKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HYW1lcGFkc0d0ay5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvR2FtZXBhZHNHdGsuY3BwCmluZGV4IGVlMzYyMGQ0MjU0YThl
MDJlNjEzMzQ3OTcxNGQ5YTE0MTM0MDU4YzcuLjU2OWVkOTdhN2VhYTc1NGZjYjVhNzE5MDRhYjNk
MWRjY2EzNWU0NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HYW1l
cGFkc0d0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0dhbWVwYWRzR3Rr
LmNwcApAQCAtMTg3LDcgKzE4Nyw3IEBAIHZvaWQgR2FtZXBhZHNHdGs6OnVwZGF0ZUdhbWVwYWRM
aXN0KEdhbWVwYWRMaXN0KiBpbnRvKQogICAgIH0KIH0KIAotdm9pZCBHYW1lcGFkc0d0azo6b25V
RXZlbnRDYWxsYmFjayhHVWRldkNsaWVudCogdWRldkNsaWVudCwgZ2NoYXIqIGFjdGlvbiwgR1Vk
ZXZEZXZpY2UqIGRldmljZSwgZ3BvaW50ZXIgZGF0YSkKK3ZvaWQgR2FtZXBhZHNHdGs6Om9uVUV2
ZW50Q2FsbGJhY2soR1VkZXZDbGllbnQqLCBnY2hhciogYWN0aW9uLCBHVWRldkRldmljZSogZGV2
aWNlLCBncG9pbnRlciBkYXRhKQogewogICAgIGlmICghaXNHYW1lcGFkRGV2aWNlKGRldmljZSkp
CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0
ay9HdGtDbGlja0NvdW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a0Ns
aWNrQ291bnRlci5jcHAKaW5kZXggYmFhODkxNzA0YjEyZjcwMDg5NzA1ODg5YzU2NmNmYjU0MTMx
MWNlZC4uMWU4ZDEyZGZlYTA3MmE1N2I1ZWQyZDBmMDJhOTI3MjlhMmQ1MThlYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a0NsaWNrQ291bnRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a0NsaWNrQ291bnRlci5jcHAKQEAgLTM5LDcg
KzM5LDcgQEAgdm9pZCBHdGtDbGlja0NvdW50ZXI6OnJlc2V0KCkKICAgICBtX3ByZXZpb3VzQ2xp
Y2tCdXR0b24gPSAwOwogfQogCi1ib29sIEd0a0NsaWNrQ291bnRlcjo6c2hvdWxkUHJvY2Vzc0J1
dHRvbkV2ZW50KEdka0V2ZW50QnV0dG9uKiBidXR0b25FdmVudCkKK2Jvb2wgR3RrQ2xpY2tDb3Vu
dGVyOjpzaG91bGRQcm9jZXNzQnV0dG9uRXZlbnQoR2RrRXZlbnRCdXR0b24qKQogewogICAgIC8v
IEZvciBkb3VibGUgYW5kIHRyaXBsZSBjbGlja3MgR0RLIHNlbmRzIGJvdGggYSBub3JtYWwgYnV0
dG9uIHByZXNzIGV2ZW50CiAgICAgLy8gYW5kIGEgc3BlY2lmaWMgdHlwZSAobGlrZSBHREtfMkJV
VFRPTl9QUkVTUykuIElmIHdlIGRldGVjdCBhIHNwZWNpYWwgcHJlc3MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HdGtQb3B1cE1lbnUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3RrL0d0a1BvcHVwTWVudS5jcHAKaW5kZXggZTUyY2VhN2ZhZTRlZjk0Njdi
NWU5NWE4Mjg2NDA0NjkwMGZkYzIyZi4uYzAwMzBlOTgyMTQ4YWRiMjM1ZTQ5YTk0MTJiZWY2NTMx
MWJhM2M1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a1BvcHVw
TWVudS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a1BvcHVwTWVudS5j
cHAKQEAgLTIyNiw3ICsyMjYsNyBAQCB2b2lkIEd0a1BvcHVwTWVudTo6c2VsZWN0SXRlbUNhbGxi
YWNrKEd0a01lbnVJdGVtKiBpdGVtLCBHdGtQb3B1cE1lbnUqIHBvcHVwTWVudQogICAgIHBvcHVw
TWVudS0+bV9jdXJyZW50bHlTZWxlY3RlZE1lbnVJdGVtID0gR1RLX1dJREdFVChpdGVtKTsKIH0K
IAotZ2Jvb2xlYW4gR3RrUG9wdXBNZW51OjprZXlQcmVzc0V2ZW50Q2FsbGJhY2soR3RrV2lkZ2V0
KiB3aWRnZXQsIEdka0V2ZW50S2V5KiBldmVudCwgR3RrUG9wdXBNZW51KiBwb3B1cE1lbnUpCitn
Ym9vbGVhbiBHdGtQb3B1cE1lbnU6OmtleVByZXNzRXZlbnRDYWxsYmFjayhHdGtXaWRnZXQqLCBH
ZGtFdmVudEtleSogZXZlbnQsIEd0a1BvcHVwTWVudSogcG9wdXBNZW51KQogewogICAgIHJldHVy
biBwb3B1cE1lbnUtPnR5cGVBaGVhZEZpbmQoZXZlbnQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a1RvdWNoQ29udGV4dEhlbHBlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvR3RrVG91Y2hDb250ZXh0SGVscGVyLmNwcAppbmRleCBkYTc5
Mzg0ZjVkMTA2NTgwM2NlNzQwZjgzNDAwMDk3NDQzNDkxNmY5Li41NTg1ODYxZDE5YTUyNWZkMDVl
YjYyZDg4NmEyZWNmNjFjNmRhNzI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvR3RrVG91Y2hDb250ZXh0SGVscGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ndGsvR3RrVG91Y2hDb250ZXh0SGVscGVyLmNwcApAQCAtNTUsNiArNTUsOCBAQCBib29s
IEd0a1RvdWNoQ29udGV4dEhlbHBlcjo6aGFuZGxlRXZlbnQoR2RrRXZlbnQqIHRvdWNoRXZlbnQp
CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KKyNlbHNlCisgICAg
VU5VU0VEX1BBUkFNKHRvdWNoRXZlbnQpOwogI2VuZGlmIC8vIEdUS19BUElfVkVSU0lPTl8yCiAK
ICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0
ay9HdGtWZXJzaW9uaW5nLmMgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR3RrVmVyc2lv
bmluZy5jCmluZGV4IGI2NGMxYTZjZTYzNzdhNzY2OTM3MDJmYzRjZTVlNmVhMmI1MjEwYzQuLjBk
NTFiMzgxNzQwZjFjMmIzY2UwNzZkMTg2OWQ3YTA3M2Y5ZDU0OGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HdGtWZXJzaW9uaW5nLmMKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3RrL0d0a1ZlcnNpb25pbmcuYwpAQCAtMzQsNiArMzQsNyBAQCBHZGtEZXZp
Y2UgKmdldERlZmF1bHRHREtQb2ludGVyRGV2aWNlKEdka1dpbmRvdyogd2luZG93KQogICAgIEdk
a0RldmljZU1hbmFnZXIgKm1hbmFnZXIgPSAgZ2RrX2Rpc3BsYXlfZ2V0X2RldmljZV9tYW5hZ2Vy
KGdka193aW5kb3dfZ2V0X2Rpc3BsYXkod2luZG93KSk7CiAgICAgcmV0dXJuIGdka19kZXZpY2Vf
bWFuYWdlcl9nZXRfY2xpZW50X3BvaW50ZXIobWFuYWdlcik7CiAjZWxzZQorICAgIFVOVVNFRF9Q
QVJBTSh3aW5kb3cpOwogICAgIHJldHVybiBnZGtfZGV2aWNlX2dldF9jb3JlX3BvaW50ZXIoKTsK
ICNlbmRpZiAvLyBHVEtfQVBJX1ZFUlNJT05fMgogfQpAQCAtODYsNiArODcsOCBAQCBjb252ZXJ0
X2FscGhhKGd1Y2hhciAqIGRlc3REYXRhLCBpbnQgZGVzdFN0cmlkZSwKICAgICAgICAgICAgICAg
Z3VjaGFyICogc3JjRGF0YSwgaW50IHNyY1N0cmlkZSwKICAgICAgICAgICAgICAgaW50IHNyY1gs
IGludCBzcmNZLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCiB7CisgICAgVU5VU0VEX1BBUkFNKHNy
Y1gpOworCiAgICAgaW50IHgsIHk7CiAKICAgICBzcmNEYXRhICs9IHNyY1N0cmlkZSAqIHNyY1kg
KyBzcmNZICogNDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9NYWlu
RnJhbWVTY3JvbGxiYXJHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL01haW5G
cmFtZVNjcm9sbGJhckd0ay5jcHAKaW5kZXggZjFjMWNjODNhMDIzNDk4YzFhYjJiODRkYzEwOWU5
YTljNWY4NTBjNC4uMjFkYTJlZTYwYWRjZjE3YzUzMDViMTI1NWI1ZTFjNThmN2ZmZDIwNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL01haW5GcmFtZVNjcm9sbGJhckd0
ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL01haW5GcmFtZVNjcm9sbGJh
ckd0ay5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgTWFpbkZyYW1lU2Nyb2xsYmFyR3RrOjpNYWluRnJh
bWVTY3JvbGxiYXJHdGsoU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibGVBcmVhLCBTY3IKICAgICBy
ZXNpemUoMCwgMCk7CiB9CiAKLXZvaWQgTWFpbkZyYW1lU2Nyb2xsYmFyR3RrOjpwYWludChHcmFw
aGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QpCit2b2lkIE1haW5GcmFt
ZVNjcm9sbGJhckd0azo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYpCiB7
CiAgICAgLy8gTWFpbiBmcmFtZSBzY3JvbGxiYXJzIGFyZSBub3QgcGFpbnRlZCBieSBXZWJDb3Jl
LgogICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Q
YXN0ZWJvYXJkR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJk
R3RrLmNwcAppbmRleCA1NmI2MDIyMmJlNDkxZjMyMGMxYTA3YzEyMGNiYTA2ZTk3N2IzMjcwLi5j
OTFhNTk4NGZlNDIwNDNhZTUwNDhhMGI4ZjA5YWJmMzljNGM2ODkyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGFzdGVib2FyZEd0ay5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3BwCkBAIC0yOTgsNyArMjk4LDcgQEAg
Ym9vbCBQYXN0ZWJvYXJkOjpjYW5TbWFydFJlcGxhY2UoKQogfQogCiAjaWYgRU5BQkxFKERSQUdf
U1VQUE9SVCkKLXZvaWQgUGFzdGVib2FyZDo6c2V0RHJhZ0ltYWdlKERyYWdJbWFnZVJlZiwgY29u
c3QgSW50UG9pbnQmIGhvdFNwb3QpCit2b2lkIFBhc3RlYm9hcmQ6OnNldERyYWdJbWFnZShEcmFn
SW1hZ2VSZWYsIGNvbnN0IEludFBvaW50JikKIHsKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRIZWxwZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRIZWxwZXIuY3BwCmluZGV4IGRkNGFhMGQ1ZmM0
ZTBjMGIyMjE2ZWU5MmQxMWJmN2Y5YWMxZDU5NzMuLjhmMjM4MWEyNGRlNDUyMjhlOThmMmI3YjA4
MDM2ZDMxMjg1NmMwYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Q
YXN0ZWJvYXJkSGVscGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGFz
dGVib2FyZEhlbHBlci5jcHAKQEAgLTIzMCw3ICsyMzAsNyBAQCBHdGtUYXJnZXRMaXN0KiBQYXN0
ZWJvYXJkSGVscGVyOjp0YXJnZXRMaXN0Rm9yRGF0YU9iamVjdChEYXRhT2JqZWN0R3RrKiBkYXRh
T2JqZQogICAgIHJldHVybiBsaXN0OwogfQogCi12b2lkIFBhc3RlYm9hcmRIZWxwZXI6OmZpbGxE
YXRhT2JqZWN0RnJvbURyb3BEYXRhKEd0a1NlbGVjdGlvbkRhdGEqIGRhdGEsIGd1aW50IGluZm8s
IERhdGFPYmplY3RHdGsqIGRhdGFPYmplY3QpCit2b2lkIFBhc3RlYm9hcmRIZWxwZXI6OmZpbGxE
YXRhT2JqZWN0RnJvbURyb3BEYXRhKEd0a1NlbGVjdGlvbkRhdGEqIGRhdGEsIGd1aW50IC8qIGlu
Zm8gKi8sIERhdGFPYmplY3RHdGsqIGRhdGFPYmplY3QpCiB7CiAgICAgaWYgKCFndGtfc2VsZWN0
aW9uX2RhdGFfZ2V0X2RhdGEoZGF0YSkpCiAgICAgICAgIHJldHVybjsKQEAgLTI5MCw3ICsyOTAs
NyBAQCBWZWN0b3I8R2RrQXRvbT4gUGFzdGVib2FyZEhlbHBlcjo6ZHJvcEF0b21zRm9yQ29udGV4
dChHdGtXaWRnZXQqIHdpZGdldCwgR2RrRHJhZwogCiBzdGF0aWMgRGF0YU9iamVjdEd0ayogc2V0
dGluZ0NsaXBib2FyZERhdGFPYmplY3QgPSAwOwogCi1zdGF0aWMgdm9pZCBnZXRDbGlwYm9hcmRD
b250ZW50c0NhbGxiYWNrKEd0a0NsaXBib2FyZCogY2xpcGJvYXJkLCBHdGtTZWxlY3Rpb25EYXRh
ICpzZWxlY3Rpb25EYXRhLCBndWludCBpbmZvLCBncG9pbnRlciBkYXRhKQorc3RhdGljIHZvaWQg
Z2V0Q2xpcGJvYXJkQ29udGVudHNDYWxsYmFjayhHdGtDbGlwYm9hcmQqIGNsaXBib2FyZCwgR3Rr
U2VsZWN0aW9uRGF0YSAqc2VsZWN0aW9uRGF0YSwgZ3VpbnQgaW5mbywgZ3BvaW50ZXIpCiB7CiAg
ICAgRGF0YU9iamVjdEd0ayogZGF0YU9iamVjdCA9IERhdGFPYmplY3RHdGs6OmZvckNsaXBib2Fy
ZChjbGlwYm9hcmQpOwogICAgIEFTU0VSVChkYXRhT2JqZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cuY3Bw
CmluZGV4IDAxODRiNzVlMzE4YjgwYTdjZTVmYzJkOTQyMDMzMmZlZmQ5NTAyNTcuLmVmMGVmZDI0
MDIxMzAwZjBkMTVjMzc1YWE0MTI5ODE5YzQ3YjY0ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmNwcApA
QCAtNDcsNyArNDcsNyBAQCBzdGF0aWMgV2luZG93SGFzaE1hcCYgZ2V0V2luZG93SGFzaE1hcCgp
CiB9CiAKIHN0YXRpYyBpbnQgZ0RhbWFnZUV2ZW50QmFzZTsKLXN0YXRpYyBHZGtGaWx0ZXJSZXR1
cm4gZmlsdGVyWERhbWFnZUV2ZW50KEdka1hFdmVudCogZ2RrWEV2ZW50LCBHZGtFdmVudCogZXZl
bnQsIHZvaWQqKQorc3RhdGljIEdka0ZpbHRlclJldHVybiBmaWx0ZXJYRGFtYWdlRXZlbnQoR2Rr
WEV2ZW50KiBnZGtYRXZlbnQsIEdka0V2ZW50Kiwgdm9pZCopCiB7CiAgICAgWEV2ZW50KiB4RXZl
bnQgPSBzdGF0aWNfY2FzdDxYRXZlbnQqPihnZGtYRXZlbnQpOwogICAgIGlmICh4RXZlbnQtPnR5
cGUgIT0gZ0RhbWFnZUV2ZW50QmFzZSArIFhEYW1hZ2VOb3RpZnkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmNwcAppbmRleCA5ZGNjMDUyYzIzNzJiZDk2
NjA3NmM0YzY1NWI2NDgzY2IwMGYwNDViLi41ODA1MWNjYTQ0YWRmNTkwYzZiNTljMDYxYTUyZmE0
ODIwNDRlZjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVy
VGhlbWVHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVt
ZUd0ay5jcHAKQEAgLTEyOSw3ICsxMjksNyBAQCBQYXNzUmVmUHRyPFJlbmRlclRoZW1lPiBSZW5k
ZXJUaGVtZUd0azo6Y3JlYXRlKCkKICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFJlbmRlclRoZW1l
R3RrKCkpOwogfQogCi1QYXNzUmVmUHRyPFJlbmRlclRoZW1lPiBSZW5kZXJUaGVtZTo6dGhlbWVG
b3JQYWdlKFBhZ2UqIHBhZ2UpCitQYXNzUmVmUHRyPFJlbmRlclRoZW1lPiBSZW5kZXJUaGVtZTo6
dGhlbWVGb3JQYWdlKFBhZ2UqKQogewogICAgIHN0YXRpYyBSZW5kZXJUaGVtZSogcnQgPSBSZW5k
ZXJUaGVtZUd0azo6Y3JlYXRlKCkubGVha1JlZigpOwogICAgIHJldHVybiBydDsKQEAgLTYyNyw3
ICs2MjcsNyBAQCBib29sIFJlbmRlclRoZW1lR3RrOjpwYWludE1lZGlhU2xpZGVyVGh1bWIoUmVu
ZGVyT2JqZWN0KiBvLCBjb25zdCBQYWludEluZm8mIHBhaQogICAgIHJldHVybiBmYWxzZTsKIH0K
IAotYm9vbCBSZW5kZXJUaGVtZUd0azo6cGFpbnRNZWRpYVZvbHVtZVNsaWRlckNvbnRhaW5lcihS
ZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYg
cmVjdCkKK2Jvb2wgUmVuZGVyVGhlbWVHdGs6OnBhaW50TWVkaWFWb2x1bWVTbGlkZXJDb250YWlu
ZXIoUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpCiB7CiAg
ICAgcmV0dXJuIHRydWU7CiB9CkBAIC02NzAsNyArNjcwLDcgQEAgU3RyaW5nIFJlbmRlclRoZW1l
R3RrOjpmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVudFRpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZs
b2F0IGQKICAgICByZXR1cm4gZm9ybWF0TWVkaWFDb250cm9sc1RpbWUoY3VycmVudFRpbWUpICsg
IiAvICIgKyBmb3JtYXRNZWRpYUNvbnRyb2xzVGltZShkdXJhdGlvbik7CiB9CiAKLWJvb2wgUmVu
ZGVyVGhlbWVHdGs6OnBhaW50TWVkaWFDdXJyZW50VGltZShSZW5kZXJPYmplY3QqIHJlbmRlck9i
amVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCiti
b29sIFJlbmRlclRoZW1lR3RrOjpwYWludE1lZGlhQ3VycmVudFRpbWUoUmVuZGVyT2JqZWN0Kiwg
Y29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpCiB7CiAgICAgcmV0dXJuIGZhbHNlOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3Rr
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuaAppbmRleCBi
Y2I0ZmJmMTllYWJiMjE4OWRiNTQ5ZmMxMTJjNDQ2MWE0YjEyNGRhLi5lMmFjODVhMjYwNGUwYWI1
MjU5ZWJlN2VlYmZiNjVmMzllMzY1YjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
dGsvUmVuZGVyVGhlbWVHdGsuaApAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8UmVuZGVyVGhlbWU+IGNyZWF0ZSgpOwogCiAgICAgLy8gQSBtZXRob2QgYXNr
aW5nIGlmIHRoZSB0aGVtZSdzIGNvbnRyb2xzIGFjdHVhbGx5IGNhcmUgYWJvdXQgcmVkcmF3aW5n
IHdoZW4gaG92ZXJlZC4KLSAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNIb3Zlcihjb25zdCBSZW5k
ZXJTdHlsZSogc3R5bGUpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wg
c3VwcG9ydHNIb3Zlcihjb25zdCBSZW5kZXJTdHlsZSopIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0K
IAogICAgIC8vIEEgbWV0aG9kIGFza2luZyBpZiB0aGUgdGhlbWUgaXMgYWJsZSB0byBkcmF3IHRo
ZSBmb2N1cyByaW5nLgogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0ZvY3VzUmluZyhjb25zdCBS
ZW5kZXJTdHlsZSopIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3RrL1JlbmRlclRoZW1lR3RrMi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVu
ZGVyVGhlbWVHdGsyLmNwcAppbmRleCBmMDg4NDQyODc3NGJjNmQzMGY2ZGY3M2YwNDZjNDY1M2Q3
NThkMGYxLi5hOWIzODhjODJlOGU1YTg2ZTY5YjUwYzkzN2MwZDliYzE3ZjFkZTZhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsyLmNwcApAQCAtMTQy
LDcgKzE0Miw3IEBAIHN0YXRpYyBHdGtTdGF0ZVR5cGUgZ2V0R3RrU3RhdGVUeXBlKFJlbmRlclRo
ZW1lR3RrKiB0aGVtZSwgUmVuZGVyT2JqZWN0KiBvYmplY3QpCiAgICAgcmV0dXJuIEdUS19TVEFU
RV9OT1JNQUw7CiB9CiAKLXN0YXRpYyB2b2lkIHNldFRvZ2dsZVNpemUoY29uc3QgUmVuZGVyVGhl
bWVHdGsqIHRoZW1lLCBSZW5kZXJTdHlsZSogc3R5bGUsIEd0a1dpZGdldCogd2lkZ2V0KQorc3Rh
dGljIHZvaWQgc2V0VG9nZ2xlU2l6ZShjb25zdCBSZW5kZXJUaGVtZUd0ayosIFJlbmRlclN0eWxl
KiBzdHlsZSwgR3RrV2lkZ2V0KiB3aWRnZXQpCiB7CiAgICAgLy8gVGhlIHdpZHRoIGFuZCBoZWln
aHQgYXJlIGJvdGggc3BlY2lmaWVkLCBzbyB3ZSBzaG91bGRuJ3QgY2hhbmdlIHRoZW0uCiAgICAg
aWYgKCFzdHlsZS0+d2lkdGgoKS5pc0ludHJpbnNpY09yQXV0bygpICYmICFzdHlsZS0+aGVpZ2h0
KCkuaXNBdXRvKCkpCkBAIC02NjcsNyArNjY3LDcgQEAgR1JlZlB0cjxHZGtQaXhidWY+IGdldFN0
b2NrSWNvbkZvcldpZGdldFR5cGUoR1R5cGUgd2lkZ2V0VHlwZSwgY29uc3QgY2hhciogaWNvbk4K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2Fz
dDxHdGtJY29uU2l6ZT4oaWNvblNpemUpLCAwLCAwKSk7CiB9CiAKLUdSZWZQdHI8R2RrUGl4YnVm
PiBnZXRTdG9ja1N5bWJvbGljSWNvbkZvcldpZGdldFR5cGUoR1R5cGUgd2lkZ2V0VHlwZSwgY29u
c3QgY2hhciogc3ltYm9saWNJY29uTmFtZSwgY29uc3QgY2hhciogZmFsbGJhY2tTdG9ja0ljb25O
YW1lLCBnaW50IGRpcmVjdGlvbiwgZ2ludCBzdGF0ZSwgZ2ludCBpY29uU2l6ZSkKK0dSZWZQdHI8
R2RrUGl4YnVmPiBnZXRTdG9ja1N5bWJvbGljSWNvbkZvcldpZGdldFR5cGUoR1R5cGUgd2lkZ2V0
VHlwZSwgY29uc3QgY2hhciogLyogc3ltYm9saWNJY29uTmFtZSAqLywgY29uc3QgY2hhciogZmFs
bGJhY2tTdG9ja0ljb25OYW1lLCBnaW50IGRpcmVjdGlvbiwgZ2ludCBzdGF0ZSwgZ2ludCBpY29u
U2l6ZSkKIHsKICAgICBpZiAoIWZhbGxiYWNrU3RvY2tJY29uTmFtZSkKICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CkBAIC03MzUsNyArNzM1LDcgQEAgQ29sb3IgUmVuZGVyVGhlbWVHdGs6OnN5c3Rl
bUNvbG9yKENTU1ZhbHVlSUQgY3NzVmFsdWVJZCkgY29uc3QKICAgICB9CiB9CiAKLXN0YXRpYyB2
b2lkIGd0a1N0eWxlU2V0Q2FsbGJhY2soR3RrV2lkZ2V0KiB3aWRnZXQsIEd0a1N0eWxlKiBwcmV2
aW91cywgUmVuZGVyVGhlbWUqIHJlbmRlclRoZW1lKQorc3RhdGljIHZvaWQgZ3RrU3R5bGVTZXRD
YWxsYmFjayhHdGtXaWRnZXQqLCBHdGtTdHlsZSosIFJlbmRlclRoZW1lKiByZW5kZXJUaGVtZSkK
IHsKICAgICAvLyBGSVhNRTogTWFrZSBzdXJlIHRoaXMgZnVuY3Rpb24gZG9lc24ndCBnZXQgY2Fs
bGVkIG1hbnkgdGltZXMgZm9yIGEgc2luZ2xlIEdUSysgc3R5bGUgY2hhbmdlIHNpZ25hbC4KICAg
ICByZW5kZXJUaGVtZS0+cGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxiYXJUaGVtZUd0ay5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsYmFyVGhlbWVHdGsuY3BwCmluZGV4IDk0ZTNmZDc2
ZjdmZmM1MjMwZmM4NDdmZjlmZWNhZjQzZGM0NmZhMDUuLmZhZWE1MzU1ZjU1ODI4Yzc3YTU5MDgx
YWU5YzlmNWFmZmI3ZmUxNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0
ay9TY3JvbGxiYXJUaGVtZUd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Rr
L1Njcm9sbGJhclRoZW1lR3RrLmNwcApAQCAtMjc5LDcgKzI3OSw3IEBAIEludFNpemUgU2Nyb2xs
YmFyVGhlbWVHdGs6OmJ1dHRvblNpemUoU2Nyb2xsYmFyVGhlbWVDbGllbnQqIHNjcm9sbGJhcikK
ICAgICByZXR1cm4gSW50U2l6ZShtX3N0ZXBwZXJTaXplLCBtX3RodW1iRmF0bmVzcyk7CiB9CiAK
LWludCBTY3JvbGxiYXJUaGVtZUd0azo6bWluaW11bVRodW1iTGVuZ3RoKFNjcm9sbGJhclRoZW1l
Q2xpZW50KiBzY3JvbGxiYXIpCitpbnQgU2Nyb2xsYmFyVGhlbWVHdGs6Om1pbmltdW1UaHVtYkxl
bmd0aChTY3JvbGxiYXJUaGVtZUNsaWVudCopCiB7CiAgICAgcmV0dXJuIG1fbWluVGh1bWJMZW5n
dGg7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsYmFy
VGhlbWVHdGsyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxiYXJUaGVt
ZUd0azIuY3BwCmluZGV4IDg2NmJiOGExZDJmNzFhYTg2NGVhNTdlZDMwM2YxMzYwNzJjMWM0Mjcu
LmE4NzY1YjU4NzNhMmFkMTQzNjZiYTlhMTVhMjQ1NzJlZjM2ODA0ZTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxiYXJUaGVtZUd0azIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxiYXJUaGVtZUd0azIuY3BwCkBAIC0zOCw3
ICszOCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIHZvaWQgZ3RrU3R5bGVT
ZXRDYWxsYmFjayhHdGtXaWRnZXQqIHdpZGdldCwgR3RrU3R5bGUqIHByZXZpb3VzLCBTY3JvbGxi
YXJUaGVtZUd0ayogc2Nyb2xsYmFyVGhlbWUpCitzdGF0aWMgdm9pZCBndGtTdHlsZVNldENhbGxi
YWNrKEd0a1dpZGdldCosIEd0a1N0eWxlKiwgU2Nyb2xsYmFyVGhlbWVHdGsqIHNjcm9sbGJhclRo
ZW1lKQogewogICAgIHNjcm9sbGJhclRoZW1lLT51cGRhdGVUaGVtZVByb3BlcnRpZXMoKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9XaWRnZXRHdGsuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1dpZGdldEd0ay5jcHAKaW5kZXggYmMzZDRiYzg5
MWU3MmNiNGJiYmE5Y2Q2OWU1MDkyNzc4OTZmNjdmMy4uNjk4MThlN2M5NzM2MDQxNGM0ZWU5MzY2
ZTExZWUyOTE0MjFiM2RkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Rr
L1dpZGdldEd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1dpZGdldEd0
ay5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgV2lkZ2V0Ojp+V2lkZ2V0KCkKICAgICByZWxlYXNlUGxh
dGZvcm1XaWRnZXQoKTsKIH0KIAotdm9pZCBXaWRnZXQ6OnNldEZvY3VzKGJvb2wgZm9jdXNlZCkK
K3ZvaWQgV2lkZ2V0OjpzZXRGb2N1cyhib29sKQogewogfQogCkBAIC04MCw3ICs4MCw3IEBAIHZv
aWQgV2lkZ2V0OjpoaWRlKCkKICAgICAgICAgZ3RrX3dpZGdldF9oaWRlKHBsYXRmb3JtV2lkZ2V0
KCkpOwogfQogCi12b2lkIFdpZGdldDo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBj
b25zdCBJbnRSZWN0JiByZWN0KQordm9pZCBXaWRnZXQ6OnBhaW50KEdyYXBoaWNzQ29udGV4dCos
IGNvbnN0IEludFJlY3QmKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2d0ay9DcmVkZW50aWFsQmFja2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvZ3RrL0NyZWRlbnRpYWxCYWNraW5nU3RvcmUuY3BwCmluZGV4
IGE4MWM5NzA1OGI0ZDYzZDJlMTRlYWE3N2VjZGUyZTJlYTFkODVjOTcuLmMxY2U3ZDRkMWJlZDE5
MWFmM2IxYzUzZTIzYjYzZDVjNTM0MjliOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvZ3RrL0NyZWRlbnRpYWxCYWNraW5nU3RvcmUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvZ3RrL0NyZWRlbnRpYWxCYWNraW5nU3RvcmUuY3Bw
CkBAIC0xMTgsNiArMTE4LDcgQEAgdm9pZCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpjcmVkZW50
aWFsRm9yQ2hhbGxlbmdlKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmcKICAgICAgICAgcmVp
bnRlcnByZXRfY2FzdDxHQXN5bmNSZWFkeUNhbGxiYWNrPihjcmVkZW50aWFsRm9yQ2hhbGxlbmdl
QXN5bmNSZWFkeUNhbGxiYWNrKSwKICAgICAgICAgY2FsbGJhY2tEYXRhKTsKICNlbHNlCisgICAg
VU5VU0VEX1BBUkFNKGNoYWxsZW5nZSk7CiAgICAgY2FsbGJhY2soQ3JlZGVudGlhbCgpLCBkYXRh
KTsKICNlbmRpZiAvLyBFTkFCTEUoQ1JFREVOVElBTF9TVE9SQUdFKQogfQpAQCAtMTM4LDYgKzEz
OSw5IEBAIHZvaWQgQ3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6c3RvcmVDcmVkZW50aWFsc0ZvckNo
YWxsZW5nZShjb25zdCBBdXRoZW50aWNhdGlvbkNoCiAgICAgICAgIDAsIC8vIGNhbmNlbGxhYmxl
CiAgICAgICAgIDAsIC8vIGNhbGxiYWNrCiAgICAgICAgIDApOyAvLyBkYXRhCisjZWxzZQorICAg
IFVOVVNFRF9QQVJBTShjaGFsbGVuZ2UpOworICAgIFVOVVNFRF9QQVJBTShjcmVkZW50aWFsKTsK
ICNlbmRpZiAvLyBFTkFCTEUoQ1JFREVOVElBTF9TVE9SQUdFKQogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zb3VwL1NoYXJlZEJ1ZmZlclNvdXAuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc291cC9TaGFyZWRCdWZmZXJTb3VwLmNwcAppbmRleCA3NDU3OTA2
Y2QyZmViMDAzZmE5YjEyYTFkN2RjOGIwNThlMzg2ODgyLi5jYmNmNGM3MTMzNWZjMzRlYTg1NWQ4
MjE2ZTlmZDQ4NmMxY2I4NDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9z
b3VwL1NoYXJlZEJ1ZmZlclNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nv
dXAvU2hhcmVkQnVmZmVyU291cC5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgdm9pZCBTaGFyZWRCdWZm
ZXI6OmNsZWFyUGxhdGZvcm1EYXRhKCkKICAgICBtX3NvdXBCdWZmZXIucmVzZXQoKTsKIH0KIAot
dm9pZCBTaGFyZWRCdWZmZXI6OnRyeVJlcGxhY2VDb250ZW50c1dpdGhQbGF0Zm9ybUJ1ZmZlcihT
aGFyZWRCdWZmZXIqIG5ld0NvbnRlbnRzKQordm9pZCBTaGFyZWRCdWZmZXI6OnRyeVJlcGxhY2VD
b250ZW50c1dpdGhQbGF0Zm9ybUJ1ZmZlcihTaGFyZWRCdWZmZXIqIC8qIG5ld0NvbnRlbnRzICov
KQogewogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGx1Z2lucy9ndGsvUGx1Z2luVmlld0d0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbHVn
aW5zL2d0ay9QbHVnaW5WaWV3R3RrLmNwcAppbmRleCA3YTE2ZjIxODQ5ODRkMTIzYzRkNmM1NDgz
YjgyOWE4YzU0Zjc4NjY0Li43OWY3ODk5ZTUzNzA4OWI0YmFmMWNjYTA4NzFmZmRiYzM3ZDVjODMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL2d0ay9QbHVnaW5WaWV3R3RrLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL2d0ay9QbHVnaW5WaWV3R3RrLmNwcApAQCAt
NDg5LDEzICs0ODksMTMgQEAgc3RhdGljIHZvaWQgZ2V0VmlzdWFsQW5kQ29sb3JtYXAoaW50IGRl
cHRoLCBWaXN1YWwqKiB2aXN1YWwsIENvbG9ybWFwKiBjb2xvcm1hcCkKICAgICAgICAgKmNvbG9y
bWFwID0gWENyZWF0ZUNvbG9ybWFwKGRpc3BsYXksIEdES19ST09UX1dJTkRPVygpLCAqdmlzdWFs
LCBBbGxvY05vbmUpOwogfQogCi1nYm9vbGVhbiBQbHVnaW5WaWV3OjpwbHVnUmVtb3ZlZENhbGxi
YWNrKEd0a1NvY2tldCogc29ja2V0LCBQbHVnaW5WaWV3KiB2aWV3KQorZ2Jvb2xlYW4gUGx1Z2lu
Vmlldzo6cGx1Z1JlbW92ZWRDYWxsYmFjayhHdGtTb2NrZXQqLCBQbHVnaW5WaWV3KiB2aWV3KQog
ewogICAgIHZpZXctPm1fcGx1Z0FkZGVkID0gZmFsc2U7CiAgICAgcmV0dXJuIFRSVUU7CiB9CiAK
LXZvaWQgUGx1Z2luVmlldzo6cGx1Z0FkZGVkQ2FsbGJhY2soR3RrU29ja2V0KiBzb2NrZXQsIFBs
dWdpblZpZXcqIHZpZXcpCit2b2lkIFBsdWdpblZpZXc6OnBsdWdBZGRlZENhbGxiYWNrKEd0a1Nv
Y2tldCosIFBsdWdpblZpZXcqIHZpZXcpCiB7CiAgICAgQVNTRVJUKHNvY2tldCk7CiAgICAgQVNT
RVJUKHZpZXcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ndGsvZ3RrMnh0
YmluLmMgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL2d0ay9ndGsyeHRiaW4uYwppbmRleCBlZjc1
YTFmZTI5OTE5NzZlMDNhZjU0YWI2M2MzNDZlYTEyZDBkZTJhLi5kZWUzZjc4Zjk0MDNlMDBlMzNk
MTc2MWI5NTMyNDFlMGY3MjQ2M2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5z
L2d0ay9ndGsyeHRiaW4uYworKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL2d0ay9ndGsyeHRi
aW4uYwpAQCAtMTMxLDYgKzEzMSw4IEBAIHN0YXRpYyBnYm9vbGVhbgogeHRfZXZlbnRfcHJlcGFy
ZSAoR1NvdXJjZSogIHNvdXJjZV9kYXRhLAogICAgICAgICAgICAgICAgICAgIGdpbnQgICAgICp0
aW1lb3V0KQogeyAgIAorICBVTlVTRURfUEFSQU0oc291cmNlX2RhdGEpOworICBVTlVTRURfUEFS
QU0odGltZW91dCk7CiAgIGludCBtYXNrOwogCiAgIGdka190aHJlYWRzX2VudGVyKCk7CkBAIC0x
NDMsNiArMTQ1LDggQEAgeHRfZXZlbnRfcHJlcGFyZSAoR1NvdXJjZSogIHNvdXJjZV9kYXRhLAog
c3RhdGljIGdib29sZWFuCiB4dF9ldmVudF9jaGVjayAoR1NvdXJjZSogIHNvdXJjZV9kYXRhKQog
eworICBVTlVTRURfUEFSQU0oc291cmNlX2RhdGEpOworCiAgIGdka190aHJlYWRzX2VudGVyKCk7
CiAKICAgaWYgKHh0X2V2ZW50X3BvbGxfZmQucmV2ZW50cyAmIEdfSU9fSU4pIHsKQEAgLTE2MSw2
ICsxNjUsMTAgQEAgeHRfZXZlbnRfZGlzcGF0Y2ggKEdTb3VyY2UqICBzb3VyY2VfZGF0YSwKICAg
ICAgICAgICAgICAgICAgICAgR1NvdXJjZUZ1bmMgY2FsbF9iYWNrLAogICAgICAgICAgICAgICAg
ICAgICBncG9pbnRlciAgdXNlcl9kYXRhKQogeworICBVTlVTRURfUEFSQU0oc291cmNlX2RhdGEp
OworICBVTlVTRURfUEFSQU0oY2FsbF9iYWNrKTsKKyAgVU5VU0VEX1BBUkFNKHVzZXJfZGF0YSk7
CisKICAgWHRBcHBDb250ZXh0IGFjOwogICBpbnQgaSA9IDA7CiAKQEAgLTY4OSw2ICs2OTcsOCBA
QCB4dF9jbGllbnRfc2V0X2luZm8gKFdpZGdldCB4dHBsdWcsIHVuc2lnbmVkIGxvbmcgZmxhZ3Mp
CiBzdGF0aWMgdm9pZAogeHRfY2xpZW50X2hhbmRsZV94ZW1iZWRfbWVzc2FnZShXaWRnZXQgdywg
WHRQb2ludGVyIGNsaWVudF9kYXRhLCBYRXZlbnQgKmV2ZW50KQogeworICBVTlVTRURfUEFSQU0o
dyk7CisKICAgWHRDbGllbnQgKnh0cGx1ZyA9IChYdENsaWVudCopY2xpZW50X2RhdGE7CiAgIHN3
aXRjaCAoZXZlbnQtPnhjbGllbnQuZGF0YS5sWzFdKQogICB7CkBAIC04MjQsNiArODM0LDggQEAg
c2VuZF94ZW1iZWRfbWVzc2FnZSAoWHRDbGllbnQgICp4dGNsaWVudCwKIHN0YXRpYyBpbnQgICAg
ICAgICAgICAgCiBlcnJvcl9oYW5kbGVyKERpc3BsYXkgKmRpc3BsYXksIFhFcnJvckV2ZW50ICpl
cnJvcikKIHsKKyAgVU5VU0VEX1BBUkFNKGRpc3BsYXkpOworCiAgIHRyYXBwZWRfZXJyb3JfY29k
ZSA9IGVycm9yLT5lcnJvcl9jb2RlOwogICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAppbmRleCBkNmZjZmQ0OTMwZmU3YWZmOWZkMzVmM2Rl
OTg2ODUyNmI0YjIwOTJkLi5mNmNiZWU2YTRkMjJlYTY1YjZjMWYyOGEyYmEwMjI5NDVjYzczNDIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCkBAIC05ODYs
NiArOTg2LDEwIEBAIHN0YXRpYyB2b2lkIHN0cm9rZVdhdnlUZXh0RGVjb3JhdGlvbihHcmFwaGlj
c0NvbnRleHQmIGNvbnRleHQsIEZsb2F0UG9pbnQmIHAxLCBGCiAKIHZvaWQgSW5saW5lVGV4dEJv
eDo6cGFpbnREZWNvcmF0aW9uKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRQ
b2ludCYgYm94T3JpZ2luLCBUZXh0RGVjb3JhdGlvbiBkZWNvcmF0aW9uLCBUZXh0RGVjb3JhdGlv
blN0eWxlIGRlY29yYXRpb25TdHlsZSwgY29uc3QgU2hhZG93RGF0YSogc2hhZG93LCBUZXh0UGFp
bnRlciYgdGV4dFBhaW50ZXIpCiB7CisjaWYgIUVOQUJMRShDU1MzX1RFWFRfREVDT1JBVElPTl9T
S0lQX0lOSykKKyAgICBVTlVTRURfUEFSQU0odGV4dFBhaW50ZXIpOworI2VuZGlmCisKICAgICAv
LyBGSVhNRTogV2Ugc2hvdWxkIGltcHJvdmUgdGhpcyBydWxlIGFuZCBub3QgYWx3YXlzIGp1c3Qg
YXNzdW1lIDEuCiAgICAgY29uc3QgZmxvYXQgdGV4dERlY29yYXRpb25UaGlja25lc3MgPSAxLmY7
CiAK
</data>
<flag name="review"
          id="250970"
          type_id="1"
          status="+"
          setter="cgarcia"
    />
          </attachment>
      

    </bug>

</bugzilla>