<?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>223413</bug_id>
          
          <creation_ts>2021-03-17 20:23:00 -0700</creation_ts>
          <short_desc>Add PropertyName parameter to custom setters to allow shared implementations to do late name lookup</short_desc>
          <delta_ts>2021-04-01 12:51:54 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=224065</see_also>
          <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="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>alecflett</cc>
    
    <cc>ashvayka</cc>
    
    <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jsbell</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1741015</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-03-17 20:23:00 -0700</bug_when>
    <thetext>Add PropertyName parameter to custom setters to allow shared implementations to do late name lookup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741016</commentid>
    <comment_count>1</comment_count>
      <attachid>423556</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-03-17 20:27:07 -0700</bug_when>
    <thetext>Created attachment 423556
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741313</commentid>
    <comment_count>2</comment_count>
      <attachid>423556</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-03-18 11:59:45 -0700</bug_when>
    <thetext>Comment on attachment 423556
Patch

Marvelous!
Saam confirmed we are OK with this.

Could you please remove this comment (https://github.com/WebKit/WebKit/blob/9c1958b2b1f097707106ad5b4096a68a0d8e88f5/Source/JavaScriptCore/runtime/Lookup.h#L46-L47) on signature? The second argument isn&apos;t necessarily an object, and PropertyName is now needed.

With proper DOMJIT support, we could optimize setters similarly to https://bugs.webkit.org/show_bug.cgi?id=171637 in future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741314</commentid>
    <comment_count>3</comment_count>
      <attachid>423556</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-18 12:01:05 -0700</bug_when>
    <thetext>Comment on attachment 423556
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:8
&gt; +        [WIP]

Says [WIP] and r+. Something is fishy :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741381</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-03-18 13:33:22 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #3)
&gt; Says [WIP] and r+. Something is fishy :)

While there is no ChangeLog, the approach was discussed in length with Sam &amp; JSC folks; the implementation is flawless, so I went ahead with review even though there was no formal r?

I am sure Sam will land with ChangeLog explaining why this change is needed, and why this approach was chosen among other options for CSSStyleDeclaration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741729</commentid>
    <comment_count>5</comment_count>
      <attachid>423735</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-03-19 09:17:06 -0700</bug_when>
    <thetext>Created attachment 423735
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741734</commentid>
    <comment_count>6</comment_count>
      <attachid>423736</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-03-19 09:23:22 -0700</bug_when>
    <thetext>Created attachment 423736
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741768</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-19 10:24:19 -0700</bug_when>
    <thetext>Committed r274724: &lt;https://commits.webkit.org/r274724&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423736.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741771</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-19 10:25:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/75625592&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423556</attachid>
            <date>2021-03-17 20:27:07 -0700</date>
            <delta_ts>2021-03-19 09:17:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223413-20210317202706.patch</filename>
            <type>text/plain</type>
            <size>201511</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjc0NjEwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQwIEBA
CisyMDIxLTAzLTE3ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgUHJvcGVydHlOYW1lIHBhcmFtZXRlciB0byBjdXN0b20gc2V0dGVycyB0byBhbGxvdyBzaGFy
ZWQgaW1wbGVtZW50YXRpb25zIHRvIGRvIGxhdGUgbmFtZSBsb29rdXAKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzQxMworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtXSVBdCisKKyAgICAgICAgQWRkcyBh
IFByb3BlcnR5TmFtZSBwYXJhbWV0ZXIgdG8gY3VzdG9tIHNldHRlcnMsIG1hdGNoaW5nIHRoZSBv
bmUgYWxyZWFkeQorICAgICAgICBwYXNzZWQgdG8gY3VzdG9tIGdldHRlcnMuCisKKyAgICAgICAg
KiBieXRlY29kZS9BY2Nlc3NDYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Z2Vu
ZXJhdGVJbXBsKToKKyAgICAgICAgKiBqc2MuY3BwOgorICAgICAgICAoSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKToKKyAgICAgICAgKiBydW50aW1lL0N1c3RvbUdldHRlclNldHRlci5jcHA6Cisg
ICAgICAgIChKU0M6OmNhbGxDdXN0b21TZXR0ZXIpOgorICAgICAgICAqIHJ1bnRpbWUvQ3VzdG9t
R2V0dGVyU2V0dGVyLmg6CisgICAgICAgICogcnVudGltZS9KU0NKU1ZhbHVlLmNwcDoKKyAgICAg
ICAgKEpTQzo6SlNWYWx1ZTo6cHV0VG9QcmltaXRpdmUpOgorICAgICAgICAqIHJ1bnRpbWUvSlND
dXN0b21TZXR0ZXJGdW5jdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9G
VU5DVElPTik6CisgICAgICAgIChKU0M6OkpTQ3VzdG9tU2V0dGVyRnVuY3Rpb246OkpTQ3VzdG9t
U2V0dGVyRnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpKU0N1c3RvbVNldHRlckZ1bmN0aW9uOjpj
cmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNDdXN0b21TZXR0ZXJGdW5jdGlvbi5oOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6cHV0
SW5saW5lU2xvdyk6CisgICAgICAgICogcnVudGltZS9Mb29rdXAuaDoKKyAgICAgICAgKEpTQzo6
cHV0RW50cnkpOgorICAgICAgICAqIHJ1bnRpbWUvUHJvcGVydHlTbG90Lmg6CisgICAgICAgICog
cnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUik6CisgICAgICAgICogcnVudGltZS9SZWdFeHBPYmplY3QuY3BwOgorICAg
ICAgICAoSlNDOjpKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgorICAgICAgICAqIHRvb2xzL0pT
RG9sbGFyVk0uY3BwOgorCiAyMDIxLTAzLTE3ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGlu
Z0Bzb255LmNvbT4KIAogICAgICAgICBbSlNDXSBFcnJvciNjYXVzZSBzaG91bGQgYXBwbHkgdG8g
V2ViQXNzZW1ibHkgZXJyb3IgY29uc3RydWN0b3JzIHRvbwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2pzYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5j
cHAJKHJldmlzaW9uIDI3NDU5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03NDcsNyArNzQ3LDcgQEAgR2xvYmFsT2JqZWN0OjpHbG9iYWxPYmpl
Y3QoVk0mIHZtLCBTdHJ1YwogewogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIodGVzdEN1
c3RvbUFjY2Vzc29yU2V0dGVyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkK
K0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUih0ZXN0Q3VzdG9tQWNjZXNzb3JTZXR0ZXIsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgVk0m
IHZtID0gbGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBSRUxFQVNFX0FTU0VSVChKU1Zh
bHVlOjpkZWNvZGUodGhpc1ZhbHVlKS5pc0NlbGwoKSk7CkBAIC03NTgsNyArNzU4LDcgQEAgSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHRlc3RDdXN0b21BY2NlcwogICAgIHJldHVybiBHbG9iYWxP
YmplY3Q6OnRlc3RDdXN0b21TZXR0ZXJJbXBsKGxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNPYmpl
Y3QsIGVuY29kZWRWYWx1ZSwgIl90ZXN0Q3VzdG9tQWNjZXNzb3JTZXR0ZXIiKTsKIH0KIAotSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHRlc3RDdXN0b21WYWx1ZVNldHRlciwgKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIodGVzdEN1
c3RvbVZhbHVlU2V0dGVyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9w
ZXJ0eU5hbWUpKQogewogICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmplY3QtPnZtKCk7CiAg
ICAgUkVMRUFTRV9BU1NFUlQoSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkuaXNDZWxsKCkpOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAko
cmV2aXNpb24gMjc0NTk3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vz
c0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzU4LDcgKzE3NTgsNyBAQCB2b2lkIEFjY2Vz
c0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAgICAgICAgICAgICBHUFJSZWcgcmVjZWl2
ZXJGb3JDdXN0b21HZXRHUFIgPSBiYXNlR1BSICE9IHRoaXNHUFIgPyB0aGlzR1BSIDogcmVjZWl2
ZXJHUFI7CiAKICAgICAgICAgICAgIC8vIGdldHRlcjogRW5jb2RlZEpTVmFsdWUgKCpHZXRWYWx1
ZUZ1bmMpKEpTR2xvYmFsT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0
eU5hbWUpOwotICAgICAgICAgICAgLy8gc2V0dGVyOiBib29sICgqUHV0VmFsdWVGdW5jKShKU0ds
b2JhbE9iamVjdCosIEVuY29kZWRKU1ZhbHVlIHRoaXNPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHZh
bHVlKTsKKyAgICAgICAgICAgIC8vIHNldHRlcjogYm9vbCAoKlB1dFZhbHVlRnVuYykoSlNHbG9i
YWxPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSB0aGlzT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB2YWx1
ZSwgUHJvcGVydHlOYW1lKTsKICAgICAgICAgICAgIC8vIEN1c3RvbSB2YWx1ZXMgYXJlIHBhc3Nl
ZCB0aGUgc2xvdEJhc2UgKHRoZSBwcm9wZXJ0eSBob2xkZXIpLCBjdXN0b20gYWNjZXNzb3JzIGFy
ZSBwYXNzZWQgdGhlIHRoaXNWYWx1ZSAocmVjZWl2ZXIpLgogICAgICAgICAgICAgR1BSUmVnIGJh
c2VGb3JDdXN0b20gPSB0YWtlc1Byb3BlcnR5T3duZXJBc0NGdW5jdGlvbkFyZ3VtZW50ID8gcHJv
cGVydHlPd25lckdQUiA6IHJlY2VpdmVyRm9yQ3VzdG9tR2V0R1BSOyAKICAgICAgICAgICAgIC8v
IFdlIGRvIG5vdCBuZWVkIHRvIGtlZXAgZ2xvYmFsT2JqZWN0IGFsaXZlIHNpbmNlIHRoZSBvd25l
ciBDb2RlQmxvY2sgKGV2ZW4gaWYgSlNHbG9iYWxPYmplY3QqIGlzIG9uZSBvZiBDb2RlQmxvY2sg
dGhhdCBpcyBpbmxpbmVkIGFuZCBoZWxkIGJ5IERGRyBDb2RlQmxvY2spCkBAIC0xNzgzLDEyICsx
NzgzLDE0IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAg
ICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihnbG9iYWxPYmpl
Y3QpLAogICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpDZWxsVmFsdWUoYmFz
ZUZvckN1c3RvbSksCiAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZVJlZ3MsCisgICAgICAg
ICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIodWlkKCkpLAogICAg
ICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKHRoaXMtPmFz
PEdldHRlclNldHRlckFjY2Vzc0Nhc2U+KCkubV9jdXN0b21BY2Nlc3Nvci5leGVjdXRhYmxlQWRk
cmVzcygpKSk7CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAg
aml0LnNldHVwQXJndW1lbnRzPFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigKICAgICAg
ICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihnbG9iYWxPYmpl
Y3QpLAogICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpDZWxsVmFsdWUoYmFz
ZUZvckN1c3RvbSksCi0gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZVJlZ3MpOworICAgICAg
ICAgICAgICAgICAgICAgICAgdmFsdWVSZWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0Nh
bGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKHVpZCgpKSk7CiAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgfQogICAgICAgICAgICAgaml0LnN0b3JlUHRyKEdQUkluZm86OmNhbGxGcmFtZVJl
Z2lzdGVyLCAmdm0udG9wQ2FsbEZyYW1lKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0N1c3RvbUdldHRlclNldHRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ3VzdG9tR2V0dGVyU2V0dGVyLmNwcAkocmV2aXNpb24gMjc0NTk3
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ3VzdG9tR2V0dGVyU2V0dGVyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzUsMTkgKzM1LDE5IEBAIFNUQVRJQ19BU1NFUlRfSVNfVFJJ
VklBTExZX0RFU1RSVUNUSUJMRSgKIAogY29uc3QgQ2xhc3NJbmZvIEN1c3RvbUdldHRlclNldHRl
cjo6c19pbmZvID0geyAiQ3VzdG9tR2V0dGVyU2V0dGVyIiwgbnVsbHB0ciwgbnVsbHB0ciwgbnVs
bHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShDdXN0b21HZXR0ZXJTZXR0ZXIpIH07CiAKLVRyaVN0
YXRlIGNhbGxDdXN0b21TZXR0ZXIoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ3VzdG9t
R2V0dGVyU2V0dGVyOjpDdXN0b21TZXR0ZXIgc2V0dGVyLCBib29sIGlzQWNjZXNzb3IsIEpTT2Jq
ZWN0KiBzbG90QmFzZSwgSlNWYWx1ZSB0aGlzVmFsdWUsIEpTVmFsdWUgdmFsdWUpCitUcmlTdGF0
ZSBjYWxsQ3VzdG9tU2V0dGVyKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEN1c3RvbUdl
dHRlclNldHRlcjo6Q3VzdG9tU2V0dGVyIHNldHRlciwgYm9vbCBpc0FjY2Vzc29yLCBKU09iamVj
dCogc2xvdEJhc2UsIEpTVmFsdWUgdGhpc1ZhbHVlLCBKU1ZhbHVlIHZhbHVlLCBQcm9wZXJ0eU5h
bWUgcHJvcGVydHlOYW1lKQogewogICAgIGlmIChpc0FjY2Vzc29yKSB7CiAgICAgICAgIGlmICgh
c2V0dGVyKQogICAgICAgICAgICAgcmV0dXJuIFRyaVN0YXRlOjpGYWxzZTsKLSAgICAgICAgc2V0
dGVyKGdsb2JhbE9iamVjdCwgSlNWYWx1ZTo6ZW5jb2RlKHRoaXNWYWx1ZSksIEpTVmFsdWU6OmVu
Y29kZSh2YWx1ZSkpOworICAgICAgICBzZXR0ZXIoZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlOjplbmNv
ZGUodGhpc1ZhbHVlKSwgSlNWYWx1ZTo6ZW5jb2RlKHZhbHVlKSwgcHJvcGVydHlOYW1lKTsKICAg
ICAgICAgLy8gQWx3YXlzIHJldHVybiB0cnVlIGlmIHRoZXJlIGlzIGEgc2V0dGVyIGFuZCBpdCBp
cyBvYnNlcnZlZCBhcyBhbiBhY2Nlc3NvciB0byB1c2Vycy4KICAgICAgICAgcmV0dXJuIFRyaVN0
YXRlOjpUcnVlOwogICAgIH0KIAogICAgIGlmICghc2V0dGVyKQogICAgICAgICByZXR1cm4gVHJp
U3RhdGU6OkluZGV0ZXJtaW5hdGU7Ci0gICAgcmV0dXJuIHRyaVN0YXRlKHNldHRlcihnbG9iYWxP
YmplY3QsIEpTVmFsdWU6OmVuY29kZShzbG90QmFzZSksIEpTVmFsdWU6OmVuY29kZSh2YWx1ZSkp
KTsKKyAgICByZXR1cm4gdHJpU3RhdGUoc2V0dGVyKGdsb2JhbE9iamVjdCwgSlNWYWx1ZTo6ZW5j
b2RlKHNsb3RCYXNlKSwgSlNWYWx1ZTo6ZW5jb2RlKHZhbHVlKSwgcHJvcGVydHlOYW1lKSk7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ3VzdG9tR2V0dGVyU2V0dGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQ3VzdG9tR2V0dGVyU2V0dGVyLmgJKHJldmlzaW9uIDI3NDU5NykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0N1c3RvbUdldHRlclNldHRlci5oCSh3b3JraW5n
IGNvcHkpCkBAIC03Niw2ICs3Niw2IEBAIHByaXZhdGU6CiAgICAgQ3VzdG9tU2V0dGVyIG1fc2V0
dGVyOwogfTsKIAotSlNfRVhQT1JUX1BSSVZBVEUgVHJpU3RhdGUgY2FsbEN1c3RvbVNldHRlcihK
U0dsb2JhbE9iamVjdCosIEN1c3RvbUdldHRlclNldHRlcjo6Q3VzdG9tU2V0dGVyLCBib29sIGlz
QWNjZXNzb3IsIEpTT2JqZWN0KiBzbG90QmFzZSwgSlNWYWx1ZSB0aGlzVmFsdWUsIEpTVmFsdWUp
OworSlNfRVhQT1JUX1BSSVZBVEUgVHJpU3RhdGUgY2FsbEN1c3RvbVNldHRlcihKU0dsb2JhbE9i
amVjdCosIEN1c3RvbUdldHRlclNldHRlcjo6Q3VzdG9tU2V0dGVyLCBib29sIGlzQWNjZXNzb3Is
IEpTT2JqZWN0KiBzbG90QmFzZSwgSlNWYWx1ZSB0aGlzVmFsdWUsIEpTVmFsdWUsIFByb3BlcnR5
TmFtZSk7CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHJldmlzaW9uIDI3NDU5NykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
NjQsNyArMjY0LDcgQEAgYm9vbCBKU1ZhbHVlOjpwdXRUb1ByaW1pdGl2ZShKU0dsb2JhbE9iagog
ICAgICAgICAgICAgaWYgKGdzLmlzQ3VzdG9tR2V0dGVyU2V0dGVyKCkpIHsKICAgICAgICAgICAg
ICAgICBhdXRvIHNldHRlciA9IGpzQ2FzdDxDdXN0b21HZXR0ZXJTZXR0ZXIqPihncy5hc0NlbGwo
KSktPnNldHRlcigpOwogICAgICAgICAgICAgICAgIGJvb2wgaXNBY2Nlc3NvciA9IGF0dHJpYnV0
ZXMgJiBQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3I7Ci0gICAgICAgICAgICAgICAg
YXV0byByZXN1bHQgPSBjYWxsQ3VzdG9tU2V0dGVyKGdsb2JhbE9iamVjdCwgc2V0dGVyLCBpc0Fj
Y2Vzc29yLCBvYmosIHNsb3QudGhpc1ZhbHVlKCksIHZhbHVlKTsKKyAgICAgICAgICAgICAgICBh
dXRvIHJlc3VsdCA9IGNhbGxDdXN0b21TZXR0ZXIoZ2xvYmFsT2JqZWN0LCBzZXR0ZXIsIGlzQWNj
ZXNzb3IsIG9iaiwgc2xvdC50aGlzVmFsdWUoKSwgdmFsdWUsIHByb3BlcnR5TmFtZSk7CiAgICAg
ICAgICAgICAgICAgaWYgKHJlc3VsdCAhPSBUcmlTdGF0ZTo6SW5kZXRlcm1pbmF0ZSkKICAgICAg
ICAgICAgICAgICAgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCByZXN1bHQgPT0gVHJpU3Rh
dGU6OlRydWUpOwogICAgICAgICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNDdXN0b21TZXR0ZXJGdW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDdXN0b21TZXR0ZXJGdW5jdGlvbi5jcHAJKHJldmlzaW9u
IDI3NDU5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ3VzdG9tU2V0dGVy
RnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSwxMyArMzUsMTUgQEAgc3RhdGljIEpT
Q19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY3VzdG9tUwogCiBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJ
T04oY3VzdG9tU2V0dGVyRnVuY3Rpb25DYWxsLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQogewotICAgIFB1dFZhbHVlRnVuYyBzZXR0ZXIgPSBq
c0Nhc3Q8SlNDdXN0b21TZXR0ZXJGdW5jdGlvbio+KGNhbGxGcmFtZS0+anNDYWxsZWUoKSktPnNl
dHRlcigpOwotICAgIHNldHRlcihnbG9iYWxPYmplY3QsIEpTVmFsdWU6OmVuY29kZShjYWxsRnJh
bWUtPnRoaXNWYWx1ZSgpKSwgSlNWYWx1ZTo6ZW5jb2RlKGNhbGxGcmFtZS0+YXJndW1lbnQoMCkp
KTsKKyAgICBhdXRvIGN1c3RvbUdldHRlckZ1bmN0aW9uID0ganNDYXN0PEpTQ3VzdG9tU2V0dGVy
RnVuY3Rpb24qPihjYWxsRnJhbWUtPmpzQ2FsbGVlKCkpOworICAgIFB1dFZhbHVlRnVuYyBzZXR0
ZXIgPSBjdXN0b21HZXR0ZXJGdW5jdGlvbi0+c2V0dGVyKCk7CisgICAgc2V0dGVyKGdsb2JhbE9i
amVjdCwgSlNWYWx1ZTo6ZW5jb2RlKGNhbGxGcmFtZS0+dGhpc1ZhbHVlKCkpLCBKU1ZhbHVlOjpl
bmNvZGUoY2FsbEZyYW1lLT5hcmd1bWVudCgwKSksIGN1c3RvbUdldHRlckZ1bmN0aW9uLT5wcm9w
ZXJ0eU5hbWUoKSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsK
IH0KIAotSlNDdXN0b21TZXR0ZXJGdW5jdGlvbjo6SlNDdXN0b21TZXR0ZXJGdW5jdGlvbihWTSYg
dm0sIE5hdGl2ZUV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQdXRWYWx1ZUZ1bmMgc2V0dGVyKQorSlNDdXN0
b21TZXR0ZXJGdW5jdGlvbjo6SlNDdXN0b21TZXR0ZXJGdW5jdGlvbihWTSYgdm0sIE5hdGl2ZUV4
ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBjb25zdCBQcm9wZXJ0eU5hbWUmIHByb3BlcnR5TmFtZSwgUHV0VmFs
dWVGdW5jIHNldHRlcikKICAgICA6IEJhc2Uodm0sIGV4ZWN1dGFibGUsIGdsb2JhbE9iamVjdCwg
c3RydWN0dXJlKQorICAgICwgbV9wcm9wZXJ0eU5hbWUocHJvcGVydHlOYW1lKQogICAgICwgbV9z
ZXR0ZXIoc2V0dGVyKQogewogfQpAQCAtNTEsNyArNTMsNyBAQCBKU0N1c3RvbVNldHRlckZ1bmN0
aW9uKiBKU0N1c3RvbVNldHRlckZ1CiAgICAgQVNTRVJUKHNldHRlcik7CiAgICAgTmF0aXZlRXhl
Y3V0YWJsZSogZXhlY3V0YWJsZSA9IHZtLmdldEhvc3RGdW5jdGlvbihjdXN0b21TZXR0ZXJGdW5j
dGlvbkNhbGwsIGNhbGxIb3N0RnVuY3Rpb25Bc0NvbnN0cnVjdG9yLCBTdHJpbmcocHJvcGVydHlO
YW1lLnB1YmxpY05hbWUoKSkpOwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gZ2xvYmFsT2Jq
ZWN0LT5jdXN0b21TZXR0ZXJGdW5jdGlvblN0cnVjdHVyZSgpOwotICAgIEpTQ3VzdG9tU2V0dGVy
RnVuY3Rpb24qIGZ1bmN0aW9uID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNDdXN0b21T
ZXR0ZXJGdW5jdGlvbj4odm0uaGVhcCkpIEpTQ3VzdG9tU2V0dGVyRnVuY3Rpb24odm0sIGV4ZWN1
dGFibGUsIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBzZXR0ZXIpOworICAgIEpTQ3VzdG9tU2V0
dGVyRnVuY3Rpb24qIGZ1bmN0aW9uID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNDdXN0
b21TZXR0ZXJGdW5jdGlvbj4odm0uaGVhcCkpIEpTQ3VzdG9tU2V0dGVyRnVuY3Rpb24odm0sIGV4
ZWN1dGFibGUsIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUsIHNldHRlcik7
CiAKICAgICAvLyBDYW4ndCBkbyB0aGlzIGR1cmluZyBpbml0aWFsaXphdGlvbiBiZWNhdXNlIGdl
dEhvc3RGdW5jdGlvbiBtaWdodCBkbyBhIEdDIGFsbG9jYXRpb24uCiAgICAgU3RyaW5nIG5hbWUg
PSBtYWtlU3RyaW5nKCJzZXQgIiwgU3RyaW5nKHByb3BlcnR5TmFtZS5wdWJsaWNOYW1lKCkpKTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ3VzdG9tU2V0dGVyRnVuY3Rp
b24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0N1c3Rv
bVNldHRlckZ1bmN0aW9uLmgJKHJldmlzaW9uIDI3NDU5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ3VzdG9tU2V0dGVyRnVuY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAt
NTAsMTEgKzUwLDEzIEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CiAKKyAg
ICBjb25zdCBQcm9wZXJ0eU5hbWUmIHByb3BlcnR5TmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJv
cGVydHlOYW1lOyB9CiAgICAgUHV0VmFsdWVGdW5jIHNldHRlcigpIGNvbnN0IHsgcmV0dXJuIG1f
c2V0dGVyOyB9OwogCiBwcml2YXRlOgotICAgIEpTQ3VzdG9tU2V0dGVyRnVuY3Rpb24oVk0mLCBO
YXRpdmVFeGVjdXRhYmxlKiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBQdXRWYWx1ZUZ1
bmMpOworICAgIEpTQ3VzdG9tU2V0dGVyRnVuY3Rpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwg
SlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBjb25zdCBQcm9wZXJ0eU5hbWUmLCBQdXRWYWx1
ZUZ1bmMpOwogCisgICAgUHJvcGVydHlOYW1lIG1fcHJvcGVydHlOYW1lOwogICAgIFB1dFZhbHVl
RnVuYyBtX3NldHRlcjsKIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU09iamVjdC5jcHAJKHJldmlzaW9uIDI3NDU5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODM5LDcgKzgzOSw3IEBA
IGJvb2wgSlNPYmplY3Q6OnB1dElubGluZVNsb3coSlNHbG9iYWxPYmoKICAgICAgICAgICAgICAg
ICBlbHNlCiAgICAgICAgICAgICAgICAgICAgIHNsb3Quc2V0Q3VzdG9tVmFsdWUob2JqLCBzZXR0
ZXIpOwogCi0gICAgICAgICAgICAgICAgYXV0byByZXN1bHQgPSBjYWxsQ3VzdG9tU2V0dGVyKGds
b2JhbE9iamVjdCwgc2V0dGVyLCBpc0FjY2Vzc29yLCBvYmosIHNsb3QudGhpc1ZhbHVlKCksIHZh
bHVlKTsKKyAgICAgICAgICAgICAgICBhdXRvIHJlc3VsdCA9IGNhbGxDdXN0b21TZXR0ZXIoZ2xv
YmFsT2JqZWN0LCBzZXR0ZXIsIGlzQWNjZXNzb3IsIG9iaiwgc2xvdC50aGlzVmFsdWUoKSwgdmFs
dWUsIHByb3BlcnR5TmFtZSk7CiAgICAgICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgZmFsc2UpOwogICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgIT0gVHJpU3RhdGU6Oklu
ZGV0ZXJtaW5hdGUpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQgPT0gVHJpU3Rh
dGU6OlRydWU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAkocmV2
aXNpb24gMjc0NTk3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI5OCw3ICsyOTgsNyBAQCBpbmxpbmUgYm9vbCBwdXRFbnRyeShK
U0dsb2JhbE9iamVjdCogZ2xvCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHNsb3Quc2V0Q3Vz
dG9tVmFsdWUoYmFzZSwgZW50cnktPnByb3BlcnR5UHV0dGVyKCkpOwogCi0gICAgICAgIGF1dG8g
cmVzdWx0ID0gY2FsbEN1c3RvbVNldHRlcihnbG9iYWxPYmplY3QsIGVudHJ5LT5wcm9wZXJ0eVB1
dHRlcigpLCBpc0FjY2Vzc29yLCBiYXNlLCBzbG90LnRoaXNWYWx1ZSgpLCB2YWx1ZSk7CisgICAg
ICAgIGF1dG8gcmVzdWx0ID0gY2FsbEN1c3RvbVNldHRlcihnbG9iYWxPYmplY3QsIGVudHJ5LT5w
cm9wZXJ0eVB1dHRlcigpLCBpc0FjY2Vzc29yLCBiYXNlLCBzbG90LnRoaXNWYWx1ZSgpLCB2YWx1
ZSwgcHJvcGVydHlOYW1lKTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZmFs
c2UpOwogICAgICAgICBpZiAocmVzdWx0ICE9IFRyaVN0YXRlOjpJbmRldGVybWluYXRlKQogICAg
ICAgICAgICAgcmV0dXJuIHJlc3VsdCA9PSBUcmlTdGF0ZTo6VHJ1ZTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5U2xvdC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5U2xvdC5oCShyZXZpc2lvbiAyNzQ1OTcp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eVNsb3QuaAkod29ya2lu
ZyBjb3B5KQpAQCAtODcsOCArODcsOCBAQCBpbmxpbmUgdW5zaWduZWQgYXR0cmlidXRlc0ZvclN0
cnVjdHVyZSh1CiB1c2luZyBHZXRWYWx1ZUZ1bmMgPSBFbmNvZGVkSlNWYWx1ZShKSVRfT1BFUkFU
SU9OX0FUVFJJQlVURVMqKShKU0dsb2JhbE9iamVjdCosIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgUHJvcGVydHlOYW1lKTsKIHVzaW5nIEdldFZhbHVlRnVuY1dpdGhQdHIgPSBFbmNvZGVkSlNW
YWx1ZShKSVRfT1BFUkFUSU9OX0FUVFJJQlVURVMqKShKU0dsb2JhbE9iamVjdCosIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lLCB2b2lkKik7CiAKLXVzaW5nIFB1dFZhbHVl
RnVuYyA9IGJvb2wgKCopKEpTR2xvYmFsT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUgYmFzZU9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdmFsdWUpOwotdXNpbmcgUHV0VmFsdWVGdW5jV2l0aFB0ciA9IGJv
b2wgKCopKEpTR2xvYmFsT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUgYmFzZU9iamVjdCwgRW5jb2Rl
ZEpTVmFsdWUgdmFsdWUsIHZvaWQqKTsKK3VzaW5nIFB1dFZhbHVlRnVuYyA9IGJvb2wgKCopKEpT
R2xvYmFsT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUgYmFzZU9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dmFsdWUsIFByb3BlcnR5TmFtZSk7Cit1c2luZyBQdXRWYWx1ZUZ1bmNXaXRoUHRyID0gYm9vbCAo
KikoSlNHbG9iYWxPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSBiYXNlT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB2YWx1ZSwgUHJvcGVydHlOYW1lLCB2b2lkKik7CiAKIGNsYXNzIFByb3BlcnR5U2xvdCB7
CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9y
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBD
b25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9uIDI3NDU5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgwLDcg
KzE4MCw3IEBAIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihyZWdFeHBDb25zdHJ1Y3QKICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGdsb2JhbE9iamVjdC0+cmVnRXhwR2xvYmFsRGF0YSgpLmdl
dFJpZ2h0Q29udGV4dChnbG9iYWxPYmplY3QpKTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKHNldFJlZ0V4cENvbnN0cnVjdG9ySW5wdXQsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIHZhbHVlKSkKK0pT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRSZWdFeHBDb25zdHJ1Y3RvcklucHV0LCAoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSB2YWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICBWTSYgdm0gPSBnbG9iYWxPYmpl
Y3QtPnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwpAQCAt
MTk1LDcgKzE5NSw3IEBAIEpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRSZWdFeHBDb25zdHIK
ICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRSZWdF
eHBDb25zdHJ1Y3Rvck11bHRpbGluZSwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgdmFsdWUpKQorSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldFJlZ0V4cENvbnN0cnVjdG9yTXVsdGlsaW5lLCAoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSB2YWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qt
PnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuY3BwCShyZXZp
c2lvbiAyNzQ1OTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmpl
Y3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjEsMTIgKzEyMSwxMiBAQCBib29sIFJlZ0V4cE9i
amVjdDo6ZGVmaW5lT3duUHJvcGVydHkoSlNPCiAgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3Bl
LCBCYXNlOjpkZWZpbmVPd25Qcm9wZXJ0eShvYmplY3QsIGdsb2JhbE9iamVjdCwgcHJvcGVydHlO
YW1lLCBkZXNjcmlwdG9yLCBzaG91bGRUaHJvdykpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIocmVnRXhwT2JqZWN0U2V0TGFzdEluZGV4U3RyaWN0LCAoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSB2YWx1
ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIocmVnRXhwT2JqZWN0U2V0TGFzdEluZGV4U3Ry
aWN0LCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSB2YWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4g
anNDYXN0PFJlZ0V4cE9iamVjdCo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKS0+c2V0TGFz
dEluZGV4KGdsb2JhbE9iamVjdCwgSlNWYWx1ZTo6ZGVjb2RlKHZhbHVlKSwgdHJ1ZSk7CiB9CiAK
LUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihyZWdFeHBPYmplY3RTZXRMYXN0SW5kZXhOb25TdHJp
Y3QsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIHZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihyZWdF
eHBPYmplY3RTZXRMYXN0SW5kZXhOb25TdHJpY3QsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIHZhbHVlLCBQcm9w
ZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBqc0Nhc3Q8UmVnRXhwT2JqZWN0Kj4oSlNWYWx1ZTo6
ZGVjb2RlKHRoaXNWYWx1ZSkpLT5zZXRMYXN0SW5kZXgoZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlOjpk
ZWNvZGUodmFsdWUpLCBmYWxzZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9v
bHMvSlNEb2xsYXJWTS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rv
b2xzL0pTRG9sbGFyVk0uY3BwCShyZXZpc2lvbiAyNzQ1OTcpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvdG9vbHMvSlNEb2xsYXJWTS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcwOCw3ICs3MDgs
NyBAQCBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIodGVzdFN0YXRpY0FjY2VzCiAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHRlc3RTdGF0aWNBY2Nlc3NvclB1dHRlciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgdmFsdWUpKQor
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHRlc3RTdGF0aWNBY2Nlc3NvclB1dHRlciwgKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgdmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgRG9sbGFyVk1Bc3NlcnRTY29w
ZSBhc3NlcnRTY29wZTsKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkBAIC03Nzgs
NyArNzc4LDcgQEAgSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKHRlc3RTdGF0aWNWYWx1ZQogICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiB9CiAKLUpTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUih0ZXN0U3RhdGljVmFsdWVQdXR0ZXIsIChKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIHZhbHVl
KSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUih0ZXN0U3RhdGljVmFsdWVQdXR0ZXIsIChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIHZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIERvbGxhclZNQXNzZXJ0U2Nv
cGUgYXNzZXJ0U2NvcGU7CiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpAQCAtMTU4
Miw3ICsxNTgyLDcgQEAgSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGN1c3RvbUdldFZhbHVlRwog
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoZ2xvYmFsT2JqZWN0KTsKIH0KIAotSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKGN1c3RvbVNldEFjY2Vzc29yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc09iamVjdCwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihjdXN0b21TZXRBY2Nlc3NvciwgKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICBEb2xsYXJW
TUFzc2VydFNjb3BlIGFzc2VydFNjb3BlOwogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0o
KTsKQEAgLTE1OTgsNyArMTU5OCw3IEBAIEpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihjdXN0b21T
ZXRBY2Nlc3MKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KGN1c3RvbVNldFZhbHVlLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgc2xvdFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKGN1c3RvbVNldFZhbHVlLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgc2xvdFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgRG9sbGFyVk1Bc3NlcnRTY29wZSBhc3NlcnRTY29w
ZTsKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkBAIC0xNjE2LDcgKzE2MTYsNyBA
QCBKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoY3VzdG9tU2V0VmFsdWUsCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihjdXN0b21GdW5jdGlvblNldHRlciwg
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKGN1c3RvbUZ1bmN0
aW9uU2V0dGVyLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICBEb2xs
YXJWTUFzc2VydFNjb3BlIGFzc2VydFNjb3BlOwogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+
dm0oKTsKSW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
VEYvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzQ2MTApCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDIxLTAzLTE3ICBTYW0gV2VpbmlnICA8
d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgUHJvcGVydHlOYW1lIHBhcmFtZXRlciB0
byBjdXN0b20gc2V0dGVycyB0byBhbGxvdyBzaGFyZWQgaW1wbGVtZW50YXRpb25zIHRvIGRvIGxh
dGUgbmFtZSBsb29rdXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyMzQxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtXSVBdCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1DYWxsaW5nQ29udmVudGlvbnMu
aDoKKwogMjAyMS0wMy0xNyAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAg
ICAgRml4IHJhY2UgY29uZGl0aW9uIGluIENvbmN1cnJlbnRQdHJIYXNoU2V0LgpJbmRleDogU291
cmNlL1dURi93dGYvUGxhdGZvcm1DYWxsaW5nQ29udmVudGlvbnMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUNhbGxpbmdDb252ZW50aW9ucy5oCShyZXZpc2lvbiAyNzQ1
OTcpCisrKyBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUNhbGxpbmdDb252ZW50aW9ucy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMDUsNiArMTA1LDYgQEAKICAgICByZXR1cm5UeXBlIEpJVF9PUEVSQVRJ
T05fQVRUUklCVVRFUyBmdW5jdGlvbk5hbWUgcGFyYW1ldGVycyBSRUZFUkVOQ0VEX0ZST01fQVNN
CiAKICNkZWZpbmUgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihmdW5jdGlvbk5hbWUpIEpTQ19E
RUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9XVEZfSU5URVJOQUwoZnVuY3Rpb25OYW1lLCBK
U0M6OkVuY29kZWRKU1ZhbHVlLCAoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RW5jb2RlZEpT
VmFsdWUsIEpTQzo6UHJvcGVydHlOYW1lKSkKLSNkZWZpbmUgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NF
VFRFUihmdW5jdGlvbk5hbWUpIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9XVEZf
SU5URVJOQUwoZnVuY3Rpb25OYW1lLCBib29sLCAoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6
RW5jb2RlZEpTVmFsdWUsIEpTQzo6RW5jb2RlZEpTVmFsdWUpKQorI2RlZmluZSBKU0NfREVDTEFS
RV9DVVNUT01fU0VUVEVSKGZ1bmN0aW9uTmFtZSkgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9X
SVRIT1VUX1dURl9JTlRFUk5BTChmdW5jdGlvbk5hbWUsIGJvb2wsIChKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9w
ZXJ0eU5hbWUpKQogI2RlZmluZSBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoZnVuY3Rpb25OYW1l
LCBwYXJhbWV0ZXJzKSBKU0NfREVGSU5FX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9WQVJJQUJMRShm
dW5jdGlvbk5hbWUsIEpTQzo6RW5jb2RlZEpTVmFsdWUsIHBhcmFtZXRlcnMpCiAjZGVmaW5lIEpT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihmdW5jdGlvbk5hbWUsIHBhcmFtZXRlcnMpIEpTQ19ERUZJ
TkVfSklUX09QRVJBVElPTl9XSVRIT1VUX1ZBUklBQkxFKGZ1bmN0aW9uTmFtZSwgYm9vbCwgcGFy
YW1ldGVycykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3NDYxMCkKKysrIFNvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDcxIEBACisyMDIxLTAzLTE3
ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgUHJvcGVydHlO
YW1lIHBhcmFtZXRlciB0byBjdXN0b20gc2V0dGVycyB0byBhbGxvdyBzaGFyZWQgaW1wbGVtZW50
YXRpb25zIHRvIGRvIGxhdGUgbmFtZSBsb29rdXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzQxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtXSVBdCisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlQXR0cmlidXRlU2V0dGVyVHJh
bXBvbGluZURlZmluaXRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0RlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NF
VFRFUik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTUGFpbnRXb3JrbGV0
R2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNTZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlv
bnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdp
Zmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDU1NQcm9wZXJ0eS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsVHJhY2VyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWwuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGluZy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkRm9yQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0SW50ZXJmYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEpTQnVp
bHRpbkNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdExlZ2Fj
eU5vSW50ZXJmYWNlT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1h
cExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlND
X0RFRklORV9DVVNUT01fU0VUVEVSKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNldExpa2VXaXRoT3Zl
cnJpZGRlbk9wZXJhdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3Ry
aW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0VHlwZWRlZnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNXb3JrZXJHbG9i
YWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIp
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1dvcmtsZXRHbG9iYWxTY29w
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgorCiAy
MDIxLTAzLTE3ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAg
bW9kZXJuLW1lZGlhLWNvbnRyb2xzIHNjcmlwdCBzaG91bGQgbm90IGJlIGFsbG9jYXRlZCBpbiBo
ZWFwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQkocmV2aXNpb24gMjc0NTk3KQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHdvcmtpbmcgY29weSkKQEAgLTU1NDksNyAr
NTU0OSw3IEBAIHN1YiBHZW5lcmF0ZUF0dHJpYnV0ZVNldHRlclRyYW1wb2xpbmVEZWYKICAgICBw
dXNoKEB0ZW1wbGF0ZVBhcmFtZXRlcnMsICRhdHRyaWJ1dGVTZXR0ZXJCb2R5TmFtZSk7CiAgICAg
cHVzaChAdGVtcGxhdGVQYXJhbWV0ZXJzLCAiQ2FzdGVkVGhpc0Vycm9yQmVoYXZpb3I6OlJldHVy
bkVhcmx5IikgaWYgJGF0dHJpYnV0ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57TGVnYWN5TGVuaWVu
dFRoaXN9OwogICAgIAotICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIkpTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUigke2F0dHJpYnV0ZVNldHRlck5hbWV9LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlKSlcbiIpOworICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIkpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUigke2F0dHJpYnV0ZVNldHRlck5hbWV9LCAoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKVxuIik7CiAgICAgcHVzaChAJG91dHB1dEFycmF5
LCAie1xuIik7CiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIHJldHVybiBJRExBdHRyaWJ1
dGU8JHtjbGFzc05hbWV9Pjo6JHtjYWxsQXR0cmlidXRlU2V0dGVyTmFtZX08IiAuIGpvaW4oIiwg
IiwgQHRlbXBsYXRlUGFyYW1ldGVycykgLiAiPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1Zh
bHVlLCBlbmNvZGVkVmFsdWUsIFwiIiAuICRhdHRyaWJ1dGUtPm5hbWUgLiAiXCIpO1xuIik7CiAg
ICAgcHVzaChAJG91dHB1dEFycmF5LCAifVxuXG4iKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0RPTVdpbmRvdy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRE9NV2luZG93LmNwcAkocmV2
aXNpb24gMjc0NTk3KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTRE9NV2luZG93LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ2LDcgKzI0Niw3IEBAIHN0YXRp
YyBpbmxpbmUgYm9vbCBzZXRKU0RPTVdpbmRvd19ET01XaW4KICAgICByZXR1cm4gdGhpc09iamVj
dC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nh
c3Q8Y29uc3QgTENoYXIqPigiRE9NV2luZG93IiksIHN0cmxlbigiRE9NV2luZG93IikpLCB2YWx1
ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU0RPTVdpbmRvd19ET01XaW5k
b3dDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0Nf
REVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNET01XaW5kb3dfRE9NV2luZG93Q29uc3RydWN0b3Is
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAg
ICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU0RPTVdpbmRvdz46OnNldDxzZXRKU0RPTVdpbmRvd19E
T01XaW5kb3dDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1
ZSwgZW5jb2RlZFZhbHVlLCAiRE9NV2luZG93Iik7CiB9CkBAIC0yNjksNyArMjY5LDcgQEAgc3Rh
dGljIGlubGluZSBib29sIHNldEpTRE9NV2luZG93X0V4cG9zZQogICAgIHJldHVybiB0aGlzT2Jq
ZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRf
Y2FzdDxjb25zdCBMQ2hhcio+KCJFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3ciKSwgc3RybGVuKCJF
eHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3ciKSksIHZhbHVlKTsKIH0KIAotSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTRE9NV2luZG93X0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvd0NvbnN0cnVj
dG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU0RPTVdpbmRvd19FeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3dDb25zdHJ1
Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkK
IHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTRE9NV2luZG93Pjo6c2V0PHNldEpTRE9NV2lu
ZG93X0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvd0NvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEds
b2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJFeHBvc2VkVG9Xb3JrZXJBbmRX
aW5kb3ciKTsKIH0KQEAgLTI5Miw3ICsyOTIsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNE
T01XaW5kb3dfVGVzdENvCiAgICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVu
dGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRl
c3RDb25kaXRpb25hbEluY2x1ZGVzIiksIHN0cmxlbigiVGVzdENvbmRpdGlvbmFsSW5jbHVkZXMi
KSksIHZhbHVlKTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTRE9NV2luZG93
X1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTRE9NV2luZG93
X1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0
ZTxKU0RPTVdpbmRvdz46OnNldDxzZXRKU0RPTVdpbmRvd19UZXN0Q29uZGl0aW9uYWxJbmNsdWRl
c0NvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNv
ZGVkVmFsdWUsICJUZXN0Q29uZGl0aW9uYWxJbmNsdWRlcyIpOwogfQpAQCAtMzE1LDcgKzMxNSw3
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU0RPTVdpbmRvd19UZXN0Q28KICAgICByZXR1cm4g
dGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGUiKSwg
c3RybGVuKCJUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZSIpKSwgdmFsdWUpOwogfQogCi1KU0Nf
REVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNET01XaW5kb3dfVGVzdENvbmRpdGlvbmFsbHlSZWFk
V3JpdGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitK
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNET01XaW5kb3dfVGVzdENvbmRpdGlvbmFsbHlS
ZWFkV3JpdGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwg
UHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTRE9NV2luZG93Pjo6
c2V0PHNldEpTRE9NV2luZG93X1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlQ29uc3RydWN0b3JT
ZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRl
c3RDb25kaXRpb25hbGx5UmVhZFdyaXRlIik7CiB9CkBAIC0zMzgsNyArMzM4LDcgQEAgc3RhdGlj
IGlubGluZSBib29sIHNldEpTRE9NV2luZG93X1Rlc3REZQogICAgIHJldHVybiB0aGlzT2JqZWN0
LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2Fz
dDxjb25zdCBMQ2hhcio+KCJUZXN0RGVmYXVsdFRvSlNPTiIpLCBzdHJsZW4oIlRlc3REZWZhdWx0
VG9KU09OIikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU0RP
TVdpbmRvd19UZXN0RGVmYXVsdFRvSlNPTkNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU0RPTVdpbmRv
d19UZXN0RGVmYXVsdFRvSlNPTkNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNE
T01XaW5kb3c+OjpzZXQ8c2V0SlNET01XaW5kb3dfVGVzdERlZmF1bHRUb0pTT05Db25zdHJ1Y3Rv
clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAi
VGVzdERlZmF1bHRUb0pTT04iKTsKIH0KQEAgLTM2MSw3ICszNjEsNyBAQCBzdGF0aWMgaW5saW5l
IGJvb2wgc2V0SlNET01XaW5kb3dfVGVzdERlCiAgICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGly
ZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0
IExDaGFyKj4oIlRlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQiKSwgc3RybGVuKCJU
ZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkIikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19E
RUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU0RPTVdpbmRvd19UZXN0RGVmYXVsdFRvSlNPTkZpbHRl
cmVkQnlFeHBvc2VkQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTRE9NV2luZG93X1Rlc3REZWZhdWx0
VG9KU09ORmlsdGVyZWRCeUV4cG9zZWRDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRl
PEpTRE9NV2luZG93Pjo6c2V0PHNldEpTRE9NV2luZG93X1Rlc3REZWZhdWx0VG9KU09ORmlsdGVy
ZWRCeUV4cG9zZWRDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNW
YWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZCIp
OwogfQpAQCAtMzg0LDcgKzM4NCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU0RPTVdpbmRv
d19UZXN0RW4KICAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6
OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdEVuYWJs
ZWRCeVNldHRpbmciKSwgc3RybGVuKCJUZXN0RW5hYmxlZEJ5U2V0dGluZyIpKSwgdmFsdWUpOwog
fQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNET01XaW5kb3dfVGVzdEVuYWJsZWRC
eVNldHRpbmdDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkp
CitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNET01XaW5kb3dfVGVzdEVuYWJsZWRCeVNl
dHRpbmdDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJv
cGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTRE9NV2luZG93Pjo6c2V0
PHNldEpTRE9NV2luZG93X1Rlc3RFbmFibGVkQnlTZXR0aW5nQ29uc3RydWN0b3JTZXR0ZXI+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RFbmFibGVk
QnlTZXR0aW5nIik7CiB9CkBAIC00MDcsNyArNDA3LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNl
dEpTRE9NV2luZG93X1Rlc3RFbgogICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwg
SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+
KCJUZXN0RW5hYmxlZEZvckNvbnRleHQiKSwgc3RybGVuKCJUZXN0RW5hYmxlZEZvckNvbnRleHQi
KSksIHZhbHVlKTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTRE9NV2luZG93
X1Rlc3RFbmFibGVkRm9yQ29udGV4dENvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU0RPTVdpbmRvd19U
ZXN0RW5hYmxlZEZvckNvbnRleHRDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpT
RE9NV2luZG93Pjo6c2V0PHNldEpTRE9NV2luZG93X1Rlc3RFbmFibGVkRm9yQ29udGV4dENvbnN0
cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFs
dWUsICJUZXN0RW5hYmxlZEZvckNvbnRleHQiKTsKIH0KQEAgLTQzNCw3ICs0MzQsNyBAQCBzdGF0
aWMgaW5saW5lIGJvb2wgc2V0SlNET01XaW5kb3dfVGVzdEluCiAgICAgcmV0dXJuIHRoaXNPYmpl
Y3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9j
YXN0PGNvbnN0IExDaGFyKj4oIlRlc3RJbnRlcmZhY2UiKSwgc3RybGVuKCJUZXN0SW50ZXJmYWNl
IikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU0RPTVdpbmRv
d19UZXN0SW50ZXJmYWNlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
VmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTRE9NV2luZG93X1Rlc3RJbnRl
cmZhY2VDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJv
cGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTRE9NV2luZG93Pjo6c2V0
PHNldEpTRE9NV2luZG93X1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxH
bG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdEludGVyZmFjZSIpOwog
fQpAQCAtNDU5LDcgKzQ1OSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU0RPTVdpbmRvd19U
ZXN0Tm8KICAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZy
b21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdE5vZGUiKSwg
c3RybGVuKCJUZXN0Tm9kZSIpKSwgdmFsdWUpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIoc2V0SlNET01XaW5kb3dfVGVzdE5vZGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNET01XaW5k
b3dfVGVzdE5vZGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTRE9NV2luZG93
Pjo6c2V0PHNldEpTRE9NV2luZG93X1Rlc3ROb2RlQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2Fs
R2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3ROb2RlIik7CiB9CkBA
IC00ODIsNyArNDgyLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTRE9NV2luZG93X1Rlc3RP
YgogICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0
cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0T2JqZWN0IiksIHN0
cmxlbigiVGVzdE9iamVjdCIpKSwgdmFsdWUpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIoc2V0SlNET01XaW5kb3dfVGVzdE9iamVjdENvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU0RPTVdp
bmRvd19UZXN0T2JqZWN0Q29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
VmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU0RPTVdp
bmRvdz46OnNldDxzZXRKU0RPTVdpbmRvd19UZXN0T2JqZWN0Q29uc3RydWN0b3JTZXR0ZXI+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RPYmplY3Qi
KTsKIH0KQEAgLTUwNSw3ICs1MDUsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNET01XaW5k
b3dfVGVzdFByCiAgICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVy
Ojpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RQcm9t
aXNlUmVqZWN0aW9uRXZlbnQiKSwgc3RybGVuKCJUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50Iikp
LCB2YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU0RPTVdpbmRvd19U
ZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50Q29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTRE9NV2luZG93
X1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnRDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmli
dXRlPEpTRE9NV2luZG93Pjo6c2V0PHNldEpTRE9NV2luZG93X1Rlc3RQcm9taXNlUmVqZWN0aW9u
RXZlbnRDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwg
ZW5jb2RlZFZhbHVlLCAiVGVzdFByb21pc2VSZWplY3Rpb25FdmVudCIpOwogfQpJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRGVkaWNhdGVkV29ya2VyR2xv
YmFsU2NvcGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAkocmV2aXNpb24gMjc0
NTk3KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTcsNyArMTU3LDcg
QEAgc3RhdGljIGlubGluZSBib29sIHNldEpTRGVkaWNhdGVkV29ya2VyRwogICAgIHJldHVybiB0
aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRl
cnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSIpLCBz
dHJsZW4oIkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlIikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19E
RUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlX0RlZGlj
YXRlZFdvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTRGVkaWNhdGVkV29y
a2VyR2xvYmFsU2NvcGVfRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvciwgKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICBy
ZXR1cm4gSURMQXR0cmlidXRlPEpTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+OjpzZXQ8c2V0
SlNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZV9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZUNv
bnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVk
VmFsdWUsICJEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSIpOwogfQpJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmNwcAkocmV2aXNpb24gMjc0NTk3KQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTUGFpbnRXb3JrbGV0R2xvYmFs
U2NvcGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTcsNyArMTU3LDcgQEAgc3RhdGljIGlubGlu
ZSBib29sIHNldEpTUGFpbnRXb3JrbGV0R2xvYgogICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERp
cmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25z
dCBMQ2hhcio+KCJQYWludFdvcmtsZXRHbG9iYWxTY29wZSIpLCBzdHJsZW4oIlBhaW50V29ya2xl
dEdsb2JhbFNjb3BlIikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1BhaW50V29ya2xldEdsb2JhbFNjb3BlX1BhaW50V29ya2xldEdsb2JhbFNjb3BlQ29uc3Ry
dWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFs
dWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGVfUGFpbnRXb3JrbGV0R2xv
YmFsU2NvcGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwg
UHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTUGFpbnRXb3JrbGV0
R2xvYmFsU2NvcGU+OjpzZXQ8c2V0SlNQYWludFdvcmtsZXRHbG9iYWxTY29wZV9QYWludFdvcmts
ZXRHbG9iYWxTY29wZUNvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhp
c1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJQYWludFdvcmtsZXRHbG9iYWxTY29wZSIpOwogfQpJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTU2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCShyZXZpc2lvbiAy
NzQ1OTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNTZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTcsNyArMTU3LDcg
QEAgc3RhdGljIGlubGluZSBib29sIHNldEpTU2VydmljZVdvcmtlckdsbwogICAgIHJldHVybiB0
aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRl
cnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUiKSwgc3Ry
bGVuKCJTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUiKSksIHZhbHVlKTsKIH0KIAotSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlX1NlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1NlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZV9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0
cmlidXRlPEpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlPjo6c2V0PHNldEpTU2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlX1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yU2V0dGVyPigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJTZXJ2aWNlV29y
a2VyR2xvYmFsU2NvcGUiKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zLmNwcAkocmV2
aXNpb24gMjc0NTk3KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdENFUmVhY3Rpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI5LDcgKzIyOSw3IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RDRVJlYWN0aW9uc18KICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENFUmVhY3Rpb25zX2F0
dHJpYnV0ZVdpdGhDRVJlYWN0aW9ucywgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q0VSZWFjdGlvbnNfYXR0cmli
dXRlV2l0aENFUmVhY3Rpb25zLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQ
cm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0Q0VSZWFjdGlv
bnM+OjpzZXQ8c2V0SlNUZXN0Q0VSZWFjdGlvbnNfYXR0cmlidXRlV2l0aENFUmVhY3Rpb25zU2V0
dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJhdHRy
aWJ1dGVXaXRoQ0VSZWFjdGlvbnMiKTsKIH0KQEAgLTI2MSw3ICsyNjEsNyBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgc2V0SlNUZXN0Q0VSZWFjdGlvbnNfCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RDRVJlYWN0aW9uc19yZWZsZWN0QXR0cmli
dXRlV2l0aENFUmVhY3Rpb25zLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkK
K0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RDRVJlYWN0aW9uc19yZWZsZWN0QXR0
cmlidXRlV2l0aENFUmVhY3Rpb25zLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
LCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0Q0VSZWFj
dGlvbnM+OjpzZXQ8c2V0SlNUZXN0Q0VSZWFjdGlvbnNfcmVmbGVjdEF0dHJpYnV0ZVdpdGhDRVJl
YWN0aW9uc1NldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCAicmVmbGVjdEF0dHJpYnV0ZVdpdGhDRVJlYWN0aW9ucyIpOwogfQpAQCAtMjk3LDcgKzI5
Nyw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RDRVJlYWN0aW9uc18KICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENFUmVhY3Rp
b25zX3N0cmluZ2lmaWVyQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RDRVJlYWN0aW9uc19zdHJp
bmdpZmllckF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJv
cGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdENFUmVhY3Rpb25z
Pjo6c2V0PHNldEpTVGVzdENFUmVhY3Rpb25zX3N0cmluZ2lmaWVyQXR0cmlidXRlU2V0dGVyPigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzdHJpbmdpZmll
ckF0dHJpYnV0ZSIpOwogfQpAQCAtMzI5LDcgKzMyOSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBz
ZXRKU1Rlc3RDRVJlYWN0aW9uc18KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdENFUmVhY3Rpb25zX2F0dHJpYnV0ZVdpdGhDRVJlYWN0aW9u
c05vdE5lZWRlZCwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVG
SU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q0VSZWFjdGlvbnNfYXR0cmlidXRlV2l0aENFUmVh
Y3Rpb25zTm90TmVlZGVkLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9w
ZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0Q0VSZWFjdGlvbnM+
OjpzZXQ8c2V0SlNUZXN0Q0VSZWFjdGlvbnNfYXR0cmlidXRlV2l0aENFUmVhY3Rpb25zTm90TmVl
ZGVkU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUs
ICJhdHRyaWJ1dGVXaXRoQ0VSZWFjdGlvbnNOb3ROZWVkZWQiKTsKIH0KQEAgLTM2MSw3ICszNjEs
NyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0Q0VSZWFjdGlvbnNfCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RDRVJlYWN0aW9u
c19yZWZsZWN0QXR0cmlidXRlV2l0aENFUmVhY3Rpb25zTm90TmVlZGVkLCAoSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rl
c3RDRVJlYWN0aW9uc19yZWZsZWN0QXR0cmlidXRlV2l0aENFUmVhY3Rpb25zTm90TmVlZGVkLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAg
IHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0Q0VSZWFjdGlvbnM+OjpzZXQ8c2V0SlNUZXN0Q0VS
ZWFjdGlvbnNfcmVmbGVjdEF0dHJpYnV0ZVdpdGhDRVJlYWN0aW9uc05vdE5lZWRlZFNldHRlcj4o
KmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAicmVmbGVjdEF0
dHJpYnV0ZVdpdGhDRVJlYWN0aW9uc05vdE5lZWRlZCIpOwogfQpAQCAtMzk3LDcgKzM5Nyw3IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RDRVJlYWN0aW9uc18KICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENFUmVhY3Rpb25zX3N0
cmluZ2lmaWVyQXR0cmlidXRlTm90TmVlZGVkLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RDRVJlYWN0aW9uc19z
dHJpbmdpZmllckF0dHJpYnV0ZU5vdE5lZWRlZCwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVz
dENFUmVhY3Rpb25zPjo6c2V0PHNldEpTVGVzdENFUmVhY3Rpb25zX3N0cmluZ2lmaWVyQXR0cmli
dXRlTm90TmVlZGVkU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNv
ZGVkVmFsdWUsICJzdHJpbmdpZmllckF0dHJpYnV0ZU5vdE5lZWRlZCIpOwogfQpJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zU3Ry
aW5naWZpZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmNwcAkocmV2aXNpb24gMjc0
NTk3KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENF
UmVhY3Rpb25zU3RyaW5naWZpZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTEsNyArMjExLDcg
QEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdENFUmVhY3Rpb25zUwogICAgIHJldHVybiB0
cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q0VSZWFjdGlvbnNT
dHJpbmdpZmllcl92YWx1ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitK
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllcl92
YWx1ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkK
IHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXI+
OjpzZXQ8c2V0SlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllcl92YWx1ZVNldHRlcj4oKmxleGlj
YWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAidmFsdWUiKTsKIH0KQEAg
LTI0Myw3ICsyNDMsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0Q0VSZWFjdGlvbnNT
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rl
c3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyX3ZhbHVlV2l0aG91dFJlYWN0aW9ucywgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllcl92YWx1ZVdpdGhvdXRSZWFjdGlvbnMsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0
dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyPjo6c2V0PHNldEpT
VGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJfdmFsdWVXaXRob3V0UmVhY3Rpb25zU2V0dGVyPigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJ2YWx1ZVdpdGhv
dXRSZWFjdGlvbnMiKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RDU1NQcm9wZXJ0eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENTU1Byb3BlcnR5LmNwcAkocmV2aXNp
b24gMjc0NTk3KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdENTU1Byb3BlcnR5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk4LDcgKzE5OCw3IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RDU1NQcm9wZXJ0eV8KICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENTU1Byb3BlcnR5X3Byb3Bl
cnR5LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RDU1NQcm9wZXJ0eV9wcm9wZXJ0eSwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0
cmlidXRlPEpTVGVzdENTU1Byb3BlcnR5Pjo6c2V0PHNldEpTVGVzdENTU1Byb3BlcnR5X3Byb3Bl
cnR5U2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUs
ICJwcm9wZXJ0eSIpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdENhbGxUcmFjZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsVHJhY2VyLmNwcAkocmV2aXNpb24g
Mjc0NTk3KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dENhbGxUcmFjZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTQsNyArMjU0LDcgQEAgc3RhdGlj
IGlubGluZSBib29sIHNldEpTVGVzdENhbGxUcmFjZXJfdAogICAgIHJldHVybiB0cnVlOwogfQog
Ci1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q2FsbFRyYWNlcl90ZXN0QXR0cmli
dXRlSW50ZXJmYWNlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19E
RUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RDYWxsVHJhY2VyX3Rlc3RBdHRyaWJ1dGVJbnRl
cmZhY2UsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFs
dWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkp
CiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RDYWxsVHJhY2VyPjo6c2V0PHNldEpT
VGVzdENhbGxUcmFjZXJfdGVzdEF0dHJpYnV0ZUludGVyZmFjZVNldHRlcj4oKmxleGljYWxHbG9i
YWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAidGVzdEF0dHJpYnV0ZUludGVyZmFj
ZSIpOwogfQpAQCAtMjg5LDcgKzI4OSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RD
YWxsVHJhY2VyX3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKHNldEpTVGVzdENhbGxUcmFjZXJfdGVzdEF0dHJpYnV0ZVNwZWNpZmllZCwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0Q2FsbFRyYWNlcl90ZXN0QXR0cmlidXRlU3BlY2lmaWVkLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRy
aWJ1dGU8SlNUZXN0Q2FsbFRyYWNlcj46OnNldDxzZXRKU1Rlc3RDYWxsVHJhY2VyX3Rlc3RBdHRy
aWJ1dGVTcGVjaWZpZWRTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVu
Y29kZWRWYWx1ZSwgInRlc3RBdHRyaWJ1dGVTcGVjaWZpZWQiKTsKIH0KQEAgLTMyNCw3ICszMjQs
NyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0Q2FsbFRyYWNlcl90CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RDYWxsVHJhY2Vy
X3Rlc3RBdHRyaWJ1dGVXaXRoVmFyaWFudCwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q2FsbFRyYWNlcl90ZXN0
QXR0cmlidXRlV2l0aFZhcmlhbnQsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUs
IFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RDYWxsVHJh
Y2VyPjo6c2V0PHNldEpTVGVzdENhbGxUcmFjZXJfdGVzdEF0dHJpYnV0ZVdpdGhWYXJpYW50U2V0
dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJ0ZXN0
QXR0cmlidXRlV2l0aFZhcmlhbnQiKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0
aW9uYWxJbmNsdWRlcy5jcHAJKHJldmlzaW9uIDI3NDU5NykKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTU3LDcgKzU1Nyw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rl
c3RDb25kaXRpb25hbEkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXNfbWl4aW5BdHRyaWJ1dGUsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXNfbWl4aW5BdHRyaWJ1dGUsIChKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElE
TEF0dHJpYnV0ZTxKU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzPjo6c2V0PHNldEpTVGVzdENvbmRp
dGlvbmFsSW5jbHVkZXNfbWl4aW5BdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIm1peGluQXR0cmlidXRlIik7CiB9CkBAIC01ODYs
NyArNTg2LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdENvbmRpdGlvbmFsSQogICAg
IHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q29u
ZGl0aW9uYWxJbmNsdWRlc19taXhpbkN1c3RvbUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q29u
ZGl0aW9uYWxJbmNsdWRlc19taXhpbkN1c3RvbUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmli
dXRlPEpTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXM+OjpzZXQ8c2V0SlNUZXN0Q29uZGl0aW9uYWxJ
bmNsdWRlc19taXhpbkN1c3RvbUF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
IHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAibWl4aW5DdXN0b21BdHRyaWJ1dGUiKTsKIH0KQEAg
LTYyMyw3ICs2MjMsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0Q29uZGl0aW9uYWxJ
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rl
c3RDb25kaXRpb25hbEluY2x1ZGVzX21peGluTm9kZUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
Q29uZGl0aW9uYWxJbmNsdWRlc19taXhpbk5vZGVBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJp
YnV0ZTxKU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzPjo6c2V0PHNldEpTVGVzdENvbmRpdGlvbmFs
SW5jbHVkZXNfbWl4aW5Ob2RlQXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
dGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJtaXhpbk5vZGVBdHRyaWJ1dGUiKTsKIH0KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDb25kaXRpb25h
bGx5UmVhZFdyaXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZS5jcHAJKHJldmlzaW9u
IDI3NDU5NykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RDb25kaXRpb25hbGx5UmVhZFdyaXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEwLDcgKzMx
MCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RDb25kaXRpb25hbGwKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENvbmRpdGlv
bmFsbHlSZWFkV3JpdGVfY29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZSwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZV9jb25kaXRpb25hbGx5UmVhZFdyaXRlQXR0cmli
dXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQog
ewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZT46
OnNldDxzZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX2NvbmRpdGlvbmFsbHlSZWFkV3Jp
dGVBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29k
ZWRWYWx1ZSwgImNvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGUiKTsKIH0KQEAgLTM0OCw3
ICszNDgsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0Q29uZGl0aW9uYWxsCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RDb25k
aXRpb25hbGx5UmVhZFdyaXRlX2NvbmRpdGlvbmFsQW5kQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0
dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZV9jb25kaXRpb25h
bEFuZENvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0
ZTxKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlPjo6c2V0PHNldEpTVGVzdENvbmRpdGlvbmFs
bHlSZWFkV3JpdGVfY29uZGl0aW9uYWxBbmRDb25kaXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRl
U2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJj
b25kaXRpb25hbEFuZENvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGUiKTsKIH0KQEAgLTM4
Myw3ICszODMsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0Q29uZGl0aW9uYWxsCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RD
b25kaXRpb25hbGx5UmVhZFdyaXRlX3J1bnRpbWVDb25kaXRpb25hbGx5UmVhZFdyaXRlQXR0cmli
dXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX3J1bnRpbWVDb25kaXRp
b25hbGx5UmVhZFdyaXRlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0Q29u
ZGl0aW9uYWxseVJlYWRXcml0ZT46OnNldDxzZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRl
X3J1bnRpbWVDb25kaXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEds
b2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJydW50aW1lQ29uZGl0aW9uYWxs
eVJlYWRXcml0ZUF0dHJpYnV0ZSIpOwogfQpAQCAtNDE0LDcgKzQxNCw3IEBAIHN0YXRpYyBpbmxp
bmUgYm9vbCBzZXRKU1Rlc3RDb25kaXRpb25hbGwKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGVfcnVu
dGltZUNvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVVbmZvcmdlYWJsZSwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZV9ydW50aW1lQ29uZGl0aW9uYWxseVJlYWRXcml0
ZUF0dHJpYnV0ZVVuZm9yZ2VhYmxlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
LCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0Q29uZGl0
aW9uYWxseVJlYWRXcml0ZT46OnNldDxzZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX3J1
bnRpbWVDb25kaXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRlVW5mb3JnZWFibGVTZXR0ZXI+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInJ1bnRpbWVDb25k
aXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRlVW5mb3JnZWFibGUiKTsKIH0KQEAgLTQ0NSw3ICs0
NDUsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0Q29uZGl0aW9uYWxsCiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RDb25kaXRp
b25hbGx5UmVhZFdyaXRlX3J1bnRpbWVDb25kaXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRlVW5m
b3JnZWFibGVQcml2YXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX3J1
bnRpbWVDb25kaXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRlVW5mb3JnZWFibGVQcml2YXRlLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAg
IHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZT46OnNldDxz
ZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX3J1bnRpbWVDb25kaXRpb25hbGx5UmVhZFdy
aXRlQXR0cmlidXRlVW5mb3JnZWFibGVQcml2YXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJydW50aW1lQ29uZGl0aW9uYWxseVJlYWRXcml0
ZUF0dHJpYnV0ZVVuZm9yZ2VhYmxlUHJpdmF0ZSIpOwogfQpAQCAtNDc2LDcgKzQ3Niw3IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RDb25kaXRpb25hbGwKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENvbmRpdGlvbmFsbHlSZWFk
V3JpdGVfcnVudGltZUNvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVQcm9taXNlLCAoSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
UihzZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX3J1bnRpbWVDb25kaXRpb25hbGx5UmVh
ZFdyaXRlQXR0cmlidXRlUHJvbWlzZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdENvbmRp
dGlvbmFsbHlSZWFkV3JpdGU+OjpzZXQ8c2V0SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZV9y
dW50aW1lQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZVByb21pc2VTZXR0ZXI+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInJ1bnRpbWVDb25kaXRp
b25hbGx5UmVhZFdyaXRlQXR0cmlidXRlUHJvbWlzZSIpOwogfQpAQCAtNTA3LDcgKzUwNyw3IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RDb25kaXRpb25hbGwKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENvbmRpdGlvbmFsbHlS
ZWFkV3JpdGVfc2V0dGluZ3NDb25kaXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRlLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX3NldHRpbmdzQ29uZGl0aW9uYWxseVJlYWRX
cml0ZUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVy
dHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdENvbmRpdGlvbmFsbHlS
ZWFkV3JpdGU+OjpzZXQ8c2V0SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZV9zZXR0aW5nc0Nv
bmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInNldHRpbmdzQ29uZGl0aW9uYWxseVJlYWRXcml0
ZUF0dHJpYnV0ZSIpOwogfQpAQCAtNTM4LDcgKzUzOCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBz
ZXRKU1Rlc3RDb25kaXRpb25hbGwKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGVfc2V0dGluZ3NDb25k
aXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRlVW5mb3JnZWFibGUsIChKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENv
bmRpdGlvbmFsbHlSZWFkV3JpdGVfc2V0dGluZ3NDb25kaXRpb25hbGx5UmVhZFdyaXRlQXR0cmli
dXRlVW5mb3JnZWFibGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3Bl
cnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RDb25kaXRpb25hbGx5
UmVhZFdyaXRlPjo6c2V0PHNldEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGVfc2V0dGluZ3ND
b25kaXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRlVW5mb3JnZWFibGVTZXR0ZXI+KCpsZXhpY2Fs
R2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInNldHRpbmdzQ29uZGl0aW9u
YWxseVJlYWRXcml0ZUF0dHJpYnV0ZVVuZm9yZ2VhYmxlIik7CiB9CkBAIC01NjksNyArNTY5LDcg
QEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdENvbmRpdGlvbmFsbAogICAgIHJldHVybiB0
cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q29uZGl0aW9uYWxs
eVJlYWRXcml0ZV9zZXR0aW5nc0NvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVVbmZvcmdl
YWJsZVByaXZhdGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGVfc2V0dGlu
Z3NDb25kaXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRlVW5mb3JnZWFibGVQcml2YXRlLCAoSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJl
dHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZT46OnNldDxzZXRK
U1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX3NldHRpbmdzQ29uZGl0aW9uYWxseVJlYWRXcml0
ZUF0dHJpYnV0ZVVuZm9yZ2VhYmxlUHJpdmF0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
IHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAic2V0dGluZ3NDb25kaXRpb25hbGx5UmVhZFdyaXRl
QXR0cmlidXRlVW5mb3JnZWFibGVQcml2YXRlIik7CiB9CkBAIC02MDAsNyArNjAwLDcgQEAgc3Rh
dGljIGlubGluZSBib29sIHNldEpTVGVzdENvbmRpdGlvbmFsbAogICAgIHJldHVybiB0cnVlOwog
fQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRX
cml0ZV9zZXR0aW5nc0NvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVQcm9taXNlLCAoSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
UihzZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX3NldHRpbmdzQ29uZGl0aW9uYWxseVJl
YWRXcml0ZUF0dHJpYnV0ZVByb21pc2UsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RDb25k
aXRpb25hbGx5UmVhZFdyaXRlPjo6c2V0PHNldEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGVf
c2V0dGluZ3NDb25kaXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRlUHJvbWlzZVNldHRlcj4oKmxl
eGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAic2V0dGluZ3NDb25k
aXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRlUHJvbWlzZSIpOwogfQpJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT04uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3REZWZhdWx0VG9KU09OLmNwcAkocmV2aXNpb24gMjc0NTk3KQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT04uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMzIsNyArMzMyLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdERl
ZmF1bHRUb0pTTwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0RGVmYXVsdFRvSlNPTl9ldmVudEhhbmRsZXJBdHRyaWJ1dGUsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdERlZmF1bHRUb0pTT05fZXZlbnRIYW5kbGVyQXR0cmlidXRlLCAoSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExB
dHRyaWJ1dGU8SlNUZXN0RGVmYXVsdFRvSlNPTj46OnNldDxzZXRKU1Rlc3REZWZhdWx0VG9KU09O
X2V2ZW50SGFuZGxlckF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNW
YWx1ZSwgZW5jb2RlZFZhbHVlLCAiZXZlbnRIYW5kbGVyQXR0cmlidXRlIik7CiB9CkBAIC0zNjMs
NyArMzYzLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdERlZmF1bHRUb0pTTwogICAg
IHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RGVm
YXVsdFRvSlNPTl9maXJzdFN0cmluZ0F0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RGVmYXVsdFRv
SlNPTl9maXJzdFN0cmluZ0F0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdERl
ZmF1bHRUb0pTT04+OjpzZXQ8c2V0SlNUZXN0RGVmYXVsdFRvSlNPTl9maXJzdFN0cmluZ0F0dHJp
YnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVl
LCAiZmlyc3RTdHJpbmdBdHRyaWJ1dGUiKTsKIH0KQEAgLTM5NCw3ICszOTQsNyBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgc2V0SlNUZXN0RGVmYXVsdFRvSlNPCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
LUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3REZWZhdWx0VG9KU09OX3NlY29uZExv
bmdBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05fc2Vjb25kTG9uZ0F0dHJp
YnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkK
IHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdERlZmF1bHRUb0pTT04+OjpzZXQ8c2V0
SlNUZXN0RGVmYXVsdFRvSlNPTl9zZWNvbmRMb25nQXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEds
b2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzZWNvbmRMb25nQXR0cmlidXRl
Iik7CiB9CkBAIC00MjUsNyArNDI1LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdERl
ZmF1bHRUb0pTTwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0RGVmYXVsdFRvSlNPTl90aGlyZFVuSlNPTmFibGVBdHRyaWJ1dGUsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdERlZmF1bHRUb0pTT05fdGhpcmRVbkpTT05hYmxlQXR0cmlidXRlLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVy
biBJRExBdHRyaWJ1dGU8SlNUZXN0RGVmYXVsdFRvSlNPTj46OnNldDxzZXRKU1Rlc3REZWZhdWx0
VG9KU09OX3RoaXJkVW5KU09OYWJsZUF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAidGhpcmRVbkpTT05hYmxlQXR0cmlidXRlIik7
CiB9CkBAIC00NTYsNyArNDU2LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdERlZmF1
bHRUb0pTTwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0RGVmYXVsdFRvSlNPTl9mb3VydGhVbnJlc3RyaWN0ZWREb3VibGVBdHRyaWJ1dGUs
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05fZm91cnRoVW5yZXN0cmljdGVkRG91YmxlQXR0
cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUp
KQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0RGVmYXVsdFRvSlNPTj46OnNldDxz
ZXRKU1Rlc3REZWZhdWx0VG9KU09OX2ZvdXJ0aFVucmVzdHJpY3RlZERvdWJsZUF0dHJpYnV0ZVNl
dHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiZm91
cnRoVW5yZXN0cmljdGVkRG91YmxlQXR0cmlidXRlIik7CiB9CkBAIC00ODcsNyArNDg3LDcgQEAg
c3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdERlZmF1bHRUb0pTTwogICAgIHJldHVybiB0cnVl
OwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RGVmYXVsdFRvSlNPTl9m
aWZ0aExvbmdDbGFtcGVkQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3REZWZhdWx0VG9KU09OX2Zp
ZnRoTG9uZ0NsYW1wZWRBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3REZWZh
dWx0VG9KU09OPjo6c2V0PHNldEpTVGVzdERlZmF1bHRUb0pTT05fZmlmdGhMb25nQ2xhbXBlZEF0
dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCAiZmlmdGhMb25nQ2xhbXBlZEF0dHJpYnV0ZSIpOwogfQpAQCAtNTE4LDcgKzUxOCw3IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3REZWZhdWx0VG9KU08KICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05f
c2l4dGhUeXBlZGVmQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
KSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3REZWZhdWx0VG9KU09OX3NpeHRo
VHlwZWRlZkF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJv
cGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdERlZmF1bHRUb0pT
T04+OjpzZXQ8c2V0SlNUZXN0RGVmYXVsdFRvSlNPTl9zaXh0aFR5cGVkZWZBdHRyaWJ1dGVTZXR0
ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInNpeHRo
VHlwZWRlZkF0dHJpYnV0ZSIpOwogfQpAQCAtNTQ5LDcgKzU0OSw3IEBAIHN0YXRpYyBpbmxpbmUg
Ym9vbCBzZXRKU1Rlc3REZWZhdWx0VG9KU08KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05fc2V2ZW50aERpcmVjdGx5
VG9KU09OYWJsZUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkp
CitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RGVmYXVsdFRvSlNPTl9zZXZlbnRo
RGlyZWN0bHlUb0pTT05hYmxlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0
RGVmYXVsdFRvSlNPTj46OnNldDxzZXRKU1Rlc3REZWZhdWx0VG9KU09OX3NldmVudGhEaXJlY3Rs
eVRvSlNPTmFibGVBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFs
dWUsIGVuY29kZWRWYWx1ZSwgInNldmVudGhEaXJlY3RseVRvSlNPTmFibGVBdHRyaWJ1dGUiKTsK
IH0KQEAgLTU4MCw3ICs1ODAsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0RGVmYXVs
dFRvSlNPCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3REZWZhdWx0VG9KU09OX2VpZ2h0aEluZGlyZWN0bHlBdHRyaWJ1dGUsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdERlZmF1bHRUb0pTT05fZWlnaHRoSW5kaXJlY3RseUF0dHJpYnV0ZSwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4g
SURMQXR0cmlidXRlPEpTVGVzdERlZmF1bHRUb0pTT04+OjpzZXQ8c2V0SlNUZXN0RGVmYXVsdFRv
SlNPTl9laWdodGhJbmRpcmVjdGx5QXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJlaWdodGhJbmRpcmVjdGx5QXR0cmlidXRlIik7
CiB9CkBAIC02MTEsNyArNjExLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdERlZmF1
bHRUb0pTTwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0RGVmYXVsdFRvSlNPTl9uaW50aE9wdGlvbmFsRGlyZWN0bHlUb0pTT05hYmxlQXR0
cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3REZWZhdWx0VG9KU09OX25pbnRoT3B0aW9uYWxEaXJlY3Rs
eVRvSlNPTmFibGVBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUs
IFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3REZWZhdWx0
VG9KU09OPjo6c2V0PHNldEpTVGVzdERlZmF1bHRUb0pTT05fbmludGhPcHRpb25hbERpcmVjdGx5
VG9KU09OYWJsZUF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1
ZSwgZW5jb2RlZFZhbHVlLCAibmludGhPcHRpb25hbERpcmVjdGx5VG9KU09OYWJsZUF0dHJpYnV0
ZSIpOwogfQpAQCAtNjQyLDcgKzY0Miw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RE
ZWZhdWx0VG9KU08KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05fdGVudGhGcm96ZW5BcnJheUF0dHJpYnV0ZSwgKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0RGVmYXVsdFRvSlNPTl90ZW50aEZyb3plbkFycmF5QXR0cmlidXRlLCAoSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJl
dHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0RGVmYXVsdFRvSlNPTj46OnNldDxzZXRKU1Rlc3REZWZh
dWx0VG9KU09OX3RlbnRoRnJvemVuQXJyYXlBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFs
T2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInRlbnRoRnJvemVuQXJyYXlBdHRyaWJ1
dGUiKTsKIH0KQEAgLTY3Myw3ICs2NzMsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0
RGVmYXVsdFRvSlNPCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NF
VFRFUihzZXRKU1Rlc3REZWZhdWx0VG9KU09OX2VsZXZlbnRoU2VxdWVuY2VBdHRyaWJ1dGUsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05fZWxldmVudGhTZXF1ZW5jZUF0dHJpYnV0ZSwgKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICBy
ZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdERlZmF1bHRUb0pTT04+OjpzZXQ8c2V0SlNUZXN0RGVm
YXVsdFRvSlNPTl9lbGV2ZW50aFNlcXVlbmNlQXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJlbGV2ZW50aFNlcXVlbmNlQXR0cmli
dXRlIik7CiB9CkBAIC03MDQsNyArNzA0LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVz
dERlZmF1bHRUb0pTTwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0RGVmYXVsdFRvSlNPTl90d2VsZnRoSW50ZXJmYWNlU2VxdWVuY2VBdHRy
aWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFs
dWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05fdHdlbGZ0aEludGVyZmFjZVNlcXVl
bmNlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0
eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0RGVmYXVsdFRvSlNPTj46
OnNldDxzZXRKU1Rlc3REZWZhdWx0VG9KU09OX3R3ZWxmdGhJbnRlcmZhY2VTZXF1ZW5jZUF0dHJp
YnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVl
LCAidHdlbGZ0aEludGVyZmFjZVNlcXVlbmNlQXR0cmlidXRlIik7CiB9CkBAIC03MzUsNyArNzM1
LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdERlZmF1bHRUb0pTTwogICAgIHJldHVy
biB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RGVmYXVsdFRv
SlNPTl90aGlydGVlbnRoUmVjb3JkQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3REZWZhdWx0VG9K
U09OX3RoaXJ0ZWVudGhSZWNvcmRBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rl
c3REZWZhdWx0VG9KU09OPjo6c2V0PHNldEpTVGVzdERlZmF1bHRUb0pTT05fdGhpcnRlZW50aFJl
Y29yZEF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5j
b2RlZFZhbHVlLCAidGhpcnRlZW50aFJlY29yZEF0dHJpYnV0ZSIpOwogfQpJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhl
cml0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXQuY3BwCShyZXZpc2lvbiAyNzQ1OTcpCisr
KyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRv
SlNPTkluaGVyaXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTYsNyArMjE2LDcgQEAgc3RhdGlj
IGlubGluZSBib29sIHNldEpTVGVzdERlZmF1bHRUb0pTTwogICAgIHJldHVybiB0cnVlOwogfQog
Ci1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRf
aW5oZXJpdExvbmdBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUp
KQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0
X2luaGVyaXRMb25nQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
LCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0RGVmYXVs
dFRvSlNPTkluaGVyaXQ+OjpzZXQ8c2V0SlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRfaW5oZXJp
dExvbmdBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVu
Y29kZWRWYWx1ZSwgImluaGVyaXRMb25nQXR0cmlidXRlIik7CiB9CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRG
aW5hbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWwuY3BwCShyZXZpc2lvbiAyNzQ1
OTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVm
YXVsdFRvSlNPTkluaGVyaXRGaW5hbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxOSw3ICsyMTks
NyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0RGVmYXVsdFRvSlNPCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3REZWZhdWx0VG9K
U09OSW5oZXJpdEZpbmFsX2ZpbmFsTG9uZ0F0dHJpYnV0ZUZvbywgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RGVm
YXVsdFRvSlNPTkluaGVyaXRGaW5hbF9maW5hbExvbmdBdHRyaWJ1dGVGb28sIChKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElE
TEF0dHJpYnV0ZTxKU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZpbmFsPjo6c2V0PHNldEpTVGVz
dERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWxfZmluYWxMb25nQXR0cmlidXRlRm9vU2V0dGVyPigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJmaW5hbExvbmdB
dHRyaWJ1dGVGb28iKTsKIH0KQEAgLTI1MCw3ICsyNTAsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wg
c2V0SlNUZXN0RGVmYXVsdFRvSlNPCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZpbmFsX2ZpbmFsTG9u
Z0F0dHJpYnV0ZUJhciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0Nf
REVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbF9m
aW5hbExvbmdBdHRyaWJ1dGVCYXIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUs
IFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3REZWZhdWx0
VG9KU09OSW5oZXJpdEZpbmFsPjo6c2V0PHNldEpTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0Rmlu
YWxfZmluYWxMb25nQXR0cmlidXRlQmFyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhp
c1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJmaW5hbExvbmdBdHRyaWJ1dGVCYXIiKTsKIH0KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlT
ZXR0aW5nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGluZy5jcHAJKHJldmlzaW9uIDI3NDU5NykKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlT
ZXR0aW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEzLDcgKzMxMyw3IEBAIHN0YXRpYyBpbmxp
bmUgYm9vbCBzZXRKU1Rlc3RFbmFibGVkQnlTZXQKICAgICByZXR1cm4gdGhpc09iamVjdC5wdXRE
aXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgTENoYXIqPigiVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmciKSwgc3RybGVuKCJUZXN0U3Vi
T2JqRW5hYmxlZEJ5U2V0dGluZyIpKSwgdmFsdWUpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGlu
Z0NvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19E
RUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpF
bmFibGVkQnlTZXR0aW5nQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
VmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RF
bmFibGVkQnlTZXR0aW5nPjo6c2V0PHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9i
akVuYWJsZWRCeVNldHRpbmdDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
IHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmciKTsK
IH0KQEAgLTMzNiw3ICszMzYsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0RW5hYmxl
ZEJ5U2V0CiAgICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpm
cm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RTdWJPYmpF
bmFibGVkQnlTZXR0aW5nUHJpdmF0ZSIpLCBzdHJsZW4oIlRlc3RTdWJPYmpFbmFibGVkQnlTZXR0
aW5nUHJpdmF0ZSIpKSwgdmFsdWUpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVD
b25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVG
SU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5h
YmxlZEJ5U2V0dGluZ1ByaXZhdGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpT
VGVzdEVuYWJsZWRCeVNldHRpbmc+OjpzZXQ8c2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0
U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxH
bG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdFN1Yk9iakVuYWJsZWRC
eVNldHRpbmdQcml2YXRlIik7CiB9CkBAIC0zNTksNyArMzU5LDcgQEAgc3RhdGljIGlubGluZSBi
b29sIHNldEpTVGVzdEVuYWJsZWRCeVNldAogICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVj
dCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBM
Q2hhcio+KCJUZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWMiKSwgc3RybGVu
KCJUZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWMiKSksIHZhbHVlKTsKIH0K
IAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVz
dFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlUHVibGljQ29uc3RydWN0b3IsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRl
UHVibGljQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFBy
b3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RFbmFibGVkQnlT
ZXR0aW5nPjo6c2V0PHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRC
eVNldHRpbmdQcml2YXRlUHVibGljQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5n
UHJpdmF0ZVB1YmxpYyIpOwogfQpAQCAtMzk0LDcgKzM5NCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBzZXRKU1Rlc3RFbmFibGVkQnlTZXQKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfZW5hYmxlZEJ5U2V0dGlu
Z0F0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVG
SU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ19lbmFibGVkQnlTZXR0
aW5nQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0
eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0RW5hYmxlZEJ5U2V0dGlu
Zz46OnNldDxzZXRKU1Rlc3RFbmFibGVkQnlTZXR0aW5nX2VuYWJsZWRCeVNldHRpbmdBdHRyaWJ1
dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwg
ImVuYWJsZWRCeVNldHRpbmdBdHRyaWJ1dGUiKTsKIH0KQEAgLTQzMSw3ICs0MzEsNyBAQCBzdGF0
aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0RW5hYmxlZEJ5U2V0CiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RFbmFibGVkQnlTZXR0aW5nX2Vu
YWJsZWRCeVR3b1NldHRpbmdzQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RFbmFibGVkQnlTZXR0
aW5nX2VuYWJsZWRCeVR3b1NldHRpbmdzQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8
SlNUZXN0RW5hYmxlZEJ5U2V0dGluZz46OnNldDxzZXRKU1Rlc3RFbmFibGVkQnlTZXR0aW5nX2Vu
YWJsZWRCeVR3b1NldHRpbmdzQXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
dGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJlbmFibGVkQnlUd29TZXR0aW5nc0F0dHJpYnV0ZSIp
OwogfQpAQCAtNDY0LDcgKzQ2NCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RFbmFi
bGVkQnlTZXQKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfc3VwcGxlbWVudGFsQXR0cmlidXRlLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RFbmFibGVkQnlTZXR0aW5nX3N1cHBsZW1lbnRhbEF0dHJpYnV0ZSwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4g
SURMQXR0cmlidXRlPEpTVGVzdEVuYWJsZWRCeVNldHRpbmc+OjpzZXQ8c2V0SlNUZXN0RW5hYmxl
ZEJ5U2V0dGluZ19zdXBwbGVtZW50YWxBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInN1cHBsZW1lbnRhbEF0dHJpYnV0ZSIpOwog
fQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVu
YWJsZWRGb3JDb250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEZvckNvbnRleHQuY3BwCShyZXZpc2lvbiAy
NzQ1OTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
RW5hYmxlZEZvckNvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODgsNyArMTg4LDcgQEAg
c3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEVuYWJsZWRGb3JDbwogICAgIHJldHVybiB0aGlz
T2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnBy
ZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0U3ViT2JqRW5hYmxlZEZvckNvbnRleHQiKSwgc3Ry
bGVuKCJUZXN0U3ViT2JqRW5hYmxlZEZvckNvbnRleHQiKSksIHZhbHVlKTsKIH0KIAotSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEVuYWJsZWRGb3JDb250ZXh0X1Rlc3RTdWJPYmpF
bmFibGVkRm9yQ29udGV4dENvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RFbmFibGVkRm9yQ29u
dGV4dF9UZXN0U3ViT2JqRW5hYmxlZEZvckNvbnRleHRDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURM
QXR0cmlidXRlPEpTVGVzdEVuYWJsZWRGb3JDb250ZXh0Pjo6c2V0PHNldEpTVGVzdEVuYWJsZWRG
b3JDb250ZXh0X1Rlc3RTdWJPYmpFbmFibGVkRm9yQ29udGV4dENvbnN0cnVjdG9yU2V0dGVyPigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0U3ViT2Jq
RW5hYmxlZEZvckNvbnRleHQiKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuY3Bw
CShyZXZpc2lvbiAyNzQ1OTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODE2LDcgKzgx
Niw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3QKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9i
amVjdF9yZWd1bGFyQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
KSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfcmVndWxh
ckF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlO
YW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNl
dDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfcmVndWxhckF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxH
bG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAicmVndWxhckF0dHJpYnV0ZSIp
OwogfQpAQCAtODQ3LDcgKzg0Nyw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9i
YWxPYmplY3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdEdsb2JhbE9iamVjdF9wdWJsaWNBbmRQcml2YXRlQXR0cmlidXRlLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RHbG9iYWxPYmplY3RfcHVibGljQW5kUHJpdmF0ZUF0dHJpYnV0ZSwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4g
SURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmpl
Y3RfcHVibGljQW5kUHJpdmF0ZUF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
IHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAicHVibGljQW5kUHJpdmF0ZUF0dHJpYnV0ZSIpOwog
fQpAQCAtODgyLDcgKzg4Miw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxP
YmplY3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdEdsb2JhbE9iamVjdF9wdWJsaWNBbmRQcml2YXRlQ29uZGl0aW9uYWxBdHRyaWJ1dGUs
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9wdWJsaWNBbmRQcml2YXRlQ29uZGl0aW9uYWxB
dHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFt
ZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8
c2V0SlNUZXN0R2xvYmFsT2JqZWN0X3B1YmxpY0FuZFByaXZhdGVDb25kaXRpb25hbEF0dHJpYnV0
ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAi
cHVibGljQW5kUHJpdmF0ZUNvbmRpdGlvbmFsQXR0cmlidXRlIik7CiB9CkBAIC05MTksNyArOTE5
LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdAogICAgIHJldHVy
biB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2Jq
ZWN0X2VuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVj
dF9lbmFibGVkQXRSdW50aW1lQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0
R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVjdF9lbmFibGVkQXRSdW50aW1l
QXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVk
VmFsdWUsICJlbmFibGVkQXRSdW50aW1lQXR0cmlidXRlIik7CiB9CkBAIC05NDQsNyArOTQ0LDcg
QEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdAogICAgIHJldHVybiB0
aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRl
cnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0Q0VSZWFjdGlvbnMiKSwgc3RybGVuKCJUZXN0
Q0VSZWFjdGlvbnMiKSksIHZhbHVlKTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0Q0VSZWFjdGlvbnNDb25zdHJ1Y3RvciwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RDRVJlYWN0aW9uc0NvbnN0cnVjdG9yLCAoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJ
RExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVj
dF9UZXN0Q0VSZWFjdGlvbnNDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
IHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdENFUmVhY3Rpb25zIik7CiB9CkBAIC05Njcs
NyArOTY3LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdAogICAg
IHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2
bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0Q0VSZWFjdGlvbnNTdHJpbmdp
ZmllciIpLCBzdHJsZW4oIlRlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyIikpLCB2YWx1ZSk7CiB9
CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdENF
UmVhY3Rpb25zU3RyaW5naWZpZXJDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2Jq
ZWN0X1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0
dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rl
c3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFs
T2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RDRVJlYWN0aW9uc1N0cmluZ2lm
aWVyIik7CiB9CkBAIC05OTAsNyArOTkwLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVz
dEdsb2JhbE9iamVjdAogICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRp
Zmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0
Q1NTUHJvcGVydHkiKSwgc3RybGVuKCJUZXN0Q1NTUHJvcGVydHkiKSksIHZhbHVlKTsKIH0KIAot
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0Q1NTUHJv
cGVydHlDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitK
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RDU1NQcm9w
ZXJ0eUNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9w
ZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0
Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0Q1NTUHJvcGVydHlDb25zdHJ1Y3RvclNl
dHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVz
dENTU1Byb3BlcnR5Iik7CiB9CkBAIC0xMDEzLDcgKzEwMTMsNyBAQCBzdGF0aWMgaW5saW5lIGJv
b2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0CiAgICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0
KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExD
aGFyKj4oIlRlc3RDYWxsVHJhY2VyIiksIHN0cmxlbigiVGVzdENhbGxUcmFjZXIiKSksIHZhbHVl
KTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9U
ZXN0Q2FsbFRyYWNlckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVz
dENhbGxUcmFjZXJDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2Jh
bE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdENhbGxUcmFjZXJDb25zdHJ1
Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVl
LCAiVGVzdENhbGxUcmFjZXIiKTsKIH0KQEAgLTEwNDAsNyArMTA0MCw3IEBAIHN0YXRpYyBpbmxp
bmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3QKICAgICByZXR1cm4gdGhpc09iamVjdC5wdXRE
aXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgTENoYXIqPigiVGVzdENhbGxiYWNrSW50ZXJmYWNlIiksIHN0cmxlbigiVGVzdENhbGxiYWNr
SW50ZXJmYWNlIikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRK
U1Rlc3RHbG9iYWxPYmplY3RfVGVzdENhbGxiYWNrSW50ZXJmYWNlQ29uc3RydWN0b3IsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0Q2FsbGJhY2tJbnRlcmZhY2VDb25zdHJ1Y3Rvciwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAg
ICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RH
bG9iYWxPYmplY3RfVGVzdENhbGxiYWNrSW50ZXJmYWNlQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RDYWxsYmFja0lu
dGVyZmFjZSIpOwogfQpAQCAtMTA2NSw3ICsxMDY1LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNl
dEpTVGVzdEdsb2JhbE9iamVjdAogICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwg
SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+
KCJUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IiKSwgc3RybGVuKCJUZXN0Q2xhc3NX
aXRoSlNCdWlsdGluQ29uc3RydWN0b3IiKSksIHZhbHVlKTsKIH0KIAotSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29u
c3RydWN0b3JDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkp
CitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RDbGFz
c1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3RvckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1
dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0Q2xh
c3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3JDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9i
YWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdENsYXNzV2l0aEpTQnVpbHRp
bkNvbnN0cnVjdG9yIik7CiB9CkBAIC0xMDg4LDcgKzEwODgsNyBAQCBzdGF0aWMgaW5saW5lIGJv
b2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0CiAgICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0
KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExD
aGFyKj4oIlRlc3RET01KSVQiKSwgc3RybGVuKCJUZXN0RE9NSklUIikpLCB2YWx1ZSk7CiB9CiAK
LUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdERPTUpJ
VENvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19E
RUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdERPTUpJVENvbnN0
cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUp
KQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNl
dEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0RE9NSklUQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2Fs
R2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RET01KSVQiKTsKIH0K
QEAgLTExMTEsNyArMTExMSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxP
YmplY3QKICAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZy
b21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdERlZmF1bHRU
b0pTT05JbmRpcmVjdEluaGVyaXRhbmNlIiksIHN0cmxlbigiVGVzdERlZmF1bHRUb0pTT05JbmRp
cmVjdEluaGVyaXRhbmNlIikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
UihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdERlZmF1bHRUb0pTT05JbmRpcmVjdEluaGVyaXRh
bmNlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0RGVmYXVsdFRv
SlNPTkluZGlyZWN0SW5oZXJpdGFuY2VDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRl
PEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdERlZmF1
bHRUb0pTT05JbmRpcmVjdEluaGVyaXRhbmNlQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3REZWZhdWx0VG9KU09OSW5k
aXJlY3RJbmhlcml0YW5jZSIpOwogfQpAQCAtMTEzNCw3ICsxMTM0LDcgQEAgc3RhdGljIGlubGlu
ZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdAogICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERp
cmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25z
dCBMQ2hhcio+KCJUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXQiKSwgc3RybGVuKCJUZXN0RGVmYXVs
dFRvSlNPTkluaGVyaXQiKSksIHZhbHVlKTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRDb25zdHJ1Y3Rv
ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RP
TV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdENv
bnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5h
bWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0
PHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRDb25zdHJ1Y3Rv
clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAi
VGVzdERlZmF1bHRUb0pTT05Jbmhlcml0Iik7CiB9CkBAIC0xMTU3LDcgKzExNTcsNyBAQCBzdGF0
aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0CiAgICAgcmV0dXJuIHRoaXNPYmpl
Y3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9j
YXN0PGNvbnN0IExDaGFyKj4oIlRlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZpbmFsIiksIHN0cmxl
bigiVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWwiKSksIHZhbHVlKTsKIH0KIAotSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0RGVmYXVsdFRvSlNP
TkluaGVyaXRGaW5hbENvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVz
dERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWxDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmli
dXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdERl
ZmF1bHRUb0pTT05Jbmhlcml0RmluYWxDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxP
YmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0
RmluYWwiKTsKIH0KQEAgLTExODAsNyArMTE4MCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRK
U1Rlc3RHbG9iYWxPYmplY3QKICAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElk
ZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigi
VGVzdERvbWFpblNlY3VyaXR5IiksIHN0cmxlbigiVGVzdERvbWFpblNlY3VyaXR5IikpLCB2YWx1
ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3Rf
VGVzdERvbWFpblNlY3VyaXR5Q29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVj
dF9UZXN0RG9tYWluU2VjdXJpdHlDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpT
VGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdERvbWFpblNl
Y3VyaXR5Q29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUs
IGVuY29kZWRWYWx1ZSwgIlRlc3REb21haW5TZWN1cml0eSIpOwogfQpAQCAtMTIwMyw3ICsxMjAz
LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdAogICAgIHJldHVy
biB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVp
bnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0RXZlbnRDb25zdHJ1Y3RvciIpLCBzdHJs
ZW4oIlRlc3RFdmVudENvbnN0cnVjdG9yIikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdEV2ZW50Q29uc3RydWN0b3JDb25z
dHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RFdmVudENvbnN0cnVjdG9y
Q29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5
TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+Ojpz
ZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RFdmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3JT
ZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRl
c3RFdmVudENvbnN0cnVjdG9yIik7CiB9CkBAIC0xMjI2LDcgKzEyMjYsNyBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0CiAgICAgcmV0dXJuIHRoaXNPYmplY3QucHV0
RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNv
bnN0IExDaGFyKj4oIlRlc3RFdmVudFRhcmdldCIpLCBzdHJsZW4oIlRlc3RFdmVudFRhcmdldCIp
KSwgdmFsdWUpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFs
T2JqZWN0X1Rlc3RFdmVudFRhcmdldENvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxP
YmplY3RfVGVzdEV2ZW50VGFyZ2V0Q29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxK
U1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RFdmVudFRh
cmdldENvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBl
bmNvZGVkVmFsdWUsICJUZXN0RXZlbnRUYXJnZXQiKTsKIH0KQEAgLTEyNDksNyArMTI0OSw3IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3QKICAgICByZXR1cm4gdGhp
c09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJw
cmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdEV4Y2VwdGlvbiIpLCBzdHJsZW4oIlRlc3RFeGNl
cHRpb24iKSksIHZhbHVlKTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVz
dEdsb2JhbE9iamVjdF9UZXN0RXhjZXB0aW9uQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEds
b2JhbE9iamVjdF9UZXN0RXhjZXB0aW9uQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0
ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RFeGNl
cHRpb25Db25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwg
ZW5jb2RlZFZhbHVlLCAiVGVzdEV4Y2VwdGlvbiIpOwogfQpAQCAtMTI3Miw3ICsxMjcyLDcgQEAg
c3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdAogICAgIHJldHVybiB0aGlz
T2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnBy
ZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZSIpLCBzdHJsZW4o
IlRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlIikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdEdlbmVyYXRlSXNSZWFjaGFibGVD
b25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVG
SU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RHZW5lcmF0ZUlzUmVh
Y2hhYmxlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFBy
b3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmpl
Y3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlQ29u
c3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRW
YWx1ZSwgIlRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlIik7CiB9CkBAIC0xMjk1LDcgKzEyOTUsNyBA
QCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0CiAgICAgcmV0dXJuIHRo
aXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVy
cHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RHbG9iYWxPYmplY3QiKSwgc3RybGVuKCJUZXN0
R2xvYmFsT2JqZWN0IikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdEdsb2JhbE9iamVjdENvbnN0cnVjdG9yLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdEdsb2JhbE9iamVjdENvbnN0cnVjdG9yLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVy
biBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9i
amVjdF9UZXN0R2xvYmFsT2JqZWN0Q29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RHbG9iYWxPYmplY3QiKTsKIH0KQEAg
LTEzMTgsNyArMTMxOCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmpl
Y3QKICAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21T
dHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdEluZGV4ZWRTZXR0
ZXJOb0lkZW50aWZpZXIiKSwgc3RybGVuKCJUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllciIp
KSwgdmFsdWUpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFs
T2JqZWN0X1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyQ29uc3RydWN0b3IsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnVj
dG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQog
ewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpT
VGVzdEdsb2JhbE9iamVjdF9UZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9y
U2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJU
ZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllciIpOwogfQpAQCAtMTM0MSw3ICsxMzQxLDcgQEAg
c3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdAogICAgIHJldHVybiB0aGlz
T2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnBy
ZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9u
IiksIHN0cmxlbigiVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiIpKSwgdmFsdWUp
OwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rl
c3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25Db25zdHJ1Y3RvciwgKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNU
ZXN0R2xvYmFsT2JqZWN0X1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25Db25zdHJ1
Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkK
IHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRK
U1Rlc3RHbG9iYWxPYmplY3RfVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkNvbnN0
cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFs
dWUsICJUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uIik7CiB9CkBAIC0xMzY0LDcg
KzEzNjQsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0CiAgICAg
cmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZt
LCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RJbmRleGVkU2V0dGVyV2l0aElk
ZW50aWZpZXIiKSwgc3RybGVuKCJUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyIikpLCB2
YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmpl
Y3RfVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRK
U1Rlc3RHbG9iYWxPYmplY3RfVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckNvbnN0cnVj
dG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQog
ewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpT
VGVzdEdsb2JhbE9iamVjdF9UZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyQ29uc3RydWN0
b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwg
IlRlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIiKTsKIH0KQEAgLTEzODcsNyArMTM4Nyw3
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3QKICAgICByZXR1cm4g
dGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3Jl
IiksIHN0cmxlbigiVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlIikpLCB2YWx1ZSk7CiB9
CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdElu
dGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2Jh
bE9iamVjdF9UZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmVDb25zdHJ1Y3RvciwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1
cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxP
YmplY3RfVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlQ29uc3RydWN0b3JTZXR0ZXI+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RJbnRlcmZh
Y2VMZWFkaW5nVW5kZXJzY29yZSIpOwogfQpAQCAtMTQxMCw3ICsxNDEwLDcgQEAgc3RhdGljIGlu
bGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdAogICAgIHJldHVybiB0aGlzT2JqZWN0LnB1
dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxj
b25zdCBMQ2hhcio+KCJUZXN0SXRlcmFibGUiKSwgc3RybGVuKCJUZXN0SXRlcmFibGUiKSksIHZh
bHVlKTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVj
dF9UZXN0SXRlcmFibGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rl
c3RJdGVyYWJsZUNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
LCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFs
T2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0SXRlcmFibGVDb25zdHJ1Y3Rv
clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAi
VGVzdEl0ZXJhYmxlIik7CiB9CkBAIC0xNDMzLDcgKzE0MzMsNyBAQCBzdGF0aWMgaW5saW5lIGJv
b2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0CiAgICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0
KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExD
aGFyKj4oIlRlc3RKU0J1aWx0aW5Db25zdHJ1Y3RvciIpLCBzdHJsZW4oIlRlc3RKU0J1aWx0aW5D
b25zdHJ1Y3RvciIpKSwgdmFsdWUpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3RvckNvbnN0cnVjdG9yLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NF
VFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yQ29uc3Ry
dWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFs
dWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkp
CiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0
SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3RvckNvbnN0cnVjdG9yU2V0
dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0
SlNCdWlsdGluQ29uc3RydWN0b3IiKTsKIH0KQEAgLTE0NTYsNyArMTQ1Niw3IEBAIHN0YXRpYyBp
bmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3QKICAgICByZXR1cm4gdGhpc09iamVjdC5w
dXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8
Y29uc3QgTENoYXIqPigiVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbiIpLCBzdHJsZW4oIlRlc3RM
ZWdhY3lGYWN0b3J5RnVuY3Rpb24iKSksIHZhbHVlKTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uQ29u
c3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TGVnYWN5RmFjdG9yeUZ1
bmN0aW9uQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFBy
b3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmpl
Y3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb25D
b25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2Rl
ZFZhbHVlLCAiVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbiIpOwogfQpAQCAtMTQ3OSw3ICsxNDc5
LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdAogICAgIHJldHVy
biB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVp
bnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJBdWRpbyIpLCBzdHJsZW4oIkF1ZGlvIikpLCB2
YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmpl
Y3RfQXVkaW9Db25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkp
CitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X0F1ZGlvQ29u
c3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFt
ZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8
c2V0SlNUZXN0R2xvYmFsT2JqZWN0X0F1ZGlvQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIkF1ZGlvIik7CiB9CkBAIC0xNTAy
LDcgKzE1MDIsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0CiAg
ICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5n
KHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RMZWdhY3lPdmVycmlkZUJ1
aWx0SW5zIiksIHN0cmxlbigiVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMiKSksIHZhbHVlKTsK
IH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0
TGVnYWN5T3ZlcnJpZGVCdWlsdEluc0NvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxP
YmplY3RfVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnNDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURM
QXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3Rf
VGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnNDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9i
YWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdExlZ2FjeU92ZXJyaWRlQnVp
bHRJbnMiKTsKIH0KQEAgLTE1MjUsNyArMTUyNSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRK
U1Rlc3RHbG9iYWxPYmplY3QKICAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElk
ZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigi
VGVzdE1hcExpa2UiKSwgc3RybGVuKCJUZXN0TWFwTGlrZSIpKSwgdmFsdWUpOwogfQogCi1KU0Nf
REVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RNYXBMaWtlQ29u
c3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TWFwTGlrZUNvbnN0cnVj
dG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQog
ewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpT
VGVzdEdsb2JhbE9iamVjdF9UZXN0TWFwTGlrZUNvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEds
b2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0TWFwTGlrZSIpOwogfQpA
QCAtMTU0OCw3ICsxNTQ4LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9i
amVjdAogICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJv
bVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0TWFwTGlrZVdp
dGhPdmVycmlkZGVuT3BlcmF0aW9ucyIpLCBzdHJsZW4oIlRlc3RNYXBMaWtlV2l0aE92ZXJyaWRk
ZW5PcGVyYXRpb25zIikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnND
b25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVG
SU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RNYXBMaWtlV2l0aE92
ZXJyaWRkZW5PcGVyYXRpb25zQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rl
c3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RNYXBMaWtlV2l0
aE92ZXJyaWRkZW5PcGVyYXRpb25zQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5P
cGVyYXRpb25zIik7CiB9CkBAIC0xNTcxLDcgKzE1NzEsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wg
c2V0SlNUZXN0R2xvYmFsT2JqZWN0CiAgICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZt
LCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFy
Kj4oIlRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIiKSwgc3RybGVuKCJUZXN0
TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyIikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19E
RUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkQW5kSW5k
ZXhlZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxP
YmplY3RfVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9yLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAg
IHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEds
b2JhbE9iamVjdF9UZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyQ29uc3RydWN0
b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwg
IlRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIiKTsKIH0KQEAgLTE1OTQsNyAr
MTU5NCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3QKICAgICBy
ZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0s
IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRl
clRocm93aW5nRXhjZXB0aW9uIiksIHN0cmxlbigiVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRo
cm93aW5nRXhjZXB0aW9uIikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
UihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5n
RXhjZXB0aW9uQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUp
KQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFt
ZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25Db25zdHJ1Y3RvciwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4g
SURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmpl
Y3RfVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uQ29uc3RydWN0b3JT
ZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRl
c3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiIpOwogfQpAQCAtMTYxNyw3
ICsxNjE3LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdAogICAg
IHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2
bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0TmFtZWRBbmRJbmRleGVkU2V0
dGVyV2l0aElkZW50aWZpZXIiKSwgc3RybGVuKCJUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0
aElkZW50aWZpZXIiKSksIHZhbHVlKTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZp
ZXJDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0Nf
REVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZEFuZElu
ZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1
dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFt
ZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXJDb25zdHJ1Y3RvclNldHRlcj4oKmxleGlj
YWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdE5hbWVkQW5kSW5k
ZXhlZFNldHRlcldpdGhJZGVudGlmaWVyIik7CiB9CkBAIC0xNjQwLDcgKzE2NDAsNyBAQCBzdGF0
aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0CiAgICAgcmV0dXJuIHRoaXNPYmpl
Y3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9j
YXN0PGNvbnN0IExDaGFyKj4oIlRlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIiKSwgc3RybGVu
KCJUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyIikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19ERUZJ
TkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkRGVsZXRlck5v
SWRlbnRpZmllckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
KSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5h
bWVkRGVsZXRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8
SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRE
ZWxldGVyTm9JZGVudGlmaWVyQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIi
KTsKIH0KQEAgLTE2NjMsNyArMTY2Myw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RH
bG9iYWxPYmplY3QKICAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZp
ZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdE5h
bWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uIiksIHN0cmxlbigiVGVzdE5hbWVkRGVsZXRlclRo
cm93aW5nRXhjZXB0aW9uIikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
UihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9u
Q29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWREZWxldGVy
VGhyb3dpbmdFeGNlcHRpb25Db25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVz
dEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkRGVsZXRl
clRocm93aW5nRXhjZXB0aW9uQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2Vw
dGlvbiIpOwogfQpAQCAtMTY4Niw3ICsxNjg2LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpT
VGVzdEdsb2JhbE9iamVjdAogICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRl
bnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJU
ZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXIiKSwgc3RybGVuKCJUZXN0TmFtZWREZWxldGVy
V2l0aElkZW50aWZpZXIiKSksIHZhbHVlKTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXJDb25z
dHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZERlbGV0ZXJXaXRo
SWRlbnRpZmllckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
LCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFs
T2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWREZWxldGVyV2l0aElk
ZW50aWZpZXJDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1
ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyIik7CiB9CkBA
IC0xNzA5LDcgKzE3MDksNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2Jq
ZWN0CiAgICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9t
U3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3ROYW1lZERlbGV0
ZXJXaXRoSW5kZXhlZEdldHRlciIpLCBzdHJsZW4oIlRlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhl
ZEdldHRlciIpKSwgdmFsdWUpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNU
ZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlckNvbnN0cnVj
dG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRl
eGVkR2V0dGVyQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUs
IFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxP
YmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5k
ZXhlZEdldHRlckNvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1Zh
bHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIiKTsK
IH0KQEAgLTE3MzIsNyArMTczMiw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9i
YWxPYmplY3QKICAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6
OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdE5hbWVk
R2V0dGVyQ2FsbFdpdGgiKSwgc3RybGVuKCJUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aCIpKSwgdmFs
dWUpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0
X1Rlc3ROYW1lZEdldHRlckNhbGxXaXRoQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2Jh
bE9iamVjdF9UZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aENvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExB
dHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVjdF9U
ZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aENvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9i
amVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aCIp
OwogfQpAQCAtMTc1NSw3ICsxNzU1LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEds
b2JhbE9iamVjdAogICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmll
cjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0TmFt
ZWRHZXR0ZXJOb0lkZW50aWZpZXIiKSwgc3RybGVuKCJUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZp
ZXIiKSksIHZhbHVlKTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEds
b2JhbE9iamVjdF9UZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXJDb25zdHJ1Y3RvciwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllckNvbnN0cnVj
dG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQog
ewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpT
VGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXJDb25zdHJ1Y3RvclNl
dHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVz
dE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyIik7CiB9CkBAIC0xNzc4LDcgKzE3NzgsNyBAQCBzdGF0
aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0CiAgICAgcmV0dXJuIHRoaXNPYmpl
Y3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9j
YXN0PGNvbnN0IExDaGFyKj4oIlRlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyIiksIHN0cmxl
bigiVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXIiKSksIHZhbHVlKTsKIH0KIAotSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRHZXR0ZXJX
aXRoSWRlbnRpZmllckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVz
dE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXJDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmli
dXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5h
bWVkR2V0dGVyV2l0aElkZW50aWZpZXJDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxP
YmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50
aWZpZXIiKTsKIH0KQEAgLTE4MDEsNyArMTgwMSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRK
U1Rlc3RHbG9iYWxPYmplY3QKICAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElk
ZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigi
VGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyIiksIHN0cmxlbigiVGVzdE5hbWVkU2V0dGVyTm9J
ZGVudGlmaWVyIikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRK
U1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyQ29uc3RydWN0b3Is
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXJD
b25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlO
YW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNl
dDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyQ29uc3Ry
dWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1
ZSwgIlRlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllciIpOwogfQpAQCAtMTgyNCw3ICsxODI0LDcg
QEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdAogICAgIHJldHVybiB0
aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRl
cnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlv
biIpLCBzdHJsZW4oIlRlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uIikpLCB2YWx1ZSk7
CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVz
dE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25Db25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uQ29uc3RydWN0b3Is
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAg
ICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0
R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uQ29uc3RydWN0b3JT
ZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRl
c3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uIik7CiB9CkBAIC0xODQ3LDcgKzE4NDcsNyBA
QCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0CiAgICAgcmV0dXJuIHRo
aXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVy
cHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyIiks
IHN0cmxlbigiVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXIiKSksIHZhbHVlKTsKIH0KIAot
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRT
ZXR0ZXJXaXRoSWRlbnRpZmllckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmpl
Y3RfVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXJDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURM
QXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3Rf
VGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXJDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxH
bG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdE5hbWVkU2V0dGVyV2l0
aElkZW50aWZpZXIiKTsKIH0KQEAgLTE4NzAsNyArMTg3MCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBzZXRKU1Rlc3RHbG9iYWxPYmplY3QKICAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qo
dm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENo
YXIqPigiVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXIiKSwgc3RybGVuKCJUZXN0TmFt
ZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlciIpKSwgdmFsdWUpOwogfQogCi1KU0NfREVGSU5FX0NV
U1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNldHRlcldpdGhJbmRl
eGVkR2V0dGVyQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUp
KQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFt
ZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1
dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFt
ZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckNvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0TmFtZWRTZXR0ZXJXaXRoSW5k
ZXhlZEdldHRlciIpOwogfQpAQCAtMTg5Myw3ICsxODkzLDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdEdsb2JhbE9iamVjdAogICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2
bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hh
cio+KCJUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlciIpLCBzdHJsZW4o
IlRlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyIikpLCB2YWx1ZSk7CiB9
CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5h
bWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXJDb25zdHJ1Y3RvciwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0
dGVyQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3Bl
cnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+
OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0
dGVyQW5kU2V0dGVyQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlz
VmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5k
U2V0dGVyIik7CiB9CkBAIC0xOTE2LDcgKzE5MTYsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0
SlNUZXN0R2xvYmFsT2JqZWN0CiAgICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJ
ZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4o
IlRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zIiksIHN0cmxlbigiVGVz
dE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMiKSksIHZhbHVlKTsKIH0KIAot
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRT
ZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdEluc0NvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rl
c3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnND
b25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlO
YW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNl
dDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRl
QnVpbHRJbnNDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1
ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJ
bnMiKTsKIH0KQEAgLTE5MzksNyArMTkzOSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rl
c3RHbG9iYWxPYmplY3QKICAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50
aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVz
dE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllcyIpLCBzdHJsZW4oIlRl
c3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXMiKSksIHZhbHVlKTsK
IH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0
TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQ29uc3RydWN0b3IsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3Jn
ZWFibGVQcm9wZXJ0aWVzQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
VmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RH
bG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNldHRlcldp
dGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxH
bG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdE5hbWVkU2V0dGVyV2l0
aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllcyIpOwogfQpAQCAtMTk2Miw3ICsxOTYyLDcgQEAg
c3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdAogICAgIHJldHVybiB0aGlz
T2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnBy
ZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFi
bGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucyIpLCBzdHJsZW4oIlRlc3ROYW1l
ZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1
aWx0SW5zIikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rl
c3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVy
dGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnNDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRp
ZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJp
YnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RO
YW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNBbmRMZWdhY3lPdmVycmlk
ZUJ1aWx0SW5zQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFs
dWUsIGVuY29kZWRWYWx1ZSwgIlRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVBy
b3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zIik7CiB9CkBAIC0xOTg5LDcgKzE5ODks
NyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0CiAgICAgcmV0dXJu
IHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWlu
dGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RPcGVyYXRpb25Db25kaXRpb25hbCIpLCBz
dHJsZW4oIlRlc3RPcGVyYXRpb25Db25kaXRpb25hbCIpKSwgdmFsdWUpOwogfQogCi1KU0NfREVG
SU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RPcGVyYXRpb25Db25k
aXRpb25hbENvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkK
K0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE9wZXJh
dGlvbkNvbmRpdGlvbmFsQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
VmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RH
bG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RPcGVyYXRpb25Db25k
aXRpb25hbENvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVl
LCBlbmNvZGVkVmFsdWUsICJUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWwiKTsKIH0KQEAgLTIwMTQs
NyArMjAxNCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3QKICAg
ICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmco
dm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdE92ZXJsb2FkZWRDb25zdHJ1
Y3RvcnNXaXRoU2VxdWVuY2UiKSwgc3RybGVuKCJUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dp
dGhTZXF1ZW5jZSIpKSwgdmFsdWUpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNl
Q29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0T3ZlcmxvYWRlZENv
bnN0cnVjdG9yc1dpdGhTZXF1ZW5jZUNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8
SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0T3Zlcmxv
YWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZUNvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEds
b2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0T3ZlcmxvYWRlZENvbnN0
cnVjdG9yc1dpdGhTZXF1ZW5jZSIpOwogfQpAQCAtMjAzNyw3ICsyMDM3LDcgQEAgc3RhdGljIGlu
bGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdAogICAgIHJldHVybiB0aGlzT2JqZWN0LnB1
dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxj
b25zdCBMQ2hhcio+KCJUZXN0UGx1Z2luSW50ZXJmYWNlIiksIHN0cmxlbigiVGVzdFBsdWdpbklu
dGVyZmFjZSIpKSwgdmFsdWUpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNU
ZXN0R2xvYmFsT2JqZWN0X1Rlc3RQbHVnaW5JbnRlcmZhY2VDb25zdHJ1Y3RvciwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RQbHVnaW5JbnRlcmZhY2VDb25zdHJ1Y3RvciwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1
cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxP
YmplY3RfVGVzdFBsdWdpbkludGVyZmFjZUNvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0UGx1Z2luSW50ZXJmYWNlIik7
CiB9CkBAIC0yMDYwLDcgKzIwNjAsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xv
YmFsT2JqZWN0CiAgICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVy
Ojpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RSZWFk
T25seU1hcExpa2UiKSwgc3RybGVuKCJUZXN0UmVhZE9ubHlNYXBMaWtlIikpLCB2YWx1ZSk7CiB9
CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFJl
YWRPbmx5TWFwTGlrZUNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVz
dFJlYWRPbmx5TWFwTGlrZUNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0
R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0UmVhZE9ubHlNYXBM
aWtlQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVu
Y29kZWRWYWx1ZSwgIlRlc3RSZWFkT25seU1hcExpa2UiKTsKIH0KQEAgLTIwODMsNyArMjA4Myw3
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3QKICAgICByZXR1cm4g
dGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdFJlYWRPbmx5U2V0TGlrZSIpLCBzdHJsZW4o
IlRlc3RSZWFkT25seVNldExpa2UiKSksIHZhbHVlKTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0UmVhZE9ubHlTZXRMaWtlQ29uc3RydWN0
b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0UmVhZE9ubHlTZXRMaWtlQ29uc3Ry
dWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFs
dWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkp
CiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0
SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RSZWFkT25seVNldExpa2VDb25zdHJ1Y3RvclNldHRlcj4o
KmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdFJlYWRP
bmx5U2V0TGlrZSIpOwogfQpAQCAtMjEwNiw3ICsyMTA2LDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdEdsb2JhbE9iamVjdAogICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2
bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hh
cio+KCJUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0IiksIHN0cmxlbigiVGVzdFJlcG9ydEV4dHJh
TWVtb3J5Q29zdCIpKSwgdmFsdWUpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3RDb25zdHJ1Y3Rvciwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3RDb25z
dHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1l
KSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxz
ZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29zdENvbnN0cnVjdG9y
U2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJU
ZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0Iik7CiB9CkBAIC0yMTMzLDcgKzIxMzMsNyBAQCBzdGF0
aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0CiAgICAgcmV0dXJuIHRoaXNPYmpl
Y3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9j
YXN0PGNvbnN0IExDaGFyKj4oIlRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UiKSwg
c3RybGVuKCJUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlIikpLCB2YWx1ZSk7CiB9
CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RH
bG9iYWxPYmplY3RfVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNvbnN0cnVjdG9y
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewog
ICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVz
dEdsb2JhbE9iamVjdF9UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ29uc3RydWN0
b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwg
IlRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UiKTsKIH0KQEAgLTIxNTgsNyArMjE1
OCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3QKICAgICByZXR1
cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJl
aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdFNldExpa2UiKSwgc3RybGVuKCJUZXN0
U2V0TGlrZSIpKSwgdmFsdWUpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNU
ZXN0R2xvYmFsT2JqZWN0X1Rlc3RTZXRMaWtlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEds
b2JhbE9iamVjdF9UZXN0U2V0TGlrZUNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8
SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0U2V0TGlr
ZUNvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNv
ZGVkVmFsdWUsICJUZXN0U2V0TGlrZSIpOwogfQpAQCAtMjE4MSw3ICsyMTgxLDcgQEAgc3RhdGlj
IGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdAogICAgIHJldHVybiB0aGlzT2JqZWN0
LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2Fz
dDxjb25zdCBMQ2hhcio+KCJUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucyIpLCBz
dHJsZW4oIlRlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zIikpLCB2YWx1ZSk7CiB9
CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFNl
dExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnNDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
R2xvYmFsT2JqZWN0X1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zQ29uc3RydWN0
b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7
CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNU
ZXN0R2xvYmFsT2JqZWN0X1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zQ29uc3Ry
dWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1
ZSwgIlRlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zIik7CiB9CkBAIC0yMjA0LDcg
KzIyMDQsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0CiAgICAg
cmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZt
LCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RTdHJpbmdpZmllciIpLCBzdHJs
ZW4oIlRlc3RTdHJpbmdpZmllciIpKSwgdmFsdWUpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmllckNvbnN0cnVjdG9yLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NF
VFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyQ29uc3RydWN0b3IsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAg
cmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xv
YmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmllckNvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0U3RyaW5naWZpZXIiKTsKIH0K
QEAgLTIyMjcsNyArMjIyNyw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxP
YmplY3QKICAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZy
b21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdFN0cmluZ2lm
aWVyQW5vbnltb3VzT3BlcmF0aW9uIiksIHN0cmxlbigiVGVzdFN0cmluZ2lmaWVyQW5vbnltb3Vz
T3BlcmF0aW9uIikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRK
U1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uQ29uc3Ry
dWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFs
dWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0U3RyaW5naWZpZXJBbm9ueW1v
dXNPcGVyYXRpb25Db25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2Jh
bE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyQW5vbnlt
b3VzT3BlcmF0aW9uQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlz
VmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbiIp
OwogfQpAQCAtMjI1MCw3ICsyMjUwLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEds
b2JhbE9iamVjdAogICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmll
cjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0U3Ry
aW5naWZpZXJOYW1lZE9wZXJhdGlvbiIpLCBzdHJsZW4oIlRlc3RTdHJpbmdpZmllck5hbWVkT3Bl
cmF0aW9uIikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rl
c3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb25Db25zdHJ1Y3Rvciwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9u
Q29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5
TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+Ojpz
ZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uQ29u
c3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRW
YWx1ZSwgIlRlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uIik7CiB9CkBAIC0yMjczLDcgKzIy
NzMsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0CiAgICAgcmV0
dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCBy
ZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RTdHJpbmdpZmllck9wZXJhdGlvbklt
cGxlbWVudGVkQXMiKSwgc3RybGVuKCJUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRl
ZEFzIikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RH
bG9iYWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBc0NvbnN0cnVj
dG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9u
SW1wbGVtZW50ZWRBc0NvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xv
YmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0U3RyaW5naWZpZXJPcGVy
YXRpb25JbXBsZW1lbnRlZEFzQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxl
bWVudGVkQXMiKTsKIH0KQEAgLTIyOTYsNyArMjI5Niw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBz
ZXRKU1Rlc3RHbG9iYWxPYmplY3QKICAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0s
IElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIq
PigiVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZyIpLCBzdHJsZW4oIlRlc3RT
dHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmciKSksIHZhbHVlKTsKIH0KIAotSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0U3RyaW5naWZpZXJP
cGVyYXRpb25OYW1lZFRvU3RyaW5nQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9i
amVjdF9UZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nQ29uc3RydWN0b3IsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAg
cmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xv
YmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmdDb25zdHJ1Y3Rv
clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAi
VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZyIpOwogfQpAQCAtMjMxOSw3ICsy
MzE5LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdAogICAgIHJl
dHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwg
cmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0
dHJpYnV0ZSIpLCBzdHJsZW4oIlRlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlIikpLCB2
YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmpl
Y3RfVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlQ29uc3Ry
dWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFs
dWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkp
CiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0
SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlQ29uc3Ry
dWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1
ZSwgIlRlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlIik7CiB9CkBAIC0yMzQyLDcgKzIz
NDIsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0CiAgICAgcmV0
dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCBy
ZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0
dHJpYnV0ZSIpLCBzdHJsZW4oIlRlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZSIpKSwg
dmFsdWUpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2Jq
ZWN0X1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZUNvbnN0cnVjdG9yLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlQ29u
c3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFt
ZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8
c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZUNv
bnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVk
VmFsdWUsICJUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUiKTsKIH0KQEAgLTIzNjUs
NyArMjM2NSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3QKICAg
ICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmco
dm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdFR5cGVkZWZzIiksIHN0cmxl
bigiVGVzdFR5cGVkZWZzIikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
UihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFR5cGVkZWZzQ29uc3RydWN0b3IsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0VHlwZWRlZnNDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURM
QXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3Rf
VGVzdFR5cGVkZWZzQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlz
VmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RUeXBlZGVmcyIpOwogfQpJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdElu
dGVyZmFjZS5jcHAJKHJldmlzaW9uIDI3NDU5NykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
NzAsNyArNTcwLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEludGVyZmFjZV9taQog
ICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
SW50ZXJmYWNlX21peGluQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RJbnRlcmZhY2VfbWl4aW5B
dHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFt
ZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RJbnRlcmZhY2U+OjpzZXQ8c2V0
SlNUZXN0SW50ZXJmYWNlX21peGluQXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJtaXhpbkF0dHJpYnV0ZSIpOwogfQpAQCAtNTk5
LDcgKzU5OSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RJbnRlcmZhY2VfbWkKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdElu
dGVyZmFjZV9taXhpbkN1c3RvbUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0SW50ZXJmYWNlX21p
eGluQ3VzdG9tQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQ
cm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0SW50ZXJmYWNl
Pjo6c2V0PHNldEpTVGVzdEludGVyZmFjZV9taXhpbkN1c3RvbUF0dHJpYnV0ZVNldHRlcj4oKmxl
eGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAibWl4aW5DdXN0b21B
dHRyaWJ1dGUiKTsKIH0KQEAgLTYzNiw3ICs2MzYsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0
SlNUZXN0SW50ZXJmYWNlX21pCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RJbnRlcmZhY2VfbWl4aW5Ob2RlQXR0cmlidXRlLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RJbnRlcmZhY2VfbWl4aW5Ob2RlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1
dGU8SlNUZXN0SW50ZXJmYWNlPjo6c2V0PHNldEpTVGVzdEludGVyZmFjZV9taXhpbk5vZGVBdHRy
aWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1
ZSwgIm1peGluTm9kZUF0dHJpYnV0ZSIpOwogfQpAQCAtNzAyLDcgKzcwMiw3IEBAIHN0YXRpYyBp
bmxpbmUgYm9vbCBzZXRKU1Rlc3RJbnRlcmZhY2VDb24KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAot
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yX3N1
cHBsZW1lbnRhbFN0YXRpY0F0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUp
KQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9y
X3N1cHBsZW1lbnRhbFN0YXRpY0F0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RJbnRl
cmZhY2U+OjpzZXRTdGF0aWM8c2V0SlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3Jfc3VwcGxlbWVu
dGFsU3RhdGljQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5j
b2RlZFZhbHVlLCAic3VwcGxlbWVudGFsU3RhdGljQXR0ciIpOwogfQpAQCAtNzU1LDcgKzc1NSw3
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RJbnRlcmZhY2Vfc3UKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEludGVyZmFjZV9z
dXBwbGVtZW50YWxTdHIyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RJbnRlcmZhY2Vfc3VwcGxlbWVudGFsU3Ry
MiwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsK
ICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEludGVyZmFjZT46OnNldDxzZXRKU1Rlc3RJ
bnRlcmZhY2Vfc3VwcGxlbWVudGFsU3RyMlNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRo
aXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAic3VwcGxlbWVudGFsU3RyMiIpOwogfQpAQCAtNzg0LDcg
Kzc4NCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RJbnRlcmZhY2Vfc3UKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEludGVy
ZmFjZV9zdXBwbGVtZW50YWxTdHIzLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
KSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RJbnRlcmZhY2Vfc3VwcGxlbWVu
dGFsU3RyMywgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1l
KSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEludGVyZmFjZT46OnNldDxzZXRK
U1Rlc3RJbnRlcmZhY2Vfc3VwcGxlbWVudGFsU3RyM1NldHRlcj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAic3VwcGxlbWVudGFsU3RyMyIpOwogfQpAQCAt
ODIxLDcgKzgyMSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RJbnRlcmZhY2Vfc3UK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVz
dEludGVyZmFjZV9zdXBwbGVtZW50YWxOb2RlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RJbnRlcmZhY2Vfc3Vw
cGxlbWVudGFsTm9kZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVy
dHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEludGVyZmFjZT46OnNl
dDxzZXRKU1Rlc3RJbnRlcmZhY2Vfc3VwcGxlbWVudGFsTm9kZVNldHRlcj4oKmxleGljYWxHbG9i
YWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAic3VwcGxlbWVudGFsTm9kZSIpOwog
fQpAQCAtODU4LDcgKzg1OCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RJbnRlcmZh
Y2VfcmUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdEludGVyZmFjZV9yZWZsZWN0QXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RJbnRlcmZh
Y2VfcmVmbGVjdEF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwg
UHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEludGVyZmFj
ZT46OnNldDxzZXRKU1Rlc3RJbnRlcmZhY2VfcmVmbGVjdEF0dHJpYnV0ZVNldHRlcj4oKmxleGlj
YWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAicmVmbGVjdEF0dHJpYnV0
ZSIpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SlNCdWlsdGluQ29uc3RydWN0b3IuY3Bw
CShyZXZpc2lvbiAyNzQ1OTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0SlNCdWlsdGluQ29uc3RydWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
MTAsNyArMjEwLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEpTQnVpbHRpbkNvbgog
ICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
SlNCdWlsdGluQ29uc3RydWN0b3JfdGVzdEF0dHJpYnV0ZVJXQ3VzdG9tLCAoSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rl
c3RKU0J1aWx0aW5Db25zdHJ1Y3Rvcl90ZXN0QXR0cmlidXRlUldDdXN0b20sIChKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElE
TEF0dHJpYnV0ZTxKU1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rvcj46OnNldDxzZXRKU1Rlc3RKU0J1
aWx0aW5Db25zdHJ1Y3Rvcl90ZXN0QXR0cmlidXRlUldDdXN0b21TZXR0ZXI+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInRlc3RBdHRyaWJ1dGVSV0N1c3Rv
bSIpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmpl
Y3QuY3BwCShyZXZpc2lvbiAyNzQ1OTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yMDcsNyArMjA3LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdExlZ2Fj
eU5vSW50ZQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3RfcmVhZFdyaXRlU3RyaW5nQXR0cmlidXRl
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdF9yZWFkV3JpdGVTdHJpbmdB
dHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFt
ZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9i
amVjdD46OnNldDxzZXRKU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdF9yZWFkV3JpdGVTdHJp
bmdBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29k
ZWRWYWx1ZSwgInJlYWRXcml0ZVN0cmluZ0F0dHJpYnV0ZSIpOwogfQpAQCAtMjMwLDcgKzIzMCw3
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RMZWdhY3lOb0ludGUKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdExlZ2FjeU5vSW50
ZXJmYWNlT2JqZWN0X2N1c3RvbUdldHRlclNldHRlclN0cmluZ0F0dHJpYnV0ZSwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3RfY3VzdG9tR2V0dGVyU2V0dGVyU3RyaW5nQXR0
cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUp
KQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmpl
Y3Q+OjpzZXQ8c2V0SlNUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3RfY3VzdG9tR2V0dGVyU2V0
dGVyU3RyaW5nQXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVl
LCBlbmNvZGVkVmFsdWUsICJjdXN0b21HZXR0ZXJTZXR0ZXJTdHJpbmdBdHRyaWJ1dGUiKTsKIH0K
QEAgLTI2MSw3ICsyNjEsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0TGVnYWN5Tm9J
bnRlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRK
U1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdF9ub2RlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rl
c3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdF9ub2RlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRy
aWJ1dGU8SlNUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0TGVnYWN5
Tm9JbnRlcmZhY2VPYmplY3Rfbm9kZUF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAibm9kZUF0dHJpYnV0ZSIpOwogfQpAQCAtMjkw
LDcgKzI5MCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RMZWdhY3lOb0ludGUKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdExl
Z2FjeU5vSW50ZXJmYWNlT2JqZWN0Q29uc3RydWN0b3Jfc3RhdGljU3RyaW5nQXR0cmlidXRlLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NF
VFRFUihzZXRKU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdENvbnN0cnVjdG9yX3N0YXRpY1N0
cmluZ0F0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVy
dHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdExlZ2FjeU5vSW50ZXJm
YWNlT2JqZWN0Pjo6c2V0U3RhdGljPHNldEpTVGVzdExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0Q29u
c3RydWN0b3Jfc3RhdGljU3RyaW5nQXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzdGF0aWNTdHJpbmdBdHRyaWJ1dGUiKTsKIH0K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBM
aWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVu
T3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDI3NDU5NykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25z
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI3LDcgKzIyNyw3IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBzZXRKU1Rlc3RNYXBMaWtlV2l0aE8KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnNf
c2V0LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zX3NldCwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAg
ICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlv
bnM+OjpzZXQ8c2V0SlNUZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9uc19zZXRTZXR0
ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInNldCIp
OwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROb2RlLmNwcAkocmV2aXNpb24gMjc0NTk3KQorKysgU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zMDAsNyArMzAwLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE5vZGVfbmFt
ZVNldAogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0Tm9kZV9uYW1lLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3ROb2RlX25hbWUsIChKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0
dHJpYnV0ZTxKU1Rlc3ROb2RlPjo6c2V0PHNldEpTVGVzdE5vZGVfbmFtZVNldHRlcj4oKmxleGlj
YWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAibmFtZSIpOwogfQpJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE9iai5jcHAJKHJldmlzaW9uIDI3NDU5NykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjM0LDcg
KzI2MzQsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqQ29uc3RydWN0CiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpD
b25zdHJ1Y3Rvcl9zdGF0aWNTdHJpbmdBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpDb25zdHJ1Y3Rv
cl9zdGF0aWNTdHJpbmdBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQ
cm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0
U3RhdGljPHNldEpTVGVzdE9iakNvbnN0cnVjdG9yX3N0YXRpY1N0cmluZ0F0dHJTZXR0ZXI+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInN0YXRpY1N0cmlu
Z0F0dHIiKTsKIH0KQEAgLTI2OTYsNyArMjY5Niw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRK
U1Rlc3RPYmpfZW51bUF0dHIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdE9ial9lbnVtQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2VudW1B
dHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQog
ewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9l
bnVtQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCAiZW51bUF0dHIiKTsKIH0KQEAgLTI3MjcsNyArMjcyNyw3IEBAIHN0YXRpYyBpbmxpbmUg
Ym9vbCBzZXRKU1Rlc3RPYmpfYnl0ZUF0dHIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9ieXRlQXR0ciwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
T2JqX2J5dGVBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0
eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpT
VGVzdE9ial9ieXRlQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwg
ZW5jb2RlZFZhbHVlLCAiYnl0ZUF0dHIiKTsKIH0KQEAgLTI3NTgsNyArMjc1OCw3IEBAIHN0YXRp
YyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfb2N0ZXRBdHQKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9vY3RldEF0dHIsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdE9ial9vY3RldEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+
OjpzZXQ8c2V0SlNUZXN0T2JqX29jdGV0QXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
IHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAib2N0ZXRBdHRyIik7CiB9CkBAIC0yNzg5LDcgKzI3
ODksNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3Nob3J0QXR0CiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfc2hv
cnRBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfc2hvcnRBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1
dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9zaG9ydEF0dHJTZXR0ZXI+KCpsZXhpY2Fs
R2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInNob3J0QXR0ciIpOwogfQpA
QCAtMjgyMCw3ICsyODIwLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9jbGFt
cGVkUwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0T2JqX2NsYW1wZWRTaG9ydEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
VmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9jbGFtcGVkU2hv
cnRBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUp
KQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9i
al9jbGFtcGVkU2hvcnRBdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVl
LCBlbmNvZGVkVmFsdWUsICJjbGFtcGVkU2hvcnRBdHRyIik7CiB9CkBAIC0yODUxLDcgKzI4NTEs
NyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX2VuZm9yY2VSCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfZW5mb3Jj
ZVJhbmdlU2hvcnRBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfZW5mb3JjZVJhbmdlU2hvcnRBdHRy
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewog
ICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9lbmZv
cmNlUmFuZ2VTaG9ydEF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUs
IGVuY29kZWRWYWx1ZSwgImVuZm9yY2VSYW5nZVNob3J0QXR0ciIpOwogfQpAQCAtMjg4Miw3ICsy
ODgyLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial91bnNpZ25lZAogICAgIHJl
dHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3Vu
c2lnbmVkU2hvcnRBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfdW5zaWduZWRTaG9ydEF0dHIsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAg
cmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3Vuc2lnbmVk
U2hvcnRBdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVk
VmFsdWUsICJ1bnNpZ25lZFNob3J0QXR0ciIpOwogfQpAQCAtMjkxMyw3ICsyOTEzLDcgQEAgc3Rh
dGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9sb25nQXR0cgogICAgIHJldHVybiB0cnVlOwog
fQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2xvbmdBdHRyLCAoSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
UihzZXRKU1Rlc3RPYmpfbG9uZ0F0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+
OjpzZXQ8c2V0SlNUZXN0T2JqX2xvbmdBdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
dGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJsb25nQXR0ciIpOwogfQpAQCAtMjk0NCw3ICsyOTQ0
LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9sb25nTG9uZwogICAgIHJldHVy
biB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2xvbmdM
b25nQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2xvbmdMb25nQXR0ciwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0
cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfbG9uZ0xvbmdBdHRyU2V0dGVyPigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJsb25nTG9uZ0F0
dHIiKTsKIH0KQEAgLTI5NzUsNyArMjk3NSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rl
c3RPYmpfdW5zaWduZWQKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdE9ial91bnNpZ25lZExvbmdMb25nQXR0ciwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
T2JqX3Vuc2lnbmVkTG9uZ0xvbmdBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2Jq
Pjo6c2V0PHNldEpTVGVzdE9ial91bnNpZ25lZExvbmdMb25nQXR0clNldHRlcj4oKmxleGljYWxH
bG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAidW5zaWduZWRMb25nTG9uZ0F0
dHIiKTsKIH0KQEAgLTMwMDYsNyArMzAwNiw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rl
c3RPYmpfc3RyaW5nQXQKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdE9ial9zdHJpbmdBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfc3RyaW5n
QXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkK
IHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpf
c3RyaW5nQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2Rl
ZFZhbHVlLCAic3RyaW5nQXR0ciIpOwogfQpAQCAtMzAzNyw3ICszMDM3LDcgQEAgc3RhdGljIGlu
bGluZSBib29sIHNldEpTVGVzdE9ial91c3ZzdHJpbgogICAgIHJldHVybiB0cnVlOwogfQogCi1K
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3VzdnN0cmluZ0F0dHIsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdE9ial91c3ZzdHJpbmdBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0
T2JqPjo6c2V0PHNldEpTVGVzdE9ial91c3ZzdHJpbmdBdHRyU2V0dGVyPigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJ1c3ZzdHJpbmdBdHRyIik7CiB9CkBA
IC0zMDY4LDcgKzMwNjgsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3Rlc3RP
YmpBCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRK
U1Rlc3RPYmpfdGVzdE9iakF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUp
KQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial90ZXN0T2JqQXR0ciwgKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICBy
ZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfdGVzdE9iakF0
dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwg
InRlc3RPYmpBdHRyIik7CiB9CkBAIC0zMDk5LDcgKzMwOTksNyBAQCBzdGF0aWMgaW5saW5lIGJv
b2wgc2V0SlNUZXN0T2JqX3Rlc3ROdWxsCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJ
TkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfdGVzdE51bGxhYmxlT2JqQXR0ciwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0T2JqX3Rlc3ROdWxsYWJsZU9iakF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxK
U1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3Rlc3ROdWxsYWJsZU9iakF0dHJTZXR0ZXI+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInRlc3ROdWxsYWJs
ZU9iakF0dHIiKTsKIH0KQEAgLTMxMzAsNyArMzEzMCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBz
ZXRKU1Rlc3RPYmpfbGVuaWVudFQKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9sZW5pZW50VGVzdE9iakF0dHIsIChKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpT
VGVzdE9ial9sZW5pZW50VGVzdE9iakF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
VmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RP
Ymo+OjpzZXQ8c2V0SlNUZXN0T2JqX2xlbmllbnRUZXN0T2JqQXR0clNldHRlciwgQ2FzdGVkVGhp
c0Vycm9yQmVoYXZpb3I6OlJldHVybkVhcmx5PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1Zh
bHVlLCBlbmNvZGVkVmFsdWUsICJsZW5pZW50VGVzdE9iakF0dHIiKTsKIH0KQEAgLTMxNzQsNyAr
MzE3NCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfc3RyaW5nQXQKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9z
dHJpbmdBdHRyVHJlYXRpbmdOdWxsQXNFbXB0eVN0cmluZywgKEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3N0
cmluZ0F0dHJUcmVhdGluZ051bGxBc0VtcHR5U3RyaW5nLCAoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8
SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9zdHJpbmdBdHRyVHJlYXRpbmdOdWxsQXNFbXB0
eVN0cmluZ1NldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCAic3RyaW5nQXR0clRyZWF0aW5nTnVsbEFzRW1wdHlTdHJpbmciKTsKIH0KQEAgLTMyMDUs
NyArMzIwNSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfdXN2c3RyaW4KICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9i
al91c3ZzdHJpbmdBdHRyVHJlYXRpbmdOdWxsQXNFbXB0eVN0cmluZywgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
T2JqX3VzdnN0cmluZ0F0dHJUcmVhdGluZ051bGxBc0VtcHR5U3RyaW5nLCAoSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExB
dHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial91c3ZzdHJpbmdBdHRyVHJlYXRp
bmdOdWxsQXNFbXB0eVN0cmluZ1NldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1
ZSwgZW5jb2RlZFZhbHVlLCAidXN2c3RyaW5nQXR0clRyZWF0aW5nTnVsbEFzRW1wdHlTdHJpbmci
KTsKIH0KQEAgLTMyMzYsNyArMzIzNiw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RP
YmpfYnl0ZVN0cmkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKHNldEpTVGVzdE9ial9ieXRlU3RyaW5nQXR0clRyZWF0aW5nTnVsbEFzRW1wdHlTdHJpbmcs
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdE9ial9ieXRlU3RyaW5nQXR0clRyZWF0aW5nTnVsbEFzRW1wdHlTdHJp
bmcsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7
CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX2J5
dGVTdHJpbmdBdHRyVHJlYXRpbmdOdWxsQXNFbXB0eVN0cmluZ1NldHRlcj4oKmxleGljYWxHbG9i
YWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiYnl0ZVN0cmluZ0F0dHJUcmVhdGlu
Z051bGxBc0VtcHR5U3RyaW5nIik7CiB9CkBAIC0zMjY3LDcgKzMyNjcsNyBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgc2V0SlNUZXN0T2JqX3N0cmluZ0xvCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfc3RyaW5nTG9uZ1JlY29yZEF0dHIs
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdE9ial9zdHJpbmdMb25nUmVjb3JkQXR0ciwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0
cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfc3RyaW5nTG9uZ1JlY29yZEF0dHJT
ZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInN0
cmluZ0xvbmdSZWNvcmRBdHRyIik7CiB9CkBAIC0zMjk4LDcgKzMyOTgsNyBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgc2V0SlNUZXN0T2JqX3VzdnN0cmluCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfdXN2c3RyaW5nTG9uZ1JlY29yZEF0
dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdE9ial91c3ZzdHJpbmdMb25nUmVjb3JkQXR0ciwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4g
SURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfdXN2c3RyaW5nTG9uZ1Jl
Y29yZEF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRW
YWx1ZSwgInVzdnN0cmluZ0xvbmdSZWNvcmRBdHRyIik7CiB9CkBAIC0zMzI5LDcgKzMzMjksNyBA
QCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3VzdnN0cmluCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfdXN2c3RyaW5n
TG9uZ1JlY29yZEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial91c3ZzdHJpbmdMb25nUmVjb3JkQXR0
ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsK
ICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfdXN2
c3RyaW5nTG9uZ1JlY29yZEF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFs
dWUsIGVuY29kZWRWYWx1ZSwgInVzdnN0cmluZ0xvbmdSZWNvcmRBdHRyIik7CiB9CkBAIC0zMzYw
LDcgKzMzNjAsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3N0cmluZ09iCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RP
Ympfc3RyaW5nT2JqUmVjb3JkQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3N0cmluZ09ialJlY29y
ZEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFs
dWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkp
CiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2Jq
X3N0cmluZ09ialJlY29yZEF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFs
dWUsIGVuY29kZWRWYWx1ZSwgInN0cmluZ09ialJlY29yZEF0dHIiKTsKIH0KQEAgLTMzOTEsNyAr
MzM5MSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfc3RyaW5nTnUKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9z
dHJpbmdOdWxsYWJsZU9ialJlY29yZEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
VmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9zdHJpbmdOdWxs
YWJsZU9ialJlY29yZEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFBy
b3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8
c2V0SlNUZXN0T2JqX3N0cmluZ051bGxhYmxlT2JqUmVjb3JkQXR0clNldHRlcj4oKmxleGljYWxH
bG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAic3RyaW5nTnVsbGFibGVPYmpS
ZWNvcmRBdHRyIik7CiB9CkBAIC0zNDIyLDcgKzM0MjIsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wg
c2V0SlNUZXN0T2JqX3N0cmluZ1ZvCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfc3RyaW5nVm9pZENhbGxiYWNrUmVjb3JkQXR0ciwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0T2JqX3N0cmluZ1ZvaWRDYWxsYmFja1JlY29yZEF0dHIsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJu
IElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3N0cmluZ1ZvaWRDYWxs
YmFja1JlY29yZEF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVu
Y29kZWRWYWx1ZSwgInN0cmluZ1ZvaWRDYWxsYmFja1JlY29yZEF0dHIiKTsKIH0KQEAgLTM0NTMs
NyArMzQ1Myw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfZGljdGlvbmEKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9i
al9kaWN0aW9uYXJ5QXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitK
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2RpY3Rpb25hcnlBdHRyLCAoSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJl
dHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9kaWN0aW9uYXJ5
QXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVl
LCAiZGljdGlvbmFyeUF0dHIiKTsKIH0KQEAgLTM0ODQsNyArMzQ4NCw3IEBAIHN0YXRpYyBpbmxp
bmUgYm9vbCBzZXRKU1Rlc3RPYmpfbnVsbGFibGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9udWxsYWJsZURpY3Rpb25hcnlBdHRy
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RPYmpfbnVsbGFibGVEaWN0aW9uYXJ5QXR0ciwgKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURM
QXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfbnVsbGFibGVEaWN0aW9uYXJ5
QXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVl
LCAibnVsbGFibGVEaWN0aW9uYXJ5QXR0ciIpOwogfQpAQCAtMzUxNSw3ICszNTE1LDcgQEAgc3Rh
dGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9hbm5vdGF0ZQogICAgIHJldHVybiB0cnVlOwog
fQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2Fubm90YXRlZFR5cGVJ
blVuaW9uQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVG
SU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2Fubm90YXRlZFR5cGVJblVuaW9uQXR0ciwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAg
ICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfYW5ub3Rh
dGVkVHlwZUluVW5pb25BdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVl
LCBlbmNvZGVkVmFsdWUsICJhbm5vdGF0ZWRUeXBlSW5VbmlvbkF0dHIiKTsKIH0KQEAgLTM1NDYs
NyArMzU0Niw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfYW5ub3RhdGUKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9i
al9hbm5vdGF0ZWRUeXBlSW5TZXF1ZW5jZUF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9hbm5vdGF0
ZWRUeXBlSW5TZXF1ZW5jZUF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUs
IFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+Ojpz
ZXQ8c2V0SlNUZXN0T2JqX2Fubm90YXRlZFR5cGVJblNlcXVlbmNlQXR0clNldHRlcj4oKmxleGlj
YWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiYW5ub3RhdGVkVHlwZUlu
U2VxdWVuY2VBdHRyIik7CiB9CkBAIC0zNTgwLDcgKzM1ODAsNyBAQCBzdGF0aWMgaW5saW5lIGJv
b2wgc2V0SlNUZXN0T2JqX2ltcGxlbWVuCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJ
TkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfaW1wbGVtZW50YXRpb25FbnVtQXR0ciwgKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0T2JqX2ltcGxlbWVudGF0aW9uRW51bUF0dHIsIChKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJp
YnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX2ltcGxlbWVudGF0aW9uRW51bUF0dHJT
ZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImlt
cGxlbWVudGF0aW9uRW51bUF0dHIiKTsKIH0KQEAgLTM2MjQsNyArMzYyNCw3IEBAIHN0YXRpYyBp
bmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfWE1MT2JqQXQKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAot
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9YTUxPYmpBdHRyLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RPYmpfWE1MT2JqQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46
OnNldDxzZXRKU1Rlc3RPYmpfWE1MT2JqQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
IHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiWE1MT2JqQXR0ciIpOwogfQpAQCAtMzY1NSw3ICsz
NjU1LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9jcmVhdGVTZQogICAgIHJl
dHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2Ny
ZWF0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NV
U1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2NyZWF0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpT
VGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfY3JlYXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9i
amVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJjcmVhdGUiKTsKIH0KQEAgLTM2ODYsNyAr
MzY4Niw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfcmVmbGVjdGUKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9y
ZWZsZWN0ZWRTdHJpbmdBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkK
K0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkU3RyaW5nQXR0
ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsK
ICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfcmVm
bGVjdGVkU3RyaW5nQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwg
ZW5jb2RlZFZhbHVlLCAicmVmbGVjdGVkU3RyaW5nQXR0ciIpOwogfQpAQCAtMzcxNyw3ICszNzE3
LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9yZWZsZWN0ZQogICAgIHJldHVy
biB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlZmxl
Y3RlZFVTVlN0cmluZ0F0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQor
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRVU1ZTdHJpbmdB
dHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQog
ewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9y
ZWZsZWN0ZWRVU1ZTdHJpbmdBdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1Zh
bHVlLCBlbmNvZGVkVmFsdWUsICJyZWZsZWN0ZWRVU1ZTdHJpbmdBdHRyIik7CiB9CkBAIC0zNzQ4
LDcgKzM3NDgsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3JlZmxlY3RlCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RP
YmpfcmVmbGVjdGVkSW50ZWdyYWxBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkSW50
ZWdyYWxBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5h
bWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVz
dE9ial9yZWZsZWN0ZWRJbnRlZ3JhbEF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0
aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInJlZmxlY3RlZEludGVncmFsQXR0ciIpOwogfQpAQCAt
Mzc3OSw3ICszNzc5LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9yZWZsZWN0
ZQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNU
ZXN0T2JqX3JlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpf
cmVmbGVjdGVkVW5zaWduZWRJbnRlZ3JhbEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rl
c3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3JlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyU2V0
dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJyZWZs
ZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0ciIpOwogfQpAQCAtMzgxMCw3ICszODEwLDcgQEAgc3Rh
dGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9yZWZsZWN0ZQogICAgIHJldHVybiB0cnVlOwog
fQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEJvb2xl
YW5BdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkQm9vbGVhbkF0dHIsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJu
IElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3JlZmxlY3RlZEJvb2xl
YW5BdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFs
dWUsICJyZWZsZWN0ZWRCb29sZWFuQXR0ciIpOwogfQpAQCAtMzg0MSw3ICszODQxLDcgQEAgc3Rh
dGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9yZWZsZWN0ZQogICAgIHJldHVybiB0cnVlOwog
fQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZFVSTEF0
dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRVUkxBdHRyLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRy
aWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9yZWZsZWN0ZWRVUkxBdHRyU2V0dGVy
PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJyZWZsZWN0
ZWRVUkxBdHRyIik7CiB9CkBAIC0zODcyLDcgKzM4NzIsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wg
c2V0SlNUZXN0T2JqX3JlZmxlY3RlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVVNWVVJMQXR0ciwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0T2JqX3JlZmxlY3RlZFVTVlVSTEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rl
c3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3JlZmxlY3RlZFVTVlVSTEF0dHJTZXR0ZXI+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInJlZmxlY3RlZFVTVlVS
TEF0dHIiKTsKIH0KQEAgLTM5MDMsNyArMzkwMyw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRK
U1Rlc3RPYmpfcmVmbGVjdGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRTdHJpbmdBdHRyLCAoSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rl
c3RPYmpfcmVmbGVjdGVkU3RyaW5nQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9i
aj46OnNldDxzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkU3RyaW5nQXR0clNldHRlcj4oKmxleGljYWxH
bG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAicmVmbGVjdGVkU3RyaW5nQXR0
ciIpOwogfQpAQCAtMzkzNCw3ICszOTM0LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVz
dE9ial9yZWZsZWN0ZQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEN1c3RvbUludGVncmFsQXR0ciwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0T2JqX3JlZmxlY3RlZEN1c3RvbUludGVncmFsQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmli
dXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkQ3VzdG9tSW50ZWdyYWxB
dHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUs
ICJyZWZsZWN0ZWRDdXN0b21JbnRlZ3JhbEF0dHIiKTsKIH0KQEAgLTM5NjUsNyArMzk2NSw3IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfcmVmbGVjdGUKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRD
dXN0b21Cb29sZWFuQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitK
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEN1c3RvbUJvb2xl
YW5BdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUp
KQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9i
al9yZWZsZWN0ZWRDdXN0b21Cb29sZWFuQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
IHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAicmVmbGVjdGVkQ3VzdG9tQm9vbGVhbkF0dHIiKTsK
IH0KQEAgLTM5OTYsNyArMzk5Niw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpf
cmVmbGVjdGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRDdXN0b21VUkxBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpf
cmVmbGVjdGVkQ3VzdG9tVVJMQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46
OnNldDxzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkQ3VzdG9tVVJMQXR0clNldHRlcj4oKmxleGljYWxH
bG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAicmVmbGVjdGVkQ3VzdG9tVVJM
QXR0ciIpOwogfQpAQCAtNDAzMSw3ICs0MDMxLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpT
VGVzdE9ial9lbmFibGVkQQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RP
TV9TRVRURVIoc2V0SlNUZXN0T2JqX2VuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGUsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdE9ial9lbmFibGVkQXRSdW50aW1lQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1
dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9lbmFibGVkQXRSdW50aW1lQXR0cmlidXRl
U2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJl
bmFibGVkQXRSdW50aW1lQXR0cmlidXRlIik7CiB9CkBAIC00MDY2LDcgKzQwNjYsNyBAQCBzdGF0
aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqQ29uc3RydWN0CiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpDb25zdHJ1Y3Rvcl9lbmFi
bGVkQXRSdW50aW1lQXR0cmlidXRlU3RhdGljLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpDb25zdHJ1Y3Rv
cl9lbmFibGVkQXRSdW50aW1lQXR0cmlidXRlU3RhdGljLCAoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8
SlNUZXN0T2JqPjo6c2V0U3RhdGljPHNldEpTVGVzdE9iakNvbnN0cnVjdG9yX2VuYWJsZWRBdFJ1
bnRpbWVBdHRyaWJ1dGVTdGF0aWNTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFs
dWUsIGVuY29kZWRWYWx1ZSwgImVuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGVTdGF0aWMiKTsKIH0K
QEAgLTQwOTksNyArNDA5OSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfdHlw
ZWRBcnIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdE9ial90eXBlZEFycmF5QXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3R5cGVkQXJyYXlB
dHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQog
ewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial90
eXBlZEFycmF5QXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5j
b2RlZFZhbHVlLCAidHlwZWRBcnJheUF0dHIiKTsKIH0KQEAgLTQxMjIsNyArNDEyMiw3IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfY3VzdG9tQXQKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9jdXN0b21BdHRyLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NF
VFRFUihzZXRKU1Rlc3RPYmpfY3VzdG9tQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVz
dE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfY3VzdG9tQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxP
YmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiY3VzdG9tQXR0ciIpOwogfQpAQCAtNDE0
OCw3ICs0MTQ4LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9vbmZvb1NldAog
ICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
T2JqX29uZm9vLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJ
TkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfb25mb28sIChKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0
ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX29uZm9vU2V0dGVyPigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJvbmZvbyIpOwogfQpAQCAtNDE3NCw3
ICs0MTc0LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9vbndlYmtpdAogICAg
IHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2Jq
X29ud2Via2l0Zm9vLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19E
RUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfb253ZWJraXRmb28sIChKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElE
TEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX29ud2Via2l0Zm9vU2V0dGVy
PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJvbndlYmtp
dGZvbyIpOwogfQpAQCAtNDIwNSw3ICs0MjA1LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpT
VGVzdE9ial93aXRoRXhlYwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RP
TV9TRVRURVIoc2V0SlNUZXN0T2JqX3dpdGhFeGVjU3RhdGVBdHRyaWJ1dGUsIChKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpT
VGVzdE9ial93aXRoRXhlY1N0YXRlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNU
ZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial93aXRoRXhlY1N0YXRlQXR0cmlidXRlU2V0dGVyPigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJ3aXRoRXhlY1N0
YXRlQXR0cmlidXRlIik7CiB9CkBAIC00MjM2LDcgKzQyMzYsNyBAQCBzdGF0aWMgaW5saW5lIGJv
b2wgc2V0SlNUZXN0T2JqX3dpdGhDYWxsCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJ
TkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfd2l0aENhbGxXaXRoQW5kU2V0dGVyQ2FsbFdp
dGhBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial93aXRoQ2FsbFdpdGhBbmRTZXR0ZXJDYWxs
V2l0aEF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVy
dHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRK
U1Rlc3RPYmpfd2l0aENhbGxXaXRoQW5kU2V0dGVyQ2FsbFdpdGhBdHRyaWJ1dGVTZXR0ZXI+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIndpdGhDYWxsV2l0
aEFuZFNldHRlckNhbGxXaXRoQXR0cmlidXRlIik7CiB9CkBAIC00MjczLDcgKzQyNzMsNyBAQCBz
dGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3dpdGhTY3JpCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfd2l0aFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial93aXRoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dEF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46
OnNldDxzZXRKU1Rlc3RPYmpfd2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBdHRyaWJ1dGVTZXR0
ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIndpdGhT
Y3JpcHRFeGVjdXRpb25Db250ZXh0QXR0cmlidXRlIik7CiB9CkBAIC00MzEwLDcgKzQzMTAsNyBA
QCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3dpdGhTY3JpCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfd2l0aFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRBbmRFeGVjU3RhdGVBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9i
al93aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZEV4ZWNTdGF0ZUF0dHJpYnV0ZSwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1
cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfd2l0aFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRBbmRFeGVjU3RhdGVBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFs
T2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIndpdGhTY3JpcHRFeGVjdXRpb25Db250
ZXh0QW5kRXhlY1N0YXRlQXR0cmlidXRlIik7CiB9CkBAIC00MzQ3LDcgKzQzNDcsNyBAQCBzdGF0
aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3dpdGhTY3JpCiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfd2l0aFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRBbmRFeGVjU3RhdGVXaXRoU3BhY2VzQXR0cmlidXRlLCAoSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rl
c3RPYmpfd2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRFeGVjU3RhdGVXaXRoU3BhY2VzQXR0
cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUp
KQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9i
al93aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZEV4ZWNTdGF0ZVdpdGhTcGFjZXNBdHRyaWJ1
dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwg
IndpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5kRXhlY1N0YXRlV2l0aFNwYWNlc0F0dHJpYnV0
ZSIpOwogfQpAQCAtNDM4Miw3ICs0MzgyLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVz
dE9ial9jb25kaXRpbwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0T2JqX2NvbmRpdGlvbmFsQXR0cjEsIChKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9j
b25kaXRpb25hbEF0dHIxLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9w
ZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNl
dEpTVGVzdE9ial9jb25kaXRpb25hbEF0dHIxU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
dGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJjb25kaXRpb25hbEF0dHIxIik7CiB9CkBAIC00NDE5
LDcgKzQ0MTksNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX2NvbmRpdGlvCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RP
YmpfY29uZGl0aW9uYWxBdHRyMiwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkp
CitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2NvbmRpdGlvbmFsQXR0cjIs
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAg
ICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX2NvbmRp
dGlvbmFsQXR0cjJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29k
ZWRWYWx1ZSwgImNvbmRpdGlvbmFsQXR0cjIiKTsKIH0KQEAgLTQ0NTYsNyArNDQ1Niw3IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfY29uZGl0aW8KICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9jb25kaXRpb25hbEF0
dHIzLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfY29uZGl0aW9uYWxBdHRyMywgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0
cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfY29uZGl0aW9uYWxBdHRyM1NldHRl
cj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiY29uZGl0
aW9uYWxBdHRyMyIpOwogfQpAQCAtNDQ4NSw3ICs0NDg1LDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdE9ial9jb25kaXRpbwogICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2
bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hh
cio+KCJjb25kaXRpb25hbEF0dHI0IiksIHN0cmxlbigiY29uZGl0aW9uYWxBdHRyNCIpKSwgdmFs
dWUpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2NvbmRpdGlv
bmFsQXR0cjRDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkp
CitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2NvbmRpdGlvbmFsQXR0cjRD
b25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlO
YW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rl
c3RPYmpfY29uZGl0aW9uYWxBdHRyNENvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9i
amVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJjb25kaXRpb25hbEF0dHI0Iik7CiB9CkBA
IC00NTE0LDcgKzQ1MTQsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX2NvbmRp
dGlvCiAgICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9t
U3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oImNvbmRpdGlvbmFsQXR0
cjUiKSwgc3RybGVuKCJjb25kaXRpb25hbEF0dHI1IikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19ERUZJ
TkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfY29uZGl0aW9uYWxBdHRyNUNvbnN0cnVjdG9y
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RPYmpfY29uZGl0aW9uYWxBdHRyNUNvbnN0cnVjdG9yLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVy
biBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9jb25kaXRpb25hbEF0
dHI1Q29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVu
Y29kZWRWYWx1ZSwgImNvbmRpdGlvbmFsQXR0cjUiKTsKIH0KQEAgLTQ1NDMsNyArNDU0Myw3IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfY29uZGl0aW8KICAgICByZXR1cm4gdGhp
c09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJw
cmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiY29uZGl0aW9uYWxBdHRyNiIpLCBzdHJsZW4oImNvbmRp
dGlvbmFsQXR0cjYiKSksIHZhbHVlKTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdE9ial9jb25kaXRpb25hbEF0dHI2Q29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9i
al9jb25kaXRpb25hbEF0dHI2Q29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rl
c3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX2NvbmRpdGlvbmFsQXR0cjZDb25zdHJ1Y3RvclNldHRl
cj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiY29uZGl0
aW9uYWxBdHRyNiIpOwogfQpAQCAtNDYzMyw3ICs0NjMzLDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdE9ial9hbnlBdHRyaQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2FueUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
T2JqX2FueUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJv
cGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxz
ZXRKU1Rlc3RPYmpfYW55QXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhp
c1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJhbnlBdHRyaWJ1dGUiKTsKIH0KQEAgLTQ2NjQsNyArNDY2
NCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfb2JqZWN0QXQKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9vYmpl
Y3RBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9vYmplY3RBdHRyaWJ1dGUsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJu
IElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX29iamVjdEF0dHJpYnV0
ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAi
b2JqZWN0QXR0cmlidXRlIik7CiB9CkBAIC00NzA4LDcgKzQ3MDgsNyBAQCBzdGF0aWMgaW5saW5l
IGJvb2wgc2V0SlNUZXN0T2JqX211dGFibGVQCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19E
RUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfbXV0YWJsZVBvaW50LCAoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRK
U1Rlc3RPYmpfbXV0YWJsZVBvaW50LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
LCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6
c2V0PHNldEpTVGVzdE9ial9tdXRhYmxlUG9pbnRTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIm11dGFibGVQb2ludCIpOwogfQpAQCAtNDczOSw3
ICs0NzM5LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9zdHJhd2JlcgogICAg
IHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2Jq
X3N0cmF3YmVycnksIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9zdHJhd2JlcnJ5LCAoSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExB
dHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9zdHJhd2JlcnJ5U2V0dGVyPigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzdHJhd2JlcnJ5
Iik7CiB9CkBAIC00NzgzLDcgKzQ3ODMsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0
T2JqX2lkU2V0dGVyCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NF
VFRFUihzZXRKU1Rlc3RPYmpfaWQsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUp
KQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9pZCwgKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURM
QXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfaWRTZXR0ZXI+KCpsZXhpY2Fs
R2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImlkIik7CiB9CkBAIC00ODIx
LDcgKzQ4MjEsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3JlcGxhY2VhCiAg
ICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5n
KHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oInJlcGxhY2VhYmxlQXR0cmlidXRl
IiksIHN0cmxlbigicmVwbGFjZWFibGVBdHRyaWJ1dGUiKSksIHZhbHVlKTsKIH0KIAotSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9yZXBsYWNlYWJsZUF0dHJpYnV0ZSwgKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0T2JqX3JlcGxhY2VhYmxlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1
dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9yZXBsYWNlYWJsZUF0dHJpYnV0ZVNldHRl
cj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAicmVwbGFj
ZWFibGVBdHRyaWJ1dGUiKTsKIH0KQEAgLTQ5MDQsNyArNDkwNCw3IEBAIHN0YXRpYyBpbmxpbmUg
Ym9vbCBzZXRKU1Rlc3RPYmpfbnVsbGFibGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9udWxsYWJsZUxvbmdTZXR0YWJsZUF0dHJp
YnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NV
U1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX251bGxhYmxlTG9uZ1NldHRhYmxlQXR0cmlidXRlLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAg
IHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9udWxsYWJs
ZUxvbmdTZXR0YWJsZUF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNW
YWx1ZSwgZW5jb2RlZFZhbHVlLCAibnVsbGFibGVMb25nU2V0dGFibGVBdHRyaWJ1dGUiKTsKIH0K
QEAgLTQ5MzUsNyArNDkzNSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfbnVs
bGFibGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdE9ial9udWxsYWJsZVN0cmluZ1NldHRhYmxlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rl
c3RPYmpfbnVsbGFibGVTdHJpbmdTZXR0YWJsZUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmli
dXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfbnVsbGFibGVTdHJpbmdTZXR0YWJsZUF0
dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCAibnVsbGFibGVTdHJpbmdTZXR0YWJsZUF0dHJpYnV0ZSIpOwogfQpAQCAtNDk2Niw3ICs0
OTY2LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9udWxsYWJsZQogICAgIHJl
dHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX251
bGxhYmxlVVNWU3RyaW5nU2V0dGFibGVBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9udWxs
YWJsZVVTVlN0cmluZ1NldHRhYmxlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNU
ZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9udWxsYWJsZVVTVlN0cmluZ1NldHRhYmxlQXR0cmli
dXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUs
ICJudWxsYWJsZVVTVlN0cmluZ1NldHRhYmxlQXR0cmlidXRlIik7CiB9CkBAIC00OTk3LDcgKzQ5
OTcsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX251bGxhYmxlCiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfbnVs
bGFibGVCeXRlU3RyaW5nU2V0dGFibGVBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9udWxs
YWJsZUJ5dGVTdHJpbmdTZXR0YWJsZUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpT
VGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfbnVsbGFibGVCeXRlU3RyaW5nU2V0dGFibGVBdHRy
aWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1
ZSwgIm51bGxhYmxlQnl0ZVN0cmluZ1NldHRhYmxlQXR0cmlidXRlIik7CiB9CkBAIC01MDQ0LDcg
KzUwNDQsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX2F0dHJpYnV0CiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpf
YXR0cmlidXRlV2l0aFJlc2VydmVkRW51bVR5cGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9hdHRyaWJ1
dGVXaXRoUmVzZXJ2ZWRFbnVtVHlwZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46
OnNldDxzZXRKU1Rlc3RPYmpfYXR0cmlidXRlV2l0aFJlc2VydmVkRW51bVR5cGVTZXR0ZXI+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImF0dHJpYnV0ZVdp
dGhSZXNlcnZlZEVudW1UeXBlIik7CiB9CkBAIC01MTA2LDcgKzUxMDYsNyBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgc2V0SlNUZXN0T2JqX3B1dEZvcndhCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcHV0Rm9yd2FyZHNBdHRyaWJ1dGUs
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdE9ial9wdXRGb3J3YXJkc0F0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0
cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfcHV0Rm9yd2FyZHNBdHRyaWJ1dGVT
ZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInB1
dEZvcndhcmRzQXR0cmlidXRlIik7CiB9CkBAIC01MTQyLDcgKzUxNDIsNyBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgc2V0SlNUZXN0T2JqX3B1dEZvcndhCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcHV0Rm9yd2FyZHNOdWxsYWJsZUF0
dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3B1dEZvcndhcmRzTnVsbGFibGVBdHRyaWJ1dGUs
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAg
ICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3B1dEZv
cndhcmRzTnVsbGFibGVBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlz
VmFsdWUsIGVuY29kZWRWYWx1ZSwgInB1dEZvcndhcmRzTnVsbGFibGVBdHRyaWJ1dGUiKTsKIH0K
QEAgLTUxNzMsNyArNTE3Myw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfc3Ry
aW5naWYKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdE9ial9zdHJpbmdpZmllckF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3N0cmlu
Z2lmaWVyQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9w
ZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNl
dEpTVGVzdE9ial9zdHJpbmdpZmllckF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAic3RyaW5naWZpZXJBdHRyaWJ1dGUiKTsKIH0K
QEAgLTUyMDQsNyArNTIwNCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfY29u
ZGl0aW8KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdE9ial9jb25kaXRpb25hbGx5RXhwb3NlZFRvV2luZG93QXR0cmlidXRlLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RPYmpfY29uZGl0aW9uYWxseUV4cG9zZWRUb1dpbmRvd0F0dHJpYnV0ZSwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1
cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfY29uZGl0aW9uYWxs
eUV4cG9zZWRUb1dpbmRvd0F0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRo
aXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiY29uZGl0aW9uYWxseUV4cG9zZWRUb1dpbmRvd0F0dHJp
YnV0ZSIpOwogfQpAQCAtNTIzNSw3ICs1MjM1LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpT
VGVzdE9ial9jb25kaXRpbwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RP
TV9TRVRURVIoc2V0SlNUZXN0T2JqX2NvbmRpdGlvbmFsbHlFeHBvc2VkVG9Xb3JrZXJBdHRyaWJ1
dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdE9ial9jb25kaXRpb25hbGx5RXhwb3NlZFRvV29ya2VyQXR0cmli
dXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQog
ewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9j
b25kaXRpb25hbGx5RXhwb3NlZFRvV29ya2VyQXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJjb25kaXRpb25hbGx5RXhwb3NlZFRv
V29ya2VyQXR0cmlidXRlIik7CiB9CkBAIC01MjY2LDcgKzUyNjYsNyBAQCBzdGF0aWMgaW5saW5l
IGJvb2wgc2V0SlNUZXN0T2JqX2NvbmRpdGlvCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19E
RUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfY29uZGl0aW9uYWxseUV4cG9zZWRUb1dp
bmRvd0FuZFdvcmtlckF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2NvbmRpdGlvbmFsbHlF
eHBvc2VkVG9XaW5kb3dBbmRXb3JrZXJBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxK
U1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX2NvbmRpdGlvbmFsbHlFeHBvc2VkVG9XaW5kb3dB
bmRXb3JrZXJBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUs
IGVuY29kZWRWYWx1ZSwgImNvbmRpdGlvbmFsbHlFeHBvc2VkVG9XaW5kb3dBbmRXb3JrZXJBdHRy
aWJ1dGUiKTsKIH0KQEAgLTUyOTcsNyArNTI5Nyw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRK
U1Rlc3RPYmpfZGFzaF9sZWEKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdE9ial9kYXNoX2xlYWRpbmdfZGFzaF9oeXBoZW5fZGFzaF9hdHRy
aWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFs
dWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9kYXNoX2xlYWRpbmdfZGFzaF9oeXBoZW5fZGFzaF9h
dHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFt
ZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0
T2JqX2Rhc2hfbGVhZGluZ19kYXNoX2h5cGhlbl9kYXNoX2F0dHJpYnV0ZVNldHRlcj4oKmxleGlj
YWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiLWxlYWRpbmctaHlwaGVu
LWF0dHJpYnV0ZSIpOwogfQpAQCAtNTMyOCw3ICs1MzI4LDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdE9ial90cmFpbGluZwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3RyYWlsaW5nX2Rhc2hfaHlwaGVuX2Rhc2hfYXR0
cmlidXRlX2Rhc2hfLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19E
RUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfdHJhaWxpbmdfZGFzaF9oeXBoZW5fZGFz
aF9hdHRyaWJ1dGVfZGFzaF8sIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFBy
b3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8
c2V0SlNUZXN0T2JqX3RyYWlsaW5nX2Rhc2hfaHlwaGVuX2Rhc2hfYXR0cmlidXRlX2Rhc2hfU2V0
dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJ0cmFp
bGluZy1oeXBoZW4tYXR0cmlidXRlLSIpOwogfQpAQCAtNTM1OSw3ICs1MzU5LDcgQEAgc3RhdGlj
IGlubGluZSBib29sIHNldEpTVGVzdE9ial9sZWFkaW5nXwogICAgIHJldHVybiB0cnVlOwogfQog
Ci1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2xlYWRpbmdfdW5kZXJzY29y
ZV9hdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9sZWFkaW5nX3VuZGVyc2NvcmVfYXR0cmli
dXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQog
ewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9s
ZWFkaW5nX3VuZGVyc2NvcmVfYXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
dGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJsZWFkaW5nX3VuZGVyc2NvcmVfYXR0cmlidXRlIik7
CiB9CkBAIC01MzkwLDcgKzUzOTAsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2Jq
X2RvdWJsZV9sCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
UihzZXRKU1Rlc3RPYmpfZG91YmxlX2xlYWRpbmdfdW5kZXJzY29yZV9hdHRyaWJ1dGUsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdE9ial9kb3VibGVfbGVhZGluZ191bmRlcnNjb3JlX2F0dHJpYnV0ZSwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1
cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfZG91YmxlX2xlYWRp
bmdfdW5kZXJzY29yZV9hdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlz
VmFsdWUsIGVuY29kZWRWYWx1ZSwgIl9kb3VibGVfbGVhZGluZ191bmRlcnNjb3JlX2F0dHJpYnV0
ZSIpOwogfQpAQCAtNTQyMSw3ICs1NDIxLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVz
dE9ial90cmFpbGluZwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0T2JqX3RyYWlsaW5nX3VuZGVyc2NvcmVfYXR0cmlidXRlXywgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0T2JqX3RyYWlsaW5nX3VuZGVyc2NvcmVfYXR0cmlidXRlXywgKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURM
QXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfdHJhaWxpbmdfdW5kZXJzY29y
ZV9hdHRyaWJ1dGVfU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNv
ZGVkVmFsdWUsICJ0cmFpbGluZ191bmRlcnNjb3JlX2F0dHJpYnV0ZV8iKTsKIH0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2Ny
aXB0VmFsdWVJbnRlcmZhY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2Uu
Y3BwCShyZXZpc2lvbiAyNzQ1OTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjI2LDcgKzIyNiw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RT
ZXJpYWxpemVkU2MKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKHNldEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZV92YWx1ZSwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlX3ZhbHVlLCAoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJ
RExBdHRyaWJ1dGU8SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlPjo6c2V0PHNl
dEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZV92YWx1ZVNldHRlcj4oKmxleGlj
YWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAidmFsdWUiKTsKIH0KQEAg
LTI3NSw3ICsyNzUsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0U2VyaWFsaXplZFNj
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VfY2FjaGVkVmFsdWUsIChKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpT
VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZV9jYWNoZWRWYWx1ZSwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4g
SURMQXR0cmlidXRlPEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZT46OnNldDxz
ZXRKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VfY2FjaGVkVmFsdWVTZXR0ZXI+
KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImNhY2hlZFZh
bHVlIik7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNldExpa2VXaXRo
T3ZlcnJpZGRlbk9wZXJhdGlvbnMuY3BwCShyZXZpc2lvbiAyNzQ1OTcpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVu
T3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyNSw3ICsyMjUsNyBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgc2V0SlNUZXN0U2V0TGlrZVdpdGhPCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
LUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5P
cGVyYXRpb25zX2FkZCwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0Nf
REVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0
aW9uc19hZGQsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFt
ZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRk
ZW5PcGVyYXRpb25zPjo6c2V0PHNldEpTVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlv
bnNfYWRkU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFs
dWUsICJhZGQiKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lm
aWVyUmVhZFdyaXRlQXR0cmlidXRlLmNwcAkocmV2aXNpb24gMjc0NTk3KQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRl
QXR0cmlidXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA2LDcgKzIwNiw3IEBAIHN0YXRpYyBp
bmxpbmUgYm9vbCBzZXRKU1Rlc3RTdHJpbmdpZmllclIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAot
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0
cmlidXRlX2lkZW50aWZpZXIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQor
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0
cmlidXRlX2lkZW50aWZpZXIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFBy
b3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RTdHJpbmdpZmll
clJlYWRXcml0ZUF0dHJpYnV0ZT46OnNldDxzZXRKU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0
dHJpYnV0ZV9pZGVudGlmaWVyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVl
LCBlbmNvZGVkVmFsdWUsICJpZGVudGlmaWVyIik7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5j
cHAJKHJldmlzaW9uIDI3NDU5NykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxOCw3ICszMTgs
NyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0VHlwZWRlZnNfdW5zCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RUeXBlZGVmc191
bnNpZ25lZExvbmdMb25nQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkp
CitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0VHlwZWRlZnNfdW5zaWduZWRMb25n
TG9uZ0F0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFt
ZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RUeXBlZGVmcz46OnNldDxzZXRK
U1Rlc3RUeXBlZGVmc191bnNpZ25lZExvbmdMb25nQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxP
YmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAidW5zaWduZWRMb25nTG9uZ0F0dHIiKTsK
IH0KQEAgLTM0OSw3ICszNDksNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0VHlwZWRl
ZnNfc2VyCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RUeXBlZGVmc19zZXJpYWxpemVkU2NyaXB0VmFsdWUsIChKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdFR5
cGVkZWZzX3NlcmlhbGl6ZWRTY3JpcHRWYWx1ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVz
dFR5cGVkZWZzPjo6c2V0PHNldEpTVGVzdFR5cGVkZWZzX3NlcmlhbGl6ZWRTY3JpcHRWYWx1ZVNl
dHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAic2Vy
aWFsaXplZFNjcmlwdFZhbHVlIik7CiB9CkBAIC0zOTEsNyArMzkxLDcgQEAgc3RhdGljIGlubGlu
ZSBib29sIHNldEpTVGVzdFR5cGVkZWZzX2F0dAogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0Nf
REVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0VHlwZWRlZnNfYXR0cmlidXRlV2l0aENsYW1w
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RUeXBlZGVmc19hdHRyaWJ1dGVXaXRoQ2xhbXAsIChKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElE
TEF0dHJpYnV0ZTxKU1Rlc3RUeXBlZGVmcz46OnNldDxzZXRKU1Rlc3RUeXBlZGVmc19hdHRyaWJ1
dGVXaXRoQ2xhbXBTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29k
ZWRWYWx1ZSwgImF0dHJpYnV0ZVdpdGhDbGFtcCIpOwogfQpAQCAtNDIyLDcgKzQyMiw3IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RUeXBlZGVmc19hdHQKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdFR5cGVkZWZzX2F0dHJpYnV0
ZVdpdGhDbGFtcEluVHlwZWRlZiwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkp
CitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0VHlwZWRlZnNfYXR0cmlidXRlV2l0
aENsYW1wSW5UeXBlZGVmLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9w
ZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0VHlwZWRlZnM+Ojpz
ZXQ8c2V0SlNUZXN0VHlwZWRlZnNfYXR0cmlidXRlV2l0aENsYW1wSW5UeXBlZGVmU2V0dGVyPigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJhdHRyaWJ1dGVX
aXRoQ2xhbXBJblR5cGVkZWYiKTsKIH0KQEAgLTQ1Myw3ICs0NTMsNyBAQCBzdGF0aWMgaW5saW5l
IGJvb2wgc2V0SlNUZXN0VHlwZWRlZnNfYnVmCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19E
RUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RUeXBlZGVmc19idWZmZXJTb3VyY2VBdHRyLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NF
VFRFUihzZXRKU1Rlc3RUeXBlZGVmc19idWZmZXJTb3VyY2VBdHRyLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRy
aWJ1dGU8SlNUZXN0VHlwZWRlZnM+OjpzZXQ8c2V0SlNUZXN0VHlwZWRlZnNfYnVmZmVyU291cmNl
QXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVl
LCAiYnVmZmVyU291cmNlQXR0ciIpOwogfQpAQCAtNDg0LDcgKzQ4NCw3IEBAIHN0YXRpYyBpbmxp
bmUgYm9vbCBzZXRKU1Rlc3RUeXBlZGVmc19kb20KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdFR5cGVkZWZzX2RvbVRpbWVTdGFtcEF0dHIs
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdFR5cGVkZWZzX2RvbVRpbWVTdGFtcEF0dHIsIChKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0
dHJpYnV0ZTxKU1Rlc3RUeXBlZGVmcz46OnNldDxzZXRKU1Rlc3RUeXBlZGVmc19kb21UaW1lU3Rh
bXBBdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFs
dWUsICJkb21UaW1lU3RhbXBBdHRyIik7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNXb3JrZXJHbG9iYWxTY29wZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTV29ya2VyR2xvYmFsU2Nv
cGUuY3BwCShyZXZpc2lvbiAyNzQ1OTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNXb3JrZXJHbG9iYWxTY29wZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIw
Myw3ICsyMDMsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNXb3JrZXJHbG9iYWxTY29wCiAg
ICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5n
KHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIkV4cG9zZWRUb1dvcmtlckFuZFdp
bmRvdyIpLCBzdHJsZW4oIkV4cG9zZWRUb1dvcmtlckFuZFdpbmRvdyIpKSwgdmFsdWUpOwogfQog
Ci1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNXb3JrZXJHbG9iYWxTY29wZV9FeHBvc2Vk
VG9Xb3JrZXJBbmRXaW5kb3dDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNXb3JrZXJHbG9iYWxTY29w
ZV9FeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3dDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmli
dXRlPEpTV29ya2VyR2xvYmFsU2NvcGU+OjpzZXQ8c2V0SlNXb3JrZXJHbG9iYWxTY29wZV9FeHBv
c2VkVG9Xb3JrZXJBbmRXaW5kb3dDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiRXhwb3NlZFRvV29ya2VyQW5kV2luZG93Iik7
CiB9CkBAIC0yMjYsNyArMjI2LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTV29ya2VyR2xv
YmFsU2NvcAogICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6
ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0RGVmYXVs
dFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkIiksIHN0cmxlbigiVGVzdERlZmF1bHRUb0pTT05GaWx0
ZXJlZEJ5RXhwb3NlZCIpKSwgdmFsdWUpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNXb3JrZXJHbG9iYWxTY29wZV9UZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2Vk
Q29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTV29ya2VyR2xvYmFsU2NvcGVfVGVzdERlZmF1bHRUb0pT
T05GaWx0ZXJlZEJ5RXhwb3NlZENvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNX
b3JrZXJHbG9iYWxTY29wZT46OnNldDxzZXRKU1dvcmtlckdsb2JhbFNjb3BlX1Rlc3REZWZhdWx0
VG9KU09ORmlsdGVyZWRCeUV4cG9zZWRDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxP
YmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJl
ZEJ5RXhwb3NlZCIpOwogfQpAQCAtMjQ5LDcgKzI0OSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBz
ZXRKU1dvcmtlckdsb2JhbFNjb3AKICAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0s
IElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIq
PigiVGVzdE5vZGUiKSwgc3RybGVuKCJUZXN0Tm9kZSIpKSwgdmFsdWUpOwogfQogCi1KU0NfREVG
SU5FX0NVU1RPTV9TRVRURVIoc2V0SlNXb3JrZXJHbG9iYWxTY29wZV9UZXN0Tm9kZUNvbnN0cnVj
dG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1dvcmtlckdsb2JhbFNjb3BlX1Rlc3ROb2RlQ29uc3RydWN0b3IsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAg
cmV0dXJuIElETEF0dHJpYnV0ZTxKU1dvcmtlckdsb2JhbFNjb3BlPjo6c2V0PHNldEpTV29ya2Vy
R2xvYmFsU2NvcGVfVGVzdE5vZGVDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdE5vZGUiKTsKIH0KQEAgLTI3Miw3ICsy
NzIsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNXb3JrZXJHbG9iYWxTY29wCiAgICAgcmV0
dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCBy
ZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RPYmplY3QiKSwgc3RybGVuKCJUZXN0
T2JqZWN0IikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1dv
cmtlckdsb2JhbFNjb3BlX1Rlc3RPYmplY3RDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNXb3JrZXJH
bG9iYWxTY29wZV9UZXN0T2JqZWN0Q29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxK
U1dvcmtlckdsb2JhbFNjb3BlPjo6c2V0PHNldEpTV29ya2VyR2xvYmFsU2NvcGVfVGVzdE9iamVj
dENvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNv
ZGVkVmFsdWUsICJUZXN0T2JqZWN0Iik7CiB9CkBAIC0yOTUsNyArMjk1LDcgQEAgc3RhdGljIGlu
bGluZSBib29sIHNldEpTV29ya2VyR2xvYmFsU2NvcAogICAgIHJldHVybiB0aGlzT2JqZWN0LnB1
dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxj
b25zdCBMQ2hhcio+KCJUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50IiksIHN0cmxlbigiVGVzdFBy
b21pc2VSZWplY3Rpb25FdmVudCIpKSwgdmFsdWUpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNXb3JrZXJHbG9iYWxTY29wZV9UZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50Q29u
c3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTV29ya2VyR2xvYmFsU2NvcGVfVGVzdFByb21pc2VSZWplY3Rp
b25FdmVudENvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQ
cm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNXb3JrZXJHbG9iYWxT
Y29wZT46OnNldDxzZXRKU1dvcmtlckdsb2JhbFNjb3BlX1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZl
bnRDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5j
b2RlZFZhbHVlLCAiVGVzdFByb21pc2VSZWplY3Rpb25FdmVudCIpOwogfQpAQCAtMzE4LDcgKzMx
OCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1dvcmtlckdsb2JhbFNjb3AKICAgICByZXR1
cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJl
aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiV29ya2VyR2xvYmFsU2NvcGUiKSwgc3RybGVu
KCJXb3JrZXJHbG9iYWxTY29wZSIpKSwgdmFsdWUpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNXb3JrZXJHbG9iYWxTY29wZV9Xb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9y
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1dvcmtlckdsb2JhbFNjb3BlX1dvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0
b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7
CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1dvcmtlckdsb2JhbFNjb3BlPjo6c2V0PHNldEpT
V29ya2VyR2xvYmFsU2NvcGVfV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvclNldHRlcj4oKmxl
eGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiV29ya2VyR2xvYmFs
U2NvcGUiKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1dvcmtsZXRHbG9iYWxTY29wZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTV29ya2xldEdsb2JhbFNjb3BlLmNwcAkocmV2aXNp
b24gMjc0NTk3KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
V29ya2xldEdsb2JhbFNjb3BlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY3LDcgKzE2Nyw3IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1dvcmtsZXRHbG9iYWxTY28KICAgICByZXR1cm4gdGhp
c09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJw
cmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiV29ya2xldEdsb2JhbFNjb3BlIiksIHN0cmxlbigiV29y
a2xldEdsb2JhbFNjb3BlIikpLCB2YWx1ZSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
UihzZXRKU1dvcmtsZXRHbG9iYWxTY29wZV9Xb3JrbGV0R2xvYmFsU2NvcGVDb25zdHJ1Y3Rvciwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNXb3JrbGV0R2xvYmFsU2NvcGVfV29ya2xldEdsb2JhbFNjb3BlQ29uc3RydWN0
b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7
CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1dvcmtsZXRHbG9iYWxTY29wZT46OnNldDxzZXRK
U1dvcmtsZXRHbG9iYWxTY29wZV9Xb3JrbGV0R2xvYmFsU2NvcGVDb25zdHJ1Y3RvclNldHRlcj4o
KmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiV29ya2xldEds
b2JhbFNjb3BlIik7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423735</attachid>
            <date>2021-03-19 09:17:06 -0700</date>
            <delta_ts>2021-03-19 09:23:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223413-20210319091705.patch</filename>
            <type>text/plain</type>
            <size>126129</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjc0NzIxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSArMSwzOSBAQAor
MjAyMS0wMy0xOSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRk
IFByb3BlcnR5TmFtZSBwYXJhbWV0ZXIgdG8gY3VzdG9tIHNldHRlcnMgdG8gYWxsb3cgc2hhcmVk
IGltcGxlbWVudGF0aW9ucyB0byBkbyBsYXRlIG5hbWUgbG9va3VwCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM0MTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBBbGV4ZXkgU2h2YXlrYS4KKworICAgICAgICBNYWtlIGN1c3RvbSBzZXR0ZXJzIG1hdGNo
IGN1c3RvbSBnZXR0ZXJzIGJ5IGFkZGluZyBhIFByb3BlcnR5TmFtZSBwYXJhbWV0ZXIuCisgICAg
ICAgIAorICAgICAgICBUaGlzIHdpbGwgYmUgdXNlZCBieSB0aGUgQ1NTU3R5bGVEZWNsYXJhdGlv
biBiaW5kaW5ncyB0byBhdm9pZCA+IDEwMDAgY29waWVzCisgICAgICAgIG9mIHRoZSBzYW1lIGdl
dHRlci9zZXR0ZXIgY29kZSwgd2hpY2ggd2lsbCBpbnN0ZWFkIGJlIGFibGUgdG8gZGlmZmVyZW50
aWF0ZQorICAgICAgICB1c2luZyB0aGUgbmFtZS4KKworICAgICAgICAqIGJ5dGVjb2RlL0FjY2Vz
c0Nhc2UuY3BwOgorICAgICAgICAoSlNDOjpBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwpOgorICAg
ICAgICAqIGpzYy5jcHA6CisgICAgICAgIChKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgorICAg
ICAgICAqIHJ1bnRpbWUvQ3VzdG9tR2V0dGVyU2V0dGVyLmNwcDoKKyAgICAgICAgKEpTQzo6Y2Fs
bEN1c3RvbVNldHRlcik6CisgICAgICAgICogcnVudGltZS9DdXN0b21HZXR0ZXJTZXR0ZXIuaDoK
KyAgICAgICAgKiBydW50aW1lL0pTQ0pTVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpKU1ZhbHVl
OjpwdXRUb1ByaW1pdGl2ZSk6CisgICAgICAgICogcnVudGltZS9KU0N1c3RvbVNldHRlckZ1bmN0
aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKToKKyAgICAg
ICAgKEpTQzo6SlNDdXN0b21TZXR0ZXJGdW5jdGlvbjo6SlNDdXN0b21TZXR0ZXJGdW5jdGlvbik6
CisgICAgICAgIChKU0M6OkpTQ3VzdG9tU2V0dGVyRnVuY3Rpb246OmNyZWF0ZSk6CisgICAgICAg
ICogcnVudGltZS9KU0N1c3RvbVNldHRlckZ1bmN0aW9uLmg6CisgICAgICAgICogcnVudGltZS9K
U09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpwdXRJbmxpbmVTbG93KToKKyAg
ICAgICAgKiBydW50aW1lL0xvb2t1cC5oOgorICAgICAgICAoSlNDOjpwdXRFbnRyeSk6CisgICAg
ICAgICogcnVudGltZS9Qcm9wZXJ0eVNsb3QuaDoKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cENv
bnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKToK
KyAgICAgICAgKiBydW50aW1lL1JlZ0V4cE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTQ19E
RUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICogdG9vbHMvSlNEb2xsYXJWTS5jcHA6CisK
ID09IFJvbGxlZCBvdmVyIHRvIENoYW5nZUxvZy0yMDIxLTAzLTE4ID09CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvanNjLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvanNjLmNwcAkocmV2aXNpb24gMjc0NzIxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2pz
Yy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc0Nyw3ICs3NDcsNyBAQCBHbG9iYWxPYmplY3Q6Okds
b2JhbE9iamVjdChWTSYgdm0sIFN0cnVjCiB7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
Uih0ZXN0Q3VzdG9tQWNjZXNzb3JTZXR0ZXIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
VmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHRlc3RDdXN0b21BY2Nlc3NvclNldHRl
ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsK
ICAgICBWTSYgdm0gPSBsZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgpOwogICAgIFJFTEVBU0VfQVNT
RVJUKEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpLmlzQ2VsbCgpKTsKQEAgLTc1OCw3ICs3NTgs
NyBAQCBKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIodGVzdEN1c3RvbUFjY2VzCiAgICAgcmV0dXJu
IEdsb2JhbE9iamVjdDo6dGVzdEN1c3RvbVNldHRlckltcGwobGV4aWNhbEdsb2JhbE9iamVjdCwg
dGhpc09iamVjdCwgZW5jb2RlZFZhbHVlLCAiX3Rlc3RDdXN0b21BY2Nlc3NvclNldHRlciIpOwog
fQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIodGVzdEN1c3RvbVZhbHVlU2V0dGVyLCAoSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
Uih0ZXN0Q3VzdG9tVmFsdWVTZXR0ZXIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgVk0mIHZtID0gbGV4aWNhbEdsb2JhbE9iamVjdC0+
dm0oKTsKICAgICBSRUxFQVNFX0FTU0VSVChKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKS5pc0Nl
bGwoKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nh
c2UuY3BwCShyZXZpc2lvbiAyNzQ3MjEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3NTgsNyArMTc1OCw3IEBAIHZv
aWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAgICAgIEdQUlJl
ZyByZWNlaXZlckZvckN1c3RvbUdldEdQUiA9IGJhc2VHUFIgIT0gdGhpc0dQUiA/IHRoaXNHUFIg
OiByZWNlaXZlckdQUjsKIAogICAgICAgICAgICAgLy8gZ2V0dGVyOiBFbmNvZGVkSlNWYWx1ZSAo
KkdldFZhbHVlRnVuYykoSlNHbG9iYWxPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IFByb3BlcnR5TmFtZSk7Ci0gICAgICAgICAgICAvLyBzZXR0ZXI6IGJvb2wgKCpQdXRWYWx1ZUZ1
bmMpKEpTR2xvYmFsT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUgdGhpc09iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdmFsdWUpOworICAgICAgICAgICAgLy8gc2V0dGVyOiBib29sICgqUHV0VmFsdWVGdW5j
KShKU0dsb2JhbE9iamVjdCosIEVuY29kZWRKU1ZhbHVlIHRoaXNPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHZhbHVlLCBQcm9wZXJ0eU5hbWUpOwogICAgICAgICAgICAgLy8gQ3VzdG9tIHZhbHVlcyBh
cmUgcGFzc2VkIHRoZSBzbG90QmFzZSAodGhlIHByb3BlcnR5IGhvbGRlciksIGN1c3RvbSBhY2Nl
c3NvcnMgYXJlIHBhc3NlZCB0aGUgdGhpc1ZhbHVlIChyZWNlaXZlcikuCiAgICAgICAgICAgICBH
UFJSZWcgYmFzZUZvckN1c3RvbSA9IHRha2VzUHJvcGVydHlPd25lckFzQ0Z1bmN0aW9uQXJndW1l
bnQgPyBwcm9wZXJ0eU93bmVyR1BSIDogcmVjZWl2ZXJGb3JDdXN0b21HZXRHUFI7IAogICAgICAg
ICAgICAgLy8gV2UgZG8gbm90IG5lZWQgdG8ga2VlcCBnbG9iYWxPYmplY3QgYWxpdmUgc2luY2Ug
dGhlIG93bmVyIENvZGVCbG9jayAoZXZlbiBpZiBKU0dsb2JhbE9iamVjdCogaXMgb25lIG9mIENv
ZGVCbG9jayB0aGF0IGlzIGlubGluZWQgYW5kIGhlbGQgYnkgREZHIENvZGVCbG9jaykKQEAgLTE3
ODMsMTIgKzE3ODMsMTQgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2Vu
ZQogICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGds
b2JhbE9iamVjdCksCiAgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkNlbGxW
YWx1ZShiYXNlRm9yQ3VzdG9tKSwKICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlUmVncywK
KyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cih1aWQo
KSksCiAgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIo
dGhpcy0+YXM8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4oKS5tX2N1c3RvbUFjY2Vzc29yLmV4ZWN1
dGFibGVBZGRyZXNzKCkpKTsKICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
ICAgICAgICBqaXQuc2V0dXBBcmd1bWVudHM8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+
KAogICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGds
b2JhbE9iamVjdCksCiAgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkNlbGxW
YWx1ZShiYXNlRm9yQ3VzdG9tKSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlUmVncyk7
CisgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZVJlZ3MsCisgICAgICAgICAgICAgICAgICAg
ICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIodWlkKCkpKTsKICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6Y2Fs
bEZyYW1lUmVnaXN0ZXIsICZ2bS50b3BDYWxsRnJhbWUpOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ3VzdG9tR2V0dGVyU2V0dGVyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DdXN0b21HZXR0ZXJTZXR0ZXIuY3BwCShyZXZpc2lv
biAyNzQ3MjEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DdXN0b21HZXR0ZXJT
ZXR0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSwxOSArMzUsMTkgQEAgU1RBVElDX0FTU0VS
VF9JU19UUklWSUFMTFlfREVTVFJVQ1RJQkxFKAogCiBjb25zdCBDbGFzc0luZm8gQ3VzdG9tR2V0
dGVyU2V0dGVyOjpzX2luZm8gPSB7ICJDdXN0b21HZXR0ZXJTZXR0ZXIiLCBudWxscHRyLCBudWxs
cHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEN1c3RvbUdldHRlclNldHRlcikgfTsK
IAotVHJpU3RhdGUgY2FsbEN1c3RvbVNldHRlcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBDdXN0b21HZXR0ZXJTZXR0ZXI6OkN1c3RvbVNldHRlciBzZXR0ZXIsIGJvb2wgaXNBY2Nlc3Nv
ciwgSlNPYmplY3QqIHNsb3RCYXNlLCBKU1ZhbHVlIHRoaXNWYWx1ZSwgSlNWYWx1ZSB2YWx1ZSkK
K1RyaVN0YXRlIGNhbGxDdXN0b21TZXR0ZXIoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
Q3VzdG9tR2V0dGVyU2V0dGVyOjpDdXN0b21TZXR0ZXIgc2V0dGVyLCBib29sIGlzQWNjZXNzb3Is
IEpTT2JqZWN0KiBzbG90QmFzZSwgSlNWYWx1ZSB0aGlzVmFsdWUsIEpTVmFsdWUgdmFsdWUsIFBy
b3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCiB7CiAgICAgaWYgKGlzQWNjZXNzb3IpIHsKICAgICAg
ICAgaWYgKCFzZXR0ZXIpCiAgICAgICAgICAgICByZXR1cm4gVHJpU3RhdGU6OkZhbHNlOwotICAg
ICAgICBzZXR0ZXIoZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlOjplbmNvZGUodGhpc1ZhbHVlKSwgSlNW
YWx1ZTo6ZW5jb2RlKHZhbHVlKSk7CisgICAgICAgIHNldHRlcihnbG9iYWxPYmplY3QsIEpTVmFs
dWU6OmVuY29kZSh0aGlzVmFsdWUpLCBKU1ZhbHVlOjplbmNvZGUodmFsdWUpLCBwcm9wZXJ0eU5h
bWUpOwogICAgICAgICAvLyBBbHdheXMgcmV0dXJuIHRydWUgaWYgdGhlcmUgaXMgYSBzZXR0ZXIg
YW5kIGl0IGlzIG9ic2VydmVkIGFzIGFuIGFjY2Vzc29yIHRvIHVzZXJzLgogICAgICAgICByZXR1
cm4gVHJpU3RhdGU6OlRydWU7CiAgICAgfQogCiAgICAgaWYgKCFzZXR0ZXIpCiAgICAgICAgIHJl
dHVybiBUcmlTdGF0ZTo6SW5kZXRlcm1pbmF0ZTsKLSAgICByZXR1cm4gdHJpU3RhdGUoc2V0dGVy
KGdsb2JhbE9iamVjdCwgSlNWYWx1ZTo6ZW5jb2RlKHNsb3RCYXNlKSwgSlNWYWx1ZTo6ZW5jb2Rl
KHZhbHVlKSkpOworICAgIHJldHVybiB0cmlTdGF0ZShzZXR0ZXIoZ2xvYmFsT2JqZWN0LCBKU1Zh
bHVlOjplbmNvZGUoc2xvdEJhc2UpLCBKU1ZhbHVlOjplbmNvZGUodmFsdWUpLCBwcm9wZXJ0eU5h
bWUpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9DdXN0b21HZXR0ZXJTZXR0ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9DdXN0b21HZXR0ZXJTZXR0ZXIuaAkocmV2aXNpb24gMjc0NzIx
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ3VzdG9tR2V0dGVyU2V0dGVyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTc2LDYgKzc2LDYgQEAgcHJpdmF0ZToKICAgICBDdXN0b21TZXR0
ZXIgbV9zZXR0ZXI7CiB9OwogCi1KU19FWFBPUlRfUFJJVkFURSBUcmlTdGF0ZSBjYWxsQ3VzdG9t
U2V0dGVyKEpTR2xvYmFsT2JqZWN0KiwgQ3VzdG9tR2V0dGVyU2V0dGVyOjpDdXN0b21TZXR0ZXIs
IGJvb2wgaXNBY2Nlc3NvciwgSlNPYmplY3QqIHNsb3RCYXNlLCBKU1ZhbHVlIHRoaXNWYWx1ZSwg
SlNWYWx1ZSk7CitKU19FWFBPUlRfUFJJVkFURSBUcmlTdGF0ZSBjYWxsQ3VzdG9tU2V0dGVyKEpT
R2xvYmFsT2JqZWN0KiwgQ3VzdG9tR2V0dGVyU2V0dGVyOjpDdXN0b21TZXR0ZXIsIGJvb2wgaXNB
Y2Nlc3NvciwgSlNPYmplY3QqIHNsb3RCYXNlLCBKU1ZhbHVlIHRoaXNWYWx1ZSwgSlNWYWx1ZSwg
UHJvcGVydHlOYW1lKTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkocmV2aXNpb24gMjc0NzIxKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI2NCw3ICsyNjQsNyBAQCBib29sIEpTVmFsdWU6OnB1dFRvUHJpbWl0aXZlKEpTR2xv
YmFsT2JqCiAgICAgICAgICAgICBpZiAoZ3MuaXNDdXN0b21HZXR0ZXJTZXR0ZXIoKSkgewogICAg
ICAgICAgICAgICAgIGF1dG8gc2V0dGVyID0ganNDYXN0PEN1c3RvbUdldHRlclNldHRlcio+KGdz
LmFzQ2VsbCgpKS0+c2V0dGVyKCk7CiAgICAgICAgICAgICAgICAgYm9vbCBpc0FjY2Vzc29yID0g
YXR0cmlidXRlcyAmIFByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvcjsKLSAgICAgICAg
ICAgICAgICBhdXRvIHJlc3VsdCA9IGNhbGxDdXN0b21TZXR0ZXIoZ2xvYmFsT2JqZWN0LCBzZXR0
ZXIsIGlzQWNjZXNzb3IsIG9iaiwgc2xvdC50aGlzVmFsdWUoKSwgdmFsdWUpOworICAgICAgICAg
ICAgICAgIGF1dG8gcmVzdWx0ID0gY2FsbEN1c3RvbVNldHRlcihnbG9iYWxPYmplY3QsIHNldHRl
ciwgaXNBY2Nlc3Nvciwgb2JqLCBzbG90LnRoaXNWYWx1ZSgpLCB2YWx1ZSwgcHJvcGVydHlOYW1l
KTsKICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICE9IFRyaVN0YXRlOjpJbmRldGVybWluYXRl
KQogICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIHJlc3VsdCA9
PSBUcmlTdGF0ZTo6VHJ1ZSk7CiAgICAgICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0N1c3RvbVNldHRlckZ1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0N1c3RvbVNldHRlckZ1bmN0aW9uLmNwcAko
cmV2aXNpb24gMjc0NzIxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDdXN0
b21TZXR0ZXJGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDEzICszNSwxNSBAQCBz
dGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihjdXN0b21TCiAKIEpTQ19ERUZJTkVfSE9T
VF9GVU5DVElPTihjdXN0b21TZXR0ZXJGdW5jdGlvbkNhbGwsIChKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCiB7Ci0gICAgUHV0VmFsdWVGdW5jIHNl
dHRlciA9IGpzQ2FzdDxKU0N1c3RvbVNldHRlckZ1bmN0aW9uKj4oY2FsbEZyYW1lLT5qc0NhbGxl
ZSgpKS0+c2V0dGVyKCk7Ci0gICAgc2V0dGVyKGdsb2JhbE9iamVjdCwgSlNWYWx1ZTo6ZW5jb2Rl
KGNhbGxGcmFtZS0+dGhpc1ZhbHVlKCkpLCBKU1ZhbHVlOjplbmNvZGUoY2FsbEZyYW1lLT5hcmd1
bWVudCgwKSkpOworICAgIGF1dG8gY3VzdG9tR2V0dGVyRnVuY3Rpb24gPSBqc0Nhc3Q8SlNDdXN0
b21TZXR0ZXJGdW5jdGlvbio+KGNhbGxGcmFtZS0+anNDYWxsZWUoKSk7CisgICAgUHV0VmFsdWVG
dW5jIHNldHRlciA9IGN1c3RvbUdldHRlckZ1bmN0aW9uLT5zZXR0ZXIoKTsKKyAgICBzZXR0ZXIo
Z2xvYmFsT2JqZWN0LCBKU1ZhbHVlOjplbmNvZGUoY2FsbEZyYW1lLT50aGlzVmFsdWUoKSksIEpT
VmFsdWU6OmVuY29kZShjYWxsRnJhbWUtPmFyZ3VtZW50KDApKSwgY3VzdG9tR2V0dGVyRnVuY3Rp
b24tPnByb3BlcnR5TmFtZSgpKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpOwogfQogCi1KU0N1c3RvbVNldHRlckZ1bmN0aW9uOjpKU0N1c3RvbVNldHRlckZ1bmN0
aW9uKFZNJiB2bSwgTmF0aXZlRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFB1dFZhbHVlRnVuYyBzZXR0ZXIp
CitKU0N1c3RvbVNldHRlckZ1bmN0aW9uOjpKU0N1c3RvbVNldHRlckZ1bmN0aW9uKFZNJiB2bSwg
TmF0aXZlRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IFByb3BlcnR5TmFtZSYgcHJvcGVydHlOYW1l
LCBQdXRWYWx1ZUZ1bmMgc2V0dGVyKQogICAgIDogQmFzZSh2bSwgZXhlY3V0YWJsZSwgZ2xvYmFs
T2JqZWN0LCBzdHJ1Y3R1cmUpCisgICAgLCBtX3Byb3BlcnR5TmFtZShwcm9wZXJ0eU5hbWUpCiAg
ICAgLCBtX3NldHRlcihzZXR0ZXIpCiB7CiB9CkBAIC01MSw3ICs1Myw3IEBAIEpTQ3VzdG9tU2V0
dGVyRnVuY3Rpb24qIEpTQ3VzdG9tU2V0dGVyRnUKICAgICBBU1NFUlQoc2V0dGVyKTsKICAgICBO
YXRpdmVFeGVjdXRhYmxlKiBleGVjdXRhYmxlID0gdm0uZ2V0SG9zdEZ1bmN0aW9uKGN1c3RvbVNl
dHRlckZ1bmN0aW9uQ2FsbCwgY2FsbEhvc3RGdW5jdGlvbkFzQ29uc3RydWN0b3IsIFN0cmluZyhw
cm9wZXJ0eU5hbWUucHVibGljTmFtZSgpKSk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBn
bG9iYWxPYmplY3QtPmN1c3RvbVNldHRlckZ1bmN0aW9uU3RydWN0dXJlKCk7Ci0gICAgSlNDdXN0
b21TZXR0ZXJGdW5jdGlvbiogZnVuY3Rpb24gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxK
U0N1c3RvbVNldHRlckZ1bmN0aW9uPih2bS5oZWFwKSkgSlNDdXN0b21TZXR0ZXJGdW5jdGlvbih2
bSwgZXhlY3V0YWJsZSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIHNldHRlcik7CisgICAgSlND
dXN0b21TZXR0ZXJGdW5jdGlvbiogZnVuY3Rpb24gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2Vs
bDxKU0N1c3RvbVNldHRlckZ1bmN0aW9uPih2bS5oZWFwKSkgSlNDdXN0b21TZXR0ZXJGdW5jdGlv
bih2bSwgZXhlY3V0YWJsZSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZSwg
c2V0dGVyKTsKIAogICAgIC8vIENhbid0IGRvIHRoaXMgZHVyaW5nIGluaXRpYWxpemF0aW9uIGJl
Y2F1c2UgZ2V0SG9zdEZ1bmN0aW9uIG1pZ2h0IGRvIGEgR0MgYWxsb2NhdGlvbi4KICAgICBTdHJp
bmcgbmFtZSA9IG1ha2VTdHJpbmcoInNldCAiLCBTdHJpbmcocHJvcGVydHlOYW1lLnB1YmxpY05h
bWUoKSkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDdXN0b21TZXR0
ZXJGdW5jdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQ3VzdG9tU2V0dGVyRnVuY3Rpb24uaAkocmV2aXNpb24gMjc0NzIxKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDdXN0b21TZXR0ZXJGdW5jdGlvbi5oCSh3b3JraW5nIGNv
cHkpCkBAIC01MCwxMSArNTAsMTMgQEAgcHVibGljOgogCiAgICAgREVDTEFSRV9FWFBPUlRfSU5G
TzsKIAorICAgIGNvbnN0IFByb3BlcnR5TmFtZSYgcHJvcGVydHlOYW1lKCkgY29uc3QgeyByZXR1
cm4gbV9wcm9wZXJ0eU5hbWU7IH0KICAgICBQdXRWYWx1ZUZ1bmMgc2V0dGVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9zZXR0ZXI7IH07CiAKIHByaXZhdGU6Ci0gICAgSlNDdXN0b21TZXR0ZXJGdW5jdGlv
bihWTSYsIE5hdGl2ZUV4ZWN1dGFibGUqLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIFB1
dFZhbHVlRnVuYyk7CisgICAgSlNDdXN0b21TZXR0ZXJGdW5jdGlvbihWTSYsIE5hdGl2ZUV4ZWN1
dGFibGUqLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIGNvbnN0IFByb3BlcnR5TmFtZSYs
IFB1dFZhbHVlRnVuYyk7CiAKKyAgICBQcm9wZXJ0eU5hbWUgbV9wcm9wZXJ0eU5hbWU7CiAgICAg
UHV0VmFsdWVGdW5jIG1fc2V0dGVyOwogfTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkocmV2aXNpb24gMjc0NzIxKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MzksNyAr
ODM5LDcgQEAgYm9vbCBKU09iamVjdDo6cHV0SW5saW5lU2xvdyhKU0dsb2JhbE9iagogICAgICAg
ICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgc2xvdC5zZXRDdXN0b21WYWx1ZShv
YmosIHNldHRlcik7CiAKLSAgICAgICAgICAgICAgICBhdXRvIHJlc3VsdCA9IGNhbGxDdXN0b21T
ZXR0ZXIoZ2xvYmFsT2JqZWN0LCBzZXR0ZXIsIGlzQWNjZXNzb3IsIG9iaiwgc2xvdC50aGlzVmFs
dWUoKSwgdmFsdWUpOworICAgICAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0gY2FsbEN1c3RvbVNl
dHRlcihnbG9iYWxPYmplY3QsIHNldHRlciwgaXNBY2Nlc3Nvciwgb2JqLCBzbG90LnRoaXNWYWx1
ZSgpLCB2YWx1ZSwgcHJvcGVydHlOYW1lKTsKICAgICAgICAgICAgICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCBmYWxzZSk7CiAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAhPSBUcmlT
dGF0ZTo6SW5kZXRlcm1pbmF0ZSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCA9
PSBUcmlTdGF0ZTo6VHJ1ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xv
b2t1cC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1
cC5oCShyZXZpc2lvbiAyNzQ3MjEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9M
b29rdXAuaAkod29ya2luZyBjb3B5KQpAQCAtNDMsOCArNDMsNiBAQCBzdHJ1Y3QgQ29tcGFjdEhh
c2hJbmRleCB7CiAgICAgY29uc3QgaW50MTZfdCBuZXh0OwogfTsKIAotLy8gRklYTUU6IFRoZXJl
IGlzIG5vIHJlYXNvbiB0aGlzIGdldCBmdW5jdGlvbiBjYW4ndCBiZSBzaW1wbGVyLgotLy8gaWUu
IHR5cGVkZWYgSlNWYWx1ZSAoKkdldEZ1bmN0aW9uKShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0
KiBiYXNlT2JqZWN0KQogdHlwZWRlZiBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBHZXRGdW5j
dGlvbjsKIHR5cGVkZWYgUHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMgUHV0RnVuY3Rpb247
CiB0eXBlZGVmIEZ1bmN0aW9uRXhlY3V0YWJsZSogKCpCdWlsdGluR2VuZXJhdG9yKShWTSYpOwpA
QCAtMjk4LDcgKzI5Niw3IEBAIGlubGluZSBib29sIHB1dEVudHJ5KEpTR2xvYmFsT2JqZWN0KiBn
bG8KICAgICAgICAgZWxzZQogICAgICAgICAgICAgc2xvdC5zZXRDdXN0b21WYWx1ZShiYXNlLCBl
bnRyeS0+cHJvcGVydHlQdXR0ZXIoKSk7CiAKLSAgICAgICAgYXV0byByZXN1bHQgPSBjYWxsQ3Vz
dG9tU2V0dGVyKGdsb2JhbE9iamVjdCwgZW50cnktPnByb3BlcnR5UHV0dGVyKCksIGlzQWNjZXNz
b3IsIGJhc2UsIHNsb3QudGhpc1ZhbHVlKCksIHZhbHVlKTsKKyAgICAgICAgYXV0byByZXN1bHQg
PSBjYWxsQ3VzdG9tU2V0dGVyKGdsb2JhbE9iamVjdCwgZW50cnktPnByb3BlcnR5UHV0dGVyKCks
IGlzQWNjZXNzb3IsIGJhc2UsIHNsb3QudGhpc1ZhbHVlKCksIHZhbHVlLCBwcm9wZXJ0eU5hbWUp
OwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CiAgICAgICAgIGlm
IChyZXN1bHQgIT0gVHJpU3RhdGU6OkluZGV0ZXJtaW5hdGUpCiAgICAgICAgICAgICByZXR1cm4g
cmVzdWx0ID09IFRyaVN0YXRlOjpUcnVlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUHJvcGVydHlTbG90LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUHJvcGVydHlTbG90LmgJKHJldmlzaW9uIDI3NDcyMSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5U2xvdC5oCSh3b3JraW5nIGNvcHkpCkBAIC04Nyw4
ICs4Nyw4IEBAIGlubGluZSB1bnNpZ25lZCBhdHRyaWJ1dGVzRm9yU3RydWN0dXJlKHUKIHVzaW5n
IEdldFZhbHVlRnVuYyA9IEVuY29kZWRKU1ZhbHVlKEpJVF9PUEVSQVRJT05fQVRUUklCVVRFUyop
KEpTR2xvYmFsT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUp
OwogdXNpbmcgR2V0VmFsdWVGdW5jV2l0aFB0ciA9IEVuY29kZWRKU1ZhbHVlKEpJVF9PUEVSQVRJ
T05fQVRUUklCVVRFUyopKEpTR2xvYmFsT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBQcm9wZXJ0eU5hbWUsIHZvaWQqKTsKIAotdXNpbmcgUHV0VmFsdWVGdW5jID0gYm9vbCAoKiko
SlNHbG9iYWxPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSBiYXNlT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB2YWx1ZSk7Ci11c2luZyBQdXRWYWx1ZUZ1bmNXaXRoUHRyID0gYm9vbCAoKikoSlNHbG9iYWxP
YmplY3QqLCBFbmNvZGVkSlNWYWx1ZSBiYXNlT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB2YWx1ZSwg
dm9pZCopOwordXNpbmcgUHV0VmFsdWVGdW5jID0gYm9vbCAoKikoSlNHbG9iYWxPYmplY3QqLCBF
bmNvZGVkSlNWYWx1ZSBiYXNlT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB2YWx1ZSwgUHJvcGVydHlO
YW1lKTsKK3VzaW5nIFB1dFZhbHVlRnVuY1dpdGhQdHIgPSBib29sICgqKShKU0dsb2JhbE9iamVj
dCosIEVuY29kZWRKU1ZhbHVlIGJhc2VPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHZhbHVlLCBQcm9w
ZXJ0eU5hbWUsIHZvaWQqKTsKIAogY2xhc3MgUHJvcGVydHlTbG90IHsKIApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcAko
cmV2aXNpb24gMjc0NzIxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
Q29uc3RydWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODAsNyArMTgwLDcgQEAgSlNDX0RF
RklORV9DVVNUT01fR0VUVEVSKHJlZ0V4cENvbnN0cnVjdAogICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoZ2xvYmFsT2JqZWN0LT5yZWdFeHBHbG9iYWxEYXRhKCkuZ2V0UmlnaHRDb250ZXh0KGds
b2JhbE9iamVjdCkpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0UmVnRXhwQ29u
c3RydWN0b3JJbnB1dCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgdmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldFJlZ0V4cENvbnN0cnVjdG9ySW5wdXQsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIHZhbHVlLCBQ
cm9wZXJ0eU5hbWUpKQogewogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBh
dXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CkBAIC0xOTUsNyArMTk1LDcgQEAg
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldFJlZ0V4cENvbnN0cgogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldFJlZ0V4cENvbnN0cnVjdG9yTXVs
dGlsaW5lLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSB2YWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0UmVnRXhwQ29uc3RydWN0b3JNdWx0aWxpbmUsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIHZhbHVlLCBQcm9w
ZXJ0eU5hbWUpKQogewogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRv
IHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5jcHAJKHJldmlzaW9uIDI3NDcyMSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEyMSwxMiArMTIxLDEyIEBAIGJvb2wgUmVnRXhwT2JqZWN0OjpkZWZpbmVPd25Q
cm9wZXJ0eShKU08KICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEJhc2U6OmRlZmluZU93
blByb3BlcnR5KG9iamVjdCwgZ2xvYmFsT2JqZWN0LCBwcm9wZXJ0eU5hbWUsIGRlc2NyaXB0b3Is
IHNob3VsZFRocm93KSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihyZWdFeHBPYmpl
Y3RTZXRMYXN0SW5kZXhTdHJpY3QsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIHZhbHVlKSkKK0pTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihyZWdFeHBPYmplY3RTZXRMYXN0SW5kZXhTdHJpY3QsIChKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIHZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBqc0Nhc3Q8UmVnRXhwT2Jq
ZWN0Kj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpLT5zZXRMYXN0SW5kZXgoZ2xvYmFsT2Jq
ZWN0LCBKU1ZhbHVlOjpkZWNvZGUodmFsdWUpLCB0cnVlKTsKIH0KIAotSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHJlZ0V4cE9iamVjdFNldExhc3RJbmRleE5vblN0cmljdCwgKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgdmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHJlZ0V4cE9iamVjdFNldExhc3RJ
bmRleE5vblN0cmljdCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgdmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAg
ICAgcmV0dXJuIGpzQ2FzdDxSZWdFeHBPYmplY3QqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVl
KSktPnNldExhc3RJbmRleChnbG9iYWxPYmplY3QsIEpTVmFsdWU6OmRlY29kZSh2YWx1ZSksIGZh
bHNlKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KU0RvbGxhclZNLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSlNEb2xsYXJWTS5j
cHAJKHJldmlzaW9uIDI3NDcyMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KU0Rv
bGxhclZNLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzA4LDcgKzcwOCw3IEBAIEpTQ19ERUZJTkVf
Q1VTVE9NX0dFVFRFUih0ZXN0U3RhdGljQWNjZXMKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIodGVzdFN0YXRp
Y0FjY2Vzc29yUHV0dGVyLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSB2YWx1ZSkpCitKU0NfREVGSU5FX0NVU1RP
TV9TRVRURVIodGVzdFN0YXRpY0FjY2Vzc29yUHV0dGVyLCAoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSB2YWx1ZSwg
UHJvcGVydHlOYW1lKSkKIHsKICAgICBEb2xsYXJWTUFzc2VydFNjb3BlIGFzc2VydFNjb3BlOwog
ICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTc3OCw3ICs3NzgsNyBAQCBKU0Nf
REVGSU5FX0NVU1RPTV9HRVRURVIodGVzdFN0YXRpY1ZhbHVlCiAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHRl
c3RTdGF0aWNWYWx1ZVB1dHRlciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgdmFsdWUpKQorSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHRlc3RTdGF0aWNWYWx1ZVB1dHRlciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgdmFsdWUs
IFByb3BlcnR5TmFtZSkpCiB7CiAgICAgRG9sbGFyVk1Bc3NlcnRTY29wZSBhc3NlcnRTY29wZTsK
ICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkBAIC0xNTgyLDcgKzE1ODIsNyBAQCBK
U0NfREVGSU5FX0NVU1RPTV9HRVRURVIoY3VzdG9tR2V0VmFsdWVHCiAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShnbG9iYWxPYmplY3QpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
Y3VzdG9tU2V0QWNjZXNzb3IsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB0aGlzT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKGN1c3RvbVNldEFjY2Vzc29yLCAoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc09iamVjdCwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIERvbGxhclZNQXNzZXJ0U2NvcGUgYXNz
ZXJ0U2NvcGU7CiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpAQCAtMTU5OCw3ICsx
NTk4LDcgQEAgSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKGN1c3RvbVNldEFjY2VzcwogICAgIHJl
dHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoY3VzdG9tU2V0VmFsdWUs
IChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSBzbG90VmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
Y3VzdG9tU2V0VmFsdWUsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSBzbG90VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1l
KSkKIHsKICAgICBEb2xsYXJWTUFzc2VydFNjb3BlIGFzc2VydFNjb3BlOwogICAgIFZNJiB2bSA9
IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTE2MTYsNyArMTYxNiw3IEBAIEpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihjdXN0b21TZXRWYWx1ZSwKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKGN1c3RvbUZ1bmN0aW9uU2V0dGVyLCAoSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoY3VzdG9tRnVuY3Rpb25TZXR0ZXIsIChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIERvbGxhclZNQXNzZXJ0U2NvcGUg
YXNzZXJ0U2NvcGU7CiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpJbmRleDogU291
cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NDcyMSkKKysrIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xICsxLDExIEBACisyMDIxLTAzLTE3ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4K
KworICAgICAgICBBZGQgUHJvcGVydHlOYW1lIHBhcmFtZXRlciB0byBjdXN0b20gc2V0dGVycyB0
byBhbGxvdyBzaGFyZWQgaW1wbGVtZW50YXRpb25zIHRvIGRvIGxhdGUgbmFtZSBsb29rdXAKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzQxMworCisg
ICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBTaHZheWthLgorCisgICAgICAgICogd3RmL1BsYXRm
b3JtQ2FsbGluZ0NvbnZlbnRpb25zLmg6CisgICAgICAgIFVwZGF0ZSBKU0NfREVDTEFSRV9DVVNU
T01fU0VUVEVSIHRvIGFjY291bnQgZm9yIHRoZSBuZXcgUHJvcGVydHlOYW1lIHBhcmFtZXRlci4K
KwogPT0gUm9sbGVkIG92ZXIgdG8gQ2hhbmdlTG9nLTIwMjEtMDMtMTggPT0KSW5kZXg6IFNvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtQ2FsbGluZ0NvbnZlbnRpb25zLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dURi93dGYvUGxhdGZvcm1DYWxsaW5nQ29udmVudGlvbnMuaAkocmV2aXNpb24gMjc0NzIx
KQorKysgU291cmNlL1dURi93dGYvUGxhdGZvcm1DYWxsaW5nQ29udmVudGlvbnMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTA1LDYgKzEwNSw2IEBACiAgICAgcmV0dXJuVHlwZSBKSVRfT1BFUkFUSU9O
X0FUVFJJQlVURVMgZnVuY3Rpb25OYW1lIHBhcmFtZXRlcnMgUkVGRVJFTkNFRF9GUk9NX0FTTQog
CiAjZGVmaW5lIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoZnVuY3Rpb25OYW1lKSBKU0NfREVD
TEFSRV9KSVRfT1BFUkFUSU9OX1dJVEhPVVRfV1RGX0lOVEVSTkFMKGZ1bmN0aW9uTmFtZSwgSlND
OjpFbmNvZGVkSlNWYWx1ZSwgKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1Zh
bHVlLCBKU0M6OlByb3BlcnR5TmFtZSkpCi0jZGVmaW5lIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRU
RVIoZnVuY3Rpb25OYW1lKSBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OX1dJVEhPVVRfV1RGX0lO
VEVSTkFMKGZ1bmN0aW9uTmFtZSwgYm9vbCwgKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVu
Y29kZWRKU1ZhbHVlLCBKU0M6OkVuY29kZWRKU1ZhbHVlKSkKKyNkZWZpbmUgSlNDX0RFQ0xBUkVf
Q1VTVE9NX1NFVFRFUihmdW5jdGlvbk5hbWUpIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lU
SE9VVF9XVEZfSU5URVJOQUwoZnVuY3Rpb25OYW1lLCBib29sLCAoSlNDOjpKU0dsb2JhbE9iamVj
dCosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJvcGVy
dHlOYW1lKSkKICNkZWZpbmUgSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGZ1bmN0aW9uTmFtZSwg
cGFyYW1ldGVycykgSlNDX0RFRklORV9KSVRfT1BFUkFUSU9OX1dJVEhPVVRfVkFSSUFCTEUoZnVu
Y3Rpb25OYW1lLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBwYXJhbWV0ZXJzKQogI2RlZmluZSBKU0Nf
REVGSU5FX0NVU1RPTV9TRVRURVIoZnVuY3Rpb25OYW1lLCBwYXJhbWV0ZXJzKSBKU0NfREVGSU5F
X0pJVF9PUEVSQVRJT05fV0lUSE9VVF9WQVJJQUJMRShmdW5jdGlvbk5hbWUsIGJvb2wsIHBhcmFt
ZXRlcnMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzQ3MjEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw3MSBAQAorMjAyMS0wMy0xNyAg
U2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIFByb3BlcnR5TmFt
ZSBwYXJhbWV0ZXIgdG8gY3VzdG9tIHNldHRlcnMgdG8gYWxsb3cgc2hhcmVkIGltcGxlbWVudGF0
aW9ucyB0byBkbyBsYXRlIG5hbWUgbG9va3VwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM0MTMKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkg
U2h2YXlrYS4KKworICAgICAgICBVcGRhdGUgYmluZGluZ3MgdG8gYWNjb3VudCBmb3IgbmV3IFBy
b3BlcnR5TmFtZSBwYXJhbWV0ZXIgYmVpbmcgcGFzc2VkIHRvIGN1c3RvbSBzZXR0ZXJzLgorCisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChH
ZW5lcmF0ZUF0dHJpYnV0ZVNldHRlclRyYW1wb2xpbmVEZWZpbml0aW9uKToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ19E
RUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlND
X0RFRklORV9DVVNUT01fU0VUVEVSKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Q1NTUHJvcGVydHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
Q2FsbFRyYWNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDb25kaXRpb25h
bEluY2x1ZGVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
Uik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFs
bHlSZWFkV3JpdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRv
SlNPTi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OSW5o
ZXJpdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OSW5o
ZXJpdEZpbmFsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
Uik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRCeVNl
dHRpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEZvckNvbnRl
eHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpK
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNXb3JrbGV0R2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKToKKwogMjAyMS0wMy0xOSAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2
YXIgIDxjYWx2YXJpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdW0VNRV0gUmVt
b3ZlIERSTSByZXNvdXJjZXMgcmVsZWFzZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHJldmlzaW9uIDI3NDcyMSkKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCSh3b3Jr
aW5nIGNvcHkpCkBAIC01NTQwLDcgKzU1NDAsNyBAQCBzdWIgR2VuZXJhdGVBdHRyaWJ1dGVTZXR0
ZXJUcmFtcG9saW5lRGVmCiAgICAgcHVzaChAdGVtcGxhdGVQYXJhbWV0ZXJzLCAkYXR0cmlidXRl
U2V0dGVyQm9keU5hbWUpOwogICAgIHB1c2goQHRlbXBsYXRlUGFyYW1ldGVycywgIkNhc3RlZFRo
aXNFcnJvckJlaGF2aW9yOjpSZXR1cm5FYXJseSIpIGlmICRhdHRyaWJ1dGUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+e0xlZ2FjeUxlbmllbnRUaGlzfTsKICAgICAKLSAgICBwdXNoKEAkb3V0cHV0QXJy
YXksICJKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoJHthdHRyaWJ1dGVTZXR0ZXJOYW1lfSwgKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpXG4iKTsKKyAgICBwdXNoKEAkb3V0cHV0
QXJyYXksICJKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoJHthdHRyaWJ1dGVTZXR0ZXJOYW1lfSwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSlcbiIpOwog
ICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIntcbiIpOwogICAgIHB1c2goQCRvdXRwdXRBcnJheSwg
IiAgICByZXR1cm4gSURMQXR0cmlidXRlPCR7Y2xhc3NOYW1lfT46OiR7Y2FsbEF0dHJpYnV0ZVNl
dHRlck5hbWV9PCIgLiBqb2luKCIsICIsIEB0ZW1wbGF0ZVBhcmFtZXRlcnMpIC4gIj4oKmxleGlj
YWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCBcIiIgLiAkYXR0cmlidXRl
LT5uYW1lIC4gIlwiKTtcbiIpOwogICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIn1cblxuIik7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFj
dGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHAJKHJldmlzaW9uIDI3NDcyMSkKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTIyOSw3ICsyMjksNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0
SlNUZXN0Q0VSZWFjdGlvbnNfCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RDRVJlYWN0aW9uc19hdHRyaWJ1dGVXaXRoQ0VSZWFjdGlvbnMs
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdENFUmVhY3Rpb25zX2F0dHJpYnV0ZVdpdGhDRVJlYWN0aW9ucywgKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICBy
ZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdENFUmVhY3Rpb25zPjo6c2V0PHNldEpTVGVzdENFUmVh
Y3Rpb25zX2F0dHJpYnV0ZVdpdGhDRVJlYWN0aW9uc1NldHRlcj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiYXR0cmlidXRlV2l0aENFUmVhY3Rpb25zIik7
CiB9CkBAIC0yNjEsNyArMjYxLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdENFUmVh
Y3Rpb25zXwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0Q0VSZWFjdGlvbnNfcmVmbGVjdEF0dHJpYnV0ZVdpdGhDRVJlYWN0aW9ucywgKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0Q0VSZWFjdGlvbnNfcmVmbGVjdEF0dHJpYnV0ZVdpdGhDRVJlYWN0aW9ucywg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAg
ICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdENFUmVhY3Rpb25zPjo6c2V0PHNldEpTVGVzdENF
UmVhY3Rpb25zX3JlZmxlY3RBdHRyaWJ1dGVXaXRoQ0VSZWFjdGlvbnNTZXR0ZXI+KCpsZXhpY2Fs
R2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInJlZmxlY3RBdHRyaWJ1dGVX
aXRoQ0VSZWFjdGlvbnMiKTsKIH0KQEAgLTI5Nyw3ICsyOTcsNyBAQCBzdGF0aWMgaW5saW5lIGJv
b2wgc2V0SlNUZXN0Q0VSZWFjdGlvbnNfCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJ
TkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RDRVJlYWN0aW9uc19zdHJpbmdpZmllckF0dHJpYnV0
ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RP
TV9TRVRURVIoc2V0SlNUZXN0Q0VSZWFjdGlvbnNfc3RyaW5naWZpZXJBdHRyaWJ1dGUsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0
dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RDRVJlYWN0aW9ucz46OnNldDxzZXRKU1Rlc3RDRVJlYWN0
aW9uc19zdHJpbmdpZmllckF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRo
aXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAic3RyaW5naWZpZXJBdHRyaWJ1dGUiKTsKIH0KQEAgLTMy
OSw3ICszMjksNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0Q0VSZWFjdGlvbnNfCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RD
RVJlYWN0aW9uc19hdHRyaWJ1dGVXaXRoQ0VSZWFjdGlvbnNOb3ROZWVkZWQsIChKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpT
VGVzdENFUmVhY3Rpb25zX2F0dHJpYnV0ZVdpdGhDRVJlYWN0aW9uc05vdE5lZWRlZCwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1
cm4gSURMQXR0cmlidXRlPEpTVGVzdENFUmVhY3Rpb25zPjo6c2V0PHNldEpTVGVzdENFUmVhY3Rp
b25zX2F0dHJpYnV0ZVdpdGhDRVJlYWN0aW9uc05vdE5lZWRlZFNldHRlcj4oKmxleGljYWxHbG9i
YWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiYXR0cmlidXRlV2l0aENFUmVhY3Rp
b25zTm90TmVlZGVkIik7CiB9CkBAIC0zNjEsNyArMzYxLDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdENFUmVhY3Rpb25zXwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q0VSZWFjdGlvbnNfcmVmbGVjdEF0dHJpYnV0ZVdpdGhD
RVJlYWN0aW9uc05vdE5lZWRlZCwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkp
CitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q0VSZWFjdGlvbnNfcmVmbGVjdEF0
dHJpYnV0ZVdpdGhDRVJlYWN0aW9uc05vdE5lZWRlZCwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpT
VGVzdENFUmVhY3Rpb25zPjo6c2V0PHNldEpTVGVzdENFUmVhY3Rpb25zX3JlZmxlY3RBdHRyaWJ1
dGVXaXRoQ0VSZWFjdGlvbnNOb3ROZWVkZWRTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0
aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInJlZmxlY3RBdHRyaWJ1dGVXaXRoQ0VSZWFjdGlvbnNO
b3ROZWVkZWQiKTsKIH0KQEAgLTM5Nyw3ICszOTcsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0
SlNUZXN0Q0VSZWFjdGlvbnNfCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RDRVJlYWN0aW9uc19zdHJpbmdpZmllckF0dHJpYnV0ZU5vdE5l
ZWRlZCwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NV
U1RPTV9TRVRURVIoc2V0SlNUZXN0Q0VSZWFjdGlvbnNfc3RyaW5naWZpZXJBdHRyaWJ1dGVOb3RO
ZWVkZWQsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFs
dWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkp
CiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RDRVJlYWN0aW9ucz46OnNldDxzZXRK
U1Rlc3RDRVJlYWN0aW9uc19zdHJpbmdpZmllckF0dHJpYnV0ZU5vdE5lZWRlZFNldHRlcj4oKmxl
eGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAic3RyaW5naWZpZXJB
dHRyaWJ1dGVOb3ROZWVkZWQiKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFj
dGlvbnNTdHJpbmdpZmllci5jcHAJKHJldmlzaW9uIDI3NDcyMSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjExLDcgKzIxMSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBz
ZXRKU1Rlc3RDRVJlYWN0aW9uc1MKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJfdmFsdWUsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJfdmFsdWUsIChKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJp
YnV0ZTxKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyPjo6c2V0PHNldEpTVGVzdENFUmVhY3Rp
b25zU3RyaW5naWZpZXJfdmFsdWVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFs
dWUsIGVuY29kZWRWYWx1ZSwgInZhbHVlIik7CiB9CkBAIC0yNDMsNyArMjQzLDcgQEAgc3RhdGlj
IGlubGluZSBib29sIHNldEpTVGVzdENFUmVhY3Rpb25zUwogICAgIHJldHVybiB0cnVlOwogfQog
Ci1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmll
cl92YWx1ZVdpdGhvdXRSZWFjdGlvbnMsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENFUmVhY3Rpb25zU3RyaW5n
aWZpZXJfdmFsdWVXaXRob3V0UmVhY3Rpb25zLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0
Q0VSZWFjdGlvbnNTdHJpbmdpZmllcj46OnNldDxzZXRKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lm
aWVyX3ZhbHVlV2l0aG91dFJlYWN0aW9uc1NldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRo
aXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAidmFsdWVXaXRob3V0UmVhY3Rpb25zIik7CiB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q1NTUHJvcGVy
dHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RDU1NQcm9wZXJ0eS5jcHAJKHJldmlzaW9uIDI3NDcyMSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDU1NQcm9wZXJ0eS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE5OCw3ICsxOTgsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNU
ZXN0Q1NTUHJvcGVydHlfCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RDU1NQcm9wZXJ0eV9wcm9wZXJ0eSwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q1NT
UHJvcGVydHlfcHJvcGVydHksIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFBy
b3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RDU1NQcm9wZXJ0
eT46OnNldDxzZXRKU1Rlc3RDU1NQcm9wZXJ0eV9wcm9wZXJ0eVNldHRlcj4oKmxleGljYWxHbG9i
YWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAicHJvcGVydHkiKTsKIH0KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsVHJhY2Vy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Q2FsbFRyYWNlci5jcHAJKHJldmlzaW9uIDI3NDcyMSkKKysrIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsVHJhY2VyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjU0LDcgKzI1NCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RD
YWxsVHJhY2VyX3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKHNldEpTVGVzdENhbGxUcmFjZXJfdGVzdEF0dHJpYnV0ZUludGVyZmFjZSwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0Q2FsbFRyYWNlcl90ZXN0QXR0cmlidXRlSW50ZXJmYWNlLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRy
aWJ1dGU8SlNUZXN0Q2FsbFRyYWNlcj46OnNldDxzZXRKU1Rlc3RDYWxsVHJhY2VyX3Rlc3RBdHRy
aWJ1dGVJbnRlcmZhY2VTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVu
Y29kZWRWYWx1ZSwgInRlc3RBdHRyaWJ1dGVJbnRlcmZhY2UiKTsKIH0KQEAgLTI4OSw3ICsyODks
NyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0Q2FsbFRyYWNlcl90CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RDYWxsVHJhY2Vy
X3Rlc3RBdHRyaWJ1dGVTcGVjaWZpZWQsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENhbGxUcmFjZXJfdGVzdEF0
dHJpYnV0ZVNwZWNpZmllZCwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJv
cGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdENhbGxUcmFjZXI+
OjpzZXQ8c2V0SlNUZXN0Q2FsbFRyYWNlcl90ZXN0QXR0cmlidXRlU3BlY2lmaWVkU2V0dGVyPigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJ0ZXN0QXR0cmli
dXRlU3BlY2lmaWVkIik7CiB9CkBAIC0zMjQsNyArMzI0LDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdENhbGxUcmFjZXJfdAogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q2FsbFRyYWNlcl90ZXN0QXR0cmlidXRlV2l0aFZhcmlh
bnQsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdENhbGxUcmFjZXJfdGVzdEF0dHJpYnV0ZVdpdGhWYXJpYW50LCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAg
IHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0Q2FsbFRyYWNlcj46OnNldDxzZXRKU1Rlc3RDYWxs
VHJhY2VyX3Rlc3RBdHRyaWJ1dGVXaXRoVmFyaWFudFNldHRlcj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAidGVzdEF0dHJpYnV0ZVdpdGhWYXJpYW50Iik7
CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
Q29uZGl0aW9uYWxJbmNsdWRlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXMuY3BwCShyZXZp
c2lvbiAyNzQ3MjEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Q29uZGl0aW9uYWxJbmNsdWRlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1Nyw3ICs1
NTcsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0Q29uZGl0aW9uYWxJCiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RDb25kaXRp
b25hbEluY2x1ZGVzX21peGluQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RDb25kaXRpb25hbElu
Y2x1ZGVzX21peGluQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
LCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0Q29uZGl0
aW9uYWxJbmNsdWRlcz46OnNldDxzZXRKU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzX21peGluQXR0
cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFs
dWUsICJtaXhpbkF0dHJpYnV0ZSIpOwogfQpAQCAtNTg2LDcgKzU4Niw3IEBAIHN0YXRpYyBpbmxp
bmUgYm9vbCBzZXRKU1Rlc3RDb25kaXRpb25hbEkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXNfbWl4aW5D
dXN0b21BdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXNfbWl4aW5D
dXN0b21BdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3Bl
cnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RDb25kaXRpb25hbElu
Y2x1ZGVzPjo6c2V0PHNldEpTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXNfbWl4aW5DdXN0b21BdHRy
aWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1
ZSwgIm1peGluQ3VzdG9tQXR0cmlidXRlIik7CiB9CkBAIC02MjMsNyArNjIzLDcgQEAgc3RhdGlj
IGlubGluZSBib29sIHNldEpTVGVzdENvbmRpdGlvbmFsSQogICAgIHJldHVybiB0cnVlOwogfQog
Ci1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q29uZGl0aW9uYWxJbmNsdWRlc19t
aXhpbk5vZGVBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQor
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXNfbWl4
aW5Ob2RlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9w
ZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0Q29uZGl0aW9uYWxJ
bmNsdWRlcz46OnNldDxzZXRKU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzX21peGluTm9kZUF0dHJp
YnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVl
LCAibWl4aW5Ob2RlQXR0cmlidXRlIik7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENv
bmRpdGlvbmFsbHlSZWFkV3JpdGUuY3BwCShyZXZpc2lvbiAyNzQ3MjEpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxMCw3ICszMTAsNyBAQCBzdGF0aWMgaW5saW5lIGJv
b2wgc2V0SlNUZXN0Q29uZGl0aW9uYWxsCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJ
TkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX2NvbmRpdGlv
bmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENvbmRpdGlvbmFsbHlSZWFk
V3JpdGVfY29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmli
dXRlPEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGU+OjpzZXQ8c2V0SlNUZXN0Q29uZGl0aW9u
YWxseVJlYWRXcml0ZV9jb25kaXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRlU2V0dGVyPigqbGV4
aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJjb25kaXRpb25hbGx5
UmVhZFdyaXRlQXR0cmlidXRlIik7CiB9CkBAIC0zNDgsNyArMzQ4LDcgQEAgc3RhdGljIGlubGlu
ZSBib29sIHNldEpTVGVzdENvbmRpdGlvbmFsbAogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0Nf
REVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZV9jb25k
aXRpb25hbEFuZENvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVz
dENvbmRpdGlvbmFsbHlSZWFkV3JpdGVfY29uZGl0aW9uYWxBbmRDb25kaXRpb25hbGx5UmVhZFdy
aXRlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0
eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0Q29uZGl0aW9uYWxseVJl
YWRXcml0ZT46OnNldDxzZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX2NvbmRpdGlvbmFs
QW5kQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxP
YmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiY29uZGl0aW9uYWxBbmRDb25kaXRpb25h
bGx5UmVhZFdyaXRlQXR0cmlidXRlIik7CiB9CkBAIC0zODMsNyArMzgzLDcgQEAgc3RhdGljIGlu
bGluZSBib29sIHNldEpTVGVzdENvbmRpdGlvbmFsbAogICAgIHJldHVybiB0cnVlOwogfQogCi1K
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZV9y
dW50aW1lQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q29u
ZGl0aW9uYWxseVJlYWRXcml0ZV9ydW50aW1lQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0
ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsK
ICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGU+Ojpz
ZXQ8c2V0SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZV9ydW50aW1lQ29uZGl0aW9uYWxseVJl
YWRXcml0ZUF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwg
ZW5jb2RlZFZhbHVlLCAicnVudGltZUNvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGUiKTsK
IH0KQEAgLTQxNCw3ICs0MTQsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0Q29uZGl0
aW9uYWxsCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX3J1bnRpbWVDb25kaXRpb25hbGx5UmVhZFdy
aXRlQXR0cmlidXRlVW5mb3JnZWFibGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENvbmRpdGlvbmFsbHlSZWFk
V3JpdGVfcnVudGltZUNvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVVbmZvcmdlYWJsZSwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAg
ICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGU+OjpzZXQ8
c2V0SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZV9ydW50aW1lQ29uZGl0aW9uYWxseVJlYWRX
cml0ZUF0dHJpYnV0ZVVuZm9yZ2VhYmxlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhp
c1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJydW50aW1lQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJp
YnV0ZVVuZm9yZ2VhYmxlIik7CiB9CkBAIC00NDUsNyArNDQ1LDcgQEAgc3RhdGljIGlubGluZSBi
b29sIHNldEpTVGVzdENvbmRpdGlvbmFsbAogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVG
SU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZV9ydW50aW1l
Q29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZVVuZm9yZ2VhYmxlUHJpdmF0ZSwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZV9ydW50aW1lQ29uZGl0aW9uYWxseVJlYWRX
cml0ZUF0dHJpYnV0ZVVuZm9yZ2VhYmxlUHJpdmF0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpT
VGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGU+OjpzZXQ8c2V0SlNUZXN0Q29uZGl0aW9uYWxseVJl
YWRXcml0ZV9ydW50aW1lQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZVVuZm9yZ2VhYmxl
UHJpdmF0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCAicnVudGltZUNvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVVbmZvcmdlYWJsZVBy
aXZhdGUiKTsKIH0KQEAgLTQ3Niw3ICs0NzYsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNU
ZXN0Q29uZGl0aW9uYWxsCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX3J1bnRpbWVDb25kaXRpb25h
bGx5UmVhZFdyaXRlQXR0cmlidXRlUHJvbWlzZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q29uZGl0aW9uYWxs
eVJlYWRXcml0ZV9ydW50aW1lQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZVByb21pc2Us
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAg
ICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlPjo6c2V0
PHNldEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGVfcnVudGltZUNvbmRpdGlvbmFsbHlSZWFk
V3JpdGVBdHRyaWJ1dGVQcm9taXNlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1Zh
bHVlLCBlbmNvZGVkVmFsdWUsICJydW50aW1lQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0
ZVByb21pc2UiKTsKIH0KQEAgLTUwNyw3ICs1MDcsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0
SlNUZXN0Q29uZGl0aW9uYWxsCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX3NldHRpbmdzQ29uZGl0
aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q29uZGl0aW9uYWxseVJl
YWRXcml0ZV9zZXR0aW5nc0NvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGUsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJu
IElETEF0dHJpYnV0ZTxKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlPjo6c2V0PHNldEpTVGVz
dENvbmRpdGlvbmFsbHlSZWFkV3JpdGVfc2V0dGluZ3NDb25kaXRpb25hbGx5UmVhZFdyaXRlQXR0
cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFs
dWUsICJzZXR0aW5nc0NvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGUiKTsKIH0KQEAgLTUz
OCw3ICs1MzgsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0Q29uZGl0aW9uYWxsCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RD
b25kaXRpb25hbGx5UmVhZFdyaXRlX3NldHRpbmdzQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJp
YnV0ZVVuZm9yZ2VhYmxlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX3Nl
dHRpbmdzQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZVVuZm9yZ2VhYmxlLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVy
biBJRExBdHRyaWJ1dGU8SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZT46OnNldDxzZXRKU1Rl
c3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX3NldHRpbmdzQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0
dHJpYnV0ZVVuZm9yZ2VhYmxlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVl
LCBlbmNvZGVkVmFsdWUsICJzZXR0aW5nc0NvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVV
bmZvcmdlYWJsZSIpOwogfQpAQCAtNTY5LDcgKzU2OSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBz
ZXRKU1Rlc3RDb25kaXRpb25hbGwKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGVfc2V0dGluZ3NDb25k
aXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRlVW5mb3JnZWFibGVQcml2YXRlLCAoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRK
U1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX3NldHRpbmdzQ29uZGl0aW9uYWxseVJlYWRXcml0
ZUF0dHJpYnV0ZVVuZm9yZ2VhYmxlUHJpdmF0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVz
dENvbmRpdGlvbmFsbHlSZWFkV3JpdGU+OjpzZXQ8c2V0SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRX
cml0ZV9zZXR0aW5nc0NvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVVbmZvcmdlYWJsZVBy
aXZhdGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1
ZSwgInNldHRpbmdzQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZVVuZm9yZ2VhYmxlUHJp
dmF0ZSIpOwogfQpAQCAtNjAwLDcgKzYwMCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rl
c3RDb25kaXRpb25hbGwKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGVfc2V0dGluZ3NDb25kaXRpb25h
bGx5UmVhZFdyaXRlQXR0cmlidXRlUHJvbWlzZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q29uZGl0aW9uYWxs
eVJlYWRXcml0ZV9zZXR0aW5nc0NvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVQcm9taXNl
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewog
ICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZT46OnNl
dDxzZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX3NldHRpbmdzQ29uZGl0aW9uYWxseVJl
YWRXcml0ZUF0dHJpYnV0ZVByb21pc2VTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlz
VmFsdWUsIGVuY29kZWRWYWx1ZSwgInNldHRpbmdzQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJp
YnV0ZVByb21pc2UiKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTi5jcHAJKHJl
dmlzaW9uIDI3NDcyMSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3REZWZhdWx0VG9KU09OLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMyLDcgKzMzMiw3
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3REZWZhdWx0VG9KU08KICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pT
T05fZXZlbnRIYW5kbGVyQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3REZWZhdWx0VG9KU09OX2V2
ZW50SGFuZGxlckF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwg
UHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdERlZmF1bHRU
b0pTT04+OjpzZXQ8c2V0SlNUZXN0RGVmYXVsdFRvSlNPTl9ldmVudEhhbmRsZXJBdHRyaWJ1dGVT
ZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImV2
ZW50SGFuZGxlckF0dHJpYnV0ZSIpOwogfQpAQCAtMzYzLDcgKzM2Myw3IEBAIHN0YXRpYyBpbmxp
bmUgYm9vbCBzZXRKU1Rlc3REZWZhdWx0VG9KU08KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05fZmlyc3RTdHJpbmdB
dHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05fZmlyc3RTdHJpbmdBdHRyaWJ1
dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7
CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3REZWZhdWx0VG9KU09OPjo6c2V0PHNldEpT
VGVzdERlZmF1bHRUb0pTT05fZmlyc3RTdHJpbmdBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImZpcnN0U3RyaW5nQXR0cmlidXRl
Iik7CiB9CkBAIC0zOTQsNyArMzk0LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdERl
ZmF1bHRUb0pTTwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0RGVmYXVsdFRvSlNPTl9zZWNvbmRMb25nQXR0cmlidXRlLCAoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRK
U1Rlc3REZWZhdWx0VG9KU09OX3NlY29uZExvbmdBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJp
YnV0ZTxKU1Rlc3REZWZhdWx0VG9KU09OPjo6c2V0PHNldEpTVGVzdERlZmF1bHRUb0pTT05fc2Vj
b25kTG9uZ0F0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwg
ZW5jb2RlZFZhbHVlLCAic2Vjb25kTG9uZ0F0dHJpYnV0ZSIpOwogfQpAQCAtNDI1LDcgKzQyNSw3
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3REZWZhdWx0VG9KU08KICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pT
T05fdGhpcmRVbkpTT05hYmxlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3REZWZhdWx0VG9KU09O
X3RoaXJkVW5KU09OYWJsZUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdERl
ZmF1bHRUb0pTT04+OjpzZXQ8c2V0SlNUZXN0RGVmYXVsdFRvSlNPTl90aGlyZFVuSlNPTmFibGVB
dHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRW
YWx1ZSwgInRoaXJkVW5KU09OYWJsZUF0dHJpYnV0ZSIpOwogfQpAQCAtNDU2LDcgKzQ1Niw3IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3REZWZhdWx0VG9KU08KICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05f
Zm91cnRoVW5yZXN0cmljdGVkRG91YmxlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3REZWZhdWx0
VG9KU09OX2ZvdXJ0aFVucmVzdHJpY3RlZERvdWJsZUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0
cmlidXRlPEpTVGVzdERlZmF1bHRUb0pTT04+OjpzZXQ8c2V0SlNUZXN0RGVmYXVsdFRvSlNPTl9m
b3VydGhVbnJlc3RyaWN0ZWREb3VibGVBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImZvdXJ0aFVucmVzdHJpY3RlZERvdWJsZUF0
dHJpYnV0ZSIpOwogfQpAQCAtNDg3LDcgKzQ4Nyw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRK
U1Rlc3REZWZhdWx0VG9KU08KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05fZmlmdGhMb25nQ2xhbXBlZEF0dHJpYnV0
ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RP
TV9TRVRURVIoc2V0SlNUZXN0RGVmYXVsdFRvSlNPTl9maWZ0aExvbmdDbGFtcGVkQXR0cmlidXRl
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewog
ICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0RGVmYXVsdFRvSlNPTj46OnNldDxzZXRKU1Rl
c3REZWZhdWx0VG9KU09OX2ZpZnRoTG9uZ0NsYW1wZWRBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2Fs
R2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImZpZnRoTG9uZ0NsYW1wZWRB
dHRyaWJ1dGUiKTsKIH0KQEAgLTUxOCw3ICs1MTgsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0
SlNUZXN0RGVmYXVsdFRvSlNPCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3REZWZhdWx0VG9KU09OX3NpeHRoVHlwZWRlZkF0dHJpYnV0ZSwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0RGVmYXVsdFRvSlNPTl9zaXh0aFR5cGVkZWZBdHRyaWJ1dGUsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0
dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3REZWZhdWx0VG9KU09OPjo6c2V0PHNldEpTVGVzdERlZmF1
bHRUb0pTT05fc2l4dGhUeXBlZGVmQXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzaXh0aFR5cGVkZWZBdHRyaWJ1dGUiKTsKIH0K
QEAgLTU0OSw3ICs1NDksNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0RGVmYXVsdFRv
SlNPCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRK
U1Rlc3REZWZhdWx0VG9KU09OX3NldmVudGhEaXJlY3RseVRvSlNPTmFibGVBdHRyaWJ1dGUsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05fc2V2ZW50aERpcmVjdGx5VG9KU09OYWJsZUF0dHJp
YnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkK
IHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdERlZmF1bHRUb0pTT04+OjpzZXQ8c2V0
SlNUZXN0RGVmYXVsdFRvSlNPTl9zZXZlbnRoRGlyZWN0bHlUb0pTT05hYmxlQXR0cmlidXRlU2V0
dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzZXZl
bnRoRGlyZWN0bHlUb0pTT05hYmxlQXR0cmlidXRlIik7CiB9CkBAIC01ODAsNyArNTgwLDcgQEAg
c3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdERlZmF1bHRUb0pTTwogICAgIHJldHVybiB0cnVl
OwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RGVmYXVsdFRvSlNPTl9l
aWdodGhJbmRpcmVjdGx5QXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3REZWZhdWx0VG9KU09OX2Vp
Z2h0aEluZGlyZWN0bHlBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3REZWZh
dWx0VG9KU09OPjo6c2V0PHNldEpTVGVzdERlZmF1bHRUb0pTT05fZWlnaHRoSW5kaXJlY3RseUF0
dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCAiZWlnaHRoSW5kaXJlY3RseUF0dHJpYnV0ZSIpOwogfQpAQCAtNjExLDcgKzYxMSw3IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3REZWZhdWx0VG9KU08KICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05f
bmludGhPcHRpb25hbERpcmVjdGx5VG9KU09OYWJsZUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
RGVmYXVsdFRvSlNPTl9uaW50aE9wdGlvbmFsRGlyZWN0bHlUb0pTT05hYmxlQXR0cmlidXRlLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAg
IHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0RGVmYXVsdFRvSlNPTj46OnNldDxzZXRKU1Rlc3RE
ZWZhdWx0VG9KU09OX25pbnRoT3B0aW9uYWxEaXJlY3RseVRvSlNPTmFibGVBdHRyaWJ1dGVTZXR0
ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIm5pbnRo
T3B0aW9uYWxEaXJlY3RseVRvSlNPTmFibGVBdHRyaWJ1dGUiKTsKIH0KQEAgLTY0Miw3ICs2NDIs
NyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0RGVmYXVsdFRvSlNPCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3REZWZhdWx0VG9K
U09OX3RlbnRoRnJvemVuQXJyYXlBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pT
T05fdGVudGhGcm96ZW5BcnJheUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVz
dERlZmF1bHRUb0pTT04+OjpzZXQ8c2V0SlNUZXN0RGVmYXVsdFRvSlNPTl90ZW50aEZyb3plbkFy
cmF5QXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNv
ZGVkVmFsdWUsICJ0ZW50aEZyb3plbkFycmF5QXR0cmlidXRlIik7CiB9CkBAIC02NzMsNyArNjcz
LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdERlZmF1bHRUb0pTTwogICAgIHJldHVy
biB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RGVmYXVsdFRv
SlNPTl9lbGV2ZW50aFNlcXVlbmNlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3REZWZhdWx0VG9K
U09OX2VsZXZlbnRoU2VxdWVuY2VBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rl
c3REZWZhdWx0VG9KU09OPjo6c2V0PHNldEpTVGVzdERlZmF1bHRUb0pTT05fZWxldmVudGhTZXF1
ZW5jZUF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5j
b2RlZFZhbHVlLCAiZWxldmVudGhTZXF1ZW5jZUF0dHJpYnV0ZSIpOwogfQpAQCAtNzA0LDcgKzcw
NCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3REZWZhdWx0VG9KU08KICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRU
b0pTT05fdHdlbGZ0aEludGVyZmFjZVNlcXVlbmNlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RE
ZWZhdWx0VG9KU09OX3R3ZWxmdGhJbnRlcmZhY2VTZXF1ZW5jZUF0dHJpYnV0ZSwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4g
SURMQXR0cmlidXRlPEpTVGVzdERlZmF1bHRUb0pTT04+OjpzZXQ8c2V0SlNUZXN0RGVmYXVsdFRv
SlNPTl90d2VsZnRoSW50ZXJmYWNlU2VxdWVuY2VBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInR3ZWxmdGhJbnRlcmZhY2VTZXF1
ZW5jZUF0dHJpYnV0ZSIpOwogfQpAQCAtNzM1LDcgKzczNSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBzZXRKU1Rlc3REZWZhdWx0VG9KU08KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05fdGhpcnRlZW50aFJlY29yZEF0
dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RGVmYXVsdFRvSlNPTl90aGlydGVlbnRoUmVjb3JkQXR0
cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUp
KQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0RGVmYXVsdFRvSlNPTj46OnNldDxz
ZXRKU1Rlc3REZWZhdWx0VG9KU09OX3RoaXJ0ZWVudGhSZWNvcmRBdHRyaWJ1dGVTZXR0ZXI+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInRoaXJ0ZWVudGhS
ZWNvcmRBdHRyaWJ1dGUiKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pT
T05Jbmhlcml0LmNwcAkocmV2aXNpb24gMjc0NzIxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjE2LDcgKzIxNiw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RE
ZWZhdWx0VG9KU08KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0X2luaGVyaXRMb25nQXR0cmlidXRlLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NF
VFRFUihzZXRKU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdF9pbmhlcml0TG9uZ0F0dHJpYnV0ZSwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAg
ICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0Pjo6c2V0PHNl
dEpTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0X2luaGVyaXRMb25nQXR0cmlidXRlU2V0dGVyPigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJpbmhlcml0TG9u
Z0F0dHJpYnV0ZSIpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWwuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9K
U09OSW5oZXJpdEZpbmFsLmNwcAkocmV2aXNpb24gMjc0NzIxKQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWwu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTksNyArMjE5LDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdERlZmF1bHRUb0pTTwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbF9maW5hbExv
bmdBdHRyaWJ1dGVGb28sIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWxf
ZmluYWxMb25nQXR0cmlidXRlRm9vLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
LCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0RGVmYXVs
dFRvSlNPTkluaGVyaXRGaW5hbD46OnNldDxzZXRKU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZp
bmFsX2ZpbmFsTG9uZ0F0dHJpYnV0ZUZvb1NldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRo
aXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiZmluYWxMb25nQXR0cmlidXRlRm9vIik7CiB9CkBAIC0y
NTAsNyArMjUwLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdERlZmF1bHRUb0pTTwog
ICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbF9maW5hbExvbmdBdHRyaWJ1dGVCYXIsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWxfZmluYWxMb25nQXR0cmlidXRlQmFyLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAg
IHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbD46OnNl
dDxzZXRKU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZpbmFsX2ZpbmFsTG9uZ0F0dHJpYnV0ZUJh
clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAi
ZmluYWxMb25nQXR0cmlidXRlQmFyIik7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGluZy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRC
eVNldHRpbmcuY3BwCShyZXZpc2lvbiAyNzQ3MjEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGluZy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM1NSw3ICszNTUsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0RW5hYmxl
ZEJ5U2V0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RFbmFibGVkQnlTZXR0aW5nX2VuYWJsZWRCeVNldHRpbmdBdHRyaWJ1dGUsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfZW5hYmxlZEJ5U2V0dGluZ0F0dHJpYnV0ZSwgKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICBy
ZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEVuYWJsZWRCeVNldHRpbmc+OjpzZXQ8c2V0SlNUZXN0
RW5hYmxlZEJ5U2V0dGluZ19lbmFibGVkQnlTZXR0aW5nQXR0cmlidXRlU2V0dGVyPigqbGV4aWNh
bEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJlbmFibGVkQnlTZXR0aW5n
QXR0cmlidXRlIik7CiB9CkBAIC0zOTIsNyArMzkyLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNl
dEpTVGVzdEVuYWJsZWRCeVNldAogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NV
U1RPTV9TRVRURVIoc2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ19lbmFibGVkQnlUd29TZXR0aW5n
c0F0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVG
SU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ19lbmFibGVkQnlUd29T
ZXR0aW5nc0F0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJv
cGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEVuYWJsZWRCeVNl
dHRpbmc+OjpzZXQ8c2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ19lbmFibGVkQnlUd29TZXR0aW5n
c0F0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2Rl
ZFZhbHVlLCAiZW5hYmxlZEJ5VHdvU2V0dGluZ3NBdHRyaWJ1dGUiKTsKIH0KQEAgLTQyNSw3ICs0
MjUsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0RW5hYmxlZEJ5U2V0CiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RFbmFibGVk
QnlTZXR0aW5nX3N1cHBsZW1lbnRhbEF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RW5hYmxlZEJ5
U2V0dGluZ19zdXBwbGVtZW50YWxBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rl
c3RFbmFibGVkQnlTZXR0aW5nPjo6c2V0PHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfc3VwcGxl
bWVudGFsQXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBl
bmNvZGVkVmFsdWUsICJzdXBwbGVtZW50YWxBdHRyaWJ1dGUiKTsKIH0KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RHbG9iYWxPYmplY3QuY3BwCShyZXZpc2lvbiAyNzQ3MjEpCisrKyBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNzUyLDcgKzc1Miw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9i
YWxPYmplY3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdEdsb2JhbE9iamVjdF9yZWd1bGFyQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RH
bG9iYWxPYmplY3RfcmVndWxhckF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVz
dEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfcmVndWxhckF0dHJpYnV0
ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAi
cmVndWxhckF0dHJpYnV0ZSIpOwogfQpAQCAtNzgzLDcgKzc4Myw3IEBAIHN0YXRpYyBpbmxpbmUg
Ym9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9wdWJsaWNBbmRQcml2YXRl
QXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJ
TkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfcHVibGljQW5kUHJpdmF0ZUF0
dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1l
KSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxz
ZXRKU1Rlc3RHbG9iYWxPYmplY3RfcHVibGljQW5kUHJpdmF0ZUF0dHJpYnV0ZVNldHRlcj4oKmxl
eGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAicHVibGljQW5kUHJp
dmF0ZUF0dHJpYnV0ZSIpOwogfQpAQCAtODE4LDcgKzgxOCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBzZXRKU1Rlc3RHbG9iYWxPYmplY3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9wdWJsaWNBbmRQcml2YXRlQ29u
ZGl0aW9uYWxBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQor
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9wdWJsaWNBbmRQ
cml2YXRlQ29uZGl0aW9uYWxBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
VmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RH
bG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X3B1YmxpY0FuZFByaXZhdGVD
b25kaXRpb25hbEF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1
ZSwgZW5jb2RlZFZhbHVlLCAicHVibGljQW5kUHJpdmF0ZUNvbmRpdGlvbmFsQXR0cmlidXRlIik7
CiB9CkBAIC04NTUsNyArODU1LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2Jh
bE9iamVjdAogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0R2xvYmFsT2JqZWN0X2VuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGUsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdEdsb2JhbE9iamVjdF9lbmFibGVkQXRSdW50aW1lQXR0cmlidXRlLCAoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJ
RExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVj
dF9lbmFibGVkQXRSdW50aW1lQXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
dGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJlbmFibGVkQXRSdW50aW1lQXR0cmlidXRlIik7CiB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50
ZXJmYWNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAkocmV2aXNpb24gMjc0NzIxKQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTU3MCw3ICs1NzAsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNU
ZXN0SW50ZXJmYWNlX21pCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RJbnRlcmZhY2VfbWl4aW5BdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVz
dEludGVyZmFjZV9taXhpbkF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdElu
dGVyZmFjZT46OnNldDxzZXRKU1Rlc3RJbnRlcmZhY2VfbWl4aW5BdHRyaWJ1dGVTZXR0ZXI+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIm1peGluQXR0cmli
dXRlIik7CiB9CkBAIC01OTksNyArNTk5LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVz
dEludGVyZmFjZV9taQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0SW50ZXJmYWNlX21peGluQ3VzdG9tQXR0cmlidXRlLCAoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRK
U1Rlc3RJbnRlcmZhY2VfbWl4aW5DdXN0b21BdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0
ZTxKU1Rlc3RJbnRlcmZhY2U+OjpzZXQ8c2V0SlNUZXN0SW50ZXJmYWNlX21peGluQ3VzdG9tQXR0
cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFs
dWUsICJtaXhpbkN1c3RvbUF0dHJpYnV0ZSIpOwogfQpAQCAtNjM2LDcgKzYzNiw3IEBAIHN0YXRp
YyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RJbnRlcmZhY2VfbWkKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEludGVyZmFjZV9taXhpbk5vZGVB
dHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEludGVyZmFjZV9taXhpbk5vZGVBdHRyaWJ1dGUsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAg
cmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RJbnRlcmZhY2U+OjpzZXQ8c2V0SlNUZXN0SW50ZXJm
YWNlX21peGluTm9kZUF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNW
YWx1ZSwgZW5jb2RlZFZhbHVlLCAibWl4aW5Ob2RlQXR0cmlidXRlIik7CiB9CkBAIC03MDIsNyAr
NzAyLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEludGVyZmFjZUNvbgogICAgIHJl
dHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0SW50ZXJm
YWNlQ29uc3RydWN0b3Jfc3VwcGxlbWVudGFsU3RhdGljQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0SW50
ZXJmYWNlQ29uc3RydWN0b3Jfc3VwcGxlbWVudGFsU3RhdGljQXR0ciwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0
cmlidXRlPEpTVGVzdEludGVyZmFjZT46OnNldFN0YXRpYzxzZXRKU1Rlc3RJbnRlcmZhY2VDb25z
dHJ1Y3Rvcl9zdXBwbGVtZW50YWxTdGF0aWNBdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzdXBwbGVtZW50YWxTdGF0aWNBdHRyIik7CiB9
CkBAIC03NTUsNyArNzU1LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEludGVyZmFj
ZV9zdQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0SW50ZXJmYWNlX3N1cHBsZW1lbnRhbFN0cjIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEludGVyZmFj
ZV9zdXBwbGVtZW50YWxTdHIyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQ
cm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0SW50ZXJmYWNl
Pjo6c2V0PHNldEpTVGVzdEludGVyZmFjZV9zdXBwbGVtZW50YWxTdHIyU2V0dGVyPigqbGV4aWNh
bEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzdXBwbGVtZW50YWxTdHIy
Iik7CiB9CkBAIC03ODQsNyArNzg0LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdElu
dGVyZmFjZV9zdQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0SW50ZXJmYWNlX3N1cHBsZW1lbnRhbFN0cjMsIChKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdElu
dGVyZmFjZV9zdXBwbGVtZW50YWxTdHIzLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0SW50
ZXJmYWNlPjo6c2V0PHNldEpTVGVzdEludGVyZmFjZV9zdXBwbGVtZW50YWxTdHIzU2V0dGVyPigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzdXBwbGVtZW50
YWxTdHIzIik7CiB9CkBAIC04MjEsNyArODIxLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpT
VGVzdEludGVyZmFjZV9zdQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RP
TV9TRVRURVIoc2V0SlNUZXN0SW50ZXJmYWNlX3N1cHBsZW1lbnRhbE5vZGUsIChKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpT
VGVzdEludGVyZmFjZV9zdXBwbGVtZW50YWxOb2RlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNU
ZXN0SW50ZXJmYWNlPjo6c2V0PHNldEpTVGVzdEludGVyZmFjZV9zdXBwbGVtZW50YWxOb2RlU2V0
dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzdXBw
bGVtZW50YWxOb2RlIik7CiB9CkBAIC04NTgsNyArODU4LDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdEludGVyZmFjZV9yZQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0SW50ZXJmYWNlX3JlZmxlY3RBdHRyaWJ1dGUsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdEludGVyZmFjZV9yZWZsZWN0QXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1
dGU8SlNUZXN0SW50ZXJmYWNlPjo6c2V0PHNldEpTVGVzdEludGVyZmFjZV9yZWZsZWN0QXR0cmli
dXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUs
ICJyZWZsZWN0QXR0cmlidXRlIik7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0SlNCdWlsdGluQ29uc3RydWN0b3IuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RKU0J1aWx0
aW5Db25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9uIDI3NDcyMSkKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rvci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTIxMCw3ICsyMTAsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNU
ZXN0SlNCdWlsdGluQ29uCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rvcl90ZXN0QXR0cmlidXRlUldDdXN0
b20sIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yX3Rlc3RBdHRyaWJ1dGVSV0N1
c3RvbSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkK
IHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yPjo6
c2V0PHNldEpTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yX3Rlc3RBdHRyaWJ1dGVSV0N1c3RvbVNl
dHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAidGVz
dEF0dHJpYnV0ZVJXQ3VzdG9tIik7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdh
Y3lOb0ludGVyZmFjZU9iamVjdC5jcHAJKHJldmlzaW9uIDI3NDcyMSkKKysrIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVj
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNyw3ICsyMDcsNyBAQCBzdGF0aWMgaW5saW5lIGJv
b2wgc2V0SlNUZXN0TGVnYWN5Tm9JbnRlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJ
TkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdF9yZWFkV3Jp
dGVTdHJpbmdBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQor
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0
X3JlYWRXcml0ZVN0cmluZ0F0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdExl
Z2FjeU5vSW50ZXJmYWNlT2JqZWN0Pjo6c2V0PHNldEpTVGVzdExlZ2FjeU5vSW50ZXJmYWNlT2Jq
ZWN0X3JlYWRXcml0ZVN0cmluZ0F0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
IHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAicmVhZFdyaXRlU3RyaW5nQXR0cmlidXRlIik7CiB9
CkBAIC0yMzAsNyArMjMwLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdExlZ2FjeU5v
SW50ZQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3RfY3VzdG9tR2V0dGVyU2V0dGVyU3RyaW5nQXR0
cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdF9jdXN0b21HZXR0
ZXJTZXR0ZXJTdHJpbmdBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RMZWdh
Y3lOb0ludGVyZmFjZU9iamVjdD46OnNldDxzZXRKU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVj
dF9jdXN0b21HZXR0ZXJTZXR0ZXJTdHJpbmdBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFs
T2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImN1c3RvbUdldHRlclNldHRlclN0cmlu
Z0F0dHJpYnV0ZSIpOwogfQpAQCAtMjYxLDcgKzI2MSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBz
ZXRKU1Rlc3RMZWdhY3lOb0ludGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0X25vZGVBdHRyaWJ1
dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0X25vZGVBdHRyaWJ1dGUs
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAg
ICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdD46OnNl
dDxzZXRKU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdF9ub2RlQXR0cmlidXRlU2V0dGVyPigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJub2RlQXR0cmli
dXRlIik7CiB9CkBAIC0yOTAsNyArMjkwLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVz
dExlZ2FjeU5vSW50ZQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3RDb25zdHJ1Y3Rvcl9zdGF0aWNT
dHJpbmdBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0Q29u
c3RydWN0b3Jfc3RhdGljU3RyaW5nQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNU
ZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3Q+OjpzZXRTdGF0aWM8c2V0SlNUZXN0TGVnYWN5Tm9J
bnRlcmZhY2VPYmplY3RDb25zdHJ1Y3Rvcl9zdGF0aWNTdHJpbmdBdHRyaWJ1dGVTZXR0ZXI+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInN0YXRpY1N0cmlu
Z0F0dHJpYnV0ZSIpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBM
aWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcAkocmV2aXNpb24gMjc0NzIxKQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1hcExpa2VXaXRoT3Zl
cnJpZGRlbk9wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjcsNyArMjI3LDcgQEAg
c3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE1hcExpa2VXaXRoTwogICAgIHJldHVybiB0cnVl
OwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0TWFwTGlrZVdpdGhPdmVy
cmlkZGVuT3BlcmF0aW9uc19zZXQsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUp
KQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRl
bk9wZXJhdGlvbnNfc2V0LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9w
ZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0TWFwTGlrZVdpdGhP
dmVycmlkZGVuT3BlcmF0aW9ucz46OnNldDxzZXRKU1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5P
cGVyYXRpb25zX3NldFNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5j
b2RlZFZhbHVlLCAic2V0Iik7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCShyZXZpc2lvbiAyNzQ3MjEp
CisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMwMCw3ICszMDAsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wg
c2V0SlNUZXN0Tm9kZV9uYW1lU2V0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3ROb2RlX25hbWUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE5vZGVfbmFt
ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsK
ICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE5vZGU+OjpzZXQ8c2V0SlNUZXN0Tm9kZV9u
YW1lU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUs
ICJuYW1lIik7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0T2JqLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAkocmV2aXNpb24gMjc0NzIxKQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI2MzEsNyArMjYzMSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RP
YmpDb25zdHJ1Y3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKHNldEpTVGVzdE9iakNvbnN0cnVjdG9yX3N0YXRpY1N0cmluZ0F0dHIsIChKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpT
VGVzdE9iakNvbnN0cnVjdG9yX3N0YXRpY1N0cmluZ0F0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0
ZTxKU1Rlc3RPYmo+OjpzZXRTdGF0aWM8c2V0SlNUZXN0T2JqQ29uc3RydWN0b3Jfc3RhdGljU3Ry
aW5nQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCAic3RhdGljU3RyaW5nQXR0ciIpOwogfQpAQCAtMjY5Myw3ICsyNjkzLDcgQEAgc3RhdGlj
IGlubGluZSBib29sIHNldEpTVGVzdE9ial9lbnVtQXR0cgogICAgIHJldHVybiB0cnVlOwogfQog
Ci1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2VudW1BdHRyLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RPYmpfZW51bUF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUs
IFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+Ojpz
ZXQ8c2V0SlNUZXN0T2JqX2VudW1BdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhp
c1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJlbnVtQXR0ciIpOwogfQpAQCAtMjcyNCw3ICsyNzI0LDcg
QEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9ieXRlQXR0cgogICAgIHJldHVybiB0
cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2J5dGVBdHRy
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RPYmpfYnl0ZUF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rl
c3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX2J5dGVBdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9i
amVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJieXRlQXR0ciIpOwogfQpAQCAtMjc1NSw3
ICsyNzU1LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9vY3RldEF0dAogICAg
IHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2Jq
X29jdGV0QXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVG
SU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX29jdGV0QXR0ciwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0
cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfb2N0ZXRBdHRyU2V0dGVyPigqbGV4
aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJvY3RldEF0dHIiKTsK
IH0KQEAgLTI3ODYsNyArMjc4Niw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpf
c2hvcnRBdHQKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdE9ial9zaG9ydEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9zaG9ydEF0dHIsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAg
cmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3Nob3J0QXR0
clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAi
c2hvcnRBdHRyIik7CiB9CkBAIC0yODE3LDcgKzI4MTcsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wg
c2V0SlNUZXN0T2JqX2NsYW1wZWRTCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfY2xhbXBlZFNob3J0QXR0ciwgKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNU
ZXN0T2JqX2NsYW1wZWRTaG9ydEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+
OjpzZXQ8c2V0SlNUZXN0T2JqX2NsYW1wZWRTaG9ydEF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFs
T2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImNsYW1wZWRTaG9ydEF0dHIiKTsKIH0K
QEAgLTI4NDgsNyArMjg0OCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfZW5m
b3JjZVIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdE9ial9lbmZvcmNlUmFuZ2VTaG9ydEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9lbmZv
cmNlUmFuZ2VTaG9ydEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFBy
b3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8
c2V0SlNUZXN0T2JqX2VuZm9yY2VSYW5nZVNob3J0QXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxP
YmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiZW5mb3JjZVJhbmdlU2hvcnRBdHRyIik7
CiB9CkBAIC0yODc5LDcgKzI4NzksNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2Jq
X3Vuc2lnbmVkCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
UihzZXRKU1Rlc3RPYmpfdW5zaWduZWRTaG9ydEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial91bnNp
Z25lZFNob3J0QXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVy
dHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRK
U1Rlc3RPYmpfdW5zaWduZWRTaG9ydEF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0
aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInVuc2lnbmVkU2hvcnRBdHRyIik7CiB9CkBAIC0yOTEw
LDcgKzI5MTAsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX2xvbmdBdHRyCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RP
YmpfbG9uZ0F0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9sb25nQXR0ciwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0
cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfbG9uZ0F0dHJTZXR0ZXI+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImxvbmdBdHRyIik7CiB9
CkBAIC0yOTQxLDcgKzI5NDEsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX2xv
bmdMb25nCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RPYmpfbG9uZ0xvbmdBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfbG9uZ0xvbmdBdHRy
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewog
ICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9sb25n
TG9uZ0F0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRW
YWx1ZSwgImxvbmdMb25nQXR0ciIpOwogfQpAQCAtMjk3Miw3ICsyOTcyLDcgQEAgc3RhdGljIGlu
bGluZSBib29sIHNldEpTVGVzdE9ial91bnNpZ25lZAogICAgIHJldHVybiB0cnVlOwogfQogCi1K
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3Vuc2lnbmVkTG9uZ0xvbmdBdHRy
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RPYmpfdW5zaWduZWRMb25nTG9uZ0F0dHIsIChKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0
dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3Vuc2lnbmVkTG9uZ0xvbmdBdHRy
U2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJ1
bnNpZ25lZExvbmdMb25nQXR0ciIpOwogfQpAQCAtMzAwMyw3ICszMDAzLDcgQEAgc3RhdGljIGlu
bGluZSBib29sIHNldEpTVGVzdE9ial9zdHJpbmdBdAogICAgIHJldHVybiB0cnVlOwogfQogCi1K
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3N0cmluZ0F0dHIsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdE9ial9zdHJpbmdBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
LCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6
c2V0PHNldEpTVGVzdE9ial9zdHJpbmdBdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
dGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzdHJpbmdBdHRyIik7CiB9CkBAIC0zMDM0LDcgKzMw
MzQsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3VzdnN0cmluCiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfdXN2
c3RyaW5nQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVG
SU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3VzdnN0cmluZ0F0dHIsIChKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElE
TEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3VzdnN0cmluZ0F0dHJTZXR0
ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInVzdnN0
cmluZ0F0dHIiKTsKIH0KQEAgLTMwNjUsNyArMzA2NSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBz
ZXRKU1Rlc3RPYmpfdGVzdE9iakEKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial90ZXN0T2JqQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2Jq
X3Rlc3RPYmpBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0
eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpT
VGVzdE9ial90ZXN0T2JqQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1
ZSwgZW5jb2RlZFZhbHVlLCAidGVzdE9iakF0dHIiKTsKIH0KQEAgLTMwOTYsNyArMzA5Niw3IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfdGVzdE51bGwKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial90ZXN0TnVsbGFi
bGVPYmpBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJ
TkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfdGVzdE51bGxhYmxlT2JqQXR0ciwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1
cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfdGVzdE51bGxhYmxl
T2JqQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCAidGVzdE51bGxhYmxlT2JqQXR0ciIpOwogfQpAQCAtMzEyNyw3ICszMTI3LDcgQEAgc3Rh
dGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9sZW5pZW50VAogICAgIHJldHVybiB0cnVlOwog
fQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2xlbmllbnRUZXN0T2Jq
QXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NV
U1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2xlbmllbnRUZXN0T2JqQXR0ciwgKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURM
QXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfbGVuaWVudFRlc3RPYmpBdHRy
U2V0dGVyLCBDYXN0ZWRUaGlzRXJyb3JCZWhhdmlvcjo6UmV0dXJuRWFybHk+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImxlbmllbnRUZXN0T2JqQXR0ciIp
OwogfQpAQCAtMzE3MSw3ICszMTcxLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9i
al9zdHJpbmdBdAogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0T2JqX3N0cmluZ0F0dHJUcmVhdGluZ051bGxBc0VtcHR5U3RyaW5nLCAoSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
UihzZXRKU1Rlc3RPYmpfc3RyaW5nQXR0clRyZWF0aW5nTnVsbEFzRW1wdHlTdHJpbmcsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0
dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3N0cmluZ0F0dHJU
cmVhdGluZ051bGxBc0VtcHR5U3RyaW5nU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhp
c1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzdHJpbmdBdHRyVHJlYXRpbmdOdWxsQXNFbXB0eVN0cmlu
ZyIpOwogfQpAQCAtMzIwMiw3ICszMjAyLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVz
dE9ial91c3ZzdHJpbgogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0T2JqX3VzdnN0cmluZ0F0dHJUcmVhdGluZ051bGxBc0VtcHR5U3RyaW5n
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RPYmpfdXN2c3RyaW5nQXR0clRyZWF0aW5nTnVsbEFzRW1wdHlTdHJp
bmcsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7
CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3Vz
dnN0cmluZ0F0dHJUcmVhdGluZ051bGxBc0VtcHR5U3RyaW5nU2V0dGVyPigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJ1c3ZzdHJpbmdBdHRyVHJlYXRpbmdO
dWxsQXNFbXB0eVN0cmluZyIpOwogfQpAQCAtMzIzMyw3ICszMjMzLDcgQEAgc3RhdGljIGlubGlu
ZSBib29sIHNldEpTVGVzdE9ial9ieXRlU3RyaQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0Nf
REVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2J5dGVTdHJpbmdBdHRyVHJlYXRpbmdO
dWxsQXNFbXB0eVN0cmluZywgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitK
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2J5dGVTdHJpbmdBdHRyVHJlYXRp
bmdOdWxsQXNFbXB0eVN0cmluZywgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwg
UHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNl
dDxzZXRKU1Rlc3RPYmpfYnl0ZVN0cmluZ0F0dHJUcmVhdGluZ051bGxBc0VtcHR5U3RyaW5nU2V0
dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJieXRl
U3RyaW5nQXR0clRyZWF0aW5nTnVsbEFzRW1wdHlTdHJpbmciKTsKIH0KQEAgLTMyNjQsNyArMzI2
NCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfc3RyaW5nTG8KICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9zdHJp
bmdMb25nUmVjb3JkQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitK
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3N0cmluZ0xvbmdSZWNvcmRBdHRy
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewog
ICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9zdHJp
bmdMb25nUmVjb3JkQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwg
ZW5jb2RlZFZhbHVlLCAic3RyaW5nTG9uZ1JlY29yZEF0dHIiKTsKIH0KQEAgLTMyOTUsNyArMzI5
NSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfdXN2c3RyaW4KICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial91c3Zz
dHJpbmdMb25nUmVjb3JkQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkp
CitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3VzdnN0cmluZ0xvbmdSZWNv
cmRBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUp
KQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9i
al91c3ZzdHJpbmdMb25nUmVjb3JkQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRo
aXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAidXN2c3RyaW5nTG9uZ1JlY29yZEF0dHIiKTsKIH0KQEAg
LTMzMjYsNyArMzMyNiw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfdXN2c3Ry
aW4KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpT
VGVzdE9ial91c3ZzdHJpbmdMb25nUmVjb3JkQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3VzdnN0
cmluZ0xvbmdSZWNvcmRBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQ
cm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0
PHNldEpTVGVzdE9ial91c3ZzdHJpbmdMb25nUmVjb3JkQXR0clNldHRlcj4oKmxleGljYWxHbG9i
YWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAidXN2c3RyaW5nTG9uZ1JlY29yZEF0
dHIiKTsKIH0KQEAgLTMzNTcsNyArMzM1Nyw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rl
c3RPYmpfc3RyaW5nT2IKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdE9ial9zdHJpbmdPYmpSZWNvcmRBdHRyLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RP
Ympfc3RyaW5nT2JqUmVjb3JkQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46
OnNldDxzZXRKU1Rlc3RPYmpfc3RyaW5nT2JqUmVjb3JkQXR0clNldHRlcj4oKmxleGljYWxHbG9i
YWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAic3RyaW5nT2JqUmVjb3JkQXR0ciIp
OwogfQpAQCAtMzM4OCw3ICszMzg4LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9i
al9zdHJpbmdOdQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0T2JqX3N0cmluZ051bGxhYmxlT2JqUmVjb3JkQXR0ciwgKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNU
ZXN0T2JqX3N0cmluZ051bGxhYmxlT2JqUmVjb3JkQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRl
PEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfc3RyaW5nTnVsbGFibGVPYmpSZWNvcmRBdHRy
U2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJz
dHJpbmdOdWxsYWJsZU9ialJlY29yZEF0dHIiKTsKIH0KQEAgLTM0MTksNyArMzQxOSw3IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfc3RyaW5nVm8KICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9zdHJpbmdWb2lkQ2Fs
bGJhY2tSZWNvcmRBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfc3RyaW5nVm9pZENhbGxiYWNrUmVj
b3JkQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1l
KSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RP
Ympfc3RyaW5nVm9pZENhbGxiYWNrUmVjb3JkQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAic3RyaW5nVm9pZENhbGxiYWNrUmVjb3JkQXR0
ciIpOwogfQpAQCAtMzQ1MCw3ICszNDUwLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVz
dE9ial9kaWN0aW9uYQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0T2JqX2RpY3Rpb25hcnlBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfZGlj
dGlvbmFyeUF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5
TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNU
ZXN0T2JqX2RpY3Rpb25hcnlBdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1Zh
bHVlLCBlbmNvZGVkVmFsdWUsICJkaWN0aW9uYXJ5QXR0ciIpOwogfQpAQCAtMzQ4MSw3ICszNDgx
LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9udWxsYWJsZQogICAgIHJldHVy
biB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX251bGxh
YmxlRGljdGlvbmFyeUF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQor
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9udWxsYWJsZURpY3Rpb25hcnlB
dHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQog
ewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9u
dWxsYWJsZURpY3Rpb25hcnlBdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1Zh
bHVlLCBlbmNvZGVkVmFsdWUsICJudWxsYWJsZURpY3Rpb25hcnlBdHRyIik7CiB9CkBAIC0zNTEy
LDcgKzM1MTIsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX2Fubm90YXRlCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RP
YmpfYW5ub3RhdGVkVHlwZUluVW5pb25BdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfYW5ub3RhdGVk
VHlwZUluVW5pb25BdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9w
ZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNl
dEpTVGVzdE9ial9hbm5vdGF0ZWRUeXBlSW5VbmlvbkF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFs
T2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImFubm90YXRlZFR5cGVJblVuaW9uQXR0
ciIpOwogfQpAQCAtMzU0Myw3ICszNTQzLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVz
dE9ial9hbm5vdGF0ZQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0T2JqX2Fubm90YXRlZFR5cGVJblNlcXVlbmNlQXR0ciwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0T2JqX2Fubm90YXRlZFR5cGVJblNlcXVlbmNlQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmli
dXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfYW5ub3RhdGVkVHlwZUluU2VxdWVuY2VB
dHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUs
ICJhbm5vdGF0ZWRUeXBlSW5TZXF1ZW5jZUF0dHIiKTsKIH0KQEAgLTM1NzcsNyArMzU3Nyw3IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfaW1wbGVtZW4KICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9pbXBsZW1lbnRh
dGlvbkVudW1BdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19E
RUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfaW1wbGVtZW50YXRpb25FbnVtQXR0ciwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAg
ICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfaW1wbGVt
ZW50YXRpb25FbnVtQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwg
ZW5jb2RlZFZhbHVlLCAiaW1wbGVtZW50YXRpb25FbnVtQXR0ciIpOwogfQpAQCAtMzYyMSw3ICsz
NjIxLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9YTUxPYmpBdAogICAgIHJl
dHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX1hN
TE9iakF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9YTUxPYmpBdHRyLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRy
aWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9YTUxPYmpBdHRyU2V0dGVyPigqbGV4
aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJYTUxPYmpBdHRyIik7
CiB9CkBAIC0zNjUyLDcgKzM2NTIsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2Jq
X2NyZWF0ZVNlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
UihzZXRKU1Rlc3RPYmpfY3JlYXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
KSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfY3JlYXRlLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVy
biBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9jcmVhdGVTZXR0ZXI+
KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImNyZWF0ZSIp
OwogfQpAQCAtMzY4Myw3ICszNjgzLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9i
al9yZWZsZWN0ZQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZFN0cmluZ0F0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9y
ZWZsZWN0ZWRTdHJpbmdBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQ
cm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0
PHNldEpTVGVzdE9ial9yZWZsZWN0ZWRTdHJpbmdBdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9i
amVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJyZWZsZWN0ZWRTdHJpbmdBdHRyIik7CiB9
CkBAIC0zNzE0LDcgKzM3MTQsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3Jl
ZmxlY3RlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVVNWU3RyaW5nQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3Jl
ZmxlY3RlZFVTVlN0cmluZ0F0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUs
IFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+Ojpz
ZXQ8c2V0SlNUZXN0T2JqX3JlZmxlY3RlZFVTVlN0cmluZ0F0dHJTZXR0ZXI+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInJlZmxlY3RlZFVTVlN0cmluZ0F0
dHIiKTsKIH0KQEAgLTM3NDUsNyArMzc0NSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rl
c3RPYmpfcmVmbGVjdGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRJbnRlZ3JhbEF0dHIsIChKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVz
dE9ial9yZWZsZWN0ZWRJbnRlZ3JhbEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
VmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RP
Ymo+OjpzZXQ8c2V0SlNUZXN0T2JqX3JlZmxlY3RlZEludGVncmFsQXR0clNldHRlcj4oKmxleGlj
YWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAicmVmbGVjdGVkSW50ZWdy
YWxBdHRyIik7CiB9CkBAIC0zNzc2LDcgKzM3NzYsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0
SlNUZXN0T2JqX3JlZmxlY3RlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVW5zaWduZWRJbnRlZ3JhbEF0dHIsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0ciwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4g
SURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVW5zaWdu
ZWRJbnRlZ3JhbEF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVu
Y29kZWRWYWx1ZSwgInJlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyIik7CiB9CkBAIC0zODA3
LDcgKzM4MDcsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3JlZmxlY3RlCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RP
YmpfcmVmbGVjdGVkQm9vbGVhbkF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRCb29s
ZWFuQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1l
KSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RP
YmpfcmVmbGVjdGVkQm9vbGVhbkF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlz
VmFsdWUsIGVuY29kZWRWYWx1ZSwgInJlZmxlY3RlZEJvb2xlYW5BdHRyIik7CiB9CkBAIC0zODM4
LDcgKzM4MzgsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3JlZmxlY3RlCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RP
YmpfcmVmbGVjdGVkVVJMQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkp
CitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZFVSTEF0dHIs
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAg
ICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3JlZmxl
Y3RlZFVSTEF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29k
ZWRWYWx1ZSwgInJlZmxlY3RlZFVSTEF0dHIiKTsKIH0KQEAgLTM4NjksNyArMzg2OSw3IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfcmVmbGVjdGUKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRVU1ZV
UkxBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVVNWVVJMQXR0ciwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4g
SURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVVNWVVJM
QXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVl
LCAicmVmbGVjdGVkVVNWVVJMQXR0ciIpOwogfQpAQCAtMzkwMCw3ICszOTAwLDcgQEAgc3RhdGlj
IGlubGluZSBib29sIHNldEpTVGVzdE9ial9yZWZsZWN0ZQogICAgIHJldHVybiB0cnVlOwogfQog
Ci1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZFN0cmluZ0F0
dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRTdHJpbmdBdHRyLCAoSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExB
dHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9yZWZsZWN0ZWRTdHJpbmdBdHRy
U2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJy
ZWZsZWN0ZWRTdHJpbmdBdHRyIik7CiB9CkBAIC0zOTMxLDcgKzM5MzEsNyBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgc2V0SlNUZXN0T2JqX3JlZmxlY3RlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkQ3VzdG9tSW50ZWdy
YWxBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkQ3VzdG9tSW50ZWdyYWxBdHRyLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAg
IHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9yZWZsZWN0
ZWRDdXN0b21JbnRlZ3JhbEF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFs
dWUsIGVuY29kZWRWYWx1ZSwgInJlZmxlY3RlZEN1c3RvbUludGVncmFsQXR0ciIpOwogfQpAQCAt
Mzk2Miw3ICszOTYyLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9yZWZsZWN0
ZQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNU
ZXN0T2JqX3JlZmxlY3RlZEN1c3RvbUJvb2xlYW5BdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVm
bGVjdGVkQ3VzdG9tQm9vbGVhbkF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+
OjpzZXQ8c2V0SlNUZXN0T2JqX3JlZmxlY3RlZEN1c3RvbUJvb2xlYW5BdHRyU2V0dGVyPigqbGV4
aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJyZWZsZWN0ZWRDdXN0
b21Cb29sZWFuQXR0ciIpOwogfQpAQCAtMzk5Myw3ICszOTkzLDcgQEAgc3RhdGljIGlubGluZSBi
b29sIHNldEpTVGVzdE9ial9yZWZsZWN0ZQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVG
SU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEN1c3RvbVVSTEF0dHIsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRDdXN0b21VUkxBdHRyLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRy
aWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9yZWZsZWN0ZWRDdXN0b21VUkxBdHRy
U2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJy
ZWZsZWN0ZWRDdXN0b21VUkxBdHRyIik7CiB9CkBAIC00MDI4LDcgKzQwMjgsNyBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX2VuYWJsZWRBCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
LUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfZW5hYmxlZEF0UnVudGltZUF0
dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2VuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGUsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAg
cmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX2VuYWJsZWRB
dFJ1bnRpbWVBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUs
IGVuY29kZWRWYWx1ZSwgImVuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGUiKTsKIH0KQEAgLTQwNjMs
NyArNDA2Myw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpDb25zdHJ1Y3QKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9i
akNvbnN0cnVjdG9yX2VuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGVTdGF0aWMsIChKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpT
VGVzdE9iakNvbnN0cnVjdG9yX2VuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGVTdGF0aWMsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0
dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXRTdGF0aWM8c2V0SlNUZXN0T2JqQ29uc3Ry
dWN0b3JfZW5hYmxlZEF0UnVudGltZUF0dHJpYnV0ZVN0YXRpY1NldHRlcj4oKmxleGljYWxHbG9i
YWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiZW5hYmxlZEF0UnVudGltZUF0dHJp
YnV0ZVN0YXRpYyIpOwogfQpAQCAtNDA5Niw3ICs0MDk2LDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdE9ial90eXBlZEFycgogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3R5cGVkQXJyYXlBdHRyLCAoSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rl
c3RPYmpfdHlwZWRBcnJheUF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUs
IFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+Ojpz
ZXQ8c2V0SlNUZXN0T2JqX3R5cGVkQXJyYXlBdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJ0eXBlZEFycmF5QXR0ciIpOwogfQpAQCAtNDEx
OSw3ICs0MTE5LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9jdXN0b21BdAog
ICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
T2JqX2N1c3RvbUF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9jdXN0b21BdHRyLCAoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJ
RExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9jdXN0b21BdHRyU2V0dGVy
PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJjdXN0b21B
dHRyIik7CiB9CkBAIC00MTQ1LDcgKzQxNDUsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNU
ZXN0T2JqX29uZm9vU2V0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RPYmpfb25mb28sIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
VmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9vbmZvbywgKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICBy
ZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfb25mb29TZXR0
ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIm9uZm9v
Iik7CiB9CkBAIC00MTcxLDcgKzQxNzEsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0
T2JqX29ud2Via2l0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NF
VFRFUihzZXRKU1Rlc3RPYmpfb253ZWJraXRmb28sIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9vbndlYmtp
dGZvbywgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkK
IHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpf
b253ZWJraXRmb29TZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29k
ZWRWYWx1ZSwgIm9ud2Via2l0Zm9vIik7CiB9CkBAIC00MjAyLDcgKzQyMDIsNyBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3dpdGhFeGVjCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
LUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfd2l0aEV4ZWNTdGF0ZUF0dHJp
YnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NV
U1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3dpdGhFeGVjU3RhdGVBdHRyaWJ1dGUsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJu
IElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3dpdGhFeGVjU3RhdGVB
dHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRW
YWx1ZSwgIndpdGhFeGVjU3RhdGVBdHRyaWJ1dGUiKTsKIH0KQEAgLTQyMzMsNyArNDIzMyw3IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfd2l0aENhbGwKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial93aXRoQ2FsbFdp
dGhBbmRTZXR0ZXJDYWxsV2l0aEF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3dpdGhDYWxs
V2l0aEFuZFNldHRlckNhbGxXaXRoQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNU
ZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial93aXRoQ2FsbFdpdGhBbmRTZXR0ZXJDYWxsV2l0aEF0
dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCAid2l0aENhbGxXaXRoQW5kU2V0dGVyQ2FsbFdpdGhBdHRyaWJ1dGUiKTsKIH0KQEAgLTQy
NzAsNyArNDI3MCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfd2l0aFNjcmkK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVz
dE9ial93aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
T2JqX3dpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRy
aWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial93aXRoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dEF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5j
b2RlZFZhbHVlLCAid2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBdHRyaWJ1dGUiKTsKIH0KQEAg
LTQzMDcsNyArNDMwNyw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfd2l0aFNj
cmkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpT
VGVzdE9ial93aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZEV4ZWNTdGF0ZUF0dHJpYnV0ZSwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0T2JqX3dpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5kRXhlY1N0YXRl
QXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5h
bWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVz
dE9ial93aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZEV4ZWNTdGF0ZUF0dHJpYnV0ZVNldHRl
cj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAid2l0aFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRFeGVjU3RhdGVBdHRyaWJ1dGUiKTsKIH0KQEAgLTQzNDQs
NyArNDM0NCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfd2l0aFNjcmkKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9i
al93aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZEV4ZWNTdGF0ZVdpdGhTcGFjZXNBdHRyaWJ1
dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdE9ial93aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZEV4ZWNT
dGF0ZVdpdGhTcGFjZXNBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+
OjpzZXQ8c2V0SlNUZXN0T2JqX3dpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5kRXhlY1N0YXRl
V2l0aFNwYWNlc0F0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1
ZSwgZW5jb2RlZFZhbHVlLCAid2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRFeGVjU3RhdGVX
aXRoU3BhY2VzQXR0cmlidXRlIik7CiB9CkBAIC00Mzc5LDcgKzQzNzksNyBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgc2V0SlNUZXN0T2JqX2NvbmRpdGlvCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfY29uZGl0aW9uYWxBdHRyMSwgKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0T2JqX2NvbmRpdGlvbmFsQXR0cjEsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxK
U1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX2NvbmRpdGlvbmFsQXR0cjFTZXR0ZXI+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImNvbmRpdGlvbmFsQXR0
cjEiKTsKIH0KQEAgLTQ0MTYsNyArNDQxNiw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rl
c3RPYmpfY29uZGl0aW8KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdE9ial9jb25kaXRpb25hbEF0dHIyLCAoSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpf
Y29uZGl0aW9uYWxBdHRyMiwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJv
cGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxz
ZXRKU1Rlc3RPYmpfY29uZGl0aW9uYWxBdHRyMlNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
IHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiY29uZGl0aW9uYWxBdHRyMiIpOwogfQpAQCAtNDQ1
Myw3ICs0NDUzLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9jb25kaXRpbwog
ICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
T2JqX2NvbmRpdGlvbmFsQXR0cjMsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUp
KQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9jb25kaXRpb25hbEF0dHIz
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewog
ICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9jb25k
aXRpb25hbEF0dHIzU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNv
ZGVkVmFsdWUsICJjb25kaXRpb25hbEF0dHIzIik7CiB9CkBAIC00NTg1LDcgKzQ1ODUsNyBAQCBz
dGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX2FueUF0dHJpCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfYW55QXR0cmlidXRl
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RPYmpfYW55QXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8
SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9hbnlBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2Fs
R2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImFueUF0dHJpYnV0ZSIpOwog
fQpAQCAtNDYxNiw3ICs0NjE2LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9v
YmplY3RBdAogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0T2JqX29iamVjdEF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX29iamVjdEF0
dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1l
KSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RP
Ympfb2JqZWN0QXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVl
LCBlbmNvZGVkVmFsdWUsICJvYmplY3RBdHRyaWJ1dGUiKTsKIH0KQEAgLTQ2NjAsNyArNDY2MCw3
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfbXV0YWJsZVAKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9tdXRhYmxl
UG9pbnQsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFs
dWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9tdXRhYmxlUG9pbnQsIChKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJp
YnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX211dGFibGVQb2ludFNldHRlcj4oKmxl
eGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAibXV0YWJsZVBvaW50
Iik7CiB9CkBAIC00NjkxLDcgKzQ2OTEsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0
T2JqX3N0cmF3YmVyCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NF
VFRFUihzZXRKU1Rlc3RPYmpfc3RyYXdiZXJyeSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3N0cmF3YmVy
cnksIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7
CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3N0
cmF3YmVycnlTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRW
YWx1ZSwgInN0cmF3YmVycnkiKTsKIH0KQEAgLTQ3MzUsNyArNDczNSw3IEBAIHN0YXRpYyBpbmxp
bmUgYm9vbCBzZXRKU1Rlc3RPYmpfaWRTZXR0ZXIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9pZCwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2Jq
X2lkLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQog
ewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9p
ZFNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAi
aWQiKTsKIH0KQEAgLTQ3NzMsNyArNDc3Myw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rl
c3RPYmpfcmVwbGFjZWEKICAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50
aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigicmVw
bGFjZWFibGVBdHRyaWJ1dGUiKSwgc3RybGVuKCJyZXBsYWNlYWJsZUF0dHJpYnV0ZSIpKSwgdmFs
dWUpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlcGxhY2Vh
YmxlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19E
RUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVwbGFjZWFibGVBdHRyaWJ1dGUsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAg
cmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3JlcGxhY2Vh
YmxlQXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNv
ZGVkVmFsdWUsICJyZXBsYWNlYWJsZUF0dHJpYnV0ZSIpOwogfQpAQCAtNDg1Niw3ICs0ODU2LDcg
QEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9udWxsYWJsZQogICAgIHJldHVybiB0
cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX251bGxhYmxl
TG9uZ1NldHRhYmxlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
KSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfbnVsbGFibGVMb25nU2V0
dGFibGVBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3Bl
cnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0
SlNUZXN0T2JqX251bGxhYmxlTG9uZ1NldHRhYmxlQXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEds
b2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJudWxsYWJsZUxvbmdTZXR0YWJs
ZUF0dHJpYnV0ZSIpOwogfQpAQCAtNDg4Nyw3ICs0ODg3LDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdE9ial9udWxsYWJsZQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX251bGxhYmxlU3RyaW5nU2V0dGFibGVBdHRyaWJ1
dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdE9ial9udWxsYWJsZVN0cmluZ1NldHRhYmxlQXR0cmlidXRlLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAg
IHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9udWxsYWJs
ZVN0cmluZ1NldHRhYmxlQXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhp
c1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJudWxsYWJsZVN0cmluZ1NldHRhYmxlQXR0cmlidXRlIik7
CiB9CkBAIC00OTE4LDcgKzQ5MTgsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2Jq
X251bGxhYmxlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
UihzZXRKU1Rlc3RPYmpfbnVsbGFibGVVU1ZTdHJpbmdTZXR0YWJsZUF0dHJpYnV0ZSwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0T2JqX251bGxhYmxlVVNWU3RyaW5nU2V0dGFibGVBdHRyaWJ1dGUsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJu
IElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX251bGxhYmxlVVNWU3Ry
aW5nU2V0dGFibGVBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFs
dWUsIGVuY29kZWRWYWx1ZSwgIm51bGxhYmxlVVNWU3RyaW5nU2V0dGFibGVBdHRyaWJ1dGUiKTsK
IH0KQEAgLTQ5NDksNyArNDk0OSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpf
bnVsbGFibGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdE9ial9udWxsYWJsZUJ5dGVTdHJpbmdTZXR0YWJsZUF0dHJpYnV0ZSwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0T2JqX251bGxhYmxlQnl0ZVN0cmluZ1NldHRhYmxlQXR0cmlidXRlLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVy
biBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9udWxsYWJsZUJ5dGVT
dHJpbmdTZXR0YWJsZUF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNW
YWx1ZSwgZW5jb2RlZFZhbHVlLCAibnVsbGFibGVCeXRlU3RyaW5nU2V0dGFibGVBdHRyaWJ1dGUi
KTsKIH0KQEAgLTQ5OTYsNyArNDk5Niw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RP
YmpfYXR0cmlidXQKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKHNldEpTVGVzdE9ial9hdHRyaWJ1dGVXaXRoUmVzZXJ2ZWRFbnVtVHlwZSwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0T2JqX2F0dHJpYnV0ZVdpdGhSZXNlcnZlZEVudW1UeXBlLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRy
aWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9hdHRyaWJ1dGVXaXRoUmVzZXJ2ZWRF
bnVtVHlwZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCAiYXR0cmlidXRlV2l0aFJlc2VydmVkRW51bVR5cGUiKTsKIH0KQEAgLTUwNTgsNyArNTA1
OCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfcHV0Rm9yd2EKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9wdXRG
b3J3YXJkc0F0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitK
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3B1dEZvcndhcmRzQXR0cmlidXRl
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewog
ICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9wdXRG
b3J3YXJkc0F0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwg
ZW5jb2RlZFZhbHVlLCAicHV0Rm9yd2FyZHNBdHRyaWJ1dGUiKTsKIH0KQEAgLTUwOTQsNyArNTA5
NCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfcHV0Rm9yd2EKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9wdXRG
b3J3YXJkc051bGxhYmxlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcHV0Rm9yd2FyZHNO
dWxsYWJsZUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJv
cGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxz
ZXRKU1Rlc3RPYmpfcHV0Rm9yd2FyZHNOdWxsYWJsZUF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxH
bG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAicHV0Rm9yd2FyZHNOdWxsYWJs
ZUF0dHJpYnV0ZSIpOwogfQpAQCAtNTEyNSw3ICs1MTI1LDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdE9ial9zdHJpbmdpZgogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3N0cmluZ2lmaWVyQXR0cmlidXRlLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RPYmpfc3RyaW5naWZpZXJBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxK
U1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3N0cmluZ2lmaWVyQXR0cmlidXRlU2V0dGVyPigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzdHJpbmdpZmll
ckF0dHJpYnV0ZSIpOwogfQpAQCAtNTE1Niw3ICs1MTU2LDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdE9ial9jb25kaXRpbwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2NvbmRpdGlvbmFsbHlFeHBvc2VkVG9XaW5kb3dB
dHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9jb25kaXRpb25hbGx5RXhwb3NlZFRvV2luZG93
QXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5h
bWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVz
dE9ial9jb25kaXRpb25hbGx5RXhwb3NlZFRvV2luZG93QXR0cmlidXRlU2V0dGVyPigqbGV4aWNh
bEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJjb25kaXRpb25hbGx5RXhw
b3NlZFRvV2luZG93QXR0cmlidXRlIik7CiB9CkBAIC01MTg3LDcgKzUxODcsNyBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX2NvbmRpdGlvCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
LUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfY29uZGl0aW9uYWxseUV4cG9z
ZWRUb1dvcmtlckF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkp
CitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2NvbmRpdGlvbmFsbHlFeHBv
c2VkVG9Xb3JrZXJBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUs
IFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+Ojpz
ZXQ8c2V0SlNUZXN0T2JqX2NvbmRpdGlvbmFsbHlFeHBvc2VkVG9Xb3JrZXJBdHRyaWJ1dGVTZXR0
ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImNvbmRp
dGlvbmFsbHlFeHBvc2VkVG9Xb3JrZXJBdHRyaWJ1dGUiKTsKIH0KQEAgLTUyMTgsNyArNTIxOCw3
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfY29uZGl0aW8KICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9jb25kaXRp
b25hbGx5RXhwb3NlZFRvV2luZG93QW5kV29ya2VyQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RP
YmpfY29uZGl0aW9uYWxseUV4cG9zZWRUb1dpbmRvd0FuZFdvcmtlckF0dHJpYnV0ZSwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1
cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfY29uZGl0aW9uYWxs
eUV4cG9zZWRUb1dpbmRvd0FuZFdvcmtlckF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxP
YmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiY29uZGl0aW9uYWxseUV4cG9zZWRUb1dp
bmRvd0FuZFdvcmtlckF0dHJpYnV0ZSIpOwogfQpAQCAtNTI0OSw3ICs1MjQ5LDcgQEAgc3RhdGlj
IGlubGluZSBib29sIHNldEpTVGVzdE9ial9kYXNoX2xlYQogICAgIHJldHVybiB0cnVlOwogfQog
Ci1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2Rhc2hfbGVhZGluZ19kYXNo
X2h5cGhlbl9kYXNoX2F0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2Rhc2hfbGVhZGluZ19k
YXNoX2h5cGhlbl9kYXNoX2F0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9i
aj46OnNldDxzZXRKU1Rlc3RPYmpfZGFzaF9sZWFkaW5nX2Rhc2hfaHlwaGVuX2Rhc2hfYXR0cmli
dXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUs
ICItbGVhZGluZy1oeXBoZW4tYXR0cmlidXRlIik7CiB9CkBAIC01MjgwLDcgKzUyODAsNyBAQCBz
dGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3RyYWlsaW5nCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfdHJhaWxpbmdfZGFz
aF9oeXBoZW5fZGFzaF9hdHRyaWJ1dGVfZGFzaF8sIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial90cmFpbGlu
Z19kYXNoX2h5cGhlbl9kYXNoX2F0dHJpYnV0ZV9kYXNoXywgKEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRl
PEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfdHJhaWxpbmdfZGFzaF9oeXBoZW5fZGFzaF9h
dHRyaWJ1dGVfZGFzaF9TZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVu
Y29kZWRWYWx1ZSwgInRyYWlsaW5nLWh5cGhlbi1hdHRyaWJ1dGUtIik7CiB9CkBAIC01MzExLDcg
KzUzMTEsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX2xlYWRpbmdfCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpf
bGVhZGluZ191bmRlcnNjb3JlX2F0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2xlYWRpbmdf
dW5kZXJzY29yZV9hdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUs
IFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+Ojpz
ZXQ8c2V0SlNUZXN0T2JqX2xlYWRpbmdfdW5kZXJzY29yZV9hdHRyaWJ1dGVTZXR0ZXI+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImxlYWRpbmdfdW5kZXJz
Y29yZV9hdHRyaWJ1dGUiKTsKIH0KQEAgLTUzNDIsNyArNTM0Miw3IEBAIHN0YXRpYyBpbmxpbmUg
Ym9vbCBzZXRKU1Rlc3RPYmpfZG91YmxlX2wKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9kb3VibGVfbGVhZGluZ191bmRlcnNjb3Jl
X2F0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVG
SU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2RvdWJsZV9sZWFkaW5nX3VuZGVyc2NvcmVf
YXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5h
bWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVz
dE9ial9kb3VibGVfbGVhZGluZ191bmRlcnNjb3JlX2F0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxH
bG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiX2RvdWJsZV9sZWFkaW5nX3Vu
ZGVyc2NvcmVfYXR0cmlidXRlIik7CiB9CkBAIC01MzczLDcgKzUzNzMsNyBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgc2V0SlNUZXN0T2JqX3RyYWlsaW5nCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfdHJhaWxpbmdfdW5kZXJzY29yZV9h
dHRyaWJ1dGVfLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJ
TkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfdHJhaWxpbmdfdW5kZXJzY29yZV9hdHRyaWJ1
dGVfLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQog
ewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial90
cmFpbGluZ191bmRlcnNjb3JlX2F0dHJpYnV0ZV9TZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInRyYWlsaW5nX3VuZGVyc2NvcmVfYXR0cmlidXRl
XyIpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZS5jcHAJKHJldmlzaW9uIDI3NDcyMSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjYsNyArMjI2LDcgQEAgc3RhdGljIGlubGlu
ZSBib29sIHNldEpTVGVzdFNlcmlhbGl6ZWRTYwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0Nf
REVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlX3ZhbHVlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJ
TkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2Vf
dmFsdWUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFs
dWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkp
CiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2U+OjpzZXQ8c2V0SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlX3Zh
bHVlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUs
ICJ2YWx1ZSIpOwogfQpAQCAtMjc1LDcgKzI3NSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRK
U1Rlc3RTZXJpYWxpemVkU2MKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZV9jYWNoZWRW
YWx1ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NV
U1RPTV9TRVRURVIoc2V0SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlX2NhY2hl
ZFZhbHVlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUp
KQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlPjo6c2V0PHNldEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZV9j
YWNoZWRWYWx1ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2Rl
ZFZhbHVlLCAiY2FjaGVkVmFsdWUiKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDI3NDcy
MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXRM
aWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI1LDcg
KzIyNSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RTZXRMaWtlV2l0aE8KICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdFNldExp
a2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnNfYWRkLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RTZXRMaWtlV2l0
aE92ZXJyaWRkZW5PcGVyYXRpb25zX2FkZCwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdFNl
dExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnM+OjpzZXQ8c2V0SlNUZXN0U2V0TGlrZVdpdGhP
dmVycmlkZGVuT3BlcmF0aW9uc19hZGRTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlz
VmFsdWUsIGVuY29kZWRWYWx1ZSwgImFkZCIpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUuY3BwCShyZXZpc2lvbiAyNzQ3
MjEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3Ry
aW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDYsNyAr
MjA2LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdFN0cmluZ2lmaWVyUgogICAgIHJl
dHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0U3RyaW5n
aWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGVfaWRlbnRpZmllciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0U3RyaW5n
aWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGVfaWRlbnRpZmllciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRl
PEpTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlPjo6c2V0PHNldEpTVGVzdFN0cmlu
Z2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlX2lkZW50aWZpZXJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFs
T2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImlkZW50aWZpZXIiKTsKIH0KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFR5cGVkZWZzLmNwcAkocmV2aXNpb24gMjc0NzIxKQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzE4LDcgKzMxOCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RUeXBlZGVm
c191bnMKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdFR5cGVkZWZzX3Vuc2lnbmVkTG9uZ0xvbmdBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RUeXBl
ZGVmc191bnNpZ25lZExvbmdMb25nQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdFR5
cGVkZWZzPjo6c2V0PHNldEpTVGVzdFR5cGVkZWZzX3Vuc2lnbmVkTG9uZ0xvbmdBdHRyU2V0dGVy
PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJ1bnNpZ25l
ZExvbmdMb25nQXR0ciIpOwogfQpAQCAtMzQ5LDcgKzM0OSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBzZXRKU1Rlc3RUeXBlZGVmc19zZXIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdFR5cGVkZWZzX3NlcmlhbGl6ZWRTY3JpcHRWYWx1ZSwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0VHlwZWRlZnNfc2VyaWFsaXplZFNjcmlwdFZhbHVlLCAoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJ
RExBdHRyaWJ1dGU8SlNUZXN0VHlwZWRlZnM+OjpzZXQ8c2V0SlNUZXN0VHlwZWRlZnNfc2VyaWFs
aXplZFNjcmlwdFZhbHVlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBl
bmNvZGVkVmFsdWUsICJzZXJpYWxpemVkU2NyaXB0VmFsdWUiKTsKIH0KQEAgLTM5MSw3ICszOTEs
NyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0VHlwZWRlZnNfYXR0CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RUeXBlZGVmc19h
dHRyaWJ1dGVXaXRoQ2xhbXAsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQor
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdFR5cGVkZWZzX2F0dHJpYnV0ZVdpdGhD
bGFtcCwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkK
IHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdFR5cGVkZWZzPjo6c2V0PHNldEpTVGVz
dFR5cGVkZWZzX2F0dHJpYnV0ZVdpdGhDbGFtcFNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
IHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiYXR0cmlidXRlV2l0aENsYW1wIik7CiB9CkBAIC00
MjIsNyArNDIyLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdFR5cGVkZWZzX2F0dAog
ICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
VHlwZWRlZnNfYXR0cmlidXRlV2l0aENsYW1wSW5UeXBlZGVmLCAoSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RUeXBl
ZGVmc19hdHRyaWJ1dGVXaXRoQ2xhbXBJblR5cGVkZWYsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxK
U1Rlc3RUeXBlZGVmcz46OnNldDxzZXRKU1Rlc3RUeXBlZGVmc19hdHRyaWJ1dGVXaXRoQ2xhbXBJ
blR5cGVkZWZTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRW
YWx1ZSwgImF0dHJpYnV0ZVdpdGhDbGFtcEluVHlwZWRlZiIpOwogfQpAQCAtNDUzLDcgKzQ1Myw3
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RUeXBlZGVmc19idWYKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdFR5cGVkZWZzX2J1
ZmZlclNvdXJjZUF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdFR5cGVkZWZzX2J1ZmZlclNvdXJjZUF0dHIs
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAg
ICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RUeXBlZGVmcz46OnNldDxzZXRKU1Rlc3RUeXBl
ZGVmc19idWZmZXJTb3VyY2VBdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1Zh
bHVlLCBlbmNvZGVkVmFsdWUsICJidWZmZXJTb3VyY2VBdHRyIik7CiB9CkBAIC00ODQsNyArNDg0
LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdFR5cGVkZWZzX2RvbQogICAgIHJldHVy
biB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0VHlwZWRlZnNf
ZG9tVGltZVN0YW1wQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitK
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0VHlwZWRlZnNfZG9tVGltZVN0YW1wQXR0
ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsK
ICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdFR5cGVkZWZzPjo6c2V0PHNldEpTVGVzdFR5
cGVkZWZzX2RvbVRpbWVTdGFtcEF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlz
VmFsdWUsIGVuY29kZWRWYWx1ZSwgImRvbVRpbWVTdGFtcEF0dHIiKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423736</attachid>
            <date>2021-03-19 09:23:22 -0700</date>
            <delta_ts>2021-03-19 12:26:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223413-20210319091705.patch</filename>
            <type>text/plain</type>
            <size>126129</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjc0NzIxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSArMSwzOSBAQAor
MjAyMS0wMy0xOSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRk
IFByb3BlcnR5TmFtZSBwYXJhbWV0ZXIgdG8gY3VzdG9tIHNldHRlcnMgdG8gYWxsb3cgc2hhcmVk
IGltcGxlbWVudGF0aW9ucyB0byBkbyBsYXRlIG5hbWUgbG9va3VwCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM0MTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBBbGV4ZXkgU2h2YXlrYS4KKworICAgICAgICBNYWtlIGN1c3RvbSBzZXR0ZXJzIG1hdGNo
IGN1c3RvbSBnZXR0ZXJzIGJ5IGFkZGluZyBhIFByb3BlcnR5TmFtZSBwYXJhbWV0ZXIuCisgICAg
ICAgIAorICAgICAgICBUaGlzIHdpbGwgYmUgdXNlZCBieSB0aGUgQ1NTU3R5bGVEZWNsYXJhdGlv
biBiaW5kaW5ncyB0byBhdm9pZCA+IDEwMDAgY29waWVzCisgICAgICAgIG9mIHRoZSBzYW1lIGdl
dHRlci9zZXR0ZXIgY29kZSwgd2hpY2ggd2lsbCBpbnN0ZWFkIGJlIGFibGUgdG8gZGlmZmVyZW50
aWF0ZQorICAgICAgICB1c2luZyB0aGUgbmFtZS4KKworICAgICAgICAqIGJ5dGVjb2RlL0FjY2Vz
c0Nhc2UuY3BwOgorICAgICAgICAoSlNDOjpBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwpOgorICAg
ICAgICAqIGpzYy5jcHA6CisgICAgICAgIChKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgorICAg
ICAgICAqIHJ1bnRpbWUvQ3VzdG9tR2V0dGVyU2V0dGVyLmNwcDoKKyAgICAgICAgKEpTQzo6Y2Fs
bEN1c3RvbVNldHRlcik6CisgICAgICAgICogcnVudGltZS9DdXN0b21HZXR0ZXJTZXR0ZXIuaDoK
KyAgICAgICAgKiBydW50aW1lL0pTQ0pTVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpKU1ZhbHVl
OjpwdXRUb1ByaW1pdGl2ZSk6CisgICAgICAgICogcnVudGltZS9KU0N1c3RvbVNldHRlckZ1bmN0
aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKToKKyAgICAg
ICAgKEpTQzo6SlNDdXN0b21TZXR0ZXJGdW5jdGlvbjo6SlNDdXN0b21TZXR0ZXJGdW5jdGlvbik6
CisgICAgICAgIChKU0M6OkpTQ3VzdG9tU2V0dGVyRnVuY3Rpb246OmNyZWF0ZSk6CisgICAgICAg
ICogcnVudGltZS9KU0N1c3RvbVNldHRlckZ1bmN0aW9uLmg6CisgICAgICAgICogcnVudGltZS9K
U09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpwdXRJbmxpbmVTbG93KToKKyAg
ICAgICAgKiBydW50aW1lL0xvb2t1cC5oOgorICAgICAgICAoSlNDOjpwdXRFbnRyeSk6CisgICAg
ICAgICogcnVudGltZS9Qcm9wZXJ0eVNsb3QuaDoKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cENv
bnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKToK
KyAgICAgICAgKiBydW50aW1lL1JlZ0V4cE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTQ19E
RUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICogdG9vbHMvSlNEb2xsYXJWTS5jcHA6CisK
ID09IFJvbGxlZCBvdmVyIHRvIENoYW5nZUxvZy0yMDIxLTAzLTE4ID09CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvanNjLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvanNjLmNwcAkocmV2aXNpb24gMjc0NzIxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2pz
Yy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc0Nyw3ICs3NDcsNyBAQCBHbG9iYWxPYmplY3Q6Okds
b2JhbE9iamVjdChWTSYgdm0sIFN0cnVjCiB7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
Uih0ZXN0Q3VzdG9tQWNjZXNzb3JTZXR0ZXIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
VmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHRlc3RDdXN0b21BY2Nlc3NvclNldHRl
ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsK
ICAgICBWTSYgdm0gPSBsZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgpOwogICAgIFJFTEVBU0VfQVNT
RVJUKEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpLmlzQ2VsbCgpKTsKQEAgLTc1OCw3ICs3NTgs
NyBAQCBKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIodGVzdEN1c3RvbUFjY2VzCiAgICAgcmV0dXJu
IEdsb2JhbE9iamVjdDo6dGVzdEN1c3RvbVNldHRlckltcGwobGV4aWNhbEdsb2JhbE9iamVjdCwg
dGhpc09iamVjdCwgZW5jb2RlZFZhbHVlLCAiX3Rlc3RDdXN0b21BY2Nlc3NvclNldHRlciIpOwog
fQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIodGVzdEN1c3RvbVZhbHVlU2V0dGVyLCAoSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
Uih0ZXN0Q3VzdG9tVmFsdWVTZXR0ZXIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgVk0mIHZtID0gbGV4aWNhbEdsb2JhbE9iamVjdC0+
dm0oKTsKICAgICBSRUxFQVNFX0FTU0VSVChKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKS5pc0Nl
bGwoKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nh
c2UuY3BwCShyZXZpc2lvbiAyNzQ3MjEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3NTgsNyArMTc1OCw3IEBAIHZv
aWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAgICAgIEdQUlJl
ZyByZWNlaXZlckZvckN1c3RvbUdldEdQUiA9IGJhc2VHUFIgIT0gdGhpc0dQUiA/IHRoaXNHUFIg
OiByZWNlaXZlckdQUjsKIAogICAgICAgICAgICAgLy8gZ2V0dGVyOiBFbmNvZGVkSlNWYWx1ZSAo
KkdldFZhbHVlRnVuYykoSlNHbG9iYWxPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IFByb3BlcnR5TmFtZSk7Ci0gICAgICAgICAgICAvLyBzZXR0ZXI6IGJvb2wgKCpQdXRWYWx1ZUZ1
bmMpKEpTR2xvYmFsT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUgdGhpc09iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdmFsdWUpOworICAgICAgICAgICAgLy8gc2V0dGVyOiBib29sICgqUHV0VmFsdWVGdW5j
KShKU0dsb2JhbE9iamVjdCosIEVuY29kZWRKU1ZhbHVlIHRoaXNPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHZhbHVlLCBQcm9wZXJ0eU5hbWUpOwogICAgICAgICAgICAgLy8gQ3VzdG9tIHZhbHVlcyBh
cmUgcGFzc2VkIHRoZSBzbG90QmFzZSAodGhlIHByb3BlcnR5IGhvbGRlciksIGN1c3RvbSBhY2Nl
c3NvcnMgYXJlIHBhc3NlZCB0aGUgdGhpc1ZhbHVlIChyZWNlaXZlcikuCiAgICAgICAgICAgICBH
UFJSZWcgYmFzZUZvckN1c3RvbSA9IHRha2VzUHJvcGVydHlPd25lckFzQ0Z1bmN0aW9uQXJndW1l
bnQgPyBwcm9wZXJ0eU93bmVyR1BSIDogcmVjZWl2ZXJGb3JDdXN0b21HZXRHUFI7IAogICAgICAg
ICAgICAgLy8gV2UgZG8gbm90IG5lZWQgdG8ga2VlcCBnbG9iYWxPYmplY3QgYWxpdmUgc2luY2Ug
dGhlIG93bmVyIENvZGVCbG9jayAoZXZlbiBpZiBKU0dsb2JhbE9iamVjdCogaXMgb25lIG9mIENv
ZGVCbG9jayB0aGF0IGlzIGlubGluZWQgYW5kIGhlbGQgYnkgREZHIENvZGVCbG9jaykKQEAgLTE3
ODMsMTIgKzE3ODMsMTQgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2Vu
ZQogICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGds
b2JhbE9iamVjdCksCiAgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkNlbGxW
YWx1ZShiYXNlRm9yQ3VzdG9tKSwKICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlUmVncywK
KyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cih1aWQo
KSksCiAgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIo
dGhpcy0+YXM8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4oKS5tX2N1c3RvbUFjY2Vzc29yLmV4ZWN1
dGFibGVBZGRyZXNzKCkpKTsKICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
ICAgICAgICBqaXQuc2V0dXBBcmd1bWVudHM8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+
KAogICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGds
b2JhbE9iamVjdCksCiAgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkNlbGxW
YWx1ZShiYXNlRm9yQ3VzdG9tKSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlUmVncyk7
CisgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZVJlZ3MsCisgICAgICAgICAgICAgICAgICAg
ICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIodWlkKCkpKTsKICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6Y2Fs
bEZyYW1lUmVnaXN0ZXIsICZ2bS50b3BDYWxsRnJhbWUpOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ3VzdG9tR2V0dGVyU2V0dGVyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DdXN0b21HZXR0ZXJTZXR0ZXIuY3BwCShyZXZpc2lv
biAyNzQ3MjEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DdXN0b21HZXR0ZXJT
ZXR0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSwxOSArMzUsMTkgQEAgU1RBVElDX0FTU0VS
VF9JU19UUklWSUFMTFlfREVTVFJVQ1RJQkxFKAogCiBjb25zdCBDbGFzc0luZm8gQ3VzdG9tR2V0
dGVyU2V0dGVyOjpzX2luZm8gPSB7ICJDdXN0b21HZXR0ZXJTZXR0ZXIiLCBudWxscHRyLCBudWxs
cHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEN1c3RvbUdldHRlclNldHRlcikgfTsK
IAotVHJpU3RhdGUgY2FsbEN1c3RvbVNldHRlcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBDdXN0b21HZXR0ZXJTZXR0ZXI6OkN1c3RvbVNldHRlciBzZXR0ZXIsIGJvb2wgaXNBY2Nlc3Nv
ciwgSlNPYmplY3QqIHNsb3RCYXNlLCBKU1ZhbHVlIHRoaXNWYWx1ZSwgSlNWYWx1ZSB2YWx1ZSkK
K1RyaVN0YXRlIGNhbGxDdXN0b21TZXR0ZXIoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
Q3VzdG9tR2V0dGVyU2V0dGVyOjpDdXN0b21TZXR0ZXIgc2V0dGVyLCBib29sIGlzQWNjZXNzb3Is
IEpTT2JqZWN0KiBzbG90QmFzZSwgSlNWYWx1ZSB0aGlzVmFsdWUsIEpTVmFsdWUgdmFsdWUsIFBy
b3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCiB7CiAgICAgaWYgKGlzQWNjZXNzb3IpIHsKICAgICAg
ICAgaWYgKCFzZXR0ZXIpCiAgICAgICAgICAgICByZXR1cm4gVHJpU3RhdGU6OkZhbHNlOwotICAg
ICAgICBzZXR0ZXIoZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlOjplbmNvZGUodGhpc1ZhbHVlKSwgSlNW
YWx1ZTo6ZW5jb2RlKHZhbHVlKSk7CisgICAgICAgIHNldHRlcihnbG9iYWxPYmplY3QsIEpTVmFs
dWU6OmVuY29kZSh0aGlzVmFsdWUpLCBKU1ZhbHVlOjplbmNvZGUodmFsdWUpLCBwcm9wZXJ0eU5h
bWUpOwogICAgICAgICAvLyBBbHdheXMgcmV0dXJuIHRydWUgaWYgdGhlcmUgaXMgYSBzZXR0ZXIg
YW5kIGl0IGlzIG9ic2VydmVkIGFzIGFuIGFjY2Vzc29yIHRvIHVzZXJzLgogICAgICAgICByZXR1
cm4gVHJpU3RhdGU6OlRydWU7CiAgICAgfQogCiAgICAgaWYgKCFzZXR0ZXIpCiAgICAgICAgIHJl
dHVybiBUcmlTdGF0ZTo6SW5kZXRlcm1pbmF0ZTsKLSAgICByZXR1cm4gdHJpU3RhdGUoc2V0dGVy
KGdsb2JhbE9iamVjdCwgSlNWYWx1ZTo6ZW5jb2RlKHNsb3RCYXNlKSwgSlNWYWx1ZTo6ZW5jb2Rl
KHZhbHVlKSkpOworICAgIHJldHVybiB0cmlTdGF0ZShzZXR0ZXIoZ2xvYmFsT2JqZWN0LCBKU1Zh
bHVlOjplbmNvZGUoc2xvdEJhc2UpLCBKU1ZhbHVlOjplbmNvZGUodmFsdWUpLCBwcm9wZXJ0eU5h
bWUpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9DdXN0b21HZXR0ZXJTZXR0ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9DdXN0b21HZXR0ZXJTZXR0ZXIuaAkocmV2aXNpb24gMjc0NzIx
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ3VzdG9tR2V0dGVyU2V0dGVyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTc2LDYgKzc2LDYgQEAgcHJpdmF0ZToKICAgICBDdXN0b21TZXR0
ZXIgbV9zZXR0ZXI7CiB9OwogCi1KU19FWFBPUlRfUFJJVkFURSBUcmlTdGF0ZSBjYWxsQ3VzdG9t
U2V0dGVyKEpTR2xvYmFsT2JqZWN0KiwgQ3VzdG9tR2V0dGVyU2V0dGVyOjpDdXN0b21TZXR0ZXIs
IGJvb2wgaXNBY2Nlc3NvciwgSlNPYmplY3QqIHNsb3RCYXNlLCBKU1ZhbHVlIHRoaXNWYWx1ZSwg
SlNWYWx1ZSk7CitKU19FWFBPUlRfUFJJVkFURSBUcmlTdGF0ZSBjYWxsQ3VzdG9tU2V0dGVyKEpT
R2xvYmFsT2JqZWN0KiwgQ3VzdG9tR2V0dGVyU2V0dGVyOjpDdXN0b21TZXR0ZXIsIGJvb2wgaXNB
Y2Nlc3NvciwgSlNPYmplY3QqIHNsb3RCYXNlLCBKU1ZhbHVlIHRoaXNWYWx1ZSwgSlNWYWx1ZSwg
UHJvcGVydHlOYW1lKTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkocmV2aXNpb24gMjc0NzIxKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI2NCw3ICsyNjQsNyBAQCBib29sIEpTVmFsdWU6OnB1dFRvUHJpbWl0aXZlKEpTR2xv
YmFsT2JqCiAgICAgICAgICAgICBpZiAoZ3MuaXNDdXN0b21HZXR0ZXJTZXR0ZXIoKSkgewogICAg
ICAgICAgICAgICAgIGF1dG8gc2V0dGVyID0ganNDYXN0PEN1c3RvbUdldHRlclNldHRlcio+KGdz
LmFzQ2VsbCgpKS0+c2V0dGVyKCk7CiAgICAgICAgICAgICAgICAgYm9vbCBpc0FjY2Vzc29yID0g
YXR0cmlidXRlcyAmIFByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvcjsKLSAgICAgICAg
ICAgICAgICBhdXRvIHJlc3VsdCA9IGNhbGxDdXN0b21TZXR0ZXIoZ2xvYmFsT2JqZWN0LCBzZXR0
ZXIsIGlzQWNjZXNzb3IsIG9iaiwgc2xvdC50aGlzVmFsdWUoKSwgdmFsdWUpOworICAgICAgICAg
ICAgICAgIGF1dG8gcmVzdWx0ID0gY2FsbEN1c3RvbVNldHRlcihnbG9iYWxPYmplY3QsIHNldHRl
ciwgaXNBY2Nlc3Nvciwgb2JqLCBzbG90LnRoaXNWYWx1ZSgpLCB2YWx1ZSwgcHJvcGVydHlOYW1l
KTsKICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICE9IFRyaVN0YXRlOjpJbmRldGVybWluYXRl
KQogICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIHJlc3VsdCA9
PSBUcmlTdGF0ZTo6VHJ1ZSk7CiAgICAgICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0N1c3RvbVNldHRlckZ1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0N1c3RvbVNldHRlckZ1bmN0aW9uLmNwcAko
cmV2aXNpb24gMjc0NzIxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDdXN0
b21TZXR0ZXJGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDEzICszNSwxNSBAQCBz
dGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihjdXN0b21TCiAKIEpTQ19ERUZJTkVfSE9T
VF9GVU5DVElPTihjdXN0b21TZXR0ZXJGdW5jdGlvbkNhbGwsIChKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCiB7Ci0gICAgUHV0VmFsdWVGdW5jIHNl
dHRlciA9IGpzQ2FzdDxKU0N1c3RvbVNldHRlckZ1bmN0aW9uKj4oY2FsbEZyYW1lLT5qc0NhbGxl
ZSgpKS0+c2V0dGVyKCk7Ci0gICAgc2V0dGVyKGdsb2JhbE9iamVjdCwgSlNWYWx1ZTo6ZW5jb2Rl
KGNhbGxGcmFtZS0+dGhpc1ZhbHVlKCkpLCBKU1ZhbHVlOjplbmNvZGUoY2FsbEZyYW1lLT5hcmd1
bWVudCgwKSkpOworICAgIGF1dG8gY3VzdG9tU2V0dGVyRnVuY3Rpb24gPSBqc0Nhc3Q8SlNDdXN0
b21TZXR0ZXJGdW5jdGlvbio+KGNhbGxGcmFtZS0+anNDYWxsZWUoKSk7CisgICAgUHV0VmFsdWVG
dW5jIHNldHRlciA9IGN1c3RvbVNldHRlckZ1bmN0aW9uLT5zZXR0ZXIoKTsKKyAgICBzZXR0ZXIo
Z2xvYmFsT2JqZWN0LCBKU1ZhbHVlOjplbmNvZGUoY2FsbEZyYW1lLT50aGlzVmFsdWUoKSksIEpT
VmFsdWU6OmVuY29kZShjYWxsRnJhbWUtPmFyZ3VtZW50KDApKSwgY3VzdG9tU2V0dGVyRnVuY3Rp
b24tPnByb3BlcnR5TmFtZSgpKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpOwogfQogCi1KU0N1c3RvbVNldHRlckZ1bmN0aW9uOjpKU0N1c3RvbVNldHRlckZ1bmN0
aW9uKFZNJiB2bSwgTmF0aXZlRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFB1dFZhbHVlRnVuYyBzZXR0ZXIp
CitKU0N1c3RvbVNldHRlckZ1bmN0aW9uOjpKU0N1c3RvbVNldHRlckZ1bmN0aW9uKFZNJiB2bSwg
TmF0aXZlRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IFByb3BlcnR5TmFtZSYgcHJvcGVydHlOYW1l
LCBQdXRWYWx1ZUZ1bmMgc2V0dGVyKQogICAgIDogQmFzZSh2bSwgZXhlY3V0YWJsZSwgZ2xvYmFs
T2JqZWN0LCBzdHJ1Y3R1cmUpCisgICAgLCBtX3Byb3BlcnR5TmFtZShwcm9wZXJ0eU5hbWUpCiAg
ICAgLCBtX3NldHRlcihzZXR0ZXIpCiB7CiB9CkBAIC01MSw3ICs1Myw3IEBAIEpTQ3VzdG9tU2V0
dGVyRnVuY3Rpb24qIEpTQ3VzdG9tU2V0dGVyRnUKICAgICBBU1NFUlQoc2V0dGVyKTsKICAgICBO
YXRpdmVFeGVjdXRhYmxlKiBleGVjdXRhYmxlID0gdm0uZ2V0SG9zdEZ1bmN0aW9uKGN1c3RvbVNl
dHRlckZ1bmN0aW9uQ2FsbCwgY2FsbEhvc3RGdW5jdGlvbkFzQ29uc3RydWN0b3IsIFN0cmluZyhw
cm9wZXJ0eU5hbWUucHVibGljTmFtZSgpKSk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBn
bG9iYWxPYmplY3QtPmN1c3RvbVNldHRlckZ1bmN0aW9uU3RydWN0dXJlKCk7Ci0gICAgSlNDdXN0
b21TZXR0ZXJGdW5jdGlvbiogZnVuY3Rpb24gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxK
U0N1c3RvbVNldHRlckZ1bmN0aW9uPih2bS5oZWFwKSkgSlNDdXN0b21TZXR0ZXJGdW5jdGlvbih2
bSwgZXhlY3V0YWJsZSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIHNldHRlcik7CisgICAgSlND
dXN0b21TZXR0ZXJGdW5jdGlvbiogZnVuY3Rpb24gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2Vs
bDxKU0N1c3RvbVNldHRlckZ1bmN0aW9uPih2bS5oZWFwKSkgSlNDdXN0b21TZXR0ZXJGdW5jdGlv
bih2bSwgZXhlY3V0YWJsZSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZSwg
c2V0dGVyKTsKIAogICAgIC8vIENhbid0IGRvIHRoaXMgZHVyaW5nIGluaXRpYWxpemF0aW9uIGJl
Y2F1c2UgZ2V0SG9zdEZ1bmN0aW9uIG1pZ2h0IGRvIGEgR0MgYWxsb2NhdGlvbi4KICAgICBTdHJp
bmcgbmFtZSA9IG1ha2VTdHJpbmcoInNldCAiLCBTdHJpbmcocHJvcGVydHlOYW1lLnB1YmxpY05h
bWUoKSkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDdXN0b21TZXR0
ZXJGdW5jdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQ3VzdG9tU2V0dGVyRnVuY3Rpb24uaAkocmV2aXNpb24gMjc0NzIxKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDdXN0b21TZXR0ZXJGdW5jdGlvbi5oCSh3b3JraW5nIGNv
cHkpCkBAIC01MCwxMSArNTAsMTMgQEAgcHVibGljOgogCiAgICAgREVDTEFSRV9FWFBPUlRfSU5G
TzsKIAorICAgIGNvbnN0IFByb3BlcnR5TmFtZSYgcHJvcGVydHlOYW1lKCkgY29uc3QgeyByZXR1
cm4gbV9wcm9wZXJ0eU5hbWU7IH0KICAgICBQdXRWYWx1ZUZ1bmMgc2V0dGVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9zZXR0ZXI7IH07CiAKIHByaXZhdGU6Ci0gICAgSlNDdXN0b21TZXR0ZXJGdW5jdGlv
bihWTSYsIE5hdGl2ZUV4ZWN1dGFibGUqLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIFB1
dFZhbHVlRnVuYyk7CisgICAgSlNDdXN0b21TZXR0ZXJGdW5jdGlvbihWTSYsIE5hdGl2ZUV4ZWN1
dGFibGUqLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIGNvbnN0IFByb3BlcnR5TmFtZSYs
IFB1dFZhbHVlRnVuYyk7CiAKKyAgICBQcm9wZXJ0eU5hbWUgbV9wcm9wZXJ0eU5hbWU7CiAgICAg
UHV0VmFsdWVGdW5jIG1fc2V0dGVyOwogfTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkocmV2aXNpb24gMjc0NzIxKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MzksNyAr
ODM5LDcgQEAgYm9vbCBKU09iamVjdDo6cHV0SW5saW5lU2xvdyhKU0dsb2JhbE9iagogICAgICAg
ICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgc2xvdC5zZXRDdXN0b21WYWx1ZShv
YmosIHNldHRlcik7CiAKLSAgICAgICAgICAgICAgICBhdXRvIHJlc3VsdCA9IGNhbGxDdXN0b21T
ZXR0ZXIoZ2xvYmFsT2JqZWN0LCBzZXR0ZXIsIGlzQWNjZXNzb3IsIG9iaiwgc2xvdC50aGlzVmFs
dWUoKSwgdmFsdWUpOworICAgICAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0gY2FsbEN1c3RvbVNl
dHRlcihnbG9iYWxPYmplY3QsIHNldHRlciwgaXNBY2Nlc3Nvciwgb2JqLCBzbG90LnRoaXNWYWx1
ZSgpLCB2YWx1ZSwgcHJvcGVydHlOYW1lKTsKICAgICAgICAgICAgICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCBmYWxzZSk7CiAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAhPSBUcmlT
dGF0ZTo6SW5kZXRlcm1pbmF0ZSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCA9
PSBUcmlTdGF0ZTo6VHJ1ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xv
b2t1cC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1
cC5oCShyZXZpc2lvbiAyNzQ3MjEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9M
b29rdXAuaAkod29ya2luZyBjb3B5KQpAQCAtNDMsOCArNDMsNiBAQCBzdHJ1Y3QgQ29tcGFjdEhh
c2hJbmRleCB7CiAgICAgY29uc3QgaW50MTZfdCBuZXh0OwogfTsKIAotLy8gRklYTUU6IFRoZXJl
IGlzIG5vIHJlYXNvbiB0aGlzIGdldCBmdW5jdGlvbiBjYW4ndCBiZSBzaW1wbGVyLgotLy8gaWUu
IHR5cGVkZWYgSlNWYWx1ZSAoKkdldEZ1bmN0aW9uKShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0
KiBiYXNlT2JqZWN0KQogdHlwZWRlZiBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBHZXRGdW5j
dGlvbjsKIHR5cGVkZWYgUHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMgUHV0RnVuY3Rpb247
CiB0eXBlZGVmIEZ1bmN0aW9uRXhlY3V0YWJsZSogKCpCdWlsdGluR2VuZXJhdG9yKShWTSYpOwpA
QCAtMjk4LDcgKzI5Niw3IEBAIGlubGluZSBib29sIHB1dEVudHJ5KEpTR2xvYmFsT2JqZWN0KiBn
bG8KICAgICAgICAgZWxzZQogICAgICAgICAgICAgc2xvdC5zZXRDdXN0b21WYWx1ZShiYXNlLCBl
bnRyeS0+cHJvcGVydHlQdXR0ZXIoKSk7CiAKLSAgICAgICAgYXV0byByZXN1bHQgPSBjYWxsQ3Vz
dG9tU2V0dGVyKGdsb2JhbE9iamVjdCwgZW50cnktPnByb3BlcnR5UHV0dGVyKCksIGlzQWNjZXNz
b3IsIGJhc2UsIHNsb3QudGhpc1ZhbHVlKCksIHZhbHVlKTsKKyAgICAgICAgYXV0byByZXN1bHQg
PSBjYWxsQ3VzdG9tU2V0dGVyKGdsb2JhbE9iamVjdCwgZW50cnktPnByb3BlcnR5UHV0dGVyKCks
IGlzQWNjZXNzb3IsIGJhc2UsIHNsb3QudGhpc1ZhbHVlKCksIHZhbHVlLCBwcm9wZXJ0eU5hbWUp
OwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CiAgICAgICAgIGlm
IChyZXN1bHQgIT0gVHJpU3RhdGU6OkluZGV0ZXJtaW5hdGUpCiAgICAgICAgICAgICByZXR1cm4g
cmVzdWx0ID09IFRyaVN0YXRlOjpUcnVlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUHJvcGVydHlTbG90LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUHJvcGVydHlTbG90LmgJKHJldmlzaW9uIDI3NDcyMSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5U2xvdC5oCSh3b3JraW5nIGNvcHkpCkBAIC04Nyw4
ICs4Nyw4IEBAIGlubGluZSB1bnNpZ25lZCBhdHRyaWJ1dGVzRm9yU3RydWN0dXJlKHUKIHVzaW5n
IEdldFZhbHVlRnVuYyA9IEVuY29kZWRKU1ZhbHVlKEpJVF9PUEVSQVRJT05fQVRUUklCVVRFUyop
KEpTR2xvYmFsT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUp
OwogdXNpbmcgR2V0VmFsdWVGdW5jV2l0aFB0ciA9IEVuY29kZWRKU1ZhbHVlKEpJVF9PUEVSQVRJ
T05fQVRUUklCVVRFUyopKEpTR2xvYmFsT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBQcm9wZXJ0eU5hbWUsIHZvaWQqKTsKIAotdXNpbmcgUHV0VmFsdWVGdW5jID0gYm9vbCAoKiko
SlNHbG9iYWxPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSBiYXNlT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB2YWx1ZSk7Ci11c2luZyBQdXRWYWx1ZUZ1bmNXaXRoUHRyID0gYm9vbCAoKikoSlNHbG9iYWxP
YmplY3QqLCBFbmNvZGVkSlNWYWx1ZSBiYXNlT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB2YWx1ZSwg
dm9pZCopOwordXNpbmcgUHV0VmFsdWVGdW5jID0gYm9vbCAoKikoSlNHbG9iYWxPYmplY3QqLCBF
bmNvZGVkSlNWYWx1ZSBiYXNlT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB2YWx1ZSwgUHJvcGVydHlO
YW1lKTsKK3VzaW5nIFB1dFZhbHVlRnVuY1dpdGhQdHIgPSBib29sICgqKShKU0dsb2JhbE9iamVj
dCosIEVuY29kZWRKU1ZhbHVlIGJhc2VPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHZhbHVlLCBQcm9w
ZXJ0eU5hbWUsIHZvaWQqKTsKIAogY2xhc3MgUHJvcGVydHlTbG90IHsKIApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcAko
cmV2aXNpb24gMjc0NzIxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
Q29uc3RydWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODAsNyArMTgwLDcgQEAgSlNDX0RF
RklORV9DVVNUT01fR0VUVEVSKHJlZ0V4cENvbnN0cnVjdAogICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoZ2xvYmFsT2JqZWN0LT5yZWdFeHBHbG9iYWxEYXRhKCkuZ2V0UmlnaHRDb250ZXh0KGds
b2JhbE9iamVjdCkpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0UmVnRXhwQ29u
c3RydWN0b3JJbnB1dCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgdmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldFJlZ0V4cENvbnN0cnVjdG9ySW5wdXQsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIHZhbHVlLCBQ
cm9wZXJ0eU5hbWUpKQogewogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBh
dXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CkBAIC0xOTUsNyArMTk1LDcgQEAg
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldFJlZ0V4cENvbnN0cgogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldFJlZ0V4cENvbnN0cnVjdG9yTXVs
dGlsaW5lLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSB2YWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0UmVnRXhwQ29uc3RydWN0b3JNdWx0aWxpbmUsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIHZhbHVlLCBQcm9w
ZXJ0eU5hbWUpKQogewogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRv
IHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5jcHAJKHJldmlzaW9uIDI3NDcyMSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEyMSwxMiArMTIxLDEyIEBAIGJvb2wgUmVnRXhwT2JqZWN0OjpkZWZpbmVPd25Q
cm9wZXJ0eShKU08KICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEJhc2U6OmRlZmluZU93
blByb3BlcnR5KG9iamVjdCwgZ2xvYmFsT2JqZWN0LCBwcm9wZXJ0eU5hbWUsIGRlc2NyaXB0b3Is
IHNob3VsZFRocm93KSk7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihyZWdFeHBPYmpl
Y3RTZXRMYXN0SW5kZXhTdHJpY3QsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIHZhbHVlKSkKK0pTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihyZWdFeHBPYmplY3RTZXRMYXN0SW5kZXhTdHJpY3QsIChKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIHZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBqc0Nhc3Q8UmVnRXhwT2Jq
ZWN0Kj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpLT5zZXRMYXN0SW5kZXgoZ2xvYmFsT2Jq
ZWN0LCBKU1ZhbHVlOjpkZWNvZGUodmFsdWUpLCB0cnVlKTsKIH0KIAotSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHJlZ0V4cE9iamVjdFNldExhc3RJbmRleE5vblN0cmljdCwgKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgdmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHJlZ0V4cE9iamVjdFNldExhc3RJ
bmRleE5vblN0cmljdCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgdmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAg
ICAgcmV0dXJuIGpzQ2FzdDxSZWdFeHBPYmplY3QqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVl
KSktPnNldExhc3RJbmRleChnbG9iYWxPYmplY3QsIEpTVmFsdWU6OmRlY29kZSh2YWx1ZSksIGZh
bHNlKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KU0RvbGxhclZNLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSlNEb2xsYXJWTS5j
cHAJKHJldmlzaW9uIDI3NDcyMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KU0Rv
bGxhclZNLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzA4LDcgKzcwOCw3IEBAIEpTQ19ERUZJTkVf
Q1VTVE9NX0dFVFRFUih0ZXN0U3RhdGljQWNjZXMKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIodGVzdFN0YXRp
Y0FjY2Vzc29yUHV0dGVyLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSB2YWx1ZSkpCitKU0NfREVGSU5FX0NVU1RP
TV9TRVRURVIodGVzdFN0YXRpY0FjY2Vzc29yUHV0dGVyLCAoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSB2YWx1ZSwg
UHJvcGVydHlOYW1lKSkKIHsKICAgICBEb2xsYXJWTUFzc2VydFNjb3BlIGFzc2VydFNjb3BlOwog
ICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTc3OCw3ICs3NzgsNyBAQCBKU0Nf
REVGSU5FX0NVU1RPTV9HRVRURVIodGVzdFN0YXRpY1ZhbHVlCiAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHRl
c3RTdGF0aWNWYWx1ZVB1dHRlciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgdmFsdWUpKQorSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHRlc3RTdGF0aWNWYWx1ZVB1dHRlciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgdmFsdWUs
IFByb3BlcnR5TmFtZSkpCiB7CiAgICAgRG9sbGFyVk1Bc3NlcnRTY29wZSBhc3NlcnRTY29wZTsK
ICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkBAIC0xNTgyLDcgKzE1ODIsNyBAQCBK
U0NfREVGSU5FX0NVU1RPTV9HRVRURVIoY3VzdG9tR2V0VmFsdWVHCiAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShnbG9iYWxPYmplY3QpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
Y3VzdG9tU2V0QWNjZXNzb3IsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB0aGlzT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKGN1c3RvbVNldEFjY2Vzc29yLCAoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc09iamVjdCwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIERvbGxhclZNQXNzZXJ0U2NvcGUgYXNz
ZXJ0U2NvcGU7CiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpAQCAtMTU5OCw3ICsx
NTk4LDcgQEAgSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKGN1c3RvbVNldEFjY2VzcwogICAgIHJl
dHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoY3VzdG9tU2V0VmFsdWUs
IChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSBzbG90VmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
Y3VzdG9tU2V0VmFsdWUsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSBzbG90VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1l
KSkKIHsKICAgICBEb2xsYXJWTUFzc2VydFNjb3BlIGFzc2VydFNjb3BlOwogICAgIFZNJiB2bSA9
IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTE2MTYsNyArMTYxNiw3IEBAIEpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihjdXN0b21TZXRWYWx1ZSwKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKGN1c3RvbUZ1bmN0aW9uU2V0dGVyLCAoSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoY3VzdG9tRnVuY3Rpb25TZXR0ZXIsIChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIERvbGxhclZNQXNzZXJ0U2NvcGUg
YXNzZXJ0U2NvcGU7CiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpJbmRleDogU291
cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NDcyMSkKKysrIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xICsxLDExIEBACisyMDIxLTAzLTE3ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4K
KworICAgICAgICBBZGQgUHJvcGVydHlOYW1lIHBhcmFtZXRlciB0byBjdXN0b20gc2V0dGVycyB0
byBhbGxvdyBzaGFyZWQgaW1wbGVtZW50YXRpb25zIHRvIGRvIGxhdGUgbmFtZSBsb29rdXAKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzQxMworCisg
ICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBTaHZheWthLgorCisgICAgICAgICogd3RmL1BsYXRm
b3JtQ2FsbGluZ0NvbnZlbnRpb25zLmg6CisgICAgICAgIFVwZGF0ZSBKU0NfREVDTEFSRV9DVVNU
T01fU0VUVEVSIHRvIGFjY291bnQgZm9yIHRoZSBuZXcgUHJvcGVydHlOYW1lIHBhcmFtZXRlci4K
KwogPT0gUm9sbGVkIG92ZXIgdG8gQ2hhbmdlTG9nLTIwMjEtMDMtMTggPT0KSW5kZXg6IFNvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtQ2FsbGluZ0NvbnZlbnRpb25zLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dURi93dGYvUGxhdGZvcm1DYWxsaW5nQ29udmVudGlvbnMuaAkocmV2aXNpb24gMjc0NzIx
KQorKysgU291cmNlL1dURi93dGYvUGxhdGZvcm1DYWxsaW5nQ29udmVudGlvbnMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTA1LDYgKzEwNSw2IEBACiAgICAgcmV0dXJuVHlwZSBKSVRfT1BFUkFUSU9O
X0FUVFJJQlVURVMgZnVuY3Rpb25OYW1lIHBhcmFtZXRlcnMgUkVGRVJFTkNFRF9GUk9NX0FTTQog
CiAjZGVmaW5lIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoZnVuY3Rpb25OYW1lKSBKU0NfREVD
TEFSRV9KSVRfT1BFUkFUSU9OX1dJVEhPVVRfV1RGX0lOVEVSTkFMKGZ1bmN0aW9uTmFtZSwgSlND
OjpFbmNvZGVkSlNWYWx1ZSwgKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1Zh
bHVlLCBKU0M6OlByb3BlcnR5TmFtZSkpCi0jZGVmaW5lIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRU
RVIoZnVuY3Rpb25OYW1lKSBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OX1dJVEhPVVRfV1RGX0lO
VEVSTkFMKGZ1bmN0aW9uTmFtZSwgYm9vbCwgKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVu
Y29kZWRKU1ZhbHVlLCBKU0M6OkVuY29kZWRKU1ZhbHVlKSkKKyNkZWZpbmUgSlNDX0RFQ0xBUkVf
Q1VTVE9NX1NFVFRFUihmdW5jdGlvbk5hbWUpIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lU
SE9VVF9XVEZfSU5URVJOQUwoZnVuY3Rpb25OYW1lLCBib29sLCAoSlNDOjpKU0dsb2JhbE9iamVj
dCosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJvcGVy
dHlOYW1lKSkKICNkZWZpbmUgSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGZ1bmN0aW9uTmFtZSwg
cGFyYW1ldGVycykgSlNDX0RFRklORV9KSVRfT1BFUkFUSU9OX1dJVEhPVVRfVkFSSUFCTEUoZnVu
Y3Rpb25OYW1lLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBwYXJhbWV0ZXJzKQogI2RlZmluZSBKU0Nf
REVGSU5FX0NVU1RPTV9TRVRURVIoZnVuY3Rpb25OYW1lLCBwYXJhbWV0ZXJzKSBKU0NfREVGSU5F
X0pJVF9PUEVSQVRJT05fV0lUSE9VVF9WQVJJQUJMRShmdW5jdGlvbk5hbWUsIGJvb2wsIHBhcmFt
ZXRlcnMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzQ3MjEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw3MSBAQAorMjAyMS0wMy0xNyAg
U2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIFByb3BlcnR5TmFt
ZSBwYXJhbWV0ZXIgdG8gY3VzdG9tIHNldHRlcnMgdG8gYWxsb3cgc2hhcmVkIGltcGxlbWVudGF0
aW9ucyB0byBkbyBsYXRlIG5hbWUgbG9va3VwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM0MTMKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkg
U2h2YXlrYS4KKworICAgICAgICBVcGRhdGUgYmluZGluZ3MgdG8gYWNjb3VudCBmb3IgbmV3IFBy
b3BlcnR5TmFtZSBwYXJhbWV0ZXIgYmVpbmcgcGFzc2VkIHRvIGN1c3RvbSBzZXR0ZXJzLgorCisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChH
ZW5lcmF0ZUF0dHJpYnV0ZVNldHRlclRyYW1wb2xpbmVEZWZpbml0aW9uKToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ19E
RUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlND
X0RFRklORV9DVVNUT01fU0VUVEVSKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Q1NTUHJvcGVydHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
Q2FsbFRyYWNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDb25kaXRpb25h
bEluY2x1ZGVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
Uik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFs
bHlSZWFkV3JpdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRv
SlNPTi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OSW5o
ZXJpdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OSW5o
ZXJpdEZpbmFsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
Uik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRCeVNl
dHRpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEZvckNvbnRl
eHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpK
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNXb3JrbGV0R2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKToKKwogMjAyMS0wMy0xOSAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2
YXIgIDxjYWx2YXJpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdW0VNRV0gUmVt
b3ZlIERSTSByZXNvdXJjZXMgcmVsZWFzZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHJldmlzaW9uIDI3NDcyMSkKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCSh3b3Jr
aW5nIGNvcHkpCkBAIC01NTQwLDcgKzU1NDAsNyBAQCBzdWIgR2VuZXJhdGVBdHRyaWJ1dGVTZXR0
ZXJUcmFtcG9saW5lRGVmCiAgICAgcHVzaChAdGVtcGxhdGVQYXJhbWV0ZXJzLCAkYXR0cmlidXRl
U2V0dGVyQm9keU5hbWUpOwogICAgIHB1c2goQHRlbXBsYXRlUGFyYW1ldGVycywgIkNhc3RlZFRo
aXNFcnJvckJlaGF2aW9yOjpSZXR1cm5FYXJseSIpIGlmICRhdHRyaWJ1dGUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+e0xlZ2FjeUxlbmllbnRUaGlzfTsKICAgICAKLSAgICBwdXNoKEAkb3V0cHV0QXJy
YXksICJKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoJHthdHRyaWJ1dGVTZXR0ZXJOYW1lfSwgKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpXG4iKTsKKyAgICBwdXNoKEAkb3V0cHV0
QXJyYXksICJKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoJHthdHRyaWJ1dGVTZXR0ZXJOYW1lfSwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSlcbiIpOwog
ICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIntcbiIpOwogICAgIHB1c2goQCRvdXRwdXRBcnJheSwg
IiAgICByZXR1cm4gSURMQXR0cmlidXRlPCR7Y2xhc3NOYW1lfT46OiR7Y2FsbEF0dHJpYnV0ZVNl
dHRlck5hbWV9PCIgLiBqb2luKCIsICIsIEB0ZW1wbGF0ZVBhcmFtZXRlcnMpIC4gIj4oKmxleGlj
YWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCBcIiIgLiAkYXR0cmlidXRl
LT5uYW1lIC4gIlwiKTtcbiIpOwogICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIn1cblxuIik7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFj
dGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHAJKHJldmlzaW9uIDI3NDcyMSkKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTIyOSw3ICsyMjksNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0
SlNUZXN0Q0VSZWFjdGlvbnNfCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RDRVJlYWN0aW9uc19hdHRyaWJ1dGVXaXRoQ0VSZWFjdGlvbnMs
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdENFUmVhY3Rpb25zX2F0dHJpYnV0ZVdpdGhDRVJlYWN0aW9ucywgKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICBy
ZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdENFUmVhY3Rpb25zPjo6c2V0PHNldEpTVGVzdENFUmVh
Y3Rpb25zX2F0dHJpYnV0ZVdpdGhDRVJlYWN0aW9uc1NldHRlcj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiYXR0cmlidXRlV2l0aENFUmVhY3Rpb25zIik7
CiB9CkBAIC0yNjEsNyArMjYxLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdENFUmVh
Y3Rpb25zXwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0Q0VSZWFjdGlvbnNfcmVmbGVjdEF0dHJpYnV0ZVdpdGhDRVJlYWN0aW9ucywgKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0Q0VSZWFjdGlvbnNfcmVmbGVjdEF0dHJpYnV0ZVdpdGhDRVJlYWN0aW9ucywg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAg
ICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdENFUmVhY3Rpb25zPjo6c2V0PHNldEpTVGVzdENF
UmVhY3Rpb25zX3JlZmxlY3RBdHRyaWJ1dGVXaXRoQ0VSZWFjdGlvbnNTZXR0ZXI+KCpsZXhpY2Fs
R2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInJlZmxlY3RBdHRyaWJ1dGVX
aXRoQ0VSZWFjdGlvbnMiKTsKIH0KQEAgLTI5Nyw3ICsyOTcsNyBAQCBzdGF0aWMgaW5saW5lIGJv
b2wgc2V0SlNUZXN0Q0VSZWFjdGlvbnNfCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJ
TkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RDRVJlYWN0aW9uc19zdHJpbmdpZmllckF0dHJpYnV0
ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RP
TV9TRVRURVIoc2V0SlNUZXN0Q0VSZWFjdGlvbnNfc3RyaW5naWZpZXJBdHRyaWJ1dGUsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0
dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RDRVJlYWN0aW9ucz46OnNldDxzZXRKU1Rlc3RDRVJlYWN0
aW9uc19zdHJpbmdpZmllckF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRo
aXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAic3RyaW5naWZpZXJBdHRyaWJ1dGUiKTsKIH0KQEAgLTMy
OSw3ICszMjksNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0Q0VSZWFjdGlvbnNfCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RD
RVJlYWN0aW9uc19hdHRyaWJ1dGVXaXRoQ0VSZWFjdGlvbnNOb3ROZWVkZWQsIChKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpT
VGVzdENFUmVhY3Rpb25zX2F0dHJpYnV0ZVdpdGhDRVJlYWN0aW9uc05vdE5lZWRlZCwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1
cm4gSURMQXR0cmlidXRlPEpTVGVzdENFUmVhY3Rpb25zPjo6c2V0PHNldEpTVGVzdENFUmVhY3Rp
b25zX2F0dHJpYnV0ZVdpdGhDRVJlYWN0aW9uc05vdE5lZWRlZFNldHRlcj4oKmxleGljYWxHbG9i
YWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiYXR0cmlidXRlV2l0aENFUmVhY3Rp
b25zTm90TmVlZGVkIik7CiB9CkBAIC0zNjEsNyArMzYxLDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdENFUmVhY3Rpb25zXwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q0VSZWFjdGlvbnNfcmVmbGVjdEF0dHJpYnV0ZVdpdGhD
RVJlYWN0aW9uc05vdE5lZWRlZCwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkp
CitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q0VSZWFjdGlvbnNfcmVmbGVjdEF0
dHJpYnV0ZVdpdGhDRVJlYWN0aW9uc05vdE5lZWRlZCwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpT
VGVzdENFUmVhY3Rpb25zPjo6c2V0PHNldEpTVGVzdENFUmVhY3Rpb25zX3JlZmxlY3RBdHRyaWJ1
dGVXaXRoQ0VSZWFjdGlvbnNOb3ROZWVkZWRTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0
aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInJlZmxlY3RBdHRyaWJ1dGVXaXRoQ0VSZWFjdGlvbnNO
b3ROZWVkZWQiKTsKIH0KQEAgLTM5Nyw3ICszOTcsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0
SlNUZXN0Q0VSZWFjdGlvbnNfCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RDRVJlYWN0aW9uc19zdHJpbmdpZmllckF0dHJpYnV0ZU5vdE5l
ZWRlZCwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NV
U1RPTV9TRVRURVIoc2V0SlNUZXN0Q0VSZWFjdGlvbnNfc3RyaW5naWZpZXJBdHRyaWJ1dGVOb3RO
ZWVkZWQsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFs
dWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkp
CiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RDRVJlYWN0aW9ucz46OnNldDxzZXRK
U1Rlc3RDRVJlYWN0aW9uc19zdHJpbmdpZmllckF0dHJpYnV0ZU5vdE5lZWRlZFNldHRlcj4oKmxl
eGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAic3RyaW5naWZpZXJB
dHRyaWJ1dGVOb3ROZWVkZWQiKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFj
dGlvbnNTdHJpbmdpZmllci5jcHAJKHJldmlzaW9uIDI3NDcyMSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjExLDcgKzIxMSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBz
ZXRKU1Rlc3RDRVJlYWN0aW9uc1MKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJfdmFsdWUsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJfdmFsdWUsIChKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJp
YnV0ZTxKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyPjo6c2V0PHNldEpTVGVzdENFUmVhY3Rp
b25zU3RyaW5naWZpZXJfdmFsdWVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFs
dWUsIGVuY29kZWRWYWx1ZSwgInZhbHVlIik7CiB9CkBAIC0yNDMsNyArMjQzLDcgQEAgc3RhdGlj
IGlubGluZSBib29sIHNldEpTVGVzdENFUmVhY3Rpb25zUwogICAgIHJldHVybiB0cnVlOwogfQog
Ci1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmll
cl92YWx1ZVdpdGhvdXRSZWFjdGlvbnMsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENFUmVhY3Rpb25zU3RyaW5n
aWZpZXJfdmFsdWVXaXRob3V0UmVhY3Rpb25zLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0
Q0VSZWFjdGlvbnNTdHJpbmdpZmllcj46OnNldDxzZXRKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lm
aWVyX3ZhbHVlV2l0aG91dFJlYWN0aW9uc1NldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRo
aXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAidmFsdWVXaXRob3V0UmVhY3Rpb25zIik7CiB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q1NTUHJvcGVy
dHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RDU1NQcm9wZXJ0eS5jcHAJKHJldmlzaW9uIDI3NDcyMSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDU1NQcm9wZXJ0eS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE5OCw3ICsxOTgsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNU
ZXN0Q1NTUHJvcGVydHlfCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RDU1NQcm9wZXJ0eV9wcm9wZXJ0eSwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q1NT
UHJvcGVydHlfcHJvcGVydHksIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFBy
b3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RDU1NQcm9wZXJ0
eT46OnNldDxzZXRKU1Rlc3RDU1NQcm9wZXJ0eV9wcm9wZXJ0eVNldHRlcj4oKmxleGljYWxHbG9i
YWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAicHJvcGVydHkiKTsKIH0KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsVHJhY2Vy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Q2FsbFRyYWNlci5jcHAJKHJldmlzaW9uIDI3NDcyMSkKKysrIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsVHJhY2VyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjU0LDcgKzI1NCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RD
YWxsVHJhY2VyX3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKHNldEpTVGVzdENhbGxUcmFjZXJfdGVzdEF0dHJpYnV0ZUludGVyZmFjZSwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0Q2FsbFRyYWNlcl90ZXN0QXR0cmlidXRlSW50ZXJmYWNlLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRy
aWJ1dGU8SlNUZXN0Q2FsbFRyYWNlcj46OnNldDxzZXRKU1Rlc3RDYWxsVHJhY2VyX3Rlc3RBdHRy
aWJ1dGVJbnRlcmZhY2VTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVu
Y29kZWRWYWx1ZSwgInRlc3RBdHRyaWJ1dGVJbnRlcmZhY2UiKTsKIH0KQEAgLTI4OSw3ICsyODks
NyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0Q2FsbFRyYWNlcl90CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RDYWxsVHJhY2Vy
X3Rlc3RBdHRyaWJ1dGVTcGVjaWZpZWQsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENhbGxUcmFjZXJfdGVzdEF0
dHJpYnV0ZVNwZWNpZmllZCwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJv
cGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdENhbGxUcmFjZXI+
OjpzZXQ8c2V0SlNUZXN0Q2FsbFRyYWNlcl90ZXN0QXR0cmlidXRlU3BlY2lmaWVkU2V0dGVyPigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJ0ZXN0QXR0cmli
dXRlU3BlY2lmaWVkIik7CiB9CkBAIC0zMjQsNyArMzI0LDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdENhbGxUcmFjZXJfdAogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q2FsbFRyYWNlcl90ZXN0QXR0cmlidXRlV2l0aFZhcmlh
bnQsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdENhbGxUcmFjZXJfdGVzdEF0dHJpYnV0ZVdpdGhWYXJpYW50LCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAg
IHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0Q2FsbFRyYWNlcj46OnNldDxzZXRKU1Rlc3RDYWxs
VHJhY2VyX3Rlc3RBdHRyaWJ1dGVXaXRoVmFyaWFudFNldHRlcj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAidGVzdEF0dHJpYnV0ZVdpdGhWYXJpYW50Iik7
CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
Q29uZGl0aW9uYWxJbmNsdWRlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXMuY3BwCShyZXZp
c2lvbiAyNzQ3MjEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Q29uZGl0aW9uYWxJbmNsdWRlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1Nyw3ICs1
NTcsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0Q29uZGl0aW9uYWxJCiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RDb25kaXRp
b25hbEluY2x1ZGVzX21peGluQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RDb25kaXRpb25hbElu
Y2x1ZGVzX21peGluQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
LCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0Q29uZGl0
aW9uYWxJbmNsdWRlcz46OnNldDxzZXRKU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzX21peGluQXR0
cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFs
dWUsICJtaXhpbkF0dHJpYnV0ZSIpOwogfQpAQCAtNTg2LDcgKzU4Niw3IEBAIHN0YXRpYyBpbmxp
bmUgYm9vbCBzZXRKU1Rlc3RDb25kaXRpb25hbEkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXNfbWl4aW5D
dXN0b21BdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXNfbWl4aW5D
dXN0b21BdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3Bl
cnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RDb25kaXRpb25hbElu
Y2x1ZGVzPjo6c2V0PHNldEpTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXNfbWl4aW5DdXN0b21BdHRy
aWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1
ZSwgIm1peGluQ3VzdG9tQXR0cmlidXRlIik7CiB9CkBAIC02MjMsNyArNjIzLDcgQEAgc3RhdGlj
IGlubGluZSBib29sIHNldEpTVGVzdENvbmRpdGlvbmFsSQogICAgIHJldHVybiB0cnVlOwogfQog
Ci1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q29uZGl0aW9uYWxJbmNsdWRlc19t
aXhpbk5vZGVBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQor
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXNfbWl4
aW5Ob2RlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9w
ZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0Q29uZGl0aW9uYWxJ
bmNsdWRlcz46OnNldDxzZXRKU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzX21peGluTm9kZUF0dHJp
YnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVl
LCAibWl4aW5Ob2RlQXR0cmlidXRlIik7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENv
bmRpdGlvbmFsbHlSZWFkV3JpdGUuY3BwCShyZXZpc2lvbiAyNzQ3MjEpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxMCw3ICszMTAsNyBAQCBzdGF0aWMgaW5saW5lIGJv
b2wgc2V0SlNUZXN0Q29uZGl0aW9uYWxsCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJ
TkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX2NvbmRpdGlv
bmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENvbmRpdGlvbmFsbHlSZWFk
V3JpdGVfY29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmli
dXRlPEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGU+OjpzZXQ8c2V0SlNUZXN0Q29uZGl0aW9u
YWxseVJlYWRXcml0ZV9jb25kaXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRlU2V0dGVyPigqbGV4
aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJjb25kaXRpb25hbGx5
UmVhZFdyaXRlQXR0cmlidXRlIik7CiB9CkBAIC0zNDgsNyArMzQ4LDcgQEAgc3RhdGljIGlubGlu
ZSBib29sIHNldEpTVGVzdENvbmRpdGlvbmFsbAogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0Nf
REVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZV9jb25k
aXRpb25hbEFuZENvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVz
dENvbmRpdGlvbmFsbHlSZWFkV3JpdGVfY29uZGl0aW9uYWxBbmRDb25kaXRpb25hbGx5UmVhZFdy
aXRlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0
eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0Q29uZGl0aW9uYWxseVJl
YWRXcml0ZT46OnNldDxzZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX2NvbmRpdGlvbmFs
QW5kQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxP
YmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiY29uZGl0aW9uYWxBbmRDb25kaXRpb25h
bGx5UmVhZFdyaXRlQXR0cmlidXRlIik7CiB9CkBAIC0zODMsNyArMzgzLDcgQEAgc3RhdGljIGlu
bGluZSBib29sIHNldEpTVGVzdENvbmRpdGlvbmFsbAogICAgIHJldHVybiB0cnVlOwogfQogCi1K
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZV9y
dW50aW1lQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q29u
ZGl0aW9uYWxseVJlYWRXcml0ZV9ydW50aW1lQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0
ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsK
ICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGU+Ojpz
ZXQ8c2V0SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZV9ydW50aW1lQ29uZGl0aW9uYWxseVJl
YWRXcml0ZUF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwg
ZW5jb2RlZFZhbHVlLCAicnVudGltZUNvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGUiKTsK
IH0KQEAgLTQxNCw3ICs0MTQsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0Q29uZGl0
aW9uYWxsCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX3J1bnRpbWVDb25kaXRpb25hbGx5UmVhZFdy
aXRlQXR0cmlidXRlVW5mb3JnZWFibGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdENvbmRpdGlvbmFsbHlSZWFk
V3JpdGVfcnVudGltZUNvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVVbmZvcmdlYWJsZSwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAg
ICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGU+OjpzZXQ8
c2V0SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZV9ydW50aW1lQ29uZGl0aW9uYWxseVJlYWRX
cml0ZUF0dHJpYnV0ZVVuZm9yZ2VhYmxlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhp
c1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJydW50aW1lQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJp
YnV0ZVVuZm9yZ2VhYmxlIik7CiB9CkBAIC00NDUsNyArNDQ1LDcgQEAgc3RhdGljIGlubGluZSBi
b29sIHNldEpTVGVzdENvbmRpdGlvbmFsbAogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVG
SU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZV9ydW50aW1l
Q29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZVVuZm9yZ2VhYmxlUHJpdmF0ZSwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZV9ydW50aW1lQ29uZGl0aW9uYWxseVJlYWRX
cml0ZUF0dHJpYnV0ZVVuZm9yZ2VhYmxlUHJpdmF0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpT
VGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGU+OjpzZXQ8c2V0SlNUZXN0Q29uZGl0aW9uYWxseVJl
YWRXcml0ZV9ydW50aW1lQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZVVuZm9yZ2VhYmxl
UHJpdmF0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCAicnVudGltZUNvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVVbmZvcmdlYWJsZVBy
aXZhdGUiKTsKIH0KQEAgLTQ3Niw3ICs0NzYsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNU
ZXN0Q29uZGl0aW9uYWxsCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX3J1bnRpbWVDb25kaXRpb25h
bGx5UmVhZFdyaXRlQXR0cmlidXRlUHJvbWlzZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q29uZGl0aW9uYWxs
eVJlYWRXcml0ZV9ydW50aW1lQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZVByb21pc2Us
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAg
ICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlPjo6c2V0
PHNldEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGVfcnVudGltZUNvbmRpdGlvbmFsbHlSZWFk
V3JpdGVBdHRyaWJ1dGVQcm9taXNlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1Zh
bHVlLCBlbmNvZGVkVmFsdWUsICJydW50aW1lQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0
ZVByb21pc2UiKTsKIH0KQEAgLTUwNyw3ICs1MDcsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0
SlNUZXN0Q29uZGl0aW9uYWxsCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX3NldHRpbmdzQ29uZGl0
aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q29uZGl0aW9uYWxseVJl
YWRXcml0ZV9zZXR0aW5nc0NvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGUsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJu
IElETEF0dHJpYnV0ZTxKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlPjo6c2V0PHNldEpTVGVz
dENvbmRpdGlvbmFsbHlSZWFkV3JpdGVfc2V0dGluZ3NDb25kaXRpb25hbGx5UmVhZFdyaXRlQXR0
cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFs
dWUsICJzZXR0aW5nc0NvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGUiKTsKIH0KQEAgLTUz
OCw3ICs1MzgsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0Q29uZGl0aW9uYWxsCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RD
b25kaXRpb25hbGx5UmVhZFdyaXRlX3NldHRpbmdzQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJp
YnV0ZVVuZm9yZ2VhYmxlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX3Nl
dHRpbmdzQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZVVuZm9yZ2VhYmxlLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVy
biBJRExBdHRyaWJ1dGU8SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZT46OnNldDxzZXRKU1Rl
c3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX3NldHRpbmdzQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0
dHJpYnV0ZVVuZm9yZ2VhYmxlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVl
LCBlbmNvZGVkVmFsdWUsICJzZXR0aW5nc0NvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVV
bmZvcmdlYWJsZSIpOwogfQpAQCAtNTY5LDcgKzU2OSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBz
ZXRKU1Rlc3RDb25kaXRpb25hbGwKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGVfc2V0dGluZ3NDb25k
aXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRlVW5mb3JnZWFibGVQcml2YXRlLCAoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRK
U1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX3NldHRpbmdzQ29uZGl0aW9uYWxseVJlYWRXcml0
ZUF0dHJpYnV0ZVVuZm9yZ2VhYmxlUHJpdmF0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVz
dENvbmRpdGlvbmFsbHlSZWFkV3JpdGU+OjpzZXQ8c2V0SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRX
cml0ZV9zZXR0aW5nc0NvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVVbmZvcmdlYWJsZVBy
aXZhdGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1
ZSwgInNldHRpbmdzQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZVVuZm9yZ2VhYmxlUHJp
dmF0ZSIpOwogfQpAQCAtNjAwLDcgKzYwMCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rl
c3RDb25kaXRpb25hbGwKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGVfc2V0dGluZ3NDb25kaXRpb25h
bGx5UmVhZFdyaXRlQXR0cmlidXRlUHJvbWlzZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0Q29uZGl0aW9uYWxs
eVJlYWRXcml0ZV9zZXR0aW5nc0NvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVQcm9taXNl
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewog
ICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZT46OnNl
dDxzZXRKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlX3NldHRpbmdzQ29uZGl0aW9uYWxseVJl
YWRXcml0ZUF0dHJpYnV0ZVByb21pc2VTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlz
VmFsdWUsIGVuY29kZWRWYWx1ZSwgInNldHRpbmdzQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJp
YnV0ZVByb21pc2UiKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTi5jcHAJKHJl
dmlzaW9uIDI3NDcyMSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3REZWZhdWx0VG9KU09OLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMyLDcgKzMzMiw3
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3REZWZhdWx0VG9KU08KICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pT
T05fZXZlbnRIYW5kbGVyQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3REZWZhdWx0VG9KU09OX2V2
ZW50SGFuZGxlckF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwg
UHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdERlZmF1bHRU
b0pTT04+OjpzZXQ8c2V0SlNUZXN0RGVmYXVsdFRvSlNPTl9ldmVudEhhbmRsZXJBdHRyaWJ1dGVT
ZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImV2
ZW50SGFuZGxlckF0dHJpYnV0ZSIpOwogfQpAQCAtMzYzLDcgKzM2Myw3IEBAIHN0YXRpYyBpbmxp
bmUgYm9vbCBzZXRKU1Rlc3REZWZhdWx0VG9KU08KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05fZmlyc3RTdHJpbmdB
dHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05fZmlyc3RTdHJpbmdBdHRyaWJ1
dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7
CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3REZWZhdWx0VG9KU09OPjo6c2V0PHNldEpT
VGVzdERlZmF1bHRUb0pTT05fZmlyc3RTdHJpbmdBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImZpcnN0U3RyaW5nQXR0cmlidXRl
Iik7CiB9CkBAIC0zOTQsNyArMzk0LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdERl
ZmF1bHRUb0pTTwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0RGVmYXVsdFRvSlNPTl9zZWNvbmRMb25nQXR0cmlidXRlLCAoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRK
U1Rlc3REZWZhdWx0VG9KU09OX3NlY29uZExvbmdBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJp
YnV0ZTxKU1Rlc3REZWZhdWx0VG9KU09OPjo6c2V0PHNldEpTVGVzdERlZmF1bHRUb0pTT05fc2Vj
b25kTG9uZ0F0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwg
ZW5jb2RlZFZhbHVlLCAic2Vjb25kTG9uZ0F0dHJpYnV0ZSIpOwogfQpAQCAtNDI1LDcgKzQyNSw3
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3REZWZhdWx0VG9KU08KICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pT
T05fdGhpcmRVbkpTT05hYmxlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3REZWZhdWx0VG9KU09O
X3RoaXJkVW5KU09OYWJsZUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdERl
ZmF1bHRUb0pTT04+OjpzZXQ8c2V0SlNUZXN0RGVmYXVsdFRvSlNPTl90aGlyZFVuSlNPTmFibGVB
dHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRW
YWx1ZSwgInRoaXJkVW5KU09OYWJsZUF0dHJpYnV0ZSIpOwogfQpAQCAtNDU2LDcgKzQ1Niw3IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3REZWZhdWx0VG9KU08KICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05f
Zm91cnRoVW5yZXN0cmljdGVkRG91YmxlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3REZWZhdWx0
VG9KU09OX2ZvdXJ0aFVucmVzdHJpY3RlZERvdWJsZUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0
cmlidXRlPEpTVGVzdERlZmF1bHRUb0pTT04+OjpzZXQ8c2V0SlNUZXN0RGVmYXVsdFRvSlNPTl9m
b3VydGhVbnJlc3RyaWN0ZWREb3VibGVBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImZvdXJ0aFVucmVzdHJpY3RlZERvdWJsZUF0
dHJpYnV0ZSIpOwogfQpAQCAtNDg3LDcgKzQ4Nyw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRK
U1Rlc3REZWZhdWx0VG9KU08KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05fZmlmdGhMb25nQ2xhbXBlZEF0dHJpYnV0
ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RP
TV9TRVRURVIoc2V0SlNUZXN0RGVmYXVsdFRvSlNPTl9maWZ0aExvbmdDbGFtcGVkQXR0cmlidXRl
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewog
ICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0RGVmYXVsdFRvSlNPTj46OnNldDxzZXRKU1Rl
c3REZWZhdWx0VG9KU09OX2ZpZnRoTG9uZ0NsYW1wZWRBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2Fs
R2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImZpZnRoTG9uZ0NsYW1wZWRB
dHRyaWJ1dGUiKTsKIH0KQEAgLTUxOCw3ICs1MTgsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0
SlNUZXN0RGVmYXVsdFRvSlNPCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3REZWZhdWx0VG9KU09OX3NpeHRoVHlwZWRlZkF0dHJpYnV0ZSwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0RGVmYXVsdFRvSlNPTl9zaXh0aFR5cGVkZWZBdHRyaWJ1dGUsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0
dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3REZWZhdWx0VG9KU09OPjo6c2V0PHNldEpTVGVzdERlZmF1
bHRUb0pTT05fc2l4dGhUeXBlZGVmQXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzaXh0aFR5cGVkZWZBdHRyaWJ1dGUiKTsKIH0K
QEAgLTU0OSw3ICs1NDksNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0RGVmYXVsdFRv
SlNPCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRK
U1Rlc3REZWZhdWx0VG9KU09OX3NldmVudGhEaXJlY3RseVRvSlNPTmFibGVBdHRyaWJ1dGUsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05fc2V2ZW50aERpcmVjdGx5VG9KU09OYWJsZUF0dHJp
YnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkK
IHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdERlZmF1bHRUb0pTT04+OjpzZXQ8c2V0
SlNUZXN0RGVmYXVsdFRvSlNPTl9zZXZlbnRoRGlyZWN0bHlUb0pTT05hYmxlQXR0cmlidXRlU2V0
dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzZXZl
bnRoRGlyZWN0bHlUb0pTT05hYmxlQXR0cmlidXRlIik7CiB9CkBAIC01ODAsNyArNTgwLDcgQEAg
c3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdERlZmF1bHRUb0pTTwogICAgIHJldHVybiB0cnVl
OwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RGVmYXVsdFRvSlNPTl9l
aWdodGhJbmRpcmVjdGx5QXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3REZWZhdWx0VG9KU09OX2Vp
Z2h0aEluZGlyZWN0bHlBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3REZWZh
dWx0VG9KU09OPjo6c2V0PHNldEpTVGVzdERlZmF1bHRUb0pTT05fZWlnaHRoSW5kaXJlY3RseUF0
dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCAiZWlnaHRoSW5kaXJlY3RseUF0dHJpYnV0ZSIpOwogfQpAQCAtNjExLDcgKzYxMSw3IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3REZWZhdWx0VG9KU08KICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05f
bmludGhPcHRpb25hbERpcmVjdGx5VG9KU09OYWJsZUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
RGVmYXVsdFRvSlNPTl9uaW50aE9wdGlvbmFsRGlyZWN0bHlUb0pTT05hYmxlQXR0cmlidXRlLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAg
IHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0RGVmYXVsdFRvSlNPTj46OnNldDxzZXRKU1Rlc3RE
ZWZhdWx0VG9KU09OX25pbnRoT3B0aW9uYWxEaXJlY3RseVRvSlNPTmFibGVBdHRyaWJ1dGVTZXR0
ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIm5pbnRo
T3B0aW9uYWxEaXJlY3RseVRvSlNPTmFibGVBdHRyaWJ1dGUiKTsKIH0KQEAgLTY0Miw3ICs2NDIs
NyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0RGVmYXVsdFRvSlNPCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3REZWZhdWx0VG9K
U09OX3RlbnRoRnJvemVuQXJyYXlBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pT
T05fdGVudGhGcm96ZW5BcnJheUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVz
dERlZmF1bHRUb0pTT04+OjpzZXQ8c2V0SlNUZXN0RGVmYXVsdFRvSlNPTl90ZW50aEZyb3plbkFy
cmF5QXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNv
ZGVkVmFsdWUsICJ0ZW50aEZyb3plbkFycmF5QXR0cmlidXRlIik7CiB9CkBAIC02NzMsNyArNjcz
LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdERlZmF1bHRUb0pTTwogICAgIHJldHVy
biB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RGVmYXVsdFRv
SlNPTl9lbGV2ZW50aFNlcXVlbmNlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3REZWZhdWx0VG9K
U09OX2VsZXZlbnRoU2VxdWVuY2VBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rl
c3REZWZhdWx0VG9KU09OPjo6c2V0PHNldEpTVGVzdERlZmF1bHRUb0pTT05fZWxldmVudGhTZXF1
ZW5jZUF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5j
b2RlZFZhbHVlLCAiZWxldmVudGhTZXF1ZW5jZUF0dHJpYnV0ZSIpOwogfQpAQCAtNzA0LDcgKzcw
NCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3REZWZhdWx0VG9KU08KICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRU
b0pTT05fdHdlbGZ0aEludGVyZmFjZVNlcXVlbmNlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RE
ZWZhdWx0VG9KU09OX3R3ZWxmdGhJbnRlcmZhY2VTZXF1ZW5jZUF0dHJpYnV0ZSwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4g
SURMQXR0cmlidXRlPEpTVGVzdERlZmF1bHRUb0pTT04+OjpzZXQ8c2V0SlNUZXN0RGVmYXVsdFRv
SlNPTl90d2VsZnRoSW50ZXJmYWNlU2VxdWVuY2VBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInR3ZWxmdGhJbnRlcmZhY2VTZXF1
ZW5jZUF0dHJpYnV0ZSIpOwogfQpAQCAtNzM1LDcgKzczNSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBzZXRKU1Rlc3REZWZhdWx0VG9KU08KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05fdGhpcnRlZW50aFJlY29yZEF0
dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RGVmYXVsdFRvSlNPTl90aGlydGVlbnRoUmVjb3JkQXR0
cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUp
KQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0RGVmYXVsdFRvSlNPTj46OnNldDxz
ZXRKU1Rlc3REZWZhdWx0VG9KU09OX3RoaXJ0ZWVudGhSZWNvcmRBdHRyaWJ1dGVTZXR0ZXI+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInRoaXJ0ZWVudGhS
ZWNvcmRBdHRyaWJ1dGUiKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pT
T05Jbmhlcml0LmNwcAkocmV2aXNpb24gMjc0NzIxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjE2LDcgKzIxNiw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RE
ZWZhdWx0VG9KU08KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0X2luaGVyaXRMb25nQXR0cmlidXRlLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NF
VFRFUihzZXRKU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdF9pbmhlcml0TG9uZ0F0dHJpYnV0ZSwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAg
ICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0Pjo6c2V0PHNl
dEpTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0X2luaGVyaXRMb25nQXR0cmlidXRlU2V0dGVyPigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJpbmhlcml0TG9u
Z0F0dHJpYnV0ZSIpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWwuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9K
U09OSW5oZXJpdEZpbmFsLmNwcAkocmV2aXNpb24gMjc0NzIxKQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWwu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTksNyArMjE5LDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdERlZmF1bHRUb0pTTwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbF9maW5hbExv
bmdBdHRyaWJ1dGVGb28sIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWxf
ZmluYWxMb25nQXR0cmlidXRlRm9vLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
LCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0RGVmYXVs
dFRvSlNPTkluaGVyaXRGaW5hbD46OnNldDxzZXRKU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZp
bmFsX2ZpbmFsTG9uZ0F0dHJpYnV0ZUZvb1NldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRo
aXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiZmluYWxMb25nQXR0cmlidXRlRm9vIik7CiB9CkBAIC0y
NTAsNyArMjUwLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdERlZmF1bHRUb0pTTwog
ICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbF9maW5hbExvbmdBdHRyaWJ1dGVCYXIsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWxfZmluYWxMb25nQXR0cmlidXRlQmFyLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAg
IHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbD46OnNl
dDxzZXRKU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZpbmFsX2ZpbmFsTG9uZ0F0dHJpYnV0ZUJh
clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAi
ZmluYWxMb25nQXR0cmlidXRlQmFyIik7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGluZy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRC
eVNldHRpbmcuY3BwCShyZXZpc2lvbiAyNzQ3MjEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGluZy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM1NSw3ICszNTUsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0RW5hYmxl
ZEJ5U2V0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RFbmFibGVkQnlTZXR0aW5nX2VuYWJsZWRCeVNldHRpbmdBdHRyaWJ1dGUsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfZW5hYmxlZEJ5U2V0dGluZ0F0dHJpYnV0ZSwgKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICBy
ZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEVuYWJsZWRCeVNldHRpbmc+OjpzZXQ8c2V0SlNUZXN0
RW5hYmxlZEJ5U2V0dGluZ19lbmFibGVkQnlTZXR0aW5nQXR0cmlidXRlU2V0dGVyPigqbGV4aWNh
bEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJlbmFibGVkQnlTZXR0aW5n
QXR0cmlidXRlIik7CiB9CkBAIC0zOTIsNyArMzkyLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNl
dEpTVGVzdEVuYWJsZWRCeVNldAogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NV
U1RPTV9TRVRURVIoc2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ19lbmFibGVkQnlUd29TZXR0aW5n
c0F0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVG
SU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ19lbmFibGVkQnlUd29T
ZXR0aW5nc0F0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJv
cGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEVuYWJsZWRCeVNl
dHRpbmc+OjpzZXQ8c2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ19lbmFibGVkQnlUd29TZXR0aW5n
c0F0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2Rl
ZFZhbHVlLCAiZW5hYmxlZEJ5VHdvU2V0dGluZ3NBdHRyaWJ1dGUiKTsKIH0KQEAgLTQyNSw3ICs0
MjUsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0RW5hYmxlZEJ5U2V0CiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RFbmFibGVk
QnlTZXR0aW5nX3N1cHBsZW1lbnRhbEF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RW5hYmxlZEJ5
U2V0dGluZ19zdXBwbGVtZW50YWxBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rl
c3RFbmFibGVkQnlTZXR0aW5nPjo6c2V0PHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfc3VwcGxl
bWVudGFsQXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBl
bmNvZGVkVmFsdWUsICJzdXBwbGVtZW50YWxBdHRyaWJ1dGUiKTsKIH0KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RHbG9iYWxPYmplY3QuY3BwCShyZXZpc2lvbiAyNzQ3MjEpCisrKyBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNzUyLDcgKzc1Miw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9i
YWxPYmplY3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdEdsb2JhbE9iamVjdF9yZWd1bGFyQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RH
bG9iYWxPYmplY3RfcmVndWxhckF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVz
dEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfcmVndWxhckF0dHJpYnV0
ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAi
cmVndWxhckF0dHJpYnV0ZSIpOwogfQpAQCAtNzgzLDcgKzc4Myw3IEBAIHN0YXRpYyBpbmxpbmUg
Ym9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9wdWJsaWNBbmRQcml2YXRl
QXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJ
TkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfcHVibGljQW5kUHJpdmF0ZUF0
dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1l
KSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxz
ZXRKU1Rlc3RHbG9iYWxPYmplY3RfcHVibGljQW5kUHJpdmF0ZUF0dHJpYnV0ZVNldHRlcj4oKmxl
eGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAicHVibGljQW5kUHJp
dmF0ZUF0dHJpYnV0ZSIpOwogfQpAQCAtODE4LDcgKzgxOCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBzZXRKU1Rlc3RHbG9iYWxPYmplY3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9wdWJsaWNBbmRQcml2YXRlQ29u
ZGl0aW9uYWxBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQor
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9wdWJsaWNBbmRQ
cml2YXRlQ29uZGl0aW9uYWxBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
VmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RH
bG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X3B1YmxpY0FuZFByaXZhdGVD
b25kaXRpb25hbEF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1
ZSwgZW5jb2RlZFZhbHVlLCAicHVibGljQW5kUHJpdmF0ZUNvbmRpdGlvbmFsQXR0cmlidXRlIik7
CiB9CkBAIC04NTUsNyArODU1LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2Jh
bE9iamVjdAogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0R2xvYmFsT2JqZWN0X2VuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGUsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdEdsb2JhbE9iamVjdF9lbmFibGVkQXRSdW50aW1lQXR0cmlidXRlLCAoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJ
RExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVj
dF9lbmFibGVkQXRSdW50aW1lQXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
dGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJlbmFibGVkQXRSdW50aW1lQXR0cmlidXRlIik7CiB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50
ZXJmYWNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAkocmV2aXNpb24gMjc0NzIxKQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTU3MCw3ICs1NzAsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNU
ZXN0SW50ZXJmYWNlX21pCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RJbnRlcmZhY2VfbWl4aW5BdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVz
dEludGVyZmFjZV9taXhpbkF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdElu
dGVyZmFjZT46OnNldDxzZXRKU1Rlc3RJbnRlcmZhY2VfbWl4aW5BdHRyaWJ1dGVTZXR0ZXI+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIm1peGluQXR0cmli
dXRlIik7CiB9CkBAIC01OTksNyArNTk5LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVz
dEludGVyZmFjZV9taQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0SW50ZXJmYWNlX21peGluQ3VzdG9tQXR0cmlidXRlLCAoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRK
U1Rlc3RJbnRlcmZhY2VfbWl4aW5DdXN0b21BdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0
ZTxKU1Rlc3RJbnRlcmZhY2U+OjpzZXQ8c2V0SlNUZXN0SW50ZXJmYWNlX21peGluQ3VzdG9tQXR0
cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFs
dWUsICJtaXhpbkN1c3RvbUF0dHJpYnV0ZSIpOwogfQpAQCAtNjM2LDcgKzYzNiw3IEBAIHN0YXRp
YyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RJbnRlcmZhY2VfbWkKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEludGVyZmFjZV9taXhpbk5vZGVB
dHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEludGVyZmFjZV9taXhpbk5vZGVBdHRyaWJ1dGUsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAg
cmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RJbnRlcmZhY2U+OjpzZXQ8c2V0SlNUZXN0SW50ZXJm
YWNlX21peGluTm9kZUF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNW
YWx1ZSwgZW5jb2RlZFZhbHVlLCAibWl4aW5Ob2RlQXR0cmlidXRlIik7CiB9CkBAIC03MDIsNyAr
NzAyLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEludGVyZmFjZUNvbgogICAgIHJl
dHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0SW50ZXJm
YWNlQ29uc3RydWN0b3Jfc3VwcGxlbWVudGFsU3RhdGljQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0SW50
ZXJmYWNlQ29uc3RydWN0b3Jfc3VwcGxlbWVudGFsU3RhdGljQXR0ciwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0
cmlidXRlPEpTVGVzdEludGVyZmFjZT46OnNldFN0YXRpYzxzZXRKU1Rlc3RJbnRlcmZhY2VDb25z
dHJ1Y3Rvcl9zdXBwbGVtZW50YWxTdGF0aWNBdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzdXBwbGVtZW50YWxTdGF0aWNBdHRyIik7CiB9
CkBAIC03NTUsNyArNzU1LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEludGVyZmFj
ZV9zdQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0SW50ZXJmYWNlX3N1cHBsZW1lbnRhbFN0cjIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEludGVyZmFj
ZV9zdXBwbGVtZW50YWxTdHIyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQ
cm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0SW50ZXJmYWNl
Pjo6c2V0PHNldEpTVGVzdEludGVyZmFjZV9zdXBwbGVtZW50YWxTdHIyU2V0dGVyPigqbGV4aWNh
bEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzdXBwbGVtZW50YWxTdHIy
Iik7CiB9CkBAIC03ODQsNyArNzg0LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdElu
dGVyZmFjZV9zdQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0SW50ZXJmYWNlX3N1cHBsZW1lbnRhbFN0cjMsIChKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdElu
dGVyZmFjZV9zdXBwbGVtZW50YWxTdHIzLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0SW50
ZXJmYWNlPjo6c2V0PHNldEpTVGVzdEludGVyZmFjZV9zdXBwbGVtZW50YWxTdHIzU2V0dGVyPigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzdXBwbGVtZW50
YWxTdHIzIik7CiB9CkBAIC04MjEsNyArODIxLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpT
VGVzdEludGVyZmFjZV9zdQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RP
TV9TRVRURVIoc2V0SlNUZXN0SW50ZXJmYWNlX3N1cHBsZW1lbnRhbE5vZGUsIChKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpT
VGVzdEludGVyZmFjZV9zdXBwbGVtZW50YWxOb2RlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNU
ZXN0SW50ZXJmYWNlPjo6c2V0PHNldEpTVGVzdEludGVyZmFjZV9zdXBwbGVtZW50YWxOb2RlU2V0
dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzdXBw
bGVtZW50YWxOb2RlIik7CiB9CkBAIC04NTgsNyArODU4LDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdEludGVyZmFjZV9yZQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0SW50ZXJmYWNlX3JlZmxlY3RBdHRyaWJ1dGUsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdEludGVyZmFjZV9yZWZsZWN0QXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1
dGU8SlNUZXN0SW50ZXJmYWNlPjo6c2V0PHNldEpTVGVzdEludGVyZmFjZV9yZWZsZWN0QXR0cmli
dXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUs
ICJyZWZsZWN0QXR0cmlidXRlIik7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0SlNCdWlsdGluQ29uc3RydWN0b3IuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RKU0J1aWx0
aW5Db25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9uIDI3NDcyMSkKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rvci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTIxMCw3ICsyMTAsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNU
ZXN0SlNCdWlsdGluQ29uCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rvcl90ZXN0QXR0cmlidXRlUldDdXN0
b20sIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yX3Rlc3RBdHRyaWJ1dGVSV0N1
c3RvbSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkK
IHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yPjo6
c2V0PHNldEpTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yX3Rlc3RBdHRyaWJ1dGVSV0N1c3RvbVNl
dHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAidGVz
dEF0dHJpYnV0ZVJXQ3VzdG9tIik7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdh
Y3lOb0ludGVyZmFjZU9iamVjdC5jcHAJKHJldmlzaW9uIDI3NDcyMSkKKysrIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVj
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNyw3ICsyMDcsNyBAQCBzdGF0aWMgaW5saW5lIGJv
b2wgc2V0SlNUZXN0TGVnYWN5Tm9JbnRlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJ
TkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdF9yZWFkV3Jp
dGVTdHJpbmdBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQor
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0
X3JlYWRXcml0ZVN0cmluZ0F0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdExl
Z2FjeU5vSW50ZXJmYWNlT2JqZWN0Pjo6c2V0PHNldEpTVGVzdExlZ2FjeU5vSW50ZXJmYWNlT2Jq
ZWN0X3JlYWRXcml0ZVN0cmluZ0F0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
IHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAicmVhZFdyaXRlU3RyaW5nQXR0cmlidXRlIik7CiB9
CkBAIC0yMzAsNyArMjMwLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdExlZ2FjeU5v
SW50ZQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3RfY3VzdG9tR2V0dGVyU2V0dGVyU3RyaW5nQXR0
cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdF9jdXN0b21HZXR0
ZXJTZXR0ZXJTdHJpbmdBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RMZWdh
Y3lOb0ludGVyZmFjZU9iamVjdD46OnNldDxzZXRKU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVj
dF9jdXN0b21HZXR0ZXJTZXR0ZXJTdHJpbmdBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFs
T2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImN1c3RvbUdldHRlclNldHRlclN0cmlu
Z0F0dHJpYnV0ZSIpOwogfQpAQCAtMjYxLDcgKzI2MSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBz
ZXRKU1Rlc3RMZWdhY3lOb0ludGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0X25vZGVBdHRyaWJ1
dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0X25vZGVBdHRyaWJ1dGUs
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAg
ICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdD46OnNl
dDxzZXRKU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdF9ub2RlQXR0cmlidXRlU2V0dGVyPigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJub2RlQXR0cmli
dXRlIik7CiB9CkBAIC0yOTAsNyArMjkwLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVz
dExlZ2FjeU5vSW50ZQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3RDb25zdHJ1Y3Rvcl9zdGF0aWNT
dHJpbmdBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0Q29u
c3RydWN0b3Jfc3RhdGljU3RyaW5nQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNU
ZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3Q+OjpzZXRTdGF0aWM8c2V0SlNUZXN0TGVnYWN5Tm9J
bnRlcmZhY2VPYmplY3RDb25zdHJ1Y3Rvcl9zdGF0aWNTdHJpbmdBdHRyaWJ1dGVTZXR0ZXI+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInN0YXRpY1N0cmlu
Z0F0dHJpYnV0ZSIpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBM
aWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcAkocmV2aXNpb24gMjc0NzIxKQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1hcExpa2VXaXRoT3Zl
cnJpZGRlbk9wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjcsNyArMjI3LDcgQEAg
c3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE1hcExpa2VXaXRoTwogICAgIHJldHVybiB0cnVl
OwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0TWFwTGlrZVdpdGhPdmVy
cmlkZGVuT3BlcmF0aW9uc19zZXQsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUp
KQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRl
bk9wZXJhdGlvbnNfc2V0LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9w
ZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0TWFwTGlrZVdpdGhP
dmVycmlkZGVuT3BlcmF0aW9ucz46OnNldDxzZXRKU1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5P
cGVyYXRpb25zX3NldFNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5j
b2RlZFZhbHVlLCAic2V0Iik7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCShyZXZpc2lvbiAyNzQ3MjEp
CisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMwMCw3ICszMDAsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wg
c2V0SlNUZXN0Tm9kZV9uYW1lU2V0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3ROb2RlX25hbWUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE5vZGVfbmFt
ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsK
ICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE5vZGU+OjpzZXQ8c2V0SlNUZXN0Tm9kZV9u
YW1lU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUs
ICJuYW1lIik7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0T2JqLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAkocmV2aXNpb24gMjc0NzIxKQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI2MzEsNyArMjYzMSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RP
YmpDb25zdHJ1Y3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKHNldEpTVGVzdE9iakNvbnN0cnVjdG9yX3N0YXRpY1N0cmluZ0F0dHIsIChKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpT
VGVzdE9iakNvbnN0cnVjdG9yX3N0YXRpY1N0cmluZ0F0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0
ZTxKU1Rlc3RPYmo+OjpzZXRTdGF0aWM8c2V0SlNUZXN0T2JqQ29uc3RydWN0b3Jfc3RhdGljU3Ry
aW5nQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCAic3RhdGljU3RyaW5nQXR0ciIpOwogfQpAQCAtMjY5Myw3ICsyNjkzLDcgQEAgc3RhdGlj
IGlubGluZSBib29sIHNldEpTVGVzdE9ial9lbnVtQXR0cgogICAgIHJldHVybiB0cnVlOwogfQog
Ci1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2VudW1BdHRyLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RPYmpfZW51bUF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUs
IFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+Ojpz
ZXQ8c2V0SlNUZXN0T2JqX2VudW1BdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhp
c1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJlbnVtQXR0ciIpOwogfQpAQCAtMjcyNCw3ICsyNzI0LDcg
QEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9ieXRlQXR0cgogICAgIHJldHVybiB0
cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2J5dGVBdHRy
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RPYmpfYnl0ZUF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rl
c3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX2J5dGVBdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9i
amVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJieXRlQXR0ciIpOwogfQpAQCAtMjc1NSw3
ICsyNzU1LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9vY3RldEF0dAogICAg
IHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2Jq
X29jdGV0QXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVG
SU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX29jdGV0QXR0ciwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0
cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfb2N0ZXRBdHRyU2V0dGVyPigqbGV4
aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJvY3RldEF0dHIiKTsK
IH0KQEAgLTI3ODYsNyArMjc4Niw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpf
c2hvcnRBdHQKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdE9ial9zaG9ydEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9zaG9ydEF0dHIsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAg
cmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3Nob3J0QXR0
clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAi
c2hvcnRBdHRyIik7CiB9CkBAIC0yODE3LDcgKzI4MTcsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wg
c2V0SlNUZXN0T2JqX2NsYW1wZWRTCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfY2xhbXBlZFNob3J0QXR0ciwgKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNU
ZXN0T2JqX2NsYW1wZWRTaG9ydEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+
OjpzZXQ8c2V0SlNUZXN0T2JqX2NsYW1wZWRTaG9ydEF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFs
T2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImNsYW1wZWRTaG9ydEF0dHIiKTsKIH0K
QEAgLTI4NDgsNyArMjg0OCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfZW5m
b3JjZVIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdE9ial9lbmZvcmNlUmFuZ2VTaG9ydEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9lbmZv
cmNlUmFuZ2VTaG9ydEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFBy
b3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8
c2V0SlNUZXN0T2JqX2VuZm9yY2VSYW5nZVNob3J0QXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxP
YmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiZW5mb3JjZVJhbmdlU2hvcnRBdHRyIik7
CiB9CkBAIC0yODc5LDcgKzI4NzksNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2Jq
X3Vuc2lnbmVkCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
UihzZXRKU1Rlc3RPYmpfdW5zaWduZWRTaG9ydEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial91bnNp
Z25lZFNob3J0QXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVy
dHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRK
U1Rlc3RPYmpfdW5zaWduZWRTaG9ydEF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0
aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInVuc2lnbmVkU2hvcnRBdHRyIik7CiB9CkBAIC0yOTEw
LDcgKzI5MTAsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX2xvbmdBdHRyCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RP
YmpfbG9uZ0F0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9sb25nQXR0ciwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0
cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfbG9uZ0F0dHJTZXR0ZXI+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImxvbmdBdHRyIik7CiB9
CkBAIC0yOTQxLDcgKzI5NDEsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX2xv
bmdMb25nCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RPYmpfbG9uZ0xvbmdBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfbG9uZ0xvbmdBdHRy
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewog
ICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9sb25n
TG9uZ0F0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRW
YWx1ZSwgImxvbmdMb25nQXR0ciIpOwogfQpAQCAtMjk3Miw3ICsyOTcyLDcgQEAgc3RhdGljIGlu
bGluZSBib29sIHNldEpTVGVzdE9ial91bnNpZ25lZAogICAgIHJldHVybiB0cnVlOwogfQogCi1K
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3Vuc2lnbmVkTG9uZ0xvbmdBdHRy
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RPYmpfdW5zaWduZWRMb25nTG9uZ0F0dHIsIChKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0
dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3Vuc2lnbmVkTG9uZ0xvbmdBdHRy
U2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJ1
bnNpZ25lZExvbmdMb25nQXR0ciIpOwogfQpAQCAtMzAwMyw3ICszMDAzLDcgQEAgc3RhdGljIGlu
bGluZSBib29sIHNldEpTVGVzdE9ial9zdHJpbmdBdAogICAgIHJldHVybiB0cnVlOwogfQogCi1K
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3N0cmluZ0F0dHIsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdE9ial9zdHJpbmdBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
LCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6
c2V0PHNldEpTVGVzdE9ial9zdHJpbmdBdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
dGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzdHJpbmdBdHRyIik7CiB9CkBAIC0zMDM0LDcgKzMw
MzQsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3VzdnN0cmluCiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfdXN2
c3RyaW5nQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVG
SU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3VzdnN0cmluZ0F0dHIsIChKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElE
TEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3VzdnN0cmluZ0F0dHJTZXR0
ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInVzdnN0
cmluZ0F0dHIiKTsKIH0KQEAgLTMwNjUsNyArMzA2NSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBz
ZXRKU1Rlc3RPYmpfdGVzdE9iakEKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial90ZXN0T2JqQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2Jq
X3Rlc3RPYmpBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0
eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpT
VGVzdE9ial90ZXN0T2JqQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1
ZSwgZW5jb2RlZFZhbHVlLCAidGVzdE9iakF0dHIiKTsKIH0KQEAgLTMwOTYsNyArMzA5Niw3IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfdGVzdE51bGwKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial90ZXN0TnVsbGFi
bGVPYmpBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJ
TkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfdGVzdE51bGxhYmxlT2JqQXR0ciwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1
cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfdGVzdE51bGxhYmxl
T2JqQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCAidGVzdE51bGxhYmxlT2JqQXR0ciIpOwogfQpAQCAtMzEyNyw3ICszMTI3LDcgQEAgc3Rh
dGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9sZW5pZW50VAogICAgIHJldHVybiB0cnVlOwog
fQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2xlbmllbnRUZXN0T2Jq
QXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NV
U1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2xlbmllbnRUZXN0T2JqQXR0ciwgKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURM
QXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfbGVuaWVudFRlc3RPYmpBdHRy
U2V0dGVyLCBDYXN0ZWRUaGlzRXJyb3JCZWhhdmlvcjo6UmV0dXJuRWFybHk+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImxlbmllbnRUZXN0T2JqQXR0ciIp
OwogfQpAQCAtMzE3MSw3ICszMTcxLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9i
al9zdHJpbmdBdAogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0T2JqX3N0cmluZ0F0dHJUcmVhdGluZ051bGxBc0VtcHR5U3RyaW5nLCAoSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
UihzZXRKU1Rlc3RPYmpfc3RyaW5nQXR0clRyZWF0aW5nTnVsbEFzRW1wdHlTdHJpbmcsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0
dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3N0cmluZ0F0dHJU
cmVhdGluZ051bGxBc0VtcHR5U3RyaW5nU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhp
c1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzdHJpbmdBdHRyVHJlYXRpbmdOdWxsQXNFbXB0eVN0cmlu
ZyIpOwogfQpAQCAtMzIwMiw3ICszMjAyLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVz
dE9ial91c3ZzdHJpbgogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0T2JqX3VzdnN0cmluZ0F0dHJUcmVhdGluZ051bGxBc0VtcHR5U3RyaW5n
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RPYmpfdXN2c3RyaW5nQXR0clRyZWF0aW5nTnVsbEFzRW1wdHlTdHJp
bmcsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7
CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3Vz
dnN0cmluZ0F0dHJUcmVhdGluZ051bGxBc0VtcHR5U3RyaW5nU2V0dGVyPigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJ1c3ZzdHJpbmdBdHRyVHJlYXRpbmdO
dWxsQXNFbXB0eVN0cmluZyIpOwogfQpAQCAtMzIzMyw3ICszMjMzLDcgQEAgc3RhdGljIGlubGlu
ZSBib29sIHNldEpTVGVzdE9ial9ieXRlU3RyaQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0Nf
REVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2J5dGVTdHJpbmdBdHRyVHJlYXRpbmdO
dWxsQXNFbXB0eVN0cmluZywgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitK
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2J5dGVTdHJpbmdBdHRyVHJlYXRp
bmdOdWxsQXNFbXB0eVN0cmluZywgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwg
UHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNl
dDxzZXRKU1Rlc3RPYmpfYnl0ZVN0cmluZ0F0dHJUcmVhdGluZ051bGxBc0VtcHR5U3RyaW5nU2V0
dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJieXRl
U3RyaW5nQXR0clRyZWF0aW5nTnVsbEFzRW1wdHlTdHJpbmciKTsKIH0KQEAgLTMyNjQsNyArMzI2
NCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfc3RyaW5nTG8KICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9zdHJp
bmdMb25nUmVjb3JkQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitK
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3N0cmluZ0xvbmdSZWNvcmRBdHRy
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewog
ICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9zdHJp
bmdMb25nUmVjb3JkQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwg
ZW5jb2RlZFZhbHVlLCAic3RyaW5nTG9uZ1JlY29yZEF0dHIiKTsKIH0KQEAgLTMyOTUsNyArMzI5
NSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfdXN2c3RyaW4KICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial91c3Zz
dHJpbmdMb25nUmVjb3JkQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkp
CitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3VzdnN0cmluZ0xvbmdSZWNv
cmRBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUp
KQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9i
al91c3ZzdHJpbmdMb25nUmVjb3JkQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRo
aXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAidXN2c3RyaW5nTG9uZ1JlY29yZEF0dHIiKTsKIH0KQEAg
LTMzMjYsNyArMzMyNiw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfdXN2c3Ry
aW4KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpT
VGVzdE9ial91c3ZzdHJpbmdMb25nUmVjb3JkQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3VzdnN0
cmluZ0xvbmdSZWNvcmRBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQ
cm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0
PHNldEpTVGVzdE9ial91c3ZzdHJpbmdMb25nUmVjb3JkQXR0clNldHRlcj4oKmxleGljYWxHbG9i
YWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAidXN2c3RyaW5nTG9uZ1JlY29yZEF0
dHIiKTsKIH0KQEAgLTMzNTcsNyArMzM1Nyw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rl
c3RPYmpfc3RyaW5nT2IKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdE9ial9zdHJpbmdPYmpSZWNvcmRBdHRyLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RP
Ympfc3RyaW5nT2JqUmVjb3JkQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46
OnNldDxzZXRKU1Rlc3RPYmpfc3RyaW5nT2JqUmVjb3JkQXR0clNldHRlcj4oKmxleGljYWxHbG9i
YWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAic3RyaW5nT2JqUmVjb3JkQXR0ciIp
OwogfQpAQCAtMzM4OCw3ICszMzg4LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9i
al9zdHJpbmdOdQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0T2JqX3N0cmluZ051bGxhYmxlT2JqUmVjb3JkQXR0ciwgKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNU
ZXN0T2JqX3N0cmluZ051bGxhYmxlT2JqUmVjb3JkQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRl
PEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfc3RyaW5nTnVsbGFibGVPYmpSZWNvcmRBdHRy
U2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJz
dHJpbmdOdWxsYWJsZU9ialJlY29yZEF0dHIiKTsKIH0KQEAgLTM0MTksNyArMzQxOSw3IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfc3RyaW5nVm8KICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9zdHJpbmdWb2lkQ2Fs
bGJhY2tSZWNvcmRBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfc3RyaW5nVm9pZENhbGxiYWNrUmVj
b3JkQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1l
KSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RP
Ympfc3RyaW5nVm9pZENhbGxiYWNrUmVjb3JkQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAic3RyaW5nVm9pZENhbGxiYWNrUmVjb3JkQXR0
ciIpOwogfQpAQCAtMzQ1MCw3ICszNDUwLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVz
dE9ial9kaWN0aW9uYQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0T2JqX2RpY3Rpb25hcnlBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfZGlj
dGlvbmFyeUF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5
TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNU
ZXN0T2JqX2RpY3Rpb25hcnlBdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1Zh
bHVlLCBlbmNvZGVkVmFsdWUsICJkaWN0aW9uYXJ5QXR0ciIpOwogfQpAQCAtMzQ4MSw3ICszNDgx
LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9udWxsYWJsZQogICAgIHJldHVy
biB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX251bGxh
YmxlRGljdGlvbmFyeUF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQor
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9udWxsYWJsZURpY3Rpb25hcnlB
dHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQog
ewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9u
dWxsYWJsZURpY3Rpb25hcnlBdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1Zh
bHVlLCBlbmNvZGVkVmFsdWUsICJudWxsYWJsZURpY3Rpb25hcnlBdHRyIik7CiB9CkBAIC0zNTEy
LDcgKzM1MTIsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX2Fubm90YXRlCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RP
YmpfYW5ub3RhdGVkVHlwZUluVW5pb25BdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfYW5ub3RhdGVk
VHlwZUluVW5pb25BdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9w
ZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNl
dEpTVGVzdE9ial9hbm5vdGF0ZWRUeXBlSW5VbmlvbkF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFs
T2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImFubm90YXRlZFR5cGVJblVuaW9uQXR0
ciIpOwogfQpAQCAtMzU0Myw3ICszNTQzLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVz
dE9ial9hbm5vdGF0ZQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0T2JqX2Fubm90YXRlZFR5cGVJblNlcXVlbmNlQXR0ciwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0T2JqX2Fubm90YXRlZFR5cGVJblNlcXVlbmNlQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmli
dXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfYW5ub3RhdGVkVHlwZUluU2VxdWVuY2VB
dHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUs
ICJhbm5vdGF0ZWRUeXBlSW5TZXF1ZW5jZUF0dHIiKTsKIH0KQEAgLTM1NzcsNyArMzU3Nyw3IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfaW1wbGVtZW4KICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9pbXBsZW1lbnRh
dGlvbkVudW1BdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19E
RUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfaW1wbGVtZW50YXRpb25FbnVtQXR0ciwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAg
ICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfaW1wbGVt
ZW50YXRpb25FbnVtQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwg
ZW5jb2RlZFZhbHVlLCAiaW1wbGVtZW50YXRpb25FbnVtQXR0ciIpOwogfQpAQCAtMzYyMSw3ICsz
NjIxLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9YTUxPYmpBdAogICAgIHJl
dHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX1hN
TE9iakF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9YTUxPYmpBdHRyLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRy
aWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9YTUxPYmpBdHRyU2V0dGVyPigqbGV4
aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJYTUxPYmpBdHRyIik7
CiB9CkBAIC0zNjUyLDcgKzM2NTIsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2Jq
X2NyZWF0ZVNlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
UihzZXRKU1Rlc3RPYmpfY3JlYXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
KSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfY3JlYXRlLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVy
biBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9jcmVhdGVTZXR0ZXI+
KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImNyZWF0ZSIp
OwogfQpAQCAtMzY4Myw3ICszNjgzLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9i
al9yZWZsZWN0ZQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZFN0cmluZ0F0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9y
ZWZsZWN0ZWRTdHJpbmdBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQ
cm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0
PHNldEpTVGVzdE9ial9yZWZsZWN0ZWRTdHJpbmdBdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9i
amVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJyZWZsZWN0ZWRTdHJpbmdBdHRyIik7CiB9
CkBAIC0zNzE0LDcgKzM3MTQsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3Jl
ZmxlY3RlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVVNWU3RyaW5nQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3Jl
ZmxlY3RlZFVTVlN0cmluZ0F0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUs
IFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+Ojpz
ZXQ8c2V0SlNUZXN0T2JqX3JlZmxlY3RlZFVTVlN0cmluZ0F0dHJTZXR0ZXI+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInJlZmxlY3RlZFVTVlN0cmluZ0F0
dHIiKTsKIH0KQEAgLTM3NDUsNyArMzc0NSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rl
c3RPYmpfcmVmbGVjdGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRJbnRlZ3JhbEF0dHIsIChKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVz
dE9ial9yZWZsZWN0ZWRJbnRlZ3JhbEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
VmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RP
Ymo+OjpzZXQ8c2V0SlNUZXN0T2JqX3JlZmxlY3RlZEludGVncmFsQXR0clNldHRlcj4oKmxleGlj
YWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAicmVmbGVjdGVkSW50ZWdy
YWxBdHRyIik7CiB9CkBAIC0zNzc2LDcgKzM3NzYsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0
SlNUZXN0T2JqX3JlZmxlY3RlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVW5zaWduZWRJbnRlZ3JhbEF0dHIsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0ciwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4g
SURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVW5zaWdu
ZWRJbnRlZ3JhbEF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVu
Y29kZWRWYWx1ZSwgInJlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyIik7CiB9CkBAIC0zODA3
LDcgKzM4MDcsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3JlZmxlY3RlCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RP
YmpfcmVmbGVjdGVkQm9vbGVhbkF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRCb29s
ZWFuQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1l
KSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RP
YmpfcmVmbGVjdGVkQm9vbGVhbkF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlz
VmFsdWUsIGVuY29kZWRWYWx1ZSwgInJlZmxlY3RlZEJvb2xlYW5BdHRyIik7CiB9CkBAIC0zODM4
LDcgKzM4MzgsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3JlZmxlY3RlCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RP
YmpfcmVmbGVjdGVkVVJMQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkp
CitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZFVSTEF0dHIs
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAg
ICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3JlZmxl
Y3RlZFVSTEF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29k
ZWRWYWx1ZSwgInJlZmxlY3RlZFVSTEF0dHIiKTsKIH0KQEAgLTM4NjksNyArMzg2OSw3IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfcmVmbGVjdGUKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRVU1ZV
UkxBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVVNWVVJMQXR0ciwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4g
SURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVVNWVVJM
QXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVl
LCAicmVmbGVjdGVkVVNWVVJMQXR0ciIpOwogfQpAQCAtMzkwMCw3ICszOTAwLDcgQEAgc3RhdGlj
IGlubGluZSBib29sIHNldEpTVGVzdE9ial9yZWZsZWN0ZQogICAgIHJldHVybiB0cnVlOwogfQog
Ci1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZFN0cmluZ0F0
dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRTdHJpbmdBdHRyLCAoSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExB
dHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9yZWZsZWN0ZWRTdHJpbmdBdHRy
U2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJy
ZWZsZWN0ZWRTdHJpbmdBdHRyIik7CiB9CkBAIC0zOTMxLDcgKzM5MzEsNyBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgc2V0SlNUZXN0T2JqX3JlZmxlY3RlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkQ3VzdG9tSW50ZWdy
YWxBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkQ3VzdG9tSW50ZWdyYWxBdHRyLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAg
IHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9yZWZsZWN0
ZWRDdXN0b21JbnRlZ3JhbEF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFs
dWUsIGVuY29kZWRWYWx1ZSwgInJlZmxlY3RlZEN1c3RvbUludGVncmFsQXR0ciIpOwogfQpAQCAt
Mzk2Miw3ICszOTYyLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9yZWZsZWN0
ZQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNU
ZXN0T2JqX3JlZmxlY3RlZEN1c3RvbUJvb2xlYW5BdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVm
bGVjdGVkQ3VzdG9tQm9vbGVhbkF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+
OjpzZXQ8c2V0SlNUZXN0T2JqX3JlZmxlY3RlZEN1c3RvbUJvb2xlYW5BdHRyU2V0dGVyPigqbGV4
aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJyZWZsZWN0ZWRDdXN0
b21Cb29sZWFuQXR0ciIpOwogfQpAQCAtMzk5Myw3ICszOTkzLDcgQEAgc3RhdGljIGlubGluZSBi
b29sIHNldEpTVGVzdE9ial9yZWZsZWN0ZQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVG
SU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEN1c3RvbVVSTEF0dHIsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRDdXN0b21VUkxBdHRyLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRy
aWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9yZWZsZWN0ZWRDdXN0b21VUkxBdHRy
U2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJy
ZWZsZWN0ZWRDdXN0b21VUkxBdHRyIik7CiB9CkBAIC00MDI4LDcgKzQwMjgsNyBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX2VuYWJsZWRBCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
LUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfZW5hYmxlZEF0UnVudGltZUF0
dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2VuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGUsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAg
cmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX2VuYWJsZWRB
dFJ1bnRpbWVBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUs
IGVuY29kZWRWYWx1ZSwgImVuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGUiKTsKIH0KQEAgLTQwNjMs
NyArNDA2Myw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpDb25zdHJ1Y3QKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9i
akNvbnN0cnVjdG9yX2VuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGVTdGF0aWMsIChKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpT
VGVzdE9iakNvbnN0cnVjdG9yX2VuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGVTdGF0aWMsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0
dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXRTdGF0aWM8c2V0SlNUZXN0T2JqQ29uc3Ry
dWN0b3JfZW5hYmxlZEF0UnVudGltZUF0dHJpYnV0ZVN0YXRpY1NldHRlcj4oKmxleGljYWxHbG9i
YWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiZW5hYmxlZEF0UnVudGltZUF0dHJp
YnV0ZVN0YXRpYyIpOwogfQpAQCAtNDA5Niw3ICs0MDk2LDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdE9ial90eXBlZEFycgogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3R5cGVkQXJyYXlBdHRyLCAoSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rl
c3RPYmpfdHlwZWRBcnJheUF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUs
IFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+Ojpz
ZXQ8c2V0SlNUZXN0T2JqX3R5cGVkQXJyYXlBdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJ0eXBlZEFycmF5QXR0ciIpOwogfQpAQCAtNDEx
OSw3ICs0MTE5LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9jdXN0b21BdAog
ICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
T2JqX2N1c3RvbUF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9jdXN0b21BdHRyLCAoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJ
RExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9jdXN0b21BdHRyU2V0dGVy
PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJjdXN0b21B
dHRyIik7CiB9CkBAIC00MTQ1LDcgKzQxNDUsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNU
ZXN0T2JqX29uZm9vU2V0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RPYmpfb25mb28sIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
VmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9vbmZvbywgKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICBy
ZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfb25mb29TZXR0
ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIm9uZm9v
Iik7CiB9CkBAIC00MTcxLDcgKzQxNzEsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0
T2JqX29ud2Via2l0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NF
VFRFUihzZXRKU1Rlc3RPYmpfb253ZWJraXRmb28sIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9vbndlYmtp
dGZvbywgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkK
IHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpf
b253ZWJraXRmb29TZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29k
ZWRWYWx1ZSwgIm9ud2Via2l0Zm9vIik7CiB9CkBAIC00MjAyLDcgKzQyMDIsNyBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3dpdGhFeGVjCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
LUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfd2l0aEV4ZWNTdGF0ZUF0dHJp
YnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NV
U1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3dpdGhFeGVjU3RhdGVBdHRyaWJ1dGUsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJu
IElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3dpdGhFeGVjU3RhdGVB
dHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRW
YWx1ZSwgIndpdGhFeGVjU3RhdGVBdHRyaWJ1dGUiKTsKIH0KQEAgLTQyMzMsNyArNDIzMyw3IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfd2l0aENhbGwKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial93aXRoQ2FsbFdp
dGhBbmRTZXR0ZXJDYWxsV2l0aEF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3dpdGhDYWxs
V2l0aEFuZFNldHRlckNhbGxXaXRoQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNU
ZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial93aXRoQ2FsbFdpdGhBbmRTZXR0ZXJDYWxsV2l0aEF0
dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCAid2l0aENhbGxXaXRoQW5kU2V0dGVyQ2FsbFdpdGhBdHRyaWJ1dGUiKTsKIH0KQEAgLTQy
NzAsNyArNDI3MCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfd2l0aFNjcmkK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVz
dE9ial93aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
T2JqX3dpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRy
aWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial93aXRoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dEF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5j
b2RlZFZhbHVlLCAid2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBdHRyaWJ1dGUiKTsKIH0KQEAg
LTQzMDcsNyArNDMwNyw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfd2l0aFNj
cmkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpT
VGVzdE9ial93aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZEV4ZWNTdGF0ZUF0dHJpYnV0ZSwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0T2JqX3dpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5kRXhlY1N0YXRl
QXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5h
bWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVz
dE9ial93aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZEV4ZWNTdGF0ZUF0dHJpYnV0ZVNldHRl
cj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAid2l0aFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRFeGVjU3RhdGVBdHRyaWJ1dGUiKTsKIH0KQEAgLTQzNDQs
NyArNDM0NCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfd2l0aFNjcmkKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9i
al93aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZEV4ZWNTdGF0ZVdpdGhTcGFjZXNBdHRyaWJ1
dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdE9ial93aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZEV4ZWNT
dGF0ZVdpdGhTcGFjZXNBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+
OjpzZXQ8c2V0SlNUZXN0T2JqX3dpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5kRXhlY1N0YXRl
V2l0aFNwYWNlc0F0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1
ZSwgZW5jb2RlZFZhbHVlLCAid2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRFeGVjU3RhdGVX
aXRoU3BhY2VzQXR0cmlidXRlIik7CiB9CkBAIC00Mzc5LDcgKzQzNzksNyBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgc2V0SlNUZXN0T2JqX2NvbmRpdGlvCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfY29uZGl0aW9uYWxBdHRyMSwgKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0T2JqX2NvbmRpdGlvbmFsQXR0cjEsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxK
U1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX2NvbmRpdGlvbmFsQXR0cjFTZXR0ZXI+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImNvbmRpdGlvbmFsQXR0
cjEiKTsKIH0KQEAgLTQ0MTYsNyArNDQxNiw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rl
c3RPYmpfY29uZGl0aW8KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdE9ial9jb25kaXRpb25hbEF0dHIyLCAoSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpf
Y29uZGl0aW9uYWxBdHRyMiwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJv
cGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxz
ZXRKU1Rlc3RPYmpfY29uZGl0aW9uYWxBdHRyMlNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
IHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiY29uZGl0aW9uYWxBdHRyMiIpOwogfQpAQCAtNDQ1
Myw3ICs0NDUzLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9jb25kaXRpbwog
ICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
T2JqX2NvbmRpdGlvbmFsQXR0cjMsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUp
KQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9jb25kaXRpb25hbEF0dHIz
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewog
ICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9jb25k
aXRpb25hbEF0dHIzU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNv
ZGVkVmFsdWUsICJjb25kaXRpb25hbEF0dHIzIik7CiB9CkBAIC00NTg1LDcgKzQ1ODUsNyBAQCBz
dGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX2FueUF0dHJpCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfYW55QXR0cmlidXRl
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RPYmpfYW55QXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8
SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9hbnlBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2Fs
R2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImFueUF0dHJpYnV0ZSIpOwog
fQpAQCAtNDYxNiw3ICs0NjE2LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9v
YmplY3RBdAogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0T2JqX29iamVjdEF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX29iamVjdEF0
dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1l
KSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RP
Ympfb2JqZWN0QXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVl
LCBlbmNvZGVkVmFsdWUsICJvYmplY3RBdHRyaWJ1dGUiKTsKIH0KQEAgLTQ2NjAsNyArNDY2MCw3
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfbXV0YWJsZVAKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9tdXRhYmxl
UG9pbnQsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFs
dWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9tdXRhYmxlUG9pbnQsIChKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJp
YnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX211dGFibGVQb2ludFNldHRlcj4oKmxl
eGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAibXV0YWJsZVBvaW50
Iik7CiB9CkBAIC00NjkxLDcgKzQ2OTEsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0
T2JqX3N0cmF3YmVyCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NF
VFRFUihzZXRKU1Rlc3RPYmpfc3RyYXdiZXJyeSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3N0cmF3YmVy
cnksIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7
CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3N0
cmF3YmVycnlTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRW
YWx1ZSwgInN0cmF3YmVycnkiKTsKIH0KQEAgLTQ3MzUsNyArNDczNSw3IEBAIHN0YXRpYyBpbmxp
bmUgYm9vbCBzZXRKU1Rlc3RPYmpfaWRTZXR0ZXIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9pZCwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2Jq
X2lkLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQog
ewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9p
ZFNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAi
aWQiKTsKIH0KQEAgLTQ3NzMsNyArNDc3Myw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rl
c3RPYmpfcmVwbGFjZWEKICAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50
aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigicmVw
bGFjZWFibGVBdHRyaWJ1dGUiKSwgc3RybGVuKCJyZXBsYWNlYWJsZUF0dHJpYnV0ZSIpKSwgdmFs
dWUpOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlcGxhY2Vh
YmxlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19E
RUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVwbGFjZWFibGVBdHRyaWJ1dGUsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAg
cmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3JlcGxhY2Vh
YmxlQXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNv
ZGVkVmFsdWUsICJyZXBsYWNlYWJsZUF0dHJpYnV0ZSIpOwogfQpAQCAtNDg1Niw3ICs0ODU2LDcg
QEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9udWxsYWJsZQogICAgIHJldHVybiB0
cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX251bGxhYmxl
TG9uZ1NldHRhYmxlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
KSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfbnVsbGFibGVMb25nU2V0
dGFibGVBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3Bl
cnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0
SlNUZXN0T2JqX251bGxhYmxlTG9uZ1NldHRhYmxlQXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEds
b2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJudWxsYWJsZUxvbmdTZXR0YWJs
ZUF0dHJpYnV0ZSIpOwogfQpAQCAtNDg4Nyw3ICs0ODg3LDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdE9ial9udWxsYWJsZQogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX251bGxhYmxlU3RyaW5nU2V0dGFibGVBdHRyaWJ1
dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdE9ial9udWxsYWJsZVN0cmluZ1NldHRhYmxlQXR0cmlidXRlLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAg
IHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9udWxsYWJs
ZVN0cmluZ1NldHRhYmxlQXR0cmlidXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhp
c1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJudWxsYWJsZVN0cmluZ1NldHRhYmxlQXR0cmlidXRlIik7
CiB9CkBAIC00OTE4LDcgKzQ5MTgsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2Jq
X251bGxhYmxlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRF
UihzZXRKU1Rlc3RPYmpfbnVsbGFibGVVU1ZTdHJpbmdTZXR0YWJsZUF0dHJpYnV0ZSwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0T2JqX251bGxhYmxlVVNWU3RyaW5nU2V0dGFibGVBdHRyaWJ1dGUsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJu
IElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX251bGxhYmxlVVNWU3Ry
aW5nU2V0dGFibGVBdHRyaWJ1dGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFs
dWUsIGVuY29kZWRWYWx1ZSwgIm51bGxhYmxlVVNWU3RyaW5nU2V0dGFibGVBdHRyaWJ1dGUiKTsK
IH0KQEAgLTQ5NDksNyArNDk0OSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpf
bnVsbGFibGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdE9ial9udWxsYWJsZUJ5dGVTdHJpbmdTZXR0YWJsZUF0dHJpYnV0ZSwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0T2JqX251bGxhYmxlQnl0ZVN0cmluZ1NldHRhYmxlQXR0cmlidXRlLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVy
biBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9udWxsYWJsZUJ5dGVT
dHJpbmdTZXR0YWJsZUF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNW
YWx1ZSwgZW5jb2RlZFZhbHVlLCAibnVsbGFibGVCeXRlU3RyaW5nU2V0dGFibGVBdHRyaWJ1dGUi
KTsKIH0KQEAgLTQ5OTYsNyArNDk5Niw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RP
YmpfYXR0cmlidXQKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VU
VEVSKHNldEpTVGVzdE9ial9hdHRyaWJ1dGVXaXRoUmVzZXJ2ZWRFbnVtVHlwZSwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0T2JqX2F0dHJpYnV0ZVdpdGhSZXNlcnZlZEVudW1UeXBlLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJRExBdHRy
aWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9hdHRyaWJ1dGVXaXRoUmVzZXJ2ZWRF
bnVtVHlwZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCAiYXR0cmlidXRlV2l0aFJlc2VydmVkRW51bVR5cGUiKTsKIH0KQEAgLTUwNTgsNyArNTA1
OCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfcHV0Rm9yd2EKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9wdXRG
b3J3YXJkc0F0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitK
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3B1dEZvcndhcmRzQXR0cmlidXRl
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewog
ICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9wdXRG
b3J3YXJkc0F0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwg
ZW5jb2RlZFZhbHVlLCAicHV0Rm9yd2FyZHNBdHRyaWJ1dGUiKTsKIH0KQEAgLTUwOTQsNyArNTA5
NCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfcHV0Rm9yd2EKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9wdXRG
b3J3YXJkc051bGxhYmxlQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcHV0Rm9yd2FyZHNO
dWxsYWJsZUF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJv
cGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxz
ZXRKU1Rlc3RPYmpfcHV0Rm9yd2FyZHNOdWxsYWJsZUF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxH
bG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAicHV0Rm9yd2FyZHNOdWxsYWJs
ZUF0dHJpYnV0ZSIpOwogfQpAQCAtNTEyNSw3ICs1MTI1LDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdE9ial9zdHJpbmdpZgogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3N0cmluZ2lmaWVyQXR0cmlidXRlLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RPYmpfc3RyaW5naWZpZXJBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxK
U1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3N0cmluZ2lmaWVyQXR0cmlidXRlU2V0dGVyPigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzdHJpbmdpZmll
ckF0dHJpYnV0ZSIpOwogfQpAQCAtNTE1Niw3ICs1MTU2LDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdE9ial9jb25kaXRpbwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2NvbmRpdGlvbmFsbHlFeHBvc2VkVG9XaW5kb3dB
dHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9jb25kaXRpb25hbGx5RXhwb3NlZFRvV2luZG93
QXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5h
bWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVz
dE9ial9jb25kaXRpb25hbGx5RXhwb3NlZFRvV2luZG93QXR0cmlidXRlU2V0dGVyPigqbGV4aWNh
bEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJjb25kaXRpb25hbGx5RXhw
b3NlZFRvV2luZG93QXR0cmlidXRlIik7CiB9CkBAIC01MTg3LDcgKzUxODcsNyBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX2NvbmRpdGlvCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
LUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfY29uZGl0aW9uYWxseUV4cG9z
ZWRUb1dvcmtlckF0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkp
CitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2NvbmRpdGlvbmFsbHlFeHBv
c2VkVG9Xb3JrZXJBdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUs
IFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+Ojpz
ZXQ8c2V0SlNUZXN0T2JqX2NvbmRpdGlvbmFsbHlFeHBvc2VkVG9Xb3JrZXJBdHRyaWJ1dGVTZXR0
ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImNvbmRp
dGlvbmFsbHlFeHBvc2VkVG9Xb3JrZXJBdHRyaWJ1dGUiKTsKIH0KQEAgLTUyMTgsNyArNTIxOCw3
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfY29uZGl0aW8KICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9jb25kaXRp
b25hbGx5RXhwb3NlZFRvV2luZG93QW5kV29ya2VyQXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RP
YmpfY29uZGl0aW9uYWxseUV4cG9zZWRUb1dpbmRvd0FuZFdvcmtlckF0dHJpYnV0ZSwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1
cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfY29uZGl0aW9uYWxs
eUV4cG9zZWRUb1dpbmRvd0FuZFdvcmtlckF0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxHbG9iYWxP
YmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiY29uZGl0aW9uYWxseUV4cG9zZWRUb1dp
bmRvd0FuZFdvcmtlckF0dHJpYnV0ZSIpOwogfQpAQCAtNTI0OSw3ICs1MjQ5LDcgQEAgc3RhdGlj
IGlubGluZSBib29sIHNldEpTVGVzdE9ial9kYXNoX2xlYQogICAgIHJldHVybiB0cnVlOwogfQog
Ci1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2Rhc2hfbGVhZGluZ19kYXNo
X2h5cGhlbl9kYXNoX2F0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2Rhc2hfbGVhZGluZ19k
YXNoX2h5cGhlbl9kYXNoX2F0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9i
aj46OnNldDxzZXRKU1Rlc3RPYmpfZGFzaF9sZWFkaW5nX2Rhc2hfaHlwaGVuX2Rhc2hfYXR0cmli
dXRlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUs
ICItbGVhZGluZy1oeXBoZW4tYXR0cmlidXRlIik7CiB9CkBAIC01MjgwLDcgKzUyODAsNyBAQCBz
dGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3RyYWlsaW5nCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfdHJhaWxpbmdfZGFz
aF9oeXBoZW5fZGFzaF9hdHRyaWJ1dGVfZGFzaF8sIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUpKQorSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial90cmFpbGlu
Z19kYXNoX2h5cGhlbl9kYXNoX2F0dHJpYnV0ZV9kYXNoXywgKEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRl
PEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfdHJhaWxpbmdfZGFzaF9oeXBoZW5fZGFzaF9h
dHRyaWJ1dGVfZGFzaF9TZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVu
Y29kZWRWYWx1ZSwgInRyYWlsaW5nLWh5cGhlbi1hdHRyaWJ1dGUtIik7CiB9CkBAIC01MzExLDcg
KzUzMTEsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX2xlYWRpbmdfCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpf
bGVhZGluZ191bmRlcnNjb3JlX2F0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2xlYWRpbmdf
dW5kZXJzY29yZV9hdHRyaWJ1dGUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUs
IFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+Ojpz
ZXQ8c2V0SlNUZXN0T2JqX2xlYWRpbmdfdW5kZXJzY29yZV9hdHRyaWJ1dGVTZXR0ZXI+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImxlYWRpbmdfdW5kZXJz
Y29yZV9hdHRyaWJ1dGUiKTsKIH0KQEAgLTUzNDIsNyArNTM0Miw3IEBAIHN0YXRpYyBpbmxpbmUg
Ym9vbCBzZXRKU1Rlc3RPYmpfZG91YmxlX2wKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9kb3VibGVfbGVhZGluZ191bmRlcnNjb3Jl
X2F0dHJpYnV0ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVG
SU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2RvdWJsZV9sZWFkaW5nX3VuZGVyc2NvcmVf
YXR0cmlidXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5h
bWUpKQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVz
dE9ial9kb3VibGVfbGVhZGluZ191bmRlcnNjb3JlX2F0dHJpYnV0ZVNldHRlcj4oKmxleGljYWxH
bG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiX2RvdWJsZV9sZWFkaW5nX3Vu
ZGVyc2NvcmVfYXR0cmlidXRlIik7CiB9CkBAIC01MzczLDcgKzUzNzMsNyBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgc2V0SlNUZXN0T2JqX3RyYWlsaW5nCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUpT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfdHJhaWxpbmdfdW5kZXJzY29yZV9h
dHRyaWJ1dGVfLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJ
TkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfdHJhaWxpbmdfdW5kZXJzY29yZV9hdHRyaWJ1
dGVfLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQog
ewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial90
cmFpbGluZ191bmRlcnNjb3JlX2F0dHJpYnV0ZV9TZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInRyYWlsaW5nX3VuZGVyc2NvcmVfYXR0cmlidXRl
XyIpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZS5jcHAJKHJldmlzaW9uIDI3NDcyMSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjYsNyArMjI2LDcgQEAgc3RhdGljIGlubGlu
ZSBib29sIHNldEpTVGVzdFNlcmlhbGl6ZWRTYwogICAgIHJldHVybiB0cnVlOwogfQogCi1KU0Nf
REVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlX3ZhbHVlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJ
TkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2Vf
dmFsdWUsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFs
dWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkp
CiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2U+OjpzZXQ8c2V0SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlX3Zh
bHVlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUs
ICJ2YWx1ZSIpOwogfQpAQCAtMjc1LDcgKzI3NSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRK
U1Rlc3RTZXJpYWxpemVkU2MKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZV9jYWNoZWRW
YWx1ZSwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NV
U1RPTV9TRVRURVIoc2V0SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlX2NhY2hl
ZFZhbHVlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUp
KQogewogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlPjo6c2V0PHNldEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZV9j
YWNoZWRWYWx1ZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2Rl
ZFZhbHVlLCAiY2FjaGVkVmFsdWUiKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDI3NDcy
MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXRM
aWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI1LDcg
KzIyNSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RTZXRMaWtlV2l0aE8KICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdFNldExp
a2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnNfYWRkLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RTZXRMaWtlV2l0
aE92ZXJyaWRkZW5PcGVyYXRpb25zX2FkZCwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdFNl
dExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnM+OjpzZXQ8c2V0SlNUZXN0U2V0TGlrZVdpdGhP
dmVycmlkZGVuT3BlcmF0aW9uc19hZGRTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlz
VmFsdWUsIGVuY29kZWRWYWx1ZSwgImFkZCIpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUuY3BwCShyZXZpc2lvbiAyNzQ3
MjEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3Ry
aW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDYsNyAr
MjA2LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdFN0cmluZ2lmaWVyUgogICAgIHJl
dHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0U3RyaW5n
aWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGVfaWRlbnRpZmllciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0U3RyaW5n
aWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGVfaWRlbnRpZmllciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRl
PEpTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlPjo6c2V0PHNldEpTVGVzdFN0cmlu
Z2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlX2lkZW50aWZpZXJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFs
T2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImlkZW50aWZpZXIiKTsKIH0KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFR5cGVkZWZzLmNwcAkocmV2aXNpb24gMjc0NzIxKQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzE4LDcgKzMxOCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RUeXBlZGVm
c191bnMKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdFR5cGVkZWZzX3Vuc2lnbmVkTG9uZ0xvbmdBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RUeXBl
ZGVmc191bnNpZ25lZExvbmdMb25nQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdFR5
cGVkZWZzPjo6c2V0PHNldEpTVGVzdFR5cGVkZWZzX3Vuc2lnbmVkTG9uZ0xvbmdBdHRyU2V0dGVy
PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJ1bnNpZ25l
ZExvbmdMb25nQXR0ciIpOwogfQpAQCAtMzQ5LDcgKzM0OSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBzZXRKU1Rlc3RUeXBlZGVmc19zZXIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdFR5cGVkZWZzX3NlcmlhbGl6ZWRTY3JpcHRWYWx1ZSwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitKU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0VHlwZWRlZnNfc2VyaWFsaXplZFNjcmlwdFZhbHVlLCAoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBQcm9wZXJ0eU5hbWUpKQogewogICAgIHJldHVybiBJ
RExBdHRyaWJ1dGU8SlNUZXN0VHlwZWRlZnM+OjpzZXQ8c2V0SlNUZXN0VHlwZWRlZnNfc2VyaWFs
aXplZFNjcmlwdFZhbHVlU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBl
bmNvZGVkVmFsdWUsICJzZXJpYWxpemVkU2NyaXB0VmFsdWUiKTsKIH0KQEAgLTM5MSw3ICszOTEs
NyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0VHlwZWRlZnNfYXR0CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RUeXBlZGVmc19h
dHRyaWJ1dGVXaXRoQ2xhbXAsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQor
SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdFR5cGVkZWZzX2F0dHJpYnV0ZVdpdGhD
bGFtcCwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkK
IHsKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdFR5cGVkZWZzPjo6c2V0PHNldEpTVGVz
dFR5cGVkZWZzX2F0dHJpYnV0ZVdpdGhDbGFtcFNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
IHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiYXR0cmlidXRlV2l0aENsYW1wIik7CiB9CkBAIC00
MjIsNyArNDIyLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdFR5cGVkZWZzX2F0dAog
ICAgIHJldHVybiB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
VHlwZWRlZnNfYXR0cmlidXRlV2l0aENsYW1wSW5UeXBlZGVmLCAoSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlKSkKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RUeXBl
ZGVmc19hdHRyaWJ1dGVXaXRoQ2xhbXBJblR5cGVkZWYsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxK
U1Rlc3RUeXBlZGVmcz46OnNldDxzZXRKU1Rlc3RUeXBlZGVmc19hdHRyaWJ1dGVXaXRoQ2xhbXBJ
blR5cGVkZWZTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRW
YWx1ZSwgImF0dHJpYnV0ZVdpdGhDbGFtcEluVHlwZWRlZiIpOwogfQpAQCAtNDUzLDcgKzQ1Myw3
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RUeXBlZGVmc19idWYKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdFR5cGVkZWZzX2J1
ZmZlclNvdXJjZUF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQorSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdFR5cGVkZWZzX2J1ZmZlclNvdXJjZUF0dHIs
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSkpCiB7CiAg
ICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RUeXBlZGVmcz46OnNldDxzZXRKU1Rlc3RUeXBl
ZGVmc19idWZmZXJTb3VyY2VBdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1Zh
bHVlLCBlbmNvZGVkVmFsdWUsICJidWZmZXJTb3VyY2VBdHRyIik7CiB9CkBAIC00ODQsNyArNDg0
LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdFR5cGVkZWZzX2RvbQogICAgIHJldHVy
biB0cnVlOwogfQogCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0VHlwZWRlZnNf
ZG9tVGltZVN0YW1wQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCitK
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0VHlwZWRlZnNfZG9tVGltZVN0YW1wQXR0
ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lKSkKIHsK
ICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdFR5cGVkZWZzPjo6c2V0PHNldEpTVGVzdFR5
cGVkZWZzX2RvbVRpbWVTdGFtcEF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlz
VmFsdWUsIGVuY29kZWRWYWx1ZSwgImRvbVRpbWVTdGFtcEF0dHIiKTsKIH0K
</data>
<flag name="commit-queue"
          id="443233"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>