<?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>208754</bug_id>
          
          <creation_ts>2020-03-06 19:28:05 -0800</creation_ts>
          <short_desc>Put remaining fixed-sized cells into IsoSubspace</short_desc>
          <delta_ts>2020-03-06 21:29:32 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hi</cc>
    
    <cc>jer.noble</cc>
    
    <cc>joepeck</cc>
    
    <cc>jsbell</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>philipj</cc>
    
    <cc>saam</cc>
    
    <cc>sergio</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1627108</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-03-06 19:28:05 -0800</bug_when>
    <thetext>Put remaining fixed-sized cells into IsoSubspace</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627110</commentid>
    <comment_count>1</comment_count>
      <attachid>392841</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-03-06 19:32:09 -0800</bug_when>
    <thetext>Created attachment 392841
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627118</commentid>
    <comment_count>2</comment_count>
      <attachid>392841</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-03-06 20:05:01 -0800</bug_when>
    <thetext>Comment on attachment 392841
Patch

r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627119</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-06 20:06:47 -0800</bug_when>
    <thetext>&lt;rdar://problem/60180959&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627132</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-03-06 20:43:02 -0800</bug_when>
    <thetext>Looking failures. I think this is just because we need to have some IsoSubspaces for fake RuntimeArray implementation in JSC shell (real runtime array already gets IsoSubspace long ago).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627155</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-03-06 21:25:14 -0800</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #4)
&gt; Looking failures. I think this is just because we need to have some
&gt; IsoSubspaces for fake RuntimeArray implementation in JSC shell (real runtime
&gt; array already gets IsoSubspace long ago).

Yes. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627156</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-03-06 21:29:32 -0800</bug_when>
    <thetext>Committed r258059: &lt;https://trac.webkit.org/changeset/258059&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392841</attachid>
            <date>2020-03-06 19:32:09 -0800</date>
            <delta_ts>2020-03-06 20:05:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208754-20200306193208.patch</filename>
            <type>text/plain</type>
            <size>154684</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZjNhNTU1Yzc5Mjc4OWM1NjZkODM2NmE1ZTI4ZTA2ODc2OWFhZDQzLi5kYzMzYzYzZmUzYjFkMDg2
YzUzMmRlZWQ2MGY1ZjdmYzQ4ZDhiZDM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw5NSBAQAorMjAyMC0wMy0wNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFB1dCByZW1haW5pbmcgZml4ZWQtc2l6ZWQgY2VsbHMgaW50byBJc29TdWJz
cGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4
NzU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUHV0
IHJlbWFpbmluZyBmaXhlZC1zaXplZCBjZWxscyBpbnRvIElzb1N1YnNwYWNlLiBOb3cgYWxsIHRo
ZSBmaXhlZC1zaXplZCBjZWxscyBoYXZlIHRoZWlyIG93biBJc29TdWJzcGFjZXMuCisKKyAgICAg
ICAgMS4gSlNBcnJheSAoV2UgbmVlZCB0byBjYXJlIGFib3V0IFJBTWlmaWNhdGlvbiBudW1iZXIs
IG9yIGNvbXBlbnNhdGUgUkFNaWZpY2F0aW9uIHJlZ3Jlc3Npb24gd2l0aCBpbXByb3ZlbWVudHMp
LgorICAgICAgICAyLiBJbnNwZWN0b3IncyBvYmplY3RzCisgICAgICAgIDMuIEFsbCBwcm90b3R5
cGUgb2JqZWN0cyBoYXZlIG9uZSBJc29TdWJzcGFjZSBzaW5jZSB0aGV5IGFyZSBwbGFpbiBvYmpl
Y3RzLgorCisgICAgICAgICogaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcDoKKyAg
ICAgICAgKEluc3BlY3Rvcjo6SlNJbmplY3RlZFNjcmlwdEhvc3Q6OkpTSW5qZWN0ZWRTY3JpcHRI
b3N0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuaDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5cGUuaDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcDoKKyAgICAgICAgKEluc3BlY3Rv
cjo6SlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpKU0phdmFTY3JpcHRDYWxsRnJhbWUpOgorICAgICAg
ICAqIGluc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWUuaDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmg6CisgICAgICAgICoganNjLmNwcDoK
KyAgICAgICAgKEpTQzo6TWFzcXVlcmFkZXI6OnN1YnNwYWNlRm9yKToKKyAgICAgICAgKEpTQ01l
bW9yeUZvb3RwcmludDo6c3Vic3BhY2VGb3IpOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlJdGVy
YXRvclByb3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuaDoKKyAg
ICAgICAgKiBydW50aW1lL0FzeW5jRnJvbVN5bmNJdGVyYXRvclByb3RvdHlwZS5oOgorICAgICAg
ICAqIHJ1bnRpbWUvQXN5bmNGdW5jdGlvblByb3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUv
QXN5bmNHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvQXN5
bmNHZW5lcmF0b3JQcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0FzeW5jSXRlcmF0b3JQ
cm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0F0b21pY3NPYmplY3QuaDoKKyAgICAgICAg
KiBydW50aW1lL0JpZ0ludFByb3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvQ29uc29sZU9i
amVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUvRGF0ZVByb3RvdHlwZS5oOgorICAgICAgICAqIHJ1
bnRpbWUvRXJyb3JQcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0V4Y2VwdGlvbkhlbHBl
cnMuaDoKKyAgICAgICAgKiBydW50aW1lL0dlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlLmg6Cisg
ICAgICAgICogcnVudGltZS9HZW5lcmF0b3JQcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1l
L0luc3BlY3Rvckluc3RydW1lbnRhdGlvbk9iamVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50
bENvbGxhdG9yUHJvdG90eXBlLmg6CisgICAgICAgICogcnVudGltZS9JbnRsRGF0ZVRpbWVGb3Jt
YXRQcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0ludGxOdW1iZXJGb3JtYXRQcm90b3R5
cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0ludGxPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1l
L0ludGxQbHVyYWxSdWxlc1Byb3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSXRlcmF0b3JQ
cm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXkuaDoKKyAgICAgICAgKEpTQzo6
SlNBcnJheTo6c3Vic3BhY2VGb3IpOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheUJ1ZmZlclBy
b3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNEYXRhVmlld1Byb3RvdHlwZS5oOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNEZXN0cnVjdGlibGVPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNE
ZXN0cnVjdGlibGVPYmplY3Q6OnN1YnNwYWNlRm9yKTogRGVsZXRlZC4KKyAgICAgICAgKiBydW50
aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmg6CisgICAgICAgICogcnVudGlt
ZS9KU01vZHVsZUxvYWRlci5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNPTk9iamVjdC5oOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0SW5s
aW5lcy5oOgorICAgICAgICAoSlNDOjpKU0ZpbmFsT2JqZWN0OjpzdWJzcGFjZUZvcik6CisgICAg
ICAgIChKU0M6OkpTT2JqZWN0OjpzdWJzcGFjZUZvcik6IERlbGV0ZWQuCisgICAgICAgICogcnVu
dGltZS9KU1Byb21pc2VQcm90b3R5cGUuaDoKKyAgICAgICAgKEpTQzo6SlNQcm9taXNlUHJvdG90
eXBlOjpzdWJzcGFjZUZvcik6CisgICAgICAgICogcnVudGltZS9KU1R5cGVkQXJyYXlWaWV3UHJv
dG90eXBlLmg6CisgICAgICAgICogcnVudGltZS9NYXBJdGVyYXRvclByb3RvdHlwZS5oOgorICAg
ICAgICAqIHJ1bnRpbWUvTWFwUHJvdG90eXBlLmg6CisgICAgICAgICogcnVudGltZS9NYXRoT2Jq
ZWN0Lmg6CisgICAgICAgICogcnVudGltZS9OYXRpdmVFcnJvclByb3RvdHlwZS5oOgorICAgICAg
ICAqIHJ1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmg6CisgICAgICAgICogcnVudGltZS9SZWZsZWN0
T2JqZWN0Lmg6CisgICAgICAgICogcnVudGltZS9SZWdFeHBQcm90b3R5cGUuaDoKKyAgICAgICAg
KiBydW50aW1lL1JlZ0V4cFN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlLmg6CisgICAgICAgICogcnVu
dGltZS9TZXRJdGVyYXRvclByb3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvU2V0UHJvdG90
eXBlLmg6CisgICAgICAgICogcnVudGltZS9TdHJpbmdJdGVyYXRvclByb3RvdHlwZS5oOgorICAg
ICAgICAqIHJ1bnRpbWUvU3ltYm9sUHJvdG90eXBlLmg6CisgICAgICAgICogcnVudGltZS9WTS5j
cHA6CisgICAgICAgIChKU0M6OlZNOjpWTSk6CisgICAgICAgICogcnVudGltZS9WTS5oOgorICAg
ICAgICAqIHJ1bnRpbWUvV2Vha01hcFByb3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvV2Vh
a09iamVjdFJlZlByb3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvV2Vha1NldFByb3RvdHlw
ZS5oOgorICAgICAgICAqIHRvb2xzL0pTRG9sbGFyVk0uY3BwOgorICAgICAgICAqIHRvb2xzL0pT
RG9sbGFyVk0uaDoKKyAgICAgICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHkuaDoKKyAgICAgICAg
KiB3YXNtL2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yUHJvdG90eXBlLmg6CisgICAgICAgICog
d2FzbS9qcy9XZWJBc3NlbWJseUdsb2JhbFByb3RvdHlwZS5oOgorICAgICAgICAqIHdhc20vanMv
V2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvdHlwZS5oOgorICAgICAgICAqIHdhc20vanMvV2ViQXNz
ZW1ibHlMaW5rRXJyb3JQcm90b3R5cGUuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5
TWVtb3J5UHJvdG90eXBlLmg6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZVBy
b3RvdHlwZS5oOgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JQcm90
b3R5cGUuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5VGFibGVQcm90b3R5cGUuaDoK
KwogMjAyMC0wMy0wNSAgUGF1bG8gTWF0b3MgIDxwbWF0b3NAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbSlNDT25seV0gMzItYml0cyB3YXJuaW5nIG9uIG1lbXNldCBvZiBKU1ZhbHVlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggMTgwNjMzNTk5NDUxYjdjMGI5MzNlZjBiZjBjMDcyYjM4ZjQ5ZjA4YS4uNjdhNDllOTkw
Y2M0NWU3ZGU2NWYxNjg5ZjVjMGYzZDk5MjhiMzc2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg2
IEBACisyMDIwLTAzLTA2ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAg
ICAgICAgUHV0IHJlbWFpbmluZyBmaXhlZC1zaXplZCBjZWxscyBpbnRvIElzb1N1YnNwYWNlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg3NTQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTRE9NSXRlcmF0b3IuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlUHJvdG90eXBlRGVjbGFyYXRpb24pOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0ludGVyZmFjZU5hbWUuY3BwOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU01hcExpa2UuY3BwOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1JlYWRPbmx5TWFwTGlrZS5jcHA6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTUmVhZE9ubHlTZXRMaWtlLmNwcDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNTZXRMaWtlLmNwcDoKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkpTVGVzdEFjdGl2ZURPTU9iamVjdENvbnN0cnVjdG9yOjpwcm90b3R5cGVG
b3JTdHJ1Y3R1cmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RD
RVJlYWN0aW9ucy5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dENFUmVhY3Rpb25zU3RyaW5naWZpZXIuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RDYWxsVHJhY2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdENh
bGxUcmFjZXJDb25zdHJ1Y3Rvcjo6cHJvdG90eXBlRm9yU3RydWN0dXJlKToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0
b3IuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RET01KSVQu
Y3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlT
ZXR0aW5nLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5h
YmxlZEZvckNvbnRleHQuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNwcDoKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0Lmg6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyVGhy
b3dpbmdFeGNlcHRpb24uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3I6OmNvbnN0cnVjdCk6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlLmNwcDoK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SXRlcmFibGUuY3BwOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RKU0J1aWx0aW5Db25zdHJ1
Y3Rvci5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXIuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJv
d2luZ0V4Y2VwdGlvbi5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHA6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRp
Zmllci5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVk
RGVsZXRlclRocm93aW5nRXhjZXB0aW9uLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXIuY3BwOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdl
dHRlci5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVk
R2V0dGVyQ2FsbFdpdGguY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllci5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXIuY3BwOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlck5vSWRlbnRpZmll
ci5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0
dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlci5j
cHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVy
V2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXIuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhPdmVycmlkZUJ1aWx0aW5zLmNwcDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoVW5m
b3JnYWJsZVByb3BlcnRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRTZXR0
ZXJXaXRoVW5mb3JnYWJsZVByb3BlcnRpZXNDb25zdHJ1Y3Rvcjo6cHJvdG90eXBlRm9yU3RydWN0
dXJlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0
ZXJXaXRoVW5mb3JnYWJsZVByb3BlcnRpZXNBbmRPdmVycmlkZUJ1aWx0aW5zLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkpTVGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzQW5k
T3ZlcnJpZGVCdWlsdGluc0NvbnN0cnVjdG9yOjpwcm90b3R5cGVGb3JTdHJ1Y3R1cmUpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcDoKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTVGVzdE9iakNvbnN0cnVjdG9yOjpjb25zdHJ1Y3QpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9y
c1dpdGhTZXF1ZW5jZS5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE92ZXJyaWRlQnVpbHRpbnMuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RQbHVnaW5JbnRlcmZhY2UuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemF0aW9uLmNwcDoKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXphdGlvbkluZGlyZWN0SW5o
ZXJpdGFuY2UuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RT
ZXJpYWxpemF0aW9uSW5oZXJpdC5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFNlcmlhbGl6YXRpb25Jbmhlcml0RmluYWwuY3BwOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2Uu
Y3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmll
ci5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lm
aWVyQW5vbnltb3VzT3BlcmF0aW9uLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbi5jcHA6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50
ZWRBcy5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmlu
Z2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZy5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGUuY3BwOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0
ZUF0dHJpYnV0ZS5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFR5cGVkZWZzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdFR5cGVkZWZzQ29uc3RydWN0
b3I6OmNvbnN0cnVjdCk6CisKIDIwMjAtMDMtMDYgIEFuZHJlcyBHb256YWxleiAgPGFuZHJlc2df
MjJAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNoIGFjY2Vzc2luZyBBWElzb2xhdGVkT2JqZWN0
OjptX2NoaWxkcmVuSURTIGZyb20gcmVtb3ZlU3VidHJlZSBvbiB0aGUgbWFpbiB0aHJlYWQuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3Jp
cHRIb3N0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNj
cmlwdEhvc3QuY3BwCmluZGV4IGYxNDU3OGRiMzNiOGY0YmFhYjhkMjlkMDhhNzMyOWJlMjAyNWQz
MjMuLjA4MGZhZWRlODFhMjI2ODIyMWQxYzUwODk0MWQ5ZWYyNzEyNzlhMjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhv
c3QuY3BwCkBAIC04OCw3ICs4OCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiBjb25zdCBDbGFz
c0luZm8gSlNJbmplY3RlZFNjcmlwdEhvc3Q6OnNfaW5mbyA9IHsgIkluamVjdGVkU2NyaXB0SG9z
dCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUo
SlNJbmplY3RlZFNjcmlwdEhvc3QpIH07CiAKIEpTSW5qZWN0ZWRTY3JpcHRIb3N0OjpKU0luamVj
dGVkU2NyaXB0SG9zdChWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBSZWY8SW5qZWN0ZWRT
Y3JpcHRIb3N0PiYmIGltcGwpCi0gICAgOiBKU0Rlc3RydWN0aWJsZU9iamVjdCh2bSwgc3RydWN0
dXJlKQorICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQogICAgICwgbV93cmFwcGVkKFdURk1vdmUo
aW1wbCkpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0pTSW5qZWN0ZWRTY3JpcHRIb3N0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0pTSW5qZWN0ZWRTY3JpcHRIb3N0LmgKaW5kZXggY2RmYzVmMGNjMWRiMGM2MzhjZDUxYmE5NjFl
MTMyNDk2YWFlNWEyNC4uOWVjYWI4YzYyYmE2Y2MwZjljMGIyMWUxNmI5YTU2ZWI1NDBkY2NjNiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2Ny
aXB0SG9zdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3Rl
ZFNjcmlwdEhvc3QuaApAQCAtMjUsMTYgKzI1LDIzIEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5j
bHVkZSAiSlNEZXN0cnVjdGlibGVPYmplY3QuaCIKKyNpbmNsdWRlICJKU09iamVjdC5oIgogCiBu
YW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogY2xhc3MgSW5qZWN0ZWRTY3JpcHRIb3N0OwogCi1jbGFz
cyBKU0luamVjdGVkU2NyaXB0SG9zdCBmaW5hbCA6IHB1YmxpYyBKU0M6OkpTRGVzdHJ1Y3RpYmxl
T2JqZWN0IHsKK2NsYXNzIEpTSW5qZWN0ZWRTY3JpcHRIb3N0IGZpbmFsIDogcHVibGljIEpTQzo6
SlNOb25GaW5hbE9iamVjdCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBKU0M6OkpTRGVzdHJ1Y3Rp
YmxlT2JqZWN0IEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEpTQzo6SlNOb25GaW5hbE9iamVjdDsK
ICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3Ry
dWN0dXJlRmxhZ3M7CisgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIG5lZWRzRGVzdHJ1Y3Rpb24g
PSB0cnVlOworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3BhY2VB
Y2Nlc3MgbW9kZT4KKyAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoSlND
OjpWTSYgdm0pCisgICAgeworICAgICAgICByZXR1cm4gdm0uaW5qZWN0ZWRTY3JpcHRIb3N0U3Bh
Y2U8bW9kZT4oKTsKKyAgICB9CiAKICAgICBERUNMQVJFX0lORk87CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5
cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhv
c3RQcm90b3R5cGUuaAppbmRleCBlODkxYWIyMWQ5OWMzYzUwMTc4NTQzZTM4MTg3YjcwOTljM2Iy
YTBjLi41OTZkMDg5NDA0OGY0N2I3NzcyMmZlM2M2NWI5Mjc5YmMzMTZlYzM1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0UHJv
dG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVk
U2NyaXB0SG9zdFByb3RvdHlwZS5oCkBAIC0zMSw5ICszMSwxNiBAQCBuYW1lc3BhY2UgSW5zcGVj
dG9yIHsKIAogY2xhc3MgSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5cGUgZmluYWwgOiBwdWJs
aWMgSlNDOjpKU05vbkZpbmFsT2JqZWN0IHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEpTQzo6SlNO
b25GaW5hbE9iamVjdCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBKU0M6OkpTTm9uRmluYWxPYmpl
Y3Q7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6
OlN0cnVjdHVyZUZsYWdzIHwgSlNDOjpPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3Q7CiAKKyAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgSlNDOjpTdWJzcGFjZUFjY2Vzcz4KKyAgICBz
dGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoSlNDOjpWTSYgdm0pCisgICAgewor
ICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU0luamVjdGVkU2Ny
aXB0SG9zdFByb3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RT
cGFjZTsKKyAgICB9CisKICAgICBERUNMQVJFX0lORk87CiAKICAgICBzdGF0aWMgSlNJbmplY3Rl
ZFNjcmlwdEhvc3RQcm90b3R5cGUqIGNyZWF0ZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWUu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJh
bWUuY3BwCmluZGV4IDIwZGE5OTI0MzJjMWJkMDdmNzQyMTM4NDc5ZDQ0OGNkNjgxNTFjNjguLjhk
ZTJjOGU0NjU2ZDk0ODRjMTJiMzY4NDZjYjA1NjY1YjM0YjNjMDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZS5j
cHAKQEAgLTQwLDcgKzQwLDcgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIGNvbnN0IENsYXNzSW5m
byBKU0phdmFTY3JpcHRDYWxsRnJhbWU6OnNfaW5mbyA9IHsgIkphdmFTY3JpcHRDYWxsRnJhbWUi
LCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpT
SmF2YVNjcmlwdENhbGxGcmFtZSkgfTsKIAogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpKU0phdmFT
Y3JpcHRDYWxsRnJhbWUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUmVmPEphdmFTY3Jp
cHRDYWxsRnJhbWU+JiYgaW1wbCkKLSAgICA6IEpTRGVzdHJ1Y3RpYmxlT2JqZWN0KHZtLCBzdHJ1
Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCiAgICAgLCBtX2ltcGwoJmltcGwubGVh
a1JlZigpKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9KU0phdmFTY3JpcHRDYWxsRnJhbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmgKaW5kZXggZGVkNGM3NjA2ZmNmY2M5ZjFiODE3OTI3
YzYwOWY2NTAyNzliYzNkYy4uYjAyMjhlZmI4MTkyNzU2ZDc2MDYxY2M1MDA1ZDc0MDE3ZGRhYmQ5
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3Jp
cHRDYWxsRnJhbWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2
YVNjcmlwdENhbGxGcmFtZS5oCkBAIC0yNSwxNSArMjUsMjIgQEAKIAogI3ByYWdtYSBvbmNlCiAK
LSNpbmNsdWRlICJKU0Rlc3RydWN0aWJsZU9iamVjdC5oIgorI2luY2x1ZGUgIkpTT2JqZWN0Lmgi
CiAjaW5jbHVkZSAiSmF2YVNjcmlwdENhbGxGcmFtZS5oIgogCiBuYW1lc3BhY2UgSW5zcGVjdG9y
IHsKIAotY2xhc3MgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lIGZpbmFsIDogcHVibGljIEpTQzo6SlNE
ZXN0cnVjdGlibGVPYmplY3QgeworY2xhc3MgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lIGZpbmFsIDog
cHVibGljIEpTQzo6SlNOb25GaW5hbE9iamVjdCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBKU0M6
OkpTRGVzdHJ1Y3RpYmxlT2JqZWN0IEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEpTQzo6SlNOb25G
aW5hbE9iamVjdDsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdz
ID0gQmFzZTo6U3RydWN0dXJlRmxhZ3M7CisgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIG5lZWRz
RGVzdHJ1Y3Rpb24gPSB0cnVlOworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIEpT
Qzo6U3Vic3BhY2VBY2Nlc3MgbW9kZT4KKyAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vi
c3BhY2VGb3IoSlNDOjpWTSYgdm0pCisgICAgeworICAgICAgICByZXR1cm4gdm0uamF2YVNjcmlw
dENhbGxGcmFtZVNwYWNlPG1vZGU+KCk7CisgICAgfQogCiAgICAgREVDTEFSRV9JTkZPOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENh
bGxGcmFtZVByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0ph
dmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuaAppbmRleCAxYWMzMTE4Njc0ZjNmZmFiZDEyNGM2
MmI2ZGFiNTJkOTUwMmZkZDY5Li42ZGIyMGEyZWRmYmJiZDljN2M3MTBhNzgzNGEwZjIxNmYxMmY1
ZmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNj
cmlwdENhbGxGcmFtZVByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmgKQEAgLTMxLDkgKzMxLDE2IEBA
IG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBjbGFzcyBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90
b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNDOjpKU05vbkZpbmFsT2JqZWN0IHsKIHB1YmxpYzoKLSAg
ICB0eXBlZGVmIEpTQzo6SlNOb25GaW5hbE9iamVjdCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBK
U0M6OkpTTm9uRmluYWxPYmplY3Q7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1
Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSlNDOjpPdmVycmlkZXNHZXRPd25Q
cm9wZXJ0eVNsb3Q7CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgSlNDOjpTdWJz
cGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoSlND
OjpWTSYgdm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFS
QUJMRShKU0luamVjdGVkU2NyaXB0SG9zdFByb3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJldHVy
biAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CisKICAgICBERUNMQVJFX0lORk87CiAKICAg
ICBzdGF0aWMgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlKiBjcmVhdGUoSlNDOjpWTSYg
dm0sIEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKaW5kZXggOTE2NmQ1MmNmNTRhNWNhZGEwZDM4NWMz
MmYwMmRjOTkzMTY2N2MyYi4uODExMWRkNmJjMDkxOGM2YzhjNDc2NTAyMGNmNzI5OGM1NjBhOWNm
NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKQEAgLTIwNiw2ICsyMDYsMTIgQEAgY2xhc3MgTWFzcXVl
cmFkZXIgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgdHlwZWRlZiBKU05vbkZpbmFs
T2JqZWN0IEJhc2U7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFn
cyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSlNDOjpNYXNxdWVyYWRlc0FzVW5kZWZpbmVkOwog
CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzPgorICAgIHN0
YXRpYyBDb21wbGV0ZVN1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisgICAgeworICAgICAg
ICByZXR1cm4gJnZtLmNlbGxTcGFjZTsKKyAgICB9CisKICAgICBzdGF0aWMgTWFzcXVlcmFkZXIq
IGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgewogICAg
ICAgICBnbG9iYWxPYmplY3QtPm1hc3F1ZXJhZGVzQXNVbmRlZmluZWRXYXRjaHBvaW50KCktPmZp
cmVBbGwodm0sICJNYXNxdWVyYWRpbmcgb2JqZWN0IGFsbG9jYXRlZCIpOwpAQCAtMTM4Myw2ICsx
Mzg5LDEyIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25IZWFwU2l6ZShK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsCiBjbGFzcyBKU0NNZW1vcnlGb290cHJp
bnQgOiBwdWJsaWMgSlNEZXN0cnVjdGlibGVPYmplY3QgewogICAgIHVzaW5nIEJhc2UgPSBKU0Rl
c3RydWN0aWJsZU9iamVjdDsKIHB1YmxpYzoKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlw
ZSwgU3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIENvbXBsZXRlU3Vic3BhY2UqIHN1YnNwYWNl
Rm9yKFZNJiB2bSkKKyAgICB7CisgICAgICAgIHJldHVybiAmdm0uZGVzdHJ1Y3RpYmxlT2JqZWN0
U3BhY2U7CisgICAgfQorCiAgICAgSlNDTWVtb3J5Rm9vdHByaW50KFZNJiB2bSwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUpCiAgICAgICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQogICAgIHsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlJdGVyYXRvclByb3Rv
dHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlJdGVyYXRvclByb3Rv
dHlwZS5oCmluZGV4IDk5NDAzZmYzM2FiNjc5YTIwYjhkYmZkNjQ1M2Q4ZTdlZDc3ZThmYTAuLjdi
OTI2ODI1YzdjMTY2NjJiYjk1ODU5MTVmYzdjZjI3ZmE0MDFiYmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5SXRlcmF0b3JQcm90b3R5cGUuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUl0ZXJhdG9yUHJvdG90eXBlLmgKQEAg
LTMxLDkgKzMxLDE2IEBAIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBBcnJheUl0ZXJhdG9yUHJv
dG90eXBlIGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogcHVibGljOgotICAgIHR5
cGVkZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFs
T2JqZWN0OwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBC
YXNlOjpTdHJ1Y3R1cmVGbGFncyB8IEhhc1N0YXRpY1Byb3BlcnR5VGFibGU7CiAKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIElzb1N1
YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNTRVJU
X0lTT19TVUJTUEFDRV9TSEFSQUJMRShBcnJheUl0ZXJhdG9yUHJvdG90eXBlLCBCYXNlKTsKKyAg
ICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KKwogICAgIHN0YXRpYyBB
cnJheUl0ZXJhdG9yUHJvdG90eXBlKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICB7CiAgICAgICAgIEFycmF5SXRl
cmF0b3JQcm90b3R5cGUqIHByb3RvdHlwZSA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEFy
cmF5SXRlcmF0b3JQcm90b3R5cGU+KHZtLmhlYXApKSBBcnJheUl0ZXJhdG9yUHJvdG90eXBlKHZt
LCBzdHJ1Y3R1cmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJyYXlQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJv
dG90eXBlLmgKaW5kZXggNmIyZGY2M2FlYmQxYjE2MDcyOGI1NWI4MDRkMThmNjY3NTljN2JiMi4u
YTUyMDE1NGVhMWZmZDMzMGE4YzE5YWEwNGQ5OGE0ZWJlNTY0YWJhMyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5oCkBAIC0yOSw3ICsyOSw3IEBA
IGNsYXNzIEFycmF5UHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTQXJyYXkgewogICAgIEFycmF5
UHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CiAKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEpTQXJy
YXkgQmFzZTsKKyAgICB1c2luZyBCYXNlID0gSlNBcnJheTsKIAogICAgIGVudW0gY2xhc3MgU3Bl
Y2llc1dhdGNocG9pbnRTdGF0dXMgewogICAgICAgICBVbmluaXRpYWxpemVkLApAQCAtNDksNiAr
NDksNyBAQCBjbGFzcyBBcnJheVByb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU0FycmF5IHsKIHBy
b3RlY3RlZDoKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsK
IH07CitTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShBcnJheVByb3RvdHlwZSwg
QXJyYXlQcm90b3R5cGU6OkJhc2UpOwogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFy
cmF5UHJvdG9GdW5jU3BlY2llc0NyZWF0ZShKU0dsb2JhbE9iamVjdCosIENhbGxGcmFtZSopOwog
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY1RvU3RyaW5nKEpTR2xv
YmFsT2JqZWN0KiwgQ2FsbEZyYW1lKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Bc3luY0Zyb21TeW5jSXRlcmF0b3JQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jRnJvbVN5bmNJdGVyYXRvclByb3RvdHlwZS5oCmluZGV4
IDMwN2YzMDQ1NmQ5ZmQ4ZjNlOGQ1MTE0YWEwZTUyYTg3NTQ2ZDg5YWIuLjExM2E1MzdiOWQxNTEz
ZDkxNmMwZGZkMWNjMmU4MzE0M2MyNWJhZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0FzeW5jRnJvbVN5bmNJdGVyYXRvclByb3RvdHlwZS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jRnJvbVN5bmNJdGVyYXRvclByb3RvdHlwZS5o
CkBAIC0zMyw2ICszMywxMyBAQCBjbGFzcyBBc3luY0Zyb21TeW5jSXRlcmF0b3JQcm90b3R5cGUg
ZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgdXNpbmcgQmFzZSA9IEpTTm9u
RmluYWxPYmplY3Q7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFn
cyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSGFzU3RhdGljUHJvcGVydHlUYWJsZTsKIAorICAg
IHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMg
SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19B
U1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEFzeW5jRnJvbVN5bmNJdGVyYXRvclByb3RvdHlw
ZSwgQmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CisK
ICAgICBERUNMQVJFX0lORk87CiAKICAgICBzdGF0aWMgQXN5bmNGcm9tU3luY0l0ZXJhdG9yUHJv
dG90eXBlKiBjcmVhdGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNGdW5jdGlvblByb3RvdHlw
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNGdW5jdGlvblByb3RvdHlw
ZS5oCmluZGV4IDc3MzA4YTlkMzBjNDhjNjRiMzhkNDFkYzQ1NmZiNjY3NWJhYWI0NzguLmFmYjlh
MjJlOWNmMDI3ZGFiMDhhZDliM2QzZGQ3ZTU5MTg2MTVlYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jRnVuY3Rpb25Qcm90b3R5cGUuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bc3luY0Z1bmN0aW9uUHJvdG90eXBlLmgKQEAgLTMx
LDcgKzMxLDE0IEBAIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBBc3luY0Z1bmN0aW9uUHJvdG90
eXBlIGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogcHVibGljOgotICAgIHR5cGVk
ZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2Jq
ZWN0OworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzPgor
ICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAgIHsKKyAgICAg
ICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoQXN5bmNGdW5jdGlvblByb3Rv
dHlwZSwgQmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9
CiAKICAgICBERUNMQVJFX0lORk87CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FzeW5jR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUuaAppbmRl
eCBlODVjZTk0ZGRkNmI0NWNiNzc0NDA2ZDg0Mzg5YWVjN2JmY2M3ZmViLi40N2Q0NjQ0NzdmYWFj
YTBlNDA2ZDBhMzQzOGU0ODU0YTU0MTQyMWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Bc3luY0dlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlw
ZS5oCkBAIC0zMyw2ICszMywxMyBAQCBjbGFzcyBBc3luY0dlbmVyYXRvckZ1bmN0aW9uUHJvdG90
eXBlIGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAgIHVzaW5nIEJhc2UgPSBK
U05vbkZpbmFsT2JqZWN0OwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJl
RmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IEhhc1N0YXRpY1Byb3BlcnR5VGFibGU7CiAK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3M+CisgICAgc3Rh
dGljIElzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisgICAgeworICAgICAgICBTVEFU
SUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShBc3luY0dlbmVyYXRvckZ1bmN0aW9uUHJv
dG90eXBlLCBCYXNlKTsKKyAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAg
IH0KKwogICAgIERFQ0xBUkVfSU5GTzsKIAogICAgIHN0YXRpYyBBc3luY0dlbmVyYXRvckZ1bmN0
aW9uUHJvdG90eXBlKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jR2VuZXJhdG9yUHJvdG90
eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bc3luY0dlbmVyYXRvclByb3Rv
dHlwZS5oCmluZGV4IDdjNzczZWI5YTQ0OGYwZDM0OGNmMzQyNmZjNTAzMzU2YzlhOTVlODUuLmRj
MzU4YTk1MTk5MWJiYjM3Mjk3MmMwYzQxNjk5Y2Q1M2FkMGMxMDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jR2VuZXJhdG9yUHJvdG90eXBlLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNHZW5lcmF0b3JQcm90b3R5cGUuaApA
QCAtMzcsNiArMzcsMTMgQEAgY2xhc3MgQXN5bmNHZW5lcmF0b3JQcm90b3R5cGUgZmluYWwgOiBw
dWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgdXNpbmcgQmFzZSA9IEpTTm9uRmluYWxPYmpl
Y3Q7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6
OlN0cnVjdHVyZUZsYWdzIHwgSGFzU3RhdGljUHJvcGVydHlUYWJsZTsKIAorICAgIHRlbXBsYXRl
PHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSXNvU3Vic3Bh
Y2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNP
X1NVQlNQQUNFX1NIQVJBQkxFKEFzeW5jR2VuZXJhdG9yUHJvdG90eXBlLCBCYXNlKTsKKyAgICAg
ICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KKwogICAgIHN0YXRpYyBBc3lu
Y0dlbmVyYXRvclByb3RvdHlwZSogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSkKICAgICB7CiAgICAgICAgIEFzeW5jR2VuZXJhdG9yUHJvdG90eXBl
KiBwcm90b3R5cGUgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxBc3luY0dlbmVyYXRvclBy
b3RvdHlwZT4odm0uaGVhcCkpIEFzeW5jR2VuZXJhdG9yUHJvdG90eXBlKHZtLCBzdHJ1Y3R1cmUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNJdGVyYXRv
clByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNJdGVyYXRv
clByb3RvdHlwZS5oCmluZGV4IDUzNTkzNGFhZmQ0YTY0NTFjNzk2YzkyYTlhYmI3NGQxOWIzOGZk
Y2MuLmQ3ODU5MTIwNjg3MDdjNWQ0N2ZiY2JiMmFiODdjNGU4NTg2NDMwZTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jSXRlcmF0b3JQcm90b3R5cGUuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bc3luY0l0ZXJhdG9yUHJvdG90eXBl
LmgKQEAgLTM1LDYgKzM1LDEzIEBAIGNsYXNzIEFzeW5jSXRlcmF0b3JQcm90b3R5cGUgZmluYWwg
OiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgdXNpbmcgQmFzZSA9IEpTTm9uRmluYWxP
YmplY3Q7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJh
c2U6OlN0cnVjdHVyZUZsYWdzOwogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1
YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZt
KQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoQXN5
bmNJdGVyYXRvclByb3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmpl
Y3RTcGFjZTsKKyAgICB9CisKICAgICBzdGF0aWMgQXN5bmNJdGVyYXRvclByb3RvdHlwZSogY3Jl
YXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCiAgICAgewogICAgICAgICBBc3luY0l0ZXJhdG9yUHJvdG90eXBlKiBwcm90b3R5cGUg
PSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxBc3luY0l0ZXJhdG9yUHJvdG90eXBlPih2bS5o
ZWFwKSkgQXN5bmNJdGVyYXRvclByb3RvdHlwZSh2bSwgc3RydWN0dXJlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0F0b21pY3NPYmplY3QuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0F0b21pY3NPYmplY3QuaAppbmRleCAzZGVmOGM4MGI5YWFj
ZGU5MDhjYzZmZjc4MmFkZDgyNTA1NzE0NmJhLi41MjNhNTc4Y2QyNGU4OGViNTQ2YWU2NDc0ZjRj
MTVlMTc4NDM1ZDRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
dG9taWNzT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXRvbWlj
c09iamVjdC5oCkBAIC0zNCw3ICszNCwxNCBAQCBjbGFzcyBBdG9taWNzT2JqZWN0IGZpbmFsIDog
cHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAgIEF0b21pY3NPYmplY3QoVk0mLCBTdHJ1Y3R1
cmUqKTsKIAogcHVibGljOgotICAgIHR5cGVkZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOworICAg
IHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0OworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUg
Q2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3Bh
Y2VGb3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0Vf
U0hBUkFCTEUoQXRvbWljc09iamVjdCwgQmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5P
YmplY3RTcGFjZTsKKyAgICB9CiAgICAgCiAgICAgc3RhdGljIEF0b21pY3NPYmplY3QqIGNyZWF0
ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CaWdJbnRQcm90b3R5cGUuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0JpZ0ludFByb3RvdHlwZS5oCmluZGV4IGFhMTZmZjYxN2Ji
NmZlMTUxNGVmZjA2ZjlmZDA3MTc3ZTE0ZTkwNDkuLmQ5ZTVmM2UyZGRmNWJkNzAxMTUwMDU0ZjJh
YjZlMWJkMTg0NTVlY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0JpZ0ludFByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jp
Z0ludFByb3RvdHlwZS5oCkBAIC0zNSw2ICszNSwxMyBAQCBjbGFzcyBCaWdJbnRQcm90b3R5cGUg
ZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgdXNpbmcgQmFzZSA9IEpTTm9u
RmluYWxPYmplY3Q7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFn
cyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSGFzU3RhdGljUHJvcGVydHlUYWJsZTsKIAorICAg
IHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMg
SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19B
U1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEJpZ0ludFByb3RvdHlwZSwgQmFzZSk7CisgICAg
ICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CisKICAgICBzdGF0aWMgQmln
SW50UHJvdG90eXBlKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICB7CiAgICAgICAgIEJpZ0ludFByb3RvdHlwZSog
cHJvdG90eXBlID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8QmlnSW50UHJvdG90eXBlPih2
bS5oZWFwKSkgQmlnSW50UHJvdG90eXBlKHZtLCBzdHJ1Y3R1cmUpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29uc29sZU9iamVjdC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ29uc29sZU9iamVjdC5oCmluZGV4IDE4NTYyOWM0NmFiMjY1YTc0
MmFhMTk2MDNiMjc4NGJhYzcxOGY3ZDAuLjQ2NzE5NDIwMDczMjUyNWM3MWZjYjAzMmNkZDNiNjU0
OTE2MTFiNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbnNv
bGVPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db25zb2xlT2Jq
ZWN0LmgKQEAgLTM0LDcgKzM0LDE0IEBAIGNsYXNzIENvbnNvbGVPYmplY3QgZmluYWwgOiBwdWJs
aWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgQ29uc29sZU9iamVjdChWTSYsIFN0cnVjdHVyZSop
OwogCiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBKU05vbkZpbmFsT2JqZWN0IEJhc2U7CisgICAgdXNp
bmcgQmFzZSA9IEpTTm9uRmluYWxPYmplY3Q7CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxs
VHlwZSwgU3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIElzb1N1YnNwYWNlKiBzdWJzcGFjZUZv
cihWTSYgdm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFS
QUJMRShDb25zb2xlT2JqZWN0LCBCYXNlKTsKKyAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVj
dFNwYWNlOworICAgIH0KIAogICAgIHN0YXRpYyBDb25zb2xlT2JqZWN0KiBjcmVhdGUoVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAg
ICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90
eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmgKaW5k
ZXggY2FjNWFiNWVkYjZjMjQ0N2QxMzVjYmE3YmY3YTY0NjE0Y2ExMWY5Ni4uYTg4ODZiMTBhYmY5
NjkwZWYzODIzMWY1MWVlNTdlNDYyNzFhZmQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRGF0ZVByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuaApAQCAtMzEsOSArMzEsMTYgQEAgY2xhc3MgRGF0ZVBy
b3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKICAgICBEYXRlUHJvdG90
eXBlKFZNJiwgU3RydWN0dXJlKik7CiAKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEpTTm9uRmluYWxP
YmplY3QgQmFzZTsKKyAgICB1c2luZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKICAgICBzdGF0
aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxh
Z3MgfCBIYXNTdGF0aWNQcm9wZXJ0eVRhYmxlOwogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2Vs
bFR5cGUsIFN1YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VG
b3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hB
UkFCTEUoRGF0ZVByb3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmpl
Y3RTcGFjZTsKKyAgICB9CisKICAgICBzdGF0aWMgRGF0ZVByb3RvdHlwZSogY3JlYXRlKFZNJiB2
bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAg
ICAgewogICAgICAgICBEYXRlUHJvdG90eXBlKiBwcm90b3R5cGUgPSBuZXcgKE5vdE51bGwsIGFs
bG9jYXRlQ2VsbDxEYXRlUHJvdG90eXBlPih2bS5oZWFwKSkgRGF0ZVByb3RvdHlwZSh2bSwgc3Ry
dWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9y
UHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclByb3RvdHlw
ZS5oCmluZGV4IDQ5NTE0MzcyYmZhNmNiZjc1YjZiYjJkNzBiYzgxOTJkNzJkOWRlNWMuLjkyMmM5
OTZiOTZkZmMzZGFmY2I2ZWY4NjZjNWMxYThmMGMwM2U2ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuaApAQCAtMjksNyArMjksNyBAQCBjbGFz
cyBPYmplY3RQcm90b3R5cGU7CiAvLyBTdXBlcmNsYXNzIGZvciBFcnJvclByb3RvdHlwZSBhbmQg
TmF0aXZlRXJyb3JQcm90b3R5cGUuCiBjbGFzcyBFcnJvclByb3RvdHlwZUJhc2UgOiBwdWJsaWMg
SlNOb25GaW5hbE9iamVjdCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBKU05vbkZpbmFsT2JqZWN0
IEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEpTTm9uRmluYWxPYmplY3Q7CiAKIHByb3RlY3RlZDoK
ICAgICBFcnJvclByb3RvdHlwZUJhc2UoVk0mLCBTdHJ1Y3R1cmUqKTsKQEAgLTM4LDkgKzM4LDE2
IEBAIGNsYXNzIEVycm9yUHJvdG90eXBlQmFzZSA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsK
IAogY2xhc3MgRXJyb3JQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgRXJyb3JQcm90b3R5cGVCYXNl
IHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEVycm9yUHJvdG90eXBlQmFzZSBCYXNlOworICAgIHVz
aW5nIEJhc2UgPSBFcnJvclByb3RvdHlwZUJhc2U7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNp
Z25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSGFzU3RhdGljUHJv
cGVydHlUYWJsZTsKIAorICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFj
Y2Vzcz4KKyAgICBzdGF0aWMgSXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7
CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEVycm9yUHJvdG90
eXBlQmFzZSwgQmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAg
ICB9CisKICAgICBERUNMQVJFX0lORk87CiAKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVT
dHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHBy
b3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2Vw
dGlvbkhlbHBlcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2VwdGlvbkhl
bHBlcnMuaAppbmRleCAzNWFkMTI1NTRjNzAxMjdlNGJmYjc1NTFlYmIzYzE3OGVlYjRjNmUxLi4z
NzZmMmFmNDBkODQ2NDcyNjM0NGM3MzczMjMyZTFjZDVhOTY4ZGY0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGNlcHRpb25IZWxwZXJzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhjZXB0aW9uSGVscGVycy5oCkBAIC02Miw5ICs2Miwx
NiBAQCBKU19FWFBPUlRfUFJJVkFURSBFeGNlcHRpb24qIHRocm93VGVybWluYXRlZEV4ZWN1dGlv
bkV4Y2VwdGlvbihKU0dsb2JhbE9iamVjdCosCiAKIGNsYXNzIFRlcm1pbmF0ZWRFeGVjdXRpb25F
cnJvciBmaW5hbCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKIHB1YmxpYzoKLSAgICB0eXBl
ZGVmIEpTTm9uRmluYWxPYmplY3QgQmFzZTsKKyAgICB1c2luZyBCYXNlID0gSlNOb25GaW5hbE9i
amVjdDsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFz
ZTo6U3RydWN0dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogCisgICAgdGVtcGxhdGU8
dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyBJc29TdWJzcGFj
ZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09f
U1VCU1BBQ0VfU0hBUkFCTEUoVGVybWluYXRlZEV4ZWN1dGlvbkVycm9yLCBCYXNlKTsKKyAgICAg
ICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KKwogICAgIHN0YXRpYyBUZXJt
aW5hdGVkRXhlY3V0aW9uRXJyb3IqIGNyZWF0ZShWTSYgdm0pCiAgICAgewogICAgICAgICBUZXJt
aW5hdGVkRXhlY3V0aW9uRXJyb3IqIGVycm9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8
VGVybWluYXRlZEV4ZWN1dGlvbkVycm9yPih2bS5oZWFwKSkgVGVybWluYXRlZEV4ZWN1dGlvbkVy
cm9yKHZtKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dlbmVy
YXRvckZ1bmN0aW9uUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9H
ZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZS5oCmluZGV4IDQ4NGU3ODVmNzIwNjI1MDFlODAyNTdh
ZTM3OTI2ZTRhNGU2MDhhYmEuLjQ4ZWJmZDM3Y2MxODczYWMwNDY5NzljYzJjZmZjZGE1MzA0M2Yw
ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dlbmVyYXRvckZ1
bmN0aW9uUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR2Vu
ZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUuaApAQCAtMzMsNyArMzMsMTQgQEAgbmFtZXNwYWNlIEpT
QyB7CiAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1nZW5lcmF0b3JmdW5j
dGlvbi5wcm90b3R5cGUKIGNsYXNzIEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIGZpbmFsIDog
cHVibGljIEpTTm9uRmluYWxPYmplY3QgewogcHVibGljOgotICAgIHR5cGVkZWYgSlNOb25GaW5h
bE9iamVjdCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0OworCisgICAg
dGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyBJ
c29TdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FT
U0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUsIEJh
c2UpOworICAgICAgICByZXR1cm4gJnZtLnBsYWluT2JqZWN0U3BhY2U7CisgICAgfQogCiAgICAg
c3RhdGljIEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9HZW5lcmF0b3JQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0dlbmVyYXRvclByb3RvdHlwZS5oCmluZGV4IDZjZDg3OGQwZWNmNmI1NWM1MzQ1MGE5YTRh
OTIwODFjMWQ0Mzk4NDYuLmJlNmU1ODE3N2RiZGIzNzYyNTM2NjRiODJmNWRjZTY4NzEyOTFhMjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dlbmVyYXRvclByb3Rv
dHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dlbmVyYXRvclByb3Rv
dHlwZS5oCkBAIC0zNCw5ICszNCwxNiBAQCBuYW1lc3BhY2UgSlNDIHsKIC8vIGh0dHBzOi8vdGMz
OS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXByb3BlcnRpZXMtb2YtZ2VuZXJhdG9yLXByb3RvdHlw
ZQogY2xhc3MgR2VuZXJhdG9yUHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmpl
Y3QgewogcHVibGljOgotICAgIHR5cGVkZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOworICAgIHVz
aW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0OwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWdu
ZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IEhhc1N0YXRpY1Byb3Bl
cnR5VGFibGU7CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nl
c3M+CisgICAgc3RhdGljIElzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisgICAgewor
ICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShHZW5lcmF0b3JQcm90
b3R5cGUsIEJhc2UpOworICAgICAgICByZXR1cm4gJnZtLnBsYWluT2JqZWN0U3BhY2U7CisgICAg
fQorCiAgICAgc3RhdGljIEdlbmVyYXRvclByb3RvdHlwZSogY3JlYXRlKFZNJiB2bSwgSlNHbG9i
YWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICB7CiAgICAgICAgIEdlbmVyYXRv
clByb3RvdHlwZSogcHJvdG90eXBlID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8R2VuZXJh
dG9yUHJvdG90eXBlPih2bS5oZWFwKSkgR2VuZXJhdG9yUHJvdG90eXBlKHZtLCBzdHJ1Y3R1cmUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb25PYmplY3QuaAppbmRleCAxZWQxMWE4ZThhOGYzNDBlZmQwNGJj
MzcyYmYwMmEwZjU2ZjU3ZjFjLi42ZDZlMWZmNTQ2NmUzY2UwMjE5MDZlNzQyMDFmZTQ0NjM3MGE2
MTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb25PYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb25PYmplY3QuaApAQCAtMzQsOSArMzQsMTYgQEAgY2xh
c3MgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uT2JqZWN0IGZpbmFsIDogcHVibGljIEpTTm9uRmlu
YWxPYmplY3QgewogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbk9iamVjdChWTSYsIFN0cnVj
dHVyZSopOwogCiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBKU05vbkZpbmFsT2JqZWN0IEJhc2U7Cisg
ICAgdXNpbmcgQmFzZSA9IEpTTm9uRmluYWxPYmplY3Q7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1
bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSGFzU3RhdGlj
UHJvcGVydHlUYWJsZTsKIAorICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFj
ZUFjY2Vzcz4KKyAgICBzdGF0aWMgSXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAg
ICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbk9iamVjdCwgQmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5P
YmplY3RTcGFjZTsKKyAgICB9CisKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
T2JqZWN0KiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSkKICAgICB7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bk9iamVjdCogb2JqZWN0ID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uT2JqZWN0Pih2bS5oZWFwKSkgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uT2Jq
ZWN0KHZtLCBzdHJ1Y3R1cmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW50bENvbGxhdG9yUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRsQ29sbGF0b3JQcm90b3R5cGUuaAppbmRleCBlMDA4MmUxODQ2MWFiZGEzOWI0Zjc1
NWIzNmRiMzM4YjNhY2M4NWFiLi4xNTc2NzMyNTVlYzA5MDQ2ZjVhN2EzZDgwYzJlYTNmYTQ4Y2Y1
MTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsQ29sbGF0
b3JQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsQ29s
bGF0b3JQcm90b3R5cGUuaApAQCAtMzQsOSArMzQsMTYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNs
YXNzIEludGxDb2xsYXRvclByb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0
IHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEpTTm9uRmluYWxPYmplY3QgQmFzZTsKKyAgICB1c2lu
ZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVk
IFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBIYXNTdGF0aWNQcm9wZXJ0
eVRhYmxlOwogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNz
PgorICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAgIHsKKyAg
ICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSW50bENvbGxhdG9yUHJv
dG90eXBlLCBCYXNlKTsKKyAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAg
IH0KKwogICAgIHN0YXRpYyBJbnRsQ29sbGF0b3JQcm90b3R5cGUqIGNyZWF0ZShWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3Ry
dWN0dXJlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5
cGUuaAppbmRleCBmMGNhZDlkMWI3YjE3MzNhMTRkM2QxMGU4YWE2ZWNhZjE4MDdiNjBlLi5iNDE5
MDA1NGY0Njc5OTAyMTU0OWM2ODRhNmZjZGM1MDE2ZWVkMmY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5
cGUuaApAQCAtMzQsOSArMzQsMTYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIEludGxEYXRl
VGltZUZvcm1hdFByb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKIHB1
YmxpYzoKLSAgICB0eXBlZGVmIEpTTm9uRmluYWxPYmplY3QgQmFzZTsKKyAgICB1c2luZyBCYXNl
ID0gSlNOb25GaW5hbE9iamVjdDsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVj
dHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBIYXNTdGF0aWNQcm9wZXJ0eVRhYmxl
OwogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzPgorICAg
IHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAg
U1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSW50bERhdGVUaW1lRm9ybWF0UHJv
dG90eXBlLCBCYXNlKTsKKyAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAg
IH0KKwogICAgIHN0YXRpYyBJbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUqIGNyZWF0ZShWTSYs
IEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3Jl
YXRlU3RydWN0dXJlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdFByb3RvdHlw
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdFByb3Rv
dHlwZS5oCmluZGV4IDY4ZTk4ODU4NTQ0NWYyMTY3MWU2MjM1ZTQzOGZiZTc3ZDQzMzhjYmQuLjgy
MjYxYTA3MDBkZjcxODVhMzQ5MjcyYWJlYzRhNjMxNWUyYmEwOWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXRQcm90b3R5cGUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBl
LmgKQEAgLTM0LDkgKzM0LDE2IEBAIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBJbnRsTnVtYmVy
Rm9ybWF0UHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogcHVibGlj
OgotICAgIHR5cGVkZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBK
U05vbkZpbmFsT2JqZWN0OwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJl
RmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IEhhc1N0YXRpY1Byb3BlcnR5VGFibGU7CiAK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3M+CisgICAgc3Rh
dGljIElzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisgICAgeworICAgICAgICBTVEFU
SUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShJbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBl
LCBCYXNlKTsKKyAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KKwog
ICAgIHN0YXRpYyBJbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlKiBjcmVhdGUoVk0mLCBKU0dsb2Jh
bE9iamVjdCosIFN0cnVjdHVyZSopOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVj
dHVyZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGxPYmplY3QuaAppbmRleCAxYWFlNWMyNmEzZjdhOWI5MzA1MjNkZjQx
NTcyNjFhNzM0NWQwMDRjLi5mM2Y2Nzc4MzVmN2Q3MGNmYTYzNDc1Y2YzZjM1MjliNDc5YTg4MDc4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsT2JqZWN0LmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE9iamVjdC5oCkBAIC00NCw5
ICs0NCwxNiBAQCBjbGFzcyBJbnRsUGx1cmFsUnVsZXNQcm90b3R5cGU7CiAKIGNsYXNzIEludGxP
YmplY3QgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiBwdWJsaWM6Ci0gICAgdHlw
ZWRlZiBKU05vbkZpbmFsT2JqZWN0IEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEpTTm9uRmluYWxP
YmplY3Q7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJh
c2U6OlN0cnVjdHVyZUZsYWdzIHwgSGFzU3RhdGljUHJvcGVydHlUYWJsZTsKIAorICAgIHRlbXBs
YXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSXNvU3Vi
c3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRf
SVNPX1NVQlNQQUNFX1NIQVJBQkxFKEludGxPYmplY3QsIEJhc2UpOworICAgICAgICByZXR1cm4g
JnZtLnBsYWluT2JqZWN0U3BhY2U7CisgICAgfQorCiAgICAgc3RhdGljIEludGxPYmplY3QqIGNy
ZWF0ZShWTSYsIFN0cnVjdHVyZSopOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVj
dHVyZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlc1Byb3RvdHlwZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzUHJvdG90eXBlLmgKaW5k
ZXggMWU1ZDEzMmI4ZjIyZDdhYzhhNjQ2NTRhM2M5YTAzNGE2YTkzOWIxMi4uNjgzMGQ3ZWU5M2Fk
NmNhZWQ2YTYzMTg4YjJlNTRjZDFlYzA0OGM0MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzUHJvdG90eXBlLmgKQEAgLTM0LDkg
KzM0LDE2IEBAIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBJbnRsUGx1cmFsUnVsZXNQcm90b3R5
cGUgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRl
ZiBKU05vbkZpbmFsT2JqZWN0IEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEpTTm9uRmluYWxPYmpl
Y3Q7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6
OlN0cnVjdHVyZUZsYWdzIHwgSGFzU3RhdGljUHJvcGVydHlUYWJsZTsKIAorICAgIHRlbXBsYXRl
PHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSXNvU3Vic3Bh
Y2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNP
X1NVQlNQQUNFX1NIQVJBQkxFKEludGxQbHVyYWxSdWxlc1Byb3RvdHlwZSwgQmFzZSk7CisgICAg
ICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CisKICAgICBzdGF0aWMgSW50
bFBsdXJhbFJ1bGVzUHJvdG90eXBlKiBjcmVhdGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVj
dHVyZSopOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgSlNWYWx1ZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0l0ZXJhdG9yUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JdGVyYXRvclByb3RvdHlwZS5oCmluZGV4IDU3NzUxYjM2ZGMyNzRlYmRjOTNjMzhmMDAz
NDZhZWUwNTllNjc1OTguLmFmYmNmM2IyMTdhMzU1Njc5MThkYzRjOTBlYmE3ZmI5N2FlODViNjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0l0ZXJhdG9yUHJvdG90
eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSXRlcmF0b3JQcm90b3R5
cGUuaApAQCAtMzIsOSArMzIsMTYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIEl0ZXJhdG9y
UHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogcHVibGljOgotICAg
IHR5cGVkZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBKU05vbkZp
bmFsT2JqZWN0OwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3Mg
PSBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKIAorICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBl
LCBTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZN
JiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxF
KEl0ZXJhdG9yUHJvdG90eXBlLCBCYXNlKTsKKyAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVj
dFNwYWNlOworICAgIH0KKwogICAgIHN0YXRpYyBJdGVyYXRvclByb3RvdHlwZSogY3JlYXRlKFZN
JiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUp
CiAgICAgewogICAgICAgICBJdGVyYXRvclByb3RvdHlwZSogcHJvdG90eXBlID0gbmV3IChOb3RO
dWxsLCBhbGxvY2F0ZUNlbGw8SXRlcmF0b3JQcm90b3R5cGU+KHZtLmhlYXApKSBJdGVyYXRvclBy
b3RvdHlwZSh2bSwgc3RydWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyYXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJy
YXkuaAppbmRleCBjZGMzOWI1MTJkN2VlM2ExNWNmMWFlYzJlMGEyZDkzZDlhYWFkMGYzLi44NDBh
NTU2NzQ5NzA4YjU1OTc2NGExMWZkYWI0Yzg3NmFjODM3MmFiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJheS5oCkBAIC00Nyw2ICs0NywxMiBAQCBjbGFzcyBKU0FycmF5IDog
cHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAgICAgICBBU1NFUlRfVU5VU0VEKGlubGluZUNh
cGFjaXR5LCAhaW5saW5lQ2FwYWNpdHkpOwogICAgICAgICByZXR1cm4gc2l6ZW9mKEpTQXJyYXkp
OwogICAgIH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vz
cz4KKyAgICBzdGF0aWMgSXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7Cisg
ICAgICAgIHJldHVybiAmdm0uYXJyYXlTcGFjZTsKKyAgICB9CiAgICAgICAgIAogcHJvdGVjdGVk
OgogICAgIGV4cGxpY2l0IEpTQXJyYXkoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgQnV0
dGVyZmx5KiBidXR0ZXJmbHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FycmF5QnVmZmVyUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FycmF5QnVmZmVyUHJvdG90eXBlLmgKaW5kZXggYTg5MTM2YTNkNTgwOTY5M2VhNjIx
N2JhNDIyMDA1MTJmYzViNmExYy4uZmI0NDQ4N2IwODI4OGEzNDU1ZGVjNDY2ZWZkOThjNDdkMTJl
ODNmNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1
ZmZlclByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJy
YXlCdWZmZXJQcm90b3R5cGUuaApAQCAtMzEsNyArMzEsMTQgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
IGNsYXNzIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9i
amVjdCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBKU05vbkZpbmFsT2JqZWN0IEJhc2U7CisgICAg
dXNpbmcgQmFzZSA9IEpTTm9uRmluYWxPYmplY3Q7CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBD
ZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIElzb1N1YnNwYWNlKiBzdWJzcGFj
ZUZvcihWTSYgdm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9T
SEFSQUJMRShKU0FycmF5QnVmZmVyUHJvdG90eXBlLCBCYXNlKTsKKyAgICAgICAgcmV0dXJuICZ2
bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KIAogcHJvdGVjdGVkOgogICAgIEpTQXJyYXlCdWZm
ZXJQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTRGF0YVZpZXdQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTRGF0YVZpZXdQcm90b3R5cGUuaAppbmRleCAwMjU2Nzg0NzA5MTgyODg0
OTMwNWI5OTNmNzA4MzMxMjcyYWE5YmI3Li41YjY4NTA0YWRjM2JlNTA5NjI1ODYxNTEyNDJjMzkw
ZTYzNjBmOTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Rh
dGFWaWV3UHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNE
YXRhVmlld1Byb3RvdHlwZS5oCkBAIC0zMSw5ICszMSwxNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAog
Y2xhc3MgSlNEYXRhVmlld1Byb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0
IHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEpTTm9uRmluYWxPYmplY3QgQmFzZTsKKyAgICB1c2lu
ZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVk
IFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBIYXNTdGF0aWNQcm9wZXJ0
eVRhYmxlOwogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNz
PgorICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAgIHsKKyAg
ICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNEYXRhVmlld1Byb3Rv
dHlwZSwgQmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9
CisKIHByb3RlY3RlZDoKICAgICBKU0RhdGFWaWV3UHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGVzdHJ1Y3Rp
YmxlT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Rlc3RydWN0aWJs
ZU9iamVjdC5oCmluZGV4IDdmZWU3OTBjZTUwMjRjZDBmZTc4ODkwYzU4ZDQ1YTUxMjA2N2E4MzUu
LmNiNDI3Y2IyZTI0YjlhNWMwOTdhOTZlMWJjZGIyYmU5NzE3MGQwOTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGVzdHJ1Y3RpYmxlT2JqZWN0LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEZXN0cnVjdGlibGVPYmplY3QuaApAQCAt
MzMsMTYgKzMzLDEwIEBAIHN0cnVjdCBDbGFzc0luZm87CiAKIGNsYXNzIEpTRGVzdHJ1Y3RpYmxl
T2JqZWN0IDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogcHVibGljOgotICAgIHR5cGVkZWYg
SlNOb25GaW5hbE9iamVjdCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0
OwogCiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIG5lZWRzRGVzdHJ1Y3Rpb24gPSB0cnVlOwog
ICAgIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vzcz4KLSAg
ICBzdGF0aWMgQ29tcGxldGVTdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQotICAgIHsKLSAg
ICAgICAgcmV0dXJuICZ2bS5kZXN0cnVjdGlibGVPYmplY3RTcGFjZTsKLSAgICB9Ci0KICAgICBj
b25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NJbmZvOyB9
CiAgICAgCiAgICAgc3RhdGljIHB0cmRpZmZfdCBjbGFzc0luZm9PZmZzZXQoKSB7IHJldHVybiBP
QkpFQ1RfT0ZGU0VUT0YoSlNEZXN0cnVjdGlibGVPYmplY3QsIG1fY2xhc3NJbmZvKTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJh
eVZpZXdQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJp
Y1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmgKaW5kZXggYjQzNjBlOTE4ZWQ5YTUwZjNkNjMzOGYz
MzY4YTMxYzk5NWEwYTljMS4uMzI5ZGQ0M2VhYjFiNGVmZjM3YmJjMmVjMjYxOTFiZTBhZjRlZTI2
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlw
ZWRBcnJheVZpZXdQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZS5oCkBAIC0zMiw3ICszMiwxNCBAQCBu
YW1lc3BhY2UgSlNDIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFZpZXdDbGFzcz4KIGNsYXNzIEpTR2Vu
ZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmpl
Y3QgewogcHVibGljOgotICAgIHR5cGVkZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOworICAgIHVz
aW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0OworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2Vs
bFR5cGUsIFN1YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VG
b3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hB
UkFCTEUoSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGUsIEJhc2UpOworICAgICAgICBy
ZXR1cm4gJnZtLnBsYWluT2JqZWN0U3BhY2U7CisgICAgfQogCiBwcm90ZWN0ZWQ6CiAgICAgSlNH
ZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTG9hZGVyLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01vZHVsZUxvYWRlci5oCmluZGV4IDJmN2Y2NzM0
YzA2YjlhMTlkN2ZlMzMyYTlkY2YxZGY4ZGFkZmY0MzMuLjdkNDlmYWUyNDAyNmUyYjY1Zjc2NGJh
MWMxNGUxMWYwYjQwMGZmYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTTW9kdWxlTG9hZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNNb2R1bGVMb2FkZXIuaApAQCAtNDIsNiArNDIsMTMgQEAgY2xhc3MgSlNNb2R1bGVMb2FkZXIg
ZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgdXNpbmcgQmFzZSA9IEpTTm9u
RmluYWxPYmplY3Q7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFn
cyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSGFzU3RhdGljUHJvcGVydHlUYWJsZTsKIAorICAg
IHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMg
SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19B
U1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpTTW9kdWxlTG9hZGVyLCBCYXNlKTsKKyAgICAg
ICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KKwogICAgIGVudW0gU3RhdHVz
IHsKICAgICAgICAgRmV0Y2ggPSAxLAogICAgICAgICBJbnN0YW50aWF0ZSwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuaAppbmRleCA0N2IxYzhhNGE5NjRhNzg1MGVk
M2IwYmE2YWE2ZjYwZDdlNWNiZDg5Li5jYTk3ZTdlNWI0OWRmYmNhOWM0NmY3NjA5YjNkYjc3NzFi
NTRkMDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2Jq
ZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5oCkBA
IC0zMSw5ICszMSwxNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgSlNPTk9iamVjdCBmaW5h
bCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEpTTm9u
RmluYWxPYmplY3QgQmFzZTsKKyAgICB1c2luZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKICAg
ICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0
dXJlRmxhZ3MgfCBIYXNTdGF0aWNQcm9wZXJ0eVRhYmxlOwogCisgICAgdGVtcGxhdGU8dHlwZW5h
bWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vi
c3BhY2VGb3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BB
Q0VfU0hBUkFCTEUoSlNPTk9iamVjdCwgQmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5P
YmplY3RTcGFjZTsKKyAgICB9CisKICAgICBzdGF0aWMgSlNPTk9iamVjdCogY3JlYXRlKFZNJiB2
bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgewogICAgICAgICBKU09OT2JqZWN0KiBvYmpl
Y3QgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU09OT2JqZWN0Pih2bS5oZWFwKSkgSlNP
Tk9iamVjdCh2bSwgc3RydWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdC5oCmluZGV4IDZiZGE5ZTFlMDdlNzk4ZmI5MjM0ODM3NzJmMDdiN2Y2Y2RjMDE3MGUuLjhi
NjA0NzEyNjIxNmM5Y2E1MGY0Nzg5ZDQ4MWU1Njk1ZjJkNjUyMzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaApAQCAtMTA2LDEyICsxMDYsNiBAQCBjbGFzcyBKU09i
amVjdCA6IHB1YmxpYyBKU0NlbGwgewogcHVibGljOgogICAgIHVzaW5nIEJhc2UgPSBKU0NlbGw7
CiAKLSAgICAvLyBEb24ndCBjYWxsIHRoaXMgZGlyZWN0bHkuIENhbGwgSlNDOjpzdWJzcGFjZUZv
cjxUeXBlPih2bSkgaW5zdGVhZC4KLSAgICAvLyBGSVhNRTogUmVmZXIgdG8gU3Vic3BhY2UgYnkg
cmVmZXJlbmNlLgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjY5ODgKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3M+
Ci0gICAgc3RhdGljIENvbXBsZXRlU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJik7Ci0KICAgICAv
LyBUaGlzIGlzIGEgc3VwZXIgZGFuZ2Vyb3VzIG1ldGhvZCBmb3IgSklUcy4gU29tZXRpbWVzIHRo
ZSBKSVRzIHdpbGwgd2FudCB0byBjcmVhdGUgZWl0aGVyIGEKICAgICAvLyBKU0ZpbmFsT2JqZWN0
IG9yIGEgSlNBcnJheS4gVGhpcyBpcyB0aGUgbWV0aG9kIHRoYXQgd2lsbCBkbyB0aGF0LgogICAg
IHN0YXRpYyBKU09iamVjdCogY3JlYXRlUmF3T2JqZWN0KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIEJ1dHRlcmZseSogPSBudWxscHRyKTsKQEAgLTExMzYsMTEgKzExMzAsMTMgQEAgY2xh
c3MgSlNGaW5hbE9iamVjdDsKIC8vIHN0b3JhZ2UgdG8gZnVsbHkgbWFrZSB1c2Ugb2YgdGhlIGNv
bGxlY3RvciBjZWxsIGNvbnRhaW5pbmcgaXQuCiBjbGFzcyBKU0ZpbmFsT2JqZWN0IGZpbmFsIDog
cHVibGljIEpTT2JqZWN0IHsKICAgICBmcmllbmQgY2xhc3MgSlNPYmplY3Q7Ci0KIHB1YmxpYzoK
LSAgICB0eXBlZGVmIEpTT2JqZWN0IEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEpTT2JqZWN0Owog
ICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1
Y3R1cmVGbGFnczsKIAorICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFj
Y2Vzcz4KKyAgICBzdGF0aWMgQ29tcGxldGVTdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mKTsKKwog
ICAgIHN0YXRpYyBzaXplX3QgYWxsb2NhdGlvblNpemUoQ2hlY2tlZDxzaXplX3Q+IGlubGluZUNh
cGFjaXR5KQogICAgIHsKICAgICAgICAgcmV0dXJuIChzaXplb2YoSlNPYmplY3QpICsgaW5saW5l
Q2FwYWNpdHkgKiBzaXplb2YoV3JpdGVCYXJyaWVyQmFzZTxVbmtub3duPikpLnVuc2FmZUdldCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxp
bmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaApp
bmRleCBlY2Y0M2M0MjUxNGFmZmRjOTY4MzVlNDAyNzliNTZkZjUxZGZmMTU1Li41ZmI4NDU4ODI5
ZDg4ZTM0MjUyNWJkYjJmNzUwYWUzMzY5NDU1NGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaApAQCAtMzYsNyArMzYsNyBAQAogbmFtZXNw
YWNlIEpTQyB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vzcz4K
LUNvbXBsZXRlU3Vic3BhY2UqIEpTT2JqZWN0OjpzdWJzcGFjZUZvcihWTSYgdm0pCitDb21wbGV0
ZVN1YnNwYWNlKiBKU0ZpbmFsT2JqZWN0OjpzdWJzcGFjZUZvcihWTSYgdm0pCiB7CiAgICAgc3Rh
dGljX2Fzc2VydCghQ2VsbFR5cGU6Om5lZWRzRGVzdHJ1Y3Rpb24pOwogICAgIHJldHVybiAmdm0u
Y2VsbFNwYWNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQ
cm9taXNlUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21p
c2VQcm90b3R5cGUuaAppbmRleCA1YzY3MDhkMTU5ZjMyOTFjYWFmNzc1M2ViNGYwOWZhYzY4YmE2
OTQxLi5mZGQ3OWU0OWIyODBiOTZlMGY4ZDAwNzI1NGE2MWNmNmI3MjlmYmNmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2VQcm90b3R5cGUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2VQcm90b3R5cGUuaApAQCAt
MzEsOSArMzEsMTYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIEpTUHJvbWlzZVByb3RvdHlw
ZSA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEpTTm9u
RmluYWxPYmplY3QgQmFzZTsKKyAgICB1c2luZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKICAg
ICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0
dXJlRmxhZ3MgfCBIYXNTdGF0aWNQcm9wZXJ0eVRhYmxlOwogCisgICAgdGVtcGxhdGU8dHlwZW5h
bWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vi
c3BhY2VGb3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BB
Q0VfU0hBUkFCTEUoSlNQcm9taXNlUHJvdG90eXBlLCBCYXNlKTsKKyAgICAgICAgcmV0dXJuICZ2
bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KKwogICAgIHN0YXRpYyBKU1Byb21pc2VQcm90b3R5
cGUqIGNyZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgc3RhdGlj
IFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVl
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFy
cmF5Vmlld1Byb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBl
ZEFycmF5Vmlld1Byb3RvdHlwZS5oCmluZGV4IDVkNTQ5OTM2OGNhZmFlZWJhZDEwZmRhYWY0MTI3
OWJkYmI1MDU0ODMuLmQzOGQ4Yjk0MTE3YjIxMTc2MDZmOTRjMGJhMjI0ZjFkYzliZmVjY2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQ
cm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJy
YXlWaWV3UHJvdG90eXBlLmgKQEAgLTMxLDcgKzMxLDE0IEBAIG5hbWVzcGFjZSBKU0MgewogCiBj
bGFzcyBKU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxP
YmplY3QgewogcHVibGljOgotICAgIHR5cGVkZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOworICAg
IHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0OworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUg
Q2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3Bh
Y2VGb3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0Vf
U0hBUkFCTEUoSlNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJldHVy
biAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CiAKIHByb3RlY3RlZDoKICAgICBKU1R5cGVk
QXJyYXlWaWV3UHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBJdGVyYXRvclByb3RvdHlwZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwSXRlcmF0b3JQcm90b3R5cGUuaAppbmRleCBjMGE4ZjJk
NmNkNjNlZmRjNDA4ZWRkMDFhYWZmNzBiOTkyN2YwYTRhLi42NzY4MTA5MDliMWRmZTI2YjJmMTZl
MDlhNjBiMDllMDUwMWFlMDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9NYXBJdGVyYXRvclByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL01hcEl0ZXJhdG9yUHJvdG90eXBlLmgKQEAgLTMxLDcgKzMxLDE0IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiBjbGFzcyBNYXBJdGVyYXRvclByb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU05v
bkZpbmFsT2JqZWN0IHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEpTTm9uRmluYWxPYmplY3QgQmFz
ZTsKKyAgICB1c2luZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKKworICAgIHRlbXBsYXRlPHR5
cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSXNvU3Vic3BhY2Uq
IHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNPX1NV
QlNQQUNFX1NIQVJBQkxFKE1hcEl0ZXJhdG9yUHJvdG90eXBlLCBCYXNlKTsKKyAgICAgICAgcmV0
dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KIAogICAgIHN0YXRpYyBNYXBJdGVyYXRv
clByb3RvdHlwZSogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTWFwUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9NYXBQcm90b3R5cGUuaAppbmRleCA0YzhmMWQ3ZDZlMzk1ZGEyY2IwZWY4ZGI4NWJhNGJm
YWZiMDVjMmU5Li41Yjc0ZDgwODYzYTllNjM3OWQ1MTU2MDgzNTc3MzQ0Y2IwMjg0YWYzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBQcm90b3R5cGUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBQcm90b3R5cGUuaApAQCAtMzEsNyAr
MzEsMTQgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIE1hcFByb3RvdHlwZSBmaW5hbCA6IHB1
YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEpTTm9uRmluYWxP
YmplY3QgQmFzZTsKKyAgICB1c2luZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKKworICAgIHRl
bXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSXNv
U3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19BU1NF
UlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKE1hcFByb3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJl
dHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CiAKICAgICBzdGF0aWMgY29uc3RleHBy
IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBIYXNTdGF0
aWNQcm9wZXJ0eVRhYmxlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9NYXRoT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoT2Jq
ZWN0LmgKaW5kZXggYmNkZWI0M2M5MTE2ZTYwMDU1OGNkYTJjZTBkZWRiNGM1OGQ4YWU2MS4uZTVm
MmZmMWY4NTZjMDcxNGI1ZWI4NjJkNzhhMDFmNTM4YTNiYWJlZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuaApAQCAtMjksNyArMjksMTQgQEAgY2xhc3MgTWF0
aE9iamVjdCBmaW5hbCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKICAgICBNYXRoT2JqZWN0
KFZNJiwgU3RydWN0dXJlKik7CiAKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEpTTm9uRmluYWxPYmpl
Y3QgQmFzZTsKKyAgICB1c2luZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKKworICAgIHRlbXBs
YXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSXNvU3Vi
c3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRf
SVNPX1NVQlNQQUNFX1NIQVJBQkxFKE1hdGhPYmplY3QsIEJhc2UpOworICAgICAgICByZXR1cm4g
JnZtLnBsYWluT2JqZWN0U3BhY2U7CisgICAgfQogCiAgICAgc3RhdGljIE1hdGhPYmplY3QqIGNy
ZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L05hdGl2ZUVycm9yUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9O
YXRpdmVFcnJvclByb3RvdHlwZS5oCmluZGV4IDBkZWRmMjNkYWQ4MmVkODUzNGM0YzdkM2E3ZmVh
ZjIxNTFkNmE4YzEuLjY3ZDJmYWUwYTY2MjVjNGViZWQ1MTYwMTY4Mjc2Nzg4ZjgxODc5ZTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yUHJvdG90
eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JQcm90
b3R5cGUuaApAQCAtMjksNyArMjksMTMgQEAgY2xhc3MgTmF0aXZlRXJyb3JQcm90b3R5cGUgZmlu
YWwgOiBwdWJsaWMgRXJyb3JQcm90b3R5cGVCYXNlIHsKICAgICBOYXRpdmVFcnJvclByb3RvdHlw
ZShWTSYsIFN0cnVjdHVyZSopOwogCiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBFcnJvclByb3RvdHlw
ZUJhc2UgQmFzZTsKKyAgICB1c2luZyBCYXNlID0gRXJyb3JQcm90b3R5cGVCYXNlOworICAgIHRl
bXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSXNv
U3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19BU1NF
UlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKE5hdGl2ZUVycm9yUHJvdG90eXBlLCBCYXNlKTsKKyAg
ICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KIAogICAgIHN0YXRpYyBT
dHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmgKaW5kZXggYjlhYTY0OWY2MGMwNTI5YTA2MDU1
NmU2ZTIxZDNjY2MzNzczNDNiNC4uNTZiNWNiMDE4OTU0YTZkNzg2NjZkNDYyZGI5YzM3Y2FhOTVk
NzM2YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJv
dG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90
eXBlLmgKQEAgLTI2LDkgKzI2LDE2IEBAIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBPYmplY3RQ
cm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiBwdWJsaWM6Ci0gICAg
dHlwZWRlZiBKU05vbkZpbmFsT2JqZWN0IEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEpTTm9uRmlu
YWxPYmplY3Q7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9
IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSXNJbW11dGFibGVQcm90b3R5cGVFeG90aWNPYmplY3Q7
CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3M+CisgICAg
c3RhdGljIElzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisgICAgeworICAgICAgICBT
VEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShPYmplY3RQcm90b3R5cGUsIEJhc2Up
OworICAgICAgICByZXR1cm4gJnZtLnBsYWluT2JqZWN0U3BhY2U7CisgICAgfQorCiAgICAgc3Rh
dGljIE9iamVjdFByb3RvdHlwZSogY3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1
cmUqKTsKIAogICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWZsZWN0T2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9SZWZsZWN0T2JqZWN0LmgKaW5kZXggOGQyNjUxZmExMGVjZjMxOWY4YzQzMDVi
MjIxYTNiODk5NGFhZjYxMC4uNzQzOGU0OGI0YTk1MGEyZGMxZGNmZWQ5YmNlNDBiZDIxZTlkNThl
OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVmbGVjdE9iamVj
dC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZmxlY3RPYmplY3QuaApA
QCAtMzQsOSArMzQsMTYgQEAgY2xhc3MgUmVmbGVjdE9iamVjdCBmaW5hbCA6IHB1YmxpYyBKU05v
bkZpbmFsT2JqZWN0IHsKICAgICBSZWZsZWN0T2JqZWN0KFZNJiwgU3RydWN0dXJlKik7CiAKIHB1
YmxpYzoKLSAgICB0eXBlZGVmIEpTTm9uRmluYWxPYmplY3QgQmFzZTsKKyAgICB1c2luZyBCYXNl
ID0gSlNOb25GaW5hbE9iamVjdDsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVj
dHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBIYXNTdGF0aWNQcm9wZXJ0eVRhYmxl
OwogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzPgorICAg
IHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAg
U1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoUmVmbGVjdE9iamVjdCwgQmFzZSk7
CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CisKICAgICBzdGF0
aWMgUmVmbGVjdE9iamVjdCogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgewogICAgICAgICBSZWZsZWN0T2JqZWN0
KiBvYmplY3QgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxSZWZsZWN0T2JqZWN0Pih2bS5o
ZWFwKSkgUmVmbGVjdE9iamVjdCh2bSwgc3RydWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cFByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUmVnRXhwUHJvdG90eXBlLmgKaW5kZXggNDYwZTJhNDVhZGQ3MTM5MjQ4
OWYwMWQyYmQwN2UyZjhlZDE2YzUzOS4uZjZkNTFlY2VhOGRjODVkMTQ2ZDliZjZkNDFmNGQwYmYz
MDdhOGJjMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
UHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwUHJv
dG90eXBlLmgKQEAgLTI3LDkgKzI3LDE2IEBAIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBSZWdF
eHBQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiBwdWJsaWM6Ci0g
ICAgdHlwZWRlZiBKU05vbkZpbmFsT2JqZWN0IEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEpTTm9u
RmluYWxPYmplY3Q7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFn
cyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzOwogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5
cGUsIFN1YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VGb3Io
Vk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFC
TEUoUmVnRXhwUHJvdG90eXBlLCBCYXNlKTsKKyAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVj
dFNwYWNlOworICAgIH0KKwogICAgIHN0YXRpYyBSZWdFeHBQcm90b3R5cGUqIGNyZWF0ZShWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQog
ICAgIHsKICAgICAgICAgUmVnRXhwUHJvdG90eXBlKiBwcm90b3R5cGUgPSBuZXcgKE5vdE51bGws
IGFsbG9jYXRlQ2VsbDxSZWdFeHBQcm90b3R5cGU+KHZtLmhlYXApKSBSZWdFeHBQcm90b3R5cGUo
dm0sIHN0cnVjdHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9SZWdFeHBTdHJpbmdJdGVyYXRvclByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUmVnRXhwU3RyaW5nSXRlcmF0b3JQcm90b3R5cGUuaAppbmRleCBhNWQ0NzA5YzNl
YjJiM2FkZDdmMzkzZGYxMjU0ZTU2NjZlNTY3MDc1Li4wMTcyNWE5NTIzN2E0ZjI2MmE4Zjg0NGFk
N2JmOGIxZDM4OGUzYTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9SZWdFeHBTdHJpbmdJdGVyYXRvclByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1JlZ0V4cFN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlLmgKQEAgLTM1LDYgKzM1
LDEzIEBAIGNsYXNzIFJlZ0V4cFN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlIGZpbmFsIDogcHVibGlj
IEpTTm9uRmluYWxPYmplY3QgewogICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0Owog
ICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1
Y3R1cmVGbGFncyB8IEhhc1N0YXRpY1Byb3BlcnR5VGFibGU7CiAKKyAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIElzb1N1YnNwYWNlKiBz
dWJzcGFjZUZvcihWTSYgdm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJT
UEFDRV9TSEFSQUJMRShSZWdFeHBTdHJpbmdJdGVyYXRvclByb3RvdHlwZSwgQmFzZSk7CisgICAg
ICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CisKICAgICBzdGF0aWMgUmVn
RXhwU3RyaW5nSXRlcmF0b3JQcm90b3R5cGUqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIHsKICAgICAgICAgYXV0
byBwcm90b3R5cGUgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxSZWdFeHBTdHJpbmdJdGVy
YXRvclByb3RvdHlwZT4odm0uaGVhcCkpIFJlZ0V4cFN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlKHZt
LCBzdHJ1Y3R1cmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U2V0SXRlcmF0b3JQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nl
dEl0ZXJhdG9yUHJvdG90eXBlLmgKaW5kZXggNThhMjliZDg1MzZjYjc5NDY0Nzg1YTA0YjUyMmRk
NTdiZTUwODczZS4uODU5MjBlMDZiYWFlYmE5YWYzN2RlZmE4ZGIyNTg2NzEyNWUyYTg1OCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0SXRlcmF0b3JQcm90b3R5
cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TZXRJdGVyYXRvclByb3Rv
dHlwZS5oCkBAIC0zMSw3ICszMSwxNCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgU2V0SXRl
cmF0b3JQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiBwdWJsaWM6
Ci0gICAgdHlwZWRlZiBKU05vbkZpbmFsT2JqZWN0IEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEpT
Tm9uRmluYWxPYmplY3Q7CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3Bh
Y2VBY2Nlc3M+CisgICAgc3RhdGljIElzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisg
ICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShTZXRJdGVy
YXRvclByb3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFj
ZTsKKyAgICB9CiAKICAgICBzdGF0aWMgU2V0SXRlcmF0b3JQcm90b3R5cGUqIGNyZWF0ZShWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQog
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldFByb3Rv
dHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0UHJvdG90eXBlLmgKaW5k
ZXggODIwZTkyYTdkMzY3NTdhNGNhZGIxNTE5ODAwMzIzZTQ0OGUyZDg2NC4uNWI5OTVhNDhkYzU5
ODM0YjNlMmYxMjk1ZTAzOTA4OTdiMDhjMjlmNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU2V0UHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU2V0UHJvdG90eXBlLmgKQEAgLTMxLDcgKzMxLDE0IEBAIG5hbWVzcGFjZSBKU0Mg
ewogCiBjbGFzcyBTZXRQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7
CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBKU05vbkZpbmFsT2JqZWN0IEJhc2U7CisgICAgdXNpbmcg
QmFzZSA9IEpTTm9uRmluYWxPYmplY3Q7CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlw
ZSwgU3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIElzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihW
TSYgdm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJM
RShTZXRQcm90b3R5cGUsIEJhc2UpOworICAgICAgICByZXR1cm4gJnZtLnBsYWluT2JqZWN0U3Bh
Y2U7CisgICAgfQogCiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFn
cyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSGFzU3RhdGljUHJvcGVydHlUYWJsZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nSXRlcmF0b3JQcm90
b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0l0ZXJhdG9yUHJv
dG90eXBlLmgKaW5kZXggZDQ2MmI3ZjY0N2RlNmI5NjkzZjY0NGI0ZTBkNzY1ZTE4MTg0NTI0NS4u
MzhmYjQyNzMwNGFkNDZmYmMxYTgxZTU5YjViMmY0NzRlYzc1NjU5NiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nSXRlcmF0b3JQcm90b3R5cGUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdJdGVyYXRvclByb3RvdHlwZS5o
CkBAIC0zMiw5ICszMiwxNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgU3RyaW5nSXRlcmF0
b3JQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiBwdWJsaWM6Ci0g
ICAgdHlwZWRlZiBKU05vbkZpbmFsT2JqZWN0IEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEpTTm9u
RmluYWxPYmplY3Q7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFn
cyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSGFzU3RhdGljUHJvcGVydHlUYWJsZTsKIAorICAg
IHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMg
SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19B
U1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKFN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlLCBCYXNl
KTsKKyAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KKwogICAgIHN0
YXRpYyBTdHJpbmdJdGVyYXRvclByb3RvdHlwZSogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgewogICAgICAgICBT
dHJpbmdJdGVyYXRvclByb3RvdHlwZSogcHJvdG90eXBlID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0
ZUNlbGw8U3RyaW5nSXRlcmF0b3JQcm90b3R5cGU+KHZtLmhlYXApKSBTdHJpbmdJdGVyYXRvclBy
b3RvdHlwZSh2bSwgc3RydWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N5bWJvbFByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3ltYm9sUHJvdG90eXBlLmgKaW5kZXggMDAzYzNlM2Y3OTU0ZDUzZDI2YzUyZmM4NGE0NmIx
NmQyYzc4M2NhNS4uZTIzNWYxMjQ4Y2EwNGE1MTQwMTczYmRiODE0MTIzNTc3OTIzNDM5MCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sUHJvdG90eXBlLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sUHJvdG90eXBlLmgKQEAg
LTM0LDkgKzM0LDE2IEBAIG5hbWVzcGFjZSBKU0MgewogLy8gSW4gdGhlIEVTNiBzcGVjLCBTeW1i
b2wucHJvdG90eXBlIG9iamVjdCBpcyBhbiBvcmRpbmFyeSBKUyBvYmplY3QsIG5vdCBvbmUgb2Yg
dGhlIHN5bWJvbCB3cmFwcGVyIG9iamVjdCBpbnN0YW5jZS4KIGNsYXNzIFN5bWJvbFByb3RvdHlw
ZSBmaW5hbCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKIHB1YmxpYzoKLSAgICB0eXBlZGVm
IEpTTm9uRmluYWxPYmplY3QgQmFzZTsKKyAgICB1c2luZyBCYXNlID0gSlNOb25GaW5hbE9iamVj
dDsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6
U3RydWN0dXJlRmxhZ3MgfCBIYXNTdGF0aWNQcm9wZXJ0eVRhYmxlOwogCisgICAgdGVtcGxhdGU8
dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyBJc29TdWJzcGFj
ZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09f
U1VCU1BBQ0VfU0hBUkFCTEUoU3ltYm9sUHJvdG90eXBlLCBCYXNlKTsKKyAgICAgICAgcmV0dXJu
ICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KKwogICAgIHN0YXRpYyBTeW1ib2xQcm90b3R5
cGUqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVy
ZSogc3RydWN0dXJlKQogICAgIHsKICAgICAgICAgU3ltYm9sUHJvdG90eXBlKiBwcm90b3R5cGUg
PSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxTeW1ib2xQcm90b3R5cGU+KHZtLmhlYXApKSBT
eW1ib2xQcm90b3R5cGUodm0sIHN0cnVjdHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9WTS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9W
TS5jcHAKaW5kZXggNzNiMTI3MWYwOTA0NzAyNTBjMjNkMTIwODNkODQ5MzU1YWY5YTY2My4uNjll
NTJlYTY2N2MyNTQyOWJlMDk2NWZiNDIxZDliODhjOTcwMjZkZSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1ZNLmNwcApAQCAtMTAzLDcgKzEwMyw5IEBACiAjaW5jbHVkZSAiSlNHbG9iYWxP
YmplY3QuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5oIgogI2luY2x1ZGUg
IkpTSW1tdXRhYmxlQnV0dGVyZmx5LmgiCisjaW5jbHVkZSAiSlNJbmplY3RlZFNjcmlwdEhvc3Qu
aCIKICNpbmNsdWRlICJKU0ludGVybmFsUHJvbWlzZS5oIgorI2luY2x1ZGUgIkpTSmF2YVNjcmlw
dENhbGxGcmFtZS5oIgogI2luY2x1ZGUgIkpTTG9jay5oIgogI2luY2x1ZGUgIkpTTWFwLmgiCiAj
aW5jbHVkZSAiSlNNYXBJdGVyYXRvci5oIgpAQCAtMzIxLDYgKzMyMyw4IEBAIFZNOjpWTShWTVR5
cGUgdm1UeXBlLCBIZWFwVHlwZSBoZWFwVHlwZSkKICAgICAsIGVycm9ySW5zdGFuY2VIZWFwQ2Vs
bFR5cGUoSXNvSGVhcENlbGxUeXBlOjpjcmVhdGU8RXJyb3JJbnN0YW5jZT4oKSkKICAgICAsIGds
b2JhbExleGljYWxFbnZpcm9ubWVudEhlYXBDZWxsVHlwZShJc29IZWFwQ2VsbFR5cGU6OmNyZWF0
ZTxKU0dsb2JhbExleGljYWxFbnZpcm9ubWVudD4oKSkKICAgICAsIGdsb2JhbE9iamVjdEhlYXBD
ZWxsVHlwZShJc29IZWFwQ2VsbFR5cGU6OmNyZWF0ZTxKU0dsb2JhbE9iamVjdD4oKSkKKyAgICAs
IGluamVjdGVkU2NyaXB0SG9zdFNwYWNlSGVhcENlbGxUeXBlKElzb0hlYXBDZWxsVHlwZTo6Y3Jl
YXRlPEluc3BlY3Rvcjo6SlNJbmplY3RlZFNjcmlwdEhvc3Q+KCkpCisgICAgLCBqYXZhU2NyaXB0
Q2FsbEZyYW1lSGVhcENlbGxUeXBlKElzb0hlYXBDZWxsVHlwZTo6Y3JlYXRlPEluc3BlY3Rvcjo6
SlNKYXZhU2NyaXB0Q2FsbEZyYW1lPigpKQogICAgICwganNNb2R1bGVSZWNvcmRIZWFwQ2VsbFR5
cGUoSXNvSGVhcENlbGxUeXBlOjpjcmVhdGU8SlNNb2R1bGVSZWNvcmQ+KCkpCiAgICAgLCBtb2R1
bGVOYW1lc3BhY2VPYmplY3RIZWFwQ2VsbFR5cGUoSXNvSGVhcENlbGxUeXBlOjpjcmVhdGU8SlNN
b2R1bGVOYW1lc3BhY2VPYmplY3Q+KCkpCiAgICAgLCBuYXRpdmVTdGRGdW5jdGlvbkhlYXBDZWxs
VHlwZShJc29IZWFwQ2VsbFR5cGU6OmNyZWF0ZTxKU05hdGl2ZVN0ZEZ1bmN0aW9uPigpKQpAQCAt
MzU5LDYgKzM2Myw3IEBAIFZNOjpWTShWTVR5cGUgdm1UeXBlLCBIZWFwVHlwZSBoZWFwVHlwZSkK
ICAgICAsIGNlbGxTcGFjZSgiSlNDZWxsIiwgaGVhcCwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwg
ZmFzdE1hbGxvY0FsbG9jYXRvci5nZXQoKSkgLy8gSGFzaDoweGFkZmI1YTc5CiAgICAgLCB2YXJp
YWJsZVNpemVkQ2VsbFNwYWNlKCJWYXJpYWJsZSBTaXplZCBKU0NlbGwiLCBoZWFwLCBjZWxsSGVh
cENlbGxUeXBlLmdldCgpLCBmYXN0TWFsbG9jQWxsb2NhdG9yLmdldCgpKSAvLyBIYXNoOjB4YmNk
NzY5Y2MKICAgICAsIGRlc3RydWN0aWJsZU9iamVjdFNwYWNlKCJKU0Rlc3RydWN0aWJsZU9iamVj
dCIsIGhlYXAsIGRlc3RydWN0aWJsZU9iamVjdEhlYXBDZWxsVHlwZS5nZXQoKSwgZmFzdE1hbGxv
Y0FsbG9jYXRvci5nZXQoKSkgLy8gSGFzaDoweDRmNWVkN2E5CisgICAgLCBhcnJheVNwYWNlIElT
T19TVUJTUEFDRV9JTklUKGhlYXAsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQXJyYXkpCiAg
ICAgLCBiaWdJbnRTcGFjZSBJU09fU1VCU1BBQ0VfSU5JVChoZWFwLCBkZXN0cnVjdGlibGVDZWxs
SGVhcENlbGxUeXBlLmdldCgpLCBKU0JpZ0ludCkKICAgICAsIGNhbGxlZVNwYWNlIElTT19TVUJT
UEFDRV9JTklUKGhlYXAsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQ2FsbGVlKQogICAgICwg
Y2xvbmVkQXJndW1lbnRzU3BhY2UgSVNPX1NVQlNQQUNFX0lOSVQoaGVhcCwgY2VsbEhlYXBDZWxs
VHlwZS5nZXQoKSwgQ2xvbmVkQXJndW1lbnRzKQpAQCAtMzc0LDYgKzM3OSw3IEBAIFZNOjpWTShW
TVR5cGUgdm1UeXBlLCBIZWFwVHlwZSBoZWFwVHlwZSkKICAgICAsIGpzUHJveHlTcGFjZSBJU09f
U1VCU1BBQ0VfSU5JVChoZWFwLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU1Byb3h5KQogICAg
ICwgbmF0aXZlRXhlY3V0YWJsZVNwYWNlIElTT19TVUJTUEFDRV9JTklUKGhlYXAsIGRlc3RydWN0
aWJsZUNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIE5hdGl2ZUV4ZWN1dGFibGUpIC8vIEhhc2g6MHg2
NzU2N2Y5NQogICAgICwgbnVtYmVyT2JqZWN0U3BhY2UgSVNPX1NVQlNQQUNFX0lOSVQoaGVhcCwg
Y2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgTnVtYmVyT2JqZWN0KQorICAgICwgcGxhaW5PYmplY3RT
cGFjZSBJU09fU1VCU1BBQ0VfSU5JVChoZWFwLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU05v
bkZpbmFsT2JqZWN0KSAvLyBNYWlubHkgdXNlZCBmb3IgcHJvdG90eXBlcy4KICAgICAsIHByb21p
c2VTcGFjZSBJU09fU1VCU1BBQ0VfSU5JVChoZWFwLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBK
U1Byb21pc2UpCiAgICAgLCBwcm9wZXJ0eU5hbWVFbnVtZXJhdG9yU3BhY2UgSVNPX1NVQlNQQUNF
X0lOSVQoaGVhcCwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yKQogICAgICwgcHJvcGVydHlUYWJsZVNwYWNlIElTT19TVUJTUEFDRV9JTklUKGhlYXAsIGRl
c3RydWN0aWJsZUNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIFByb3BlcnR5VGFibGUpIC8vIEhhc2g6
MHhjNmJjOWYxMgpAQCAtMTQ2MSwxMCArMTQ2NywxMiBAQCBEWU5BTUlDX0lTT19TVUJTUEFDRV9E
RUZJTkVfTUVNQkVSX1NMT1coZmxvYXQ2NEFycmF5U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0
KAogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGZ1bmN0aW9uUmFyZURh
dGFTcGFjZSwgZGVzdHJ1Y3RpYmxlQ2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgRnVuY3Rpb25SYXJl
RGF0YSkKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhnZW5lcmF0b3JT
cGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNHZW5lcmF0b3IpCiBEWU5BTUlDX0lTT19T
VUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coZ2xvYmFsT2JqZWN0U3BhY2UsIGdsb2JhbE9iamVj
dEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNHbG9iYWxPYmplY3QpCi1EWU5BTUlDX0lTT19TVUJTUEFD
RV9ERUZJTkVfTUVNQkVSX1NMT1coanNNb2R1bGVSZWNvcmRTcGFjZSwganNNb2R1bGVSZWNvcmRI
ZWFwQ2VsbFR5cGUuZ2V0KCksIEpTTW9kdWxlUmVjb3JkKQorRFlOQU1JQ19JU09fU1VCU1BBQ0Vf
REVGSU5FX01FTUJFUl9TTE9XKGluamVjdGVkU2NyaXB0SG9zdFNwYWNlLCBpbmplY3RlZFNjcmlw
dEhvc3RTcGFjZUhlYXBDZWxsVHlwZS5nZXQoKSwgSW5zcGVjdG9yOjpKU0luamVjdGVkU2NyaXB0
SG9zdCkKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhpbnQ4QXJyYXlT
cGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNJbnQ4QXJyYXkpCiBEWU5BTUlDX0lTT19T
VUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coaW50MTZBcnJheVNwYWNlLCBjZWxsSGVhcENlbGxU
eXBlLmdldCgpLCBKU0ludDE2QXJyYXkpCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVN
QkVSX1NMT1coaW50MzJBcnJheVNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0ludDMy
QXJyYXkpCitEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coamF2YVNjcmlw
dENhbGxGcmFtZVNwYWNlLCBqYXZhU2NyaXB0Q2FsbEZyYW1lSGVhcENlbGxUeXBlLmdldCgpLCBJ
bnNwZWN0b3I6OkpTSmF2YVNjcmlwdENhbGxGcmFtZSkKK0RZTkFNSUNfSVNPX1NVQlNQQUNFX0RF
RklORV9NRU1CRVJfU0xPVyhqc01vZHVsZVJlY29yZFNwYWNlLCBqc01vZHVsZVJlY29yZEhlYXBD
ZWxsVHlwZS5nZXQoKSwgSlNNb2R1bGVSZWNvcmQpCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJ
TkVfTUVNQkVSX1NMT1cobWFwQnVja2V0U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpT
TWFwOjpCdWNrZXRUeXBlKQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9X
KG1hcEl0ZXJhdG9yU3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTTWFwSXRlcmF0b3Ip
CiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1cobWFwU3BhY2UsIGNlbGxI
ZWFwQ2VsbFR5cGUuZ2V0KCksIEpTTWFwKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKaW5k
ZXggN2RhMzJhNzI2MjRmMGJmYWFmNGU1OWE1ZjdkYTQ0YzI3MjNkYzU3OC4uOWU5OGQ1M2M1M2E0
ZjdmZmRhNGYwNmVkYWZkNzc5MzUyOTQ0OWIzOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVk0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9W
TS5oCkBAIC0zNzgsNiArMzc4LDggQEAgY2xhc3MgVk0gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNv
dW50ZWQ8Vk0+LCBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdE5vZGU8Vk0+IHsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPiBlcnJvckluc3RhbmNlSGVhcENlbGxUeXBlOwogICAg
IHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU+IGdsb2JhbExleGljYWxFbnZpcm9ubWVu
dEhlYXBDZWxsVHlwZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPiBnbG9i
YWxPYmplY3RIZWFwQ2VsbFR5cGU7CisgICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlw
ZT4gaW5qZWN0ZWRTY3JpcHRIb3N0U3BhY2VIZWFwQ2VsbFR5cGU7CisgICAgc3RkOjp1bmlxdWVf
cHRyPElzb0hlYXBDZWxsVHlwZT4gamF2YVNjcmlwdENhbGxGcmFtZUhlYXBDZWxsVHlwZTsKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPiBqc01vZHVsZVJlY29yZEhlYXBDZWxs
VHlwZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPiBtb2R1bGVOYW1lc3Bh
Y2VPYmplY3RIZWFwQ2VsbFR5cGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlw
ZT4gbmF0aXZlU3RkRnVuY3Rpb25IZWFwQ2VsbFR5cGU7CkBAIC00NDAsNiArNDQyLDcgQEAgY2xh
c3MgVk0gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Vk0+LCBwdWJsaWMgRG91Ymx5TGlu
a2VkTGlzdE5vZGU8Vk0+IHsKICAgICBDb21wbGV0ZVN1YnNwYWNlIHZhcmlhYmxlU2l6ZWRDZWxs
U3BhY2U7IC8vIEZJWE1FOiBUaGlzIHNwYWNlIGlzIHByb2JsZW1hdGljIGJlY2F1c2Ugd2UgaGF2
ZSB0aGluZ3MgaW4gaGVyZSBsaWtlIERpcmVjdEFyZ3VtZW50cyBhbmQgU2NvcGVkQXJndW1lbnRz
OyB0aG9zZSBzaG91bGQgYmUgc3BsaXQgaW50byBKU1ZhbHVlT09CIGNlbGxzIGFuZCBKU1ZhbHVl
U3RyaWN0IGF1eGlsaWFyaWVzLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTgyODU4CiAgICAgQ29tcGxldGVTdWJzcGFjZSBkZXN0cnVjdGlibGVPYmplY3RTcGFjZTsK
ICAgICAKKyAgICBJc29TdWJzcGFjZSBhcnJheVNwYWNlOwogICAgIElzb1N1YnNwYWNlIGJpZ0lu
dFNwYWNlOwogICAgIElzb1N1YnNwYWNlIGNhbGxlZVNwYWNlOwogICAgIElzb1N1YnNwYWNlIGNs
b25lZEFyZ3VtZW50c1NwYWNlOwpAQCAtNDU1LDYgKzQ1OCw3IEBAIGNsYXNzIFZNIDogcHVibGlj
IFRocmVhZFNhZmVSZWZDb3VudGVkPFZNPiwgcHVibGljIERvdWJseUxpbmtlZExpc3ROb2RlPFZN
PiB7CiAgICAgSXNvU3Vic3BhY2UganNQcm94eVNwYWNlOwogICAgIElzb1N1YnNwYWNlIG5hdGl2
ZUV4ZWN1dGFibGVTcGFjZTsKICAgICBJc29TdWJzcGFjZSBudW1iZXJPYmplY3RTcGFjZTsKKyAg
ICBJc29TdWJzcGFjZSBwbGFpbk9iamVjdFNwYWNlOwogICAgIElzb1N1YnNwYWNlIHByb21pc2VT
cGFjZTsKICAgICBJc29TdWJzcGFjZSBwcm9wZXJ0eU5hbWVFbnVtZXJhdG9yU3BhY2U7CiAgICAg
SXNvU3Vic3BhY2UgcHJvcGVydHlUYWJsZVNwYWNlOwpAQCAtNTEyLDkgKzUxNiwxMSBAQCBjbGFz
cyBWTSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxWTT4sIHB1YmxpYyBEb3VibHlMaW5r
ZWRMaXN0Tm9kZTxWTT4gewogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIo
ZnVuY3Rpb25SYXJlRGF0YVNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9N
RU1CRVIoZ2VuZXJhdG9yU3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01F
TUJFUihnbG9iYWxPYmplY3RTcGFjZSkKKyAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVf
TUVNQkVSKGluamVjdGVkU2NyaXB0SG9zdFNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNF
X0RFRklORV9NRU1CRVIoaW50OEFycmF5U3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0Vf
REVGSU5FX01FTUJFUihpbnQxNkFycmF5U3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0Vf
REVGSU5FX01FTUJFUihpbnQzMkFycmF5U3BhY2UpCisgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0Vf
REVGSU5FX01FTUJFUihqYXZhU2NyaXB0Q2FsbEZyYW1lU3BhY2UpCiAgICAgRFlOQU1JQ19JU09f
U1VCU1BBQ0VfREVGSU5FX01FTUJFUihqc01vZHVsZVJlY29yZFNwYWNlKQogICAgIERZTkFNSUNf
SVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIobWFwQnVja2V0U3BhY2UpCiAgICAgRFlOQU1JQ19J
U09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihtYXBJdGVyYXRvclNwYWNlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha01hcFByb3RvdHlwZS5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha01hcFByb3RvdHlwZS5oCmluZGV4IGNjZWE1Mzdk
YzBkZTY5YjI4OWQxZTJiNGExZWVhYzUwNWQzZmU2MmEuLmIyMDc1NWNmYjBmYzhkOWYwMGFjOGYw
ZWYwZDkxYjBmNGI2ODA0YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1dlYWtNYXBQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9XZWFrTWFwUHJvdG90eXBlLmgKQEAgLTMxLDcgKzMxLDE0IEBAIG5hbWVzcGFjZSBKU0Mgewog
CiBjbGFzcyBXZWFrTWFwUHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmplY3Qg
ewogcHVibGljOgotICAgIHR5cGVkZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOworICAgIHVzaW5n
IEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0OworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5
cGUsIFN1YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VGb3Io
Vk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFC
TEUoV2Vha01hcFByb3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmpl
Y3RTcGFjZTsKKyAgICB9CiAKICAgICBzdGF0aWMgV2Vha01hcFByb3RvdHlwZSogY3JlYXRlKFZN
JiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUp
CiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha09i
amVjdFJlZlByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha09i
amVjdFJlZlByb3RvdHlwZS5oCmluZGV4IDcyNTA4MDYyZGZhZDk3MGQ2ZDAzODM4MWI3NDYwMjNl
MjRhNjQ3ZTkuLjhkYjAzMjNjZDZmYmQyOTY4NGY1M2I4M2I0ZjQ2OTVhMWQ3ODU1OTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtPYmplY3RSZWZQcm90b3R5
cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrT2JqZWN0UmVmUHJv
dG90eXBlLmgKQEAgLTMzLDYgKzMzLDEzIEBAIGNsYXNzIFdlYWtPYmplY3RSZWZQcm90b3R5cGUg
ZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiBwdWJsaWM6CiAgICAgdXNpbmcgQmFz
ZSA9IEpTTm9uRmluYWxPYmplY3Q7CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwg
U3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIElzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYg
dm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShX
ZWFrT2JqZWN0UmVmUHJvdG90eXBlLCBCYXNlKTsKKyAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9i
amVjdFNwYWNlOworICAgIH0KKwogICAgIHN0YXRpYyBXZWFrT2JqZWN0UmVmUHJvdG90eXBlKiBj
cmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSkKICAgICB7CiAgICAgICAgIFdlYWtPYmplY3RSZWZQcm90b3R5cGUqIHByb3RvdHlw
ZSA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFdlYWtPYmplY3RSZWZQcm90b3R5cGU+KHZt
LmhlYXApKSBXZWFrT2JqZWN0UmVmUHJvdG90eXBlKHZtLCBzdHJ1Y3R1cmUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha1NldFByb3RvdHlwZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha1NldFByb3RvdHlwZS5oCmluZGV4IDYyYmNk
MjQ1ZjlhZDEwOGMxYzA5MjZlMjBjMzUwMDMyM2ZiMWZkY2IuLmJhMmRiZmVhZDY2NWIwNzliZWJj
MmVjM2RjYWM3OThhY2YwNjc2NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1dlYWtTZXRQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9XZWFrU2V0UHJvdG90eXBlLmgKQEAgLTMxLDcgKzMxLDE0IEBAIG5hbWVzcGFjZSBKU0Mg
ewogCiBjbGFzcyBXZWFrU2V0UHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmpl
Y3QgewogcHVibGljOgotICAgIHR5cGVkZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOworICAgIHVz
aW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0OworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2Vs
bFR5cGUsIFN1YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VG
b3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hB
UkFCTEUoV2Vha1NldFByb3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5P
YmplY3RTcGFjZTsKKyAgICB9CiAKICAgICBzdGF0aWMgV2Vha1NldFByb3RvdHlwZSogY3JlYXRl
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pTRG9s
bGFyVk0uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pTRG9sbGFyVk0uY3BwCmlu
ZGV4IDhlNzc1Zjk4MGQ1M2MzODYyZjM3YjNmNzJmMTBlZmQ2NmFkZDAzYTAuLjc1ZDE0YzkwNWQ2
NWUxZDQ1OWRjN2FhOGYwOGYxYmRkYTA2YmI2OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90b29scy9KU0RvbGxhclZNLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dG9vbHMvSlNEb2xsYXJWTS5jcHAKQEAgLTExMSw2ICsxMTEsMTIgQEAgbmFtZXNwYWNlIHsKIGNs
YXNzIEpTRG9sbGFyVk1DYWxsRnJhbWUgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAg
dXNpbmcgQmFzZSA9IEpTTm9uRmluYWxPYmplY3Q7CiBwdWJsaWM6CisgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyBDb21wbGV0ZVN1YnNw
YWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisgICAgeworICAgICAgICByZXR1cm4gJnZtLmNlbGxT
cGFjZTsKKyAgICB9CisKICAgICBKU0RvbGxhclZNQ2FsbEZyYW1lKFZNJiB2bSwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUpCiAgICAgICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQogICAgIHsKQEAgLTE5
NSw2ICsyMDEsMTEgQEAgY2xhc3MgRWxlbWVudCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsK
ICAgICB9CiAKICAgICB0eXBlZGVmIEpTTm9uRmluYWxPYmplY3QgQmFzZTsKKyAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIENvbXBsZXRl
U3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7CisgICAgICAgIHJldHVybiAmdm0u
Y2VsbFNwYWNlOworICAgIH0KIAogICAgIFJvb3QqIHJvb3QoKSBjb25zdCB7IHJldHVybiBtX3Jv
b3QuZ2V0KCk7IH0KICAgICB2b2lkIHNldFJvb3QoVk0mIHZtLCBSb290KiByb290KSB7IG1fcm9v
dC5zZXQodm0sIHRoaXMsIHJvb3QpOyB9CkBAIC0yNDgsNiArMjU5LDEzIEBAIGNsYXNzIEVsZW1l
bnRIYW5kbGVPd25lciA6IHB1YmxpYyBXZWFrSGFuZGxlT3duZXIgewogCiBjbGFzcyBSb290IDog
cHVibGljIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0IHsKIHB1YmxpYzoKKyAgICB1c2luZyBCYXNlID0g
SlNEZXN0cnVjdGlibGVPYmplY3Q7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1
YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyBDb21wbGV0ZVN1YnNwYWNlKiBzdWJzcGFjZUZvcihW
TSYgdm0pCisgICAgeworICAgICAgICByZXR1cm4gJnZtLmRlc3RydWN0aWJsZU9iamVjdFNwYWNl
OworICAgIH0KKwogICAgIFJvb3QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICAg
ICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCiAgICAgewpAQCAtMjc1LDggKzI5Myw2IEBAIGNsYXNz
IFJvb3QgOiBwdWJsaWMgSlNEZXN0cnVjdGlibGVPYmplY3QgewogICAgICAgICByZXR1cm4gcm9v
dDsKICAgICB9CiAKLSAgICB0eXBlZGVmIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0IEJhc2U7Ci0KICAg
ICBERUNMQVJFX0lORk87CiAKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUo
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkK
QEAgLTMwNyw2ICszMjMsMTEgQEAgY2xhc3MgU2ltcGxlT2JqZWN0IDogcHVibGljIEpTTm9uRmlu
YWxPYmplY3QgewogCiAgICAgdHlwZWRlZiBKU05vbkZpbmFsT2JqZWN0IEJhc2U7CiAgICAgc3Rh
dGljIGNvbnN0ZXhwciBib29sIG5lZWRzRGVzdHJ1Y3Rpb24gPSBmYWxzZTsKKyAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIENvbXBsZXRl
U3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7CisgICAgICAgIHJldHVybiAmdm0u
Y2VsbFNwYWNlOworICAgIH0KIAogICAgIHN0YXRpYyBTaW1wbGVPYmplY3QqIGNyZWF0ZShWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgewpAQCAtMzYxLDYgKzM4Miwx
MiBAQCBjbGFzcyBJbXB1cmVHZXR0ZXIgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAg
dHlwZWRlZiBKU05vbkZpbmFsT2JqZWN0IEJhc2U7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNp
Z25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSlNDOjpHZXRPd25Q
cm9wZXJ0eVNsb3RJc0ltcHVyZSB8IEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90Owog
CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzPgorICAgIHN0
YXRpYyBDb21wbGV0ZVN1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisgICAgeworICAgICAg
ICByZXR1cm4gJnZtLmNlbGxTcGFjZTsKKyAgICB9CisKICAgICBzdGF0aWMgU3RydWN0dXJlKiBj
cmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1Zh
bHVlIHByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIERvbGxhclZNQXNzZXJ0U2NvcGUgYXNzZXJ0
U2NvcGU7CkBAIC00MjksNiArNDU2LDEyIEBAIGNsYXNzIEN1c3RvbUdldHRlciA6IHB1YmxpYyBK
U05vbkZpbmFsT2JqZWN0IHsKICAgICB0eXBlZGVmIEpTTm9uRmluYWxPYmplY3QgQmFzZTsKICAg
ICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0
dXJlRmxhZ3MgfCBKU0M6Ok92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdDsKIAorICAgIHRlbXBs
YXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgQ29tcGxl
dGVTdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAgcmV0dXJuICZ2
bS5jZWxsU3BhY2U7CisgICAgfQorCiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0
dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5
cGUpCiAgICAgewogICAgICAgICBEb2xsYXJWTUFzc2VydFNjb3BlIGFzc2VydFNjb3BlOwpAQCAt
NjYxLDYgKzY5NCwxMiBAQCBjbGFzcyBTdGF0aWNDdXN0b21BY2Nlc3NvciA6IHB1YmxpYyBKU05v
bkZpbmFsT2JqZWN0IHsKIAogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJl
RmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IEhhc1N0YXRpY1Byb3BlcnR5VGFibGUgfCBP
dmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3Q7CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxs
VHlwZSwgU3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIENvbXBsZXRlU3Vic3BhY2UqIHN1YnNw
YWNlRm9yKFZNJiB2bSkKKyAgICB7CisgICAgICAgIHJldHVybiAmdm0uY2VsbFNwYWNlOworICAg
IH0KKwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsKICAgICAg
ICAgRG9sbGFyVk1Bc3NlcnRTY29wZSBhc3NlcnRTY29wZTsKQEAgLTY4OCw2ICs3MjcsMTIgQEAg
Y2xhc3MgU3RhdGljQ3VzdG9tQWNjZXNzb3IgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiBj
bGFzcyBPYmplY3REb2luZ1NpZGVFZmZlY3RQdXRXaXRob3V0Q29ycmVjdFNsb3RTdGF0dXMgOiBw
dWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgdXNpbmcgQmFzZSA9IEpTTm9uRmluYWxPYmpl
Y3Q7CiBwdWJsaWM6CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNj
ZXNzPgorICAgIHN0YXRpYyBDb21wbGV0ZVN1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisg
ICAgeworICAgICAgICByZXR1cm4gJnZtLmNlbGxTcGFjZTsKKyAgICB9CisKICAgICBPYmplY3RE
b2luZ1NpZGVFZmZlY3RQdXRXaXRob3V0Q29ycmVjdFNsb3RTdGF0dXMoVk0mIHZtLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSkKICAgICAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCiAgICAgewpAQCAt
NzMzLDYgKzc3OCwxMiBAQCBjbGFzcyBET01KSVROb2RlIDogcHVibGljIEpTTm9uRmluYWxPYmpl
Y3QgewogICAgIHR5cGVkZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOwogICAgIHN0YXRpYyBjb25z
dGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKIAor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0
aWMgQ29tcGxldGVTdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAg
cmV0dXJuICZ2bS5jZWxsU3BhY2U7CisgICAgfQorCiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3Jl
YXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1
ZSBwcm90b3R5cGUpCiAgICAgewogICAgICAgICBEb2xsYXJWTUFzc2VydFNjb3BlIGFzc2VydFNj
b3BlOwpAQCAtMTI0MSw2ICsxMjkyLDEyIEBAIGNsYXNzIEpTVGVzdEN1c3RvbUdldHRlclNldHRl
ciA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKICAgICB1c2luZyBCYXNlID0gSlNOb25GaW5h
bE9iamVjdDsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0g
QmFzZTo6U3RydWN0dXJlRmxhZ3M7CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwg
U3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIENvbXBsZXRlU3Vic3BhY2UqIHN1YnNwYWNlRm9y
KFZNJiB2bSkKKyAgICB7CisgICAgICAgIHJldHVybiAmdm0uY2VsbFNwYWNlOworICAgIH0KKwog
ICAgIEpTVGVzdEN1c3RvbUdldHRlclNldHRlcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJl
KQogICAgICAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSkKICAgICB7CkBAIC0xMzcwLDYgKzE0Mjcs
MTMgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25XYXNtU3Ry
ZWFtaW5nUGFyc2VyRmluYWxpemUoSlNHbG9iYWwKIAogY2xhc3MgV2FzbVN0cmVhbWluZ1BhcnNl
ciA6IHB1YmxpYyBKU0Rlc3RydWN0aWJsZU9iamVjdCB7CiBwdWJsaWM6CisgICAgdXNpbmcgQmFz
ZSA9IEpTRGVzdHJ1Y3RpYmxlT2JqZWN0OworICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBl
LCBTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgQ29tcGxldGVTdWJzcGFjZSogc3Vic3BhY2VG
b3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAgcmV0dXJuICZ2bS5kZXN0cnVjdGlibGVPYmplY3RT
cGFjZTsKKyAgICB9CisKICAgICBjbGFzcyBDbGllbnQgZmluYWwgOiBwdWJsaWMgV2FzbTo6U3Ry
ZWFtaW5nUGFyc2VyQ2xpZW50IHsKICAgICBwdWJsaWM6CiAgICAgICAgIGV4cGxpY2l0IENsaWVu
dChXYXNtU3RyZWFtaW5nUGFyc2VyKiBwYXJzZXIpCkBAIC0xMzkzLDggKzE0NTcsNiBAQCBjbGFz
cyBXYXNtU3RyZWFtaW5nUGFyc2VyIDogcHVibGljIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0IHsKICAg
ICAgICAgRG9sbGFyVk1Bc3NlcnRTY29wZSBhc3NlcnRTY29wZTsKICAgICB9CiAKLSAgICB1c2lu
ZyBCYXNlID0gSlNEZXN0cnVjdGlibGVPYmplY3Q7Ci0KICAgICBzdGF0aWMgV2FzbVN0cmVhbWlu
Z1BhcnNlciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAg
ICB7CiAgICAgICAgIERvbGxhclZNQXNzZXJ0U2NvcGUgYXNzZXJ0U2NvcGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSlNEb2xsYXJWTS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rvb2xzL0pTRG9sbGFyVk0uaAppbmRleCBjNzU4OWUwMjA1YzRjZjA2NmE4N2Ew
NTA1NGU5ZTMzNjBmNzc0ZWQwLi5kZWJkOWEzODYxMWYzZDA1NmQ2YWVkMGYzODdiODdmNzM1Y2Ux
MTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSlNEb2xsYXJWTS5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KU0RvbGxhclZNLmgKQEAgLTM4LDYg
KzM4LDEyIEBAIHN0cnVjdCBEb2xsYXJWTUFzc2VydFNjb3BlIHsKIGNsYXNzIEpTRG9sbGFyVk0g
ZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBK
U05vbkZpbmFsT2JqZWN0IEJhc2U7CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwg
U3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIENvbXBsZXRlU3Vic3BhY2UqIHN1YnNwYWNlRm9y
KFZNJiB2bSkKKyAgICB7CisgICAgICAgIHJldHVybiAmdm0uY2VsbFNwYWNlOworICAgIH0KICAg
ICAKICAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvSlNXZWJBc3NlbWJseS5oCmluZGV4IDI5ZTc3M2Q2ZmJhMjNmMzY1MzUxNWY3
ODc3MzNjZThlZDI4OTI1MjEuLjZhN2Y3M2M0NDcyMGYwNzEyMzc0NTU3NzU5NDZmZjYxNTIyYTM4
MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1i
bHkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5LmgK
QEAgLTM3LDYgKzM3LDEzIEBAIGNsYXNzIEpTV2ViQXNzZW1ibHkgZmluYWwgOiBwdWJsaWMgSlNO
b25GaW5hbE9iamVjdCB7CiAgICAgdXNpbmcgQmFzZSA9IEpTTm9uRmluYWxPYmplY3Q7CiAgICAg
c3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVy
ZUZsYWdzIHwgSGFzU3RhdGljUHJvcGVydHlUYWJsZTsKIAorICAgIHRlbXBsYXRlPHR5cGVuYW1l
IENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSXNvU3Vic3BhY2UqIHN1YnNw
YWNlRm9yKFZNJiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNF
X1NIQVJBQkxFKEpTV2ViQXNzZW1ibHksIEJhc2UpOworICAgICAgICByZXR1cm4gJnZtLnBsYWlu
T2JqZWN0U3BhY2U7CisgICAgfQorCiAgICAgc3RhdGljIEpTV2ViQXNzZW1ibHkqIGNyZWF0ZShW
TSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSog
Y3JlYXRlU3RydWN0dXJlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJy
b3JQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5
Q29tcGlsZUVycm9yUHJvdG90eXBlLmgKaW5kZXggYzE5ODZhNjk2NmM1Zjc4NWYzYTYxYzExODUz
ZjNiZTczZjdkMDBhOS4uYTZjM2Q0NDNhYjc3MjUwNWY2MzQ2NTNlYjg2MTZkYjdiNTc1MTkzYiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlDb21w
aWxlRXJyb3JQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
ZWJBc3NlbWJseUNvbXBpbGVFcnJvclByb3RvdHlwZS5oCkBAIC0zNCw5ICszNCwxNiBAQCBuYW1l
c3BhY2UgSlNDIHsKIAogY2xhc3MgV2ViQXNzZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGUgZmlu
YWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBKU05v
bkZpbmFsT2JqZWN0IEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEpTTm9uRmluYWxPYmplY3Q7CiAg
ICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVj
dHVyZUZsYWdzIHwgSGFzU3RhdGljUHJvcGVydHlUYWJsZTsKIAorICAgIHRlbXBsYXRlPHR5cGVu
YW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSXNvU3Vic3BhY2UqIHN1
YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQ
QUNFX1NIQVJBQkxFKFdlYkFzc2VtYmx5Q29tcGlsZUVycm9yUHJvdG90eXBlLCBCYXNlKTsKKyAg
ICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KKwogICAgIHN0YXRpYyBX
ZWJBc3NlbWJseUNvbXBpbGVFcnJvclByb3RvdHlwZSogY3JlYXRlKFZNJiwgSlNHbG9iYWxPYmpl
Y3QqLCBTdHJ1Y3R1cmUqKTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUo
Vk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUdsb2JhbFByb3RvdHlwZS5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlHbG9iYWxQcm90b3R5cGUuaAppbmRl
eCA3ZTI4NmExOTg3OWZmNjkzY2MyODUzNGMzM2ExNzhlNTU5ZGI4OWZmLi4yYTk4NDU2M2MzMWFm
YjQ5ZjRlZjBiYzJiMDZhMTBlOWM0NWFlMWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUdsb2JhbFByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5R2xvYmFsUHJvdG90eXBlLmgKQEAgLTM2
LDYgKzM2LDEzIEBAIGNsYXNzIFdlYkFzc2VtYmx5R2xvYmFsUHJvdG90eXBlIGZpbmFsIDogcHVi
bGljIEpTTm9uRmluYWxPYmplY3QgewogICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0
OwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpT
dHJ1Y3R1cmVGbGFncyB8IEhhc1N0YXRpY1Byb3BlcnR5VGFibGU7CiAKKyAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIElzb1N1YnNwYWNl
KiBzdWJzcGFjZUZvcihWTSYgdm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19T
VUJTUEFDRV9TSEFSQUJMRShXZWJBc3NlbWJseUdsb2JhbFByb3RvdHlwZSwgQmFzZSk7CisgICAg
ICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CisKICAgICBzdGF0aWMgV2Vi
QXNzZW1ibHlHbG9iYWxQcm90b3R5cGUqIGNyZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3Ry
dWN0dXJlKik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiwgSlNH
bG9iYWxPYmplY3QqLCBKU1ZhbHVlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvV2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvdHlwZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvdHlwZS5oCmluZGV4IDA1
ZDBhMTJhZGUzOWM1NDVlYTUwZjU4ZWEyNWVhYWU4MDhiYjM4NmYuLjI3MTJiMjc0NDM1MGQ5NzE4
ODQ5YWY3ZjdjNTU0MWEzZGEwYzk0YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL2pzL1dlYkFzc2VtYmx5SW5zdGFuY2VQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUluc3RhbmNlUHJvdG90eXBlLmgKQEAgLTM0
LDkgKzM0LDE2IEBAIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBXZWJBc3NlbWJseUluc3RhbmNl
UHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogcHVibGljOgotICAg
IHR5cGVkZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBKU05vbkZp
bmFsT2JqZWN0OwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3Mg
PSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IEhhc1N0YXRpY1Byb3BlcnR5VGFibGU7CiAKKyAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIElz
b1N1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNT
RVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShXZWJBc3NlbWJseUluc3RhbmNlUHJvdG90eXBlLCBC
YXNlKTsKKyAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KKwogICAg
IHN0YXRpYyBXZWJBc3NlbWJseUluc3RhbmNlUHJvdG90eXBlKiBjcmVhdGUoVk0mLCBKU0dsb2Jh
bE9iamVjdCosIFN0cnVjdHVyZSopOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVj
dHVyZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yUHJvdG90eXBlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvclByb3Rv
dHlwZS5oCmluZGV4IDhjNDU4NTZkMWYxNzU0MGFlZTc5NzJkMDM1OTM4Mzg4ZGZiZDg0MzQuLjE4
MzEwYzM1YjAzZTNjODFjMmRjY2YyMjBjZTNhMmYwN2VmY2MzYTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yUHJvdG90eXBlLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JQ
cm90b3R5cGUuaApAQCAtMzQsOSArMzQsMTYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIFdl
YkFzc2VtYmx5TGlua0Vycm9yUHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmpl
Y3QgewogcHVibGljOgotICAgIHR5cGVkZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOworICAgIHVz
aW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0OwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWdu
ZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IEhhc1N0YXRpY1Byb3Bl
cnR5VGFibGU7CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nl
c3M+CisgICAgc3RhdGljIElzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisgICAgewor
ICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShXZWJBc3NlbWJseUxp
bmtFcnJvclByb3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RT
cGFjZTsKKyAgICB9CisKICAgICBzdGF0aWMgV2ViQXNzZW1ibHlMaW5rRXJyb3JQcm90b3R5cGUq
IGNyZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgc3RhdGljIFN0
cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlN
ZW1vcnlQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2Vt
Ymx5TWVtb3J5UHJvdG90eXBlLmgKaW5kZXggODM2N2ZlN2EyNDIwY2I5ZGM1YzE2YWI5NjkwOTYy
ZTAxZjhlN2NjOC4uODI2MDI3NjRhYzQ4ZmQyY2NlZjVlZmFjOGZkNTEwYTk2ZmNlZGY5MSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNZW1vcnlQ
cm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJs
eU1lbW9yeVByb3RvdHlwZS5oCkBAIC0zNCw5ICszNCwxNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAog
Y2xhc3MgV2ViQXNzZW1ibHlNZW1vcnlQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5h
bE9iamVjdCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBKU05vbkZpbmFsT2JqZWN0IEJhc2U7Cisg
ICAgdXNpbmcgQmFzZSA9IEpTTm9uRmluYWxPYmplY3Q7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1
bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSGFzU3RhdGlj
UHJvcGVydHlUYWJsZTsKIAorICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFj
ZUFjY2Vzcz4KKyAgICBzdGF0aWMgSXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAg
ICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKFdlYkFzc2Vt
Ymx5TWVtb3J5UHJvdG90eXBlLCBCYXNlKTsKKyAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVj
dFNwYWNlOworICAgIH0KKwogICAgIHN0YXRpYyBXZWJBc3NlbWJseU1lbW9yeVByb3RvdHlwZSog
Y3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAgICBzdGF0aWMgU3Ry
dWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1v
ZHVsZVByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1i
bHlNb2R1bGVQcm90b3R5cGUuaAppbmRleCBlYWI0ZmZhMTRjNzFmMDI2YmU5ZmVkYjZjYjNlZjgz
OTY3ZWQyNmY2Li43MTk2ZDFlYzc0ODI0NjVlNWRlMDA1ZTRjNzUzYjA2YTNkN2NhZjU5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZVBy
b3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5
TW9kdWxlUHJvdG90eXBlLmgKQEAgLTM0LDkgKzM0LDE2IEBAIG5hbWVzcGFjZSBKU0MgewogCiBj
bGFzcyBXZWJBc3NlbWJseU1vZHVsZVByb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU05vbkZpbmFs
T2JqZWN0IHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEpTTm9uRmluYWxPYmplY3QgQmFzZTsKKyAg
ICB1c2luZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKICAgICBzdGF0aWMgY29uc3RleHByIHVu
c2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBIYXNTdGF0aWNQ
cm9wZXJ0eVRhYmxlOwogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNl
QWNjZXNzPgorICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAg
IHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoV2ViQXNzZW1i
bHlNb2R1bGVQcm90b3R5cGUsIEJhc2UpOworICAgICAgICByZXR1cm4gJnZtLnBsYWluT2JqZWN0
U3BhY2U7CisgICAgfQorCiAgICAgc3RhdGljIFdlYkFzc2VtYmx5TW9kdWxlUHJvdG90eXBlKiBj
cmVhdGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogICAgIHN0YXRpYyBTdHJ1
Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVu
dGltZUVycm9yUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJB
c3NlbWJseVJ1bnRpbWVFcnJvclByb3RvdHlwZS5oCmluZGV4IGVkMjQxNmVjYjg4YjUyY2IxMDMx
MTM5YjIyZGZiNWQ3MzQ1ZGZkZmQuLmExNDIwYmQ1ZWE4Mzc0YTk2NDllMWFhNmZmZWEyNDhhMjEy
Y2QzY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2Vt
Ymx5UnVudGltZUVycm9yUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JQcm90b3R5cGUuaApAQCAtMzQsOSArMzQsMTYg
QEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIFdlYkFzc2VtYmx5UnVudGltZUVycm9yUHJvdG90
eXBlIGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogcHVibGljOgotICAgIHR5cGVk
ZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2Jq
ZWN0OwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNl
OjpTdHJ1Y3R1cmVGbGFncyB8IEhhc1N0YXRpY1Byb3BlcnR5VGFibGU7CiAKKyAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIElzb1N1YnNw
YWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lT
T19TVUJTUEFDRV9TSEFSQUJMRShXZWJBc3NlbWJseVJ1bnRpbWVFcnJvclByb3RvdHlwZSwgQmFz
ZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CisKICAgICBz
dGF0aWMgV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JQcm90b3R5cGUqIGNyZWF0ZShWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3Ry
dWN0dXJlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlUYWJsZVByb3RvdHlwZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlUYWJsZVByb3RvdHlwZS5o
CmluZGV4IDU4OWNjN2RjOWY3ODBiYmE4NjFkNWU0MjE3ZWMyYjU1NjI3NTMxMjkuLmI3MWJkOWMw
MWEzOTM1YjAxZjNkNDE3MWM2NGY4YjJhZDA1OTAxNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5VGFibGVQcm90b3R5cGUuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRhYmxlUHJvdG90eXBlLmgKQEAg
LTM0LDkgKzM0LDE2IEBAIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBXZWJBc3NlbWJseVRhYmxl
UHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogcHVibGljOgotICAg
IHR5cGVkZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBKU05vbkZp
bmFsT2JqZWN0OwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3Mg
PSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IEhhc1N0YXRpY1Byb3BlcnR5VGFibGU7CiAKKyAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIElz
b1N1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNT
RVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShXZWJBc3NlbWJseVRhYmxlUHJvdG90eXBlLCBCYXNl
KTsKKyAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KKwogICAgIHN0
YXRpYyBXZWJBc3NlbWJseVRhYmxlUHJvdG90eXBlKiBjcmVhdGUoVk0mLCBKU0dsb2JhbE9iamVj
dCosIFN0cnVjdHVyZSopOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShW
TSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NSXRlcmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NSXRlcmF0b3IuaAppbmRleCA0NjBhN2NjMjE2MWJlZmZmZWQ1ZGQ3ZjIxZjhhNzA5
N2NlNTM3NmRhLi4wNzNmYzc2YjYxMWI4NzhmYTZjNDc5YjkwZWFhOWRmY2Y3N2IwMTQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUl0ZXJhdG9yLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01JdGVyYXRvci5oCkBAIC01MSw2ICs1MSwx
MyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBKU1dyYXBwZXIsIHR5cGVuYW1lIEl0ZXJhdG9yVHJhaXRz
PiBjbGFzcyBKU0RPTUl0ZXJhdG9yUHJvdG90eQogICAgIHVzaW5nIEJhc2UgPSBKU0M6OkpTTm9u
RmluYWxPYmplY3Q7CiAgICAgdXNpbmcgRE9NV3JhcHBlZCA9IHR5cGVuYW1lIEpTV3JhcHBlcjo6
RE9NV3JhcHBlZDsKIAorICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBKU0M6OlN1YnNw
YWNlQWNjZXNzPgorICAgIHN0YXRpYyBKU0M6Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihKU0M6
OlZNJiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJB
QkxFKEpTRE9NSXRlcmF0b3JQcm90b3R5cGUsIEJhc2UpOworICAgICAgICByZXR1cm4gJnZtLnBs
YWluT2JqZWN0U3BhY2U7CisgICAgfQorCiAgICAgc3RhdGljIEpTRE9NSXRlcmF0b3JQcm90b3R5
cGUqIGNyZWF0ZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIHsKICAgICAgICAgU1RBVElDX0FTU0VS
VF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNET01JdGVyYXRvclByb3RvdHlwZSwgSlNET01JdGVy
YXRvclByb3RvdHlwZTo6QmFzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IGI4ZmM1MTllZDNhZjA4MDE3NzIyMmI5MzM4
ODVlODYzOWUxZWQxNzkuLjA3ZDhlNzhlYjdjNjc5NTM2NTE1NzU2M2NlNzQ4Zjc0NzA3NTdjNzcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtCkBAIC03MjcwLDYgKzcyNzAsMTMgQEAgc3ViIEdlbmVyYXRlUHJvdG90eXBlRGVjbGFy
YXRpb24KIAogICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBERUNMQVJFX0lORk87XG4iKTsK
IAorICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlw
ZSwgSlNDOjpTdWJzcGFjZUFjY2Vzcz5cbiIpOworICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAg
ICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoSlNDOjpWTSYgdm0pXG4iKTsK
KyAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAge1xuIik7CisgICAgcHVzaChAJG91dHB1dEFy
cmF5LCAiICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRSgke3Byb3Rv
dHlwZUNsYXNzTmFtZX0sIEJhc2UpO1xuIik7CisgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAg
ICAgICByZXR1cm4gJnZtLnBsYWluT2JqZWN0U3BhY2U7XG4iKTsKKyAgICBwdXNoKEAkb3V0cHV0
QXJyYXksICIgICAgfVxuIik7CisKICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgc3RhdGlj
IEpTQzo6U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIEpTQzo6SlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSlcbiIpOwogICAg
IHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICB7XG4iKTsKICAgICBwdXNoKEAkb3V0cHV0QXJyYXks
ICIgICAgICAgIHJldHVybiBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3Qs
IHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdz
KSwgaW5mbygpKTtcbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTSW50ZXJmYWNlTmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNJbnRlcmZhY2VOYW1lLmNwcAppbmRleCBhNjc2NzkxYWQwYzkx
MGQ4YTYzODkxOTgyMjdhYzU2ZmE1MTdlZmM3Li5iZTNkNjc3ODY4NTE3MDUwYjc1MzhjNjBlZDBi
NWFjNzJhMjU1NDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNJbnRlcmZhY2VOYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNJbnRlcmZhY2VOYW1lLmNwcApAQCAtNTgsNiArNTgsMTIgQEAg
Y2xhc3MgSlNJbnRlcmZhY2VOYW1lUHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTQzo6SlNOb25G
aW5hbE9iamVjdCB7CiAgICAgfQogCiAgICAgREVDTEFSRV9JTkZPOworICAgIHRlbXBsYXRlPHR5
cGVuYW1lIENlbGxUeXBlLCBKU0M6OlN1YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyBKU0M6Oklz
b1N1YnNwYWNlKiBzdWJzcGFjZUZvcihKU0M6OlZNJiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJ
Q19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpTSW50ZXJmYWNlTmFtZVByb3RvdHlwZSwg
QmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CiAgICAg
c3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIEpTQzo6
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKICAg
ICB7CiAgICAgICAgIHJldHVybiBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QsIHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUsIFN0cnVjdHVyZUZs
YWdzKSwgaW5mbygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU01hcExpa2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTTWFwTGlrZS5jcHAKaW5kZXggY2Q3ZmQxYzliZjFkZTBhMWZkNzJmYjU2ZjBm
NjY3NmRkY2NmMTVjZi4uMDU4YTNjN2I2MWU1MDA0OWRiMzBjNjBmMWVjNDRmNGY2OWVhMWViNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTTWFw
TGlrZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
TWFwTGlrZS5jcHAKQEAgLTc3LDYgKzc3LDEyIEBAIGNsYXNzIEpTTWFwTGlrZVByb3RvdHlwZSBm
aW5hbCA6IHB1YmxpYyBKU0M6OkpTTm9uRmluYWxPYmplY3QgewogICAgIH0KIAogICAgIERFQ0xB
UkVfSU5GTzsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgSlNDOjpTdWJzcGFjZUFj
Y2Vzcz4KKyAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoSlNDOjpWTSYg
dm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShK
U01hcExpa2VQcm90b3R5cGUsIEJhc2UpOworICAgICAgICByZXR1cm4gJnZtLnBsYWluT2JqZWN0
U3BhY2U7CisgICAgfQogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJl
KEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNW
YWx1ZSBwcm90b3R5cGUpCiAgICAgewogICAgICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNy
ZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmpl
Y3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNSZWFkT25seU1hcExpa2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTUmVhZE9ubHlNYXBMaWtlLmNw
cAppbmRleCBjMDJlZDljZjk5ZDg4MmNiNzZmNDU5YTk1YTA1OTkzNTE1YmZmMmY5Li4zNjFiMmFk
OTU3MTBmYmY4YTk5ZGJhZDFkYTAwYmI4ZjUwNzgzMTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNSZWFkT25seU1hcExpa2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1JlYWRPbmx5TWFwTGlr
ZS5jcHAKQEAgLTc0LDYgKzc0LDEyIEBAIGNsYXNzIEpTUmVhZE9ubHlNYXBMaWtlUHJvdG90eXBl
IGZpbmFsIDogcHVibGljIEpTQzo6SlNOb25GaW5hbE9iamVjdCB7CiAgICAgfQogCiAgICAgREVD
TEFSRV9JTkZPOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBKU0M6OlN1YnNwYWNl
QWNjZXNzPgorICAgIHN0YXRpYyBKU0M6Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihKU0M6OlZN
JiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxF
KEpTUmVhZE9ubHlNYXBMaWtlUHJvdG90eXBlLCBCYXNlKTsKKyAgICAgICAgcmV0dXJuICZ2bS5w
bGFpbk9iamVjdFNwYWNlOworICAgIH0KICAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0
ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsKICAgICAgICAgcmV0dXJuIEpTQzo6U3Ry
dWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZv
KEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTUmVhZE9ubHlTZXRMaWtl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1JlYWRPbmx5
U2V0TGlrZS5jcHAKaW5kZXggODAyOWZlODFhNDQ4ZjE1M2RiOWNkZjU2NTI4OWE2NDZmOWNiMDkx
Yi4uNWQyMTAyYzczMzhmNWNlZGNkODUwYzI1ZDdkNDQ2NWFiNjcxOWExMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTUmVhZE9ubHlTZXRMaWtl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNSZWFk
T25seVNldExpa2UuY3BwCkBAIC03Myw2ICs3MywxMiBAQCBjbGFzcyBKU1JlYWRPbmx5U2V0TGlr
ZVByb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU0M6OkpTTm9uRmluYWxPYmplY3QgewogICAgIH0K
IAogICAgIERFQ0xBUkVfSU5GTzsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgSlND
OjpTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VG
b3IoSlNDOjpWTSYgdm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFD
RV9TSEFSQUJMRShKU1JlYWRPbmx5U2V0TGlrZVByb3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJl
dHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CiAgICAgc3RhdGljIEpTQzo6U3RydWN0
dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIEpTQzo6SlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIHJldHVy
biBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlND
OjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1NldExp
a2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTU2V0TGlr
ZS5jcHAKaW5kZXggOGNlZDkzMmNjNDA0YzIzOTcyYmUxYmNjYWJmNzEwNjI2OWI2ODhkNi4uMDA2
ZmY5NTc3OGMyNjJiZjgyMmMzYzQ5Mjk3ZTViNzRlMzdlMzRhYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTU2V0TGlrZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTU2V0TGlrZS5jcHAKQEAgLTc2
LDYgKzc2LDEyIEBAIGNsYXNzIEpTU2V0TGlrZVByb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU0M6
OkpTTm9uRmluYWxPYmplY3QgewogICAgIH0KIAogICAgIERFQ0xBUkVfSU5GTzsKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgSlNDOjpTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMg
SlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoSlNDOjpWTSYgdm0pCisgICAgeworICAgICAg
ICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU1NldExpa2VQcm90b3R5cGUs
IEJhc2UpOworICAgICAgICByZXR1cm4gJnZtLnBsYWluT2JqZWN0U3BhY2U7CisgICAgfQogICAg
IHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6
OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAg
ICAgewogICAgICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2Jq
ZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVG
bGFncyksIGluZm8oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCmluZGV4IGY3
N2Q1ZDBlMDI1MGQ1NjlhMjRiNDEyNWY2NTc3ZTAyMjFiZDdlYzIuLjRkZDJiMWEzYWM2OGYwN2Q5
NDUwY2M1MTk5YTkzNGE0OGM4MjhjZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3Qu
Y3BwCkBAIC03Myw2ICs3MywxMiBAQCBjbGFzcyBKU1Rlc3RBY3RpdmVET01PYmplY3RQcm90b3R5
cGUgZmluYWwgOiBwdWJsaWMgSlNDOjpKU05vbkZpbmFsT2JqZWN0IHsKICAgICB9CiAKICAgICBE
RUNMQVJFX0lORk87CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3Bh
Y2VBY2Nlc3M+CisgICAgc3RhdGljIEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKEpTQzo6
Vk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFC
TEUoSlNUZXN0QWN0aXZlRE9NT2JqZWN0UHJvdG90eXBlLCBCYXNlKTsKKyAgICAgICAgcmV0dXJu
ICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KICAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUq
IGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsKICAgICAgICAgcmV0dXJuIEpT
Qzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5
cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVh
Y3Rpb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RDRVJlYWN0aW9ucy5jcHAKaW5kZXggNDU5MzM0ZTdmYjQwMzlkNjk5ZjA4OGRiY2Q5M2QwMWI3
NzI5ZTJmOS4uZTIxNDZkMWI3NDQ1NWI2MDQ0NzRlOGIwNzY4NWU5MDVlMDllYzA1NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVh
Y3Rpb25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Q0VSZWFjdGlvbnMuY3BwCkBAIC04Myw2ICs4MywxMiBAQCBjbGFzcyBKU1Rlc3RDRVJl
YWN0aW9uc1Byb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU0M6OkpTTm9uRmluYWxPYmplY3Qgewog
ICAgIH0KIAogICAgIERFQ0xBUkVfSU5GTzsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlw
ZSwgSlNDOjpTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vi
c3BhY2VGb3IoSlNDOjpWTSYgdm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19T
VUJTUEFDRV9TSEFSQUJMRShKU1Rlc3RDRVJlYWN0aW9uc1Byb3RvdHlwZSwgQmFzZSk7CisgICAg
ICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CiAgICAgc3RhdGljIEpTQzo6
U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIEpTQzo6SlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKICAgICB7CiAgICAgICAg
IHJldHVybiBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlw
ZSwgSlNDOjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmNwcAppbmRleCAz
NWVlYjQyZGM0YTQ2ZWYwNzk2MmZkZjVjODhmZjI0ODEwYzYxYTMxLi40MjQ2ODM0NjA2MjRjNWE3
MWE0N2E4ODYyZjI1NGFjZmY5N2E3MjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rp
b25zU3RyaW5naWZpZXIuY3BwCkBAIC03MCw2ICs3MCwxMiBAQCBjbGFzcyBKU1Rlc3RDRVJlYWN0
aW9uc1N0cmluZ2lmaWVyUHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTQzo6SlNOb25GaW5hbE9i
amVjdAogICAgIH0KIAogICAgIERFQ0xBUkVfSU5GTzsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBD
ZWxsVHlwZSwgSlNDOjpTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFj
ZSogc3Vic3BhY2VGb3IoSlNDOjpWTSYgdm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNTRVJU
X0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyUHJvdG90
eXBlLCBCYXNlKTsKKyAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0K
ICAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwg
SlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBl
KQogICAgIHsKICAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2Jh
bE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0
dXJlRmxhZ3MpLCBpbmZvKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxUcmFjZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxUcmFjZXIuY3BwCmluZGV4IGI1NTk4OTZk
MzM1NmM4MTY2N2NlZmNiZWRlODU4NDlhY2YwNjVkMTIuLmUxNDAyYWVkNGM4NjgyMGUyYjY1OGY1
M2VjZmZmNTk5NDEyYTViNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsVHJhY2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbFRyYWNlci5jcHAKQEAgLTg4LDYgKzg4
LDEyIEBAIGNsYXNzIEpTVGVzdENhbGxUcmFjZXJQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlND
OjpKU05vbkZpbmFsT2JqZWN0IHsKICAgICB9CiAKICAgICBERUNMQVJFX0lORk87CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGlj
IEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKEpTQzo6Vk0mIHZtKQorICAgIHsKKyAgICAg
ICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0Q2FsbFRyYWNlclBy
b3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAg
ICB9CiAgICAgc3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYg
dm0sIEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3Rv
dHlwZSkKICAgICB7CiAgICAgICAgIHJldHVybiBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBn
bG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUsIFN0
cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2xhc3NX
aXRoSlNCdWlsdGluQ29uc3RydWN0b3IuY3BwCmluZGV4IDM3OWNhYTE5ZDM1NTRkMGUyNzBhNTE3
YThiM2ExMzU1MzIxNDBiZmEuLmE0ODQ3NzAwMTA4MjcwODZhYjQ5NWVlMTcwMTNjZmYxYWI5MDhk
YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0
cnVjdG9yLmNwcApAQCAtNTksNiArNTksMTIgQEAgY2xhc3MgSlNUZXN0Q2xhc3NXaXRoSlNCdWls
dGluQ29uc3RydWN0b3JQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNDOjpKU05vbkZpbmEKICAg
ICB9CiAKICAgICBERUNMQVJFX0lORk87CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUs
IEpTQzo6U3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNw
YWNlRm9yKEpTQzo6Vk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VC
U1BBQ0VfU0hBUkFCTEUoSlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3JQcm90b3R5
cGUsIEJhc2UpOworICAgICAgICByZXR1cm4gJnZtLnBsYWluT2JqZWN0U3BhY2U7CisgICAgfQog
ICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBK
U0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUp
CiAgICAgewogICAgICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1
cmVGbGFncyksIGluZm8oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RE9NSklULmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RET01KSVQuY3BwCmluZGV4IDA2NzA1MjUxOTYzMDMxOGEz
OWM1OWVkZTYxMDY0ZGRhYTBlYWI3M2QuLjllOTMxYmMyN2FiYTMwMWI2ZWI1OTEyMzIxZjg5MjFh
ZDk1ZTQwMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RET01KSVQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RET01KSVQuY3BwCkBAIC00ODEsNiArNDgxLDEyIEBAIGNsYXNzIEpT
VGVzdERPTUpJVFByb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU0M6OkpTTm9uRmluYWxPYmplY3Qg
ewogICAgIH0KIAogICAgIERFQ0xBUkVfSU5GTzsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxs
VHlwZSwgSlNDOjpTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSog
c3Vic3BhY2VGb3IoSlNDOjpWTSYgdm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lT
T19TVUJTUEFDRV9TSEFSQUJMRShKU1Rlc3RET01KSVRQcm90b3R5cGUsIEJhc2UpOworICAgICAg
ICByZXR1cm4gJnZtLnBsYWluT2JqZWN0U3BhY2U7CisgICAgfQogICAgIHN0YXRpYyBKU0M6OlN0
cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewogICAgICAgICBy
ZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUs
IEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0RW5hYmxlZEJ5U2V0dGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGluZy5jcHAKaW5kZXggMjVhN2MzNDAzZTJjNzIy
NDI4YWFhYmNhYTcyYjBkOGI0M2E3MWFhZC4uMGFmNjM2YzhjMjZjMjE4NzRiZDk5ODMyZmVhYWNi
ZDNmMzUwMTk4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEVuYWJsZWRCeVNldHRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0aW5nLmNwcApAQCAtNzks
NiArNzksMTIgQEAgY2xhc3MgSlNUZXN0RW5hYmxlZEJ5U2V0dGluZ1Byb3RvdHlwZSBmaW5hbCA6
IHB1YmxpYyBKU0M6OkpTTm9uRmluYWxPYmplY3QgewogICAgIH0KIAogICAgIERFQ0xBUkVfSU5G
TzsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgSlNDOjpTdWJzcGFjZUFjY2Vzcz4K
KyAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoSlNDOjpWTSYgdm0pCisg
ICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU1Rlc3RF
bmFibGVkQnlTZXR0aW5nUHJvdG90eXBlLCBCYXNlKTsKKyAgICAgICAgcmV0dXJuICZ2bS5wbGFp
bk9iamVjdFNwYWNlOworICAgIH0KICAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0
cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U0M6OkpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsKICAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0
dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpT
Qzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRGb3JDb250
ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RF
bmFibGVkRm9yQ29udGV4dC5jcHAKaW5kZXggYWZiZmIzMjBlNGI1YThkZWY0OTk1MzMzZWZkMGFh
MTIzNTAxMTc1Ni4uNzUyMjdiZDI4MDRlZWQxNjUxMjJjZTI5NjFiODAxYWRhZGQ2MWY5MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVu
YWJsZWRGb3JDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEZvckNvbnRleHQuY3BwCkBAIC02NCw2ICs2NCwxMiBAQCBj
bGFzcyBKU1Rlc3RFbmFibGVkRm9yQ29udGV4dFByb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU0M6
OkpTTm9uRmluYWxPYmplY3QgewogICAgIH0KIAogICAgIERFQ0xBUkVfSU5GTzsKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgSlNDOjpTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMg
SlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoSlNDOjpWTSYgdm0pCisgICAgeworICAgICAg
ICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU1Rlc3RFbmFibGVkRm9yQ29u
dGV4dFByb3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFj
ZTsKKyAgICB9CiAgICAgc3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlND
OjpWTSYgdm0sIEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVl
IHByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIHJldHVybiBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRl
KHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5
cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVj
dG9yLmNwcAppbmRleCAwZDA2MDdlMmQzZGM0MjI4YWQwMGRiMzJhYTc0NWIzMWFlNjBkZmZiLi41
YzA1YWQ4ZDQyZTMwYjM0ZGU2Y2Q1Y2M3NWNmNWI2MTg2YTE2ZWM3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEV2ZW50Q29uc3RydWN0b3IuY3BwCkBAIC0xNDIsNiArMTQyLDEyIEBAIGNsYXNzIEpTVGVzdEV2
ZW50Q29uc3RydWN0b3JQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNDOjpKU05vbkZpbmFsT2Jq
ZWN0IHsKICAgICB9CiAKICAgICBERUNMQVJFX0lORk87CisgICAgdGVtcGxhdGU8dHlwZW5hbWUg
Q2VsbFR5cGUsIEpTQzo6U3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIEpTQzo6SXNvU3Vic3Bh
Y2UqIHN1YnNwYWNlRm9yKEpTQzo6Vk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VS
VF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0RXZlbnRDb25zdHJ1Y3RvclByb3RvdHlwZSwg
QmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CiAgICAg
c3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIEpTQzo6
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKICAg
ICB7CiAgICAgICAgIHJldHVybiBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QsIHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUsIFN0cnVjdHVyZUZs
YWdzKSwgaW5mbygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwCmluZGV4IDZkOGIwOGU0NjBj
MjI0NDNkYjA5NWMzZjlkNDcyYjY1YTRjYzU1OGYuLjFlMWIyMTA4OTUzNDJkYzEyNGYwYzkxM2Yx
YmE2ZTVhZjhkMDgxMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcApAQCAtNjgsNiArNjgs
MTIgQEAgY2xhc3MgSlNUZXN0RXZlbnRUYXJnZXRQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlND
OjpKU05vbkZpbmFsT2JqZWN0IHsKICAgICB9CiAKICAgICBERUNMQVJFX0lORk87CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGlj
IEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKEpTQzo6Vk0mIHZtKQorICAgIHsKKyAgICAg
ICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0RXZlbnRUYXJnZXRQ
cm90b3R5cGUsIEJhc2UpOworICAgICAgICByZXR1cm4gJnZtLnBsYWluT2JqZWN0U3BhY2U7Cisg
ICAgfQogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0m
IHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90
b3R5cGUpCiAgICAgewogICAgICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwg
Z2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBT
dHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwCmluZGV4IGZlMWY5
ZmMwYWY0OWQzY2IwYTQzYWI2YWM0MjkzNTE1OTlhNGZlZTIuLmEwZTA0NTRmYmI1ZGY0M2Q4MjEw
YTY0ZGY4NmE0YmRhNDVjMWJlNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwCkBAIC02MSw2ICs2
MSwxMiBAQCBjbGFzcyBKU1Rlc3RFeGNlcHRpb25Qcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlND
OjpKU05vbkZpbmFsT2JqZWN0IHsKICAgICB9CiAKICAgICBERUNMQVJFX0lORk87CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGlj
IEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKEpTQzo6Vk0mIHZtKQorICAgIHsKKyAgICAg
ICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0RXhjZXB0aW9uUHJv
dG90eXBlLCBCYXNlKTsKKyAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAg
IH0KICAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2
bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90
eXBlKQogICAgIHsKICAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGds
b2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3Ry
dWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFi
bGUuY3BwCmluZGV4IGFmY2UzZDA3ZjhkMTAyYjZlZjRhN2NjZDQ0NTA3NDNlMTZhNjYxZjIuLmZm
M2JjYjI4ZGVjYmM2ZTFhNDdlZTczMzcxNjY5NzcxNmFjZGNkYzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hh
YmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHAKQEAgLTYxLDYgKzYxLDEyIEBAIGNsYXNzIEpTVGVz
dEdlbmVyYXRlSXNSZWFjaGFibGVQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNDOjpKU05vbkZp
bmFsT2JqZWN0IHsKICAgICB9CiAKICAgICBERUNMQVJFX0lORk87CisgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIEpTQzo6SXNv
U3Vic3BhY2UqIHN1YnNwYWNlRm9yKEpTQzo6Vk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElD
X0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZVBy
b3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAg
ICB9CiAgICAgc3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYg
dm0sIEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3Rv
dHlwZSkKICAgICB7CiAgICAgICAgIHJldHVybiBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBn
bG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUsIFN0
cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuaAppbmRleCA4N2E4
MDMyYWUyMjIwMGIyOGM1NzE4N2Q1MTM4Yzk3MjUzMDFiY2VlLi5lN2VjZDI5ODAzN2M0MjkzYmY5
N2YxMGFiNzBlNDU5MDVhZGY4ZGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdsb2JhbE9iamVjdC5oCkBAIC05OCw2
ICs5OCwxMiBAQCBjbGFzcyBKU1Rlc3RHbG9iYWxPYmplY3RQcm90b3R5cGUgZmluYWwgOiBwdWJs
aWMgSlNDOjpKU05vbkZpbmFsT2JqZWN0IHsKICAgICB9CiAKICAgICBERUNMQVJFX0lORk87Cisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3BhY2VBY2Nlc3M+CisgICAg
c3RhdGljIEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKEpTQzo6Vk0mIHZtKQorICAgIHsK
KyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0R2xvYmFs
T2JqZWN0UHJvdG90eXBlLCBCYXNlKTsKKyAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNw
YWNlOworICAgIH0KICAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShK
U0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFs
dWUgcHJvdG90eXBlKQogICAgIHsKICAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVh
dGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0
VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZp
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdElu
ZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwCmluZGV4IDFkYTY1MDY1OWY4M2NjMzliMzY5M2Zk
NmEyOWQwNWZlNWIxMDVhYjMuLjk0ODgxYjEzNTA1NmExZTgxYjY2MGQ2OTIyYzNlODBmNmVhYTZk
ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5j
cHAKQEAgLTYwLDYgKzYwLDEyIEBAIGNsYXNzIEpTVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZp
ZXJQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNDOjpKU05vbkZpbmFsT2JqCiAgICAgfQogCiAg
ICAgREVDTEFSRV9JTkZPOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBKU0M6OlN1
YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyBKU0M6Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihK
U0M6OlZNJiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NI
QVJBQkxFKEpTVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXJQcm90b3R5cGUsIEJhc2UpOwor
ICAgICAgICByZXR1cm4gJnZtLnBsYWluT2JqZWN0U3BhY2U7CisgICAgfQogICAgIHN0YXRpYyBK
U0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewogICAg
ICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90
b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGlu
Zm8oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdF
eGNlcHRpb24uY3BwCmluZGV4IGIyYTk3ZTU1YmY5ODMwYjdlMzdmZjEyYmM4YWRmNGExY2JhMTYy
MmEuLjdjYjBhNzM0NDJiY2IxMjJlYjc1OTljNWYxNGZkYTczNWI3YzY0YzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0
dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCkBA
IC02MCw2ICs2MCwxMiBAQCBjbGFzcyBKU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRp
b25Qcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNDOjpKU05vbkZpbgogICAgIH0KIAogICAgIERF
Q0xBUkVfSU5GTzsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgSlNDOjpTdWJzcGFj
ZUFjY2Vzcz4KKyAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoSlNDOjpW
TSYgdm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJM
RShKU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25Qcm90b3R5cGUsIEJhc2UpOwor
ICAgICAgICByZXR1cm4gJnZtLnBsYWluT2JqZWN0U3BhY2U7CisgICAgfQogICAgIHN0YXRpYyBK
U0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewogICAg
ICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90
b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGlu
Zm8oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZp
ZXIuY3BwCmluZGV4IDlkZTlhZGZmNjZkNWM0ODgxMmNmZTg1NjczNjg2OTg2ZjI1NTVkNzkuLmRk
Y2ZmNGVlNDRhYzE4MDk4ZGUwNmYzOGY3NDRkOTRkMTFlOTBlOWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyV2l0
aElkZW50aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCkBAIC02Niw2ICs2Niwx
MiBAQCBjbGFzcyBKU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXJQcm90b3R5cGUgZmlu
YWwgOiBwdWJsaWMgSlNDOjpKU05vbkZpbmFsTwogICAgIH0KIAogICAgIERFQ0xBUkVfSU5GTzsK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgSlNDOjpTdWJzcGFjZUFjY2Vzcz4KKyAg
ICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoSlNDOjpWTSYgdm0pCisgICAg
eworICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU1Rlc3RJbmRl
eGVkU2V0dGVyV2l0aElkZW50aWZpZXJQcm90b3R5cGUsIEJhc2UpOworICAgICAgICByZXR1cm4g
JnZtLnBsYWluT2JqZWN0U3BhY2U7CisgICAgfQogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSog
Y3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewogICAgICAgICByZXR1cm4gSlND
OjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlw
ZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJm
YWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJ
bnRlcmZhY2UuY3BwCmluZGV4IDhiMzRiMmIzYTlkMmQ1ZTk0OWYyYTQ2YmIxNWMzMjg5OGU0OGEy
ZGQuLjQ1ODcyZjJhZTliODAxNjQ5ZTMwYTRhNzdlZTBhYzVmZGU1OGI3NGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJ
bnRlcmZhY2UuY3BwCkBAIC0xNzIsNiArMTcyLDEyIEBAIGNsYXNzIEpTVGVzdEludGVyZmFjZVBy
b3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU0M6OkpTTm9uRmluYWxPYmplY3QgewogICAgIH0KIAog
ICAgIERFQ0xBUkVfSU5GTzsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgSlNDOjpT
dWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3Io
SlNDOjpWTSYgdm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9T
SEFSQUJMRShKU1Rlc3RJbnRlcmZhY2VQcm90b3R5cGUsIEJhc2UpOworICAgICAgICByZXR1cm4g
JnZtLnBsYWluT2JqZWN0U3BhY2U7CisgICAgfQogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSog
Y3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewogICAgICAgICByZXR1cm4gSlND
OjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlw
ZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJm
YWNlTGVhZGluZ1VuZGVyc2NvcmUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlLmNwcAppbmRleCA2NTJh
NmEyZWJiM2U2NGZkZGQ1MGE5ZjhlN2ZjZjUwMWRhNzAxNWVlLi4xYjIwNDZiYTQ4ZTJlYmVkMGQ5
YmMwOGQ0ZmY3OWE0YTk4ZGUzMjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZh
Y2VMZWFkaW5nVW5kZXJzY29yZS5jcHAKQEAgLTYxLDYgKzYxLDEyIEBAIGNsYXNzIEpTVGVzdElu
dGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlUHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTQzo6SlNO
b25GaW5hbE9iCiAgICAgfQogCiAgICAgREVDTEFSRV9JTkZPOworICAgIHRlbXBsYXRlPHR5cGVu
YW1lIENlbGxUeXBlLCBKU0M6OlN1YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyBKU0M6Oklzb1N1
YnNwYWNlKiBzdWJzcGFjZUZvcihKU0M6OlZNJiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19B
U1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpTVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNj
b3JlUHJvdG90eXBlLCBCYXNlKTsKKyAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNl
OworICAgIH0KICAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6
OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUg
cHJvdG90eXBlKQogICAgIHsKICAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUo
dm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlw
ZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEl0ZXJhYmxlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJdGVyYWJsZS5jcHAKaW5kZXggZGYx
YzI4MDg4OWMyMDIxYWFiMmU0MzM2NmE2OTU3ZDQ3NjFmMTExNC4uNDQxNmMyMGIyYmI0ZTg5YzI2
NmNmMzIxMTI2NjkyODQxYmFkYTYxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEl0ZXJhYmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SXRlcmFibGUuY3BwCkBAIC03MSw2ICs3
MSwxMiBAQCBjbGFzcyBKU1Rlc3RJdGVyYWJsZVByb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU0M6
OkpTTm9uRmluYWxPYmplY3QgewogICAgIH0KIAogICAgIERFQ0xBUkVfSU5GTzsKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgSlNDOjpTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMg
SlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoSlNDOjpWTSYgdm0pCisgICAgeworICAgICAg
ICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU1Rlc3RJdGVyYWJsZVByb3Rv
dHlwZSwgQmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9
CiAgICAgc3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0s
IEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlw
ZSkKICAgICB7CiAgICAgICAgIHJldHVybiBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUsIFN0cnVj
dHVyZUZsYWdzKSwgaW5mbygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SlNCdWlsdGluQ29uc3RydWN0
b3IuY3BwCmluZGV4IDUyYzIwY2E0Zjg1MTM4OTU1ZDBmYzE4M2U3ZTdhNmNlZDQxNWYxNzMuLjRk
NTQyZWQ2MWNjNDM1NDgyNDlmZWU2MDdhYTExN2U5M2YyYzMyOWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RKU0J1aWx0aW5Db25zdHJ1
Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yLmNwcApAQCAtNjQsNiArNjQsMTIgQEAgY2xhc3MgSlNU
ZXN0SlNCdWlsdGluQ29uc3RydWN0b3JQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNDOjpKU05v
bkZpbmFsT2JqZWN0IHsKICAgICB9CiAKICAgICBERUNMQVJFX0lORk87CisgICAgdGVtcGxhdGU8
dHlwZW5hbWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIEpTQzo6
SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKEpTQzo6Vk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RB
VElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0SlNCdWlsdGluQ29uc3RydWN0
b3JQcm90b3R5cGUsIEJhc2UpOworICAgICAgICByZXR1cm4gJnZtLnBsYWluT2JqZWN0U3BhY2U7
CisgICAgfQogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6
Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBw
cm90b3R5cGUpCiAgICAgewogICAgICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2
bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBl
LCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lci5jcHAKaW5kZXggOTQzN2JmODJhNWE5OTAwYWI0MGVkZGU4N2ZkMzYzNTU5
OGE0MGI0Yi4uZjE1YWQ1NGVmYTQ4MzY1NzFmY2JlNDlmOTQ1Y2VhZmRmYmVhZDQ0ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcApAQCAtNjYsNiArNjYs
MTIgQEAgY2xhc3MgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZSBmaW5hbCA6
IHB1YmxpYyBKU0M6OkpTTm9uRmluYWxPYmplY3QKICAgICB9CiAKICAgICBERUNMQVJFX0lORk87
CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3BhY2VBY2Nlc3M+Cisg
ICAgc3RhdGljIEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKEpTQzo6Vk0mIHZtKQorICAg
IHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJldHVybiAmdm0u
cGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CiAgICAgc3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVh
dGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIHJldHVybiBKU0M6OlN0
cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNDOjpUeXBlSW5m
byhKU0M6Ok9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZElu
ZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHAK
aW5kZXggYjlmOWNkYWY1NTAzMjI4MTY1ZWVlODFjNzc2MDIxMjdjN2I5YTc4Ny4uMDdkMTc2ZWY3
ZmMyMGNmMGViYTlmMGNkYzU0NTg4YTVhZjYyMjUxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5v
SWRlbnRpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHAKQEAgLTYxLDYg
KzYxLDEyIEBAIGNsYXNzIEpTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllclBy
b3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU0M6OkpTTm9uCiAgICAgfQogCiAgICAgREVDTEFSRV9J
TkZPOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBKU0M6OlN1YnNwYWNlQWNjZXNz
PgorICAgIHN0YXRpYyBKU0M6Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihKU0M6OlZNJiB2bSkK
KyAgICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpTVGVz
dE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllclByb3RvdHlwZSwgQmFzZSk7CisgICAg
ICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CiAgICAgc3RhdGljIEpTQzo6
U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIEpTQzo6SlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKICAgICB7CiAgICAgICAg
IHJldHVybiBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlw
ZSwgSlNDOjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0
dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCmluZGV4IDViMmE3YmI3MGY3ZDM0MjM3ZGJhYjIyZmZk
MzJlNWYwNzVjOTk4OTIuLmFhZGQ1MjEzNmU4ZDk1MGIwMGZiZGQwMGM3ZDhhYjliZWM2ZDc1ZjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNl
dHRlclRocm93aW5nRXhjZXB0aW9uLmNwcApAQCAtNjEsNiArNjEsMTIgQEAgY2xhc3MgSlNUZXN0
TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25Qcm90b3R5cGUgZmluYWwgOiBw
dWJsaWMgSlNDOjoKICAgICB9CiAKICAgICBERUNMQVJFX0lORk87CisgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIEpTQzo6SXNv
U3Vic3BhY2UqIHN1YnNwYWNlRm9yKEpTQzo6Vk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElD
X0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVy
VGhyb3dpbmdFeGNlcHRpb25Qcm90b3R5cGUsIEJhc2UpOworICAgICAgICByZXR1cm4gJnZtLnBs
YWluT2JqZWN0U3BhY2U7CisgICAgfQogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRl
U3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewogICAgICAgICByZXR1cm4gSlNDOjpTdHJ1
Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8o
SlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRl
eGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmNw
cAppbmRleCA0YjZlYjUyZDA1ZjIzM2M2MDQ4YzFjYzY3NmE1NmViOThlYmU5ZTdjLi43MWY0YmM0
Y2NlNmZmMTlhOTViNzkzM2ZkMzFjMTE2OGMwNzc5MDM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVy
V2l0aElkZW50aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAKQEAg
LTY4LDYgKzY4LDEyIEBAIGNsYXNzIEpTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVu
dGlmaWVyUHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTQzo6SlNOCiAgICAgfQogCiAgICAgREVD
TEFSRV9JTkZPOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBKU0M6OlN1YnNwYWNl
QWNjZXNzPgorICAgIHN0YXRpYyBKU0M6Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihKU0M6OlZN
JiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxF
KEpTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyUHJvdG90eXBlLCBCYXNl
KTsKKyAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KICAgICBzdGF0
aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsK
ICAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwg
cHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3Mp
LCBpbmZvKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCmluZGV4IDlkMDFi
YmU4YWQ4YjQwMDdjYTNjMWIyMmQ3NDgxM2IzOGQyMWIzYzAuLmE5YTM0MDRhZmMyZjZjMzdiNWRh
M2MzOWNlNWU4OTRmOGFiNDEwZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5j
cHAKQEAgLTYxLDYgKzYxLDEyIEBAIGNsYXNzIEpTVGVzdE5hbWVkQ29uc3RydWN0b3JQcm90b3R5
cGUgZmluYWwgOiBwdWJsaWMgSlNDOjpKU05vbkZpbmFsT2JqZWN0IHsKICAgICB9CiAKICAgICBE
RUNMQVJFX0lORk87CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3Bh
Y2VBY2Nlc3M+CisgICAgc3RhdGljIEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKEpTQzo6
Vk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFC
TEUoSlNUZXN0TmFtZWRDb25zdHJ1Y3RvclByb3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJldHVy
biAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CiAgICAgc3RhdGljIEpTQzo6U3RydWN0dXJl
KiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIHJldHVybiBK
U0M6OlN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNDOjpU
eXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZERlbGV0ZXJOb0lkZW50aWZpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllci5jcHAKaW5kZXggYzZlNmM5
OTY2ZmQ0NmY0Y2FiNmUzN2E2ZmE3MDI2ODVjMDJkYzhkNi4uNjY1Yjg3NzdjM2Y1ZmEwNmIwNWNh
YjE0MmQwMDMxNTY4NTUwNWI1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRl
ck5vSWRlbnRpZmllci5jcHAKQEAgLTYwLDYgKzYwLDEyIEBAIGNsYXNzIEpTVGVzdE5hbWVkRGVs
ZXRlck5vSWRlbnRpZmllclByb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU0M6OkpTTm9uRmluYWxP
YmplCiAgICAgfQogCiAgICAgREVDTEFSRV9JTkZPOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIENl
bGxUeXBlLCBKU0M6OlN1YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyBKU0M6Oklzb1N1YnNwYWNl
KiBzdWJzcGFjZUZvcihKU0M6OlZNJiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRf
SVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpTVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllclByb3Rv
dHlwZSwgQmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9
CiAgICAgc3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0s
IEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlw
ZSkKICAgICB7CiAgICAgICAgIHJldHVybiBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUsIFN0cnVj
dHVyZUZsYWdzKSwgaW5mbygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxl
dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCmluZGV4IDg4ZjQ1MGE2M2U5YWZiMTE1Y2FiNTY0ZTFm
OGU0ZTAyZTI0NzUzOTMuLmNjMDJhYWU0MjVjNmU1MjhlNzMyZDc0ZDM5ZDM1NGUxMDYzOTk5ZmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0
aW9uLmNwcApAQCAtNjAsNiArNjAsMTIgQEAgY2xhc3MgSlNUZXN0TmFtZWREZWxldGVyVGhyb3dp
bmdFeGNlcHRpb25Qcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNDOjpKU05vbkZpbmEKICAgICB9
CiAKICAgICBERUNMQVJFX0lORk87CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIEpT
Qzo6U3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNl
Rm9yKEpTQzo6Vk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BB
Q0VfU0hBUkFCTEUoSlNUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb25Qcm90b3R5cGUs
IEJhc2UpOworICAgICAgICByZXR1cm4gJnZtLnBsYWluT2JqZWN0U3BhY2U7CisgICAgfQogICAg
IHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6
OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAg
ICAgewogICAgICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2Jq
ZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVG
bGFncyksIGluZm8oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJ
ZGVudGlmaWVyLmNwcAppbmRleCA1ZDNlZmFkNWIzZjk0YzliZjY5MmE2YTNkNDkyMzdmODljN2Qw
OGVlLi5iZmRjZmI1ODA3ZGYzZTlhMWFmZGYxMzk4OTZjNWUzNDE4ZjE1OTgzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxl
dGVyV2l0aElkZW50aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllci5jcHAKQEAgLTY1LDYg
KzY1LDEyIEBAIGNsYXNzIEpTVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyUHJvdG90eXBl
IGZpbmFsIDogcHVibGljIEpTQzo6SlNOb25GaW5hbE9iCiAgICAgfQogCiAgICAgREVDTEFSRV9J
TkZPOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBKU0M6OlN1YnNwYWNlQWNjZXNz
PgorICAgIHN0YXRpYyBKU0M6Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihKU0M6OlZNJiB2bSkK
KyAgICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpTVGVz
dE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyUHJvdG90eXBlLCBCYXNlKTsKKyAgICAgICAgcmV0
dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KICAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1
cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsKICAgICAgICAgcmV0dXJu
IEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6
OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5h
bWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlci5jcHAK
aW5kZXggMmJlZTkxMWQ1ZWU2ODUyMTUyMWNhMmEwNmY3ODY4NTRjMjIxY2UxOC4uNmY3YmZlODZj
OWRjODg5NjZiMWRmODRkODc5Yzg2MmJlZTMxNzMwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVk
R2V0dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIuY3BwCkBAIC02MSw2ICs2MSwxMiBA
QCBjbGFzcyBKU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlclByb3RvdHlwZSBmaW5h
bCA6IHB1YmxpYyBKU0M6OkpTTm9uRmluYQogICAgIH0KIAogICAgIERFQ0xBUkVfSU5GTzsKKyAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgSlNDOjpTdWJzcGFjZUFjY2Vzcz4KKyAgICBz
dGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoSlNDOjpWTSYgdm0pCisgICAgewor
ICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU1Rlc3ROYW1lZERl
bGV0ZXJXaXRoSW5kZXhlZEdldHRlclByb3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJldHVybiAm
dm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CiAgICAgc3RhdGljIEpTQzo6U3RydWN0dXJlKiBj
cmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIHJldHVybiBKU0M6
OlN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNDOjpUeXBl
SW5mbyhKU0M6Ok9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdl
dHRlckNhbGxXaXRoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROYW1lZEdldHRlckNhbGxXaXRoLmNwcAppbmRleCA2NzQ5NGVjYmNiZWU3MjVkNDQ3
MjQzMmMzN2Q2MGRmZWNjNDNjYjk2Li4zY2QyOWEyZmFlMjhjZmQ4OTJlMjBkNjAzYThiNmNlZjU4
M2I2ODU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGguY3BwCkBAIC02
MCw2ICs2MCwxMiBAQCBjbGFzcyBKU1Rlc3ROYW1lZEdldHRlckNhbGxXaXRoUHJvdG90eXBlIGZp
bmFsIDogcHVibGljIEpTQzo6SlNOb25GaW5hbE9iamVjdCB7CiAgICAgfQogCiAgICAgREVDTEFS
RV9JTkZPOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBKU0M6OlN1YnNwYWNlQWNj
ZXNzPgorICAgIHN0YXRpYyBKU0M6Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihKU0M6OlZNJiB2
bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpT
VGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGhQcm90b3R5cGUsIEJhc2UpOworICAgICAgICByZXR1cm4g
JnZtLnBsYWluT2JqZWN0U3BhY2U7CisgICAgfQogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSog
Y3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewogICAgICAgICByZXR1cm4gSlND
OjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlw
ZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRH
ZXR0ZXJOb0lkZW50aWZpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyLmNwcAppbmRleCBlYWIxNWNkODkz
YzljMTBiMGQ3ZTY0OGIyZGRmNzFkMWM4ZTMzZDQ4Li5kNDE2ZDA0ZWNhYjU2MWY0MjBjYTk0NDA3
ZTc2Yjc4MDUxMTJhMjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlck5vSWRl
bnRpZmllci5jcHAKQEAgLTYwLDYgKzYwLDEyIEBAIGNsYXNzIEpTVGVzdE5hbWVkR2V0dGVyTm9J
ZGVudGlmaWVyUHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTQzo6SlNOb25GaW5hbE9iamVjCiAg
ICAgfQogCiAgICAgREVDTEFSRV9JTkZPOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBl
LCBKU0M6OlN1YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyBKU0M6Oklzb1N1YnNwYWNlKiBzdWJz
cGFjZUZvcihKU0M6OlZNJiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNPX1NV
QlNQQUNFX1NIQVJBQkxFKEpTVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyUHJvdG90eXBlLCBC
YXNlKTsKKyAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KICAgICBz
dGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogICAg
IHsKICAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVj
dCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxh
Z3MpLCBpbmZvKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50
aWZpZXIuY3BwCmluZGV4IDlmM2YzMjI2MjQ1Yzk1MjIwZjc1Y2ZlODAzOWE3N2E5YmQ4OWJiYmEu
LmEzOThiNDU1ZjZhZmNkOTg3MzIxNGU3ZjFiMGU0NWI1Y2Y1NDgxYTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlcldp
dGhJZGVudGlmaWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAKQEAgLTY1LDYgKzY1LDEy
IEBAIGNsYXNzIEpTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXJQcm90b3R5cGUgZmluYWwg
OiBwdWJsaWMgSlNDOjpKU05vbkZpbmFsT2JqCiAgICAgfQogCiAgICAgREVDTEFSRV9JTkZPOwor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBKU0M6OlN1YnNwYWNlQWNjZXNzPgorICAg
IHN0YXRpYyBKU0M6Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihKU0M6OlZNJiB2bSkKKyAgICB7
CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpTVGVzdE5hbWVk
R2V0dGVyV2l0aElkZW50aWZpZXJQcm90b3R5cGUsIEJhc2UpOworICAgICAgICByZXR1cm4gJnZt
LnBsYWluT2JqZWN0U3BhY2U7CisgICAgfQogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3Jl
YXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewogICAgICAgICByZXR1cm4gSlNDOjpT
dHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUlu
Zm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0
ZXJOb0lkZW50aWZpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcAppbmRleCBjNzU2NjkwYTQ5NjZm
ODgzZjRlZDE1Y2NlYjEzMzBkZWUwOGExNzdhLi45ZTA3MmNlNDNiMzBiODcyMGNmYmM2NDM5N2Yw
MjNiODQ0NDFiMDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlck5vSWRlbnRp
Zmllci5jcHAKQEAgLTYwLDYgKzYwLDEyIEBAIGNsYXNzIEpTVGVzdE5hbWVkU2V0dGVyTm9JZGVu
dGlmaWVyUHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTQzo6SlNOb25GaW5hbE9iamVjCiAgICAg
fQogCiAgICAgREVDTEFSRV9JTkZPOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBK
U0M6OlN1YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyBKU0M6Oklzb1N1YnNwYWNlKiBzdWJzcGFj
ZUZvcihKU0M6OlZNJiB2bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQ
QUNFX1NIQVJBQkxFKEpTVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyUHJvdG90eXBlLCBCYXNl
KTsKKyAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KICAgICBzdGF0
aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsK
ICAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwg
cHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3Mp
LCBpbmZvKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdF
eGNlcHRpb24uY3BwCmluZGV4IGUzYmUwY2JiZGYwZDY1OTUyYzBlMDE2NWM2NDY3NTE5N2IyYWJm
YzQuLjRiNDUzZjAyNmUyZjRkM2ZiYjdhMmI2ODJkN2RjZDY3NmMzNDhjNTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRl
clRocm93aW5nRXhjZXB0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAKQEAgLTYw
LDYgKzYwLDEyIEBAIGNsYXNzIEpTVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25Qcm90
b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNDOjpKU05vbkZpbmFsCiAgICAgfQogCiAgICAgREVDTEFS
RV9JTkZPOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBKU0M6OlN1YnNwYWNlQWNj
ZXNzPgorICAgIHN0YXRpYyBKU0M6Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihKU0M6OlZNJiB2
bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpT
VGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25Qcm90b3R5cGUsIEJhc2UpOworICAgICAg
ICByZXR1cm4gJnZtLnBsYWluT2JqZWN0U3BhY2U7CisgICAgfQogICAgIHN0YXRpYyBKU0M6OlN0
cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewogICAgICAgICBy
ZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUs
IEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAKaW5k
ZXggZTE3YjE2MGRiMTQ0YjRhNmZiZWQ3ZGJkODJjNWIyZGRiMzIxZWUyMy4uYWZiOWFlNWRjOGFm
NzJlZGUzMTY2ZGQyMjBhZDVjODU3N2Q3ZTc0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RO
YW1lZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcApAQCAtNjUsNiArNjUsMTIgQEAgY2xhc3MgSlNU
ZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllclByb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU0M6
OkpTTm9uRmluYWxPYmoKICAgICB9CiAKICAgICBERUNMQVJFX0lORk87CisgICAgdGVtcGxhdGU8
dHlwZW5hbWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIEpTQzo6
SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKEpTQzo6Vk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RB
VElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSWRl
bnRpZmllclByb3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RT
cGFjZTsKKyAgICB9CiAgICAgc3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUo
SlNDOjpWTSYgdm0sIEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU1Zh
bHVlIHByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIHJldHVybiBKU0M6OlN0cnVjdHVyZTo6Y3Jl
YXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhKU0M6Ok9iamVj
dFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVk
R2V0dGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyLmNwcAppbmRleCBiN2Q3ZmJkMmEwZDYwZDRk
NDYyMjU5Nzk1MzU1MWYwMTZmMmJjNWMzLi4zOTM5ZmFjODgyMDBmNGU5MmNhNjIwOTYzNWYyMzhi
MWM4ZjEyYmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aElu
ZGV4ZWRHZXR0ZXIuY3BwCkBAIC02OCw2ICs2OCwxMiBAQCBjbGFzcyBKU1Rlc3ROYW1lZFNldHRl
cldpdGhJbmRleGVkR2V0dGVyUHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTQzo6SlNOb25GaW5h
bAogICAgIH0KIAogICAgIERFQ0xBUkVfSU5GTzsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxs
VHlwZSwgSlNDOjpTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSog
c3Vic3BhY2VGb3IoSlNDOjpWTSYgdm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lT
T19TVUJTUEFDRV9TSEFSQUJMRShKU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyUHJv
dG90eXBlLCBCYXNlKTsKKyAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAg
IH0KICAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2
bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90
eXBlKQogICAgIHsKICAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGds
b2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3Ry
dWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRT
ZXR0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXIuY3BwCmluZGV4IGY1OWZkOTJl
MTAxZGFjYmEwNGYzZDc4ZWE2YjhjNGNiZDMyOTliMjguLjQyNjRkMTYwNmNmNjk3ZjBhNWY3MTdh
YjBkZTdhZGQxMTRhN2JiMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlci5jcHAKQEAgLTY4LDYgKzY4LDEy
IEBAIGNsYXNzIEpTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXJQcm90
b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNDOjpKCiAgICAgfQogCiAgICAgREVDTEFSRV9JTkZPOwor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBKU0M6OlN1YnNwYWNlQWNjZXNzPgorICAg
IHN0YXRpYyBKU0M6Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihKU0M6OlZNJiB2bSkKKyAgICB7
CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpTVGVzdE5hbWVk
U2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXJQcm90b3R5cGUsIEJhc2UpOworICAgICAg
ICByZXR1cm4gJnZtLnBsYWluT2JqZWN0U3BhY2U7CisgICAgfQogICAgIHN0YXRpYyBKU0M6OlN0
cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewogICAgICAgICBy
ZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUs
IEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWRTZXR0ZXJXaXRoT3ZlcnJpZGVCdWlsdGlucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoT3ZlcnJpZGVCdWls
dGlucy5jcHAKaW5kZXggOTVjZDJkYWQ1OTljNDViZTY4M2Q5YzVmZDk2NjU1NDMwYTcwNmVjNS4u
MzhhMWI2ZTNiNWFhYzU2M2U3NjExYTgxYjczMGY3NmU2YzNhMTQwZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0
aE92ZXJyaWRlQnVpbHRpbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhPdmVycmlkZUJ1aWx0aW5zLmNwcApAQCAt
NjAsNiArNjAsMTIgQEAgY2xhc3MgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoT3ZlcnJpZGVCdWlsdGlu
c1Byb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU0M6OkpTTm9uRmkKICAgICB9CiAKICAgICBERUNM
QVJFX0lORk87CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3BhY2VB
Y2Nlc3M+CisgICAgc3RhdGljIEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKEpTQzo6Vk0m
IHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUo
SlNUZXN0TmFtZWRTZXR0ZXJXaXRoT3ZlcnJpZGVCdWlsdGluc1Byb3RvdHlwZSwgQmFzZSk7Cisg
ICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CiAgICAgc3RhdGljIEpT
Qzo6U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIEpTQzo6SlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKICAgICB7CiAgICAg
ICAgIHJldHVybiBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3Rv
dHlwZSwgSlNDOjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5m
bygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxlUHJvcGVydGllcy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoVW5m
b3JnYWJsZVByb3BlcnRpZXMuY3BwCmluZGV4IDQxZmUxMTNiMTAxYjRkNzhmZTYwYmI0NmZiYTE4
YmExOTBiNDk0N2MuLjMwNjA5OGQxM2YxMGE4ZDFjMTI3NDcxZGFkYWYwOTM4OTdmNzM4MjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RO
YW1lZFNldHRlcldpdGhVbmZvcmdhYmxlUHJvcGVydGllcy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2Fi
bGVQcm9wZXJ0aWVzLmNwcApAQCAtNjcsNiArNjcsMTIgQEAgY2xhc3MgSlNUZXN0TmFtZWRTZXR0
ZXJXaXRoVW5mb3JnYWJsZVByb3BlcnRpZXNQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNDOjpK
U04KICAgICB9CiAKICAgICBERUNMQVJFX0lORk87CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2Vs
bFR5cGUsIEpTQzo6U3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIEpTQzo6SXNvU3Vic3BhY2Uq
IHN1YnNwYWNlRm9yKEpTQzo6Vk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9J
U09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0TmFtZWRTZXR0ZXJXaXRoVW5mb3JnYWJsZVByb3Bl
cnRpZXNQcm90b3R5cGUsIEJhc2UpOworICAgICAgICByZXR1cm4gJnZtLnBsYWluT2JqZWN0U3Bh
Y2U7CisgICAgfQogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpT
Qzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1
ZSBwcm90b3R5cGUpCiAgICAgewogICAgICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0
ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RU
eXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoVW5mb3JnYWJs
ZVByb3BlcnRpZXNBbmRPdmVycmlkZUJ1aWx0aW5zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxlUHJvcGVy
dGllc0FuZE92ZXJyaWRlQnVpbHRpbnMuY3BwCmluZGV4IDQ3MGUwYzczODBkZjJjNThlNzA0ZGFj
YTNiNGIyZWRkZDBiNzkzYjYuLjQ3YjFlN2RiZDA4ZmVlYzI3Njc5N2M5Y2QxNDU4OWFiODIwODVm
ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxlUHJvcGVydGllc0FuZE92ZXJyaWRlQnVpbHRp
bnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxlUHJvcGVydGllc0FuZE92ZXJyaWRlQnVpbHRpbnMu
Y3BwCkBAIC02Nyw2ICs2NywxMiBAQCBjbGFzcyBKU1Rlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdh
YmxlUHJvcGVydGllc0FuZE92ZXJyaWRlQnVpbHRpbnNQcm90b3R5cGUgZmluYQogICAgIH0KIAog
ICAgIERFQ0xBUkVfSU5GTzsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgSlNDOjpT
dWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3Io
SlNDOjpWTSYgdm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9T
SEFSQUJMRShKU1Rlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxlUHJvcGVydGllc0FuZE92ZXJy
aWRlQnVpbHRpbnNQcm90b3R5cGUsIEJhc2UpOworICAgICAgICByZXR1cm4gJnZtLnBsYWluT2Jq
ZWN0U3BhY2U7CisgICAgfQogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0
dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6
SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewogICAgICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6
OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpP
YmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAKaW5kZXggNjFl
ZjRiNjU0OTAzMGMyN2U4NTUxMmZhMWFiNDFkOGRmZmNiMTg1OS4uZmFiOTU0MDdjMTRlYTkyN2Fm
ODhjNDg4ZTUyNzg2YjNhMWQ4YmMzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcApAQCAtODUsNiArODUsMTIgQEAg
Y2xhc3MgSlNUZXN0Tm9kZVByb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU0M6OkpTTm9uRmluYWxP
YmplY3QgewogICAgIH0KIAogICAgIERFQ0xBUkVfSU5GTzsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBDZWxsVHlwZSwgSlNDOjpTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSlNDOjpJc29TdWJz
cGFjZSogc3Vic3BhY2VGb3IoSlNDOjpWTSYgdm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNT
RVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU1Rlc3ROb2RlUHJvdG90eXBlLCBCYXNlKTsKKyAg
ICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KICAgICBzdGF0aWMgSlND
OjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsKICAgICAg
ICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90
eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZv
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0T2JqLmNwcAppbmRleCBlZmIyOGY5MjIxNWVmMzVmOGI2ZjJjZWNjYTc3Mjc5OWI0NmJi
MGM4Li5jMjJlMDMyMTgwY2NhNjUxZGQ1NjNkZDk4NDI2ZWQ4ZDYwN2IxNWZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNw
cApAQCAtMTgxOSw2ICsxODE5LDEyIEBAIGNsYXNzIEpTVGVzdE9ialByb3RvdHlwZSBmaW5hbCA6
IHB1YmxpYyBKU0M6OkpTTm9uRmluYWxPYmplY3QgewogICAgIH0KIAogICAgIERFQ0xBUkVfSU5G
TzsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgSlNDOjpTdWJzcGFjZUFjY2Vzcz4K
KyAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoSlNDOjpWTSYgdm0pCisg
ICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU1Rlc3RP
YmpQcm90b3R5cGUsIEJhc2UpOworICAgICAgICByZXR1cm4gJnZtLnBsYWluT2JqZWN0U3BhY2U7
CisgICAgfQogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6
Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBw
cm90b3R5cGUpCiAgICAgewogICAgICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2
bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBl
LCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9ycy5jcHAKaW5kZXggOTJmN2NjOTE3MDA1MTAwNjQzNmQ4ODBiZTI1ODQyYTU3
NmZjYjRjYS4uMjRmZmZlYmI1NzZjOWE1N2Y3NDVlMjk5NTYwZmY1NjEyZmRkOWJiZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcApAQCAtNjQsNiArNjQs
MTIgQEAgY2xhc3MgSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1Byb3RvdHlwZSBmaW5hbCA6
IHB1YmxpYyBKU0M6OkpTTm9uRmluYWxPYmplY3QKICAgICB9CiAKICAgICBERUNMQVJFX0lORk87
CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3BhY2VBY2Nlc3M+Cisg
ICAgc3RhdGljIEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKEpTQzo6Vk0mIHZtKQorICAg
IHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9yc1Byb3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJldHVybiAmdm0u
cGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CiAgICAgc3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVh
dGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIHJldHVybiBKU0M6OlN0
cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNDOjpUeXBlSW5m
byhKU0M6Ok9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmNw
cAppbmRleCAxMjg1NTgwMjAwZTM4ZjkwYWMyOTEzMDFkNzc2Njc1Nzg2ZTQyY2Y1Li45YmI5YzFh
NGMzZmQ1MmY5YzQ2MmQyNTQ0MTc4YzkxMjFlNWU4MjhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9y
c1dpdGhTZXF1ZW5jZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuY3BwCkBAIC02
Myw2ICs2MywxMiBAQCBjbGFzcyBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVl
bmNlUHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTQzo6SlNObwogICAgIH0KIAogICAgIERFQ0xB
UkVfSU5GTzsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgSlNDOjpTdWJzcGFjZUFj
Y2Vzcz4KKyAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoSlNDOjpWTSYg
dm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShK
U1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlUHJvdG90eXBlLCBCYXNlKTsK
KyAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KICAgICBzdGF0aWMg
SlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsKICAg
ICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJv
dG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBp
bmZvKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE92ZXJyaWRlQnVpbHRpbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJyaWRlQnVpbHRpbnMuY3BwCmluZGV4IDNhYTU1ZWNm
MTNlN2YyYWY5ZWRkMzZjODFmNWRhYTQzYTk1ODVlNDYuLmYzZjJhNjdhZGFlY2EzOTI0ZWQwM2Iy
MWQxNDRiNDc4NWI3N2Y2MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5zLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcnJpZGVCdWlsdGlucy5jcHAK
QEAgLTY4LDYgKzY4LDEyIEBAIGNsYXNzIEpTVGVzdE92ZXJyaWRlQnVpbHRpbnNQcm90b3R5cGUg
ZmluYWwgOiBwdWJsaWMgSlNDOjpKU05vbkZpbmFsT2JqZWN0IHsKICAgICB9CiAKICAgICBERUNM
QVJFX0lORk87CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3BhY2VB
Y2Nlc3M+CisgICAgc3RhdGljIEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKEpTQzo6Vk0m
IHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUo
SlNUZXN0T3ZlcnJpZGVCdWlsdGluc1Byb3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJldHVybiAm
dm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CiAgICAgc3RhdGljIEpTQzo6U3RydWN0dXJlKiBj
cmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIHJldHVybiBKU0M6
OlN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNDOjpUeXBl
SW5mbyhKU0M6Ok9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQbHVnaW5J
bnRlcmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFBsdWdpbkludGVyZmFjZS5jcHAKaW5kZXggMGE0YzU1NWViZDY2NGQxM2E1OTgzNDAwY2M3
OGNkMDBkZDA4ZTdiMy4uNzQzMjQ2MDk5YWExYjg3MmViZjQ2MzFhMGZkZTNiOGEzNGRkYjQyMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFBsdWdpbkludGVyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdFBsdWdpbkludGVyZmFjZS5jcHAKQEAgLTU5LDYgKzU5LDEyIEBAIGNs
YXNzIEpTVGVzdFBsdWdpbkludGVyZmFjZVByb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU0M6OkpT
Tm9uRmluYWxPYmplY3QgewogICAgIH0KIAogICAgIERFQ0xBUkVfSU5GTzsKKyAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBDZWxsVHlwZSwgSlNDOjpTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSlND
OjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoSlNDOjpWTSYgdm0pCisgICAgeworICAgICAgICBT
VEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU1Rlc3RQbHVnaW5JbnRlcmZhY2VQ
cm90b3R5cGUsIEJhc2UpOworICAgICAgICByZXR1cm4gJnZtLnBsYWluT2JqZWN0U3BhY2U7Cisg
ICAgfQogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0m
IHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90
b3R5cGUpCiAgICAgewogICAgICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwg
Z2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBT
dHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0
aW9uRXZlbnQuY3BwCmluZGV4IDMyYTIxNThlOTJjNzQ1ZDExMmI1MzUxZjczYzNiYmYyNjA1NWYx
NzYuLjJmYzNiYTI2OWZlOTg5ZWJhMjU3YzBhMmY3ZDE0MTEzOTQ5MGY0MmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVq
ZWN0aW9uRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwCkBAIC0xNDMsNiArMTQzLDEyIEBA
IGNsYXNzIEpTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudFByb3RvdHlwZSBmaW5hbCA6IHB1Ymxp
YyBKU0M6OkpTTm9uRmluYWxPYmplY3QKICAgICB9CiAKICAgICBERUNMQVJFX0lORk87CisgICAg
dGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3BhY2VBY2Nlc3M+CisgICAgc3Rh
dGljIEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKEpTQzo6Vk0mIHZtKQorICAgIHsKKyAg
ICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0UHJvbWlzZVJl
amVjdGlvbkV2ZW50UHJvdG90eXBlLCBCYXNlKTsKKyAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9i
amVjdFNwYWNlOworICAgIH0KICAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVj
dHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6
OkpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsKICAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJl
OjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6
T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6YXRpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6
YXRpb24uY3BwCmluZGV4IDMzNTRmOWRkZDE3YjMwMTdkMjZmMjU2NTY3ZjNiYjgxOWY2NjY5ZjQu
Ljg4YjM5ZTIzZDFkYjlhNmZlZDYyZmY1MjY4MWFmYjhhN2EwNmNiNTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
U2VyaWFsaXphdGlvbi5jcHAKQEAgLTEwMCw2ICsxMDAsMTIgQEAgY2xhc3MgSlNUZXN0U2VyaWFs
aXphdGlvblByb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU0M6OkpTTm9uRmluYWxPYmplY3Qgewog
ICAgIH0KIAogICAgIERFQ0xBUkVfSU5GTzsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlw
ZSwgSlNDOjpTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vi
c3BhY2VGb3IoSlNDOjpWTSYgdm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19T
VUJTUEFDRV9TSEFSQUJMRShKU1Rlc3RTZXJpYWxpemF0aW9uUHJvdG90eXBlLCBCYXNlKTsKKyAg
ICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KICAgICBzdGF0aWMgSlND
OjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsKICAgICAg
ICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90
eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZv
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFNlcmlhbGl6YXRpb25JbmRpcmVjdEluaGVyaXRhbmNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemF0aW9uSW5kaXJlY3RJ
bmhlcml0YW5jZS5jcHAKaW5kZXggMjEzZDgzYTBiYjNlOGQ3ZmVjMGRmMWJjY2I0NWRhMTVhOTY4
YzRlYS4uYmQzNTI5NGE3ZTJkOGFjM2ViMDk0M2I2ZWQwNDMwNzkxN2Q4NmEwNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6
YXRpb25JbmRpcmVjdEluaGVyaXRhbmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXphdGlvbkluZGlyZWN0SW5oZXJpdGFuY2Uu
Y3BwCkBAIC01Nyw2ICs1NywxMiBAQCBjbGFzcyBKU1Rlc3RTZXJpYWxpemF0aW9uSW5kaXJlY3RJ
bmhlcml0YW5jZVByb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU0M6OkpTTm9uRgogICAgIH0KIAog
ICAgIERFQ0xBUkVfSU5GTzsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgSlNDOjpT
dWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3Io
SlNDOjpWTSYgdm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9T
SEFSQUJMRShKU1Rlc3RTZXJpYWxpemF0aW9uSW5kaXJlY3RJbmhlcml0YW5jZVByb3RvdHlwZSwg
QmFzZSk7CisgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CiAgICAg
c3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIEpTQzo6
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKICAg
ICB7CiAgICAgICAgIHJldHVybiBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QsIHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUsIFN0cnVjdHVyZUZs
YWdzKSwgaW5mbygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemF0aW9uSW5oZXJpdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXphdGlvbkluaGVyaXQuY3Bw
CmluZGV4IGUyNDRiMTRhYjk5NjM1OWY4YjI4OTA3MmU5ZmIwZTA1MmU4M2ZiYTcuLjE5ZjBiNGQw
MzkyZGI4YzJjNDU2MmM0MDQzMGIwMjQ1MzcwNmU3NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemF0aW9uSW5oZXJpdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNl
cmlhbGl6YXRpb25Jbmhlcml0LmNwcApAQCAtNjcsNiArNjcsMTIgQEAgY2xhc3MgSlNUZXN0U2Vy
aWFsaXphdGlvbkluaGVyaXRQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNDOjpKU05vbkZpbmFs
T2JqZWN0IHsKICAgICB9CiAKICAgICBERUNMQVJFX0lORk87CisgICAgdGVtcGxhdGU8dHlwZW5h
bWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIEpTQzo6SXNvU3Vi
c3BhY2UqIHN1YnNwYWNlRm9yKEpTQzo6Vk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FT
U0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0U2VyaWFsaXphdGlvbkluaGVyaXRQcm90
b3R5cGUsIEJhc2UpOworICAgICAgICByZXR1cm4gJnZtLnBsYWluT2JqZWN0U3BhY2U7CisgICAg
fQogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZt
LCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5
cGUpCiAgICAgewogICAgICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xv
YmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1
Y3R1cmVGbGFncyksIGluZm8oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXphdGlvbkluaGVyaXRGaW5hbC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXphdGlv
bkluaGVyaXRGaW5hbC5jcHAKaW5kZXggYWJiMWFmNzc3MmVjM2E5NzQzN2ZlNWEwN2E5YjNhMWNl
ODliY2NjOS4uNjQ0MTc2YmM0MTEwNTJlNDA0ZWFhNmYzM2Q2NTliNDM3YjBhNWFlNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlh
bGl6YXRpb25Jbmhlcml0RmluYWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemF0aW9uSW5oZXJpdEZpbmFsLmNwcApAQCAtNjks
NiArNjksMTIgQEAgY2xhc3MgSlNUZXN0U2VyaWFsaXphdGlvbkluaGVyaXRGaW5hbFByb3RvdHlw
ZSBmaW5hbCA6IHB1YmxpYyBKU0M6OkpTTm9uRmluYWxPYmoKICAgICB9CiAKICAgICBERUNMQVJF
X0lORk87CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3BhY2VBY2Nl
c3M+CisgICAgc3RhdGljIEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKEpTQzo6Vk0mIHZt
KQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNU
ZXN0U2VyaWFsaXphdGlvbkluaGVyaXRGaW5hbFByb3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJl
dHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CiAgICAgc3RhdGljIEpTQzo6U3RydWN0
dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIEpTQzo6SlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIHJldHVy
biBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlND
OjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RT
ZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5j
cHAKaW5kZXggYzJiNmIyNWM5YmZjMGEyNjdmNzAyMzY5ZTliOGQwZTY1MzI2YjAzNC4uMjIyNjZk
ZGQ0YWQ2ZTAxZDVkNWVlYzhkOWMyNDIzNWE3ZDhhOTFmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKQEAgLTgyLDYgKzgy
LDEyIEBAIGNsYXNzIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVByb3RvdHlw
ZSBmaW5hbCA6IHB1YmxpYyBKU0M6OkpTTm9uRmluCiAgICAgfQogCiAgICAgREVDTEFSRV9JTkZP
OworICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBKU0M6OlN1YnNwYWNlQWNjZXNzPgor
ICAgIHN0YXRpYyBKU0M6Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihKU0M6OlZNJiB2bSkKKyAg
ICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpTVGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVByb3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJl
dHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CiAgICAgc3RhdGljIEpTQzo6U3RydWN0
dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIEpTQzo6SlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIHJldHVy
biBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlND
OjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RT
dHJpbmdpZmllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0U3RyaW5naWZpZXIuY3BwCmluZGV4IDZlNmU3OWMzNmFlMTdhZjEzNGM2ZmQ5YjI3MjY1
N2ZkZmU3M2Y0MDkuLjZjYTJkZTU2ZTc0MTkzMDQ4ZDJlY2UyYmUyMmIyMTYwY2M1M2Y2ODUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RT
dHJpbmdpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFN0cmluZ2lmaWVyLmNwcApAQCAtNjQsNiArNjQsMTIgQEAgY2xhc3MgSlNUZXN0
U3RyaW5naWZpZXJQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNDOjpKU05vbkZpbmFsT2JqZWN0
IHsKICAgICB9CiAKICAgICBERUNMQVJFX0lORk87CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2Vs
bFR5cGUsIEpTQzo6U3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIEpTQzo6SXNvU3Vic3BhY2Uq
IHN1YnNwYWNlRm9yKEpTQzo6Vk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9J
U09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0U3RyaW5naWZpZXJQcm90b3R5cGUsIEJhc2UpOwor
ICAgICAgICByZXR1cm4gJnZtLnBsYWluT2JqZWN0U3BhY2U7CisgICAgfQogICAgIHN0YXRpYyBK
U0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewogICAg
ICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90
b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGlu
Zm8oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3Bl
cmF0aW9uLmNwcAppbmRleCBlOWUxZDhiNjRjYmFlZGU0YTFlZGViN2VlZjgyYjRiNzNhMmE1MGNl
Li4yMGZkMDZmMGZkMDY1NzljMTJkYzY2NDIxMWM5YTU5ZmQ1MDY4MDVjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJB
bm9ueW1vdXNPcGVyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbi5jcHAKQEAgLTY0
LDYgKzY0LDEyIEBAIGNsYXNzIEpTVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uUHJv
dG90eXBlIGZpbmFsIDogcHVibGljIEpTQzo6SlNOb25GaW5hCiAgICAgfQogCiAgICAgREVDTEFS
RV9JTkZPOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBKU0M6OlN1YnNwYWNlQWNj
ZXNzPgorICAgIHN0YXRpYyBKU0M6Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihKU0M6OlZNJiB2
bSkKKyAgICB7CisgICAgICAgIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpT
VGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uUHJvdG90eXBlLCBCYXNlKTsKKyAgICAg
ICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOworICAgIH0KICAgICBzdGF0aWMgSlNDOjpT
dHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsKICAgICAgICAg
cmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBl
LCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24uY3BwCmlu
ZGV4IDI4NzI0YTEzOWI3MGUwY2ZlNDUyMjA1YjE2MTE3MmY4ZjViYTVlMjguLjg5OWY0NzE2MzA2
MzFlMTlhODgzNTg1ZWFjM2RkMDU5ODllNDZiZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbi5jcHAKQEAgLTY1LDYgKzY1LDEyIEBAIGNsYXNzIEpT
VGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb25Qcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlND
OjpKU05vbkZpbmFsT2JqCiAgICAgfQogCiAgICAgREVDTEFSRV9JTkZPOworICAgIHRlbXBsYXRl
PHR5cGVuYW1lIENlbGxUeXBlLCBKU0M6OlN1YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyBKU0M6
Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihKU0M6OlZNJiB2bSkKKyAgICB7CisgICAgICAgIFNU
QVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpTVGVzdFN0cmluZ2lmaWVyTmFtZWRP
cGVyYXRpb25Qcm90b3R5cGUsIEJhc2UpOworICAgICAgICByZXR1cm4gJnZtLnBsYWluT2JqZWN0
U3BhY2U7CisgICAgfQogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJl
KEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNW
YWx1ZSBwcm90b3R5cGUpCiAgICAgewogICAgICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNy
ZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmpl
Y3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25J
bXBsZW1lbnRlZEFzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXMuY3BwCmluZGV4IDQzOTY0
Mjg4ZjU3NDRhZmVlMWIzY2RmYjc4OWI3MTI0NWYwNzIyM2QuLjk2NmJkZjJhZjlhOTM5ZGIxMGQ3
NTFiNDViMzEzMWFiOWUyZTllZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RT
dHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXMuY3BwCkBAIC02NSw2ICs2NSwxMiBAQCBj
bGFzcyBKU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXNQcm90b3R5cGUgZmlu
YWwgOiBwdWJsaWMgSlNDOjpKU05vbgogICAgIH0KIAogICAgIERFQ0xBUkVfSU5GTzsKKyAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgSlNDOjpTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0
aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoSlNDOjpWTSYgdm0pCisgICAgeworICAg
ICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU1Rlc3RTdHJpbmdpZmll
ck9wZXJhdGlvbkltcGxlbWVudGVkQXNQcm90b3R5cGUsIEJhc2UpOworICAgICAgICByZXR1cm4g
JnZtLnBsYWluT2JqZWN0U3BhY2U7CisgICAgfQogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSog
Y3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewogICAgICAgICByZXR1cm4gSlND
OjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlw
ZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5n
aWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmcu
Y3BwCmluZGV4IGZkNTcxOTM4Mjc0NTVhZWQ5MTFkMDZmMWI3OWFhMGMzNWZmOWIzYTMuLmY2YjA0
MDY4ZmNmMjcxY2Q4ZjA1NjU0NjM1ZGNiMzA2YTkyMzZhNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlv
bk5hbWVkVG9TdHJpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmcuY3BwCkBAIC02
NCw2ICs2NCwxMiBAQCBjbGFzcyBKU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJp
bmdQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNDOjpKU05vbgogICAgIH0KIAogICAgIERFQ0xB
UkVfSU5GTzsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgSlNDOjpTdWJzcGFjZUFj
Y2Vzcz4KKyAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoSlNDOjpWTSYg
dm0pCisgICAgeworICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShK
U1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmdQcm90b3R5cGUsIEJhc2UpOwor
ICAgICAgICByZXR1cm4gJnZtLnBsYWluT2JqZWN0U3BhY2U7CisgICAgfQogICAgIHN0YXRpYyBK
U0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewogICAg
ICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90
b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGlu
Zm8oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJp
YnV0ZS5jcHAKaW5kZXggZGM0NTMzNzE2MDUxY2VhNDNlYjc1YzEwZjQ0MTkzNjVmYjhlZjYwZi4u
NDEwNzNlODg3NTI0ZjczYWRkOTkzNmExN2U5MzcyZTZkNTBkMzkyYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVh
ZE9ubHlBdHRyaWJ1dGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlLmNwcApAQCAtNjYsNiAr
NjYsMTIgQEAgY2xhc3MgSlNUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZVByb3RvdHlw
ZSBmaW5hbCA6IHB1YmxpYyBKU0M6OkpTTm9uRmluYWwKICAgICB9CiAKICAgICBERUNMQVJFX0lO
Rk87CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3BhY2VBY2Nlc3M+
CisgICAgc3RhdGljIEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKEpTQzo6Vk0mIHZtKQor
ICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0
U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZVByb3RvdHlwZSwgQmFzZSk7CisgICAgICAgIHJl
dHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKKyAgICB9CiAgICAgc3RhdGljIEpTQzo6U3RydWN0
dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIEpTQzo6SlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIHJldHVy
biBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlND
OjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RT
dHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUuY3Bw
CmluZGV4IGY4NmI5YTQzZGNhZWEwNWFhZTVhNDE5ZDBiNDgwNWExNmQ4Y2IzYWQuLmNjNGY1MGZj
NmQ1OTUxZWQ0MTA4MmYwMTk3Y2UzZDIwOTAwMDQ4OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0
dHJpYnV0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlLmNwcApAQCAtNjcsNiArNjcsMTIg
QEAgY2xhc3MgSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGVQcm90b3R5cGUgZmlu
YWwgOiBwdWJsaWMgSlNDOjpKU05vbkZpbmEKICAgICB9CiAKICAgICBERUNMQVJFX0lORk87Cisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3BhY2VBY2Nlc3M+CisgICAg
c3RhdGljIEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKEpTQzo6Vk0mIHZtKQorICAgIHsK
KyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0U3RyaW5n
aWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGVQcm90b3R5cGUsIEJhc2UpOworICAgICAgICByZXR1cm4g
JnZtLnBsYWluT2JqZWN0U3BhY2U7CisgICAgfQogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSog
Y3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewogICAgICAgICByZXR1cm4gSlND
OjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlw
ZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRl
ZnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5
cGVkZWZzLmNwcAppbmRleCBiZDViMmZlNmJhOTQ2M2Y3NWQzYTEyZTc2ZTQ3YWE4NjI5ZjMwODM2
Li4xYmJhNDU5YjdmYjcwMzE2ZDU4ODE1NWM1NWU0ZmMzNzU5YjNlMzcyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBl
ZGVmcy5jcHAKQEAgLTExMCw2ICsxMTAsMTIgQEAgY2xhc3MgSlNUZXN0VHlwZWRlZnNQcm90b3R5
cGUgZmluYWwgOiBwdWJsaWMgSlNDOjpKU05vbkZpbmFsT2JqZWN0IHsKICAgICB9CiAKICAgICBE
RUNMQVJFX0lORk87CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3Bh
Y2VBY2Nlc3M+CisgICAgc3RhdGljIEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKEpTQzo6
Vk0mIHZtKQorICAgIHsKKyAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFC
TEUoSlNUZXN0VHlwZWRlZnNQcm90b3R5cGUsIEJhc2UpOworICAgICAgICByZXR1cm4gJnZtLnBs
YWluT2JqZWN0U3BhY2U7CisgICAgfQogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRl
U3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewogICAgICAgICByZXR1cm4gSlNDOjpTdHJ1
Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8o
SlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7Cg==
</data>
<flag name="review"
          id="408236"
          type_id="1"
          status="+"
          setter="keith_miller"
    />
          </attachment>
      

    </bug>

</bugzilla>