<?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>303436</bug_id>
          
          <creation_ts>2025-12-02 16:37:15 -0800</creation_ts>
          <short_desc>REGRESSION(303780@main): JSC debug test failures</short_desc>
          <delta_ts>2025-12-02 16:42:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>303426</blocked>
    
    <blocked>303245</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>tjc</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2162751</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2025-12-02 16:37:15 -0800</bug_when>
    <thetext>https://commits.webkit.org/303780@main introduced a regression:
JSC debug test failures

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2162754</commentid>
    <comment_count>1</comment_count>
      <attachid>477592</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2025-12-02 16:37:25 -0800</bug_when>
    <thetext>Created attachment 477592
REVERT of 303780@main

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the revert will be successful.  This process takes approximately 15 minutes.

If you would like to land the revert faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2162757</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-12-02 16:41:51 -0800</bug_when>
    <thetext>Committed 303799@main (f0be6f9f99b2): &lt;https://commits.webkit.org/303799@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 477592.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2162758</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-12-02 16:42:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/165727643&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>477592</attachid>
            <date>2025-12-02 16:37:25 -0800</date>
            <delta_ts>2025-12-02 16:41:52 -0800</delta_ts>
            <desc>REVERT of 303780@main</desc>
            <filename>bug-303436-20251203003725.patch</filename>
            <type>text/plain</type>
            <size>61784</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSA4NzllNDRhOTE3YjQ3YWQ1MjcyNjJkNWQyZWNhMjE5NTE3NGYzNDRlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBXZWQsIDMgRGVjIDIwMjUgMDA6Mzc6MjMgKzAwMDAKU3ViamVjdDogW1BBVENIXSBV
bnJldmlld2VkLCByZXZlcnRpbmcgMzAzNzgwQG1haW4gYW5kIDMwMzc5M0BtYWluLgogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMzQzNgoKSlNDIGRlYnVnIHRlc3Qg
ZmFpbHVyZXMKClJldmVydGVkIGNoYW5nZXNldHM6CgoiW1RlbXBvcmFsXSBBZGQgUGxhaW5ZZWFy
TW9udGggdHlwZSIKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMzI0
NQpodHRwczovL2NvbW1pdHMud2Via2l0Lm9yZy8zMDM3ODBAbWFpbgoKIkZpeCBjbGVhbiBidWls
ZCBhZnRlciAzMDM3ODBAbWFpbiIKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTMwMzQyNgpodHRwczovL2NvbW1pdHMud2Via2l0Lm9yZy8zMDM3OTNAbWFpbgotLS0KIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCAgICAgICAgICB8ICAgMiAtCiAuLi4v
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCAgICAgICAgICAgfCAgIDIgLQogLi4uL0Rl
cml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0ICAgICAgICAgIHwgICAyIC0KIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlICAgICB8ICAgMiAtCiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvU291cmNlcy50eHQgICAgICAgICAgICAgfCAgIDMgLQogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSVNPODYwMS5oICAgICAgIHwgIDQ4ICstLS0tCiAuLi4vSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgfCAgMTAgLQogLi4uL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCAgIHwgICAyIC0KIC4uLi9ydW50aW1lL1Rl
bXBvcmFsQ2FsZW5kYXIuY3BwICAgICAgICAgICAgICB8ICAyMyArLS0KIC4uLi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1RlbXBvcmFsT2JqZWN0LmNwcCB8ICAxMSAtCiAuLi4vcnVudGltZS9UZW1w
b3JhbFBsYWluWWVhck1vbnRoLmNwcCAgICAgICAgfCAxMDQgLS0tLS0tLS0tLQogLi4uL3J1bnRp
bWUvVGVtcG9yYWxQbGFpblllYXJNb250aC5oICAgICAgICAgIHwgIDcwIC0tLS0tLS0KIC4uLi9U
ZW1wb3JhbFBsYWluWWVhck1vbnRoQ29uc3RydWN0b3IuY3BwICAgICB8IDEzNSAtLS0tLS0tLS0t
LS0KIC4uLi9UZW1wb3JhbFBsYWluWWVhck1vbnRoQ29uc3RydWN0b3IuaCAgICAgICB8ICA1MCAt
LS0tLQogLi4uL1RlbXBvcmFsUGxhaW5ZZWFyTW9udGhQcm90b3R5cGUuY3BwICAgICAgIHwgMTky
IC0tLS0tLS0tLS0tLS0tLS0tLQogLi4uL3J1bnRpbWUvVGVtcG9yYWxQbGFpblllYXJNb250aFBy
b3RvdHlwZS5oIHwgIDU0IC0tLS0tCiBKU1Rlc3RzL3N0cmVzcy90ZW1wb3JhbC1wbGFpbnllYXJt
b250aC5qcyAgICAgfCAgMzkgLS0tLQogSlNUZXN0cy90ZXN0MjYyL2NvbmZpZy55YW1sICAgICAg
ICAgICAgICAgICAgIHwgIDMzICsrLQogSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1s
ICAgICAgICAgICAgIHwgIDMzICsrLQogMTkgZmlsZXMgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygr
KSwgNzU4IGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1RlbXBvcmFsUGxhaW5ZZWFyTW9udGguY3BwCiBkZWxldGUgbW9kZSAxMDA2
NDQgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVGVtcG9yYWxQbGFpblllYXJNb250aC5o
CiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVGVtcG9y
YWxQbGFpblllYXJNb250aENvbnN0cnVjdG9yLmNwcAogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1RlbXBvcmFsUGxhaW5ZZWFyTW9udGhDb25zdHJ1Y3Rv
ci5oCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVGVt
cG9yYWxQbGFpblllYXJNb250aFByb3RvdHlwZS5jcHAKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UZW1wb3JhbFBsYWluWWVhck1vbnRoUHJvdG90eXBl
LmgKIGRlbGV0ZSBtb2RlIDEwMDY0NCBKU1Rlc3RzL3N0cmVzcy90ZW1wb3JhbC1wbGFpbnllYXJt
b250aC5qcwoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAyZmQyYWQ5YzA0
ZDUuLjNiMGM5YmM5MGNiYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtl
TGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
MTI5LDggKzEyOSw2IEBAIHNldChKYXZhU2NyaXB0Q29yZV9PQkpFQ1RfTFVUX1NPVVJDRVMKICAg
ICBydW50aW1lL1RlbXBvcmFsUGxhaW5Nb250aERheVByb3RvdHlwZS5jcHAKICAgICBydW50aW1l
L1RlbXBvcmFsUGxhaW5UaW1lQ29uc3RydWN0b3IuY3BwCiAgICAgcnVudGltZS9UZW1wb3JhbFBs
YWluVGltZVByb3RvdHlwZS5jcHAKLSAgICBydW50aW1lL1RlbXBvcmFsUGxhaW5ZZWFyTW9udGhD
b25zdHJ1Y3Rvci5jcHAKLSAgICBydW50aW1lL1RlbXBvcmFsUGxhaW5ZZWFyTW9udGhQcm90b3R5
cGUuY3BwCiAgICAgcnVudGltZS9UZW1wb3JhbFRpbWVab25lQ29uc3RydWN0b3IuY3BwCiAgICAg
cnVudGltZS9UZW1wb3JhbFRpbWVab25lUHJvdG90eXBlLmNwcAogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDM1
N2ZlYWQxZDUyMC4uZmVjNDM3ZTcxOGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMjA5LDggKzIwOSw2IEBA
ICQoUFJPSkVDVF9ESVIpL3J1bnRpbWUvVGVtcG9yYWxQbGFpbk1vbnRoRGF5Q29uc3RydWN0b3Iu
Y3BwCiAkKFBST0pFQ1RfRElSKS9ydW50aW1lL1RlbXBvcmFsUGxhaW5Nb250aERheVByb3RvdHlw
ZS5jcHAKICQoUFJPSkVDVF9ESVIpL3J1bnRpbWUvVGVtcG9yYWxQbGFpblRpbWVDb25zdHJ1Y3Rv
ci5jcHAKICQoUFJPSkVDVF9ESVIpL3J1bnRpbWUvVGVtcG9yYWxQbGFpblRpbWVQcm90b3R5cGUu
Y3BwCi0kKFBST0pFQ1RfRElSKS9ydW50aW1lL1RlbXBvcmFsUGxhaW5ZZWFyTW9udGhDb25zdHJ1
Y3Rvci5jcHAKLSQoUFJPSkVDVF9ESVIpL3J1bnRpbWUvVGVtcG9yYWxQbGFpblllYXJNb250aFBy
b3RvdHlwZS5jcHAKICQoUFJPSkVDVF9ESVIpL3J1bnRpbWUvVGVtcG9yYWxUaW1lWm9uZUNvbnN0
cnVjdG9yLmNwcAogJChQUk9KRUNUX0RJUikvcnVudGltZS9UZW1wb3JhbFRpbWVab25lUHJvdG90
eXBlLmNwcAogJChQUk9KRUNUX0RJUikvdWNkL0Nhc2VGb2xkaW5nLnR4dApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0Cmlu
ZGV4IGIyM2JkZWEzNDA5YS4uZTc0ZmYwYjUyMmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC04NCw4ICs4
NCw2IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29y
ZS9UZW1wb3JhbFBsYWluTW9udGhEYXlDb25zdHJ1CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUvVGVtcG9yYWxQbGFpbk1vbnRoRGF5UHJvdG90eXBl
Lmx1dC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENv
cmUvVGVtcG9yYWxQbGFpblRpbWVDb25zdHJ1Y3Rvci5sdXQuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlL1RlbXBvcmFsUGxhaW5UaW1lUHJvdG90
eXBlLmx1dC5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlw
dENvcmUvVGVtcG9yYWxQbGFpblllYXJNb250aENvbnN0cnVjdG9yLmx1dC5oCi0kKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUvVGVtcG9yYWxQbGFpblll
YXJNb250aFByb3RvdHlwZS5sdXQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL0phdmFTY3JpcHRDb3JlL1RlbXBvcmFsVGltZVpvbmVDb25zdHJ1Y3Rvci5sdXQuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlL1RlbXBvcmFs
VGltZVpvbmVQcm90b3R5cGUubHV0LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9KYXZhU2NyaXB0Q29yZS9Vbmljb2RlUGF0dGVyblRhYmxlcy5oCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDc2NTc2ZmVjODEyMi4uZTc0MTVhYmI3
ZjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMjIz
LDggKzIyMyw2IEBAIE9CSkVDVF9MVVRfSEVBREVSUyA9IFwKICAgICBUZW1wb3JhbFBsYWluTW9u
dGhEYXlQcm90b3R5cGUubHV0LmggXAogICAgIFRlbXBvcmFsUGxhaW5UaW1lQ29uc3RydWN0b3Iu
bHV0LmggXAogICAgIFRlbXBvcmFsUGxhaW5UaW1lUHJvdG90eXBlLmx1dC5oIFwKLSAgICBUZW1w
b3JhbFBsYWluWWVhck1vbnRoQ29uc3RydWN0b3IubHV0LmggXAotICAgIFRlbXBvcmFsUGxhaW5Z
ZWFyTW9udGhQcm90b3R5cGUubHV0LmggXAogICAgIFRlbXBvcmFsVGltZVpvbmVDb25zdHJ1Y3Rv
ci5sdXQuaCBcCiAgICAgVGVtcG9yYWxUaW1lWm9uZVByb3RvdHlwZS5sdXQuaCBcCiAgICAgV2Vi
QXNzZW1ibHlBcnJheUNvbnN0cnVjdG9yLmx1dC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4
dAppbmRleCBiZTVkM2U5MmI4MzYuLjVmNWYxMDkzYTg2NCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3Vy
Y2VzLnR4dApAQCAtMTA5Niw5ICsxMDk2LDYgQEAgcnVudGltZS9UZW1wb3JhbFBsYWluTW9udGhE
YXlQcm90b3R5cGUuY3BwCiBydW50aW1lL1RlbXBvcmFsUGxhaW5UaW1lLmNwcAogcnVudGltZS9U
ZW1wb3JhbFBsYWluVGltZUNvbnN0cnVjdG9yLmNwcAogcnVudGltZS9UZW1wb3JhbFBsYWluVGlt
ZVByb3RvdHlwZS5jcHAKLXJ1bnRpbWUvVGVtcG9yYWxQbGFpblllYXJNb250aC5jcHAKLXJ1bnRp
bWUvVGVtcG9yYWxQbGFpblllYXJNb250aENvbnN0cnVjdG9yLmNwcAotcnVudGltZS9UZW1wb3Jh
bFBsYWluWWVhck1vbnRoUHJvdG90eXBlLmNwcAogcnVudGltZS9UZW1wb3JhbFRpbWVab25lLmNw
cAogcnVudGltZS9UZW1wb3JhbFRpbWVab25lQ29uc3RydWN0b3IuY3BwCiBydW50aW1lL1RlbXBv
cmFsVGltZVpvbmVQcm90b3R5cGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9JU084NjAxLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JU084
NjAxLmgKaW5kZXggZWUwYjQ2YWY0N2M4Li40YzQ2NjU0OTM4ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lTTzg2MDEuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JU084NjAxLmgKQEAgLTI1MywyMyArMjUzLDYgQEAgY29uc3RleHByIGJv
b2wgaXNZZWFyV2l0aGluTGltaXRzKGRvdWJsZSB5ZWFyKQogICAgIHJldHVybiB5ZWFyID49IG1p
blllYXIgJiYgeWVhciA8PSBtYXhZZWFyOwogfQogCi1jb25zdGV4cHIgYm9vbCBpc1llYXJXaXRo
aW5MaW1pdHMoaW50MzJfdCB5ZWFyKQotewotICAgIHJldHVybiB5ZWFyID49IG1pblllYXIgJiYg
eWVhciA8PSBtYXhZZWFyOwotfQotCi0vLyBodHRwczovL3RjMzkuZXMvcHJvcG9zYWwtdGVtcG9y
YWwvI3NlYy10ZW1wb3JhbC1pc295ZWFybW9udGh3aXRoaW5saW1pdHMKLWNvbnN0ZXhwciBib29s
IGlzWWVhck1vbnRoV2l0aGluTGltaXRzKGludDMyX3QgeWVhciwgaW50MzJfdCBtb250aCkKLXsK
LSAgICBpZiAoIWlzWWVhcldpdGhpbkxpbWl0cyh5ZWFyKSkKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIGlmICh5ZWFyID09IG1pblllYXIgJiYgbW9udGggPCA0KQotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgaWYgKHllYXIgPT0gbWF4WWVhciAmJiBtb250aCA+IDkpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogLy8gTm90ZSB0aGF0IFBsYWluRGF0
ZSBkb2VzIG5vdCBpbmNsdWRlIHdlZWsgdW5pdC4KIC8vIHllYXIgY2FuIGJlIG5lZ2F0aXZlLiBB
bmQgbW9udGggYW5kIGRheSBzdGFydHMgd2l0aCAxLgogY2xhc3MgUGxhaW5EYXRlIHsKQEAgLTMx
NCwzMyArMjk3LDE3IEBAIHN0YXRpY19hc3NlcnQoc2l6ZW9mKFBsYWluRGF0ZSkgPT0gc2l6ZW9m
KGludDMyX3QpKTsKIHVzaW5nIFRpbWVab25lID0gVmFyaWFudDxUaW1lWm9uZUlELCBpbnQ2NF90
PjsKIAogY2xhc3MgUGxhaW5ZZWFyTW9udGggZmluYWwgewotICAgIFdURl9NQUtFX1RaT05FX0FM
TE9DQVRFRChQbGFpblllYXJNb250aCk7CiBwdWJsaWM6Ci0gICAgY29uc3RleHByIFBsYWluWWVh
ck1vbnRoKCkKLSAgICAgICAgOiBtX2lzb1BsYWluRGF0ZSgwLCAxLCAxKQotICAgIHsKLSAgICB9
Ci0KLSAgICBjb25zdGV4cHIgUGxhaW5ZZWFyTW9udGgoaW50MzJfdCB5ZWFyLCB1bnNpZ25lZCBt
b250aCkKLSAgICAgICAgOiBtX2lzb1BsYWluRGF0ZSh5ZWFyLCBtb250aCwgMSkKLSAgICB7Ci0g
ICAgfQotCi0gICAgY29uc3RleHByIFBsYWluWWVhck1vbnRoKFBsYWluRGF0ZSYmIGQpCi0gICAg
ICAgIDogbV9pc29QbGFpbkRhdGUoZCkKKyAgICAvLyBPdXQtb2YtcmFuZ2UgeWVhcnMgcmVwcmVz
ZW50ZWQgYnkgb3V0T2ZSYW5nZVllYXIsIGFzIHdpdGggUGxhaW5EYXRlCisgICAgaW50MzJfdCB5
ZWFyIDogMjE7CisgICAgaW50MzJfdCBtb250aCA6IDU7CisgICAgUGxhaW5ZZWFyTW9udGgoaW50
MzJfdCB5LCBpbnQzMl90IG0pCisgICAgICAgIDogeWVhcih5KSwgbW9udGgobSkKICAgICB7Cisg
ICAgICAgIEFTU0VSVChpc1llYXJXaXRoaW5MaW1pdHMoeWVhcikgfHwgeWVhciA9PSBvdXRPZlJh
bmdlWWVhcik7CiAgICAgfQotCi0gICAgZnJpZW5kIGJvb2wgb3BlcmF0b3I9PShjb25zdCBQbGFp
blllYXJNb250aCYsIGNvbnN0IFBsYWluWWVhck1vbnRoJikgPSBkZWZhdWx0OwotCi0gICAgaW50
MzJfdCB5ZWFyKCkgY29uc3QgeyByZXR1cm4gbV9pc29QbGFpbkRhdGUueWVhcigpOyB9Ci0gICAg
dWludDhfdCBtb250aCgpIGNvbnN0IHsgcmV0dXJuIG1faXNvUGxhaW5EYXRlLm1vbnRoKCk7IH0K
LQotICAgIGNvbnN0IFBsYWluRGF0ZSYgaXNvUGxhaW5EYXRlKCkgY29uc3QgeyByZXR1cm4gbV9p
c29QbGFpbkRhdGU7IH0KLXByaXZhdGU6Ci0gICAgUGxhaW5EYXRlIG1faXNvUGxhaW5EYXRlOwog
fTsKLXN0YXRpY19hc3NlcnQoc2l6ZW9mKFBsYWluWWVhck1vbnRoKSA9PSBzaXplb2YoUGxhaW5E
YXRlKSk7CitzdGF0aWNfYXNzZXJ0KHNpemVvZihQbGFpblllYXJNb250aCkgPD0gc2l6ZW9mKGlu
dDMyX3QpKTsKIAogY2xhc3MgUGxhaW5Nb250aERheSB7CiAgICAgV1RGX01BS0VfVFpPTkVfQUxM
T0NBVEVEKFBsYWluTW9udGhEYXkpOwpAQCAtMzY5LDcgKzMzNiw2IEBAIHB1YmxpYzoKIHByaXZh
dGU6CiAgICAgUGxhaW5EYXRlIG1faXNvUGxhaW5EYXRlOwogfTsKLXN0YXRpY19hc3NlcnQoc2l6
ZW9mKFBsYWluWWVhck1vbnRoKSA9PSBzaXplb2YoUGxhaW5EYXRlKSk7CiAKIC8vIGh0dHBzOi8v
dGMzOS5lcy9wcm9wb3NhbC10ZW1wb3JhbC8jc2VjLXRlbXBvcmFsLXBhcnNldGVtcG9yYWx0aW1l
em9uZXN0cmluZwogLy8gUmVjb3JkIHsgW1taXV0sIFtbT2Zmc2V0U3RyaW5nXV0sIFtbTmFtZV1d
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNw
cAppbmRleCAzZTdkNzBmYzEzZWUuLmFkMzkxOTE3MGQyMiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtMjczLDggKzI3Myw2IEBA
CiAjaW5jbHVkZSAiVGVtcG9yYWxQbGFpbk1vbnRoRGF5UHJvdG90eXBlLmgiCiAjaW5jbHVkZSAi
VGVtcG9yYWxQbGFpblRpbWUuaCIKICNpbmNsdWRlICJUZW1wb3JhbFBsYWluVGltZVByb3RvdHlw
ZS5oIgotI2luY2x1ZGUgIlRlbXBvcmFsUGxhaW5ZZWFyTW9udGguaCIKLSNpbmNsdWRlICJUZW1w
b3JhbFBsYWluWWVhck1vbnRoUHJvdG90eXBlLmgiCiAjaW5jbHVkZSAiVGVtcG9yYWxUaW1lWm9u
ZS5oIgogI2luY2x1ZGUgIlRlbXBvcmFsVGltZVpvbmVQcm90b3R5cGUuaCIKICNpbmNsdWRlICJW
TVRyYXBzSW5saW5lcy5oIgpAQCAtMTcyNiwxMyArMTcyNCw2IEBAIGNhcGl0YWxOYW1lICMjIENv
bnN0cnVjdG9yKiBsb3dlck5hbWUgIyMgQ29uc3RydWN0b3IgPSBmZWF0dXJlRmxhZyA/IGNhcGl0
YWxOYW1lCiAgICAgICAgICAgICAgICAgaW5pdC5zZXQoVGVtcG9yYWxQbGFpblRpbWU6OmNyZWF0
ZVN0cnVjdHVyZShpbml0LnZtLCBnbG9iYWxPYmplY3QsIHBsYWluVGltZVByb3RvdHlwZSkpOwog
ICAgICAgICAgICAgfSk7CiAKLSAgICAgICAgbV9wbGFpblllYXJNb250aFN0cnVjdHVyZS5pbml0
TGF0ZXIoCi0gICAgICAgICAgICBbXSAoY29uc3QgSW5pdGlhbGl6ZXI8U3RydWN0dXJlPiYgaW5p
dCkgewotICAgICAgICAgICAgICAgIGF1dG8qIGdsb2JhbE9iamVjdCA9IGpzQ2FzdDxKU0dsb2Jh
bE9iamVjdCo+KGluaXQub3duZXIpOwotICAgICAgICAgICAgICAgIGF1dG8qIHBsYWluWWVhck1v
bnRoUHJvdG90eXBlID0gVGVtcG9yYWxQbGFpblllYXJNb250aFByb3RvdHlwZTo6Y3JlYXRlKGlu
aXQudm0sIGdsb2JhbE9iamVjdCwgVGVtcG9yYWxQbGFpblllYXJNb250aFByb3RvdHlwZTo6Y3Jl
YXRlU3RydWN0dXJlKGluaXQudm0sIGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5vYmplY3RQ
cm90b3R5cGUoKSkpOwotICAgICAgICAgICAgICAgIGluaXQuc2V0KFRlbXBvcmFsUGxhaW5ZZWFy
TW9udGg6OmNyZWF0ZVN0cnVjdHVyZShpbml0LnZtLCBnbG9iYWxPYmplY3QsIHBsYWluWWVhck1v
bnRoUHJvdG90eXBlKSk7Ci0gICAgICAgICAgICB9KTsKLQogICAgICAgICBtX3RpbWVab25lU3Ry
dWN0dXJlLmluaXRMYXRlcigKICAgICAgICAgICAgIFtdIChjb25zdCBJbml0aWFsaXplcjxTdHJ1
Y3R1cmU+JiBpbml0KSB7CiAgICAgICAgICAgICAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCA9IGpzQ2FzdDxKU0dsb2JhbE9iamVjdCo+KGluaXQub3duZXIpOwpAQCAtMjg5NCw3ICsy
ODg1LDYgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6dmlzaXRDaGlsZHJlbkltcGwoSlNDZWxsKiBj
ZWxsLCBWaXNpdG9yJiB2aXNpdG9yKQogICAgIHRoaXNPYmplY3QtPm1fcGxhaW5EYXRlVGltZVN0
cnVjdHVyZS52aXNpdCh2aXNpdG9yKTsKICAgICB0aGlzT2JqZWN0LT5tX3BsYWluTW9udGhEYXlT
dHJ1Y3R1cmUudmlzaXQodmlzaXRvcik7CiAgICAgdGhpc09iamVjdC0+bV9wbGFpblRpbWVTdHJ1
Y3R1cmUudmlzaXQodmlzaXRvcik7Ci0gICAgdGhpc09iamVjdC0+bV9wbGFpblllYXJNb250aFN0
cnVjdHVyZS52aXNpdCh2aXNpdG9yKTsKICAgICB0aGlzT2JqZWN0LT5tX3RpbWVab25lU3RydWN0
dXJlLnZpc2l0KHZpc2l0b3IpOwogCiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9u
dWxsR2V0dGVyRnVuY3Rpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmgKaW5kZXggY2Y4YWRiYjY2MTBhLi42YzFiMDI0YWQ5OTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMjc4LDcg
KzI3OCw2IEBAIHB1YmxpYzoKICAgICBMYXp5UHJvcGVydHk8SlNHbG9iYWxPYmplY3QsIFN0cnVj
dHVyZT4gbV9wbGFpbkRhdGVUaW1lU3RydWN0dXJlOwogICAgIExhenlQcm9wZXJ0eTxKU0dsb2Jh
bE9iamVjdCwgU3RydWN0dXJlPiBtX3BsYWluTW9udGhEYXlTdHJ1Y3R1cmU7CiAgICAgTGF6eVBy
b3BlcnR5PEpTR2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmU+IG1fcGxhaW5UaW1lU3RydWN0dXJlOwot
ICAgIExhenlQcm9wZXJ0eTxKU0dsb2JhbE9iamVjdCwgU3RydWN0dXJlPiBtX3BsYWluWWVhck1v
bnRoU3RydWN0dXJlOwogICAgIExhenlQcm9wZXJ0eTxKU0dsb2JhbE9iamVjdCwgU3RydWN0dXJl
PiBtX3RpbWVab25lU3RydWN0dXJlOwogCiAgICAgV3JpdGVCYXJyaWVyPE51bGxHZXR0ZXJGdW5j
dGlvbj4gbV9udWxsR2V0dGVyRnVuY3Rpb247CkBAIC05NzUsNyArOTc0LDYgQEAgcHVibGljOgog
ICAgIFN0cnVjdHVyZSogcGxhaW5EYXRlVGltZVN0cnVjdHVyZSgpIHsgcmV0dXJuIG1fcGxhaW5E
YXRlVGltZVN0cnVjdHVyZS5nZXQodGhpcyk7IH0KICAgICBTdHJ1Y3R1cmUqIHBsYWluTW9udGhE
YXlTdHJ1Y3R1cmUoKSB7IHJldHVybiBtX3BsYWluTW9udGhEYXlTdHJ1Y3R1cmUuZ2V0KHRoaXMp
OyB9CiAgICAgU3RydWN0dXJlKiBwbGFpblRpbWVTdHJ1Y3R1cmUoKSB7IHJldHVybiBtX3BsYWlu
VGltZVN0cnVjdHVyZS5nZXQodGhpcyk7IH0KLSAgICBTdHJ1Y3R1cmUqIHBsYWluWWVhck1vbnRo
U3RydWN0dXJlKCkgeyByZXR1cm4gbV9wbGFpblllYXJNb250aFN0cnVjdHVyZS5nZXQodGhpcyk7
IH0KICAgICBTdHJ1Y3R1cmUqIHRpbWVab25lU3RydWN0dXJlKCkgeyByZXR1cm4gbV90aW1lWm9u
ZVN0cnVjdHVyZS5nZXQodGhpcyk7IH0KIAogICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgc2V0
SW5zcGVjdGFibGUoYm9vbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9UZW1wb3JhbENhbGVuZGFyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1RlbXBvcmFsQ2FsZW5kYXIuY3BwCmluZGV4IGViN2U4NWI5MzJiNi4uNGVmN2I2NzEyMmVlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UZW1wb3JhbENhbGVuZGFy
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UZW1wb3JhbENhbGVuZGFy
LmNwcApAQCAtMzMwLDE5ICszMzAsOCBAQCBJU084NjAxOjpQbGFpbkRhdGUgVGVtcG9yYWxDYWxl
bmRhcjo6aXNvRGF0ZUZyb21GaWVsZHMoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iagogICAgICAg
ICBkYXkgPSBzdGQ6Om1pbjx1bnNpZ25lZD4oZGF5LCBJU084NjAxOjpkYXlzSW5Nb250aCh5ZWFy
LCBtb250aCkpOwogICAgIH0KIAotICAgIGF1dG8gcGxhaW5EYXRlID0gVGVtcG9yYWxQbGFpbkRh
dGU6OnRvUGxhaW5EYXRlKGdsb2JhbE9iamVjdCwgSVNPODYwMTo6RHVyYXRpb24oeWVhciwgbW9u
dGgsIDAsIGRheSwgMCwgMCwgMCwgMCwgMCwgMCkpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
c2NvcGUsIHsgfSk7Ci0KLSAgICBib29sIHZhbGlkID0gdHJ1ZTsKLSAgICBzd2l0Y2ggKGZvcm1h
dCkgewotICAgIGNhc2UgVGVtcG9yYWxEYXRlRm9ybWF0OjpZZWFyTW9udGg6Ci0gICAgICAgIHZh
bGlkID0gSVNPODYwMTo6aXNZZWFyTW9udGhXaXRoaW5MaW1pdHMocGxhaW5EYXRlLnllYXIoKSwg
cGxhaW5EYXRlLm1vbnRoKCkpOwotICAgICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAg
ICB2YWxpZCA9IElTTzg2MDE6OmlzRGF0ZVRpbWVXaXRoaW5MaW1pdHMocGxhaW5EYXRlLnllYXIo
KSwgcGxhaW5EYXRlLm1vbnRoKCksIHBsYWluRGF0ZS5kYXkoKSwgMTIsIDAsIDAsIDAsIDAsIDAp
OwotICAgICAgICBicmVhazsKLSAgICB9Ci0KKyAgICBhdXRvIHBsYWluRGF0ZSA9IElTTzg2MDE6
OlBsYWluRGF0ZSh5ZWFyLCBtb250aCwgZGF5KTsKKyAgICBib29sIHZhbGlkID0gSVNPODYwMTo6
aXNEYXRlVGltZVdpdGhpbkxpbWl0cyhwbGFpbkRhdGUueWVhcigpLCBwbGFpbkRhdGUubW9udGgo
KSwgcGxhaW5EYXRlLmRheSgpLCAxMiwgMCwgMCwgMCwgMCwgMCk7CiAgICAgaWYgKCF2YWxpZCkg
W1t1bmxpa2VseV1dIHsKICAgICAgICAgdGhyb3dSYW5nZUVycm9yKGdsb2JhbE9iamVjdCwgc2Nv
cGUsICJkYXRlIHRpbWUgaXMgb3V0IG9mIHJhbmdlIG9mIEVDTUFTY3JpcHQgcmVwcmVzZW50YXRp
b24iX3MpOwogICAgICAgICByZXR1cm4geyB9OwpAQCAtNDEyLDcgKzQwMSw3IEBAIElTTzg2MDE6
OlBsYWluRGF0ZSBUZW1wb3JhbENhbGVuZGFyOjppc29EYXRlQWRkKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIGNvCiAgICAgZG91YmxlIG1vbnRocyA9IHBsYWluRGF0ZS5tb250aCgpICsg
ZHVyYXRpb24ubW9udGhzKCk7CiAgICAgZG91YmxlIGRheXMgPSBwbGFpbkRhdGUuZGF5KCk7CiAg
ICAgSVNPODYwMTo6UGxhaW5ZZWFyTW9udGggaW50ZXJtZWRpYXRlID0gYmFsYW5jZUlTT1llYXJN
b250aCh5ZWFycywgbW9udGhzKTsKLSAgICBzdGQ6Om9wdGlvbmFsPElTTzg2MDE6OlBsYWluRGF0
ZT4gaW50ZXJtZWRpYXRlMSA9IFRlbXBvcmFsRHVyYXRpb246OnJlZ3VsYXRlSVNPRGF0ZShpbnRl
cm1lZGlhdGUueWVhcigpLCBpbnRlcm1lZGlhdGUubW9udGgoKSwgZGF5cywgb3ZlcmZsb3cpOwor
ICAgIHN0ZDo6b3B0aW9uYWw8SVNPODYwMTo6UGxhaW5EYXRlPiBpbnRlcm1lZGlhdGUxID0gVGVt
cG9yYWxEdXJhdGlvbjo6cmVndWxhdGVJU09EYXRlKGludGVybWVkaWF0ZS55ZWFyLCBpbnRlcm1l
ZGlhdGUubW9udGgsIGRheXMsIG92ZXJmbG93KTsKICAgICBpZiAoIWludGVybWVkaWF0ZTEpIHsK
ICAgICAgICAgdGhyb3dSYW5nZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJkYXRlIHRpbWUg
aXMgb3V0IG9mIHJhbmdlIG9mIEVDTUFTY3JpcHQgcmVwcmVzZW50YXRpb24iX3MpOwogICAgICAg
ICByZXR1cm4geyB9OwpAQCAtNTE3LDEwICs1MDYsMTAgQEAgSVNPODYwMTo6RHVyYXRpb24gVGVt
cG9yYWxDYWxlbmRhcjo6Y2FsZW5kYXJEYXRlVW50aWwoY29uc3QgSVNPODYwMTo6UGxhaW5EYXRl
JgogCiAgICAgICAgIGF1dG8gY2FuZGlkYXRlTW9udGhzID0gc2lnbjsKICAgICAgICAgYXV0byBp
bnRlcm1lZGlhdGUgPSBiYWxhbmNlSVNPWWVhck1vbnRoKG9uZS55ZWFyKCkgKyB5ZWFycywgb25l
Lm1vbnRoKCkgKyBjYW5kaWRhdGVNb250aHMpOwotICAgICAgICB3aGlsZSAoIWlzb0RhdGVTdXJw
YXNzZXMoc2lnbiwgaW50ZXJtZWRpYXRlLnllYXIoKSwgaW50ZXJtZWRpYXRlLm1vbnRoKCksIG9u
ZS5kYXkoKSwgdHdvKSkgeworICAgICAgICB3aGlsZSAoIWlzb0RhdGVTdXJwYXNzZXMoc2lnbiwg
aW50ZXJtZWRpYXRlLnllYXIsIGludGVybWVkaWF0ZS5tb250aCwgb25lLmRheSgpLCB0d28pKSB7
CiAgICAgICAgICAgICBtb250aHMgPSBjYW5kaWRhdGVNb250aHM7CiAgICAgICAgICAgICBjYW5k
aWRhdGVNb250aHMgKz0gc2lnbjsKLSAgICAgICAgICAgIGludGVybWVkaWF0ZSA9IGJhbGFuY2VJ
U09ZZWFyTW9udGgoaW50ZXJtZWRpYXRlLnllYXIoKSwgaW50ZXJtZWRpYXRlLm1vbnRoKCkgKyBz
aWduKTsKKyAgICAgICAgICAgIGludGVybWVkaWF0ZSA9IGJhbGFuY2VJU09ZZWFyTW9udGgoaW50
ZXJtZWRpYXRlLnllYXIsIGludGVybWVkaWF0ZS5tb250aCArIHNpZ24pOwogICAgICAgICB9CiAK
ICAgICAgICAgaWYgKGxhcmdlc3RVbml0ID09IFRlbXBvcmFsVW5pdDo6TW9udGgpIHsKQEAgLTUz
MCw3ICs1MTksNyBAQCBJU084NjAxOjpEdXJhdGlvbiBUZW1wb3JhbENhbGVuZGFyOjpjYWxlbmRh
ckRhdGVVbnRpbChjb25zdCBJU084NjAxOjpQbGFpbkRhdGUmCiAgICAgfQogCiAgICAgYXV0byBp
bnRlcm1lZGlhdGUgPSBiYWxhbmNlSVNPWWVhck1vbnRoKG9uZS55ZWFyKCkgKyB5ZWFycywgb25l
Lm1vbnRoKCkgKyBtb250aHMpOwotICAgIGF1dG8gY29uc3RyYWluZWQgPSBUZW1wb3JhbER1cmF0
aW9uOjpyZWd1bGF0ZUlTT0RhdGUoaW50ZXJtZWRpYXRlLnllYXIoKSwgaW50ZXJtZWRpYXRlLm1v
bnRoKCksIG9uZS5kYXkoKSwgVGVtcG9yYWxPdmVyZmxvdzo6Q29uc3RyYWluKTsKKyAgICBhdXRv
IGNvbnN0cmFpbmVkID0gVGVtcG9yYWxEdXJhdGlvbjo6cmVndWxhdGVJU09EYXRlKGludGVybWVk
aWF0ZS55ZWFyLCBpbnRlcm1lZGlhdGUubW9udGgsIG9uZS5kYXkoKSwgVGVtcG9yYWxPdmVyZmxv
dzo6Q29uc3RyYWluKTsKICAgICBBU1NFUlQoY29uc3RyYWluZWQpOyAvLyByZWd1bGF0ZUlTT0Rh
dGUoKSBzaG91bGQgc3VjY2VlZCwgYmVjYXVzZSB0aGUgb3ZlcmZsb3cgbW9kZSBpcyBDb25zdHJh
aW4KIAogICAgIGRvdWJsZSB3ZWVrcyA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9UZW1wb3JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9UZW1wb3JhbE9iamVjdC5jcHAKaW5kZXggNzFiMmFiMTUwOWIyLi5hNzE5MDA1Y2Qz
ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1RlbXBvcmFsT2Jq
ZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UZW1wb3JhbE9iamVj
dC5jcHAKQEAgLTQ3LDkgKzQ3LDYgQEAKICNpbmNsdWRlICJUZW1wb3JhbFBsYWluVGltZS5oIgog
I2luY2x1ZGUgIlRlbXBvcmFsUGxhaW5UaW1lQ29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJUZW1w
b3JhbFBsYWluVGltZVByb3RvdHlwZS5oIgotI2luY2x1ZGUgIlRlbXBvcmFsUGxhaW5ZZWFyTW9u
dGguaCIKLSNpbmNsdWRlICJUZW1wb3JhbFBsYWluWWVhck1vbnRoQ29uc3RydWN0b3IuaCIKLSNp
bmNsdWRlICJUZW1wb3JhbFBsYWluWWVhck1vbnRoUHJvdG90eXBlLmgiCiAjaW5jbHVkZSAiVGVt
cG9yYWxUaW1lWm9uZUNvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiVGVtcG9yYWxUaW1lWm9uZVBy
b3RvdHlwZS5oIgogI2luY2x1ZGUgPHd0Zi9JbnQxMjguaD4KQEAgLTExOCwxMyArMTE1LDYgQEAg
c3RhdGljIEpTVmFsdWUgY3JlYXRlUGxhaW5UaW1lQ29uc3RydWN0b3IoVk0mIHZtLCBKU09iamVj
dCogb2JqZWN0KQogICAgIHJldHVybiBUZW1wb3JhbFBsYWluVGltZUNvbnN0cnVjdG9yOjpjcmVh
dGUodm0sIFRlbXBvcmFsUGxhaW5UaW1lQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSh2bSwg
Z2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPmZ1bmN0aW9uUHJvdG90eXBlKCkpLCBqc0Nhc3Q8
VGVtcG9yYWxQbGFpblRpbWVQcm90b3R5cGUqPihnbG9iYWxPYmplY3QtPnBsYWluVGltZVN0cnVj
dHVyZSgpLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKSkpOwogfQogCi1zdGF0aWMgSlNWYWx1ZSBj
cmVhdGVQbGFpblllYXJNb250aENvbnN0cnVjdG9yKFZNJiB2bSwgSlNPYmplY3QqIG9iamVjdCkK
LXsKLSAgICBUZW1wb3JhbE9iamVjdCogdGVtcG9yYWxPYmplY3QgPSBqc0Nhc3Q8VGVtcG9yYWxP
YmplY3QqPihvYmplY3QpOwotICAgIGF1dG8qIGdsb2JhbE9iamVjdCA9IHRlbXBvcmFsT2JqZWN0
LT5nbG9iYWxPYmplY3QoKTsKLSAgICByZXR1cm4gVGVtcG9yYWxQbGFpblllYXJNb250aENvbnN0
cnVjdG9yOjpjcmVhdGUodm0sIFRlbXBvcmFsUGxhaW5ZZWFyTW9udGhDb25zdHJ1Y3Rvcjo6Y3Jl
YXRlU3RydWN0dXJlKHZtLCBnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+ZnVuY3Rpb25Qcm90
b3R5cGUoKSksIGpzQ2FzdDxUZW1wb3JhbFBsYWluWWVhck1vbnRoUHJvdG90eXBlKj4oZ2xvYmFs
T2JqZWN0LT5wbGFpblllYXJNb250aFN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qo
KSkpOwotfQotCiBzdGF0aWMgSlNWYWx1ZSBjcmVhdGVUaW1lWm9uZUNvbnN0cnVjdG9yKFZNJiB2
bSwgSlNPYmplY3QqIG9iamVjdCkKIHsKICAgICBUZW1wb3JhbE9iamVjdCogdGVtcG9yYWxPYmpl
Y3QgPSBqc0Nhc3Q8VGVtcG9yYWxPYmplY3QqPihvYmplY3QpOwpAQCAtMTQ4LDcgKzEzOCw2IEBA
IG5hbWVzcGFjZSBKU0MgewogICBQbGFpbkRhdGVUaW1lICBjcmVhdGVQbGFpbkRhdGVUaW1lQ29u
c3RydWN0b3IgIERvbnRFbnVtfFByb3BlcnR5Q2FsbGJhY2sKICAgUGxhaW5UaW1lICAgICAgY3Jl
YXRlUGxhaW5UaW1lQ29uc3RydWN0b3IgICAgICBEb250RW51bXxQcm9wZXJ0eUNhbGxiYWNrCiAg
IFBsYWluTW9udGhEYXkgIGNyZWF0ZVBsYWluTW9udGhEYXlDb25zdHJ1Y3RvciAgRG9udEVudW18
UHJvcGVydHlDYWxsYmFjawotICBQbGFpblllYXJNb250aCBjcmVhdGVQbGFpblllYXJNb250aENv
bnN0cnVjdG9yIERvbnRFbnVtfFByb3BlcnR5Q2FsbGJhY2sKICAgVGltZVpvbmUgICAgICAgY3Jl
YXRlVGltZVpvbmVDb25zdHJ1Y3RvciAgICAgICBEb250RW51bXxQcm9wZXJ0eUNhbGxiYWNrCiBA
ZW5kCiAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVGVtcG9y
YWxQbGFpblllYXJNb250aC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UZW1w
b3JhbFBsYWluWWVhck1vbnRoLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjNh
ZDY1OWMwN2JmLi4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVGVtcG9yYWxQbGFpblllYXJNb250aC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMDQgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjIgU29ueSBJbnRlcmFjdGl2ZSBFbnRlcnRhaW5t
ZW50IEluYy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgot
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlRlbXBv
cmFsUGxhaW5ZZWFyTW9udGguaCIKLQotI2luY2x1ZGUgIkludGxPYmplY3RJbmxpbmVzLmgiCi0j
aW5jbHVkZSAiSlNDSW5saW5lcy5oIgotI2luY2x1ZGUgIkxhenlQcm9wZXJ0eUlubGluZXMuaCIK
LSNpbmNsdWRlICJUZW1wb3JhbER1cmF0aW9uLmgiCi0jaW5jbHVkZSAiVGVtcG9yYWxQbGFpbkRh
dGVUaW1lLmgiCi0jaW5jbHVkZSAiVk1UcmFwc0lubGluZXMuaCIKLQotbmFtZXNwYWNlIEpTQyB7
Ci0KLWNvbnN0IENsYXNzSW5mbyBUZW1wb3JhbFBsYWluWWVhck1vbnRoOjpzX2luZm8gPSB7ICJP
YmplY3QiX3MsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0Rf
VEFCTEUoVGVtcG9yYWxQbGFpblllYXJNb250aCkgfTsKLQotVGVtcG9yYWxQbGFpblllYXJNb250
aCogVGVtcG9yYWxQbGFpblllYXJNb250aDo6Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIElTTzg2MDE6OlBsYWluWWVhck1vbnRoJiYgcGxhaW5ZZWFyTW9udGgpCi17Ci0gICAg
YXV0byogb2JqZWN0ID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8VGVtcG9yYWxQbGFpblll
YXJNb250aD4odm0pKSBUZW1wb3JhbFBsYWluWWVhck1vbnRoKHZtLCBzdHJ1Y3R1cmUsIFdURk1v
dmUocGxhaW5ZZWFyTW9udGgpKTsKLSAgICBvYmplY3QtPmZpbmlzaENyZWF0aW9uKHZtKTsKLSAg
ICByZXR1cm4gb2JqZWN0OwotfQotCi1TdHJ1Y3R1cmUqIFRlbXBvcmFsUGxhaW5ZZWFyTW9udGg6
OmNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
VmFsdWUgcHJvdG90eXBlKQotewotICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xv
YmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdz
KSwgaW5mbygpKTsKLX0KLQotVGVtcG9yYWxQbGFpblllYXJNb250aDo6VGVtcG9yYWxQbGFpblll
YXJNb250aChWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBJU084NjAxOjpQbGFpblllYXJN
b250aCYmIHBsYWluWWVhck1vbnRoKQotICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQotICAgICwg
bV9wbGFpblllYXJNb250aChXVEZNb3ZlKHBsYWluWWVhck1vbnRoKSkKLXsKLX0KLQotdm9pZCBU
ZW1wb3JhbFBsYWluWWVhck1vbnRoOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCi17Ci0gICAgQmFz
ZTo6ZmluaXNoQ3JlYXRpb24odm0pOwotICAgIEFTU0VSVChpbmhlcml0cyhpbmZvKCkpKTsKLSAg
ICBtX2NhbGVuZGFyLmluaXRMYXRlcigKLSAgICAgICAgW10gKGNvbnN0IGF1dG8mIGluaXQpIHsK
LSAgICAgICAgICAgIFZNJiB2bSA9IGluaXQudm07Ci0gICAgICAgICAgICBhdXRvKiBwbGFpblll
YXJNb250aCA9IGpzQ2FzdDxUZW1wb3JhbFBsYWluWWVhck1vbnRoKj4oaW5pdC5vd25lcik7Ci0g
ICAgICAgICAgICBhdXRvKiBnbG9iYWxPYmplY3QgPSBwbGFpblllYXJNb250aC0+Z2xvYmFsT2Jq
ZWN0KCk7Ci0gICAgICAgICAgICBhdXRvKiBjYWxlbmRhciA9IFRlbXBvcmFsQ2FsZW5kYXI6OmNy
ZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LT5jYWxlbmRhclN0cnVjdHVyZSgpLCBpc284NjAxQ2FsZW5k
YXJJRCgpKTsKLSAgICAgICAgICAgIGluaXQuc2V0KGNhbGVuZGFyKTsKLSAgICAgICAgfSk7Ci19
Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFZpc2l0b3I+Ci12b2lkIFRlbXBvcmFsUGxhaW5ZZWFyTW9u
dGg6OnZpc2l0Q2hpbGRyZW5JbXBsKEpTQ2VsbCogY2VsbCwgVmlzaXRvciYgdmlzaXRvcikKLXsK
LSAgICBCYXNlOjp2aXNpdENoaWxkcmVuKGNlbGwsIHZpc2l0b3IpOwotCi0gICAgYXV0byogdGhp
c09iamVjdCA9IGpzQ2FzdDxUZW1wb3JhbFBsYWluWWVhck1vbnRoKj4oY2VsbCk7Ci0gICAgdGhp
c09iamVjdC0+bV9jYWxlbmRhci52aXNpdCh2aXNpdG9yKTsKLX0KLQotREVGSU5FX1ZJU0lUX0NI
SUxEUkVOKFRlbXBvcmFsUGxhaW5ZZWFyTW9udGgpOwotCi0vLyBDcmVhdGVUZW1wb3JhbFllYXJN
b250aCAoIGlzb0RhdGUsIGNhbGVuZGFyIFssIG5ld1RhcmdldCBdICkKLS8vIGh0dHBzOi8vdGMz
OS5lcy9wcm9wb3NhbC10ZW1wb3JhbC8jc2VjLXRlbXBvcmFsLWNyZWF0ZXRlbXBvcmFseWVhcm1v
bnRoCi1UZW1wb3JhbFBsYWluWWVhck1vbnRoKiBUZW1wb3JhbFBsYWluWWVhck1vbnRoOjp0cnlD
cmVhdGVJZlZhbGlkKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBJU084NjAxOjpQbGFpbkRhdGUmJiBwbGFpbkRhdGUpCi17Ci0gICAgVk0mIHZtID0g
Z2xvYmFsT2JqZWN0LT52bSgpOwotICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BF
KHZtKTsKLQotICAgIGlmICghSVNPODYwMTo6aXNZZWFyTW9udGhXaXRoaW5MaW1pdHMocGxhaW5E
YXRlLnllYXIoKSwgcGxhaW5EYXRlLm1vbnRoKCkpKSBbW3VubGlrZWx5XV0gewotICAgICAgICB0
aHJvd1JhbmdlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgIlBsYWluWWVhck1vbnRoIGlzIG91
dCBvZiByYW5nZSBvZiBFQ01BU2NyaXB0IHJlcHJlc2VudGF0aW9uIl9zKTsKLSAgICAgICAgcmV0
dXJuIHsgfTsKLSAgICB9Ci0KLSAgICByZXR1cm4gVGVtcG9yYWxQbGFpblllYXJNb250aDo6Y3Jl
YXRlKHZtLCBzdHJ1Y3R1cmUsIElTTzg2MDE6OlBsYWluWWVhck1vbnRoKFdURk1vdmUocGxhaW5E
YXRlKSkpOwotfQotCi1TdHJpbmcgVGVtcG9yYWxQbGFpblllYXJNb250aDo6bW9udGhDb2RlKCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gSVNPODYwMTo6bW9udGhDb2RlKG1fcGxhaW5ZZWFyTW9udGgu
bW9udGgoKSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVGVtcG9yYWxQbGFpblllYXJNb250aC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVGVtcG9yYWxQbGFpblllYXJNb250aC5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAzZGFlNmZhNDdjYjcuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UZW1wb3JhbFBsYWluWWVhck1vbnRoLmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw3MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxl
IEluYy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlICJJU084NjAxLmgiCi0j
aW5jbHVkZSAiTGF6eVByb3BlcnR5LmgiCi0jaW5jbHVkZSAiVGVtcG9yYWxDYWxlbmRhci5oIgot
Ci1uYW1lc3BhY2UgSlNDIHsKLQotY2xhc3MgVGVtcG9yYWxQbGFpblllYXJNb250aCBmaW5hbCA6
IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKLXB1YmxpYzoKLSAgICB1c2luZyBCYXNlID0gSlNO
b25GaW5hbE9iamVjdDsKLQotICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFj
ZUFjY2VzcyBtb2RlPgotICAgIHN0YXRpYyBHQ0NsaWVudDo6SXNvU3Vic3BhY2UqIHN1YnNwYWNl
Rm9yKFZNJiB2bSkKLSAgICB7Ci0gICAgICAgIHJldHVybiB2bS50ZW1wb3JhbFBsYWluRGF0ZVNw
YWNlPG1vZGU+KCk7Ci0gICAgfQotCi0gICAgc3RhdGljIFRlbXBvcmFsUGxhaW5ZZWFyTW9udGgq
IGNyZWF0ZShWTSYsIFN0cnVjdHVyZSosIElTTzg2MDE6OlBsYWluWWVhck1vbnRoJiYpOwotICAg
IHN0YXRpYyBUZW1wb3JhbFBsYWluWWVhck1vbnRoKiB0cnlDcmVhdGVJZlZhbGlkKEpTR2xvYmFs
T2JqZWN0KiwgU3RydWN0dXJlKiwgSVNPODYwMTo6UGxhaW5EYXRlJiYpOwotICAgIHN0YXRpYyBT
dHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7
Ci0KLSAgICBERUNMQVJFX0lORk87Ci0KLSAgICBUZW1wb3JhbENhbGVuZGFyKiBjYWxlbmRhcigp
IHsgcmV0dXJuIG1fY2FsZW5kYXIuZ2V0KHRoaXMpOyB9Ci0gICAgSVNPODYwMTo6UGxhaW5ZZWFy
TW9udGggcGxhaW5ZZWFyTW9udGgoKSBjb25zdCB7IHJldHVybiBtX3BsYWluWWVhck1vbnRoOyB9
Ci0KLSNkZWZpbmUgSlNDX0RFRklORV9URU1QT1JBTF9QTEFJTl9ZRUFSX01PTlRIX0ZJRUxEKG5h
bWUsIGNhcGl0YWxpemVkTmFtZSkgXAotICAgIGRlY2x0eXBlKGF1dG8pIG5hbWUoKSBjb25zdCB7
IHJldHVybiBtX3BsYWluWWVhck1vbnRoLm5hbWUoKTsgfQotICAgIEpTQ19URU1QT1JBTF9QTEFJ
Tl9ZRUFSX01PTlRIX1VOSVRTKEpTQ19ERUZJTkVfVEVNUE9SQUxfUExBSU5fWUVBUl9NT05USF9G
SUVMRCk7Ci0jdW5kZWYgSlNDX0RFRklORV9URU1QT1JBTF9QTEFJTl9ZRUFSX01PTlRIX0ZJRUxE
Ci0KLSAgICBTdHJpbmcgbW9udGhDb2RlKCkgY29uc3Q7Ci0KLSAgICBERUNMQVJFX1ZJU0lUX0NI
SUxEUkVOOwotCi1wcml2YXRlOgotICAgIFRlbXBvcmFsUGxhaW5ZZWFyTW9udGgoVk0mLCBTdHJ1
Y3R1cmUqLCBJU084NjAxOjpQbGFpblllYXJNb250aCYmKTsKLSAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKFZNJik7Ci0KLSAgICBJU084NjAxOjpQbGFpblllYXJNb250aCBtX3BsYWluWWVhck1vbnRo
OwotICAgIExhenlQcm9wZXJ0eTxUZW1wb3JhbFBsYWluWWVhck1vbnRoLCBUZW1wb3JhbENhbGVu
ZGFyPiBtX2NhbGVuZGFyOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UZW1wb3JhbFBsYWluWWVhck1vbnRoQ29uc3Ry
dWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVGVtcG9yYWxQbGFpblll
YXJNb250aENvbnN0cnVjdG9yLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDE1
YjdiODExMTYxLi4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVGVtcG9yYWxQbGFpblllYXJNb250aENvbnN0cnVjdG9yLmNwcAorKysgL2Rldi9udWxsCkBA
IC0xLDEzNSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlRlbXBvcmFsUGxhaW5ZZWFy
TW9udGhDb25zdHJ1Y3Rvci5oIgotCi0jaW5jbHVkZSAiSW50bE9iamVjdElubGluZXMuaCIKLSNp
bmNsdWRlICJKU0NJbmxpbmVzLmgiCi0jaW5jbHVkZSAiVGVtcG9yYWxQbGFpblllYXJNb250aC5o
IgotI2luY2x1ZGUgIlRlbXBvcmFsUGxhaW5ZZWFyTW9udGhQcm90b3R5cGUuaCIKLQotbmFtZXNw
YWNlIEpTQyB7Ci0KLVNUQVRJQ19BU1NFUlRfSVNfVFJJVklBTExZX0RFU1RSVUNUSUJMRShUZW1w
b3JhbFBsYWluWWVhck1vbnRoQ29uc3RydWN0b3IpOwotCi19Ci0KLSNpbmNsdWRlICJUZW1wb3Jh
bFBsYWluWWVhck1vbnRoQ29uc3RydWN0b3IubHV0LmgiCi0KLW5hbWVzcGFjZSBKU0MgewotCi1j
b25zdCBDbGFzc0luZm8gVGVtcG9yYWxQbGFpblllYXJNb250aENvbnN0cnVjdG9yOjpzX2luZm8g
PSB7ICJGdW5jdGlvbiJfcywgJkJhc2U6OnNfaW5mbywgJnRlbXBvcmFsUGxhaW5ZZWFyTW9udGhD
b25zdHJ1Y3RvclRhYmxlLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFRlbXBvcmFsUGxh
aW5ZZWFyTW9udGhDb25zdHJ1Y3RvcikgfTsKLQotLyogU291cmNlIGZvciBUZW1wb3JhbFBsYWlu
WWVhck1vbnRoQ29uc3RydWN0b3IubHV0LmgKLUBiZWdpbiB0ZW1wb3JhbFBsYWluWWVhck1vbnRo
Q29uc3RydWN0b3JUYWJsZQotQGVuZAotKi8KLQotVGVtcG9yYWxQbGFpblllYXJNb250aENvbnN0
cnVjdG9yKiBUZW1wb3JhbFBsYWluWWVhck1vbnRoQ29uc3RydWN0b3I6OmNyZWF0ZShWTSYgdm0s
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBUZW1wb3JhbFBsYWluWWVhck1vbnRoUHJvdG90eXBlKiBw
bGFpbkRhdGVQcm90b3R5cGUpCi17Ci0gICAgYXV0byogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51
bGwsIGFsbG9jYXRlQ2VsbDxUZW1wb3JhbFBsYWluWWVhck1vbnRoQ29uc3RydWN0b3I+KHZtKSkg
VGVtcG9yYWxQbGFpblllYXJNb250aENvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwotICAgIGNv
bnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgcGxhaW5EYXRlUHJvdG90eXBlKTsKLSAgICBy
ZXR1cm4gY29uc3RydWN0b3I7Ci19Ci0KLVN0cnVjdHVyZSogVGVtcG9yYWxQbGFpblllYXJNb250
aENvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKLXsKLSAgICByZXR1cm4gU3RydWN0dXJlOjpj
cmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhJbnRlcm5hbEZ1bmN0
aW9uVHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwotfQotCi1zdGF0aWMgSlNDX0RFQ0xB
UkVfSE9TVF9GVU5DVElPTihjYWxsVGVtcG9yYWxQbGFpblllYXJNb250aCk7Ci1zdGF0aWMgSlND
X0RFQ0xBUkVfSE9TVF9GVU5DVElPTihjb25zdHJ1Y3RUZW1wb3JhbFBsYWluWWVhck1vbnRoKTsK
LQotVGVtcG9yYWxQbGFpblllYXJNb250aENvbnN0cnVjdG9yOjpUZW1wb3JhbFBsYWluWWVhck1v
bnRoQ29uc3RydWN0b3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAgICA6IEJhc2Uo
dm0sIHN0cnVjdHVyZSwgY2FsbFRlbXBvcmFsUGxhaW5ZZWFyTW9udGgsIGNvbnN0cnVjdFRlbXBv
cmFsUGxhaW5ZZWFyTW9udGgpCi17Ci19Ci0KLXZvaWQgVGVtcG9yYWxQbGFpblllYXJNb250aENv
bnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFRlbXBvcmFsUGxhaW5ZZWFyTW9udGhQ
cm90b3R5cGUqIHBsYWluWWVhck1vbnRoUHJvdG90eXBlKQotewotICAgIEJhc2U6OmZpbmlzaENy
ZWF0aW9uKHZtLCAyLCAiUGxhaW5ZZWFyTW9udGgiX3MsIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpX
aXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRp
b24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgcGxhaW5ZZWFyTW9udGhQcm90b3R5
cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250
RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKLSAgICBwbGFpblllYXJNb250
aFByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFt
ZXMtPmNvbnN0cnVjdG9yLCB0aGlzLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKSk7Ci19Ci0KLUpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihjb25zdHJ1
Y3RUZW1wb3JhbFBsYWluWWVhck1vbnRoLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
Q2FsbEZyYW1lKiBjYWxsRnJhbWUpKQotewotICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0o
KTsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0KLSAgICBKU09i
amVjdCogbmV3VGFyZ2V0ID0gYXNPYmplY3QoY2FsbEZyYW1lLT5uZXdUYXJnZXQoKSk7Ci0gICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBKU0NfR0VUX0RFUklWRURfU1RSVUNUVVJFKHZtLCBwbGFp
blllYXJNb250aFN0cnVjdHVyZSwgbmV3VGFyZ2V0LCBjYWxsRnJhbWUtPmpzQ2FsbGVlKCkpOwot
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7Ci0KLSAgICBkb3VibGUgaXNvWWVh
ciA9IDA7Ci0gICAgZG91YmxlIGlzb01vbnRoID0gMTsKLSAgICBhdXRvIGFyZ3VtZW50Q291bnQg
PSBjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKTsKLQotICAgIGlmIChhcmd1bWVudENvdW50ID4g
MCkgewotICAgICAgICBhdXRvIHZhbHVlID0gY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgw
KS50b0ludGVnZXJXaXRoVHJ1bmNhdGlvbihnbG9iYWxPYmplY3QpOwotICAgICAgICBpZiAoIXN0
ZDo6aXNmaW5pdGUodmFsdWUpKSBbW3VubGlrZWx5XV0KLSAgICAgICAgICAgIHJldHVybiB0aHJv
d1ZNUmFuZ2VFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAiVGVtcG9yYWwuUGxhaW5ZZWFyTW9u
dGggeWVhciBwcm9wZXJ0eSBtdXN0IGJlIGZpbml0ZSJfcyk7Ci0gICAgICAgIGlzb1llYXIgPSB2
YWx1ZTsKLSAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKLSAgICB9Ci0K
LSAgICBpZiAoYXJndW1lbnRDb3VudCA+IDEpIHsKLSAgICAgICAgYXV0byB2YWx1ZSA9IGNhbGxG
cmFtZS0+dW5jaGVja2VkQXJndW1lbnQoMSkudG9JbnRlZ2VyV2l0aFRydW5jYXRpb24oZ2xvYmFs
T2JqZWN0KTsKLSAgICAgICAgaWYgKCFzdGQ6OmlzZmluaXRlKHZhbHVlKSkgW1t1bmxpa2VseV1d
Ci0gICAgICAgICAgICByZXR1cm4gdGhyb3dWTVJhbmdlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29w
ZSwgIlRlbXBvcmFsLlBsYWluWWVhck1vbnRoIG1vbnRoIHByb3BlcnR5IG11c3QgYmUgZmluaXRl
Il9zKTsKLSAgICAgICAgaXNvTW9udGggPSB2YWx1ZTsKLSAgICAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgeyB9KTsKLSAgICB9Ci0KLSAgICBpZiAoYXJndW1lbnRDb3VudCA8IDIpIFtb
dW5saWtlbHldXQotICAgICAgICByZXR1cm4gdGhyb3dWTVJhbmdlRXJyb3IoZ2xvYmFsT2JqZWN0
LCBzY29wZSwgIlRlbXBvcmFsLlBsYWluWWVhck1vbnRoIHJlcXVpcmVzIGF0IGxlYXN0IHR3byBh
cmd1bWVudHMiX3MpOwotCi0gICAgLy8gQXJndW1lbnQgMiBpcyBjYWxlbmRhciAtLSBpZ25vcmVk
IGZvciBub3cuIEZJWE1FCi0KLSAgICBkb3VibGUgcmVmZXJlbmNlRGF5ID0gMTsKLSAgICBpZiAo
YXJndW1lbnRDb3VudCA+IDMpIHsKLSAgICAgICAgYXV0byB2YWx1ZSA9IGNhbGxGcmFtZS0+dW5j
aGVja2VkQXJndW1lbnQoMykudG9JbnRlZ2VyV2l0aFRydW5jYXRpb24oZ2xvYmFsT2JqZWN0KTsK
LSAgICAgICAgaWYgKCFzdGQ6OmlzZmluaXRlKHZhbHVlKSkgW1t1bmxpa2VseV1dCi0gICAgICAg
ICAgICByZXR1cm4gdGhyb3dWTVJhbmdlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgIlRlbXBv
cmFsLlBsYWluWWVhck1vbnRoIHJlZmVyZW5jZSBkYXkgbXVzdCBiZSBmaW5pdGUiX3MpOwotICAg
ICAgICByZWZlcmVuY2VEYXkgPSB2YWx1ZTsKLSAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgeyB9KTsKLSAgICB9Ci0KLSAgICBpZiAoIUlTTzg2MDE6OmlzVmFsaWRJU09EYXRlKGlz
b1llYXIsIGlzb01vbnRoLCByZWZlcmVuY2VEYXkpKSBbW3VubGlrZWx5XV0gewotICAgICAgICBy
ZXR1cm4gdGhyb3dWTVJhbmdlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgIlRlbXBvcmFsLlBs
YWluWWVhck1vbnRoOiBub3QgYSB2YWxpZCBJU08gZGF0ZSJfcyk7Ci0gICAgfTsKLSAgICBSRUxF
QVNFX0FORF9SRVRVUk4oc2NvcGUsIEpTVmFsdWU6OmVuY29kZShUZW1wb3JhbFBsYWluWWVhck1v
bnRoOjp0cnlDcmVhdGVJZlZhbGlkKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBJU084NjAxOjpQ
bGFpbkRhdGUoaXNvWWVhciwgaXNvTW9udGgsIHJlZmVyZW5jZURheSkpKSk7Ci19Ci0KLUpTQ19E
RUZJTkVfSE9TVF9GVU5DVElPTihjYWxsVGVtcG9yYWxQbGFpblllYXJNb250aCwgKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSopKQotewotICAgIFZNJiB2bSA9IGdsb2Jh
bE9iamVjdC0+dm0oKTsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7
Ci0KLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93Q29uc3RydWN0b3JDYW5ub3RCZUNh
bGxlZEFzRnVuY3Rpb25UeXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgIlBsYWluWWVhck1v
bnRoIl9zKSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVGVtcG9yYWxQbGFpblllYXJNb250aENvbnN0cnVjdG9yLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UZW1wb3JhbFBsYWluWWVhck1vbnRoQ29u
c3RydWN0b3IuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTRkZDU1OGYyOWFlLi4w
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVGVtcG9yYWxQ
bGFpblllYXJNb250aENvbnN0cnVjdG9yLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdt
YSBvbmNlCi0KLSNpbmNsdWRlICJJbnRlcm5hbEZ1bmN0aW9uLmgiCi0KLW5hbWVzcGFjZSBKU0Mg
ewotCi1jbGFzcyBUZW1wb3JhbFBsYWluWWVhck1vbnRoUHJvdG90eXBlOwotCi1jbGFzcyBUZW1w
b3JhbFBsYWluWWVhck1vbnRoQ29uc3RydWN0b3IgZmluYWwgOiBwdWJsaWMgSW50ZXJuYWxGdW5j
dGlvbiB7Ci1wdWJsaWM6Ci0gICAgdXNpbmcgQmFzZSA9IEludGVybmFsRnVuY3Rpb247Ci0gICAg
c3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVy
ZUZsYWdzIHwgSGFzU3RhdGljUHJvcGVydHlUYWJsZTsKLQotICAgIHN0YXRpYyBUZW1wb3JhbFBs
YWluWWVhck1vbnRoQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYsIFN0cnVjdHVyZSosIFRlbXBvcmFs
UGxhaW5ZZWFyTW9udGhQcm90b3R5cGUqKTsKLSAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVT
dHJ1Y3R1cmUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUpOwotCi0gICAgREVDTEFSRV9J
TkZPOwotCi1wcml2YXRlOgotICAgIFRlbXBvcmFsUGxhaW5ZZWFyTW9udGhDb25zdHJ1Y3RvcihW
TSYsIFN0cnVjdHVyZSopOwotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBUZW1wb3JhbFBs
YWluWWVhck1vbnRoUHJvdG90eXBlKik7Ci19OwotU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0Vf
U0hBUkFCTEUoVGVtcG9yYWxQbGFpblllYXJNb250aENvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0
aW9uKTsKLQotfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9UZW1wb3JhbFBsYWluWWVhck1vbnRoUHJvdG90eXBlLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1RlbXBvcmFsUGxhaW5ZZWFyTW9udGhQcm90b3R5cGUu
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MGExNmYzMTcxMTcuLjAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UZW1wb3JhbFBsYWluWWVh
ck1vbnRoUHJvdG90eXBlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE5MiArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4KLSAqIENvcHlyaWdodCAoQykgMjAyMiBT
b255IEludGVyYWN0aXZlIEVudGVydGFpbm1lbnQgSW5jLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAi
Y29uZmlnLmgiCi0jaW5jbHVkZSAiVGVtcG9yYWxQbGFpblllYXJNb250aFByb3RvdHlwZS5oIgot
Ci0jaW5jbHVkZSAiSW50bE9iamVjdElubGluZXMuaCIKLSNpbmNsdWRlICJKU0NJbmxpbmVzLmgi
Ci0jaW5jbHVkZSAiT2JqZWN0Q29uc3RydWN0b3IuaCIKLSNpbmNsdWRlICJUZW1wb3JhbER1cmF0
aW9uLmgiCi0jaW5jbHVkZSAiVGVtcG9yYWxQbGFpbkRhdGUuaCIKLSNpbmNsdWRlICJUZW1wb3Jh
bFBsYWluRGF0ZVRpbWUuaCIKLSNpbmNsdWRlICJUZW1wb3JhbFBsYWluVGltZS5oIgotI2luY2x1
ZGUgIlRlbXBvcmFsUGxhaW5ZZWFyTW9udGguaCIKLQotbmFtZXNwYWNlIEpTQyB7Ci0KLXN0YXRp
YyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKHRlbXBvcmFsUGxhaW5ZZWFyTW9udGhQcm90b3R5
cGVHZXR0ZXJDYWxlbmRhcklkKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKHRl
bXBvcmFsUGxhaW5ZZWFyTW9udGhQcm90b3R5cGVHZXR0ZXJZZWFyKTsKLXN0YXRpYyBKU0NfREVD
TEFSRV9DVVNUT01fR0VUVEVSKHRlbXBvcmFsUGxhaW5ZZWFyTW9udGhQcm90b3R5cGVHZXR0ZXJN
b250aCk7Ci1zdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUih0ZW1wb3JhbFBsYWluWWVh
ck1vbnRoUHJvdG90eXBlR2V0dGVyTW9udGhDb2RlKTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNU
T01fR0VUVEVSKHRlbXBvcmFsUGxhaW5ZZWFyTW9udGhQcm90b3R5cGVHZXR0ZXJEYXlzSW5Nb250
aCk7Ci1zdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUih0ZW1wb3JhbFBsYWluWWVhck1v
bnRoUHJvdG90eXBlR2V0dGVyRGF5c0luWWVhcik7Ci1zdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9N
X0dFVFRFUih0ZW1wb3JhbFBsYWluWWVhck1vbnRoUHJvdG90eXBlR2V0dGVyTW9udGhzSW5ZZWFy
KTsKLXN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKHRlbXBvcmFsUGxhaW5ZZWFyTW9u
dGhQcm90b3R5cGVHZXR0ZXJJbkxlYXBZZWFyKTsKLQotfQotCi0jaW5jbHVkZSAiVGVtcG9yYWxQ
bGFpblllYXJNb250aFByb3RvdHlwZS5sdXQuaCIKLQotbmFtZXNwYWNlIEpTQyB7Ci0KLWNvbnN0
IENsYXNzSW5mbyBUZW1wb3JhbFBsYWluWWVhck1vbnRoUHJvdG90eXBlOjpzX2luZm8gPSB7ICJU
ZW1wb3JhbC5QbGFpblllYXJNb250aCJfcywgJkJhc2U6OnNfaW5mbywgJnBsYWluWWVhck1vbnRo
UHJvdG90eXBlVGFibGUsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoVGVtcG9yYWxQbGFp
blllYXJNb250aFByb3RvdHlwZSkgfTsKLQotLyogU291cmNlIGZvciBUZW1wb3JhbFBsYWluWWVh
ck1vbnRoUHJvdG90eXBlLmx1dC5oCi1AYmVnaW4gcGxhaW5ZZWFyTW9udGhQcm90b3R5cGVUYWJs
ZQotICBjYWxlbmRhcklkICAgICAgIHRlbXBvcmFsUGxhaW5ZZWFyTW9udGhQcm90b3R5cGVHZXR0
ZXJDYWxlbmRhcklkICAgICAgIERvbnRFbnVtfFJlYWRPbmx5fEN1c3RvbUFjY2Vzc29yCi0gIHll
YXIgICAgICAgICAgICAgdGVtcG9yYWxQbGFpblllYXJNb250aFByb3RvdHlwZUdldHRlclllYXIg
ICAgICAgICAgICAgRG9udEVudW18UmVhZE9ubHl8Q3VzdG9tQWNjZXNzb3IKLSAgbW9udGggICAg
ICAgICAgICB0ZW1wb3JhbFBsYWluWWVhck1vbnRoUHJvdG90eXBlR2V0dGVyTW9udGggICAgICAg
ICAgICBEb250RW51bXxSZWFkT25seXxDdXN0b21BY2Nlc3NvcgotICBtb250aENvZGUgICAgICAg
IHRlbXBvcmFsUGxhaW5ZZWFyTW9udGhQcm90b3R5cGVHZXR0ZXJNb250aENvZGUgICAgICAgIERv
bnRFbnVtfFJlYWRPbmx5fEN1c3RvbUFjY2Vzc29yCi0gIGRheXNJbk1vbnRoICAgICAgdGVtcG9y
YWxQbGFpblllYXJNb250aFByb3RvdHlwZUdldHRlckRheXNJbk1vbnRoICAgICAgRG9udEVudW18
UmVhZE9ubHl8Q3VzdG9tQWNjZXNzb3IKLSAgZGF5c0luWWVhciAgICAgICB0ZW1wb3JhbFBsYWlu
WWVhck1vbnRoUHJvdG90eXBlR2V0dGVyRGF5c0luWWVhciAgICAgICBEb250RW51bXxSZWFkT25s
eXxDdXN0b21BY2Nlc3NvcgotICBtb250aHNJblllYXIgICAgIHRlbXBvcmFsUGxhaW5ZZWFyTW9u
dGhQcm90b3R5cGVHZXR0ZXJNb250aHNJblllYXIgICAgIERvbnRFbnVtfFJlYWRPbmx5fEN1c3Rv
bUFjY2Vzc29yCi0gIGluTGVhcFllYXIgICAgICAgdGVtcG9yYWxQbGFpblllYXJNb250aFByb3Rv
dHlwZUdldHRlckluTGVhcFllYXIgICAgICAgRG9udEVudW18UmVhZE9ubHl8Q3VzdG9tQWNjZXNz
b3IKLUBlbmQKLSovCi0KLVRlbXBvcmFsUGxhaW5ZZWFyTW9udGhQcm90b3R5cGUqIFRlbXBvcmFs
UGxhaW5ZZWFyTW9udGhQcm90b3R5cGU6OmNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQotewotICAgIGF1dG8qIHByb3RvdHlw
ZSA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFRlbXBvcmFsUGxhaW5ZZWFyTW9udGhQcm90
b3R5cGU+KHZtKSkgVGVtcG9yYWxQbGFpblllYXJNb250aFByb3RvdHlwZSh2bSwgc3RydWN0dXJl
KTsKLSAgICBwcm90b3R5cGUtPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QpOwotICAg
IHJldHVybiBwcm90b3R5cGU7Ci19Ci0KLVN0cnVjdHVyZSogVGVtcG9yYWxQbGFpblllYXJNb250
aFByb3RvdHlwZTo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCi17Ci0gICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3Jl
YXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3Ry
dWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwotfQotCi1UZW1wb3JhbFBsYWluWWVhck1vbnRoUHJvdG90
eXBlOjpUZW1wb3JhbFBsYWluWWVhck1vbnRoUHJvdG90eXBlKFZNJiB2bSwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUpCi0gICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCi17Ci19Ci0KLXZvaWQgVGVtcG9y
YWxQbGFpblllYXJNb250aFByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2Jh
bE9iamVjdCopCi17Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwotICAgIEFTU0VSVChp
bmhlcml0cyhpbmZvKCkpKTsKLSAgICBKU0NfVE9fU1RSSU5HX1RBR19XSVRIT1VUX1RSQU5TSVRJ
T04oKTsKLX0KLQotSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKHRlbXBvcmFsUGxhaW5ZZWFyTW9u
dGhQcm90b3R5cGVHZXR0ZXJDYWxlbmRhcklkLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQotewotICAgIFZNJiB2
bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19T
Q09QRSh2bSk7Ci0KLSAgICBhdXRvKiB5ZWFyTW9udGggPSBqc0R5bmFtaWNDYXN0PFRlbXBvcmFs
UGxhaW5ZZWFyTW9udGgqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7Ci0gICAgaWYgKCF5
ZWFyTW9udGgpIFtbdW5saWtlbHldXQotICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihn
bG9iYWxPYmplY3QsIHNjb3BlLCAiVGVtcG9yYWwuUGxhaW5ZZWFyTW9udGgucHJvdG90eXBlLmNh
bGVuZGFyIGNhbGxlZCBvbiB2YWx1ZSB0aGF0J3Mgbm90IGEgUGxhaW5ZZWFyTW9udGgiX3MpOwot
Ci0gICAgLy8gRklYTUU6IHdoZW4gY2FsZW5kYXJzIGFyZSBzdXBwb3J0ZWQsIGdldCB0aGUgc3Ry
aW5nIElEIG9mIHRoZSBjYWxlbmRhcgotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNTdHJp
bmcodm0sIFN0cmluZzo6ZnJvbUxhdGluMSgiaXNvODYwMSIpKSk7Ci19Ci0KLUpTQ19ERUZJTkVf
Q1VTVE9NX0dFVFRFUih0ZW1wb3JhbFBsYWluWWVhck1vbnRoUHJvdG90eXBlR2V0dGVyWWVhciwg
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
UHJvcGVydHlOYW1lKSkKLXsKLSAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAg
YXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotCi0gICAgYXV0byogeWVhck1v
bnRoID0ganNEeW5hbWljQ2FzdDxUZW1wb3JhbFBsYWluWWVhck1vbnRoKj4oSlNWYWx1ZTo6ZGVj
b2RlKHRoaXNWYWx1ZSkpOwotICAgIGlmICgheWVhck1vbnRoKSBbW3VubGlrZWx5XV0KLSAgICAg
ICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgIlRlbXBvcmFs
LlBsYWluWWVhck1vbnRoLnByb3RvdHlwZS55ZWFyIGNhbGxlZCBvbiB2YWx1ZSB0aGF0J3Mgbm90
IGEgUGxhaW5ZZWFyTW9udGgiX3MpOwotCi0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051
bWJlcih5ZWFyTW9udGgtPnllYXIoKSkpOwotfQotCi1KU0NfREVGSU5FX0NVU1RPTV9HRVRURVIo
dGVtcG9yYWxQbGFpblllYXJNb250aFByb3RvdHlwZUdldHRlck1vbnRoLCAoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUp
KQotewotICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKLSAgICBhdXRvIHNjb3BlID0g
REVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0KLSAgICBhdXRvKiB5ZWFyTW9udGggPSBqc0R5bmFt
aWNDYXN0PFRlbXBvcmFsUGxhaW5ZZWFyTW9udGgqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVl
KSk7Ci0gICAgaWYgKCF5ZWFyTW9udGgpIFtbdW5saWtlbHldXQotICAgICAgICByZXR1cm4gdGhy
b3dWTVR5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAiVGVtcG9yYWwuUGxhaW5ZZWFyTW9u
dGgucHJvdG90eXBlLm1vbnRoIGNhbGxlZCBvbiB2YWx1ZSB0aGF0J3Mgbm90IGEgUGxhaW5ZZWFy
TW9udGgiX3MpOwotCi0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcih5ZWFyTW9u
dGgtPm1vbnRoKCkpKTsKLX0KLQotSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKHRlbXBvcmFsUGxh
aW5ZZWFyTW9udGhQcm90b3R5cGVHZXR0ZXJNb250aENvZGUsIChKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCi17Ci0g
ICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwotICAgIGF1dG8gc2NvcGUgPSBERUNMQVJF
X1RIUk9XX1NDT1BFKHZtKTsKLQotICAgIGF1dG8qIHllYXJNb250aCA9IGpzRHluYW1pY0Nhc3Q8
VGVtcG9yYWxQbGFpblllYXJNb250aCo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKLSAg
ICBpZiAoIXllYXJNb250aCkgW1t1bmxpa2VseV1dCi0gICAgICAgIHJldHVybiB0aHJvd1ZNVHlw
ZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJUZW1wb3JhbC5QbGFpblllYXJNb250aC5wcm90
b3R5cGUubW9udGhDb2RlIGNhbGxlZCBvbiB2YWx1ZSB0aGF0J3Mgbm90IGEgUGxhaW5ZZWFyTW9u
dGgiX3MpOwotCi0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc05vbnRyaXZpYWxTdHJpbmco
dm0sIHllYXJNb250aC0+bW9udGhDb2RlKCkpKTsKLX0KLQotSlNDX0RFRklORV9DVVNUT01fR0VU
VEVSKHRlbXBvcmFsUGxhaW5ZZWFyTW9udGhQcm90b3R5cGVHZXR0ZXJEYXlzSW5Nb250aCwgKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJv
cGVydHlOYW1lKSkKLXsKLSAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0
byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotCi0gICAgYXV0byogeWVhck1vbnRo
ID0ganNEeW5hbWljQ2FzdDxUZW1wb3JhbFBsYWluWWVhck1vbnRoKj4oSlNWYWx1ZTo6ZGVjb2Rl
KHRoaXNWYWx1ZSkpOwotICAgIGlmICgheWVhck1vbnRoKSBbW3VubGlrZWx5XV0KLSAgICAgICAg
cmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgIlRlbXBvcmFsLlBs
YWluWWVhck1vbnRoLnByb3RvdHlwZS5kYXlzSW5Nb250aCBjYWxsZWQgb24gdmFsdWUgdGhhdCdz
IG5vdCBhIFBsYWluWWVhck1vbnRoIl9zKTsKLQotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNOdW1iZXIoSVNPODYwMTo6ZGF5c0luTW9udGgoeWVhck1vbnRoLT55ZWFyKCksIHllYXJNb250
aC0+bW9udGgoKSkpKTsKLX0KLQotSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKHRlbXBvcmFsUGxh
aW5ZZWFyTW9udGhQcm90b3R5cGVHZXR0ZXJEYXlzSW5ZZWFyLCAoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQotewot
ICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFS
RV9USFJPV19TQ09QRSh2bSk7Ci0KLSAgICBhdXRvKiB5ZWFyTW9udGggPSBqc0R5bmFtaWNDYXN0
PFRlbXBvcmFsUGxhaW5ZZWFyTW9udGgqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7Ci0g
ICAgaWYgKCF5ZWFyTW9udGgpIFtbdW5saWtlbHldXQotICAgICAgICByZXR1cm4gdGhyb3dWTVR5
cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAiVGVtcG9yYWwuUGxhaW5ZZWFyTW9udGgucHJv
dG90eXBlLmRheXNJblllYXIgY2FsbGVkIG9uIHZhbHVlIHRoYXQncyBub3QgYSBQbGFpblllYXJN
b250aCJfcyk7Ci0KLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGlzTGVhcFll
YXIoeWVhck1vbnRoLT55ZWFyKCkpID8gMzY2IDogMzY1KSk7Ci19Ci0KLUpTQ19ERUZJTkVfQ1VT
VE9NX0dFVFRFUih0ZW1wb3JhbFBsYWluWWVhck1vbnRoUHJvdG90eXBlR2V0dGVyTW9udGhzSW5Z
ZWFyLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBQcm9wZXJ0eU5hbWUpKQotewotICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsK
LSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0KLSAgICBhdXRvKiB5
ZWFyTW9udGggPSBqc0R5bmFtaWNDYXN0PFRlbXBvcmFsUGxhaW5ZZWFyTW9udGgqPihKU1ZhbHVl
OjpkZWNvZGUodGhpc1ZhbHVlKSk7Ci0gICAgaWYgKCF5ZWFyTW9udGgpIFtbdW5saWtlbHldXQot
ICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAiVGVt
cG9yYWwuUGxhaW5ZZWFyTW9udGgucHJvdG90eXBlLm1vbnRoc0luWWVhciBjYWxsZWQgb24gdmFs
dWUgdGhhdCdzIG5vdCBhIFBsYWluWWVhck1vbnRoIl9zKTsKLQotICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNOdW1iZXIoMTIpKTsgLy8gSVNPODYwMSBjYWxlbmRhciBhbHdheXMgcmV0dXJu
cyAxMi4KLX0KLQotSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKHRlbXBvcmFsUGxhaW5ZZWFyTW9u
dGhQcm90b3R5cGVHZXR0ZXJJbkxlYXBZZWFyLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQotewotICAgIFZNJiB2
bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19T
Q09QRSh2bSk7Ci0KLSAgICBhdXRvKiB5ZWFyTW9udGggPSBqc0R5bmFtaWNDYXN0PFRlbXBvcmFs
UGxhaW5ZZWFyTW9udGgqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7Ci0gICAgaWYgKCF5
ZWFyTW9udGgpIFtbdW5saWtlbHldXQotICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihn
bG9iYWxPYmplY3QsIHNjb3BlLCAiVGVtcG9yYWwuUGxhaW5ZZWFyTW9udGgucHJvdG90eXBlLmlu
TGVhcFllYXIgY2FsbGVkIG9uIHZhbHVlIHRoYXQncyBub3QgYSBQbGFpblllYXJNb250aCJfcyk7
Ci0KLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihpc0xlYXBZZWFyKHllYXJN
b250aC0+eWVhcigpKSkpOwotfQotCi19IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1RlbXBvcmFsUGxhaW5ZZWFyTW9udGhQcm90b3R5
cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1RlbXBvcmFsUGxhaW5ZZWFyTW9u
dGhQcm90b3R5cGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmU3ZTU1ODZiZjUz
Li4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVGVtcG9y
YWxQbGFpblllYXJNb250aFByb3RvdHlwZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSAiSlNPYmplY3QuaCIKLQot
bmFtZXNwYWNlIEpTQyB7Ci0KLWNsYXNzIFRlbXBvcmFsUGxhaW5ZZWFyTW9udGhQcm90b3R5cGUg
ZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7Ci1wdWJsaWM6Ci0gICAgdXNpbmcgQmFz
ZSA9IEpTTm9uRmluYWxPYmplY3Q7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1
Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSGFzU3RhdGljUHJvcGVydHlUYWJs
ZTsKLQotICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vzcz4KLSAg
ICBzdGF0aWMgR0NDbGllbnQ6Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCi0gICAg
ewotICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShUZW1wb3JhbFBs
YWluWWVhck1vbnRoUHJvdG90eXBlLCBCYXNlKTsKLSAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9i
amVjdFNwYWNlKCk7Ci0gICAgfQotCi0gICAgc3RhdGljIFRlbXBvcmFsUGxhaW5ZZWFyTW9udGhQ
cm90b3R5cGUqIGNyZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7Ci0gICAg
c3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBK
U1ZhbHVlKTsKLQotICAgIERFQ0xBUkVfSU5GTzsKLQotcHJpdmF0ZToKLSAgICBUZW1wb3JhbFBs
YWluWWVhck1vbnRoUHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7Ci0gICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0Kik7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBKU0MK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL3RlbXBvcmFsLXBsYWlueWVhcm1vbnRoLmpzIGIv
SlNUZXN0cy9zdHJlc3MvdGVtcG9yYWwtcGxhaW55ZWFybW9udGguanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGJmZDZkOTA2N2Q2Yi4uMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMv
c3RyZXNzL3RlbXBvcmFsLXBsYWlueWVhcm1vbnRoLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzkg
KzAsMCBAQAotLy9AIHJlcXVpcmVPcHRpb25zKCItLXVzZVRlbXBvcmFsPTEiKQotCi1mdW5jdGlv
biBzaG91bGRCZShhY3R1YWwsIGV4cGVjdGVkKSB7Ci0gICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0
ZWQpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcihgZXhwZWN0ZWQgJHtleHBlY3RlZH0gYnV0IGdv
dCAke2FjdHVhbH1gKTsKLX0KLQotZnVuY3Rpb24gc2hvdWxkVGhyb3coZnVuYywgZXJyb3JUeXBl
LCBtZXNzYWdlKSB7Ci0gICAgbGV0IGVycm9yOwotICAgIHRyeSB7Ci0gICAgICAgIGZ1bmMoKTsK
LSAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgIGVycm9yID0gZTsKLSAgICB9Ci0KLSAgICBpZiAo
IShlcnJvciBpbnN0YW5jZW9mIGVycm9yVHlwZSkpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcihg
RXhwZWN0ZWQgJHtlcnJvclR5cGUubmFtZX0hYCk7Ci0gICAgaWYgKG1lc3NhZ2UgIT09IHVuZGVm
aW5lZCkKLSAgICAgICAgc2hvdWxkQmUoU3RyaW5nKGVycm9yKSwgbWVzc2FnZSk7Ci19Ci0KLXNo
b3VsZEJlKFRlbXBvcmFsLlBsYWluWWVhck1vbnRoIGluc3RhbmNlb2YgRnVuY3Rpb24sIHRydWUp
Owotc2hvdWxkQmUoVGVtcG9yYWwuUGxhaW5ZZWFyTW9udGgubGVuZ3RoLCAyKTsKLXNob3VsZEJl
KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoVGVtcG9yYWwuUGxhaW5ZZWFyTW9udGgs
ICdwcm90b3R5cGUnKS53cml0YWJsZSwgZmFsc2UpOwotc2hvdWxkQmUoT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihUZW1wb3JhbC5QbGFpblllYXJNb250aCwgJ3Byb3RvdHlwZScpLmVu
dW1lcmFibGUsIGZhbHNlKTsKLXNob3VsZEJlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoVGVtcG9yYWwuUGxhaW5ZZWFyTW9udGgsICdwcm90b3R5cGUnKS5jb25maWd1cmFibGUsIGZh
bHNlKTsKLXNob3VsZEJlKFRlbXBvcmFsLlBsYWluWWVhck1vbnRoLnByb3RvdHlwZS5jb25zdHJ1
Y3RvciwgVGVtcG9yYWwuUGxhaW5ZZWFyTW9udGgpOwotCi1jb25zdCB5ZWFyTW9udGggPSBuZXcg
VGVtcG9yYWwuUGxhaW5ZZWFyTW9udGgoMjAyNSwgNCk7Ci0KLXsKLSAgICBzaG91bGRCZSh5ZWFy
TW9udGgueWVhciwgMjAyNSk7Ci0gICAgc2hvdWxkQmUoeWVhck1vbnRoLm1vbnRoQ29kZSwgIk0w
NCIpOwotICAgIHNob3VsZEJlKHllYXJNb250aC5kYXksIHVuZGVmaW5lZCk7Ci0gICAgc2hvdWxk
QmUoeWVhck1vbnRoLmNhbGVuZGFySWQsICJpc284NjAxIik7Ci0KLSAgICBzaG91bGRUaHJvdygo
KSA9PiBuZXcgVGVtcG9yYWwuUGxhaW5ZZWFyTW9udGgoMjc1NzYxLCAxKSwgUmFuZ2VFcnJvcik7
Ci0gICAgc2hvdWxkVGhyb3coKCkgPT4gbmV3IFRlbXBvcmFsLlBsYWluWWVhck1vbnRoKDIwMjUs
IDIwKSwgUmFuZ2VFcnJvcik7Ci19CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvY29uZmln
LnlhbWwgYi9KU1Rlc3RzL3Rlc3QyNjIvY29uZmlnLnlhbWwKaW5kZXggZWMyNTE5MThjZWEyLi5k
ZDA3MjRlOWM4OWIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi9jb25maWcueWFtbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvY29uZmlnLnlhbWwKQEAgLTE3MSw3ICsxNzEsOSBAQCBza2lwOgog
ICAgIC0gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5EYXRlL3Byb3RvdHlwZS90b1BsYWlu
WWVhck1vbnRoL25hbWUuanMKICAgICAtIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluRGF0
ZS9wcm90b3R5cGUvdG9QbGFpblllYXJNb250aC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwogICAgIC0g
dGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5EYXRlL3Byb3RvdHlwZS90b1BsYWluWWVhck1v
bnRoL3Byb3AtZGVzYy5qcworICAgIC0gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5ZZWFy
TW9udGgvYXJndW1lbnQtaW52YWxpZC5qcwogICAgIC0gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwv
UGxhaW5ZZWFyTW9udGgvYmFzaWMuanMKKyAgICAtIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1Bs
YWluWWVhck1vbnRoL2J1aWx0aW4uanMKICAgICAtIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1Bs
YWluWWVhck1vbnRoL2NvbXBhcmUvYXJndW1lbnQtY2FzdC5qcwogICAgIC0gdGVzdC9idWlsdC1p
bnMvVGVtcG9yYWwvUGxhaW5ZZWFyTW9udGgvY29tcGFyZS9hcmd1bWVudC1wcm9wZXJ0eWJhZy1j
YWxlbmRhci1pbnZhbGlkLWlzby1zdHJpbmcuanMKICAgICAtIHRlc3QvYnVpbHQtaW5zL1RlbXBv
cmFsL1BsYWluWWVhck1vbnRoL2NvbXBhcmUvYXJndW1lbnQtcHJvcGVydHliYWctY2FsZW5kYXIt
c3RyaW5nLmpzCkBAIC0yNDUsNiArMjQ3LDEzIEBAIHNraXA6CiAgICAgLSB0ZXN0L2J1aWx0LWlu
cy9UZW1wb3JhbC9QbGFpblllYXJNb250aC9mcm9tL3JlZmVyZW5jZS1kYXkuanMKICAgICAtIHRl
c3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL2Zyb20vc3ViY2xhc3NpbmctaWdu
b3JlZC5qcwogICAgIC0gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5ZZWFyTW9udGgvZnJv
bS95ZWFyLXplcm8uanMKKyAgICAtIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluWWVhck1v
bnRoL2dldC1wcm90b3R5cGUtZnJvbS1jb25zdHJ1Y3Rvci10aHJvd3MuanMKKyAgICAtIHRlc3Qv
YnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL2luZmluaXR5LXRocm93cy1yYW5nZWVy
cm9yLmpzCisgICAgLSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpblllYXJNb250aC9sZW5n
dGguanMKKyAgICAtIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL21pc3Np
bmctYXJndW1lbnRzLmpzCisgICAgLSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpblllYXJN
b250aC9uYW1lLmpzCisgICAgLSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpblllYXJNb250
aC9uZWdhdGl2ZS1pbmZpbml0eS10aHJvd3MtcmFuZ2VlcnJvci5qcworICAgIC0gdGVzdC9idWls
dC1pbnMvVGVtcG9yYWwvUGxhaW5ZZWFyTW9udGgvcHJvcC1kZXNjLmpzCiAgICAgLSB0ZXN0L2J1
aWx0LWlucy9UZW1wb3JhbC9QbGFpblllYXJNb250aC9wcm90b3R5cGUvYWRkL2FyZ3VtZW50LWR1
cmF0aW9uLW1heC5qcwogICAgIC0gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5ZZWFyTW9u
dGgvcHJvdG90eXBlL2FkZC9hcmd1bWVudC1kdXJhdGlvbi1vYmplY3QuanMKICAgICAtIHRlc3Qv
YnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3RvdHlwZS9hZGQvYXJndW1lbnQt
ZHVyYXRpb24tb3V0LW9mLXJhbmdlLmpzCkBAIC0yODAsNiArMjg5LDE1IEBAIHNraXA6CiAgICAg
LSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpblllYXJNb250aC9wcm90b3R5cGUvYWRkL3N1
YmNsYXNzaW5nLWlnbm9yZWQuanMKICAgICAtIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWlu
WWVhck1vbnRoL3Byb3RvdHlwZS9hZGQvc3VidHJhY3QtZnJvbS1sYXN0LXJlcHJlc2VudGFibGUt
bW9udGguanMKICAgICAtIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3By
b3RvdHlwZS9hZGQvdGhyb3dzLWlmLXllYXItb3V0c2lkZS12YWxpZC1pc28tcmFuZ2UuanMKKyAg
ICAtIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3RvdHlwZS9jYWxl
bmRhcklkL2JyYW5kaW5nLmpzCisgICAgLSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpblll
YXJNb250aC9wcm90b3R5cGUvY2FsZW5kYXJJZC9wcm9wLWRlc2MuanMKKyAgICAtIHRlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3RvdHlwZS9jb25zdHJ1Y3Rvci5qcwor
ICAgIC0gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5ZZWFyTW9udGgvcHJvdG90eXBlL2Rh
eXNJbk1vbnRoL2Jhc2ljLmpzCisgICAgLSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpblll
YXJNb250aC9wcm90b3R5cGUvZGF5c0luTW9udGgvYnJhbmRpbmcuanMKKyAgICAtIHRlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3RvdHlwZS9kYXlzSW5Nb250aC9wcm9w
LWRlc2MuanMKKyAgICAtIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3By
b3RvdHlwZS9kYXlzSW5ZZWFyL2Jhc2ljLmpzCisgICAgLSB0ZXN0L2J1aWx0LWlucy9UZW1wb3Jh
bC9QbGFpblllYXJNb250aC9wcm90b3R5cGUvZGF5c0luWWVhci9icmFuZGluZy5qcworICAgIC0g
dGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5ZZWFyTW9udGgvcHJvdG90eXBlL2RheXNJblll
YXIvcHJvcC1kZXNjLmpzCiAgICAgLSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpblllYXJN
b250aC9wcm90b3R5cGUvZXF1YWxzL2FyZ3VtZW50LWNhc3QuanMKICAgICAtIHRlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3RvdHlwZS9lcXVhbHMvYXJndW1lbnQtbnVt
YmVyLmpzCiAgICAgLSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpblllYXJNb250aC9wcm90
b3R5cGUvZXF1YWxzL2FyZ3VtZW50LXByb3BlcnR5YmFnLWNhbGVuZGFyLWludmFsaWQtaXNvLXN0
cmluZy5qcwpAQCAtMzA5LDYgKzMyNywxNyBAQCBza2lwOgogICAgIC0gdGVzdC9idWlsdC1pbnMv
VGVtcG9yYWwvUGxhaW5ZZWFyTW9udGgvcHJvdG90eXBlL2VxdWFscy9wcm9wLWRlc2MuanMKICAg
ICAtIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3RvdHlwZS9lcXVh
bHMvdXNlLWludGVybmFsLXNsb3RzLmpzCiAgICAgLSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Q
bGFpblllYXJNb250aC9wcm90b3R5cGUvZXF1YWxzL3llYXItemVyby5qcworICAgIC0gdGVzdC9i
dWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5ZZWFyTW9udGgvcHJvdG90eXBlL2luTGVhcFllYXIvYmFz
aWMuanMKKyAgICAtIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3Rv
dHlwZS9pbkxlYXBZZWFyL2JyYW5kaW5nLmpzCisgICAgLSB0ZXN0L2J1aWx0LWlucy9UZW1wb3Jh
bC9QbGFpblllYXJNb250aC9wcm90b3R5cGUvaW5MZWFwWWVhci9wcm9wLWRlc2MuanMKKyAgICAt
IHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3RvdHlwZS9tb250aC9i
cmFuZGluZy5qcworICAgIC0gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5ZZWFyTW9udGgv
cHJvdG90eXBlL21vbnRoQ29kZS9icmFuZGluZy5qcworICAgIC0gdGVzdC9idWlsdC1pbnMvVGVt
cG9yYWwvUGxhaW5ZZWFyTW9udGgvcHJvdG90eXBlL21vbnRoQ29kZS9wcm9wLWRlc2MuanMKKyAg
ICAtIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3RvdHlwZS9tb250
aC9wcm9wLWRlc2MuanMKKyAgICAtIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluWWVhck1v
bnRoL3Byb3RvdHlwZS9tb250aHNJblllYXIvYmFzaWMuanMKKyAgICAtIHRlc3QvYnVpbHQtaW5z
L1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3RvdHlwZS9tb250aHNJblllYXIvYnJhbmRpbmcu
anMKKyAgICAtIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3RvdHlw
ZS9tb250aHNJblllYXIvcHJvcC1kZXNjLmpzCisgICAgLSB0ZXN0L2J1aWx0LWlucy9UZW1wb3Jh
bC9QbGFpblllYXJNb250aC9wcm90b3R5cGUvcHJvcC1kZXNjLmpzCiAgICAgLSB0ZXN0L2J1aWx0
LWlucy9UZW1wb3JhbC9QbGFpblllYXJNb250aC9wcm90b3R5cGUvc2luY2UvYXJndW1lbnQtY2Fz
dGluZy5qcwogICAgIC0gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5ZZWFyTW9udGgvcHJv
dG90eXBlL3NpbmNlL2FyZ3VtZW50LW51bWJlci5qcwogICAgIC0gdGVzdC9idWlsdC1pbnMvVGVt
cG9yYWwvUGxhaW5ZZWFyTW9udGgvcHJvdG90eXBlL3NpbmNlL2FyZ3VtZW50LXByb3BlcnR5YmFn
LWNhbGVuZGFyLWludmFsaWQtaXNvLXN0cmluZy5qcwpAQCAtNDUxLDYgKzQ4MCw3IEBAIHNraXA6
CiAgICAgLSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpblllYXJNb250aC9wcm90b3R5cGUv
dG9TdHJpbmcvb3B0aW9ucy1vYmplY3QuanMKICAgICAtIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFs
L1BsYWluWWVhck1vbnRoL3Byb3RvdHlwZS90b1N0cmluZy9vcHRpb25zLXdyb25nLXR5cGUuanMK
ICAgICAtIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3RvdHlwZS90
b1N0cmluZy9wcm9wLWRlc2MuanMKKyAgICAtIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWlu
WWVhck1vbnRoL3Byb3RvdHlwZS90b1N0cmluZ1RhZy9wcm9wLWRlc2MuanMKICAgICAtIHRlc3Qv
YnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3RvdHlwZS90b1N0cmluZy95ZWFy
LWZvcm1hdC5qcwogICAgIC0gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5ZZWFyTW9udGgv
cHJvdG90eXBlL3VudGlsL2FyZ3VtZW50LWNhc3RpbmcuanMKICAgICAtIHRlc3QvYnVpbHQtaW5z
L1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3RvdHlwZS91bnRpbC9hcmd1bWVudC1udW1iZXIu
anMKQEAgLTU0OCw2ICs1NzgsOCBAQCBza2lwOgogICAgIC0gdGVzdC9idWlsdC1pbnMvVGVtcG9y
YWwvUGxhaW5ZZWFyTW9udGgvcHJvdG90eXBlL3dpdGgvb3ZlcmZsb3ctd3JvbmctdHlwZS5qcwog
ICAgIC0gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5ZZWFyTW9udGgvcHJvdG90eXBlL3dp
dGgvcHJvcC1kZXNjLmpzCiAgICAgLSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpblllYXJN
b250aC9wcm90b3R5cGUvd2l0aC9zdWJjbGFzc2luZy1pZ25vcmVkLmpzCisgICAgLSB0ZXN0L2J1
aWx0LWlucy9UZW1wb3JhbC9QbGFpblllYXJNb250aC9wcm90b3R5cGUveWVhci9icmFuZGluZy5q
cworICAgIC0gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5ZZWFyTW9udGgvcHJvdG90eXBl
L3llYXIvcHJvcC1kZXNjLmpzCiAgICAgLSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpblll
YXJNb250aC9zdWJjbGFzcy5qcwogICAgIC0gdGVzdC9pbnRsNDAyL0RhdGVUaW1lRm9ybWF0L3By
b3RvdHlwZS9mb3JtYXRSYW5nZS9mYWlscy1vbi1kaXN0aW5jdC10ZW1wb3JhbC10eXBlcy5qcwog
ICAgIC0gdGVzdC9pbnRsNDAyL0RhdGVUaW1lRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXRSYW5nZVRv
UGFydHMvZmFpbHMtb24tZGlzdGluY3QtdGVtcG9yYWwtdHlwZXMuanMKQEAgLTk1MSw0ICs5ODMs
MyBAQCBza2lwOgogICAgIC0gdGVzdC9pbnRsNDAyL0RhdGVUaW1lRm9ybWF0L3Byb3RvdHlwZS9m
b3JtYXRSYW5nZVRvUGFydHMvdGVtcG9yYWwtb2JqZWN0cy1yZXNvbHZlZC10aW1lLXpvbmUuanMK
ICAgICAtIHRlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0VG9QYXJ0
cy90ZW1wb3JhbC1vYmplY3RzLXJlc29sdmVkLXRpbWUtem9uZS5qcwogICAgIC0gdGVzdC9pbnRs
NDAyL0RhdGVUaW1lRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXQvdGVtcG9yYWwtcGxhaW5tb250aGRh
eS1mb3JtYXR0aW5nLWRhdGV0aW1lLXN0eWxlLmpzCi0gICAgLSB0ZXN0L2ludGw0MDIvRGF0ZVRp
bWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdC90ZW1wb3JhbC1wbGFpbnllYXJtb250aC1mb3JtYXR0
aW5nLWRhdGV0aW1lLXN0eWxlLmpzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sIGIvSlNUZXN0cy90ZXN0MjYy
L2V4cGVjdGF0aW9ucy55YW1sCmluZGV4IDQyMjUxY2QxYzA2Ni4uOTBmMmIwOWZjZDdkIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCkBAIC00ODIsOCArNDgyLDggQEAgdGVzdC9pbnRsNDAy
L0RhdGVUaW1lRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXQvdGVtcG9yYWwtb2JqZWN0cy1mb3JtYXQt
d2l0aC1lcmEuanMKICAgZGVmYXVsdDogJ1R5cGVFcnJvcjogVGVtcG9yYWwuUGxhaW5EYXRlLnBy
b3RvdHlwZS52YWx1ZU9mIG11c3Qgbm90IGJlIGNhbGxlZC4gVG8gY29tcGFyZSBQbGFpbkRhdGUg
dmFsdWVzLCB1c2UgVGVtcG9yYWwuUGxhaW5EYXRlLmNvbXBhcmUnCiAgIHN0cmljdCBtb2RlOiAn
VHlwZUVycm9yOiBUZW1wb3JhbC5QbGFpbkRhdGUucHJvdG90eXBlLnZhbHVlT2YgbXVzdCBub3Qg
YmUgY2FsbGVkLiBUbyBjb21wYXJlIFBsYWluRGF0ZSB2YWx1ZXMsIHVzZSBUZW1wb3JhbC5QbGFp
bkRhdGUuY29tcGFyZScKIHRlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvZm9y
bWF0L3RlbXBvcmFsLW9iamVjdHMtbm90LW92ZXJsYXBwaW5nLW9wdGlvbnMuanM6Ci0gIGRlZmF1
bHQ6ICJUeXBlRXJyb3I6IFRlbXBvcmFsLlBsYWluRGF0ZVRpbWUucHJvdG90eXBlLnZhbHVlT2Yg
bXVzdCBub3QgYmUgY2FsbGVkLiBUbyBjb21wYXJlIFBsYWluRGF0ZVRpbWUgdmFsdWVzLCB1c2Ug
VGVtcG9yYWwuUGxhaW5EYXRlVGltZS5jb21wYXJlIgotICBzdHJpY3QgbW9kZTogIlR5cGVFcnJv
cjogVGVtcG9yYWwuUGxhaW5EYXRlVGltZS5wcm90b3R5cGUudmFsdWVPZiBtdXN0IG5vdCBiZSBj
YWxsZWQuIFRvIGNvbXBhcmUgUGxhaW5EYXRlVGltZSB2YWx1ZXMsIHVzZSBUZW1wb3JhbC5QbGFp
bkRhdGVUaW1lLmNvbXBhcmUiCisgIGRlZmF1bHQ6ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBu
b3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IFRlbXBvcmFsLlBsYWluWWVhck1vbnRo
KDIwMjQsIDkpJykiCisgIHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90
IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBUZW1wb3JhbC5QbGFpblllYXJNb250aCgy
MDI0LCA5KScpIgogdGVzdC9pbnRsNDAyL0RhdGVUaW1lRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXQv
dGVtcG9yYWwtcGxhaW5kYXRlLWZvcm1hdHRpbmctZGF0ZXRpbWUtc3R5bGUuanM6CiAgIGRlZmF1
bHQ6ICdUeXBlRXJyb3I6IFRlbXBvcmFsLlBsYWluRGF0ZS5wcm90b3R5cGUudmFsdWVPZiBtdXN0
IG5vdCBiZSBjYWxsZWQuIFRvIGNvbXBhcmUgUGxhaW5EYXRlIHZhbHVlcywgdXNlIFRlbXBvcmFs
LlBsYWluRGF0ZS5jb21wYXJlJwogICBzdHJpY3QgbW9kZTogJ1R5cGVFcnJvcjogVGVtcG9yYWwu
UGxhaW5EYXRlLnByb3RvdHlwZS52YWx1ZU9mIG11c3Qgbm90IGJlIGNhbGxlZC4gVG8gY29tcGFy
ZSBQbGFpbkRhdGUgdmFsdWVzLCB1c2UgVGVtcG9yYWwuUGxhaW5EYXRlLmNvbXBhcmUnCkBAIC01
MDMsNDQgKzUwMywzNSBAQCB0ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zv
cm1hdFJhbmdlL3RlbXBvcmFsLW9iamVjdHMtZm9ybWF0LXdpdGgtZQogICBkZWZhdWx0OiAnVHlw
ZUVycm9yOiBUZW1wb3JhbC5QbGFpbkRhdGUucHJvdG90eXBlLnZhbHVlT2YgbXVzdCBub3QgYmUg
Y2FsbGVkLiBUbyBjb21wYXJlIFBsYWluRGF0ZSB2YWx1ZXMsIHVzZSBUZW1wb3JhbC5QbGFpbkRh
dGUuY29tcGFyZScKICAgc3RyaWN0IG1vZGU6ICdUeXBlRXJyb3I6IFRlbXBvcmFsLlBsYWluRGF0
ZS5wcm90b3R5cGUudmFsdWVPZiBtdXN0IG5vdCBiZSBjYWxsZWQuIFRvIGNvbXBhcmUgUGxhaW5E
YXRlIHZhbHVlcywgdXNlIFRlbXBvcmFsLlBsYWluRGF0ZS5jb21wYXJlJwogdGVzdC9pbnRsNDAy
L0RhdGVUaW1lRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXRSYW5nZS90ZW1wb3JhbC1vYmplY3RzLW5v
dC1vdmVybGFwcGluZy1vcHRpb25zLmpzOgotICBkZWZhdWx0OiAiVHlwZUVycm9yOiBUZW1wb3Jh
bC5QbGFpbkRhdGVUaW1lLnByb3RvdHlwZS52YWx1ZU9mIG11c3Qgbm90IGJlIGNhbGxlZC4gVG8g
Y29tcGFyZSBQbGFpbkRhdGVUaW1lIHZhbHVlcywgdXNlIFRlbXBvcmFsLlBsYWluRGF0ZVRpbWUu
Y29tcGFyZSIKLSAgc3RyaWN0IG1vZGU6ICJUeXBlRXJyb3I6IFRlbXBvcmFsLlBsYWluRGF0ZVRp
bWUucHJvdG90eXBlLnZhbHVlT2YgbXVzdCBub3QgYmUgY2FsbGVkLiBUbyBjb21wYXJlIFBsYWlu
RGF0ZVRpbWUgdmFsdWVzLCB1c2UgVGVtcG9yYWwuUGxhaW5EYXRlVGltZS5jb21wYXJlIgorICBk
ZWZhdWx0OiAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1
YXRpbmcgJ25ldyBUZW1wb3JhbC5QbGFpblllYXJNb250aCgyMDI0LCA5KScpIgorICBzdHJpY3Qg
bW9kZTogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0
aW5nICduZXcgVGVtcG9yYWwuUGxhaW5ZZWFyTW9udGgoMjAyNCwgOSknKSIKIHRlc3QvaW50bDQw
Mi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0UmFuZ2UvdGVtcG9yYWwtem9uZWRkYXRl
dGltZS1ub3Qtc3VwcG9ydGVkLmpzOgogICBkZWZhdWx0OiAiVHlwZUVycm9yOiB1bmRlZmluZWQg
aXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBUZW1wb3JhbC5ab25lZERhdGVU
aW1lKDBuLCB0aW1lWm9uZSknKSIKICAgc3RyaWN0IG1vZGU6ICJUeXBlRXJyb3I6IHVuZGVmaW5l
ZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IFRlbXBvcmFsLlpvbmVkRGF0
ZVRpbWUoMG4sIHRpbWVab25lKScpIgogdGVzdC9pbnRsNDAyL0RhdGVUaW1lRm9ybWF0L3Byb3Rv
dHlwZS9mb3JtYXRSYW5nZS90by1kYXRldGltZS1mb3JtYXR0YWJsZS13aXRoLWRpZmZlcmVudC1h
cmcta2luZHMuanM6Ci0gIGRlZmF1bHQ6ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYSBj
b25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IFRlbXBvcmFsLlpvbmVkRGF0ZVRpbWUoMG4sIFwi
VVRDXCIpJykiCi0gIHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGEg
Y29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBUZW1wb3JhbC5ab25lZERhdGVUaW1lKDBuLCBc
IlVUQ1wiKScpIgorICBkZWZhdWx0OiAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGEgY29u
c3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBUZW1wb3JhbC5QbGFpblllYXJNb250aCgxOTcwLCAx
KScpIgorICBzdHJpY3QgbW9kZTogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0
cnVjdG9yIChldmFsdWF0aW5nICduZXcgVGVtcG9yYWwuUGxhaW5ZZWFyTW9udGgoMTk3MCwgMSkn
KSIKIHRlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0UmFuZ2VUb1Bh
cnRzL3RlbXBvcmFsLW9iamVjdHMtZm9ybWF0LXdpdGgtZXJhLmpzOgogICBkZWZhdWx0OiAnVHlw
ZUVycm9yOiBUZW1wb3JhbC5QbGFpbkRhdGUucHJvdG90eXBlLnZhbHVlT2YgbXVzdCBub3QgYmUg
Y2FsbGVkLiBUbyBjb21wYXJlIFBsYWluRGF0ZSB2YWx1ZXMsIHVzZSBUZW1wb3JhbC5QbGFpbkRh
dGUuY29tcGFyZScKICAgc3RyaWN0IG1vZGU6ICdUeXBlRXJyb3I6IFRlbXBvcmFsLlBsYWluRGF0
ZS5wcm90b3R5cGUudmFsdWVPZiBtdXN0IG5vdCBiZSBjYWxsZWQuIFRvIGNvbXBhcmUgUGxhaW5E
YXRlIHZhbHVlcywgdXNlIFRlbXBvcmFsLlBsYWluRGF0ZS5jb21wYXJlJwogdGVzdC9pbnRsNDAy
L0RhdGVUaW1lRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXRSYW5nZVRvUGFydHMvdGVtcG9yYWwtb2Jq
ZWN0cy1ub3Qtb3ZlcmxhcHBpbmctb3B0aW9ucy5qczoKLSAgZGVmYXVsdDogIlR5cGVFcnJvcjog
VGVtcG9yYWwuUGxhaW5EYXRlVGltZS5wcm90b3R5cGUudmFsdWVPZiBtdXN0IG5vdCBiZSBjYWxs
ZWQuIFRvIGNvbXBhcmUgUGxhaW5EYXRlVGltZSB2YWx1ZXMsIHVzZSBUZW1wb3JhbC5QbGFpbkRh
dGVUaW1lLmNvbXBhcmUiCi0gIHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiBUZW1wb3JhbC5QbGFp
bkRhdGVUaW1lLnByb3RvdHlwZS52YWx1ZU9mIG11c3Qgbm90IGJlIGNhbGxlZC4gVG8gY29tcGFy
ZSBQbGFpbkRhdGVUaW1lIHZhbHVlcywgdXNlIFRlbXBvcmFsLlBsYWluRGF0ZVRpbWUuY29tcGFy
ZSIKKyAgZGVmYXVsdDogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9y
IChldmFsdWF0aW5nICduZXcgVGVtcG9yYWwuUGxhaW5ZZWFyTW9udGgoMjAyNCwgOSknKSIKKyAg
c3RyaWN0IG1vZGU6ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAo
ZXZhbHVhdGluZyAnbmV3IFRlbXBvcmFsLlBsYWluWWVhck1vbnRoKDIwMjQsIDkpJykiCiB0ZXN0
L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFJhbmdlVG9QYXJ0cy90ZW1w
b3JhbC16b25lZGRhdGV0aW1lLW5vdC1zdXBwb3J0ZWQuanM6CiAgIGRlZmF1bHQ6ICJUeXBlRXJy
b3I6IHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IFRlbXBv
cmFsLlpvbmVkRGF0ZVRpbWUoMG4sIHRpbWVab25lKScpIgogICBzdHJpY3QgbW9kZTogIlR5cGVF
cnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgVGVt
cG9yYWwuWm9uZWREYXRlVGltZSgwbiwgdGltZVpvbmUpJykiCiB0ZXN0L2ludGw0MDIvRGF0ZVRp
bWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFJhbmdlVG9QYXJ0cy90by1kYXRldGltZS1mb3JtYXR0
YWJsZS13aXRoLWRpZmZlcmVudC1hcmcta2luZHMuanM6Ci0gIGRlZmF1bHQ6ICJUeXBlRXJyb3I6
IHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IFRlbXBvcmFs
LlpvbmVkRGF0ZVRpbWUoMG4sIFwiVVRDXCIpJykiCi0gIHN0cmljdCBtb2RlOiAiVHlwZUVycm9y
OiB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBUZW1wb3Jh
bC5ab25lZERhdGVUaW1lKDBuLCBcIlVUQ1wiKScpIgorICBkZWZhdWx0OiAiVHlwZUVycm9yOiB1
bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBUZW1wb3JhbC5Q
bGFpblllYXJNb250aCgxOTcwLCAxKScpIgorICBzdHJpY3QgbW9kZTogIlR5cGVFcnJvcjogdW5k
ZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgVGVtcG9yYWwuUGxh
aW5ZZWFyTW9udGgoMTk3MCwgMSknKSIKIHRlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1hdC9wcm90
b3R5cGUvZm9ybWF0VG9QYXJ0cy9kYW5naS1jYWxlbmRhci1kYXRlcy5qczoKICAgZGVmYXVsdDog
IlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBUZW1wb3JhbCIKICAgc3RyaWN0
IG1vZGU6ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogVGVtcG9yYWwiCiB0
ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMvdGVtcG9y
YWwtb2JqZWN0cy1mb3JtYXQtd2l0aC1lcmEuanM6CiAgIGRlZmF1bHQ6ICdUeXBlRXJyb3I6IFRl
bXBvcmFsLlBsYWluRGF0ZS5wcm90b3R5cGUudmFsdWVPZiBtdXN0IG5vdCBiZSBjYWxsZWQuIFRv
IGNvbXBhcmUgUGxhaW5EYXRlIHZhbHVlcywgdXNlIFRlbXBvcmFsLlBsYWluRGF0ZS5jb21wYXJl
JwogICBzdHJpY3QgbW9kZTogJ1R5cGVFcnJvcjogVGVtcG9yYWwuUGxhaW5EYXRlLnByb3RvdHlw
ZS52YWx1ZU9mIG11c3Qgbm90IGJlIGNhbGxlZC4gVG8gY29tcGFyZSBQbGFpbkRhdGUgdmFsdWVz
LCB1c2UgVGVtcG9yYWwuUGxhaW5EYXRlLmNvbXBhcmUnCi10ZXN0L2ludGw0MDIvRGF0ZVRpbWVG
b3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMvZGF5UGVyaW9kLWxvbmctZW4uanM6Ci0gIGRl
ZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IGV4cGVjdGVkIHBhcnQgdmFsdWUuIDAwOjAwLCBsb25nIGZv
cm1hdCBFeHBlY3RlZCBTYW1lVmFsdWUowqsiaW4gdGhlIG1vcm5pbmciwrssIMKrImF0IG5pZ2h0
IsK7KSB0byBiZSB0cnVlJwotICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogZXhwZWN0ZWQg
cGFydCB2YWx1ZS4gMDA6MDAsIGxvbmcgZm9ybWF0IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqyJpbiB0
aGUgbW9ybmluZyLCuywgwqsiYXQgbmlnaHQiwrspIHRvIGJlIHRydWUnCi10ZXN0L2ludGw0MDIv
RGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMvZGF5UGVyaW9kLW5hcnJvdy1l
bi5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogZXhwZWN0ZWQgcGFydCB2YWx1ZS4gMDA6
MDAsIG5hcnJvdyBmb3JtYXQgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrImluIHRoZSBtb3JuaW5nIsK7
LCDCqyJhdCBuaWdodCLCuykgdG8gYmUgdHJ1ZScKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJy
b3I6IGV4cGVjdGVkIHBhcnQgdmFsdWUuIDAwOjAwLCBuYXJyb3cgZm9ybWF0IEV4cGVjdGVkIFNh
bWVWYWx1ZSjCqyJpbiB0aGUgbW9ybmluZyLCuywgwqsiYXQgbmlnaHQiwrspIHRvIGJlIHRydWUn
Ci10ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMvZGF5
UGVyaW9kLXNob3J0LWVuLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBleHBlY3RlZCBw
YXJ0IHZhbHVlLiAwMDowMCwgc2hvcnQgZm9ybWF0IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqyJpbiB0
aGUgbW9ybmluZyLCuywgwqsiYXQgbmlnaHQiwrspIHRvIGJlIHRydWUnCi0gIHN0cmljdCBtb2Rl
OiAnVGVzdDI2MkVycm9yOiBleHBlY3RlZCBwYXJ0IHZhbHVlLiAwMDowMCwgc2hvcnQgZm9ybWF0
IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqyJpbiB0aGUgbW9ybmluZyLCuywgwqsiYXQgbmlnaHQiwrsp
IHRvIGJlIHRydWUnCiB0ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1h
dFRvUGFydHMvdGVtcG9yYWwtb2JqZWN0cy1ub3Qtb3ZlcmxhcHBpbmctb3B0aW9ucy5qczoKLSAg
ZGVmYXVsdDogIlR5cGVFcnJvcjogVGVtcG9yYWwuUGxhaW5EYXRlVGltZS5wcm90b3R5cGUudmFs
dWVPZiBtdXN0IG5vdCBiZSBjYWxsZWQuIFRvIGNvbXBhcmUgUGxhaW5EYXRlVGltZSB2YWx1ZXMs
IHVzZSBUZW1wb3JhbC5QbGFpbkRhdGVUaW1lLmNvbXBhcmUiCi0gIHN0cmljdCBtb2RlOiAiVHlw
ZUVycm9yOiBUZW1wb3JhbC5QbGFpbkRhdGVUaW1lLnByb3RvdHlwZS52YWx1ZU9mIG11c3Qgbm90
IGJlIGNhbGxlZC4gVG8gY29tcGFyZSBQbGFpbkRhdGVUaW1lIHZhbHVlcywgdXNlIFRlbXBvcmFs
LlBsYWluRGF0ZVRpbWUuY29tcGFyZSIKKyAgZGVmYXVsdDogIlR5cGVFcnJvcjogdW5kZWZpbmVk
IGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgVGVtcG9yYWwuUGxhaW5ZZWFy
TW9udGgoMjAyNCwgOSknKSIKKyAgc3RyaWN0IG1vZGU6ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBp
cyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IFRlbXBvcmFsLlBsYWluWWVhck1v
bnRoKDIwMjQsIDkpJykiCiB0ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zv
cm1hdFRvUGFydHMvdGVtcG9yYWwtem9uZWRkYXRldGltZS1ub3Qtc3VwcG9ydGVkLmpzOgogICBk
ZWZhdWx0OiAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1
YXRpbmcgJ25ldyBUZW1wb3JhbC5ab25lZERhdGVUaW1lKDBuLCB0aW1lWm9uZSknKSIKICAgc3Ry
aWN0IG1vZGU6ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZh
bHVhdGluZyAnbmV3IFRlbXBvcmFsLlpvbmVkRGF0ZVRpbWUoMG4sIHRpbWVab25lKScpIgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>