<?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>246473</bug_id>
          
          <creation_ts>2022-10-13 14:50:21 -0700</creation_ts>
          <short_desc>REGRESSION(255499@main): Broke gtk build</short_desc>
          <delta_ts>2022-10-13 14:56:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>246423</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>achristensen</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1905428</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2022-10-13 14:50:21 -0700</bug_when>
    <thetext>https://commits.webkit.org/255499@main introduced a regression:
Broke gtk build

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>1905430</commentid>
    <comment_count>1</comment_count>
      <attachid>462970</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2022-10-13 14:50:27 -0700</bug_when>
    <thetext>Created attachment 462970
REVERT of 255499@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>1905436</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-10-13 14:55:31 -0700</bug_when>
    <thetext>Committed 255506@main (577d06063b83): &lt;https://commits.webkit.org/255506@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 462970.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1905437</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-10-13 14:56:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/101144865&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>462970</attachid>
            <date>2022-10-13 14:50:27 -0700</date>
            <delta_ts>2022-10-13 14:55:32 -0700</delta_ts>
            <desc>REVERT of 255499@main</desc>
            <filename>bug-246473-20221013145026.patch</filename>
            <type>text/plain</type>
            <size>40029</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSA5YWNkM2Q5MzliNmI2N2MxZTFkYzA1MDllNjYzOWVhY2QwMzY5MzNiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBUaHUsIDEzIE9jdCAyMDIyIDE0OjUwOjI1IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0g
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNTU0OTlAbWFpbi4KIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yNDY0NzMKCkJyb2tlIGd0ayBidWlsZAoKUmV2ZXJ0ZWQgY2hh
bmdlc2V0OgoKIkdlbmVyYXRlIHNlcmlhbGl6ZXJzIGZvciBTZXNzaW9uU3RhdGUgb2JqZWN0cyIK
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0NjQyMwpodHRwczovL2Nv
bW1pdHMud2Via2l0Lm9yZy8yNTU0OTlAbWFpbgotLS0KIFNvdXJjZS9XZWJLaXQvQ01ha2VMaXN0
cy50eHQgICAgICAgICAgICAgICAgICB8ICAgMSAtCiBTb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3QgfCAgIDEgLQogU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNl
cy5tYWtlICAgICAgICAgICAgIHwgICAzICstCiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9TZXNzaW9u
U3RhdGUuY3BwICAgICAgICAgfCAyNDYgKysrKysrKysrKysrKysrKystCiBTb3VyY2UvV2ViS2l0
L1NoYXJlZC9TZXNzaW9uU3RhdGUuaCAgICAgICAgICAgfCAgNjYgKysrKy0KIC4uLi9TaGFyZWQv
U2Vzc2lvblN0YXRlLnNlcmlhbGl6YXRpb24uaW4gICAgICB8ICA4OSAtLS0tLS0tCiAuLi4vV2Vi
S2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwICAgfCAgMjYgLS0KIFNvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oICB8ICAgNSAtCiAuLi4vQVBJL2ds
aWIvV2ViS2l0V2ViVmlld1Nlc3Npb25TdGF0ZS5jcHAgICAgfCAgOTkgKysrKy0tLQogLi4uL21h
Yy9MZWdhY3lTZXNzaW9uU3RhdGVDb2RpbmcuY3BwICAgICAgICAgIHwgIDgwICsrKy0tLQogLi4u
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiAgIHwgICA0ICstCiAuLi4v
V2ViQ29yZVN1cHBvcnQvU2Vzc2lvblN0YXRlQ29udmVyc2lvbi5jcHAgfCAgMzMgKystCiAxMiBm
aWxlcyBjaGFuZ2VkLCA0MDcgaW5zZXJ0aW9ucygrKSwgMjQ2IGRlbGV0aW9ucygtKQogZGVsZXRl
IG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1Nlc3Npb25TdGF0ZS5zZXJpYWxpemF0
aW9uLmluCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKaW5kZXggN2FkZWQzMjU4ZmUzLi44MjIyNDI0MmE3MTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dl
YktpdC9DTWFrZUxpc3RzLnR4dApAQCAtNTIwLDcgKzUyMCw2IEBAIHNldChXZWJLaXRfU0VSSUFM
SVpBVElPTl9JTl9GSUxFUwogICAgIFNoYXJlZC9GcmFtZUluZm9EYXRhLnNlcmlhbGl6YXRpb24u
aW4KICAgICBTaGFyZWQvRnJhbWVUcmVlTm9kZURhdGEuc2VyaWFsaXphdGlvbi5pbgogICAgIFNo
YXJlZC9MYXllclRyZWVDb250ZXh0LnNlcmlhbGl6YXRpb24uaW4KLSAgICBTaGFyZWQvU2Vzc2lv
blN0YXRlLnNlcmlhbGl6YXRpb24uaW4KICAgICBTaGFyZWQvU2hhcmVhYmxlQml0bWFwLnNlcmlh
bGl6YXRpb24uaW4KICAgICBTaGFyZWQvVGV4dEZsYWdzLnNlcmlhbGl6YXRpb24uaW4KICAgICBT
aGFyZWQvV1RGQXJndW1lbnRDb2RlcnMuc2VyaWFsaXphdGlvbi5pbgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYktp
dC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDNlY2Y5YTY2MDFjMS4uNTRk
ODMzODA2NGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0CkBAIC0xNDQsNyArMTQ0LDYgQEAgJChQUk9KRUNUX0RJUikvU2hhcmVkL0xheWVyVHJl
ZUNvbnRleHQuc2VyaWFsaXphdGlvbi5pbgogJChQUk9KRUNUX0RJUikvU2hhcmVkL05vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLm1lc3NhZ2VzLmluCiAkKFBS
T0pFQ1RfRElSKS9TaGFyZWQvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25NYW5hZ2VyUHJveHku
bWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2Fn
ZVJlY2VpdmVyLm1lc3NhZ2VzLmluCi0kKFBST0pFQ1RfRElSKS9TaGFyZWQvU2Vzc2lvblN0YXRl
LnNlcmlhbGl6YXRpb24uaW4KICQoUFJPSkVDVF9ESVIpL1NoYXJlZC9TaGFyZWFibGVCaXRtYXAu
c2VyaWFsaXphdGlvbi5pbgogJChQUk9KRUNUX0RJUikvU2hhcmVkL1RleHRGbGFncy5zZXJpYWxp
emF0aW9uLmluCiAkKFBST0pFQ1RfRElSKS9TaGFyZWQvV1RGQXJndW1lbnRDb2RlcnMuc2VyaWFs
aXphdGlvbi5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtl
IGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDQyN2MzZGJlYTlmZC4u
YTRiYjkyYWMwMjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1h
a2UKKysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC00NTgsMTIgKzQ1
OCwxMSBAQCBTRVJJQUxJWkFUSU9OX0RFU0NSSVBUSU9OX0ZJTEVTID0gXAogCVNoYXJlZC9BUEkv
QVBJR2VvbWV0cnkuc2VyaWFsaXphdGlvbi5pbiBcCiAJU2hhcmVkL0NvY29hL1dlYkNvcmVBcmd1
bWVudENvZGVyc0NvY29hLnNlcmlhbGl6YXRpb24uaW4gXAogCVNoYXJlZC9Gb2N1c2VkRWxlbWVu
dEluZm9ybWF0aW9uLnNlcmlhbGl6YXRpb24uaW4gXAorCVNoYXJlZC9TaGFyZWFibGVCaXRtYXAu
c2VyaWFsaXphdGlvbi5pbiBcCiAJU2hhcmVkL0ZyYW1lSW5mb0RhdGEuc2VyaWFsaXphdGlvbi5p
biBcCiAJU2hhcmVkL0ZyYW1lVHJlZU5vZGVEYXRhLnNlcmlhbGl6YXRpb24uaW4gXAogCVNoYXJl
ZC9MYXllclRyZWVDb250ZXh0LnNlcmlhbGl6YXRpb24uaW4gXAogCVNoYXJlZC9UZXh0RmxhZ3Mu
c2VyaWFsaXphdGlvbi5pbiBcCi0JU2hhcmVkL1Nlc3Npb25TdGF0ZS5zZXJpYWxpemF0aW9uLmlu
IFwKLQlTaGFyZWQvU2hhcmVhYmxlQml0bWFwLnNlcmlhbGl6YXRpb24uaW4gXAogCVNoYXJlZC9X
VEZBcmd1bWVudENvZGVycy5zZXJpYWxpemF0aW9uLmluIFwKIAlTaGFyZWQvV2ViUHVzaERhZW1v
bkNvbm5lY3Rpb25Db25maWd1cmF0aW9uLnNlcmlhbGl6YXRpb24uaW4gXAogCVNoYXJlZC9XZWJQ
dXNoTWVzc2FnZS5zZXJpYWxpemF0aW9uLmluIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1Nlc3Npb25TdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TZXNzaW9uU3Rh
dGUuY3BwCmluZGV4IDZjNjRmZTM2MzU5Ni4uZGFkOGE5NWJmNmIxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9TZXNzaW9uU3RhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1Nlc3Npb25TdGF0ZS5jcHAKQEAgLTI2LDEzICsyNiwyNTIgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJTZXNzaW9uU3RhdGUuaCIKIAorI2luY2x1ZGUgIldlYkNvcmVBcmd1
bWVudENvZGVycy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQmFja0ZvcndhcmRJdGVtSWRlbnRpZmll
ci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1i
b29sIEZyYW1lU3RhdGU6OnZhbGlkYXRlRG9jdW1lbnRTdGF0ZShjb25zdCBWZWN0b3I8QXRvbVN0
cmluZz4mIGRvY3VtZW50U3RhdGUpCit2b2lkIEhUVFBCb2R5OjpFbGVtZW50OjplbmNvZGUoSVBD
OjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewotICAgIGZvciAoYXV0byYgc3RhdGVTdHJpbmcg
OiBkb2N1bWVudFN0YXRlKSB7CisgICAgZW5jb2RlciA8PCB0eXBlOworICAgIGVuY29kZXIgPDwg
ZGF0YTsKKyAgICBlbmNvZGVyIDw8IGZpbGVQYXRoOworICAgIGVuY29kZXIgPDwgZmlsZVN0YXJ0
OworICAgIGVuY29kZXIgPDwgZmlsZUxlbmd0aDsKKyAgICBlbmNvZGVyIDw8IGV4cGVjdGVkRmls
ZU1vZGlmaWNhdGlvblRpbWU7CisgICAgZW5jb2RlciA8PCBibG9iVVJMU3RyaW5nOworfQorCitz
dGF0aWMgYm9vbCBpc1ZhbGlkRW51bShIVFRQQm9keTo6RWxlbWVudDo6VHlwZSB0eXBlKQorewor
ICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgSFRUUEJvZHk6OkVsZW1lbnQ6OlR5cGU6OkRh
dGE6CisgICAgY2FzZSBIVFRQQm9keTo6RWxlbWVudDo6VHlwZTo6RmlsZToKKyAgICBjYXNlIEhU
VFBCb2R5OjpFbGVtZW50OjpUeXBlOjpCbG9iOgorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9
CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2F1dG8gSFRUUEJvZHk6OkVsZW1lbnQ6OmRlY29k
ZShJUEM6OkRlY29kZXImIGRlY29kZXIpIC0+IHN0ZDo6b3B0aW9uYWw8RWxlbWVudD4KK3sKKyAg
ICBFbGVtZW50IHJlc3VsdDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC50eXBlKSB8
fCAhaXNWYWxpZEVudW0ocmVzdWx0LnR5cGUpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmRhdGEpKQorICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmZpbGVQYXRoKSkK
KyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJl
c3VsdC5maWxlU3RhcnQpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGUocmVzdWx0LmZpbGVMZW5ndGgpKQorICAgICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmV4cGVjdGVkRmlsZU1vZGlm
aWNhdGlvblRpbWUpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgIGlmICghZGVj
b2Rlci5kZWNvZGUocmVzdWx0LmJsb2JVUkxTdHJpbmcpKQorICAgICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordm9pZCBIVFRQQm9keTo6ZW5jb2Rl
KElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IGNvbnRlbnRU
eXBlOworICAgIGVuY29kZXIgPDwgZWxlbWVudHM7Cit9CisKK2Jvb2wgSFRUUEJvZHk6OmRlY29k
ZShJUEM6OkRlY29kZXImIGRlY29kZXIsIEhUVFBCb2R5JiByZXN1bHQpCit7CisgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShyZXN1bHQuY29udGVudFR5cGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuZWxlbWVudHMpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBGcmFtZVN0YXRlOjplbmNv
ZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgdXJsU3Ry
aW5nOworICAgIGVuY29kZXIgPDwgb3JpZ2luYWxVUkxTdHJpbmc7CisgICAgZW5jb2RlciA8PCBy
ZWZlcnJlcjsKKyAgICBlbmNvZGVyIDw8IHRhcmdldDsKKworICAgIGVuY29kZXIgPDwgbV9kb2N1
bWVudFN0YXRlOworICAgIGVuY29kZXIgPDwgc3RhdGVPYmplY3REYXRhOworCisgICAgZW5jb2Rl
ciA8PCBkb2N1bWVudFNlcXVlbmNlTnVtYmVyOworICAgIGVuY29kZXIgPDwgaXRlbVNlcXVlbmNl
TnVtYmVyOworCisgICAgZW5jb2RlciA8PCBzY3JvbGxQb3NpdGlvbjsKKyAgICBlbmNvZGVyIDw8
IHNob3VsZFJlc3RvcmVTY3JvbGxQb3NpdGlvbjsKKyAgICBlbmNvZGVyIDw8IHBhZ2VTY2FsZUZh
Y3RvcjsKKworICAgIGVuY29kZXIgPDwgaHR0cEJvZHk7CisKKyNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQorICAgIGVuY29kZXIgPDwgZXhwb3NlZENvbnRlbnRSZWN0OworICAgIGVuY29kZXIgPDwg
dW5vYnNjdXJlZENvbnRlbnRSZWN0OworICAgIGVuY29kZXIgPDwgbWluaW11bUxheW91dFNpemVJ
blNjcm9sbFZpZXdDb29yZGluYXRlczsKKyAgICBlbmNvZGVyIDw8IGNvbnRlbnRTaXplOworICAg
IGVuY29kZXIgPDwgc2NhbGVJc0luaXRpYWw7CisgICAgZW5jb2RlciA8PCBvYnNjdXJlZEluc2V0
czsKKyNlbmRpZgorCisgICAgZW5jb2RlciA8PCBjaGlsZHJlbjsKK30KKworc3RkOjpvcHRpb25h
bDxGcmFtZVN0YXRlPiBGcmFtZVN0YXRlOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQor
eworICAgIEZyYW1lU3RhdGUgcmVzdWx0OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0
LnVybFN0cmluZykpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShyZXN1bHQub3JpZ2luYWxVUkxTdHJpbmcpKQorICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnJlZmVycmVyKSkKKyAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3Vs
dC50YXJnZXQpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShyZXN1bHQubV9kb2N1bWVudFN0YXRlKSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6
bnVsbG9wdDsKKyAgICByZXN1bHQudmFsaWRhdGVEb2N1bWVudFN0YXRlKCk7CisKKyAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKHJlc3VsdC5zdGF0ZU9iamVjdERhdGEpKQorICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OworCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuZG9jdW1lbnRT
ZXF1ZW5jZU51bWJlcikpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShyZXN1bHQuaXRlbVNlcXVlbmNlTnVtYmVyKSkKKyAgICAgICAgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsKKworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnNjcm9sbFBv
c2l0aW9uKSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHJlc3VsdC5zaG91bGRSZXN0b3JlU2Nyb2xsUG9zaXRpb24pKQorICAgICAgICByZXR1
cm4gc3RkOjpudWxsb3B0OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnBhZ2VTY2Fs
ZUZhY3RvcikpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKHJlc3VsdC5odHRwQm9keSkpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7
CisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVz
dWx0LmV4cG9zZWRDb250ZW50UmVjdCkpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Cisg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQudW5vYnNjdXJlZENvbnRlbnRSZWN0KSkKKyAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3Vs
dC5taW5pbXVtTGF5b3V0U2l6ZUluU2Nyb2xsVmlld0Nvb3JkaW5hdGVzKSkKKyAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5jb250ZW50
U2l6ZSkpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShyZXN1bHQuc2NhbGVJc0luaXRpYWwpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm9ic2N1cmVkSW5zZXRzKSkKKyAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyNlbmRpZgorCisgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShyZXN1bHQuY2hpbGRyZW4pKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAg
cmV0dXJuIHJlc3VsdDsKK30KKwordm9pZCBQYWdlU3RhdGU6OmVuY29kZShJUEM6OkVuY29kZXIm
IGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCB0aXRsZSA8PCBtYWluRnJhbWVTdGF0
ZSA8PCAhIXNlc3Npb25TdGF0ZU9iamVjdDsKKworICAgIGlmIChzZXNzaW9uU3RhdGVPYmplY3Qp
CisgICAgICAgIGVuY29kZXIgPDwgc2Vzc2lvblN0YXRlT2JqZWN0LT53aXJlQnl0ZXMoKTsKKwor
ICAgIGVuY29kZXIgPDwgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTsKKyAgICBlbmNvZGVy
IDw8IHdhc0NyZWF0ZWRCeUpTV2l0aG91dFVzZXJJbnRlcmFjdGlvbjsKK30KKworYm9vbCBQYWdl
U3RhdGU6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIFBhZ2VTdGF0ZSYgcmVzdWx0KQor
eworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnRpdGxlKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIHN0ZDo6b3B0aW9uYWw8RnJhbWVTdGF0ZT4gbWFpbkZyYW1lU3RhdGU7Cisg
ICAgZGVjb2RlciA+PiBtYWluRnJhbWVTdGF0ZTsKKyAgICBpZiAoIW1haW5GcmFtZVN0YXRlKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmVzdWx0Lm1haW5GcmFtZVN0YXRlID0gV1RGTW92
ZSgqbWFpbkZyYW1lU3RhdGUpOworCisgICAgYm9vbCBoYXNTZXNzaW9uU3RhdGU7CisgICAgaWYg
KCFkZWNvZGVyLmRlY29kZShoYXNTZXNzaW9uU3RhdGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBpZiAoaGFzU2Vzc2lvblN0YXRlKSB7CisgICAgICAgIFZlY3Rvcjx1aW50OF90PiB3
aXJlQnl0ZXM7CisgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUod2lyZUJ5dGVzKSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICByZXN1bHQuc2Vzc2lvblN0YXRlT2JqZWN0
ID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGVGcm9tV2lyZUJ5dGVzKFdURk1vdmUod2ly
ZUJ5dGVzKSk7CisgICAgfQorCisgICAgc3RkOjpvcHRpb25hbDxTaG91bGRPcGVuRXh0ZXJuYWxV
UkxzUG9saWN5PiBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OworICAgIGRlY29kZXIgPj4g
c2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTsKKyAgICBpZiAoIXNob3VsZE9wZW5FeHRlcm5h
bFVSTHNQb2xpY3kpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJlc3VsdC5zaG91bGRP
cGVuRXh0ZXJuYWxVUkxzUG9saWN5ID0gKnNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k7CisK
KyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC53YXNDcmVhdGVkQnlKU1dpdGhvdXRVc2Vy
SW50ZXJhY3Rpb24pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKwordm9pZCBCYWNrRm9yd2FyZExpc3RJdGVtU3RhdGU6OmVuY29kZShJUEM6OkVuY29kZXIm
IGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBpZGVudGlmaWVyOworICAgIGVuY29k
ZXIgPDwgcGFnZVN0YXRlOworICAgIGVuY29kZXIgPDwgaGFzQ2FjaGVkUGFnZTsKK30KKworc3Rk
OjpvcHRpb25hbDxCYWNrRm9yd2FyZExpc3RJdGVtU3RhdGU+IEJhY2tGb3J3YXJkTGlzdEl0ZW1T
dGF0ZTo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBCYWNrRm9yd2FyZExp
c3RJdGVtU3RhdGUgcmVzdWx0OworCisgICAgYXV0byBpZGVudGlmaWVyID0gQmFja0ZvcndhcmRJ
dGVtSWRlbnRpZmllcjo6ZGVjb2RlKGRlY29kZXIpOworICAgIGlmICghaWRlbnRpZmllcikKKyAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICByZXN1bHQuaWRlbnRpZmllciA9ICppZGVu
dGlmaWVyOworCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQucGFnZVN0YXRlKSkKKyAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVz
dWx0Lmhhc0NhY2hlZFBhZ2UpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAg
cmV0dXJuIHJlc3VsdDsKK30KKwordm9pZCBCYWNrRm9yd2FyZExpc3RTdGF0ZTo6ZW5jb2RlKElQ
Qzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IGl0ZW1zOworICAg
IGVuY29kZXIgPDwgY3VycmVudEluZGV4OworfQorCitzdGQ6Om9wdGlvbmFsPEJhY2tGb3J3YXJk
TGlzdFN0YXRlPiBCYWNrRm9yd2FyZExpc3RTdGF0ZTo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVj
b2RlcikKK3sKKyAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxCYWNrRm9yd2FyZExpc3RJdGVtU3Rh
dGU+PiBpdGVtczsKKyAgICBkZWNvZGVyID4+IGl0ZW1zOworICAgIGlmICghaXRlbXMpCisgICAg
ICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHVpbnQzMl90PiBj
dXJyZW50SW5kZXg7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShjdXJyZW50SW5kZXgpKQorICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0dXJuIHt7IFdURk1vdmUoKml0ZW1z
KSwgV1RGTW92ZShjdXJyZW50SW5kZXgpIH19OworfQorCit2b2lkIEZyYW1lU3RhdGU6OnZhbGlk
YXRlRG9jdW1lbnRTdGF0ZSgpIGNvbnN0Cit7CisgICAgZm9yIChhdXRvJiBzdGF0ZVN0cmluZyA6
IG1fZG9jdW1lbnRTdGF0ZSkgewogICAgICAgICBpZiAoc3RhdGVTdHJpbmcuaXNOdWxsKCkpCiAg
ICAgICAgICAgICBjb250aW51ZTsKIApAQCAtNDYsNyArMjg1LDYgQEAgYm9vbCBGcmFtZVN0YXRl
Ojp2YWxpZGF0ZURvY3VtZW50U3RhdGUoY29uc3QgVmVjdG9yPEF0b21TdHJpbmc+JiBkb2N1bWVu
dFN0YXRlKQogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNMYXRpbjEoY2hhcmFjdGVyKSk7
CiAgICAgICAgIH0KICAgICB9Ci0gICAgcmV0dXJuIHRydWU7CiB9CiAKIHZvaWQgRnJhbWVTdGF0
ZTo6c2V0RG9jdW1lbnRTdGF0ZShjb25zdCBWZWN0b3I8QXRvbVN0cmluZz4mIGRvY3VtZW50U3Rh
dGUsIFNob3VsZFZhbGlkYXRlIHNob3VsZFZhbGlkYXRlKQpAQCAtNTQsNyArMjkyLDcgQEAgdm9p
ZCBGcmFtZVN0YXRlOjpzZXREb2N1bWVudFN0YXRlKGNvbnN0IFZlY3RvcjxBdG9tU3RyaW5nPiYg
ZG9jdW1lbnRTdGF0ZSwgU2hvdWwKICAgICBtX2RvY3VtZW50U3RhdGUgPSBkb2N1bWVudFN0YXRl
OwogCiAgICAgaWYgKHNob3VsZFZhbGlkYXRlID09IFNob3VsZFZhbGlkYXRlOjpZZXMpCi0gICAg
ICAgIHZhbGlkYXRlRG9jdW1lbnRTdGF0ZShtX2RvY3VtZW50U3RhdGUpOworICAgICAgICB2YWxp
ZGF0ZURvY3VtZW50U3RhdGUoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TZXNzaW9uU3RhdGUuaCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1Nlc3Npb25TdGF0ZS5oCmluZGV4IGI2ZGI5NzU0MjQ1NC4uMmUxM2UyMmVjNGVkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TZXNzaW9uU3RhdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9TZXNzaW9uU3RhdGUuaApAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1
ZGUgPFdlYkNvcmUvRnJhbWVMb2FkZXJUeXBlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW50UmVj
dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmg+Ci0jaW5jbHVk
ZSA8d3RmL0FyZ3VtZW50Q29kZXIuaD4KICNpbmNsdWRlIDx3dGYvRW51bVRyYWl0cy5oPgogI2lu
Y2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAjaW5jbHVkZSA8d3RmL1VSTC5oPgpAQCAtNDcsMjMgKzQ2
LDQzIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBzdHJ1Y3QgSFRUUEJvZHkgewogICAgIHN0cnVj
dCBFbGVtZW50IHsKLSAgICAgICAgc3RydWN0IEZpbGVEYXRhIHsKLSAgICAgICAgICAgIFN0cmlu
ZyBmaWxlUGF0aDsKLSAgICAgICAgICAgIGludDY0X3QgZmlsZVN0YXJ0OwotICAgICAgICAgICAg
c3RkOjpvcHRpb25hbDxpbnQ2NF90PiBmaWxlTGVuZ3RoOwotICAgICAgICAgICAgc3RkOjpvcHRp
b25hbDxXYWxsVGltZT4gZXhwZWN0ZWRGaWxlTW9kaWZpY2F0aW9uVGltZTsKKyAgICAgICAgdm9p
ZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7CisgICAgICAgIHN0YXRpYyBzdGQ6Om9wdGlv
bmFsPEVsZW1lbnQ+IGRlY29kZShJUEM6OkRlY29kZXImKTsKKworICAgICAgICBlbnVtIGNsYXNz
IFR5cGUgeworICAgICAgICAgICAgRGF0YSwKKyAgICAgICAgICAgIEZpbGUsCisgICAgICAgICAg
ICBCbG9iLAogICAgICAgICB9OwotICAgICAgICB1c2luZyBCbG9iVVJMU3RyaW5nID0gU3RyaW5n
OwotICAgICAgICB1c2luZyBEYXRhID0gc3RkOjp2YXJpYW50PFZlY3Rvcjx1aW50OF90PiwgRmls
ZURhdGEsIEJsb2JVUkxTdHJpbmc+OwotICAgICAgICBEYXRhIGRhdGE7CisKKyAgICAgICAgLy8g
RklYTUU6IFRoaXMgc2hvdWxkIGJlIGEgc3RkOjp2YXJpYW50LiBJdCdzIGFsc28gdW5jbGVhciB3
aHkgd2UgZG9uJ3QganVzdCB1c2UgRm9ybURhdGFFbGVtZW50IGhlcmUuCisgICAgICAgIFR5cGUg
dHlwZSA9IFR5cGU6OkRhdGE7CisKKyAgICAgICAgLy8gRGF0YS4KKyAgICAgICAgVmVjdG9yPHVp
bnQ4X3Q+IGRhdGE7CisKKyAgICAgICAgLy8gRmlsZS4KKyAgICAgICAgU3RyaW5nIGZpbGVQYXRo
OworICAgICAgICBpbnQ2NF90IGZpbGVTdGFydDsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxpbnQ2
NF90PiBmaWxlTGVuZ3RoOworICAgICAgICBzdGQ6Om9wdGlvbmFsPFdhbGxUaW1lPiBleHBlY3Rl
ZEZpbGVNb2RpZmljYXRpb25UaW1lOworCisgICAgICAgIC8vIEJsb2IuCisgICAgICAgIFN0cmlu
ZyBibG9iVVJMU3RyaW5nOwogICAgIH07CiAKKyAgICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXIm
KSBjb25zdDsKKyAgICBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKElQQzo6
RGVjb2RlciYsIEhUVFBCb2R5Jik7CisKICAgICBTdHJpbmcgY29udGVudFR5cGU7CiAgICAgVmVj
dG9yPEVsZW1lbnQ+IGVsZW1lbnRzOwogfTsKIAogY2xhc3MgRnJhbWVTdGF0ZSB7CiBwdWJsaWM6
CisgICAgdm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7CisgICAgc3RhdGljIHN0ZDo6
b3B0aW9uYWw8RnJhbWVTdGF0ZT4gZGVjb2RlKElQQzo6RGVjb2RlciYpOworCiAgICAgLy8gVGhl
c2UgYXJlIHVzZWQgdG8gaGVscCBkZWJ1ZyA8cmRhcjovL3Byb2JsZW0vNDg2MzQ1NTM+LgogICAg
IEZyYW1lU3RhdGUoKSB7IFJFTEVBU0VfQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsgfQogICAg
IH5GcmFtZVN0YXRlKCkgeyBSRUxFQVNFX0FTU0VSVChSdW5Mb29wOjppc01haW4oKSk7IH0KQEAg
LTc1LDcgKzk0LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFZlY3RvcjxBdG9tU3RyaW5nPiYgZG9j
dW1lbnRTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9jdW1lbnRTdGF0ZTsgfQogICAgIGVudW0g
Y2xhc3MgU2hvdWxkVmFsaWRhdGUgOiBib29sIHsgTm8sIFllcyB9OwogICAgIHZvaWQgc2V0RG9j
dW1lbnRTdGF0ZShjb25zdCBWZWN0b3I8QXRvbVN0cmluZz4mLCBTaG91bGRWYWxpZGF0ZSA9IFNo
b3VsZFZhbGlkYXRlOjpObyk7Ci0gICAgc3RhdGljIGJvb2wgdmFsaWRhdGVEb2N1bWVudFN0YXRl
KGNvbnN0IFZlY3RvcjxBdG9tU3RyaW5nPiYpOworICAgIHZvaWQgdmFsaWRhdGVEb2N1bWVudFN0
YXRlKCkgY29uc3Q7CiAKICAgICBTdHJpbmcgdXJsU3RyaW5nOwogICAgIFN0cmluZyBvcmlnaW5h
bFVSTFN0cmluZzsKQEAgLTEwNiwxMSArMTI1LDEzIEBAIHB1YmxpYzoKICAgICBWZWN0b3I8RnJh
bWVTdGF0ZT4gY2hpbGRyZW47CiAKIHByaXZhdGU6Ci0gICAgZnJpZW5kIHN0cnVjdCBJUEM6OkFy
Z3VtZW50Q29kZXI8RnJhbWVTdGF0ZSwgdm9pZD47CiAgICAgVmVjdG9yPEF0b21TdHJpbmc+IG1f
ZG9jdW1lbnRTdGF0ZTsKIH07CiAKIHN0cnVjdCBQYWdlU3RhdGUgeworICAgIHZvaWQgZW5jb2Rl
KElQQzo6RW5jb2RlciYpIGNvbnN0OworICAgIHN0YXRpYyBXQVJOX1VOVVNFRF9SRVRVUk4gYm9v
bCBkZWNvZGUoSVBDOjpEZWNvZGVyJiwgUGFnZVN0YXRlJik7CisKICAgICBTdHJpbmcgdGl0bGU7
CiAgICAgRnJhbWVTdGF0ZSBtYWluRnJhbWVTdGF0ZTsKICAgICBXZWJDb3JlOjpTaG91bGRPcGVu
RXh0ZXJuYWxVUkxzUG9saWN5IHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgeyBXZWJDb3Jl
OjpTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdyB9OwpAQCAtMTE5
LDE2ICsxNDAsMjIgQEAgc3RydWN0IFBhZ2VTdGF0ZSB7CiB9OwogCiBzdHJ1Y3QgQmFja0Zvcndh
cmRMaXN0SXRlbVN0YXRlIHsKKyAgICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImKSBjb25zdDsK
KyAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxCYWNrRm9yd2FyZExpc3RJdGVtU3RhdGU+IGRlY29k
ZShJUEM6OkRlY29kZXImKTsKKwogICAgIFdlYkNvcmU6OkJhY2tGb3J3YXJkSXRlbUlkZW50aWZp
ZXIgaWRlbnRpZmllcjsKIAogICAgIFBhZ2VTdGF0ZSBwYWdlU3RhdGU7Ci0gICAgYm9vbCBoYXND
YWNoZWRQYWdlIHsgZmFsc2UgfTsKICNpZiBQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oR1RL
KQotICAgIFJlZlB0cjxWaWV3U25hcHNob3Q+IHNuYXBzaG90IHsgfTsKKyAgICBSZWZQdHI8Vmll
d1NuYXBzaG90PiBzbmFwc2hvdDsKICNlbmRpZgorICAgIGJvb2wgaGFzQ2FjaGVkUGFnZSB7IGZh
bHNlIH07CiB9OwogCiBzdHJ1Y3QgQmFja0ZvcndhcmRMaXN0U3RhdGUgeworICAgIHZvaWQgZW5j
b2RlKElQQzo6RW5jb2RlciYpIGNvbnN0OworICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEJhY2tG
b3J3YXJkTGlzdFN0YXRlPiBkZWNvZGUoSVBDOjpEZWNvZGVyJik7CisKICAgICBWZWN0b3I8QmFj
a0ZvcndhcmRMaXN0SXRlbVN0YXRlPiBpdGVtczsKICAgICBzdGQ6Om9wdGlvbmFsPHVpbnQzMl90
PiBjdXJyZW50SW5kZXg7CiB9OwpAQCAtMTQxLDMgKzE2OCwxNiBAQCBzdHJ1Y3QgU2Vzc2lvblN0
YXRlIHsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAorCituYW1lc3BhY2UgV1RGIHsKKwor
dGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJLaXQ6OkhUVFBCb2R5OjpFbGVtZW50OjpU
eXBlPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViS2l0OjpI
VFRQQm9keTo6RWxlbWVudDo6VHlwZSwKKyAgICAgICAgV2ViS2l0OjpIVFRQQm9keTo6RWxlbWVu
dDo6VHlwZTo6RGF0YSwKKyAgICAgICAgV2ViS2l0OjpIVFRQQm9keTo6RWxlbWVudDo6VHlwZTo6
RmlsZSwKKyAgICAgICAgV2ViS2l0OjpIVFRQQm9keTo6RWxlbWVudDo6VHlwZTo6QmxvYgorICAg
ID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1Nlc3Npb25TdGF0ZS5zZXJpYWxpemF0aW9uLmluIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvU2Vzc2lvblN0YXRlLnNlcmlhbGl6YXRpb24uaW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGZkODhiMGU2NmQ5NS4uMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1Nlc3Npb25TdGF0ZS5zZXJpYWxpemF0aW9uLmluCisrKyAvZGV2L251bGwKQEAgLTEsODkg
KzAsMCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0jIGFyZSBtZXQ6Ci0jIDEuICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSMgICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0jCi0jIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0jIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
Ci0jIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKLSMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKLSMgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAot
IyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUgotIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotIyBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAotIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotCi1oZWFkZXI6
ICJTZXNzaW9uU3RhdGUuaCIKLVtDdXN0b21IZWFkZXJdIHN0cnVjdCBXZWJLaXQ6OkhUVFBCb2R5
IHsKLSAgICBTdHJpbmcgY29udGVudFR5cGU7Ci0gICAgVmVjdG9yPFdlYktpdDo6SFRUUEJvZHk6
OkVsZW1lbnQ+IGVsZW1lbnRzOwotfTsKLQotW05lc3RlZF0gc3RydWN0IFdlYktpdDo6SFRUUEJv
ZHk6OkVsZW1lbnQgewotICAgIHN0ZDo6dmFyaWFudDxWZWN0b3I8dWludDhfdD4sIFdlYktpdDo6
SFRUUEJvZHk6OkVsZW1lbnQ6OkZpbGVEYXRhLCBTdHJpbmc+IGRhdGE7Ci19OwotCi1bTmVzdGVk
XSBzdHJ1Y3QgV2ViS2l0OjpIVFRQQm9keTo6RWxlbWVudDo6RmlsZURhdGEgewotICAgIFN0cmlu
ZyBmaWxlUGF0aDsKLSAgICBpbnQ2NF90IGZpbGVTdGFydDsKLSAgICBzdGQ6Om9wdGlvbmFsPGlu
dDY0X3Q+IGZpbGVMZW5ndGg7Ci0gICAgc3RkOjpvcHRpb25hbDxXYWxsVGltZT4gZXhwZWN0ZWRG
aWxlTW9kaWZpY2F0aW9uVGltZTsKLX07Ci0KLVtDdXN0b21IZWFkZXIsIExlZ2FjeVBvcHVsYXRl
RnJvbT1FbXB0eUNvbnN0cnVjdG9yXSBjbGFzcyBXZWJLaXQ6OkZyYW1lU3RhdGUgewotICAgIFN0
cmluZyB1cmxTdHJpbmc7Ci0gICAgU3RyaW5nIG9yaWdpbmFsVVJMU3RyaW5nOwotICAgIFN0cmlu
ZyByZWZlcnJlcjsKLSAgICBBdG9tU3RyaW5nIHRhcmdldDsKLQotICAgIHN0ZDo6b3B0aW9uYWw8
VmVjdG9yPHVpbnQ4X3Q+PiBzdGF0ZU9iamVjdERhdGE7Ci0KLSAgICBpbnQ2NF90IGRvY3VtZW50
U2VxdWVuY2VOdW1iZXI7Ci0gICAgaW50NjRfdCBpdGVtU2VxdWVuY2VOdW1iZXI7Ci0KLSAgICBX
ZWJDb3JlOjpJbnRQb2ludCBzY3JvbGxQb3NpdGlvbjsKLSAgICBib29sIHNob3VsZFJlc3RvcmVT
Y3JvbGxQb3NpdGlvbjsKLSAgICBmbG9hdCBwYWdlU2NhbGVGYWN0b3I7Ci0KLSAgICBzdGQ6Om9w
dGlvbmFsPFdlYktpdDo6SFRUUEJvZHk+IGh0dHBCb2R5OwotCi0jaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKLSAgICBXZWJDb3JlOjpGbG9hdFJlY3QgZXhwb3NlZENvbnRlbnRSZWN0OwotICAgIFdl
YkNvcmU6OkludFJlY3QgdW5vYnNjdXJlZENvbnRlbnRSZWN0OwotICAgIFdlYkNvcmU6OkZsb2F0
U2l6ZSBtaW5pbXVtTGF5b3V0U2l6ZUluU2Nyb2xsVmlld0Nvb3JkaW5hdGVzOwotICAgIFdlYkNv
cmU6OkludFNpemUgY29udGVudFNpemU7Ci0gICAgYm9vbCBzY2FsZUlzSW5pdGlhbDsKLSAgICBX
ZWJDb3JlOjpGbG9hdEJveEV4dGVudCBvYnNjdXJlZEluc2V0czsKLSNlbmRpZgotCi0gICAgVmVj
dG9yPFdlYktpdDo6RnJhbWVTdGF0ZT4gY2hpbGRyZW47Ci0gICAgW1ZhbGlkYXRvcj0nV2ViS2l0
OjpGcmFtZVN0YXRlOjp2YWxpZGF0ZURvY3VtZW50U3RhdGUoKm1fZG9jdW1lbnRTdGF0ZSknXSBW
ZWN0b3I8QXRvbVN0cmluZz4gbV9kb2N1bWVudFN0YXRlOwotfTsKLQotW0N1c3RvbUhlYWRlcl0g
c3RydWN0IFdlYktpdDo6UGFnZVN0YXRlIHsKLSAgICBTdHJpbmcgdGl0bGU7Ci0gICAgV2ViS2l0
OjpGcmFtZVN0YXRlIG1haW5GcmFtZVN0YXRlOwotICAgIFdlYkNvcmU6OlNob3VsZE9wZW5FeHRl
cm5hbFVSTHNQb2xpY3kgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTsKLSAgICBSZWZQdHI8
V2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBzZXNzaW9uU3RhdGVPYmplY3Q7Ci0gICAg
Ym9vbCB3YXNDcmVhdGVkQnlKU1dpdGhvdXRVc2VySW50ZXJhY3Rpb247Ci19OwotCi1bQ3VzdG9t
SGVhZGVyXSBzdHJ1Y3QgV2ViS2l0OjpCYWNrRm9yd2FyZExpc3RJdGVtU3RhdGUgewotICAgIFdl
YkNvcmU6OkJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIgaWRlbnRpZmllcjsKLQotICAgIFdlYktp
dDo6UGFnZVN0YXRlIHBhZ2VTdGF0ZTsKLSAgICBib29sIGhhc0NhY2hlZFBhZ2U7Ci0gICAgIyBz
bmFwc2hvdCBpcyBub3Qgc2VyaWFsaXplZC4KLX07Ci0KLVtDdXN0b21IZWFkZXJdIHN0cnVjdCBX
ZWJLaXQ6OkJhY2tGb3J3YXJkTGlzdFN0YXRlIHsKLSAgICBWZWN0b3I8V2ViS2l0OjpCYWNrRm9y
d2FyZExpc3RJdGVtU3RhdGU+IGl0ZW1zOwotICAgIHN0ZDo6b3B0aW9uYWw8dWludDMyX3Q+IGN1
cnJlbnRJbmRleDsKLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmNwcAppbmRleCA4Y2FmZTc1ZWZhMzYuLmI5ZDBlZmJhZjdiMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC05Miw3ICs5Miw2
IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvU2VyaWFsaXplZEF0dGFjaG1lbnREYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXJpYWxp
emVkUGxhdGZvcm1EYXRhQ3VlVmFsdWUuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1NlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2VydmljZVdvcmtlckNsaWVudERhdGEu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1NlcnZpY2VXb3JrZXJEYXRhLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9TaGFyZURhdGEuaD4KQEAgLTIwNjksMzEgKzIwNjgsNiBAQCBib29sIEFyZ3VtZW50Q29k
ZXI8SURCS2V5UGF0aD46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBJREJLZXlQYXRoJiBrZXlQ
YXRoKQogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIEFyZ3VtZW50Q29kZXI8UmVmUHRyPFdl
YkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4+OjplbmNvZGUoRW5jb2RlciYgZW5jb2Rlciwg
Y29uc3QgUmVmUHRyPFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mIGluc3RhbmNlKQot
ewotICAgIGVuY29kZXIgPDwgISFpbnN0YW5jZTsKLSAgICBpZiAoaW5zdGFuY2UpCi0gICAgICAg
IGVuY29kZXIgPDwgaW5zdGFuY2UtPndpcmVCeXRlcygpOwotfQotCi1zdGQ6Om9wdGlvbmFsPFJl
ZlB0cjxXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU+PiBBcmd1bWVudENvZGVyPFJlZlB0
cjxXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU+Pjo6ZGVjb2RlKERlY29kZXImIGRlY29k
ZXIpCi17Ci0gICAgc3RkOjpvcHRpb25hbDxib29sPiBub25FbXB0eTsKLSAgICBkZWNvZGVyID4+
IG5vbkVtcHR5OwotICAgIGlmICghbm9uRW1wdHkpCi0gICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7Ci0KLSAgICBpZiAoISpub25FbXB0eSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAg
ICBzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4gd2lyZUJ5dGVzOwotICAgIGRlY29kZXIg
Pj4gd2lyZUJ5dGVzOwotICAgIGlmICghd2lyZUJ5dGVzKQotICAgICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OwotCi0gICAgcmV0dXJuIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlRnJvbVdp
cmVCeXRlcyhXVEZNb3ZlKCp3aXJlQnl0ZXMpKTsKLX0KLQogI2lmIEVOQUJMRShTRVJWSUNFX1dP
UktFUikKIHZvaWQgQXJndW1lbnRDb2RlcjxTZXJ2aWNlV29ya2VyT3JDbGllbnREYXRhPjo6ZW5j
b2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJPckNsaWVudERhdGEmIGRh
dGEpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCmlu
ZGV4IGU5Yzk2MjVjMTY5ZS4uY2Y1OGYyZDExZTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtMTQzLDcgKzE0Myw2IEBAIGNsYXNzIFJlc291
cmNlUmVxdWVzdDsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBTY3JpcHRCdWZmZXI7
CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKLWNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKIGNs
YXNzIEZyYWdtZW50ZWRTaGFyZWRCdWZmZXI7CiBjbGFzcyBTdGlja3lQb3NpdGlvblZpZXdwb3J0
Q29uc3RyYWludHM7CiBjbGFzcyBTeXN0ZW1JbWFnZTsKQEAgLTMxMywxMCArMzEyLDYgQEAgdGVt
cGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpDdXJzb3I+IHsKICAgICBzdGF0
aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKERlY29kZXImLCBXZWJDb3JlOjpDdXJz
b3ImKTsKIH07CiAKLXRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8UmVmUHRyPFdlYkNv
cmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4+IHsKLSAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5j
b2RlciYsIGNvbnN0IFJlZlB0cjxXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU+Jik7Ci0g
ICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8UmVmUHRyPFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZT4+IGRlY29kZShEZWNvZGVyJik7Ci19OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVu
dENvZGVyPFdlYkNvcmU6OkZvbnQ+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYs
IGNvbnN0IFdlYkNvcmU6OkZvbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXdTZXNzaW9uU3RhdGUuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlld1Nlc3Npb25TdGF0ZS5jcHAKaW5kZXgg
ODFlNzgyNDMyMDZhLi4yODkxODU5NzlhOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXdTZXNzaW9uU3RhdGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXdTZXNzaW9uU3RhdGUuY3Bw
CkBAIC0xMDYsMjAgKzEwNiwzNCBAQCBlbnVtIEhUTUxCb2R5RWxlbWVudFR5cGUgewogICAgIEJs
b2IKIH07CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgdG9IVE1MQm9keUVsZW1lbnRUeXBlKHNp
emVfdCBpbmRleCkKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgdG9IVE1MQm9keUVsZW1lbnRUeXBl
KEhUVFBCb2R5OjpFbGVtZW50OjpUeXBlIHR5cGUpCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7Ci0g
ICAgY2FzZSBXVEY6OmFsdGVybmF0aXZlSW5kZXhWPFZlY3Rvcjx1aW50OF90PiwgSFRUUEJvZHk6
OkVsZW1lbnQ6OkRhdGE+OgorICAgIGNhc2UgSFRUUEJvZHk6OkVsZW1lbnQ6OlR5cGU6OkRhdGE6
CiAgICAgICAgIHJldHVybiBIVE1MQm9keUVsZW1lbnRUeXBlOjpEYXRhOwotICAgIGNhc2UgV1RG
OjphbHRlcm5hdGl2ZUluZGV4VjxIVFRQQm9keTo6RWxlbWVudDo6RmlsZURhdGEsIEhUVFBCb2R5
OjpFbGVtZW50OjpEYXRhPjoKKyAgICBjYXNlIEhUVFBCb2R5OjpFbGVtZW50OjpUeXBlOjpGaWxl
OgogICAgICAgICByZXR1cm4gSFRNTEJvZHlFbGVtZW50VHlwZTo6RmlsZTsKLSAgICBjYXNlIFdU
Rjo6YWx0ZXJuYXRpdmVJbmRleFY8U3RyaW5nLCBIVFRQQm9keTo6RWxlbWVudDo6RGF0YT46Cisg
ICAgY2FzZSBIVFRQQm9keTo6RWxlbWVudDo6VHlwZTo6QmxvYjoKICAgICAgICAgcmV0dXJuIEhU
TUxCb2R5RWxlbWVudFR5cGU6OkJsb2I7CiAgICAgfQogCiAgICAgcmV0dXJuIEhUTUxCb2R5RWxl
bWVudFR5cGU6OkRhdGE7CiB9CiAKK3N0YXRpYyBpbmxpbmUgSFRUUEJvZHk6OkVsZW1lbnQ6OlR5
cGUgdG9IVFRQQm9keUVsZW1lbnRUeXBlKHVuc2lnbmVkIHR5cGUpCit7CisgICAgc3dpdGNoICh0
eXBlKSB7CisgICAgY2FzZSBIVE1MQm9keUVsZW1lbnRUeXBlOjpEYXRhOgorICAgICAgICByZXR1
cm4gSFRUUEJvZHk6OkVsZW1lbnQ6OlR5cGU6OkRhdGE7CisgICAgY2FzZSBIVE1MQm9keUVsZW1l
bnRUeXBlOjpGaWxlOgorICAgICAgICByZXR1cm4gSFRUUEJvZHk6OkVsZW1lbnQ6OlR5cGU6OkZp
bGU7CisgICAgY2FzZSBIVE1MQm9keUVsZW1lbnRUeXBlOjpCbG9iOgorICAgICAgICByZXR1cm4g
SFRUUEJvZHk6OkVsZW1lbnQ6OlR5cGU6OkJsb2I7CisgICAgfQorCisgICAgcmV0dXJuIEhUVFBC
b2R5OjpFbGVtZW50OjpUeXBlOjpEYXRhOworfQorCiBzdGF0aWMgaW5saW5lIHZvaWQgZW5jb2Rl
SFRUUEJvZHkoR1ZhcmlhbnRCdWlsZGVyKiBzZXNzaW9uQnVpbGRlciwgY29uc3QgSFRUUEJvZHkm
IGh0dHBCb2R5KQogewogICAgIGdfdmFyaWFudF9idWlsZGVyX29wZW4oc2Vzc2lvbkJ1aWxkZXIs
IEdfVkFSSUFOVF9UWVBFKCIoc2EiIEhUVFBfQk9EWV9FTEVNRU5UX1RZUEVfU1RSSU5HX1YxICIp
IikpOwpAQCAtMTI3LDM4ICsxNDEsMjIgQEAgc3RhdGljIGlubGluZSB2b2lkIGVuY29kZUhUVFBC
b2R5KEdWYXJpYW50QnVpbGRlciogc2Vzc2lvbkJ1aWxkZXIsIGNvbnN0IEhUVFBCb2QKICAgICBn
X3ZhcmlhbnRfYnVpbGRlcl9vcGVuKHNlc3Npb25CdWlsZGVyLCBHX1ZBUklBTlRfVFlQRSgiYSIg
SFRUUF9CT0RZX0VMRU1FTlRfVFlQRV9TVFJJTkdfVjEpKTsKICAgICBnX3ZhcmlhbnRfYnVpbGRl
cl9vcGVuKHNlc3Npb25CdWlsZGVyLCBHX1ZBUklBTlRfVFlQRShIVFRQX0JPRFlfRUxFTUVOVF9U
WVBFX1NUUklOR19WMSkpOwogICAgIGZvciAoY29uc3QgYXV0byYgZWxlbWVudCA6IGh0dHBCb2R5
LmVsZW1lbnRzKSB7Ci0gICAgICAgIGdfdmFyaWFudF9idWlsZGVyX2FkZChzZXNzaW9uQnVpbGRl
ciwgInUiLCB0b0hUTUxCb2R5RWxlbWVudFR5cGUoZWxlbWVudC5kYXRhLmluZGV4KCkpKTsKLQor
ICAgICAgICBnX3ZhcmlhbnRfYnVpbGRlcl9hZGQoc2Vzc2lvbkJ1aWxkZXIsICJ1IiwgdG9IVE1M
Qm9keUVsZW1lbnRUeXBlKGVsZW1lbnQudHlwZSkpOwogICAgICAgICBnX3ZhcmlhbnRfYnVpbGRl
cl9vcGVuKHNlc3Npb25CdWlsZGVyLCBHX1ZBUklBTlRfVFlQRSgiYXkiKSk7Ci0gICAgICAgIGlm
IChhdXRvKiB2ZWN0b3IgPSBzdGQ6OmdldF9pZjxWZWN0b3I8dWludDhfdD4+KCZlbGVtZW50LmRh
dGEpKSB7Ci0gICAgICAgICAgICBmb3IgKGF1dG8gaXRlbSA6IHZlY3RvcikKLSAgICAgICAgICAg
ICAgICBnX3ZhcmlhbnRfYnVpbGRlcl9hZGQoc2Vzc2lvbkJ1aWxkZXIsICJ5IiwgaXRlbSk7Ci0g
ICAgICAgIH0KKyAgICAgICAgZm9yIChhdXRvIGl0ZW0gOiBlbGVtZW50LmRhdGEpCisgICAgICAg
ICAgICBnX3ZhcmlhbnRfYnVpbGRlcl9hZGQoc2Vzc2lvbkJ1aWxkZXIsICJ5IiwgaXRlbSk7CiAg
ICAgICAgIGdfdmFyaWFudF9idWlsZGVyX2Nsb3NlKHNlc3Npb25CdWlsZGVyKTsKLQotICAgICAg
ICBpZiAoYXV0byogZmlsZURhdGEgPSBzdGQ6OmdldF9pZjxWZWN0b3I8dWludDhfdD4+KCZlbGVt
ZW50LmRhdGEpKSB7Ci0gICAgICAgICAgICBnX3ZhcmlhbnRfYnVpbGRlcl9hZGQoc2Vzc2lvbkJ1
aWxkZXIsICJzIiwgZmlsZURhdGEtPmZpbGVQYXRoLnV0ZjgoKS5kYXRhKCkpOwotICAgICAgICAg
ICAgZ192YXJpYW50X2J1aWxkZXJfYWRkKHNlc3Npb25CdWlsZGVyLCAieCIsIGZpbGVEYXRhLT5m
aWxlU3RhcnQpOwotICAgICAgICAgICAgaWYgKGZpbGVEYXRhLT5maWxlTGVuZ3RoKQotICAgICAg
ICAgICAgICAgIGdfdmFyaWFudF9idWlsZGVyX2FkZChzZXNzaW9uQnVpbGRlciwgIm14IiwgVFJV
RSwgZmlsZURhdGEtPmZpbGVMZW5ndGgudmFsdWUoKSk7Ci0gICAgICAgICAgICBlbHNlCi0gICAg
ICAgICAgICAgICAgZ192YXJpYW50X2J1aWxkZXJfYWRkKHNlc3Npb25CdWlsZGVyLCAibXgiLCBG
QUxTRSk7Ci0gICAgICAgICAgICBpZiAoZmlsZURhdGEtPmV4cGVjdGVkRmlsZU1vZGlmaWNhdGlv
blRpbWUpCi0gICAgICAgICAgICAgICAgZ192YXJpYW50X2J1aWxkZXJfYWRkKHNlc3Npb25CdWls
ZGVyLCAibWQiLCBUUlVFLCBmaWxlRGF0YS0+ZXhwZWN0ZWRGaWxlTW9kaWZpY2F0aW9uVGltZS52
YWx1ZSgpKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBnX3ZhcmlhbnRfYnVp
bGRlcl9hZGQoc2Vzc2lvbkJ1aWxkZXIsICJtZCIsIEZBTFNFKTsKLSAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgIGdfdmFyaWFudF9idWlsZGVyX2FkZChzZXNzaW9uQnVpbGRlciwgInMiLCAi
Iik7Ci0gICAgICAgICAgICBpbnQ2NF90IGZpbGVTdGFydCB7IDAgfTsKLSAgICAgICAgICAgIGdf
dmFyaWFudF9idWlsZGVyX2FkZChzZXNzaW9uQnVpbGRlciwgIngiLCBmaWxlU3RhcnQpOworICAg
ICAgICBnX3ZhcmlhbnRfYnVpbGRlcl9hZGQoc2Vzc2lvbkJ1aWxkZXIsICJzIiwgZWxlbWVudC5m
aWxlUGF0aC51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgZ192YXJpYW50X2J1aWxkZXJfYWRkKHNl
c3Npb25CdWlsZGVyLCAieCIsIGVsZW1lbnQuZmlsZVN0YXJ0KTsKKyAgICAgICAgaWYgKGVsZW1l
bnQuZmlsZUxlbmd0aCkKKyAgICAgICAgICAgIGdfdmFyaWFudF9idWlsZGVyX2FkZChzZXNzaW9u
QnVpbGRlciwgIm14IiwgVFJVRSwgZWxlbWVudC5maWxlTGVuZ3RoLnZhbHVlKCkpOworICAgICAg
ICBlbHNlCiAgICAgICAgICAgICBnX3ZhcmlhbnRfYnVpbGRlcl9hZGQoc2Vzc2lvbkJ1aWxkZXIs
ICJteCIsIEZBTFNFKTsKLSAgICAgICAgICAgIGdfdmFyaWFudF9idWlsZGVyX2FkZChzZXNzaW9u
QnVpbGRlciwgIm1kIiwgRkFMU0UpOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKGF1dG8qIGJs
b2JVUkxTdHJpbmcgPSBzdGQ6OmdldF9pZjxTdHJpbmc+KCZlbGVtZW50LmRhdGEpKQotICAgICAg
ICAgICAgZ192YXJpYW50X2J1aWxkZXJfYWRkKHNlc3Npb25CdWlsZGVyLCAicyIsIGJsb2JVUkxT
dHJpbmctPnV0ZjgoKS5kYXRhKCkpOworICAgICAgICBpZiAoZWxlbWVudC5leHBlY3RlZEZpbGVN
b2RpZmljYXRpb25UaW1lKQorICAgICAgICAgICAgZ192YXJpYW50X2J1aWxkZXJfYWRkKHNlc3Np
b25CdWlsZGVyLCAibWQiLCBUUlVFLCBlbGVtZW50LmV4cGVjdGVkRmlsZU1vZGlmaWNhdGlvblRp
bWUudmFsdWUoKSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGdfdmFyaWFudF9idWlsZGVy
X2FkZChzZXNzaW9uQnVpbGRlciwgInMiLCAiIik7CisgICAgICAgICAgICBnX3ZhcmlhbnRfYnVp
bGRlcl9hZGQoc2Vzc2lvbkJ1aWxkZXIsICJtZCIsIEZBTFNFKTsKKyAgICAgICAgZ192YXJpYW50
X2J1aWxkZXJfYWRkKHNlc3Npb25CdWlsZGVyLCAicyIsIGVsZW1lbnQuYmxvYlVSTFN0cmluZy51
dGY4KCkuZGF0YSgpKTsKICAgICB9CiAgICAgZ192YXJpYW50X2J1aWxkZXJfY2xvc2Uoc2Vzc2lv
bkJ1aWxkZXIpOwogICAgIGdfdmFyaWFudF9idWlsZGVyX2Nsb3NlKHNlc3Npb25CdWlsZGVyKTsK
QEAgLTI2OSwyOSArMjY3LDIyIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBkZWNvZGVIVFRQQm9keShH
VmFyaWFudCogaHR0cEJvZHlWYXJpYW50LCBIVFRQQm9keSYgaHR0cEJvZHkpCiAgICAgY29uc3Qg
Y2hhciogYmxvYlVSTFN0cmluZzsKICAgICB3aGlsZSAoZ192YXJpYW50X2l0ZXJfbG9vcChlbGVt
ZW50c0l0ZXIuZ2V0KCksIEhUVFBfQk9EWV9FTEVNRU5UX0ZPUk1BVF9TVFJJTkdfVjEsICZ0eXBl
LCAmZGF0YUl0ZXIsICZmaWxlUGF0aCwgJmZpbGVTdGFydCwgJmhhc0ZpbGVMZW5ndGgsICZmaWxl
TGVuZ3RoLCAmaGFzRmlsZU1vZGlmaWNhdGlvblRpbWUsICZmaWxlTW9kaWZpY2F0aW9uVGltZSwg
JmJsb2JVUkxTdHJpbmcpKSB7CiAgICAgICAgIEhUVFBCb2R5OjpFbGVtZW50IGVsZW1lbnQ7Ci0g
ICAgICAgIHN3aXRjaCAodHlwZSkgewotICAgICAgICBjYXNlIFdURjo6YWx0ZXJuYXRpdmVJbmRl
eFY8VmVjdG9yPHVpbnQ4X3Q+LCBIVFRQQm9keTo6RWxlbWVudDo6RGF0YT46Ci0gICAgICAgICAg
ICBpZiAoZ3NpemUgZGF0YUxlbmd0aCA9IGdfdmFyaWFudF9pdGVyX25fY2hpbGRyZW4oZGF0YUl0
ZXIpKSB7Ci0gICAgICAgICAgICAgICAgVmVjdG9yPHVpbnQ4X3Q+IGRhdGE7Ci0gICAgICAgICAg
ICAgICAgZGF0YS5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KGRhdGFMZW5ndGgpOwotICAgICAgICAg
ICAgICAgIGd1Y2hhciBkYXRhVmFsdWU7Ci0gICAgICAgICAgICAgICAgd2hpbGUgKGdfdmFyaWFu
dF9pdGVyX25leHQoZGF0YUl0ZXIsICJ5IiwgJmRhdGFWYWx1ZSkpCi0gICAgICAgICAgICAgICAg
ICAgIGRhdGEudW5jaGVja2VkQXBwZW5kKGRhdGFWYWx1ZSk7Ci0gICAgICAgICAgICAgICAgaHR0
cEJvZHkuZWxlbWVudHMudW5jaGVja2VkQXBwZW5kKHsgV1RGTW92ZShkYXRhKSB9KTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgY2FzZSBXVEY6OmFsdGVybmF0aXZlSW5kZXhWPEhUVFBCb2R5OjpF
bGVtZW50OjpGaWxlRGF0YSwgSFRUUEJvZHk6OkVsZW1lbnQ6OkRhdGE+OiB7Ci0gICAgICAgICAg
ICBGaWxlRGF0YSBmaWxlRGF0YTsKLSAgICAgICAgICAgIGZpbGVEYXRhLmZpbGVQYXRoID0gU3Ry
aW5nOjpmcm9tVVRGOChmaWxlUGF0aCk7Ci0gICAgICAgICAgICBmaWxlRGF0YS5maWxlU3RhcnQg
PSBmaWxlU3RhcnQ7Ci0gICAgICAgICAgICBpZiAoaGFzRmlsZUxlbmd0aCkKLSAgICAgICAgICAg
ICAgICBmaWxlRGF0YS5maWxlTGVuZ3RoID0gZmlsZUxlbmd0aDsKLSAgICAgICAgICAgIGlmICho
YXNGaWxlTW9kaWZpY2F0aW9uVGltZSkKLSAgICAgICAgICAgICAgICBmaWxlRGF0YS5leHBlY3Rl
ZEZpbGVNb2RpZmljYXRpb25UaW1lID0gV2FsbFRpbWU6OmZyb21SYXdTZWNvbmRzKGZpbGVNb2Rp
ZmljYXRpb25UaW1lKTsKLSAgICAgICAgICAgIGh0dHBCb2R5LmVsZW1lbnRzLnVuY2hlY2tlZEFw
cGVuZCh7IFdURk1vdmUoZmlsZURhdGEpIH0pOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgV1RG
OjphbHRlcm5hdGl2ZUluZGV4VjxTdHJpbmcsIEhUVFBCb2R5OjpFbGVtZW50OjpEYXRhPjoKLSAg
ICAgICAgICAgIGh0dHBCb2R5LmVsZW1lbnRzLnVuY2hlY2tlZEFwcGVuZCh7IFN0cmluZzo6ZnJv
bVVURjgoYmxvYlVSTFN0cmluZykgfSk7CisgICAgICAgIGVsZW1lbnQudHlwZSA9IHRvSFRUUEJv
ZHlFbGVtZW50VHlwZSh0eXBlKTsKKyAgICAgICAgaWYgKGdzaXplIGRhdGFMZW5ndGggPSBnX3Zh
cmlhbnRfaXRlcl9uX2NoaWxkcmVuKGRhdGFJdGVyKSkgeworICAgICAgICAgICAgZWxlbWVudC5k
YXRhLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoZGF0YUxlbmd0aCk7CisgICAgICAgICAgICBndWNo
YXIgZGF0YVZhbHVlOworICAgICAgICAgICAgd2hpbGUgKGdfdmFyaWFudF9pdGVyX25leHQoZGF0
YUl0ZXIsICJ5IiwgJmRhdGFWYWx1ZSkpCisgICAgICAgICAgICAgICAgZWxlbWVudC5kYXRhLnVu
Y2hlY2tlZEFwcGVuZChkYXRhVmFsdWUpOwogICAgICAgICB9CisgICAgICAgIGVsZW1lbnQuZmls
ZVBhdGggPSBTdHJpbmc6OmZyb21VVEY4KGZpbGVQYXRoKTsKKyAgICAgICAgZWxlbWVudC5maWxl
U3RhcnQgPSBmaWxlU3RhcnQ7CisgICAgICAgIGlmIChoYXNGaWxlTGVuZ3RoKQorICAgICAgICAg
ICAgZWxlbWVudC5maWxlTGVuZ3RoID0gZmlsZUxlbmd0aDsKKyAgICAgICAgaWYgKGhhc0ZpbGVN
b2RpZmljYXRpb25UaW1lKQorICAgICAgICAgICAgZWxlbWVudC5leHBlY3RlZEZpbGVNb2RpZmlj
YXRpb25UaW1lID0gV2FsbFRpbWU6OmZyb21SYXdTZWNvbmRzKGZpbGVNb2RpZmljYXRpb25UaW1l
KTsKKyAgICAgICAgZWxlbWVudC5ibG9iVVJMU3RyaW5nID0gU3RyaW5nOjpmcm9tVVRGOChibG9i
VVJMU3RyaW5nKTsKKworICAgICAgICBodHRwQm9keS5lbGVtZW50cy51bmNoZWNrZWRBcHBlbmQo
V1RGTW92ZShlbGVtZW50KSk7CiAgICAgfQogCiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvTGVnYWN5U2Vzc2lvblN0YXRlQ29kaW5nLmNw
cCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9MZWdhY3lTZXNzaW9uU3RhdGVDb2Rpbmcu
Y3BwCmluZGV4IGMxNWI1NjgyNjE5NS4uZDQ2OGUxMTM5YjI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9tYWMvTGVnYWN5U2Vzc2lvblN0YXRlQ29kaW5nLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvTGVnYWN5U2Vzc2lvblN0YXRlQ29kaW5nLmNwcApA
QCAtMjU5LDEzICsyNTksMjkgQEAgZW51bSBjbGFzcyBGb3JtRGF0YUVsZW1lbnRUeXBlIHsKICAg
ICBFbmNvZGVkQmxvYiA9IDIsCiB9OwogCitzdGF0aWMgYm9vbCBpc1ZhbGlkRW51bShGb3JtRGF0
YUVsZW1lbnRUeXBlIHR5cGUpCit7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBGb3Jt
RGF0YUVsZW1lbnRUeXBlOjpEYXRhOgorICAgIGNhc2UgRm9ybURhdGFFbGVtZW50VHlwZTo6RW5j
b2RlZEZpbGU6CisgICAgY2FzZSBGb3JtRGF0YUVsZW1lbnRUeXBlOjpFbmNvZGVkQmxvYjoKKyAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQorCiBzdGF0
aWMgdm9pZCBlbmNvZGVGb3JtRGF0YUVsZW1lbnQoSGlzdG9yeUVudHJ5RGF0YUVuY29kZXImIGVu
Y29kZXIsIGNvbnN0IEhUVFBCb2R5OjpFbGVtZW50JiBlbGVtZW50KQogewotICAgIGVuY29kZXIg
PDwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGVsZW1lbnQuZGF0YS5pbmRleCgpKTsKLSAgICBXVEY6
OnN3aXRjaE9uKGVsZW1lbnQuZGF0YSwgWyZdIChjb25zdCBWZWN0b3I8dWludDhfdD4mIGRhdGEp
IHsKLSAgICAgICAgZW5jb2RlciA8PCBkYXRhOwotICAgIH0sIFsmXSAoY29uc3QgSFRUUEJvZHk6
OkVsZW1lbnQ6OkZpbGVEYXRhJiBmaWxlRGF0YSkgewotICAgICAgICBlbmNvZGVyIDw8IGZpbGVE
YXRhLmZpbGVQYXRoOworICAgIHN3aXRjaCAoZWxlbWVudC50eXBlKSB7CisgICAgY2FzZSBIVFRQ
Qm9keTo6RWxlbWVudDo6VHlwZTo6RGF0YToKKyAgICAgICAgZW5jb2RlciA8PCBGb3JtRGF0YUVs
ZW1lbnRUeXBlOjpEYXRhOworICAgICAgICBlbmNvZGVyIDw8IGVsZW1lbnQuZGF0YTsKKyAgICAg
ICAgYnJlYWs7CisKKyAgICBjYXNlIEhUVFBCb2R5OjpFbGVtZW50OjpUeXBlOjpGaWxlOgorICAg
ICAgICBlbmNvZGVyIDw8IEZvcm1EYXRhRWxlbWVudFR5cGU6OkVuY29kZWRGaWxlOworICAgICAg
ICBlbmNvZGVyIDw8IGVsZW1lbnQuZmlsZVBhdGg7CiAKICAgICAgICAgLy8gVXNlZCB0byBiZSBn
ZW5lcmF0ZWRGaWxlbmFtZS4KICAgICAgICAgZW5jb2RlciA8PCBTdHJpbmcoKTsKQEAgLTI3Mywx
MyArMjg5LDE2IEBAIHN0YXRpYyB2b2lkIGVuY29kZUZvcm1EYXRhRWxlbWVudChIaXN0b3J5RW50
cnlEYXRhRW5jb2RlciYgZW5jb2RlciwgY29uc3QgSFRUUEJvCiAgICAgICAgIC8vIFVzZWQgdG8g
YmUgc2hvdWxkR2VuZXJhdGVGaWxlLgogICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOwogCi0gICAg
ICAgIGVuY29kZXIgPDwgZmlsZURhdGEuZmlsZVN0YXJ0OwotICAgICAgICBlbmNvZGVyIDw8IGZp
bGVEYXRhLmZpbGVMZW5ndGgudmFsdWVfb3IoLTEpOwotICAgICAgICBlbmNvZGVyIDw8IGZpbGVE
YXRhLmV4cGVjdGVkRmlsZU1vZGlmaWNhdGlvblRpbWUudmFsdWVfb3IoV2FsbFRpbWU6Om5hbigp
KS5zZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVlKCk7CisgICAgICAgIGVuY29kZXIgPDwgZWxlbWVu
dC5maWxlU3RhcnQ7CisgICAgICAgIGVuY29kZXIgPDwgZWxlbWVudC5maWxlTGVuZ3RoLnZhbHVl
X29yKC0xKTsKKyAgICAgICAgZW5jb2RlciA8PCBlbGVtZW50LmV4cGVjdGVkRmlsZU1vZGlmaWNh
dGlvblRpbWUudmFsdWVfb3IoV2FsbFRpbWU6Om5hbigpKS5zZWNvbmRzU2luY2VFcG9jaCgpLnZh
bHVlKCk7CisgICAgICAgIGJyZWFrOwogCi0gICAgfSwgWyZdIChjb25zdCBTdHJpbmcmIGJsb2JV
UkxTdHJpbmcpIHsKLSAgICAgICAgZW5jb2RlciA8PCBibG9iVVJMU3RyaW5nOwotICAgIH0pOwor
ICAgIGNhc2UgSFRUUEJvZHk6OkVsZW1lbnQ6OlR5cGU6OkJsb2I6CisgICAgICAgIGVuY29kZXIg
PDwgRm9ybURhdGFFbGVtZW50VHlwZTo6RW5jb2RlZEJsb2I7CisgICAgICAgIGVuY29kZXIgPDwg
ZWxlbWVudC5ibG9iVVJMU3RyaW5nOworICAgICAgICBicmVhazsKKyAgICB9CiB9CiAKIHN0YXRp
YyB2b2lkIGVuY29kZUZvcm1EYXRhKEhpc3RvcnlFbnRyeURhdGFFbmNvZGVyJiBlbmNvZGVyLCBj
b25zdCBIVFRQQm9keSYgZm9ybURhdGEpCkBAIC0zMTQsNyArMzMzLDcgQEAgc3RhdGljIHZvaWQg
ZW5jb2RlRnJhbWVTdGF0ZU5vZGUoSGlzdG9yeUVudHJ5RGF0YUVuY29kZXImIGVuY29kZXIsIGNv
bnN0IEZyYW1lU3QKIAogICAgIGVuY29kZXIgPDwgZnJhbWVTdGF0ZS5kb2N1bWVudFNlcXVlbmNl
TnVtYmVyOwogCi0gICAgRnJhbWVTdGF0ZTo6dmFsaWRhdGVEb2N1bWVudFN0YXRlKGZyYW1lU3Rh
dGUuZG9jdW1lbnRTdGF0ZSgpKTsKKyAgICBmcmFtZVN0YXRlLnZhbGlkYXRlRG9jdW1lbnRTdGF0
ZSgpOwogICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDY0X3Q+KGZyYW1lU3RhdGUuZG9j
dW1lbnRTdGF0ZSgpLnNpemUoKSk7CiAgICAgZm9yIChjb25zdCBhdXRvJiBkb2N1bWVudFN0YXRl
IDogZnJhbWVTdGF0ZS5kb2N1bWVudFN0YXRlKCkpCiAgICAgICAgIGVuY29kZXIgPDwgZG9jdW1l
bnRTdGF0ZTsKQEAgLTc5NCwyMiArODEzLDE5IEBAIHByaXZhdGU6CiAKIHN0YXRpYyB2b2lkIGRl
Y29kZUZvcm1EYXRhRWxlbWVudChIaXN0b3J5RW50cnlEYXRhRGVjb2RlciYgZGVjb2RlciwgSFRU
UEJvZHk6OkVsZW1lbnQmIGZvcm1EYXRhRWxlbWVudCkKIHsKLSAgICB1aW50MzJfdCBlbGVtZW50
VHlwZTsKKyAgICBzdGQ6Om9wdGlvbmFsPEZvcm1EYXRhRWxlbWVudFR5cGU+IGVsZW1lbnRUeXBl
OwogICAgIGRlY29kZXIgPj4gZWxlbWVudFR5cGU7Ci0gICAgaWYgKCFkZWNvZGVyLmlzVmFsaWQo
KSkKKyAgICBpZiAoIWVsZW1lbnRUeXBlKQogICAgICAgICByZXR1cm47CiAKLSAgICBzd2l0Y2gg
KGVsZW1lbnRUeXBlKSB7Ci0gICAgY2FzZSBXVEY6OmFsdGVybmF0aXZlSW5kZXhWPFZlY3Rvcjx1
aW50OF90PiwgSFRUUEJvZHk6OkVsZW1lbnQ6OkRhdGE+OiB7Ci0gICAgICAgIFZlY3Rvcjx1aW50
OF90PiBkYXRhOwotICAgICAgICBkZWNvZGVyID4+IGRhdGE7Ci0gICAgICAgIGZvcm1EYXRhRWxl
bWVudC5kYXRhID0gV1RGTW92ZShkYXRhKTsKKyAgICBzd2l0Y2ggKGVsZW1lbnRUeXBlLnZhbHVl
KCkpIHsKKyAgICBjYXNlIEZvcm1EYXRhRWxlbWVudFR5cGU6OkRhdGE6CisgICAgICAgIGZvcm1E
YXRhRWxlbWVudC50eXBlID0gSFRUUEJvZHk6OkVsZW1lbnQ6OlR5cGU6OkRhdGE7CisgICAgICAg
IGRlY29kZXIgPj4gZm9ybURhdGFFbGVtZW50LmRhdGE7CiAgICAgICAgIGJyZWFrOwotICAgIH0K
IAotICAgIGNhc2UgV1RGOjphbHRlcm5hdGl2ZUluZGV4VjxIVFRQQm9keTo6RWxlbWVudDo6Rmls
ZURhdGEsIEhUVFBCb2R5OjpFbGVtZW50OjpEYXRhPjogewotICAgICAgICBIVFRQQm9keTo6RWxl
bWVudDo6RmlsZURhdGEgZmlsZURhdGE7Ci0gICAgICAgIGRlY29kZXIgPj4gZmlsZURhdGEuZmls
ZVBhdGg7CisgICAgY2FzZSBGb3JtRGF0YUVsZW1lbnRUeXBlOjpFbmNvZGVkRmlsZTogeworICAg
ICAgICBkZWNvZGVyID4+IGZvcm1EYXRhRWxlbWVudC5maWxlUGF0aDsKIAogICAgICAgICBTdHJp
bmcgZ2VuZXJhdGVkRmlsZW5hbWU7CiAgICAgICAgIGRlY29kZXIgPj4gZ2VuZXJhdGVkRmlsZW5h
bWU7CkBAIC04MTcsOCArODMzLDggQEAgc3RhdGljIHZvaWQgZGVjb2RlRm9ybURhdGFFbGVtZW50
KEhpc3RvcnlFbnRyeURhdGFEZWNvZGVyJiBkZWNvZGVyLCBIVFRQQm9keTo6RWwKICAgICAgICAg
Ym9vbCBzaG91bGRHZW5lcmF0ZUZpbGU7CiAgICAgICAgIGRlY29kZXIgPj4gc2hvdWxkR2VuZXJh
dGVGaWxlOwogCi0gICAgICAgIGRlY29kZXIgPj4gZmlsZURhdGEuZmlsZVN0YXJ0OwotICAgICAg
ICBpZiAoZmlsZURhdGEuZmlsZVN0YXJ0IDwgMCkgeworICAgICAgICBkZWNvZGVyID4+IGZvcm1E
YXRhRWxlbWVudC5maWxlU3RhcnQ7CisgICAgICAgIGlmIChmb3JtRGF0YUVsZW1lbnQuZmlsZVN0
YXJ0IDwgMCkgewogICAgICAgICAgICAgZGVjb2Rlci5tYXJrSW52YWxpZCgpOwogICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICB9CkBAIC04MjYsMjggKzg0MiwyNCBAQCBzdGF0aWMgdm9pZCBk
ZWNvZGVGb3JtRGF0YUVsZW1lbnQoSGlzdG9yeUVudHJ5RGF0YURlY29kZXImIGRlY29kZXIsIEhU
VFBCb2R5OjpFbAogICAgICAgICBpbnQ2NF90IGZpbGVMZW5ndGg7CiAgICAgICAgIGRlY29kZXIg
Pj4gZmlsZUxlbmd0aDsKICAgICAgICAgaWYgKGZpbGVMZW5ndGggIT0gLTEpIHsKLSAgICAgICAg
ICAgIGlmIChmaWxlTGVuZ3RoIDwgZmlsZURhdGEuZmlsZVN0YXJ0KQorICAgICAgICAgICAgaWYg
KGZpbGVMZW5ndGggPCBmb3JtRGF0YUVsZW1lbnQuZmlsZVN0YXJ0KQogICAgICAgICAgICAgICAg
IHJldHVybjsKIAotICAgICAgICAgICAgZmlsZURhdGEuZmlsZUxlbmd0aCA9IGZpbGVMZW5ndGg7
CisgICAgICAgICAgICBmb3JtRGF0YUVsZW1lbnQuZmlsZUxlbmd0aCA9IGZpbGVMZW5ndGg7CiAg
ICAgICAgIH0KIAogICAgICAgICBkb3VibGUgZXhwZWN0ZWRGaWxlTW9kaWZpY2F0aW9uVGltZTsK
ICAgICAgICAgZGVjb2RlciA+PiBleHBlY3RlZEZpbGVNb2RpZmljYXRpb25UaW1lOwogICAgICAg
ICBpZiAoIXN0ZDo6aXNuYW4oZXhwZWN0ZWRGaWxlTW9kaWZpY2F0aW9uVGltZSkpCi0gICAgICAg
ICAgICBmaWxlRGF0YS5leHBlY3RlZEZpbGVNb2RpZmljYXRpb25UaW1lID0gV2FsbFRpbWU6OmZy
b21SYXdTZWNvbmRzKGV4cGVjdGVkRmlsZU1vZGlmaWNhdGlvblRpbWUpOworICAgICAgICAgICAg
Zm9ybURhdGFFbGVtZW50LmV4cGVjdGVkRmlsZU1vZGlmaWNhdGlvblRpbWUgPSBXYWxsVGltZTo6
ZnJvbVJhd1NlY29uZHMoZXhwZWN0ZWRGaWxlTW9kaWZpY2F0aW9uVGltZSk7CiAKLSAgICAgICAg
Zm9ybURhdGFFbGVtZW50LmRhdGEgPSBXVEZNb3ZlKGZpbGVEYXRhKTsKICAgICAgICAgYnJlYWs7
CiAgICAgfQogCi0gICAgY2FzZSBXVEY6OmFsdGVybmF0aXZlSW5kZXhWPFN0cmluZywgSFRUUEJv
ZHk6OkVsZW1lbnQ6OkRhdGE+OiB7Ci0gICAgICAgIFN0cmluZyBibG9iVVJMU3RyaW5nOwotICAg
ICAgICBkZWNvZGVyID4+IGJsb2JVUkxTdHJpbmc7Ci0gICAgICAgIGZvcm1EYXRhRWxlbWVudC5k
YXRhID0gV1RGTW92ZShibG9iVVJMU3RyaW5nKTsKKyAgICBjYXNlIEZvcm1EYXRhRWxlbWVudFR5
cGU6OkVuY29kZWRCbG9iOgorICAgICAgICBkZWNvZGVyID4+IGZvcm1EYXRhRWxlbWVudC5ibG9i
VVJMU3RyaW5nOwogICAgICAgICBicmVhazsKICAgICB9Ci0gICAgfQogfQogCiBzdGF0aWMgdm9p
ZCBkZWNvZGVGb3JtRGF0YShIaXN0b3J5RW50cnlEYXRhRGVjb2RlciYgZGVjb2RlciwgSFRUUEJv
ZHkmIGZvcm1EYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggODc5OTM2MWIwNjQyLi5iODk0OWE1YTNkZWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTMzNSw3ICs1MzM1
LDYgQEAKIAkJNUFCRjJCRUMyODYyMzUzRjAwMERDRTc0IC8qIEdQVVByb2Nlc3NQcmVmZXJlbmNl
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHUFVQcm9jZXNzUHJlZmVyZW5jZXMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1QUJGMkJFRDI4NjIzNTNGMDAwRENFNzQgLyogR1BV
UHJvY2Vzc1ByZWZlcmVuY2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVVByb2Nlc3NQcmVmZXJlbmNl
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1QzAwOTkzQjI0MTdGQjdFMDBENTND
MjUgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BhcmFtZXRlcnMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BhcmFtZXRlcnMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNUMwM0Q1REQyOEY3NjVGODAwRDA5NkFGIC8qIFNl
c3Npb25TdGF0ZS5zZXJpYWxpemF0aW9uLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNlc3Npb25TdGF0ZS5zZXJpYWxpemF0
aW9uLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1QzA1RkRGMjI3QUI0RkE1MDAz
QTI0ODcgLyogUHJpdmF0ZVJlbGF5ZWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJpdmF0ZVJlbGF5ZWQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUMwQTEwQzEyMzUyNDFBMzAwNTNFMkNB
IC8qIE5ldHdvcmtTY2hlbWVSZWdpc3RyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBOZXR3b3JrU2NoZW1lUmVnaXN0cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1QzBCMTc3NDFFN0M4NzlDMDBFOTEyM0MgLyogTmV0d29ya1NvY2tldFN0cmVh
bU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBOZXR3b3JrU29ja2V0U3RyZWFtTWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRT
b3VyY2VzL1dlYktpdC9OZXR3b3JrU29ja2V0U3RyZWFtTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291
cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKQEAgLTgxOTgsNyArODE5Nyw2IEBACiAJ
CQkJNUM5NjAwM0YyOEMwMkVBRjAwRjI2OTNCIC8qIFNlcmlhbGl6ZWRUeXBlSW5mby5oICovLAog
CQkJCTFBRkRFNjU3MTk1NEE0MkIwMEM0OEZGQSAvKiBTZXNzaW9uU3RhdGUuY3BwICovLAogCQkJ
CTFBRkRFNjU4MTk1NEE0MkIwMEM0OEZGQSAvKiBTZXNzaW9uU3RhdGUuaCAqLywKLQkJCQk1QzAz
RDVERDI4Rjc2NUY4MDBEMDk2QUYgLyogU2Vzc2lvblN0YXRlLnNlcmlhbGl6YXRpb24uaW4gKi8s
CiAJCQkJMUE2NDIwRTIxMkRDRTJGRjAwQ0FBRTJDIC8qIFNoYXJlYWJsZUJpdG1hcC5jcHAgKi8s
CiAJCQkJMUE2NDIwRTMxMkRDRTJGRjAwQ0FBRTJDIC8qIFNoYXJlYWJsZUJpdG1hcC5oICovLAog
CQkJCTg2MUE2NDYxMjhGNUEzNzMwMEUyM0M4RiAvKiBTaGFyZWFibGVCaXRtYXAuc2VyaWFsaXph
dGlvbi5pbiAqLywKQEAgLTgyNjIsMTAgKzgyNjAsMTAgQEAKIAkJCQk4NkRENTE4QzI4RUYyMDRG
MDBERjJBNTggLyogV2ViRXZlbnQuc2VyaWFsaXphdGlvbi5pbiAqLywKIAkJCQlCQzAzMkRCMDEw
RjQzODBGMDA1OEMxNUEgLyogV2ViRXZlbnRDb252ZXJzaW9uLmNwcCAqLywKIAkJCQlCQzAzMkRC
MTEwRjQzODBGMDA1OEMxNUEgLyogV2ViRXZlbnRDb252ZXJzaW9uLmggKi8sCi0JCQkJODZERDUx
OEYyOEVGMjhFODAwREYyQTU4IC8qIFdlYkV2ZW50TW9kaWZpZXIuaCAqLywKIAkJCQkxQzAyMzRC
RjI4QTAwRENGMDBBQzFFNUIgLyogV2ViRXh0ZW5zaW9uQ29udGV4dElkZW50aWZpZXIuaCAqLywK
IAkJCQkxQzAyMzRCRTI4QTAwRENGMDBBQzFFNUIgLyogV2ViRXh0ZW5zaW9uQ29udGV4dFBhcmFt
ZXRlcnMuaCAqLywKIAkJCQkxQ0JFRTI2MTI4RjMzNEQ2MDA2RDFBMDIgLyogV2ViRXh0ZW5zaW9u
Q29udGV4dFBhcmFtZXRlcnMuc2VyaWFsaXphdGlvbi5pbiAqLywKKwkJCQk4NkRENTE4RjI4RUYy
OEU4MDBERjJBNTggLyogV2ViRXZlbnRNb2RpZmllci5oICovLAogCQkJCTFDM0JFQjQ4Mjg4NzQx
NTEwMEU2NkUzOCAvKiBXZWJFeHRlbnNpb25Db250cm9sbGVySWRlbnRpZmllci5oICovLAogCQkJ
CTFDM0JFQjQ2Mjg4NzQwQUUwMEU2NkUzOCAvKiBXZWJFeHRlbnNpb25Db250cm9sbGVyUGFyYW1l
dGVycy5oICovLAogCQkJCTFDNEI3QkJGMjhFN0E0M0YwMEI3MjY1QSAvKiBXZWJFeHRlbnNpb25D
b250cm9sbGVyUGFyYW1ldGVycy5zZXJpYWxpemF0aW9uLmluICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1Nlc3Npb25TdGF0ZUNvbnZlcnNp
b24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1Nlc3Npb25T
dGF0ZUNvbnZlcnNpb24uY3BwCmluZGV4IGFiNGRlYzNlZWE5ZS4uMzcxNzE1YTI3ZmQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvU2Vzc2lvblN0
YXRlQ29udmVyc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1Nlc3Npb25TdGF0ZUNvbnZlcnNpb24uY3BwCkBAIC00NCwxNyArNDQsMTYgQEAgc3Rh
dGljIEhUVFBCb2R5IHRvSFRUUEJvZHkoY29uc3QgRm9ybURhdGEmIGZvcm1EYXRhKQogCiAgICAg
ICAgIHN3aXRjaE9uKGZvcm1EYXRhRWxlbWVudC5kYXRhLAogICAgICAgICAgICAgWyZdIChjb25z
dCBWZWN0b3I8dWludDhfdD4mIGJ5dGVzKSB7CisgICAgICAgICAgICAgICAgZWxlbWVudC50eXBl
ID0gSFRUUEJvZHk6OkVsZW1lbnQ6OlR5cGU6OkRhdGE7CiAgICAgICAgICAgICAgICAgZWxlbWVu
dC5kYXRhID0gYnl0ZXM7CiAgICAgICAgICAgICB9LCBbJl0gKGNvbnN0IEZvcm1EYXRhRWxlbWVu
dDo6RW5jb2RlZEZpbGVEYXRhJiBmaWxlRGF0YSkgewotICAgICAgICAgICAgICAgIEhUVFBCb2R5
OjpFbGVtZW50OjpGaWxlRGF0YSBkYXRhOwotICAgICAgICAgICAgICAgIGRhdGEuZmlsZVBhdGgg
PSBmaWxlRGF0YS5maWxlbmFtZTsKLSAgICAgICAgICAgICAgICBkYXRhLmZpbGVTdGFydCA9IGZp
bGVEYXRhLmZpbGVTdGFydDsKKyAgICAgICAgICAgICAgICBlbGVtZW50LmZpbGVQYXRoID0gZmls
ZURhdGEuZmlsZW5hbWU7CisgICAgICAgICAgICAgICAgZWxlbWVudC5maWxlU3RhcnQgPSBmaWxl
RGF0YS5maWxlU3RhcnQ7CiAgICAgICAgICAgICAgICAgaWYgKGZpbGVEYXRhLmZpbGVMZW5ndGgg
IT0gQmxvYkRhdGFJdGVtOjp0b0VuZE9mRmlsZSkKLSAgICAgICAgICAgICAgICAgICAgZGF0YS5m
aWxlTGVuZ3RoID0gZmlsZURhdGEuZmlsZUxlbmd0aDsKLSAgICAgICAgICAgICAgICBkYXRhLmV4
cGVjdGVkRmlsZU1vZGlmaWNhdGlvblRpbWUgPSBmaWxlRGF0YS5leHBlY3RlZEZpbGVNb2RpZmlj
YXRpb25UaW1lOwotICAgICAgICAgICAgICAgIGVsZW1lbnQuZGF0YSA9IFdURk1vdmUoZGF0YSk7
CisgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmlsZUxlbmd0aCA9IGZpbGVEYXRhLmZpbGVM
ZW5ndGg7CisgICAgICAgICAgICAgICAgZWxlbWVudC5leHBlY3RlZEZpbGVNb2RpZmljYXRpb25U
aW1lID0gZmlsZURhdGEuZXhwZWN0ZWRGaWxlTW9kaWZpY2F0aW9uVGltZTsKICAgICAgICAgICAg
IH0sIFsmXSAoY29uc3QgRm9ybURhdGFFbGVtZW50OjpFbmNvZGVkQmxvYkRhdGEmIGJsb2JEYXRh
KSB7Ci0gICAgICAgICAgICAgICAgZWxlbWVudC5kYXRhID0gYmxvYkRhdGEudXJsLnN0cmluZygp
OworICAgICAgICAgICAgICAgIGVsZW1lbnQuYmxvYlVSTFN0cmluZyA9IGJsb2JEYXRhLnVybC5z
dHJpbmcoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgKTsKIApAQCAtMTI1LDEzICsxMjQsMTkg
QEAgc3RhdGljIFJlZjxGb3JtRGF0YT4gdG9Gb3JtRGF0YShjb25zdCBIVFRQQm9keSYgaHR0cEJv
ZHkpCiAgICAgYXV0byBmb3JtRGF0YSA9IEZvcm1EYXRhOjpjcmVhdGUoKTsKIAogICAgIGZvciAo
Y29uc3QgYXV0byYgZWxlbWVudCA6IGh0dHBCb2R5LmVsZW1lbnRzKSB7Ci0gICAgICAgIHN3aXRj
aE9uKGVsZW1lbnQuZGF0YSwgWyZdIChjb25zdCBWZWN0b3I8dWludDhfdD4mIGRhdGEpIHsKLSAg
ICAgICAgICAgIGZvcm1EYXRhLT5hcHBlbmREYXRhKGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSk7
Ci0gICAgICAgIH0sIFsmXSAoY29uc3QgSFRUUEJvZHk6OkVsZW1lbnQ6OkZpbGVEYXRhJiBkYXRh
KSB7Ci0gICAgICAgICAgICBmb3JtRGF0YS0+YXBwZW5kRmlsZVJhbmdlKGRhdGEuZmlsZVBhdGgs
IGRhdGEuZmlsZVN0YXJ0LCBkYXRhLmZpbGVMZW5ndGgudmFsdWVfb3IoQmxvYkRhdGFJdGVtOjp0
b0VuZE9mRmlsZSksIGRhdGEuZXhwZWN0ZWRGaWxlTW9kaWZpY2F0aW9uVGltZSk7Ci0gICAgICAg
IH0sIFsmXSAoY29uc3QgU3RyaW5nJiBibG9iVVJMU3RyaW5nKSB7Ci0gICAgICAgICAgICBmb3Jt
RGF0YS0+YXBwZW5kQmxvYihVUkwgeyBibG9iVVJMU3RyaW5nIH0pOwotICAgICAgICB9KTsKKyAg
ICAgICAgc3dpdGNoIChlbGVtZW50LnR5cGUpIHsKKyAgICAgICAgY2FzZSBIVFRQQm9keTo6RWxl
bWVudDo6VHlwZTo6RGF0YToKKyAgICAgICAgICAgIGZvcm1EYXRhLT5hcHBlbmREYXRhKGVsZW1l
bnQuZGF0YS5kYXRhKCksIGVsZW1lbnQuZGF0YS5zaXplKCkpOworICAgICAgICAgICAgYnJlYWs7
CisKKyAgICAgICAgY2FzZSBIVFRQQm9keTo6RWxlbWVudDo6VHlwZTo6RmlsZToKKyAgICAgICAg
ICAgIGZvcm1EYXRhLT5hcHBlbmRGaWxlUmFuZ2UoZWxlbWVudC5maWxlUGF0aCwgZWxlbWVudC5m
aWxlU3RhcnQsIGVsZW1lbnQuZmlsZUxlbmd0aC52YWx1ZV9vcihCbG9iRGF0YUl0ZW06OnRvRW5k
T2ZGaWxlKSwgZWxlbWVudC5leHBlY3RlZEZpbGVNb2RpZmljYXRpb25UaW1lKTsKKyAgICAgICAg
ICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgSFRUUEJvZHk6OkVsZW1lbnQ6OlR5cGU6OkJsb2I6
CisgICAgICAgICAgICBmb3JtRGF0YS0+YXBwZW5kQmxvYihVUkwgeyBlbGVtZW50LmJsb2JVUkxT
dHJpbmcgfSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgIH0KIAogICAgIHJl
dHVybiBmb3JtRGF0YTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>