<?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>231025</bug_id>
          
          <creation_ts>2021-09-30 09:56:06 -0700</creation_ts>
          <short_desc>Move ephemeral PCM storage from PCM manager to NetworkSession</short_desc>
          <delta_ts>2021-10-01 11:14:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>katherine_cheney</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1798905</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-09-30 09:56:06 -0700</bug_when>
    <thetext>Move ephemeral PCM storage from PCM manager to NetworkSession</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798907</commentid>
    <comment_count>1</comment_count>
      <attachid>439746</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-09-30 09:58:18 -0700</bug_when>
    <thetext>Created attachment 439746
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798950</commentid>
    <comment_count>2</comment_count>
      <attachid>439759</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-09-30 10:51:53 -0700</bug_when>
    <thetext>Created attachment 439759
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799073</commentid>
    <comment_count>3</comment_count>
      <attachid>439790</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-09-30 16:28:27 -0700</bug_when>
    <thetext>Created attachment 439790
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799386</commentid>
    <comment_count>4</comment_count>
      <attachid>439790</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-10-01 10:36:38 -0700</bug_when>
    <thetext>Comment on attachment 439790
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799409</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-01 11:13:59 -0700</bug_when>
    <thetext>Committed r283383 (242389@main): &lt;https://commits.webkit.org/242389@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 439790.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799410</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-01 11:14:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/83774185&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439746</attachid>
            <date>2021-09-30 09:58:18 -0700</date>
            <delta_ts>2021-09-30 10:51:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231025-20210930095817.patch</filename>
            <type>text/plain</type>
            <size>30990</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMjg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE4OTYzYTgyNjc1ZjdjYjg4
ZjIwNTU0ZDJjNGFjMTk1MTBiYjA3MmMuLjU0YzY0ZmU4OTIwMDM2YzEzOWFmZjg1NTAxOTE2YTQ2
MjY0MjVmNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDQgQEAKKzIwMjEtMDktMzAgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIGVwaGVt
ZXJhbCBQQ00gc3RvcmFnZSBmcm9tIFBDTSBtYW5hZ2VyIHRvIE5ldHdvcmtTZXNzaW9uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwMjUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaXRoIHRoZSBkYWVt
b24sIHdlIHdhbnQgdGhlIG5ldHdvcmsgcHJvY2VzcyB0byBoYW5nIG9uIHRvIGFuIGVwaGVtZXJh
bCBQQ00gaW5zdGVhZCBvZiB0aGUgZGFlbW9uLAorICAgICAgICB3aGljaCBpcyByZXNwb25zaWJs
ZSBmb3IgbWFueSBuZXR3b3JrIHByb2Nlc3Nlcy4gIFdoZW4gYXR0cmlidXRpb24gaGFwcGVucyB3
ZSBpbnNlcnQgdGhlIFBDTSB0aGVuCisgICAgICAgIGF0dHJpYnV0ZSBpdCBsaWtlIHdlIGRpZCBi
ZWZvcmUsIGJ1dCBmcm9tIHRoZSBOZXR3b3JrU2Vzc2lvbiBpbnN0ZWFkIG9mIGZyb20gdGhlIFBD
TSBtYW5hZ2VyLgorCisgICAgICAgIEZ1bmN0aW9uYWxpdHkgY292ZXJlZCBieSBleGlzdGluZyB0
ZXN0cy4KKyAgICAgICAgVGhpcyBqdXN0IHJlZHVjZXMgc3RhdGUgaW4gdGhlIGRhZW1vbi4gIEFs
bCB0aGUgb3RoZXIgc3RhdGUgaW4gdGhlIFBDTSBtYW5hZ2VyIGlzIG9ubHkgdXNlZCBmb3IgdGVz
dHMuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uOjpzdG9yZVByaXZhdGVDbGlja01lYXN1cmVtZW50
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb246OmhhbmRsZVByaXZhdGVDbGlja01l
YXN1cmVtZW50Q29udmVyc2lvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uOjpj
bGVhclByaXZhdGVDbGlja01lYXN1cmVtZW50KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nl
c3Npb246OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JU
ZXN0aW5nKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlj
a01lYXN1cmVtZW50TWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlByaXZhdGVDbGlja01l
YXN1cmVtZW50TWFuYWdlcjo6c3RvcmVVbmF0dHJpYnV0ZWQpOgorICAgICAgICAoV2ViS2l0OjpQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OmdldFNpZ25lZFVubGlua2FibGVUb2tlbik6
CisgICAgICAgIChXZWJLaXQ6OlByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6aW5zZXJ0
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQpOgorICAgICAgICAoV2ViS2l0OjpQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudE1hbmFnZXI6Om1pZ3JhdGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEZyb21MZWdh
Y3lTdG9yYWdlKToKKyAgICAgICAgKFdlYktpdDo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5h
Z2VyOjphdHRyaWJ1dGUpOgorICAgICAgICAoV2ViS2l0OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dE1hbmFnZXI6OmNsZWFyKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuaDoKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJl
bWVudE1hbmFnZXJJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpQQ006Om1lc3NhZ2VU
eXBlU2VuZHNSZXBseSk6CisgICAgICAgIChXZWJLaXQ6OlBDTTo6ZGVjb2RlTWVzc2FnZUFuZFNl
bmRUb01hbmFnZXIpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1
cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlckludGVyZmFjZS5oOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01l
YXN1cmVtZW50TWFuYWdlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UENNOjpNYW5hZ2Vy
UHJveHk6OnN0b3JlVW5hdHRyaWJ1dGVkKToKKyAgICAgICAgKFdlYktpdDo6UENNOjpNYW5hZ2Vy
UHJveHk6OnNldEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVzdGluZyk6IERlbGV0ZWQuCisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRNYW5hZ2VyUHJveHkuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Qcml2
YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudFN0b3JlLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UENNOjpTdG9yZTo6aW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQp
OgorICAgICAgICAoV2ViS2l0OjpQQ006OlN0b3JlOjphdHRyaWJ1dGVQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTdG9yZS5oOgorCiAyMDIxLTA5LTI5ICBGdWppaSBI
aXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtXaW5DYWlyb10g
UkVHUkVTU0lPTihyMjgwNzI2KTogcmVnaXN0cnkga2V5cyBlbmFibGluZyBHUFUgcHJvY2VzcyBt
b2RlIGRvbid0IHdvcmsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Nlc3Npb24uY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
U2Vzc2lvbi5jcHAKaW5kZXggZThiNDllZTBlNTI4NDE0MzJhY2ExZTAxYTFjYTJkNWM0NzY1NWNl
NC4uNzAyNDdmNmE1YzYyM2FlYmEyYjA0NGM0NWU3ZDg0ZTdmMjJlMWU2ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAKQEAgLTMxOCwxMSAr
MzE4LDM4IEBAIHZvaWQgTmV0d29ya1Nlc3Npb246OnJlc2V0Q05BTUVEb21haW5EYXRhKCkKIAog
dm9pZCBOZXR3b3JrU2Vzc2lvbjo6c3RvcmVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChXZWJDb3Jl
OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmIHVuYXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1
cmVtZW50KQogewotICAgIHByaXZhdGVDbGlja01lYXN1cmVtZW50KCkuc3RvcmVVbmF0dHJpYnV0
ZWQoV1RGTW92ZSh1bmF0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCkpOworICAgIGlm
IChtX2lzUnVubmluZ0VwaGVtZXJhbE1lYXN1cmVtZW50VGVzdCkKKyAgICAgICAgdW5hdHRyaWJ1
dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuc2V0RXBoZW1lcmFsKFByaXZhdGVDbGlja01lYXN1
cmVtZW50QXR0cmlidXRpb25FcGhlbWVyYWw6Olllcyk7CisgICAgaWYgKHVuYXR0cmlidXRlZFBy
aXZhdGVDbGlja01lYXN1cmVtZW50LmlzRXBoZW1lcmFsKCkpIHsKKyAgICAgICAgbV9lcGhlbWVy
YWxNZWFzdXJlbWVudCA9IFdURk1vdmUodW5hdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIHByaXZhdGVDbGlja01lYXN1cmVtZW50
KCkuc3RvcmVVbmF0dHJpYnV0ZWQoV1RGTW92ZSh1bmF0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudCksIFtdIHsgfSk7CiB9CiAKIHZvaWQgTmV0d29ya1Nlc3Npb246OmhhbmRsZVByaXZh
dGVDbGlja01lYXN1cmVtZW50Q29udmVyc2lvbihQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0
cmlidXRpb25UcmlnZ2VyRGF0YSYmIGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEsIGNvbnN0IFVSTCYg
cmVxdWVzdFVSTCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZWRpcmVjdFJlcXVl
c3QpCiB7CisgICAgaWYgKG1fZXBoZW1lcmFsTWVhc3VyZW1lbnQpIHsKKyAgICAgICAgYXV0byBl
cGhlbWVyYWxNZWFzdXJlbWVudCA9ICpzdGQ6OmV4Y2hhbmdlKG1fZXBoZW1lcmFsTWVhc3VyZW1l
bnQsIHN0ZDo6bnVsbG9wdCk7CisKKyAgICAgICAgYXV0byByZWRpcmVjdERvbWFpbiA9IFJlZ2lz
dHJhYmxlRG9tYWluKHJlZGlyZWN0UmVxdWVzdC51cmwoKSk7CisgICAgICAgIGF1dG8gZmlyc3RQ
YXJ0eUZvckNvb2tpZXMgPSByZWRpcmVjdFJlcXVlc3QuZmlyc3RQYXJ0eUZvckNvb2tpZXMoKTsK
KyAgICAgICAgCisgICAgICAgIC8vIEVwaGVtZXJhbCBtZWFzdXJlbWVudCBjYW4gb25seSBoYXZl
IG9uZSBwZW5kaW5nIGNsaWNrLgorICAgICAgICBpZiAoZXBoZW1lcmFsTWVhc3VyZW1lbnQuc291
cmNlU2l0ZSgpLnJlZ2lzdHJhYmxlRG9tYWluICE9IHJlZGlyZWN0RG9tYWluKQorICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICBpZiAoZXBoZW1lcmFsTWVhc3VyZW1lbnQuZGVzdGluYXRpb25T
aXRlKCkucmVnaXN0cmFibGVEb21haW4gIT0gUmVnaXN0cmFibGVEb21haW4oZmlyc3RQYXJ0eUZv
ckNvb2tpZXMpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIC8vIEluc2VydCBlcGhl
bWVyYWwgbWVhc3VyZW1lbnQgcmlnaHQgYmVmb3JlIGF0dHJpYnV0aW9uLgorICAgICAgICBwcml2
YXRlQ2xpY2tNZWFzdXJlbWVudCgpLnN0b3JlVW5hdHRyaWJ1dGVkKFdURk1vdmUoZXBoZW1lcmFs
TWVhc3VyZW1lbnQpLCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIGF0dHJp
YnV0aW9uVHJpZ2dlckRhdGEgPSBXVEZNb3ZlKGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEpLCByZXF1
ZXN0VVJMLCByZWRpcmVjdERvbWFpbiA9IFdURk1vdmUocmVkaXJlY3REb21haW4pLCBmaXJzdFBh
cnR5Rm9yQ29va2llcyA9IFdURk1vdmUoZmlyc3RQYXJ0eUZvckNvb2tpZXMpXSAoKSBtdXRhYmxl
IHsKKyAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICAgICAgcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoKS5oYW5kbGVBdHRyaWJ1dGlvbihX
VEZNb3ZlKGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEpLCByZXF1ZXN0VVJMLCBXVEZNb3ZlKHJlZGly
ZWN0RG9tYWluKSwgZmlyc3RQYXJ0eUZvckNvb2tpZXMpOworICAgICAgICB9KTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKwogICAgIHByaXZhdGVDbGlja01lYXN1cmVtZW50KCkuaGFuZGxlQXR0
cmlidXRpb24oV1RGTW92ZShhdHRyaWJ1dGlvblRyaWdnZXJEYXRhKSwgcmVxdWVzdFVSTCwgUmVn
aXN0cmFibGVEb21haW4ocmVkaXJlY3RSZXF1ZXN0LnVybCgpKSwgcmVkaXJlY3RSZXF1ZXN0LmZp
cnN0UGFydHlGb3JDb29raWVzKCkpOwogfQogCkBAIC0zMzQsNiArMzYxLDggQEAgdm9pZCBOZXR3
b3JrU2Vzc2lvbjo6ZHVtcFByaXZhdGVDbGlja01lYXN1cmVtZW50KENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoU3RyaW5nKT4KIHZvaWQgTmV0d29ya1Nlc3Npb246OmNsZWFyUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQog
ewogICAgIHByaXZhdGVDbGlja01lYXN1cmVtZW50KCkuY2xlYXIoV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlcikpOworICAgIG1fZXBoZW1lcmFsTWVhc3VyZW1lbnQgPSBzdGQ6Om51bGxvcHQ7Cisg
ICAgbV9pc1J1bm5pbmdFcGhlbWVyYWxNZWFzdXJlbWVudFRlc3QgPSBmYWxzZTsKIH0KIAogdm9p
ZCBOZXR3b3JrU2Vzc2lvbjo6Y2xlYXJQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEZvclJlZ2lzdHJh
YmxlRG9tYWluKFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiYgZG9tYWluLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCkBAIC0zNzMsNyArNDAyLDcgQEAg
dm9pZCBOZXR3b3JrU2Vzc2lvbjo6bWFya1ByaXZhdGVDbGlja01lYXN1cmVtZW50c0FzRXhwaXJl
ZEZvclRlc3RpbmcoKQogCiB2b2lkIE5ldHdvcmtTZXNzaW9uOjpzZXRQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVzdGluZyhib29sIHZhbHVlKQogewotICAg
IHByaXZhdGVDbGlja01lYXN1cmVtZW50KCkuc2V0RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JUZXN0
aW5nKHZhbHVlKTsKKyAgICBtX2lzUnVubmluZ0VwaGVtZXJhbE1lYXN1cmVtZW50VGVzdCA9IHZh
bHVlOwogfQogCiAvLyBGSVhNRTogU3dpdGNoIHRvIG5vbi1tb2NrZWQgdGVzdCBkYXRhIG9uY2Ug
dGhlIHJpZ2h0IGNyeXB0b2dyYXBoeSBsaWJyYXJ5IGlzIGF2YWlsYWJsZSBpbiBvcGVuIHNvdXJj
ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Np
b24uaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uaAppbmRl
eCA1ZWNlMTQ0Y2ZjYmI5NTE2OTc4NGQ0YzhlNzI3NGFiZDdiZGJlOTEyLi4xYmFjZjM1N2YyNmI1
ZTkxYmExNDZlMTczMTEyNTVjMWQ1MzQxYTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5oCkBAIC0yMTMsNiArMjEzLDggQEAgcHJvdGVjdGVkOgog
I2VuZGlmCiAgICAgYm9vbCBtX2lzU3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkIHsgZmFsc2Ug
fTsKICAgICBVbmlxdWVSZWY8UENNOjpNYW5hZ2VySW50ZXJmYWNlPiBtX3ByaXZhdGVDbGlja01l
YXN1cmVtZW50OworICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQ+IG1fZXBoZW1lcmFsTWVhc3VyZW1lbnQ7CisgICAgYm9vbCBtX2lzUnVubmluZ0VwaGVt
ZXJhbE1lYXN1cmVtZW50VGVzdCB7IGZhbHNlIH07CiAKICAgICBIYXNoU2V0PFJlZjxOZXR3b3Jr
UmVzb3VyY2VMb2FkZXI+PiBtX2tlcHRBbGl2ZUxvYWRzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlj
a01lYXN1cmVtZW50TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1By
aXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5jcHAK
aW5kZXggZjQ5OTgzOThlOGMxYjNiZDIyOGVjYWU2NDI0ZTZhNTYwYjk1YThiOS4uMmE2MTE0M2Jj
ZjA0MmRkYmZjYTA5MzczYzM3ZWRmZjRjOTQ5MDI3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFz
dXJlbWVudE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcApA
QCAtNzAsMTAgKzcwLDEwIEBAIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6flByaXZh
dGVDbGlja01lYXN1cmVtZW50TWFuYWdlcigpCiAgICAgICAgIG1fc3RvcmUtPmNsb3NlKFtdIHsg
fSk7CiB9CiAKLXZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpzdG9yZVVuYXR0
cmlidXRlZChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmIG1lYXN1cmVtZW50KQordm9pZCBQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OnN0b3JlVW5hdHRyaWJ1dGVkKFByaXZhdGVDbGlj
a01lYXN1cmVtZW50JiYgbWVhc3VyZW1lbnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBpZiAoIWZlYXR1cmVFbmFibGVkKCkpCi0gICAgICAg
IHJldHVybjsKKyAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAKICAgICBjbGVh
ckV4cGlyZWQoKTsKIApAQCAtMTA2LDcgKzEwNiw3IEBAIHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRNYW5hZ2VyOjpzdG9yZVVuYXR0cmlidXRlZChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYm
CiAKICAgICBtX2NsaWVudC0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UoTWVzc2FnZUxldmVsOjpM
b2csICJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gU3RvcmluZyBhIGNsaWNrLiJfcyk7CiAK
LSAgICBpbnNlcnRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChXVEZNb3ZlKG1lYXN1cmVtZW50KSwg
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblR5cGU6OlVuYXR0cmlidXRlZCk7Cisg
ICAgaW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoV1RGTW92ZShtZWFzdXJlbWVudCksIFBy
aXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25UeXBlOjpVbmF0dHJpYnV0ZWQsIFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAogdm9pZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dE1hbmFnZXI6OmdldFRva2VuUHVibGljS2V5KFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYgYXR0
cmlidXRpb24sIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblJlcG9ydEVuZHBv
aW50IGF0dHJpYnV0aW9uUmVwb3J0RW5kcG9pbnQsIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQ
Y21EYXRhQ2FycmllZCBwY21EYXRhQ2FycmllZCwgRnVuY3Rpb248dm9pZChQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudCYmIGF0dHJpYnV0aW9uLCBjb25zdCBTdHJpbmcmIHB1YmxpY0tleUJhc2U2NFVS
TCk+JiYgY2FsbGJhY2spCkBAIC0yMDksMjUgKzIwOSwxOSBAQCB2b2lkIFByaXZhdGVDbGlja01l
YXN1cmVtZW50TWFuYWdlcjo6Z2V0U2lnbmVkVW5saW5rYWJsZVRva2VuKFByaXZhdGVDbGlja01l
YXN1cgogCiAgICAgICAgIG1fY2xpZW50LT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShNZXNzYWdl
TGV2ZWw6OkxvZywgIltQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50XSBTdG9yaW5nIGEgc2VjcmV0
IHRva2VuLiJfcyk7CiAKLSAgICAgICAgaW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoV1RG
TW92ZShtZWFzdXJlbWVudCksIFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25UeXBl
OjpVbmF0dHJpYnV0ZWQpOworICAgICAgICBpbnNlcnRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChX
VEZNb3ZlKG1lYXN1cmVtZW50KSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblR5
cGU6OlVuYXR0cmlidXRlZCwgW10geyB9KTsKICAgICB9KTsKIAogfQogCi12b2lkIFByaXZhdGVD
bGlja01lYXN1cmVtZW50TWFuYWdlcjo6aW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiBtZWFzdXJlbWVudCwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRBdHRyaWJ1dGlvblR5cGUgdHlwZSkKK3ZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5h
Z2VyOjppbnNlcnRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dCYmIG1lYXN1cmVtZW50LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uVHlwZSB0
eXBlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0g
ICAgaWYgKG1faXNSdW5uaW5nRXBoZW1lcmFsTWVhc3VyZW1lbnRUZXN0KQotICAgICAgICBtZWFz
dXJlbWVudC5zZXRFcGhlbWVyYWwoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvbkVw
aGVtZXJhbDo6WWVzKTsKLSAgICBpZiAobWVhc3VyZW1lbnQuaXNFcGhlbWVyYWwoKSkgewotICAg
ICAgICBtX2VwaGVtZXJhbE1lYXN1cmVtZW50ID0gV1RGTW92ZShtZWFzdXJlbWVudCk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0gICAgc3RvcmUoKS5pbnNlcnRQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudChXVEZNb3ZlKG1lYXN1cmVtZW50KSwgdHlwZSk7CisgICAgc3RvcmUoKS5pbnNlcnRQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudChXVEZNb3ZlKG1lYXN1cmVtZW50KSwgdHlwZSwgV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcikpOwogfQogCiB2b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFu
YWdlcjo6bWlncmF0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50RnJvbUxlZ2FjeVN0b3JhZ2UoUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiBtZWFzdXJlbWVudCwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRBdHRyaWJ1dGlvblR5cGUgdHlwZSkKIHsKLSAgICBzdG9yZSgpLmluc2VydFByaXZhdGVDbGlj
a01lYXN1cmVtZW50KFdURk1vdmUobWVhc3VyZW1lbnQpLCB0eXBlKTsKKyAgICBzdG9yZSgpLmlu
c2VydFByaXZhdGVDbGlja01lYXN1cmVtZW50KFdURk1vdmUobWVhc3VyZW1lbnQpLCB0eXBlLCBb
XSB7IH0pOwogfQogCiB2b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6aGFuZGxl
QXR0cmlidXRpb24oQXR0cmlidXRpb25UcmlnZ2VyRGF0YSYmIGF0dHJpYnV0aW9uVHJpZ2dlckRh
dGEsIGNvbnN0IFVSTCYgcmVxdWVzdFVSTCwgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mJiBy
ZWRpcmVjdERvbWFpbiwgY29uc3QgVVJMJiBmaXJzdFBhcnR5VVJMKQpAQCAtMjY0LDE2ICsyNTgs
OCBAQCB2b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6YXR0cmlidXRlKGNvbnN0
IFNvdXJjZVNpdGUmIHNvdXJjZVNpdGUsIGNvbgogewogICAgIGlmICghZmVhdHVyZUVuYWJsZWQo
KSkKICAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKG1fZXBoZW1lcmFsTWVhc3VyZW1lbnQpIHsK
LSAgICAgICAgLy8gRXBoZW1lcmFsIG1lYXN1cmVtZW50IGNhbiBvbmx5IGhhdmUgb25lIHBlbmRp
bmcgY2xpY2suCi0gICAgICAgIGlmIChtX2VwaGVtZXJhbE1lYXN1cmVtZW50LT5zb3VyY2VTaXRl
KCkgIT0gc291cmNlU2l0ZSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKG1fZXBo
ZW1lcmFsTWVhc3VyZW1lbnQtPmRlc3RpbmF0aW9uU2l0ZSgpICE9IGRlc3RpbmF0aW9uU2l0ZSkK
LSAgICAgICAgICAgIHJldHVybjsKLSAgICB9CiAgICAgICAgIAotICAgIHN0b3JlKCkuYXR0cmli
dXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoc291cmNlU2l0ZSwgZGVzdGluYXRpb25TaXRlLCBX
VEZNb3ZlKGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEpLCBzdGQ6OmV4Y2hhbmdlKG1fZXBoZW1lcmFs
TWVhc3VyZW1lbnQsIHN0ZDo6bnVsbG9wdCksIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRy
KCp0aGlzKV0gKGF1dG8gYXR0cmlidXRpb25TZWNvbmRzVW50aWxTZW5kRGF0YSwgYXV0byBkZWJ1
Z0luZm8pIHsKKyAgICBzdG9yZSgpLmF0dHJpYnV0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50KHNv
dXJjZVNpdGUsIGRlc3RpbmF0aW9uU2l0ZSwgV1RGTW92ZShhdHRyaWJ1dGlvblRyaWdnZXJEYXRh
KSwgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpXSAoYXV0byBhdHRyaWJ1dGlv
blNlY29uZHNVbnRpbFNlbmREYXRhLCBhdXRvIGRlYnVnSW5mbykgewogICAgICAgICBpZiAoIXdl
YWtUaGlzKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAKQEAgLTQzNCw4ICs0MjAsNiBA
QCB2b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6ZmlyZVBlbmRpbmdBdHRyaWJ1
dGlvblJlcXVlc3RzKCkKIHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpjbGVh
cihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAg
bV9maXJlUGVuZGluZ0F0dHJpYnV0aW9uUmVxdWVzdHNUaW1lci5zdG9wKCk7Ci0gICAgbV9lcGhl
bWVyYWxNZWFzdXJlbWVudCA9IHN0ZDo6bnVsbG9wdDsKLSAgICBtX2lzUnVubmluZ0VwaGVtZXJh
bE1lYXN1cmVtZW50VGVzdCA9IGZhbHNlOwogCiAgICAgaWYgKCFmZWF0dXJlRW5hYmxlZCgpKQog
ICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZh
dGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5oCmluZGV4
IGJjNWJjOWU3NGFjMDgzMWFkN2NiOTAxNzZiYTEwOTU2MGNiMTk5YmMuLmZjMTk0OTcxNjJhMTQ1
MjdmMThlNzQ3Mzg0MjVkZTk4MTAzNWJjNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuaApAQCAtNDUsNyAr
NDUsNyBAQCBwdWJsaWM6CiAgICAgZXhwbGljaXQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5h
Z2VyKFVuaXF1ZVJlZjxQQ006OkNsaWVudD4mJiwgY29uc3QgU3RyaW5nJiBzdG9yYWdlRGlyZWN0
b3J5KTsKICAgICB+UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyKCk7CiAKLSAgICB2b2lk
IHN0b3JlVW5hdHRyaWJ1dGVkKFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYpIGZpbmFsOworICAg
IHZvaWQgc3RvcmVVbmF0dHJpYnV0ZWQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZCgpPiYmKSBmaW5hbDsKICAgICB2b2lkIGhhbmRsZUF0dHJpYnV0aW9u
KEF0dHJpYnV0aW9uVHJpZ2dlckRhdGEmJiwgY29uc3QgVVJMJiByZXF1ZXN0VVJMLCBXZWJDb3Jl
OjpSZWdpc3RyYWJsZURvbWFpbiYmIHJlZGlyZWN0RG9tYWluLCBjb25zdCBVUkwmIGZpcnN0UGFy
dHlVUkwpIGZpbmFsOwogICAgIHZvaWQgY2xlYXIoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KSBmaW5hbDsKICAgICB2b2lkIGNsZWFyRm9yUmVnaXN0cmFibGVEb21haW4oY29uc3QgUmVnaXN0
cmFibGVEb21haW4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpIGZpbmFsOwpAQCAtNTgs
NyArNTgsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JU
ZXN0aW5nKFVSTCYmIHNvdXJjZVVSTCwgVVJMJiYgZGVzdGluYXRpb25VUkwpIGZpbmFsOwogICAg
IHZvaWQgbWFya0FsbFVuYXR0cmlidXRlZEFzRXhwaXJlZEZvclRlc3RpbmcoKSBmaW5hbDsKICAg
ICB2b2lkIG1hcmtBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9y
VGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpIGZpbmFsOwotICAgIHZvaWQgc2V0
RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JUZXN0aW5nKGJvb2wgdmFsdWUpIGZpbmFsIHsgbV9pc1J1
bm5pbmdFcGhlbWVyYWxNZWFzdXJlbWVudFRlc3QgPSB2YWx1ZTsgfQogICAgIHZvaWQgc2V0UENN
RnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZyhTdHJpbmcmJiB1bmxpbmthYmxlVG9rZW4s
IFN0cmluZyYmIHNlY3JldFRva2VuLCBTdHJpbmcmJiBzaWduYXR1cmUsIFN0cmluZyYmIGtleUlE
KSBmaW5hbDsKICAgICB2b2lkIHN0YXJ0VGltZXJJbW1lZGlhdGVseUZvclRlc3RpbmcoKSBmaW5h
bDsKICAgICB2b2lkIGRlc3Ryb3lTdG9yZUZvclRlc3RpbmcoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKSBmaW5hbDsKQEAgLTcwLDcgKzY5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHN0YXJ0
VGltZXIoU2Vjb25kcyk7CiAgICAgdm9pZCBnZXRUb2tlblB1YmxpY0tleShQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudCYmLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25SZXBvcnRF
bmRwb2ludCwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlBjbURhdGFDYXJyaWVkLCBGdW5jdGlv
bjx2b2lkKFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYgYXR0cmlidXRpb24sIGNvbnN0IFN0cmlu
ZyYgcHVibGljS2V5QmFzZTY0VVJMKT4mJik7CiAgICAgdm9pZCBnZXRTaWduZWRVbmxpbmthYmxl
VG9rZW4oUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJik7Ci0gICAgdm9pZCBpbnNlcnRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmLCBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudEF0dHJpYnV0aW9uVHlwZSk7CisgICAgdm9pZCBpbnNlcnRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmLCBQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudEF0dHJpYnV0aW9uVHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2
b2lkIGNsZWFyU2VudEF0dHJpYnV0aW9uKFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYsIFByaXZh
dGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblJlcG9ydEVuZHBvaW50KTsKICAgICB2b2lk
IGF0dHJpYnV0ZShjb25zdCBTb3VyY2VTaXRlJiwgY29uc3QgQXR0cmlidXRpb25EZXN0aW5hdGlv
blNpdGUmLCBBdHRyaWJ1dGlvblRyaWdnZXJEYXRhJiYpOwogICAgIHZvaWQgZmlyZUNvbnZlcnNp
b25SZXF1ZXN0KGNvbnN0IFByaXZhdGVDbGlja01lYXN1cmVtZW50JiwgUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQ6OkF0dHJpYnV0aW9uUmVwb3J0RW5kcG9pbnQpOwpAQCAtODAsMTAgKzc5LDggQEAg
cHJpdmF0ZToKICAgICBib29sIGZlYXR1cmVFbmFibGVkKCkgY29uc3Q7CiAgICAgYm9vbCBkZWJ1
Z01vZGVFbmFibGVkKCkgY29uc3Q7CiAKLSAgICBzdGQ6Om9wdGlvbmFsPFByaXZhdGVDbGlja01l
YXN1cmVtZW50PiBtX2VwaGVtZXJhbE1lYXN1cmVtZW50OwogICAgIFdlYkNvcmU6OlRpbWVyIG1f
ZmlyZVBlbmRpbmdBdHRyaWJ1dGlvblJlcXVlc3RzVGltZXI7CiAgICAgYm9vbCBtX2lzUnVubmlu
Z1Rlc3QgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9pc1J1bm5pbmdFcGhlbWVyYWxNZWFzdXJlbWVu
dFRlc3QgeyBmYWxzZSB9OwogICAgIHN0ZDo6b3B0aW9uYWw8VVJMPiBtX3Rva2VuUHVibGljS2V5
VVJMRm9yVGVzdGluZzsKICAgICBzdGQ6Om9wdGlvbmFsPFVSTD4gbV90b2tlblNpZ25hdHVyZVVS
TEZvclRlc3Rpbmc7CiAgICAgbXV0YWJsZSBSZWZQdHI8UENNOjpTdG9yZT4gbV9zdG9yZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VySW50ZXJmYWNlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRNYW5hZ2VySW50ZXJmYWNlLmNwcAppbmRleCA2N2E0NjkzMTNjYzgyY2Jm
ZmE0NjQxYjA4NGFlZDlhYTcwMjI3MmM1Li40YmFlMDcyMGQ1ZGE5NDJjNjk4NTNmMGMxYjIzNmVj
MGY4MjY5MWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZh
dGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlckludGVyZmFj
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFz
dXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXJJbnRlcmZhY2UuY3BwCkBAIC00
OCw2ICs0OCw3IEBAIG5hbWVzcGFjZSBNZXNzYWdlSW5mbyB7CiAKIEZVTkNUSU9OKHN0b3JlVW5h
dHRyaWJ1dGVkKQogQVJHVU1FTlRTKFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50KQor
UkVQTFkoKQogRU5ECiAKIEZVTkNUSU9OKGhhbmRsZUF0dHJpYnV0aW9uKQpAQCAtOTgsMTAgKzk5
LDYgQEAgQVJHVU1FTlRTKCkKIFJFUExZKCkKIEVORAogCi1GVU5DVElPTihzZXRFcGhlbWVyYWxN
ZWFzdXJlbWVudEZvclRlc3RpbmcpCi1BUkdVTUVOVFMoYm9vbCkKLUVORAotCiBGVU5DVElPTihz
ZXRQQ01GcmF1ZFByZXZlbnRpb25WYWx1ZXNGb3JUZXN0aW5nKQogQVJHVU1FTlRTKFN0cmluZywg
U3RyaW5nLCBTdHJpbmcsIFN0cmluZykKIEVORApAQCAtMTI5LDYgKzEyNiw3IEBAIEVNUFRZX1JF
UExZKGNsZWFyKTsKIEVNUFRZX1JFUExZKGNsZWFyRm9yUmVnaXN0cmFibGVEb21haW4pOwogRU1Q
VFlfUkVQTFkobWFya0F0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRG
b3JUZXN0aW5nKTsKIEVNUFRZX1JFUExZKGRlc3Ryb3lTdG9yZUZvclRlc3RpbmcpOworRU1QVFlf
UkVQTFkoc3RvcmVVbmF0dHJpYnV0ZWQpOwogI3VuZGVmIEVNUFRZX1JFUExZCiAKIFBDTTo6RW5j
b2RlZE1lc3NhZ2UgdG9TdHJpbmdGb3JUZXN0aW5nOjplbmNvZGVSZXBseShTdHJpbmcgcmVwbHkp
CkBAIC0xNDMsNyArMTQxLDYgQEAgUENNOjpFbmNvZGVkTWVzc2FnZSB0b1N0cmluZ0ZvclRlc3Rp
bmc6OmVuY29kZVJlcGx5KFN0cmluZyByZXBseSkKIGJvb2wgbWVzc2FnZVR5cGVTZW5kc1JlcGx5
KE1lc3NhZ2VUeXBlIG1lc3NhZ2VUeXBlKQogewogICAgIHN3aXRjaCAobWVzc2FnZVR5cGUpIHsK
LSAgICBjYXNlIE1lc3NhZ2VUeXBlOjpTdG9yZVVuYXR0cmlidXRlZDoKICAgICBjYXNlIE1lc3Nh
Z2VUeXBlOjpIYW5kbGVBdHRyaWJ1dGlvbjoKICAgICBjYXNlIE1lc3NhZ2VUeXBlOjpNaWdyYXRl
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRGcm9tTGVnYWN5U3RvcmFnZToKICAgICBjYXNlIE1lc3Nh
Z2VUeXBlOjpTZXRPdmVycmlkZVRpbWVyRm9yVGVzdGluZzoKQEAgLTE1MSwxMSArMTQ4LDExIEBA
IGJvb2wgbWVzc2FnZVR5cGVTZW5kc1JlcGx5KE1lc3NhZ2VUeXBlIG1lc3NhZ2VUeXBlKQogICAg
IGNhc2UgTWVzc2FnZVR5cGU6OlNldFRva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGluZzoKICAgICBj
YXNlIE1lc3NhZ2VUeXBlOjpTZXRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nOgogICAg
IGNhc2UgTWVzc2FnZVR5cGU6Ok1hcmtBbGxVbmF0dHJpYnV0ZWRBc0V4cGlyZWRGb3JUZXN0aW5n
OgotICAgIGNhc2UgTWVzc2FnZVR5cGU6OlNldEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVzdGlu
ZzoKICAgICBjYXNlIE1lc3NhZ2VUeXBlOjpTZXRQQ01GcmF1ZFByZXZlbnRpb25WYWx1ZXNGb3JU
ZXN0aW5nOgogICAgIGNhc2UgTWVzc2FnZVR5cGU6OlN0YXJ0VGltZXJJbW1lZGlhdGVseUZvclRl
c3Rpbmc6CiAgICAgY2FzZSBNZXNzYWdlVHlwZTo6QWxsb3dUTFNDZXJ0aWZpY2F0ZUNoYWluRm9y
TG9jYWxQQ01UZXN0aW5nOgogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgY2FzZSBNZXNzYWdl
VHlwZTo6U3RvcmVVbmF0dHJpYnV0ZWQ6CiAgICAgY2FzZSBNZXNzYWdlVHlwZTo6TWFya0F0dHJp
YnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nOgogICAgIGNh
c2UgTWVzc2FnZVR5cGU6OkRlc3Ryb3lTdG9yZUZvclRlc3Rpbmc6CiAgICAgY2FzZSBNZXNzYWdl
VHlwZTo6VG9TdHJpbmdGb3JUZXN0aW5nOgpAQCAtMjIwLDcgKzIxNyw3IEBAIHZvaWQgZGVjb2Rl
TWVzc2FnZUFuZFNlbmRUb01hbmFnZXIoTWVzc2FnZVR5cGUgbWVzc2FnZVR5cGUsIFZlY3Rvcjx1
aW50OF90PiYmIGVuCiAgICAgQVNTRVJUKG1lc3NhZ2VUeXBlU2VuZHNSZXBseShtZXNzYWdlVHlw
ZSkgPT0gISFyZXBseVNlbmRlcik7CiAgICAgc3dpdGNoIChtZXNzYWdlVHlwZSkgewogICAgIGNh
c2UgUENNOjpNZXNzYWdlVHlwZTo6U3RvcmVVbmF0dHJpYnV0ZWQ6Ci0gICAgICAgIGhhbmRsZVBD
TU1lc3NhZ2U8TWVzc2FnZUluZm86OnN0b3JlVW5hdHRyaWJ1dGVkPihXVEZNb3ZlKGVuY29kZWRN
ZXNzYWdlKSk7CisgICAgICAgIGhhbmRsZVBDTU1lc3NhZ2VXaXRoUmVwbHk8TWVzc2FnZUluZm86
OnN0b3JlVW5hdHRyaWJ1dGVkPihXVEZNb3ZlKGVuY29kZWRNZXNzYWdlKSwgV1RGTW92ZShyZXBs
eVNlbmRlcikpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBDTTo6TWVzc2FnZVR5cGU6Okhh
bmRsZUF0dHJpYnV0aW9uOgogICAgICAgICBoYW5kbGVQQ01NZXNzYWdlPE1lc3NhZ2VJbmZvOjpo
YW5kbGVBdHRyaWJ1dGlvbj4oV1RGTW92ZShlbmNvZGVkTWVzc2FnZSkpOwpAQCAtMjU1LDkgKzI1
Miw2IEBAIHZvaWQgZGVjb2RlTWVzc2FnZUFuZFNlbmRUb01hbmFnZXIoTWVzc2FnZVR5cGUgbWVz
c2FnZVR5cGUsIFZlY3Rvcjx1aW50OF90PiYmIGVuCiAgICAgY2FzZSBQQ006Ok1lc3NhZ2VUeXBl
OjpNYXJrQXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3Rp
bmc6CiAgICAgICAgIGhhbmRsZVBDTU1lc3NhZ2VXaXRoUmVwbHk8TWVzc2FnZUluZm86Om1hcmtB
dHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZz4oV1RG
TW92ZShlbmNvZGVkTWVzc2FnZSksIFdURk1vdmUocmVwbHlTZW5kZXIpKTsKICAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBQQ006Ok1lc3NhZ2VUeXBlOjpTZXRFcGhlbWVyYWxNZWFzdXJlbWVudEZv
clRlc3Rpbmc6Ci0gICAgICAgIGhhbmRsZVBDTU1lc3NhZ2U8TWVzc2FnZUluZm86OnNldEVwaGVt
ZXJhbE1lYXN1cmVtZW50Rm9yVGVzdGluZz4oV1RGTW92ZShlbmNvZGVkTWVzc2FnZSkpOwotICAg
ICAgICBicmVhazsKICAgICBjYXNlIFBDTTo6TWVzc2FnZVR5cGU6OlNldFBDTUZyYXVkUHJldmVu
dGlvblZhbHVlc0ZvclRlc3Rpbmc6CiAgICAgICAgIGhhbmRsZVBDTU1lc3NhZ2U8TWVzc2FnZUlu
Zm86OnNldFBDTUZyYXVkUHJldmVudGlvblZhbHVlc0ZvclRlc3Rpbmc+KFdURk1vdmUoZW5jb2Rl
ZE1lc3NhZ2UpKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVt
ZW50TWFuYWdlckludGVyZmFjZS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2
YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXJJbnRlcmZh
Y2UuaAppbmRleCA1Y2Y0ZTNkZTIxZDBjYzM5OWMyM2FkMDkwN2EzM2Q4ZWVmMDdiNWE1Li42MjFm
OTdlNWU1Y2ZiN2FiMzg4NmEzMjZiZWMzNGM0OGYwYWM4MDM1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlj
a01lYXN1cmVtZW50TWFuYWdlckludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRN
YW5hZ2VySW50ZXJmYWNlLmgKQEAgLTUxLDcgKzUxLDcgQEAgcHVibGljOgogICAgIHVzaW5nIFJl
Z2lzdHJhYmxlRG9tYWluID0gV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW47CiAgICAgdXNpbmcg
U291cmNlU2l0ZSA9IFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRl
OwogCi0gICAgdmlydHVhbCB2b2lkIHN0b3JlVW5hdHRyaWJ1dGVkKFByaXZhdGVDbGlja01lYXN1
cmVtZW50JiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc3RvcmVVbmF0dHJpYnV0ZWQoUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIGhhbmRsZUF0dHJpYnV0aW9uKEF0dHJpYnV0aW9uVHJpZ2dlckRhdGEm
JiwgY29uc3QgVVJMJiByZXF1ZXN0VVJMLCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYmIHJl
ZGlyZWN0RG9tYWluLCBjb25zdCBVUkwmIGZpcnN0UGFydHlVUkwpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgY2xlYXIoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIGNsZWFyRm9yUmVnaXN0cmFibGVEb21haW4oY29uc3QgUmVnaXN0cmFibGVEb21haW4m
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpID0gMDsKQEAgLTY0LDcgKzY0LDYgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5n
KFVSTCYmIHNvdXJjZVVSTCwgVVJMJiYgZGVzdGluYXRpb25VUkwpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgbWFya0FsbFVuYXR0cmlidXRlZEFzRXhwaXJlZEZvclRlc3RpbmcoKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIG1hcmtBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBp
cmVkRm9yVGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpID0gMDsKLSAgICB2aXJ0
dWFsIHZvaWQgc2V0RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JUZXN0aW5nKGJvb2wpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0UENNRnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZyhTdHJp
bmcmJiB1bmxpbmthYmxlVG9rZW4sIFN0cmluZyYmIHNlY3JldFRva2VuLCBTdHJpbmcmJiBzaWdu
YXR1cmUsIFN0cmluZyYmIGtleUlEKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0VGltZXJJ
bW1lZGlhdGVseUZvclRlc3RpbmcoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRlc3Ryb3lTdG9y
ZUZvclRlc3RpbmcoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSA9IDA7CkBAIC04OCw3ICs4
Nyw2IEBAIGVudW0gY2xhc3MgTWVzc2FnZVR5cGUgOiB1aW50OF90IHsKICAgICBTZXRBdHRyaWJ1
dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nLAogICAgIE1hcmtBbGxVbmF0dHJpYnV0ZWRBc0V4cGly
ZWRGb3JUZXN0aW5nLAogICAgIE1hcmtBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRz
QXNFeHBpcmVkRm9yVGVzdGluZywKLSAgICBTZXRFcGhlbWVyYWxNZWFzdXJlbWVudEZvclRlc3Rp
bmcsCiAgICAgU2V0UENNRnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZywKICAgICBTdGFy
dFRpbWVySW1tZWRpYXRlbHlGb3JUZXN0aW5nLAogICAgIERlc3Ryb3lTdG9yZUZvclRlc3Rpbmcs
CkBAIC0xMjQsNyArMTIyLDYgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJLaXQ6
OlBDTTo6TWVzc2FnZVR5cGU+IHsKICAgICAgICAgV2ViS2l0OjpQQ006Ok1lc3NhZ2VUeXBlOjpT
ZXRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nLAogICAgICAgICBXZWJLaXQ6OlBDTTo6
TWVzc2FnZVR5cGU6Ok1hcmtBbGxVbmF0dHJpYnV0ZWRBc0V4cGlyZWRGb3JUZXN0aW5nLAogICAg
ICAgICBXZWJLaXQ6OlBDTTo6TWVzc2FnZVR5cGU6Ok1hcmtBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZywKLSAgICAgICAgV2ViS2l0OjpQQ006Ok1l
c3NhZ2VUeXBlOjpTZXRFcGhlbWVyYWxNZWFzdXJlbWVudEZvclRlc3RpbmcsCiAgICAgICAgIFdl
YktpdDo6UENNOjpNZXNzYWdlVHlwZTo6U2V0UENNRnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVz
dGluZywKICAgICAgICAgV2ViS2l0OjpQQ006Ok1lc3NhZ2VUeXBlOjpTdGFydFRpbWVySW1tZWRp
YXRlbHlGb3JUZXN0aW5nLAogICAgICAgICBXZWJLaXQ6OlBDTTo6TWVzc2FnZVR5cGU6OkRlc3Ry
b3lTdG9yZUZvclRlc3RpbmcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdl
clByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyUHJveHkuY3BwCmluZGV4IDk3
ZWY2ZWU2NzJkNGI4ZGE2MDUzYmNjNzQyMzM4NWNmMGQ3OGJlMWIuLmJlYzVhODEwMmI0MGJjZTRh
NTNlNDczYTAwMTIwMDNiOTFhZGQ3ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRN
YW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyUHJveHkuY3Bw
CkBAIC03NSw5ICs3NSw5IEBAIHZvaWQgTWFuYWdlclByb3h5OjpzZW5kTWVzc2FnZVdpdGhSZXBs
eShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlcGx5QXJncy4uLik+JiYKIE1hbmFnZXJQcm94eTo6
TWFuYWdlclByb3h5KGNvbnN0IFN0cmluZyYgbWFjaFNlcnZpY2VOYW1lKQogICAgIDogbV9jb25u
ZWN0aW9uKG1hY2hTZXJ2aWNlTmFtZS51dGY4KCkpIHsgfQogCi12b2lkIE1hbmFnZXJQcm94eTo6
c3RvcmVVbmF0dHJpYnV0ZWQoV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiBwY20p
Cit2b2lkIE1hbmFnZXJQcm94eTo6c3RvcmVVbmF0dHJpYnV0ZWQoV2ViQ29yZTo6UHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQmJiBwY20sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKIHsKLSAgICBzZW5kTWVzc2FnZTxNZXNzYWdlVHlwZTo6U3RvcmVVbmF0dHJp
YnV0ZWQ+KHBjbSk7CisgICAgc2VuZE1lc3NhZ2VXaXRoUmVwbHk8TWVzc2FnZVR5cGU6OlN0b3Jl
VW5hdHRyaWJ1dGVkPihXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgcGNtKTsKIH0KIAogdm9p
ZCBNYW5hZ2VyUHJveHk6OmhhbmRsZUF0dHJpYnV0aW9uKFdlYkNvcmU6OlByaXZhdGVDbGlja01l
YXN1cmVtZW50OjpBdHRyaWJ1dGlvblRyaWdnZXJEYXRhJiYgdHJpZ2dlckRhdGEsIGNvbnN0IFVS
TCYgcmVxdWVzdFVSTCwgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mJiByZWRpcmVjdERvbWFp
biwgY29uc3QgVVJMJiBmaXJzdFBhcnR5VVJMKQpAQCAtMTM1LDExICsxMzUsNiBAQCB2b2lkIE1h
bmFnZXJQcm94eTo6bWFya0F0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudHNBc0V4cGly
ZWRGb3JUZXN0aW5nKENvbQogICAgIHNlbmRNZXNzYWdlV2l0aFJlcGx5PE1lc3NhZ2VUeXBlOjpN
YXJrQXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3Rpbmc+
KFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAotdm9pZCBNYW5hZ2VyUHJveHk6OnNl
dEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVzdGluZyhib29sIHZhbHVlKQotewotICAgIHNlbmRN
ZXNzYWdlPE1lc3NhZ2VUeXBlOjpTZXRFcGhlbWVyYWxNZWFzdXJlbWVudEZvclRlc3Rpbmc+KHZh
bHVlKTsKLX0KLQogdm9pZCBNYW5hZ2VyUHJveHk6OnNldFBDTUZyYXVkUHJldmVudGlvblZhbHVl
c0ZvclRlc3RpbmcoU3RyaW5nJiYgdW5saW5rYWJsZVRva2VuLCBTdHJpbmcmJiBzZWNyZXRUb2tl
biwgU3RyaW5nJiYgc2lnbmF0dXJlLCBTdHJpbmcmJiBrZXlJRCkKIHsKICAgICBzZW5kTWVzc2Fn
ZTxNZXNzYWdlVHlwZTo6U2V0UENNRnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZz4odW5s
aW5rYWJsZVRva2VuLCBzZWNyZXRUb2tlbiwgc2lnbmF0dXJlLCBrZXlJRCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1By
aXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50
TWFuYWdlclByb3h5LmgKaW5kZXggN2MwYWYwZjYzOTBkMzZjZGMxZmE2YjYxMDRjMzg0YjYzNjc1
ZTUxMC4uZGJmNWEzOWM0NDlhNTY0NDllY2U2OTg5YTE3YjU4MTE3NzU0Mjg5MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRNYW5hZ2VyUHJveHkuaApAQCAtMzksNyArMzksNyBAQCBjbGFzcyBNYW5hZ2VyUHJveHkg
OiBwdWJsaWMgTWFuYWdlckludGVyZmFjZSB7CiBwdWJsaWM6CiAgICAgTWFuYWdlclByb3h5KGNv
bnN0IFN0cmluZyYgbWFjaFNlcnZpY2VOYW1lKTsKIAotICAgIHZvaWQgc3RvcmVVbmF0dHJpYnV0
ZWQoV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJikgZmluYWw7CisgICAgdm9pZCBz
dG9yZVVuYXR0cmlidXRlZChXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpIGZpbmFsOwogICAgIHZvaWQgaGFuZGxlQXR0cmlidXRp
b24oV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRh
dGEmJiwgY29uc3QgVVJMJiByZXF1ZXN0VVJMLCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYm
IHJlZGlyZWN0RG9tYWluLCBjb25zdCBVUkwmIGZpcnN0UGFydHlVUkwpIGZpbmFsOwogICAgIHZv
aWQgY2xlYXIoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSBmaW5hbDsKICAgICB2b2lkIGNs
ZWFyRm9yUmVnaXN0cmFibGVEb21haW4oY29uc3QgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4m
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpIGZpbmFsOwpAQCAtNTIsNyArNTIsNiBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKFVSTCYm
IHNvdXJjZVVSTCwgVVJMJiYgZGVzdGluYXRpb25VUkwpIGZpbmFsOwogICAgIHZvaWQgbWFya0Fs
bFVuYXR0cmlidXRlZEFzRXhwaXJlZEZvclRlc3RpbmcoKSBmaW5hbDsKICAgICB2b2lkIG1hcmtB
dHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZyhDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpIGZpbmFsOwotICAgIHZvaWQgc2V0RXBoZW1lcmFsTWVh
c3VyZW1lbnRGb3JUZXN0aW5nKGJvb2wpIGZpbmFsOwogICAgIHZvaWQgc2V0UENNRnJhdWRQcmV2
ZW50aW9uVmFsdWVzRm9yVGVzdGluZyhTdHJpbmcmJiB1bmxpbmthYmxlVG9rZW4sIFN0cmluZyYm
IHNlY3JldFRva2VuLCBTdHJpbmcmJiBzaWduYXR1cmUsIFN0cmluZyYmIGtleUlEKSBmaW5hbDsK
ICAgICB2b2lkIHN0YXJ0VGltZXJJbW1lZGlhdGVseUZvclRlc3RpbmcoKSBmaW5hbDsKICAgICB2
b2lkIGRlc3Ryb3lTdG9yZUZvclRlc3RpbmcoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSBm
aW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTdG9yZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlj
a01lYXN1cmVtZW50U3RvcmUuY3BwCmluZGV4IGQ4OTI5NTU5NzZmOTFlYTNkZTA5ZjJlMTg0MmMy
NmQ2N2E3N2NkNjUuLmJjOGQ3MzZiNmU4M2Y2NjJiMTc5M2EyOWEzOGE0MTI4MzUwYWU4NWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFz
dXJlbWVudFN0b3JlLmNwcApAQCAtNzksMTEgKzc5LDEyIEBAIHZvaWQgU3RvcmU6OnBvc3RUYXNr
UmVwbHkoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgcmVwbHkpIGNvbnN0CiAgICAgUnVuTG9vcDo6
bWFpbigpLmRpc3BhdGNoKFdURk1vdmUocmVwbHkpKTsKIH0KIAotdm9pZCBTdG9yZTo6aW5zZXJ0
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQm
JiBhdHRyaWJ1dGlvbiwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblR5cGUgYXR0
cmlidXRpb25UeXBlKQordm9pZCBTdG9yZTo6aW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQo
V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiBhdHRyaWJ1dGlvbiwgUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblR5cGUgYXR0cmlidXRpb25UeXBlLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgcG9zdFRhc2soW3Ro
aXMsIHByb3RlY3RlZFRoaXMgPSBSZWYgeyAqdGhpcyB9LCBhdHRyaWJ1dGlvbiA9IFdURk1vdmUo
YXR0cmlidXRpb24pLCBhdHRyaWJ1dGlvblR5cGVdICgpIG11dGFibGUgeworICAgIHBvc3RUYXNr
KFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwgYXR0cmlidXRpb24gPSBXVEZN
b3ZlKGF0dHJpYnV0aW9uKSwgYXR0cmlidXRpb25UeXBlLCBjb21wbGV0aW9uSGFuZGxlciA9IFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoKSBtdXRhYmxlIHsKICAgICAgICAgaWYgKG1fZGF0
YWJhc2UpCiAgICAgICAgICAgICBtX2RhdGFiYXNlLT5pbnNlcnRQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudChXVEZNb3ZlKGF0dHJpYnV0aW9uKSwgYXR0cmlidXRpb25UeXBlKTsKKyAgICAgICAgcG9z
dFRhc2tSZXBseShXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAgICAgfSk7CiB9CiAKQEAg
LTk1LDIxICs5NiwxNSBAQCB2b2lkIFN0b3JlOjptYXJrQWxsVW5hdHRyaWJ1dGVkUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRBc0V4cGlyZWRGb3JUZXN0aW5nKCkKICAgICB9KTsKIH0KIAotdm9pZCBT
dG9yZTo6YXR0cmlidXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoY29uc3QgV2ViQ29yZTo6UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUmIHNvdXJjZVNpdGUsIGNvbnN0IFdlYkNv
cmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSYg
ZGVzdGluYXRpb25TaXRlLCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmli
dXRpb25UcmlnZ2VyRGF0YSYmIGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEsIHN0ZDo6b3B0aW9uYWw8
V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ+JiYgZXBoZW1lcmFsTWVhc3VyZW1lbnQs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25TZWNvbmRzVW50aWxTZW5kRGF0YT4mJiwgRGVidWdJ
bmZvJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBTdG9yZTo6YXR0cmlidXRlUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQoY29uc3QgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6
OlNvdXJjZVNpdGUmIHNvdXJjZVNpdGUsIGNvbnN0IFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1
cmVtZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSYgZGVzdGluYXRpb25TaXRlLCBXZWJD
b3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YSYmIGF0
dHJpYnV0aW9uVHJpZ2dlckRhdGEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25h
bDxXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25TZWNvbmRzVW50
aWxTZW5kRGF0YT4mJiwgRGVidWdJbmZvJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAg
IHBvc3RUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwgc291cmNlU2l0
ZSA9IHNvdXJjZVNpdGUuaXNvbGF0ZWRDb3B5KCksIGRlc3RpbmF0aW9uU2l0ZSA9IGRlc3RpbmF0
aW9uU2l0ZS5pc29sYXRlZENvcHkoKSwgYXR0cmlidXRpb25UcmlnZ2VyRGF0YSA9IFdURk1vdmUo
YXR0cmlidXRpb25UcmlnZ2VyRGF0YSksIGVwaGVtZXJhbE1lYXN1cmVtZW50ID0gY3Jvc3NUaHJl
YWRDb3B5KGVwaGVtZXJhbE1lYXN1cmVtZW50KSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3Zl
KGNvbXBsZXRpb25IYW5kbGVyKV0gKCkgbXV0YWJsZSB7CisgICAgcG9zdFRhc2soW3RoaXMsIHBy
b3RlY3RlZFRoaXMgPSBSZWYgeyAqdGhpcyB9LCBzb3VyY2VTaXRlID0gc291cmNlU2l0ZS5pc29s
YXRlZENvcHkoKSwgZGVzdGluYXRpb25TaXRlID0gZGVzdGluYXRpb25TaXRlLmlzb2xhdGVkQ29w
eSgpLCBhdHRyaWJ1dGlvblRyaWdnZXJEYXRhID0gV1RGTW92ZShhdHRyaWJ1dGlvblRyaWdnZXJE
YXRhKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKCkg
bXV0YWJsZSB7CiAgICAgICAgIGlmICghbV9kYXRhYmFzZSkgewogICAgICAgICAgICAgcmV0dXJu
IHBvc3RUYXNrUmVwbHkoW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlcildICgpIG11dGFibGUgewogICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHN0
ZDo6bnVsbG9wdCwgeyB9KTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9CiAKLSAgICAgICAg
Ly8gSW5zZXJ0IGVwaGVtZXJhbCBtZWFzdXJlbWVudCByaWdodCBiZWZvcmUgYXR0cmlidXRpb24u
Ci0gICAgICAgIGlmIChlcGhlbWVyYWxNZWFzdXJlbWVudCkgewotICAgICAgICAgICAgUkVMRUFT
RV9BU1NFUlQoZXBoZW1lcmFsTWVhc3VyZW1lbnQtPmlzRXBoZW1lcmFsKCkpOwotICAgICAgICAg
ICAgbV9kYXRhYmFzZS0+aW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoV1RGTW92ZSgqZXBo
ZW1lcmFsTWVhc3VyZW1lbnQpLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uVHlw
ZTo6VW5hdHRyaWJ1dGVkKTsKLSAgICAgICAgfQotCiAgICAgICAgIGF1dG8gW3NlY29uZHMsIGRl
YnVnSW5mb10gPSBtX2RhdGFiYXNlLT5hdHRyaWJ1dGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChz
b3VyY2VTaXRlLCBkZXN0aW5hdGlvblNpdGUsIFdURk1vdmUoYXR0cmlidXRpb25UcmlnZ2VyRGF0
YSkpOwogCiAgICAgICAgIHBvc3RUYXNrUmVwbHkoW3NlY29uZHMgPSBXVEZNb3ZlKHNlY29uZHMp
LCBkZWJ1Z0luZm8gPSBkZWJ1Z0luZm8uaXNvbGF0ZWRDb3B5KCksIGNvbXBsZXRpb25IYW5kbGVy
ID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZh
dGVDbGlja01lYXN1cmVtZW50U3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTdG9yZS5oCmlu
ZGV4IDgzMTM1NmRjYzZjNzM5MTk3NmJlZDBhODhkYzIzZGNiYmM1YzEyMjEuLjRhZTVkZTQ0Njc4
ZWM5ZjFmMTA4ZTFhZjgxNDE1NTM4ZmEzMGJjM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTdG9yZS5oCkBAIC01MCw4ICs1
MCw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBwcmVwYXJlRm9yUHJvY2Vzc1RvU3VzcGVu
ZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHN0YXRpYyB2b2lkIHByb2Nlc3NE
aWRSZXN1bWUoKTsKIAotICAgIHZvaWQgaW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoV2Vi
Q29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiwgV2ViS2l0OjpQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudEF0dHJpYnV0aW9uVHlwZSk7Ci0gICAgdm9pZCBhdHRyaWJ1dGVQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudChjb25zdCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNl
U2l0ZSYsIGNvbnN0IFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlv
bkRlc3RpbmF0aW9uU2l0ZSYsIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRy
aWJ1dGlvblRyaWdnZXJEYXRhJiYsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQ+JiYgZXBoZW1lcmFsTWVhc3VyZW1lbnQsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmli
dXRpb25TZWNvbmRzVW50aWxTZW5kRGF0YT4mJiwgRGVidWdJbmZvJiYpPiYmKTsKKyAgICB2b2lk
IGluc2VydFByaXZhdGVDbGlja01lYXN1cmVtZW50KFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1
cmVtZW50JiYsIFdlYktpdDo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblR5cGUs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CisgICAgdm9pZCBhdHRyaWJ1dGVQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudChjb25zdCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6
U291cmNlU2l0ZSYsIGNvbnN0IFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRy
aWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSYsIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50
OjpBdHRyaWJ1dGlvblRyaWdnZXJEYXRhJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpv
cHRpb25hbDxXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25TZWNv
bmRzVW50aWxTZW5kRGF0YT4mJiwgRGVidWdJbmZvJiYpPiYmKTsKIAogICAgIHZvaWQgcHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnRUb1N0cmluZ0ZvclRlc3RpbmcoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChTdHJpbmcpPiYmKSBjb25zdDsKICAgICB2b2lkIG1hcmtBbGxVbmF0dHJpYnV0ZWRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudEFzRXhwaXJlZEZvclRlc3RpbmcoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439759</attachid>
            <date>2021-09-30 10:51:53 -0700</date>
            <delta_ts>2021-09-30 16:28:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231025-20210930105152.patch</filename>
            <type>text/plain</type>
            <size>30444</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMzE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGJlZDkyY2I5ODEwMzNiOGFm
Njk4YzRmY2VkMmM1Mjc2ZjEzN2RlZTYuLmUzNDBmMzQxYzllNzE1NDM2ZjMxY2YyNjRiNTQ1NmMz
Y2FiMWI2YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDQgQEAKKzIwMjEtMDktMzAgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIGVwaGVt
ZXJhbCBQQ00gc3RvcmFnZSBmcm9tIFBDTSBtYW5hZ2VyIHRvIE5ldHdvcmtTZXNzaW9uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwMjUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaXRoIHRoZSBkYWVt
b24sIHdlIHdhbnQgdGhlIG5ldHdvcmsgcHJvY2VzcyB0byBoYW5nIG9uIHRvIGFuIGVwaGVtZXJh
bCBQQ00gaW5zdGVhZCBvZiB0aGUgZGFlbW9uLAorICAgICAgICB3aGljaCBpcyByZXNwb25zaWJs
ZSBmb3IgbWFueSBuZXR3b3JrIHByb2Nlc3Nlcy4gIFdoZW4gYXR0cmlidXRpb24gaGFwcGVucyB3
ZSBpbnNlcnQgdGhlIFBDTSB0aGVuCisgICAgICAgIGF0dHJpYnV0ZSBpdCBsaWtlIHdlIGRpZCBi
ZWZvcmUsIGJ1dCBmcm9tIHRoZSBOZXR3b3JrU2Vzc2lvbiBpbnN0ZWFkIG9mIGZyb20gdGhlIFBD
TSBtYW5hZ2VyLgorCisgICAgICAgIEZ1bmN0aW9uYWxpdHkgY292ZXJlZCBieSBleGlzdGluZyB0
ZXN0cy4KKyAgICAgICAgVGhpcyBqdXN0IHJlZHVjZXMgc3RhdGUgaW4gdGhlIGRhZW1vbi4gIEFs
bCB0aGUgb3RoZXIgc3RhdGUgaW4gdGhlIFBDTSBtYW5hZ2VyIGlzIG9ubHkgdXNlZCBmb3IgdGVz
dHMuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uOjpzdG9yZVByaXZhdGVDbGlja01lYXN1cmVtZW50
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb246OmhhbmRsZVByaXZhdGVDbGlja01l
YXN1cmVtZW50Q29udmVyc2lvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uOjpj
bGVhclByaXZhdGVDbGlja01lYXN1cmVtZW50KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nl
c3Npb246OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JU
ZXN0aW5nKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlj
a01lYXN1cmVtZW50TWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlByaXZhdGVDbGlja01l
YXN1cmVtZW50TWFuYWdlcjo6c3RvcmVVbmF0dHJpYnV0ZWQpOgorICAgICAgICAoV2ViS2l0OjpQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OmdldFNpZ25lZFVubGlua2FibGVUb2tlbik6
CisgICAgICAgIChXZWJLaXQ6OlByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6aW5zZXJ0
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQpOgorICAgICAgICAoV2ViS2l0OjpQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudE1hbmFnZXI6Om1pZ3JhdGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEZyb21MZWdh
Y3lTdG9yYWdlKToKKyAgICAgICAgKFdlYktpdDo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5h
Z2VyOjphdHRyaWJ1dGUpOgorICAgICAgICAoV2ViS2l0OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dE1hbmFnZXI6OmNsZWFyKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuaDoKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJl
bWVudE1hbmFnZXJJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpQQ006Om1lc3NhZ2VU
eXBlU2VuZHNSZXBseSk6CisgICAgICAgIChXZWJLaXQ6OlBDTTo6ZGVjb2RlTWVzc2FnZUFuZFNl
bmRUb01hbmFnZXIpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1
cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlckludGVyZmFjZS5oOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01l
YXN1cmVtZW50TWFuYWdlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UENNOjpNYW5hZ2Vy
UHJveHk6OnN0b3JlVW5hdHRyaWJ1dGVkKToKKyAgICAgICAgKFdlYktpdDo6UENNOjpNYW5hZ2Vy
UHJveHk6OnNldEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVzdGluZyk6IERlbGV0ZWQuCisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRNYW5hZ2VyUHJveHkuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Qcml2
YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudFN0b3JlLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UENNOjpTdG9yZTo6aW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQp
OgorICAgICAgICAoV2ViS2l0OjpQQ006OlN0b3JlOjphdHRyaWJ1dGVQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTdG9yZS5oOgorCiAyMDIxLTA5LTMwICBKb2huIFdp
bGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFBDTTogVGFrZSBhcHAgYnVu
ZGxlIElEIGludG8gY29uc2lkZXJhdGlvbiB3aGVuIG1hdGNoaW5nIHRyaWdnZXJpbmcgZXZlbnRz
IHdpdGggcGVuZGluZyBjbGlja3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Nlc3Npb24uY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrU2Vzc2lvbi5jcHAKaW5kZXggNTM1OWU0Y2M1OGE5MzBmMzI3MDc3YTc3MTI1MWUxNGQz
NTEzZDkwOS4uYTU0N2Y1Nzk0YmM1NmQwODBjY2FlYjQ3MmZmMWQ3ZWE1OTg1NjJjZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAKQEAgLTMy
MSw3ICszMjEsMTMgQEAgdm9pZCBOZXR3b3JrU2Vzc2lvbjo6cmVzZXRDTkFNRURvbWFpbkRhdGEo
KQogCiB2b2lkIE5ldHdvcmtTZXNzaW9uOjpzdG9yZVByaXZhdGVDbGlja01lYXN1cmVtZW50KFdl
YkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50JiYgdW5hdHRyaWJ1dGVkUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQpCiB7Ci0gICAgcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoKS5zdG9yZVVuYXR0
cmlidXRlZChXVEZNb3ZlKHVuYXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50KSk7Cisg
ICAgaWYgKG1faXNSdW5uaW5nRXBoZW1lcmFsTWVhc3VyZW1lbnRUZXN0KQorICAgICAgICB1bmF0
dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5zZXRFcGhlbWVyYWwoUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRXBoZW1lcmFsOjpZZXMpOworICAgIGlmICh1bmF0dHJp
YnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5pc0VwaGVtZXJhbCgpKSB7CisgICAgICAgIG1f
ZXBoZW1lcmFsTWVhc3VyZW1lbnQgPSBXVEZNb3ZlKHVuYXR0cmlidXRlZFByaXZhdGVDbGlja01l
YXN1cmVtZW50KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBwcml2YXRlQ2xpY2tNZWFz
dXJlbWVudCgpLnN0b3JlVW5hdHRyaWJ1dGVkKFdURk1vdmUodW5hdHRyaWJ1dGVkUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQpLCBbXSB7IH0pOwogfQogCiB2b2lkIE5ldHdvcmtTZXNzaW9uOjpoYW5k
bGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudENvbnZlcnNpb24oUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGEmJiBhdHRyaWJ1dGlvblRyaWdnZXJEYXRhLCBjb25z
dCBVUkwmIHJlcXVlc3RVUkwsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVkaXJl
Y3RSZXF1ZXN0KQpAQCAtMzQyLDYgKzM0OCw4IEBAIHZvaWQgTmV0d29ya1Nlc3Npb246OmR1bXBQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyk+CiB2
b2lkIE5ldHdvcmtTZXNzaW9uOjpjbGVhclByaXZhdGVDbGlja01lYXN1cmVtZW50KENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBwcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudCgpLmNsZWFyKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAgICBt
X2VwaGVtZXJhbE1lYXN1cmVtZW50ID0gc3RkOjpudWxsb3B0OworICAgIG1faXNSdW5uaW5nRXBo
ZW1lcmFsTWVhc3VyZW1lbnRUZXN0ID0gZmFsc2U7CiB9CiAKIHZvaWQgTmV0d29ya1Nlc3Npb246
OmNsZWFyUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRGb3JSZWdpc3RyYWJsZURvbWFpbihXZWJDb3Jl
OjpSZWdpc3RyYWJsZURvbWFpbiYmIGRvbWFpbiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQpAQCAtMzgxLDcgKzM4OSw3IEBAIHZvaWQgTmV0d29ya1Nlc3Np
b246Om1hcmtQcml2YXRlQ2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKCkKIAog
dm9pZCBOZXR3b3JrU2Vzc2lvbjo6c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRFcGhlbWVyYWxN
ZWFzdXJlbWVudEZvclRlc3RpbmcoYm9vbCB2YWx1ZSkKIHsKLSAgICBwcml2YXRlQ2xpY2tNZWFz
dXJlbWVudCgpLnNldEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVzdGluZyh2YWx1ZSk7CisgICAg
bV9pc1J1bm5pbmdFcGhlbWVyYWxNZWFzdXJlbWVudFRlc3QgPSB2YWx1ZTsKIH0KIAogLy8gRklY
TUU6IFN3aXRjaCB0byBub24tbW9ja2VkIHRlc3QgZGF0YSBvbmNlIHRoZSByaWdodCBjcnlwdG9n
cmFwaHkgbGlicmFyeSBpcyBhdmFpbGFibGUgaW4gb3BlbiBzb3VyY2UuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmggYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmgKaW5kZXggYTRmNzVmMjRhNjhkNDk5
NGJjZDBiODVmNGYwZjJkODdkYThlNWNiMi4uYWMwMGI2MGQ3YmVjOTRhM2FiYTUxODI1NmZlMDdk
ODY5NTBkZmUyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nl
c3Npb24uaApAQCAtMjE1LDYgKzIxNSw4IEBAIHByb3RlY3RlZDoKICNlbmRpZgogICAgIGJvb2wg
bV9pc1N0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgVW5pcXVlUmVm
PFBDTTo6TWFuYWdlckludGVyZmFjZT4gbV9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudDsKKyAgICBz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50PiBtX2VwaGVtZXJh
bE1lYXN1cmVtZW50OworICAgIGJvb2wgbV9pc1J1bm5pbmdFcGhlbWVyYWxNZWFzdXJlbWVudFRl
c3QgeyBmYWxzZSB9OwogCiAgICAgSGFzaFNldDxSZWY8TmV0d29ya1Jlc291cmNlTG9hZGVyPj4g
bV9rZXB0QWxpdmVMb2FkczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFn
ZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJl
bWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuY3BwCmluZGV4IDNkYjM3ZjIzYjg2
NjNjNDBhMTZiZDUzYTc0YmU5ZjIwY2JhOWM4ZWYuLmY0NTEzYTE3ODQ4MWFmZDAxYzRkMjM4YTA0
ZDJmZDdkNGQ2NDk2NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5jcHAKQEAgLTcwLDEwICs3MCwxMCBA
QCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6On5Qcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dE1hbmFnZXIoKQogICAgICAgICBtX3N0b3JlLT5jbG9zZShbXSB7IH0pOwogfQogCi12b2lkIFBy
aXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6c3RvcmVVbmF0dHJpYnV0ZWQoUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQmJiBtZWFzdXJlbWVudCkKK3ZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRNYW5hZ2VyOjpzdG9yZVVuYXR0cmlidXRlZChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmIG1l
YXN1cmVtZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIp
CiB7CiAgICAgaWYgKCFmZWF0dXJlRW5hYmxlZCgpKQotICAgICAgICByZXR1cm47CisgICAgICAg
IHJldHVybiBjb21wbGV0aW9uSGFuZGxlcigpOwogCiAgICAgY2xlYXJFeHBpcmVkKCk7CiAKQEAg
LTEwOSw3ICsxMDksNyBAQCB2b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6c3Rv
cmVVbmF0dHJpYnV0ZWQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJgogCiAgICAgbV9jbGllbnQt
PmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VMZXZlbDo6TG9nLCAiW1ByaXZhdGUgQ2xp
Y2sgTWVhc3VyZW1lbnRdIFN0b3JpbmcgYSBjbGljay4iX3MpOwogCi0gICAgaW5zZXJ0UHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQoV1RGTW92ZShtZWFzdXJlbWVudCksIFByaXZhdGVDbGlja01lYXN1
cmVtZW50QXR0cmlidXRpb25UeXBlOjpVbmF0dHJpYnV0ZWQpOworICAgIGluc2VydFByaXZhdGVD
bGlja01lYXN1cmVtZW50KFdURk1vdmUobWVhc3VyZW1lbnQpLCBQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudEF0dHJpYnV0aW9uVHlwZTo6VW5hdHRyaWJ1dGVkLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSk7CiB9CiAKIHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpnZXRUb2tl
blB1YmxpY0tleShQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmIGF0dHJpYnV0aW9uLCBQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25SZXBvcnRFbmRwb2ludCBhdHRyaWJ1dGlvblJl
cG9ydEVuZHBvaW50LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UGNtRGF0YUNhcnJpZWQgcGNt
RGF0YUNhcnJpZWQsIEZ1bmN0aW9uPHZvaWQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiBhdHRy
aWJ1dGlvbiwgY29uc3QgU3RyaW5nJiBwdWJsaWNLZXlCYXNlNjRVUkwpPiYmIGNhbGxiYWNrKQpA
QCAtMjEyLDI1ICsyMTIsMTkgQEAgdm9pZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6
OmdldFNpZ25lZFVubGlua2FibGVUb2tlbihQcml2YXRlQ2xpY2tNZWFzdXIKIAogICAgICAgICBt
X2NsaWVudC0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UoTWVzc2FnZUxldmVsOjpMb2csICJbUHJp
dmF0ZSBDbGljayBNZWFzdXJlbWVudF0gU3RvcmluZyBhIHNlY3JldCB0b2tlbi4iX3MpOwogCi0g
ICAgICAgIGluc2VydFByaXZhdGVDbGlja01lYXN1cmVtZW50KFdURk1vdmUobWVhc3VyZW1lbnQp
LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uVHlwZTo6VW5hdHRyaWJ1dGVkKTsK
KyAgICAgICAgaW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoV1RGTW92ZShtZWFzdXJlbWVu
dCksIFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25UeXBlOjpVbmF0dHJpYnV0ZWQs
IFtdIHsgfSk7CiAgICAgfSk7CiAKIH0KIAotdm9pZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1h
bmFnZXI6Omluc2VydFByaXZhdGVDbGlja01lYXN1cmVtZW50KFByaXZhdGVDbGlja01lYXN1cmVt
ZW50JiYgbWVhc3VyZW1lbnQsIFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25UeXBl
IHR5cGUpCit2b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6aW5zZXJ0UHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiBtZWFzdXJlbWVudCwg
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblR5cGUgdHlwZSwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIGlmIChtX2lzUnVubmlu
Z0VwaGVtZXJhbE1lYXN1cmVtZW50VGVzdCkKLSAgICAgICAgbWVhc3VyZW1lbnQuc2V0RXBoZW1l
cmFsKFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkVwaGVtZXJhbDo6WWVzKTsK
LSAgICBpZiAobWVhc3VyZW1lbnQuaXNFcGhlbWVyYWwoKSkgewotICAgICAgICBtX2VwaGVtZXJh
bE1lYXN1cmVtZW50ID0gV1RGTW92ZShtZWFzdXJlbWVudCk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0gICAgc3RvcmUoKS5pbnNlcnRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChXVEZNb3ZlKG1l
YXN1cmVtZW50KSwgdHlwZSk7CisgICAgc3RvcmUoKS5pbnNlcnRQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudChXVEZNb3ZlKG1lYXN1cmVtZW50KSwgdHlwZSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cikpOwogfQogCiB2b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6bWlncmF0ZVBy
aXZhdGVDbGlja01lYXN1cmVtZW50RnJvbUxlZ2FjeVN0b3JhZ2UoUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQmJiBtZWFzdXJlbWVudCwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblR5
cGUgdHlwZSkKIHsKLSAgICBzdG9yZSgpLmluc2VydFByaXZhdGVDbGlja01lYXN1cmVtZW50KFdU
Rk1vdmUobWVhc3VyZW1lbnQpLCB0eXBlKTsKKyAgICBzdG9yZSgpLmluc2VydFByaXZhdGVDbGlj
a01lYXN1cmVtZW50KFdURk1vdmUobWVhc3VyZW1lbnQpLCB0eXBlLCBbXSB7IH0pOwogfQogCiB2
b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6aGFuZGxlQXR0cmlidXRpb24oQXR0
cmlidXRpb25UcmlnZ2VyRGF0YSYmIGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEsIGNvbnN0IFVSTCYg
cmVxdWVzdFVSTCwgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mJiByZWRpcmVjdERvbWFpbiwg
Y29uc3QgVVJMJiBmaXJzdFBhcnR5VVJMLCBjb25zdCBBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZp
ZXImIGFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcikKQEAgLTI3NiwxNSArMjcwLDcgQEAgdm9p
ZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OmF0dHJpYnV0ZShjb25zdCBTb3VyY2VT
aXRlJiBzb3VyY2VTaXRlLCBjb24KICAgICBpZiAoIWZlYXR1cmVFbmFibGVkKCkpCiAgICAgICAg
IHJldHVybjsKIAotICAgIGlmIChtX2VwaGVtZXJhbE1lYXN1cmVtZW50KSB7Ci0gICAgICAgIC8v
IEVwaGVtZXJhbCBtZWFzdXJlbWVudCBjYW4gb25seSBoYXZlIG9uZSBwZW5kaW5nIGNsaWNrLgot
ICAgICAgICBpZiAobV9lcGhlbWVyYWxNZWFzdXJlbWVudC0+c291cmNlU2l0ZSgpICE9IHNvdXJj
ZVNpdGUpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmIChtX2VwaGVtZXJhbE1lYXN1
cmVtZW50LT5kZXN0aW5hdGlvblNpdGUoKSAhPSBkZXN0aW5hdGlvblNpdGUpCi0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgfQotICAgICAgICAKLSAgICBzdG9yZSgpLmF0dHJpYnV0ZVByaXZhdGVD
bGlja01lYXN1cmVtZW50KHNvdXJjZVNpdGUsIGRlc3RpbmF0aW9uU2l0ZSwgYXBwbGljYXRpb25C
dW5kbGVJZGVudGlmaWVyLCBXVEZNb3ZlKGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEpLCBzdGQ6OmV4
Y2hhbmdlKG1fZXBoZW1lcmFsTWVhc3VyZW1lbnQsIHN0ZDo6bnVsbG9wdCksIFt0aGlzLCB3ZWFr
VGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0gKGF1dG8gYXR0cmlidXRpb25TZWNvbmRzVW50aWxT
ZW5kRGF0YSwgYXV0byBkZWJ1Z0luZm8pIHsKKyAgICBzdG9yZSgpLmF0dHJpYnV0ZVByaXZhdGVD
bGlja01lYXN1cmVtZW50KHNvdXJjZVNpdGUsIGRlc3RpbmF0aW9uU2l0ZSwgYXBwbGljYXRpb25C
dW5kbGVJZGVudGlmaWVyLCBXVEZNb3ZlKGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEpLCBbdGhpcywg
d2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyldIChhdXRvIGF0dHJpYnV0aW9uU2Vjb25kc1Vu
dGlsU2VuZERhdGEsIGF1dG8gZGVidWdJbmZvKSB7CiAgICAgICAgIGlmICghd2Vha1RoaXMpCiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIApAQCAtNDQ1LDggKzQzMSw2IEBAIHZvaWQgUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpmaXJlUGVuZGluZ0F0dHJpYnV0aW9uUmVxdWVz
dHMoKQogdm9pZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OmNsZWFyKENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBtX2ZpcmVQZW5k
aW5nQXR0cmlidXRpb25SZXF1ZXN0c1RpbWVyLnN0b3AoKTsKLSAgICBtX2VwaGVtZXJhbE1lYXN1
cmVtZW50ID0gc3RkOjpudWxsb3B0OwotICAgIG1faXNSdW5uaW5nRXBoZW1lcmFsTWVhc3VyZW1l
bnRUZXN0ID0gZmFsc2U7CiAgICAgbV9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudEFwcEJ1bmRsZUlE
Rm9yVGVzdGluZyA9IHN0ZDo6bnVsbG9wdDsKIAogICAgIGlmICghZmVhdHVyZUVuYWJsZWQoKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1
cmVtZW50TWFuYWdlci5oCmluZGV4IDY3MWQzOTAxYmE2NTg5NzA0NzAwMzlmOTQ1NGVlZTE1OWMw
NTJmZWQuLmJlZDBhMzZjZmM4MGM0OTE1YmYyNjkxZTE5YmI2ZGY1Y2I4M2RkYTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQv
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dE1hbmFnZXIuaApAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAKICAgICB1c2luZyBBcHBsaWNh
dGlvbkJ1bmRsZUlkZW50aWZpZXIgPSBTdHJpbmc7CiAKLSAgICB2b2lkIHN0b3JlVW5hdHRyaWJ1
dGVkKFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYpIGZpbmFsOworICAgIHZvaWQgc3RvcmVVbmF0
dHJpYnV0ZWQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKSBmaW5hbDsKICAgICB2b2lkIGhhbmRsZUF0dHJpYnV0aW9uKEF0dHJpYnV0aW9uVHJp
Z2dlckRhdGEmJiwgY29uc3QgVVJMJiByZXF1ZXN0VVJMLCBXZWJDb3JlOjpSZWdpc3RyYWJsZURv
bWFpbiYmIHJlZGlyZWN0RG9tYWluLCBjb25zdCBVUkwmIGZpcnN0UGFydHlVUkwsIGNvbnN0IEFw
cGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciYpIGZpbmFsOwogICAgIHZvaWQgY2xlYXIoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZCgpPiYmKSBmaW5hbDsKICAgICB2b2lkIGNsZWFyRm9yUmVnaXN0cmFi
bGVEb21haW4oY29uc3QgUmVnaXN0cmFibGVEb21haW4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYpIGZpbmFsOwpAQCAtNjAsNyArNjAsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBdHRy
aWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKFVSTCYmIHNvdXJjZVVSTCwgVVJMJiYgZGVzdGlu
YXRpb25VUkwpIGZpbmFsOwogICAgIHZvaWQgbWFya0FsbFVuYXR0cmlidXRlZEFzRXhwaXJlZEZv
clRlc3RpbmcoKSBmaW5hbDsKICAgICB2b2lkIG1hcmtBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYp
IGZpbmFsOwotICAgIHZvaWQgc2V0RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JUZXN0aW5nKGJvb2wg
dmFsdWUpIGZpbmFsIHsgbV9pc1J1bm5pbmdFcGhlbWVyYWxNZWFzdXJlbWVudFRlc3QgPSB2YWx1
ZTsgfQogICAgIHZvaWQgc2V0UENNRnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZyhTdHJp
bmcmJiB1bmxpbmthYmxlVG9rZW4sIFN0cmluZyYmIHNlY3JldFRva2VuLCBTdHJpbmcmJiBzaWdu
YXR1cmUsIFN0cmluZyYmIGtleUlEKSBmaW5hbDsKICAgICB2b2lkIHN0YXJ0VGltZXJJbW1lZGlh
dGVseUZvclRlc3RpbmcoKSBmaW5hbDsKICAgICB2b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVt
ZW50QXBwQnVuZGxlSURGb3JUZXN0aW5nKEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciYmKTsK
QEAgLTczLDcgKzcyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHN0YXJ0VGltZXIoU2Vjb25kcyk7
CiAgICAgdm9pZCBnZXRUb2tlblB1YmxpY0tleShQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmLCBQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25SZXBvcnRFbmRwb2ludCwgUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQ6OlBjbURhdGFDYXJyaWVkLCBGdW5jdGlvbjx2b2lkKFByaXZhdGVD
bGlja01lYXN1cmVtZW50JiYgYXR0cmlidXRpb24sIGNvbnN0IFN0cmluZyYgcHVibGljS2V5QmFz
ZTY0VVJMKT4mJik7CiAgICAgdm9pZCBnZXRTaWduZWRVbmxpbmthYmxlVG9rZW4oUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQmJik7Ci0gICAgdm9pZCBpbnNlcnRQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJp
YnV0aW9uVHlwZSk7CisgICAgdm9pZCBpbnNlcnRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudCYmLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9u
VHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIGNsZWFyU2VudEF0
dHJpYnV0aW9uKFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYsIFByaXZhdGVDbGlja01lYXN1cmVt
ZW50OjpBdHRyaWJ1dGlvblJlcG9ydEVuZHBvaW50KTsKICAgICB2b2lkIGF0dHJpYnV0ZShjb25z
dCBTb3VyY2VTaXRlJiwgY29uc3QgQXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUmLCBBdHRyaWJ1
dGlvblRyaWdnZXJEYXRhJiYsIGNvbnN0IEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciYpOwog
ICAgIHZvaWQgZmlyZUNvbnZlcnNpb25SZXF1ZXN0KGNvbnN0IFByaXZhdGVDbGlja01lYXN1cmVt
ZW50JiwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uUmVwb3J0RW5kcG9pbnQp
OwpAQCAtODMsMTAgKzgyLDggQEAgcHJpdmF0ZToKICAgICBib29sIGZlYXR1cmVFbmFibGVkKCkg
Y29uc3Q7CiAgICAgYm9vbCBkZWJ1Z01vZGVFbmFibGVkKCkgY29uc3Q7CiAKLSAgICBzdGQ6Om9w
dGlvbmFsPFByaXZhdGVDbGlja01lYXN1cmVtZW50PiBtX2VwaGVtZXJhbE1lYXN1cmVtZW50Owog
ICAgIFdlYkNvcmU6OlRpbWVyIG1fZmlyZVBlbmRpbmdBdHRyaWJ1dGlvblJlcXVlc3RzVGltZXI7
CiAgICAgYm9vbCBtX2lzUnVubmluZ1Rlc3QgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9pc1J1bm5p
bmdFcGhlbWVyYWxNZWFzdXJlbWVudFRlc3QgeyBmYWxzZSB9OwogICAgIHN0ZDo6b3B0aW9uYWw8
VVJMPiBtX3Rva2VuUHVibGljS2V5VVJMRm9yVGVzdGluZzsKICAgICBzdGQ6Om9wdGlvbmFsPFVS
TD4gbV90b2tlblNpZ25hdHVyZVVSTEZvclRlc3Rpbmc7CiAgICAgc3RkOjpvcHRpb25hbDxBcHBs
aWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI+IG1fcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBcHBCdW5k
bGVJREZvclRlc3Rpbmc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcklu
dGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01l
YXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlckludGVyZmFjZS5jcHAKaW5k
ZXggMzljYzY0ODg2ZjliNGY5NDYyZTAwY2I1MGU1NTJlYzhiZTc1NzQ5OS4uZTQyMjkyZmRjYTY1
YTQxZTk3OWUyYmQxNmUxYTE3Y2E5NmNlMjI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJl
bWVudE1hbmFnZXJJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2Vy
SW50ZXJmYWNlLmNwcApAQCAtNDgsNiArNDgsNyBAQCBuYW1lc3BhY2UgTWVzc2FnZUluZm8gewog
CiBGVU5DVElPTihzdG9yZVVuYXR0cmlidXRlZCkKIEFSR1VNRU5UUyhXZWJDb3JlOjpQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudCkKK1JFUExZKCkKIEVORAogCiBGVU5DVElPTihoYW5kbGVBdHRyaWJ1
dGlvbikKQEAgLTk4LDEwICs5OSw2IEBAIEFSR1VNRU5UUygpCiBSRVBMWSgpCiBFTkQKIAotRlVO
Q1RJT04oc2V0RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JUZXN0aW5nKQotQVJHVU1FTlRTKGJvb2wp
Ci1FTkQKLQogRlVOQ1RJT04oc2V0UENNRnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZykK
IEFSR1VNRU5UUyhTdHJpbmcsIFN0cmluZywgU3RyaW5nLCBTdHJpbmcpCiBFTkQKQEAgLTEzMyw2
ICsxMzAsNyBAQCBFTVBUWV9SRVBMWShjbGVhcik7CiBFTVBUWV9SRVBMWShjbGVhckZvclJlZ2lz
dHJhYmxlRG9tYWluKTsKIEVNUFRZX1JFUExZKG1hcmtBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZyk7CiBFTVBUWV9SRVBMWShkZXN0cm95U3RvcmVG
b3JUZXN0aW5nKTsKK0VNUFRZX1JFUExZKHN0b3JlVW5hdHRyaWJ1dGVkKTsKICN1bmRlZiBFTVBU
WV9SRVBMWQogCiBQQ006OkVuY29kZWRNZXNzYWdlIHRvU3RyaW5nRm9yVGVzdGluZzo6ZW5jb2Rl
UmVwbHkoU3RyaW5nIHJlcGx5KQpAQCAtMTQ3LDcgKzE0NSw2IEBAIFBDTTo6RW5jb2RlZE1lc3Nh
Z2UgdG9TdHJpbmdGb3JUZXN0aW5nOjplbmNvZGVSZXBseShTdHJpbmcgcmVwbHkpCiBib29sIG1l
c3NhZ2VUeXBlU2VuZHNSZXBseShNZXNzYWdlVHlwZSBtZXNzYWdlVHlwZSkKIHsKICAgICBzd2l0
Y2ggKG1lc3NhZ2VUeXBlKSB7Ci0gICAgY2FzZSBNZXNzYWdlVHlwZTo6U3RvcmVVbmF0dHJpYnV0
ZWQ6CiAgICAgY2FzZSBNZXNzYWdlVHlwZTo6SGFuZGxlQXR0cmlidXRpb246CiAgICAgY2FzZSBN
ZXNzYWdlVHlwZTo6TWlncmF0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50RnJvbUxlZ2FjeVN0b3Jh
Z2U6CiAgICAgY2FzZSBNZXNzYWdlVHlwZTo6U2V0T3ZlcnJpZGVUaW1lckZvclRlc3Rpbmc6CkBA
IC0xNTUsMTIgKzE1MiwxMiBAQCBib29sIG1lc3NhZ2VUeXBlU2VuZHNSZXBseShNZXNzYWdlVHlw
ZSBtZXNzYWdlVHlwZSkKICAgICBjYXNlIE1lc3NhZ2VUeXBlOjpTZXRUb2tlblNpZ25hdHVyZVVS
TEZvclRlc3Rpbmc6CiAgICAgY2FzZSBNZXNzYWdlVHlwZTo6U2V0QXR0cmlidXRpb25SZXBvcnRV
UkxzRm9yVGVzdGluZzoKICAgICBjYXNlIE1lc3NhZ2VUeXBlOjpNYXJrQWxsVW5hdHRyaWJ1dGVk
QXNFeHBpcmVkRm9yVGVzdGluZzoKLSAgICBjYXNlIE1lc3NhZ2VUeXBlOjpTZXRFcGhlbWVyYWxN
ZWFzdXJlbWVudEZvclRlc3Rpbmc6CiAgICAgY2FzZSBNZXNzYWdlVHlwZTo6U2V0UENNRnJhdWRQ
cmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZzoKICAgICBjYXNlIE1lc3NhZ2VUeXBlOjpTdGFydFRp
bWVySW1tZWRpYXRlbHlGb3JUZXN0aW5nOgogICAgIGNhc2UgTWVzc2FnZVR5cGU6OlNldFByaXZh
dGVDbGlja01lYXN1cmVtZW50QXBwQnVuZGxlSURGb3JUZXN0aW5nOgogICAgIGNhc2UgTWVzc2Fn
ZVR5cGU6OkFsbG93VExTQ2VydGlmaWNhdGVDaGFpbkZvckxvY2FsUENNVGVzdGluZzoKICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIGNhc2UgTWVzc2FnZVR5cGU6OlN0b3JlVW5hdHRyaWJ1dGVk
OgogICAgIGNhc2UgTWVzc2FnZVR5cGU6Ok1hcmtBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZzoKICAgICBjYXNlIE1lc3NhZ2VUeXBlOjpEZXN0cm95
U3RvcmVGb3JUZXN0aW5nOgogICAgIGNhc2UgTWVzc2FnZVR5cGU6OlRvU3RyaW5nRm9yVGVzdGlu
ZzoKQEAgLTIyNSw3ICsyMjIsNyBAQCB2b2lkIGRlY29kZU1lc3NhZ2VBbmRTZW5kVG9NYW5hZ2Vy
KE1lc3NhZ2VUeXBlIG1lc3NhZ2VUeXBlLCBWZWN0b3I8dWludDhfdD4mJiBlbgogICAgIEFTU0VS
VChtZXNzYWdlVHlwZVNlbmRzUmVwbHkobWVzc2FnZVR5cGUpID09ICEhcmVwbHlTZW5kZXIpOwog
ICAgIHN3aXRjaCAobWVzc2FnZVR5cGUpIHsKICAgICBjYXNlIFBDTTo6TWVzc2FnZVR5cGU6OlN0
b3JlVW5hdHRyaWJ1dGVkOgotICAgICAgICBoYW5kbGVQQ01NZXNzYWdlPE1lc3NhZ2VJbmZvOjpz
dG9yZVVuYXR0cmlidXRlZD4oV1RGTW92ZShlbmNvZGVkTWVzc2FnZSkpOworICAgICAgICBoYW5k
bGVQQ01NZXNzYWdlV2l0aFJlcGx5PE1lc3NhZ2VJbmZvOjpzdG9yZVVuYXR0cmlidXRlZD4oV1RG
TW92ZShlbmNvZGVkTWVzc2FnZSksIFdURk1vdmUocmVwbHlTZW5kZXIpKTsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBQQ006Ok1lc3NhZ2VUeXBlOjpIYW5kbGVBdHRyaWJ1dGlvbjoKICAgICAg
ICAgaGFuZGxlUENNTWVzc2FnZTxNZXNzYWdlSW5mbzo6aGFuZGxlQXR0cmlidXRpb24+KFdURk1v
dmUoZW5jb2RlZE1lc3NhZ2UpKTsKQEAgLTI2MCw5ICsyNTcsNiBAQCB2b2lkIGRlY29kZU1lc3Nh
Z2VBbmRTZW5kVG9NYW5hZ2VyKE1lc3NhZ2VUeXBlIG1lc3NhZ2VUeXBlLCBWZWN0b3I8dWludDhf
dD4mJiBlbgogICAgIGNhc2UgUENNOjpNZXNzYWdlVHlwZTo6TWFya0F0dHJpYnV0ZWRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nOgogICAgICAgICBoYW5kbGVQQ01N
ZXNzYWdlV2l0aFJlcGx5PE1lc3NhZ2VJbmZvOjptYXJrQXR0cmlidXRlZFByaXZhdGVDbGlja01l
YXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3Rpbmc+KFdURk1vdmUoZW5jb2RlZE1lc3NhZ2UpLCBX
VEZNb3ZlKHJlcGx5U2VuZGVyKSk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgUENNOjpNZXNz
YWdlVHlwZTo6U2V0RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JUZXN0aW5nOgotICAgICAgICBoYW5k
bGVQQ01NZXNzYWdlPE1lc3NhZ2VJbmZvOjpzZXRFcGhlbWVyYWxNZWFzdXJlbWVudEZvclRlc3Rp
bmc+KFdURk1vdmUoZW5jb2RlZE1lc3NhZ2UpKTsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQ
Q006Ok1lc3NhZ2VUeXBlOjpTZXRQQ01GcmF1ZFByZXZlbnRpb25WYWx1ZXNGb3JUZXN0aW5nOgog
ICAgICAgICBoYW5kbGVQQ01NZXNzYWdlPE1lc3NhZ2VJbmZvOjpzZXRQQ01GcmF1ZFByZXZlbnRp
b25WYWx1ZXNGb3JUZXN0aW5nPihXVEZNb3ZlKGVuY29kZWRNZXNzYWdlKSk7CiAgICAgICAgIGJy
ZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXJJbnRlcmZhY2UuaCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VySW50ZXJmYWNlLmgKaW5kZXggYTRhOTc0NDg5NzEx
YWI0OGEyMjNmZmM0MmQ4MjA0ZjI2MTkzNzM3ZC4uZGRmZWQzZWI3Y2MxZTQ2MDdhNDgzNWZlNDdl
YmM1ZmFjMGQ5YWMyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXJJbnRl
cmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01l
YXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlckludGVyZmFjZS5oCkBAIC01
Miw3ICs1Miw3IEBAIHB1YmxpYzoKICAgICB1c2luZyBTb3VyY2VTaXRlID0gV2ViQ29yZTo6UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGU7CiAgICAgdXNpbmcgQXBwbGljYXRpb25C
dW5kbGVJZGVudGlmaWVyID0gU3RyaW5nOwogCi0gICAgdmlydHVhbCB2b2lkIHN0b3JlVW5hdHRy
aWJ1dGVkKFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
c3RvcmVVbmF0dHJpYnV0ZWQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCgpPiYmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUF0dHJpYnV0aW9u
KEF0dHJpYnV0aW9uVHJpZ2dlckRhdGEmJiwgY29uc3QgVVJMJiByZXF1ZXN0VVJMLCBXZWJDb3Jl
OjpSZWdpc3RyYWJsZURvbWFpbiYmIHJlZGlyZWN0RG9tYWluLCBjb25zdCBVUkwmIGZpcnN0UGFy
dHlVUkwsIGNvbnN0IEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciYpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgY2xlYXIoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIGNsZWFyRm9yUmVnaXN0cmFibGVEb21haW4oY29uc3QgUmVnaXN0cmFibGVEb21h
aW4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpID0gMDsKQEAgLTY1LDcgKzY1LDYgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0
aW5nKFVSTCYmIHNvdXJjZVVSTCwgVVJMJiYgZGVzdGluYXRpb25VUkwpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgbWFya0FsbFVuYXR0cmlidXRlZEFzRXhwaXJlZEZvclRlc3RpbmcoKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIG1hcmtBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNF
eHBpcmVkRm9yVGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpID0gMDsKLSAgICB2
aXJ0dWFsIHZvaWQgc2V0RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JUZXN0aW5nKGJvb2wpID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0UENNRnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZyhT
dHJpbmcmJiB1bmxpbmthYmxlVG9rZW4sIFN0cmluZyYmIHNlY3JldFRva2VuLCBTdHJpbmcmJiBz
aWduYXR1cmUsIFN0cmluZyYmIGtleUlEKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0VGlt
ZXJJbW1lZGlhdGVseUZvclRlc3RpbmcoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldFByaXZh
dGVDbGlja01lYXN1cmVtZW50QXBwQnVuZGxlSURGb3JUZXN0aW5nKEFwcGxpY2F0aW9uQnVuZGxl
SWRlbnRpZmllciYmKSA9IDA7CkBAIC05MCw3ICs4OSw2IEBAIGVudW0gY2xhc3MgTWVzc2FnZVR5
cGUgOiB1aW50OF90IHsKICAgICBTZXRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nLAog
ICAgIE1hcmtBbGxVbmF0dHJpYnV0ZWRBc0V4cGlyZWRGb3JUZXN0aW5nLAogICAgIE1hcmtBdHRy
aWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZywKLSAgICBT
ZXRFcGhlbWVyYWxNZWFzdXJlbWVudEZvclRlc3RpbmcsCiAgICAgU2V0UENNRnJhdWRQcmV2ZW50
aW9uVmFsdWVzRm9yVGVzdGluZywKICAgICBTdGFydFRpbWVySW1tZWRpYXRlbHlGb3JUZXN0aW5n
LAogICAgIFNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXBwQnVuZGxlSURGb3JUZXN0aW5nLApA
QCAtMTI3LDcgKzEyNSw2IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViS2l0OjpQ
Q006Ok1lc3NhZ2VUeXBlPiB7CiAgICAgICAgIFdlYktpdDo6UENNOjpNZXNzYWdlVHlwZTo6U2V0
QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGluZywKICAgICAgICAgV2ViS2l0OjpQQ006Ok1l
c3NhZ2VUeXBlOjpNYXJrQWxsVW5hdHRyaWJ1dGVkQXNFeHBpcmVkRm9yVGVzdGluZywKICAgICAg
ICAgV2ViS2l0OjpQQ006Ok1lc3NhZ2VUeXBlOjpNYXJrQXR0cmlidXRlZFByaXZhdGVDbGlja01l
YXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3RpbmcsCi0gICAgICAgIFdlYktpdDo6UENNOjpNZXNz
YWdlVHlwZTo6U2V0RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JUZXN0aW5nLAogICAgICAgICBXZWJL
aXQ6OlBDTTo6TWVzc2FnZVR5cGU6OlNldFBDTUZyYXVkUHJldmVudGlvblZhbHVlc0ZvclRlc3Rp
bmcsCiAgICAgICAgIFdlYktpdDo6UENNOjpNZXNzYWdlVHlwZTo6U3RhcnRUaW1lckltbWVkaWF0
ZWx5Rm9yVGVzdGluZywKICAgICAgICAgV2ViS2l0OjpQQ006Ok1lc3NhZ2VUeXBlOjpTZXRQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudEFwcEJ1bmRsZUlERm9yVGVzdGluZywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1h
bmFnZXJQcm94eS5jcHAKaW5kZXggYmRhODVjNDk2YjYwYjFlYjYyMGVlYjcxNDVhYzgxMDNkZjRk
ZWNhMS4uNDMyZjI1YTY4NzBhNzUyMmMwMDE0ZDVlN2U0MDgwODdhMTk0ZDQxZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFz
dXJlbWVudE1hbmFnZXJQcm94eS5jcHAKQEAgLTc1LDkgKzc1LDkgQEAgdm9pZCBNYW5hZ2VyUHJv
eHk6OnNlbmRNZXNzYWdlV2l0aFJlcGx5KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVwbHlBcmdz
Li4uKT4mJgogTWFuYWdlclByb3h5OjpNYW5hZ2VyUHJveHkoY29uc3QgU3RyaW5nJiBtYWNoU2Vy
dmljZU5hbWUpCiAgICAgOiBtX2Nvbm5lY3Rpb24obWFjaFNlcnZpY2VOYW1lLnV0ZjgoKSkgeyB9
CiAKLXZvaWQgTWFuYWdlclByb3h5OjpzdG9yZVVuYXR0cmlidXRlZChXZWJDb3JlOjpQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudCYmIHBjbSkKK3ZvaWQgTWFuYWdlclByb3h5OjpzdG9yZVVuYXR0cmli
dXRlZChXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmIHBjbSwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHNlbmRNZXNzYWdlPE1l
c3NhZ2VUeXBlOjpTdG9yZVVuYXR0cmlidXRlZD4ocGNtKTsKKyAgICBzZW5kTWVzc2FnZVdpdGhS
ZXBseTxNZXNzYWdlVHlwZTo6U3RvcmVVbmF0dHJpYnV0ZWQ+KFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpLCBwY20pOwogfQogCiB2b2lkIE1hbmFnZXJQcm94eTo6aGFuZGxlQXR0cmlidXRpb24o
V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGEm
JiB0cmlnZ2VyRGF0YSwgY29uc3QgVVJMJiByZXF1ZXN0VVJMLCBXZWJDb3JlOjpSZWdpc3RyYWJs
ZURvbWFpbiYmIHJlZGlyZWN0RG9tYWluLCBjb25zdCBVUkwmIGZpcnN0UGFydHlVUkwsIGNvbnN0
IEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciYgYXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVy
KQpAQCAtMTM1LDExICsxMzUsNiBAQCB2b2lkIE1hbmFnZXJQcm94eTo6bWFya0F0dHJpYnV0ZWRQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKENvbQogICAgIHNlbmRN
ZXNzYWdlV2l0aFJlcGx5PE1lc3NhZ2VUeXBlOjpNYXJrQXR0cmlidXRlZFByaXZhdGVDbGlja01l
YXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3Rpbmc+KFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
KTsKIH0KIAotdm9pZCBNYW5hZ2VyUHJveHk6OnNldEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVz
dGluZyhib29sIHZhbHVlKQotewotICAgIHNlbmRNZXNzYWdlPE1lc3NhZ2VUeXBlOjpTZXRFcGhl
bWVyYWxNZWFzdXJlbWVudEZvclRlc3Rpbmc+KHZhbHVlKTsKLX0KLQogdm9pZCBNYW5hZ2VyUHJv
eHk6OnNldFBDTUZyYXVkUHJldmVudGlvblZhbHVlc0ZvclRlc3RpbmcoU3RyaW5nJiYgdW5saW5r
YWJsZVRva2VuLCBTdHJpbmcmJiBzZWNyZXRUb2tlbiwgU3RyaW5nJiYgc2lnbmF0dXJlLCBTdHJp
bmcmJiBrZXlJRCkKIHsKICAgICBzZW5kTWVzc2FnZTxNZXNzYWdlVHlwZTo6U2V0UENNRnJhdWRQ
cmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZz4odW5saW5rYWJsZVRva2VuLCBzZWNyZXRUb2tlbiwg
c2lnbmF0dXJlLCBrZXlJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdl
clByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1
cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlclByb3h5LmgKaW5kZXggMzRiMzQ3
MGFhZWJjY2M5YzZmODc0NGQyM2I0ZjEwYTAxMWM4YWMzZC4uZjRkZGMxY2NiMWQ0YzFiYzdiYTA2
NDI2Yzk0ZjViYmNhNjA0NGMxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFn
ZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyUHJveHkuaApAQCAtNDEs
NyArNDEsNyBAQCBwdWJsaWM6CiAKICAgICB1c2luZyBBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZp
ZXIgPSBTdHJpbmc7CiAKLSAgICB2b2lkIHN0b3JlVW5hdHRyaWJ1dGVkKFdlYkNvcmU6OlByaXZh
dGVDbGlja01lYXN1cmVtZW50JiYpIGZpbmFsOworICAgIHZvaWQgc3RvcmVVbmF0dHJpYnV0ZWQo
V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKSBmaW5hbDsKICAgICB2b2lkIGhhbmRsZUF0dHJpYnV0aW9uKFdlYkNvcmU6OlByaXZh
dGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblRyaWdnZXJEYXRhJiYsIGNvbnN0IFVSTCYg
cmVxdWVzdFVSTCwgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mJiByZWRpcmVjdERvbWFpbiwg
Y29uc3QgVVJMJiBmaXJzdFBhcnR5VVJMLCBjb25zdCBBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZp
ZXImKSBmaW5hbDsKICAgICB2b2lkIGNsZWFyKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJikg
ZmluYWw7CiAgICAgdm9pZCBjbGVhckZvclJlZ2lzdHJhYmxlRG9tYWluKGNvbnN0IFdlYkNvcmU6
OlJlZ2lzdHJhYmxlRG9tYWluJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSBmaW5hbDsK
QEAgLTU0LDcgKzU0LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QXR0cmlidXRpb25SZXBvcnRV
UkxzRm9yVGVzdGluZyhVUkwmJiBzb3VyY2VVUkwsIFVSTCYmIGRlc3RpbmF0aW9uVVJMKSBmaW5h
bDsKICAgICB2b2lkIG1hcmtBbGxVbmF0dHJpYnV0ZWRBc0V4cGlyZWRGb3JUZXN0aW5nKCkgZmlu
YWw7CiAgICAgdm9pZCBtYXJrQXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50c0FzRXhw
aXJlZEZvclRlc3RpbmcoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSBmaW5hbDsKLSAgICB2
b2lkIHNldEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVzdGluZyhib29sKSBmaW5hbDsKICAgICB2
b2lkIHNldFBDTUZyYXVkUHJldmVudGlvblZhbHVlc0ZvclRlc3RpbmcoU3RyaW5nJiYgdW5saW5r
YWJsZVRva2VuLCBTdHJpbmcmJiBzZWNyZXRUb2tlbiwgU3RyaW5nJiYgc2lnbmF0dXJlLCBTdHJp
bmcmJiBrZXlJRCkgZmluYWw7CiAgICAgdm9pZCBzdGFydFRpbWVySW1tZWRpYXRlbHlGb3JUZXN0
aW5nKCkgZmluYWw7CiAgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEFwcEJ1bmRs
ZUlERm9yVGVzdGluZyhBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXImJikgZmluYWw7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50U3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dFN0b3JlLmNwcAppbmRleCBmOTA3YWZlOWEwZDAzZjczYTcxODY2ODkwYWUwMzI0MDlmMTgwZDBm
Li45Mjc0ZGRkYzMyOGE0NTIzYWQ5NjAwMGUwNzJhYTcyNjEwMDUzNjhjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZh
dGVDbGlja01lYXN1cmVtZW50U3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTdG9y
ZS5jcHAKQEAgLTc5LDExICs3OSwxMiBAQCB2b2lkIFN0b3JlOjpwb3N0VGFza1JlcGx5KFdURjo6
RnVuY3Rpb248dm9pZCgpPiYmIHJlcGx5KSBjb25zdAogICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNw
YXRjaChXVEZNb3ZlKHJlcGx5KSk7CiB9CiAKLXZvaWQgU3RvcmU6Omluc2VydFByaXZhdGVDbGlj
a01lYXN1cmVtZW50KFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50JiYgYXR0cmlidXRp
b24sIFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25UeXBlIGF0dHJpYnV0aW9uVHlw
ZSkKK3ZvaWQgU3RvcmU6Omluc2VydFByaXZhdGVDbGlja01lYXN1cmVtZW50KFdlYkNvcmU6OlBy
aXZhdGVDbGlja01lYXN1cmVtZW50JiYgYXR0cmlidXRpb24sIFByaXZhdGVDbGlja01lYXN1cmVt
ZW50QXR0cmlidXRpb25UeXBlIGF0dHJpYnV0aW9uVHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHBvc3RUYXNrKFt0aGlzLCBwcm90ZWN0
ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwgYXR0cmlidXRpb24gPSBXVEZNb3ZlKGF0dHJpYnV0aW9u
KSwgYXR0cmlidXRpb25UeXBlXSAoKSBtdXRhYmxlIHsKKyAgICBwb3N0VGFzayhbdGhpcywgcHJv
dGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH0sIGF0dHJpYnV0aW9uID0gV1RGTW92ZShhdHRyaWJ1
dGlvbiksIGF0dHJpYnV0aW9uVHlwZSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKV0gKCkgbXV0YWJsZSB7CiAgICAgICAgIGlmIChtX2RhdGFiYXNlKQogICAg
ICAgICAgICAgbV9kYXRhYmFzZS0+aW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoV1RGTW92
ZShhdHRyaWJ1dGlvbiksIGF0dHJpYnV0aW9uVHlwZSk7CisgICAgICAgIHBvc3RUYXNrUmVwbHko
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogICAgIH0pOwogfQogCkBAIC05NSwyMSArOTYs
MTUgQEAgdm9pZCBTdG9yZTo6bWFya0FsbFVuYXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVt
ZW50QXNFeHBpcmVkRm9yVGVzdGluZygpCiAgICAgfSk7CiB9CiAKLXZvaWQgU3RvcmU6OmF0dHJp
YnV0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50KGNvbnN0IFdlYkNvcmU6OlByaXZhdGVDbGlja01l
YXN1cmVtZW50OjpTb3VyY2VTaXRlJiBzb3VyY2VTaXRlLCBjb25zdCBXZWJDb3JlOjpQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUmIGRlc3RpbmF0aW9u
U2l0ZSwgY29uc3QgQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyJiBhcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXIsIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlv
blRyaWdnZXJEYXRhJiYgYXR0cmlidXRpb25UcmlnZ2VyRGF0YSwgc3RkOjpvcHRpb25hbDxXZWJD
b3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudD4mJiBlcGhlbWVyYWxNZWFzdXJlbWVudCwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlByaXZhdGVDbGlja01l
YXN1cmVtZW50OjpBdHRyaWJ1dGlvblNlY29uZHNVbnRpbFNlbmREYXRhPiYmLCBEZWJ1Z0luZm8m
Jik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFN0b3JlOjphdHRyaWJ1dGVQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudChjb25zdCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291
cmNlU2l0ZSYgc291cmNlU2l0ZSwgY29uc3QgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlJiBkZXN0aW5hdGlvblNpdGUsIGNvbnN0IEFw
cGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciYgYXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyLCBX
ZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YSYm
IGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRp
b25hbDxXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25TZWNvbmRz
VW50aWxTZW5kRGF0YT4mJiwgRGVidWdJbmZvJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewot
ICAgIHBvc3RUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwgc291cmNl
U2l0ZSA9IHNvdXJjZVNpdGUuaXNvbGF0ZWRDb3B5KCksIGRlc3RpbmF0aW9uU2l0ZSA9IGRlc3Rp
bmF0aW9uU2l0ZS5pc29sYXRlZENvcHkoKSwgYXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyID0g
YXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyLmlzb2xhdGVkQ29weSgpLCBhdHRyaWJ1dGlvblRy
aWdnZXJEYXRhID0gV1RGTW92ZShhdHRyaWJ1dGlvblRyaWdnZXJEYXRhKSwgZXBoZW1lcmFsTWVh
c3VyZW1lbnQgPSBjcm9zc1RocmVhZENvcHkoZXBoZW1lcmFsTWVhc3VyZW1lbnQpLCBjb21wbGV0
aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoKSBtdXRhYmxlIHsKKyAg
ICBwb3N0VGFzayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH0sIHNvdXJjZVNp
dGUgPSBzb3VyY2VTaXRlLmlzb2xhdGVkQ29weSgpLCBkZXN0aW5hdGlvblNpdGUgPSBkZXN0aW5h
dGlvblNpdGUuaXNvbGF0ZWRDb3B5KCksIGFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciA9IGFw
cGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllci5pc29sYXRlZENvcHkoKSwgYXR0cmlidXRpb25Ucmln
Z2VyRGF0YSA9IFdURk1vdmUoYXR0cmlidXRpb25UcmlnZ2VyRGF0YSksIGNvbXBsZXRpb25IYW5k
bGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildICgpIG11dGFibGUgewogICAgICAgICBp
ZiAoIW1fZGF0YWJhc2UpIHsKICAgICAgICAgICAgIHJldHVybiBwb3N0VGFza1JlcGx5KFtjb21w
bGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoKSBtdXRhYmxlIHsK
ICAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihzdGQ6Om51bGxvcHQsIHsgfSk7CiAg
ICAgICAgICAgICB9KTsKICAgICAgICAgfQogCi0gICAgICAgIC8vIEluc2VydCBlcGhlbWVyYWwg
bWVhc3VyZW1lbnQgcmlnaHQgYmVmb3JlIGF0dHJpYnV0aW9uLgotICAgICAgICBpZiAoZXBoZW1l
cmFsTWVhc3VyZW1lbnQpIHsKLSAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGVwaGVtZXJhbE1l
YXN1cmVtZW50LT5pc0VwaGVtZXJhbCgpKTsKLSAgICAgICAgICAgIG1fZGF0YWJhc2UtPmluc2Vy
dFByaXZhdGVDbGlja01lYXN1cmVtZW50KFdURk1vdmUoKmVwaGVtZXJhbE1lYXN1cmVtZW50KSwg
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblR5cGU6OlVuYXR0cmlidXRlZCk7Ci0g
ICAgICAgIH0KLQogICAgICAgICBhdXRvIFtzZWNvbmRzLCBkZWJ1Z0luZm9dID0gbV9kYXRhYmFz
ZS0+YXR0cmlidXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoc291cmNlU2l0ZSwgZGVzdGluYXRp
b25TaXRlLCBhcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIsIFdURk1vdmUoYXR0cmlidXRpb25U
cmlnZ2VyRGF0YSkpOwogCiAgICAgICAgIHBvc3RUYXNrUmVwbHkoW3NlY29uZHMgPSBXVEZNb3Zl
KHNlY29uZHMpLCBkZWJ1Z0luZm8gPSBkZWJ1Z0luZm8uaXNvbGF0ZWRDb3B5KCksIGNvbXBsZXRp
b25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50U3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRT
dG9yZS5oCmluZGV4IDg0YjcxNjYyZDdhMWExZjc4YjIzYzUwNWU2YzA3NDNiYzFmZGNmOTkuLjMz
YThkMzZjYzY4NDZjNTViNmM3MTlhNjMxZjk5YTQ2Y2ZkN2ExZDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTdG9yZS5oCkBA
IC01Miw4ICs1Miw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBwcmVwYXJlRm9yUHJvY2Vz
c1RvU3VzcGVuZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHN0YXRpYyB2b2lk
IHByb2Nlc3NEaWRSZXN1bWUoKTsKIAotICAgIHZvaWQgaW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQoV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiwgV2ViS2l0OjpQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uVHlwZSk7Ci0gICAgdm9pZCBhdHRyaWJ1dGVQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudChjb25zdCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dDo6U291cmNlU2l0ZSYsIGNvbnN0IFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpB
dHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSYsIGNvbnN0IEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRp
ZmllciYsIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblRyaWdn
ZXJEYXRhJiYsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ+
JiYgZXBoZW1lcmFsTWVhc3VyZW1lbnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRp
b25hbDxXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25TZWNvbmRz
VW50aWxTZW5kRGF0YT4mJiwgRGVidWdJbmZvJiYpPiYmKTsKKyAgICB2b2lkIGluc2VydFByaXZh
dGVDbGlja01lYXN1cmVtZW50KFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50JiYsIFdl
YktpdDo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblR5cGUsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoKT4mJik7CisgICAgdm9pZCBhdHRyaWJ1dGVQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudChjb25zdCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZSYs
IGNvbnN0IFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRlc3Rp
bmF0aW9uU2l0ZSYsIGNvbnN0IEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciYsIFdlYkNvcmU6
OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblRyaWdnZXJEYXRhJiYsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudDo6QXR0cmlidXRpb25TZWNvbmRzVW50aWxTZW5kRGF0YT4mJiwgRGVidWdJbmZvJiYp
PiYmKTsKIAogICAgIHZvaWQgcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRUb1N0cmluZ0ZvclRlc3Rp
bmcoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcpPiYmKSBjb25zdDsKICAgICB2b2lkIG1h
cmtBbGxVbmF0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEFzRXhwaXJlZEZvclRlc3Rp
bmcoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439790</attachid>
            <date>2021-09-30 16:28:27 -0700</date>
            <delta_ts>2021-10-01 11:13:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231025-20210930162826.patch</filename>
            <type>text/plain</type>
            <size>32040</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMzE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGJlZDkyY2I5ODEwMzNiOGFm
Njk4YzRmY2VkMmM1Mjc2ZjEzN2RlZTYuLmUzNDBmMzQxYzllNzE1NDM2ZjMxY2YyNjRiNTQ1NmMz
Y2FiMWI2YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDQgQEAKKzIwMjEtMDktMzAgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIGVwaGVt
ZXJhbCBQQ00gc3RvcmFnZSBmcm9tIFBDTSBtYW5hZ2VyIHRvIE5ldHdvcmtTZXNzaW9uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwMjUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaXRoIHRoZSBkYWVt
b24sIHdlIHdhbnQgdGhlIG5ldHdvcmsgcHJvY2VzcyB0byBoYW5nIG9uIHRvIGFuIGVwaGVtZXJh
bCBQQ00gaW5zdGVhZCBvZiB0aGUgZGFlbW9uLAorICAgICAgICB3aGljaCBpcyByZXNwb25zaWJs
ZSBmb3IgbWFueSBuZXR3b3JrIHByb2Nlc3Nlcy4gIFdoZW4gYXR0cmlidXRpb24gaGFwcGVucyB3
ZSBpbnNlcnQgdGhlIFBDTSB0aGVuCisgICAgICAgIGF0dHJpYnV0ZSBpdCBsaWtlIHdlIGRpZCBi
ZWZvcmUsIGJ1dCBmcm9tIHRoZSBOZXR3b3JrU2Vzc2lvbiBpbnN0ZWFkIG9mIGZyb20gdGhlIFBD
TSBtYW5hZ2VyLgorCisgICAgICAgIEZ1bmN0aW9uYWxpdHkgY292ZXJlZCBieSBleGlzdGluZyB0
ZXN0cy4KKyAgICAgICAgVGhpcyBqdXN0IHJlZHVjZXMgc3RhdGUgaW4gdGhlIGRhZW1vbi4gIEFs
bCB0aGUgb3RoZXIgc3RhdGUgaW4gdGhlIFBDTSBtYW5hZ2VyIGlzIG9ubHkgdXNlZCBmb3IgdGVz
dHMuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uOjpzdG9yZVByaXZhdGVDbGlja01lYXN1cmVtZW50
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb246OmhhbmRsZVByaXZhdGVDbGlja01l
YXN1cmVtZW50Q29udmVyc2lvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uOjpj
bGVhclByaXZhdGVDbGlja01lYXN1cmVtZW50KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nl
c3Npb246OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JU
ZXN0aW5nKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlj
a01lYXN1cmVtZW50TWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlByaXZhdGVDbGlja01l
YXN1cmVtZW50TWFuYWdlcjo6c3RvcmVVbmF0dHJpYnV0ZWQpOgorICAgICAgICAoV2ViS2l0OjpQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OmdldFNpZ25lZFVubGlua2FibGVUb2tlbik6
CisgICAgICAgIChXZWJLaXQ6OlByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6aW5zZXJ0
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQpOgorICAgICAgICAoV2ViS2l0OjpQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudE1hbmFnZXI6Om1pZ3JhdGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEZyb21MZWdh
Y3lTdG9yYWdlKToKKyAgICAgICAgKFdlYktpdDo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5h
Z2VyOjphdHRyaWJ1dGUpOgorICAgICAgICAoV2ViS2l0OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dE1hbmFnZXI6OmNsZWFyKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuaDoKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJl
bWVudE1hbmFnZXJJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpQQ006Om1lc3NhZ2VU
eXBlU2VuZHNSZXBseSk6CisgICAgICAgIChXZWJLaXQ6OlBDTTo6ZGVjb2RlTWVzc2FnZUFuZFNl
bmRUb01hbmFnZXIpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1
cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlckludGVyZmFjZS5oOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01l
YXN1cmVtZW50TWFuYWdlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UENNOjpNYW5hZ2Vy
UHJveHk6OnN0b3JlVW5hdHRyaWJ1dGVkKToKKyAgICAgICAgKFdlYktpdDo6UENNOjpNYW5hZ2Vy
UHJveHk6OnNldEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVzdGluZyk6IERlbGV0ZWQuCisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRNYW5hZ2VyUHJveHkuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Qcml2
YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudFN0b3JlLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UENNOjpTdG9yZTo6aW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQp
OgorICAgICAgICAoV2ViS2l0OjpQQ006OlN0b3JlOjphdHRyaWJ1dGVQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTdG9yZS5oOgorCiAyMDIxLTA5LTMwICBKb2huIFdp
bGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFBDTTogVGFrZSBhcHAgYnVu
ZGxlIElEIGludG8gY29uc2lkZXJhdGlvbiB3aGVuIG1hdGNoaW5nIHRyaWdnZXJpbmcgZXZlbnRz
IHdpdGggcGVuZGluZyBjbGlja3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Nlc3Npb24uY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrU2Vzc2lvbi5jcHAKaW5kZXggNTM1OWU0Y2M1OGE5MzBmMzI3MDc3YTc3MTI1MWUxNGQz
NTEzZDkwOS4uOTYzZmY4MTQ4M2VkNzVjYTE4MWMyZTUwMjMyZDYyZGY0ZDBlYmJhMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAKQEAgLTMy
MSw3ICszMjEsMTMgQEAgdm9pZCBOZXR3b3JrU2Vzc2lvbjo6cmVzZXRDTkFNRURvbWFpbkRhdGEo
KQogCiB2b2lkIE5ldHdvcmtTZXNzaW9uOjpzdG9yZVByaXZhdGVDbGlja01lYXN1cmVtZW50KFdl
YkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50JiYgdW5hdHRyaWJ1dGVkUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQpCiB7Ci0gICAgcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoKS5zdG9yZVVuYXR0
cmlidXRlZChXVEZNb3ZlKHVuYXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50KSk7Cisg
ICAgaWYgKG1faXNSdW5uaW5nRXBoZW1lcmFsTWVhc3VyZW1lbnRUZXN0KQorICAgICAgICB1bmF0
dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5zZXRFcGhlbWVyYWwoUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRXBoZW1lcmFsOjpZZXMpOworICAgIGlmICh1bmF0dHJp
YnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5pc0VwaGVtZXJhbCgpKSB7CisgICAgICAgIG1f
ZXBoZW1lcmFsTWVhc3VyZW1lbnQgPSBXVEZNb3ZlKHVuYXR0cmlidXRlZFByaXZhdGVDbGlja01l
YXN1cmVtZW50KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBwcml2YXRlQ2xpY2tNZWFz
dXJlbWVudCgpLnN0b3JlVW5hdHRyaWJ1dGVkKFdURk1vdmUodW5hdHRyaWJ1dGVkUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQpLCBbXSB7IH0pOwogfQogCiB2b2lkIE5ldHdvcmtTZXNzaW9uOjpoYW5k
bGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudENvbnZlcnNpb24oUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGEmJiBhdHRyaWJ1dGlvblRyaWdnZXJEYXRhLCBjb25z
dCBVUkwmIHJlcXVlc3RVUkwsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVkaXJl
Y3RSZXF1ZXN0KQpAQCAtMzMxLDYgKzMzNywyOCBAQCB2b2lkIE5ldHdvcmtTZXNzaW9uOjpoYW5k
bGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudENvbnZlcnNpb24oUHJpdmF0ZUNsaWNrTWVhc3VyZQog
I2Vsc2UKICAgICBhdXRvIGFwcEJ1bmRsZUlEID0gU3RyaW5nKCk7CiAjZW5kaWYKKworICAgIGlm
IChtX2VwaGVtZXJhbE1lYXN1cmVtZW50KSB7CisgICAgICAgIGF1dG8gZXBoZW1lcmFsTWVhc3Vy
ZW1lbnQgPSAqc3RkOjpleGNoYW5nZShtX2VwaGVtZXJhbE1lYXN1cmVtZW50LCBzdGQ6Om51bGxv
cHQpOworCisgICAgICAgIGF1dG8gcmVkaXJlY3REb21haW4gPSBSZWdpc3RyYWJsZURvbWFpbihy
ZWRpcmVjdFJlcXVlc3QudXJsKCkpOworICAgICAgICBhdXRvIGZpcnN0UGFydHlGb3JDb29raWVz
ID0gcmVkaXJlY3RSZXF1ZXN0LmZpcnN0UGFydHlGb3JDb29raWVzKCk7CisKKyAgICAgICAgLy8g
RXBoZW1lcmFsIG1lYXN1cmVtZW50IGNhbiBvbmx5IGhhdmUgb25lIHBlbmRpbmcgY2xpY2suCisg
ICAgICAgIGlmIChlcGhlbWVyYWxNZWFzdXJlbWVudC5zb3VyY2VTaXRlKCkucmVnaXN0cmFibGVE
b21haW4gIT0gcmVkaXJlY3REb21haW4pCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGlm
IChlcGhlbWVyYWxNZWFzdXJlbWVudC5kZXN0aW5hdGlvblNpdGUoKS5yZWdpc3RyYWJsZURvbWFp
biAhPSBSZWdpc3RyYWJsZURvbWFpbihmaXJzdFBhcnR5Rm9yQ29va2llcykpCisgICAgICAgICAg
ICByZXR1cm47CisKKyAgICAgICAgLy8gSW5zZXJ0IGVwaGVtZXJhbCBtZWFzdXJlbWVudCByaWdo
dCBiZWZvcmUgYXR0cmlidXRpb24uCisgICAgICAgIHByaXZhdGVDbGlja01lYXN1cmVtZW50KCku
c3RvcmVVbmF0dHJpYnV0ZWQoV1RGTW92ZShlcGhlbWVyYWxNZWFzdXJlbWVudCksIFt0aGlzLCB3
ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgYXR0cmlidXRpb25UcmlnZ2VyRGF0YSA9IFdU
Rk1vdmUoYXR0cmlidXRpb25UcmlnZ2VyRGF0YSksIHJlcXVlc3RVUkwsIHJlZGlyZWN0RG9tYWlu
ID0gV1RGTW92ZShyZWRpcmVjdERvbWFpbiksIGZpcnN0UGFydHlGb3JDb29raWVzID0gV1RGTW92
ZShmaXJzdFBhcnR5Rm9yQ29va2llcyksIGFwcEJ1bmRsZUlEID0gV1RGTW92ZShhcHBCdW5kbGVJ
RCldICgpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgICAgICBwcml2YXRlQ2xpY2tNZWFzdXJlbWVudCgpLmhhbmRs
ZUF0dHJpYnV0aW9uKFdURk1vdmUoYXR0cmlidXRpb25UcmlnZ2VyRGF0YSksIHJlcXVlc3RVUkws
IFdURk1vdmUocmVkaXJlY3REb21haW4pLCBmaXJzdFBhcnR5Rm9yQ29va2llcywgYXBwQnVuZGxl
SUQpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIHByaXZhdGVD
bGlja01lYXN1cmVtZW50KCkuaGFuZGxlQXR0cmlidXRpb24oV1RGTW92ZShhdHRyaWJ1dGlvblRy
aWdnZXJEYXRhKSwgcmVxdWVzdFVSTCwgUmVnaXN0cmFibGVEb21haW4ocmVkaXJlY3RSZXF1ZXN0
LnVybCgpKSwgcmVkaXJlY3RSZXF1ZXN0LmZpcnN0UGFydHlGb3JDb29raWVzKCksIGFwcEJ1bmRs
ZUlEKTsKIH0KIApAQCAtMzQyLDYgKzM3MCw4IEBAIHZvaWQgTmV0d29ya1Nlc3Npb246OmR1bXBQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyk+CiB2
b2lkIE5ldHdvcmtTZXNzaW9uOjpjbGVhclByaXZhdGVDbGlja01lYXN1cmVtZW50KENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBwcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudCgpLmNsZWFyKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAgICBt
X2VwaGVtZXJhbE1lYXN1cmVtZW50ID0gc3RkOjpudWxsb3B0OworICAgIG1faXNSdW5uaW5nRXBo
ZW1lcmFsTWVhc3VyZW1lbnRUZXN0ID0gZmFsc2U7CiB9CiAKIHZvaWQgTmV0d29ya1Nlc3Npb246
OmNsZWFyUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRGb3JSZWdpc3RyYWJsZURvbWFpbihXZWJDb3Jl
OjpSZWdpc3RyYWJsZURvbWFpbiYmIGRvbWFpbiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQpAQCAtMzgxLDcgKzQxMSw3IEBAIHZvaWQgTmV0d29ya1Nlc3Np
b246Om1hcmtQcml2YXRlQ2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKCkKIAog
dm9pZCBOZXR3b3JrU2Vzc2lvbjo6c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRFcGhlbWVyYWxN
ZWFzdXJlbWVudEZvclRlc3RpbmcoYm9vbCB2YWx1ZSkKIHsKLSAgICBwcml2YXRlQ2xpY2tNZWFz
dXJlbWVudCgpLnNldEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVzdGluZyh2YWx1ZSk7CisgICAg
bV9pc1J1bm5pbmdFcGhlbWVyYWxNZWFzdXJlbWVudFRlc3QgPSB2YWx1ZTsKIH0KIAogLy8gRklY
TUU6IFN3aXRjaCB0byBub24tbW9ja2VkIHRlc3QgZGF0YSBvbmNlIHRoZSByaWdodCBjcnlwdG9n
cmFwaHkgbGlicmFyeSBpcyBhdmFpbGFibGUgaW4gb3BlbiBzb3VyY2UuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmggYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmgKaW5kZXggYTRmNzVmMjRhNjhkNDk5
NGJjZDBiODVmNGYwZjJkODdkYThlNWNiMi4uYWMwMGI2MGQ3YmVjOTRhM2FiYTUxODI1NmZlMDdk
ODY5NTBkZmUyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nl
c3Npb24uaApAQCAtMjE1LDYgKzIxNSw4IEBAIHByb3RlY3RlZDoKICNlbmRpZgogICAgIGJvb2wg
bV9pc1N0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgVW5pcXVlUmVm
PFBDTTo6TWFuYWdlckludGVyZmFjZT4gbV9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudDsKKyAgICBz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50PiBtX2VwaGVtZXJh
bE1lYXN1cmVtZW50OworICAgIGJvb2wgbV9pc1J1bm5pbmdFcGhlbWVyYWxNZWFzdXJlbWVudFRl
c3QgeyBmYWxzZSB9OwogCiAgICAgSGFzaFNldDxSZWY8TmV0d29ya1Jlc291cmNlTG9hZGVyPj4g
bV9rZXB0QWxpdmVMb2FkczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFn
ZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJl
bWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuY3BwCmluZGV4IDNkYjM3ZjIzYjg2
NjNjNDBhMTZiZDUzYTc0YmU5ZjIwY2JhOWM4ZWYuLmY0NTEzYTE3ODQ4MWFmZDAxYzRkMjM4YTA0
ZDJmZDdkNGQ2NDk2NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5jcHAKQEAgLTcwLDEwICs3MCwxMCBA
QCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6On5Qcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dE1hbmFnZXIoKQogICAgICAgICBtX3N0b3JlLT5jbG9zZShbXSB7IH0pOwogfQogCi12b2lkIFBy
aXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6c3RvcmVVbmF0dHJpYnV0ZWQoUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQmJiBtZWFzdXJlbWVudCkKK3ZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRNYW5hZ2VyOjpzdG9yZVVuYXR0cmlidXRlZChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmIG1l
YXN1cmVtZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIp
CiB7CiAgICAgaWYgKCFmZWF0dXJlRW5hYmxlZCgpKQotICAgICAgICByZXR1cm47CisgICAgICAg
IHJldHVybiBjb21wbGV0aW9uSGFuZGxlcigpOwogCiAgICAgY2xlYXJFeHBpcmVkKCk7CiAKQEAg
LTEwOSw3ICsxMDksNyBAQCB2b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6c3Rv
cmVVbmF0dHJpYnV0ZWQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJgogCiAgICAgbV9jbGllbnQt
PmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VMZXZlbDo6TG9nLCAiW1ByaXZhdGUgQ2xp
Y2sgTWVhc3VyZW1lbnRdIFN0b3JpbmcgYSBjbGljay4iX3MpOwogCi0gICAgaW5zZXJ0UHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQoV1RGTW92ZShtZWFzdXJlbWVudCksIFByaXZhdGVDbGlja01lYXN1
cmVtZW50QXR0cmlidXRpb25UeXBlOjpVbmF0dHJpYnV0ZWQpOworICAgIGluc2VydFByaXZhdGVD
bGlja01lYXN1cmVtZW50KFdURk1vdmUobWVhc3VyZW1lbnQpLCBQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudEF0dHJpYnV0aW9uVHlwZTo6VW5hdHRyaWJ1dGVkLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSk7CiB9CiAKIHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpnZXRUb2tl
blB1YmxpY0tleShQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmIGF0dHJpYnV0aW9uLCBQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25SZXBvcnRFbmRwb2ludCBhdHRyaWJ1dGlvblJl
cG9ydEVuZHBvaW50LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UGNtRGF0YUNhcnJpZWQgcGNt
RGF0YUNhcnJpZWQsIEZ1bmN0aW9uPHZvaWQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiBhdHRy
aWJ1dGlvbiwgY29uc3QgU3RyaW5nJiBwdWJsaWNLZXlCYXNlNjRVUkwpPiYmIGNhbGxiYWNrKQpA
QCAtMjEyLDI1ICsyMTIsMTkgQEAgdm9pZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6
OmdldFNpZ25lZFVubGlua2FibGVUb2tlbihQcml2YXRlQ2xpY2tNZWFzdXIKIAogICAgICAgICBt
X2NsaWVudC0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UoTWVzc2FnZUxldmVsOjpMb2csICJbUHJp
dmF0ZSBDbGljayBNZWFzdXJlbWVudF0gU3RvcmluZyBhIHNlY3JldCB0b2tlbi4iX3MpOwogCi0g
ICAgICAgIGluc2VydFByaXZhdGVDbGlja01lYXN1cmVtZW50KFdURk1vdmUobWVhc3VyZW1lbnQp
LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uVHlwZTo6VW5hdHRyaWJ1dGVkKTsK
KyAgICAgICAgaW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoV1RGTW92ZShtZWFzdXJlbWVu
dCksIFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25UeXBlOjpVbmF0dHJpYnV0ZWQs
IFtdIHsgfSk7CiAgICAgfSk7CiAKIH0KIAotdm9pZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1h
bmFnZXI6Omluc2VydFByaXZhdGVDbGlja01lYXN1cmVtZW50KFByaXZhdGVDbGlja01lYXN1cmVt
ZW50JiYgbWVhc3VyZW1lbnQsIFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25UeXBl
IHR5cGUpCit2b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6aW5zZXJ0UHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiBtZWFzdXJlbWVudCwg
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblR5cGUgdHlwZSwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIGlmIChtX2lzUnVubmlu
Z0VwaGVtZXJhbE1lYXN1cmVtZW50VGVzdCkKLSAgICAgICAgbWVhc3VyZW1lbnQuc2V0RXBoZW1l
cmFsKFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkVwaGVtZXJhbDo6WWVzKTsK
LSAgICBpZiAobWVhc3VyZW1lbnQuaXNFcGhlbWVyYWwoKSkgewotICAgICAgICBtX2VwaGVtZXJh
bE1lYXN1cmVtZW50ID0gV1RGTW92ZShtZWFzdXJlbWVudCk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0gICAgc3RvcmUoKS5pbnNlcnRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChXVEZNb3ZlKG1l
YXN1cmVtZW50KSwgdHlwZSk7CisgICAgc3RvcmUoKS5pbnNlcnRQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudChXVEZNb3ZlKG1lYXN1cmVtZW50KSwgdHlwZSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cikpOwogfQogCiB2b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6bWlncmF0ZVBy
aXZhdGVDbGlja01lYXN1cmVtZW50RnJvbUxlZ2FjeVN0b3JhZ2UoUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQmJiBtZWFzdXJlbWVudCwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblR5
cGUgdHlwZSkKIHsKLSAgICBzdG9yZSgpLmluc2VydFByaXZhdGVDbGlja01lYXN1cmVtZW50KFdU
Rk1vdmUobWVhc3VyZW1lbnQpLCB0eXBlKTsKKyAgICBzdG9yZSgpLmluc2VydFByaXZhdGVDbGlj
a01lYXN1cmVtZW50KFdURk1vdmUobWVhc3VyZW1lbnQpLCB0eXBlLCBbXSB7IH0pOwogfQogCiB2
b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6aGFuZGxlQXR0cmlidXRpb24oQXR0
cmlidXRpb25UcmlnZ2VyRGF0YSYmIGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEsIGNvbnN0IFVSTCYg
cmVxdWVzdFVSTCwgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mJiByZWRpcmVjdERvbWFpbiwg
Y29uc3QgVVJMJiBmaXJzdFBhcnR5VVJMLCBjb25zdCBBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZp
ZXImIGFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcikKQEAgLTI3NiwxNSArMjcwLDcgQEAgdm9p
ZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OmF0dHJpYnV0ZShjb25zdCBTb3VyY2VT
aXRlJiBzb3VyY2VTaXRlLCBjb24KICAgICBpZiAoIWZlYXR1cmVFbmFibGVkKCkpCiAgICAgICAg
IHJldHVybjsKIAotICAgIGlmIChtX2VwaGVtZXJhbE1lYXN1cmVtZW50KSB7Ci0gICAgICAgIC8v
IEVwaGVtZXJhbCBtZWFzdXJlbWVudCBjYW4gb25seSBoYXZlIG9uZSBwZW5kaW5nIGNsaWNrLgot
ICAgICAgICBpZiAobV9lcGhlbWVyYWxNZWFzdXJlbWVudC0+c291cmNlU2l0ZSgpICE9IHNvdXJj
ZVNpdGUpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmIChtX2VwaGVtZXJhbE1lYXN1
cmVtZW50LT5kZXN0aW5hdGlvblNpdGUoKSAhPSBkZXN0aW5hdGlvblNpdGUpCi0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgfQotICAgICAgICAKLSAgICBzdG9yZSgpLmF0dHJpYnV0ZVByaXZhdGVD
bGlja01lYXN1cmVtZW50KHNvdXJjZVNpdGUsIGRlc3RpbmF0aW9uU2l0ZSwgYXBwbGljYXRpb25C
dW5kbGVJZGVudGlmaWVyLCBXVEZNb3ZlKGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEpLCBzdGQ6OmV4
Y2hhbmdlKG1fZXBoZW1lcmFsTWVhc3VyZW1lbnQsIHN0ZDo6bnVsbG9wdCksIFt0aGlzLCB3ZWFr
VGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0gKGF1dG8gYXR0cmlidXRpb25TZWNvbmRzVW50aWxT
ZW5kRGF0YSwgYXV0byBkZWJ1Z0luZm8pIHsKKyAgICBzdG9yZSgpLmF0dHJpYnV0ZVByaXZhdGVD
bGlja01lYXN1cmVtZW50KHNvdXJjZVNpdGUsIGRlc3RpbmF0aW9uU2l0ZSwgYXBwbGljYXRpb25C
dW5kbGVJZGVudGlmaWVyLCBXVEZNb3ZlKGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEpLCBbdGhpcywg
d2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyldIChhdXRvIGF0dHJpYnV0aW9uU2Vjb25kc1Vu
dGlsU2VuZERhdGEsIGF1dG8gZGVidWdJbmZvKSB7CiAgICAgICAgIGlmICghd2Vha1RoaXMpCiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIApAQCAtNDQ1LDggKzQzMSw2IEBAIHZvaWQgUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpmaXJlUGVuZGluZ0F0dHJpYnV0aW9uUmVxdWVz
dHMoKQogdm9pZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OmNsZWFyKENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBtX2ZpcmVQZW5k
aW5nQXR0cmlidXRpb25SZXF1ZXN0c1RpbWVyLnN0b3AoKTsKLSAgICBtX2VwaGVtZXJhbE1lYXN1
cmVtZW50ID0gc3RkOjpudWxsb3B0OwotICAgIG1faXNSdW5uaW5nRXBoZW1lcmFsTWVhc3VyZW1l
bnRUZXN0ID0gZmFsc2U7CiAgICAgbV9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudEFwcEJ1bmRsZUlE
Rm9yVGVzdGluZyA9IHN0ZDo6bnVsbG9wdDsKIAogICAgIGlmICghZmVhdHVyZUVuYWJsZWQoKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1
cmVtZW50TWFuYWdlci5oCmluZGV4IDY3MWQzOTAxYmE2NTg5NzA0NzAwMzlmOTQ1NGVlZTE1OWMw
NTJmZWQuLmJlZDBhMzZjZmM4MGM0OTE1YmYyNjkxZTE5YmI2ZGY1Y2I4M2RkYTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQv
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dE1hbmFnZXIuaApAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAKICAgICB1c2luZyBBcHBsaWNh
dGlvbkJ1bmRsZUlkZW50aWZpZXIgPSBTdHJpbmc7CiAKLSAgICB2b2lkIHN0b3JlVW5hdHRyaWJ1
dGVkKFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYpIGZpbmFsOworICAgIHZvaWQgc3RvcmVVbmF0
dHJpYnV0ZWQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKSBmaW5hbDsKICAgICB2b2lkIGhhbmRsZUF0dHJpYnV0aW9uKEF0dHJpYnV0aW9uVHJp
Z2dlckRhdGEmJiwgY29uc3QgVVJMJiByZXF1ZXN0VVJMLCBXZWJDb3JlOjpSZWdpc3RyYWJsZURv
bWFpbiYmIHJlZGlyZWN0RG9tYWluLCBjb25zdCBVUkwmIGZpcnN0UGFydHlVUkwsIGNvbnN0IEFw
cGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciYpIGZpbmFsOwogICAgIHZvaWQgY2xlYXIoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZCgpPiYmKSBmaW5hbDsKICAgICB2b2lkIGNsZWFyRm9yUmVnaXN0cmFi
bGVEb21haW4oY29uc3QgUmVnaXN0cmFibGVEb21haW4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYpIGZpbmFsOwpAQCAtNjAsNyArNjAsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBdHRy
aWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKFVSTCYmIHNvdXJjZVVSTCwgVVJMJiYgZGVzdGlu
YXRpb25VUkwpIGZpbmFsOwogICAgIHZvaWQgbWFya0FsbFVuYXR0cmlidXRlZEFzRXhwaXJlZEZv
clRlc3RpbmcoKSBmaW5hbDsKICAgICB2b2lkIG1hcmtBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYp
IGZpbmFsOwotICAgIHZvaWQgc2V0RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JUZXN0aW5nKGJvb2wg
dmFsdWUpIGZpbmFsIHsgbV9pc1J1bm5pbmdFcGhlbWVyYWxNZWFzdXJlbWVudFRlc3QgPSB2YWx1
ZTsgfQogICAgIHZvaWQgc2V0UENNRnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZyhTdHJp
bmcmJiB1bmxpbmthYmxlVG9rZW4sIFN0cmluZyYmIHNlY3JldFRva2VuLCBTdHJpbmcmJiBzaWdu
YXR1cmUsIFN0cmluZyYmIGtleUlEKSBmaW5hbDsKICAgICB2b2lkIHN0YXJ0VGltZXJJbW1lZGlh
dGVseUZvclRlc3RpbmcoKSBmaW5hbDsKICAgICB2b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVt
ZW50QXBwQnVuZGxlSURGb3JUZXN0aW5nKEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciYmKTsK
QEAgLTczLDcgKzcyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHN0YXJ0VGltZXIoU2Vjb25kcyk7
CiAgICAgdm9pZCBnZXRUb2tlblB1YmxpY0tleShQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmLCBQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25SZXBvcnRFbmRwb2ludCwgUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQ6OlBjbURhdGFDYXJyaWVkLCBGdW5jdGlvbjx2b2lkKFByaXZhdGVD
bGlja01lYXN1cmVtZW50JiYgYXR0cmlidXRpb24sIGNvbnN0IFN0cmluZyYgcHVibGljS2V5QmFz
ZTY0VVJMKT4mJik7CiAgICAgdm9pZCBnZXRTaWduZWRVbmxpbmthYmxlVG9rZW4oUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQmJik7Ci0gICAgdm9pZCBpbnNlcnRQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJp
YnV0aW9uVHlwZSk7CisgICAgdm9pZCBpbnNlcnRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudCYmLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9u
VHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIGNsZWFyU2VudEF0
dHJpYnV0aW9uKFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYsIFByaXZhdGVDbGlja01lYXN1cmVt
ZW50OjpBdHRyaWJ1dGlvblJlcG9ydEVuZHBvaW50KTsKICAgICB2b2lkIGF0dHJpYnV0ZShjb25z
dCBTb3VyY2VTaXRlJiwgY29uc3QgQXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUmLCBBdHRyaWJ1
dGlvblRyaWdnZXJEYXRhJiYsIGNvbnN0IEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciYpOwog
ICAgIHZvaWQgZmlyZUNvbnZlcnNpb25SZXF1ZXN0KGNvbnN0IFByaXZhdGVDbGlja01lYXN1cmVt
ZW50JiwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uUmVwb3J0RW5kcG9pbnQp
OwpAQCAtODMsMTAgKzgyLDggQEAgcHJpdmF0ZToKICAgICBib29sIGZlYXR1cmVFbmFibGVkKCkg
Y29uc3Q7CiAgICAgYm9vbCBkZWJ1Z01vZGVFbmFibGVkKCkgY29uc3Q7CiAKLSAgICBzdGQ6Om9w
dGlvbmFsPFByaXZhdGVDbGlja01lYXN1cmVtZW50PiBtX2VwaGVtZXJhbE1lYXN1cmVtZW50Owog
ICAgIFdlYkNvcmU6OlRpbWVyIG1fZmlyZVBlbmRpbmdBdHRyaWJ1dGlvblJlcXVlc3RzVGltZXI7
CiAgICAgYm9vbCBtX2lzUnVubmluZ1Rlc3QgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9pc1J1bm5p
bmdFcGhlbWVyYWxNZWFzdXJlbWVudFRlc3QgeyBmYWxzZSB9OwogICAgIHN0ZDo6b3B0aW9uYWw8
VVJMPiBtX3Rva2VuUHVibGljS2V5VVJMRm9yVGVzdGluZzsKICAgICBzdGQ6Om9wdGlvbmFsPFVS
TD4gbV90b2tlblNpZ25hdHVyZVVSTEZvclRlc3Rpbmc7CiAgICAgc3RkOjpvcHRpb25hbDxBcHBs
aWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI+IG1fcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBcHBCdW5k
bGVJREZvclRlc3Rpbmc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcklu
dGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01l
YXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlckludGVyZmFjZS5jcHAKaW5k
ZXggMzljYzY0ODg2ZjliNGY5NDYyZTAwY2I1MGU1NTJlYzhiZTc1NzQ5OS4uZTQyMjkyZmRjYTY1
YTQxZTk3OWUyYmQxNmUxYTE3Y2E5NmNlMjI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJl
bWVudE1hbmFnZXJJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2Vy
SW50ZXJmYWNlLmNwcApAQCAtNDgsNiArNDgsNyBAQCBuYW1lc3BhY2UgTWVzc2FnZUluZm8gewog
CiBGVU5DVElPTihzdG9yZVVuYXR0cmlidXRlZCkKIEFSR1VNRU5UUyhXZWJDb3JlOjpQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudCkKK1JFUExZKCkKIEVORAogCiBGVU5DVElPTihoYW5kbGVBdHRyaWJ1
dGlvbikKQEAgLTk4LDEwICs5OSw2IEBAIEFSR1VNRU5UUygpCiBSRVBMWSgpCiBFTkQKIAotRlVO
Q1RJT04oc2V0RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JUZXN0aW5nKQotQVJHVU1FTlRTKGJvb2wp
Ci1FTkQKLQogRlVOQ1RJT04oc2V0UENNRnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZykK
IEFSR1VNRU5UUyhTdHJpbmcsIFN0cmluZywgU3RyaW5nLCBTdHJpbmcpCiBFTkQKQEAgLTEzMyw2
ICsxMzAsNyBAQCBFTVBUWV9SRVBMWShjbGVhcik7CiBFTVBUWV9SRVBMWShjbGVhckZvclJlZ2lz
dHJhYmxlRG9tYWluKTsKIEVNUFRZX1JFUExZKG1hcmtBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZyk7CiBFTVBUWV9SRVBMWShkZXN0cm95U3RvcmVG
b3JUZXN0aW5nKTsKK0VNUFRZX1JFUExZKHN0b3JlVW5hdHRyaWJ1dGVkKTsKICN1bmRlZiBFTVBU
WV9SRVBMWQogCiBQQ006OkVuY29kZWRNZXNzYWdlIHRvU3RyaW5nRm9yVGVzdGluZzo6ZW5jb2Rl
UmVwbHkoU3RyaW5nIHJlcGx5KQpAQCAtMTQ3LDcgKzE0NSw2IEBAIFBDTTo6RW5jb2RlZE1lc3Nh
Z2UgdG9TdHJpbmdGb3JUZXN0aW5nOjplbmNvZGVSZXBseShTdHJpbmcgcmVwbHkpCiBib29sIG1l
c3NhZ2VUeXBlU2VuZHNSZXBseShNZXNzYWdlVHlwZSBtZXNzYWdlVHlwZSkKIHsKICAgICBzd2l0
Y2ggKG1lc3NhZ2VUeXBlKSB7Ci0gICAgY2FzZSBNZXNzYWdlVHlwZTo6U3RvcmVVbmF0dHJpYnV0
ZWQ6CiAgICAgY2FzZSBNZXNzYWdlVHlwZTo6SGFuZGxlQXR0cmlidXRpb246CiAgICAgY2FzZSBN
ZXNzYWdlVHlwZTo6TWlncmF0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50RnJvbUxlZ2FjeVN0b3Jh
Z2U6CiAgICAgY2FzZSBNZXNzYWdlVHlwZTo6U2V0T3ZlcnJpZGVUaW1lckZvclRlc3Rpbmc6CkBA
IC0xNTUsMTIgKzE1MiwxMiBAQCBib29sIG1lc3NhZ2VUeXBlU2VuZHNSZXBseShNZXNzYWdlVHlw
ZSBtZXNzYWdlVHlwZSkKICAgICBjYXNlIE1lc3NhZ2VUeXBlOjpTZXRUb2tlblNpZ25hdHVyZVVS
TEZvclRlc3Rpbmc6CiAgICAgY2FzZSBNZXNzYWdlVHlwZTo6U2V0QXR0cmlidXRpb25SZXBvcnRV
UkxzRm9yVGVzdGluZzoKICAgICBjYXNlIE1lc3NhZ2VUeXBlOjpNYXJrQWxsVW5hdHRyaWJ1dGVk
QXNFeHBpcmVkRm9yVGVzdGluZzoKLSAgICBjYXNlIE1lc3NhZ2VUeXBlOjpTZXRFcGhlbWVyYWxN
ZWFzdXJlbWVudEZvclRlc3Rpbmc6CiAgICAgY2FzZSBNZXNzYWdlVHlwZTo6U2V0UENNRnJhdWRQ
cmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZzoKICAgICBjYXNlIE1lc3NhZ2VUeXBlOjpTdGFydFRp
bWVySW1tZWRpYXRlbHlGb3JUZXN0aW5nOgogICAgIGNhc2UgTWVzc2FnZVR5cGU6OlNldFByaXZh
dGVDbGlja01lYXN1cmVtZW50QXBwQnVuZGxlSURGb3JUZXN0aW5nOgogICAgIGNhc2UgTWVzc2Fn
ZVR5cGU6OkFsbG93VExTQ2VydGlmaWNhdGVDaGFpbkZvckxvY2FsUENNVGVzdGluZzoKICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIGNhc2UgTWVzc2FnZVR5cGU6OlN0b3JlVW5hdHRyaWJ1dGVk
OgogICAgIGNhc2UgTWVzc2FnZVR5cGU6Ok1hcmtBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZzoKICAgICBjYXNlIE1lc3NhZ2VUeXBlOjpEZXN0cm95
U3RvcmVGb3JUZXN0aW5nOgogICAgIGNhc2UgTWVzc2FnZVR5cGU6OlRvU3RyaW5nRm9yVGVzdGlu
ZzoKQEAgLTIyNSw3ICsyMjIsNyBAQCB2b2lkIGRlY29kZU1lc3NhZ2VBbmRTZW5kVG9NYW5hZ2Vy
KE1lc3NhZ2VUeXBlIG1lc3NhZ2VUeXBlLCBWZWN0b3I8dWludDhfdD4mJiBlbgogICAgIEFTU0VS
VChtZXNzYWdlVHlwZVNlbmRzUmVwbHkobWVzc2FnZVR5cGUpID09ICEhcmVwbHlTZW5kZXIpOwog
ICAgIHN3aXRjaCAobWVzc2FnZVR5cGUpIHsKICAgICBjYXNlIFBDTTo6TWVzc2FnZVR5cGU6OlN0
b3JlVW5hdHRyaWJ1dGVkOgotICAgICAgICBoYW5kbGVQQ01NZXNzYWdlPE1lc3NhZ2VJbmZvOjpz
dG9yZVVuYXR0cmlidXRlZD4oV1RGTW92ZShlbmNvZGVkTWVzc2FnZSkpOworICAgICAgICBoYW5k
bGVQQ01NZXNzYWdlV2l0aFJlcGx5PE1lc3NhZ2VJbmZvOjpzdG9yZVVuYXR0cmlidXRlZD4oV1RG
TW92ZShlbmNvZGVkTWVzc2FnZSksIFdURk1vdmUocmVwbHlTZW5kZXIpKTsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBQQ006Ok1lc3NhZ2VUeXBlOjpIYW5kbGVBdHRyaWJ1dGlvbjoKICAgICAg
ICAgaGFuZGxlUENNTWVzc2FnZTxNZXNzYWdlSW5mbzo6aGFuZGxlQXR0cmlidXRpb24+KFdURk1v
dmUoZW5jb2RlZE1lc3NhZ2UpKTsKQEAgLTI2MCw5ICsyNTcsNiBAQCB2b2lkIGRlY29kZU1lc3Nh
Z2VBbmRTZW5kVG9NYW5hZ2VyKE1lc3NhZ2VUeXBlIG1lc3NhZ2VUeXBlLCBWZWN0b3I8dWludDhf
dD4mJiBlbgogICAgIGNhc2UgUENNOjpNZXNzYWdlVHlwZTo6TWFya0F0dHJpYnV0ZWRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nOgogICAgICAgICBoYW5kbGVQQ01N
ZXNzYWdlV2l0aFJlcGx5PE1lc3NhZ2VJbmZvOjptYXJrQXR0cmlidXRlZFByaXZhdGVDbGlja01l
YXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3Rpbmc+KFdURk1vdmUoZW5jb2RlZE1lc3NhZ2UpLCBX
VEZNb3ZlKHJlcGx5U2VuZGVyKSk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgUENNOjpNZXNz
YWdlVHlwZTo6U2V0RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JUZXN0aW5nOgotICAgICAgICBoYW5k
bGVQQ01NZXNzYWdlPE1lc3NhZ2VJbmZvOjpzZXRFcGhlbWVyYWxNZWFzdXJlbWVudEZvclRlc3Rp
bmc+KFdURk1vdmUoZW5jb2RlZE1lc3NhZ2UpKTsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQ
Q006Ok1lc3NhZ2VUeXBlOjpTZXRQQ01GcmF1ZFByZXZlbnRpb25WYWx1ZXNGb3JUZXN0aW5nOgog
ICAgICAgICBoYW5kbGVQQ01NZXNzYWdlPE1lc3NhZ2VJbmZvOjpzZXRQQ01GcmF1ZFByZXZlbnRp
b25WYWx1ZXNGb3JUZXN0aW5nPihXVEZNb3ZlKGVuY29kZWRNZXNzYWdlKSk7CiAgICAgICAgIGJy
ZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXJJbnRlcmZhY2UuaCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VySW50ZXJmYWNlLmgKaW5kZXggYTRhOTc0NDg5NzEx
YWI0OGEyMjNmZmM0MmQ4MjA0ZjI2MTkzNzM3ZC4uZGRmZWQzZWI3Y2MxZTQ2MDdhNDgzNWZlNDdl
YmM1ZmFjMGQ5YWMyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXJJbnRl
cmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01l
YXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlckludGVyZmFjZS5oCkBAIC01
Miw3ICs1Miw3IEBAIHB1YmxpYzoKICAgICB1c2luZyBTb3VyY2VTaXRlID0gV2ViQ29yZTo6UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGU7CiAgICAgdXNpbmcgQXBwbGljYXRpb25C
dW5kbGVJZGVudGlmaWVyID0gU3RyaW5nOwogCi0gICAgdmlydHVhbCB2b2lkIHN0b3JlVW5hdHRy
aWJ1dGVkKFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
c3RvcmVVbmF0dHJpYnV0ZWQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCgpPiYmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUF0dHJpYnV0aW9u
KEF0dHJpYnV0aW9uVHJpZ2dlckRhdGEmJiwgY29uc3QgVVJMJiByZXF1ZXN0VVJMLCBXZWJDb3Jl
OjpSZWdpc3RyYWJsZURvbWFpbiYmIHJlZGlyZWN0RG9tYWluLCBjb25zdCBVUkwmIGZpcnN0UGFy
dHlVUkwsIGNvbnN0IEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciYpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgY2xlYXIoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIGNsZWFyRm9yUmVnaXN0cmFibGVEb21haW4oY29uc3QgUmVnaXN0cmFibGVEb21h
aW4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpID0gMDsKQEAgLTY1LDcgKzY1LDYgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0
aW5nKFVSTCYmIHNvdXJjZVVSTCwgVVJMJiYgZGVzdGluYXRpb25VUkwpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgbWFya0FsbFVuYXR0cmlidXRlZEFzRXhwaXJlZEZvclRlc3RpbmcoKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIG1hcmtBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNF
eHBpcmVkRm9yVGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpID0gMDsKLSAgICB2
aXJ0dWFsIHZvaWQgc2V0RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JUZXN0aW5nKGJvb2wpID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0UENNRnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZyhT
dHJpbmcmJiB1bmxpbmthYmxlVG9rZW4sIFN0cmluZyYmIHNlY3JldFRva2VuLCBTdHJpbmcmJiBz
aWduYXR1cmUsIFN0cmluZyYmIGtleUlEKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0VGlt
ZXJJbW1lZGlhdGVseUZvclRlc3RpbmcoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldFByaXZh
dGVDbGlja01lYXN1cmVtZW50QXBwQnVuZGxlSURGb3JUZXN0aW5nKEFwcGxpY2F0aW9uQnVuZGxl
SWRlbnRpZmllciYmKSA9IDA7CkBAIC05MCw3ICs4OSw2IEBAIGVudW0gY2xhc3MgTWVzc2FnZVR5
cGUgOiB1aW50OF90IHsKICAgICBTZXRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nLAog
ICAgIE1hcmtBbGxVbmF0dHJpYnV0ZWRBc0V4cGlyZWRGb3JUZXN0aW5nLAogICAgIE1hcmtBdHRy
aWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZywKLSAgICBT
ZXRFcGhlbWVyYWxNZWFzdXJlbWVudEZvclRlc3RpbmcsCiAgICAgU2V0UENNRnJhdWRQcmV2ZW50
aW9uVmFsdWVzRm9yVGVzdGluZywKICAgICBTdGFydFRpbWVySW1tZWRpYXRlbHlGb3JUZXN0aW5n
LAogICAgIFNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXBwQnVuZGxlSURGb3JUZXN0aW5nLApA
QCAtMTI3LDcgKzEyNSw2IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViS2l0OjpQ
Q006Ok1lc3NhZ2VUeXBlPiB7CiAgICAgICAgIFdlYktpdDo6UENNOjpNZXNzYWdlVHlwZTo6U2V0
QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGluZywKICAgICAgICAgV2ViS2l0OjpQQ006Ok1l
c3NhZ2VUeXBlOjpNYXJrQWxsVW5hdHRyaWJ1dGVkQXNFeHBpcmVkRm9yVGVzdGluZywKICAgICAg
ICAgV2ViS2l0OjpQQ006Ok1lc3NhZ2VUeXBlOjpNYXJrQXR0cmlidXRlZFByaXZhdGVDbGlja01l
YXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3RpbmcsCi0gICAgICAgIFdlYktpdDo6UENNOjpNZXNz
YWdlVHlwZTo6U2V0RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JUZXN0aW5nLAogICAgICAgICBXZWJL
aXQ6OlBDTTo6TWVzc2FnZVR5cGU6OlNldFBDTUZyYXVkUHJldmVudGlvblZhbHVlc0ZvclRlc3Rp
bmcsCiAgICAgICAgIFdlYktpdDo6UENNOjpNZXNzYWdlVHlwZTo6U3RhcnRUaW1lckltbWVkaWF0
ZWx5Rm9yVGVzdGluZywKICAgICAgICAgV2ViS2l0OjpQQ006Ok1lc3NhZ2VUeXBlOjpTZXRQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudEFwcEJ1bmRsZUlERm9yVGVzdGluZywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1h
bmFnZXJQcm94eS5jcHAKaW5kZXggYmRhODVjNDk2YjYwYjFlYjYyMGVlYjcxNDVhYzgxMDNkZjRk
ZWNhMS4uNDMyZjI1YTY4NzBhNzUyMmMwMDE0ZDVlN2U0MDgwODdhMTk0ZDQxZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFz
dXJlbWVudE1hbmFnZXJQcm94eS5jcHAKQEAgLTc1LDkgKzc1LDkgQEAgdm9pZCBNYW5hZ2VyUHJv
eHk6OnNlbmRNZXNzYWdlV2l0aFJlcGx5KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVwbHlBcmdz
Li4uKT4mJgogTWFuYWdlclByb3h5OjpNYW5hZ2VyUHJveHkoY29uc3QgU3RyaW5nJiBtYWNoU2Vy
dmljZU5hbWUpCiAgICAgOiBtX2Nvbm5lY3Rpb24obWFjaFNlcnZpY2VOYW1lLnV0ZjgoKSkgeyB9
CiAKLXZvaWQgTWFuYWdlclByb3h5OjpzdG9yZVVuYXR0cmlidXRlZChXZWJDb3JlOjpQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudCYmIHBjbSkKK3ZvaWQgTWFuYWdlclByb3h5OjpzdG9yZVVuYXR0cmli
dXRlZChXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmIHBjbSwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHNlbmRNZXNzYWdlPE1l
c3NhZ2VUeXBlOjpTdG9yZVVuYXR0cmlidXRlZD4ocGNtKTsKKyAgICBzZW5kTWVzc2FnZVdpdGhS
ZXBseTxNZXNzYWdlVHlwZTo6U3RvcmVVbmF0dHJpYnV0ZWQ+KFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpLCBwY20pOwogfQogCiB2b2lkIE1hbmFnZXJQcm94eTo6aGFuZGxlQXR0cmlidXRpb24o
V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGEm
JiB0cmlnZ2VyRGF0YSwgY29uc3QgVVJMJiByZXF1ZXN0VVJMLCBXZWJDb3JlOjpSZWdpc3RyYWJs
ZURvbWFpbiYmIHJlZGlyZWN0RG9tYWluLCBjb25zdCBVUkwmIGZpcnN0UGFydHlVUkwsIGNvbnN0
IEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciYgYXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVy
KQpAQCAtMTM1LDExICsxMzUsNiBAQCB2b2lkIE1hbmFnZXJQcm94eTo6bWFya0F0dHJpYnV0ZWRQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKENvbQogICAgIHNlbmRN
ZXNzYWdlV2l0aFJlcGx5PE1lc3NhZ2VUeXBlOjpNYXJrQXR0cmlidXRlZFByaXZhdGVDbGlja01l
YXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3Rpbmc+KFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
KTsKIH0KIAotdm9pZCBNYW5hZ2VyUHJveHk6OnNldEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVz
dGluZyhib29sIHZhbHVlKQotewotICAgIHNlbmRNZXNzYWdlPE1lc3NhZ2VUeXBlOjpTZXRFcGhl
bWVyYWxNZWFzdXJlbWVudEZvclRlc3Rpbmc+KHZhbHVlKTsKLX0KLQogdm9pZCBNYW5hZ2VyUHJv
eHk6OnNldFBDTUZyYXVkUHJldmVudGlvblZhbHVlc0ZvclRlc3RpbmcoU3RyaW5nJiYgdW5saW5r
YWJsZVRva2VuLCBTdHJpbmcmJiBzZWNyZXRUb2tlbiwgU3RyaW5nJiYgc2lnbmF0dXJlLCBTdHJp
bmcmJiBrZXlJRCkKIHsKICAgICBzZW5kTWVzc2FnZTxNZXNzYWdlVHlwZTo6U2V0UENNRnJhdWRQ
cmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZz4odW5saW5rYWJsZVRva2VuLCBzZWNyZXRUb2tlbiwg
c2lnbmF0dXJlLCBrZXlJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdl
clByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1
cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlclByb3h5LmgKaW5kZXggMzRiMzQ3
MGFhZWJjY2M5YzZmODc0NGQyM2I0ZjEwYTAxMWM4YWMzZC4uZjRkZGMxY2NiMWQ0YzFiYzdiYTA2
NDI2Yzk0ZjViYmNhNjA0NGMxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFn
ZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyUHJveHkuaApAQCAtNDEs
NyArNDEsNyBAQCBwdWJsaWM6CiAKICAgICB1c2luZyBBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZp
ZXIgPSBTdHJpbmc7CiAKLSAgICB2b2lkIHN0b3JlVW5hdHRyaWJ1dGVkKFdlYkNvcmU6OlByaXZh
dGVDbGlja01lYXN1cmVtZW50JiYpIGZpbmFsOworICAgIHZvaWQgc3RvcmVVbmF0dHJpYnV0ZWQo
V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKSBmaW5hbDsKICAgICB2b2lkIGhhbmRsZUF0dHJpYnV0aW9uKFdlYkNvcmU6OlByaXZh
dGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblRyaWdnZXJEYXRhJiYsIGNvbnN0IFVSTCYg
cmVxdWVzdFVSTCwgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mJiByZWRpcmVjdERvbWFpbiwg
Y29uc3QgVVJMJiBmaXJzdFBhcnR5VVJMLCBjb25zdCBBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZp
ZXImKSBmaW5hbDsKICAgICB2b2lkIGNsZWFyKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJikg
ZmluYWw7CiAgICAgdm9pZCBjbGVhckZvclJlZ2lzdHJhYmxlRG9tYWluKGNvbnN0IFdlYkNvcmU6
OlJlZ2lzdHJhYmxlRG9tYWluJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSBmaW5hbDsK
QEAgLTU0LDcgKzU0LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QXR0cmlidXRpb25SZXBvcnRV
UkxzRm9yVGVzdGluZyhVUkwmJiBzb3VyY2VVUkwsIFVSTCYmIGRlc3RpbmF0aW9uVVJMKSBmaW5h
bDsKICAgICB2b2lkIG1hcmtBbGxVbmF0dHJpYnV0ZWRBc0V4cGlyZWRGb3JUZXN0aW5nKCkgZmlu
YWw7CiAgICAgdm9pZCBtYXJrQXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50c0FzRXhw
aXJlZEZvclRlc3RpbmcoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSBmaW5hbDsKLSAgICB2
b2lkIHNldEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVzdGluZyhib29sKSBmaW5hbDsKICAgICB2
b2lkIHNldFBDTUZyYXVkUHJldmVudGlvblZhbHVlc0ZvclRlc3RpbmcoU3RyaW5nJiYgdW5saW5r
YWJsZVRva2VuLCBTdHJpbmcmJiBzZWNyZXRUb2tlbiwgU3RyaW5nJiYgc2lnbmF0dXJlLCBTdHJp
bmcmJiBrZXlJRCkgZmluYWw7CiAgICAgdm9pZCBzdGFydFRpbWVySW1tZWRpYXRlbHlGb3JUZXN0
aW5nKCkgZmluYWw7CiAgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEFwcEJ1bmRs
ZUlERm9yVGVzdGluZyhBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXImJikgZmluYWw7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50U3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dFN0b3JlLmNwcAppbmRleCBmOTA3YWZlOWEwZDAzZjczYTcxODY2ODkwYWUwMzI0MDlmMTgwZDBm
Li45Mjc0ZGRkYzMyOGE0NTIzYWQ5NjAwMGUwNzJhYTcyNjEwMDUzNjhjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZh
dGVDbGlja01lYXN1cmVtZW50U3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTdG9y
ZS5jcHAKQEAgLTc5LDExICs3OSwxMiBAQCB2b2lkIFN0b3JlOjpwb3N0VGFza1JlcGx5KFdURjo6
RnVuY3Rpb248dm9pZCgpPiYmIHJlcGx5KSBjb25zdAogICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNw
YXRjaChXVEZNb3ZlKHJlcGx5KSk7CiB9CiAKLXZvaWQgU3RvcmU6Omluc2VydFByaXZhdGVDbGlj
a01lYXN1cmVtZW50KFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50JiYgYXR0cmlidXRp
b24sIFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25UeXBlIGF0dHJpYnV0aW9uVHlw
ZSkKK3ZvaWQgU3RvcmU6Omluc2VydFByaXZhdGVDbGlja01lYXN1cmVtZW50KFdlYkNvcmU6OlBy
aXZhdGVDbGlja01lYXN1cmVtZW50JiYgYXR0cmlidXRpb24sIFByaXZhdGVDbGlja01lYXN1cmVt
ZW50QXR0cmlidXRpb25UeXBlIGF0dHJpYnV0aW9uVHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHBvc3RUYXNrKFt0aGlzLCBwcm90ZWN0
ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwgYXR0cmlidXRpb24gPSBXVEZNb3ZlKGF0dHJpYnV0aW9u
KSwgYXR0cmlidXRpb25UeXBlXSAoKSBtdXRhYmxlIHsKKyAgICBwb3N0VGFzayhbdGhpcywgcHJv
dGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH0sIGF0dHJpYnV0aW9uID0gV1RGTW92ZShhdHRyaWJ1
dGlvbiksIGF0dHJpYnV0aW9uVHlwZSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKV0gKCkgbXV0YWJsZSB7CiAgICAgICAgIGlmIChtX2RhdGFiYXNlKQogICAg
ICAgICAgICAgbV9kYXRhYmFzZS0+aW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoV1RGTW92
ZShhdHRyaWJ1dGlvbiksIGF0dHJpYnV0aW9uVHlwZSk7CisgICAgICAgIHBvc3RUYXNrUmVwbHko
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogICAgIH0pOwogfQogCkBAIC05NSwyMSArOTYs
MTUgQEAgdm9pZCBTdG9yZTo6bWFya0FsbFVuYXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVt
ZW50QXNFeHBpcmVkRm9yVGVzdGluZygpCiAgICAgfSk7CiB9CiAKLXZvaWQgU3RvcmU6OmF0dHJp
YnV0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50KGNvbnN0IFdlYkNvcmU6OlByaXZhdGVDbGlja01l
YXN1cmVtZW50OjpTb3VyY2VTaXRlJiBzb3VyY2VTaXRlLCBjb25zdCBXZWJDb3JlOjpQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUmIGRlc3RpbmF0aW9u
U2l0ZSwgY29uc3QgQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyJiBhcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXIsIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlv
blRyaWdnZXJEYXRhJiYgYXR0cmlidXRpb25UcmlnZ2VyRGF0YSwgc3RkOjpvcHRpb25hbDxXZWJD
b3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudD4mJiBlcGhlbWVyYWxNZWFzdXJlbWVudCwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlByaXZhdGVDbGlja01l
YXN1cmVtZW50OjpBdHRyaWJ1dGlvblNlY29uZHNVbnRpbFNlbmREYXRhPiYmLCBEZWJ1Z0luZm8m
Jik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFN0b3JlOjphdHRyaWJ1dGVQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudChjb25zdCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291
cmNlU2l0ZSYgc291cmNlU2l0ZSwgY29uc3QgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlJiBkZXN0aW5hdGlvblNpdGUsIGNvbnN0IEFw
cGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciYgYXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyLCBX
ZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YSYm
IGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRp
b25hbDxXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25TZWNvbmRz
VW50aWxTZW5kRGF0YT4mJiwgRGVidWdJbmZvJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewot
ICAgIHBvc3RUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwgc291cmNl
U2l0ZSA9IHNvdXJjZVNpdGUuaXNvbGF0ZWRDb3B5KCksIGRlc3RpbmF0aW9uU2l0ZSA9IGRlc3Rp
bmF0aW9uU2l0ZS5pc29sYXRlZENvcHkoKSwgYXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyID0g
YXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyLmlzb2xhdGVkQ29weSgpLCBhdHRyaWJ1dGlvblRy
aWdnZXJEYXRhID0gV1RGTW92ZShhdHRyaWJ1dGlvblRyaWdnZXJEYXRhKSwgZXBoZW1lcmFsTWVh
c3VyZW1lbnQgPSBjcm9zc1RocmVhZENvcHkoZXBoZW1lcmFsTWVhc3VyZW1lbnQpLCBjb21wbGV0
aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoKSBtdXRhYmxlIHsKKyAg
ICBwb3N0VGFzayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH0sIHNvdXJjZVNp
dGUgPSBzb3VyY2VTaXRlLmlzb2xhdGVkQ29weSgpLCBkZXN0aW5hdGlvblNpdGUgPSBkZXN0aW5h
dGlvblNpdGUuaXNvbGF0ZWRDb3B5KCksIGFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciA9IGFw
cGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllci5pc29sYXRlZENvcHkoKSwgYXR0cmlidXRpb25Ucmln
Z2VyRGF0YSA9IFdURk1vdmUoYXR0cmlidXRpb25UcmlnZ2VyRGF0YSksIGNvbXBsZXRpb25IYW5k
bGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildICgpIG11dGFibGUgewogICAgICAgICBp
ZiAoIW1fZGF0YWJhc2UpIHsKICAgICAgICAgICAgIHJldHVybiBwb3N0VGFza1JlcGx5KFtjb21w
bGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoKSBtdXRhYmxlIHsK
ICAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihzdGQ6Om51bGxvcHQsIHsgfSk7CiAg
ICAgICAgICAgICB9KTsKICAgICAgICAgfQogCi0gICAgICAgIC8vIEluc2VydCBlcGhlbWVyYWwg
bWVhc3VyZW1lbnQgcmlnaHQgYmVmb3JlIGF0dHJpYnV0aW9uLgotICAgICAgICBpZiAoZXBoZW1l
cmFsTWVhc3VyZW1lbnQpIHsKLSAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGVwaGVtZXJhbE1l
YXN1cmVtZW50LT5pc0VwaGVtZXJhbCgpKTsKLSAgICAgICAgICAgIG1fZGF0YWJhc2UtPmluc2Vy
dFByaXZhdGVDbGlja01lYXN1cmVtZW50KFdURk1vdmUoKmVwaGVtZXJhbE1lYXN1cmVtZW50KSwg
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblR5cGU6OlVuYXR0cmlidXRlZCk7Ci0g
ICAgICAgIH0KLQogICAgICAgICBhdXRvIFtzZWNvbmRzLCBkZWJ1Z0luZm9dID0gbV9kYXRhYmFz
ZS0+YXR0cmlidXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoc291cmNlU2l0ZSwgZGVzdGluYXRp
b25TaXRlLCBhcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIsIFdURk1vdmUoYXR0cmlidXRpb25U
cmlnZ2VyRGF0YSkpOwogCiAgICAgICAgIHBvc3RUYXNrUmVwbHkoW3NlY29uZHMgPSBXVEZNb3Zl
KHNlY29uZHMpLCBkZWJ1Z0luZm8gPSBkZWJ1Z0luZm8uaXNvbGF0ZWRDb3B5KCksIGNvbXBsZXRp
b25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50U3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRT
dG9yZS5oCmluZGV4IDg0YjcxNjYyZDdhMWExZjc4YjIzYzUwNWU2YzA3NDNiYzFmZGNmOTkuLjMz
YThkMzZjYzY4NDZjNTViNmM3MTlhNjMxZjk5YTQ2Y2ZkN2ExZDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTdG9yZS5oCkBA
IC01Miw4ICs1Miw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBwcmVwYXJlRm9yUHJvY2Vz
c1RvU3VzcGVuZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHN0YXRpYyB2b2lk
IHByb2Nlc3NEaWRSZXN1bWUoKTsKIAotICAgIHZvaWQgaW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQoV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiwgV2ViS2l0OjpQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uVHlwZSk7Ci0gICAgdm9pZCBhdHRyaWJ1dGVQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudChjb25zdCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dDo6U291cmNlU2l0ZSYsIGNvbnN0IFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpB
dHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSYsIGNvbnN0IEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRp
ZmllciYsIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblRyaWdn
ZXJEYXRhJiYsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ+
JiYgZXBoZW1lcmFsTWVhc3VyZW1lbnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRp
b25hbDxXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25TZWNvbmRz
VW50aWxTZW5kRGF0YT4mJiwgRGVidWdJbmZvJiYpPiYmKTsKKyAgICB2b2lkIGluc2VydFByaXZh
dGVDbGlja01lYXN1cmVtZW50KFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50JiYsIFdl
YktpdDo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblR5cGUsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoKT4mJik7CisgICAgdm9pZCBhdHRyaWJ1dGVQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudChjb25zdCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZSYs
IGNvbnN0IFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRlc3Rp
bmF0aW9uU2l0ZSYsIGNvbnN0IEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciYsIFdlYkNvcmU6
OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblRyaWdnZXJEYXRhJiYsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudDo6QXR0cmlidXRpb25TZWNvbmRzVW50aWxTZW5kRGF0YT4mJiwgRGVidWdJbmZvJiYp
PiYmKTsKIAogICAgIHZvaWQgcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRUb1N0cmluZ0ZvclRlc3Rp
bmcoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcpPiYmKSBjb25zdDsKICAgICB2b2lkIG1h
cmtBbGxVbmF0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEFzRXhwaXJlZEZvclRlc3Rp
bmcoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>