<?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>223437</bug_id>
          
          <creation_ts>2021-03-18 04:22:05 -0700</creation_ts>
          <short_desc>[WPE] Bump API version when building with libsoup3</short_desc>
          <delta_ts>2021-03-23 16:26:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WPE WebKit</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>220508</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>annulen</cc>
    
    <cc>aperez</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rniwa</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1741156</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-03-18 04:22:05 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741158</commentid>
    <comment_count>1</comment_count>
      <attachid>423583</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-03-18 04:26:40 -0700</bug_when>
    <thetext>Created attachment 423583
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741170</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-03-18 05:07:58 -0700</bug_when>
    <thetext>Committed r274641 (235468@main): &lt;https://commits.webkit.org/235468@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742129</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-03-21 21:10:42 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742130</commentid>
    <comment_count>4</comment_count>
      <attachid>423850</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-03-21 21:10:45 -0700</bug_when>
    <thetext>Created attachment 423850
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742133</commentid>
    <comment_count>5</comment_count>
      <attachid>423850</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-03-21 21:30:13 -0700</bug_when>
    <thetext>Comment on attachment 423850
Patch for landing

Wait for EWS &amp; tree reopen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742769</commentid>
    <comment_count>6</comment_count>
      <attachid>423583</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2021-03-23 06:19:02 -0700</bug_when>
    <thetext>Comment on attachment 423583
Patch

The EWS and CQ are now working, let&apos;s try to land this patch :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742770</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-23 06:19:29 -0700</bug_when>
    <thetext>Tools/Scripts/svn-apply failed to apply attachment 423583 to trunk.
Please resolve the conflicts and upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742794</commentid>
    <comment_count>8</comment_count>
      <attachid>423583</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2021-03-23 08:01:53 -0700</bug_when>
    <thetext>Comment on attachment 423583
Patch

This patch is already in trunk, let&apos;s remove the flags and close the bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423583</attachid>
            <date>2021-03-18 04:26:40 -0700</date>
            <delta_ts>2021-03-23 08:01:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wpe-libsoup3.diff</filename>
            <type>text/plain</type>
            <size>10457</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA2YjRlY2FkNGE0MjEuLjJl
YTczODc1YTVmZCAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDIxLTAzLTE4ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KKworICAgICAgICBbV1BFXSBCdW1wIEFQSSB2ZXJzaW9uIHdoZW4gYnVpbGRpbmcg
d2l0aCBsaWJzb3VwMworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIzNDM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVXNlIDEuMSBhcyB0aGUgQVBJIHZlcnNpb24gd2hlbiBidWlsZGluZyB3aXRoIHNvdXAz
LgorCisgICAgICAgICogU291cmNlL1BsYXRmb3JtV1BFLmNtYWtlOgorICAgICAgICAqIFNvdXJj
ZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlOgorCiAyMDIxLTAzLTE3ICBNYXJ0aW4gUm9iaW5zb24g
IDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXVtXUEVdIEVuYWJsZSBDU1Mg
c2Nyb2xsIHNuYXAgc3VwcG9ydCBieSBkZWZhdWx0CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZv
cm1XUEUuY21ha2UgYi9Tb3VyY2UvUGxhdGZvcm1XUEUuY21ha2UKaW5kZXggNWE4MzI2NmYxNDM5
Li5mYWJkNzc2ZTYxN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9QbGF0Zm9ybVdQRS5jbWFrZQorKysg
Yi9Tb3VyY2UvUGxhdGZvcm1XUEUuY21ha2UKQEAgLTUsOCArNSw4IEBAIGxpc3QoQVBQRU5EIERv
Y3VtZW50YXRpb25EZXBlbmRlbmNpZXMKICAgICBXZWJLaXQKICAgICAiJHtDTUFLRV9TT1VSQ0Vf
RElSfS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLWRvY3Muc2dtbCIK
ICAgICAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL3dwZS9kb2NzL3dwZS13ZWJleHRlbnNpb25zLWRvY3Muc2dtbCIKLSAgICAi
JHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mv
d3BlLSR7V1BFX0FQSV9WRVJTSU9OfS1zZWN0aW9ucy50eHQiCi0gICAgIiR7Q01BS0VfU09VUkNF
X0RJUn0vU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS93cGUvZG9j
cy93cGUtd2ViZXh0ZW5zaW9ucy0ke1dQRV9BUElfVkVSU0lPTn0tc2VjdGlvbnMudHh0IgorICAg
ICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9j
cy93cGUtJHtXUEVfQVBJX0RPQ19WRVJTSU9OfS1zZWN0aW9ucy50eHQiCisgICAgIiR7Q01BS0Vf
U09VUkNFX0RJUn0vU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS93
cGUvZG9jcy93cGUtd2ViZXh0ZW5zaW9ucy0ke1dQRV9BUElfRE9DX1ZFUlNJT059LXNlY3Rpb25z
LnR4dCIKICkKIAogaWYgKEVOQUJMRV9HVEtET0MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDBlNmIyNjBiNTQwMC4u
ZTgzMzI0ODU5ZjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTAzLTE4ICBDYXJs
b3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbV1BFXSBC
dW1wIEFQSSB2ZXJzaW9uIHdoZW4gYnVpbGRpbmcgd2l0aCBsaWJzb3VwMworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNDM3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQbGF0Zm9ybVdQRS5jbWFrZTog
VXNlIFdQRV9BUElfRE9DX1ZFUlNJT04gaW5zdGVhZCBvZiBXUEVfQVBJX1ZFUlNJT04gZm9yIGd0
a2RvYyBjb25maWcgZmlsZXMuCisgICAgICAgICogd3BlL3dwZS13ZWItZXh0ZW5zaW9uLXVuaW5z
dGFsbGVkLnBjLmluOiBBZGQgdmFyaWFibGUgZm9yIGxpYnNvdXAgdmVyc2lvbi4KKyAgICAgICAg
KiB3cGUvd3BlLXdlYi1leHRlbnNpb24ucGMuaW46IERpdHRvLgorICAgICAgICAqIHdwZS93cGUt
d2Via2l0LXVuaW5zdGFsbGVkLnBjLmluOiBEaXR0by4KKyAgICAgICAgKiB3cGUvd3BlLXdlYmtp
dC5wYy5pbjogRGl0dG8uCisKIDIwMjEtMDMtMTcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgogCiAgICAgICAgIFByb3RlY3QgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIgYW5k
IFJlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyIHdoZW4gaG9wcGluZyB0byBiYWNrZ3Jv
dW5kIHRocmVhZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1XUEUuY21ha2Ug
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtV1BFLmNtYWtlCmluZGV4IDU2MjVlY2QyOTQxNi4uZTM5
N2MwN2I3Y2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtV1BFLmNtYWtlCisr
KyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1XUEUuY21ha2UKQEAgLTM3OCw3ICszNzgsNyBAQCB0
YXJnZXRfbGlua19saWJyYXJpZXMoV1BFSW5qZWN0ZWRCdW5kbGUgV2ViS2l0KQogdGFyZ2V0X2lu
Y2x1ZGVfZGlyZWN0b3JpZXMoV1BFSW5qZWN0ZWRCdW5kbGUgUFJJVkFURSAkPFRBUkdFVF9QUk9Q
RVJUWTpXZWJLaXQsSU5DTFVERV9ESVJFQ1RPUklFUz4pCiAKIGZpbGUoV1JJVEUgJHtDTUFLRV9C
SU5BUllfRElSfS9ndGtkb2Mtd3BlLmNmZwotICAgICJbd3BlLSR7V1BFX0FQSV9WRVJTSU9OfV1c
biIKKyAgICAiW3dwZS0ke1dQRV9BUElfRE9DX1ZFUlNJT059XVxuIgogICAgICJwa2djb25maWdf
ZmlsZT0ke1dQRV9QS0dDT05GSUdfRklMRX1cbiIKICAgICAiZGVjb3JhdG9yPVdFQktJVF9BUEl8
V0VCS0lUX0RFUFJFQ0FURUR8V0VCS0lUX0RFUFJFQ0FURURfRk9SXFwoLitcXClcbiIKICAgICAi
ZGVwcmVjYXRpb25fZ3VhcmQ9V0VCS0lUX0RJU0FCTEVfREVQUkVDQVRFRFxuIgpAQCAtMzk4LDcg
KzM5OCw3IEBAIGZpbGUoV1JJVEUgJHtDTUFLRV9CSU5BUllfRElSfS9ndGtkb2Mtd3BlLmNmZwog
KQogCiBmaWxlKFdSSVRFICR7Q01BS0VfQklOQVJZX0RJUn0vZ3RrZG9jLXdlYmV4dGVuc2lvbnMu
Y2ZnCi0gICAgIlt3cGUtd2ViZXh0ZW5zaW9ucy0ke1dQRV9BUElfVkVSU0lPTn1dXG4iCisgICAg
Ilt3cGUtd2ViZXh0ZW5zaW9ucy0ke1dQRV9BUElfRE9DX1ZFUlNJT059XVxuIgogICAgICJwa2dj
b25maWdfZmlsZT0ke1dQRVdlYkV4dGVuc2lvbl9QS0dDT05GSUdfRklMRX1cbiIKICAgICAiZGVj
b3JhdG9yPVdFQktJVF9BUEl8V0VCS0lUX0RFUFJFQ0FURUR8V0VCS0lUX0RFUFJFQ0FURURfRk9S
XFwoLitcXClcbiIKICAgICAiZGVwcmVjYXRpb25fZ3VhcmQ9V0VCS0lUX0RJU0FCTEVfREVQUkVD
QVRFRFxuIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93cGUvd3BlLXdlYi1leHRlbnNpb24t
dW5pbnN0YWxsZWQucGMuaW4gYi9Tb3VyY2UvV2ViS2l0L3dwZS93cGUtd2ViLWV4dGVuc2lvbi11
bmluc3RhbGxlZC5wYy5pbgppbmRleCBiYjZlOGNkMmEyMDUuLjk1OTdkMWI5MDc0OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93cGUvd3BlLXdlYi1leHRlbnNpb24tdW5pbnN0YWxsZWQucGMu
aW4KKysrIGIvU291cmNlL1dlYktpdC93cGUvd3BlLXdlYi1leHRlbnNpb24tdW5pbnN0YWxsZWQu
cGMuaW4KQEAgLTcsNiArNyw2IEBAIE5hbWU6IFdQRSBXZWJLaXQgV2ViIHByb2Nlc3MgZXh0ZW5z
aW9ucwogRGVzY3JpcHRpb246IEVtYmVkZGFibGUgV2ViIGNvbnRlbnQgZW5naW5lIC0gV2ViIHBy
b2Nlc3MgZXh0ZW5zaW9ucwogVVJMOiBodHRwczovL3dwZXdlYmtpdC5vcmcKIFZlcnNpb246IEBQ
Uk9KRUNUX1ZFUlNJT05ACi1SZXF1aXJlczogZ2xpYi0yLjAgbGlic291cC0yLjQgd3BlLTEuMAor
UmVxdWlyZXM6IGdsaWItMi4wIGxpYnNvdXAtQFNPVVBfQVBJX1ZFUlNJT05AIHdwZS0xLjAKIExp
YnM6IC1MJHtsaWJkaXJ9IC1sV1BFV2ViS2l0LUBXUEVfQVBJX1ZFUlNJT05ACiBDZmxhZ3M6IC1J
JHtpbmNsdWRlZGlyfS93cGUtZXh0ZW5zaW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dw
ZS93cGUtd2ViLWV4dGVuc2lvbi5wYy5pbiBiL1NvdXJjZS9XZWJLaXQvd3BlL3dwZS13ZWItZXh0
ZW5zaW9uLnBjLmluCmluZGV4IGM5OGU4OGY4NjkyOC4uZTczNTk2ZWMyMzg2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3dwZS93cGUtd2ViLWV4dGVuc2lvbi5wYy5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0L3dwZS93cGUtd2ViLWV4dGVuc2lvbi5wYy5pbgpAQCAtNyw2ICs3LDYgQEAgTmFtZTog
V1BFIFdlYktpdCBXZWIgcHJvY2VzcyBleHRlbnNpb25zCiBEZXNjcmlwdGlvbjogRW1iZWRkYWJs
ZSBXZWIgY29udGVudCBlbmdpbmUgLSBXZWIgcHJvY2VzcyBleHRlbnNpb25zCiBVUkw6IGh0dHBz
Oi8vd3Bld2Via2l0Lm9yZwogVmVyc2lvbjogQFBST0pFQ1RfVkVSU0lPTkAKLVJlcXVpcmVzOiBn
bGliLTIuMCBsaWJzb3VwLTIuNCB3cGUtMS4wCitSZXF1aXJlczogZ2xpYi0yLjAgbGlic291cC1A
U09VUF9BUElfVkVSU0lPTkAgd3BlLTEuMAogTGliczogLUwke2xpYmRpcn0gLWxXUEVXZWJLaXQt
QFdQRV9BUElfVkVSU0lPTkAKIENmbGFnczogLUkke2luY2x1ZGVkaXJ9L3dwZS13ZWJraXQtQFdQ
RV9BUElfVkVSU0lPTkAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3BlL3dwZS13ZWJraXQt
dW5pbnN0YWxsZWQucGMuaW4gYi9Tb3VyY2UvV2ViS2l0L3dwZS93cGUtd2Via2l0LXVuaW5zdGFs
bGVkLnBjLmluCmluZGV4IDFjOTE1MjlmMjEyOC4uOTdhY2U5NzRhYjNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dwZS93cGUtd2Via2l0LXVuaW5zdGFsbGVkLnBjLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQvd3BlL3dwZS13ZWJraXQtdW5pbnN0YWxsZWQucGMuaW4KQEAgLTcsNiArNyw2IEBA
IE5hbWU6IFdQRSBXZWJLaXQKIERlc2NyaXB0aW9uOiBFbWJlZGRhYmxlIFdlYiBjb250ZW50IGVu
Z2luZQogVVJMOiBodHRwczovL3dwZXdlYmtpdC5vcmcKIFZlcnNpb246IEBQUk9KRUNUX1ZFUlNJ
T05ACi1SZXF1aXJlczogZ2xpYi0yLjAgbGlic291cC0yLjQgd3BlLTEuMAorUmVxdWlyZXM6IGds
aWItMi4wIGxpYnNvdXAtQFNPVVBfQVBJX1ZFUlNJT05AIHdwZS0xLjAKIExpYnM6IC1MJHtsaWJk
aXJ9IC1sV1BFV2ViS2l0LUBXUEVfQVBJX1ZFUlNJT05ACiBDZmxhZ3M6IC1JJHtpbmNsdWRlZGly
fS9Gb3J3YXJkaW5nSGVhZGVycy93cGUgLUkke2luY2x1ZGVkaXJ9L1dlYktpdC8gLUkke2luY2x1
ZGVkaXJ9L0ZvcndhcmRpbmdIZWFkZXJzL3dwZS1qc2MgLUkke2luY2x1ZGVkaXJ9L0phdmFTY3Jp
cHRDb3JlL2phdmFzY3JpcHRjb3Jld3BlLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93cGUv
d3BlLXdlYmtpdC5wYy5pbiBiL1NvdXJjZS9XZWJLaXQvd3BlL3dwZS13ZWJraXQucGMuaW4KaW5k
ZXggYmFkOTM0M2E2YjhlLi5mOTZkZDhiM2M5MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
d3BlL3dwZS13ZWJraXQucGMuaW4KKysrIGIvU291cmNlL1dlYktpdC93cGUvd3BlLXdlYmtpdC5w
Yy5pbgpAQCAtNyw2ICs3LDYgQEAgTmFtZTogV1BFIFdlYktpdAogRGVzY3JpcHRpb246IEVtYmVk
ZGFibGUgV2ViIGNvbnRlbnQgZW5naW5lCiBVUkw6IGh0dHBzOi8vd3Bld2Via2l0Lm9yZwogVmVy
c2lvbjogQFBST0pFQ1RfVkVSU0lPTkAKLVJlcXVpcmVzOiBnbGliLTIuMCBsaWJzb3VwLTIuNCB3
cGUtMS4wCitSZXF1aXJlczogZ2xpYi0yLjAgbGlic291cC1AU09VUF9BUElfVkVSU0lPTkAgd3Bl
LTEuMAogTGliczogLUwke2xpYmRpcn0gLWxXUEVXZWJLaXQtQFdQRV9BUElfVkVSU0lPTkAKIENm
bGFnczogLUkke2luY2x1ZGVkaXJ9L3dwZS13ZWJraXQtQFdQRV9BUElfVkVSU0lPTkAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlv
bnNXUEUuY21ha2UKaW5kZXggYWNjZDVhZDI2MjM2Li43MjcyODI3OTU0NTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25z
V1BFLmNtYWtlCkBAIC0yLDIwICsyLDggQEAgaW5jbHVkZShHTlVJbnN0YWxsRGlycykKIGluY2x1
ZGUoVmVyc2lvbmluZ1V0aWxzKQogCiBTRVRfUFJPSkVDVF9WRVJTSU9OKDIgMzEgMSkKLXNldChX
UEVfQVBJX1ZFUlNJT04gMS4wKQotCi1DQUxDVUxBVEVfTElCUkFSWV9WRVJTSU9OU19GUk9NX0xJ
QlRPT0xfVFJJUExFKFdFQktJVCAxNiAwIDEzKQotCi0jIFRoZXNlIGFyZSBzaGFyZWQgdmFyaWFi
bGVzLCBidXQgd2Ugc3BlY2lhbCBjYXNlIHRoZWlyIGRlZmluaXRpb24gc28gdGhhdCB3ZSBjYW4g
dXNlIHRoZQotIyBDTUFLRV9JTlNUQUxMXyogdmFyaWFibGVzIHRoYXQgYXJlIHBvcHVsYXRlZCBi
eSB0aGUgR05VSW5zdGFsbERpcnMgbWFjcm8uCi1zZXQoTElCX0lOU1RBTExfRElSICIke0NNQUtF
X0lOU1RBTExfRlVMTF9MSUJESVJ9IiBDQUNIRSBQQVRIICJBYnNvbHV0ZSBwYXRoIHRvIGxpYnJh
cnkgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSIpCi1zZXQoRVhFQ19JTlNUQUxMX0RJUiAiJHtDTUFL
RV9JTlNUQUxMX0ZVTExfQklORElSfSIgQ0FDSEUgUEFUSCAiQWJzb2x1dGUgcGF0aCB0byBleGVj
dXRhYmxlIGluc3RhbGxhdGlvbiBkaXJlY3RvcnkiKQotc2V0KExJQkVYRUNfSU5TVEFMTF9ESVIg
IiR7Q01BS0VfSU5TVEFMTF9GVUxMX0xJQkVYRUNESVJ9L3dwZS13ZWJraXQtJHtXUEVfQVBJX1ZF
UlNJT059IiBDQUNIRSBQQVRIICJBYnNvbHV0ZSBwYXRoIHRvIGluc3RhbGwgZXhlY3V0YWJsZXMg
ZXhlY3V0ZWQgYnkgdGhlIGxpYnJhcnkiKQogCiBzZXQoVVNFUl9BR0VOVF9CUkFORElORyAiIiBD
QUNIRSBTVFJJTkcgIkJyYW5kaW5nIHRvIGFkZCB0byB1c2VyIGFnZW50IHN0cmluZyIpCi1pZiAo
VVNFUl9BR0VOVF9CUkFORElORykKLSAgICBhZGRfZGVmaW5pdGlvbnMoLURVU0VSX0FHRU5UX0JS
QU5ESU5HPSR7VVNFUl9BR0VOVF9CUkFORElOR30pCi1lbmRpZiAoKQogCiBmaW5kX3BhY2thZ2Uo
Q2Fpcm8gMS4xNC4wIFJFUVVJUkVEKQogZmluZF9wYWNrYWdlKEZvbnRjb25maWcgMi44LjAgUkVR
VUlSRUQpCkBAIC0xMzAsMTEgKzExOCwzMCBAQCBXRUJLSVRfT1BUSU9OX0VORCgpCiAKIGlmIChV
U0VfU09VUDIpCiAgICAgc2V0KFNPVVBfTUlOSU1VTV9WRVJTSU9OIDIuNTQuMCkKKyAgICBzZXQo
U09VUF9BUElfVkVSU0lPTiAyLjQpCisgICAgc2V0KFdQRV9BUElfVkVSU0lPTiAxLjApCisgICAg
c2V0KFdQRV9BUElfRE9DX1ZFUlNJT04gMS4wKQogZWxzZSAoKQogICAgIHNldChTT1VQX01JTklN
VU1fVkVSU0lPTiAyLjk5LjIpCisgICAgc2V0KFNPVVBfQVBJX1ZFUlNJT04gMy4wKQorICAgIHNl
dChXUEVfQVBJX1ZFUlNJT04gMS4xKQorICAgICMgTm8gQVBJIGNoYW5nZXMgaW4gMS4xLCBzbyBr
ZWVwIHVzaW5nIHRoZSBzYW1lIEFQSSBkb2N1bWVudGF0aW9uLgorICAgIHNldChXUEVfQVBJX0RP
Q19WRVJTSU9OIDEuMCkKIGVuZGlmICgpCiBmaW5kX3BhY2thZ2UoTGliU291cCAke1NPVVBfTUlO
SU1VTV9WRVJTSU9OfSBSRVFVSVJFRCkKIAoraWYgKFdQRV9BUElfVkVSU0lPTiBWRVJTSU9OX0VR
VUFMICIxLjAiKQorICAgIENBTENVTEFURV9MSUJSQVJZX1ZFUlNJT05TX0ZST01fTElCVE9PTF9U
UklQTEUoV0VCS0lUIDE2IDAgMTMpCitlbHNlICgpCisgICAgQ0FMQ1VMQVRFX0xJQlJBUllfVkVS
U0lPTlNfRlJPTV9MSUJUT09MX1RSSVBMRShXRUJLSVQgMCAwIDApCitlbmRpZiAoKQorCisjIFRo
ZXNlIGFyZSBzaGFyZWQgdmFyaWFibGVzLCBidXQgd2Ugc3BlY2lhbCBjYXNlIHRoZWlyIGRlZmlu
aXRpb24gc28gdGhhdCB3ZSBjYW4gdXNlIHRoZQorIyBDTUFLRV9JTlNUQUxMXyogdmFyaWFibGVz
IHRoYXQgYXJlIHBvcHVsYXRlZCBieSB0aGUgR05VSW5zdGFsbERpcnMgbWFjcm8uCitzZXQoTElC
X0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExfRlVMTF9MSUJESVJ9IiBDQUNIRSBQQVRIICJB
YnNvbHV0ZSBwYXRoIHRvIGxpYnJhcnkgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSIpCitzZXQoRVhF
Q19JTlNUQUxMX0RJUiAiJHtDTUFLRV9JTlNUQUxMX0ZVTExfQklORElSfSIgQ0FDSEUgUEFUSCAi
QWJzb2x1dGUgcGF0aCB0byBleGVjdXRhYmxlIGluc3RhbGxhdGlvbiBkaXJlY3RvcnkiKQorc2V0
KExJQkVYRUNfSU5TVEFMTF9ESVIgIiR7Q01BS0VfSU5TVEFMTF9GVUxMX0xJQkVYRUNESVJ9L3dw
ZS13ZWJraXQtJHtXUEVfQVBJX1ZFUlNJT059IiBDQUNIRSBQQVRIICJBYnNvbHV0ZSBwYXRoIHRv
IGluc3RhbGwgZXhlY3V0YWJsZXMgZXhlY3V0ZWQgYnkgdGhlIGxpYnJhcnkiKQorCiBpZiAoRU5B
QkxFX0FDQ0VTU0lCSUxJVFkpCiAgICAgZmluZF9wYWNrYWdlKEFUSyAyLjE2LjApCiAgICAgaWYg
KE5PVCBBVEtfRk9VTkQpCkBAIC0yMjYsNiArMjMzLDEwIEBAIGFkZF9kZWZpbml0aW9ucygtREJV
SUxESU5HX1dQRV9fPTEpCiBhZGRfZGVmaW5pdGlvbnMoLURHRVRURVhUX1BBQ0tBR0U9IldQRSIp
CiBhZGRfZGVmaW5pdGlvbnMoLURKU0NfR0xJQl9BUElfRU5BQkxFRCkKIAoraWYgKFVTRVJfQUdF
TlRfQlJBTkRJTkcpCisgICAgYWRkX2RlZmluaXRpb25zKC1EVVNFUl9BR0VOVF9CUkFORElORz0k
e1VTRVJfQUdFTlRfQlJBTkRJTkd9KQorZW5kaWYgKCkKKwogaWYgKEVYSVNUUyAiJHtUT09MU19E
SVJ9L2dsaWIvc3ZuLXJldmlzaW9uIikKICAgICBleGVjdXRlX3Byb2Nlc3MoQ09NTUFORCAke1RP
T0xTX0RJUn0vZ2xpYi9zdm4tcmV2aXNpb24gRVJST1JfUVVJRVQgT1VUUFVUX1ZBUklBQkxFIFNW
Tl9SRVZJU0lPTiBPVVRQVVRfU1RSSVBfVFJBSUxJTkdfV0hJVEVTUEFDRSkKIGVsc2UgKCkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlMDc0OTE0
ZmNmYWMuLjE3ODc0ODk5ZWY5MSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTAzLTE4ICBDYXJsb3MgR2FyY2lh
IENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbV1BFXSBCdW1wIEFQSSB2
ZXJzaW9uIHdoZW4gYnVpbGRpbmcgd2l0aCBsaWJzb3VwMworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNDM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIFdQRV9BUElfRE9DX1ZFUlNJT04gaW5zdGVh
ZCBvZiBXUEVfQVBJX1ZFUlNJT04uCisKKyAgICAgICAgKiB3cGUvbWFuaWZlc3QudHh0LmluOgor
CiAyMDIxLTAzLTE3ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbV1BFXSBJbmNsdWRlIGNvZyBidWlsZCBhcnRlZmFjdHMgaW4gYnVpbHQgcHJvZHVj
dCBhcmNoaXZlCmRpZmYgLS1naXQgYS9Ub29scy93cGUvbWFuaWZlc3QudHh0LmluIGIvVG9vbHMv
d3BlL21hbmlmZXN0LnR4dC5pbgppbmRleCBmMmFlZjM1OWIwOWMuLmExYzg0ZWY1Y2M1ZSAxMDA2
NDQKLS0tIGEvVG9vbHMvd3BlL21hbmlmZXN0LnR4dC5pbgorKysgYi9Ub29scy93cGUvbWFuaWZl
c3QudHh0LmluCkBAIC05NCw1ICs5NCw1IEBAIGZpbGUgQ01ha2VMaXN0cy50eHQKIGZpbGUgVG9v
bHMvQ01ha2VMaXN0cy50eHQKIGZpbGUgVG9vbHMvUGxhdGZvcm1XUEUuY21ha2UKIAotZGlyZWN0
b3J5ICR7Q01BS0VfQklOQVJZX0RJUn0vRG9jdW1lbnRhdGlvbi93cGUtJHtXUEVfQVBJX1ZFUlNJ
T059L2h0bWwvd3BlLSR7V1BFX0FQSV9WRVJTSU9OfSBEb2N1bWVudGF0aW9uL3dwZS0ke1dQRV9B
UElfVkVSU0lPTn0vaHRtbAotZGlyZWN0b3J5ICR7Q01BS0VfQklOQVJZX0RJUn0vRG9jdW1lbnRh
dGlvbi93cGUtd2ViZXh0ZW5zaW9ucy0ke1dQRV9BUElfVkVSU0lPTn0vaHRtbC93cGUtd2ViZXh0
ZW5zaW9ucy0ke1dQRV9BUElfVkVSU0lPTn0gRG9jdW1lbnRhdGlvbi93cGUtd2ViZXh0ZW5zaW9u
cy0ke1dQRV9BUElfVkVSU0lPTn0vaHRtbAorZGlyZWN0b3J5ICR7Q01BS0VfQklOQVJZX0RJUn0v
RG9jdW1lbnRhdGlvbi93cGUtJHtXUEVfQVBJX0RPQ19WRVJTSU9OfS9odG1sL3dwZS0ke1dQRV9B
UElfRE9DX1ZFUlNJT059IERvY3VtZW50YXRpb24vd3BlLSR7V1BFX0FQSV9ET0NfVkVSU0lPTn0v
aHRtbAorZGlyZWN0b3J5ICR7Q01BS0VfQklOQVJZX0RJUn0vRG9jdW1lbnRhdGlvbi93cGUtd2Vi
ZXh0ZW5zaW9ucy0ke1dQRV9BUElfRE9DX1ZFUlNJT059L2h0bWwvd3BlLXdlYmV4dGVuc2lvbnMt
JHtXUEVfQVBJX0RPQ19WRVJTSU9OfSBEb2N1bWVudGF0aW9uL3dwZS13ZWJleHRlbnNpb25zLSR7
V1BFX0FQSV9ET0NfVkVSU0lPTn0vaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423850</attachid>
            <date>2021-03-21 21:10:45 -0700</date>
            <delta_ts>2021-03-21 21:39:04 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-223437-20210321211044.patch</filename>
            <type>text/plain</type>
            <size>456396</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NjcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggOGI5MTg4ZGM2Mjc1OTA0YWU3NTY3MTU2MmUyMGE4NWFhOGRmNGIxMi4uOTVlZTRjNTg3YjRj
N2E4ZjFjOWNlNWNhMjUwMDQ5YzNmNjA0Y2ZkNSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDQxIEBACisyMDIxLTAzLTA2ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxl
LmNvbT4KKworICAgICAgICBNZXRhbC1BTkdMRSBjYW4gQVNTRVJUIGJlY2F1c2UgTVRMIHNpZ25h
bCBldmVudCBjb2RlIGlzIGNvbXBpbGVkIG91dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyODU5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTEz
MjE4MD4KKworICAgICAgICBSZXZpZXdlZCBieSBLZW4gUnVzc2VsbC4KKworICAgICAgICBXaXRo
IHRoZSBNZXRhbCBiYWNrZW5kIGVuYWJsZWQsIHRoZSB0ZXN0CisgICAgICAgIHdlYmdsLzIuMC4w
L2NvbmZvcm1hbmNlMi9zdGF0ZS9nbC1vYmplY3QtZ2V0LWNhbGxzLmh0bWwgd2lsbAorICAgICAg
ICBvY2Nhc2lvbmFsbHkgY3Jhc2ggaW4gbXRsX2NvbW1hbmRfYnVmZmVyIHdoZW4gaXQgaGl0cyB1
bnJlYWNoYWJsZQorICAgICAgICBjb2RlIGJlY2F1c2UgQU5HTEVfTVRMX0VWRU5UX0FWQUlMQUJM
RSBoYXNuJ3QgYmVlbiBkZWZpbmVkLiBUaGlzIGlzCisgICAgICAgIGF2YWlsYWJsZSBvbiBtYWNP
UyAxMC4xNCBhbmQgYWJvdmUsIHNvIHNob3VsZCBiZSBlbmFibGVkLgorCisgICAgICAgIEF0IHRo
ZSBzYW1lIHRpbWUsIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBjYWxsIHRoZSBtZXRob2QgdGhh
dCBoYXMKKyAgICAgICAgdW5yZWFjaGFibGUgY29kZSwgc28gZ3VhcmQgYWdhaW5zdCB0aGF0IGlu
IG10bF9jb21tYW5kX2J1ZmZlci4KKworICAgICAgICAqIHNyYy9saWJBTkdMRS9yZW5kZXJlci9t
ZXRhbC9tdGxfY29tbWFuZF9idWZmZXIubW06CisgICAgICAgIChyeDo6bXRsOjpDb21tYW5kQnVm
ZmVyOjpzZXRQZW5kaW5nRXZlbnRzKToKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVyZXIv
bWV0YWwvbXRsX2NvbW1vbi5oOiBEZWZpbmUgQU5HTEVfTVRMX0VWRU5UX0FWQUlMQUJMRS4KKwor
MjAyMS0wMy0xOCAgS3lsZSBQaWRkaW5ndG9uICA8a3BpZGRpbmd0b25AYXBwbGUuY29tPgorCisg
ICAgICAgICdNVExMYW5ndWFnZVZlcnNpb24xXzAnIGlzIHVuYXZhaWxhYmxlIG9uIENhdGFseXN0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMzOTIK
KworICAgICAgICBSZXZpZXdlZCBieSBKb24gTGVlLgorCisgICAgICAgIERpc2FibGUgc3dpdGNo
IGNhc2UgaW4gY2F0YWx5c3QgYnVpbGRzCisKKyAgICAgICAgKiBzcmMvY29tcGlsZXIvdHJhbnNs
YXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvRW1pdE1ldGFsLmNwcDoKKyAgICAgICAgKEdldE9w
ZXJhdG9yU3RyaW5nKToKKyAgICAgICAgKiBzcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xh
dG9yTWV0YWxEaXJlY3QvUHJvZ3JhbVByZWx1ZGUuY3BwOgorICAgICAgICAqIHNyYy9saWJBTkdM
RS9yZW5kZXJlci9tZXRhbC9GcmFtZUJ1ZmZlck10bC5tbToKKyAgICAgICAgKHJ4OjpGcmFtZWJ1
ZmZlck10bDo6cmVhZFBpeGVscyk6CisgICAgICAgICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21l
dGFsL210bF91dGlscy5tbToKKyAgICAgICAgKHJ4OjptdGw6OkdldFVzZXJTZXRPckhpZ2hlc3RN
U0xWZXJzaW9uKToKKwogMjAyMS0wMy0xNyAgS3lsZSBQaWRkaW5ndG9uICA8a3BpZGRpbmd0b25A
YXBwbGUuY29tPgogCiAgICAgICAgIEFOR0xFIE1ldGFsIGZpeHVwcyBmb3IgcHJvZ3JhbSBnZW5l
cmF0aW9uLCByZWFkUGl4ZWxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzM0Y2M1M2QxMGFkMjkzZGFjODcyN2Fj
YmEzOTI1NDdjZTE1YTkzMS4uMThkMTRiOWQ5N2NhMWI1OTE5ZTc3MThjYjhlY2JhMTFkZGNmNDA5
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2NyBAQAorMjAyMS0wMy0yMSAgUnlvc3VrZSBOaXdh
ICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBVc2UgSlNWYWx1ZUluV3JhcHBlZE9iamVj
dCB0byBrZWVwIHRoZSBKU09iamVjdCBhbGl2ZSBmb3IgUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1l
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzU2
MQorICAgICAgICA8cmRhcjovLzc1NjM0NDA3PgorCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2Zm
cmV5IEdhcmVuLgorCisgICAgICAgIFRoaXMgcGF0Y2ggcmVwbGFjZXMgUXVpY2tUaW1lUGx1Z2lu
UmVwbGFjZW1lbnQncyBtX3NjcmlwdE9iamVjdCBtZW1iZXIgdmFyaWFibGUgYnkKKyAgICAgICAg
SlNWYWx1ZUluV3JhcHBlZE9iamVjdCBpbiBIVE1MUGx1Z0luRWxlbWVudCBhbmQgaG9va3MgaXQg
dXAgd2l0aCB0aGUgc2xvdCB2aXNpdG9yLgorCisgICAgICAgIEFsc28gdXNlIFdlYWtQdHIgaW5z
dGVhZCBvZiBhIHJhdyBwb2ludGVyIGZvciB0aGUgYmFjayByZWZlcmVuY2UgdG8gdGhlIHBsdWdp
biBlbGVtZW50CisgICAgICAgIGluIFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50IGFuZCBZb3VU
dWJlUGx1Z2luUmVwbGFjZW1lbnQuCisKKyAgICAgICAgKiBNb2R1bGVzL3BsdWdpbnMvUGx1Z2lu
UmVwbGFjZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblJlcGxhY2VtZW50OjpJbnN0
YWxsUmVzdWx0KTogQWRkZWQ7IGEgYm9vbGVhbiBpbmRpY2F0aW5nIHRoZSBpbnN0YWxsYXRpb24K
KyAgICAgICAgaGFkIHN1Y2NlZWRlZCBhbmQgdGhlIHNjcmlwdCBvYmplY3QgZm9yIFF1aWNrVGlt
ZVBsdWdpblJlcGxhY2VtZW50LgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luUmVwbGFjZW1lbnQ6
OnNjcmlwdE9iamVjdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9wbHVnaW5zL1F1aWNr
VGltZVBsdWdpblJlcGxhY2VtZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9wbHVnaW5zL1F1aWNr
VGltZVBsdWdpblJlcGxhY2VtZW50Lm1tOgorICAgICAgICAoV2ViQ29yZTo6UXVpY2tUaW1lUGx1
Z2luUmVwbGFjZW1lbnQ6OlF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50KTogRGVwbG95ZWQgV2Vh
a1B0ci4KKyAgICAgICAgKFdlYkNvcmU6OlF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50Ojp+UXVp
Y2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQpOiBSZW1vdmVkCisgICAgICAgIHRoZSBzdXBlcmZsb3Vz
IGRlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtZW1iZXIgdmFyaWFibGVzLgorICAgICAgICAoV2Vi
Q29yZTo6UXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQ6Omluc3RhbGxSZXBsYWNlbWVudCk6IE5v
dyByZXR1cm5zIEpTVmFsdWUKKyAgICAgICAgaW5zdGVhZCBvZiBzdG9yaW5nIGl0IGluIG1fc2Ny
aXB0T2JqZWN0LgorICAgICAgICAqIE1vZHVsZXMvcGx1Z2lucy9Zb3VUdWJlUGx1Z2luUmVwbGFj
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WW91VHViZVBsdWdpblJlcGxhY2VtZW50OjpZ
b3VUdWJlUGx1Z2luUmVwbGFjZW1lbnQpOiBEZXBsb3llZCBXZWFrUHRyLgorICAgICAgICAoV2Vi
Q29yZTo6WW91VHViZVBsdWdpblJlcGxhY2VtZW50OjppbnN0YWxsUmVwbGFjZW1lbnQpOgorICAg
ICAgICAqIE1vZHVsZXMvcGx1Z2lucy9Zb3VUdWJlUGx1Z2luUmVwbGFjZW1lbnQuaDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEluc3Rh
bmNlTmVlZHNWaXNpdENoaWxkcmVuKTogR2VuZXJhdGUgdmlzaXRDaGlsZHJlbiB3aGVuIGFuIElE
TCBoYXMgUGx1Z2luIGF0dHJpYnV0ZS4KKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24p
OiBWaXNpdCB0aGUgbmV3bHkgYWRkZWQgSlNWYWx1ZUluV3JhcHBlZE9iamVjdC4KKyAgICAgICAg
KiBodG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVn
SW5FbGVtZW50OjpkaWRBZGRVc2VyQWdlbnRTaGFkb3dSb290KTogU3RvcmUgdGhlIHNjcmlwdCBv
YmplY3QgcmV0dXJuZWQKKyAgICAgICAgYnkgUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQ6Omlu
c3RhbGxSZXBsYWNlbWVudCBpbiB0aGUgbmV3bHkgYWRkZWQgbWVtYmVyIHZhcmlhYmxlLgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTFBsdWdJbkVsZW1lbnQ6OnNjcmlwdE9iamVjdEZvclBsdWdpblJl
cGxhY2VtZW50KTogVXBkYXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxQbHVnSW5FbGVtZW50Lmg6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudDo6cGx1Z2luUmVwbGFjZW1lbnRT
Y3JpcHRPYmplY3QpOiBBZGRlZC4gVXNlZCBieSB2aXNpdENoaWxkcmVuLgorCisyMDIxLTAzLTE4
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQXZvaWQgaGVhcCBh
bGxvY2F0aW9uIHVuZGVyIEJhc2VBdWRpb0NvbnRleHQ6OnNvdXJjZU5vZGVEaWRGaW5pc2hQbGF5
YmFjaygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjM0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBKZXIgTm9ibGUuCisKKyAgICAgICAgQmFzZUF1
ZGlvQ29udGV4dDo6c291cmNlTm9kZURpZEZpbmlzaFBsYXliYWNrKCkgd2FzIGFwcGVuZGluZyB0
byBhIG1fZmluaXNoZWRTb3VyY2VOb2RlcworICAgICAgICBWZWN0b3IsIHdoaWNoIHdvdWxkIGNh
dXNlIGhlYXAgYWxsb2NhdGlvbnMgb24gdGhlIGF1ZGlvIHRocmVhZC4gVG8gYXZvaWQgc3VjaCBo
ZWFwCisgICAgICAgIGFsbG9jYXRpb25zICh3aGljaCBhcmUgYmFkIGZvciBwZXJmb3JtYW5jZSks
IHdlIG5vdyBzZXQgYSAiaXNGaW5pc2hlZFNvdXJjZU5vZGUiIGZsYWcKKyAgICAgICAgb24gdGhl
IEF1ZGlvTm9kZS4gV2hlbiBCYXNlQXVkaW9Db250ZXh0OjpkZXJlZkZpbmlzaGVkU291cmNlTm9k
ZXMoKSwgaXQgcmVsaWVzIG9uCisgICAgICAgIHRoaXMgbmV3IGlzRmluaXNoZWRTb3VyY2VOb2Rl
IGZsYWcgaW5zdGVhZCBvZiB1c2luZyB0aGUgbV9maW5pc2hlZFNvdXJjZU5vZGVzIFZlY3Rvci4K
KworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmg6CisgICAgICAgIChXZWJD
b3JlOjpBdWRpb05vZGU6OmlzRmluaXNoZWRTb3VyY2VOb2RlIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkF1ZGlvTm9kZTo6c2V0SXNGaW5pc2hlZFNvdXJjZU5vZGUpOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vQmFzZUF1ZGlvQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpC
YXNlQXVkaW9Db250ZXh0Ojp+QmFzZUF1ZGlvQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpC
YXNlQXVkaW9Db250ZXh0Ojp1bmluaXRpYWxpemUpOgorICAgICAgICAoV2ViQ29yZTo6aXNGaW5p
c2hlZFNvdXJjZU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QmFzZUF1ZGlvQ29udGV4dDo6ZGVy
ZWZGaW5pc2hlZFNvdXJjZU5vZGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VBdWRpb0NvbnRl
eHQ6OnNvdXJjZU5vZGVEaWRGaW5pc2hQbGF5YmFjayk6CisgICAgICAgICogTW9kdWxlcy93ZWJh
dWRpby9CYXNlQXVkaW9Db250ZXh0Lmg6CisKKzIwMjEtMDMtMTggIERldmluIFJvdXNzbyAgPGRy
b3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIENTUCBoZWFkZXJzIGNhbiBibG9jayBkZWZhdWx0
IDx2aWRlbz4gY29udHJvbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMzQyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDExOTIxOTM+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQW50b2luZSBRdWludC4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4
aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
Y29udHJvbHMvaWNvbi1zZXJ2aWNlLmpzOgorICAgICAgICAoSWNvblNlcnZpY2UucHJvdG90eXBl
LmltYWdlRm9ySWNvbkFuZExheW91dFRyYWl0cyk6CisgICAgICAgIEluIG9yZGVyIGZvciBhbiBg
PGltZz5gIHRvIHNraXAgQ1NQIGNoZWNrcyBpdCBtdXN0IGJlIGBpc0luVXNlckFnZW50U2hhZG93
VHJlZWAgYmVmb3JlIHNldHRpbmcgYHNyY2AuCisKKyAgICAgICAgKiBNb2R1bGVzL21vZGVybi1t
ZWRpYS1jb250cm9scy9tYWluLmpzOgorICAgICAgICAoY3JlYXRlQ29udHJvbHMpOgorICAgICAg
ICBQcm92aWRlIHRoZSBVQSBgc2hhZG93Um9vdGAgdG8gdGhlIGBpY29uU2VydmljZWAgc28gaXQg
Y2FuIHRlbXBvcmFyaWx5IGF0dGFjaCB0aGUgYDxpbWc+YC4KKworMjAyMS0wMy0xOCAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIEZpeCBhIENh
dGFseXN0IGJ1aWxkLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFNZXRh
ZGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFNZXRhZGF0YTo6YXJ0d29ya0ltYWdlIGNv
bnN0KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnRlcm5hbHM6OmxvYWRBcnR3b3JrSW1hZ2UpOgorCisyMDIxLTAzLTE4ICBBbGVqYW5kcm8g
Ry4gQ2FzdHJvICA8YWxleEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIEtpbmV0aWMgaWZy
YW1lIGFzeW5jIHNjcm9sbGluZyBkb2VzIG5vdCB3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMxMzMKKworICAgICAgICBSZXZpZXdlZCBieSBD
YXJsb3MgR2FyY2lhIENhbXBvcy4KKworICAgICAgICBBZGQgYSBjb25kaXRpb24gZm9yIHRoZSBn
dGsgcG9ydCwgaXQgYWxsb3dzIGVuZCBvZiBtb21lbnR1bSB3aGVlbAorICAgICAgICBldmVudHMg
dG8gYmUgZGV0ZWN0ZWQgYXMgYSBzY3JvbGxhYmxlIGV2ZW50cywgbm8gbWF0dGVyIG9mIHRoZQor
ICAgICAgICBkZWx0YSB2YWx1ZS4gQnkgZGVmaW5pdGlvbiBvZiB0aGUgQVBJIGRlbHRhIGlzIGdv
aW5nIHRvIGJlIHplcm8gaW4KKyAgICAgICAgZ3RrIGVuZCBvZiBtb21lbnR1bSBldmVudHMgYWNj
b3JkaW5nIHRvOgorICAgICAgICBodHRwczovL2RldmVsb3Blci5nbm9tZS5vcmcvZ2RrMy9zdGFi
bGUvZ2RrMy1FdmVudHMuaHRtbCNnZGstZXZlbnQtaXMtc2Nyb2xsLXN0b3AtZXZlbnQKKworICAg
ICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpldmVudENhblNjcm9s
bENvbnRlbnRzIGNvbnN0KToKKworMjAyMS0wMy0xOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgorCisgICAgICAgIEF2b2lkIGhlYXAgYWxsb2NhdGlvbnMgdW5kZXIgQmlxdWFkRFNQ
S2VybmVsOjp1cGRhdGVDb2VmZmljaWVudHNJZk5lY2Vzc2FyeSgpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM0NDQKKworICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBVc2UgZmxvYXRbXSBpbnN0ZWFkIG9mIEF1ZGlv
RmxvYXRBcnJheSBmb3IgbG9jYWwgdmFyaWFibGVzIGluIHVwZGF0ZUNvZWZmaWNpZW50c0lmTmVj
ZXNzYXJ5KCkKKyAgICAgICAgaW4gb3JkZXIgdG8gYXZvaWQgZG9pbmcgaGVhcCBhbGxvY2F0aW9u
cyBvbiB0aGUgYXVkaW8gdGhyZWFkLCBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy4KKworICAgICAg
ICAqIE1vZHVsZXMvd2ViYXVkaW8vQmlxdWFkRFNQS2VybmVsLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Omhhc0NvbnN0YW50VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6QmlxdWFkRFNQS2VybmVs
Ojp1cGRhdGVDb2VmZmljaWVudHNJZk5lY2Vzc2FyeSk6CisKKzIwMjEtMDMtMTggIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBBdm9pZCBoZWFwIGFsbG9jYXRpb25z
IHVuZGVyIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6cHVsbFNhbXBsZXNJbnRlcm5hbCgpCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM0NDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBKZXIgTm9ibGUuCisKKyAgICAgICAgQXVkaW9TYW1wbGVEYXRhU291
cmNlOjpwdWxsU2FtcGxlc0ludGVybmFsKCkgd2FzIGRvaW5nIGhlYXAgYWxsb2NhdGlvbnMgb24g
dGhlIGF1ZGlvIHRocmVhZCwKKyAgICAgICAganVzdCBmb3IgbG9nZ2luZyBwdXJwb3NlcyAoUnVu
TG9vcDo6ZGlzcGF0Y2goKSAmIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGRvIGhlYXAgYWxsb2NhdGlv
bnMpLgorICAgICAgICBEcm9wIHRoaXMgbG9nZ2luZyB0byBhZGRyZXNzIHRoZSBpc3N1ZSwgYWZ0
ZXIgY2xlYXJpbmcgdGhpcyB3aXRoIEplciBOb2JsZS4KKworICAgICAgICAqIHBsYXRmb3JtL2F1
ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvU2FtcGxlRGF0YVNvdXJjZTo6cHVsbFNhbXBsZXNJbnRlcm5hbCk6CisKKzIwMjEtMDMtMTgg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBBdm9pZCBoZWFwIGFs
bG9jYXRpb24gdW5kZXIgUGFubmVyTm9kZTo6cHVsbElucHV0cygpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM0NDUKKworICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBQYW5uZXJOb2RlOjpwdWxsSW5wdXRzKCkgd2Fz
IGRvaW5nIGEgaGVhcCBhbGxvY2F0aW9uIG9uIHRoZSBhdWRpbyB0aHJlYWQgd2hlbgorICAgICAg
ICBjb25zdHJ1Y3RpbmcgYSBIYXNoU2V0LiBJdCB0dXJucyBvdXQgdGhhdCBQYW5uZXJOb2RlOjpw
dWxsSW5wdXRzKCkgYW5kCisgICAgICAgIFBhbm5lck5vZGU6Om5vdGlmeUF1ZGlvU291cmNlc0Nv
bm5lY3RlZFRvTm9kZSgpIHdlcmUgbm90IG5lZWRlZCBhdCBhbGwgaW4KKyAgICAgICAgdGhlIG1v
ZGVybiBQYW5uZXJOb2RlLiBUaGV5IHdlcmUgb25seSB1c2VkIHRvIHNldCB0aGUgUGFubmVyTm9k
ZSBvbgorICAgICAgICBBdWRpb0J1ZmZlclNvdXJjZU5vZGVzIHNvIHRoZXkgY291bGQgdXNlIGl0
cyBkb3BwbGVyUmF0ZS4gSG93ZXZlciwgdGhlCisgICAgICAgIGRvcHBsZXJSYXRlIHdhcyBvbmx5
IGEgdGhpbmcgb24gdGhlIGxlZ2FjeSBXZWJLaXRBdWRpb1Bhbm5lck5vZGUuIEZvciB0aGUKKyAg
ICAgICAgbW9kZXJuIFBhbm5lck5vZGUsIHRoZXJlIGlzIG5vIGRvcHBsZXJSYXRlIHNvIHdlIGFs
d2F5cyBlbmQgdXAgdXNpbmcgMS4wLgorCisgICAgICAgIFRvIGFkZHJlc3MgdGhlIGlzc3VlLCBJ
IHRodXMgY29tcGxldGVseSByZW1vdmVkIFBhbm5lck5vZGUncyBwdWxsSW5wdXRzICYKKyAgICAg
ICAgbm90aWZ5QXVkaW9Tb3VyY2VzQ29ubmVjdGVkVG9Ob2RlKCkuIEkgYWxzbyB1cGRhdGVkIEF1
ZGlvQnVmZmVyU291cmNlTm9kZQorICAgICAgICB0byBtYWtlIGl0IGNsZWFyIGl0IHVzZXMgYSBX
ZWJLaXRBdWRpb1Bhbm5lck5vZGUuIEZpbmFsbHksIEkgZ290IHJpZCBvZgorICAgICAgICB0aGUg
UGFubmVyTm9kZUJhc2UgYmFzZSBjbGFzcyB0b28gc2luY2UgaXQgaXMgbm8gbG9uZ2VyIG5lZWRl
ZC4KKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyU291cmNlTm9kZTo6dG90YWxQaXRjaFJh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJTb3VyY2VOb2RlOjpzZXRQYW5uZXJO
b2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyU291cmNlTm9kZTo6Y2xlYXJQYW5u
ZXJOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyU291cmNlTm9kZTo6ZmluaXNo
KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5oOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQYW5uZXJOb2RlOjpQYW5uZXJOb2RlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlv
L1Bhbm5lck5vZGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvUGFu
bmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRBdWRpb1Bhbm5lck5vZGU6Oldl
YktpdEF1ZGlvUGFubmVyTm9kZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRB
dWRpb1Bhbm5lck5vZGUuaDoKKworMjAyMS0wMy0xOCAgVHJ1aXR0IFNhdmVsbCAgPHRzYXZlbGxA
YXBwbGUuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjc0NjQ0LgorCisg
ICAgICAgIEJyb2tlIGludGVybmFsIE1hYyBCdWlsZHMKKworICAgICAgICBSZXZlcnRlZCBjaGFu
Z2VzZXQ6CisKKyAgICAgICAgIkltcGxlbWVudCBXZWJYUiBPcGFxdWUgRnJhbWVidWZmZXIiCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI2MDcKKyAg
ICAgICAgaHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvcjI3NDY0NAorCisyMDIxLTAzLTE4ICBB
bGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBbV2ViSURM
XSBEb24ndCBnZW5lcmF0ZSBzZXR0ZXJzIGZvciBnbG9iYWwgY29uc3RydWN0b3IgcHJvcGVydGll
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyOTg0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICByMjY4
NzEwIGZpeGVkICVJbnRlcmZhY2UlLnByb3RvdHlwZS5jb25zdHJ1Y3RvciB0byByZXNwZWN0IFtb
U2V0XV0gcmVjZWl2ZXIsIHlldAorICAgICAgICBnbG9iYWwgY29uc3RydWN0b3IgcHJvcGVydGll
cyBsaWtlIGB3aW5kb3cuSFRNTEVsZW1lbnRgIGFyZSBleHBvc2VkIHRvIHRoZSBzYW1lIGJ1Zy4K
KworICAgICAgICBUaGUgcmVhc29uIHdoeSBgT2JqZWN0LmNyZWF0ZSh3aW5kb3cpLkhUTUxFbGVt
ZW50ID0gWGAgcGVyZm9ybXMgY29ycmVjdGx5IGlzIHRoYXQKKyAgICAgICAgSlNPYmplY3Q6OnB1
dElubGluZVNsb3coKSBkb2Vzbid0IGludm9rZSBKU1Byb3h5OjpwdXQoKSwgbm9yIGFueSBvdGhl
ciBbW1NldF1dCisgICAgICAgIG92ZXJyaWRlLCBkdXJpbmcgcHJvdG90eXBlIGNoYWluIHRyYXZl
cnNhbC4gVGhhdCBpcyBiZWluZyBmaXhlZCBpbiAjMjE3OTE2LgorCisgICAgICAgIFRvIGF2b2lk
IHJlZ3Jlc3Npbmcgb24gdGhlIGFib3ZlIHNuaXBwZXQsIHRoaXMgY2hhbmdlIGFwcGxpZXMgdGhl
IHNpbWlsaWFyIGZpeCBhcworICAgICAgICBpbiByMjY4NzEwIHRvIGdsb2JhbCBjb25zdHJ1Y3Rv
ciBwcm9wZXJ0aWVzOiBhIHNldHRlci1sZXNzIEN1c3RvbVZhbHVlIHRoYXQgaXMKKyAgICAgICAg
dHJlYXRlZCBhcyBkYXRhIGRlc2NyaXB0b3IgWzFdIGJ5IFtbU2V0XV0uCisKKyAgICAgICAgQXBh
cnQgZnJvbSBhbHRlcmVkIHJlY2VpdmVyIGNhc2UsIGEgcGF0Y2ggZm9yICMyMTc5MTYgd2lsbCBh
bHNvIGZpeCBbW0VudW1lcmFibGVdXQorICAgICAgICBwcm9wZXJ0eSBhdHRyaWJ1dGUgdG8gYmUg
cHJlc2VydmVkIHdoZW4gb3JpZ2luYWwgQ3VzdG9tVmFsdWUgcHJvcGVydHkgaXMgcmVwbGFjZWQu
CisKKyAgICAgICAgVGhpcyBjaGFuZ2UgcmVkdWNlcyBXZWJDb3JlIC0tcmVsZWFzZSBiaW5hcnkg
c2l6ZSBieSAwLjY4JSAoNTQ4IEtCKS4KKworICAgICAgICBBbHNvLCBhcyBhIGRyaXZlLWJ5IGZp
eCwgdXRpbGl6ZXMgSXNET01HbG9iYWxPYmplY3QgdG8gc2ltcGxpZnkgY29uc3RydWN0b3IgZ2V0
dGVycworICAgICAgICBmb3IgYWxsIEpTRE9NR2xvYmFsT2JqZWN0IHN1YmNsYXNzZXMuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgWzFdIGh0
dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNzZWMtb3JkaW5hcnlzZXR3aXRob3duZGVzY3JpcHRvciAo
c3RlcCAzLmUuaWkpCisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbToKKyAgICAgICAgKEdldEF0dHJpYnV0ZVNldHRlck5hbWUpOgorICAgICAgICAoR2VuZXJh
dGVQcm9wZXJ0aWVzSGFzaFRhYmxlKToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24p
OgorICAgICAgICAoR2VuZXJhdGVBdHRyaWJ1dGVHZXR0ZXJCb2R5RGVmaW5pdGlvbik6CisgICAg
ICAgIChHZW5lcmF0ZUF0dHJpYnV0ZVNldHRlckJvZHlEZWZpbml0aW9uKToKKyAgICAgICAgKEdl
bmVyYXRlQXR0cmlidXRlU2V0dGVyRGVmaW5pdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTLyo6IFVwZGF0ZWQuCisKKzIwMjEtMDMtMTggIFJvYiBCdWlzICA8cmJ1aXNA
aWdhbGlhLmNvbT4KKworICAgICAgICBVc2UgZG91YmxlIGRpdmlzaW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMzNjYKKworICAgICAgICBSZXZp
ZXdlZCBieSBaYWxhbiBCdWp0YXMuCisKKyAgICAgICAgVXNlIGRvdWJsZSBpbnN0ZWFkIG9mIExh
eW91dFVuaXQgZGl2aXNpb24gc2luY2UKKyAgICAgICAgTGF5b3V0VW5pdCByZXNvbHV0aW9uIGlz
IG5vdCBoaWdoIGVub3VnaCB0byBzdXBwb3J0CisgICAgICAgIG5lYXItemVybyB2YWx1ZXMuCisK
KyAgICAgICAgVGVzdDogZmFzdC9jc3MvYXNwZWN0LXJhdGlvLWRpdmlzaW9uLWNyYXNoLmh0bWwK
KworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6
aW5saW5lU2l6ZUZyb21Bc3BlY3RSYXRpbyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJv
eC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpibG9ja1NpemVGcm9tQXNwZWN0UmF0
aW8pOgorCisyMDIxLTAzLTE4ICBGcsOpZMOpcmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgor
CisgICAgICAgIE51bGxwdHIgY3Jhc2ggaW4gUmVuZGVyU3R5bGU6OnNoYXBlT3V0c2lkZSgpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjEzODIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBaYWxhbiBCdWp0YXMuCisKKyAgICAgICAgQmVmb3JlIGJ1ZyAy
MjMwNDEsIGl0IHdhcyBwb3NzaWJsZSB0byBnZXQgZGFuZ2xpbmcgV2Vha1B0ciBtX3JlbmRlcmVy
IG9uIEZsb2F0aW5nT2JqZWN0LiBUaGlzCisgICAgICAgIHBhdGNoIGFkZHMgZGVidWcgQVNTRVJU
IGFuZCBtb3JlIHJlZ3Jlc3Npb24gdGVzdHMuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvYmxvY2sv
ZmxvYXQvZmxvYXQtcHNldWRvLWVsZW1lbnQtbm90LXJlbW92ZWQtY3Jhc2guaHRtbAorICAgICAg
ICAgICAgICAgZmFzdC9ibG9jay9mbG9hdC9mbG9hdC1wc2V1ZG8tZWxlbWVudC1ub3QtcmVtb3Zl
ZC0yLWNyYXNoLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9GbG9hdGluZ09iamVjdHMuaDog
YWRkIG51bGxjaGVjayBBU1NFUlQgZm9yIGRlYnVnIGJ1aWxkcy4KKworMjAyMS0wMy0xOCAgSW1h
bm9sIEZlcm5hbmRleiAgPGlmZXJuYW5kZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBsZW1l
bnQgV2ViWFIgT3BhcXVlIEZyYW1lYnVmZmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI2MDcKKworICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4g
RmFibGV0LgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhIGJhc2UgWFIgbGF5ZXJzIEFQSSB3
aGljaCBpcyBpbml0aWFsbHkgdXNlZCBieSBXZWJYUldlYkdMTGF5ZXIsIGJ1dAorICAgICAgICB3
aXRoIHRoZSBnb2FsIG9mIHN1cHBvcnRpbmcgbW9yZSB0eXBlcyBvZiBsYXllcnMgaW4gdGhlIGZ1
dHVyZSAoc2VlIFdlYlhSIExheWVycyBzcGVjKS4KKworICAgICAgICBMYXllcnMgYXJlIGNvbm5l
Y3RlZCB0byBXZWJHTCBieSB1c2luZyBzaGFyZWQgdGV4dHVyZXMuIEluIHRoZSBjYXNlIG9mIFdl
YlhSV2ViR0xMYXllcgorICAgICAgICBpdCBjcmVhdGVzIGFuIE9wYXF1ZSBGcmFtZWJ1ZmZlciB0
aGF0IHJlbmRlcnMgdG8gdGhlIHNoYXJlZCB0ZXh0dXJlLiBYUiBydW50aW1lcyBzdXBwb3J0aW5n
CisgICAgICAgIGRvdWJsZSBvciB0cmlwbGUgYnVmZmVyaW5nIGNhbiBzZW5kIGRpZmZlcmVudCBz
aGFyZWQgdGV4dHVyZXMgZWFjaCBmcmFtZSBpbiB0aGUgRnJhbWVEYXRhIHN0cnVjdC4KKyAgICAg
ICAgVGhlIHRleHR1cmUgZm9yIHRoZSBjdXJyZW50IGZyYW1lIGlzIGF0dGFjaGVkIGluIFdlYlhS
TGF5ZXI6OnN0YXJ0RnJhbWUgYW5kIHByZXBhcmVkIHRvIHNlbmQgaXQgYmFjayB0byB0aGUKKyAg
ICAgICAgVlIgY29tcG9zaXRvciBpbiBXZWJYUkxheWVyOjplbmRGcmFtZSgpLgorCisgICAgICAg
IFRlc3RlZCBieSB0aGUgV2ViWFIgV1BUIHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy93ZWJ4
ci9XZWJYUkxheWVyLmg6IGFkZCBzdGFydEZyYW1lIGFuZCBlbmRGcmFtZSBwdXJlIHZpcnR1YWwg
bWV0aG9kcy4KKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSU2Vzc2lvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJYUlNlc3Npb246Om9uRnJhbWUpOiBkbyBub3QgY2FsbCBSQUZzIGlm
IGZyYW1lRGF0YS5zaG91bGRSZW5kZXIgaXMgZmFsc2UuCisgICAgICAgICogTW9kdWxlcy93ZWJ4
ci9XZWJYUlNlc3Npb24uaDogYWRkIGRldmljZSBnZXR0ZXIuCisKKyAgICAgICAgKiBNb2R1bGVz
L3dlYnhyL1dlYlhSU3lzdGVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSU3lzdGVtOjpE
dW1teUlubGluZURldmljZTo6cmVxdWVzdEZyYW1lKTogYWx3YXlzIGVuYWJsZSBmcmFtZURhdGEu
c2hvdWxkUmVuZGVyIGZsYWcuCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlN5c3RlbS5o
OiBPdmVycmlkZSBuZXcgdmlydHVhbCBmdW5jdGlvbnMuCisgICAgICAgICogTW9kdWxlcy93ZWJ4
ci9XZWJYUlZpZXdwb3J0Lmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUlZpZXdwb3J0OjpyZWN0
IGNvbnN0KTogQWRkIGhlbHBlciBtZXRob2QuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dl
YlhSV2ViR0xMYXllci5jcHA6IFJlZmFjdG9yIHJlc291cmNlIGluaXRpYWxpemF0aW9uIHRvIGNy
ZWF0ZSBtZXRob2QuCisgICAgICAgIChXZWJDb3JlOjpXZWJYUldlYkdMTGF5ZXI6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJYUldlYkdMTGF5ZXI6OldlYlhSV2ViR0xMYXllcik6Cisg
ICAgICAgIChXZWJDb3JlOjptX2lzQ29tcG9zaXRpb25FbmFibGVkKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYlhSV2ViR0xMYXllcjo6ZnJhbWVidWZmZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViWFJXZWJHTExheWVyOjpmcmFtZWJ1ZmZlcldpZHRoIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OldlYlhSV2ViR0xMYXllcjo6ZnJhbWVidWZmZXJIZWlnaHQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViWFJXZWJHTExheWVyOjpzdGFydEZyYW1lKTogUHJlcGFyZSBPcGFxdWUg
RnJhbWVidWZmZXIgZm9yIHRoZSBzdGFydCBvZiBuZXh0IGZyYW1lLgorICAgICAgICAoV2ViQ29y
ZTo6V2ViWFJXZWJHTExheWVyOjplbmRGcmFtZSk6IFByZXBhcmUgT3BhcXVlIEZyYW1lYnVmZmVy
IGZvciBWUiBjb21wb3NpdG9yIHN1Ym1pdEZyYW1lLgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJX
ZWJHTExheWVyOjpjYW52YXNSZXNpemVkKTogTW92ZSBtZXRob2QKKworICAgICAgICAoV2ViQ29y
ZTo6V2ViWFJPcGFxdWVGcmFtZWJ1ZmZlcjo6Y3JlYXRlKTogSW1wbGVtZW50IGNsYXNzIHRvIG1h
bmFnZSBXZWJYUiBPcGFxdWUgZnJhbWVidWZmZXIuCisgICAgICAgIChXZWJDb3JlOjpXZWJYUk9w
YXF1ZUZyYW1lYnVmZmVyOjpXZWJYUk9wYXF1ZUZyYW1lYnVmZmVyKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYlhST3BhcXVlRnJhbWVidWZmZXI6On5XZWJYUk9wYXF1ZUZyYW1lYnVmZmVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYlhST3BhcXVlRnJhbWVidWZmZXI6OnN0YXJ0RnJhbWUpOiBBdHRh
Y2ggc2hhcmVkIHRleHR1cmUgZm9yIHRoZSBjdXJyZW50IGZyYW1lLgorICAgICAgICAoV2ViQ29y
ZTo6V2ViWFJPcGFxdWVGcmFtZWJ1ZmZlcjo6ZW5kRnJhbWUpOiBGbHVzaCBhbmQgcmVzb2x2ZSBt
dWx0aXNhbXBsaW5nIGlmIHJlcXVpcmVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJPcGFxdWVG
cmFtZWJ1ZmZlcjo6c2V0dXBGcmFtZWJ1ZmZlcik6IEFsbG9jYXRlIHRoZSBPcGFxdWUgZnJhbWVi
dWZmZXIgd2l0aCByZXF1ZXN0ZWQgYXR0cmlidXRlcy4KKworICAgICAgICAqIE1vZHVsZXMvd2Vi
eHIvV2ViWFJXZWJHTExheWVyLmg6ICBBZGQgV2ViWFJPcGFxdWVGcmFtZWJ1ZmZlciBhbmQgaGFu
ZGxlIG1lbWJlcnMuCisgICAgICAgIChXZWJDb3JlOjpXZWJYUk9wYXF1ZUZyYW1lYnVmZmVyOjpo
YW5kbGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJPcGFxdWVGcmFtZWJ1ZmZlcjo6
ZnJhbWVidWZmZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJPcGFxdWVGcmFtZWJ1
ZmZlcjo6d2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJPcGFxdWVGcmFtZWJ1
ZmZlcjo6aGVpZ2h0IGNvbnN0KToKKworICAgICAgICAqIFNvdXJjZXMudHh0OiBBZGQgT3BlblhS
TGF5ZXIuY3BwIGFuZCBPcGVuWFJTd2FwY2hhaW4uY3BwLgorCisgICAgICAgICogaHRtbC9jYW52
YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJS
ZW5kZXJpbmdDb250ZXh0OjpnZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIpOiBoYW5k
bGUgT3BhcXVlIEZyYW1lYnVmZmVycy4KKworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMRnJh
bWVidWZmZXIuY3BwOiBBZGQgbWVtYmVycyBhbmQgbWV0aG9kcyByZXF1aXJlZCBmb3IgT3BhcXVl
IEZyYW1lYnVmZmVycy4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMRnJhbWVidWZmZXI6OmNyZWF0
ZU9wYXF1ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTEZyYW1lYnVmZmVyOjpjaGVja1N0YXR1
cyBjb25zdCk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5oOgorCisg
ICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0RnJhbWVidWZmZXJBdHRhY2htZW50
UGFyYW1ldGVyKTogaGFuZGxlIE9wYXF1ZSBGcmFtZWJ1ZmZlcnMuCisKKyAgICAgICAgKiBodG1s
L2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcDogaGFuZGxlIE9wYXF1ZSBGcmFt
ZWJ1ZmZlcnMuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpk
ZWxldGVGcmFtZWJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlOjpmcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjpmcmFtZWJ1ZmZlclRleHR1cmUyRCk6CisKKyAgICAgICAg
KiBwbGF0Zm9ybS94ci9QbGF0Zm9ybVhSLmg6IEFkZCBtZXRob2QgdG8gc3VibWl0RnJhbWUuCisg
ICAgICAgIChQbGF0Zm9ybVhSOjpEZXZpY2U6OnN1Ym1pdEZyYW1lKToKKworICAgICAgICAqIHBs
YXRmb3JtL3hyL29wZW54ci9PcGVuWFJMYXllci5jcHA6IEFkZCBjbGFzcyB0byBtYW5hZ2UgT3Bl
blhSIGxheWVycy4KKyAgICAgICAgKFBsYXRmb3JtWFI6Ok9wZW5YUkxheWVyOjpPcGVuWFJMYXll
cik6CisgICAgICAgIChQbGF0Zm9ybVhSOjpPcGVuWFJMYXllclByb2plY3Rpb246OmNyZWF0ZSk6
CisgICAgICAgIChQbGF0Zm9ybVhSOjpPcGVuWFJMYXllclByb2plY3Rpb246Ok9wZW5YUkxheWVy
UHJvamVjdGlvbik6CisgICAgICAgIChQbGF0Zm9ybVhSOjpPcGVuWFJMYXllclByb2plY3Rpb246
OnN0YXJ0RnJhbWUpOgorICAgICAgICAqIHBsYXRmb3JtL3hyL29wZW54ci9PcGVuWFJMYXllci5o
OiBBZGRlZC4KKyAgICAgICAgKFBsYXRmb3JtWFI6Ok9wZW5YUkxheWVyOjpoYW5kbGUpOgorCisg
ICAgICAgICogcGxhdGZvcm0veHIvb3BlbnhyL09wZW5YUlN3YXBjaGFpbi5jcHA6IEFkZCBjbGFz
cyB0byBtYW5hZ2UgT3BlblhSIHN3YXBjaGFpbnMKKyAgICAgICAgKFBsYXRmb3JtWFI6Ok9wZW5Y
UlN3YXBjaGFpbjo6Y3JlYXRlKToKKyAgICAgICAgKFBsYXRmb3JtWFI6Ok9wZW5YUlN3YXBjaGFp
bjo6T3BlblhSU3dhcGNoYWluKToKKyAgICAgICAgKFBsYXRmb3JtWFI6Ok9wZW5YUlN3YXBjaGFp
bjo6fk9wZW5YUlN3YXBjaGFpbik6CisgICAgICAgIChQbGF0Zm9ybVhSOjpPcGVuWFJTd2FwY2hh
aW46OmFjcXVpcmVJbWFnZSk6CisgICAgICAgIChQbGF0Zm9ybVhSOjpPcGVuWFJTd2FwY2hhaW46
OnJlbGVhc2VJbWFnZSk6CisgICAgICAgICogcGxhdGZvcm0veHIvb3BlbnhyL09wZW5YUlN3YXBj
aGFpbi5oOiBBZGRlZC4KKworICAgICAgICAqIHBsYXRmb3JtL3hyL29wZW54ci9PcGVuWFJVdGls
cy5oOiBBZGQgaGVscGVyIGxvZyBmdW5jdGlvbgorICAgICAgICAoUGxhdGZvcm1YUjo6eHJWaWV3
VG9Qb3NlKTogVXNlIGZhYnMgaW5zdGVhZCBvZiBuZWdhdGlvbgorCisgICAgICAgICogcGxhdGZv
cm0veHIvb3BlbnhyL1BsYXRmb3JtWFJPcGVuWFIuY3BwOgorICAgICAgICAoUGxhdGZvcm1YUjo6
T3BlblhSRGV2aWNlOjppbml0aWFsaXplVHJhY2tpbmdBbmRSZW5kZXJpbmcpOiBjcmVhdGUgR3Jh
cGhpY3NDb250ZXh0R0wgZm9yIHRleHR1cmUgc2hhcmluZy4KKyAgICAgICAgKFBsYXRmb3JtWFI6
Ok9wZW5YUkRldmljZTo6cmVxdWVzdEZyYW1lKTogUHJlcGFyZSBhbmQgZmlsbCBsYXllcnMgaWYg
c2hvdWxkUmVuZGVyIGlzIHRydWUuCisgICAgICAgIChQbGF0Zm9ybVhSOjpPcGVuWFJEZXZpY2U6
OnN1Ym1pdEZyYW1lKTogSW1wbGVtZW50IHN1Ym1pdCBsYXllcnMgdG8gT3BlblhSCisgICAgICAg
IChQbGF0Zm9ybVhSOjpPcGVuWFJEZXZpY2U6OmNyZWF0ZUxheWVyUHJvamVjdGlvbik6IEltcGxl
bWVudCBsYXllciBjcmVhdGlvbiBtZXRob2QKKyAgICAgICAgKFBsYXRmb3JtWFI6Ok9wZW5YUkRl
dmljZTo6ZGVsZXRlTGF5ZXIpOiBJbXBsZW1lbnQgbGF5ZXIgZGVhbGxvY2F0aW9uCisgICAgICAg
IChQbGF0Zm9ybVhSOjpPcGVuWFJEZXZpY2U6OmNvbGxlY3RFbmFibGVkRmVhdHVyZXMgY29uc3Qp
OgorICAgICAgICAoUGxhdGZvcm1YUjo6T3BlblhSRGV2aWNlOjpyZXNldFNlc3Npb24pOiBEZWFs
bG9jYXRlIGxheWVycyBhbmQgZ3JhcGhpY3MgY29udGV4dC4KKworICAgICAgICAqIHBsYXRmb3Jt
L3hyL29wZW54ci9QbGF0Zm9ybVhST3BlblhSLmg6IEFkZCBMYXllcnMgQVBJCisKKyAgICAgICAg
KiB0ZXN0aW5nL1dlYkZha2VYUkRldmljZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW11bGF0
ZWRYUkRldmljZTo6cmVjb21tZW5kZWRSZXNvbHV0aW9uKTogSW5jcmVhc2Ugc2l6ZSB0byBhdm9p
ZCBwbGF0Zm9ybSBtaW5pbXVtIEZCTyBzaXplIGVycm9ycworICAgICAgICAoV2ViQ29yZTo6U2lt
dWxhdGVkWFJEZXZpY2U6OmluaXRpYWxpemVUcmFja2luZ0FuZFJlbmRlcmluZyk6IENyZWF0ZSBn
cmFwaGljcyBjb250ZXh0CisgICAgICAgIChXZWJDb3JlOjpTaW11bGF0ZWRYUkRldmljZTo6c2h1
dERvd25UcmFja2luZ0FuZFJlbmRlcmluZyk6IFJlbGVhc2UgZ3JhcGhpY3MgY29udGV4dAorICAg
ICAgICAoV2ViQ29yZTo6U2ltdWxhdGVkWFJEZXZpY2U6OmZyYW1lVGltZXJGaXJlZCk6IHNldCB1
cCBsYXllcnMgaW4gZnJhbWUgZGF0YQorICAgICAgICAoV2ViQ29yZTo6U2ltdWxhdGVkWFJEZXZp
Y2U6OmNyZWF0ZUxheWVyUHJvamVjdGlvbik6IGNyZWF0ZXMgYSB0ZXh0dXJlIGZvciBhIGxheWVy
LgorICAgICAgICAoV2ViQ29yZTo6U2ltdWxhdGVkWFJEZXZpY2U6OmRlbGV0ZUxheWVyKTogcmVs
ZWFzZXMgdGhlIGFzc29jaWF0ZWQgdGV4dHVyZSB0byBhIGxheWVyCisgICAgICAgICogdGVzdGlu
Zy9XZWJGYWtlWFJEZXZpY2UuaDoKKworMjAyMS0wMy0xOCAgQ2FybG9zIEdhcmNpYSBDYW1wb3Mg
IDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW1NPVVBdIFNPVVAzIGNyYXNoZXMgaW5z
aWRlIHNvdXBfbWVzc2FnZV9zZXRfcmVxdWVzdF9ib2R5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMyMzYKKworICAgICAgICBSZXZpZXdlZCBieSBB
ZHJpYW4gUGVyZXogZGUgQ2FzdHJvLgorCisgICAgICAgIE1ha2UgV2ViS2l0Rm9ybURhdGFJbnB1
dFN0cmVhbSBpbXBsZW1lbnQgR1BvbGxhYmxlSW5wdXRTdHJlYW0uCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvV2ViS2l0Rm9ybURhdGFJbnB1dFN0cmVhbS5jcHA6CisgICAgICAg
ICh3ZWJraXRGb3JtRGF0YUlucHV0U3RyZWFtTmV3KToKKyAgICAgICAgKHdlYmtpdEZvcm1EYXRh
SW5wdXRTdHJlYW1DYW5Qb2xsKToKKyAgICAgICAgKHdlYmtpdEZvcm1EYXRhSW5wdXRTdHJlYW1J
c1JlYWRhYmxlKToKKyAgICAgICAgKHdlYmtpdEZvcm1EYXRhSW5wdXRTdHJlYW1DcmVhdGVTb3Vy
Y2UpOgorICAgICAgICAod2Via2l0Rm9ybURhdGFJbnB1dFN0cmVhbVBvbGxhYmxlSW50ZXJmYWNl
SW5pdCk6CisKKzIwMjEtMDMtMTggIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW05pY29zaWFdIEJhY2twb3J0IGNvY29hIGZpeCBmb3IgUlRMIHN0aWNreSBwb3Np
dGlvbiBmcm9tIHIyNzM5ODIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMzM5NQorCisgICAgICAgIFJldmlld2VkIGJ5IEFkcmlhbiBQZXJleiBkZSBD
YXN0cm8uCisKKyAgICAgICAgRml4ZXMgZmFzdC9jc3Mvc3RpY2t5L3N0aWNreS1pbi1ydGwtb3Zl
cmZsb3cuaHRtbCBmb3IgV1BFLgorCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9T
Y3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdU
cmVlU3RpY2t5Tm9kZTo6Y29tcHV0ZUxheWVyUG9zaXRpb24gY29uc3QpOgorCisyMDIxLTAyLTI2
ICBTZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIElu
dmFsaWRhdGUgUmVuZGVyVHJlZVBvc2l0aW9uJ3MgbmV4dCBzaWJsaW5nIHdpdGggZGlzcGxheTpj
b250ZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjE4NTc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAgICAg
V2hlbiBpbnNlcnRpbmcgZWxlbWVudHMgaW4gdGhlIHRyZWUgZnJvbSBKUyBpdCBtaWdodCBoYXBw
ZW4gdGhhdCB0aGUgcmVuZGVyVHJlZVBvc2l0aW9uKCkgaW4gdGhlIFJlbmRlclRyZWVVcGRhdGVy
CisgICAgICAgIGNhY2hlcyBhIG5leHRTaWJsaW5nKCkgdmFsdWUgd2hpY2ggaXMgb25seSB0ZW1w
b3JhcmlseSBjb3JyZWN0IGJlY2F1c2Ugd2Ugc2VxdWVudGlhbGx5IHByb2Nlc3MgdGhlIGRlc2Nl
bmRhbnRzIG9mIGEKKyAgICAgICAgZ2l2ZW4gcm9vdCBub2RlIGluIFJlbmRlclRyZWVVcGRhdGVy
Ojp1cGRhdGVSZW5kZXJUcmVlKCkuIE9uZSBvZiB0aG9zZSBwb3RlbnRpYWxseSBpbmNvcnJlY3Qg
c2NlbmFyaW9zIGlzIHdoZW4KKyAgICAgICAgdXNpbmcgZGlzcGxheTpjb250ZW50cy4gV2UgY2Fu
IGRldGVjdCB0aG9zZSBjYXNlcyBiZWNhdXNlIHdlIHdvdWxkIGxlYXZlIGEgcGFyZW50IGVsZW1l
bnQgaW4gUmVuZGVyVHJlZVVwZGF0ZXI6OnBvcFBhcmVudCgpCisgICAgICAgIHdpdGhvdXQgY2hh
bmdpbmcgcmVuZGVyaW5nUGFyZW50KCkgYW5kIHNvIHdpdGhvdXQgY2hhbmdpbmcgcmVuZGVyVHJl
ZVBvc2l0aW9uKCkuIE9uY2Ugd2UgYXJlIGluIHRoYXQgc2l0dWF0aW9uIHdlCisgICAgICAgIG11
c3QgaW52YWxpZGF0ZSB0aGUgY2FjaGVkIHBvc2l0aW9uIHNvIHRoZSBuZXh0IHNpYmxpbmcgaXMg
cmVjb21wdXRlZC4KKworICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBk
YXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlVXBkYXRlcjo6cG9wUGFyZW50
KTogSW52YWxpZGF0ZSB0aGUgcmVuZGVyIHRyZWUgcG9zaXRpb24ncyBuZXh0IHNpYmxpbmcgaWYg
dGhlIHBhcmVudCBlbGVtZW50IGlzIG5vdAorICAgICAgICB0aGUgcmVuZGVyaW5nUGFyZW50KCku
CisKKzIwMjEtMDMtMTggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFBhZ2luYXRpb24gbW9kZTogSW5jcmVhc2UgdGhlIGFtb3VudCBvZiByZWN1
cnNpb25zIGFsbG93ZWQgYnkgUmVuZGVyVGFibGU6OmxheW91dCgpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg1NzUKKworICAgICAgICBSZXZpZXdl
ZCBieSBaYWxhbiBCdWp0YXMuCisKKyAgICAgICAgSW4gcjIxOTM5NCBhIHJlY3Vyc2lvbiBjaGVj
ayB3YXMgaW50cm9kdWNlZCB0byBhdm9pZCBpbmZpbml0ZSByZWN1cnNpb24gd2hlbiBhIHNlY3Rp
b24gaXMgYWx3YXlzIG1vdmVkIG9uCisgICAgICAgIFJlbmRlclRhYmxlOjpsYXlvdXQoKS4gQnV0
IHNvbWV0aW1lcyBpdCdzIG5lZWRlZCB0byByZWN1cnNlIG1vcmUgdGhhbiBvbmNlIHRvIGxheW91
dCB0aGUgdGFibGUgd2hlbiBzZWN0aW9uIG1vdmUKKyAgICAgICAgZHVlIHRvIHRoZSBwYWdpbmF0
aW9uLiBUaGlzIHBhdGNoIGxpbWl0cyB0aGUgcmVjdXJzaW9uIGxldmVsIHRvIHRoZSBhbW91bnQg
b2Ygc2VjdGlvbnMgaW4gdGhlIHRhYmxlLCBpbnN0ZWFkIG9mCisgICAgICAgIGp1c3Qgb25lLgor
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRhYmxlOjpsYXlvdXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZS5o
OgorCisyMDIxLTAzLTE4ICBGcsOpZMOpcmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgorCisg
ICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6IG5vZGUuaXNDb25uZWN0ZWQoKSBpbiBtYXRjaFNsb3R0
ZWRQc2V1ZG9FbGVtZW50UnVsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyMTQ0MAorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4K
KworICAgICAgICBSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6ZG9BcHBseSgpIHJlbW92ZXMgYSA8
YnI+IGZyb20gYW4gZWxlbWVudCBhbmQgaW1tZWRpYXRlbHkgY2FsbHMKKyAgICAgICAgaGlnaGVz
dE5vZGVUb1JlbW92ZUluUHJ1bmluZygpIG9uIHRoYXQgZWxlbWVudC4gVGhlIGZvcm1lciBvcGVy
YXRpb24gbWF5IGRlc3Ryb3kgdGhlCisgICAgICAgIGVsZW1lbnQncyByZW5kZXJlciBhbmQgY29u
ZnVzZXMgdGhlIGxhdHRlciBvcGVyYXRpb24uIFRoaXMgaGFwcGVucyBpbiBwYXJ0aWN1bGFyIGZv
ciBhCisgICAgICAgIDxzdW1tYXJ5PiBlbGVtZW50IHdoaWNoIGVuZHMgdXAgYmVpbmcgcmVtb3Zl
ZCBmcm9tIHRoZSB0cmVlLiBUaGlzIGluIHR1cm4gY2F1c2VzIHVuZXhwZWN0ZWQKKyAgICAgICAg
aXNzdWVzIHN1Y2ggYXMgYSBkZWJ1ZyBhc3NlcnRpb24gZmFpbHVyZSBpbiBtYXRjaFNsb3R0ZWRQ
c2V1ZG9FbGVtZW50UnVsZXMuIFRvIGFkZHJlc3MgdGhhdAorICAgICAgICBwcm9ibGVtLCBlbnN1
cmUgdGhlIGRvY3VtZW50IGlzIGxhaWQgb3V0IGJlZm9yZSBjYWxsaW5nIGhpZ2hlc3ROb2RlVG9S
ZW1vdmVJblBydW5pbmcoKS4KKyAgICAgICAgVGhpcyBwYXRjaCBhbHNvIGluY3JlYXNlcyBhbmQg
aW1wcm92ZXMgdXNlIG9mIFJlZlB0cjxOb2RlPi4KKworICAgICAgICAqIGVkaXRpbmcvQ29tcG9z
aXRlRWRpdENvbW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcG9zaXRlRWRpdENvbW1h
bmQ6OnJlbW92ZU5vZGVBbmRQcnVuZUFuY2VzdG9ycyk6IFVzZSBhdXRvICYgbWFrZVJlZlB0ci4K
KyAgICAgICAgKFdlYkNvcmU6OkNvbXBvc2l0ZUVkaXRDb21tYW5kOjpwcnVuZSk6IFN0b3JlIGxv
Y2FsIGhpZ2hlc3ROb2RlVG9SZW1vdmUgdmFyaWFibGUgaW4gYSBSZWZQdHIuCisgICAgICAgIChX
ZWJDb3JlOjpDb21wb3NpdGVFZGl0Q29tbWFuZDo6Y2xlYW51cEFmdGVyRGVsZXRpb24pOiBTdG9y
ZSBsb2NhbCBub2RlIHZhcmlhYmxlIGluIGEgUmVmUHRyLgorICAgICAgICAoV2ViQ29yZTo6Q29t
cG9zaXRlRWRpdENvbW1hbmQ6OmJyZWFrT3V0T2ZFbXB0eU1haWxCbG9ja3F1b3RlZFBhcmFncmFw
aCk6IFN0b3JlIGxvY2FsIHBhcmVudE5vZGUgdmFyaWFibGUgaW4gYSBSZWZQdHIuCisgICAgICAg
ICogZWRpdGluZy9FZGl0aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmhpZ2hlc3ROb2RlVG9S
ZW1vdmVJblBydW5pbmcpOiBTdG9yZSBsb2NhbCBjdXJyZW50Tm9kZSB2YXJpYWJsZSBpbiBhICBh
IFJlZlB0ci4KKyAgICAgICAgKiBlZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5KTogVXNl
IGF1dG8gJiBtYWtlUmVmUHRyLiBTdG9yZSBsb2NhbCBvZGVUb1JlbW92ZSB2YXJpYWJsZSBpbiBh
ICBSZWZQdHIuCisgICAgICAgIEVuc3VyZSB0aGUgZG9jdW1lbnQgaXMgbGFpZCBvdXQgYmVmb3Jl
IGNhbGxpbmcgaGlnaGVzdE5vZGVUb1JlbW92ZUluUHJ1bmluZy4KKworMjAyMS0wMy0xOCAgRGV2
aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgc2hvdWxkIGFsd2F5cyB1
c2UgYWxsIHByZXJlcXVpc2l0ZXMgZm9yIHRoZSBgTW9kZXJuTWVkaWFDb250cm9scy57anMsY3Nz
fWAgcnVsZXMgaW4gRGVyaXZlZFNvdXJjZXMubWFrZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNDIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVz
dWtlIFN1enVraS4KKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgIGAk
P2AgaXMgYSB1bmlxdWVkIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIGFsbCBwcmVyZXF1aXNpdGVz
IG1vZGlmaWVkIGFmdGVyIHRoZSB0YXJnZXQgd2FzIG1vZGlmaWVkLgorICAgICAgICBgJF5gIGlz
IGEgdW5pcXVlZCBzcGFjZS1zZXBhcmF0ZWQgbGlzdCBvZiBhbGwgcHJlcmVxdWlzaXRlcyByZWdh
cmRsZXNzIG9mIHdoZW4gdGhlIHRhcmdldC9wcmVyZXF1aXNpdGUgd2FzIG1vZGlmaWVkLgorICAg
ICAgICBXZSB3YW50IHRvIHVzZSB0aGUgbGF0dGVyIHNpbmNlIHdlIGFsd2F5cyB3YW50IHRvIGBj
YXRgIGFsbCB0aGUgSlMvQ1NTIGZpbGVzLCBub3QganVzdCB0aGUgcmVjZW50bHkgZWRpdGVkIG9u
ZXMuCisKIDIwMjEtMDMtMTggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyOjp3cml0YWJsZSBzaG91bGQgY2hlY2sgZm9y
IG1fYmFja2VuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL3BvL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9wby9DaGFuZ2VMb2cKaW5kZXgg
ZTNjMDIwODBlY2E5MzlhNWY5YjI4OWE3NDFiODI3MjkyNDVhOGMyZi4uM2QxNjE2NTI3ZGVjMDJk
OTVjYmJkMzc3ODI3OTYwZDMxYjU5ZmJmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL3BvL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsv
cG8vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDMtMTggIFBpb3RyIERyxIVnICA8
cGlvdHJkcmFnQGdtYWlsLmNvbT4KKworICAgICAgICBbR1RLXVtsMTBuXSBVcGRhdGVkIFBvbGlz
aCB0cmFuc2xhdGlvbiBvZiBXZWJLaXRHVEsgZm9yIDIuMzIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzE0OQorCisgICAgICAgIFJ1YmJlci1zdGFt
cGVkIGJ5IENhcmxvcyBHYXJjaWEgQ2FtcG9zLgorCisgICAgICAgICogcGwucG86CisKIDIwMjEt
MDMtMDggIERpbmd6aG9uZyBDaGVuICA8d3N4eTE2MkBnbWFpbC5jb20+CiAKICAgICAgICAgW0dU
S10gVXBkYXRlIFNpbXBsaWZpZWQgQ2hpbmVzZSB0cmFuc2xhdGlvbgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFu
Z2VMb2cKaW5kZXggZmQ1NDJkYjBhMjYxOGNlZGExMzkyODBmZDlhMjMzZDMwODM3YTkzZS4uYTAx
ZTY1MTRjMjllMTQ3N2E1NzI0OGIxMGE0NTM4OTM3MjY0NmExZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDMtMTggIE5pa2l0YSBWYXNpbHlldiAgPG52
YXNpbHlldkBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUkVHUkVTU0lPTihy
MjcxMzQ4KTogQ29uc29sZTogbWVzc2FnZSBzb3VyY2UgY29kZSBsb2NhdGlvbiBpcyBub3QgdmVy
dGljYWxseSBhbGlnbmVkIHdpdGggY29udGFpbmluZyBmdW5jdGlvbiBuYW1lCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMyODgKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzc1NDk4NTc3PgorCisgICAgICAgIFJldmlld2VkIGJ5IERldmluIFJvdXNz
by4KKworICAgICAgICBXZWJLaXQgaW5saW5lLWJsb2NrIGJlaGF2aW9yIGNoYW5nZWQgaW4gcjI3
MTM0OCB0byBtYXRjaCB0aGUgc3BlYyBtb3JlIGNsb3NlbHkuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL0NvbnNvbGVNZXNzYWdlVmlldy5jc3M6CisgICAgICAgICguY29uc29sZS1t
ZXNzYWdlLWxvY2F0aW9uLmNhbGwtZnJhbWUgPiAudGl0bGUpOgorICAgICAgICBFeHBsaWNpdGx5
IHNldCBgdmVydGljYWwtYWxpZ25gIHRvIG1hdGNoIHRoZSBiZWhhdmlvciBwcmlvciByMjcxMzQ4
LgorCiAyMDIxLTAzLTE3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAg
ICAgICBXZWIgSW5zcGVjdG9yOiB1c2UgbmF0aXZlIGRhdGV0aW1lLWxvY2FsIHBpY2tlciBmb3Ig
Y2hhbmdpbmcgYGV4cGlyZXNgIHZhbHVlIGluIGNvb2tpZSBwb3BvdmVyCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcy
MmJkNzNiNWQ5ZTU2YWNkODllNjY1NTgxMGY4M2ZiOGRmMjczMDYuLjc5NzZkM2RhNjNiYjMyNWVh
NDgxYzBkY2Y3OWMwNmVkNGFlYmFjOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTQgQEAKKzIwMjEt
MDMtMTggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAg
W2lPU10gZWRpdGluZy9zZWxlY3Rpb24vY2hhcmFjdGVyLWdyYW51bGFyaXR5LXJlY3QuaHRtbCBm
YWlscyBvbiBjZXJ0YWluIGludGVybmFsIGNvbmZpZ3VyYXRpb25zIGFmdGVyIHIyNzQ2MTAKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzQ0NworCisg
ICAgICAgIFJldmlld2VkIGJ5IERldmluIFJvdXNzby4KKworICAgICAgICBPbiB2ZXJzaW9ucyBv
ZiBpT1Mgd2hlcmUgYEVOQUJMRShJTUFHRV9FWFRSQUNUSU9OKWAgaXMgZGVmaW5lZCBidXQgdGhl
IHN5c3RlbSBmZWF0dXJlIGlzIGRpc2FibGVkLCB0aGlzIHRlc3QKKyAgICAgICAgYmVnYW4gZmFp
bGluZyBhZnRlciByMjc0NjEwLiBUaGlzIGlzIGJlY2F1c2UgdGhlIG5ldyBpbWFnZSBleHRyYWN0
aW9uIGRlZmVycmFsIGdlc3R1cmUgbm93IGJsb2NrcyB0ZXh0CisgICAgICAgIGludGVyYWN0aW9u
IGdlc3R1cmVzLCBidXQgdGhlIGNvZGUgdG8gYWN0dWFsbHkgZmFpbCB0aGlzIGRlZmVycmluZyBn
ZXN0dXJlIChhbmQgdGh1cywgImxpZnQiIHRoZSBkZWZlcnJpbmcKKyAgICAgICAgZ2VzdHVyZSBn
YXRlKSBpcyBzdGlsbCBiZWhpbmQgdGhlIHN5c3RlbSBmbGFnLiBBcyBhIHJlc3VsdCwgdGV4dCBp
bnRlcmFjdGlvbnMgd2hlbiB0aGUgaW1hZ2UgZXh0cmFjdGlvbiBmbGFnIGlzCisgICAgICAgIGRp
c2FibGVkIHdpbGwgb25seSBiZWdpbiBhZnRlciB0aGUgdG91Y2ggZW5kcy4KKworICAgICAgICBU
aGlzIG1lYW5zIHRoYXQgd2hlbiBzZWxlY3RpbmcgdGV4dCB2aWEgYSBsb25nIHByZXNzLCB0aGUg
dGV4dCBzZWxlY3Rpb24gZG9lc24ndCBhcHBlYXIgdW50aWwgbGlmdGluZyB0aGUgdG91Y2gKKyAg
ICAgICAgaWYgaW1hZ2UgZXh0cmFjdGlvbiBpcyBkaXNhYmxlZC4gVG8gZml4IHRoaXMsIHdlIG9u
bHkgZW5hYmxlIHRoaXMgZGVmZXJyaW5nIGdlc3R1cmUgaW4gdGhlIGNhc2Ugd2hlcmUgdGhlIHN5
c3RlbQorICAgICAgICBmZWF0dXJlIGlzIGVuYWJsZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
aW9zL0dlc3R1cmVSZWNvZ25pemVyQ29uc2lzdGVuY3lFbmZvcmNlci5tbToKKyAgICAgICAgKFdl
YktpdDo6R2VzdHVyZVJlY29nbml6ZXJDb25zaXN0ZW5jeUVuZm9yY2VyOjp0aW1lckZpcmVkKToK
KworICAgICAgICBBZGRpdGlvbmFsbHkgdHdlYWsgdGhlIGBHZXN0dXJlUmVjb2duaXplckNvbnNp
c3RlbmN5RW5mb3JjZXJgIHRvIG9ubHkgZm9yY2libHkgcmVzZXQgbGluZ2VyaW5nIHVubGlmdGVk
IGdlc3R1cmUKKyAgICAgICAgcmVjb2duaXplcnMgaWYgdGhleSBhcmUgZW5hYmxlZC4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAg
ICAoLVtXS0NvbnRlbnRWaWV3IHNldFVwSW50ZXJhY3Rpb25dKToKKworMjAyMS0wMy0xOCAgQW50
dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAgICAgICAgRG9uJ3QgZGVsYXkgY29u
ZGl0aW9uYWwgcmVxdWVzdHMgaW4gcmVzb3VyY2UgbG9hZCBzY2hlZHVsZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzQ1MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0xvYWRTY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrTG9hZFNjaGVk
dWxlcjo6SG9zdENvbnRleHQ6OnNjaGVkdWxlKToKKworICAgICAgICBDb25kaXRpb25hbCByZXF1
ZXN0cyB1c3VhbGx5IGNvbWUgYmFjayBhcyAzMDRzIGFuZCBkb24ndCBzbG93IG90aGVyIHJlc291
cmNlIGxvYWRzIGRvd24uCisKKzIwMjEtMDMtMTggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dh
cmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtXUEVdIEJ1bXAgQVBJIHZlcnNpb24gd2hlbiBi
dWlsZGluZyB3aXRoIGxpYnNvdXAzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjM0MzcKKworICAgICAgICBSZXZpZXdlZCBieSBBZHJpYW4gUGVyZXog
ZGUgQ2FzdHJvLgorCisgICAgICAgICogUGxhdGZvcm1XUEUuY21ha2U6IFVzZSBXUEVfQVBJX0RP
Q19WRVJTSU9OIGluc3RlYWQgb2YgV1BFX0FQSV9WRVJTSU9OIGZvciBndGtkb2MgY29uZmlnIGZp
bGVzLgorICAgICAgICAqIHdwZS93cGUtd2ViLWV4dGVuc2lvbi11bmluc3RhbGxlZC5wYy5pbjog
QWRkIHZhcmlhYmxlIGZvciBsaWJzb3VwIHZlcnNpb24uCisgICAgICAgICogd3BlL3dwZS13ZWIt
ZXh0ZW5zaW9uLnBjLmluOiBEaXR0by4KKyAgICAgICAgKiB3cGUvd3BlLXdlYmtpdC11bmluc3Rh
bGxlZC5wYy5pbjogRGl0dG8uCisgICAgICAgICogd3BlL3dwZS13ZWJraXQucGMuaW46IERpdHRv
LgorCiAyMDIxLTAzLTE4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBHZW9sb2NhdGlvbiBBUEkgZG9lcyBub3Qgd29yayBpbiBXS1dlYlZpZXcgd2l0aCBjdXN0
b20gVVJMIHNjaGVtZSBoYW5kbGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q29uZmlndXJhdGlvbnMvVmVyc2lvbi54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9WZXJzaW9uLnhjY29uZmlnCmluZGV4IDAxYmEwZmFmNjJjMzQzMDg1ZDIz
ZjRhYjJiZGU0OGYzZWZhMGVmMjAuLmNjMzFhMTMzNTA4OTI1YTQwMzE0NTA2ZjI2Nzc5ZjMyODk3
OWI3OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9W
ZXJzaW9uLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9u
cy9WZXJzaW9uLnhjY29uZmlnCkBAIC0yMyw3ICsyMyw3IEBACiAKIE1BSk9SX1ZFUlNJT04gPSA2
MTI7CiBNSU5PUl9WRVJTSU9OID0gMTsKLVRJTllfVkVSU0lPTiA9IDc7CitUSU5ZX1ZFUlNJT04g
PSA4OwogTUlDUk9fVkVSU0lPTiA9IDA7CiBOQU5PX1ZFUlNJT04gPSAwOwogRlVMTF9WRVJTSU9O
ID0gJChNQUpPUl9WRVJTSU9OKS4kKE1JTk9SX1ZFUlNJT04pLiQoVElOWV9WRVJTSU9OKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybVdQRS5jbWFrZSBiL1NvdXJjZS9QbGF0Zm9ybVdQRS5j
bWFrZQppbmRleCA1YTgzMjY2ZjE0Mzk1ZDkzMTE3ZmU1NDc4MTU3NTE3MTBlYTI0NWNmLi5mYWJk
Nzc2ZTYxN2QwN2E2YzMwYjlmMmRmMzBmODg0NDkxMjU5MzU5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
UGxhdGZvcm1XUEUuY21ha2UKKysrIGIvU291cmNlL1BsYXRmb3JtV1BFLmNtYWtlCkBAIC01LDgg
KzUsOCBAQCBsaXN0KEFQUEVORCBEb2N1bWVudGF0aW9uRGVwZW5kZW5jaWVzCiAgICAgV2ViS2l0
CiAgICAgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dw
ZS9kb2NzL3dwZS1kb2NzLnNnbWwiCiAgICAgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS93cGUvZG9jcy93cGUtd2ViZXh0ZW5z
aW9ucy1kb2NzLnNnbWwiCi0gICAgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0ke1dQRV9BUElfVkVSU0lPTn0tc2VjdGlvbnMudHh0
IgotICAgICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvd3BlL2RvY3Mvd3BlLXdlYmV4dGVuc2lvbnMtJHtXUEVfQVBJX1ZFUlNJ
T059LXNlY3Rpb25zLnR4dCIKKyAgICAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLSR7V1BFX0FQSV9ET0NfVkVSU0lPTn0tc2VjdGlv
bnMudHh0IgorICAgICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvd3BlL2RvY3Mvd3BlLXdlYmV4dGVuc2lvbnMtJHtXUEVfQVBJ
X0RPQ19WRVJTSU9OfS1zZWN0aW9ucy50eHQiCiApCiAKIGlmIChFTkFCTEVfR1RLRE9DKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvVmVyc2lvbi54
Y2NvbmZpZyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25zL1ZlcnNpb24u
eGNjb25maWcKaW5kZXggYjc0YTFlMDNiMmZlZWI3M2UyNDlhZTYzYzZhZmYwMTE3ZjE0MDQyZC4u
NjI3Nzg0MjZmMzdkZjhmZTNmYWI3ZTYxMGFmYjdmNmRlZjNiZTNhZiAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvVmVyc2lvbi54Y2NvbmZpZworKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9Db25maWd1cmF0aW9ucy9WZXJzaW9uLnhjY29uZmln
CkBAIC0yMyw3ICsyMyw3IEBACiAKIE1BSk9SX1ZFUlNJT04gPSA2MTI7CiBNSU5PUl9WRVJTSU9O
ID0gMTsKLVRJTllfVkVSU0lPTiA9IDc7CitUSU5ZX1ZFUlNJT04gPSA4OwogTUlDUk9fVkVSU0lP
TiA9IDA7CiBOQU5PX1ZFUlNJT04gPSAwOwogRlVMTF9WRVJTSU9OID0gJChNQUpPUl9WRVJTSU9O
KS4kKE1JTk9SX1ZFUlNJT04pLiQoVElOWV9WRVJTSU9OKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfY29tbWFuZF9i
dWZmZXIubW0gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
bWV0YWwvbXRsX2NvbW1hbmRfYnVmZmVyLm1tCmluZGV4IGI0YTMzNDc0MmU2MjdjYTA0OTEyMTAz
ZTJmYWRmY2M3MzEyNDdmMzMuLjdlZDBlMjEyMDhjYzA4ODIyODExNDkxMTU3ZmRlNjg0NWM0ZGNh
N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5k
ZXJlci9tZXRhbC9tdGxfY29tbWFuZF9idWZmZXIubW0KKysrIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9jb21tYW5kX2J1ZmZlci5tbQpA
QCAtNzkxLDExICs3OTEsMTMgQEAgdm9pZCBDb21tYW5kQnVmZmVyOjpmb3JjZUVuZGluZ0N1cnJl
bnRFbmNvZGVyKCkKIAogdm9pZCBDb21tYW5kQnVmZmVyOjpzZXRQZW5kaW5nRXZlbnRzKCkKIHsK
KyNpZiBBTkdMRV9NVExfRVZFTlRfQVZBSUxBQkxFCiAgICAgZm9yIChjb25zdCBzdGQ6OnBhaXI8
bXRsOjpTaGFyZWRFdmVudFJlZiwgdWludDY0X3Q+ICZldmVudEVudHJ5IDogbVBlbmRpbmdTaWdu
YWxFdmVudHMpCiAgICAgewogICAgICAgICBzZXRFdmVudEltcGwoZXZlbnRFbnRyeS5maXJzdCwg
ZXZlbnRFbnRyeS5zZWNvbmQpOwogICAgIH0KICAgICBtUGVuZGluZ1NpZ25hbEV2ZW50cy5jbGVh
cigpOworI2VuZGlmCiB9CiAKIHZvaWQgQ29tbWFuZEJ1ZmZlcjo6c2V0RXZlbnRJbXBsKGNvbnN0
IG10bDo6U2hhcmVkRXZlbnRSZWYgJmV2ZW50LCB1aW50NjRfdCB2YWx1ZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxf
Y29tbW9uLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
bWV0YWwvbXRsX2NvbW1vbi5oCmluZGV4IGNmZjVjZGY5YTRjZTFhYTA3OWUyMzM1NGEzNDhkMmUx
OTI2ZDE4NWYuLjg1N2I2MjZjMzY3Mzc2NWQ5YzMxNWFiNzgxMzRjNGI0MjNmN2JjNzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRh
bC9tdGxfY29tbW9uLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL21ldGFsL210bF9jb21tb24uaApAQCAtMjk2LDExICsyOTYsMTEgQEAgdXNpbmcg
QXV0b09iakNPYmogPSBBdXRvT2JqQ1B0cjxUICo+OwogCiAvLyBOT1RFOiBTaGFyZWRFdmVudCBp
cyBvbmx5IGRlY2xhcmVkIG9uIGlPUyAxMi4wKyBvciBtYWMgMTAuMTQrCiAjaWYgZGVmaW5lZChf
X0lQSE9ORV8xMl8wKSB8fCBkZWZpbmVkKF9fTUFDXzEwXzE0KQotdXNpbmcgU2hhcmVkRXZlbnRS
ZWYgPSBBdXRvT2JqQ1B0cjxpZDxNVExTaGFyZWRFdmVudD4+OwogI2RlZmluZSBBTkdMRV9NVExf
RVZFTlRfQVZBSUxBQkxFIDEKK3VzaW5nIFNoYXJlZEV2ZW50UmVmID0gQXV0b09iakNQdHI8aWQ8
TVRMU2hhcmVkRXZlbnQ+PjsKICNlbHNlCi11c2luZyBTaGFyZWRFdmVudFJlZiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gQXV0b09iakNPYmo8TlNPYmplY3Q+OwogI2Rl
ZmluZSBBTkdMRV9NVExfRVZFTlRfQVZBSUxBQkxFIDAKK3VzaW5nIFNoYXJlZEV2ZW50UmVmID0g
QXV0b09iakNPYmo8TlNPYmplY3Q+OwogI2VuZGlmCiAKIC8vIFRoZSBuYXRpdmUgaW1hZ2UgaW5k
ZXggdXNlZCBieSBNZXRhbCBiYWNrLWVuZCwgIHRoZSBpbWFnZSBpbmRleCB1c2VzIG5hdGl2ZSBt
aXBtYXAgbGV2ZWwgaW5zdGVhZApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF91dGlscy5tbSBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfdXRpbHMubW0KaW5kZXgg
NDBkY2YzMTM0ODkyZDdmZDExNTQ1MWMwYzM2OTI0YWZjMGNkOTQ5Yy4uYzk0YzM2YTUwMWEwMWYx
ZjY2YWQyNGE3MTg1ZTlhNTFmMzVmNDY2NiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF91dGlscy5tbQorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3V0aWxz
Lm1tCkBAIC00OTIsNyArNDkyLDggQEAgc3RhdGljIE1UTExhbmd1YWdlVmVyc2lvbiBHZXRVc2Vy
U2V0T3JIaWdoZXN0TVNMVmVyc2lvbihjb25zdCBNVExMYW5ndWFnZVZlcnNpb24KICAgICAgICAg
ICAgIGNhc2UgMToKICAgICAgICAgICAgICAgICBzd2l0Y2ggKG1pbm9yKQogICAgICAgICAgICAg
ICAgIHsKLSNpZiAoZGVmaW5lZChfX0lQSE9ORV85XzApICYmIF9fSVBIT05FX09TX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IF9fSVBIT05FXzlfMCkKKyNpZiAoZGVmaW5lZChfX0lQSE9ORV85XzAp
ICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IF9fSVBIT05FXzlfMCkgJiZc
CisgICAgKFRBUkdFVF9PU19JT1MgfHwgVEFSR0VUX09TX1RWKSAmJiAhVEFSR0VUX09TX01BQ0NB
VEFMWVNUCiAgICAgICAgICAgICAgICAgICAgIGNhc2UgMDogcmV0dXJuIE1UTExhbmd1YWdlVmVy
c2lvbjFfMDsKICNlbmRpZgogI2lmIChkZWZpbmVkKF9fTUFDXzEwXzExKSAmJiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IF9fTUFDXzEwXzExKSB8fFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9WZXJzaW9uLnhjY29uZmln
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL1ZlcnNpb24ueGNj
b25maWcKaW5kZXggMDFiYTBmYWY2MmMzNDMwODVkMjNmNGFiMmJkZTQ4ZjNlZmEwZWYyMC4uY2Mz
MWExMzM1MDg5MjVhNDAzMTQ1MDZmMjY3NzlmMzI4OTc5Yjc4ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL1ZlcnNpb24ueGNjb25maWcKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL1ZlcnNpb24ueGNj
b25maWcKQEAgLTIzLDcgKzIzLDcgQEAKIAogTUFKT1JfVkVSU0lPTiA9IDYxMjsKIE1JTk9SX1ZF
UlNJT04gPSAxOwotVElOWV9WRVJTSU9OID0gNzsKK1RJTllfVkVSU0lPTiA9IDg7CiBNSUNST19W
RVJTSU9OID0gMDsKIE5BTk9fVkVSU0lPTiA9IDA7CiBGVUxMX1ZFUlNJT04gPSAkKE1BSk9SX1ZF
UlNJT04pLiQoTUlOT1JfVkVSU0lPTikuJChUSU5ZX1ZFUlNJT04pOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvVmVyc2lvbi54Y2NvbmZpZyBiL1NvdXJjZS9XZWJD
b3JlL0NvbmZpZ3VyYXRpb25zL1ZlcnNpb24ueGNjb25maWcKaW5kZXggOTg5ZWNiNjM0ZDQwZDk0
NWQ5NzA3MDMyMmQ3MWZjZmRlYzQ5NDEyMi4uNzc0OTA2NjQxNjM3NzRjZTczZWRjMzNiZmQ5ZGI4
OGZhZGI0NTU1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvVmVy
c2lvbi54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9WZXJzaW9u
LnhjY29uZmlnCkBAIC0yMyw3ICsyMyw3IEBACiAKIE1BSk9SX1ZFUlNJT04gPSA2MTI7CiBNSU5P
Ul9WRVJTSU9OID0gMTsKLVRJTllfVkVSU0lPTiA9IDc7CitUSU5ZX1ZFUlNJT04gPSA4OwogTUlD
Uk9fVkVSU0lPTiA9IDA7CiBOQU5PX1ZFUlNJT04gPSAwOwogRlVMTF9WRVJTSU9OID0gJChNQUpP
Ul9WRVJTSU9OKS4kKE1JTk9SX1ZFUlNJT04pLiQoVElOWV9WRVJTSU9OKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCmluZGV4IGZhMzZiOTUwNjU3Nzk4ZmQ0Y2EzNDVjZDk1MzdmNmM0ZWQ0
ZTQzYjIuLmNiYTBmMzU5Y2M0ZjE1YjQxZjUyNDk5MzMzZDQzNDY0MjE0MTZjMmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTU0Nyw3ICsxNTQ3LDcgQEAgTU9ERVJOX01FRElB
X0NPTlRST0xTX1NUWUxFX1NIRUVUUyA9IFwKIGFsbCA6IE1vZGVybk1lZGlhQ29udHJvbHMuY3Nz
CiAKIE1vZGVybk1lZGlhQ29udHJvbHMuY3NzIDogJChNT0RFUk5fTUVESUFfQ09OVFJPTFNfU1RZ
TEVfU0hFRVRTKQotCWNhdCAkPyA+IE1vZGVybk1lZGlhQ29udHJvbHMuY3NzCisJY2F0ICReID4g
TW9kZXJuTWVkaWFDb250cm9scy5jc3MKIAogIyB1c2VyIGFnZW50IHN0eWxlIHNoZWV0cwogCkBA
IC0xNjQ1LDcgKzE2NDUsNyBAQCBNT0RFUk5fTUVESUFfQ09OVFJPTFNfU0NSSVBUUyA9IFwKIGFs
bCA6IE1vZGVybk1lZGlhQ29udHJvbHMuanMKIAogTW9kZXJuTWVkaWFDb250cm9scy5qcyA6ICQo
TU9ERVJOX01FRElBX0NPTlRST0xTX1NDUklQVFMpCi0JY2F0ICQ/ID4gTW9kZXJuTWVkaWFDb250
cm9scy5qcworCWNhdCAkXiA+IE1vZGVybk1lZGlhQ29udHJvbHMuanMKIAogIyB1c2VyIGFnZW50
IHNjcmlwdHMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Np
b24vTWVkaWFNZXRhZGF0YS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24v
TWVkaWFNZXRhZGF0YS5oCmluZGV4IGYzODEwYjdlMTk3NWY2ZmQwODFhOWY2ZDc2MTA1ZWIwMmIz
ZDE3ZmYuLmE3YmU3ODU5MDAwOTBlZDE3YmNjM2E5OWViMWYxZjc4NGNmZDZiNTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhTWV0YWRhdGEuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYU1ldGFkYXRhLmgK
QEAgLTg3LDcgKzg3LDcgQEAgcHVibGljOgogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEFydHdv
cmsoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFZlY3RvcjxNZWRpYUltYWdlPiYmKTsKIAogICAg
IGNvbnN0IFN0cmluZyYgYXJ0d29ya1NyYygpIGNvbnN0IHsgcmV0dXJuIG1fYXJ0d29ya0ltYWdl
U3JjOyB9Ci0gICAgUmVmUHRyPEltYWdlPiBhcnR3b3JrSW1hZ2UoKSBjb25zdCB7IHJldHVybiBt
X2FydHdvcmtJbWFnZTsgfQorICAgIGNvbnN0IFJlZlB0cjxJbWFnZT4mIGFydHdvcmtJbWFnZSgp
IGNvbnN0IHsgcmV0dXJuIG1fYXJ0d29ya0ltYWdlOyB9CiAKICAgICBjb25zdCBNZWRpYVNlc3Np
b25NZXRhZGF0YSYgbWV0YWRhdGEoKSBjb25zdCB7IHJldHVybiBtX21ldGFkYXRhOyB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nv
bnRyb2xzL2ljb24tc2VydmljZS5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2ljb24tc2VydmljZS5qcwppbmRleCA3ZmE2ZjdjZWFjNzE2
MjJjNGI3MGI5ZTljYWE5NmRhNjIyNmZkYjM2Li43YWViMGQyN2VhZWUyYzg0NTUyZDAxNDMxYzc2
MzczMGY1NjM0NDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1t
ZWRpYS1jb250cm9scy9jb250cm9scy9pY29uLXNlcnZpY2UuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvaWNvbi1zZXJ2aWNlLmpz
CkBAIC04MiwxMSArODIsMjAgQEAgY29uc3QgaWNvblNlcnZpY2UgPSBuZXcgY2xhc3MgSWNvblNl
cnZpY2UgewogCiAgICAgICAgIGltYWdlID0gdGhpcy5pbWFnZXNbcGF0aF0gPSBuZXcgSW1hZ2U7
CiAKKyAgICAgICAgLy8gUHJldmVudCB0aGlzIGltYWdlIGZyb20gYmVpbmcgc2hvd24gaWYgaXQn
cyBldmVyIGF0dGFjaGVkIHRvIHRoZSBET00uCisgICAgICAgIGltYWdlLnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKyAgICAgICAgLy8gTXVzdCBhdHRhY2ggdGhlIGA8aW1nPmAgdG8gdGhlIFVB
IHNoYWRvdyByb290IGJlZm9yZSBzZXR0aW5nIGBzcmNgIHNvIHRoYXQgYGlzSW5Vc2VyQWdlbnRT
aGFkb3dUcmVlYCBpcyBjb3JyZWN0LgorICAgICAgICB0aGlzLnNoYWRvd1Jvb3Q/LmFwcGVuZENo
aWxkKGltYWdlKTsKKwogICAgICAgICBpZiAodGhpcy5tZWRpYUNvbnRyb2xzSG9zdCkKICAgICAg
ICAgICAgIGltYWdlLnNyYyA9IGBkYXRhOiR7TWltZVR5cGVzW2ljb24udHlwZV19O2Jhc2U2NCwk
e3RoaXMubWVkaWFDb250cm9sc0hvc3QuYmFzZTY0U3RyaW5nRm9ySWNvbk5hbWVBbmRUeXBlKGZp
bGVOYW1lLCBpY29uLnR5cGUpfWA7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGltYWdlLnNy
YyA9IGAke3RoaXMuZGlyZWN0b3J5UGF0aH0vJHtwYXRofWA7CiAKKyAgICAgICAgLy8gUmVtb3Zl
IHRoZSBgPGltZz5gIGZyb20gdGhlIHNoYWRvdyByb290IG9uY2UgdGhlIGBzcmNgIGhhcyBiZWVu
IHNldCBhcyBgaXNJblVzZXJBZ2VudFNoYWRvd1RyZWVgIGhhcyBhbHJlYWR5IGJlZW4gY2hlY2tl
ZCBieSB0aGlzIHBvaW50LgorICAgICAgICBpbWFnZS5yZW1vdmUoKTsKKwogICAgICAgICByZXR1
cm4gaW1hZ2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9tYWluLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvbWFpbi5qcwppbmRleCAwOWFjYzk0NTY1ZmFiYTM2NmU3YjgxNzQ0
NDgxMDFkZjgwY2RkMDkwLi41NDZlNmE2MTJiOTU5YjQ5NDg0ZTc1MjA5NmIxNTc5ZTFhYzNmNGIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9tYWluLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL21haW4uanMKQEAgLTM0LDcgKzM0LDEwIEBAIGZ1bmN0aW9uIGNyZWF0ZUNvbnRyb2xzKHNo
YWRvd1Jvb3QsIG1lZGlhLCBob3N0KQogewogICAgIGlmIChob3N0KSB7CiAgICAgICAgIG1lZGlh
Q29udHJvbHNIb3N0ID0gaG9zdDsKKworICAgICAgICBpY29uU2VydmljZS5zaGFkb3dSb290ID0g
c2hhZG93Um9vdDsKICAgICAgICAgaWNvblNlcnZpY2UubWVkaWFDb250cm9sc0hvc3QgPSBob3N0
OworCiAgICAgICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgic3R5bGUiKSkudGV4dENvbnRlbnQgPSBob3N0LnNoYWRvd1Jvb3RDU1NUZXh0OwogICAgIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wbHVnaW5zL1BsdWdpblJlcGxh
Y2VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BsdWdpbnMvUGx1Z2luUmVwbGFjZW1l
bnQuaAppbmRleCBlZmVhZjAwYzllMzU4ZWQ2ODE1NWI1OGExMWFkNDcyNTU2MWUwMjQ3Li4wOWQy
ODVkMTVkZDc4YmZkNDIzZDE3YWIyNGFjNWNkZTc2NmVjYzU3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3BsdWdpbnMvUGx1Z2luUmVwbGFjZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3BsdWdpbnMvUGx1Z2luUmVwbGFjZW1lbnQuaApAQCAtMjYsNiArMjYs
OCBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJSZW5kZXJQdHIuaCIKKyNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9KU0NKU1ZhbHVlLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlND
SlNWYWx1ZUlubGluZXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CkBAIC00NSw4ICs0NywxNCBAQCBjbGFzcyBQbHVnaW5SZXBsYWNlbWVudCA6
IHB1YmxpYyBSZWZDb3VudGVkPFBsdWdpblJlcGxhY2VtZW50PiB7CiBwdWJsaWM6CiAgICAgdmly
dHVhbCB+UGx1Z2luUmVwbGFjZW1lbnQoKSA9IGRlZmF1bHQ7CiAKLSAgICB2aXJ0dWFsIGJvb2wg
aW5zdGFsbFJlcGxhY2VtZW50KFNoYWRvd1Jvb3QmKSA9IDA7Ci0gICAgdmlydHVhbCBKU0M6OkpT
T2JqZWN0KiBzY3JpcHRPYmplY3QoKSB7IHJldHVybiBudWxscHRyOyB9CisgICAgc3RydWN0IElu
c3RhbGxSZXN1bHQgeworICAgICAgICBib29sIHN1Y2Nlc3M7CisjaWYgUExBVEZPUk0oQ09DT0Ep
CisgICAgICAgIEpTQzo6SlNWYWx1ZSBzY3JpcHRPYmplY3QgeyB9OworI2VuZGlmCisgICAgfTsK
KworICAgIHZpcnR1YWwgSW5zdGFsbFJlc3VsdCBpbnN0YWxsUmVwbGFjZW1lbnQoU2hhZG93Um9v
dCYpID0gMDsKIAogICAgIHZpcnR1YWwgYm9vbCB3aWxsQ3JlYXRlUmVuZGVyZXIoKSB7IHJldHVy
biBmYWxzZTsgfQogICAgIHZpcnR1YWwgUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IGNyZWF0ZUVs
ZW1lbnRSZW5kZXJlcihIVE1MUGx1Z0luRWxlbWVudCYsIFJlbmRlclN0eWxlJiYsIGNvbnN0IFJl
bmRlclRyZWVQb3NpdGlvbiYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGx1Z2lucy9RdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wbHVnaW5zL1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50LmgKaW5kZXggZTM4Yzcy
M2NlYzQyY2YzOTdhZGJkMGVjNmViMzQ5NWFkMTRhYWE4OS4uNGMyMDBmMTU3YTExNjY3MDE1ZTU5
NjllNzZjNGJiNmFmOGU1NWUyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
bHVnaW5zL1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wbHVnaW5zL1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50LmgKQEAgLTI2LDYgKzI2
LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiUGx1Z2luUmVwbGFjZW1lbnQuaCIKKyNp
bmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTUxLDgg
KzUyLDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c1VSTChjb25zdCBVUkwm
KSB7IHJldHVybiB0cnVlOyB9CiAgICAgc3RhdGljIGJvb2wgaXNFbmFibGVkQnlTZXR0aW5ncyhj
b25zdCBTZXR0aW5ncyYpOwogCi0gICAgYm9vbCBpbnN0YWxsUmVwbGFjZW1lbnQoU2hhZG93Um9v
dCYpIGZpbmFsOwotICAgIEpTQzo6SlNPYmplY3QqIHNjcmlwdE9iamVjdCgpIGZpbmFsIHsgcmV0
dXJuIG1fc2NyaXB0T2JqZWN0OyB9CisgICAgSW5zdGFsbFJlc3VsdCBpbnN0YWxsUmVwbGFjZW1l
bnQoU2hhZG93Um9vdCYpIGZpbmFsOwogCiAgICAgYm9vbCB3aWxsQ3JlYXRlUmVuZGVyZXIoKSBm
aW5hbCB7IHJldHVybiBtX21lZGlhRWxlbWVudDsgfQogICAgIFJlbmRlclB0cjxSZW5kZXJFbGVt
ZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoSFRNTFBsdWdJbkVsZW1lbnQmLCBSZW5kZXJTdHls
ZSYmLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mKSBmaW5hbDsKQEAgLTYwLDExICs2MCwxMCBA
QCBwcml2YXRlOgogICAgIGJvb2wgZW5zdXJlUmVwbGFjZW1lbnRTY3JpcHRJbmplY3RlZCgpOwog
ICAgIERPTVdyYXBwZXJXb3JsZCYgaXNvbGF0ZWRXb3JsZCgpOwogCi0gICAgSFRNTFBsdWdJbkVs
ZW1lbnQqIG1fcGFyZW50RWxlbWVudDsKKyAgICBXZWFrUHRyPEhUTUxQbHVnSW5FbGVtZW50PiBt
X3BhcmVudEVsZW1lbnQ7CiAgICAgUmVmUHRyPEhUTUxWaWRlb0VsZW1lbnQ+IG1fbWVkaWFFbGVt
ZW50OwogICAgIGNvbnN0IFZlY3RvcjxTdHJpbmc+IG1fbmFtZXM7CiAgICAgY29uc3QgVmVjdG9y
PFN0cmluZz4gbV92YWx1ZXM7Ci0gICAgSlNDOjpKU09iamVjdCogbV9zY3JpcHRPYmplY3QgeyBu
dWxscHRyIH07IC8vIEZJWE1FOiBXaHkgaXMgaXQgc2FmZSB0byBoYXZlIHRoaXMgcG9pbnRlciBo
ZXJlPyBXaGF0IGtlZXBzIGl0IGFsaXZlIGR1cmluZyBHQz8KIH07CiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGx1Z2lucy9RdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVu
dC5tbSBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGx1Z2lucy9RdWlja1RpbWVQbHVnaW5SZXBs
YWNlbWVudC5tbQppbmRleCBlZTg5ZjYwZjUwNWQ1MDdkNDBjMGM4Yjc1Zjc2YmI0MTRmN2Q5NmUz
Li5lODU1OWJlYmRiNTZhYjRhZTk3MmJmOTNlODk1ZmI4Y2M2ZjNkYWU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wbHVnaW5zL1F1aWNrVGltZVBsdWdpblJl
cGxhY2VtZW50Lm1tCkBAIC0xMDksMTkgKzEwOSwxMyBAQCBib29sIFF1aWNrVGltZVBsdWdpblJl
cGxhY2VtZW50Ojppc0VuYWJsZWRCeVNldHRpbmdzKGNvbnN0IFNldHRpbmdzJiBzZXR0aW5ncykK
IH0KIAogUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQ6OlF1aWNrVGltZVBsdWdpblJlcGxhY2Vt
ZW50KEhUTUxQbHVnSW5FbGVtZW50JiBwbHVnaW4sIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwYXJh
bU5hbWVzLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFyYW1WYWx1ZXMpCi0gICAgOiBtX3BhcmVu
dEVsZW1lbnQoJnBsdWdpbikKKyAgICA6IG1fcGFyZW50RWxlbWVudChtYWtlV2Vha1B0cihwbHVn
aW4pKQogICAgICwgbV9uYW1lcyhwYXJhbU5hbWVzKQogICAgICwgbV92YWx1ZXMocGFyYW1WYWx1
ZXMpCiB7CiB9CiAKLVF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50Ojp+UXVpY2tUaW1lUGx1Z2lu
UmVwbGFjZW1lbnQoKQotewotICAgIC8vIEZJWE1FOiBXaHkgaXMgaXQgdXNlZnVsIHRvIG51bGwg
b3V0IHBvaW50ZXJzIGluIGFuIG9iamVjdCB0aGF0IGlzIGJlaW5nIGRlc3Ryb3llZD8KLSAgICBt
X3BhcmVudEVsZW1lbnQgPSBudWxscHRyOwotICAgIG1fc2NyaXB0T2JqZWN0ID0gbnVsbHB0cjsK
LSAgICBtX21lZGlhRWxlbWVudCA9IG51bGxwdHI7Ci19CitRdWlja1RpbWVQbHVnaW5SZXBsYWNl
bWVudDo6flF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50KCkgPSBkZWZhdWx0OwogCiBSZW5kZXJQ
dHI8UmVuZGVyRWxlbWVudD4gUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQ6OmNyZWF0ZUVsZW1l
bnRSZW5kZXJlcihIVE1MUGx1Z0luRWxlbWVudCYgcGx1Z2luLCBSZW5kZXJTdHlsZSYmIHN0eWxl
LCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mIGluc2VydGlvblBvc2l0aW9uKQogewpAQCAtMTY2
LDEzICsxNjAsMTMgQEAgYm9vbCBRdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudDo6ZW5zdXJlUmVw
bGFjZW1lbnRTY3JpcHRJbmplY3RlZCgpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgUXVp
Y2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQ6Omluc3RhbGxSZXBsYWNlbWVudChTaGFkb3dSb290JiBy
b290KQorYXV0byBRdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudDo6aW5zdGFsbFJlcGxhY2VtZW50
KFNoYWRvd1Jvb3QmIHJvb3QpIC0+IEluc3RhbGxSZXN1bHQKIHsKICAgICBpZiAoIWVuc3VyZVJl
cGxhY2VtZW50U2NyaXB0SW5qZWN0ZWQoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICByZXR1cm4geyBmYWxzZSB9OwogCiAgICAgaWYgKCFtX3BhcmVudEVsZW1lbnQtPmRvY3VtZW50
KCkuZnJhbWUoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4geyBmYWxz
ZSB9OwogCiAgICAgRE9NV3JhcHBlcldvcmxkJiB3b3JsZCA9IGlzb2xhdGVkV29ybGQoKTsKICAg
ICBTY3JpcHRDb250cm9sbGVyJiBzY3JpcHRDb250cm9sbGVyID0gbV9wYXJlbnRFbGVtZW50LT5k
b2N1bWVudCgpLmZyYW1lKCktPnNjcmlwdCgpOwpAQCAtMTg1LDE2ICsxNzksMTYgQEAgYm9vbCBR
dWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudDo6aW5zdGFsbFJlcGxhY2VtZW50KFNoYWRvd1Jvb3Qm
IHJvb3QpCiAgICAgLy8gTG9va3VwIHRoZSAiY3JlYXRlUGx1Z2luUmVwbGFjZW1lbnQiIGZ1bmN0
aW9uLgogICAgIEpTQzo6SlNWYWx1ZSByZXBsYWNlbWVudEZ1bmN0aW9uID0gZ2xvYmFsT2JqZWN0
LT5nZXQobGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZt
LCAiY3JlYXRlUGx1Z2luUmVwbGFjZW1lbnQiKSk7CiAgICAgaWYgKHJlcGxhY2VtZW50RnVuY3Rp
b24uaXNVbmRlZmluZWRPck51bGwoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBy
ZXR1cm4geyBmYWxzZSB9OwogICAgIEpTQzo6SlNPYmplY3QqIHJlcGxhY2VtZW50T2JqZWN0ID0g
cmVwbGFjZW1lbnRGdW5jdGlvbi50b09iamVjdChsZXhpY2FsR2xvYmFsT2JqZWN0KTsKICAgICBz
Y29wZS5hc3NlcnROb0V4Y2VwdGlvbigpOwogICAgIGF1dG8gY2FsbERhdGEgPSBnZXRDYWxsRGF0
YSh2bSwgcmVwbGFjZW1lbnRPYmplY3QpOwogICAgIGlmIChjYWxsRGF0YS50eXBlID09IEpTQzo6
Q2FsbERhdGE6OlR5cGU6Ok5vbmUpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0
dXJuIHsgZmFsc2UgfTsKIAogICAgIEpTQzo6TWFya2VkQXJndW1lbnRCdWZmZXIgYXJnTGlzdDsK
ICAgICBhcmdMaXN0LmFwcGVuZCh0b0pTKGxleGljYWxHbG9iYWxPYmplY3QsIGdsb2JhbE9iamVj
dCwgJnJvb3QpKTsKLSAgICBhcmdMaXN0LmFwcGVuZCh0b0pTKGxleGljYWxHbG9iYWxPYmplY3Qs
IGdsb2JhbE9iamVjdCwgbV9wYXJlbnRFbGVtZW50KSk7CisgICAgYXJnTGlzdC5hcHBlbmQodG9K
UyhsZXhpY2FsR2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QsIG1fcGFyZW50RWxlbWVudC5nZXQo
KSkpOwogICAgIGFyZ0xpc3QuYXBwZW5kKHRvSlMobGV4aWNhbEdsb2JhbE9iamVjdCwgZ2xvYmFs
T2JqZWN0LCB0aGlzKSk7CiAgICAgYXJnTGlzdC5hcHBlbmQodG9KUzxJRExTZXF1ZW5jZTxJRExO
dWxsYWJsZTxJRExET01TdHJpbmc+Pj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpnbG9iYWxPYmpl
Y3QsIG1fbmFtZXMpKTsKICAgICBhcmdMaXN0LmFwcGVuZCh0b0pTPElETFNlcXVlbmNlPElETE51
bGxhYmxlPElETERPTVN0cmluZz4+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmdsb2JhbE9iamVj
dCwgbV92YWx1ZXMpKTsKQEAgLTIwMiw3ICsxOTYsNyBAQCBib29sIFF1aWNrVGltZVBsdWdpblJl
cGxhY2VtZW50OjppbnN0YWxsUmVwbGFjZW1lbnQoU2hhZG93Um9vdCYgcm9vdCkKICAgICBKU0M6
OkpTVmFsdWUgcmVwbGFjZW1lbnQgPSBjYWxsKGxleGljYWxHbG9iYWxPYmplY3QsIHJlcGxhY2Vt
ZW50T2JqZWN0LCBjYWxsRGF0YSwgZ2xvYmFsT2JqZWN0LCBhcmdMaXN0KTsKICAgICBpZiAoVU5M
SUtFTFkoc2NvcGUuZXhjZXB0aW9uKCkpKSB7CiAgICAgICAgIHNjb3BlLmNsZWFyRXhjZXB0aW9u
KCk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIHsgZmFsc2UgfTsKICAg
ICB9CiAKICAgICAvLyBHZXQgdGhlIDx2aWRlbz4gY3JlYXRlZCB0byByZXBsYWNlIHRoZSBwbHVn
LWluLgpAQCAtMjEzLDIzICsyMDcsMTggQEAgYm9vbCBRdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVu
dDo6aW5zdGFsbFJlcGxhY2VtZW50KFNoYWRvd1Jvb3QmIHJvb3QpCiAgICAgaWYgKCFtX21lZGlh
RWxlbWVudCkgewogICAgICAgICBMT0coUGx1Z2lucywgIiVwIC0gRmFpbGVkIHRvIGZpbmQgPHZp
ZGVvPiBlbGVtZW50IGNyZWF0ZWQgYnkgUXVpY2tUaW1lIHBsdWdpbiByZXBsYWNlbWVudCBzY3Jp
cHQuIiwgdGhpcyk7CiAgICAgICAgIHNjb3BlLmNsZWFyRXhjZXB0aW9uKCk7Ci0gICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIHsgZmFsc2UgfTsKICAgICB9CiAKICAgICAvLyBH
ZXQgdGhlIHNjcmlwdGluZyBpbnRlcmZhY2UuCiAgICAgdmFsdWUgPSByZXBsYWNlbWVudC5nZXQo
bGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAic2Ny
aXB0T2JqZWN0IikpOwotICAgIGlmICghc2NvcGUuZXhjZXB0aW9uKCkgJiYgIXZhbHVlLmlzVW5k
ZWZpbmVkT3JOdWxsKCkpIHsKLSAgICAgICAgbV9zY3JpcHRPYmplY3QgPSB2YWx1ZS50b09iamVj
dChsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICAgICAgc2NvcGUuYXNzZXJ0Tm9FeGNlcHRpb24o
KTsKLSAgICB9Ci0KLSAgICBpZiAoIW1fc2NyaXB0T2JqZWN0KSB7CisgICAgaWYgKCF2YWx1ZS5p
c09iamVjdCgpKSB7CiAgICAgICAgIExPRyhQbHVnaW5zLCAiJXAgLSBGYWlsZWQgdG8gZmluZCBz
Y3JpcHQgb2JqZWN0IGNyZWF0ZWQgYnkgUXVpY2tUaW1lIHBsdWdpbiByZXBsYWNlbWVudC4iLCB0
aGlzKTsKICAgICAgICAgc2NvcGUuY2xlYXJFeGNlcHRpb24oKTsKLSAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICByZXR1cm4geyBmYWxzZSB9OwogICAgIH0KIAotICAgIHJldHVybiB0cnVl
OworICAgIHJldHVybiB7IHRydWUsIHZhbHVlIH07CiB9CiAKIHVuc2lnbmVkIGxvbmcgbG9uZyBR
dWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudDo6bW92aWVTaXplKCkgY29uc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGx1Z2lucy9Zb3VUdWJlUGx1Z2luUmVwbGFjZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wbHVnaW5zL1lvdVR1YmVQbHVnaW5SZXBsYWNl
bWVudC5jcHAKaW5kZXggYWI0ZDVmYmMxMWY5MmQ5YWFlNjdhOGE0ZDg4ZmIyZWNhZWRjZWJlMy4u
Yjc3MzQyZTA4YmE3OGU1N2I0ZDJkZTAwMjY5M2QyODM5MGVhMDYzZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wbHVnaW5zL1lvdVR1YmVQbHVnaW5SZXBsYWNlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wbHVnaW5zL1lvdVR1YmVQbHVnaW5SZXBsYWNl
bWVudC5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgYm9vbCBZb3VUdWJlUGx1Z2luUmVwbGFjZW1lbnQ6
OnN1cHBvcnRzRmlsZUV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dGVuc2lvbikKIH0KIAogWW91
VHViZVBsdWdpblJlcGxhY2VtZW50OjpZb3VUdWJlUGx1Z2luUmVwbGFjZW1lbnQoSFRNTFBsdWdJ
bkVsZW1lbnQmIHBsdWdpbiwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHBhcmFtTmFtZXMsIGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiBwYXJhbVZhbHVlcykKLSAgICA6IG1fcGFyZW50RWxlbWVudCgmcGx1
Z2luKQorICAgIDogbV9wYXJlbnRFbGVtZW50KG1ha2VXZWFrUHRyKHBsdWdpbikpCiB7CiAgICAg
QVNTRVJUKHBhcmFtTmFtZXMuc2l6ZSgpID09IHBhcmFtVmFsdWVzLnNpemUoKSk7CiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBwYXJhbU5hbWVzLnNpemUoKTsgKytpKQpAQCAtNzcsNyArNzcs
NyBAQCBSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gWW91VHViZVBsdWdpblJlcGxhY2VtZW50Ojpj
cmVhdGVFbGVtZW50UmVuZGVyZXIoSFRNTFBsdQogICAgIHJldHVybiBtX2VtYmVkU2hhZG93RWxl
bWVudC0+Y3JlYXRlRWxlbWVudFJlbmRlcmVyKFdURk1vdmUoc3R5bGUpLCBpbnNlcnRpb25Qb3Np
dGlvbik7CiB9CiAKLWJvb2wgWW91VHViZVBsdWdpblJlcGxhY2VtZW50OjppbnN0YWxsUmVwbGFj
ZW1lbnQoU2hhZG93Um9vdCYgcm9vdCkKK2F1dG8gWW91VHViZVBsdWdpblJlcGxhY2VtZW50Ojpp
bnN0YWxsUmVwbGFjZW1lbnQoU2hhZG93Um9vdCYgcm9vdCkgLT4gSW5zdGFsbFJlc3VsdAogewog
ICAgIG1fZW1iZWRTaGFkb3dFbGVtZW50ID0gWW91VHViZUVtYmVkU2hhZG93RWxlbWVudDo6Y3Jl
YXRlKG1fcGFyZW50RWxlbWVudC0+ZG9jdW1lbnQoKSk7CiAKQEAgLTg2LDcgKzg2LDcgQEAgYm9v
bCBZb3VUdWJlUGx1Z2luUmVwbGFjZW1lbnQ6Omluc3RhbGxSZXBsYWNlbWVudChTaGFkb3dSb290
JiByb290KQogICAgIGF1dG8gaWZyYW1lRWxlbWVudCA9IEhUTUxJRnJhbWVFbGVtZW50OjpjcmVh
dGUoSFRNTE5hbWVzOjppZnJhbWVUYWcsIG1fcGFyZW50RWxlbWVudC0+ZG9jdW1lbnQoKSk7CiAg
ICAgaWYgKG1fYXR0cmlidXRlcy5jb250YWlucygid2lkdGgiKSkKICAgICAgICAgaWZyYW1lRWxl
bWVudC0+c2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OndpZHRo
QXR0ciwgQXRvbVN0cmluZygiMTAwJSIsIEF0b21TdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFs
KSk7Ci0gICAgCisKICAgICBjb25zdCBhdXRvJiBoZWlnaHRWYWx1ZSA9IG1fYXR0cmlidXRlcy5m
aW5kKCJoZWlnaHQiKTsKICAgICBpZiAoaGVpZ2h0VmFsdWUgIT0gbV9hdHRyaWJ1dGVzLmVuZCgp
KSB7CiAgICAgICAgIGlmcmFtZUVsZW1lbnQtPnNldEF0dHJpYnV0ZShIVE1MTmFtZXM6OnN0eWxl
QXR0ciwgQXRvbVN0cmluZygibWF4LWhlaWdodDogMTAwJSIsIEF0b21TdHJpbmc6OkNvbnN0cnVj
dEZyb21MaXRlcmFsKSk7CkBAIC0xMDAsNyArMTAwLDcgQEAgYm9vbCBZb3VUdWJlUGx1Z2luUmVw
bGFjZW1lbnQ6Omluc3RhbGxSZXBsYWNlbWVudChTaGFkb3dSb290JiByb290KQogICAgIGlmcmFt
ZUVsZW1lbnQtPnNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpz
Y3JvbGxpbmdBdHRyLCBBdG9tU3RyaW5nKCJubyIsIEF0b21TdHJpbmc6OkNvbnN0cnVjdEZyb21M
aXRlcmFsKSk7CiAgICAgbV9lbWJlZFNoYWRvd0VsZW1lbnQtPmFwcGVuZENoaWxkKGlmcmFtZUVs
ZW1lbnQpOwogCi0gICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIHsgdHJ1ZSB9OwogfQogICAg
IAogc3RhdGljIFVSTCBjcmVhdGVZb3VUdWJlVVJMKFN0cmluZ1ZpZXcgdmlkZW9JRCwgU3RyaW5n
VmlldyB0aW1lSUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BsdWdpbnMv
WW91VHViZVBsdWdpblJlcGxhY2VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BsdWdp
bnMvWW91VHViZVBsdWdpblJlcGxhY2VtZW50LmgKaW5kZXggZGM4YzA5NzRkZTZiYjIxNGQ4OWU2
N2E3NmIyZTU4YzE5MTBkZDgxYS4uMzc5ZWE5N2MyMjJhMzgwNWI3MTg3MTgwM2Y1NTgyNWY3YWMw
MDU2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wbHVnaW5zL1lvdVR1YmVQ
bHVnaW5SZXBsYWNlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGx1Z2lucy9Z
b3VUdWJlUGx1Z2luUmVwbGFjZW1lbnQuaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAi
UGx1Z2luUmVwbGFjZW1lbnQuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUg
PHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDgsMTQgKzQ5LDE0
IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNVUkwoY29uc3QgVVJMJik7CiAg
ICAgc3RhdGljIGJvb2wgaXNFbmFibGVkQnlTZXR0aW5ncyhjb25zdCBTZXR0aW5ncyYpOwogCi0g
ICAgYm9vbCBpbnN0YWxsUmVwbGFjZW1lbnQoU2hhZG93Um9vdCYpIGZpbmFsOworICAgIEluc3Rh
bGxSZXN1bHQgaW5zdGFsbFJlcGxhY2VtZW50KFNoYWRvd1Jvb3QmKSBmaW5hbDsKIAogICAgIFN0
cmluZyB5b3VUdWJlVVJMKGNvbnN0IFN0cmluZyYgcmF3VVJMKTsKIAogICAgIGJvb2wgd2lsbENy
ZWF0ZVJlbmRlcmVyKCkgZmluYWwgeyByZXR1cm4gbV9lbWJlZFNoYWRvd0VsZW1lbnQ7IH0KICAg
ICBSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gY3JlYXRlRWxlbWVudFJlbmRlcmVyKEhUTUxQbHVn
SW5FbGVtZW50JiwgUmVuZGVyU3R5bGUmJiwgY29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikgZmlu
YWw7CiAKLSAgICBIVE1MUGx1Z0luRWxlbWVudCogbV9wYXJlbnRFbGVtZW50OworICAgIFdlYWtQ
dHI8SFRNTFBsdWdJbkVsZW1lbnQ+IG1fcGFyZW50RWxlbWVudDsKICAgICBSZWZQdHI8WW91VHVi
ZUVtYmVkU2hhZG93RWxlbWVudD4gbV9lbWJlZFNoYWRvd0VsZW1lbnQ7CiAgICAgS2V5VmFsdWVN
YXAgbV9hdHRyaWJ1dGVzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcAppbmRleCAxMjEzYjE0MTY2MTI3
MGQwNTcwN2U1M2JjZGE0ZTQxODg1ZTgwZTRhLi40MTAwOWVjMTcwNzU0YTkxZjk3YmEzMTFlMjQy
OTFmYzlkZGQzZDQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwCkBAIC0zNSw5ICszNSw5IEBACiAjaW5j
bHVkZSAiQXVkaW9QYXJhbS5oIgogI2luY2x1ZGUgIkF1ZGlvVXRpbGl0aWVzLmgiCiAjaW5jbHVk
ZSAiRmxvYXRDb252ZXJzaW9uLmgiCi0jaW5jbHVkZSAiUGFubmVyTm9kZS5oIgogI2luY2x1ZGUg
IlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJXZWJLaXRBdWRpb0J1ZmZlclNv
dXJjZU5vZGUuaCIKKyNpbmNsdWRlICJXZWJLaXRBdWRpb1Bhbm5lck5vZGUuaCIKICNpbmNsdWRl
IDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01Mzgs
OCArNTM4LDggQEAgdm9pZCBBdWRpb0J1ZmZlclNvdXJjZU5vZGU6OmFkanVzdEdyYWluUGFyYW1l
dGVycygpCiBkb3VibGUgQXVkaW9CdWZmZXJTb3VyY2VOb2RlOjp0b3RhbFBpdGNoUmF0ZSgpCiB7
CiAgICAgZG91YmxlIGRvcHBsZXJSYXRlID0gMS4wOwotICAgIGlmIChtX3Bhbm5lck5vZGUpCi0g
ICAgICAgIGRvcHBsZXJSYXRlID0gbV9wYW5uZXJOb2RlLT5kb3BwbGVyUmF0ZSgpOworICAgIGlm
IChtX2xlZ2FjeVBhbm5lck5vZGUpCisgICAgICAgIGRvcHBsZXJSYXRlID0gbV9sZWdhY3lQYW5u
ZXJOb2RlLT5kb3BwbGVyUmF0ZSgpOwogICAgIAogICAgIC8vIEluY29ycG9yYXRlIGJ1ZmZlcidz
IHNhbXBsZS1yYXRlIHZlcnN1cyBBdWRpb0NvbnRleHQncyBzYW1wbGUtcmF0ZS4KICAgICAvLyBO
b3JtYWxseSBpdCdzIG5vdCBhbiBpc3N1ZSBiZWNhdXNlIGJ1ZmZlcnMgYXJlIGxvYWRlZCBhdCB0
aGUgQXVkaW9Db250ZXh0J3Mgc2FtcGxlLXJhdGUsIGJ1dCB3ZSBjYW4gaGFuZGxlIGl0IGluIGFu
eSBjYXNlLgpAQCAtNTY3LDIxICs1NjcsMjEgQEAgYm9vbCBBdWRpb0J1ZmZlclNvdXJjZU5vZGU6
OnByb3BhZ2F0ZXNTaWxlbmNlKCkgY29uc3QKICAgICByZXR1cm4gIWlzUGxheWluZ09yU2NoZWR1
bGVkKCkgfHwgaGFzRmluaXNoZWQoKSB8fCAhbV9idWZmZXI7CiB9CiAKLXZvaWQgQXVkaW9CdWZm
ZXJTb3VyY2VOb2RlOjpzZXRQYW5uZXJOb2RlKFBhbm5lck5vZGVCYXNlKiBwYW5uZXJOb2RlKQor
dm9pZCBBdWRpb0J1ZmZlclNvdXJjZU5vZGU6OnNldFBhbm5lck5vZGUoV2ViS2l0QXVkaW9QYW5u
ZXJOb2RlKiBwYW5uZXJOb2RlKQogewotICAgIGlmIChtX3Bhbm5lck5vZGUgIT0gcGFubmVyTm9k
ZSAmJiAhaGFzRmluaXNoZWQoKSkKLSAgICAgICAgbV9wYW5uZXJOb2RlID0gcGFubmVyTm9kZTsK
KyAgICBpZiAobV9sZWdhY3lQYW5uZXJOb2RlICE9IHBhbm5lck5vZGUgJiYgIWhhc0ZpbmlzaGVk
KCkpCisgICAgICAgIG1fbGVnYWN5UGFubmVyTm9kZSA9IHBhbm5lck5vZGU7CiB9CiAKIHZvaWQg
QXVkaW9CdWZmZXJTb3VyY2VOb2RlOjpjbGVhclBhbm5lck5vZGUoKQogewotICAgIG1fcGFubmVy
Tm9kZSA9IG51bGxwdHI7CisgICAgbV9sZWdhY3lQYW5uZXJOb2RlID0gbnVsbHB0cjsKIH0KIAog
dm9pZCBBdWRpb0J1ZmZlclNvdXJjZU5vZGU6OmZpbmlzaCgpCiB7CiAgICAgY2xlYXJQYW5uZXJO
b2RlKCk7Ci0gICAgQVNTRVJUKCFtX3Bhbm5lck5vZGUpOworICAgIEFTU0VSVCghbV9sZWdhY3lQ
YW5uZXJOb2RlKTsKICAgICBBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGU6OmZpbmlzaCgpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVy
U291cmNlTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZl
clNvdXJjZU5vZGUuaAppbmRleCBhNmVjZTAwMTUyNGZmZmY3MzllNDdlOTI5ZDVmNzNmNDUwM2Fi
Y2M4Li4yZGI3NjYxYjg1NDE4ZDhjZGE5MmY5MDQxZjRkYTRhNjkwNzI5NjliIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VO
b2RlLmgKQEAgLTMzLDcgKzMzLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQXVk
aW9CdWZmZXI7Ci1jbGFzcyBQYW5uZXJOb2RlQmFzZTsKK2NsYXNzIFdlYktpdEF1ZGlvUGFubmVy
Tm9kZTsKIHN0cnVjdCBBdWRpb0J1ZmZlclNvdXJjZU9wdGlvbnM7CiAKIC8vIEF1ZGlvQnVmZmVy
U291cmNlTm9kZSBpcyBhbiBBdWRpb05vZGUgcmVwcmVzZW50aW5nIGFuIGF1ZGlvIHNvdXJjZSBm
cm9tIGFuIGluLW1lbW9yeSBhdWRpbyBhc3NldCByZXByZXNlbnRlZCBieSBhbiBBdWRpb0J1ZmZl
ci4KQEAgLTc3LDcgKzc3LDcgQEAgcHVibGljOgogICAgIEF1ZGlvUGFyYW0mIHBsYXliYWNrUmF0
ZSgpIHsgcmV0dXJuIG1fcGxheWJhY2tSYXRlLmdldCgpOyB9CiAKICAgICAvLyBJZiBhIHBhbm5l
ciBub2RlIGlzIHNldCwgdGhlbiB3ZSBjYW4gaW5jb3Jwb3JhdGUgZG9wcGxlciBzaGlmdCBpbnRv
IHRoZSBwbGF5YmFjayBwaXRjaCByYXRlLgotICAgIHZvaWQgc2V0UGFubmVyTm9kZShQYW5uZXJO
b2RlQmFzZSopOworICAgIHZvaWQgc2V0UGFubmVyTm9kZShXZWJLaXRBdWRpb1Bhbm5lck5vZGUq
KTsKICAgICB2b2lkIGNsZWFyUGFubmVyTm9kZSgpOwogCiAgICAgLy8gSWYgd2UgYXJlIG5vIGxv
bmdlciBwbGF5aW5nLCBwcm9wb2dhdGUgc2lsZW5jZSBhaGVhZCB0byBkb3duc3RyZWFtIG5vZGVz
LgpAQCAtMTQyLDcgKzE0Miw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBXZSBvcHRpb25hbGx5IGtl
ZXAgdHJhY2sgb2YgYSBwYW5uZXIgbm9kZSB3aGljaCBoYXMgYSBkb3BwbGVyIHNoaWZ0IHRoYXQg
aXMgaW5jb3Jwb3JhdGVkIGludG8KICAgICAvLyB0aGUgcGl0Y2ggcmF0ZS4KLSAgICBBdWRpb0Nv
bm5lY3Rpb25SZWZQdHI8UGFubmVyTm9kZUJhc2U+IG1fcGFubmVyTm9kZTsKKyAgICBBdWRpb0Nv
bm5lY3Rpb25SZWZQdHI8V2ViS2l0QXVkaW9QYW5uZXJOb2RlPiBtX2xlZ2FjeVBhbm5lck5vZGU7
CiAKICAgICAvLyBUaGlzIHN5bmNocm9uaXplcyBwcm9jZXNzKCkgd2l0aCBzZXRCdWZmZXIoKSB3
aGljaCBjYW4gY2F1c2UgZHluYW1pYyBjaGFubmVsIGNvdW50IGNoYW5nZXMuCiAgICAgbXV0YWJs
ZSBMb2NrIG1fcHJvY2Vzc0xvY2s7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0F1ZGlvTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
dWRpb05vZGUuaAppbmRleCBmZDJlMDBhOGQ3MzVjZGUwOWNjZjhkODA3MDg3OTU0M2I1YTQ2NmRh
Li5lMWE1Y2MyZWZjYzJmYzQ3NmY5NmM0NWNmMTMzMjJjMTMxMzRiMDNhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmgKQEAgLTE5MSw2ICsxOTEsOSBAQCBw
dWJsaWM6CiAgICAgQ2hhbm5lbEludGVycHJldGF0aW9uIGNoYW5uZWxJbnRlcnByZXRhdGlvbigp
IGNvbnN0IHsgcmV0dXJuIG1fY2hhbm5lbEludGVycHJldGF0aW9uOyB9CiAgICAgdmlydHVhbCBF
eGNlcHRpb25Pcjx2b2lkPiBzZXRDaGFubmVsSW50ZXJwcmV0YXRpb24oQ2hhbm5lbEludGVycHJl
dGF0aW9uKTsKIAorICAgIGJvb2wgaXNGaW5pc2hlZFNvdXJjZU5vZGUoKSBjb25zdCB7IHJldHVy
biBtX2lzRmluaXNoZWRTb3VyY2VOb2RlOyB9CisgICAgdm9pZCBzZXRJc0ZpbmlzaGVkU291cmNl
Tm9kZSgpIHsgbV9pc0ZpbmlzaGVkU291cmNlTm9kZSA9IHRydWU7IH0KKwogcHJvdGVjdGVkOgog
ICAgIC8vIElucHV0cyBhbmQgb3V0cHV0cyBtdXN0IGJlIGNyZWF0ZWQgYmVmb3JlIHRoZSBBdWRp
b05vZGUgaXMgaW5pdGlhbGl6ZWQuCiAgICAgdm9pZCBhZGRJbnB1dCgpOwpAQCAtMjQ4LDYgKzI1
MSw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAgYm9vbCBtX2lzTWFya2VkRm9yRGVsZXRpb24geyBm
YWxzZSB9OwogICAgIGJvb2wgbV9pc0Rpc2FibGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNG
aW5pc2hlZFNvdXJjZU5vZGUgeyBmYWxzZSB9OwogCiAjaWYgREVCVUdfQVVESU9OT0RFX1JFRkVS
RU5DRVMKICAgICBzdGF0aWMgYm9vbCBzX2lzTm9kZUNvdW50SW5pdGlhbGl6ZWQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250ZXh0LmNwcApp
bmRleCBiMGE3MmFmZGY0YTRmMTZlMzhiM2YzY2FhNTIyN2I2OTNhZmMzZmNmLi41N2VjNTE4YWEx
ZThmZGUyMjU3NWFkOWMyZmY0MDUwMjI4MzY0YTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQmFzZUF1ZGlvQ29udGV4dC5jcHAKQEAgLTE3MSw3ICsxNzEs
NiBAQCBCYXNlQXVkaW9Db250ZXh0Ojp+QmFzZUF1ZGlvQ29udGV4dCgpCiAgICAgQVNTRVJUKG1f
aXNTdG9wU2NoZWR1bGVkKTsKICAgICBBU1NFUlQobV9ub2Rlc1RvRGVsZXRlLmlzRW1wdHkoKSk7
CiAgICAgQVNTRVJUKG1fcmVmZXJlbmNlZFNvdXJjZU5vZGVzLmlzRW1wdHkoKSk7Ci0gICAgQVNT
RVJUKG1fZmluaXNoZWRTb3VyY2VOb2Rlcy5pc0VtcHR5KCkpOwogICAgIEFTU0VSVChtX2F1dG9t
YXRpY1B1bGxOb2Rlcy5pc0VtcHR5KCkpOwogICAgIGlmIChtX2F1dG9tYXRpY1B1bGxOb2Rlc05l
ZWRVcGRhdGluZykKICAgICAgICAgbV9yZW5kZXJpbmdBdXRvbWF0aWNQdWxsTm9kZXMucmVzaXpl
KG1fYXV0b21hdGljUHVsbE5vZGVzLnNpemUoKSk7CkBAIC0yNDQsNyArMjQzLDcgQEAgdm9pZCBC
YXNlQXVkaW9Db250ZXh0Ojp1bmluaXRpYWxpemUoKQogICAgICAgICBBdXRvTG9ja2VyIGxvY2tl
cigqdGhpcyk7CiAgICAgICAgIC8vIFRoaXMgc2hvdWxkIGhhdmUgYmVlbiBjYWxsZWQgZnJvbSBo
YW5kbGVQb3N0UmVuZGVyVGFza3MoKSBhdCB0aGUgZW5kIG9mIHJlbmRlcmluZy4KICAgICAgICAg
Ly8gSG93ZXZlciwgaW4gY2FzZSBvZiBsb2NrIGNvbnRlbnRpb24sIHRoZSB0cnlMb2NrKCkgY2Fs
bCBjb3VsZCBoYXZlIGZhaWxlZCBpbiBoYW5kbGVQb3N0UmVuZGVyVGFza3MoKSwKLSAgICAgICAg
Ly8gbGVhdmluZyBub2RlcyBpbiBtX2ZpbmlzaGVkU291cmNlTm9kZXMuIE5vdyB0aGF0IHRoZSBh
dWRpbyB0aHJlYWQgaXMgZ29uZSwgbWFrZSBzdXJlIHdlIGRlcmVmIHRob3NlIG5vZGVzCisgICAg
ICAgIC8vIGxlYXZpbmcgbm9kZXMgaW4gbV9yZWZlcmVuY2VkU291cmNlTm9kZXMuIE5vdyB0aGF0
IHRoZSBhdWRpbyB0aHJlYWQgaXMgZ29uZSwgbWFrZSBzdXJlIHdlIGRlcmVmIHRob3NlIG5vZGVz
CiAgICAgICAgIC8vIGJlZm9yZSB0aGUgQmFzZUF1ZGlvQ29udGV4dCBnZXRzIGRlc3Ryb3llZC4K
ICAgICAgICAgZGVyZWZGaW5pc2hlZFNvdXJjZU5vZGVzKCk7CiAgICAgfQpAQCAtNTc1LDE0ICs1
NzQsMjEgQEAgRXhjZXB0aW9uT3I8UmVmPElJUkZpbHRlck5vZGU+PiBCYXNlQXVkaW9Db250ZXh0
OjpjcmVhdGVJSVJGaWx0ZXIoU2NyaXB0RXhlY3V0aW8KICAgICByZXR1cm4gSUlSRmlsdGVyTm9k
ZTo6Y3JlYXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsICp0aGlzLCBXVEZNb3ZlKG9wdGlvbnMp
KTsKIH0KIAorc3RhdGljIGJvb2wgaXNGaW5pc2hlZFNvdXJjZU5vZGUoY29uc3QgQXVkaW9Db25u
ZWN0aW9uUmVmUHRyPEF1ZGlvTm9kZT4mIG5vZGUpCit7CisgICAgcmV0dXJuIG5vZGUtPmlzRmlu
aXNoZWRTb3VyY2VOb2RlKCk7Cit9CisKIHZvaWQgQmFzZUF1ZGlvQ29udGV4dDo6ZGVyZWZGaW5p
c2hlZFNvdXJjZU5vZGVzKCkKIHsKICAgICBBU1NFUlQoaXNHcmFwaE93bmVyKCkpOwogICAgIEFT
U0VSVChpc0F1ZGlvVGhyZWFkKCkgfHwgaXNBdWRpb1RocmVhZEZpbmlzaGVkKCkpOwotICAgIGZv
ciAoYXV0byYgbm9kZSA6IG1fZmluaXNoZWRTb3VyY2VOb2RlcykKLSAgICAgICAgZGVyZWZTb3Vy
Y2VOb2RlKCpub2RlKTsKIAotICAgIG1fZmluaXNoZWRTb3VyY2VOb2Rlcy5jbGVhcigpOworICAg
IGlmICghbV9oYXNGaW5pc2hlZEF1ZGlvU291cmNlTm9kZXMpCisgICAgICAgIHJldHVybjsKKwor
ICAgIG1fcmVmZXJlbmNlZFNvdXJjZU5vZGVzLnJlbW92ZUFsbE1hdGNoaW5nKGlzRmluaXNoZWRT
b3VyY2VOb2RlKTsKKyAgICBtX2hhc0ZpbmlzaGVkQXVkaW9Tb3VyY2VOb2RlcyA9IGZhbHNlOwog
fQogCiB2b2lkIEJhc2VBdWRpb0NvbnRleHQ6OnJlZlNvdXJjZU5vZGUoQXVkaW9Ob2RlJiBub2Rl
KQpAQCAtMTA1NSw3ICsxMDYxLDggQEAgdm9pZCBCYXNlQXVkaW9Db250ZXh0Ojpzb3VyY2VOb2Rl
RGlkRmluaXNoUGxheWJhY2soQXVkaW9Ob2RlJiBub2RlKQogewogICAgIEFTU0VSVChpc0F1ZGlv
VGhyZWFkKCkpOwogCi0gICAgbV9maW5pc2hlZFNvdXJjZU5vZGVzLmFwcGVuZCgmbm9kZSk7Cisg
ICAgbm9kZS5zZXRJc0ZpbmlzaGVkU291cmNlTm9kZSgpOworICAgIG1faGFzRmluaXNoZWRBdWRp
b1NvdXJjZU5vZGVzID0gdHJ1ZTsKIH0KIAogdm9pZCBCYXNlQXVkaW9Db250ZXh0Ojp3b3JrbGV0
SXNSZWFkeSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0Jh
c2VBdWRpb0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmFzZUF1
ZGlvQ29udGV4dC5oCmluZGV4IDg1Yzc3NGZkYWRlYWRiZWJkOGM3YTFjMjI3MTNhMDc3NTU1NGZm
ZDIuLjdmMTM0NTM0ZmZjNjAyODkwZDQ1ZjMxN2VjMzU4M2U4ZjQ4NTJlYjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmFzZUF1ZGlvQ29udGV4dC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmFzZUF1ZGlvQ29udGV4dC5oCkBAIC0z
MTksOSArMzE5LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIHdvcmtsZXRJc1JlYWR5KCk7CiAKICAg
ICAvLyBXaGVuIHNvdXJjZSBub2RlcyBiZWdpbiBwbGF5aW5nLCB0aGUgQmFzZUF1ZGlvQ29udGV4
dCBrZWVwcyB0aGVtIGFsaXZlIGluc2lkZSBtX3JlZmVyZW5jZWRTb3VyY2VOb2Rlcy4KLSAgICAv
LyBXaGVuIHRoZSBub2RlcyBzdG9wIHBsYXlpbmcsIHRoZXkgZ2V0IGFkZGVkIHRvIG1fZmluaXNo
ZWRTb3VyY2VOb2Rlcy4gQWZ0ZXIgZWFjaCByZW5kZXJpbmcgcXVhbnR1bSwKLSAgICAvLyB3ZSBj
YWxsIGRlcmVmU291cmNlTm9kZSgpIG9uIGV2ZXJ5IG5vZGUgaW4gbV9maW5pc2hlZFNvdXJjZU5v
ZGVzIHNpbmNlIHdlIG5vIGxvbmdlciBuZWVkIHRvIGtlZXAgdGhlbQotICAgIC8vIGFsaXZlLgor
ICAgIC8vIFdoZW4gdGhlIG5vZGVzIHN0b3AgcGxheWluZywgYSBmbGFnIGdldHMgc2V0IG9uIHRo
ZSBBdWRpb05vZGUgYWNjb3JkaW5nbHkuIEFmdGVyIGVhY2ggcmVuZGVyaW5nIHF1YW50dW0sCisg
ICAgLy8gd2UgY2FsbCBkZXJlZkZpbmlzaGVkU291cmNlTm9kZXMoKSB0byByZW1vdmUgdGhvc2Ug
bm9kZXMgZnJvbSBtX3JlZmVyZW5jZWRTb3VyY2VOb2RlcyBzaW5jZSB3ZSBubyBsb25nZXIKKyAg
ICAvLyBuZWVkIHRvIGtlZXAgdGhlbSBhbGl2ZS4KICAgICB2b2lkIHJlZlNvdXJjZU5vZGUoQXVk
aW9Ob2RlJik7CiAgICAgdm9pZCBkZXJlZlNvdXJjZU5vZGUoQXVkaW9Ob2RlJik7CiAKQEAgLTM1
MCw5ICszNTAsNiBAQCBwcml2YXRlOgogCiAgICAgUmVmPEF1ZGlvV29ya2xldD4gbV93b3JrbGV0
OwogCi0gICAgLy8gT25seSBhY2Nlc3NlZCBpbiB0aGUgYXVkaW8gdGhyZWFkLgotICAgIFZlY3Rv
cjxBdWRpb05vZGUqPiBtX2ZpbmlzaGVkU291cmNlTm9kZXM7Ci0KICAgICAvLyBFaXRoZXIgYWNj
ZXNzZWQgd2hlbiB0aGUgZ3JhcGggbG9jayBpcyBoZWxkLCBvciBvbiB0aGUgbWFpbiB0aHJlYWQg
d2hlbiB0aGUgYXVkaW8gdGhyZWFkIGhhcyBmaW5pc2hlZC4KICAgICBWZWN0b3I8QXVkaW9Db25u
ZWN0aW9uUmVmUHRyPEF1ZGlvTm9kZT4+IG1fcmVmZXJlbmNlZFNvdXJjZU5vZGVzOwogCkBAIC00
MTIsNiArNDA5LDcgQEAgcHJpdmF0ZToKICAgICBBdWRpb0lPUG9zaXRpb24gbV9vdXRwdXRQb3Np
dGlvbjsKIAogICAgIEhhc2hNYXA8U3RyaW5nLCBWZWN0b3I8QXVkaW9QYXJhbURlc2NyaXB0b3I+
PiBtX3BhcmFtZXRlckRlc2NyaXB0b3JNYXA7CisgICAgYm9vbCBtX2hhc0ZpbmlzaGVkQXVkaW9T
b3VyY2VOb2RlcyB7IGZhbHNlIH07CiAKICAgICAvLyBUaGVzZSBhcmUgY2FjaGVkIHBlciBhdWRp
byBjb250ZXh0IGZvciBwZXJmb3JtYW5jZSByZWFzb25zLiBUaGV5IGNhbm5vdCBiZQogICAgIC8v
IHN0YXRpYyBiZWNhdXNlIHRoZXkgcmVseSBvbiB0aGUgc2FtcGxlIHJhdGUuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZERTUEtlcm5lbC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZERTUEtlcm5lbC5jcHAKaW5kZXgg
YWU0MTZmODliZGI1ODM0ODhiNzE2ODE3MTRiYTQzOTMwNGViZTU3OC4uZTJkMTRiZTc0NzZkZTA5
YzNhYjlmMTQ0NmI2NGNmZjQ0ZjkxY2Q4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9CaXF1YWREU1BLZXJuZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQmlxdWFkRFNQS2VybmVsLmNwcApAQCAtMzgsMzAgKzM4LDQ2IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIGJvb2wgaGFzQ29uc3RhbnRWYWx1ZShmbG9h
dCogdmFsdWVzLCBzaXplX3QgZnJhbWVzVG9Qcm9jZXNzKQoreworICAgIGlmIChmcmFtZXNUb1By
b2Nlc3MgPD0gMSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBmbG9hdCBjb25zdGFudCA9
IHZhbHVlc1swXTsKKyAgICBmb3IgKHNpemVfdCBpID0gMTsgaSA8IGZyYW1lc1RvUHJvY2Vzczsg
KytpKSB7CisgICAgICAgIGlmICh2YWx1ZXNbaV0gIT0gY29uc3RhbnQpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQorCiB2b2lkIEJpcXVhZERT
UEtlcm5lbDo6dXBkYXRlQ29lZmZpY2llbnRzSWZOZWNlc3Nhcnkoc2l6ZV90IGZyYW1lc1RvUHJv
Y2VzcykKIHsKICAgICBpZiAoYmlxdWFkUHJvY2Vzc29yKCktPmZpbHRlckNvZWZmaWNpZW50c0Rp
cnR5KCkpIHsKICAgICAgICAgaWYgKGJpcXVhZFByb2Nlc3NvcigpLT5oYXNTYW1wbGVBY2N1cmF0
ZVZhbHVlcygpICYmIGJpcXVhZFByb2Nlc3NvcigpLT5zaG91bGRVc2VBUmF0ZSgpKSB7Ci0gICAg
ICAgICAgICBBdWRpb0Zsb2F0QXJyYXkgY3V0b2ZmRnJlcXVlbmN5KGZyYW1lc1RvUHJvY2Vzcyk7
Ci0gICAgICAgICAgICBBdWRpb0Zsb2F0QXJyYXkgcShmcmFtZXNUb1Byb2Nlc3MpOwotICAgICAg
ICAgICAgQXVkaW9GbG9hdEFycmF5IGdhaW4oZnJhbWVzVG9Qcm9jZXNzKTsKLSAgICAgICAgICAg
IEF1ZGlvRmxvYXRBcnJheSBkZXR1bmUoZnJhbWVzVG9Qcm9jZXNzKTsgLy8gaW4gQ2VudHMKKyAg
ICAgICAgICAgIC8vIFVzZSBmbG9hdCBhcnJheXMgaW5zdGVhZCBvZiBBdWRpb0Zsb2F0QXJyYXkg
dG8gYXZvaWQgaGVhcCBhbGxvY2F0aW9ucyBvbiB0aGUgYXVkaW8gdGhyZWFkLgorICAgICAgICAg
ICAgZmxvYXQgY3V0b2ZmRnJlcXVlbmN5W0F1ZGlvVXRpbGl0aWVzOjpyZW5kZXJRdWFudHVtU2l6
ZV07CisgICAgICAgICAgICBmbG9hdCBxW0F1ZGlvVXRpbGl0aWVzOjpyZW5kZXJRdWFudHVtU2l6
ZV07CisgICAgICAgICAgICBmbG9hdCBnYWluW0F1ZGlvVXRpbGl0aWVzOjpyZW5kZXJRdWFudHVt
U2l6ZV07CisgICAgICAgICAgICBmbG9hdCBkZXR1bmVbQXVkaW9VdGlsaXRpZXM6OnJlbmRlclF1
YW50dW1TaXplXTsgLy8gaW4gQ2VudHMKIAotICAgICAgICAgICAgQVNTRVJUKGZyYW1lc1RvUHJv
Y2VzcyA8PSBBdWRpb1V0aWxpdGllczo6cmVuZGVyUXVhbnR1bVNpemUpOworICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlQoZnJhbWVzVG9Qcm9jZXNzIDw9IEF1ZGlvVXRpbGl0aWVzOjpyZW5kZXJR
dWFudHVtU2l6ZSk7CiAKLSAgICAgICAgICAgIGJpcXVhZFByb2Nlc3NvcigpLT5wYXJhbWV0ZXIx
KCkuY2FsY3VsYXRlU2FtcGxlQWNjdXJhdGVWYWx1ZXMoY3V0b2ZmRnJlcXVlbmN5LmRhdGEoKSwg
ZnJhbWVzVG9Qcm9jZXNzKTsKLSAgICAgICAgICAgIGJpcXVhZFByb2Nlc3NvcigpLT5wYXJhbWV0
ZXIyKCkuY2FsY3VsYXRlU2FtcGxlQWNjdXJhdGVWYWx1ZXMocS5kYXRhKCksIGZyYW1lc1RvUHJv
Y2Vzcyk7Ci0gICAgICAgICAgICBiaXF1YWRQcm9jZXNzb3IoKS0+cGFyYW1ldGVyMygpLmNhbGN1
bGF0ZVNhbXBsZUFjY3VyYXRlVmFsdWVzKGdhaW4uZGF0YSgpLCBmcmFtZXNUb1Byb2Nlc3MpOwot
ICAgICAgICAgICAgYmlxdWFkUHJvY2Vzc29yKCktPnBhcmFtZXRlcjQoKS5jYWxjdWxhdGVTYW1w
bGVBY2N1cmF0ZVZhbHVlcyhkZXR1bmUuZGF0YSgpLCBmcmFtZXNUb1Byb2Nlc3MpOworICAgICAg
ICAgICAgYmlxdWFkUHJvY2Vzc29yKCktPnBhcmFtZXRlcjEoKS5jYWxjdWxhdGVTYW1wbGVBY2N1
cmF0ZVZhbHVlcyhjdXRvZmZGcmVxdWVuY3ksIGZyYW1lc1RvUHJvY2Vzcyk7CisgICAgICAgICAg
ICBiaXF1YWRQcm9jZXNzb3IoKS0+cGFyYW1ldGVyMigpLmNhbGN1bGF0ZVNhbXBsZUFjY3VyYXRl
VmFsdWVzKHEsIGZyYW1lc1RvUHJvY2Vzcyk7CisgICAgICAgICAgICBiaXF1YWRQcm9jZXNzb3Io
KS0+cGFyYW1ldGVyMygpLmNhbGN1bGF0ZVNhbXBsZUFjY3VyYXRlVmFsdWVzKGdhaW4sIGZyYW1l
c1RvUHJvY2Vzcyk7CisgICAgICAgICAgICBiaXF1YWRQcm9jZXNzb3IoKS0+cGFyYW1ldGVyNCgp
LmNhbGN1bGF0ZVNhbXBsZUFjY3VyYXRlVmFsdWVzKGRldHVuZSwgZnJhbWVzVG9Qcm9jZXNzKTsK
IAogICAgICAgICAgICAgLy8gSWYgYWxsIHRoZSB2YWx1ZXMgYXJlIGFjdHVhbGx5IGNvbnN0YW50
IGZvciB0aGlzIHJlbmRlciAob3IgdGhlCiAgICAgICAgICAgICAvLyBhdXRvbWF0aW9uIHJhdGUg
aXMgImstcmF0ZSIgZm9yIGFsbCBvZiB0aGUgQXVkaW9QYXJhbXMpLCB3ZSBkb24ndCBuZWVkCiAg
ICAgICAgICAgICAvLyB0byBjb21wdXRlIGZpbHRlciBjb2VmZmljaWVudHMgZm9yIGVhY2ggZnJh
bWUgc2luY2UgdGhleSB3b3VsZCBiZSB0aGUKICAgICAgICAgICAgIC8vIHNhbWUgYXMgdGhlIGZp
cnN0LgotICAgICAgICAgICAgYm9vbCBpc0NvbnN0YW50ID0gY3V0b2ZmRnJlcXVlbmN5LmNvbnRh
aW5zQ29uc3RhbnRWYWx1ZSgpICYmIHEuY29udGFpbnNDb25zdGFudFZhbHVlKCkKLSAgICAgICAg
ICAgICAgICAmJiBnYWluLmNvbnRhaW5zQ29uc3RhbnRWYWx1ZSgpICYmIGRldHVuZS5jb250YWlu
c0NvbnN0YW50VmFsdWUoKTsKKyAgICAgICAgICAgIGJvb2wgaXNDb25zdGFudCA9IGhhc0NvbnN0
YW50VmFsdWUoY3V0b2ZmRnJlcXVlbmN5LCBmcmFtZXNUb1Byb2Nlc3MpCisgICAgICAgICAgICAg
ICAgJiYgaGFzQ29uc3RhbnRWYWx1ZShxLCBmcmFtZXNUb1Byb2Nlc3MpCisgICAgICAgICAgICAg
ICAgJiYgaGFzQ29uc3RhbnRWYWx1ZShnYWluLCBmcmFtZXNUb1Byb2Nlc3MpCisgICAgICAgICAg
ICAgICAgJiYgaGFzQ29uc3RhbnRWYWx1ZShkZXR1bmUsIGZyYW1lc1RvUHJvY2Vzcyk7CiAKLSAg
ICAgICAgICAgIHVwZGF0ZUNvZWZmaWNpZW50cyhpc0NvbnN0YW50ID8gMSA6IGZyYW1lc1RvUHJv
Y2VzcywgY3V0b2ZmRnJlcXVlbmN5LmRhdGEoKSwgcS5kYXRhKCksIGdhaW4uZGF0YSgpLCBkZXR1
bmUuZGF0YSgpKTsKKyAgICAgICAgICAgIHVwZGF0ZUNvZWZmaWNpZW50cyhpc0NvbnN0YW50ID8g
MSA6IGZyYW1lc1RvUHJvY2VzcywgY3V0b2ZmRnJlcXVlbmN5LCBxLCBnYWluLCBkZXR1bmUpOwog
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgZmxvYXQgY3V0b2ZmRnJlcXVlbmN5ID0gYmlx
dWFkUHJvY2Vzc29yKCktPnBhcmFtZXRlcjEoKS5maW5hbFZhbHVlKCk7CiAgICAgICAgICAgICBm
bG9hdCBxID0gYmlxdWFkUHJvY2Vzc29yKCktPnBhcmFtZXRlcjIoKS5maW5hbFZhbHVlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmNwcAppbmRleCAz
YTI0MzU5MzlmMGMxMmY4MTgyZmNkN2FmZTE4YWU1Y2FhMDg4YmM1Li45NzE4OWZmMDViM2MzNDEw
YTRmOTg1Y2NlMzJiOTdjYTVhOGQwZDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vUGFubmVyTm9kZS5jcHAKQEAgLTUwLDExICs1MCw2IEBAIHN0YXRpYyB2b2lkIGZp
eE5BTnMoZG91YmxlICZ4KQogICAgICAgICB4ID0gMC4wOwogfQogCi1QYW5uZXJOb2RlQmFzZTo6
UGFubmVyTm9kZUJhc2UoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCkKLSAgICA6IEF1ZGlvTm9k
ZShjb250ZXh0LCBOb2RlVHlwZVBhbm5lcikKLXsKLX0KLQogRXhjZXB0aW9uT3I8UmVmPFBhbm5l
ck5vZGU+PiBQYW5uZXJOb2RlOjpjcmVhdGUoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCwgY29u
c3QgUGFubmVyT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBhdXRvIHBhbm5lciA9IGFkb3B0UmVm
KCpuZXcgUGFubmVyTm9kZShjb250ZXh0LCBvcHRpb25zKSk7CkBAIC04Myw3ICs3OCw3IEBAIEV4
Y2VwdGlvbk9yPFJlZjxQYW5uZXJOb2RlPj4gUGFubmVyTm9kZTo6Y3JlYXRlKEJhc2VBdWRpb0Nv
bnRleHQmIGNvbnRleHQsIGNvbnN0CiB9CiAKIFBhbm5lck5vZGU6OlBhbm5lck5vZGUoQmFzZUF1
ZGlvQ29udGV4dCYgY29udGV4dCwgY29uc3QgUGFubmVyT3B0aW9ucyYgb3B0aW9ucykKLSAgICA6
IFBhbm5lck5vZGVCYXNlKGNvbnRleHQpCisgICAgOiBBdWRpb05vZGUoY29udGV4dCwgTm9kZVR5
cGVQYW5uZXIpCiAgICAgLCBtX3Bhbm5pbmdNb2RlbChvcHRpb25zLnBhbm5pbmdNb2RlbCkKICAg
ICAsIG1fcG9zaXRpb25YKEF1ZGlvUGFyYW06OmNyZWF0ZShjb250ZXh0LCAicG9zaXRpb25YIl9z
LCBvcHRpb25zLnBvc2l0aW9uWCwgLUZMVF9NQVgsIEZMVF9NQVgsIEF1dG9tYXRpb25SYXRlOjpB
UmF0ZSkpCiAgICAgLCBtX3Bvc2l0aW9uWShBdWRpb1BhcmFtOjpjcmVhdGUoY29udGV4dCwgInBv
c2l0aW9uWSJfcywgb3B0aW9ucy5wb3NpdGlvblksIC1GTFRfTUFYLCBGTFRfTUFYLCBBdXRvbWF0
aW9uUmF0ZTo6QVJhdGUpKQpAQCAtMTA5LDIxICsxMDQsNiBAQCBQYW5uZXJOb2RlOjp+UGFubmVy
Tm9kZSgpCiAgICAgdW5pbml0aWFsaXplKCk7CiB9CiAKLXZvaWQgUGFubmVyTm9kZTo6cHVsbElu
cHV0cyhzaXplX3QgZnJhbWVzVG9Qcm9jZXNzKQotewotICAgIC8vIFdlIG92ZXJyaWRlIHB1bGxJ
bnB1dHMoKSwgc28gd2UgY2FuIGRldGVjdCBuZXcgQXVkaW9Tb3VyY2VOb2RlcyB3aGljaCBoYXZl
IGNvbm5lY3RlZCB0byB1cyB3aGVuIG5ldyBjb25uZWN0aW9ucyBhcmUgbWFkZS4KLSAgICAvLyBU
aGVzZSBBdWRpb1NvdXJjZU5vZGVzIG5lZWQgdG8gYmUgbWFkZSBhd2FyZSBvZiBvdXIgZXhpc3Rl
bmNlIGluIG9yZGVyIHRvIGhhbmRsZSBkb3BwbGVyIHNoaWZ0IHBpdGNoIGNoYW5nZXMuCi0gICAg
aWYgKG1fY29ubmVjdGlvbkNvdW50ICE9IGNvbnRleHQoKS5jb25uZWN0aW9uQ291bnQoKSkgewot
ICAgICAgICBtX2Nvbm5lY3Rpb25Db3VudCA9IGNvbnRleHQoKS5jb25uZWN0aW9uQ291bnQoKTsK
LQotICAgICAgICAvLyBSZWN1cnNpdmVseSBnbyB0aHJvdWdoIGFsbCBub2RlcyBjb25uZWN0ZWQg
dG8gdXMuCi0gICAgICAgIEhhc2hTZXQ8QXVkaW9Ob2RlKj4gdmlzaXRlZE5vZGVzOwotICAgICAg
ICBub3RpZnlBdWRpb1NvdXJjZXNDb25uZWN0ZWRUb05vZGUodGhpcywgdmlzaXRlZE5vZGVzKTsK
LSAgICB9Ci0gICAgCi0gICAgQXVkaW9Ob2RlOjpwdWxsSW5wdXRzKGZyYW1lc1RvUHJvY2Vzcyk7
Ci19Ci0KIHZvaWQgUGFubmVyTm9kZTo6cHJvY2VzcyhzaXplX3QgZnJhbWVzVG9Qcm9jZXNzKQog
ewogICAgIEF1ZGlvQnVzKiBkZXN0aW5hdGlvbiA9IG91dHB1dCgwKS0+YnVzKCk7CkBAIC01MzMs
MTEgKzUxMyw2IEBAIHZvaWQgUGFubmVyTm9kZTo6YXppbXV0aEVsZXZhdGlvbihkb3VibGUqIG91
dEF6aW11dGgsIGRvdWJsZSogb3V0RWxldmF0aW9uKQogICAgIGNhbGN1bGF0ZUF6aW11dGhFbGV2
YXRpb24ob3V0QXppbXV0aCwgb3V0RWxldmF0aW9uLCBwb3NpdGlvbigpLCBsaXN0ZW5lcigpLnBv
c2l0aW9uKCksIGxpc3RlbmVyKCkub3JpZW50YXRpb24oKSwgbGlzdGVuZXIoKS51cFZlY3Rvcigp
KTsKIH0KIAotZmxvYXQgUGFubmVyTm9kZTo6ZG9wcGxlclJhdGUoKQotewotICAgIHJldHVybiAx
LjBmOwotfQotCiBib29sIFBhbm5lck5vZGU6OnJlcXVpcmVzVGFpbFByb2Nlc3NpbmcoKSBjb25z
dAogewogICAgIC8vIElmIHRoZXJlJ3Mgbm8gaW50ZXJuYWwgcGFubmVyIG1ldGhvZCBzZXQgdXAg
eWV0LCBhc3N1bWUgd2UgcmVxdWlyZSB0YWlsCkBAIC01NjQsMzUgKzUzOSw2IEBAIGZsb2F0IFBh
bm5lck5vZGU6OmRpc3RhbmNlQ29uZUdhaW4oKQogICAgIHJldHVybiBjYWxjdWxhdGVEaXN0YW5j
ZUNvbmVHYWluKHBvc2l0aW9uKCksIG9yaWVudGF0aW9uKCksIGxpc3RlbmVyKCkucG9zaXRpb24o
KSk7CiB9CiAKLXZvaWQgUGFubmVyTm9kZTo6bm90aWZ5QXVkaW9Tb3VyY2VzQ29ubmVjdGVkVG9O
b2RlKEF1ZGlvTm9kZSogbm9kZSwgSGFzaFNldDxBdWRpb05vZGUqPiYgdmlzaXRlZE5vZGVzKQot
ewotICAgIEFTU0VSVChub2RlKTsKLSAgICBpZiAoIW5vZGUpCi0gICAgICAgIHJldHVybjsKLSAg
ICAgICAgCi0gICAgLy8gRmlyc3QgY2hlY2sgaWYgdGhpcyBub2RlIGlzIGFuIEF1ZGlvQnVmZmVy
U291cmNlTm9kZS4gSWYgc28sIGxldCBpdCBrbm93IGFib3V0IHVzIHNvIHRoYXQgZG9wcGxlciBz
aGlmdCBwaXRjaCBjYW4gYmUgdGFrZW4gaW50byBhY2NvdW50LgotICAgIGlmIChub2RlLT5ub2Rl
VHlwZSgpID09IE5vZGVUeXBlQXVkaW9CdWZmZXJTb3VyY2UpIHsKLSAgICAgICAgQXVkaW9CdWZm
ZXJTb3VyY2VOb2RlKiBidWZmZXJTb3VyY2VOb2RlID0gcmVpbnRlcnByZXRfY2FzdDxBdWRpb0J1
ZmZlclNvdXJjZU5vZGUqPihub2RlKTsKLSAgICAgICAgYnVmZmVyU291cmNlTm9kZS0+c2V0UGFu
bmVyTm9kZSh0aGlzKTsKLSAgICB9IGVsc2UgeyAgICAKLSAgICAgICAgLy8gR28gdGhyb3VnaCBh
bGwgaW5wdXRzIHRvIHRoaXMgbm9kZS4KLSAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IG5vZGUtPm51bWJlck9mSW5wdXRzKCk7ICsraSkgewotICAgICAgICAgICAgQXVkaW9Ob2RlSW5w
dXQqIGlucHV0ID0gbm9kZS0+aW5wdXQoaSk7Ci0KLSAgICAgICAgICAgIC8vIEZvciBlYWNoIGlu
cHV0LCBnbyB0aHJvdWdoIGFsbCBvZiBpdHMgY29ubmVjdGlvbnMsIGxvb2tpbmcgZm9yIEF1ZGlv
QnVmZmVyU291cmNlTm9kZXMuCi0gICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGogPSAwOyBqIDwg
aW5wdXQtPm51bWJlck9mUmVuZGVyaW5nQ29ubmVjdGlvbnMoKTsgKytqKSB7Ci0gICAgICAgICAg
ICAgICAgQXVkaW9Ob2RlT3V0cHV0KiBjb25uZWN0ZWRPdXRwdXQgPSBpbnB1dC0+cmVuZGVyaW5n
T3V0cHV0KGopOwotICAgICAgICAgICAgICAgIEF1ZGlvTm9kZSogY29ubmVjdGVkTm9kZSA9IGNv
bm5lY3RlZE91dHB1dC0+bm9kZSgpOwotICAgICAgICAgICAgICAgIGlmICh2aXNpdGVkTm9kZXMu
Y29udGFpbnMoY29ubmVjdGVkTm9kZSkpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwot
Ci0gICAgICAgICAgICAgICAgdmlzaXRlZE5vZGVzLmFkZChjb25uZWN0ZWROb2RlKTsKLSAgICAg
ICAgICAgICAgICBub3RpZnlBdWRpb1NvdXJjZXNDb25uZWN0ZWRUb05vZGUoY29ubmVjdGVkTm9k
ZSwgdmlzaXRlZE5vZGVzKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLX0KLQog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVURJTykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmgKaW5kZXggYjE0ZDNh
ZTdhM2RkZDE3NjIxODEyNGMwMWRkOTYxM2NiZjNlNzYxMC4uYzFmNmU0NmYwNmFkNWZjZGQyNmQ4
NTk5NWQyYzRjNTJiZmE0NzI0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9QYW5uZXJOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9QYW5uZXJOb2RlLmgKQEAgLTQ0LDE2ICs0NCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIEhSVEZEYXRhYmFzZUxvYWRlcjsKIGNsYXNzIEJhc2VBdWRpb0NvbnRleHQ7CiAKLWNsYXNz
IFBhbm5lck5vZGVCYXNlIDogcHVibGljIEF1ZGlvTm9kZSB7Ci1wdWJsaWM6Ci0gICAgdmlydHVh
bCB+UGFubmVyTm9kZUJhc2UoKSA9IGRlZmF1bHQ7Ci0KLSAgICB2aXJ0dWFsIGZsb2F0IGRvcHBs
ZXJSYXRlKCkgPSAwOwotCi1wcm90ZWN0ZWQ6Ci0gICAgUGFubmVyTm9kZUJhc2UoQmFzZUF1ZGlv
Q29udGV4dCYpOwotfTsKLQogLy8gUGFubmVyTm9kZSBpcyBhbiBBdWRpb05vZGUgd2l0aCBvbmUg
aW5wdXQgYW5kIG9uZSBvdXRwdXQuCiAvLyBJdCBwb3NpdGlvbnMgYSBzb3VuZCBpbiAzRCBzcGFj
ZSwgd2l0aCB0aGUgZXhhY3QgZWZmZWN0IGRlcGVuZGVudCBvbiB0aGUgcGFubmluZyBtb2RlbC4K
IC8vIEl0IGhhcyBhIHBvc2l0aW9uIGFuZCBhbiBvcmllbnRhdGlvbiBpbiAzRCBzcGFjZSB3aGlj
aCBpcyByZWxhdGl2ZSB0byB0aGUgcG9zaXRpb24gYW5kIG9yaWVudGF0aW9uIG9mIHRoZSBjb250
ZXh0J3MgQXVkaW9MaXN0ZW5lci4KQEAgLTYxLDcgKzUxLDcgQEAgcHJvdGVjdGVkOgogLy8gQSBj
b25lIGVmZmVjdCB3aWxsIGF0dGVudWF0ZSB0aGUgZ2FpbiBhcyB0aGUgb3JpZW50YXRpb24gbW92
ZXMgYXdheSBmcm9tIHRoZSBsaXN0ZW5lci4KIC8vIEFsbCBvZiB0aGVzZSBlZmZlY3RzIGZvbGxv
dyB0aGUgT3BlbkFMIHNwZWNpZmljYXRpb24gdmVyeSBjbG9zZWx5LgogCi1jbGFzcyBQYW5uZXJO
b2RlIGZpbmFsIDogcHVibGljIFBhbm5lck5vZGVCYXNlIHsKK2NsYXNzIFBhbm5lck5vZGUgZmlu
YWwgOiBwdWJsaWMgQXVkaW9Ob2RlIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFBhbm5l
ck5vZGUpOwogcHVibGljOgogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8UGFubmVyTm9kZT4+
IGNyZWF0ZShCYXNlQXVkaW9Db250ZXh0JiwgY29uc3QgUGFubmVyT3B0aW9ucyYgPSB7IH0pOwpA
QCAtNzEsNyArNjEsNiBAQCBwdWJsaWM6CiAgICAgLy8gQXVkaW9Ob2RlCiAgICAgdm9pZCBwcm9j
ZXNzKHNpemVfdCBmcmFtZXNUb1Byb2Nlc3MpIG92ZXJyaWRlOwogICAgIHZvaWQgcHJvY2Vzc09u
bHlBdWRpb1BhcmFtcyhzaXplX3QgZnJhbWVzVG9Qcm9jZXNzKSBmaW5hbDsKLSAgICB2b2lkIHB1
bGxJbnB1dHMoc2l6ZV90IGZyYW1lc1RvUHJvY2Vzcykgb3ZlcnJpZGU7CiAgICAgdm9pZCBpbml0
aWFsaXplKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCB1bmluaXRpYWxpemUoKSBvdmVycmlkZTsKIApA
QCAtMTIzLDcgKzExMiw2IEBAIHB1YmxpYzoKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRDaGFu
bmVsQ291bnRNb2RlKENoYW5uZWxDb3VudE1vZGUpIGZpbmFsOwogCiAgICAgdm9pZCBhemltdXRo
RWxldmF0aW9uKGRvdWJsZSogb3V0QXppbXV0aCwgZG91YmxlKiBvdXRFbGV2YXRpb24pOwotICAg
IGZsb2F0IGRvcHBsZXJSYXRlKCkgZmluYWw7CiAKICAgICBkb3VibGUgdGFpbFRpbWUoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBtX3Bhbm5lciA/IG1fcGFubmVyLT50YWlsVGltZSgpIDogMDsg
fQogICAgIGRvdWJsZSBsYXRlbmN5VGltZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fcGFu
bmVyID8gbV9wYW5uZXItPmxhdGVuY3lUaW1lKCkgOiAwOyB9CkBAIC0xMzksMTAgKzEyNyw2IEBA
IHByaXZhdGU6CiAKICAgICBib29sIHJlcXVpcmVzVGFpbFByb2Nlc3NpbmcoKSBjb25zdCBmaW5h
bDsKIAotICAgIC8vIE5vdGlmaWVzIGFueSBBdWRpb0J1ZmZlclNvdXJjZU5vZGVzIGNvbm5lY3Rl
ZCB0byB1cyBlaXRoZXIgZGlyZWN0bHkgb3IgaW5kaXJlY3RseSBhYm91dCBvdXIgZXhpc3RlbmNl
LgotICAgIC8vIFRoaXMgaXMgaW4gb3JkZXIgdG8gaGFuZGxlIHRoZSBwaXRjaCBjaGFuZ2UgbmVj
ZXNzYXJ5IGZvciB0aGUgZG9wcGxlciBzaGlmdC4KLSAgICB2b2lkIG5vdGlmeUF1ZGlvU291cmNl
c0Nvbm5lY3RlZFRvTm9kZShBdWRpb05vZGUqLCBIYXNoU2V0PEF1ZGlvTm9kZSo+JiB2aXNpdGVk
Tm9kZXMpOwotCiAgICAgdm9pZCBwcm9jZXNzU2FtcGxlQWNjdXJhdGVWYWx1ZXMoQXVkaW9CdXMq
IGRlc3RpbmF0aW9uLCBjb25zdCBBdWRpb0J1cyogc291cmNlLCBzaXplX3QgZnJhbWVzVG9Qcm9j
ZXNzKTsKICAgICBib29sIGhhc1NhbXBsZUFjY3VyYXRlVmFsdWVzKCkgY29uc3Q7CiAgICAgYm9v
bCBzaG91bGRVc2VBUmF0ZSgpIGNvbnN0OwpAQCAtMTY1LDggKzE0OSw2IEBAIHByaXZhdGU6CiAg
ICAgLy8gSFJURiBEYXRhYmFzZSBsb2FkZXIKICAgICBSZWZQdHI8SFJURkRhdGFiYXNlTG9hZGVy
PiBtX2hydGZEYXRhYmFzZUxvYWRlcjsKIAotICAgIHVuc2lnbmVkIG1fY29ubmVjdGlvbkNvdW50
IHsgMCB9OwotCiAgICAgLy8gU3luY2hyb25pemUgcHJvY2VzcygpIHdpdGggc2V0dGluZyBvZiB0
aGUgcGFubmluZyBtb2RlbCwgc291cmNlJ3MgbG9jYXRpb24KICAgICAvLyBpbmZvcm1hdGlvbiwg
bGlzdGVuZXIsIGRpc3RhbmNlIHBhcmFtZXRlcnMgYW5kIHNvdW5kIGNvbmVzLgogICAgIG11dGFi
bGUgTG9jayBtX3Byb2Nlc3NMb2NrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9XZWJLaXRBdWRpb1Bhbm5lck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb1Bhbm5lck5vZGUuY3BwCmluZGV4IGIwZDk0YWQxMzY4
NDYzZTZkNDE1NmI3YjM3OGEyNzc0OTc3MWUxZGYuLjYyMjQ0MGE5NGVmYzkxZDIwMmU4YzQ5Mzdm
ZGY3Nzc1OTdhNjgxOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vV2ViS2l0QXVkaW9QYW5uZXJOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL1dlYktpdEF1ZGlvUGFubmVyTm9kZS5jcHAKQEAgLTQ5LDcgKzQ5LDcgQEAgc3Rh
dGljIHZvaWQgZml4TkFOcyhkb3VibGUgJngpCiB9CiAKIFdlYktpdEF1ZGlvUGFubmVyTm9kZTo6
V2ViS2l0QXVkaW9QYW5uZXJOb2RlKFdlYktpdEF1ZGlvQ29udGV4dCYgY29udGV4dCkKLSAgICA6
IFBhbm5lck5vZGVCYXNlKGNvbnRleHQpCisgICAgOiBBdWRpb05vZGUoY29udGV4dCwgTm9kZVR5
cGVQYW5uZXIpCiB7CiAgICAgaW5pdGlhbGl6ZURlZmF1bHROb2RlT3B0aW9ucygyLCBDaGFubmVs
Q291bnRNb2RlOjpDbGFtcGVkTWF4LCBDaGFubmVsSW50ZXJwcmV0YXRpb246OlNwZWFrZXJzKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRp
b1Bhbm5lck5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVk
aW9QYW5uZXJOb2RlLmgKaW5kZXggZDA5NDEyMmM2ZmUyZDIxOTdjNGIwNTBmOTQwNDFkZTM4ODYy
YTMzZi4uOTk0YmIwMmQyZDZiNzVlMDlhNDkxYWJhYWYyMTFiZjk0ZDA0MGZhZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb1Bhbm5lck5vZGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvUGFubmVy
Tm9kZS5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiRGlzdGFuY2UuaCIKICNpbmNsdWRl
ICJGbG9hdFBvaW50M0QuaCIKICNpbmNsdWRlICJQYW5uZXIuaCIKLSNpbmNsdWRlICJQYW5uZXJO
b2RlLmgiCiAjaW5jbHVkZSAiV2ViS2l0QXVkaW9Db250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViS2l0
QXVkaW9MaXN0ZW5lci5oIgogI2luY2x1ZGUgPG1lbW9yeT4KQEAgLTUwLDcgKzQ5LDcgQEAgY2xh
c3MgSFJURkRhdGFiYXNlTG9hZGVyOwogLy8gQSBjb25lIGVmZmVjdCB3aWxsIGF0dGVudWF0ZSB0
aGUgZ2FpbiBhcyB0aGUgb3JpZW50YXRpb24gbW92ZXMgYXdheSBmcm9tIHRoZSBsaXN0ZW5lci4K
IC8vIEFsbCBvZiB0aGVzZSBlZmZlY3RzIGZvbGxvdyB0aGUgT3BlbkFMIHNwZWNpZmljYXRpb24g
dmVyeSBjbG9zZWx5LgogCi1jbGFzcyBXZWJLaXRBdWRpb1Bhbm5lck5vZGUgZmluYWwgOiBwdWJs
aWMgUGFubmVyTm9kZUJhc2UgeworY2xhc3MgV2ViS2l0QXVkaW9QYW5uZXJOb2RlIGZpbmFsIDog
cHVibGljIEF1ZGlvTm9kZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChXZWJLaXRBdWRp
b1Bhbm5lck5vZGUpOwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8V2ViS2l0QXVkaW9QYW5uZXJO
b2RlPiBjcmVhdGUoV2ViS2l0QXVkaW9Db250ZXh0JiBjb250ZXh0KQpAQCAtMTEyLDcgKzExMSw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldENvbmVPdXRlckdhaW4oZG91YmxlIGFuZ2xlKSB7IG1f
Y29uZUVmZmVjdC5zZXRPdXRlckdhaW4oYW5nbGUpOyB9CiAKICAgICB2b2lkIGdldEF6aW11dGhF
bGV2YXRpb24oZG91YmxlKiBvdXRBemltdXRoLCBkb3VibGUqIG91dEVsZXZhdGlvbik7Ci0gICAg
ZmxvYXQgZG9wcGxlclJhdGUoKSBmaW5hbDsKKyAgICBmbG9hdCBkb3BwbGVyUmF0ZSgpOwogCiAg
ICAgZG91YmxlIHRhaWxUaW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9wYW5uZXIgPyBt
X3Bhbm5lci0+dGFpbFRpbWUoKSA6IDA7IH0KICAgICBkb3VibGUgbGF0ZW5jeVRpbWUoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBtX3Bhbm5lciA/IG1fcGFubmVyLT5sYXRlbmN5VGltZSgpIDog
MDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL1ZlcnNp
b24ueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvVmVyc2lvbi54
Y2NvbmZpZwppbmRleCBlNWZlMmJhNmE3ZWNjY2MxZWM1NTA5NGQ2ZTI2OGZmYzhhYjAwMTY4Li5j
YmZmZmZiMjE1ZjExMjdiNWJmMjhmY2QyY2VjMTdlNzRhOTU1NmEyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvVmVyc2lvbi54Y2NvbmZpZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvVmVyc2lvbi54Y2NvbmZpZwpAQCAtMjMsNyAr
MjMsNyBAQAogCiBNQUpPUl9WRVJTSU9OID0gNjEyOwogTUlOT1JfVkVSU0lPTiA9IDE7Ci1USU5Z
X1ZFUlNJT04gPSA3OworVElOWV9WRVJTSU9OID0gODsKIE1JQ1JPX1ZFUlNJT04gPSAwOwogTkFO
T19WRVJTSU9OID0gMDsKIEZVTExfVkVSU0lPTiA9ICQoTUFKT1JfVkVSU0lPTikuJChNSU5PUl9W
RVJTSU9OKS4kKFRJTllfVkVSU0lPTik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IGE2ODRkOTJmZGFkOTgzNzc3MWRmMzlm
MzFkOGY4M2Y4OTNmZTAwYTIuLjk4OTBjNzNhZjJlZmM3MGE5NDc4MDQ5MjlmY2Q1MDVjOGFjMTE3
NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCkBAIC0xODcxLDcgKzE4NzEsNiBAQCBzdWIgR2V0QXR0cmlidXRlU2V0dGVyTmFt
ZQogCiAgICAgcmV0dXJuICJzZXQiIC4gJGNvZGVHZW5lcmF0b3ItPldLX3VjZmlyc3QoR2V0SlNC
dWlsdGluRnVuY3Rpb25OYW1lKCRjbGFzc05hbWUsICRhdHRyaWJ1dGUpKSBpZiBJc0pTQnVpbHRp
bigkaW50ZXJmYWNlLCAkYXR0cmlidXRlKTsKICAgICByZXR1cm4gInNldCIgLiAkY29kZUdlbmVy
YXRvci0+V0tfdWNmaXJzdCgkY2xhc3NOYW1lKSAuICJDb25zdHJ1Y3RvciIgLiBNYW5nbGVBdHRy
aWJ1dGVPckZ1bmN0aW9uTmFtZSgkYXR0cmlidXRlLT5uYW1lKSBpZiAkYXR0cmlidXRlLT5pc1N0
YXRpYzsKLSAgICByZXR1cm4gInNldCIgLiAkY29kZUdlbmVyYXRvci0+V0tfdWNmaXJzdCgkY2xh
c3NOYW1lKSAuIE1hbmdsZUF0dHJpYnV0ZU9yRnVuY3Rpb25OYW1lKCRhdHRyaWJ1dGUtPm5hbWUp
IC4gIkNvbnN0cnVjdG9yIiBpZiAkY29kZUdlbmVyYXRvci0+SXNDb25zdHJ1Y3RvclR5cGUoJGF0
dHJpYnV0ZS0+dHlwZSk7CiAgICAgcmV0dXJuICJzZXQiIC4gJGNvZGVHZW5lcmF0b3ItPldLX3Vj
Zmlyc3QoJGNsYXNzTmFtZSkgLiBNYW5nbGVBdHRyaWJ1dGVPckZ1bmN0aW9uTmFtZSgkYXR0cmli
dXRlLT5uYW1lKTsKIH0KIApAQCAtMjIzMyw2ICsyMjMyLDcgQEAgc3ViIEluc3RhbmNlTmVlZHNW
aXNpdENoaWxkcmVuCiAgICAgfQogCiAgICAgcmV0dXJuIDEgaWYgJGludGVyZmFjZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57SlNDdXN0b21NYXJrRnVuY3Rpb259OworICAgIHJldHVybiAxIGlmICRp
bnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+e1BsdWdpbn07CiAgICAgcmV0dXJuIDEgaWYg
JGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57UmVwb3J0RXh0cmFNZW1vcnlDb3N0fTsK
ICAgICByZXR1cm4gMDsKIH0KQEAgLTMzODMsNyArMzM4Myw3IEBAIHN1YiBHZW5lcmF0ZVByb3Bl
cnRpZXNIYXNoVGFibGUKICAgICAgICAgICAgIHB1c2goQCRoYXNoVmFsdWUxLCAkZ2V0dGVyKTsK
ICAgICAgICAgfQogCi0gICAgICAgIGlmIChJc1JlYWRvbmx5KCRhdHRyaWJ1dGUpKSB7CisgICAg
ICAgIGlmIChJc1JlYWRvbmx5KCRhdHRyaWJ1dGUpIHx8ICRjb2RlR2VuZXJhdG9yLT5Jc0NvbnN0
cnVjdG9yVHlwZSgkYXR0cmlidXRlLT50eXBlKSkgewogICAgICAgICAgICAgcHVzaChAJGhhc2hW
YWx1ZTIsICIwIik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBteSAkc2V0dGVyID0g
R2V0QXR0cmlidXRlU2V0dGVyTmFtZSgkaW50ZXJmYWNlLCAkY2xhc3NOYW1lLCAkYXR0cmlidXRl
KTsKQEAgLTQzMDYsNyArNDMwNiw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiNpZiAke2NvbmRpdGlvbmFsU3RyaW5nfVxuIikg
aWYgJGNvbmRpdGlvbmFsU3RyaW5nOwogICAgICAgICAgICAgbXkgJGdldHRlciA9IEdldEF0dHJp
YnV0ZUdldHRlck5hbWUoJGludGVyZmFjZSwgJGNsYXNzTmFtZSwgJGF0dHJpYnV0ZSk7CiAgICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgInN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VU
VEVSKCR7Z2V0dGVyfSk7XG4iKTsKLSAgICAgICAgICAgIGlmICghSXNSZWFkb25seSgkYXR0cmli
dXRlKSkgeworICAgICAgICAgICAgdW5sZXNzIChJc1JlYWRvbmx5KCRhdHRyaWJ1dGUpIHx8ICRj
b2RlR2VuZXJhdG9yLT5Jc0NvbnN0cnVjdG9yVHlwZSgkYXR0cmlidXRlLT50eXBlKSkgewogICAg
ICAgICAgICAgICAgIG15ICRyZWFkV3JpdGVDb25kaXRpb25hbCA9ICRhdHRyaWJ1dGUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+e0NvbmRpdGlvbmFsbHlSZWFkV3JpdGV9OwogICAgICAgICAgICAgICAg
IGlmICgkcmVhZFdyaXRlQ29uZGl0aW9uYWwpIHsKICAgICAgICAgICAgICAgICAgICAgbXkgJHJl
YWRXcml0ZUNvbmRpdGlvbmFsU3RyaW5nID0gJGNvZGVHZW5lcmF0b3ItPkdlbmVyYXRlQ29uZGl0
aW9uYWxTdHJpbmdGcm9tQXR0cmlidXRlVmFsdWUoJHJlYWRXcml0ZUNvbmRpdGlvbmFsKTsKQEAg
LTQ3MTUsNyArNDcxNSw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgIG15
ICRydW50aW1lRW5hYmxlQ29uZGl0aW9uYWxTdHJpbmcgPSBHZW5lcmF0ZVJ1bnRpbWVFbmFibGVD
b25kaXRpb25hbFN0cmluZygkaW50ZXJmYWNlLCAkYXR0cmlidXRlLCAiZ2xvYmFsT2JqZWN0KCki
KTsKICAgICAgICAgbXkgJGF0dHJpYnV0ZU5hbWUgPSAkYXR0cmlidXRlLT5uYW1lOwogICAgICAg
ICBteSAkZ2V0dGVyID0gR2V0QXR0cmlidXRlR2V0dGVyTmFtZSgkaW50ZXJmYWNlLCAkY2xhc3NO
YW1lLCAkYXR0cmlidXRlKTsKLSAgICAgICAgbXkgJHNldHRlciA9IElzUmVhZG9ubHkoJGF0dHJp
YnV0ZSkgPyAibnVsbHB0ciIgOiBHZXRBdHRyaWJ1dGVTZXR0ZXJOYW1lKCRpbnRlcmZhY2UsICRj
bGFzc05hbWUsICRhdHRyaWJ1dGUpOworICAgICAgICBteSAkc2V0dGVyID0gSXNSZWFkb25seSgk
YXR0cmlidXRlKSB8fCAkY29kZUdlbmVyYXRvci0+SXNDb25zdHJ1Y3RvclR5cGUoJGF0dHJpYnV0
ZS0+dHlwZSkgPyAibnVsbHB0ciIgOiBHZXRBdHRyaWJ1dGVTZXR0ZXJOYW1lKCRpbnRlcmZhY2Us
ICRjbGFzc05hbWUsICRhdHRyaWJ1dGUpOwogICAgICAgICBteSAkanNjQXR0cmlidXRlcyA9IEdl
dEpTQ0F0dHJpYnV0ZXNGb3JBdHRyaWJ1dGUoJGludGVyZmFjZSwgJGF0dHJpYnV0ZSk7CiAgICAg
ICAgIG15ICRpc1ByaXZhdGVBbmRQdWJsaWMgPSAkYXR0cmlidXRlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPntQdWJsaWNJZGVudGlmaWVyfSAmJiAkYXR0cmlidXRlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PntQcml2YXRlSWRlbnRpZmllcn07CiAKQEAgLTQ5NDcsNiArNDk0NywxMSBAQCBzdWIgR2VuZXJh
dGVJbXBsZW1lbnRhdGlvbgogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBBU1NFUlRf
R0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGluZm8oKSk7XG4iKTsKICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgQmFzZTo6dmlzaXRDaGlsZHJlbih0aGlzT2JqZWN0LCB2aXNp
dG9yKTtcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICB0aGlzT2JqZWN0LT52
aXNpdEFkZGl0aW9uYWxDaGlsZHJlbih2aXNpdG9yKTtcbiIpIGlmICRpbnRlcmZhY2UtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+e0pTQ3VzdG9tTWFya0Z1bmN0aW9ufTsKKyAgICAgICAgaWYgKCRpbnRl
cmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+e1BsdWdpbn0pIHsKKyAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiI2lmIFBMQVRGT1JNKENPQ09BKVxuIik7CisgICAgICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIiAgICB0aGlzT2JqZWN0LT53cmFwcGVkKCkucGx1Z2luUmVwbGFjZW1l
bnRTY3JpcHRPYmplY3QoKS52aXNpdCh2aXNpdG9yKTtcbiIpOworICAgICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIjZW5kaWZcbiIpOworICAgICAgICB9CiAgICAgICAgIGlmICgkaW50ZXJm
YWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntSZXBvcnRFeHRyYU1lbW9yeUNvc3R9KSB7CiAgICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICB2aXNpdG9yLnJlcG9ydEV4dHJhTWVtb3J5
VmlzaXRlZCh0aGlzT2JqZWN0LT53cmFwcGVkKCkubWVtb3J5Q29zdCgpKTtcbiIpOwogICAgICAg
ICAgICAgaWYgKCRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+e1JlcG9ydEV4dGVybmFs
TWVtb3J5Q29zdH0pIHs7CkBAIC01MjY5LDE0ICs1Mjc0LDE5IEBAIHN1YiBHZW5lcmF0ZUF0dHJp
YnV0ZUdldHRlckJvZHlEZWZpbml0aW9uCiAKICAgICAgICAgIyBTdHJpcCBvZmYgYW55IHRyYWls
aW5nICJDb25zdHJ1Y3RvciIgb3IgIkxlZ2FjeUZhY3RvcnlGdW5jdGlvbkNvbnN0cnVjdG9yIiB0
byBnZXQgdGhlIHJlYWwgdHlwZS4KICAgICAgICAgJGNvbnN0cnVjdG9yVHlwZSA9fiBzL0NvbnN0
cnVjdG9yJC8vOworCisgICAgICAgICMgJGNvbnN0cnVjdG9yVHlwZSB+PSAvTGVnYWN5RmFjdG9y
eUZ1bmN0aW9uJC8gaW5kaWNhdGVzIHRoYXQgaXQgaXMgTGVnYWN5RmFjdG9yeUZ1bmN0aW9uLgor
ICAgICAgICAjIFdlIGRvIG5vdCBnZW5lcmF0ZSB0aGUgaGVhZGVyIGZpbGUgZm9yIExlZ2FjeUZh
Y3RvcnlGdW5jdGlvbiBvZiBjbGFzcyBYLAorICAgICAgICAjIHNpbmNlIHdlIGdlbmVyYXRlIHRo
ZSBMZWdhY3lGYWN0b3J5RnVuY3Rpb24gZGVjbGFyYXRpb24gaW50byB0aGUgaGVhZGVyIGZpbGUg
b2YgY2xhc3MgWC4KKyAgICAgICAgaWYgKCRjb25zdHJ1Y3RvclR5cGUgbmUgImFueSIgYW5kICRj
b25zdHJ1Y3RvclR5cGUgIX4gL0xlZ2FjeUZhY3RvcnlGdW5jdGlvbiQvKSB7CisgICAgICAgICAg
ICBBZGRUb0ltcGxJbmNsdWRlcygiSlMiIC4gJGNvbnN0cnVjdG9yVHlwZSAuICIuaCIsICRjb25k
aXRpb25hbCk7CisgICAgICAgIH0KKwogICAgICAgICAkY29uc3RydWN0b3JUeXBlID1+IHMvTGVn
YWN5RmFjdG9yeUZ1bmN0aW9uJC8vOwogCi0gICAgICAgICMgV2hlbiBDb25zdHJ1Y3RvciBhdHRy
aWJ1dGUgaXMgdXNlZCBieSBET01XaW5kb3cuaWRsLCBpdCdzIGNvcnJlY3QgdG8gcGFzcyB0aGlz
T2JqZWN0IGFzIHRoZSBnbG9iYWwgb2JqZWN0Ci0gICAgICAgICMgV2hlbiBKU0RPTVdyYXBwZXJz
IGhhdmUgYSBiYWNrLXBvaW50ZXIgdG8gdGhlIGdsb2JhbE9iamVjdCB3ZSBjYW4gcGFzcyB0aGlz
T2JqZWN0LT5nbG9iYWxPYmplY3QoKQotICAgICAgICBpZiAoJGludGVyZmFjZS0+dHlwZS0+bmFt
ZSBlcSAiRE9NV2luZG93IikgeworICAgICAgICBpZiAoSXNET01HbG9iYWxPYmplY3QoJGludGVy
ZmFjZSkpIHsKICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICByZXR1cm4gSlMi
IC4gJGNvbnN0cnVjdG9yVHlwZSAuICI6OiR7Y29uc3RydWN0b3JHZXR0ZXJ9KEpTQzo6Z2V0Vk0o
JmxleGljYWxHbG9iYWxPYmplY3QpLCAmdGhpc09iamVjdCk7XG4iKTsKICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJKUyIgLiAkY29uc3RydWN0b3JUeXBl
IC4gIi5oIiwgJGNvbmRpdGlvbmFsKTsKICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwg
IiAgICByZXR1cm4gSlMiIC4gJGNvbnN0cnVjdG9yVHlwZSAuICI6OiR7Y29uc3RydWN0b3JHZXR0
ZXJ9KEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCB0aGlzT2JqZWN0Lmdsb2JhbE9i
amVjdCgpKTtcbiIpOwogICAgICAgICB9CiAgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57Q1NTUHJvcGVydHl9KSB7CkBAIC01Mzg0LDEwICs1Mzk0LDkgQEAgc3Vi
IEdlbmVyYXRlQXR0cmlidXRlU2V0dGVyQm9keURlZmluaXRpb24KICAgICBteSAkbmVlZFNlY3Vy
aXR5Q2hlY2sgPSAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntDaGVja1NlY3VyaXR5
fSAmJiAhJGF0dHJpYnV0ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57RG9Ob3RDaGVja1NlY3VyaXR5
fSAmJiAhJGF0dHJpYnV0ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57RG9Ob3RDaGVja1NlY3VyaXR5
T25TZXR0ZXJ9OwogICAgIG15ICRoYXNDdXN0b21TZXR0ZXIgPSBIYXNDdXN0b21TZXR0ZXIoJGF0
dHJpYnV0ZSk7CiAgICAgbXkgJGlzRXZlbnRIYW5kbGVyID0gJGF0dHJpYnV0ZS0+dHlwZS0+bmFt
ZSBlcSAiRXZlbnRIYW5kbGVyIjsKLSAgICBteSAkaXNDb25zdHJ1Y3RvciA9ICRjb2RlR2VuZXJh
dG9yLT5Jc0NvbnN0cnVjdG9yVHlwZSgkYXR0cmlidXRlLT50eXBlKTsKICAgICBteSAkaXNSZXBs
YWNlYWJsZSA9ICRhdHRyaWJ1dGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+e1JlcGxhY2VhYmxlfTsK
IAotICAgIG15ICRuZWVkVGhyb3dTY29wZSA9ICRuZWVkU2VjdXJpdHlDaGVjayB8fCAoISRoYXND
dXN0b21TZXR0ZXIgJiYgISRpc0V2ZW50SGFuZGxlciAmJiAhJGlzQ29uc3RydWN0b3IgJiYgISRp
c1JlcGxhY2VhYmxlKTsKKyAgICBteSAkbmVlZFRocm93U2NvcGUgPSAkbmVlZFNlY3VyaXR5Q2hl
Y2sgfHwgKCEkaGFzQ3VzdG9tU2V0dGVyICYmICEkaXNFdmVudEhhbmRsZXIgJiYgISRpc1JlcGxh
Y2VhYmxlKTsKIAogICAgIHB1c2goQCRvdXRwdXRBcnJheSwgInN0YXRpYyBpbmxpbmUgYm9vbCAk
e2F0dHJpYnV0ZVNldHRlckJvZHlOYW1lfSgiIC4gam9pbigiLCAiLCBAc2lnbmF0dXJlQXJndW1l
bnRzKSAuICIpXG4iKTsKICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJ7XG4iKTsKQEAgLTU0NDUs
MTggKzU0NTQsNiBAQCBzdWIgR2VuZXJhdGVBdHRyaWJ1dGVTZXR0ZXJCb2R5RGVmaW5pdGlvbgog
ICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgIHJldHVybiBpbXBsLnNldFByb3Bl
cnR5SW50ZXJuYWwoQ1NTUHJvcGVydHkke3Byb3BlcnR5SUR9LCBXVEZNb3ZlKG5hdGl2ZVZhbHVl
KSwgZmFsc2UpO1xuIik7CiAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICB9KTtcbiIp
OwogICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgcmV0dXJuIHRydWU7XG4iKTsKLSAg
ICB9IGVsc2lmICgkaXNDb25zdHJ1Y3RvcikgewotICAgICAgICBteSAkY29uc3RydWN0b3JUeXBl
ID0gJGF0dHJpYnV0ZS0+dHlwZS0+bmFtZTsKLSAgICAgICAgJGNvbnN0cnVjdG9yVHlwZSA9fiBz
L0NvbnN0cnVjdG9yJC8vOwotICAgICAgICAjICRjb25zdHJ1Y3RvclR5cGUgfj0gL0xlZ2FjeUZh
Y3RvcnlGdW5jdGlvbiQvIGluZGljYXRlcyB0aGF0IGl0IGlzIExlZ2FjeUZhY3RvcnlGdW5jdGlv
bi4KLSAgICAgICAgIyBXZSBkbyBub3QgZ2VuZXJhdGUgdGhlIGhlYWRlciBmaWxlIGZvciBMZWdh
Y3lGYWN0b3J5RnVuY3Rpb24gb2YgY2xhc3MgWFhYWCwKLSAgICAgICAgIyBzaW5jZSB3ZSBnZW5l
cmF0ZSB0aGUgTGVnYWN5RmFjdG9yeUZ1bmN0aW9uIGRlY2xhcmF0aW9uIGludG8gdGhlIGhlYWRl
ciBmaWxlIG9mIGNsYXNzIFhYWFguCi0gICAgICAgIGlmICgkY29uc3RydWN0b3JUeXBlIG5lICJh
bnkiIGFuZCAkY29uc3RydWN0b3JUeXBlICF+IC9MZWdhY3lGYWN0b3J5RnVuY3Rpb24kLykgewot
ICAgICAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkpTIiAuICRjb25zdHJ1Y3RvclR5cGUgLiAi
LmgiLCAkY29uZGl0aW9uYWwpOwotICAgICAgICB9Ci0gICAgICAgIG15ICRpZCA9ICRhdHRyaWJ1
dGUtPm5hbWU7Ci0gICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAvLyBTaGFkb3dpbmcg
YSBidWlsdC1pbiBjb25zdHJ1Y3Rvci5cbiIpOwotICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXks
ICIgICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3Ry
aW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oXCIke2lkfVwiKSwgc3RybGVu
KFwiJHtpZH1cIikpLCB2YWx1ZSk7XG4iKTsKICAgICB9IGVsc2lmICgkaXNSZXBsYWNlYWJsZSkg
ewogICAgICAgICBteSAkaWQgPSAkYXR0cmlidXRlLT5uYW1lOwogICAgICAgICBwdXNoKEAkb3V0
cHV0QXJyYXksICIgICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gcHJvcGVydHkuXG4iKTsKQEAg
LTU1NjAsNiArNTU1Nyw3IEBAIHN1YiBHZW5lcmF0ZUF0dHJpYnV0ZVNldHRlckRlZmluaXRpb24K
ICAgICBteSAoJG91dHB1dEFycmF5LCAkaW50ZXJmYWNlLCAkY2xhc3NOYW1lLCAkYXR0cmlidXRl
KSA9IEBfOwogICAgIAogICAgIHJldHVybiBpZiBJc1JlYWRvbmx5KCRhdHRyaWJ1dGUpOworICAg
IHJldHVybiBpZiAkY29kZUdlbmVyYXRvci0+SXNDb25zdHJ1Y3RvclR5cGUoJGF0dHJpYnV0ZS0+
dHlwZSk7CiAgICAgcmV0dXJuIGlmIElzSlNCdWlsdGluKCRpbnRlcmZhY2UsICRhdHRyaWJ1dGUp
OwogICAgIAogICAgIG15ICRjb25kaXRpb25hbCA9ICRhdHRyaWJ1dGUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+e0NvbmRpdGlvbmFsfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNET01XaW5kb3cuY3BwCmluZGV4IDE1NWQwMDhjZjVlMjQ3NzZl
YWVkMGViZjUyOGY3YjVmMTdlYmVjNWIuLmFmNGZjZjZlZmYzY2EzYTdmZjU0ZGI4OTcwNGQ1MmFi
YzI1ZGNlMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTRE9NV2luZG93LmNwcApAQCAtNjMsMzEgKzYzLDE5IEBAIHVzaW5nIG5hbWVz
cGFjZSBKU0M7CiAKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzRE9NV2luZG93
Q29uc3RydWN0b3IpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNET01XaW5k
b3dfRE9NV2luZG93Q29uc3RydWN0b3IpOwotc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRU
RVIoc2V0SlNET01XaW5kb3dfRE9NV2luZG93Q29uc3RydWN0b3IpOwogc3RhdGljIEpTQ19ERUNM
QVJFX0NVU1RPTV9HRVRURVIoanNET01XaW5kb3dfRXhwb3NlZFRvV29ya2VyQW5kV2luZG93Q29u
c3RydWN0b3IpOwotc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNET01XaW5k
b3dfRXhwb3NlZFRvV29ya2VyQW5kV2luZG93Q29uc3RydWN0b3IpOwogc3RhdGljIEpTQ19ERUNM
QVJFX0NVU1RPTV9HRVRURVIoanNET01XaW5kb3dfVGVzdENvbmRpdGlvbmFsSW5jbHVkZXNDb25z
dHJ1Y3Rvcik7Ci1zdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU0RPTVdpbmRv
d19UZXN0Q29uZGl0aW9uYWxJbmNsdWRlc0NvbnN0cnVjdG9yKTsKIHN0YXRpYyBKU0NfREVDTEFS
RV9DVVNUT01fR0VUVEVSKGpzRE9NV2luZG93X1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlQ29u
c3RydWN0b3IpOwotc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNET01XaW5k
b3dfVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGVDb25zdHJ1Y3Rvcik7CiBzdGF0aWMgSlNDX0RF
Q0xBUkVfQ1VTVE9NX0dFVFRFUihqc0RPTVdpbmRvd19UZXN0RGVmYXVsdFRvSlNPTkNvbnN0cnVj
dG9yKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTRE9NV2luZG93X1Rl
c3REZWZhdWx0VG9KU09OQ29uc3RydWN0b3IpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9H
RVRURVIoanNET01XaW5kb3dfVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZENvbnN0
cnVjdG9yKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTRE9NV2luZG93
X1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWRDb25zdHJ1Y3Rvcik7CiBzdGF0aWMg
SlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc0RPTVdpbmRvd19UZXN0RW5hYmxlZEJ5U2V0dGlu
Z0NvbnN0cnVjdG9yKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTRE9N
V2luZG93X1Rlc3RFbmFibGVkQnlTZXR0aW5nQ29uc3RydWN0b3IpOwogc3RhdGljIEpTQ19ERUNM
QVJFX0NVU1RPTV9HRVRURVIoanNET01XaW5kb3dfVGVzdEVuYWJsZWRGb3JDb250ZXh0Q29uc3Ry
dWN0b3IpOwotc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNET01XaW5kb3df
VGVzdEVuYWJsZWRGb3JDb250ZXh0Q29uc3RydWN0b3IpOwogI2lmIEVOQUJMRShDb25kaXRpb24x
KSB8fCBFTkFCTEUoQ29uZGl0aW9uMikKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVS
KGpzRE9NV2luZG93X1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rvcik7Ci1zdGF0aWMgSlNDX0RFQ0xB
UkVfQ1VTVE9NX1NFVFRFUihzZXRKU0RPTVdpbmRvd19UZXN0SW50ZXJmYWNlQ29uc3RydWN0b3Ip
OwogI2VuZGlmCiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc0RPTVdpbmRvd19U
ZXN0Tm9kZUNvbnN0cnVjdG9yKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNl
dEpTRE9NV2luZG93X1Rlc3ROb2RlQ29uc3RydWN0b3IpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NV
U1RPTV9HRVRURVIoanNET01XaW5kb3dfVGVzdE9iamVjdENvbnN0cnVjdG9yKTsKLXN0YXRpYyBK
U0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTRE9NV2luZG93X1Rlc3RPYmplY3RDb25zdHJ1
Y3Rvcik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc0RPTVdpbmRvd19UZXN0
UHJvbWlzZVJlamVjdGlvbkV2ZW50Q29uc3RydWN0b3IpOwotc3RhdGljIEpTQ19ERUNMQVJFX0NV
U1RPTV9TRVRURVIoc2V0SlNET01XaW5kb3dfVGVzdFByb21pc2VSZWplY3Rpb25FdmVudENvbnN0
cnVjdG9yKTsKIAogdXNpbmcgSlNET01XaW5kb3dET01Db25zdHJ1Y3RvciA9IEpTRE9NQ29uc3Ry
dWN0b3JOb3RDb25zdHJ1Y3RhYmxlPEpTRE9NV2luZG93PjsKIApAQCAtMTM2LDIxICsxMjQsMjEg
QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTRE9NV2luZG93VGFibGVJ
bmRleFszN10gPSB7CiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU0RPTVdpbmRvd1Rh
YmxlVmFsdWVzW10gPQogewotICAgIHsgIkRPTVdpbmRvdyIsIHN0YXRpY19jYXN0PHVuc2lnbmVk
PihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRw
dHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNET01XaW5kb3df
RE9NV2luZG93Q29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5
U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU0RPTVdpbmRvd19ET01XaW5kb3dDb25zdHJ1Y3Rvcikg
fSB9LAotICAgIHsgIkV4cG9zZWRUb1dvcmtlckFuZFdpbmRvdyIsIHN0YXRpY19jYXN0PHVuc2ln
bmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChp
bnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNET01XaW5k
b3dfRXhwb3NlZFRvV29ya2VyQW5kV2luZG93Q29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRp
Y19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU0RPTVdpbmRvd19FeHBv
c2VkVG9Xb3JrZXJBbmRXaW5kb3dDb25zdHJ1Y3RvcikgfSB9LAotICAgIHsgIlRlc3RDb25kaXRp
b25hbEluY2x1ZGVzIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3Bl
cnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc0RPTVdpbmRvd19UZXN0Q29uZGl0aW9uYWxJbmNsdWRl
c0NvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1
dFZhbHVlRnVuYz4oc2V0SlNET01XaW5kb3dfVGVzdENvbmRpdGlvbmFsSW5jbHVkZXNDb25zdHJ1
Y3RvcikgfSB9LAotICAgIHsgIlRlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlIiwgc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5z
aWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihq
c0RPTVdpbmRvd19UZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZUNvbnN0cnVjdG9yKSwgKGludHB0
cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNET01X
aW5kb3dfVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGVDb25zdHJ1Y3RvcikgfSB9LAotICAgIHsg
IlRlc3REZWZhdWx0VG9KU09OIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0
PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc0RPTVdpbmRvd19UZXN0RGVmYXVsdFRvSlNP
TkNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1
dFZhbHVlRnVuYz4oc2V0SlNET01XaW5kb3dfVGVzdERlZmF1bHRUb0pTT05Db25zdHJ1Y3Rvcikg
fSB9LAotICAgIHsgIlRlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQiLCBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJp
bnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+
KGpzRE9NV2luZG93X1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWRDb25zdHJ1Y3Rv
ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+
KHNldEpTRE9NV2luZG93X1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWRDb25zdHJ1
Y3RvcikgfSB9LAotICAgIHsgIlRlc3RFbmFibGVkQnlTZXR0aW5nIiwgc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsg
KGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc0RPTVdp
bmRvd19UZXN0RW5hYmxlZEJ5U2V0dGluZ0NvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNf
Y2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNET01XaW5kb3dfVGVzdEVu
YWJsZWRCeVNldHRpbmdDb25zdHJ1Y3RvcikgfSB9LAorICAgIHsgIkRPTVdpbmRvdyIsIHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50
cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVu
Yz4oanNET01XaW5kb3dfRE9NV2luZG93Q29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19j
YXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAgeyAiRXhwb3Nl
ZFRvV29ya2VyQW5kV2luZG93Iiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0
PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc0RPTVdpbmRvd19FeHBvc2VkVG9Xb3JrZXJB
bmRXaW5kb3dDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlT
bG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAgICB7ICJUZXN0Q29uZGl0aW9uYWxJbmNsdWRl
cyIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51
bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNET01XaW5kb3dfVGVzdENvbmRpdGlvbmFsSW5jbHVkZXNDb25zdHJ1Y3Rv
ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+
KDApIH0gfSwKKyAgICB7ICJUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZSIsIHN0YXRpY19jYXN0
PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2lj
LCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNE
T01XaW5kb3dfVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGVDb25zdHJ1Y3RvciksIChpbnRwdHJf
dCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAg
ICB7ICJUZXN0RGVmYXVsdFRvSlNPTiIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNf
Y2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNET01XaW5kb3dfVGVzdERlZmF1bHRU
b0pTT05Db25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90
OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAgICB7ICJUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVk
QnlFeHBvc2VkIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5
U2xvdDo6R2V0VmFsdWVGdW5jPihqc0RPTVdpbmRvd19UZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVk
QnlFeHBvc2VkQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5
U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAgeyAiVGVzdEVuYWJsZWRCeVNldHRpbmci
LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
LCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRW
YWx1ZUZ1bmM+KGpzRE9NV2luZG93X1Rlc3RFbmFibGVkQnlTZXR0aW5nQ29uc3RydWN0b3IpLCAo
aW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9
IH0sCiAjaWYgRU5BQkxFKENvbmRpdGlvbjEpIHx8IEVOQUJMRShDb25kaXRpb24yKQotICAgIHsg
IlRlc3RJbnRlcmZhY2UiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJv
cGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzRE9NV2luZG93X1Rlc3RJbnRlcmZhY2VDb25zdHJ1
Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1
bmM+KHNldEpTRE9NV2luZG93X1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvcikgfSB9LAorICAgIHsg
IlRlc3RJbnRlcmZhY2UiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJv
cGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzRE9NV2luZG93X1Rlc3RJbnRlcmZhY2VDb25zdHJ1
Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1
bmM+KDApIH0gfSwKICNlbHNlCiAgICAgeyAwLCAwLCBOb0ludHJpbnNpYywgeyAwLCAwIH0gfSwK
ICNlbmRpZgotICAgIHsgIlRlc3ROb2RlIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRp
Y19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc0RPTVdpbmRvd19UZXN0Tm9kZUNv
bnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZh
bHVlRnVuYz4oc2V0SlNET01XaW5kb3dfVGVzdE5vZGVDb25zdHJ1Y3RvcikgfSB9LAotICAgIHsg
IlRlc3RPYmplY3QiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVy
dHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzRE9NV2luZG93X1Rlc3RPYmplY3RDb25zdHJ1Y3Rvciks
IChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNl
dEpTRE9NV2luZG93X1Rlc3RPYmplY3RDb25zdHJ1Y3RvcikgfSB9LAotICAgIHsgIlRlc3RQcm9t
aXNlUmVqZWN0aW9uRXZlbnQiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8
UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzRE9NV2luZG93X1Rlc3RQcm9taXNlUmVqZWN0
aW9uRXZlbnRDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlT
bG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTRE9NV2luZG93X1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZl
bnRDb25zdHJ1Y3RvcikgfSB9LAorICAgIHsgIlRlc3ROb2RlIiwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGlu
dHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc0RPTVdpbmRv
d19UZXN0Tm9kZUNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0
eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAgIHsgIlRlc3RPYmplY3QiLCBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJp
bnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+
KGpzRE9NV2luZG93X1Rlc3RPYmplY3RDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nh
c3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAgICB7ICJUZXN0UHJv
bWlzZVJlamVjdGlvbkV2ZW50Iiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0
PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc0RPTVdpbmRvd19UZXN0UHJvbWlzZVJlamVj
dGlvbkV2ZW50Q29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5
U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCiB9OwogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxl
IEpTRE9NV2luZG93VGFibGUgPSB7IDExLCAzMSwgdHJ1ZSwgSlNET01XaW5kb3c6OmluZm8oKSwg
SlNET01XaW5kb3dUYWJsZVZhbHVlcywgSlNET01XaW5kb3dUYWJsZUluZGV4IH07CkBAIC0yMDUs
NyArMTkzLDcgQEAgdm9pZCBKU0RPTVdpbmRvdzo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU1dp
bmRvd1Byb3h5KiBwcm94eSkKICAgICBzdGF0aWNfYXNzZXJ0KCFzdGQ6OmlzX2Jhc2Vfb2Y8QWN0
aXZlRE9NT2JqZWN0LCBET01XaW5kb3c+Ojp2YWx1ZSwgIkludGVyZmFjZSBpcyBub3QgbWFya2Vk
IGFzIFtBY3RpdmVET01PYmplY3RdIGV2ZW4gdGhvdWdoIGltcGxlbWVudGF0aW9uIGNsYXNzIHN1
YmNsYXNzZXMgQWN0aXZlRE9NT2JqZWN0LiIpOwogCiAgICAgaWYgKChqc0Nhc3Q8SlNET01HbG9i
YWxPYmplY3QqPihnbG9iYWxPYmplY3QoKSktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+aXNT
ZWN1cmVDb250ZXh0KCkgJiYgVGVzdEVuYWJsZWRGb3JDb250ZXh0OjplbmFibGVkRm9yQ29udGV4
dCgqanNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KCkpLT5zY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkpKSkKLSAgICAgICAgcHV0RGlyZWN0Q3VzdG9tQWNjZXNzb3Iodm0sIHN0
YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygp
LlRlc3RFbmFibGVkRm9yQ29udGV4dFB1YmxpY05hbWUoKSwgQ3VzdG9tR2V0dGVyU2V0dGVyOjpj
cmVhdGUodm0sIGpzRE9NV2luZG93X1Rlc3RFbmFibGVkRm9yQ29udGV4dENvbnN0cnVjdG9yLCBz
ZXRKU0RPTVdpbmRvd19UZXN0RW5hYmxlZEZvckNvbnRleHRDb25zdHJ1Y3RvciksIGF0dHJpYnV0
ZXNGb3JTdHJ1Y3R1cmUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKSkpOworICAgICAgICBwdXREaXJlY3RDdXN0b21BY2Nlc3Nvcih2bSwgc3Rh
dGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCku
VGVzdEVuYWJsZWRGb3JDb250ZXh0UHVibGljTmFtZSgpLCBDdXN0b21HZXR0ZXJTZXR0ZXI6OmNy
ZWF0ZSh2bSwganNET01XaW5kb3dfVGVzdEVuYWJsZWRGb3JDb250ZXh0Q29uc3RydWN0b3IsIG51
bGxwdHIpLCBhdHRyaWJ1dGVzRm9yU3RydWN0dXJlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpKTsKIH0KIAogSlNWYWx1ZSBKU0RPTVdpbmRv
dzo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0KQpAQCAtMjM5LDE4ICsyMjcsNiBAQCBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNET01X
aW5kb3dfRE9NV2luZG93Q29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aQogICAgIHJl
dHVybiBJRExBdHRyaWJ1dGU8SlNET01XaW5kb3c+OjpnZXQ8anNET01XaW5kb3dfRE9NV2luZG93
Q29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJET01X
aW5kb3ciKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHNldEpTRE9NV2luZG93X0RPTVdpbmRv
d0NvbnN0cnVjdG9yU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBK
U0RPTVdpbmRvdyYgdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBhdXRvJiB2bSA9
IEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIC8vIFNoYWRvd2luZyBhIGJ1
aWx0LWluIGNvbnN0cnVjdG9yLgotICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwg
SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+
KCJET01XaW5kb3ciKSwgc3RybGVuKCJET01XaW5kb3ciKSksIHZhbHVlKTsKLX0KLQotSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTRE9NV2luZG93X0RPTVdpbmRvd0NvbnN0cnVjdG9yLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAgICByZXR1cm4gSURMQXR0
cmlidXRlPEpTRE9NV2luZG93Pjo6c2V0PHNldEpTRE9NV2luZG93X0RPTVdpbmRvd0NvbnN0cnVj
dG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUs
ICJET01XaW5kb3ciKTsKLX0KLQogc3RhdGljIGlubGluZSBKU1ZhbHVlIGpzRE9NV2luZG93X0V4
cG9zZWRUb1dvcmtlckFuZFdpbmRvd0NvbnN0cnVjdG9yR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0RPTVdpbmRvdyYgdGhpc09iamVjdCkKIHsKICAgICBVTlVT
RURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7CkBAIC0yNjIsMTggKzIzOCw2IEBAIEpTQ19E
RUZJTkVfQ1VTVE9NX0dFVFRFUihqc0RPTVdpbmRvd19FeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3dD
b25zdHJ1Y3RvciwgKEpTR2xvCiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU0RPTVdpbmRvdz46
OmdldDxqc0RPTVdpbmRvd19FeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3dDb25zdHJ1Y3RvckdldHRl
cj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgIkV4cG9zZWRUb1dvcmtlckFuZFdp
bmRvdyIpOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNET01XaW5kb3dfRXhwb3NlZFRv
V29ya2VyQW5kV2luZG93Q29uc3RydWN0b3JTZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxH
bG9iYWxPYmplY3QsIEpTRE9NV2luZG93JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewot
ICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8g
U2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3Qu
cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0
PGNvbnN0IExDaGFyKj4oIkV4cG9zZWRUb1dvcmtlckFuZFdpbmRvdyIpLCBzdHJsZW4oIkV4cG9z
ZWRUb1dvcmtlckFuZFdpbmRvdyIpKSwgdmFsdWUpOwotfQotCi1KU0NfREVGSU5FX0NVU1RPTV9T
RVRURVIoc2V0SlNET01XaW5kb3dfRXhwb3NlZFRvV29ya2VyQW5kV2luZG93Q29uc3RydWN0b3Is
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQotewotICAgIHJldHVybiBJRExB
dHRyaWJ1dGU8SlNET01XaW5kb3c+OjpzZXQ8c2V0SlNET01XaW5kb3dfRXhwb3NlZFRvV29ya2Vy
QW5kV2luZG93Q29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFs
dWUsIGVuY29kZWRWYWx1ZSwgIkV4cG9zZWRUb1dvcmtlckFuZFdpbmRvdyIpOwotfQotCiBzdGF0
aWMgaW5saW5lIEpTVmFsdWUganNET01XaW5kb3dfVGVzdENvbmRpdGlvbmFsSW5jbHVkZXNDb25z
dHJ1Y3RvckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNET01X
aW5kb3cmIHRoaXNPYmplY3QpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGxleGljYWxHbG9iYWxPYmpl
Y3QpOwpAQCAtMjg1LDE4ICsyNDksNiBAQCBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNET01X
aW5kb3dfVGVzdENvbmRpdGlvbmFsSW5jbHVkZXNDb25zdHJ1Y3RvciwgKEpTR2xvYgogICAgIHJl
dHVybiBJRExBdHRyaWJ1dGU8SlNET01XaW5kb3c+OjpnZXQ8anNET01XaW5kb3dfVGVzdENvbmRp
dGlvbmFsSW5jbHVkZXNDb25zdHJ1Y3RvckdldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRo
aXNWYWx1ZSwgIlRlc3RDb25kaXRpb25hbEluY2x1ZGVzIik7CiB9CiAKLXN0YXRpYyBpbmxpbmUg
Ym9vbCBzZXRKU0RPTVdpbmRvd19UZXN0Q29uZGl0aW9uYWxJbmNsdWRlc0NvbnN0cnVjdG9yU2V0
dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0RPTVdpbmRvdyYgdGhp
c09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxl
eGljYWxHbG9iYWxPYmplY3QpOwotICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0cnVj
dG9yLgotICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJv
bVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0Q29uZGl0aW9u
YWxJbmNsdWRlcyIpLCBzdHJsZW4oIlRlc3RDb25kaXRpb25hbEluY2x1ZGVzIikpLCB2YWx1ZSk7
Ci19Ci0KLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU0RPTVdpbmRvd19UZXN0Q29uZGl0
aW9uYWxJbmNsdWRlc0NvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTRE9NV2luZG93Pjo6c2V0PHNldEpT
RE9NV2luZG93X1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RDb25kaXRpb25h
bEluY2x1ZGVzIik7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc0RPTVdpbmRvd19UZXN0
Q29uZGl0aW9uYWxseVJlYWRXcml0ZUNvbnN0cnVjdG9yR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0RPTVdpbmRvdyYgdGhpc09iamVjdCkKIHsKICAgICBVTlVT
RURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7CkBAIC0zMDgsMTggKzI2MCw2IEBAIEpTQ19E
RUZJTkVfQ1VTVE9NX0dFVFRFUihqc0RPTVdpbmRvd19UZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0
ZUNvbnN0cnVjdG9yLCAoSlNHCiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU0RPTVdpbmRvdz46
OmdldDxqc0RPTVdpbmRvd19UZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZUNvbnN0cnVjdG9yR2V0
dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCAiVGVzdENvbmRpdGlvbmFsbHlS
ZWFkV3JpdGUiKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHNldEpTRE9NV2luZG93X1Rlc3RD
b25kaXRpb25hbGx5UmVhZFdyaXRlQ29uc3RydWN0b3JTZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxl
eGljYWxHbG9iYWxPYmplY3QsIEpTRE9NV2luZG93JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVl
KQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0g
ICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNP
YmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJl
dF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlIiksIHN0cmxl
bigiVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGUiKSksIHZhbHVlKTsKLX0KLQotSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTRE9NV2luZG93X1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRl
Q29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQotewotICAg
IHJldHVybiBJRExBdHRyaWJ1dGU8SlNET01XaW5kb3c+OjpzZXQ8c2V0SlNET01XaW5kb3dfVGVz
dENvbmRpdGlvbmFsbHlSZWFkV3JpdGVDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxP
YmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdENvbmRpdGlvbmFsbHlSZWFkV3Jp
dGUiKTsKLX0KLQogc3RhdGljIGlubGluZSBKU1ZhbHVlIGpzRE9NV2luZG93X1Rlc3REZWZhdWx0
VG9KU09OQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEpTRE9NV2luZG93JiB0aGlzT2JqZWN0KQogewogICAgIFVOVVNFRF9QQVJBTShsZXhpY2Fs
R2xvYmFsT2JqZWN0KTsKQEAgLTMzMSwxOCArMjcxLDYgQEAgSlNDX0RFRklORV9DVVNUT01fR0VU
VEVSKGpzRE9NV2luZG93X1Rlc3REZWZhdWx0VG9KU09OQ29uc3RydWN0b3IsIChKU0dsb2JhbE9i
amUKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTRE9NV2luZG93Pjo6Z2V0PGpzRE9NV2luZG93
X1Rlc3REZWZhdWx0VG9KU09OQ29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCB0aGlzVmFsdWUsICJUZXN0RGVmYXVsdFRvSlNPTiIpOwogfQogCi1zdGF0aWMgaW5saW5lIGJv
b2wgc2V0SlNET01XaW5kb3dfVGVzdERlZmF1bHRUb0pTT05Db25zdHJ1Y3RvclNldHRlcihKU0ds
b2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNET01XaW5kb3cmIHRoaXNPYmplY3Qs
IEpTVmFsdWUgdmFsdWUpCi17Ci0gICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xv
YmFsT2JqZWN0KTsKLSAgICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3Rvci4KLSAg
ICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmco
dm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdERlZmF1bHRUb0pTT04iKSwg
c3RybGVuKCJUZXN0RGVmYXVsdFRvSlNPTiIpKSwgdmFsdWUpOwotfQotCi1KU0NfREVGSU5FX0NV
U1RPTV9TRVRURVIoc2V0SlNET01XaW5kb3dfVGVzdERlZmF1bHRUb0pTT05Db25zdHJ1Y3Rvciwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCi17Ci0gICAgcmV0dXJuIElETEF0
dHJpYnV0ZTxKU0RPTVdpbmRvdz46OnNldDxzZXRKU0RPTVdpbmRvd19UZXN0RGVmYXVsdFRvSlNP
TkNvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNv
ZGVkVmFsdWUsICJUZXN0RGVmYXVsdFRvSlNPTiIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFs
dWUganNET01XaW5kb3dfVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZENvbnN0cnVj
dG9yR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0RPTVdpbmRv
dyYgdGhpc09iamVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7
CkBAIC0zNTQsMTggKzI4Miw2IEBAIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc0RPTVdpbmRv
d19UZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkQ29uc3RydWN0CiAgICAgcmV0dXJu
IElETEF0dHJpYnV0ZTxKU0RPTVdpbmRvdz46OmdldDxqc0RPTVdpbmRvd19UZXN0RGVmYXVsdFRv
SlNPTkZpbHRlcmVkQnlFeHBvc2VkQ29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCB0aGlzVmFsdWUsICJUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkIik7CiB9
CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU0RPTVdpbmRvd19UZXN0RGVmYXVsdFRvSlNPTkZp
bHRlcmVkQnlFeHBvc2VkQ29uc3RydWN0b3JTZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxH
bG9iYWxPYmplY3QsIEpTRE9NV2luZG93JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewot
ICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8g
U2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3Qu
cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0
PGNvbnN0IExDaGFyKj4oIlRlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQiKSwgc3Ry
bGVuKCJUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkIikpLCB2YWx1ZSk7Ci19Ci0K
LUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU0RPTVdpbmRvd19UZXN0RGVmYXVsdFRvSlNP
TkZpbHRlcmVkQnlFeHBvc2VkQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUpKQotewotICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNET01XaW5kb3c+OjpzZXQ8
c2V0SlNET01XaW5kb3dfVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZENvbnN0cnVj
dG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUs
ICJUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkIik7Ci19Ci0KIHN0YXRpYyBpbmxp
bmUgSlNWYWx1ZSBqc0RPTVdpbmRvd19UZXN0RW5hYmxlZEJ5U2V0dGluZ0NvbnN0cnVjdG9yR2V0
dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0RPTVdpbmRvdyYgdGhp
c09iamVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7CkBAIC0z
NzcsMTggKzI5Myw2IEBAIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc0RPTVdpbmRvd19UZXN0
RW5hYmxlZEJ5U2V0dGluZ0NvbnN0cnVjdG9yLCAoSlNHbG9iYWxPCiAgICAgcmV0dXJuIElETEF0
dHJpYnV0ZTxKU0RPTVdpbmRvdz46OmdldDxqc0RPTVdpbmRvd19UZXN0RW5hYmxlZEJ5U2V0dGlu
Z0NvbnN0cnVjdG9yR2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCAiVGVz
dEVuYWJsZWRCeVNldHRpbmciKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHNldEpTRE9NV2lu
ZG93X1Rlc3RFbmFibGVkQnlTZXR0aW5nQ29uc3RydWN0b3JTZXR0ZXIoSlNHbG9iYWxPYmplY3Qm
IGxleGljYWxHbG9iYWxPYmplY3QsIEpTRE9NV2luZG93JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZh
bHVlKQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7
Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRo
aXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVy
cHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RFbmFibGVkQnlTZXR0aW5nIiksIHN0cmxlbigi
VGVzdEVuYWJsZWRCeVNldHRpbmciKSksIHZhbHVlKTsKLX0KLQotSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTRE9NV2luZG93X1Rlc3RFbmFibGVkQnlTZXR0aW5nQ29uc3RydWN0b3IsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQotewotICAgIHJldHVybiBJRExBdHRy
aWJ1dGU8SlNET01XaW5kb3c+OjpzZXQ8c2V0SlNET01XaW5kb3dfVGVzdEVuYWJsZWRCeVNldHRp
bmdDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5j
b2RlZFZhbHVlLCAiVGVzdEVuYWJsZWRCeVNldHRpbmciKTsKLX0KLQogc3RhdGljIGlubGluZSBK
U1ZhbHVlIGpzRE9NV2luZG93X1Rlc3RFbmFibGVkRm9yQ29udGV4dENvbnN0cnVjdG9yR2V0dGVy
KEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0RPTVdpbmRvdyYgdGhpc09i
amVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7CkBAIC00MDAs
MTggKzMwNCw2IEBAIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc0RPTVdpbmRvd19UZXN0RW5h
YmxlZEZvckNvbnRleHRDb25zdHJ1Y3RvciwgKEpTR2xvYmFsCiAgICAgcmV0dXJuIElETEF0dHJp
YnV0ZTxKU0RPTVdpbmRvdz46OmdldDxqc0RPTVdpbmRvd19UZXN0RW5hYmxlZEZvckNvbnRleHRD
b25zdHJ1Y3RvckdldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgIlRlc3RF
bmFibGVkRm9yQ29udGV4dCIpOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNET01XaW5k
b3dfVGVzdEVuYWJsZWRGb3JDb250ZXh0Q29uc3RydWN0b3JTZXR0ZXIoSlNHbG9iYWxPYmplY3Qm
IGxleGljYWxHbG9iYWxPYmplY3QsIEpTRE9NV2luZG93JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZh
bHVlKQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7
Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRo
aXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVy
cHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RFbmFibGVkRm9yQ29udGV4dCIpLCBzdHJsZW4o
IlRlc3RFbmFibGVkRm9yQ29udGV4dCIpKSwgdmFsdWUpOwotfQotCi1KU0NfREVGSU5FX0NVU1RP
TV9TRVRURVIoc2V0SlNET01XaW5kb3dfVGVzdEVuYWJsZWRGb3JDb250ZXh0Q29uc3RydWN0b3Is
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQotewotICAgIHJldHVybiBJRExB
dHRyaWJ1dGU8SlNET01XaW5kb3c+OjpzZXQ8c2V0SlNET01XaW5kb3dfVGVzdEVuYWJsZWRGb3JD
b250ZXh0Q29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUs
IGVuY29kZWRWYWx1ZSwgIlRlc3RFbmFibGVkRm9yQ29udGV4dCIpOwotfQotCiAjaWYgRU5BQkxF
KENvbmRpdGlvbjEpIHx8IEVOQUJMRShDb25kaXRpb24yKQogc3RhdGljIGlubGluZSBKU1ZhbHVl
IGpzRE9NV2luZG93X1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvckdldHRlcihKU0dsb2JhbE9iamVj
dCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNET01XaW5kb3cmIHRoaXNPYmplY3QpCiB7CkBAIC00
MjYsMjEgKzMxOCw2IEBAIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc0RPTVdpbmRvd19UZXN0
SW50ZXJmYWNlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCoKIAogI2VuZGlmCiAKLSNpZiBF
TkFCTEUoQ29uZGl0aW9uMSkgfHwgRU5BQkxFKENvbmRpdGlvbjIpCi1zdGF0aWMgaW5saW5lIGJv
b2wgc2V0SlNET01XaW5kb3dfVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yU2V0dGVyKEpTR2xvYmFs
T2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0RPTVdpbmRvdyYgdGhpc09iamVjdCwgSlNW
YWx1ZSB2YWx1ZSkKLXsKLSAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxP
YmplY3QpOwotICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0cnVjdG9yLgotICAgIHJl
dHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwg
cmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0SW50ZXJmYWNlIiksIHN0cmxlbigi
VGVzdEludGVyZmFjZSIpKSwgdmFsdWUpOwotfQotCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNET01XaW5kb3dfVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTRE9NV2lu
ZG93Pjo6c2V0PHNldEpTRE9NV2luZG93X1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvclNldHRlcj4o
KmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdEludGVy
ZmFjZSIpOwotfQotCi0jZW5kaWYKLQogc3RhdGljIGlubGluZSBKU1ZhbHVlIGpzRE9NV2luZG93
X1Rlc3ROb2RlQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxP
YmplY3QsIEpTRE9NV2luZG93JiB0aGlzT2JqZWN0KQogewogICAgIFVOVVNFRF9QQVJBTShsZXhp
Y2FsR2xvYmFsT2JqZWN0KTsKQEAgLTQ1MiwxOCArMzI5LDYgQEAgSlNDX0RFRklORV9DVVNUT01f
R0VUVEVSKGpzRE9NV2luZG93X1Rlc3ROb2RlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCog
bGV4aWMKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTRE9NV2luZG93Pjo6Z2V0PGpzRE9NV2lu
ZG93X1Rlc3ROb2RlQ29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlz
VmFsdWUsICJUZXN0Tm9kZSIpOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNET01XaW5k
b3dfVGVzdE5vZGVDb25zdHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2Jh
bE9iamVjdCwgSlNET01XaW5kb3cmIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCi17Ci0gICAg
YXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICAvLyBTaGFk
b3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3Rvci4KLSAgICByZXR1cm4gdGhpc09iamVjdC5wdXRE
aXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgTENoYXIqPigiVGVzdE5vZGUiKSwgc3RybGVuKCJUZXN0Tm9kZSIpKSwgdmFsdWUpOwotfQot
Ci1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNET01XaW5kb3dfVGVzdE5vZGVDb25zdHJ1
Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCi17Ci0gICAgcmV0dXJu
IElETEF0dHJpYnV0ZTxKU0RPTVdpbmRvdz46OnNldDxzZXRKU0RPTVdpbmRvd19UZXN0Tm9kZUNv
bnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVk
VmFsdWUsICJUZXN0Tm9kZSIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNET01XaW5k
b3dfVGVzdE9iamVjdENvbnN0cnVjdG9yR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBKU0RPTVdpbmRvdyYgdGhpc09iamVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0o
bGV4aWNhbEdsb2JhbE9iamVjdCk7CkBAIC00NzUsMTggKzM0MCw2IEBAIEpTQ19ERUZJTkVfQ1VT
VE9NX0dFVFRFUihqc0RPTVdpbmRvd19UZXN0T2JqZWN0Q29uc3RydWN0b3IsIChKU0dsb2JhbE9i
amVjdCogbGV4CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU0RPTVdpbmRvdz46OmdldDxqc0RP
TVdpbmRvd19UZXN0T2JqZWN0Q29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCB0aGlzVmFsdWUsICJUZXN0T2JqZWN0Iik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBzZXRK
U0RPTVdpbmRvd19UZXN0T2JqZWN0Q29uc3RydWN0b3JTZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxl
eGljYWxHbG9iYWxPYmplY3QsIEpTRE9NV2luZG93JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVl
KQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0g
ICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNP
YmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJl
dF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RPYmplY3QiKSwgc3RybGVuKCJUZXN0T2JqZWN0Iikp
LCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU0RPTVdpbmRvd19U
ZXN0T2JqZWN0Q29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUp
KQotewotICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNET01XaW5kb3c+OjpzZXQ8c2V0SlNET01X
aW5kb3dfVGVzdE9iamVjdENvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
dGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0T2JqZWN0Iik7Ci19Ci0KIHN0YXRpYyBpbmxp
bmUgSlNWYWx1ZSBqc0RPTVdpbmRvd19UZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50Q29uc3RydWN0
b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTRE9NV2luZG93
JiB0aGlzT2JqZWN0KQogewogICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsK
QEAgLTQ5OCwxOCArMzUxLDYgQEAgSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzRE9NV2luZG93
X1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnRDb25zdHJ1Y3RvciwgKEpTR2wKICAgICByZXR1cm4g
SURMQXR0cmlidXRlPEpTRE9NV2luZG93Pjo6Z2V0PGpzRE9NV2luZG93X1Rlc3RQcm9taXNlUmVq
ZWN0aW9uRXZlbnRDb25zdHJ1Y3RvckdldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNW
YWx1ZSwgIlRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQiKTsKIH0KIAotc3RhdGljIGlubGluZSBi
b29sIHNldEpTRE9NV2luZG93X1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnRDb25zdHJ1Y3RvclNl
dHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNET01XaW5kb3cmIHRo
aXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCi17Ci0gICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZs
ZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1
Y3Rvci4KLSAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZy
b21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdFByb21pc2VS
ZWplY3Rpb25FdmVudCIpLCBzdHJsZW4oIlRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQiKSksIHZh
bHVlKTsKLX0KLQotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTRE9NV2luZG93X1Rlc3RQ
cm9taXNlUmVqZWN0aW9uRXZlbnRDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSkpCi17Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU0RPTVdpbmRvdz46OnNl
dDxzZXRKU0RPTVdpbmRvd19UZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50Q29uc3RydWN0b3JTZXR0
ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RQ
cm9taXNlUmVqZWN0aW9uRXZlbnQiKTsKLX0KLQogSlNDOjpJc29TdWJzcGFjZSogSlNET01XaW5k
b3c6OnN1YnNwYWNlRm9ySW1wbChKU0M6OlZNJiB2bSkKIHsKICAgICBhdXRvJiBjbGllbnREYXRh
ID0gKnN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNEZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggNmVkODJmMmNjMzY3
NDA3NmEwNGYwMzIxMTdmYTZlNmNiZTk0YjVmZS4uZjQxMDc4M2YyMjY0OTI0M2ViYjBmYmNjN2Yy
Mzg2YWQxNzIyYzM2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0RlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlLmNwcApAQCAtNDksNyArNDksNiBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBzdGF0aWMg
SlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlQ29u
c3RydWN0b3IpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNEZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZV9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yKTsK
LXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTRGVkaWNhdGVkV29ya2VyR2xv
YmFsU2NvcGVfRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3Rvcik7CiAKIHVzaW5n
IEpTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVET01Db25zdHJ1Y3RvciA9IEpTRE9NQ29uc3Ry
dWN0b3JOb3RDb25zdHJ1Y3RhYmxlPEpTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+OwogCkBA
IC02Myw3ICs2Miw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU0Rl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlVGFibGVJbmRleFsyXSA9CiAKIHN0YXRpYyBjb25zdCBI
YXNoVGFibGVWYWx1ZSBKU0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlVGFibGVWYWx1ZXNbXSA9
CiB7Ci0gICAgeyAiRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUiLCBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAo
aW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGVfRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3Rv
ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+
KHNldEpTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVfRGVkaWNhdGVkV29ya2VyR2xvYmFsU2Nv
cGVDb25zdHJ1Y3RvcikgfSB9LAorICAgIHsgIkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlIiwg
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwg
Tm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jPihqc0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlX0RlZGljYXRlZFdvcmtlckdsb2Jh
bFNjb3BlQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xv
dDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCiB9OwogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpT
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVUYWJsZSA9IHsgMSwgMSwgdHJ1ZSwgSlNEZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZTo6aW5mbygpLCBKU0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
VGFibGVWYWx1ZXMsIEpTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVUYWJsZUluZGV4IH07CkBA
IC0xNDIsNyArMTQxLDcgQEAgSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzRGVkaWNhdGVkV29y
a2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWMKIHN0YXRpYyBpbmxpbmUg
SlNWYWx1ZSBqc0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlX0RlZGljYXRlZFdvcmtlckdsb2Jh
bFNjb3BlQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEpTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUmIHRoaXNPYmplY3QpCiB7CiAgICAgVU5V
U0VEX1BBUkFNKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIHJldHVybiBKU0RlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFs
T2JqZWN0KSwgdGhpc09iamVjdC5nbG9iYWxPYmplY3QoKSk7CisgICAgcmV0dXJuIEpTRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGU6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxH
bG9iYWxPYmplY3QpLCAmdGhpc09iamVjdCk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRF
Uihqc0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlX0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
Q29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQpAQCAtMTUwLDE4ICsxNDksNiBAQCBK
U0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZV9EZWRp
Y2F0ZWRXb3JrZXJHbG9iYWxTY29wZQogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNEZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZT46OmdldDxqc0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlX0Rl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFs
T2JqZWN0LCB0aGlzVmFsdWUsICJEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSIpOwogfQogCi1z
dGF0aWMgaW5saW5lIGJvb2wgc2V0SlNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZV9EZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBKU0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlJiB0aGlzT2JqZWN0
LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEds
b2JhbE9iamVjdCk7Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0g
ICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5n
KHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIkRlZGljYXRlZFdvcmtlckdsb2Jh
bFNjb3BlIiksIHN0cmxlbigiRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUiKSksIHZhbHVlKTsK
LX0KLQotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGVfRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCi17Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU0Rl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPjo6c2V0PHNldEpTRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGVfRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvclNldHRlcj4oKmxleGlj
YWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiRGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGUiKTsKLX0KLQogSlNDOjpJc29TdWJzcGFjZSogSlNEZWRpY2F0ZWRXb3JrZXJH
bG9iYWxTY29wZTo6c3Vic3BhY2VGb3JJbXBsKEpTQzo6Vk0mIHZtKQogewogICAgIGF1dG8mIGNs
aWVudERhdGEgPSAqc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Bh
aW50V29ya2xldEdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmNwcAppbmRleCBmOTZhZmYwMDll
NTZhYTc1OWZjNjk2ZDI1Y2EzYWI1NWM1ZDE2NDE2Li4xYjQ5MjgzNGIwNmRlNTRkZDA4NWNlZjg0
MGFkODc0YzIwYWIxYzhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNQYWludFdvcmtsZXRHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUu
Y3BwCkBAIC00OSw3ICs0OSw2IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIHN0YXRpYyBKU0Nf
REVDTEFSRV9DVVNUT01fR0VUVEVSKGpzUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGVDb25zdHJ1Y3Rv
cik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1BhaW50V29ya2xldEdsb2Jh
bFNjb3BlX1BhaW50V29ya2xldEdsb2JhbFNjb3BlQ29uc3RydWN0b3IpOwotc3RhdGljIEpTQ19E
RUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNQYWludFdvcmtsZXRHbG9iYWxTY29wZV9QYWludFdv
cmtsZXRHbG9iYWxTY29wZUNvbnN0cnVjdG9yKTsKIAogdXNpbmcgSlNQYWludFdvcmtsZXRHbG9i
YWxTY29wZURPTUNvbnN0cnVjdG9yID0gSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGU8
SlNQYWludFdvcmtsZXRHbG9iYWxTY29wZT47CiAKQEAgLTYzLDcgKzYyLDcgQEAgc3RhdGljIGNv
bnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGVUYWJs
ZUluZGV4WzJdID0gewogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNQYWludFdvcmts
ZXRHbG9iYWxTY29wZVRhYmxlVmFsdWVzW10gPQogewotICAgIHsgIlBhaW50V29ya2xldEdsb2Jh
bFNjb3BlIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xv
dDo6R2V0VmFsdWVGdW5jPihqc1BhaW50V29ya2xldEdsb2JhbFNjb3BlX1BhaW50V29ya2xldEds
b2JhbFNjb3BlQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5
U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1BhaW50V29ya2xldEdsb2JhbFNjb3BlX1BhaW50V29y
a2xldEdsb2JhbFNjb3BlQ29uc3RydWN0b3IpIH0gfSwKKyAgICB7ICJQYWludFdvcmtsZXRHbG9i
YWxTY29wZSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNs
b3Q6OkdldFZhbHVlRnVuYz4oanNQYWludFdvcmtsZXRHbG9iYWxTY29wZV9QYWludFdvcmtsZXRH
bG9iYWxTY29wZUNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0
eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAogfTsKIAogc3RhdGljIGNvbnN0IEhhc2hUYWJs
ZSBKU1BhaW50V29ya2xldEdsb2JhbFNjb3BlVGFibGUgPSB7IDEsIDEsIHRydWUsIEpTUGFpbnRX
b3JrbGV0R2xvYmFsU2NvcGU6OmluZm8oKSwgSlNQYWludFdvcmtsZXRHbG9iYWxTY29wZVRhYmxl
VmFsdWVzLCBKU1BhaW50V29ya2xldEdsb2JhbFNjb3BlVGFibGVJbmRleCB9OwpAQCAtMTQyLDcg
KzE0MSw3IEBAIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1BhaW50V29ya2xldEdsb2JhbFNj
b3BlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCoKIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBq
c1BhaW50V29ya2xldEdsb2JhbFNjb3BlX1BhaW50V29ya2xldEdsb2JhbFNjb3BlQ29uc3RydWN0
b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTUGFpbnRXb3Jr
bGV0R2xvYmFsU2NvcGUmIHRoaXNPYmplY3QpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGxleGljYWxH
bG9iYWxPYmplY3QpOwotICAgIHJldHVybiBKU1BhaW50V29ya2xldEdsb2JhbFNjb3BlOjpnZXRD
b25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgdGhpc09iamVjdC5n
bG9iYWxPYmplY3QoKSk7CisgICAgcmV0dXJuIEpTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGU6Omdl
dENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCAmdGhpc09iamVj
dCk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1BhaW50V29ya2xldEdsb2JhbFNj
b3BlX1BhaW50V29ya2xldEdsb2JhbFNjb3BlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5h
bWUpKQpAQCAtMTUwLDE4ICsxNDksNiBAQCBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNQYWlu
dFdvcmtsZXRHbG9iYWxTY29wZV9QYWludFdvcmtsZXRHbG9iYWxTY29wZUNvbnN0cgogICAgIHJl
dHVybiBJRExBdHRyaWJ1dGU8SlNQYWludFdvcmtsZXRHbG9iYWxTY29wZT46OmdldDxqc1BhaW50
V29ya2xldEdsb2JhbFNjb3BlX1BhaW50V29ya2xldEdsb2JhbFNjb3BlQ29uc3RydWN0b3JHZXR0
ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJQYWludFdvcmtsZXRHbG9iYWxT
Y29wZSIpOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNQYWludFdvcmtsZXRHbG9iYWxT
Y29wZV9QYWludFdvcmtsZXRHbG9iYWxTY29wZUNvbnN0cnVjdG9yU2V0dGVyKEpTR2xvYmFsT2Jq
ZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1BhaW50V29ya2xldEdsb2JhbFNjb3BlJiB0aGlz
T2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4
aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0
b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9t
U3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlBhaW50V29ya2xldEds
b2JhbFNjb3BlIiksIHN0cmxlbigiUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUiKSksIHZhbHVlKTsK
LX0KLQotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTUGFpbnRXb3JrbGV0R2xvYmFsU2Nv
cGVfUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSkpCi17Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1BhaW50V29y
a2xldEdsb2JhbFNjb3BlPjo6c2V0PHNldEpTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGVfUGFpbnRX
b3JrbGV0R2xvYmFsU2NvcGVDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
IHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUiKTsKLX0K
LQogSlNDOjpJc29TdWJzcGFjZSogSlNQYWludFdvcmtsZXRHbG9iYWxTY29wZTo6c3Vic3BhY2VG
b3JJbXBsKEpTQzo6Vk0mIHZtKQogewogICAgIGF1dG8mIGNsaWVudERhdGEgPSAqc3RhdGljX2Nh
c3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29w
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNTZXJ2aWNl
V29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IDE4YWNlMWM0NmY0NzRjYjllZjc3YmQ3NDYwNjE3
YmM4YWI1YjIzZDguLjZmZmUyNjdkYWJhNTNiYTlhZjIxNmMyNjgwMDBiYWRlNGJlZjQzOTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1NlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcApAQCAtNDksNyArNDks
NiBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dF
VFRFUihqc1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yKTsKIHN0YXRpYyBKU0Nf
REVDTEFSRV9DVVNUT01fR0VUVEVSKGpzU2VydmljZVdvcmtlckdsb2JhbFNjb3BlX1NlcnZpY2VX
b3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01f
U0VUVEVSKHNldEpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlX1NlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZUNvbnN0cnVjdG9yKTsKIAogdXNpbmcgSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVET01D
b25zdHJ1Y3RvciA9IEpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlPEpTU2VydmljZVdv
cmtlckdsb2JhbFNjb3BlPjsKIApAQCAtNjMsNyArNjIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0
IENvbXBhY3RIYXNoSW5kZXggSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVUYWJsZUluZGV4WzJd
ID0gewogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNTZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGVUYWJsZVZhbHVlc1tdID0KIHsKLSAgICB7ICJTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUi
LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
LCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRW
YWx1ZUZ1bmM+KGpzU2VydmljZVdvcmtlckdsb2JhbFNjb3BlX1NlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZUNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6
OlB1dFZhbHVlRnVuYz4oc2V0SlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVfU2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlQ29uc3RydWN0b3IpIH0gfSwKKyAgICB7ICJTZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGUiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90
OjpHZXRWYWx1ZUZ1bmM+KGpzU2VydmljZVdvcmtlckdsb2JhbFNjb3BlX1NlcnZpY2VXb3JrZXJH
bG9iYWxTY29wZUNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0
eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAogfTsKIAogc3RhdGljIGNvbnN0IEhhc2hUYWJs
ZSBKU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZVRhYmxlID0geyAxLCAxLCB0cnVlLCBKU1NlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZTo6aW5mbygpLCBKU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZVRh
YmxlVmFsdWVzLCBKU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZVRhYmxlSW5kZXggfTsKQEAgLTE0
Miw3ICsxNDEsNyBAQCBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNTZXJ2aWNlV29ya2VyR2xv
YmFsU2NvcGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0Kgogc3RhdGljIGlubGluZSBKU1Zh
bHVlIGpzU2VydmljZVdvcmtlckdsb2JhbFNjb3BlX1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZUNv
bnN0cnVjdG9yR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Nl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZSYgdGhpc09iamVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0o
bGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0dXJuIEpTU2VydmljZVdvcmtlckdsb2JhbFNj
b3BlOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgdGhp
c09iamVjdC5nbG9iYWxPYmplY3QoKSk7CisgICAgcmV0dXJuIEpTU2VydmljZVdvcmtlckdsb2Jh
bFNjb3BlOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwg
JnRoaXNPYmplY3QpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNTZXJ2aWNlV29y
a2VyR2xvYmFsU2NvcGVfU2VydmljZVdvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3IsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBQcm9wZXJ0eU5hbWUpKQpAQCAtMTUwLDE4ICsxNDksNiBAQCBKU0NfREVGSU5FX0NVU1RPTV9H
RVRURVIoanNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVfU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
Q29ucwogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU+
OjpnZXQ8anNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVfU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
Q29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJTZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGUiKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHNldEpTU2Vy
dmljZVdvcmtlckdsb2JhbFNjb3BlX1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9y
U2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1NlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZSYgdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBhdXRvJiB2
bSA9IEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIC8vIFNoYWRvd2luZyBh
IGJ1aWx0LWluIGNvbnN0cnVjdG9yLgotICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2
bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hh
cio+KCJTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUiKSwgc3RybGVuKCJTZXJ2aWNlV29ya2VyR2xv
YmFsU2NvcGUiKSksIHZhbHVlKTsKLX0KLQotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpT
U2VydmljZVdvcmtlckdsb2JhbFNjb3BlX1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVj
dG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAgICByZXR1cm4g
SURMQXR0cmlidXRlPEpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlPjo6c2V0PHNldEpTU2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlX1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yU2V0
dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJTZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGUiKTsKLX0KLQogSlNDOjpJc29TdWJzcGFjZSogSlNTZXJ2aWNl
V29ya2VyR2xvYmFsU2NvcGU6OnN1YnNwYWNlRm9ySW1wbChKU0M6OlZNJiB2bSkKIHsKICAgICBh
dXRvJiBjbGllbnREYXRhID0gKnN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50
RGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGluZy5jcHAKaW5kZXggZjcxYmI1MWE1
OWY4ZDdlYjYzOGU3ZDQyNDgwNjhmNGQ4MmNiNGE2Ny4uODI1N2I4NjUwMDFlZTNkY2RiYjQyMjk0
OTA2ZTQ2MjM4ZWFhZDc4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRCeVNldHRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0aW5nLmNwcApA
QCAtNTgsMTEgKzU4LDggQEAgc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oanNUZXN0
RW5hYmxlZEJ5U2V0dGluZ1Byb3RvdHlwZUZ1bmN0aW9uX2VuYWJsZWQKIAogc3RhdGljIEpTQ19E
RUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0RW5hYmxlZEJ5U2V0dGluZ0NvbnN0cnVjdG9yKTsK
IHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdEVuYWJsZWRCeVNldHRpbmdf
VGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdDb25zdHJ1Y3Rvcik7Ci1zdGF0aWMgSlNDX0RFQ0xB
UkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpFbmFi
bGVkQnlTZXR0aW5nQ29uc3RydWN0b3IpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRU
RVIoanNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZh
dGVDb25zdHJ1Y3Rvcik7Ci1zdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rl
c3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZUNvbnN0
cnVjdG9yKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdEVuYWJsZWRC
eVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlUHVibGljQ29uc3RydWN0
b3IpOwotc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RW5hYmxlZEJ5
U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWNDb25zdHJ1Y3Rv
cik7CiAjaWYgRU5BQkxFKFRFU1RfRkVBVFVSRSkKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01f
R0VUVEVSKGpzVGVzdEVuYWJsZWRCeVNldHRpbmdfZW5hYmxlZEJ5U2V0dGluZ0F0dHJpYnV0ZSk7
CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RFbmFibGVkQnlTZXR0
aW5nX2VuYWJsZWRCeVNldHRpbmdBdHRyaWJ1dGUpOwpAQCAtMjQ1LDEyICsyNDIsMTIgQEAgdm9p
ZCBKU1Rlc3RFbmFibGVkQnlTZXR0aW5nOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAgICAgc3Rh
dGljX2Fzc2VydCghc3RkOjppc19iYXNlX29mPEFjdGl2ZURPTU9iamVjdCwgVGVzdEVuYWJsZWRC
eVNldHRpbmc+Ojp2YWx1ZSwgIkludGVyZmFjZSBpcyBub3QgbWFya2VkIGFzIFtBY3RpdmVET01P
YmplY3RdIGV2ZW4gdGhvdWdoIGltcGxlbWVudGF0aW9uIGNsYXNzIHN1YmNsYXNzZXMgQWN0aXZl
RE9NT2JqZWN0LiIpOwogCiAgICAgaWYgKGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2Jh
bE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZXR0aW5nc1ZhbHVlcygpLnRl
c3RTZXR0aW5nRW5hYmxlZCkKLSAgICAgICAgcHV0RGlyZWN0Q3VzdG9tQWNjZXNzb3Iodm0sIHN0
YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygp
LlRlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHVibGljTmFtZSgpLCBDdXN0b21HZXR0ZXJTZXR0
ZXI6OmNyZWF0ZSh2bSwganNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5
U2V0dGluZ0NvbnN0cnVjdG9yLCBzZXRKU1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpF
bmFibGVkQnlTZXR0aW5nQ29uc3RydWN0b3IpLCBhdHRyaWJ1dGVzRm9yU3RydWN0dXJlKHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpKTsKKyAg
ICAgICAgcHV0RGlyZWN0Q3VzdG9tQWNjZXNzb3Iodm0sIHN0YXRpY19jYXN0PEpTVk1DbGllbnRE
YXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLlRlc3RTdWJPYmpFbmFibGVkQnlT
ZXR0aW5nUHVibGljTmFtZSgpLCBDdXN0b21HZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwganNUZXN0
RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ0NvbnN0cnVjdG9yLCBu
dWxscHRyKSwgYXR0cmlidXRlc0ZvclN0cnVjdHVyZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKSk7CiAgICAgaWYgKGpzQ2FzdDxKU0RPTUds
b2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5z
ZXR0aW5nc1ZhbHVlcygpLnRlc3RTZXR0aW5nRW5hYmxlZCkKLSAgICAgICAgcHV0RGlyZWN0Q3Vz
dG9tQWNjZXNzb3Iodm0sIHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0
YSktPmJ1aWx0aW5OYW1lcygpLlRlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZVByaXZh
dGVOYW1lKCksIEN1c3RvbUdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBqc1Rlc3RFbmFibGVkQnlT
ZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZUNvbnN0cnVjdG9yLCBzZXRK
U1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZUNv
bnN0cnVjdG9yKSwgYXR0cmlidXRlc0ZvclN0cnVjdHVyZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKSk7CisgICAgICAgIHB1dERpcmVjdEN1
c3RvbUFjY2Vzc29yKHZtLCBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERh
dGEpLT5idWlsdGluTmFtZXMoKS5UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQcml2
YXRlTmFtZSgpLCBDdXN0b21HZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwganNUZXN0RW5hYmxlZEJ5
U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVDb25zdHJ1Y3RvciwgbnVs
bHB0ciksIGF0dHJpYnV0ZXNGb3JTdHJ1Y3R1cmUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSkpOwogICAgIGlmIChqc0Nhc3Q8SlNET01HbG9i
YWxPYmplY3QqPihnbG9iYWxPYmplY3QoKSktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2V0
dGluZ3NWYWx1ZXMoKS50ZXN0U2V0dGluZ0VuYWJsZWQpIHsKLSAgICAgICAgcHV0RGlyZWN0Q3Vz
dG9tQWNjZXNzb3Iodm0sIHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0
YSktPmJ1aWx0aW5OYW1lcygpLlRlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZVB1Ymxp
Y1B1YmxpY05hbWUoKSwgQ3VzdG9tR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIGpzVGVzdEVuYWJs
ZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlUHVibGljQ29uc3Ry
dWN0b3IsIHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRp
bmdQcml2YXRlUHVibGljQ29uc3RydWN0b3IpLCBhdHRyaWJ1dGVzRm9yU3RydWN0dXJlKHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpKTsKLSAg
ICAgICAgcHV0RGlyZWN0Q3VzdG9tQWNjZXNzb3Iodm0sIHN0YXRpY19jYXN0PEpTVk1DbGllbnRE
YXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLlRlc3RTdWJPYmpFbmFibGVkQnlT
ZXR0aW5nUHJpdmF0ZVB1YmxpY1ByaXZhdGVOYW1lKCksIEN1c3RvbUdldHRlclNldHRlcjo6Y3Jl
YXRlKHZtLCBqc1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5n
UHJpdmF0ZVB1YmxpY0NvbnN0cnVjdG9yLCBzZXRKU1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RT
dWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZVB1YmxpY0NvbnN0cnVjdG9yKSwgYXR0cmlidXRl
c0ZvclN0cnVjdHVyZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pKSk7CisgICAgICAgIHB1dERpcmVjdEN1c3RvbUFjY2Vzc29yKHZtLCBzdGF0
aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5U
ZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWNQdWJsaWNOYW1lKCksIEN1c3Rv
bUdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBqc1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJP
YmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZVB1YmxpY0NvbnN0cnVjdG9yLCBudWxscHRyKSwgYXR0
cmlidXRlc0ZvclN0cnVjdHVyZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pKSk7CisgICAgICAgIHB1dERpcmVjdEN1c3RvbUFjY2Vzc29yKHZt
LCBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFt
ZXMoKS5UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWNQcml2YXRlTmFtZSgp
LCBDdXN0b21HZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwganNUZXN0RW5hYmxlZEJ5U2V0dGluZ19U
ZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWNDb25zdHJ1Y3RvciwgbnVsbHB0
ciksIGF0dHJpYnV0ZXNGb3JTdHJ1Y3R1cmUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSkpOwogICAgIH0KIH0KIApAQCAtMzA2LDE4ICszMDMs
NiBAQCBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0
U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ0NvbnN0cgogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNU
ZXN0RW5hYmxlZEJ5U2V0dGluZz46OmdldDxqc1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJP
YmpFbmFibGVkQnlTZXR0aW5nQ29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCB0aGlzVmFsdWUsICJUZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZyIpOwogfQogCi1zdGF0aWMg
aW5saW5lIGJvb2wgc2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5
U2V0dGluZ0NvbnN0cnVjdG9yU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBKU1Rlc3RFbmFibGVkQnlTZXR0aW5nJiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQot
ewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAg
Ly8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmpl
Y3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9j
YXN0PGNvbnN0IExDaGFyKj4oIlRlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nIiksIHN0cmxlbigi
VGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmciKSksIHZhbHVlKTsKLX0KLQotSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRC
eVNldHRpbmdDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkp
Ci17Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RFbmFibGVkQnlTZXR0aW5nPjo6c2V0
PHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdDb25z
dHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCAiVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmciKTsKLX0KLQogc3RhdGljIGlubGluZSBK
U1ZhbHVlIGpzVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQ
cml2YXRlQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEpTVGVzdEVuYWJsZWRCeVNldHRpbmcmIHRoaXNPYmplY3QpCiB7CiAgICAgVU5VU0VEX1BB
UkFNKGxleGljYWxHbG9iYWxPYmplY3QpOwpAQCAtMzI5LDE4ICszMTQsNiBAQCBKU0NfREVGSU5F
X0NVU1RPTV9HRVRURVIoanNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5
U2V0dGluZ1ByaXZhdAogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0RW5hYmxlZEJ5U2V0
dGluZz46OmdldDxqc1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0
aW5nUHJpdmF0ZUNvbnN0cnVjdG9yR2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1Zh
bHVlLCAiVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlIik7CiB9CiAKLXN0YXRpYyBp
bmxpbmUgYm9vbCBzZXRKU1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlT
ZXR0aW5nUHJpdmF0ZUNvbnN0cnVjdG9yU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBKU1Rlc3RFbmFibGVkQnlTZXR0aW5nJiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZh
bHVlKQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7
Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRo
aXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVy
cHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0
ZSIpLCBzdHJsZW4oIlRlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZSIpKSwgdmFsdWUp
OwotfQotCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGlu
Z19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCi17Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxK
U1Rlc3RFbmFibGVkQnlTZXR0aW5nPjo6c2V0PHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVz
dFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2Fs
R2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RTdWJPYmpFbmFibGVk
QnlTZXR0aW5nUHJpdmF0ZSIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0RW5h
YmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWNDb25z
dHJ1Y3RvckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0
RW5hYmxlZEJ5U2V0dGluZyYgdGhpc09iamVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNh
bEdsb2JhbE9iamVjdCk7CkBAIC0zNTIsMTggKzMyNSw2IEBAIEpTQ19ERUZJTkVfQ1VTVE9NX0dF
VFRFUihqc1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJp
dmF0CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RFbmFibGVkQnlTZXR0aW5nPjo6Z2V0
PGpzVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRl
UHVibGljQ29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUs
ICJUZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWMiKTsKIH0KIAotc3RhdGlj
IGlubGluZSBib29sIHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRC
eVNldHRpbmdQcml2YXRlUHVibGljQ29uc3RydWN0b3JTZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxl
eGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEVuYWJsZWRCeVNldHRpbmcmIHRoaXNPYmplY3QsIEpT
VmFsdWUgdmFsdWUpCi17Ci0gICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFs
T2JqZWN0KTsKLSAgICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3Rvci4KLSAgICBy
ZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0s
IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRp
bmdQcml2YXRlUHVibGljIiksIHN0cmxlbigiVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2
YXRlUHVibGljIikpLCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRK
U1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZVB1
YmxpY0NvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsK
LSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEVuYWJsZWRCeVNldHRpbmc+OjpzZXQ8c2V0
SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQ
dWJsaWNDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwg
ZW5jb2RlZFZhbHVlLCAiVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlUHVibGljIik7
Ci19Ci0KICNpZiBFTkFCTEUoVEVTVF9GRUFUVVJFKQogc3RhdGljIGlubGluZSBKU1ZhbHVlIGpz
VGVzdEVuYWJsZWRCeVNldHRpbmdfZW5hYmxlZEJ5U2V0dGluZ0F0dHJpYnV0ZUdldHRlcihKU0ds
b2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0RW5hYmxlZEJ5U2V0dGluZyYg
dGhpc09iamVjdCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkRm9yQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEZvckNvbnRleHQuY3BwCmluZGV4
IGViMGM4Yzg1MzU3NDFiNWE5YTljZTUyNjRmMzQ4YzM4MmE2ZjQ2OTUuLjc2ZGJiZTg3Mjc2Mjk4
YTAzMDNhYjE1MDEwMzMyZGExM2FjMDgyOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkRm9yQ29udGV4dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRGb3JD
b250ZXh0LmNwcApAQCAtNDksNyArNDksNiBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBzdGF0
aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RFbmFibGVkRm9yQ29udGV4dENvbnN0
cnVjdG9yKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdEVuYWJsZWRG
b3JDb250ZXh0X1Rlc3RTdWJPYmpFbmFibGVkRm9yQ29udGV4dENvbnN0cnVjdG9yKTsKLXN0YXRp
YyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEVuYWJsZWRGb3JDb250ZXh0X1Rl
c3RTdWJPYmpFbmFibGVkRm9yQ29udGV4dENvbnN0cnVjdG9yKTsKIAogY2xhc3MgSlNUZXN0RW5h
YmxlZEZvckNvbnRleHRQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNDOjpKU05vbkZpbmFsT2Jq
ZWN0IHsKIHB1YmxpYzoKQEAgLTEzMSw3ICsxMzAsNyBAQCB2b2lkIEpTVGVzdEVuYWJsZWRGb3JD
b250ZXh0OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAgICAgc3RhdGljX2Fzc2VydCghc3RkOjpp
c19iYXNlX29mPEFjdGl2ZURPTU9iamVjdCwgVGVzdEVuYWJsZWRGb3JDb250ZXh0Pjo6dmFsdWUs
ICJJbnRlcmZhY2UgaXMgbm90IG1hcmtlZCBhcyBbQWN0aXZlRE9NT2JqZWN0XSBldmVuIHRob3Vn
aCBpbXBsZW1lbnRhdGlvbiBjbGFzcyBzdWJjbGFzc2VzIEFjdGl2ZURPTU9iamVjdC4iKTsKIAog
ICAgIGlmICgoanNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KCkpLT5zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPnNldHRpbmdzVmFsdWVzKCkudGVzdFNldHRpbmdFbmFibGVk
ICYmIFRlc3RTdWJPYmpFbmFibGVkRm9yQ29udGV4dDo6ZW5hYmxlZEZvckNvbnRleHQoKmpzQ2Fz
dDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpKSkpCi0gICAgICAgIHB1dERpcmVjdEN1c3RvbUFjY2Vzc29yKHZtLCBzdGF0aWNfY2Fz
dDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5UZXN0U3Vi
T2JqRW5hYmxlZEZvckNvbnRleHRQdWJsaWNOYW1lKCksIEN1c3RvbUdldHRlclNldHRlcjo6Y3Jl
YXRlKHZtLCBqc1Rlc3RFbmFibGVkRm9yQ29udGV4dF9UZXN0U3ViT2JqRW5hYmxlZEZvckNvbnRl
eHRDb25zdHJ1Y3Rvciwgc2V0SlNUZXN0RW5hYmxlZEZvckNvbnRleHRfVGVzdFN1Yk9iakVuYWJs
ZWRGb3JDb250ZXh0Q29uc3RydWN0b3IpLCBhdHRyaWJ1dGVzRm9yU3RydWN0dXJlKHN0YXRpY19j
YXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpKTsKKyAgICAg
ICAgcHV0RGlyZWN0Q3VzdG9tQWNjZXNzb3Iodm0sIHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRh
Kj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLlRlc3RTdWJPYmpFbmFibGVkRm9yQ29u
dGV4dFB1YmxpY05hbWUoKSwgQ3VzdG9tR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIGpzVGVzdEVu
YWJsZWRGb3JDb250ZXh0X1Rlc3RTdWJPYmpFbmFibGVkRm9yQ29udGV4dENvbnN0cnVjdG9yLCBu
dWxscHRyKSwgYXR0cmlidXRlc0ZvclN0cnVjdHVyZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKSk7CiB9CiAKIEpTT2JqZWN0KiBKU1Rlc3RF
bmFibGVkRm9yQ29udGV4dDo6Y3JlYXRlUHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmpl
Y3QmIGdsb2JhbE9iamVjdCkKQEAgLTE4MSwxOCArMTgwLDYgQEAgSlNDX0RFRklORV9DVVNUT01f
R0VUVEVSKGpzVGVzdEVuYWJsZWRGb3JDb250ZXh0X1Rlc3RTdWJPYmpFbmFibGVkRm9yQ29udGV4
dENvbnMKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEVuYWJsZWRGb3JDb250ZXh0Pjo6
Z2V0PGpzVGVzdEVuYWJsZWRGb3JDb250ZXh0X1Rlc3RTdWJPYmpFbmFibGVkRm9yQ29udGV4dENv
bnN0cnVjdG9yR2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCAiVGVzdFN1
Yk9iakVuYWJsZWRGb3JDb250ZXh0Iik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rl
c3RFbmFibGVkRm9yQ29udGV4dF9UZXN0U3ViT2JqRW5hYmxlZEZvckNvbnRleHRDb25zdHJ1Y3Rv
clNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0RW5hYmxl
ZEZvckNvbnRleHQmIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCi17Ci0gICAgYXV0byYgdm0g
PSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICAvLyBTaGFkb3dpbmcgYSBi
dWlsdC1pbiBjb25zdHJ1Y3Rvci4KLSAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0s
IElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIq
PigiVGVzdFN1Yk9iakVuYWJsZWRGb3JDb250ZXh0IiksIHN0cmxlbigiVGVzdFN1Yk9iakVuYWJs
ZWRGb3JDb250ZXh0IikpLCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RFbmFibGVkRm9yQ29udGV4dF9UZXN0U3ViT2JqRW5hYmxlZEZvckNvbnRleHRDb25z
dHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCi17Ci0gICAgcmV0
dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RFbmFibGVkRm9yQ29udGV4dD46OnNldDxzZXRKU1Rlc3RF
bmFibGVkRm9yQ29udGV4dF9UZXN0U3ViT2JqRW5hYmxlZEZvckNvbnRleHRDb25zdHJ1Y3RvclNl
dHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVz
dFN1Yk9iakVuYWJsZWRGb3JDb250ZXh0Iik7Ci19Ci0KIEpTQzo6SXNvU3Vic3BhY2UqIEpTVGVz
dEVuYWJsZWRGb3JDb250ZXh0OjpzdWJzcGFjZUZvckltcGwoSlNDOjpWTSYgdm0pCiB7CiAgICAg
YXV0byYgY2xpZW50RGF0YSA9ICpzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVu
dERhdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEdsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcAppbmRleCBlOGZhMWJjOGEyNTNmZjhl
ZGYxYTE5NjFmMmU5M2MyMzhlMjgxYmZkLi41NzE1NDYzNTIwMDYxYjBjNGMzZGI3ZWNmY2QzOTc2
OWI0MzQ2YzA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcApAQCAtMzQsNyArMzQsNiBA
QAogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb25S
ZXR1cm5pbmdQcm9taXNlLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKLSNpbmNs
dWRlICJKU1Rlc3QuaCIKICNpbmNsdWRlICJKU1Rlc3RDRVJlYWN0aW9ucy5oIgogI2luY2x1ZGUg
IkpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIuaCIKICNpbmNsdWRlICJKU1Rlc3RDU1NQcm9w
ZXJ0eS5oIgpAQCAtNTYsNyArNTUsNiBAQAogI2luY2x1ZGUgIkpTVGVzdEludGVyZmFjZUxlYWRp
bmdVbmRlcnNjb3JlLmgiCiAjaW5jbHVkZSAiSlNUZXN0SXRlcmFibGUuaCIKICNpbmNsdWRlICJK
U1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rvci5oIgotI2luY2x1ZGUgIkpTVGVzdExlZ2FjeUZhY3Rv
cnlGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuaCIK
ICNpbmNsdWRlICJKU1Rlc3RNYXBMaWtlLmgiCiAjaW5jbHVkZSAiSlNUZXN0TWFwTGlrZVdpdGhP
dmVycmlkZGVuT3BlcmF0aW9ucy5oIgpAQCAtMTYzLDEzNSArMTYxLDczIEBAIHN0YXRpYyBKU0Nf
REVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9lbmFibGVkQXRSdW50aW1l
QXR0cmlidXRlKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEds
b2JhbE9iamVjdF9lbmFibGVkQXRSdW50aW1lQXR0cmlidXRlKTsKICNlbmRpZgogc3RhdGljIEpT
Q19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RDRVJlYWN0aW9u
c0NvbnN0cnVjdG9yKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVz
dEdsb2JhbE9iamVjdF9UZXN0Q0VSZWFjdGlvbnNDb25zdHJ1Y3Rvcik7CiBzdGF0aWMgSlNDX0RF
Q0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdENFUmVhY3Rpb25zU3Ry
aW5naWZpZXJDb25zdHJ1Y3Rvcik7Ci1zdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJDb25zdHJ1Y3Rv
cik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3Rf
VGVzdENTU1Byb3BlcnR5Q29uc3RydWN0b3IpOwotc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RDU1NQcm9wZXJ0eUNvbnN0cnVjdG9yKTsK
IHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0
Q2FsbFRyYWNlckNvbnN0cnVjdG9yKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0Q2FsbFRyYWNlckNvbnN0cnVjdG9yKTsKICNpZiBF
TkFCTEUoVEVTVF9DT05ESVRJT05BTCkKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVS
KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0Q2FsbGJhY2tJbnRlcmZhY2VDb25zdHJ1Y3Rvcik7Ci1z
dGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVz
dENhbGxiYWNrSW50ZXJmYWNlQ29uc3RydWN0b3IpOwogI2VuZGlmCiBzdGF0aWMgSlNDX0RFQ0xB
UkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdENsYXNzV2l0aEpTQnVpbHRp
bkNvbnN0cnVjdG9yQ29uc3RydWN0b3IpOwotc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rv
ckNvbnN0cnVjdG9yKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdEds
b2JhbE9iamVjdF9UZXN0RE9NSklUQ29uc3RydWN0b3IpOwotc3RhdGljIEpTQ19ERUNMQVJFX0NV
U1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RET01KSVRDb25zdHJ1Y3Rvcik7
CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVz
dERlZmF1bHRUb0pTT05JbmRpcmVjdEluaGVyaXRhbmNlQ29uc3RydWN0b3IpOwotc3RhdGljIEpT
Q19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3REZWZhdWx0
VG9KU09OSW5kaXJlY3RJbmhlcml0YW5jZUNvbnN0cnVjdG9yKTsKIHN0YXRpYyBKU0NfREVDTEFS
RV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0RGVmYXVsdFRvSlNPTkluaGVy
aXRDb25zdHJ1Y3Rvcik7Ci1zdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rl
c3RHbG9iYWxPYmplY3RfVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0Q29uc3RydWN0b3IpOwogc3Rh
dGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3REZWZh
dWx0VG9KU09OSW5oZXJpdEZpbmFsQ29uc3RydWN0b3IpOwotc3RhdGljIEpTQ19ERUNMQVJFX0NV
U1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3REZWZhdWx0VG9KU09OSW5oZXJp
dEZpbmFsQ29uc3RydWN0b3IpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNU
ZXN0R2xvYmFsT2JqZWN0X1Rlc3REb21haW5TZWN1cml0eUNvbnN0cnVjdG9yKTsKLXN0YXRpYyBK
U0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0RG9tYWlu
U2VjdXJpdHlDb25zdHJ1Y3Rvcik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihq
c1Rlc3RHbG9iYWxPYmplY3RfVGVzdEV2ZW50Q29uc3RydWN0b3JDb25zdHJ1Y3Rvcik7Ci1zdGF0
aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdEV2
ZW50Q29uc3RydWN0b3JDb25zdHJ1Y3Rvcik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dF
VFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdEV2ZW50VGFyZ2V0Q29uc3RydWN0b3IpOwotc3Rh
dGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RF
dmVudFRhcmdldENvbnN0cnVjdG9yKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVS
KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0RXhjZXB0aW9uQ29uc3RydWN0b3IpOwotc3RhdGljIEpT
Q19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RFeGNlcHRp
b25Db25zdHJ1Y3Rvcik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RH
bG9iYWxPYmplY3RfVGVzdEdlbmVyYXRlSXNSZWFjaGFibGVDb25zdHJ1Y3Rvcik7Ci1zdGF0aWMg
SlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdEdlbmVy
YXRlSXNSZWFjaGFibGVDb25zdHJ1Y3Rvcik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dF
VFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdEdsb2JhbE9iamVjdENvbnN0cnVjdG9yKTsKLXN0
YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0
R2xvYmFsT2JqZWN0Q29uc3RydWN0b3IpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRU
RVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyQ29uc3Ry
dWN0b3IpOwotc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFs
T2JqZWN0X1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyQ29uc3RydWN0b3IpOwogc3RhdGlj
IEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RJbmRleGVk
U2V0dGVyVGhyb3dpbmdFeGNlcHRpb25Db25zdHJ1Y3Rvcik7Ci1zdGF0aWMgSlNDX0RFQ0xBUkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdEluZGV4ZWRTZXR0ZXJUaHJv
d2luZ0V4Y2VwdGlvbkNvbnN0cnVjdG9yKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VU
VEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyQ29u
c3RydWN0b3IpOwotc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xv
YmFsT2JqZWN0X1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXJDb25zdHJ1Y3Rvcik7CiBz
dGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdElu
dGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlQ29uc3RydWN0b3IpOwotc3RhdGljIEpTQ19ERUNMQVJF
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RJbnRlcmZhY2VMZWFkaW5n
VW5kZXJzY29yZUNvbnN0cnVjdG9yKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVS
KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0SXRlcmFibGVDb25zdHJ1Y3Rvcik7Ci1zdGF0aWMgSlND
X0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdEl0ZXJhYmxl
Q29uc3RydWN0b3IpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0R2xv
YmFsT2JqZWN0X1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3RvckNvbnN0cnVjdG9yKTsKLXN0YXRpYyBK
U0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0SlNCdWls
dGluQ29uc3RydWN0b3JDb25zdHJ1Y3Rvcik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dF
VFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbkNvbnN0cnVj
dG9yKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9i
amVjdF9UZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uQ29uc3RydWN0b3IpOwogc3RhdGljIEpTQ19E
RUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X0F1ZGlvQ29uc3RydWN0b3Ip
Owotc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0
X0F1ZGlvQ29uc3RydWN0b3IpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNU
ZXN0R2xvYmFsT2JqZWN0X1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zQ29uc3RydWN0b3IpOwot
c3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rl
c3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zQ29uc3RydWN0b3IpOwogc3RhdGljIEpTQ19ERUNMQVJF
X0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RNYXBMaWtlQ29uc3RydWN0b3Ip
Owotc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0
X1Rlc3RNYXBMaWtlQ29uc3RydWN0b3IpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRU
RVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25z
Q29uc3RydWN0b3IpOwotc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
R2xvYmFsT2JqZWN0X1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zQ29uc3RydWN0
b3IpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0
X1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXJDb25zdHJ1Y3Rvcik7Ci1zdGF0
aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5h
bWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9yKTsKIHN0YXRpYyBKU0Nf
REVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRBbmRJbmRl
eGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25Db25zdHJ1Y3Rvcik7Ci1zdGF0aWMgSlNDX0RFQ0xB
UkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkQW5kSW5kZXhl
ZFNldHRlclRocm93aW5nRXhjZXB0aW9uQ29uc3RydWN0b3IpOwogc3RhdGljIEpTQ19ERUNMQVJF
X0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0
ZXJXaXRoSWRlbnRpZmllckNvbnN0cnVjdG9yKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0
aElkZW50aWZpZXJDb25zdHJ1Y3Rvcik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRF
Uihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllckNvbnN0cnVj
dG9yKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9i
amVjdF9UZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyQ29uc3RydWN0b3IpOwogc3RhdGljIEpT
Q19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZERlbGV0
ZXJUaHJvd2luZ0V4Y2VwdGlvbkNvbnN0cnVjdG9yKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWREZWxldGVyVGhyb3dpbmdF
eGNlcHRpb25Db25zdHJ1Y3Rvcik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihq
c1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyQ29uc3RydWN0
b3IpOwotc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2Jq
ZWN0X1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllckNvbnN0cnVjdG9yKTsKIHN0YXRpYyBK
U0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWREZWxl
dGVyV2l0aEluZGV4ZWRHZXR0ZXJDb25zdHJ1Y3Rvcik7Ci1zdGF0aWMgSlNDX0RFQ0xBUkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRl
eGVkR2V0dGVyQ29uc3RydWN0b3IpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIo
anNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZEdldHRlckNhbGxXaXRoQ29uc3RydWN0b3IpOwot
c3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rl
c3ROYW1lZEdldHRlckNhbGxXaXRoQ29uc3RydWN0b3IpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NV
U1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmll
ckNvbnN0cnVjdG9yKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVz
dEdsb2JhbE9iamVjdF9UZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXJDb25zdHJ1Y3Rvcik7CiBz
dGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5h
bWVkR2V0dGVyV2l0aElkZW50aWZpZXJDb25zdHJ1Y3Rvcik7Ci1zdGF0aWMgSlNDX0RFQ0xBUkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkR2V0dGVyV2l0aElk
ZW50aWZpZXJDb25zdHJ1Y3Rvcik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihq
c1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyQ29uc3RydWN0b3Ip
Owotc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0
X1Rlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9yKTsKIHN0YXRpYyBKU0NfREVD
TEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJUaHJv
d2luZ0V4Y2VwdGlvbkNvbnN0cnVjdG9yKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VU
VEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlv
bkNvbnN0cnVjdG9yKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdEds
b2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllckNvbnN0cnVjdG9yKTsKLXN0
YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0
TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllckNvbnN0cnVjdG9yKTsKIHN0YXRpYyBKU0NfREVDTEFS
RV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJXaXRoSW5k
ZXhlZEdldHRlckNvbnN0cnVjdG9yKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckNv
bnN0cnVjdG9yKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2Jh
bE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlckNvbnN0cnVj
dG9yKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9i
amVjdF9UZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlckNvbnN0cnVjdG9y
KTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9U
ZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdEluc0NvbnN0cnVjdG9yKTsKLXN0
YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0
TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdEluc0NvbnN0cnVjdG9yKTsKIHN0YXRp
YyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRT
ZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQ29uc3RydWN0b3IpOwotc3RhdGlj
IEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1l
ZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNDb25zdHJ1Y3Rvcik7CiBzdGF0
aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVk
U2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVp
bHRJbnNDb25zdHJ1Y3Rvcik7Ci1zdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRK
U1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJv
cGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnNDb25zdHJ1Y3Rvcik7CiAjaWYgRU5BQkxF
KENvbmRpdGlvbkRlcml2ZWQpCiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rl
c3RHbG9iYWxPYmplY3RfVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsQ29uc3RydWN0b3IpOwotc3Rh
dGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RP
cGVyYXRpb25Db25kaXRpb25hbENvbnN0cnVjdG9yKTsKICNlbmRpZgogc3RhdGljIEpTQ19ERUNM
QVJFX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RPdmVybG9hZGVkQ29uc3Ry
dWN0b3JzV2l0aFNlcXVlbmNlQ29uc3RydWN0b3IpOwotc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RP
TV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
V2l0aFNlcXVlbmNlQ29uc3RydWN0b3IpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRU
RVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RQbHVnaW5JbnRlcmZhY2VDb25zdHJ1Y3Rvcik7Ci1z
dGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVz
dFBsdWdpbkludGVyZmFjZUNvbnN0cnVjdG9yKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01f
R0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0UmVhZE9ubHlNYXBMaWtlQ29uc3RydWN0b3Ip
Owotc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0
X1Rlc3RSZWFkT25seU1hcExpa2VDb25zdHJ1Y3Rvcik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VT
VE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdFJlYWRPbmx5U2V0TGlrZUNvbnN0cnVj
dG9yKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9i
amVjdF9UZXN0UmVhZE9ubHlTZXRMaWtlQ29uc3RydWN0b3IpOwogc3RhdGljIEpTQ19ERUNMQVJF
X0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNv
c3RDb25zdHJ1Y3Rvcik7Ci1zdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rl
c3RHbG9iYWxPYmplY3RfVGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29zdENvbnN0cnVjdG9yKTsKICNp
ZiBFTkFCTEUoQ29uZGl0aW9uMSkgfHwgRU5BQkxFKENvbmRpdGlvbjIpCiBzdGF0aWMgSlNDX0RF
Q0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZUNvbnN0cnVjdG9yKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlQ29uc3RydWN0b3IpOwogI2VuZGlmCiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dF
VFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdFNldExpa2VDb25zdHJ1Y3Rvcik7Ci1zdGF0aWMg
SlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFNldExp
a2VDb25zdHJ1Y3Rvcik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RH
bG9iYWxPYmplY3RfVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnNDb25zdHJ1Y3Rv
cik7Ci1zdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmpl
Y3RfVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnNDb25zdHJ1Y3Rvcik7CiBzdGF0
aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmlu
Z2lmaWVyQ29uc3RydWN0b3IpOwotc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmllckNvbnN0cnVjdG9yKTsKIHN0YXRpYyBK
U0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0U3RyaW5naWZp
ZXJBbm9ueW1vdXNPcGVyYXRpb25Db25zdHJ1Y3Rvcik7Ci1zdGF0aWMgSlNDX0RFQ0xBUkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyQW5vbnltb3Vz
T3BlcmF0aW9uQ29uc3RydWN0b3IpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIo
anNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uQ29uc3RydWN0
b3IpOwotc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2Jq
ZWN0X1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uQ29uc3RydWN0b3IpOwogc3RhdGljIEpT
Q19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmll
ck9wZXJhdGlvbkltcGxlbWVudGVkQXNDb25zdHJ1Y3Rvcik7Ci1zdGF0aWMgSlNDX0RFQ0xBUkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyT3BlcmF0
aW9uSW1wbGVtZW50ZWRBc0NvbnN0cnVjdG9yKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01f
R0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRv
U3RyaW5nQ29uc3RydWN0b3IpOwotc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmdD
b25zdHJ1Y3Rvcik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9i
YWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGVDb25zdHJ1Y3Rvcik7Ci1z
dGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVz
dFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGVDb25zdHJ1Y3Rvcik7CiBzdGF0aWMgSlNDX0RF
Q0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyUmVh
ZFdyaXRlQXR0cmlidXRlQ29uc3RydWN0b3IpOwotc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9T
RVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJp
YnV0ZUNvbnN0cnVjdG9yKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVz
dEdsb2JhbE9iamVjdF9UZXN0VHlwZWRlZnNDb25zdHJ1Y3Rvcik7Ci1zdGF0aWMgSlNDX0RFQ0xB
UkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFR5cGVkZWZzQ29uc3Ry
dWN0b3IpOwogCiB1c2luZyBKU1Rlc3RHbG9iYWxPYmplY3RET01Db25zdHJ1Y3RvciA9IEpTRE9N
Q29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlPEpTVGVzdEdsb2JhbE9iamVjdD47CiAKQEAgLTU3
OCw4MCArNTE0LDgwIEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RHbG9iYWxP
YmplY3RUYWJsZVZhbHVlc1tdID0KICNlbHNlCiAgICAgeyAwLCAwLCBOb0ludHJpbnNpYywgeyAw
LCAwIH0gfSwKICNlbmRpZgotICAgIHsgIlRlc3RDRVJlYWN0aW9ucyIsIHN0YXRpY19jYXN0PHVu
c2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7
IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0
R2xvYmFsT2JqZWN0X1Rlc3RDRVJlYWN0aW9uc0NvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0
aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0R2xvYmFsT2Jq
ZWN0X1Rlc3RDRVJlYWN0aW9uc0NvbnN0cnVjdG9yKSB9IH0sCi0gICAgeyAiVGVzdENFUmVhY3Rp
b25zU3RyaW5naWZpZXIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJv
cGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0Q0VSZWFjdGlv
bnNTdHJpbmdpZmllckNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9w
ZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RDRVJlYWN0
aW9uc1N0cmluZ2lmaWVyQ29uc3RydWN0b3IpIH0gfSwKLSAgICB7ICJUZXN0Q1NTUHJvcGVydHki
LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
LCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRW
YWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0Q1NTUHJvcGVydHlDb25zdHJ1Y3Rvciks
IChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNl
dEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0Q1NTUHJvcGVydHlDb25zdHJ1Y3RvcikgfSB9LAotICAg
IHsgIlRlc3RDYWxsVHJhY2VyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0
PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdENhbGxU
cmFjZXJDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90
OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0Q2FsbFRyYWNlckNvbnN0
cnVjdG9yKSB9IH0sCisgICAgeyAiVGVzdENFUmVhY3Rpb25zIiwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGlu
dHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9i
YWxPYmplY3RfVGVzdENFUmVhY3Rpb25zQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19j
YXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAgeyAiVGVzdENF
UmVhY3Rpb25zU3RyaW5naWZpZXIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nh
c3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0Q0VS
ZWFjdGlvbnNTdHJpbmdpZmllckNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQ
dXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAgIHsgIlRlc3RDU1NQcm9w
ZXJ0eSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6
OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RDU1NQcm9wZXJ0eUNvbnN0cnVj
dG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVu
Yz4oMCkgfSB9LAorICAgIHsgIlRlc3RDYWxsVHJhY2VyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0
cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxP
YmplY3RfVGVzdENhbGxUcmFjZXJDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8
UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKICNpZiBFTkFCTEUoVEVTVF9D
T05ESVRJT05BTCkKLSAgICB7ICJUZXN0Q2FsbGJhY2tJbnRlcmZhY2UiLCBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywg
eyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVz
dEdsb2JhbE9iamVjdF9UZXN0Q2FsbGJhY2tJbnRlcmZhY2VDb25zdHJ1Y3RvciksIChpbnRwdHJf
dCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEds
b2JhbE9iamVjdF9UZXN0Q2FsbGJhY2tJbnRlcmZhY2VDb25zdHJ1Y3RvcikgfSB9LAorICAgIHsg
IlRlc3RDYWxsYmFja0ludGVyZmFjZSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNf
Y2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RD
YWxsYmFja0ludGVyZmFjZUNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAogI2Vsc2UKICAgICB7IDAsIDAsIE5v
SW50cmluc2ljLCB7IDAsIDAgfSB9LAogI2VuZGlmCi0gICAgeyAiVGVzdENsYXNzV2l0aEpTQnVp
bHRpbkNvbnN0cnVjdG9yIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFBy
b3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdENsYXNzV2l0
aEpTQnVpbHRpbkNvbnN0cnVjdG9yQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0
PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVz
dENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yQ29uc3RydWN0b3IpIH0gfSwKLSAgICB7ICJU
ZXN0RE9NSklUIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5
U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdERPTUpJVENvbnN0cnVj
dG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVu
Yz4oc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RET01KSVRDb25zdHJ1Y3RvcikgfSB9LAotICAg
IHsgIlRlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0YW5jZSIsIHN0YXRpY19jYXN0PHVu
c2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7
IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0
R2xvYmFsT2JqZWN0X1Rlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0YW5jZUNvbnN0cnVj
dG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVu
Yz4oc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0
YW5jZUNvbnN0cnVjdG9yKSB9IH0sCi0gICAgeyAiVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0Iiwg
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwg
Tm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0Q29uc3Ry
dWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVG
dW5jPihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0Q29uc3Ry
dWN0b3IpIH0gfSwKLSAgICB7ICJUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbCIsIHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50
cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVu
Yz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZpbmFsQ29uc3Ry
dWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVG
dW5jPihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWxD
b25zdHJ1Y3RvcikgfSB9LAotICAgIHsgIlRlc3REb21haW5TZWN1cml0eSIsIHN0YXRpY19jYXN0
PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2lj
LCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNU
ZXN0R2xvYmFsT2JqZWN0X1Rlc3REb21haW5TZWN1cml0eUNvbnN0cnVjdG9yKSwgKGludHB0cl90
KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0R2xv
YmFsT2JqZWN0X1Rlc3REb21haW5TZWN1cml0eUNvbnN0cnVjdG9yKSB9IH0sCi0gICAgeyAiVGVz
dEV2ZW50Q29uc3RydWN0b3IiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8
UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0RXZlbnRD
b25zdHJ1Y3RvckNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0
eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RFdmVudENvbnN0
cnVjdG9yQ29uc3RydWN0b3IpIH0gfSwKLSAgICB7ICJUZXN0RXZlbnRUYXJnZXQiLCBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJp
bnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+
KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0RXZlbnRUYXJnZXRDb25zdHJ1Y3RvciksIChpbnRwdHJf
dCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEds
b2JhbE9iamVjdF9UZXN0RXZlbnRUYXJnZXRDb25zdHJ1Y3RvcikgfSB9LAotICAgIHsgIlRlc3RF
eGNlcHRpb24iLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlT
bG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0RXhjZXB0aW9uQ29uc3Ry
dWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVG
dW5jPihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdEV4Y2VwdGlvbkNvbnN0cnVjdG9yKSB9IH0s
Ci0gICAgeyAiVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRy
X3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9i
amVjdF9UZXN0R2VuZXJhdGVJc1JlYWNoYWJsZUNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0
aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0R2xvYmFsT2Jq
ZWN0X1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlQ29uc3RydWN0b3IpIH0gfSwKLSAgICB7ICJUZXN0
R2xvYmFsT2JqZWN0Iiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3Bl
cnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdEdsb2JhbE9iamVj
dENvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1
dFZhbHVlRnVuYz4oc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RHbG9iYWxPYmplY3RDb25zdHJ1
Y3RvcikgfSB9LAotICAgIHsgIlRlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyIiwgc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRy
aW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5j
Pihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXJDb25zdHJ1
Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1
bmM+KHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllckNv
bnN0cnVjdG9yKSB9IH0sCi0gICAgeyAiVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlv
biIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51
bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdF
eGNlcHRpb25Db25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlT
bG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0SW5kZXhlZFNldHRl
clRocm93aW5nRXhjZXB0aW9uQ29uc3RydWN0b3IpIH0gfSwKLSAgICB7ICJUZXN0SW5kZXhlZFNl
dHRlcldpdGhJZGVudGlmaWVyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0
PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdEluZGV4
ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2Fz
dDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rl
c3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXJDb25zdHJ1Y3RvcikgfSB9LAotICAgIHsgIlRl
c3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClz
dGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0
X1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZUNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBz
dGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0R2xvYmFs
T2JqZWN0X1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZUNvbnN0cnVjdG9yKSB9IH0sCi0g
ICAgeyAiVGVzdEl0ZXJhYmxlIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0
PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdEl0ZXJh
YmxlQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6
UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdEl0ZXJhYmxlQ29uc3RydWN0
b3IpIH0gfSwKLSAgICB7ICJUZXN0SlNCdWlsdGluQ29uc3RydWN0b3IiLCBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywg
eyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVz
dEdsb2JhbE9iamVjdF9UZXN0SlNCdWlsdGluQ29uc3RydWN0b3JDb25zdHJ1Y3RvciksIChpbnRw
dHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVz
dEdsb2JhbE9iamVjdF9UZXN0SlNCdWlsdGluQ29uc3RydWN0b3JDb25zdHJ1Y3RvcikgfSB9LAot
ICAgIHsgIlRlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24iLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRy
X3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9i
amVjdF9UZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0
YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RHbG9iYWxP
YmplY3RfVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbkNvbnN0cnVjdG9yKSB9IH0sCi0gICAgeyAi
QXVkaW8iLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90
OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9BdWRpb0NvbnN0cnVjdG9yKSwgKGlu
dHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNU
ZXN0R2xvYmFsT2JqZWN0X0F1ZGlvQ29uc3RydWN0b3IpIH0gfSwKLSAgICB7ICJUZXN0TGVnYWN5
T3ZlcnJpZGVCdWlsdElucyIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RMZWdhY3lP
dmVycmlkZUJ1aWx0SW5zQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFBy
b3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdExlZ2Fj
eU92ZXJyaWRlQnVpbHRJbnNDb25zdHJ1Y3RvcikgfSB9LAotICAgIHsgIlRlc3RNYXBMaWtlIiwg
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwg
Tm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE1hcExpa2VDb25zdHJ1Y3RvciksIChpbnRw
dHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVz
dEdsb2JhbE9iamVjdF9UZXN0TWFwTGlrZUNvbnN0cnVjdG9yKSB9IH0sCi0gICAgeyAiVGVzdE1h
cExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qp
c3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVj
dF9UZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9uc0NvbnN0cnVjdG9yKSwgKGludHB0
cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0
R2xvYmFsT2JqZWN0X1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zQ29uc3RydWN0
b3IpIH0gfSwKLSAgICB7ICJUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyIiwg
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwg
Tm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRl
bnRpZmllckNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNs
b3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZEFuZEluZGV4
ZWRTZXR0ZXJOb0lkZW50aWZpZXJDb25zdHJ1Y3RvcikgfSB9LAotICAgIHsgIlRlc3ROYW1lZEFu
ZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJf
dClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2Jq
ZWN0X1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkNvbnN0cnVjdG9y
KSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4o
c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4
Y2VwdGlvbkNvbnN0cnVjdG9yKSB9IH0sCi0gICAgeyAiVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRl
cldpdGhJZGVudGlmaWVyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFBy
b3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkQW5k
SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRp
Y19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RHbG9iYWxPYmpl
Y3RfVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyQ29uc3RydWN0b3IpIH0g
fSwKLSAgICB7ICJUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyIiwgc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsg
KGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RH
bG9iYWxPYmplY3RfVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9yKSwgKGlu
dHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNU
ZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXJDb25zdHJ1Y3Rvcikg
fSB9LAotICAgIHsgIlRlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbiIsIHN0YXRpY19j
YXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmlu
c2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4o
anNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbkNvbnN0
cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVl
RnVuYz4oc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2Vw
dGlvbkNvbnN0cnVjdG9yKSB9IH0sCi0gICAgeyAiVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlm
aWVyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6
R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVu
dGlmaWVyQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xv
dDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkRGVsZXRlcldp
dGhJZGVudGlmaWVyQ29uc3RydWN0b3IpIH0gfSwKLSAgICB7ICJUZXN0TmFtZWREZWxldGVyV2l0
aEluZGV4ZWRHZXR0ZXIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJv
cGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWREZWxl
dGVyV2l0aEluZGV4ZWRHZXR0ZXJDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8
UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0
TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXJDb25zdHJ1Y3RvcikgfSB9LAotICAgIHsgIlRl
c3ROYW1lZEdldHRlckNhbGxXaXRoIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19j
YXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5h
bWVkR2V0dGVyQ2FsbFdpdGhDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0
UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFt
ZWRHZXR0ZXJDYWxsV2l0aENvbnN0cnVjdG9yKSB9IH0sCi0gICAgeyAiVGVzdE5hbWVkR2V0dGVy
Tm9JZGVudGlmaWVyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3Bl
cnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkR2V0dGVy
Tm9JZGVudGlmaWVyQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3Bl
cnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkR2V0
dGVyTm9JZGVudGlmaWVyQ29uc3RydWN0b3IpIH0gfSwKLSAgICB7ICJUZXN0TmFtZWRHZXR0ZXJX
aXRoSWRlbnRpZmllciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9w
ZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZEdldHRl
cldpdGhJZGVudGlmaWVyQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFBy
b3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVk
R2V0dGVyV2l0aElkZW50aWZpZXJDb25zdHJ1Y3RvcikgfSB9LAotICAgIHsgIlRlc3ROYW1lZFNl
dHRlck5vSWRlbnRpZmllciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNl
dHRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1l
ZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9yKSB9IH0sCi0gICAgeyAiVGVzdE5hbWVkU2V0
dGVyVGhyb3dpbmdFeGNlcHRpb24iLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nh
c3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFt
ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNf
Y2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0R2xvYmFsT2JqZWN0
X1Rlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uQ29uc3RydWN0b3IpIH0gfSwKLSAgICB7
ICJUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJf
dClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2Jq
ZWN0X1Rlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyQ29uc3RydWN0b3IpLCAoaW50cHRyX3Qp
IHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RHbG9i
YWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXJDb25zdHJ1Y3RvcikgfSB9LAot
ICAgIHsgIlRlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyIiwgc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsg
KGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RH
bG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJDb25zdHJ1Y3Rvciks
IChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNl
dEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckNvbnN0
cnVjdG9yKSB9IH0sCi0gICAgeyAiVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRT
ZXR0ZXIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90
OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJXaXRoSW5k
ZXhlZEdldHRlckFuZFNldHRlckNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQ
dXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RO
YW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyQ29uc3RydWN0b3IpIH0gfSwKLSAg
ICB7ICJUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdElucyIsIHN0YXRpY19j
YXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmlu
c2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4o
anNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0
SW5zQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6
UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyV2l0aExl
Z2FjeU92ZXJyaWRlQnVpbHRJbnNDb25zdHJ1Y3RvcikgfSB9LAotICAgIHsgIlRlc3ROYW1lZFNl
dHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXMiLCBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50
cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2Jh
bE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQ29u
c3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFs
dWVGdW5jPihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVu
Zm9yZ2VhYmxlUHJvcGVydGllc0NvbnN0cnVjdG9yKSB9IH0sCi0gICAgeyAiVGVzdE5hbWVkU2V0
dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJ
bnMiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpH
ZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5
VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdEluc0NvbnN0cnVjdG9y
KSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4o
c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJs
ZVByb3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zQ29uc3RydWN0b3IpIH0gfSwKKyAg
ICB7ICJUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IiLCBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAo
aW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEds
b2JhbE9iamVjdF9UZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3JDb25zdHJ1Y3Rvciks
IChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDAp
IH0gfSwKKyAgICB7ICJUZXN0RE9NSklUIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRp
Y19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVz
dERPTUpJVENvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNs
b3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAgIHsgIlRlc3REZWZhdWx0VG9KU09OSW5kaXJl
Y3RJbmhlcml0YW5jZSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9w
ZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3REZWZhdWx0VG9K
U09OSW5kaXJlY3RJbmhlcml0YW5jZUNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2Fz
dDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAgIHsgIlRlc3REZWZh
dWx0VG9KU09OSW5oZXJpdCIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3REZWZhdWx0
VG9KU09OSW5oZXJpdENvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9w
ZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAgIHsgIlRlc3REZWZhdWx0VG9KU09O
SW5oZXJpdEZpbmFsIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3Bl
cnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdERlZmF1bHRUb0pT
T05Jbmhlcml0RmluYWxDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJv
cGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAgICB7ICJUZXN0RG9tYWluU2VjdXJp
dHkiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpH
ZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0RG9tYWluU2VjdXJpdHlDb25zdHJ1
Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1
bmM+KDApIH0gfSwKKyAgICB7ICJUZXN0RXZlbnRDb25zdHJ1Y3RvciIsIHN0YXRpY19jYXN0PHVu
c2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7
IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0
R2xvYmFsT2JqZWN0X1Rlc3RFdmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3IpLCAoaW50cHRyX3Qp
IHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAg
eyAiVGVzdEV2ZW50VGFyZ2V0Iiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0
PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdEV2ZW50
VGFyZ2V0Q29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xv
dDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAgeyAiVGVzdEV4Y2VwdGlvbiIsIHN0YXRpY19j
YXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmlu
c2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4o
anNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RFeGNlcHRpb25Db25zdHJ1Y3RvciksIChpbnRwdHJfdCkg
c3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAgICB7
ICJUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0
aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rl
c3RHZW5lcmF0ZUlzUmVhY2hhYmxlQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0
PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAgeyAiVGVzdEdsb2Jh
bE9iamVjdCIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNs
b3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RHbG9iYWxPYmplY3RDb25z
dHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1
ZUZ1bmM+KDApIH0gfSwKKyAgICB7ICJUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllciIsIHN0
YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5v
SW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVl
RnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyQ29u
c3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFs
dWVGdW5jPigwKSB9IH0sCisgICAgeyAiVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlv
biIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51
bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdF
eGNlcHRpb25Db25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlT
bG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAgICB7ICJUZXN0SW5kZXhlZFNldHRlcldpdGhJ
ZGVudGlmaWVyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5
U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdEluZGV4ZWRTZXR0ZXJX
aXRoSWRlbnRpZmllckNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9w
ZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAgIHsgIlRlc3RJbnRlcmZhY2VMZWFk
aW5nVW5kZXJzY29yZSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9w
ZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RJbnRlcmZhY2VM
ZWFkaW5nVW5kZXJzY29yZUNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAgIHsgIlRlc3RJdGVyYWJsZSIs
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSks
IE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZh
bHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RJdGVyYWJsZUNvbnN0cnVjdG9yKSwgKGlu
dHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9
LAorICAgIHsgIlRlc3RKU0J1aWx0aW5Db25zdHJ1Y3RvciIsIHN0YXRpY19jYXN0PHVuc2lnbmVk
PihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRw
dHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFs
T2JqZWN0X1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3RvckNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBz
dGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAgIHsg
IlRlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24iLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3Rh
dGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9U
ZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19j
YXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAgeyAiQXVkaW8i
LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
LCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRW
YWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9BdWRpb0NvbnN0cnVjdG9yKSwgKGludHB0cl90
KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAg
IHsgIlRlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90
KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmpl
Y3RfVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnNDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3Rh
dGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAgICB7ICJU
ZXN0TWFwTGlrZSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0
eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RNYXBMaWtlQ29uc3Ry
dWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVG
dW5jPigwKSB9IH0sCisgICAgeyAiVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMi
LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
LCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRW
YWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3Bl
cmF0aW9uc0NvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNs
b3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAgIHsgIlRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0
ZXJOb0lkZW50aWZpZXIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJv
cGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRBbmRJ
bmRleGVkU2V0dGVyTm9JZGVudGlmaWVyQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19j
YXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAgeyAiVGVzdE5h
bWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uIiwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGlu
dHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9i
YWxPYmplY3RfVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uQ29uc3Ry
dWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVG
dW5jPigwKSB9IH0sCisgICAgeyAiVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlm
aWVyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6
R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRl
cldpdGhJZGVudGlmaWVyQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFBy
b3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAgeyAiVGVzdE5hbWVkRGVsZXRl
ck5vSWRlbnRpZmllciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9w
ZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZERlbGV0
ZXJOb0lkZW50aWZpZXJDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJv
cGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAgICB7ICJUZXN0TmFtZWREZWxldGVy
VGhyb3dpbmdFeGNlcHRpb24iLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8
UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRE
ZWxldGVyVGhyb3dpbmdFeGNlcHRpb25Db25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nh
c3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAgICB7ICJUZXN0TmFt
ZWREZWxldGVyV2l0aElkZW50aWZpZXIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGlj
X2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0
TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXJDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGlj
X2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAgICB7ICJUZXN0
TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qp
c3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVj
dF9UZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXJDb25zdHJ1Y3RvciksIChpbnRwdHJf
dCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAg
ICB7ICJUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aCIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClz
dGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0
X1Rlc3ROYW1lZEdldHRlckNhbGxXaXRoQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19j
YXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAgeyAiVGVzdE5h
bWVkR2V0dGVyTm9JZGVudGlmaWVyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19j
YXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5h
bWVkR2V0dGVyTm9JZGVudGlmaWVyQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0
PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAgeyAiVGVzdE5hbWVk
R2V0dGVyV2l0aElkZW50aWZpZXIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nh
c3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFt
ZWRHZXR0ZXJXaXRoSWRlbnRpZmllckNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2Fz
dDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAgIHsgIlRlc3ROYW1l
ZFNldHRlck5vSWRlbnRpZmllciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2Fz
dDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1l
ZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQ
dXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAgIHsgIlRlc3ROYW1lZFNl
dHRlclRocm93aW5nRXhjZXB0aW9uIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19j
YXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5h
bWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25Db25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGlj
X2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAgICB7ICJUZXN0
TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0
aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rl
c3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRp
Y19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAgeyAiVGVz
dE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qp
c3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVj
dF9UZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckNvbnN0cnVjdG9yKSwgKGludHB0cl90
KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAg
IHsgIlRlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyIiwgc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5z
aWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihq
c1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0
ZXJDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQ
dXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAgICB7ICJUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3Zl
cnJpZGVCdWlsdElucyIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9w
ZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNldHRl
cldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRp
Y19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAgeyAiVGVz
dE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllcyIsIHN0YXRpY19jYXN0
PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2lj
LCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNU
ZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3Bl
cnRpZXNDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90
OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAgICB7ICJUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5
VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucyIsIHN0YXRpY19j
YXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmlu
c2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4o
anNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVBy
b3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zQ29uc3RydWN0b3IpLCAoaW50cHRyX3Qp
IHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCiAjaWYg
RU5BQkxFKENvbmRpdGlvbkRlcml2ZWQpCi0gICAgeyAiVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFs
Iiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
KSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0
VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsQ29u
c3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFs
dWVGdW5jPihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsQ29u
c3RydWN0b3IpIH0gfSwKKyAgICB7ICJUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWwiLCBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJp
bnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+
KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWxDb25zdHJ1Y3Rvciks
IChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDAp
IH0gfSwKICNlbHNlCiAgICAgeyAwLCAwLCBOb0ludHJpbnNpYywgeyAwLCAwIH0gfSwKICNlbmRp
ZgotICAgIHsgIlRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlIiwgc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRy
aW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5j
Pihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVu
Y2VDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQ
dXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0T3ZlcmxvYWRlZENvbnN0cnVj
dG9yc1dpdGhTZXF1ZW5jZUNvbnN0cnVjdG9yKSB9IH0sCi0gICAgeyAiVGVzdFBsdWdpbkludGVy
ZmFjZSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6
OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RQbHVnaW5JbnRlcmZhY2VDb25z
dHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1
ZUZ1bmM+KHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0UGx1Z2luSW50ZXJmYWNlQ29uc3RydWN0
b3IpIH0gfSwKLSAgICB7ICJUZXN0UmVhZE9ubHlNYXBMaWtlIiwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGlu
dHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9i
YWxPYmplY3RfVGVzdFJlYWRPbmx5TWFwTGlrZUNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0
aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0R2xvYmFsT2Jq
ZWN0X1Rlc3RSZWFkT25seU1hcExpa2VDb25zdHJ1Y3RvcikgfSB9LAotICAgIHsgIlRlc3RSZWFk
T25seVNldExpa2UiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVy
dHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0UmVhZE9ubHlTZXRM
aWtlQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6
UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFJlYWRPbmx5U2V0TGlrZUNv
bnN0cnVjdG9yKSB9IH0sCi0gICAgeyAiVGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29zdCIsIHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50
cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVu
Yz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3RDb25zdHJ1Y3Rv
ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+
KHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0Q29uc3RydWN0
b3IpIH0gfSwKKyAgICB7ICJUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZSIs
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSks
IE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZh
bHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0
aFNlcXVlbmNlQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5
U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAgeyAiVGVzdFBsdWdpbkludGVyZmFjZSIs
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSks
IE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZh
bHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RQbHVnaW5JbnRlcmZhY2VDb25zdHJ1Y3Rv
ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+
KDApIH0gfSwKKyAgICB7ICJUZXN0UmVhZE9ubHlNYXBMaWtlIiwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGlu
dHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9i
YWxPYmplY3RfVGVzdFJlYWRPbmx5TWFwTGlrZUNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0
aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAgIHsgIlRl
c3RSZWFkT25seVNldExpa2UiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8
UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0UmVhZE9u
bHlTZXRMaWtlQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5
U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAgeyAiVGVzdFJlcG9ydEV4dHJhTWVtb3J5
Q29zdCIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6
OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNv
c3RDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQ
dXRWYWx1ZUZ1bmM+KDApIH0gfSwKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkgfHwgRU5BQkxFKENv
bmRpdGlvbjIpCi0gICAgeyAiVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSIsIHN0
YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5v
SW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVl
RnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2VDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQ
dXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlQ29uc3RydWN0b3IpIH0gfSwKKyAgICB7ICJUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFBy
b3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2Fz
dDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAogI2Vsc2UKICAgICB7IDAs
IDAsIE5vSW50cmluc2ljLCB7IDAsIDAgfSB9LAogI2VuZGlmCi0gICAgeyAiVGVzdFNldExpa2Ui
LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
LCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRW
YWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0U2V0TGlrZUNvbnN0cnVjdG9yKSwgKGlu
dHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNU
ZXN0R2xvYmFsT2JqZWN0X1Rlc3RTZXRMaWtlQ29uc3RydWN0b3IpIH0gfSwKLSAgICB7ICJUZXN0
U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucyIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJf
dClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2Jq
ZWN0X1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zQ29uc3RydWN0b3IpLCAoaW50
cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rl
c3RHbG9iYWxPYmplY3RfVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnNDb25zdHJ1
Y3RvcikgfSB9LAotICAgIHsgIlRlc3RTdHJpbmdpZmllciIsIHN0YXRpY19jYXN0PHVuc2lnbmVk
PihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRw
dHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFs
T2JqZWN0X1Rlc3RTdHJpbmdpZmllckNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2Fz
dDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rl
c3RTdHJpbmdpZmllckNvbnN0cnVjdG9yKSB9IH0sCi0gICAgeyAiVGVzdFN0cmluZ2lmaWVyQW5v
bnltb3VzT3BlcmF0aW9uIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFBy
b3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lm
aWVyQW5vbnltb3VzT3BlcmF0aW9uQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0
PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVz
dFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uQ29uc3RydWN0b3IpIH0gfSwKLSAgICB7ICJU
ZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbiIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClz
dGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0
X1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0
YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RHbG9iYWxP
YmplY3RfVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb25Db25zdHJ1Y3RvcikgfSB9LAotICAg
IHsgIlRlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXMiLCBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywg
eyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVz
dEdsb2JhbE9iamVjdF9UZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzQ29uc3Ry
dWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVG
dW5jPihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVt
ZW50ZWRBc0NvbnN0cnVjdG9yKSB9IH0sCi0gICAgeyAiVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9u
TmFtZWRUb1N0cmluZyIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9w
ZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmll
ck9wZXJhdGlvbk5hbWVkVG9TdHJpbmdDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nh
c3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2JhbE9iamVjdF9U
ZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nQ29uc3RydWN0b3IpIH0gfSwKLSAg
ICB7ICJUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZSIsIHN0YXRpY19jYXN0PHVuc2ln
bmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChp
bnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xv
YmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlQ29uc3RydWN0b3IpLCAo
aW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRK
U1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGVDb25zdHJ1
Y3RvcikgfSB9LAotICAgIHsgIlRlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZSIsIHN0
YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5v
SW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVl
RnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0
ZUNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1
dFZhbHVlRnVuYz4oc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmllclJlYWRXcml0
ZUF0dHJpYnV0ZUNvbnN0cnVjdG9yKSB9IH0sCi0gICAgeyAiVGVzdFR5cGVkZWZzIiwgc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRy
aW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5j
Pihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdFR5cGVkZWZzQ29uc3RydWN0b3IpLCAoaW50cHRyX3Qp
IHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RHbG9i
YWxPYmplY3RfVGVzdFR5cGVkZWZzQ29uc3RydWN0b3IpIH0gfSwKKyAgICB7ICJUZXN0U2V0TGlr
ZSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51
bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTZXRMaWtlQ29uc3RydWN0b3IpLCAo
aW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9
IH0sCisgICAgeyAiVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMiLCBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJp
bnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+
KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9uc0Nv
bnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZh
bHVlRnVuYz4oMCkgfSB9LAorICAgIHsgIlRlc3RTdHJpbmdpZmllciIsIHN0YXRpY19jYXN0PHVu
c2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7
IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0
R2xvYmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmllckNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0
aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAgIHsgIlRl
c3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbiIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJf
dClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2Jq
ZWN0X1Rlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbkNvbnN0cnVjdG9yKSwgKGludHB0
cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAor
ICAgIHsgIlRlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uIiwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGlu
dHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9i
YWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb25Db25zdHJ1Y3RvciksIChpbnRw
dHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwK
KyAgICB7ICJUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzIiwgc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5z
aWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihq
c1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBc0Nv
bnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZh
bHVlRnVuYz4oMCkgfSB9LAorICAgIHsgIlRlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9T
dHJpbmciLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90
OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0U3RyaW5naWZpZXJPcGVyYXRp
b25OYW1lZFRvU3RyaW5nQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFBy
b3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAgeyAiVGVzdFN0cmluZ2lmaWVy
UmVhZE9ubHlBdHRyaWJ1dGUiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8
UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0U3RyaW5n
aWZpZXJSZWFkT25seUF0dHJpYnV0ZUNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2Fz
dDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAgIHsgIlRlc3RTdHJp
bmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0
aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rl
c3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZUNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBz
dGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAgIHsg
IlRlc3RUeXBlZGVmcyIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9w
ZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RUeXBlZGVmc0Nv
bnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZh
bHVlRnVuYz4oMCkgfSB9LAogICAgIHsgInJlZ3VsYXJPcGVyYXRpb24iLCBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNpYywg
eyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzVGVzdEdsb2JhbE9i
amVjdEluc3RhbmNlRnVuY3Rpb25fcmVndWxhck9wZXJhdGlvbiksIChpbnRwdHJfdCkgKDEpIH0g
fSwKIH07CiAKQEAgLTkyOSw3ICs4NjUsNyBAQCBKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0R2xvYmFsT2JqZWN0X2VuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGUsIChKU0dsbwogc3Rh
dGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0Q0VSZWFjdGlvbnNDb25z
dHJ1Y3RvckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0
R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0KQogewogICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xv
YmFsT2JqZWN0KTsKLSAgICByZXR1cm4gSlNUZXN0Q0VSZWFjdGlvbnM6OmdldENvbnN0cnVjdG9y
KEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCB0aGlzT2JqZWN0Lmdsb2JhbE9iamVj
dCgpKTsKKyAgICByZXR1cm4gSlNUZXN0Q0VSZWFjdGlvbnM6OmdldENvbnN0cnVjdG9yKEpTQzo6
Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCAmdGhpc09iamVjdCk7CiB9CiAKIEpTQ19ERUZJ
TkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdENFUmVhY3Rpb25zQ29uc3Ry
dWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFs
dWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQpAQCAtOTM3LDIyICs4NzMsMTAgQEAgSlNDX0RF
RklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0Q0VSZWFjdGlvbnNDb25z
dHJ1Y3RvciwgKEpTR2xvYmEKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9i
amVjdD46OmdldDxqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdENFUmVhY3Rpb25zQ29uc3RydWN0b3JH
ZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJUZXN0Q0VSZWFjdGlvbnMi
KTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0Q0VS
ZWFjdGlvbnNDb25zdHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9i
amVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewot
ICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8g
U2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3Qu
cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0
PGNvbnN0IExDaGFyKj4oIlRlc3RDRVJlYWN0aW9ucyIpLCBzdHJsZW4oIlRlc3RDRVJlYWN0aW9u
cyIpKSwgdmFsdWUpOwotfQotCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xv
YmFsT2JqZWN0X1Rlc3RDRVJlYWN0aW9uc0NvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2Jh
bE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdENFUmVhY3Rpb25zQ29uc3Ry
dWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1
ZSwgIlRlc3RDRVJlYWN0aW9ucyIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0
R2xvYmFsT2JqZWN0X1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyQ29uc3RydWN0b3JHZXR0ZXIo
SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYg
dGhpc09iamVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0g
ICAgcmV0dXJuIEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXI6OmdldENvbnN0cnVjdG9yKEpT
Qzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCB0aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgp
KTsKKyAgICByZXR1cm4gSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllcjo6Z2V0Q29uc3RydWN0
b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksICZ0aGlzT2JqZWN0KTsKIH0KIAog
SlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0Q0VSZWFjdGlv
bnNTdHJpbmdpZmllckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKQEAgLTk2MCwy
MiArODg0LDEwIEBAIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3Rf
VGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJDb25zdHJ1Y3RvCiAgICAgcmV0dXJuIElETEF0dHJp
YnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpnZXQ8anNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RDRVJl
YWN0aW9uc1N0cmluZ2lmaWVyQ29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCB0aGlzVmFsdWUsICJUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllciIpOwogfQogCi1zdGF0aWMg
aW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lm
aWVyQ29uc3RydWN0b3JTZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3Qs
IEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBh
dXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIC8vIFNoYWRv
d2luZyBhIGJ1aWx0LWluIGNvbnN0cnVjdG9yLgotICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERp
cmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25z
dCBMQ2hhcio+KCJUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllciIpLCBzdHJsZW4oIlRlc3RDRVJl
YWN0aW9uc1N0cmluZ2lmaWVyIikpLCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VTVE9NX1NF
VFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJDb25z
dHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCi17Ci0gICAgcmV0
dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFs
T2JqZWN0X1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RDRVJlYWN0aW9u
c1N0cmluZ2lmaWVyIik7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RHbG9iYWxP
YmplY3RfVGVzdENTU1Byb3BlcnR5Q29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxl
eGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCkKIHsKICAg
ICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0dXJuIEpTVGVzdENT
U1Byb3BlcnR5OjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0
KSwgdGhpc09iamVjdC5nbG9iYWxPYmplY3QoKSk7CisgICAgcmV0dXJuIEpTVGVzdENTU1Byb3Bl
cnR5OjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgJnRo
aXNPYmplY3QpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2Jq
ZWN0X1Rlc3RDU1NQcm9wZXJ0eUNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKQEAg
LTk4MywyMiArODk1LDEwIEBAIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxP
YmplY3RfVGVzdENTU1Byb3BlcnR5Q29uc3RydWN0b3IsIChKU0dsb2JhCiAgICAgcmV0dXJuIElE
TEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpnZXQ8anNUZXN0R2xvYmFsT2JqZWN0X1Rl
c3RDU1NQcm9wZXJ0eUNvbnN0cnVjdG9yR2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhp
c1ZhbHVlLCAiVGVzdENTU1Byb3BlcnR5Iik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBzZXRK
U1Rlc3RHbG9iYWxPYmplY3RfVGVzdENTU1Byb3BlcnR5Q29uc3RydWN0b3JTZXR0ZXIoSlNHbG9i
YWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09i
amVjdCwgSlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGlj
YWxHbG9iYWxPYmplY3QpOwotICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0cnVjdG9y
LgotICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0
cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0Q1NTUHJvcGVydHki
KSwgc3RybGVuKCJUZXN0Q1NTUHJvcGVydHkiKSksIHZhbHVlKTsKLX0KLQotSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0Q1NTUHJvcGVydHlDb25zdHJ1
Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCi17Ci0gICAgcmV0dXJu
IElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2Jq
ZWN0X1Rlc3RDU1NQcm9wZXJ0eUNvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0Q1NTUHJvcGVydHkiKTsKLX0KLQogc3Rh
dGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0Q2FsbFRyYWNlckNvbnN0
cnVjdG9yR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RH
bG9iYWxPYmplY3QmIHRoaXNPYmplY3QpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGxleGljYWxHbG9i
YWxPYmplY3QpOwotICAgIHJldHVybiBKU1Rlc3RDYWxsVHJhY2VyOjpnZXRDb25zdHJ1Y3RvcihK
U0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgdGhpc09iamVjdC5nbG9iYWxPYmplY3Qo
KSk7CisgICAgcmV0dXJuIEpTVGVzdENhbGxUcmFjZXI6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0
Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCAmdGhpc09iamVjdCk7CiB9CiAKIEpTQ19ERUZJTkVf
Q1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdENhbGxUcmFjZXJDb25zdHJ1Y3Rv
ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCkBAIC0xMDA2LDIzICs5MDYsMTEgQEAgSlNDX0RFRklO
RV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0Q2FsbFRyYWNlckNvbnN0cnVj
dG9yLCAoSlNHbG9iYWwKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVj
dD46OmdldDxqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdENhbGxUcmFjZXJDb25zdHJ1Y3RvckdldHRl
cj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgIlRlc3RDYWxsVHJhY2VyIik7CiB9
CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdENhbGxUcmFj
ZXJDb25zdHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwg
SlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIGF1
dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8gU2hhZG93
aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGly
ZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0
IExDaGFyKj4oIlRlc3RDYWxsVHJhY2VyIiksIHN0cmxlbigiVGVzdENhbGxUcmFjZXIiKSksIHZh
bHVlKTsKLX0KLQotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVj
dF9UZXN0Q2FsbFRyYWNlckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlKSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46
OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdENhbGxUcmFjZXJDb25zdHJ1Y3RvclNldHRl
cj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdENh
bGxUcmFjZXIiKTsKLX0KLQogI2lmIEVOQUJMRShURVNUX0NPTkRJVElPTkFMKQogc3RhdGljIGlu
bGluZSBKU1ZhbHVlIGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0Q2FsbGJhY2tJbnRlcmZhY2VDb25z
dHJ1Y3RvckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0
R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0KQogewogICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xv
YmFsT2JqZWN0KTsKLSAgICByZXR1cm4gSlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2U6OmdldENvbnN0
cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCB0aGlzT2JqZWN0Lmdsb2Jh
bE9iamVjdCgpKTsKKyAgICByZXR1cm4gSlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2U6OmdldENvbnN0
cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCAmdGhpc09iamVjdCk7CiB9
CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdENhbGxi
YWNrSW50ZXJmYWNlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQpAQCAtMTAzMiwy
NSArOTIwLDEwIEBAIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3Rf
VGVzdENhbGxiYWNrSW50ZXJmYWNlQ29uc3RydWN0b3IsIChKCiAKICNlbmRpZgogCi0jaWYgRU5B
QkxFKFRFU1RfQ09ORElUSU9OQUwpCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFs
T2JqZWN0X1Rlc3RDYWxsYmFja0ludGVyZmFjZUNvbnN0cnVjdG9yU2V0dGVyKEpTR2xvYmFsT2Jq
ZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRoaXNPYmplY3Qs
IEpTVmFsdWUgdmFsdWUpCi17Ci0gICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xv
YmFsT2JqZWN0KTsKLSAgICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3Rvci4KLSAg
ICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmco
dm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdENhbGxiYWNrSW50ZXJmYWNl
IiksIHN0cmxlbigiVGVzdENhbGxiYWNrSW50ZXJmYWNlIikpLCB2YWx1ZSk7Ci19Ci0KLUpTQ19E
RUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdENhbGxiYWNrSW50
ZXJmYWNlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQot
ewotICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpT
VGVzdEdsb2JhbE9iamVjdF9UZXN0Q2FsbGJhY2tJbnRlcmZhY2VDb25zdHJ1Y3RvclNldHRlcj4o
KmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdENhbGxi
YWNrSW50ZXJmYWNlIik7Ci19Ci0KLSNlbmRpZgotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNU
ZXN0R2xvYmFsT2JqZWN0X1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3RvckNvbnN0cnVj
dG9yR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9i
YWxPYmplY3QmIHRoaXNPYmplY3QpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGxleGljYWxHbG9iYWxP
YmplY3QpOwotICAgIHJldHVybiBKU1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvcjo6
Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRoaXNPYmpl
Y3QuZ2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVybiBKU1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5D
b25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVj
dCksICZ0aGlzT2JqZWN0KTsKIH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEds
b2JhbE9iamVjdF9UZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3JDb25zdHJ1Y3Rvciwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIFByb3BlcnR5TmFtZSkpCkBAIC0xMDU4LDIyICs5MzEsMTAgQEAgSlNDX0RFRklORV9D
VVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29u
c3RydWN0b3JDb24KICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46
OmdldDxqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9y
Q29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJUZXN0
Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IiKTsKIH0KIAotc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3JD
b25zdHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNU
ZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIGF1dG8m
IHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8gU2hhZG93aW5n
IGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0
KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExD
aGFyKj4oIlRlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3RvciIpLCBzdHJsZW4oIlRlc3RD
bGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3RvciIpKSwgdmFsdWUpOwotfQotCi1KU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RDbGFzc1dpdGhKU0J1aWx0
aW5Db25zdHJ1Y3RvckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNl
dDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9y
Q29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29k
ZWRWYWx1ZSwgIlRlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3RvciIpOwotfQotCiBzdGF0
aWMgaW5saW5lIEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RET01KSVRDb25zdHJ1Y3Rv
ckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFs
T2JqZWN0JiB0aGlzT2JqZWN0KQogewogICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xvYmFsT2Jq
ZWN0KTsKLSAgICByZXR1cm4gSlNUZXN0RE9NSklUOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZN
KCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgdGhpc09iamVjdC5nbG9iYWxPYmplY3QoKSk7CisgICAg
cmV0dXJuIEpTVGVzdERPTUpJVDo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEds
b2JhbE9iamVjdCksICZ0aGlzT2JqZWN0KTsKIH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VUVEVS
KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0RE9NSklUQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0
eU5hbWUpKQpAQCAtMTA4MSwyMiArOTQyLDEwIEBAIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihq
c1Rlc3RHbG9iYWxPYmplY3RfVGVzdERPTUpJVENvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplCiAg
ICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpnZXQ8anNUZXN0R2xv
YmFsT2JqZWN0X1Rlc3RET01KSVRDb25zdHJ1Y3RvckdldHRlcj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsIHRoaXNWYWx1ZSwgIlRlc3RET01KSVQiKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHNl
dEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0RE9NSklUQ29uc3RydWN0b3JTZXR0ZXIoSlNHbG9iYWxP
YmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVj
dCwgSlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGljYWxH
bG9iYWxPYmplY3QpOwotICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0cnVjdG9yLgot
ICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmlu
Zyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0RE9NSklUIiksIHN0cmxl
bigiVGVzdERPTUpJVCIpKSwgdmFsdWUpOwotfQotCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RET01KSVRDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCi17Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rl
c3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RET01KSVRDb25z
dHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCAiVGVzdERPTUpJVCIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0R2xv
YmFsT2JqZWN0X1Rlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0YW5jZUNvbnN0cnVjdG9y
R2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9iYWxP
YmplY3QmIHRoaXNPYmplY3QpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGxleGljYWxHbG9iYWxPYmpl
Y3QpOwotICAgIHJldHVybiBKU1Rlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0YW5jZTo6
Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRoaXNPYmpl
Y3QuZ2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVybiBKU1Rlc3REZWZhdWx0VG9KU09OSW5kaXJl
Y3RJbmhlcml0YW5jZTo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9i
amVjdCksICZ0aGlzT2JqZWN0KTsKIH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVz
dEdsb2JhbE9iamVjdF9UZXN0RGVmYXVsdFRvSlNPTkluZGlyZWN0SW5oZXJpdGFuY2VDb25zdHJ1
Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCkBAIC0xMTA0LDIyICs5NTMsMTAgQEAgSlNDX0RF
RklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0RGVmYXVsdFRvSlNPTklu
ZGlyZWN0SW5oZXJpdGFuY2UKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9i
amVjdD46OmdldDxqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdERlZmF1bHRUb0pTT05JbmRpcmVjdElu
aGVyaXRhbmNlQ29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFs
dWUsICJUZXN0RGVmYXVsdFRvSlNPTkluZGlyZWN0SW5oZXJpdGFuY2UiKTsKIH0KIAotc3RhdGlj
IGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0RGVmYXVsdFRvSlNPTkluZGly
ZWN0SW5oZXJpdGFuY2VDb25zdHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEds
b2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVl
KQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0g
ICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNP
YmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJl
dF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0YW5j
ZSIpLCBzdHJsZW4oIlRlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0YW5jZSIpKSwgdmFs
dWUpOwotfQotCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0
X1Rlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0YW5jZUNvbnN0cnVjdG9yLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRl
PEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdERlZmF1
bHRUb0pTT05JbmRpcmVjdEluaGVyaXRhbmNlQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3REZWZhdWx0VG9KU09OSW5k
aXJlY3RJbmhlcml0YW5jZSIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0R2xv
YmFsT2JqZWN0X1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdENvbnN0cnVjdG9yR2V0dGVyKEpTR2xv
YmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRoaXNP
YmplY3QpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIHJl
dHVybiBKU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdDo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRW
TSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRoaXNPYmplY3QuZ2xvYmFsT2JqZWN0KCkpOworICAg
IHJldHVybiBKU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdDo6Z2V0Q29uc3RydWN0b3IoSlNDOjpn
ZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksICZ0aGlzT2JqZWN0KTsKIH0KIAogSlNDX0RFRklO
RV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0RGVmYXVsdFRvSlNPTkluaGVy
aXRDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCkBAIC0xMTI3LDIyICs5NjQsMTAg
QEAgSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0RGVmYXVs
dFRvSlNPTkluaGVyaXRDb25zdHJ1Y3RvciwKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVz
dEdsb2JhbE9iamVjdD46OmdldDxqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdERlZmF1bHRUb0pTT05J
bmhlcml0Q29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUs
ICJUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXQiKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHNl
dEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRDb25zdHJ1Y3RvclNl
dHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2Jq
ZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIGF1dG8mIHZtID0gSlNDOjpn
ZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4g
Y29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlm
aWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RE
ZWZhdWx0VG9KU09OSW5oZXJpdCIpLCBzdHJsZW4oIlRlc3REZWZhdWx0VG9KU09OSW5oZXJpdCIp
KSwgdmFsdWUpOwotfQotCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFs
T2JqZWN0X1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdENvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVz
dEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdERlZmF1bHRUb0pT
T05Jbmhlcml0Q29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFs
dWUsIGVuY29kZWRWYWx1ZSwgIlRlc3REZWZhdWx0VG9KU09OSW5oZXJpdCIpOwotfQotCiBzdGF0
aWMgaW5saW5lIEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0X1Rlc3REZWZhdWx0VG9KU09OSW5o
ZXJpdEZpbmFsQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxP
YmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCkKIHsKICAgICBVTlVTRURfUEFS
QU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0dXJuIEpTVGVzdERlZmF1bHRUb0pTT05J
bmhlcml0RmluYWw6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmpl
Y3QpLCB0aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgpKTsKKyAgICByZXR1cm4gSlNUZXN0RGVmYXVs
dFRvSlNPTkluaGVyaXRGaW5hbDo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEds
b2JhbE9iamVjdCksICZ0aGlzT2JqZWN0KTsKIH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VUVEVS
KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbENvbnN0cnVj
dG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKQEAgLTExNTAsMjIgKzk3NSwxMCBAQCBKU0NfREVG
SU5FX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3REZWZhdWx0VG9KU09OSW5o
ZXJpdEZpbmFsQ29uc3RydQogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2Jq
ZWN0Pjo6Z2V0PGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5h
bENvbnN0cnVjdG9yR2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCAiVGVz
dERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWwiKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHNl
dEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbENvbnN0cnVj
dG9yU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9i
YWxPYmplY3QmIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCi17Ci0gICAgYXV0byYgdm0gPSBK
U0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICAvLyBTaGFkb3dpbmcgYSBidWls
dC1pbiBjb25zdHJ1Y3Rvci4KLSAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElk
ZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigi
VGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWwiKSwgc3RybGVuKCJUZXN0RGVmYXVsdFRvSlNP
TkluaGVyaXRGaW5hbCIpKSwgdmFsdWUpOwotfQotCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZpbmFsQ29uc3Ry
dWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFs
dWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQotewotICAgIHJldHVy
biBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9i
amVjdF9UZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbENvbnN0cnVjdG9yU2V0dGVyPigqbGV4
aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0RGVmYXVsdFRv
SlNPTkluaGVyaXRGaW5hbCIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0R2xv
YmFsT2JqZWN0X1Rlc3REb21haW5TZWN1cml0eUNvbnN0cnVjdG9yR2V0dGVyKEpTR2xvYmFsT2Jq
ZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRoaXNPYmplY3Qp
CiB7CiAgICAgVU5VU0VEX1BBUkFNKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIHJldHVybiBK
U1Rlc3REb21haW5TZWN1cml0eTo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEds
b2JhbE9iamVjdCksIHRoaXNPYmplY3QuZ2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVybiBKU1Rl
c3REb21haW5TZWN1cml0eTo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2Jh
bE9iamVjdCksICZ0aGlzT2JqZWN0KTsKIH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpz
VGVzdEdsb2JhbE9iamVjdF9UZXN0RG9tYWluU2VjdXJpdHlDb25zdHJ1Y3RvciwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFBy
b3BlcnR5TmFtZSkpCkBAIC0xMTczLDIyICs5ODYsMTAgQEAgSlNDX0RFRklORV9DVVNUT01fR0VU
VEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0RG9tYWluU2VjdXJpdHlDb25zdHJ1Y3RvciwgKEpT
R2wKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OmdldDxqc1Rl
c3RHbG9iYWxPYmplY3RfVGVzdERvbWFpblNlY3VyaXR5Q29uc3RydWN0b3JHZXR0ZXI+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJUZXN0RG9tYWluU2VjdXJpdHkiKTsKIH0KIAot
c3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0RG9tYWluU2VjdXJp
dHlDb25zdHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwg
SlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIGF1
dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8gU2hhZG93
aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGly
ZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0
IExDaGFyKj4oIlRlc3REb21haW5TZWN1cml0eSIpLCBzdHJsZW4oIlRlc3REb21haW5TZWN1cml0
eSIpKSwgdmFsdWUpOwotfQotCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xv
YmFsT2JqZWN0X1Rlc3REb21haW5TZWN1cml0eUNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEds
b2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdERvbWFpblNlY3VyaXR5
Q29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29k
ZWRWYWx1ZSwgIlRlc3REb21haW5TZWN1cml0eSIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFs
dWUganNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RFdmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3JHZXR0
ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVj
dCYgdGhpc09iamVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7
Ci0gICAgcmV0dXJuIEpTVGVzdEV2ZW50Q29uc3RydWN0b3I6OmdldENvbnN0cnVjdG9yKEpTQzo6
Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCB0aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgpKTsK
KyAgICByZXR1cm4gSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0b3IoSlNDOjpn
ZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksICZ0aGlzT2JqZWN0KTsKIH0KIAogSlNDX0RFRklO
RV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0RXZlbnRDb25zdHJ1Y3RvckNv
bnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKQEAgLTExOTYsMjIgKzk5NywxMCBAQCBK
U0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RFdmVudENvbnN0
cnVjdG9yQ29uc3RydWN0b3IsIChKUwogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xv
YmFsT2JqZWN0Pjo6Z2V0PGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0RXZlbnRDb25zdHJ1Y3RvckNv
bnN0cnVjdG9yR2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCAiVGVzdEV2
ZW50Q29uc3RydWN0b3IiKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2Jh
bE9iamVjdF9UZXN0RXZlbnRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yU2V0dGVyKEpTR2xvYmFsT2Jq
ZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRoaXNPYmplY3Qs
IEpTVmFsdWUgdmFsdWUpCi17Ci0gICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xv
YmFsT2JqZWN0KTsKLSAgICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3Rvci4KLSAg
ICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmco
dm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdEV2ZW50Q29uc3RydWN0b3Ii
KSwgc3RybGVuKCJUZXN0RXZlbnRDb25zdHJ1Y3RvciIpKSwgdmFsdWUpOwotfQotCi1KU0NfREVG
SU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RFdmVudENvbnN0cnVj
dG9yQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQotewot
ICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVz
dEdsb2JhbE9iamVjdF9UZXN0RXZlbnRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yU2V0dGVyPigqbGV4
aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0RXZlbnRDb25z
dHJ1Y3RvciIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0
X1Rlc3RFdmVudFRhcmdldENvbnN0cnVjdG9yR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRoaXNPYmplY3QpCiB7CiAgICAgVU5V
U0VEX1BBUkFNKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIHJldHVybiBKU1Rlc3RFdmVudFRh
cmdldDo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRo
aXNPYmplY3QuZ2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVybiBKU1Rlc3RFdmVudFRhcmdldDo6
Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksICZ0aGlzT2Jq
ZWN0KTsKIH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9U
ZXN0RXZlbnRUYXJnZXRDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCkBAIC0xMjE5
LDIyICsxMDA4LDEwIEBAIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmpl
Y3RfVGVzdEV2ZW50VGFyZ2V0Q29uc3RydWN0b3IsIChKU0dsb2JhCiAgICAgcmV0dXJuIElETEF0
dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpnZXQ8anNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RF
dmVudFRhcmdldENvbnN0cnVjdG9yR2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1Zh
bHVlLCAiVGVzdEV2ZW50VGFyZ2V0Iik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rl
c3RHbG9iYWxPYmplY3RfVGVzdEV2ZW50VGFyZ2V0Q29uc3RydWN0b3JTZXR0ZXIoSlNHbG9iYWxP
YmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVj
dCwgSlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGljYWxH
bG9iYWxPYmplY3QpOwotICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0cnVjdG9yLgot
ICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmlu
Zyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0RXZlbnRUYXJnZXQiKSwg
c3RybGVuKCJUZXN0RXZlbnRUYXJnZXQiKSksIHZhbHVlKTsKLX0KLQotSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0RXZlbnRUYXJnZXRDb25zdHJ1Y3Rv
ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCi17Ci0gICAgcmV0dXJuIElE
TEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0
X1Rlc3RFdmVudFRhcmdldENvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
dGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0RXZlbnRUYXJnZXQiKTsKLX0KLQogc3RhdGlj
IGlubGluZSBKU1ZhbHVlIGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0RXhjZXB0aW9uQ29uc3RydWN0
b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2Jh
bE9iamVjdCYgdGhpc09iamVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9i
amVjdCk7Ci0gICAgcmV0dXJuIEpTVGVzdEV4Y2VwdGlvbjo6Z2V0Q29uc3RydWN0b3IoSlNDOjpn
ZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRoaXNPYmplY3QuZ2xvYmFsT2JqZWN0KCkpOwor
ICAgIHJldHVybiBKU1Rlc3RFeGNlcHRpb246OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxl
eGljYWxHbG9iYWxPYmplY3QpLCAmdGhpc09iamVjdCk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9N
X0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdEV4Y2VwdGlvbkNvbnN0cnVjdG9yLCAoSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgUHJvcGVydHlOYW1lKSkKQEAgLTEyNDIsMjIgKzEwMTksMTAgQEAgSlNDX0RFRklORV9DVVNU
T01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0RXhjZXB0aW9uQ29uc3RydWN0b3IsIChK
U0dsb2JhbE8KICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46Omdl
dDxqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdEV4Y2VwdGlvbkNvbnN0cnVjdG9yR2V0dGVyPigqbGV4
aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCAiVGVzdEV4Y2VwdGlvbiIpOwogfQogCi1zdGF0
aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RFeGNlcHRpb25Db25zdHJ1
Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xv
YmFsT2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIGF1dG8mIHZtID0g
SlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVp
bHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJ
ZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4o
IlRlc3RFeGNlcHRpb24iKSwgc3RybGVuKCJUZXN0RXhjZXB0aW9uIikpLCB2YWx1ZSk7Ci19Ci0K
LUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdEV4Y2Vw
dGlvbkNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsK
LSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rl
c3RHbG9iYWxPYmplY3RfVGVzdEV4Y2VwdGlvbkNvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEds
b2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0RXhjZXB0aW9uIik7Ci19
Ci0KIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdEdlbmVyYXRl
SXNSZWFjaGFibGVDb25zdHJ1Y3RvckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2Jh
bE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0KQogewogICAgIFVOVVNFRF9Q
QVJBTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICByZXR1cm4gSlNUZXN0R2VuZXJhdGVJc1Jl
YWNoYWJsZTo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCks
IHRoaXNPYmplY3QuZ2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVybiBKU1Rlc3RHZW5lcmF0ZUlz
UmVhY2hhYmxlOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0
KSwgJnRoaXNPYmplY3QpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0R2xv
YmFsT2JqZWN0X1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9w
ZXJ0eU5hbWUpKQpAQCAtMTI2NSwyMiArMTAzMCwxMCBAQCBKU0NfREVGSU5FX0NVU1RPTV9HRVRU
RVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlQ29uc3RydWN0b3Is
CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpnZXQ8anNUZXN0
R2xvYmFsT2JqZWN0X1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlQ29uc3RydWN0b3JHZXR0ZXI+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZSIp
OwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RHZW5l
cmF0ZUlzUmVhY2hhYmxlQ29uc3RydWN0b3JTZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxH
bG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1
ZSkKLXsKLSAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpOwot
ICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0cnVjdG9yLgotICAgIHJldHVybiB0aGlz
T2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnBy
ZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZSIpLCBzdHJsZW4o
IlRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlIikpLCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdEdlbmVyYXRlSXNSZWFjaGFibGVD
b25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCi17Ci0gICAg
cmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xv
YmFsT2JqZWN0X1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RHZW5lcmF0ZUlz
UmVhY2hhYmxlIik7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RHbG9iYWxPYmpl
Y3RfVGVzdEdsb2JhbE9iamVjdENvbnN0cnVjdG9yR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRoaXNPYmplY3QpCiB7CiAgICAg
VU5VU0VEX1BBUkFNKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIHJldHVybiBKU1Rlc3RHbG9i
YWxPYmplY3Q6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3Qp
LCB0aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgpKTsKKyAgICByZXR1cm4gSlNUZXN0R2xvYmFsT2Jq
ZWN0OjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgJnRo
aXNPYmplY3QpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2Jq
ZWN0X1Rlc3RHbG9iYWxPYmplY3RDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCkBA
IC0xMjg4LDIyICsxMDQxLDEwIEBAIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9i
YWxPYmplY3RfVGVzdEdsb2JhbE9iamVjdENvbnN0cnVjdG9yLCAoSlNHbG9iCiAgICAgcmV0dXJu
IElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpnZXQ8anNUZXN0R2xvYmFsT2JqZWN0
X1Rlc3RHbG9iYWxPYmplY3RDb25zdHJ1Y3RvckdldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
IHRoaXNWYWx1ZSwgIlRlc3RHbG9iYWxPYmplY3QiKTsKIH0KIAotc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0R2xvYmFsT2JqZWN0Q29uc3RydWN0b3JTZXR0ZXIo
SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYg
dGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0o
JmxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0
cnVjdG9yLgotICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6
ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0R2xvYmFs
T2JqZWN0IiksIHN0cmxlbigiVGVzdEdsb2JhbE9iamVjdCIpKSwgdmFsdWUpOwotfQotCi1KU0Nf
REVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RHbG9iYWxPYmpl
Y3RDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCi17Ci0g
ICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0
R2xvYmFsT2JqZWN0X1Rlc3RHbG9iYWxPYmplY3RDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxH
bG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdEdsb2JhbE9iamVjdCIp
OwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RJbmRl
eGVkU2V0dGVyTm9JZGVudGlmaWVyQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxl
eGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCkKIHsKICAg
ICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0dXJuIEpTVGVzdElu
ZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXI6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGlj
YWxHbG9iYWxPYmplY3QpLCB0aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgpKTsKKyAgICByZXR1cm4g
SlNUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllcjo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRW
TSgmbGV4aWNhbEdsb2JhbE9iamVjdCksICZ0aGlzT2JqZWN0KTsKIH0KIAogSlNDX0RFRklORV9D
VVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0SW5kZXhlZFNldHRlck5vSWRlbnRp
ZmllckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKQEAgLTEzMTEsMjIgKzEwNTIs
MTAgQEAgSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0SW5k
ZXhlZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnUKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpT
VGVzdEdsb2JhbE9iamVjdD46OmdldDxqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdEluZGV4ZWRTZXR0
ZXJOb0lkZW50aWZpZXJDb25zdHJ1Y3RvckdldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRo
aXNWYWx1ZSwgIlRlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyIik7CiB9CiAKLXN0YXRpYyBp
bmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50
aWZpZXJDb25zdHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVj
dCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAg
IGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8gU2hh
ZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0
RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNv
bnN0IExDaGFyKj4oIlRlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyIiksIHN0cmxlbigiVGVz
dEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIiKSksIHZhbHVlKTsKLX0KLQotSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0SW5kZXhlZFNldHRlck5vSWRl
bnRpZmllckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkK
LXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRK
U1Rlc3RHbG9iYWxPYmplY3RfVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXJDb25zdHJ1Y3Rv
clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAi
VGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIiKTsKLX0KLQogc3RhdGljIGlubGluZSBKU1Zh
bHVlIGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9u
Q29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpT
VGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNh
bEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0dXJuIEpTVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4
Y2VwdGlvbjo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCks
IHRoaXNPYmplY3QuZ2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVybiBKU1Rlc3RJbmRleGVkU2V0
dGVyVGhyb3dpbmdFeGNlcHRpb246OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxH
bG9iYWxPYmplY3QpLCAmdGhpc09iamVjdCk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRF
Uihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkNv
bnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKQEAgLTEzMzQsMjIgKzEwNjMsMTAgQEAg
SlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0SW5kZXhlZFNl
dHRlclRocm93aW5nRXhjZXB0aW9uQ28KICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEds
b2JhbE9iamVjdD46OmdldDxqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdEluZGV4ZWRTZXR0ZXJUaHJv
d2luZ0V4Y2VwdGlvbkNvbnN0cnVjdG9yR2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhp
c1ZhbHVlLCAiVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiIpOwogfQogCi1zdGF0
aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RJbmRleGVkU2V0dGVyVGhy
b3dpbmdFeGNlcHRpb25Db25zdHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEds
b2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVl
KQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0g
ICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNP
YmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJl
dF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24i
KSwgc3RybGVuKCJUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uIikpLCB2YWx1ZSk7
Ci19Ci0KLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVz
dEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVz
dEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdEluZGV4ZWRTZXR0
ZXJUaHJvd2luZ0V4Y2VwdGlvbkNvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhj
ZXB0aW9uIik7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RHbG9iYWxPYmplY3Rf
VGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckNvbnN0cnVjdG9yR2V0dGVyKEpTR2xvYmFs
T2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRoaXNPYmpl
Y3QpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIHJldHVy
biBKU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXI6OmdldENvbnN0cnVjdG9yKEpTQzo6
Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCB0aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgpKTsK
KyAgICByZXR1cm4gSlNUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyOjpnZXRDb25zdHJ1
Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgJnRoaXNPYmplY3QpOwogfQog
CiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RJbmRleGVk
U2V0dGVyV2l0aElkZW50aWZpZXJDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCkBA
IC0xMzU3LDIyICsxMDc0LDEwIEBAIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9i
YWxPYmplY3RfVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckNvbnN0CiAgICAgcmV0dXJu
IElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpnZXQ8anNUZXN0R2xvYmFsT2JqZWN0
X1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXJDb25zdHJ1Y3RvckdldHRlcj4oKmxleGlj
YWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgIlRlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZp
ZXIiKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0
SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyQ29uc3RydWN0b3JTZXR0ZXIoSlNHbG9iYWxPYmpl
Y3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCwg
SlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9i
YWxPYmplY3QpOwotICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0cnVjdG9yLgotICAg
IHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2
bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0SW5kZXhlZFNldHRlcldpdGhJ
ZGVudGlmaWVyIiksIHN0cmxlbigiVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllciIpKSwg
dmFsdWUpOwotfQotCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2Jq
ZWN0X1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXJDb25zdHJ1Y3RvciwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCi17Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxK
U1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RJbmRleGVk
U2V0dGVyV2l0aElkZW50aWZpZXJDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRp
ZmllciIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0X1Rl
c3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZUNvbnN0cnVjdG9yR2V0dGVyKEpTR2xvYmFsT2Jq
ZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRoaXNPYmplY3Qp
CiB7CiAgICAgVU5VU0VEX1BBUkFNKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIHJldHVybiBK
U1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZTo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRW
TSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRoaXNPYmplY3QuZ2xvYmFsT2JqZWN0KCkpOworICAg
IHJldHVybiBKU1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZTo6Z2V0Q29uc3RydWN0b3Io
SlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksICZ0aGlzT2JqZWN0KTsKIH0KIAogSlND
X0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0SW50ZXJmYWNlTGVh
ZGluZ1VuZGVyc2NvcmVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCkBAIC0xMzgw
LDIyICsxMDg1LDEwIEBAIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmpl
Y3RfVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlQ29uc3RyCiAgICAgcmV0dXJuIElETEF0
dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpnZXQ8anNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RJ
bnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZUNvbnN0cnVjdG9yR2V0dGVyPigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgdGhpc1ZhbHVlLCAiVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlIik7CiB9
CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdEludGVyZmFj
ZUxlYWRpbmdVbmRlcnNjb3JlQ29uc3RydWN0b3JTZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGlj
YWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCwgSlNWYWx1ZSB2
YWx1ZSkKLXsKLSAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3Qp
OwotICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0cnVjdG9yLgotICAgIHJldHVybiB0
aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRl
cnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUi
KSwgc3RybGVuKCJUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUiKSksIHZhbHVlKTsKLX0K
LQotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0SW50
ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRWYWx1ZSkpCi17Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxP
YmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5k
ZXJzY29yZUNvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVl
LCBlbmNvZGVkVmFsdWUsICJUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUiKTsKLX0KLQog
c3RhdGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0SXRlcmFibGVDb25z
dHJ1Y3RvckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0
R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0KQogewogICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xv
YmFsT2JqZWN0KTsKLSAgICByZXR1cm4gSlNUZXN0SXRlcmFibGU6OmdldENvbnN0cnVjdG9yKEpT
Qzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCB0aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgp
KTsKKyAgICByZXR1cm4gSlNUZXN0SXRlcmFibGU6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0o
JmxleGljYWxHbG9iYWxPYmplY3QpLCAmdGhpc09iamVjdCk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VT
VE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdEl0ZXJhYmxlQ29uc3RydWN0b3IsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBQcm9wZXJ0eU5hbWUpKQpAQCAtMTQwMywyMiArMTA5NiwxMCBAQCBKU0NfREVGSU5FX0NV
U1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RJdGVyYWJsZUNvbnN0cnVjdG9yLCAo
SlNHbG9iYWxPYgogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6
Z2V0PGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0SXRlcmFibGVDb25zdHJ1Y3RvckdldHRlcj4oKmxl
eGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgIlRlc3RJdGVyYWJsZSIpOwogfQogCi1zdGF0
aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RJdGVyYWJsZUNvbnN0cnVj
dG9yU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9i
YWxPYmplY3QmIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCi17Ci0gICAgYXV0byYgdm0gPSBK
U0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICAvLyBTaGFkb3dpbmcgYSBidWls
dC1pbiBjb25zdHJ1Y3Rvci4KLSAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElk
ZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigi
VGVzdEl0ZXJhYmxlIiksIHN0cmxlbigiVGVzdEl0ZXJhYmxlIikpLCB2YWx1ZSk7Ci19Ci0KLUpT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdEl0ZXJhYmxl
Q29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQotewotICAg
IHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEds
b2JhbE9iamVjdF9UZXN0SXRlcmFibGVDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxP
YmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdEl0ZXJhYmxlIik7Ci19Ci0KIHN0
YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdEpTQnVpbHRpbkNvbnN0
cnVjdG9yQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0o
bGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0dXJuIEpTVGVzdEpTQnVpbHRpbkNvbnN0cnVj
dG9yOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgdGhp
c09iamVjdC5nbG9iYWxPYmplY3QoKSk7CisgICAgcmV0dXJuIEpTVGVzdEpTQnVpbHRpbkNvbnN0
cnVjdG9yOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwg
JnRoaXNPYmplY3QpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFs
T2JqZWN0X1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3RvckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVy
dHlOYW1lKSkKQEAgLTE0MjYsMjIgKzExMDcsMTAgQEAgSlNDX0RFRklORV9DVVNUT01fR0VUVEVS
KGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0SlNCdWlsdGluQ29uc3RydWN0b3JDb25zdHJ1Y3RvciwK
ICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OmdldDxqc1Rlc3RH
bG9iYWxPYmplY3RfVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yQ29uc3RydWN0b3JHZXR0ZXI+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJUZXN0SlNCdWlsdGluQ29uc3RydWN0b3Ii
KTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0SlNC
dWlsdGluQ29uc3RydWN0b3JDb25zdHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNh
bEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZh
bHVlKQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7
Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRo
aXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVy
cHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RKU0J1aWx0aW5Db25zdHJ1Y3RvciIpLCBzdHJs
ZW4oIlRlc3RKU0J1aWx0aW5Db25zdHJ1Y3RvciIpKSwgdmFsdWUpOwotfQotCi1KU0NfREVGSU5F
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RKU0J1aWx0aW5Db25zdHJ1
Y3RvckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsK
LSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rl
c3RHbG9iYWxPYmplY3RfVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yQ29uc3RydWN0b3JTZXR0ZXI+
KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RKU0J1
aWx0aW5Db25zdHJ1Y3RvciIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0R2xv
YmFsT2JqZWN0X1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb25Db25zdHJ1Y3RvckdldHRlcihKU0ds
b2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlz
T2JqZWN0KQogewogICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICBy
ZXR1cm4gSlNUZXN0OjpnZXRMZWdhY3lGYWN0b3J5RnVuY3Rpb24oSlNDOjpnZXRWTSgmbGV4aWNh
bEdsb2JhbE9iamVjdCksIHRoaXNPYmplY3QuZ2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVybiBK
U1Rlc3Q6OmdldExlZ2FjeUZhY3RvcnlGdW5jdGlvbihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFs
T2JqZWN0KSwgJnRoaXNPYmplY3QpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNU
ZXN0R2xvYmFsT2JqZWN0X1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb25Db25zdHJ1Y3RvciwgKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIFByb3BlcnR5TmFtZSkpCkBAIC0xNDQ5LDIyICsxMTE4LDEwIEBAIEpTQ19ERUZJTkVfQ1VT
VE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbkNv
bnN0cnVjdG9yCiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+Ojpn
ZXQ8anNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb25Db25zdHJ1Y3Rv
ckdldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgIlRlc3RMZWdhY3lGYWN0
b3J5RnVuY3Rpb24iKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9i
amVjdF9UZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uQ29uc3RydWN0b3JTZXR0ZXIoSlNHbG9iYWxP
YmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVj
dCwgSlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGljYWxH
bG9iYWxPYmplY3QpOwotICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0cnVjdG9yLgot
ICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmlu
Zyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0TGVnYWN5RmFjdG9yeUZ1
bmN0aW9uIiksIHN0cmxlbigiVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbiIpKSwgdmFsdWUpOwot
fQotCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RM
ZWdhY3lGYWN0b3J5RnVuY3Rpb25Db25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSkpCi17Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmpl
Y3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb25D
b25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2Rl
ZFZhbHVlLCAiVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbiIpOwotfQotCiBzdGF0aWMgaW5saW5l
IEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0X0F1ZGlvQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9i
YWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09i
amVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0
dXJuIEpTVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbjo6Z2V0TGVnYWN5RmFjdG9yeUZ1bmN0aW9u
KEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCB0aGlzT2JqZWN0Lmdsb2JhbE9iamVj
dCgpKTsKKyAgICByZXR1cm4gSlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uOjpnZXRMZWdhY3lG
YWN0b3J5RnVuY3Rpb24oSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksICZ0aGlzT2Jq
ZWN0KTsKIH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9B
dWRpb0NvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKQEAgLTE0NzIsMjIgKzExMjks
MTAgQEAgSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9BdWRpb0Nv
bnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGwKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpT
VGVzdEdsb2JhbE9iamVjdD46OmdldDxqc1Rlc3RHbG9iYWxPYmplY3RfQXVkaW9Db25zdHJ1Y3Rv
ckdldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgIkF1ZGlvIik7CiB9CiAK
LXN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RfQXVkaW9Db25zdHJ1Y3Rv
clNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFs
T2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIGF1dG8mIHZtID0gSlND
OjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQt
aW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVu
dGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIkF1
ZGlvIiksIHN0cmxlbigiQXVkaW8iKSksIHZhbHVlKTsKLX0KLQotSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9BdWRpb0NvbnN0cnVjdG9yLCAoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpT
VGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfQXVkaW9Db25zdHJ1
Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVl
LCAiQXVkaW8iKTsKLX0KLQogc3RhdGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdEdsb2JhbE9iamVj
dF9UZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdEluc0NvbnN0cnVjdG9yR2V0dGVyKEpTR2xvYmFsT2Jq
ZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRoaXNPYmplY3Qp
CiB7CiAgICAgVU5VU0VEX1BBUkFNKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIHJldHVybiBK
U1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZs
ZXhpY2FsR2xvYmFsT2JqZWN0KSwgdGhpc09iamVjdC5nbG9iYWxPYmplY3QoKSk7CisgICAgcmV0
dXJuIEpTVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnM6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0
Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCAmdGhpc09iamVjdCk7CiB9CiAKIEpTQ19ERUZJTkVf
Q1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJ
bnNDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCkBAIC0xNDk1LDIyICsxMTQwLDEw
IEBAIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdExlZ2Fj
eU92ZXJyaWRlQnVpbHRJbnNDb25zdHJ1Y3RvCiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rl
c3RHbG9iYWxPYmplY3Q+OjpnZXQ8anNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RMZWdhY3lPdmVycmlk
ZUJ1aWx0SW5zQ29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFs
dWUsICJUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElucyIpOwogfQogCi1zdGF0aWMgaW5saW5lIGJv
b2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zQ29uc3Ry
dWN0b3JTZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEds
b2JhbE9iamVjdCYgdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBhdXRvJiB2bSA9
IEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIC8vIFNoYWRvd2luZyBhIGJ1
aWx0LWluIGNvbnN0cnVjdG9yLgotICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwg
SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+
KCJUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElucyIpLCBzdHJsZW4oIlRlc3RMZWdhY3lPdmVycmlk
ZUJ1aWx0SW5zIikpLCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRK
U1Rlc3RHbG9iYWxPYmplY3RfVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnNDb25zdHJ1Y3Rvciwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCi17Ci0gICAgcmV0dXJuIElETEF0
dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rl
c3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFs
T2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RMZWdhY3lPdmVycmlkZUJ1aWx0
SW5zIik7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RHbG9iYWxPYmplY3RfVGVz
dE1hcExpa2VDb25zdHJ1Y3RvckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9i
amVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0KQogewogICAgIFVOVVNFRF9QQVJB
TShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICByZXR1cm4gSlNUZXN0TWFwTGlrZTo6Z2V0Q29u
c3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRoaXNPYmplY3QuZ2xv
YmFsT2JqZWN0KCkpOworICAgIHJldHVybiBKU1Rlc3RNYXBMaWtlOjpnZXRDb25zdHJ1Y3RvcihK
U0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgJnRoaXNPYmplY3QpOwogfQogCiBKU0Nf
REVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RNYXBMaWtlQ29uc3Ry
dWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFs
dWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQpAQCAtMTUxOCwyMiArMTE1MSwxMCBAQCBKU0Nf
REVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RNYXBMaWtlQ29uc3Ry
dWN0b3IsIChKU0dsb2JhbE9iagogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFs
T2JqZWN0Pjo6Z2V0PGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TWFwTGlrZUNvbnN0cnVjdG9yR2V0
dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCAiVGVzdE1hcExpa2UiKTsKIH0K
IAotc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TWFwTGlrZUNv
bnN0cnVjdG9yU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rl
c3RHbG9iYWxPYmplY3QmIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCi17Ci0gICAgYXV0byYg
dm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICAvLyBTaGFkb3dpbmcg
YSBidWlsdC1pbiBjb25zdHJ1Y3Rvci4KLSAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qo
dm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENo
YXIqPigiVGVzdE1hcExpa2UiKSwgc3RybGVuKCJUZXN0TWFwTGlrZSIpKSwgdmFsdWUpOwotfQot
Ci1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RNYXBM
aWtlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQotewot
ICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVz
dEdsb2JhbE9iamVjdF9UZXN0TWFwTGlrZUNvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0TWFwTGlrZSIpOwotfQotCiBz
dGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RNYXBMaWtlV2l0aE92
ZXJyaWRkZW5PcGVyYXRpb25zQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGlj
YWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCkKIHsKICAgICBV
TlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0dXJuIEpTVGVzdE1hcExp
a2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnM6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxl
eGljYWxHbG9iYWxPYmplY3QpLCB0aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgpKTsKKyAgICByZXR1
cm4gSlNUZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9uczo6Z2V0Q29uc3RydWN0b3Io
SlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksICZ0aGlzT2JqZWN0KTsKIH0KIAogSlND
X0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TWFwTGlrZVdpdGhP
dmVycmlkZGVuT3BlcmF0aW9uc0NvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKQEAg
LTE1NDEsMjIgKzExNjIsMTAgQEAgSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2Jh
bE9iamVjdF9UZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9uc0MKICAgICByZXR1cm4g
SURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OmdldDxqc1Rlc3RHbG9iYWxPYmplY3Rf
VGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnNDb25zdHJ1Y3RvckdldHRlcj4oKmxl
eGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgIlRlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5P
cGVyYXRpb25zIik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmpl
Y3RfVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnNDb25zdHJ1Y3RvclNldHRlcihK
U0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0
aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgm
bGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3Ry
dWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpm
cm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RNYXBMaWtl
V2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zIiksIHN0cmxlbigiVGVzdE1hcExpa2VXaXRoT3ZlcnJp
ZGRlbk9wZXJhdGlvbnMiKSksIHZhbHVlKTsKLX0KLQotSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9u
c0NvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAg
ICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RH
bG9iYWxPYmplY3RfVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnNDb25zdHJ1Y3Rv
clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAi
VGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMiKTsKLX0KLQogc3RhdGljIGlubGlu
ZSBKU1ZhbHVlIGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9J
ZGVudGlmaWVyQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxP
YmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCkKIHsKICAgICBVTlVTRURfUEFS
QU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0dXJuIEpTVGVzdE5hbWVkQW5kSW5kZXhl
ZFNldHRlck5vSWRlbnRpZmllcjo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEds
b2JhbE9iamVjdCksIHRoaXNPYmplY3QuZ2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVybiBKU1Rl
c3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXI6OmdldENvbnN0cnVjdG9yKEpTQzo6
Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCAmdGhpc09iamVjdCk7CiB9CiAKIEpTQ19ERUZJ
TkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkQW5kSW5kZXhlZFNl
dHRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKQEAgLTE1
NjQsMjIgKzExNzMsMTAgQEAgSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9i
amVjdF9UZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWUKICAgICByZXR1cm4gSURM
QXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OmdldDxqc1Rlc3RHbG9iYWxPYmplY3RfVGVz
dE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9yR2V0dGVyPigqbGV4
aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCAiVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5v
SWRlbnRpZmllciIpOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2Jq
ZWN0X1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXJDb25zdHJ1Y3RvclNldHRl
cihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0
JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRW
TSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29u
c3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVy
Ojpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3ROYW1l
ZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIiKSwgc3RybGVuKCJUZXN0TmFtZWRBbmRJbmRl
eGVkU2V0dGVyTm9JZGVudGlmaWVyIikpLCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5v
SWRlbnRpZmllckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
KSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxz
ZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmll
ckNvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNv
ZGVkVmFsdWUsICJUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyIik7Ci19Ci0K
IHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkQW5kSW5k
ZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmpl
Y3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCkK
IHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0dXJuIEpT
VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uOjpnZXRDb25zdHJ1Y3Rv
cihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgdGhpc09iamVjdC5nbG9iYWxPYmpl
Y3QoKSk7CisgICAgcmV0dXJuIEpTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhj
ZXB0aW9uOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwg
JnRoaXNPYmplY3QpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFs
T2JqZWN0X1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkNvbnN0cnVj
dG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKQEAgLTE1ODcsMjIgKzExODQsMTAgQEAgSlNDX0RF
RklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRBbmRJbmRleGVk
U2V0dGVyVGhyb3dpbmdFeGMKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9i
amVjdD46OmdldDxqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRo
cm93aW5nRXhjZXB0aW9uQ29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0
aGlzVmFsdWUsICJUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24iKTsK
IH0KIAotc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRB
bmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25Db25zdHJ1Y3RvclNldHRlcihKU0dsb2Jh
bE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2Jq
ZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNh
bEdsb2JhbE9iamVjdCk7Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3Iu
Ci0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3Ry
aW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3ROYW1lZEFuZEluZGV4
ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiIpLCBzdHJsZW4oIlRlc3ROYW1lZEFuZEluZGV4ZWRT
ZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiIpKSwgdmFsdWUpOwotfQotCi1KU0NfREVGSU5FX0NVU1RP
TV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJU
aHJvd2luZ0V4Y2VwdGlvbkNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlKSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46
OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93
aW5nRXhjZXB0aW9uQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlz
VmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4
Y2VwdGlvbiIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0
X1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckNvbnN0cnVjdG9yR2V0dGVy
KEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3Qm
IHRoaXNPYmplY3QpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGxleGljYWxHbG9iYWxPYmplY3QpOwot
ICAgIHJldHVybiBKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcjo6Z2V0
Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRoaXNPYmplY3Qu
Z2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVybiBKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJX
aXRoSWRlbnRpZmllcjo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9i
amVjdCksICZ0aGlzT2JqZWN0KTsKIH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVz
dEdsb2JhbE9iamVjdF9UZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXJDb25z
dHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCkBAIC0xNjEwLDIyICsxMTk1LDEwIEBAIEpT
Q19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkQW5kSW5k
ZXhlZFNldHRlcldpdGhJZGVudGlmCiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9i
YWxPYmplY3Q+OjpnZXQ8anNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0
ZXJXaXRoSWRlbnRpZmllckNvbnN0cnVjdG9yR2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
dGhpc1ZhbHVlLCAiVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyIik7CiB9
CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkQW5k
SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyQ29uc3RydWN0b3JTZXR0ZXIoSlNHbG9iYWxPYmpl
Y3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCwg
SlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9i
YWxPYmplY3QpOwotICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0cnVjdG9yLgotICAg
IHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2
bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0TmFtZWRBbmRJbmRleGVkU2V0
dGVyV2l0aElkZW50aWZpZXIiKSwgc3RybGVuKCJUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0
aElkZW50aWZpZXIiKSksIHZhbHVlKTsKLX0KLQotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZp
ZXJDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCi17Ci0g
ICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0
R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckNvbnN0
cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFs
dWUsICJUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIiKTsKLX0KLQogc3Rh
dGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWREZWxldGVyTm9J
ZGVudGlmaWVyQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxP
YmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCkKIHsKICAgICBVTlVTRURfUEFS
QU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0dXJuIEpTVGVzdE5hbWVkRGVsZXRlck5v
SWRlbnRpZmllcjo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVj
dCksIHRoaXNPYmplY3QuZ2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVybiBKU1Rlc3ROYW1lZERl
bGV0ZXJOb0lkZW50aWZpZXI6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9i
YWxPYmplY3QpLCAmdGhpc09iamVjdCk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihq
c1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9y
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKQEAgLTE2MzMsMjIgKzEyMDYsMTAgQEAgSlNDX0RFRklO
RV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWREZWxldGVyTm9JZGVu
dGlmaWVyQ29uc3RydWMKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVj
dD46OmdldDxqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllckNv
bnN0cnVjdG9yR2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCAiVGVzdE5h
bWVkRGVsZXRlck5vSWRlbnRpZmllciIpOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNU
ZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXJDb25zdHJ1Y3RvclNl
dHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2Jq
ZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIGF1dG8mIHZtID0gSlNDOjpn
ZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4g
Y29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlm
aWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RO
YW1lZERlbGV0ZXJOb0lkZW50aWZpZXIiKSwgc3RybGVuKCJUZXN0TmFtZWREZWxldGVyTm9JZGVu
dGlmaWVyIikpLCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rl
c3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9yLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAgICByZXR1cm4gSURMQXR0
cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVz
dE5hbWVkRGVsZXRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0TmFtZWREZWxldGVyTm9JZGVu
dGlmaWVyIik7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RHbG9iYWxPYmplY3Rf
VGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9i
YWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09i
amVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0
dXJuIEpTVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uOjpnZXRDb25zdHJ1Y3RvcihK
U0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgdGhpc09iamVjdC5nbG9iYWxPYmplY3Qo
KSk7CisgICAgcmV0dXJuIEpTVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uOjpnZXRD
b25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgJnRoaXNPYmplY3Qp
OwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RO
YW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbkNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlO
YW1lKSkKQEAgLTE2NTYsMjIgKzEyMTcsMTAgQEAgSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpz
VGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb25Db24KICAg
ICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OmdldDxqc1Rlc3RHbG9i
YWxPYmplY3RfVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uQ29uc3RydWN0b3JHZXR0
ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJUZXN0TmFtZWREZWxldGVyVGhy
b3dpbmdFeGNlcHRpb24iKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2Jh
bE9iamVjdF9UZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb25Db25zdHJ1Y3RvclNldHRl
cihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0
JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRW
TSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29u
c3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVy
Ojpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3ROYW1l
ZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbiIpLCBzdHJsZW4oIlRlc3ROYW1lZERlbGV0ZXJUaHJv
d2luZ0V4Y2VwdGlvbiIpKSwgdmFsdWUpOwotfQotCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbkNv
bnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAgICBy
ZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9i
YWxPYmplY3RfVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uQ29uc3RydWN0b3JTZXR0
ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RO
YW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbiIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFs
dWUganNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllckNvbnN0
cnVjdG9yR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RH
bG9iYWxPYmplY3QmIHRoaXNPYmplY3QpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGxleGljYWxHbG9i
YWxPYmplY3QpOwotICAgIHJldHVybiBKU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllcjo6
Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRoaXNPYmpl
Y3QuZ2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVybiBKU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRl
bnRpZmllcjo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCks
ICZ0aGlzT2JqZWN0KTsKIH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2Jh
bE9iamVjdF9UZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXJDb25zdHJ1Y3RvciwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IFByb3BlcnR5TmFtZSkpCkBAIC0xNjc5LDIyICsxMjI4LDEwIEBAIEpTQ19ERUZJTkVfQ1VTVE9N
X0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVy
Q29uc3RyCiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpnZXQ8
anNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllckNvbnN0cnVj
dG9yR2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCAiVGVzdE5hbWVkRGVs
ZXRlcldpdGhJZGVudGlmaWVyIik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RH
bG9iYWxPYmplY3RfVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyQ29uc3RydWN0b3JTZXR0
ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVj
dCYgdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0
Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNv
bnN0cnVjdG9yLgotICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmll
cjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0TmFt
ZWREZWxldGVyV2l0aElkZW50aWZpZXIiKSwgc3RybGVuKCJUZXN0TmFtZWREZWxldGVyV2l0aElk
ZW50aWZpZXIiKSksIHZhbHVlKTsKLX0KLQotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpT
VGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXJDb25zdHJ1Y3Rv
ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCi17Ci0gICAgcmV0dXJuIElE
TEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0
X1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllckNvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNh
bEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0TmFtZWREZWxldGVy
V2l0aElkZW50aWZpZXIiKTsKLX0KLQogc3RhdGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdEdsb2Jh
bE9iamVjdF9UZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXJDb25zdHJ1Y3RvckdldHRl
cihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0
JiB0aGlzT2JqZWN0KQogewogICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsK
LSAgICByZXR1cm4gSlNUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXI6OmdldENvbnN0
cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCB0aGlzT2JqZWN0Lmdsb2Jh
bE9iamVjdCgpKTsKKyAgICByZXR1cm4gSlNUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0
ZXI6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCAmdGhp
c09iamVjdCk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmpl
Y3RfVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyQ29uc3RydWN0b3IsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQ
cm9wZXJ0eU5hbWUpKQpAQCAtMTcwMiwyMiArMTIzOSwxMCBAQCBKU0NfREVGSU5FX0NVU1RPTV9H
RVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRl
ckNvbgogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6Z2V0PGpz
VGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXJDb25zdHJ1
Y3RvckdldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgIlRlc3ROYW1lZERl
bGV0ZXJXaXRoSW5kZXhlZEdldHRlciIpOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNU
ZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlckNvbnN0cnVj
dG9yU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9i
YWxPYmplY3QmIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCi17Ci0gICAgYXV0byYgdm0gPSBK
U0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICAvLyBTaGFkb3dpbmcgYSBidWls
dC1pbiBjb25zdHJ1Y3Rvci4KLSAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElk
ZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigi
VGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyIiksIHN0cmxlbigiVGVzdE5hbWVkRGVs
ZXRlcldpdGhJbmRleGVkR2V0dGVyIikpLCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVk
R2V0dGVyQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQot
ewotICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpT
VGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXJDb25zdHJ1
Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVl
LCAiVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyIik7Ci19Ci0KIHN0YXRpYyBpbmxp
bmUgSlNWYWx1ZSBqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGhDb25z
dHJ1Y3RvckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0
R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0KQogewogICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xv
YmFsT2JqZWN0KTsKLSAgICByZXR1cm4gSlNUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aDo6Z2V0Q29u
c3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRoaXNPYmplY3QuZ2xv
YmFsT2JqZWN0KCkpOworICAgIHJldHVybiBKU1Rlc3ROYW1lZEdldHRlckNhbGxXaXRoOjpnZXRD
b25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgJnRoaXNPYmplY3Qp
OwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RO
YW1lZEdldHRlckNhbGxXaXRoQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQpAQCAt
MTcyNSwyMiArMTI1MCwxMCBAQCBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFs
T2JqZWN0X1Rlc3ROYW1lZEdldHRlckNhbGxXaXRoQ29uc3RydWN0b3IsCiAgICAgcmV0dXJuIElE
TEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpnZXQ8anNUZXN0R2xvYmFsT2JqZWN0X1Rl
c3ROYW1lZEdldHRlckNhbGxXaXRoQ29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCB0aGlzVmFsdWUsICJUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aCIpOwogfQogCi1zdGF0aWMg
aW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZEdldHRlckNhbGxXaXRo
Q29uc3RydWN0b3JTZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpT
VGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBhdXRv
JiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIC8vIFNoYWRvd2lu
ZyBhIGJ1aWx0LWluIGNvbnN0cnVjdG9yLgotICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVj
dCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBM
Q2hhcio+KCJUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aCIpLCBzdHJsZW4oIlRlc3ROYW1lZEdldHRl
ckNhbGxXaXRoIikpLCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRK
U1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGhDb25zdHJ1Y3RvciwgKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCi17Ci0gICAgcmV0dXJuIElETEF0dHJp
YnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RO
YW1lZEdldHRlckNhbGxXaXRoQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3ROYW1lZEdldHRlckNhbGxXaXRoIik7Ci19
Ci0KIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkR2V0
dGVyTm9JZGVudGlmaWVyQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxH
bG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCkKIHsKICAgICBVTlVT
RURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0dXJuIEpTVGVzdE5hbWVkR2V0
dGVyTm9JZGVudGlmaWVyOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFs
T2JqZWN0KSwgdGhpc09iamVjdC5nbG9iYWxPYmplY3QoKSk7CisgICAgcmV0dXJuIEpTVGVzdE5h
bWVkR2V0dGVyTm9JZGVudGlmaWVyOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2Fs
R2xvYmFsT2JqZWN0KSwgJnRoaXNPYmplY3QpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRU
RVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllckNvbnN0cnVj
dG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKQEAgLTE3NDgsMjIgKzEyNjEsMTAgQEAgSlNDX0RF
RklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRHZXR0ZXJOb0lk
ZW50aWZpZXJDb25zdHJ1Y3QKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9i
amVjdD46OmdldDxqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVy
Q29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJUZXN0
TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXIiKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHNldEpT
VGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXJDb25zdHJ1Y3RvclNl
dHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2Jq
ZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIGF1dG8mIHZtID0gSlNDOjpn
ZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4g
Y29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlm
aWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RO
YW1lZEdldHRlck5vSWRlbnRpZmllciIpLCBzdHJsZW4oIlRlc3ROYW1lZEdldHRlck5vSWRlbnRp
ZmllciIpKSwgdmFsdWUpOwotfQotCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9yLCAoSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmli
dXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5h
bWVkR2V0dGVyTm9JZGVudGlmaWVyQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3ROYW1lZEdldHRlck5vSWRlbnRpZmll
ciIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RO
YW1lZEdldHRlcldpdGhJZGVudGlmaWVyQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3Qm
IGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCkKIHsK
ICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0dXJuIEpTVGVz
dE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXI6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxl
eGljYWxHbG9iYWxPYmplY3QpLCB0aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgpKTsKKyAgICByZXR1
cm4gSlNUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllcjo6Z2V0Q29uc3RydWN0b3IoSlNDOjpn
ZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksICZ0aGlzT2JqZWN0KTsKIH0KIAogSlNDX0RFRklO
RV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRHZXR0ZXJXaXRoSWRl
bnRpZmllckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKQEAgLTE3NzEsMjIgKzEy
NzIsMTAgQEAgSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0
TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllckNvbnN0cnUKICAgICByZXR1cm4gSURMQXR0cmlidXRl
PEpTVGVzdEdsb2JhbE9iamVjdD46OmdldDxqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkR2V0
dGVyV2l0aElkZW50aWZpZXJDb25zdHJ1Y3RvckdldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
IHRoaXNWYWx1ZSwgIlRlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyIik7CiB9CiAKLXN0YXRp
YyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkR2V0dGVyV2l0aElk
ZW50aWZpZXJDb25zdHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9i
amVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewot
ICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8g
U2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3Qu
cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0
PGNvbnN0IExDaGFyKj4oIlRlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyIiksIHN0cmxlbigi
VGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXIiKSksIHZhbHVlKTsKLX0KLQotSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRHZXR0ZXJXaXRo
SWRlbnRpZmllckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
KSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxz
ZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXJDb25zdHJ1
Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVl
LCAiVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXIiKTsKLX0KLQogc3RhdGljIGlubGluZSBK
U1ZhbHVlIGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXJDb25z
dHJ1Y3RvckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0
R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0KQogewogICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xv
YmFsT2JqZWN0KTsKLSAgICByZXR1cm4gSlNUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXI6Omdl
dENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCB0aGlzT2JqZWN0
Lmdsb2JhbE9iamVjdCgpKTsKKyAgICByZXR1cm4gSlNUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZp
ZXI6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCAmdGhp
c09iamVjdCk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmpl
Y3RfVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0
eU5hbWUpKQpAQCAtMTc5NCwyMiArMTI4MywxMCBAQCBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIo
anNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnVjdAog
ICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6Z2V0PGpzVGVzdEds
b2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXJDb25zdHJ1Y3RvckdldHRlcj4o
KmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgIlRlc3ROYW1lZFNldHRlck5vSWRlbnRp
ZmllciIpOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rl
c3ROYW1lZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9yU2V0dGVyKEpTR2xvYmFsT2JqZWN0
JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRoaXNPYmplY3QsIEpT
VmFsdWUgdmFsdWUpCi17Ci0gICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFs
T2JqZWN0KTsKLSAgICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3Rvci4KLSAgICBy
ZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0s
IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlm
aWVyIiksIHN0cmxlbigiVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyIikpLCB2YWx1ZSk7Ci19
Ci0KLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5h
bWVkU2V0dGVyTm9JZGVudGlmaWVyQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUpKQotewotICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2Jq
ZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZp
ZXJDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5j
b2RlZFZhbHVlLCAiVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyIik7Ci19Ci0KIHN0YXRpYyBp
bmxpbmUgSlNWYWx1ZSBqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdF
eGNlcHRpb25Db25zdHJ1Y3RvckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9i
amVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0KQogewogICAgIFVOVVNFRF9QQVJB
TShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICByZXR1cm4gSlNUZXN0TmFtZWRTZXR0ZXJUaHJv
d2luZ0V4Y2VwdGlvbjo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9i
amVjdCksIHRoaXNPYmplY3QuZ2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVybiBKU1Rlc3ROYW1l
ZFNldHRlclRocm93aW5nRXhjZXB0aW9uOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhp
Y2FsR2xvYmFsT2JqZWN0KSwgJnRoaXNPYmplY3QpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9H
RVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9u
Q29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQpAQCAtMTgxNywyMiArMTI5NCwxMCBA
QCBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNl
dHRlclRocm93aW5nRXhjZXB0aW9uQ29ucwogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0
R2xvYmFsT2JqZWN0Pjo6Z2V0PGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJUaHJv
d2luZ0V4Y2VwdGlvbkNvbnN0cnVjdG9yR2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhp
c1ZhbHVlLCAiVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24iKTsKIH0KIAotc3RhdGlj
IGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJUaHJvd2lu
Z0V4Y2VwdGlvbkNvbnN0cnVjdG9yU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCi17
Ci0gICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICAv
LyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3Rvci4KLSAgICByZXR1cm4gdGhpc09iamVj
dC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nh
c3Q8Y29uc3QgTENoYXIqPigiVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24iKSwgc3Ry
bGVuKCJUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiIpKSwgdmFsdWUpOwotfQotCi1K
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNl
dHRlclRocm93aW5nRXhjZXB0aW9uQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUpKQotewotICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2Jq
ZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4
Y2VwdGlvbkNvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVl
LCBlbmNvZGVkVmFsdWUsICJUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiIpOwotfQot
CiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNldHRl
cldpdGhJZGVudGlmaWVyQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxH
bG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCkKIHsKICAgICBVTlVT
RURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0dXJuIEpTVGVzdE5hbWVkU2V0
dGVyV2l0aElkZW50aWZpZXI6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9i
YWxPYmplY3QpLCB0aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgpKTsKKyAgICByZXR1cm4gSlNUZXN0
TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllcjo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4
aWNhbEdsb2JhbE9iamVjdCksICZ0aGlzT2JqZWN0KTsKIH0KIAogSlNDX0RFRklORV9DVVNUT01f
R0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllckNv
bnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKQEAgLTE4NDAsMjIgKzEzMDUsMTAgQEAg
SlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0
ZXJXaXRoSWRlbnRpZmllckNvbnN0cnUKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEds
b2JhbE9iamVjdD46OmdldDxqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyV2l0aElk
ZW50aWZpZXJDb25zdHJ1Y3RvckdldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1
ZSwgIlRlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyIik7CiB9CiAKLXN0YXRpYyBpbmxpbmUg
Ym9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXJD
b25zdHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNU
ZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIGF1dG8m
IHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8gU2hhZG93aW5n
IGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0
KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExD
aGFyKj4oIlRlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyIiksIHN0cmxlbigiVGVzdE5hbWVk
U2V0dGVyV2l0aElkZW50aWZpZXIiKSksIHZhbHVlKTsKLX0KLQotSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmll
ckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAg
ICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RH
bG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXJDb25zdHJ1Y3RvclNldHRl
cj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdE5h
bWVkU2V0dGVyV2l0aElkZW50aWZpZXIiKTsKLX0KLQogc3RhdGljIGlubGluZSBKU1ZhbHVlIGpz
VGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckNvbnN0cnVj
dG9yR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9i
YWxPYmplY3QmIHRoaXNPYmplY3QpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGxleGljYWxHbG9iYWxP
YmplY3QpOwotICAgIHJldHVybiBKU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyOjpn
ZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgdGhpc09iamVj
dC5nbG9iYWxPYmplY3QoKSk7CisgICAgcmV0dXJuIEpTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4
ZWRHZXR0ZXI6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3Qp
LCAmdGhpc09iamVjdCk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9i
YWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJDb25zdHJ1Y3RvciwgKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIFByb3BlcnR5TmFtZSkpCkBAIC0xODYzLDIyICsxMzE2LDEwIEBAIEpTQ19ERUZJTkVfQ1VT
VE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRH
ZXR0ZXJDb25zCiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+Ojpn
ZXQ8anNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQ29u
c3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJUZXN0TmFt
ZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlciIpOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0
SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQ29uc3Ry
dWN0b3JTZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEds
b2JhbE9iamVjdCYgdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBhdXRvJiB2bSA9
IEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIC8vIFNoYWRvd2luZyBhIGJ1
aWx0LWluIGNvbnN0cnVjdG9yLgotICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwg
SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+
KCJUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlciIpLCBzdHJsZW4oIlRlc3ROYW1lZFNl
dHRlcldpdGhJbmRleGVkR2V0dGVyIikpLCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRH
ZXR0ZXJDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCi17
Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNU
ZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQ29uc3RydWN0
b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwg
IlRlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyIik7Ci19Ci0KIHN0YXRpYyBpbmxpbmUg
SlNWYWx1ZSBqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0
ZXJBbmRTZXR0ZXJDb25zdHJ1Y3RvckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2Jh
bE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0KQogewogICAgIFVOVVNFRF9Q
QVJBTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICByZXR1cm4gSlNUZXN0TmFtZWRTZXR0ZXJX
aXRoSW5kZXhlZEdldHRlckFuZFNldHRlcjo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4
aWNhbEdsb2JhbE9iamVjdCksIHRoaXNPYmplY3QuZ2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVy
biBKU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyOjpnZXRDb25zdHJ1
Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgJnRoaXNPYmplY3QpOwogfQog
CiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNl
dHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0
eU5hbWUpKQpAQCAtMTg4NiwyMiArMTMyNywxMCBAQCBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIo
anNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kUwog
ICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6Z2V0PGpzVGVzdEds
b2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlckNvbnN0
cnVjdG9yR2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCAiVGVzdE5hbWVk
U2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXIiKTsKIH0KIAotc3RhdGljIGlubGluZSBi
b29sIHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRl
ckFuZFNldHRlckNvbnN0cnVjdG9yU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCi17
Ci0gICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICAv
LyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3Rvci4KLSAgICByZXR1cm4gdGhpc09iamVj
dC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nh
c3Q8Y29uc3QgTENoYXIqPigiVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0
ZXIiKSwgc3RybGVuKCJUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlciIp
KSwgdmFsdWUpOwotfQotCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFs
T2JqZWN0X1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyQ29uc3RydWN0
b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQotewotICAgIHJldHVybiBJ
RExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVj
dF9UZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlckNvbnN0cnVjdG9yU2V0
dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0
TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlciIpOwotfQotCiBzdGF0aWMgaW5s
aW5lIEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lP
dmVycmlkZUJ1aWx0SW5zQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxH
bG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCkKIHsKICAgICBVTlVT
RURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0dXJuIEpTVGVzdE5hbWVkU2V0
dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnM6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0o
JmxleGljYWxHbG9iYWxPYmplY3QpLCB0aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgpKTsKKyAgICBy
ZXR1cm4gSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdEluczo6Z2V0Q29u
c3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksICZ0aGlzT2JqZWN0KTsK
IH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFt
ZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdEluc0NvbnN0cnVjdG9yLCAoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJv
cGVydHlOYW1lKSkKQEAgLTE5MDksMjIgKzEzMzgsMTAgQEAgSlNDX0RFRklORV9DVVNUT01fR0VU
VEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVC
dWkKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OmdldDxqc1Rl
c3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnND
b25zdHJ1Y3RvckdldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgIlRlc3RO
YW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zIik7CiB9CiAKLXN0YXRpYyBpbmxp
bmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92
ZXJyaWRlQnVpbHRJbnNDb25zdHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEds
b2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVl
KQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0g
ICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNP
YmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJl
dF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1
aWx0SW5zIiksIHN0cmxlbigiVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJ
bnMiKSksIHZhbHVlKTsKLX0KLQotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEds
b2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdEluc0NvbnN0
cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAgICByZXR1
cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxP
YmplY3RfVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnNDb25zdHJ1Y3Rv
clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAi
VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMiKTsKLX0KLQogc3RhdGlj
IGlubGluZSBKU1ZhbHVlIGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJXaXRoTGVn
YWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3Qm
IGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCkKIHsK
ICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0dXJuIEpTVGVz
dE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllczo6Z2V0Q29uc3RydWN0
b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRoaXNPYmplY3QuZ2xvYmFsT2Jq
ZWN0KCkpOworICAgIHJldHVybiBKU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJs
ZVByb3BlcnRpZXM6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmpl
Y3QpLCAmdGhpc09iamVjdCk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RH
bG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGll
c0NvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKQEAgLTE5MzIsMjIgKzEzNDksMTAg
QEAgSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRT
ZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGUKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVz
dEdsb2JhbE9iamVjdD46OmdldDxqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVyV2l0
aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0NvbnN0cnVjdG9yR2V0dGVyPigqbGV4aWNhbEds
b2JhbE9iamVjdCwgdGhpc1ZhbHVlLCAiVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2Vh
YmxlUHJvcGVydGllcyIpOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFs
T2JqZWN0X1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNDb25z
dHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0
R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIGF1dG8mIHZt
ID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8gU2hhZG93aW5nIGEg
YnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZt
LCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFy
Kj4oIlRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXMiKSwgc3Ry
bGVuKCJUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzIikpLCB2
YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmpl
Y3RfVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0NvbnN0cnVj
dG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAgICByZXR1cm4g
SURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmpl
Y3RfVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0NvbnN0cnVj
dG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUs
ICJUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzIik7Ci19Ci0K
IHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE5hbWVkU2V0dGVy
V2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnND
b25zdHJ1Y3RvckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNU
ZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0KQogewogICAgIFVOVVNFRF9QQVJBTShsZXhpY2Fs
R2xvYmFsT2JqZWN0KTsKLSAgICByZXR1cm4gSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5m
b3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdEluczo6Z2V0Q29uc3RydWN0
b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRoaXNPYmplY3QuZ2xvYmFsT2Jq
ZWN0KCkpOworICAgIHJldHVybiBKU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJs
ZVByb3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zOjpnZXRDb25zdHJ1Y3RvcihKU0M6
OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgJnRoaXNPYmplY3QpOwogfQogCiBKU0NfREVG
SU5FX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNldHRlcldpdGhM
ZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zQ29uc3Ry
dWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFs
dWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQpAQCAtMTk1NSwyMyArMTM2MCwxMSBAQCBKU0Nf
REVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3ROYW1lZFNldHRlcldp
dGhMZWdhY3lVbmZvcmdlYWJsZQogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFs
T2JqZWN0Pjo6Z2V0PGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5
VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdEluc0NvbnN0cnVjdG9y
R2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCAiVGVzdE5hbWVkU2V0dGVy
V2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMi
KTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFt
ZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVC
dWlsdEluc0NvbnN0cnVjdG9yU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCi17Ci0g
ICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICAvLyBT
aGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3Rvci4KLSAgICByZXR1cm4gdGhpc09iamVjdC5w
dXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8
Y29uc3QgTENoYXIqPigiVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVy
dGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMiKSwgc3RybGVuKCJUZXN0TmFtZWRTZXR0ZXJX
aXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucyIp
KSwgdmFsdWUpOwotfQotCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFs
T2JqZWN0X1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNBbmRM
ZWdhY3lPdmVycmlkZUJ1aWx0SW5zQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUpKQotewotICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2Jq
ZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5
VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdEluc0NvbnN0cnVjdG9y
U2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJU
ZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3Zl
cnJpZGVCdWlsdElucyIpOwotfQotCiAjaWYgRU5BQkxFKENvbmRpdGlvbkRlcml2ZWQpCiBzdGF0
aWMgaW5saW5lIEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RPcGVyYXRpb25Db25kaXRp
b25hbENvbnN0cnVjdG9yR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRoaXNPYmplY3QpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGxl
eGljYWxHbG9iYWxPYmplY3QpOwotICAgIHJldHVybiBKU1Rlc3RPcGVyYXRpb25Db25kaXRpb25h
bDo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRoaXNP
YmplY3QuZ2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVybiBKU1Rlc3RPcGVyYXRpb25Db25kaXRp
b25hbDo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksICZ0
aGlzT2JqZWN0KTsKIH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9i
amVjdF9UZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWxDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5
TmFtZSkpCkBAIC0xOTgxLDI1ICsxMzc0LDEwIEBAIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihq
c1Rlc3RHbG9iYWxPYmplY3RfVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsQ29uc3RydWN0b3IsCiAK
ICNlbmRpZgogCi0jaWYgRU5BQkxFKENvbmRpdGlvbkRlcml2ZWQpCi1zdGF0aWMgaW5saW5lIGJv
b2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RPcGVyYXRpb25Db25kaXRpb25hbENvbnN0cnVj
dG9yU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9i
YWxPYmplY3QmIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCi17Ci0gICAgYXV0byYgdm0gPSBK
U0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICAvLyBTaGFkb3dpbmcgYSBidWls
dC1pbiBjb25zdHJ1Y3Rvci4KLSAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElk
ZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigi
VGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsIiksIHN0cmxlbigiVGVzdE9wZXJhdGlvbkNvbmRpdGlv
bmFsIikpLCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RH
bG9iYWxPYmplY3RfVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsQ29uc3RydWN0b3IsIChKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQotewotICAgIHJldHVybiBJRExBdHRyaWJ1dGU8
SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0T3BlcmF0
aW9uQ29uZGl0aW9uYWxDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRo
aXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsIik7Ci19Ci0K
LSNlbmRpZgotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9i
YWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09i
amVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0
dXJuIEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U6OmdldENvbnN0cnVj
dG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCB0aGlzT2JqZWN0Lmdsb2JhbE9i
amVjdCgpKTsKKyAgICByZXR1cm4gSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1
ZW5jZTo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksICZ0
aGlzT2JqZWN0KTsKIH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9i
amVjdF9UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZUNvbnN0cnVjdG9yLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgUHJvcGVydHlOYW1lKSkKQEAgLTIwMDcsMjIgKzEzODUsMTAgQEAgSlNDX0RFRklORV9D
VVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9y
c1dpdGhTZXF1ZW4KICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46
OmdldDxqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2Vx
dWVuY2VDb25zdHJ1Y3RvckdldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwg
IlRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlIik7CiB9CiAKLXN0YXRpYyBp
bmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnNXaXRoU2VxdWVuY2VDb25zdHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEds
b2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVl
KQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0g
ICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNP
YmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJl
dF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVl
bmNlIiksIHN0cmxlbigiVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UiKSks
IHZhbHVlKTsKLX0KLQotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9i
amVjdF9UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZUNvbnN0cnVjdG9yLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAgICByZXR1cm4gSURMQXR0
cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2VDb25zdHJ1Y3RvclNldHRlcj4oKmxl
eGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UiKTsKLX0KLQogc3RhdGljIGlubGluZSBKU1ZhbHVl
IGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0UGx1Z2luSW50ZXJmYWNlQ29uc3RydWN0b3JHZXR0ZXIo
SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYg
dGhpc09iamVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0g
ICAgcmV0dXJuIEpTVGVzdFBsdWdpbkludGVyZmFjZTo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRW
TSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRoaXNPYmplY3QuZ2xvYmFsT2JqZWN0KCkpOworICAg
IHJldHVybiBKU1Rlc3RQbHVnaW5JbnRlcmZhY2U6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0o
JmxleGljYWxHbG9iYWxPYmplY3QpLCAmdGhpc09iamVjdCk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VT
VE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdFBsdWdpbkludGVyZmFjZUNvbnN0cnVj
dG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKQEAgLTIwMzAsMjIgKzEzOTYsMTAgQEAgSlNDX0RF
RklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0UGx1Z2luSW50ZXJmYWNl
Q29uc3RydWN0b3IsIChKU0cKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9i
amVjdD46OmdldDxqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdFBsdWdpbkludGVyZmFjZUNvbnN0cnVj
dG9yR2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCAiVGVzdFBsdWdpbklu
dGVyZmFjZSIpOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0
X1Rlc3RQbHVnaW5JbnRlcmZhY2VDb25zdHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4
aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVl
IHZhbHVlKQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVj
dCk7Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJu
IHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWlu
dGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RQbHVnaW5JbnRlcmZhY2UiKSwgc3RybGVu
KCJUZXN0UGx1Z2luSW50ZXJmYWNlIikpLCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFBsdWdpbkludGVyZmFjZUNvbnN0cnVj
dG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAgICByZXR1cm4g
SURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmpl
Y3RfVGVzdFBsdWdpbkludGVyZmFjZUNvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9i
amVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0UGx1Z2luSW50ZXJmYWNlIik7Ci19
Ci0KIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdFJlYWRPbmx5
TWFwTGlrZUNvbnN0cnVjdG9yR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRoaXNPYmplY3QpCiB7CiAgICAgVU5VU0VEX1BBUkFN
KGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIHJldHVybiBKU1Rlc3RSZWFkT25seU1hcExpa2U6
OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCB0aGlzT2Jq
ZWN0Lmdsb2JhbE9iamVjdCgpKTsKKyAgICByZXR1cm4gSlNUZXN0UmVhZE9ubHlNYXBMaWtlOjpn
ZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgJnRoaXNPYmpl
Y3QpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rl
c3RSZWFkT25seU1hcExpa2VDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCkBAIC0y
MDUzLDIyICsxNDA3LDEwIEBAIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxP
YmplY3RfVGVzdFJlYWRPbmx5TWFwTGlrZUNvbnN0cnVjdG9yLCAoSlNHCiAgICAgcmV0dXJuIElE
TEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpnZXQ8anNUZXN0R2xvYmFsT2JqZWN0X1Rl
c3RSZWFkT25seU1hcExpa2VDb25zdHJ1Y3RvckdldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
IHRoaXNWYWx1ZSwgIlRlc3RSZWFkT25seU1hcExpa2UiKTsKIH0KIAotc3RhdGljIGlubGluZSBi
b29sIHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0UmVhZE9ubHlNYXBMaWtlQ29uc3RydWN0b3JT
ZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9i
amVjdCYgdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBhdXRvJiB2bSA9IEpTQzo6
Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWlu
IGNvbnN0cnVjdG9yLgotICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRp
Zmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0
UmVhZE9ubHlNYXBMaWtlIiksIHN0cmxlbigiVGVzdFJlYWRPbmx5TWFwTGlrZSIpKSwgdmFsdWUp
OwotfQotCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rl
c3RSZWFkT25seU1hcExpa2VDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSkpCi17Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+
OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RSZWFkT25seU1hcExpa2VDb25zdHJ1Y3Rv
clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAi
VGVzdFJlYWRPbmx5TWFwTGlrZSIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0
R2xvYmFsT2JqZWN0X1Rlc3RSZWFkT25seVNldExpa2VDb25zdHJ1Y3RvckdldHRlcihKU0dsb2Jh
bE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2Jq
ZWN0KQogewogICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICByZXR1
cm4gSlNUZXN0UmVhZE9ubHlTZXRMaWtlOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhp
Y2FsR2xvYmFsT2JqZWN0KSwgdGhpc09iamVjdC5nbG9iYWxPYmplY3QoKSk7CisgICAgcmV0dXJu
IEpTVGVzdFJlYWRPbmx5U2V0TGlrZTo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNh
bEdsb2JhbE9iamVjdCksICZ0aGlzT2JqZWN0KTsKIH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VU
VEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0UmVhZE9ubHlTZXRMaWtlQ29uc3RydWN0b3IsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBQcm9wZXJ0eU5hbWUpKQpAQCAtMjA3NiwyMiArMTQxOCwxMCBAQCBKU0NfREVGSU5FX0NV
U1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RSZWFkT25seVNldExpa2VDb25zdHJ1
Y3RvciwgKEpTRwogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6
Z2V0PGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0UmVhZE9ubHlTZXRMaWtlQ29uc3RydWN0b3JHZXR0
ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJUZXN0UmVhZE9ubHlTZXRMaWtl
Iik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFJl
YWRPbmx5U2V0TGlrZUNvbnN0cnVjdG9yU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUp
Ci17Ci0gICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAg
ICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3Rvci4KLSAgICByZXR1cm4gdGhpc09i
amVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0
X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdFJlYWRPbmx5U2V0TGlrZSIpLCBzdHJsZW4oIlRlc3RS
ZWFkT25seVNldExpa2UiKSksIHZhbHVlKTsKLX0KLQotSlNDX0RFRklORV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0UmVhZE9ubHlTZXRMaWtlQ29uc3RydWN0b3IsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQotewotICAgIHJldHVybiBJRExBdHRy
aWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0
UmVhZE9ubHlTZXRMaWtlQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0
aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RSZWFkT25seVNldExpa2UiKTsKLX0KLQogc3Rh
dGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0UmVwb3J0RXh0cmFNZW1v
cnlDb3N0Q29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0o
bGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0dXJuIEpTVGVzdFJlcG9ydEV4dHJhTWVtb3J5
Q29zdDo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRo
aXNPYmplY3QuZ2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVybiBKU1Rlc3RSZXBvcnRFeHRyYU1l
bW9yeUNvc3Q6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3Qp
LCAmdGhpc09iamVjdCk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9i
YWxPYmplY3RfVGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29zdENvbnN0cnVjdG9yLCAoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJv
cGVydHlOYW1lKSkKQEAgLTIwOTksMjMgKzE0MjksMTEgQEAgSlNDX0RFRklORV9DVVNUT01fR0VU
VEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0Q29uc3RydWN0
b3IKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OmdldDxqc1Rl
c3RHbG9iYWxPYmplY3RfVGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29zdENvbnN0cnVjdG9yR2V0dGVy
PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCAiVGVzdFJlcG9ydEV4dHJhTWVtb3J5
Q29zdCIpOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rl
c3RSZXBvcnRFeHRyYU1lbW9yeUNvc3RDb25zdHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYg
bGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0LCBKU1Zh
bHVlIHZhbHVlKQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9i
amVjdCk7Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0
dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCBy
ZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3Qi
KSwgc3RybGVuKCJUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0IikpLCB2YWx1ZSk7Ci19Ci0KLUpT
Q19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFJlcG9ydEV4
dHJhTWVtb3J5Q29zdENvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNl
dDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29zdENvbnN0cnVj
dG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUs
ICJUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0Iik7Ci19Ci0KICNpZiBFTkFCTEUoQ29uZGl0aW9u
MSkgfHwgRU5BQkxFKENvbmRpdGlvbjIpCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0R2xv
YmFsT2JqZWN0X1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VDb25zdHJ1Y3Rvckdl
dHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2Jq
ZWN0JiB0aGlzT2JqZWN0KQogewogICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xvYmFsT2JqZWN0
KTsKLSAgICByZXR1cm4gSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjpnZXRD
b25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgdGhpc09iamVjdC5n
bG9iYWxPYmplY3QoKSk7CisgICAgcmV0dXJuIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUlu
dGVyZmFjZTo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCks
ICZ0aGlzT2JqZWN0KTsKIH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2Jh
bE9iamVjdF9UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ29uc3RydWN0b3IsIChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBQcm9wZXJ0eU5hbWUpKQpAQCAtMjEyNSwyNSArMTQ0MywxMCBAQCBKU0NfREVGSU5FX0NV
U1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2VDbwogCiAjZW5kaWYKIAotI2lmIEVOQUJMRShDb25kaXRpb24xKSB8fCBFTkFCTEUo
Q29uZGl0aW9uMikKLXN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNvbnN0cnVjdG9yU2V0dGVyKEpTR2xvYmFs
T2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRoaXNPYmpl
Y3QsIEpTVmFsdWUgdmFsdWUpCi17Ci0gICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2Fs
R2xvYmFsT2JqZWN0KTsKLSAgICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3Rvci4K
LSAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJp
bmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZSIpLCBzdHJsZW4oIlRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2UiKSksIHZhbHVlKTsKLX0KLQotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVz
dEdsb2JhbE9iamVjdF9UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ29uc3RydWN0
b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQotewotICAgIHJldHVybiBJ
RExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVj
dF9UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ29uc3RydWN0b3JTZXR0ZXI+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2UiKTsKLX0KLQotI2VuZGlmCi0KIHN0YXRpYyBpbmxpbmUg
SlNWYWx1ZSBqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdFNldExpa2VDb25zdHJ1Y3RvckdldHRlcihK
U0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0
aGlzT2JqZWN0KQogewogICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAg
ICByZXR1cm4gSlNUZXN0U2V0TGlrZTo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNh
bEdsb2JhbE9iamVjdCksIHRoaXNPYmplY3QuZ2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVybiBK
U1Rlc3RTZXRMaWtlOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2Jq
ZWN0KSwgJnRoaXNPYmplY3QpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0
R2xvYmFsT2JqZWN0X1Rlc3RTZXRMaWtlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUp
KQpAQCAtMjE1MSwyMiArMTQ1NCwxMCBAQCBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0
R2xvYmFsT2JqZWN0X1Rlc3RTZXRMaWtlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iagogICAgIHJl
dHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6Z2V0PGpzVGVzdEdsb2JhbE9i
amVjdF9UZXN0U2V0TGlrZUNvbnN0cnVjdG9yR2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
dGhpc1ZhbHVlLCAiVGVzdFNldExpa2UiKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHNldEpT
VGVzdEdsb2JhbE9iamVjdF9UZXN0U2V0TGlrZUNvbnN0cnVjdG9yU2V0dGVyKEpTR2xvYmFsT2Jq
ZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRoaXNPYmplY3Qs
IEpTVmFsdWUgdmFsdWUpCi17Ci0gICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xv
YmFsT2JqZWN0KTsKLSAgICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3Rvci4KLSAg
ICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmco
dm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdFNldExpa2UiKSwgc3RybGVu
KCJUZXN0U2V0TGlrZSIpKSwgdmFsdWUpOwotfQotCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTZXRMaWtlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQotewotICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNU
ZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0U2V0TGlrZUNv
bnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVk
VmFsdWUsICJUZXN0U2V0TGlrZSIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0
R2xvYmFsT2JqZWN0X1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zQ29uc3RydWN0
b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2Jh
bE9iamVjdCYgdGhpc09iamVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9i
amVjdCk7Ci0gICAgcmV0dXJuIEpTVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnM6
OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCB0aGlzT2Jq
ZWN0Lmdsb2JhbE9iamVjdCgpKTsKKyAgICByZXR1cm4gSlNUZXN0U2V0TGlrZVdpdGhPdmVycmlk
ZGVuT3BlcmF0aW9uczo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9i
amVjdCksICZ0aGlzT2JqZWN0KTsKIH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVz
dEdsb2JhbE9iamVjdF9UZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9uc0NvbnN0cnVj
dG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKQEAgLTIxNzQsMjIgKzE0NjUsMTAgQEAgSlNDX0RF
RklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0U2V0TGlrZVdpdGhPdmVy
cmlkZGVuT3BlcmF0aW9uc0MKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9i
amVjdD46OmdldDxqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9w
ZXJhdGlvbnNDb25zdHJ1Y3RvckdldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1
ZSwgIlRlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zIik7CiB9CiAKLXN0YXRpYyBp
bmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRl
bk9wZXJhdGlvbnNDb25zdHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2Jh
bE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQot
ewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAg
Ly8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmpl
Y3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9j
YXN0PGNvbnN0IExDaGFyKj4oIlRlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zIiks
IHN0cmxlbigiVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMiKSksIHZhbHVlKTsK
LX0KLQotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0
U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9uc0NvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVz
dEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFNldExpa2VXaXRo
T3ZlcnJpZGRlbk9wZXJhdGlvbnNDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9w
ZXJhdGlvbnMiKTsKLX0KLQogc3RhdGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdEdsb2JhbE9iamVj
dF9UZXN0U3RyaW5naWZpZXJDb25zdHJ1Y3RvckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNh
bEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0KQogewogICAgIFVO
VVNFRF9QQVJBTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICByZXR1cm4gSlNUZXN0U3RyaW5n
aWZpZXI6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCB0
aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgpKTsKKyAgICByZXR1cm4gSlNUZXN0U3RyaW5naWZpZXI6
OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCAmdGhpc09i
amVjdCk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3Rf
VGVzdFN0cmluZ2lmaWVyQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQpAQCAtMjE5
NywyMiArMTQ3NiwxMCBAQCBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2Jq
ZWN0X1Rlc3RTdHJpbmdpZmllckNvbnN0cnVjdG9yLCAoSlNHbG9iYQogICAgIHJldHVybiBJRExB
dHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6Z2V0PGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0
U3RyaW5naWZpZXJDb25zdHJ1Y3RvckdldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNW
YWx1ZSwgIlRlc3RTdHJpbmdpZmllciIpOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNU
ZXN0R2xvYmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmllckNvbnN0cnVjdG9yU2V0dGVyKEpTR2xvYmFs
T2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRoaXNPYmpl
Y3QsIEpTVmFsdWUgdmFsdWUpCi17Ci0gICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2Fs
R2xvYmFsT2JqZWN0KTsKLSAgICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3Rvci4K
LSAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJp
bmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdFN0cmluZ2lmaWVyIiks
IHN0cmxlbigiVGVzdFN0cmluZ2lmaWVyIikpLCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyQ29uc3RydWN0
b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQotewotICAgIHJldHVybiBJ
RExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVj
dF9UZXN0U3RyaW5naWZpZXJDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
IHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdFN0cmluZ2lmaWVyIik7Ci19Ci0KIHN0YXRp
YyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyQW5vbnlt
b3VzT3BlcmF0aW9uQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9i
YWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCkKIHsKICAgICBVTlVTRURf
UEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0dXJuIEpTVGVzdFN0cmluZ2lmaWVy
QW5vbnltb3VzT3BlcmF0aW9uOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xv
YmFsT2JqZWN0KSwgdGhpc09iamVjdC5nbG9iYWxPYmplY3QoKSk7CisgICAgcmV0dXJuIEpTVGVz
dFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZN
KCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgJnRoaXNPYmplY3QpOwogfQogCiBKU0NfREVGSU5FX0NV
U1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmllckFub255bW91c09w
ZXJhdGlvbkNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKQEAgLTIyMjAsMjIgKzE0
ODcsMTAgQEAgSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0
U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb25Db24KICAgICByZXR1cm4gSURMQXR0cmlidXRl
PEpTVGVzdEdsb2JhbE9iamVjdD46OmdldDxqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lm
aWVyQW5vbnltb3VzT3BlcmF0aW9uQ29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCB0aGlzVmFsdWUsICJUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb24iKTsKIH0K
IAotc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0U3RyaW5naWZp
ZXJBbm9ueW1vdXNPcGVyYXRpb25Db25zdHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4
aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVl
IHZhbHVlKQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVj
dCk7Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJu
IHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWlu
dGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RTdHJpbmdpZmllckFub255bW91c09wZXJh
dGlvbiIpLCBzdHJsZW4oIlRlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbiIpKSwgdmFs
dWUpOwotfQotCi1KU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0
X1Rlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbkNvbnN0cnVjdG9yLCAoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpT
VGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lm
aWVyQW5vbnltb3VzT3BlcmF0aW9uQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3RTdHJpbmdpZmllckFub255bW91c09w
ZXJhdGlvbiIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0
X1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxP
YmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVj
dCkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0dXJu
IEpTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb246OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0
Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCB0aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgpKTsKKyAg
ICByZXR1cm4gSlNUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbjo6Z2V0Q29uc3RydWN0b3Io
SlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksICZ0aGlzT2JqZWN0KTsKIH0KIAogSlND
X0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0U3RyaW5naWZpZXJO
YW1lZE9wZXJhdGlvbkNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKQEAgLTIyNDMs
MjIgKzE0OTgsMTAgQEAgSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVj
dF9UZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbkNvbnN0cnUKICAgICByZXR1cm4gSURMQXR0
cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OmdldDxqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0
cmluZ2lmaWVyTmFtZWRPcGVyYXRpb25Db25zdHJ1Y3RvckdldHRlcj4oKmxleGljYWxHbG9iYWxP
YmplY3QsIHRoaXNWYWx1ZSwgIlRlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uIik7CiB9CiAK
LXN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lmaWVy
TmFtZWRPcGVyYXRpb25Db25zdHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEds
b2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVl
KQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0g
ICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNP
YmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJl
dF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uIiksIHN0
cmxlbigiVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24iKSksIHZhbHVlKTsKLX0KLQotSlND
X0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0U3RyaW5naWZp
ZXJOYW1lZE9wZXJhdGlvbkNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlKSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46
OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb25D
b25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2Rl
ZFZhbHVlLCAiVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24iKTsKLX0KLQogc3RhdGljIGlu
bGluZSBKU1ZhbHVlIGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0U3RyaW5naWZpZXJPcGVyYXRpb25J
bXBsZW1lbnRlZEFzQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9i
YWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCkKIHsKICAgICBVTlVTRURf
UEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0dXJuIEpTVGVzdFN0cmluZ2lmaWVy
T3BlcmF0aW9uSW1wbGVtZW50ZWRBczo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNh
bEdsb2JhbE9iamVjdCksIHRoaXNPYmplY3QuZ2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVybiBK
U1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXM6OmdldENvbnN0cnVjdG9yKEpT
Qzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCAmdGhpc09iamVjdCk7CiB9CiAKIEpTQ19E
RUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyT3Bl
cmF0aW9uSW1wbGVtZW50ZWRBc0NvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKQEAg
LTIyNjYsMjIgKzE1MDksMTAgQEAgSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2Jh
bE9iamVjdF9UZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEEKICAgICByZXR1cm4g
SURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OmdldDxqc1Rlc3RHbG9iYWxPYmplY3Rf
VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBc0NvbnN0cnVjdG9yR2V0dGVyPigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCAiVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9u
SW1wbGVtZW50ZWRBcyIpOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFs
T2JqZWN0X1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXNDb25zdHJ1Y3RvclNl
dHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2Jq
ZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIGF1dG8mIHZtID0gSlNDOjpn
ZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4g
Y29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlm
aWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RT
dHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXMiKSwgc3RybGVuKCJUZXN0U3RyaW5naWZp
ZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzIikpLCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9u
SW1wbGVtZW50ZWRBc0NvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNl
dDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50
ZWRBc0NvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBl
bmNvZGVkVmFsdWUsICJUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzIik7Ci19
Ci0KIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lm
aWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZ0NvbnN0cnVjdG9yR2V0dGVyKEpTR2xvYmFsT2JqZWN0
JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRoaXNPYmplY3QpCiB7
CiAgICAgVU5VU0VEX1BBUkFNKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIHJldHVybiBKU1Rl
c3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmc6OmdldENvbnN0cnVjdG9yKEpTQzo6
Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCB0aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgpKTsK
KyAgICByZXR1cm4gSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nOjpnZXRD
b25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgJnRoaXNPYmplY3Qp
OwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RT
dHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmdDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3Bl
cnR5TmFtZSkpCkBAIC0yMjg5LDIyICsxNTIwLDEwIEBAIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRF
Uihqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmlu
CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpnZXQ8anNUZXN0
R2xvYmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmdDb25zdHJ1
Y3RvckdldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgIlRlc3RTdHJpbmdp
Zmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmciKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHNl
dEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5n
Q29uc3RydWN0b3JTZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpT
VGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBhdXRv
JiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIC8vIFNoYWRvd2lu
ZyBhIGJ1aWx0LWluIGNvbnN0cnVjdG9yLgotICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVj
dCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBM
Q2hhcio+KCJUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nIiksIHN0cmxlbigi
VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZyIpKSwgdmFsdWUpOwotfQotCi1K
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTdHJpbmdp
Zmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmdDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSkpCi17Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9i
YWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmllck9wZXJh
dGlvbk5hbWVkVG9TdHJpbmdDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
IHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRU
b1N0cmluZyIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0
X1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9i
YWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09i
amVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0
dXJuIEpTVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGU6OmdldENvbnN0cnVjdG9yKEpT
Qzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCB0aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgp
KTsKKyAgICByZXR1cm4gSlNUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZTo6Z2V0Q29u
c3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksICZ0aGlzT2JqZWN0KTsK
IH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0U3Ry
aW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZUNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1l
KSkKQEAgLTIzMTIsMjIgKzE1MzEsMTAgQEAgSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVz
dEdsb2JhbE9iamVjdF9UZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZUNvbnMKICAgICBy
ZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OmdldDxqc1Rlc3RHbG9iYWxP
YmplY3RfVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGVDb25zdHJ1Y3RvckdldHRlcj4o
KmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgIlRlc3RTdHJpbmdpZmllclJlYWRPbmx5
QXR0cmlidXRlIik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmpl
Y3RfVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGVDb25zdHJ1Y3RvclNldHRlcihKU0ds
b2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlz
T2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4
aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0
b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9t
U3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RTdHJpbmdpZmll
clJlYWRPbmx5QXR0cmlidXRlIiksIHN0cmxlbigiVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRy
aWJ1dGUiKSksIHZhbHVlKTsKLX0KLQotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVz
dEdsb2JhbE9iamVjdF9UZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZUNvbnN0cnVjdG9y
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAgICByZXR1cm4gSURM
QXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3Rf
VGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGVDb25zdHJ1Y3RvclNldHRlcj4oKmxleGlj
YWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdFN0cmluZ2lmaWVy
UmVhZE9ubHlBdHRyaWJ1dGUiKTsKLX0KLQogc3RhdGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdEds
b2JhbE9iamVjdF9UZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGVDb25zdHJ1Y3Rvckdl
dHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2Jq
ZWN0JiB0aGlzT2JqZWN0KQogewogICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xvYmFsT2JqZWN0
KTsKLSAgICByZXR1cm4gSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGU6OmdldENv
bnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCB0aGlzT2JqZWN0Lmds
b2JhbE9iamVjdCgpKTsKKyAgICByZXR1cm4gSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRy
aWJ1dGU6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCAm
dGhpc09iamVjdCk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHbG9iYWxP
YmplY3RfVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlQ29uc3RydWN0b3IsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBQcm9wZXJ0eU5hbWUpKQpAQCAtMjMzNSwyMiArMTU0MiwxMCBAQCBKU0NfREVGSU5FX0NVU1RP
TV9HRVRURVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJp
YnV0ZUNvbgogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6Z2V0
PGpzVGVzdEdsb2JhbE9iamVjdF9UZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGVDb25z
dHJ1Y3RvckdldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgIlRlc3RTdHJp
bmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZSIpOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0
SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZUNvbnN0
cnVjdG9yU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RH
bG9iYWxPYmplY3QmIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCi17Ci0gICAgYXV0byYgdm0g
PSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICAvLyBTaGFkb3dpbmcgYSBi
dWlsdC1pbiBjb25zdHJ1Y3Rvci4KLSAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0s
IElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIq
PigiVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlIiksIHN0cmxlbigiVGVzdFN0cmlu
Z2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlIikpLCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRl
QXR0cmlidXRlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUp
KQotewotICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNl
dEpTVGVzdEdsb2JhbE9iamVjdF9UZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGVDb25z
dHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCAiVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlIik7Ci19Ci0KIHN0YXRpYyBp
bmxpbmUgSlNWYWx1ZSBqc1Rlc3RHbG9iYWxPYmplY3RfVGVzdFR5cGVkZWZzQ29uc3RydWN0b3JH
ZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9i
amVjdCYgdGhpc09iamVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVj
dCk7Ci0gICAgcmV0dXJuIEpTVGVzdFR5cGVkZWZzOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZN
KCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgdGhpc09iamVjdC5nbG9iYWxPYmplY3QoKSk7CisgICAg
cmV0dXJuIEpTVGVzdFR5cGVkZWZzOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2Fs
R2xvYmFsT2JqZWN0KSwgJnRoaXNPYmplY3QpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRU
RVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RUeXBlZGVmc0NvbnN0cnVjdG9yLCAoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJv
cGVydHlOYW1lKSkKQEAgLTIzNTgsMTggKzE1NTMsNiBAQCBKU0NfREVGSU5FX0NVU1RPTV9HRVRU
RVIoanNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RUeXBlZGVmc0NvbnN0cnVjdG9yLCAoSlNHbG9iYWxP
YgogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6Z2V0PGpzVGVz
dEdsb2JhbE9iamVjdF9UZXN0VHlwZWRlZnNDb25zdHJ1Y3RvckdldHRlcj4oKmxleGljYWxHbG9i
YWxPYmplY3QsIHRoaXNWYWx1ZSwgIlRlc3RUeXBlZGVmcyIpOwogfQogCi1zdGF0aWMgaW5saW5l
IGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0X1Rlc3RUeXBlZGVmc0NvbnN0cnVjdG9yU2V0dGVy
KEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3Qm
IHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCi17Ci0gICAgYXV0byYgdm0gPSBKU0M6OmdldFZN
KCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25z
dHJ1Y3Rvci4KLSAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6
OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdFR5cGVk
ZWZzIiksIHN0cmxlbigiVGVzdFR5cGVkZWZzIikpLCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RHbG9iYWxPYmplY3RfVGVzdFR5cGVkZWZzQ29uc3RydWN0
b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQotewotICAgIHJldHVybiBJ
RExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVj
dF9UZXN0VHlwZWRlZnNDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRo
aXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdFR5cGVkZWZzIik7Ci19Ci0KIHN0YXRpYyBpbmxp
bmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RHbG9iYWxPYmplY3RJbnN0YW5jZUZ1bmN0aW9u
X3JlZ3VsYXJPcGVyYXRpb25Cb2R5KEpTQzo6SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEpTQzo6Q2FsbEZyYW1lKiBjYWxsRnJhbWUsIHR5cGVuYW1lIElETE9wZXJhdGlvbjxK
U1Rlc3RHbG9iYWxPYmplY3Q+OjpDbGFzc1BhcmFtZXRlciBjYXN0ZWRUaGlzKQogewogICAgIGF1
dG8mIHZtID0gSlNDOjpnZXRWTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5kZXgg
YTg5MWI4YjI2NWQxYmMzZWVmYWFhYTc0Nzk0NTQ3NjliYTFiNGRhOC4uMGU4OGI1Mjk0N2QwYzhk
YTdjYjcwNjMyYmUxNTU5Nzg5ZTJmYjIwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAgLTE3NDIsMTUgKzE3NDIs
MTIgQEAgc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2NvbmRp
dGlvbmFsQXR0cjMpOwogI2VuZGlmCiAjaWYgRU5BQkxFKENvbmRpdGlvbjEpCiBzdGF0aWMgSlND
X0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfY29uZGl0aW9uYWxBdHRyNENvbnN0cnVj
dG9yKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9jb25k
aXRpb25hbEF0dHI0Q29uc3RydWN0b3IpOwogI2VuZGlmCiAjaWYgRU5BQkxFKENvbmRpdGlvbjEp
ICYmIEVOQUJMRShDb25kaXRpb24yKQogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIo
anNUZXN0T2JqX2NvbmRpdGlvbmFsQXR0cjVDb25zdHJ1Y3Rvcik7Ci1zdGF0aWMgSlNDX0RFQ0xB
UkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfY29uZGl0aW9uYWxBdHRyNUNvbnN0cnVjdG9y
KTsKICNlbmRpZgogI2lmIEVOQUJMRShDb25kaXRpb24xKSB8fCBFTkFCTEUoQ29uZGl0aW9uMikK
IHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdE9ial9jb25kaXRpb25hbEF0
dHI2Q29uc3RydWN0b3IpOwotc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNU
ZXN0T2JqX2NvbmRpdGlvbmFsQXR0cjZDb25zdHJ1Y3Rvcik7CiAjZW5kaWYKIHN0YXRpYyBKU0Nf
REVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdE9ial9jYWNoZWRBdHRyaWJ1dGUxKTsKIHN0YXRp
YyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdE9ial9jYWNoZWRBdHRyaWJ1dGUyKTsK
QEAgLTE4NzIsMTcgKzE4NjksMTcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVz
dE9ialRhYmxlVmFsdWVzW10gPQogewogICAgIHsgInVuZm9yZ2VhYmxlQXR0ciIsIHN0YXRpY19j
YXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0
b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50
cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVu
Yz4oanNUZXN0T2JqX3VuZm9yZ2VhYmxlQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0
UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKICNpZiBFTkFCTEUoQ29uZGl0aW9u
MSkKLSAgICB7ICJjb25kaXRpb25hbEF0dHI0Iiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0
YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfY29uZGl0aW9u
YWxBdHRyNENvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNs
b3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX2NvbmRpdGlvbmFsQXR0cjRDb25zdHJ1Y3Rv
cikgfSB9LAorICAgIHsgImNvbmRpdGlvbmFsQXR0cjQiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRy
X3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9jb25k
aXRpb25hbEF0dHI0Q29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3Bl
cnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCiAjZWxzZQogICAgIHsgMCwgMCwgTm9JbnRy
aW5zaWMsIHsgMCwgMCB9IH0sCiAjZW5kaWYKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkgJiYgRU5B
QkxFKENvbmRpdGlvbjIpCi0gICAgeyAiY29uZGl0aW9uYWxBdHRyNSIsIHN0YXRpY19jYXN0PHVu
c2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7
IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0
T2JqX2NvbmRpdGlvbmFsQXR0cjVDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8
UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ial9jb25kaXRpb25hbEF0
dHI1Q29uc3RydWN0b3IpIH0gfSwKKyAgICB7ICJjb25kaXRpb25hbEF0dHI1Iiwgc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5z
aWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihq
c1Rlc3RPYmpfY29uZGl0aW9uYWxBdHRyNUNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNf
Y2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAogI2Vsc2UKICAgICB7
IDAsIDAsIE5vSW50cmluc2ljLCB7IDAsIDAgfSB9LAogI2VuZGlmCiAjaWYgRU5BQkxFKENvbmRp
dGlvbjEpIHx8IEVOQUJMRShDb25kaXRpb24yKQotICAgIHsgImNvbmRpdGlvbmFsQXR0cjYiLCBz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBO
b0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1
ZUZ1bmM+KGpzVGVzdE9ial9jb25kaXRpb25hbEF0dHI2Q29uc3RydWN0b3IpLCAoaW50cHRyX3Qp
IHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpf
Y29uZGl0aW9uYWxBdHRyNkNvbnN0cnVjdG9yKSB9IH0sCisgICAgeyAiY29uZGl0aW9uYWxBdHRy
NiIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51
bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNUZXN0T2JqX2NvbmRpdGlvbmFsQXR0cjZDb25zdHJ1Y3RvciksIChpbnRw
dHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwK
ICNlbHNlCiAgICAgeyAwLCAwLCBOb0ludHJpbnNpYywgeyAwLCAwIH0gfSwKICNlbmRpZgpAQCAt
NDQ3NywyMSArNDQ3NCw2IEBAIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfY29u
ZGl0aW9uYWxBdHRyNENvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqCiAKICNlbmRpZgogCi0j
aWYgRU5BQkxFKENvbmRpdGlvbjEpCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX2Nv
bmRpdGlvbmFsQXR0cjRDb25zdHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEds
b2JhbE9iamVjdCwgSlNUZXN0T2JqJiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAg
IGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8gU2hh
ZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0
RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNv
bnN0IExDaGFyKj4oImNvbmRpdGlvbmFsQXR0cjQiKSwgc3RybGVuKCJjb25kaXRpb25hbEF0dHI0
IikpLCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpf
Y29uZGl0aW9uYWxBdHRyNENvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlKSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRK
U1Rlc3RPYmpfY29uZGl0aW9uYWxBdHRyNENvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJjb25kaXRpb25hbEF0dHI0Iik7Ci19
Ci0KLSNlbmRpZgotCiAjaWYgRU5BQkxFKENvbmRpdGlvbjEpICYmIEVOQUJMRShDb25kaXRpb24y
KQogc3RhdGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdE9ial9jb25kaXRpb25hbEF0dHI1Q29uc3Ry
dWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdE9i
aiYgdGhpc09iamVjdCkKIHsKQEAgLTQ1MDYsMjEgKzQ0ODgsNiBAQCBKU0NfREVGSU5FX0NVU1RP
TV9HRVRURVIoanNUZXN0T2JqX2NvbmRpdGlvbmFsQXR0cjVDb25zdHJ1Y3RvciwgKEpTR2xvYmFs
T2JqZWN0KgogCiAjZW5kaWYKIAotI2lmIEVOQUJMRShDb25kaXRpb24xKSAmJiBFTkFCTEUoQ29u
ZGl0aW9uMikKLXN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfY29uZGl0aW9uYWxBdHRy
NUNvbnN0cnVjdG9yU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBK
U1Rlc3RPYmomIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCi17Ci0gICAgYXV0byYgdm0gPSBK
U0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICAvLyBTaGFkb3dpbmcgYSBidWls
dC1pbiBjb25zdHJ1Y3Rvci4KLSAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElk
ZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigi
Y29uZGl0aW9uYWxBdHRyNSIpLCBzdHJsZW4oImNvbmRpdGlvbmFsQXR0cjUiKSksIHZhbHVlKTsK
LX0KLQotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9jb25kaXRpb25hbEF0
dHI1Q29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQotewot
ICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9jb25k
aXRpb25hbEF0dHI1Q29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlz
VmFsdWUsIGVuY29kZWRWYWx1ZSwgImNvbmRpdGlvbmFsQXR0cjUiKTsKLX0KLQotI2VuZGlmCi0K
ICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkgfHwgRU5BQkxFKENvbmRpdGlvbjIpCiBzdGF0aWMgaW5s
aW5lIEpTVmFsdWUganNUZXN0T2JqX2NvbmRpdGlvbmFsQXR0cjZDb25zdHJ1Y3RvckdldHRlcihK
U0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0T2JqJiB0aGlzT2JqZWN0
KQogewpAQCAtNDUzNSwyMSArNDUwMiw2IEBAIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rl
c3RPYmpfY29uZGl0aW9uYWxBdHRyNkNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqCiAKICNl
bmRpZgogCi0jaWYgRU5BQkxFKENvbmRpdGlvbjEpIHx8IEVOQUJMRShDb25kaXRpb24yKQotc3Rh
dGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9jb25kaXRpb25hbEF0dHI2Q29uc3RydWN0b3JT
ZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdE9iaiYgdGhp
c09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxl
eGljYWxHbG9iYWxPYmplY3QpOwotICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0cnVj
dG9yLgotICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJv
bVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJjb25kaXRpb25hbEF0
dHI2IiksIHN0cmxlbigiY29uZGl0aW9uYWxBdHRyNiIpKSwgdmFsdWUpOwotfQotCi1KU0NfREVG
SU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX2NvbmRpdGlvbmFsQXR0cjZDb25zdHJ1Y3Rv
ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCi17Ci0gICAgcmV0dXJuIElE
TEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX2NvbmRpdGlvbmFsQXR0cjZD
b25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2Rl
ZFZhbHVlLCAiY29uZGl0aW9uYWxBdHRyNiIpOwotfQotCi0jZW5kaWYKLQogc3RhdGljIGlubGlu
ZSBKU1ZhbHVlIGpzVGVzdE9ial9jYWNoZWRBdHRyaWJ1dGUxR2V0dGVyKEpTR2xvYmFsT2JqZWN0
JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RPYmomIHRoaXNPYmplY3QpCiB7CiAgICAgYXV0
byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1dvcmtlckdsb2JhbFNjb3Bl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1dvcmtlckds
b2JhbFNjb3BlLmNwcAppbmRleCA3NWQ1NjM0MDg1M2U2Yzc2OTU2Y2ZlYzA2NDY4OGExMWVmNTE4
NmQ2Li5iYWFiMzNmM2FjMjE5NzQ1NGI5Y2UyYjIxOTNhNDU0NzhiZTY2YjYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNXb3JrZXJHbG9iYWxT
Y29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
V29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC01NCwxNyArNTQsMTEgQEAgdXNpbmcgbmFtZXNwYWNl
IEpTQzsKIAogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNXb3JrZXJHbG9iYWxT
Y29wZUNvbnN0cnVjdG9yKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzV29y
a2VyR2xvYmFsU2NvcGVfRXhwb3NlZFRvV29ya2VyQW5kV2luZG93Q29uc3RydWN0b3IpOwotc3Rh
dGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNXb3JrZXJHbG9iYWxTY29wZV9FeHBv
c2VkVG9Xb3JrZXJBbmRXaW5kb3dDb25zdHJ1Y3Rvcik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VT
VE9NX0dFVFRFUihqc1dvcmtlckdsb2JhbFNjb3BlX1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRC
eUV4cG9zZWRDb25zdHJ1Y3Rvcik7Ci1zdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1dvcmtlckdsb2JhbFNjb3BlX1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWRD
b25zdHJ1Y3Rvcik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1dvcmtlckds
b2JhbFNjb3BlX1Rlc3ROb2RlQ29uc3RydWN0b3IpOwotc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RP
TV9TRVRURVIoc2V0SlNXb3JrZXJHbG9iYWxTY29wZV9UZXN0Tm9kZUNvbnN0cnVjdG9yKTsKIHN0
YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzV29ya2VyR2xvYmFsU2NvcGVfVGVzdE9i
amVjdENvbnN0cnVjdG9yKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpT
V29ya2VyR2xvYmFsU2NvcGVfVGVzdE9iamVjdENvbnN0cnVjdG9yKTsKIHN0YXRpYyBKU0NfREVD
TEFSRV9DVVNUT01fR0VUVEVSKGpzV29ya2VyR2xvYmFsU2NvcGVfVGVzdFByb21pc2VSZWplY3Rp
b25FdmVudENvbnN0cnVjdG9yKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNl
dEpTV29ya2VyR2xvYmFsU2NvcGVfVGVzdFByb21pc2VSZWplY3Rpb25FdmVudENvbnN0cnVjdG9y
KTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzV29ya2VyR2xvYmFsU2NvcGVf
V29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3Rvcik7Ci1zdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1dvcmtlckdsb2JhbFNjb3BlX1dvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0
b3IpOwogCiB1c2luZyBKU1dvcmtlckdsb2JhbFNjb3BlRE9NQ29uc3RydWN0b3IgPSBKU0RPTUNv
bnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZTxKU1dvcmtlckdsb2JhbFNjb3BlPjsKIApAQCAtOTQs
MTIgKzg4LDEyIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1dvcmtl
ckdsb2JhbFNjb3BlVGFibGVJbmRleFsxOF0gPSB7CiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGVW
YWx1ZSBKU1dvcmtlckdsb2JhbFNjb3BlVGFibGVWYWx1ZXNbXSA9CiB7Ci0gICAgeyAiRXhwb3Nl
ZFRvV29ya2VyQW5kV2luZG93Iiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0
PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1dvcmtlckdsb2JhbFNjb3BlX0V4cG9zZWRU
b1dvcmtlckFuZFdpbmRvd0NvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNXb3JrZXJHbG9iYWxTY29wZV9FeHBvc2Vk
VG9Xb3JrZXJBbmRXaW5kb3dDb25zdHJ1Y3RvcikgfSB9LAotICAgIHsgIlRlc3REZWZhdWx0VG9K
U09ORmlsdGVyZWRCeUV4cG9zZWQiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nh
c3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzV29ya2VyR2xvYmFsU2NvcGVfVGVzdERl
ZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZENvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0
aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNXb3JrZXJHbG9iYWxT
Y29wZV9UZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkQ29uc3RydWN0b3IpIH0gfSwK
LSAgICB7ICJUZXN0Tm9kZSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNXb3JrZXJHbG9iYWxTY29wZV9UZXN0Tm9kZUNv
bnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZh
bHVlRnVuYz4oc2V0SlNXb3JrZXJHbG9iYWxTY29wZV9UZXN0Tm9kZUNvbnN0cnVjdG9yKSB9IH0s
Ci0gICAgeyAiVGVzdE9iamVjdCIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2Fz
dDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNXb3JrZXJHbG9iYWxTY29wZV9UZXN0T2Jq
ZWN0Q29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6
UHV0VmFsdWVGdW5jPihzZXRKU1dvcmtlckdsb2JhbFNjb3BlX1Rlc3RPYmplY3RDb25zdHJ1Y3Rv
cikgfSB9LAotICAgIHsgIlRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQiLCBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywg
eyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzV29y
a2VyR2xvYmFsU2NvcGVfVGVzdFByb21pc2VSZWplY3Rpb25FdmVudENvbnN0cnVjdG9yKSwgKGlu
dHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNX
b3JrZXJHbG9iYWxTY29wZV9UZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50Q29uc3RydWN0b3IpIH0g
fSwKLSAgICB7ICJXb3JrZXJHbG9iYWxTY29wZSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClz
dGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNXb3JrZXJHbG9iYWxTY29w
ZV9Xb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQ
dXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNXb3JrZXJHbG9iYWxTY29wZV9Xb3Jr
ZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yKSB9IH0sCisgICAgeyAiRXhwb3NlZFRvV29ya2VyQW5k
V2luZG93Iiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xv
dDo6R2V0VmFsdWVGdW5jPihqc1dvcmtlckdsb2JhbFNjb3BlX0V4cG9zZWRUb1dvcmtlckFuZFdp
bmRvd0NvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6
OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAgIHsgIlRlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRC
eUV4cG9zZWQiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlT
bG90OjpHZXRWYWx1ZUZ1bmM+KGpzV29ya2VyR2xvYmFsU2NvcGVfVGVzdERlZmF1bHRUb0pTT05G
aWx0ZXJlZEJ5RXhwb3NlZENvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAgIHsgIlRlc3ROb2RlIiwgc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9J
bnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVG
dW5jPihqc1dvcmtlckdsb2JhbFNjb3BlX1Rlc3ROb2RlQ29uc3RydWN0b3IpLCAoaW50cHRyX3Qp
IHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAg
eyAiVGVzdE9iamVjdCIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9w
ZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNXb3JrZXJHbG9iYWxTY29wZV9UZXN0T2JqZWN0Q29u
c3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFs
dWVGdW5jPigwKSB9IH0sCisgICAgeyAiVGVzdFByb21pc2VSZWplY3Rpb25FdmVudCIsIHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50
cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVu
Yz4oanNXb3JrZXJHbG9iYWxTY29wZV9UZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50Q29uc3RydWN0
b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5j
PigwKSB9IH0sCisgICAgeyAiV29ya2VyR2xvYmFsU2NvcGUiLCBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50
cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzV29ya2VyR2xv
YmFsU2NvcGVfV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGlj
X2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKIH07CiAKIHN0YXRp
YyBjb25zdCBIYXNoVGFibGUgSlNXb3JrZXJHbG9iYWxTY29wZVRhYmxlID0geyA2LCAxNSwgdHJ1
ZSwgSlNXb3JrZXJHbG9iYWxTY29wZTo6aW5mbygpLCBKU1dvcmtlckdsb2JhbFNjb3BlVGFibGVW
YWx1ZXMsIEpTV29ya2VyR2xvYmFsU2NvcGVUYWJsZUluZGV4IH07CkBAIC0xODgsNyArMTgyLDcg
QEAgSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3Rv
ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2EKIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1dvcmtl
ckdsb2JhbFNjb3BlX0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvd0NvbnN0cnVjdG9yR2V0dGVyKEpT
R2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1dvcmtlckdsb2JhbFNjb3BlJiB0
aGlzT2JqZWN0KQogewogICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAg
ICByZXR1cm4gSlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3c6OmdldENvbnN0cnVjdG9yKEpTQzo6
Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCB0aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgpKTsK
KyAgICByZXR1cm4gSlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3c6OmdldENvbnN0cnVjdG9yKEpT
Qzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCAmdGhpc09iamVjdCk7CiB9CiAKIEpTQ19E
RUZJTkVfQ1VTVE9NX0dFVFRFUihqc1dvcmtlckdsb2JhbFNjb3BlX0V4cG9zZWRUb1dvcmtlckFu
ZFdpbmRvd0NvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKQEAgLTE5NiwyMiArMTkw
LDEwIEBAIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1dvcmtlckdsb2JhbFNjb3BlX0V4cG9z
ZWRUb1dvcmtlckFuZFdpbmRvd0NvbnN0cnVjdG9yCiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxK
U1dvcmtlckdsb2JhbFNjb3BlPjo6Z2V0PGpzV29ya2VyR2xvYmFsU2NvcGVfRXhwb3NlZFRvV29y
a2VyQW5kV2luZG93Q29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlz
VmFsdWUsICJFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3ciKTsKIH0KIAotc3RhdGljIGlubGluZSBi
b29sIHNldEpTV29ya2VyR2xvYmFsU2NvcGVfRXhwb3NlZFRvV29ya2VyQW5kV2luZG93Q29uc3Ry
dWN0b3JTZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTV29ya2Vy
R2xvYmFsU2NvcGUmIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCi17Ci0gICAgYXV0byYgdm0g
PSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICAvLyBTaGFkb3dpbmcgYSBi
dWlsdC1pbiBjb25zdHJ1Y3Rvci4KLSAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0s
IElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIq
PigiRXhwb3NlZFRvV29ya2VyQW5kV2luZG93IiksIHN0cmxlbigiRXhwb3NlZFRvV29ya2VyQW5k
V2luZG93IikpLCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1dv
cmtlckdsb2JhbFNjb3BlX0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvd0NvbnN0cnVjdG9yLCAoSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmli
dXRlPEpTV29ya2VyR2xvYmFsU2NvcGU+OjpzZXQ8c2V0SlNXb3JrZXJHbG9iYWxTY29wZV9FeHBv
c2VkVG9Xb3JrZXJBbmRXaW5kb3dDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiRXhwb3NlZFRvV29ya2VyQW5kV2luZG93Iik7
Ci19Ci0KIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1dvcmtlckdsb2JhbFNjb3BlX1Rlc3REZWZh
dWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWRDb25zdHJ1Y3RvckdldHRlcihKU0dsb2JhbE9iamVj
dCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNXb3JrZXJHbG9iYWxTY29wZSYgdGhpc09iamVjdCkK
IHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0dXJuIEpT
VGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZDo6Z2V0Q29uc3RydWN0b3IoSlNDOjpn
ZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRoaXNPYmplY3QuZ2xvYmFsT2JqZWN0KCkpOwor
ICAgIHJldHVybiBKU1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQ6OmdldENvbnN0
cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCAmdGhpc09iamVjdCk7CiB9
CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1dvcmtlckdsb2JhbFNjb3BlX1Rlc3REZWZh
dWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWRDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFt
ZSkpCkBAIC0yMTksMjIgKzIwMSwxMCBAQCBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNXb3Jr
ZXJHbG9iYWxTY29wZV9UZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkQwogICAgIHJl
dHVybiBJRExBdHRyaWJ1dGU8SlNXb3JrZXJHbG9iYWxTY29wZT46OmdldDxqc1dvcmtlckdsb2Jh
bFNjb3BlX1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWRDb25zdHJ1Y3RvckdldHRl
cj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgIlRlc3REZWZhdWx0VG9KU09ORmls
dGVyZWRCeUV4cG9zZWQiKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHNldEpTV29ya2VyR2xv
YmFsU2NvcGVfVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZENvbnN0cnVjdG9yU2V0
dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1dvcmtlckdsb2JhbFNj
b3BlJiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIGF1dG8mIHZtID0gSlNDOjpn
ZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4g
Y29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlm
aWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RE
ZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQiKSwgc3RybGVuKCJUZXN0RGVmYXVsdFRvSlNP
TkZpbHRlcmVkQnlFeHBvc2VkIikpLCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VTVE9NX1NF
VFRFUihzZXRKU1dvcmtlckdsb2JhbFNjb3BlX1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4
cG9zZWRDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCi17
Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1dvcmtlckdsb2JhbFNjb3BlPjo6c2V0PHNldEpT
V29ya2VyR2xvYmFsU2NvcGVfVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZENvbnN0
cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFs
dWUsICJUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkIik7Ci19Ci0KIHN0YXRpYyBp
bmxpbmUgSlNWYWx1ZSBqc1dvcmtlckdsb2JhbFNjb3BlX1Rlc3ROb2RlQ29uc3RydWN0b3JHZXR0
ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTV29ya2VyR2xvYmFsU2Nv
cGUmIHRoaXNPYmplY3QpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGxleGljYWxHbG9iYWxPYmplY3Qp
OwotICAgIHJldHVybiBKU1Rlc3ROb2RlOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhp
Y2FsR2xvYmFsT2JqZWN0KSwgdGhpc09iamVjdC5nbG9iYWxPYmplY3QoKSk7CisgICAgcmV0dXJu
IEpTVGVzdE5vZGU6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmpl
Y3QpLCAmdGhpc09iamVjdCk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1dvcmtl
ckdsb2JhbFNjb3BlX1Rlc3ROb2RlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQpA
QCAtMjQyLDIyICsyMTIsMTAgQEAgSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzV29ya2VyR2xv
YmFsU2NvcGVfVGVzdE5vZGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWMKICAgICByZXR1cm4g
SURMQXR0cmlidXRlPEpTV29ya2VyR2xvYmFsU2NvcGU+OjpnZXQ8anNXb3JrZXJHbG9iYWxTY29w
ZV9UZXN0Tm9kZUNvbnN0cnVjdG9yR2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1Zh
bHVlLCAiVGVzdE5vZGUiKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHNldEpTV29ya2VyR2xv
YmFsU2NvcGVfVGVzdE5vZGVDb25zdHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNh
bEdsb2JhbE9iamVjdCwgSlNXb3JrZXJHbG9iYWxTY29wZSYgdGhpc09iamVjdCwgSlNWYWx1ZSB2
YWx1ZSkKLXsKLSAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3Qp
OwotICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0cnVjdG9yLgotICAgIHJldHVybiB0
aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRl
cnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJUZXN0Tm9kZSIpLCBzdHJsZW4oIlRlc3ROb2RlIikp
LCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1dvcmtlckdsb2Jh
bFNjb3BlX1Rlc3ROb2RlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
VmFsdWUpKQotewotICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNXb3JrZXJHbG9iYWxTY29wZT46
OnNldDxzZXRKU1dvcmtlckdsb2JhbFNjb3BlX1Rlc3ROb2RlQ29uc3RydWN0b3JTZXR0ZXI+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIlRlc3ROb2RlIik7
Ci19Ci0KIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1dvcmtlckdsb2JhbFNjb3BlX1Rlc3RPYmpl
Y3RDb25zdHJ1Y3RvckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwg
SlNXb3JrZXJHbG9iYWxTY29wZSYgdGhpc09iamVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4
aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgcmV0dXJuIEpTVGVzdE9iajo6Z2V0Q29uc3RydWN0b3Io
SlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRoaXNPYmplY3QuZ2xvYmFsT2JqZWN0
KCkpOworICAgIHJldHVybiBKU1Rlc3RPYmo6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxl
eGljYWxHbG9iYWxPYmplY3QpLCAmdGhpc09iamVjdCk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9N
X0dFVFRFUihqc1dvcmtlckdsb2JhbFNjb3BlX1Rlc3RPYmplY3RDb25zdHJ1Y3RvciwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IFByb3BlcnR5TmFtZSkpCkBAIC0yNjUsMjIgKzIyMywxMCBAQCBKU0NfREVGSU5FX0NVU1RPTV9H
RVRURVIoanNXb3JrZXJHbG9iYWxTY29wZV9UZXN0T2JqZWN0Q29uc3RydWN0b3IsIChKU0dsb2Jh
bE9iagogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNXb3JrZXJHbG9iYWxTY29wZT46OmdldDxq
c1dvcmtlckdsb2JhbFNjb3BlX1Rlc3RPYmplY3RDb25zdHJ1Y3RvckdldHRlcj4oKmxleGljYWxH
bG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgIlRlc3RPYmplY3QiKTsKIH0KIAotc3RhdGljIGlubGlu
ZSBib29sIHNldEpTV29ya2VyR2xvYmFsU2NvcGVfVGVzdE9iamVjdENvbnN0cnVjdG9yU2V0dGVy
KEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1dvcmtlckdsb2JhbFNjb3Bl
JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRW
TSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29u
c3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVy
Ojpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RPYmpl
Y3QiKSwgc3RybGVuKCJUZXN0T2JqZWN0IikpLCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1dvcmtlckdsb2JhbFNjb3BlX1Rlc3RPYmplY3RDb25zdHJ1Y3Rvciwg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCi17Ci0gICAgcmV0dXJuIElETEF0
dHJpYnV0ZTxKU1dvcmtlckdsb2JhbFNjb3BlPjo6c2V0PHNldEpTV29ya2VyR2xvYmFsU2NvcGVf
VGVzdE9iamVjdENvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1Zh
bHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0T2JqZWN0Iik7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgSlNW
YWx1ZSBqc1dvcmtlckdsb2JhbFNjb3BlX1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnRDb25zdHJ1
Y3RvckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNXb3JrZXJH
bG9iYWxTY29wZSYgdGhpc09iamVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2Jh
bE9iamVjdCk7Ci0gICAgcmV0dXJuIEpTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudDo6Z2V0Q29u
c3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRoaXNPYmplY3QuZ2xv
YmFsT2JqZWN0KCkpOworICAgIHJldHVybiBKU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQ6Omdl
dENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCAmdGhpc09iamVj
dCk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1dvcmtlckdsb2JhbFNjb3BlX1Rl
c3RQcm9taXNlUmVqZWN0aW9uRXZlbnRDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkp
CkBAIC0yODgsMjIgKzIzNCwxMCBAQCBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNXb3JrZXJH
bG9iYWxTY29wZV9UZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50Q29uc3RydWN0bwogICAgIHJldHVy
biBJRExBdHRyaWJ1dGU8SlNXb3JrZXJHbG9iYWxTY29wZT46OmdldDxqc1dvcmtlckdsb2JhbFNj
b3BlX1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnRDb25zdHJ1Y3RvckdldHRlcj4oKmxleGljYWxH
bG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgIlRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQiKTsKIH0K
IAotc3RhdGljIGlubGluZSBib29sIHNldEpTV29ya2VyR2xvYmFsU2NvcGVfVGVzdFByb21pc2VS
ZWplY3Rpb25FdmVudENvbnN0cnVjdG9yU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBKU1dvcmtlckdsb2JhbFNjb3BlJiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVl
KQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0g
ICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNP
YmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJl
dF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQiKSwgc3RybGVu
KCJUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50IikpLCB2YWx1ZSk7Ci19Ci0KLUpTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1dvcmtlckdsb2JhbFNjb3BlX1Rlc3RQcm9taXNlUmVqZWN0aW9u
RXZlbnRDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCi17
Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1dvcmtlckdsb2JhbFNjb3BlPjo6c2V0PHNldEpT
V29ya2VyR2xvYmFsU2NvcGVfVGVzdFByb21pc2VSZWplY3Rpb25FdmVudENvbnN0cnVjdG9yU2V0
dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0
UHJvbWlzZVJlamVjdGlvbkV2ZW50Iik7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1dv
cmtlckdsb2JhbFNjb3BlX1dvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9i
YWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTV29ya2VyR2xvYmFsU2NvcGUmIHRoaXNP
YmplY3QpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIHJl
dHVybiBKU1dvcmtlckdsb2JhbFNjb3BlOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhp
Y2FsR2xvYmFsT2JqZWN0KSwgdGhpc09iamVjdC5nbG9iYWxPYmplY3QoKSk7CisgICAgcmV0dXJu
IEpTV29ya2VyR2xvYmFsU2NvcGU6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0oJmxleGljYWxH
bG9iYWxPYmplY3QpLCAmdGhpc09iamVjdCk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRF
Uihqc1dvcmtlckdsb2JhbFNjb3BlX1dvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3IsIChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBQcm9wZXJ0eU5hbWUpKQpAQCAtMzExLDE4ICsyNDUsNiBAQCBKU0NfREVGSU5FX0NVU1RPTV9H
RVRURVIoanNXb3JrZXJHbG9iYWxTY29wZV9Xb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yLCAo
SlNHbAogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNXb3JrZXJHbG9iYWxTY29wZT46OmdldDxq
c1dvcmtlckdsb2JhbFNjb3BlX1dvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3JHZXR0ZXI+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJXb3JrZXJHbG9iYWxTY29wZSIpOwogfQog
Ci1zdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNXb3JrZXJHbG9iYWxTY29wZV9Xb3JrZXJHbG9iYWxT
Y29wZUNvbnN0cnVjdG9yU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBKU1dvcmtlckdsb2JhbFNjb3BlJiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAg
IGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgLy8gU2hh
ZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0
RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNv
bnN0IExDaGFyKj4oIldvcmtlckdsb2JhbFNjb3BlIiksIHN0cmxlbigiV29ya2VyR2xvYmFsU2Nv
cGUiKSksIHZhbHVlKTsKLX0KLQotSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTV29ya2Vy
R2xvYmFsU2NvcGVfV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSkpCi17Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1dvcmtl
ckdsb2JhbFNjb3BlPjo6c2V0PHNldEpTV29ya2VyR2xvYmFsU2NvcGVfV29ya2VyR2xvYmFsU2Nv
cGVDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5j
b2RlZFZhbHVlLCAiV29ya2VyR2xvYmFsU2NvcGUiKTsKLX0KLQogSlNDOjpJc29TdWJzcGFjZSog
SlNXb3JrZXJHbG9iYWxTY29wZTo6c3Vic3BhY2VGb3JJbXBsKEpTQzo6Vk0mIHZtKQogewogICAg
IGF1dG8mIGNsaWVudERhdGEgPSAqc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGll
bnREYXRhKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1dvcmtsZXRHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCmluZGV4IGFhYTNlMWQzMjI1
MjYyMGQ5N2JmZWUyMmMwMTg0MTQyYzIwM2NjNjYuLmU4ZDk3ZDYyODRiMmY0YzQyYTU4Zjg1Mjdj
NDBjNzRkZGEyMTJlYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1dvcmtsZXRHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTV29ya2xldEdsb2JhbFNjb3BlLmNwcApAQCAtNDks
NyArNDksNiBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VT
VE9NX0dFVFRFUihqc1dvcmtsZXRHbG9iYWxTY29wZUNvbnN0cnVjdG9yKTsKIHN0YXRpYyBKU0Nf
REVDTEFSRV9DVVNUT01fR0VUVEVSKGpzV29ya2xldEdsb2JhbFNjb3BlX1dvcmtsZXRHbG9iYWxT
Y29wZUNvbnN0cnVjdG9yKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpT
V29ya2xldEdsb2JhbFNjb3BlX1dvcmtsZXRHbG9iYWxTY29wZUNvbnN0cnVjdG9yKTsKIAogdXNp
bmcgSlNXb3JrbGV0R2xvYmFsU2NvcGVET01Db25zdHJ1Y3RvciA9IEpTRE9NQ29uc3RydWN0b3JO
b3RDb25zdHJ1Y3RhYmxlPEpTV29ya2xldEdsb2JhbFNjb3BlPjsKIApAQCAtNjMsNyArNjIsNyBA
QCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNXb3JrbGV0R2xvYmFsU2Nv
cGVUYWJsZUluZGV4WzJdID0gewogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNXb3Jr
bGV0R2xvYmFsU2NvcGVUYWJsZVZhbHVlc1tdID0KIHsKLSAgICB7ICJXb3JrbGV0R2xvYmFsU2Nv
cGUiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpH
ZXRWYWx1ZUZ1bmM+KGpzV29ya2xldEdsb2JhbFNjb3BlX1dvcmtsZXRHbG9iYWxTY29wZUNvbnN0
cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVl
RnVuYz4oc2V0SlNXb3JrbGV0R2xvYmFsU2NvcGVfV29ya2xldEdsb2JhbFNjb3BlQ29uc3RydWN0
b3IpIH0gfSwKKyAgICB7ICJXb3JrbGV0R2xvYmFsU2NvcGUiLCBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50
cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzV29ya2xldEds
b2JhbFNjb3BlX1dvcmtsZXRHbG9iYWxTY29wZUNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0
aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAogfTsKIAogc3Rh
dGljIGNvbnN0IEhhc2hUYWJsZSBKU1dvcmtsZXRHbG9iYWxTY29wZVRhYmxlID0geyAxLCAxLCB0
cnVlLCBKU1dvcmtsZXRHbG9iYWxTY29wZTo6aW5mbygpLCBKU1dvcmtsZXRHbG9iYWxTY29wZVRh
YmxlVmFsdWVzLCBKU1dvcmtsZXRHbG9iYWxTY29wZVRhYmxlSW5kZXggfTsKQEAgLTE1Miw3ICsx
NTEsNyBAQCBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNXb3JrbGV0R2xvYmFsU2NvcGVDb25z
dHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpYwogc3RhdGljIGlubGluZSBKU1ZhbHVlIGpz
V29ya2xldEdsb2JhbFNjb3BlX1dvcmtsZXRHbG9iYWxTY29wZUNvbnN0cnVjdG9yR2V0dGVyKEpT
R2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1dvcmtsZXRHbG9iYWxTY29wZSYg
dGhpc09iamVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0g
ICAgcmV0dXJuIEpTV29ya2xldEdsb2JhbFNjb3BlOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZN
KCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgdGhpc09iamVjdC5nbG9iYWxPYmplY3QoKSk7CisgICAg
cmV0dXJuIEpTV29ya2xldEdsb2JhbFNjb3BlOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZs
ZXhpY2FsR2xvYmFsT2JqZWN0KSwgJnRoaXNPYmplY3QpOwogfQogCiBKU0NfREVGSU5FX0NVU1RP
TV9HRVRURVIoanNXb3JrbGV0R2xvYmFsU2NvcGVfV29ya2xldEdsb2JhbFNjb3BlQ29uc3RydWN0
b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQpAQCAtMTYwLDE4ICsxNTksNiBAQCBKU0NfREVGSU5F
X0NVU1RPTV9HRVRURVIoanNXb3JrbGV0R2xvYmFsU2NvcGVfV29ya2xldEdsb2JhbFNjb3BlQ29u
c3RydWN0b3IsIChKUwogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNXb3JrbGV0R2xvYmFsU2Nv
cGU+OjpnZXQ8anNXb3JrbGV0R2xvYmFsU2NvcGVfV29ya2xldEdsb2JhbFNjb3BlQ29uc3RydWN0
b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJXb3JrbGV0R2xvYmFs
U2NvcGUiKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHNldEpTV29ya2xldEdsb2JhbFNjb3Bl
X1dvcmtsZXRHbG9iYWxTY29wZUNvbnN0cnVjdG9yU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBKU1dvcmtsZXRHbG9iYWxTY29wZSYgdGhpc09iamVjdCwgSlNWYWx1
ZSB2YWx1ZSkKLXsKLSAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmpl
Y3QpOwotICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0cnVjdG9yLgotICAgIHJldHVy
biB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVp
bnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJXb3JrbGV0R2xvYmFsU2NvcGUiKSwgc3RybGVu
KCJXb3JrbGV0R2xvYmFsU2NvcGUiKSksIHZhbHVlKTsKLX0KLQotSlNDX0RFRklORV9DVVNUT01f
U0VUVEVSKHNldEpTV29ya2xldEdsb2JhbFNjb3BlX1dvcmtsZXRHbG9iYWxTY29wZUNvbnN0cnVj
dG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKLXsKLSAgICByZXR1cm4g
SURMQXR0cmlidXRlPEpTV29ya2xldEdsb2JhbFNjb3BlPjo6c2V0PHNldEpTV29ya2xldEdsb2Jh
bFNjb3BlX1dvcmtsZXRHbG9iYWxTY29wZUNvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJXb3JrbGV0R2xvYmFsU2NvcGUiKTsK
LX0KLQogSlNDOjpJc29TdWJzcGFjZSogSlNXb3JrbGV0R2xvYmFsU2NvcGU6OnN1YnNwYWNlRm9y
SW1wbChKU0M6OlZNJiB2bSkKIHsKICAgICBhdXRvJiBjbGllbnREYXRhID0gKnN0YXRpY19jYXN0
PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCmluZGV4IGYxMTdhYWI5MTIyZjA1NmM4MDFk
MWQxNWVhMDU1MGQzOTAzMjVmZGQuLjg5ZmQxYTQ5OWM4MTIyY2Q0YTYwZTA4YjUwN2Y0ZDlhMjI4
Njc5NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENv
bW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1h
bmQuY3BwCkBAIC02MTIsNyArNjEyLDcgQEAgdm9pZCBDb21wb3NpdGVFZGl0Q29tbWFuZDo6cmVt
b3ZlTm9kZVByZXNlcnZpbmdDaGlsZHJlbihOb2RlJiBub2RlLCBTaG91bGRBc3N1bWUKIAogdm9p
ZCBDb21wb3NpdGVFZGl0Q29tbWFuZDo6cmVtb3ZlTm9kZUFuZFBydW5lQW5jZXN0b3JzKE5vZGUm
IG5vZGUpCiB7Ci0gICAgUmVmUHRyPENvbnRhaW5lck5vZGU+IHBhcmVudCA9IG5vZGUucGFyZW50
Tm9kZSgpOworICAgIGF1dG8gcGFyZW50ID0gbWFrZVJlZlB0cihub2RlLnBhcmVudE5vZGUoKSk7
CiAgICAgcmVtb3ZlTm9kZShub2RlKTsKICAgICBwcnVuZShwYXJlbnQuZ2V0KCkpOwogfQpAQCAt
NjU2LDcgKzY1Niw3IEBAIEhUTUxFbGVtZW50KiBDb21wb3NpdGVFZGl0Q29tbWFuZDo6cmVwbGFj
ZUVsZW1lbnRXaXRoU3BhblByZXNlcnZpbmdDaGlsZHJlbkFuZEF0CiAKIHZvaWQgQ29tcG9zaXRl
RWRpdENvbW1hbmQ6OnBydW5lKE5vZGUqIG5vZGUpCiB7Ci0gICAgaWYgKGF1dG8qIGhpZ2hlc3RO
b2RlVG9SZW1vdmUgPSBoaWdoZXN0Tm9kZVRvUmVtb3ZlSW5QcnVuaW5nKG5vZGUpKQorICAgIGlm
IChhdXRvIGhpZ2hlc3ROb2RlVG9SZW1vdmUgPSBtYWtlUmVmUHRyKGhpZ2hlc3ROb2RlVG9SZW1v
dmVJblBydW5pbmcobm9kZSkpKQogICAgICAgICByZW1vdmVOb2RlKCpoaWdoZXN0Tm9kZVRvUmVt
b3ZlKTsKIH0KIApAQCAtMTI5Nyw3ICsxMjk3LDcgQEAgdm9pZCBDb21wb3NpdGVFZGl0Q29tbWFu
ZDo6Y2xlYW51cEFmdGVyRGVsZXRpb24oVmlzaWJsZVBvc2l0aW9uIGRlc3RpbmF0aW9uKQogICAg
IGlmICghY2FyZXRBZnRlckRlbGV0ZS5lcXVhbHMoZGVzdGluYXRpb24pICYmIGlzU3RhcnRPZlBh
cmFncmFwaChjYXJldEFmdGVyRGVsZXRlKSAmJiBpc0VuZE9mUGFyYWdyYXBoKGNhcmV0QWZ0ZXJE
ZWxldGUpKSB7CiAgICAgICAgIC8vIE5vdGU6IFdlIHdhbnQgdGhlIHJpZ2h0bW9zdCBjYW5kaWRh
dGUuCiAgICAgICAgIFBvc2l0aW9uIHBvc2l0aW9uID0gY2FyZXRBZnRlckRlbGV0ZS5kZWVwRXF1
aXZhbGVudCgpLmRvd25zdHJlYW0oKTsKLSAgICAgICAgTm9kZSogbm9kZSA9IHBvc2l0aW9uLmRl
cHJlY2F0ZWROb2RlKCk7CisgICAgICAgIGF1dG8gbm9kZSA9IG1ha2VSZWZQdHIocG9zaXRpb24u
ZGVwcmVjYXRlZE5vZGUoKSk7CiAgICAgICAgIEFTU0VSVChub2RlKTsKICAgICAgICAgLy8gTm9y
bWFsbHkgZGVsZXRpb24gd2lsbCBsZWF2ZSBhIGJyIGFzIGEgcGxhY2Vob2xkZXIuCiAgICAgICAg
IGlmIChpczxIVE1MQlJFbGVtZW50Pigqbm9kZSkpCkBAIC0xMzA2LDExICsxMzA2LDExIEBAIHZv
aWQgQ29tcG9zaXRlRWRpdENvbW1hbmQ6OmNsZWFudXBBZnRlckRlbGV0aW9uKFZpc2libGVQb3Np
dGlvbiBkZXN0aW5hdGlvbikKICAgICAgICAgLy8gZG9lc24ndCByZXF1aXJlIGEgcGxhY2Vob2xk
ZXIgdG8gcHJvcCBpdHNlbGYgb3BlbiAobGlrZSBhIGJvcmRlcmVkCiAgICAgICAgIC8vIGRpdiBv
ciBhbiBsaSksIHJlbW92ZSBpdCBkdXJpbmcgdGhlIG1vdmUgKHRoZSBsaXN0IHJlbW92YWwgY29k
ZQogICAgICAgICAvLyBleHBlY3RzIHRoaXMgYmVoYXZpb3IpLgotICAgICAgICBlbHNlIGlmIChp
c0Jsb2NrKG5vZGUpKSB7CisgICAgICAgIGVsc2UgaWYgKGlzQmxvY2sobm9kZS5nZXQoKSkpIHsK
ICAgICAgICAgICAgIC8vIElmIGNhcmV0IHBvc2l0aW9uIGFmdGVyIGRlbGV0aW9uIGFuZCBkZXN0
aW5hdGlvbiBwb3NpdGlvbiBjb2luY2lkZXMsCiAgICAgICAgICAgICAvLyBub2RlIHNob3VsZCBu
b3QgYmUgcmVtb3ZlZC4KICAgICAgICAgICAgIGlmICghcG9zaXRpb24ucmVuZGVyc0luRGlmZmVy
ZW50UG9zaXRpb24oZGVzdGluYXRpb24uZGVlcEVxdWl2YWxlbnQoKSkpIHsKLSAgICAgICAgICAg
ICAgICBwcnVuZShub2RlKTsKKyAgICAgICAgICAgICAgICBwcnVuZShub2RlLmdldCgpKTsKICAg
ICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICByZW1vdmVO
b2RlQW5kUHJ1bmVBbmNlc3RvcnMoKm5vZGUpOwpAQCAtMTYyNywxMSArMTYyNywxMSBAQCBib29s
IENvbXBvc2l0ZUVkaXRDb21tYW5kOjpicmVha091dE9mRW1wdHlNYWlsQmxvY2txdW90ZWRQYXJh
Z3JhcGgoKQogICAgIGVsc2UgaWYgKGlzPFRleHQ+KCpjYXJldFBvcy5kZXByZWNhdGVkTm9kZSgp
KSkgewogICAgICAgICBBU1NFUlQoY2FyZXRQb3MuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSA9
PSAwKTsKICAgICAgICAgVGV4dCYgdGV4dE5vZGUgPSBkb3duY2FzdDxUZXh0PigqY2FyZXRQb3Mu
ZGVwcmVjYXRlZE5vZGUoKSk7Ci0gICAgICAgIENvbnRhaW5lck5vZGUqIHBhcmVudE5vZGUgPSB0
ZXh0Tm9kZS5wYXJlbnROb2RlKCk7CisgICAgICAgIGF1dG8gcGFyZW50Tm9kZSA9IG1ha2VSZWZQ
dHIodGV4dE5vZGUucGFyZW50Tm9kZSgpKTsKICAgICAgICAgLy8gVGhlIHByZXNlcnZlZCBuZXds
aW5lIG11c3QgYmUgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBub2RlLCBzaW5jZSBvdGhlcndpc2Ug
dGhlIHByZXZpb3VzCiAgICAgICAgIC8vIHBhcmFncmFwaCB3b3VsZCBiZSBxdW90ZWQsIGFuZCB3
ZSB2ZXJpZmllZCB0aGF0IGl0IHdhc24ndCBhYm92ZS4KICAgICAgICAgZGVsZXRlVGV4dEZyb21O
b2RlKHRleHROb2RlLCAwLCAxKTsKLSAgICAgICAgcHJ1bmUocGFyZW50Tm9kZSk7CisgICAgICAg
IHBydW5lKHBhcmVudE5vZGUuZ2V0KCkpOwogICAgIH0KIAogICAgIHJldHVybiB0cnVlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRWRpdGluZy5jcHAKaW5kZXggZTk3YTE3Yjg1NTU2MDIwMjEzMDA3MDQ0YTQx
NWYzM2QxMWE1ZjdjZC4uZTMzZGE1ODlkN2MyZGE1MGQ4YTY2N2YwMzE5MDMzOWM0NWE2OTQ2MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmcuY3BwCkBAIC02MjgsMTIgKzYyOCwxMiBAQCBOb2Rl
KiBoaWdoZXN0Tm9kZVRvUmVtb3ZlSW5QcnVuaW5nKE5vZGUqIG5vZGUpCiB7CiAgICAgTm9kZSog
cHJldmlvdXNOb2RlID0gbnVsbHB0cjsKICAgICBhdXRvKiByb290RWRpdGFibGVFbGVtZW50ID0g
bm9kZSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQoKSA6IG51bGxwdHI7Ci0gICAgZm9yICg7
IG5vZGU7IG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCkpIHsKLSAgICAgICAgaWYgKGF1dG8qIHJl
bmRlcmVyID0gbm9kZS0+cmVuZGVyZXIoKSkgewotICAgICAgICAgICAgaWYgKCFyZW5kZXJlci0+
Y2FuSGF2ZUNoaWxkcmVuKCkgfHwgaGFzQVJlbmRlcmVkRGVzY2VuZGFudChub2RlLCBwcmV2aW91
c05vZGUpIHx8IHJvb3RFZGl0YWJsZUVsZW1lbnQgPT0gbm9kZSkKKyAgICBmb3IgKGF1dG8gY3Vy
cmVudE5vZGUgPSBtYWtlUmVmUHRyKG5vZGUpOyBjdXJyZW50Tm9kZTsgY3VycmVudE5vZGUgPSBj
dXJyZW50Tm9kZS0+cGFyZW50Tm9kZSgpKSB7CisgICAgICAgIGlmIChhdXRvKiByZW5kZXJlciA9
IGN1cnJlbnROb2RlLT5yZW5kZXJlcigpKSB7CisgICAgICAgICAgICBpZiAoIXJlbmRlcmVyLT5j
YW5IYXZlQ2hpbGRyZW4oKSB8fCBoYXNBUmVuZGVyZWREZXNjZW5kYW50KGN1cnJlbnROb2RlLmdl
dCgpLCBwcmV2aW91c05vZGUpIHx8IHJvb3RFZGl0YWJsZUVsZW1lbnQgPT0gY3VycmVudE5vZGUu
Z2V0KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHByZXZpb3VzTm9kZTsKICAgICAgICAgfQot
ICAgICAgICBwcmV2aW91c05vZGUgPSBub2RlOworICAgICAgICBwcmV2aW91c05vZGUgPSBjdXJy
ZW50Tm9kZS5nZXQoKTsKICAgICB9CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCmluZGV4IGQ0
ODI2NzBmYjdjMjE1NGRjMjQ4Mjg0YzViOTg3OGMyNDMzOTM4ODQuLjFhZmFmMDhhMzcxNTBjYmY3
NmQ4YjQ1YWI0YjVjYzFkNTc5ZmMyNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCkBAIC0xMjk3LDExICsxMjk3LDEyIEBAIHZv
aWQgUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6OmRvQXBwbHkoKQogICAgICAgICBpbnNlcnROb2Rl
QXQoSFRNTEJSRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KCkpLCBzdGFydE9mSW5zZXJ0ZWRDb250
ZW50LmRlZXBFcXVpdmFsZW50KCkpOwogCiAgICAgaWYgKGVuZEJSICYmIChwbGFpblRleHRGcmFn
bWVudCB8fCBzaG91bGRSZW1vdmVFbmRCUihlbmRCUi5nZXQoKSwgb3JpZ2luYWxWaXNQb3NCZWZv
cmVFbmRCUikpKSB7Ci0gICAgICAgIFJlZlB0cjxOb2RlPiBwYXJlbnQgPSBlbmRCUi0+cGFyZW50
Tm9kZSgpOworICAgICAgICBhdXRvIHBhcmVudCA9IG1ha2VSZWZQdHIoZW5kQlItPnBhcmVudE5v
ZGUoKSk7CiAgICAgICAgIGluc2VydGVkTm9kZXMud2lsbFJlbW92ZU5vZGUoZW5kQlIuZ2V0KCkp
OwogICAgICAgICByZW1vdmVOb2RlKCplbmRCUik7Ci0gICAgICAgIGlmIChOb2RlKiBub2RlVG9S
ZW1vdmUgPSBoaWdoZXN0Tm9kZVRvUmVtb3ZlSW5QcnVuaW5nKHBhcmVudC5nZXQoKSkpIHsKLSAg
ICAgICAgICAgIGluc2VydGVkTm9kZXMud2lsbFJlbW92ZU5vZGUobm9kZVRvUmVtb3ZlKTsKKyAg
ICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsK
KyAgICAgICAgaWYgKGF1dG8gbm9kZVRvUmVtb3ZlID0gbWFrZVJlZlB0cihoaWdoZXN0Tm9kZVRv
UmVtb3ZlSW5QcnVuaW5nKHBhcmVudC5nZXQoKSkpKSB7CisgICAgICAgICAgICBpbnNlcnRlZE5v
ZGVzLndpbGxSZW1vdmVOb2RlKG5vZGVUb1JlbW92ZS5nZXQoKSk7CiAgICAgICAgICAgICByZW1v
dmVOb2RlKCpub2RlVG9SZW1vdmUpOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcAppbmRleCA5ZTZiM2IyYTFhZmYzNDFmOTdhYzYxYTMw
Nzc3OTlhN2U0ODA2ZTdlLi4zZDc2NDFjMjIxZTMxZTRmY2RhNmY1MjdhODcxNThlMWI5NjQ2MDY1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcApAQCAtMjkzLDcg
KzI5MywxNCBAQCB2b2lkIEhUTUxQbHVnSW5FbGVtZW50OjpkaWRBZGRVc2VyQWdlbnRTaGFkb3dS
b290KFNoYWRvd1Jvb3QmIHJvb3QpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICByb290LnNl
dFJlc2V0U3R5bGVJbmhlcml0YW5jZSh0cnVlKTsKLSAgICBpZiAobV9wbHVnaW5SZXBsYWNlbWVu
dC0+aW5zdGFsbFJlcGxhY2VtZW50KHJvb3QpKSB7CisgICAgYXV0byByZXN1bHQgPSBtX3BsdWdp
blJlcGxhY2VtZW50LT5pbnN0YWxsUmVwbGFjZW1lbnQocm9vdCk7CisKKyNpZiBQTEFURk9STShD
T0NPQSkKKyAgICBSRUxFQVNFX0FTU0VSVChyZXN1bHQuc3VjY2VzcyB8fCAhcmVzdWx0LnNjcmlw
dE9iamVjdCk7CisgICAgbV9wbHVnaW5SZXBsYWNlbWVudFNjcmlwdE9iamVjdCA9IHJlc3VsdC5z
Y3JpcHRPYmplY3Q7CisjZW5kaWYKKworICAgIGlmIChyZXN1bHQuc3VjY2VzcykgewogICAgICAg
ICBzZXREaXNwbGF5U3RhdGUoRGlzcGxheWluZ1BsdWdpblJlcGxhY2VtZW50KTsKICAgICAgICAg
aW52YWxpZGF0ZVN0eWxlQW5kUmVuZGVyZXJzRm9yU3VidHJlZSgpOwogICAgIH0KQEAgLTM4OSw5
ICszOTYsMTQgQEAgYm9vbCBIVE1MUGx1Z0luRWxlbWVudDo6cmVxdWVzdE9iamVjdChjb25zdCBT
dHJpbmcmIHJlbGF0aXZlVVJMLCBjb25zdCBTdHJpbmcmIG0KIAogSlNDOjpKU09iamVjdCogSFRN
TFBsdWdJbkVsZW1lbnQ6OnNjcmlwdE9iamVjdEZvclBsdWdpblJlcGxhY2VtZW50KCkKIHsKLSAg
ICBpZiAobV9wbHVnaW5SZXBsYWNlbWVudCkKLSAgICAgICAgcmV0dXJuIG1fcGx1Z2luUmVwbGFj
ZW1lbnQtPnNjcmlwdE9iamVjdCgpOworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIEpTQzo6SlNW
YWx1ZSB2YWx1ZSA9IG1fcGx1Z2luUmVwbGFjZW1lbnRTY3JpcHRPYmplY3Q7CisgICAgaWYgKCF2
YWx1ZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIHZhbHVlLmdldE9iamVj
dCgpOworI2Vsc2UKICAgICByZXR1cm4gbnVsbHB0cjsKKyNlbmRpZgogfQogCiBib29sIEhUTUxQ
bHVnSW5FbGVtZW50Ojppc0JlbG93U2l6ZVRocmVzaG9sZCgpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxQbHVnSW5FbGVtZW50LmgKaW5kZXggNmY4MDc0ZDBlOTlmMzk0Y2EyMzE5OGVjZWZj
ZmNlYjE3ZTQ4MDliMC4uMDFmZGQ5NzVjMWExMzJlOTk0NmIwYTVhNjBkOWQ4YjAwMzdiNzEwYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaApAQCAtMjQsNiArMjQsNyBA
QAogCiAjaW5jbHVkZSAiSFRNTEZyYW1lT3duZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSW1hZ2Uu
aCIKKyNpbmNsdWRlICJKU1ZhbHVlSW5XcmFwcGVkT2JqZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVy
RW1iZWRkZWRPYmplY3QuaCIKIAogbmFtZXNwYWNlIEpTQyB7CkBAIC01OSw2ICs2MCw5IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldERpc3BsYXlTdGF0ZShEaXNwbGF5U3RhdGUpOwogCiAgICAgSlND
OjpKU09iamVjdCogc2NyaXB0T2JqZWN0Rm9yUGx1Z2luUmVwbGFjZW1lbnQoKTsKKyNpZiBQTEFU
Rk9STShDT0NPQSkKKyAgICBKU1ZhbHVlSW5XcmFwcGVkT2JqZWN0JiBwbHVnaW5SZXBsYWNlbWVu
dFNjcmlwdE9iamVjdCgpIHsgcmV0dXJuIG1fcGx1Z2luUmVwbGFjZW1lbnRTY3JpcHRPYmplY3Q7
IH0KKyNlbmRpZgogCiAgICAgYm9vbCBpc0NhcHR1cmluZ01vdXNlRXZlbnRzKCkgY29uc3QgeyBy
ZXR1cm4gbV9pc0NhcHR1cmluZ01vdXNlRXZlbnRzOyB9CiAgICAgdm9pZCBzZXRJc0NhcHR1cmlu
Z01vdXNlRXZlbnRzKGJvb2wgY2FwdHVyaW5nKSB7IG1faXNDYXB0dXJpbmdNb3VzZUV2ZW50cyA9
IGNhcHR1cmluZzsgfQpAQCAtMTE2LDYgKzEyMCw5IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPEpT
Qzo6QmluZGluZ3M6Okluc3RhbmNlPiBtX2luc3RhbmNlOwogICAgIFRpbWVyIG1fc3dhcFJlbmRl
cmVyVGltZXI7CiAgICAgUmVmUHRyPFBsdWdpblJlcGxhY2VtZW50PiBtX3BsdWdpblJlcGxhY2Vt
ZW50OworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIEpTVmFsdWVJbldyYXBwZWRPYmplY3QgbV9w
bHVnaW5SZXBsYWNlbWVudFNjcmlwdE9iamVjdDsKKyNlbmRpZgogICAgIGJvb2wgbV9pc0NhcHR1
cmluZ01vdXNlRXZlbnRzIHsgZmFsc2UgfTsKICAgICBib29sIG1faW5CZWZvcmVMb2FkRXZlbnRI
YW5kbGVyIHsgZmFsc2UgfTsKICAgICBEaXNwbGF5U3RhdGUgbV9kaXNwbGF5U3RhdGUgeyBQbGF5
aW5nIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKaW5kZXggMTMwZTczZWRiYzI4YzA4Mjg4MzFh
NThjMjJmM2M1MWNlNjdkMTBlNy4uNjMyNzdlZjdhNDIyYmNjYzdkOTUxNGMyZTRiYmE3ODhiZWEw
YmZiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcApAQCAtMTY3LDYgKzE2NywxNCBAQCBGbG9h
dFBvaW50IFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjptYXhpbXVtU2Nyb2xsUG9zaXRpb24o
KSBjb25zdAogCiBib29sIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpldmVudENhblNjcm9s
bENvbnRlbnRzKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCkgY29uc3QKIHsK
KyNpZiBQTEFURk9STShHVEspCisgICAgLy8gSW4gY2FzZSBvZiBHVEsgcGxhdGZvcm0gdGhlIGVu
ZCBvZiBtb21lbnR1bSBzY3JvbGwgZXZlbnRzCisgICAgLy8gYWx3YXlzIGhhdmUgYSBkZWx0YSBv
ZiAwLiBNb3JlIGluZm9ybWF0aW9uIGluIHRoZSBkb2N1bWVudGF0aW9uCisgICAgLy8gb2YgdGhl
IEFQSSBnZGtfZXZlbnRfaXNfc2Nyb2xsX3N0b3BfZXZlbnQuCisgICAgaWYgKHdoZWVsRXZlbnQu
aXNFbmRPZk5vbk1vbWVudHVtU2Nyb2xsKCkpCisgICAgICAgIHJldHVybiB0cnVlOworI2VuZGlm
CisKICAgICBpZiAod2hlZWxFdmVudC5kZWx0YSgpLmlzWmVybygpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29z
aWEvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5jcHAKaW5kZXggYWQwY2NjNmMx
ZWQwYWNhZWRlZGIwNjQwYWY2ODlkOGExNGRiYTlmMC4uZDcxZTM1N2Y4MjhmZGE1OTNmMjE5ZjA1
MDhjZTdiNGM5NDg0MDI1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5jcHAKQEAg
LTExOCw3ICsxMTgsNyBAQCBGbG9hdFBvaW50IFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlOjpjb21w
dXRlTGF5ZXJQb3NpdGlvbigpIGNvbnN0CiAgICAgICAgICAgICBjb25zdHJhaW5pbmdSZWN0ID0g
ZnJhbWVTY3JvbGxpbmdOb2RlLmxheW91dFZpZXdwb3J0KCk7CiAgICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgICAgICBhdXRvJiBvdmVyZmxvd1Njcm9sbGluZ05vZGUgPSBkb3duY2FzdDxTY3JvbGxp
bmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlPihzY3JvbGxpbmdOb2RlKTsKLSAgICAgICAgICAg
IGNvbnN0cmFpbmluZ1JlY3QgPSBGbG9hdFJlY3Qob3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmN1cnJl
bnRTY3JvbGxQb3NpdGlvbigpLCBtX2NvbnN0cmFpbnRzLmNvbnN0cmFpbmluZ1JlY3RBdExhc3RM
YXlvdXQoKS5zaXplKCkpOworICAgICAgICAgICAgY29uc3RyYWluaW5nUmVjdCA9IEZsb2F0UmVj
dChvdmVyZmxvd1Njcm9sbGluZ05vZGUuY3VycmVudFNjcm9sbE9mZnNldCgpLCBtX2NvbnN0cmFp
bnRzLmNvbnN0cmFpbmluZ1JlY3RBdExhc3RMYXlvdXQoKS5zaXplKCkpOwogICAgICAgICB9CiAg
ICAgICAgIHJldHVybiBtX2NvbnN0cmFpbnRzLmxheWVyUG9zaXRpb25Gb3JDb25zdHJhaW5pbmdS
ZWN0KGNvbnN0cmFpbmluZ1JlY3QpOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UubW0KaW5k
ZXggNTBhZGNiZjQ1NjVhZWUyMTI3MWU2MTJjMDJmZGNkYWZkZTI0MzRmZi4uNTU4YzM4MmEyZTg0
NWIxZTA4ZDAxZDMzZGI3ZjI4YzdhMWZlY2RjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbQpA
QCAtMjM5LDE4ICsyMzksMTEgQEAgYm9vbCBBdWRpb1NhbXBsZURhdGFTb3VyY2U6OnB1bGxTYW1w
bGVzSW50ZXJuYWwoQXVkaW9CdWZmZXJMaXN0JiBidWZmZXIsIHNpemVfdAogCiAgICAgICAgIG1f
b3V0cHV0U2FtcGxlT2Zmc2V0ID0gKGVuZEZyYW1lIC0gc2FtcGxlQ291bnQpIC0gdGltZVN0YW1w
OwogICAgICAgICBtX291dHB1dFNhbXBsZU9mZnNldCAtPSBjb21wdXRlT2Zmc2V0RGVsYXkobV9v
dXRwdXREZXNjcmlwdGlvbi0+c2FtcGxlUmF0ZSgpLCBtX2xhc3RQdXNoZWRTYW1wbGVDb3VudCk7
Ci0gICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbbG9nSWRlbnRpZmllciA9IExPR0lE
RU5USUZJRVIsIG91dHB1dFNhbXBsZU9mZnNldCA9IG1fb3V0cHV0U2FtcGxlT2Zmc2V0LCB0aGlz
LCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZlB0cigqdGhpcyldIHsKLSAgICAgICAgICAgIEFMV0FZ
U19MT0cobG9nSWRlbnRpZmllciwgInNldHRpbmcgbmV3IG9mZnNldCB0byAiLCBvdXRwdXRTYW1w
bGVPZmZzZXQpOwotICAgICAgICB9KTsKICAgICB9CiAKICAgICB0aW1lU3RhbXAgKz0gbV9vdXRw
dXRTYW1wbGVPZmZzZXQ7CiAKICAgICBpZiAodGltZVN0YW1wIDwgc3RhcnRGcmFtZSB8fCB0aW1l
U3RhbXAgKyBzYW1wbGVDb3VudCA+IGVuZEZyYW1lKSB7Ci0gICAgICAgIFJ1bkxvb3A6Om1haW4o
KS5kaXNwYXRjaChbbG9nSWRlbnRpZmllciA9IExPR0lERU5USUZJRVIsIHRpbWVTdGFtcCwgc3Rh
cnRGcmFtZSwgZW5kRnJhbWUsIHNhbXBsZUNvdW50LCBvdXRwdXRTYW1wbGVPZmZzZXQgPSBtX291
dHB1dFNhbXBsZU9mZnNldCwgdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIoKnRoaXMp
XSB7Ci0gICAgICAgICAgICBFUlJPUl9MT0cobG9nSWRlbnRpZmllciwgIm5vdCBlbm91Z2ggZGF0
YSwgc2FtcGxlICIsIHRpbWVTdGFtcCwgIiB3aXRoIG9mZnNldCAiLCBvdXRwdXRTYW1wbGVPZmZz
ZXQsICIsIHRyeWluZyB0byBnZXQgIiwgc2FtcGxlQ291bnQsICIgc2FtcGxlcywgYnV0IG5vdCBj
b21wbGV0ZWx5IGluIHJhbmdlIFsiLCBzdGFydEZyYW1lLCAiIC4uICIsIGVuZEZyYW1lLCAiXSIp
OwotICAgICAgICB9KTsKLQogICAgICAgICBpZiAodGltZVN0YW1wIDwgc3RhcnRGcmFtZSB8fCB0
aW1lU3RhbXAgPj0gZW5kRnJhbWUpIHsKICAgICAgICAgICAgIC8vIFdlIGFyZSBvdXQgb2YgdGhl
IHdpbmRvdywgbGV0J3MgcmVzdGFydCB0aGUgb2Zmc2V0IGNvbXB1dGF0aW9uLgogICAgICAgICAg
ICAgbV9zaG91bGRDb21wdXRlT3V0cHV0U2FtcGxlT2Zmc2V0ID0gdHJ1ZTsKQEAgLTI2MCw5ICsy
NTMsNiBAQCBib29sIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6cHVsbFNhbXBsZXNJbnRlcm5hbChB
dWRpb0J1ZmZlckxpc3QmIGJ1ZmZlciwgc2l6ZV90CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAg
ICAgICAvLyBXZSBhcmUgdG9vIGNsb3NlIGZyb20gZW5kRnJhbWUsIGxldCdzIHdhaXQgZm9yIG1v
cmUgZGF0YSB0byBiZSBwdXNoZWQuCiAgICAgICAgICAgICBtX291dHB1dFNhbXBsZU9mZnNldCAt
PSBzYW1wbGVDb3VudDsKLSAgICAgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbbG9n
SWRlbnRpZmllciA9IExPR0lERU5USUZJRVIsIG91dHB1dFNhbXBsZU9mZnNldCA9IG1fb3V0cHV0
U2FtcGxlT2Zmc2V0LCB0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZlB0cigqdGhpcyldIHsK
LSAgICAgICAgICAgICAgICBBTFdBWVNfTE9HKGxvZ0lkZW50aWZpZXIsICJ1cGRhdGluZyBvZmZz
ZXQgdG8gIiwgb3V0cHV0U2FtcGxlT2Zmc2V0KTsKLSAgICAgICAgICAgIH0pOwogICAgICAgICB9
CiAgICAgICAgIEF1ZGlvU2FtcGxlQnVmZmVyTGlzdDo6emVyb0FCTChidWZmZXIsIGJ5dGVDb3Vu
dCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9wby9wbC5wbyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9wby9wbC5w
bwppbmRleCAwYzkxZjgzN2YxYzdmMmI0NTExMjRkMzE0NDc0N2FmZmVhNmRmMGI2Li4yZjlmYjNj
NjY3OTJlNjZjODJhYmI1NDkxOGU5MTA2NmIwY2ZkZTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvcG8vcGwucG8KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3RrL3BvL3BsLnBvCkBAIC0xLDE2ICsxLDE2IEBACiAjIFBvbGlzaCB0cmFuc2xhdGlvbiBmb3Ig
d2Via2l0Z3RrLgotIyBDb3B5cmlnaHQgwqkgMjAxMS0yMDIwIHRoZSB3ZWJraXRndGsgYXV0aG9y
cy4KKyMgQ29weXJpZ2h0IMKpIDIwMTEtMjAyMSB0aGUgd2Via2l0Z3RrIGF1dGhvcnMuCiAjIFRo
aXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSB3ZWJr
aXRndGsgcGFja2FnZS4KLSMgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+LCAyMDEx
LTIwMjAuCi0jIEF2aWFyeS5wbCA8Y29tbXVuaXR5LXBvbGFuZEBtb3ppbGxhLm9yZz4sIDIwMTEt
MjAyMC4KKyMgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+LCAyMDExLTIwMjEuCisj
IEF2aWFyeS5wbCA8Y29tbXVuaXR5LXBvbGFuZEBtb3ppbGxhLm9yZz4sIDIwMTEtMjAyMS4KICMK
IG1zZ2lkICIiCiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IHdlYmtpdGd0a1xuIgog
IlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9lbnRlcl9idWcu
Y2dpPyIKICJwcm9kdWN0PVdlYktpdCZjb21wb25lbnQ9V2ViS2l0R1RLXG4iCi0iUE9ULUNyZWF0
aW9uLURhdGU6IDIwMjAtMDctMTMgMDg6MzIrMDAwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIw
MjAtMDgtMTYgMTA6MDIrMDIwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDIxLTAyLTEwIDAz
OjQzKzAwMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDIxLTAzLTEzIDE4OjEyKzAxMDBcbiIK
ICJMYXN0LVRyYW5zbGF0b3I6IFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPlxuIgog
Ikxhbmd1YWdlLVRlYW06IFBvbGlzaCA8Y29tbXVuaXR5LXBvbGFuZEBtb3ppbGxhLm9yZz5cbiIK
ICJMYW5ndWFnZTogcGxcbiIKQEAgLTEwMjgsMTA0ICsxMDI4LDEwMCBAQCBtc2dpZCAiQ2xpY2sg
dG8gRXhpdCBGdWxsIFNjcmVlbiIKIG1zZ3N0ciAiS2xpa25pxJljaWUgd3nFgsSFY3p5IHBlxYJu
eSBla3JhbiIKIAogIzogLi4vLi4vTG9jYWxpemVkU3RyaW5ncy5jcHA6MTA4MwotbXNnaWQgIlN1
YnRpdGxlcyIKLW1zZ3N0ciAiUG9kcGlzeSIKLQotIzogLi4vLi4vTG9jYWxpemVkU3RyaW5ncy5j
cHA6MTA4OAogbXNnaWQgIk9mZiIKIG1zZ3N0ciAiV3nFgsSFY3pvbmUiCiAKLSM6IC4uLy4uL0xv
Y2FsaXplZFN0cmluZ3MuY3BwOjEwOTMKKyM6IC4uLy4uL0xvY2FsaXplZFN0cmluZ3MuY3BwOjEw
ODgKIG1zZ2lkICJBdXRvIChSZWNvbW1lbmRlZCkiCiBtc2dzdHIgIkF1dG9tYXR5Y3puaWUgKHph
bGVjYW5lKSIKIAotIzogLi4vLi4vTG9jYWxpemVkU3RyaW5ncy5jcHA6MTA5OAorIzogLi4vLi4v
TG9jYWxpemVkU3RyaW5ncy5jcHA6MTA5MwogbXNnY3R4dCAiTWVudSBpdGVtIGxhYmVsIGZvciBh
IHRleHQgdHJhY2sgdGhhdCBoYXMgbm8gb3RoZXIgbmFtZSIKIG1zZ2lkICJVbmtub3duIgogbXNn
c3RyICJOaWV6bmFuZSIKIAotIzogLi4vLi4vTG9jYWxpemVkU3RyaW5ncy5jcHA6MTEwMworIzog
Li4vLi4vTG9jYWxpemVkU3RyaW5ncy5jcHA6MTA5OAogbXNnY3R4dCAiTWVudSBpdGVtIGxhYmVs
IGZvciBhbiBhdWRpbyB0cmFjayB0aGF0IGhhcyBubyBvdGhlciBuYW1lIgogbXNnaWQgIlVua25v
d24iCiBtc2dzdHIgIk5pZXpuYW5lIgogCi0jOiAuLi8uLi9Mb2NhbGl6ZWRTdHJpbmdzLmNwcDox
MTQ3CisjOiAuLi8uLi9Mb2NhbGl6ZWRTdHJpbmdzLmNwcDoxMTQyCiBtc2dpZCAiU25hcHNob3R0
ZWQgUGx1Zy1JbiIKIG1zZ3N0ciAiTWlnYXdrYSB3dHljemtpIgogCi0jOiAuLi8uLi9Mb2NhbGl6
ZWRTdHJpbmdzLmNwcDoxMTUyCisjOiAuLi8uLi9Mb2NhbGl6ZWRTdHJpbmdzLmNwcDoxMTQ3CiBt
c2dpZCAiQ2xpY2sgdG8gcmVzdGFydCIKIG1zZ3N0ciAiS2xpa25pxJljaWUgdXJ1Y2hvbWkgcG9u
b3duaWUiCiAKLSM6IC4uLy4uL0xvY2FsaXplZFN0cmluZ3MuY3BwOjExNTcKKyM6IC4uLy4uL0xv
Y2FsaXplZFN0cmluZ3MuY3BwOjExNTIKIG1zZ2lkICJTaG93IGluIGJsb2NrZWQgcGx1Zy1pbiIK
IG1zZ3N0ciAiV3nFm3dpZXRsIHfCoHphYmxva293YW5laiB3dHljemNlIgogCi0jOiAuLi8uLi9M
b2NhbGl6ZWRTdHJpbmdzLmNwcDoxMTY3CisjOiAuLi8uLi9Mb2NhbGl6ZWRTdHJpbmdzLmNwcDox
MTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIFdlYkNyeXB0byBNYXN0ZXIgS2V5IgogbXNnc3Ry
ICJHxYLDs3dueSBrbHVjeiBXZWJDcnlwdG8gJXMiCiAKLSM6IC4uLy4uL0xvY2FsaXplZFN0cmlu
Z3MuY3BwOjExNjkKKyM6IC4uLy4uL0xvY2FsaXplZFN0cmluZ3MuY3BwOjExNjQKIG1zZ2lkICI8
YXBwbGljYXRpb24+IFdlYkNyeXB0byBNYXN0ZXIgS2V5IgogbXNnc3RyICJHxYLDs3dueSBrbHVj
eiBXZWJDcnlwdG8gPGFwbGlrYWNqaT4iCiAKLSM6IC4uLy4uL0xvY2FsaXplZFN0cmluZ3MuY3Bw
OjExNzUKKyM6IC4uLy4uL0xvY2FsaXplZFN0cmluZ3MuY3BwOjExNzAKIG1zZ2lkICJVc2VkIHRv
IGVuY3J5cHQgV2ViQ3J5cHRvIGtleXMgaW4gcGVyc2lzdGVudCBzdG9yYWdlLCBzdWNoIGFzIElu
ZGV4ZWREQiIKIG1zZ3N0ciAiIgogIlXFvHl3YW55IGRvIHN6eWZyb3dhbmlhIGtsdWN6eSBXZWJD
cnlwdG8gd8KgdHJ3YcWCeWNoIHJvZHphamFjaCBwYW1pxJljaSwgdGFraWNoICIKICJqYWsgSW5k
ZXhlZERCIgogCi0jOiAuLi8uLi9Mb2NhbGl6ZWRTdHJpbmdzLmNwcDoxMTg0CisjOiAuLi8uLi9M
b2NhbGl6ZWRTdHJpbmdzLmNwcDoxMTc5CiBtc2djdHh0ICJUaXRsZSBvZiB0aGUgT0sgYnV0dG9u
IGZvciB0aGUgbnVtYmVyIHBhZCBpbiB6b29tZWQgZm9ybSBjb250cm9scy4iCiBtc2dpZCAiT0si
CiBtc2dzdHIgIk9LIgogCi0jOiAuLi8uLi9Mb2NhbGl6ZWRTdHJpbmdzLmNwcDoxMTg5CisjOiAu
Li8uLi9Mb2NhbGl6ZWRTdHJpbmdzLmNwcDoxMTg0CiBtc2dpZCAiRG9uZSIKIG1zZ3N0ciAiR290
b3dlIgogCi0jOiAuLi8uLi9Mb2NhbGl6ZWRTdHJpbmdzLmNwcDoxMTk0CisjOiAuLi8uLi9Mb2Nh
bGl6ZWRTdHJpbmdzLmNwcDoxMTg5CiBtc2dpZCAiQ2FuY2VsIgogbXNnc3RyICJBbnVsdWoiCiAK
LSM6IC4uLy4uL0xvY2FsaXplZFN0cmluZ3MuY3BwOjExOTkKKyM6IC4uLy4uL0xvY2FsaXplZFN0
cmluZ3MuY3BwOjExOTQKIG1zZ2lkICJIaWRlIgogbXNnc3RyICJVa3J5aiIKIAotIzogLi4vLi4v
TG9jYWxpemVkU3RyaW5ncy5jcHA6MTIwNAorIzogLi4vLi4vTG9jYWxpemVkU3RyaW5ncy5jcHA6
MTE5OQogbXNnaWQgIkdvIgogbXNnc3RyICJQcnplamTFuiIKIAotIzogLi4vLi4vTG9jYWxpemVk
U3RyaW5ncy5jcHA6MTIwOQorIzogLi4vLi4vTG9jYWxpemVkU3RyaW5ncy5jcHA6MTIwNAogbXNn
aWQgIlNlYXJjaCIKIG1zZ3N0ciAiV3lzenVrYWoiCiAKLSM6IC4uLy4uL0xvY2FsaXplZFN0cmlu
Z3MuY3BwOjEyMTQKKyM6IC4uLy4uL0xvY2FsaXplZFN0cmluZ3MuY3BwOjEyMDkKIG1zZ2N0eHQg
IlNldCBidXR0b24gYmVsb3cgZGF0ZSBwaWNrZXIiCiBtc2dpZCAiU2V0IgogbXNnc3RyICJVc3Rh
dyIKIAotIzogLi4vLi4vTG9jYWxpemVkU3RyaW5ncy5jcHA6MTIxOQorIzogLi4vLi4vTG9jYWxp
emVkU3RyaW5ncy5jcHA6MTIxNAogbXNnY3R4dCAiRGF5IGxhYmVsIGluIGRhdGUgcGlja2VyIgog
bXNnaWQgIkRBWSIKIG1zZ3N0ciAiRFpJRcWDIgogCi0jOiAuLi8uLi9Mb2NhbGl6ZWRTdHJpbmdz
LmNwcDoxMjI0CisjOiAuLi8uLi9Mb2NhbGl6ZWRTdHJpbmdzLmNwcDoxMjE5CiBtc2djdHh0ICJN
b250aCBsYWJlbCBpbiBkYXRlIHBpY2tlciIKIG1zZ2lkICJNT05USCIKIG1zZ3N0ciAiTUlFU0nE
hEMiCiAKLSM6IC4uLy4uL0xvY2FsaXplZFN0cmluZ3MuY3BwOjEyMjkKKyM6IC4uLy4uL0xvY2Fs
aXplZFN0cmluZ3MuY3BwOjEyMjQKIG1zZ2N0eHQgIlllYXIgbGFiZWwgaW4gZGF0ZSBwaWNrZXIi
CiBtc2dpZCAiWUVBUiIKIG1zZ3N0ciAiUk9LIgogCi0jOiAuLi8uLi9Mb2NhbGl6ZWRTdHJpbmdz
LmNwcDoxMjM3CisjOiAuLi8uLi9Mb2NhbGl6ZWRTdHJpbmdzLmNwcDoxMjMyCiBtc2dpZCAiVW5h
Y2NlcHRhYmxlIFRMUyBjZXJ0aWZpY2F0ZSIKIG1zZ3N0ciAiTmllZG9wdXN6Y3phbG55IGNlcnR5
ZmlrYXQgVExTIgogCi0jOiAuLi8uLi9Mb2NhbGl6ZWRTdHJpbmdzLmNwcDoxMjU2CisjOiAuLi8u
Li9Mb2NhbGl6ZWRTdHJpbmdzLmNwcDoxMjUxCiBtc2dpZCAiQ29udGludWUgd2l0aCBUb3VjaCBJ
RC4iCiBtc2dzdHIgIktvbnR5bnV1aiB6YSBwb21vY8SFIFRvdWNoIElELiIKIApAQCAtMTM0OCwx
MSArMTM0NCw2IEBAIG1zZ2N0eHQgIlVuZG8gYWN0aW9uIG5hbWUiCiBtc2dpZCAiQ29udmVydCB0
byBVbm9yZGVyZWQgTGlzdCIKIG1zZ3N0ciAiWm1pYW5hIG5hIG5pZXVwb3J6xIVka293YW7EhSBs
aXN0xJkiCiAKLSM6IC4uLy4uLy4uL2VkaXRpbmcvRWRpdEFjdGlvbi5jcHA6MTQ2Ci1tc2djdHh0
ICJVbmRvIGFjdGlvbiBuYW1lIgotbXNnaWQgIkluc2VydCBEcmF3aW5nIgotbXNnc3RyICJXc3Rh
d2llbmllIHJ5c3Vua3UiCi0KICM6IC4uLy4uLy4uLy4uL0phdmFTY3JpcHRDb3JlL0FQSS9nbGli
L0pTQ09wdGlvbnMuY3BwOjY2MQogbXNnaWQgIkpTQyBPcHRpb25zIgogbXNnc3RyICJPcGNqZSBK
U0MiCkBAIC0xMzYxLDYgKzEzNTIsMTkgQEAgbXNnc3RyICJPcGNqZSBKU0MiCiBtc2dpZCAiU2hv
dyBKU0MgT3B0aW9ucyIKIG1zZ3N0ciAiV3nFm3dpZXRsIG9wY2plIEpTQyIKIAorIzogLi4vLi4v
Li4vLi4vV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvV2ViS2l0RGlyZWN0b3J5SW5wdXRTdHJl
YW0uY3BwOjYxCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvU2hhcmVkL0FQSS9nbGliL1dlYktpdFVz
ZXJNZXNzYWdlLmNwcDoxMzIKK21zZ2lkICJOYW1lIgorbXNnc3RyICJOYXp3YSIKKworIzogLi4v
Li4vLi4vLi4vV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvV2ViS2l0RGlyZWN0b3J5SW5wdXRT
dHJlYW0uY3BwOjYyCittc2dpZCAiU2l6ZSIKK21zZ3N0ciAiUm96bWlhciIKKworIzogLi4vLi4v
Li4vLi4vV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvV2ViS2l0RGlyZWN0b3J5SW5wdXRTdHJl
YW0uY3BwOjYzCittc2dpZCAiRGF0ZSBNb2RpZmllZCIKK21zZ3N0ciAiRGF0YSBtb2R5ZmlrYWNq
aSIKKwogIzogLi4vLi4vLi4vLi4vV2ViS2l0L1NoYXJlZC9BUEkvZ2xpYi9XZWJLaXRIaXRUZXN0
UmVzdWx0LmNwcDoxNTMKIG1zZ2lkICJDb250ZXh0IgogbXNnc3RyICJLb250ZWtzdCIKQEAgLTE0
MTIsOCArMTQxNiw4IEBAIG1zZ3N0ciAiQWRyZXMgVVJJIG11bHRpbWVkacOzdyIKICM6IC4uLy4u
Ly4uLy4uL1dlYktpdC9TaGFyZWQvQVBJL2dsaWIvV2ViS2l0VVJJUmVxdWVzdC5jcHA6OTYKICM6
IC4uLy4uLy4uLy4uL1dlYktpdC9TaGFyZWQvQVBJL2dsaWIvV2ViS2l0VVJJUmVzcG9uc2UuY3Bw
OjEwNAogIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJS
ZXNvdXJjZS5jcHA6MTExCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGli
L1dlYktpdFdlYlZpZXcuY3BwOjExMjkKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9nbGliL1dlYktpdFdlYlBhZ2UuY3BwOjQ0OAorIzogLi4vLi4v
Li4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcDoxMTQwCisj
OiAuLi8uLi8uLi8uLi9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ2xpYi9X
ZWJLaXRXZWJQYWdlLmNwcDo0NDcKIG1zZ2lkICJVUkkiCiBtc2dzdHIgIkFkcmVzIFVSSSIKIApA
QCAtMTQ2NSwxMCArMTQ2OSw2IEBAIG1zZ3N0ciAiTmFnxYLDs3draSBIVFRQIgogbXNnaWQgIlRo
ZSBIVFRQIGhlYWRlcnMgb2YgdGhlIHJlc3BvbnNlIgogbXNnc3RyICJOYWfFgsOzd2tpIEhUVFAg
b2Rwb3dpZWR6aSIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1NoYXJlZC9BUEkvZ2xpYi9XZWJL
aXRVc2VyTWVzc2FnZS5jcHA6MTMyCi1tc2dpZCAiTmFtZSIKLW1zZ3N0ciAiTmF6d2EiCi0KICM6
IC4uLy4uLy4uLy4uL1dlYktpdC9TaGFyZWQvQVBJL2dsaWIvV2ViS2l0VXNlck1lc3NhZ2UuY3Bw
OjEzMwogbXNnaWQgIlRoZSB1c2VyIG1lc3NhZ2UgbmFtZSIKIG1zZ3N0ciAiTmF6d2Ega29tdW5p
a2F0dSB1xbx5dGtvd25pa2EiCkBAIC0xNTI4LDcgKzE1MjgsNyBAQCBtc2dpZCAiUGx1Zy1pbiBo
YW5kbGVkIGxvYWQiCiBtc2dzdHIgIld0eWN6a2Egb2JzxYJ1xbx5xYJhIHdjenl0YW5pZSIKIAog
IzogLi4vLi4vLi4vLi4vV2ViS2l0L1NoYXJlZC9XZWJFcnJvcnMuY3BwOjkwCi0jOiAuLi8uLi8u
Li8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwOjIzMDEKKyM6
IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHA6
MjMxNwogbXNnaWQgIkxvYWQgcmVxdWVzdCBjYW5jZWxsZWQiCiBtc2dzdHIgIkFudWxvd2FubyDF
vMSFZGFuaWUgd2N6eXRhbmlhIgogCkBAIC0xNTU2LDM2ICsxNTU2LDM2IEBAIG1zZ3N0ciAiSWRl
bnR5ZmlrYXRvciIKIG1zZ2lkICJUaGUgYXV0b21hdGlvbiBzZXNzaW9uIGlkZW50aWZpZXIiCiBt
c2dzdHIgIklkZW50eWZpa2F0b3Igc2VzamkgYXV0b21hdHljem5laiIKIAotIzogLi4vLi4vLi4v
Li4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXREb3dubG9hZC5jcHA6MTY1CisjOiAu
Li8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdERvd25sb2FkLmNwcDox
NjYKIG1zZ2lkICJEZXN0aW5hdGlvbiIKIG1zZ3N0ciAiQ2VsIgogCi0jOiAuLi8uLi8uLi8uLi9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdERvd25sb2FkLmNwcDoxNjYKKyM6IC4uLy4u
Ly4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0RG93bmxvYWQuY3BwOjE2Nwog
bXNnaWQgIlRoZSBsb2NhbCBVUkkgdG8gd2hlcmUgdGhlIGRvd25sb2FkIHdpbGwgYmUgc2F2ZWQi
CiBtc2dzdHIgIkxva2FsbnkgYWRyZXMgVVJJLCBkbyBrdMOzcmVnbyBwb2JpZXJhbmllIHpvc3Rh
bmllIHphcGlzYW5lIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGli
L1dlYktpdERvd25sb2FkLmNwcDoxNzgKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2dsaWIvV2ViS2l0RG93bmxvYWQuY3BwOjE3OQogIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJSZXNvdXJjZS5jcHA6MTI0CiBtc2dpZCAiUmVzcG9u
c2UiCiBtc2dzdHIgIk9kcG93aWVkxboiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0RG93bmxvYWQuY3BwOjE3OQorIzogLi4vLi4vLi4vLi4vV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXREb3dubG9hZC5jcHA6MTgwCiBtc2dpZCAiVGhlIHJl
c3BvbnNlIG9mIHRoZSBkb3dubG9hZCIKIG1zZ3N0ciAiT2Rwb3dpZWTFuiBwb2JpZXJhbmlhIgog
Ci0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdERvd25sb2Fk
LmNwcDoxOTYKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0
RG93bmxvYWQuY3BwOjE5NwogbXNnaWQgIkVzdGltYXRlZCBQcm9ncmVzcyIKIG1zZ3N0ciAiU3ph
Y293YW55IHBvc3TEmXAiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2ds
aWIvV2ViS2l0RG93bmxvYWQuY3BwOjE5NworIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvZ2xpYi9XZWJLaXREb3dubG9hZC5jcHA6MTk4CiBtc2dpZCAiRGV0ZXJtaW5lcyB0aGUg
Y3VycmVudCBwcm9ncmVzcyBvZiB0aGUgZG93bmxvYWQiCiBtc2dzdHIgIk9rcmXFm2xhIG9iZWNu
eSBwb3N0xJlwIHBvYmllcmFuaWEiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2dsaWIvV2ViS2l0RG93bmxvYWQuY3BwOjIxNQorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXREb3dubG9hZC5jcHA6MjE2CiBtc2dpZCAiQWxsb3cgT3Zl
cndyaXRlIgogbXNnc3RyICJQb3p3b2xlbmllIG5hIHphc3TEmXBvd2FuaWUiCiAKLSM6IC4uLy4u
Ly4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0RG93bmxvYWQuY3BwOjIxNgor
IzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXREb3dubG9hZC5j
cHA6MjE3CiBtc2dpZCAiV2hldGhlciB0aGUgZGVzdGluYXRpb24gbWF5IGJlIG92ZXJ3cml0dGVu
IgogbXNnc3RyICJDenkgbW/FvG5hIHphc3TEmXBvd2HEhyBjZWwiCiAKQEAgLTE2NzUsMTEgKzE2
NzUsMTEgQEAgbXNnc3RyICJXZWJWaWV3IgogbXNnaWQgIlRoZSBXZWJWaWV3IGFzc29jaWF0ZWQg
d2l0aCB0aGlzIGZpbmQgY29udHJvbGxlciIKIG1zZ3N0ciAiV2ViVmlldyBwb3dpxIV6YW5lIHrC
oHR5bSBrb250cm9sZXJlbSB3eXN6dWtpd2FuaWEiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0R2VvbG9jYXRpb25NYW5hZ2VyLmNwcDozNTEKKyM6IC4u
Ly4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0R2VvbG9jYXRpb25NYW5h
Z2VyLmNwcDozNTkKIG1zZ2lkICJFbmFibGUgaGlnaCBhY2N1cmFjeSIKIG1zZ3N0ciAiV8WCxIVj
emVuaWUgd3lzb2tpZWogZG9rxYJhZG5vxZtjaSIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRHZW9sb2NhdGlvbk1hbmFnZXIuY3BwOjM1MgorIzogLi4v
Li4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRHZW9sb2NhdGlvbk1hbmFn
ZXIuY3BwOjM2MAogbXNnaWQgIldoZXRoZXIgaGlnaCBhY2N1cmFjeSBpcyBlbmFibGVkIgogbXNn
c3RyICJDenkgd3lzb2thIGRva8WCYWRub8WbxIcgamVzdCB3xYLEhWN6b25hIgogCkBAIC0xNzQz
LDcgKzE3NDMsNyBAQCBtc2dpZCAiVGhlIHVuaXF1ZSBpZCBmb3IgdGhlIG5vdGlmaWNhdGlvbiIK
IG1zZ3N0ciAiVW5pa2FsbnkgaWRlbnR5ZmlrYXRvciBwb3dpYWRvbWllbmlhIgogCiAjOiAuLi8u
Li8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdE5vdGlmaWNhdGlvbi5jcHA6
MTE4Ci0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZp
ZXcuY3BwOjEwODIKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2Vi
S2l0V2ViVmlldy5jcHA6MTA5MwogIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFByaW50Q3VzdG9tV2lkZ2V0LmNwcDoxMzUKIG1zZ2lkICJUaXRsZSIKIG1zZ3N0
ciAiVHl0dcWCIgpAQCAtMTc4NCwxMDcgKzE3ODQsMTA3IEBAIG1zZ3N0ciAiT2Rwb3dpZWTFuiBh
ZHJlc3UgVVJJIgogbXNnaWQgIlRoZSBVUkkgcmVzcG9uc2UgdGhhdCBpcyBhc3NvY2lhdGVkIHdp
dGggdGhpcyBwb2xpY3kgZGVjaXNpb24iCiBtc2dzdHIgIk9kcG93aWVkxbogYWRyZXN1IFVSSSwg
a3TDs3JhIGplc3QgcG93acSFemFuYSB6wqB0xIUgZGVjeXpqxIUgemFzYWR5IgogCi0jOiAuLi8u
Li8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo2MjYK
KyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3Mu
Y3BwOjYxMwogbXNnaWQgIkVuYWJsZSBKYXZhU2NyaXB0IgogbXNnc3RyICJXxYLEhWN6ZW5pZSBq
xJl6eWthIEphdmFTY3JpcHQiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjYyNworIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6NjE0CiBtc2dpZCAiRW5hYmxlIEphdmFT
Y3JpcHQuIgogbXNnc3RyICJXxYLEhWN6ZW5pZSBqxJl6eWthIEphdmFTY3JpcHQuIgogCi0jOiAu
Li8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo2
NDEKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGlu
Z3MuY3BwOjYyOAogbXNnaWQgIkF1dG8gbG9hZCBpbWFnZXMiCiBtc2dzdHIgIkF1dG9tYXR5Y3pu
ZSB3Y3p5dHl3YW5pZSBvYnJhesOzdyIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6NjQyCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo2MjkKIG1zZ2lkICJMb2FkIGlt
YWdlcyBhdXRvbWF0aWNhbGx5LiIKIG1zZ3N0ciAiQXV0b21hdHljem5lIHdjenl0eXdhbmllIG9i
cmF6w7N3LiIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJL
aXRTZXR0aW5ncy5jcHA6NjU1CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
bGliL1dlYktpdFNldHRpbmdzLmNwcDo2NDIKIG1zZ2lkICJMb2FkIGljb25zIGlnbm9yaW5nIGlt
YWdlIGxvYWQgc2V0dGluZyIKIG1zZ3N0ciAiV2N6eXR5d2FuaWUgaWtvbiBpZ25vcnVqxIVjIHVz
dGF3aWVuaWEgd2N6eXR5d2FuaWEgb2JyYXrDs3ciCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjY1NgorIzogLi4vLi4vLi4vLi4v
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6NjQzCiBtc2dpZCAi
V2hldGhlciB0byBsb2FkIHNpdGUgaWNvbnMgaWdub3JpbmcgaW1hZ2UgbG9hZCBzZXR0aW5nLiIK
IG1zZ3N0ciAiQ3p5IHdjenl0eXdhxIcgaWtvbnkgc3Ryb24gaWdub3J1asSFYyB1c3Rhd2llbmlh
IHdjenl0eXdhbmlhIG9icmF6w7N3LiIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6NjczCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo2NjAKIG1zZ2lkICJFbmFibGUg
b2ZmbGluZSB3ZWIgYXBwbGljYXRpb24gY2FjaGUiCiBtc2dzdHIgIlfFgsSFY3plbmllIHBhbWnE
mWNpIHBvZHLEmWN6bmVqIGFwbGlrYWNqaSBXV1cgd8KgdHJ5YmllIG9mZmxpbmUiCiAKLSM6IC4u
Ly4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjY3
NAorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5n
cy5jcHA6NjYxCiBtc2dpZCAiV2hldGhlciB0byBlbmFibGUgb2ZmbGluZSB3ZWIgYXBwbGljYXRp
b24gY2FjaGUuIgogbXNnc3RyICJDenkgd8WCxIVjemHEhyBwYW1pxJnEhyBwb2RyxJljem7EhSBh
cGxpa2FjamkgV1dXIHfCoHRyeWJpZSBvZmZsaW5lLiIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6NjkwCisjOiAuLi8uLi8uLi8u
Li9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo2NzcKIG1zZ2lk
ICJFbmFibGUgSFRNTDUgbG9jYWwgc3RvcmFnZSIKIG1zZ3N0ciAiV8WCxIVjemVuaWUgbG9rYWxu
ZWdvIHByemVjaG93eXdhbmlhIGRhbnljaCBIVE1MNSIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6NjkxCisjOiAuLi8uLi8uLi8u
Li9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo2NzgKIG1zZ2lk
ICJXaGV0aGVyIHRvIGVuYWJsZSBIVE1MNSBMb2NhbCBTdG9yYWdlIHN1cHBvcnQuIgogbXNnc3Ry
ICJDenkgd8WCxIVjemHEhyBvYnPFgnVnxJkgbG9rYWxuZWdvIHByemVjaG93eXdhbmlhIGRhbnlj
aCBIVE1MNS4iCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2Vi
S2l0U2V0dGluZ3MuY3BwOjcwMworIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6NjkwCiBtc2dpZCAiRW5hYmxlIEhUTUw1IGRhdGFiYXNl
IgogbXNnc3RyICJXxYLEhWN6ZW5pZSBiYXp5IGRhbnljaCBIVE1MNSIKIAotIzogLi4vLi4vLi4v
Li4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6NzA0CisjOiAu
Li8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo2
OTEKIG1zZ2lkICJXaGV0aGVyIHRvIGVuYWJsZSBIVE1MNSBkYXRhYmFzZSBzdXBwb3J0LiIKIG1z
Z3N0ciAiQ3p5IHfFgsSFY3phxIcgb2JzxYJ1Z8SZIGJhenkgZGFueWNoIEhUTUw1LiIKIAotIzog
Li4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6
NzE3CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRp
bmdzLmNwcDo3MDQKIG1zZ2lkICJFbmFibGUgWFNTIGF1ZGl0b3IiCiBtc2dzdHIgIlfFgsSFY3pl
bmllIGF1ZHl0dSBYU1MiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2ds
aWIvV2ViS2l0U2V0dGluZ3MuY3BwOjcxOAorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6NzA1CiBtc2dpZCAiV2hldGhlciB0byBlbmFi
bGUgdGhlIFhTUyBhdWRpdG9yLiIKIG1zZ3N0ciAiQ3p5IHfFgsSFY3phxIcgYXVkeXQgWFNTLiIK
IAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5n
cy5jcHA6NzMzCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktp
dFNldHRpbmdzLmNwcDo3MjAKIG1zZ2lkICJFbmFibGUgZnJhbWUgZmxhdHRlbmluZyIKIG1zZ3N0
ciAiV8WCxIVjemVuaWUgc3DFgmFzemN6YW5pYSByYW1layIKIAotIzogLi4vLi4vLi4vLi4vV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6NzM0CisjOiAuLi8uLi8u
Li8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo3MjEKIG1z
Z2lkICJXaGV0aGVyIHRvIGVuYWJsZSBmcmFtZSBmbGF0dGVuaW5nLiIKIG1zZ3N0ciAiQ3p5IHfF
gsSFY3phxIcgc3DFgmFzemN6YW5pZSByYW1lay4iCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjc0NgorIzogLi4vLi4vLi4vLi4v
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6NzM1CiBtc2dpZCAi
RW5hYmxlIHBsdWdpbnMiCiBtc2dzdHIgIlfFgsSFY3plbmllIHd0eWN6ZWsiCiAKLSM6IC4uLy4u
Ly4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjc0Nwor
IzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5j
cHA6NzM2CiBtc2dpZCAiRW5hYmxlIGVtYmVkZGVkIHBsdWdpbiBvYmplY3RzLiIKIG1zZ3N0ciAi
V8WCxIVjemVuaWUgb3NhZHpvbnljaCBvYmlla3TDs3cgd3R5Y3play4iCiAKLSM6IC4uLy4uLy4u
Ly4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjc1OQorIzog
Li4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6
NzQ4CiBtc2dpZCAiRW5hYmxlIEphdmEiCiBtc2dzdHIgIlfFgsSFY3plbmllIGrEmXp5a2EgSmF2
YSIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0
aW5ncy5jcHA6NzYwCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFNldHRpbmdzLmNwcDo3NDkKIG1zZ2lkICJXaGV0aGVyIEphdmEgc3VwcG9ydCBzaG91bGQg
YmUgZW5hYmxlZC4iCiBtc2dzdHIgIkN6eSBvYnPFgnVnYSBqxJl6eWthIEphdmEgbWEgYnnEhyB3
xYLEhWN6b25hLiIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9X
ZWJLaXRTZXR0aW5ncy5jcHA6NzczCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo3NjIKIG1zZ2lkICJKYXZhU2NyaXB0IGNhbiBvcGVu
IHdpbmRvd3MgYXV0b21hdGljYWxseSIKIG1zZ3N0ciAiQXV0b21hdHljem5lIG90d2llcmFuaWUg
b2tpZW4gcHJ6ZXogc2tyeXB0eSBKYXZhU2NyaXB0IgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo3NzQKKyM6IC4uLy4uLy4uLy4u
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjc2MwogbXNnaWQg
IldoZXRoZXIgSmF2YVNjcmlwdCBjYW4gb3BlbiB3aW5kb3dzIGF1dG9tYXRpY2FsbHkuIgogbXNn
c3RyICJDenkgc2tyeXB0eSBKYXZhU2NyaXB0IG1vZ8SFIGF1dG9tYXR5Y3puaWUgb3R3aWVyYcSH
IG9rbmEuIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktp
dFNldHRpbmdzLmNwcDo3ODkKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2ds
aWIvV2ViS2l0U2V0dGluZ3MuY3BwOjc3OAogbXNnaWQgIkVuYWJsZSBoeXBlcmxpbmsgYXVkaXRp
bmciCiBtc2dzdHIgIlfFgsSFY3plbmllIGF1ZHl0dSBvZG5vxZtuaWvDs3ciCiAKLSM6IC4uLy4u
Ly4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjc5MAor
IzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5j
cHA6Nzc5CiBtc2dpZCAiV2hldGhlciA8YSBwaW5nPiBzaG91bGQgYmUgYWJsZSB0byBzZW5kIHBp
bmdzLiIKIG1zZ3N0ciAiQ3p5IHpuYWN6bmlrIDxhIHBpbmc+IG1vxbxlIHd5c3nFgmHEhyBzeWdu
YcWCeSBwaW5nLiIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9X
ZWJLaXRTZXR0aW5ncy5jcHA6ODAyCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo3OTEKIG1zZ2lkICJEZWZhdWx0IGZvbnQgZmFtaWx5
IgogbXNnc3RyICJEb215xZtsbmEgcm9kemluYSBjemNpb25layIKIAotIzogLi4vLi4vLi4vLi4v
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6ODAzCisjOiAuLi8u
Li8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo3OTIK
IG1zZ2lkICIiCiAiVGhlIGZvbnQgZmFtaWx5IHRvIHVzZSBhcyB0aGUgZGVmYXVsdCBmb3IgY29u
dGVudCB0aGF0IGRvZXMgbm90IHNwZWNpZnkgYSAiCiAiZm9udC4iCkBAIC0xODkyLDk2ICsxODky
LDk2IEBAIG1zZ3N0ciAiIgogIlJvZHppbmEgY3pjaW9uZWsgdcW8eXdhbmEgamFrbyBkb215xZts
bmEgZGxhIHRyZcWbY2ksIGt0w7NyYSBuaWUgb2tyZcWbbGEgIgogImN6Y2lvbmtpLiIKIAotIzog
Li4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6
ODE2CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRp
bmdzLmNwcDo4MDUKIG1zZ2lkICJNb25vc3BhY2UgZm9udCBmYW1pbHkiCiBtc2dzdHIgIlJvZHpp
bmEgY3pjaW9uZWsgb8Kgc3RhxYJlaiBzemVyb2tvxZtjaSIKIAotIzogLi4vLi4vLi4vLi4vV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6ODE3CisjOiAuLi8uLi8u
Li8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo4MDYKIG1z
Z2lkICJUaGUgZm9udCBmYW1pbHkgdXNlZCBhcyB0aGUgZGVmYXVsdCBmb3IgY29udGVudCB1c2lu
ZyBtb25vc3BhY2UgZm9udC4iCiBtc2dzdHIgIiIKICJEb215xZtsbmEgcm9kemluYSBjemNpb25l
ayBvwqBzdGHFgmVqIHN6ZXJva2/Fm2NpIHXFvHl3YW5hIGRvIHd5xZt3aWV0bGFuaWEgdGVrc3R1
LiIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0
aW5ncy5jcHA6ODI5CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFNldHRpbmdzLmNwcDo4MTgKIG1zZ2lkICJTZXJpZiBmb250IGZhbWlseSIKIG1zZ3N0ciAi
Um9kemluYSBjemNpb25layBzemVyeWZvd3ljaCIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6ODMwCisjOiAuLi8uLi8uLi8uLi9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo4MTkKIG1zZ2lkICJU
aGUgZm9udCBmYW1pbHkgdXNlZCBhcyB0aGUgZGVmYXVsdCBmb3IgY29udGVudCB1c2luZyBzZXJp
ZiBmb250LiIKIG1zZ3N0ciAiIgogIlJvZHppbmEgY3pjaW9uZWsgdcW8eXdhbmEgamFrbyBkb215
xZtsbmEgZGxhIHRyZcWbY2kgdcW8eXdhasSFY3ljaCBjemNpb25raSAiCiAic3plcnlmb3dlai4i
CiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGlu
Z3MuY3BwOjg0MgorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJL
aXRTZXR0aW5ncy5jcHA6ODMxCiBtc2dpZCAiU2Fucy1zZXJpZiBmb250IGZhbWlseSIKIG1zZ3N0
ciAiUm9kemluYSBjemNpb25layBiZXpzemVyeWZvd3ljaCIKIAotIzogLi4vLi4vLi4vLi4vV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6ODQzCisjOiAuLi8uLi8u
Li8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo4MzIKIG1z
Z2lkICJUaGUgZm9udCBmYW1pbHkgdXNlZCBhcyB0aGUgZGVmYXVsdCBmb3IgY29udGVudCB1c2lu
ZyBzYW5zLXNlcmlmIGZvbnQuIgogbXNnc3RyICIiCiAiUm9kemluYSBjemNpb25layB1xbx5d2Fu
YSBqYWtvIGRvbXnFm2xuYSBkbGEgdHJlxZtjaSB1xbx5d2FqxIVjeWNoIGN6Y2lvbmtpICIKICJi
ZXpzemVyeWZvd2VqLiIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xp
Yi9XZWJLaXRTZXR0aW5ncy5jcHA6ODU1CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo4NDQKIG1zZ2lkICJDdXJzaXZlIGZvbnQgZmFt
aWx5IgogbXNnc3RyICJSb2R6aW5hIGN6Y2lvbmVrIHBvY2h5bG9ueWNoIgogCi0jOiAuLi8uLi8u
Li8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo4NTYKKyM6
IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3Bw
Ojg0NQogbXNnaWQgIlRoZSBmb250IGZhbWlseSB1c2VkIGFzIHRoZSBkZWZhdWx0IGZvciBjb250
ZW50IHVzaW5nIGN1cnNpdmUgZm9udC4iCiBtc2dzdHIgIiIKICJSb2R6aW5hIGN6Y2lvbmVrIHXF
vHl3YW5hIGpha28gZG9tecWbbG5hIGRsYSB0cmXFm2NpIHXFvHl3YWrEhWN5Y2ggY3pjaW9ua2kg
IgogInBvY2h5bG9uZWouIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
bGliL1dlYktpdFNldHRpbmdzLmNwcDo4NjgKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjg1NwogbXNnaWQgIkZhbnRhc3kgZm9udCBm
YW1pbHkiCiBtc2dzdHIgIlJvZHppbmEgY3pjaW9uZWsgZmFudGFzdHljem55Y2giCiAKLSM6IC4u
Ly4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjg2
OQorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5n
cy5jcHA6ODU4CiBtc2dpZCAiVGhlIGZvbnQgZmFtaWx5IHVzZWQgYXMgdGhlIGRlZmF1bHQgZm9y
IGNvbnRlbnQgdXNpbmcgZmFudGFzeSBmb250LiIKIG1zZ3N0ciAiIgogIlJvZHppbmEgY3pjaW9u
ZWsgdcW8eXdhbmEgamFrbyBkb215xZtsbmEgZGxhIHRyZcWbY2kgdcW8eXdhasSFY3ljaCBjemNp
b25raSAiCiAiZmFudGF6eWpuZWouIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo4ODEKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjg3MAogbXNnaWQgIlBpY3RvZ3Jh
cGggZm9udCBmYW1pbHkiCiBtc2dzdHIgIlJvZHppbmEgY3pjaW9uZWsgcGlrdG9ncmFmaWN6bnlj
aCIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0
aW5ncy5jcHA6ODgyCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFNldHRpbmdzLmNwcDo4NzEKIG1zZ2lkICJUaGUgZm9udCBmYW1pbHkgdXNlZCBhcyB0aGUg
ZGVmYXVsdCBmb3IgY29udGVudCB1c2luZyBwaWN0b2dyYXBoIGZvbnQuIgogbXNnc3RyICIiCiAi
Um9kemluYSBjemNpb25layB1xbx5d2FuYSBqYWtvIGRvbXnFm2xuYSBkbGEgdHJlxZtjaSB1xbx5
d2FqxIVjeWNoIGN6Y2lvbmtpICIKICJwaWt0b2dyYWZpY3puZWouIgogCi0jOiAuLi8uLi8uLi8u
Li9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo4OTUKKyM6IC4u
Ly4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjg4
NAogbXNnaWQgIkRlZmF1bHQgZm9udCBzaXplIgogbXNnc3RyICJEb215xZtsbnkgcm96bWlhciBj
emNpb25raSIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJL
aXRTZXR0aW5ncy5jcHA6ODk2CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
bGliL1dlYktpdFNldHRpbmdzLmNwcDo4ODUKIG1zZ2lkICJUaGUgZGVmYXVsdCBmb250IHNpemUg
dXNlZCB0byBkaXNwbGF5IHRleHQuIgogbXNnc3RyICJEb215xZtsbnkgcm96bWlhciBjemNpb25r
aSB1xbx5d2FuZWogZG8gd3nFm3dpZXRsYW5pYSB0ZWtzdHUuIgogCi0jOiAuLi8uLi8uLi8uLi9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo5MDkKKyM6IC4uLy4u
Ly4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjg5OAog
bXNnaWQgIkRlZmF1bHQgbW9ub3NwYWNlIGZvbnQgc2l6ZSIKIG1zZ3N0ciAiRG9tecWbbG55IHJv
em1pYXIgY3pjaW9ua2kgb8Kgc3RhxYJlaiBzemVyb2tvxZtjaSIKIAotIzogLi4vLi4vLi4vLi4v
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6OTEwCisjOiAuLi8u
Li8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo4OTkK
IG1zZ2lkICJUaGUgZGVmYXVsdCBmb250IHNpemUgdXNlZCB0byBkaXNwbGF5IG1vbm9zcGFjZSB0
ZXh0LiIKIG1zZ3N0ciAiIgogIkRvbXnFm2xueSByb3ptaWFyIGN6Y2lvbmtpIG/CoHN0YcWCZWog
c3plcm9rb8WbY2kgdcW8eXdhbmVqIGRvIHd5xZt3aWV0bGFuaWEgIgogInRla3N0dS4iCiAKLSM6
IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3Bw
OjkyNAorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0
aW5ncy5jcHA6OTEzCiBtc2dpZCAiTWluaW11bSBmb250IHNpemUiCiBtc2dzdHIgIk1pbmltYWxu
eSByb3ptaWFyIGN6Y2lvbmtpIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo5MjUKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjkxNAogbXNnaWQgIlRoZSBtaW5pbXVt
IGZvbnQgc2l6ZSB1c2VkIHRvIGRpc3BsYXkgdGV4dC4iCiBtc2dzdHIgIk1pbmltYWxueSByb3pt
aWFyIGN6Y2lvbmtpIHXFvHl3YW5laiBkbyB3ecWbd2lldGxhbmlhIHRla3N0dS4iCiAKLSM6IC4u
Ly4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjkz
NworIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5n
cy5jcHA6OTI2CiBtc2dpZCAiRGVmYXVsdCBjaGFyc2V0IgogbXNnc3RyICJEb215xZtsbmUgemVz
dGF3IHpuYWvDs3ciCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0U2V0dGluZ3MuY3BwOjkzOAorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6OTI3CiBtc2dpZCAiIgogIlRoZSBkZWZhdWx0IHRl
eHQgY2hhcnNldCB1c2VkIHdoZW4gaW50ZXJwcmV0aW5nIGNvbnRlbnQgd2l0aCB1bnNwZWNpZmll
ZCAiCiAiY2hhcnNldC4iCkBAIC0xOTg5LDMwNSArMTk4OSwzMDUgQEAgbXNnc3RyICIiCiAiRG9t
ecWbbG5lIHplc3RhdyB6bmFrw7N3IHRla3N0dSB1xbx5d2FueSBwb2RjemFzIGludGVycHJldG93
YW5pYSB0cmXFm2NpICIKICJvwqBuaWVva3JlxZtsb255bSB6ZXN0YXdpZSB6bmFrw7N3LiIKIAot
IzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5j
cHA6OTU0CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNl
dHRpbmdzLmNwcDo5NDMKIG1zZ2lkICJFbmFibGUgcHJpdmF0ZSBicm93c2luZyIKIG1zZ3N0ciAi
V8WCxIVjemVuaWUgcHJ6ZWdsxIVkYW5pYSBwcnl3YXRuZWdvIgogCi0jOiAuLi8uLi8uLi8uLi9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo5NTUKKyM6IC4uLy4u
Ly4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjk0NAog
bXNnaWQgIldoZXRoZXIgdG8gZW5hYmxlIHByaXZhdGUgYnJvd3NpbmciCiBtc2dzdHIgIkN6eSB3
xYLEhWN6YcSHIHByemVnbMSFZGFuaWUgcHJ5d2F0bmUiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjk2OAorIzogLi4vLi4vLi4v
Li4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6OTU3CiBtc2dp
ZCAiRW5hYmxlIGRldmVsb3BlciBleHRyYXMiCiBtc2dzdHIgIlfFgsSFY3plbmllIGRvZGF0a8Oz
dyBwcm9ncmFtaXN0eWN6bnljaCIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6OTY5CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo5NTgKIG1zZ2lkICJXaGV0aGVyIHRv
IGVuYWJsZSBkZXZlbG9wZXIgZXh0cmFzIgogbXNnc3RyICJDenkgd8WCxIVjemHEhyBkb2RhdGtp
IHByb2dyYW1pc3R5Y3puZSIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6OTgxCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo5NzAKIG1zZ2lkICJFbmFibGUgcmVzaXph
YmxlIHRleHQgYXJlYXMiCiBtc2dzdHIgIlfFgsSFY3plbmllIG1vxbxsaXdvxZtjaSB6bWllbmlh
bmlhIHJvem1pYXJ1IG9ic3phcsOzdyB0ZWtzdG93eWNoIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDo5ODIKKyM6IC4uLy4uLy4u
Ly4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjk3MQogbXNn
aWQgIldoZXRoZXIgdG8gZW5hYmxlIHJlc2l6YWJsZSB0ZXh0IGFyZWFzIgogbXNnc3RyICJDenkg
d8WCxIVjemHEhyBtb8W8bGl3b8WbxIcgem1pZW5pYW5pYSByb3ptaWFydSBvYnN6YXLDs3cgdGVr
c3Rvd3ljaCIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJL
aXRTZXR0aW5ncy5jcHA6OTk3CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
bGliL1dlYktpdFNldHRpbmdzLmNwcDo5ODYKIG1zZ2lkICJFbmFibGUgdGFicyB0byBsaW5rcyIK
IG1zZ3N0ciAiV8WCxIVjemVuaWUgdGFidWxhY2ppIGRvIG9kbm/Fm25pa8OzdyIKIAotIzogLi4v
Li4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6OTk4
CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdz
LmNwcDo5ODcKIG1zZ2lkICJXaGV0aGVyIHRvIGVuYWJsZSB0YWJzIHRvIGxpbmtzIgogbXNnc3Ry
ICJDenkgd8WCxIVjemHEhyB0YWJ1bGFjamUgZG8gb2Rub8Wbbmlrw7N3IgogCi0jOiAuLi8uLi8u
Li8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDoxMDExCisj
OiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNw
cDoxMDAwCiBtc2dpZCAiRW5hYmxlIEROUyBwcmVmZXRjaGluZyIKIG1zZ3N0ciAiV8WCxIVjemVu
aWUgRE5TIHrCoHd5cHJ6ZWR6ZW5pZW0iCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjEwMTIKKyM6IC4uLy4uLy4uLy4uL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjEwMDEKIG1zZ2lkICJXaGV0
aGVyIHRvIGVuYWJsZSBETlMgcHJlZmV0Y2hpbmciCiBtc2dzdHIgIkN6eSB3xYLEhWN6YcSHIERO
UyB6wqB3eXByemVkemVuaWVtIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDoxMDI0CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDoxMDEzCiBtc2dpZCAiRW5hYmxlIENh
cmV0IEJyb3dzaW5nIgogbXNnc3RyICJXxYLEhWN6ZW5pZSBwcnplZ2zEhWRhbmlhIHfCoHRyeWJp
ZSBrYXJldGtpIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFNldHRpbmdzLmNwcDoxMDI1CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDoxMDE0CiBtc2dpZCAiV2hldGhlciB0byBlbmFibGUg
YWNjZXNzaWJpbGl0eSBlbmhhbmNlZCBrZXlib2FyZCBuYXZpZ2F0aW9uIgogbXNnc3RyICJDenkg
d8WCxIVjemHEhyBuYXdpZ2FjasSZIGtsYXdpYXR1csSFIHVzcHJhd25pb27EhSBwb2Qga8SFdGVt
IGRvc3TEmXBub8WbY2kiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2ds
aWIvV2ViS2l0U2V0dGluZ3MuY3BwOjEwNDAKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjEwMjkKIG1zZ2lkICJFbmFibGUgRnVsbHNj
cmVlbiIKIG1zZ3N0ciAiV8WCxIVjemVuaWUgcGXFgm5lZ28gZWtyYW51IgogCi0jOiAuLi8uLi8u
Li8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDoxMDQxCisj
OiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNw
cDoxMDMwCiBtc2dpZCAiV2hldGhlciB0byBlbmFibGUgdGhlIEphdmFzY3JpcHQgRnVsbHNjcmVl
biBBUEkiCiBtc2dzdHIgIkN6eSB3xYLEhWN6YcSHIEFQSSBwZcWCbmVnbyBla3JhbnUgasSZenlr
YSBKYXZhU2NyaXB0IgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGli
L1dlYktpdFNldHRpbmdzLmNwcDoxMDUzCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDoxMDQyCiBtc2dpZCAiUHJpbnQgQmFja2dyb3Vu
ZHMiCiBtc2dzdHIgIkRydWtvd2FuaWUgdGXFgiIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6MTA1NAorIzogLi4vLi4vLi4vLi4v
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6MTA0MwogbXNnaWQg
IldoZXRoZXIgYmFja2dyb3VuZCBpbWFnZXMgc2hvdWxkIGJlIGRyYXduIGR1cmluZyBwcmludGlu
ZyIKIG1zZ3N0ciAiQ3p5IG9icmF6eSB0xYJhIG1vZ8SFIGJ5xIcgcnlzb3dhbmUgcG9kY3phcyBk
cnVrb3dhbmlhIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFNldHRpbmdzLmNwcDoxMDcyCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDoxMDYxCiBtc2dpZCAiRW5hYmxlIFdlYkF1ZGlvIgog
bXNnc3RyICJXxYLEhWN6ZW5pZSBXZWJBdWRpbyIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6MTA3MworIzogLi4vLi4vLi4vLi4v
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6MTA2MgogbXNnaWQg
IldoZXRoZXIgV2ViQXVkaW8gY29udGVudCBzaG91bGQgYmUgaGFuZGxlZCIKIG1zZ3N0ciAiQ3p5
IHRyZcWbxIcgV2ViQXVkaW8gbWEgYnnEhyBvYnPFgnVnaXdhbmEiCiAKLSM6IC4uLy4uLy4uLy4u
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjEwODgKKyM6IC4u
Ly4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjEw
NzcKIG1zZ2lkICJFbmFibGUgV2ViR0wiCiBtc2dzdHIgIlfFgsSFY3plbmllIFdlYkdMIgogCi0j
OiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNw
cDoxMDg5CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNl
dHRpbmdzLmNwcDoxMDc4CiBtc2dpZCAiV2hldGhlciBXZWJHTCBjb250ZW50IHNob3VsZCBiZSBy
ZW5kZXJlZCIKIG1zZ3N0ciAiQ3p5IHRyZcWbxIcgV2ViR0wgbWEgYnnEhyB3ecWbd2lldGxhbmEi
CiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGlu
Z3MuY3BwOjExMDYKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2Vi
S2l0U2V0dGluZ3MuY3BwOjEwOTUKIG1zZ2lkICJBbGxvdyBtb2RhbCBkaWFsb2dzIgogbXNnc3Ry
ICJaZXp3YWxhbmllIG5hIG1vZGFsbmUgb2tuYSBkaWFsb2dvd2UiCiAKLSM6IC4uLy4uLy4uLy4u
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjExMDcKKyM6IC4u
Ly4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjEw
OTYKIG1zZ2lkICJXaGV0aGVyIGl0IGlzIHBvc3NpYmxlIHRvIGNyZWF0ZSBtb2RhbCBkaWFsb2dz
IgogbXNnc3RyICJDenkgbW/FvG5hIHR3b3J6ecSHIG1vZGFsbmUgb2tuYSBkaWFsb2dvd2UiCiAK
LSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3Mu
Y3BwOjExMjIKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0
U2V0dGluZ3MuY3BwOjExMTEKIG1zZ2lkICJab29tIFRleHQgT25seSIKIG1zZ3N0ciAiUG93acSZ
a3N6YW5pZSB0eWxrbyB0ZWtzdHUiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjExMjMKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjExMTIKIG1zZ2lkICJXaGV0aGVy
IHpvb20gbGV2ZWwgb2Ygd2ViIHZpZXcgY2hhbmdlcyBvbmx5IHRoZSB0ZXh0IHNpemUiCiBtc2dz
dHIgIkN6eSBwb3ppb20gcG93acSZa3N6ZW5pYSB3aWRva3UgV1dXIHptaWVuaWEgdHlsa28gcm96
bWlhciB0ZWtzdHUiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0U2V0dGluZ3MuY3BwOjExMzcKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjExMjYKIG1zZ2lkICJKYXZhU2NyaXB0IGNhbiBh
Y2Nlc3MgY2xpcGJvYXJkIgogbXNnc3RyICJKYXZhU2NyaXB0IG1hIGRvc3TEmXAgZG8gc2Nob3dr
YSIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0
aW5ncy5jcHA6MTEzOAorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9X
ZWJLaXRTZXR0aW5ncy5jcHA6MTEyNwogbXNnaWQgIldoZXRoZXIgSmF2YVNjcmlwdCBjYW4gYWNj
ZXNzIENsaXBib2FyZCIKIG1zZ3N0ciAiQ3p5IHNrcnlwdHkgSmF2YVNjcmlwdCBtb2fEhSBtaWXE
hyBkb3N0xJlwIGRvIHNjaG93a2EiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjExNTQKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjExNDMKIG1zZ2lkICJNZWRpYSBw
bGF5YmFjayByZXF1aXJlcyB1c2VyIGdlc3R1cmUiCiBtc2dzdHIgIk9kdHdvcnplbmllIG11bHRp
bWVkacOzdyB3eW1hZ2EgZ2VzdHUgdcW8eXRrb3duaWthIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDoxMTU1CisjOiAuLi8uLi8u
Li8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDoxMTQ0CiBt
c2dpZCAiV2hldGhlciBtZWRpYSBwbGF5YmFjayByZXF1aXJlcyB1c2VyIGdlc3R1cmUiCiBtc2dz
dHIgIkN6eSBvZHR3b3J6ZW5pZSBtdWx0aW1lZGnDs3cgd3ltYWdhIGdlc3R1IHXFvHl0a293bmlr
YSIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0
aW5ncy5jcHA6MTE2OQorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9X
ZWJLaXRTZXR0aW5ncy5jcHA6MTE1OAogbXNnaWQgIk1lZGlhIHBsYXliYWNrIGFsbG93cyBpbmxp
bmUiCiBtc2dzdHIgIk9kdHdhcnphbmllIG11bHRpbWVkacOzdyB6ZXp3YWxhIG5hIHdzdGF3aWFu
aWUiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0
dGluZ3MuY3BwOjExNzAKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0U2V0dGluZ3MuY3BwOjExNTkKIG1zZ2lkICJXaGV0aGVyIG1lZGlhIHBsYXliYWNrIGFs
bG93cyBpbmxpbmUiCiBtc2dzdHIgIkN6eSBvZHR3YXJ6YW5pZSBtdWx0aW1lZGnDs3cgemV6d2Fs
YSBuYSB3c3Rhd2lhbmllIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
bGliL1dlYktpdFNldHRpbmdzLmNwcDoxMTg0CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDoxMTczCiBtc2dpZCAiRHJhdyBjb21wb3Np
dGluZyBpbmRpY2F0b3JzIgogbXNnc3RyICJSeXNvd2FuaWUgd3NrYcW6bmlrw7N3IHNrxYJhZGFu
aWEiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0
dGluZ3MuY3BwOjExODUKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0U2V0dGluZ3MuY3BwOjExNzQKIG1zZ2lkICJXaGV0aGVyIHRvIGRyYXcgY29tcG9zaXRp
bmcgYm9yZGVycyBhbmQgcmVwYWludCBjb3VudGVycyIKIG1zZ3N0ciAiQ3p5IHJ5c293YcSHIGdy
YW5pY2Ugc2vFgmFkYW5pYSBpwqBsaWN6bmlraSBwb25vd25lZ28gcnlzb3dhbmlhIgogCi0jOiAu
Li8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDox
MjA0CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRp
bmdzLmNwcDoxMTkzCiBtc2dpZCAiRW5hYmxlIFNpdGUgU3BlY2lmaWMgUXVpcmtzIgogbXNnc3Ry
ICJXxYLEhWN6ZW5pZSBvYmVqxZvEhyBkbGEga29ua3JldG55Y2ggc3Ryb24iCiAKLSM6IC4uLy4u
Ly4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjEyMDUK
KyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3Mu
Y3BwOjExOTQKIG1zZ2lkICJFbmFibGVzIHRoZSBzaXRlLXNwZWNpZmljIGNvbXBhdGliaWxpdHkg
d29ya2Fyb3VuZHMiCiBtc2dzdHIgIlfFgsSFY3plbmllIG9iZWrFm8SHIHpnb2Rub8WbY2kgZGxh
IGtvbmtyZXRueWNoIHN0cm9uIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDoxMjI1CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDoxMjE0CiBtc2dpZCAiRW5hYmxlIHBh
Z2UgY2FjaGUiCiBtc2dzdHIgIlfFgsSFY3plbmllIHBhbWnEmWNpIHBvZHLEmWN6bmVqIHN0cm9u
IgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRp
bmdzLmNwcDoxMjI2CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFNldHRpbmdzLmNwcDoxMjE1CiBtc2dpZCAiV2hldGhlciB0aGUgcGFnZSBjYWNoZSBzaG91
bGQgYmUgdXNlZCIKIG1zZ3N0ciAiQ3p5IHXFvHl3YcSHIHBhbWnEmcSHIHBvZHLEmWN6bsSFIHN0
cm9uIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNl
dHRpbmdzLmNwcDoxMjQ1CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGli
L1dlYktpdFNldHRpbmdzLmNwcDoxMjM0CiBtc2dpZCAiVXNlciBhZ2VudCBzdHJpbmciCiBtc2dz
dHIgIkNpxIVnIGFnZW50YSB1xbx5dGtvd25pa2EiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjEyNDYKKyM6IC4uLy4uLy4uLy4u
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjEyMzUKIG1zZ2lk
ICJUaGUgdXNlciBhZ2VudCBzdHJpbmciCiBtc2dzdHIgIkNpxIVnIGFnZW50YSB1xbx5dGtvd25p
a2EiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0
dGluZ3MuY3BwOjEyNTgKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0U2V0dGluZ3MuY3BwOjEyNDcKIG1zZ2lkICJFbmFibGUgc21vb3RoIHNjcm9sbGluZyIK
IG1zZ3N0ciAiV8WCxIVjemVuaWUgcMWCeW5uZWdvIHByemVnbMSFZGFuaWEiCiAKLSM6IC4uLy4u
Ly4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjEyNTkK
KyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3Mu
Y3BwOjEyNDgKIG1zZ2lkICJXaGV0aGVyIHRvIGVuYWJsZSBzbW9vdGggc2Nyb2xsaW5nIgogbXNn
c3RyICJDenkgd8WCxIVjemHEhyBwxYJ5bm5lIHByemV3aWphbmllIgogCi0jOiAuLi8uLi8uLi8u
Li9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDoxMjc2CisjOiAu
Li8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDox
MjY3CiBtc2dpZCAiRW5hYmxlIGFjY2VsZXJhdGVkIDJEIGNhbnZhcyIKIG1zZ3N0ciAiV8WCxIVj
emVuaWUgcHJ6eXNwaWVzem9uZWdvIHJ5c293YW5pYSAyRCIKIAotIzogLi4vLi4vLi4vLi4vV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6MTI3NworIzogLi4vLi4v
Li4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6MTI2OAog
bXNnaWQgIldoZXRoZXIgdG8gZW5hYmxlIGFjY2VsZXJhdGVkIDJEIGNhbnZhcyIKIG1zZ3N0ciAi
Q3p5IHfFgsSFY3phxIcgcHJ6eXNwaWVzem9uZSByeXNvd2FuaWUgMkQiCiAKLSM6IC4uLy4uLy4u
Ly4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjEyOTIKKyM6
IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3Bw
OjEyODMKIG1zZ2lkICJXcml0ZSBjb25zb2xlIG1lc3NhZ2VzIG9uIHN0ZG91dCIKIG1zZ3N0ciAi
WmFwaXN5d2FuaWUga29tdW5pa2F0w7N3IGtvbnNvbGkgbmEgc3RhbmRhcmRvd3ltIHd5asWbY2l1
IgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRp
bmdzLmNwcDoxMjkzCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFNldHRpbmdzLmNwcDoxMjg0CiBtc2dpZCAiV2hldGhlciB0byB3cml0ZSBjb25zb2xlIG1l
c3NhZ2VzIG9uIHN0ZG91dCIKIG1zZ3N0ciAiQ3p5IHphcGlzeXdhxIcga29tdW5pa2F0eSBrb25z
b2xpIG5hIHN0YW5kYXJkb3d5bSB3eWrFm2NpdSIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6MTMxMQorIzogLi4vLi4vLi4vLi4v
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6MTMwMgogbXNnaWQg
IkVuYWJsZSBNZWRpYVN0cmVhbSIKIG1zZ3N0ciAiV8WCxIVjemVuaWUgTWVkaWFTdHJlYW0iCiAK
LSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3Mu
Y3BwOjEzMTIKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0
U2V0dGluZ3MuY3BwOjEzMDMKIG1zZ2lkICJXaGV0aGVyIE1lZGlhU3RyZWFtIGNvbnRlbnQgc2hv
dWxkIGJlIGhhbmRsZWQiCiBtc2dzdHIgIkN6eSB0cmXFm8SHIE1lZGlhU3RyZWFtIG1hIGJ5xIcg
b2JzxYJ1Z2l3YW5hIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGli
L1dlYktpdFNldHRpbmdzLmNwcDoxMzI4CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDoxMzE5CiBtc2dpZCAiRW5hYmxlIG1vY2sgY2Fw
dHVyZSBkZXZpY2VzIgogbXNnc3RyICJXxYLEhWN6ZW5pZSBzenR1Y3pueWNoIHVyesSFZHplxYQg
cHJ6ZWNod3l0eXdhbmlhIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
bGliL1dlYktpdFNldHRpbmdzLmNwcDoxMzI5CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDoxMzIwCiBtc2dpZCAiV2hldGhlciB3ZSBl
eHBvc2UgbW9jayBjYXB0dXJlIGRldmljZXMgb3Igbm90IgogbXNnc3RyICJDenkgd3lzdGF3aWHE
hyBzenR1Y3puZSB1cnrEhWR6ZW5pYSBwcnplY2h3eXR5d2FuaWEiCiAKLSM6IC4uLy4uLy4uLy4u
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjEzNDgKKyM6IC4u
Ly4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjEz
MzkKIG1zZ2lkICJFbmFibGUgU3BhdGlhbCBOYXZpZ2F0aW9uIgogbXNnc3RyICJXxYLEhWN6ZW5p
ZSBuYXdpZ2FjamkgcHJ6ZXN0cnplbm5laiIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6MTM0OQorIzogLi4vLi4vLi4vLi4vV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6MTM0MAogbXNnaWQgIldo
ZXRoZXIgdG8gZW5hYmxlIFNwYXRpYWwgTmF2aWdhdGlvbiBzdXBwb3J0LiIKIG1zZ3N0ciAiQ3p5
IHfFgsSFY3phxIcgb2JzxYJ1Z8SZIG5hd2lnYWNqaSBwcnplc3RyemVubmVqLiIKIAotIzogLi4v
Li4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6MTM2
NworIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5n
cy5jcHA6MTM1OAogbXNnaWQgIkVuYWJsZSBNZWRpYVNvdXJjZSIKIG1zZ3N0ciAiV8WCxIVjemVu
aWUgTWVkaWFTb3VyY2UiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2ds
aWIvV2ViS2l0U2V0dGluZ3MuY3BwOjEzNjgKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjEzNTkKIG1zZ2lkICJXaGV0aGVyIE1lZGlh
U291cmNlIHNob3VsZCBiZSBlbmFibGVkLiIKIG1zZ3N0ciAiQ3p5IE1lZGlhU291cmNlIG1hIGJ5
xIcgd8WCxIVjem9uZS4iCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2ds
aWIvV2ViS2l0U2V0dGluZ3MuY3BwOjEzODgKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjEzNzkKIG1zZ2lkICJFbmFibGUgRW5jcnlw
dGVkTWVkaWEiCiBtc2dzdHIgIlfFgsSFY3plbmllIEVuY3J5cHRlZE1lZGlhIgogCi0jOiAuLi8u
Li8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDoxMzg5
CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdz
LmNwcDoxMzgwCiBtc2dpZCAiV2hldGhlciBFbmNyeXB0ZWRNZWRpYSBzaG91bGQgYmUgZW5hYmxl
ZC4iCiBtc2dzdHIgIkN6eSBFbmNyeXB0ZWRNZWRpYSBtYSBiecSHIHfFgsSFY3pvbmUuIgogCi0j
OiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNw
cDoxNDEwCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNl
dHRpbmdzLmNwcDoxNDAxCiBtc2dpZCAiRW5hYmxlIE1lZGlhQ2FwYWJpbGl0aWVzIgogbXNnc3Ry
ICJXxYLEhWN6ZW5pZSBNZWRpYUNhcGFiaWxpdGllcyIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6MTQxMQorIzogLi4vLi4vLi4v
Li4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6MTQwMgogbXNn
aWQgIldoZXRoZXIgTWVkaWFDYXBhYmlsaXRpZXMgc2hvdWxkIGJlIGVuYWJsZWQuIgogbXNnc3Ry
ICJDenkgTWVkaWFDYXBhYmlsaXRpZXMgbWEgYnnEhyB3xYLEhWN6b25lLiIKIAotIzogLi4vLi4v
Li4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6MTQyOQor
IzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5j
cHA6MTQyMAogbXNnaWQgIkFsbG93IGZpbGUgYWNjZXNzIGZyb20gZmlsZSBVUkxzIgogbXNnc3Ry
ICJaZXp3b2xlbmllIG5hIGRvc3TEmXAgZG8gcGxpa8OzdyB6wqBhZHJlc8OzdyBVUkwgcGxpa8Oz
dyIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0
aW5ncy5jcHA6MTQzMAorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9X
ZWJLaXRTZXR0aW5ncy5jcHA6MTQyMQogbXNnaWQgIldoZXRoZXIgZmlsZSBhY2Nlc3MgaXMgYWxs
b3dlZCBmcm9tIGZpbGUgVVJMcy4iCiBtc2dzdHIgIkN6eSBkb3N0xJlwIGRvIHBsaWvDs3cgamVz
dCBkb3p3b2xvbnkgesKgYWRyZXPDs3cgVVJMIHBsaWvDs3cuIgogCi0jOiAuLi8uLi8uLi8uLi9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDoxNDQ5CisjOiAuLi8u
Li8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDoxNDQw
CiBtc2dpZCAiQWxsb3cgdW5pdmVyc2FsIGFjY2VzcyBmcm9tIHRoZSBjb250ZXh0IG9mIGZpbGUg
c2NoZW1lIFVSTHMiCiBtc2dzdHIgIiIKICJaZXp3b2xlbmllIG5hIHXFgmF0d2llbmlhIGRvc3TE
mXB1IHrCoGtvbnRla3N0dSBhZHJlc8OzdyBVUkwgc2NoZW1hdMOzdyBwbGlrw7N3IgogCi0jOiAu
Li8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDox
NDUwCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRp
bmdzLmNwcDoxNDQxCiBtc2dpZCAiIgogIldoZXRoZXIgb3Igbm90IHVuaXZlcnNhbCBhY2Nlc3Mg
aXMgYWxsb3dlZCBmcm9tIHRoZSBjb250ZXh0IG9mIGZpbGUgc2NoZW1lICIKICJVUkxzIgogbXNn
c3RyICIiCiAiQ3p5IHXFgmF0d2llbmlhIGRvc3TEmXB1IHPEhSBkb3p3b2xvbmUgesKga29udGVr
c3R1IGFkcmVzw7N3IFVSTCBzY2hlbWF0w7N3IHBsaWvDs3ciCiAKLSM6IC4uLy4uLy4uLy4uL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjE0NjcKKyM6IC4uLy4u
Ly4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjE0NTgK
IG1zZ2lkICJBbGxvdyB0b3AgZnJhbWUgbmF2aWdhdGlvbiB0byBkYXRhIFVSTHMiCiBtc2dzdHIg
IlplendvbGVuaWUgbmEgcHJ6ZWNob2R6ZW5pZSB6wqBnxYLDs3duZWogcmFta2kgZG8gYWRyZXPD
s3cgVVJMIOKAnmRhdGHigJ0iCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjE0NjgKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjE0NTkKIG1zZ2lkICJXaGV0aGVyIG9y
IG5vdCB0b3AgZnJhbWUgbmF2aWdhdGlvbiBpcyBhbGxvd2VkIHRvIGRhdGEgVVJMcyIKIG1zZ3N0
ciAiQ3p5IG1vxbxuYSBwcnplY2hvZHppxIcgesKgZ8WCw7N3bmVqIHJhbWtpIGRvIGFkcmVzw7N3
IFVSTCDigJ5kYXRh4oCdIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
bGliL1dlYktpdFNldHRpbmdzLmNwcDoxNDkzCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDoxNDg0CiBtc2dpZCAiSGFyZHdhcmUgQWNj
ZWxlcmF0aW9uIFBvbGljeSIKIG1zZ3N0ciAiWmFzYWRhIHByenlzcGllc3plbmlhIHNwcnrEmXRv
d2VnbyIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRT
ZXR0aW5ncy5jcHA6MTQ5NAorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xp
Yi9XZWJLaXRTZXR0aW5ncy5jcHA6MTQ4NQogbXNnaWQgIlRoZSBwb2xpY3kgdG8gZGVjaWRlIGhv
dyB0byBlbmFibGUgYW5kIGRpc2FibGUgaGFyZHdhcmUgYWNjZWxlcmF0aW9uIgogbXNnc3RyICIi
CiAiWmFzYWRhIGRlY3lkdWrEhWNhIG/CoHNwb3NvYmllIHfFgsSFY3phbmlhIGnCoHd5xYLEhWN6
YW5pYSBwcnp5c3BpZXN6ZW5pYSAiCiAic3ByesSZdG93ZWdvIgogCi0jOiAuLi8uLi8uLi8uLi9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDoxNTA5CisjOiAuLi8u
Li8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDoxNTAw
CiBtc2dpZCAiRW5hYmxlIGJhY2stZm9yd2FyZCBuYXZpZ2F0aW9uIGdlc3R1cmVzIgogbXNnc3Ry
ICJXxYLEhWN6ZW5pZSBnZXN0w7N3IG5hd2lnYWNqaSB3c3RlY3otZGFsZWoiCiAKLSM6IC4uLy4u
Ly4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjE1MTAK
KyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3Mu
Y3BwOjE1MDEKIG1zZ2lkICJXaGV0aGVyIGhvcml6b250YWwgc3dpcGUgZ2VzdHVyZSB3aWxsIHRy
aWdnZXIgYmFjay1mb3J3YXJkIG5hdmlnYXRpb24iCiBtc2dzdHIgIkN6eSBnZXN0IHByemVjacSF
Z25pxJljaWEgd8KgcG96aW9taWUgd3l6d2FsYSBuYXdpZ2FjasSZIHdzdGVjei1kYWxlaiIKIAot
IzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5j
cHA6MTUyNworIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRT
ZXR0aW5ncy5jcHA6MTUxOAogbXNnaWQgIkVuYWJsZSBKYXZhU2NyaXB0IE1hcmt1cCIKIG1zZ3N0
ciAiV8WCxIVjemVuaWUgem5hY3puaWvDs3cgSmF2YVNjcmlwdCIKIAotIzogLi4vLi4vLi4vLi4v
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6MTUyOAorIzogLi4v
Li4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6MTUx
OQogbXNnaWQgIkVuYWJsZSBKYXZhU2NyaXB0IGluIGRvY3VtZW50IG1hcmt1cC4iCiBtc2dzdHIg
IlfFgsSFY3plbmllIGrEmXp5a2EgSmF2YVNjcmlwdCB3wqB6bmFjem5pa2FjaCBkb2t1bWVudHUu
IgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRp
bmdzLmNwcDoxNTQ0CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFNldHRpbmdzLmNwcDoxNTM1CiBtc2dpZCAiRW5hYmxlIG1lZGlhIgogbXNnc3RyICJXxYLE
hWN6ZW5pZSBtdWx0aW1lZGnDs3ciCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjE1NDUKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjE1MzYKIG1zZ2lkICJXaGV0aGVy
IG1lZGlhIGNvbnRlbnQgc2hvdWxkIGJlIGhhbmRsZWQiCiBtc2dzdHIgIkN6eSB0cmXFm8SHIG11
bHRpbWVkaWFsbmEgbWEgYnnEhyBvYnPFgnVnaXdhbmEiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjE1NjAKKyM6IC4uLy4uLy4u
Ly4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOjE1NTEKIG1z
Z2lkICJNZWRpYSBjb250ZW50IHR5cGVzIHJlcXVpcmluZyBoYXJkd2FyZSBzdXBwb3J0IgogbXNn
c3RyICJUeXB5IHRyZcWbY2kgbXVsdGltZWRpYWxueWNoIHd5bWFnYWrEhWNlIG9ic8WCdWdpIHNw
cnrEmXRvd2VqIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFNldHRpbmdzLmNwcDoxNTYxCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdFNldHRpbmdzLmNwcDoxNTUyCiBtc2dpZCAiTGlzdCBvZiBtZWRpYSBjb250
ZW50IHR5cGVzIHJlcXVpcmluZyBoYXJkd2FyZSBzdXBwb3J0LiIKIG1zZ3N0ciAiTGlzdGEgdHlw
w7N3IHRyZcWbY2kgbXVsdGltZWRpYWxueWNoIHd5bWFnYWrEhWN5Y2ggb2JzxYJ1Z2kgc3ByesSZ
dG93ZWouIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktp
dFVzZXJDb250ZW50RmlsdGVyU3RvcmUuY3BwOjEzOAorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVc2VyQ29udGVudEZpbHRlclN0b3JlLmNwcDoxNDMKIG1z
Z2lkICJTdG9yYWdlIGRpcmVjdG9yeSBwYXRoIgogbXNnc3RyICLFmmNpZcW8a2EgZG8ga2F0YWxv
Z3UgcHJ6ZWNob3d5d2FueWNoIGRhbnljaCIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRVc2VyQ29udGVudEZpbHRlclN0b3JlLmNwcDoxMzkKKyM6IC4u
Ly4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VXNlckNvbnRlbnRGaWx0
ZXJTdG9yZS5jcHA6MTQ0CiBtc2dpZCAiVGhlIGRpcmVjdG9yeSB3aGVyZSB1c2VyIGNvbnRlbnQg
ZmlsdGVycyBhcmUgc3RvcmVkIgogbXNnc3RyICJLYXRhbG9nLCB3wqBrdMOzcnltIGLEmWTEhSBw
cnplY2hvd3l3YW5lIGZpbHRyeSB0cmXFm2NpIHXFvHl0a293bmlrYSIKIApAQCAtMjMxNCwzNiAr
MjMxNCwzNiBAQCBtc2dzdHIgIiIKICJDenkgdXJ6xIVkemVuaWUgbXVsdGltZWRpYWxuZSwgZGxh
IGt0w7NyZWdvIHphxbzEhWRhbm8gdXByYXduaWVuaWEsIG1vxbxlICIKICJwcnplY2h3eXR5d2HE
hyB3aWRlby4iCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2Vi
S2l0V2ViQ29udGV4dC5jcHA6NDk3Ci0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5jcHA6MzAxCisjOiAuLi8uLi8uLi8uLi9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYkNvbnRleHQuY3BwOjQ4MgorIzogLi4v
Li4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFn
ZXIuY3BwOjMwNAogbXNnaWQgIkxvY2FsIFN0b3JhZ2UgRGlyZWN0b3J5IgogbXNnc3RyICJLYXRh
bG9nIGxva2FsbmllIHByemVjaG93eXdhbnljaCBkYW55Y2giCiAKLSM6IC4uLy4uLy4uLy4uL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViQ29udGV4dC5jcHA6NDk4CisjOiAuLi8u
Li8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYkNvbnRleHQuY3BwOjQ4
MwogbXNnaWQgIlRoZSBkaXJlY3Rvcnkgd2hlcmUgbG9jYWwgc3RvcmFnZSBkYXRhIHdpbGwgYmUg
c2F2ZWQiCiBtc2dzdHIgIkthdGFsb2csIGRvIGt0w7NyZWdvIGLEmWTEhSB6YXBpc3l3YW5lIGxv
a2FsbmllIHByemVjaG93eXdhbmUgZGFuZSIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJDb250ZXh0LmNwcDo1MTUKKyM6IC4uLy4uLy4uLy4uL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViQ29udGV4dC5jcHA6NTAwCiBtc2dpZCAi
V2Vic2l0ZSBEYXRhIE1hbmFnZXIiCiBtc2dzdHIgIk1lbmVkxbxlciBkYW55Y2ggc3Ryb24iCiAK
LSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViQ29udGV4
dC5jcHA6NTE2CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktp
dFdlYkNvbnRleHQuY3BwOjUwMQogbXNnaWQgIlRoZSBXZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIg
YXNzb2NpYXRlZCB3aXRoIHRoaXMgY29udGV4dCIKIG1zZ3N0ciAiV2ViS2l0V2Vic2l0ZURhdGFN
YW5hZ2VyIHBvd2nEhXphbnkgesKgdHltIGtvbnRla3N0ZW0iCiAKLSM6IC4uLy4uLy4uLy4uL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViQ29udGV4dC5jcHA6NTM5CisjOiAuLi8u
Li8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYkNvbnRleHQuY3BwOjUy
NAogbXNnaWQgIlN3YXAgUHJvY2Vzc2VzIG9uIENyb3NzLVNpdGUgTmF2aWdhdGlvbiIKIG1zZ3N0
ciAiV3ltaWFuYSBwcm9jZXPDs3cgcHJ6eSBwcnplY2hvZHplbml1IG1pxJlkenkgc3Ryb25hbWki
CiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViQ29u
dGV4dC5jcHA6NTQwCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFdlYkNvbnRleHQuY3BwOjUyNQogbXNnaWQgIldoZXRoZXIgc3dhcCBXZWIgcHJvY2Vzc2Vz
IG9uIGNyb3NzLXNpdGUgbmF2aWdhdGlvbnMgaXMgZW5hYmxlZCIKIG1zZ3N0ciAiQ3p5IHfFgsSF
Y3p5xIcgd3ltaWFuxJkgcHJvY2Vzw7N3IFdXVyBwcnp5IHByemVjaG9kemVuaXUgbWnEmWR6eSBz
dHJvbmFtaSIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJL
aXRXZWJDb250ZXh0LmNwcDo1NjEKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0V2ViQ29udGV4dC5jcHA6NTQ2CiBtc2dpZCAiVXNlIHN5c3RlbSBhcHBlYXJh
bmNlIGZvciBzY3JvbGxiYXJzIgogbXNnc3RyICJTeXN0ZW1vd3kgd3lnbMSFZCBwYXNrw7N3IHBy
emV3aWphbmlhIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFdlYkNvbnRleHQuY3BwOjU2MgorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ2xpYi9XZWJLaXRXZWJDb250ZXh0LmNwcDo1NDcKIG1zZ2lkICJXaGV0aGVyIHRvIHVzZSBz
eXN0ZW0gYXBwZWFyYW5jZSBmb3IgcmVuZGVyaW5nIHNjcm9sbGJhcnMiCiBtc2dzdHIgIkN6eSB1
xbx5d2HEhyBzeXN0ZW1vd2VnbyB3eWdsxIVkdSBkbyB3ecWbd2lldGxhbmlhIHBhc2vDs3cgcHJ6
ZXdpamFuaWEiCiAKQEAgLTIzNTcsMTM2ICsyMzU3LDEzNiBAQCBtc2dzdHIgIk9kcG93aWVkxbog
emFzb2J1IgogCiAjLiBUaGlzIGZhaWxzIHdoZW4gdGhlIHBhZ2UgaXMgY2xvc2VkIG9yIGZyYW1l
IGlzIGRlc3Ryb3llZCwgc28gd2UgY2FuIGp1c3QgY2FuY2VsIHRoZSBvcGVyYXRpb24uCiAjOiAu
Li8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlJlc291cmNlLmNw
cDozNDkKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2Vi
Vmlldy5jcHA6NDU5MgorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9X
ZWJLaXRXZWJWaWV3LmNwcDo0NjE3CiAjOiAuLi8uLi8uLi8uLi9XZWJLaXQvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvZ2xpYi9XZWJLaXRXZWJFeHRlbnNpb24uY3BwOjI4NwotIzogLi4v
Li4vLi4vLi4vV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2dsaWIvV2ViS2l0
V2ViUGFnZS5jcHA6ODk3CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvZ2xpYi9XZWJLaXRXZWJQYWdlLmNwcDo4OTYKIG1zZ2lkICJPcGVyYXRpb24g
d2FzIGNhbmNlbGxlZCIKIG1zZ3N0ciAiQW51bG93YW5vIGR6aWHFgmFuaWUiCiAKLSM6IC4uLy4u
Ly4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2Vic2l0ZURhdGEuY3BwOjE5
OAorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRl
RGF0YS5jcHA6MTk1CiBtc2dpZCAiTG9jYWwgZmlsZXMiCiBtc2dzdHIgIkxva2FsbmUgcGxpa2ki
CiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2Vic2l0
ZURhdGFNYW5hZ2VyLmNwcDoyNjYKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmNwcDoyNjkKIG1zZ2lkICJCYXNlIERhdGEg
RGlyZWN0b3J5IgogbXNnc3RyICJQb2RzdGF3b3d5IGthdGFsb2cgZGFueWNoIgogCi0jOiAuLi8u
Li8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdl
ci5jcHA6MjY3CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktp
dFdlYnNpdGVEYXRhTWFuYWdlci5jcHA6MjcwCiBtc2dpZCAiVGhlIGJhc2UgZGlyZWN0b3J5IGZv
ciBXZWJzaXRlIGRhdGEiCiBtc2dzdHIgIlBvZHN0YXdvd3kga2F0YWxvZyBkYW55Y2ggc3Ryb255
IgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYnNp
dGVEYXRhTWFuYWdlci5jcHA6Mjg0CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5jcHA6Mjg3CiBtc2dpZCAiQmFzZSBDYWNo
ZSBEaXJlY3RvcnkiCiBtc2dzdHIgIlBvZHN0YXdvd3kga2F0YWxvZyBwYW1pxJljaSBwb2RyxJlj
em5laiIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRX
ZWJzaXRlRGF0YU1hbmFnZXIuY3BwOjI4NQorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuY3BwOjI4OAogbXNnaWQgIlRoZSBi
YXNlIGRpcmVjdG9yeSBmb3IgV2Vic2l0ZSBjYWNoZSIKIG1zZ3N0ciAiUG9kc3Rhd293eSBrYXRh
bG9nIHBhbWnEmWNpIHBvZHLEmWN6bmVqIHN0cm9ueSIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuY3BwOjMwMgorIzog
Li4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1h
bmFnZXIuY3BwOjMwNQogbXNnaWQgIlRoZSBkaXJlY3Rvcnkgd2hlcmUgbG9jYWwgc3RvcmFnZSBk
YXRhIHdpbGwgYmUgc3RvcmVkIgogbXNnc3RyICJLYXRhbG9nLCB3wqBrdMOzcnltIGLEmWTEhSBs
b2thbG5pZSBwcnplY2hvd3l3YW5lIGRhbmUiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmNwcDozMTgKKyM6IC4uLy4u
Ly4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2Vy
LmNwcDozMjEKIG1zZ2lkICJEaXNrIENhY2hlIERpcmVjdG9yeSIKIG1zZ3N0ciAiS2F0YWxvZyBw
YW1pxJljaSBwb2RyxJljem5laiBuYSBkeXNrdSIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuY3BwOjMxOQorIzogLi4v
Li4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFn
ZXIuY3BwOjMyMgogbXNnaWQgIlRoZSBkaXJlY3Rvcnkgd2hlcmUgSFRUUCBkaXNrIGNhY2hlIHdp
bGwgYmUgc3RvcmVkIgogbXNnc3RyICJLYXRhbG9nLCB3wqBrdMOzcnltIGLEmWR6aWUgcHJ6ZWNo
b3d5d2FuYSBwYW1pxJnEhyBwb2RyxJljem5hIEhUVFAgbmEgZHlza3UiCiAKLSM6IC4uLy4uLy4u
Ly4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmNw
cDozMzUKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2Vi
c2l0ZURhdGFNYW5hZ2VyLmNwcDozMzgKIG1zZ2lkICJPZmZsaW5lIFdlYiBBcHBsaWNhdGlvbiBD
YWNoZSBEaXJlY3RvcnkiCiBtc2dzdHIgIkthdGFsb2cgcGFtacSZY2kgcG9kcsSZY3puZWogYXBs
aWthY2ppIFdXVyB3wqB0cnliaWUgb2ZmbGluZSIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuY3BwOjMzNgorIzogLi4v
Li4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFn
ZXIuY3BwOjMzOQogbXNnaWQgIlRoZSBkaXJlY3Rvcnkgd2hlcmUgb2ZmbGluZSB3ZWIgYXBwbGlj
YXRpb24gY2FjaGUgd2lsbCBiZSBzdG9yZWQiCiBtc2dzdHIgIiIKICJLYXRhbG9nLCB3wqBrdMOz
cnltIGLEmWR6aWUgcHJ6ZWNob3d5d2FuYSBwYW1pxJnEhyBwb2RyxJljem5hIGFwbGlrYWNqaSBX
V1cgIgogInfCoHRyeWJpZSBvZmZsaW5lIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5jcHA6MzUyCisjOiAuLi8uLi8u
Li8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5j
cHA6MzU1CiBtc2dpZCAiSW5kZXhlZERCIERpcmVjdG9yeSIKIG1zZ3N0ciAiS2F0YWxvZyBiYXog
SW5kZXhlZERCIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFdlYnNpdGVEYXRhTWFuYWdlci5jcHA6MzUzCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5jcHA6MzU2CiBtc2dpZCAi
VGhlIGRpcmVjdG9yeSB3aGVyZSBJbmRleGVkREIgZGF0YWJhc2VzIHdpbGwgYmUgc3RvcmVkIgog
bXNnc3RyICJLYXRhbG9nLCB3wqBrdMOzcnltIGLEmWTEhSBwcnplY2hvd3l3YW5lIGJhenkgZGFu
eWNoIEluZGV4ZWREQiIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xp
Yi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuY3BwOjM3MQorIzogLi4vLi4vLi4vLi4vV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuY3BwOjM3NAogbXNn
aWQgIldlYlNRTCBEaXJlY3RvcnkiCiBtc2dzdHIgIkthdGFsb2cgYmF6IFdlYlNRTCIKIAotIzog
Li4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1h
bmFnZXIuY3BwOjM3MgorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9X
ZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuY3BwOjM3NQogbXNnaWQgIlRoZSBkaXJlY3Rvcnkgd2hl
cmUgV2ViU1FMIGRhdGFiYXNlcyB3aWxsIGJlIHN0b3JlZCIKIG1zZ3N0ciAiS2F0YWxvZywgd8Kg
a3TDs3J5bSBixJlkxIUgcHJ6ZWNob3d5d2FuZSBiYXp5IGRhbnljaCBXZWJTUUwiCiAKLSM6IC4u
Ly4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2Vic2l0ZURhdGFNYW5h
Z2VyLmNwcDozODgKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2Vi
S2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmNwcDozOTEKIG1zZ2lkICJIU1RTIENhY2hlIERpcmVjdG9y
eSIKIG1zZ3N0ciAiS2F0YWxvZyBwYW1pxJljaSBwb2RyxJljem5laiBIU1RTIgogCi0jOiAuLi8u
Li8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdl
ci5jcHA6Mzg5CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktp
dFdlYnNpdGVEYXRhTWFuYWdlci5jcHA6MzkyCiBtc2dpZCAiIgogIlRoZSBkaXJlY3Rvcnkgd2hl
cmUgdGhlIEhUVFAgU3RyaWN0LVRyYW5zcG9ydC1TZWN1cml0eSBjYWNoZSB3aWxsIGJlIHN0b3Jl
ZCIKIG1zZ3N0ciAiIgogIkthdGFsb2csIHfCoGt0w7NyeW0gYsSZZHppZSBwcnplY2hvd3l3YW5h
IHBhbWnEmcSHIHBvZHLEmWN6bmEgU3RyaWN0LVRyYW5zcG9ydC0iCiAiU2VjdXJpdHkgSFRUUCIK
IAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRl
RGF0YU1hbmFnZXIuY3BwOjQwNQorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuY3BwOjQwOAogbXNnaWQgIklUUCBEaXJlY3Rv
cnkiCiBtc2dzdHIgIkthdGFsb2cgSVRQIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5jcHA6NDA2CisjOiAuLi8uLi8u
Li8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5j
cHA6NDA5CiBtc2dpZCAiVGhlIGRpcmVjdG9yeSB3aGVyZSBJbnRlbGxpZ2VudCBUcmFja2luZyBQ
cmV2ZW50aW9uIGRhdGEgd2lsbCBiZSBzdG9yZWQiCiBtc2dzdHIgIiIKICJLYXRhbG9nLCB3wqBr
dMOzcnltIGLEmWTEhSBwcnplY2hvd3l3YW5lIGRhbmUgaW50ZWxpZ2VudG5laiBvY2hyb255IHBy
emVkICIKICLFm2xlZHplbmllbSIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuY3BwOjQyMgorIzogLi4vLi4vLi4vLi4v
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuY3BwOjQy
NQogbXNnaWQgIlNlcnZpY2UgV29ya2VyIFJlZ2lzdHJhdGlvbnMgRGlyZWN0b3J5IgogbXNnc3Ry
ICJLYXRhbG9nIHJlamVzdHJhY2ppIHfEhXRrw7N3IHVzxYJ1Z293eWNoIgogCi0jOiAuLi8uLi8u
Li8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5j
cHA6NDIzCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdl
YnNpdGVEYXRhTWFuYWdlci5jcHA6NDI2CiBtc2dpZCAiVGhlIGRpcmVjdG9yeSB3aGVyZSBzZXJ2
aWNlIHdvcmtlcnMgcmVnaXN0cmF0aW9ucyB3aWxsIGJlIHN0b3JlZCIKIG1zZ3N0ciAiS2F0YWxv
Zywgd8Kga3TDs3J5bSBixJlkxIUgcHJ6ZWNob3d5d2FuZSByZWplc3RyYWNqZSB3xIV0a8OzdyB1
c8WCdWdvd3ljaCIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9X
ZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuY3BwOjQzOQorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuY3BwOjQ0MgogbXNnaWQg
IkRPTSBDYWNoZSBkaXJlY3RvcnkiCiBtc2dzdHIgIkthdGFsb2cgcGFtacSZY2kgcG9kcsSZY3pu
ZWogRE9NIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktp
dFdlYnNpdGVEYXRhTWFuYWdlci5jcHA6NDQwCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5jcHA6NDQzCiBtc2dpZCAiVGhl
IGRpcmVjdG9yeSB3aGVyZSBET00gY2FjaGUgd2lsbCBiZSBzdG9yZWQiCiBtc2dzdHIgIkthdGFs
b2csIHfCoGt0w7NyeW0gYsSZZHppZSBwcnplY2hvd3l3YW5hIHBhbWnEmcSHIHBvZHLEmWN6bmEg
RE9NIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdl
YnNpdGVEYXRhTWFuYWdlci5jcHA6NDYwCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5jcHA6NDYzCiBtc2dpZCAiV2hldGhl
ciB0aGUgV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyIGlzIGVwaGVtZXJhbCIKIG1zZ3N0ciAiQ3p5
IFdlYktpdFdlYnNpdGVEYXRhTWFuYWdlciBqZXN0IHR5bWN6YXNvd3kiCiAKLSM6IC4uLy4uLy4u
Ly4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHA6NzE4CisjOiAu
Li8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwOjcy
MAogbXNnaWQgIkFja25vd2xlZGdlIgogbXNnc3RyICJQb3R3aWVyZMW6IgogCi0jOiAuLi8uLi8u
Li8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwOjEwMDIKKyM6
IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHA6
MTAxMwogbXNnaWQgIkJhY2tlbmQiCiBtc2dzdHIgIk1lY2hhbml6bSIKIAotIzogLi4vLi4vLi4v
Li4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcDoxMDAzCisjOiAu
Li8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwOjEw
MTQKIG1zZ2lkICJUaGUgYmFja2VuZCBmb3IgdGhlIHdlYiB2aWV3IgogbXNnc3RyICJNZWNoYW5p
em0gd2lkb2t1IFdXVyIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xp
Yi9XZWJLaXRXZWJWaWV3LmNwcDoxMDE2CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwOjEwMjcKIG1zZ2lkICJXZWIgQ29udGV4dCIKIG1z
Z3N0ciAiS29udGVrc3QgV1dXIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdFdlYlZpZXcuY3BwOjEwMTcKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHA6MTAyOAogbXNnaWQgIlRoZSB3ZWIgY29u
dGV4dCBmb3IgdGhlIHZpZXciCiBtc2dzdHIgIktvbnRla3N0IFdXVyB3aWRva3UiCiAKLSM6IC4u
Ly4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHA6MTAz
NAorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3
LmNwcDoxMDQ1CiBtc2dpZCAiUmVsYXRlZCBXZWJWaWV3IgogbXNnc3RyICJQb3dpxIV6YW5lIFdl
YlZpZXciCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0
V2ViVmlldy5jcHA6MTAzNQorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xp
Yi9XZWJLaXRXZWJWaWV3LmNwcDoxMDQ2CiBtc2dpZCAiIgogIlRoZSByZWxhdGVkIFdlYktpdFdl
YlZpZXcgdXNlZCB3aGVuIGNyZWF0aW5nIHRoZSB2aWV3IHRvIHNoYXJlIHRoZSBzYW1lIHdlYiAi
CiAicHJvY2VzcyIKQEAgLTI0OTQsMTEzICsyNDk0LDExMyBAQCBtc2dzdHIgIiIKICJQb3dpxIV6
YW5lIFdlYktpdFdlYlZpZXcgdcW8eXdhbmUgcG9kY3phcyB0d29yemVuaWEgd2lkb2t1IGRvIHdz
cMOzxYJkemllbGVuaWEgIgogInRlZ28gc2FtZWdvIHByb2Nlc3UgV1dXIgogCi0jOiAuLi8uLi8u
Li8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwOjEwNTEKKyM6
IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHA6
MTA2MgogbXNnaWQgIldlYlZpZXcgc2V0dGluZ3MiCiBtc2dzdHIgIlVzdGF3aWVuaWEgV2ViVmll
dyIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJW
aWV3LmNwcDoxMDUyCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFdlYlZpZXcuY3BwOjEwNjMKIG1zZ2lkICJUaGUgV2ViS2l0U2V0dGluZ3Mgb2YgdGhlIHZp
ZXciCiBtc2dzdHIgIldlYktpdFNldHRpbmdzIHdpZG9rdSIKIAotIzogLi4vLi4vLi4vLi4vV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcDoxMDY4CisjOiAuLi8uLi8u
Li8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwOjEwNzkKIG1z
Z2lkICJXZWJWaWV3IHVzZXIgY29udGVudCBtYW5hZ2VyIgogbXNnc3RyICJNZW5lZMW8ZXIgdHJl
xZtjaSB1xbx5dGtvd25pa2EgV2ViVmlldyIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcDoxMDY5CisjOiAuLi8uLi8uLi8uLi9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwOjEwODAKIG1zZ2lkICJUaGUg
V2ViS2l0VXNlckNvbnRlbnRNYW5hZ2VyIG9mIHRoZSB2aWV3IgogbXNnc3RyICJXZWJLaXRVc2Vy
Q29udGVudE1hbmFnZXIgd2lkb2t1IgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwOjEwODMKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHA6MTA5NAogbXNnaWQgIk1haW4gZnJh
bWUgZG9jdW1lbnQgdGl0bGUiCiBtc2dzdHIgIlR5dHXFgiBkb2t1bWVudHUgd8KgZ8WCw7N3bmVq
IHJhbWNlIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktp
dFdlYlZpZXcuY3BwOjExMDEKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2ds
aWIvV2ViS2l0V2ViVmlldy5jcHA6MTExMgogbXNnaWQgIkVzdGltYXRlZCBMb2FkIFByb2dyZXNz
IgogbXNnc3RyICJTemFjb3dhbnkgcG9zdMSZcCB3Y3p5dHl3YW5pYSIKIAotIzogLi4vLi4vLi4v
Li4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcDoxMTAyCisjOiAu
Li8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwOjEx
MTMKIG1zZ2lkICJBbiBlc3RpbWF0ZSBvZiB0aGUgcGVyY2VudCBjb21wbGV0aW9uIGZvciBhIGRv
Y3VtZW50IGxvYWQiCiBtc2dzdHIgIlN6YWNvd2FuZSBwcm9jZW50b3dlIHVrb8WEY3plbmllIHdj
enl0eXdhbmlhIGRva3VtZW50dSIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcDoxMTE1CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwOjExMjYKIG1zZ2lkICJGYXZpY29uIgog
bXNnc3RyICJGYXZpY29uIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
bGliL1dlYktpdFdlYlZpZXcuY3BwOjExMTYKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHA6MTEyNwogbXNnaWQgIlRoZSBmYXZpY29uIGFz
c29jaWF0ZWQgdG8gdGhlIHZpZXcsIGlmIGFueSIKIG1zZ3N0ciAiSWtvbmEgZmF2aWNvbiBwb3dp
xIV6YW5hIHrCoHdpZG9raWVtLCBqZcWbbGkgamFrYcWbIGplc3QiCiAKLSM6IC4uLy4uLy4uLy4u
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHA6MTEzMAorIzogLi4v
Li4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcDoxMTQx
CiBtc2dpZCAiVGhlIGN1cnJlbnQgYWN0aXZlIFVSSSBvZiB0aGUgdmlldyIKIG1zZ3N0ciAiT2Jl
Y25pZSBha3R5d255IGFkcmVzIFVSSSB3aWRva3UiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHA6MTE0NQorIzogLi4vLi4vLi4vLi4v
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcDoxMTU2CiBtc2dpZCAi
Wm9vbSBsZXZlbCIKIG1zZ3N0ciAiUG96aW9tIHBvd2nEmWtzemVuaWEiCiAKLSM6IC4uLy4uLy4u
Ly4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHA6MTE0NgorIzog
Li4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcDox
MTU3CiBtc2dpZCAiVGhlIHpvb20gbGV2ZWwgb2YgdGhlIHZpZXcgY29udGVudCIKIG1zZ3N0ciAi
UG96aW9tIHBvd2nEmWtzemVuaWEgdHJlxZtjaSB3aWRva3UiCiAKLSM6IC4uLy4uLy4uLy4uL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHA6MTE2NQorIzogLi4vLi4v
Li4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcDoxMTc2CiBt
c2dpZCAiSXMgTG9hZGluZyIKIG1zZ3N0ciAiV2N6eXR1amUiCiAKLSM6IC4uLy4uLy4uLy4uL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHA6MTE2NgorIzogLi4vLi4v
Li4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcDoxMTc3CiBt
c2dpZCAiV2hldGhlciB0aGUgdmlldyBpcyBsb2FkaW5nIGEgcGFnZSIKIG1zZ3N0ciAiQ3p5IHdp
ZG9rIHdjenl0dWplIHN0cm9uxJkiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHA6MTE4NgorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcDoxMTk3CiBtc2dpZCAiV2hldGhlciB0
aGUgdmlldyBpcyBwbGF5aW5nIGF1ZGlvIgogbXNnc3RyICJDenkgd2lkb2sgb2R0d2FyemEgZMW6
d2nEmWsiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0
V2ViVmlldy5jcHA6MTIwOQorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xp
Yi9XZWJLaXRXZWJWaWV3LmNwcDoxMjI1CiBtc2dpZCAiV2hldGhlciB0aGUgd2ViIHZpZXcgaXMg
ZXBoZW1lcmFsIgogbXNnc3RyICJDenkgd2lkb2sgV1dXIGplc3QgdHltY3phc293eSIKIAotIzog
Li4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcDox
MjI4CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZp
ZXcuY3BwOjEyNDQKIG1zZ2lkICJXaGV0aGVyIHRoZSB3ZWIgdmlldyBpcyBjb250cm9sbGVkIGJ5
IGF1dG9tYXRpb24iCiBtc2dzdHIgIkN6eSB3aWRvayBXV1cgamVzdCBzdGVyb3dhbnkgYXV0b21h
dHljem5pZSIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJL
aXRXZWJWaWV3LmNwcDoxMjQ4CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
bGliL1dlYktpdFdlYlZpZXcuY3BwOjEyNjQKIG1zZ2lkICJUaGUgYnJvd3NpbmcgY29udGV4dCBw
cmVzZW50YXRpb24gdHlwZSBmb3IgYXV0b21hdGlvbiIKIG1zZ3N0ciAiVHlwIHByemVkc3Rhd2ll
bmlhIGtvbnRla3N0dSBwcnplZ2zEhWRhbmlhIGRvIGF1dG9tYXR5emFjamkiCiAKLSM6IC4uLy4u
Ly4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHA6MTI2Ngor
IzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNw
cDoxMjgyCiBtc2dpZCAiRWRpdGFibGUiCiBtc2dzdHIgIk1vZHlmaWtvd2FsbmUiCiAKLSM6IC4u
Ly4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHA6MTI2
NworIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3
LmNwcDoxMjgzCiBtc2dpZCAiV2hldGhlciB0aGUgY29udGVudCBjYW4gYmUgbW9kaWZpZWQgYnkg
dGhlIHVzZXIuIgogbXNnc3RyICJDenkgdHJlxZvEhyBtb8W8ZSBiecSHIG1vZHlmaWtvd2FuYSBw
cnpleiB1xbx5dGtvd25pa2EuIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdFdlYlZpZXcuY3BwOjEyODMKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHA6MTI5OQogbXNnaWQgIlBhZ2UgSWRlbnRp
ZmllciIKIG1zZ3N0ciAiSWRlbnR5ZmlrYXRvciBzdHJvbnkiCiAKLSM6IC4uLy4uLy4uLy4uL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHA6MTI4NAorIzogLi4vLi4v
Li4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcDoxMzAwCiBt
c2dpZCAiVGhlIHBhZ2UgaWRlbnRpZmllci4iCiBtc2dzdHIgIklkZW50eWZpa2F0b3Igc3Ryb255
LiIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJW
aWV3LmNwcDoxMzAyCisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFdlYlZpZXcuY3BwOjEzMTgKIG1zZ2lkICJXaGV0aGVyIHRoZSB2aWV3IGF1ZGlvIGlzIG11
dGVkIgogbXNnc3RyICJDenkgZMW6d2nEmWsgd2lkb2t1IGplc3Qgd3ljaXN6b255IgogCi0jOiAu
Li8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwOjEz
MTgKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmll
dy5jcHA6MTMzNAogbXNnaWQgIkRlZmF1bHQgV2Vic2l0ZSBQb2xpY2llcyIKIG1zZ3N0ciAiRG9t
ecWbbG5lIHphc2FkeSBzdHJvbiIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcDoxMzE5CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwOjEzMzUKIG1zZ2lkICJUaGUgZGVmYXVs
dCBwb2xpY3kgb2JqZWN0IGZvciBzaXRlcyBsb2FkZWQgaW4gdGhpcyB2aWV3IgogbXNnc3RyICJE
b215xZtsbnkgb2JpZWt0IHphc2FkeSBkbGEgc3Ryb24gd2N6eXR5d2FueWNoIHfCoHR5bSB3aWRv
a3UiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2Vi
Vmlldy5jcHA6NDMwNQorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9X
ZWJLaXRXZWJWaWV3LmNwcDo0MzMwCiBtc2dpZCAiVGhlcmUgd2FzIGFuIGVycm9yIGNyZWF0aW5n
IHRoZSBzbmFwc2hvdCIKIG1zZ3N0ciAiV3lzdMSFcGnFgiBixYLEhWQgcG9kY3phcyB0d29yemVu
aWEgbWlnYXdraSIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9X
ZWJLaXRXZWJWaWV3LmNwcDo0NTk4CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdFdlYlZpZXcuY3BwOjQ2MjMKICM6IC4uLy4uLy4uLy4uL1dlYktpdC9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9nbGliL1dlYktpdFdlYkV4dGVuc2lvbi5jcHA6Mjkz
Ci0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ2xp
Yi9XZWJLaXRXZWJQYWdlLmNwcDo5MDMKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9nbGliL1dlYktpdFdlYlBhZ2UuY3BwOjkwMgogIywgYy1mb3Jt
YXQKIG1zZ2lkICJNZXNzYWdlICVzIHdhcyBub3QgaGFuZGxlZCIKIG1zZ3N0ciAiTmllIG9ic8WC
dcW8b25vIGtvbXVuaWthdHUg4oCeJXPigJ0iCkBAIC0yNjc0LDcgKzI2NzQsNyBAQCBtc2dpZCAi
QXV0aGVudGljYXRpb24gUmVxdWlyZWQiCiBtc2dzdHIgIld5bWFnYW5lIGplc3QgdXdpZXJ6eXRl
bG5pZW5pZSIKIAogIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dEF1dGhlbnRpY2F0aW9uRGlhbG9nLmNwcDoxMjkKLSM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRTY3JpcHREaWFsb2dJbXBsLmNwcDozMDMKKyM6IC4uLy4uLy4u
Ly4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTY3JpcHREaWFsb2dJbXBsLmNwcDoz
MDUKIG1zZ2lkICJfQ2FuY2VsIgogbXNnc3RyICJfQW51bHVqIgogCkBAIC0yODAxLDIzICsyODAx
LDIzIEBAIG1zZ3N0ciAiVXN0YXdpZW5pYSBzdHJvbnkiCiBtc2dpZCAiVGhlIGluaXRpYWwgcGFn
ZSBzZXR1cCBmb3IgdGhlIHByaW50IG9wZXJhdGlvbiIKIG1zZ3N0ciAiUG9jesSFdGtvd2UgdXN0
YXdpZW5pYSBzdHJvbnkgZGxhIGR6aWHFgmFuaWEgZHJ1a293YW5pYSIKIAotIzogLi4vLi4vLi4v
Li4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNjcmlwdERpYWxvZ0ltcGwuY3BwOjI4
MQorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNjcmlwdERp
YWxvZ0ltcGwuY3BwOjI4MwogbXNnaWQgIl9DbG9zZSIKIG1zZ3N0ciAiWmFfbWtuaWoiCiAKLSM6
IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTY3JpcHREaWFsb2dJ
bXBsLmNwcDozMDUKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRTY3JpcHREaWFsb2dJbXBsLmNwcDozMDcKIG1zZ2lkICJfT0siCiBtc2dzdHIgIl9PSyIKIAot
IzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNjcmlwdERpYWxv
Z0ltcGwuY3BwOjMxMgorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFNjcmlwdERpYWxvZ0ltcGwuY3BwOjMxNAogbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2Fu
dCB0byBsZWF2ZSB0aGlzIHBhZ2U/IgogbXNnc3RyICJOYSBwZXdubyBvcHXFm2NpxIcgdMSZIHN0
cm9uxJk/IgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
U2NyaXB0RGlhbG9nSW1wbC5jcHA6MzE0CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0U2NyaXB0RGlhbG9nSW1wbC5jcHA6MzE2CiBtc2dpZCAiU3RheSBvbiBQ
YWdlIgogbXNnc3RyICJab3N0YcWEIG5hIHN0cm9uaWUiCiAKLSM6IC4uLy4uLy4uLy4uL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTY3JpcHREaWFsb2dJbXBsLmNwcDozMTYKKyM6IC4u
Ly4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTY3JpcHREaWFsb2dJbXBs
LmNwcDozMTgKIG1zZ2lkICJMZWF2ZSBQYWdlIgogbXNnc3RyICJPcHXFm8SHIHN0cm9uxJkiCiAK
QEAgLTI4NDksNyArMjg0OSw3IEBAIG1zZ3N0ciAiIgogIkN6eSBpbnNwZWt0b3IgbW/FvGUgYnnE
hyBkb8WCxIVjemFueSBkbyB0ZWdvIHNhbWVnbyBva25hLCBrdMOzcmUgemF3aWVyYSBiYWRhbnkg
IgogIndpZG9rIgogCi0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViVmlld0Jhc2UuY3BwOjIxMTUKKyM6IC4uLy4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHA6MjEzNgogbXNnaWQgIldlYnNpdGUgcnVubmlu
ZyBpbiBmdWxsc2NyZWVuIG1vZGUiCiBtc2dzdHIgIlN0cm9uYSBkemlhxYJhasSFY2Egd8KgdHJ5
YmllIHBlxYJub2VrcmFub3d5bSIKIApAQCAtMjg3Myw3ICsyODczLDcgQEAgbXNnaWQgIkZhaWxl
ZCB0byBjb25uZWN0IHRvIGdlb2xvY2F0aW9uIHNlcnZpY2UiCiBtc2dzdHIgIlBvxYLEhWN6ZW5p
ZSB6wqB1c8WCdWfEhSBnZW9sb2thbGl6YWNqaSBzacSZIG5pZSBwb3dpb2TFgm8iCiAKICM6IC4u
Ly4uLy4uLy4uL1dlYktpdC9VSVByb2Nlc3MvZ2VvY2x1ZS9HZW9jbHVlR2VvbG9jYXRpb25Qcm92
aWRlci5jcHA6MjE1Ci0jOiAuLi8uLi8uLi8uLi9XZWJLaXQvVUlQcm9jZXNzL2dlb2NsdWUvR2Vv
Y2x1ZUdlb2xvY2F0aW9uUHJvdmlkZXIuY3BwOjI2NQorIzogLi4vLi4vLi4vLi4vV2ViS2l0L1VJ
UHJvY2Vzcy9nZW9jbHVlL0dlb2NsdWVHZW9sb2NhdGlvblByb3ZpZGVyLmNwcDoyNzMKIG1zZ2lk
ICJGYWlsZWQgdG8gZGV0ZXJtaW5lIHBvc2l0aW9uIGZyb20gZ2VvbG9jYXRpb24gc2VydmljZSIK
IG1zZ3N0ciAiVXN0YWxlbmllIHBvxYJvxbxlbmlhIHphIHBvbW9jxIUgdXPFgnVnaSBnZW9sb2th
bGl6YWNqaSBzacSZIG5pZSBwb3dpb2TFgm8iCiAKQEAgLTI4OTMsNiArMjg5Myw2IEBAIG1zZ3N0
ciAiV8SZemXFgiIKIG1zZ2lkICJUaGUgV2ViS2l0RE9NTm9kZSIKIG1zZ3N0ciAiV2ViS2l0RE9N
Tm9kZSIKIAotIzogLi4vLi4vLi4vLi4vV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL2dsaWIvV2ViS2l0V2ViUGFnZS5jcHA6NDQ5CisjOiAuLi8uLi8uLi8uLi9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ2xpYi9XZWJLaXRXZWJQYWdlLmNwcDo0NDgKIG1z
Z2lkICJUaGUgY3VycmVudCBhY3RpdmUgVVJJIG9mIHRoZSB3ZWIgcGFnZSIKIG1zZ3N0ciAiT2Jl
Y25pZSBha3R5d255IGFkcmVzIFVSSSBzdHJvbnkiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvV2ViS2l0Rm9ybURhdGFJbnB1dFN0cmVhbS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvV2ViS2l0Rm9ybURhdGFJbnB1dFN0
cmVhbS5jcHAKaW5kZXggYjBjYmNlYzNiMmJmNzdlYjQzNjM2MWU1YTJiYjgwMTcxNDA3NmI0NC4u
OGEzNWM2MTY0MDkxNzJmNWQ3N2JhY2E1MTE4MjhjZWM4MjcxZGQ3YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1dlYktpdEZvcm1EYXRhSW5wdXRTdHJl
YW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9XZWJLaXRG
b3JtRGF0YUlucHV0U3RyZWFtLmNwcApAQCAtMzcsOSArMzcsMTMgQEAgc3RydWN0IF9XZWJLaXRG
b3JtRGF0YUlucHV0U3RyZWFtUHJpdmF0ZSB7CiAgICAgR1JlZlB0cjxHSW5wdXRTdHJlYW0+IGN1
cnJlbnRTdHJlYW07CiAgICAgdW5zaWduZWQgbmV4dEluZGV4OwogICAgIGxvbmcgbG9uZyBjdXJy
ZW50U3RyZWFtUmFuZ2VMZW5ndGg7CisgICAgYm9vbCBjYW5Qb2xsOwogfTsKIAotV0VCS0lUX0RF
RklORV9UWVBFKFdlYktpdEZvcm1EYXRhSW5wdXRTdHJlYW0sIHdlYmtpdF9mb3JtX2RhdGFfaW5w
dXRfc3RyZWFtLCBHX1RZUEVfSU5QVVRfU1RSRUFNKQorc3RhdGljIHZvaWQgd2Via2l0Rm9ybURh
dGFJbnB1dFN0cmVhbVBvbGxhYmxlSW50ZXJmYWNlSW5pdChHUG9sbGFibGVJbnB1dFN0cmVhbUlu
dGVyZmFjZSopOworCitXRUJLSVRfREVGSU5FX1RZUEVfV0lUSF9DT0RFKFdlYktpdEZvcm1EYXRh
SW5wdXRTdHJlYW0sIHdlYmtpdF9mb3JtX2RhdGFfaW5wdXRfc3RyZWFtLCBHX1RZUEVfSU5QVVRf
U1RSRUFNLAorICAgIEdfSU1QTEVNRU5UX0lOVEVSRkFDRShHX1RZUEVfUE9MTEFCTEVfSU5QVVRf
U1RSRUFNLCB3ZWJraXRGb3JtRGF0YUlucHV0U3RyZWFtUG9sbGFibGVJbnRlcmZhY2VJbml0KSkK
IAogc3RhdGljIGJvb2wgd2Via2l0Rm9ybURhdGFJbnB1dFN0cmVhbUNyZWF0ZU5leHRTdHJlYW0o
V2ViS2l0Rm9ybURhdGFJbnB1dFN0cmVhbSogc3RyZWFtLCBHQ2FuY2VsbGFibGUqIGNhbmNlbGxh
YmxlKQogewpAQCAtMTMwLDYgKzEzNCwxNSBAQCBHUmVmUHRyPEdJbnB1dFN0cmVhbT4gd2Via2l0
Rm9ybURhdGFJbnB1dFN0cmVhbU5ldyhSZWY8Rm9ybURhdGE+JiYgZm9ybURhdGEpCiAgICAgc3Ry
ZWFtLT5wcml2LT5mb3JtRGF0YSA9IFdURk1vdmUoZm9ybURhdGEpOwogICAgIHN0cmVhbS0+cHJp
di0+Y3VycmVudFN0cmVhbVJhbmdlTGVuZ3RoID0gQmxvYkRhdGFJdGVtOjp0b0VuZE9mRmlsZTsK
IAorICAgIC8vIEdGaWxlSW5wdXRTdHJlYW0gaXMgbm90IHBvbGxhYmxlLCBzbyB0aGUgc3RyZWFt
IGlzIG9ubHkgcG9sbGFibGUgaWYgRm9ybURhdGEgZG9lc24ndCBjb250YWluIEVuY29kZWRGaWxl
RGF0YSBlbGVtZW50cy4KKyAgICBzdHJlYW0tPnByaXYtPmNhblBvbGwgPSB0cnVlOworICAgIGZv
ciAoY29uc3QgYXV0byYgZWxlbWVudCA6IHN0cmVhbS0+cHJpdi0+Zm9ybURhdGEtPmVsZW1lbnRz
KCkpIHsKKyAgICAgICAgaWYgKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8Rm9ybURhdGFFbGVtZW50
OjpFbmNvZGVkRmlsZURhdGE+KGVsZW1lbnQuZGF0YSkpIHsKKyAgICAgICAgICAgIHN0cmVhbS0+
cHJpdi0+Y2FuUG9sbCA9IGZhbHNlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAg
ICB9CisKICAgICByZXR1cm4gYWRvcHRHUmVmKEdfSU5QVVRfU1RSRUFNKChzdHJlYW0pKSk7CiB9
CiAKQEAgLTE0NSwzICsxNTgsMjggQEAgR0J5dGVzKiB3ZWJraXRGb3JtRGF0YUlucHV0U3RyZWFt
UmVhZEFsbChXZWJLaXRGb3JtRGF0YUlucHV0U3RyZWFtKiBzdHJlYW0pCiAKICAgICByZXR1cm4g
Z19tZW1vcnlfb3V0cHV0X3N0cmVhbV9zdGVhbF9hc19ieXRlcyhHX01FTU9SWV9PVVRQVVRfU1RS
RUFNKG91dHB1dFN0cmVhbS5nZXQoKSkpOwogfQorCitzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0Rm9y
bURhdGFJbnB1dFN0cmVhbUNhblBvbGwoR1BvbGxhYmxlSW5wdXRTdHJlYW0qIHN0cmVhbSkKK3sK
KyAgICBhdXRvKiBwcml2ID0gV0VCS0lUX0ZPUk1fREFUQV9JTlBVVF9TVFJFQU0oc3RyZWFtKS0+
cHJpdjsKKyAgICByZXR1cm4gcHJpdi0+Y2FuUG9sbDsKK30KKworc3RhdGljIGdib29sZWFuIHdl
YmtpdEZvcm1EYXRhSW5wdXRTdHJlYW1Jc1JlYWRhYmxlKEdQb2xsYWJsZUlucHV0U3RyZWFtKiBz
dHJlYW0pCit7CisgICAgYXV0byogcHJpdiA9IFdFQktJVF9GT1JNX0RBVEFfSU5QVVRfU1RSRUFN
KHN0cmVhbSktPnByaXY7CisgICAgcmV0dXJuIHByaXYtPmN1cnJlbnRTdHJlYW0gfHwgcHJpdi0+
bmV4dEluZGV4IDwgcHJpdi0+Zm9ybURhdGEtPmVsZW1lbnRzKCkuc2l6ZSgpOworfQorCitzdGF0
aWMgR1NvdXJjZSogd2Via2l0Rm9ybURhdGFJbnB1dFN0cmVhbUNyZWF0ZVNvdXJjZShHUG9sbGFi
bGVJbnB1dFN0cmVhbSogc3RyZWFtLCBHQ2FuY2VsbGFibGUqIGNhbmNlbGxhYmxlKQoreworICAg
IEdSZWZQdHI8R1NvdXJjZT4gYmFzZSA9IGFkb3B0R1JlZihnX3RpbWVvdXRfc291cmNlX25ldygw
KSk7CisgICAgcmV0dXJuIGdfcG9sbGFibGVfc291cmNlX25ld19mdWxsKHN0cmVhbSwgYmFzZS5n
ZXQoKSwgY2FuY2VsbGFibGUpOworfQorCitzdGF0aWMgdm9pZCB3ZWJraXRGb3JtRGF0YUlucHV0
U3RyZWFtUG9sbGFibGVJbnRlcmZhY2VJbml0KEdQb2xsYWJsZUlucHV0U3RyZWFtSW50ZXJmYWNl
KiBpZmFjZSkKK3sKKyAgICBpZmFjZS0+Y2FuX3BvbGwgPSB3ZWJraXRGb3JtRGF0YUlucHV0U3Ry
ZWFtQ2FuUG9sbDsKKyAgICBpZmFjZS0+aXNfcmVhZGFibGUgPSB3ZWJraXRGb3JtRGF0YUlucHV0
U3RyZWFtSXNSZWFkYWJsZTsKKyAgICBpZmFjZS0+Y3JlYXRlX3NvdXJjZSA9IHdlYmtpdEZvcm1E
YXRhSW5wdXRTdHJlYW1DcmVhdGVTb3VyY2U7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvRmxvYXRpbmdPYmplY3RzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
RmxvYXRpbmdPYmplY3RzLmgKaW5kZXggYWVhODMwNWI3ODMwMjI2NWVlZTQ5YzMyYjZjMGVhYzlk
ZTY2YTAxZC4uZjgzY2Y5NDAzZDc1MmRhYzUzMDcwMWY5NWZkZDUwOTlkMWEwZDM3YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zsb2F0aW5nT2JqZWN0cy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG9hdGluZ09iamVjdHMuaApAQCAtNDksNyArNDksNyBA
QCBwdWJsaWM6CiAgICAgRmxvYXRpbmdPYmplY3QoUmVuZGVyQm94JiwgVHlwZSwgY29uc3QgTGF5
b3V0UmVjdCYsIGNvbnN0IExheW91dFNpemUmLCBib29sIHNob3VsZFBhaW50LCBib29sIGlzRGVz
Y2VuZGFudCk7CiAKICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxU
eXBlPihtX3R5cGUpOyB9Ci0gICAgUmVuZGVyQm94JiByZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJu
ICptX3JlbmRlcmVyOyB9CisgICAgUmVuZGVyQm94JiByZW5kZXJlcigpIGNvbnN0IHsgQVNTRVJU
KG1fcmVuZGVyZXIpOyByZXR1cm4gKm1fcmVuZGVyZXI7IH0KIAogICAgIGJvb2wgaXNQbGFjZWQo
KSBjb25zdCB7IHJldHVybiBtX2lzUGxhY2VkOyB9CiAgICAgdm9pZCBzZXRJc1BsYWNlZChib29s
IHBsYWNlZCA9IHRydWUpIHsgbV9pc1BsYWNlZCA9IHBsYWNlZDsgfQpAQCAtMTc0LDcgKzE3NCw3
IEBAIHB1YmxpYzoKICAgICBMYXlvdXRVbml0IGZpbmROZXh0RmxvYXRMb2dpY2FsQm90dG9tQmVs
b3dGb3JCbG9jayhMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQpOwogCiBwcml2YXRlOgotICAgIGNv
bnN0IFJlbmRlckJsb2NrRmxvdyYgcmVuZGVyZXIoKSBjb25zdCB7IHJldHVybiAqbV9yZW5kZXJl
cjsgfQorICAgIGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgcmVuZGVyZXIoKSBjb25zdCB7IEFTU0VS
VChtX3JlbmRlcmVyKTsgcmV0dXJuICptX3JlbmRlcmVyOyB9CiAgICAgdm9pZCBjb21wdXRlUGxh
Y2VkRmxvYXRzVHJlZSgpOwogICAgIGNvbnN0IEZsb2F0aW5nT2JqZWN0VHJlZSogcGxhY2VkRmxv
YXRzVHJlZSgpOwogICAgIHZvaWQgaW5jcmVhc2VPYmplY3RzQ291bnQoRmxvYXRpbmdPYmplY3Q6
OlR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCAzN2IxYWJm
NDBjOWU5Y2NmMTJlNDcyZDljNzJhNTliNDkxOWVkYzAxLi5iNDM1NjYxZDc4MTBmMDEzNzJlY2Qx
MDY5ZjMyNzkyZDc5MzQ2N2NhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cApAQCAtMjQ4NywxMiArMjQ4NywxMiBAQCB2b2lkIFJlbmRlckJveDo6dXBkYXRlTG9naWNhbFdp
ZHRoKCkKICAgICBzZXRNYXJnaW5FbmQoY29tcHV0ZWRWYWx1ZXMubV9tYXJnaW5zLm1fZW5kKTsK
IH0KIAotc3RhdGljIExheW91dFVuaXQgaW5saW5lU2l6ZUZyb21Bc3BlY3RSYXRpbyhMYXlvdXRV
bml0IGJvcmRlclBhZGRpbmdJbmxpbmVTdW0sIExheW91dFVuaXQgYm9yZGVyUGFkZGluZ0Jsb2Nr
U3VtLCBMYXlvdXRVbml0IGFzcGVjdFJhdGlvLCBCb3hTaXppbmcgYm94U2l6aW5nLCBMYXlvdXRV
bml0IGJsb2NrU2l6ZSkKK3N0YXRpYyBMYXlvdXRVbml0IGlubGluZVNpemVGcm9tQXNwZWN0UmF0
aW8oTGF5b3V0VW5pdCBib3JkZXJQYWRkaW5nSW5saW5lU3VtLCBMYXlvdXRVbml0IGJvcmRlclBh
ZGRpbmdCbG9ja1N1bSwgZG91YmxlIGFzcGVjdFJhdGlvLCBCb3hTaXppbmcgYm94U2l6aW5nLCBM
YXlvdXRVbml0IGJsb2NrU2l6ZSkKIHsKICAgICBpZiAoYm94U2l6aW5nID09IEJveFNpemluZzo6
Qm9yZGVyQm94KQotICAgICAgICByZXR1cm4gYmxvY2tTaXplICogYXNwZWN0UmF0aW87CisgICAg
ICAgIHJldHVybiBMYXlvdXRVbml0KGJsb2NrU2l6ZSAqIGFzcGVjdFJhdGlvKTsKIAotICAgIHJl
dHVybiAoKGJsb2NrU2l6ZSAtIGJvcmRlclBhZGRpbmdCbG9ja1N1bSkgKiBhc3BlY3RSYXRpbykg
KyBib3JkZXJQYWRkaW5nSW5saW5lU3VtOworICAgIHJldHVybiBMYXlvdXRVbml0KChibG9ja1Np
emUgLSBib3JkZXJQYWRkaW5nQmxvY2tTdW0pICogYXNwZWN0UmF0aW8pICsgYm9yZGVyUGFkZGlu
Z0lubGluZVN1bTsKIH0KIAogdm9pZCBSZW5kZXJCb3g6OmNvbXB1dGVMb2dpY2FsV2lkdGhJbkZy
YWdtZW50KExvZ2ljYWxFeHRlbnRDb21wdXRlZFZhbHVlcyYgY29tcHV0ZWRWYWx1ZXMsIFJlbmRl
ckZyYWdtZW50Q29udGFpbmVyKiBmcmFnbWVudCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guaAppbmRleCBlYTEzZjZlZmNiMGIxM2M3MDRiMjc4MzAzZDU2N2U0NTBmZTk1OTc1
Li5jNWE4ZDhmYzk1N2RkZTM5MDYyYzAzZWExZmFmN2M2ZGNhY2NlNTEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5oCkBAIC03MDcsMTEgKzcwNywxMSBAQCBwcm90ZWN0ZWQ6CiAg
ICAgTGF5b3V0VW5pdCBjb21wdXRlTG9naWNhbFdpZHRoRnJvbUFzcGVjdFJhdGlvKFJlbmRlckZy
YWdtZW50Q29udGFpbmVyKiA9IG51bGxwdHIpIGNvbnN0OwogICAgIHN0ZDo6cGFpcjxMYXlvdXRV
bml0LCBMYXlvdXRVbml0PiBjb21wdXRlTWluTWF4TG9naWNhbFdpZHRoRnJvbUFzcGVjdFJhdGlv
KCkgY29uc3Q7CiAKLSAgICBzdGF0aWMgTGF5b3V0VW5pdCBibG9ja1NpemVGcm9tQXNwZWN0UmF0
aW8oTGF5b3V0VW5pdCBib3JkZXJQYWRkaW5nSW5saW5lU3VtLCBMYXlvdXRVbml0IGJvcmRlclBh
ZGRpbmdCbG9ja1N1bSwgTGF5b3V0VW5pdCBhc3BlY3RSYXRpbywgQm94U2l6aW5nIGJveFNpemlu
ZywgTGF5b3V0VW5pdCBpbmxpbmVTaXplKQorICAgIHN0YXRpYyBMYXlvdXRVbml0IGJsb2NrU2l6
ZUZyb21Bc3BlY3RSYXRpbyhMYXlvdXRVbml0IGJvcmRlclBhZGRpbmdJbmxpbmVTdW0sIExheW91
dFVuaXQgYm9yZGVyUGFkZGluZ0Jsb2NrU3VtLCBkb3VibGUgYXNwZWN0UmF0aW8sIEJveFNpemlu
ZyBib3hTaXppbmcsIExheW91dFVuaXQgaW5saW5lU2l6ZSkKICAgICB7CiAgICAgICAgIGlmIChi
b3hTaXppbmcgPT0gQm94U2l6aW5nOjpCb3JkZXJCb3gpCi0gICAgICAgICAgICByZXR1cm4gaW5s
aW5lU2l6ZSAvIGFzcGVjdFJhdGlvOwotICAgICAgICByZXR1cm4gKChpbmxpbmVTaXplIC0gYm9y
ZGVyUGFkZGluZ0lubGluZVN1bSkgLyBhc3BlY3RSYXRpbykgKyBib3JkZXJQYWRkaW5nQmxvY2tT
dW07CisgICAgICAgICAgICByZXR1cm4gTGF5b3V0VW5pdChpbmxpbmVTaXplIC8gYXNwZWN0UmF0
aW8pOworICAgICAgICByZXR1cm4gTGF5b3V0VW5pdCgoaW5saW5lU2l6ZSAtIGJvcmRlclBhZGRp
bmdJbmxpbmVTdW0pIC8gYXNwZWN0UmF0aW8pICsgYm9yZGVyUGFkZGluZ0Jsb2NrU3VtOwogICAg
IH0KIAogICAgIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoY29uc3QgTGVuZ3Ro
JiBtaW5XaWR0aCwgY29uc3QgTGVuZ3RoJiBtYXhXaWR0aCwgTGF5b3V0VW5pdCBib3JkZXJBbmRQ
YWRkaW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCmluZGV4IDAy
NWE0MzI0YjkwZTQ3NDhlYzE4ZmNiNzJkODNlMGZhYjcxOGNmZTkuLmEyMTQ4YzIzZjUxNjIzM2M3
NjQxYjMwMThmMzBkYmZmMDFhYzhlMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUYWJsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlLmNwcApAQCAtNDM3LDYgKzQzNyw3IEBAIHZvaWQgUmVuZGVyVGFibGU6OmxheW91dCgp
CiAgICAgcmVjYWxjQm9yZGVyc0luUm93RGlyZWN0aW9uKCk7CiAgICAgYm9vbCBzZWN0aW9uTW92
ZWQgPSBmYWxzZTsKICAgICBMYXlvdXRVbml0IG1vdmVkU2VjdGlvbkxvZ2ljYWxUb3A7CisgICAg
dW5zaWduZWQgc2VjdGlvbkNvdW50ID0gMDsKIAogICAgIExheW91dFJlcGFpbnRlciByZXBhaW50
ZXIoKnRoaXMsIGNoZWNrRm9yUmVwYWludER1cmluZ0xheW91dCgpKTsKICAgICB7CkBAIC01Mzcs
NiArNTM4LDcgQEAgdm9pZCBSZW5kZXJUYWJsZTo6bGF5b3V0KCkKICAgICAgICAgLy8gcG9zaXRp
b24gdGhlIHRhYmxlIHNlY3Rpb25zCiAgICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiogc2VjdGlv
biA9IHRvcFNlY3Rpb24oKTsKICAgICAgICAgd2hpbGUgKHNlY3Rpb24pIHsKKyAgICAgICAgICAg
IHNlY3Rpb25Db3VudCsrOwogICAgICAgICAgICAgaWYgKCFzZWN0aW9uTW92ZWQgJiYgc2VjdGlv
bi0+bG9naWNhbFRvcCgpICE9IGxvZ2ljYWxIZWlnaHQoKSkgewogICAgICAgICAgICAgICAgIHNl
Y3Rpb25Nb3ZlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgbW92ZWRTZWN0aW9uTG9naWNhbFRv
cCA9IHN0ZDo6bWluKGxvZ2ljYWxIZWlnaHQoKSwgc2VjdGlvbi0+bG9naWNhbFRvcCgpKSArIChz
dHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBzZWN0aW9uLT52aXN1YWxPdmVyZmxv
d1JlY3QoKS55KCkgOiBzZWN0aW9uLT52aXN1YWxPdmVyZmxvd1JlY3QoKS54KCkpOwpAQCAtNTg1
LDggKzU4Nyw4IEBAIHZvaWQgUmVuZGVyVGFibGU6OmxheW91dCgpCiAgICAgYm9vbCBwYWdpbmF0
ZWQgPSBsYXlvdXRTdGF0ZSAmJiBsYXlvdXRTdGF0ZS0+aXNQYWdpbmF0ZWQoKTsKICAgICBpZiAo
c2VjdGlvbk1vdmVkICYmIHBhZ2luYXRlZCkgewogICAgICAgICAvLyBGSVhNRTogVGFibGUgbGF5
b3V0IHNob3VsZCBhbHdheXMgc3RhYmlsaXplIGV2ZW4gd2hlbiBzZWN0aW9uIG1vdmVzIChzZWUg
d2Via2l0Lm9yZy9iLzE3NDQxMikuCi0gICAgICAgIGlmICghbV9pblJlY3Vyc2l2ZVNlY3Rpb25N
b3ZlZFdpdGhQYWdpbmF0aW9uKSB7Ci0gICAgICAgICAgICBTZXRGb3JTY29wZTxib29sPiBwYWdp
bmF0ZWRTZWN0aW9uTW92ZWQobV9pblJlY3Vyc2l2ZVNlY3Rpb25Nb3ZlZFdpdGhQYWdpbmF0aW9u
LCB0cnVlKTsKKyAgICAgICAgaWYgKG1fcmVjdXJzaXZlU2VjdGlvbk1vdmVkV2l0aFBhZ2luYXRp
b25MZXZlbCA8IHNlY3Rpb25Db3VudCkgeworICAgICAgICAgICAgU2V0Rm9yU2NvcGU8dW5zaWdu
ZWQ+IHJlY3Vyc2l2ZVNlY3Rpb25Nb3ZlZFdpdGhQYWdpbmF0aW9uTGV2ZWwobV9yZWN1cnNpdmVT
ZWN0aW9uTW92ZWRXaXRoUGFnaW5hdGlvbkxldmVsLCBtX3JlY3Vyc2l2ZVNlY3Rpb25Nb3ZlZFdp
dGhQYWdpbmF0aW9uTGV2ZWwgKyAxKTsKICAgICAgICAgICAgIG1hcmtGb3JQYWdpbmF0aW9uUmVs
YXlvdXRJZk5lZWRlZCgpOwogICAgICAgICAgICAgbGF5b3V0SWZOZWVkZWQoKTsKICAgICAgICAg
fSBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5oCmluZGV4IGFlNTk4Y2Zk
Y2Y0ZTgzMDAyMDU2YThlZjJhNWM2YWMzODY0ZjNjYTAuLjZmZTBjYWQyNTNkZTM0ZjExODUxZmVl
OGZlYTQ3M2ZkZDY1M2JhMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUYWJsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5o
CkBAIC0zNjksNyArMzY5LDcgQEAgcHJpdmF0ZToKICAgICBMYXlvdXRVbml0IG1fYm9yZGVyRW5k
OwogICAgIG11dGFibGUgTGF5b3V0VW5pdCBtX2NvbHVtbk9mZnNldFRvcDsKICAgICBtdXRhYmxl
IExheW91dFVuaXQgbV9jb2x1bW5PZmZzZXRIZWlnaHQ7Ci0gICAgYm9vbCBtX2luUmVjdXJzaXZl
U2VjdGlvbk1vdmVkV2l0aFBhZ2luYXRpb24geyBmYWxzZSB9OworICAgIHVuc2lnbmVkIG1fcmVj
dXJzaXZlU2VjdGlvbk1vdmVkV2l0aFBhZ2luYXRpb25MZXZlbCB7IDAgfTsKIH07CiAKIGlubGlu
ZSBib29sIGlzRGlyZWN0aW9uU2FtZShjb25zdCBSZW5kZXJCb3gqIHRhYmxlSXRlbSwgY29uc3Qg
UmVuZGVyQm94KiBvdGhlclRhYmxlSXRlbSkgeyByZXR1cm4gdGFibGVJdGVtICYmIG90aGVyVGFi
bGVJdGVtID8gdGFibGVJdGVtLT5zdHlsZSgpLmRpcmVjdGlvbigpID09IG90aGVyVGFibGVJdGVt
LT5zdHlsZSgpLmRpcmVjdGlvbigpIDogdHJ1ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAKaW5kZXggNTk2OGFi
ZGFjNThlN2RjNWVkNDIxMGI2ZTAyM2U0ZmViYmE3NDBjYS4uODQ5NDY0YmRiOTZmNjQxNTA4ZTM3
MWJmNjcxMDQ0MTJlYjk0YWVjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCkBAIC0yMzcsNiArMjM3LDkgQEAg
dm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6cG9wUGFyZW50KCkKICAgICBpZiAocGFyZW50LmVsZW1l
bnQpCiAgICAgICAgIHVwZGF0ZUFmdGVyRGVzY2VuZGFudHMoKnBhcmVudC5lbGVtZW50LCBwYXJl
bnQudXBkYXRlcyk7CiAKKyAgICBpZiAoJnBhcmVudCAhPSAmcmVuZGVyaW5nUGFyZW50KCkpCisg
ICAgICAgIHJlbmRlclRyZWVQb3NpdGlvbigpLmludmFsaWRhdGVOZXh0U2libGluZygpOworCiAg
ICAgbV9wYXJlbnRTdGFjay5yZW1vdmVMYXN0KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcAppbmRleCBkMDM4NzY4YTg4ZGFlYmVjOWQ2MTZiYjIxNjIwZTZlY2Y4MGFmYzM1
Li45YjJmZjEzYmNjZmQxZDJhNjQwMzE4YjRjZjcwMTMyOWFmY2UxYTI4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC02MTAzLDggKzYxMDMsMTIgQEAgdm9pZCBJbnRlcm5h
bHM6OmxvYWRBcnR3b3JrSW1hZ2UoU3RyaW5nJiYgdXJsLCBBcnR3b3JrSW1hZ2VQcm9taXNlJiYg
cHJvbWlzZSkKICAgICAgICAgICAgIGF1dG8gaW1hZ2VEYXRhID0gSW1hZ2VEYXRhOjpjcmVhdGUo
dW5zaWduZWQoaW1hZ2UtPndpZHRoKCkpLCB1bnNpZ25lZChpbWFnZS0+aGVpZ2h0KCkpKTsKICAg
ICAgICAgICAgIGlmICghaW1hZ2VEYXRhLmhhc0V4Y2VwdGlvbigpKQogICAgICAgICAgICAgICAg
IG1fYXJ0d29ya0ltYWdlUHJvbWlzZS0+cmVzb2x2ZShpbWFnZURhdGEucmVsZWFzZVJldHVyblZh
bHVlKCkpOwotICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgZWxzZSB7CisjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogVGhpcyBzZWVtcyBvdXQg
b2YgcGxhY2UuIFNob3VsZCB0aGlzIGJlIHJlamVjdGluZyBtX2FydHdvcmtJbWFnZVByb21pc2Ug
aW5zdGVhZD8KICAgICAgICAgICAgICAgICBtX25leHRUcmFja0ZyYW1lUHJvbWlzZS0+cmVqZWN0
KGltYWdlRGF0YS5leGNlcHRpb24oKS5jb2RlKCkpOworI2VuZGlmCisgICAgICAgICAgICB9CiAg
ICAgICAgIH0gZWxzZQogICAgICAgICAgICAgbV9hcnR3b3JrSW1hZ2VQcm9taXNlLT5yZWplY3Qo
RXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yLCAiTm8gaW1hZ2UgcmV0cmlldmUuIiAgfSk7
CiAgICAgICAgIG1fYXJ0d29ya0ltYWdlUHJvbWlzZSA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvQ29uZmlndXJhdGlvbnMvVmVyc2lvbi54Y2NvbmZpZyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Db25maWd1cmF0aW9ucy9WZXJzaW9uLnhjY29uZmlnCmluZGV4
IDI4YWZjM2RmYWY1ODJjODg0ZGU4ZjVlNmIwMDEzZWEwZGNkYjMzZjIuLjI1ODcxOWNhN2YyM2Nj
NmVhZTYwNzA2OTk2ZGY1ZTI2ZTczY2JiYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Db25maWd1cmF0aW9ucy9WZXJzaW9uLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Db25maWd1cmF0aW9ucy9WZXJzaW9uLnhjY29uZmlnCkBAIC0xLDYgKzEsNiBAQAog
TUFKT1JfVkVSU0lPTiA9IDYxMjsKIE1JTk9SX1ZFUlNJT04gPSAxOwotVElOWV9WRVJTSU9OID0g
NzsKK1RJTllfVkVSU0lPTiA9IDg7CiBNSUNST19WRVJTSU9OID0gMDsKIE5BTk9fVkVSU0lPTiA9
IDA7CiBGVUxMX1ZFUlNJT04gPSAkKE1BSk9SX1ZFUlNJT04pLiQoTUlOT1JfVkVSU0lPTikuJChU
SU5ZX1ZFUlNJT04pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvQ29uc29sZU1lc3NhZ2VWaWV3LmNzcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnNvbGVNZXNzYWdlVmlldy5jc3MKaW5kZXggNDliYTI3
M2Y5NGYyNDc4YjRkYzdkZjIwYjk2NmY5NzhiNTdkNTMzZi4uZTRmYTI5YTVjMjQ0OGM4YTQwYjBm
ZGI0YmU5YjAzOTEwODk5ZjZiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvQ29uc29sZU1lc3NhZ2VWaWV3LmNzcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db25zb2xlTWVzc2FnZVZpZXcuY3NzCkBA
IC0yODEsNiArMjgxLDcgQEAKICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgIHRleHQtb3ZlcmZs
b3c6IGVsbGlwc2lzOwogICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICB2ZXJ0aWNhbC1h
bGlnbjogdGV4dC10b3A7CiB9CiAKIC5jb25zb2xlLW1lc3NhZ2UtbG9jYXRpb24uY2FsbC1mcmFt
ZSA+IC5zdWJ0aXRsZSA+IC5zb3VyY2UtbGluayB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NvbmZpZ3VyYXRpb25zL1ZlcnNpb24ueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3Vy
YXRpb25zL1ZlcnNpb24ueGNjb25maWcKaW5kZXggMGM3M2M3MTdmMTc5Mjk0OTRiMzRiZmY0NjFm
NjhkNGE5YmY0ZDJiMC4uNGNjZGIxYmE1MGU4MjlhNjk2NWE3YjgwMjA2MWUzNGM1MjEwZmZkMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9WZXJzaW9uLnhjY29uZmln
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvVmVyc2lvbi54Y2NvbmZpZwpAQCAt
MjMsNyArMjMsNyBAQAogCiBNQUpPUl9WRVJTSU9OID0gNjEyOwogTUlOT1JfVkVSU0lPTiA9IDE7
Ci1USU5ZX1ZFUlNJT04gPSA3OworVElOWV9WRVJTSU9OID0gODsKIE1JQ1JPX1ZFUlNJT04gPSAw
OwogTkFOT19WRVJTSU9OID0gMDsKIEZVTExfVkVSU0lPTiA9ICQoTUFKT1JfVkVSU0lPTikuJChN
SU5PUl9WRVJTSU9OKS4kKFRJTllfVkVSU0lPTik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkU2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRTY2hlZHVsZXIuY3BwCmluZGV4IDYyODFjMmQ3MjY0
OTIxYzVkMjc4ZGFiYTYwMDc5YjYwMTdkNTY4MmMuLjE3YzRjOTgzN2MxYWRlODkyZmM2ZmNiY2Nh
ZTM4OTNiZGJlMWFhMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya0xvYWRTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya0xvYWRTY2hlZHVsZXIuY3BwCkBAIC00Myw4ICs0Myw2IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHVuc2NoZWR1bGUoTmV0d29ya0xvYWQmKTsKICAgICB2b2lkIHByaW9yaXRpemUoTmV0
d29ya0xvYWQmKTsKIAotICAgIHZvaWQgZmluaXNoUGFnZShXZWJDb3JlOjpQYWdlSWRlbnRpZmll
cik7Ci0KIHByaXZhdGU6CiAgICAgdm9pZCBzdGFydChOZXR3b3JrTG9hZCYpOwogICAgIGJvb2wg
c2hvdWxkRGVsYXlMb3dQcmlvcml0eSgpIGNvbnN0IHsgcmV0dXJuIG1fYWN0aXZlTG9hZHMuc2l6
ZSgpID49IG1heGltdW1BY3RpdmVDb3VudEZvckxvd1ByaW9yaXR5OyB9CkBAIC01Niw4ICs1NCwx
MSBAQCBwcml2YXRlOgogdm9pZCBOZXR3b3JrTG9hZFNjaGVkdWxlcjo6SG9zdENvbnRleHQ6OnNj
aGVkdWxlKE5ldHdvcmtMb2FkJiBsb2FkKQogewogICAgIGF1dG8gc3RhcnRJbW1lZGlhdGVseSA9
IFsmXSB7Ci0gICAgICAgIGF1dG8gcHJpb3JpdHkgPSBsb2FkLnBhcmFtZXRlcnMoKS5yZXF1ZXN0
LnByaW9yaXR5KCk7Ci0gICAgICAgIGlmIChwcmlvcml0eSA+IFdlYkNvcmU6OlJlc291cmNlTG9h
ZFByaW9yaXR5OjpMb3cpCisgICAgICAgIGF1dG8mIHJlcXVlc3QgPSBsb2FkLmN1cnJlbnRSZXF1
ZXN0KCk7CisgICAgICAgIGlmIChyZXF1ZXN0LnByaW9yaXR5KCkgPiBXZWJDb3JlOjpSZXNvdXJj
ZUxvYWRQcmlvcml0eTo6TG93KQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIAor
ICAgICAgICBpZiAocmVxdWVzdC5pc0NvbmRpdGlvbmFsKCkpCiAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKIAogICAgICAgICBpZiAoIXNob3VsZERlbGF5TG93UHJpb3JpdHkoKSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1XUEUuY21ha2UgYi9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtV1BFLmNtYWtlCmluZGV4IDU2MjVlY2QyOTQxNmFjNGVmYzRjNTM3NDA4N2VkZjNhYjU2Y2Y0
NTMuLmUzOTdjMDdiN2NmNzE3MGY0ZDgzMzk5N2Q0OTliNGFjN2ZmY2Q4OTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1XUEUuY21ha2UKKysrIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybVdQRS5jbWFrZQpAQCAtMzc4LDcgKzM3OCw3IEBAIHRhcmdldF9saW5rX2xpYnJhcmllcyhX
UEVJbmplY3RlZEJ1bmRsZSBXZWJLaXQpCiB0YXJnZXRfaW5jbHVkZV9kaXJlY3RvcmllcyhXUEVJ
bmplY3RlZEJ1bmRsZSBQUklWQVRFICQ8VEFSR0VUX1BST1BFUlRZOldlYktpdCxJTkNMVURFX0RJ
UkVDVE9SSUVTPikKIAogZmlsZShXUklURSAke0NNQUtFX0JJTkFSWV9ESVJ9L2d0a2RvYy13cGUu
Y2ZnCi0gICAgIlt3cGUtJHtXUEVfQVBJX1ZFUlNJT059XVxuIgorICAgICJbd3BlLSR7V1BFX0FQ
SV9ET0NfVkVSU0lPTn1dXG4iCiAgICAgInBrZ2NvbmZpZ19maWxlPSR7V1BFX1BLR0NPTkZJR19G
SUxFfVxuIgogICAgICJkZWNvcmF0b3I9V0VCS0lUX0FQSXxXRUJLSVRfREVQUkVDQVRFRHxXRUJL
SVRfREVQUkVDQVRFRF9GT1JcXCguK1xcKVxuIgogICAgICJkZXByZWNhdGlvbl9ndWFyZD1XRUJL
SVRfRElTQUJMRV9ERVBSRUNBVEVEXG4iCkBAIC0zOTgsNyArMzk4LDcgQEAgZmlsZShXUklURSAk
e0NNQUtFX0JJTkFSWV9ESVJ9L2d0a2RvYy13cGUuY2ZnCiApCiAKIGZpbGUoV1JJVEUgJHtDTUFL
RV9CSU5BUllfRElSfS9ndGtkb2Mtd2ViZXh0ZW5zaW9ucy5jZmcKLSAgICAiW3dwZS13ZWJleHRl
bnNpb25zLSR7V1BFX0FQSV9WRVJTSU9OfV1cbiIKKyAgICAiW3dwZS13ZWJleHRlbnNpb25zLSR7
V1BFX0FQSV9ET0NfVkVSU0lPTn1dXG4iCiAgICAgInBrZ2NvbmZpZ19maWxlPSR7V1BFV2ViRXh0
ZW5zaW9uX1BLR0NPTkZJR19GSUxFfVxuIgogICAgICJkZWNvcmF0b3I9V0VCS0lUX0FQSXxXRUJL
SVRfREVQUkVDQVRFRHxXRUJLSVRfREVQUkVDQVRFRF9GT1JcXCguK1xcKVxuIgogICAgICJkZXBy
ZWNhdGlvbl9ndWFyZD1XRUJLSVRfRElTQUJMRV9ERVBSRUNBVEVEXG4iCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvR2VzdHVyZVJlY29nbml6ZXJDb25zaXN0ZW5jeUVu
Zm9yY2VyLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL0dlc3R1cmVSZWNvZ25pemVy
Q29uc2lzdGVuY3lFbmZvcmNlci5tbQppbmRleCA1ODA1NTA0NjUzMjRmMWVmZWM3MTJkYjExZTgw
ZDIzNDllNzljZWU4Li40MmJkMDU4MDI2ZThiMWFiNzc2ZjZlYTcyNWQ1NmMwNzQyZWVhYjdlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvR2VzdHVyZVJlY29nbml6ZXJD
b25zaXN0ZW5jeUVuZm9yY2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9H
ZXN0dXJlUmVjb2duaXplckNvbnNpc3RlbmN5RW5mb3JjZXIubW0KQEAgLTcxLDcgKzcxLDcgQEAg
dm9pZCBHZXN0dXJlUmVjb2duaXplckNvbnNpc3RlbmN5RW5mb3JjZXI6OnRpbWVyRmlyZWQoKQog
ICAgIGF1dG8gc3Ryb25nVmlldyA9IG1fdmlldy5nZXQoKTsKICAgICBhdXRvIHBvc3NpYmxlRGVm
ZXJyaW5nR2VzdHVyZXMgPSBbTlNNdXRhYmxlQXJyYXk8V0tEZWZlcnJpbmdHZXN0dXJlUmVjb2du
aXplciAqPiBhcnJheV07CiAgICAgZm9yIChXS0RlZmVycmluZ0dlc3R1cmVSZWNvZ25pemVyICpn
ZXN0dXJlIGluIFtzdHJvbmdWaWV3IGRlZmVycmluZ0dlc3R1cmVzXSkgewotICAgICAgICBpZiAo
Z2VzdHVyZS5zdGF0ZSA9PSBVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGVQb3NzaWJsZSkKKyAgICAg
ICAgaWYgKGdlc3R1cmUuc3RhdGUgPT0gVUlHZXN0dXJlUmVjb2duaXplclN0YXRlUG9zc2libGUg
JiYgZ2VzdHVyZS5lbmFibGVkKQogICAgICAgICAgICAgW3Bvc3NpYmxlRGVmZXJyaW5nR2VzdHVy
ZXMgYWRkT2JqZWN0Omdlc3R1cmVdOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5kZXggODA2NDAz
NjI3NmVjYmM2ZmRlMzAyNzVmMjM0MDQ0YTUxYmJhNTA1NC4uMDVhMmU5MTU0Yjc3OWQ2ZjUxZmJm
YjAzNDkxZTFmOTcxZGMyYTgyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC03OTUsNiArNzk1LDcgQEAg
c3RhdGljIFdLRHJhZ1Nlc3Npb25Db250ZXh0ICplbnN1cmVMb2NhbERyYWdTZXNzaW9uQ29udGV4
dChpZCA8VUlEcmFnU2Vzc2lvbj4gc2UKICAgICBfaW1hZ2VFeHRyYWN0aW9uRGVmZXJyaW5nR2Vz
dHVyZVJlY29nbml6ZXIgPSBhZG9wdE5TKFtbV0tEZWZlcnJpbmdHZXN0dXJlUmVjb2duaXplciBh
bGxvY10gaW5pdFdpdGhEZWZlcnJpbmdHZXN0dXJlRGVsZWdhdGU6c2VsZl0pOwogICAgIFtfaW1h
Z2VFeHRyYWN0aW9uRGVmZXJyaW5nR2VzdHVyZVJlY29nbml6ZXIgc2V0TmFtZTpAIkRlZmVycmVy
IGZvciBpbWFnZSBleHRyYWN0aW9uIl07CiAgICAgW19pbWFnZUV4dHJhY3Rpb25EZWZlcnJpbmdH
ZXN0dXJlUmVjb2duaXplciBzZXRJbW1lZGlhdGVseUZhaWxzQWZ0ZXJUb3VjaEVuZDpZRVNdOwor
ICAgIFtfaW1hZ2VFeHRyYWN0aW9uRGVmZXJyaW5nR2VzdHVyZVJlY29nbml6ZXIgc2V0RW5hYmxl
ZDpzZWxmLl9pbWFnZUV4dHJhY3Rpb25FbmFibGVkXTsKICNlbmRpZgogCiAgICAgZm9yIChXS0Rl
ZmVycmluZ0dlc3R1cmVSZWNvZ25pemVyICpnZXN0dXJlIGluIHNlbGYuZGVmZXJyaW5nR2VzdHVy
ZXMpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3BlL3dwZS13ZWItZXh0ZW5zaW9uLXVu
aW5zdGFsbGVkLnBjLmluIGIvU291cmNlL1dlYktpdC93cGUvd3BlLXdlYi1leHRlbnNpb24tdW5p
bnN0YWxsZWQucGMuaW4KaW5kZXggYmI2ZThjZDJhMjA1MmY1YWNiOGExZGYyNTEzMThmNTc4ZThk
ZmUxMy4uOTU5N2QxYjkwNzQ4MzUyMjRhMDYwNjBhMTU1NGQ4NzUzMTAzMjA4OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC93cGUvd3BlLXdlYi1leHRlbnNpb24tdW5pbnN0YWxsZWQucGMuaW4K
KysrIGIvU291cmNlL1dlYktpdC93cGUvd3BlLXdlYi1leHRlbnNpb24tdW5pbnN0YWxsZWQucGMu
aW4KQEAgLTcsNiArNyw2IEBAIE5hbWU6IFdQRSBXZWJLaXQgV2ViIHByb2Nlc3MgZXh0ZW5zaW9u
cwogRGVzY3JpcHRpb246IEVtYmVkZGFibGUgV2ViIGNvbnRlbnQgZW5naW5lIC0gV2ViIHByb2Nl
c3MgZXh0ZW5zaW9ucwogVVJMOiBodHRwczovL3dwZXdlYmtpdC5vcmcKIFZlcnNpb246IEBQUk9K
RUNUX1ZFUlNJT05ACi1SZXF1aXJlczogZ2xpYi0yLjAgbGlic291cC0yLjQgd3BlLTEuMAorUmVx
dWlyZXM6IGdsaWItMi4wIGxpYnNvdXAtQFNPVVBfQVBJX1ZFUlNJT05AIHdwZS0xLjAKIExpYnM6
IC1MJHtsaWJkaXJ9IC1sV1BFV2ViS2l0LUBXUEVfQVBJX1ZFUlNJT05ACiBDZmxhZ3M6IC1JJHtp
bmNsdWRlZGlyfS93cGUtZXh0ZW5zaW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dwZS93
cGUtd2ViLWV4dGVuc2lvbi5wYy5pbiBiL1NvdXJjZS9XZWJLaXQvd3BlL3dwZS13ZWItZXh0ZW5z
aW9uLnBjLmluCmluZGV4IGM5OGU4OGY4NjkyODQwMGI4MzUwN2QzYjE1ZTgxNzgxOTRkZjNhYmUu
LmU3MzU5NmVjMjM4Njc4NjNmZDg4N2Y3ZTVmZTQ1YzVmMThlMDMzYWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvd3BlL3dwZS13ZWItZXh0ZW5zaW9uLnBjLmluCisrKyBiL1NvdXJjZS9XZWJL
aXQvd3BlL3dwZS13ZWItZXh0ZW5zaW9uLnBjLmluCkBAIC03LDYgKzcsNiBAQCBOYW1lOiBXUEUg
V2ViS2l0IFdlYiBwcm9jZXNzIGV4dGVuc2lvbnMKIERlc2NyaXB0aW9uOiBFbWJlZGRhYmxlIFdl
YiBjb250ZW50IGVuZ2luZSAtIFdlYiBwcm9jZXNzIGV4dGVuc2lvbnMKIFVSTDogaHR0cHM6Ly93
cGV3ZWJraXQub3JnCiBWZXJzaW9uOiBAUFJPSkVDVF9WRVJTSU9OQAotUmVxdWlyZXM6IGdsaWIt
Mi4wIGxpYnNvdXAtMi40IHdwZS0xLjAKK1JlcXVpcmVzOiBnbGliLTIuMCBsaWJzb3VwLUBTT1VQ
X0FQSV9WRVJTSU9OQCB3cGUtMS4wCiBMaWJzOiAtTCR7bGliZGlyfSAtbFdQRVdlYktpdC1AV1BF
X0FQSV9WRVJTSU9OQAogQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0vd3BlLXdlYmtpdC1AV1BFX0FQ
SV9WRVJTSU9OQApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93cGUvd3BlLXdlYmtpdC11bmlu
c3RhbGxlZC5wYy5pbiBiL1NvdXJjZS9XZWJLaXQvd3BlL3dwZS13ZWJraXQtdW5pbnN0YWxsZWQu
cGMuaW4KaW5kZXggMWM5MTUyOWYyMTI4NmM4NzM3NGI1ZmIzNjY3ODE4MGJlODUzOWQ4Ny4uOTdh
Y2U5NzRhYjNmMDQ5ZjExN2JhYmIxNDMyM2FiODQyYjRmYjQ4NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC93cGUvd3BlLXdlYmtpdC11bmluc3RhbGxlZC5wYy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0L3dwZS93cGUtd2Via2l0LXVuaW5zdGFsbGVkLnBjLmluCkBAIC03LDYgKzcsNiBAQCBOYW1l
OiBXUEUgV2ViS2l0CiBEZXNjcmlwdGlvbjogRW1iZWRkYWJsZSBXZWIgY29udGVudCBlbmdpbmUK
IFVSTDogaHR0cHM6Ly93cGV3ZWJraXQub3JnCiBWZXJzaW9uOiBAUFJPSkVDVF9WRVJTSU9OQAot
UmVxdWlyZXM6IGdsaWItMi4wIGxpYnNvdXAtMi40IHdwZS0xLjAKK1JlcXVpcmVzOiBnbGliLTIu
MCBsaWJzb3VwLUBTT1VQX0FQSV9WRVJTSU9OQCB3cGUtMS4wCiBMaWJzOiAtTCR7bGliZGlyfSAt
bFdQRVdlYktpdC1AV1BFX0FQSV9WRVJTSU9OQAogQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0vRm9y
d2FyZGluZ0hlYWRlcnMvd3BlIC1JJHtpbmNsdWRlZGlyfS9XZWJLaXQvIC1JJHtpbmNsdWRlZGly
fS9Gb3J3YXJkaW5nSGVhZGVycy93cGUtanNjIC1JJHtpbmNsdWRlZGlyfS9KYXZhU2NyaXB0Q29y
ZS9qYXZhc2NyaXB0Y29yZXdwZS8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3BlL3dwZS13
ZWJraXQucGMuaW4gYi9Tb3VyY2UvV2ViS2l0L3dwZS93cGUtd2Via2l0LnBjLmluCmluZGV4IGJh
ZDkzNDNhNmI4ZTVmOGRjNTgyNTU3OWRiMTAzYTc2NzcwODJhOWIuLmY5NmRkOGIzYzkzNTFjNjBm
NTM2Zjc2ZmFhMGJmM2RjZjAwNGM1ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3BlL3dw
ZS13ZWJraXQucGMuaW4KKysrIGIvU291cmNlL1dlYktpdC93cGUvd3BlLXdlYmtpdC5wYy5pbgpA
QCAtNyw2ICs3LDYgQEAgTmFtZTogV1BFIFdlYktpdAogRGVzY3JpcHRpb246IEVtYmVkZGFibGUg
V2ViIGNvbnRlbnQgZW5naW5lCiBVUkw6IGh0dHBzOi8vd3Bld2Via2l0Lm9yZwogVmVyc2lvbjog
QFBST0pFQ1RfVkVSU0lPTkAKLVJlcXVpcmVzOiBnbGliLTIuMCBsaWJzb3VwLTIuNCB3cGUtMS4w
CitSZXF1aXJlczogZ2xpYi0yLjAgbGlic291cC1AU09VUF9BUElfVkVSU0lPTkAgd3BlLTEuMAog
TGliczogLUwke2xpYmRpcn0gLWxXUEVXZWJLaXQtQFdQRV9BUElfVkVSU0lPTkAKIENmbGFnczog
LUkke2luY2x1ZGVkaXJ9L3dwZS13ZWJraXQtQFdQRV9BUElfVkVSU0lPTkAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL1ZlcnNpb24ueGNjb25maWcg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9WZXJzaW9uLnhjY29uZmln
CmluZGV4IDk4OWVjYjYzNGQ0MGQ5NDVkOTcwNzAzMjJkNzFmY2ZkZWM0OTQxMjIuLjc3NDkwNjY0
MTYzNzc0Y2U3M2VkYzMzYmZkOWRiODhmYWRiNDU1NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL1ZlcnNpb24ueGNjb25maWcKKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvVmVyc2lvbi54Y2NvbmZpZwpAQCAtMjMs
NyArMjMsNyBAQAogCiBNQUpPUl9WRVJTSU9OID0gNjEyOwogTUlOT1JfVkVSU0lPTiA9IDE7Ci1U
SU5ZX1ZFUlNJT04gPSA3OworVElOWV9WRVJTSU9OID0gODsKIE1JQ1JPX1ZFUlNJT04gPSAwOwog
TkFOT19WRVJTSU9OID0gMDsKIEZVTExfVkVSU0lPTiA9ICQoTUFKT1JfVkVSU0lPTikuJChNSU5P
Ul9WRVJTSU9OKS4kKFRJTllfVkVSU0lPTik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0
aW9uc1dQRS5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlCmluZGV4IGFjY2Q1
YWQyNjIzNjg0YjI0M2E3ZmU0NTFiZDY5NWU3Y2VhODQ4NWUuLjcyNzI4Mjc5NTQ1MTM4YzIwZGMx
ODliZTM2MzU1MGIyOWVmYTE1Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BF
LmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlCkBAIC0yLDIwICsyLDgg
QEAgaW5jbHVkZShHTlVJbnN0YWxsRGlycykKIGluY2x1ZGUoVmVyc2lvbmluZ1V0aWxzKQogCiBT
RVRfUFJPSkVDVF9WRVJTSU9OKDIgMzEgMSkKLXNldChXUEVfQVBJX1ZFUlNJT04gMS4wKQotCi1D
QUxDVUxBVEVfTElCUkFSWV9WRVJTSU9OU19GUk9NX0xJQlRPT0xfVFJJUExFKFdFQktJVCAxNiAw
IDEzKQotCi0jIFRoZXNlIGFyZSBzaGFyZWQgdmFyaWFibGVzLCBidXQgd2Ugc3BlY2lhbCBjYXNl
IHRoZWlyIGRlZmluaXRpb24gc28gdGhhdCB3ZSBjYW4gdXNlIHRoZQotIyBDTUFLRV9JTlNUQUxM
XyogdmFyaWFibGVzIHRoYXQgYXJlIHBvcHVsYXRlZCBieSB0aGUgR05VSW5zdGFsbERpcnMgbWFj
cm8uCi1zZXQoTElCX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExfRlVMTF9MSUJESVJ9IiBD
QUNIRSBQQVRIICJBYnNvbHV0ZSBwYXRoIHRvIGxpYnJhcnkgaW5zdGFsbGF0aW9uIGRpcmVjdG9y
eSIpCi1zZXQoRVhFQ19JTlNUQUxMX0RJUiAiJHtDTUFLRV9JTlNUQUxMX0ZVTExfQklORElSfSIg
Q0FDSEUgUEFUSCAiQWJzb2x1dGUgcGF0aCB0byBleGVjdXRhYmxlIGluc3RhbGxhdGlvbiBkaXJl
Y3RvcnkiKQotc2V0KExJQkVYRUNfSU5TVEFMTF9ESVIgIiR7Q01BS0VfSU5TVEFMTF9GVUxMX0xJ
QkVYRUNESVJ9L3dwZS13ZWJraXQtJHtXUEVfQVBJX1ZFUlNJT059IiBDQUNIRSBQQVRIICJBYnNv
bHV0ZSBwYXRoIHRvIGluc3RhbGwgZXhlY3V0YWJsZXMgZXhlY3V0ZWQgYnkgdGhlIGxpYnJhcnki
KQogCiBzZXQoVVNFUl9BR0VOVF9CUkFORElORyAiIiBDQUNIRSBTVFJJTkcgIkJyYW5kaW5nIHRv
IGFkZCB0byB1c2VyIGFnZW50IHN0cmluZyIpCi1pZiAoVVNFUl9BR0VOVF9CUkFORElORykKLSAg
ICBhZGRfZGVmaW5pdGlvbnMoLURVU0VSX0FHRU5UX0JSQU5ESU5HPSR7VVNFUl9BR0VOVF9CUkFO
RElOR30pCi1lbmRpZiAoKQogCiBmaW5kX3BhY2thZ2UoQ2Fpcm8gMS4xNC4wIFJFUVVJUkVEKQog
ZmluZF9wYWNrYWdlKEZvbnRjb25maWcgMi44LjAgUkVRVUlSRUQpCkBAIC0xMzAsMTEgKzExOCwz
MCBAQCBXRUJLSVRfT1BUSU9OX0VORCgpCiAKIGlmIChVU0VfU09VUDIpCiAgICAgc2V0KFNPVVBf
TUlOSU1VTV9WRVJTSU9OIDIuNTQuMCkKKyAgICBzZXQoU09VUF9BUElfVkVSU0lPTiAyLjQpCisg
ICAgc2V0KFdQRV9BUElfVkVSU0lPTiAxLjApCisgICAgc2V0KFdQRV9BUElfRE9DX1ZFUlNJT04g
MS4wKQogZWxzZSAoKQogICAgIHNldChTT1VQX01JTklNVU1fVkVSU0lPTiAyLjk5LjIpCisgICAg
c2V0KFNPVVBfQVBJX1ZFUlNJT04gMy4wKQorICAgIHNldChXUEVfQVBJX1ZFUlNJT04gMS4xKQor
ICAgICMgTm8gQVBJIGNoYW5nZXMgaW4gMS4xLCBzbyBrZWVwIHVzaW5nIHRoZSBzYW1lIEFQSSBk
b2N1bWVudGF0aW9uLgorICAgIHNldChXUEVfQVBJX0RPQ19WRVJTSU9OIDEuMCkKIGVuZGlmICgp
CiBmaW5kX3BhY2thZ2UoTGliU291cCAke1NPVVBfTUlOSU1VTV9WRVJTSU9OfSBSRVFVSVJFRCkK
IAoraWYgKFdQRV9BUElfVkVSU0lPTiBWRVJTSU9OX0VRVUFMICIxLjAiKQorICAgIENBTENVTEFU
RV9MSUJSQVJZX1ZFUlNJT05TX0ZST01fTElCVE9PTF9UUklQTEUoV0VCS0lUIDE2IDAgMTMpCitl
bHNlICgpCisgICAgQ0FMQ1VMQVRFX0xJQlJBUllfVkVSU0lPTlNfRlJPTV9MSUJUT09MX1RSSVBM
RShXRUJLSVQgMCAwIDApCitlbmRpZiAoKQorCisjIFRoZXNlIGFyZSBzaGFyZWQgdmFyaWFibGVz
LCBidXQgd2Ugc3BlY2lhbCBjYXNlIHRoZWlyIGRlZmluaXRpb24gc28gdGhhdCB3ZSBjYW4gdXNl
IHRoZQorIyBDTUFLRV9JTlNUQUxMXyogdmFyaWFibGVzIHRoYXQgYXJlIHBvcHVsYXRlZCBieSB0
aGUgR05VSW5zdGFsbERpcnMgbWFjcm8uCitzZXQoTElCX0lOU1RBTExfRElSICIke0NNQUtFX0lO
U1RBTExfRlVMTF9MSUJESVJ9IiBDQUNIRSBQQVRIICJBYnNvbHV0ZSBwYXRoIHRvIGxpYnJhcnkg
aW5zdGFsbGF0aW9uIGRpcmVjdG9yeSIpCitzZXQoRVhFQ19JTlNUQUxMX0RJUiAiJHtDTUFLRV9J
TlNUQUxMX0ZVTExfQklORElSfSIgQ0FDSEUgUEFUSCAiQWJzb2x1dGUgcGF0aCB0byBleGVjdXRh
YmxlIGluc3RhbGxhdGlvbiBkaXJlY3RvcnkiKQorc2V0KExJQkVYRUNfSU5TVEFMTF9ESVIgIiR7
Q01BS0VfSU5TVEFMTF9GVUxMX0xJQkVYRUNESVJ9L3dwZS13ZWJraXQtJHtXUEVfQVBJX1ZFUlNJ
T059IiBDQUNIRSBQQVRIICJBYnNvbHV0ZSBwYXRoIHRvIGluc3RhbGwgZXhlY3V0YWJsZXMgZXhl
Y3V0ZWQgYnkgdGhlIGxpYnJhcnkiKQorCiBpZiAoRU5BQkxFX0FDQ0VTU0lCSUxJVFkpCiAgICAg
ZmluZF9wYWNrYWdlKEFUSyAyLjE2LjApCiAgICAgaWYgKE5PVCBBVEtfRk9VTkQpCkBAIC0yMjYs
NiArMjMzLDEwIEBAIGFkZF9kZWZpbml0aW9ucygtREJVSUxESU5HX1dQRV9fPTEpCiBhZGRfZGVm
aW5pdGlvbnMoLURHRVRURVhUX1BBQ0tBR0U9IldQRSIpCiBhZGRfZGVmaW5pdGlvbnMoLURKU0Nf
R0xJQl9BUElfRU5BQkxFRCkKIAoraWYgKFVTRVJfQUdFTlRfQlJBTkRJTkcpCisgICAgYWRkX2Rl
ZmluaXRpb25zKC1EVVNFUl9BR0VOVF9CUkFORElORz0ke1VTRVJfQUdFTlRfQlJBTkRJTkd9KQor
ZW5kaWYgKCkKKwogaWYgKEVYSVNUUyAiJHtUT09MU19ESVJ9L2dsaWIvc3ZuLXJldmlzaW9uIikK
ICAgICBleGVjdXRlX3Byb2Nlc3MoQ09NTUFORCAke1RPT0xTX0RJUn0vZ2xpYi9zdm4tcmV2aXNp
b24gRVJST1JfUVVJRVQgT1VUUFVUX1ZBUklBQkxFIFNWTl9SRVZJU0lPTiBPVVRQVVRfU1RSSVBf
VFJBSUxJTkdfV0hJVEVTUEFDRSkKIGVsc2UgKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjMTY2ZGVmOTNlMmU0ZGIwYmU3MzdiZTc4ZGMzNTg3
ZDZhOGNlNWQxLi4yNTg5M2YwNjY1ZmE2NmY3ZmQ4ZDk4MWNiYWExMmMwMWE0MzUyOTVmIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMjEtMDMtMTggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEu
Y29tPgorCisgICAgICAgIFtXUEVdIEJ1bXAgQVBJIHZlcnNpb24gd2hlbiBidWlsZGluZyB3aXRo
IGxpYnNvdXAzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjM0MzcKKworICAgICAgICBSZXZpZXdlZCBieSBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvLgor
CisgICAgICAgIFVzZSBXUEVfQVBJX0RPQ19WRVJTSU9OIGluc3RlYWQgb2YgV1BFX0FQSV9WRVJT
SU9OLgorCisgICAgICAgICogd3BlL21hbmlmZXN0LnR4dC5pbjoKKwogMjAyMS0wMy0xOCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgR2VvbG9jYXRpb24gQVBJ
IGRvZXMgbm90IHdvcmsgaW4gV0tXZWJWaWV3IHdpdGggY3VzdG9tIFVSTCBzY2hlbWUgaGFuZGxl
cgpkaWZmIC0tZ2l0IGEvVG9vbHMvd3BlL21hbmlmZXN0LnR4dC5pbiBiL1Rvb2xzL3dwZS9tYW5p
ZmVzdC50eHQuaW4KaW5kZXggZjJhZWYzNTliMDljM2Q1NDFiZjM4OGQ0MzI2NDRiNTJmYWFhMDM4
NS4uYTFjODRlZjVjYzVlY2NmNjJhZTc3YTdmODQzYzkyMjU4ZGY1MDg4NyAxMDA2NDQKLS0tIGEv
VG9vbHMvd3BlL21hbmlmZXN0LnR4dC5pbgorKysgYi9Ub29scy93cGUvbWFuaWZlc3QudHh0Lmlu
CkBAIC05NCw1ICs5NCw1IEBAIGZpbGUgQ01ha2VMaXN0cy50eHQKIGZpbGUgVG9vbHMvQ01ha2VM
aXN0cy50eHQKIGZpbGUgVG9vbHMvUGxhdGZvcm1XUEUuY21ha2UKIAotZGlyZWN0b3J5ICR7Q01B
S0VfQklOQVJZX0RJUn0vRG9jdW1lbnRhdGlvbi93cGUtJHtXUEVfQVBJX1ZFUlNJT059L2h0bWwv
d3BlLSR7V1BFX0FQSV9WRVJTSU9OfSBEb2N1bWVudGF0aW9uL3dwZS0ke1dQRV9BUElfVkVSU0lP
Tn0vaHRtbAotZGlyZWN0b3J5ICR7Q01BS0VfQklOQVJZX0RJUn0vRG9jdW1lbnRhdGlvbi93cGUt
d2ViZXh0ZW5zaW9ucy0ke1dQRV9BUElfVkVSU0lPTn0vaHRtbC93cGUtd2ViZXh0ZW5zaW9ucy0k
e1dQRV9BUElfVkVSU0lPTn0gRG9jdW1lbnRhdGlvbi93cGUtd2ViZXh0ZW5zaW9ucy0ke1dQRV9B
UElfVkVSU0lPTn0vaHRtbAorZGlyZWN0b3J5ICR7Q01BS0VfQklOQVJZX0RJUn0vRG9jdW1lbnRh
dGlvbi93cGUtJHtXUEVfQVBJX0RPQ19WRVJTSU9OfS9odG1sL3dwZS0ke1dQRV9BUElfRE9DX1ZF
UlNJT059IERvY3VtZW50YXRpb24vd3BlLSR7V1BFX0FQSV9ET0NfVkVSU0lPTn0vaHRtbAorZGly
ZWN0b3J5ICR7Q01BS0VfQklOQVJZX0RJUn0vRG9jdW1lbnRhdGlvbi93cGUtd2ViZXh0ZW5zaW9u
cy0ke1dQRV9BUElfRE9DX1ZFUlNJT059L2h0bWwvd3BlLXdlYmV4dGVuc2lvbnMtJHtXUEVfQVBJ
X0RPQ19WRVJTSU9OfSBEb2N1bWVudGF0aW9uL3dwZS13ZWJleHRlbnNpb25zLSR7V1BFX0FQSV9E
T0NfVkVSU0lPTn0vaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQ0OTMzYjAyOTFmNTVjNTFlOTg5NjNhZGE4MjNiZTU3
ZTAzZjRhNDYuLjQ2NmVlOTFmNmE0YTcyMDMxMWYzNmY4OGYyNTM4OGJkMzE5ZjRlZGYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNDYgQEAKKzIwMjEtMDMtMTggIENocmlzIEdhbWJyZWxsICA8Y2dhbWJyZWxs
QGFwcGxlLmNvbT4KKworICAgICAgICBbIG1hY09TIFdrMiBdIGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1vbmx5LWNvbm5lY3Qtc3JjLXhtbGh0dHByZXF1
ZXN0LXJlZGlyZWN0LXRvLWJsb2NrZWQucGhwIGlzIGNvbnN0YW50bHkgdGV4dCBmYWlsaW5nCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMwNzkKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1MzIzNzc5PgorCisgICAgICAgIFJldmlld2VkIGJ5IEpv
bmF0aGFuIEJlZGFyZC4KKworICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLXhtbGh0dHByZXF1ZXN0LXJlZGlyZWN0LXRvLWJsb2Nr
ZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLXhtbGh0dHByZXF1ZXN0LXJlZGlyZWN0LXRvLWJsb2Nr
ZWQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9yZXBvcnQtZG9jdW1lbnQtdXJpLWFmdGVyLWJsb2NrZWQtcmVkaXJlY3QtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3JlcG9ydC1kb2N1bWVudC11cmktYWZ0ZXItYmxvY2tlZC1yZWRpcmVjdC5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1vbmx5
LWNvbm5lY3Qtc3JjLWJlYWNvbi1yZWRpcmVjdC1ibG9ja2VkLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtb25s
eS1jb25uZWN0LXNyYy1iZWFjb24tcmVkaXJlY3QtYmxvY2tlZC5waHA6CisgICAgICAgICogaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LW9ubHktY29ubmVj
dC1zcmMteG1saHR0cHJlcXVlc3QtcmVkaXJlY3QtdG8tYmxvY2tlZC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0
LW9ubHktY29ubmVjdC1zcmMteG1saHR0cHJlcXVlc3QtcmVkaXJlY3QtdG8tYmxvY2tlZC5waHA6
CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVz
b3VyY2VzL2dvLXRvLWVjaG8tcmVwb3J0LnB5OgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9yZWRpcmVjdC5wbDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvd29y
a2VyLWltcG9ydFNjcmlwdC1yZWRpcmVjdC1jcm9zcy1vcmlnaW4tYWxsb3dlZC5weToKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMv
d29ya2VyLWltcG9ydFNjcmlwdC1yZWRpcmVjdC1jcm9zcy1vcmlnaW4tYmxvY2tlZC5weToKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJj
ZXMvd29ya2VyLXhoci1hbGxvd2VkLnB5OgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy93b3JrZXIteGhyLXJlZGlyZWN0LWNyb3Nz
LW9yaWdpbi1hbGxvd2VkLnB5OgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy93b3JrZXIteGhyLXJlZGlyZWN0LWNyb3NzLW9yaWdp
bi1ibG9ja2VkLnB5OgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3Jlc291cmNlcy94aHItcmVkaXJlY3Qtbm90LWFsbG93ZWQucGw6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVz
b3VyY2VzL3hoci1yZWRpcmVjdC1ub3QtYWxsb3dlZC5weTogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9zZWN1cml0eS9uby1qYXZhc2NyaXB0LXJlZnJlc2gucHk6CisgICAgICAgICogcGxh
dGZvcm0vbWFjLXdrMS9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9j
b25uZWN0LXNyYy14bWxodHRwcmVxdWVzdC1yZWRpcmVjdC10by1ibG9ja2VkLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3JlcG9ydC1kb2N1bWVudC11cmktYWZ0ZXItYmxvY2tlZC1yZWRpcmVj
dC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLXhtbGh0dHByZXF1ZXN0LXJlZGly
ZWN0LXRvLWJsb2NrZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtZG9jdW1lbnQtdXJp
LWFmdGVyLWJsb2NrZWQtcmVkaXJlY3QtZXhwZWN0ZWQudHh0OgorCisyMDIxLTAzLTE4ICBSb2Jl
cnQgSmVubmVyICA8amVubmVyQGFwcGxlLmNvbT4KKworICAgICAgICBbIG1hY09TIFdrMiBBUk02
NCBdIHBsYXRmb3JtL21hYy93ZWJydGMvY2FwdHVyZUNhbnZhcy13ZWJydGMtc29mdHdhcmUtZW5j
b2Rlci5odG1sIGlzIGEgZmxha2V5IHRpbWVvdXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzQ3NAorCisgICAgICAgIFVuZXZpZXdlZCB0ZXN0IGdh
cmRlbmluZy4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOiBVcGRh
dGluZyB0ZXN0IGV4cGVjdGF0aW9ucyB0byBpbmNsdWRlIFRpbWVvdXQgZm9yIGFybTY0IHN5c3Rl
bXMuIAorCisyMDIxLTAzLTE4ICBSb2JlcnQgSmVubmVyICA8amVubmVyQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbIG1hY09TIHdrMiBBUk02NCBdIGZhc3QvaW1hZ2VzL2FzeW5jLWltYWdlLWJhY2tn
cm91bmQtY2hhbmdlLmh0bWwgaXMgYSBmbGFrZXkgdGltZW91dAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNDY5CisKKyAgICAgICAgVW5yZXZpZXdl
ZCB0ZXN0IGdhcmRlbmluZy4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVj
dGF0aW9uczogVXBkYXRpbmcgdGVzdCBleHBlY3RhdGlvbnMgdG8gUGFzcyBUaW1lb3V0IHdoaWxl
IHRlc3QgaXMgYmVpbmcgcmV2aWV3ZWQuIAorCisyMDIxLTAzLTE4ICBQZXIgQXJuZSAgPHB2b2xs
YW5AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5dIFVwZGF0ZSB0ZXN0IGV4cGVjdGF0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNDU2CisK
KyAgICAgICAgVW5yZXZpZXdlZCB0ZXN0IGdhcmRlbmluZy4KKworICAgICAgICAqIHBsYXRmb3Jt
L3dpbi9UZXN0RXhwZWN0YXRpb25zOgorCisyMDIxLTAzLTE4ICBSb2JlcnQgSmVubmVyICA8amVu
bmVyQGFwcGxlLmNvbT4KKworICAgICAgICBbIG1hY09TIERlYnVnIHdrMiBBUk02NCBdIEFTU0VS
VElPTiBGQUlMRUQ6ICFtX2RlbGV0aW9uSGFzQmVndW4gL1ZvbHVtZXMvRGF0YS93b3JrZXIvYmln
c3VyLWRlYnVnL2J1aWxkL1dlYktpdEJ1aWxkL0RlYnVnL3Vzci9sb2NhbC9pbmNsdWRlL3d0Zi9U
aHJlYWRTYWZlUmVmQ291bnRlZC5oKDU4KSA6IHZvaWQgV1RGOjpUaHJlYWRTYWZlUmVmQ291bnRl
ZEJhc2U6OnJlZigpIGNvbnN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjM0NjIKKworICAgICAgICBVbmV2aWV3ZWQgdGVzdCBnYXJkZW5pbmcuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6IFVwZGF0aW5nIHRl
c3QgZXhwZWN0YXRpb25zIHRvIFBhc3MgQ3Jhc2ggd2hpbGUgdGVzdCBpcyBiZWluZyByZXZpZXdl
ZC4gCisKKzIwMjEtMDMtMTggIEFtaXIgTWFyayBKciAgPGFtaXJfbWFya0BhcHBsZS5jb20+CisK
KyAgICAgICAgWyBNYWNPUyBXazEgXSBodHRwL3Rlc3RzL2xvYWRpbmcvYmFzaWMtYXV0aC1sb2Fk
LVVSTC13aXRoLWNvbnNlY3V0aXZlLXNsYXNoZXMuaHRtbCBpcyBhIGZsYWtleSBmYWlsdXJlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI1NjMKKwor
ICAgICAgICBVbnJldmlld2VkIHRlc3QgZ2FyZGVuaW5nLgorCisgICAgICAgICogcGxhdGZvcm0v
bWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOgorCisyMDIxLTAzLTE4ICBSb2JlcnQgSmVubmVyICA8
amVubmVyQGFwcGxlLmNvbT4KKworICAgICAgICBbIG1hY09TIHdrMiBBUk0gNjQgXSBzdG9yYWdl
L2luZGV4ZWRkYi9JREJPYmplY3QtbGVhay5odG1sIGlzIGEgZmxha2V5IHRleHQgZmFpbHVyZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNDUzCisK
KyAgICAgICAgVW5ldmlld2VkIHRlc3QgZ2FyZGVpbmcuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6IFVwZGF0aW5nIHRlc3QgZXhwZWN0YXRpb25zIHRvIFBh
c3MgRmFpbHVyZSB3aGlsZSB0ZXN0IGlzIGJlaW5nIHJldmlld2VkLgorCisyMDIxLTAzLTE4ICBS
b2JlcnQgSmVubmVyICA8amVubmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChy
MjcyODQyKTogWyBCaWdTdXIgV2syIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Utc2Vla2FibGUuaHRtbCBpcyBhIGZsYWtleSB0ZXh0IGZh
aWx1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
MTk2NQorCisgICAgICAgIFVucmV2aWV3ZWQgdGVzdCBnYXJkZWluZy4KKworICAgICAgICAqIHBs
YXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczogUmVtb3ZpbmcgdGVzdCBleHBlY3RhdGlv
biwgYXMgaXQgYXBwZWFycyB0aGF0IHRoZSB0ZXN0IGhhcyBiZWVuIGZpeGVkLgorCisyMDIxLTAz
LTE4ICBUcnVpdHQgU2F2ZWxsICA8dHNhdmVsbEBhcHBsZS5jb20+CisKKyAgICAgICAgVW5yZXZp
ZXdlZCwgcmV2ZXJ0aW5nIHIyNzQ2NDQuCisKKyAgICAgICAgQnJva2UgaW50ZXJuYWwgTWFjIEJ1
aWxkcworCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldDoKKworICAgICAgICAiSW1wbGVtZW50
IFdlYlhSIE9wYXF1ZSBGcmFtZWJ1ZmZlciIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMjYwNworICAgICAgICBodHRwczovL2NvbW1pdHMud2Via2l0
Lm9yZy9yMjc0NjQ0CisKKzIwMjEtMDMtMTggIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4K
KworICAgICAgICBVc2UgZG91YmxlIGRpdmlzaW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMzNjYKKworICAgICAgICBSZXZpZXdlZCBieSBaYWxh
biBCdWp0YXMuCisKKyAgICAgICAgQWRkIHRlc3QgZm9yIHRoaXMuCisKKyAgICAgICAgKiBmYXN0
L2Nzcy9hc3BlY3QtcmF0aW8tZGl2aXNpb24tY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Nzcy9hc3BlY3QtcmF0aW8tZGl2aXNpb24tY3Jhc2guaHRtbDogQWRkZWQu
CisKKzIwMjEtMDMtMTggIEZyw6lkw6lyaWMgV2FuZyAgPGZ3YW5nQGlnYWxpYS5jb20+CisKKyAg
ICAgICAgTnVsbHB0ciBjcmFzaCBpbiBSZW5kZXJTdHlsZTo6c2hhcGVPdXRzaWRlKCkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTM4MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IFphbGFuIEJ1anRhcy4KKworICAgICAgICBBZGQgcmVncmVzc2lvbiB0
ZXN0cy4KKworICAgICAgICAqIGZhc3QvYmxvY2svZmxvYXQvZmxvYXQtcHNldWRvLWVsZW1lbnQt
bm90LXJlbW92ZWQtY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Js
b2NrL2Zsb2F0L2Zsb2F0LXBzZXVkby1lbGVtZW50LW5vdC1yZW1vdmVkLWNyYXNoLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvYmxvY2svZmxvYXQvZmxvYXQtcHNldWRvLWVsZW1lbnQtbm90
LXJlbW92ZWQtY3Jhc2gyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ibG9j
ay9mbG9hdC9mbG9hdC1wc2V1ZG8tZWxlbWVudC1ub3QtcmVtb3ZlZC1jcmFzaDIuaHRtbDogQWRk
ZWQuCisKKzIwMjEtMDMtMTggIEltYW5vbCBGZXJuYW5kZXogIDxpZmVybmFuZGV6QGlnYWxpYS5j
b20+CisKKyAgICAgICAgSW1wbGVtZW50IFdlYlhSIE9wYXF1ZSBGcmFtZWJ1ZmZlcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyNjA3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICBVcGRhdGUgV2ViWFIgT3Bh
cXVlIEZyYW1lYnVmZmVyIHRlc3QgZXhwZWN0YXRpb25zLgorCisgICAgICAgICogcGxhdGZvcm0v
d3BlL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDMtMTggIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgogCiAgICAgICAgIEdlb2xvY2F0aW9uIEFQSSBkb2VzIG5vdCB3b3JrIGlu
IFdLV2ViVmlldyB3aXRoIGN1c3RvbSBVUkwgc2NoZW1lIGhhbmRsZXIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCmluZGV4IGZhMjdmNzA4NjhlMWMzY2ExNzFkNzBiZTVmYWQ2YzdjN2NmNTRh
ZGUuLjNjYjU1MWU2NmJjYTIzNmM5ODlmMTY2YjBiMDJlZDc5Y2JlN2I2MzggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTAzLTE4ICBUcnVpdHQg
U2F2ZWxsICA8dHNhdmVsbEBhcHBsZS5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0
aW5nIHIyNzQ2NDQuCisKKyAgICAgICAgQnJva2UgaW50ZXJuYWwgTWFjIEJ1aWxkcworCisgICAg
ICAgIFJldmVydGVkIGNoYW5nZXNldDoKKworICAgICAgICAiSW1wbGVtZW50IFdlYlhSIE9wYXF1
ZSBGcmFtZWJ1ZmZlciIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyMjYwNworICAgICAgICBodHRwczovL2NvbW1pdHMud2Via2l0Lm9yZy9yMjc0NjQ0
CisKKzIwMjEtMDMtMTggIEltYW5vbCBGZXJuYW5kZXogIDxpZmVybmFuZGV6QGlnYWxpYS5jb20+
CisKKyAgICAgICAgSW1wbGVtZW50IFdlYlhSIE9wYXF1ZSBGcmFtZWJ1ZmZlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyNjA3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICBVcGRhdGUgV2ViWFIgT3BhcXVl
IEZyYW1lYnVmZmVyIHRlc3QgZXhwZWN0YXRpb25zLgorCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3dlYnhyL3hyV2ViR0xMYXllcl9mcmFtZWJ1ZmZlcl9kcmF3Lmh0dHBzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyV2ViR0xM
YXllcl9vcGFxdWVfZnJhbWVidWZmZXIuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAy
MS0wMy0xOCAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAKICAgICAgICAg
SW1wb3J0IGNzcy9jc3MtY29udGFpbiB0ZXN0IGZyb20gV1BUCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Jsb2NrL2Zsb2F0L2Zsb2F0LXBzZXVkby1lbGVtZW50LW5vdC1yZW1vdmVkLTIt
Y3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9mbG9hdC9mbG9hdC1w
c2V1ZG8tZWxlbWVudC1ub3QtcmVtb3ZlZC0yLWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40NTdjMWQ4NmY1MDhjNTgyOGRiZjI2ZmNmYTdiNGEwZWFhZjdjYTliCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9mbG9hdC9mbG9hdC1wc2V1ZG8tZWxlbWVudC1u
b3QtcmVtb3ZlZC0yLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK0NPTlNPTEUg
TUVTU0FHRTogVGhpcyB0ZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9mbG9hdC9mbG9hdC1wc2V1ZG8tZWxlbWVudC1u
b3QtcmVtb3ZlZC0yLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL2Zsb2F0L2Zs
b2F0LXBzZXVkby1lbGVtZW50LW5vdC1yZW1vdmVkLTItY3Jhc2guaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
ZTVkNDczNTBlYjFhMDJkNmRlYjYwOTUwODNiY2ZiNDBiNWE4MzM1Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9mbG9hdC9mbG9hdC1wc2V1ZG8tZWxlbWVudC1ub3Qt
cmVtb3ZlZC0yLWNyYXNoLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPHN0eWxlPgorICAqOjpmaXJz
dC1sZXR0ZXIgeworICAgIC13ZWJraXQtaW5pdGlhbC1sZXR0ZXI6IDI7CisgIH0KKyAgKiB7Cisg
ICAgYm90dG9tOiAwdmg7CisgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjsKKyAgfQorPC9z
dHlsZT4KKzxzY3JpcHQ+CisgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOworICBjb25zb2xlLmxvZygiVGhpcyB0ZXN0IHBhc3NlcyBpZiBpdCBk
b2VzIG5vdCBjcmFzaC4iKTsKKyAgZG9jdW1lbnQuc3R5bGVTaGVldHNbMF0uaW5zZXJ0UnVsZShg
Kjo6YmVmb3JlIHsgY29udGVudDogJ2FiJyB1cmwoKTsgfWApOworPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL2Zsb2F0L2Zsb2F0LXBzZXVkby1lbGVtZW50LW5v
dC1yZW1vdmVkLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svZmxv
YXQvZmxvYXQtcHNldWRvLWVsZW1lbnQtbm90LXJlbW92ZWQtY3Jhc2gtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmIyNWNlODdjZjU5Mjc5ZDdjYzk3YTdmNTg0MGI2YmNlMDRkN2Y0MmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL2Zsb2F0L2Zsb2F0LXBzZXVkby1l
bGVtZW50LW5vdC1yZW1vdmVkLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK0NP
TlNPTEUgTUVTU0FHRTogVGhpcyB0ZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4KKyAv
KiogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXog
YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogYWJj
ZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogYWJjZGVm
Z2hpamtsbW5vcHFyc3R1dnd4eXogKi8gLyoqIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IGFi
Y2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IGFiY2Rl
ZmdoaWprbG1ub3BxcnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IGFiY2RlZmdo
aWprbG1ub3BxcnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6ICovIC8qKiBhYmNk
ZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBhYmNkZWZn
aGlqa2xtbm9wcXJzdHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBhYmNkZWZnaGlq
a2xtbm9wcXJzdHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBhYmNkZWZnaGlqa2xt
bm9wcXJzdHV2d3h5eiAqLyAvKiogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogYWJjZGVmZ2hp
amtsbW5vcHFyc3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogYWJjZGVmZ2hpamts
bW5vcHFyc3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogYWJjZGVmZ2hpamtsbW5v
cHFyc3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogKi8gLyoqIGFiY2RlZmdoaWpr
bG1ub3BxcnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1u
b3BxcnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3Bx
cnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0
dXZ3eHl6ICovIC8qKiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9w
cXJzdHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJz
dHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2
d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiAqLyAvKiogYWJjZGVmZ2hpamtsbW5vcHFy
c3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1
dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4
eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXog
Ki8gLyoqIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3
eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6
IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IGFi
Y2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6ICovIC8qKiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5
eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBh
YmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBhYmNk
ZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiAqLyAqOjpm
aXJzdC1sZXR0ZXIgeyAtd2Via2l0LWluaXRpYWwtbGV0dGVyOiAyOyB9ICogeyBib3R0b206IDB2
aDsgc2hhcGUtb3V0c2lkZTogdXJsKCk7IHZlcnRpY2FsLWFsaWduOiAtMXB4OyB3cml0aW5nLW1v
ZGU6IHZlcnRpY2FsLWxyOyB9ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOyBjb25zb2xlLmxvZygiVGhpcyB0ZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBj
cmFzaC4iKTsgb25sb2FkID0gKCkgPT4geyBkb2N1bWVudC5zdHlsZVNoZWV0c1swXS5pbnNlcnRS
dWxlKGAqIHsgb3V0bGluZS1vZmZzZXQ6IDFweDsgfWApOyBkb2N1bWVudC5zdHlsZVNoZWV0c1sw
XS5pbnNlcnRSdWxlKGAqIHsgLXdlYmtpdC10ZXh0LWVtcGhhc2lzOiAiYSI7IH1gKTsgZG9jdW1l
bnQuc3R5bGVTaGVldHNbMF0uaW5zZXJ0UnVsZShgKjo6YmVmb3JlIHsgY29udGVudDogJ2FiJyB1
cmwoKTsgfWApOyBkb2N1bWVudC5zdHlsZVNoZWV0c1swXS5pbnNlcnRSdWxlKGAqIHsgYWxsOiBp
bml0aWFsOyB9YCk7IH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL2Zsb2F0
L2Zsb2F0LXBzZXVkby1lbGVtZW50LW5vdC1yZW1vdmVkLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Jsb2NrL2Zsb2F0L2Zsb2F0LXBzZXVkby1lbGVtZW50LW5vdC1yZW1vdmVkLWNyYXNo
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNGRiNjU3Y2MwYmI4YjMzMmM1NDE2MzY2YjUyNTkzN2E3MGYyNTQ4
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svZmxvYXQvZmxvYXQt
cHNldWRvLWVsZW1lbnQtbm90LXJlbW92ZWQtY3Jhc2guaHRtbApAQCAtMCwwICsxLDMyIEBACis8
c3R5bGU+CisgIC8qKiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9w
cXJzdHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJz
dHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2
d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiAqLworICAvKiogYWJjZGVmZ2hpamtsbW5v
cHFyc3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFy
c3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1
dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4
eXogKi8KKyAgLyoqIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3Bx
cnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0
dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3
eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6ICovCisgIC8qKiBhYmNkZWZnaGlqa2xtbm9w
cXJzdHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJz
dHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2
d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5
eiAqLworICAvKiogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFy
c3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1
dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4
eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogKi8KKyAgLyoqIGFiY2RlZmdoaWprbG1ub3Bx
cnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0
dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3
eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6
ICovCisgIC8qKiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJz
dHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2
d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5
eiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiAqLworICAvKiogYWJjZGVmZ2hpamtsbW5vcHFy
c3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1
dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4
eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXog
Ki8KKyAgLyoqIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0
dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3
eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6
IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6ICovCisKKyAgKjo6Zmlyc3QtbGV0dGVyIHsKKyAg
ICAtd2Via2l0LWluaXRpYWwtbGV0dGVyOiAyOworICB9CisgICogeworICAgIGJvdHRvbTogMHZo
OworICAgIHNoYXBlLW91dHNpZGU6IHVybCgpOworICAgIHZlcnRpY2FsLWFsaWduOiAtMXB4Owor
ICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7CisgIH0KKzwvc3R5bGU+Cis8c2NyaXB0Pgor
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
KyAgY29uc29sZS5sb2coIlRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guIik7
CisgIG9ubG9hZCA9ICgpID0+IHsKKyAgICBkb2N1bWVudC5zdHlsZVNoZWV0c1swXS5pbnNlcnRS
dWxlKGAqIHsgb3V0bGluZS1vZmZzZXQ6IDFweDsgfWApOworICAgIGRvY3VtZW50LnN0eWxlU2hl
ZXRzWzBdLmluc2VydFJ1bGUoYCogeyAtd2Via2l0LXRleHQtZW1waGFzaXM6ICJhIjsgfWApOwor
ICAgIGRvY3VtZW50LnN0eWxlU2hlZXRzWzBdLmluc2VydFJ1bGUoYCo6OmJlZm9yZSB7IGNvbnRl
bnQ6ICdhYicgdXJsKCk7IH1gKTsKKyAgICBkb2N1bWVudC5zdHlsZVNoZWV0c1swXS5pbnNlcnRS
dWxlKGAqIHsgYWxsOiBpbml0aWFsOyB9YCk7CisgIH07Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvY3NzL2FzcGVjdC1yYXRpby1kaXZpc2lvbi1jcmFzaC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hc3BlY3QtcmF0aW8tZGl2aXNpb24tY3Jhc2gt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwNDJjNzY3OGU0YTgzNWM0YWUyZGUyMWRhMTZlYWVh
MDAxZGZhY2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hc3BlY3Qt
cmF0aW8tZGl2aXNpb24tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAorVGVzdCBw
YXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvY3NzL2FzcGVjdC1yYXRpby1kaXZpc2lvbi1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9jc3MvYXNwZWN0LXJhdGlvLWRpdmlzaW9uLWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQyNjQ0
ODYxMDJkNzhkZGRlNThlYzA3OGUwZmZlYmNlMjRjZjdhZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL2FzcGVjdC1yYXRpby1kaXZpc2lvbi1jcmFzaC5odG1sCkBAIC0w
LDAgKzEsNyBAQAorPCFET0NUWVBFIGh0bWw+CitUZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBj
cmFzaC4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgYXNwZWN0
LXJhdGlvOiAxLzgwOyI+PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jb25uZWN0LXNyYy14bWxodHRwcmVxdWVz
dC1yZWRpcmVjdC10by1ibG9ja2VkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLXhtbGh0dHByZXF1
ZXN0LXJlZGlyZWN0LXRvLWJsb2NrZWQtZXhwZWN0ZWQudHh0CmluZGV4IGE4NjhkZTYzMzViZDAw
ZjgwYWU5NTg3YTRkY2NkNTRmYjgxZDgyNjMuLjAyYjFmZGMxZjhmMmY0M2M4ZmE1M2MxMTY3OGU5
NDEyN2M0NDZkMDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLXhtbGh0dHByZXF1ZXN0LXJlZGlyZWN0
LXRvLWJsb2NrZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLXhtbGh0dHByZXF1ZXN0LXJl
ZGlyZWN0LXRvLWJsb2NrZWQtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAotQ09OU09MRSBN
RVNTQUdFOiBSZWZ1c2VkIHRvIGNvbm5lY3QgdG8gaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMveGhyLXJlZGlyZWN0LW5vdC1hbGxv
d2VkLnBsIGJlY2F1c2UgaXQgZG9lcyBub3QgYXBwZWFyIGluIHRoZSBjb25uZWN0LXNyYyBkaXJl
Y3RpdmUgb2YgdGhlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LgorQ09OU09MRSBNRVNTQUdFOiBS
ZWZ1c2VkIHRvIGNvbm5lY3QgdG8gaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMveGhyLXJlZGlyZWN0LW5vdC1hbGxvd2VkLnB5IGJl
Y2F1c2UgaXQgZG9lcyBub3QgYXBwZWFyIGluIHRoZSBjb25uZWN0LXNyYyBkaXJlY3RpdmUgb2Yg
dGhlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LgogQ09OU09MRSBNRVNTQUdFOiBCbG9ja2VkIGJ5
IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LgotQ09OU09MRSBNRVNTQUdFOiBYTUxIdHRwUmVxdWVz
dCBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3Jlc291cmNlcy94aHItcmVkaXJlY3Qtbm90LWFsbG93ZWQucGwgZHVlIHRvIGFj
Y2VzcyBjb250cm9sIGNoZWNrcy4KK0NPTlNPTEUgTUVTU0FHRTogWE1MSHR0cFJlcXVlc3QgY2Fu
bm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9yZXNvdXJjZXMveGhyLXJlZGlyZWN0LW5vdC1hbGxvd2VkLnB5IGR1ZSB0byBhY2Nlc3Mg
Y29udHJvbCBjaGVja3MuCiBQQVNTIFhNTEh0dHBSZXF1ZXN0LnNlbmQoKSBkaWQgbm90IGZvbGxv
dyB0aGUgZGlzYWxsb3dlZCByZWRpcmVjdC4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMteG1saHR0cHJlcXVlc3QtcmVkaXJlY3QtdG8tYmxv
Y2tlZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvY29ubmVjdC1zcmMteG1saHR0cHJlcXVlc3QtcmVkaXJlY3QtdG8tYmxvY2tlZC5o
dG1sCmluZGV4IDU3MDNlZmRmZjI2ZjFiMWJjZDM1ZTExZDJjOTEzZDk1ODI3YzE2Y2YuLjBlYjcx
MjhkYTc3ODJkZDQzYmFmYTI0ODUyYjE0ZDM3N2ZhMmY4ODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3Jj
LXhtbGh0dHByZXF1ZXN0LXJlZGlyZWN0LXRvLWJsb2NrZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jb25uZWN0LXNyYy14
bWxodHRwcmVxdWVzdC1yZWRpcmVjdC10by1ibG9ja2VkLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAK
ICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgIC8vIFJlZGlyZWN0IHRvIGEgZGlmZmVyZW50IGhv
c3QsIGJlY2F1c2UgYXMgb2YgQ1NQMiBwYXRocwogICAgICAgICAgICAgLy8gYXJlIGlnbm9yZWQg
d2hlbiBtYXRjaGluZyBhZnRlciBhIHJlZGlyZWN0LgotICAgICAgICAgICAgeGhyLm9wZW4oIkdF
VCIsICJyZXNvdXJjZXMvcmVkaXIucHk/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3hoci1yZWRpcmVjdC1ub3QtYWxsb3dl
ZC5wbCIsIHRydWUpOworICAgICAgICAgICAgeGhyLm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvcmVk
aXIucHk/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvcmVzb3VyY2VzL3hoci1yZWRpcmVjdC1ub3QtYWxsb3dlZC5weSIsIHRydWUpOwogICAg
ICAgICB9IGNhdGNoKGUpIHsKICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlhNTEh0dHBSZXF1ZXN0
Lm9wZW4oKSBzaG91bGQgbm90IHRocm93IGFuIGV4Y2VwdGlvbi4iKTsKICAgICAgICAgfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvcmVwb3J0LWRvY3VtZW50LXVyaS1hZnRlci1ibG9ja2VkLXJlZGlyZWN0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3JlcG9ydC1kb2N1bWVudC11cmktYWZ0ZXItYmxvY2tlZC1yZWRpcmVjdC1leHBlY3RlZC50
eHQKaW5kZXggNzYxY2YyOTczZWY3NGEwOGU0ZTNiZjFkYzQwZjJjMDQxZGNlYWRiZi4uMmViNTM3
NDdkYzNjYTRmNzY5NmZjNWM5YTk0OTQ0NGNmNmEwNGVlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LWRvY3Vt
ZW50LXVyaS1hZnRlci1ibG9ja2VkLXJlZGlyZWN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtZG9j
dW1lbnQtdXJpLWFmdGVyLWJsb2NrZWQtcmVkaXJlY3QtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEs
NiBAQAotQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGNvbm5lY3QgdG8gaHR0cDovL2xvY2Fs
aG9zdDo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMveGhyLXJl
ZGlyZWN0LW5vdC1hbGxvd2VkLnBsIGJlY2F1c2UgaXQgZG9lcyBub3QgYXBwZWFyIGluIHRoZSBj
b25uZWN0LXNyYyBkaXJlY3RpdmUgb2YgdGhlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LgorQ09O
U09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGNvbm5lY3QgdG8gaHR0cDovL2xvY2FsaG9zdDo4MDAw
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMveGhyLXJlZGlyZWN0LW5v
dC1hbGxvd2VkLnB5IGJlY2F1c2UgaXQgZG9lcyBub3QgYXBwZWFyIGluIHRoZSBjb25uZWN0LXNy
YyBkaXJlY3RpdmUgb2YgdGhlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LgogQ09OU09MRSBNRVNT
QUdFOiBCbG9ja2VkIGJ5IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LgotQ09OU09MRSBNRVNTQUdF
OiBYTUxIdHRwUmVxdWVzdCBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy94aHItcmVkaXJlY3Qtbm90LWFsbG93
ZWQucGwgZHVlIHRvIGFjY2VzcyBjb250cm9sIGNoZWNrcy4KK0NPTlNPTEUgTUVTU0FHRTogWE1M
SHR0cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMveGhyLXJlZGlyZWN0LW5vdC1hbGxvd2VkLnB5
IGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCiBQQVNTIFhNTEh0dHBSZXF1ZXN0LnNlbmQo
KSBkaWQgbm90IGZvbGxvdyB0aGUgZGlzYWxsb3dlZCByZWRpcmVjdC4KIFBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LWRvY3VtZW50LXVyaS1hZnRlci1i
bG9ja2VkLXJlZGlyZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtZG9jdW1lbnQtdXJpLWFmdGVyLWJsb2NrZWQtcmVk
aXJlY3QuaHRtbAppbmRleCA4ZTE5MTA0MDA3NGNjZDAzMTI5NjIzODIwZDUzOTExNWQ1MzllMTVm
Li42ZDJkNzE4MzA1Y2NiM2MyMjAzMGJiODM4YjJlMmExNTc2ODg4ZjIxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBv
cnQtZG9jdW1lbnQtdXJpLWFmdGVyLWJsb2NrZWQtcmVkaXJlY3QuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtZG9j
dW1lbnQtdXJpLWFmdGVyLWJsb2NrZWQtcmVkaXJlY3QuaHRtbApAQCAtMjEsNyArMjEsNyBAQAog
ICAgICAgICB0cnkgewogICAgICAgICAgICAgLy8gUmVkaXJlY3QgdG8gYSBkaWZmZXJlbnQgaG9z
dCwgYmVjYXVzZSBhcyBvZiBDU1AyIHBhdGhzCiAgICAgICAgICAgICAvLyBhcmUgaWdub3JlZCB3
aGVuIG1hdGNoaW5nIGFmdGVyIGEgcmVkaXJlY3QuCi0gICAgICAgICAgICB4aHIub3BlbigiR0VU
IiwgInJlc291cmNlcy9yZWRpci5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3hoci1yZWRpcmVjdC1ub3QtYWxsb3dl
ZC5wbCIsIHRydWUpOworICAgICAgICAgICAgeGhyLm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvcmVk
aXIucGhwP3VybD1odHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L3Jlc291cmNlcy94aHItcmVkaXJlY3Qtbm90LWFsbG93ZWQucHkiLCB0cnVlKTsKICAg
ICAgICAgfSBjYXRjaChlKSB7CiAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJYTUxIdHRwUmVxdWVz
dC5vcGVuKCkgc2hvdWxkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24uIik7CiAgICAgICAgIH0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L3JlcG9ydC1vbmx5LWNvbm5lY3Qtc3JjLWJlYWNvbi1yZWRpcmVjdC1ibG9ja2VkLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3JlcG9ydC1vbmx5LWNvbm5lY3Qtc3JjLWJlYWNvbi1yZWRpcmVjdC1ibG9ja2Vk
LWV4cGVjdGVkLnR4dAppbmRleCBiNzgxNzdhOTAxMTdhMzU0MjRhOGQ2YzNjYWM1ODhiYjQ1NTg1
YTExLi4yZWVjNmZjNWUwMzAzNzExNzEwNWE1N2I3MDdjMGQ2YTJkZDM5NWJjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9y
ZXBvcnQtb25seS1jb25uZWN0LXNyYy1iZWFjb24tcmVkaXJlY3QtYmxvY2tlZC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvcmVwb3J0LW9ubHktY29ubmVjdC1zcmMtYmVhY29uLXJlZGlyZWN0LWJsb2NrZWQtZXhw
ZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBUaGUgQ29udGVudCBT
ZWN1cml0eSBQb2xpY3kgJ2Nvbm5lY3Qtc3JjIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3JlZGlyLnB5JyB3YXMgZGVsaXZlcmVk
IGluIHJlcG9ydC1vbmx5IG1vZGUsIGJ1dCBkb2VzIG5vdCBzcGVjaWZ5IGEgJ3JlcG9ydC11cmkn
OyB0aGUgcG9saWN5IHdpbGwgaGF2ZSBubyBlZmZlY3QuIFBsZWFzZSBlaXRoZXIgYWRkIGEgJ3Jl
cG9ydC11cmknIGRpcmVjdGl2ZSwgb3IgZGVsaXZlciB0aGUgcG9saWN5IHZpYSB0aGUgJ0NvbnRl
bnQtU2VjdXJpdHktUG9saWN5JyBoZWFkZXIuCitDT05TT0xFIE1FU1NBR0U6IFRoZSBDb250ZW50
IFNlY3VyaXR5IFBvbGljeSAnY29ubmVjdC1zcmMgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvcmVkaXIucGhwJyB3YXMgZGVsaXZl
cmVkIGluIHJlcG9ydC1vbmx5IG1vZGUsIGJ1dCBkb2VzIG5vdCBzcGVjaWZ5IGEgJ3JlcG9ydC11
cmknOyB0aGUgcG9saWN5IHdpbGwgaGF2ZSBubyBlZmZlY3QuIFBsZWFzZSBlaXRoZXIgYWRkIGEg
J3JlcG9ydC11cmknIGRpcmVjdGl2ZSwgb3IgZGVsaXZlciB0aGUgcG9saWN5IHZpYSB0aGUgJ0Nv
bnRlbnQtU2VjdXJpdHktUG9saWN5JyBoZWFkZXIuCiBQYXNzCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1v
bmx5LWNvbm5lY3Qtc3JjLWJlYWNvbi1yZWRpcmVjdC1ibG9ja2VkLnBocCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1vbmx5LWNv
bm5lY3Qtc3JjLWJlYWNvbi1yZWRpcmVjdC1ibG9ja2VkLnBocAppbmRleCA0Y2M2MTVjOGE0YTY1
Mjc5N2ZjMTUwOTk1ZDU1ZGZjMjllMDJlY2UxLi5iNDNiY2M4YWNkNzgzYTZiMDY5MzgxMzQzZjIw
ZDY3YzBjYTg4MzY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtb25seS1jb25uZWN0LXNyYy1iZWFjb24tcmVk
aXJlY3QtYmxvY2tlZC5waHAKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LW9ubHktY29ubmVjdC1zcmMtYmVhY29uLXJlZGly
ZWN0LWJsb2NrZWQucGhwCkBAIC0xLDUgKzEsNSBAQAogPD9waHAKLSAgICBoZWFkZXIoIkNvbnRl
bnQtU2VjdXJpdHktUG9saWN5LVJlcG9ydC1Pbmx5OiBjb25uZWN0LXNyYyBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9yZWRpci5w
eSIpOworICAgIGhlYWRlcigiQ29udGVudC1TZWN1cml0eS1Qb2xpY3ktUmVwb3J0LU9ubHk6IGNv
bm5lY3Qtc3JjIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvcmVzb3VyY2VzL3JlZGlyLnBocCIpOwogPz4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+
CkBAIC0xOCw3ICsxOCw3IEBAIGZ1bmN0aW9uIGxvZyhtc2cpCiB9CiAKIHRyeSB7Ci0gICAgbmF2
aWdhdG9yLnNlbmRCZWFjb24oImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3JlZGlyLnB5P3VybD1odHRwOi8vbG9jYWxob3N0Ojgw
MDAvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9lY2hvLXJlcG9ydC5w
aHAiKTsKKyAgICBuYXZpZ2F0b3Iuc2VuZEJlYWNvbigiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvcmVkaXIucGhwP3VybD1odHRw
Oi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNl
cy9lY2hvLXJlcG9ydC5waHAiKTsKICAgICBsb2coIlBhc3MiKTsKIH0gY2F0Y2goZSkgewogICAg
IGxvZygiRmFpbCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LW9ubHktY29ubmVjdC1zcmMteG1saHR0cHJl
cXVlc3QtcmVkaXJlY3QtdG8tYmxvY2tlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtb25seS1jb25uZWN0
LXNyYy14bWxodHRwcmVxdWVzdC1yZWRpcmVjdC10by1ibG9ja2VkLWV4cGVjdGVkLnR4dAppbmRl
eCA2MzE5MmZhOWNjZDE2MzllNzU5MTRmZmVmYmNmZWM5MDIyMDc0YWExLi5mNTRiNDRmMmQ4NTY0
M2FjN2MzNjM3OTMyZmIxYjc3NjBhNDljMjc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtb25seS1jb25uZWN0
LXNyYy14bWxodHRwcmVxdWVzdC1yZWRpcmVjdC10by1ibG9ja2VkLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9y
ZXBvcnQtb25seS1jb25uZWN0LXNyYy14bWxodHRwcmVxdWVzdC1yZWRpcmVjdC10by1ibG9ja2Vk
LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKLUNPTlNPTEUgTUVTU0FHRTogVGhlIENvbnRl
bnQgU2VjdXJpdHkgUG9saWN5ICdjb25uZWN0LXNyYyBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9yZWRpci5waHAnIHdhcyBkZWxp
dmVyZWQgaW4gcmVwb3J0LW9ubHkgbW9kZSwgYnV0IGRvZXMgbm90IHNwZWNpZnkgYSAncmVwb3J0
LXVyaSc7IHRoZSBwb2xpY3kgd2lsbCBoYXZlIG5vIGVmZmVjdC4gUGxlYXNlIGVpdGhlciBhZGQg
YSAncmVwb3J0LXVyaScgZGlyZWN0aXZlLCBvciBkZWxpdmVyIHRoZSBwb2xpY3kgdmlhIHRoZSAn
Q29udGVudC1TZWN1cml0eS1Qb2xpY3knIGhlYWRlci4KLUNPTlNPTEUgTUVTU0FHRTogW1JlcG9y
dCBPbmx5XSBSZWZ1c2VkIHRvIGNvbm5lY3QgdG8gaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMveGhyLXJlZGlyZWN0LW5vdC1hbGxv
d2VkLnBsIGJlY2F1c2UgaXQgZG9lcyBub3QgYXBwZWFyIGluIHRoZSBjb25uZWN0LXNyYyBkaXJl
Y3RpdmUgb2YgdGhlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LgorQ09OU09MRSBNRVNTQUdFOiBU
aGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgJ2Nvbm5lY3Qtc3JjIGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3JlZGlyLnB5JyB3
YXMgZGVsaXZlcmVkIGluIHJlcG9ydC1vbmx5IG1vZGUsIGJ1dCBkb2VzIG5vdCBzcGVjaWZ5IGEg
J3JlcG9ydC11cmknOyB0aGUgcG9saWN5IHdpbGwgaGF2ZSBubyBlZmZlY3QuIFBsZWFzZSBlaXRo
ZXIgYWRkIGEgJ3JlcG9ydC11cmknIGRpcmVjdGl2ZSwgb3IgZGVsaXZlciB0aGUgcG9saWN5IHZp
YSB0aGUgJ0NvbnRlbnQtU2VjdXJpdHktUG9saWN5JyBoZWFkZXIuCitDT05TT0xFIE1FU1NBR0U6
IFtSZXBvcnQgT25seV0gUmVmdXNlZCB0byBjb25uZWN0IHRvIGh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MC9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3hoci1yZWRpcmVjdC1u
b3QtYWxsb3dlZC5weSBiZWNhdXNlIGl0IGRvZXMgbm90IGFwcGVhciBpbiB0aGUgY29ubmVjdC1z
cmMgZGlyZWN0aXZlIG9mIHRoZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4KIFBBU1MgWE1MSHR0
cFJlcXVlc3Quc2VuZCgpIGRpZCBmb2xsb3cgdGhlIHJlZGlyZWN0LgogUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtb25seS1jb25uZWN0LXNyYy14bWxo
dHRwcmVxdWVzdC1yZWRpcmVjdC10by1ibG9ja2VkLnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1vbmx5LWNvbm5lY3Qtc3Jj
LXhtbGh0dHByZXF1ZXN0LXJlZGlyZWN0LXRvLWJsb2NrZWQucGhwCmluZGV4IDUzMjQxMWU1Zjk4
MmZlMjk4NDcyMzZmNmU2ZDBiNzgyNjFhODdkNzQuLjgyYjI3NDU1YTNiYzVhZjc5MGZhOGFhZmE4
ODQyZDc2NjFiODk4MTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1vbmx5LWNvbm5lY3Qtc3JjLXhtbGh0dHBy
ZXF1ZXN0LXJlZGlyZWN0LXRvLWJsb2NrZWQucGhwCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1vbmx5LWNvbm5lY3Qtc3Jj
LXhtbGh0dHByZXF1ZXN0LXJlZGlyZWN0LXRvLWJsb2NrZWQucGhwCkBAIC0xLDUgKzEsNSBAQAog
PD9waHAKLSAgICBoZWFkZXIoIkNvbnRlbnQtU2VjdXJpdHktUG9saWN5LVJlcG9ydC1Pbmx5OiBj
b25uZWN0LXNyYyBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L3Jlc291cmNlcy9yZWRpci5waHAiKTsKKyAgICBoZWFkZXIoIkNvbnRlbnQtU2VjdXJp
dHktUG9saWN5LVJlcG9ydC1Pbmx5OiBjb25uZWN0LXNyYyBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9yZWRpci5weSIpOwogPz4K
IDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CkBAIC0xNiw3ICsxNiw3IEBACiAgICAgICAgIHZhciB4
aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7CiAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAvLyBS
ZWRpcmVjdCB0byBhIGRpZmZlcmVudCBob3N0LCBiZWNhdXNlIGFzIG9mIENTUDIgcGF0aHMgYXJl
IGlnbm9yZWQgd2hlbiBtYXRjaGluZyBhZnRlciBhIHJlZGlyZWN0LgotICAgICAgICAgICAgeGhy
Lm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvcmVkaXIucGhwP3VybD1odHRwOi8vbG9jYWxob3N0Ojgw
MDAvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy94aHItcmVkaXJlY3Qt
bm90LWFsbG93ZWQucGwiLCB0cnVlKTsKKyAgICAgICAgICAgIHhoci5vcGVuKCJHRVQiLCAicmVz
b3VyY2VzL3JlZGlyLnB5P3VybD1odHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy94aHItcmVkaXJlY3Qtbm90LWFsbG93ZWQucHkiLCB0
cnVlKTsKICAgICAgICAgfSBjYXRjaChlKSB7CiAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJYTUxI
dHRwUmVxdWVzdC5vcGVuKCkgc2hvdWxkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24uIik7CiAgICAg
ICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9nby10by1lY2hvLXJlcG9ydC5weSBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9n
by10by1lY2hvLXJlcG9ydC5weQppbmRleCBmYTliYWRmMzA4ZWM2OTcxMzcxNmNjYjEzNmJlZGQw
ZDc1OGYzNGJjLi4wMzg2ZTFhNjM3YWU1NTRlOGFmY2I2ODY3NjkzMGE0YjdkMmI2MTE1IDEwMDc1
NQotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9yZXNvdXJjZXMvZ28tdG8tZWNoby1yZXBvcnQucHkKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL2dvLXRvLWVj
aG8tcmVwb3J0LnB5CkBAIC03LDcgKzcsNyBAQCBmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFy
c2VfcXMKIHRlc3QgPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycp
LCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKS5nZXQoJ3Rlc3QnLCBbJyddKVswXQogCiBzeXMuc3Rk
b3V0LndyaXRlKAotICAgICdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2phdmFzY3JpcHRcclxu
XHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKICAgICAnaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7e1xuJwogICAgICcgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
XG4nCiAgICAgJyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTtcbicKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jl
c291cmNlcy9yZWRpcmVjdC5wbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9yZWRpcmVjdC5wbAppbmRleCBiMjE4Mzc2ZjQw
MjZkMWE5ODk1MzAxYmEwZmE1MTQ2MDUxYzYxMjk5Li45NDhlOTAyMjIwMDBlNmRiMWQ3MjY3NmE1
YTFmMGUwMDAyMzg2Nzg1IDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvcmVkaXJlY3QucGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3Vy
Y2VzL3JlZGlyZWN0LnBsCkBAIC0yOCw3ICsyOCw3IEBAIGlmICgkcmVzb3VyY2VUeXBlIGVxICJz
dHlsZXNoZWV0IikgewogCiBpZiAoJHJlc291cmNlVHlwZSBlcSAieGhyIikgewogICAgIHByaW50
ICJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW46IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMFxyXG4i
OwotICAgIHByaW50ICJMb2NhdGlvbjogaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMveGhyLXJlZGlyZWN0LW5vdC1hbGxvd2VkLnBs
IjsKKyAgICBwcmludCAiTG9jYXRpb246IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3hoci1yZWRpcmVjdC1ub3QtYWxsb3dlZC5w
eSI7CiB9CiAKIHByaW50ICJcclxuXHJcbiI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvd29ya2VyLWlt
cG9ydFNjcmlwdC1yZWRpcmVjdC1jcm9zcy1vcmlnaW4tYWxsb3dlZC5weSBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy93b3Jr
ZXItaW1wb3J0U2NyaXB0LXJlZGlyZWN0LWNyb3NzLW9yaWdpbi1hbGxvd2VkLnB5CmluZGV4IDZj
OTI3NTk3Y2M1NThiNGViYzliYTYwYjM3NWYwNDQ2OTdlMDI3NmMuLmZiOTA2MzhmNzhkMTczZTNj
ZmZhZDI1MDMwODRkNTJiN2EyNzQ0OTkgMTAwNzU1Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy93b3JrZXItaW1wb3J0
U2NyaXB0LXJlZGlyZWN0LWNyb3NzLW9yaWdpbi1hbGxvd2VkLnB5CisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy93b3Jr
ZXItaW1wb3J0U2NyaXB0LXJlZGlyZWN0LWNyb3NzLW9yaWdpbi1hbGxvd2VkLnB5CkBAIC01LDcg
KzUsNyBAQCBmcm9tIHV0aWxzIGltcG9ydCBkZXRlcm1pbmVfY29udGVudF9zZWN1cml0eV9wb2xp
Y3lfaGVhZGVyCiAKIGRldGVybWluZV9jb250ZW50X3NlY3VyaXR5X3BvbGljeV9oZWFkZXIoKQog
c3lzLnN0ZG91dC53cml0ZSgKLSAgICAnQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qYXZhc2Ny
aXB0XHJcblxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCiAgICAg
J3NlbGYucmVzdWx0ID0gZmFsc2U7XG4nCiAgICAgJ3ZhciBleGNlcHRpb247XG4nCiAgICAgJ3Ry
eSB7XG4nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvd29ya2VyLWltcG9ydFNjcmlwdC1yZWRpcmVjdC1j
cm9zcy1vcmlnaW4tYmxvY2tlZC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy93b3JrZXItaW1wb3J0U2NyaXB0LXJlZGly
ZWN0LWNyb3NzLW9yaWdpbi1ibG9ja2VkLnB5CmluZGV4IGYwN2Q5MDE1NjVlNGUzMzM5NDBhNDY4
YjE0NDUxODcwZjRhMjc1ODMuLmI3YTY2MDdiNTUzZTc0ZTk4NmI5NTJiMzg4M2M0OTg2MmEzYWVh
ZTEgMTAwNzU1Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L3Jlc291cmNlcy93b3JrZXItaW1wb3J0U2NyaXB0LXJlZGlyZWN0LWNyb3Nz
LW9yaWdpbi1ibG9ja2VkLnB5CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy93b3JrZXItaW1wb3J0U2NyaXB0LXJlZGly
ZWN0LWNyb3NzLW9yaWdpbi1ibG9ja2VkLnB5CkBAIC01LDcgKzUsNyBAQCBmcm9tIHV0aWxzIGlt
cG9ydCBkZXRlcm1pbmVfY29udGVudF9zZWN1cml0eV9wb2xpY3lfaGVhZGVyCiAKIGRldGVybWlu
ZV9jb250ZW50X3NlY3VyaXR5X3BvbGljeV9oZWFkZXIoKQogc3lzLnN0ZG91dC53cml0ZSgKLSAg
ICAnQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0XHJcblxyXG4nCisgICAgJ0Nv
bnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCiAgICAgJ3ZhciBleGNlcHRpb247XG4nCiAg
ICAgJ3RyeSB7XG4nCiAgICAgJyAgICBpbXBvcnRTY3JpcHRzKCJodHRwOi8vMTI3LjAuMC4xOjgw
MDAvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9yZWRpci5weT91cmw9
aHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNv
dXJjZXMvc2NyaXB0LXNldC12YWx1ZS5qcyIpO1xuJwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3dvcmtl
ci14aHItYWxsb3dlZC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy93b3JrZXIteGhyLWFsbG93ZWQucHkKaW5kZXggYzhj
NjE4NjUwNDkxNWMzNDE2MjFjZDg5NzdmZWI3YTc0MTZjYTdiZi4uZTZkZjQzZWM5MWMxZmM2ODhj
NzFmNzFjZmQyZTA3ZmQzNTRmZmZmZCAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3dvcmtlci14aHItYWxs
b3dlZC5weQorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS9yZXNvdXJjZXMvd29ya2VyLXhoci1hbGxvd2VkLnB5CkBAIC01LDcgKzUsNyBA
QCBmcm9tIHV0aWxzIGltcG9ydCBkZXRlcm1pbmVfY29udGVudF9zZWN1cml0eV9wb2xpY3lfaGVh
ZGVyCiAKIGRldGVybWluZV9jb250ZW50X3NlY3VyaXR5X3BvbGljeV9oZWFkZXIoKQogc3lzLnN0
ZG91dC53cml0ZSgKLSAgICAnQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0XHJc
blxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCiAgICAgJ3ZhciBp
c0FzeW5jaHJvbm91cyA9IGZhbHNlO1xuJwogICAgICd2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1
ZXN0O1xuJwogICAgICd0cnkge1xuJwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3dvcmtlci14aHItcmVk
aXJlY3QtY3Jvc3Mtb3JpZ2luLWFsbG93ZWQucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvd29ya2VyLXhoci1yZWRpcmVj
dC1jcm9zcy1vcmlnaW4tYWxsb3dlZC5weQppbmRleCBkYmI3MGViMGIyYzUyNTMwODU3ZjIzMmMy
MjlkNGFhOWFmYjFmNGVkLi43NjA0OTk3NTAxNTE3NjFmNDc1YzRiZDhmMWYyNjE2Njg1YWYxMzNk
IDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS9yZXNvdXJjZXMvd29ya2VyLXhoci1yZWRpcmVjdC1jcm9zcy1vcmlnaW4tYWxs
b3dlZC5weQorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS9yZXNvdXJjZXMvd29ya2VyLXhoci1yZWRpcmVjdC1jcm9zcy1vcmlnaW4tYWxs
b3dlZC5weQpAQCAtNCw3ICs0LDcgQEAgaW1wb3J0IHN5cwogZnJvbSB1dGlscyBpbXBvcnQgZGV0
ZXJtaW5lX2NvbnRlbnRfc2VjdXJpdHlfcG9saWN5X2hlYWRlcgogCiBzeXMuc3Rkb3V0LndyaXRl
KAotICAgICdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2phdmFzY3JpcHRcclxuXHJcbicKKyAg
ICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKICAgICAndmFyIGlzQXN5bmNocm9u
b3VzID0gZmFsc2U7XG4nCiAgICAgJ3ZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7XG4nCiAg
ICAgJ3RyeSB7XG4nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvd29ya2VyLXhoci1yZWRpcmVjdC1jcm9z
cy1vcmlnaW4tYmxvY2tlZC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy93b3JrZXIteGhyLXJlZGlyZWN0LWNyb3NzLW9y
aWdpbi1ibG9ja2VkLnB5CmluZGV4IDgyYjA2MWZhMjI4Yjg5Y2M1YzRlYmYxNzhhOTI4MjU2NGM4
ODdiZjYuLjc3ODU4NDFiODMxMzMxZDY5M2M4MDU1ODMxNjE4MmUxOTFiMzc0NjcgMTAwNzU1Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3Jlc291cmNlcy93b3JrZXIteGhyLXJlZGlyZWN0LWNyb3NzLW9yaWdpbi1ibG9ja2VkLnB5Cisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3Jlc291cmNlcy93b3JrZXIteGhyLXJlZGlyZWN0LWNyb3NzLW9yaWdpbi1ibG9ja2VkLnB5CkBA
IC01LDcgKzUsNyBAQCBmcm9tIHV0aWxzIGltcG9ydCBkZXRlcm1pbmVfY29udGVudF9zZWN1cml0
eV9wb2xpY3lfaGVhZGVyCiAKIGRldGVybWluZV9jb250ZW50X3NlY3VyaXR5X3BvbGljeV9oZWFk
ZXIoKQogc3lzLnN0ZG91dC53cml0ZSgKLSAgICAnQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9q
YXZhc2NyaXB0XHJcblxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4n
CiAgICAgJ3ZhciBleHBlY3RlZEV4Y2VwdGlvbkNvZGUgPSAxOTsgLy8gRE9NRXhjZXB0aW9uLk5F
VFdPUktfRVJSXG4nCiAgICAgJ3ZhciBpc0FzeW5jaHJvbm91cyA9IGZhbHNlO1xuJwogICAgICd2
YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0O1xuJwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3hoci1y
ZWRpcmVjdC1ub3QtYWxsb3dlZC5wbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy94aHItcmVkaXJlY3Qtbm90LWFsbG93ZWQu
cGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDQyMDMyMDZhNTc2YTcwOThhYjFhMGE1
ZmIzYTMzMzFmOTVkOWNiYTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvcmVzb3VyY2VzL3hoci1yZWRpcmVjdC1ub3QtYWxsb3dlZC5wbAorKysgL2Rldi9udWxs
CkBAIC0xLDggKzAsMCBAQAotIyEvdXNyL2Jpbi9wZXJsIC13VAotdXNlIHN0cmljdDsKLXVzZSBD
R0k7Ci0KLXByaW50ICJDb250ZW50LXR5cGU6IHRleHQvcGxhaW5cclxuIjsKLXByaW50ICJBY2Nl
c3MtQ29udHJvbC1BbGxvdy1PcmlnaW46ICpcclxuXHJcbiI7Ci0KLXByaW50ICJoZWxsb1xuIjsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3Jlc291cmNlcy94aHItcmVkaXJlY3Qtbm90LWFsbG93ZWQucHkgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMv
eGhyLXJlZGlyZWN0LW5vdC1hbGxvd2VkLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhNTkzMzAyNjgwZDM5MWIw
YjlhYWNkZjNiN2ExMmIxNDc0YTQ0MjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMveGhyLXJl
ZGlyZWN0LW5vdC1hbGxvd2VkLnB5CkBAIC0wLDAgKzEsOSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0
aG9uMworCitpbXBvcnQgc3lzCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NvbnRlbnQtVHlw
ZTogdGV4dC9wbGFpblxyXG4nCisgICAgJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbjogKlxy
XG5cclxuJworICAgICdoZWxsb1xuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbm8tamF2YXNjcmlwdC1y
ZWZyZXNoLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9uby1qYXZhc2NyaXB0
LXJlZnJlc2gucHkKaW5kZXggZGJkZWQ3M2JmMzdmMjRjYzM0M2E2OTZmNTQ4Mjc1MjFmOTEzYWIx
Zi4uMWY0ZjgwMmVlNzVhYzQxNzgyOWI2OTM0NzQ3NjM0MzkxMDcyOWMzMyAxMDA3NTUKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9uby1qYXZhc2NyaXB0LXJlZnJlc2gucHkK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9uby1qYXZhc2NyaXB0LXJlZnJl
c2gucHkKQEAgLTQsOCArNCw4IEBAIGltcG9ydCBzeXMKIAogc3lzLnN0ZG91dC53cml0ZSgKICAg
ICAnc3RhdHVzOiAyMDBcclxuJwotICAgICdSZWZyZXNoOiAwO1VSTD1qYXZhc2NyaXB0OndpbmRv
dy50b3AubG9jYXRpb249ImFib3V0OmJsYW5rIlxyXG4nCi0gICAgJ0NvbnRlbnQtVHlwZTogdGV4
dC9odG1sXHJcblxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcbicKKyAgICAn
UmVmcmVzaDogMDtVUkw9amF2YXNjcmlwdDp3aW5kb3cudG9wLmxvY2F0aW9uPSJhYm91dDpibGFu
ayJcclxuXHJcbicKICAgICAnPCFET0NUWVBFIGh0bWw+XG4nCiAgICAgJzxib2R5PlxuJwogICAg
ICc8c2NyaXB0PlxuJwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IGM2MDg5MDBhZWY1YTY1ZDgzMWNhOGMyNTU3OWRiYTVjMTE2NTY2N2EuLmMz
OTY3MzY4OTQ3ZjAxMjU2ZjY5MGIwMDlmOGMzODc5ZTA4ODIxNDIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyNjgsNCArMTI2OCw2IEBA
IHdlYmtpdC5vcmcvYi8yMjMxOTMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2NhbnZhcy9lbGVtZW50L3BhdGgtb2JqCiAKIHdlYmtpdC5vcmcvYi8yMjMyNzEgWyBCaWdTdXIg
RGVidWcgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlc3BvbnNl
LWV2ZW50LW9yZGVyLmh0bSBbIFBhc3MgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8yMjMyODMg
ZmFzdC9yZXBhaW50L2NhbnZhcy1vYmplY3QtZml0Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK3dlYmtpdC5vcmcvYi8yMjMyODMgZmFzdC9yZXBhaW50
L2NhbnZhcy1vYmplY3QtZml0Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQorCit3ZWJraXQub3JnL2Iv
MjIyNTYzIGh0dHAvdGVzdHMvbG9hZGluZy9iYXNpYy1hdXRoLWxvYWQtVVJMLXdpdGgtY29uc2Vj
dXRpdmUtc2xhc2hlcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLXhtbGh0dHByZXF1
ZXN0LXJlZGlyZWN0LXRvLWJsb2NrZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMS9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jb25u
ZWN0LXNyYy14bWxodHRwcmVxdWVzdC1yZWRpcmVjdC10by1ibG9ja2VkLWV4cGVjdGVkLnR4dApp
bmRleCBmYjIxYzkxZTRkMGY0ODA2ZjI3MWU2N2VlYzExN2ZjZWVjZjEyNDRhLi5jYzBjODU3YWNj
ZDNhYzA2NzIyZjE4NGMwNjEwMTE1MTg1MWNhZDgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2sxL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L2Nvbm5lY3Qtc3JjLXhtbGh0dHByZXF1ZXN0LXJlZGlyZWN0LXRvLWJsb2NrZWQtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMteG1saHR0cHJlcXVlc3QtcmVkaXJl
Y3QtdG8tYmxvY2tlZC1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACi1DT05TT0xFIE1FU1NB
R0U6IFJlZnVzZWQgdG8gY29ubmVjdCB0byBodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy94aHItcmVkaXJlY3Qtbm90LWFsbG93ZWQu
cGwgYmVjYXVzZSBpdCBkb2VzIG5vdCBhcHBlYXIgaW4gdGhlIGNvbm5lY3Qtc3JjIGRpcmVjdGl2
ZSBvZiB0aGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kuCitDT05TT0xFIE1FU1NBR0U6IFJlZnVz
ZWQgdG8gY29ubmVjdCB0byBodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L3Jlc291cmNlcy94aHItcmVkaXJlY3Qtbm90LWFsbG93ZWQucHkgYmVjYXVz
ZSBpdCBkb2VzIG5vdCBhcHBlYXIgaW4gdGhlIGNvbm5lY3Qtc3JjIGRpcmVjdGl2ZSBvZiB0aGUg
Q29udGVudCBTZWN1cml0eSBQb2xpY3kuCiBDT05TT0xFIE1FU1NBR0U6IEJsb2NrZWQgYnkgQ29u
dGVudCBTZWN1cml0eSBQb2xpY3kuCi1DT05TT0xFIE1FU1NBR0U6IFhNTEh0dHBSZXF1ZXN0IGNh
bm5vdCBsb2FkIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvcmVzb3VyY2VzL3JlZGlyLnB5P3VybD1odHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy94aHItcmVkaXJlY3Qtbm90LWFsbG93
ZWQucGwgZHVlIHRvIGFjY2VzcyBjb250cm9sIGNoZWNrcy4KK0NPTlNPTEUgTUVTU0FHRTogWE1M
SHR0cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvcmVkaXIucHk/dXJsPWh0dHA6Ly9sb2NhbGhv
c3Q6ODAwMC9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3hoci1yZWRp
cmVjdC1ub3QtYWxsb3dlZC5weSBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgogUEFTUyBY
TUxIdHRwUmVxdWVzdC5zZW5kKCkgZGlkIG5vdCBmb2xsb3cgdGhlIGRpc2FsbG93ZWQgcmVkaXJl
Y3QuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvcmVwb3J0LWRvY3VtZW50LXVyaS1hZnRlci1ibG9ja2VkLXJlZGlyZWN0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LWRvY3VtZW50LXVyaS1hZnRlci1ibG9ja2Vk
LXJlZGlyZWN0LWV4cGVjdGVkLnR4dAppbmRleCA2YmJjZTIwOTE3ZWU3ZTQ2YTI1MjA5OWJhZGZh
NzFmNDhlNDkyOTVmLi43YzBmNGJhNmYwZGFjNTM0YmUyYmNhNzFmZjhmMmU4MWJmNmYzMjY0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1kb2N1bWVudC11cmktYWZ0ZXItYmxvY2tl
ZC1yZWRpcmVjdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
MS9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtZG9jdW1l
bnQtdXJpLWFmdGVyLWJsb2NrZWQtcmVkaXJlY3QtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBA
QAotQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGNvbm5lY3QgdG8gaHR0cDovL2xvY2FsaG9z
dDo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMveGhyLXJlZGly
ZWN0LW5vdC1hbGxvd2VkLnBsIGJlY2F1c2UgaXQgZG9lcyBub3QgYXBwZWFyIGluIHRoZSBjb25u
ZWN0LXNyYyBkaXJlY3RpdmUgb2YgdGhlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LgorQ09OU09M
RSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGNvbm5lY3QgdG8gaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMveGhyLXJlZGlyZWN0LW5vdC1h
bGxvd2VkLnB5IGJlY2F1c2UgaXQgZG9lcyBub3QgYXBwZWFyIGluIHRoZSBjb25uZWN0LXNyYyBk
aXJlY3RpdmUgb2YgdGhlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LgogQ09OU09MRSBNRVNTQUdF
OiBCbG9ja2VkIGJ5IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LgotQ09OU09MRSBNRVNTQUdFOiBY
TUxIdHRwUmVxdWVzdCBjYW5ub3QgbG9hZCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9yZWRpci5waHA/dXJsPWh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3hoci1y
ZWRpcmVjdC1ub3QtYWxsb3dlZC5wbCBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09O
U09MRSBNRVNTQUdFOiBYTUxIdHRwUmVxdWVzdCBjYW5ub3QgbG9hZCBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9yZWRpci5waHA/
dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
cmVzb3VyY2VzL3hoci1yZWRpcmVjdC1ub3QtYWxsb3dlZC5weSBkdWUgdG8gYWNjZXNzIGNvbnRy
b2wgY2hlY2tzLgogUEFTUyBYTUxIdHRwUmVxdWVzdC5zZW5kKCkgZGlkIG5vdCBmb2xsb3cgdGhl
IGRpc2FsbG93ZWQgcmVkaXJlY3QuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBl
ZDUxOTczZGQwNTg0ZWNhMTJkNGUzYjQ2NzgyMWMyMzJmN2RmYmM4Li45MjQ5YTJlNmZiNjIwYjc4
YTYzY2Y2ZGUzZjhmZGFkOTQ3YzU0YjIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMzE4LDggKzEzMTgsNiBAQCBwbGF0Zm9ybS9tYWMv
bWVkaWEvZW5jcnlwdGVkLW1lZGlhL2Zwcy1jbGVhcmtleS1jcmFzaC5odG1sIFsgVGltZW91dCBD
cmFzaCBdCiAKIHdlYmtpdC5vcmcvYi8yMjE4NDcgcGxhdGZvcm0vbWFjL21lZGlhL2VuY3J5cHRl
ZC1tZWRpYS9mcHMtZW5jcnlwdGVkLWV2ZW50Lmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogCi13ZWJr
aXQub3JnL2IvMjIxOTY1IFsgQmlnU3VyIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Utc2Vla2FibGUuaHRtbCAgWyBQYXNzIEZhaWx1cmUg
XQotCiB3ZWJraXQub3JnL2IvMjIxODU3IGZhc3Qvc2VsZWN0b3JzL3RleHQtZmllbGQtc2VsZWN0
aW9uLXdpbmRvdy1pbmFjdGl2ZS10ZXh0LXNoYWRvdy5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWls
dXJlIF0KIAogd2Via2l0Lm9yZy9iLzIyMTg1MyBpbnNwZWN0b3IvZGVidWdnZXIvc3RlcHBpbmcv
c3RlcEludG8uaHRtbCBbIFBhc3MgVGltZW91dCBdCkBAIC0xMzgyLDQgKzEzODAsMTAgQEAgd2Vi
a2l0Lm9yZy9iLzIyMzI5MyBtZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXJldHVybi10by1pbmxpbmUu
aHRtbCBbIFBhc3MgRmFpbHVyZQogCiB3ZWJraXQub3JnL2IvMjIzMzg3IG1lZGlhL3RyYWNrL3Ry
YWNrLWN1ZS1jc3MuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcv
Yi8yMjMzODMgY29tcG9zaXRpbmcvdmlkZW8vdmlkZW8tYm9yZGVyLXJhZGl1cy5odG1sIFsgUGFz
cyBJbWFnZU9ubHlGYWlsdXJlIF0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit3ZWJraXQu
b3JnL2IvMjIzMzgzIGNvbXBvc2l0aW5nL3ZpZGVvL3ZpZGVvLWJvcmRlci1yYWRpdXMuaHRtbCBb
IFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCisKK3dlYmtpdC5vcmcvYi8yMjM0NTMgWyBhcm02NCBd
IHN0b3JhZ2UvaW5kZXhlZGRiL0lEQk9iamVjdC1sZWFrLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQor
Cit3ZWJraXQub3JnL2IvMjIzNDYyIFsgRGVidWcgYXJtNjQgXSBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL0dVTS1vcHRpb25hbC1jb25zdHJhaW50
Lmh0dHBzLmh0bWwgWyBQYXNzIENyYXNoIF0KKword2Via2l0Lm9yZy9iLzIyMzQ2OSBbIGFybTY0
IF0gZmFzdC9pbWFnZXMvYXN5bmMtaW1hZ2UtYmFja2dyb3VuZC1jaGFuZ2UuaHRtbCBbIFBhc3Mg
VGltZW91dCBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBmN2RhMTA5ZGUyYmI3ODc5YzQyZTQ3ZjJhNTcz
MTQ2MjA5M2RjYTQzLi42MGIyOWZmZGMzZDczN2Y3MGE1YzRhYjQ4NjRkOTJmZWYzMGI5MDhiIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTgwNSw3ICsx
ODA1LDcgQEAgd2Via2l0Lm9yZy9iLzIwOTA1NiB3ZWJncHUvd2hsc2wvdWludC1iaXR3aXNlLmh0
bWwgWyBQYXNzIENyYXNoIF0KIAogd2Via2l0Lm9yZy9iLzIwOTA3MiBbIERlYnVnIF0gaHR0cC90
ZXN0cy9jc3Mvc2hhcmVkLXN0eWxlc2hlZXQtbXV0YXRpb24tcHJlY29uc3RydWN0Lmh0bWwgWyBQ
YXNzIENyYXNoIEZhaWx1cmUgXQogCi13ZWJraXQub3JnL2IvMjA3MTUwIHBsYXRmb3JtL21hYy93
ZWJydGMvY2FwdHVyZUNhbnZhcy13ZWJydGMtc29mdHdhcmUtZW5jb2Rlci5odG1sIFsgUGFzcyBG
YWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8yMDcxNTAgcGxhdGZvcm0vbWFjL3dlYnJ0Yy9jYXB0dXJl
Q2FudmFzLXdlYnJ0Yy1zb2Z0d2FyZS1lbmNvZGVyLmh0bWwgWyBQYXNzIEZhaWx1cmUgVGltZW91
dCBdCiAKICMgVGhlIGxpbmUgYnJlYWtpbmcgcnVsZXMgY2hhbmdlZCBpbiBJQ1UgNjYuIFdlJ3Zl
IHVwZGF0ZWQgdGhlIHRlc3RzIHRvIG1hdGNoLCBidXQgb2xkIHBsYXRmb3JtcyB3b24ndCBnZXQg
dXBkYXRlZCBsaW5lIGJyZWFraW5nIHJ1bGVzLgogd2Via2l0Lm9yZy9iLzIxNjMxNSBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdGV4dC9saW5lLWJyZWFrL2xpbmUtYnJl
YWstbm9ybWFsLTAxNWEueGh0IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDViOGYyYTdkNTBmOGIyOTBmNjBkMzM5NDY5
YzMyZDNmMzhmZDg2ZWMuLmI2YWI2ODdlZmJkNWM3NDNkNDFiMjY1YjZkMzFhZDg5MjJlM2NmZDEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCkBAIC00NjUyLDMg
KzQ2NTIsMjYgQEAgZmFzdC90ZXh0L2xldHRlci1zcGFjaW5nLXByb2R1Y2VzLW5hbi13aWR0aC5o
dG1sIFsgVGltZW91dCBdCiAKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMTU2OQogY3J5cHRvL2NyeXB0by1yYW5kb20tdmFsdWVzLW9vbS5odG1sIFsgU2tpcCBd
CisKK2Zhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0LWJ5LWRyYWcuaHRtbCBbIEZhaWx1cmUgUGFzcyBd
CitmYXN0L3RleHQvc2VsZWN0aW9uLWlzLXByZXZlbnQtZGVmYXVsdGVkLmh0bWwgWyBGYWlsdXJl
IFBhc3MgXQorCitmYXN0L2V2ZW50cy9wYWdlLXZpc2liaWxpdHktaWZyYW1lLXByb3BhZ2F0aW9u
LXRlc3QuaHRtbCBbIFRpbWVvdXQgUGFzcyBdCitodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2Ny
b3NzLW9yaWdpbi1uby1hdXRob3JpemF0aW9uLmh0bWwgWyBUaW1lb3V0IFBhc3MgXQorCitmYXN0
L2Nzcy9hc3BlY3QtcmF0aW8taW52YWxpZGF0ZS1pZi1kaXNhYmxlZC5odG1sIFsgRmFpbHVyZSBd
CitmYXN0L2Nzcy9wYXJzaW5nLWNvbG9yLWNvbnRyYXN0Lmh0bWwgWyBGYWlsdXJlIF0KK2Zhc3Qv
aW1hZ2VzL21pc3NpbmctY29udGVudC1pbWFnZS1jcmFzaC5odG1sIFsgRmFpbHVyZSBdCitmYXN0
L21lZGlhc2Vzc2lvbi9tZXRhZGF0YS9hcnR3b3JrZG93bmxvYWQuaHRtbCBbIEZhaWx1cmUgXQor
ZmFzdC90ZXh0L21lbmRpbmctaGVhcnQuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC90ZXN0cy9taXNj
L3dlYnRpbWluZy1zc2wucHkgWyBGYWlsdXJlIF0KK2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L21lZGlhLXNyYy1ibG9ja2VkLmh0bWwgWyBGYWlsdXJlIF0KK3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ibG9ja3MtdmlkZW8uaHRtbCBbIEZhaWx1cmUgXQor
CitmYXN0L2lubGluZS9oeXBoZW5hdGlvbi13aGVuLW92ZXJmbG93LXdyYXAtaXMtYnJlYWstd29y
ZC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitmYXN0L3RleHQvaW1hZ2UtYWx0LXRleHQtYmlk
aS0yLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KKworZmFzdC9kb20vZm9jdXMtc2hpZnQtY3Jh
c2guaHRtbCBbIFRpbWVvdXQgXQorZmFzdC9ldmVudHMvd2hlZWwvcmVkaXNwYXRjaGVkLXdoZWVs
LWV2ZW50Lmh0bWwgWyBUaW1lb3V0IF0KK2Zhc3QvaW5saW5lL2NyYXNoLXdoZW4tbmVnYXRpdmUt
c3BhY2luZy1wcm9kdWNlLW5hbi5odG1sIFsgVGltZW91dCBdCitpbXBvcnRlZC9ibGluay9mYXN0
L2RvbS9XaW5kb3cvb3Blbi13aW5kb3ctZmVhdHVyZXMtZnV6ei5odG1sIFsgVGltZW91dCBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMteG1saHR0cHJlcXVlc3QtcmVkaXJlY3Qt
dG8tYmxvY2tlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMteG1saHR0cHJl
cXVlc3QtcmVkaXJlY3QtdG8tYmxvY2tlZC1leHBlY3RlZC50eHQKaW5kZXggZmIyMWM5MWU0ZDBm
NDgwNmYyNzFlNjdlZWMxMTdmY2VlY2YxMjQ0YS4uY2MwYzg1N2FjY2QzYWMwNjcyMmYxODRjMDYx
MDExNTE4NTFjYWQ4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLXhtbGh0dHBy
ZXF1ZXN0LXJlZGlyZWN0LXRvLWJsb2NrZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9j
b25uZWN0LXNyYy14bWxodHRwcmVxdWVzdC1yZWRpcmVjdC10by1ibG9ja2VkLWV4cGVjdGVkLnR4
dApAQCAtMSw2ICsxLDYgQEAKLUNPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBjb25uZWN0IHRv
IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVz
b3VyY2VzL3hoci1yZWRpcmVjdC1ub3QtYWxsb3dlZC5wbCBiZWNhdXNlIGl0IGRvZXMgbm90IGFw
cGVhciBpbiB0aGUgY29ubmVjdC1zcmMgZGlyZWN0aXZlIG9mIHRoZSBDb250ZW50IFNlY3VyaXR5
IFBvbGljeS4KK0NPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBjb25uZWN0IHRvIGh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3ho
ci1yZWRpcmVjdC1ub3QtYWxsb3dlZC5weSBiZWNhdXNlIGl0IGRvZXMgbm90IGFwcGVhciBpbiB0
aGUgY29ubmVjdC1zcmMgZGlyZWN0aXZlIG9mIHRoZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4K
IENPTlNPTEUgTUVTU0FHRTogQmxvY2tlZCBieSBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4KLUNP
TlNPTEUgTUVTU0FHRTogWE1MSHR0cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDovLzEyNy4wLjAu
MTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvcmVkaXIucHk/
dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
cmVzb3VyY2VzL3hoci1yZWRpcmVjdC1ub3QtYWxsb3dlZC5wbCBkdWUgdG8gYWNjZXNzIGNvbnRy
b2wgY2hlY2tzLgorQ09OU09MRSBNRVNTQUdFOiBYTUxIdHRwUmVxdWVzdCBjYW5ub3QgbG9hZCBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291
cmNlcy9yZWRpci5weT91cmw9aHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9yZXNvdXJjZXMveGhyLXJlZGlyZWN0LW5vdC1hbGxvd2VkLnB5IGR1ZSB0
byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCiBQQVNTIFhNTEh0dHBSZXF1ZXN0LnNlbmQoKSBkaWQg
bm90IGZvbGxvdyB0aGUgZGlzYWxsb3dlZCByZWRpcmVjdC4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1kb2N1bWVudC11cmkt
YWZ0ZXItYmxvY2tlZC1yZWRpcmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LWRv
Y3VtZW50LXVyaS1hZnRlci1ibG9ja2VkLXJlZGlyZWN0LWV4cGVjdGVkLnR4dAppbmRleCA2YmJj
ZTIwOTE3ZWU3ZTQ2YTI1MjA5OWJhZGZhNzFmNDhlNDkyOTVmLi43YzBmNGJhNmYwZGFjNTM0YmUy
YmNhNzFmZjhmMmU4MWJmNmYzMjY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LWRvY3Vt
ZW50LXVyaS1hZnRlci1ibG9ja2VkLXJlZGlyZWN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvcmVwb3J0LWRvY3VtZW50LXVyaS1hZnRlci1ibG9ja2VkLXJlZGlyZWN0LWV4cGVjdGVkLnR4
dApAQCAtMSw2ICsxLDYgQEAKLUNPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBjb25uZWN0IHRv
IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVz
b3VyY2VzL3hoci1yZWRpcmVjdC1ub3QtYWxsb3dlZC5wbCBiZWNhdXNlIGl0IGRvZXMgbm90IGFw
cGVhciBpbiB0aGUgY29ubmVjdC1zcmMgZGlyZWN0aXZlIG9mIHRoZSBDb250ZW50IFNlY3VyaXR5
IFBvbGljeS4KK0NPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBjb25uZWN0IHRvIGh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3ho
ci1yZWRpcmVjdC1ub3QtYWxsb3dlZC5weSBiZWNhdXNlIGl0IGRvZXMgbm90IGFwcGVhciBpbiB0
aGUgY29ubmVjdC1zcmMgZGlyZWN0aXZlIG9mIHRoZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4K
IENPTlNPTEUgTUVTU0FHRTogQmxvY2tlZCBieSBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4KLUNP
TlNPTEUgTUVTU0FHRTogWE1MSHR0cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDovLzEyNy4wLjAu
MTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvcmVkaXIucGhw
P3VybD1odHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3Jlc291cmNlcy94aHItcmVkaXJlY3Qtbm90LWFsbG93ZWQucGwgZHVlIHRvIGFjY2VzcyBjb250
cm9sIGNoZWNrcy4KK0NPTlNPTEUgTUVTU0FHRTogWE1MSHR0cFJlcXVlc3QgY2Fubm90IGxvYWQg
aHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNv
dXJjZXMvcmVkaXIucGhwP3VybD1odHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy94aHItcmVkaXJlY3Qtbm90LWFsbG93ZWQucHkgZHVl
IHRvIGFjY2VzcyBjb250cm9sIGNoZWNrcy4KIFBBU1MgWE1MSHR0cFJlcXVlc3Quc2VuZCgpIGRp
ZCBub3QgZm9sbG93IHRoZSBkaXNhbGxvd2VkIHJlZGlyZWN0LgogUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXgg
NmI0ZWNhZDRhNDIxZGY2ZTBmYjE2YjMyMDc2OWIzNzk2NTI4N2JiZi4uZTk3Mjc5OWU0Y2JiNzlk
MDQ5OThhNTAwOWJjYmZjZDBiMTg4N2EzNSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTAzLTE4ICBDYXJsb3MgR2FyY2lhIENhbXBv
cyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbV1BFXSBCdW1wIEFQSSB2ZXJzaW9u
IHdoZW4gYnVpbGRpbmcgd2l0aCBsaWJzb3VwMworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNDM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRyaWFu
IFBlcmV6IGRlIENhc3Ryby4KKworICAgICAgICBVc2UgMS4xIGFzIHRoZSBBUEkgdmVyc2lvbiB3
aGVuIGJ1aWxkaW5nIHdpdGggc291cDMuCisKKyAgICAgICAgKiBTb3VyY2UvUGxhdGZvcm1XUEUu
Y21ha2U6CisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNXUEUuY21ha2U6CisKIDIwMjEt
MDMtMTcgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtHVEtdW1dQRV0gRW5hYmxlIENTUyBzY3JvbGwgc25hcCBzdXBwb3J0IGJ5IGRlZmF1bHQK
</data>

          </attachment>
      

    </bug>

</bugzilla>