<?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>186551</bug_id>
          
          <creation_ts>2018-06-11 17:47:29 -0700</creation_ts>
          <short_desc>NetworkLoadChecker should not need to hard ref NetworkConnectionToWebProcess</short_desc>
          <delta_ts>2018-06-27 14:16:26 -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>WebKit Misc.</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>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>mkwst</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1432138</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-06-11 17:47:29 -0700</bug_when>
    <thetext>This is unnecessary and if ping loads last for long, it can keep NetworkConnectionToWebProcess alive for more time than it should</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1433155</commentid>
    <comment_count>1</comment_count>
      <attachid>342772</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-06-14 16:01:05 -0700</bug_when>
    <thetext>Created attachment 342772
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1434045</commentid>
    <comment_count>2</comment_count>
      <attachid>342772</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-06-18 10:22:04 -0700</bug_when>
    <thetext>Comment on attachment 342772
Patch

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

Looks good to me.

&gt; Source/WebCore/page/csp/ContentSecurityPolicy.h:172
&gt; +    void setClient(ContentSecurityPolicyClient* client) { m_client = client; }

Ask Dan how he feels about this.

&gt; Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp:200
&gt; +        contentSecurityPolicy-&gt;setClient(client);
&gt; +        bool isAllowed = isAllowedByContentSecurityPolicy(request);
&gt; +        contentSecurityPolicy-&gt;setClient(nullptr);
&gt; +        if (!isAllowed) {

This definitely has room for improvement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1437069</commentid>
    <comment_count>3</comment_count>
      <attachid>343742</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-06-27 13:01:00 -0700</bug_when>
    <thetext>Created attachment 343742
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1437096</commentid>
    <comment_count>4</comment_count>
      <attachid>343742</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-27 14:15:30 -0700</bug_when>
    <thetext>Comment on attachment 343742
Patch for landing

Clearing flags on attachment: 343742

Committed r233277: &lt;https://trac.webkit.org/changeset/233277&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1437097</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-27 14:15:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1437098</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-06-27 14:16:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/41542890&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>342772</attachid>
            <date>2018-06-14 16:01:05 -0700</date>
            <delta_ts>2018-06-27 13:00:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186551-20180614160103.patch</filename>
            <type>text/plain</type>
            <size>20387</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyODU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2E4Nzk3ZTk3YTZlMzQ1
ZjIwZDJmZGNjYWVmZTM3NDZiZmZmMWZkMy4uM2ZhNjlkZTM1Njc4ZDk5ZWI4NGQyZTYyOGZlMmIw
ZTc0M2QwZTFkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE4LTA2LTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBOZXR3b3JrTG9hZENoZWNr
ZXIgc2hvdWxkIG5vdCBuZWVkIHRvIGhhcmQgcmVmIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODY1
NTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBj
aGFuZ2Ugb2YgYmVoYXZpb3IuCisgICAgICAgIEFkZCBhIHdheSB0byBzZXQgdGhlIGNsaWVudCBy
ZWNlaXZpbmcgYW55IENTUCB3YXJuaW5nL2Vycm9yIG5vdGlmaWNhdGlvbi4KKworICAgICAgICAq
IHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oOgorICAgICAgICAoV2ViQ29yZTo6Q29u
dGVudFNlY3VyaXR5UG9saWN5OjpzZXRDbGllbnQpOgorCiAyMDE4LTA2LTE0ICBOYW4gV2FuZyAg
PG5fd2FuZ0BhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IENyYXNoIGluIEFjY2Vzc2liaWxpdHlO
b2RlT2JqZWN0Ojp0ZXh0VW5kZXJFbGVtZW50KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlUZXh0VW5k
ZXJFbGVtZW50TW9kZSkgY29uc3QgKyA1MzYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNGRmOTAxOTVlYTc1MjZlMTcy
OWNiZjE2NjQwZDdiZjA5YjZjZDUzMi4uYTg2YjFlOWJlYWYzOTVhMDIxODgyYzZmMzIxOWFkN2Y5
YzJmNDYyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAxOC0wNi0xNCAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTmV0d29ya0xvYWRDaGVja2VyIHNo
b3VsZCBub3QgbmVlZCB0byBoYXJkIHJlZiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg2NTUxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCB0
aGUgbmVlZCBmb3IgTmV0d29ya0xvYWRDaGVja2VyIHRvIHJlZmVyZW5jZSBhIE5ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLgorICAgICAgICBJbnN0ZWFkIGEgQ1NQIGNsaWVudCBpcyBnaXZl
biB0byBOZXR3b3JrTG9hZENoZWNrZXIgd2hlbiBuZWVkZWQuCisKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpsb2FkUGluZyk6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0xvYWRDaGVja2VyOjpOZXR3b3JrTG9hZENoZWNrZXIpOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrTG9hZENoZWNrZXI6OmNoZWNrKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0xv
YWRDaGVja2VyOjpjaGVja1JlZGlyZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0xv
YWRDaGVja2VyOjpjaGVja1JlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrTG9hZENo
ZWNrZXI6OmNvbnRlbnRTZWN1cml0eVBvbGljeSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtM
b2FkQ2hlY2tlcjo6YWRkQ29uc29sZU1lc3NhZ2UpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrTG9hZENoZWNrZXI6OnNlbmRDU1BWaW9sYXRpb25SZXBvcnQpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrTG9hZENoZWNrZXI6OmVucXVldWVTZWN1cml0eVBvbGlj
eVZpb2xhdGlvbkV2ZW50KTogRGVsZXRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrTG9hZENoZWNrZXIuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0
YXJ0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJl
ZGlyZWN0ZWRSZXF1ZXN0KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OlBpbmdMb2FkOjpQaW5nTG9hZCk6CisgICAgICAgIChXZWJLaXQ6
OlBpbmdMb2FkOjp3aWxsUGVyZm9ybUhUVFBSZWRpcmVjdGlvbik6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvUGluZ0xvYWQuaDoKKwogMjAxOC0wNi0xNCAgSm9obiBXaWxhbmRlciAgPHdpbGFu
ZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXNvdXJjZSBMb2FkIFN0YXRpc3RpY3M6IFNob3J0
Y3V0IGNsYXNzaWZpY2F0aW9uIGZvciByZWRpcmVjdCB0byBwcmV2YWxlbnQgcmVzb3VyY2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKaW5kZXgg
NGRhNDVkNGJjYWExMjExNTAxMzAwM2M5N2ZkM2U4MDNjZDUzNDAwZC4uN2E1N2NmNTQxNzgyYjI5
ODVhYzdlNjc4MjYxNjhlMmRiYjhjZDYzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9j
c3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKQEAgLTE2OSw2ICsxNjksOCBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBpbmhlcml0SW5zZWN1cmVOYXZpZ2F0aW9uUmVxdWVzdHNUb1VwZ3JhZGVGcm9tT3Bl
bmVyKGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeSYpOwogICAgIHZvaWQgc2V0SW5zZWN1cmVO
YXZpZ2F0aW9uUmVxdWVzdHNUb1VwZ3JhZGUoSGFzaFNldDxTZWN1cml0eU9yaWdpbkRhdGE+JiYp
OwogCisgICAgdm9pZCBzZXRDbGllbnQoQ29udGVudFNlY3VyaXR5UG9saWN5Q2xpZW50KiBjbGll
bnQpIHsgbV9jbGllbnQgPSBjbGllbnQ7IH0KKwogcHJpdmF0ZToKICAgICB2b2lkIGxvZ1RvQ29u
c29sZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCA9IFN0
cmluZygpLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lID0gV1RGOjpPcmRp
bmFsTnVtYmVyOjpiZWZvcmVGaXJzdCgpLCBKU0M6OkV4ZWNTdGF0ZSogPSBudWxscHRyKSBjb25z
dDsKICAgICB2b2lkIHVwZGF0ZVNvdXJjZVNlbGYoY29uc3QgU2VjdXJpdHlPcmlnaW4mKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXggNzgxMmE4ZDBmYmZlMmFjYTYwNTliNTcwYTE3
MTVlY2QzMGVhYjhkMC4uOGU1ZDEwZDhlNGQ2N2I0ODAwMjFjMTE2Y2U3MjEyYzZlZDdmMWU0ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAgLTI2Miw3ICsyNjIsNyBAQCB2b2lkIE5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpsb2FkUGluZyhOZXR3b3JrUmVzb3VyY2VMb2Fk
UGFyYW1ldGVycyYmIGxvYQogICAgIH07CiAKICAgICAvLyBQaW5nTG9hZCBtYW5hZ2VzIGl0cyBv
d24gbGlmZXRpbWUsIGRlbGV0aW5nIGl0c2VsZiB3aGVuIGl0cyBwdXJwb3NlIGhhcyBiZWVuIGZ1
bGZpbGxlZC4KLSAgICBuZXcgUGluZ0xvYWQoV1RGTW92ZShsb2FkUGFyYW1ldGVycyksICp0aGlz
LCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CisgICAgbmV3IFBpbmdMb2FkKFdURk1vdmUo
bG9hZFBhcmFtZXRlcnMpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKIHZvaWQg
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZEZpbmlzaFBpbmdMb2FkKHVpbnQ2NF90
IHBpbmdMb2FkSWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IsIGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwCmluZGV4IDdhYjg5ZTg5YTc1ZjIxMjBiZDgz
ZDA3Y2E2NjI2OTNiZGQ3YjBjMTQuLmE4ODI1MTA5Njc3ZjNhNjMxY2NlMjY3M2E3MzIwMjgyNWRl
ZGFlYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xv
YWRDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtM
b2FkQ2hlY2tlci5jcHAKQEAgLTUyLDEyICs1Miw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1Nh
bWVPcmlnaW4oY29uc3QgVVJMJiB1cmwsIGNvbnN0IFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAg
ICAgcmV0dXJuIHVybC5wcm90b2NvbElzRGF0YSgpIHx8IHVybC5wcm90b2NvbElzQmxvYigpIHx8
ICFvcmlnaW4gfHwgb3JpZ2luLT5jYW5SZXF1ZXN0KHVybCk7CiB9CiAKLU5ldHdvcmtMb2FkQ2hl
Y2tlcjo6TmV0d29ya0xvYWRDaGVja2VyKE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBj
b25uZWN0aW9uLCB1aW50NjRfdCB3ZWJQYWdlSUQsIHVpbnQ2NF90IHdlYkZyYW1lSUQsIFJlc291
cmNlTG9hZElkZW50aWZpZXIgbG9hZElkZW50aWZpZXIsIEZldGNoT3B0aW9ucyYmIG9wdGlvbnMs
IFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgSFRUUEhlYWRlck1hcCYmIG9yaWdpbmFsUmVxdWVz
dEhlYWRlcnMsIFVSTCYmIHVybCwgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiYmIHNvdXJjZU9yaWdp
biwgUHJlZmxpZ2h0UG9saWN5IHByZWZsaWdodFBvbGljeSwgU3RyaW5nJiYgcmVmZXJyZXIpCi0g
ICAgOiBtX2Nvbm5lY3Rpb24oY29ubmVjdGlvbikKLSAgICAsIG1fd2ViUGFnZUlEKHdlYlBhZ2VJ
RCkKLSAgICAsIG1fd2ViRnJhbWVJRCh3ZWJGcmFtZUlEKQotICAgICwgbV9sb2FkSWRlbnRpZmll
cihsb2FkSWRlbnRpZmllcikKLSAgICAsIG1fb3B0aW9ucyhXVEZNb3ZlKG9wdGlvbnMpKQorTmV0
d29ya0xvYWRDaGVja2VyOjpOZXR3b3JrTG9hZENoZWNrZXIoRmV0Y2hPcHRpb25zJiYgb3B0aW9u
cywgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBIVFRQSGVhZGVyTWFwJiYgb3JpZ2luYWxSZXF1
ZXN0SGVhZGVycywgVVJMJiYgdXJsLCBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+JiYgc291cmNlT3Jp
Z2luLCBQcmVmbGlnaHRQb2xpY3kgcHJlZmxpZ2h0UG9saWN5LCBTdHJpbmcmJiByZWZlcnJlcikK
KyAgICA6IG1fb3B0aW9ucyhXVEZNb3ZlKG9wdGlvbnMpKQogICAgICwgbV9zZXNzaW9uSUQoc2Vz
c2lvbklEKQogICAgICwgbV9vcmlnaW5hbFJlcXVlc3RIZWFkZXJzKFdURk1vdmUob3JpZ2luYWxS
ZXF1ZXN0SGVhZGVycykpCiAgICAgLCBtX3VybChXVEZNb3ZlKHVybCkpCkBAIC04MSw3ICs3Nyw3
IEBAIE5ldHdvcmtMb2FkQ2hlY2tlcjo6TmV0d29ya0xvYWRDaGVja2VyKE5ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uCiAKIE5ldHdvcmtMb2FkQ2hlY2tlcjo6fk5ldHdv
cmtMb2FkQ2hlY2tlcigpID0gZGVmYXVsdDsKIAotdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmNo
ZWNrKFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFZhbGlkYXRpb25IYW5kbGVyJiYgaGFuZGxl
cikKK3ZvaWQgTmV0d29ya0xvYWRDaGVja2VyOjpjaGVjayhSZXNvdXJjZVJlcXVlc3QmJiByZXF1
ZXN0LCBXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3lDbGllbnQqIGNsaWVudCwgVmFsaWRh
dGlvbkhhbmRsZXImJiBoYW5kbGVyKQogewogICAgIEFTU0VSVCghaXNDaGVja2luZygpKTsKIApA
QCAtOTIsNyArODgsNyBAQCB2b2lkIE5ldHdvcmtMb2FkQ2hlY2tlcjo6Y2hlY2soUmVzb3VyY2VS
ZXF1ZXN0JiYgcmVxdWVzdCwgVmFsaWRhdGlvbkhhbmRsZXImJiBoYQogICAgICAgICBtX2RudEhl
YWRlclZhbHVlID0gIjEiOwogICAgICAgICByZXF1ZXN0LnNldEhUVFBIZWFkZXJGaWVsZChIVFRQ
SGVhZGVyTmFtZTo6RE5ULCBtX2RudEhlYWRlclZhbHVlKTsKICAgICB9Ci0gICAgY2hlY2tSZXF1
ZXN0KFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUoaGFuZGxlcikpOworICAgIGNoZWNrUmVxdWVz
dChXVEZNb3ZlKHJlcXVlc3QpLCBjbGllbnQsIFdURk1vdmUoaGFuZGxlcikpOwogfQogCiB2b2lk
IE5ldHdvcmtMb2FkQ2hlY2tlcjo6cHJlcGFyZVJlZGlyZWN0ZWRSZXF1ZXN0KFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCkKQEAgLTEwMSw3ICs5Nyw3IEBAIHZvaWQgTmV0d29ya0xvYWRDaGVja2Vy
OjpwcmVwYXJlUmVkaXJlY3RlZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogICAg
ICAgICByZXF1ZXN0LnNldEhUVFBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6RE5ULCBtX2Ru
dEhlYWRlclZhbHVlKTsKIH0KIAotdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmNoZWNrUmVkaXJl
Y3Rpb24oUmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSwgUmVzb3VyY2VSZXF1ZXN0
JiYgcmVxdWVzdCwgVmFsaWRhdGlvbkhhbmRsZXImJiBoYW5kbGVyKQordm9pZCBOZXR3b3JrTG9h
ZENoZWNrZXI6OmNoZWNrUmVkaXJlY3Rpb24oUmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNw
b25zZSwgUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5
UG9saWN5Q2xpZW50KiBjbGllbnQsIFZhbGlkYXRpb25IYW5kbGVyJiYgaGFuZGxlcikKIHsKICAg
ICBBU1NFUlQoIWlzQ2hlY2tpbmcoKSk7CiAKQEAgLTEyOCw3ICsxMjQsNyBAQCB2b2lkIE5ldHdv
cmtMb2FkQ2hlY2tlcjo6Y2hlY2tSZWRpcmVjdGlvbihSZXNvdXJjZVJlc3BvbnNlJiByZWRpcmVj
dFJlc3BvbnNlLCBSZQogICAgIG1fcHJldmlvdXNVUkwgPSBXVEZNb3ZlKG1fdXJsKTsKICAgICBt
X3VybCA9IHJlcXVlc3QudXJsKCk7CiAKLSAgICBjaGVja1JlcXVlc3QoV1RGTW92ZShyZXF1ZXN0
KSwgV1RGTW92ZShoYW5kbGVyKSk7CisgICAgY2hlY2tSZXF1ZXN0KFdURk1vdmUocmVxdWVzdCks
IGNsaWVudCwgV1RGTW92ZShoYW5kbGVyKSk7CiB9CiAKIGJvb2wgTmV0d29ya0xvYWRDaGVja2Vy
OjpzaG91bGRDcm9zc09yaWdpblJlc291cmNlUG9saWN5UG9saWN5Q2FuY2VsTG9hZChjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKQEAgLTE5MSwxNCArMTg3LDE3IEBAIGF1dG8gTmV0
d29ya0xvYWRDaGVja2VyOjphY2Nlc3NDb250cm9sRXJyb3JGb3JWYWxpZGF0aW9uSGFuZGxlcihT
dHJpbmcmJiBtZXNzYWdlCiAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKFJlc291cmNlRXJyb3Ig
eyBTdHJpbmcgeyB9LCAwLCBtX3VybCwgV1RGTW92ZShtZXNzYWdlKSwgUmVzb3VyY2VFcnJvcjo6
VHlwZTo6QWNjZXNzQ29udHJvbCB9KTsKIH0KIAotdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmNo
ZWNrUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBWYWxpZGF0aW9uSGFuZGxlciYm
IGhhbmRsZXIpCit2b2lkIE5ldHdvcmtMb2FkQ2hlY2tlcjo6Y2hlY2tSZXF1ZXN0KFJlc291cmNl
UmVxdWVzdCYmIHJlcXVlc3QsIFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeUNsaWVudCog
Y2xpZW50LCBWYWxpZGF0aW9uSGFuZGxlciYmIGhhbmRsZXIpCiB7CiAgICAgaWYgKGF1dG8qIGNv
bnRlbnRTZWN1cml0eVBvbGljeSA9IHRoaXMtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpKSB7CiAg
ICAgICAgIGlmIChpc1JlZGlyZWN0ZWQoKSkgewogICAgICAgICAgICAgYXV0byB0eXBlID0gbV9v
cHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSA/IENvbnRlbnRTZWN1
cml0eVBvbGljeTo6SW5zZWN1cmVSZXF1ZXN0VHlwZTo6TmF2aWdhdGlvbiA6IENvbnRlbnRTZWN1
cml0eVBvbGljeTo6SW5zZWN1cmVSZXF1ZXN0VHlwZTo6TG9hZDsKICAgICAgICAgICAgIGNvbnRl
bnRTZWN1cml0eVBvbGljeS0+dXBncmFkZUluc2VjdXJlUmVxdWVzdElmTmVlZGVkKHJlcXVlc3Qs
IHR5cGUpOwogICAgICAgICB9Ci0gICAgICAgIGlmICghaXNBbGxvd2VkQnlDb250ZW50U2VjdXJp
dHlQb2xpY3kocmVxdWVzdCkpIHsKKyAgICAgICAgY29udGVudFNlY3VyaXR5UG9saWN5LT5zZXRD
bGllbnQoY2xpZW50KTsKKyAgICAgICAgYm9vbCBpc0FsbG93ZWQgPSBpc0FsbG93ZWRCeUNvbnRl
bnRTZWN1cml0eVBvbGljeShyZXF1ZXN0KTsKKyAgICAgICAgY29udGVudFNlY3VyaXR5UG9saWN5
LT5zZXRDbGllbnQobnVsbHB0cik7CisgICAgICAgIGlmICghaXNBbGxvd2VkKSB7CiAgICAgICAg
ICAgICBoYW5kbGVyKGFjY2Vzc0NvbnRyb2xFcnJvckZvclZhbGlkYXRpb25IYW5kbGVyKEFTQ0lJ
TGl0ZXJhbCB7ICJCbG9ja2VkIGJ5IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LiIgfSkpOwogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC0zODUsNyArMzg0LDcgQEAgQ29udGVudFNl
Y3VyaXR5UG9saWN5KiBOZXR3b3JrTG9hZENoZWNrZXI6OmNvbnRlbnRTZWN1cml0eVBvbGljeSgp
CiB7CiAgICAgaWYgKCFtX2NvbnRlbnRTZWN1cml0eVBvbGljeSAmJiBtX2NzcFJlc3BvbnNlSGVh
ZGVycykgewogICAgICAgICAvLyBGSVhNRTogUGFzcyB0aGUgVVJMIG9mIHRoZSBwcm90ZWN0ZWQg
cmVzb3VyY2UgaW5zdGVhZCBvZiBpdHMgb3JpZ2luLgotICAgICAgICBtX2NvbnRlbnRTZWN1cml0
eVBvbGljeSA9IHN0ZDo6bWFrZV91bmlxdWU8Q29udGVudFNlY3VyaXR5UG9saWN5PihVUkwgeyBV
UkwgeyB9LCBtX29yaWdpbi0+dG9TdHJpbmcoKSB9LCB0aGlzKTsKKyAgICAgICAgbV9jb250ZW50
U2VjdXJpdHlQb2xpY3kgPSBzdGQ6Om1ha2VfdW5pcXVlPENvbnRlbnRTZWN1cml0eVBvbGljeT4o
VVJMIHsgVVJMIHsgfSwgbV9vcmlnaW4tPnRvU3RyaW5nKCkgfSk7CiAgICAgICAgIG1fY29udGVu
dFNlY3VyaXR5UG9saWN5LT5kaWRSZWNlaXZlSGVhZGVycygqbV9jc3BSZXNwb25zZUhlYWRlcnMs
IFN0cmluZyB7IG1fcmVmZXJyZXIgfSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRQYXJz
aW5nRXJyb3JzOjpObyk7CiAgICAgfQogICAgIHJldHVybiBtX2NvbnRlbnRTZWN1cml0eVBvbGlj
eS5nZXQoKTsKQEAgLTQxNCwyMiArNDEzLDQgQEAgdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OnBy
b2Nlc3NDb250ZW50RXh0ZW5zaW9uUnVsZXNGb3JMb2FkKFJlc291cmNlUmVxdWVzdCYmIHIKIH0K
ICNlbmRpZiAvLyBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQogCi12b2lkIE5ldHdvcmtMb2Fk
Q2hlY2tlcjo6YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBtZXNzYWdlU291cmNlLCBN
ZXNzYWdlTGV2ZWwgbWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVk
IGxvbmcpCi17Ci0gICAgaWYgKG1fd2ViUGFnZUlEICYmIG1fd2ViRnJhbWVJRCkKLSAgICAgICAg
bV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6QWRkQ29u
c29sZU1lc3NhZ2UgeyBtX3dlYkZyYW1lSUQsICBtZXNzYWdlU291cmNlLCBtZXNzYWdlTGV2ZWws
IG1lc3NhZ2UsIG1fbG9hZElkZW50aWZpZXIgfSwgbV93ZWJQYWdlSUQpOwotfQotCi12b2lkIE5l
dHdvcmtMb2FkQ2hlY2tlcjo6c2VuZENTUFZpb2xhdGlvblJlcG9ydChVUkwmJiByZXBvcnRVUkws
IFJlZjxGb3JtRGF0YT4mJiByZXBvcnQpCi17Ci0gICAgaWYgKG1fd2ViUGFnZUlEICYmIG1fd2Vi
RnJhbWVJRCkKLSAgICAgICAgbV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdl
czo6V2ViUGFnZTo6U2VuZENTUFZpb2xhdGlvblJlcG9ydCB7IG1fd2ViRnJhbWVJRCwgV1RGTW92
ZShyZXBvcnRVUkwpLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlIHsgV1RGTW92ZShyZXBvcnQpIH0g
fSwgbV93ZWJQYWdlSUQpOwotfQotCi12b2lkIE5ldHdvcmtMb2FkQ2hlY2tlcjo6ZW5xdWV1ZVNl
Y3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQoV2ViQ29yZTo6U2VjdXJpdHlQb2xpY3lWaW9sYXRp
b25FdmVudDo6SW5pdCYmIGV2ZW50SW5pdCkKLXsKLSAgICBpZiAobV93ZWJQYWdlSUQgJiYgbV93
ZWJGcmFtZUlEKQotICAgICAgICBtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS5zZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlOjpFbnF1ZXVlU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudCB7IG1fd2Vi
RnJhbWVJRCwgV1RGTW92ZShldmVudEluaXQpIH0sIG1fd2ViUGFnZUlEKTsKLX0KLQogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtMb2FkQ2hlY2tlci5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrTG9hZENoZWNrZXIuaAppbmRleCAxNDQyNjM5ZTI1NzVhOTUyZjRlNzVmZjQ0NTRlODBhNTk0
NmFmODM5Li4xNGU3M2FjMzZiY2FiZTJiNGExZjM5MzdjNmRiMzEyYzk3NmQ5YWY5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmgKQEAg
LTM3LDYgKzM3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ29udGVudFNlY3Vy
aXR5UG9saWN5Oworc3RydWN0IENvbnRlbnRTZWN1cml0eVBvbGljeUNsaWVudDsKIH0KIAogbmFt
ZXNwYWNlIFdlYktpdCB7CkBAIC00NCwxNSArNDUsMTUgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBj
bGFzcyBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzczsKIGNsYXNzIE5ldHdvcmtDT1JTUHJl
ZmxpZ2h0Q2hlY2tlcjsKIAotY2xhc3MgTmV0d29ya0xvYWRDaGVja2VyIDogcHVibGljIFdlYkNv
cmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeUNsaWVudCwgcHVibGljIENhbk1ha2VXZWFrUHRyPE5l
dHdvcmtMb2FkQ2hlY2tlcj4geworY2xhc3MgTmV0d29ya0xvYWRDaGVja2VyIDogcHVibGljIENh
bk1ha2VXZWFrUHRyPE5ldHdvcmtMb2FkQ2hlY2tlcj4gewogcHVibGljOgotICAgIE5ldHdvcmtM
b2FkQ2hlY2tlcihOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYsIHVpbnQ2NF90IHdlYlBh
Z2VJRCwgdWludDY0X3Qgd2ViRnJhbWVJRCwgUmVzb3VyY2VMb2FkSWRlbnRpZmllciwgV2ViQ29y
ZTo6RmV0Y2hPcHRpb25zJiYsIFBBTDo6U2Vzc2lvbklELCBXZWJDb3JlOjpIVFRQSGVhZGVyTWFw
JiYsIFdlYkNvcmU6OlVSTCYmLCBSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+JiYsIFdl
YkNvcmU6OlByZWZsaWdodFBvbGljeSwgU3RyaW5nJiYgcmVmZXJyZXIpOworICAgIE5ldHdvcmtM
b2FkQ2hlY2tlcihXZWJDb3JlOjpGZXRjaE9wdGlvbnMmJiwgUEFMOjpTZXNzaW9uSUQsIFdlYkNv
cmU6OkhUVFBIZWFkZXJNYXAmJiwgV2ViQ29yZTo6VVJMJiYsIFJlZlB0cjxXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbj4mJiwgV2ViQ29yZTo6UHJlZmxpZ2h0UG9saWN5LCBTdHJpbmcmJiByZWZlcnJl
cik7CiAgICAgfk5ldHdvcmtMb2FkQ2hlY2tlcigpOwogCiAgICAgdXNpbmcgUmVxdWVzdE9yRXJy
b3IgPSBFeHBlY3RlZDxXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNl
RXJyb3I+OwogICAgIHVzaW5nIFZhbGlkYXRpb25IYW5kbGVyID0gQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChSZXF1ZXN0T3JFcnJvciYmKT47Ci0gICAgdm9pZCBjaGVjayhXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmJiwgVmFsaWRhdGlvbkhhbmRsZXImJik7Ci0gICAgdm9pZCBjaGVja1JlZGlyZWN0
aW9uKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
JiwgVmFsaWRhdGlvbkhhbmRsZXImJik7CisgICAgdm9pZCBjaGVjayhXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmJiwgV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5Q2xpZW50KiwgVmFsaWRh
dGlvbkhhbmRsZXImJik7CisgICAgdm9pZCBjaGVja1JlZGlyZWN0aW9uKFdlYkNvcmU6OlJlc291
cmNlUmVzcG9uc2UmLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgV2ViQ29yZTo6Q29udGVu
dFNlY3VyaXR5UG9saWN5Q2xpZW50KiwgVmFsaWRhdGlvbkhhbmRsZXImJik7CiAgICAgdm9pZCBw
cmVwYXJlUmVkaXJlY3RlZFJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CiAKICAg
ICBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIHZhbGlkYXRlUmVzcG9uc2UoV2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZSYpOwpAQCAtNzQsNyArNzUsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgaXNDaGVj
a2luZygpIGNvbnN0IHsgcmV0dXJuICEhbV9jb3JzUHJlZmxpZ2h0Q2hlY2tlcjsgfQogICAgIGJv
b2wgaXNSZWRpcmVjdGVkKCkgY29uc3QgeyByZXR1cm4gbV9yZWRpcmVjdENvdW50OyB9CiAKLSAg
ICB2b2lkIGNoZWNrUmVxdWVzdChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgVmFsaWRhdGlv
bkhhbmRsZXImJik7CisgICAgdm9pZCBjaGVja1JlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiYsIFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeUNsaWVudCosIFZhbGlkYXRpb25I
YW5kbGVyJiYpOwogCiAgICAgYm9vbCBpc0FsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGljeShj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKTsKIApAQCAtOTcsMTcgKzk4LDYgQEAgcHJp
dmF0ZToKICAgICB2b2lkIHByb2Nlc3NDb250ZW50RXh0ZW5zaW9uUnVsZXNGb3JMb2FkKFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYmLCBDb250ZW50RXh0ZW5zaW9uQ2FsbGJhY2smJik7CiAjZW5k
aWYKIAotICAgIC8vIENvbnRlbnRTZWN1cml0eVBvbGljeUNsaWVudAotICAgIHZvaWQgYWRkQ29u
c29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmLCB1
bnNpZ25lZCBsb25nKSBmaW5hbDsKLSAgICB2b2lkIHNlbmRDU1BWaW9sYXRpb25SZXBvcnQoV2Vi
Q29yZTo6VVJMJiYsIFJlZjxXZWJDb3JlOjpGb3JtRGF0YT4mJikgZmluYWw7Ci0gICAgdm9pZCBl
bnF1ZXVlU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudChXZWJDb3JlOjpTZWN1cml0eVBvbGlj
eVZpb2xhdGlvbkV2ZW50OjpJbml0JiYpIGZpbmFsOwotCi0gICAgLy8gVGhlIGNvbm5lY3Rpb24s
IHdlYiBwYWdlIElELCB3ZWIgZnJhbWUgSUQgYW5kIGxvYWQgaWRlbnRpZmllciBhcmUgdXNlZCBm
b3IgQ1NQIHJlcG9ydGluZy4KLSAgICBSZWY8TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+
IG1fY29ubmVjdGlvbjsKLSAgICB1aW50NjRfdCBtX3dlYlBhZ2VJRDsKLSAgICB1aW50NjRfdCBt
X3dlYkZyYW1lSUQ7Ci0gICAgUmVzb3VyY2VMb2FkSWRlbnRpZmllciBtX2xvYWRJZGVudGlmaWVy
OwotCiAgICAgYm9vbCBzaG91bGRDcm9zc09yaWdpblJlc291cmNlUG9saWN5UG9saWN5Q2FuY2Vs
TG9hZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7CiAKICAgICBXZWJDb3JlOjpG
ZXRjaE9wdGlvbnMgbV9vcHRpb25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGM1ZjY3NTE5N2Y4M2UzYjE5
YTViZDEyNTg3N2ZiZDRlZDQyMTkyMWQuLjYwMmNhZTFjZGY3YTU0YTFlMjNlYzVlNzM1ODMxMGQ3
NjczYWY3MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTExOSw3ICsxMTksNyBAQCBOZXR3b3JrUmVzb3Vy
Y2VMb2FkZXI6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcihOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1l
dGVycyYmIHBhcgogICAgIH0KIAogICAgIGlmIChzeW5jaHJvbm91c1JlcGx5IHx8IHBhcmFtZXRl
cnMuc2hvdWxkUmVzdHJpY3RIVFRQUmVzcG9uc2VBY2Nlc3MpIHsKLSAgICAgICAgbV9uZXR3b3Jr
TG9hZENoZWNrZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdvcmtMb2FkQ2hlY2tlcj4obV9jb25u
ZWN0aW9uLCBtX3BhcmFtZXRlcnMud2ViUGFnZUlELCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwg
aWRlbnRpZmllcigpLCBGZXRjaE9wdGlvbnMgeyBtX3BhcmFtZXRlcnMub3B0aW9ucyB9LCBtX3Bh
cmFtZXRlcnMuc2Vzc2lvbklELCBIVFRQSGVhZGVyTWFwIHsgbV9wYXJhbWV0ZXJzLm9yaWdpbmFs
UmVxdWVzdEhlYWRlcnMgfSwgVVJMIHsgbV9wYXJhbWV0ZXJzLnJlcXVlc3QudXJsKCkgfSwgbV9w
YXJhbWV0ZXJzLnNvdXJjZU9yaWdpbi5jb3B5UmVmKCksIG1fcGFyYW1ldGVycy5wcmVmbGlnaHRQ
b2xpY3ksIG9yaWdpbmFsUmVxdWVzdCgpLmh0dHBSZWZlcnJlcigpKTsKKyAgICAgICAgbV9uZXR3
b3JrTG9hZENoZWNrZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdvcmtMb2FkQ2hlY2tlcj4oRmV0
Y2hPcHRpb25zIHsgbV9wYXJhbWV0ZXJzLm9wdGlvbnMgfSwgbV9wYXJhbWV0ZXJzLnNlc3Npb25J
RCwgSFRUUEhlYWRlck1hcCB7IG1fcGFyYW1ldGVycy5vcmlnaW5hbFJlcXVlc3RIZWFkZXJzIH0s
IFVSTCB7IG1fcGFyYW1ldGVycy5yZXF1ZXN0LnVybCgpIH0sIG1fcGFyYW1ldGVycy5zb3VyY2VP
cmlnaW4uY29weVJlZigpLCBtX3BhcmFtZXRlcnMucHJlZmxpZ2h0UG9saWN5LCBvcmlnaW5hbFJl
cXVlc3QoKS5odHRwUmVmZXJyZXIoKSk7CiAgICAgICAgIGlmIChtX3BhcmFtZXRlcnMuY3NwUmVz
cG9uc2VIZWFkZXJzKQogICAgICAgICAgICAgbV9uZXR3b3JrTG9hZENoZWNrZXItPnNldENTUFJl
c3BvbnNlSGVhZGVycyhDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgeyBtX3Bh
cmFtZXRlcnMuY3NwUmVzcG9uc2VIZWFkZXJzLnZhbHVlKCkgfSk7CiAjaWYgRU5BQkxFKENPTlRF
TlRfRVhURU5TSU9OUykKQEAgLTE4NCw3ICsxODQsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxv
YWRlcjo6c3RhcnQoKQogICAgIG1fd2FzU3RhcnRlZCA9IHRydWU7CiAKICAgICBpZiAobV9uZXR3
b3JrTG9hZENoZWNrZXIpIHsKLSAgICAgICAgbV9uZXR3b3JrTG9hZENoZWNrZXItPmNoZWNrKFJl
c291cmNlUmVxdWVzdCB7IG9yaWdpbmFsUmVxdWVzdCgpIH0sIFt0aGlzXSAoYXV0byYmIHJlc3Vs
dCkgeworICAgICAgICBtX25ldHdvcmtMb2FkQ2hlY2tlci0+Y2hlY2soUmVzb3VyY2VSZXF1ZXN0
IHsgb3JpZ2luYWxSZXF1ZXN0KCkgfSwgdGhpcywgW3RoaXNdIChhdXRvJiYgcmVzdWx0KSB7CiAg
ICAgICAgICAgICBpZiAoIXJlc3VsdC5oYXNfdmFsdWUoKSkgewogICAgICAgICAgICAgICAgIGlm
ICghcmVzdWx0LmVycm9yKCkuaXNDYW5jZWxsYXRpb24oKSkKICAgICAgICAgICAgICAgICAgICAg
dGhpcy0+ZGlkRmFpbExvYWRpbmcocmVzdWx0LmVycm9yKCkpOwpAQCAtNTc2LDcgKzU3Niw3IEBA
IHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlZGlyZWN0ZWRSZXF1ZXN0KFJl
c291cmNlUmVxdWVzdCYmIHJlcXVlc3QsCiAgICAgICAgIG1fY2FjaGUtPnN0b3JlUmVkaXJlY3Qo
cmVxdWVzdCwgcmVkaXJlY3RSZXNwb25zZSwgcmVkaXJlY3RSZXF1ZXN0KTsKIAogICAgIGlmICht
X25ldHdvcmtMb2FkQ2hlY2tlcikgewotICAgICAgICBtX25ldHdvcmtMb2FkQ2hlY2tlci0+Y2hl
Y2tSZWRpcmVjdGlvbihyZWRpcmVjdFJlc3BvbnNlLCBXVEZNb3ZlKHJlZGlyZWN0UmVxdWVzdCks
IFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIHRoaXMsIHN0b3JlZENyZWRlbnRpYWxz
UG9saWN5ID0gbV9uZXR3b3JrTG9hZENoZWNrZXItPnN0b3JlZENyZWRlbnRpYWxzUG9saWN5KCks
IHJlcXVlc3QgPSBXVEZNb3ZlKHJlcXVlc3QpLCByZWRpcmVjdFJlc3BvbnNlXShhdXRvJiYgcmVz
dWx0KSBtdXRhYmxlIHsKKyAgICAgICAgbV9uZXR3b3JrTG9hZENoZWNrZXItPmNoZWNrUmVkaXJl
Y3Rpb24ocmVkaXJlY3RSZXNwb25zZSwgV1RGTW92ZShyZWRpcmVjdFJlcXVlc3QpLCB0aGlzLCBb
cHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCB0aGlzLCBzdG9yZWRDcmVkZW50aWFsc1Bv
bGljeSA9IG1fbmV0d29ya0xvYWRDaGVja2VyLT5zdG9yZWRDcmVkZW50aWFsc1BvbGljeSgpLCBy
ZXF1ZXN0ID0gV1RGTW92ZShyZXF1ZXN0KSwgcmVkaXJlY3RSZXNwb25zZV0oYXV0byYmIHJlc3Vs
dCkgbXV0YWJsZSB7CiAgICAgICAgICAgICBpZiAoIXJlc3VsdC5oYXNfdmFsdWUoKSkgewogICAg
ICAgICAgICAgICAgIGlmIChyZXN1bHQuZXJyb3IoKS5pc0NhbmNlbGxhdGlvbigpKQogICAgICAg
ICAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL1BpbmdMb2FkLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUGluZ0xv
YWQuY3BwCmluZGV4IDFhZWNlNDc5MmQyZTZlYWQ0YjA0MmRiZDM5M2M0MTE3N2I2OTBhYzIuLmY2
NzMwZjU5MjA5MTYwZmE5M2E4OTBjZmQxYmExYzA4OTVjZGFhM2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuY3BwCkBAIC0zOCwxMSArMzgsMTEgQEAgbmFtZXNwYWNl
IFdlYktpdCB7CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1QaW5nTG9hZDo6UGluZ0xv
YWQoTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzLCBOZXR3b3JrQ29u
bmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvbiwgV1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGNvbnN0IFJlc291cmNlRXJyb3ImLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik+JiYgY29t
cGxldGlvbkhhbmRsZXIpCitQaW5nTG9hZDo6UGluZ0xvYWQoTmV0d29ya1Jlc291cmNlTG9hZFBh
cmFtZXRlcnMmJiBwYXJhbWV0ZXJzLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3Qg
UmVzb3VyY2VFcnJvciYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKICAgICA6IG1fcGFyYW1ldGVycyhXVEZNb3ZlKHBhcmFtZXRlcnMpKQogICAgICwgbV9j
b21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSkKICAgICAsIG1fdGlt
ZW91dFRpbWVyKCp0aGlzLCAmUGluZ0xvYWQ6OnRpbWVvdXRUaW1lckZpcmVkKQotICAgICwgbV9u
ZXR3b3JrTG9hZENoZWNrZXIobWFrZVVuaXF1ZVJlZjxOZXR3b3JrTG9hZENoZWNrZXI+KGNvbm5l
Y3Rpb24sIG1fcGFyYW1ldGVycy53ZWJQYWdlSUQsIG1fcGFyYW1ldGVycy53ZWJGcmFtZUlELCBt
X3BhcmFtZXRlcnMuaWRlbnRpZmllciwgRmV0Y2hPcHRpb25zIHsgbV9wYXJhbWV0ZXJzLm9wdGlv
bnN9LCBtX3BhcmFtZXRlcnMuc2Vzc2lvbklELCBXVEZNb3ZlKG1fcGFyYW1ldGVycy5vcmlnaW5h
bFJlcXVlc3RIZWFkZXJzKSwgVVJMIHsgbV9wYXJhbWV0ZXJzLnJlcXVlc3QudXJsKCkgfSwgbV9w
YXJhbWV0ZXJzLnNvdXJjZU9yaWdpbi5jb3B5UmVmKCksIG1fcGFyYW1ldGVycy5wcmVmbGlnaHRQ
b2xpY3ksIG1fcGFyYW1ldGVycy5yZXF1ZXN0Lmh0dHBSZWZlcnJlcigpKSkKKyAgICAsIG1fbmV0
d29ya0xvYWRDaGVja2VyKG1ha2VVbmlxdWVSZWY8TmV0d29ya0xvYWRDaGVja2VyPihGZXRjaE9w
dGlvbnMgeyBtX3BhcmFtZXRlcnMub3B0aW9uc30sIG1fcGFyYW1ldGVycy5zZXNzaW9uSUQsIFdU
Rk1vdmUobV9wYXJhbWV0ZXJzLm9yaWdpbmFsUmVxdWVzdEhlYWRlcnMpLCBVUkwgeyBtX3BhcmFt
ZXRlcnMucmVxdWVzdC51cmwoKSB9LCBtX3BhcmFtZXRlcnMuc291cmNlT3JpZ2luLmNvcHlSZWYo
KSwgbV9wYXJhbWV0ZXJzLnByZWZsaWdodFBvbGljeSwgbV9wYXJhbWV0ZXJzLnJlcXVlc3QuaHR0
cFJlZmVycmVyKCkpKQogewogCiAgICAgaWYgKG1fcGFyYW1ldGVycy5jc3BSZXNwb25zZUhlYWRl
cnMpCkBAIC01NSw3ICs1NSw3IEBAIFBpbmdMb2FkOjpQaW5nTG9hZChOZXR3b3JrUmVzb3VyY2VM
b2FkUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMsIE5ldHdvcmtDb25uZWN0aW9uCiAgICAgLy8gU2V0
IGEgdmVyeSBnZW5lcm91cyB0aW1lb3V0LCBqdXN0IGluIGNhc2UuCiAgICAgbV90aW1lb3V0VGlt
ZXIuc3RhcnRPbmVTaG90KDYwMDAwX3MpOwogCi0gICAgbV9uZXR3b3JrTG9hZENoZWNrZXItPmNo
ZWNrKFJlc291cmNlUmVxdWVzdCB7IG1fcGFyYW1ldGVycy5yZXF1ZXN0IH0sIFt0aGlzXSAoYXV0
byYmIHJlc3VsdCkgeworICAgIG1fbmV0d29ya0xvYWRDaGVja2VyLT5jaGVjayhSZXNvdXJjZVJl
cXVlc3QgeyBtX3BhcmFtZXRlcnMucmVxdWVzdCB9LCBudWxscHRyLCBbdGhpc10gKGF1dG8mJiBy
ZXN1bHQpIHsKICAgICAgICAgaWYgKCFyZXN1bHQuaGFzX3ZhbHVlKCkpIHsKICAgICAgICAgICAg
IHRoaXMtPmRpZEZpbmlzaChyZXN1bHQuZXJyb3IoKSk7CiAgICAgICAgICAgICByZXR1cm47CkBA
IC05Myw3ICs5Myw3IEBAIHZvaWQgUGluZ0xvYWQ6OmxvYWRSZXF1ZXN0KFJlc291cmNlUmVxdWVz
dCYmIHJlcXVlc3QpCiAKIHZvaWQgUGluZ0xvYWQ6OndpbGxQZXJmb3JtSFRUUFJlZGlyZWN0aW9u
KFJlc291cmNlUmVzcG9uc2UmJiByZWRpcmVjdFJlc3BvbnNlLCBSZXNvdXJjZVJlcXVlc3QmJiBy
ZXF1ZXN0LCBSZWRpcmVjdENvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIpCiB7
Ci0gICAgbV9uZXR3b3JrTG9hZENoZWNrZXItPmNoZWNrUmVkaXJlY3Rpb24ocmVkaXJlY3RSZXNw
b25zZSwgV1RGTW92ZShyZXF1ZXN0KSwgW3RoaXMsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcildKGF1dG8mJiByZXN1bHQpIHsKKyAgICBtX25ldHdvcmtMb2Fk
Q2hlY2tlci0+Y2hlY2tSZWRpcmVjdGlvbihyZWRpcmVjdFJlc3BvbnNlLCBXVEZNb3ZlKHJlcXVl
c3QpLCBudWxscHRyLCBbdGhpcywgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKV0oYXV0byYmIHJlc3VsdCkgewogICAgICAgICBpZiAoIXJlc3VsdC5oYXNfdmFs
dWUoKSkgewogICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoeyB9KTsKICAgICAgICAgICAg
IHRoaXMtPmRpZEZpbmlzaChyZXN1bHQuZXJyb3IoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1BpbmdMb2FkLmgKaW5kZXggYjkzODE1YTA0YmRlM2ZhODQ5ZWU3OGZiMTZjMzFlYmI1ODI4
ZjljOC4uMDAzMWJiZDU3ODEyOWY3YTI4NGFkMmUxOWY3NzQzOGYzMDY2NGU0NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuaApAQCAtNDUsNyArNDUsNyBAQCBjbGFzcyBO
ZXR3b3JrTG9hZENoZWNrZXI7CiAKIGNsYXNzIFBpbmdMb2FkIGZpbmFsIDogcHJpdmF0ZSBOZXR3
b3JrRGF0YVRhc2tDbGllbnQgewogcHVibGljOgotICAgIFBpbmdMb2FkKE5ldHdvcmtSZXNvdXJj
ZUxvYWRQYXJhbWV0ZXJzJiYsIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiwgV1RGOjpD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik+JiYpOworICAgIFBpbmdMb2FkKE5ldHdvcmtS
ZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvciYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKT4m
Jik7CiAgICAgCiBwcml2YXRlOgogICAgIH5QaW5nTG9hZCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>343742</attachid>
            <date>2018-06-27 13:01:00 -0700</date>
            <delta_ts>2018-06-27 14:15:30 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-186551-20180627130100.patch</filename>
            <type>text/plain</type>
            <size>23304</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMzMjU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjc4NDU0NGRjNmZlMDhi
OGY3Yjc2YTExNzExNWI0NjBlYzVmNjExMS4uN2RjZGY1YWE2NDQ5YmZlNmU2N2I5YjViYWRmN2Q4
N2I4NDQzZWNhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE4LTA2LTI3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBOZXR3b3JrTG9hZENoZWNr
ZXIgc2hvdWxkIG5vdCBuZWVkIHRvIGhhcmQgcmVmIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODY1
NTEKKworICAgICAgICBSZXZpZXdlZCBieSBEYW5pZWwgQmF0ZXMuCisKKyAgICAgICAgTm8gY2hh
bmdlIG9mIGJlaGF2aW9yLgorICAgICAgICBBZGQgYSB3YXkgdG8gc2V0IHRoZSBjbGllbnQgcmVj
ZWl2aW5nIGFueSBDU1Agd2FybmluZy9lcnJvciBub3RpZmljYXRpb24uCisKKyAgICAgICAgKiBw
YWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
bnRTZWN1cml0eVBvbGljeTo6c2V0Q2xpZW50KToKKwogMjAxOC0wNi0yNyAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRGlzYWJsZSBjb250ZW50IGJsb2NrZXJz
IGluIE5ldHdvcmtMb2FkQ2hlY2tlciBleGNlcHQgZm9yIHBpbmcgbG9hZHMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
NTM5MzZiNmZlNTRjMmYyMWYwYjM2ZDVkOTUzZmQ3MDE5ZjQxZWNiOC4uNTE0NmQ3OGU2ZDhhMjVi
MGU2YWI3ZGM5ODU2ZTc2NGRkMmE5YThlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAx
OC0wNi0yNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTmV0
d29ya0xvYWRDaGVja2VyIHNob3VsZCBub3QgbmVlZCB0byBoYXJkIHJlZiBOZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTg2NTUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFuaWVsIEJhdGVzLgorCisg
ICAgICAgIFJlbW92ZWQgdGhlIG5lZWQgZm9yIE5ldHdvcmtMb2FkQ2hlY2tlciB0byByZWZlcmVu
Y2UgYSBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy4KKyAgICAgICAgSW5zdGVhZCBhIENT
UCBjbGllbnQgaXMgZ2l2ZW4gdG8gTmV0d29ya0xvYWRDaGVja2VyIHdoZW4gbmVlZGVkLgorCisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6bG9hZFBp
bmcpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkQ2hlY2tlcjo6TmV0d29ya0xvYWRDaGVja2VyKToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya0xvYWRDaGVja2VyOjpjaGVjayk6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtMb2FkQ2hlY2tlcjo6Y2hlY2tSZWRpcmVjdGlvbik6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtMb2FkQ2hlY2tlcjo6Y2hlY2tSZXF1ZXN0KToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0xvYWRDaGVja2VyOjpjb250ZW50U2VjdXJpdHlQb2xpY3kpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrTG9hZENoZWNrZXI6OmFkZENvbnNvbGVNZXNzYWdlKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya0xvYWRDaGVja2VyOjpzZW5kQ1NQVmlvbGF0aW9uUmVw
b3J0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0xvYWRDaGVja2VyOjplbnF1
ZXVlU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudCk6IERlbGV0ZWQuCisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jl
c291cmNlTG9hZGVyOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxv
YWRlcjo6d2lsbFNlbmRSZWRpcmVjdGVkUmVxdWVzdCk6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvUGluZ0xvYWQuY3BwOgorICAgICAgICAoV2ViS2l0OjpQaW5nTG9hZDo6UGluZ0xvYWQpOgor
ICAgICAgICAoV2ViS2l0OjpQaW5nTG9hZDo6d2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rpb24pOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmg6CisKIDIwMTgtMDYtMjcgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIHNhbmRib3ggcHJv
ZmlsZSBmb3Igc29tZSBhZGRpdGlvbmFsIGJhbmsgcGx1Z2lucwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuaAppbmRleCA0ZGE0NWQ0YmNhYTEyMTE1
MDEzMDAzYzk3ZmQzZTgwM2NkNTM0MDBkLi43YTU3Y2Y1NDE3ODJiMjk4NWFjN2U2NzgyNjE2OGUy
ZGJiOGNkNjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2Vj
dXJpdHlQb2xpY3kuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJp
dHlQb2xpY3kuaApAQCAtMTY5LDYgKzE2OSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGluaGVyaXRJ
bnNlY3VyZU5hdmlnYXRpb25SZXF1ZXN0c1RvVXBncmFkZUZyb21PcGVuZXIoY29uc3QgQ29udGVu
dFNlY3VyaXR5UG9saWN5Jik7CiAgICAgdm9pZCBzZXRJbnNlY3VyZU5hdmlnYXRpb25SZXF1ZXN0
c1RvVXBncmFkZShIYXNoU2V0PFNlY3VyaXR5T3JpZ2luRGF0YT4mJik7CiAKKyAgICB2b2lkIHNl
dENsaWVudChDb250ZW50U2VjdXJpdHlQb2xpY3lDbGllbnQqIGNsaWVudCkgeyBtX2NsaWVudCA9
IGNsaWVudDsgfQorCiBwcml2YXRlOgogICAgIHZvaWQgbG9nVG9Db25zb2xlKGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMID0gU3RyaW5nKCksIGNvbnN0IFdU
Rjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUgPSBXVEY6Ok9yZGluYWxOdW1iZXI6OmJlZm9y
ZUZpcnN0KCksIEpTQzo6RXhlY1N0YXRlKiA9IG51bGxwdHIpIGNvbnN0OwogICAgIHZvaWQgdXBk
YXRlU291cmNlU2VsZihjb25zdCBTZWN1cml0eU9yaWdpbiYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmNwcAppbmRleCA3ODEyYThkMGZiZmUyYWNhNjA1OWI1NzBhMTcxNWVjZDMwZWFiOGQwLi44
ZTVkMTBkOGU0ZDY3YjQ4MDAyMWMxMTZjZTcyMTJjNmVkN2YxZTRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmNwcApAQCAtMjYyLDcgKzI2Miw3IEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3M6OmxvYWRQaW5nKE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiYgbG9h
CiAgICAgfTsKIAogICAgIC8vIFBpbmdMb2FkIG1hbmFnZXMgaXRzIG93biBsaWZldGltZSwgZGVs
ZXRpbmcgaXRzZWxmIHdoZW4gaXRzIHB1cnBvc2UgaGFzIGJlZW4gZnVsZmlsbGVkLgotICAgIG5l
dyBQaW5nTG9hZChXVEZNb3ZlKGxvYWRQYXJhbWV0ZXJzKSwgKnRoaXMsIFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpKTsKKyAgICBuZXcgUGluZ0xvYWQoV1RGTW92ZShsb2FkUGFyYW1ldGVycyks
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAogdm9pZCBOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6ZGlkRmluaXNoUGluZ0xvYWQodWludDY0X3QgcGluZ0xvYWRJZGVudGlm
aWVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
cmVzcG9uc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtMb2FkQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtM
b2FkQ2hlY2tlci5jcHAKaW5kZXggYjVjOThmMzY5Njc2YzY2MjdmOGJiZTAxOTI1NWI4NmU0ZmVj
ZTYwMC4uN2JiMmI1ZDU5ZmQ0MDE3ZDFiMmJlZjlkMzAzMjhjOWIzMzczYWM0NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmNwcApA
QCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRS
ZXN1bHRDYWNoZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSFRUUFBhcnNlcnMuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1NjaGVtZVJlZ2lzdHJ5Lmg+CisjaW5jbHVkZSA8d3RmL1Njb3BlLmg+CiAKICNk
ZWZpbmUgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChmbXQsIC4uLikgUkVMRUFTRV9MT0dfSUYobV9z
ZXNzaW9uSUQuaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIE5ldHdvcmssICIlcCAtIE5ldHdv
cmtMb2FkQ2hlY2tlcjo6IiBmbXQsIHRoaXMsICMjX19WQV9BUkdTX18pCiAKQEAgLTUyLDEyICs1
Myw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1NhbWVPcmlnaW4oY29uc3QgVVJMJiB1cmwsIGNv
bnN0IFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAgICAgcmV0dXJuIHVybC5wcm90b2NvbElzRGF0
YSgpIHx8IHVybC5wcm90b2NvbElzQmxvYigpIHx8ICFvcmlnaW4gfHwgb3JpZ2luLT5jYW5SZXF1
ZXN0KHVybCk7CiB9CiAKLU5ldHdvcmtMb2FkQ2hlY2tlcjo6TmV0d29ya0xvYWRDaGVja2VyKE5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uLCB1aW50NjRfdCB3ZWJQYWdl
SUQsIHVpbnQ2NF90IHdlYkZyYW1lSUQsIFJlc291cmNlTG9hZElkZW50aWZpZXIgbG9hZElkZW50
aWZpZXIsIEZldGNoT3B0aW9ucyYmIG9wdGlvbnMsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwg
SFRUUEhlYWRlck1hcCYmIG9yaWdpbmFsUmVxdWVzdEhlYWRlcnMsIFVSTCYmIHVybCwgUmVmUHRy
PFNlY3VyaXR5T3JpZ2luPiYmIHNvdXJjZU9yaWdpbiwgUHJlZmxpZ2h0UG9saWN5IHByZWZsaWdo
dFBvbGljeSwgU3RyaW5nJiYgcmVmZXJyZXIsIGJvb2wgc2hvdWxkQ2FwdHVyZUV4dHJhTmV0d29y
a0xvYWRNZXRyaWNzKQotICAgIDogbV9jb25uZWN0aW9uKGNvbm5lY3Rpb24pCi0gICAgLCBtX3dl
YlBhZ2VJRCh3ZWJQYWdlSUQpCi0gICAgLCBtX3dlYkZyYW1lSUQod2ViRnJhbWVJRCkKLSAgICAs
IG1fbG9hZElkZW50aWZpZXIobG9hZElkZW50aWZpZXIpCi0gICAgLCBtX29wdGlvbnMoV1RGTW92
ZShvcHRpb25zKSkKK05ldHdvcmtMb2FkQ2hlY2tlcjo6TmV0d29ya0xvYWRDaGVja2VyKEZldGNo
T3B0aW9ucyYmIG9wdGlvbnMsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgSFRUUEhlYWRlck1h
cCYmIG9yaWdpbmFsUmVxdWVzdEhlYWRlcnMsIFVSTCYmIHVybCwgUmVmUHRyPFNlY3VyaXR5T3Jp
Z2luPiYmIHNvdXJjZU9yaWdpbiwgUHJlZmxpZ2h0UG9saWN5IHByZWZsaWdodFBvbGljeSwgU3Ry
aW5nJiYgcmVmZXJyZXIsIGJvb2wgc2hvdWxkQ2FwdHVyZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNz
KQorICAgIDogbV9vcHRpb25zKFdURk1vdmUob3B0aW9ucykpCiAgICAgLCBtX3Nlc3Npb25JRChz
ZXNzaW9uSUQpCiAgICAgLCBtX29yaWdpbmFsUmVxdWVzdEhlYWRlcnMoV1RGTW92ZShvcmlnaW5h
bFJlcXVlc3RIZWFkZXJzKSkKICAgICAsIG1fdXJsKFdURk1vdmUodXJsKSkKQEAgLTgyLDcgKzc5
LDcgQEAgTmV0d29ya0xvYWRDaGVja2VyOjpOZXR3b3JrTG9hZENoZWNrZXIoTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MmIGNvbm5lY3Rpb24KIAogTmV0d29ya0xvYWRDaGVja2VyOjp+TmV0
d29ya0xvYWRDaGVja2VyKCkgPSBkZWZhdWx0OwogCi12b2lkIE5ldHdvcmtMb2FkQ2hlY2tlcjo6
Y2hlY2soUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgVmFsaWRhdGlvbkhhbmRsZXImJiBoYW5k
bGVyKQordm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmNoZWNrKFJlc291cmNlUmVxdWVzdCYmIHJl
cXVlc3QsIENvbnRlbnRTZWN1cml0eVBvbGljeUNsaWVudCogY2xpZW50LCBWYWxpZGF0aW9uSGFu
ZGxlciYmIGhhbmRsZXIpCiB7CiAgICAgQVNTRVJUKCFpc0NoZWNraW5nKCkpOwogCkBAIC05Niw3
ICs5Myw3IEBAIHZvaWQgTmV0d29ya0xvYWRDaGVja2VyOjpjaGVjayhSZXNvdXJjZVJlcXVlc3Qm
JiByZXF1ZXN0LCBWYWxpZGF0aW9uSGFuZGxlciYmIGhhCiAgICAgICAgIG1fZG50SGVhZGVyVmFs
dWUgPSAiMSI7CiAgICAgICAgIHJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJO
YW1lOjpETlQsIG1fZG50SGVhZGVyVmFsdWUpOwogICAgIH0KLSAgICBjaGVja1JlcXVlc3QoV1RG
TW92ZShyZXF1ZXN0KSwgV1RGTW92ZShoYW5kbGVyKSk7CisgICAgY2hlY2tSZXF1ZXN0KFdURk1v
dmUocmVxdWVzdCksIGNsaWVudCwgV1RGTW92ZShoYW5kbGVyKSk7CiB9CiAKIHZvaWQgTmV0d29y
a0xvYWRDaGVja2VyOjpwcmVwYXJlUmVkaXJlY3RlZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0KQpAQCAtMTA1LDcgKzEwMiw3IEBAIHZvaWQgTmV0d29ya0xvYWRDaGVja2VyOjpwcmVw
YXJlUmVkaXJlY3RlZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogICAgICAgICBy
ZXF1ZXN0LnNldEhUVFBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6RE5ULCBtX2RudEhlYWRl
clZhbHVlKTsKIH0KIAotdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmNoZWNrUmVkaXJlY3Rpb24o
UmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSwgUmVzb3VyY2VSZXF1ZXN0JiYgcmVx
dWVzdCwgVmFsaWRhdGlvbkhhbmRsZXImJiBoYW5kbGVyKQordm9pZCBOZXR3b3JrTG9hZENoZWNr
ZXI6OmNoZWNrUmVkaXJlY3Rpb24oUmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSwg
UmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgQ29udGVudFNlY3VyaXR5UG9saWN5Q2xpZW50KiBj
bGllbnQsIFZhbGlkYXRpb25IYW5kbGVyJiYgaGFuZGxlcikKIHsKICAgICBBU1NFUlQoIWlzQ2hl
Y2tpbmcoKSk7CiAKQEAgLTEzMiw3ICsxMjksNyBAQCB2b2lkIE5ldHdvcmtMb2FkQ2hlY2tlcjo6
Y2hlY2tSZWRpcmVjdGlvbihSZXNvdXJjZVJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlLCBSZQog
ICAgIG1fcHJldmlvdXNVUkwgPSBXVEZNb3ZlKG1fdXJsKTsKICAgICBtX3VybCA9IHJlcXVlc3Qu
dXJsKCk7CiAKLSAgICBjaGVja1JlcXVlc3QoV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShoYW5k
bGVyKSk7CisgICAgY2hlY2tSZXF1ZXN0KFdURk1vdmUocmVxdWVzdCksIGNsaWVudCwgV1RGTW92
ZShoYW5kbGVyKSk7CiB9CiAKIFJlc291cmNlRXJyb3IgTmV0d29ya0xvYWRDaGVja2VyOjp2YWxp
ZGF0ZVJlc3BvbnNlKFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQpAQCAtMTc3LDE0ICsxNzQs
MTQgQEAgYXV0byBOZXR3b3JrTG9hZENoZWNrZXI6OmFjY2Vzc0NvbnRyb2xFcnJvckZvclZhbGlk
YXRpb25IYW5kbGVyKFN0cmluZyYmIG1lc3NhZ2UKICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQo
UmVzb3VyY2VFcnJvciB7IFN0cmluZyB7IH0sIDAsIG1fdXJsLCBXVEZNb3ZlKG1lc3NhZ2UpLCBS
ZXNvdXJjZUVycm9yOjpUeXBlOjpBY2Nlc3NDb250cm9sIH0pOwogfQogCi12b2lkIE5ldHdvcmtM
b2FkQ2hlY2tlcjo6Y2hlY2tSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFZhbGlk
YXRpb25IYW5kbGVyJiYgaGFuZGxlcikKK3ZvaWQgTmV0d29ya0xvYWRDaGVja2VyOjpjaGVja1Jl
cXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgQ29udGVudFNlY3VyaXR5UG9saWN5Q2xp
ZW50KiBjbGllbnQsIFZhbGlkYXRpb25IYW5kbGVyJiYgaGFuZGxlcikKIHsKICAgICBpZiAoYXV0
byogY29udGVudFNlY3VyaXR5UG9saWN5ID0gdGhpcy0+Y29udGVudFNlY3VyaXR5UG9saWN5KCkp
IHsKICAgICAgICAgaWYgKGlzUmVkaXJlY3RlZCgpKSB7CiAgICAgICAgICAgICBhdXRvIHR5cGUg
PSBtX29wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmlnYXRlID8gQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpJbnNlY3VyZVJlcXVlc3RUeXBlOjpOYXZpZ2F0aW9uIDogQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpJbnNlY3VyZVJlcXVlc3RUeXBlOjpMb2FkOwogICAgICAgICAgICAg
Y29udGVudFNlY3VyaXR5UG9saWN5LT51cGdyYWRlSW5zZWN1cmVSZXF1ZXN0SWZOZWVkZWQocmVx
dWVzdCwgdHlwZSk7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKCFpc0FsbG93ZWRCeUNvbnRlbnRT
ZWN1cml0eVBvbGljeShyZXF1ZXN0KSkgeworICAgICAgICBpZiAoIWlzQWxsb3dlZEJ5Q29udGVu
dFNlY3VyaXR5UG9saWN5KHJlcXVlc3QsIGNsaWVudCkpIHsKICAgICAgICAgICAgIGhhbmRsZXIo
YWNjZXNzQ29udHJvbEVycm9yRm9yVmFsaWRhdGlvbkhhbmRsZXIoIkJsb2NrZWQgYnkgQ29udGVu
dCBTZWN1cml0eSBQb2xpY3kuIl9zKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
QEAgLTIwOCwyMiArMjA1LDI3IEBAIHZvaWQgTmV0d29ya0xvYWRDaGVja2VyOjpjaGVja1JlcXVl
c3QoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgVmFsaWRhdGlvbkhhbmRsCiAjZW5kaWYKIH0K
IAotYm9vbCBOZXR3b3JrTG9hZENoZWNrZXI6OmlzQWxsb3dlZEJ5Q29udGVudFNlY3VyaXR5UG9s
aWN5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKK2Jvb2wgTmV0d29ya0xvYWRDaGVj
a2VyOjppc0FsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGljeShjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QsIFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeUNsaWVudCogY2xpZW50
KQogewotICAgIEFTU0VSVChjb250ZW50U2VjdXJpdHlQb2xpY3koKSk7CisgICAgYXV0byogY29u
dGVudFNlY3VyaXR5UG9saWN5ID0gdGhpcy0+Y29udGVudFNlY3VyaXR5UG9saWN5KCk7CisgICAg
Y29udGVudFNlY3VyaXR5UG9saWN5LT5zZXRDbGllbnQoY2xpZW50KTsKKyAgICBhdXRvIGNsZWFy
Q29udGVudFNlY3VyaXR5UG9saWN5Q2xpZW50ID0gbWFrZVNjb3BlRXhpdChbJl0geworICAgICAg
ICBjb250ZW50U2VjdXJpdHlQb2xpY3ktPnNldENsaWVudChudWxscHRyKTsKKyAgICB9KTsKKwog
ICAgIGF1dG8gcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkID0gaXNSZWRpcmVjdGVkKCkgPyBDb250
ZW50U2VjdXJpdHlQb2xpY3k6OlJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZDo6WWVzIDogQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQ6Ok5vOwogICAgIHN3aXRj
aCAobV9vcHRpb25zLmRlc3RpbmF0aW9uKSB7CiAgICAgY2FzZSBGZXRjaE9wdGlvbnM6OkRlc3Rp
bmF0aW9uOjpXb3JrZXI6CiAgICAgY2FzZSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTZXJ2
aWNld29ya2VyOgogICAgIGNhc2UgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2hhcmVkd29y
a2VyOgotICAgICAgICByZXR1cm4gY29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93Q2hpbGRD
b250ZXh0RnJvbVNvdXJjZShyZXF1ZXN0LnVybCgpLCByZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQp
OworICAgICAgICByZXR1cm4gY29udGVudFNlY3VyaXR5UG9saWN5LT5hbGxvd0NoaWxkQ29udGV4
dEZyb21Tb3VyY2UocmVxdWVzdC51cmwoKSwgcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkKTsKICAg
ICBjYXNlIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNjcmlwdDoKLSAgICAgICAgaWYgKHJl
cXVlc3QucmVxdWVzdGVyKCkgPT0gUmVzb3VyY2VSZXF1ZXN0OjpSZXF1ZXN0ZXI6OkltcG9ydFNj
cmlwdHMgJiYgIWNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5hbGxvd1NjcmlwdEZyb21Tb3VyY2Uo
cmVxdWVzdC51cmwoKSwgcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkKSkKKyAgICAgICAgaWYgKHJl
cXVlc3QucmVxdWVzdGVyKCkgPT0gUmVzb3VyY2VSZXF1ZXN0OjpSZXF1ZXN0ZXI6OkltcG9ydFNj
cmlwdHMgJiYgIWNvbnRlbnRTZWN1cml0eVBvbGljeS0+YWxsb3dTY3JpcHRGcm9tU291cmNlKHJl
cXVlc3QudXJsKCksIHJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCkpCiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgICAgIC8vIEZJWE1FOiBDaGVjayBDU1AgZm9yIG5vbi1pbXBvcnRTY3Jp
cHRzKCkgaW5pdGlhdGVkIGxvYWRzLgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBjYXNlIEZl
dGNoT3B0aW9uczo6RGVzdGluYXRpb246OkVtcHR5U3RyaW5nOgotICAgICAgICByZXR1cm4gY29u
dGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93Q29ubmVjdFRvU291cmNlKHJlcXVlc3QudXJsKCks
IHJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCk7CisgICAgICAgIHJldHVybiBjb250ZW50U2VjdXJp
dHlQb2xpY3ktPmFsbG93Q29ubmVjdFRvU291cmNlKHJlcXVlc3QudXJsKCksIHJlZGlyZWN0UmVz
cG9uc2VSZWNlaXZlZCk7CiAgICAgY2FzZSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpBdWRp
bzoKICAgICBjYXNlIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OkRvY3VtZW50OgogICAgIGNh
c2UgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6RW1iZWQ6CkBAIC0zNzQsNyArMzc2LDcgQEAg
Q29udGVudFNlY3VyaXR5UG9saWN5KiBOZXR3b3JrTG9hZENoZWNrZXI6OmNvbnRlbnRTZWN1cml0
eVBvbGljeSgpCiB7CiAgICAgaWYgKCFtX2NvbnRlbnRTZWN1cml0eVBvbGljeSAmJiBtX2NzcFJl
c3BvbnNlSGVhZGVycykgewogICAgICAgICAvLyBGSVhNRTogUGFzcyB0aGUgVVJMIG9mIHRoZSBw
cm90ZWN0ZWQgcmVzb3VyY2UgaW5zdGVhZCBvZiBpdHMgb3JpZ2luLgotICAgICAgICBtX2NvbnRl
bnRTZWN1cml0eVBvbGljeSA9IHN0ZDo6bWFrZV91bmlxdWU8Q29udGVudFNlY3VyaXR5UG9saWN5
PihVUkwgeyBVUkwgeyB9LCBtX29yaWdpbi0+dG9TdHJpbmcoKSB9LCB0aGlzKTsKKyAgICAgICAg
bV9jb250ZW50U2VjdXJpdHlQb2xpY3kgPSBzdGQ6Om1ha2VfdW5pcXVlPENvbnRlbnRTZWN1cml0
eVBvbGljeT4oVVJMIHsgVVJMIHsgfSwgbV9vcmlnaW4tPnRvU3RyaW5nKCkgfSk7CiAgICAgICAg
IG1fY29udGVudFNlY3VyaXR5UG9saWN5LT5kaWRSZWNlaXZlSGVhZGVycygqbV9jc3BSZXNwb25z
ZUhlYWRlcnMsIFN0cmluZyB7IG1fcmVmZXJyZXIgfSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpS
ZXBvcnRQYXJzaW5nRXJyb3JzOjpObyk7CiAgICAgfQogICAgIHJldHVybiBtX2NvbnRlbnRTZWN1
cml0eVBvbGljeS5nZXQoKTsKQEAgLTQwMywyNCArNDA1LDYgQEAgdm9pZCBOZXR3b3JrTG9hZENo
ZWNrZXI6OnByb2Nlc3NDb250ZW50RXh0ZW5zaW9uUnVsZXNGb3JMb2FkKFJlc291cmNlUmVxdWVz
dCYmIHIKIH0KICNlbmRpZiAvLyBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQogCi12b2lkIE5l
dHdvcmtMb2FkQ2hlY2tlcjo6YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBtZXNzYWdl
U291cmNlLCBNZXNzYWdlTGV2ZWwgbWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IHVuc2lnbmVkIGxvbmcpCi17Ci0gICAgaWYgKG1fd2ViUGFnZUlEICYmIG1fd2ViRnJhbWVJRCkK
LSAgICAgICAgbV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6V2ViUGFn
ZTo6QWRkQ29uc29sZU1lc3NhZ2UgeyBtX3dlYkZyYW1lSUQsICBtZXNzYWdlU291cmNlLCBtZXNz
YWdlTGV2ZWwsIG1lc3NhZ2UsIG1fbG9hZElkZW50aWZpZXIgfSwgbV93ZWJQYWdlSUQpOwotfQot
Ci12b2lkIE5ldHdvcmtMb2FkQ2hlY2tlcjo6c2VuZENTUFZpb2xhdGlvblJlcG9ydChVUkwmJiBy
ZXBvcnRVUkwsIFJlZjxGb3JtRGF0YT4mJiByZXBvcnQpCi17Ci0gICAgaWYgKG1fd2ViUGFnZUlE
ICYmIG1fd2ViRnJhbWVJRCkKLSAgICAgICAgbV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCkuc2Vu
ZChNZXNzYWdlczo6V2ViUGFnZTo6U2VuZENTUFZpb2xhdGlvblJlcG9ydCB7IG1fd2ViRnJhbWVJ
RCwgV1RGTW92ZShyZXBvcnRVUkwpLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlIHsgV1RGTW92ZShy
ZXBvcnQpIH0gfSwgbV93ZWJQYWdlSUQpOwotfQotCi12b2lkIE5ldHdvcmtMb2FkQ2hlY2tlcjo6
ZW5xdWV1ZVNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQoU2VjdXJpdHlQb2xpY3lWaW9sYXRp
b25FdmVudDo6SW5pdCYmIGV2ZW50SW5pdCkKLXsKLSAgICBpZiAobV93ZWJQYWdlSUQgJiYgbV93
ZWJGcmFtZUlEKQotICAgICAgICBtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS5zZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlOjpFbnF1ZXVlU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudCB7IG1fd2Vi
RnJhbWVJRCwgV1RGTW92ZShldmVudEluaXQpIH0sIG1fd2ViUGFnZUlEKTsKLX0KLQogdm9pZCBO
ZXR3b3JrTG9hZENoZWNrZXI6OnN0b3JlUmVkaXJlY3Rpb25JZk5lZWRlZChjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewog
ICAgIGlmICghbV9zaG91bGRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJpY3MpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5oIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuaAppbmRleCA2
MjkzNzNiYmEwYzdkN2JmMzdmZjY3ZGE5ZWE1ZGFiYjY0NWIyNzE4Li5kMTA3MGY4YTc0YTg1ZGY3
ZDJjMTdlNmRjNjhlMmE5NDc5MDhmYzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmgKQEAgLTM3LDYgKzM3LDcgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgQ29udGVudFNlY3VyaXR5UG9saWN5Oworc3RydWN0IENvbnRl
bnRTZWN1cml0eVBvbGljeUNsaWVudDsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00NCwx
NSArNDUsMTUgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2VzczsKIGNsYXNzIE5ldHdvcmtDT1JTUHJlZmxpZ2h0Q2hlY2tlcjsKIAotY2xhc3Mg
TmV0d29ya0xvYWRDaGVja2VyIDogcHVibGljIFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGlj
eUNsaWVudCwgcHVibGljIENhbk1ha2VXZWFrUHRyPE5ldHdvcmtMb2FkQ2hlY2tlcj4geworY2xh
c3MgTmV0d29ya0xvYWRDaGVja2VyIDogcHVibGljIENhbk1ha2VXZWFrUHRyPE5ldHdvcmtMb2Fk
Q2hlY2tlcj4gewogcHVibGljOgotICAgIE5ldHdvcmtMb2FkQ2hlY2tlcihOZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2VzcyYsIHVpbnQ2NF90IHdlYlBhZ2VJRCwgdWludDY0X3Qgd2ViRnJhbWVJ
RCwgUmVzb3VyY2VMb2FkSWRlbnRpZmllciwgV2ViQ29yZTo6RmV0Y2hPcHRpb25zJiYsIFBBTDo6
U2Vzc2lvbklELCBXZWJDb3JlOjpIVFRQSGVhZGVyTWFwJiYsIFdlYkNvcmU6OlVSTCYmLCBSZWZQ
dHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+JiYsIFdlYkNvcmU6OlByZWZsaWdodFBvbGljeSwg
U3RyaW5nJiYgcmVmZXJyZXIsIGJvb2wgc2hvdWxkQ2FwdHVyZUV4dHJhTmV0d29ya0xvYWRNZXRy
aWNzID0gZmFsc2UpOworICAgIE5ldHdvcmtMb2FkQ2hlY2tlcihXZWJDb3JlOjpGZXRjaE9wdGlv
bnMmJiwgUEFMOjpTZXNzaW9uSUQsIFdlYkNvcmU6OkhUVFBIZWFkZXJNYXAmJiwgV2ViQ29yZTo6
VVJMJiYsIFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4mJiwgV2ViQ29yZTo6UHJlZmxp
Z2h0UG9saWN5LCBTdHJpbmcmJiByZWZlcnJlciwgYm9vbCBzaG91bGRDYXB0dXJlRXh0cmFOZXR3
b3JrTG9hZE1ldHJpY3MgPSBmYWxzZSk7CiAgICAgfk5ldHdvcmtMb2FkQ2hlY2tlcigpOwogCiAg
ICAgdXNpbmcgUmVxdWVzdE9yRXJyb3IgPSBFeHBlY3RlZDxXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QsIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+OwogICAgIHVzaW5nIFZhbGlkYXRpb25IYW5kbGVy
ID0gQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXF1ZXN0T3JFcnJvciYmKT47Ci0gICAgdm9pZCBj
aGVjayhXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgVmFsaWRhdGlvbkhhbmRsZXImJik7Ci0g
ICAgdm9pZCBjaGVja1JlZGlyZWN0aW9uKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgVmFsaWRhdGlvbkhhbmRsZXImJik7CisgICAgdm9pZCBj
aGVjayhXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5
UG9saWN5Q2xpZW50KiwgVmFsaWRhdGlvbkhhbmRsZXImJik7CisgICAgdm9pZCBjaGVja1JlZGly
ZWN0aW9uKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmJiwgV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5Q2xpZW50KiwgVmFsaWRhdGlvbkhh
bmRsZXImJik7CiAgICAgdm9pZCBwcmVwYXJlUmVkaXJlY3RlZFJlcXVlc3QoV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0Jik7CiAKICAgICBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIHZhbGlkYXRlUmVz
cG9uc2UoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOwpAQCAtNzksOSArODAsOSBAQCBwcml2
YXRlOgogICAgIGJvb2wgaXNDaGVja2luZygpIGNvbnN0IHsgcmV0dXJuICEhbV9jb3JzUHJlZmxp
Z2h0Q2hlY2tlcjsgfQogICAgIGJvb2wgaXNSZWRpcmVjdGVkKCkgY29uc3QgeyByZXR1cm4gbV9y
ZWRpcmVjdENvdW50OyB9CiAKLSAgICB2b2lkIGNoZWNrUmVxdWVzdChXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmJiwgVmFsaWRhdGlvbkhhbmRsZXImJik7CisgICAgdm9pZCBjaGVja1JlcXVlc3Qo
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGlj
eUNsaWVudCosIFZhbGlkYXRpb25IYW5kbGVyJiYpOwogCi0gICAgYm9vbCBpc0FsbG93ZWRCeUNv
bnRlbnRTZWN1cml0eVBvbGljeShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKTsKKyAg
ICBib29sIGlzQWxsb3dlZEJ5Q29udGVudFNlY3VyaXR5UG9saWN5KGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYsIFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeUNsaWVudCopOwog
CiAgICAgdm9pZCBjb250aW51ZUNoZWNraW5nUmVxdWVzdChXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmJiwgVmFsaWRhdGlvbkhhbmRsZXImJik7CiAKQEAgLTEwMSwxOCArMTAyLDYgQEAgcHJpdmF0
ZToKICAgICB1c2luZyBDb250ZW50RXh0ZW5zaW9uQ2FsbGJhY2sgPSBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKENvbnRlbnRFeHRlbnNpb25SZXN1bHRPckVycm9yKT47CiAgICAgdm9pZCBwcm9jZXNz
Q29udGVudEV4dGVuc2lvblJ1bGVzRm9yTG9hZChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwg
Q29udGVudEV4dGVuc2lvbkNhbGxiYWNrJiYpOwogI2VuZGlmCi0KLSAgICAvLyBDb250ZW50U2Vj
dXJpdHlQb2xpY3lDbGllbnQKLSAgICB2b2lkIGFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiwgdW5zaWduZWQgbG9uZykgZmluYWw7Ci0g
ICAgdm9pZCBzZW5kQ1NQVmlvbGF0aW9uUmVwb3J0KFdlYkNvcmU6OlVSTCYmLCBSZWY8V2ViQ29y
ZTo6Rm9ybURhdGE+JiYpIGZpbmFsOwotICAgIHZvaWQgZW5xdWV1ZVNlY3VyaXR5UG9saWN5Vmlv
bGF0aW9uRXZlbnQoV2ViQ29yZTo6U2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudDo6SW5pdCYm
KSBmaW5hbDsKLQotICAgIC8vIFRoZSBjb25uZWN0aW9uLCB3ZWIgcGFnZSBJRCwgd2ViIGZyYW1l
IElEIGFuZCBsb2FkIGlkZW50aWZpZXIgYXJlIHVzZWQgZm9yIENTUCByZXBvcnRpbmcuCi0gICAg
UmVmPE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzPiBtX2Nvbm5lY3Rpb247Ci0gICAgdWlu
dDY0X3QgbV93ZWJQYWdlSUQ7Ci0gICAgdWludDY0X3QgbV93ZWJGcmFtZUlEOwotICAgIFJlc291
cmNlTG9hZElkZW50aWZpZXIgbV9sb2FkSWRlbnRpZmllcjsKLQogICAgIFdlYkNvcmU6OkZldGNo
T3B0aW9ucyBtX29wdGlvbnM7CiAgICAgV2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kg
bV9zdG9yZWRDcmVkZW50aWFsc1BvbGljeTsKICAgICBQQUw6OlNlc3Npb25JRCBtX3Nlc3Npb25J
RDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZGVyLmNwcAppbmRleCA5MDRkMGIxODhlNWY0ZGY1ZWU4ZjZiMjBkYzY4ZjZkNDMxODYw
Y2ViLi4yOThlZTI4YmJlNjc2MmRlNzRjZDdiZjMxMWNjZmViZmNjMTBhNjI5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwCkBAIC0xMTksNyArMTE5LDcgQEAgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpOZXR3b3JrUmVz
b3VyY2VMb2FkZXIoTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmJiBwYXIKICAgICB9CiAK
ICAgICBpZiAoc3luY2hyb25vdXNSZXBseSB8fCBwYXJhbWV0ZXJzLnNob3VsZFJlc3RyaWN0SFRU
UFJlc3BvbnNlQWNjZXNzKSB7Ci0gICAgICAgIG1fbmV0d29ya0xvYWRDaGVja2VyID0gc3RkOjpt
YWtlX3VuaXF1ZTxOZXR3b3JrTG9hZENoZWNrZXI+KG1fY29ubmVjdGlvbiwgbV9wYXJhbWV0ZXJz
LndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQsIGlkZW50aWZpZXIoKSwgRmV0Y2hP
cHRpb25zIHsgbV9wYXJhbWV0ZXJzLm9wdGlvbnMgfSwgbV9wYXJhbWV0ZXJzLnNlc3Npb25JRCwg
SFRUUEhlYWRlck1hcCB7IG1fcGFyYW1ldGVycy5vcmlnaW5hbFJlcXVlc3RIZWFkZXJzIH0sIFVS
TCB7IG1fcGFyYW1ldGVycy5yZXF1ZXN0LnVybCgpIH0sIG1fcGFyYW1ldGVycy5zb3VyY2VPcmln
aW4uY29weVJlZigpLCBtX3BhcmFtZXRlcnMucHJlZmxpZ2h0UG9saWN5LCBvcmlnaW5hbFJlcXVl
c3QoKS5odHRwUmVmZXJyZXIoKSwgc2hvdWxkQ2FwdHVyZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNz
KCkpOworICAgICAgICBtX25ldHdvcmtMb2FkQ2hlY2tlciA9IHN0ZDo6bWFrZV91bmlxdWU8TmV0
d29ya0xvYWRDaGVja2VyPihGZXRjaE9wdGlvbnMgeyBtX3BhcmFtZXRlcnMub3B0aW9ucyB9LCBt
X3BhcmFtZXRlcnMuc2Vzc2lvbklELCBIVFRQSGVhZGVyTWFwIHsgbV9wYXJhbWV0ZXJzLm9yaWdp
bmFsUmVxdWVzdEhlYWRlcnMgfSwgVVJMIHsgbV9wYXJhbWV0ZXJzLnJlcXVlc3QudXJsKCkgfSwg
bV9wYXJhbWV0ZXJzLnNvdXJjZU9yaWdpbi5jb3B5UmVmKCksIG1fcGFyYW1ldGVycy5wcmVmbGln
aHRQb2xpY3ksIG9yaWdpbmFsUmVxdWVzdCgpLmh0dHBSZWZlcnJlcigpLCBzaG91bGRDYXB0dXJl
RXh0cmFOZXR3b3JrTG9hZE1ldHJpY3MoKSk7CiAgICAgICAgIGlmIChtX3BhcmFtZXRlcnMuY3Nw
UmVzcG9uc2VIZWFkZXJzKQogICAgICAgICAgICAgbV9uZXR3b3JrTG9hZENoZWNrZXItPnNldENT
UFJlc3BvbnNlSGVhZGVycyhDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgeyBt
X3BhcmFtZXRlcnMuY3NwUmVzcG9uc2VIZWFkZXJzLnZhbHVlKCkgfSk7CiAjaWYgRU5BQkxFKENP
TlRFTlRfRVhURU5TSU9OUykKQEAgLTE4NCw3ICsxODQsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJj
ZUxvYWRlcjo6c3RhcnQoKQogICAgIG1fd2FzU3RhcnRlZCA9IHRydWU7CiAKICAgICBpZiAobV9u
ZXR3b3JrTG9hZENoZWNrZXIpIHsKLSAgICAgICAgbV9uZXR3b3JrTG9hZENoZWNrZXItPmNoZWNr
KFJlc291cmNlUmVxdWVzdCB7IG9yaWdpbmFsUmVxdWVzdCgpIH0sIFt0aGlzXSAoYXV0byYmIHJl
c3VsdCkgeworICAgICAgICBtX25ldHdvcmtMb2FkQ2hlY2tlci0+Y2hlY2soUmVzb3VyY2VSZXF1
ZXN0IHsgb3JpZ2luYWxSZXF1ZXN0KCkgfSwgdGhpcywgW3RoaXNdIChhdXRvJiYgcmVzdWx0KSB7
CiAgICAgICAgICAgICBpZiAoIXJlc3VsdC5oYXNfdmFsdWUoKSkgewogICAgICAgICAgICAgICAg
IGlmICghcmVzdWx0LmVycm9yKCkuaXNDYW5jZWxsYXRpb24oKSkKICAgICAgICAgICAgICAgICAg
ICAgdGhpcy0+ZGlkRmFpbExvYWRpbmcocmVzdWx0LmVycm9yKCkpOwpAQCAtNTgxLDcgKzU4MSw3
IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlZGlyZWN0ZWRSZXF1ZXN0
KFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsCiAKICAgICBpZiAobV9uZXR3b3JrTG9hZENoZWNr
ZXIpIHsKICAgICAgICAgbV9uZXR3b3JrTG9hZENoZWNrZXItPnN0b3JlUmVkaXJlY3Rpb25JZk5l
ZWRlZChyZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlKTsKLSAgICAgICAgbV9uZXR3b3JrTG9hZENo
ZWNrZXItPmNoZWNrUmVkaXJlY3Rpb24ocmVkaXJlY3RSZXNwb25zZSwgV1RGTW92ZShyZWRpcmVj
dFJlcXVlc3QpLCBbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCB0aGlzLCBzdG9yZWRD
cmVkZW50aWFsc1BvbGljeSA9IG1fbmV0d29ya0xvYWRDaGVja2VyLT5zdG9yZWRDcmVkZW50aWFs
c1BvbGljeSgpLCByZXF1ZXN0ID0gV1RGTW92ZShyZXF1ZXN0KSwgcmVkaXJlY3RSZXNwb25zZV0o
YXV0byYmIHJlc3VsdCkgbXV0YWJsZSB7CisgICAgICAgIG1fbmV0d29ya0xvYWRDaGVja2VyLT5j
aGVja1JlZGlyZWN0aW9uKHJlZGlyZWN0UmVzcG9uc2UsIFdURk1vdmUocmVkaXJlY3RSZXF1ZXN0
KSwgdGhpcywgW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgdGhpcywgc3RvcmVkQ3Jl
ZGVudGlhbHNQb2xpY3kgPSBtX25ldHdvcmtMb2FkQ2hlY2tlci0+c3RvcmVkQ3JlZGVudGlhbHNQ
b2xpY3koKSwgcmVxdWVzdCA9IFdURk1vdmUocmVxdWVzdCksIHJlZGlyZWN0UmVzcG9uc2VdKGF1
dG8mJiByZXN1bHQpIG11dGFibGUgewogICAgICAgICAgICAgaWYgKCFyZXN1bHQuaGFzX3ZhbHVl
KCkpIHsKICAgICAgICAgICAgICAgICBpZiAocmVzdWx0LmVycm9yKCkuaXNDYW5jZWxsYXRpb24o
KSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1BpbmdMb2FkLmNwcAppbmRleCAxMGNhMTlmZTgyY2QzM2ViYzY5OGQyNWFhYmNmZTM0OTE5
YzIwNDE2Li44NzEwY2IzZDNlNTE5YTBhYzg1YzhmNDgxMmQxNzA3MjgzY2RiMjFhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmNwcApAQCAtMzgsMTEgKzM4LDExIEBA
IG5hbWVzcGFjZSBXZWJLaXQgewogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotUGluZ0xv
YWQ6OlBpbmdMb2FkKE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiYgcGFyYW1ldGVycywg
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNvbm5lY3Rpb24sIFdURjo6Q29tcGxldGlv
bkhhbmRsZXI8dm9pZChjb25zdCBSZXNvdXJjZUVycm9yJiwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQorUGluZ0xvYWQ6OlBpbmdMb2FkKE5ldHdvcmtSZXNv
dXJjZUxvYWRQYXJhbWV0ZXJzJiYgcGFyYW1ldGVycywgV1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGNvbnN0IFJlc291cmNlRXJyb3ImLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik+JiYgY29t
cGxldGlvbkhhbmRsZXIpCiAgICAgOiBtX3BhcmFtZXRlcnMoV1RGTW92ZShwYXJhbWV0ZXJzKSkK
ICAgICAsIG1fY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpCiAg
ICAgLCBtX3RpbWVvdXRUaW1lcigqdGhpcywgJlBpbmdMb2FkOjp0aW1lb3V0VGltZXJGaXJlZCkK
LSAgICAsIG1fbmV0d29ya0xvYWRDaGVja2VyKG1ha2VVbmlxdWVSZWY8TmV0d29ya0xvYWRDaGVj
a2VyPihjb25uZWN0aW9uLCBtX3BhcmFtZXRlcnMud2ViUGFnZUlELCBtX3BhcmFtZXRlcnMud2Vi
RnJhbWVJRCwgbV9wYXJhbWV0ZXJzLmlkZW50aWZpZXIsIEZldGNoT3B0aW9ucyB7IG1fcGFyYW1l
dGVycy5vcHRpb25zfSwgbV9wYXJhbWV0ZXJzLnNlc3Npb25JRCwgV1RGTW92ZShtX3BhcmFtZXRl
cnMub3JpZ2luYWxSZXF1ZXN0SGVhZGVycyksIFVSTCB7IG1fcGFyYW1ldGVycy5yZXF1ZXN0LnVy
bCgpIH0sIG1fcGFyYW1ldGVycy5zb3VyY2VPcmlnaW4uY29weVJlZigpLCBtX3BhcmFtZXRlcnMu
cHJlZmxpZ2h0UG9saWN5LCBtX3BhcmFtZXRlcnMucmVxdWVzdC5odHRwUmVmZXJyZXIoKSkpCisg
ICAgLCBtX25ldHdvcmtMb2FkQ2hlY2tlcihtYWtlVW5pcXVlUmVmPE5ldHdvcmtMb2FkQ2hlY2tl
cj4oRmV0Y2hPcHRpb25zIHsgbV9wYXJhbWV0ZXJzLm9wdGlvbnN9LCBtX3BhcmFtZXRlcnMuc2Vz
c2lvbklELCBXVEZNb3ZlKG1fcGFyYW1ldGVycy5vcmlnaW5hbFJlcXVlc3RIZWFkZXJzKSwgVVJM
IHsgbV9wYXJhbWV0ZXJzLnJlcXVlc3QudXJsKCkgfSwgbV9wYXJhbWV0ZXJzLnNvdXJjZU9yaWdp
bi5jb3B5UmVmKCksIG1fcGFyYW1ldGVycy5wcmVmbGlnaHRQb2xpY3ksIG1fcGFyYW1ldGVycy5y
ZXF1ZXN0Lmh0dHBSZWZlcnJlcigpKSkKIHsKICAgICBtX25ldHdvcmtMb2FkQ2hlY2tlci0+ZW5h
YmxlQ29udGVudEV4dGVuc2lvbnNDaGVjaygpOwogICAgIGlmIChtX3BhcmFtZXRlcnMuY3NwUmVz
cG9uc2VIZWFkZXJzKQpAQCAtNTUsNyArNTUsNyBAQCBQaW5nTG9hZDo6UGluZ0xvYWQoTmV0d29y
a1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzLCBOZXR3b3JrQ29ubmVjdGlvbgog
ICAgIC8vIFNldCBhIHZlcnkgZ2VuZXJvdXMgdGltZW91dCwganVzdCBpbiBjYXNlLgogICAgIG1f
dGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdCg2MDAwMF9zKTsKIAotICAgIG1fbmV0d29ya0xvYWRD
aGVja2VyLT5jaGVjayhSZXNvdXJjZVJlcXVlc3QgeyBtX3BhcmFtZXRlcnMucmVxdWVzdCB9LCBb
dGhpc10gKGF1dG8mJiByZXN1bHQpIHsKKyAgICBtX25ldHdvcmtMb2FkQ2hlY2tlci0+Y2hlY2so
UmVzb3VyY2VSZXF1ZXN0IHsgbV9wYXJhbWV0ZXJzLnJlcXVlc3QgfSwgbnVsbHB0ciwgW3RoaXNd
IChhdXRvJiYgcmVzdWx0KSB7CiAgICAgICAgIGlmICghcmVzdWx0Lmhhc192YWx1ZSgpKSB7CiAg
ICAgICAgICAgICB0aGlzLT5kaWRGaW5pc2gocmVzdWx0LmVycm9yKCkpOwogICAgICAgICAgICAg
cmV0dXJuOwpAQCAtOTMsNyArOTMsNyBAQCB2b2lkIFBpbmdMb2FkOjpsb2FkUmVxdWVzdChSZXNv
dXJjZVJlcXVlc3QmJiByZXF1ZXN0KQogCiB2b2lkIFBpbmdMb2FkOjp3aWxsUGVyZm9ybUhUVFBS
ZWRpcmVjdGlvbihSZXNvdXJjZVJlc3BvbnNlJiYgcmVkaXJlY3RSZXNwb25zZSwgUmVzb3VyY2VS
ZXF1ZXN0JiYgcmVxdWVzdCwgUmVkaXJlY3RDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25I
YW5kbGVyKQogewotICAgIG1fbmV0d29ya0xvYWRDaGVja2VyLT5jaGVja1JlZGlyZWN0aW9uKHJl
ZGlyZWN0UmVzcG9uc2UsIFdURk1vdmUocmVxdWVzdCksIFt0aGlzLCBjb21wbGV0aW9uSGFuZGxl
ciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShhdXRvJiYgcmVzdWx0KSB7CisgICAgbV9u
ZXR3b3JrTG9hZENoZWNrZXItPmNoZWNrUmVkaXJlY3Rpb24ocmVkaXJlY3RSZXNwb25zZSwgV1RG
TW92ZShyZXF1ZXN0KSwgbnVsbHB0ciwgW3RoaXMsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcildKGF1dG8mJiByZXN1bHQpIHsKICAgICAgICAgaWYgKCFyZXN1
bHQuaGFzX3ZhbHVlKCkpIHsKICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHsgfSk7CiAg
ICAgICAgICAgICB0aGlzLT5kaWRGaW5pc2gocmVzdWx0LmVycm9yKCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oCmluZGV4IGI5MzgxNWEwNGJkZTNmYTg0OWVlNzhmYjE2
YzMxZWJiNTgyOGY5YzguLjAwMzFiYmQ1NzgxMjlmN2EyODRhZDJlMTlmNzc0MzhmMzA2NjRlNDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmgKQEAgLTQ1LDcgKzQ1LDcg
QEAgY2xhc3MgTmV0d29ya0xvYWRDaGVja2VyOwogCiBjbGFzcyBQaW5nTG9hZCBmaW5hbCA6IHBy
aXZhdGUgTmV0d29ya0RhdGFUYXNrQ2xpZW50IHsKIHB1YmxpYzoKLSAgICBQaW5nTG9hZChOZXR3
b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyYmLCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cyYsIFdURjo6Q29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yJiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpPiYmKTsKKyAgICBQaW5nTG9h
ZChOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlJik+JiYpOwogICAgIAogcHJpdmF0ZToKICAgICB+UGluZ0xvYWQoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>