<?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>208924</bug_id>
          
          <creation_ts>2020-03-11 10:04:00 -0700</creation_ts>
          <short_desc>Make sure a preflight fails if response headers are invalid</short_desc>
          <delta_ts>2020-03-18 07:50:14 -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>Page Loading</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1628701</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-03-11 10:04:00 -0700</bug_when>
    <thetext>Make sure a preflight fails if response headers are invalid</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628727</commentid>
    <comment_count>1</comment_count>
      <attachid>393260</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-03-11 10:35:03 -0700</bug_when>
    <thetext>Created attachment 393260
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629107</commentid>
    <comment_count>2</comment_count>
      <attachid>393351</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-03-12 02:56:15 -0700</bug_when>
    <thetext>Created attachment 393351
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629139</commentid>
    <comment_count>3</comment_count>
      <attachid>393362</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-03-12 05:51:00 -0700</bug_when>
    <thetext>Created attachment 393362
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629692</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-03-13 10:44:26 -0700</bug_when>
    <thetext>Ping review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630393</commentid>
    <comment_count>5</comment_count>
      <attachid>393362</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-03-16 11:44:57 -0700</bug_when>
    <thetext>Comment on attachment 393362
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        Minor refactoring to return Expected/Optional for erro rhandlng instead of passing an out parameter.

error

&gt; Source/WebCore/loader/CrossOriginAccessControl.cpp:273
&gt; +    CrossOriginPreflightResultCache::singleton().appendEntry(securityOrigin.toString(), request.url(), entry.moveToUniquePtr());

Do we want to do this if there was an error?  We didn&apos;t before.

&gt; Source/WebCore/loader/CrossOriginPreflightResultCache.h:54
&gt; +    bool allowsCrossOriginMethod(const String&amp;, StoredCredentialsPolicy, String&amp; errorDescription) const;
&gt; +    bool allowsCrossOriginHeaders(const HTTPHeaderMap&amp;, StoredCredentialsPolicy, String&amp; errorDescription) const;

These should return Expected&lt;void, String&gt; instead of having an out parameter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630403</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-03-16 12:02:26 -0700</bug_when>
    <thetext>CrossOriginPreflightResultCache::singleton().appendEntry(securityOrigin.toString(), request.url(), entry.moveToUniquePtr());
&gt; 
&gt; Do we want to do this if there was an error?  We didn&apos;t before.

Yes, I think so, this is explained in the change log

&gt; &gt; Source/WebCore/loader/CrossOriginPreflightResultCache.h:54
&gt; &gt; +    bool allowsCrossOriginMethod(const String&amp;, StoredCredentialsPolicy, String&amp; errorDescription) const;
&gt; &gt; +    bool allowsCrossOriginHeaders(const HTTPHeaderMap&amp;, StoredCredentialsPolicy, String&amp; errorDescription) const;
&gt; 
&gt; These should return Expected&lt;void, String&gt; instead of having an out
&gt; parameter.

Sure, this is preexisting and could be dealt with as a follow-up.
This patch moves these method from public to private so that at least we do not make this pattern more widespread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631089</commentid>
    <comment_count>7</comment_count>
      <attachid>393838</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-03-18 05:51:52 -0700</bug_when>
    <thetext>Created attachment 393838
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631124</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-03-18 07:43:52 -0700</bug_when>
    <thetext>&gt; Sure, this is preexisting and could be dealt with as a follow-up.
&gt; This patch moves these method from public to private so that at least we do
&gt; not make this pattern more widespread.

https://bugs.webkit.org/show_bug.cgi?id=209224</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631128</commentid>
    <comment_count>9</comment_count>
      <attachid>393838</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-18 07:49:42 -0700</bug_when>
    <thetext>Comment on attachment 393838
Patch for landing

Clearing flags on attachment: 393838

Committed r258631: &lt;https://trac.webkit.org/changeset/258631&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631129</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-18 07:49:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631130</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-18 07:50:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/60584210&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393260</attachid>
            <date>2020-03-11 10:35:03 -0700</date>
            <delta_ts>2020-03-12 02:56:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208924-20200311183501.patch</filename>
            <type>text/plain</type>
            <size>14942</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDY4M2RhY2NhZWU1NTQ4
ZjIwM2Q0ZjQwOWEyM2M2MTVhYWNlYzhiMS4uYTAyZDU4OGZmZTYxZWZkMmNmYmE0YTUxYTFkODcz
NzI1NjA3NjJhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTAzLTExICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHN1cmUgYSBwcmVm
bGlnaHQgZmFpbHMgaWYgcmVzcG9uc2UgaGVhZGVycyBhcmUgaW52YWxpZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4OTI0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2Ut
dmFsaWRhdGlvbi5hbnkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLXByZWZsaWdodC1yZXNwb25zZS12YWxpZGF0
aW9uLmFueS53b3JrZXIuaHRtbAorCisgICAgICAgIEltcGxlbWVudCBodHRwczovL2ZldGNoLnNw
ZWMud2hhdHdnLm9yZy8jY29ycy1wcmVmbGlnaHQtZmV0Y2gtMCBzdGVwIDcuMy4KKyAgICAgICAg
SW4gY2FzZSBoZWFkZXIgcGFyc2luZyBpcyB3cm9uZywgZmFpbCB0aGUgcHJlZmxpZ2h0IHdpdGgg
YSBtZWFuaW5nZnVsIG1lc3NhZ2UuCisgICAgICAgIFVwZGF0ZSBwYXJzaW5nIG9mIGhlYWRlcnMg
dG8gcmV0dXJuIGFuIE9wdGlvbmFsIHNvIHRoYXQgcGFyc2luZyBlcnJvciBpcyBoYW5kbGVkIGFz
IGEgbnVsbG9wdC4KKworICAgICAgICAqIGxvYWRlci9Dcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGVQcmVmbGlnaHRSZXNwb25zZSk6CisgICAg
ICAgICogbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW06OnBhcnNlKToK
KyAgICAgICAgKiBsb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaDoKKyAgICAgICAgKFdlYkNvcmU6
OnBhcnNlQWNjZXNzQ29udHJvbEFsbG93TGlzdCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlQmFzZTo6ZmlsdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VC
YXNlOjpzYW5pdGl6ZUhUVFBIZWFkZXJGaWVsZHNBY2NvcmRpbmdUb1RhaW50aW5nKToKKwogMjAy
MC0wMy0xMSAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRnJh
bWVMb2FkZXIgc2hvdWxkIG93biBpdHMgRnJhbWVMb2FkZXJDbGllbnQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luQWNjZXNzQ29udHJvbC5jcHAKaW5kZXggMzljNWZj
OGY0ZTg2ZjBjZTdmMzI3YjJlZTQ0MDlhY2U4OTk5YzljMS4uYjdlOWIxMmI2MjY3YjkwODY0OGJk
MjMzMmFkYzIxOGYwNjcyOGU2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Ny
b3NzT3JpZ2luQWNjZXNzQ29udHJvbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Ny
b3NzT3JpZ2luQWNjZXNzQ29udHJvbC5jcHAKQEAgLTI2Nyw3ICsyNjcsNyBAQCBFeHBlY3RlZDx2
b2lkLCBTdHJpbmc+IHZhbGlkYXRlUHJlZmxpZ2h0UmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiByZXF1ZXN0LAogICAgIGF1dG8gcmVzdWx0ID0gbWFrZVVuaXF1ZTxDcm9zc09yaWdpblBy
ZWZsaWdodFJlc3VsdENhY2hlSXRlbT4oc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kpOwogICAgIFN0
cmluZyBlcnJvckRlc2NyaXB0aW9uOwogICAgIC8vIEZJWE1FOiBhbGxvd3NDcm9zc09yaWdpbk1l
dGhvZCBhbmQgYWxsb3dzQ3Jvc3NPcmlnaW5IZWFkZXJzIHNob3VsZCByZXR1cm4gRXhwZWN0ZWQ8
dm9pZCwgU3RyaW5nPiB0byBhdm9pZCBoYXZpbmcgYW4gb3V0IHBhcmFtZXRlci4KLSAgICBpZiAo
IXJlc3VsdC0+cGFyc2UocmVzcG9uc2UpCisgICAgaWYgKCFyZXN1bHQtPnBhcnNlKHJlc3BvbnNl
LCBlcnJvckRlc2NyaXB0aW9uKQogICAgICAgICB8fCAhcmVzdWx0LT5hbGxvd3NDcm9zc09yaWdp
bk1ldGhvZChyZXF1ZXN0Lmh0dHBNZXRob2QoKSwgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIGVy
cm9yRGVzY3JpcHRpb24pCiAgICAgICAgIHx8ICFyZXN1bHQtPmFsbG93c0Nyb3NzT3JpZ2luSGVh
ZGVycyhyZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSwgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ks
IGVycm9yRGVzY3JpcHRpb24pKSB7CiAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChlcnJv
ckRlc2NyaXB0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09y
aWdpblByZWZsaWdodFJlc3VsdENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9z
c09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmNwcAppbmRleCBmYjNkYWRhZGRhZjE5ODljNzk4
YzJiMDFkYmU5Yzc5ZDc2OGZjM2VhLi5jZjRkYjZlMzM1OTI5NjAyNDI0ZjM1MDM2ZjhlZjZlYWM0
OTBlNmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVm
bGlnaHRSZXN1bHRDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3Jp
Z2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuY3BwCkBAIC01MiwxMCArNTIsMjEgQEAgc3RhdGljIGJv
b2wgcGFyc2VBY2Nlc3NDb250cm9sTWF4QWdlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBTZWNvbmRz
JiBleHBpcnlEZWx0YSkKICAgICByZXR1cm4gb2s7CiB9CiAKLWJvb2wgQ3Jvc3NPcmlnaW5QcmVm
bGlnaHRSZXN1bHRDYWNoZUl0ZW06OnBhcnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3Bv
bnNlKQorYm9vbCBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbTo6cGFyc2UoY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFN0cmluZyYgZXJyb3JEZXNjcmlwdGlvbikK
IHsKLSAgICBtX21ldGhvZHMgPSBwYXJzZUFjY2Vzc0NvbnRyb2xBbGxvd0xpc3QocmVzcG9uc2Uu
aHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpBY2Nlc3NDb250cm9sQWxsb3dNZXRob2Rz
KSk7Ci0gICAgbV9oZWFkZXJzID0gcGFyc2VBY2Nlc3NDb250cm9sQWxsb3dMaXN0PEFTQ0lJQ2Fz
ZUluc2Vuc2l0aXZlSGFzaD4ocmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1l
OjpBY2Nlc3NDb250cm9sQWxsb3dIZWFkZXJzKSk7CisgICAgYXV0byBtZXRob2RzID0gcGFyc2VB
Y2Nlc3NDb250cm9sQWxsb3dMaXN0KHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVy
TmFtZTo6QWNjZXNzQ29udHJvbEFsbG93TWV0aG9kcykpOworICAgIGlmICghbWV0aG9kcykgewor
ICAgICAgICBlcnJvckRlc2NyaXB0aW9uID0gbWFrZVN0cmluZygiSGVhZGVyIEFjY2Vzcy1Db250
cm9sLUFsbG93LU1ldGhvZHMgaGFzIGFuIGludmFsaWQgdmFsdWU6ICIsIHJlc3BvbnNlLmh0dHBI
ZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6QWNjZXNzQ29udHJvbEFsbG93TWV0aG9kcykpOwor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIG1fbWV0aG9kcyA9IFdURk1vdmUoKm1l
dGhvZHMpOworCisgICAgYXV0byBoZWFkZXJzID0gcGFyc2VBY2Nlc3NDb250cm9sQWxsb3dMaXN0
PEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4ocmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkKEhUVFBI
ZWFkZXJOYW1lOjpBY2Nlc3NDb250cm9sQWxsb3dIZWFkZXJzKSk7CisgICAgaWYgKCFoZWFkZXJz
KSB7CisgICAgICAgIGVycm9yRGVzY3JpcHRpb24gPSBtYWtlU3RyaW5nKCJIZWFkZXIgQWNjZXNz
LUNvbnRyb2wtQWxsb3ctSGVhZGVycyBoYXMgYW4gaW52YWxpZCB2YWx1ZTogIiwgcmVzcG9uc2Uu
aHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpBY2Nlc3NDb250cm9sQWxsb3dIZWFkZXJz
KSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgbV9oZWFkZXJzID0gV1RGTW92
ZSgqaGVhZGVycyk7CiAKICAgICBTZWNvbmRzIGV4cGlyeURlbHRhID0gMF9zOwogICAgIGlmIChw
YXJzZUFjY2Vzc0NvbnRyb2xNYXhBZ2UocmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFk
ZXJOYW1lOjpBY2Nlc3NDb250cm9sTWF4QWdlKSwgZXhwaXJ5RGVsdGEpKSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5o
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUu
aAppbmRleCAwNjY3OTNkYWU2Y2UxODg4M2RiMDg3OTQ1NDY3YzJlY2Y5MGVmODk5Li42NDUxMTgw
MmY0NDQ5MjRlNWVkNmE5MWM2NWNhZmQ2OTY5MTMxNGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmgKQEAgLTQ1
LDcgKzQ1LDcgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBi
b29sIHBhcnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBi
b29sIHBhcnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBTdHJpbmcmIGVycm9yRGVzY3JpcHRp
b24pOwogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgYWxsb3dzQ3Jvc3NPcmlnaW5NZXRob2QoY29u
c3QgU3RyaW5nJiwgU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFN0cmluZyYgZXJyb3JEZXNjcmlw
dGlvbikgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBhbGxvd3NDcm9zc09yaWdpbkhl
YWRlcnMoY29uc3QgSFRUUEhlYWRlck1hcCYsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBTdHJp
bmcmIGVycm9yRGVzY3JpcHRpb24pIGNvbnN0OwogICAgIGJvb2wgYWxsb3dzUmVxdWVzdChTdG9y
ZWRDcmVkZW50aWFsc1BvbGljeSwgY29uc3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0IEhUVFBIZWFk
ZXJNYXAmIHJlcXVlc3RIZWFkZXJzKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvSFRUUFBhcnNlcnMuaAppbmRleCA1ZDhlMjM0M2MwMWI4OWQwMjM1MTRlMGYyMzk3
YWI3ZmEyZTQzNDEwLi4yMGRiNzM5MWU3ZTJkMGYzOTQ2OGU5NTc0MmRhNDk5ZGEyMjFhNzhlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5oCkBAIC0x
NTYsNyArMTU2LDcgQEAgYm9vbCBhZGRUb0FjY2Vzc0NvbnRyb2xBbGxvd0xpc3QoY29uc3QgU3Ry
aW5nJiBzdHJpbmcsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZAogfQogCiB0ZW1wbGF0ZTxjbGFz
cyBIYXNoVHlwZSA9IERlZmF1bHRIYXNoPFN0cmluZz46Okhhc2g+Ci1IYXNoU2V0PFN0cmluZywg
SGFzaFR5cGU+IHBhcnNlQWNjZXNzQ29udHJvbEFsbG93TGlzdChjb25zdCBTdHJpbmcmIHN0cmlu
ZykKK09wdGlvbmFsPEhhc2hTZXQ8U3RyaW5nLCBIYXNoVHlwZT4+IHBhcnNlQWNjZXNzQ29udHJv
bEFsbG93TGlzdChjb25zdCBTdHJpbmcmIHN0cmluZykKIHsKICAgICBIYXNoU2V0PFN0cmluZywg
SGFzaFR5cGU+IHNldDsKICAgICB1bnNpZ25lZCBzdGFydCA9IDA7CkBAIC0xNzIsNyArMTcyLDcg
QEAgSGFzaFNldDxTdHJpbmcsIEhhc2hUeXBlPiBwYXJzZUFjY2Vzc0NvbnRyb2xBbGxvd0xpc3Qo
Y29uc3QgU3RyaW5nJiBzdHJpbmcpCiAgICAgICAgIGlmICghYWRkVG9BY2Nlc3NDb250cm9sQWxs
b3dMaXN0KHN0cmluZywgc3RhcnQsIHN0cmluZy5sZW5ndGgoKSAtIDEsIHNldCkpCiAgICAgICAg
ICAgICByZXR1cm4geyB9OwogICAgIH0KLSAgICByZXR1cm4gc2V0OworICAgIHJldHVybiBXVEZN
b3ZlKHNldCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKaW5kZXggYmEwMjQ4NDBlMGJmMGNmMjM0
ZmNhYzlmODMwODU5ZTM2Mzc0NjQ1NS4uM2FmMDBmNTcwMjBkNGMzNmNlNTM2YmM5ODJiNjQzYTU3
MzEyYzBmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlc3BvbnNlQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKQEAgLTE3OSwxMyArMTc5LDE0IEBAIFJlc291cmNl
UmVzcG9uc2UgUmVzb3VyY2VSZXNwb25zZUJhc2U6OmZpbHRlcihjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZXNwb25zZSkKICAgICBBU1NFUlQocmVzcG9uc2UudGFpbnRpbmcoKSA9PSBUYWludGlu
Zzo6Q29ycyk7CiAgICAgZmlsdGVyZWRSZXNwb25zZS5zZXRUeXBlKFR5cGU6OkNvcnMpOwogCi0g
ICAgYXV0byBhY2Nlc3NDb250cm9sRXhwb3NlSGVhZGVyU2V0ID0gcGFyc2VBY2Nlc3NDb250cm9s
QWxsb3dMaXN0PEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4ocmVzcG9uc2UuaHR0cEhlYWRlckZp
ZWxkKEhUVFBIZWFkZXJOYW1lOjpBY2Nlc3NDb250cm9sRXhwb3NlSGVhZGVycykpOwotICAgIGZp
bHRlcmVkUmVzcG9uc2UubV9odHRwSGVhZGVyRmllbGRzLnVuY29tbW9uSGVhZGVycygpLnJlbW92
ZUFsbE1hdGNoaW5nKFsmXShhdXRvJiBlbnRyeSkgewotICAgICAgICByZXR1cm4gIWlzQ3Jvc3NP
cmlnaW5TYWZlSGVhZGVyKGVudHJ5LmtleSwgYWNjZXNzQ29udHJvbEV4cG9zZUhlYWRlclNldCk7
Ci0gICAgfSk7Ci0gICAgZmlsdGVyZWRSZXNwb25zZS5tX2h0dHBIZWFkZXJGaWVsZHMuY29tbW9u
SGVhZGVycygpLnJlbW92ZUFsbE1hdGNoaW5nKFsmXShhdXRvJiBlbnRyeSkgewotICAgICAgICBy
ZXR1cm4gIWlzQ3Jvc3NPcmlnaW5TYWZlSGVhZGVyKGVudHJ5LmtleSwgYWNjZXNzQ29udHJvbEV4
cG9zZUhlYWRlclNldCk7Ci0gICAgfSk7CisgICAgaWYgKGF1dG8gYWNjZXNzQ29udHJvbEV4cG9z
ZUhlYWRlclNldCA9IHBhcnNlQWNjZXNzQ29udHJvbEFsbG93TGlzdDxBU0NJSUNhc2VJbnNlbnNp
dGl2ZUhhc2g+KHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6QWNjZXNz
Q29udHJvbEV4cG9zZUhlYWRlcnMpKSkgeworICAgICAgICBmaWx0ZXJlZFJlc3BvbnNlLm1faHR0
cEhlYWRlckZpZWxkcy51bmNvbW1vbkhlYWRlcnMoKS5yZW1vdmVBbGxNYXRjaGluZyhbJl0oYXV0
byYgZW50cnkpIHsKKyAgICAgICAgICAgIHJldHVybiAhaXNDcm9zc09yaWdpblNhZmVIZWFkZXIo
ZW50cnkua2V5LCAqYWNjZXNzQ29udHJvbEV4cG9zZUhlYWRlclNldCk7CisgICAgICAgIH0pOwor
ICAgICAgICBmaWx0ZXJlZFJlc3BvbnNlLm1faHR0cEhlYWRlckZpZWxkcy5jb21tb25IZWFkZXJz
KCkucmVtb3ZlQWxsTWF0Y2hpbmcoWyZdKGF1dG8mIGVudHJ5KSB7CisgICAgICAgICAgICByZXR1
cm4gIWlzQ3Jvc3NPcmlnaW5TYWZlSGVhZGVyKGVudHJ5LmtleSwgKmFjY2Vzc0NvbnRyb2xFeHBv
c2VIZWFkZXJTZXQpOworICAgICAgICB9KTsKKyAgICB9CiAKICAgICByZXR1cm4gZmlsdGVyZWRS
ZXNwb25zZTsKIH0KQEAgLTQ0OCwxMiArNDQ5LDEzIEBAIHZvaWQgUmVzb3VyY2VSZXNwb25zZUJh
c2U6OnNhbml0aXplSFRUUEhlYWRlckZpZWxkc0FjY29yZGluZ1RvVGFpbnRpbmcoKQogICAgICAg
ICAgICAgaWYgKGlzU2FmZUNyb3NzT3JpZ2luUmVzcG9uc2VIZWFkZXIoaGVhZGVyLmtleSkpCiAg
ICAgICAgICAgICAgICAgZmlsdGVyZWRIZWFkZXJzLmFkZChoZWFkZXIua2V5LCBXVEZNb3ZlKGhl
YWRlci52YWx1ZSkpOwogICAgICAgICB9Ci0gICAgICAgIGF1dG8gY29yc1NhZmVIZWFkZXJTZXQg
PSBwYXJzZUFjY2Vzc0NvbnRyb2xBbGxvd0xpc3Q8QVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPiho
dHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkFjY2Vzc0NvbnRyb2xFeHBvc2VIZWFkZXJz
KSk7Ci0gICAgICAgIGZvciAoYXV0byYgaGVhZGVyTmFtZSA6IGNvcnNTYWZlSGVhZGVyU2V0KSB7
Ci0gICAgICAgICAgICBpZiAoIWZpbHRlcmVkSGVhZGVycy5jb250YWlucyhoZWFkZXJOYW1lKSkg
ewotICAgICAgICAgICAgICAgIGF1dG8gdmFsdWUgPSBtX2h0dHBIZWFkZXJGaWVsZHMuZ2V0KGhl
YWRlck5hbWUpOwotICAgICAgICAgICAgICAgIGlmICghdmFsdWUuaXNOdWxsKCkpCi0gICAgICAg
ICAgICAgICAgICAgIGZpbHRlcmVkSGVhZGVycy5hZGQoaGVhZGVyTmFtZSwgdmFsdWUpOworICAg
ICAgICBpZiAoYXV0byBjb3JzU2FmZUhlYWRlclNldCA9IHBhcnNlQWNjZXNzQ29udHJvbEFsbG93
TGlzdDxBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+KGh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVy
TmFtZTo6QWNjZXNzQ29udHJvbEV4cG9zZUhlYWRlcnMpKSkgeworICAgICAgICAgICAgZm9yIChh
dXRvJiBoZWFkZXJOYW1lIDogKmNvcnNTYWZlSGVhZGVyU2V0KSB7CisgICAgICAgICAgICAgICAg
aWYgKCFmaWx0ZXJlZEhlYWRlcnMuY29udGFpbnMoaGVhZGVyTmFtZSkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgYXV0byB2YWx1ZSA9IG1faHR0cEhlYWRlckZpZWxkcy5nZXQoaGVhZGVyTmFtZSk7
CisgICAgICAgICAgICAgICAgICAgIGlmICghdmFsdWUuaXNOdWxsKCkpCisgICAgICAgICAgICAg
ICAgICAgICAgICBmaWx0ZXJlZEhlYWRlcnMuYWRkKGhlYWRlck5hbWUsIHZhbHVlKTsKKyAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgbV9odHRwSGVh
ZGVyRmllbGRzID0gV1RGTW92ZShmaWx0ZXJlZEhlYWRlcnMpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKaW5kZXggY2MwZWZlMWZhODFiZWQwN2QxY2E1NTAxZDNkYjlmZjYzN2RjOGJhOC4u
M2RiMWZmMDJiNzIxOTE5YzExYzZiMDI2ZTQ0NzI5ODEzMDE4ZDk2ZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDMtMTEgIHlvdWVubiBmYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc3VyZSBhIHByZWZsaWdodCBm
YWlscyBpZiByZXNwb25zZSBoZWFkZXJzIGFyZSBpbnZhbGlkCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg5MjQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0cyBmcm9tIGh0dHBzOi8vZ2l0aHViLmNv
bS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L3B1bGwvMjIxMzUuCisKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRh
dGlvbi5hbnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlvbi5hbnku
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3Jz
L2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55Lndvcmtlci1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9j
b3JzLXByZWZsaWdodC1yZXNwb25zZS12YWxpZGF0aW9uLmFueS53b3JrZXIuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxp
Z2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55Mi5qczogQWRkZWQuCisgICAgICAgIChjb3JzUHJl
ZmxpZ2h0UmVzcG9uc2VWYWxpZGF0aW9uKToKKwogMjAyMC0wMy0xMCAgUm9iIEJ1aXMgIDxyYnVp
c0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEFsaWduIHdpdGggT3JpZ2luIGhlYWRlciBjaGFuZ2Vz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlvbi5hbnktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5YTgyYzMyMzY5NGExMjI3ZWI3ODcwNzc4MzhmYjM0YmY0
OTExMDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlk
YXRpb24uYW55LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworUEFTUyBQcmVmbGlnaHQg
cmVzcG9uc2Ugd2l0aCBhIGJhZCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIAorUEFTUyBQ
cmVmbGlnaHQgcmVzcG9uc2Ugd2l0aCBhIGJhZCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2Rz
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDdmZGQ0YzNiMmI1OTE4NTYxYjA4YmI5MjdkZTllNDNjZDY2NGMwNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlvbi5hbnkuaHRt
bApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRl
c3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4gCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2Fw
aS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55Lndvcmtlci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55Lndvcmtl
ci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDlhODJjMzIzNjk0YTEyMjdlYjc4NzA3NzgzOGZi
MzRiZjQ5MTEwNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2Ut
dmFsaWRhdGlvbi5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworUEFT
UyBQcmVmbGlnaHQgcmVzcG9uc2Ugd2l0aCBhIGJhZCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFk
ZXJzIAorUEFTUyBQcmVmbGlnaHQgcmVzcG9uc2Ugd2l0aCBhIGJhZCBBY2Nlc3MtQ29udHJvbC1B
bGxvdy1NZXRob2RzIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZh
bGlkYXRpb24uYW55Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLXByZWZsaWdodC1yZXNwb25zZS12YWxp
ZGF0aW9uLmFueS53b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wN2ZkZDRjM2IyYjU5MTg1NjFiMDhi
YjkyN2RlOWU0M2NkNjY0YzA2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLXByZWZsaWdodC1y
ZXNwb25zZS12YWxpZGF0aW9uLmFueS53b3JrZXIuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRo
aXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVu
IHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4gCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJl
c3BvbnNlLXZhbGlkYXRpb24uYW55Mi5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFs
aWRhdGlvbi5hbnkyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5ZGEzZDZlNmM1NmM4MzkxNDM5ZGU3MWZjM2Q1
ZTlkN2E3YTJmNDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNl
LXZhbGlkYXRpb24uYW55Mi5qcwpAQCAtMCwwICsxLDM0IEBACisvLyBNRVRBOiBzY3JpcHQ9L2Nv
bW1vbi91dGlscy5qcworLy8gTUVUQTogc2NyaXB0PS4uL3Jlc291cmNlcy91dGlscy5qcworLy8g
TUVUQTogc2NyaXB0PS9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMKKworZnVuY3Rpb24gY29y
c1ByZWZsaWdodFJlc3BvbnNlVmFsaWRhdGlvbihkZXNjLCBjb3JzVXJsLCBhbGxvd0hlYWRlcnMs
IGFsbG93TWV0aG9kcykgeworICB2YXIgdXVpZF90b2tlbiA9IHRva2VuKCk7CisgIHZhciB1cmwg
PSBjb3JzVXJsOworICB2YXIgcmVxdWVzdEluaXQgPSB7Im1vZGUiOiAiY29ycyJ9OworICAvKiBG
b3JjZSBwcmVmbGlnaHQgKi8KKyAgcmVxdWVzdEluaXRbImhlYWRlcnMiXSA9IHsieC1mb3JjZS1w
cmVmbGlnaHQiOiAiIn07CisKKyAgdmFyIHVybFBhcmFtZXRlcnMgPSAiP3Rva2VuPSIgKyB1dWlk
X3Rva2VuICsgIiZtYXhfYWdlPTAiOworICB1cmxQYXJhbWV0ZXJzICs9ICImYWxsb3dfaGVhZGVy
cz14LWZvcmNlLXByZWZsaWdodCI7CisgIGlmIChhbGxvd0hlYWRlcnMpCisgICAgdXJsUGFyYW1l
dGVycyArPSAiLCIgKyBhbGxvd0hlYWRlcnM7CisgIGlmIChhbGxvd01ldGhvZHMpCisgICAgdXJs
UGFyYW1ldGVycyArPSAiJmFsbG93X21ldGhvZHM9IisgYWxsb3dNZXRob2RzOworCisgIHByb21p
c2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7CisgICAgcmV0dXJuIGZldGNoKFJFU09VUkNFU19ESVIg
KyAiY2xlYW4tc3Rhc2gucHk/dG9rZW49IiArIHV1aWRfdG9rZW4pLnRoZW4oYXN5bmMgZnVuY3Rp
b24ocmVzcCkgeworICAgICAgYXNzZXJ0X2VxdWFscyhyZXNwLnN0YXR1cywgMjAwLCAiQ2xlYW4g
c3Rhc2ggcmVzcG9uc2UncyBzdGF0dXMgaXMgMjAwIik7CisgICAgICBhd2FpdCBwcm9taXNlX3Jl
amVjdHNfanModGVzdCwgVHlwZUVycm9yLCBmZXRjaCh1cmwgKyB1cmxQYXJhbWV0ZXJzLCByZXF1
ZXN0SW5pdCkpOworCisgICAgICByZXR1cm4gZmV0Y2godXJsICsgdXJsUGFyYW1ldGVycykudGhl
bihmdW5jdGlvbihyZXNwKSB7CisgICAgICAgIGFzc2VydF9lcXVhbHMocmVzcC5oZWFkZXJzLmdl
dCgieC1kaWQtcHJlZmxpZ2h0IiksICIxIiwgIlByZWZsaWdodCByZXF1ZXN0IGhhcyBiZWVuIG1h
ZGUiKTsKKyAgICAgIH0pOworICAgIH0pOworICB9LCBkZXNjKTsKK30KKwordmFyIGNvcnNVcmwg
PSBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOICsgZGlybmFtZShsb2NhdGlvbi5w
YXRobmFtZSkgKyBSRVNPVVJDRVNfRElSICsgInByZWZsaWdodC5weSI7Citjb3JzUHJlZmxpZ2h0
UmVzcG9uc2VWYWxpZGF0aW9uKCJQcmVmbGlnaHQgcmVzcG9uc2Ugd2l0aCBhIGJhZCBBY2Nlc3Mt
Q29udHJvbC1BbGxvdy1IZWFkZXJzIiwgY29yc1VybCwgIkJhZCB2YWx1ZSIsIG51bGwpOworY29y
c1ByZWZsaWdodFJlc3BvbnNlVmFsaWRhdGlvbigiUHJlZmxpZ2h0IHJlc3BvbnNlIHdpdGggYSBi
YWQgQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsIGNvcnNVcmwsIG51bGwsICJCYWQgdmFs
dWUiKTsKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393351</attachid>
            <date>2020-03-12 02:56:15 -0700</date>
            <delta_ts>2020-03-12 05:50:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208924-20200312105613.patch</filename>
            <type>text/plain</type>
            <size>14939</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDY4M2RhY2NhZWU1NTQ4
ZjIwM2Q0ZjQwOWEyM2M2MTVhYWNlYzhiMS4uYTAyZDU4OGZmZTYxZWZkMmNmYmE0YTUxYTFkODcz
NzI1NjA3NjJhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTAzLTExICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHN1cmUgYSBwcmVm
bGlnaHQgZmFpbHMgaWYgcmVzcG9uc2UgaGVhZGVycyBhcmUgaW52YWxpZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4OTI0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2Ut
dmFsaWRhdGlvbi5hbnkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLXByZWZsaWdodC1yZXNwb25zZS12YWxpZGF0
aW9uLmFueS53b3JrZXIuaHRtbAorCisgICAgICAgIEltcGxlbWVudCBodHRwczovL2ZldGNoLnNw
ZWMud2hhdHdnLm9yZy8jY29ycy1wcmVmbGlnaHQtZmV0Y2gtMCBzdGVwIDcuMy4KKyAgICAgICAg
SW4gY2FzZSBoZWFkZXIgcGFyc2luZyBpcyB3cm9uZywgZmFpbCB0aGUgcHJlZmxpZ2h0IHdpdGgg
YSBtZWFuaW5nZnVsIG1lc3NhZ2UuCisgICAgICAgIFVwZGF0ZSBwYXJzaW5nIG9mIGhlYWRlcnMg
dG8gcmV0dXJuIGFuIE9wdGlvbmFsIHNvIHRoYXQgcGFyc2luZyBlcnJvciBpcyBoYW5kbGVkIGFz
IGEgbnVsbG9wdC4KKworICAgICAgICAqIGxvYWRlci9Dcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGVQcmVmbGlnaHRSZXNwb25zZSk6CisgICAg
ICAgICogbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW06OnBhcnNlKToK
KyAgICAgICAgKiBsb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaDoKKyAgICAgICAgKFdlYkNvcmU6
OnBhcnNlQWNjZXNzQ29udHJvbEFsbG93TGlzdCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlQmFzZTo6ZmlsdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VC
YXNlOjpzYW5pdGl6ZUhUVFBIZWFkZXJGaWVsZHNBY2NvcmRpbmdUb1RhaW50aW5nKToKKwogMjAy
MC0wMy0xMSAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRnJh
bWVMb2FkZXIgc2hvdWxkIG93biBpdHMgRnJhbWVMb2FkZXJDbGllbnQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luQWNjZXNzQ29udHJvbC5jcHAKaW5kZXggMzljNWZj
OGY0ZTg2ZjBjZTdmMzI3YjJlZTQ0MDlhY2U4OTk5YzljMS4uYjdlOWIxMmI2MjY3YjkwODY0OGJk
MjMzMmFkYzIxOGYwNjcyOGU2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Ny
b3NzT3JpZ2luQWNjZXNzQ29udHJvbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Ny
b3NzT3JpZ2luQWNjZXNzQ29udHJvbC5jcHAKQEAgLTI2Nyw3ICsyNjcsNyBAQCBFeHBlY3RlZDx2
b2lkLCBTdHJpbmc+IHZhbGlkYXRlUHJlZmxpZ2h0UmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiByZXF1ZXN0LAogICAgIGF1dG8gcmVzdWx0ID0gbWFrZVVuaXF1ZTxDcm9zc09yaWdpblBy
ZWZsaWdodFJlc3VsdENhY2hlSXRlbT4oc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kpOwogICAgIFN0
cmluZyBlcnJvckRlc2NyaXB0aW9uOwogICAgIC8vIEZJWE1FOiBhbGxvd3NDcm9zc09yaWdpbk1l
dGhvZCBhbmQgYWxsb3dzQ3Jvc3NPcmlnaW5IZWFkZXJzIHNob3VsZCByZXR1cm4gRXhwZWN0ZWQ8
dm9pZCwgU3RyaW5nPiB0byBhdm9pZCBoYXZpbmcgYW4gb3V0IHBhcmFtZXRlci4KLSAgICBpZiAo
IXJlc3VsdC0+cGFyc2UocmVzcG9uc2UpCisgICAgaWYgKCFyZXN1bHQtPnBhcnNlKHJlc3BvbnNl
LCBlcnJvckRlc2NyaXB0aW9uKQogICAgICAgICB8fCAhcmVzdWx0LT5hbGxvd3NDcm9zc09yaWdp
bk1ldGhvZChyZXF1ZXN0Lmh0dHBNZXRob2QoKSwgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIGVy
cm9yRGVzY3JpcHRpb24pCiAgICAgICAgIHx8ICFyZXN1bHQtPmFsbG93c0Nyb3NzT3JpZ2luSGVh
ZGVycyhyZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSwgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ks
IGVycm9yRGVzY3JpcHRpb24pKSB7CiAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChlcnJv
ckRlc2NyaXB0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09y
aWdpblByZWZsaWdodFJlc3VsdENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9z
c09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmNwcAppbmRleCBmYjNkYWRhZGRhZjE5ODljNzk4
YzJiMDFkYmU5Yzc5ZDc2OGZjM2VhLi5jZjRkYjZlMzM1OTI5NjAyNDI0ZjM1MDM2ZjhlZjZlYWM0
OTBlNmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVm
bGlnaHRSZXN1bHRDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3Jp
Z2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuY3BwCkBAIC01MiwxMCArNTIsMjEgQEAgc3RhdGljIGJv
b2wgcGFyc2VBY2Nlc3NDb250cm9sTWF4QWdlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBTZWNvbmRz
JiBleHBpcnlEZWx0YSkKICAgICByZXR1cm4gb2s7CiB9CiAKLWJvb2wgQ3Jvc3NPcmlnaW5QcmVm
bGlnaHRSZXN1bHRDYWNoZUl0ZW06OnBhcnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3Bv
bnNlKQorYm9vbCBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbTo6cGFyc2UoY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFN0cmluZyYgZXJyb3JEZXNjcmlwdGlvbikK
IHsKLSAgICBtX21ldGhvZHMgPSBwYXJzZUFjY2Vzc0NvbnRyb2xBbGxvd0xpc3QocmVzcG9uc2Uu
aHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpBY2Nlc3NDb250cm9sQWxsb3dNZXRob2Rz
KSk7Ci0gICAgbV9oZWFkZXJzID0gcGFyc2VBY2Nlc3NDb250cm9sQWxsb3dMaXN0PEFTQ0lJQ2Fz
ZUluc2Vuc2l0aXZlSGFzaD4ocmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1l
OjpBY2Nlc3NDb250cm9sQWxsb3dIZWFkZXJzKSk7CisgICAgYXV0byBtZXRob2RzID0gcGFyc2VB
Y2Nlc3NDb250cm9sQWxsb3dMaXN0KHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVy
TmFtZTo6QWNjZXNzQ29udHJvbEFsbG93TWV0aG9kcykpOworICAgIGlmICghbWV0aG9kcykgewor
ICAgICAgICBlcnJvckRlc2NyaXB0aW9uID0gbWFrZVN0cmluZygiSGVhZGVyIEFjY2Vzcy1Db250
cm9sLUFsbG93LU1ldGhvZHMgaGFzIGFuIGludmFsaWQgdmFsdWU6ICIsIHJlc3BvbnNlLmh0dHBI
ZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6QWNjZXNzQ29udHJvbEFsbG93TWV0aG9kcykpOwor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIG1fbWV0aG9kcyA9IFdURk1vdmUoKm1l
dGhvZHMpOworCisgICAgYXV0byBoZWFkZXJzID0gcGFyc2VBY2Nlc3NDb250cm9sQWxsb3dMaXN0
PEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4ocmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkKEhUVFBI
ZWFkZXJOYW1lOjpBY2Nlc3NDb250cm9sQWxsb3dIZWFkZXJzKSk7CisgICAgaWYgKCFoZWFkZXJz
KSB7CisgICAgICAgIGVycm9yRGVzY3JpcHRpb24gPSBtYWtlU3RyaW5nKCJIZWFkZXIgQWNjZXNz
LUNvbnRyb2wtQWxsb3ctSGVhZGVycyBoYXMgYW4gaW52YWxpZCB2YWx1ZTogIiwgcmVzcG9uc2Uu
aHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpBY2Nlc3NDb250cm9sQWxsb3dIZWFkZXJz
KSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgbV9oZWFkZXJzID0gV1RGTW92
ZSgqaGVhZGVycyk7CiAKICAgICBTZWNvbmRzIGV4cGlyeURlbHRhID0gMF9zOwogICAgIGlmIChw
YXJzZUFjY2Vzc0NvbnRyb2xNYXhBZ2UocmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFk
ZXJOYW1lOjpBY2Nlc3NDb250cm9sTWF4QWdlKSwgZXhwaXJ5RGVsdGEpKSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5o
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUu
aAppbmRleCAwNjY3OTNkYWU2Y2UxODg4M2RiMDg3OTQ1NDY3YzJlY2Y5MGVmODk5Li42NDUxMTgw
MmY0NDQ5MjRlNWVkNmE5MWM2NWNhZmQ2OTY5MTMxNGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmgKQEAgLTQ1
LDcgKzQ1LDcgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBi
b29sIHBhcnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBi
b29sIHBhcnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBTdHJpbmcmIGVycm9yRGVzY3JpcHRp
b24pOwogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgYWxsb3dzQ3Jvc3NPcmlnaW5NZXRob2QoY29u
c3QgU3RyaW5nJiwgU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFN0cmluZyYgZXJyb3JEZXNjcmlw
dGlvbikgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBhbGxvd3NDcm9zc09yaWdpbkhl
YWRlcnMoY29uc3QgSFRUUEhlYWRlck1hcCYsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBTdHJp
bmcmIGVycm9yRGVzY3JpcHRpb24pIGNvbnN0OwogICAgIGJvb2wgYWxsb3dzUmVxdWVzdChTdG9y
ZWRDcmVkZW50aWFsc1BvbGljeSwgY29uc3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0IEhUVFBIZWFk
ZXJNYXAmIHJlcXVlc3RIZWFkZXJzKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvSFRUUFBhcnNlcnMuaAppbmRleCA1ZDhlMjM0M2MwMWI4OWQwMjM1MTRlMGYyMzk3
YWI3ZmEyZTQzNDEwLi4yMGRiNzM5MWU3ZTJkMGYzOTQ2OGU5NTc0MmRhNDk5ZGEyMjFhNzhlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5oCkBAIC0x
NTYsNyArMTU2LDcgQEAgYm9vbCBhZGRUb0FjY2Vzc0NvbnRyb2xBbGxvd0xpc3QoY29uc3QgU3Ry
aW5nJiBzdHJpbmcsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZAogfQogCiB0ZW1wbGF0ZTxjbGFz
cyBIYXNoVHlwZSA9IERlZmF1bHRIYXNoPFN0cmluZz46Okhhc2g+Ci1IYXNoU2V0PFN0cmluZywg
SGFzaFR5cGU+IHBhcnNlQWNjZXNzQ29udHJvbEFsbG93TGlzdChjb25zdCBTdHJpbmcmIHN0cmlu
ZykKK09wdGlvbmFsPEhhc2hTZXQ8U3RyaW5nLCBIYXNoVHlwZT4+IHBhcnNlQWNjZXNzQ29udHJv
bEFsbG93TGlzdChjb25zdCBTdHJpbmcmIHN0cmluZykKIHsKICAgICBIYXNoU2V0PFN0cmluZywg
SGFzaFR5cGU+IHNldDsKICAgICB1bnNpZ25lZCBzdGFydCA9IDA7CkBAIC0xNzIsNyArMTcyLDcg
QEAgSGFzaFNldDxTdHJpbmcsIEhhc2hUeXBlPiBwYXJzZUFjY2Vzc0NvbnRyb2xBbGxvd0xpc3Qo
Y29uc3QgU3RyaW5nJiBzdHJpbmcpCiAgICAgICAgIGlmICghYWRkVG9BY2Nlc3NDb250cm9sQWxs
b3dMaXN0KHN0cmluZywgc3RhcnQsIHN0cmluZy5sZW5ndGgoKSAtIDEsIHNldCkpCiAgICAgICAg
ICAgICByZXR1cm4geyB9OwogICAgIH0KLSAgICByZXR1cm4gc2V0OworICAgIHJldHVybiBXVEZN
b3ZlKHNldCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKaW5kZXggYmEwMjQ4NDBlMGJmMGNmMjM0
ZmNhYzlmODMwODU5ZTM2Mzc0NjQ1NS4uM2FmMDBmNTcwMjBkNGMzNmNlNTM2YmM5ODJiNjQzYTU3
MzEyYzBmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlc3BvbnNlQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKQEAgLTE3OSwxMyArMTc5LDE0IEBAIFJlc291cmNl
UmVzcG9uc2UgUmVzb3VyY2VSZXNwb25zZUJhc2U6OmZpbHRlcihjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZXNwb25zZSkKICAgICBBU1NFUlQocmVzcG9uc2UudGFpbnRpbmcoKSA9PSBUYWludGlu
Zzo6Q29ycyk7CiAgICAgZmlsdGVyZWRSZXNwb25zZS5zZXRUeXBlKFR5cGU6OkNvcnMpOwogCi0g
ICAgYXV0byBhY2Nlc3NDb250cm9sRXhwb3NlSGVhZGVyU2V0ID0gcGFyc2VBY2Nlc3NDb250cm9s
QWxsb3dMaXN0PEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4ocmVzcG9uc2UuaHR0cEhlYWRlckZp
ZWxkKEhUVFBIZWFkZXJOYW1lOjpBY2Nlc3NDb250cm9sRXhwb3NlSGVhZGVycykpOwotICAgIGZp
bHRlcmVkUmVzcG9uc2UubV9odHRwSGVhZGVyRmllbGRzLnVuY29tbW9uSGVhZGVycygpLnJlbW92
ZUFsbE1hdGNoaW5nKFsmXShhdXRvJiBlbnRyeSkgewotICAgICAgICByZXR1cm4gIWlzQ3Jvc3NP
cmlnaW5TYWZlSGVhZGVyKGVudHJ5LmtleSwgYWNjZXNzQ29udHJvbEV4cG9zZUhlYWRlclNldCk7
Ci0gICAgfSk7Ci0gICAgZmlsdGVyZWRSZXNwb25zZS5tX2h0dHBIZWFkZXJGaWVsZHMuY29tbW9u
SGVhZGVycygpLnJlbW92ZUFsbE1hdGNoaW5nKFsmXShhdXRvJiBlbnRyeSkgewotICAgICAgICBy
ZXR1cm4gIWlzQ3Jvc3NPcmlnaW5TYWZlSGVhZGVyKGVudHJ5LmtleSwgYWNjZXNzQ29udHJvbEV4
cG9zZUhlYWRlclNldCk7Ci0gICAgfSk7CisgICAgaWYgKGF1dG8gYWNjZXNzQ29udHJvbEV4cG9z
ZUhlYWRlclNldCA9IHBhcnNlQWNjZXNzQ29udHJvbEFsbG93TGlzdDxBU0NJSUNhc2VJbnNlbnNp
dGl2ZUhhc2g+KHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6QWNjZXNz
Q29udHJvbEV4cG9zZUhlYWRlcnMpKSkgeworICAgICAgICBmaWx0ZXJlZFJlc3BvbnNlLm1faHR0
cEhlYWRlckZpZWxkcy51bmNvbW1vbkhlYWRlcnMoKS5yZW1vdmVBbGxNYXRjaGluZyhbJl0oYXV0
byYgZW50cnkpIHsKKyAgICAgICAgICAgIHJldHVybiAhaXNDcm9zc09yaWdpblNhZmVIZWFkZXIo
ZW50cnkua2V5LCAqYWNjZXNzQ29udHJvbEV4cG9zZUhlYWRlclNldCk7CisgICAgICAgIH0pOwor
ICAgICAgICBmaWx0ZXJlZFJlc3BvbnNlLm1faHR0cEhlYWRlckZpZWxkcy5jb21tb25IZWFkZXJz
KCkucmVtb3ZlQWxsTWF0Y2hpbmcoWyZdKGF1dG8mIGVudHJ5KSB7CisgICAgICAgICAgICByZXR1
cm4gIWlzQ3Jvc3NPcmlnaW5TYWZlSGVhZGVyKGVudHJ5LmtleSwgKmFjY2Vzc0NvbnRyb2xFeHBv
c2VIZWFkZXJTZXQpOworICAgICAgICB9KTsKKyAgICB9CiAKICAgICByZXR1cm4gZmlsdGVyZWRS
ZXNwb25zZTsKIH0KQEAgLTQ0OCwxMiArNDQ5LDEzIEBAIHZvaWQgUmVzb3VyY2VSZXNwb25zZUJh
c2U6OnNhbml0aXplSFRUUEhlYWRlckZpZWxkc0FjY29yZGluZ1RvVGFpbnRpbmcoKQogICAgICAg
ICAgICAgaWYgKGlzU2FmZUNyb3NzT3JpZ2luUmVzcG9uc2VIZWFkZXIoaGVhZGVyLmtleSkpCiAg
ICAgICAgICAgICAgICAgZmlsdGVyZWRIZWFkZXJzLmFkZChoZWFkZXIua2V5LCBXVEZNb3ZlKGhl
YWRlci52YWx1ZSkpOwogICAgICAgICB9Ci0gICAgICAgIGF1dG8gY29yc1NhZmVIZWFkZXJTZXQg
PSBwYXJzZUFjY2Vzc0NvbnRyb2xBbGxvd0xpc3Q8QVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPiho
dHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkFjY2Vzc0NvbnRyb2xFeHBvc2VIZWFkZXJz
KSk7Ci0gICAgICAgIGZvciAoYXV0byYgaGVhZGVyTmFtZSA6IGNvcnNTYWZlSGVhZGVyU2V0KSB7
Ci0gICAgICAgICAgICBpZiAoIWZpbHRlcmVkSGVhZGVycy5jb250YWlucyhoZWFkZXJOYW1lKSkg
ewotICAgICAgICAgICAgICAgIGF1dG8gdmFsdWUgPSBtX2h0dHBIZWFkZXJGaWVsZHMuZ2V0KGhl
YWRlck5hbWUpOwotICAgICAgICAgICAgICAgIGlmICghdmFsdWUuaXNOdWxsKCkpCi0gICAgICAg
ICAgICAgICAgICAgIGZpbHRlcmVkSGVhZGVycy5hZGQoaGVhZGVyTmFtZSwgdmFsdWUpOworICAg
ICAgICBpZiAoYXV0byBjb3JzU2FmZUhlYWRlclNldCA9IHBhcnNlQWNjZXNzQ29udHJvbEFsbG93
TGlzdDxBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+KGh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVy
TmFtZTo6QWNjZXNzQ29udHJvbEV4cG9zZUhlYWRlcnMpKSkgeworICAgICAgICAgICAgZm9yIChh
dXRvJiBoZWFkZXJOYW1lIDogKmNvcnNTYWZlSGVhZGVyU2V0KSB7CisgICAgICAgICAgICAgICAg
aWYgKCFmaWx0ZXJlZEhlYWRlcnMuY29udGFpbnMoaGVhZGVyTmFtZSkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgYXV0byB2YWx1ZSA9IG1faHR0cEhlYWRlckZpZWxkcy5nZXQoaGVhZGVyTmFtZSk7
CisgICAgICAgICAgICAgICAgICAgIGlmICghdmFsdWUuaXNOdWxsKCkpCisgICAgICAgICAgICAg
ICAgICAgICAgICBmaWx0ZXJlZEhlYWRlcnMuYWRkKGhlYWRlck5hbWUsIHZhbHVlKTsKKyAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgbV9odHRwSGVh
ZGVyRmllbGRzID0gV1RGTW92ZShmaWx0ZXJlZEhlYWRlcnMpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKaW5kZXggY2MwZWZlMWZhODFiZWQwN2QxY2E1NTAxZDNkYjlmZjYzN2RjOGJhOC4u
M2RiMWZmMDJiNzIxOTE5YzExYzZiMDI2ZTQ0NzI5ODEzMDE4ZDk2ZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDMtMTEgIHlvdWVubiBmYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc3VyZSBhIHByZWZsaWdodCBm
YWlscyBpZiByZXNwb25zZSBoZWFkZXJzIGFyZSBpbnZhbGlkCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg5MjQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0cyBmcm9tIGh0dHBzOi8vZ2l0aHViLmNv
bS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L3B1bGwvMjIxMzUuCisKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRh
dGlvbi5hbnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlvbi5hbnku
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3Jz
L2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55Lndvcmtlci1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9j
b3JzLXByZWZsaWdodC1yZXNwb25zZS12YWxpZGF0aW9uLmFueS53b3JrZXIuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxp
Z2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55Mi5qczogQWRkZWQuCisgICAgICAgIChjb3JzUHJl
ZmxpZ2h0UmVzcG9uc2VWYWxpZGF0aW9uKToKKwogMjAyMC0wMy0xMCAgUm9iIEJ1aXMgIDxyYnVp
c0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEFsaWduIHdpdGggT3JpZ2luIGhlYWRlciBjaGFuZ2Vz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlvbi5hbnktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5YTgyYzMyMzY5NGExMjI3ZWI3ODcwNzc4MzhmYjM0YmY0
OTExMDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlk
YXRpb24uYW55LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworUEFTUyBQcmVmbGlnaHQg
cmVzcG9uc2Ugd2l0aCBhIGJhZCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIAorUEFTUyBQ
cmVmbGlnaHQgcmVzcG9uc2Ugd2l0aCBhIGJhZCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2Rz
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDdmZGQ0YzNiMmI1OTE4NTYxYjA4YmI5MjdkZTllNDNjZDY2NGMwNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlvbi5hbnkuaHRt
bApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRl
c3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4gCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2Fw
aS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55LmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3Jz
LXByZWZsaWdodC1yZXNwb25zZS12YWxpZGF0aW9uLmFueS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOWRhM2Q2
ZTZjNTZjODM5MTQzOWRlNzFmYzNkNWU5ZDdhN2EyZjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9j
b3JzLXByZWZsaWdodC1yZXNwb25zZS12YWxpZGF0aW9uLmFueS5qcwpAQCAtMCwwICsxLDM0IEBA
CisvLyBNRVRBOiBzY3JpcHQ9L2NvbW1vbi91dGlscy5qcworLy8gTUVUQTogc2NyaXB0PS4uL3Jl
c291cmNlcy91dGlscy5qcworLy8gTUVUQTogc2NyaXB0PS9jb21tb24vZ2V0LWhvc3QtaW5mby5z
dWIuanMKKworZnVuY3Rpb24gY29yc1ByZWZsaWdodFJlc3BvbnNlVmFsaWRhdGlvbihkZXNjLCBj
b3JzVXJsLCBhbGxvd0hlYWRlcnMsIGFsbG93TWV0aG9kcykgeworICB2YXIgdXVpZF90b2tlbiA9
IHRva2VuKCk7CisgIHZhciB1cmwgPSBjb3JzVXJsOworICB2YXIgcmVxdWVzdEluaXQgPSB7Im1v
ZGUiOiAiY29ycyJ9OworICAvKiBGb3JjZSBwcmVmbGlnaHQgKi8KKyAgcmVxdWVzdEluaXRbImhl
YWRlcnMiXSA9IHsieC1mb3JjZS1wcmVmbGlnaHQiOiAiIn07CisKKyAgdmFyIHVybFBhcmFtZXRl
cnMgPSAiP3Rva2VuPSIgKyB1dWlkX3Rva2VuICsgIiZtYXhfYWdlPTAiOworICB1cmxQYXJhbWV0
ZXJzICs9ICImYWxsb3dfaGVhZGVycz14LWZvcmNlLXByZWZsaWdodCI7CisgIGlmIChhbGxvd0hl
YWRlcnMpCisgICAgdXJsUGFyYW1ldGVycyArPSAiLCIgKyBhbGxvd0hlYWRlcnM7CisgIGlmIChh
bGxvd01ldGhvZHMpCisgICAgdXJsUGFyYW1ldGVycyArPSAiJmFsbG93X21ldGhvZHM9IisgYWxs
b3dNZXRob2RzOworCisgIHByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7CisgICAgcmV0dXJu
IGZldGNoKFJFU09VUkNFU19ESVIgKyAiY2xlYW4tc3Rhc2gucHk/dG9rZW49IiArIHV1aWRfdG9r
ZW4pLnRoZW4oYXN5bmMgZnVuY3Rpb24ocmVzcCkgeworICAgICAgYXNzZXJ0X2VxdWFscyhyZXNw
LnN0YXR1cywgMjAwLCAiQ2xlYW4gc3Rhc2ggcmVzcG9uc2UncyBzdGF0dXMgaXMgMjAwIik7Cisg
ICAgICBhd2FpdCBwcm9taXNlX3JlamVjdHNfanModGVzdCwgVHlwZUVycm9yLCBmZXRjaCh1cmwg
KyB1cmxQYXJhbWV0ZXJzLCByZXF1ZXN0SW5pdCkpOworCisgICAgICByZXR1cm4gZmV0Y2godXJs
ICsgdXJsUGFyYW1ldGVycykudGhlbihmdW5jdGlvbihyZXNwKSB7CisgICAgICAgIGFzc2VydF9l
cXVhbHMocmVzcC5oZWFkZXJzLmdldCgieC1kaWQtcHJlZmxpZ2h0IiksICIxIiwgIlByZWZsaWdo
dCByZXF1ZXN0IGhhcyBiZWVuIG1hZGUiKTsKKyAgICAgIH0pOworICAgIH0pOworICB9LCBkZXNj
KTsKK30KKwordmFyIGNvcnNVcmwgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lO
ICsgZGlybmFtZShsb2NhdGlvbi5wYXRobmFtZSkgKyBSRVNPVVJDRVNfRElSICsgInByZWZsaWdo
dC5weSI7Citjb3JzUHJlZmxpZ2h0UmVzcG9uc2VWYWxpZGF0aW9uKCJQcmVmbGlnaHQgcmVzcG9u
c2Ugd2l0aCBhIGJhZCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIiwgY29yc1VybCwgIkJh
ZCB2YWx1ZSIsIG51bGwpOworY29yc1ByZWZsaWdodFJlc3BvbnNlVmFsaWRhdGlvbigiUHJlZmxp
Z2h0IHJlc3BvbnNlIHdpdGggYSBiYWQgQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsIGNv
cnNVcmwsIG51bGwsICJCYWQgdmFsdWUiKTsKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLXByZWZsaWdo
dC1yZXNwb25zZS12YWxpZGF0aW9uLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLXBy
ZWZsaWdodC1yZXNwb25zZS12YWxpZGF0aW9uLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjA5YTgyYzMyMzY5NGExMjI3ZWI3ODcwNzc4MzhmYjM0YmY0OTExMDcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55Lndvcmtl
ci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgUHJlZmxpZ2h0IHJlc3BvbnNl
IHdpdGggYSBiYWQgQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyAKK1BBU1MgUHJlZmxpZ2h0
IHJlc3BvbnNlIHdpdGggYSBiYWQgQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9hcGkvY29ycy9jb3JzLXByZWZsaWdodC1yZXNwb25zZS12YWxpZGF0aW9uLmFueS53b3JrZXIu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
YXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlvbi5hbnkud29ya2VyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDdmZGQ0YzNiMmI1OTE4NTYxYjA4YmI5MjdkZTllNDNjZDY2NGMwNgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlvbi5h
bnkud29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQg
Zm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3Qg
LS0+IAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393362</attachid>
            <date>2020-03-12 05:51:00 -0700</date>
            <delta_ts>2020-03-18 05:51:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208924-20200312135058.patch</filename>
            <type>text/plain</type>
            <size>18067</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MzE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzIzODI5MGQxNjA4ODBm
YjY2MzI4ZTJjNzY0NTI1MjQxZWE5YjBhZS4uOTJhOGUxNDYzMzQ5NGNmMWZlNzg1MjU3ZmE5NmQ1
MWUzMTE4NzA4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTAzLTEyICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHN1cmUgYSBwcmVm
bGlnaHQgZmFpbHMgaWYgcmVzcG9uc2UgaGVhZGVycyBhcmUgaW52YWxpZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4OTI0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IGh0dHBzOi8vZmV0
Y2guc3BlYy53aGF0d2cub3JnLyNjb3JzLXByZWZsaWdodC1mZXRjaC0wIHN0ZXAgNy4zLgorICAg
ICAgICBJbiBjYXNlIGhlYWRlciBwYXJzaW5nIGlzIHdyb25nLCBmYWlsIHRoZSBwcmVmbGlnaHQg
d2l0aCBhIG1lYW5pbmdmdWwgbWVzc2FnZS4KKyAgICAgICAgVXBkYXRlIHBhcnNpbmcgb2YgaGVh
ZGVycyB0byByZXR1cm4gYW4gT3B0aW9uYWwgc28gdGhhdCBwYXJzaW5nIGVycm9yIGlzIGhhbmRs
ZWQgYXMgYSBudWxsb3B0LgorICAgICAgICBNaW5vciByZWZhY3RvcmluZyB0byByZXR1cm4gRXhw
ZWN0ZWQvT3B0aW9uYWwgZm9yIGVycm8gcmhhbmRsbmcgaW5zdGVhZCBvZiBwYXNzaW5nIGFuIG91
dCBwYXJhbWV0ZXIuCisgICAgICAgIEFsc28sIGFkZGluZyBwcmVmbGlnaHQgY2FjaGUgZW50cnkg
aWYgaXQgaXMgdmFsaWQsIG5vIG1hdHRlciB3aGV0aGVyIHByZWZsaWdodCBzdWNjZWVkcyBvciBu
b3QuCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlvbi5hbnkuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkv
Y29ycy9jb3JzLXByZWZsaWdodC1yZXNwb25zZS12YWxpZGF0aW9uLmFueS53b3JrZXIuaHRtbAor
CisgICAgICAgICogbG9hZGVyL0Nyb3NzT3JpZ2luQWNjZXNzQ29udHJvbC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp2YWxpZGF0ZVByZWZsaWdodFJlc3BvbnNlKToKKyAgICAgICAgKiBsb2FkZXIv
Q3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
cm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbTo6Y3JlYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkNyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtOjp2YWxpZGF0ZU1ldGhv
ZEFuZEhlYWRlcnMgY29uc3QpOgorICAgICAgICAqIGxvYWRlci9Dcm9zc09yaWdpblByZWZsaWdo
dFJlc3VsdENhY2hlLmg6CisgICAgICAgIChXZWJDb3JlOjpDcm9zc09yaWdpblByZWZsaWdodFJl
c3VsdENhY2hlSXRlbTo6Q3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0pOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaDoKKyAgICAgICAgKFdlYkNvcmU6
OnBhcnNlQWNjZXNzQ29udHJvbEFsbG93TGlzdCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlQmFzZTo6ZmlsdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VC
YXNlOjpzYW5pdGl6ZUhUVFBIZWFkZXJGaWVsZHNBY2NvcmRpbmdUb1RhaW50aW5nKToKKwogMjAy
MC0wMy0xMSAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRnJh
bWVMb2FkZXIgc2hvdWxkIG93biBpdHMgRnJhbWVMb2FkZXJDbGllbnQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luQWNjZXNzQ29udHJvbC5jcHAKaW5kZXggMzljNWZj
OGY0ZTg2ZjBjZTdmMzI3YjJlZTQ0MDlhY2U4OTk5YzljMS4uODI5MDYyOGM0ZWQ0NWUwNTMxYzQ3
OTZmYTI2YWQ1YWM0YTFkNjMzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Ny
b3NzT3JpZ2luQWNjZXNzQ29udHJvbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Ny
b3NzT3JpZ2luQWNjZXNzQ29udHJvbC5jcHAKQEAgLTI2NCwxNiArMjY0LDE3IEBAIEV4cGVjdGVk
PHZvaWQsIFN0cmluZz4gdmFsaWRhdGVQcmVmbGlnaHRSZXNwb25zZShjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QsCiAgICAgaWYgKCFhY2Nlc3NDb250cm9sQ2hlY2tSZXN1bHQpCiAgICAg
ICAgIHJldHVybiBhY2Nlc3NDb250cm9sQ2hlY2tSZXN1bHQ7CiAKLSAgICBhdXRvIHJlc3VsdCA9
IG1ha2VVbmlxdWU8Q3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0+KHN0b3JlZENy
ZWRlbnRpYWxzUG9saWN5KTsKLSAgICBTdHJpbmcgZXJyb3JEZXNjcmlwdGlvbjsKLSAgICAvLyBG
SVhNRTogYWxsb3dzQ3Jvc3NPcmlnaW5NZXRob2QgYW5kIGFsbG93c0Nyb3NzT3JpZ2luSGVhZGVy
cyBzaG91bGQgcmV0dXJuIEV4cGVjdGVkPHZvaWQsIFN0cmluZz4gdG8gYXZvaWQgaGF2aW5nIGFu
IG91dCBwYXJhbWV0ZXIuCi0gICAgaWYgKCFyZXN1bHQtPnBhcnNlKHJlc3BvbnNlKQotICAgICAg
ICB8fCAhcmVzdWx0LT5hbGxvd3NDcm9zc09yaWdpbk1ldGhvZChyZXF1ZXN0Lmh0dHBNZXRob2Qo
KSwgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIGVycm9yRGVzY3JpcHRpb24pCi0gICAgICAgIHx8
ICFyZXN1bHQtPmFsbG93c0Nyb3NzT3JpZ2luSGVhZGVycyhyZXF1ZXN0Lmh0dHBIZWFkZXJGaWVs
ZHMoKSwgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIGVycm9yRGVzY3JpcHRpb24pKSB7Ci0gICAg
ICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChlcnJvckRlc2NyaXB0aW9uKTsKLSAgICB9CisgICAg
YXV0byByZXN1bHQgPSBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbTo6Y3JlYXRl
KHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCByZXNwb25zZSk7CisgICAgaWYgKCFyZXN1bHQuaGFz
X3ZhbHVlKCkpCisgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChXVEZNb3ZlKHJlc3VsdC5l
cnJvcigpKSk7CisKKyAgICBhdXRvIGVudHJ5ID0gV1RGTW92ZShyZXN1bHQudmFsdWUoKSk7Cisg
ICAgYXV0byBlcnJvckRlc2NyaXB0aW9uID0gZW50cnktPnZhbGlkYXRlTWV0aG9kQW5kSGVhZGVy
cyhyZXF1ZXN0Lmh0dHBNZXRob2QoKSwgcmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkpOworICAg
IENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGU6OnNpbmdsZXRvbigpLmFwcGVuZEVudHJ5
KHNlY3VyaXR5T3JpZ2luLnRvU3RyaW5nKCksIHJlcXVlc3QudXJsKCksIGVudHJ5Lm1vdmVUb1Vu
aXF1ZVB0cigpKTsKKworICAgIGlmIChlcnJvckRlc2NyaXB0aW9uKQorICAgICAgICByZXR1cm4g
bWFrZVVuZXhwZWN0ZWQoV1RGTW92ZSgqZXJyb3JEZXNjcmlwdGlvbikpOwogCi0gICAgQ3Jvc3NP
cmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZTo6c2luZ2xldG9uKCkuYXBwZW5kRW50cnkoc2VjdXJp
dHlPcmlnaW4udG9TdHJpbmcoKSwgcmVxdWVzdC51cmwoKSwgV1RGTW92ZShyZXN1bHQpKTsKICAg
ICByZXR1cm4geyB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jv
c3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Q3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5jcHAKaW5kZXggZmIzZGFkYWRkYWYxOTg5
Yzc5OGMyYjAxZGJlOWM3OWQ3NjhmYzNlYS4uNDk3MGViZDkyZGZmMzliYzBhNDVkNGQ4N2NkZDY1
MGQ5NzQ3YjNkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2lu
UHJlZmxpZ2h0UmVzdWx0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9z
c09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmNwcApAQCAtNTIsMTAgKzUyLDE1IEBAIHN0YXRp
YyBib29sIHBhcnNlQWNjZXNzQ29udHJvbE1heEFnZShjb25zdCBTdHJpbmcmIHN0cmluZywgU2Vj
b25kcyYgZXhwaXJ5RGVsdGEpCiAgICAgcmV0dXJuIG9rOwogfQogCi1ib29sIENyb3NzT3JpZ2lu
UHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtOjpwYXJzZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNwb25zZSkKK0V4cGVjdGVkPFVuaXF1ZVJlZjxDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENh
Y2hlSXRlbT4sIFN0cmluZz4gQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW06OmNy
ZWF0ZShTdG9yZWRDcmVkZW50aWFsc1BvbGljeSBwb2xpY3ksIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIHJlc3BvbnNlKQogewotICAgIG1fbWV0aG9kcyA9IHBhcnNlQWNjZXNzQ29udHJvbEFsbG93
TGlzdChyZXNwb25zZS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkFjY2Vzc0NvbnRy
b2xBbGxvd01ldGhvZHMpKTsKLSAgICBtX2hlYWRlcnMgPSBwYXJzZUFjY2Vzc0NvbnRyb2xBbGxv
d0xpc3Q8QVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPihyZXNwb25zZS5odHRwSGVhZGVyRmllbGQo
SFRUUEhlYWRlck5hbWU6OkFjY2Vzc0NvbnRyb2xBbGxvd0hlYWRlcnMpKTsKKyAgICBhdXRvIG1l
dGhvZHMgPSBwYXJzZUFjY2Vzc0NvbnRyb2xBbGxvd0xpc3QocmVzcG9uc2UuaHR0cEhlYWRlckZp
ZWxkKEhUVFBIZWFkZXJOYW1lOjpBY2Nlc3NDb250cm9sQWxsb3dNZXRob2RzKSk7CisgICAgaWYg
KCFtZXRob2RzKQorICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQobWFrZVN0cmluZygiSGVh
ZGVyIEFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMgaGFzIGFuIGludmFsaWQgdmFsdWU6ICIs
IHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6QWNjZXNzQ29udHJvbEFs
bG93TWV0aG9kcykpKTsKKworICAgIGF1dG8gaGVhZGVycyA9IHBhcnNlQWNjZXNzQ29udHJvbEFs
bG93TGlzdDxBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+KHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVs
ZChIVFRQSGVhZGVyTmFtZTo6QWNjZXNzQ29udHJvbEFsbG93SGVhZGVycykpOworICAgIGlmICgh
aGVhZGVycykKKyAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKG1ha2VTdHJpbmcoIkhlYWRl
ciBBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIGhhcyBhbiBpbnZhbGlkIHZhbHVlOiAiLCBy
ZXNwb25zZS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkFjY2Vzc0NvbnRyb2xBbGxv
d0hlYWRlcnMpKSk7CiAKICAgICBTZWNvbmRzIGV4cGlyeURlbHRhID0gMF9zOwogICAgIGlmIChw
YXJzZUFjY2Vzc0NvbnRyb2xNYXhBZ2UocmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFk
ZXJOYW1lOjpBY2Nlc3NDb250cm9sTWF4QWdlKSwgZXhwaXJ5RGVsdGEpKSB7CkBAIC02NCw4ICs2
OSwxNyBAQCBib29sIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtOjpwYXJzZShj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZQogICAgIH0gZWxzZQogICAgICAgICBleHBp
cnlEZWx0YSA9IGRlZmF1bHRQcmVmbGlnaHRDYWNoZVRpbWVvdXQ7CiAKLSAgICBtX2Fic29sdXRl
RXhwaXJ5VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpICsgZXhwaXJ5RGVsdGE7Ci0gICAgcmV0
dXJuIHRydWU7CisgICAgcmV0dXJuIG1ha2VVbmlxdWVSZWY8Q3Jvc3NPcmlnaW5QcmVmbGlnaHRS
ZXN1bHRDYWNoZUl0ZW0+KE1vbm90b25pY1RpbWU6Om5vdygpICsgZXhwaXJ5RGVsdGEsIHBvbGlj
eSwgV1RGTW92ZSgqbWV0aG9kcyksIFdURk1vdmUoKmhlYWRlcnMpKTsKK30KKworT3B0aW9uYWw8
U3RyaW5nPiBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbTo6dmFsaWRhdGVNZXRo
b2RBbmRIZWFkZXJzKGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBIVFRQSGVhZGVyTWFwJiBy
ZXF1ZXN0SGVhZGVycykgY29uc3QKK3sKKyAgICBTdHJpbmcgZXJyb3JEZXNjcmlwdGlvbjsKKyAg
ICBpZiAoIWFsbG93c0Nyb3NzT3JpZ2luTWV0aG9kKG1ldGhvZCwgbV9zdG9yZWRDcmVkZW50aWFs
c1BvbGljeSwgZXJyb3JEZXNjcmlwdGlvbikpCisgICAgICAgIHJldHVybiBXVEZNb3ZlKGVycm9y
RGVzY3JpcHRpb24pOworICAgIGlmICghYWxsb3dzQ3Jvc3NPcmlnaW5IZWFkZXJzKHJlcXVlc3RI
ZWFkZXJzLCBtX3N0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBlcnJvckRlc2NyaXB0aW9uKSkKKyAg
ICAgICAgcmV0dXJuIFdURk1vdmUoZXJyb3JEZXNjcmlwdGlvbik7CisgICAgcmV0dXJuIHsgfTsK
IH0KIAogYm9vbCBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbTo6YWxsb3dzQ3Jv
c3NPcmlnaW5NZXRob2QoY29uc3QgU3RyaW5nJiBtZXRob2QsIFN0b3JlZENyZWRlbnRpYWxzUG9s
aWN5IHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBTdHJpbmcmIGVycm9yRGVzY3JpcHRpb24pIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGln
aHRSZXN1bHRDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxp
Z2h0UmVzdWx0Q2FjaGUuaAppbmRleCAwNjY3OTNkYWU2Y2UxODg4M2RiMDg3OTQ1NDY3YzJlY2Y5
MGVmODk5Li4wZjg2NDg1YjhkOTc5NTc1NWY0OTc3ODZmOTEzMGYwMjk0YzU5NjFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNo
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3Vs
dENhY2hlLmgKQEAgLTI3LDEwICsyNywxMiBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJT
dG9yZWRDcmVkZW50aWFsc1BvbGljeS5oIgorI2luY2x1ZGUgPHd0Zi9FeHBlY3RlZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRl
IDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9VUkxIYXNoLmg+CisjaW5jbHVk
ZSA8d3RmL1VuaXF1ZVJlZi5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQwLDE3ICs0
MiwxNyBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGln
aHRSZXN1bHRDYWNoZUl0ZW0gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzT3JpZ2lu
UHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6Ci0gICAgZXhwbGljaXQgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0oU3Rv
cmVkQ3JlZGVudGlhbHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kpCi0gICAgICAgIDog
bV9zdG9yZWRDcmVkZW50aWFsc1BvbGljeShzdG9yZWRDcmVkZW50aWFsc1BvbGljeSkKLSAgICB7
Ci0gICAgfQorICAgIHN0YXRpYyBFeHBlY3RlZDxVbmlxdWVSZWY8Q3Jvc3NPcmlnaW5QcmVmbGln
aHRSZXN1bHRDYWNoZUl0ZW0+LCBTdHJpbmc+IGNyZWF0ZShTdG9yZWRDcmVkZW50aWFsc1BvbGlj
eSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBw
YXJzZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7Ci0gICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBh
bGxvd3NDcm9zc09yaWdpbk1ldGhvZChjb25zdCBTdHJpbmcmLCBTdG9yZWRDcmVkZW50aWFsc1Bv
bGljeSwgU3RyaW5nJiBlcnJvckRlc2NyaXB0aW9uKSBjb25zdDsKLSAgICBXRUJDT1JFX0VYUE9S
VCBib29sIGFsbG93c0Nyb3NzT3JpZ2luSGVhZGVycyhjb25zdCBIVFRQSGVhZGVyTWFwJiwgU3Rv
cmVkQ3JlZGVudGlhbHNQb2xpY3ksIFN0cmluZyYgZXJyb3JEZXNjcmlwdGlvbikgY29uc3Q7Ci0g
ICAgYm9vbCBhbGxvd3NSZXF1ZXN0KFN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBjb25zdCBTdHJp
bmcmIG1ldGhvZCwgY29uc3QgSFRUUEhlYWRlck1hcCYgcmVxdWVzdEhlYWRlcnMpIGNvbnN0Owor
ICAgIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtKE1vbm90b25pY1RpbWUsIFN0
b3JlZENyZWRlbnRpYWxzUG9saWN5LCBIYXNoU2V0PFN0cmluZz4mJiwgSGFzaFNldDxTdHJpbmcs
IEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4mJik7CisKKyAgICBPcHRpb25hbDxTdHJpbmc+IHZh
bGlkYXRlTWV0aG9kQW5kSGVhZGVycyhjb25zdCBTdHJpbmcmIG1ldGhvZCwgY29uc3QgSFRUUEhl
YWRlck1hcCYpIGNvbnN0OworICAgIGJvb2wgYWxsb3dzUmVxdWVzdChTdG9yZWRDcmVkZW50aWFs
c1BvbGljeSwgY29uc3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0IEhUVFBIZWFkZXJNYXAmKSBjb25z
dDsKIAogcHJpdmF0ZToKKyAgICBib29sIGFsbG93c0Nyb3NzT3JpZ2luTWV0aG9kKGNvbnN0IFN0
cmluZyYsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBTdHJpbmcmIGVycm9yRGVzY3JpcHRpb24p
IGNvbnN0OworICAgIGJvb2wgYWxsb3dzQ3Jvc3NPcmlnaW5IZWFkZXJzKGNvbnN0IEhUVFBIZWFk
ZXJNYXAmLCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgU3RyaW5nJiBlcnJvckRlc2NyaXB0aW9u
KSBjb25zdDsKKwogICAgIC8vIEZJWE1FOiBBIGJldHRlciBzb2x1dGlvbiB0byBob2xkaW5nIG9u
dG8gdGhlIGFic29sdXRlIGV4cGlyYXRpb24gdGltZSBtaWdodCBiZQogICAgIC8vIHRvIHN0YXJ0
IGEgdGltZXIgZm9yIHRoZSBleHBpcmF0aW9uIGRlbHRhIHRoYXQgcmVtb3ZlcyB0aGlzIGZyb20g
dGhlIGNhY2hlIHdoZW4KICAgICAvLyBpdCBmaXJlcy4KQEAgLTc1LDQgKzc3LDEyIEBAIHByaXZh
dGU6CiAgICAgSGFzaE1hcDxzdGQ6OnBhaXI8U3RyaW5nLCBVUkw+LCBzdGQ6OnVuaXF1ZV9wdHI8
Q3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0+PiBtX3ByZWZsaWdodEhhc2hNYXA7
CiB9OwogCitpbmxpbmUgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW06OkNyb3Nz
T3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtKE1vbm90b25pY1RpbWUgYWJzb2x1dGVFeHBp
cnlUaW1lLCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSAgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ks
IEhhc2hTZXQ8U3RyaW5nPiYmIG1ldGhvZHMsIEhhc2hTZXQ8U3RyaW5nLCBBU0NJSUNhc2VJbnNl
bnNpdGl2ZUhhc2g+JiYgaGVhZGVycykKKyAgICA6IG1fYWJzb2x1dGVFeHBpcnlUaW1lKGFic29s
dXRlRXhwaXJ5VGltZSkKKyAgICAsIG1fc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3koc3RvcmVkQ3Jl
ZGVudGlhbHNQb2xpY3kpCisgICAgLCBtX21ldGhvZHMoV1RGTW92ZShtZXRob2RzKSkKKyAgICAs
IG1faGVhZGVycyhXVEZNb3ZlKGhlYWRlcnMpKQoreworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJz
ZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmgKaW5k
ZXggNWQ4ZTIzNDNjMDFiODlkMDIzNTE0ZTBmMjM5N2FiN2ZhMmU0MzQxMC4uMjBkYjczOTFlN2Uy
ZDBmMzk0NjhlOTU3NDJkYTQ5OWRhMjIxYTc4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaApAQCAtMTU2LDcgKzE1Niw3IEBAIGJvb2wgYWRkVG9B
Y2Nlc3NDb250cm9sQWxsb3dMaXN0KGNvbnN0IFN0cmluZyYgc3RyaW5nLCB1bnNpZ25lZCBzdGFy
dCwgdW5zaWduZWQKIH0KIAogdGVtcGxhdGU8Y2xhc3MgSGFzaFR5cGUgPSBEZWZhdWx0SGFzaDxT
dHJpbmc+OjpIYXNoPgotSGFzaFNldDxTdHJpbmcsIEhhc2hUeXBlPiBwYXJzZUFjY2Vzc0NvbnRy
b2xBbGxvd0xpc3QoY29uc3QgU3RyaW5nJiBzdHJpbmcpCitPcHRpb25hbDxIYXNoU2V0PFN0cmlu
ZywgSGFzaFR5cGU+PiBwYXJzZUFjY2Vzc0NvbnRyb2xBbGxvd0xpc3QoY29uc3QgU3RyaW5nJiBz
dHJpbmcpCiB7CiAgICAgSGFzaFNldDxTdHJpbmcsIEhhc2hUeXBlPiBzZXQ7CiAgICAgdW5zaWdu
ZWQgc3RhcnQgPSAwOwpAQCAtMTcyLDcgKzE3Miw3IEBAIEhhc2hTZXQ8U3RyaW5nLCBIYXNoVHlw
ZT4gcGFyc2VBY2Nlc3NDb250cm9sQWxsb3dMaXN0KGNvbnN0IFN0cmluZyYgc3RyaW5nKQogICAg
ICAgICBpZiAoIWFkZFRvQWNjZXNzQ29udHJvbEFsbG93TGlzdChzdHJpbmcsIHN0YXJ0LCBzdHJp
bmcubGVuZ3RoKCkgLSAxLCBzZXQpKQogICAgICAgICAgICAgcmV0dXJuIHsgfTsKICAgICB9Ci0g
ICAgcmV0dXJuIHNldDsKKyAgICByZXR1cm4gV1RGTW92ZShzZXQpOwogfQogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJh
c2UuY3BwCmluZGV4IGJhMDI0ODQwZTBiZjBjZjIzNGZjYWM5ZjgzMDg1OWUzNjM3NDY0NTUuLjA0
YTVjOGEwZWU2NmFjN2E2YmY4ODdiMTE4M2YzY2Q4MTQwOWQwZmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3Bw
CkBAIC0xNzksNyArMTc5LDcgQEAgUmVzb3VyY2VSZXNwb25zZSBSZXNvdXJjZVJlc3BvbnNlQmFz
ZTo6ZmlsdGVyKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogICAgIEFTU0VSVChy
ZXNwb25zZS50YWludGluZygpID09IFRhaW50aW5nOjpDb3JzKTsKICAgICBmaWx0ZXJlZFJlc3Bv
bnNlLnNldFR5cGUoVHlwZTo6Q29ycyk7CiAKLSAgICBhdXRvIGFjY2Vzc0NvbnRyb2xFeHBvc2VI
ZWFkZXJTZXQgPSBwYXJzZUFjY2Vzc0NvbnRyb2xBbGxvd0xpc3Q8QVNDSUlDYXNlSW5zZW5zaXRp
dmVIYXNoPihyZXNwb25zZS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkFjY2Vzc0Nv
bnRyb2xFeHBvc2VIZWFkZXJzKSk7CisgICAgYXV0byBhY2Nlc3NDb250cm9sRXhwb3NlSGVhZGVy
U2V0ID0gcGFyc2VBY2Nlc3NDb250cm9sQWxsb3dMaXN0PEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFz
aD4ocmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpBY2Nlc3NDb250cm9s
RXhwb3NlSGVhZGVycykpLnZhbHVlT3IoSGFzaFNldDxTdHJpbmcsIEFTQ0lJQ2FzZUluc2Vuc2l0
aXZlSGFzaD4geyB9KTsKICAgICBmaWx0ZXJlZFJlc3BvbnNlLm1faHR0cEhlYWRlckZpZWxkcy51
bmNvbW1vbkhlYWRlcnMoKS5yZW1vdmVBbGxNYXRjaGluZyhbJl0oYXV0byYgZW50cnkpIHsKICAg
ICAgICAgcmV0dXJuICFpc0Nyb3NzT3JpZ2luU2FmZUhlYWRlcihlbnRyeS5rZXksIGFjY2Vzc0Nv
bnRyb2xFeHBvc2VIZWFkZXJTZXQpOwogICAgIH0pOwpAQCAtNDQ4LDcgKzQ0OCw3IEBAIHZvaWQg
UmVzb3VyY2VSZXNwb25zZUJhc2U6OnNhbml0aXplSFRUUEhlYWRlckZpZWxkc0FjY29yZGluZ1Rv
VGFpbnRpbmcoKQogICAgICAgICAgICAgaWYgKGlzU2FmZUNyb3NzT3JpZ2luUmVzcG9uc2VIZWFk
ZXIoaGVhZGVyLmtleSkpCiAgICAgICAgICAgICAgICAgZmlsdGVyZWRIZWFkZXJzLmFkZChoZWFk
ZXIua2V5LCBXVEZNb3ZlKGhlYWRlci52YWx1ZSkpOwogICAgICAgICB9Ci0gICAgICAgIGF1dG8g
Y29yc1NhZmVIZWFkZXJTZXQgPSBwYXJzZUFjY2Vzc0NvbnRyb2xBbGxvd0xpc3Q8QVNDSUlDYXNl
SW5zZW5zaXRpdmVIYXNoPihodHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkFjY2Vzc0Nv
bnRyb2xFeHBvc2VIZWFkZXJzKSk7CisgICAgICAgIGF1dG8gY29yc1NhZmVIZWFkZXJTZXQgPSBw
YXJzZUFjY2Vzc0NvbnRyb2xBbGxvd0xpc3Q8QVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPihodHRw
SGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkFjY2Vzc0NvbnRyb2xFeHBvc2VIZWFkZXJzKSku
dmFsdWVPcihIYXNoU2V0PFN0cmluZywgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPiB7IH0pOwog
ICAgICAgICBmb3IgKGF1dG8mIGhlYWRlck5hbWUgOiBjb3JzU2FmZUhlYWRlclNldCkgewogICAg
ICAgICAgICAgaWYgKCFmaWx0ZXJlZEhlYWRlcnMuY29udGFpbnMoaGVhZGVyTmFtZSkpIHsKICAg
ICAgICAgICAgICAgICBhdXRvIHZhbHVlID0gbV9odHRwSGVhZGVyRmllbGRzLmdldChoZWFkZXJO
YW1lKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDlmZmM2MjJlZmYzYmFjNjdj
OGNmNzBlODkyYTZiNmQ2MzM4MWY1ZDMuLmRhYjQ2OTg4ODZmZGM0OGRiY2Y3ZDQzNTlhNGZkZDY4
NDRkNjhkNWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBA
CisyMDIwLTAzLTEyICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAg
ICBNYWtlIHN1cmUgYSBwcmVmbGlnaHQgZmFpbHMgaWYgcmVzcG9uc2UgaGVhZGVycyBhcmUgaW52
YWxpZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4
OTI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2Ut
dmFsaWRhdGlvbi5hbnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlv
bi5hbnkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2Fw
aS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55LmpzOiBBZGRlZC4K
KyAgICAgICAgKGNvcnNQcmVmbGlnaHRSZXNwb25zZVZhbGlkYXRpb24pOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLXByZWZsaWdodC1yZXNwb25zZS12
YWxpZGF0aW9uLmFueS53b3JrZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFs
aWRhdGlvbi5hbnkud29ya2VyLmh0bWw6IEFkZGVkLgorCiAyMDIwLTAzLTExICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFsgbWFjT1Mgd2sxIF0gaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5p
bWF0aW9ucy9wYXVzaW5nLWFuLWFuaW1hdGlvbi5odG1sIGlzIGZsYWt5IGZhaWxpbmcKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
YXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlvbi5hbnktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9h
cGkvY29ycy9jb3JzLXByZWZsaWdodC1yZXNwb25zZS12YWxpZGF0aW9uLmFueS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDlhODJjMzIzNjk0YTEyMjdlYjc4NzA3NzgzOGZiMzRiZjQ5MTEwNwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlvbi5h
bnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFByZWZsaWdodCByZXNwb25z
ZSB3aXRoIGEgYmFkIEFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMgCitQQVNTIFByZWZsaWdo
dCByZXNwb25zZSB3aXRoIGEgYmFkIEFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMgCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlvbi5hbnkuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2Nv
cnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlvbi5hbnkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wN2ZkZDRjM2IyYjU5MTg1NjFiMDhiYjkyN2RlOWU0M2NkNjY0YzA2Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9h
cGkvY29ycy9jb3JzLXByZWZsaWdodC1yZXNwb25zZS12YWxpZGF0aW9uLmFueS5odG1sCkBAIC0w
LDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZy
YXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMv
Y29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlvbi5hbnkuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxp
Z2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5ZGEzZDZlNmM1NmM4
MzkxNDM5ZGU3MWZjM2Q1ZTlkN2E3YTJmNDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJl
ZmxpZ2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55LmpzCkBAIC0wLDAgKzEsMzQgQEAKKy8vIE1F
VEE6IHNjcmlwdD0vY29tbW9uL3V0aWxzLmpzCisvLyBNRVRBOiBzY3JpcHQ9Li4vcmVzb3VyY2Vz
L3V0aWxzLmpzCisvLyBNRVRBOiBzY3JpcHQ9L2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcwor
CitmdW5jdGlvbiBjb3JzUHJlZmxpZ2h0UmVzcG9uc2VWYWxpZGF0aW9uKGRlc2MsIGNvcnNVcmws
IGFsbG93SGVhZGVycywgYWxsb3dNZXRob2RzKSB7CisgIHZhciB1dWlkX3Rva2VuID0gdG9rZW4o
KTsKKyAgdmFyIHVybCA9IGNvcnNVcmw7CisgIHZhciByZXF1ZXN0SW5pdCA9IHsibW9kZSI6ICJj
b3JzIn07CisgIC8qIEZvcmNlIHByZWZsaWdodCAqLworICByZXF1ZXN0SW5pdFsiaGVhZGVycyJd
ID0geyJ4LWZvcmNlLXByZWZsaWdodCI6ICIifTsKKworICB2YXIgdXJsUGFyYW1ldGVycyA9ICI/
dG9rZW49IiArIHV1aWRfdG9rZW4gKyAiJm1heF9hZ2U9MCI7CisgIHVybFBhcmFtZXRlcnMgKz0g
IiZhbGxvd19oZWFkZXJzPXgtZm9yY2UtcHJlZmxpZ2h0IjsKKyAgaWYgKGFsbG93SGVhZGVycykK
KyAgICB1cmxQYXJhbWV0ZXJzICs9ICIsIiArIGFsbG93SGVhZGVyczsKKyAgaWYgKGFsbG93TWV0
aG9kcykKKyAgICB1cmxQYXJhbWV0ZXJzICs9ICImYWxsb3dfbWV0aG9kcz0iKyBhbGxvd01ldGhv
ZHM7CisKKyAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKKyAgICByZXR1cm4gZmV0Y2go
UkVTT1VSQ0VTX0RJUiArICJjbGVhbi1zdGFzaC5weT90b2tlbj0iICsgdXVpZF90b2tlbikudGhl
bihhc3luYyBmdW5jdGlvbihyZXNwKSB7CisgICAgICBhc3NlcnRfZXF1YWxzKHJlc3Auc3RhdHVz
LCAyMDAsICJDbGVhbiBzdGFzaCByZXNwb25zZSdzIHN0YXR1cyBpcyAyMDAiKTsKKyAgICAgIGF3
YWl0IHByb21pc2VfcmVqZWN0c19qcyh0ZXN0LCBUeXBlRXJyb3IsIGZldGNoKHVybCArIHVybFBh
cmFtZXRlcnMsIHJlcXVlc3RJbml0KSk7CisKKyAgICAgIHJldHVybiBmZXRjaCh1cmwgKyB1cmxQ
YXJhbWV0ZXJzKS50aGVuKGZ1bmN0aW9uKHJlc3ApIHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhy
ZXNwLmhlYWRlcnMuZ2V0KCJ4LWRpZC1wcmVmbGlnaHQiKSwgIjEiLCAiUHJlZmxpZ2h0IHJlcXVl
c3QgaGFzIGJlZW4gbWFkZSIpOworICAgICAgfSk7CisgICAgfSk7CisgIH0sIGRlc2MpOworfQor
Cit2YXIgY29yc1VybCA9IGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9URV9PUklHSU4gKyBkaXJu
YW1lKGxvY2F0aW9uLnBhdGhuYW1lKSArIFJFU09VUkNFU19ESVIgKyAicHJlZmxpZ2h0LnB5IjsK
K2NvcnNQcmVmbGlnaHRSZXNwb25zZVZhbGlkYXRpb24oIlByZWZsaWdodCByZXNwb25zZSB3aXRo
IGEgYmFkIEFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMiLCBjb3JzVXJsLCAiQmFkIHZhbHVl
IiwgbnVsbCk7Citjb3JzUHJlZmxpZ2h0UmVzcG9uc2VWYWxpZGF0aW9uKCJQcmVmbGlnaHQgcmVz
cG9uc2Ugd2l0aCBhIGJhZCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgY29yc1VybCwg
bnVsbCwgIkJhZCB2YWx1ZSIpOworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3Bv
bnNlLXZhbGlkYXRpb24uYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0
LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55Lndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDlhODJjMzIzNjk0YTEyMjdlYjc4NzA3NzgzOGZiMzRiZjQ5MTEwNwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBp
L2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlvbi5hbnkud29ya2VyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworUEFTUyBQcmVmbGlnaHQgcmVzcG9uc2Ugd2l0aCBh
IGJhZCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIAorUEFTUyBQcmVmbGlnaHQgcmVzcG9u
c2Ugd2l0aCBhIGJhZCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9j
b3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55Lndvcmtlci5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29y
cy9jb3JzLXByZWZsaWdodC1yZXNwb25zZS12YWxpZGF0aW9uLmFueS53b3JrZXIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wN2ZkZDRjM2IyYjU5MTg1NjFiMDhiYjkyN2RlOWU0M2NkNjY0YzA2Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9hcGkvY29ycy9jb3JzLXByZWZsaWdodC1yZXNwb25zZS12YWxpZGF0aW9uLmFueS53b3Jr
ZXIuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2Vi
S2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4gCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393838</attachid>
            <date>2020-03-18 05:51:52 -0700</date>
            <delta_ts>2020-03-18 07:49:42 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-208924-20200318135151.patch</filename>
            <type>text/plain</type>
            <size>17846</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODRkZDIzOTBlZWQzNzI1
NDIxMTEzMTRmYTExNjAzM2FlYmFlYzg5YS4uMzdlMGI1NmExZjExNDU2MTU0Y2UyNjYyZThhYzAz
Yzc0OWZmYTExMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTAzLTE4ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHN1cmUgYSBwcmVm
bGlnaHQgZmFpbHMgaWYgcmVzcG9uc2UgaGVhZGVycyBhcmUgaW52YWxpZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4OTI0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBJbXBsZW1lbnQgaHR0cHM6Ly9m
ZXRjaC5zcGVjLndoYXR3Zy5vcmcvI2NvcnMtcHJlZmxpZ2h0LWZldGNoLTAgc3RlcCA3LjMuCisg
ICAgICAgIEluIGNhc2UgaGVhZGVyIHBhcnNpbmcgaXMgd3JvbmcsIGZhaWwgdGhlIHByZWZsaWdo
dCB3aXRoIGEgbWVhbmluZ2Z1bCBtZXNzYWdlLgorICAgICAgICBVcGRhdGUgcGFyc2luZyBvZiBo
ZWFkZXJzIHRvIHJldHVybiBhbiBPcHRpb25hbCBzbyB0aGF0IHBhcnNpbmcgZXJyb3IgaXMgaGFu
ZGxlZCBhcyBhIG51bGxvcHQuCisgICAgICAgIE1pbm9yIHJlZmFjdG9yaW5nIHRvIHJldHVybiBF
eHBlY3RlZC9PcHRpb25hbCBmb3IgZXJyb3IgaGFuZGxuZyBpbnN0ZWFkIG9mIHBhc3NpbmcgYW4g
b3V0IHBhcmFtZXRlci4KKyAgICAgICAgQWxzbywgYWRkaW5nIHByZWZsaWdodCBjYWNoZSBlbnRy
eSBpZiBpdCBpcyB2YWxpZCwgbm8gbWF0dGVyIHdoZXRoZXIgcHJlZmxpZ2h0IHN1Y2NlZWRzIG9y
IG5vdC4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9hcGkvY29ycy9jb3JzLXByZWZsaWdodC1yZXNwb25zZS12YWxpZGF0aW9uLmFueS5odG1s
CisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2Fw
aS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55Lndvcmtlci5odG1s
CisKKyAgICAgICAgKiBsb2FkZXIvQ3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnZhbGlkYXRlUHJlZmxpZ2h0UmVzcG9uc2UpOgorICAgICAgICAqIGxvYWRl
ci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtOjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW06OnZhbGlkYXRlTWV0
aG9kQW5kSGVhZGVycyBjb25zdCk6CisgICAgICAgICogbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxp
Z2h0UmVzdWx0Q2FjaGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNyb3NzT3JpZ2luUHJlZmxpZ2h0
UmVzdWx0Q2FjaGVJdGVtOjpDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5oOgorICAgICAgICAoV2ViQ29y
ZTo6cGFyc2VBY2Nlc3NDb250cm9sQWxsb3dMaXN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNl
UmVzcG9uc2VCYXNlOjpmaWx0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZUJhc2U6OnNhbml0aXplSFRUUEhlYWRlckZpZWxkc0FjY29yZGluZ1RvVGFpbnRpbmcpOgorCiAy
MDIwLTAzLTE3ICBQaW5raSBHeWFuY2hhbmRhbmkgIDxwZ3lhbmNoYW5kYW5pQGFwcGxlLmNvbT4K
IAogICAgICAgICBDcmFzaCBpbiBDU1NQcmltaXRpdmVWYWx1ZTo6Y2xlYW51cApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luQWNjZXNzQ29udHJvbC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sLmNwcAppbmRleCAz
OWM1ZmM4ZjRlODZmMGNlN2YzMjdiMmVlNDQwOWFjZTg5OTljOWMxLi44MjkwNjI4YzRlZDQ1ZTA1
MzFjNDc5NmZhMjZhZDVhYzRhMWQ2MzM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvQ3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvQ3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sLmNwcApAQCAtMjY0LDE2ICsyNjQsMTcgQEAgRXhw
ZWN0ZWQ8dm9pZCwgU3RyaW5nPiB2YWxpZGF0ZVByZWZsaWdodFJlc3BvbnNlKGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwKICAgICBpZiAoIWFjY2Vzc0NvbnRyb2xDaGVja1Jlc3VsdCkK
ICAgICAgICAgcmV0dXJuIGFjY2Vzc0NvbnRyb2xDaGVja1Jlc3VsdDsKIAotICAgIGF1dG8gcmVz
dWx0ID0gbWFrZVVuaXF1ZTxDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbT4oc3Rv
cmVkQ3JlZGVudGlhbHNQb2xpY3kpOwotICAgIFN0cmluZyBlcnJvckRlc2NyaXB0aW9uOwotICAg
IC8vIEZJWE1FOiBhbGxvd3NDcm9zc09yaWdpbk1ldGhvZCBhbmQgYWxsb3dzQ3Jvc3NPcmlnaW5I
ZWFkZXJzIHNob3VsZCByZXR1cm4gRXhwZWN0ZWQ8dm9pZCwgU3RyaW5nPiB0byBhdm9pZCBoYXZp
bmcgYW4gb3V0IHBhcmFtZXRlci4KLSAgICBpZiAoIXJlc3VsdC0+cGFyc2UocmVzcG9uc2UpCi0g
ICAgICAgIHx8ICFyZXN1bHQtPmFsbG93c0Nyb3NzT3JpZ2luTWV0aG9kKHJlcXVlc3QuaHR0cE1l
dGhvZCgpLCBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgZXJyb3JEZXNjcmlwdGlvbikKLSAgICAg
ICAgfHwgIXJlc3VsdC0+YWxsb3dzQ3Jvc3NPcmlnaW5IZWFkZXJzKHJlcXVlc3QuaHR0cEhlYWRl
ckZpZWxkcygpLCBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgZXJyb3JEZXNjcmlwdGlvbikpIHsK
LSAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKGVycm9yRGVzY3JpcHRpb24pOwotICAgIH0K
KyAgICBhdXRvIHJlc3VsdCA9IENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtOjpj
cmVhdGUoc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIHJlc3BvbnNlKTsKKyAgICBpZiAoIXJlc3Vs
dC5oYXNfdmFsdWUoKSkKKyAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKFdURk1vdmUocmVz
dWx0LmVycm9yKCkpKTsKKworICAgIGF1dG8gZW50cnkgPSBXVEZNb3ZlKHJlc3VsdC52YWx1ZSgp
KTsKKyAgICBhdXRvIGVycm9yRGVzY3JpcHRpb24gPSBlbnRyeS0+dmFsaWRhdGVNZXRob2RBbmRI
ZWFkZXJzKHJlcXVlc3QuaHR0cE1ldGhvZCgpLCByZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSk7
CisgICAgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZTo6c2luZ2xldG9uKCkuYXBwZW5k
RW50cnkoc2VjdXJpdHlPcmlnaW4udG9TdHJpbmcoKSwgcmVxdWVzdC51cmwoKSwgZW50cnkubW92
ZVRvVW5pcXVlUHRyKCkpOworCisgICAgaWYgKGVycm9yRGVzY3JpcHRpb24pCisgICAgICAgIHJl
dHVybiBtYWtlVW5leHBlY3RlZChXVEZNb3ZlKCplcnJvckRlc2NyaXB0aW9uKSk7CiAKLSAgICBD
cm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlOjpzaW5nbGV0b24oKS5hcHBlbmRFbnRyeShz
ZWN1cml0eU9yaWdpbi50b1N0cmluZygpLCByZXF1ZXN0LnVybCgpLCBXVEZNb3ZlKHJlc3VsdCkp
OwogICAgIHJldHVybiB7IH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmNwcAppbmRleCBmYjNkYWRhZGRh
ZjE5ODljNzk4YzJiMDFkYmU5Yzc5ZDc2OGZjM2VhLi40OTcwZWJkOTJkZmYzOWJjMGE0NWQ0ZDg3
Y2RkNjUwZDk3NDdiM2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NP
cmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuY3BwCkBAIC01MiwxMCArNTIsMTUgQEAg
c3RhdGljIGJvb2wgcGFyc2VBY2Nlc3NDb250cm9sTWF4QWdlKGNvbnN0IFN0cmluZyYgc3RyaW5n
LCBTZWNvbmRzJiBleHBpcnlEZWx0YSkKICAgICByZXR1cm4gb2s7CiB9CiAKLWJvb2wgQ3Jvc3NP
cmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW06OnBhcnNlKGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIHJlc3BvbnNlKQorRXhwZWN0ZWQ8VW5pcXVlUmVmPENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVz
dWx0Q2FjaGVJdGVtPiwgU3RyaW5nPiBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRl
bTo6Y3JlYXRlKFN0b3JlZENyZWRlbnRpYWxzUG9saWN5IHBvbGljeSwgY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYgcmVzcG9uc2UpCiB7Ci0gICAgbV9tZXRob2RzID0gcGFyc2VBY2Nlc3NDb250cm9s
QWxsb3dMaXN0KHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6QWNjZXNz
Q29udHJvbEFsbG93TWV0aG9kcykpOwotICAgIG1faGVhZGVycyA9IHBhcnNlQWNjZXNzQ29udHJv
bEFsbG93TGlzdDxBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+KHJlc3BvbnNlLmh0dHBIZWFkZXJG
aWVsZChIVFRQSGVhZGVyTmFtZTo6QWNjZXNzQ29udHJvbEFsbG93SGVhZGVycykpOworICAgIGF1
dG8gbWV0aG9kcyA9IHBhcnNlQWNjZXNzQ29udHJvbEFsbG93TGlzdChyZXNwb25zZS5odHRwSGVh
ZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkFjY2Vzc0NvbnRyb2xBbGxvd01ldGhvZHMpKTsKKyAg
ICBpZiAoIW1ldGhvZHMpCisgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChtYWtlU3RyaW5n
KCJIZWFkZXIgQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyBoYXMgYW4gaW52YWxpZCB2YWx1
ZTogIiwgcmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpBY2Nlc3NDb250
cm9sQWxsb3dNZXRob2RzKSkpOworCisgICAgYXV0byBoZWFkZXJzID0gcGFyc2VBY2Nlc3NDb250
cm9sQWxsb3dMaXN0PEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4ocmVzcG9uc2UuaHR0cEhlYWRl
ckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpBY2Nlc3NDb250cm9sQWxsb3dIZWFkZXJzKSk7CisgICAg
aWYgKCFoZWFkZXJzKQorICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQobWFrZVN0cmluZygi
SGVhZGVyIEFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMgaGFzIGFuIGludmFsaWQgdmFsdWU6
ICIsIHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6QWNjZXNzQ29udHJv
bEFsbG93SGVhZGVycykpKTsKIAogICAgIFNlY29uZHMgZXhwaXJ5RGVsdGEgPSAwX3M7CiAgICAg
aWYgKHBhcnNlQWNjZXNzQ29udHJvbE1heEFnZShyZXNwb25zZS5odHRwSGVhZGVyRmllbGQoSFRU
UEhlYWRlck5hbWU6OkFjY2Vzc0NvbnRyb2xNYXhBZ2UpLCBleHBpcnlEZWx0YSkpIHsKQEAgLTY0
LDggKzY5LDE3IEBAIGJvb2wgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW06OnBh
cnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlCiAgICAgfSBlbHNlCiAgICAgICAg
IGV4cGlyeURlbHRhID0gZGVmYXVsdFByZWZsaWdodENhY2hlVGltZW91dDsKIAotICAgIG1fYWJz
b2x1dGVFeHBpcnlUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCkgKyBleHBpcnlEZWx0YTsKLSAg
ICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gbWFrZVVuaXF1ZVJlZjxDcm9zc09yaWdpblByZWZs
aWdodFJlc3VsdENhY2hlSXRlbT4oTW9ub3RvbmljVGltZTo6bm93KCkgKyBleHBpcnlEZWx0YSwg
cG9saWN5LCBXVEZNb3ZlKCptZXRob2RzKSwgV1RGTW92ZSgqaGVhZGVycykpOworfQorCitPcHRp
b25hbDxTdHJpbmc+IENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtOjp2YWxpZGF0
ZU1ldGhvZEFuZEhlYWRlcnMoY29uc3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0IEhUVFBIZWFkZXJN
YXAmIHJlcXVlc3RIZWFkZXJzKSBjb25zdAoreworICAgIFN0cmluZyBlcnJvckRlc2NyaXB0aW9u
OworICAgIGlmICghYWxsb3dzQ3Jvc3NPcmlnaW5NZXRob2QobWV0aG9kLCBtX3N0b3JlZENyZWRl
bnRpYWxzUG9saWN5LCBlcnJvckRlc2NyaXB0aW9uKSkKKyAgICAgICAgcmV0dXJuIFdURk1vdmUo
ZXJyb3JEZXNjcmlwdGlvbik7CisgICAgaWYgKCFhbGxvd3NDcm9zc09yaWdpbkhlYWRlcnMocmVx
dWVzdEhlYWRlcnMsIG1fc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIGVycm9yRGVzY3JpcHRpb24p
KQorICAgICAgICByZXR1cm4gV1RGTW92ZShlcnJvckRlc2NyaXB0aW9uKTsKKyAgICByZXR1cm4g
eyB9OwogfQogCiBib29sIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtOjphbGxv
d3NDcm9zc09yaWdpbk1ldGhvZChjb25zdCBTdHJpbmcmIG1ldGhvZCwgU3RvcmVkQ3JlZGVudGlh
bHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFN0cmluZyYgZXJyb3JEZXNjcmlwdGlv
bikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblBy
ZWZsaWdodFJlc3VsdENhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5Q
cmVmbGlnaHRSZXN1bHRDYWNoZS5oCmluZGV4IDA2Njc5M2RhZTZjZTE4ODgzZGIwODc5NDU0Njdj
MmVjZjkwZWY4OTkuLjBmODY0ODViOGQ5Nzk1NzU1ZjQ5Nzc4NmY5MTMwZjAyOTRjNTk2MWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3Vs
dENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0
UmVzdWx0Q2FjaGUuaApAQCAtMjcsMTAgKzI3LDEyIEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1
ZGUgIlN0b3JlZENyZWRlbnRpYWxzUG9saWN5LmgiCisjaW5jbHVkZSA8d3RmL0V4cGVjdGVkLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2lu
Y2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1VSTEhhc2guaD4KKyNp
bmNsdWRlIDx3dGYvVW5pcXVlUmVmLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDAs
MTcgKzQyLDE3IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBDcm9zc09yaWdpblBy
ZWZsaWdodFJlc3VsdENhY2hlSXRlbSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NP
cmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKLSAgICBleHBsaWNpdCBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRl
bShTdG9yZWRDcmVkZW50aWFsc1BvbGljeSBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSkKLSAgICAg
ICAgOiBtX3N0b3JlZENyZWRlbnRpYWxzUG9saWN5KHN0b3JlZENyZWRlbnRpYWxzUG9saWN5KQot
ICAgIHsKLSAgICB9CisgICAgc3RhdGljIEV4cGVjdGVkPFVuaXF1ZVJlZjxDcm9zc09yaWdpblBy
ZWZsaWdodFJlc3VsdENhY2hlSXRlbT4sIFN0cmluZz4gY3JlYXRlKFN0b3JlZENyZWRlbnRpYWxz
UG9saWN5LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBi
b29sIHBhcnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKLSAgICBXRUJDT1JFX0VYUE9SVCBi
b29sIGFsbG93c0Nyb3NzT3JpZ2luTWV0aG9kKGNvbnN0IFN0cmluZyYsIFN0b3JlZENyZWRlbnRp
YWxzUG9saWN5LCBTdHJpbmcmIGVycm9yRGVzY3JpcHRpb24pIGNvbnN0OwotICAgIFdFQkNPUkVf
RVhQT1JUIGJvb2wgYWxsb3dzQ3Jvc3NPcmlnaW5IZWFkZXJzKGNvbnN0IEhUVFBIZWFkZXJNYXAm
LCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgU3RyaW5nJiBlcnJvckRlc2NyaXB0aW9uKSBjb25z
dDsKLSAgICBib29sIGFsbG93c1JlcXVlc3QoU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIGNvbnN0
IFN0cmluZyYgbWV0aG9kLCBjb25zdCBIVFRQSGVhZGVyTWFwJiByZXF1ZXN0SGVhZGVycykgY29u
c3Q7CisgICAgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0oTW9ub3RvbmljVGlt
ZSwgU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIEhhc2hTZXQ8U3RyaW5nPiYmLCBIYXNoU2V0PFN0
cmluZywgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPiYmKTsKKworICAgIE9wdGlvbmFsPFN0cmlu
Zz4gdmFsaWRhdGVNZXRob2RBbmRIZWFkZXJzKGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBI
VFRQSGVhZGVyTWFwJikgY29uc3Q7CisgICAgYm9vbCBhbGxvd3NSZXF1ZXN0KFN0b3JlZENyZWRl
bnRpYWxzUG9saWN5LCBjb25zdCBTdHJpbmcmIG1ldGhvZCwgY29uc3QgSFRUUEhlYWRlck1hcCYp
IGNvbnN0OwogCiBwcml2YXRlOgorICAgIGJvb2wgYWxsb3dzQ3Jvc3NPcmlnaW5NZXRob2QoY29u
c3QgU3RyaW5nJiwgU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFN0cmluZyYgZXJyb3JEZXNjcmlw
dGlvbikgY29uc3Q7CisgICAgYm9vbCBhbGxvd3NDcm9zc09yaWdpbkhlYWRlcnMoY29uc3QgSFRU
UEhlYWRlck1hcCYsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBTdHJpbmcmIGVycm9yRGVzY3Jp
cHRpb24pIGNvbnN0OworCiAgICAgLy8gRklYTUU6IEEgYmV0dGVyIHNvbHV0aW9uIHRvIGhvbGRp
bmcgb250byB0aGUgYWJzb2x1dGUgZXhwaXJhdGlvbiB0aW1lIG1pZ2h0IGJlCiAgICAgLy8gdG8g
c3RhcnQgYSB0aW1lciBmb3IgdGhlIGV4cGlyYXRpb24gZGVsdGEgdGhhdCByZW1vdmVzIHRoaXMg
ZnJvbSB0aGUgY2FjaGUgd2hlbgogICAgIC8vIGl0IGZpcmVzLgpAQCAtNzUsNCArNzcsMTIgQEAg
cHJpdmF0ZToKICAgICBIYXNoTWFwPHN0ZDo6cGFpcjxTdHJpbmcsIFVSTD4sIHN0ZDo6dW5pcXVl
X3B0cjxDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbT4+IG1fcHJlZmxpZ2h0SGFz
aE1hcDsKIH07CiAKK2lubGluZSBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbTo6
Q3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0oTW9ub3RvbmljVGltZSBhYnNvbHV0
ZUV4cGlyeVRpbWUsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5ICBzdG9yZWRDcmVkZW50aWFsc1Bv
bGljeSwgSGFzaFNldDxTdHJpbmc+JiYgbWV0aG9kcywgSGFzaFNldDxTdHJpbmcsIEFTQ0lJQ2Fz
ZUluc2Vuc2l0aXZlSGFzaD4mJiBoZWFkZXJzKQorICAgIDogbV9hYnNvbHV0ZUV4cGlyeVRpbWUo
YWJzb2x1dGVFeHBpcnlUaW1lKQorICAgICwgbV9zdG9yZWRDcmVkZW50aWFsc1BvbGljeShzdG9y
ZWRDcmVkZW50aWFsc1BvbGljeSkKKyAgICAsIG1fbWV0aG9kcyhXVEZNb3ZlKG1ldGhvZHMpKQor
ICAgICwgbV9oZWFkZXJzKFdURk1vdmUoaGVhZGVycykpCit7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRU
UFBhcnNlcnMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMu
aAppbmRleCA1ZDhlMjM0M2MwMWI4OWQwMjM1MTRlMGYyMzk3YWI3ZmEyZTQzNDEwLi4yMGRiNzM5
MWU3ZTJkMGYzOTQ2OGU5NTc0MmRhNDk5ZGEyMjFhNzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5oCkBAIC0xNTYsNyArMTU2LDcgQEAgYm9vbCBh
ZGRUb0FjY2Vzc0NvbnRyb2xBbGxvd0xpc3QoY29uc3QgU3RyaW5nJiBzdHJpbmcsIHVuc2lnbmVk
IHN0YXJ0LCB1bnNpZ25lZAogfQogCiB0ZW1wbGF0ZTxjbGFzcyBIYXNoVHlwZSA9IERlZmF1bHRI
YXNoPFN0cmluZz46Okhhc2g+Ci1IYXNoU2V0PFN0cmluZywgSGFzaFR5cGU+IHBhcnNlQWNjZXNz
Q29udHJvbEFsbG93TGlzdChjb25zdCBTdHJpbmcmIHN0cmluZykKK09wdGlvbmFsPEhhc2hTZXQ8
U3RyaW5nLCBIYXNoVHlwZT4+IHBhcnNlQWNjZXNzQ29udHJvbEFsbG93TGlzdChjb25zdCBTdHJp
bmcmIHN0cmluZykKIHsKICAgICBIYXNoU2V0PFN0cmluZywgSGFzaFR5cGU+IHNldDsKICAgICB1
bnNpZ25lZCBzdGFydCA9IDA7CkBAIC0xNzIsNyArMTcyLDcgQEAgSGFzaFNldDxTdHJpbmcsIEhh
c2hUeXBlPiBwYXJzZUFjY2Vzc0NvbnRyb2xBbGxvd0xpc3QoY29uc3QgU3RyaW5nJiBzdHJpbmcp
CiAgICAgICAgIGlmICghYWRkVG9BY2Nlc3NDb250cm9sQWxsb3dMaXN0KHN0cmluZywgc3RhcnQs
IHN0cmluZy5sZW5ndGgoKSAtIDEsIHNldCkpCiAgICAgICAgICAgICByZXR1cm4geyB9OwogICAg
IH0KLSAgICByZXR1cm4gc2V0OworICAgIHJldHVybiBXVEZNb3ZlKHNldCk7CiB9CiAKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25z
ZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3Bv
bnNlQmFzZS5jcHAKaW5kZXggNjhkMjI4ODg1MDdjMTVkMTJiZGIzY2QyNzY5NDc3YzgyYWM0Nzhh
YS4uYzVjYmI2MWRmZDcwMGQ3YzhjMWNlMjcxNTI1NGYxMTVkYTM5NzAzNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFz
ZS5jcHAKQEAgLTE4MCw3ICsxODAsNyBAQCBSZXNvdXJjZVJlc3BvbnNlIFJlc291cmNlUmVzcG9u
c2VCYXNlOjpmaWx0ZXIoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsCiAgICAgQVNT
RVJUKHJlc3BvbnNlLnRhaW50aW5nKCkgPT0gVGFpbnRpbmc6OkNvcnMpOwogICAgIGZpbHRlcmVk
UmVzcG9uc2Uuc2V0VHlwZShUeXBlOjpDb3JzKTsKIAotICAgIGF1dG8gYWNjZXNzQ29udHJvbEV4
cG9zZUhlYWRlclNldCA9IHBhcnNlQWNjZXNzQ29udHJvbEFsbG93TGlzdDxBU0NJSUNhc2VJbnNl
bnNpdGl2ZUhhc2g+KHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6QWNj
ZXNzQ29udHJvbEV4cG9zZUhlYWRlcnMpKTsKKyAgICBhdXRvIGFjY2Vzc0NvbnRyb2xFeHBvc2VI
ZWFkZXJTZXQgPSBwYXJzZUFjY2Vzc0NvbnRyb2xBbGxvd0xpc3Q8QVNDSUlDYXNlSW5zZW5zaXRp
dmVIYXNoPihyZXNwb25zZS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkFjY2Vzc0Nv
bnRyb2xFeHBvc2VIZWFkZXJzKSkudmFsdWVPcihIYXNoU2V0PFN0cmluZywgQVNDSUlDYXNlSW5z
ZW5zaXRpdmVIYXNoPiB7IH0pOwogICAgIGlmIChwZXJmb3JtQ2hlY2sgPT0gUGVyZm9ybUV4cG9z
ZUFsbEhlYWRlcnNDaGVjazo6WWVzICYmIGFjY2Vzc0NvbnRyb2xFeHBvc2VIZWFkZXJTZXQuY29u
dGFpbnMoIioiKSkKICAgICAgICAgcmV0dXJuIGZpbHRlcmVkUmVzcG9uc2U7CiAKQEAgLTQ0Niw3
ICs0NDYsNyBAQCB2b2lkIFJlc291cmNlUmVzcG9uc2VCYXNlOjpzYW5pdGl6ZUhUVFBIZWFkZXJG
aWVsZHNBY2NvcmRpbmdUb1RhaW50aW5nKCkKICAgICBjYXNlIFJlc291cmNlUmVzcG9uc2U6OlRh
aW50aW5nOjpCYXNpYzoKICAgICAgICAgcmV0dXJuOwogICAgIGNhc2UgUmVzb3VyY2VSZXNwb25z
ZTo6VGFpbnRpbmc6OkNvcnM6IHsKLSAgICAgICAgYXV0byBjb3JzU2FmZUhlYWRlclNldCA9IHBh
cnNlQWNjZXNzQ29udHJvbEFsbG93TGlzdDxBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+KGh0dHBI
ZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6QWNjZXNzQ29udHJvbEV4cG9zZUhlYWRlcnMpKTsK
KyAgICAgICAgYXV0byBjb3JzU2FmZUhlYWRlclNldCA9IHBhcnNlQWNjZXNzQ29udHJvbEFsbG93
TGlzdDxBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+KGh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVy
TmFtZTo6QWNjZXNzQ29udHJvbEV4cG9zZUhlYWRlcnMpKS52YWx1ZU9yKEhhc2hTZXQ8U3RyaW5n
LCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+IHsgfSk7CiAgICAgICAgIGlmIChjb3JzU2FmZUhl
YWRlclNldC5jb250YWlucygiKiIpKQogICAgICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAwODc4ZWJjYmJhM2QxZTI3ZjAzMWU2NGJiODFkOGU1Mzg3
OGVmODRkLi44YjU3ODNkZDg0ZTU3OTNiYTBmZTk2OWU2ZDE2NmQ5NThmMzllMjNmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wMy0xOCAgeW91
ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzdXJlIGEgcHJl
ZmxpZ2h0IGZhaWxzIGlmIHJlc3BvbnNlIGhlYWRlcnMgYXJlIGludmFsaWQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODkyNAorCisgICAgICAgIFJl
dmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlvbi5hbnkt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
YXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlvbi5hbnkuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJl
ZmxpZ2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55LmpzOiBBZGRlZC4KKyAgICAgICAgKGNvcnNQ
cmVmbGlnaHRSZXNwb25zZVZhbGlkYXRpb24pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvY29ycy9jb3JzLXByZWZsaWdodC1yZXNwb25zZS12YWxpZGF0aW9uLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlvbi5hbnkud29y
a2VyLmh0bWw6IEFkZGVkLgorCiAyMDIwLTAzLTE3ICBGcmVkZXJpYyBXYW5nICA8ZndhbmdAaWdh
bGlhLmNvbT4KIAogICAgICAgICBVcGRhdGUgd3B0IHRlc3RzIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9yZW5kZXJpbmcvbm9uLXJlcGxhY2VkLWVsZW1lbnRzL3RoZS1wYWdl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlvbi5hbnktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5YTgyYzMyMzY5NGExMjI3ZWI3ODcwNzc4MzhmYjM0YmY0
OTExMDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlk
YXRpb24uYW55LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworUEFTUyBQcmVmbGlnaHQg
cmVzcG9uc2Ugd2l0aCBhIGJhZCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIAorUEFTUyBQ
cmVmbGlnaHQgcmVzcG9uc2Ugd2l0aCBhIGJhZCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2Rz
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDdmZGQ0YzNiMmI1OTE4NTYxYjA4YmI5MjdkZTllNDNjZDY2NGMwNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlvbi5hbnkuaHRt
bApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRl
c3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4gCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2Fw
aS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55LmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3Jz
LXByZWZsaWdodC1yZXNwb25zZS12YWxpZGF0aW9uLmFueS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOWRhM2Q2
ZTZjNTZjODM5MTQzOWRlNzFmYzNkNWU5ZDdhN2EyZjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9j
b3JzLXByZWZsaWdodC1yZXNwb25zZS12YWxpZGF0aW9uLmFueS5qcwpAQCAtMCwwICsxLDM0IEBA
CisvLyBNRVRBOiBzY3JpcHQ9L2NvbW1vbi91dGlscy5qcworLy8gTUVUQTogc2NyaXB0PS4uL3Jl
c291cmNlcy91dGlscy5qcworLy8gTUVUQTogc2NyaXB0PS9jb21tb24vZ2V0LWhvc3QtaW5mby5z
dWIuanMKKworZnVuY3Rpb24gY29yc1ByZWZsaWdodFJlc3BvbnNlVmFsaWRhdGlvbihkZXNjLCBj
b3JzVXJsLCBhbGxvd0hlYWRlcnMsIGFsbG93TWV0aG9kcykgeworICB2YXIgdXVpZF90b2tlbiA9
IHRva2VuKCk7CisgIHZhciB1cmwgPSBjb3JzVXJsOworICB2YXIgcmVxdWVzdEluaXQgPSB7Im1v
ZGUiOiAiY29ycyJ9OworICAvKiBGb3JjZSBwcmVmbGlnaHQgKi8KKyAgcmVxdWVzdEluaXRbImhl
YWRlcnMiXSA9IHsieC1mb3JjZS1wcmVmbGlnaHQiOiAiIn07CisKKyAgdmFyIHVybFBhcmFtZXRl
cnMgPSAiP3Rva2VuPSIgKyB1dWlkX3Rva2VuICsgIiZtYXhfYWdlPTAiOworICB1cmxQYXJhbWV0
ZXJzICs9ICImYWxsb3dfaGVhZGVycz14LWZvcmNlLXByZWZsaWdodCI7CisgIGlmIChhbGxvd0hl
YWRlcnMpCisgICAgdXJsUGFyYW1ldGVycyArPSAiLCIgKyBhbGxvd0hlYWRlcnM7CisgIGlmIChh
bGxvd01ldGhvZHMpCisgICAgdXJsUGFyYW1ldGVycyArPSAiJmFsbG93X21ldGhvZHM9IisgYWxs
b3dNZXRob2RzOworCisgIHByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7CisgICAgcmV0dXJu
IGZldGNoKFJFU09VUkNFU19ESVIgKyAiY2xlYW4tc3Rhc2gucHk/dG9rZW49IiArIHV1aWRfdG9r
ZW4pLnRoZW4oYXN5bmMgZnVuY3Rpb24ocmVzcCkgeworICAgICAgYXNzZXJ0X2VxdWFscyhyZXNw
LnN0YXR1cywgMjAwLCAiQ2xlYW4gc3Rhc2ggcmVzcG9uc2UncyBzdGF0dXMgaXMgMjAwIik7Cisg
ICAgICBhd2FpdCBwcm9taXNlX3JlamVjdHNfanModGVzdCwgVHlwZUVycm9yLCBmZXRjaCh1cmwg
KyB1cmxQYXJhbWV0ZXJzLCByZXF1ZXN0SW5pdCkpOworCisgICAgICByZXR1cm4gZmV0Y2godXJs
ICsgdXJsUGFyYW1ldGVycykudGhlbihmdW5jdGlvbihyZXNwKSB7CisgICAgICAgIGFzc2VydF9l
cXVhbHMocmVzcC5oZWFkZXJzLmdldCgieC1kaWQtcHJlZmxpZ2h0IiksICIxIiwgIlByZWZsaWdo
dCByZXF1ZXN0IGhhcyBiZWVuIG1hZGUiKTsKKyAgICAgIH0pOworICAgIH0pOworICB9LCBkZXNj
KTsKK30KKwordmFyIGNvcnNVcmwgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lO
ICsgZGlybmFtZShsb2NhdGlvbi5wYXRobmFtZSkgKyBSRVNPVVJDRVNfRElSICsgInByZWZsaWdo
dC5weSI7Citjb3JzUHJlZmxpZ2h0UmVzcG9uc2VWYWxpZGF0aW9uKCJQcmVmbGlnaHQgcmVzcG9u
c2Ugd2l0aCBhIGJhZCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIiwgY29yc1VybCwgIkJh
ZCB2YWx1ZSIsIG51bGwpOworY29yc1ByZWZsaWdodFJlc3BvbnNlVmFsaWRhdGlvbigiUHJlZmxp
Z2h0IHJlc3BvbnNlIHdpdGggYSBiYWQgQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsIGNv
cnNVcmwsIG51bGwsICJCYWQgdmFsdWUiKTsKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLXByZWZsaWdo
dC1yZXNwb25zZS12YWxpZGF0aW9uLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLXBy
ZWZsaWdodC1yZXNwb25zZS12YWxpZGF0aW9uLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjA5YTgyYzMyMzY5NGExMjI3ZWI3ODcwNzc4MzhmYjM0YmY0OTExMDcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXJlc3BvbnNlLXZhbGlkYXRpb24uYW55Lndvcmtl
ci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgUHJlZmxpZ2h0IHJlc3BvbnNl
IHdpdGggYSBiYWQgQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyAKK1BBU1MgUHJlZmxpZ2h0
IHJlc3BvbnNlIHdpdGggYSBiYWQgQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9hcGkvY29ycy9jb3JzLXByZWZsaWdodC1yZXNwb25zZS12YWxpZGF0aW9uLmFueS53b3JrZXIu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
YXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlvbi5hbnkud29ya2VyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDdmZGQ0YzNiMmI1OTE4NTYxYjA4YmI5MjdkZTllNDNjZDY2NGMwNgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtcmVzcG9uc2UtdmFsaWRhdGlvbi5h
bnkud29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQg
Zm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3Qg
LS0+IAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>